[
  {
    "path": ".appveyor.yml",
    "content": "image:\n  - Ubuntu2204\n  - Visual Studio 2022\n  - macos-monterey\nfor:\n  -\n    matrix:\n      only:\n        - image: Ubuntu2204\n    environment:\n      APPVEYOR_SSH_KEY: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDhb96UEXy8yOy/f+riX/8kKbNx/lOfIZ4pP4Cw3Gj3DmnTwEnxtRtyc+xtaxOsKbt+7+EAXFpCzYX+jHMhtd0QtWB7dbey8DBg31g0f8C5EPquqROibVbhzr/F3f6/d52FFfq6Y/CWaAvLjezvipr+zOOsIFcVusqtXdPJQ/LtUJ0LS5d4lFiw5ELHSxHIpqwGwyb7PbR3ufEFoqbr8eYiCH+vlBob72ArPfo2f3u0sMvpGYmjVVu2jj4FEY2h89sLrGyFdNWBoyumRhkb38+WSAuyPa/Y21+g+S8sRzIlkwbxicGNMtrMIi6zHEIGAgA06Sw2psP807h730PPOVaWjUcU3ojNW8hH3nPizF74pT82+iP7/fFC4PXLP+tBa+8OoHC5yiO7QKUKprMSqVa1qOm8fHbrzglplKJXfzSfUtSE+AQ+HtHhuUWKI+0LBLDrsOJwI5hbsPOAuiZ5I3VfqfAOck6SH9TcmlapVmQEypc7d7oeeUtZSOuIWKXp068= dfx@aw\"\n      APPIMAGE_TOOL: appimage-builder-x86_64.AppImage\n      DEPLOY_DIR: AppDir/opt/pyfa\n      # APPVEYOR_SSH_BLOCK: true\n    cache:\n      - /home/appveyor/.cache/pip -> requirements.txt\n    # init:\n    #   - sh: curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -\n    install:\n      - sh: sudo DEBIAN_FRONTEND=noninteractive apt-get -y update --allow-releaseinfo-change\n      # AppImage dependencies\n      - sh: sudo DEBIAN_FRONTEND=noninteractive apt-get -y install libfuse2\n      # Preparation script dependencies\n      - sh: sudo DEBIAN_FRONTEND=noninteractive apt-get -y install python3-wxgtk4.0 python3-sqlalchemy python3-logbook\n    before_build:\n      # Prepare pyfa data\n      - sh: find locale/ -type f -name \"*.po\" -exec msgen \"{}\" -o \"{}\" \\;\n      - sh: pyenv global system\n      - sh: python3 -B scripts/compile_lang.py\n      - sh: python3 -B scripts/dump_crowdin_progress.py\n      - sh: python3 -B db_update.py\n      - sh: export PYFA_VERSION=\"$(python3 -B scripts/dump_version.py)\"\n      - sh: mkdir build\n      # Download packaging tool\n      - sh: curl --fail-with-body -o $APPIMAGE_TOOL -L https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.1.0/appimage-builder-1.1.0-x86_64.AppImage\n      - sh: chmod +x $APPIMAGE_TOOL\n    build_script:\n      - sh: mkdir -p AppDir/opt/pyfa\n      - sh: cp -r eos graphs gui imgs locale service utils eve.db config.py pyfa.py db_update.py README.md LICENSE version.yml AppDir/opt/pyfa/\n      - sh: mkdir -p AppDir/usr/share/icons/hicolor/64x64/apps/\n      - sh: cp imgs/gui/pyfa64.png AppDir/usr/share/icons/hicolor/64x64/apps/pyfa.png\n      - sh: ./$APPIMAGE_TOOL --recipe dist_assets/linux/AppImageBuilder.yml\n    after_build:\n      - sh: ls -la\n    artifacts:\n      - path: pyfa-$PYFA_VERSION-linux.AppImage\n    deploy:\n      tag: $PYFA_VERSION\n      release: pyfa $PYFA_VERSION\n      description: 'Release description'\n      provider: GitHub\n      auth_token:\n        secure: M94o0xMtzxrvlKpqMcXU2KfbJdd3aYJ3UxWzePUz/pkT1/Ojiis052CiLsLVyzJg\n      draft: true\n      force_update: false\n      # deploy on tag push only\n      on:\n        APPVEYOR_REPO_TAG: true\n  -\n    matrix:\n      only:\n        - image: Visual Studio 2022\n    environment:\n      PYTHON: \"C:\\\\Python311-x64\"\n    # Should be enabled only for build process debugging\n    # init:\n    #   - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))\n    cache:\n      - C:\\users\\appveyor\\appdata\\local\\pip\\cache\\ -> requirements.txt\n    install:\n      - ps: echo(\"OS version:\")\n      - ps: \"[System.Environment]::OSVersion.Version\"\n\n      - ps: echo(\"Filesystem - root:\")\n      - ps: \"ls \\\"C:\\\\\\\"\"\n\n      - ps: echo(\"Filesystem - projects root:\")\n      - ps: \"ls \\\"C:\\\\projects\\\\\\\"\"\n\n      - ps: echo(\"Filesystem - pyfa root:\")\n      - ps: \"ls \\\"C:\\\\projects\\\\$env:APPVEYOR_PROJECT_SLUG\\\\\\\"\"\n\n      - ps: echo(\"Filesystem - installed SDKs:\")\n      - ps: \"ls \\\"C:\\\\Program Files (x86)\\\\Windows Kits\\\\\\\"\"\n\n      # Prepend newly installed Python to the PATH of this build (this cannot be\n      # done from inside the powershell script as it would require to restart\n      # the parent CMD process).\n      - cmd: \"SET PATH=%PYTHON%;%PYTHON%\\\\Scripts;%PATH%\"\n      - cmd: \"appveyor DownloadFile https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.20.2-v1.16/gettext0.20.2-iconv1.16-shared-64.zip\"\n      - cmd: \"7z x gettext0.20.2-iconv1.16-shared-64.zip -ogettext\"\n      - cmd: \"SET PATH=gettext;%PATH%\"\n\n      - cmd: \"python --version\"\n      - cmd: \"python -c \\\"import struct; print(struct.calcsize('P') * 8)\\\"\"\n\n      # Upgrade to the latest version of pip to avoid it displaying warnings\n      # about it being out of date.\n      - cmd: \"python -m pip install --upgrade pip\"\n\n      # Install the build dependencies of the project. If some dependencies contain\n      # compiled extensions and are not provided as pre-built wheel packages,\n      # pip will build them from source using the MSVC compiler matching the\n      # target Python version and architecture\n      - ps: echo(\"Install pip requirements:\")\n      - cmd: \"python -m pip install -r requirements.txt\"\n      - cmd: \"python -m pip install PyInstaller==6.0.0\"\n    before_build:\n        # directory that will contain the built files\n      - ps: $env:PYFA_DIST_DIR = \"c:\\projects\\$env:APPVEYOR_PROJECT_SLUG\\dist\"\n      - ps: $env:PYFA_VERSION = (python ./scripts/dump_version.py)\n      - ps: echo(\"pyfa version $env:PYFA_VERSION\")\n    build_script:\n      - ps: echo(\"Build pyfa:\")\n      - ps: Get-ChildItem locale/*.po -Recurse -File| Foreach {msgen $_.fullname -o $_.fullname}\n        # Build language files\n      - cmd: \"python scripts/compile_lang.py\"\n        # Dump language progress\n      - cmd: \"python scripts/dump_crowdin_progress.py\"\n        # Build gamedata DB\n      - cmd: \"python db_update.py\"\n      # Build command for PyInstaller\n      - cmd: \"python -m PyInstaller --clean -y pyfa.spec\"\n      # Copy over manifest (See pyfa-org/pyfa#1622)\n      - ps: xcopy /y dist_assets\\win\\pyfa.exe.manifest $env:PYFA_DIST_DIR\\pyfa\\\n      # InnoScript EXE building. This is in a separate script because I don't feel like copying over the logic to AppVeyor script right now...\n      - cmd: \"python dist_assets/win/dist.py\"\n      - ps: dir $env:PYFA_DIST_DIR/\n    after_build:\n      - ps: \"ls \\\"./\\\"\"\n      - ps: 7z a \"pyfa-$env:PYFA_VERSION-win.zip\" -r \"$env:PYFA_DIST_DIR\\pyfa\\*\"\n    artifacts:\n      - path: pyfa*-win.zip\n      - path: pyfa*-win.exe\n    deploy:\n      tag: $(pyfa_version)\n      release: pyfa $(pyfa_version)\n      description: 'Release description'\n      provider: GitHub\n      auth_token:\n        secure: M94o0xMtzxrvlKpqMcXU2KfbJdd3aYJ3UxWzePUz/pkT1/Ojiis052CiLsLVyzJg\n      draft: true\n      force_update: false\n      # deploy on tag push only\n      on:\n        APPVEYOR_REPO_TAG: true\n  -\n    matrix:\n      only:\n        - image: macos-monterey\n    environment:\n      APPVEYOR_SSH_KEY: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJDW/+oYNGOiPvwuwAL9tc/LQgg58aosIVpMYfepQZ20V+VZnHpZh8IRDA8Jo5xht19p2PksA+hFgqA0kpKtrSkuiWdE8rATQItfk4gf7yB0yGasJGGQZYazy9k/9XtmYkq2HHOOeEqdxvrICddJQ88MLCLT9lJENSUP/YS/yGcjZFXVxE11pTeIcqlCRU+3eYa1v7BeNvXIKNhZoK5orXWrtuH3cy8jrSns/u70aYfJ6B2jA8CnWnDbuvpeQtEY61SQqlKUsSArNa8NAsXj41wr3Ar9gAG9330w7EMTqlutk8HZO35uHI0q5qinUhaQYufPPrVkb2L/N+ZCfu0fnh appveyor\"\n    cache:\n      - /Users/appveyor/Library/Caches/pip/ -> requirements.txt\n    init:\n    #   - sh: curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -\n      - sh: source ~/venv3.11/bin/activate\n    install:\n      - sh: bash scripts/osx-setup.sh\n    build_script:\n      - sh: bash scripts/osx-translations.sh\n      - sh: python3 scripts/compile_lang.py\n      - sh: python3 scripts/dump_crowdin_progress.py\n      - sh: python3 db_update.py\n    after_build:\n      - sh: export PYFA_VERSION=\"$(python3 scripts/dump_version.py)\"\n      - sh: bash scripts/osx-package.sh\n#    on_finish:\n#      - sh: export APPVEYOR_SSH_BLOCK=true\n#      - sh: curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -\n    artifacts:\n      - path: dist/pyfa*-mac.zip\n    before_deploy:\n      - sh: export RELEASE_PKG_FILE=$(ls *.deb)\n      - sh: echo \"deploying $RELEASE_PKG_FILE to GitHub releases\"\n    deploy:\n      tag: $PYFA_VERSION\n      release: pyfa $PYFA_VERSION\n      description: 'Release description'\n      provider: GitHub\n      auth_token:\n        secure: M94o0xMtzxrvlKpqMcXU2KfbJdd3aYJ3UxWzePUz/pkT1/Ojiis052CiLsLVyzJg\n      draft: true\n      force_update: false\n      # deploy on tag push only\n      on:\n        APPVEYOR_REPO_TAG: true\n"
  },
  {
    "path": ".codecov.yml",
    "content": "codecov:\n  notify:\n    require_ci_to_pass: yes\n\ncoverage:\n  precision: 2\n  round: down\n  range: \"70...100\"\n\n  status:\n    project: yes\n    patch: yes\n    changes: no\n\nparsers:\n  gcov:\n    branch_detection:\n      conditional: yes\n      loop: yes\n      method: no\n      macro: no\n\ncomment:\n  layout: \"header, diff\"\n  behavior: default\n  require_changes: no\n"
  },
  {
    "path": ".gitattributes",
    "content": "# Set the default behavior, in case people don't have core.autocrlf set.\n* text=auto\n# Explicitly declare text files you want to always be normalized and converted\n# to native line endings on checkout.\n# *.c text\n# *.h text\n# Declare files that will always have CRLF line endings on checkout.\n# Source files\n# ============\n*.pxd\t\ttext eol=crlf\n*.py \t\ttext eol=crlf\n*.py3 \t\ttext eol=crlf\n*.pyw \t\ttext eol=crlf\n*.pyx  \t\ttext eol=crlf\npyfa.py     text eol=lf\n# Denote all files that are truly binary and should not be modified.\n# Binary files\n# ============\n*.db\t\tbinary\n*.p \t\tbinary\n*.pkl \t\tbinary\n*.pyc \t\tbinary\n*.pyd\t\tbinary\n*.pyo \t\tbinary\n# Note: .db, .p, and .pkl files are associated\n# with the python modules ``pickle``, ``dbm.*``,\n# ``shelve``, ``marshal``, ``anydbm``, & ``bsddb``\n# (among others).\n# Denote all files that are truly binary and should not be modified.\n# Image files\n# ============\n*.png binary\n*.jpg binary\n*.icns binary\n*.ico binary\n\n"
  },
  {
    "path": ".gitignore",
    "content": "#Python specific\n*.pyc\n\n#Kwrite/Gedit/Other crapapps making backups\n*~\n\n#Patch files\n*.patch\n\n#Personal\n/saveddata/\n\n#Pyfa file\npyfaFits.html\n\n#Temporary files\n*.py__jb_tmp__\n\n# Based on https://github.com/github/gitignore\n\n# Byte-compiled / optimized / DLL files\n__pycache__/\n*.py[cod]\n*$py.class\n\n# C extensions\n*.so\n\n# Distribution / packaging\n.Python\nenv/\nbuild/\ndevelop-eggs/\ndist/\ndownloads/\neggs/\n.eggs/\nlib/\nlib64/\nparts/\nsdist/\nvar/\n*.egg-info/\n.installed.cfg\n*.egg\nPyfa.egg-info/\n\n# PyInstaller\n#  Usually these files are written by a python script from a template\n#  before PyInstaller builds the exe, so as to inject date/other infos into it.\n*.manifest\n\n# Installer logs\npip-log.txt\npip-delete-this-directory.txt\n\n# Unit test / coverage reports\nhtmlcov/\n.tox/\n.coverage\n.coverage.*\n.cache\nnosetests.xml\ncoverage.xml\n*,cover\n.hypothesis/\n\n# Translations\n*.mo\n\n# Django stuff:\n*.log\nlocal_settings.py\n\n# Flask stuff:\ninstance/\n.webassets-cache\n\n# Scrapy stuff:\n.scrapy\n\n# Sphinx documentation\ndocs/_build/\n\n# PyBuilder\ntarget/\n\n# IPython Notebook\n.ipynb_checkpoints\n\n# pyenv\n.python-version\nPyfaEnv/\n\n# celery beat schedule file\ncelerybeat-schedule\n\n# dotenv\n.env\n\n# virtualenv\n.venv/\nvenv/\nENV/\n\n# Spyder project settings\n.spyderproject\n\n# Rope project settings\n.ropeproject\n\n# Eclipse project settings\n.project\n.pydevproject\n.settings\n\n# Pycharm project settings\n.idea\neos.iml\ngitversion\n.version\n/.version\n*.swp\n\n*.fsdbinary\n/locale/progress.json\n\n# vscode settings\n.vscode"
  },
  {
    "path": ".mailmap",
    "content": "cncfanatics <diego.duclos@gmail.com> cncfanatics <cncfanatics@titanium.(none)>\nblitzmann <holmes.ryan.90@gmail.com>\nblitzmann <holmes.ryan.90@gmail.com> blitzmann <ryan.xgamer99@gmail.com>\nblitzmann <holmes.ryan.90@gmail.com>\nblitzmann <holmes.ryan.90@gmail.com> blitzman <ryan.xgamer99@gmail.com>\nblitzmann <holmes.ryan.90@gmail.com> Ryan Holmes <ryan.holmes.90@gmail.com>\nblitzmann <holmes.ryan.90@gmail.com>\nCorollax <corollax@gmail.com> Corollax <corollax@corollax-laptop.(none)>\nCorollax <corollax@gmail.com> Corollax <corollax@corollax-N76VM.(none)>\nMr. Nukealizer <mr.nukealizer@gmail.com> Mr. Nukealizer <MrNukealizer@users.noreply.github.com>\nDarkPhoenix <phoenix@mail.ru>\nSakari Orisi <sakari@evefit.org>\nWill Wykeham <will@wykeham.net> Will Wykeham <will.wykeham@paconsulting.com>\nOISumeko <camerongrout@gmail.com> OISumeko <cameron@sporadic.co.nz>"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contribution\n\n## Requirements\n\n- Python 3.11 (later versions may not work)\n- Git CLI installed\n- Python, pip and git are all available as command-line commands (add to the path if needed)\n\nVirtual environment will be created in *PyfaEnv* folder. Project will be cloned and run from the *PyfaDEV* folder. Separate virtual environment will be created so required libraries won't clutter the main python installation.\n\n> Commands and screens were created on Windows 10. Please, update all the paths according to your OS.\n\n## Setting up the project manually\n\nClone the repository\n```\ngit clone <repo> PyfaDEV\n```\n\nCreate the virtual environment\n```\npython -m venv PyfaEnv\n```\n\nActivate the virtual environment\n\n```\nFor cmd.exe: PyfaEnv\\scripts\\activate.bat\nFor PowerShell: PyfaEnv\\Scripts\\Activate.ps1\nFor bash: source <venv>/Scripts/activate\n```\n> For other OS check [Python documentation](https://docs.python.org/3/library/venv.html)\n\nInstall requirements for the project from *requirements.txt*\n```\npip install -r PyfaDEV\\requirements.txt\n```\n> For some Linux distributions, you may need to install separate wxPython bindings, such as `python-matplotlib-wx`\n\n> You may need to [install a C compiler](https://mesonbuild.com/SimpleStart.html#installing-a-compiler-toolchain)\n\nCheck that the libs from *requirements.txt* are installed\n```\npip list\n```\n\nBuild translations and database:\n```\npython PyfaDEV\\scripts\\compile_lang.py\npython PyfaDEV\\db_update.py\n```\n\nTest that the project is starting properly\n```\npython PyfaDEV\\pyfa.py\n```\n\n\n## Setting up the project with PyCharm/IntelliJ\n\nInstall PyCharm / Other IntelliJ product with Python plugin\n\nAfter launching - select *Check out from Version Control* -> *GIt*\n\n![welcome](https://user-images.githubusercontent.com/54093496/66862580-d8edab00-ef99-11e9-94e2-e93d7043e620.png)\n\nLogin to GitHub, paste the repo URL and select the folder to which to clone the project into, press *Clone*.\n\n![Clone](https://user-images.githubusercontent.com/54093496/66862748-38e45180-ef9a-11e9-9f68-4903baf47385.png)\n\nAfter process is complete, open *File* -> *Settings* -> *Project* -> *Project Interpreter*. \n\n![Settings](https://user-images.githubusercontent.com/54093496/66862792-544f5c80-ef9a-11e9-9e0f-f64767f3f1b0.png)\n\nPress on options and add new virtual environment.\n\n![venv](https://user-images.githubusercontent.com/54093496/66862833-67622c80-ef9a-11e9-94fa-47cca0158d29.png)\n\nOpen project tree view and double-click on the *requirements.txt*. Press *Install requirements*. Install all requirements.\n\n![Reqs](https://user-images.githubusercontent.com/54093496/66862870-7a74fc80-ef9a-11e9-9b18-e64be42c49b8.png)\n\nCreate new *Run Configuration*. Set correct *Script path* and *Python interpreter*.\n\n![Run configuraion](https://user-images.githubusercontent.com/54093496/66862970-b4460300-ef9a-11e9-9fb4-20e24759904b.png)\n\nCheck that the project is starting properly.\n\n## Running tests\n\nSwitch to the proper virtual environment\n```\nFor cmd.exe: PyfaEnv\\scripts\\activate.bat\nFor PowerShell: PyfaEnv\\Scripts\\Activate.ps1\nFor bash: source <venv>/Scripts/activate\n```\n\nInstall pytest \n```\npip install pytest  \n```\n\nSwitch to pyfa directory.\n\nRun tests (any will do)\n```\npython -m pytest\npy.test\n```\n\nMore information on tests can be found on appropriate [Wiki page](https://github.com/pyfa-org/Pyfa/wiki/Developers:-Writing-Tests-for-Pyfa).\n"
  },
  {
    "path": "ISSUE_TEMPLATE.md",
    "content": "<!--\n\nSubmit a bug report bug report or feature request\n\nHere you can inform pyfa developers of potential bugs or suggest features / improvements to the project. Please check\nto make sure that the bug hasn't been reported or feature requested before submitting. If you have general questions\nabout the project and want to reach out to the developers personally, please check out out our [Slack]\n(https://pyfainvite.azurewebsites.net/).\n\n-->\n\n## Bug Report\n\n\n### Expected behavior:\n\n\n### Actual behavior:\n\n\n### Detailed steps to reproduce:\n\n\n### Fits involved in EFT format (Edit > To Clipboard > EFT):\n\n\n### Release or development git branch? Please note the release version or commit hash:\n\n\n### Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):\n\n\n### Other relevant information:\n\n"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://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\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\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 <http://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n    <program>  Copyright (C) <year>  <name of author>\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<http://www.gnu.org/licenses/>.\n\n  The GNU General Public License does not permit incorporating your program\ninto proprietary programs.  If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.  But first, please read\n<http://www.gnu.org/philosophy/why-not-lgpl.html>.\n"
  },
  {
    "path": "README.md",
    "content": "# pyfa\n\n[![Build Status](https://ci.appveyor.com/api/projects/status/github/pyfa-org/pyfa?branch=master&svg=true)]([https://travis-ci.org/pyfa-org/Pyfa](https://ci.appveyor.com/project/pyfa-org/pyfa))\n\n![pyfa](https://user-images.githubusercontent.com/275209/66119992-864be080-e5e2-11e9-994a-3a4368c9fad7.png)\n\n## What is it?\n\nPyfa, short for **py**thon **f**itting **a**ssistant, allows you to create, experiment with, and save ship fittings without being in game. Open source and written in Python, it is available on any platform where Python 3 and wxWidgets are available, including Windows, macOS, and Linux.\n\n## Latest Version and Changelogs\nThe latest version along with release notes can always be found on the project's [releases](https://github.com/pyfa-org/Pyfa/releases) page. Pyfa will notify you if you are running an outdated version.\n\n## Installation\nWindows, macOS, and Linux users are supplied self-contained builds of pyfa on the [latest releases](https://github.com/pyfa-org/Pyfa/releases/latest) page.\n\n### Third Party Packages\nPlease note that these packages are maintained by third-parties and are not evaluated by the pyfa developers.\n\n#### macOS\nApart from the official release, there is also a [Homebrew](https://formulae.brew.sh/cask/pyfa) option for installing pyfa on macOS. Simply fire up in terminal:\n```\n$ brew install --cask pyfa\n```\n\n#### Linux Distro-specific Packages\nThe following is a list of pyfa packages available for certain distributions. \n\n* Arch: https://aur.archlinux.org/packages/pyfa/\n* Gentoo: https://github.com/ZeroPointEnergy/gentoo-pyfa-overlay\n\n## Contribution\nIf you wish to help with development or you need to run pyfa through a Python interpreter, check out [the instructions](https://github.com/pyfa-org/Pyfa/blob/master/CONTRIBUTING.md).\n\n## Bug Reporting\nThe preferred method of reporting bugs is through the project's [GitHub Issues interface](https://github.com/pyfa-org/Pyfa/issues). Alternatively, posting a report in the [pyfa thread](https://forums.eveonline.com/t/27156) on the official EVE Online forums is acceptable. Guidelines for bug reporting can be found on [this wiki page](https://github.com/pyfa-org/Pyfa/wiki/Bug-Reporting). \n\n## License\nPyfa is licensed under the GNU GPL v3.0, see LICENSE\n\n## Resources\n* [Development repository](https://github.com/pyfa-org/Pyfa)\n* [EVE forum thread](https://forums.eveonline.com/t/27156)\n* [EVE University guide using pyfa](https://wiki.eveuniversity.org/PYFA)\n* [EVE Online website](http://www.eveonline.com/)\n\n## Contacts:\n* Kadesh / DarkPhoenix\n    * GitHub: @DarkFenX\n    * EVE: Kadesh Priestess\n    * Email: phoenix@mail.ru\n* Sable Blitzmann\n    * GitHub: @blitzmann\n    * [TweetFleet Slack](https://www.fuzzwork.co.uk/tweetfleet-slack-invites/): @blitzmann\n    * [Gitter chat](https://gitter.im/pyfa-org/Pyfa): @blitzmann\n    * Email: sable.blitzmann@gmail.com\n\n## CCP Copyright Notice\nEVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. CCP hf. has granted permission to pyfa to use EVE Online and all associated logos and designs for promotional and information purposes on its website but does not endorse, and is not in any way affiliated with, pyfa. CCP is in no way responsible for the content on or functioning of this program, nor can it be liable for any damage arising from the use of this program.\n"
  },
  {
    "path": "_development/Pyfa_CodeStyle.xml",
    "content": "<code_scheme name=\"Pyfa\">\n  <option name=\"LINE_SEPARATOR\" value=\"&#xD;&#xA;\" />\n  <option name=\"RIGHT_MARGIN\" value=\"165\" />\n  <Python>\n    <option name=\"NEW_LINE_AFTER_COLON\" value=\"true\" />\n    <option name=\"DICT_NEW_LINE_AFTER_LEFT_BRACE\" value=\"true\" />\n    <option name=\"DICT_NEW_LINE_BEFORE_RIGHT_BRACE\" value=\"true\" />\n    <option name=\"USE_CONTINUATION_INDENT_FOR_ARGUMENTS\" value=\"true\" />\n    <option name=\"OPTIMIZE_IMPORTS_SORT_NAMES_IN_FROM_IMPORTS\" value=\"true\" />\n    <option name=\"OPTIMIZE_IMPORTS_JOIN_FROM_IMPORTS_WITH_SAME_SOURCE\" value=\"true\" />\n  </Python>\n</code_scheme>\n"
  },
  {
    "path": "_development/Pyfa_Inspections.xml",
    "content": "  <profile version=\"1.0\">\n    <option name=\"myName\" value=\"Pyfa\" />\n    <inspection_tool class=\"IgnoreUnusedEntry\" enabled=\"false\" level=\"UNUSED ENTRY\" enabled_by_default=\"false\" />\n    <inspection_tool class=\"InconsistentLineSeparators\" enabled=\"true\" level=\"ERROR\" enabled_by_default=\"true\" />\n    <inspection_tool class=\"ProblematicWhitespace\" enabled=\"true\" level=\"WARNING\" enabled_by_default=\"true\" />\n    <inspection_tool class=\"PyBehaveInspection\" enabled=\"true\" level=\"WARNING\" enabled_by_default=\"true\" />\n    <inspection_tool class=\"PyClassicStyleClassInspection\" enabled=\"true\" level=\"WARNING\" enabled_by_default=\"true\" />\n    <inspection_tool class=\"PyCompatibilityInspection\" enabled=\"true\" level=\"WARNING\" enabled_by_default=\"true\">\n      <option name=\"ourVersions\">\n        <value>\n          <list size=\"1\">\n            <item index=\"0\" class=\"java.lang.String\" itemvalue=\"2.7\" />\n          </list>\n        </value>\n      </option>\n    </inspection_tool>\n    <inspection_tool class=\"PyMissingTypeHintsInspection\" enabled=\"true\" level=\"WEAK WARNING\" enabled_by_default=\"true\" />\n    <inspection_tool class=\"PyPackageRequirementsInspection\" enabled=\"true\" level=\"WARNING\" enabled_by_default=\"true\">\n      <option name=\"ignoredPackages\">\n        <value>\n          <list size=\"1\">\n            <item index=\"0\" class=\"java.lang.String\" itemvalue=\"wxPython\" />\n          </list>\n        </value>\n      </option>\n    </inspection_tool>\n    <inspection_tool class=\"PyPep8Inspection\" enabled=\"true\" level=\"TYPO\" enabled_by_default=\"true\">\n      <option name=\"ignoredErrors\">\n        <list>\n          <option value=\"E203\" />\n          <option value=\"E127\" />\n          <option value=\"E128\" />\n          <option value=\"E126\" />\n        </list>\n      </option>\n    </inspection_tool>\n    <inspection_tool class=\"PyPep8NamingInspection\" enabled=\"true\" level=\"TYPO\" enabled_by_default=\"true\">\n      <option name=\"ignoredErrors\">\n        <list>\n          <option value=\"N802\" />\n          <option value=\"N806\" />\n          <option value=\"N803\" />\n          <option value=\"N814\" />\n        </list>\n      </option>\n    </inspection_tool>\n    <inspection_tool class=\"PyShadowingBuiltinsInspection\" enabled=\"true\" level=\"WARNING\" enabled_by_default=\"true\" />\n    <inspection_tool class=\"PyShadowingNamesInspection\" enabled=\"true\" level=\"WARNING\" enabled_by_default=\"true\" />\n    <inspection_tool class=\"PyUnresolvedReferencesInspection\" enabled=\"true\" level=\"WARNING\" enabled_by_default=\"true\">\n      <option name=\"ignoredIdentifiers\">\n        <list>\n          <option value=\"_\" />\n        </list>\n      </option>\n    </inspection_tool>\n    <inspection_tool class=\"SpellCheckingInspection\" enabled=\"false\" level=\"TYPO\" enabled_by_default=\"false\">\n      <option name=\"processCode\" value=\"true\" />\n      <option name=\"processLiterals\" value=\"true\" />\n      <option name=\"processComments\" value=\"true\" />\n    </inspection_tool>\n  </profile>\n"
  },
  {
    "path": "_development/__init__.py",
    "content": ""
  },
  {
    "path": "_development/helpers.py",
    "content": "# noinspection PyPackageRequirements\r\nimport pytest\r\n\r\nimport os\r\nimport sys\r\nimport threading\r\n\r\nfrom sqlalchemy import MetaData, create_engine\r\nfrom sqlalchemy.orm import sessionmaker\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\n# Add root folder to python paths\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..')))\r\nsys._called_from_test = True\r\n\r\n# noinspection PyUnresolvedReferences,PyUnusedLocal\r\n@pytest.fixture\r\ndef DBInMemory_test():\r\n    def rollback():\r\n        with sd_lock:\r\n            saveddata_session.rollback()\r\n\r\n\r\n    print(\"Creating database in memory\")\r\n    from os.path import realpath, join, dirname, abspath\r\n\r\n    debug = False\r\n    gamedataCache = True\r\n    saveddataCache = True\r\n    gamedata_version = \"\"\r\n    gamedata_connectionstring = 'sqlite:///' + realpath(join(dirname(abspath(str(__file__))), \"..\", \"eve.db\"))\r\n    saveddata_connectionstring = 'sqlite:///:memory:'\r\n\r\n    class ReadOnlyException(Exception):\r\n        pass\r\n\r\n    if callable(gamedata_connectionstring):\r\n        gamedata_engine = create_engine(\"sqlite://\", creator=gamedata_connectionstring, echo=debug)\r\n    else:\r\n        gamedata_engine = create_engine(gamedata_connectionstring, echo=debug)\r\n\r\n    gamedata_meta = MetaData()\r\n    gamedata_meta.bind = gamedata_engine\r\n    gamedata_session = sessionmaker(bind=gamedata_engine, autoflush=False, expire_on_commit=False)()\r\n\r\n    # This should be moved elsewhere, maybe as an actual query. Current, without try-except, it breaks when making a new\r\n    # game db because we haven't reached gamedata_meta.create_all()\r\n    try:\r\n        gamedata_version = gamedata_session.execute(\r\n            \"SELECT `field_value` FROM `metadata` WHERE `field_name` LIKE 'client_build'\"\r\n        ).fetchone()[0]\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except Exception as e:\r\n        print(\"Missing gamedata version.\")\r\n        gamedata_version = None\r\n\r\n    if saveddata_connectionstring is not None:\r\n        if callable(saveddata_connectionstring):\r\n            saveddata_engine = create_engine(creator=saveddata_connectionstring, echo=debug)\r\n        else:\r\n            saveddata_engine = create_engine(saveddata_connectionstring, echo=debug)\r\n\r\n        saveddata_meta = MetaData()\r\n        saveddata_meta.bind = saveddata_engine\r\n        saveddata_session = sessionmaker(bind=saveddata_engine, autoflush=False, expire_on_commit=False)()\r\n    else:\r\n        saveddata_meta = None\r\n\r\n    # Lock controlling any changes introduced to session\r\n    sd_lock = threading.Lock()\r\n\r\n    # Import all the definitions for all our database stuff\r\n    # noinspection PyPep8\r\n    #from eos.db.gamedata import alphaClones, attribute, category, effect, group, icon, item, marketGroup, metaData, metaGroup, queries, traits, unit\r\n    # noinspection PyPep8\r\n    #from eos.db.saveddata import booster, cargo, character, crest, damagePattern, databaseRepair, drone, fighter, fit, implant, implantSet, miscData, module, override, price, queries, skill, targetProfile, user\r\n\r\n    # If using in memory saveddata, you'll want to reflect it so the data structure is good.\r\n    if saveddata_connectionstring == \"sqlite:///:memory:\":\r\n        saveddata_meta.create_all()\r\n\r\n    # Output debug info to help us troubleshoot Travis\r\n    print(saveddata_engine)\r\n    print(gamedata_engine)\r\n\r\n    helper = {\r\n        #'config': eos.config,\r\n        'gamedata_session'    : gamedata_session,\r\n        'saveddata_session'    : saveddata_session,\r\n    }\r\n    return helper\r\n\r\n# noinspection PyUnresolvedReferences,PyUnusedLocal\r\n@pytest.fixture\r\ndef DBInMemory():\r\n    print(\"Creating database in memory\")\r\n\r\n    import eos.config\r\n\r\n    import eos\r\n    import eos.db\r\n\r\n    # Output debug info to help us troubleshoot Travis\r\n    print(eos.db.saveddata_engine)\r\n    print(eos.db.gamedata_engine)\r\n\r\n    helper = {\r\n        'config': eos.config,\r\n        'db'    : eos.db,\r\n        'gamedata_session' : eos.db.gamedata_session,\r\n        'saveddata_session' : eos.db.saveddata_session,\r\n    }\r\n    return helper\r\n\r\n\r\n@pytest.fixture\r\ndef Gamedata():\r\n    print(\"Building Gamedata\")\r\n    from eos.gamedata import Item\r\n\r\n    helper = {\r\n        'Item': Item,\r\n    }\r\n    return helper\r\n\r\n\r\n@pytest.fixture\r\ndef Saveddata():\r\n    print(\"Building Saveddata\")\r\n    from eos.saveddata.ship import Ship\r\n    from eos.saveddata.fit import Fit\r\n    from eos.saveddata.character import Character\r\n    from eos.saveddata.module import Module\r\n    from eos.const import FittingModuleState\r\n    from eos.saveddata.citadel import Citadel\r\n    from eos.saveddata.booster import Booster\r\n\r\n    helper = {\r\n        'Structure': Citadel,\r\n        'Ship'     : Ship,\r\n        'Fit'      : Fit,\r\n        'Character': Character,\r\n        'Module'   : Module,\r\n        'State'    : FittingModuleState,\r\n        'Booster'  : Booster,\r\n    }\r\n    return helper\r\n"
  },
  {
    "path": "_development/helpers_fits.py",
    "content": "import pytest\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n\r\n# noinspection PyShadowingNames\r\n@pytest.fixture\r\ndef RifterFit(DB, Gamedata, Saveddata):\r\n    print(\"Creating Rifter\")\r\n    item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == \"Rifter\").first()\r\n    ship = Saveddata['Ship'](item)\r\n    # setup fit\r\n    fit = Saveddata['Fit'](ship, \"My Rifter Fit\")\r\n\r\n    return fit\r\n\r\n\r\n# noinspection PyShadowingNames\r\n@pytest.fixture\r\ndef KeepstarFit(DB, Gamedata, Saveddata):\r\n    print(\"Creating Keepstar\")\r\n    item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == \"Keepstar\").first()\r\n    ship = Saveddata['Structure'](item)\r\n    # setup fit\r\n    fit = Saveddata['Fit'](ship, \"Keepstar Fit\")\r\n\r\n    return fit\r\n\r\n\r\n# noinspection PyShadowingNames\r\n@pytest.fixture\r\ndef CurseFit(DB, Gamedata, Saveddata):\r\n    print(\"Creating Curse - With Neuts\")\r\n    item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == \"Curse\").first()\r\n    ship = Saveddata['Ship'](item)\r\n    # setup fit\r\n    fit = Saveddata['Fit'](ship, \"Curse - With Neuts\")\r\n\r\n    mod = Saveddata['Module'](DB['db'].getItem(\"Medium Energy Neutralizer II\"))\r\n    mod.state = Saveddata['State'].ONLINE\r\n\r\n    # Add 5 neuts\r\n    for _ in range(5):\r\n        fit.modules.append(mod)\r\n\r\n    return fit\r\n\r\n\r\n# noinspection PyShadowingNames\r\n@pytest.fixture\r\ndef HeronFit(DB, Gamedata, Saveddata):\r\n    print(\"Creating Heron - RemoteSebo\")\r\n    item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == \"Heron\").first()\r\n    ship = Saveddata['Ship'](item)\r\n    # setup fit\r\n    fit = Saveddata['Fit'](ship, \"Heron - RemoteSebo\")\r\n\r\n    mod = Saveddata['Module'](DB['db'].getItem(\"Remote Sensor Booster II\"))\r\n    mod.state = Saveddata['State'].ONLINE\r\n\r\n    # Add 5 neuts\r\n    for _ in range(4):\r\n        fit.modules.append(mod)\r\n\r\n    return fit\r\n"
  },
  {
    "path": "_development/helpers_items.py",
    "content": "import pytest\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n\r\n# noinspection PyShadowingNames\r\n@pytest.fixture\r\ndef StrongBluePillBooster (DB, Gamedata, Saveddata):\r\n    print(\"Creating Strong Blue Pill Booster\")\r\n    item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == \"Strong Blue Pill Booster\").first()\r\n    return Saveddata['Booster'](item)\r\n"
  },
  {
    "path": "_development/helpers_locale.py",
    "content": "import os\r\n\r\n# https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx\r\nwindows_codecs = {\r\n    'cp1252',  # Standard Windows\r\n    'cp1251',  # Russian\r\n    'cp037',\r\n    'cp424',\r\n    'cp437',\r\n    'cp500',\r\n    'cp720',\r\n    'cp737',\r\n    'cp775',\r\n    'cp850',\r\n    'cp852',\r\n    'cp855',\r\n    'cp856',\r\n    'cp857',\r\n    'cp858',\r\n    'cp860',\r\n    'cp861',\r\n    'cp862',\r\n    'cp863',\r\n    'cp864',\r\n    'cp865',\r\n    'cp866',\r\n    'cp869',\r\n    'cp874',\r\n    'cp875',\r\n    'cp932',\r\n    'cp949',\r\n    'cp950',\r\n    'cp1006',\r\n    'cp1026',\r\n    'cp1140',\r\n    'cp1250',\r\n    'cp1253',\r\n    'cp1254',\r\n    'cp1255',\r\n    'cp1256',\r\n    'cp1257',\r\n    'cp1258',\r\n}\r\n\r\nlinux_codecs = {\r\n    'utf_8',  # Generic Linux/Mac\r\n}\r\n\r\nmac_codecs = [\r\n    'utf_8',  # Generic Linux/Mac\r\n    'mac_cyrillic',\r\n    'mac_greek',\r\n    'mac_iceland',\r\n    'mac_latin2',\r\n    'mac_roman',\r\n    'mac_turkish',\r\n]\r\n\r\nuniversal_codecs = [\r\n    'utf_16', 'utf_32', 'utf_32_be', 'utf_32_le', 'utf_16_be', 'utf_16_le', 'utf_7', 'utf_8_sig',\r\n]\r\n\r\nother_codecs = [\r\n    'scii', 'big5', 'big5hkscs', 'euc_jp', 'euc_jis_2004', 'euc_jisx0213', 'euc_kr', 'gb2312', 'gbk', 'gb18030', 'hz', 'iso2022_jp', 'iso2022_jp_1',\r\n    'iso2022_jp_2', 'iso2022_jp_2004', 'iso2022_jp_3', 'iso2022_jp_ext', 'iso2022_kr', 'latin_1', 'iso8859_2', 'iso8859_3', 'iso8859_4', 'iso8859_5',\r\n    'iso8859_6', 'iso8859_7', 'iso8859_8', 'iso8859_9', 'iso8859_10', 'iso8859_11', 'iso8859_13', 'iso8859_14', 'iso8859_15', 'iso8859_16', 'johab', 'koi8_r',\r\n    'koi8_u', 'ptcp154', 'shift_jis', 'shift_jis_2004', 'shift_jisx0213'\r\n]\r\n\r\nsystem_names = {\r\n    'Windows': windows_codecs,\r\n    'Linux': linux_codecs,\r\n    'Darwin': mac_codecs,\r\n}\r\n\r\n\r\ndef GetPath(root, file=None, codec=None):\r\n    # Replace this with the function we actually use for this\r\n    path = os.path.realpath(os.path.abspath(root))\r\n\r\n    if file:\r\n        path = os.path.join(path, file)\r\n\r\n    if codec:\r\n        path = path.decode(codec)\r\n\r\n    return path\r\n\r\ndef GetUnicodePath(root, file=None, codec=None):\r\n    # Replace this with the function we actually use for this\r\n    path = os.path.realpath(os.path.abspath(root))\r\n\r\n    if file:\r\n        path = os.path.join(path, file)\r\n\r\n    if codec:\r\n        path = str(path, codec)\r\n    else:\r\n        path = str(path)\r\n\r\n    return path\r\n"
  },
  {
    "path": "config.py",
    "content": "import os\r\nimport sys\r\nimport yaml\r\nimport wx\r\n\r\nfrom logbook import CRITICAL, DEBUG, ERROR, FingersCrossedHandler, INFO, Logger, NestedSetup, NullHandler, \\\r\n    StreamHandler, TimedRotatingFileHandler, WARNING\r\nimport hashlib\r\nfrom eos.const import FittingSlot\r\n\r\nfrom cryptography.fernet import Fernet\r\nfrom collections import namedtuple\r\n\r\npyfalog = Logger(__name__)\r\n\r\n# Load variable overrides specific to distribution type\r\ntry:\r\n    import configforced\r\nexcept ImportError:\r\n    pyfalog.warning(\"Failed to import: configforced\")\r\n    configforced = None\r\n\r\n\r\n# Turns on debug mode\r\ndebug = False\r\n# Defines if our saveddata will be in pyfa root or not\r\nsaveInRoot = False\r\n\r\nevemonMinVersion = \"4081\"\r\n\r\nminItemSearchLength = 3\r\nminItemSearchLengthCjk = 1\r\n\r\npyfaPath = None\r\nsavePath = None\r\nsaveDB = None\r\ngameDB = None\r\nimgsZIP = None\r\nlogPath = None\r\nloggingLevel = None\r\nlogging_setup = None\r\ncipher = None\r\nclientHash = None\r\nexperimentalFeatures = None\r\nversion = None\r\nlanguage = None\r\n\r\nApiServer = namedtuple('ApiBase', ['name', 'sso', 'esi', 'client_id', 'callback', 'supports_auto_login'])\r\nsupported_servers = {\r\n    \"Tranquility\": ApiServer(\"Tranquility\", \"login.eveonline.com\", \"esi.evetech.net\", '095d8cd841ac40b581330919b49fe746', 'https://pyfa-org.github.io/Pyfa/callback', True),\r\n    # No point having SISI: https://developers.eveonline.com/blog/article/removing-datasource-singularity\r\n    # \"Singularity\": ApiServer(\"Singularity\", \"sisilogin.testeveonline.com\", \"esi.evetech.net\", 'b9c3cc79448f449ab17f3aebd018842e', 'https://pyfa-org.github.io/Pyfa/callback'),\r\n    \"Serenity\": ApiServer(\"Serenity\", \"login.evepc.163.com\", \"ali-esi.evepc.163.com\", 'bc90aa496a404724a93f41b4f4e97761', 'https://ali-esi.evepc.163.com/ui/oauth2-redirect.html', False)\r\n}\r\n\r\nSSO_LOGOFF_SERENITY='https://login.evepc.163.com/account/logoff'\r\nESI_CACHE = 'esi_cache'\r\n\r\nLOGLEVEL_MAP = {\r\n    \"critical\": CRITICAL,\r\n    \"error\": ERROR,\r\n    \"warning\": WARNING,\r\n    \"info\": INFO,\r\n    \"debug\": DEBUG,\r\n}\r\n\r\nCATALOG = 'lang'\r\n\r\n\r\nslotColourMapDark = {\r\n    FittingSlot.LOW: wx.Colour(44, 36, 19),  # yellow = low slots 24/13\r\n    FittingSlot.MED: wx.Colour(28, 39, 51),  # blue   = mid slots 8.1/9.5\r\n    FittingSlot.HIGH: wx.Colour(53, 31, 34),  # red    = high slots 6.5/11.5\r\n    FittingSlot.RIG: '',\r\n    FittingSlot.SUBSYSTEM: ''}\r\nerrColorDark = wx.Colour(70, 20, 20)\r\nslotColourMap = {\r\n    FittingSlot.LOW: wx.Colour(250, 235, 204),  # yellow = low slots\r\n    FittingSlot.MED: wx.Colour(188, 215, 241),  # blue   = mid slots\r\n    FittingSlot.HIGH: wx.Colour(235, 204, 209),  # red    = high slots\r\n    FittingSlot.RIG: '',\r\n    FittingSlot.SUBSYSTEM: ''}\r\nerrColor = wx.Colour(204, 51, 51)\r\n\r\n\r\ndef getClientSecret():\r\n    return clientHash\r\n\r\n\r\ndef isFrozen():\r\n    if hasattr(sys, 'frozen'):\r\n        return True\r\n    else:\r\n        return False\r\n\r\n\r\ndef __createDirs(path):\r\n    if not os.path.exists(path):\r\n        os.makedirs(path)\r\n\r\n\r\ndef getPyfaRoot():\r\n    if hasattr(sys, '_MEIPASS'):\r\n        return sys._MEIPASS\r\n    base = getattr(sys.modules['__main__'], \"__file__\", sys.executable) if isFrozen() else __file__\r\n    root = os.path.dirname(os.path.realpath(os.path.abspath(base)))\r\n    root = root\r\n    return root\r\n\r\n\r\ndef getVersion():\r\n    return version\r\n\r\n\r\ndef getDefaultSave():\r\n    return os.path.expanduser(os.path.join(\"~\", \".pyfa\"))\r\n\r\n\r\ndef defPaths(customSavePath=None):\r\n    global debug\r\n    global pyfaPath\r\n    global savePath\r\n    global saveDB\r\n    global gameDB\r\n    global imgsZIP\r\n    global saveInRoot\r\n    global logPath\r\n    global cipher\r\n    global clientHash\r\n    global version\r\n    global experimentalFeatures\r\n    global language\r\n\r\n    pyfalog.debug(\"Configuring Pyfa\")\r\n\r\n    # The main pyfa directory which contains run.py\r\n    # Python 2.X uses ANSI by default, so we need to convert the character encoding\r\n    pyfaPath = getattr(configforced, \"pyfaPath\", pyfaPath)\r\n    if pyfaPath is None:\r\n        pyfaPath = getPyfaRoot()\r\n\r\n    # Version data\r\n\r\n    with open(os.path.join(pyfaPath, \"version.yml\"), 'r') as file:\r\n        data = yaml.load(file, Loader=yaml.SafeLoader)\r\n        version = data['version']\r\n\r\n    # Where we store the saved fits etc, default is the current users home directory\r\n    if saveInRoot is True:\r\n        savePath = getattr(configforced, \"savePath\", None)\r\n        if savePath is None:\r\n            savePath = os.path.join(pyfaPath, \"saveddata\")\r\n    else:\r\n        savePath = getattr(configforced, \"savePath\", None)\r\n        if savePath is None:\r\n            if customSavePath is None:  # customSavePath is not overriden\r\n                savePath = getDefaultSave()\r\n            else:\r\n                savePath = customSavePath\r\n\r\n    __createDirs(savePath)\r\n\r\n    secret_file = os.path.join(savePath, \".secret\")\r\n    if not os.path.exists(secret_file):\r\n        with open(secret_file, \"wb\") as _file:\r\n            _file.write(Fernet.generate_key())\r\n\r\n    with open(secret_file, 'rb') as fp:\r\n        key = fp.read()\r\n        clientHash = hashlib.sha3_256(key).hexdigest()\r\n        cipher = Fernet(key)\r\n\r\n    # if isFrozen():\r\n    #    os.environ[\"REQUESTS_CA_BUNDLE\"] = os.path.join(pyfaPath, \"cacert.pem\")\r\n    #    os.environ[\"SSL_CERT_FILE\"] = os.path.join(pyfaPath, \"cacert.pem\")\r\n\r\n    # The database where we store all the fits etc\r\n    saveDB = os.path.join(savePath, \"saveddata.db\")\r\n\r\n    # The database where the static EVE data from the datadump is kept.\r\n    # This is not the standard sqlite datadump but a modified version created by eos\r\n    # maintenance script\r\n    gameDB = getattr(configforced, \"gameDB\", gameDB)\r\n    if not gameDB:\r\n        gameDB = os.path.join(pyfaPath, \"eve.db\")\r\n\r\n    imgsZIP = getattr(configforced, \"imgsZIP\", imgsZIP)\r\n    if not imgsZIP:\r\n        imgsZIP = os.path.join(pyfaPath, \"imgs.zip\")\r\n\r\n    if debug:\r\n        logFile = \"pyfa_debug.log\"\r\n    else:\r\n        logFile = \"pyfa.log\"\r\n\r\n    logPath = os.path.join(savePath, logFile)\r\n\r\n    experimentalFeatures = getattr(configforced, \"experimentalFeatures\", experimentalFeatures)\r\n    if experimentalFeatures is None:\r\n        experimentalFeatures = False\r\n\r\n    # DON'T MODIFY ANYTHING BELOW\r\n    import eos.config\r\n\r\n    # Caching modifiers, disable all gamedata caching, its unneeded.\r\n    eos.config.gamedataCache = False\r\n    # saveddata db location modifier, shouldn't ever need to touch this\r\n    eos.config.saveddata_connectionstring = \"sqlite:///\" + saveDB + \"?check_same_thread=False\"\r\n    eos.config.gamedata_connectionstring = \"sqlite:///\" + gameDB + \"?check_same_thread=False\"\r\n\r\n    # initialize the settings\r\n    from service.settings import EOSSettings, LocaleSettings\r\n    eos.config.settings = EOSSettings.getInstance().EOSSettings  # this is kind of confusing, but whatever\r\n\r\n    # set langauge, taking the passed argument or falling back to what's saved in the settings\r\n    localeSettings = LocaleSettings.getInstance()\r\n    language = language or localeSettings.get('locale')\r\n\r\n    # sets the lang for eos, using the mapped langauge.\r\n    eos.config.set_lang(localeSettings.get_eos_locale())\r\n\r\ndef defLogging():\r\n    global debug\r\n    global logPath\r\n    global loggingLevel\r\n    global logging_setup\r\n\r\n    try:\r\n        if debug:\r\n            logging_setup = NestedSetup([\r\n                # make sure we never bubble up to the stderr handler\r\n                # if we run out of setup handling\r\n                NullHandler(),\r\n                StreamHandler(\r\n                        sys.stdout,\r\n                        bubble=False,\r\n                        level=loggingLevel\r\n                ),\r\n                TimedRotatingFileHandler(\r\n                        logPath,\r\n                        level=0,\r\n                        backup_count=3,\r\n                        bubble=True,\r\n                        date_format='%Y-%m-%d',\r\n                ),\r\n            ])\r\n        else:\r\n            logging_setup = NestedSetup([\r\n                # make sure we never bubble up to the stderr handler\r\n                # if we run out of setup handling\r\n                NullHandler(),\r\n                FingersCrossedHandler(\r\n                        TimedRotatingFileHandler(\r\n                                logPath,\r\n                                level=0,\r\n                                backup_count=3,\r\n                                bubble=False,\r\n                                date_format='%Y-%m-%d',\r\n                        ),\r\n                        action_level=ERROR,\r\n                        buffer_size=1000,\r\n                        # pull_information=True,\r\n                        # reset=False,\r\n                )\r\n            ])\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        print(\"Critical error attempting to setup logging. Falling back to console only.\")\r\n        logging_setup = NestedSetup([\r\n            # make sure we never bubble up to the stderr handler\r\n            # if we run out of setup handling\r\n            NullHandler(),\r\n            StreamHandler(\r\n                    sys.stdout,\r\n                    bubble=False\r\n            )\r\n        ])\r\n\r\n\r\nclass LoggerWriter:\r\n    def __init__(self, level):\r\n        # self.level is really like using log.debug(message)\r\n        # at least in my case\r\n        self.level = level\r\n\r\n    def write(self, message):\r\n        # if statement reduces the amount of newlines that are\r\n        # printed to the logger\r\n        if message.strip() != '':\r\n            self.level(message.replace(\"\\n\", \"\"))\r\n\r\n    def flush(self):\r\n        # create a flush method so things can be flushed when\r\n        # the system wants to. Not sure if simply 'printing'\r\n        # sys.stderr is the correct way to do it, but it seemed\r\n        # to work properly for me.\r\n        self.level(sys.stderr)\r\n"
  },
  {
    "path": "crowdin.yml",
    "content": "files:\n  - source: /locale/*.pot\n    translation: /locale/%locale_with_underscore%/LC_MESSAGES/lang.po\n"
  },
  {
    "path": "db_update.py",
    "content": "#!/usr/bin/env python3\r\n#======================================================================\r\n# Copyright (C) 2012 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as\r\n# published by the Free Software Foundation, either version 3 of\r\n# the License, or (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public\r\n# License along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n#======================================================================\r\n\r\n\r\nimport functools\r\nimport itertools\r\nimport json\r\nimport os\r\nimport re\r\nimport sqlite3\r\nimport sys\r\n\r\nimport sqlalchemy.orm\r\nfrom sqlalchemy import or_, and_\r\n\r\n\r\n# todo: need to set the EOS language to en, becasuse this assumes it's being run within an English context\r\n# Need to know what that would do if called from pyfa\r\nROOT_DIR = os.path.realpath(os.path.dirname(__file__))\r\nDB_PATH = os.path.join(ROOT_DIR, 'eve.db')\r\nJSON_DIR = os.path.join(ROOT_DIR, 'staticdata')\r\nif ROOT_DIR not in sys.path:\r\n    sys.path.insert(0, ROOT_DIR)\r\nGAMEDATA_SCHEMA_VERSION = 4\r\n\r\n\r\ndef db_needs_update():\r\n    \"\"\"True if needs, false if it does not, none if we cannot check it.\"\"\"\r\n    try:\r\n        with open(os.path.join(JSON_DIR, 'phobos', 'metadata.0.json')) as f:\r\n            data_version = next((r['field_value'] for r in json.load(f) if r['field_name'] == 'client_build'))\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    # If we have no source data - return None; should not update in this case\r\n    except:\r\n        return None\r\n    if not os.path.isfile(DB_PATH):\r\n        print('Gamedata DB not found')\r\n        return True\r\n    db_data_version = None\r\n    db_schema_version = None\r\n    try:\r\n        db = sqlite3.connect(DB_PATH)\r\n        cursor = db.cursor()\r\n        cursor.execute('SELECT field_value FROM metadata WHERE field_name = \\'client_build\\'')\r\n        for row in cursor:\r\n            db_data_version = int(row[0])\r\n        cursor.execute('SELECT field_value FROM metadata WHERE field_name = \\'schema_version\\'')\r\n        for row in cursor:\r\n            db_schema_version = int(row[0])\r\n        cursor.close()\r\n        db.close()\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        print('Error when fetching gamedata DB metadata')\r\n        return True\r\n    if data_version != db_data_version:\r\n        print('Gamedata DB data version mismatch: needed {}, DB has {}'.format(data_version, db_data_version))\r\n        return True\r\n    if GAMEDATA_SCHEMA_VERSION != db_schema_version:\r\n        print('Gamedata DB schema version mismatch: needed {}, DB has {}'.format(GAMEDATA_SCHEMA_VERSION, db_schema_version))\r\n        return True\r\n    return False\r\n\r\n\r\ndef update_db():\r\n\r\n    print('Building gamedata DB...')\r\n\r\n    if os.path.isfile(DB_PATH):\r\n        os.remove(DB_PATH)\r\n\r\n    import eos.db\r\n    import eos.gamedata\r\n    import eos.config\r\n\r\n    # Create the database tables\r\n    eos.db.gamedata_meta.create_all()\r\n\r\n    def _readData(minerName, jsonName, keyIdName=None):\r\n        compiled_data = None\r\n        for i in itertools.count(0):\r\n            try:\r\n                with open(os.path.join(JSON_DIR, minerName, '{}.{}.json'.format(jsonName, i)), encoding='utf-8') as f:\r\n                    rawData = json.load(f)\r\n                    if i == 0:\r\n                        compiled_data = {} if type(rawData) == dict else []\r\n                    if type(rawData) == dict:\r\n                        compiled_data.update(rawData)\r\n                    else:\r\n                        compiled_data.extend(rawData)\r\n            except FileNotFoundError:\r\n                break\r\n\r\n        if not keyIdName:\r\n            return compiled_data\r\n        # IDs in keys, rows in values\r\n        data = []\r\n        for k, v in compiled_data.items():\r\n            row = {}\r\n            row.update(v)\r\n            row[keyIdName] = int(k)\r\n            data.append(row)\r\n        return data\r\n\r\n    def _addRows(data, cls, fieldMap=None):\r\n        if fieldMap is None:\r\n            fieldMap = {}\r\n        for row in data:\r\n            instance = cls()\r\n            for k, v in row.items():\r\n                if isinstance(v, str):\r\n                    v = v.strip()\r\n                setattr(instance, fieldMap.get(k, k), v)\r\n            eos.db.gamedata_session.add(instance)\r\n\r\n    def processEveTypes():\r\n        print('processing evetypes')\r\n        data = _readData('fsd_built', 'types', keyIdName='typeID')\r\n        for row in data:\r\n            if (\r\n                # Apparently people really want Civilian modules available\r\n                (row['typeName_en-us'].startswith('Civilian') and \"Shuttle\" not in row['typeName_en-us'])\r\n                or row['typeName_en-us'] == 'Capsule'\r\n                or row['groupID'] == 4033  # destructible effect beacons\r\n                or row['typeID'] == 82941  # Metenox service\r\n                or row['typeID'] in (87164, 87177)  # Trig buff carriers\r\n                or re.match(r'AIR .+Booster.*', row['typeName_en-us'])\r\n            ):\r\n                row['published'] = True\r\n            # Nearly useless and clutter search results too much\r\n            elif (\r\n                row['typeName_en-us'].startswith('Limited Synth ')\r\n                or row['typeName_en-us'].startswith('Expired ')\r\n                or re.match(r'Grand Prix .*Booster', row['typeName_en-us'])\r\n                or re.match(r'Mining Blitz .+ Booster Dose .+', row['typeName_en-us'])\r\n                or row['typeName_en-us'].endswith(' Filament') and (\r\n                    \"'Needlejack'\" not in row['typeName_en-us'] and\r\n                    \"'Devana'\" not in row['typeName_en-us'] and\r\n                    \"'Pochven'\" not in row['typeName_en-us'] and\r\n                    \"'Extraction'\" not in row['typeName_en-us'] and\r\n                    \"'Krai Veles'\" not in row['typeName_en-us'] and\r\n                    \"'Krai Perun'\" not in row['typeName_en-us'] and\r\n                    \"'Krai Svarog'\" not in row['typeName_en-us']\r\n                )\r\n            ):\r\n                row['published'] = False\r\n\r\n        newData = []\r\n        for row in data:\r\n            if (\r\n                row['published'] or\r\n                # group Ship Modifiers, for items like tactical t3 ship modes\r\n                row['groupID'] == 1306 or\r\n                # Micro Bombs (Fighters)\r\n                row['typeID'] in (41549, 41548, 41551, 41550) or\r\n                # Abyssal weather (environment)\r\n                row['groupID'] in (\r\n                    1882,\r\n                    1975,\r\n                    1971,\r\n                    1983)  # the \"container\" for the abyssal environments\r\n            ):\r\n                newData.append(row)\r\n        map = {'typeName_en-us': 'typeName', 'description_en-us': '_description'}\r\n        map.update({'description'+v: '_description'+v for (k, v) in eos.config.translation_mapping.items() if k != 'en'})\r\n        _addRows(newData, eos.gamedata.Item, fieldMap=map)\r\n        return newData\r\n\r\n    def processEveGroups():\r\n        print('processing evegroups')\r\n        data = _readData('fsd_built', 'groups', keyIdName='groupID')\r\n        map = {'groupName_en-us': 'name'}\r\n        map.update({'groupName'+v: 'name'+v for (k, v) in eos.config.translation_mapping.items() if k != 'en'})\r\n        _addRows(data, eos.gamedata.Group, fieldMap=map)\r\n        return data\r\n\r\n    def processEveCategories():\r\n        print('processing evecategories')\r\n        data = _readData('fsd_built', 'categories', keyIdName='categoryID')\r\n        map = { 'categoryName_en-us': 'name' }\r\n        map.update({'categoryName'+v: 'name'+v for (k, v) in eos.config.translation_mapping.items() if k != 'en'})\r\n        _addRows(data, eos.gamedata.Category, fieldMap=map)\r\n\r\n    def processDogmaAttributes():\r\n        print('processing dogmaattributes')\r\n        data = _readData('fsd_built', 'dogmaattributes', keyIdName='attributeID')\r\n        map = {\r\n            'displayName_en-us': 'displayName',\r\n            # 'tooltipDescription_en-us': 'tooltipDescription'\r\n        }\r\n        _addRows(data, eos.gamedata.AttributeInfo, fieldMap=map)\r\n\r\n    def processDogmaTypeAttributes(eveTypesData):\r\n        print('processing dogmatypeattributes')\r\n        data = _readData('fsd_built', 'typedogma', keyIdName='typeID')\r\n        eveTypeIds = set(r['typeID'] for r in eveTypesData)\r\n        newData = []\r\n        seenKeys = set()\r\n\r\n        def checkKey(key):\r\n            if key in seenKeys:\r\n                return False\r\n            seenKeys.add(key)\r\n            return True\r\n\r\n        for typeData in data:\r\n            if typeData['typeID'] not in eveTypeIds:\r\n                continue\r\n            for row in typeData.get('dogmaAttributes', ()):\r\n                row['typeID'] = typeData['typeID']\r\n                if checkKey((row['typeID'], row['attributeID'])):\r\n                    newData.append(row)\r\n        for row in eveTypesData:\r\n            for attrId, attrName in {4: 'mass', 38: 'capacity', 161: 'volume', 162: 'radius'}.items():\r\n                if attrName in row and checkKey((row['typeID'], attrId)):\r\n                    newData.append({'typeID': row['typeID'], 'attributeID': attrId, 'value': row[attrName]})\r\n\r\n        _addRows(newData, eos.gamedata.Attribute)\r\n        return newData\r\n\r\n    def processDynamicItemAttributes():\r\n        print('processing dynamicitemattributes')\r\n        data = _readData('fsd_built', 'dynamicitemattributes')\r\n        for mutaID, mutaData in data.items():\r\n            muta = eos.gamedata.DynamicItem()\r\n            muta.typeID = mutaID\r\n            muta.resultingTypeID = mutaData['inputOutputMapping'][0]['resultingType']\r\n            eos.db.gamedata_session.add(muta)\r\n\r\n            for x in mutaData['inputOutputMapping'][0]['applicableTypes']:\r\n                item = eos.gamedata.DynamicItemItem()\r\n                item.typeID = mutaID\r\n                item.applicableTypeID = x\r\n                eos.db.gamedata_session.add(item)\r\n\r\n            for attrID, attrData in mutaData['attributeIDs'].items():\r\n                attr = eos.gamedata.DynamicItemAttribute()\r\n                attr.typeID = mutaID\r\n                attr.attributeID = attrID\r\n                attr.min = attrData['min']\r\n                attr.max = attrData['max']\r\n                eos.db.gamedata_session.add(attr)\r\n\r\n    def processDogmaEffects():\r\n        print('processing dogmaeffects')\r\n        data = _readData('fsd_built', 'dogmaeffects', keyIdName='effectID')\r\n        _addRows(data, eos.gamedata.Effect, fieldMap={'resistanceAttributeID': 'resistanceID'})\r\n\r\n    def processDogmaTypeEffects(eveTypesData):\r\n        print('processing dogmatypeeffects')\r\n        data = _readData('fsd_built', 'typedogma', keyIdName='typeID')\r\n        eveTypeIds = set(r['typeID'] for r in eveTypesData)\r\n        newData = []\r\n        for typeData in data:\r\n            if typeData['typeID'] not in eveTypeIds:\r\n                continue\r\n            for row in typeData.get('dogmaEffects', ()):\r\n                row['typeID'] = typeData['typeID']\r\n                newData.append(row)\r\n        _addRows(newData, eos.gamedata.ItemEffect)\r\n        return newData\r\n\r\n    def processDogmaUnits():\r\n        print('processing dogmaunits')\r\n        data = _readData('fsd_built', 'dogmaunits', keyIdName='unitID')\r\n        _addRows(data, eos.gamedata.Unit, fieldMap={\r\n            'name': 'unitName',\r\n            'displayName_en-us': 'displayName'\r\n        })\r\n\r\n    def processMarketGroups():\r\n        print('processing marketgroups')\r\n        data = _readData('fsd_built', 'marketgroups', keyIdName='marketGroupID')\r\n        map = {\r\n            'name_en-us': 'marketGroupName',\r\n            'description_en-us': '_description',\r\n        }\r\n        map.update({'name'+v: 'marketGroupName'+v for (k, v) in eos.config.translation_mapping.items() if k != 'en'})\r\n        map.update({'description' + v: '_description' + v for (k, v) in eos.config.translation_mapping.items() if k != 'en'})\r\n        _addRows(data, eos.gamedata.MarketGroup, fieldMap=map)\r\n\r\n    def processMetaGroups():\r\n        print('processing metagroups')\r\n        data = _readData('fsd_built', 'metagroups', keyIdName='metaGroupID')\r\n        map = {'name_en-us': 'metaGroupName'}\r\n        map.update({'name' + v: 'metaGroupName' + v for (k, v) in eos.config.translation_mapping.items() if k != 'en'})\r\n        _addRows(data, eos.gamedata.MetaGroup, fieldMap=map)\r\n\r\n    def processCloneGrades():\r\n        print('processing clonegrades')\r\n        data = _readData('fsd_lite', 'clonegrades')\r\n\r\n        newData = []\r\n        # December, 2017 - CCP decided to use only one set of skill levels for alpha clones. However, this is still\r\n        # represented in the data as a skillset per race. To ensure that all skills are the same, we store them in a way\r\n        # that we can check to make sure all races have the same skills, as well as skill levels\r\n        check = {}\r\n        for ID in data:\r\n            for skill in data[ID]['skills']:\r\n                newData.append({\r\n                    'alphaCloneID': int(ID),\r\n                    'alphaCloneName': 'Alpha Clone',\r\n                    'typeID': skill['typeID'],\r\n                    'level': skill['level']})\r\n                if ID not in check:\r\n                    check[ID] = {}\r\n                check[ID][int(skill['typeID'])] = int(skill['level'])\r\n        if not functools.reduce(lambda a, b: a if a == b else False, [v for _, v in check.items()]):\r\n            raise Exception('Alpha Clones not all equal')\r\n        newData = [x for x in newData if x['alphaCloneID'] == 1]\r\n        if len(newData) == 0:\r\n            raise Exception('Alpha Clone processing failed')\r\n\r\n        tmp = []\r\n        for row in newData:\r\n            if row['alphaCloneID'] not in tmp:\r\n                cloneParent = eos.gamedata.AlphaClone()\r\n                setattr(cloneParent, 'alphaCloneID', row['alphaCloneID'])\r\n                setattr(cloneParent, 'alphaCloneName', row['alphaCloneName'])\r\n                eos.db.gamedata_session.add(cloneParent)\r\n                tmp.append(row['alphaCloneID'])\r\n        _addRows(newData, eos.gamedata.AlphaCloneSkill)\r\n\r\n    def processTraits():\r\n        print('processing traits')\r\n        data = _readData('phobos', 'traits')\r\n\r\n        def convertSection(sectionData):\r\n            sectionLines = []\r\n            headerText = '<b>{}</b>'.format(sectionData['header'])\r\n            sectionLines.append(headerText)\r\n            for bonusData in sectionData['bonuses']:\r\n                prefix = '{} '.format(bonusData['number']) if 'number' in bonusData else ''\r\n                bonusText = '{}{}'.format(prefix, bonusData['text'].replace('\\u00B7', '\\u2022 '))\r\n                sectionLines.append(bonusText)\r\n            sectionLine = '<br />\\n'.join(sectionLines)\r\n            return sectionLine\r\n\r\n        newData = []\r\n        for row in data:\r\n            try:\r\n                newRow = {\r\n                    'typeID': row['typeID'],\r\n                }\r\n                for (k, v) in eos.config.translation_mapping.items():\r\n                    if v == '':\r\n                        v = '_en-us'\r\n                    typeLines = []\r\n                    traitData = row['traits{}'.format(v)]\r\n                    for skillData in sorted(traitData.get('skills', ()), key=lambda i: i['header']):\r\n                        typeLines.append(convertSection(skillData))\r\n                    if 'role' in traitData:\r\n                        typeLines.append(convertSection(traitData['role']))\r\n                    if 'misc' in traitData:\r\n                        typeLines.append(convertSection(traitData['misc']))\r\n                    traitLine = '<br />\\n<br />\\n'.join(typeLines)\r\n                    newRow['traitText{}'.format(v)] = traitLine\r\n\r\n                newData.append(newRow)\r\n            except:\r\n                pass\r\n        _addRows(newData, eos.gamedata.Traits, fieldMap={'traitText_en-us': 'traitText'})\r\n\r\n    def processMetadata():\r\n        print('processing metadata')\r\n        data = _readData('phobos', 'metadata')\r\n        _addRows(data, eos.gamedata.MetaData)\r\n\r\n    def processReqSkills(eveTypesData):\r\n        print('processing requiredskillsfortypes')\r\n\r\n        def composeReqSkills(raw):\r\n            reqSkills = {}\r\n            for skillTypeID, skillLevel in raw.items():\r\n                reqSkills[int(skillTypeID)] = skillLevel\r\n            return reqSkills\r\n\r\n        eveTypeIds = set(r['typeID'] for r in eveTypesData)\r\n        data = _readData('fsd_built', 'requiredskillsfortypes')\r\n        reqsByItem = {}\r\n        itemsByReq = {}\r\n        for typeID, skillreqData in data.items():\r\n            typeID = int(typeID)\r\n            if typeID not in eveTypeIds:\r\n                continue\r\n            for skillTypeID, skillLevel in composeReqSkills(skillreqData).items():\r\n                reqsByItem.setdefault(typeID, {})[skillTypeID] = skillLevel\r\n                itemsByReq.setdefault(skillTypeID, {})[typeID] = skillLevel\r\n        for item in eos.db.gamedata_session.query(eos.gamedata.Item).all():\r\n            if item.typeID in reqsByItem:\r\n                item.reqskills = json.dumps(reqsByItem[item.typeID])\r\n            if item.typeID in itemsByReq:\r\n                item.requiredfor = json.dumps(itemsByReq[item.typeID])\r\n\r\n    def processReplacements(eveTypesData, eveGroupsData, dogmaTypeAttributesData, dogmaTypeEffectsData):\r\n        print('finding item replacements')\r\n\r\n        def compareAttrs(attrs1, attrs2):\r\n            # Consider items as different if they have no attrs\r\n            if len(attrs1) == 0 and len(attrs2) == 0:\r\n                return False\r\n            if set(attrs1) != set(attrs2):\r\n                return False\r\n            if all(attrs1[aid] == attrs2[aid] for aid in attrs1):\r\n                return True\r\n            return False\r\n\r\n        skillReqAttribs = {\r\n            182: 277,\r\n            183: 278,\r\n            184: 279,\r\n            1285: 1286,\r\n            1289: 1287,\r\n            1290: 1288}\r\n        skillReqAttribsFlat = set(skillReqAttribs.keys()).union(skillReqAttribs.values())\r\n        # Get data on type groups\r\n        # Format: {type ID: group ID}\r\n        typesGroups = {}\r\n        for row in eveTypesData:\r\n            typesGroups[row['typeID']] = row['groupID']\r\n        # Get data on item effects\r\n        # Format: {type ID: set(effect, IDs)}\r\n        typesEffects = {}\r\n        for row in dogmaTypeEffectsData:\r\n            typesEffects.setdefault(row['typeID'], set()).add(row['effectID'])\r\n        # Get data on type attributes\r\n        # Format: {type ID: {attribute ID: attribute value}}\r\n        typesNormalAttribs = {}\r\n        typesSkillAttribs = {}\r\n        for row in dogmaTypeAttributesData:\r\n            attributeID = row['attributeID']\r\n            if attributeID in skillReqAttribsFlat:\r\n                typeSkillAttribs = typesSkillAttribs.setdefault(row['typeID'], {})\r\n                typeSkillAttribs[row['attributeID']] = row['value']\r\n            # Ignore these attributes for comparison purposes\r\n            elif attributeID in (\r\n                # We do not need mass as it affects final ship stats only when carried by ship itself\r\n                # (and we're not going to replace ships), but it's wildly inconsistent for other items,\r\n                # which otherwise would be the same\r\n                4,  # mass\r\n                124,  # mainColor\r\n                162,  # radius\r\n                422,  # techLevel\r\n                633,  # metaLevel\r\n                1692,  # metaGroupID\r\n                1768  # typeColorScheme\r\n            ):\r\n                continue\r\n            else:\r\n                typeNormalAttribs = typesNormalAttribs.setdefault(row['typeID'], {})\r\n                typeNormalAttribs[row['attributeID']] = row['value']\r\n        # Get data on skill requirements\r\n        # Format: {type ID: {skill type ID: skill level}}\r\n        typesSkillReqs = {}\r\n        for typeID, typeAttribs in typesSkillAttribs.items():\r\n            typeSkillAttribs = typesSkillAttribs.get(typeID, {})\r\n            if not typeSkillAttribs:\r\n                continue\r\n            typeSkillReqs = typesSkillReqs.setdefault(typeID, {})\r\n            for skillreqTypeAttr, skillreqLevelAttr in skillReqAttribs.items():\r\n                try:\r\n                    skillType = int(typeSkillAttribs[skillreqTypeAttr])\r\n                    skillLevel = int(typeSkillAttribs[skillreqLevelAttr])\r\n                except (KeyError, ValueError):\r\n                    continue\r\n                typeSkillReqs[skillType] = skillLevel\r\n        # Format: {group ID: category ID}\r\n        groupCategories = {}\r\n        for row in eveGroupsData:\r\n            groupCategories[row['groupID']] = row['categoryID']\r\n        # As EVE affects various types mostly depending on their group or skill requirements,\r\n        # we're going to group various types up this way\r\n        # Format: {(group ID, frozenset(skillreq, type, IDs), frozenset(type, effect, IDs): [type ID, {attribute ID: attribute value}]}\r\n        groupedData = {}\r\n        for row in eveTypesData:\r\n            typeID = row['typeID']\r\n            # Ignore items outside of categories we need\r\n            if groupCategories[typesGroups[typeID]] not in (\r\n                6,  # Ship\r\n                7,  # Module\r\n                8,  # Charge\r\n                18,  # Drone\r\n                20,  # Implant\r\n                22,  # Deployable\r\n                23,  # Starbase\r\n                32,  # Subsystem\r\n                35,  # Decryptors\r\n                65,  # Structure\r\n                66,  # Structure Module\r\n                87,  # Fighter\r\n            ):\r\n                continue\r\n            typeAttribs = typesNormalAttribs.get(typeID, {})\r\n            # Ignore items w/o attributes\r\n            if not typeAttribs:\r\n                continue\r\n            # We need only skill types, not levels for keys\r\n            typeSkillreqs = frozenset(typesSkillReqs.get(typeID, {}))\r\n            typeGroup = typesGroups[typeID]\r\n            typeEffects = frozenset(typesEffects.get(typeID, ()))\r\n            groupData = groupedData.setdefault((typeGroup, typeSkillreqs, typeEffects), [])\r\n            groupData.append((typeID, typeAttribs))\r\n        # Format: {type ID: set(type IDs)}\r\n        replacements = {}\r\n        # Now, go through composed groups and for every item within it\r\n        # find items which are the same\r\n        for groupData in groupedData.values():\r\n            for type1, type2 in itertools.combinations(groupData, 2):\r\n                if compareAttrs(type1[1], type2[1]):\r\n                    replacements.setdefault(type1[0], set()).add(type2[0])\r\n                    replacements.setdefault(type2[0], set()).add(type1[0])\r\n        # Update DB session with data we generated\r\n        for item in eos.db.gamedata_session.query(eos.gamedata.Item).all():\r\n            itemReplacements = replacements.get(item.typeID)\r\n            if itemReplacements is not None:\r\n                item.replacements = ','.join('{}'.format(tid) for tid in sorted(itemReplacements))\r\n\r\n    def processImplantSets(eveTypesData):\r\n        print('composing implant sets')\r\n        # Includes only implants which can be considered part of sets, not all implants\r\n        implant_groups = (300, 1730)\r\n        specials = {'Genolution': ('Genolution Core Augmentation', r'CA-\\d+')}\r\n        implantSets = {}\r\n        for row in eveTypesData:\r\n            if not row.get('published'):\r\n                continue\r\n            if row.get('groupID') not in implant_groups:\r\n                continue\r\n            typeName = row.get('typeName_en-us', '')\r\n            # Regular sets matching\r\n            m = re.match(r'(?P<grade>(High|Mid|Low)-grade) (?P<set>\\w+) (?P<implant>(Alpha|Beta|Gamma|Delta|Epsilon|Omega))', typeName, re.IGNORECASE)\r\n            if m:\r\n                implantSets.setdefault((m.group('grade'), m.group('set')), set()).add(row['typeID'])\r\n            # Special set matching\r\n            for setHandle, (setName, implantPattern) in specials.items():\r\n                pattern = '(?P<set>{}) (?P<implant>{})'.format(setName, implantPattern)\r\n                m = re.match(pattern, typeName)\r\n                if m:\r\n                    implantSets.setdefault((None, setHandle), set()).add(row['typeID'])\r\n                    break\r\n        data = []\r\n        for (gradeName, setName), implants in implantSets.items():\r\n            if len(implants) < 2:\r\n                continue\r\n            implants = ','.join('{}'.format(tid) for tid in sorted(implants))\r\n            row = {'setName': setName, 'gradeName': gradeName, 'implants': implants}\r\n            data.append(row)\r\n        _addRows(data, eos.gamedata.ImplantSet)\r\n\r\n    eveTypesData = processEveTypes()\r\n    eveGroupsData = processEveGroups()\r\n    processEveCategories()\r\n    processDogmaAttributes()\r\n    dogmaTypeAttributesData = processDogmaTypeAttributes(eveTypesData)\r\n    processDynamicItemAttributes()\r\n    processDogmaEffects()\r\n    dogmaTypeEffectsData = processDogmaTypeEffects(eveTypesData)\r\n    processDogmaUnits()\r\n    processMarketGroups()\r\n    processMetaGroups()\r\n    processCloneGrades()\r\n    processTraits()\r\n    processMetadata()\r\n\r\n    eos.db.gamedata_session.flush()\r\n    processReqSkills(eveTypesData)\r\n    processReplacements(eveTypesData, eveGroupsData, dogmaTypeAttributesData, dogmaTypeEffectsData)\r\n    processImplantSets(eveTypesData)\r\n\r\n    # Add schema version to prevent further updates\r\n    metadata_schema_version = eos.gamedata.MetaData()\r\n    metadata_schema_version.field_name = 'schema_version'\r\n    metadata_schema_version.field_value = GAMEDATA_SCHEMA_VERSION\r\n    eos.db.gamedata_session.add(metadata_schema_version)\r\n\r\n    eos.db.gamedata_session.flush()\r\n\r\n    # CCP still has 5 subsystems assigned to T3Cs, even though only 4 are available / usable. They probably have some\r\n    # old legacy requirement or assumption that makes it difficult for them to change this value in the data. But for\r\n    # pyfa, we can do it here as a post-processing step\r\n    for attr in eos.db.gamedata_session.query(eos.gamedata.Attribute).filter(eos.gamedata.Attribute.ID == 1367).all():\r\n        attr.value = 4.0\r\n    for item in eos.db.gamedata_session.query(eos.gamedata.Item).filter(or_(\r\n        eos.gamedata.Item.name.like('%abyssal%'),\r\n        eos.gamedata.Item.name.like('%mutated%'),\r\n        eos.gamedata.Item.name.like('%_PLACEHOLDER%'),\r\n        # Drifter weapons are published for some reason\r\n        eos.gamedata.Item.name.in_(('Lux Kontos', 'Lux Xiphos', 'Lux Ballistra', 'Lux Kopis'))\r\n    )).all():\r\n        if 'Asteroid Mining Crystal' in item.name:\r\n            continue\r\n        if 'Mutated Drone Specialization' in item.name:\r\n            continue\r\n        item.published = False\r\n\r\n    for x in [\r\n        30  # Apparel\r\n    ]:\r\n        cat = eos.db.gamedata_session.query(eos.gamedata.Category).filter(eos.gamedata.Category.ID == x).first()\r\n        print ('Removing Category: {}'.format(cat.name))\r\n        eos.db.gamedata_session.delete(cat)\r\n\r\n    # Unused normally, can be useful for customizing items\r\n    def _copyItem(srcName, tgtTypeID, tgtName):\r\n        eveType = eos.db.gamedata_session.query(eos.gamedata.Item).filter(eos.gamedata.Item.name == srcName).one()\r\n        eos.db.gamedata_session.expunge(eveType)\r\n        sqlalchemy.orm.make_transient(eveType)\r\n        eveType.ID = tgtTypeID\r\n        for suffix in eos.config.translation_mapping.values():\r\n            setattr(eveType, f'typeName{suffix}', tgtName)\r\n        eos.db.gamedata_session.add(eveType)\r\n        eos.db.gamedata_session.flush()\r\n\r\n    def _hardcodeAttribs(typeID, attrMap):\r\n        for attrName, value in attrMap.items():\r\n            try:\r\n                attr = eos.db.gamedata_session.query(eos.gamedata.Attribute).filter(and_(\r\n                    eos.gamedata.Attribute.name == attrName, eos.gamedata.Attribute.typeID == typeID)).one()\r\n            except sqlalchemy.orm.exc.NoResultFound:\r\n                attrInfo = eos.db.gamedata_session.query(eos.gamedata.AttributeInfo).filter(eos.gamedata.AttributeInfo.name == attrName).one()\r\n                attr = eos.gamedata.Attribute()\r\n                attr.attributeID = attrInfo.ID\r\n                attr.typeID = typeID\r\n                attr.value = value\r\n                eos.db.gamedata_session.add(attr)\r\n            else:\r\n                attr.value = value\r\n\r\n    def _hardcodeEffects(typeID, effectMap, clearEffects=True):\r\n        item = eos.db.gamedata_session.query(eos.gamedata.Item).filter(eos.gamedata.Item.ID == typeID).one()\r\n        if clearEffects:\r\n            item.effects.clear()\r\n        for effectID, effectName in effectMap.items():\r\n            try:\r\n                effect = eos.db.gamedata_session.query(eos.gamedata.Effect).filter(eos.gamedata.Effect.ID == effectID).one()\r\n            except sqlalchemy.orm.exc.NoResultFound:\r\n                effect = eos.gamedata.Effect()\r\n                effect.effectID = effectID\r\n                effect.effectName = effectName\r\n            item.effects[effectName] = effect\r\n\r\n    def hardcodeSuppressionTackleRange():\r\n        beaconTypeID = 79839\r\n        attrMap = {\r\n            'warfareBuff1ID': 2405,\r\n            'warfareBuff1Value': 10}\r\n        effectMap = {100000: 'pyfaCustomSuppressionTackleRange'}\r\n        _hardcodeAttribs(beaconTypeID, attrMap)\r\n        _hardcodeEffects(beaconTypeID, effectMap)\r\n        eos.db.gamedata_session.flush()\r\n\r\n    def hardcodeSovUpgradeBuffs():\r\n        typeBuffMap = {\r\n            # Gamma\r\n            87815: {\r\n                'warfareBuff1ID': 2433,\r\n                'warfareBuff1Value': 5,\r\n                'warfareBuff2ID': 2434,\r\n                'warfareBuff2Value': 10,\r\n                'warfareBuff3ID': 2441,\r\n                'warfareBuff3Value': 5},\r\n            # Plasma\r\n            87949: {\r\n                'warfareBuff1ID': 2442,\r\n                'warfareBuff1Value': 5,\r\n                'warfareBuff2ID': 2435,\r\n                'warfareBuff2Value': 5,\r\n                'warfareBuff3ID': 2436,\r\n                'warfareBuff3Value': 10},\r\n            # Electric\r\n            87950: {\r\n                'warfareBuff1ID': 2437,\r\n                'warfareBuff1Value': -25,\r\n                'warfareBuff2ID': 2438,\r\n                'warfareBuff2Value': 25},\r\n            # Exotic\r\n            87951: {\r\n                'warfareBuff1ID': 2440,\r\n                'warfareBuff1Value': 2,\r\n                'warfareBuff2ID': 2439,\r\n                'warfareBuff2Value': 25}}\r\n        effectMap = {100001: 'pyfaCustomSovUpgradeBuffEffect'}\r\n        for typeID, attrMap in typeBuffMap.items():\r\n            _hardcodeAttribs(typeID, attrMap)\r\n            _hardcodeEffects(typeID, effectMap, clearEffects=False)\r\n            eos.db.gamedata_session.flush()\r\n\r\n    def hardcodeTrigSystemEffects():\r\n        typeBuffMap = {\r\n            # Final Liminality / Pochven\r\n            87164: ('Final Liminality', {\r\n                'warfareBuff1ID': 2534,\r\n                'warfareBuff1Value': -50,\r\n                'warfareBuff2ID': 2535,\r\n                'warfareBuff2Value': -30,\r\n                'warfareBuff3ID': 2538,\r\n                'warfareBuff3Value': 30,\r\n                'warfareBuff4ID': 2539,\r\n                'warfareBuff4Value': 30}),\r\n            # Minor Victory\r\n            87177: ('Triglavian Minor Victory', {\r\n                'warfareBuff1ID': 2534,\r\n                'warfareBuff1Value': -50,\r\n                'warfareBuff2ID': 2538,\r\n                'warfareBuff2Value': 15,\r\n                'warfareBuff3ID': 2539,\r\n                'warfareBuff3Value': 15})}\r\n        effectMap = {100002: 'pyfaCustomTrigSystemBuffEffect'}\r\n        for typeID, (name, attrMap) in typeBuffMap.items():\r\n            item = eos.db.gamedata_session.query(eos.gamedata.Item).filter(eos.gamedata.Item.ID == typeID).one()\r\n            item.published = True\r\n            item.name = name\r\n            _hardcodeAttribs(typeID, attrMap)\r\n            _hardcodeEffects(typeID, effectMap, clearEffects=True)\r\n            eos.db.gamedata_session.flush()\r\n\r\n\r\n    def hardcodeShapash():\r\n        shapashTypeID = 1000000\r\n        _copyItem(srcName='Utu', tgtTypeID=shapashTypeID, tgtName='Shapash')\r\n        attrMap = {\r\n            # Fitting\r\n            'powerOutput': 50,\r\n            'cpuOutput': 225,\r\n            'capacitorCapacity': 420,\r\n            'rechargeRate': 187500,\r\n            # Slots\r\n            'hiSlots': 3,\r\n            'medSlots': 4,\r\n            'lowSlots': 4,\r\n            'launcherSlotsLeft': 0,\r\n            'turretSlotsLeft': 3,\r\n            # Rigs\r\n            'rigSlots': 2,\r\n            'rigSize': 1,\r\n            'upgradeCapacity': 400,\r\n            # Shield\r\n            'shieldCapacity': 575,\r\n            'shieldRechargeRate': 625000,\r\n            'shieldEmDamageResonance': 1 - 0.0,\r\n            'shieldThermalDamageResonance': 1 - 0.6,\r\n            'shieldKineticDamageResonance': 1 - 0.85,\r\n            'shieldExplosiveDamageResonance': 1 - 0.5,\r\n            # Armor\r\n            'armorHP': 1015,\r\n            'armorEmDamageResonance': 1 - 0.5,\r\n            'armorThermalDamageResonance': 1 - 0.675,\r\n            'armorKineticDamageResonance': 1 - 0.8375,\r\n            'armorExplosiveDamageResonance': 1 - 0.1,\r\n            # Structure\r\n            'hp': 1274,\r\n            'emDamageResonance': 1 - 0.33,\r\n            'thermalDamageResonance': 1 - 0.33,\r\n            'kineticDamageResonance': 1 - 0.33,\r\n            'explosiveDamageResonance': 1 - 0.33,\r\n            'mass': 1215000,\r\n            'volume': 29500,\r\n            'capacity': 165,\r\n            # Navigation\r\n            'maxVelocity': 325,\r\n            'agility': 3.467,\r\n            'warpSpeedMultiplier': 5.5,\r\n            # Drones\r\n            'droneCapacity': 75,\r\n            'droneBandwidth': 25,\r\n            # Targeting\r\n            'maxTargetRange': 49000,\r\n            'maxLockedTargets': 6,\r\n            'scanRadarStrength': 0,\r\n            'scanLadarStrength': 0,\r\n            'scanMagnetometricStrength': 9,\r\n            'scanGravimetricStrength': 0,\r\n            'signatureRadius': 39,\r\n            'scanResolution': 550,\r\n            # Misc\r\n            'energyWarfareResistance': 0,\r\n            'stasisWebifierResistance': 0,\r\n            'weaponDisruptionResistance': 0}\r\n        effectMap = {\r\n            100100: 'pyfaCustomShapashAfArAmount',\r\n            100101: 'pyfaCustomShapashAfShtTrackingOptimal',\r\n            100102: 'pyfaCustomShapashGfShtDamage',\r\n            100103: 'pyfaCustomShapashGfPointRange',\r\n            100104: 'pyfaCustomShapashGfPropOverheat',\r\n            100105: 'pyfaCustomShapashRolePlateMass',\r\n            100106: 'pyfaCustomShapashRoleHeat'}\r\n        _hardcodeAttribs(shapashTypeID, attrMap)\r\n        _hardcodeEffects(shapashTypeID, effectMap)\r\n\r\n    def hardcodeCybele():\r\n        cybeleTypeID = 1000001\r\n        _copyItem(srcName='Adrestia', tgtTypeID=cybeleTypeID, tgtName='Cybele')\r\n        attrMap = {\r\n            # Fitting\r\n            'powerOutput': 1284,\r\n            'cpuOutput': 400,\r\n            'capacitorCapacity': 2400,\r\n            'rechargeRate': 334000,\r\n            'hiSlots': 5,\r\n            'medSlots': 4,\r\n            'lowSlots': 6,\r\n            'launcherSlotsLeft': 0,\r\n            'turretSlotsLeft': 5,\r\n            # Rigs\r\n            'rigSlots': 2,\r\n            'rigSize': 2,\r\n            'upgradeCapacity': 400,\r\n            # Shield\r\n            'shieldCapacity': 1200,\r\n            'shieldRechargeRate': 1250000,\r\n            'shieldEmDamageResonance': 1 - 0.0,\r\n            'shieldThermalDamageResonance': 1 - 0.5,\r\n            'shieldKineticDamageResonance': 1 - 0.9,\r\n            'shieldExplosiveDamageResonance': 1 - 0.5,\r\n            # Armor\r\n            'armorHP': 1900,\r\n            'armorEmDamageResonance': 1 - 0.5,\r\n            'armorThermalDamageResonance': 1 - 0.69,\r\n            'armorKineticDamageResonance': 1 - 0.85,\r\n            'armorExplosiveDamageResonance': 1 - 0.1,\r\n            # Structure\r\n            'hp': 2300,\r\n            'emDamageResonance': 1 - 0.33,\r\n            'thermalDamageResonance': 1 - 0.33,\r\n            'kineticDamageResonance': 1 - 0.33,\r\n            'explosiveDamageResonance': 1 - 0.33,\r\n            'mass': 11100000,\r\n            'volume': 112000,\r\n            'capacity': 450,\r\n            # Navigation\r\n            'maxVelocity': 235,\r\n            'agility': 0.457,\r\n            'warpSpeedMultiplier': 4.5,\r\n            # Drones\r\n            'droneCapacity': 100,\r\n            'droneBandwidth': 50,\r\n            # Targeting\r\n            'maxTargetRange': 60000,\r\n            'maxLockedTargets': 6,\r\n            'scanRadarStrength': 0,\r\n            'scanLadarStrength': 0,\r\n            'scanMagnetometricStrength': 15,\r\n            'scanGravimetricStrength': 0,\r\n            'signatureRadius': 115,\r\n            'scanResolution': 330,\r\n            # Misc\r\n            'energyWarfareResistance': 0,\r\n            'stasisWebifierResistance': 0,\r\n            'weaponDisruptionResistance': 0}\r\n        effectMap = {\r\n            100200: 'pyfaCustomCybeleHacMhtFalloff',\r\n            100201: 'pyfaCustomCybeleHacMhtTracking',\r\n            100202: 'pyfaCustomCybeleGcMhtDamage',\r\n            100203: 'pyfaCustomCybeleGcArAmount',\r\n            100204: 'pyfaCustomCybeleGcPointRange',\r\n            100205: 'pyfaCustomCybeleRoleVelocity',\r\n            100206: 'pyfaCustomCybeleRolePlateMass'}\r\n        _hardcodeAttribs(cybeleTypeID, attrMap)\r\n        _hardcodeEffects(cybeleTypeID, effectMap)\r\n\r\n    hardcodeSuppressionTackleRange()\r\n    hardcodeSovUpgradeBuffs()\r\n    hardcodeTrigSystemEffects()\r\n\r\n    eos.db.gamedata_session.commit()\r\n    eos.db.gamedata_engine.execute('VACUUM')\r\n\r\n    print('done')\r\n\r\n\r\nif __name__ == '__main__':\r\n    update_db()\r\n"
  },
  {
    "path": "dist_assets/cacert.pem",
    "content": "\n# Issuer: O=Equifax OU=Equifax Secure Certificate Authority\n# Subject: O=Equifax OU=Equifax Secure Certificate Authority\n# Label: \"Equifax Secure CA\"\n# Serial: 903804111\n# MD5 Fingerprint: 67:cb:9d:c0:13:24:8a:82:9b:b2:17:1e:d1:1b:ec:d4\n# SHA1 Fingerprint: d2:32:09:ad:23:d3:14:23:21:74:e4:0d:7f:9d:62:13:97:86:63:3a\n# SHA256 Fingerprint: 08:29:7a:40:47:db:a2:36:80:c7:31:db:6e:31:76:53:ca:78:48:e1:be:bd:3a:0b:01:79:a7:07:f9:2c:f1:78\n-----BEGIN CERTIFICATE-----\nMIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV\nUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy\ndGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1\nMVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx\ndWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B\nAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f\nBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A\ncJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC\nAwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ\nMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm\naWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw\nODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj\nIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF\nMAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA\nA4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y\n7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh\n1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4\n-----END CERTIFICATE-----\n\n# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA\n# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA\n# Label: \"GlobalSign Root CA\"\n# Serial: 4835703278459707669005204\n# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a\n# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c\n# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99\n-----BEGIN CERTIFICATE-----\nMIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG\nA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv\nb3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw\nMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i\nYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT\naWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ\njc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp\nxy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp\n1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG\nsnUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ\nU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8\n9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E\nBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B\nAQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz\nyj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE\n38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP\nAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad\nDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME\nHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\n-----END CERTIFICATE-----\n\n# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2\n# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2\n# Label: \"GlobalSign Root CA - R2\"\n# Serial: 4835703278459682885658125\n# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30\n# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe\n# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e\n-----BEGIN CERTIFICATE-----\nMIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G\nA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp\nZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1\nMDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG\nA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL\nv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8\neoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq\ntTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd\nC9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa\nzq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB\nmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH\nV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n\nbG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG\n3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs\nJ0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO\n291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS\not+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd\nAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7\nTBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==\n-----END CERTIFICATE-----\n\n# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only\n# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only\n# Label: \"Verisign Class 3 Public Primary Certification Authority - G3\"\n# Serial: 206684696279472310254277870180966723415\n# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09\n# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6\n# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44\n-----BEGIN CERTIFICATE-----\nMIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw\nCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl\ncmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu\nLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT\naWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD\nVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT\naWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ\nbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu\nIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg\nLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b\nN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t\nKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu\nkxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm\nCC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ\nXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu\nimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te\n2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe\nDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC\n/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p\nF4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt\nTxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==\n-----END CERTIFICATE-----\n\n# Issuer: CN=VeriSign Class 4 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only\n# Subject: CN=VeriSign Class 4 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only\n# Label: \"Verisign Class 4 Public Primary Certification Authority - G3\"\n# Serial: 314531972711909413743075096039378935511\n# MD5 Fingerprint: db:c8:f2:27:2e:b1:ea:6a:29:23:5d:fe:56:3e:33:df\n# SHA1 Fingerprint: c8:ec:8c:87:92:69:cb:4b:ab:39:e9:8d:7e:57:67:f3:14:95:73:9d\n# SHA256 Fingerprint: e3:89:36:0d:0f:db:ae:b3:d2:50:58:4b:47:30:31:4e:22:2f:39:c1:56:a0:20:14:4e:8d:96:05:61:79:15:06\n-----BEGIN CERTIFICATE-----\nMIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQsw\nCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl\ncmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu\nLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT\naWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD\nVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT\naWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ\nbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu\nIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg\nLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK3LpRFpxlmr8Y+1\nGQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaStBO3IFsJ\n+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0Gbd\nU6LM8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLm\nNxdLMEYH5IBtptiWLugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XY\nufTsgsbSPZUd5cBPhMnZo0QoBmrXRazwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/\nky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAj/ola09b5KROJ1WrIhVZPMq1\nCtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXttmhwwjIDLk5Mq\ng6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm\nfjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c\n2NU8Qh0XwRJdRTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/\nbLvSHgCwIe34QWKCudiyxLtGUPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited\n# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited\n# Label: \"Entrust.net Premium 2048 Secure Server CA\"\n# Serial: 946069240\n# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90\n# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31\n# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77\n-----BEGIN CERTIFICATE-----\nMIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML\nRW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp\nbmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5\nIEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp\nZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3\nMjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3\nLmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp\nYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG\nA1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq\nK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe\nsYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX\nMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT\nXTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/\nHoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH\n4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV\nHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub\nj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo\nU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf\nzX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b\nu/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+\nbYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er\nfF6adulZkMV8gzURZVE=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust\n# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust\n# Label: \"Baltimore CyberTrust Root\"\n# Serial: 33554617\n# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4\n# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74\n# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb\n-----BEGIN CERTIFICATE-----\nMIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ\nRTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD\nVQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX\nDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y\nZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy\nVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr\nmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr\nIZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK\nmpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu\nXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy\ndc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye\njl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1\nBE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3\nDQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92\n9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx\njkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0\nEpn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz\nksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS\nR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp\n-----END CERTIFICATE-----\n\n# Issuer: CN=AddTrust Class 1 CA Root O=AddTrust AB OU=AddTrust TTP Network\n# Subject: CN=AddTrust Class 1 CA Root O=AddTrust AB OU=AddTrust TTP Network\n# Label: \"AddTrust Low-Value Services Root\"\n# Serial: 1\n# MD5 Fingerprint: 1e:42:95:02:33:92:6b:b9:5f:c0:7f:da:d6:b2:4b:fc\n# SHA1 Fingerprint: cc:ab:0e:a0:4c:23:01:d6:69:7b:dd:37:9f:cd:12:eb:24:e3:94:9d\n# SHA256 Fingerprint: 8c:72:09:27:9a:c0:4e:27:5e:16:d0:7f:d3:b7:75:e8:01:54:b5:96:80:46:e3:1f:52:dd:25:76:63:24:e9:a7\n-----BEGIN CERTIFICATE-----\nMIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU\nMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3\nb3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw\nMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML\nQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD\nVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul\nCDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n\ntGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl\ndI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch\nPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC\n+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O\nBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E\nBTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl\nMQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk\nZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB\nIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X\n7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz\n43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY\neDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl\npz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA\nWiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=\n-----END CERTIFICATE-----\n\n# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network\n# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network\n# Label: \"AddTrust External Root\"\n# Serial: 1\n# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f\n# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68\n# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2\n-----BEGIN CERTIFICATE-----\nMIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU\nMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs\nIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290\nMB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux\nFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h\nbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v\ndDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt\nH7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9\nuMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX\nmk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX\na0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN\nE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0\nWicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD\nVR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0\nJvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU\ncnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx\nIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN\nAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH\nYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5\n6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC\nNr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX\nc4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a\nmnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=\n-----END CERTIFICATE-----\n\n# Issuer: CN=AddTrust Public CA Root O=AddTrust AB OU=AddTrust TTP Network\n# Subject: CN=AddTrust Public CA Root O=AddTrust AB OU=AddTrust TTP Network\n# Label: \"AddTrust Public Services Root\"\n# Serial: 1\n# MD5 Fingerprint: c1:62:3e:23:c5:82:73:9c:03:59:4b:2b:e9:77:49:7f\n# SHA1 Fingerprint: 2a:b6:28:48:5e:78:fb:f3:ad:9e:79:10:dd:6b:df:99:72:2c:96:e5\n# SHA256 Fingerprint: 07:91:ca:07:49:b2:07:82:aa:d3:c7:d7:bd:0c:df:c9:48:58:35:84:3e:b2:d7:99:60:09:ce:43:ab:6c:69:27\n-----BEGIN CERTIFICATE-----\nMIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEU\nMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3\nb3JrMSAwHgYDVQQDExdBZGRUcnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAx\nMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtB\nZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIDAeBgNV\nBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV\n6tsfSlbunyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nX\nGCwwfQ56HmIexkvA/X1id9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnP\ndzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSGAa2Il+tmzV7R/9x98oTaunet3IAIx6eH\n1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAwHM+A+WD+eeSI8t0A65RF\n62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0GA1UdDgQW\nBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUw\nAwEB/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDEL\nMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRU\ncnVzdCBUVFAgTmV0d29yazEgMB4GA1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJv\nb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4JNojVhaTdt02KLmuG7jD8WS6\nIBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL+YPoRNWyQSW/\niHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao\nGEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh\n4SINhwBk/ox9Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQm\nXiLsks3/QppEIW1cxeMiHV9HEufOX1362KqxMy3ZdvJOOjMMK7MtkAY=\n-----END CERTIFICATE-----\n\n# Issuer: CN=AddTrust Qualified CA Root O=AddTrust AB OU=AddTrust TTP Network\n# Subject: CN=AddTrust Qualified CA Root O=AddTrust AB OU=AddTrust TTP Network\n# Label: \"AddTrust Qualified Certificates Root\"\n# Serial: 1\n# MD5 Fingerprint: 27:ec:39:47:cd:da:5a:af:e2:9a:01:65:21:a9:4c:bb\n# SHA1 Fingerprint: 4d:23:78:ec:91:95:39:b5:00:7f:75:8f:03:3b:21:1e:c5:4d:8b:cf\n# SHA256 Fingerprint: 80:95:21:08:05:db:4b:bc:35:5e:44:28:d8:fd:6e:c2:cd:e3:ab:5f:b9:7a:99:42:98:8e:b8:f4:dc:d0:60:16\n-----BEGIN CERTIFICATE-----\nMIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEU\nMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3\nb3JrMSMwIQYDVQQDExpBZGRUcnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1\nMzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcxCzAJBgNVBAYTAlNFMRQwEgYDVQQK\nEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIzAh\nBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG9w0B\nAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwq\nxBb/4Oxx64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G\n87B4pfYOQnrjfxvM0PC3KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i\n2O+tCBGaKZnhqkRFmhJePp1tUvznoD1oL/BLcHwTOK28FSXx1s6rosAx1i+f4P8U\nWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GRwVY18BTcZTYJbqukB8c1\n0cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HUMIHRMB0G\nA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0T\nAQH/BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6Fr\npGkwZzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQL\nExRBZGRUcnVzdCBUVFAgTmV0d29yazEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlm\naWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBABmrder4i2VhlRO6aQTv\nhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxGGuoYQ992zPlm\nhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X\ndgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3\nP6CxB9bpT9zeRXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9Y\niQBCYz95OdBEsIJuQRno3eDBiFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5no\nxqE=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc.\n# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc.\n# Label: \"Entrust Root Certification Authority\"\n# Serial: 1164660820\n# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4\n# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9\n# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c\n-----BEGIN CERTIFICATE-----\nMIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC\nVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0\nLm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW\nKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl\ncnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw\nNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw\nNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy\nZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV\nBAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo\nNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4\n4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9\nKlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI\nrb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi\n94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB\nsDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi\ngA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo\nkORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE\nvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA\nA4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t\nO1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua\nAGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP\n9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/\neu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m\n0vdXcDazv/wor3ElhVsT/h5/WrQ8\n-----END CERTIFICATE-----\n\n# Issuer: O=RSA Security Inc OU=RSA Security 2048 V3\n# Subject: O=RSA Security Inc OU=RSA Security 2048 V3\n# Label: \"RSA Security 2048 v3\"\n# Serial: 13297492616345471454730593562152402946\n# MD5 Fingerprint: 77:0d:19:b1:21:fd:00:42:9c:3e:0c:a5:dd:0b:02:8e\n# SHA1 Fingerprint: 25:01:90:19:cf:fb:d9:99:1c:b7:68:25:74:8d:94:5f:30:93:95:42\n# SHA256 Fingerprint: af:8b:67:62:a1:e5:28:22:81:61:a9:5d:5c:55:9e:e2:66:27:8f:75:d7:9e:83:01:89:a5:03:50:6a:bd:6b:4c\n-----BEGIN CERTIFICATE-----\nMIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6\nMRkwFwYDVQQKExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJp\ndHkgMjA0OCBWMzAeFw0wMTAyMjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAX\nBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAbBgNVBAsTFFJTQSBTZWN1cml0eSAy\nMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt49VcdKA3Xtp\neafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7Jylg\n/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGl\nwSMiuLgbWhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnh\nAMFRD0xS+ARaqn1y07iHKrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2\nPcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpu\nAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB\nBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4EFgQUB8NR\nMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYc\nHnmYv/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/\nZb5gEydxiKRz44Rj0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+\nf00/FGj1EVDVwfSQpQgdMWD/YIwjVAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVO\nrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395nzIlQnQFgCi/vcEkllgVsRch\n6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kApKnXwiJPZ9d3\n7CAFYd4=\n-----END CERTIFICATE-----\n\n# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc.\n# Subject: CN=GeoTrust Global CA O=GeoTrust Inc.\n# Label: \"GeoTrust Global CA\"\n# Serial: 144470\n# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5\n# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12\n# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a\n-----BEGIN CERTIFICATE-----\nMIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT\nMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i\nYWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG\nEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg\nR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9\n9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq\nfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv\niS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU\n1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+\nbw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW\nMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA\nephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l\nuMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn\nZ57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS\ntQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF\nPseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un\nhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV\n5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==\n-----END CERTIFICATE-----\n\n# Issuer: CN=GeoTrust Global CA 2 O=GeoTrust Inc.\n# Subject: CN=GeoTrust Global CA 2 O=GeoTrust Inc.\n# Label: \"GeoTrust Global CA 2\"\n# Serial: 1\n# MD5 Fingerprint: 0e:40:a7:6c:de:03:5d:8f:d1:0f:e4:d1:8d:f9:6c:a9\n# SHA1 Fingerprint: a9:e9:78:08:14:37:58:88:f2:05:19:b0:6d:2b:0d:2b:60:16:90:7d\n# SHA256 Fingerprint: ca:2d:82:a0:86:77:07:2f:8a:b6:76:4f:f0:35:67:6c:fe:3e:5e:32:5e:01:21:72:df:3f:92:09:6d:b7:9b:85\n-----BEGIN CERTIFICATE-----\nMIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEW\nMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFs\nIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQG\nEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg\nR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvPE1A\nPRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/NTL8\nY2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hL\nTytCOb1kLUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL\n5mkWRxHCJ1kDs6ZgwiFAVvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7\nS4wMcoKK+xfNAGw6EzywhIdLFnopsk/bHdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe\n2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE\nFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNHK266ZUap\nEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6td\nEPx7srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv\n/NgdRN3ggX+d6YvhZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywN\nA0ZF66D0f0hExghAzN4bcLUprbqLOzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0\nabby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkCx1YAzUm5s2x7UwQa4qjJqhIF\nI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqFH4z1Ir+rzoPz\n4iIprn2DQKi6bA==\n-----END CERTIFICATE-----\n\n# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc.\n# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc.\n# Label: \"GeoTrust Universal CA\"\n# Serial: 1\n# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48\n# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79\n# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12\n-----BEGIN CERTIFICATE-----\nMIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW\nMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy\nc2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE\nBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0\nIFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV\nVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8\ncQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT\nQjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh\nF7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v\nc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w\nmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd\nVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX\nteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ\nf9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe\nBi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+\nnhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB\n/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY\nMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG\n9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc\naanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX\nIwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn\nANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z\nuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN\nPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja\nQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW\nkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9\nER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt\nDF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm\nbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw=\n-----END CERTIFICATE-----\n\n# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc.\n# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc.\n# Label: \"GeoTrust Universal CA 2\"\n# Serial: 1\n# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7\n# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79\n# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b\n-----BEGIN CERTIFICATE-----\nMIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW\nMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy\nc2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD\nVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1\nc3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC\nAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81\nWzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG\nFF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq\nXbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL\nse4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb\nKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd\nIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73\ny/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt\nhAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc\nQIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4\nLt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV\nHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV\nHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ\nKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z\ndXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ\nL1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr\nFg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo\nag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY\nT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz\nGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m\n1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV\nOCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH\n6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX\nQMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS\n-----END CERTIFICATE-----\n\n# Issuer: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association\n# Subject: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association\n# Label: \"Visa eCommerce Root\"\n# Serial: 25952180776285836048024890241505565794\n# MD5 Fingerprint: fc:11:b8:d8:08:93:30:00:6d:23:f9:7e:eb:52:1e:02\n# SHA1 Fingerprint: 70:17:9b:86:8c:00:a4:fa:60:91:52:22:3f:9f:3e:32:bd:e0:05:62\n# SHA256 Fingerprint: 69:fa:c9:bd:55:fb:0a:c7:8d:53:bb:ee:5c:f1:d5:97:98:9f:d0:aa:ab:20:a2:51:51:bd:f1:73:3e:e7:d1:22\n-----BEGIN CERTIFICATE-----\nMIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBr\nMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRl\ncm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv\nbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2WhcNMjIwNjI0MDAxNjEyWjBrMQsw\nCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5h\ndGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1l\ncmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h\n2mCxlCfLF9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4E\nlpF7sDPwsRROEW+1QK8bRaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdV\nZqW1LS7YgFmypw23RuwhY/81q6UCzyr0TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq\n299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI/k4+oKsGGelT84ATB+0t\nvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzsGHxBvfaL\ndXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD\nAgEGMB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUF\nAAOCAQEAX/FBfXxcCLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcR\nzCSs00Rsca4BIGsDoo8Ytyk6feUWYFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3\nLBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pzzkWKsKZJ/0x9nXGIxHYdkFsd\n7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBuYQa7FkKMcPcw\n++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt\n398znM/jra6O1I7mT1GvFpLgXPYHDw==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Certum CA O=Unizeto Sp. z o.o.\n# Subject: CN=Certum CA O=Unizeto Sp. z o.o.\n# Label: \"Certum Root CA\"\n# Serial: 65568\n# MD5 Fingerprint: 2c:8f:9f:66:1d:18:90:b1:47:26:9d:8e:86:82:8c:a9\n# SHA1 Fingerprint: 62:52:dc:40:f7:11:43:a2:2f:de:9e:f7:34:8e:06:42:51:b1:81:18\n# SHA256 Fingerprint: d8:e0:fe:bc:1d:b2:e3:8d:00:94:0f:37:d2:7d:41:34:4d:99:3e:73:4b:99:d5:65:6d:97:78:d4:d8:14:36:24\n-----BEGIN CERTIFICATE-----\nMIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM\nMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD\nQTAeFw0wMjA2MTExMDQ2MzlaFw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBM\nMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD\nQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6xwS7TT3zNJc4YPk/E\njG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdLkKWo\nePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GI\nULdtlkIJ89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapu\nOb7kky/ZR6By6/qmW6/KUz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUg\nAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7PNSzVttpd90gzFFS269lvzs2I1qsb2pY7\nHVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA\nuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+GXYkHAQa\nTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTg\nxSvgGrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1q\nCjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x\nO/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs\n6GAqm4VKQPNriiTsBhYscw==\n-----END CERTIFICATE-----\n\n# Issuer: CN=AAA Certificate Services O=Comodo CA Limited\n# Subject: CN=AAA Certificate Services O=Comodo CA Limited\n# Label: \"Comodo AAA Services root\"\n# Serial: 1\n# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0\n# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49\n# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4\n-----BEGIN CERTIFICATE-----\nMIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb\nMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow\nGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj\nYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL\nMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE\nBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM\nGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP\nADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua\nBtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe\n3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4\nYgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR\nrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm\nez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU\noBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF\nMAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v\nQUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t\nb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF\nAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q\nGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz\nRt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2\nG9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi\nl2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3\nsmPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Secure Certificate Services O=Comodo CA Limited\n# Subject: CN=Secure Certificate Services O=Comodo CA Limited\n# Label: \"Comodo Secure Services root\"\n# Serial: 1\n# MD5 Fingerprint: d3:d9:bd:ae:9f:ac:67:24:b3:c8:1b:52:e1:b9:a9:bd\n# SHA1 Fingerprint: 4a:65:d5:f4:1d:ef:39:b8:b8:90:4a:4a:d3:64:81:33:cf:c7:a1:d1\n# SHA256 Fingerprint: bd:81:ce:3b:4f:65:91:d1:1a:67:b5:fc:7a:47:fd:ef:25:52:1b:f9:aa:4e:18:b9:e3:df:2e:34:a7:80:3b:e8\n-----BEGIN CERTIFICATE-----\nMIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEb\nMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow\nGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRp\nZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVow\nfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G\nA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAiBgNV\nBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEB\nBQADggEPADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPM\ncm3ye5drswfxdySRXyWP9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3S\nHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstcrbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996\nCF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rCoznl2yY4rYsK7hljxxwk\n3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3Vp6ea5EQz\n6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNV\nHQ4EFgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1Ud\nEwEB/wQFMAMBAf8wgYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2Rv\nY2EuY29tL1NlY3VyZUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRw\nOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmww\nDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm4J4oqF7Tt/Q0\n5qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj\nZ55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtI\ngKvcnDe4IRRLDXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJ\naD61JlfutuC23bkpgHl9j6PwpCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDl\nizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1HRR3B7Hzs/Sk=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Trusted Certificate Services O=Comodo CA Limited\n# Subject: CN=Trusted Certificate Services O=Comodo CA Limited\n# Label: \"Comodo Trusted Services root\"\n# Serial: 1\n# MD5 Fingerprint: 91:1b:3f:6e:cd:9e:ab:ee:07:fe:1f:71:d2:b3:61:27\n# SHA1 Fingerprint: e1:9f:e3:0e:8b:84:60:9e:80:9b:17:0d:72:a8:c5:ba:6e:14:09:bd\n# SHA256 Fingerprint: 3f:06:e5:56:81:d4:96:f5:be:16:9e:b5:38:9f:9f:2b:8f:f6:1e:17:08:df:68:81:72:48:49:cd:5d:27:cb:69\n-----BEGIN CERTIFICATE-----\nMIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEb\nMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow\nGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0\naWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEwMDAwMDBaFw0yODEyMzEyMzU5NTla\nMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO\nBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUwIwYD\nVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0B\nAQEFAAOCAQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWW\nfnJSoBVC21ndZHoa0Lh73TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMt\nTGo87IvDktJTdyR0nAducPy9C1t2ul/y/9c3S0pgePfw+spwtOpZqqPOSC+pw7IL\nfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6juljatEPmsbS9Is6FARW\n1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsSivnkBbA7\nkUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0G\nA1UdDgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYD\nVR0TAQH/BAUwAwEB/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21v\nZG9jYS5jb20vVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRo\ndHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMu\nY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8NtwuleGFTQQuS9/\nHrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32\npSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxIS\njBc/lDb+XbDABHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+\nxqFx7D+gIIxmOom0jtTYsU0lR+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/Atyjcn\ndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O9y5Xt5hwXsjEeLBi\n-----END CERTIFICATE-----\n\n# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority\n# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority\n# Label: \"QuoVadis Root CA\"\n# Serial: 985026699\n# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24\n# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9\n# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73\n-----BEGIN CERTIFICATE-----\nMIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC\nTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0\naWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0\naWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz\nMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw\nIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR\ndW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp\nli4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D\nrOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ\nWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug\nF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU\nxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC\nAk4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv\ndmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw\nggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl\nIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh\nc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy\nZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh\nY3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI\nKwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T\nKbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq\ny+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p\ndGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD\nVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL\nMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk\nfnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8\n7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R\ncHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y\nmQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW\nxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK\nSnQ2+Q==\n-----END CERTIFICATE-----\n\n# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited\n# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited\n# Label: \"QuoVadis Root CA 2\"\n# Serial: 1289\n# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b\n# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7\n# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86\n-----BEGIN CERTIFICATE-----\nMIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x\nGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv\nb3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV\nBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W\nYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa\nGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg\nFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J\nWpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB\nrrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp\n+ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1\nksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i\nUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz\nPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og\n/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH\noycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI\nyV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud\nEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2\nA8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL\nMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT\nElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f\nBluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn\ng/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl\nfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K\nWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha\nB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc\nhLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR\nTUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD\nmbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z\nohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y\n4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza\n8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u\n-----END CERTIFICATE-----\n\n# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited\n# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited\n# Label: \"QuoVadis Root CA 3\"\n# Serial: 1478\n# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf\n# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85\n# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35\n-----BEGIN CERTIFICATE-----\nMIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x\nGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv\nb3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV\nBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W\nYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM\nV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB\n4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr\nH556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd\n8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv\nvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT\nmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe\nbtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc\nT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt\nWAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ\nc6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A\n4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD\nVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG\nCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0\naXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0\naWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu\ndC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw\nczALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G\nA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC\nTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg\nUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0\n7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem\nd1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd\n+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B\n4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN\nt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x\nDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57\nk8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s\nzHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j\nWy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT\nmJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK\n4SVhM7JZG+Ju1zdXtg2pEto=\n-----END CERTIFICATE-----\n\n# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1\n# Subject: O=SECOM Trust.net OU=Security Communication RootCA1\n# Label: \"Security Communication Root CA\"\n# Serial: 0\n# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a\n# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7\n# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c\n-----BEGIN CERTIFICATE-----\nMIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY\nMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t\ndW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5\nWjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD\nVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3\nDQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8\n9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ\nDKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9\nMs+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N\nQV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ\nxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G\nA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T\nAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG\nkl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr\nUj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5\nBw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU\nJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot\nRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Sonera Class2 CA O=Sonera\n# Subject: CN=Sonera Class2 CA O=Sonera\n# Label: \"Sonera Class 2 Root CA\"\n# Serial: 29\n# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb\n# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27\n# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27\n-----BEGIN CERTIFICATE-----\nMIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP\nMA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx\nMDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV\nBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o\nZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt\n5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s\n3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej\nvOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu\n8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw\nDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG\nMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil\nzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/\n3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD\nFNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6\nTk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2\nZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M\n-----END CERTIFICATE-----\n\n# Issuer: CN=Staat der Nederlanden Root CA O=Staat der Nederlanden\n# Subject: CN=Staat der Nederlanden Root CA O=Staat der Nederlanden\n# Label: \"Staat der Nederlanden Root CA\"\n# Serial: 10000010\n# MD5 Fingerprint: 60:84:7c:5a:ce:db:0c:d4:cb:a7:e9:fe:02:c6:a9:c0\n# SHA1 Fingerprint: 10:1d:fa:3f:d5:0b:cb:bb:9b:b5:60:0c:19:55:a4:1a:f4:73:3a:04\n# SHA256 Fingerprint: d4:1d:82:9e:8c:16:59:82:2a:f9:3f:ce:62:bf:fc:de:26:4f:c8:4e:8b:95:0c:5f:f2:75:d0:52:35:46:95:a3\n-----BEGIN CERTIFICATE-----\nMIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJO\nTDEeMBwGA1UEChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFh\ndCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEy\nMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4wHAYDVQQKExVTdGFhdCBkZXIgTmVk\nZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxhbmRlbiBSb290IENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFtvszn\nExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw71\n9tV2U02PjLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MO\nhXeiD+EwR+4A5zN9RGcaC1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+U\ntFE5A3+y3qcym7RHjm+0Sq7lr7HcsBthvJly3uSJt3omXdozSVtSnA71iq3DuD3o\nBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn622r+I/q85Ej0ZytqERAh\nSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRVHSAAMDww\nOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMv\ncm9vdC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA\n7Jbg0zTBLL9s+DANBgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k\n/rvuFbQvBgwp8qiSpGEN/KtcCFtREytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzm\neafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbwMVcoEoJz6TMvplW0C5GUR5z6\nu3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3ynGQI0DvDKcWy\n7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR\niJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==\n-----END CERTIFICATE-----\n\n# Issuer: CN=UTN - DATACorp SGC O=The USERTRUST Network OU=http://www.usertrust.com\n# Subject: CN=UTN - DATACorp SGC O=The USERTRUST Network OU=http://www.usertrust.com\n# Label: \"UTN DATACorp SGC Root CA\"\n# Serial: 91374294542884689855167577680241077609\n# MD5 Fingerprint: b3:a5:3e:77:21:6d:ac:4a:c0:c9:fb:d5:41:3d:ca:06\n# SHA1 Fingerprint: 58:11:9f:0e:12:82:87:ea:50:fd:d9:87:45:6f:4f:78:dc:fa:d6:d4\n# SHA256 Fingerprint: 85:fb:2f:91:dd:12:27:5a:01:45:b6:36:53:4f:84:02:4a:d6:8b:69:b8:ee:88:68:4f:f7:11:37:58:05:b3:48\n-----BEGIN CERTIFICATE-----\nMIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCB\nkzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug\nQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho\ndHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3Jw\nIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBaMIGTMQswCQYDVQQG\nEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYD\nVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cu\ndXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6\nE5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ysraP6LnD43m77VkIVni5c7yPeIbkFdicZ\nD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlowHDyUwDAXlCCpVZvNvlK\n4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA9P4yPykq\nlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulW\nbfXv33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQAB\no4GrMIGoMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRT\nMtGzz3/64PGgXYVOktKeRR20TzA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3Js\nLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dDLmNybDAqBgNVHSUEIzAhBggr\nBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3DQEBBQUAA4IB\nAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft\nGzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyj\nj98C5OBxOvG0I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVH\nKWss5nbZqSl9Mt3JNjy9rjXxEZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv\n2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwPDPafepE39peC4N1xaf92P2BNPM/3\nmfnGV/TJVTl4uix5yaaIK/QI\n-----END CERTIFICATE-----\n\n# Issuer: CN=UTN-USERFirst-Hardware O=The USERTRUST Network OU=http://www.usertrust.com\n# Subject: CN=UTN-USERFirst-Hardware O=The USERTRUST Network OU=http://www.usertrust.com\n# Label: \"UTN USERFirst Hardware Root CA\"\n# Serial: 91374294542884704022267039221184531197\n# MD5 Fingerprint: 4c:56:41:e5:0d:bb:2b:e8:ca:a3:ed:18:08:ad:43:39\n# SHA1 Fingerprint: 04:83:ed:33:99:ac:36:08:05:87:22:ed:bc:5e:46:00:e3:be:f9:d7\n# SHA256 Fingerprint: 6e:a5:47:41:d0:04:66:7e:ed:1b:48:16:63:4a:a3:a7:9e:6e:4b:96:95:0f:82:79:da:fc:8d:9b:d8:81:21:37\n-----BEGIN CERTIFICATE-----\nMIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB\nlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug\nQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho\ndHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt\nSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG\nA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe\nMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v\nd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh\ncmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn\n0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ\nM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a\nMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd\noI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI\nDsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy\noUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD\nVR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0\ndHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy\nbDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF\nBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM\n//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli\nCE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE\nCJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t\n3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS\nKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Chambers of Commerce Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org\n# Subject: CN=Chambers of Commerce Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org\n# Label: \"Camerfirma Chambers of Commerce Root\"\n# Serial: 0\n# MD5 Fingerprint: b0:01:ee:14:d9:af:29:18:94:76:8e:f1:69:33:2a:84\n# SHA1 Fingerprint: 6e:3a:55:a4:19:0c:19:5c:93:84:3c:c0:db:72:2e:31:30:61:f0:b1\n# SHA256 Fingerprint: 0c:25:8a:12:a5:67:4a:ef:25:f2:8b:a7:dc:fa:ec:ee:a3:48:e5:41:e6:f5:cc:4e:e6:3b:71:b3:61:60:6a:c3\n-----BEGIN CERTIFICATE-----\nMIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEn\nMCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL\nExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMg\nb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAxNjEzNDNaFw0zNzA5MzAxNjEzNDRa\nMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZpcm1hIFNBIENJRiBB\nODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3JnMSIw\nIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0B\nAQEFAAOCAQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtb\nunXF/KGIJPov7coISjlUxFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0d\nBmpAPrMMhe5cG3nCYsS4No41XQEMIwRHNaqbYE6gZj3LJgqcQKH0XZi/caulAGgq\n7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jWDA+wWFjbw2Y3npuRVDM3\n0pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFVd9oKDMyX\nroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIG\nA1UdEwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5j\naGFtYmVyc2lnbi5vcmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p\n26EpW1eLTXYGduHRooowDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIA\nBzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hhbWJlcnNpZ24ub3JnMCcGA1Ud\nEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYDVR0gBFEwTzBN\nBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz\naWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEB\nAAxBl8IahsAifJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZd\np0AJPaxJRUXcLo0waLIJuvvDL8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi\n1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wNUPf6s+xCX6ndbcj0dc97wXImsQEc\nXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/nADydb47kMgkdTXg0\neDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1erfu\ntGWaIZDgqtCYvDi1czyL+Nw=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Global Chambersign Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org\n# Subject: CN=Global Chambersign Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org\n# Label: \"Camerfirma Global Chambersign Root\"\n# Serial: 0\n# MD5 Fingerprint: c5:e6:7b:bf:06:d0:4f:43:ed:c4:7a:65:8a:fb:6b:19\n# SHA1 Fingerprint: 33:9b:6b:14:50:24:9b:55:7a:01:87:72:84:d9:e0:2f:c3:d2:d8:e9\n# SHA256 Fingerprint: ef:3c:b4:17:fc:8e:bf:6f:97:87:6c:9e:4e:ce:39:de:1e:a5:fe:64:91:41:d1:02:8b:7d:11:c0:b2:29:8c:ed\n-----BEGIN CERTIFICATE-----\nMIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEn\nMCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL\nExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENo\nYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYxNDE4WhcNMzcwOTMwMTYxNDE4WjB9\nMQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgy\nNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEgMB4G\nA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUA\nA4IBDQAwggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0\nMi+ITaFgCPS3CU6gSS9J1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/s\nQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8Oby4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpV\neAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl6DJWk0aJqCWKZQbua795\nB9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c8lCrEqWh\nz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0T\nAQH/BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1i\nZXJzaWduLm9yZy9jaGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4w\nTcbOX60Qq+UDpfqpFDAOBgNVHQ8BAf8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAH\nMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBjaGFtYmVyc2lnbi5vcmcwKgYD\nVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9yZzBbBgNVHSAE\nVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh\nbWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0B\nAQUFAAOCAQEAPDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUM\nbKGKfKX0j//U2K0X1S0E0T9YgOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXi\nryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJPJ7oKXqJ1/6v/2j1pReQvayZzKWG\nVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4IBHNfTIzSJRUTN3c\necQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREest2d/\nAYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==\n-----END CERTIFICATE-----\n\n# Issuer: CN=NetLock Kozjegyzoi (Class A) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok\n# Subject: CN=NetLock Kozjegyzoi (Class A) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok\n# Label: \"NetLock Notary (Class A) Root\"\n# Serial: 259\n# MD5 Fingerprint: 86:38:6d:5e:49:63:6c:85:5c:db:6d:dc:94:b7:d0:f7\n# SHA1 Fingerprint: ac:ed:5f:65:53:fd:25:ce:01:5f:1f:7a:48:3b:6a:74:9f:61:78:c6\n# SHA256 Fingerprint: 7f:12:cd:5f:7e:5e:29:0e:c7:d8:51:79:d5:b7:2c:20:a5:be:75:08:ff:db:5b:f8:1a:b9:68:4a:7f:c9:f6:67\n-----BEGIN CERTIFICATE-----\nMIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhV\nMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMe\nTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0\ndmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFzcyBB\nKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oXDTE5MDIxOTIzMTQ0\nN1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhC\ndWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQu\nMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBL\nb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSMD7tM9DceqQWC2ObhbHDqeLVu0ThEDaiD\nzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZz+qMkjvN9wfcZnSX9EUi\n3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC/tmwqcm8\nWgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LY\nOph7tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2Esi\nNCubMvJIH5+hCoR64sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCC\nApswDgYDVR0PAQH/BAQDAgAGMBIGA1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4\nQgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZRUxFTSEgRXplbiB0\nYW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRhdGFz\naSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu\nIEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtm\nZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMg\nZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVs\namFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJhc2EgbWVndGFsYWxoYXRv\nIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBzOi8vd3d3\nLm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6\nZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1\nYW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3Qg\ndG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRs\nb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNAbmV0bG9jay5uZXQuMA0G\nCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5ayZrU3/b39/zcT0mwBQO\nxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjPytoUMaFP\n0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQ\nQeJBCWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxk\nf1qbFFgBJ34TUMdrKuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK\n8CtmdWOMovsEPoMOmzbwGOQmIMOM8CgHrTwXZoi1/baI\n-----END CERTIFICATE-----\n\n# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com\n# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com\n# Label: \"XRamp Global CA Root\"\n# Serial: 107108908803651509692980124233745014957\n# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1\n# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6\n# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2\n-----BEGIN CERTIFICATE-----\nMIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB\ngjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk\nMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY\nUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx\nNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3\ndy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy\ndmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB\ndXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6\n38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP\nKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q\nDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4\nqEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa\nJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi\nPvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P\nBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs\njVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0\neS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD\nggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR\nvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt\nqZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa\nIR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy\ni6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ\nO+7ETPTsJ3xCwnR8gooJybQDJbw=\n-----END CERTIFICATE-----\n\n# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority\n# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority\n# Label: \"Go Daddy Class 2 CA\"\n# Serial: 0\n# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67\n# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4\n# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4\n-----BEGIN CERTIFICATE-----\nMIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh\nMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE\nYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3\nMDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo\nZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg\nMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN\nADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA\nPVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w\nwdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi\nEqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY\navx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+\nYihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE\nsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h\n/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5\nIEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj\nYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD\nggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy\nOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P\nTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ\nHmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER\ndEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf\nReYNnyicsbkqWletNw+vHX/bvZ8=\n-----END CERTIFICATE-----\n\n# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority\n# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority\n# Label: \"Starfield Class 2 CA\"\n# Serial: 0\n# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24\n# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a\n# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58\n-----BEGIN CERTIFICATE-----\nMIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl\nMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp\nU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw\nNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE\nChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp\nZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3\nDQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf\n8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN\n+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0\nX9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa\nK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA\n1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G\nA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR\nzt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0\nYXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD\nbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w\nDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3\nL7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D\neruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl\nxy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp\nVSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY\nWQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=\n-----END CERTIFICATE-----\n\n# Issuer: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing\n# Subject: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing\n# Label: \"StartCom Certification Authority\"\n# Serial: 1\n# MD5 Fingerprint: 22:4d:8f:8a:fc:f7:35:c2:bb:57:34:90:7b:8b:22:16\n# SHA1 Fingerprint: 3e:2b:f7:f2:03:1b:96:f3:8c:e6:c4:d8:a8:5d:3e:2d:58:47:6a:0f\n# SHA256 Fingerprint: c7:66:a9:be:f2:d4:07:1c:86:3a:31:aa:49:20:e8:13:b2:d1:98:60:8c:b7:b7:cf:e2:11:43:b8:36:df:09:ea\n-----BEGIN CERTIFICATE-----\nMIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEW\nMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg\nQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh\ndGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0NjM2WhcNMzYwOTE3MTk0NjM2WjB9\nMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi\nU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh\ncnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA\nA4ICDwAwggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZk\npMyONvg45iPwbm2xPN1yo4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rf\nOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/C\nJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/deMotHweXMAEtcnn6RtYT\nKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt2PZE4XNi\nHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMM\nAv+Z6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w\n+2OqqGwaVLRcJXrJosmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+\nGkhpi8KWTRoSsmkXwQqQ1vp5Iki/untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3\nZzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVcUjyJthkqcwEKDwOzEmDyei+B\n26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT37uMdBNSSwID\nAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE\nFE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9j\nZXJ0LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3Js\nLnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFM\nBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0\nY29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5zdGFy\ndGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3Rh\ncnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlh\nYmlsaXR5LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2Yg\ndGhlIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFp\nbGFibGUgYXQgaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJ\nYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBGcmVlIFNT\nTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAgEAFmyZ\n9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8\njhvh3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUW\nFjgKXlf2Ysd6AgXmvB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJz\newT4F+irsfMuXGRuczE6Eri8sxHkfY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1\nny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3fsNrarnDy0RLrHiQi+fHLB5L\nEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZEoalHmdkrQYu\nL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq\nyvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuC\nO3NJo2pXh5Tl1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6V\num0ABj6y6koQOdjQK/W/7HW/lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkySh\nNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38corog14=\n-----END CERTIFICATE-----\n\n# Issuer: O=Government Root Certification Authority\n# Subject: O=Government Root Certification Authority\n# Label: \"Taiwan GRCA\"\n# Serial: 42023070807708724159991140556527066870\n# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e\n# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9\n# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3\n-----BEGIN CERTIFICATE-----\nMIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/\nMQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj\nYXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow\nPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp\nY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB\nAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR\nIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q\ngQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy\nyhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts\nF/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2\njWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx\nls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC\nVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK\nYS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH\nEgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN\nXo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud\nDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE\nMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK\nUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ\nTulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf\nqzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK\nZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE\nJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7\nhUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1\nEqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm\nnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX\nudpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz\nssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe\nLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl\npYYsfPQS\n-----END CERTIFICATE-----\n\n# Issuer: CN=Swisscom Root CA 1 O=Swisscom OU=Digital Certificate Services\n# Subject: CN=Swisscom Root CA 1 O=Swisscom OU=Digital Certificate Services\n# Label: \"Swisscom Root CA 1\"\n# Serial: 122348795730808398873664200247279986742\n# MD5 Fingerprint: f8:38:7c:77:88:df:2c:16:68:2e:c2:e2:52:4b:b8:f9\n# SHA1 Fingerprint: 5f:3a:fc:0a:8b:64:f6:86:67:34:74:df:7e:a9:a2:fe:f9:fa:7a:51\n# SHA256 Fingerprint: 21:db:20:12:36:60:bb:2e:d4:18:20:5d:a1:1e:e7:a8:5a:65:e2:bc:6e:55:b5:af:7e:78:99:c8:a2:66:d9:2e\n-----BEGIN CERTIFICATE-----\nMIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBk\nMQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0\nYWwgQ2VydGlmaWNhdGUgU2VydmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3Qg\nQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4MTgyMjA2MjBaMGQxCzAJBgNVBAYT\nAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGlnaXRhbCBDZXJ0aWZp\nY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIICIjAN\nBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9\nm2BtRsiMMW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdih\nFvkcxC7mlSpnzNApbjyFNDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/\nTilftKaNXXsLmREDA/7n29uj/x2lzZAeAR81sH8A25Bvxn570e56eqeqDFdvpG3F\nEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkCb6dJtDZd0KTeByy2dbco\nkdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn7uHbHaBu\nHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNF\nvJbNcA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo\n19AOeCMgkckkKmUpWyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjC\nL3UcPX7ape8eYIVpQtPM+GP+HkM5haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJW\nbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNYMUJDLXT5xp6mig/p/r+D5kNX\nJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0hBBYw\nFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j\nBBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzc\nK6FptWfUjNP9MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzf\nky9NfEBWMXrrpA9gzXrzvsMnjgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7Ik\nVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQMbFamIp1TpBcahQq4FJHgmDmHtqB\nsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4HVtA4oJVwIHaM190e\n3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtlvrsR\nls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ip\nmXeascClOS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HH\nb6D0jqTsNFFbjCYDcKF31QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksf\nrK/7DZBaZmBwXarNeNQk7shBoJMBkpxqnvy5JMWzFYJ+vq6VK+uxwNrjAWALXmms\nhFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCyx/yP2FS1k2Kdzs9Z+z0Y\nzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMWNY6E0F/6\nMBr1mmz0DlP5OlvRHA==\n-----END CERTIFICATE-----\n\n# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com\n# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com\n# Label: \"DigiCert Assured ID Root CA\"\n# Serial: 17154717934120587862167794914071425081\n# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72\n# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43\n# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c\n-----BEGIN CERTIFICATE-----\nMIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv\nb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG\nEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl\ncnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c\nJpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP\nmDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+\nwRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4\nVYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/\nAUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB\nAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW\nBBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun\npyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC\ndWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf\nfwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm\nNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx\nH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe\n+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==\n-----END CERTIFICATE-----\n\n# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com\n# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com\n# Label: \"DigiCert Global Root CA\"\n# Serial: 10944719598952040374951832963794454346\n# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e\n# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36\n# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61\n-----BEGIN CERTIFICATE-----\nMIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD\nQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB\nCSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97\nnh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt\n43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P\nT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4\ngdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO\nBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR\nTLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw\nDQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr\nhMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg\n06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF\nPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls\nYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk\nCAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n-----END CERTIFICATE-----\n\n# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com\n# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com\n# Label: \"DigiCert High Assurance EV Root CA\"\n# Serial: 3553400076410547919724730734378100087\n# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a\n# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25\n# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf\n-----BEGIN CERTIFICATE-----\nMIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL\nMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\nLmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug\nRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm\n+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW\nPNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM\nxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB\nIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3\nhzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg\nEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA\nFLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec\nnzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z\neM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF\nhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2\nYzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe\nvEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep\n+OkuE6N36B9K\n-----END CERTIFICATE-----\n\n# Issuer: CN=Class 2 Primary CA O=Certplus\n# Subject: CN=Class 2 Primary CA O=Certplus\n# Label: \"Certplus Class 2 Primary CA\"\n# Serial: 177770208045934040241468760488327595043\n# MD5 Fingerprint: 88:2c:8c:52:b8:a2:3c:f3:f7:bb:03:ea:ae:ac:42:0b\n# SHA1 Fingerprint: 74:20:74:41:72:9c:dd:92:ec:79:31:d8:23:10:8d:c2:81:92:e2:bb\n# SHA256 Fingerprint: 0f:99:3c:8a:ef:97:ba:af:56:87:14:0e:d5:9a:d1:82:1b:b4:af:ac:f0:aa:9a:58:b5:d5:7a:33:8a:3a:fb:cb\n-----BEGIN CERTIFICATE-----\nMIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAw\nPTELMAkGA1UEBhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFz\ncyAyIFByaW1hcnkgQ0EwHhcNOTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9\nMQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2VydHBsdXMxGzAZBgNVBAMTEkNsYXNz\nIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxQ\nltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR5aiR\nVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyL\nkcAbmXuZVg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCd\nEgETjdyAYveVqUSISnFOYFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yas\nH7WLO7dDWWuwJKZtkIvEcupdM5i3y95ee++U8Rs+yskhwcWYAqqi9lt3m/V+llU0\nHGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRMECDAGAQH/AgEKMAsGA1Ud\nDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJYIZIAYb4\nQgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMu\nY29tL0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/\nAN9WM2K191EBkOvDP9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8\nyfFC82x/xXp8HVGIutIKPidd3i1RTtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMR\nFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+7UCmnYR0ObncHoUW2ikbhiMA\nybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW//1IMwrh3KWB\nkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7\nl7+ijrRU\n-----END CERTIFICATE-----\n\n# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co.\n# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co.\n# Label: \"DST Root CA X3\"\n# Serial: 91299735575339953335919266965803778155\n# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5\n# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13\n# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39\n-----BEGIN CERTIFICATE-----\nMIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/\nMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT\nDkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow\nPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD\nEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O\nrz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq\nOLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b\nxiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw\n7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD\naeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV\nHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG\nSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69\nikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr\nAvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz\nR8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5\nJDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo\nOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ\n-----END CERTIFICATE-----\n\n# Issuer: CN=DST ACES CA X6 O=Digital Signature Trust OU=DST ACES\n# Subject: CN=DST ACES CA X6 O=Digital Signature Trust OU=DST ACES\n# Label: \"DST ACES CA X6\"\n# Serial: 17771143917277623872238992636097467865\n# MD5 Fingerprint: 21:d8:4c:82:2b:99:09:33:a2:eb:14:24:8d:8e:5f:e8\n# SHA1 Fingerprint: 40:54:da:6f:1c:3f:40:74:ac:ed:0f:ec:cd:db:79:d1:53:fb:90:1d\n# SHA256 Fingerprint: 76:7c:95:5a:76:41:2c:89:af:68:8e:90:a1:c7:0f:55:6c:fd:6b:60:25:db:ea:10:41:6d:7e:b6:83:1f:8c:40\n-----BEGIN CERTIFICATE-----\nMIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBb\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3Qx\nETAPBgNVBAsTCERTVCBBQ0VTMRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0w\nMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NThaMFsxCzAJBgNVBAYTAlVTMSAwHgYD\nVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UECxMIRFNUIEFDRVMx\nFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A\nMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPu\nktKe1jzIDZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7\ngLFViYsx+tC3dr5BPTCapCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZH\nfAjIgrrep4c9oW24MFbCswKBXy314powGCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4a\nahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPyMjwmR/onJALJfh1biEIT\najV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1UdEwEB/wQF\nMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rk\nc3QuY29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjto\ndHRwOi8vd3d3LnRydXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMt\naW5kZXguaHRtbDAdBgNVHQ4EFgQUCXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZI\nhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V25FYrnJmQ6AgwbN99Pe7lv7Uk\nQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6tFr8hlxCBPeP/\nh40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq\nnExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpR\nrscL9yuwNwXsvFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf2\n9w4LTJxoeHtxMcfrHuBnQfO3oKfN5XozNmr6mis=\n-----END CERTIFICATE-----\n\n# Issuer: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=(c) 2005 TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş.\n# Subject: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=(c) 2005 TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş.\n# Label: \"TURKTRUST Certificate Services Provider Root 1\"\n# Serial: 1\n# MD5 Fingerprint: f1:6a:22:18:c9:cd:df:ce:82:1d:1d:b7:78:5c:a9:a5\n# SHA1 Fingerprint: 79:98:a3:08:e1:4d:65:85:e6:c2:1e:15:3a:71:9f:ba:5a:d3:4a:d9\n# SHA256 Fingerprint: 44:04:e3:3b:5e:14:0d:cf:99:80:51:fd:fc:80:28:c7:c8:16:15:c5:ee:73:7b:11:1b:58:82:33:a9:b5:35:a0\n-----BEGIN CERTIFICATE-----\nMIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOc\nUktUUlVTVCBFbGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sx\nc8SxMQswCQYDVQQGDAJUUjEPMA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykg\nMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8\ndmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMxMDI3MTdaFw0xNTAz\nMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsgU2Vy\ndGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYD\nVQQHDAZBTktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kg\nxLBsZXRpxZ9pbSB2ZSBCaWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEu\nxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7\nXfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GXyGl8hMW0kWxsE2qkVa2k\nheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8iSi9BB35J\nYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5C\nurKZ8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1\nJuTm5Rh8i27fbMx4W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51\nb0dewQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV\n9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46sWrv7/hg0Uw2ZkUd82YCdAR7\nkjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxEq8Sn5RTOPEFh\nfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy\nB0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdA\naLX/7KfS0zgYnNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKS\nRGQDJereW26fyfJOrN3H\n-----END CERTIFICATE-----\n\n# Issuer: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Kasım 2005\n# Subject: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Kasım 2005\n# Label: \"TURKTRUST Certificate Services Provider Root 2\"\n# Serial: 1\n# MD5 Fingerprint: 37:a5:6e:d4:b1:25:84:97:b7:fd:56:15:7a:f9:a2:00\n# SHA1 Fingerprint: b4:35:d4:e1:11:9d:1c:66:90:a7:49:eb:b3:94:bd:63:7b:a7:82:b7\n# SHA256 Fingerprint: c4:70:cf:54:7e:23:02:b9:77:fb:29:dd:71:a8:9a:7b:6c:1f:60:77:7b:03:29:f5:60:17:f3:28:bf:4f:6b:e6\n-----BEGIN CERTIFICATE-----\nMIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOc\nUktUUlVTVCBFbGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sx\nc8SxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xS\nS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kg\nSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcNMDUxMTA3MTAwNzU3\nWhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVrdHJv\nbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJU\nUjEPMA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSw\nbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWe\nLiAoYykgS2FzxLFtIDIwMDUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqeLCDe2JAOCtFp0if7qnef\nJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKIx+XlZEdh\nR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJ\nQv2gQrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGX\nJHpsmxcPbe9TmJEr5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1p\nzpwACPI2/z7woQ8arBT9pmAPAgMBAAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58S\nFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8GA1UdEwEB/wQFMAMBAf8wDQYJ\nKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/nttRbj2hWyfIvwq\nECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4\nJl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFz\ngw2lGh1uEpJ+hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotH\nuFEJjOp9zYhys2AzsfAKRO8P9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LS\ny3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5UrbnBEI=\n-----END CERTIFICATE-----\n\n# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG\n# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG\n# Label: \"SwissSign Gold CA - G2\"\n# Serial: 13492815561806991280\n# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93\n# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61\n# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95\n-----BEGIN CERTIFICATE-----\nMIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV\nBAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2ln\nbiBHb2xkIENBIC0gRzIwHhcNMDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF\nMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMR8wHQYDVQQDExZT\nd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\nCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUqt2/8\n76LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+\nbbqBHH5CjCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c\n6bM8K8vzARO/Ws/BtQpgvd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqE\nemA8atufK+ze3gE/bk3lUIbLtK/tREDFylqM2tIrfKjuvqblCqoOpd8FUrdVxyJd\nMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvRAiTysybUa9oEVeXBCsdt\nMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuendjIj3o02y\nMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69y\nFGkOpeUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi\naG59je883WX0XaxR7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxM\ngI93e2CaHt+28kgeDrpOVG2Y4OGiGqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCB\nqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWyV7\nlqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64OfPAeGZe6Drn\n8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov\nL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe6\n45R88a7A3hfm5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczO\nUYrHUDFu4Up+GC9pWbY9ZIEr44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5\nO1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOfMke6UiI0HTJ6CVanfCU2qT1L2sCC\nbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6mGu6uLftIdxf+u+yv\nGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxpmo/a\n77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCC\nhdiDyyJkvC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid3\n92qgQmwLOM7XdVAyksLfKzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEpp\nLd6leNcG2mqeSz53OiATIgHQv2ieY2BrNU0LbbqhPcCT4H8js1WtciVORvnSFu+w\nZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6LqjviOvrv1vA+ACOzB2+htt\nQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ\n-----END CERTIFICATE-----\n\n# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG\n# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG\n# Label: \"SwissSign Silver CA - G2\"\n# Serial: 5700383053117599563\n# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13\n# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb\n# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5\n-----BEGIN CERTIFICATE-----\nMIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UE\nBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWdu\nIFNpbHZlciBDQSAtIEcyMB4XDTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0Nlow\nRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMY\nU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A\nMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644N0Mv\nFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7br\nYT7QbNHm+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieF\nnbAVlDLaYQ1HTWBCrpJH6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH\n6ATK72oxh9TAtvmUcXtnZLi2kUpCe2UuMGoM9ZDulebyzYLs2aFK7PayS+VFheZt\neJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5hqAaEuSh6XzjZG6k4sIN/\nc8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5FZGkECwJ\nMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRH\nHTBsROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTf\njNFusB3hB48IHpmccelM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb6\n5i/4z3GcRm25xBWNOHkDRUjvxF3XCO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOB\nrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU\nF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRBtjpbO8tFnb0c\nwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0\ncDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIB\nAHPGgeAn0i0P4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShp\nWJHckRE1qTodvBqlYJ7YH39FkWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9\nxCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L3XWgwF15kIwb4FDm3jH+mHtwX6WQ\n2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx/uNncqCxv1yL5PqZ\nIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFaDGi8\naRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2X\nem1ZqSqPe97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQR\ndAtq/gsD/KNVV4n+SsuuWxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/\nOMpXEA29MC/HpeZBoNquBYeaoKRlbEwJDIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+\nhAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ubDgEj8Z+7fNzcbBGXJbLy\ntGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u\n-----END CERTIFICATE-----\n\n# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc.\n# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc.\n# Label: \"GeoTrust Primary Certification Authority\"\n# Serial: 32798226551256963324313806436981982369\n# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf\n# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96\n# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c\n-----BEGIN CERTIFICATE-----\nMIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY\nMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo\nR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx\nMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK\nEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp\nZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9\nAWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA\nZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0\n7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W\nkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI\nmO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ\nKoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1\n6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl\n4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K\noKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj\nUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU\nAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=\n-----END CERTIFICATE-----\n\n# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only\n# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only\n# Label: \"thawte Primary Root CA\"\n# Serial: 69529181992039203566298953787712940909\n# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12\n# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81\n# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f\n-----BEGIN CERTIFICATE-----\nMIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB\nqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf\nQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw\nMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV\nBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw\nNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j\nLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG\nA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\nIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs\nW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta\n3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk\n6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6\nSk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J\nNqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA\nMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP\nr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU\nDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz\nYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX\nxPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2\n/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/\nLHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7\njVaMaA==\n-----END CERTIFICATE-----\n\n# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only\n# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only\n# Label: \"VeriSign Class 3 Public Primary Certification Authority - G5\"\n# Serial: 33037644167568058970164719475676101450\n# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c\n# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5\n# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df\n-----BEGIN CERTIFICATE-----\nMIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB\nyjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\nExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\nU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\nZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\naG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL\nMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\nZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln\nbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp\nU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y\naXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1\nnmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex\nt0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz\nSdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG\nBO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+\nrCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/\nNIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E\nBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH\nBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy\naXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv\nMzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE\np6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y\n5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK\nWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ\n4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N\nhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq\n-----END CERTIFICATE-----\n\n# Issuer: CN=SecureTrust CA O=SecureTrust Corporation\n# Subject: CN=SecureTrust CA O=SecureTrust Corporation\n# Label: \"SecureTrust CA\"\n# Serial: 17199774589125277788362757014266862032\n# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1\n# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11\n# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73\n-----BEGIN CERTIFICATE-----\nMIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz\nMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv\ncnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz\nZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO\n0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao\nwW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj\n7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS\n8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT\nBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB\n/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg\nJYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC\nNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3\n6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/\n3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm\nD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS\nCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR\n3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Secure Global CA O=SecureTrust Corporation\n# Subject: CN=Secure Global CA O=SecureTrust Corporation\n# Label: \"Secure Global CA\"\n# Serial: 9751836167731051554232119481456978597\n# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de\n# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b\n# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69\n-----BEGIN CERTIFICATE-----\nMIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx\nMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg\nQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ\niQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa\n/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ\njnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI\nHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7\nsFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w\ngZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw\nKaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG\nAQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L\nURYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO\nH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm\nI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY\niNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc\nf8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW\n-----END CERTIFICATE-----\n\n# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited\n# Subject: CN=COMODO Certification Authority O=COMODO CA Limited\n# Label: \"COMODO Certification Authority\"\n# Serial: 104350513648249232941998508985834464573\n# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75\n# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b\n# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66\n-----BEGIN CERTIFICATE-----\nMIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB\ngTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G\nA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV\nBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw\nMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl\nYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P\nRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0\naG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3\nUcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI\n2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8\nQ5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp\n+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+\nDT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O\nnKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW\n/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g\nPKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u\nQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY\nSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv\nIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/\nRxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4\nzJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd\nBA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB\nZQ==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C.\n# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C.\n# Label: \"Network Solutions Certificate Authority\"\n# Serial: 116697915152937497490437556386812487904\n# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e\n# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce\n# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c\n-----BEGIN CERTIFICATE-----\nMIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi\nMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu\nMTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp\ndHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV\nUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO\nZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz\nc7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP\nOCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl\nmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF\nBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4\nqY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw\ngZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB\nBjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu\nbmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp\ndHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8\n6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/\nh1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH\n/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv\nwKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN\npGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey\n-----END CERTIFICATE-----\n\n# Issuer: CN=WellsSecure Public Root Certificate Authority O=Wells Fargo WellsSecure OU=Wells Fargo Bank NA\n# Subject: CN=WellsSecure Public Root Certificate Authority O=Wells Fargo WellsSecure OU=Wells Fargo Bank NA\n# Label: \"WellsSecure Public Root Certificate Authority\"\n# Serial: 1\n# MD5 Fingerprint: 15:ac:a5:c2:92:2d:79:bc:e8:7f:cb:67:ed:02:cf:36\n# SHA1 Fingerprint: e7:b4:f6:9d:61:ec:90:69:db:7e:90:a7:40:1a:3c:f4:7d:4f:e8:ee\n# SHA256 Fingerprint: a7:12:72:ae:aa:a3:cf:e8:72:7f:7f:b3:9f:0f:b3:d1:e5:42:6e:90:60:b0:6e:e6:f1:3e:9a:3c:58:33:cd:43\n-----BEGIN CERTIFICATE-----\nMIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMx\nIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxs\ncyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9v\ndCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDcxMjEzMTcwNzU0WhcNMjIxMjE0\nMDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdl\nbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQD\nDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+r\nWxxTkqxtnt3CxC5FlAM1iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjU\nDk/41itMpBb570OYj7OeUt9tkTmPOL13i0Nj67eT/DBMHAGTthP796EfvyXhdDcs\nHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8bJVhHlfXBIEyg1J55oNj\nz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiBK0HmOFaf\nSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/Slwxl\nAgMBAAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqG\nKGh0dHA6Ly9jcmwucGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0P\nAQH/BAQDAgHGMB0GA1UdDgQWBBQmlRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0j\nBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGBi6SBiDCBhTELMAkGA1UEBhMC\nVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNX\nZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg\nUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEB\nALkVsUSRzCPIK0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd\n/ZDJPHV3V3p9+N701NX3leZ0bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pB\nA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSljqHyita04pO2t/caaH/+Xc/77szWn\nk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+esE2fDbbFwRnzVlhE9\niW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJtylv\n2G0xffX8oRAHh84vWdw+WNs=\n-----END CERTIFICATE-----\n\n# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited\n# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited\n# Label: \"COMODO ECC Certification Authority\"\n# Serial: 41578283867086692638256921589707938090\n# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23\n# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11\n# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7\n-----BEGIN CERTIFICATE-----\nMIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL\nMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE\nBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT\nIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw\nMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy\nZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N\nT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv\nbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR\nFtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J\ncfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW\nBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/\nBAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm\nfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv\nGDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=\n-----END CERTIFICATE-----\n\n# Issuer: CN=IGC/A O=PM/SGDN OU=DCSSI\n# Subject: CN=IGC/A O=PM/SGDN OU=DCSSI\n# Label: \"IGC/A\"\n# Serial: 245102874772\n# MD5 Fingerprint: 0c:7f:dd:6a:f4:2a:b9:c8:9b:bd:20:7e:a9:db:5c:37\n# SHA1 Fingerprint: 60:d6:89:74:b5:c2:65:9e:8a:0f:c1:88:7c:88:d2:46:69:1b:18:2c\n# SHA256 Fingerprint: b9:be:a7:86:0a:96:2e:a3:61:1d:ab:97:ab:6d:a3:e2:1c:10:68:b9:7d:55:57:5e:d0:e1:12:79:c1:1c:89:32\n-----BEGIN CERTIFICATE-----\nMIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYT\nAkZSMQ8wDQYDVQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQ\nTS9TR0ROMQ4wDAYDVQQLEwVEQ1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG\n9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMB4XDTAyMTIxMzE0MjkyM1oXDTIw\nMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQIEwZGcmFuY2UxDjAM\nBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NTSTEO\nMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2\nLmZyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaI\ns9z4iPf930Pfeo2aSVz2TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2\nxtgv2pGqaMVy/hcKshd+ebUyiHDKcMCWSo7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4\nu0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYyHF2fYPepraX/z9E0+X1b\nF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNdfrGoRpAx\nVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGd\nPDPQtQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNV\nHSAEDjAMMAoGCCqBegF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAx\nNjAfBgNVHSMEGDAWgBSjBS8YYFDCiQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUF\nAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RKq89toB9RlPhJy3Q2FLwV3duJ\nL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3QMZsyK10XZZOY\nYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg\nCrpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2a\nNjSaTFR+FwNIlQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R\n0982gaEbeC9xs/FZTEYYKKuF0mBWWg==\n-----END CERTIFICATE-----\n\n# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication EV RootCA1\n# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication EV RootCA1\n# Label: \"Security Communication EV RootCA1\"\n# Serial: 0\n# MD5 Fingerprint: 22:2d:a6:01:ea:7c:0a:f7:f0:6c:56:43:3f:77:76:d3\n# SHA1 Fingerprint: fe:b8:c4:32:dc:f9:76:9a:ce:ae:3d:d8:90:8f:fd:28:86:65:64:7d\n# SHA256 Fingerprint: a2:2d:ba:68:1e:97:37:6e:2d:39:7d:72:8a:ae:3a:9b:62:96:b9:fd:ba:60:bc:2e:11:f6:47:f2:c6:75:fb:37\n-----BEGIN CERTIFICATE-----\nMIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDEl\nMCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMh\nU2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIz\nMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09N\nIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNlY3VyaXR5IENvbW11\nbmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSE\nRMqm4miO/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gO\nzXppFodEtZDkBp2uoQSXWHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5\nbmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4zZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDF\nMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4bepJz11sS6/vmsJWXMY1\nVkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK9U2vP9eC\nOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0G\nCSqGSIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HW\ntWS3irO4G8za+6xmiEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZ\nq51ihPZRwSzJIxXYKLerJRO1RuGGAv8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDb\nEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnWmHyojf6GPgcWkuF75x3sM3Z+\nQi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEWT1MKZPlO9L9O\nVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490\n-----END CERTIFICATE-----\n\n# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed\n# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed\n# Label: \"OISTE WISeKey Global Root GA CA\"\n# Serial: 86718877871133159090080555911823548314\n# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93\n# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9\n# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5\n-----BEGIN CERTIFICATE-----\nMIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB\nijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly\naWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl\nZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w\nNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G\nA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD\nVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX\nSVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A\nMIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR\nVVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2\nw93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF\nmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg\n4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9\n4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw\nDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw\nEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx\nSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2\nftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8\nvPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa\nhNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi\nFj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ\n/L7fCg0=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Microsec e-Szigno Root CA O=Microsec Ltd. OU=e-Szigno CA\n# Subject: CN=Microsec e-Szigno Root CA O=Microsec Ltd. OU=e-Szigno CA\n# Label: \"Microsec e-Szigno Root CA\"\n# Serial: 272122594155480254301341951808045322001\n# MD5 Fingerprint: f0:96:b6:2f:c5:10:d5:67:8e:83:25:32:e8:5e:2e:e5\n# SHA1 Fingerprint: 23:88:c9:d3:71:cc:9e:96:3d:ff:7d:3c:a7:ce:fc:d6:25:ec:19:0d\n# SHA256 Fingerprint: 32:7a:3d:76:1a:ba:de:a0:34:eb:99:84:06:27:5c:b1:a4:77:6e:fd:ae:2f:df:6d:01:68:ea:1c:4f:55:67:d0\n-----BEGIN CERTIFICATE-----\nMIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAw\ncjELMAkGA1UEBhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNy\nb3NlYyBMdGQuMRQwEgYDVQQLEwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9z\nZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0MDYxMjI4NDRaFw0xNzA0MDYxMjI4\nNDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEWMBQGA1UEChMN\nTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMTGU1p\nY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw\nggEKAoIBAQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2u\nuO/TEdyB5s87lozWbxXGd36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+\nLMsvfUh6PXX5qqAnu3jCBspRwn5mS6/NoqdNAoI/gqyFxuEPkEeZlApxcpMqyabA\nvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjcQR/Ji3HWVBTji1R4P770\nYjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJPqW+jqpx\n62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcB\nAQRbMFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3Aw\nLQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAP\nBgNVHRMBAf8EBTADAQH/MIIBcwYDVR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIB\nAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3LmUtc3ppZ25vLmh1L1NaU1ov\nMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0AdAB2AOEAbgB5\nACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn\nAGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABT\nAHoAbwBsAGcA4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABh\nACAAcwB6AGUAcgBpAG4AdAAgAGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABo\nAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMAegBpAGcAbgBvAC4AaAB1AC8AUwBa\nAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6Ly93d3cuZS1zemln\nbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NOPU1p\nY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxP\nPU1pY3Jvc2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZv\nY2F0aW9uTGlzdDtiaW5hcnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuB\nEGluZm9AZS1zemlnbm8uaHWkdzB1MSMwIQYDVQQDDBpNaWNyb3NlYyBlLVN6aWdu\nw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhTWjEWMBQGA1UEChMNTWlj\ncm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhVMIGsBgNV\nHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJI\nVTERMA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDAS\nBgNVBAsTC2UtU3ppZ25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBS\nb290IENBghEAzLjnv04pGv2i3GalHCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS\n8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMTnGZjWS7KXHAM/IO8VbH0jgds\nZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FEaGAHQzAxQmHl\n7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a\n86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfR\nhUZLphK3dehKyVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/\nMPMMNz7UwiiAc7EBt51alhQBS6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Certigna O=Dhimyotis\n# Subject: CN=Certigna O=Dhimyotis\n# Label: \"Certigna\"\n# Serial: 18364802974209362175\n# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff\n# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97\n# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d\n-----BEGIN CERTIFICATE-----\nMIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV\nBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X\nDTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ\nBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3\nDQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4\nQCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny\ngQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw\nzBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q\n130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2\nJsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw\nDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw\nZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT\nAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj\nAQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG\n9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h\nbV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc\nfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu\nHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w\nt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw\nWyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==\n-----END CERTIFICATE-----\n\n# Issuer: CN=TC TrustCenter Class 2 CA II O=TC TrustCenter GmbH OU=TC TrustCenter Class 2 CA\n# Subject: CN=TC TrustCenter Class 2 CA II O=TC TrustCenter GmbH OU=TC TrustCenter Class 2 CA\n# Label: \"TC TrustCenter Class 2 CA II\"\n# Serial: 941389028203453866782103406992443\n# MD5 Fingerprint: ce:78:33:5c:59:78:01:6e:18:ea:b9:36:a0:b9:2e:23\n# SHA1 Fingerprint: ae:50:83:ed:7c:f4:5c:bc:8f:61:c6:21:fe:68:5d:79:42:21:15:6e\n# SHA256 Fingerprint: e6:b8:f8:76:64:85:f8:07:ae:7f:8d:ac:16:70:46:1f:07:c0:a1:3e:ef:3a:1f:f7:17:53:8d:7a:ba:d3:91:b4\n-----BEGIN CERTIFICATE-----\nMIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjEL\nMAkGA1UEBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNV\nBAsTGVRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0\nQ2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYwMTEyMTQzODQzWhcNMjUxMjMxMjI1\nOTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1c3RDZW50ZXIgR21i\nSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UEAxMc\nVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jf\ntMjWQ+nEdVl//OEd+DFwIxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKg\nuNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2J\nXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQXa7pIXSSTYtZgo+U4+lK\n8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7uSNQZu+99\n5OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1Ud\nEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3\nkUrL84J6E1wIqzCB7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRy\ndXN0Y2VudGVyLmRlL2NybC92Mi90Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6\nLy93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBUcnVzdENlbnRlciUyMENsYXNz\nJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21iSCxPVT1yb290\nY2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u\nTGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iS\nGNn3Bzn1LL4GdXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprt\nZjluS5TmVfwLG4t3wVMTZonZKNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8\nau0WOB9/WIFaGusyiC2y8zl3gK9etmF1KdsjTYjKUCjLhdLTEKJZbtOTVAB6okaV\nhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kPJOzHdiEoZa5X6AeI\ndUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfkvQ==\n-----END CERTIFICATE-----\n\n# Issuer: CN=TC TrustCenter Universal CA I O=TC TrustCenter GmbH OU=TC TrustCenter Universal CA\n# Subject: CN=TC TrustCenter Universal CA I O=TC TrustCenter GmbH OU=TC TrustCenter Universal CA\n# Label: \"TC TrustCenter Universal CA I\"\n# Serial: 601024842042189035295619584734726\n# MD5 Fingerprint: 45:e1:a5:72:c5:a9:36:64:40:9e:f5:e4:58:84:67:8c\n# SHA1 Fingerprint: 6b:2f:34:ad:89:58:be:62:fd:b0:6b:5c:ce:bb:9d:d9:4f:4e:39:f3\n# SHA256 Fingerprint: eb:f3:c0:2a:87:89:b1:fb:7d:51:19:95:d6:63:b7:29:06:d9:13:ce:0d:5e:10:56:8a:8a:77:e2:58:61:67:e7\n-----BEGIN CERTIFICATE-----\nMIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTEL\nMAkGA1UEBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNV\nBAsTG1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1\nc3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcNMDYwMzIyMTU1NDI4WhcNMjUxMjMx\nMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1c3RDZW50ZXIg\nR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYwJAYD\nVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSR\nJJZ4Hgmgm5qVSkr1YnwCqMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3T\nfCZdzHd55yx4Oagmcw6iXSVphU9VDprvxrlE4Vc93x9UIuVvZaozhDrzznq+VZeu\njRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtwag+1m7Z3W0hZneTvWq3z\nwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9OgdwZu5GQ\nfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYD\nVR0jBBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAO\nBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0G\nCSqGSIb3DQEBBQUAA4IBAQAo0uCG1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X1\n7caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/CyvwbZ71q+s2IhtNerNXxTPqYn\n8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3ghUJGooWMNjs\nydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT\nujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/\n2TYcuiUaUj0a7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY\n-----END CERTIFICATE-----\n\n# Issuer: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center\n# Subject: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center\n# Label: \"Deutsche Telekom Root CA 2\"\n# Serial: 38\n# MD5 Fingerprint: 74:01:4a:91:b1:08:c4:58:ce:47:cd:f0:dd:11:53:08\n# SHA1 Fingerprint: 85:a4:08:c0:9c:19:3e:5d:51:58:7d:cd:d6:13:30:fd:8c:de:37:bf\n# SHA256 Fingerprint: b6:19:1a:50:d0:c3:97:7f:7d:a9:9b:cd:aa:c8:6a:22:7d:ae:b9:67:9e:c7:0b:a3:b0:c9:d9:22:71:c1:70:d3\n-----BEGIN CERTIFICATE-----\nMIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEc\nMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2Vj\nIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENB\nIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJE\nRTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxl\nU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290\nIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEU\nha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhC\nQN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr\nrFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1S\nNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0moc\nQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoH\ntxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAP\nBgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC\nAQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756Abrsp\ntJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpa\nIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juwzTkZmDLl\n6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+\nxbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU\nCm26OWMohpLzGITY+9HPBVZkVw==\n-----END CERTIFICATE-----\n\n# Issuer: CN=ComSign Secured CA O=ComSign\n# Subject: CN=ComSign Secured CA O=ComSign\n# Label: \"ComSign Secured CA\"\n# Serial: 264725503855295744117309814499492384489\n# MD5 Fingerprint: 40:01:25:06:8d:21:43:6a:0e:43:00:9c:e7:43:f3:d5\n# SHA1 Fingerprint: f9:cd:0e:2c:da:76:24:c1:8f:bd:f0:f0:ab:b6:45:b8:f7:fe:d5:7a\n# SHA256 Fingerprint: 50:79:41:c7:44:60:a0:b4:70:86:22:0d:4e:99:32:57:2a:b5:d1:b5:bb:cb:89:80:ab:1c:b1:76:51:a8:44:d2\n-----BEGIN CERTIFICATE-----\nMIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAw\nPDEbMBkGA1UEAxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWdu\nMQswCQYDVQQGEwJJTDAeFw0wNDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwx\nGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBDQTEQMA4GA1UEChMHQ29tU2lnbjEL\nMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGtWhf\nHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs49oh\ngHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sW\nv+bznkqH7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ue\nMv5WJDmyVIRD9YTC2LxBkMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr\n9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d19guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt\n6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUwAwEB/zBEBgNVHR8EPTA7\nMDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29tU2lnblNl\nY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58\nADsAj8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkq\nhkiG9w0BAQUFAAOCAQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7p\niL1DRYHjZiM/EoZNGeQFsOY3wo3aBijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtC\ndsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtpFhpFfTMDZflScZAmlaxMDPWL\nkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP51qJThRv4zdL\nhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz\nOjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc\n# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc\n# Label: \"Cybertrust Global Root\"\n# Serial: 4835703278459682877484360\n# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1\n# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6\n# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3\n-----BEGIN CERTIFICATE-----\nMIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG\nA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh\nbCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE\nChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS\nb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5\n7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS\nJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y\nHLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP\nt3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz\nFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY\nXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/\nMB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw\nhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js\nMB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA\nA4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj\nWqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx\nXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o\nomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc\nA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW\nWL1WMRJOEcgh4LMRkWXbtKaIOM5V\n-----END CERTIFICATE-----\n\n# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority\n# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority\n# Label: \"ePKI Root Certification Authority\"\n# Serial: 28956088682735189655030529057352760477\n# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3\n# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0\n# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5\n-----BEGIN CERTIFICATE-----\nMIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe\nMQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0\nZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe\nFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw\nIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL\nSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF\nAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH\nSyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh\nijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X\nDZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1\nTBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ\nfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA\nsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU\nWH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS\nnT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH\ndmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip\nNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC\nAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF\nMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH\nClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB\nuvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl\nPwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP\nJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/\ngpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2\nj6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6\n5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB\no2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS\n/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z\nGp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE\nW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D\nhNQ+IIX3Sj0rnP0qCglN6oH4EZw=\n-----END CERTIFICATE-----\n\n# Issuer: CN=TÜBİTAK UEKAE Kök Sertifika Hizmet Sağlayıcısı - Sürüm 3 O=Türkiye Bilimsel ve Teknolojik Araştırma Kurumu - TÜBİTAK OU=Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü - UEKAE/Kamu Sertifikasyon Merkezi\n# Subject: CN=TÜBİTAK UEKAE Kök Sertifika Hizmet Sağlayıcısı - Sürüm 3 O=Türkiye Bilimsel ve Teknolojik Araştırma Kurumu - TÜBİTAK OU=Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü - UEKAE/Kamu Sertifikasyon Merkezi\n# Label: \"T\\xc3\\x9c\\x42\\xC4\\xB0TAK UEKAE K\\xC3\\xB6k Sertifika Hizmet Sa\\xC4\\x9Flay\\xc4\\xb1\\x63\\xc4\\xb1s\\xc4\\xb1 - S\\xC3\\xBCr\\xC3\\xBCm 3\"\n# Serial: 17\n# MD5 Fingerprint: ed:41:f5:8c:50:c5:2b:9c:73:e6:ee:6c:eb:c2:a8:26\n# SHA1 Fingerprint: 1b:4b:39:61:26:27:6b:64:91:a2:68:6d:d7:02:43:21:2d:1f:1d:96\n# SHA256 Fingerprint: e4:c7:34:30:d7:a5:b5:09:25:df:43:37:0a:0d:21:6e:9a:79:b9:d6:db:83:73:a0:c6:9e:b1:cc:31:c7:c5:2a\n-----BEGIN CERTIFICATE-----\nMIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRS\nMRgwFgYDVQQHDA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJp\nbGltc2VsIHZlIFRla25vbG9qaWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSw\nVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ryb25payB2ZSBLcmlwdG9sb2ppIEFy\nYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNVBAsMGkthbXUgU2Vy\ndGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUgS8O2\nayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAe\nFw0wNzA4MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIx\nGDAWBgNVBAcMD0dlYnplIC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmls\naW1zZWwgdmUgVGVrbm9sb2ppayBBcmHFn3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBU\nQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZlIEtyaXB0b2xvamkgQXJh\nxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2FtdSBTZXJ0\naWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7Zr\nIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4h\ngb46ezzb8R1Sf1n68yJMlaCQvEhOEav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yK\nO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1xnnRFDDtG1hba+818qEhTsXO\nfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR6Oqeyjh1jmKw\nlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL\nhmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQID\nAQABo0IwQDAdBgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/\nBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmP\nNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4N5EY3ATIZJkrGG2AA1nJrvhY0D7t\nwyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLTy9LQQfMmNkqblWwM\n7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYhLBOh\ngLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5n\noN+J1q2MdqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUs\nyZyQ2uypQjyttgI=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Buypass Class 2 CA 1 O=Buypass AS-983163327\n# Subject: CN=Buypass Class 2 CA 1 O=Buypass AS-983163327\n# Label: \"Buypass Class 2 CA 1\"\n# Serial: 1\n# MD5 Fingerprint: b8:08:9a:f0:03:cc:1b:0d:c8:6c:0b:76:a1:75:64:23\n# SHA1 Fingerprint: a0:a1:ab:90:c9:fc:84:7b:3b:12:61:e8:97:7d:5f:d3:22:61:d3:cc\n# SHA256 Fingerprint: 0f:4e:9c:dd:26:4b:02:55:50:d1:70:80:63:40:21:4f:e9:44:34:c9:b0:2f:69:7e:c7:10:fc:5f:ea:fb:5e:38\n-----BEGIN CERTIFICATE-----\nMIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEd\nMBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3Mg\nQ2xhc3MgMiBDQSAxMB4XDTA2MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzEL\nMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MR0wGwYD\nVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP\nADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7McXA0\nojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLX\nl18xoS830r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVB\nHfCuuCkslFJgNJQ72uA40Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B\n5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/RuFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3\nWNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNCMEAwDwYDVR0TAQH/BAUw\nAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0PAQH/BAQD\nAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLP\ngcIV1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+\nDKhQ7SLHrQVMdvvt7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKu\nBctN518fV4bVIJwo+28TOPX2EZL2fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHs\nh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5wwDX3OaJdZtB7WZ+oRxKaJyOk\nLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho\n-----END CERTIFICATE-----\n\n# Issuer: CN=Buypass Class 3 CA 1 O=Buypass AS-983163327\n# Subject: CN=Buypass Class 3 CA 1 O=Buypass AS-983163327\n# Label: \"Buypass Class 3 CA 1\"\n# Serial: 2\n# MD5 Fingerprint: df:3c:73:59:81:e7:39:50:81:04:4c:34:a2:cb:b3:7b\n# SHA1 Fingerprint: 61:57:3a:11:df:0e:d8:7e:d5:92:65:22:ea:d0:56:d7:44:b3:23:71\n# SHA256 Fingerprint: b7:b1:2b:17:1f:82:1d:aa:99:0c:d0:fe:50:87:b1:28:44:8b:a8:e5:18:4f:84:c5:1e:02:b5:c8:fb:96:2b:24\n-----BEGIN CERTIFICATE-----\nMIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEd\nMBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3Mg\nQ2xhc3MgMyBDQSAxMB4XDTA1MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzEL\nMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MR0wGwYD\nVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP\nADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKxifZg\nisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//z\nNIqeKNc0n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI\n+MkcVyzwPX6UvCWThOiaAJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2R\nhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+\nmbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNCMEAwDwYDVR0TAQH/BAUw\nAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0PAQH/BAQD\nAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFP\nBdy7pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27s\nEzNxZy5p+qksP2bAEllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2\nmSlf56oBzKwzqBwKu5HEA6BvtjT5htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yC\ne/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQjel/wroQk5PMr+4okoyeYZdow\ndXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915\n-----END CERTIFICATE-----\n\n# Issuer: CN=EBG Elektronik Sertifika Hizmet Sağlayıcısı O=EBG Bilişim Teknolojileri ve Hizmetleri A.Ş.\n# Subject: CN=EBG Elektronik Sertifika Hizmet Sağlayıcısı O=EBG Bilişim Teknolojileri ve Hizmetleri A.Ş.\n# Label: \"EBG Elektronik Sertifika Hizmet Sa\\xC4\\x9Flay\\xc4\\xb1\\x63\\xc4\\xb1s\\xc4\\xb1\"\n# Serial: 5525761995591021570\n# MD5 Fingerprint: 2c:20:26:9d:cb:1a:4a:00:85:b5:b7:5a:ae:c2:01:37\n# SHA1 Fingerprint: 8c:96:ba:eb:dd:2b:07:07:48:ee:30:32:66:a0:f3:98:6e:7c:ae:58\n# SHA256 Fingerprint: 35:ae:5b:dd:d8:f7:ae:63:5c:ff:ba:56:82:a8:f0:0b:95:f4:84:62:c7:10:8e:e9:a0:e5:29:2b:07:4a:af:b2\n-----BEGIN CERTIFICATE-----\nMIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNV\nBAMML0VCRyBFbGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sx\nc8SxMTcwNQYDVQQKDC5FQkcgQmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXpt\nZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAeFw0wNjA4MTcwMDIxMDlaFw0xNjA4\nMTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25payBTZXJ0aWZpa2Eg\nSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2ltIFRl\na25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIi\nMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h\n4fuXd7hxlugTlkaDT7byX3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAk\ntiHq6yOU/im/+4mRDGSaBUorzAzu8T2bgmmkTPiab+ci2hC6X5L8GCcKqKpE+i4s\ntPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfreYteIAbTdgtsApWjluTL\ndlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZTqNGFav4\nc0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8Um\nTDGyY5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z\n+kI2sSXFCjEmN1ZnuqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0O\nLna9XvNRiYuoP1Vzv9s6xiQFlpJIqkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMW\nOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vmExH8nYQKE3vwO9D8owrXieqW\nfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0Nokb+Clsi7n2\nl9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB\n/wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgw\nFoAU587GT/wWZ5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+\n8ygjdsZs93/mQJ7ANtyVDR2tFcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI\n6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgmzJNSroIBk5DKd8pNSe/iWtkqvTDO\nTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64kXPBfrAowzIpAoHME\nwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqTbCmY\nIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJn\nxk1Gj7sURT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4Q\nDgZxGhBM/nV+/x5XOULK1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9q\nKd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11t\nhie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQY9iJSrSq3RZj9W6+YKH4\n7ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9AahH3eU7\nQPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT\n-----END CERTIFICATE-----\n\n# Issuer: O=certSIGN OU=certSIGN ROOT CA\n# Subject: O=certSIGN OU=certSIGN ROOT CA\n# Label: \"certSIGN ROOT CA\"\n# Serial: 35210227249154\n# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17\n# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b\n# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb\n-----BEGIN CERTIFICATE-----\nMIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT\nAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD\nQTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP\nMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do\n0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ\nUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d\nRdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ\nOA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv\nJoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C\nAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O\nBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ\nLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY\nMnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ\n44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I\nJd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw\ni/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN\n9u6wWk5JRFRYX0KD\n-----END CERTIFICATE-----\n\n# Issuer: CN=CNNIC ROOT O=CNNIC\n# Subject: CN=CNNIC ROOT O=CNNIC\n# Label: \"CNNIC ROOT\"\n# Serial: 1228079105\n# MD5 Fingerprint: 21:bc:82:ab:49:c4:13:3b:4b:b2:2b:5c:6b:90:9c:19\n# SHA1 Fingerprint: 8b:af:4c:9b:1d:f0:2a:92:f7:da:12:8e:b9:1b:ac:f4:98:60:4b:6f\n# SHA256 Fingerprint: e2:83:93:77:3d:a8:45:a6:79:f2:08:0c:c7:fb:44:a3:b7:a1:c3:79:2c:b7:eb:77:29:fd:cb:6a:8d:99:ae:a7\n-----BEGIN CERTIFICATE-----\nMIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJD\nTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2\nMDcwOTE0WhcNMjcwNDE2MDcwOTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMF\nQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzDo+/hn7E7SIX1mlwh\nIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tizVHa6\ndLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZO\nV/kbZKKTVrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrC\nGHn2emU1z5DrvTOTn1OrczvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gN\nv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrKy5nLAgMBAAGjczBxMBEGCWCGSAGG+EIB\nAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscCwQ7vptU7ETAPBgNVHRMB\nAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991SlgrHAsEO\n76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnK\nOOK5Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvH\nugDnuL8BV8F3RTIMO/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7Hgvi\nyJA/qIYM/PmLXoXLT1tLYhFHxUV8BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fL\nbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2G8kS1sHNzYDzAgE8yGnLRUhj\n2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5mmxE=\n-----END CERTIFICATE-----\n\n# Issuer: O=Japanese Government OU=ApplicationCA\n# Subject: O=Japanese Government OU=ApplicationCA\n# Label: \"ApplicationCA - Japanese Government\"\n# Serial: 49\n# MD5 Fingerprint: 7e:23:4e:5b:a7:a5:b4:25:e9:00:07:74:11:62:ae:d6\n# SHA1 Fingerprint: 7f:8a:b0:cf:d0:51:87:6a:66:f3:36:0f:47:c8:8d:8c:d3:35:fc:74\n# SHA256 Fingerprint: 2d:47:43:7d:e1:79:51:21:5a:12:f3:c5:8e:51:c7:29:a5:80:26:ef:1f:cc:0a:5f:b3:d9:dc:01:2f:60:0d:19\n-----BEGIN CERTIFICATE-----\nMIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEc\nMBoGA1UEChMTSmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRp\nb25DQTAeFw0wNzEyMTIxNTAwMDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYT\nAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zlcm5tZW50MRYwFAYDVQQLEw1BcHBs\naWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp23gdE6H\nj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4fl+K\nf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55\nIrmTwcrNwVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cw\nFO5cjFW6WY2H/CPek9AEjP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDiht\nQWEjdnjDuGWk81quzMKq2edY3rZ+nYVunyoKb58DKTCXKB28t89UKU5RMfkntigm\n/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRUWssmP3HMlEYNllPqa0jQ\nk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNVBAYTAkpQ\nMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOC\nseODvOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD\nggEBADlqRHZ3ODrso2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJ\nhyzjVOGjprIIC8CFqMjSnHH2HZ9g/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+\neKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYDio+nEhEMy/0/ecGc/WLuo89U\nDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmWdupwX3kSa+Sj\nB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL\nrosot4LKGAfmt1t06SAZf7IbiVQ=\n-----END CERTIFICATE-----\n\n# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only\n# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only\n# Label: \"GeoTrust Primary Certification Authority - G3\"\n# Serial: 28809105769928564313984085209975885599\n# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05\n# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd\n# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4\n-----BEGIN CERTIFICATE-----\nMIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB\nmDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT\nMChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s\neTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv\ncml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ\nBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg\nMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0\nBgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg\nLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz\n+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm\nhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn\n5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W\nJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL\nDmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC\nhuOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw\nHQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB\nAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB\nzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN\nkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD\nAWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH\nSJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G\nspki4cErx5z481+oghLrGREt\n-----END CERTIFICATE-----\n\n# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only\n# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only\n# Label: \"thawte Primary Root CA - G2\"\n# Serial: 71758320672825410020661621085256472406\n# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f\n# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12\n# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57\n-----BEGIN CERTIFICATE-----\nMIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL\nMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp\nIDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi\nBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw\nMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh\nd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig\nYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v\ndCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/\nBebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6\npapu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K\nDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3\nKMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox\nXZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==\n-----END CERTIFICATE-----\n\n# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only\n# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only\n# Label: \"thawte Primary Root CA - G3\"\n# Serial: 127614157056681299805556476275995414779\n# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31\n# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2\n# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c\n-----BEGIN CERTIFICATE-----\nMIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB\nrjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf\nQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw\nMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV\nBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa\nFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl\nLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u\nMTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl\nZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm\ngcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8\nYZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf\nb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9\n9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S\nzhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk\nOQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV\nHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA\n2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW\noCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu\nt8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c\nKUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM\nm7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu\nMdRAGmI0Nj81Aa6sY6A=\n-----END CERTIFICATE-----\n\n# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only\n# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only\n# Label: \"GeoTrust Primary Certification Authority - G2\"\n# Serial: 80682863203381065782177908751794619243\n# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a\n# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0\n# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66\n-----BEGIN CERTIFICATE-----\nMIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL\nMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj\nKSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2\nMDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0\neSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV\nBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw\nNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV\nBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH\nMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL\nSo17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal\ntJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO\nBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG\nCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT\nqQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz\nrD6ogRLQy7rQkgu2npaqBA+K\n-----END CERTIFICATE-----\n\n# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only\n# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only\n# Label: \"VeriSign Universal Root Certification Authority\"\n# Serial: 85209574734084581917763752644031726877\n# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19\n# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54\n# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c\n-----BEGIN CERTIFICATE-----\nMIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB\nvTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\nExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp\nU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W\nZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe\nFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX\nMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0\nIE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y\nIGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh\nbCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF\nAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF\n9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH\nH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H\nLL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN\n/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT\nrJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud\nEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw\nWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs\nexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud\nDgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4\nsAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+\nseQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz\n4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+\nBxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR\nlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3\n7M2CYfE45k+XmCpajQ==\n-----END CERTIFICATE-----\n\n# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only\n# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only\n# Label: \"VeriSign Class 3 Public Primary Certification Authority - G4\"\n# Serial: 63143484348153506665311985501458640051\n# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41\n# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a\n# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79\n-----BEGIN CERTIFICATE-----\nMIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL\nMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\nZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln\nbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp\nU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y\naXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG\nA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp\nU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg\nSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln\nbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5\nIC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm\nGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve\nfLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw\nAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ\naW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj\naHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW\nkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC\n4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga\nFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==\n-----END CERTIFICATE-----\n\n# Issuer: CN=NetLock Arany (Class Gold) Főtanúsítvány O=NetLock Kft. OU=Tanúsítványkiadók (Certification Services)\n# Subject: CN=NetLock Arany (Class Gold) Főtanúsítvány O=NetLock Kft. OU=Tanúsítványkiadók (Certification Services)\n# Label: \"NetLock Arany (Class Gold) Főtanúsítvány\"\n# Serial: 80544274841616\n# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88\n# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91\n# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98\n-----BEGIN CERTIFICATE-----\nMIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG\nEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3\nMDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl\ncnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR\ndGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB\npzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM\nb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm\naWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz\nIEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A\nMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT\nlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz\nAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5\nVA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG\nILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2\nBJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG\nAQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M\nU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh\nbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C\n+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC\nbLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F\nuLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2\nXjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden\n# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden\n# Label: \"Staat der Nederlanden Root CA - G2\"\n# Serial: 10000012\n# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a\n# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16\n# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f\n-----BEGIN CERTIFICATE-----\nMIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO\nTDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh\ndCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX\nDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl\nciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv\nb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291\nqj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp\nuOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU\nZ5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE\npMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp\n5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M\nUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN\nGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy\n5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv\n6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK\neN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6\nB6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/\nBAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov\nL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV\nHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG\nSIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS\nCZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen\n5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897\nIZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK\ngnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL\n+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL\nvJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm\nbEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk\nN1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC\nY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z\nywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ==\n-----END CERTIFICATE-----\n\n# Issuer: CN=CA Disig O=Disig a.s.\n# Subject: CN=CA Disig O=Disig a.s.\n# Label: \"CA Disig\"\n# Serial: 1\n# MD5 Fingerprint: 3f:45:96:39:e2:50:87:f7:bb:fe:98:0c:3c:20:98:e6\n# SHA1 Fingerprint: 2a:c8:d5:8b:57:ce:bf:2f:49:af:f2:fc:76:8f:51:14:62:90:7a:41\n# SHA256 Fingerprint: 92:bf:51:19:ab:ec:ca:d0:b1:33:2d:c4:e1:d0:5f:ba:75:b5:67:90:44:ee:0c:a2:6e:93:1f:74:4f:2f:33:cf\n-----BEGIN CERTIFICATE-----\nMIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzET\nMBEGA1UEBxMKQnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UE\nAxMIQ0EgRGlzaWcwHhcNMDYwMzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQsw\nCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcg\nYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw\nggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgmGErE\nNx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnX\nmjxUizkDPw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYD\nXcDtab86wYqg6I7ZuUUohwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhW\nS8+2rT+MitcE5eN4TPWGqvWP+j1scaMtymfraHtuM6kMgiioTGohQBUgDCZbg8Kp\nFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8wgfwwDwYDVR0TAQH/BAUw\nAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0PAQH/BAQD\nAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cu\nZGlzaWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5z\nay9jYS9jcmwvY2FfZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2sv\nY2EvY3JsL2NhX2Rpc2lnLmNybDAaBgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEw\nDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59tWDYcPQuBDRIrRhCA/ec8J9B6\nyKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3mkkp7M5+cTxq\nEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/\nCBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeB\nEicTXxChds6KezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFN\nPGO+I++MzVpQuGhU+QqZMxEA4Z7CRneC9VkGjCFMhwnN5ag=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Juur-SK O=AS Sertifitseerimiskeskus\n# Subject: CN=Juur-SK O=AS Sertifitseerimiskeskus\n# Label: \"Juur-SK\"\n# Serial: 999181308\n# MD5 Fingerprint: aa:8e:5d:d9:f8:db:0a:58:b7:8d:26:87:6c:82:35:55\n# SHA1 Fingerprint: 40:9d:4b:d9:17:b5:5c:27:b6:9b:64:cb:98:22:44:0d:cd:09:b8:89\n# SHA256 Fingerprint: ec:c3:e9:c3:40:75:03:be:e0:91:aa:95:2f:41:34:8f:f8:8b:aa:86:3b:22:64:be:fa:c8:07:90:15:74:e9:39\n-----BEGIN CERTIFICATE-----\nMIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcN\nAQkBFglwa2lAc2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZp\ndHNlZXJpbWlza2Vza3VzMRAwDgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMw\nMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMQsw\nCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEQ\nMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOB\nSvZiF3tfTQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkz\nABpTpyHhOEvWgxutr2TC+Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvH\nLCu3GFH+4Hv2qEivbDtPL+/40UceJlfwUR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMP\nPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDaTpxt4brNj3pssAki14sL\n2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQFMAMBAf8w\nggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwIC\nMIHDHoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDk\nAGwAagBhAHMAdABhAHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0\nAHMAZQBlAHIAaQBtAGkAcwBrAGUAcwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABz\nAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABrAGkAbgBuAGkAdABhAG0AaQBz\nAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nwcy8wKwYDVR0f\nBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE\nFASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcY\nP2/v6X2+MA4GA1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOi\nCfP+JmeaUOTDBS8rNXiRTHyoERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+g\nkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyLabVAyJRld/JXIWY7zoVAtjNjGr95\nHvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678IIbsSt4beDI3poHS\nna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkhMp6q\nqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0Z\nTbvGRNs2yyqcjg==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post\n# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post\n# Label: \"Hongkong Post Root CA 1\"\n# Serial: 1000\n# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca\n# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58\n# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2\n-----BEGIN CERTIFICATE-----\nMIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx\nFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg\nUm9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG\nA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr\nb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ\njVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn\nPzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh\nZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9\nnnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h\nq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED\nMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC\nmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3\n7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB\noiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs\nEhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO\nfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi\nAmvZWg==\n-----END CERTIFICATE-----\n\n# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc.\n# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc.\n# Label: \"SecureSign RootCA11\"\n# Serial: 1\n# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26\n# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3\n# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12\n-----BEGIN CERTIFICATE-----\nMIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr\nMCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG\nA1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0\nMDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp\nY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD\nQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz\ni1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8\nh9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV\nMdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9\nUK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni\n8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC\nh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD\nVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB\nAKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm\nKbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ\nX5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr\nQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5\npPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN\nQSdJQO7e5iNEOdyhIta6A/I=\n-----END CERTIFICATE-----\n\n# Issuer: CN=ACEDICOM Root O=EDICOM OU=PKI\n# Subject: CN=ACEDICOM Root O=EDICOM OU=PKI\n# Label: \"ACEDICOM Root\"\n# Serial: 7029493972724711941\n# MD5 Fingerprint: 42:81:a0:e2:1c:e3:55:10:de:55:89:42:65:96:22:e6\n# SHA1 Fingerprint: e0:b4:32:2e:b2:f6:a5:68:b6:54:53:84:48:18:4a:50:36:87:43:84\n# SHA256 Fingerprint: 03:95:0f:b4:9a:53:1f:3e:19:91:94:23:98:df:a9:e0:ea:32:d7:ba:1c:dd:9b:c8:5d:b5:7e:d9:40:0b:43:4a\n-----BEGIN CERTIFICATE-----\nMIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UE\nAwwNQUNFRElDT00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00x\nCzAJBgNVBAYTAkVTMB4XDTA4MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEW\nMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZF\nRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC\nAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHkWLn7\n09gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7\nXBZXehuDYAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5P\nGrjm6gSSrj0RuVFCPYewMYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAK\nt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYbm8+5eaA9oiM/Qj9r+hwDezCNzmzAv+Yb\nX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbkHQl/Sog4P75n/TSW9R28\nMHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTTxKJxqvQU\nfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI\n2Sf23EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyH\nK9caUPgn6C9D4zq92Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEae\nZAwUswdbxcJzbPEHXEUkFDWug/FqTYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAP\nBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz4SsrSbbXc6GqlPUB53NlTKxQ\nMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU9QHnc2VMrFAw\nRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv\nbS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWIm\nfQwng4/F9tqgaHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3\ngvoFNTPhNahXwOf9jU8/kzJPeGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKe\nI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1PwkzQSulgUV1qzOMPPKC8W64iLgpq0i\n5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1ThCojz2GuHURwCRi\nipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oIKiMn\nMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZ\no5NjEFIqnxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6\nzqylfDJKZ0DcMDQj3dcEI2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacN\nGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOpMCwXEGCSn1WHElkQwg9naRHMTh5+Spqt\nr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3otkYNbn5XOmeUwssfnHdK\nZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd.\n# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd.\n# Label: \"Microsec e-Szigno Root CA 2009\"\n# Serial: 14014712776195784473\n# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1\n# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e\n# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78\n-----BEGIN CERTIFICATE-----\nMIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD\nVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0\nZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G\nCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y\nOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx\nFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp\nZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o\ndTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP\nkd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc\ncbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U\nfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7\nN4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC\nxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1\n+rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G\nA1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM\nPcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG\nSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h\nmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk\nddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775\ntyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c\n2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t\nHMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW\n-----END CERTIFICATE-----\n\n# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3\n# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3\n# Label: \"GlobalSign Root CA - R3\"\n# Serial: 4835703278459759426209954\n# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28\n# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad\n# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b\n-----BEGIN CERTIFICATE-----\nMIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G\nA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp\nZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4\nMTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG\nA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8\nRgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT\ngHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm\nKPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd\nQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ\nXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw\nDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o\nLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU\nRUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp\njjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK\n6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX\nmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs\nMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH\nWD9f\n-----END CERTIFICATE-----\n\n# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068\n# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068\n# Label: \"Autoridad de Certificacion Firmaprofesional CIF A62634068\"\n# Serial: 6047274297262753887\n# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3\n# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa\n# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef\n-----BEGIN CERTIFICATE-----\nMIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UE\nBhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h\ncHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEy\nMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg\nQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi\nMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9\nthDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM\ncas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG\nL9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i\nNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h\nX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b\nm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy\nZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja\nEbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T\nKI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF\n6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh\nOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYD\nVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNHDhpkLzCBpgYD\nVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp\ncm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBv\nACAAZABlACAAbABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBl\nAGwAbwBuAGEAIAAwADgAMAAxADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF\n661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx51tkljYyGOylMnfX40S2wBEqgLk9\nam58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qkR71kMrv2JYSiJ0L1\nILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaPT481\nPyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS\n3a/DTg4fJl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5k\nSeTy36LssUzAKh3ntLFlosS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF\n3dvd6qJ2gHN99ZwExEWN57kci57q13XRcrHedUTnQn3iV2t93Jm8PYMo6oCTjcVM\nZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoRsaS8I8nkvof/uZS2+F0g\nStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTDKCOM/icz\nQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQB\njLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V\n-----END CERTIFICATE-----\n\n# Issuer: CN=Izenpe.com O=IZENPE S.A.\n# Subject: CN=Izenpe.com O=IZENPE S.A.\n# Label: \"Izenpe.com\"\n# Serial: 917563065490389241595536686991402621\n# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73\n# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19\n# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f\n-----BEGIN CERTIFICATE-----\nMIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4\nMQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6\nZW5wZS5jb20wHhcNMDcxMjEzMTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYD\nVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5j\nb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ03rKDx6sp4boFmVq\nscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAKClaO\nxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6H\nLmYRY2xU+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFX\nuaOKmMPsOzTFlUFpfnXCPCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQD\nyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxTOTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+\nJrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbKF7jJeodWLBoBHmy+E60Q\nrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK0GqfvEyN\nBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8L\nhij+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIB\nQFqNeb+Lz0vPqhbBleStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+\nHMh3/1uaD7euBUbl8agW7EekFwIDAQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2lu\nZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+SVpFTlBFIFMuQS4gLSBDSUYg\nQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBB\nBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx\nMCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC\nAQYwHQYDVR0OBBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUA\nA4ICAQB4pgwWSp9MiDrAyw6lFn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWb\nlaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbgakEyrkgPH7UIBzg/YsfqikuFgba56\nawmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8qhT/AQKM6WfxZSzwo\nJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Csg1lw\nLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCT\nVyvehQP5aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGk\nLhObNA5me0mrZJfQRsN5nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJb\nUjWumDqtujWTI6cfSN01RpiyEGjkpTHCClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/\nQnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZoQ0iy2+tzJOeRf1SktoA+\nnaM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1ZWrOZyGls\nQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A.\n# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A.\n# Label: \"Chambers of Commerce Root - 2008\"\n# Serial: 11806822484801597146\n# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7\n# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c\n# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0\n-----BEGIN CERTIFICATE-----\nMIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD\nVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0\nIHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3\nMRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz\nIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz\nMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj\ndXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw\nEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp\nMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G\nCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9\n28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq\nVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q\nDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR\n5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL\nZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a\nSd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl\nUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s\n+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5\nWk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj\nya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx\nhduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV\nHQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1\n+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN\nYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t\nL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy\nZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt\nIDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV\nHSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w\nDQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW\nPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF\n5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1\nglanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH\nFoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2\npSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD\nxvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG\ntjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq\njktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De\nfhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg\nOGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ\nd0jQ\n-----END CERTIFICATE-----\n\n# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A.\n# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A.\n# Label: \"Global Chambersign Root - 2008\"\n# Serial: 14541511773111788494\n# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3\n# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c\n# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca\n-----BEGIN CERTIFICATE-----\nMIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD\nVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0\nIHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3\nMRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD\naGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx\nMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy\ncmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG\nA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl\nBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI\nhvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed\nKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7\nG706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2\nzxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4\nddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG\nHoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2\nId3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V\nyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e\nbeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r\n6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh\nwZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog\nzCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW\nBBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr\nru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp\nZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk\ncmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt\nYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC\nCQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow\nKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI\nhvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ\nUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz\nX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x\nfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz\na2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd\nYhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd\nSqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O\nAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso\nM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge\nv8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z\n09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B\n-----END CERTIFICATE-----\n\n# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc.\n# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc.\n# Label: \"Go Daddy Root Certificate Authority - G2\"\n# Serial: 0\n# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01\n# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b\n# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da\n-----BEGIN CERTIFICATE-----\nMIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx\nEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT\nEUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp\nZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz\nNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH\nEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE\nAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD\nE6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH\n/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy\nDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh\nGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR\ntDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA\nAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE\nFDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX\nWWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu\n9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr\ngIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo\n2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO\nLPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI\n4uJEvlz36hz1\n-----END CERTIFICATE-----\n\n# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc.\n# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc.\n# Label: \"Starfield Root Certificate Authority - G2\"\n# Serial: 0\n# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96\n# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e\n# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5\n-----BEGIN CERTIFICATE-----\nMIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx\nEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT\nHFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs\nZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw\nMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6\nb25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj\naG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp\nY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg\nnLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1\nHOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N\nHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN\ndloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0\nHZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO\nBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G\nCSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU\nsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3\n4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg\n8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K\npL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1\nmMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0\n-----END CERTIFICATE-----\n\n# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc.\n# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc.\n# Label: \"Starfield Services Root Certificate Authority - G2\"\n# Serial: 0\n# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2\n# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f\n# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5\n-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx\nEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT\nHFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs\nZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5\nMDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD\nVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy\nZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy\ndmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p\nOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2\n8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K\nTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe\nhRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk\n6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw\nDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q\nAdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI\nbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB\nve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z\nqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd\niEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn\n0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN\nsSi6\n-----END CERTIFICATE-----\n\n# Issuer: CN=AffirmTrust Commercial O=AffirmTrust\n# Subject: CN=AffirmTrust Commercial O=AffirmTrust\n# Label: \"AffirmTrust Commercial\"\n# Serial: 8608355977964138876\n# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7\n# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7\n# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7\n-----BEGIN CERTIFICATE-----\nMIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE\nBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz\ndCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL\nMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp\ncm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP\nHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr\nba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL\nMeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1\nyHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr\nVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/\nnx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ\nKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG\nXUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj\nvbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt\nZ8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g\nN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC\nnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=\n-----END CERTIFICATE-----\n\n# Issuer: CN=AffirmTrust Networking O=AffirmTrust\n# Subject: CN=AffirmTrust Networking O=AffirmTrust\n# Label: \"AffirmTrust Networking\"\n# Serial: 8957382827206547757\n# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f\n# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f\n# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b\n-----BEGIN CERTIFICATE-----\nMIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE\nBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz\ndCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL\nMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp\ncm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y\nYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua\nkCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL\nQESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp\n6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG\nyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i\nQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ\nKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO\ntDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu\nQY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ\nLgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u\nolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48\nx3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=\n-----END CERTIFICATE-----\n\n# Issuer: CN=AffirmTrust Premium O=AffirmTrust\n# Subject: CN=AffirmTrust Premium O=AffirmTrust\n# Label: \"AffirmTrust Premium\"\n# Serial: 7893706540734352110\n# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57\n# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27\n# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a\n-----BEGIN CERTIFICATE-----\nMIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE\nBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz\ndCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG\nA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U\ncnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf\nqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ\nJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ\n+jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS\ns8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5\nHMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7\n70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG\nV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S\nqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S\n5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia\nC1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX\nOwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE\nFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/\nBAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2\nKI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg\nNt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B\n8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ\nMKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc\n0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ\nu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF\nu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH\nYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8\nGKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO\nRtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e\nKeC2uAloGRwYQw==\n-----END CERTIFICATE-----\n\n# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust\n# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust\n# Label: \"AffirmTrust Premium ECC\"\n# Serial: 8401224907861490260\n# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d\n# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb\n# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23\n-----BEGIN CERTIFICATE-----\nMIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC\nVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ\ncmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ\nBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt\nVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D\n0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9\nss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G\nA1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs\naobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I\nflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority\n# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority\n# Label: \"Certum Trusted Network CA\"\n# Serial: 279744\n# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78\n# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e\n# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e\n-----BEGIN CERTIFICATE-----\nMIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM\nMSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D\nZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU\ncnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3\nWjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg\nUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw\nIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B\nAQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH\nUV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM\nTXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU\nBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM\nkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x\nAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV\nHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV\nHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y\nsHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL\nI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8\nJ9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY\nVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI\n03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Certinomis - Autorité Racine O=Certinomis OU=0002 433998903\n# Subject: CN=Certinomis - Autorité Racine O=Certinomis OU=0002 433998903\n# Label: \"Certinomis - Autorité Racine\"\n# Serial: 1\n# MD5 Fingerprint: 7f:30:78:8c:03:e3:ca:c9:0a:e2:c9:ea:1e:aa:55:1a\n# SHA1 Fingerprint: 2e:14:da:ec:28:f0:fa:1e:8e:38:9a:4e:ab:eb:26:c0:0a:d3:83:c3\n# SHA256 Fingerprint: fc:bf:e2:88:62:06:f7:2b:27:59:3c:8b:07:02:97:e1:2d:76:9e:d1:0e:d7:93:07:05:a8:09:8e:ff:c1:4d:17\n-----BEGIN CERTIFICATE-----\nMIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjET\nMBEGA1UEChMKQ2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAk\nBgNVBAMMHUNlcnRpbm9taXMgLSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4\nMjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkGA1UEBhMCRlIxEzARBgNVBAoTCkNl\ncnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYwJAYDVQQDDB1DZXJ0\naW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQADggIP\nADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jY\nF1AMnmHawE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N\n8y4oH3DfVS9O7cdxbwlyLu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWe\nrP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K\n/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92NjMD2AR5vpTESOH2VwnHu\n7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9qc1pkIuVC\n28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6\nlSTClrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1E\nnn1So2+WLhl+HPNbxxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB\n0iSVL1N6aaLwD4ZFjliCK0wi1F6g530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql09\n5gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna4NH4+ej9Uji29YnfAgMBAAGj\nWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBQN\njLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ\nKoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9s\nov3/4gbIOZ/xWqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZM\nOH8oMDX/nyNTt7buFHAAQCvaR6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q\n619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40nJ+U8/aGH88bc62UeYdocMMzpXDn\n2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1BCxMjidPJC+iKunqj\no3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjvJL1v\nnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG\n5ERQL1TEqkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWq\npdEdnV1j6CTmNhTih60bWfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZb\ndsLLO7XSAPCjDuGtbkD326C00EauFddEwk01+dIL8hf2rGbVJLJP0RyZwG71fet0\nBLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/vgt2Fl43N+bYdJeimUV5\n-----END CERTIFICATE-----\n\n# Issuer: CN=Root CA Generalitat Valenciana O=Generalitat Valenciana OU=PKIGVA\n# Subject: CN=Root CA Generalitat Valenciana O=Generalitat Valenciana OU=PKIGVA\n# Label: \"Root CA Generalitat Valenciana\"\n# Serial: 994436456\n# MD5 Fingerprint: 2c:8c:17:5e:b1:54:ab:93:17:b5:36:5a:db:d1:c6:f2\n# SHA1 Fingerprint: a0:73:e5:c5:bd:43:61:0d:86:4c:21:13:0a:85:58:57:cc:9c:ea:46\n# SHA256 Fingerprint: 8c:4e:df:d0:43:48:f3:22:96:9e:7e:29:a4:cd:4d:ca:00:46:55:06:1c:16:e1:b0:76:42:2e:f3:42:ad:63:0e\n-----BEGIN CERTIFICATE-----\nMIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJF\nUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJ\nR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcN\nMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3WjBoMQswCQYDVQQGEwJFUzEfMB0G\nA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScw\nJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+\nWmmmO3I2F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKj\nSgbwJ/BXufjpTjJ3Cj9BZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGl\nu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQD0EbtFpKd71ng+CT516nDOeB0/RSrFOy\nA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXteJajCq+TA81yc477OMUxk\nHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMBAAGjggM7\nMIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBr\naS5ndmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIIC\nIwYKKwYBBAG/VQIBADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8A\ncgBpAGQAYQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIA\nYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIAYQBsAGkAdABhAHQAIABWAGEA\nbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQByAGEAYwBpAPMA\nbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA\naQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMA\naQBvAG4AYQBtAGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQA\nZQAgAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEA\nYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBuAHQAcgBhACAAZQBuACAAbABhACAA\nZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAAOgAvAC8AdwB3AHcA\nLgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0dHA6\nLy93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+y\neAT8MIGVBgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQsw\nCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0G\nA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVu\nY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRhTvW1yEICKrNcda3Fbcrn\nlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdzCkj+IHLt\nb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg\n9J63NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XF\nducTZnV+ZfsBn5OHiJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmC\nIoaZM3Fa6hlXPZHNqcCjbgcTpsnt+GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM=\n-----END CERTIFICATE-----\n\n# Issuer: CN=A-Trust-nQual-03 O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH OU=A-Trust-nQual-03\n# Subject: CN=A-Trust-nQual-03 O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH OU=A-Trust-nQual-03\n# Label: \"A-Trust-nQual-03\"\n# Serial: 93214\n# MD5 Fingerprint: 49:63:ae:27:f4:d5:95:3d:d8:db:24:86:b8:9c:07:53\n# SHA1 Fingerprint: d3:c0:63:f2:19:ed:07:3e:34:ad:5d:75:0b:32:76:29:ff:d5:9a:f2\n# SHA256 Fingerprint: 79:3c:bf:45:59:b9:fd:e3:8a:b2:2d:f1:68:69:f6:98:81:ae:14:c4:b0:13:9a:c7:88:a7:8a:1a:fc:ca:02:fb\n-----BEGIN CERTIFICATE-----\nMIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB\nVDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp\nbSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R\ndWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTA1MDgxNzIyMDAw\nMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy\ndXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52\nZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMM\nEEEtVHJ1c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQCtPWFuA/OQO8BBC4SAzewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUj\nlUC5B3ilJfYKvUWG6Nm9wASOhURh73+nyfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZ\nznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPESU7l0+m0iKsMrmKS1GWH\n2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4iHQF63n1\nk3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs\n2e3Vcuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYD\nVR0OBAoECERqlWdVeRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC\nAQEAVdRU0VlIXLOThaq/Yy/kgM40ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fG\nKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmrsQd7TZjTXLDR8KdCoLXEjq/+\n8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZdJXDRZslo+S4R\nFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS\nmYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmE\nDNuxUCAKGkq6ahq97BvIxYSazQ==\n-----END CERTIFICATE-----\n\n# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA\n# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA\n# Label: \"TWCA Root Certification Authority\"\n# Serial: 1\n# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79\n# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48\n# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44\n-----BEGIN CERTIFICATE-----\nMIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES\nMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU\nV0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz\nWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO\nLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm\naWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE\nAcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH\nK3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX\nRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z\nrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx\n3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\nHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq\nhkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC\nMErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls\nXebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D\nlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn\naspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ\nYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==\n-----END CERTIFICATE-----\n\n# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2\n# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2\n# Label: \"Security Communication RootCA2\"\n# Serial: 0\n# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43\n# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74\n# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6\n-----BEGIN CERTIFICATE-----\nMIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl\nMCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe\nU2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX\nDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy\ndXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj\nYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV\nOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr\nzbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM\nVAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ\nhNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO\nojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw\nawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs\nOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3\nDQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF\ncoJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc\nokgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8\nt/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy\n1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/\nSjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03\n-----END CERTIFICATE-----\n\n# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority\n# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority\n# Label: \"Hellenic Academic and Research Institutions RootCA 2011\"\n# Serial: 0\n# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9\n# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d\n# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71\n-----BEGIN CERTIFICATE-----\nMIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix\nRDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1\ndGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p\nYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw\nNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK\nEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl\ncnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl\nc2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB\nBQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz\ndYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ\nfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns\nbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD\n75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP\nFEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV\nHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp\n5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu\nb3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA\nA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p\n6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8\nTqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7\ndIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys\nNnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI\nl7WdmplNsDz4SgCbZN2fOUvRJ9e4\n-----END CERTIFICATE-----\n\n# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967\n# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967\n# Label: \"Actalis Authentication Root CA\"\n# Serial: 6271844772424770508\n# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6\n# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac\n# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66\n-----BEGIN CERTIFICATE-----\nMIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE\nBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w\nMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290\nIENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC\nSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1\nODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv\nUTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX\n4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9\nKK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/\ngCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb\nrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ\n51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F\nbe8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe\nKF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F\nv6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn\nfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7\njPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz\nezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt\nifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL\ne3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70\njsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz\nWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V\nSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j\npwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX\nX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok\nfcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R\nK4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU\nZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU\nLysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT\nLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==\n-----END CERTIFICATE-----\n\n# Issuer: O=Trustis Limited OU=Trustis FPS Root CA\n# Subject: O=Trustis Limited OU=Trustis FPS Root CA\n# Label: \"Trustis FPS Root CA\"\n# Serial: 36053640375399034304724988975563710553\n# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d\n# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04\n# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d\n-----BEGIN CERTIFICATE-----\nMIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF\nMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL\nExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx\nMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc\nMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+\nAOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH\niTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj\nvSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA\n0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB\nOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/\nBAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E\nFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01\nGX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW\nzaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4\n1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE\nf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F\njZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN\nZetX2fNXlrtIzYE=\n-----END CERTIFICATE-----\n\n# Issuer: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing\n# Subject: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing\n# Label: \"StartCom Certification Authority\"\n# Serial: 45\n# MD5 Fingerprint: c9:3b:0d:84:41:fc:a4:76:79:23:08:57:de:10:19:16\n# SHA1 Fingerprint: a3:f1:33:3f:e2:42:bf:cf:c5:d1:4e:8f:39:42:98:40:68:10:d1:a0\n# SHA256 Fingerprint: e1:78:90:ee:09:a3:fb:f4:f4:8b:9c:41:4a:17:d6:37:b7:a5:06:47:e9:bc:75:23:22:72:7f:cc:17:42:a9:11\n-----BEGIN CERTIFICATE-----\nMIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEW\nMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg\nQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh\ndGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0NjM3WhcNMzYwOTE3MTk0NjM2WjB9\nMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi\nU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh\ncnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA\nA4ICDwAwggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZk\npMyONvg45iPwbm2xPN1yo4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rf\nOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/C\nJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/deMotHweXMAEtcnn6RtYT\nKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt2PZE4XNi\nHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMM\nAv+Z6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w\n+2OqqGwaVLRcJXrJosmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+\nGkhpi8KWTRoSsmkXwQqQ1vp5Iki/untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3\nZzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVcUjyJthkqcwEKDwOzEmDyei+B\n26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT37uMdBNSSwID\nAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD\nVR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFul\nF2mHMMo0aEPQQa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCC\nATgwLgYIKwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5w\nZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVk\naWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENvbW1lcmNpYWwgKFN0\nYXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0aGUg\nc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0\naWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93\nd3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgG\nCWCGSAGG+EIBDQQrFilTdGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1\ndGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5fPGFf59Jb2vKXfuM/gTF\nwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWmN3PH/UvS\nTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst\n0OcNOrg+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNc\npRJvkrKTlMeIFw6Ttn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKl\nCcWw0bdT82AUuoVpaiF8H3VhFyAXe2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVF\nP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA2MFrLH9ZXF2RsXAiV+uKa0hK\n1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBsHvUwyKMQ5bLm\nKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE\nJnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ\n8dCAWZvLMdibD4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnm\nfyWl8kgAwKQB2j8=\n-----END CERTIFICATE-----\n\n# Issuer: CN=StartCom Certification Authority G2 O=StartCom Ltd.\n# Subject: CN=StartCom Certification Authority G2 O=StartCom Ltd.\n# Label: \"StartCom Certification Authority G2\"\n# Serial: 59\n# MD5 Fingerprint: 78:4b:fb:9e:64:82:0a:d3:b8:4c:62:f3:64:f2:90:64\n# SHA1 Fingerprint: 31:f1:fd:68:22:63:20:ee:c6:3b:3f:9d:ea:4a:3e:53:7c:7c:39:17\n# SHA256 Fingerprint: c7:ba:65:67:de:93:a7:98:ae:1f:aa:79:1e:71:2d:37:8f:ae:1f:93:c4:39:7f:ea:44:1b:b7:cb:e6:fd:59:95\n-----BEGIN CERTIFICATE-----\nMIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEW\nMBQGA1UEChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlm\naWNhdGlvbiBBdXRob3JpdHkgRzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1\nOTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEsMCoG\nA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRzIwggIiMA0G\nCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8Oo1XJ\nJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsD\nvfOpL9HG4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnoo\nD/Uefyf3lLE3PbfHkffiAez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/\nQ0kGi4xDuFby2X8hQxfqp0iVAXV16iulQ5XqFYSdCI0mblWbq9zSOdIxHWDirMxW\nRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbsO+wmETRIjfaAKxojAuuK\nHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8HvKTlXcxN\nnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM\n0D4LnMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/i\nUUjXuG+v+E5+M5iSFGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9\nHa90OrInwMEePnWjFqmveiJdnxMaz6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHg\nTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE\nAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJKoZIhvcNAQEL\nBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K\n2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfX\nUfEpY9Z1zRbkJ4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl\n6/2o1PXWT6RbdejF0mCy2wl+JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK\n9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG/+gyRr61M3Z3qAFdlsHB1b6uJcDJ\nHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTcnIhT76IxW1hPkWLI\nwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/XldblhY\nXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5l\nIxKVCCIcl85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoo\nhdVddLHRDiBYmxOlsGOm7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulr\nso8uBtjRkcfGEvRM/TAXw8HaOFvjqermobp573PYtlNXLfbQ4ddI\n-----END CERTIFICATE-----\n\n# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327\n# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327\n# Label: \"Buypass Class 2 Root CA\"\n# Serial: 2\n# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29\n# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99\n# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48\n-----BEGIN CERTIFICATE-----\nMIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd\nMBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg\nQ2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow\nTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw\nHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB\nBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr\n6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV\nL4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91\n1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx\nMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ\nQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB\narcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr\nUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi\nFRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS\nP/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN\n9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP\nAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz\nuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h\n9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s\nA20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t\nOluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo\n+fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7\nKcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2\nDISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us\nH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ\nI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7\n5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h\n3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz\nY11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327\n# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327\n# Label: \"Buypass Class 3 Root CA\"\n# Serial: 2\n# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec\n# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57\n# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d\n-----BEGIN CERTIFICATE-----\nMIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd\nMBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg\nQ2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow\nTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw\nHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB\nBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y\nZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E\nN3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9\ntznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX\n0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c\n/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X\nKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY\nzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS\nO1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D\n34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP\nK9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3\nAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv\nTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj\nQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV\ncSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS\nIGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2\nHJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa\nO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv\n033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u\ndmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE\nkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41\n3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD\nu79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq\n4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc=\n-----END CERTIFICATE-----\n\n# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center\n# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center\n# Label: \"T-TeleSec GlobalRoot Class 3\"\n# Serial: 1\n# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef\n# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1\n# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd\n-----BEGIN CERTIFICATE-----\nMIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx\nKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd\nBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl\nYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1\nOTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy\naXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50\nZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN\n8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/\nRLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4\nhqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5\nZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM\nEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj\nQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1\nA/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy\nWL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ\n1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30\n6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT\n91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml\ne9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p\nTpPDpFQUWw==\n-----END CERTIFICATE-----\n\n# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus\n# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus\n# Label: \"EE Certification Centre Root CA\"\n# Serial: 112324828676200291871926431888494945866\n# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f\n# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7\n# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76\n-----BEGIN CERTIFICATE-----\nMIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1\nMQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1\nczEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG\nCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy\nMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl\nZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS\nb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy\neuuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO\nbntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw\nWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d\nMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE\n1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD\nVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/\nzQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB\nBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF\nBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV\nv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG\nE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u\nuSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW\niAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v\nGVCJYMzpJJUPwssd8m92kMfMdcGWxZ0=\n-----END CERTIFICATE-----\n\n# Issuer: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Aralık 2007\n# Subject: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Aralık 2007\n# Label: \"TURKTRUST Certificate Services Provider Root 2007\"\n# Serial: 1\n# MD5 Fingerprint: 2b:70:20:56:86:82:a0:18:c8:07:53:12:28:70:21:72\n# SHA1 Fingerprint: f1:7f:6f:b6:31:dc:99:e3:a3:c8:7f:fe:1c:f1:81:10:88:d9:60:33\n# SHA256 Fingerprint: 97:8c:d9:66:f2:fa:a0:7b:a7:aa:95:00:d9:c0:2e:9d:77:f2:cd:ad:a6:ad:6b:a7:4a:f4:b9:1c:66:59:3c:50\n-----BEGIN CERTIFICATE-----\nMIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOc\nUktUUlVTVCBFbGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sx\nc8SxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xS\nS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kg\nSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4XDTA3MTIyNTE4Mzcx\nOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxla3Ry\nb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMC\nVFIxDzANBgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDE\nsGxldGnFn2ltIHZlIEJpbGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7F\nni4gKGMpIEFyYWzEsWsgMjAwNzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9NYvDdE3ePYakqtdTyuTFY\nKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQvKUmi8wUG\n+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveG\nHtyaKhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6P\nIzdezKKqdfcYbwnTrqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M\n733WB2+Y8a+xwXrXgTW4qhe04MsCAwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHk\nYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0G\nCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/sPx+EnWVUXKgW\nAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I\naE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5\nmxRZNTZPz/OOXl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsa\nXRik7r4EW5nVcV9VZWRi1aKbBFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZ\nqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAKpoRq0Tl9\n-----END CERTIFICATE-----\n\n# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH\n# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH\n# Label: \"D-TRUST Root Class 3 CA 2 2009\"\n# Serial: 623603\n# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f\n# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0\n# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1\n-----BEGIN CERTIFICATE-----\nMIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF\nMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD\nbGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha\nME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM\nHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB\nBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03\nUAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42\ntSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R\nySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM\nlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp\n/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G\nA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G\nA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj\ndG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy\nMENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl\ncmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js\nL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL\nBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni\nacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0\no3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K\nzCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8\nPIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y\nJohw1+qRzT65ysCQblrGXnRl11z+o+I=\n-----END CERTIFICATE-----\n\n# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH\n# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH\n# Label: \"D-TRUST Root Class 3 CA 2 EV 2009\"\n# Serial: 623604\n# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6\n# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83\n# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81\n-----BEGIN CERTIFICATE-----\nMIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF\nMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD\nbGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw\nNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV\nBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn\nljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0\n3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z\nqQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR\np75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8\nHgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw\nggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea\nHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw\nOi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh\nc3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E\nRT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt\ndHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku\nY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp\n3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05\nnsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF\nCSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na\nxpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX\nKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1\n-----END CERTIFICATE-----\n\n# Issuer: CN=Autoridad de Certificacion Raiz del Estado Venezolano O=Sistema Nacional de Certificacion Electronica OU=Superintendencia de Servicios de Certificacion Electronica\n# Subject: CN=PSCProcert O=Sistema Nacional de Certificacion Electronica OU=Proveedor de Certificados PROCERT\n# Label: \"PSCProcert\"\n# Serial: 11\n# MD5 Fingerprint: e6:24:e9:12:01:ae:0c:de:8e:85:c4:ce:a3:12:dd:ec\n# SHA1 Fingerprint: 70:c1:8d:74:b4:28:81:0a:e4:fd:a5:75:d7:01:9f:99:b0:3d:50:74\n# SHA256 Fingerprint: 3c:fc:3c:14:d1:f6:84:ff:17:e3:8c:43:ca:44:0c:00:b9:67:ec:93:3e:8b:fe:06:4c:a1:d7:2c:90:f2:ad:b0\n-----BEGIN CERTIFICATE-----\nMIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1\ndG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9s\nYW5vMQswCQYDVQQGEwJWRTEQMA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlz\ndHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0\naWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBlcmludGVuZGVuY2lh\nIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUwIwYJ\nKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEw\nMFoXDTIwMTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHBy\nb2NlcnQubmV0LnZlMQ8wDQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGEx\nKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBDZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQG\nA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9u\naWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIwDQYJKoZI\nhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo9\n7BVCwfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74\nBCXfgI8Qhd19L3uA3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38G\nieU89RLAu9MLmV+QfI4tL3czkkohRqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9\nJcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmOEO8GqQKJ/+MMbpfg353bIdD0\nPghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG20qCZyFSTXai2\n0b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH\n0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/\n6mnbVSKVUyqUtd+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1m\nv6JpIzi4mWCZDlZTOpx+FIywBm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7\nK2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvpr2uKGcfLFFb14dq12fy/czja+eev\nbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/AgEBMDcGA1UdEgQw\nMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAzNi0w\nMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFD\ngBStuyIdxuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0\nb3JpZGFkIGRlIENlcnRpZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xh\nbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQHEwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0\ncml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5hY2lvbmFsIGRlIENlcnRp\nZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5kZW5jaWEg\nZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkq\nhkiG9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQD\nAgEGME0GA1UdEQRGMESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0w\nMDAwMDKgGwYFYIZeAgKgEgwQUklGLUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEag\nRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9sY3IvQ0VSVElGSUNBRE8t\nUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNyYWl6LnN1c2Nl\ncnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v\nY3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsG\nAQUFBwIBFh5odHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcN\nAQELBQADggIBACtZ6yKZu4SqT96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS\n1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmNg7+mvTV+LFwxNG9s2/NkAZiqlCxB\n3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4quxtxj7mkoP3Yldmv\nWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1n8Gh\nHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHm\npHmJWhSnFFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXz\nsOfIt+FTvZLm8wyWuevo5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bE\nqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq3TNWOByyrYDT13K9mmyZY+gAu0F2Bbdb\nmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5poLWccret9W6aAjtmcz9\nopLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3YeMLEYC/H\nYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km\n-----END CERTIFICATE-----\n\n# Issuer: CN=China Internet Network Information Center EV Certificates Root O=China Internet Network Information Center\n# Subject: CN=China Internet Network Information Center EV Certificates Root O=China Internet Network Information Center\n# Label: \"China Internet Network Information Center EV Certificates Root\"\n# Serial: 1218379777\n# MD5 Fingerprint: 55:5d:63:00:97:bd:6a:97:f5:67:ab:4b:fb:6e:63:15\n# SHA1 Fingerprint: 4f:99:aa:93:fb:2b:d1:37:26:a1:99:4a:ce:7f:f0:05:f2:93:5d:1e\n# SHA256 Fingerprint: 1c:01:c6:f4:db:b2:fe:fc:22:55:8b:2b:ca:32:56:3f:49:84:4a:cf:c3:2b:7b:e4:b0:ff:59:9f:9e:8c:7a:f7\n-----BEGIN CERTIFICATE-----\nMIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC\nQ04xMjAwBgNVBAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24g\nQ2VudGVyMUcwRQYDVQQDDD5DaGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0\naW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMgUm9vdDAeFw0xMDA4MzEwNzExMjVa\nFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAGA1UECgwpQ2hpbmEg\nSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMMPkNo\naW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRp\nZmljYXRlcyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z\n7r07eKpkQ0H1UN+U8i6yjUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//\nDdmEEbK40ctb3B75aDFk4Zv6dOtouSCV98YPjUesWgbdYavi7NifFy2cyjw1l1Vx\nzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2HklY0bBoQCxfVWhyXWIQ8\nhBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23KzhmBsUs\n4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54u\ngQEC7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oY\nNJKiyoOCWTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4E\nFgQUfHJLOcfA22KlT5uqGDSSosqDglkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3\nj92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd50XPFtQO3WKwMVC/GVhMPMdoG\n52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM7+czV0I664zB\nechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws\nZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrI\nzo9uoV1/A3U05K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATy\nwy39FCqQmbkHzJ8=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Swisscom Root CA 2 O=Swisscom OU=Digital Certificate Services\n# Subject: CN=Swisscom Root CA 2 O=Swisscom OU=Digital Certificate Services\n# Label: \"Swisscom Root CA 2\"\n# Serial: 40698052477090394928831521023204026294\n# MD5 Fingerprint: 5b:04:69:ec:a5:83:94:63:18:a7:86:d0:e4:f2:6e:19\n# SHA1 Fingerprint: 77:47:4f:c6:30:e4:0f:4c:47:64:3f:84:ba:b8:c6:95:4a:8a:41:ec\n# SHA256 Fingerprint: f0:9b:12:2c:71:14:f4:a0:9b:d4:ea:4f:4a:99:d5:58:b4:6e:4c:25:cd:81:14:0d:29:c0:56:13:91:4c:38:41\n-----BEGIN CERTIFICATE-----\nMIIF2TCCA8GgAwIBAgIQHp4o6Ejy5e/DfEoeWhhntjANBgkqhkiG9w0BAQsFADBk\nMQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0\nYWwgQ2VydGlmaWNhdGUgU2VydmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3Qg\nQ0EgMjAeFw0xMTA2MjQwODM4MTRaFw0zMTA2MjUwNzM4MTRaMGQxCzAJBgNVBAYT\nAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGlnaXRhbCBDZXJ0aWZp\nY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAyMIICIjAN\nBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlUJOhJ1R5tMJ6HJaI2nbeHCOFvEr\njw0DzpPMLgAIe6szjPTpQOYXTKueuEcUMncy3SgM3hhLX3af+Dk7/E6J2HzFZ++r\n0rk0X2s682Q2zsKwzxNoysjL67XiPS4h3+os1OD5cJZM/2pYmLcX5BtS5X4HAB1f\n2uY+lQS3aYg5oUFgJWFLlTloYhyxCwWJwDaCFCE/rtuh/bxvHGCGtlOUSbkrRsVP\nACu/obvLP+DHVxxX6NZp+MEkUp2IVd3Chy50I9AU/SpHWrumnf2U5NGKpV+GY3aF\ny6//SSj8gO1MedK75MDvAe5QQQg1I3ArqRa0jG6F6bYRzzHdUyYb3y1aSgJA/MTA\ntukxGggo5WDDH8SQjhBiYEQN7Aq+VRhxLKX0srwVYv8c474d2h5Xszx+zYIdkeNL\n6yxSNLCK/RJOlrDrcH+eOfdmQrGrrFLadkBXeyq96G4DsguAhYidDMfCd7Camlf0\nuPoTXGiTOmekl9AbmbeGMktg2M7v0Ax/lZ9vh0+Hio5fCHyqW/xavqGRn1V9TrAL\nacywlKinh/LTSlDcX3KwFnUey7QYYpqwpzmqm59m2I2mbJYV4+by+PGDYmy7Velh\nk6M99bFXi08jsJvllGov34zflVEpYKELKeRcVVi3qPyZ7iVNTA6z00yPhOgpD/0Q\nVAKFyPnlw4vP5w8CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0hBBYw\nFDASBgdghXQBUwIBBgdghXQBUwIBMBIGA1UdEwEB/wQIMAYBAf8CAQcwHQYDVR0O\nBBYEFE0mICKJS9PVpAqhb97iEoHF8TwuMB8GA1UdIwQYMBaAFE0mICKJS9PVpAqh\nb97iEoHF8TwuMA0GCSqGSIb3DQEBCwUAA4ICAQAyCrKkG8t9voJXiblqf/P0wS4R\nfbgZPnm3qKhyN2abGu2sEzsOv2LwnN+ee6FTSA5BesogpxcbtnjsQJHzQq0Qw1zv\n/2BZf82Fo4s9SBwlAjxnffUy6S8w5X2lejjQ82YqZh6NM4OKb3xuqFp1mrjX2lhI\nREeoTPpMSQpKwhI3qEAMw8jh0FcNlzKVxzqfl9NX+Ave5XLzo9v/tdhZsnPdTSpx\nsrpJ9csc1fV5yJmz/MFMdOO0vSk3FQQoHt5FRnDsr7p4DooqzgB53MBfGWcsa0vv\naGgLQ+OswWIJ76bdZWGgr4RVSJFSHMYlkSrQwSIjYVmvRRGFHQEkNI/Ps/8XciAT\nwoCqISxxOQ7Qj1zB09GOInJGTB2Wrk9xseEFKZZZ9LuedT3PDTcNYtsmjGOpI99n\nBjx8Oto0QuFmtEYE3saWmA9LSHokMnWRn6z3aOkquVVlzl1h0ydw2Df+n7mvoC5W\nt6NlUe07qxS/TFED6F+KBZvuim6c779o+sjaC+NCydAXFJy3SuCvkychVSa1ZC+N\n8f+mQAWFBVzKBxlcCxMoTFh/wqXvRdpg065lYZ1Tg3TCrvJcwhbtkj6EPnNgiLx2\n9CzP0H1907he0ZESEOnN3col49XtmS++dYFLJPlFRpTJKSFTnCZFqhMX5OfNeOI5\nwSsSnqaeG8XmDtkx2Q==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Swisscom Root EV CA 2 O=Swisscom OU=Digital Certificate Services\n# Subject: CN=Swisscom Root EV CA 2 O=Swisscom OU=Digital Certificate Services\n# Label: \"Swisscom Root EV CA 2\"\n# Serial: 322973295377129385374608406479535262296\n# MD5 Fingerprint: 7b:30:34:9f:dd:0a:4b:6b:35:ca:31:51:28:5d:ae:ec\n# SHA1 Fingerprint: e7:a1:90:29:d3:d5:52:dc:0d:0f:c6:92:d3:ea:88:0d:15:2e:1a:6b\n# SHA256 Fingerprint: d9:5f:ea:3c:a4:ee:dc:e7:4c:d7:6e:75:fc:6d:1f:f6:2c:44:1f:0f:a8:bc:77:f0:34:b1:9e:5d:b2:58:01:5d\n-----BEGIN CERTIFICATE-----\nMIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAw\nZzELMAkGA1UEBhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdp\ndGFsIENlcnRpZmljYXRlIFNlcnZpY2VzMR4wHAYDVQQDExVTd2lzc2NvbSBSb290\nIEVWIENBIDIwHhcNMTEwNjI0MDk0NTA4WhcNMzEwNjI1MDg0NTA4WjBnMQswCQYD\nVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2Vy\ndGlmaWNhdGUgU2VydmljZXMxHjAcBgNVBAMTFVN3aXNzY29tIFJvb3QgRVYgQ0Eg\nMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMT3HS9X6lds93BdY7Bx\nUglgRCgzo3pOCvrY6myLURYaVa5UJsTMRQdBTxB5f3HSek4/OE6zAMaVylvNwSqD\n1ycfMQ4jFrclyxy0uYAyXhqdk/HoPGAsp15XGVhRXrwsVgu42O+LgrQ8uMIkqBPH\noCE2G3pXKSinLr9xJZDzRINpUKTk4RtiGZQJo/PDvO/0vezbE53PnUgJUmfANykR\nHvvSEaeFGHR55E+FFOtSN+KxRdjMDUN/rhPSays/p8LiqG12W0OfvrSdsyaGOx9/\n5fLoZigWJdBLlzin5M8J0TbDC77aO0RYjb7xnglrPvMyxyuHxuxenPaHZa0zKcQv\nidm5y8kDnftslFGXEBuGCxobP/YCfnvUxVFkKJ3106yDgYjTdLRZncHrYTNaRdHL\nOdAGalNgHa/2+2m8atwBz735j9m9W8E6X47aD0upm50qKGsaCnw8qyIL5XctcfaC\nNYGu+HuB5ur+rPQam3Rc6I8k9l2dRsQs0h4rIWqDJ2dVSqTjyDKXZpBy2uPUZC5f\n46Fq9mDU5zXNysRojddxyNMkM3OxbPlq4SjbX8Y96L5V5jcb7STZDxmPX2MYWFCB\nUWVv8p9+agTnNCRxunZLWB4ZvRVgRaoMEkABnRDixzgHcgplwLa7JSnaFp6LNYth\n7eVxV4O1PHGf40+/fh6Bn0GXAgMBAAGjgYYwgYMwDgYDVR0PAQH/BAQDAgGGMB0G\nA1UdIQQWMBQwEgYHYIV0AVMCAgYHYIV0AVMCAjASBgNVHRMBAf8ECDAGAQH/AgED\nMB0GA1UdDgQWBBRF2aWBbj2ITY1x0kbBbkUe88SAnTAfBgNVHSMEGDAWgBRF2aWB\nbj2ITY1x0kbBbkUe88SAnTANBgkqhkiG9w0BAQsFAAOCAgEAlDpzBp9SSzBc1P6x\nXCX5145v9Ydkn+0UjrgEjihLj6p7jjm02Vj2e6E1CqGdivdj5eu9OYLU43otb98T\nPLr+flaYC/NUn81ETm484T4VvwYmneTwkLbUwp4wLh/vx3rEUMfqe9pQy3omywC0\nWqu1kx+AiYQElY2NfwmTv9SoqORjbdlk5LgpWgi/UOGED1V7XwgiG/W9mR4U9s70\nWBCCswo9GcG/W6uqmdjyMb3lOGbcWAXH7WMaLgqXfIeTK7KK4/HsGOV1timH59yL\nGn602MnTihdsfSlEvoqq9X46Lmgxk7lq2prg2+kupYTNHAq4Sgj5nPFhJpiTt3tm\n7JFe3VE/23MPrQRYCd0EApUKPtN236YQHoA96M2kZNEzx5LH4k5E4wnJTsJdhw4S\nnr8PyQUQ3nqjsTzyP6WqJ3mtMX0f/fwZacXduT98zca0wjAefm6S139hdlqP65VN\nvBFuIXxZN5nQBrz5Bm0yFqXZaajh3DyAHmBR3NdUIR7KYndP+tiPsys6DXhyyWhB\nWkdKwqPrGtcKqzwyVcgKEZzfdNbwQBUdyLmPtTbFr/giuMod89a2GQ+fYWVq6nTI\nfI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuWl8PVP3wb\nI+2ksx0WckNLIOFZfsLorSa/ovc=\n-----END CERTIFICATE-----\n\n# Issuer: CN=CA Disig Root R1 O=Disig a.s.\n# Subject: CN=CA Disig Root R1 O=Disig a.s.\n# Label: \"CA Disig Root R1\"\n# Serial: 14052245610670616104\n# MD5 Fingerprint: be:ec:11:93:9a:f5:69:21:bc:d7:c1:c0:67:89:cc:2a\n# SHA1 Fingerprint: 8e:1c:74:f8:a6:20:b9:e5:8a:f4:61:fa:ec:2b:47:56:51:1a:52:c6\n# SHA256 Fingerprint: f9:6f:23:f4:c3:e7:9c:07:7a:46:98:8d:5a:f5:90:06:76:a0:f0:39:cb:64:5d:d1:75:49:b2:16:c8:24:40:ce\n-----BEGIN CERTIFICATE-----\nMIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNV\nBAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu\nMRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQy\nMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx\nEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjEw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy3QRk\nD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/o\nOI7bm+V8u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3A\nfQ+lekLZWnDZv6fXARz2m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJe\nIgpFy4QxTaz+29FHuvlglzmxZcfe+5nkCiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8n\noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTaYVKvJrT1cU/J19IG32PK\n/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6vpmumwKj\nrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD\n3AjLLhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE\n7cderVC6xkGbrPAXZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkC\nyC2fg69naQanMVXVz0tv/wQFx1isXxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLd\nqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud\nDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ04IwDQYJKoZI\nhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR\nxVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaA\nSfX8MPWbTx9BLxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXo\nHqJPYNcHKfyyo6SdbhWSVhlMCrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpB\nemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5GfbVSUZP/3oNn6z4eGBrxEWi1CXYBmC\nAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85YmLLW1AL14FABZyb\n7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKSds+x\nDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvk\nF7mGnjixlAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqF\na3qdnom2piiZk4hA9z7NUaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsT\nQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJa7+h89n07eLw4+1knj0vllJPgFOL\n-----END CERTIFICATE-----\n\n# Issuer: CN=CA Disig Root R2 O=Disig a.s.\n# Subject: CN=CA Disig Root R2 O=Disig a.s.\n# Label: \"CA Disig Root R2\"\n# Serial: 10572350602393338211\n# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03\n# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71\n# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03\n-----BEGIN CERTIFICATE-----\nMIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV\nBAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu\nMRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy\nMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx\nEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe\nNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH\nPWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I\nx2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe\nQTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR\nyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO\nQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912\nH9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ\nQfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD\ni/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs\nnLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1\nrqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud\nDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI\nhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM\ntCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf\nGopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb\nlvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka\n+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal\nTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i\nnSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3\ngzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr\nG5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os\nzMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x\nL4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL\n-----END CERTIFICATE-----\n\n# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV\n# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV\n# Label: \"ACCVRAIZ1\"\n# Serial: 6828503384748696800\n# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02\n# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17\n# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13\n-----BEGIN CERTIFICATE-----\nMIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE\nAwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw\nCQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ\nBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND\nVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb\nqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY\nHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo\nG2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA\nlHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr\nIA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/\n0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH\nk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47\n4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO\nm3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa\ncXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl\nuUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI\nKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls\nZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG\nAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2\nVuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT\nVfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG\nCCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA\ncgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA\nQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA\n7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA\ncgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA\nQwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA\nczAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu\naHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt\naW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud\nDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF\nBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp\nD70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU\nJyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m\nAM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD\nvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms\ntn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH\n7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h\nI6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA\nh1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF\nd3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H\npPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7\n-----END CERTIFICATE-----\n\n# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA\n# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA\n# Label: \"TWCA Global Root CA\"\n# Serial: 3262\n# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96\n# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65\n# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b\n-----BEGIN CERTIFICATE-----\nMIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx\nEjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT\nVFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5\nNTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT\nB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF\n10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz\n0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh\nMBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH\nzIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc\n46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2\nyKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi\nlaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP\noA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA\nBDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE\nqYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm\n4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB\n/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL\n1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn\nLhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF\nH6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo\nRI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+\nnile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh\n15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW\n6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW\nnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j\nwa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz\naGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy\nKwbQBM0=\n-----END CERTIFICATE-----\n\n# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera\n# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera\n# Label: \"TeliaSonera Root CA v1\"\n# Serial: 199041966741090107964904287217786801558\n# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c\n# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37\n# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89\n-----BEGIN CERTIFICATE-----\nMIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw\nNzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv\nb3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD\nVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2\nMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F\nVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1\n7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X\nZ75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+\n/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs\n81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm\ndtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe\nOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu\nsDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4\npgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs\nslESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ\narMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD\nVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG\n9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl\ndxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx\n0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj\nTQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed\nY2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7\nQ4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI\nOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7\nvVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW\nt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn\nHL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx\nSK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=\n-----END CERTIFICATE-----\n\n# Issuer: CN=E-Tugra Certification Authority O=E-Tuğra EBG Bilişim Teknolojileri ve Hizmetleri A.Ş. OU=E-Tugra Sertifikasyon Merkezi\n# Subject: CN=E-Tugra Certification Authority O=E-Tuğra EBG Bilişim Teknolojileri ve Hizmetleri A.Ş. OU=E-Tugra Sertifikasyon Merkezi\n# Label: \"E-Tugra Certification Authority\"\n# Serial: 7667447206703254355\n# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49\n# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39\n# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c\n-----BEGIN CERTIFICATE-----\nMIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV\nBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC\naWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV\nBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1\nZ3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz\nMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+\nBgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp\nem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN\nZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY\nB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH\nD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF\nQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo\nq1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D\nk14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH\nfC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut\ndEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM\nti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8\nzLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn\nrFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX\nU8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6\nJyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5\nXPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF\nNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR\nHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY\nGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c\n77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3\n+GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK\nvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6\nFiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl\nyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P\nAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD\ny4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d\nNL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA==\n-----END CERTIFICATE-----\n\n# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center\n# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center\n# Label: \"T-TeleSec GlobalRoot Class 2\"\n# Serial: 1\n# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a\n# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9\n# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52\n-----BEGIN CERTIFICATE-----\nMIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx\nKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd\nBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl\nYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1\nOTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy\naXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50\nZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd\nAqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC\nFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi\n1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq\njnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ\nwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj\nQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/\nWSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy\nNsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC\nuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw\nIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6\ng1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN\n9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP\nBSeOE6Fuwg==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Atos TrustedRoot 2011 O=Atos\n# Subject: CN=Atos TrustedRoot 2011 O=Atos\n# Label: \"Atos TrustedRoot 2011\"\n# Serial: 6643877497813316402\n# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56\n# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21\n# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74\n-----BEGIN CERTIFICATE-----\nMIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE\nAwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG\nEwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM\nFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC\nREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp\nNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM\nVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+\nSZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ\n4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L\ncp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi\neowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV\nHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG\nA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3\nDQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j\nvZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP\nDpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc\nmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D\nlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv\nKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed\n-----END CERTIFICATE-----\n\n# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited\n# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited\n# Label: \"QuoVadis Root CA 1 G3\"\n# Serial: 687049649626669250736271037606554624078720034195\n# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab\n# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67\n# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74\n-----BEGIN CERTIFICATE-----\nMIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL\nBQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc\nBgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00\nMjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM\naW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV\nwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe\nrNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341\n68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh\n4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp\nUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o\nabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc\n3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G\nKubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt\nhfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO\nTk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt\nzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB\nBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD\nggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC\nMTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2\ncDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN\nqXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5\nYCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv\nb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2\n8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k\nNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj\nZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp\nq1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt\nnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD\n-----END CERTIFICATE-----\n\n# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited\n# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited\n# Label: \"QuoVadis Root CA 2 G3\"\n# Serial: 390156079458959257446133169266079962026824725800\n# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06\n# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36\n# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40\n-----BEGIN CERTIFICATE-----\nMIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL\nBQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc\nBgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00\nMjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM\naW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf\nqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW\nn4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym\nc5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+\nO7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1\no9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j\nIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq\nIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz\n8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh\nvNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l\n7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG\ncC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB\nBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD\nggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66\nAarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC\nroijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga\nW/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n\nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE\n+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV\ncsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd\ndbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg\nKCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM\nHVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4\nWSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M\n-----END CERTIFICATE-----\n\n# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited\n# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited\n# Label: \"QuoVadis Root CA 3 G3\"\n# Serial: 268090761170461462463995952157327242137089239581\n# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7\n# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d\n# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46\n-----BEGIN CERTIFICATE-----\nMIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL\nBQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc\nBgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00\nMjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM\naW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR\n/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu\nFoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR\nU7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c\nra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR\nFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k\nA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw\neyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl\nsSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp\nVzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q\nA4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+\nydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB\nBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD\nggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px\nKGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI\nFUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv\noxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg\nu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP\n0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf\n3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl\n8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+\nDhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN\nPlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/\nywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0\n-----END CERTIFICATE-----\n\n# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com\n# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com\n# Label: \"DigiCert Assured ID Root G2\"\n# Serial: 15385348160840213938643033620894905419\n# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d\n# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f\n# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85\n-----BEGIN CERTIFICATE-----\nMIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv\nb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG\nEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl\ncnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA\nn61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc\nbiJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp\nEgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA\nbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu\nYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB\nAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW\nBBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI\nQW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I\n0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni\nlmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9\nB5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv\nON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo\nIhNzbM8m9Yop5w==\n-----END CERTIFICATE-----\n\n# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com\n# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com\n# Label: \"DigiCert Assured ID Root G3\"\n# Serial: 15459312981008553731928384953135426796\n# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb\n# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89\n# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2\n-----BEGIN CERTIFICATE-----\nMIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw\nCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu\nZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg\nRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV\nUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu\nY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq\nhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf\nZn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q\nRSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/\nBAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD\nAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY\nJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv\n6pZjamVFkpUBtA==\n-----END CERTIFICATE-----\n\n# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com\n# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com\n# Label: \"DigiCert Global Root G2\"\n# Serial: 4293743540046975378534879503202253541\n# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44\n# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4\n# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f\n-----BEGIN CERTIFICATE-----\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\nMrY=\n-----END CERTIFICATE-----\n\n# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com\n# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com\n# Label: \"DigiCert Global Root G3\"\n# Serial: 7089244469030293291760083333884364146\n# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca\n# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e\n# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0\n-----BEGIN CERTIFICATE-----\nMIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw\nCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu\nZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe\nFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw\nEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x\nIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF\nK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG\nfp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO\nZ9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd\nBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx\nAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/\noAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8\nsycX\n-----END CERTIFICATE-----\n\n# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com\n# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com\n# Label: \"DigiCert Trusted Root G4\"\n# Serial: 7451500558977370777930084869016614236\n# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49\n# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4\n# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88\n-----BEGIN CERTIFICATE-----\nMIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg\nRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV\nUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu\nY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y\nithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If\nxp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV\nySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO\nDCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ\njdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/\nCNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi\nEhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM\nfRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY\nuKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK\nchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t\n9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB\nhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD\nggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2\nSV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd\n+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc\nfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa\nsjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N\ncCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N\n0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie\n4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI\nr/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1\n/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm\ngKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+\n-----END CERTIFICATE-----\n\n# Issuer: CN=Certification Authority of WoSign O=WoSign CA Limited\n# Subject: CN=Certification Authority of WoSign O=WoSign CA Limited\n# Label: \"WoSign\"\n# Serial: 125491772294754854453622855443212256657\n# MD5 Fingerprint: a1:f2:f9:b5:d2:c8:7a:74:b8:f3:05:f1:d7:e1:84:8d\n# SHA1 Fingerprint: b9:42:94:bf:91:ea:8f:b6:4b:e6:10:97:c7:fb:00:13:59:b6:76:cb\n# SHA256 Fingerprint: 4b:22:d5:a6:ae:c9:9f:3c:db:79:aa:5e:c0:68:38:47:9c:d5:ec:ba:71:64:f7:f2:2d:c1:d6:5f:63:d8:57:08\n-----BEGIN CERTIFICATE-----\nMIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBV\nMQswCQYDVQQGEwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNV\nBAMTIUNlcnRpZmljYXRpb24gQXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0wOTA4MDgw\nMTAwMDFaFw0zOTA4MDgwMTAwMDFaMFUxCzAJBgNVBAYTAkNOMRowGAYDVQQKExFX\nb1NpZ24gQ0EgTGltaXRlZDEqMCgGA1UEAxMhQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkgb2YgV29TaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvcqN\nrLiRFVaXe2tcesLea9mhsMMQI/qnobLMMfo+2aYpbxY94Gv4uEBf2zmoAHqLoE1U\nfcIiePyOCbiohdfMlZdLdNiefvAA5A6JrkkoRBoQmTIPJYhTpA2zDxIIFgsDcScc\nf+Hb0v1naMQFXQoOXXDX2JegvFNBmpGN9J42Znp+VsGQX+axaCA2pIwkLCxHC1l2\nZjC1vt7tj/id07sBMOby8w7gLJKA84X5KIq0VC6a7fd2/BVoFutKbOsuEo/Uz/4M\nx1wdC34FMr5esAkqQtXJTpCzWQ27en7N1QhatH/YHGkR+ScPewavVIMYe+HdVHpR\naG53/Ma/UkpmRqGyZxq7o093oL5d//xWC0Nyd5DKnvnyOfUNqfTq1+ezEC8wQjch\nzDBwyYaYD8xYTYO7feUapTeNtqwylwA6Y3EkHp43xP901DfA4v6IRmAR3Qg/UDar\nuHqklWJqbrDKaiFaafPz+x1wOZXzp26mgYmhiMU7ccqjUu6Du/2gd/Tkb+dC221K\nmYo0SLwX3OSACCK28jHAPwQ+658geda4BmRkAjHXqc1S+4RFaQkAKtxVi8QGRkvA\nSh0JWzko/amrzgD5LkhLJuYwTKVYyrREgk/nkR4zw7CT/xH8gdLKH3Ep3XZPkiWv\nHYG3Dy+MwwbMLyejSuQOmbp8HkUff6oZRZb9/D0CAwEAAaNCMEAwDgYDVR0PAQH/\nBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOFmzw7R8bNLtwYgFP6H\nEtX2/vs+MA0GCSqGSIb3DQEBBQUAA4ICAQCoy3JAsnbBfnv8rWTjMnvMPLZdRtP1\nLOJwXcgu2AZ9mNELIaCJWSQBnfmvCX0KI4I01fx8cpm5o9dU9OpScA7F9dY74ToJ\nMuYhOZO9sxXqT2r09Ys/L3yNWC7F4TmgPsc9SnOeQHrAK2GpZ8nzJLmzbVUsWh2e\nJXLOC62qx1ViC777Y7NhRCOjy+EaDveaBk3e1CNOIZZbOVtXHS9dCF4Jef98l7VN\ng64N1uajeeAz0JmWAjCnPv/So0M/BVoG6kQC2nz4SNAzqfkHx5Xh9T71XXG68pWp\ndIhhWeO/yloTunK0jF02h+mmxTwTv97QRCbut+wucPrXnbes5cVAWubXbHssw1ab\nR80LzvobtCHXt2a49CUwi1wNuepnsvRtrtWhnk/Yn+knArAdBtaP4/tIEp9/EaEQ\nPkxROpaw0RPxx9gmrjrKkcRpnd8BKWRRb2jaFOwIQZeQjdCygPLPwj2/kWjFgGce\nxGATVdVhmVd8upUPYUk6ynW8yQqTP2cOEvIo4jEbwFcW3wh8GcF+Dx+FHgo2fFt+\nJ7x6v+Db9NpSvd4MVHAxkUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMl\nOtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGikpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWT\nee5Ehr7XHuQe+w==\n-----END CERTIFICATE-----\n\n# Issuer: CN=CA 沃通根证书 O=WoSign CA Limited\n# Subject: CN=CA 沃通根证书 O=WoSign CA Limited\n# Label: \"WoSign China\"\n# Serial: 106921963437422998931660691310149453965\n# MD5 Fingerprint: 78:83:5b:52:16:76:c4:24:3b:83:78:e8:ac:da:9a:93\n# SHA1 Fingerprint: 16:32:47:8d:89:f9:21:3a:92:00:85:63:f5:a4:a7:d3:12:40:8a:d6\n# SHA256 Fingerprint: d6:f0:34:bd:94:aa:23:3f:02:97:ec:a4:24:5b:28:39:73:e4:47:aa:59:0f:31:0c:77:f4:8f:df:83:11:22:54\n-----BEGIN CERTIFICATE-----\nMIIFWDCCA0CgAwIBAgIQUHBrzdgT/BtOOzNy0hFIjTANBgkqhkiG9w0BAQsFADBG\nMQswCQYDVQQGEwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNV\nBAMMEkNBIOayg+mAmuagueivgeS5pjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgw\nMTAwMDFaMEYxCzAJBgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRl\nZDEbMBkGA1UEAwwSQ0Eg5rKD6YCa5qC56K+B5LmmMIICIjANBgkqhkiG9w0BAQEF\nAAOCAg8AMIICCgKCAgEA0EkhHiX8h8EqwqzbdoYGTufQdDTc7WU1/FDWiD+k8H/r\nD195L4mx/bxjWDeTmzj4t1up+thxx7S8gJeNbEvxUNUqKaqoGXqW5pWOdO2XCld1\n9AXbbQs5uQF/qvbW2mzmBeCkTVL829B0txGMe41P/4eDrv8FAxNXUDf+jJZSEExf\nv5RxadmWPgxDT74wwJ85dE8GRV2j1lY5aAfMh09Qd5Nx2UQIsYo06Yms25tO4dnk\nUkWMLhQfkWsZHWgpLFbE4h4TV2TwYeO5Ed+w4VegG63XX9Gv2ystP9Bojg/qnw+L\nNVgbExz03jWhCl3W6t8Sb8D7aQdGctyB9gQjF+BNdeFyb7Ao65vh4YOhn0pdr8yb\n+gIgthhid5E7o9Vlrdx8kHccREGkSovrlXLp9glk3Kgtn3R46MGiCWOc76DbT52V\nqyBPt7D3h1ymoOQ3OMdc4zUPLK2jgKLsLl3Az+2LBcLmc272idX10kaO6m1jGx6K\nyX2m+Jzr5dVjhU1zZmkR/sgO9MHHZklTfuQZa/HpelmjbX7FF+Ynxu8b22/8DU0G\nAbQOXDBGVWCvOGU6yke6rCzMRh+yRpY/8+0mBe53oWprfi1tWFxK1I5nuPHa1UaK\nJ/kR8slC/k7e3x9cxKSGhxYzoacXGKUN5AXlK8IrC6KVkLn9YDxOiT7nnO4fuwEC\nAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O\nBBYEFOBNv9ybQV0T6GTwp+kVpOGBwboxMA0GCSqGSIb3DQEBCwUAA4ICAQBqinA4\nWbbaixjIvirTthnVZil6Xc1bL3McJk6jfW+rtylNpumlEYOnOXOvEESS5iVdT2H6\nyAa+Tkvv/vMx/sZ8cApBWNromUuWyXi8mHwCKe0JgOYKOoICKuLJL8hWGSbueBwj\n/feTZU7n85iYr83d2Z5AiDEoOqsuC7CsDCT6eiaY8xJhEPRdF/d+4niXVOKM6Cm6\njBAyvd0zaziGfjk9DgNyp115j0WKWa5bIW4xRtVZjc8VX90xJc/bYNaBRHIpAlf2\nltTW/+op2znFuCyKGo3Oy+dCMYYFaA6eFN0AkLppRQjbbpCBhqcqBT/mhDn4t/lX\nX0ykeVoQDF7Va/81XwVRHmyjdanPUIPTfPRm94KNPQx96N97qA4bLJyuQHCH2u2n\nFoJavjVsIE4iYdm8UXrNemHcSxH5/mc0zy4EZmFcV5cjjPOGG0jfKq+nwf/Yjj4D\nu9gqsPoUJbJRa4ZDhS4HIxaAjUz7tGM7zMN07RujHv41D198HRaG9Q7DlfEvr10l\nO1Hm13ZBONFLAzkopR6RctR9q5czxNM+4Gm2KHmgCY0c0f9BckgG/Jou5yD5m6Le\nie2uPAmvylezkolwQOQvT8Jwg0DXJCxr5wkf09XHwQj02w47HAcLQxGEIYbpgNR1\n2KvxAmLBsX5VYc8T1yaw15zLKYs4SgsOkI26oQ==\n-----END CERTIFICATE-----\n\n# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited\n# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited\n# Label: \"COMODO RSA Certification Authority\"\n# Serial: 101909084537582093308941363524873193117\n# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18\n# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4\n# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34\n-----BEGIN CERTIFICATE-----\nMIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB\nhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G\nA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV\nBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5\nMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT\nEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR\nQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh\ndGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR\n6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X\npz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC\n9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV\n/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf\nZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z\n+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w\nqP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah\nSL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC\nu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf\nFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq\ncrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E\nFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB\n/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl\nwFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM\n4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV\n2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna\nFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ\nCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK\nboHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke\njkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL\nS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb\nQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl\n0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB\nNVOFBkpdn627G190\n-----END CERTIFICATE-----\n\n# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network\n# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network\n# Label: \"USERTrust RSA Certification Authority\"\n# Serial: 2645093764781058787591871645665788717\n# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5\n# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e\n# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2\n-----BEGIN CERTIFICATE-----\nMIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB\niDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl\ncnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV\nBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw\nMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV\nBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU\naGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy\ndGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK\nAoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B\n3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY\ntJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/\nFp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2\nVN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT\n79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6\nc0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT\nYo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l\nc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee\nUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE\nHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd\nBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G\nA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF\nUp/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO\nVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3\nATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs\n8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR\niQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze\nSf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ\nXHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/\nqS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB\nVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB\nL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG\njjxDah2nGN59PRbxYvnKkKj9\n-----END CERTIFICATE-----\n\n# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network\n# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network\n# Label: \"USERTrust ECC Certification Authority\"\n# Serial: 123013823720199481456569720443997572134\n# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1\n# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0\n# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a\n-----BEGIN CERTIFICATE-----\nMIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl\neSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT\nJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx\nMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT\nCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg\nVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm\naWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo\nI+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng\no4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G\nA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD\nVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB\nzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW\nRNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=\n-----END CERTIFICATE-----\n\n# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4\n# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4\n# Label: \"GlobalSign ECC Root CA - R4\"\n# Serial: 14367148294922964480859022125800977897474\n# MD5 Fingerprint: 20:f0:27:68:d1:7e:a0:9d:0e:e6:2a:ca:df:5c:89:8e\n# SHA1 Fingerprint: 69:69:56:2e:40:80:f4:24:a1:e7:19:9f:14:ba:f3:ee:58:ab:6a:bb\n# SHA256 Fingerprint: be:c9:49:11:c2:95:56:76:db:6c:0a:55:09:86:d7:6e:3b:a0:05:66:7c:44:2c:97:62:b4:fb:b7:73:de:22:8c\n-----BEGIN CERTIFICATE-----\nMIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk\nMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH\nbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX\nDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD\nQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ\nFspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw\nDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F\nuOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX\nkPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs\newv4n4Q=\n-----END CERTIFICATE-----\n\n# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5\n# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5\n# Label: \"GlobalSign ECC Root CA - R5\"\n# Serial: 32785792099990507226680698011560947931244\n# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08\n# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa\n# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24\n-----BEGIN CERTIFICATE-----\nMIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk\nMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH\nbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX\nDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD\nQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc\n8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke\nhOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD\nVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI\nKoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg\n515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO\nxwy8p2Fp8fc74SrL+SvzZpA3\n-----END CERTIFICATE-----\n\n# Issuer: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden\n# Subject: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden\n# Label: \"Staat der Nederlanden Root CA - G3\"\n# Serial: 10003001\n# MD5 Fingerprint: 0b:46:67:07:db:10:2f:19:8c:35:50:60:d1:0b:f4:37\n# SHA1 Fingerprint: d8:eb:6b:41:51:92:59:e0:f3:e7:85:00:c0:3d:b6:88:97:c9:ee:fc\n# SHA256 Fingerprint: 3c:4f:b0:b9:5a:b8:b3:00:32:f4:32:b8:6f:53:5f:e1:72:c1:85:d0:fd:39:86:58:37:cf:36:18:7f:a6:f4:28\n-----BEGIN CERTIFICATE-----\nMIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO\nTDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh\ndCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX\nDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl\nciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv\nb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP\ncPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW\nIkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX\nxz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy\nKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR\n9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az\n5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8\n6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7\nNgzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP\nbMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt\nBznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt\nXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF\nMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd\nINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD\nU5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp\nLiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8\nIpf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp\ngZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh\n/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw\n0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A\nfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq\n4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR\n1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/\nQFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM\n94B7IWcnMFk=\n-----END CERTIFICATE-----\n\n# Issuer: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden\n# Subject: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden\n# Label: \"Staat der Nederlanden EV Root CA\"\n# Serial: 10000013\n# MD5 Fingerprint: fc:06:af:7b:e8:1a:f1:9a:b4:e8:d2:70:1f:c0:f5:ba\n# SHA1 Fingerprint: 76:e2:7e:c1:4f:db:82:c1:c0:a6:75:b5:05:be:3d:29:b4:ed:db:bb\n# SHA256 Fingerprint: 4d:24:91:41:4c:fe:95:67:46:ec:4c:ef:a6:cf:6f:72:e2:8a:13:29:43:2f:9d:8a:90:7a:c4:cb:5d:ad:c1:5a\n-----BEGIN CERTIFICATE-----\nMIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJO\nTDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFh\ndCBkZXIgTmVkZXJsYW5kZW4gRVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0y\nMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIg\nTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBS\nb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkkSzrS\nM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nC\nUiY4iKTWO0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3d\nZ//BYY1jTw+bbRcwJu+r0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46p\nrfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13l\npJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gVXJrm0w912fxBmJc+qiXb\nj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr08C+eKxC\nKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS\n/ZbV0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0X\ncgOPvZuM5l5Tnrmd74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH\n1vI4gnPah1vlPNOePqc7nvQDs/nxfRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrP\npx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB\n/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwaivsnuL8wbqg7\nMA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI\neK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u\n2dfOWBfoqSmuc0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHS\nv4ilf0X8rLiltTMMgsT7B/Zq5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTC\nwPTxGfARKbalGAKb12NMcIxHowNDXLldRqANb/9Zjr7dn3LDWyvfjFvO5QxGbJKy\nCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tNf1zuacpzEPuKqf2e\nvTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi5Dp6\nZ2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIa\nGl6I6lD4WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeL\neG9QgkRQP2YGiqtDhFZKDyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8\nFVdMpEbB4IMeDExNH08GGeL5qPQ6gqGyeUN51q1veieQA6TqJIc/2b3Z6fJfUEkc\n7uzXLg==\n-----END CERTIFICATE-----\n\n# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust\n# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust\n# Label: \"IdenTrust Commercial Root CA 1\"\n# Serial: 13298821034946342390520003877796839426\n# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7\n# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25\n# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae\n-----BEGIN CERTIFICATE-----\nMIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK\nMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu\nVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw\nMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw\nJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT\n3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU\n+ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp\nS0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1\nbVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi\nT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL\nvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK\nVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK\ndHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT\nc+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv\nl7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N\niGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB\n/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD\nggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH\n6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt\nLRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93\nnAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3\n+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK\nW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT\nAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq\nl1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG\n4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ\nmUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A\n7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H\n-----END CERTIFICATE-----\n\n# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust\n# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust\n# Label: \"IdenTrust Public Sector Root CA 1\"\n# Serial: 13298821034946342390521976156843933698\n# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba\n# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd\n# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f\n-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu\nVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN\nMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0\nMSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi\nMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7\nekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy\nRBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS\nbdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF\n/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R\n3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw\nEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy\n9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V\nGxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ\n2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV\nWaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD\nW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/\nBAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN\nAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj\nt2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV\nDRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9\nTaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G\nlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW\nmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df\nWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5\n+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ\ntshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA\nGaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv\n8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c\n-----END CERTIFICATE-----\n\n# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only\n# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only\n# Label: \"Entrust Root Certification Authority - G2\"\n# Serial: 1246989352\n# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2\n# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4\n# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39\n-----BEGIN CERTIFICATE-----\nMIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC\nVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50\ncnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs\nIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz\ndCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy\nNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu\ndHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt\ndGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0\naG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj\nYXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T\nRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN\ncCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW\nwcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1\nU1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0\njaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN\nBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/\njTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ\nRkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v\n1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R\nnAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH\nVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only\n# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only\n# Label: \"Entrust Root Certification Authority - EC1\"\n# Serial: 51543124481930649114116133369\n# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc\n# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47\n# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5\n-----BEGIN CERTIFICATE-----\nMIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG\nA1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3\nd3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu\ndHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq\nRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy\nMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD\nVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0\nL2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g\nZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD\nZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi\nA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt\nByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH\nBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O\nBBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC\nR98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX\nhTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G\n-----END CERTIFICATE-----\n\n# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority\n# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority\n# Label: \"CFCA EV ROOT\"\n# Serial: 407555286\n# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30\n# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83\n# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd\n-----BEGIN CERTIFICATE-----\nMIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD\nTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y\naXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx\nMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j\naWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP\nT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03\nsQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL\nTIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5\n/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp\n7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz\nEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt\nhxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP\na931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot\naK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg\nTnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV\nPKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv\ncWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL\ntbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd\nBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB\nACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT\nej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL\njOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS\nESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy\nP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19\nxIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d\nCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN\n5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe\n/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z\nAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ\n5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su\n-----END CERTIFICATE-----\n# Issuer: CN=Entrust.net Secure Server Certification Authority O=Entrust.net OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited\n# Subject: CN=Entrust.net Secure Server Certification Authority O=Entrust.net OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited\n# Label: \"Entrust.net Secure Server CA\"\n# Serial: 927650371\n# MD5 Fingerprint: df:f2:80:73:cc:f1:e6:61:73:fc:f5:42:e9:c5:7c:ee\n# SHA1 Fingerprint: 99:a6:9b:e6:1a:fe:88:6b:4d:2b:82:00:7c:b8:54:fc:31:7e:15:39\n# SHA256 Fingerprint: 62:f2:40:27:8c:56:4c:4d:d8:bf:7d:9d:4f:6f:36:6e:a8:94:d2:2f:5f:34:d9:89:a9:83:ac:ec:2f:ff:ed:50\n-----BEGIN CERTIFICATE-----\nMIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC\nVVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u\nZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc\nKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u\nZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1\nMjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE\nChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j\nb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF\nbnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg\nU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA\nA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/\nI0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3\nwkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC\nAdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb\noIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5\nBgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p\ndHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk\nMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp\nb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu\ndHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0\nMFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi\nE1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa\nMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI\nhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN\n95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd\n2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=\n-----END CERTIFICATE-----\n\n# Issuer: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 2 Policy Validation Authority\n# Subject: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 2 Policy Validation Authority\n# Label: \"ValiCert Class 2 VA\"\n# Serial: 1\n# MD5 Fingerprint: a9:23:75:9b:ba:49:36:6e:31:c2:db:f2:e7:66:ba:87\n# SHA1 Fingerprint: 31:7a:2a:d0:7f:2b:33:5e:f5:a1:c3:4e:4b:57:e8:b7:d8:f1:fc:a6\n# SHA256 Fingerprint: 58:d0:17:27:9c:d4:dc:63:ab:dd:b1:96:a6:c9:90:6c:30:c4:e0:87:83:ea:e8:c1:60:99:54:d6:93:55:59:6b\n-----BEGIN CERTIFICATE-----\nMIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0\nIFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz\nBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y\naXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG\n9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMTk1NFoXDTE5MDYy\nNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y\nazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs\nYXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw\nOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl\ncnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOOnHK5avIWZJV16vY\ndA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVCCSRrCl6zfN1SLUzm1NZ9\nWlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7RfZHM047QS\nv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9v\nUJSZSWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTu\nIYEZoDJJKPTEjlbVUjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwC\nW/POuZ6lcg5Ktz885hZo+L7tdEy8W9ViH0Pd\n-----END CERTIFICATE-----\n\n# Issuer: CN=NetLock Expressz (Class C) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok\n# Subject: CN=NetLock Expressz (Class C) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok\n# Label: \"NetLock Express (Class C) Root\"\n# Serial: 104\n# MD5 Fingerprint: 4f:eb:f1:f0:70:c2:80:63:5d:58:9f:da:12:3c:a9:c4\n# SHA1 Fingerprint: e3:92:51:2f:0a:cf:f5:05:df:f6:de:06:7f:75:37:e1:65:ea:57:4b\n# SHA256 Fingerprint: 0b:5e:ed:4e:84:64:03:cf:55:e0:65:84:84:40:ed:2a:82:75:8b:f5:b9:aa:1f:25:3d:46:13:cf:a0:80:ff:3f\n-----BEGIN CERTIFICATE-----\nMIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUx\nETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0\nb25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQD\nEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBDKSBUYW51c2l0dmFueWtpYWRvMB4X\nDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJBgNVBAYTAkhVMREw\nDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9u\nc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMr\nTmV0TG9jayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzAN\nBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNA\nOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3ZW3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC\n2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63euyucYT2BDMIJTLrdKwW\nRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQwDgYDVR0P\nAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEW\nggJNRklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0\nYWxhbm9zIFN6b2xnYWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFz\nb2sgYWxhcGphbiBrZXN6dWx0LiBBIGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBO\nZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1iaXp0b3NpdGFzYSB2ZWRpLiBB\nIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0ZWxlIGF6IGVs\nb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs\nZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25s\nYXBqYW4gYSBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kg\na2VyaGV0byBheiBlbGxlbm9yemVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4g\nSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5kIHRoZSB1c2Ugb2YgdGhpcyBjZXJ0\naWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQUyBhdmFpbGFibGUg\nYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwgYXQg\nY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmY\nta3UzbM2xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2g\npO0u9f38vf5NNwgMvOOWgyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4\nFp1hBWeAyNDYpQcCNJgEjTME1A==\n-----END CERTIFICATE-----\n\n# Issuer: CN=NetLock Uzleti (Class B) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok\n# Subject: CN=NetLock Uzleti (Class B) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok\n# Label: \"NetLock Business (Class B) Root\"\n# Serial: 105\n# MD5 Fingerprint: 39:16:aa:b9:6a:41:e1:14:69:df:9e:6c:3b:72:dc:b6\n# SHA1 Fingerprint: 87:9f:4b:ee:05:df:98:58:3b:e3:60:d6:33:e7:0d:3f:fe:98:71:af\n# SHA256 Fingerprint: 39:df:7b:68:2b:7b:93:8f:84:71:54:81:cc:de:8d:60:d8:f2:2e:c5:98:87:7d:0a:aa:c1:2b:59:18:2b:03:12\n-----BEGIN CERTIFICATE-----\nMIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUx\nETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0\nb25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQD\nEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikgVGFudXNpdHZhbnlraWFkbzAeFw05\nOTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYDVQQGEwJIVTERMA8G\nA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNh\nZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5l\ndExvY2sgVXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqG\nSIb3DQEBAQUAA4GNADCBiQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xK\ngZjupNTKihe5In+DCnVMm8Bp2GQ5o+2So/1bXHQawEfKOml2mrriRBf8TKPV/riX\niK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr1nGTLbO/CVRY7QbrqHvc\nQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8E\nBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1G\nSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFu\nb3MgU3pvbGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBh\nbGFwamFuIGtlc3p1bHQuIEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExv\nY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGln\naXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0\nIGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh\nc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGph\nbiBhIGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJo\nZXRvIGF6IGVsbGVub3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBP\nUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmlj\nYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBo\ndHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNA\nbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06\nsPgzTEdM43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXa\nn3BukxowOR0w2y7jfLKRstE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKS\nNitjrFgBazMpUIaD8QFI\n-----END CERTIFICATE-----\n\n# Issuer: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 3 Policy Validation Authority\n# Subject: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 3 Policy Validation Authority\n# Label: \"RSA Root Certificate 1\"\n# Serial: 1\n# MD5 Fingerprint: a2:6f:53:b7:ee:40:db:4a:68:e7:fa:18:d9:10:4b:72\n# SHA1 Fingerprint: 69:bd:8c:f4:9c:d3:00:fb:59:2e:17:93:ca:55:6a:f3:ec:aa:35:fb\n# SHA256 Fingerprint: bc:23:f9:8a:31:3c:b9:2d:e3:bb:fc:3a:5a:9f:44:61:ac:39:49:4c:4a:e1:5a:9e:9d:f1:31:e9:9b:73:01:9a\n-----BEGIN CERTIFICATE-----\nMIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0\nIFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz\nBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y\naXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG\n9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMjIzM1oXDTE5MDYy\nNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y\nazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs\nYXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw\nOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl\ncnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjmFGWHOjVsQaBalfD\ncnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td3zZxFJmP3MKS8edgkpfs\n2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89HBFx1cQqY\nJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliE\nZwgs3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJ\nn0WuPIqpsHEzXcjFV9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/A\nPhmcGcwTTYJBtYze4D1gCCAPRX5ron+jjBXu\n-----END CERTIFICATE-----\n\n# Issuer: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 1 Policy Validation Authority\n# Subject: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 1 Policy Validation Authority\n# Label: \"ValiCert Class 1 VA\"\n# Serial: 1\n# MD5 Fingerprint: 65:58:ab:15:ad:57:6c:1e:a8:a7:b5:69:ac:bf:ff:eb\n# SHA1 Fingerprint: e5:df:74:3c:b6:01:c4:9b:98:43:dc:ab:8c:e8:6a:81:10:9f:e4:8e\n# SHA256 Fingerprint: f4:c1:49:55:1a:30:13:a3:5b:c7:bf:fe:17:a7:f3:44:9b:c1:ab:5b:5a:0a:e7:4b:06:c2:3b:90:00:4c:01:04\n-----BEGIN CERTIFICATE-----\nMIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0\nIFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz\nBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y\naXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG\n9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIyMjM0OFoXDTE5MDYy\nNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y\nazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs\nYXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw\nOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl\ncnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9Y\nLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIiGQj4/xEjm84H9b9pGib+\nTunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCmDuJWBQ8Y\nTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0\nLBwGlN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLW\nI8sogTLDAHkY7FkXicnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPw\nnXS3qT6gpf+2SQMT2iLM7XGCK5nPOrf1LXLI\n-----END CERTIFICATE-----\n\n# Issuer: CN=Equifax Secure eBusiness CA-1 O=Equifax Secure Inc.\n# Subject: CN=Equifax Secure eBusiness CA-1 O=Equifax Secure Inc.\n# Label: \"Equifax Secure eBusiness CA 1\"\n# Serial: 4\n# MD5 Fingerprint: 64:9c:ef:2e:44:fc:c6:8f:52:07:d0:51:73:8f:cb:3d\n# SHA1 Fingerprint: da:40:18:8b:91:89:a3:ed:ee:ae:da:97:fe:2f:9d:f5:b7:d1:8a:41\n# SHA256 Fingerprint: cf:56:ff:46:a4:a1:86:10:9d:d9:65:84:b5:ee:b5:8a:51:0c:42:75:b0:e5:f9:4f:40:bb:ae:86:5e:19:f6:73\n-----BEGIN CERTIFICATE-----\nMIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEc\nMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBT\nZWN1cmUgZUJ1c2luZXNzIENBLTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQw\nMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5j\nLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENBLTEwgZ8wDQYJ\nKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ1MRo\nRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBu\nWqDZQu4aIZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKw\nEnv+j6YDAgMBAAGjZjBkMBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTAD\nAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kWNl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRK\neDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQFAAOBgQB1W6ibAxHm6VZM\nzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5lSE/9dR+\nWB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN\n/Bf+KpYrtWKmpj29f5JZzVoqgrI3eQ==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Equifax Secure Global eBusiness CA-1 O=Equifax Secure Inc.\n# Subject: CN=Equifax Secure Global eBusiness CA-1 O=Equifax Secure Inc.\n# Label: \"Equifax Secure Global eBusiness CA\"\n# Serial: 1\n# MD5 Fingerprint: 8f:5d:77:06:27:c4:98:3c:5b:93:78:e7:d7:7d:9b:cc\n# SHA1 Fingerprint: 7e:78:4a:10:1c:82:65:cc:2d:e1:f1:6d:47:b4:40:ca:d9:0a:19:45\n# SHA256 Fingerprint: 5f:0b:62:ea:b5:e3:53:ea:65:21:65:16:58:fb:b6:53:59:f4:43:28:0a:4a:fb:d1:04:d7:7d:10:f9:f0:4c:07\n-----BEGIN CERTIFICATE-----\nMIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEc\nMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBT\nZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIw\nMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0VxdWlmYXggU2Vj\ndXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEdsb2JhbCBlQnVzaW5l\nc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRVPEnC\nUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc\n58O/gGzNqfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/\no5brhTMhHD4ePmBudpxnhcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAH\nMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1dr\naGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hsMA0GCSqGSIb3DQEBBAUA\nA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okENI7SS+RkA\nZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv\n8qIYNMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV\n-----END CERTIFICATE-----\n\n# Issuer: CN=Thawte Premium Server CA O=Thawte Consulting cc OU=Certification Services Division\n# Subject: CN=Thawte Premium Server CA O=Thawte Consulting cc OU=Certification Services Division\n# Label: \"Thawte Premium Server CA\"\n# Serial: 1\n# MD5 Fingerprint: 06:9f:69:79:16:66:90:02:1b:8c:8c:a2:c3:07:6f:3a\n# SHA1 Fingerprint: 62:7f:8d:78:27:65:63:99:d2:7d:7f:90:44:c9:fe:b3:f3:3e:fa:9a\n# SHA256 Fingerprint: ab:70:36:36:5c:71:54:aa:29:c2:c2:9f:5d:41:91:16:3b:16:2a:22:25:01:13:57:d5:6d:07:ff:a7:bc:1f:72\n-----BEGIN CERTIFICATE-----\nMIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx\nFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD\nVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv\nbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy\ndmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t\nMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB\nMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG\nA1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp\nb24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl\ncnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv\nbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE\nVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ\nug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR\nuHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG\n9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI\nhfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM\npAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg==\n-----END CERTIFICATE-----\n\n# Issuer: CN=Thawte Server CA O=Thawte Consulting cc OU=Certification Services Division\n# Subject: CN=Thawte Server CA O=Thawte Consulting cc OU=Certification Services Division\n# Label: \"Thawte Server CA\"\n# Serial: 1\n# MD5 Fingerprint: c5:70:c4:a2:ed:53:78:0c:c8:10:53:81:64:cb:d0:1d\n# SHA1 Fingerprint: 23:e5:94:94:51:95:f2:41:48:03:b4:d5:64:d2:a3:a3:f5:d8:8b:8c\n# SHA256 Fingerprint: b4:41:0b:73:e2:e6:ea:ca:47:fb:c4:2f:8f:a4:01:8a:f4:38:1d:c5:4c:fa:a8:44:50:46:1e:ed:09:45:4d:e9\n-----BEGIN CERTIFICATE-----\nMIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkEx\nFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD\nVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv\nbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEm\nMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wHhcNOTYwODAx\nMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT\nDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3\ndGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl\ncyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3\nDQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD\ngY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl/Kj0R1HahbUgdJSGHg91\nyekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg71CcEJRCX\nL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGj\nEzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG\n7oWDTSEwjsrZqG9JGubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6e\nQNuozDJ0uW8NxuOzRAvZim+aKZuZGCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZ\nqdq5snUb9kLy78fyGPmJvKP/iiMucEc=\n-----END CERTIFICATE-----\n\n# Issuer: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority\n# Subject: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority\n# Label: \"Verisign Class 3 Public Primary Certification Authority\"\n# Serial: 149843929435818692848040365716851702463\n# MD5 Fingerprint: 10:fc:63:5d:f6:26:3e:0d:f3:25:be:5f:79:cd:67:67\n# SHA1 Fingerprint: 74:2c:31:92:e6:07:e4:24:eb:45:49:54:2b:e1:bb:c5:3e:61:74:e2\n# SHA256 Fingerprint: e7:68:56:34:ef:ac:f6:9a:ce:93:9a:6b:25:5b:7b:4f:ab:ef:42:93:5b:50:a2:65:ac:b5:cb:60:27:e4:4e:70\n-----BEGIN CERTIFICATE-----\nMIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG\nA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\ncyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\nMDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\nBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\nYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\nADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\nBarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\nI19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\nCSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do\nlbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc\nAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k\n-----END CERTIFICATE-----\n\n# Issuer: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority\n# Subject: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority\n# Label: \"Verisign Class 3 Public Primary Certification Authority\"\n# Serial: 80507572722862485515306429940691309246\n# MD5 Fingerprint: ef:5a:f1:33:ef:f1:cd:bb:51:02:ee:12:14:4b:96:c4\n# SHA1 Fingerprint: a1:db:63:93:91:6f:17:e4:18:55:09:40:04:15:c7:02:40:b0:ae:6b\n# SHA256 Fingerprint: a4:b6:b3:99:6f:c2:f3:06:b3:fd:86:81:bd:63:41:3d:8c:50:09:cc:4f:a3:29:c2:cc:f0:e2:fa:1b:14:03:05\n-----BEGIN CERTIFICATE-----\nMIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkG\nA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz\ncyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2\nMDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV\nBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt\nYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN\nADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE\nBarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is\nI19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G\nCSqGSIb3DQEBBQUAA4GBABByUqkFFBkyCEHwxWsKzH4PIRnN5GfcX6kb5sroc50i\n2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWXbj9T/UWZYB2oK0z5XqcJ\n2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/D/xwzoiQ\n-----END CERTIFICATE-----\n\n# Issuer: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority - G2/(c) 1998 VeriSign, Inc. - For authorized use only/VeriSign Trust Network\n# Subject: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority - G2/(c) 1998 VeriSign, Inc. - For authorized use only/VeriSign Trust Network\n# Label: \"Verisign Class 3 Public Primary Certification Authority - G2\"\n# Serial: 167285380242319648451154478808036881606\n# MD5 Fingerprint: a2:33:9b:4c:74:78:73:d4:6c:e7:c1:f3:8d:cb:5c:e9\n# SHA1 Fingerprint: 85:37:1c:a6:e5:50:14:3d:ce:28:03:47:1b:de:3a:09:e8:f8:77:0f\n# SHA256 Fingerprint: 83:ce:3c:12:29:68:8a:59:3d:48:5f:81:97:3c:0f:91:95:43:1e:da:37:cc:5e:36:43:0e:79:c7:a8:88:63:8b\n-----BEGIN CERTIFICATE-----\nMIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ\nBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh\nc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy\nMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp\nemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X\nDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw\nFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg\nUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo\nYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5\nMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB\nAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4\npO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0\n13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID\nAQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk\nU01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i\nF6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY\noJ2daZH9\n-----END CERTIFICATE-----\n\n# Issuer: CN=GTE CyberTrust Global Root O=GTE Corporation OU=GTE CyberTrust Solutions, Inc.\n# Subject: CN=GTE CyberTrust Global Root O=GTE Corporation OU=GTE CyberTrust Solutions, Inc.\n# Label: \"GTE CyberTrust Global Root\"\n# Serial: 421\n# MD5 Fingerprint: ca:3d:d3:68:f1:03:5c:d0:32:fa:b8:2b:59:e8:5a:db\n# SHA1 Fingerprint: 97:81:79:50:d8:1c:96:70:cc:34:d8:09:cf:79:44:31:36:7e:f4:74\n# SHA256 Fingerprint: a5:31:25:18:8d:21:10:aa:96:4b:02:c7:b7:c6:da:32:03:17:08:94:e5:fb:71:ff:fb:66:67:d5:e6:81:0a:36\n-----BEGIN CERTIFICATE-----\nMIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD\nVQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv\nbHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv\nb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV\nUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU\ncnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds\nb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH\niM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS\nr41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4\n04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r\nGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9\n3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P\nlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/\n-----END CERTIFICATE-----\n"
  },
  {
    "path": "dist_assets/linux/AppImageBuilder.yml",
    "content": "version: 1\n\nAppDir:\n  path: ./AppDir\n\n  app_info:\n    id: pyfa\n    name: pyfa\n    icon: pyfa\n    version: '{{PYFA_VERSION}}'\n    exec: usr/bin/python3.11\n    exec_args: \"-s $APPDIR/opt/pyfa/pyfa.py $@\"\n\n  apt:\n    arch: [ amd64 ]\n    sources:\n    - sourceline: 'deb http://us.archive.ubuntu.com/ubuntu jammy main restricted universe multiverse'\n      key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920d1991bc93c'\n    - sourceline: 'deb http://us.archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse'\n      key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920d1991bc93c'\n    - sourceline: 'deb http://us.archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse'\n      key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920d1991bc93c'\n    - sourceline: 'deb http://us.archive.ubuntu.com/ubuntu jammy-security main restricted universe multiverse'\n      key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920d1991bc93c'\n    - sourceline: 'deb https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy main'\n      key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf23c5a6cf475977595c89f51ba6932366a755776'\n\n    include:\n      - python3.11\n      # wx dependencies\n      - libgtk-3-0\n      - librsvg2-common  # GTK3 recommendation; without it, search in char editor crashes\n      - libwebkit2gtk-4.0-37  # Needed for wx's HTML lib\n      # Unknown\n      - libpcre2-32-0  # https://github.com/pyfa-org/Pyfa/issues/2572\n      - libnotify4  # https://github.com/pyfa-org/Pyfa/issues/2598\n      - libwayland-client0  # https://github.com/pyfa-org/Pyfa/issues/2600\n    exclude:\n      - hicolor-icon-theme\n      - humanity-icon-theme\n      - ubuntu-mono\n\n  after_bundle:\n    # Install python dependencies to bundled interpreter\n    - export PYTHONHOME=\"AppDir/usr\"\n    - export PYTHONPATH=\"AppDir/usr/lib/python3.11/site-packages\"\n    - curl -L https://bootstrap.pypa.io/get-pip.py -o get-pip.py\n    - AppDir/usr/bin/python3.11 get-pip.py\n    # Just to bundle certificates with AppImage\n    - AppDir/usr/bin/python3.11 -s -m pip install certifi\n    - AppDir/usr/bin/python3.11 -s -m pip install -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04 -r requirements.txt\n\n  files:\n    exclude:\n      - usr/lib/x86_64-linux-gnu/gconv\n      - usr/share/man\n      - usr/share/doc/*/README.*\n      - usr/share/doc/*/changelog.*\n      - usr/share/doc/*/NEWS.*\n      - usr/share/doc/*/TODO.*\n      - usr/include\n\n  runtime:\n    env:\n      PYTHONHOME: '${APPDIR}/usr'\n      PYTHONPATH: '${APPDIR}/usr/lib/python3.11/site-packages'\n      SSL_CERT_FILE: '${APPDIR}/usr/local/lib/python3.11/dist-packages/certifi/cacert.pem'\n      # Workaround for https://github.com/AppImageCrafters/appimage-builder/issues/336\n      XDG_DATA_DIRS: '${APPDIR}/usr/local/share:${APPDIR}/usr/share:/usr/local/share:/usr/share:$XDG_DATA_DIRS'\n\nAppImage:\n  sign-key: None\n  arch: x86_64\n  file_name: 'pyfa-{{PYFA_VERSION}}-linux.AppImage'\n"
  },
  {
    "path": "dist_assets/mac/pyfa.spec",
    "content": "# -*- mode: python -*-\n\nimport os\nfrom itertools import chain\nimport subprocess\nimport requests.certs\n\nlabel = subprocess.check_output([\n    \"git\", \"describe\", \"--tags\"]).strip()\n\nwith open('.version', 'w+') as f:\n    f.write(label.decode())\n\nblock_cipher = None\n\nadded_files = [\n             ('../../imgs/gui/*.png', 'imgs/gui'),\n             ('../../imgs/gui/*.gif', 'imgs/gui'),\n             ('../../imgs/icons/*.png', 'imgs/icons'),\n             ('../../imgs/renders/*.png', 'imgs/renders'),\n             ('../../dist_assets/win/pyfa.ico', '.'),\n             ('../../service/jargon/*.yaml', 'service/jargon'),\n             ('../../locale', 'locale'),\n             (requests.certs.where(), '.'),  # is this needed anymore?\n             ('../../eve.db', '.'),\n             ('../../README.md', '.'),\n             ('../../LICENSE', '.'),\n             ('../../version.yml', '.'),\n             ]\n\n\nimport_these = [\n    'numpy.core._dtype_ctypes',  # https://github.com/pyinstaller/pyinstaller/issues/3982\n    'sqlalchemy.ext.baked',  # windows build doesn't launch without if when using sqlalchemy 1.3.x\n    'pkg_resources.py2_warn'  # issue 2156\n]\n\nicon = os.path.join(os.getcwd(), \"dist_assets\", \"mac\", \"pyfa.icns\")\n\n# Walk directories that do dynamic importing\npaths = ('eos/db/migrations', 'service/conversions')\nfor root, folders, files in chain.from_iterable(os.walk(path) for path in paths):\n    for file_ in files:\n        if file_.endswith(\".py\") and not file_.startswith(\"_\"):\n            mod_name = \"{}.{}\".format(\n                root.replace(\"/\", \".\"),\n                file_.split(\".py\")[0],\n            )\n            import_these.append(mod_name)\n\na = Analysis([r'../../pyfa.py'],\n             pathex=[],\n             binaries=[],\n             datas=added_files,\n             hiddenimports=import_these,\n             hookspath=['dist_assets/pyinstaller_hooks'],\n             runtime_hooks=[],\n             excludes=[],\n             win_no_prefer_redirects=False,\n             win_private_assemblies=False,\n             cipher=block_cipher)\n\npyz = PYZ(a.pure, a.zipped_data,\n             cipher=block_cipher)\n\nexe = EXE(pyz,\n          a.scripts,\n          a.binaries,\n          a.zipfiles,\n          a.datas,\n          name='pyfa',\n          debug=False,\n          strip=False,\n          upx=True,\n          runtime_tmpdir=None,\n          console=False ,\n          icon=icon,\n          )\n\napp = BUNDLE(\n    exe,\n    name='pyfa.app',\n    version=os.getenv('PYFA_VERSION'),\n    icon=icon,\n    bundle_identifier=None,\n    info_plist={\n        'NSHighResolutionCapable': 'True',\n        'NSPrincipalClass': 'NSApplication',\n        'CFBundleName': 'pyfa',\n        'CFBundleDisplayName': 'pyfa',\n        'CFBundleIdentifier': 'org.pyfaorg.pyfa',\n        'CFBundleVersion': os.getenv('PYFA_VERSION'),\n        'CFBundleShortVersionString': os.getenv('PYFA_VERSION'),\n    }\n)\n"
  },
  {
    "path": "dist_assets/win/dist.py",
    "content": "# helper script to zip up pyinstaller distribution and create installer file\r\n\r\nimport os.path\r\nfrom subprocess import call\r\nimport zipfile\r\nfrom packaging.version import Version\r\nimport yaml\r\n\r\n\r\nwith open(\"version.yml\", 'r') as file:\r\n    data = yaml.load(file, Loader=yaml.SafeLoader)\r\n    version = data['version']\r\n\r\nos.environ[\"PYFA_DIST_DIR\"] = os.path.join(os.getcwd(), 'dist')\r\n\r\nos.environ[\"PYFA_VERSION\"] = version\r\niscc = r\"C:\\Program Files (x86)\\Inno Setup 6\\ISCC.exe\"\r\n\r\nsource = os.path.join(os.environ[\"PYFA_DIST_DIR\"], \"pyfa\")\r\n\r\nfileName = \"pyfa-{}-win\".format(os.environ[\"PYFA_VERSION\"])\r\n\r\nprint(\"Compiling EXE\")\r\n\r\nv = Version(version)\r\n\r\nprint(v)\r\n\r\ncall([\r\n    iscc,\r\n    os.path.join(os.getcwd(), \"dist_assets\", \"win\", \"pyfa-setup.iss\"),\r\n    \"/dMyAppVersion=%s\" % v,\r\n    \"/dMyAppDir=%s\" % source,\r\n    \"/dMyOutputDir=%s\" % os.path.join(os.getcwd()),\r\n    \"/dMyOutputFile=%s\" % fileName])  # stdout=devnull, stderr=devnull\r\n\r\nprint(\"Done\")\r\n"
  },
  {
    "path": "dist_assets/win/pyfa-setup.iss",
    "content": "; Script generated by the Inno Setup Script Wizard.\n; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!\n\n; Versioning\n; we do some #ifdef conditionals because automated compilation passes these as arguments\n\n#ifndef MyAppVersion\n    #define MyAppVersion \"2.1.0\"\n#endif\n\n; Other config\n\n#define MyAppName \"pyfa\"\n#define MyAppPublisher \"pyfa\"\n#define MyAppURL \"https://github.com/pyfa-org/Pyfa/\"\n#define MyAppExeName \"pyfa.exe\"\n\n#ifndef MyOutputFile\n    #define MyOutputFile LowerCase(StringChange(MyAppName+'-'+MyAppVersion+'-win', \" \", \"-\"))\n#endif\n#ifndef MyAppDir\n    #define MyAppDir \"pyfa\"\n#endif\n#ifndef MyOutputDir\n    #define MyOutputDir \"dist\"\n#endif\n\n[Setup]\n; NOTE: The value of AppId uniquely identifies this application.\n; Do not use the same AppId value in installers for other applications.\n; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)\nAppId={{3DA39096-C08D-49CD-90E0-1D177F32C8AA}\nAppName={#MyAppName}\nAppVersion={#MyAppVersion}\nAppPublisher={#MyAppPublisher}\nAppPublisherURL={#MyAppURL}\nAppSupportURL={#MyAppURL}\nAppUpdatesURL={#MyAppURL}\nArchitecturesAllowed=x64\nArchitecturesInstallIn64BitMode=x64\nCloseApplications=yes\nDefaultDirName={pf}\\{#MyAppName}\nDefaultGroupName={#MyAppName}\nAllowNoIcons=yes\nLicenseFile={#MyAppDir}\\app\\LICENSE\nOutputDir={#MyOutputDir}\nOutputBaseFilename={#MyOutputFile}\nSetupIconFile={#MyAppDir}\\app\\pyfa.ico\nSolidCompression=yes\n\n[Languages]\nName: \"english\"; MessagesFile: \"compiler:Default.isl\"\n\n[Tasks]\nName: \"desktopicon\"; Description: \"{cm:CreateDesktopIcon}\"; GroupDescription: \"{cm:AdditionalIcons}\"; Flags: unchecked\nName: \"quicklaunchicon\"; Description: \"{cm:CreateQuickLaunchIcon}\"; GroupDescription: \"{cm:AdditionalIcons}\"; Flags: unchecked; OnlyBelowVersion: 0,6.1\n\n[Files]\nSource: \"{#MyAppDir}\\pyfa.exe\"; DestDir: \"{app}\"; Flags: ignoreversion; AfterInstall: RemoveFromVirtualStore\nSource: \"{#MyAppDir}\\*\"; DestDir: \"{app}\"; Flags: ignoreversion recursesubdirs createallsubdirs\n; NOTE: Don't use \"Flags: ignoreversion\" on any shared system files\n\n[Icons]\nName: \"{group}\\{#MyAppName}\"; Filename: \"{app}\\{#MyAppExeName}\"\nName: \"{group}\\{cm:UninstallProgram,{#MyAppName}}\"; Filename: \"{uninstallexe}\"\nName: \"{commondesktop}\\{#MyAppName}\"; Filename: \"{app}\\{#MyAppExeName}\"; Tasks: desktopicon\nName: \"{userappdata}\\Microsoft\\Internet Explorer\\Quick Launch\\{#MyAppName}\"; Filename: \"{app}\\{#MyAppExeName}\"; Tasks: quicklaunchicon\n\n[Run]\nFilename: \"{app}\\{#MyAppExeName}\"; Description: \"{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}\"; Flags: nowait postinstall skipifsilent\n\n[InstallDelete]\n; These will delete left over generated files from 1.14 and below\nType: filesandordirs; Name: \"{app}\\eos\"\nType: filesandordirs; Name: \"{app}\\gui\"\nType: filesandordirs; Name: \"{app}\\service\"\nType: filesandordirs; Name: \"{app}\\utils\"\nType: files; Name: \"{app}\\*.pyo\"\nType: files; Name: \"{app}\\*.pyc\"\n\n[Code]\n\n/////////////////////////////////////////////////////////////////////\nfunction IsAppRunning(const FileName : string): Boolean;\nvar\n    FSWbemLocator: Variant;\n    FWMIService   : Variant;\n    FWbemObjectSet: Variant;\nbegin\n    Result := false;\n    FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');\n    FWMIService := FSWbemLocator.ConnectServer('', 'root\\CIMV2', '', '');\n    FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name=\"%s\"',[FileName]));\n    Result := (FWbemObjectSet.Count > 0);\n    FWbemObjectSet := Unassigned;\n    FWMIService := Unassigned;\n    FSWbemLocator := Unassigned;\nend;\n\n/////////////////////////////////////////////////////////////////////\nprocedure RemoveFromVirtualStore;\nvar\n    VirtualStore,FileName,FilePath:String;\n    DriveChars:Integer;\nbegin\n    VirtualStore:=AddBackslash(ExpandConstant('{localappdata}'))+'VirtualStore';\n    FileName:=ExpandConstant(CurrentFileName);\n    DriveChars:=Length(ExtractFileDrive(FileName));\n    if DriveChars>0 then begin\n        Delete(FileName,1,DriveChars);\n        FileName:=VirtualStore+FileName;\n        FilePath:=ExtractFilePath(FileName);\n        DelTree(FilePath, True, True, True);\n    end;\nend;\n\n/////////////////////////////////////////////////////////////////////\nfunction PrepareToInstall(var NeedsRestart: Boolean): String;\nbegin\n  if(IsAppRunning( 'pyfa.exe' )) then\n    begin\n      Result := 'Please close pyfa before continuing. When closed, please go back to the previous step and continue. If you have named this installer pyfa.exe, please rename it and restart installation';\n    end\n  else\n    begin\n      Result := '';\n    end\nend;\n\n/////////////////////////////////////////////////////////////////////\nfunction GetUninstallString(): String;\nvar\n  sUnInstPath: String;\n  sUnInstallString: String;\nbegin\n  sUnInstPath := ExpandConstant('Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{{3DA39096-C08D-49CD-90E0-1D177F32C8AA}_is1'); //Your App GUID/ID\n  sUnInstallString := '';\n  if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then\n    if not RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString) then\n      if not RegQueryStringValue(HKLM32, sUnInstPath, 'UninstallString', sUnInstallString) then\n        RegQueryStringValue(HKCU32, sUnInstPath, 'UninstallString', sUnInstallString);\n  Result := sUnInstallString;\nend;\n\n/////////////////////////////////////////////////////////////////////\nfunction UnInstallOldVersion(): Integer;\nvar\n  sUnInstallString: String;\n  iResultCode: Integer;\nbegin\n// Return Values:\n// 1 - uninstall string is empty\n// 2 - error executing the UnInstallString\n// 3 - successfully executed the UnInstallString\n\n  // default return value\n  Result := 0;\n\n  // get the uninstall string of the old app\n  sUnInstallString := GetUninstallString();\n  if sUnInstallString <> '' then begin\n    sUnInstallString := RemoveQuotes(sUnInstallString);\n    if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then\n      Result := 3\n    else\n      Result := 2;\n  end else\n    Result := 1;\nend;\n\n/////////////////////////////////////////////////////////////////////\nfunction IsUpgrade(): Boolean;\nbegin\n  Result := (GetUninstallString() <> '');\nend;\n\n/////////////////////////////////////////////////////////////////////\nprocedure CurStepChanged(CurStep: TSetupStep);\nbegin\n  if (CurStep=ssInstall) then\n  begin\n    if (IsUpgrade()) then\n    begin\n      UnInstallOldVersion();\n    end;\n  end;\nend;\n"
  },
  {
    "path": "dist_assets/win/pyfa.spec",
    "content": "# -*- mode: python -*-\n\nimport os\nfrom itertools import chain\nimport subprocess\nimport requests.certs\n\nlabel = subprocess.check_output([\"git\", \"describe\", \"--tags\"]).strip()\n\nwith open('.version', 'w+') as f:\n    f.write(label.decode())\n\nblock_cipher = None\n\nadded_files = [\n             ('../../imgs/gui/*.png', 'imgs/gui'),\n             ('../../imgs/gui/*.gif', 'imgs/gui'),\n             ('../../imgs/icons/*.png', 'imgs/icons'),\n             ('../../imgs/renders/*.png', 'imgs/renders'),\n             ('../../service/jargon/*.yaml', 'service/jargon'),\n             ('../../dist_assets/win/pyfa.ico', '.'),\n             ('../../dist_assets/win/pyfa.exe.manifest', '.'),\n             (requests.certs.where(), '.'),  # is this needed anymore?\n             ('../../eve.db', '.'),\n             ('../../README.md', '.'),\n             ('../../LICENSE', '.'),\n             ('../../version.yml', '.'),\n             ]\n\nimport_these = [\n    'numpy.core._dtype_ctypes',  # https://github.com/pyinstaller/pyinstaller/issues/3982\n    'sqlalchemy.ext.baked',  # windows build doesn't launch without if when using sqlalchemy 1.3.x\n    'pkg_resources.py2_warn'  # issue 2156\n]\n\n# Walk directories that do dynamic importing\npaths = ('eos/db/migrations', 'service/conversions')\nfor root, folders, files in chain.from_iterable(os.walk(path) for path in paths):\n    for file_ in files:\n        if file_.endswith(\".py\") and not file_.startswith(\"_\"):\n            mod_name = \"{}.{}\".format(\n                root.replace(\"/\", \".\"),\n                file_.split(\".py\")[0],\n            )\n            import_these.append(mod_name)\n\na = Analysis(['../../pyfa.py'],\n             pathex=[\n                 # Need this, see https://github.com/pyinstaller/pyinstaller/issues/1566\n                 # To get this, download and install windows 10 SDK\n                 # If not building on Windows 10, this might be optional\n                 r'C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\\DLLs\\x86'],\n             binaries=[],\n             datas=added_files,\n             hiddenimports=import_these,\n             hookspath=['dist_assets/pyinstaller_hooks'],\n             runtime_hooks=[],\n             excludes=['Tkinter'],\n             win_no_prefer_redirects=False,\n             win_private_assemblies=False,\n             cipher=block_cipher)\n\npyz = PYZ(a.pure, a.zipped_data,\n             cipher=block_cipher)\n\nexe = EXE(pyz,\n          a.scripts,\n          exclude_binaries=True,\n          debug=False,\n          console=False,\n          strip=False,\n          upx=True,\n          name='pyfa',\n          icon='dist_assets/win/pyfa.ico',\n          )\n\ncoll = COLLECT(\n               exe,\n               a.binaries,\n               a.zipfiles,\n               a.datas,\n               strip=False,\n               upx=True,\n               name='pyfa',\n               icon='dist_assets/win/pyfa.ico',\n               )\n\n"
  },
  {
    "path": "dist_assets/win/version_resource.py",
    "content": "# UTF-8\r\n#\r\n# For more details about fixed file info 'ffi' see:\r\n# http://msdn.microsoft.com/en-us/library/ms646997.aspx\r\nVSVersionInfo(\r\n  ffi=FixedFileInfo(\r\n    # filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4)\r\n    # Set not needed items to zero 0.\r\n    filevers=(1, 15, 1, 0),\r\n    prodvers=(1, 15, 1, 0),\r\n    # Contains a bitmask that specifies the valid bits 'flags'r\r\n    mask=0x3f,\r\n    # Contains a bitmask that specifies the Boolean attributes of the file.\r\n    flags=0x0,\r\n    # The operating system for which this file was designed.\r\n    # 0x4 - NT and there is no need to change it.\r\n    OS=0x40004,\r\n    # The general type of file.\r\n    # 0x1 - the file is an application.\r\n    fileType=0x1,\r\n    # The function of the file.\r\n    # 0x0 - the function is not defined for this fileType\r\n    subtype=0x0,\r\n    # Creation date and time stamp.\r\n    date=(0, 0)\r\n    ),\r\n  kids=[\r\n    StringFileInfo(\r\n      [\r\n      StringTable(\r\n        u'040904E4',\r\n        [StringStruct(u'LegalCopyright', u''),\r\n        StringStruct(u'InternalName', u'pyfa.exe'),\r\n        StringStruct(u'FileVersion', u'1.15.1.0'),\r\n        StringStruct(u'CompanyName', u''),\r\n        StringStruct(u'OriginalFilename', u'pyfa.exe'),\r\n        StringStruct(u'ProductVersion', u'1.15.1.0'),\r\n        StringStruct(u'FileDescription', u'Python fitting assistant'),\r\n        StringStruct(u'LegalTrademarks', u''),\r\n        StringStruct(u'Comments', u''),\r\n        StringStruct(u'ProductName', u'pyfa')])\r\n      ]),\r\n    VarFileInfo([VarStruct(u'Translation', [1033, 1252])])\r\n  ]\r\n)\r\n"
  },
  {
    "path": "docs/_config.yml",
    "content": "theme: jekyll-theme-midnight"
  },
  {
    "path": "docs/callback.html",
    "content": "<html>\n  <head>\n    <meta http-equiv=\"Content-type\" content=\"text/html;charset=UTF-8\" />\n    <title>pyfa Authentication Proxy</title>\n    <style type=\"text/css\">\n\n    \n      body { width: 700px; margin: 150px auto; }\n      h1 { font-size: 40px; }\n      h2 { font-size: 32px; }\n      body { font: 20px Helvetica, sans-serif; color: #333; }\n      #article { display: block; text-align: left; width: 650px; margin: 0 auto; }\n      .hidden { display:none; }\n      .success { color: #28a745; }\n      .error { color: #dc3545; }\n      textarea { width: 100%; height: 100px; }\n      hr { border-width: 1px 0 0 0; border-style: solid; border-color: #333; }\n      button { cursor: pointer; background-color: white; border: 1px solid #333; color: #333; padding: 8px 11px; text-align: center; text-decoration: none; display: inline-block; }\n      @media (prefers-color-scheme: dark) {\n          body { background-color: #333; color: white; }\n          textarea { width: 100%; height: 100px; background-color: #aaa;}\n          button { background-color: #333; border: 1px solid white; color: white;  }\n          hr { border-color: white; }\n      }\n    </style>\n  </head>\n\n  <body>\n    <!-- Layout from Short Circuit's CREST login. Shout out! https://github.com/farshield/shortcircuit -->\n      <h1>pyfa</h1>\n      <div id=\"mode0\" class=\"hidden\">\n        <p id=\"mode0-msg\">Processing request...</p>\n        <button id=\"showBtn\" onClick=\"showCode()\">Show Code</button>\n      </div>\n      <div id=\"mode1\" class=\"hidden\">\n        <p id=\"mode1-p\">Please copy and paste the token below into pyfa.</p>\n        <textarea id=\"authCodeText\" readonly></textarea>\n      </div>\n      \n    </div>\n    <script>\n      debugger;\n      function showCode() {\n        var element = document.getElementById(`mode1`);\n        element.classList.remove(\"hidden\");\n        element = document.getElementById(`showBtn`);\n        element.classList.add(\"hidden\"); \n      }\n\n      function httpPostAsync(url, callback)\n      {\n          var xmlHttp = new XMLHttpRequest();\n          xmlHttp.onreadystatechange = function() { \n              if (xmlHttp.readyState == XMLHttpRequest.DONE)\n                  callback(xmlHttp);\n          }\n          xmlHttp.open(\"GET\", url, true); // true for asynchronous \n          xmlHttp.send(null);\n      }\n\n      const urlSearchParams = new URLSearchParams(window.location.search);\n      const params = Object.fromEntries(urlSearchParams.entries());\n      let stateInfo;\n      try {\n        stateInfo = JSON.parse(atob(params.state))\n      } catch (err) {\n        // something has happened and we cannot continue.\n        // todo: show a simple message and exit.\n        throw err;\n      }\n\n      // we always want to show the text box for manual.\n      var element = document.getElementById(`mode${stateInfo.mode}`);\n      element.classList.remove(\"hidden\");\n\n      if (stateInfo.mode === 0) {\n        let p = document.getElementById(`mode1-p`);\n        p.prepend(document.createElement(\"hr\"))\n      }\n      debugger;\n      document.getElementById(`authCodeText`).value = btoa(JSON.stringify(params))\n\n      if (stateInfo.mode == 0) { // auto / server mode \n        httpPostAsync(stateInfo.redirect + window.location.search, (req)=>{\n          debugger;\n          const msgDiv = document.getElementById(`mode0-msg`);\n          if (req.status === 200) {\n            msgDiv.innerHTML =\"<span class='success'>Success!</span> You may close this window and return to the application.\";\n            return;\n          } else if (req.status === 0){\n            msgDiv.innerHTML = \"<span class='error'>Error!</span> Server response not received.<p><small>The local pyfa server may have timed out, or may not have started correctly.</small></p>\";\n          } else if (req.status === 400){\n            msgDiv.innerHTML = `<span class='error'>Error!</span> <p><small>${req.responseText}</small></p>`\n          } else {\n            msgDiv.innerHTML = `<span class='error'>Error!</span> <p><small>There was an unknown error. Please report this to the pyfa issues page.</p><p><textarea readdonly>${req.responseText}</textarea></small></p>`\n          }\n          showCode()\n          // todo: bad request error when it's not  an error itself, but rather\n        })\n        // todo: post message to local EVE server\n      }\n    </script>\n  </body>\n</html>\n"
  },
  {
    "path": "docs/index.md",
    "content": "## Welcome to GitHub Pages\n\nYou can use the [editor on GitHub](https://github.com/pyfa-org/Pyfa/edit/gh-pages/index.md) to maintain and preview the content for your website in Markdown files.\n\nWhenever you commit to this repository, GitHub Pages will run [Jekyll](https://jekyllrb.com/) to rebuild the pages in your site, from the content in your Markdown files.\n\n### Markdown\n\nMarkdown is a lightweight and easy-to-use syntax for styling your writing. It includes conventions for\n\n```markdown\nSyntax highlighted code block\n\n# Header 1\n## Header 2\n### Header 3\n\n- Bulleted\n- List\n\n1. Numbered\n2. List\n\n**Bold** and _Italic_ and `Code` text\n\n[Link](url) and ![Image](src)\n```\n\nFor more details see [GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/).\n\n### Jekyll Themes\n\nYour Pages site will use the layout and styles from the Jekyll theme you have selected in your [repository settings](https://github.com/pyfa-org/Pyfa/settings/pages). The name of this theme is saved in the Jekyll `_config.yml` configuration file.\n\n### Support or Contact\n\nHaving trouble with Pages? Check out our [documentation](https://docs.github.com/categories/github-pages-basics/) or [contact support](https://support.github.com/contact) and we’ll help you sort it out.\n"
  },
  {
    "path": "eos/__init__.py",
    "content": "version = \"0.2.3\"\r\ntag = \"git\"\r\n"
  },
  {
    "path": "eos/calc.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2019 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\n\r\n\r\n# Just copy-paste penalization chain calculation code (with some modifications,\r\n# as multipliers arrive in different form) in here to not make actual attribute\r\n# calculations slower than they already are due to extra function calls\r\ndef calculateMultiplier(multipliers):\r\n    \"\"\"\r\n    multipliers: dictionary in format:\r\n    {stacking group name: [(mult, resist attr ID), (mult, resist attr ID)]}\r\n    \"\"\"\r\n    val = 1\r\n    for penalizedMultipliers in multipliers.values():\r\n        # A quick explanation of how this works:\r\n        # 1: Bonuses and penalties are calculated seperately, so we'll have to filter each of them\r\n        l1 = [v[0] for v in penalizedMultipliers if v[0] > 1]\r\n        l2 = [v[0] for v in penalizedMultipliers if v[0] < 1]\r\n        # 2: The most significant bonuses take the smallest penalty,\r\n        # This means we'll have to sort\r\n        abssort = lambda _val: -abs(_val - 1)\r\n        l1.sort(key=abssort)\r\n        l2.sort(key=abssort)\r\n        # 3: The first module doesn't get penalized at all\r\n        # Any module after the first takes penalties according to:\r\n        # 1 + (multiplier - 1) * math.exp(- math.pow(i, 2) / 7.1289)\r\n        for l in (l1, l2):\r\n            for i in range(len(l)):\r\n                bonus = l[i]\r\n                val *= 1 + (bonus - 1) * math.exp(- i ** 2 / 7.1289)\r\n    return val\r\n\r\n\r\ndef calculateRangeFactor(srcOptimalRange, srcFalloffRange, distance, restrictedRange=True):\r\n    \"\"\"Range strength/chance factor, applicable to guns, ewar, RRs, etc.\"\"\"\r\n    if distance is None:\r\n        return 1\r\n    if srcFalloffRange > 0:\r\n        # Most modules cannot be activated when at 3x falloff range, with few exceptions like guns\r\n        if restrictedRange and distance > srcOptimalRange + 3 * srcFalloffRange:\r\n            return 0\r\n        return 0.5 ** ((max(0, distance - srcOptimalRange) / srcFalloffRange) ** 2)\r\n    elif distance <= srcOptimalRange:\r\n        return 1\r\n    else:\r\n        return 0\r\n\r\n\r\ndef calculateLockTime(srcScanRes, tgtSigRadius):\r\n    if not srcScanRes or not tgtSigRadius:\r\n        return None\r\n    return min(40000 / srcScanRes / math.asinh(tgtSigRadius) ** 2, 30 * 60)\r\n"
  },
  {
    "path": "eos/capSim.py",
    "content": "import heapq\r\nimport time\r\nfrom math import sqrt, exp\r\nfrom collections import Counter\r\n\r\nDAY = 24 * 60 * 60 * 1000\r\n\r\n\r\ndef lcm(a, b):\r\n    n = a * b\r\n    while b:\r\n        a, b = b, a % b\r\n    return n / a\r\n\r\n\r\nclass CapSimulator:\r\n    \"\"\"Entity's EVE Capacitor Simulator\"\"\"\r\n\r\n    def __init__(self):\r\n        # simulator defaults (change in instance, not here)\r\n\r\n        self.capacitorCapacity = 100\r\n        self.capacitorRecharge = 1000\r\n        self.startingCapacity = 1000\r\n\r\n        # max simulated time.\r\n        self.t_max = DAY\r\n\r\n        # take reloads into account?\r\n        self.reload = False\r\n\r\n        # stagger activations of identical modules?\r\n        self.stagger = False\r\n\r\n        # scale activation duration and capNeed to values that ease the\r\n        # calculation at the cost of accuracy?\r\n        self.scale = False\r\n\r\n        # millisecond resolutions for scaling\r\n        self.scale_resolutions = (100, 50, 25, 10)\r\n\r\n        # relevant decimal digits of capacitor for LCM period optimization\r\n        self.stability_precision = 1\r\n\r\n        # Stores how cap sim changed cap values outside of cap regen time\r\n        self.saved_changes = ()\r\n        self.saved_changes_internal = None\r\n\r\n        # Reports if sim was stopped due to detecting stability early\r\n        self.optimize_repeats = True\r\n        self.result_optimized_repeats = None\r\n\r\n    def scale_activation(self, duration, capNeed):\r\n        for res in self.scale_resolutions:\r\n            mod = duration % res\r\n            if mod:\r\n                if mod > res / 2.0:\r\n                    mod = res - mod\r\n                else:\r\n                    mod = -mod\r\n\r\n                if abs(mod) <= duration / 100.0:\r\n                    # only adjust if the adjustment is less than 1%\r\n                    duration += mod\r\n                    capNeed += float(mod) / duration * capNeed\r\n                    break\r\n\r\n        return duration, capNeed\r\n\r\n    def init(self, modules):\r\n        \"\"\"prepare modules. a list of (duration, capNeed, clipSize, disableStagger, reloadTime, isInjector) tuples is\r\n         expected, with clipSize 0 if the module has infinite ammo.\r\n            \"\"\"\r\n        self.modules = modules\r\n\r\n    def reset(self):\r\n        \"\"\"Reset the simulator state\"\"\"\r\n        self.state = []\r\n        self.saved_changes_internal = {}\r\n        self.result_optimized_repeats = False\r\n        mods = {}\r\n        period = 1\r\n        disable_period = False\r\n\r\n        # Loop over modules, clearing clipSize if applicable, and group modules based on attributes\r\n        for (duration, capNeed, clipSize, disableStagger, reloadTime, isInjector) in self.modules:\r\n            if self.scale:\r\n                duration, capNeed = self.scale_activation(duration, capNeed)\r\n\r\n            # set clipSize to infinite if reloads are disabled unless it's\r\n            # a cap booster module\r\n            if not self.reload and not isInjector:\r\n                clipSize = 0\r\n                reloadTime = 0\r\n\r\n            # Group modules based on their properties\r\n            key = (duration, capNeed, clipSize, disableStagger, reloadTime, isInjector)\r\n            if key in mods:\r\n                mods[key] += 1\r\n            else:\r\n                mods[key] = 1\r\n\r\n        # Loop over grouped modules, configure staggering and push to the simulation state\r\n        for (duration, capNeed, clipSize, disableStagger, reloadTime, isInjector), amount in mods.items():\r\n            # period optimization doesn't work when reloads are active.\r\n            if clipSize:\r\n                disable_period = True\r\n            # Just push multiple instances if item is injector. We do not want to stagger them as we will\r\n            # use them as needed and want them to be available right away\r\n            if isInjector:\r\n                for i in range(amount):\r\n                    heapq.heappush(self.state, [0, duration, capNeed, 0, clipSize, reloadTime, isInjector])\r\n                continue\r\n            if self.stagger and not disableStagger:\r\n                # Stagger all mods if they do not need to be reloaded\r\n                if clipSize == 0:\r\n                    duration = int(duration / amount)\r\n                # Stagger mods after first\r\n                else:\r\n                    stagger_amount = (duration * clipSize + reloadTime) / (amount * clipSize)\r\n                    for i in range(1, amount):\r\n                        heapq.heappush(self.state, [i * stagger_amount, duration, capNeed, 0, clipSize, reloadTime, isInjector])\r\n            # If mods are not staggered - just multiply cap use\r\n            else:\r\n                capNeed *= amount\r\n\r\n            period = lcm(period, duration)\r\n\r\n            heapq.heappush(self.state, [0, duration, capNeed, 0, clipSize, reloadTime, isInjector])\r\n\r\n        if disable_period:\r\n            self.period = self.t_max\r\n        else:\r\n            self.period = period\r\n\r\n    def run(self):\r\n        \"\"\"Run the simulation\"\"\"\r\n\r\n        start = time.time()\r\n        awaitingInjectors = []\r\n        awaitingInjectorsCounterWrap = Counter()\r\n        self.reset()\r\n\r\n        push = heapq.heappush\r\n        pop = heapq.heappop\r\n\r\n        state = self.state\r\n        stability_precision = self.stability_precision\r\n        period = self.period\r\n\r\n        activation = None\r\n        iterations = 0\r\n\r\n        capCapacity = self.capacitorCapacity\r\n        tau = self.capacitorRecharge / 5.0\r\n\r\n        cap_wrap = self.startingCapacity  # cap value at last period\r\n        cap_lowest = self.startingCapacity  # lowest cap value encountered\r\n        cap_lowest_pre = self.startingCapacity  # lowest cap value before activations\r\n        cap = self.startingCapacity  # current cap value\r\n        t_wrap = self.period  # point in time of next period\r\n        t_last = 0\r\n        t_max = self.t_max\r\n\r\n        while 1:\r\n            # Nothing to pop - might happen when no mods are activated, or when\r\n            # only cap injectors are active (and are postponed by code below)\r\n            try:\r\n                activation = pop(state)\r\n            except IndexError:\r\n                break\r\n            t_now, duration, capNeed, shot, clipSize, reloadTime, isInjector = activation\r\n\r\n            # Max time reached, stop simulation - we're stable\r\n            if t_now >= t_max:\r\n                break\r\n\r\n            # Regenerate cap from last time point\r\n            if t_now > t_last:\r\n                cap = ((1.0 + (sqrt(cap / capCapacity) - 1.0) * exp((t_last - t_now) / tau)) ** 2) * capCapacity\r\n\r\n            if t_now != t_last:\r\n                if cap < cap_lowest_pre:\r\n                    cap_lowest_pre = cap\r\n                if t_now == t_wrap:\r\n                    # history is repeating itself, so if we have more cap now than last\r\n                    # time this happened, it is a stable setup.\r\n                    awaitingInjectorsCounterNow = Counter(awaitingInjectors)\r\n                    if self.optimize_repeats and cap >= cap_wrap and awaitingInjectorsCounterNow == awaitingInjectorsCounterWrap:\r\n                        self.result_optimized_repeats = True\r\n                        break\r\n                    cap_wrap = round(cap, stability_precision)\r\n                    awaitingInjectorsCounterWrap = awaitingInjectorsCounterNow\r\n                    t_wrap += period\r\n\r\n            t_last = t_now\r\n            iterations += 1\r\n\r\n            # If injecting cap will \"overshoot\" max cap, postpone it\r\n            if isInjector and cap - capNeed > capCapacity:\r\n                awaitingInjectors.append((duration, capNeed, shot, clipSize, reloadTime, isInjector))\r\n\r\n            else:\r\n                # If we will need more cap than we have, but we are not at 100% -\r\n                # use awaiting cap injectors to top us up until we have enough or\r\n                # until we're full\r\n                if capNeed > cap and cap < capCapacity:\r\n                    while awaitingInjectors and capNeed > cap and capCapacity > cap:\r\n                        neededInjection = min(capNeed - cap, capCapacity - cap)\r\n                        # Find injectors which have just enough cap or more\r\n                        goodInjectors = [i for i in awaitingInjectors if -i[1] >= neededInjection]\r\n                        if goodInjectors:\r\n                            # Pick injector which overshoots the least\r\n                            bestInjector = min(goodInjectors, key=lambda i: -i[1])\r\n                        else:\r\n                            # Take the one which provides the most cap\r\n                            bestInjector = max(goodInjectors, key=lambda i: -i[1])\r\n                        # Use injector\r\n                        awaitingInjectors.remove(bestInjector)\r\n                        inj_duration, inj_capNeed, inj_shot, inj_clipSize, inj_reloadTime, inj_isInjector = bestInjector\r\n                        cap -= inj_capNeed\r\n                        if cap > capCapacity:\r\n                            cap = capCapacity\r\n                        self.saved_changes_internal[t_now] = cap\r\n                        # Add injector to regular state tracker\r\n                        inj_t_now = t_now\r\n                        inj_t_now += inj_duration\r\n                        inj_shot += 1\r\n                        if inj_clipSize:\r\n                            if inj_shot % inj_clipSize == 0:\r\n                                inj_shot = 0\r\n                                inj_t_now += inj_reloadTime\r\n                        push(state, [inj_t_now, inj_duration, inj_capNeed, inj_shot, inj_clipSize, inj_reloadTime, inj_isInjector])\r\n\r\n                # Apply cap modification\r\n                cap -= capNeed\r\n                if cap > capCapacity:\r\n                    cap = capCapacity\r\n                self.saved_changes_internal[t_now] = cap\r\n\r\n                if cap < cap_lowest:\r\n                    # Negative cap - we're unstable, simulation is over\r\n                    if cap < 0.0:\r\n                        break\r\n                    cap_lowest = cap\r\n\r\n                # Try using awaiting injectors to top up the cap after spending some\r\n                while awaitingInjectors and cap < capCapacity:\r\n                    neededInjection = capCapacity - cap\r\n                    # Find injectors which do not overshoot max cap\r\n                    goodInjectors = [i for i in awaitingInjectors if -i[1] <= neededInjection]\r\n                    if not goodInjectors:\r\n                        break\r\n                    # Take the one which provides the most cap\r\n                    bestInjector = max(goodInjectors, key=lambda i: -i[1])\r\n                    # Use injector\r\n                    awaitingInjectors.remove(bestInjector)\r\n                    inj_duration, inj_capNeed, inj_shot, inj_clipSize, inj_reloadTime, inj_isInjector = bestInjector\r\n                    cap -= inj_capNeed\r\n                    if cap > capCapacity:\r\n                        cap = capCapacity\r\n                    self.saved_changes_internal[t_now] = cap\r\n                    # Add injector to regular state tracker\r\n                    inj_t_now = t_now\r\n                    inj_t_now += inj_duration\r\n                    inj_shot += 1\r\n                    if inj_clipSize:\r\n                        if inj_shot % inj_clipSize == 0:\r\n                            inj_shot = 0\r\n                            inj_t_now += inj_reloadTime\r\n                    push(state, [inj_t_now, inj_duration, inj_capNeed, inj_shot, inj_clipSize, inj_reloadTime, inj_isInjector])\r\n\r\n                # queue the next activation of this module\r\n                t_now += duration\r\n                shot += 1\r\n                if clipSize:\r\n                    if shot % clipSize == 0:\r\n                        shot = 0\r\n                        t_now += reloadTime  # include reload time\r\n                activation[0] = t_now\r\n                activation[3] = shot\r\n\r\n                push(state, activation)\r\n        if activation is not None:\r\n            push(state, activation)\r\n\r\n        # update instance with relevant results.\r\n        self.t = t_last\r\n        self.iterations = iterations\r\n\r\n        # calculate EVE's stability value\r\n        try:\r\n            avgDrain = sum(x[2] / x[1] for x in self.state)\r\n            self.cap_stable_eve = 0.25 * (1.0 + sqrt(-(2.0 * avgDrain * tau - capCapacity) / capCapacity)) ** 2\r\n        except ValueError:\r\n            self.cap_stable_eve = 0.0\r\n\r\n        if cap > 0.0:\r\n            # capacitor low/high water marks\r\n            self.cap_stable_low = cap_lowest\r\n            self.cap_stable_high = cap_lowest_pre\r\n        else:\r\n            self.cap_stable_low = self.cap_stable_high = 0.0\r\n\r\n        self.saved_changes = tuple((k / 1000, max(0, self.saved_changes_internal[k])) for k in sorted(self.saved_changes_internal))\r\n        self.saved_changes_internal = None\r\n\r\n        self.runtime = time.time() - start\r\n"
  },
  {
    "path": "eos/config.py",
    "content": "import sys\r\nfrom os.path import realpath, join, dirname, abspath\r\n\r\nfrom logbook import Logger\r\nimport os\r\n\r\nistravis = os.environ.get('TRAVIS') == 'true'\r\npyfalog = Logger(__name__)\r\n\r\ndebug = False\r\ngamedataCache = True\r\nsaveddataCache = True\r\ngamedata_version = \"\"\r\ngamedata_date = \"\"\r\ngamedata_connectionstring = 'sqlite:///' + realpath(join(dirname(abspath(__file__)), \"..\", \"eve.db\"))\r\n\r\nlang = \"\"\r\n\r\n# Maps supported langauges to their suffix in the database\r\ntranslation_mapping = {\r\n    \"en\": \"\",\r\n    \"fr\": \"_fr\",\r\n    # \"it\": \"_it\",\r\n    \"ja\": \"_ja\",\r\n    \"ko\": \"_ko\",\r\n    \"ru\": \"_ru\",\r\n    \"zh\": \"_zh\",\r\n}\r\n\r\ndef set_lang(i18n_lang):\r\n    global lang\r\n    lang = translation_mapping.get(i18n_lang, translation_mapping.get(\"en\"))\r\n\r\npyfalog.debug(\"Gamedata connection string: {0}\", gamedata_connectionstring)\r\n\r\nif istravis is True or hasattr(sys, '_called_from_test'):\r\n    # Running in Travis. Run saveddata database in memory.\r\n    saveddata_connectionstring = 'sqlite:///:memory:'\r\nelse:\r\n    saveddata_connectionstring = 'sqlite:///' + realpath(join(dirname(abspath(__file__)), \"..\", \"saveddata\", \"saveddata.db\"))\r\n\r\npyfalog.debug(\"Saveddata connection string: {0}\", saveddata_connectionstring)\r\n\r\nsettings = {\r\n    \"useStaticAdaptiveArmorHardener\": False,\r\n    \"strictSkillLevels\": True,\r\n    \"globalDefaultSpoolupPercentage\": 1.0\r\n}\r\n\r\n# Autodetect path, only change if the autodetection bugs out.\r\npath = dirname(__file__)\r\n"
  },
  {
    "path": "eos/const.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2019 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nfrom enum import IntEnum,unique\r\n\r\n\r\n@unique\r\nclass FittingSlot(IntEnum):\r\n    \"\"\"\r\n    Contains slots for ship fittings\r\n    \"\"\"\r\n    # These are self-explanatory\r\n    LOW = 1\r\n    MED = 2\r\n    HIGH = 3\r\n    RIG = 4\r\n    SUBSYSTEM = 5\r\n    # not a real slot, need for pyfa display rack separation\r\n    MODE = 6\r\n    # system effects. They are projected \"modules\" and pyfa assumes all modules\r\n    # have a slot. In this case, make one up.\r\n    SYSTEM = 7\r\n    # used for citadel services\r\n    SERVICE = 8\r\n    # fighter 'slots'. Just easier to put them here...\r\n    F_LIGHT = 10\r\n    F_SUPPORT = 11\r\n    F_HEAVY = 12\r\n    # fighter 'slots' (for structures)\r\n    FS_LIGHT = 13\r\n    FS_SUPPORT = 14\r\n    FS_HEAVY = 15\r\n\r\n\r\n@unique\r\nclass ImplantLocation(IntEnum):\r\n    \"\"\"\r\n    Contains location of the implant\r\n    \"\"\"\r\n    FIT = 0\r\n    CHARACTER = 1\r\n\r\n\r\n@unique\r\nclass CalcType(IntEnum):\r\n    \"\"\"\r\n    Contains location of the calculation\r\n    \"\"\"\r\n    LOCAL = 0\r\n    PROJECTED = 1\r\n    COMMAND = 2\r\n\r\n\r\n@unique\r\nclass FittingModuleState(IntEnum):\r\n    \"\"\"\r\n    Contains the state of a fitting module\r\n    \"\"\"\r\n    OFFLINE = -1\r\n    ONLINE = 0\r\n    ACTIVE = 1\r\n    OVERHEATED = 2\r\n\r\n\r\n@unique\r\nclass FittingHardpoint(IntEnum):\r\n    \"\"\"\r\n    Contains the types of a fitting hardpoint\r\n    \"\"\"\r\n    NONE = 0\r\n    MISSILE = 1\r\n    TURRET = 2\r\n\r\n\r\n@unique\r\nclass SpoolType(IntEnum):\r\n    # Spool and cycle scale are different in case if max spool amount cannot\r\n    # be divided by spool step without remainder\r\n    SPOOL_SCALE = 0  # [0..1]\r\n    CYCLE_SCALE = 1  # [0..1]\r\n    TIME = 2  # Expressed via time in seconds since spool up started\r\n    CYCLES = 3  # Expressed in amount of cycles since spool up started\r\n\r\n\r\n@unique\r\nclass FitSystemSecurity(IntEnum):\r\n    HISEC = 0\r\n    LOWSEC = 1\r\n    NULLSEC = 2\r\n    WSPACE = 3\r\n\r\n\r\n@unique\r\nclass Operator(IntEnum):\r\n    PREASSIGN = 0\r\n    PREINCREASE = 1\r\n    MULTIPLY = 2\r\n    POSTINCREASE = 3\r\n    FORCE = 4\r\n"
  },
  {
    "path": "eos/db/__init__.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport re\r\nimport threading\r\n\r\nfrom sqlalchemy import MetaData, create_engine, event\r\nfrom sqlalchemy.orm import sessionmaker, scoped_session\r\n\r\nfrom . import migration\r\nfrom eos import config\r\nfrom logbook import Logger\r\n\r\n\r\npyfalog = Logger(__name__)\r\npyfalog.info(\"Initializing database\")\r\npyfalog.info(\"Gamedata connection: {0}\", config.gamedata_connectionstring)\r\npyfalog.info(\"Saveddata connection: {0}\", config.saveddata_connectionstring)\r\n\r\n\r\nclass ReadOnlyException(Exception):\r\n    pass\r\n\r\n\r\ndef re_fn(expr, item):\r\n    try:\r\n        reg = re.compile(expr, re.IGNORECASE)\r\n    except (SystemExit, KeyboardInterrupt):\r\n        raise\r\n    except:\r\n        return False\r\n    return reg.search(item) is not None\r\n\r\n\r\npyfalog.debug('Initializing gamedata')\r\ngamedata_connectionstring = config.gamedata_connectionstring\r\nif callable(gamedata_connectionstring):\r\n    gamedata_engine = create_engine(\"sqlite://\", creator=gamedata_connectionstring, echo=config.debug)\r\nelse:\r\n    gamedata_engine = create_engine(gamedata_connectionstring, echo=config.debug)\r\n\r\n\r\n@event.listens_for(gamedata_engine, 'connect')\r\ndef create_functions(dbapi_connection, connection_record):\r\n    dbapi_connection.create_function('regexp', 2, re_fn)\r\n\r\n\r\ngamedata_meta = MetaData()\r\ngamedata_meta.bind = gamedata_engine\r\nGamedataSession = scoped_session(sessionmaker(bind=gamedata_engine, autoflush=False, expire_on_commit=False))\r\ngamedata_session = GamedataSession()\r\n\r\ngamedata_sessions = {threading.get_ident(): gamedata_session}\r\n\r\n\r\ndef get_gamedata_session():\r\n    thread_id = threading.get_ident()\r\n    if thread_id not in gamedata_sessions:\r\n        gamedata_sessions[thread_id] = GamedataSession()\r\n    return gamedata_sessions[thread_id]\r\n\r\n\r\npyfalog.debug('Getting gamedata version')\r\n# This should be moved elsewhere, maybe as an actual query. Current, without try-except, it breaks when making a new\r\n# game db because we haven't reached gamedata_meta.create_all()\r\ntry:\r\n    config.gamedata_version = gamedata_session.execute(\r\n            \"SELECT `field_value` FROM `metadata` WHERE `field_name` LIKE 'client_build'\"\r\n    ).fetchone()[0]\r\n    config.gamedata_date = gamedata_session.execute(\r\n        \"SELECT `field_value` FROM `metadata` WHERE `field_name` LIKE 'dump_time'\"\r\n    ).fetchone()[0]\r\nexcept (KeyboardInterrupt, SystemExit):\r\n    raise\r\nexcept Exception as e:\r\n    pyfalog.warning(\"Missing gamedata version.\")\r\n    pyfalog.critical(e)\r\n    config.gamedata_version = None\r\n    config.gamedata_date = None\r\n\r\npyfalog.debug('Initializing saveddata')\r\nsaveddata_connectionstring = config.saveddata_connectionstring\r\nif saveddata_connectionstring is not None:\r\n    if callable(saveddata_connectionstring):\r\n        saveddata_engine = create_engine(creator=saveddata_connectionstring, echo=config.debug)\r\n    else:\r\n        saveddata_engine = create_engine(saveddata_connectionstring, echo=config.debug)\r\n\r\n    saveddata_meta = MetaData()\r\n    saveddata_meta.bind = saveddata_engine\r\n    saveddata_session = sessionmaker(bind=saveddata_engine, autoflush=False, expire_on_commit=False)()\r\nelse:\r\n    saveddata_meta = None\r\n\r\n# Lock controlling any changes introduced to session\r\nsd_lock = threading.RLock()\r\n\r\npyfalog.debug('Importing gamedata DB scheme')\r\n# Import all the definitions for all our database stuff\r\n# noinspection PyPep8\r\nfrom eos.db.gamedata import alphaClones, attribute, category, effect, group, item, marketGroup, metaData, metaGroup, queries, traits, unit, dynamicAttributes, implantSet\r\npyfalog.debug('Importing saveddata DB scheme')\r\n# noinspection PyPep8\r\nfrom eos.db.saveddata import booster, cargo, character, damagePattern, databaseRepair, drone, fighter, fit, implant, implantSet, \\\r\n    miscData, mutatorMod, mutatorDrone, module, override, price, queries, skill, targetProfile, user\r\n\r\npyfalog.debug('Importing gamedata queries')\r\n# noinspection PyPep8\r\nfrom eos.db.gamedata.queries import *\r\npyfalog.debug('Importing saveddata queries')\r\n# noinspection PyPep8\r\nfrom eos.db.saveddata.queries import *\r\n\r\n# If using in memory saveddata, you'll want to reflect it so the data structure is good.\r\nif config.saveddata_connectionstring == \"sqlite:///:memory:\":\r\n    saveddata_meta.create_all()\r\n    pyfalog.info(\"Running database out of memory.\")\r\n\r\n\r\ndef rollback():\r\n    with sd_lock:\r\n        pyfalog.warning(\"Session rollback triggered.\")\r\n        saveddata_session.rollback()\r\n"
  },
  {
    "path": "eos/db/gamedata/__init__.py",
    "content": "__all__ = [\"attribute\", \"category\", \"effect\", \"group\", \"metaData\", \"dynamicAttributes\",\r\n           \"item\", \"marketGroup\", \"metaGroup\", \"unit\", \"alphaClones\", \"implantSet\"]\r\n"
  },
  {
    "path": "eos/db/gamedata/alphaClones.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Column, String, Integer, Table, ForeignKey\r\nfrom sqlalchemy.orm import relation, mapper, synonym\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.gamedata import AlphaClone, AlphaCloneSkill\r\n\r\nalphaclones_table = Table(\r\n        \"alphaClones\",\r\n        gamedata_meta,\r\n        Column(\"alphaCloneID\", Integer, primary_key=True),\r\n        Column(\"alphaCloneName\", String),\r\n)\r\n\r\nalphacloneskskills_table = Table(\r\n        \"alphaCloneSkills\",\r\n        gamedata_meta,\r\n        Column(\"alphaCloneID\", Integer, ForeignKey(\"alphaClones.alphaCloneID\"), primary_key=True),\r\n        Column(\"typeID\", Integer, primary_key=True),\r\n        Column(\"level\", Integer),\r\n)\r\n\r\nmapper(AlphaClone, alphaclones_table,\r\n       properties={\r\n           \"ID\"    : synonym(\"alphaCloneID\"),\r\n           \"skills\": relation(\r\n                   AlphaCloneSkill,\r\n                   cascade=\"all,delete-orphan\",\r\n                   backref=\"clone\")\r\n       })\r\n\r\nmapper(AlphaCloneSkill, alphacloneskskills_table)\r\n"
  },
  {
    "path": "eos/db/gamedata/attribute.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, Float, Unicode, ForeignKey, String, Boolean\r\nfrom sqlalchemy.ext.associationproxy import association_proxy\r\nfrom sqlalchemy.orm import relation, mapper, synonym, deferred\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.gamedata import Attribute, AttributeInfo, Unit\r\nimport eos.config\r\ntypeattributes_table = Table(\"dgmtypeattribs\", gamedata_meta,\r\n                             Column(\"value\", Float),\r\n                             Column(\"typeID\", Integer, ForeignKey(\"invtypes.typeID\"), primary_key=True, index=True),\r\n                             Column(\"attributeID\", ForeignKey(\"dgmattribs.attributeID\"), primary_key=True))\r\n\r\nattributes_table = Table(\"dgmattribs\", gamedata_meta,\r\n                         Column(\"attributeID\", Integer, primary_key=True),\r\n                         Column(\"attributeName\", String),\r\n                         Column(\"defaultValue\", Float),\r\n                         Column(\"maxAttributeID\", Integer, ForeignKey(\"dgmattribs.attributeID\")),\r\n                         Column(\"description\", Unicode),\r\n                         Column(\"published\", Boolean),\r\n                         *[Column(\"displayName{}\".format(lang), String) for lang in eos.config.translation_mapping.values()],\r\n                         Column(\"highIsGood\", Boolean),\r\n                         Column(\"iconID\", Integer),\r\n                         Column(\"attributeCategory\", Integer),\r\n                         # Column(\"tooltipDescription\", Integer), # deprecated...?\r\n                         Column(\"unitID\", Integer, ForeignKey(\"dgmunits.unitID\")))\r\n\r\nmapper(Attribute, typeattributes_table,\r\n       properties={\"info\": relation(AttributeInfo, lazy=False)})\r\n\r\nmapper(AttributeInfo, attributes_table,\r\n       properties={\r\n           \"unit\"       : relation(Unit),\r\n           \"ID\"         : synonym(\"attributeID\"),\r\n           \"name\"       : synonym(\"attributeName\"),\r\n           \"description\": deferred(attributes_table.c.description),\r\n       })\r\n\r\nAttribute.ID = association_proxy(\"info\", \"attributeID\")\r\nAttribute.name = association_proxy(\"info\", \"attributeName\")\r\nAttribute.description = association_proxy(\"info\", \"description\")\r\nAttribute.published = association_proxy(\"info\", \"published\")\r\nAttribute.displayName = association_proxy(\"info\", \"displayName{}\".format(eos.config.lang))\r\nAttribute.highIsGood = association_proxy(\"info\", \"highIsGood\")\r\nAttribute.iconID = association_proxy(\"info\", \"iconID\")\r\nAttribute.icon = association_proxy(\"info\", \"icon\")\r\nAttribute.unit = association_proxy(\"info\", \"unit\")\r\n"
  },
  {
    "path": "eos/db/gamedata/category.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Boolean, Column, Integer, String, Table\r\nfrom sqlalchemy.orm import deferred, mapper, synonym\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.gamedata import Category\r\nimport eos.config\r\n\r\ncategories_table = Table(\"invcategories\", gamedata_meta,\r\n                         Column(\"categoryID\", Integer, primary_key=True),\r\n                         *[Column(\"name{}\".format(lang), String) for lang in eos.config.translation_mapping.values()],\r\n                         # Column(\"description\", String), # deprecated\r\n                         Column(\"published\", Boolean),\r\n                         Column(\"iconID\", Integer))\r\n\r\nmapper(Category, categories_table,\r\n       properties={\r\n           \"ID\"         : synonym(\"categoryID\"),\r\n           \"displayName\": synonym(\"name{}\".format(eos.config.lang)),\r\n           # \"description\": deferred(categories_table.c.description) # deprecated\r\n       })\r\n"
  },
  {
    "path": "eos/db/gamedata/dynamicAttributes.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Column, Float, Integer, Table, ForeignKey\r\nfrom sqlalchemy.orm import mapper, relation, synonym\r\nfrom sqlalchemy.ext.associationproxy import association_proxy\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.gamedata import DynamicItem, DynamicItemAttribute, DynamicItemItem, Item\r\n\r\nfrom eos.gamedata import AttributeInfo\r\n\r\ndynamic_table = Table(\"mutaplasmids\", gamedata_meta,\r\n                          Column(\"typeID\", ForeignKey(\"invtypes.typeID\"), primary_key=True, index=True),\r\n                          Column(\"resultingTypeID\", ForeignKey(\"invtypes.typeID\"), primary_key=True))\r\n\r\ndynamicAttributes_table = Table(\"mutaplasmidAttributes\", gamedata_meta,\r\n                      Column(\"typeID\", Integer, ForeignKey(\"mutaplasmids.typeID\"), primary_key=True),\r\n                      Column(\"attributeID\", ForeignKey(\"dgmattribs.attributeID\"), primary_key=True),\r\n                      Column(\"min\", Float),\r\n                      Column(\"max\", Float))\r\n\r\ndynamicApplicable_table = Table(\"mutaplasmidItems\", gamedata_meta,\r\n                      Column(\"typeID\", ForeignKey(\"mutaplasmids.typeID\"), primary_key=True),\r\n                      Column(\"applicableTypeID\", ForeignKey(\"invtypes.typeID\"), primary_key=True),)\r\n\r\nmapper(DynamicItem, dynamic_table, properties={\r\n           \"attributes\": relation(DynamicItemAttribute),\r\n           \"item\": relation(Item, foreign_keys=[dynamic_table.c.typeID]),\r\n           \"resultingItem\": relation(Item, foreign_keys=[dynamic_table.c.resultingTypeID]),\r\n           \"ID\": synonym(\"typeID\"),\r\n})\r\n\r\nmapper(DynamicItemAttribute, dynamicAttributes_table,\r\n       properties={\"info\": relation(AttributeInfo, lazy=False)})\r\n\r\nmapper(DynamicItemItem, dynamicApplicable_table, properties={\r\n           \"mutaplasmid\": relation(DynamicItem, viewonly=True),\r\n       })\r\n\r\nDynamicItemAttribute.ID = association_proxy(\"info\", \"attributeID\")\r\nDynamicItemAttribute.name = association_proxy(\"info\", \"attributeName\")\r\nDynamicItemAttribute.description = association_proxy(\"info\", \"description\")\r\nDynamicItemAttribute.published = association_proxy(\"info\", \"published\")\r\nDynamicItemAttribute.displayName = association_proxy(\"info\", \"displayName\")\r\nDynamicItemAttribute.highIsGood = association_proxy(\"info\", \"highIsGood\")\r\nDynamicItemAttribute.iconID = association_proxy(\"info\", \"iconID\")\r\nDynamicItemAttribute.icon = association_proxy(\"info\", \"icon\")\r\nDynamicItemAttribute.unit = association_proxy(\"info\", \"unit\")\r\n"
  },
  {
    "path": "eos/db/gamedata/effect.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Column, String, Integer, Boolean, Table, ForeignKey\r\nfrom sqlalchemy.orm import mapper, synonym, deferred\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.gamedata import Effect, ItemEffect\r\n\r\ntypeeffects_table = Table(\"dgmtypeeffects\", gamedata_meta,\r\n                          Column(\"typeID\", Integer, ForeignKey(\"invtypes.typeID\"), primary_key=True, index=True),\r\n                          Column(\"effectID\", Integer, ForeignKey(\"dgmeffects.effectID\"), primary_key=True))\r\n\r\neffects_table = Table(\"dgmeffects\", gamedata_meta,\r\n                      Column(\"effectID\", Integer, primary_key=True),\r\n                      Column(\"effectName\", String),\r\n                      Column(\"description\", String),\r\n                      Column(\"published\", Boolean),\r\n                      Column(\"isAssistance\", Boolean),\r\n                      Column(\"isOffensive\", Boolean),\r\n                      Column(\"resistanceID\", Integer))\r\n\r\nmapper(Effect, effects_table,\r\n       properties={\r\n           \"ID\"         : synonym(\"effectID\"),\r\n           \"name\"       : synonym(\"effectName\"),\r\n           \"description\": deferred(effects_table.c.description)\r\n       })\r\n\r\nmapper(ItemEffect, typeeffects_table)\r\n"
  },
  {
    "path": "eos/db/gamedata/group.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Column, String, Integer, Boolean, ForeignKey, Table\r\nfrom sqlalchemy.orm import relation, mapper, synonym, deferred, backref\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.gamedata import Category, Group\r\nimport eos.config\r\n\r\ngroups_table = Table(\"invgroups\", gamedata_meta,\r\n                     Column(\"groupID\", Integer, primary_key=True),\r\n                     *[Column(\"name{}\".format(lang), String) for lang in eos.config.translation_mapping.values()],\r\n                     # Column(\"description\", String), # deprecated\r\n                     Column(\"published\", Boolean),\r\n                     Column(\"categoryID\", Integer, ForeignKey(\"invcategories.categoryID\")),\r\n                     Column(\"iconID\", Integer))\r\n\r\nmapper(Group, groups_table,\r\n       properties={\r\n           \"category\"   : relation(Category, backref=backref(\"groups\", cascade=\"all,delete\")),\r\n           \"ID\"         : synonym(\"groupID\"),\r\n           \"displayName\"       : synonym(\"name{}\".format(eos.config.lang)),\r\n           # \"description\": deferred(groups_table.c.description) # deprecated\r\n       })\r\n"
  },
  {
    "path": "eos/db/gamedata/implantSet.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Column, String, Integer, Table\r\nfrom sqlalchemy.orm import mapper, synonym\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.gamedata import ImplantSet\r\n\r\nimplant_set_table = Table(\"implantsets\", gamedata_meta,\r\n                          Column(\"setID\", Integer, primary_key=True),\r\n                          Column(\"setName\", String),\r\n                          Column(\"gradeName\", String),\r\n                          Column(\"implants\", String))\r\n\r\nmapper(ImplantSet, implant_set_table,\r\n       properties={\"ID\": synonym(\"setID\")})\r\n"
  },
  {
    "path": "eos/db/gamedata/item.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Boolean, Column, ForeignKey, Integer, String, Table\r\nfrom sqlalchemy.ext.associationproxy import association_proxy\r\nfrom sqlalchemy.orm import backref, deferred, mapper, relation, synonym\r\nfrom sqlalchemy.orm.collections import attribute_mapped_collection\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.db.gamedata.dynamicAttributes import dynamicApplicable_table\r\nfrom eos.db.gamedata.effect import typeeffects_table\r\nfrom eos.gamedata import Attribute, DynamicItem, Effect, Group, Item, Traits, MetaGroup\r\n\r\nimport eos.config\r\n\r\nitems_table = Table(\"invtypes\", gamedata_meta,\r\n                    Column(\"typeID\", Integer, primary_key=True),\r\n                    *[Column(\"typeName{}\".format(lang), String, index=True) for lang in eos.config.translation_mapping.values()],\r\n                    *[Column(\"typeDescription{}\".format(lang), String) for lang in eos.config.translation_mapping.values()],\r\n                    Column(\"raceID\", Integer),\r\n                    Column(\"factionID\", Integer),\r\n                    Column(\"published\", Boolean),\r\n                    Column(\"marketGroupID\", Integer, ForeignKey(\"invmarketgroups.marketGroupID\")),\r\n                    Column(\"iconID\", Integer),\r\n                    Column(\"graphicID\", Integer),\r\n                    Column(\"groupID\", Integer, ForeignKey(\"invgroups.groupID\"), index=True),\r\n                    Column(\"metaLevel\", Integer),\r\n                    Column(\"metaGroupID\", Integer, ForeignKey(\"invmetagroups.metaGroupID\"), index=True),\r\n                    Column(\"variationParentTypeID\", Integer, ForeignKey(\"invtypes.typeID\"), index=True),\r\n                    Column(\"replacements\", String),\r\n                    Column(\"reqskills\", String),\r\n                    Column(\"requiredfor\", String),\r\n                    )\r\n\r\nfrom .traits import traits_table  # noqa\r\n\r\nprops = {\r\n           \"group\": relation(Group, backref=backref(\"items\", cascade=\"all,delete\")),\r\n           \"_Item__attributes\": relation(Attribute, cascade='all, delete, delete-orphan', collection_class=attribute_mapped_collection('name')),\r\n           \"effects\": relation(Effect, secondary=typeeffects_table, collection_class=attribute_mapped_collection('name')),\r\n           \"metaGroup\": relation(MetaGroup, backref=backref(\"items\", cascade=\"all,delete\")),\r\n           \"varParent\": relation(Item, backref=backref(\"varChildren\", cascade=\"all,delete\"), remote_side=items_table.c.typeID),\r\n           \"ID\": synonym(\"typeID\"),\r\n           \"name\": synonym(\"typeName{}\".format(eos.config.lang)),\r\n           \"description\" : synonym(\"_description{}\".format(eos.config.lang)),\r\n           \"traits\": relation(\r\n               Traits,\r\n               primaryjoin=traits_table.c.typeID == items_table.c.typeID,\r\n               uselist=False\r\n           ),\r\n           \"mutaplasmids\": relation(\r\n               DynamicItem,\r\n               primaryjoin=dynamicApplicable_table.c.applicableTypeID == items_table.c.typeID,\r\n               secondaryjoin=dynamicApplicable_table.c.typeID == DynamicItem.typeID,\r\n               secondary=dynamicApplicable_table,\r\n               backref=\"applicableItems\",\r\n               viewonly=True\r\n           )\r\n}\r\n\r\n# Create deferred columns shadowing all the description fields. The literal `description` property will dynamically\r\n# be assigned as synonym to one of these\r\nprops.update({'_description' + v: deferred(items_table.c['typeDescription' + v]) for (k, v) in eos.config.translation_mapping.items()})\r\n\r\nmapper(Item, items_table, properties=props)\r\n\r\nItem.category = association_proxy(\"group\", \"category\")\r\n"
  },
  {
    "path": "eos/db/gamedata/marketGroup.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Column, String, Integer, Boolean, ForeignKey, Table\r\nfrom sqlalchemy.orm import relation, mapper, synonym, deferred\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.gamedata import Item, MarketGroup\r\nimport eos.config\r\n\r\nmarketgroups_table = Table(\"invmarketgroups\", gamedata_meta,\r\n                           Column(\"marketGroupID\", Integer, primary_key=True),\r\n                           *[Column(\"marketGroupName{}\".format(lang), String) for lang in eos.config.translation_mapping.values()],\r\n                           *[Column(\"marketGroupDescription{}\".format(lang), String) for lang in eos.config.translation_mapping.values()],\r\n                           Column(\"hasTypes\", Boolean),\r\n                           Column(\"parentGroupID\", Integer,\r\n                                ForeignKey(\"invmarketgroups.marketGroupID\", initially=\"DEFERRED\", deferrable=True)),\r\n                           Column(\"iconID\", Integer))\r\n\r\nprops = {\r\n    \"items\": relation(Item, backref=\"marketGroup\"),\r\n    \"parent\": relation(MarketGroup, backref=\"children\", remote_side=[marketgroups_table.c.marketGroupID]),\r\n    \"ID\": synonym(\"marketGroupID\"),\r\n    \"name\": synonym(\"marketGroupName{}\".format(eos.config.lang)),\r\n    \"description\": synonym(\"_description{}\".format(eos.config.lang)),\r\n}\r\n\r\n# Create deferred columns shadowing all the description fields. The literal `description` property will dynamically\r\n# be assigned as synonym to one of these\r\n# this is mostly here to allow the db_update to be language-agnostic\r\n# todo: determine if we ever use market group descriptions... can we just get with of these?\r\nprops.update({'_description' + v: deferred(marketgroups_table.c['marketGroupDescription' + v]) for (k, v) in eos.config.translation_mapping.items()})\r\n\r\nmapper(\r\n    MarketGroup,\r\n    marketgroups_table,\r\n    properties=props\r\n)\r\n\r\n"
  },
  {
    "path": "eos/db/gamedata/metaData.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Column, Table, String\r\nfrom sqlalchemy.orm import mapper\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.gamedata import MetaData\r\n\r\nmetadata_table = Table(\"metadata\", gamedata_meta,\r\n                       Column(\"field_name\", String, primary_key=True),\r\n                       Column(\"field_value\", String))\r\n\r\nmapper(MetaData, metadata_table)\r\n"
  },
  {
    "path": "eos/db/gamedata/metaGroup.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, String\r\nfrom sqlalchemy.orm import mapper, synonym\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.gamedata import MetaGroup\r\nimport eos.config\r\n\r\nmetagroups_table = Table(\r\n    \"invmetagroups\",\r\n    gamedata_meta,\r\n    Column(\"metaGroupID\", Integer, primary_key=True),\r\n    *[Column(\"metaGroupName{}\".format(lang), String) for lang in eos.config.translation_mapping.values()],\r\n)\r\n\r\nmapper(\r\n    MetaGroup,\r\n    metagroups_table,\r\n    properties={\r\n        \"ID\"  : synonym(\"metaGroupID\"),\r\n        \"name\": synonym(\"metaGroupName{}\".format(eos.config.lang))\r\n    }\r\n)\r\n"
  },
  {
    "path": "eos/db/gamedata/queries.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy.inspection import inspect\r\nfrom sqlalchemy.orm import aliased, exc, join\r\nfrom sqlalchemy.sql import and_, or_, select\r\n\r\nimport eos.config\r\nfrom eos.db import get_gamedata_session\r\nfrom eos.db.gamedata.item import items_table\r\nfrom eos.db.gamedata.group import groups_table\r\nfrom eos.db.util import processEager, processWhere\r\nfrom eos.gamedata import AlphaClone, Attribute, AttributeInfo, Category, DynamicItem, Group, Item, MarketGroup, MetaData, MetaGroup, ImplantSet\r\n\r\ncache = {}\r\nconfigVal = getattr(eos.config, \"gamedataCache\", None)\r\nif configVal is True:\r\n    def cachedQuery(amount, *keywords):\r\n        def deco(function):\r\n            def checkAndReturn(*args, **kwargs):\r\n                useCache = kwargs.pop(\"useCache\", True)\r\n                cacheKey = []\r\n                cacheKey.extend(args)\r\n                for keyword in keywords:\r\n                    cacheKey.append(kwargs.get(keyword))\r\n\r\n                cacheKey = tuple(cacheKey)\r\n                handler = cache.get(cacheKey)\r\n                if handler is None or not useCache:\r\n                    handler = cache[cacheKey] = function(*args, **kwargs)\r\n\r\n                return handler\r\n\r\n            return checkAndReturn\r\n\r\n        return deco\r\n\r\nelif callable(configVal):\r\n    cachedQuery = eos.config.gamedataCache\r\nelse:\r\n    def cachedQuery(amount, *keywords):\r\n        def deco(function):\r\n            def checkAndReturn(*args, **kwargs):\r\n                return function(*args, **kwargs)\r\n\r\n            return checkAndReturn\r\n\r\n        return deco\r\n\r\n\r\ndef sqlizeNormalString(line):\r\n    # Escape backslashes first, as they will be as escape symbol in queries\r\n    # Then escape percent and underscore signs\r\n    # Finally, replace generic wildcards with sql-style wildcards\r\n    line = line.replace(\"\\\\\", \"\\\\\\\\\").replace(\"%\", \"\\\\%\").replace(\"_\", \"\\\\_\").replace(\"*\", \"%\")\r\n    return line\r\n\r\n\r\nitemNameMap = {}\r\n\r\n\r\n@cachedQuery(1, \"lookfor\")\r\ndef getItem(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        if eager is None:\r\n            item = get_gamedata_session().query(Item).get(lookfor)\r\n        else:\r\n            item = get_gamedata_session().query(Item).options(*processEager(eager)).filter(Item.ID == lookfor).first()\r\n    elif isinstance(lookfor, str):\r\n        if lookfor in itemNameMap:\r\n            id = itemNameMap[lookfor]\r\n            if eager is None:\r\n                item = get_gamedata_session().query(Item).get(id)\r\n            else:\r\n                item = get_gamedata_session().query(Item).options(*processEager(eager)).filter(Item.ID == id).first()\r\n        else:\r\n            # Item names are unique, so we can use first() instead of one()\r\n            item = get_gamedata_session().query(Item).options(*processEager(eager)).filter(Item.typeName == lookfor).first()\r\n            if item is not None:\r\n                itemNameMap[lookfor] = item.ID\r\n    else:\r\n        raise TypeError(\"Need integer or string as argument\")\r\n    return item\r\n\r\n@cachedQuery(1, \"itemIDs\")\r\ndef getItems(itemIDs, eager=None):\r\n    if not isinstance(itemIDs, (tuple, list, set)) or not all(isinstance(t, int) for t in itemIDs):\r\n        raise TypeError(\"Need iterable of integers as argument\")\r\n    if eager is None:\r\n        items = get_gamedata_session().query(Item).filter(Item.ID.in_(itemIDs)).all()\r\n    else:\r\n        items = get_gamedata_session().query(Item).options(*processEager(eager)).filter(Item.ID.in_(itemIDs)).all()\r\n    return items\r\n\r\n\r\ndef getMutaplasmid(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        item = get_gamedata_session().query(DynamicItem).filter(DynamicItem.ID == lookfor).first()\r\n    else:\r\n        raise TypeError(\"Need integer as argument\")\r\n    return item\r\n\r\n\r\ndef getItemWithBaseItemAttribute(lookfor, baseItemID, eager=None):\r\n    # A lot of this is described in more detail in #1597\r\n    item = get_gamedata_session().query(Item).get(lookfor)\r\n    base = getItem(baseItemID)\r\n\r\n    # we have to load all attributes for this object, otherwise we'll lose access to them when we expunge.\r\n    # todo: figure out a way to eagerly load all these via the query...\r\n    for x in [*inspect(Item).relationships.keys(), 'description']:\r\n        getattr(item, x)\r\n\r\n    # Copy over the attributes from the base, but ise the items attributes when there's an overlap\r\n    # WARNING: the attribute object still has the old typeID. I don't believe we access this typeID anywhere in the code,\r\n    # but should keep this in mind for now.\r\n    item._Item__attributes = {**base.attributes, **item.attributes}\r\n\r\n    # Expunge the item form the session. This is required to have different Abyssal / Base combinations loaded in memory.\r\n    # Without expunging it, once one Abyssal Web is created, SQLAlchmey will use it for all others. We don't want this,\r\n    # we want to generate a completely new object to work with\r\n    get_gamedata_session().expunge(item)\r\n    return item\r\n\r\n\r\n@cachedQuery(1, \"lookfor\")\r\ndef getItems(lookfor, eager=None):\r\n    \"\"\"\r\n    Gets a list of items. Does a bit of cache hackery to get working properly -- cache\r\n    is usually based on function calls with the parameters, needed to extract data directly.\r\n    Works well enough. Not currently used, but it's here for possible future inclusion\r\n    \"\"\"\r\n\r\n    toGet = []\r\n    results = []\r\n\r\n    for id in lookfor:\r\n        if (id, None) in cache:\r\n            results.append(cache.get((id, None)))\r\n        else:\r\n            toGet.append(id)\r\n\r\n    if len(toGet) > 0:\r\n        # Get items that aren't currently cached, and store them in the cache\r\n        items = get_gamedata_session().query(Item).filter(Item.ID.in_(toGet)).all()\r\n        for item in items:\r\n            cache[(item.ID, None)] = item\r\n        results += items\r\n\r\n    # sort the results based on the original indexing\r\n    results.sort(key=lambda x: lookfor.index(x.ID))\r\n    return results\r\n\r\n\r\n@cachedQuery(1, \"lookfor\")\r\ndef getAlphaClone(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        if eager is None:\r\n            item = get_gamedata_session().query(AlphaClone).get(lookfor)\r\n        else:\r\n            item = get_gamedata_session().query(AlphaClone).options(*processEager(eager)).filter(AlphaClone.ID == lookfor).first()\r\n    else:\r\n        raise TypeError(\"Need integer as argument\")\r\n    return item\r\n\r\n\r\ndef getAlphaCloneList(eager=None):\r\n    eager = processEager(eager)\r\n    clones = get_gamedata_session().query(AlphaClone).options(*eager).all()\r\n    return clones\r\n\r\n\r\ngroupNameMap = {}\r\n\r\n\r\n@cachedQuery(1, \"lookfor\")\r\ndef getGroup(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        if eager is None:\r\n            group = get_gamedata_session().query(Group).get(lookfor)\r\n        else:\r\n            group = get_gamedata_session().query(Group).options(*processEager(eager)).filter(Group.ID == lookfor).first()\r\n    elif isinstance(lookfor, str):\r\n        if lookfor in groupNameMap:\r\n            id = groupNameMap[lookfor]\r\n            if eager is None:\r\n                group = get_gamedata_session().query(Group).get(id)\r\n            else:\r\n                group = get_gamedata_session().query(Group).options(*processEager(eager)).filter(Group.ID == id).first()\r\n        else:\r\n            # Group names are unique, so we can use first() instead of one()\r\n            group = get_gamedata_session().query(Group).options(*processEager(eager)).filter(Group.name == lookfor).first()\r\n            if group is not None:\r\n                groupNameMap[lookfor] = group.ID\r\n    else:\r\n        raise TypeError(\"Need integer or string as argument\")\r\n    return group\r\n\r\n\r\ncategoryNameMap = {}\r\n\r\n\r\n@cachedQuery(1, \"lookfor\")\r\ndef getCategory(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        if eager is None:\r\n            category = get_gamedata_session().query(Category).get(lookfor)\r\n        else:\r\n            category = get_gamedata_session().query(Category).options(*processEager(eager)).filter(\r\n                    Category.ID == lookfor).first()\r\n    elif isinstance(lookfor, str):\r\n        if lookfor in categoryNameMap:\r\n            id = categoryNameMap[lookfor]\r\n            if eager is None:\r\n                category = get_gamedata_session().query(Category).get(id)\r\n            else:\r\n                category = get_gamedata_session().query(Category).options(*processEager(eager)).filter(\r\n                        Category.ID == id).first()\r\n        else:\r\n            # Category names are unique, so we can use first() instead of one()\r\n            category = get_gamedata_session().query(Category).options(*processEager(eager)).filter(\r\n                    Category.name == lookfor).first()\r\n            if category is not None:\r\n                categoryNameMap[lookfor] = category.ID\r\n    else:\r\n        raise TypeError(\"Need integer or string as argument\")\r\n    return category\r\n\r\n\r\nmetaGroupNameMap = {}\r\n\r\n\r\n@cachedQuery(1, \"lookfor\")\r\ndef getMetaGroup(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        if eager is None:\r\n            metaGroup = get_gamedata_session().query(MetaGroup).get(lookfor)\r\n        else:\r\n            metaGroup = get_gamedata_session().query(MetaGroup).options(*processEager(eager)).filter(\r\n                    MetaGroup.ID == lookfor).first()\r\n    elif isinstance(lookfor, str):\r\n        if lookfor in metaGroupNameMap:\r\n            id = metaGroupNameMap[lookfor]\r\n            if eager is None:\r\n                metaGroup = get_gamedata_session().query(MetaGroup).get(id)\r\n            else:\r\n                metaGroup = get_gamedata_session().query(MetaGroup).options(*processEager(eager)).filter(\r\n                        MetaGroup.ID == id).first()\r\n        else:\r\n            # MetaGroup names are unique, so we can use first() instead of one()\r\n            metaGroup = get_gamedata_session().query(MetaGroup).options(*processEager(eager)).filter(\r\n                    MetaGroup.metaGroupName == lookfor).first()\r\n            if metaGroup is not None:\r\n                metaGroupNameMap[lookfor] = metaGroup.ID\r\n    else:\r\n        raise TypeError(\"Need integer or string as argument\")\r\n    return metaGroup\r\n\r\n\r\ndef getMetaGroups():\r\n    return get_gamedata_session().query(MetaGroup).all()\r\n\r\n\r\n@cachedQuery(1, \"lookfor\")\r\ndef getMarketGroup(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        if eager is None:\r\n            marketGroup = get_gamedata_session().query(MarketGroup).get(lookfor)\r\n        else:\r\n            marketGroup = get_gamedata_session().query(MarketGroup).options(*processEager(eager)).filter(\r\n                    MarketGroup.ID == lookfor).first()\r\n    else:\r\n        raise TypeError(\"Need integer as argument\")\r\n    return marketGroup\r\n\r\n\r\ndef getMarketTreeNodeIds(rootNodeIds):\r\n    allIds = set()\r\n    addedIds = set(rootNodeIds)\r\n    while addedIds:\r\n        allIds.update(addedIds)\r\n        addedIds = {mg.ID for mg in get_gamedata_session().query(MarketGroup).filter(MarketGroup.parentGroupID.in_(addedIds))}\r\n    return allIds\r\n\r\n\r\n@cachedQuery(2, \"where\", \"filter\")\r\ndef getItemsByCategory(filter, where=None, eager=None):\r\n    if isinstance(filter, int):\r\n        filter = Category.ID == filter\r\n    elif isinstance(filter, str):\r\n        filter = Category.name == filter\r\n    else:\r\n        raise TypeError(\"Need integer or string as argument\")\r\n\r\n    filter = processWhere(filter, where)\r\n    return get_gamedata_session().query(Item).options(*processEager(eager)).join(Item.group, Group.category).filter(\r\n            filter).all()\r\n\r\n\r\n@cachedQuery(3, \"where\", \"nameLike\", \"join\")\r\ndef searchItems(nameLike, where=None, join=None, eager=None):\r\n    if not isinstance(nameLike, str):\r\n        raise TypeError(\"Need string as argument\")\r\n\r\n    if join is None:\r\n        join = tuple()\r\n\r\n    if not hasattr(join, \"__iter__\"):\r\n        join = (join,)\r\n\r\n    items = get_gamedata_session().query(Item).options(*processEager(eager)).join(*join)\r\n    for token in nameLike.split(' '):\r\n        token_safe = \"%{0}%\".format(sqlizeNormalString(token))\r\n        if where is not None:\r\n            items = items.filter(and_(Item.name.like(token_safe, escape=\"\\\\\"), where))\r\n        else:\r\n            items = items.filter(Item.name.like(token_safe, escape=\"\\\\\"))\r\n    items = items.limit(100).all()\r\n    return items\r\n\r\n\r\n@cachedQuery(3, \"tokens\", \"where\", \"join\")\r\ndef searchItemsRegex(tokens, where=None, join=None, eager=None):\r\n    if not isinstance(tokens, (tuple, list)) or not all(isinstance(t, str) for t in tokens):\r\n        raise TypeError(\"Need tuple or list of strings as argument\")\r\n\r\n    if join is None:\r\n        join = tuple()\r\n\r\n    if not hasattr(join, \"__iter__\"):\r\n        join = (join,)\r\n\r\n    items = get_gamedata_session().query(Item).options(*processEager(eager)).join(*join)\r\n    for token in tokens:\r\n        if where is not None:\r\n            items = items.filter(and_(Item.name.op('regexp')(token), where))\r\n        else:\r\n            items = items.filter(Item.name.op('regexp')(token))\r\n    items = items.limit(100).all()\r\n    return items\r\n\r\n\r\n@cachedQuery(3, \"where\", \"nameLike\", \"join\")\r\ndef searchSkills(nameLike, where=None, eager=None):\r\n    if not isinstance(nameLike, str):\r\n        raise TypeError(\"Need string as argument\")\r\n\r\n    items = get_gamedata_session().query(Item).options(*processEager(eager)).join(Item.group, Group.category)\r\n    for token in nameLike.split(' '):\r\n        token_safe = \"%{0}%\".format(sqlizeNormalString(token))\r\n        if where is not None:\r\n            items = items.filter(and_(Item.name.like(token_safe, escape=\"\\\\\"), Category.ID == 16, where))\r\n        else:\r\n            items = items.filter(and_(Item.name.like(token_safe, escape=\"\\\\\"), Category.ID == 16))\r\n    items = items.limit(100).all()\r\n    return items\r\n\r\n\r\n@cachedQuery(2, \"where\", \"itemids\")\r\ndef getVariations(itemids, groupIDs=None, where=None, eager=None):\r\n    for itemid in itemids:\r\n        if not isinstance(itemid, int):\r\n            raise TypeError(\"All passed item IDs must be integers\")\r\n    # Get out if list of provided IDs is empty\r\n    if len(itemids) == 0:\r\n        return []\r\n\r\n    itemfilter = or_(*(items_table.c.variationParentTypeID == itemid for itemid in itemids))\r\n    filter = processWhere(itemfilter, where)\r\n    vars = get_gamedata_session().query(Item).options(*processEager(eager)).filter(filter).all()\r\n\r\n    if vars:\r\n        return vars\r\n    elif groupIDs:\r\n        itemfilter = or_(*(groups_table.c.groupID == groupID for groupID in groupIDs))\r\n        filter = processWhere(itemfilter, where)\r\n        joinon = items_table.c.groupID == groups_table.c.groupID\r\n        vars = get_gamedata_session().query(Item).options(*processEager(eager)).join((groups_table, joinon)).filter(\r\n                filter).all()\r\n\r\n    return vars\r\n\r\n\r\n@cachedQuery(1, \"attr\")\r\ndef getAttributeInfo(attr, eager=None):\r\n    if isinstance(attr, str):\r\n        filter = AttributeInfo.name == attr\r\n    elif isinstance(attr, int):\r\n        filter = AttributeInfo.ID == attr\r\n    else:\r\n        raise TypeError(\"Need integer or string as argument\")\r\n    try:\r\n        result = get_gamedata_session().query(AttributeInfo).options(*processEager(eager)).filter(filter).one()\r\n    except exc.NoResultFound:\r\n        result = None\r\n    return result\r\n\r\n\r\n@cachedQuery(1, \"field\")\r\ndef getMetaData(field):\r\n    if isinstance(field, str):\r\n        data = get_gamedata_session().query(MetaData).get(field)\r\n    else:\r\n        raise TypeError(\"Need string as argument\")\r\n    return data\r\n\r\n\r\n@cachedQuery(2, \"itemIDs\", \"attributeID\")\r\ndef directAttributeRequest(itemIDs, attrIDs):\r\n    for itemID in itemIDs:\r\n        if not isinstance(itemID, int):\r\n            raise TypeError(\"All attrIDs must be integer\")\r\n    for itemID in itemIDs:\r\n        if not isinstance(itemID, int):\r\n            raise TypeError(\"All itemIDs must be integer\")\r\n\r\n    q = select((Item.typeID, Attribute.attributeID, Attribute.value),\r\n               and_(Attribute.attributeID.in_(attrIDs), Item.typeID.in_(itemIDs)),\r\n               from_obj=[join(Attribute, Item)])\r\n\r\n    result = get_gamedata_session().execute(q).fetchall()\r\n    return result\r\n\r\n\r\ndef getAbyssalTypes():\r\n    return set([r.resultingTypeID for r in get_gamedata_session().query(DynamicItem.resultingTypeID).distinct()])\r\n\r\n\r\n@cachedQuery(1, \"itemID\")\r\ndef getDynamicItem(itemID, eager=None):\r\n    try:\r\n        if isinstance(itemID, int):\r\n            if eager is None:\r\n                result = get_gamedata_session().query(DynamicItem).filter(DynamicItem.ID == itemID).one()\r\n            else:\r\n                result = get_gamedata_session().query(DynamicItem).options(*processEager(eager)).filter(DynamicItem.ID == itemID).one()\r\n        else:\r\n            raise TypeError(\"Need integer as argument\")\r\n    except exc.NoResultFound:\r\n        result = None\r\n    return result\r\n\r\n\r\n@cachedQuery(1, \"lookfor\")\r\ndef getAllImplantSets():\r\n    implantSets = get_gamedata_session().query(ImplantSet).all()\r\n    return implantSets\r\n"
  },
  {
    "path": "eos/db/gamedata/traits.py",
    "content": "from sqlalchemy import Column, Table, Integer, String, ForeignKey\r\nfrom sqlalchemy.orm import mapper, synonym\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.gamedata import Traits\r\nimport eos.config\r\n\r\ntraits_table = Table(\r\n    \"invtraits\",\r\n    gamedata_meta,\r\n    Column(\"typeID\", Integer, ForeignKey(\"invtypes.typeID\"), primary_key=True),\r\n    *[Column(\"traitText{}\".format(lang), String) for lang in eos.config.translation_mapping.values()],\r\n)\r\n\r\nmapper(\r\n    Traits,\r\n    traits_table,\r\n    properties={\r\n        \"display\": synonym(\"traitText{}\".format(eos.config.lang)),\r\n    }\r\n)\r\n"
  },
  {
    "path": "eos/db/gamedata/unit.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Column, Table, Integer, String\r\nfrom sqlalchemy.orm import mapper, synonym\r\n\r\nfrom eos.db import gamedata_meta\r\nfrom eos.gamedata import Unit\r\nimport eos.config\r\n\r\ngroups_table = Table(\"dgmunits\", gamedata_meta,\r\n                     Column(\"unitID\", Integer, primary_key=True),\r\n                     Column(\"unitName\", String),\r\n                     *[Column(\"displayName{}\".format(lang), String) for lang in eos.config.translation_mapping.values()],\r\n                     )\r\n\r\nmapper(Unit, groups_table,\r\n       properties={\r\n           \"ID\"  : synonym(\"unitID\"),\r\n           \"name\": synonym(\"unitName\")\r\n        })\r\n"
  },
  {
    "path": "eos/db/migration.py",
    "content": "from logbook import Logger\r\nimport shutil\r\nimport time\r\n\r\nimport config\r\nfrom . import migrations\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\ndef getVersion(db):\r\n    cursor = db.execute('PRAGMA user_version')\r\n    return cursor.fetchone()[0]\r\n\r\n\r\ndef getAppVersion():\r\n    return migrations.appVersion\r\n\r\n\r\ndef update(saveddata_engine):\r\n    dbVersion = getVersion(saveddata_engine)\r\n    appVersion = getAppVersion()\r\n\r\n    if dbVersion == appVersion:\r\n        return\r\n\r\n    if dbVersion < appVersion:\r\n        # Automatically backup database\r\n        toFile = \"%s/saveddata_migration_%d-%d_%s.db\" % (\r\n            config.savePath,\r\n            dbVersion,\r\n            appVersion,\r\n            time.strftime(\"%Y%m%d_%H%M%S\"))\r\n\r\n        shutil.copyfile(config.saveDB, toFile)\r\n\r\n        for version in range(dbVersion, appVersion):\r\n            func = migrations.updates[version + 1]\r\n            if func:\r\n                pyfalog.info(\"Applying database update: {0}\", version + 1)\r\n                func(saveddata_engine)\r\n\r\n        # when all is said and done, set version to current\r\n        saveddata_engine.execute(\"PRAGMA user_version = {}\".format(appVersion))\r\n"
  },
  {
    "path": "eos/db/migrations/__init__.py",
    "content": "\"\"\"\r\nThe migration module includes migration logic to update database scheme and/or\r\ndata for the user database.\r\n\r\nTo create a migration, simply create a file upgrade<migration number>.py and\r\ndefine an upgrade() function with the logic. Please note that there must be as\r\nmany upgrade files as there are database versions (version 5 would include\r\nupgrade files 1-5)\r\n\"\"\"\r\n\r\nimport re\r\n\r\nfrom eos.utils.pyinst_support import iterNamespace\r\n\r\nupdates = {}\r\nappVersion = 0\r\n\r\nprefix = __name__ + \".\"\r\n\r\nfor modName in iterNamespace(__name__, __path__):\r\n    # loop through python files, extracting update number and function, and\r\n    # adding it to a list\r\n    modname_tail = modName.rsplit('.', 1)[-1]\r\n    m = re.match(r\"^upgrade(?P<index>\\d+)$\", modname_tail)\r\n    if not m:\r\n        continue\r\n    index = int(m.group(\"index\"))\r\n    appVersion = max(appVersion, index)\r\n    module = __import__(modName, fromlist=True)\r\n    upgrade = getattr(module, \"upgrade\", False)\r\n    if upgrade:\r\n        updates[index] = upgrade\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade1.py",
    "content": "\"\"\"\r\nMigration 1\r\n\r\n- Alters fits table to introduce target resist attribute\r\n- Converts modules based on Oceanus Module Tiericide\r\n    Some modules have been deleted, which causes pyfa to crash when fits are\r\n    loaded as they no longer exist in the database. We therefore replace these\r\n    modules with their new replacements\r\n\r\n    Based on https://www.eveonline.com/news/view/patch-notes-for-oceanus\r\n    and output of itemDiff.py\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\nCONVERSIONS = {\r\n    6135 : [  # Scoped Cargo Scanner\r\n        6133,  # Interior Type-E Cargo Identifier\r\n    ],\r\n    6527 : [  # Compact Ship Scanner\r\n        6525,  # Ta3 Perfunctory Vessel Probe\r\n        6529,  # Speculative Ship Identifier I\r\n        6531,  # Practical Type-E Ship Probe\r\n    ],\r\n    6569 : [  # Scoped Survey Scanner\r\n        6567,  # ML-3 Amphilotite Mining Probe\r\n        6571,  # Rock-Scanning Sensor Array I\r\n        6573,  # 'Dactyl' Type-E Asteroid Analyzer\r\n    ],\r\n    509  : [  # 'Basic' Capacitor Flux Coil\r\n        8163,  # Partial Power Plant Manager: Capacitor Flux\r\n        8165,  # Alpha Reactor Control: Capacitor Flux\r\n        8167,  # Type-E Power Core Modification: Capacitor Flux\r\n        8169,  # Marked Generator Refitting: Capacitor Flux\r\n    ],\r\n    8135 : [  # Restrained Capacitor Flux Coil\r\n        8131,  # Local Power Plant Manager: Capacitor Flux I\r\n    ],\r\n    8133 : [  # Compact Capacitor Flux Coil\r\n        8137,  # Mark I Generator Refitting: Capacitor Flux\r\n    ],\r\n    3469 : [  # Basic Co-Processor\r\n        8744,  # Nanoelectrical Co-Processor\r\n        8743,  # Nanomechanical CPU Enhancer\r\n        8746,  # Quantum Co-Processor\r\n        8745,  # Photonic CPU Enhancer\r\n        15425,  # Naiyon's Modified Co-Processor (never existed but convert\r\n        # anyway as some fits may include it)\r\n    ],\r\n    8748 : [  # Upgraded Co-Processor\r\n        8747,  # Nanomechanical CPU Enhancer I\r\n        8750,  # Quantum Co-Processor I\r\n        8749,  # Photonic CPU Enhancer I\r\n    ],\r\n    1351 : [  # Basic Reactor Control Unit\r\n        8251,  # Partial Power Plant Manager: Reaction Control\r\n        8253,  # Alpha Reactor Control: Reaction Control\r\n        8257,  # Marked Generator Refitting: Reaction Control\r\n    ],\r\n    8263 : [  # Compact Reactor Control Unit\r\n        8259,  # Local Power Plant Manager: Reaction Control I\r\n        8265,  # Mark I Generator Refitting: Reaction Control\r\n        8261,  # Beta Reactor Control: Reaction Control I\r\n    ],\r\n    16537: [  # Compact Micro Auxiliary Power Core\r\n        16539,  # Micro B88 Core Augmentation\r\n        16541,  # Micro K-Exhaust Core Augmentation\r\n    ],\r\n    31936: [  # Navy Micro Auxiliary Power Core\r\n        16543,  # Micro 'Vigor' Core Augmentation\r\n    ],\r\n    8089 : [  # Compact Light Missile Launcher\r\n        8093,  # Prototype 'Arbalest' Light Missile Launcher\r\n    ],\r\n    8091 : [  # Ample Light Missile Launcher\r\n        7993,  # Experimental TE-2100 Light Missile Launcher\r\n    ],\r\n    # Surface Cargo Scanner I was removed from game, however no mention of\r\n    # replacement module in patch notes. Morphing it to meta 0 module to be safe\r\n    442  : [  # Cargo Scanner I\r\n        6129,  # Surface Cargo Scanner I\r\n    ]\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Update fits schema to include target resists attribute\r\n    try:\r\n        saveddata_engine.execute(\"SELECT targetResistsID FROM fits LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE fits ADD COLUMN targetResistsID INTEGER;\")\r\n\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade10.py",
    "content": "\"\"\"\r\nMigration 10\r\n\r\n- Adds active attribute to projected fits\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Update projectedFits schema to include active attribute\r\n    try:\r\n        saveddata_engine.execute(\"SELECT active FROM projectedFits LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE projectedFits ADD COLUMN active BOOLEAN\")\r\n        saveddata_engine.execute(\"UPDATE projectedFits SET active = 1\")\r\n        saveddata_engine.execute(\"UPDATE projectedFits SET amount = 1\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade11.py",
    "content": "\"\"\"\r\nMigration 11\r\n\r\n- Converts modules based on December Release 2015 Tiericide\r\n    Some modules have been unpublished (and unpublished module attributes are removed\r\n    from database), which causes pyfa to crash. We therefore replace these\r\n    modules with their new replacements\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    16467: (  # Medium Gremlin Compact Energy Neutralizer\r\n        16471,  # Medium Unstable Power Fluctuator I\r\n    ),\r\n    22947: (  # 'Beatnik' Small Remote Armor Repairer\r\n        23414,  # 'Brotherhood' Small Remote Armor Repairer\r\n    ),\r\n    8295 : (  # Type-D Restrained Shield Flux Coil\r\n        8293,  # Beta Reactor Control: Shield Flux I\r\n    ),\r\n    16499: (  # Heavy Knave Scoped Energy Nosferatu\r\n        16501,  # E500 Prototype Energy Vampire\r\n    ),\r\n    16477: (  # Heavy Infectious Scoped Energy Neutralizer\r\n        16473,  # Heavy Rudimentary Energy Destabilizer I\r\n    ),\r\n    16475: (  # Heavy Gremlin Compact Energy Neutralizer\r\n        16479,  # Heavy Unstable Power Fluctuator I\r\n    ),\r\n    16447: (  # Medium Solace Scoped Remote Armor Repairer\r\n        16445,  # Medium 'Arup' Remote Armor Repairer\r\n    ),\r\n    508  : (  # 'Basic' Shield Flux Coil\r\n        8325,  # Alpha Reactor Shield Flux\r\n        8329,  # Marked Generator Refitting: Shield Flux\r\n        8323,  # Partial Power Plant Manager: Shield Flux\r\n        8327,  # Type-E Power Core Modification: Shield Flux\r\n    ),\r\n    1419 : (  # 'Basic' Shield Power Relay\r\n        8341,  # Alpha Reactor Shield Power Relay\r\n        8345,  # Marked Generator Refitting: Shield Power Relay\r\n        8339,  # Partial Power Plant Manager: Shield Power Relay\r\n        8343,  # Type-E Power Core Modification: Shield Power Relay\r\n    ),\r\n    16439: (  # Small Solace Scoped Remote Armor Repairer\r\n        16437,  # Small 'Arup' Remote Armor Repairer\r\n    ),\r\n    16505: (  # Medium Ghoul Compact Energy Nosferatu\r\n        16511,  # Medium Diminishing Power System Drain I\r\n    ),\r\n    8297 : (  # Mark I Compact Shield Flux Coil\r\n        8291,  # Local Power Plant Manager: Reaction Shield Flux I\r\n    ),\r\n    16455: (  # Large Solace Scoped Remote Armor Repairer\r\n        16453,  # Large 'Arup' Remote Armor Repairer\r\n    ),\r\n    6485 : (  # M51 Benefactor Compact Shield Recharger\r\n        6491,  # Passive Barrier Compensator I\r\n        6489,  # 'Benefactor' Ward Reconstructor\r\n        6487,  # Supplemental Screen Generator I\r\n    ),\r\n    5137 : (  # Small Knave Scoped Energy Nosferatu\r\n        5135,  # E5 Prototype Energy Vampire\r\n    ),\r\n    8579 : (  # Medium Murky Compact Remote Shield Booster\r\n        8581,  # Medium 'Atonement' Remote Shield Booster\r\n    ),\r\n    8531 : (  # Small Murky Compact Remote Shield Booster\r\n        8533,  # Small 'Atonement' Remote Shield Booster\r\n    ),\r\n    16497: (  # Heavy Ghoul Compact Energy Nosferatu\r\n        16503,  # Heavy Diminishing Power System Drain I\r\n    ),\r\n    4477 : (  # Small Gremlin Compact Energy Neutralizer\r\n        4475,  # Small Unstable Power Fluctuator I\r\n    ),\r\n    8337 : (  # Mark I Compact Shield Power Relay\r\n        8331,  # Local Power Plant Manager: Reaction Shield Power Relay I\r\n    ),\r\n    23416: (  # 'Peace' Large Remote Armor Repairer\r\n        22951,  # 'Pacifier' Large Remote Armor Repairer\r\n    ),\r\n    5141 : (  # Small Ghoul Compact Energy Nosferatu\r\n        5139,  # Small Diminishing Power System Drain I\r\n    ),\r\n    4471 : (  # Small Infectious Scoped Energy Neutralizer\r\n        4473,  # Small Rudimentary Energy Destabilizer I\r\n    ),\r\n    16469: (  # Medium Infectious Scoped Energy Neutralizer\r\n        16465,  # Medium Rudimentary Energy Destabilizer I\r\n    ),\r\n    8335 : (  # Type-D Restrained Shield Power Relay\r\n        8333,  # Beta Reactor Control: Shield Power Relay I\r\n    ),\r\n    405  : (  # 'Micro' Remote Shield Booster\r\n        8631,  # Micro Asymmetric Remote Shield Booster\r\n        8627,  # Micro Murky Remote Shield Booster\r\n        8629,  # Micro 'Atonement' Remote Shield Booster\r\n        8633,  # Micro S95a Remote Shield Booster\r\n    ),\r\n    8635 : (  # Large Murky Compact Remote Shield Booster\r\n        8637,  # Large 'Atonement' Remote Shield Booster\r\n    ),\r\n    16507: (  # Medium Knave Scoped Energy Nosferatu\r\n        16509,  # E50 Prototype Energy Vampire\r\n    ),\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade12.py",
    "content": "\"\"\"\r\nMigration 12\r\n\r\n- Converts modules based on March 2016 Module Tiericide\r\n    Some modules have been unpublished (and unpublished module attributes are removed\r\n    from database), which causes pyfa to crash. We therefore replace these\r\n    modules with their new replacements\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    16457: (  # Crosslink Compact Ballistic Control System\r\n        16459,  # Muon Coil Bolt Array I\r\n        16461,  # Multiphasic Bolt Array I\r\n        16463,  # 'Pandemonium' Ballistic Enhancement\r\n    ),\r\n    5281 : (  # Coadjunct Scoped Remote Sensor Booster\r\n        7218,  # Piercing ECCM Emitter I\r\n    ),\r\n    5365 : (  # Cetus Scoped Burst Jammer\r\n        5359,  # 1Z-3 Subversive ECM Eruption\r\n    ),\r\n    1973 : (  # Sensor Booster I\r\n        1947,  # ECCM - Radar I\r\n        2002,  # ECCM - Ladar I\r\n        2003,  # ECCM - Magnetometric I\r\n        2004,  # ECCM - Gravimetric I\r\n        2005,  # ECCM - Omni I\r\n    ),\r\n    1951 : (  # 'Basic' Tracking Enhancer\r\n        6322,  # Beta-Nought Tracking Mode\r\n        6323,  # Azimuth Descalloping Tracking Enhancer\r\n        6324,  # F-AQ Delay-Line Scan Tracking Subroutines\r\n        6321,  # Beam Parallax Tracking Program\r\n    ),\r\n    521  : (  # 'Basic' Damage Control\r\n        5829,  # GLFF Containment Field\r\n        5831,  # Interior Force Field Array\r\n        5835,  # F84 Local Damage System\r\n        5833,  # Systematic Damage Control\r\n    ),\r\n    22925: (  # 'Bootleg' Remote Sensor Booster\r\n        22939,  # 'Boss' Remote Sensor Booster\r\n        22941,  # 'Entrepreneur' Remote Sensor Booster\r\n    ),\r\n    5443 : (  # Faint Epsilon Scoped Warp Scrambler\r\n        5441,  # Fleeting Progressive Warp Scrambler I\r\n    ),\r\n    1963 : (  # Remote Sensor Booster I\r\n        1959,  # ECCM Projector I\r\n    ),\r\n    6325 : (  # Fourier Compact Tracking Enhancer\r\n        6326,  # Sigma-Nought Tracking Mode I\r\n        6327,  # Auto-Gain Control Tracking Enhancer I\r\n        6328,  # F-aQ Phase Code Tracking Subroutines\r\n    ),\r\n    21486: (  # 'Kindred' Gyrostabilizer\r\n        21488,  # Monophonic Stabilization Actuator I\r\n    ),\r\n    19927: (  # Hypnos Scoped Magnetometric ECM\r\n        9518,  # Initiated Ion Field ECM I\r\n    ),\r\n    10188: (  # 'Basic' Magnetic Field Stabilizer\r\n        11111,  # Insulated Stabilizer Array\r\n        11109,  # Linear Flux Stabilizer\r\n        11115,  # Gauss Field Balancer\r\n        11113,  # Magnetic Vortex Stabilizer\r\n    ),\r\n    22919: (  # 'Monopoly' Magnetic Field Stabilizer\r\n        22917,  # 'Capitalist' Magnetic Field Stabilizer I\r\n    ),\r\n    5839 : (  # IFFA Compact Damage Control\r\n        5841,  # Emergency Damage Control I\r\n        5843,  # F85 Peripheral Damage System I\r\n        5837,  # Pseudoelectron Containment Field I\r\n    ),\r\n    522  : (  # 'Micro' Cap Battery\r\n        4747,  # Micro Ld-Acid Capacitor Battery I\r\n        4751,  # Micro Ohm Capacitor Reserve I\r\n        4745,  # Micro F-4a Ld-Sulfate Capacitor Charge Unit\r\n        4749,  # Micro Peroxide Capacitor Power Cell\r\n        3480,  # Micro Capacitor Battery II\r\n    ),\r\n    518  : (  # 'Basic' Gyrostabilizer\r\n        5915,  # Lateral Gyrostabilizer\r\n        5919,  # F-M2 Weapon Inertial Suspensor\r\n        5913,  # Hydraulic Stabilization Actuator\r\n        5917,  # Stabilized Weapon Mounts\r\n    ),\r\n    19931: (  # Compulsive Scoped Multispectral ECM\r\n        19933,  # 'Hypnos' Multispectral ECM I\r\n    ),\r\n    5403 : (  # Faint Scoped Warp Disruptor\r\n        5401,  # Fleeting Warp Disruptor I\r\n    ),\r\n    23902: (  # 'Trebuchet' Heat Sink I\r\n        23900,  # 'Mangonel' Heat Sink I\r\n    ),\r\n    1893 : (  # 'Basic' Heat Sink\r\n        5845,  # Heat Exhaust System\r\n        5856,  # C3S Convection Thermal Radiator\r\n        5855,  # 'Boreas' Coolant System\r\n        5854,  # Stamped Heat Sink\r\n    ),\r\n    6160 : (  # F-90 Compact Sensor Booster\r\n        20214,  # Extra Radar ECCM Scanning Array I\r\n        20220,  # Extra Ladar ECCM Scanning Array I\r\n        20226,  # Extra Gravimetric ECCM Scanning Array I\r\n        20232,  # Extra Magnetometric ECCM Scanning Array I\r\n        7948,  # Gravimetric Positional ECCM Sensor System I\r\n        7964,  # Radar Positional ECCM Sensor System I\r\n        7965,  # Omni Positional ECCM Sensor System I\r\n        7966,  # Ladar Positional ECCM Sensor System I\r\n        7970,  # Magnetometric Positional ECCM Sensor System I\r\n        20218,  # Conjunctive Radar ECCM Scanning Array I\r\n        20224,  # Conjunctive Ladar ECCM Scanning Array I\r\n        20230,  # Conjunctive Gravimetric ECCM Scanning Array I\r\n        20236,  # Conjunctive Magnetometric ECCM Scanning Array I\r\n        6157,  # Supplemental Scanning CPU I\r\n    ),\r\n    23418: (  # 'Radical' Damage Control\r\n        22893,  # 'Gonzo' Damage Control I\r\n    ),\r\n    19952: (  # Umbra Scoped Radar ECM\r\n        9520,  # 'Penumbra' White Noise ECM\r\n    ),\r\n    1952 : (  # Sensor Booster II\r\n        2258,  # ECCM - Omni II\r\n        2259,  # ECCM - Gravimetric II\r\n        2260,  # ECCM - Ladar II\r\n        2261,  # ECCM - Magnetometric II\r\n        2262,  # ECCM - Radar II\r\n    ),\r\n    5282 : (  # Linked Enduring Sensor Booster\r\n        7219,  # Scattering ECCM Projector I\r\n    ),\r\n    1986 : (  # Signal Amplifier I\r\n        2579,  # Gravimetric Backup Array I\r\n        2583,  # Ladar Backup Array I\r\n        2587,  # Magnetometric Backup Array I\r\n        2591,  # Multi Sensor Backup Array I\r\n        4013,  # RADAR Backup Array I\r\n    ),\r\n    4871 : (  # Large Compact Pb-Acid Cap Battery\r\n        4875,  # Large Ohm Capacitor Reserve I\r\n        4869,  # Large F-4a Ld-Sulfate Capacitor Charge Unit\r\n        4873,  # Large Peroxide Capacitor Power Cell\r\n    ),\r\n    1964 : (  # Remote Sensor Booster II\r\n        1960,  # ECCM Projector II\r\n    ),\r\n    5933 : (  # Counterbalanced Compact Gyrostabilizer\r\n        5931,  # Cross-Lateral Gyrostabilizer I\r\n        5935,  # F-M3 Munition Inertial Suspensor\r\n        5929,  # Pneumatic Stabilization Actuator I\r\n    ),\r\n    4025 : (  # X5 Enduring Stasis Webifier\r\n        4029,  # 'Langour' Drive Disruptor I\r\n    ),\r\n    4027 : (  # Fleeting Compact Stasis Webifier\r\n        4031,  # Patterned Stasis Web I\r\n    ),\r\n    22937: (  # 'Enterprise' Remote Tracking Computer\r\n        22935,  # 'Tycoon' Remote Tracking Computer\r\n    ),\r\n    22929: (  # 'Marketeer' Tracking Computer\r\n        22927,  # 'Economist' Tracking Computer I\r\n    ),\r\n    1987 : (  # Signal Amplifier II\r\n        2580,  # Gravimetric Backup Array II\r\n        2584,  # Ladar Backup Array II\r\n        2588,  # Magnetometric Backup Array II\r\n        2592,  # Multi Sensor Backup Array II\r\n        4014,  # RADAR Backup Array II\r\n    ),\r\n    19939: (  # Enfeebling Scoped Ladar ECM\r\n        9522,  # Faint Phase Inversion ECM I\r\n    ),\r\n    5340 : (  # P-S Compact Remote Tracking Computer\r\n        5341,  # 'Prayer' Remote Tracking Computer\r\n    ),\r\n    19814: (  # Phased Scoped Target Painter\r\n        19808,  # Partial Weapon Navigation\r\n    ),\r\n    1949 : (  # 'Basic' Signal Amplifier\r\n        1946,  # Basic RADAR Backup Array\r\n        1982,  # Basic Ladar Backup Array\r\n        1983,  # Basic Gravimetric Backup Array\r\n        1984,  # Basic Magnetometric Backup Array\r\n        1985,  # Basic Multi Sensor Backup Array\r\n        6193,  # Emergency Magnetometric Scanners\r\n        6194,  # Emergency Multi-Frequency Scanners\r\n        6202,  # Emergency RADAR Scanners\r\n        6216,  # Emergency Ladar Scanners\r\n        6217,  # Emergency Gravimetric Scanners\r\n        6225,  # Sealed RADAR Backup Cluster\r\n        6238,  # Sealed Magnetometric Backup Cluster\r\n        6239,  # Sealed Multi-Frequency Backup Cluster\r\n        6241,  # Sealed Ladar Backup Cluster\r\n        6242,  # Sealed Gravimetric Backup Cluster\r\n        6257,  # Surplus RADAR Reserve Array\r\n        6258,  # F-42 Reiterative RADAR Backup Sensors\r\n        6283,  # Surplus Magnetometric Reserve Array\r\n        6284,  # F-42 Reiterative Magnetometric Backup Sensors\r\n        6285,  # Surplus Multi-Frequency Reserve Array\r\n        6286,  # F-42 Reiterative Multi-Frequency Backup Sensors\r\n        6289,  # Surplus Ladar Reserve Array\r\n        6290,  # F-42 Reiterative Ladar Backup Sensors\r\n        6291,  # Surplus Gravimetric Reserve Array\r\n        6292,  # F-42 Reiterative Gravimetric Backup Sensors\r\n        6309,  # Amplitude Signal Enhancer\r\n        6310,  # 'Acolyth' Signal Booster\r\n        6311,  # Type-E Discriminative Signal Augmentation\r\n        6312,  # F-90 Positional Signal Amplifier\r\n    ),\r\n    21527: (  # 'Firewall' Signal Amplifier\r\n        21521,  # Gravimetric Firewall\r\n        21523,  # Ladar Firewall\r\n        21525,  # Magnetometric Firewall\r\n        21527,  # Multi Sensor Firewall\r\n        21529,  # RADAR Firewall\r\n    ),\r\n    23416: (  # 'Peace' Large Remote Armor Repairer\r\n        None,  # 'Pacifier' Large Remote Armor Repairer\r\n    ),\r\n    6176 : (  # F-12 Enduring Tracking Computer\r\n        6174,  # Monopulse Tracking Mechanism I\r\n    ),\r\n    6159 : (  # Alumel-Wired Enduring Sensor Booster\r\n        7917,  # Alumel Radar ECCM Sensor Array I\r\n        7918,  # Alumel Ladar ECCM Sensor Array I\r\n        7922,  # Alumel Gravimetric ECCM Sensor Array I\r\n        7926,  # Alumel Omni ECCM Sensor Array I\r\n        7937,  # Alumel Magnetometric ECCM Sensor Array I\r\n        7867,  # Supplemental Ladar ECCM Scanning Array I\r\n        7869,  # Supplemental Gravimetric ECCM Scanning Array I\r\n        7870,  # Supplemental Omni ECCM Scanning Array I\r\n        7887,  # Supplemental Radar ECCM Scanning Array I\r\n        7889,  # Supplemental Magnetometric ECCM Scanning Array I\r\n        20216,  # Incremental Radar ECCM Scanning Array I\r\n        20222,  # Incremental Ladar ECCM Scanning Array I\r\n        20228,  # Incremental Gravimetric ECCM Scanning Array I\r\n        20234,  # Incremental Magnetometric ECCM Scanning Array I\r\n        7892,  # Prototype ECCM Radar Sensor Cluster\r\n        7893,  # Prototype ECCM Ladar Sensor Cluster\r\n        7895,  # Prototype ECCM Gravimetric Sensor Cluster\r\n        7896,  # Prototype ECCM Omni Sensor Cluster\r\n        7914,  # Prototype ECCM Magnetometric Sensor Cluster\r\n        6158,  # Prototype Sensor Booster\r\n    ),\r\n    5849 : (  # Extruded Compact Heat Sink\r\n        5846,  # Thermal Exhaust System I\r\n        5858,  # C4S Coiled Circuit Thermal Radiator\r\n        5857,  # 'Skadi' Coolant System I\r\n    ),\r\n    22895: (  # 'Shady' Sensor Booster\r\n        22897,  # 'Forger' ECCM - Magnetometric I\r\n    ),\r\n    11105: (  # Vortex Compact Magnetic Field Stabilizer\r\n        11103,  # Insulated Stabilizer Array I\r\n        11101,  # Linear Flux Stabilizer I\r\n        11107,  # Gauss Field Balancer I\r\n    ),\r\n    22945: (  # 'Executive' Remote Sensor Dampener\r\n        22943,  # 'Broker' Remote Sensor Dampener I\r\n    ),\r\n    6173 : (  # Optical Compact Tracking Computer\r\n        6175,  # 'Orion' Tracking CPU I\r\n    ),\r\n    5279 : (  # F-23 Compact Remote Sensor Booster\r\n        7217,  # Spot Pulsing ECCM I\r\n        7220,  # Phased Muon ECCM Caster I\r\n        5280,  # Connected Remote Sensor Booster\r\n    ),\r\n    4787 : (  # Small Compact Pb-Acid Cap Battery\r\n        4791,  # Small Ohm Capacitor Reserve I\r\n        4785,  # Small F-4a Ld-Sulfate Capacitor Charge Unit\r\n        4789,  # Small Peroxide Capacitor Power Cell\r\n    ),\r\n    19946: (  # BZ-5 Scoped Gravimetric ECM\r\n        9519,  # FZ-3 Subversive Spatial Destabilizer ECM\r\n    ),\r\n    6073 : (  # Medium Compact Pb-Acid Cap Battery\r\n        6097,  # Medium Ohm Capacitor Reserve I\r\n        6111,  # Medium F-4a Ld-Sulfate Capacitor Charge Unit\r\n        6083,  # Medium Peroxide Capacitor Power Cell\r\n    ),\r\n    21484: (  # 'Full Duplex' Ballistic Control System\r\n        21482,  # Ballistic 'Purge' Targeting System I\r\n    ),\r\n    6296 : (  # F-89 Compact Signal Amplifier\r\n        6218,  # Protected Gravimetric Backup Cluster I\r\n        6222,  # Protected Ladar Backup Cluster I\r\n        6226,  # Protected Magnetometric Backup Cluster I\r\n        6230,  # Protected Multi-Frequency Backup Cluster I\r\n        6234,  # Protected RADAR Backup Cluster I\r\n        6195,  # Reserve Gravimetric Scanners\r\n        6199,  # Reserve Ladar Scanners\r\n        6203,  # Reserve Magnetometric Scanners\r\n        6207,  # Reserve Multi-Frequency Scanners\r\n        6212,  # Reserve RADAR Scanners\r\n        20238,  # Secure Gravimetric Backup Cluster I\r\n        20244,  # Secure Ladar Backup Cluster I\r\n        20250,  # Secure Magnetometric Backup Cluster I\r\n        20260,  # Secure Radar Backup Cluster I\r\n        6244,  # F-43 Repetitive Gravimetric Backup Sensors\r\n        6252,  # F-43 Repetitive Ladar Backup Sensors\r\n        6260,  # F-43 Repetitive Magnetometric Backup Sensors\r\n        6268,  # F-43 Repetitive Multi-Frequency Backup Sensors\r\n        6276,  # F-43 Repetitive RADAR Backup Sensors\r\n        20240,  # Shielded Gravimetric Backup Cluster I\r\n        20246,  # Shielded Ladar Backup Cluster I\r\n        20252,  # Shielded Magnetometric Backup Cluster I\r\n        20262,  # Shielded Radar Backup Cluster I\r\n        6243,  # Surrogate Gravimetric Reserve Array I\r\n        6251,  # Surrogate Ladar Reserve Array I\r\n        6259,  # Surrogate Magnetometric Reserve Array I\r\n        6267,  # Surrogate Multi-Frequency Reserve Array I\r\n        6275,  # Surrogate RADAR Reserve Array I\r\n        20242,  # Warded Gravimetric Backup Cluster I\r\n        20248,  # Warded Ladar Backup Cluster I\r\n        20254,  # Warded Magnetometric Backup Cluster I\r\n        20264,  # Warded Radar Backup Cluster I\r\n        6294,  # 'Mendicant' Signal Booster I\r\n        6293,  # Wavelength Signal Enhancer I\r\n        6295,  # Type-D Attenuation Signal Augmentation\r\n    ),\r\n    5302 : (  # Phased Muon Scoped Sensor Dampener\r\n        5300,  # Indirect Scanning Dampening Unit I\r\n    ),\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade13.py",
    "content": "\"\"\"\r\nMigration 13\r\n\r\n- Alters fits table to introduce implant location attribute\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Update fits schema to include implant location attribute\r\n    try:\r\n        saveddata_engine.execute(\"SELECT implantLocation FROM fits LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE fits ADD COLUMN implantLocation INTEGER;\")\r\n        saveddata_engine.execute(\"UPDATE fits SET implantLocation = 0\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade14.py",
    "content": "\"\"\"\r\nMigration 14\r\n\r\n- This should take care of issue #586.\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    if saveddata_engine.execute(\r\n            \"SELECT name FROM sqlite_master WHERE type='table' AND name='fighters'\").scalar() == 'fighters':\r\n        # Fighters table exists\r\n        try:\r\n            saveddata_engine.execute(\"SELECT active FROM fighters LIMIT 1\")\r\n        except sqlalchemy.exc.DatabaseError:\r\n            # if we don't have the active column, we are on an old pre-release version. Drop the tables and move on\r\n            # (they will be recreated)\r\n\r\n            saveddata_engine.execute(\"DROP TABLE fighters\")\r\n            saveddata_engine.execute(\"DROP TABLE fightersAbilities\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade15.py",
    "content": "\"\"\"\r\nMigration 15\r\n\r\n- Delete projected modules on citadels\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    sql = \"\"\"\r\n    DELETE FROM modules WHERE ID IN\r\n    (\r\n        SELECT m.ID FROM modules AS m\r\n        JOIN fits AS f ON m.fitID = f.ID\r\n        WHERE f.shipID IN (\"35832\", \"35833\", \"35834\", \"40340\")\r\n        AND m.projected = 1\r\n    )\r\n    \"\"\"\r\n\r\n    saveddata_engine.execute(sql)\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade16.py",
    "content": "\"\"\"\r\nMigration 16\r\n\r\n- Alters fits table to introduce notes attribute\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Update fits schema to include notes attribute\r\n    try:\r\n        saveddata_engine.execute(\"SELECT notes FROM fits LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE fits ADD COLUMN notes VARCHAR;\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade17.py",
    "content": "\"\"\"\r\nMigration 17\r\n\r\n- Moves all fleet boosters to the new schema\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    from eos.db import saveddata_session\r\n    from eos.db.saveddata.fit import commandFits_table\r\n\r\n    sql = \"\"\"\r\n          SELECT sm.memberID as boostedFit, s.leaderID AS squadBoost, w.leaderID AS wingBoost, g.leaderID AS gangBoost\r\n          FROM squadmembers sm\r\n          JOIN squads s ON s.ID = sm.squadID\r\n          JOIN wings w on w.ID = s.wingID\r\n          JOIN gangs g on g.ID = w.gangID\r\n          \"\"\"\r\n    try:\r\n        results = saveddata_session.execute(sql)\r\n\r\n        inserts = []\r\n\r\n        for row in results:\r\n            boosted = row[\"boostedFit\"]\r\n            types = (\"squad\", \"wing\", \"gang\")\r\n            for x in types:\r\n                value = row[\"{}Boost\".format(x)]\r\n                if value is None:\r\n                    continue\r\n\r\n                inserts.append({\"boosterID\": value, \"boostedID\": boosted, \"active\": 1})\r\n                try:\r\n                    saveddata_session.execute(commandFits_table.insert(),\r\n                                              {\"boosterID\": value, \"boostedID\": boosted, \"active\": 1})\r\n                except (KeyboardInterrupt, SystemExit):\r\n                    raise\r\n                except Exception:\r\n                    pass\r\n        saveddata_session.commit()\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        # Shouldn't fail unless you have updated database without the old fleet schema and manually modify the database version\r\n        # If it does, simply fail. Fleet data migration isn't critically important here\r\n        pass\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade18.py",
    "content": "\"\"\"\r\nMigration 8\r\n\r\n- Converts modules from old Warfare Links to Command Modules\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    42526: (  # Armor Command Burst I\r\n        20069,  # Armored Warfare Link - Damage Control I\r\n        20409,  # Armored Warfare Link - Passive Defense I\r\n        22227,  # Armored Warfare Link - Rapid Repair I\r\n    ),\r\n    43552: (  # Armor Command Burst II\r\n        4264,  # Armored Warfare Link - Damage Control II\r\n        4266,  # Armored Warfare Link - Passive Defense II\r\n        4266,  # Armored Warfare Link - Rapid Repair II\r\n    ),\r\n    42527: (  # Information Command Burst I\r\n        11052,  # Information Warfare Link - Sensor Integrity I\r\n        20405,  # Information Warfare Link - Recon Operation I\r\n        20406,  # Information Warfare Link - Electronic Superiority I\r\n    ),\r\n    43554: (  # Information Command Burst II\r\n        4268,  # Information Warfare Link - Electronic Superiority II\r\n        4270,  # Information Warfare Link - Recon Operation II\r\n        4272,  # Information Warfare Link - Sensor Integrity II\r\n    ),\r\n    42529: (  # Shield Command Burst I\r\n        20124,  # Siege Warfare Link - Active Shielding I\r\n        20514,  # Siege Warfare Link - Shield Harmonizing I\r\n        22228,  # Siege Warfare Link - Shield Efficiency I\r\n    ),\r\n    43555: (  # Shield Command Burst II\r\n        4280,  # Siege Warfare Link - Active Shielding II\r\n        4282,  # Siege Warfare Link - Shield Efficiency II\r\n        4284  # Siege Warfare Link - Shield Harmonizing II\r\n    ),\r\n    42530: (  # Skirmish Command Burst I\r\n        11017,  # Skirmish Warfare Link - Interdiction Maneuvers I\r\n        20070,  # Skirmish Warfare Link - Evasive Maneuvers I\r\n        20408,  # Skirmish Warfare Link - Rapid Deployment I\r\n    ),\r\n    43556: (  # Skirmish Command Burst II\r\n        4286,  # Skirmish Warfare Link - Evasive Maneuvers II\r\n        4288,  # Skirmish Warfare Link - Interdiction Maneuvers II\r\n        4290  # Skirmish Warfare Link - Rapid Deployment II\r\n    ),\r\n    42528: (  # Mining Foreman Burst I\r\n        22553,  # Mining Foreman Link - Harvester Capacitor Efficiency I\r\n        22555,  # Mining Foreman Link - Mining Laser Field Enhancement I\r\n        22557,  # Mining Foreman Link - Laser Optimization I\r\n    ),\r\n    43551: (  # Mining Foreman Burst II\r\n        4274,  # Mining Foreman Link - Harvester Capacitor Efficiency II\r\n        4276,  # Mining Foreman Link - Laser Optimization II\r\n        4278  # Mining Foreman Link - Mining Laser Field Enhancement II\r\n    ),\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade19.py",
    "content": "\"\"\"\r\nMigration 19\r\n\r\n- Deletes broken references to fits from the commandFits table (see GH issue #844)\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    from eos.db import saveddata_session\r\n\r\n    sql = \"\"\"\r\n        DELETE FROM commandFits\r\n        WHERE boosterID NOT IN (select ID from fits)\r\n        OR boostedID NOT IN (select ID from fits)\r\n        \"\"\"\r\n\r\n    saveddata_session.execute(sql)\r\n    saveddata_session.commit()\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade2.py",
    "content": "\"\"\"\r\nMigration 2\r\n\r\n- Includes old upgrade paths pre-1.5.0. See GH issue #190 for why this is needed\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Update characters schema to include default chars\r\n    try:\r\n        saveddata_engine.execute(\"SELECT defaultChar, chars FROM characters LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE characters ADD COLUMN defaultChar INTEGER\")\r\n        saveddata_engine.execute(\"ALTER TABLE characters ADD COLUMN chars VARCHAR\")\r\n\r\n    # Update fits schema to include booster attribute\r\n    try:\r\n        saveddata_engine.execute(\"SELECT booster FROM fits LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE fits ADD COLUMN booster BOOLEAN\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade20.py",
    "content": "\"\"\"\r\nMigration 20\r\n\r\n- Adds support for alpha clones to the characters table\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Update characters schema to include alphaCloneID\r\n    try:\r\n        saveddata_engine.execute(\"SELECT alphaCloneID FROM characters LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE characters ADD COLUMN alphaCloneID INTEGER;\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade21.py",
    "content": "\"\"\"\r\nMigration 21\r\n\r\n- Fixes discrepancy in drone table where we may have an amount active that is not equal to the amount in the stack\r\n  (we don't support activating only 2/5 drones). See GH issue #728\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    saveddata_engine.execute(\"UPDATE drones SET amountActive = amount where amountActive > 0 AND amountActive <> amount;\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade22.py",
    "content": "\"\"\"\r\nMigration 22\r\n\r\n- Adds the created and modified fields to most tables\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n\r\n    # 1 = created only\r\n    # 2 = created and modified\r\n    tables = {\r\n        \"boosters\": 2,\r\n        \"cargo\": 2,\r\n        \"characters\": 2,\r\n        # \"crest\": 1,\r\n        \"damagePatterns\": 2,\r\n        \"drones\": 2,\r\n        \"fighters\": 2,\r\n        \"fits\": 2,\r\n        \"projectedFits\": 2,\r\n        \"commandFits\": 2,\r\n        \"implants\": 2,\r\n        \"implantSets\": 2,\r\n        \"modules\": 2,\r\n        \"overrides\": 2,\r\n        \"characterSkills\": 2,\r\n        \"targetResists\": 2\r\n    }\r\n\r\n    for table in list(tables.keys()):\r\n\r\n        # midnight brain, there's probably a much more simple way to do this, but fuck it\r\n        if tables[table] > 0:\r\n            try:\r\n                saveddata_engine.execute(\"SELECT created FROM {0} LIMIT 1;\".format(table))\r\n            except sqlalchemy.exc.DatabaseError:\r\n                saveddata_engine.execute(\"ALTER TABLE {} ADD COLUMN created DATETIME;\".format(table))\r\n\r\n        if tables[table] > 1:\r\n            try:\r\n                saveddata_engine.execute(\"SELECT modified FROM {0} LIMIT 1;\".format(table))\r\n            except sqlalchemy.exc.DatabaseError:\r\n                saveddata_engine.execute(\"ALTER TABLE {} ADD COLUMN modified DATETIME;\".format(table))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade23.py",
    "content": "\"\"\"\r\nMigration 23\r\n\r\n- Adds a sec status field to the character table\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    try:\r\n        saveddata_engine.execute(\"SELECT secStatus FROM characters LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE characters ADD COLUMN secStatus FLOAT;\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade24.py",
    "content": "\"\"\"\r\nMigration 24\r\n\r\n- Adds a boolean value to fit to signify if fit should ignore restrictions\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    try:\r\n        saveddata_engine.execute(\"SELECT ignoreRestrictions FROM fits LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE fits ADD COLUMN ignoreRestrictions BOOLEAN\")\r\n        saveddata_engine.execute(\"UPDATE fits SET ignoreRestrictions = 0\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade25.py",
    "content": "\"\"\"\r\nMigration 25\r\n\r\n- Converts T3C fitting configurations based on the spreadsheet noted here:\r\nhttps://www.eveonline.com/news/view/patch-notes-for-july-2017-release\r\n\r\n(csv copies can be found on the pyfa repo in case the official documents are deleted)\r\n\r\n- For fits that don't have 5 subsystems, or for fits that error out during the conversion, go by the generic \"loose\"\r\n conversion. Best effort ftw\r\n\"\"\"\r\n\r\nconversion = {\r\n    frozenset([30046, 29969, 30139, 30122, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29969, 30139, 30122, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30139, 30122, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30139, 30122, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29969, 30139, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29969, 30139, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30139, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30139, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29969, 30139, 30124, 30090]): (45627, 45590, 45602, 45615),\r\n    frozenset([30046, 29969, 30139, 30124, 30088]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29969, 30139, 30124, 30086]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29969, 30139, 30124, 30092]): (45627, 45590, 45602, 45613),\r\n    frozenset([30046, 29969, 30139, 30125, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30046, 29969, 30139, 30125, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29969, 30139, 30125, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29969, 30139, 30125, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30046, 29969, 30141, 30122, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29969, 30141, 30122, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30141, 30122, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30141, 30122, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29969, 30141, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29969, 30141, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30141, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30141, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29969, 30141, 30124, 30090]): (45627, 45590, 45602, 45615),\r\n    frozenset([30046, 29969, 30141, 30124, 30088]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29969, 30141, 30124, 30086]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29969, 30141, 30124, 30092]): (45627, 45590, 45602, 45613),\r\n    frozenset([30046, 29969, 30141, 30125, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30046, 29969, 30141, 30125, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29969, 30141, 30125, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29969, 30141, 30125, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30046, 29969, 30143, 30122, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29969, 30143, 30122, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30143, 30122, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30143, 30122, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29969, 30143, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29969, 30143, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30143, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30143, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29969, 30143, 30124, 30090]): (45627, 45590, 45602, 45615),\r\n    frozenset([30046, 29969, 30143, 30124, 30088]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29969, 30143, 30124, 30086]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29969, 30143, 30124, 30092]): (45627, 45590, 45602, 45613),\r\n    frozenset([30046, 29969, 30143, 30125, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30046, 29969, 30143, 30125, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29969, 30143, 30125, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29969, 30143, 30125, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30046, 29969, 30145, 30122, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29969, 30145, 30122, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30145, 30122, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30145, 30122, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29969, 30145, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29969, 30145, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30145, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29969, 30145, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29969, 30145, 30124, 30090]): (45627, 45590, 45602, 45615),\r\n    frozenset([30046, 29969, 30145, 30124, 30088]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29969, 30145, 30124, 30086]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29969, 30145, 30124, 30092]): (45627, 45590, 45602, 45613),\r\n    frozenset([30046, 29969, 30145, 30125, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30046, 29969, 30145, 30125, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29969, 30145, 30125, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29969, 30145, 30125, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30046, 29970, 30139, 30122, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30046, 29970, 30139, 30122, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30139, 30122, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30139, 30122, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30046, 29970, 30139, 30123, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30046, 29970, 30139, 30123, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30139, 30123, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30139, 30123, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30046, 29970, 30139, 30124, 30090]): (45627, 45591, 45602, 45615),\r\n    frozenset([30046, 29970, 30139, 30124, 30088]): (45627, 45591, 45602, 45614),\r\n    frozenset([30046, 29970, 30139, 30124, 30086]): (45627, 45591, 45602, 45614),\r\n    frozenset([30046, 29970, 30139, 30124, 30092]): (45627, 45591, 45602, 45613),\r\n    frozenset([30046, 29970, 30139, 30125, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30046, 29970, 30139, 30125, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29970, 30139, 30125, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29970, 30139, 30125, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30046, 29970, 30141, 30122, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30046, 29970, 30141, 30122, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30141, 30122, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30141, 30122, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30046, 29970, 30141, 30123, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30046, 29970, 30141, 30123, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30141, 30123, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30141, 30123, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30046, 29970, 30141, 30124, 30090]): (45627, 45591, 45602, 45615),\r\n    frozenset([30046, 29970, 30141, 30124, 30088]): (45627, 45591, 45602, 45614),\r\n    frozenset([30046, 29970, 30141, 30124, 30086]): (45627, 45591, 45602, 45614),\r\n    frozenset([30046, 29970, 30141, 30124, 30092]): (45627, 45591, 45602, 45613),\r\n    frozenset([30046, 29970, 30141, 30125, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30046, 29970, 30141, 30125, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29970, 30141, 30125, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29970, 30141, 30125, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30046, 29970, 30143, 30122, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30046, 29970, 30143, 30122, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30143, 30122, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30143, 30122, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30046, 29970, 30143, 30123, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30046, 29970, 30143, 30123, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30143, 30123, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30143, 30123, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30046, 29970, 30143, 30124, 30090]): (45627, 45591, 45602, 45615),\r\n    frozenset([30046, 29970, 30143, 30124, 30088]): (45627, 45591, 45602, 45614),\r\n    frozenset([30046, 29970, 30143, 30124, 30086]): (45627, 45591, 45602, 45614),\r\n    frozenset([30046, 29970, 30143, 30124, 30092]): (45627, 45591, 45602, 45613),\r\n    frozenset([30046, 29970, 30143, 30125, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30046, 29970, 30143, 30125, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29970, 30143, 30125, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29970, 30143, 30125, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30046, 29970, 30145, 30122, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30046, 29970, 30145, 30122, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30145, 30122, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30145, 30122, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30046, 29970, 30145, 30123, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30046, 29970, 30145, 30123, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30145, 30123, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30046, 29970, 30145, 30123, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30046, 29970, 30145, 30124, 30090]): (45627, 45591, 45602, 45615),\r\n    frozenset([30046, 29970, 30145, 30124, 30088]): (45627, 45591, 45602, 45614),\r\n    frozenset([30046, 29970, 30145, 30124, 30086]): (45627, 45591, 45602, 45614),\r\n    frozenset([30046, 29970, 30145, 30124, 30092]): (45627, 45591, 45602, 45613),\r\n    frozenset([30046, 29970, 30145, 30125, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30046, 29970, 30145, 30125, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29970, 30145, 30125, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29970, 30145, 30125, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30046, 29971, 30139, 30122, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29971, 30139, 30122, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30139, 30122, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30139, 30122, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29971, 30139, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29971, 30139, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30139, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30139, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29971, 30139, 30124, 30090]): (45627, 45590, 45602, 45615),\r\n    frozenset([30046, 29971, 30139, 30124, 30088]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29971, 30139, 30124, 30086]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29971, 30139, 30124, 30092]): (45627, 45590, 45602, 45613),\r\n    frozenset([30046, 29971, 30139, 30125, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30046, 29971, 30139, 30125, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29971, 30139, 30125, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29971, 30139, 30125, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30046, 29971, 30141, 30122, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29971, 30141, 30122, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30141, 30122, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30141, 30122, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29971, 30141, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29971, 30141, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30141, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30141, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29971, 30141, 30124, 30090]): (45627, 45590, 45602, 45615),\r\n    frozenset([30046, 29971, 30141, 30124, 30088]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29971, 30141, 30124, 30086]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29971, 30141, 30124, 30092]): (45627, 45590, 45602, 45613),\r\n    frozenset([30046, 29971, 30141, 30125, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30046, 29971, 30141, 30125, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29971, 30141, 30125, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29971, 30141, 30125, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30046, 29971, 30143, 30122, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29971, 30143, 30122, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30143, 30122, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30143, 30122, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29971, 30143, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29971, 30143, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30143, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30143, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29971, 30143, 30124, 30090]): (45627, 45590, 45602, 45615),\r\n    frozenset([30046, 29971, 30143, 30124, 30088]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29971, 30143, 30124, 30086]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29971, 30143, 30124, 30092]): (45627, 45590, 45602, 45613),\r\n    frozenset([30046, 29971, 30143, 30125, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30046, 29971, 30143, 30125, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29971, 30143, 30125, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29971, 30143, 30125, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30046, 29971, 30145, 30122, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29971, 30145, 30122, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30145, 30122, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30145, 30122, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29971, 30145, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30046, 29971, 30145, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30145, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30046, 29971, 30145, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30046, 29971, 30145, 30124, 30090]): (45627, 45590, 45602, 45615),\r\n    frozenset([30046, 29971, 30145, 30124, 30088]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29971, 30145, 30124, 30086]): (45627, 45590, 45602, 45614),\r\n    frozenset([30046, 29971, 30145, 30124, 30092]): (45627, 45590, 45602, 45613),\r\n    frozenset([30046, 29971, 30145, 30125, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30046, 29971, 30145, 30125, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29971, 30145, 30125, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30046, 29971, 30145, 30125, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30046, 29972, 30139, 30122, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30046, 29972, 30139, 30122, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30139, 30122, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30139, 30122, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30046, 29972, 30139, 30123, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30046, 29972, 30139, 30123, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30139, 30123, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30139, 30123, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30046, 29972, 30139, 30124, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30046, 29972, 30139, 30124, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30139, 30124, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30139, 30124, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30046, 29972, 30139, 30125, 30090]): (45627, 45589, 45603, 45615),\r\n    frozenset([30046, 29972, 30139, 30125, 30088]): (45627, 45589, 45603, 45614),\r\n    frozenset([30046, 29972, 30139, 30125, 30086]): (45627, 45589, 45603, 45614),\r\n    frozenset([30046, 29972, 30139, 30125, 30092]): (45627, 45589, 45603, 45613),\r\n    frozenset([30046, 29972, 30141, 30122, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30046, 29972, 30141, 30122, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30141, 30122, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30141, 30122, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30046, 29972, 30141, 30123, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30046, 29972, 30141, 30123, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30141, 30123, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30141, 30123, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30046, 29972, 30141, 30124, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30046, 29972, 30141, 30124, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30141, 30124, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30141, 30124, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30046, 29972, 30141, 30125, 30090]): (45627, 45589, 45603, 45615),\r\n    frozenset([30046, 29972, 30141, 30125, 30088]): (45627, 45589, 45603, 45614),\r\n    frozenset([30046, 29972, 30141, 30125, 30086]): (45627, 45589, 45603, 45614),\r\n    frozenset([30046, 29972, 30141, 30125, 30092]): (45627, 45589, 45603, 45613),\r\n    frozenset([30046, 29972, 30143, 30122, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30046, 29972, 30143, 30122, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30143, 30122, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30143, 30122, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30046, 29972, 30143, 30123, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30046, 29972, 30143, 30123, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30143, 30123, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30143, 30123, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30046, 29972, 30143, 30124, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30046, 29972, 30143, 30124, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30143, 30124, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30143, 30124, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30046, 29972, 30143, 30125, 30090]): (45627, 45589, 45603, 45615),\r\n    frozenset([30046, 29972, 30143, 30125, 30088]): (45627, 45589, 45603, 45614),\r\n    frozenset([30046, 29972, 30143, 30125, 30086]): (45627, 45589, 45603, 45614),\r\n    frozenset([30046, 29972, 30143, 30125, 30092]): (45627, 45589, 45603, 45613),\r\n    frozenset([30046, 29972, 30145, 30122, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30046, 29972, 30145, 30122, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30145, 30122, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30145, 30122, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30046, 29972, 30145, 30123, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30046, 29972, 30145, 30123, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30145, 30123, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30145, 30123, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30046, 29972, 30145, 30124, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30046, 29972, 30145, 30124, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30145, 30124, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30046, 29972, 30145, 30124, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30046, 29972, 30145, 30125, 30090]): (45627, 45589, 45603, 45615),\r\n    frozenset([30046, 29972, 30145, 30125, 30088]): (45627, 45589, 45603, 45614),\r\n    frozenset([30046, 29972, 30145, 30125, 30086]): (45627, 45589, 45603, 45614),\r\n    frozenset([30046, 29972, 30145, 30125, 30092]): (45627, 45589, 45603, 45613),\r\n    frozenset([30048, 29969, 30139, 30122, 30090]): (45626, 45590, 45601, 45615),\r\n    frozenset([30048, 29969, 30139, 30122, 30088]): (45626, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30139, 30122, 30086]): (45626, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30139, 30122, 30092]): (45626, 45590, 45601, 45613),\r\n    frozenset([30048, 29969, 30139, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30048, 29969, 30139, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30139, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30139, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30048, 29969, 30139, 30124, 30090]): (45626, 45590, 45602, 45615),\r\n    frozenset([30048, 29969, 30139, 30124, 30088]): (45626, 45590, 45602, 45614),\r\n    frozenset([30048, 29969, 30139, 30124, 30086]): (45626, 45590, 45602, 45614),\r\n    frozenset([30048, 29969, 30139, 30124, 30092]): (45626, 45590, 45602, 45613),\r\n    frozenset([30048, 29969, 30139, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30048, 29969, 30139, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29969, 30139, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29969, 30139, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30048, 29969, 30141, 30122, 30090]): (45626, 45590, 45601, 45615),\r\n    frozenset([30048, 29969, 30141, 30122, 30088]): (45626, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30141, 30122, 30086]): (45626, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30141, 30122, 30092]): (45626, 45590, 45601, 45613),\r\n    frozenset([30048, 29969, 30141, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30048, 29969, 30141, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30141, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30141, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30048, 29969, 30141, 30124, 30090]): (45626, 45590, 45602, 45615),\r\n    frozenset([30048, 29969, 30141, 30124, 30088]): (45626, 45590, 45602, 45614),\r\n    frozenset([30048, 29969, 30141, 30124, 30086]): (45626, 45590, 45602, 45614),\r\n    frozenset([30048, 29969, 30141, 30124, 30092]): (45626, 45590, 45602, 45613),\r\n    frozenset([30048, 29969, 30141, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30048, 29969, 30141, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29969, 30141, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29969, 30141, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30048, 29969, 30143, 30122, 30090]): (45626, 45590, 45601, 45615),\r\n    frozenset([30048, 29969, 30143, 30122, 30088]): (45626, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30143, 30122, 30086]): (45626, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30143, 30122, 30092]): (45626, 45590, 45601, 45613),\r\n    frozenset([30048, 29969, 30143, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30048, 29969, 30143, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30143, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30143, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30048, 29969, 30143, 30124, 30090]): (45626, 45590, 45602, 45615),\r\n    frozenset([30048, 29969, 30143, 30124, 30088]): (45626, 45590, 45602, 45614),\r\n    frozenset([30048, 29969, 30143, 30124, 30086]): (45626, 45590, 45602, 45614),\r\n    frozenset([30048, 29969, 30143, 30124, 30092]): (45626, 45590, 45602, 45613),\r\n    frozenset([30048, 29969, 30143, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30048, 29969, 30143, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29969, 30143, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29969, 30143, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30048, 29969, 30145, 30122, 30090]): (45625, 45590, 45601, 45615),\r\n    frozenset([30048, 29969, 30145, 30122, 30088]): (45625, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30145, 30122, 30086]): (45625, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30145, 30122, 30092]): (45625, 45590, 45601, 45613),\r\n    frozenset([30048, 29969, 30145, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30048, 29969, 30145, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30145, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29969, 30145, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30048, 29969, 30145, 30124, 30090]): (45625, 45590, 45602, 45615),\r\n    frozenset([30048, 29969, 30145, 30124, 30088]): (45625, 45590, 45602, 45614),\r\n    frozenset([30048, 29969, 30145, 30124, 30086]): (45625, 45590, 45602, 45614),\r\n    frozenset([30048, 29969, 30145, 30124, 30092]): (45625, 45590, 45602, 45613),\r\n    frozenset([30048, 29969, 30145, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30048, 29969, 30145, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30048, 29969, 30145, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30048, 29969, 30145, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30048, 29970, 30139, 30122, 30090]): (45626, 45591, 45601, 45615),\r\n    frozenset([30048, 29970, 30139, 30122, 30088]): (45626, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30139, 30122, 30086]): (45626, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30139, 30122, 30092]): (45626, 45591, 45601, 45613),\r\n    frozenset([30048, 29970, 30139, 30123, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30048, 29970, 30139, 30123, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30139, 30123, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30139, 30123, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30048, 29970, 30139, 30124, 30090]): (45626, 45591, 45602, 45615),\r\n    frozenset([30048, 29970, 30139, 30124, 30088]): (45626, 45591, 45602, 45614),\r\n    frozenset([30048, 29970, 30139, 30124, 30086]): (45626, 45591, 45602, 45614),\r\n    frozenset([30048, 29970, 30139, 30124, 30092]): (45626, 45591, 45602, 45613),\r\n    frozenset([30048, 29970, 30139, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30048, 29970, 30139, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29970, 30139, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29970, 30139, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30048, 29970, 30141, 30122, 30090]): (45626, 45591, 45601, 45615),\r\n    frozenset([30048, 29970, 30141, 30122, 30088]): (45626, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30141, 30122, 30086]): (45626, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30141, 30122, 30092]): (45626, 45591, 45601, 45613),\r\n    frozenset([30048, 29970, 30141, 30123, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30048, 29970, 30141, 30123, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30141, 30123, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30141, 30123, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30048, 29970, 30141, 30124, 30090]): (45626, 45591, 45602, 45615),\r\n    frozenset([30048, 29970, 30141, 30124, 30088]): (45626, 45591, 45602, 45614),\r\n    frozenset([30048, 29970, 30141, 30124, 30086]): (45626, 45591, 45602, 45614),\r\n    frozenset([30048, 29970, 30141, 30124, 30092]): (45626, 45591, 45602, 45613),\r\n    frozenset([30048, 29970, 30141, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30048, 29970, 30141, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29970, 30141, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29970, 30141, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30048, 29970, 30143, 30122, 30090]): (45626, 45591, 45601, 45615),\r\n    frozenset([30048, 29970, 30143, 30122, 30088]): (45626, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30143, 30122, 30086]): (45626, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30143, 30122, 30092]): (45626, 45591, 45601, 45613),\r\n    frozenset([30048, 29970, 30143, 30123, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30048, 29970, 30143, 30123, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30143, 30123, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30143, 30123, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30048, 29970, 30143, 30124, 30090]): (45626, 45591, 45602, 45615),\r\n    frozenset([30048, 29970, 30143, 30124, 30088]): (45626, 45591, 45602, 45614),\r\n    frozenset([30048, 29970, 30143, 30124, 30086]): (45626, 45591, 45602, 45614),\r\n    frozenset([30048, 29970, 30143, 30124, 30092]): (45626, 45591, 45602, 45613),\r\n    frozenset([30048, 29970, 30143, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30048, 29970, 30143, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29970, 30143, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29970, 30143, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30048, 29970, 30145, 30122, 30090]): (45625, 45591, 45601, 45615),\r\n    frozenset([30048, 29970, 30145, 30122, 30088]): (45625, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30145, 30122, 30086]): (45625, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30145, 30122, 30092]): (45625, 45591, 45601, 45613),\r\n    frozenset([30048, 29970, 30145, 30123, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30048, 29970, 30145, 30123, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30145, 30123, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30048, 29970, 30145, 30123, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30048, 29970, 30145, 30124, 30090]): (45625, 45591, 45602, 45615),\r\n    frozenset([30048, 29970, 30145, 30124, 30088]): (45625, 45591, 45602, 45614),\r\n    frozenset([30048, 29970, 30145, 30124, 30086]): (45625, 45591, 45602, 45614),\r\n    frozenset([30048, 29970, 30145, 30124, 30092]): (45625, 45591, 45602, 45613),\r\n    frozenset([30048, 29970, 30145, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30048, 29970, 30145, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30048, 29970, 30145, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30048, 29970, 30145, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30048, 29971, 30139, 30122, 30090]): (45626, 45590, 45601, 45615),\r\n    frozenset([30048, 29971, 30139, 30122, 30088]): (45626, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30139, 30122, 30086]): (45626, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30139, 30122, 30092]): (45626, 45590, 45601, 45613),\r\n    frozenset([30048, 29971, 30139, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30048, 29971, 30139, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30139, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30139, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30048, 29971, 30139, 30124, 30090]): (45626, 45590, 45602, 45615),\r\n    frozenset([30048, 29971, 30139, 30124, 30088]): (45626, 45590, 45602, 45614),\r\n    frozenset([30048, 29971, 30139, 30124, 30086]): (45626, 45590, 45602, 45614),\r\n    frozenset([30048, 29971, 30139, 30124, 30092]): (45626, 45590, 45602, 45613),\r\n    frozenset([30048, 29971, 30139, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30048, 29971, 30139, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29971, 30139, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29971, 30139, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30048, 29971, 30141, 30122, 30090]): (45626, 45590, 45601, 45615),\r\n    frozenset([30048, 29971, 30141, 30122, 30088]): (45626, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30141, 30122, 30086]): (45626, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30141, 30122, 30092]): (45626, 45590, 45601, 45613),\r\n    frozenset([30048, 29971, 30141, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30048, 29971, 30141, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30141, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30141, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30048, 29971, 30141, 30124, 30090]): (45626, 45590, 45602, 45615),\r\n    frozenset([30048, 29971, 30141, 30124, 30088]): (45626, 45590, 45602, 45614),\r\n    frozenset([30048, 29971, 30141, 30124, 30086]): (45626, 45590, 45602, 45614),\r\n    frozenset([30048, 29971, 30141, 30124, 30092]): (45626, 45590, 45602, 45613),\r\n    frozenset([30048, 29971, 30141, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30048, 29971, 30141, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29971, 30141, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29971, 30141, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30048, 29971, 30143, 30122, 30090]): (45626, 45590, 45601, 45615),\r\n    frozenset([30048, 29971, 30143, 30122, 30088]): (45626, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30143, 30122, 30086]): (45626, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30143, 30122, 30092]): (45626, 45590, 45601, 45613),\r\n    frozenset([30048, 29971, 30143, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30048, 29971, 30143, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30143, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30143, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30048, 29971, 30143, 30124, 30090]): (45626, 45590, 45602, 45615),\r\n    frozenset([30048, 29971, 30143, 30124, 30088]): (45626, 45590, 45602, 45614),\r\n    frozenset([30048, 29971, 30143, 30124, 30086]): (45626, 45590, 45602, 45614),\r\n    frozenset([30048, 29971, 30143, 30124, 30092]): (45626, 45590, 45602, 45613),\r\n    frozenset([30048, 29971, 30143, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30048, 29971, 30143, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29971, 30143, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30048, 29971, 30143, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30048, 29971, 30145, 30122, 30090]): (45625, 45590, 45601, 45615),\r\n    frozenset([30048, 29971, 30145, 30122, 30088]): (45625, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30145, 30122, 30086]): (45625, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30145, 30122, 30092]): (45625, 45590, 45601, 45613),\r\n    frozenset([30048, 29971, 30145, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30048, 29971, 30145, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30145, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30048, 29971, 30145, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30048, 29971, 30145, 30124, 30090]): (45625, 45590, 45602, 45615),\r\n    frozenset([30048, 29971, 30145, 30124, 30088]): (45625, 45590, 45602, 45614),\r\n    frozenset([30048, 29971, 30145, 30124, 30086]): (45625, 45590, 45602, 45614),\r\n    frozenset([30048, 29971, 30145, 30124, 30092]): (45625, 45590, 45602, 45613),\r\n    frozenset([30048, 29971, 30145, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30048, 29971, 30145, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30048, 29971, 30145, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30048, 29971, 30145, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30048, 29972, 30139, 30122, 30090]): (45626, 45590, 45603, 45615),\r\n    frozenset([30048, 29972, 30139, 30122, 30088]): (45626, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30139, 30122, 30086]): (45626, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30139, 30122, 30092]): (45626, 45590, 45603, 45613),\r\n    frozenset([30048, 29972, 30139, 30123, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30048, 29972, 30139, 30123, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30139, 30123, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30139, 30123, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30048, 29972, 30139, 30124, 30090]): (45626, 45590, 45603, 45615),\r\n    frozenset([30048, 29972, 30139, 30124, 30088]): (45626, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30139, 30124, 30086]): (45626, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30139, 30124, 30092]): (45626, 45590, 45603, 45613),\r\n    frozenset([30048, 29972, 30139, 30125, 30090]): (45626, 45589, 45603, 45615),\r\n    frozenset([30048, 29972, 30139, 30125, 30088]): (45626, 45589, 45603, 45614),\r\n    frozenset([30048, 29972, 30139, 30125, 30086]): (45626, 45589, 45603, 45614),\r\n    frozenset([30048, 29972, 30139, 30125, 30092]): (45626, 45589, 45603, 45613),\r\n    frozenset([30048, 29972, 30141, 30122, 30090]): (45626, 45590, 45603, 45615),\r\n    frozenset([30048, 29972, 30141, 30122, 30088]): (45626, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30141, 30122, 30086]): (45626, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30141, 30122, 30092]): (45626, 45590, 45603, 45613),\r\n    frozenset([30048, 29972, 30141, 30123, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30048, 29972, 30141, 30123, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30141, 30123, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30141, 30123, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30048, 29972, 30141, 30124, 30090]): (45626, 45590, 45603, 45615),\r\n    frozenset([30048, 29972, 30141, 30124, 30088]): (45626, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30141, 30124, 30086]): (45626, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30141, 30124, 30092]): (45626, 45590, 45603, 45613),\r\n    frozenset([30048, 29972, 30141, 30125, 30090]): (45626, 45589, 45603, 45615),\r\n    frozenset([30048, 29972, 30141, 30125, 30088]): (45626, 45589, 45603, 45614),\r\n    frozenset([30048, 29972, 30141, 30125, 30086]): (45626, 45589, 45603, 45614),\r\n    frozenset([30048, 29972, 30141, 30125, 30092]): (45626, 45589, 45603, 45613),\r\n    frozenset([30048, 29972, 30143, 30122, 30090]): (45626, 45590, 45603, 45615),\r\n    frozenset([30048, 29972, 30143, 30122, 30088]): (45626, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30143, 30122, 30086]): (45626, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30143, 30122, 30092]): (45626, 45590, 45603, 45613),\r\n    frozenset([30048, 29972, 30143, 30123, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30048, 29972, 30143, 30123, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30143, 30123, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30143, 30123, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30048, 29972, 30143, 30124, 30090]): (45626, 45590, 45603, 45615),\r\n    frozenset([30048, 29972, 30143, 30124, 30088]): (45626, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30143, 30124, 30086]): (45626, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30143, 30124, 30092]): (45626, 45590, 45603, 45613),\r\n    frozenset([30048, 29972, 30143, 30125, 30090]): (45626, 45589, 45603, 45615),\r\n    frozenset([30048, 29972, 30143, 30125, 30088]): (45626, 45589, 45603, 45614),\r\n    frozenset([30048, 29972, 30143, 30125, 30086]): (45626, 45589, 45603, 45614),\r\n    frozenset([30048, 29972, 30143, 30125, 30092]): (45626, 45589, 45603, 45613),\r\n    frozenset([30048, 29972, 30145, 30122, 30090]): (45625, 45590, 45603, 45615),\r\n    frozenset([30048, 29972, 30145, 30122, 30088]): (45625, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30145, 30122, 30086]): (45625, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30145, 30122, 30092]): (45625, 45590, 45603, 45613),\r\n    frozenset([30048, 29972, 30145, 30123, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30048, 29972, 30145, 30123, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30145, 30123, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30145, 30123, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30048, 29972, 30145, 30124, 30090]): (45625, 45590, 45603, 45615),\r\n    frozenset([30048, 29972, 30145, 30124, 30088]): (45625, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30145, 30124, 30086]): (45625, 45590, 45603, 45614),\r\n    frozenset([30048, 29972, 30145, 30124, 30092]): (45625, 45590, 45603, 45613),\r\n    frozenset([30048, 29972, 30145, 30125, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30048, 29972, 30145, 30125, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30048, 29972, 30145, 30125, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30048, 29972, 30145, 30125, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30050, 29969, 30139, 30122, 30090]): (45626, 45590, 45601, 45615),\r\n    frozenset([30050, 29969, 30139, 30122, 30088]): (45626, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30139, 30122, 30086]): (45626, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30139, 30122, 30092]): (45626, 45590, 45601, 45613),\r\n    frozenset([30050, 29969, 30139, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30050, 29969, 30139, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30139, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30139, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30050, 29969, 30139, 30124, 30090]): (45626, 45590, 45602, 45615),\r\n    frozenset([30050, 29969, 30139, 30124, 30088]): (45626, 45590, 45602, 45614),\r\n    frozenset([30050, 29969, 30139, 30124, 30086]): (45626, 45590, 45602, 45614),\r\n    frozenset([30050, 29969, 30139, 30124, 30092]): (45626, 45590, 45602, 45613),\r\n    frozenset([30050, 29969, 30139, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30050, 29969, 30139, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29969, 30139, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29969, 30139, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30050, 29969, 30141, 30122, 30090]): (45626, 45590, 45601, 45615),\r\n    frozenset([30050, 29969, 30141, 30122, 30088]): (45626, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30141, 30122, 30086]): (45626, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30141, 30122, 30092]): (45626, 45590, 45601, 45613),\r\n    frozenset([30050, 29969, 30141, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30050, 29969, 30141, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30141, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30141, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30050, 29969, 30141, 30124, 30090]): (45626, 45590, 45602, 45615),\r\n    frozenset([30050, 29969, 30141, 30124, 30088]): (45626, 45590, 45602, 45614),\r\n    frozenset([30050, 29969, 30141, 30124, 30086]): (45626, 45590, 45602, 45614),\r\n    frozenset([30050, 29969, 30141, 30124, 30092]): (45626, 45590, 45602, 45613),\r\n    frozenset([30050, 29969, 30141, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30050, 29969, 30141, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29969, 30141, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29969, 30141, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30050, 29969, 30143, 30122, 30090]): (45626, 45590, 45601, 45615),\r\n    frozenset([30050, 29969, 30143, 30122, 30088]): (45626, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30143, 30122, 30086]): (45626, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30143, 30122, 30092]): (45626, 45590, 45601, 45613),\r\n    frozenset([30050, 29969, 30143, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30050, 29969, 30143, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30143, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30143, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30050, 29969, 30143, 30124, 30090]): (45626, 45590, 45602, 45615),\r\n    frozenset([30050, 29969, 30143, 30124, 30088]): (45626, 45590, 45602, 45614),\r\n    frozenset([30050, 29969, 30143, 30124, 30086]): (45626, 45590, 45602, 45614),\r\n    frozenset([30050, 29969, 30143, 30124, 30092]): (45626, 45590, 45602, 45613),\r\n    frozenset([30050, 29969, 30143, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30050, 29969, 30143, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29969, 30143, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29969, 30143, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30050, 29969, 30145, 30122, 30090]): (45625, 45590, 45601, 45615),\r\n    frozenset([30050, 29969, 30145, 30122, 30088]): (45625, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30145, 30122, 30086]): (45625, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30145, 30122, 30092]): (45625, 45590, 45601, 45613),\r\n    frozenset([30050, 29969, 30145, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30050, 29969, 30145, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30145, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29969, 30145, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30050, 29969, 30145, 30124, 30090]): (45625, 45590, 45602, 45615),\r\n    frozenset([30050, 29969, 30145, 30124, 30088]): (45625, 45590, 45602, 45614),\r\n    frozenset([30050, 29969, 30145, 30124, 30086]): (45625, 45590, 45602, 45614),\r\n    frozenset([30050, 29969, 30145, 30124, 30092]): (45625, 45590, 45602, 45613),\r\n    frozenset([30050, 29969, 30145, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30050, 29969, 30145, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30050, 29969, 30145, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30050, 29969, 30145, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30050, 29970, 30139, 30122, 30090]): (45626, 45591, 45601, 45615),\r\n    frozenset([30050, 29970, 30139, 30122, 30088]): (45626, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30139, 30122, 30086]): (45626, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30139, 30122, 30092]): (45626, 45591, 45601, 45613),\r\n    frozenset([30050, 29970, 30139, 30123, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30050, 29970, 30139, 30123, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30139, 30123, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30139, 30123, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30050, 29970, 30139, 30124, 30090]): (45626, 45591, 45602, 45615),\r\n    frozenset([30050, 29970, 30139, 30124, 30088]): (45626, 45591, 45602, 45614),\r\n    frozenset([30050, 29970, 30139, 30124, 30086]): (45626, 45591, 45602, 45614),\r\n    frozenset([30050, 29970, 30139, 30124, 30092]): (45626, 45591, 45602, 45613),\r\n    frozenset([30050, 29970, 30139, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30050, 29970, 30139, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29970, 30139, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29970, 30139, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30050, 29970, 30141, 30122, 30090]): (45626, 45591, 45601, 45615),\r\n    frozenset([30050, 29970, 30141, 30122, 30088]): (45626, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30141, 30122, 30086]): (45626, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30141, 30122, 30092]): (45626, 45591, 45601, 45613),\r\n    frozenset([30050, 29970, 30141, 30123, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30050, 29970, 30141, 30123, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30141, 30123, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30141, 30123, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30050, 29970, 30141, 30124, 30090]): (45626, 45591, 45602, 45615),\r\n    frozenset([30050, 29970, 30141, 30124, 30088]): (45626, 45591, 45602, 45614),\r\n    frozenset([30050, 29970, 30141, 30124, 30086]): (45626, 45591, 45602, 45614),\r\n    frozenset([30050, 29970, 30141, 30124, 30092]): (45626, 45591, 45602, 45613),\r\n    frozenset([30050, 29970, 30141, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30050, 29970, 30141, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29970, 30141, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29970, 30141, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30050, 29970, 30143, 30122, 30090]): (45626, 45591, 45601, 45615),\r\n    frozenset([30050, 29970, 30143, 30122, 30088]): (45626, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30143, 30122, 30086]): (45626, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30143, 30122, 30092]): (45626, 45591, 45601, 45613),\r\n    frozenset([30050, 29970, 30143, 30123, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30050, 29970, 30143, 30123, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30143, 30123, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30143, 30123, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30050, 29970, 30143, 30124, 30090]): (45626, 45591, 45602, 45615),\r\n    frozenset([30050, 29970, 30143, 30124, 30088]): (45626, 45591, 45602, 45614),\r\n    frozenset([30050, 29970, 30143, 30124, 30086]): (45626, 45591, 45602, 45614),\r\n    frozenset([30050, 29970, 30143, 30124, 30092]): (45626, 45591, 45602, 45613),\r\n    frozenset([30050, 29970, 30143, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30050, 29970, 30143, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29970, 30143, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29970, 30143, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30050, 29970, 30145, 30122, 30090]): (45625, 45591, 45601, 45615),\r\n    frozenset([30050, 29970, 30145, 30122, 30088]): (45625, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30145, 30122, 30086]): (45625, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30145, 30122, 30092]): (45625, 45591, 45601, 45613),\r\n    frozenset([30050, 29970, 30145, 30123, 30090]): (45627, 45591, 45601, 45615),\r\n    frozenset([30050, 29970, 30145, 30123, 30088]): (45627, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30145, 30123, 30086]): (45627, 45591, 45601, 45614),\r\n    frozenset([30050, 29970, 30145, 30123, 30092]): (45627, 45591, 45601, 45613),\r\n    frozenset([30050, 29970, 30145, 30124, 30090]): (45625, 45591, 45602, 45615),\r\n    frozenset([30050, 29970, 30145, 30124, 30088]): (45625, 45591, 45602, 45614),\r\n    frozenset([30050, 29970, 30145, 30124, 30086]): (45625, 45591, 45602, 45614),\r\n    frozenset([30050, 29970, 30145, 30124, 30092]): (45625, 45591, 45602, 45613),\r\n    frozenset([30050, 29970, 30145, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30050, 29970, 30145, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30050, 29970, 30145, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30050, 29970, 30145, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30050, 29971, 30139, 30122, 30090]): (45626, 45590, 45601, 45615),\r\n    frozenset([30050, 29971, 30139, 30122, 30088]): (45626, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30139, 30122, 30086]): (45626, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30139, 30122, 30092]): (45626, 45590, 45601, 45613),\r\n    frozenset([30050, 29971, 30139, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30050, 29971, 30139, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30139, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30139, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30050, 29971, 30139, 30124, 30090]): (45626, 45590, 45602, 45615),\r\n    frozenset([30050, 29971, 30139, 30124, 30088]): (45626, 45590, 45602, 45614),\r\n    frozenset([30050, 29971, 30139, 30124, 30086]): (45626, 45590, 45602, 45614),\r\n    frozenset([30050, 29971, 30139, 30124, 30092]): (45626, 45590, 45602, 45613),\r\n    frozenset([30050, 29971, 30139, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30050, 29971, 30139, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29971, 30139, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29971, 30139, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30050, 29971, 30141, 30122, 30090]): (45626, 45590, 45601, 45615),\r\n    frozenset([30050, 29971, 30141, 30122, 30088]): (45626, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30141, 30122, 30086]): (45626, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30141, 30122, 30092]): (45626, 45590, 45601, 45613),\r\n    frozenset([30050, 29971, 30141, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30050, 29971, 30141, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30141, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30141, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30050, 29971, 30141, 30124, 30090]): (45626, 45590, 45602, 45615),\r\n    frozenset([30050, 29971, 30141, 30124, 30088]): (45626, 45590, 45602, 45614),\r\n    frozenset([30050, 29971, 30141, 30124, 30086]): (45626, 45590, 45602, 45614),\r\n    frozenset([30050, 29971, 30141, 30124, 30092]): (45626, 45590, 45602, 45613),\r\n    frozenset([30050, 29971, 30141, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30050, 29971, 30141, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29971, 30141, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29971, 30141, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30050, 29971, 30143, 30122, 30090]): (45626, 45590, 45601, 45615),\r\n    frozenset([30050, 29971, 30143, 30122, 30088]): (45626, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30143, 30122, 30086]): (45626, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30143, 30122, 30092]): (45626, 45590, 45601, 45613),\r\n    frozenset([30050, 29971, 30143, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30050, 29971, 30143, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30143, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30143, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30050, 29971, 30143, 30124, 30090]): (45626, 45590, 45602, 45615),\r\n    frozenset([30050, 29971, 30143, 30124, 30088]): (45626, 45590, 45602, 45614),\r\n    frozenset([30050, 29971, 30143, 30124, 30086]): (45626, 45590, 45602, 45614),\r\n    frozenset([30050, 29971, 30143, 30124, 30092]): (45626, 45590, 45602, 45613),\r\n    frozenset([30050, 29971, 30143, 30125, 30090]): (45626, 45589, 45601, 45615),\r\n    frozenset([30050, 29971, 30143, 30125, 30088]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29971, 30143, 30125, 30086]): (45626, 45589, 45601, 45614),\r\n    frozenset([30050, 29971, 30143, 30125, 30092]): (45626, 45589, 45601, 45613),\r\n    frozenset([30050, 29971, 30145, 30122, 30090]): (45625, 45590, 45601, 45615),\r\n    frozenset([30050, 29971, 30145, 30122, 30088]): (45625, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30145, 30122, 30086]): (45625, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30145, 30122, 30092]): (45625, 45590, 45601, 45613),\r\n    frozenset([30050, 29971, 30145, 30123, 30090]): (45627, 45590, 45601, 45615),\r\n    frozenset([30050, 29971, 30145, 30123, 30088]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30145, 30123, 30086]): (45627, 45590, 45601, 45614),\r\n    frozenset([30050, 29971, 30145, 30123, 30092]): (45627, 45590, 45601, 45613),\r\n    frozenset([30050, 29971, 30145, 30124, 30090]): (45625, 45590, 45602, 45615),\r\n    frozenset([30050, 29971, 30145, 30124, 30088]): (45625, 45590, 45602, 45614),\r\n    frozenset([30050, 29971, 30145, 30124, 30086]): (45625, 45590, 45602, 45614),\r\n    frozenset([30050, 29971, 30145, 30124, 30092]): (45625, 45590, 45602, 45613),\r\n    frozenset([30050, 29971, 30145, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30050, 29971, 30145, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30050, 29971, 30145, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30050, 29971, 30145, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30050, 29972, 30139, 30122, 30090]): (45626, 45590, 45603, 45615),\r\n    frozenset([30050, 29972, 30139, 30122, 30088]): (45626, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30139, 30122, 30086]): (45626, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30139, 30122, 30092]): (45626, 45590, 45603, 45613),\r\n    frozenset([30050, 29972, 30139, 30123, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30050, 29972, 30139, 30123, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30139, 30123, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30139, 30123, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30050, 29972, 30139, 30124, 30090]): (45626, 45590, 45603, 45615),\r\n    frozenset([30050, 29972, 30139, 30124, 30088]): (45626, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30139, 30124, 30086]): (45626, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30139, 30124, 30092]): (45626, 45590, 45603, 45613),\r\n    frozenset([30050, 29972, 30139, 30125, 30090]): (45626, 45589, 45603, 45615),\r\n    frozenset([30050, 29972, 30139, 30125, 30088]): (45626, 45589, 45603, 45614),\r\n    frozenset([30050, 29972, 30139, 30125, 30086]): (45626, 45589, 45603, 45614),\r\n    frozenset([30050, 29972, 30139, 30125, 30092]): (45626, 45589, 45603, 45613),\r\n    frozenset([30050, 29972, 30141, 30122, 30090]): (45626, 45590, 45603, 45615),\r\n    frozenset([30050, 29972, 30141, 30122, 30088]): (45626, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30141, 30122, 30086]): (45626, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30141, 30122, 30092]): (45626, 45590, 45603, 45613),\r\n    frozenset([30050, 29972, 30141, 30123, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30050, 29972, 30141, 30123, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30141, 30123, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30141, 30123, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30050, 29972, 30141, 30124, 30090]): (45626, 45590, 45603, 45615),\r\n    frozenset([30050, 29972, 30141, 30124, 30088]): (45626, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30141, 30124, 30086]): (45626, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30141, 30124, 30092]): (45626, 45590, 45603, 45613),\r\n    frozenset([30050, 29972, 30141, 30125, 30090]): (45626, 45589, 45603, 45615),\r\n    frozenset([30050, 29972, 30141, 30125, 30088]): (45626, 45589, 45603, 45614),\r\n    frozenset([30050, 29972, 30141, 30125, 30086]): (45626, 45589, 45603, 45614),\r\n    frozenset([30050, 29972, 30141, 30125, 30092]): (45626, 45589, 45603, 45613),\r\n    frozenset([30050, 29972, 30143, 30122, 30090]): (45626, 45590, 45603, 45615),\r\n    frozenset([30050, 29972, 30143, 30122, 30088]): (45626, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30143, 30122, 30086]): (45626, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30143, 30122, 30092]): (45626, 45590, 45603, 45613),\r\n    frozenset([30050, 29972, 30143, 30123, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30050, 29972, 30143, 30123, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30143, 30123, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30143, 30123, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30050, 29972, 30143, 30124, 30090]): (45626, 45590, 45603, 45615),\r\n    frozenset([30050, 29972, 30143, 30124, 30088]): (45626, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30143, 30124, 30086]): (45626, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30143, 30124, 30092]): (45626, 45590, 45603, 45613),\r\n    frozenset([30050, 29972, 30143, 30125, 30090]): (45626, 45589, 45603, 45615),\r\n    frozenset([30050, 29972, 30143, 30125, 30088]): (45626, 45589, 45603, 45614),\r\n    frozenset([30050, 29972, 30143, 30125, 30086]): (45626, 45589, 45603, 45614),\r\n    frozenset([30050, 29972, 30143, 30125, 30092]): (45626, 45589, 45603, 45613),\r\n    frozenset([30050, 29972, 30145, 30122, 30090]): (45625, 45590, 45603, 45615),\r\n    frozenset([30050, 29972, 30145, 30122, 30088]): (45625, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30145, 30122, 30086]): (45625, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30145, 30122, 30092]): (45625, 45590, 45603, 45613),\r\n    frozenset([30050, 29972, 30145, 30123, 30090]): (45627, 45590, 45603, 45615),\r\n    frozenset([30050, 29972, 30145, 30123, 30088]): (45627, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30145, 30123, 30086]): (45627, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30145, 30123, 30092]): (45627, 45590, 45603, 45613),\r\n    frozenset([30050, 29972, 30145, 30124, 30090]): (45625, 45590, 45603, 45615),\r\n    frozenset([30050, 29972, 30145, 30124, 30088]): (45625, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30145, 30124, 30086]): (45625, 45590, 45603, 45614),\r\n    frozenset([30050, 29972, 30145, 30124, 30092]): (45625, 45590, 45603, 45613),\r\n    frozenset([30050, 29972, 30145, 30125, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30050, 29972, 30145, 30125, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30050, 29972, 30145, 30125, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30050, 29972, 30145, 30125, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30052, 29969, 30139, 30122, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29969, 30139, 30122, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30139, 30122, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30139, 30122, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29969, 30139, 30123, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30052, 29969, 30139, 30123, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30139, 30123, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30139, 30123, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30052, 29969, 30139, 30124, 30090]): (45625, 45589, 45602, 45615),\r\n    frozenset([30052, 29969, 30139, 30124, 30088]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29969, 30139, 30124, 30086]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29969, 30139, 30124, 30092]): (45625, 45589, 45602, 45613),\r\n    frozenset([30052, 29969, 30139, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29969, 30139, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30139, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30139, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29969, 30141, 30122, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29969, 30141, 30122, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30141, 30122, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30141, 30122, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29969, 30141, 30123, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30052, 29969, 30141, 30123, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30141, 30123, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30141, 30123, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30052, 29969, 30141, 30124, 30090]): (45625, 45589, 45602, 45615),\r\n    frozenset([30052, 29969, 30141, 30124, 30088]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29969, 30141, 30124, 30086]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29969, 30141, 30124, 30092]): (45625, 45589, 45602, 45613),\r\n    frozenset([30052, 29969, 30141, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29969, 30141, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30141, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30141, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29969, 30143, 30122, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29969, 30143, 30122, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30143, 30122, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30143, 30122, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29969, 30143, 30123, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30052, 29969, 30143, 30123, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30143, 30123, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30143, 30123, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30052, 29969, 30143, 30124, 30090]): (45625, 45589, 45602, 45615),\r\n    frozenset([30052, 29969, 30143, 30124, 30088]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29969, 30143, 30124, 30086]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29969, 30143, 30124, 30092]): (45625, 45589, 45602, 45613),\r\n    frozenset([30052, 29969, 30143, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29969, 30143, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30143, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30143, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29969, 30145, 30122, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29969, 30145, 30122, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30145, 30122, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30145, 30122, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29969, 30145, 30123, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30052, 29969, 30145, 30123, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30145, 30123, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30145, 30123, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30052, 29969, 30145, 30124, 30090]): (45625, 45589, 45602, 45615),\r\n    frozenset([30052, 29969, 30145, 30124, 30088]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29969, 30145, 30124, 30086]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29969, 30145, 30124, 30092]): (45625, 45589, 45602, 45613),\r\n    frozenset([30052, 29969, 30145, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29969, 30145, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30145, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29969, 30145, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29970, 30139, 30122, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29970, 30139, 30122, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30139, 30122, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30139, 30122, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29970, 30139, 30123, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30052, 29970, 30139, 30123, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30139, 30123, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30139, 30123, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30052, 29970, 30139, 30124, 30090]): (45625, 45589, 45602, 45615),\r\n    frozenset([30052, 29970, 30139, 30124, 30088]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29970, 30139, 30124, 30086]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29970, 30139, 30124, 30092]): (45625, 45589, 45602, 45613),\r\n    frozenset([30052, 29970, 30139, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29970, 30139, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30139, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30139, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29970, 30141, 30122, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29970, 30141, 30122, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30141, 30122, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30141, 30122, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29970, 30141, 30123, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30052, 29970, 30141, 30123, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30141, 30123, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30141, 30123, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30052, 29970, 30141, 30124, 30090]): (45625, 45589, 45602, 45615),\r\n    frozenset([30052, 29970, 30141, 30124, 30088]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29970, 30141, 30124, 30086]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29970, 30141, 30124, 30092]): (45625, 45589, 45602, 45613),\r\n    frozenset([30052, 29970, 30141, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29970, 30141, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30141, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30141, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29970, 30143, 30122, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29970, 30143, 30122, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30143, 30122, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30143, 30122, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29970, 30143, 30123, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30052, 29970, 30143, 30123, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30143, 30123, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30143, 30123, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30052, 29970, 30143, 30124, 30090]): (45625, 45589, 45602, 45615),\r\n    frozenset([30052, 29970, 30143, 30124, 30088]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29970, 30143, 30124, 30086]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29970, 30143, 30124, 30092]): (45625, 45589, 45602, 45613),\r\n    frozenset([30052, 29970, 30143, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29970, 30143, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30143, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30143, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29970, 30145, 30122, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29970, 30145, 30122, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30145, 30122, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30145, 30122, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29970, 30145, 30123, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30052, 29970, 30145, 30123, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30145, 30123, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30145, 30123, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30052, 29970, 30145, 30124, 30090]): (45625, 45589, 45602, 45615),\r\n    frozenset([30052, 29970, 30145, 30124, 30088]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29970, 30145, 30124, 30086]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29970, 30145, 30124, 30092]): (45625, 45589, 45602, 45613),\r\n    frozenset([30052, 29970, 30145, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29970, 30145, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30145, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29970, 30145, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29971, 30139, 30122, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29971, 30139, 30122, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30139, 30122, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30139, 30122, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29971, 30139, 30123, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30052, 29971, 30139, 30123, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30139, 30123, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30139, 30123, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30052, 29971, 30139, 30124, 30090]): (45625, 45589, 45602, 45615),\r\n    frozenset([30052, 29971, 30139, 30124, 30088]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29971, 30139, 30124, 30086]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29971, 30139, 30124, 30092]): (45625, 45589, 45602, 45613),\r\n    frozenset([30052, 29971, 30139, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29971, 30139, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30139, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30139, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29971, 30141, 30122, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29971, 30141, 30122, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30141, 30122, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30141, 30122, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29971, 30141, 30123, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30052, 29971, 30141, 30123, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30141, 30123, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30141, 30123, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30052, 29971, 30141, 30124, 30090]): (45625, 45589, 45602, 45615),\r\n    frozenset([30052, 29971, 30141, 30124, 30088]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29971, 30141, 30124, 30086]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29971, 30141, 30124, 30092]): (45625, 45589, 45602, 45613),\r\n    frozenset([30052, 29971, 30141, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29971, 30141, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30141, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30141, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29971, 30143, 30122, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29971, 30143, 30122, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30143, 30122, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30143, 30122, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29971, 30143, 30123, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30052, 29971, 30143, 30123, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30143, 30123, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30143, 30123, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30052, 29971, 30143, 30124, 30090]): (45625, 45589, 45602, 45615),\r\n    frozenset([30052, 29971, 30143, 30124, 30088]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29971, 30143, 30124, 30086]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29971, 30143, 30124, 30092]): (45625, 45589, 45602, 45613),\r\n    frozenset([30052, 29971, 30143, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29971, 30143, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30143, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30143, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29971, 30145, 30122, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29971, 30145, 30122, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30145, 30122, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30145, 30122, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29971, 30145, 30123, 30090]): (45627, 45589, 45601, 45615),\r\n    frozenset([30052, 29971, 30145, 30123, 30088]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30145, 30123, 30086]): (45627, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30145, 30123, 30092]): (45627, 45589, 45601, 45613),\r\n    frozenset([30052, 29971, 30145, 30124, 30090]): (45625, 45589, 45602, 45615),\r\n    frozenset([30052, 29971, 30145, 30124, 30088]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29971, 30145, 30124, 30086]): (45625, 45589, 45602, 45614),\r\n    frozenset([30052, 29971, 30145, 30124, 30092]): (45625, 45589, 45602, 45613),\r\n    frozenset([30052, 29971, 30145, 30125, 30090]): (45625, 45589, 45601, 45615),\r\n    frozenset([30052, 29971, 30145, 30125, 30088]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30145, 30125, 30086]): (45625, 45589, 45601, 45614),\r\n    frozenset([30052, 29971, 30145, 30125, 30092]): (45625, 45589, 45601, 45613),\r\n    frozenset([30052, 29972, 30139, 30122, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30139, 30122, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30139, 30122, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30139, 30122, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30139, 30123, 30090]): (45627, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30139, 30123, 30088]): (45627, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30139, 30123, 30086]): (45627, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30139, 30123, 30092]): (45627, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30139, 30124, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30139, 30124, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30139, 30124, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30139, 30124, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30139, 30125, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30139, 30125, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30139, 30125, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30139, 30125, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30141, 30122, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30141, 30122, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30141, 30122, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30141, 30122, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30141, 30123, 30090]): (45627, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30141, 30123, 30088]): (45627, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30141, 30123, 30086]): (45627, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30141, 30123, 30092]): (45627, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30141, 30124, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30141, 30124, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30141, 30124, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30141, 30124, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30141, 30125, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30141, 30125, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30141, 30125, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30141, 30125, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30143, 30122, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30143, 30122, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30143, 30122, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30143, 30122, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30143, 30123, 30090]): (45627, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30143, 30123, 30088]): (45627, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30143, 30123, 30086]): (45627, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30143, 30123, 30092]): (45627, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30143, 30124, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30143, 30124, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30143, 30124, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30143, 30124, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30143, 30125, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30143, 30125, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30143, 30125, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30143, 30125, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30145, 30122, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30145, 30122, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30145, 30122, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30145, 30122, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30145, 30123, 30090]): (45627, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30145, 30123, 30088]): (45627, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30145, 30123, 30086]): (45627, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30145, 30123, 30092]): (45627, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30145, 30124, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30145, 30124, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30145, 30124, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30145, 30124, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30052, 29972, 30145, 30125, 30090]): (45625, 45589, 45603, 45615),\r\n    frozenset([30052, 29972, 30145, 30125, 30088]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30145, 30125, 30086]): (45625, 45589, 45603, 45614),\r\n    frozenset([30052, 29972, 30145, 30125, 30092]): (45625, 45589, 45603, 45613),\r\n    frozenset([30036, 29964, 30169, 30117, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29964, 30169, 30117, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30169, 30117, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29964, 30169, 30117, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30169, 30118, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29964, 30169, 30118, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30169, 30118, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29964, 30169, 30118, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30169, 30119, 30076]): (45624, 45587, 45598, 45611),\r\n    frozenset([30036, 29964, 30169, 30119, 30078]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29964, 30169, 30119, 30082]): (45624, 45587, 45598, 45610),\r\n    frozenset([30036, 29964, 30169, 30119, 30080]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29964, 30169, 30120, 30076]): (45624, 45586, 45598, 45611),\r\n    frozenset([30036, 29964, 30169, 30120, 30078]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29964, 30169, 30120, 30082]): (45624, 45586, 45598, 45610),\r\n    frozenset([30036, 29964, 30169, 30120, 30080]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29964, 30171, 30117, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29964, 30171, 30117, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30171, 30117, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29964, 30171, 30117, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30171, 30118, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29964, 30171, 30118, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30171, 30118, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29964, 30171, 30118, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30171, 30119, 30076]): (45624, 45587, 45598, 45611),\r\n    frozenset([30036, 29964, 30171, 30119, 30078]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29964, 30171, 30119, 30082]): (45624, 45587, 45598, 45610),\r\n    frozenset([30036, 29964, 30171, 30119, 30080]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29964, 30171, 30120, 30076]): (45624, 45586, 45598, 45611),\r\n    frozenset([30036, 29964, 30171, 30120, 30078]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29964, 30171, 30120, 30082]): (45624, 45586, 45598, 45610),\r\n    frozenset([30036, 29964, 30171, 30120, 30080]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29964, 30173, 30117, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29964, 30173, 30117, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30173, 30117, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29964, 30173, 30117, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30173, 30118, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29964, 30173, 30118, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30173, 30118, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29964, 30173, 30118, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30173, 30119, 30076]): (45624, 45587, 45598, 45611),\r\n    frozenset([30036, 29964, 30173, 30119, 30078]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29964, 30173, 30119, 30082]): (45624, 45587, 45598, 45610),\r\n    frozenset([30036, 29964, 30173, 30119, 30080]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29964, 30173, 30120, 30076]): (45624, 45586, 45598, 45611),\r\n    frozenset([30036, 29964, 30173, 30120, 30078]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29964, 30173, 30120, 30082]): (45624, 45586, 45598, 45610),\r\n    frozenset([30036, 29964, 30173, 30120, 30080]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29964, 30175, 30117, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29964, 30175, 30117, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30175, 30117, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29964, 30175, 30117, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30175, 30118, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29964, 30175, 30118, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30175, 30118, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29964, 30175, 30118, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29964, 30175, 30119, 30076]): (45624, 45587, 45598, 45611),\r\n    frozenset([30036, 29964, 30175, 30119, 30078]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29964, 30175, 30119, 30082]): (45624, 45587, 45598, 45610),\r\n    frozenset([30036, 29964, 30175, 30119, 30080]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29964, 30175, 30120, 30076]): (45624, 45586, 45598, 45611),\r\n    frozenset([30036, 29964, 30175, 30120, 30078]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29964, 30175, 30120, 30082]): (45624, 45586, 45598, 45610),\r\n    frozenset([30036, 29964, 30175, 30120, 30080]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29965, 30169, 30117, 30076]): (45624, 45588, 45599, 45611),\r\n    frozenset([30036, 29965, 30169, 30117, 30078]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30169, 30117, 30082]): (45624, 45588, 45599, 45610),\r\n    frozenset([30036, 29965, 30169, 30117, 30080]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30169, 30118, 30076]): (45624, 45588, 45599, 45611),\r\n    frozenset([30036, 29965, 30169, 30118, 30078]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30169, 30118, 30082]): (45624, 45588, 45599, 45610),\r\n    frozenset([30036, 29965, 30169, 30118, 30080]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30169, 30119, 30076]): (45624, 45588, 45598, 45611),\r\n    frozenset([30036, 29965, 30169, 30119, 30078]): (45624, 45588, 45598, 45612),\r\n    frozenset([30036, 29965, 30169, 30119, 30082]): (45624, 45588, 45598, 45610),\r\n    frozenset([30036, 29965, 30169, 30119, 30080]): (45624, 45588, 45598, 45612),\r\n    frozenset([30036, 29965, 30169, 30120, 30076]): (45624, 45586, 45598, 45611),\r\n    frozenset([30036, 29965, 30169, 30120, 30078]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29965, 30169, 30120, 30082]): (45624, 45586, 45598, 45610),\r\n    frozenset([30036, 29965, 30169, 30120, 30080]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29965, 30171, 30117, 30076]): (45624, 45588, 45599, 45611),\r\n    frozenset([30036, 29965, 30171, 30117, 30078]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30171, 30117, 30082]): (45624, 45588, 45599, 45610),\r\n    frozenset([30036, 29965, 30171, 30117, 30080]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30171, 30118, 30076]): (45624, 45588, 45599, 45611),\r\n    frozenset([30036, 29965, 30171, 30118, 30078]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30171, 30118, 30082]): (45624, 45588, 45599, 45610),\r\n    frozenset([30036, 29965, 30171, 30118, 30080]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30171, 30119, 30076]): (45624, 45588, 45598, 45611),\r\n    frozenset([30036, 29965, 30171, 30119, 30078]): (45624, 45588, 45598, 45612),\r\n    frozenset([30036, 29965, 30171, 30119, 30082]): (45624, 45588, 45598, 45610),\r\n    frozenset([30036, 29965, 30171, 30119, 30080]): (45624, 45588, 45598, 45612),\r\n    frozenset([30036, 29965, 30171, 30120, 30076]): (45624, 45586, 45598, 45611),\r\n    frozenset([30036, 29965, 30171, 30120, 30078]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29965, 30171, 30120, 30082]): (45624, 45586, 45598, 45610),\r\n    frozenset([30036, 29965, 30171, 30120, 30080]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29965, 30173, 30117, 30076]): (45624, 45588, 45599, 45611),\r\n    frozenset([30036, 29965, 30173, 30117, 30078]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30173, 30117, 30082]): (45624, 45588, 45599, 45610),\r\n    frozenset([30036, 29965, 30173, 30117, 30080]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30173, 30118, 30076]): (45624, 45588, 45599, 45611),\r\n    frozenset([30036, 29965, 30173, 30118, 30078]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30173, 30118, 30082]): (45624, 45588, 45599, 45610),\r\n    frozenset([30036, 29965, 30173, 30118, 30080]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30173, 30119, 30076]): (45624, 45588, 45598, 45611),\r\n    frozenset([30036, 29965, 30173, 30119, 30078]): (45624, 45588, 45598, 45612),\r\n    frozenset([30036, 29965, 30173, 30119, 30082]): (45624, 45588, 45598, 45610),\r\n    frozenset([30036, 29965, 30173, 30119, 30080]): (45624, 45588, 45598, 45612),\r\n    frozenset([30036, 29965, 30173, 30120, 30076]): (45624, 45586, 45598, 45611),\r\n    frozenset([30036, 29965, 30173, 30120, 30078]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29965, 30173, 30120, 30082]): (45624, 45586, 45598, 45610),\r\n    frozenset([30036, 29965, 30173, 30120, 30080]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29965, 30175, 30117, 30076]): (45624, 45588, 45599, 45611),\r\n    frozenset([30036, 29965, 30175, 30117, 30078]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30175, 30117, 30082]): (45624, 45588, 45599, 45610),\r\n    frozenset([30036, 29965, 30175, 30117, 30080]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30175, 30118, 30076]): (45624, 45588, 45599, 45611),\r\n    frozenset([30036, 29965, 30175, 30118, 30078]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30175, 30118, 30082]): (45624, 45588, 45599, 45610),\r\n    frozenset([30036, 29965, 30175, 30118, 30080]): (45624, 45588, 45599, 45612),\r\n    frozenset([30036, 29965, 30175, 30119, 30076]): (45624, 45588, 45598, 45611),\r\n    frozenset([30036, 29965, 30175, 30119, 30078]): (45624, 45588, 45598, 45612),\r\n    frozenset([30036, 29965, 30175, 30119, 30082]): (45624, 45588, 45598, 45610),\r\n    frozenset([30036, 29965, 30175, 30119, 30080]): (45624, 45588, 45598, 45612),\r\n    frozenset([30036, 29965, 30175, 30120, 30076]): (45624, 45586, 45598, 45611),\r\n    frozenset([30036, 29965, 30175, 30120, 30078]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29965, 30175, 30120, 30082]): (45624, 45586, 45598, 45610),\r\n    frozenset([30036, 29965, 30175, 30120, 30080]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29966, 30169, 30117, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29966, 30169, 30117, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30169, 30117, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29966, 30169, 30117, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30169, 30118, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29966, 30169, 30118, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30169, 30118, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29966, 30169, 30118, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30169, 30119, 30076]): (45624, 45587, 45598, 45611),\r\n    frozenset([30036, 29966, 30169, 30119, 30078]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29966, 30169, 30119, 30082]): (45624, 45587, 45598, 45610),\r\n    frozenset([30036, 29966, 30169, 30119, 30080]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29966, 30169, 30120, 30076]): (45624, 45586, 45598, 45611),\r\n    frozenset([30036, 29966, 30169, 30120, 30078]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29966, 30169, 30120, 30082]): (45624, 45586, 45598, 45610),\r\n    frozenset([30036, 29966, 30169, 30120, 30080]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29966, 30171, 30117, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29966, 30171, 30117, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30171, 30117, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29966, 30171, 30117, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30171, 30118, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29966, 30171, 30118, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30171, 30118, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29966, 30171, 30118, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30171, 30119, 30076]): (45624, 45587, 45598, 45611),\r\n    frozenset([30036, 29966, 30171, 30119, 30078]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29966, 30171, 30119, 30082]): (45624, 45587, 45598, 45610),\r\n    frozenset([30036, 29966, 30171, 30119, 30080]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29966, 30171, 30120, 30076]): (45624, 45586, 45598, 45611),\r\n    frozenset([30036, 29966, 30171, 30120, 30078]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29966, 30171, 30120, 30082]): (45624, 45586, 45598, 45610),\r\n    frozenset([30036, 29966, 30171, 30120, 30080]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29966, 30173, 30117, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29966, 30173, 30117, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30173, 30117, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29966, 30173, 30117, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30173, 30118, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29966, 30173, 30118, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30173, 30118, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29966, 30173, 30118, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30173, 30119, 30076]): (45624, 45587, 45598, 45611),\r\n    frozenset([30036, 29966, 30173, 30119, 30078]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29966, 30173, 30119, 30082]): (45624, 45587, 45598, 45610),\r\n    frozenset([30036, 29966, 30173, 30119, 30080]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29966, 30173, 30120, 30076]): (45624, 45586, 45598, 45611),\r\n    frozenset([30036, 29966, 30173, 30120, 30078]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29966, 30173, 30120, 30082]): (45624, 45586, 45598, 45610),\r\n    frozenset([30036, 29966, 30173, 30120, 30080]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29966, 30175, 30117, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29966, 30175, 30117, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30175, 30117, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29966, 30175, 30117, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30175, 30118, 30076]): (45624, 45587, 45599, 45611),\r\n    frozenset([30036, 29966, 30175, 30118, 30078]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30175, 30118, 30082]): (45624, 45587, 45599, 45610),\r\n    frozenset([30036, 29966, 30175, 30118, 30080]): (45624, 45587, 45599, 45612),\r\n    frozenset([30036, 29966, 30175, 30119, 30076]): (45624, 45587, 45598, 45611),\r\n    frozenset([30036, 29966, 30175, 30119, 30078]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29966, 30175, 30119, 30082]): (45624, 45587, 45598, 45610),\r\n    frozenset([30036, 29966, 30175, 30119, 30080]): (45624, 45587, 45598, 45612),\r\n    frozenset([30036, 29966, 30175, 30120, 30076]): (45624, 45586, 45598, 45611),\r\n    frozenset([30036, 29966, 30175, 30120, 30078]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29966, 30175, 30120, 30082]): (45624, 45586, 45598, 45610),\r\n    frozenset([30036, 29966, 30175, 30120, 30080]): (45624, 45586, 45598, 45612),\r\n    frozenset([30036, 29967, 30169, 30117, 30076]): (45624, 45587, 45600, 45611),\r\n    frozenset([30036, 29967, 30169, 30117, 30078]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30169, 30117, 30082]): (45624, 45587, 45600, 45610),\r\n    frozenset([30036, 29967, 30169, 30117, 30080]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30169, 30118, 30076]): (45624, 45587, 45600, 45611),\r\n    frozenset([30036, 29967, 30169, 30118, 30078]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30169, 30118, 30082]): (45624, 45587, 45600, 45610),\r\n    frozenset([30036, 29967, 30169, 30118, 30080]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30169, 30119, 30076]): (45624, 45587, 45600, 45611),\r\n    frozenset([30036, 29967, 30169, 30119, 30078]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30169, 30119, 30082]): (45624, 45587, 45600, 45610),\r\n    frozenset([30036, 29967, 30169, 30119, 30080]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30169, 30120, 30076]): (45624, 45586, 45600, 45611),\r\n    frozenset([30036, 29967, 30169, 30120, 30078]): (45624, 45586, 45600, 45612),\r\n    frozenset([30036, 29967, 30169, 30120, 30082]): (45624, 45586, 45600, 45610),\r\n    frozenset([30036, 29967, 30169, 30120, 30080]): (45624, 45586, 45600, 45612),\r\n    frozenset([30036, 29967, 30171, 30117, 30076]): (45624, 45587, 45600, 45611),\r\n    frozenset([30036, 29967, 30171, 30117, 30078]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30171, 30117, 30082]): (45624, 45587, 45600, 45610),\r\n    frozenset([30036, 29967, 30171, 30117, 30080]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30171, 30118, 30076]): (45624, 45587, 45600, 45611),\r\n    frozenset([30036, 29967, 30171, 30118, 30078]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30171, 30118, 30082]): (45624, 45587, 45600, 45610),\r\n    frozenset([30036, 29967, 30171, 30118, 30080]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30171, 30119, 30076]): (45624, 45587, 45600, 45611),\r\n    frozenset([30036, 29967, 30171, 30119, 30078]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30171, 30119, 30082]): (45624, 45587, 45600, 45610),\r\n    frozenset([30036, 29967, 30171, 30119, 30080]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30171, 30120, 30076]): (45624, 45586, 45600, 45611),\r\n    frozenset([30036, 29967, 30171, 30120, 30078]): (45624, 45586, 45600, 45612),\r\n    frozenset([30036, 29967, 30171, 30120, 30082]): (45624, 45586, 45600, 45610),\r\n    frozenset([30036, 29967, 30171, 30120, 30080]): (45624, 45586, 45600, 45612),\r\n    frozenset([30036, 29967, 30173, 30117, 30076]): (45624, 45587, 45600, 45611),\r\n    frozenset([30036, 29967, 30173, 30117, 30078]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30173, 30117, 30082]): (45624, 45587, 45600, 45610),\r\n    frozenset([30036, 29967, 30173, 30117, 30080]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30173, 30118, 30076]): (45624, 45587, 45600, 45611),\r\n    frozenset([30036, 29967, 30173, 30118, 30078]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30173, 30118, 30082]): (45624, 45587, 45600, 45610),\r\n    frozenset([30036, 29967, 30173, 30118, 30080]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30173, 30119, 30076]): (45624, 45587, 45600, 45611),\r\n    frozenset([30036, 29967, 30173, 30119, 30078]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30173, 30119, 30082]): (45624, 45587, 45600, 45610),\r\n    frozenset([30036, 29967, 30173, 30119, 30080]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30173, 30120, 30076]): (45624, 45586, 45600, 45611),\r\n    frozenset([30036, 29967, 30173, 30120, 30078]): (45624, 45586, 45600, 45612),\r\n    frozenset([30036, 29967, 30173, 30120, 30082]): (45624, 45586, 45600, 45610),\r\n    frozenset([30036, 29967, 30173, 30120, 30080]): (45624, 45586, 45600, 45612),\r\n    frozenset([30036, 29967, 30175, 30117, 30076]): (45624, 45587, 45600, 45611),\r\n    frozenset([30036, 29967, 30175, 30117, 30078]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30175, 30117, 30082]): (45624, 45587, 45600, 45610),\r\n    frozenset([30036, 29967, 30175, 30117, 30080]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30175, 30118, 30076]): (45624, 45587, 45600, 45611),\r\n    frozenset([30036, 29967, 30175, 30118, 30078]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30175, 30118, 30082]): (45624, 45587, 45600, 45610),\r\n    frozenset([30036, 29967, 30175, 30118, 30080]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30175, 30119, 30076]): (45624, 45587, 45600, 45611),\r\n    frozenset([30036, 29967, 30175, 30119, 30078]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30175, 30119, 30082]): (45624, 45587, 45600, 45610),\r\n    frozenset([30036, 29967, 30175, 30119, 30080]): (45624, 45587, 45600, 45612),\r\n    frozenset([30036, 29967, 30175, 30120, 30076]): (45624, 45586, 45600, 45611),\r\n    frozenset([30036, 29967, 30175, 30120, 30078]): (45624, 45586, 45600, 45612),\r\n    frozenset([30036, 29967, 30175, 30120, 30082]): (45624, 45586, 45600, 45610),\r\n    frozenset([30036, 29967, 30175, 30120, 30080]): (45624, 45586, 45600, 45612),\r\n    frozenset([30038, 29964, 30169, 30117, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30038, 29964, 30169, 30117, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30169, 30117, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30038, 29964, 30169, 30117, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30169, 30118, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30038, 29964, 30169, 30118, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30169, 30118, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30038, 29964, 30169, 30118, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30169, 30119, 30076]): (45623, 45587, 45598, 45611),\r\n    frozenset([30038, 29964, 30169, 30119, 30078]): (45623, 45587, 45598, 45612),\r\n    frozenset([30038, 29964, 30169, 30119, 30082]): (45623, 45587, 45598, 45610),\r\n    frozenset([30038, 29964, 30169, 30119, 30080]): (45623, 45587, 45598, 45612),\r\n    frozenset([30038, 29964, 30169, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30038, 29964, 30169, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29964, 30169, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30038, 29964, 30169, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29964, 30171, 30117, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30038, 29964, 30171, 30117, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30171, 30117, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30038, 29964, 30171, 30117, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30171, 30118, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30038, 29964, 30171, 30118, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30171, 30118, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30038, 29964, 30171, 30118, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30171, 30119, 30076]): (45623, 45587, 45598, 45611),\r\n    frozenset([30038, 29964, 30171, 30119, 30078]): (45623, 45587, 45598, 45612),\r\n    frozenset([30038, 29964, 30171, 30119, 30082]): (45623, 45587, 45598, 45610),\r\n    frozenset([30038, 29964, 30171, 30119, 30080]): (45623, 45587, 45598, 45612),\r\n    frozenset([30038, 29964, 30171, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30038, 29964, 30171, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29964, 30171, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30038, 29964, 30171, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29964, 30173, 30117, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30038, 29964, 30173, 30117, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30173, 30117, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30038, 29964, 30173, 30117, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30173, 30118, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30038, 29964, 30173, 30118, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30173, 30118, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30038, 29964, 30173, 30118, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30173, 30119, 30076]): (45623, 45587, 45598, 45611),\r\n    frozenset([30038, 29964, 30173, 30119, 30078]): (45623, 45587, 45598, 45612),\r\n    frozenset([30038, 29964, 30173, 30119, 30082]): (45623, 45587, 45598, 45610),\r\n    frozenset([30038, 29964, 30173, 30119, 30080]): (45623, 45587, 45598, 45612),\r\n    frozenset([30038, 29964, 30173, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30038, 29964, 30173, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29964, 30173, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30038, 29964, 30173, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29964, 30175, 30117, 30076]): (45622, 45587, 45599, 45611),\r\n    frozenset([30038, 29964, 30175, 30117, 30078]): (45622, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30175, 30117, 30082]): (45622, 45587, 45599, 45610),\r\n    frozenset([30038, 29964, 30175, 30117, 30080]): (45622, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30175, 30118, 30076]): (45622, 45587, 45599, 45611),\r\n    frozenset([30038, 29964, 30175, 30118, 30078]): (45622, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30175, 30118, 30082]): (45622, 45587, 45599, 45610),\r\n    frozenset([30038, 29964, 30175, 30118, 30080]): (45622, 45587, 45599, 45612),\r\n    frozenset([30038, 29964, 30175, 30119, 30076]): (45622, 45587, 45598, 45611),\r\n    frozenset([30038, 29964, 30175, 30119, 30078]): (45622, 45587, 45598, 45612),\r\n    frozenset([30038, 29964, 30175, 30119, 30082]): (45622, 45587, 45598, 45610),\r\n    frozenset([30038, 29964, 30175, 30119, 30080]): (45622, 45587, 45598, 45612),\r\n    frozenset([30038, 29964, 30175, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30038, 29964, 30175, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30038, 29964, 30175, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30038, 29964, 30175, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30038, 29965, 30169, 30117, 30076]): (45623, 45588, 45599, 45611),\r\n    frozenset([30038, 29965, 30169, 30117, 30078]): (45623, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30169, 30117, 30082]): (45623, 45588, 45599, 45610),\r\n    frozenset([30038, 29965, 30169, 30117, 30080]): (45623, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30169, 30118, 30076]): (45623, 45588, 45599, 45611),\r\n    frozenset([30038, 29965, 30169, 30118, 30078]): (45623, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30169, 30118, 30082]): (45623, 45588, 45599, 45610),\r\n    frozenset([30038, 29965, 30169, 30118, 30080]): (45623, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30169, 30119, 30076]): (45623, 45588, 45598, 45611),\r\n    frozenset([30038, 29965, 30169, 30119, 30078]): (45623, 45588, 45598, 45612),\r\n    frozenset([30038, 29965, 30169, 30119, 30082]): (45623, 45588, 45598, 45610),\r\n    frozenset([30038, 29965, 30169, 30119, 30080]): (45623, 45588, 45598, 45612),\r\n    frozenset([30038, 29965, 30169, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30038, 29965, 30169, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29965, 30169, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30038, 29965, 30169, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29965, 30171, 30117, 30076]): (45623, 45588, 45599, 45611),\r\n    frozenset([30038, 29965, 30171, 30117, 30078]): (45623, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30171, 30117, 30082]): (45623, 45588, 45599, 45610),\r\n    frozenset([30038, 29965, 30171, 30117, 30080]): (45623, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30171, 30118, 30076]): (45623, 45588, 45599, 45611),\r\n    frozenset([30038, 29965, 30171, 30118, 30078]): (45623, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30171, 30118, 30082]): (45623, 45588, 45599, 45610),\r\n    frozenset([30038, 29965, 30171, 30118, 30080]): (45623, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30171, 30119, 30076]): (45623, 45588, 45598, 45611),\r\n    frozenset([30038, 29965, 30171, 30119, 30078]): (45623, 45588, 45598, 45612),\r\n    frozenset([30038, 29965, 30171, 30119, 30082]): (45623, 45588, 45598, 45610),\r\n    frozenset([30038, 29965, 30171, 30119, 30080]): (45623, 45588, 45598, 45612),\r\n    frozenset([30038, 29965, 30171, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30038, 29965, 30171, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29965, 30171, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30038, 29965, 30171, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29965, 30173, 30117, 30076]): (45623, 45588, 45599, 45611),\r\n    frozenset([30038, 29965, 30173, 30117, 30078]): (45623, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30173, 30117, 30082]): (45623, 45588, 45599, 45610),\r\n    frozenset([30038, 29965, 30173, 30117, 30080]): (45623, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30173, 30118, 30076]): (45623, 45588, 45599, 45611),\r\n    frozenset([30038, 29965, 30173, 30118, 30078]): (45623, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30173, 30118, 30082]): (45623, 45588, 45599, 45610),\r\n    frozenset([30038, 29965, 30173, 30118, 30080]): (45623, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30173, 30119, 30076]): (45623, 45588, 45598, 45611),\r\n    frozenset([30038, 29965, 30173, 30119, 30078]): (45623, 45588, 45598, 45612),\r\n    frozenset([30038, 29965, 30173, 30119, 30082]): (45623, 45588, 45598, 45610),\r\n    frozenset([30038, 29965, 30173, 30119, 30080]): (45623, 45588, 45598, 45612),\r\n    frozenset([30038, 29965, 30173, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30038, 29965, 30173, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29965, 30173, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30038, 29965, 30173, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29965, 30175, 30117, 30076]): (45622, 45588, 45599, 45611),\r\n    frozenset([30038, 29965, 30175, 30117, 30078]): (45622, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30175, 30117, 30082]): (45622, 45588, 45599, 45610),\r\n    frozenset([30038, 29965, 30175, 30117, 30080]): (45622, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30175, 30118, 30076]): (45622, 45588, 45599, 45611),\r\n    frozenset([30038, 29965, 30175, 30118, 30078]): (45622, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30175, 30118, 30082]): (45622, 45588, 45599, 45610),\r\n    frozenset([30038, 29965, 30175, 30118, 30080]): (45622, 45588, 45599, 45612),\r\n    frozenset([30038, 29965, 30175, 30119, 30076]): (45622, 45588, 45598, 45611),\r\n    frozenset([30038, 29965, 30175, 30119, 30078]): (45622, 45588, 45598, 45612),\r\n    frozenset([30038, 29965, 30175, 30119, 30082]): (45622, 45588, 45598, 45610),\r\n    frozenset([30038, 29965, 30175, 30119, 30080]): (45622, 45588, 45598, 45612),\r\n    frozenset([30038, 29965, 30175, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30038, 29965, 30175, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30038, 29965, 30175, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30038, 29965, 30175, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30038, 29966, 30169, 30117, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30038, 29966, 30169, 30117, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30169, 30117, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30038, 29966, 30169, 30117, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30169, 30118, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30038, 29966, 30169, 30118, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30169, 30118, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30038, 29966, 30169, 30118, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30169, 30119, 30076]): (45623, 45587, 45598, 45611),\r\n    frozenset([30038, 29966, 30169, 30119, 30078]): (45623, 45587, 45598, 45612),\r\n    frozenset([30038, 29966, 30169, 30119, 30082]): (45623, 45587, 45598, 45610),\r\n    frozenset([30038, 29966, 30169, 30119, 30080]): (45623, 45587, 45598, 45612),\r\n    frozenset([30038, 29966, 30169, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30038, 29966, 30169, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29966, 30169, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30038, 29966, 30169, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29966, 30171, 30117, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30038, 29966, 30171, 30117, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30171, 30117, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30038, 29966, 30171, 30117, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30171, 30118, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30038, 29966, 30171, 30118, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30171, 30118, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30038, 29966, 30171, 30118, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30171, 30119, 30076]): (45623, 45587, 45598, 45611),\r\n    frozenset([30038, 29966, 30171, 30119, 30078]): (45623, 45587, 45598, 45612),\r\n    frozenset([30038, 29966, 30171, 30119, 30082]): (45623, 45587, 45598, 45610),\r\n    frozenset([30038, 29966, 30171, 30119, 30080]): (45623, 45587, 45598, 45612),\r\n    frozenset([30038, 29966, 30171, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30038, 29966, 30171, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29966, 30171, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30038, 29966, 30171, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29966, 30173, 30117, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30038, 29966, 30173, 30117, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30173, 30117, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30038, 29966, 30173, 30117, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30173, 30118, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30038, 29966, 30173, 30118, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30173, 30118, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30038, 29966, 30173, 30118, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30173, 30119, 30076]): (45623, 45587, 45598, 45611),\r\n    frozenset([30038, 29966, 30173, 30119, 30078]): (45623, 45587, 45598, 45612),\r\n    frozenset([30038, 29966, 30173, 30119, 30082]): (45623, 45587, 45598, 45610),\r\n    frozenset([30038, 29966, 30173, 30119, 30080]): (45623, 45587, 45598, 45612),\r\n    frozenset([30038, 29966, 30173, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30038, 29966, 30173, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29966, 30173, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30038, 29966, 30173, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30038, 29966, 30175, 30117, 30076]): (45622, 45587, 45599, 45611),\r\n    frozenset([30038, 29966, 30175, 30117, 30078]): (45622, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30175, 30117, 30082]): (45622, 45587, 45599, 45610),\r\n    frozenset([30038, 29966, 30175, 30117, 30080]): (45622, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30175, 30118, 30076]): (45622, 45587, 45599, 45611),\r\n    frozenset([30038, 29966, 30175, 30118, 30078]): (45622, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30175, 30118, 30082]): (45622, 45587, 45599, 45610),\r\n    frozenset([30038, 29966, 30175, 30118, 30080]): (45622, 45587, 45599, 45612),\r\n    frozenset([30038, 29966, 30175, 30119, 30076]): (45622, 45587, 45598, 45611),\r\n    frozenset([30038, 29966, 30175, 30119, 30078]): (45622, 45587, 45598, 45612),\r\n    frozenset([30038, 29966, 30175, 30119, 30082]): (45622, 45587, 45598, 45610),\r\n    frozenset([30038, 29966, 30175, 30119, 30080]): (45622, 45587, 45598, 45612),\r\n    frozenset([30038, 29966, 30175, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30038, 29966, 30175, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30038, 29966, 30175, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30038, 29966, 30175, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30038, 29967, 30169, 30117, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30038, 29967, 30169, 30117, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30169, 30117, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30038, 29967, 30169, 30117, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30169, 30118, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30038, 29967, 30169, 30118, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30169, 30118, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30038, 29967, 30169, 30118, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30169, 30119, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30038, 29967, 30169, 30119, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30169, 30119, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30038, 29967, 30169, 30119, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30169, 30120, 30076]): (45623, 45586, 45600, 45611),\r\n    frozenset([30038, 29967, 30169, 30120, 30078]): (45623, 45586, 45600, 45612),\r\n    frozenset([30038, 29967, 30169, 30120, 30082]): (45623, 45586, 45600, 45610),\r\n    frozenset([30038, 29967, 30169, 30120, 30080]): (45623, 45586, 45600, 45612),\r\n    frozenset([30038, 29967, 30171, 30117, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30038, 29967, 30171, 30117, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30171, 30117, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30038, 29967, 30171, 30117, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30171, 30118, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30038, 29967, 30171, 30118, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30171, 30118, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30038, 29967, 30171, 30118, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30171, 30119, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30038, 29967, 30171, 30119, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30171, 30119, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30038, 29967, 30171, 30119, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30171, 30120, 30076]): (45623, 45586, 45600, 45611),\r\n    frozenset([30038, 29967, 30171, 30120, 30078]): (45623, 45586, 45600, 45612),\r\n    frozenset([30038, 29967, 30171, 30120, 30082]): (45623, 45586, 45600, 45610),\r\n    frozenset([30038, 29967, 30171, 30120, 30080]): (45623, 45586, 45600, 45612),\r\n    frozenset([30038, 29967, 30173, 30117, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30038, 29967, 30173, 30117, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30173, 30117, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30038, 29967, 30173, 30117, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30173, 30118, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30038, 29967, 30173, 30118, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30173, 30118, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30038, 29967, 30173, 30118, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30173, 30119, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30038, 29967, 30173, 30119, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30173, 30119, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30038, 29967, 30173, 30119, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30173, 30120, 30076]): (45623, 45586, 45600, 45611),\r\n    frozenset([30038, 29967, 30173, 30120, 30078]): (45623, 45586, 45600, 45612),\r\n    frozenset([30038, 29967, 30173, 30120, 30082]): (45623, 45586, 45600, 45610),\r\n    frozenset([30038, 29967, 30173, 30120, 30080]): (45623, 45586, 45600, 45612),\r\n    frozenset([30038, 29967, 30175, 30117, 30076]): (45622, 45587, 45600, 45611),\r\n    frozenset([30038, 29967, 30175, 30117, 30078]): (45622, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30175, 30117, 30082]): (45622, 45587, 45600, 45610),\r\n    frozenset([30038, 29967, 30175, 30117, 30080]): (45622, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30175, 30118, 30076]): (45622, 45587, 45600, 45611),\r\n    frozenset([30038, 29967, 30175, 30118, 30078]): (45622, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30175, 30118, 30082]): (45622, 45587, 45600, 45610),\r\n    frozenset([30038, 29967, 30175, 30118, 30080]): (45622, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30175, 30119, 30076]): (45622, 45587, 45600, 45611),\r\n    frozenset([30038, 29967, 30175, 30119, 30078]): (45622, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30175, 30119, 30082]): (45622, 45587, 45600, 45610),\r\n    frozenset([30038, 29967, 30175, 30119, 30080]): (45622, 45587, 45600, 45612),\r\n    frozenset([30038, 29967, 30175, 30120, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30038, 29967, 30175, 30120, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30038, 29967, 30175, 30120, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30038, 29967, 30175, 30120, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30040, 29964, 30169, 30117, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30040, 29964, 30169, 30117, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30169, 30117, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30040, 29964, 30169, 30117, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30169, 30118, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30040, 29964, 30169, 30118, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30169, 30118, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30040, 29964, 30169, 30118, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30169, 30119, 30076]): (45623, 45587, 45598, 45611),\r\n    frozenset([30040, 29964, 30169, 30119, 30078]): (45623, 45587, 45598, 45612),\r\n    frozenset([30040, 29964, 30169, 30119, 30082]): (45623, 45587, 45598, 45610),\r\n    frozenset([30040, 29964, 30169, 30119, 30080]): (45623, 45587, 45598, 45612),\r\n    frozenset([30040, 29964, 30169, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30040, 29964, 30169, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29964, 30169, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30040, 29964, 30169, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29964, 30171, 30117, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30040, 29964, 30171, 30117, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30171, 30117, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30040, 29964, 30171, 30117, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30171, 30118, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30040, 29964, 30171, 30118, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30171, 30118, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30040, 29964, 30171, 30118, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30171, 30119, 30076]): (45623, 45587, 45598, 45611),\r\n    frozenset([30040, 29964, 30171, 30119, 30078]): (45623, 45587, 45598, 45612),\r\n    frozenset([30040, 29964, 30171, 30119, 30082]): (45623, 45587, 45598, 45610),\r\n    frozenset([30040, 29964, 30171, 30119, 30080]): (45623, 45587, 45598, 45612),\r\n    frozenset([30040, 29964, 30171, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30040, 29964, 30171, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29964, 30171, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30040, 29964, 30171, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29964, 30173, 30117, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30040, 29964, 30173, 30117, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30173, 30117, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30040, 29964, 30173, 30117, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30173, 30118, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30040, 29964, 30173, 30118, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30173, 30118, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30040, 29964, 30173, 30118, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30173, 30119, 30076]): (45623, 45587, 45598, 45611),\r\n    frozenset([30040, 29964, 30173, 30119, 30078]): (45623, 45587, 45598, 45612),\r\n    frozenset([30040, 29964, 30173, 30119, 30082]): (45623, 45587, 45598, 45610),\r\n    frozenset([30040, 29964, 30173, 30119, 30080]): (45623, 45587, 45598, 45612),\r\n    frozenset([30040, 29964, 30173, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30040, 29964, 30173, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29964, 30173, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30040, 29964, 30173, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29964, 30175, 30117, 30076]): (45622, 45587, 45599, 45611),\r\n    frozenset([30040, 29964, 30175, 30117, 30078]): (45622, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30175, 30117, 30082]): (45622, 45587, 45599, 45610),\r\n    frozenset([30040, 29964, 30175, 30117, 30080]): (45622, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30175, 30118, 30076]): (45622, 45587, 45599, 45611),\r\n    frozenset([30040, 29964, 30175, 30118, 30078]): (45622, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30175, 30118, 30082]): (45622, 45587, 45599, 45610),\r\n    frozenset([30040, 29964, 30175, 30118, 30080]): (45622, 45587, 45599, 45612),\r\n    frozenset([30040, 29964, 30175, 30119, 30076]): (45622, 45587, 45598, 45611),\r\n    frozenset([30040, 29964, 30175, 30119, 30078]): (45622, 45587, 45598, 45612),\r\n    frozenset([30040, 29964, 30175, 30119, 30082]): (45622, 45587, 45598, 45610),\r\n    frozenset([30040, 29964, 30175, 30119, 30080]): (45622, 45587, 45598, 45612),\r\n    frozenset([30040, 29964, 30175, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30040, 29964, 30175, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30040, 29964, 30175, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30040, 29964, 30175, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30040, 29965, 30169, 30117, 30076]): (45623, 45588, 45599, 45611),\r\n    frozenset([30040, 29965, 30169, 30117, 30078]): (45623, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30169, 30117, 30082]): (45623, 45588, 45599, 45610),\r\n    frozenset([30040, 29965, 30169, 30117, 30080]): (45623, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30169, 30118, 30076]): (45623, 45588, 45599, 45611),\r\n    frozenset([30040, 29965, 30169, 30118, 30078]): (45623, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30169, 30118, 30082]): (45623, 45588, 45599, 45610),\r\n    frozenset([30040, 29965, 30169, 30118, 30080]): (45623, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30169, 30119, 30076]): (45623, 45588, 45598, 45611),\r\n    frozenset([30040, 29965, 30169, 30119, 30078]): (45623, 45588, 45598, 45612),\r\n    frozenset([30040, 29965, 30169, 30119, 30082]): (45623, 45588, 45598, 45610),\r\n    frozenset([30040, 29965, 30169, 30119, 30080]): (45623, 45588, 45598, 45612),\r\n    frozenset([30040, 29965, 30169, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30040, 29965, 30169, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29965, 30169, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30040, 29965, 30169, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29965, 30171, 30117, 30076]): (45623, 45588, 45599, 45611),\r\n    frozenset([30040, 29965, 30171, 30117, 30078]): (45623, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30171, 30117, 30082]): (45623, 45588, 45599, 45610),\r\n    frozenset([30040, 29965, 30171, 30117, 30080]): (45623, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30171, 30118, 30076]): (45623, 45588, 45599, 45611),\r\n    frozenset([30040, 29965, 30171, 30118, 30078]): (45623, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30171, 30118, 30082]): (45623, 45588, 45599, 45610),\r\n    frozenset([30040, 29965, 30171, 30118, 30080]): (45623, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30171, 30119, 30076]): (45623, 45588, 45598, 45611),\r\n    frozenset([30040, 29965, 30171, 30119, 30078]): (45623, 45588, 45598, 45612),\r\n    frozenset([30040, 29965, 30171, 30119, 30082]): (45623, 45588, 45598, 45610),\r\n    frozenset([30040, 29965, 30171, 30119, 30080]): (45623, 45588, 45598, 45612),\r\n    frozenset([30040, 29965, 30171, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30040, 29965, 30171, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29965, 30171, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30040, 29965, 30171, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29965, 30173, 30117, 30076]): (45623, 45588, 45599, 45611),\r\n    frozenset([30040, 29965, 30173, 30117, 30078]): (45623, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30173, 30117, 30082]): (45623, 45588, 45599, 45610),\r\n    frozenset([30040, 29965, 30173, 30117, 30080]): (45623, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30173, 30118, 30076]): (45623, 45588, 45599, 45611),\r\n    frozenset([30040, 29965, 30173, 30118, 30078]): (45623, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30173, 30118, 30082]): (45623, 45588, 45599, 45610),\r\n    frozenset([30040, 29965, 30173, 30118, 30080]): (45623, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30173, 30119, 30076]): (45623, 45588, 45598, 45611),\r\n    frozenset([30040, 29965, 30173, 30119, 30078]): (45623, 45588, 45598, 45612),\r\n    frozenset([30040, 29965, 30173, 30119, 30082]): (45623, 45588, 45598, 45610),\r\n    frozenset([30040, 29965, 30173, 30119, 30080]): (45623, 45588, 45598, 45612),\r\n    frozenset([30040, 29965, 30173, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30040, 29965, 30173, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29965, 30173, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30040, 29965, 30173, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29965, 30175, 30117, 30076]): (45622, 45588, 45599, 45611),\r\n    frozenset([30040, 29965, 30175, 30117, 30078]): (45622, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30175, 30117, 30082]): (45622, 45588, 45599, 45610),\r\n    frozenset([30040, 29965, 30175, 30117, 30080]): (45622, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30175, 30118, 30076]): (45622, 45588, 45599, 45611),\r\n    frozenset([30040, 29965, 30175, 30118, 30078]): (45622, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30175, 30118, 30082]): (45622, 45588, 45599, 45610),\r\n    frozenset([30040, 29965, 30175, 30118, 30080]): (45622, 45588, 45599, 45612),\r\n    frozenset([30040, 29965, 30175, 30119, 30076]): (45622, 45588, 45598, 45611),\r\n    frozenset([30040, 29965, 30175, 30119, 30078]): (45622, 45588, 45598, 45612),\r\n    frozenset([30040, 29965, 30175, 30119, 30082]): (45622, 45588, 45598, 45610),\r\n    frozenset([30040, 29965, 30175, 30119, 30080]): (45622, 45588, 45598, 45612),\r\n    frozenset([30040, 29965, 30175, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30040, 29965, 30175, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30040, 29965, 30175, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30040, 29965, 30175, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30040, 29966, 30169, 30117, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30040, 29966, 30169, 30117, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30169, 30117, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30040, 29966, 30169, 30117, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30169, 30118, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30040, 29966, 30169, 30118, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30169, 30118, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30040, 29966, 30169, 30118, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30169, 30119, 30076]): (45623, 45587, 45598, 45611),\r\n    frozenset([30040, 29966, 30169, 30119, 30078]): (45623, 45587, 45598, 45612),\r\n    frozenset([30040, 29966, 30169, 30119, 30082]): (45623, 45587, 45598, 45610),\r\n    frozenset([30040, 29966, 30169, 30119, 30080]): (45623, 45587, 45598, 45612),\r\n    frozenset([30040, 29966, 30169, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30040, 29966, 30169, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29966, 30169, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30040, 29966, 30169, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29966, 30171, 30117, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30040, 29966, 30171, 30117, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30171, 30117, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30040, 29966, 30171, 30117, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30171, 30118, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30040, 29966, 30171, 30118, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30171, 30118, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30040, 29966, 30171, 30118, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30171, 30119, 30076]): (45623, 45587, 45598, 45611),\r\n    frozenset([30040, 29966, 30171, 30119, 30078]): (45623, 45587, 45598, 45612),\r\n    frozenset([30040, 29966, 30171, 30119, 30082]): (45623, 45587, 45598, 45610),\r\n    frozenset([30040, 29966, 30171, 30119, 30080]): (45623, 45587, 45598, 45612),\r\n    frozenset([30040, 29966, 30171, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30040, 29966, 30171, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29966, 30171, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30040, 29966, 30171, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29966, 30173, 30117, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30040, 29966, 30173, 30117, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30173, 30117, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30040, 29966, 30173, 30117, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30173, 30118, 30076]): (45623, 45587, 45599, 45611),\r\n    frozenset([30040, 29966, 30173, 30118, 30078]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30173, 30118, 30082]): (45623, 45587, 45599, 45610),\r\n    frozenset([30040, 29966, 30173, 30118, 30080]): (45623, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30173, 30119, 30076]): (45623, 45587, 45598, 45611),\r\n    frozenset([30040, 29966, 30173, 30119, 30078]): (45623, 45587, 45598, 45612),\r\n    frozenset([30040, 29966, 30173, 30119, 30082]): (45623, 45587, 45598, 45610),\r\n    frozenset([30040, 29966, 30173, 30119, 30080]): (45623, 45587, 45598, 45612),\r\n    frozenset([30040, 29966, 30173, 30120, 30076]): (45623, 45586, 45598, 45611),\r\n    frozenset([30040, 29966, 30173, 30120, 30078]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29966, 30173, 30120, 30082]): (45623, 45586, 45598, 45610),\r\n    frozenset([30040, 29966, 30173, 30120, 30080]): (45623, 45586, 45598, 45612),\r\n    frozenset([30040, 29966, 30175, 30117, 30076]): (45622, 45587, 45599, 45611),\r\n    frozenset([30040, 29966, 30175, 30117, 30078]): (45622, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30175, 30117, 30082]): (45622, 45587, 45599, 45610),\r\n    frozenset([30040, 29966, 30175, 30117, 30080]): (45622, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30175, 30118, 30076]): (45622, 45587, 45599, 45611),\r\n    frozenset([30040, 29966, 30175, 30118, 30078]): (45622, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30175, 30118, 30082]): (45622, 45587, 45599, 45610),\r\n    frozenset([30040, 29966, 30175, 30118, 30080]): (45622, 45587, 45599, 45612),\r\n    frozenset([30040, 29966, 30175, 30119, 30076]): (45622, 45587, 45598, 45611),\r\n    frozenset([30040, 29966, 30175, 30119, 30078]): (45622, 45587, 45598, 45612),\r\n    frozenset([30040, 29966, 30175, 30119, 30082]): (45622, 45587, 45598, 45610),\r\n    frozenset([30040, 29966, 30175, 30119, 30080]): (45622, 45587, 45598, 45612),\r\n    frozenset([30040, 29966, 30175, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30040, 29966, 30175, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30040, 29966, 30175, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30040, 29966, 30175, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30040, 29967, 30169, 30117, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30040, 29967, 30169, 30117, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30169, 30117, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30040, 29967, 30169, 30117, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30169, 30118, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30040, 29967, 30169, 30118, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30169, 30118, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30040, 29967, 30169, 30118, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30169, 30119, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30040, 29967, 30169, 30119, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30169, 30119, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30040, 29967, 30169, 30119, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30169, 30120, 30076]): (45623, 45586, 45600, 45611),\r\n    frozenset([30040, 29967, 30169, 30120, 30078]): (45623, 45586, 45600, 45612),\r\n    frozenset([30040, 29967, 30169, 30120, 30082]): (45623, 45586, 45600, 45610),\r\n    frozenset([30040, 29967, 30169, 30120, 30080]): (45623, 45586, 45600, 45612),\r\n    frozenset([30040, 29967, 30171, 30117, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30040, 29967, 30171, 30117, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30171, 30117, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30040, 29967, 30171, 30117, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30171, 30118, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30040, 29967, 30171, 30118, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30171, 30118, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30040, 29967, 30171, 30118, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30171, 30119, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30040, 29967, 30171, 30119, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30171, 30119, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30040, 29967, 30171, 30119, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30171, 30120, 30076]): (45623, 45586, 45600, 45611),\r\n    frozenset([30040, 29967, 30171, 30120, 30078]): (45623, 45586, 45600, 45612),\r\n    frozenset([30040, 29967, 30171, 30120, 30082]): (45623, 45586, 45600, 45610),\r\n    frozenset([30040, 29967, 30171, 30120, 30080]): (45623, 45586, 45600, 45612),\r\n    frozenset([30040, 29967, 30173, 30117, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30040, 29967, 30173, 30117, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30173, 30117, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30040, 29967, 30173, 30117, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30173, 30118, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30040, 29967, 30173, 30118, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30173, 30118, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30040, 29967, 30173, 30118, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30173, 30119, 30076]): (45623, 45587, 45600, 45611),\r\n    frozenset([30040, 29967, 30173, 30119, 30078]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30173, 30119, 30082]): (45623, 45587, 45600, 45610),\r\n    frozenset([30040, 29967, 30173, 30119, 30080]): (45623, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30173, 30120, 30076]): (45623, 45586, 45600, 45611),\r\n    frozenset([30040, 29967, 30173, 30120, 30078]): (45623, 45586, 45600, 45612),\r\n    frozenset([30040, 29967, 30173, 30120, 30082]): (45623, 45586, 45600, 45610),\r\n    frozenset([30040, 29967, 30173, 30120, 30080]): (45623, 45586, 45600, 45612),\r\n    frozenset([30040, 29967, 30175, 30117, 30076]): (45622, 45587, 45600, 45611),\r\n    frozenset([30040, 29967, 30175, 30117, 30078]): (45622, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30175, 30117, 30082]): (45622, 45587, 45600, 45610),\r\n    frozenset([30040, 29967, 30175, 30117, 30080]): (45622, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30175, 30118, 30076]): (45622, 45587, 45600, 45611),\r\n    frozenset([30040, 29967, 30175, 30118, 30078]): (45622, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30175, 30118, 30082]): (45622, 45587, 45600, 45610),\r\n    frozenset([30040, 29967, 30175, 30118, 30080]): (45622, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30175, 30119, 30076]): (45622, 45587, 45600, 45611),\r\n    frozenset([30040, 29967, 30175, 30119, 30078]): (45622, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30175, 30119, 30082]): (45622, 45587, 45600, 45610),\r\n    frozenset([30040, 29967, 30175, 30119, 30080]): (45622, 45587, 45600, 45612),\r\n    frozenset([30040, 29967, 30175, 30120, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30040, 29967, 30175, 30120, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30040, 29967, 30175, 30120, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30040, 29967, 30175, 30120, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29964, 30169, 30117, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29964, 30169, 30117, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30169, 30117, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29964, 30169, 30117, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30169, 30118, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29964, 30169, 30118, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30169, 30118, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29964, 30169, 30118, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30169, 30119, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29964, 30169, 30119, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30169, 30119, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29964, 30169, 30119, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30169, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29964, 30169, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30169, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29964, 30169, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30171, 30117, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29964, 30171, 30117, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30171, 30117, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29964, 30171, 30117, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30171, 30118, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29964, 30171, 30118, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30171, 30118, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29964, 30171, 30118, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30171, 30119, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29964, 30171, 30119, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30171, 30119, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29964, 30171, 30119, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30171, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29964, 30171, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30171, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29964, 30171, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30173, 30117, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29964, 30173, 30117, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30173, 30117, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29964, 30173, 30117, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30173, 30118, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29964, 30173, 30118, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30173, 30118, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29964, 30173, 30118, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30173, 30119, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29964, 30173, 30119, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30173, 30119, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29964, 30173, 30119, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30173, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29964, 30173, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30173, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29964, 30173, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30175, 30117, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29964, 30175, 30117, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30175, 30117, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29964, 30175, 30117, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30175, 30118, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29964, 30175, 30118, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30175, 30118, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29964, 30175, 30118, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29964, 30175, 30119, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29964, 30175, 30119, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30175, 30119, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29964, 30175, 30119, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30175, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29964, 30175, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29964, 30175, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29964, 30175, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30169, 30117, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29965, 30169, 30117, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30169, 30117, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29965, 30169, 30117, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30169, 30118, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29965, 30169, 30118, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30169, 30118, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29965, 30169, 30118, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30169, 30119, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29965, 30169, 30119, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30169, 30119, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29965, 30169, 30119, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30169, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29965, 30169, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30169, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29965, 30169, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30171, 30117, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29965, 30171, 30117, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30171, 30117, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29965, 30171, 30117, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30171, 30118, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29965, 30171, 30118, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30171, 30118, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29965, 30171, 30118, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30171, 30119, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29965, 30171, 30119, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30171, 30119, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29965, 30171, 30119, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30171, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29965, 30171, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30171, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29965, 30171, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30173, 30117, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29965, 30173, 30117, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30173, 30117, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29965, 30173, 30117, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30173, 30118, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29965, 30173, 30118, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30173, 30118, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29965, 30173, 30118, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30173, 30119, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29965, 30173, 30119, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30173, 30119, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29965, 30173, 30119, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30173, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29965, 30173, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30173, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29965, 30173, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30175, 30117, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29965, 30175, 30117, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30175, 30117, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29965, 30175, 30117, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30175, 30118, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29965, 30175, 30118, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30175, 30118, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29965, 30175, 30118, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29965, 30175, 30119, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29965, 30175, 30119, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30175, 30119, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29965, 30175, 30119, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30175, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29965, 30175, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29965, 30175, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29965, 30175, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30169, 30117, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29966, 30169, 30117, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30169, 30117, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29966, 30169, 30117, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30169, 30118, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29966, 30169, 30118, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30169, 30118, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29966, 30169, 30118, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30169, 30119, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29966, 30169, 30119, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30169, 30119, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29966, 30169, 30119, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30169, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29966, 30169, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30169, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29966, 30169, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30171, 30117, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29966, 30171, 30117, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30171, 30117, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29966, 30171, 30117, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30171, 30118, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29966, 30171, 30118, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30171, 30118, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29966, 30171, 30118, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30171, 30119, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29966, 30171, 30119, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30171, 30119, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29966, 30171, 30119, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30171, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29966, 30171, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30171, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29966, 30171, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30173, 30117, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29966, 30173, 30117, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30173, 30117, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29966, 30173, 30117, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30173, 30118, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29966, 30173, 30118, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30173, 30118, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29966, 30173, 30118, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30173, 30119, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29966, 30173, 30119, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30173, 30119, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29966, 30173, 30119, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30173, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29966, 30173, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30173, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29966, 30173, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30175, 30117, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29966, 30175, 30117, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30175, 30117, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29966, 30175, 30117, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30175, 30118, 30076]): (45622, 45586, 45599, 45611),\r\n    frozenset([30042, 29966, 30175, 30118, 30078]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30175, 30118, 30082]): (45622, 45586, 45599, 45610),\r\n    frozenset([30042, 29966, 30175, 30118, 30080]): (45622, 45586, 45599, 45612),\r\n    frozenset([30042, 29966, 30175, 30119, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29966, 30175, 30119, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30175, 30119, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29966, 30175, 30119, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30175, 30120, 30076]): (45622, 45586, 45598, 45611),\r\n    frozenset([30042, 29966, 30175, 30120, 30078]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29966, 30175, 30120, 30082]): (45622, 45586, 45598, 45610),\r\n    frozenset([30042, 29966, 30175, 30120, 30080]): (45622, 45586, 45598, 45612),\r\n    frozenset([30042, 29967, 30169, 30117, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30169, 30117, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30169, 30117, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30169, 30117, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30169, 30118, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30169, 30118, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30169, 30118, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30169, 30118, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30169, 30119, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30169, 30119, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30169, 30119, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30169, 30119, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30169, 30120, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30169, 30120, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30169, 30120, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30169, 30120, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30171, 30117, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30171, 30117, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30171, 30117, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30171, 30117, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30171, 30118, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30171, 30118, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30171, 30118, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30171, 30118, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30171, 30119, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30171, 30119, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30171, 30119, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30171, 30119, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30171, 30120, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30171, 30120, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30171, 30120, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30171, 30120, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30173, 30117, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30173, 30117, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30173, 30117, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30173, 30117, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30173, 30118, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30173, 30118, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30173, 30118, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30173, 30118, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30173, 30119, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30173, 30119, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30173, 30119, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30173, 30119, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30173, 30120, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30173, 30120, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30173, 30120, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30173, 30120, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30175, 30117, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30175, 30117, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30175, 30117, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30175, 30117, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30175, 30118, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30175, 30118, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30175, 30118, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30175, 30118, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30175, 30119, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30175, 30119, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30175, 30119, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30175, 30119, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30175, 30120, 30076]): (45622, 45586, 45600, 45611),\r\n    frozenset([30042, 29967, 30175, 30120, 30078]): (45622, 45586, 45600, 45612),\r\n    frozenset([30042, 29967, 30175, 30120, 30082]): (45622, 45586, 45600, 45610),\r\n    frozenset([30042, 29967, 30175, 30120, 30080]): (45622, 45586, 45600, 45612),\r\n    frozenset([30056, 29979, 30149, 30127, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29979, 30149, 30127, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29979, 30149, 30127, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30149, 30127, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30149, 30128, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29979, 30149, 30128, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29979, 30149, 30128, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30149, 30128, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30149, 30129, 30100]): (45630, 45593, 45605, 45617),\r\n    frozenset([30056, 29979, 30149, 30129, 30102]): (45630, 45593, 45605, 45616),\r\n    frozenset([30056, 29979, 30149, 30129, 30098]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29979, 30149, 30129, 30096]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29979, 30149, 30130, 30100]): (45630, 45592, 45604, 45617),\r\n    frozenset([30056, 29979, 30149, 30130, 30102]): (45630, 45592, 45604, 45616),\r\n    frozenset([30056, 29979, 30149, 30130, 30098]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29979, 30149, 30130, 30096]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29979, 30151, 30127, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29979, 30151, 30127, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29979, 30151, 30127, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30151, 30127, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30151, 30128, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29979, 30151, 30128, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29979, 30151, 30128, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30151, 30128, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30151, 30129, 30100]): (45630, 45593, 45605, 45617),\r\n    frozenset([30056, 29979, 30151, 30129, 30102]): (45630, 45593, 45605, 45616),\r\n    frozenset([30056, 29979, 30151, 30129, 30098]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29979, 30151, 30129, 30096]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29979, 30151, 30130, 30100]): (45630, 45592, 45604, 45617),\r\n    frozenset([30056, 29979, 30151, 30130, 30102]): (45630, 45592, 45604, 45616),\r\n    frozenset([30056, 29979, 30151, 30130, 30098]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29979, 30151, 30130, 30096]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29979, 30153, 30127, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29979, 30153, 30127, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29979, 30153, 30127, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30153, 30127, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30153, 30128, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29979, 30153, 30128, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29979, 30153, 30128, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30153, 30128, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30153, 30129, 30100]): (45630, 45593, 45605, 45617),\r\n    frozenset([30056, 29979, 30153, 30129, 30102]): (45630, 45593, 45605, 45616),\r\n    frozenset([30056, 29979, 30153, 30129, 30098]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29979, 30153, 30129, 30096]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29979, 30153, 30130, 30100]): (45630, 45592, 45604, 45617),\r\n    frozenset([30056, 29979, 30153, 30130, 30102]): (45630, 45592, 45604, 45616),\r\n    frozenset([30056, 29979, 30153, 30130, 30098]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29979, 30153, 30130, 30096]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29979, 30155, 30127, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29979, 30155, 30127, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29979, 30155, 30127, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30155, 30127, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30155, 30128, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29979, 30155, 30128, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29979, 30155, 30128, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30155, 30128, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29979, 30155, 30129, 30100]): (45630, 45593, 45605, 45617),\r\n    frozenset([30056, 29979, 30155, 30129, 30102]): (45630, 45593, 45605, 45616),\r\n    frozenset([30056, 29979, 30155, 30129, 30098]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29979, 30155, 30129, 30096]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29979, 30155, 30130, 30100]): (45630, 45592, 45604, 45617),\r\n    frozenset([30056, 29979, 30155, 30130, 30102]): (45630, 45592, 45604, 45616),\r\n    frozenset([30056, 29979, 30155, 30130, 30098]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29979, 30155, 30130, 30096]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29980, 30149, 30127, 30100]): (45630, 45594, 45604, 45617),\r\n    frozenset([30056, 29980, 30149, 30127, 30102]): (45630, 45594, 45604, 45616),\r\n    frozenset([30056, 29980, 30149, 30127, 30098]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30149, 30127, 30096]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30149, 30128, 30100]): (45630, 45594, 45604, 45617),\r\n    frozenset([30056, 29980, 30149, 30128, 30102]): (45630, 45594, 45604, 45616),\r\n    frozenset([30056, 29980, 30149, 30128, 30098]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30149, 30128, 30096]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30149, 30129, 30100]): (45630, 45594, 45605, 45617),\r\n    frozenset([30056, 29980, 30149, 30129, 30102]): (45630, 45594, 45605, 45616),\r\n    frozenset([30056, 29980, 30149, 30129, 30098]): (45630, 45594, 45605, 45618),\r\n    frozenset([30056, 29980, 30149, 30129, 30096]): (45630, 45594, 45605, 45618),\r\n    frozenset([30056, 29980, 30149, 30130, 30100]): (45630, 45592, 45604, 45617),\r\n    frozenset([30056, 29980, 30149, 30130, 30102]): (45630, 45592, 45604, 45616),\r\n    frozenset([30056, 29980, 30149, 30130, 30098]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29980, 30149, 30130, 30096]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29980, 30151, 30127, 30100]): (45630, 45594, 45604, 45617),\r\n    frozenset([30056, 29980, 30151, 30127, 30102]): (45630, 45594, 45604, 45616),\r\n    frozenset([30056, 29980, 30151, 30127, 30098]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30151, 30127, 30096]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30151, 30128, 30100]): (45630, 45594, 45604, 45617),\r\n    frozenset([30056, 29980, 30151, 30128, 30102]): (45630, 45594, 45604, 45616),\r\n    frozenset([30056, 29980, 30151, 30128, 30098]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30151, 30128, 30096]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30151, 30129, 30100]): (45630, 45594, 45605, 45617),\r\n    frozenset([30056, 29980, 30151, 30129, 30102]): (45630, 45594, 45605, 45616),\r\n    frozenset([30056, 29980, 30151, 30129, 30098]): (45630, 45594, 45605, 45618),\r\n    frozenset([30056, 29980, 30151, 30129, 30096]): (45630, 45594, 45605, 45618),\r\n    frozenset([30056, 29980, 30151, 30130, 30100]): (45630, 45592, 45604, 45617),\r\n    frozenset([30056, 29980, 30151, 30130, 30102]): (45630, 45592, 45604, 45616),\r\n    frozenset([30056, 29980, 30151, 30130, 30098]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29980, 30151, 30130, 30096]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29980, 30153, 30127, 30100]): (45630, 45594, 45604, 45617),\r\n    frozenset([30056, 29980, 30153, 30127, 30102]): (45630, 45594, 45604, 45616),\r\n    frozenset([30056, 29980, 30153, 30127, 30098]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30153, 30127, 30096]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30153, 30128, 30100]): (45630, 45594, 45604, 45617),\r\n    frozenset([30056, 29980, 30153, 30128, 30102]): (45630, 45594, 45604, 45616),\r\n    frozenset([30056, 29980, 30153, 30128, 30098]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30153, 30128, 30096]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30153, 30129, 30100]): (45630, 45594, 45605, 45617),\r\n    frozenset([30056, 29980, 30153, 30129, 30102]): (45630, 45594, 45605, 45616),\r\n    frozenset([30056, 29980, 30153, 30129, 30098]): (45630, 45594, 45605, 45618),\r\n    frozenset([30056, 29980, 30153, 30129, 30096]): (45630, 45594, 45605, 45618),\r\n    frozenset([30056, 29980, 30153, 30130, 30100]): (45630, 45592, 45604, 45617),\r\n    frozenset([30056, 29980, 30153, 30130, 30102]): (45630, 45592, 45604, 45616),\r\n    frozenset([30056, 29980, 30153, 30130, 30098]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29980, 30153, 30130, 30096]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29980, 30155, 30127, 30100]): (45630, 45594, 45604, 45617),\r\n    frozenset([30056, 29980, 30155, 30127, 30102]): (45630, 45594, 45604, 45616),\r\n    frozenset([30056, 29980, 30155, 30127, 30098]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30155, 30127, 30096]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30155, 30128, 30100]): (45630, 45594, 45604, 45617),\r\n    frozenset([30056, 29980, 30155, 30128, 30102]): (45630, 45594, 45604, 45616),\r\n    frozenset([30056, 29980, 30155, 30128, 30098]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30155, 30128, 30096]): (45630, 45594, 45604, 45618),\r\n    frozenset([30056, 29980, 30155, 30129, 30100]): (45630, 45594, 45605, 45617),\r\n    frozenset([30056, 29980, 30155, 30129, 30102]): (45630, 45594, 45605, 45616),\r\n    frozenset([30056, 29980, 30155, 30129, 30098]): (45630, 45594, 45605, 45618),\r\n    frozenset([30056, 29980, 30155, 30129, 30096]): (45630, 45594, 45605, 45618),\r\n    frozenset([30056, 29980, 30155, 30130, 30100]): (45630, 45592, 45604, 45617),\r\n    frozenset([30056, 29980, 30155, 30130, 30102]): (45630, 45592, 45604, 45616),\r\n    frozenset([30056, 29980, 30155, 30130, 30098]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29980, 30155, 30130, 30096]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29981, 30149, 30127, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29981, 30149, 30127, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29981, 30149, 30127, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30149, 30127, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30149, 30128, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29981, 30149, 30128, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29981, 30149, 30128, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30149, 30128, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30149, 30129, 30100]): (45630, 45593, 45605, 45617),\r\n    frozenset([30056, 29981, 30149, 30129, 30102]): (45630, 45593, 45605, 45616),\r\n    frozenset([30056, 29981, 30149, 30129, 30098]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29981, 30149, 30129, 30096]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29981, 30149, 30130, 30100]): (45630, 45592, 45604, 45617),\r\n    frozenset([30056, 29981, 30149, 30130, 30102]): (45630, 45592, 45604, 45616),\r\n    frozenset([30056, 29981, 30149, 30130, 30098]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29981, 30149, 30130, 30096]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29981, 30151, 30127, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29981, 30151, 30127, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29981, 30151, 30127, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30151, 30127, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30151, 30128, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29981, 30151, 30128, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29981, 30151, 30128, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30151, 30128, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30151, 30129, 30100]): (45630, 45593, 45605, 45617),\r\n    frozenset([30056, 29981, 30151, 30129, 30102]): (45630, 45593, 45605, 45616),\r\n    frozenset([30056, 29981, 30151, 30129, 30098]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29981, 30151, 30129, 30096]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29981, 30151, 30130, 30100]): (45630, 45592, 45604, 45617),\r\n    frozenset([30056, 29981, 30151, 30130, 30102]): (45630, 45592, 45604, 45616),\r\n    frozenset([30056, 29981, 30151, 30130, 30098]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29981, 30151, 30130, 30096]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29981, 30153, 30127, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29981, 30153, 30127, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29981, 30153, 30127, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30153, 30127, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30153, 30128, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29981, 30153, 30128, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29981, 30153, 30128, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30153, 30128, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30153, 30129, 30100]): (45630, 45593, 45605, 45617),\r\n    frozenset([30056, 29981, 30153, 30129, 30102]): (45630, 45593, 45605, 45616),\r\n    frozenset([30056, 29981, 30153, 30129, 30098]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29981, 30153, 30129, 30096]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29981, 30153, 30130, 30100]): (45630, 45592, 45604, 45617),\r\n    frozenset([30056, 29981, 30153, 30130, 30102]): (45630, 45592, 45604, 45616),\r\n    frozenset([30056, 29981, 30153, 30130, 30098]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29981, 30153, 30130, 30096]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29981, 30155, 30127, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29981, 30155, 30127, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29981, 30155, 30127, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30155, 30127, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30155, 30128, 30100]): (45630, 45593, 45604, 45617),\r\n    frozenset([30056, 29981, 30155, 30128, 30102]): (45630, 45593, 45604, 45616),\r\n    frozenset([30056, 29981, 30155, 30128, 30098]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30155, 30128, 30096]): (45630, 45593, 45604, 45618),\r\n    frozenset([30056, 29981, 30155, 30129, 30100]): (45630, 45593, 45605, 45617),\r\n    frozenset([30056, 29981, 30155, 30129, 30102]): (45630, 45593, 45605, 45616),\r\n    frozenset([30056, 29981, 30155, 30129, 30098]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29981, 30155, 30129, 30096]): (45630, 45593, 45605, 45618),\r\n    frozenset([30056, 29981, 30155, 30130, 30100]): (45630, 45592, 45604, 45617),\r\n    frozenset([30056, 29981, 30155, 30130, 30102]): (45630, 45592, 45604, 45616),\r\n    frozenset([30056, 29981, 30155, 30130, 30098]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29981, 30155, 30130, 30096]): (45630, 45592, 45604, 45618),\r\n    frozenset([30056, 29982, 30149, 30127, 30100]): (45630, 45593, 45606, 45617),\r\n    frozenset([30056, 29982, 30149, 30127, 30102]): (45630, 45593, 45606, 45616),\r\n    frozenset([30056, 29982, 30149, 30127, 30098]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30149, 30127, 30096]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30149, 30128, 30100]): (45630, 45593, 45606, 45617),\r\n    frozenset([30056, 29982, 30149, 30128, 30102]): (45630, 45593, 45606, 45616),\r\n    frozenset([30056, 29982, 30149, 30128, 30098]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30149, 30128, 30096]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30149, 30129, 30100]): (45630, 45593, 45606, 45617),\r\n    frozenset([30056, 29982, 30149, 30129, 30102]): (45630, 45593, 45606, 45616),\r\n    frozenset([30056, 29982, 30149, 30129, 30098]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30149, 30129, 30096]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30149, 30130, 30100]): (45630, 45592, 45606, 45617),\r\n    frozenset([30056, 29982, 30149, 30130, 30102]): (45630, 45592, 45606, 45616),\r\n    frozenset([30056, 29982, 30149, 30130, 30098]): (45630, 45592, 45606, 45618),\r\n    frozenset([30056, 29982, 30149, 30130, 30096]): (45630, 45592, 45606, 45618),\r\n    frozenset([30056, 29982, 30151, 30127, 30100]): (45630, 45593, 45606, 45617),\r\n    frozenset([30056, 29982, 30151, 30127, 30102]): (45630, 45593, 45606, 45616),\r\n    frozenset([30056, 29982, 30151, 30127, 30098]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30151, 30127, 30096]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30151, 30128, 30100]): (45630, 45593, 45606, 45617),\r\n    frozenset([30056, 29982, 30151, 30128, 30102]): (45630, 45593, 45606, 45616),\r\n    frozenset([30056, 29982, 30151, 30128, 30098]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30151, 30128, 30096]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30151, 30129, 30100]): (45630, 45593, 45606, 45617),\r\n    frozenset([30056, 29982, 30151, 30129, 30102]): (45630, 45593, 45606, 45616),\r\n    frozenset([30056, 29982, 30151, 30129, 30098]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30151, 30129, 30096]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30151, 30130, 30100]): (45630, 45592, 45606, 45617),\r\n    frozenset([30056, 29982, 30151, 30130, 30102]): (45630, 45592, 45606, 45616),\r\n    frozenset([30056, 29982, 30151, 30130, 30098]): (45630, 45592, 45606, 45618),\r\n    frozenset([30056, 29982, 30151, 30130, 30096]): (45630, 45592, 45606, 45618),\r\n    frozenset([30056, 29982, 30153, 30127, 30100]): (45630, 45593, 45606, 45617),\r\n    frozenset([30056, 29982, 30153, 30127, 30102]): (45630, 45593, 45606, 45616),\r\n    frozenset([30056, 29982, 30153, 30127, 30098]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30153, 30127, 30096]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30153, 30128, 30100]): (45630, 45593, 45606, 45617),\r\n    frozenset([30056, 29982, 30153, 30128, 30102]): (45630, 45593, 45606, 45616),\r\n    frozenset([30056, 29982, 30153, 30128, 30098]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30153, 30128, 30096]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30153, 30129, 30100]): (45630, 45593, 45606, 45617),\r\n    frozenset([30056, 29982, 30153, 30129, 30102]): (45630, 45593, 45606, 45616),\r\n    frozenset([30056, 29982, 30153, 30129, 30098]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30153, 30129, 30096]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30153, 30130, 30100]): (45630, 45592, 45606, 45617),\r\n    frozenset([30056, 29982, 30153, 30130, 30102]): (45630, 45592, 45606, 45616),\r\n    frozenset([30056, 29982, 30153, 30130, 30098]): (45630, 45592, 45606, 45618),\r\n    frozenset([30056, 29982, 30153, 30130, 30096]): (45630, 45592, 45606, 45618),\r\n    frozenset([30056, 29982, 30155, 30127, 30100]): (45630, 45593, 45606, 45617),\r\n    frozenset([30056, 29982, 30155, 30127, 30102]): (45630, 45593, 45606, 45616),\r\n    frozenset([30056, 29982, 30155, 30127, 30098]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30155, 30127, 30096]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30155, 30128, 30100]): (45630, 45593, 45606, 45617),\r\n    frozenset([30056, 29982, 30155, 30128, 30102]): (45630, 45593, 45606, 45616),\r\n    frozenset([30056, 29982, 30155, 30128, 30098]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30155, 30128, 30096]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30155, 30129, 30100]): (45630, 45593, 45606, 45617),\r\n    frozenset([30056, 29982, 30155, 30129, 30102]): (45630, 45593, 45606, 45616),\r\n    frozenset([30056, 29982, 30155, 30129, 30098]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30155, 30129, 30096]): (45630, 45593, 45606, 45618),\r\n    frozenset([30056, 29982, 30155, 30130, 30100]): (45630, 45592, 45606, 45617),\r\n    frozenset([30056, 29982, 30155, 30130, 30102]): (45630, 45592, 45606, 45616),\r\n    frozenset([30056, 29982, 30155, 30130, 30098]): (45630, 45592, 45606, 45618),\r\n    frozenset([30056, 29982, 30155, 30130, 30096]): (45630, 45592, 45606, 45618),\r\n    frozenset([30058, 29979, 30149, 30127, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30058, 29979, 30149, 30127, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30058, 29979, 30149, 30127, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30149, 30127, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30149, 30128, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30058, 29979, 30149, 30128, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30058, 29979, 30149, 30128, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30149, 30128, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30149, 30129, 30100]): (45629, 45593, 45605, 45617),\r\n    frozenset([30058, 29979, 30149, 30129, 30102]): (45629, 45593, 45605, 45616),\r\n    frozenset([30058, 29979, 30149, 30129, 30098]): (45629, 45593, 45605, 45618),\r\n    frozenset([30058, 29979, 30149, 30129, 30096]): (45629, 45593, 45605, 45618),\r\n    frozenset([30058, 29979, 30149, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30058, 29979, 30149, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30058, 29979, 30149, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29979, 30149, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29979, 30151, 30127, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30058, 29979, 30151, 30127, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30058, 29979, 30151, 30127, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30151, 30127, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30151, 30128, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30058, 29979, 30151, 30128, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30058, 29979, 30151, 30128, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30151, 30128, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30151, 30129, 30100]): (45629, 45593, 45605, 45617),\r\n    frozenset([30058, 29979, 30151, 30129, 30102]): (45629, 45593, 45605, 45616),\r\n    frozenset([30058, 29979, 30151, 30129, 30098]): (45629, 45593, 45605, 45618),\r\n    frozenset([30058, 29979, 30151, 30129, 30096]): (45629, 45593, 45605, 45618),\r\n    frozenset([30058, 29979, 30151, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30058, 29979, 30151, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30058, 29979, 30151, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29979, 30151, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29979, 30153, 30127, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30058, 29979, 30153, 30127, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30058, 29979, 30153, 30127, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30153, 30127, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30153, 30128, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30058, 29979, 30153, 30128, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30058, 29979, 30153, 30128, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30153, 30128, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30153, 30129, 30100]): (45629, 45593, 45605, 45617),\r\n    frozenset([30058, 29979, 30153, 30129, 30102]): (45629, 45593, 45605, 45616),\r\n    frozenset([30058, 29979, 30153, 30129, 30098]): (45629, 45593, 45605, 45618),\r\n    frozenset([30058, 29979, 30153, 30129, 30096]): (45629, 45593, 45605, 45618),\r\n    frozenset([30058, 29979, 30153, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30058, 29979, 30153, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30058, 29979, 30153, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29979, 30153, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29979, 30155, 30127, 30100]): (45628, 45593, 45604, 45617),\r\n    frozenset([30058, 29979, 30155, 30127, 30102]): (45628, 45593, 45604, 45616),\r\n    frozenset([30058, 29979, 30155, 30127, 30098]): (45628, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30155, 30127, 30096]): (45628, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30155, 30128, 30100]): (45628, 45593, 45604, 45617),\r\n    frozenset([30058, 29979, 30155, 30128, 30102]): (45628, 45593, 45604, 45616),\r\n    frozenset([30058, 29979, 30155, 30128, 30098]): (45628, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30155, 30128, 30096]): (45628, 45593, 45604, 45618),\r\n    frozenset([30058, 29979, 30155, 30129, 30100]): (45628, 45593, 45605, 45617),\r\n    frozenset([30058, 29979, 30155, 30129, 30102]): (45628, 45593, 45605, 45616),\r\n    frozenset([30058, 29979, 30155, 30129, 30098]): (45628, 45593, 45605, 45618),\r\n    frozenset([30058, 29979, 30155, 30129, 30096]): (45628, 45593, 45605, 45618),\r\n    frozenset([30058, 29979, 30155, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30058, 29979, 30155, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30058, 29979, 30155, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30058, 29979, 30155, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30058, 29980, 30149, 30127, 30100]): (45629, 45594, 45604, 45617),\r\n    frozenset([30058, 29980, 30149, 30127, 30102]): (45629, 45594, 45604, 45616),\r\n    frozenset([30058, 29980, 30149, 30127, 30098]): (45629, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30149, 30127, 30096]): (45629, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30149, 30128, 30100]): (45629, 45594, 45604, 45617),\r\n    frozenset([30058, 29980, 30149, 30128, 30102]): (45629, 45594, 45604, 45616),\r\n    frozenset([30058, 29980, 30149, 30128, 30098]): (45629, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30149, 30128, 30096]): (45629, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30149, 30129, 30100]): (45629, 45594, 45605, 45617),\r\n    frozenset([30058, 29980, 30149, 30129, 30102]): (45629, 45594, 45605, 45616),\r\n    frozenset([30058, 29980, 30149, 30129, 30098]): (45629, 45594, 45605, 45618),\r\n    frozenset([30058, 29980, 30149, 30129, 30096]): (45629, 45594, 45605, 45618),\r\n    frozenset([30058, 29980, 30149, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30058, 29980, 30149, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30058, 29980, 30149, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29980, 30149, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29980, 30151, 30127, 30100]): (45629, 45594, 45604, 45617),\r\n    frozenset([30058, 29980, 30151, 30127, 30102]): (45629, 45594, 45604, 45616),\r\n    frozenset([30058, 29980, 30151, 30127, 30098]): (45629, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30151, 30127, 30096]): (45629, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30151, 30128, 30100]): (45629, 45594, 45604, 45617),\r\n    frozenset([30058, 29980, 30151, 30128, 30102]): (45629, 45594, 45604, 45616),\r\n    frozenset([30058, 29980, 30151, 30128, 30098]): (45629, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30151, 30128, 30096]): (45629, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30151, 30129, 30100]): (45629, 45594, 45605, 45617),\r\n    frozenset([30058, 29980, 30151, 30129, 30102]): (45629, 45594, 45605, 45616),\r\n    frozenset([30058, 29980, 30151, 30129, 30098]): (45629, 45594, 45605, 45618),\r\n    frozenset([30058, 29980, 30151, 30129, 30096]): (45629, 45594, 45605, 45618),\r\n    frozenset([30058, 29980, 30151, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30058, 29980, 30151, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30058, 29980, 30151, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29980, 30151, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29980, 30153, 30127, 30100]): (45629, 45594, 45604, 45617),\r\n    frozenset([30058, 29980, 30153, 30127, 30102]): (45629, 45594, 45604, 45616),\r\n    frozenset([30058, 29980, 30153, 30127, 30098]): (45629, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30153, 30127, 30096]): (45629, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30153, 30128, 30100]): (45629, 45594, 45604, 45617),\r\n    frozenset([30058, 29980, 30153, 30128, 30102]): (45629, 45594, 45604, 45616),\r\n    frozenset([30058, 29980, 30153, 30128, 30098]): (45629, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30153, 30128, 30096]): (45629, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30153, 30129, 30100]): (45629, 45594, 45605, 45617),\r\n    frozenset([30058, 29980, 30153, 30129, 30102]): (45629, 45594, 45605, 45616),\r\n    frozenset([30058, 29980, 30153, 30129, 30098]): (45629, 45594, 45605, 45618),\r\n    frozenset([30058, 29980, 30153, 30129, 30096]): (45629, 45594, 45605, 45618),\r\n    frozenset([30058, 29980, 30153, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30058, 29980, 30153, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30058, 29980, 30153, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29980, 30153, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29980, 30155, 30127, 30100]): (45628, 45594, 45604, 45617),\r\n    frozenset([30058, 29980, 30155, 30127, 30102]): (45628, 45594, 45604, 45616),\r\n    frozenset([30058, 29980, 30155, 30127, 30098]): (45628, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30155, 30127, 30096]): (45628, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30155, 30128, 30100]): (45628, 45594, 45604, 45617),\r\n    frozenset([30058, 29980, 30155, 30128, 30102]): (45628, 45594, 45604, 45616),\r\n    frozenset([30058, 29980, 30155, 30128, 30098]): (45628, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30155, 30128, 30096]): (45628, 45594, 45604, 45618),\r\n    frozenset([30058, 29980, 30155, 30129, 30100]): (45628, 45594, 45605, 45617),\r\n    frozenset([30058, 29980, 30155, 30129, 30102]): (45628, 45594, 45605, 45616),\r\n    frozenset([30058, 29980, 30155, 30129, 30098]): (45628, 45594, 45605, 45618),\r\n    frozenset([30058, 29980, 30155, 30129, 30096]): (45628, 45594, 45605, 45618),\r\n    frozenset([30058, 29980, 30155, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30058, 29980, 30155, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30058, 29980, 30155, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30058, 29980, 30155, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30058, 29981, 30149, 30127, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30058, 29981, 30149, 30127, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30058, 29981, 30149, 30127, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30149, 30127, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30149, 30128, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30058, 29981, 30149, 30128, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30058, 29981, 30149, 30128, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30149, 30128, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30149, 30129, 30100]): (45629, 45593, 45605, 45617),\r\n    frozenset([30058, 29981, 30149, 30129, 30102]): (45629, 45593, 45605, 45616),\r\n    frozenset([30058, 29981, 30149, 30129, 30098]): (45629, 45593, 45605, 45618),\r\n    frozenset([30058, 29981, 30149, 30129, 30096]): (45629, 45593, 45605, 45618),\r\n    frozenset([30058, 29981, 30149, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30058, 29981, 30149, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30058, 29981, 30149, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29981, 30149, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29981, 30151, 30127, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30058, 29981, 30151, 30127, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30058, 29981, 30151, 30127, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30151, 30127, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30151, 30128, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30058, 29981, 30151, 30128, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30058, 29981, 30151, 30128, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30151, 30128, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30151, 30129, 30100]): (45629, 45593, 45605, 45617),\r\n    frozenset([30058, 29981, 30151, 30129, 30102]): (45629, 45593, 45605, 45616),\r\n    frozenset([30058, 29981, 30151, 30129, 30098]): (45629, 45593, 45605, 45618),\r\n    frozenset([30058, 29981, 30151, 30129, 30096]): (45629, 45593, 45605, 45618),\r\n    frozenset([30058, 29981, 30151, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30058, 29981, 30151, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30058, 29981, 30151, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29981, 30151, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29981, 30153, 30127, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30058, 29981, 30153, 30127, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30058, 29981, 30153, 30127, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30153, 30127, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30153, 30128, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30058, 29981, 30153, 30128, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30058, 29981, 30153, 30128, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30153, 30128, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30153, 30129, 30100]): (45629, 45593, 45605, 45617),\r\n    frozenset([30058, 29981, 30153, 30129, 30102]): (45629, 45593, 45605, 45616),\r\n    frozenset([30058, 29981, 30153, 30129, 30098]): (45629, 45593, 45605, 45618),\r\n    frozenset([30058, 29981, 30153, 30129, 30096]): (45629, 45593, 45605, 45618),\r\n    frozenset([30058, 29981, 30153, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30058, 29981, 30153, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30058, 29981, 30153, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29981, 30153, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30058, 29981, 30155, 30127, 30100]): (45628, 45593, 45604, 45617),\r\n    frozenset([30058, 29981, 30155, 30127, 30102]): (45628, 45593, 45604, 45616),\r\n    frozenset([30058, 29981, 30155, 30127, 30098]): (45628, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30155, 30127, 30096]): (45628, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30155, 30128, 30100]): (45628, 45593, 45604, 45617),\r\n    frozenset([30058, 29981, 30155, 30128, 30102]): (45628, 45593, 45604, 45616),\r\n    frozenset([30058, 29981, 30155, 30128, 30098]): (45628, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30155, 30128, 30096]): (45628, 45593, 45604, 45618),\r\n    frozenset([30058, 29981, 30155, 30129, 30100]): (45628, 45593, 45605, 45617),\r\n    frozenset([30058, 29981, 30155, 30129, 30102]): (45628, 45593, 45605, 45616),\r\n    frozenset([30058, 29981, 30155, 30129, 30098]): (45628, 45593, 45605, 45618),\r\n    frozenset([30058, 29981, 30155, 30129, 30096]): (45628, 45593, 45605, 45618),\r\n    frozenset([30058, 29981, 30155, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30058, 29981, 30155, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30058, 29981, 30155, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30058, 29981, 30155, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30058, 29982, 30149, 30127, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30058, 29982, 30149, 30127, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30058, 29982, 30149, 30127, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30149, 30127, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30149, 30128, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30058, 29982, 30149, 30128, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30058, 29982, 30149, 30128, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30149, 30128, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30149, 30129, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30058, 29982, 30149, 30129, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30058, 29982, 30149, 30129, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30149, 30129, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30149, 30130, 30100]): (45629, 45592, 45606, 45617),\r\n    frozenset([30058, 29982, 30149, 30130, 30102]): (45629, 45592, 45606, 45616),\r\n    frozenset([30058, 29982, 30149, 30130, 30098]): (45629, 45592, 45606, 45618),\r\n    frozenset([30058, 29982, 30149, 30130, 30096]): (45629, 45592, 45606, 45618),\r\n    frozenset([30058, 29982, 30151, 30127, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30058, 29982, 30151, 30127, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30058, 29982, 30151, 30127, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30151, 30127, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30151, 30128, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30058, 29982, 30151, 30128, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30058, 29982, 30151, 30128, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30151, 30128, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30151, 30129, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30058, 29982, 30151, 30129, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30058, 29982, 30151, 30129, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30151, 30129, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30151, 30130, 30100]): (45629, 45592, 45606, 45617),\r\n    frozenset([30058, 29982, 30151, 30130, 30102]): (45629, 45592, 45606, 45616),\r\n    frozenset([30058, 29982, 30151, 30130, 30098]): (45629, 45592, 45606, 45618),\r\n    frozenset([30058, 29982, 30151, 30130, 30096]): (45629, 45592, 45606, 45618),\r\n    frozenset([30058, 29982, 30153, 30127, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30058, 29982, 30153, 30127, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30058, 29982, 30153, 30127, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30153, 30127, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30153, 30128, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30058, 29982, 30153, 30128, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30058, 29982, 30153, 30128, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30153, 30128, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30153, 30129, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30058, 29982, 30153, 30129, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30058, 29982, 30153, 30129, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30153, 30129, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30153, 30130, 30100]): (45629, 45592, 45606, 45617),\r\n    frozenset([30058, 29982, 30153, 30130, 30102]): (45629, 45592, 45606, 45616),\r\n    frozenset([30058, 29982, 30153, 30130, 30098]): (45629, 45592, 45606, 45618),\r\n    frozenset([30058, 29982, 30153, 30130, 30096]): (45629, 45592, 45606, 45618),\r\n    frozenset([30058, 29982, 30155, 30127, 30100]): (45628, 45593, 45606, 45617),\r\n    frozenset([30058, 29982, 30155, 30127, 30102]): (45628, 45593, 45606, 45616),\r\n    frozenset([30058, 29982, 30155, 30127, 30098]): (45628, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30155, 30127, 30096]): (45628, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30155, 30128, 30100]): (45628, 45593, 45606, 45617),\r\n    frozenset([30058, 29982, 30155, 30128, 30102]): (45628, 45593, 45606, 45616),\r\n    frozenset([30058, 29982, 30155, 30128, 30098]): (45628, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30155, 30128, 30096]): (45628, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30155, 30129, 30100]): (45628, 45593, 45606, 45617),\r\n    frozenset([30058, 29982, 30155, 30129, 30102]): (45628, 45593, 45606, 45616),\r\n    frozenset([30058, 29982, 30155, 30129, 30098]): (45628, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30155, 30129, 30096]): (45628, 45593, 45606, 45618),\r\n    frozenset([30058, 29982, 30155, 30130, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30058, 29982, 30155, 30130, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30058, 29982, 30155, 30130, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30058, 29982, 30155, 30130, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30060, 29979, 30149, 30127, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30060, 29979, 30149, 30127, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30060, 29979, 30149, 30127, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30149, 30127, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30149, 30128, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30060, 29979, 30149, 30128, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30060, 29979, 30149, 30128, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30149, 30128, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30149, 30129, 30100]): (45629, 45593, 45605, 45617),\r\n    frozenset([30060, 29979, 30149, 30129, 30102]): (45629, 45593, 45605, 45616),\r\n    frozenset([30060, 29979, 30149, 30129, 30098]): (45629, 45593, 45605, 45618),\r\n    frozenset([30060, 29979, 30149, 30129, 30096]): (45629, 45593, 45605, 45618),\r\n    frozenset([30060, 29979, 30149, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30060, 29979, 30149, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30060, 29979, 30149, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29979, 30149, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29979, 30151, 30127, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30060, 29979, 30151, 30127, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30060, 29979, 30151, 30127, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30151, 30127, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30151, 30128, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30060, 29979, 30151, 30128, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30060, 29979, 30151, 30128, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30151, 30128, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30151, 30129, 30100]): (45629, 45593, 45605, 45617),\r\n    frozenset([30060, 29979, 30151, 30129, 30102]): (45629, 45593, 45605, 45616),\r\n    frozenset([30060, 29979, 30151, 30129, 30098]): (45629, 45593, 45605, 45618),\r\n    frozenset([30060, 29979, 30151, 30129, 30096]): (45629, 45593, 45605, 45618),\r\n    frozenset([30060, 29979, 30151, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30060, 29979, 30151, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30060, 29979, 30151, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29979, 30151, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29979, 30153, 30127, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30060, 29979, 30153, 30127, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30060, 29979, 30153, 30127, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30153, 30127, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30153, 30128, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30060, 29979, 30153, 30128, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30060, 29979, 30153, 30128, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30153, 30128, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30153, 30129, 30100]): (45629, 45593, 45605, 45617),\r\n    frozenset([30060, 29979, 30153, 30129, 30102]): (45629, 45593, 45605, 45616),\r\n    frozenset([30060, 29979, 30153, 30129, 30098]): (45629, 45593, 45605, 45618),\r\n    frozenset([30060, 29979, 30153, 30129, 30096]): (45629, 45593, 45605, 45618),\r\n    frozenset([30060, 29979, 30153, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30060, 29979, 30153, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30060, 29979, 30153, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29979, 30153, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29979, 30155, 30127, 30100]): (45628, 45593, 45604, 45617),\r\n    frozenset([30060, 29979, 30155, 30127, 30102]): (45628, 45593, 45604, 45616),\r\n    frozenset([30060, 29979, 30155, 30127, 30098]): (45628, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30155, 30127, 30096]): (45628, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30155, 30128, 30100]): (45628, 45593, 45604, 45617),\r\n    frozenset([30060, 29979, 30155, 30128, 30102]): (45628, 45593, 45604, 45616),\r\n    frozenset([30060, 29979, 30155, 30128, 30098]): (45628, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30155, 30128, 30096]): (45628, 45593, 45604, 45618),\r\n    frozenset([30060, 29979, 30155, 30129, 30100]): (45628, 45593, 45605, 45617),\r\n    frozenset([30060, 29979, 30155, 30129, 30102]): (45628, 45593, 45605, 45616),\r\n    frozenset([30060, 29979, 30155, 30129, 30098]): (45628, 45593, 45605, 45618),\r\n    frozenset([30060, 29979, 30155, 30129, 30096]): (45628, 45593, 45605, 45618),\r\n    frozenset([30060, 29979, 30155, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30060, 29979, 30155, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30060, 29979, 30155, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30060, 29979, 30155, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30060, 29980, 30149, 30127, 30100]): (45629, 45594, 45604, 45617),\r\n    frozenset([30060, 29980, 30149, 30127, 30102]): (45629, 45594, 45604, 45616),\r\n    frozenset([30060, 29980, 30149, 30127, 30098]): (45629, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30149, 30127, 30096]): (45629, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30149, 30128, 30100]): (45629, 45594, 45604, 45617),\r\n    frozenset([30060, 29980, 30149, 30128, 30102]): (45629, 45594, 45604, 45616),\r\n    frozenset([30060, 29980, 30149, 30128, 30098]): (45629, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30149, 30128, 30096]): (45629, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30149, 30129, 30100]): (45629, 45594, 45605, 45617),\r\n    frozenset([30060, 29980, 30149, 30129, 30102]): (45629, 45594, 45605, 45616),\r\n    frozenset([30060, 29980, 30149, 30129, 30098]): (45629, 45594, 45605, 45618),\r\n    frozenset([30060, 29980, 30149, 30129, 30096]): (45629, 45594, 45605, 45618),\r\n    frozenset([30060, 29980, 30149, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30060, 29980, 30149, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30060, 29980, 30149, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29980, 30149, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29980, 30151, 30127, 30100]): (45629, 45594, 45604, 45617),\r\n    frozenset([30060, 29980, 30151, 30127, 30102]): (45629, 45594, 45604, 45616),\r\n    frozenset([30060, 29980, 30151, 30127, 30098]): (45629, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30151, 30127, 30096]): (45629, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30151, 30128, 30100]): (45629, 45594, 45604, 45617),\r\n    frozenset([30060, 29980, 30151, 30128, 30102]): (45629, 45594, 45604, 45616),\r\n    frozenset([30060, 29980, 30151, 30128, 30098]): (45629, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30151, 30128, 30096]): (45629, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30151, 30129, 30100]): (45629, 45594, 45605, 45617),\r\n    frozenset([30060, 29980, 30151, 30129, 30102]): (45629, 45594, 45605, 45616),\r\n    frozenset([30060, 29980, 30151, 30129, 30098]): (45629, 45594, 45605, 45618),\r\n    frozenset([30060, 29980, 30151, 30129, 30096]): (45629, 45594, 45605, 45618),\r\n    frozenset([30060, 29980, 30151, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30060, 29980, 30151, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30060, 29980, 30151, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29980, 30151, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29980, 30153, 30127, 30100]): (45629, 45594, 45604, 45617),\r\n    frozenset([30060, 29980, 30153, 30127, 30102]): (45629, 45594, 45604, 45616),\r\n    frozenset([30060, 29980, 30153, 30127, 30098]): (45629, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30153, 30127, 30096]): (45629, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30153, 30128, 30100]): (45629, 45594, 45604, 45617),\r\n    frozenset([30060, 29980, 30153, 30128, 30102]): (45629, 45594, 45604, 45616),\r\n    frozenset([30060, 29980, 30153, 30128, 30098]): (45629, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30153, 30128, 30096]): (45629, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30153, 30129, 30100]): (45629, 45594, 45605, 45617),\r\n    frozenset([30060, 29980, 30153, 30129, 30102]): (45629, 45594, 45605, 45616),\r\n    frozenset([30060, 29980, 30153, 30129, 30098]): (45629, 45594, 45605, 45618),\r\n    frozenset([30060, 29980, 30153, 30129, 30096]): (45629, 45594, 45605, 45618),\r\n    frozenset([30060, 29980, 30153, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30060, 29980, 30153, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30060, 29980, 30153, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29980, 30153, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29980, 30155, 30127, 30100]): (45628, 45594, 45604, 45617),\r\n    frozenset([30060, 29980, 30155, 30127, 30102]): (45628, 45594, 45604, 45616),\r\n    frozenset([30060, 29980, 30155, 30127, 30098]): (45628, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30155, 30127, 30096]): (45628, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30155, 30128, 30100]): (45628, 45594, 45604, 45617),\r\n    frozenset([30060, 29980, 30155, 30128, 30102]): (45628, 45594, 45604, 45616),\r\n    frozenset([30060, 29980, 30155, 30128, 30098]): (45628, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30155, 30128, 30096]): (45628, 45594, 45604, 45618),\r\n    frozenset([30060, 29980, 30155, 30129, 30100]): (45628, 45594, 45605, 45617),\r\n    frozenset([30060, 29980, 30155, 30129, 30102]): (45628, 45594, 45605, 45616),\r\n    frozenset([30060, 29980, 30155, 30129, 30098]): (45628, 45594, 45605, 45618),\r\n    frozenset([30060, 29980, 30155, 30129, 30096]): (45628, 45594, 45605, 45618),\r\n    frozenset([30060, 29980, 30155, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30060, 29980, 30155, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30060, 29980, 30155, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30060, 29980, 30155, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30060, 29981, 30149, 30127, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30060, 29981, 30149, 30127, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30060, 29981, 30149, 30127, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30149, 30127, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30149, 30128, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30060, 29981, 30149, 30128, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30060, 29981, 30149, 30128, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30149, 30128, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30149, 30129, 30100]): (45629, 45593, 45605, 45617),\r\n    frozenset([30060, 29981, 30149, 30129, 30102]): (45629, 45593, 45605, 45616),\r\n    frozenset([30060, 29981, 30149, 30129, 30098]): (45629, 45593, 45605, 45618),\r\n    frozenset([30060, 29981, 30149, 30129, 30096]): (45629, 45593, 45605, 45618),\r\n    frozenset([30060, 29981, 30149, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30060, 29981, 30149, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30060, 29981, 30149, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29981, 30149, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29981, 30151, 30127, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30060, 29981, 30151, 30127, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30060, 29981, 30151, 30127, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30151, 30127, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30151, 30128, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30060, 29981, 30151, 30128, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30060, 29981, 30151, 30128, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30151, 30128, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30151, 30129, 30100]): (45629, 45593, 45605, 45617),\r\n    frozenset([30060, 29981, 30151, 30129, 30102]): (45629, 45593, 45605, 45616),\r\n    frozenset([30060, 29981, 30151, 30129, 30098]): (45629, 45593, 45605, 45618),\r\n    frozenset([30060, 29981, 30151, 30129, 30096]): (45629, 45593, 45605, 45618),\r\n    frozenset([30060, 29981, 30151, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30060, 29981, 30151, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30060, 29981, 30151, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29981, 30151, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29981, 30153, 30127, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30060, 29981, 30153, 30127, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30060, 29981, 30153, 30127, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30153, 30127, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30153, 30128, 30100]): (45629, 45593, 45604, 45617),\r\n    frozenset([30060, 29981, 30153, 30128, 30102]): (45629, 45593, 45604, 45616),\r\n    frozenset([30060, 29981, 30153, 30128, 30098]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30153, 30128, 30096]): (45629, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30153, 30129, 30100]): (45629, 45593, 45605, 45617),\r\n    frozenset([30060, 29981, 30153, 30129, 30102]): (45629, 45593, 45605, 45616),\r\n    frozenset([30060, 29981, 30153, 30129, 30098]): (45629, 45593, 45605, 45618),\r\n    frozenset([30060, 29981, 30153, 30129, 30096]): (45629, 45593, 45605, 45618),\r\n    frozenset([30060, 29981, 30153, 30130, 30100]): (45629, 45592, 45604, 45617),\r\n    frozenset([30060, 29981, 30153, 30130, 30102]): (45629, 45592, 45604, 45616),\r\n    frozenset([30060, 29981, 30153, 30130, 30098]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29981, 30153, 30130, 30096]): (45629, 45592, 45604, 45618),\r\n    frozenset([30060, 29981, 30155, 30127, 30100]): (45628, 45593, 45604, 45617),\r\n    frozenset([30060, 29981, 30155, 30127, 30102]): (45628, 45593, 45604, 45616),\r\n    frozenset([30060, 29981, 30155, 30127, 30098]): (45628, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30155, 30127, 30096]): (45628, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30155, 30128, 30100]): (45628, 45593, 45604, 45617),\r\n    frozenset([30060, 29981, 30155, 30128, 30102]): (45628, 45593, 45604, 45616),\r\n    frozenset([30060, 29981, 30155, 30128, 30098]): (45628, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30155, 30128, 30096]): (45628, 45593, 45604, 45618),\r\n    frozenset([30060, 29981, 30155, 30129, 30100]): (45628, 45593, 45605, 45617),\r\n    frozenset([30060, 29981, 30155, 30129, 30102]): (45628, 45593, 45605, 45616),\r\n    frozenset([30060, 29981, 30155, 30129, 30098]): (45628, 45593, 45605, 45618),\r\n    frozenset([30060, 29981, 30155, 30129, 30096]): (45628, 45593, 45605, 45618),\r\n    frozenset([30060, 29981, 30155, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30060, 29981, 30155, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30060, 29981, 30155, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30060, 29981, 30155, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30060, 29982, 30149, 30127, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30060, 29982, 30149, 30127, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30060, 29982, 30149, 30127, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30149, 30127, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30149, 30128, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30060, 29982, 30149, 30128, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30060, 29982, 30149, 30128, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30149, 30128, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30149, 30129, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30060, 29982, 30149, 30129, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30060, 29982, 30149, 30129, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30149, 30129, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30149, 30130, 30100]): (45629, 45592, 45606, 45617),\r\n    frozenset([30060, 29982, 30149, 30130, 30102]): (45629, 45592, 45606, 45616),\r\n    frozenset([30060, 29982, 30149, 30130, 30098]): (45629, 45592, 45606, 45618),\r\n    frozenset([30060, 29982, 30149, 30130, 30096]): (45629, 45592, 45606, 45618),\r\n    frozenset([30060, 29982, 30151, 30127, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30060, 29982, 30151, 30127, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30060, 29982, 30151, 30127, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30151, 30127, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30151, 30128, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30060, 29982, 30151, 30128, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30060, 29982, 30151, 30128, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30151, 30128, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30151, 30129, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30060, 29982, 30151, 30129, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30060, 29982, 30151, 30129, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30151, 30129, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30151, 30130, 30100]): (45629, 45592, 45606, 45617),\r\n    frozenset([30060, 29982, 30151, 30130, 30102]): (45629, 45592, 45606, 45616),\r\n    frozenset([30060, 29982, 30151, 30130, 30098]): (45629, 45592, 45606, 45618),\r\n    frozenset([30060, 29982, 30151, 30130, 30096]): (45629, 45592, 45606, 45618),\r\n    frozenset([30060, 29982, 30153, 30127, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30060, 29982, 30153, 30127, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30060, 29982, 30153, 30127, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30153, 30127, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30153, 30128, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30060, 29982, 30153, 30128, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30060, 29982, 30153, 30128, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30153, 30128, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30153, 30129, 30100]): (45629, 45593, 45606, 45617),\r\n    frozenset([30060, 29982, 30153, 30129, 30102]): (45629, 45593, 45606, 45616),\r\n    frozenset([30060, 29982, 30153, 30129, 30098]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30153, 30129, 30096]): (45629, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30153, 30130, 30100]): (45629, 45592, 45606, 45617),\r\n    frozenset([30060, 29982, 30153, 30130, 30102]): (45629, 45592, 45606, 45616),\r\n    frozenset([30060, 29982, 30153, 30130, 30098]): (45629, 45592, 45606, 45618),\r\n    frozenset([30060, 29982, 30153, 30130, 30096]): (45629, 45592, 45606, 45618),\r\n    frozenset([30060, 29982, 30155, 30127, 30100]): (45628, 45593, 45606, 45617),\r\n    frozenset([30060, 29982, 30155, 30127, 30102]): (45628, 45593, 45606, 45616),\r\n    frozenset([30060, 29982, 30155, 30127, 30098]): (45628, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30155, 30127, 30096]): (45628, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30155, 30128, 30100]): (45628, 45593, 45606, 45617),\r\n    frozenset([30060, 29982, 30155, 30128, 30102]): (45628, 45593, 45606, 45616),\r\n    frozenset([30060, 29982, 30155, 30128, 30098]): (45628, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30155, 30128, 30096]): (45628, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30155, 30129, 30100]): (45628, 45593, 45606, 45617),\r\n    frozenset([30060, 29982, 30155, 30129, 30102]): (45628, 45593, 45606, 45616),\r\n    frozenset([30060, 29982, 30155, 30129, 30098]): (45628, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30155, 30129, 30096]): (45628, 45593, 45606, 45618),\r\n    frozenset([30060, 29982, 30155, 30130, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30060, 29982, 30155, 30130, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30060, 29982, 30155, 30130, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30060, 29982, 30155, 30130, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29979, 30149, 30127, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29979, 30149, 30127, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29979, 30149, 30127, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30149, 30127, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30149, 30128, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29979, 30149, 30128, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29979, 30149, 30128, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30149, 30128, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30149, 30129, 30100]): (45628, 45592, 45605, 45617),\r\n    frozenset([30062, 29979, 30149, 30129, 30102]): (45628, 45592, 45605, 45616),\r\n    frozenset([30062, 29979, 30149, 30129, 30098]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29979, 30149, 30129, 30096]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29979, 30149, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29979, 30149, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29979, 30149, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30149, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30151, 30127, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29979, 30151, 30127, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29979, 30151, 30127, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30151, 30127, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30151, 30128, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29979, 30151, 30128, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29979, 30151, 30128, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30151, 30128, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30151, 30129, 30100]): (45628, 45592, 45605, 45617),\r\n    frozenset([30062, 29979, 30151, 30129, 30102]): (45628, 45592, 45605, 45616),\r\n    frozenset([30062, 29979, 30151, 30129, 30098]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29979, 30151, 30129, 30096]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29979, 30151, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29979, 30151, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29979, 30151, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30151, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30153, 30127, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29979, 30153, 30127, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29979, 30153, 30127, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30153, 30127, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30153, 30128, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29979, 30153, 30128, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29979, 30153, 30128, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30153, 30128, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30153, 30129, 30100]): (45628, 45592, 45605, 45617),\r\n    frozenset([30062, 29979, 30153, 30129, 30102]): (45628, 45592, 45605, 45616),\r\n    frozenset([30062, 29979, 30153, 30129, 30098]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29979, 30153, 30129, 30096]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29979, 30153, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29979, 30153, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29979, 30153, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30153, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30155, 30127, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29979, 30155, 30127, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29979, 30155, 30127, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30155, 30127, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30155, 30128, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29979, 30155, 30128, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29979, 30155, 30128, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30155, 30128, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30155, 30129, 30100]): (45628, 45592, 45605, 45617),\r\n    frozenset([30062, 29979, 30155, 30129, 30102]): (45628, 45592, 45605, 45616),\r\n    frozenset([30062, 29979, 30155, 30129, 30098]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29979, 30155, 30129, 30096]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29979, 30155, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29979, 30155, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29979, 30155, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29979, 30155, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30149, 30127, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29980, 30149, 30127, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29980, 30149, 30127, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30149, 30127, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30149, 30128, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29980, 30149, 30128, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29980, 30149, 30128, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30149, 30128, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30149, 30129, 30100]): (45628, 45592, 45605, 45617),\r\n    frozenset([30062, 29980, 30149, 30129, 30102]): (45628, 45592, 45605, 45616),\r\n    frozenset([30062, 29980, 30149, 30129, 30098]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29980, 30149, 30129, 30096]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29980, 30149, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29980, 30149, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29980, 30149, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30149, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30151, 30127, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29980, 30151, 30127, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29980, 30151, 30127, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30151, 30127, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30151, 30128, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29980, 30151, 30128, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29980, 30151, 30128, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30151, 30128, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30151, 30129, 30100]): (45628, 45592, 45605, 45617),\r\n    frozenset([30062, 29980, 30151, 30129, 30102]): (45628, 45592, 45605, 45616),\r\n    frozenset([30062, 29980, 30151, 30129, 30098]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29980, 30151, 30129, 30096]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29980, 30151, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29980, 30151, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29980, 30151, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30151, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30153, 30127, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29980, 30153, 30127, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29980, 30153, 30127, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30153, 30127, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30153, 30128, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29980, 30153, 30128, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29980, 30153, 30128, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30153, 30128, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30153, 30129, 30100]): (45628, 45592, 45605, 45617),\r\n    frozenset([30062, 29980, 30153, 30129, 30102]): (45628, 45592, 45605, 45616),\r\n    frozenset([30062, 29980, 30153, 30129, 30098]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29980, 30153, 30129, 30096]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29980, 30153, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29980, 30153, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29980, 30153, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30153, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30155, 30127, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29980, 30155, 30127, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29980, 30155, 30127, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30155, 30127, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30155, 30128, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29980, 30155, 30128, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29980, 30155, 30128, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30155, 30128, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30155, 30129, 30100]): (45628, 45592, 45605, 45617),\r\n    frozenset([30062, 29980, 30155, 30129, 30102]): (45628, 45592, 45605, 45616),\r\n    frozenset([30062, 29980, 30155, 30129, 30098]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29980, 30155, 30129, 30096]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29980, 30155, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29980, 30155, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29980, 30155, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29980, 30155, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30149, 30127, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29981, 30149, 30127, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29981, 30149, 30127, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30149, 30127, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30149, 30128, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29981, 30149, 30128, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29981, 30149, 30128, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30149, 30128, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30149, 30129, 30100]): (45628, 45592, 45605, 45617),\r\n    frozenset([30062, 29981, 30149, 30129, 30102]): (45628, 45592, 45605, 45616),\r\n    frozenset([30062, 29981, 30149, 30129, 30098]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29981, 30149, 30129, 30096]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29981, 30149, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29981, 30149, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29981, 30149, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30149, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30151, 30127, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29981, 30151, 30127, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29981, 30151, 30127, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30151, 30127, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30151, 30128, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29981, 30151, 30128, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29981, 30151, 30128, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30151, 30128, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30151, 30129, 30100]): (45628, 45592, 45605, 45617),\r\n    frozenset([30062, 29981, 30151, 30129, 30102]): (45628, 45592, 45605, 45616),\r\n    frozenset([30062, 29981, 30151, 30129, 30098]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29981, 30151, 30129, 30096]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29981, 30151, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29981, 30151, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29981, 30151, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30151, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30153, 30127, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29981, 30153, 30127, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29981, 30153, 30127, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30153, 30127, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30153, 30128, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29981, 30153, 30128, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29981, 30153, 30128, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30153, 30128, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30153, 30129, 30100]): (45628, 45592, 45605, 45617),\r\n    frozenset([30062, 29981, 30153, 30129, 30102]): (45628, 45592, 45605, 45616),\r\n    frozenset([30062, 29981, 30153, 30129, 30098]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29981, 30153, 30129, 30096]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29981, 30153, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29981, 30153, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29981, 30153, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30153, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30155, 30127, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29981, 30155, 30127, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29981, 30155, 30127, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30155, 30127, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30155, 30128, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29981, 30155, 30128, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29981, 30155, 30128, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30155, 30128, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30155, 30129, 30100]): (45628, 45592, 45605, 45617),\r\n    frozenset([30062, 29981, 30155, 30129, 30102]): (45628, 45592, 45605, 45616),\r\n    frozenset([30062, 29981, 30155, 30129, 30098]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29981, 30155, 30129, 30096]): (45628, 45592, 45605, 45618),\r\n    frozenset([30062, 29981, 30155, 30130, 30100]): (45628, 45592, 45604, 45617),\r\n    frozenset([30062, 29981, 30155, 30130, 30102]): (45628, 45592, 45604, 45616),\r\n    frozenset([30062, 29981, 30155, 30130, 30098]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29981, 30155, 30130, 30096]): (45628, 45592, 45604, 45618),\r\n    frozenset([30062, 29982, 30149, 30127, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30062, 29982, 30149, 30127, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30062, 29982, 30149, 30127, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30149, 30127, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30149, 30128, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30062, 29982, 30149, 30128, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30062, 29982, 30149, 30128, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30149, 30128, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30149, 30129, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30062, 29982, 30149, 30129, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30062, 29982, 30149, 30129, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30149, 30129, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30149, 30130, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30062, 29982, 30149, 30130, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30062, 29982, 30149, 30130, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30149, 30130, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30151, 30127, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30062, 29982, 30151, 30127, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30062, 29982, 30151, 30127, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30151, 30127, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30151, 30128, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30062, 29982, 30151, 30128, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30062, 29982, 30151, 30128, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30151, 30128, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30151, 30129, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30062, 29982, 30151, 30129, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30062, 29982, 30151, 30129, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30151, 30129, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30151, 30130, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30062, 29982, 30151, 30130, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30062, 29982, 30151, 30130, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30151, 30130, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30153, 30127, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30062, 29982, 30153, 30127, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30062, 29982, 30153, 30127, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30153, 30127, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30153, 30128, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30062, 29982, 30153, 30128, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30062, 29982, 30153, 30128, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30153, 30128, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30153, 30129, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30062, 29982, 30153, 30129, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30062, 29982, 30153, 30129, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30153, 30129, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30153, 30130, 30100]): (45628, 45592, 45606, 45617),\r\n    frozenset([30062, 29982, 30153, 30130, 30102]): (45628, 45592, 45606, 45616),\r\n    frozenset([30062, 29982, 30153, 30130, 30098]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30153, 30130, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30062, 29982, 30155, 30127, 30100]): (45628, 45593, 45606, 45617),\r\n    frozenset([30062, 29982, 30155, 30127, 30102]): (45628, 45594, 45606, 45616),\r\n    frozenset([30062, 29982, 30155, 30127, 30098]): (45628, 45595, 45606, 45618),\r\n    frozenset([30062, 29982, 30155, 30127, 30096]): (45628, 45596, 45606, 45618),\r\n    frozenset([30062, 29982, 30155, 30128, 30100]): (45628, 45597, 45606, 45617),\r\n    frozenset([30062, 29982, 30155, 30128, 30102]): (45628, 45598, 45606, 45616),\r\n    frozenset([30062, 29982, 30155, 30128, 30098]): (45628, 45599, 45606, 45618),\r\n    frozenset([30062, 29982, 30155, 30128, 30096]): (45628, 45600, 45606, 45618),\r\n    frozenset([30062, 29982, 30155, 30129, 30100]): (45628, 45601, 45606, 45617),\r\n    frozenset([30062, 29982, 30155, 30129, 30102]): (45628, 45602, 45606, 45616),\r\n    frozenset([30062, 29982, 30155, 30129, 30098]): (45628, 45603, 45606, 45618),\r\n    frozenset([30062, 29982, 30155, 30129, 30096]): (45628, 45604, 45606, 45618),\r\n    frozenset([30062, 29982, 30155, 30130, 30100]): (45628, 45605, 45606, 45617),\r\n    frozenset([30062, 29982, 30155, 30130, 30102]): (45628, 45606, 45606, 45616),\r\n    frozenset([30062, 29982, 30155, 30130, 30098]): (45628, 45607, 45606, 45618),\r\n    frozenset([30062, 29982, 30155, 30130, 30096]): (45628, 45592, 45606, 45618),\r\n    frozenset([30066, 29974, 30159, 30132, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30159, 30132, 30110]): (45633, 45596, 45607, 45621),\r\n    frozenset([30066, 29974, 30159, 30132, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30159, 30132, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29974, 30159, 30133, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30159, 30133, 30110]): (45633, 45596, 45607, 45621),\r\n    frozenset([30066, 29974, 30159, 30133, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30159, 30133, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29974, 30159, 30134, 30106]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29974, 30159, 30134, 30110]): (45633, 45596, 45608, 45621),\r\n    frozenset([30066, 29974, 30159, 30134, 30108]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29974, 30159, 30134, 30112]): (45633, 45596, 45608, 45619),\r\n    frozenset([30066, 29974, 30159, 30135, 30106]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29974, 30159, 30135, 30110]): (45633, 45595, 45607, 45621),\r\n    frozenset([30066, 29974, 30159, 30135, 30108]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29974, 30159, 30135, 30112]): (45633, 45595, 45607, 45619),\r\n    frozenset([30066, 29974, 30161, 30132, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30161, 30132, 30110]): (45633, 45596, 45607, 45621),\r\n    frozenset([30066, 29974, 30161, 30132, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30161, 30132, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29974, 30161, 30133, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30161, 30133, 30110]): (45633, 45596, 45607, 45621),\r\n    frozenset([30066, 29974, 30161, 30133, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30161, 30133, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29974, 30161, 30134, 30106]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29974, 30161, 30134, 30110]): (45633, 45596, 45608, 45621),\r\n    frozenset([30066, 29974, 30161, 30134, 30108]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29974, 30161, 30134, 30112]): (45633, 45596, 45608, 45619),\r\n    frozenset([30066, 29974, 30161, 30135, 30106]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29974, 30161, 30135, 30110]): (45633, 45595, 45607, 45621),\r\n    frozenset([30066, 29974, 30161, 30135, 30108]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29974, 30161, 30135, 30112]): (45633, 45595, 45607, 45619),\r\n    frozenset([30066, 29974, 30163, 30132, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30163, 30132, 30110]): (45633, 45596, 45607, 45621),\r\n    frozenset([30066, 29974, 30163, 30132, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30163, 30132, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29974, 30163, 30133, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30163, 30133, 30110]): (45633, 45596, 45607, 45621),\r\n    frozenset([30066, 29974, 30163, 30133, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30163, 30133, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29974, 30163, 30134, 30106]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29974, 30163, 30134, 30110]): (45633, 45596, 45608, 45621),\r\n    frozenset([30066, 29974, 30163, 30134, 30108]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29974, 30163, 30134, 30112]): (45633, 45596, 45608, 45619),\r\n    frozenset([30066, 29974, 30163, 30135, 30106]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29974, 30163, 30135, 30110]): (45633, 45595, 45607, 45621),\r\n    frozenset([30066, 29974, 30163, 30135, 30108]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29974, 30163, 30135, 30112]): (45633, 45595, 45607, 45619),\r\n    frozenset([30066, 29974, 30165, 30132, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30165, 30132, 30110]): (45633, 45596, 45607, 45621),\r\n    frozenset([30066, 29974, 30165, 30132, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30165, 30132, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29974, 30165, 30133, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30165, 30133, 30110]): (45633, 45596, 45607, 45621),\r\n    frozenset([30066, 29974, 30165, 30133, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29974, 30165, 30133, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29974, 30165, 30134, 30106]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29974, 30165, 30134, 30110]): (45633, 45596, 45608, 45621),\r\n    frozenset([30066, 29974, 30165, 30134, 30108]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29974, 30165, 30134, 30112]): (45633, 45596, 45608, 45619),\r\n    frozenset([30066, 29974, 30165, 30135, 30106]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29974, 30165, 30135, 30110]): (45633, 45595, 45607, 45621),\r\n    frozenset([30066, 29974, 30165, 30135, 30108]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29974, 30165, 30135, 30112]): (45633, 45595, 45607, 45619),\r\n    frozenset([30066, 29975, 30159, 30132, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30159, 30132, 30110]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30159, 30132, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30159, 30132, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29975, 30159, 30133, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30159, 30133, 30110]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30159, 30133, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30159, 30133, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29975, 30159, 30134, 30106]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29975, 30159, 30134, 30110]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29975, 30159, 30134, 30108]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29975, 30159, 30134, 30112]): (45633, 45596, 45608, 45619),\r\n    frozenset([30066, 29975, 30159, 30135, 30106]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29975, 30159, 30135, 30110]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29975, 30159, 30135, 30108]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29975, 30159, 30135, 30112]): (45633, 45595, 45607, 45619),\r\n    frozenset([30066, 29975, 30161, 30132, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30161, 30132, 30110]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30161, 30132, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30161, 30132, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29975, 30161, 30133, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30161, 30133, 30110]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30161, 30133, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30161, 30133, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29975, 30161, 30134, 30106]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29975, 30161, 30134, 30110]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29975, 30161, 30134, 30108]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29975, 30161, 30134, 30112]): (45633, 45596, 45608, 45619),\r\n    frozenset([30066, 29975, 30161, 30135, 30106]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29975, 30161, 30135, 30110]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29975, 30161, 30135, 30108]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29975, 30161, 30135, 30112]): (45633, 45595, 45607, 45619),\r\n    frozenset([30066, 29975, 30163, 30132, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30163, 30132, 30110]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30163, 30132, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30163, 30132, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29975, 30163, 30133, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30163, 30133, 30110]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30163, 30133, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30163, 30133, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29975, 30163, 30134, 30106]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29975, 30163, 30134, 30110]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29975, 30163, 30134, 30108]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29975, 30163, 30134, 30112]): (45633, 45596, 45608, 45619),\r\n    frozenset([30066, 29975, 30163, 30135, 30106]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29975, 30163, 30135, 30110]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29975, 30163, 30135, 30108]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29975, 30163, 30135, 30112]): (45633, 45595, 45607, 45619),\r\n    frozenset([30066, 29975, 30165, 30132, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30165, 30132, 30110]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30165, 30132, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30165, 30132, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29975, 30165, 30133, 30106]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30165, 30133, 30110]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30165, 30133, 30108]): (45633, 45596, 45607, 45620),\r\n    frozenset([30066, 29975, 30165, 30133, 30112]): (45633, 45596, 45607, 45619),\r\n    frozenset([30066, 29975, 30165, 30134, 30106]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29975, 30165, 30134, 30110]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29975, 30165, 30134, 30108]): (45633, 45596, 45608, 45620),\r\n    frozenset([30066, 29975, 30165, 30134, 30112]): (45633, 45596, 45608, 45619),\r\n    frozenset([30066, 29975, 30165, 30135, 30106]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29975, 30165, 30135, 30110]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29975, 30165, 30135, 30108]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29975, 30165, 30135, 30112]): (45633, 45595, 45607, 45619),\r\n    frozenset([30066, 29976, 30159, 30132, 30106]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30159, 30132, 30110]): (45633, 45597, 45607, 45621),\r\n    frozenset([30066, 29976, 30159, 30132, 30108]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30159, 30132, 30112]): (45633, 45597, 45607, 45619),\r\n    frozenset([30066, 29976, 30159, 30133, 30106]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30159, 30133, 30110]): (45633, 45597, 45607, 45621),\r\n    frozenset([30066, 29976, 30159, 30133, 30108]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30159, 30133, 30112]): (45633, 45597, 45607, 45619),\r\n    frozenset([30066, 29976, 30159, 30134, 30106]): (45633, 45597, 45608, 45620),\r\n    frozenset([30066, 29976, 30159, 30134, 30110]): (45633, 45597, 45608, 45621),\r\n    frozenset([30066, 29976, 30159, 30134, 30108]): (45633, 45597, 45608, 45620),\r\n    frozenset([30066, 29976, 30159, 30134, 30112]): (45633, 45597, 45608, 45619),\r\n    frozenset([30066, 29976, 30159, 30135, 30106]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29976, 30159, 30135, 30110]): (45633, 45595, 45607, 45621),\r\n    frozenset([30066, 29976, 30159, 30135, 30108]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29976, 30159, 30135, 30112]): (45633, 45595, 45607, 45619),\r\n    frozenset([30066, 29976, 30161, 30132, 30106]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30161, 30132, 30110]): (45633, 45597, 45607, 45621),\r\n    frozenset([30066, 29976, 30161, 30132, 30108]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30161, 30132, 30112]): (45633, 45597, 45607, 45619),\r\n    frozenset([30066, 29976, 30161, 30133, 30106]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30161, 30133, 30110]): (45633, 45597, 45607, 45621),\r\n    frozenset([30066, 29976, 30161, 30133, 30108]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30161, 30133, 30112]): (45633, 45597, 45607, 45619),\r\n    frozenset([30066, 29976, 30161, 30134, 30106]): (45633, 45597, 45608, 45620),\r\n    frozenset([30066, 29976, 30161, 30134, 30110]): (45633, 45597, 45608, 45621),\r\n    frozenset([30066, 29976, 30161, 30134, 30108]): (45633, 45597, 45608, 45620),\r\n    frozenset([30066, 29976, 30161, 30134, 30112]): (45633, 45597, 45608, 45619),\r\n    frozenset([30066, 29976, 30161, 30135, 30106]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29976, 30161, 30135, 30110]): (45633, 45595, 45607, 45621),\r\n    frozenset([30066, 29976, 30161, 30135, 30108]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29976, 30161, 30135, 30112]): (45633, 45595, 45607, 45619),\r\n    frozenset([30066, 29976, 30163, 30132, 30106]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30163, 30132, 30110]): (45633, 45597, 45607, 45621),\r\n    frozenset([30066, 29976, 30163, 30132, 30108]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30163, 30132, 30112]): (45633, 45597, 45607, 45619),\r\n    frozenset([30066, 29976, 30163, 30133, 30106]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30163, 30133, 30110]): (45633, 45597, 45607, 45621),\r\n    frozenset([30066, 29976, 30163, 30133, 30108]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30163, 30133, 30112]): (45633, 45597, 45607, 45619),\r\n    frozenset([30066, 29976, 30163, 30134, 30106]): (45633, 45597, 45608, 45620),\r\n    frozenset([30066, 29976, 30163, 30134, 30110]): (45633, 45597, 45608, 45621),\r\n    frozenset([30066, 29976, 30163, 30134, 30108]): (45633, 45597, 45608, 45620),\r\n    frozenset([30066, 29976, 30163, 30134, 30112]): (45633, 45597, 45608, 45619),\r\n    frozenset([30066, 29976, 30163, 30135, 30106]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29976, 30163, 30135, 30110]): (45633, 45595, 45607, 45621),\r\n    frozenset([30066, 29976, 30163, 30135, 30108]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29976, 30163, 30135, 30112]): (45633, 45595, 45607, 45619),\r\n    frozenset([30066, 29976, 30165, 30132, 30106]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30165, 30132, 30110]): (45633, 45597, 45607, 45621),\r\n    frozenset([30066, 29976, 30165, 30132, 30108]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30165, 30132, 30112]): (45633, 45597, 45607, 45619),\r\n    frozenset([30066, 29976, 30165, 30133, 30106]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30165, 30133, 30110]): (45633, 45597, 45607, 45621),\r\n    frozenset([30066, 29976, 30165, 30133, 30108]): (45633, 45597, 45607, 45620),\r\n    frozenset([30066, 29976, 30165, 30133, 30112]): (45633, 45597, 45607, 45619),\r\n    frozenset([30066, 29976, 30165, 30134, 30106]): (45633, 45597, 45608, 45620),\r\n    frozenset([30066, 29976, 30165, 30134, 30110]): (45633, 45597, 45608, 45621),\r\n    frozenset([30066, 29976, 30165, 30134, 30108]): (45633, 45597, 45608, 45620),\r\n    frozenset([30066, 29976, 30165, 30134, 30112]): (45633, 45597, 45608, 45619),\r\n    frozenset([30066, 29976, 30165, 30135, 30106]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29976, 30165, 30135, 30110]): (45633, 45595, 45607, 45621),\r\n    frozenset([30066, 29976, 30165, 30135, 30108]): (45633, 45595, 45607, 45620),\r\n    frozenset([30066, 29976, 30165, 30135, 30112]): (45633, 45595, 45607, 45619),\r\n    frozenset([30066, 29977, 30159, 30132, 30106]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30159, 30132, 30110]): (45633, 45596, 45609, 45621),\r\n    frozenset([30066, 29977, 30159, 30132, 30108]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30159, 30132, 30112]): (45633, 45596, 45609, 45619),\r\n    frozenset([30066, 29977, 30159, 30133, 30106]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30159, 30133, 30110]): (45633, 45596, 45609, 45621),\r\n    frozenset([30066, 29977, 30159, 30133, 30108]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30159, 30133, 30112]): (45633, 45596, 45609, 45619),\r\n    frozenset([30066, 29977, 30159, 30134, 30106]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30159, 30134, 30110]): (45633, 45596, 45609, 45621),\r\n    frozenset([30066, 29977, 30159, 30134, 30108]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30159, 30134, 30112]): (45633, 45596, 45609, 45619),\r\n    frozenset([30066, 29977, 30159, 30135, 30106]): (45633, 45595, 45609, 45620),\r\n    frozenset([30066, 29977, 30159, 30135, 30110]): (45633, 45595, 45609, 45621),\r\n    frozenset([30066, 29977, 30159, 30135, 30108]): (45633, 45595, 45609, 45620),\r\n    frozenset([30066, 29977, 30159, 30135, 30112]): (45633, 45595, 45609, 45619),\r\n    frozenset([30066, 29977, 30161, 30132, 30106]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30161, 30132, 30110]): (45633, 45596, 45609, 45621),\r\n    frozenset([30066, 29977, 30161, 30132, 30108]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30161, 30132, 30112]): (45633, 45596, 45609, 45619),\r\n    frozenset([30066, 29977, 30161, 30133, 30106]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30161, 30133, 30110]): (45633, 45596, 45609, 45621),\r\n    frozenset([30066, 29977, 30161, 30133, 30108]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30161, 30133, 30112]): (45633, 45596, 45609, 45619),\r\n    frozenset([30066, 29977, 30161, 30134, 30106]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30161, 30134, 30110]): (45633, 45596, 45609, 45621),\r\n    frozenset([30066, 29977, 30161, 30134, 30108]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30161, 30134, 30112]): (45633, 45596, 45609, 45619),\r\n    frozenset([30066, 29977, 30161, 30135, 30106]): (45633, 45595, 45609, 45620),\r\n    frozenset([30066, 29977, 30161, 30135, 30110]): (45633, 45595, 45609, 45621),\r\n    frozenset([30066, 29977, 30161, 30135, 30108]): (45633, 45595, 45609, 45620),\r\n    frozenset([30066, 29977, 30161, 30135, 30112]): (45633, 45595, 45609, 45619),\r\n    frozenset([30066, 29977, 30163, 30132, 30106]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30163, 30132, 30110]): (45633, 45596, 45609, 45621),\r\n    frozenset([30066, 29977, 30163, 30132, 30108]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30163, 30132, 30112]): (45633, 45596, 45609, 45619),\r\n    frozenset([30066, 29977, 30163, 30133, 30106]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30163, 30133, 30110]): (45633, 45596, 45609, 45621),\r\n    frozenset([30066, 29977, 30163, 30133, 30108]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30163, 30133, 30112]): (45633, 45596, 45609, 45619),\r\n    frozenset([30066, 29977, 30163, 30134, 30106]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30163, 30134, 30110]): (45633, 45596, 45609, 45621),\r\n    frozenset([30066, 29977, 30163, 30134, 30108]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30163, 30134, 30112]): (45633, 45596, 45609, 45619),\r\n    frozenset([30066, 29977, 30163, 30135, 30106]): (45633, 45595, 45609, 45620),\r\n    frozenset([30066, 29977, 30163, 30135, 30110]): (45633, 45595, 45609, 45621),\r\n    frozenset([30066, 29977, 30163, 30135, 30108]): (45633, 45595, 45609, 45620),\r\n    frozenset([30066, 29977, 30163, 30135, 30112]): (45633, 45595, 45609, 45619),\r\n    frozenset([30066, 29977, 30165, 30132, 30106]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30165, 30132, 30110]): (45633, 45596, 45609, 45621),\r\n    frozenset([30066, 29977, 30165, 30132, 30108]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30165, 30132, 30112]): (45633, 45596, 45609, 45619),\r\n    frozenset([30066, 29977, 30165, 30133, 30106]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30165, 30133, 30110]): (45633, 45596, 45609, 45621),\r\n    frozenset([30066, 29977, 30165, 30133, 30108]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30165, 30133, 30112]): (45633, 45596, 45609, 45619),\r\n    frozenset([30066, 29977, 30165, 30134, 30106]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30165, 30134, 30110]): (45633, 45596, 45609, 45621),\r\n    frozenset([30066, 29977, 30165, 30134, 30108]): (45633, 45596, 45609, 45620),\r\n    frozenset([30066, 29977, 30165, 30134, 30112]): (45633, 45596, 45609, 45619),\r\n    frozenset([30066, 29977, 30165, 30135, 30106]): (45633, 45595, 45609, 45620),\r\n    frozenset([30066, 29977, 30165, 30135, 30110]): (45633, 45595, 45609, 45621),\r\n    frozenset([30066, 29977, 30165, 30135, 30108]): (45633, 45595, 45609, 45620),\r\n    frozenset([30066, 29977, 30165, 30135, 30112]): (45633, 45595, 45609, 45619),\r\n    frozenset([30068, 29974, 30159, 30132, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30159, 30132, 30110]): (45632, 45596, 45607, 45621),\r\n    frozenset([30068, 29974, 30159, 30132, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30159, 30132, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30068, 29974, 30159, 30133, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30159, 30133, 30110]): (45632, 45596, 45607, 45621),\r\n    frozenset([30068, 29974, 30159, 30133, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30159, 30133, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30068, 29974, 30159, 30134, 30106]): (45631, 45596, 45608, 45620),\r\n    frozenset([30068, 29974, 30159, 30134, 30110]): (45632, 45596, 45608, 45621),\r\n    frozenset([30068, 29974, 30159, 30134, 30108]): (45631, 45596, 45608, 45620),\r\n    frozenset([30068, 29974, 30159, 30134, 30112]): (45632, 45596, 45608, 45619),\r\n    frozenset([30068, 29974, 30159, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29974, 30159, 30135, 30110]): (45632, 45595, 45607, 45621),\r\n    frozenset([30068, 29974, 30159, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29974, 30159, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30068, 29974, 30161, 30132, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30161, 30132, 30110]): (45632, 45596, 45607, 45621),\r\n    frozenset([30068, 29974, 30161, 30132, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30161, 30132, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30068, 29974, 30161, 30133, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30161, 30133, 30110]): (45632, 45596, 45607, 45621),\r\n    frozenset([30068, 29974, 30161, 30133, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30161, 30133, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30068, 29974, 30161, 30134, 30106]): (45631, 45596, 45608, 45620),\r\n    frozenset([30068, 29974, 30161, 30134, 30110]): (45632, 45596, 45608, 45621),\r\n    frozenset([30068, 29974, 30161, 30134, 30108]): (45631, 45596, 45608, 45620),\r\n    frozenset([30068, 29974, 30161, 30134, 30112]): (45632, 45596, 45608, 45619),\r\n    frozenset([30068, 29974, 30161, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29974, 30161, 30135, 30110]): (45632, 45595, 45607, 45621),\r\n    frozenset([30068, 29974, 30161, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29974, 30161, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30068, 29974, 30163, 30132, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30163, 30132, 30110]): (45632, 45596, 45607, 45621),\r\n    frozenset([30068, 29974, 30163, 30132, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30163, 30132, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30068, 29974, 30163, 30133, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30163, 30133, 30110]): (45632, 45596, 45607, 45621),\r\n    frozenset([30068, 29974, 30163, 30133, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30163, 30133, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30068, 29974, 30163, 30134, 30106]): (45631, 45596, 45608, 45620),\r\n    frozenset([30068, 29974, 30163, 30134, 30110]): (45632, 45596, 45608, 45621),\r\n    frozenset([30068, 29974, 30163, 30134, 30108]): (45631, 45596, 45608, 45620),\r\n    frozenset([30068, 29974, 30163, 30134, 30112]): (45632, 45596, 45608, 45619),\r\n    frozenset([30068, 29974, 30163, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29974, 30163, 30135, 30110]): (45632, 45595, 45607, 45621),\r\n    frozenset([30068, 29974, 30163, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29974, 30163, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30068, 29974, 30165, 30132, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30165, 30132, 30110]): (45631, 45596, 45607, 45621),\r\n    frozenset([30068, 29974, 30165, 30132, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30165, 30132, 30112]): (45631, 45596, 45607, 45619),\r\n    frozenset([30068, 29974, 30165, 30133, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30165, 30133, 30110]): (45631, 45596, 45607, 45621),\r\n    frozenset([30068, 29974, 30165, 30133, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29974, 30165, 30133, 30112]): (45631, 45596, 45607, 45619),\r\n    frozenset([30068, 29974, 30165, 30134, 30106]): (45631, 45596, 45608, 45620),\r\n    frozenset([30068, 29974, 30165, 30134, 30110]): (45631, 45596, 45608, 45621),\r\n    frozenset([30068, 29974, 30165, 30134, 30108]): (45631, 45596, 45608, 45620),\r\n    frozenset([30068, 29974, 30165, 30134, 30112]): (45631, 45596, 45608, 45619),\r\n    frozenset([30068, 29974, 30165, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29974, 30165, 30135, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30068, 29974, 30165, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29974, 30165, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30068, 29975, 30159, 30132, 30106]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30159, 30132, 30110]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30159, 30132, 30108]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30159, 30132, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30068, 29975, 30159, 30133, 30106]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30159, 30133, 30110]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30159, 30133, 30108]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30159, 30133, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30068, 29975, 30159, 30134, 30106]): (45632, 45596, 45608, 45620),\r\n    frozenset([30068, 29975, 30159, 30134, 30110]): (45632, 45596, 45608, 45620),\r\n    frozenset([30068, 29975, 30159, 30134, 30108]): (45632, 45596, 45608, 45620),\r\n    frozenset([30068, 29975, 30159, 30134, 30112]): (45632, 45596, 45608, 45619),\r\n    frozenset([30068, 29975, 30159, 30135, 30106]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29975, 30159, 30135, 30110]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29975, 30159, 30135, 30108]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29975, 30159, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30068, 29975, 30161, 30132, 30106]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30161, 30132, 30110]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30161, 30132, 30108]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30161, 30132, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30068, 29975, 30161, 30133, 30106]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30161, 30133, 30110]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30161, 30133, 30108]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30161, 30133, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30068, 29975, 30161, 30134, 30106]): (45632, 45596, 45608, 45620),\r\n    frozenset([30068, 29975, 30161, 30134, 30110]): (45632, 45596, 45608, 45620),\r\n    frozenset([30068, 29975, 30161, 30134, 30108]): (45632, 45596, 45608, 45620),\r\n    frozenset([30068, 29975, 30161, 30134, 30112]): (45632, 45596, 45608, 45619),\r\n    frozenset([30068, 29975, 30161, 30135, 30106]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29975, 30161, 30135, 30110]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29975, 30161, 30135, 30108]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29975, 30161, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30068, 29975, 30163, 30132, 30106]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30163, 30132, 30110]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30163, 30132, 30108]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30163, 30132, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30068, 29975, 30163, 30133, 30106]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30163, 30133, 30110]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30163, 30133, 30108]): (45632, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30163, 30133, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30068, 29975, 30163, 30134, 30106]): (45632, 45596, 45608, 45620),\r\n    frozenset([30068, 29975, 30163, 30134, 30110]): (45632, 45596, 45608, 45620),\r\n    frozenset([30068, 29975, 30163, 30134, 30108]): (45632, 45596, 45608, 45620),\r\n    frozenset([30068, 29975, 30163, 30134, 30112]): (45632, 45596, 45608, 45619),\r\n    frozenset([30068, 29975, 30163, 30135, 30106]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29975, 30163, 30135, 30110]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29975, 30163, 30135, 30108]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29975, 30163, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30068, 29975, 30165, 30132, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30165, 30132, 30110]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30165, 30132, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30165, 30132, 30112]): (45631, 45596, 45607, 45619),\r\n    frozenset([30068, 29975, 30165, 30133, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30165, 30133, 30110]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30165, 30133, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30068, 29975, 30165, 30133, 30112]): (45631, 45596, 45607, 45619),\r\n    frozenset([30068, 29975, 30165, 30134, 30106]): (45631, 45596, 45608, 45620),\r\n    frozenset([30068, 29975, 30165, 30134, 30110]): (45631, 45596, 45608, 45620),\r\n    frozenset([30068, 29975, 30165, 30134, 30108]): (45631, 45596, 45608, 45620),\r\n    frozenset([30068, 29975, 30165, 30134, 30112]): (45631, 45596, 45608, 45619),\r\n    frozenset([30068, 29975, 30165, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29975, 30165, 30135, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29975, 30165, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29975, 30165, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30068, 29976, 30159, 30132, 30106]): (45632, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30159, 30132, 30110]): (45632, 45597, 45607, 45621),\r\n    frozenset([30068, 29976, 30159, 30132, 30108]): (45632, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30159, 30132, 30112]): (45632, 45597, 45607, 45619),\r\n    frozenset([30068, 29976, 30159, 30133, 30106]): (45632, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30159, 30133, 30110]): (45632, 45597, 45607, 45621),\r\n    frozenset([30068, 29976, 30159, 30133, 30108]): (45632, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30159, 30133, 30112]): (45632, 45597, 45607, 45619),\r\n    frozenset([30068, 29976, 30159, 30134, 30106]): (45632, 45597, 45608, 45620),\r\n    frozenset([30068, 29976, 30159, 30134, 30110]): (45632, 45597, 45608, 45621),\r\n    frozenset([30068, 29976, 30159, 30134, 30108]): (45632, 45597, 45608, 45620),\r\n    frozenset([30068, 29976, 30159, 30134, 30112]): (45632, 45597, 45608, 45619),\r\n    frozenset([30068, 29976, 30159, 30135, 30106]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29976, 30159, 30135, 30110]): (45632, 45595, 45607, 45621),\r\n    frozenset([30068, 29976, 30159, 30135, 30108]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29976, 30159, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30068, 29976, 30161, 30132, 30106]): (45632, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30161, 30132, 30110]): (45632, 45597, 45607, 45621),\r\n    frozenset([30068, 29976, 30161, 30132, 30108]): (45632, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30161, 30132, 30112]): (45632, 45597, 45607, 45619),\r\n    frozenset([30068, 29976, 30161, 30133, 30106]): (45632, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30161, 30133, 30110]): (45632, 45597, 45607, 45621),\r\n    frozenset([30068, 29976, 30161, 30133, 30108]): (45632, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30161, 30133, 30112]): (45632, 45597, 45607, 45619),\r\n    frozenset([30068, 29976, 30161, 30134, 30106]): (45632, 45597, 45608, 45620),\r\n    frozenset([30068, 29976, 30161, 30134, 30110]): (45632, 45597, 45608, 45621),\r\n    frozenset([30068, 29976, 30161, 30134, 30108]): (45632, 45597, 45608, 45620),\r\n    frozenset([30068, 29976, 30161, 30134, 30112]): (45632, 45597, 45608, 45619),\r\n    frozenset([30068, 29976, 30161, 30135, 30106]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29976, 30161, 30135, 30110]): (45632, 45595, 45607, 45621),\r\n    frozenset([30068, 29976, 30161, 30135, 30108]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29976, 30161, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30068, 29976, 30163, 30132, 30106]): (45632, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30163, 30132, 30110]): (45632, 45597, 45607, 45621),\r\n    frozenset([30068, 29976, 30163, 30132, 30108]): (45632, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30163, 30132, 30112]): (45632, 45597, 45607, 45619),\r\n    frozenset([30068, 29976, 30163, 30133, 30106]): (45632, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30163, 30133, 30110]): (45632, 45597, 45607, 45621),\r\n    frozenset([30068, 29976, 30163, 30133, 30108]): (45632, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30163, 30133, 30112]): (45632, 45597, 45607, 45619),\r\n    frozenset([30068, 29976, 30163, 30134, 30106]): (45632, 45597, 45608, 45620),\r\n    frozenset([30068, 29976, 30163, 30134, 30110]): (45632, 45597, 45608, 45621),\r\n    frozenset([30068, 29976, 30163, 30134, 30108]): (45632, 45597, 45608, 45620),\r\n    frozenset([30068, 29976, 30163, 30134, 30112]): (45632, 45597, 45608, 45619),\r\n    frozenset([30068, 29976, 30163, 30135, 30106]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29976, 30163, 30135, 30110]): (45632, 45595, 45607, 45621),\r\n    frozenset([30068, 29976, 30163, 30135, 30108]): (45632, 45595, 45607, 45620),\r\n    frozenset([30068, 29976, 30163, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30068, 29976, 30165, 30132, 30106]): (45631, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30165, 30132, 30110]): (45631, 45597, 45607, 45621),\r\n    frozenset([30068, 29976, 30165, 30132, 30108]): (45631, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30165, 30132, 30112]): (45631, 45597, 45607, 45619),\r\n    frozenset([30068, 29976, 30165, 30133, 30106]): (45631, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30165, 30133, 30110]): (45631, 45597, 45607, 45621),\r\n    frozenset([30068, 29976, 30165, 30133, 30108]): (45631, 45597, 45607, 45620),\r\n    frozenset([30068, 29976, 30165, 30133, 30112]): (45631, 45597, 45607, 45619),\r\n    frozenset([30068, 29976, 30165, 30134, 30106]): (45631, 45597, 45608, 45620),\r\n    frozenset([30068, 29976, 30165, 30134, 30110]): (45631, 45597, 45608, 45621),\r\n    frozenset([30068, 29976, 30165, 30134, 30108]): (45631, 45597, 45608, 45620),\r\n    frozenset([30068, 29976, 30165, 30134, 30112]): (45631, 45597, 45608, 45619),\r\n    frozenset([30068, 29976, 30165, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29976, 30165, 30135, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30068, 29976, 30165, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30068, 29976, 30165, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30068, 29977, 30159, 30132, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30159, 30132, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30068, 29977, 30159, 30132, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30159, 30132, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30068, 29977, 30159, 30133, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30159, 30133, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30068, 29977, 30159, 30133, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30159, 30133, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30068, 29977, 30159, 30134, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30159, 30134, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30068, 29977, 30159, 30134, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30159, 30134, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30068, 29977, 30159, 30135, 30106]): (45632, 45595, 45609, 45620),\r\n    frozenset([30068, 29977, 30159, 30135, 30110]): (45632, 45595, 45609, 45621),\r\n    frozenset([30068, 29977, 30159, 30135, 30108]): (45632, 45595, 45609, 45620),\r\n    frozenset([30068, 29977, 30159, 30135, 30112]): (45632, 45595, 45609, 45619),\r\n    frozenset([30068, 29977, 30161, 30132, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30161, 30132, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30068, 29977, 30161, 30132, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30161, 30132, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30068, 29977, 30161, 30133, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30161, 30133, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30068, 29977, 30161, 30133, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30161, 30133, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30068, 29977, 30161, 30134, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30161, 30134, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30068, 29977, 30161, 30134, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30161, 30134, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30068, 29977, 30161, 30135, 30106]): (45632, 45595, 45609, 45620),\r\n    frozenset([30068, 29977, 30161, 30135, 30110]): (45632, 45595, 45609, 45621),\r\n    frozenset([30068, 29977, 30161, 30135, 30108]): (45632, 45595, 45609, 45620),\r\n    frozenset([30068, 29977, 30161, 30135, 30112]): (45632, 45595, 45609, 45619),\r\n    frozenset([30068, 29977, 30163, 30132, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30163, 30132, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30068, 29977, 30163, 30132, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30163, 30132, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30068, 29977, 30163, 30133, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30163, 30133, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30068, 29977, 30163, 30133, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30163, 30133, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30068, 29977, 30163, 30134, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30163, 30134, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30068, 29977, 30163, 30134, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30163, 30134, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30068, 29977, 30163, 30135, 30106]): (45632, 45595, 45609, 45620),\r\n    frozenset([30068, 29977, 30163, 30135, 30110]): (45632, 45595, 45609, 45621),\r\n    frozenset([30068, 29977, 30163, 30135, 30108]): (45632, 45595, 45609, 45620),\r\n    frozenset([30068, 29977, 30163, 30135, 30112]): (45632, 45595, 45609, 45619),\r\n    frozenset([30068, 29977, 30165, 30132, 30106]): (45631, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30165, 30132, 30110]): (45631, 45596, 45609, 45621),\r\n    frozenset([30068, 29977, 30165, 30132, 30108]): (45631, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30165, 30132, 30112]): (45631, 45596, 45609, 45619),\r\n    frozenset([30068, 29977, 30165, 30133, 30106]): (45631, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30165, 30133, 30110]): (45631, 45596, 45609, 45621),\r\n    frozenset([30068, 29977, 30165, 30133, 30108]): (45631, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30165, 30133, 30112]): (45631, 45596, 45609, 45619),\r\n    frozenset([30068, 29977, 30165, 30134, 30106]): (45631, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30165, 30134, 30110]): (45631, 45596, 45609, 45621),\r\n    frozenset([30068, 29977, 30165, 30134, 30108]): (45631, 45596, 45609, 45620),\r\n    frozenset([30068, 29977, 30165, 30134, 30112]): (45631, 45596, 45609, 45619),\r\n    frozenset([30068, 29977, 30165, 30135, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30068, 29977, 30165, 30135, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30068, 29977, 30165, 30135, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30068, 29977, 30165, 30135, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30070, 29974, 30159, 30132, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30159, 30132, 30110]): (45632, 45596, 45607, 45621),\r\n    frozenset([30070, 29974, 30159, 30132, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30159, 30132, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30070, 29974, 30159, 30133, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30159, 30133, 30110]): (45632, 45596, 45607, 45621),\r\n    frozenset([30070, 29974, 30159, 30133, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30159, 30133, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30070, 29974, 30159, 30134, 30106]): (45631, 45596, 45608, 45620),\r\n    frozenset([30070, 29974, 30159, 30134, 30110]): (45632, 45596, 45608, 45621),\r\n    frozenset([30070, 29974, 30159, 30134, 30108]): (45631, 45596, 45608, 45620),\r\n    frozenset([30070, 29974, 30159, 30134, 30112]): (45632, 45596, 45608, 45619),\r\n    frozenset([30070, 29974, 30159, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29974, 30159, 30135, 30110]): (45632, 45595, 45607, 45621),\r\n    frozenset([30070, 29974, 30159, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29974, 30159, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30070, 29974, 30161, 30132, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30161, 30132, 30110]): (45632, 45596, 45607, 45621),\r\n    frozenset([30070, 29974, 30161, 30132, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30161, 30132, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30070, 29974, 30161, 30133, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30161, 30133, 30110]): (45632, 45596, 45607, 45621),\r\n    frozenset([30070, 29974, 30161, 30133, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30161, 30133, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30070, 29974, 30161, 30134, 30106]): (45631, 45596, 45608, 45620),\r\n    frozenset([30070, 29974, 30161, 30134, 30110]): (45632, 45596, 45608, 45621),\r\n    frozenset([30070, 29974, 30161, 30134, 30108]): (45631, 45596, 45608, 45620),\r\n    frozenset([30070, 29974, 30161, 30134, 30112]): (45632, 45596, 45608, 45619),\r\n    frozenset([30070, 29974, 30161, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29974, 30161, 30135, 30110]): (45632, 45595, 45607, 45621),\r\n    frozenset([30070, 29974, 30161, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29974, 30161, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30070, 29974, 30163, 30132, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30163, 30132, 30110]): (45632, 45596, 45607, 45621),\r\n    frozenset([30070, 29974, 30163, 30132, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30163, 30132, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30070, 29974, 30163, 30133, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30163, 30133, 30110]): (45632, 45596, 45607, 45621),\r\n    frozenset([30070, 29974, 30163, 30133, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30163, 30133, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30070, 29974, 30163, 30134, 30106]): (45631, 45596, 45608, 45620),\r\n    frozenset([30070, 29974, 30163, 30134, 30110]): (45632, 45596, 45608, 45621),\r\n    frozenset([30070, 29974, 30163, 30134, 30108]): (45631, 45596, 45608, 45620),\r\n    frozenset([30070, 29974, 30163, 30134, 30112]): (45632, 45596, 45608, 45619),\r\n    frozenset([30070, 29974, 30163, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29974, 30163, 30135, 30110]): (45632, 45595, 45607, 45621),\r\n    frozenset([30070, 29974, 30163, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29974, 30163, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30070, 29974, 30165, 30132, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30165, 30132, 30110]): (45631, 45596, 45607, 45621),\r\n    frozenset([30070, 29974, 30165, 30132, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30165, 30132, 30112]): (45631, 45596, 45607, 45619),\r\n    frozenset([30070, 29974, 30165, 30133, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30165, 30133, 30110]): (45631, 45596, 45607, 45621),\r\n    frozenset([30070, 29974, 30165, 30133, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29974, 30165, 30133, 30112]): (45631, 45596, 45607, 45619),\r\n    frozenset([30070, 29974, 30165, 30134, 30106]): (45631, 45596, 45608, 45620),\r\n    frozenset([30070, 29974, 30165, 30134, 30110]): (45631, 45596, 45608, 45621),\r\n    frozenset([30070, 29974, 30165, 30134, 30108]): (45631, 45596, 45608, 45620),\r\n    frozenset([30070, 29974, 30165, 30134, 30112]): (45631, 45596, 45608, 45619),\r\n    frozenset([30070, 29974, 30165, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29974, 30165, 30135, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30070, 29974, 30165, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29974, 30165, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30070, 29975, 30159, 30132, 30106]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30159, 30132, 30110]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30159, 30132, 30108]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30159, 30132, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30070, 29975, 30159, 30133, 30106]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30159, 30133, 30110]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30159, 30133, 30108]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30159, 30133, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30070, 29975, 30159, 30134, 30106]): (45632, 45596, 45608, 45620),\r\n    frozenset([30070, 29975, 30159, 30134, 30110]): (45632, 45596, 45608, 45620),\r\n    frozenset([30070, 29975, 30159, 30134, 30108]): (45632, 45596, 45608, 45620),\r\n    frozenset([30070, 29975, 30159, 30134, 30112]): (45632, 45596, 45608, 45619),\r\n    frozenset([30070, 29975, 30159, 30135, 30106]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29975, 30159, 30135, 30110]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29975, 30159, 30135, 30108]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29975, 30159, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30070, 29975, 30161, 30132, 30106]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30161, 30132, 30110]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30161, 30132, 30108]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30161, 30132, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30070, 29975, 30161, 30133, 30106]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30161, 30133, 30110]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30161, 30133, 30108]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30161, 30133, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30070, 29975, 30161, 30134, 30106]): (45632, 45596, 45608, 45620),\r\n    frozenset([30070, 29975, 30161, 30134, 30110]): (45632, 45596, 45608, 45620),\r\n    frozenset([30070, 29975, 30161, 30134, 30108]): (45632, 45596, 45608, 45620),\r\n    frozenset([30070, 29975, 30161, 30134, 30112]): (45632, 45596, 45608, 45619),\r\n    frozenset([30070, 29975, 30161, 30135, 30106]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29975, 30161, 30135, 30110]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29975, 30161, 30135, 30108]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29975, 30161, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30070, 29975, 30163, 30132, 30106]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30163, 30132, 30110]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30163, 30132, 30108]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30163, 30132, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30070, 29975, 30163, 30133, 30106]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30163, 30133, 30110]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30163, 30133, 30108]): (45632, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30163, 30133, 30112]): (45632, 45596, 45607, 45619),\r\n    frozenset([30070, 29975, 30163, 30134, 30106]): (45632, 45596, 45608, 45620),\r\n    frozenset([30070, 29975, 30163, 30134, 30110]): (45632, 45596, 45608, 45620),\r\n    frozenset([30070, 29975, 30163, 30134, 30108]): (45632, 45596, 45608, 45620),\r\n    frozenset([30070, 29975, 30163, 30134, 30112]): (45632, 45596, 45608, 45619),\r\n    frozenset([30070, 29975, 30163, 30135, 30106]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29975, 30163, 30135, 30110]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29975, 30163, 30135, 30108]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29975, 30163, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30070, 29975, 30165, 30132, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30165, 30132, 30110]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30165, 30132, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30165, 30132, 30112]): (45631, 45596, 45607, 45619),\r\n    frozenset([30070, 29975, 30165, 30133, 30106]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30165, 30133, 30110]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30165, 30133, 30108]): (45631, 45596, 45607, 45620),\r\n    frozenset([30070, 29975, 30165, 30133, 30112]): (45631, 45596, 45607, 45619),\r\n    frozenset([30070, 29975, 30165, 30134, 30106]): (45631, 45596, 45608, 45620),\r\n    frozenset([30070, 29975, 30165, 30134, 30110]): (45631, 45596, 45608, 45620),\r\n    frozenset([30070, 29975, 30165, 30134, 30108]): (45631, 45596, 45608, 45620),\r\n    frozenset([30070, 29975, 30165, 30134, 30112]): (45631, 45596, 45608, 45619),\r\n    frozenset([30070, 29975, 30165, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29975, 30165, 30135, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29975, 30165, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29975, 30165, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30070, 29976, 30159, 30132, 30106]): (45632, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30159, 30132, 30110]): (45632, 45597, 45607, 45621),\r\n    frozenset([30070, 29976, 30159, 30132, 30108]): (45632, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30159, 30132, 30112]): (45632, 45597, 45607, 45619),\r\n    frozenset([30070, 29976, 30159, 30133, 30106]): (45632, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30159, 30133, 30110]): (45632, 45597, 45607, 45621),\r\n    frozenset([30070, 29976, 30159, 30133, 30108]): (45632, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30159, 30133, 30112]): (45632, 45597, 45607, 45619),\r\n    frozenset([30070, 29976, 30159, 30134, 30106]): (45632, 45597, 45608, 45620),\r\n    frozenset([30070, 29976, 30159, 30134, 30110]): (45632, 45597, 45608, 45621),\r\n    frozenset([30070, 29976, 30159, 30134, 30108]): (45632, 45597, 45608, 45620),\r\n    frozenset([30070, 29976, 30159, 30134, 30112]): (45632, 45597, 45608, 45619),\r\n    frozenset([30070, 29976, 30159, 30135, 30106]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29976, 30159, 30135, 30110]): (45632, 45595, 45607, 45621),\r\n    frozenset([30070, 29976, 30159, 30135, 30108]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29976, 30159, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30070, 29976, 30161, 30132, 30106]): (45632, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30161, 30132, 30110]): (45632, 45597, 45607, 45621),\r\n    frozenset([30070, 29976, 30161, 30132, 30108]): (45632, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30161, 30132, 30112]): (45632, 45597, 45607, 45619),\r\n    frozenset([30070, 29976, 30161, 30133, 30106]): (45632, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30161, 30133, 30110]): (45632, 45597, 45607, 45621),\r\n    frozenset([30070, 29976, 30161, 30133, 30108]): (45632, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30161, 30133, 30112]): (45632, 45597, 45607, 45619),\r\n    frozenset([30070, 29976, 30161, 30134, 30106]): (45632, 45597, 45608, 45620),\r\n    frozenset([30070, 29976, 30161, 30134, 30110]): (45632, 45597, 45608, 45621),\r\n    frozenset([30070, 29976, 30161, 30134, 30108]): (45632, 45597, 45608, 45620),\r\n    frozenset([30070, 29976, 30161, 30134, 30112]): (45632, 45597, 45608, 45619),\r\n    frozenset([30070, 29976, 30161, 30135, 30106]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29976, 30161, 30135, 30110]): (45632, 45595, 45607, 45621),\r\n    frozenset([30070, 29976, 30161, 30135, 30108]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29976, 30161, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30070, 29976, 30163, 30132, 30106]): (45632, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30163, 30132, 30110]): (45632, 45597, 45607, 45621),\r\n    frozenset([30070, 29976, 30163, 30132, 30108]): (45632, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30163, 30132, 30112]): (45632, 45597, 45607, 45619),\r\n    frozenset([30070, 29976, 30163, 30133, 30106]): (45632, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30163, 30133, 30110]): (45632, 45597, 45607, 45621),\r\n    frozenset([30070, 29976, 30163, 30133, 30108]): (45632, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30163, 30133, 30112]): (45632, 45597, 45607, 45619),\r\n    frozenset([30070, 29976, 30163, 30134, 30106]): (45632, 45597, 45608, 45620),\r\n    frozenset([30070, 29976, 30163, 30134, 30110]): (45632, 45597, 45608, 45621),\r\n    frozenset([30070, 29976, 30163, 30134, 30108]): (45632, 45597, 45608, 45620),\r\n    frozenset([30070, 29976, 30163, 30134, 30112]): (45632, 45597, 45608, 45619),\r\n    frozenset([30070, 29976, 30163, 30135, 30106]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29976, 30163, 30135, 30110]): (45632, 45595, 45607, 45621),\r\n    frozenset([30070, 29976, 30163, 30135, 30108]): (45632, 45595, 45607, 45620),\r\n    frozenset([30070, 29976, 30163, 30135, 30112]): (45632, 45595, 45607, 45619),\r\n    frozenset([30070, 29976, 30165, 30132, 30106]): (45631, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30165, 30132, 30110]): (45631, 45597, 45607, 45621),\r\n    frozenset([30070, 29976, 30165, 30132, 30108]): (45631, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30165, 30132, 30112]): (45631, 45597, 45607, 45619),\r\n    frozenset([30070, 29976, 30165, 30133, 30106]): (45631, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30165, 30133, 30110]): (45631, 45597, 45607, 45621),\r\n    frozenset([30070, 29976, 30165, 30133, 30108]): (45631, 45597, 45607, 45620),\r\n    frozenset([30070, 29976, 30165, 30133, 30112]): (45631, 45597, 45607, 45619),\r\n    frozenset([30070, 29976, 30165, 30134, 30106]): (45631, 45597, 45608, 45620),\r\n    frozenset([30070, 29976, 30165, 30134, 30110]): (45631, 45597, 45608, 45621),\r\n    frozenset([30070, 29976, 30165, 30134, 30108]): (45631, 45597, 45608, 45620),\r\n    frozenset([30070, 29976, 30165, 30134, 30112]): (45631, 45597, 45608, 45619),\r\n    frozenset([30070, 29976, 30165, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29976, 30165, 30135, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30070, 29976, 30165, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30070, 29976, 30165, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30070, 29977, 30159, 30132, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30159, 30132, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30070, 29977, 30159, 30132, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30159, 30132, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30070, 29977, 30159, 30133, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30159, 30133, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30070, 29977, 30159, 30133, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30159, 30133, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30070, 29977, 30159, 30134, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30159, 30134, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30070, 29977, 30159, 30134, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30159, 30134, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30070, 29977, 30159, 30135, 30106]): (45632, 45595, 45609, 45620),\r\n    frozenset([30070, 29977, 30159, 30135, 30110]): (45632, 45595, 45609, 45621),\r\n    frozenset([30070, 29977, 30159, 30135, 30108]): (45632, 45595, 45609, 45620),\r\n    frozenset([30070, 29977, 30159, 30135, 30112]): (45632, 45595, 45609, 45619),\r\n    frozenset([30070, 29977, 30161, 30132, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30161, 30132, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30070, 29977, 30161, 30132, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30161, 30132, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30070, 29977, 30161, 30133, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30161, 30133, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30070, 29977, 30161, 30133, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30161, 30133, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30070, 29977, 30161, 30134, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30161, 30134, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30070, 29977, 30161, 30134, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30161, 30134, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30070, 29977, 30161, 30135, 30106]): (45632, 45595, 45609, 45620),\r\n    frozenset([30070, 29977, 30161, 30135, 30110]): (45632, 45595, 45609, 45621),\r\n    frozenset([30070, 29977, 30161, 30135, 30108]): (45632, 45595, 45609, 45620),\r\n    frozenset([30070, 29977, 30161, 30135, 30112]): (45632, 45595, 45609, 45619),\r\n    frozenset([30070, 29977, 30163, 30132, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30163, 30132, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30070, 29977, 30163, 30132, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30163, 30132, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30070, 29977, 30163, 30133, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30163, 30133, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30070, 29977, 30163, 30133, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30163, 30133, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30070, 29977, 30163, 30134, 30106]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30163, 30134, 30110]): (45632, 45596, 45609, 45621),\r\n    frozenset([30070, 29977, 30163, 30134, 30108]): (45632, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30163, 30134, 30112]): (45632, 45596, 45609, 45619),\r\n    frozenset([30070, 29977, 30163, 30135, 30106]): (45632, 45595, 45609, 45620),\r\n    frozenset([30070, 29977, 30163, 30135, 30110]): (45632, 45595, 45609, 45621),\r\n    frozenset([30070, 29977, 30163, 30135, 30108]): (45632, 45595, 45609, 45620),\r\n    frozenset([30070, 29977, 30163, 30135, 30112]): (45632, 45595, 45609, 45619),\r\n    frozenset([30070, 29977, 30165, 30132, 30106]): (45631, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30165, 30132, 30110]): (45631, 45596, 45609, 45621),\r\n    frozenset([30070, 29977, 30165, 30132, 30108]): (45631, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30165, 30132, 30112]): (45631, 45596, 45609, 45619),\r\n    frozenset([30070, 29977, 30165, 30133, 30106]): (45631, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30165, 30133, 30110]): (45631, 45596, 45609, 45621),\r\n    frozenset([30070, 29977, 30165, 30133, 30108]): (45631, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30165, 30133, 30112]): (45631, 45596, 45609, 45619),\r\n    frozenset([30070, 29977, 30165, 30134, 30106]): (45631, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30165, 30134, 30110]): (45631, 45596, 45609, 45621),\r\n    frozenset([30070, 29977, 30165, 30134, 30108]): (45631, 45596, 45609, 45620),\r\n    frozenset([30070, 29977, 30165, 30134, 30112]): (45631, 45596, 45609, 45619),\r\n    frozenset([30070, 29977, 30165, 30135, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30070, 29977, 30165, 30135, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30070, 29977, 30165, 30135, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30070, 29977, 30165, 30135, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29974, 30159, 30132, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30159, 30132, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29974, 30159, 30132, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30159, 30132, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29974, 30159, 30133, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30159, 30133, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29974, 30159, 30133, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30159, 30133, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29974, 30159, 30134, 30106]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29974, 30159, 30134, 30110]): (45631, 45595, 45608, 45621),\r\n    frozenset([30072, 29974, 30159, 30134, 30108]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29974, 30159, 30134, 30112]): (45631, 45595, 45608, 45619),\r\n    frozenset([30072, 29974, 30159, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30159, 30135, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29974, 30159, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30159, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29974, 30161, 30132, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30161, 30132, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29974, 30161, 30132, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30161, 30132, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29974, 30161, 30133, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30161, 30133, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29974, 30161, 30133, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30161, 30133, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29974, 30161, 30134, 30106]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29974, 30161, 30134, 30110]): (45631, 45595, 45608, 45621),\r\n    frozenset([30072, 29974, 30161, 30134, 30108]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29974, 30161, 30134, 30112]): (45631, 45595, 45608, 45619),\r\n    frozenset([30072, 29974, 30161, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30161, 30135, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29974, 30161, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30161, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29974, 30163, 30132, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30163, 30132, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29974, 30163, 30132, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30163, 30132, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29974, 30163, 30133, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30163, 30133, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29974, 30163, 30133, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30163, 30133, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29974, 30163, 30134, 30106]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29974, 30163, 30134, 30110]): (45631, 45595, 45608, 45621),\r\n    frozenset([30072, 29974, 30163, 30134, 30108]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29974, 30163, 30134, 30112]): (45631, 45595, 45608, 45619),\r\n    frozenset([30072, 29974, 30163, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30163, 30135, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29974, 30163, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30163, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29974, 30165, 30132, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30165, 30132, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29974, 30165, 30132, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30165, 30132, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29974, 30165, 30133, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30165, 30133, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29974, 30165, 30133, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30165, 30133, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29974, 30165, 30134, 30106]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29974, 30165, 30134, 30110]): (45631, 45595, 45608, 45621),\r\n    frozenset([30072, 29974, 30165, 30134, 30108]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29974, 30165, 30134, 30112]): (45631, 45595, 45608, 45619),\r\n    frozenset([30072, 29974, 30165, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30165, 30135, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29974, 30165, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29974, 30165, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29975, 30159, 30132, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30159, 30132, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30159, 30132, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30159, 30132, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29975, 30159, 30133, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30159, 30133, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30159, 30133, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30159, 30133, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29975, 30159, 30134, 30106]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29975, 30159, 30134, 30110]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29975, 30159, 30134, 30108]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29975, 30159, 30134, 30112]): (45631, 45595, 45608, 45619),\r\n    frozenset([30072, 29975, 30159, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30159, 30135, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30159, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30159, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29975, 30161, 30132, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30161, 30132, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30161, 30132, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30161, 30132, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29975, 30161, 30133, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30161, 30133, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30161, 30133, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30161, 30133, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29975, 30161, 30134, 30106]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29975, 30161, 30134, 30110]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29975, 30161, 30134, 30108]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29975, 30161, 30134, 30112]): (45631, 45595, 45608, 45619),\r\n    frozenset([30072, 29975, 30161, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30161, 30135, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30161, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30161, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29975, 30163, 30132, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30163, 30132, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30163, 30132, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30163, 30132, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29975, 30163, 30133, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30163, 30133, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30163, 30133, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30163, 30133, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29975, 30163, 30134, 30106]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29975, 30163, 30134, 30110]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29975, 30163, 30134, 30108]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29975, 30163, 30134, 30112]): (45631, 45595, 45608, 45619),\r\n    frozenset([30072, 29975, 30163, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30163, 30135, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30163, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30163, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29975, 30165, 30132, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30165, 30132, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30165, 30132, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30165, 30132, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29975, 30165, 30133, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30165, 30133, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30165, 30133, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30165, 30133, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29975, 30165, 30134, 30106]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29975, 30165, 30134, 30110]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29975, 30165, 30134, 30108]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29975, 30165, 30134, 30112]): (45631, 45595, 45608, 45619),\r\n    frozenset([30072, 29975, 30165, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30165, 30135, 30110]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30165, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29975, 30165, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29976, 30159, 30132, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30159, 30132, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29976, 30159, 30132, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30159, 30132, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29976, 30159, 30133, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30159, 30133, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29976, 30159, 30133, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30159, 30133, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29976, 30159, 30134, 30106]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29976, 30159, 30134, 30110]): (45631, 45595, 45608, 45621),\r\n    frozenset([30072, 29976, 30159, 30134, 30108]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29976, 30159, 30134, 30112]): (45631, 45595, 45608, 45619),\r\n    frozenset([30072, 29976, 30159, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30159, 30135, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29976, 30159, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30159, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29976, 30161, 30132, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30161, 30132, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29976, 30161, 30132, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30161, 30132, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29976, 30161, 30133, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30161, 30133, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29976, 30161, 30133, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30161, 30133, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29976, 30161, 30134, 30106]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29976, 30161, 30134, 30110]): (45631, 45595, 45608, 45621),\r\n    frozenset([30072, 29976, 30161, 30134, 30108]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29976, 30161, 30134, 30112]): (45631, 45595, 45608, 45619),\r\n    frozenset([30072, 29976, 30161, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30161, 30135, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29976, 30161, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30161, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29976, 30163, 30132, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30163, 30132, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29976, 30163, 30132, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30163, 30132, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29976, 30163, 30133, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30163, 30133, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29976, 30163, 30133, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30163, 30133, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29976, 30163, 30134, 30106]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29976, 30163, 30134, 30110]): (45631, 45595, 45608, 45621),\r\n    frozenset([30072, 29976, 30163, 30134, 30108]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29976, 30163, 30134, 30112]): (45631, 45595, 45608, 45619),\r\n    frozenset([30072, 29976, 30163, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30163, 30135, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29976, 30163, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30163, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29976, 30165, 30132, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30165, 30132, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29976, 30165, 30132, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30165, 30132, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29976, 30165, 30133, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30165, 30133, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29976, 30165, 30133, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30165, 30133, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29976, 30165, 30134, 30106]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29976, 30165, 30134, 30110]): (45631, 45595, 45608, 45621),\r\n    frozenset([30072, 29976, 30165, 30134, 30108]): (45631, 45595, 45608, 45620),\r\n    frozenset([30072, 29976, 30165, 30134, 30112]): (45631, 45595, 45608, 45619),\r\n    frozenset([30072, 29976, 30165, 30135, 30106]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30165, 30135, 30110]): (45631, 45595, 45607, 45621),\r\n    frozenset([30072, 29976, 30165, 30135, 30108]): (45631, 45595, 45607, 45620),\r\n    frozenset([30072, 29976, 30165, 30135, 30112]): (45631, 45595, 45607, 45619),\r\n    frozenset([30072, 29977, 30159, 30132, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30159, 30132, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30159, 30132, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30159, 30132, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30159, 30133, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30159, 30133, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30159, 30133, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30159, 30133, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30159, 30134, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30159, 30134, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30159, 30134, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30159, 30134, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30159, 30135, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30159, 30135, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30159, 30135, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30159, 30135, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30161, 30132, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30161, 30132, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30161, 30132, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30161, 30132, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30161, 30133, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30161, 30133, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30161, 30133, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30161, 30133, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30161, 30134, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30161, 30134, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30161, 30134, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30161, 30134, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30161, 30135, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30161, 30135, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30161, 30135, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30161, 30135, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30163, 30132, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30163, 30132, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30163, 30132, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30163, 30132, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30163, 30133, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30163, 30133, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30163, 30133, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30163, 30133, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30163, 30134, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30163, 30134, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30163, 30134, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30163, 30134, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30163, 30135, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30163, 30135, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30163, 30135, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30163, 30135, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30165, 30132, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30165, 30132, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30165, 30132, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30165, 30132, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30165, 30133, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30165, 30133, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30165, 30133, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30165, 30133, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30165, 30134, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30165, 30134, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30165, 30134, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30165, 30134, 30112]): (45631, 45595, 45609, 45619),\r\n    frozenset([30072, 29977, 30165, 30135, 30106]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30165, 30135, 30110]): (45631, 45595, 45609, 45621),\r\n    frozenset([30072, 29977, 30165, 30135, 30108]): (45631, 45595, 45609, 45620),\r\n    frozenset([30072, 29977, 30165, 30135, 30112]): (45631, 45595, 45609, 45619),\r\n}\r\n\r\nconversion2 = {\r\n    30326: 30325,\r\n    30536: 30539,\r\n    30541: 30546,\r\n    30542: 30548,\r\n    30543: 30547,\r\n    20116: 20115,\r\n    30600: 30586,\r\n    30605: 30588,\r\n    30599: 30582,\r\n    30036: 45624,\r\n    30038: 45622,\r\n    30040: 45622,\r\n    30042: 45622,\r\n    30046: 45627,\r\n    30048: 45625,\r\n    30050: 45625,\r\n    30052: 45625,\r\n    30056: 45630,\r\n    30058: 45628,\r\n    30060: 45628,\r\n    30062: 45628,\r\n    30066: 45633,\r\n    30068: 45631,\r\n    30070: 45631,\r\n    30072: 45631,\r\n    30139: 45626,\r\n    30141: 45626,\r\n    30143: 45626,\r\n    30145: 45627,\r\n    30149: 45629,\r\n    30151: 45629,\r\n    30153: 45629,\r\n    30155: 45630,\r\n    30159: 45632,\r\n    30161: 45632,\r\n    30163: 45632,\r\n    30165: 45633,\r\n    30169: 45623,\r\n    30171: 45623,\r\n    30173: 45623,\r\n    30175: 45624,\r\n    30076: 45611,\r\n    30078: 45612,\r\n    30080: 45612,\r\n    30082: 45610,\r\n    30086: 45614,\r\n    30088: 45614,\r\n    30090: 45615,\r\n    30092: 45613,\r\n    30096: 45618,\r\n    30098: 45618,\r\n    30100: 45617,\r\n    30102: 45616,\r\n    30106: 45620,\r\n    30108: 45620,\r\n    30110: 45621,\r\n    30112: 45619,\r\n    29964: 45587,\r\n    29965: 45588,\r\n    29966: 45587,\r\n    29967: 45587,\r\n    29969: 45590,\r\n    29970: 45591,\r\n    29971: 45590,\r\n    29972: 45590,\r\n    29974: 45596,\r\n    29975: 45596,\r\n    29976: 45597,\r\n    29977: 45596,\r\n    29979: 45593,\r\n    29980: 45594,\r\n    29981: 45593,\r\n    29982: 45593,\r\n    30117: 45599,\r\n    30118: 45599,\r\n    30119: 45598,\r\n    30120: 45598,\r\n    30122: 45601,\r\n    30123: 45601,\r\n    30124: 45602,\r\n    30125: 45601,\r\n    30127: 45604,\r\n    30128: 45604,\r\n    30129: 45605,\r\n    30130: 45604,\r\n    30132: 45607,\r\n    30133: 45607,\r\n    30134: 45608,\r\n    30135: 45607,\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # First we want to get a list of fittings that are completely fitted out with subsystems\r\n    oldItems = [str(x) for x in conversion2.keys()]\r\n\r\n    # I can't figure out a way to get IN operator to work when supplying a list using a parameterized query. So I'm\r\n    # doing it the shitty way by formatting the SQL string. Don't do this kids!\r\n    fits = [x['fitID'] for x in saveddata_engine.execute(\r\n        \"SELECT fitID FROM modules WHERE itemID IN ({}) GROUP BY fitID HAVING COUNT(*) = 5\".format(','.join(oldItems)))]\r\n\r\n    for fitID in fits:\r\n        try:\r\n            # Gather a list of the old subsystems and their record IDs\r\n            modules = saveddata_engine.execute(\r\n                \"SELECT * FROM modules WHERE itemID IN ({}) AND fitID = ?\".format(','.join(oldItems)), (fitID,))\r\n\r\n            oldModules = []\r\n            for mod in modules:\r\n                oldModules.append((mod['ID'], mod['itemID']))\r\n\r\n            # find the conversion in the Big Fucken Dictionary (BFD)\r\n            newModules = conversion.get(frozenset([y[1] for y in oldModules]), None)\r\n\r\n            if newModules is None:\r\n                # We don't have a conversion for this. I don't think this will ever happen, but who knows\r\n                continue\r\n\r\n            # It doesn't actually matter which old module is replaced with which new module, so we don't have to worry\r\n            # about module position or anything like that. Just do a straight up record UPDATE\r\n            for i, old in enumerate(oldModules[:4]):\r\n                saveddata_engine.execute(\"UPDATE modules SET itemID = ? WHERE ID = ?\", (newModules[i], old[0]))\r\n\r\n            # And last but not least, delete the last subsystem\r\n            saveddata_engine.execute(\"DELETE FROM modules WHERE ID = ?\", (oldModules[4][0],))\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            # if something fails, fuck it, we tried. It'll default to the generic conversion below\r\n            continue\r\n\r\n    for oldItem, newItem in conversion2.items():\r\n        saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                 (newItem, oldItem))\r\n        saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                 (newItem, oldItem))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade26.py",
    "content": "\"\"\"\r\nMigration 26\r\n\r\n- Deletes invalid command fit relationships caused by a bug (see #1244)\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    saveddata_engine.execute(\"DELETE FROM commandFits WHERE boosterID NOT IN (SELECT ID FROM fits) OR boostedID NOT IN (SELECT ID FROM fits)\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade27.py",
    "content": "\"\"\"\r\nMigration 27\r\n\r\n- Resets all alpha clones to 1 (CCP consolidated all alpha's into one skillset)\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    saveddata_engine.execute(\"UPDATE characters SET alphaCloneID = 1 WHERE alphaCloneID IS NOT NULL\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade28.py",
    "content": "\"\"\"\r\nMigration 28\r\n\r\n- adds baseItemID and mutaplasmidID to modules table\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    try:\r\n        saveddata_engine.execute(\"SELECT baseItemID FROM modules LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE modules ADD COLUMN baseItemID INT;\")\r\n\r\n    try:\r\n        saveddata_engine.execute(\"SELECT mutaplasmidID FROM modules LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE modules ADD COLUMN mutaplasmidID INT;\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade29.py",
    "content": "\"\"\"\r\nMigration 29\r\n\r\n- adds spoolType and spoolAmount to modules table\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    try:\r\n        saveddata_engine.execute(\"SELECT spoolType FROM modules LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE modules ADD COLUMN spoolType INT;\")\r\n\r\n    try:\r\n        saveddata_engine.execute(\"SELECT spoolAmount FROM modules LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE modules ADD COLUMN spoolAmount FLOAT;\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade3.py",
    "content": "\"\"\"\r\nMigration 3\r\n\r\n- Adds mode column for fits (t3 dessy)\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    try:\r\n        saveddata_engine.execute(\"SELECT modeID FROM fits LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE fits ADD COLUMN modeID INTEGER\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade30.py",
    "content": "\"\"\"\r\nMigration 30\r\n\r\n- changes to prices table\r\n\"\"\"\r\n\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    try:\r\n        saveddata_engine.execute(\"SELECT status FROM prices LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        # Just drop table, table will be re-created by sqlalchemy and\r\n        # data will be re-fetched\r\n        saveddata_engine.execute(\"DROP TABLE prices;\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade31.py",
    "content": "\"\"\"\r\nMigration 31\r\n\r\n- added fit system security column\r\n\"\"\"\r\n\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    try:\r\n        saveddata_engine.execute(\"SELECT systemSecurity FROM fits LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE fits ADD COLUMN systemSecurity INT\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade32.py",
    "content": "\"\"\"\r\nMigration 32\r\n\r\n- added speed, sig and radius columns to targetResists table\r\n\"\"\"\r\n\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    for column in ('maxVelocity', 'signatureRadius', 'radius'):\r\n        try:\r\n            saveddata_engine.execute(\"SELECT {} FROM targetResists LIMIT 1;\".format(column))\r\n        except sqlalchemy.exc.DatabaseError:\r\n            saveddata_engine.execute(\"ALTER TABLE targetResists ADD COLUMN {} FLOAT;\".format(column))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade33.py",
    "content": "\"\"\"\r\nMigration 33\r\n\r\nAllow use of floats in damage pattern values\r\n\"\"\"\r\n\r\ntmpTable = \"\"\"\r\nCREATE TABLE \"damagePatternsTemp\" (\r\n\t\"ID\" INTEGER NOT NULL,\r\n\t\"name\" VARCHAR,\r\n\t\"emAmount\" FLOAT,\r\n\t\"thermalAmount\" FLOAT,\r\n\t\"kineticAmount\" FLOAT,\r\n\t\"explosiveAmount\" FLOAT,\r\n\t\"ownerID\" INTEGER,\r\n\t\"created\" DATETIME,\r\n\t\"modified\" DATETIME,\r\n\tPRIMARY KEY (\"ID\"),\r\n\tFOREIGN KEY(\"ownerID\") REFERENCES users (\"ID\")\r\n)\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    saveddata_engine.execute(tmpTable)\r\n    saveddata_engine.execute(\r\n            'INSERT INTO damagePatternsTemp (ID, name, emAmount, thermalAmount, kineticAmount, explosiveAmount, ownerID, created, modified) '\r\n            'SELECT ID, name, emAmount, thermalAmount, kineticAmount, explosiveAmount, ownerID, created, modified FROM damagePatterns')\r\n    saveddata_engine.execute('DROP TABLE damagePatterns')\r\n    saveddata_engine.execute('ALTER TABLE damagePatternsTemp RENAME TO damagePatterns')\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade34.py",
    "content": "\"\"\"\r\nMigration 34\r\n\r\n- Adds projection range columns to projectable entities\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    try:\r\n        saveddata_engine.execute(\"SELECT projectionRange FROM projectedFits LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE projectedFits ADD COLUMN projectionRange FLOAT;\")\r\n    try:\r\n        saveddata_engine.execute(\"SELECT projectionRange FROM modules LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE modules ADD COLUMN projectionRange FLOAT;\")\r\n    try:\r\n        saveddata_engine.execute(\"SELECT projectionRange FROM drones LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE drones ADD COLUMN projectionRange FLOAT;\")\r\n    try:\r\n        saveddata_engine.execute(\"SELECT projectionRange FROM fighters LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE fighters ADD COLUMN projectionRange FLOAT;\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade35.py",
    "content": "\"\"\"\r\nMigration 35\r\n\r\n- Remove builtin damage patterns and target profiles from the database\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndmgPatterns = (\r\n    'Uniform',\r\n    '[Bombs]Concussion Bomb',\r\n    '[Bombs]Electron Bomb',\r\n    '[Bombs]Scorch Bomb',\r\n    '[Bombs]Shrapnel Bomb',\r\n    '[Exotic Plasma]Baryon',\r\n    '[Exotic Plasma]Meson',\r\n    '[Exotic Plasma]Tetryon',\r\n    '[Exotic Plasma][T2] Mystic',\r\n    '[Exotic Plasma][T2] Occult',\r\n    '[Frequency Crystals]Gamma',\r\n    '[Frequency Crystals]Infrared',\r\n    '[Frequency Crystals]Microwave',\r\n    '[Frequency Crystals]Multifrequency',\r\n    '[Frequency Crystals]Radio',\r\n    '[Frequency Crystals]Standard',\r\n    '[Frequency Crystals]Ultraviolet',\r\n    '[Frequency Crystals]Xray',\r\n    '[Frequency Crystals][T2] Aurora',\r\n    '[Frequency Crystals][T2] Conflagration',\r\n    '[Frequency Crystals][T2] Gleam',\r\n    '[Frequency Crystals][T2] Scorch',\r\n    '[Generic]EM',\r\n    '[Generic]Explosive',\r\n    '[Generic]Kinetic',\r\n    '[Generic]Thermal',\r\n    '[Hybrid Charges]Antimatter',\r\n    '[Hybrid Charges]Iridium',\r\n    '[Hybrid Charges]Iron',\r\n    '[Hybrid Charges]Lead',\r\n    '[Hybrid Charges]Plutonium',\r\n    '[Hybrid Charges]Thorium',\r\n    '[Hybrid Charges]Tungsten',\r\n    '[Hybrid Charges]Uranium',\r\n    '[Hybrid Charges][T2] Javelin',\r\n    '[Hybrid Charges][T2] Null',\r\n    '[Hybrid Charges][T2] Spike',\r\n    '[Hybrid Charges][T2] Void',\r\n    '[Missiles]Inferno',\r\n    '[Missiles]Mjolnir',\r\n    '[Missiles]Nova',\r\n    '[Missiles]Scourge',\r\n    '[Missiles][Structure) Standup Missile',\r\n    '[Missiles][Structure] Standup Missile',\r\n    '[NPC][Asteroid] Angel Cartel',\r\n    '[NPC][Asteroid] Blood Raiders',\r\n    '[NPC][Asteroid] Guristas',\r\n    '[NPC][Asteroid] Rogue Drone',\r\n    '[NPC][Asteroid] Sanshas Nation',\r\n    '[NPC][Asteroid] Serpentis',\r\n    '[NPC][Burner] Ashimmu (Blood Raiders)',\r\n    '[NPC][Burner] Cruor (Blood Raiders)',\r\n    '[NPC][Burner] Daredevil (Serpentis)',\r\n    '[NPC][Burner] Dramiel (Angel)',\r\n    '[NPC][Burner] Enyo',\r\n    '[NPC][Burner] Hawk',\r\n    '[NPC][Burner] Jaguar',\r\n    '[NPC][Burner] Sentinel',\r\n    '[NPC][Burner] Succubus (Sanshas Nation)',\r\n    '[NPC][Burner] Talos',\r\n    '[NPC][Burner] Vengeance',\r\n    '[NPC][Burner] Worm (Guristas)',\r\n    '[NPC][Deadspace] Angel Cartel',\r\n    '[NPC][Deadspace] Blood Raiders',\r\n    '[NPC][Deadspace] Guristas',\r\n    '[NPC][Deadspace] Rogue Drone',\r\n    '[NPC][Deadspace] Sanshas Nation',\r\n    '[NPC][Deadspace] Serpentis',\r\n    '[NPC][Mission] Amarr Empire',\r\n    '[NPC][Mission] CONCORD',\r\n    '[NPC][Mission] Caldari State',\r\n    '[NPC][Mission] Gallente Federation',\r\n    '[NPC][Mission] Khanid',\r\n    '[NPC][Mission] Minmatar Republic',\r\n    '[NPC][Mission] Mordus Legion',\r\n    '[NPC][Mission] Thukker',\r\n    '[NPC][Other] Sansha Incursion',\r\n    '[NPC][Other] Sleepers',\r\n    '[Projectile Ammo]Carbonized Lead',\r\n    '[Projectile Ammo]Depleted Uranium',\r\n    '[Projectile Ammo]EMP',\r\n    '[Projectile Ammo]Fusion',\r\n    '[Projectile Ammo]Nuclear',\r\n    '[Projectile Ammo]Phased Plasma',\r\n    '[Projectile Ammo]Proton',\r\n    '[Projectile Ammo]Titanium Sabot',\r\n    '[Projectile Ammo][T2] Barrage',\r\n    '[Projectile Ammo][T2] Hail',\r\n    '[Projectile Ammo][T2] Quake',\r\n    '[Projectile Ammo][T2] Tremor')\r\n\r\ntgtProfiles = (\r\n    'Uniform (25%)',\r\n    'Uniform (50%)',\r\n    'Uniform (75%)',\r\n    'Uniform (90%)',\r\n    '[NPC][Asteroid] Angel Cartel',\r\n    '[NPC][Asteroid] Blood Raiders',\r\n    '[NPC][Asteroid] Guristas',\r\n    '[NPC][Asteroid] Rogue Drones',\r\n    '[NPC][Asteroid] Sanshas Nation',\r\n    '[NPC][Asteroid] Serpentis',\r\n    '[NPC][Burner] Ashimmu (Blood Raiders)',\r\n    '[NPC][Burner] Cruor (Blood Raiders)',\r\n    '[NPC][Burner] Daredevil (Serpentis)',\r\n    '[NPC][Burner] Dramiel (Angel)',\r\n    '[NPC][Burner] Enyo',\r\n    '[NPC][Burner] Hawk',\r\n    '[NPC][Burner] Jaguar',\r\n    '[NPC][Burner] Sentinel',\r\n    '[NPC][Burner] Succubus (Sanshas Nation)',\r\n    '[NPC][Burner] Talos',\r\n    '[NPC][Burner] Vengeance',\r\n    '[NPC][Burner] Worm (Guristas)',\r\n    '[NPC][Deadspace] Angel Cartel',\r\n    '[NPC][Deadspace] Blood Raiders',\r\n    '[NPC][Deadspace] Guristas',\r\n    '[NPC][Deadspace] Rogue Drones',\r\n    '[NPC][Deadspace] Sanshas Nation',\r\n    '[NPC][Deadspace] Serpentis',\r\n    '[NPC][Mission] Amarr Empire',\r\n    '[NPC][Mission] CONCORD',\r\n    '[NPC][Mission] Caldari State',\r\n    '[NPC][Mission] Gallente Federation',\r\n    '[NPC][Mission] Khanid',\r\n    '[NPC][Mission] Minmatar Republic',\r\n    '[NPC][Mission] Mordus Legion',\r\n    '[NPC][Other] Sansha Incursion',\r\n    '[NPC][Other] Sleeper',\r\n    '[T1 Resist]Armor',\r\n    '[T1 Resist]Armor (+T2 DCU)',\r\n    '[T1 Resist]Hull',\r\n    '[T1 Resist]Hull (+T2 DCU)',\r\n    '[T1 Resist]Shield',\r\n    '[T1 Resist]Shield (+T2 DCU)',\r\n    '[T2 Resist]Amarr (Armor)',\r\n    '[T2 Resist]Amarr (Shield)',\r\n    '[T2 Resist]Caldari (Armor)',\r\n    '[T2 Resist]Caldari (Shield)',\r\n    '[T2 Resist]Gallente (Armor)',\r\n    '[T2 Resist]Gallente (Shield)',\r\n    '[T2 Resist]Minmatar (Armor)',\r\n    '[T2 Resist]Minmatar (Shield)')\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    saveddata_engine.execute('DELETE FROM damagePatterns WHERE name in ({});'.format(', '.join('\\'{}\\''.format(n) for n in dmgPatterns)))\r\n    saveddata_engine.execute('DELETE FROM targetResists WHERE name in ({});'.format(', '.join('\\'{}\\''.format(n) for n in tgtProfiles)))\r\n    try:\r\n        saveddata_engine.execute(\"SELECT builtinDamagePatternID FROM fits LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE fits ADD COLUMN builtinDamagePatternID INT;\")\r\n    try:\r\n        saveddata_engine.execute(\"SELECT builtinTargetResistsID FROM fits LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE fits ADD COLUMN builtinTargetResistsID INT;\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade36.py",
    "content": "\"\"\"\r\nMigration 36\r\n\r\n- Shield Booster, Armor Repairer and Capacitor Transfer tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    6441: (  # Small Clarity Ward Enduring Shield Booster\r\n        6443,  # Small Converse Deflection Catalyzer\r\n    ),\r\n    6437: (  # Small C5-L Compact Shield Booster\r\n        6439,  # Small Neutron Saturation Injector I\r\n    ),\r\n    10868: (  # Medium Clarity Ward Enduring Shield Booster\r\n        10870,  # Medium Converse Deflection Catalyzer\r\n    ),\r\n    10872: (  # Medium C5-L Compact Shield Booster\r\n        10866,  # Medium Neutron Saturation Injector I\r\n    ),\r\n    10876: (  # Large Clarity Ward Enduring Shield Booster\r\n        10878,  # Large Converse Deflection Catalyzer\r\n    ),\r\n    10880: (  # Large C5-L Compact Shield Booster\r\n        10874,  # Large Neutron Saturation Injector I\r\n    ),\r\n    10884: (  # X-Large Clarity Ward Enduring Shield Booster\r\n        10886,  # X-Large Converse Deflection Catalyzer\r\n    ),\r\n    10888: (  # X-Large C5-L Compact Shield Booster\r\n        10882,  # X-Large Neutron Saturation Injector I\r\n    ),\r\n    4533: (  # Small ACM Compact Armor Repairer\r\n        4531,  # Small Inefficient Armor Repair Unit\r\n    ),\r\n    4529: (  # Small I-a Enduring Armor Repairer\r\n        4535,  # Small Automated Carapace Restoration\r\n    ),\r\n    4573: (  # Medium ACM Compact Armor Repairer\r\n        4571,  # Medium Inefficient Armor Repair Unit\r\n    ),\r\n    4569: (  # Medium I-a Enduring Armor Repairer\r\n        4575,  # Medium Automated Carapace Restoration\r\n    ),\r\n    22889: (  # 'Meditation' Medium Armor Repairer I\r\n        4579,  # Medium Nano Armor Repair Unit I\r\n    ),\r\n    4613: (  # Large ACM Compact Armor Repairer\r\n        4611,  # Large Inefficient Armor Repair Unit\r\n    ),\r\n    4609: (  # Large I-a Enduring Armor Repairer\r\n        4615,  # Large Automated Carapace Restoration\r\n    ),\r\n    22891: (  # 'Protest' Large Armor Repairer I\r\n        4621,  # Large 'Reprieve' Vestment Reconstructer I\r\n    ),\r\n    5093: (  # Small Radiative Scoped Remote Capacitor Transmitter\r\n        5087,  # Small Partial E95a Remote Capacitor Transmitter\r\n    ),\r\n    5091: (  # Small Inductive Compact Remote Capacitor Transmitter\r\n        5089,  # Small Murky Remote Capacitor Transmitter\r\n    ),\r\n    16489: (  # Medium Radiative Scoped Remote Capacitor Transmitter\r\n        16493,  # Medium Partial E95b Remote Capacitor Transmitter\r\n    ),\r\n    16495: (  # Medium Inductive Compact Remote Capacitor Transmitter\r\n        16491,  # Medium Murky Remote Capacitor Transmitter\r\n    ),\r\n    16481: (  # Large Radiative Scoped Remote Capacitor Transmitter\r\n        16485,  # Large Partial E95c Remote Capacitor Transmitter\r\n    ),\r\n    16487: (  # Large Inductive Compact Remote Capacitor Transmitter\r\n        16483,  # Large Murky Remote Capacitor Transmitter\r\n    )\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade37.py",
    "content": "\"\"\"\r\nMigration 37\r\n\r\n- Capacitor Booster tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    4959: (  # 'Seed' Micro Capacitor Booster I\r\n        4957,  # Micro Brief Capacitor Overcharge I\r\n        4961,  # Micro Tapered Capacitor Infusion I\r\n        4955,  # Micro F-RX Prototype Capacitor Boost\r\n        3556,  # Micro Capacitor Booster I\r\n        3558,  # Micro Capacitor Booster II\r\n        15774,  # Ammatar Navy Micro Capacitor Booster\r\n        14180,  # Dark Blood Micro Capacitor Booster\r\n        14182,  # True Sansha Micro Capacitor Booster\r\n        15782,  # Imperial Navy Micro Capacitor Booster\r\n    ),\r\n    5011: (  # Small F-RX Compact Capacitor Booster\r\n        5009,  # Small Brief Capacitor Overcharge I\r\n        5013,  # Small Tapered Capacitor Infusion I\r\n        5007,  # Small F-RX Prototype Capacitor Boost\r\n    ),\r\n    4833: (  # Medium F-RX Compact Capacitor Booster\r\n        4831,  # Medium Brief Capacitor Overcharge I\r\n        4835,  # Medium Tapered Capacitor Infusion I\r\n        4829,  # Medium F-RX Prototype Capacitor Boost\r\n    ),\r\n    5051: (  # Heavy F-RX Compact Capacitor Booster\r\n        5049,  # Heavy Brief Capacitor Overcharge I\r\n        5053,  # Heavy Tapered Capacitor Infusion I\r\n        5047,  # Heavy F-RX Prototype Capacitor Boost\r\n    )\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade38.py",
    "content": "\"\"\"\r\nMigration 38\r\n\r\n- Armor hardener tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    16357: (  # Experimental Enduring EM Armor Hardener I\r\n        16353,  # Upgraded Armor EM Hardener I\r\n    ),\r\n    16365: (  # Experimental Enduring Explosive Armor Hardener I\r\n        16361,  # Upgraded Armor Explosive Hardener I\r\n    ),\r\n    16373: (  # Experimental Enduring Kinetic Armor Hardener I\r\n        16369,  # Upgraded Armor Kinetic Hardener I\r\n    ),\r\n    16381: (  # Experimental Enduring Thermal Armor Hardener I\r\n        16377,  # Upgraded Armor Thermal Hardener I\r\n    ),\r\n    16359: (  # Prototype Compact EM Armor Hardener I\r\n        16355,  # Limited Armor EM Hardener I\r\n    ),\r\n    16367: (  # Prototype Compact Explosive Armor Hardener I\r\n        16363,  # Limited Armor Explosive Hardener I\r\n    ),\r\n    16375: (  # Prototype Compact Kinetic Armor Hardener I\r\n        16371,  # Limited Armor Kinetic Hardener I\r\n    ),\r\n    16383: (  # Prototype Compact Thermal Armor Hardener I\r\n        16379,  # Limited Armor Thermal Hardener I\r\n    )\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade39.py",
    "content": "\"\"\"\r\nMigration 39\r\n\r\n- Shield amplifier tiericide\r\n- CCP getting rid of DB TDs due to exploits\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    1798: (  # 'Basic' EM Shield Amplifier\r\n        9562,  # Supplemental EM Ward Amplifier\r\n    ),\r\n    1804: (  # 'Basic' Explosive Shield Amplifier\r\n        9574,  # Supplemental Explosive Deflection Amplifier\r\n    ),\r\n    1802: (  # 'Basic' Kinetic Shield Amplifier\r\n        9570,  # Supplemental Kinetic Deflection Amplifier\r\n    ),\r\n    1800: (  # 'Basic' Thermal Shield Amplifier\r\n        9566,  # Supplemental Thermal Dissipation Amplifier\r\n    ),\r\n    22933: (  # 'Investor' Tracking Disruptor I\r\n        32416,  # Dark Blood Tracking Disruptor\r\n    )\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade4.py",
    "content": "\"\"\"\r\nMigration 4\r\n\r\n- Converts modules based on Proteus Module Tiericide\r\n    Some modules have been unpublished (and unpublished module attributes are removed\r\n    from database), which causes pyfa to crash. We therefore replace these\r\n    modules with their new replacements\r\n\r\n    Based on https://www.eveonline.com/news/view/patch-notes-for-proteus\r\n    and output of itemDiff.py\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    506  : (  # 'Basic' Capacitor Power Relay\r\n        8205,  # Alpha Reactor Control: Capacitor Power Relay\r\n        8209,  # Marked Generator Refitting: Capacitor Power Relay\r\n        8203,  # Partial Power Plant Manager: Capacity Power Relay\r\n        8207,  # Type-E Power Core Modification: Capacitor Power Relay\r\n    ),\r\n    8177 : (  # Mark I Compact Capacitor Power Relay\r\n        8173,  # Beta Reactor Control: Capacitor Power Relay I\r\n    ),\r\n    8175 : (  # Type-D Restrained Capacitor Power Relay\r\n        8171,  # Local Power Plant Manager: Capacity Power Relay I\r\n    ),\r\n\r\n    421  : (  # 'Basic' Capacitor Recharger\r\n        4425,  # AGM Capacitor Charge Array,\r\n        4421,  # F-a10 Buffer Capacitor Regenerator\r\n        4423,  # Industrial Capacitor Recharger\r\n        4427,  # Secondary Parallel Link-Capacitor\r\n    ),\r\n    4435 : (  # Eutectic Compact Cap Recharger\r\n        4433,  # Barton Reactor Capacitor Recharger I\r\n        4431,  # F-b10 Nominal Capacitor Regenerator\r\n        4437,  # Fixed Parallel Link-Capacitor I\r\n    ),\r\n\r\n    1315 : (  # 'Basic' Expanded Cargohold\r\n        5483,  # Alpha Hull Mod Expanded Cargo\r\n        5479,  # Marked Modified SS Expanded Cargo\r\n        5481,  # Partial Hull Conversion Expanded Cargo\r\n        5485,  # Type-E Altered SS Expanded Cargo\r\n    ),\r\n    5493 : (  # Type-D Restrained Expanded Cargo\r\n        5491,  # Beta Hull Mod Expanded Cargo\r\n        5489,  # Local Hull Conversion Expanded Cargo I\r\n        5487,  # Mark I Modified SS Expanded Cargo\r\n    ),\r\n\r\n    1401 : (  # 'Basic' Inertial Stabilizers\r\n        5523,  # Alpha Hull Mod Inertial Stabilizers\r\n        5521,  # Partial Hull Conversion Inertial Stabilizers\r\n        5525,  # Type-E Altered SS Inertial Stabilizers\r\n    ),\r\n    5533 : (  # Type-D Restrained Inertial Stabilizers\r\n        5531,  # Beta Hull Mod Inertial Stabilizers\r\n        5529,  # Local Hull Conversion Inertial Stabilizers I\r\n        5527,  # Mark I Modified SS Inertial Stabilizers\r\n        5519,  # Marked Modified SS Inertial Stabilizers\r\n    ),\r\n\r\n    5239 : (  # EP-S Gaussian Scoped Mining Laser\r\n        5241,  # Dual Diode Mining Laser I\r\n    ),\r\n    5233 : (  # Single Diode Basic Mining Laser\r\n        5231,  # EP-R Argon Ion Basic Excavation Pulse\r\n        5237,  # Rubin Basic Particle Bore Stream\r\n        5235,  # Xenon Basic Drilling Beam\r\n    ),\r\n    5245 : (  # Particle Bore Compact Mining Laser\r\n        5243,  # XeCl Drilling Beam I\r\n    ),\r\n\r\n    22619: (  # Frigoris Restrained Ice Harvester Upgrade\r\n        22617,  # Crisium Ice Harvester Upgrade\r\n    ),\r\n    22611: (  # Elara Restrained Mining Laser Upgrade\r\n        22609,  # Erin Mining Laser Upgrade\r\n    ),\r\n\r\n    1242 : (  # 'Basic' Nanofiber Internal Structure\r\n        5591,  # Alpha Hull Mod Nanofiber Structure\r\n        5595,  # Marked Modified SS Nanofiber Structure\r\n        5559,  # Partial Hull Conversion Nanofiber Structure\r\n        5593,  # Type-E Altered SS Nanofiber Structure\r\n    ),\r\n    5599 : (  # Type-D Restrained Nanofiber Structure\r\n        5597,  # Beta Hull Mod Nanofiber Structure\r\n        5561,  # Local Hull Conversion Nanofiber Structure I\r\n        5601,  # Mark I Modified SS Nanofiber Structure\r\n    ),\r\n\r\n    1192 : (  # 'Basic' Overdrive Injector System\r\n        5613,  # Alpha Hull Mod Overdrive Injector\r\n        5617,  # Marked Modified SS Overdrive Injector\r\n        5611,  # Partial Hull Conversion Overdrive Injector\r\n        5615,  # Type-E Altered SS Overdrive Injector\r\n    ),\r\n    5631 : (  # Type-D Restrained Overdrive Injector\r\n        5629,  # Beta Hull Mod Overdrive Injector\r\n        5627,  # Local Hull Conversion Overdrive Injector I\r\n        5633,  # Mark I Modified SS Overdrive Injector\r\n    ),\r\n\r\n    1537 : (  # 'Basic' Power Diagnostic System\r\n        8213,  # Alpha Reactor Control: Diagnostic System\r\n        8217,  # Marked Generator Refitting: Diagnostic System\r\n        8211,  # Partial Power Plant Manager: Diagnostic System\r\n        8215,  # Type-E Power Core Modification: Diagnostic System\r\n        8255,  # Type-E Power Core Modification: Reaction Control\r\n    ),\r\n    8225 : (  # Mark I Compact Power Diagnostic System\r\n        8221,  # Beta Reactor Control: Diagnostic System I\r\n        8219,  # Local Power Plant Manager: Diagnostic System I\r\n        8223,  # Type-D Power Core Modification: Diagnostic System\r\n    ),\r\n\r\n    1240 : (  # 'Basic' Reinforced Bulkheads\r\n        5677,  # Alpha Hull Mod Reinforced Bulkheads\r\n        5681,  # Marked Modified SS Reinforced Bulkheads\r\n        5675,  # Partial Hull Conversion Reinforced Bulkheads\r\n        5679,  # Type-E Altered SS Reinforced Bulkheads\r\n    ),\r\n    5649 : (  # Mark I Compact Reinforced Bulkheads\r\n        5645,  # Beta Hull Mod Reinforced Bulkheads\r\n    ),\r\n    5647 : (  # Type-D Restrained Reinforced Bulkheads\r\n        5643,  # Local Hull Conversion Reinforced Bulkheads I\r\n    ),\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade40.py",
    "content": "\"\"\"\r\nMigration 40\r\n\r\nImports all item conversions since Migration 28 and runs them against module.baseItemID. This column seems to have been\r\nforgotten about since it's been added.\r\n\r\n\"\"\"\r\nfrom .upgrade36 import CONVERSIONS as u36\r\nfrom .upgrade37 import CONVERSIONS as u37\r\nfrom .upgrade38 import CONVERSIONS as u38\r\nfrom .upgrade39 import CONVERSIONS as u39\r\n\r\ndef upgrade(saveddata_engine):\r\n    for conversions in [u36, u37, u38, u39]:\r\n        for replacement_item, list in conversions.items():\r\n            for retired_item in list:\r\n                saveddata_engine.execute('UPDATE \"modules\" SET \"baseItemID\" = ? WHERE \"baseItemID\" = ?',\r\n                               (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade41.py",
    "content": "\"\"\"\r\nMigration 41\r\n\r\n- Resistance plating tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    16345: (  # Upgraded Layered Coating I\r\n        16347,  # Limited Layered Plating I\r\n        16349,  # 'Scarab' Layered Plating I\r\n        16351,  # 'Grail' Layered Plating I\r\n    ),\r\n    16305: (  # Upgraded Multispectrum Coating I\r\n        16307,  # Limited Adaptive Nano Plating I\r\n        16309,  # 'Collateral' Adaptive Nano Plating I\r\n        16311,  # 'Refuge' Adaptive Nano Plating I\r\n    ),\r\n    16329: (  # Upgraded EM Coating I\r\n        16331,  # Limited EM Plating I\r\n        16333,  # 'Contour' EM Plating I\r\n        16335,  # 'Spiegel' EM Plating I\r\n    ),\r\n    16321: (  # Upgraded Explosive Coating I\r\n        16323,  # Limited Explosive Plating I\r\n        16325,  # Experimental Explosive Plating I\r\n        16319,  # 'Aegis' Explosive Plating I\r\n    ),\r\n    16313: (  # Upgraded Kinetic Coating I\r\n        16315,  # Limited Kinetic Plating I\r\n        16317,  # Experimental Kinetic Plating I\r\n        16327,  # 'Element' Kinetic Plating I\r\n    ),\r\n    16337: (  # Upgraded Thermal Coating I\r\n        16339,  # Limited Thermal Plating I\r\n        16341,  # Experimental Thermal Plating I\r\n        16343,  # Prototype Thermal Plating I\r\n    )\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"baseItemID\" = ? WHERE \"baseItemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade42.py",
    "content": "\"\"\"\r\nMigration 42\r\n\r\n- Resistance membrane tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    16391: (  # Compact Multispectrum Energized Membrane\r\n        16389,  # Experimental Energized Adaptive Nano Membrane I\r\n        16387,  # Limited Energized Adaptive Nano Membrane I\r\n        16385,  # Upgraded Energized Adaptive Nano Membrane I\r\n    ),\r\n    16423: (  # Compact Layered Energized Membrane\r\n        16421,  # Experimental Energized Armor Layering Membrane I\r\n        16419,  # Limited Energized Armor Layering Membrane I\r\n        16417,  # Upgraded Energized Armor Layering Membrane I\r\n    ),\r\n    16415: (  # Compact EM Energized Membrane\r\n        16413,  # Experimental Energized EM Membrane I\r\n        16411,  # Limited Energized EM Membrane I\r\n        16409,  # Upgraded Energized EM Membrane I\r\n    ),\r\n    16407: (  # Compact Explosive Energized Membrane\r\n        16405,  # Experimental Energized Explosive Membrane I\r\n        16403,  # Limited Energized Explosive Membrane I\r\n        16401,  # Upgraded Energized Explosive Membrane I\r\n    ),\r\n    16399: (  # Compact Kinetic Energized Membrane\r\n        16397,  # Experimental Energized Kinetic Membrane I\r\n        16395,  # Limited Energized Kinetic Membrane I\r\n        16393,  # Upgraded Energized Kinetic Membrane I\r\n    ),\r\n    16431: (  # Compact Thermal Energized Membrane\r\n        16429,  # Experimental Energized Thermal Membrane I\r\n        16427,  # Limited Energized Thermal Membrane I\r\n        16425,  # Upgraded Energized Thermal Membrane I\r\n    )\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"baseItemID\" = ? WHERE \"baseItemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade43.py",
    "content": "\"\"\"\r\nMigration 43\r\n\r\n- Shield booster amplifier tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    16533: (  # Stalwart Restrained Shield Boost Amplifier\r\n        16531,  # 5a Prototype Shield Support I\r\n    ),\r\n    16535: (  # Copasetic Compact Shield Boost Amplifier\r\n        16529,  # Ionic Field Accelerator I\r\n    ),\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"baseItemID\" = ? WHERE \"baseItemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade44.py",
    "content": "\"\"\"\r\nMigration 44\r\n\r\n- Signal distortion amplifier tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    25565: (  # Hypnos Compact Signal Distortion Amplifier I\r\n        25571,  # Initiated Signal Distortion Amplifier I\r\n        25569,  # Induced Signal Distortion Amplifier I\r\n        25567,  # Compulsive Signal Distortion Amplifier I\r\n    ),\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"baseItemID\" = ? WHERE \"baseItemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade45.py",
    "content": "\"\"\"\r\nMigration 45\r\n\r\n- Drone mutaplasmid support\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    try:\r\n        saveddata_engine.execute(\"SELECT baseItemID FROM drones LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE drones ADD COLUMN baseItemID INTEGER;\")\r\n    try:\r\n        saveddata_engine.execute(\"SELECT mutaplasmidID FROM drones LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE drones ADD COLUMN mutaplasmidID INTEGER;\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade46.py",
    "content": "\"\"\"\r\nMigration 46\r\n\r\n- Mining crystal changes\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    60276: (  # Simple Asteroid Mining Crystal Type A I\r\n        18066,  # Veldspar Mining Crystal I\r\n        18062,  # Scordite Mining Crystal I\r\n        18060,  # Pyroxeres Mining Crystal I\r\n        18058,  # Plagioclase Mining Crystal I\r\n    ),\r\n    60281: (  # Simple Asteroid Mining Crystal Type A II\r\n        18618,  # Veldspar Mining Crystal II\r\n        18616,  # Scordite Mining Crystal II\r\n        18614,  # Pyroxeres Mining Crystal II\r\n        18612,  # Plagioclase Mining Crystal II\r\n    ),\r\n    60285: (  # Coherent Asteroid Mining Crystal Type A I\r\n        18056,  # Omber Mining Crystal I\r\n        18052,  # Kernite Mining Crystal I\r\n        18050,  # Jaspet Mining Crystal I\r\n        18048,  # Hemorphite Mining Crystal I\r\n        18046,  # Hedbergite Mining Crystal I\r\n    ),\r\n    60288: (  # Coherent Asteroid Mining Crystal Type A II\r\n        18610,  # Omber Mining Crystal II\r\n        18604,  # Jaspet Mining Crystal II\r\n        18606,  # Kernite Mining Crystal II\r\n        18600,  # Hedbergite Mining Crystal II\r\n        18602,  # Hemorphite Mining Crystal II\r\n    ),\r\n    60291: (  # Variegated Asteroid Mining Crystal Type A I\r\n        18044,  # Gneiss Mining Crystal I\r\n        18042,  # Dark Ochre Mining Crystal I\r\n        18040,  # Crokite Mining Crystal I\r\n    ),\r\n    60294: (  # Variegated Asteroid Mining Crystal Type A II\r\n        18598,  # Gneiss Mining Crystal II\r\n        18596,  # Dark Ochre Mining Crystal II\r\n        18594,  # Crokite Mining Crystal II\r\n    ),\r\n    60297: (  # Complex Asteroid Mining Crystal Type A I\r\n        18038,  # Bistot Mining Crystal I\r\n        18036,  # Arkonor Mining Crystal I\r\n        18064,  # Spodumain Mining Crystal I\r\n    ),\r\n    60300: (  # Complex Asteroid Mining Crystal Type A II\r\n        18592,  # Bistot Mining Crystal II\r\n        18590,  # Arkonor Mining Crystal II\r\n        18624,  # Spodumain Mining Crystal II\r\n    ),\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"baseItemID\" = ? WHERE \"baseItemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"chargeID\" = ? WHERE \"chargeID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade47.py",
    "content": "\"\"\"\r\nMigration 46\r\n\r\n- add support for server selection for SSO characters\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\ntmpTable = \"\"\"\r\n    CREATE TABLE ssoCharacterTemp (\r\n        ID INTEGER NOT NULL, \r\n        client VARCHAR NOT NULL, \r\n        characterID INTEGER NOT NULL, \r\n        characterName VARCHAR NOT NULL, \r\n        refreshToken VARCHAR NOT NULL, \r\n        accessToken VARCHAR NOT NULL, \r\n        accessTokenExpires DATETIME NOT NULL, \r\n        created DATETIME, \r\n        modified DATETIME,\r\n        server VARCHAR, \r\n        PRIMARY KEY (ID), \r\n        CONSTRAINT \"uix_client_server_characterID\" UNIQUE (client, server, characterID), \r\n        CONSTRAINT \"uix_client_server_characterName\" UNIQUE (client, server, characterName)\r\n    )\r\n\"\"\"\r\n\r\ndef upgrade(saveddata_engine):\r\n    try:\r\n        saveddata_engine.execute(\"SELECT server FROM ssoCharacter LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(tmpTable)\r\n        saveddata_engine.execute(\r\n            \"INSERT INTO ssoCharacterTemp (ID, client, characterID, characterName, refreshToken, accessToken, accessTokenExpires, created, modified, server) \"\r\n            \"SELECT ID, client, characterID, characterName, refreshToken, accessToken, accessTokenExpires, created, modified, 'Tranquility' \"\r\n            \"FROM ssoCharacter\")\r\n        saveddata_engine.execute(\"DROP TABLE ssoCharacter\")\r\n        saveddata_engine.execute(\"ALTER TABLE ssoCharacterTemp RENAME TO ssoCharacter\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade48.py",
    "content": "\"\"\"\r\nMigration 48\r\n\r\n- added pilot security column (CONCORD ships)\r\n\"\"\"\r\n\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    try:\r\n        saveddata_engine.execute(\"SELECT pilotSecurity FROM fits LIMIT 1\")\r\n    except sqlalchemy.exc.DatabaseError:\r\n        saveddata_engine.execute(\"ALTER TABLE fits ADD COLUMN pilotSecurity FLOAT\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade49.py",
    "content": "\"\"\"\r\nMigration 49\r\n\r\n- added hp column to targetResists table\r\n\"\"\"\r\n\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n        try:\r\n            saveddata_engine.execute(\"SELECT hp FROM targetResists LIMIT 1;\")\r\n        except sqlalchemy.exc.DatabaseError:\r\n            saveddata_engine.execute(\"ALTER TABLE targetResists ADD COLUMN hp FLOAT;\")\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade5.py",
    "content": "\"\"\"\r\nMigration 5\r\n\r\nSimply deletes damage profiles with a blank name. See GH issue #256\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    saveddata_engine.execute('DELETE FROM damagePatterns WHERE name LIKE ?', (\"\",))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade6.py",
    "content": "\"\"\"\r\nMigration 6\r\n\r\nOverwrites damage profile 0 to reset bad uniform values (bad values set with bug)\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    saveddata_engine.execute('DELETE FROM damagePatterns WHERE name LIKE ? OR ID LIKE ?', (\"Uniform\", \"1\"))\r\n    saveddata_engine.execute('INSERT INTO damagePatterns (ID, name, emAmount, thermalAmount, kineticAmount, explosiveAmount, ownerID) VALUES (?, ?, ?, ?, ?, ?, ?)',\r\n                             (1, \"Uniform\", 25, 25, 25, 25, None))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade7.py",
    "content": "\"\"\"\r\nMigration 7\r\n\r\n- Converts Scorpion Ishukone Watch to Scorpion\r\n\r\n    Mosaic introduced proper skinning system, and Ishukone Scorp\r\n    was the only ship which was presented as stand-alone ship in\r\n    Pyfa.\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    640: (  # Scorpion\r\n        4005,  # Scorpion Ishukone Watch\r\n    )\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert ships\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"fits\" SET \"shipID\" = ? WHERE \"shipID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade8.py",
    "content": "\"\"\"\r\nMigration 8\r\n\r\n- Converts modules based on Carnyx Module Tiericide\r\n    Some modules have been unpublished (and unpublished module attributes are removed\r\n    from database), which causes pyfa to crash. We therefore replace these\r\n    modules with their new replacements\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    8529 : (  # Large F-S9 Regolith Compact Shield Extender\r\n        8409,  # Large Subordinate Screen Stabilizer I\r\n    ),\r\n    8419 : (  # Large Azeotropic Restrained Shield Extender\r\n        8489,  # Large Supplemental Barrier Emitter I\r\n    ),\r\n    8517 : (  # Medium F-S9 Regolith Compact Shield Extender\r\n        8397,  # Medium Subordinate Screen Stabilizer I\r\n    ),\r\n    8433 : (  # Medium Azeotropic Restrained Shield Extender\r\n        8477,  # Medium Supplemental Barrier Emitter I\r\n    ),\r\n    20627: (  # Small 'Trapper' Shield Extender\r\n        8437,  # Micro Azeotropic Ward Salubrity I\r\n        8505,  # Micro F-S9 Regolith Shield Induction\r\n        3849,  # Micro Shield Extender I\r\n        3851,  # Micro Shield Extender II\r\n        8387,  # Micro Subordinate Screen Stabilizer I\r\n        8465,  # Micro Supplemental Barrier Emitter I\r\n    ),\r\n    8521 : (  # Small F-S9 Regolith Compact Shield Extender\r\n        8401,  # Small Subordinate Screen Stabilizer I\r\n    ),\r\n    8427 : (  # Small Azeotropic Restrained Shield Extender\r\n        8481,  # Small Supplemental Barrier Emitter I\r\n    ),\r\n    11343: (  # 100mm Crystalline Carbonide Restrained Plates\r\n        11345,  # 100mm Reinforced Nanofiber Plates I\r\n    ),\r\n    11341: (  # 100mm Rolled Tungsten Compact Plates\r\n        11339,  # 100mm Reinforced Titanium Plates I\r\n    ),\r\n    11327: (  # 1600mm Crystalline Carbonide Restrained Plates\r\n        11329,  # 1600mm Reinforced Nanofiber Plates I\r\n    ),\r\n    11325: (  # 1600mm Rolled Tungsten Compact Plates\r\n        11323,  # 1600mm Reinforced Titanium Plates I\r\n    ),\r\n    11351: (  # 200mm Crystalline Carbonide Restrained Plates\r\n        11353,  # 200mm Reinforced Nanofiber Plates I\r\n    ),\r\n    11349: (  # 200mm Rolled Tungsten Compact Plates\r\n        11347,  # 200mm Reinforced Titanium Plates I\r\n    ),\r\n    11311: (  # 400mm Crystalline Carbonide Restrained Plates\r\n        11313,  # 400mm Reinforced Nanofiber Plates I\r\n    ),\r\n    11309: (  # 400mm Rolled Tungsten Compact Plates\r\n        11307,  # 400mm Reinforced Titanium Plates I\r\n    ),\r\n    23791: (  # 'Citadella' 100mm Steel Plates\r\n        11335,  # 50mm Reinforced Crystalline Carbonide Plates I\r\n        11337,  # 50mm Reinforced Nanofiber Plates I\r\n        11333,  # 50mm Reinforced Rolled Tungsten Plates I\r\n        11291,  # 50mm Reinforced Steel Plates I\r\n        20343,  # 50mm Reinforced Steel Plates II\r\n        11331,  # 50mm Reinforced Titanium Plates I\r\n    ),\r\n    11319: (  # 800mm Crystalline Carbonide Restrained Plates\r\n        11321,  # 800mm Reinforced Nanofiber Plates I\r\n    ),\r\n    11317: (  # 800mm Rolled Tungsten Compact Plates\r\n        11315,  # 800mm Reinforced Titanium Plates I\r\n    ),\r\n}\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    # Convert modules\r\n    for replacement_item, list in CONVERSIONS.items():\r\n        for retired_item in list:\r\n            saveddata_engine.execute('UPDATE \"modules\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n            saveddata_engine.execute('UPDATE \"cargo\" SET \"itemID\" = ? WHERE \"itemID\" = ?',\r\n                                     (replacement_item, retired_item))\r\n"
  },
  {
    "path": "eos/db/migrations/upgrade9.py",
    "content": "\"\"\"\r\nMigration 9\r\n\r\nEffectively drops UNIQUE constraint from boosters table. SQLite does not support\r\nthis, so we have to copy the table to the updated schema and then rename it\r\n\"\"\"\r\n\r\ntmpTable = \"\"\"\r\nCREATE TABLE boostersTemp (\r\n    'ID' INTEGER NOT NULL,\r\n    'itemID' INTEGER,\r\n    'fitID' INTEGER NOT NULL,\r\n    'active' BOOLEAN,\r\n    PRIMARY KEY(ID),\r\n    FOREIGN KEY('fitID') REFERENCES fits ('ID')\r\n)\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n    saveddata_engine.execute(tmpTable)\r\n    saveddata_engine.execute(\r\n            \"INSERT INTO boostersTemp (ID, itemID, fitID, active) SELECT ID, itemID, fitID, active FROM boosters\")\r\n    saveddata_engine.execute(\"DROP TABLE boosters\")\r\n    saveddata_engine.execute(\"ALTER TABLE boostersTemp RENAME TO boosters\")\r\n"
  },
  {
    "path": "eos/db/saveddata/__init__.py",
    "content": "__all__ = [\r\n    \"character\",\r\n    \"fit\",\r\n    \"mutatorMod\",\r\n    \"mutatorDrone\",\r\n    \"module\",\r\n    \"user\",\r\n    \"skill\",\r\n    \"price\",\r\n    \"booster\",\r\n    \"drone\",\r\n    \"implant\",\r\n    \"damagePattern\",\r\n    \"miscData\",\r\n    \"targetProfile\",\r\n    \"override\",\r\n    \"implantSet\"\r\n]\r\n"
  },
  {
    "path": "eos/db/saveddata/booster.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, ForeignKey, Integer, Boolean, DateTime\r\nfrom sqlalchemy.orm import mapper, relation\r\nimport datetime\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.booster import Booster\r\nfrom eos.saveddata.boosterSideEffect import BoosterSideEffect\r\nfrom eos.saveddata.fit import Fit\r\n\r\nboosters_table = Table(\"boosters\", saveddata_meta,\r\n                       Column(\"ID\", Integer, primary_key=True),\r\n                       Column(\"itemID\", Integer),\r\n                       Column(\"fitID\", Integer, ForeignKey(\"fits.ID\"), nullable=False, index=True),\r\n                       Column(\"active\", Boolean),\r\n                       Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                       Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now),\r\n                       )\r\n\r\n\r\nbooster_side_effect_table = Table(\"boosterSideEffects\", saveddata_meta,\r\n                                  Column(\"boosterID\", Integer, ForeignKey(\"boosters.ID\"), primary_key=True, index=True),\r\n                                  Column(\"effectID\", Integer, nullable=False, primary_key=True),\r\n                                  Column(\"active\", Boolean, default=False)\r\n                                  )\r\n\r\n\r\nmapper(Booster, boosters_table,\r\n       properties={\r\n        \"owner\": relation(Fit),\r\n        \"_Booster__sideEffects\": relation(\r\n            BoosterSideEffect,\r\n            backref=\"booster\",\r\n            cascade='all, delete, delete-orphan'),\r\n       }\r\n       )\r\n\r\n\r\nmapper(BoosterSideEffect, booster_side_effect_table)\r\n"
  },
  {
    "path": "eos/db/saveddata/cargo.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, ForeignKey, DateTime\r\nfrom sqlalchemy.orm import mapper, relation\r\nimport datetime\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.cargo import Cargo\r\nfrom eos.saveddata.fit import Fit\r\n\r\ncargo_table = Table(\"cargo\", saveddata_meta,\r\n                    Column(\"ID\", Integer, primary_key=True),\r\n                    Column(\"fitID\", Integer, ForeignKey(\"fits.ID\"), nullable=False, index=True),\r\n                    Column(\"itemID\", Integer, nullable=False),\r\n                    Column(\"amount\", Integer, nullable=False),\r\n                    Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                    Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now),\r\n                    )\r\n\r\nmapper(Cargo, cargo_table,\r\n   properties={\r\n       \"owner\": relation(Fit)\r\n   }\r\n)\r\n"
  },
  {
    "path": "eos/db/saveddata/character.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, ForeignKey, String, DateTime, Float, UniqueConstraint\r\nfrom sqlalchemy.orm import relation, mapper\r\nimport datetime\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.db.saveddata.implant import charImplants_table\r\nfrom eos.effectHandlerHelpers import HandledImplantList, HandledSsoCharacterList\r\nfrom eos.saveddata.implant import Implant\r\nfrom eos.saveddata.user import User\r\nfrom eos.saveddata.character import Character, Skill\r\nfrom eos.saveddata.ssocharacter import SsoCharacter\r\n\r\ncharacters_table = Table(\"characters\", saveddata_meta,\r\n                         Column(\"ID\", Integer, primary_key=True),\r\n                         Column(\"name\", String, nullable=False),\r\n                         Column(\"defaultLevel\", Integer, nullable=True),\r\n                         Column(\"alphaCloneID\", Integer, nullable=True),\r\n                         Column(\"ownerID\", ForeignKey(\"users.ID\"), nullable=True),\r\n                         Column(\"secStatus\", Float, nullable=True, default=0.0),\r\n                         Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                         Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now))\r\n\r\nsso_table = Table(\"ssoCharacter\", saveddata_meta,\r\n    Column(\"ID\", Integer, primary_key=True),\r\n    Column(\"client\", String, nullable=False),\r\n    Column(\"characterID\", Integer, nullable=False),\r\n    Column(\"characterName\", String, nullable=False),\r\n    Column(\"server\", String, nullable=False),\r\n    Column(\"refreshToken\", String, nullable=False),\r\n    Column(\"accessToken\", String, nullable=False),\r\n    Column(\"accessTokenExpires\", DateTime, nullable=False),\r\n    Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n    Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now),\r\n    UniqueConstraint('client', 'server', 'characterID', name='uix_client_server_characterID'),\r\n    UniqueConstraint('client', 'server', 'characterName', name='uix_client_server_characterName'))\r\n\r\nsso_character_map_table = Table(\"ssoCharacterMap\", saveddata_meta,\r\n                    Column(\"characterID\", ForeignKey(\"characters.ID\"), primary_key=True),\r\n                    Column(\"ssoCharacterID\", ForeignKey(\"ssoCharacter.ID\"), primary_key=True),\r\n                  )\r\n\r\n\r\nmapper(SsoCharacter, sso_table)\r\n\r\nmapper(Character, characters_table,\r\n       properties={\r\n           \"_Character__alphaCloneID\": characters_table.c.alphaCloneID,\r\n           \"savedName\"               : characters_table.c.name,\r\n           \"_Character__secStatus\": characters_table.c.secStatus,\r\n           \"_Character__owner\"       : relation(\r\n                   User,\r\n                   backref=\"characters\"),\r\n           \"_Character__skills\"      : relation(\r\n                   Skill,\r\n                   backref=\"character\",\r\n                   cascade=\"all,delete-orphan\"),\r\n           \"_Character__implants\"    : relation(\r\n                   Implant,\r\n                   collection_class=HandledImplantList,\r\n                   cascade='all,delete-orphan',\r\n                   backref='character',\r\n                   single_parent=True,\r\n                   primaryjoin=charImplants_table.c.charID == characters_table.c.ID,\r\n                   secondaryjoin=charImplants_table.c.implantID == Implant.ID,\r\n                   secondary=charImplants_table),\r\n           \"_Character__ssoCharacters\"    : relation(\r\n                   SsoCharacter,\r\n                   collection_class=HandledSsoCharacterList,\r\n                   backref='characters',\r\n                   secondary=sso_character_map_table)\r\n       }\r\n       )\r\n"
  },
  {
    "path": "eos/db/saveddata/damagePattern.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, Float, ForeignKey, String, DateTime\r\nfrom sqlalchemy.orm import mapper\r\nimport datetime\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.damagePattern import DamagePattern\r\n\r\ndamagePatterns_table = Table(\r\n    'damagePatterns',\r\n    saveddata_meta,\r\n    Column('ID', Integer, primary_key=True),\r\n    Column('name', String),\r\n    Column('emAmount', Float),\r\n    Column('thermalAmount', Float),\r\n    Column('kineticAmount', Float),\r\n    Column('explosiveAmount', Float),\r\n    Column('ownerID', ForeignKey('users.ID'), nullable=True),\r\n    Column('created', DateTime, nullable=True, default=datetime.datetime.now),\r\n    Column('modified', DateTime, nullable=True, onupdate=datetime.datetime.now))\r\n\r\nmapper(\r\n    DamagePattern,\r\n    damagePatterns_table,\r\n    properties={'rawName': damagePatterns_table.c.name})\r\n"
  },
  {
    "path": "eos/db/saveddata/databaseRepair.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy.exc import DatabaseError\r\nfrom logbook import Logger\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass DatabaseCleanup:\r\n    def __init__(self):\r\n        pass\r\n\r\n    @staticmethod\r\n    def ExecuteSQLQuery(saveddata_engine, query):\r\n        try:\r\n            results = saveddata_engine.execute(query)\r\n            return results\r\n        except DatabaseError:\r\n            pyfalog.error(\"Failed to connect to database or error executing query:\\n{0}\", query)\r\n            return None\r\n\r\n    @staticmethod\r\n    def OrphanedCharacterSkills(saveddata_engine):\r\n        # Find orphaned character skills.\r\n        # This solves an issue where the character doesn't exist, but skills for that character do.\r\n        # See issue #917\r\n        pyfalog.debug(\"Running database cleanup for character skills.\")\r\n        query = \"SELECT COUNT(*) AS num FROM characterSkills WHERE characterID NOT IN (SELECT ID from characters)\"\r\n        results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n\r\n        if results is None:\r\n            return\r\n\r\n        row = results.first()\r\n\r\n        if row and row['num']:\r\n            query = \"DELETE FROM characterSkills WHERE characterID NOT IN (SELECT ID from characters)\"\r\n            delete = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n            pyfalog.error(\"Database corruption found. Cleaning up {0} records.\", delete.rowcount)\r\n\r\n    @staticmethod\r\n    def OrphanedFitDamagePatterns(saveddata_engine):\r\n        # Find orphaned damage patterns.\r\n        # This solves an issue where the damage pattern doesn't exist, but fits reference the pattern.\r\n        # See issue #777\r\n        pyfalog.debug(\"Running database cleanup for orphaned damage patterns attached to fits.\")\r\n        query = \"SELECT COUNT(*) AS num FROM fits WHERE damagePatternID NOT IN (SELECT ID FROM damagePatterns) OR damagePatternID IS NULL\"\r\n        results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n\r\n        if results is None:\r\n            return\r\n\r\n        row = results.first()\r\n\r\n        if row and row['num']:\r\n            # Get Uniform damage pattern ID\r\n            uniform_query = \"SELECT ID FROM damagePatterns WHERE name = 'Uniform'\"\r\n            uniform_results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, uniform_query)\r\n\r\n            if uniform_results is None:\r\n                return\r\n\r\n            rows = uniform_results.fetchall()\r\n\r\n            if len(rows) == 0:\r\n                pyfalog.error(\"Missing uniform damage pattern.\")\r\n            elif len(rows) > 1:\r\n                pyfalog.error(\"More than one uniform damage pattern found.\")\r\n            else:\r\n                uniform_damage_pattern_id = rows[0]['ID']\r\n                update_query = \"UPDATE 'fits' SET 'damagePatternID' = {} \" \\\r\n                               \"WHERE damagePatternID NOT IN (SELECT ID FROM damagePatterns) OR damagePatternID IS NULL\".format(uniform_damage_pattern_id)\r\n                update_results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, update_query)\r\n                pyfalog.error(\"Database corruption found. Cleaning up {0} records.\", update_results.rowcount)\r\n\r\n    @staticmethod\r\n    def OrphanedFitCharacterIDs(saveddata_engine):\r\n        # Find orphaned character IDs. This solves an issue where the character doesn't exist, but fits reference the pattern.\r\n        pyfalog.debug(\"Running database cleanup for orphaned characters attached to fits.\")\r\n        query = \"SELECT COUNT(*) AS num FROM fits WHERE characterID NOT IN (SELECT ID FROM characters) OR characterID IS NULL\"\r\n        results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n\r\n        if results is None:\r\n            return\r\n\r\n        row = results.first()\r\n\r\n        if row and row['num']:\r\n            # Get All 5 character ID\r\n            all5_query = \"SELECT ID FROM characters WHERE name = 'All 5'\"\r\n            all5_results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, all5_query)\r\n\r\n            if all5_results is None:\r\n                return\r\n\r\n            rows = all5_results.fetchall()\r\n\r\n            if len(rows) == 0:\r\n                pyfalog.error(\"Missing 'All 5' character.\")\r\n            elif len(rows) > 1:\r\n                pyfalog.error(\"More than one 'All 5' character found.\")\r\n            else:\r\n                all5_id = rows[0]['ID']\r\n                update_query = \"UPDATE 'fits' SET 'characterID' = \" + str(all5_id) + \\\r\n                               \" WHERE characterID not in (select ID from characters) OR characterID IS NULL\"\r\n                update_results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, update_query)\r\n                pyfalog.error(\"Database corruption found. Cleaning up {0} records.\", update_results.rowcount)\r\n\r\n    @staticmethod\r\n    def NullDamagePatternNames(saveddata_engine):\r\n        # Find damage patterns that are missing the name.\r\n        # This solves an issue where the damage pattern ends up with a name that is null.\r\n        # See issue #949\r\n        pyfalog.debug(\"Running database cleanup for missing damage pattern names.\")\r\n        query = \"SELECT COUNT(*) AS num FROM damagePatterns WHERE name IS NULL OR name = ''\"\r\n        results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n\r\n        if results is None:\r\n            return\r\n\r\n        row = results.first()\r\n\r\n        if row and row['num']:\r\n            query = \"DELETE FROM damagePatterns WHERE name IS NULL OR name = ''\"\r\n            delete = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n            pyfalog.error(\"Database corruption found. Cleaning up {0} records.\", delete.rowcount)\r\n\r\n    @staticmethod\r\n    def NullTargetResistNames(saveddata_engine):\r\n        # Find target resists that are missing the name.\r\n        # This solves an issue where the target resist ends up with a name that is null.\r\n        # See issue #949\r\n        pyfalog.debug(\"Running database cleanup for missing target resist names.\")\r\n        query = \"SELECT COUNT(*) AS num FROM targetResists WHERE name IS NULL OR name = ''\"\r\n        results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n\r\n        if results is None:\r\n            return\r\n\r\n        row = results.first()\r\n\r\n        if row and row['num']:\r\n            query = \"DELETE FROM targetResists WHERE name IS NULL OR name = ''\"\r\n            delete = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n            pyfalog.error(\"Database corruption found. Cleaning up {0} records.\", delete.rowcount)\r\n\r\n    @staticmethod\r\n    def OrphanedFitIDItemID(saveddata_engine):\r\n        # Orphaned items that are missing the fit ID or item ID.\r\n        # See issue #954\r\n        for table in ['drones', 'cargo', 'fighters']:\r\n            pyfalog.debug(\"Running database cleanup for orphaned {0} items.\", table)\r\n            query = \"SELECT COUNT(*) AS num FROM {} WHERE itemID IS NULL OR itemID = '' or itemID = '0' or fitID IS NULL OR fitID = '' or fitID = '0'\".format(\r\n                    table)\r\n            results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n\r\n            if results is None:\r\n                return\r\n\r\n            row = results.first()\r\n\r\n            if row and row['num']:\r\n                query = \"DELETE FROM {} WHERE itemID IS NULL OR itemID = '' or itemID = '0' or fitID IS NULL OR fitID = '' or fitID = '0'\".format(\r\n                        table)\r\n                delete = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n                pyfalog.error(\"Database corruption found. Cleaning up {0} records.\", delete.rowcount)\r\n\r\n        for table in ['modules']:\r\n            pyfalog.debug(\"Running database cleanup for orphaned {0} items.\", table)\r\n            query = \"SELECT COUNT(*) AS num FROM {} WHERE itemID = '0' or fitID IS NULL OR fitID = '' or fitID = '0'\".format(\r\n                    table)\r\n            results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n\r\n            if results is None:\r\n                return\r\n\r\n            row = results.first()\r\n\r\n            if row and row['num']:\r\n                query = \"DELETE FROM {} WHERE itemID = '0' or fitID IS NULL OR fitID = '' or fitID = '0'\".format(table)\r\n                delete = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n                pyfalog.error(\"Database corruption found. Cleaning up {0} records.\", delete.rowcount)\r\n\r\n    @staticmethod\r\n    def NullDamageTargetPatternValues(saveddata_engine):\r\n        # Find patterns that have null values\r\n        # See issue #954\r\n        for profileType in ['damagePatterns', 'targetResists']:\r\n            for damageType in ['em', 'thermal', 'kinetic', 'explosive']:\r\n                pyfalog.debug(\"Running database cleanup for null {0} values. ({1})\", profileType, damageType)\r\n                query = \"SELECT COUNT(*) AS num FROM {0} WHERE {1}Amount IS NULL OR {1}Amount = ''\".format(profileType,\r\n                                                                                                           damageType)\r\n                results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n\r\n                if results is None:\r\n                    return\r\n\r\n                row = results.first()\r\n\r\n                if row and row['num']:\r\n                    query = \"UPDATE '{0}' SET '{1}Amount' = '0' WHERE {1}Amount IS NULL OR {1}Amount = ''\".format(profileType,\r\n                                                                                                                  damageType)\r\n                    delete = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n                    pyfalog.error(\"Database corruption found. Cleaning up {0} records.\", delete.rowcount)\r\n\r\n    @staticmethod\r\n    def DuplicateSelectedAmmoName(saveddata_engine):\r\n        # Orphaned items that are missing the fit ID or item ID.\r\n        # See issue #954\r\n        pyfalog.debug(\"Running database cleanup for duplicated selected ammo profiles.\")\r\n        query = \"SELECT COUNT(*) AS num FROM damagePatterns WHERE name = 'Selected Ammo'\"\r\n        results = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n\r\n        if results is None:\r\n            return\r\n\r\n        row = results.first()\r\n\r\n        if row and row['num'] > 1:\r\n            query = \"DELETE FROM damagePatterns WHERE name = 'Selected Ammo'\"\r\n            delete = DatabaseCleanup.ExecuteSQLQuery(saveddata_engine, query)\r\n            pyfalog.error(\"Database corruption found. Cleaning up {0} records.\", delete.rowcount)\r\n"
  },
  {
    "path": "eos/db/saveddata/drone.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, Float, ForeignKey, Boolean, DateTime\r\nfrom sqlalchemy.orm import mapper, relation, synonym\r\nfrom sqlalchemy.orm.collections import attribute_mapped_collection\r\nimport datetime\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fit import Fit\r\nfrom eos.saveddata.mutator import MutatorDrone\r\n\r\ndrones_table = Table(\"drones\", saveddata_meta,\r\n                     Column(\"groupID\", Integer, primary_key=True),\r\n                     Column(\"fitID\", Integer, ForeignKey(\"fits.ID\"), nullable=False, index=True),\r\n                     Column(\"itemID\", Integer, nullable=False),\r\n                     Column(\"baseItemID\", Integer, nullable=True),\r\n                     Column(\"mutaplasmidID\", Integer, nullable=True),\r\n                     Column(\"amount\", Integer, nullable=False),\r\n                     Column(\"amountActive\", Integer, nullable=False),\r\n                     Column(\"projected\", Boolean, default=False),\r\n                     Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                     Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now),\r\n                     Column(\"projectionRange\", Float, nullable=True))\r\n\r\n\r\nmapper(Drone, drones_table,\r\n   properties={\r\n       \"ID\": synonym(\"groupID\"),\r\n       \"owner\": relation(Fit),\r\n       \"mutators\": relation(\r\n               MutatorDrone,\r\n               backref=\"item\",\r\n               cascade=\"all,delete-orphan\",\r\n               collection_class=attribute_mapped_collection('attrID'))})\r\n"
  },
  {
    "path": "eos/db/saveddata/fighter.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, Float, ForeignKey, Boolean, DateTime\r\nfrom sqlalchemy.orm import mapper, relation\r\nimport datetime\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.fighterAbility import FighterAbility\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom eos.saveddata.fit import Fit\r\n\r\nfighters_table = Table(\"fighters\", saveddata_meta,\r\n                       Column(\"groupID\", Integer, primary_key=True),\r\n                       Column(\"fitID\", Integer, ForeignKey(\"fits.ID\"), nullable=False, index=True),\r\n                       Column(\"itemID\", Integer, nullable=False),\r\n                       Column(\"active\", Boolean, nullable=True),\r\n                       Column(\"amount\", Integer, nullable=False),\r\n                       Column(\"projected\", Boolean, default=False),\r\n                       Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                       Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now),\r\n                       Column(\"projectionRange\", Float, nullable=True),\r\n                       )\r\n\r\nfighter_abilities_table = Table(\"fightersAbilities\", saveddata_meta,\r\n                                Column(\"groupID\", Integer, ForeignKey(\"fighters.groupID\"), primary_key=True,\r\n                                       index=True),\r\n                                Column(\"effectID\", Integer, nullable=False, primary_key=True),\r\n                                Column(\"active\", Boolean, default=False))\r\n\r\nmapper(Fighter, fighters_table,\r\n       properties={\r\n           \"owner\"              : relation(Fit),\r\n           \"_amount\"            : fighters_table.c.amount,\r\n           \"_Fighter__abilities\": relation(\r\n                   FighterAbility,\r\n                   backref=\"fighter\",\r\n                   cascade='all, delete, delete-orphan'),\r\n       })\r\n\r\nmapper(FighterAbility, fighter_abilities_table)\r\n"
  },
  {
    "path": "eos/db/saveddata/fit.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport datetime\r\n\r\nfrom sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, Float, String, Table\r\nfrom sqlalchemy.ext.associationproxy import association_proxy\r\nfrom sqlalchemy.orm import mapper, reconstructor, relation, relationship\r\nfrom sqlalchemy.orm.collections import attribute_mapped_collection\r\nfrom sqlalchemy.sql import and_\r\n\r\nfrom eos.db import saveddata_meta, saveddata_session\r\nfrom eos.db.saveddata.cargo import cargo_table\r\nfrom eos.db.saveddata.drone import drones_table\r\nfrom eos.db.saveddata.fighter import fighters_table\r\nfrom eos.db.saveddata.implant import fitImplants_table\r\nfrom eos.db.saveddata.module import modules_table\r\nfrom eos.effectHandlerHelpers import HandledDroneCargoList, HandledImplantList, HandledBoosterList, HandledModuleList, HandledProjectedDroneList, HandledProjectedModList\r\nfrom eos.saveddata.booster import Booster\r\nfrom eos.saveddata.cargo import Cargo\r\nfrom eos.saveddata.character import Character\r\nfrom eos.saveddata.damagePattern import DamagePattern\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom eos.saveddata.fit import Fit as es_Fit\r\nfrom eos.saveddata.implant import Implant\r\nfrom eos.saveddata.module import Module\r\nfrom eos.saveddata.targetProfile import TargetProfile\r\nfrom eos.saveddata.user import User\r\n\r\n\r\nfits_table = Table(\"fits\", saveddata_meta,\r\n                   Column(\"ID\", Integer, primary_key=True),\r\n                   Column(\"ownerID\", ForeignKey(\"users.ID\"), nullable=True, index=True),\r\n                   Column(\"shipID\", Integer, nullable=False, index=True),\r\n                   Column(\"name\", String, nullable=False),\r\n                   Column(\"timestamp\", Integer, nullable=False),\r\n                   Column(\"characterID\", ForeignKey(\"characters.ID\"), nullable=True),\r\n                   Column(\"damagePatternID\", ForeignKey(\"damagePatterns.ID\"), nullable=True),\r\n                   Column(\"builtinDamagePatternID\", Integer, nullable=True),\r\n                   Column(\"booster\", Boolean, nullable=False, index=True, default=0),\r\n                   Column(\"targetResistsID\", ForeignKey(\"targetResists.ID\"), nullable=True),\r\n                   Column(\"builtinTargetResistsID\", Integer, nullable=True),\r\n                   Column(\"modeID\", Integer, nullable=True),\r\n                   Column(\"implantLocation\", Integer, nullable=False),\r\n                   Column(\"notes\", String, nullable=True),\r\n                   Column(\"ignoreRestrictions\", Boolean, default=0),\r\n                   Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                   Column(\"modified\", DateTime, nullable=True, default=datetime.datetime.now, onupdate=datetime.datetime.now),\r\n                   Column(\"systemSecurity\", Integer, nullable=True),\r\n                   Column(\"pilotSecurity\", Float, nullable=True),\r\n                   )\r\n\r\nprojectedFits_table = Table(\"projectedFits\", saveddata_meta,\r\n                            Column(\"sourceID\", ForeignKey(\"fits.ID\"), primary_key=True),\r\n                            Column(\"victimID\", ForeignKey(\"fits.ID\"), primary_key=True),\r\n                            Column(\"amount\", Integer, nullable=False, default=1),\r\n                            Column(\"active\", Boolean, nullable=False, default=1),\r\n                            Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                            Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now),\r\n                            Column(\"projectionRange\", Float, nullable=True),\r\n                            )\r\n\r\ncommandFits_table = Table(\"commandFits\", saveddata_meta,\r\n                          Column(\"boosterID\", ForeignKey(\"fits.ID\"), primary_key=True),\r\n                          Column(\"boostedID\", ForeignKey(\"fits.ID\"), primary_key=True),\r\n                          Column(\"active\", Boolean, nullable=False, default=1),\r\n                          Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                          Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now)\r\n                          )\r\n\r\n\r\nclass ProjectedFit:\r\n\r\n    def __init__(self, sourceID, source_fit, amount=1, active=True):\r\n        self.sourceID = sourceID\r\n        self.source_fit = source_fit\r\n        self.active = active\r\n        self.__amount = amount\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        if self.source_fit.isInvalid:\r\n            # Very rare for this to happen, but be prepared for it\r\n            saveddata_session.delete(self.source_fit)\r\n            saveddata_session.flush()\r\n            saveddata_session.refresh(self.victim_fit)\r\n\r\n    # We have a series of setters and getters here just in case someone\r\n    # downgrades and screws up the table with NULL values\r\n    @property\r\n    def amount(self):\r\n        return self.__amount or 1\r\n\r\n    @amount.setter\r\n    def amount(self, amount):\r\n        self.__amount = amount\r\n\r\n    def __repr__(self):\r\n        return \"ProjectedFit(sourceID={}, victimID={}, amount={}, active={}) at {}\".format(\r\n                self.sourceID, self.victimID, self.amount, self.active, hex(id(self))\r\n        )\r\n\r\n\r\nclass CommandFit:\r\n    def __init__(self, boosterID, booster_fit, active=True):\r\n        self.boosterID = boosterID\r\n        self.booster_fit = booster_fit\r\n        self.active = active\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        if self.booster_fit.isInvalid:\r\n            # Very rare for this to happen, but be prepared for it\r\n            saveddata_session.delete(self.booster_fit)\r\n            saveddata_session.flush()\r\n            saveddata_session.refresh(self.boosted_fit)\r\n\r\n    def __repr__(self):\r\n        return \"CommandFit(boosterID={}, boostedID={}, active={}) at {}\".format(\r\n                self.boosterID, self.boostedID, self.active, hex(id(self))\r\n        )\r\n\r\n\r\nes_Fit.projectedFitDict = association_proxy(\r\n        \"victimOf\",  # look at the victimOf association...\r\n        \"source_fit\",  # .. and return the source fits\r\n        creator=lambda sourceID, source_fit: ProjectedFit(sourceID, source_fit)\r\n)\r\n\r\nes_Fit.commandFitDict = association_proxy(\r\n        \"boostedOf\",  # look at the boostedOf association...\r\n        \"booster_fit\",  # .. and return the booster fit\r\n        creator=lambda boosterID, booster_fit: CommandFit(boosterID, booster_fit)\r\n)\r\n\r\n\r\n# These relationships are broken out so that we can easily access it in the events stuff\r\n# We sometimes don't want particular relationships to cause a fit modified update (eg: projecting\r\n# a fit onto another would 'modify' both fits unless the following relationship is ignored)\r\nprojectedFitSourceRel = relationship(\r\n   ProjectedFit,\r\n   primaryjoin=projectedFits_table.c.sourceID == fits_table.c.ID,\r\n   backref='source_fit',\r\n   collection_class=attribute_mapped_collection('victimID'),\r\n   cascade='all, delete, delete-orphan')\r\n\r\n\r\nboostedOntoRel = relationship(\r\n   CommandFit,\r\n   primaryjoin=commandFits_table.c.boosterID == fits_table.c.ID,\r\n   backref='booster_fit',\r\n   collection_class=attribute_mapped_collection('boostedID'),\r\n   cascade='all, delete, delete-orphan')\r\n\r\nmapper(es_Fit, fits_table,\r\n       properties={\r\n           \"_Fit__modules\": relation(\r\n                   Module,\r\n                   collection_class=HandledModuleList,\r\n                   primaryjoin=and_(modules_table.c.fitID == fits_table.c.ID, modules_table.c.projected == False),  # noqa\r\n                   order_by=modules_table.c.position,\r\n                   overlaps='owner',\r\n                   cascade='all, delete, delete-orphan'),\r\n           \"_Fit__projectedModules\": relation(\r\n                   Module,\r\n                   collection_class=HandledProjectedModList,\r\n                   overlaps='owner, _Fit__modules',\r\n                   cascade='all, delete, delete-orphan',\r\n                   primaryjoin=and_(modules_table.c.fitID == fits_table.c.ID, modules_table.c.projected == True)),  # noqa\r\n           \"owner\": relation(\r\n                   User,\r\n                   backref=\"fits\"),\r\n           \"itemID\": fits_table.c.shipID,\r\n           \"shipID\": fits_table.c.shipID,\r\n           \"_Fit__boosters\": relation(\r\n                   Booster,\r\n                   collection_class=HandledBoosterList,\r\n                   overlaps='owner',\r\n                   cascade='all, delete, delete-orphan'),\r\n           \"_Fit__drones\": relation(\r\n                   Drone,\r\n                   collection_class=HandledDroneCargoList,\r\n                   overlaps='owner',\r\n                   cascade='all, delete, delete-orphan',\r\n                   primaryjoin=and_(drones_table.c.fitID == fits_table.c.ID, drones_table.c.projected == False)),  # noqa\r\n           \"_Fit__fighters\": relation(\r\n                   Fighter,\r\n                   collection_class=HandledDroneCargoList,\r\n                   overlaps='owner',\r\n                   cascade='all, delete, delete-orphan',\r\n                   primaryjoin=and_(fighters_table.c.fitID == fits_table.c.ID, fighters_table.c.projected == False)),  # noqa\r\n           \"_Fit__cargo\": relation(\r\n                   Cargo,\r\n                   collection_class=HandledDroneCargoList,\r\n                   overlaps='owner',\r\n                   cascade='all, delete, delete-orphan',\r\n                   primaryjoin=and_(cargo_table.c.fitID == fits_table.c.ID)),\r\n           \"_Fit__projectedDrones\": relation(\r\n                   Drone,\r\n                   collection_class=HandledProjectedDroneList,\r\n                   overlaps='owner, _Fit__drones',\r\n                   cascade='all, delete, delete-orphan',\r\n                   primaryjoin=and_(drones_table.c.fitID == fits_table.c.ID, drones_table.c.projected == True)),  # noqa\r\n           \"_Fit__projectedFighters\": relation(\r\n                   Fighter,\r\n                   collection_class=HandledProjectedDroneList,\r\n                   overlaps='owner, _Fit__fighters',\r\n                   cascade='all, delete, delete-orphan',\r\n                   primaryjoin=and_(fighters_table.c.fitID == fits_table.c.ID, fighters_table.c.projected == True)),  # noqa\r\n           \"_Fit__implants\": relation(\r\n                   Implant,\r\n                   collection_class=HandledImplantList,\r\n                   cascade='all, delete, delete-orphan',\r\n                   backref='owner',\r\n                   single_parent=True,\r\n                   primaryjoin=fitImplants_table.c.fitID == fits_table.c.ID,\r\n                   secondaryjoin=fitImplants_table.c.implantID == Implant.ID,\r\n                   secondary=fitImplants_table),\r\n           \"_Fit__character\": relation(\r\n                   Character,\r\n                   backref=\"fits\"),\r\n           \"_Fit__userDamagePattern\": relation(DamagePattern),\r\n           \"_Fit__builtinDamagePatternID\": fits_table.c.builtinDamagePatternID,\r\n           \"_Fit__userTargetProfile\": relation(TargetProfile),\r\n           \"_Fit__builtinTargetProfileID\": fits_table.c.builtinTargetResistsID,\r\n           \"projectedOnto\": projectedFitSourceRel,\r\n           \"victimOf\": relationship(\r\n                   ProjectedFit,\r\n                   primaryjoin=fits_table.c.ID == projectedFits_table.c.victimID,\r\n                   backref='victim_fit',\r\n                   collection_class=attribute_mapped_collection('sourceID'),\r\n                   cascade='all, delete, delete-orphan'),\r\n           \"boostedOnto\": boostedOntoRel,\r\n           \"boostedOf\": relationship(\r\n                   CommandFit,\r\n                   primaryjoin=fits_table.c.ID == commandFits_table.c.boostedID,\r\n                   backref='boosted_fit',\r\n                   collection_class=attribute_mapped_collection('boosterID'),\r\n                   cascade='all, delete, delete-orphan'),\r\n       }\r\n)\r\n\r\nmapper(ProjectedFit, projectedFits_table,\r\n   properties={\r\n       \"_ProjectedFit__amount\": projectedFits_table.c.amount,\r\n   }\r\n)\r\n\r\nmapper(CommandFit, commandFits_table)\r\n"
  },
  {
    "path": "eos/db/saveddata/implant.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, ForeignKey, Boolean, DateTime\r\nfrom sqlalchemy.orm import mapper\r\nimport datetime\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.implant import Implant\r\n\r\nimplants_table = Table(\"implants\", saveddata_meta,\r\n                       Column(\"ID\", Integer, primary_key=True),\r\n                       Column(\"itemID\", Integer),\r\n                       Column(\"active\", Boolean),\r\n                       Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                       Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now)\r\n                       )\r\n\r\nfitImplants_table = Table(\"fitImplants\", saveddata_meta,\r\n                          Column(\"fitID\", ForeignKey(\"fits.ID\"), index=True),\r\n                          Column(\"implantID\", ForeignKey(\"implants.ID\"), primary_key=True))\r\n\r\ncharImplants_table = Table(\"charImplants\", saveddata_meta,\r\n                           Column(\"charID\", ForeignKey(\"characters.ID\"), index=True),\r\n                           Column(\"implantID\", ForeignKey(\"implants.ID\"), primary_key=True))\r\n\r\nimplantsSetMap_table = Table(\"implantSetMap\", saveddata_meta,\r\n                             Column(\"setID\", ForeignKey(\"implantSets.ID\"), index=True),\r\n                             Column(\"implantID\", ForeignKey(\"implants.ID\"), primary_key=True))\r\n\r\nmapper(Implant, implants_table)\r\n"
  },
  {
    "path": "eos/db/saveddata/implantSet.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2016 Ryan Holmes\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, String, DateTime\r\nfrom sqlalchemy.orm import relation, mapper\r\nimport datetime\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.db.saveddata.implant import implantsSetMap_table\r\nfrom eos.effectHandlerHelpers import HandledImplantList\r\nfrom eos.saveddata.implant import Implant\r\nfrom eos.saveddata.implantSet import ImplantSet\r\n\r\nimplant_set_table = Table(\"implantSets\", saveddata_meta,\r\n                          Column(\"ID\", Integer, primary_key=True),\r\n                          Column(\"name\", String, nullable=False),\r\n                          Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                          Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now)\r\n                          )\r\n\r\nmapper(ImplantSet, implant_set_table,\r\n       properties={\r\n           \"_ImplantSet__implants\": relation(\r\n                   Implant,\r\n                   collection_class=HandledImplantList,\r\n                   cascade='all, delete, delete-orphan',\r\n                   backref='set',\r\n                   single_parent=True,\r\n                   primaryjoin=implantsSetMap_table.c.setID == implant_set_table.c.ID,\r\n                   secondaryjoin=implantsSetMap_table.c.implantID == Implant.ID,\r\n                   secondary=implantsSetMap_table),\r\n       }\r\n       )\r\n"
  },
  {
    "path": "eos/db/saveddata/miscData.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2011 Anton Vorobyov\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Column, Table, String\r\nfrom sqlalchemy.orm import mapper\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.miscData import MiscData\r\n\r\nmiscdata_table = Table(\"miscdata\", saveddata_meta,\r\n                       Column(\"fieldName\", String, primary_key=True),\r\n                       Column(\"fieldValue\", String))\r\n\r\nmapper(MiscData, miscdata_table)\r\n"
  },
  {
    "path": "eos/db/saveddata/module.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, Float, ForeignKey, CheckConstraint, Boolean, DateTime\r\nfrom sqlalchemy.orm import relation, mapper\r\nfrom sqlalchemy.orm.collections import attribute_mapped_collection\r\nimport datetime\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.module import Module\r\nfrom eos.saveddata.fit import Fit\r\nfrom eos.saveddata.mutator import MutatorModule\r\n\r\nmodules_table = Table(\"modules\", saveddata_meta,\r\n                      Column(\"ID\", Integer, primary_key=True),\r\n                      Column(\"fitID\", Integer, ForeignKey(\"fits.ID\"), nullable=False, index=True),\r\n                      Column(\"itemID\", Integer, nullable=True),\r\n                      Column(\"baseItemID\", Integer, nullable=True),\r\n                      Column(\"mutaplasmidID\", Integer, nullable=True),\r\n                      Column(\"dummySlot\", Integer, nullable=True, default=None),\r\n                      Column(\"chargeID\", Integer),\r\n                      Column(\"state\", Integer, CheckConstraint(\"state >= -1\"), CheckConstraint(\"state <= 2\")),\r\n                      Column(\"projected\", Boolean, default=False, nullable=False),\r\n                      Column(\"position\", Integer),\r\n                      Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                      Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now),\r\n                      Column(\"spoolType\", Integer, nullable=True),\r\n                      Column(\"spoolAmount\", Float, nullable=True),\r\n                      Column(\"projectionRange\", Float, nullable=True),\r\n                      CheckConstraint('(\"dummySlot\" = NULL OR \"itemID\" = NULL) AND \"dummySlot\" != \"itemID\"'))\r\n\r\n\r\nmapper(Module, modules_table,\r\n       properties={\r\n           \"owner\": relation(Fit),\r\n           \"mutators\": relation(\r\n                   MutatorModule,\r\n                   backref=\"item\",\r\n                   cascade=\"all,delete-orphan\",\r\n                   collection_class=attribute_mapped_collection('attrID'))})\r\n"
  },
  {
    "path": "eos/db/saveddata/mutatorDrone.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport datetime\r\n\r\nfrom sqlalchemy import Column, DateTime, Float, ForeignKey, Integer, Table\r\nfrom sqlalchemy.orm import mapper\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.mutator import MutatorDrone\r\n\r\nmutatorDrones_table = Table(\r\n    \"mutatorsDrones\", saveddata_meta,\r\n    Column(\"groupID\", Integer, ForeignKey(\"drones.groupID\"), primary_key=True, index=True),\r\n    Column(\"attrID\", Integer, primary_key=True, index=True),\r\n    Column(\"value\", Float, nullable=False),\r\n    Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n    Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now))\r\n\r\nmapper(MutatorDrone, mutatorDrones_table)\r\n"
  },
  {
    "path": "eos/db/saveddata/mutatorMod.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport datetime\r\n\r\nfrom sqlalchemy import Column, DateTime, Float, ForeignKey, Integer, Table\r\nfrom sqlalchemy.orm import mapper\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.mutator import MutatorModule\r\n\r\nmutatorMods_table = Table(\r\n    \"mutators\", saveddata_meta,\r\n    Column(\"moduleID\", Integer, ForeignKey(\"modules.ID\"), primary_key=True, index=True),\r\n    Column(\"attrID\", Integer, primary_key=True, index=True),\r\n    Column(\"value\", Float, nullable=False),\r\n    Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n    Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now))\r\n\r\nmapper(MutatorModule, mutatorMods_table)\r\n"
  },
  {
    "path": "eos/db/saveddata/override.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, Float, DateTime\r\nfrom sqlalchemy.orm import mapper\r\nimport datetime\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.override import Override\r\n\r\noverrides_table = Table(\"overrides\", saveddata_meta,\r\n                        Column(\"itemID\", Integer, primary_key=True, index=True),\r\n                        Column(\"attrID\", Integer, primary_key=True, index=True),\r\n                        Column(\"value\", Float, nullable=False),\r\n                        Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                        Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now)\r\n                        )\r\n\r\nmapper(Override, overrides_table)\r\n"
  },
  {
    "path": "eos/db/saveddata/price.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\n\r\nfrom sqlalchemy import Table, Column, Float, Integer\r\nfrom sqlalchemy.orm import mapper\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.price import Price\r\n\r\n\r\nprices_table = Table(\"prices\", saveddata_meta,\r\n                     Column(\"typeID\", Integer, primary_key=True),\r\n                     Column(\"price\", Float, default=0.0),\r\n                     Column(\"time\", Integer, nullable=False),\r\n                     Column(\"status\", Integer, nullable=False))\r\n\r\n\r\nmapper(Price, prices_table)\r\n"
  },
  {
    "path": "eos/db/saveddata/queries.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport sys\r\n\r\nfrom sqlalchemy.sql import and_\r\nfrom sqlalchemy import desc, select\r\nfrom sqlalchemy import func\r\n\r\nfrom eos.db import saveddata_session, sd_lock\r\nfrom eos.db.saveddata.fit import fits_table, projectedFits_table\r\nfrom eos.db.util import processEager, processWhere\r\nfrom eos.saveddata.price import Price\r\nfrom eos.saveddata.user import User\r\nfrom eos.saveddata.ssocharacter import SsoCharacter\r\nfrom eos.saveddata.damagePattern import DamagePattern\r\nfrom eos.saveddata.targetProfile import TargetProfile\r\nfrom eos.saveddata.character import Character\r\nfrom eos.saveddata.implantSet import ImplantSet\r\nfrom eos.saveddata.fit import Fit, FitLite\r\nfrom eos.saveddata.module import Module\r\nfrom eos.saveddata.miscData import MiscData\r\nfrom eos.saveddata.override import Override\r\n\r\nimport eos.config\r\n\r\nconfigVal = getattr(eos.config, \"saveddataCache\", None)\r\nif configVal is True:\r\n    import weakref\r\n\r\n    itemCache = {}\r\n    queryCache = {}\r\n\r\n    def cachedQuery(type, amount, *keywords):\r\n        itemCache[type] = localItemCache = weakref.WeakValueDictionary()\r\n        queryCache[type] = typeQueryCache = {}\r\n\r\n        def deco(function):\r\n            localQueryCache = typeQueryCache[function] = {}\r\n\r\n            def setCache(cacheKey, args, kwargs):\r\n                items = function(*args, **kwargs)\r\n                IDs = set()\r\n                localQueryCache[cacheKey] = (isinstance(items, list), IDs)\r\n                stuff = items if isinstance(items, list) else (items,)\r\n                for item in stuff:\r\n                    ID = getattr(item, \"ID\", None)\r\n                    if ID is None:\r\n                        # Some uncachable data, don't cache this query\r\n                        del localQueryCache[cacheKey]\r\n                        break\r\n                    localItemCache[ID] = item\r\n                    IDs.add(ID)\r\n\r\n                return items\r\n\r\n            def checkAndReturn(*args, **kwargs):\r\n                useCache = kwargs.pop(\"useCache\", True)\r\n                cacheKey = []\r\n                items = None\r\n                cacheKey.extend(args)\r\n                for keyword in keywords:\r\n                    cacheKey.append(kwargs.get(keyword))\r\n\r\n                cacheKey = tuple(cacheKey)\r\n                info = localQueryCache.get(cacheKey)\r\n                if info is None or not useCache:\r\n                    items = setCache(cacheKey, args, kwargs)\r\n                else:\r\n                    l, IDs = info\r\n                    if l:\r\n                        items = []\r\n                        for ID in IDs:\r\n                            data = localItemCache.get(ID)\r\n                            if data is None:\r\n                                # Fuck, some of our stuff isn't cached it seems.\r\n                                items = setCache(cacheKey, args, kwargs)\r\n                                break\r\n                            items.append(data)\r\n                    else:\r\n                        for ID in IDs:\r\n                            items = localItemCache.get(ID)\r\n                            if items is None:\r\n                                items = setCache(cacheKey, args, kwargs)\r\n                            break\r\n\r\n                return items\r\n\r\n            return checkAndReturn\r\n\r\n        return deco\r\n\r\n    def removeCachedEntry(type, ID):\r\n        if type not in queryCache:\r\n            return\r\n        functionCache = queryCache[type]\r\n        for _, localCache in functionCache.items():\r\n            toDelete = set()\r\n            for cacheKey, info in localCache.items():\r\n                IDs = info[1]\r\n                if ID in IDs:\r\n                    toDelete.add(cacheKey)\r\n\r\n            for cacheKey in toDelete:\r\n                del localCache[cacheKey]\r\n\r\n            if ID in itemCache[type]:\r\n                del itemCache[type][ID]\r\n\r\nelif callable(configVal):\r\n    cachedQuery, removeCachedEntry = eos.config.gamedataCache\r\nelse:\r\n    def cachedQuery(amount, *keywords):\r\n        def deco(function):\r\n            def checkAndReturn(*args, **kwargs):\r\n                return function(*args, **kwargs)\r\n\r\n            return checkAndReturn\r\n\r\n        return deco\r\n\r\n    def removeCachedEntry(*args, **kwargs):\r\n        return\r\n\r\n\r\ndef sqlizeString(line):\r\n    # Escape backslashes first, as they will be as escape symbol in queries\r\n    # Then escape percent and underscore signs\r\n    # Finally, replace generic wildcards with sql-style wildcards\r\n    line = line.replace(\"\\\\\", \"\\\\\\\\\").replace(\"%\", \"\\\\%\").replace(\"_\", \"\\\\_\").replace(\"*\", \"%\")\r\n    return line\r\n\r\n\r\n@cachedQuery(User, 1, \"lookfor\")\r\ndef getUser(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        if eager is None:\r\n            with sd_lock:\r\n                user = saveddata_session.query(User).get(lookfor)\r\n        else:\r\n            eager = processEager(eager)\r\n            with sd_lock:\r\n                user = saveddata_session.query(User).options(*eager).filter(User.ID == lookfor).first()\r\n    elif isinstance(lookfor, str):\r\n        eager = processEager(eager)\r\n        with sd_lock:\r\n            user = saveddata_session.query(User).options(*eager).filter(User.username == lookfor).first()\r\n    else:\r\n        raise TypeError(\"Need integer or string as argument\")\r\n    return user\r\n\r\n\r\n@cachedQuery(Character, 1, \"lookfor\")\r\ndef getCharacter(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        if eager is None:\r\n            with sd_lock:\r\n                character = saveddata_session.query(Character).get(lookfor)\r\n        else:\r\n            eager = processEager(eager)\r\n            with sd_lock:\r\n                character = saveddata_session.query(Character).options(*eager).filter(Character.ID == lookfor).first()\r\n    elif isinstance(lookfor, str):\r\n        eager = processEager(eager)\r\n        with sd_lock:\r\n            character = saveddata_session.query(Character).options(*eager).filter(\r\n                    Character.savedName == lookfor).first()\r\n    else:\r\n        raise TypeError(\"Need integer or string as argument\")\r\n    return character\r\n\r\n\r\ndef getCharacterList(eager=None):\r\n    eager = processEager(eager)\r\n    with sd_lock:\r\n        characters = saveddata_session.query(Character).options(*eager).all()\r\n    return characters\r\n\r\n\r\ndef getCharactersForUser(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        eager = processEager(eager)\r\n        with sd_lock:\r\n            characters = saveddata_session.query(Character).options(*eager).filter(Character.ownerID == lookfor).all()\r\n    else:\r\n        raise TypeError(\"Need integer as argument\")\r\n    return characters\r\n\r\n\r\n@cachedQuery(Fit, 1, \"lookfor\")\r\ndef getFit(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        if eager is None:\r\n            with sd_lock:\r\n                fit = saveddata_session.query(Fit).get(lookfor)\r\n        else:\r\n            eager = processEager(eager)\r\n            with sd_lock:\r\n                fit = saveddata_session.query(Fit).options(*eager).filter(Fit.ID == lookfor).first()\r\n    else:\r\n        raise TypeError(\"Need integer as argument\")\r\n\r\n    if fit and fit.isInvalid:\r\n        with sd_lock:\r\n            removeInvalid([fit])\r\n        return None\r\n\r\n    return fit\r\n\r\n\r\ndef getFitsWithShip(shipID, ownerID=None, where=None, eager=None):\r\n    \"\"\"\r\n    Get all the fits using a certain ship.\r\n    If no user is passed, do this for all users.\r\n    \"\"\"\r\n    if isinstance(shipID, int):\r\n        if ownerID is not None and not isinstance(ownerID, int):\r\n            raise TypeError(\"OwnerID must be integer\")\r\n        filter = Fit.shipID == shipID\r\n        if ownerID is not None:\r\n            filter = and_(filter, Fit.ownerID == ownerID)\r\n\r\n        filter = processWhere(filter, where)\r\n        eager = processEager(eager)\r\n        with sd_lock:\r\n            fits = removeInvalid(saveddata_session.query(Fit).options(*eager).filter(filter).all())\r\n    else:\r\n        raise TypeError(\"ShipID must be integer\")\r\n\r\n    return fits\r\n\r\n\r\ndef getRecentFits(ownerID=None, where=None, eager=None):\r\n    eager = processEager(eager)\r\n    with sd_lock:\r\n        q = select((\r\n            Fit.ID,\r\n            Fit.shipID,\r\n            Fit.name,\r\n            Fit.modified,\r\n            Fit.created,\r\n            Fit.timestamp,\r\n            Fit.notes\r\n        )).order_by(desc(Fit.modified), desc(Fit.timestamp)).limit(50)\r\n        fits = eos.db.saveddata_session.execute(q).fetchall()\r\n\r\n    return fits\r\n\r\n\r\ndef getFitsWithModules(typeIDs, eager=None):\r\n    \"\"\"\r\n    Get all the fits that have typeIDs fitted to them\r\n    \"\"\"\r\n\r\n    if not hasattr(typeIDs, \"__iter__\"):\r\n        typeIDs = (typeIDs,)\r\n\r\n    eager = processEager(eager)\r\n    with sd_lock:\r\n        fits = removeInvalid(saveddata_session.query(Fit).join(Module).options(*eager).filter(Module.itemID.in_(typeIDs)).all())\r\n\r\n    return fits\r\n\r\n\r\ndef countAllFits():\r\n    with sd_lock:\r\n        count = saveddata_session.query(Fit).count()\r\n    return count\r\n\r\n\r\ndef countFitGroupedByShip():\r\n    with sd_lock:\r\n        count = eos.db.saveddata_session.query(Fit.shipID, func.count(Fit.shipID)).group_by(Fit.shipID).all()\r\n    return count\r\n\r\n\r\ndef countFitsWithShip(lookfor, ownerID=None, where=None, eager=None):\r\n    \"\"\"\r\n    Get all the fits using a certain ship.\r\n    If no user is passed, do this for all users.\r\n    \"\"\"\r\n    if ownerID is not None and not isinstance(ownerID, int):\r\n        raise TypeError(\"OwnerID must be integer\")\r\n\r\n    if isinstance(lookfor, int):\r\n        filter = Fit.shipID == lookfor\r\n    elif isinstance(lookfor, list):\r\n        if len(lookfor) == 0:\r\n            return 0\r\n        filter = Fit.shipID.in_(lookfor)\r\n    else:\r\n        raise TypeError(\"You must supply either an integer or ShipID must be integer\")\r\n\r\n    if ownerID is not None:\r\n        filter = and_(filter, Fit.ownerID == ownerID)\r\n\r\n    filter = processWhere(filter, where)\r\n    eager = processEager(eager)\r\n    with sd_lock:\r\n        count = saveddata_session.query(Fit).options(*eager).filter(filter).count()\r\n\r\n    return count\r\n\r\n\r\ndef getFitList(eager=None):\r\n    eager = processEager(eager)\r\n    with sd_lock:\r\n        fits = removeInvalid(saveddata_session.query(Fit).options(*eager).all())\r\n\r\n    return fits\r\n\r\n\r\ndef getFitListLite():\r\n    with sd_lock:\r\n        stmt = select([fits_table.c.ID, fits_table.c.name, fits_table.c.shipID])\r\n        data = eos.db.saveddata_session.execute(stmt).fetchall()\r\n    fits = []\r\n    for fitID, fitName, shipID in data:\r\n        fit = FitLite(id=fitID, name=fitName, shipID=shipID)\r\n        fits.append(fit)\r\n    return fits\r\n\r\n\r\n@cachedQuery(Price, 1, \"typeID\")\r\ndef getPrice(typeID):\r\n    if isinstance(typeID, int):\r\n        with sd_lock:\r\n            price = saveddata_session.query(Price).get(typeID)\r\n    else:\r\n        raise TypeError(\"Need integer as argument\")\r\n    return price\r\n\r\n\r\ndef clearPrices():\r\n    with sd_lock:\r\n        deleted_rows = saveddata_session.query(Price).delete()\r\n    commit()\r\n    return deleted_rows\r\n\r\n\r\ndef getMiscData(field):\r\n    if isinstance(field, str):\r\n        with sd_lock:\r\n            data = saveddata_session.query(MiscData).get(field)\r\n    else:\r\n        raise TypeError(\"Need string as argument\")\r\n    return data\r\n\r\n\r\ndef getDamagePatternList(eager=None):\r\n    eager = processEager(eager)\r\n    with sd_lock:\r\n        patterns = saveddata_session.query(DamagePattern).options(*eager).all()\r\n    return patterns\r\n\r\n\r\ndef clearDamagePatterns():\r\n    with sd_lock:\r\n        deleted_rows = saveddata_session.query(DamagePattern).filter(DamagePattern.name != 'Uniform').delete()\r\n    commit()\r\n    return deleted_rows\r\n\r\n\r\ndef getTargetProfileList(eager=None):\r\n    eager = processEager(eager)\r\n    with sd_lock:\r\n        patterns = saveddata_session.query(TargetProfile).options(*eager).all()\r\n    return patterns\r\n\r\n\r\ndef clearTargetProfiles():\r\n    with sd_lock:\r\n        deleted_rows = saveddata_session.query(TargetProfile).delete()\r\n    commit()\r\n    return deleted_rows\r\n\r\n\r\ndef getImplantSetList(eager=None):\r\n    eager = processEager(eager)\r\n    with sd_lock:\r\n        sets = saveddata_session.query(ImplantSet).options(*eager).all()\r\n    return sets\r\n\r\n\r\n@cachedQuery(DamagePattern, 1, \"lookfor\")\r\ndef getDamagePattern(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        if eager is None:\r\n            with sd_lock:\r\n                pattern = saveddata_session.query(DamagePattern).get(lookfor)\r\n        else:\r\n            eager = processEager(eager)\r\n            with sd_lock:\r\n                pattern = saveddata_session.query(DamagePattern).options(*eager).filter(\r\n                        DamagePattern.ID == lookfor).first()\r\n    elif isinstance(lookfor, str):\r\n        eager = processEager(eager)\r\n        with sd_lock:\r\n            pattern = saveddata_session.query(DamagePattern).options(*eager).filter(\r\n                    DamagePattern.rawName == lookfor).first()\r\n    else:\r\n        raise TypeError(\"Need integer or string as argument\")\r\n    return pattern\r\n\r\n\r\n@cachedQuery(TargetProfile, 1, \"lookfor\")\r\ndef getTargetProfile(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        if eager is None:\r\n            with sd_lock:\r\n                pattern = saveddata_session.query(TargetProfile).get(lookfor)\r\n        else:\r\n            eager = processEager(eager)\r\n            with sd_lock:\r\n                pattern = saveddata_session.query(TargetProfile).options(*eager).filter(\r\n                    TargetProfile.ID == lookfor).first()\r\n    elif isinstance(lookfor, str):\r\n        eager = processEager(eager)\r\n        with sd_lock:\r\n            pattern = saveddata_session.query(TargetProfile).options(*eager).filter(\r\n                TargetProfile.rawName == lookfor).first()\r\n    else:\r\n        raise TypeError(\"Need integer or string as argument\")\r\n    return pattern\r\n\r\n\r\n@cachedQuery(ImplantSet, 1, \"lookfor\")\r\ndef getImplantSet(lookfor, eager=None):\r\n    if isinstance(lookfor, int):\r\n        if eager is None:\r\n            with sd_lock:\r\n                pattern = saveddata_session.query(ImplantSet).get(lookfor)\r\n        else:\r\n            eager = processEager(eager)\r\n            with sd_lock:\r\n                pattern = saveddata_session.query(ImplantSet).options(*eager).filter(\r\n                    TargetProfile.ID == lookfor).first()\r\n    elif isinstance(lookfor, str):\r\n        eager = processEager(eager)\r\n        with sd_lock:\r\n            pattern = saveddata_session.query(ImplantSet).options(*eager).filter(TargetProfile.name == lookfor).first()\r\n    else:\r\n        raise TypeError(\"Improper argument\")\r\n    return pattern\r\n\r\n\r\ndef searchFits(nameLike, where=None, eager=None):\r\n    if not isinstance(nameLike, str):\r\n        raise TypeError(\"Need string as argument\")\r\n    # Prepare our string for request\r\n    nameLike = \"%{0}%\".format(sqlizeString(nameLike))\r\n\r\n    # Add any extra components to the search to our where clause\r\n    filter = processWhere(Fit.name.like(nameLike, escape=\"\\\\\"), where)\r\n    eager = processEager(eager)\r\n    with sd_lock:\r\n        fits = removeInvalid(saveddata_session.query(Fit).options(*eager).filter(filter).limit(100).all())\r\n\r\n    return fits\r\n\r\n\r\ndef getProjectedFits(fitID):\r\n    if isinstance(fitID, int):\r\n        with sd_lock:\r\n            filter = and_(projectedFits_table.c.sourceID == fitID, Fit.ID == projectedFits_table.c.victimID)\r\n            fits = saveddata_session.query(Fit).filter(filter).all()\r\n            return fits\r\n    else:\r\n        raise TypeError(\"Need integer as argument\")\r\n\r\n\r\ndef getSsoCharacters(clientHash, eager=None):\r\n    eager = processEager(eager)\r\n    with sd_lock:\r\n        characters = saveddata_session.query(SsoCharacter).filter(SsoCharacter.client == clientHash).options(*eager).all()\r\n    return characters\r\n\r\n\r\n@cachedQuery(SsoCharacter, 1, \"lookfor\", \"clientHash\")\r\ndef getSsoCharacter(lookfor, clientHash, server=None, eager=None):\r\n    filter = SsoCharacter.client == clientHash\r\n\r\n    if server is not None:\r\n        filter = and_(filter, SsoCharacter.server == server)\r\n\r\n    if isinstance(lookfor, int):\r\n        filter = and_(filter, SsoCharacter.ID == lookfor)\r\n    elif isinstance(lookfor, str):\r\n        filter = and_(filter, SsoCharacter.characterName == lookfor)\r\n    else:\r\n        raise TypeError(\"Need integer or string as argument\")\r\n\r\n    eager = processEager(eager)\r\n    with sd_lock:\r\n        character = saveddata_session.query(SsoCharacter).options(*eager).filter(filter).first()\r\n\r\n    return character\r\n\r\n\r\ndef getOverrides(itemID, eager=None):\r\n    if isinstance(itemID, int):\r\n        return saveddata_session.query(Override).filter(Override.itemID == itemID).all()\r\n    else:\r\n        raise TypeError(\"Need integer as argument\")\r\n\r\n\r\ndef clearOverrides():\r\n    with sd_lock:\r\n        deleted_rows = saveddata_session.query(Override).delete()\r\n    commit()\r\n    return deleted_rows\r\n\r\n\r\ndef getAllOverrides(eager=None):\r\n    return saveddata_session.query(Override).all()\r\n\r\n\r\ndef removeInvalid(fits):\r\n    invalids = [f for f in fits if f.isInvalid]\r\n\r\n    if invalids:\r\n        list(map(fits.remove, invalids))\r\n        list(map(saveddata_session.delete, invalids))\r\n        saveddata_session.commit()\r\n\r\n    return fits\r\n\r\n\r\ndef add(stuff):\r\n    with sd_lock:\r\n        saveddata_session.add(stuff)\r\n\r\n\r\ndef save(stuff):\r\n    add(stuff)\r\n    commit()\r\n\r\n\r\ndef remove(stuff):\r\n    removeCachedEntry(type(stuff), stuff.ID)\r\n    with sd_lock:\r\n        saveddata_session.delete(stuff)\r\n    commit()\r\n\r\n\r\ndef commit():\r\n    with sd_lock:\r\n        try:\r\n            saveddata_session.commit()\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception:\r\n            saveddata_session.rollback()\r\n            exc_info = sys.exc_info()\r\n            raise exc_info[0](exc_info[1]).with_traceback(exc_info[2])\r\n\r\n\r\ndef flush():\r\n    with sd_lock:\r\n        try:\r\n            saveddata_session.flush()\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception:\r\n            saveddata_session.rollback()\r\n            exc_info = sys.exc_info()\r\n            raise exc_info[0](exc_info[1]).with_traceback(exc_info[2])\r\n"
  },
  {
    "path": "eos/db/saveddata/skill.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, ForeignKey, DateTime\r\nfrom sqlalchemy.orm import mapper\r\nimport datetime\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.character import Skill\r\n\r\n\r\nskills_table = Table(\"characterSkills\", saveddata_meta,\r\n                     Column(\"characterID\", ForeignKey(\"characters.ID\"), primary_key=True, index=True),\r\n                     Column(\"itemID\", Integer, primary_key=True),\r\n                     Column(\"_Skill__level\", Integer, nullable=True),\r\n                     Column(\"created\", DateTime, nullable=True, default=datetime.datetime.now),\r\n                     Column(\"modified\", DateTime, nullable=True, onupdate=datetime.datetime.now)\r\n                     )\r\n\r\nmapper(Skill, skills_table)\r\n"
  },
  {
    "path": "eos/db/saveddata/targetProfile.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, Float, ForeignKey, String, DateTime\r\nfrom sqlalchemy.orm import mapper\r\nimport datetime\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.targetProfile import TargetProfile\r\n\r\n\r\ntargetProfiles_table = Table(\r\n    'targetResists',\r\n    saveddata_meta,\r\n    Column('ID', Integer, primary_key=True),\r\n    Column('name', String),\r\n    Column('emAmount', Float),\r\n    Column('thermalAmount', Float),\r\n    Column('kineticAmount', Float),\r\n    Column('explosiveAmount', Float),\r\n    Column('maxVelocity', Float, nullable=True),\r\n    Column('signatureRadius', Float, nullable=True),\r\n    Column('radius', Float, nullable=True),\r\n    Column('hp', Float, nullable=True),\r\n    Column('ownerID', ForeignKey('users.ID'), nullable=True),\r\n    Column('created', DateTime, nullable=True, default=datetime.datetime.now),\r\n    Column('modified', DateTime, nullable=True, onupdate=datetime.datetime.now))\r\n\r\nmapper(\r\n    TargetProfile,\r\n    targetProfiles_table,\r\n    properties={\r\n        'rawName': targetProfiles_table.c.name,\r\n        '_maxVelocity': targetProfiles_table.c.maxVelocity,\r\n        '_signatureRadius': targetProfiles_table.c.signatureRadius,\r\n        '_radius': targetProfiles_table.c.radius,\r\n        '_hp': targetProfiles_table.c.hp})\r\n"
  },
  {
    "path": "eos/db/saveddata/user.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy import Table, Column, Integer, String, Boolean\r\nfrom sqlalchemy.orm import mapper\r\n\r\nfrom eos.db import saveddata_meta\r\nfrom eos.saveddata.user import User\r\n\r\nusers_table = Table(\"users\", saveddata_meta,\r\n                    Column(\"ID\", Integer, primary_key=True),\r\n                    Column(\"username\", String, nullable=False, unique=True),\r\n                    Column(\"password\", String, nullable=False),\r\n                    Column(\"admin\", Boolean, nullable=False))\r\n\r\nmapper(User, users_table)\r\n"
  },
  {
    "path": "eos/db/util.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy.orm import eagerload\r\nfrom sqlalchemy.sql import and_\r\n\r\nreplace = {\r\n    \"attributes\"      : \"_Item__attributes\",\r\n    \"modules\"         : \"_Fit__modules\",\r\n    \"projectedModules\": \"_Fit__projectedModules\",\r\n    \"boosters\"        : \"_Fit__boosters\",\r\n    \"drones\"          : \"_Fit__drones\",\r\n    \"projectedDrones\" : \"_Fit__projectedDrones\",\r\n    \"implants\"        : \"_Fit__implants\",\r\n    \"character\"       : \"_Fit__character\",\r\n    \"damagePattern\"   : \"_Fit__damagePattern\",\r\n    \"projectedFits\"   : \"_Fit__projectedFits\"\r\n}\r\n\r\n\r\ndef processEager(eager):\r\n    if eager is None:\r\n        return tuple()\r\n    else:\r\n        l = []\r\n        if isinstance(eager, str):\r\n            eager = (eager,)\r\n\r\n        for e in eager:\r\n            l.append(eagerload(_replacements(e)))\r\n\r\n        return l\r\n\r\n\r\ndef _replacements(eagerString):\r\n    splitEager = eagerString.split(\".\")\r\n    for i in range(len(splitEager)):\r\n        part = splitEager[i]\r\n        replacement = replace.get(part)\r\n        if replacement:\r\n            splitEager[i] = replacement\r\n\r\n    return \".\".join(splitEager)\r\n\r\n\r\ndef processWhere(clause, where):\r\n    if where is not None:\r\n        if not hasattr(where, \"__iter__\"):\r\n            where = (where,)\r\n\r\n        try:\r\n            for extraClause in where:\r\n                clause = and_(clause, extraClause)\r\n        except NotImplementedError:\r\n            clause = and_(clause, where)\r\n\r\n    return clause\r\n"
  },
  {
    "path": "eos/effectHandlerHelpers.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\n\r\nfrom logbook import Logger\r\nfrom sqlalchemy.orm.attributes import flag_dirty\r\nfrom sqlalchemy.orm.collections import collection\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass HandledList(list):\r\n    def filteredItemPreAssign(self, filter, *args, **kwargs):\r\n        for element in self:\r\n            try:\r\n                if filter(element):\r\n                    element.preAssignItemAttr(*args, **kwargs)\r\n            except AttributeError:\r\n                pass\r\n\r\n    def filteredItemIncrease(self, filter, *args, **kwargs):\r\n        for element in self:\r\n            try:\r\n                if filter(element):\r\n                    element.increaseItemAttr(*args, **kwargs)\r\n            except AttributeError:\r\n                pass\r\n\r\n    def filteredItemMultiply(self, filter, *args, **kwargs):\r\n        for element in self:\r\n            try:\r\n                if filter(element):\r\n                    element.multiplyItemAttr(*args, **kwargs)\r\n            except AttributeError:\r\n                pass\r\n\r\n    def filteredItemBoost(self, filter, *args, **kwargs):\r\n        for element in self:\r\n            try:\r\n                if filter(element):\r\n                    element.boostItemAttr(*args, **kwargs)\r\n            except AttributeError:\r\n                pass\r\n\r\n    def filteredItemForce(self, filter, *args, **kwargs):\r\n        for element in self:\r\n            try:\r\n                if filter(element):\r\n                    element.forceItemAttr(*args, **kwargs)\r\n            except AttributeError:\r\n                pass\r\n\r\n    def filteredChargePreAssign(self, filter, *args, **kwargs):\r\n        for element in self:\r\n            try:\r\n                if filter(element):\r\n                    element.preAssignChargeAttr(*args, **kwargs)\r\n            except AttributeError:\r\n                pass\r\n\r\n    def filteredChargeIncrease(self, filter, *args, **kwargs):\r\n        for element in self:\r\n            try:\r\n                if filter(element):\r\n                    element.increaseChargeAttr(*args, **kwargs)\r\n            except AttributeError:\r\n                pass\r\n\r\n    def filteredChargeMultiply(self, filter, *args, **kwargs):\r\n        for element in self:\r\n            try:\r\n                if filter(element):\r\n                    element.multiplyChargeAttr(*args, **kwargs)\r\n            except AttributeError:\r\n                pass\r\n\r\n    def filteredChargeBoost(self, filter, *args, **kwargs):\r\n        for element in self:\r\n            try:\r\n                if filter(element):\r\n                    element.boostChargeAttr(*args, **kwargs)\r\n            except AttributeError:\r\n                pass\r\n\r\n    def filteredChargeForce(self, filter, *args, **kwargs):\r\n        for element in self:\r\n            try:\r\n                if filter(element):\r\n                    element.forceChargeAttr(*args, **kwargs)\r\n            except AttributeError:\r\n                pass\r\n\r\n    def remove(self, thing):\r\n        # We must flag it as modified, otherwise it not be removed from the database\r\n        flag_dirty(thing)\r\n        list.remove(self, thing)\r\n\r\n    def sort(self, *args, **kwargs):\r\n        # We need it here to prevent external users from accidentally sorting the list as alot of\r\n        # external logic relies on keeping modules at their places\r\n        raise NotImplementedError\r\n\r\n\r\nclass HandledModuleList(HandledList):\r\n\r\n    def append(self, mod):\r\n        emptyPosition = float(\"Inf\")\r\n        for i in range(len(self)):\r\n            currMod = self[i]\r\n            if currMod.isEmpty and not mod.isEmpty and currMod.slot == mod.slot:\r\n                currPos = mod.position or i\r\n                if currPos < emptyPosition:\r\n                    emptyPosition = currPos\r\n\r\n        if emptyPosition < len(self):\r\n            mod.position = emptyPosition\r\n            self.__toModule(emptyPosition, mod)\r\n            if mod.isInvalid:\r\n                self.__toDummy(mod.position)\r\n        else:\r\n            self.appendIgnoreEmpty(mod)\r\n\r\n    @collection.appender\r\n    def appendIgnoreEmpty(self, mod):\r\n        mod.position = len(self)\r\n        super().append(mod)\r\n        if mod.isInvalid:\r\n            self.remove(mod)\r\n\r\n    def replace(self, idx, mod):\r\n        try:\r\n            oldMod = self[idx]\r\n        except IndexError:\r\n            return\r\n        self.__toModule(idx, mod)\r\n        if mod.isInvalid:\r\n            self.__toModule(idx, oldMod)\r\n\r\n    def replaceRackPosition(self, rackPosition, mod):\r\n        listPositions = []\r\n        for currPos in range(len(self)):\r\n            currMod = self[currPos]\r\n            if currMod.slot == mod.slot:\r\n                listPositions.append(currPos)\r\n        listPositions.sort()\r\n        try:\r\n            modListPosition = listPositions[rackPosition]\r\n        except IndexError:\r\n            self.appendIgnoreEmpty(mod)\r\n        else:\r\n            oldMod = self[modListPosition]\r\n            if mod.isEmpty:\r\n                self.__toDummy(modListPosition)\r\n            else:\r\n                self.__toModule(modListPosition, mod)\r\n                # If new module cannot be appended, restore old state\r\n                if mod.isInvalid:\r\n                    if oldMod.isEmpty:\r\n                        self.__toDummy(modListPosition)\r\n                    else:\r\n                        self.__toModule(modListPosition, oldMod)\r\n\r\n    def insert(self, idx, mod):\r\n        mod.position = idx\r\n        i = idx\r\n        while i < len(self):\r\n            self[i].position += 1\r\n            i += 1\r\n        HandledList.insert(self, idx, mod)\r\n        if mod.isInvalid:\r\n            self.remove(mod)\r\n\r\n    def remove(self, mod):\r\n        HandledList.remove(self, mod)\r\n        oldPos = mod.position\r\n        mod.position = None\r\n        for i in range(oldPos, len(self)):\r\n            self[i].position -= 1\r\n\r\n    def free(self, idx):\r\n        self.__toDummy(idx)\r\n\r\n    def __toDummy(self, index):\r\n        mod = self[index]\r\n        if not mod.isEmpty:\r\n            dummy = mod.buildEmpty(mod.slot)\r\n            dummy.position = index\r\n            self[index] = dummy\r\n            mod.position = None\r\n\r\n    def __toModule(self, index, mod):\r\n        oldMod = self[index]\r\n        mod.position = index\r\n        self[index] = mod\r\n        oldMod.position = None\r\n\r\n\r\nclass HandledDroneCargoList(HandledList):\r\n\r\n    def find(self, item):\r\n        for o in self:\r\n            if o.item == item:\r\n                yield o\r\n\r\n    def findFirst(self, item):\r\n        for o in self.find(item):\r\n            return o\r\n\r\n    def append(self, thing):\r\n        HandledList.append(self, thing)\r\n        if thing.isInvalid:\r\n            self.remove(thing)\r\n\r\n    def insert(self, idx, thing):\r\n        HandledList.insert(self, idx, thing)\r\n        if thing.isInvalid:\r\n            self.remove(thing)\r\n\r\n\r\nclass HandledImplantList(HandledList):\r\n\r\n    def append(self, implant):\r\n        if implant.isInvalid:\r\n            HandledList.append(self, implant)\r\n            self.remove(implant)\r\n            return\r\n        if self.__slotCheck(implant):\r\n            HandledList.append(self, implant)\r\n            self.remove(implant)\r\n            return\r\n        HandledList.append(self, implant)\r\n\r\n    def insert(self, idx, implant):\r\n        if implant.isInvalid:\r\n            HandledList.insert(self, idx, implant)\r\n            self.remove(implant)\r\n            return\r\n        if self.__slotCheck(implant):\r\n            HandledList.insert(self, idx, implant)\r\n            self.remove(implant)\r\n            return\r\n        HandledList.insert(self, idx, implant)\r\n\r\n    def makeRoom(self, implant):\r\n        # if needed, remove booster that was occupying slot\r\n        oldObj = next((i for i in self if i.slot == implant.slot), None)\r\n        if oldObj is not None:\r\n            pyfalog.info(\"Slot {0} occupied with {1}, replacing with {2}\", implant.slot, oldObj.item.name, implant.item.name)\r\n            position = self.index(oldObj)\r\n            from gui.fitCommands.helpers import ImplantInfo\r\n            implantInfo = ImplantInfo.fromImplant(oldObj)\r\n            oldObj.itemID = 0  # hack to remove from DB. See GH issue #324\r\n            self.remove(oldObj)\r\n            return position, implantInfo\r\n        return None, None\r\n\r\n    def __slotCheck(self, implant):\r\n        return any(i.slot == implant.slot for i in self)\r\n\r\n\r\nclass HandledBoosterList(HandledList):\r\n\r\n    def append(self, booster):\r\n        if booster.isInvalid:\r\n            HandledList.append(self, booster)\r\n            self.remove(booster)\r\n            return\r\n        if self.__slotCheck(booster):\r\n            HandledList.append(self, booster)\r\n            self.remove(booster)\r\n            return\r\n        HandledList.append(self, booster)\r\n\r\n    def insert(self, idx, booster):\r\n        if booster.isInvalid:\r\n            HandledList.insert(self, idx, booster)\r\n            self.remove(booster)\r\n            return\r\n        if self.__slotCheck(booster):\r\n            HandledList.insert(self, idx, booster)\r\n            self.remove(booster)\r\n            return\r\n        HandledList.insert(self, idx, booster)\r\n\r\n    def makeRoom(self, booster):\r\n        # if needed, remove booster that was occupying slot\r\n        oldObj = next((b for b in self if b.slot == booster.slot), None)\r\n        if oldObj is not None:\r\n            pyfalog.info(\"Slot {0} occupied with {1}, replacing with {2}\", booster.slot, oldObj.item.name, booster.item.name)\r\n            position = self.index(oldObj)\r\n            from gui.fitCommands.helpers import BoosterInfo\r\n            boosterInfo = BoosterInfo.fromBooster(oldObj)\r\n            oldObj.itemID = 0  # hack to remove from DB. See GH issue #324\r\n            self.remove(oldObj)\r\n            return position, boosterInfo\r\n        return None, None\r\n\r\n    def __slotCheck(self, booster):\r\n        return any(b.slot == booster.slot for b in self)\r\n\r\n\r\nclass HandledSsoCharacterList(list):\r\n\r\n    def append(self, character):\r\n        old = next((x for x in self if x.client == character.client), None)\r\n        if old is not None:\r\n            pyfalog.warning(\"Removing SSO Character with same hash: {}\".format(repr(old)))\r\n            list.remove(self, old)\r\n\r\n        list.append(self, character)\r\n\r\n\r\nclass HandledProjectedModList(HandledList):\r\n\r\n    def append(self, proj):\r\n        if proj.isInvalid:\r\n            # we must include it before we remove it. doing it this way ensures\r\n            # rows and relationships in database are removed as well\r\n            HandledList.append(self, proj)\r\n            self.remove(proj)\r\n            return\r\n        proj.projected = True\r\n        HandledList.append(self, proj)\r\n        # Remove non-projectable modules\r\n        if not proj.item.isType(\"projected\") and not proj.isExclusiveSystemEffect:\r\n            self.remove(proj)\r\n\r\n    def insert(self, idx, proj):\r\n        if proj.isInvalid:\r\n            # we must include it before we remove it. doing it this way ensures\r\n            # rows and relationships in database are removed as well\r\n            HandledList.insert(self, idx, proj)\r\n            self.remove(proj)\r\n            return\r\n        proj.projected = True\r\n        HandledList.insert(self, idx, proj)\r\n        # Remove non-projectable modules\r\n        if not proj.item.isType(\"projected\") and not proj.isExclusiveSystemEffect:\r\n            self.remove(proj)\r\n\r\n    @property\r\n    def currentSystemEffect(self):\r\n        return next((m for m in self if m.isExclusiveSystemEffect), None)\r\n\r\n    def makeRoom(self, proj):\r\n        if proj.isExclusiveSystemEffect:\r\n            # remove other system effects - only 1 per fit plz\r\n            mod = self.currentSystemEffect\r\n\r\n            if mod:\r\n                pyfalog.info(\"System effect occupied with {0}, removing it to make space for {1}\".format(mod.item.name, proj.item.name))\r\n                position = self.index(mod)\r\n                # We need to pack up this info, so whatever...\r\n                from gui.fitCommands.helpers import ModuleInfo\r\n                modInfo = ModuleInfo.fromModule(mod)\r\n                self.remove(mod)\r\n                return position, modInfo\r\n        return None, None\r\n\r\n\r\nclass HandledProjectedDroneList(HandledDroneCargoList):\r\n\r\n    def append(self, proj):\r\n        proj.projected = True\r\n        HandledList.append(self, proj)\r\n        # Remove invalid or non-projectable drones\r\n        if proj.isInvalid or not proj.item.isType(\"projected\"):\r\n            self.remove(proj)\r\n            proj.projected = False\r\n\r\n    def insert(self, idx, proj):\r\n        proj.projected = True\r\n        HandledList.insert(self, idx, proj)\r\n        # Remove invalid or non-projectable drones\r\n        if proj.isInvalid or not proj.item.isType(\"projected\"):\r\n            self.remove(proj)\r\n            proj.projected = False\r\n\r\n\r\nclass HandledItem:\r\n    def preAssignItemAttr(self, *args, **kwargs):\r\n        self.itemModifiedAttributes.preAssign(*args, **kwargs)\r\n\r\n    def increaseItemAttr(self, *args, **kwargs):\r\n        self.itemModifiedAttributes.increase(*args, **kwargs)\r\n\r\n    def multiplyItemAttr(self, *args, **kwargs):\r\n        self.itemModifiedAttributes.multiply(*args, **kwargs)\r\n\r\n    def boostItemAttr(self, *args, **kwargs):\r\n        self.itemModifiedAttributes.boost(*args, **kwargs)\r\n\r\n    def forceItemAttr(self, *args, **kwargs):\r\n        self.itemModifiedAttributes.force(*args, **kwargs)\r\n\r\n\r\nclass HandledCharge:\r\n    def preAssignChargeAttr(self, *args, **kwargs):\r\n        self.chargeModifiedAttributes.preAssign(*args, **kwargs)\r\n\r\n    def increaseChargeAttr(self, *args, **kwargs):\r\n        self.chargeModifiedAttributes.increase(*args, **kwargs)\r\n\r\n    def multiplyChargeAttr(self, *args, **kwargs):\r\n        self.chargeModifiedAttributes.multiply(*args, **kwargs)\r\n\r\n    def boostChargeAttr(self, *args, **kwargs):\r\n        self.chargeModifiedAttributes.boost(*args, **kwargs)\r\n\r\n    def forceChargeAttr(self, *args, **kwargs):\r\n        self.chargeModifiedAttributes.force(*args, **kwargs)\r\n"
  },
  {
    "path": "eos/effects.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\n\r\nimport eos.config\r\nfrom eos.calc import calculateRangeFactor\r\nfrom eos.const import FittingModuleState, FitSystemSecurity\r\nfrom eos.utils.spoolSupport import SpoolType, SpoolOptions, calculateSpoolup, resolveSpoolOptions\r\n\r\n\r\nclass BaseEffect:\r\n\r\n    dealsDamage = False\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        pass\r\n\r\n\r\nclass DummyEffect(BaseEffect):\r\n    pass\r\n\r\n\r\nclass Effect100000(BaseEffect):\r\n    \"\"\"\r\n    pyfaCustomSuppressionTackleRange\r\n\r\n    Used by:\r\n    Celestial: Insurgency Suppression Interdiction Range Beacon\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive', 'gang')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        if id := beacon.getModifiedItemAttr('warfareBuff1ID'):\r\n            value = beacon.getModifiedItemAttr('warfareBuff1Value')\r\n            if id:\r\n                fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')\r\n\r\n\r\nclass Effect100001(BaseEffect):\r\n    \"\"\"\r\n    pyfaCustomSovUpgradeBuffEffect\r\n\r\n    Used by:\r\n    Infrastructure Upgradess from group: Sovereignty Hub System Effect Generator Upgrades (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive', 'gang')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        for i in range(1, 4):\r\n            if id := beacon.getModifiedItemAttr(f'warfareBuff{i}ID'):\r\n                value = beacon.getModifiedItemAttr(f'warfareBuff{i}Value')\r\n                fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')\r\n\r\n\r\nclass Effect100002(BaseEffect):\r\n    \"\"\"\r\n    pyfaCustomTrigSystemBuffEffect\r\n\r\n    Used by:\r\n    Celestial: Final Liminality\r\n    Celestial: Triglavian Minor Victory\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive', 'gang')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        for i in range(1, 5):\r\n            if id := beacon.getModifiedItemAttr(f'warfareBuff{i}ID'):\r\n                value = beacon.getModifiedItemAttr(f'warfareBuff{i}Value')\r\n                fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')\r\n\r\n\r\nclass Effect4(BaseEffect):\r\n    \"\"\"\r\n    shieldBoosting\r\n\r\n    Used by:\r\n    Modules from group: Shield Booster (94 of 94)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        amount = module.getModifiedItemAttr('shieldBonus')\r\n        speed = module.getModifiedItemAttr('duration') / 1000.0\r\n        fit.extraAttributes.increase('shieldRepair', amount / speed, **kwargs)\r\n\r\n\r\nclass Effect10(BaseEffect):\r\n    \"\"\"\r\n    targetAttack\r\n\r\n    Used by:\r\n    Celestials from group: Destructible Effect Beacon (6 of 6)\r\n    Drones from group: Combat Drone (98 of 98)\r\n    Modules from group: Energy Weapon (216 of 220)\r\n    Celestial: BH Sentry Gun\r\n    Celestial: EDENCOM Stockpile Non-Interactable (Do not translate)\r\n    Celestial: Liberation Games Firework Sentry ( DO NOT TRANSLATE)\r\n    Celestial: Minmatar Sentry Gun (DO NOT TRANSLATE)\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        # Set reload time to 1 second\r\n        module.reloadTime = 1000\r\n\r\n\r\nclass Effect17(BaseEffect):\r\n    \"\"\"\r\n    mining\r\n\r\n    Used by:\r\n    Drones from group: Mining Drone (14 of 14)\r\n    \"\"\"\r\n\r\n    grouped = True\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        miningDroneAmountPercent = container.getModifiedItemAttr('miningDroneAmountPercent')\r\n        if (miningDroneAmountPercent is None) or (miningDroneAmountPercent == 0):\r\n            pass\r\n        else:\r\n            container.multiplyItemAttr('miningAmount', miningDroneAmountPercent / 100, **kwargs)\r\n\r\n\r\nclass Effect21(BaseEffect):\r\n    \"\"\"\r\n    shieldCapacityBonusOnline\r\n\r\n    Used by:\r\n    Modules from group: Shield Extender (36 of 36)\r\n    Modules from group: Shield Resistance Amplifier (84 of 84)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('shieldCapacity', module.getModifiedItemAttr('capacityBonus'), **kwargs)\r\n\r\n\r\nclass Effect25(BaseEffect):\r\n    \"\"\"\r\n    capacitorCapacityBonus\r\n\r\n    Used by:\r\n    Modules from group: Capacitor Battery (30 of 30)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('capacitorCapacity', ship.getModifiedItemAttr('capacitorBonus'), **kwargs)\r\n\r\n\r\nclass Effect26(BaseEffect):\r\n    \"\"\"\r\n    structureRepair\r\n\r\n    Used by:\r\n    Modules from group: Hull Repair Unit (25 of 25)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        amount = module.getModifiedItemAttr('structureDamageAmount')\r\n        speed = module.getModifiedItemAttr('duration') / 1000.0\r\n        fit.extraAttributes.increase('hullRepair', amount / speed, **kwargs)\r\n\r\n\r\nclass Effect27(BaseEffect):\r\n    \"\"\"\r\n    armorRepair\r\n\r\n    Used by:\r\n    Modules from group: Armor Repair Unit (105 of 105)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        amount = module.getModifiedItemAttr('armorDamageAmount')\r\n        speed = module.getModifiedItemAttr('duration') / 1000.0\r\n        rps = amount / speed\r\n        fit.extraAttributes.increase('armorRepair', rps, **kwargs)\r\n        fit.extraAttributes.increase('armorRepairPreSpool', rps, **kwargs)\r\n        fit.extraAttributes.increase('armorRepairFullSpool', rps, **kwargs)\r\n\r\n\r\nclass Effect34(BaseEffect):\r\n    \"\"\"\r\n    projectileFired\r\n\r\n    Used by:\r\n    Modules from group: Hybrid Weapon (223 of 223)\r\n    Modules from group: Projectile Weapon (167 of 167)\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        rt = module.getModifiedItemAttr('reloadTime')\r\n        if not rt:\r\n            # Set reload time to 10 seconds\r\n            module.reloadTime = 10000\r\n        else:\r\n            module.reloadTime = rt\r\n\r\n\r\nclass Effect38(BaseEffect):\r\n    \"\"\"\r\n    empWave\r\n\r\n    Used by:\r\n    Modules from group: Smart Bomb (137 of 137)\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    type = 'active'\r\n\r\n\r\nclass Effect39(BaseEffect):\r\n    \"\"\"\r\n    warpDisrupt\r\n\r\n    Used by:\r\n    Modules named like: Warp Disruptor (29 of 29)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        if module.getModifiedItemAttr('maxRange', 0) < (projectionRange or 0):\r\n            return\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', module.getModifiedItemAttr('warpScrambleStrength'), **kwargs)\r\n\r\n\r\nclass Effect46(BaseEffect):\r\n    \"\"\"\r\n    shipScan\r\n\r\n    Used by:\r\n    Modules from group: Ship Scanner (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n\r\nclass Effect47(BaseEffect):\r\n    \"\"\"\r\n    cargoScan\r\n\r\n    Used by:\r\n    Modules from group: Cargo Scanner (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n\r\nclass Effect48(BaseEffect):\r\n    \"\"\"\r\n    powerBooster\r\n\r\n    Used by:\r\n    Modules from group: Capacitor Booster (43 of 43)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        # Set reload time to 10 seconds\r\n        module.reloadTime = 10000\r\n        # Make so that reloads are always taken into account during clculations\r\n        module.forceReload = True\r\n\r\n        if module.charge is None:\r\n            return\r\n        capAmount = module.getModifiedChargeAttr('capacitorBonus') or 0\r\n        module.itemModifiedAttributes['capacitorNeed'] = -capAmount\r\n\r\n\r\nclass Effect50(BaseEffect):\r\n    \"\"\"\r\n    modifyShieldRechargeRate\r\n\r\n    Used by:\r\n    Modules from group: Capacitor Power Relay (20 of 20)\r\n    Modules from group: Power Diagnostic System (23 of 23)\r\n    Modules from group: Reactor Control Unit (22 of 22)\r\n    Modules from group: Shield Recharger (4 of 4)\r\n    Modules named like: Flux Coil (13 of 13)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('shieldRechargeRate', module.getModifiedItemAttr('shieldRechargeRateMultiplier') or 1, **kwargs)\r\n\r\n\r\nclass Effect51(BaseEffect):\r\n    \"\"\"\r\n    modifyPowerRechargeRate\r\n\r\n    Used by:\r\n    Modules from group: Capacitor Flux Coil (7 of 7)\r\n    Modules from group: Capacitor Power Relay (20 of 20)\r\n    Modules from group: Capacitor Recharger (18 of 18)\r\n    Modules from group: Power Diagnostic System (23 of 23)\r\n    Modules from group: Reactor Control Unit (22 of 22)\r\n    Modules from group: Shield Power Relay (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('rechargeRate', module.getModifiedItemAttr('capacitorRechargeRateMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect54(BaseEffect):\r\n    \"\"\"\r\n    targetPassively\r\n\r\n    Used by:\r\n    Modules from group: Passive Targeting System (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n\r\nclass Effect55(BaseEffect):\r\n    \"\"\"\r\n    targetHostiles\r\n\r\n    Used by:\r\n    Modules from group: Automated Targeting System (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n\r\nclass Effect56(BaseEffect):\r\n    \"\"\"\r\n    powerOutputMultiply\r\n\r\n    Used by:\r\n    Modules from group: Capacitor Flux Coil (7 of 7)\r\n    Modules from group: Capacitor Power Relay (20 of 20)\r\n    Modules from group: Power Diagnostic System (23 of 23)\r\n    Modules from group: Reactor Control Unit (22 of 22)\r\n    Variations of structure module: Standup Reactor Control Unit I (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        # We default this to None as there are times when the source attribute doesn't exist (for example, Cap Power Relay).\r\n        # It will return 0 as it doesn't exist, which would nullify whatever the target attribute is\r\n        fit.ship.multiplyItemAttr('powerOutput', module.getModifiedItemAttr('powerOutputMultiplier', None), **kwargs)\r\n\r\n\r\nclass Effect57(BaseEffect):\r\n    \"\"\"\r\n    shieldCapacityMultiply\r\n\r\n    Used by:\r\n    Modules from group: Capacitor Power Relay (20 of 20)\r\n    Modules from group: Power Diagnostic System (23 of 23)\r\n    Modules from group: Reactor Control Unit (22 of 22)\r\n    Modules named like: Flux Coil (13 of 13)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        # We default this to None as there are times when the source attribute doesn't exist (for example, Cap Power Relay).\r\n        # It will return 0 as it doesn't exist, which would nullify whatever the target attribute is\r\n        fit.ship.multiplyItemAttr('shieldCapacity', module.getModifiedItemAttr('shieldCapacityMultiplier', None), **kwargs)\r\n\r\n\r\nclass Effect58(BaseEffect):\r\n    \"\"\"\r\n    capacitorCapacityMultiply\r\n\r\n    Used by:\r\n    Modules from group: Capacitor Flux Coil (7 of 7)\r\n    Modules from group: Capacitor Power Relay (20 of 20)\r\n    Modules from group: Power Diagnostic System (23 of 23)\r\n    Modules from group: Propulsion Module (73 of 147)\r\n    Modules from group: Reactor Control Unit (22 of 22)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        # We default this to None as there are times when the source attribute doesn't exist (for example, Cap Power Relay).\r\n        # It will return 0 as it doesn't exist, which would nullify whatever the target attribute is\r\n        fit.ship.multiplyItemAttr('capacitorCapacity', module.getModifiedItemAttr('capacitorCapacityMultiplier', None), **kwargs)\r\n\r\n\r\nclass Effect59(BaseEffect):\r\n    \"\"\"\r\n    cargoCapacityMultiply\r\n\r\n    Used by:\r\n    Modules from group: Expanded Cargohold (8 of 8)\r\n    Modules from group: Overdrive Injector System (7 of 7)\r\n    Modules from group: Reinforced Bulkhead (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('capacity', module.getModifiedItemAttr('cargoCapacityMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect60(BaseEffect):\r\n    \"\"\"\r\n    structureHPMultiply\r\n\r\n    Used by:\r\n    Modules from group: Nanofiber Internal Structure (8 of 8)\r\n    Modules from group: Reinforced Bulkhead (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('hp', module.getModifiedItemAttr('structureHPMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect61(BaseEffect):\r\n    \"\"\"\r\n    agilityBonus\r\n\r\n    Used by:\r\n    Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('agility', src.getModifiedItemAttr('agilityBonusAdd'), **kwargs)\r\n\r\n\r\nclass Effect63(BaseEffect):\r\n    \"\"\"\r\n    armorHPMultiply\r\n\r\n    Used by:\r\n    Modules from group: Armor Coating (184 of 184)\r\n    Modules from group: Energized Armor Membrane (169 of 169)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('armorHP', module.getModifiedItemAttr('armorHPMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect67(BaseEffect):\r\n    \"\"\"\r\n    miningLaser\r\n\r\n    Used by:\r\n    Modules from group: Frequency Mining Laser (6 of 6)\r\n    Modules from group: Mining Laser (18 of 18)\r\n    Modules from group: Strip Miner (9 of 9)\r\n    Module: Citizen Miner\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        # Set reload time to 1 second\r\n        module.reloadTime = 1000\r\n\r\n\r\nclass Effect89(BaseEffect):\r\n    \"\"\"\r\n    projectileWeaponSpeedMultiply\r\n\r\n    Used by:\r\n    Modules from group: Gyrostabilizer (14 of 14)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Projectile Weapon',\r\n                                         'speed', module.getModifiedItemAttr('speedMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect91(BaseEffect):\r\n    \"\"\"\r\n    energyWeaponDamageMultiply\r\n\r\n    Used by:\r\n    Modules from group: Heat Sink (20 of 20)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Energy Weapon',\r\n                                         'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect92(BaseEffect):\r\n    \"\"\"\r\n    projectileWeaponDamageMultiply\r\n\r\n    Used by:\r\n    Modules from group: Gyrostabilizer (14 of 14)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Projectile Weapon',\r\n                                         'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect93(BaseEffect):\r\n    \"\"\"\r\n    hybridWeaponDamageMultiply\r\n\r\n    Used by:\r\n    Modules from group: Magnetic Field Stabilizer (15 of 15)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Hybrid Weapon',\r\n                                         'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect95(BaseEffect):\r\n    \"\"\"\r\n    energyWeaponSpeedMultiply\r\n\r\n    Used by:\r\n    Modules from group: Heat Sink (20 of 20)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Energy Weapon',\r\n                                         'speed', module.getModifiedItemAttr('speedMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect96(BaseEffect):\r\n    \"\"\"\r\n    hybridWeaponSpeedMultiply\r\n\r\n    Used by:\r\n    Modules from group: Magnetic Field Stabilizer (15 of 15)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Hybrid Weapon',\r\n                                         'speed', module.getModifiedItemAttr('speedMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect101(BaseEffect):\r\n    \"\"\"\r\n    useMissiles\r\n\r\n    Used by:\r\n    Modules from group: Missile Launcher Heavy (12 of 12)\r\n    Modules from group: Missile Launcher Rocket (16 of 16)\r\n    Modules named like: Launcher (159 of 159)\r\n    Structure Modules named like: Standup Launcher (7 of 7)\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        # Set reload time to 10 seconds\r\n        src.reloadTime = 10000\r\n        if 'projected' not in context:\r\n            return\r\n        if src.item.group.name == 'Missile Launcher Bomb':\r\n            # Bomb Launcher Cooldown Timer\r\n            moduleReactivationDelay = src.getModifiedItemAttr('moduleReactivationDelay')\r\n            speed = src.getModifiedItemAttr('speed')\r\n            # Void and Focused Void Bombs\r\n            neutAmount = src.getModifiedChargeAttr('energyNeutralizerAmount')\r\n            if moduleReactivationDelay and neutAmount and speed:\r\n                fit.addDrain(src, speed + moduleReactivationDelay, neutAmount, 0)\r\n            # Lockbreaker Bombs\r\n            ecmStrengthBonus = src.getModifiedChargeAttr('scan{0}StrengthBonus'.format(fit.scanType))\r\n            if ecmStrengthBonus:\r\n                fit.addProjectedEcm(ecmStrengthBonus)\r\n        elif src.item.group.name == 'Interdiction Sphere Launcher':\r\n            speedFactor = src.getModifiedChargeAttr('speedFactor')\r\n            if speedFactor:\r\n                fit.ship.boostItemAttr('maxVelocity', speedFactor, **kwargs)\r\n\r\nclass Effect118(BaseEffect):\r\n    \"\"\"\r\n    electronicAttributeModifyOnline\r\n\r\n    Used by:\r\n    Modules from group: Automated Targeting System (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('maxLockedTargets', module.getModifiedItemAttr('maxLockedTargetsBonus'), **kwargs)\r\n\r\n\r\nclass Effect157(BaseEffect):\r\n    \"\"\"\r\n    largeHybridTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringLargeHybridTurret\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Deadeye' Large Hybrid Turret LH (6 of 6)\r\n    Implant: Festival-only 'Longbow' HD4 Dose\r\n    Implant: Festival-only 'Longbow' HD6 Dose\r\n    Skill: Large Hybrid Turret\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect159(BaseEffect):\r\n    \"\"\"\r\n    mediumEnergyTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringMediumEnergyTurret\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Lancer' Medium Energy Turret ME (6 of 6)\r\n    Implant: Festival-only 'Longbow' ED3 Dose\r\n    Implant: Festival-only 'Longbow' ED6 Dose\r\n    Skill: Medium Energy Turret\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect160(BaseEffect):\r\n    \"\"\"\r\n    mediumHybridTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringMediumHybridTurret\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Deadeye' Medium Hybrid Turret MH (6 of 6)\r\n    Implant: Festival-only 'Longbow' HD3 Dose\r\n    Implant: Festival-only 'Longbow' HD6 Dose\r\n    Skill: Medium Hybrid Turret\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect161(BaseEffect):\r\n    \"\"\"\r\n    mediumProjectileTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringMediumProjectileTurret\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Gunslinger' Medium Projectile Turret MP (6 of 6)\r\n    Implant: Festival-only 'Longbow' PD3 Dose\r\n    Implant: Festival-only 'Longbow' PD6 Dose\r\n    Skill: Medium Projectile Turret\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect162(BaseEffect):\r\n    \"\"\"\r\n    largeEnergyTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringLargeEnergyTurret\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Lancer' Large Energy Turret LE (6 of 6)\r\n    Implant: Festival-only 'Longbow' ED4 Dose\r\n    Implant: Festival-only 'Longbow' ED6 Dose\r\n    Implant: Pashan's Turret Handling Mindlink\r\n    Skill: Large Energy Turret\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect172(BaseEffect):\r\n    \"\"\"\r\n    smallEnergyTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringSmallEnergyTurret\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Lancer' Small Energy Turret SE (6 of 6)\r\n    Implant: Festival-only 'Longbow' ED2 Dose\r\n    Implant: Festival-only 'Longbow' ED6 Dose\r\n    Skill: Small Energy Turret\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect173(BaseEffect):\r\n    \"\"\"\r\n    smallHybridTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringSmallHybridTurret\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Deadeye' Small Hybrid Turret SH (6 of 6)\r\n    Implant: Festival-only 'Longbow' HD2 Dose\r\n    Implant: Festival-only 'Longbow' HD6 Dose\r\n    Skill: Small Hybrid Turret\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect174(BaseEffect):\r\n    \"\"\"\r\n    smallProjectileTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringSmallProjectileTurret\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Gunslinger' Small Projectile Turret SP (6 of 6)\r\n    Implant: Festival-only 'Longbow' PD2 Dose\r\n    Implant: Festival-only 'Longbow' PD6 Dose\r\n    Skill: Small Projectile Turret\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect212(BaseEffect):\r\n    \"\"\"\r\n    sensorUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringSensorUpgrades\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gypsy' Electronics Upgrades EU (6 of 6)\r\n    Modules named like: Liquid Cooled Electronics (8 of 8)\r\n    Skill: Electronics Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Electronics Upgrades'),\r\n                                      'cpu', container.getModifiedItemAttr('cpuNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect214(BaseEffect):\r\n    \"\"\"\r\n    targetingMaxTargetBonusModAddMaxLockedTargetsLocationChar\r\n\r\n    Used by:\r\n    Skills named like: Target Management (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive', 'structure'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        amount = skill.getModifiedItemAttr('maxTargetBonus') * skill.level\r\n        fit.extraAttributes.increase('maxTargetsLockedFromSkills', amount, **kwargs)\r\n\r\n\r\nclass Effect223(BaseEffect):\r\n    \"\"\"\r\n    navigationVelocityBonusPostPercentMaxVelocityLocationShip\r\n\r\n    Used by:\r\n    Implant: Low-grade Snake Alpha\r\n    Implant: Mid-grade Snake Alpha\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', implant.getModifiedItemAttr('velocityBonus'), **kwargs)\r\n\r\n\r\nclass Effect227(BaseEffect):\r\n    \"\"\"\r\n    accerationControlCapNeedBonusPostPercentCapacitorNeedLocationShipGroupAfterburner\r\n\r\n    Used by:\r\n    Modules named like: Dynamic Fuel Valve (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',\r\n                                      'capacitorNeed', container.getModifiedItemAttr('capNeedBonus'), **kwargs)\r\n\r\n\r\nclass Effect230(BaseEffect):\r\n    \"\"\"\r\n    afterburnerDurationBonusPostPercentDurationLocationShipModulesRequiringAfterburner\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Rogue' Afterburner AB (6 of 6)\r\n    Implants named like: Eifyr and Co. 'Rogue' Agility (2 of 2)\r\n    Implants named like: Serenity Limited 'Overclocker' Dose (3 of 3)\r\n    Implant: Zor's Custom Navigation Link\r\n    Skill: Afterburner\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),\r\n                                      'duration', container.getModifiedItemAttr('durationBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect235(BaseEffect):\r\n    \"\"\"\r\n    warpdriveoperationWarpCapacitorNeedBonusPostPercentWarpCapacitorNeedLocationShip\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Rogue' Warp Drive Operation WD (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpCapacitorNeed', implant.getModifiedItemAttr('warpCapacitorNeedBonus'), **kwargs)\r\n\r\n\r\nclass Effect242(BaseEffect):\r\n    \"\"\"\r\n    accerationControlSpeedFBonusPostPercentSpeedFactorLocationShipGroupAfterburner\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Rogue' Acceleration Control AC (6 of 6)\r\n    Implants named like: Eifyr and Co. 'Rogue' Agility (2 of 2)\r\n    Implants named like: Serenity Limited 'Overclocker' Dose (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',\r\n                                      'speedFactor', implant.getModifiedItemAttr('speedFBonus'), **kwargs)\r\n\r\n\r\nclass Effect244(BaseEffect):\r\n    \"\"\"\r\n    highSpeedManuveringCapacitorNeedMultiplierPostPercentCapacitorNeedLocationShipModulesRequiringHighSpeedManuvering\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Rogue' High Speed Maneuvering HS (6 of 6)\r\n    Implants named like: Federation Mobility Booster (4 of 4)\r\n    Implants named like: Republic Mobility Booster (4 of 4)\r\n    Skill: High Speed Maneuvering\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),\r\n                                      'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect271(BaseEffect):\r\n    \"\"\"\r\n    hullUpgradesArmorHpBonusPostPercentHpLocationShip\r\n\r\n    Used by:\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    Implants named like: grade Amulet (15 of 18)\r\n    Modules named like: Trimark Armor Pump (8 of 8)\r\n    Implant: Low-grade Snake Epsilon\r\n    Implant: Mid-grade Snake Epsilon\r\n    Skill: Hull Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.ship.boostItemAttr('armorHP', (container.getModifiedItemAttr('armorHpBonus') or 0) * level, **kwargs)\r\n\r\n\r\nclass Effect272(BaseEffect):\r\n    \"\"\"\r\n    repairSystemsDurationBonusPostPercentDurationLocationShipModulesRequiringRepairSystems\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Noble' Repair Systems RS (6 of 6)\r\n    Modules named like: Nanobot Accelerator (8 of 8)\r\n    Implant: AIR Repairer Booster III\r\n    Implant: Numon Family Heirloom\r\n    Skill: Repair Systems\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Repair Systems'), 'duration',\r\n            container.getModifiedItemAttr('durationSkillBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect273(BaseEffect):\r\n    \"\"\"\r\n    shieldUpgradesPowerNeedBonusPostPercentPowerLocationShipModulesRequiringShieldUpgrades\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gnome' Shield Upgrades SU (6 of 6)\r\n    Modules named like: Core Defense Charge Economizer (8 of 8)\r\n    Skill: Shield Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Upgrades'),\r\n                                      'power', container.getModifiedItemAttr('powerNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect277(BaseEffect):\r\n    \"\"\"\r\n    tacticalshieldManipulationSkillBoostUniformityBonus\r\n\r\n    Used by:\r\n    Skill: Tactical Shield Manipulation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('shieldUniformity', skill.getModifiedItemAttr('uniformityBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect279(BaseEffect):\r\n    \"\"\"\r\n    shieldEmmisionSystemsCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringShieldEmmisionSystems\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gnome' Shield Emission Systems SE (6 of 6)\r\n    Skill: Shield Emission Systems\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Emission Systems') or mod.item.requiresSkill('Capital Shield Emission Systems'),\r\n            'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect287(BaseEffect):\r\n    \"\"\"\r\n    controlledBurstsCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringGunnery\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Lancer' Controlled Bursts CB (6 of 6)\r\n    Skill: Controlled Bursts\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect290(BaseEffect):\r\n    \"\"\"\r\n    sharpshooterRangeSkillBonusPostPercentMaxRangeLocationShipModulesRequiringGunnery\r\n\r\n    Used by:\r\n    Implants named like: Frentix Booster (4 of 4)\r\n    Implants named like: Halcyon B Booster (5 of 5)\r\n    Implants named like: Zainou 'Deadeye' Sharpshooter ST (6 of 6)\r\n    Skill: Sharpshooter\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'maxRange', container.getModifiedItemAttr('rangeSkillBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect298(BaseEffect):\r\n    \"\"\"\r\n    surgicalStrikeFalloffBonusPostPercentFalloffLocationShipModulesRequiringGunnery\r\n\r\n    Used by:\r\n    Implants named like: Halcyon B Booster (5 of 5)\r\n    Implants named like: Sooth Sayer Booster (4 of 4)\r\n    Implants named like: Zainou 'Deadeye' Trajectory Analysis TA (6 of 6)\r\n    Skill: Trajectory Analysis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'falloff', container.getModifiedItemAttr('falloffBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect315(BaseEffect):\r\n    \"\"\"\r\n    dronesSkillBoostMaxActiveDroneBonus\r\n\r\n    Used by:\r\n    Skill: Drones\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        amount = skill.getModifiedItemAttr('maxActiveDroneBonus') * skill.level\r\n        fit.extraAttributes.increase('maxActiveDrones', amount, **kwargs)\r\n\r\n\r\nclass Effect391(BaseEffect):\r\n    \"\"\"\r\n    astrogeologyMiningAmountBonusPostPercentMiningAmountLocationShipModulesRequiringMining\r\n\r\n    Used by:\r\n    Implants named like: AIR Mining Yield Booster (3 of 3)\r\n    Implants named like: Inherent Implants 'Highwall' Mining MX (3 of 3)\r\n    Implants named like: ORE 'Harvester' Efficiency (2 of 2)\r\n    Implants named like: Serenity Limited 'Efficiency' Dose (3 of 3)\r\n    Implants named like: Serenity Poteque 'Prospector' Harvesting MC (3 of 3)\r\n    Implant: Michi's Excavation Augmentor\r\n    Skill: Astrogeology\r\n    Skill: Mining\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'),\r\n                                      'miningAmount', container.getModifiedItemAttr('miningAmountBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect392(BaseEffect):\r\n    \"\"\"\r\n    mechanicHullHpBonusPostPercentHpShip\r\n\r\n    Used by:\r\n    Implants named like: Capsuleer Defense Augmentation Chip (3 of 3)\r\n    Implants named like: Festival only 'Rock' HH Dose (4 of 4)\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    Implants named like: Inherent Implants 'Noble' Mechanic MC (6 of 6)\r\n    Implants named like: Serenity Limited 'Hardshell' Dose (3 of 3)\r\n    Modules named like: Transverse Bulkhead (8 of 8)\r\n    Skill: Mechanics\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.ship.boostItemAttr('hp', container.getModifiedItemAttr('hullHpBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect394(BaseEffect):\r\n    \"\"\"\r\n    navigationVelocityBonusPostPercentMaxVelocityShip\r\n\r\n    Used by:\r\n    Modules from group: Rig Anchor (4 of 4)\r\n    Implants named like: Agency 'Overclocker' SB Dose (4 of 4)\r\n    Implants named like: Grand Prix Booster (5 of 6)\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implants named like: Imperial Mobility Booster (4 of 4)\r\n    Implants named like: Republic Mobility Booster (4 of 4)\r\n    Implants named like: grade Snake (16 of 18)\r\n    Modules named like: Auxiliary Thrusters (8 of 8)\r\n    Implant: AIR Overclocker Booster II\r\n    Implant: Quafe Zero Classic\r\n    Implant: Serenity YC122.9 Season Booster - Max Velocity\r\n    Implant: Starsi Blast! Classic\r\n    Implant: Wisdom of Gheinok\r\n    Skill: Navigation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        amount = container.getModifiedItemAttr('velocityBonus') or 0\r\n        penalties = 'skill' not in context and 'implant' not in context and 'booster' not in context\r\n        fit.ship.boostItemAttr('maxVelocity', amount * level,\r\n                               stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect395(BaseEffect):\r\n    \"\"\"\r\n    evasiveManeuveringAgilityBonusPostPercentAgilityShip\r\n\r\n    Used by:\r\n    Modules from group: Rig Anchor (4 of 4)\r\n    Implants named like: Eifyr and Co. 'Rogue' Evasive Maneuvering EM (6 of 6)\r\n    Implants named like: Federation Mobility Booster (4 of 4)\r\n    Implants named like: Grand Prix Booster (4 of 6)\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implants named like: State Mobility Booster (4 of 4)\r\n    Implants named like: grade Nomad (10 of 12)\r\n    Modules named like: Low Friction Nozzle Joints (8 of 8)\r\n    Implant: AIR Agility Booster II\r\n    Implant: AIR Overclocker Booster III\r\n    Implant: Genolution Core Augmentation CA-4\r\n    Implant: Quafe Zero Green Apple\r\n    Implant: Serenity YC122.9 Season Booster - Agility\r\n    Implant: Starsi Blast! Classic\r\n    Skill: Evasive Maneuvering\r\n    Skill: Spaceship Command\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalties = 'skill' not in context and 'implant' not in context and 'booster' not in context\r\n        fit.ship.boostItemAttr('agility', container.getModifiedItemAttr('agilityBonus') * level,\r\n                               stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect396(BaseEffect):\r\n    \"\"\"\r\n    energyGridUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringEnergyGridUpgrades\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Squire' Energy Grid Upgrades EU (6 of 6)\r\n    Modules named like: Powergrid Subroutine Maximizer (8 of 8)\r\n    Skill: Energy Grid Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Energy Grid Upgrades'),\r\n                                      'cpu', container.getModifiedItemAttr('cpuNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect397(BaseEffect):\r\n    \"\"\"\r\n    electronicsCpuOutputBonusPostPercentCpuOutputLocationShipGroupComputer\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gypsy' CPU Management EE (6 of 6)\r\n    Modules named like: Processor Overclocking Unit (8 of 8)\r\n    Subsystems named like: Core Electronic Efficiency Gate (2 of 2)\r\n    Implant: Basic Capsuleer Engineering Augmentation Chip\r\n    Implant: Genolution Core Augmentation CA-2\r\n    Skill: CPU Management\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.ship.boostItemAttr('cpuOutput', container.getModifiedItemAttr('cpuOutputBonus2') * level, **kwargs)\r\n\r\n\r\nclass Effect408(BaseEffect):\r\n    \"\"\"\r\n    largeProjectileTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringLargeProjectileTurret\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Gunslinger' Large Projectile Turret LP (6 of 6)\r\n    Implant: Festival-only 'Longbow' PD4 Dose\r\n    Implant: Festival-only 'Longbow' PD6 Dose\r\n    Skill: Large Projectile Turret\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect414(BaseEffect):\r\n    \"\"\"\r\n    gunneryTurretSpeeBonusPostPercentSpeedLocationShipModulesRequiringGunnery\r\n\r\n    Used by:\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implants named like: Inherent Implants 'Lancer' Gunnery RF (6 of 6)\r\n    Implant: Pashan's Turret Customization Mindlink\r\n    Skill: Gunnery\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'speed', container.getModifiedItemAttr('turretSpeeBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect446(BaseEffect):\r\n    \"\"\"\r\n    shieldManagementShieldCapacityBonusPostPercentCapacityLocationShipGroupShield\r\n\r\n    Used by:\r\n    Implants named like: Capsuleer Defense Augmentation Chip (3 of 3)\r\n    Implants named like: Festival only 'Rock' SH Dose (4 of 4)\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    Implants named like: Serenity Limited 'Hardshell' Dose (3 of 3)\r\n    Implants named like: Zainou 'Gnome' Shield Management SM (6 of 6)\r\n    Modules named like: Core Defense Field Extender (8 of 8)\r\n    Implant: AIR Nirvana Booster II\r\n    Implant: Genolution Core Augmentation CA-3\r\n    Implant: Sansha Modified 'Gnome' Implant\r\n    Skill: Shield Management\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.ship.boostItemAttr('shieldCapacity', container.getModifiedItemAttr('shieldCapacityBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect485(BaseEffect):\r\n    \"\"\"\r\n    capacitorRechargeTimeBonusPostPercentPassive\r\n\r\n    Used by:\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implants named like: Inherent Implants 'Squire' Capacitor Systems Operation EO (6 of 6)\r\n    Implants named like: grade Rapture (15 of 18)\r\n    Modules named like: Capacitor Control Circuit (8 of 8)\r\n    Implant: AIR Overclocker Booster III\r\n    Implant: AIR Rapture Booster II\r\n    Implant: Basic Capsuleer Engineering Augmentation Chip\r\n    Implant: Genolution Core Augmentation CA-2\r\n    Implant: Quafe Zero Green Apple\r\n    Implant: Starsi Blast! Orange\r\n    Skill: Capacitor Systems Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.ship.boostItemAttr('rechargeRate', container.getModifiedItemAttr('capRechargeBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect486(BaseEffect):\r\n    \"\"\"\r\n    shieldOperationRechargeratebonusPostPercentRechargeRateLocationShipGroupShield\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gnome' Shield Operation SP (6 of 6)\r\n    Modules named like: Core Defense Field Purger (8 of 8)\r\n    Implant: Sansha Modified 'Gnome' Implant\r\n    Skill: Shield Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.ship.boostItemAttr('shieldRechargeRate', container.getModifiedItemAttr('rechargeratebonus') * level, **kwargs)\r\n\r\n\r\nclass Effect490(BaseEffect):\r\n    \"\"\"\r\n    engineeringPowerEngineeringOutputBonusPostPercentPowerOutputLocationShipGroupPowerCore\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Squire' Power Grid Management EG (6 of 6)\r\n    Modules named like: Ancillary Current Router (8 of 8)\r\n    Subsystems named like: Core Augmented Reactor (4 of 4)\r\n    Implant: Basic Capsuleer Engineering Augmentation Chip\r\n    Implant: Genolution Core Augmentation CA-1\r\n    Skill: Power Grid Management\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.ship.boostItemAttr('powerOutput', container.getModifiedItemAttr('powerEngineeringOutputBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect494(BaseEffect):\r\n    \"\"\"\r\n    warpDriveOperationWarpCapacitorNeedBonusPostPercentWarpCapacitorNeedLocationShipGroupPropulsion\r\n\r\n    Used by:\r\n    Modules named like: Warp Core Optimizer (8 of 8)\r\n    Skill: Warp Drive Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.ship.boostItemAttr('warpCapacitorNeed', container.getModifiedItemAttr('warpCapacitorNeedBonus') * level,\r\n                               stackingPenalties='skill' not in context, **kwargs)\r\n\r\n\r\nclass Effect504(BaseEffect):\r\n    \"\"\"\r\n    scoutDroneOperationDroneRangeBonusModAddDroneControlDistanceChar\r\n\r\n    Used by:\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Modules named like: Drone Control Range Augmentor (8 of 8)\r\n    Skills named like: Drone Avionics (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        amount = container.getModifiedItemAttr('droneRangeBonus') * level\r\n        fit.extraAttributes.increase('droneControlRange', amount, **kwargs)\r\n\r\n\r\nclass Effect506(BaseEffect):\r\n    \"\"\"\r\n    fuelConservationCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringAfterburner\r\n\r\n    Used by:\r\n    Skill: Afterburner\r\n    Skill: Fuel Conservation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),\r\n                                      'capacitorNeed', skill.getModifiedItemAttr('capNeedBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect507(BaseEffect):\r\n    \"\"\"\r\n    longRangeTargetingMaxTargetRangeBonusPostPercentMaxTargetRangeLocationShipGroupElectronic\r\n\r\n    Used by:\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implants named like: Zainou 'Gypsy' Long Range Targeting LT (6 of 6)\r\n    Skill: Long Range Targeting\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.ship.boostItemAttr('maxTargetRange', container.getModifiedItemAttr('maxTargetRangeBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect508(BaseEffect):\r\n    \"\"\"\r\n    shipPDmgBonusMF\r\n\r\n    Used by:\r\n    Ship: Freki\r\n    Ship: Republic Fleet Firetail\r\n    Ship: Slasher\r\n    Ship: Stiletto\r\n    Ship: Wolf\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect511(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyTCapNeedBonusAF\r\n\r\n    Used by:\r\n    Ship: Crusader\r\n    Ship: Executioner\r\n    Ship: Gold Magnate\r\n    Ship: Punisher\r\n    Ship: Retribution\r\n    Ship: Silver Magnate\r\n    Ship: Tormentor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonus2AF'),\r\n                                      skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect512(BaseEffect):\r\n    \"\"\"\r\n    shipSHTDmgBonusGF\r\n\r\n    Used by:\r\n    Variations of ship: Incursus (3 of 3)\r\n    Ship: Atron\r\n    Ship: Federation Navy Comet\r\n    Ship: Pacifier\r\n    Ship: Shapash\r\n    Ship: Taranis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusGF'),\r\n                                      skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect514(BaseEffect):\r\n    \"\"\"\r\n    shipSETDmgBonusAF\r\n\r\n    Used by:\r\n    Variations of ship: Magnate (3 of 5)\r\n    Ship: Executioner\r\n    Ship: Tormentor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusAF'),\r\n                                      skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect516(BaseEffect):\r\n    \"\"\"\r\n    shipTCapNeedBonusAC\r\n\r\n    Used by:\r\n    Ship: Devoter\r\n    Ship: Omen\r\n    Ship: Zealot\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusAC'),\r\n                                      skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect521(BaseEffect):\r\n    \"\"\"\r\n    shipHRangeBonusCC\r\n\r\n    Used by:\r\n    Ship: Eagle\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusCC'),\r\n                                      skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect527(BaseEffect):\r\n    \"\"\"\r\n    shipVelocityBonusMI\r\n\r\n    Used by:\r\n    Variations of ship: Mammoth (2 of 2)\r\n    Ship: Hoarder\r\n    Ship: Prowler\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('shipBonusMI'),\r\n                               skill='Minmatar Hauler', **kwargs)\r\n\r\n\r\nclass Effect529(BaseEffect):\r\n    \"\"\"\r\n    shipCargoBonusAI\r\n\r\n    Used by:\r\n    Variations of ship: Sigil (2 of 2)\r\n    Ship: Bestower\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('shipBonusAI'),\r\n                               skill='Amarr Hauler', **kwargs)\r\n\r\n\r\nclass Effect536(BaseEffect):\r\n    \"\"\"\r\n    cpuMultiplierPostMulCpuOutputShip\r\n\r\n    Used by:\r\n    Modules from group: CPU Enhancer (19 of 19)\r\n    Variations of structure module: Standup Co-Processor Array I (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('cpuOutput', module.getModifiedItemAttr('cpuMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect542(BaseEffect):\r\n    \"\"\"\r\n    shipCapNeedBonusAB\r\n\r\n    Used by:\r\n    Ships named like: Imperial Issue (2 of 2)\r\n    Ship: Redeemer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect549(BaseEffect):\r\n    \"\"\"\r\n    shipPTDmgBonusMB\r\n\r\n    Used by:\r\n    Variations of ship: Tempest (3 of 4)\r\n    Ship: Machariel\r\n    Ship: Panther\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusMB'),\r\n                                      skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect550(BaseEffect):\r\n    \"\"\"\r\n    shipHTDmgBonusGB\r\n\r\n    Used by:\r\n    Ships from group: Black Ops (3 of 6)\r\n    Ship: Dominix Navy Issue\r\n    Ship: Hyperion\r\n    Ship: Kronos\r\n    Ship: Megathron Federate Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusGB'),\r\n                                      skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect553(BaseEffect):\r\n    \"\"\"\r\n    shipHTTrackingBonusGB\r\n\r\n    Used by:\r\n    Ship: Vindicator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusGB'),\r\n                                      skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect562(BaseEffect):\r\n    \"\"\"\r\n    shipHTDmgBonusfixedGC\r\n\r\n    Used by:\r\n    Variations of ship: Vexor (3 of 4)\r\n    Ship: Adrestia\r\n    Ship: Arazu\r\n    Ship: Cobra\r\n    Ship: Cybele\r\n    Ship: Deimos\r\n    Ship: Enforcer\r\n    Ship: Exequror Navy Issue\r\n    Ship: Thorax\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusGC'),\r\n                                      skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect581(BaseEffect):\r\n    \"\"\"\r\n    weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringGunnery\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gnome' Weapon Upgrades WU (6 of 6)\r\n    Skill: Weapon Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery') or mod.item.requiresSkill('Vorton Projector Operation'),\r\n                                      'cpu', container.getModifiedItemAttr('cpuNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect582(BaseEffect):\r\n    \"\"\"\r\n    rapidFiringRofBonusPostPercentSpeedLocationShipModulesRequiringGunnery\r\n\r\n    Used by:\r\n    Skill: Rapid Firing\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'speed', skill.getModifiedItemAttr('rofBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect584(BaseEffect):\r\n    \"\"\"\r\n    surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringGunnery\r\n\r\n    Used by:\r\n    Implants named like: 'Pyrolancea' Dose (7 of 7)\r\n    Implants named like: Eifyr and Co. 'Gunslinger' Surgical Strike SS (6 of 6)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implant: AIR Pyrolancea Booster II\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'damageMultiplier', implant.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect587(BaseEffect):\r\n    \"\"\"\r\n    surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupEnergyWeapon\r\n\r\n    Used by:\r\n    Skill: Surgical Strike\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect588(BaseEffect):\r\n    \"\"\"\r\n    surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupProjectileWeapon\r\n\r\n    Used by:\r\n    Skill: Surgical Strike\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Projectile Weapon',\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect589(BaseEffect):\r\n    \"\"\"\r\n    surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupHybridWeapon\r\n\r\n    Used by:\r\n    Skill: Surgical Strike\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect590(BaseEffect):\r\n    \"\"\"\r\n    energyPulseWeaponsDurationBonusPostPercentDurationLocationShipModulesRequiringEnergyPulseWeapons\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Squire' Energy Pulse Weapons EP (6 of 6)\r\n    Skill: Energy Pulse Weapons\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Energy Pulse Weapons'),\r\n                                      'duration', container.getModifiedItemAttr('durationBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect596(BaseEffect):\r\n    \"\"\"\r\n    ammoInfluenceRange\r\n\r\n    Used by:\r\n    Items from category: Charge (610 of 1025)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.multiplyItemAttr('maxRange', module.getModifiedChargeAttr('weaponRangeMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect598(BaseEffect):\r\n    \"\"\"\r\n    ammoSpeedMultiplier\r\n\r\n    Used by:\r\n    Charges from group: Festival Charges (40 of 40)\r\n    Charges from group: Interdiction Probe (2 of 2)\r\n    Charges from group: Structure Festival Charges (2 of 2)\r\n    Special Edition Assetss from group: Festival Charges Expired (4 of 4)\r\n    Charge: Stasis Webification Probe\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.multiplyItemAttr('speed', module.getModifiedChargeAttr('speedMultiplier') or 1, **kwargs)\r\n\r\n\r\nclass Effect599(BaseEffect):\r\n    \"\"\"\r\n    ammoFallofMultiplier\r\n\r\n    Used by:\r\n    Charges from group: Advanced Artillery Ammo (8 of 8)\r\n    Charges from group: Advanced Autocannon Ammo (8 of 8)\r\n    Charges from group: Advanced Beam Laser Crystal (8 of 8)\r\n    Charges from group: Advanced Blaster Charge (8 of 8)\r\n    Charges from group: Advanced Pulse Laser Crystal (8 of 8)\r\n    Charges from group: Advanced Railgun Charge (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.multiplyItemAttr('falloff', module.getModifiedChargeAttr('fallofMultiplier') or 1, **kwargs)\r\n\r\n\r\nclass Effect600(BaseEffect):\r\n    \"\"\"\r\n    ammoTrackingMultiplier\r\n\r\n    Used by:\r\n    Charges from group: Advanced Artillery Ammo (8 of 8)\r\n    Charges from group: Advanced Autocannon Ammo (8 of 8)\r\n    Charges from group: Advanced Beam Laser Crystal (8 of 8)\r\n    Charges from group: Advanced Blaster Charge (8 of 8)\r\n    Charges from group: Advanced Exotic Plasma Charge (8 of 8)\r\n    Charges from group: Advanced Pulse Laser Crystal (8 of 8)\r\n    Charges from group: Advanced Railgun Charge (8 of 8)\r\n    Charges from group: Projectile Ammo (128 of 128)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.multiplyItemAttr('trackingSpeed', module.getModifiedChargeAttr('trackingSpeedMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect602(BaseEffect):\r\n    \"\"\"\r\n    shipPTurretSpeedBonusMC\r\n\r\n    Used by:\r\n    Variations of ship: Stabber (3 of 3)\r\n    Ship: Broadsword\r\n    Ship: Cobra\r\n    Ship: Enforcer\r\n    Ship: Huginn\r\n    Ship: Scythe Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect604(BaseEffect):\r\n    \"\"\"\r\n    shipPTspeedBonusMB2\r\n\r\n    Used by:\r\n    Ships from group: Black Ops (3 of 6)\r\n    Variations of ship: Tempest (3 of 4)\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusMB2'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect607(BaseEffect):\r\n    \"\"\"\r\n    cloaking\r\n\r\n    Used by:\r\n    Modules from group: Cloaking Device (10 of 14)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        # Set flag which is used to determine if ship is cloaked or not\r\n        # This is used to apply cloak-only bonuses, like Black Ops' speed bonus\r\n        fit.extraAttributes['cloaked'] = True\r\n        # Apply speed penalty\r\n        fit.ship.multiplyItemAttr('maxVelocity', module.getModifiedItemAttr('maxVelocityModifier'),\r\n                                  stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect623(BaseEffect):\r\n    \"\"\"\r\n    miningDroneOperationMiningAmountBonusPostPercentMiningDroneAmountPercentChar\r\n\r\n    Used by:\r\n    Modules named like: Drone Mining Augmentor (8 of 8)\r\n    Skill: Mining Drone Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'),\r\n                                     'miningAmount',\r\n                                     container.getModifiedItemAttr('miningAmountBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect627(BaseEffect):\r\n    \"\"\"\r\n    powerIncrease\r\n\r\n    Used by:\r\n    Modules from group: Auxiliary Power Core (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('powerOutput', module.getModifiedItemAttr('powerIncrease'), **kwargs)\r\n\r\n\r\nclass Effect657(BaseEffect):\r\n    \"\"\"\r\n    agilityMultiplierEffect\r\n\r\n    Used by:\r\n    Modules from group: Inertial Stabilizer (7 of 7)\r\n    Modules from group: Nanofiber Internal Structure (8 of 8)\r\n    Modules from group: Reinforced Bulkhead (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility',\r\n                               module.getModifiedItemAttr('agilityMultiplier'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect660(BaseEffect):\r\n    \"\"\"\r\n    missileEMDmgBonus\r\n\r\n    Used by:\r\n    Skills named like: Missiles (5 of 7)\r\n    Skill: Rockets\r\n    Skill: Torpedoes\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill(skill),\r\n                                        'emDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect661(BaseEffect):\r\n    \"\"\"\r\n    missileExplosiveDmgBonus\r\n\r\n    Used by:\r\n    Skills named like: Missiles (5 of 7)\r\n    Skill: Rockets\r\n    Skill: Torpedoes\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill(skill),\r\n                                        'explosiveDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect662(BaseEffect):\r\n    \"\"\"\r\n    missileThermalDmgBonus\r\n\r\n    Used by:\r\n    Skills named like: Missiles (5 of 7)\r\n    Skill: Rockets\r\n    Skill: Torpedoes\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill(skill),\r\n                                        'thermalDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect668(BaseEffect):\r\n    \"\"\"\r\n    missileKineticDmgBonus2\r\n\r\n    Used by:\r\n    Skills named like: Missiles (5 of 7)\r\n    Skill: Rockets\r\n    Skill: Torpedoes\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill(skill),\r\n                                        'kineticDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect675(BaseEffect):\r\n    \"\"\"\r\n    weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringEnergyPulseWeapons\r\n\r\n    Used by:\r\n    Skill: Weapon Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Energy Pulse Weapons'),\r\n                                      'cpu', skill.getModifiedItemAttr('cpuNeedBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect677(BaseEffect):\r\n    \"\"\"\r\n    weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringMissileLauncherOperation\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gnome' Launcher CPU Efficiency LE (6 of 6)\r\n    Skill: Weapon Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                      'cpu', container.getModifiedItemAttr('cpuNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect699(BaseEffect):\r\n    \"\"\"\r\n    signatureAnalysisScanResolutionBonusPostPercentScanResolutionShip\r\n\r\n    Used by:\r\n    Implants named like: Halcyon B Booster (5 of 5)\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implants named like: Zainou 'Gypsy' Signature Analysis SA (6 of 6)\r\n    Modules named like: Targeting System Subcontroller (8 of 8)\r\n    Implant: Quafe Zero Classic\r\n    Implant: Starsi Blast! Orange\r\n    Skill: Signature Analysis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalized = False if 'skill' in context or 'implant' in context or 'booster' in context else True\r\n        fit.ship.boostItemAttr('scanResolution', container.getModifiedItemAttr('scanResolutionBonus') * level,\r\n                               stackingPenalties=penalized, **kwargs)\r\n\r\n\r\nclass Effect706(BaseEffect):\r\n    \"\"\"\r\n    covertOpsWarpResistance\r\n\r\n    Used by:\r\n    Ships from group: Covert Ops (5 of 9)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpFactor', src.getModifiedItemAttr('eliteBonusCovertOps1'), skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect726(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCargo2GI\r\n\r\n    Used by:\r\n    Variations of ship: Miasmos (3 of 4)\r\n    Variations of ship: Nereus (2 of 2)\r\n    Ship: Iteron Mark V\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        # TODO: investigate if we can live without such ifs or hardcoding\r\n        # Viator doesn't have GI bonus\r\n        if 'shipBonusGI' in fit.ship.item.attributes:\r\n            bonusAttr = 'shipBonusGI'\r\n        else:\r\n            bonusAttr = 'shipBonusGI2'\r\n        fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr(bonusAttr), skill='Gallente Hauler', **kwargs)\r\n\r\n\r\nclass Effect727(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCargoCI\r\n\r\n    Used by:\r\n    Variations of ship: Badger (2 of 2)\r\n    Ship: Tayra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('shipBonusCI'), skill='Caldari Hauler', **kwargs)\r\n\r\n\r\nclass Effect728(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCargoMI\r\n\r\n    Used by:\r\n    Variations of ship: Wreathe (2 of 2)\r\n    Ship: Mammoth\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('shipBonusMI'), skill='Minmatar Hauler', **kwargs)\r\n\r\n\r\nclass Effect729(BaseEffect):\r\n    \"\"\"\r\n    shipBonusVelocityGI\r\n\r\n    Used by:\r\n    Variations of ship: Epithal (2 of 2)\r\n    Variations of ship: Miasmos (4 of 4)\r\n    Ship: Iteron Mark V\r\n    Ship: Kryos\r\n    Ship: Viator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        # TODO: investigate if we can live without such ifs or hardcoding\r\n        # Viator doesn't have GI bonus\r\n        if 'shipBonusGI' in fit.ship.item.attributes:\r\n            bonusAttr = 'shipBonusGI'\r\n        else:\r\n            bonusAttr = 'shipBonusGI2'\r\n        fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr(bonusAttr), skill='Gallente Hauler', **kwargs)\r\n\r\n\r\nclass Effect730(BaseEffect):\r\n    \"\"\"\r\n    shipBonusVelocityCI\r\n\r\n    Used by:\r\n    Variations of ship: Tayra (2 of 2)\r\n    Ship: Crane\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('shipBonusCI'), skill='Caldari Hauler', **kwargs)\r\n\r\n\r\nclass Effect732(BaseEffect):\r\n    \"\"\"\r\n    shipVelocityBonusAI\r\n\r\n    Used by:\r\n    Variations of ship: Bestower (2 of 2)\r\n    Ship: Prorator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('shipBonusAI'), skill='Amarr Hauler', **kwargs)\r\n\r\n\r\nclass Effect736(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCapCapAB\r\n\r\n    Used by:\r\n    Ship: Apocalypse Imperial Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacitorCapacity', ship.getModifiedItemAttr('shipBonusAB2'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect744(BaseEffect):\r\n    \"\"\"\r\n    surveyScanspeedBonusPostPercentDurationLocationShipModulesRequiringElectronics\r\n\r\n    Used by:\r\n    Modules named like: Signal Focusing Kit (8 of 8)\r\n    Skill: Survey\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('CPU Management'),\r\n                                      'duration', container.getModifiedItemAttr('scanspeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect754(BaseEffect):\r\n    \"\"\"\r\n    shipHybridDamageBonusCF\r\n\r\n    Used by:\r\n    Ship: Raptor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect757(BaseEffect):\r\n    \"\"\"\r\n    shipETDamageAF\r\n\r\n    Used by:\r\n    Ship: Crucifier Navy Issue\r\n    Ship: Crusader\r\n    Ship: Imperial Navy Slicer\r\n    Ship: Pacifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect760(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallMissileRoFCF2\r\n\r\n    Used by:\r\n    Ship: Hawk\r\n    Ship: Pacifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect763(BaseEffect):\r\n    \"\"\"\r\n    missileDMGBonus\r\n\r\n    Used by:\r\n    Modules from group: Ballistic Control System (22 of 22)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation') or\r\n                                                           mod.charge.requiresSkill('Defender Missiles'),\r\n                                               '%sDamage' % dmgType,\r\n                                               container.getModifiedItemAttr('missileDamageMultiplierBonus'),\r\n                                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect784(BaseEffect):\r\n    \"\"\"\r\n    missileBombardmentMaxFlightTimeBonusPostPercentExplosionDelayOwnerCharModulesRequiringMissileLauncherOperation\r\n\r\n    Used by:\r\n    Implants named like: Halcyon B Booster (5 of 5)\r\n    Implants named like: Republic Projection Booster (4 of 4)\r\n    Implants named like: Zainou 'Deadeye' Missile Bombardment MB (6 of 6)\r\n    Modules named like: Rocket Fuel Cache Partition (8 of 8)\r\n    Implant: Antipharmakon Toxot\r\n    Skill: Missile Bombardment\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalized = False if 'skill' in context or 'implant' in context or 'booster' in context else True\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'explosionDelay', container.getModifiedItemAttr('maxFlightTimeBonus') * level,\r\n                                        stackingPenalties=penalized, **kwargs)\r\n\r\n\r\nclass Effect804(BaseEffect):\r\n    \"\"\"\r\n    ammoInfluenceCapNeed\r\n\r\n    Used by:\r\n    Items from category: Charge (546 of 1025)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        # Dirty hack to work around cap charges setting cap booster\r\n        # injection amount to zero\r\n        rawAttr = module.item.getAttribute('capacitorNeed')\r\n        if rawAttr is not None and rawAttr >= 0:\r\n            module.boostItemAttr('capacitorNeed', module.getModifiedChargeAttr('capNeedBonus') or 0, **kwargs)\r\n\r\n\r\nclass Effect836(BaseEffect):\r\n    \"\"\"\r\n    skillFreightBonus\r\n\r\n    Used by:\r\n    Modules named like: Cargohold Optimization (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacity', module.getModifiedItemAttr('cargoCapacityBonus'), **kwargs)\r\n\r\n\r\nclass Effect848(BaseEffect):\r\n    \"\"\"\r\n    cloakingTargetingDelayBonusPostPercentCloakingTargetingDelayBonusForShipModulesRequiringCloaking\r\n\r\n    Used by:\r\n    Skill: Cloaking\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Cloaking'),\r\n                                      'cloakingTargetingDelay',\r\n                                      skill.getModifiedItemAttr('cloakingTargetingDelayBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect854(BaseEffect):\r\n    \"\"\"\r\n    cloakingScanResolutionMultiplier\r\n\r\n    Used by:\r\n    Modules from group: Cloaking Device (12 of 14)\r\n    \"\"\"\r\n\r\n    type = 'offline'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('scanResolution',\r\n                                  module.getModifiedItemAttr('scanResolutionMultiplier'),\r\n                                  stackingPenalties=True, penaltyGroup='cloakingScanResolutionMultiplier', **kwargs)\r\n\r\n\r\nclass Effect856(BaseEffect):\r\n    \"\"\"\r\n    warpSkillSpeed\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Rogue' Agility (2 of 2)\r\n    Implants named like: Eifyr and Co. 'Rogue' Warp Drive Speed WS (6 of 6)\r\n    Implants named like: Grand Prix Booster (5 of 6)\r\n    Implants named like: Halcyon B Booster (5 of 5)\r\n    Implants named like: Mobility Booster (16 of 16)\r\n    Implants named like: Serenity Limited 'Overclocker' Dose (3 of 3)\r\n    Implants named like: grade Ascendancy (10 of 12)\r\n    Modules named like: Hyperspatial Velocity Optimizer (8 of 8)\r\n    Implant: Serenity YC122.9 Season Booster - Warp Speed\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        penalized = False if 'skill' in context or 'implant' in context or 'booster' in context else True\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', container.getModifiedItemAttr('WarpSBonus'),\r\n                               stackingPenalties=penalized, **kwargs)\r\n\r\n\r\nclass Effect882(BaseEffect):\r\n    \"\"\"\r\n    shipHybridRangeBonusCF2\r\n\r\n    Used by:\r\n    Ship: Harpy\r\n    Ship: Raptor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect887(BaseEffect):\r\n    \"\"\"\r\n    shipETspeedBonusAB2\r\n\r\n    Used by:\r\n    Ship: Armageddon Imperial Issue\r\n    Ship: Redeemer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusAB2'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect889(BaseEffect):\r\n    \"\"\"\r\n    missileLauncherSpeedMultiplier\r\n\r\n    Used by:\r\n    Modules from group: Ballistic Control System (22 of 22)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                         'speed', module.getModifiedItemAttr('speedMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect891(BaseEffect):\r\n    \"\"\"\r\n    shipCruiseMissileVelocityBonusCB3\r\n\r\n    Used by:\r\n    Variations of ship: Raven (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        if 'ship' in context:\r\n            skill = 'Caldari Battleship'\r\n            penalties = False\r\n        else:\r\n            skill = None\r\n            penalties = True\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Cruise Missiles'), 'maxVelocity',\r\n            ship.getModifiedItemAttr('shipBonusCB3'), skill=skill, stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect892(BaseEffect):\r\n    \"\"\"\r\n    shipTorpedosVelocityBonusCB3\r\n\r\n    Used by:\r\n    Variations of ship: Raven (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        if 'ship' in context:\r\n            skill = 'Caldari Battleship'\r\n            penalties = False\r\n        else:\r\n            skill = None\r\n            penalties = True\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Torpedoes'), 'maxVelocity',\r\n            ship.getModifiedItemAttr('shipBonusCB3'), skill=skill, stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect896(BaseEffect):\r\n    \"\"\"\r\n    covertOpsCpuBonus1\r\n\r\n    Used by:\r\n    Ships from group: Stealth Bomber (4 of 5)\r\n    Subsystems named like: Defensive Covert Reconfiguration (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cloaking Device',\r\n                                         'cpu', container.getModifiedItemAttr('cloakingCpuNeedBonus'), **kwargs)\r\n\r\n\r\nclass Effect898(BaseEffect):\r\n    \"\"\"\r\n    shipMissileKineticDamageCF\r\n\r\n    Used by:\r\n    Ship: Condor\r\n    Ship: Hawk\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusCF'),\r\n                                        skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect899(BaseEffect):\r\n    \"\"\"\r\n    shipMissileKineticDamageCC\r\n\r\n    Used by:\r\n    Ship: Cerberus\r\n    Ship: Laelaps\r\n    Ship: Onyx\r\n    Ship: Orthrus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusCC'),\r\n                                        skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect907(BaseEffect):\r\n    \"\"\"\r\n    shipLaserRofAC2\r\n\r\n    Used by:\r\n    Ship: Omen\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusAC2'),\r\n                                      skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect909(BaseEffect):\r\n    \"\"\"\r\n    shipArmorHpAC2\r\n\r\n    Used by:\r\n    Ship: Augoror Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorHP', ship.getModifiedItemAttr('shipBonusAC2'),\r\n                               skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect912(BaseEffect):\r\n    \"\"\"\r\n    shipMissileLauncherRofCC2\r\n\r\n    Used by:\r\n    Ship: Laelaps\r\n    Ship: Onyx\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusCC2'),\r\n                                      skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect918(BaseEffect):\r\n    \"\"\"\r\n    shipDronesMaxGC2\r\n\r\n    Used by:\r\n    Ship: Guardian-Vexor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.extraAttributes.increase('maxActiveDrones', ship.getModifiedItemAttr('shipBonusGC2'),\r\n                                     skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect919(BaseEffect):\r\n    \"\"\"\r\n    shipHybridTrackingGC2\r\n\r\n    Used by:\r\n    Ship: Cobra\r\n    Ship: Enforcer\r\n    Ship: Thorax\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusGC2'),\r\n                                      skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect958(BaseEffect):\r\n    \"\"\"\r\n    shipArmorEmResistanceAC2\r\n\r\n    Used by:\r\n    Ship: Maller\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('shipBonusAC2'),\r\n                               skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect959(BaseEffect):\r\n    \"\"\"\r\n    shipArmorExplosiveResistanceAC2\r\n\r\n    Used by:\r\n    Ship: Maller\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusAC2'),\r\n                               skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect960(BaseEffect):\r\n    \"\"\"\r\n    shipArmorKineticResistanceAC2\r\n\r\n    Used by:\r\n    Ship: Maller\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('shipBonusAC2'),\r\n                               skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect961(BaseEffect):\r\n    \"\"\"\r\n    shipArmorThermalResistanceAC2\r\n\r\n    Used by:\r\n    Ship: Maller\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('shipBonusAC2'),\r\n                               skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect968(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileDmgMC2\r\n\r\n    Used by:\r\n    Ship: Broadsword\r\n    Ship: Cynabal\r\n    Ship: Moracha\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusMC2'),\r\n                                      skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect980(BaseEffect):\r\n    \"\"\"\r\n    cloakingWarpSafe\r\n\r\n    Used by:\r\n    Modules named like: Covert Ops Cloaking Device II (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.extraAttributes['cloaked'] = True\r\n        fit.ship.multiplyItemAttr('maxVelocity', module.getModifiedItemAttr('maxVelocityModifier'), **kwargs)\r\n\r\n\r\nclass Effect989(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipHybridOptimal1\r\n\r\n    Used by:\r\n    Ship: Enyo\r\n    Ship: Harpy\r\n    Ship: Ishkur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusGunship1'),\r\n                                      skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect991(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipLaserOptimal1\r\n\r\n    Used by:\r\n    Ship: Retribution\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusGunship1'),\r\n                                      skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect996(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipHybridTracking2\r\n\r\n    Used by:\r\n    Ship: Enyo\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('eliteBonusGunship2'),\r\n                                      skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect998(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipProjectileFalloff2\r\n\r\n    Used by:\r\n    Ship: Wolf\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('eliteBonusGunship2'),\r\n                                      skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect999(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipShieldBoost2\r\n\r\n    Used by:\r\n    Ship: Hawk\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('eliteBonusGunship2'),\r\n                                      skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect1001(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipCapRecharge2\r\n\r\n    Used by:\r\n    Ship: Vengeance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('rechargeRate', ship.getModifiedItemAttr('eliteBonusGunship2'),\r\n                               skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect1003(BaseEffect):\r\n    \"\"\"\r\n    selfT2SmallLaserPulseDamageBonus\r\n\r\n    Used by:\r\n    Skill: Small Pulse Laser Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Pulse Laser Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1004(BaseEffect):\r\n    \"\"\"\r\n    selfT2SmallLaserBeamDamageBonus\r\n\r\n    Used by:\r\n    Skill: Small Beam Laser Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Beam Laser Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1005(BaseEffect):\r\n    \"\"\"\r\n    selfT2SmallHybridBlasterDamageBonus\r\n\r\n    Used by:\r\n    Skill: Small Blaster Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Blaster Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1006(BaseEffect):\r\n    \"\"\"\r\n    selfT2SmallHybridRailDamageBonus\r\n\r\n    Used by:\r\n    Skill: Small Railgun Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Railgun Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1007(BaseEffect):\r\n    \"\"\"\r\n    selfT2SmallProjectileACDamageBonus\r\n\r\n    Used by:\r\n    Skill: Small Autocannon Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Autocannon Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1008(BaseEffect):\r\n    \"\"\"\r\n    selfT2SmallProjectileArtyDamageBonus\r\n\r\n    Used by:\r\n    Skill: Small Artillery Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Artillery Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1009(BaseEffect):\r\n    \"\"\"\r\n    selfT2MediumLaserPulseDamageBonus\r\n\r\n    Used by:\r\n    Skill: Medium Pulse Laser Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Pulse Laser Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1010(BaseEffect):\r\n    \"\"\"\r\n    selfT2MediumLaserBeamDamageBonus\r\n\r\n    Used by:\r\n    Skill: Medium Beam Laser Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Beam Laser Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1011(BaseEffect):\r\n    \"\"\"\r\n    selfT2MediumHybridBlasterDamageBonus\r\n\r\n    Used by:\r\n    Skill: Medium Blaster Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Blaster Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1012(BaseEffect):\r\n    \"\"\"\r\n    selfT2MediumHybridRailDamageBonus\r\n\r\n    Used by:\r\n    Skill: Medium Railgun Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Railgun Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1013(BaseEffect):\r\n    \"\"\"\r\n    selfT2MediumProjectileACDamageBonus\r\n\r\n    Used by:\r\n    Skill: Medium Autocannon Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Autocannon Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1014(BaseEffect):\r\n    \"\"\"\r\n    selfT2MediumProjectileArtyDamageBonus\r\n\r\n    Used by:\r\n    Skill: Medium Artillery Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Artillery Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1015(BaseEffect):\r\n    \"\"\"\r\n    selfT2LargeLaserPulseDamageBonus\r\n\r\n    Used by:\r\n    Skill: Large Pulse Laser Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Pulse Laser Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1016(BaseEffect):\r\n    \"\"\"\r\n    selfT2LargeLaserBeamDamageBonus\r\n\r\n    Used by:\r\n    Skill: Large Beam Laser Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Beam Laser Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1017(BaseEffect):\r\n    \"\"\"\r\n    selfT2LargeHybridBlasterDamageBonus\r\n\r\n    Used by:\r\n    Skill: Large Blaster Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Blaster Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1018(BaseEffect):\r\n    \"\"\"\r\n    selfT2LargeHybridRailDamageBonus\r\n\r\n    Used by:\r\n    Skill: Large Railgun Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Railgun Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1019(BaseEffect):\r\n    \"\"\"\r\n    selfT2LargeProjectileACDamageBonus\r\n\r\n    Used by:\r\n    Skill: Large Autocannon Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Autocannon Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1020(BaseEffect):\r\n    \"\"\"\r\n    selfT2LargeProjectileArtyDamageBonus\r\n\r\n    Used by:\r\n    Skill: Large Artillery Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Artillery Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1021(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipHybridDmg2\r\n\r\n    Used by:\r\n    Ship: Harpy\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusGunship2'),\r\n                                      skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect1024(BaseEffect):\r\n    \"\"\"\r\n    shipMissileHeavyVelocityBonusCC2\r\n\r\n    Used by:\r\n    Ship: Caracal\r\n    Ship: Osprey Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        if 'ship' in context:\r\n            skill = 'Caldari Cruiser'\r\n            penalties = False\r\n        else:\r\n            skill = None\r\n            penalties = True\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'maxVelocity',\r\n            ship.getModifiedItemAttr('shipBonusCC2'), skill=skill, stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect1030(BaseEffect):\r\n    \"\"\"\r\n    remoteArmorSystemsCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringRemoteArmorSystems\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Noble' Remote Armor Repair Systems RA (6 of 6)\r\n    Modules named like: Remote Repair Augmentor (6 of 8)\r\n    Skill: Remote Armor Repair Systems\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems') or mod.item.requiresSkill('Capital Remote Armor Repair Systems'),\r\n            'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1033(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticRemoteArmorRepairCapNeed1\r\n\r\n    Used by:\r\n    Ship: Oneiros\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('eliteBonusLogistics1'), skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1034(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticRemoteArmorRepairCapNeed2\r\n\r\n    Used by:\r\n    Ship: Guardian\r\n    Ship: Rabisu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('eliteBonusLogistics2'), skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1035(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticShieldTransferCapNeed2\r\n\r\n    Used by:\r\n    Ship: Scimitar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('eliteBonusLogistics2'), skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1036(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticShieldTransferCapNeed1\r\n\r\n    Used by:\r\n    Ship: Basilisk\r\n    Ship: Etana\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('eliteBonusLogistics1'), skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1046(BaseEffect):\r\n    \"\"\"\r\n    shipRemoteArmorRangeGC1\r\n\r\n    Used by:\r\n    Ship: Oneiros\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1047(BaseEffect):\r\n    \"\"\"\r\n    shipRemoteArmorRangeAC2\r\n\r\n    Used by:\r\n    Ship: Guardian\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1048(BaseEffect):\r\n    \"\"\"\r\n    shipShieldTransferRangeCC1\r\n\r\n    Used by:\r\n    Ship: Basilisk\r\n    Ship: Etana\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1049(BaseEffect):\r\n    \"\"\"\r\n    shipShieldTransferRangeMC2\r\n\r\n    Used by:\r\n    Ship: Scimitar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1058(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyGunshipLaserOptimal1\r\n\r\n    Used by:\r\n    Ship: Zealot\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),\r\n                                      skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1060(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyGunshipProjectileFallOff1\r\n\r\n    Used by:\r\n    Ship: Vagabond\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),\r\n                                      skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1061(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyGunshipHybridDmg2\r\n\r\n    Used by:\r\n    Ship: Deimos\r\n    Ship: Eagle\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),\r\n                                      skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1062(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyGunshipLaserDmg2\r\n\r\n    Used by:\r\n    Ship: Zealot\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),\r\n                                      skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1080(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyGunshipHybridFallOff1\r\n\r\n    Used by:\r\n    Ship: Deimos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),\r\n                                      skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1084(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyGunshipDroneControlRange1\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.extraAttributes.increase('droneControlRange', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),\r\n                                     skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1087(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyGunshipProjectileDmg2\r\n\r\n    Used by:\r\n    Ship: Vagabond\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),\r\n                                      skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1099(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileTrackingMF2\r\n\r\n    Used by:\r\n    Variations of ship: Slasher (3 of 3)\r\n    Ship: Republic Fleet Firetail\r\n    Ship: Wolf\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusMF2'),\r\n                                      skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect1176(BaseEffect):\r\n    \"\"\"\r\n    accerationControlSkillAb&MwdSpeedBoost\r\n\r\n    Used by:\r\n    Implant: Zor's Custom Navigation Hyper-Link\r\n    Skill: Acceleration Control\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',\r\n                                      'speedFactor', container.getModifiedItemAttr('speedFBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1179(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipLaserDamage2\r\n\r\n    Used by:\r\n    Ship: Retribution\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusGunship2'),\r\n                                      skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect1181(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticEnergyTransferCapNeed1\r\n\r\n    Used by:\r\n    Ship: Guardian\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('eliteBonusLogistics1'),\r\n                                      skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1182(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyTransferRange1\r\n\r\n    Used by:\r\n    Ship: Guardian\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusAC'),\r\n                                      skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1183(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticEnergyTransferCapNeed2\r\n\r\n    Used by:\r\n    Ship: Basilisk\r\n    Ship: Etana\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('eliteBonusLogistics2'),\r\n                                      skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect1184(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyTransferRange2\r\n\r\n    Used by:\r\n    Ship: Basilisk\r\n    Ship: Etana\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusCC2'),\r\n                                      skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1185(BaseEffect):\r\n    \"\"\"\r\n    structureStealthEmitterArraySigDecrease\r\n\r\n    Used by:\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implants named like: X Instinct Booster (4 of 4)\r\n    Implants named like: grade Halo (15 of 18)\r\n    Implant: Serenity YC122.9 Season Booster - Signature Radius\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('signatureRadius', implant.getModifiedItemAttr('signatureRadiusBonus'), **kwargs)\r\n\r\n\r\nclass Effect1190(BaseEffect):\r\n    \"\"\"\r\n    iceHarvestCycleTimeModulesRequiringIceHarvesting\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Yeti' Ice Harvesting IH (3 of 3)\r\n    Implants named like: ORE 'Harvester' Efficiency (2 of 2)\r\n    Implants named like: Serenity Limited 'Efficiency' Dose (3 of 3)\r\n    Implants named like: Serenity Poteque 'Prospector' Harvesting MC (3 of 3)\r\n    Module: Medium Ice Harvester Accelerator I\r\n    Skill: Ice Harvesting\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting'),\r\n                                      'duration', container.getModifiedItemAttr('iceHarvestCycleBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1200(BaseEffect):\r\n    \"\"\"\r\n    miningCrystalsMiningAtributesAdjustments\r\n\r\n    Used by:\r\n    Charges from group: Mercoxit Mining Crystal (6 of 6)\r\n    Charges from group: Mining Crystal (66 of 66)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.multiplyItemAttr(\r\n            'miningAmount',\r\n            module.getModifiedChargeAttr('specializationAsteroidYieldMultiplier'),\r\n            **kwargs)\r\n        module.increaseItemAttr(\r\n            'miningWastedVolumeMultiplier',\r\n            module.getModifiedChargeAttr('specializationCrystalMiningWastedVolumeMultiplierBonus'),\r\n            **kwargs)\r\n        module.increaseItemAttr(\r\n            'miningWasteProbability',\r\n            module.getModifiedChargeAttr('specializationCrystalMiningWasteProbabilityBonus'),\r\n            **kwargs)\r\n\r\n\r\nclass Effect1212(BaseEffect):\r\n    \"\"\"\r\n    crystalMiningamountInfo2\r\n\r\n    Used by:\r\n    Modules from group: Frequency Mining Laser (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.preAssignItemAttr('specialtyMiningAmount', module.getModifiedItemAttr('miningAmount'), **kwargs)\r\n\r\n\r\nclass Effect1215(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyDrainAmountAF1\r\n\r\n    Used by:\r\n    Ship: Caedes\r\n    Ship: Cruor\r\n    Ship: Sentinel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                      'powerTransferAmount', ship.getModifiedItemAttr('shipBonusAF'),\r\n                                      skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect1218(BaseEffect):\r\n    \"\"\"\r\n    shipBonusPirateSmallHybridDmg\r\n\r\n    Used by:\r\n    Ship: Daredevil\r\n    Ship: Hecate\r\n    Ship: Metamorphosis\r\n    Ship: Sunesis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect1219(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyVampireTransferAmountBonusAB\r\n\r\n    Used by:\r\n    Ship: Bhaalgorn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                      'powerTransferAmount', ship.getModifiedItemAttr('shipBonusAB'),\r\n                                      skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect1220(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyVampireTransferAmountBonusAc\r\n\r\n    Used by:\r\n    Ship: Ashimmu\r\n    Ship: Rabisu\r\n    Ship: Vangel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                      'powerTransferAmount', ship.getModifiedItemAttr('shipBonusAC'),\r\n                                      skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1221(BaseEffect):\r\n    \"\"\"\r\n    shipStasisWebRangeBonusMB\r\n\r\n    Used by:\r\n    Ship: Bhaalgorn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusMB'),\r\n                                      skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect1222(BaseEffect):\r\n    \"\"\"\r\n    shipStasisWebRangeBonusMC2\r\n\r\n    Used by:\r\n    Ship: Ashimmu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusMC2'),\r\n                                      skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1228(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileTrackingGF\r\n\r\n    Used by:\r\n    Ship: Chremoas\r\n    Ship: Dramiel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect1230(BaseEffect):\r\n    \"\"\"\r\n    shipMissileVelocityPirateFactionFrigate\r\n\r\n    Used by:\r\n    Ship: Barghest\r\n    Ship: Garmur\r\n    Ship: Laelaps\r\n    Ship: Orthrus\r\n    Ship: Raiju\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        penalties = 'ship' not in context\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'maxVelocity',\r\n            ship.getModifiedItemAttr('shipBonusRole7'), stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect1232(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileRofPirateCruiser\r\n\r\n    Used by:\r\n    Ship: Cynabal\r\n    Ship: Moracha\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect1233(BaseEffect):\r\n    \"\"\"\r\n    shipHybridDmgPirateCruiser\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    Ship: Vigilant\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect1234(BaseEffect):\r\n    \"\"\"\r\n    shipMissileVelocityPirateFactionLight\r\n\r\n    Used by:\r\n    Ship: Corax\r\n    Ship: Talwar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect1239(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileRofPirateBattleship\r\n\r\n    Used by:\r\n    Ship: Machariel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect1240(BaseEffect):\r\n    \"\"\"\r\n    shipHybridDmgPirateBattleship\r\n\r\n    Used by:\r\n    Ship: Vindicator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect1255(BaseEffect):\r\n    \"\"\"\r\n    setBonusBloodraider\r\n\r\n    Used by:\r\n    Implants named like: grade Talisman (18 of 18)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',\r\n                                                 'durationBonus', implant.getModifiedItemAttr('implantSetBloodraider'), **kwargs)\r\n\r\n\r\nclass Effect1256(BaseEffect):\r\n    \"\"\"\r\n    setBonusBloodraiderNosferatu\r\n\r\n    Used by:\r\n    Implants named like: grade Talisman (15 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capacitor Emission Systems'),\r\n                                      'duration', implant.getModifiedItemAttr('durationBonus'), **kwargs)\r\n\r\n\r\nclass Effect1261(BaseEffect):\r\n    \"\"\"\r\n    setBonusSerpentis\r\n\r\n    Used by:\r\n    Implants named like: grade Snake (18 of 18)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',\r\n                                                 'velocityBonus', implant.getModifiedItemAttr('implantSetSerpentis'), **kwargs)\r\n\r\n\r\nclass Effect1264(BaseEffect):\r\n    \"\"\"\r\n    interceptor2HybridTracking\r\n\r\n    Used by:\r\n    Ship: Taranis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('eliteBonusInterceptor2'),\r\n                                      skill='Interceptors', **kwargs)\r\n\r\n\r\nclass Effect1268(BaseEffect):\r\n    \"\"\"\r\n    interceptor2LaserTracking\r\n\r\n    Used by:\r\n    Ship: Crusader\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('eliteBonusInterceptor2'),\r\n                                      skill='Interceptors', **kwargs)\r\n\r\n\r\nclass Effect1281(BaseEffect):\r\n    \"\"\"\r\n    structuralAnalysisEffect\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Noble' Repair Proficiency RP (6 of 6)\r\n    Modules named like: Auxiliary Nano Pump (8 of 8)\r\n    Implant: Imperial Navy Modified 'Noble' Implant\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        penalized = 'implant' not in context\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', container.getModifiedItemAttr('repairBonus'),\r\n                                      stackingPenalties=penalized, **kwargs)\r\n\r\n\r\nclass Effect1318(BaseEffect):\r\n    \"\"\"\r\n    ewSkillScanStrengthBonus\r\n\r\n    Used by:\r\n    Modules named like: Particle Dispersion Augmentor (8 of 8)\r\n    Skill: Signal Dispersion\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        groups = ('ECM', 'Burst Jammer')\r\n        level = container.level if 'skill' in context else 1\r\n        for scanType in ('Gravimetric', 'Ladar', 'Magnetometric', 'Radar'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                          'scan{0}StrengthBonus'.format(scanType),\r\n                                          container.getModifiedItemAttr('scanSkillEwStrengthBonus') * level,\r\n                                          stackingPenalties=False if 'skill' in context else True, **kwargs)\r\n\r\n\r\nclass Effect1360(BaseEffect):\r\n    \"\"\"\r\n    ewSkillRsdCapNeedBonusSkillLevel\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gypsy' Sensor Linking SL (6 of 6)\r\n    Skill: Sensor Linking\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Sensor Linking'),\r\n                                      'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1361(BaseEffect):\r\n    \"\"\"\r\n    ewSkillTdCapNeedBonusSkillLevel\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gypsy' Weapon Disruption WD (6 of 6)\r\n    Skill: Weapon Disruption\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'),\r\n                                      'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1370(BaseEffect):\r\n    \"\"\"\r\n    ewSkillTpCapNeedBonusSkillLevel\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gypsy' Target Painting TG (6 of 6)\r\n    Skill: Target Painting\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Target Painting'),\r\n                                      'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1372(BaseEffect):\r\n    \"\"\"\r\n    ewSkillEwCapNeedSkillLevel\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gypsy' Electronic Warfare EW (6 of 6)\r\n    Modules named like: Signal Disruption Amplifier (8 of 8)\r\n    Skill: Electronic Warfare\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1395(BaseEffect):\r\n    \"\"\"\r\n    shieldBoostAmplifierPassive\r\n\r\n    Used by:\r\n    Implants named like: Republic Defense Booster (4 of 4)\r\n    Implants named like: grade Crystal (15 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', container.getModifiedItemAttr('shieldBoostMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect1397(BaseEffect):\r\n    \"\"\"\r\n    setBonusGuristas\r\n\r\n    Used by:\r\n    Implants named like: grade Crystal (18 of 18)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',\r\n                                                 'shieldBoostMultiplier', implant.getModifiedItemAttr('implantSetGuristas'), **kwargs)\r\n\r\n\r\nclass Effect1409(BaseEffect):\r\n    \"\"\"\r\n    systemScanDurationSkillAstrometrics\r\n\r\n    Used by:\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implants named like: Poteque 'Prospector' Astrometric Acquisition AQ (3 of 3)\r\n    Implants named like: Poteque 'Prospector' Sharpeye (2 of 2)\r\n    Implants named like: Serenity Limited 'Sharpeye' Dose (3 of 3)\r\n    Implant: AIR Astro-Acquisition II Booster\r\n    Skill: Astrometric Acquisition\r\n    Skill: Astrometrics\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Astrometrics'),\r\n                                      'duration', container.getModifiedItemAttr('durationBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1410(BaseEffect):\r\n    \"\"\"\r\n    propulsionSkillCapNeedBonusSkillLevel\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gypsy' Propulsion Jamming PJ (6 of 6)\r\n    Skill: Propulsion Jamming\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Propulsion Jamming'),\r\n                                      'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1412(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHybridOptimalCB\r\n\r\n    Used by:\r\n    Ship: Rokh\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect1434(BaseEffect):\r\n    \"\"\"\r\n    caldariShipEwStrengthCB\r\n\r\n    Used by:\r\n    Ship: Scorpion\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for sensorType in ('Gravimetric', 'Ladar', 'Magnetometric', 'Radar'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Electronic Warfare'),\r\n                                          'scan{0}StrengthBonus'.format(sensorType),\r\n                                          ship.getModifiedItemAttr('shipBonusCB'),\r\n                                          skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect1441(BaseEffect):\r\n    \"\"\"\r\n    caldariShipEwOptimalRangeCB3\r\n\r\n    Used by:\r\n    Ship: Scorpion\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusCB3'),\r\n                                      skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect1442(BaseEffect):\r\n    \"\"\"\r\n    caldariShipEwOptimalRangeCC2\r\n\r\n    Used by:\r\n    Ship: Blackbird\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1443(BaseEffect):\r\n    \"\"\"\r\n    caldariShipEwCapacitorNeedCC\r\n\r\n    Used by:\r\n    Ship: Chameleon\r\n    Ship: Falcon\r\n    Ship: Rook\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusCC'),\r\n                                      skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1445(BaseEffect):\r\n    \"\"\"\r\n    ewSkillRsdMaxRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: Federation Electronics Booster (3 of 3)\r\n    Modules named like: Particle Dispersion Projector (8 of 8)\r\n    Skill: Long Distance Jamming\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalize = False if 'skill' in context or 'booster' in context else True\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Sensor Linking'),\r\n                                      'maxRange', container.getModifiedItemAttr('rangeSkillBonus') * level,\r\n                                      stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect1446(BaseEffect):\r\n    \"\"\"\r\n    ewSkillTpMaxRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: Republic Electronics Booster (4 of 4)\r\n    Modules named like: Particle Dispersion Projector (8 of 8)\r\n    Skill: Long Distance Jamming\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalize = False if 'skill' in context or 'booster' in context else True\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',\r\n                                      'maxRange', container.getModifiedItemAttr('rangeSkillBonus') * level,\r\n                                      stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect1448(BaseEffect):\r\n    \"\"\"\r\n    ewSkillTdMaxRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: Imperial Electronics Booster (4 of 4)\r\n    Modules named like: Particle Dispersion Projector (8 of 8)\r\n    Skill: Long Distance Jamming\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalize = False if 'skill' in context or 'booster' in context else True\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Weapon Disruptor',\r\n                                      'maxRange', container.getModifiedItemAttr('rangeSkillBonus') * level,\r\n                                      stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect1449(BaseEffect):\r\n    \"\"\"\r\n    ewSkillRsdFallOffBonus\r\n\r\n    Used by:\r\n    Implants named like: Federation Electronics Booster (3 of 3)\r\n    Skill: Frequency Modulation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Sensor Linking'),\r\n            'falloffEffectiveness', container.getModifiedItemAttr('falloffBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1450(BaseEffect):\r\n    \"\"\"\r\n    ewSkillTpFallOffBonus\r\n\r\n    Used by:\r\n    Implants named like: Republic Electronics Booster (4 of 4)\r\n    Skill: Frequency Modulation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',\r\n                                      'falloffEffectiveness', container.getModifiedItemAttr('falloffBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1451(BaseEffect):\r\n    \"\"\"\r\n    ewSkillTdFallOffBonus\r\n\r\n    Used by:\r\n    Implants named like: Imperial Electronics Booster (4 of 4)\r\n    Skill: Frequency Modulation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Weapon Disruptor',\r\n                                      'falloffEffectiveness', container.getModifiedItemAttr('falloffBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1452(BaseEffect):\r\n    \"\"\"\r\n    ewSkillEwMaxRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: State Electronics Booster (4 of 4)\r\n    Implants named like: grade Centurion (10 of 12)\r\n    Modules named like: Particle Dispersion Projector (8 of 8)\r\n    Implant: Serenity YC122.9 Season Booster - EW Range\r\n    Skill: Long Distance Jamming\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'maxRange', container.getModifiedItemAttr('rangeSkillBonus') * level,\r\n                                      stackingPenalties='skill' not in context and 'implant' not in context, **kwargs)\r\n\r\n\r\nclass Effect1453(BaseEffect):\r\n    \"\"\"\r\n    ewSkillEwFallOffBonus\r\n\r\n    Used by:\r\n    Implants named like: State Electronics Booster (4 of 4)\r\n    Skill: Frequency Modulation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'falloffEffectiveness', container.getModifiedItemAttr('falloffBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1472(BaseEffect):\r\n    \"\"\"\r\n    missileSkillAoeCloudSizeBonus\r\n\r\n    Used by:\r\n    Implants named like: State Application Booster (4 of 4)\r\n    Implants named like: Zainou 'Deadeye' Guided Missile Precision GP (6 of 6)\r\n    Modules named like: Warhead Rigor Catalyst (8 of 8)\r\n    Skill: Guided Missile Precision\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalize = False if 'skill' in context or 'implant' in context or 'booster' in context else True\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'aoeCloudSize', container.getModifiedItemAttr('aoeCloudSizeBonus') * level,\r\n                                        stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect1500(BaseEffect):\r\n    \"\"\"\r\n    shieldOperationSkillBoostCapacitorNeedBonus\r\n\r\n    Used by:\r\n    Modules named like: Core Defense Capacitor Safeguard (8 of 8)\r\n    Skill: Shield Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'capacitorNeed', container.getModifiedItemAttr('shieldBoostCapacitorBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1550(BaseEffect):\r\n    \"\"\"\r\n    ewSkillTargetPaintingStrengthBonus\r\n\r\n    Used by:\r\n    Skill: Signature Focusing\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        level = skill.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',\r\n                                      'signatureRadiusBonus',\r\n                                      skill.getModifiedItemAttr('scanSkillTargetPaintStrengthBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1551(BaseEffect):\r\n    \"\"\"\r\n    minmatarShipEwTargetPainterMF2\r\n\r\n    Used by:\r\n    Ship: Hyena\r\n    Ship: Vigil\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',\r\n                                      'signatureRadiusBonus', ship.getModifiedItemAttr('shipBonusMF2'),\r\n                                      skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect1577(BaseEffect):\r\n    \"\"\"\r\n    haloSetBonus\r\n\r\n    Used by:\r\n    Implants named like: grade Halo (18 of 18)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(\r\n            lambda implant: implant.item.requiresSkill('Cybernetics'),\r\n            'signatureRadiusBonus', implant.getModifiedItemAttr('implantSetHalo'), **kwargs)\r\n\r\n\r\nclass Effect1579(BaseEffect):\r\n    \"\"\"\r\n    setBonusSansha\r\n\r\n    Used by:\r\n    Implants named like: grade Amulet (18 of 18)\r\n    Implant: High-grade Halo Omega\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),\r\n                                                 'armorHpBonus', implant.getModifiedItemAttr('implantSetAmulet') or 1, **kwargs)\r\n\r\n\r\nclass Effect1581(BaseEffect):\r\n    \"\"\"\r\n    jumpDriveSkillsRangeBonus\r\n\r\n    Used by:\r\n    Skill: Jump Drive Calibration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('jumpDriveRange', skill.getModifiedItemAttr('jumpDriveRangeBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1585(BaseEffect):\r\n    \"\"\"\r\n    capitalTurretSkillLaserDamage\r\n\r\n    Used by:\r\n    Skill: Capital Energy Turret\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1586(BaseEffect):\r\n    \"\"\"\r\n    capitalTurretSkillProjectileDamage\r\n\r\n    Used by:\r\n    Skill: Capital Projectile Turret\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Projectile Turret'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1587(BaseEffect):\r\n    \"\"\"\r\n    capitalTurretSkillHybridDamage\r\n\r\n    Used by:\r\n    Skill: Capital Hybrid Turret\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1588(BaseEffect):\r\n    \"\"\"\r\n    capitalLauncherSkillCitadelKineticDamage\r\n\r\n    Used by:\r\n    Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)\r\n    Skill: XL Torpedoes\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'),\r\n                                        'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1590(BaseEffect):\r\n    \"\"\"\r\n    missileSkillAoeVelocityBonus\r\n\r\n    Used by:\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    Implants named like: Republic Application Booster (4 of 4)\r\n    Implants named like: Zainou 'Deadeye' Target Navigation Prediction TN (6 of 6)\r\n    Modules named like: Warhead Flare Catalyst (8 of 8)\r\n    Skill: Target Navigation Prediction\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalize = False if 'skill' in context or 'implant' in context or 'booster' in context else True\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'aoeVelocity', container.getModifiedItemAttr('aoeVelocityBonus') * level,\r\n                                        stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect1592(BaseEffect):\r\n    \"\"\"\r\n    capitalLauncherSkillCitadelEmDamage\r\n\r\n    Used by:\r\n    Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)\r\n    Skill: XL Torpedoes\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'),\r\n                                        'emDamage', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1593(BaseEffect):\r\n    \"\"\"\r\n    capitalLauncherSkillCitadelExplosiveDamage\r\n\r\n    Used by:\r\n    Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)\r\n    Skill: XL Torpedoes\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'),\r\n                                        'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1594(BaseEffect):\r\n    \"\"\"\r\n    capitalLauncherSkillCitadelThermalDamage\r\n\r\n    Used by:\r\n    Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)\r\n    Skill: XL Torpedoes\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'),\r\n                                        'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1595(BaseEffect):\r\n    \"\"\"\r\n    missileSkillWarheadUpgradesEmDamageBonus\r\n\r\n    Used by:\r\n    Implants named like: 'Pyrolancea' Dose (7 of 7)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implant: AIR Pyrolancea Booster II\r\n    Skill: Warhead Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        mod = src.level if 'skill' in context else 1\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'emDamage', src.getModifiedItemAttr('damageMultiplierBonus') * mod, **kwargs)\r\n\r\n\r\nclass Effect1596(BaseEffect):\r\n    \"\"\"\r\n    missileSkillWarheadUpgradesExplosiveDamageBonus\r\n\r\n    Used by:\r\n    Implants named like: 'Pyrolancea' Dose (7 of 7)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implant: AIR Pyrolancea Booster II\r\n    Skill: Warhead Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        mod = src.level if 'skill' in context else 1\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'explosiveDamage', src.getModifiedItemAttr('damageMultiplierBonus') * mod, **kwargs)\r\n\r\n\r\nclass Effect1597(BaseEffect):\r\n    \"\"\"\r\n    missileSkillWarheadUpgradesKineticDamageBonus\r\n\r\n    Used by:\r\n    Implants named like: 'Pyrolancea' Dose (7 of 7)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implant: AIR Pyrolancea Booster II\r\n    Skill: Warhead Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        mod = src.level if 'skill' in context else 1\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', src.getModifiedItemAttr('damageMultiplierBonus') * mod, **kwargs)\r\n\r\n\r\nclass Effect1615(BaseEffect):\r\n    \"\"\"\r\n    shipAdvancedSpaceshipCommandAgilityBonus\r\n\r\n    Used by:\r\n    Items from market group: Ships > Capital Ships (52 of 52)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        skillName = 'Advanced Spaceship Command'\r\n        skill = fit.character.getSkill(skillName)\r\n        fit.ship.boostItemAttr('agility', skill.getModifiedItemAttr('agilityBonus'), skill=skillName, **kwargs)\r\n\r\n\r\nclass Effect1616(BaseEffect):\r\n    \"\"\"\r\n    skillCapitalShipsAdvancedAgility\r\n\r\n    Used by:\r\n    Skill: Capital Ships\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        if fit.ship.item.requiresSkill('Capital Ships'):\r\n            fit.ship.boostItemAttr('agility', skill.getModifiedItemAttr('agilityBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1617(BaseEffect):\r\n    \"\"\"\r\n    shipCapitalAgilityBonus\r\n\r\n    Used by:\r\n    Ships from group: Carrier (4 of 4)\r\n    Ships from group: Dreadnought (13 of 13)\r\n    Ships from group: Force Auxiliary (6 of 6)\r\n    Ships from group: Lancer Dreadnought (4 of 4)\r\n    Ships from group: Supercarrier (6 of 6)\r\n    Ships from group: Titan (8 of 8)\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('agility', src.getModifiedItemAttr('advancedCapitalAgility'),\r\n                                  stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect1634(BaseEffect):\r\n    \"\"\"\r\n    capitalShieldOperationSkillCapacitorNeedBonus\r\n\r\n    Used by:\r\n    Modules named like: Core Defense Capacitor Safeguard (8 of 8)\r\n    Skill: Capital Shield Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'),\r\n                                      'capacitorNeed', container.getModifiedItemAttr('shieldBoostCapacitorBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1635(BaseEffect):\r\n    \"\"\"\r\n    capitalRepairSystemsSkillDurationBonus\r\n\r\n    Used by:\r\n    Modules named like: Nanobot Accelerator (8 of 8)\r\n    Implant: AIR Repairer Booster III\r\n    Skill: Capital Repair Systems\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Repair Systems'), 'duration',\r\n            container.getModifiedItemAttr('durationSkillBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1638(BaseEffect):\r\n    \"\"\"\r\n    skillAdvancedWeaponUpgradesPowerNeedBonus\r\n\r\n    Used by:\r\n    Skill: Advanced Weapon Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: (mod.item.requiresSkill('Gunnery') or\r\n                         mod.item.requiresSkill('Missile Launcher Operation') or\r\n                         mod.item.requiresSkill('Vorton Projector Operation')),\r\n            'power', skill.getModifiedItemAttr('powerNeedBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1643(BaseEffect):\r\n    \"\"\"\r\n    armoredCommandMindlink\r\n\r\n    Used by:\r\n    Implants from group: Cyber Leadership (4 of 13)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff2Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff1Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff4Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff3Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n\r\n\r\nclass Effect1644(BaseEffect):\r\n    \"\"\"\r\n    skirmishCommandMindlink\r\n\r\n    Used by:\r\n    Implants from group: Cyber Leadership (4 of 13)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff3Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff4Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff2Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff1Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n\r\n\r\nclass Effect1645(BaseEffect):\r\n    \"\"\"\r\n    shieldCommandMindlink\r\n\r\n    Used by:\r\n    Implants from group: Cyber Leadership (4 of 13)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff4Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff3Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff2Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff1Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n\r\n\r\nclass Effect1646(BaseEffect):\r\n    \"\"\"\r\n    informationCommandMindlink\r\n\r\n    Used by:\r\n    Implants from group: Cyber Leadership (4 of 13)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff4Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff3Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff1Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff2Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n\r\n\r\nclass Effect1650(BaseEffect):\r\n    \"\"\"\r\n    skillSiegeModuleConsumptionQuantityBonus\r\n\r\n    Used by:\r\n    Skill: Tactical Weapon Reconfiguration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        amount = -skill.getModifiedItemAttr('consumptionQuantityBonus')\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill(skill),\r\n                                         'consumptionQuantity', amount * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1657(BaseEffect):\r\n    \"\"\"\r\n    missileSkillWarheadUpgradesThermalDamageBonus\r\n\r\n    Used by:\r\n    Implants named like: 'Pyrolancea' Dose (7 of 7)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implant: AIR Pyrolancea Booster II\r\n    Skill: Warhead Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        mod = src.level if 'skill' in context else 1\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'thermalDamage', src.getModifiedItemAttr('damageMultiplierBonus') * mod, **kwargs)\r\n\r\n\r\nclass Effect1668(BaseEffect):\r\n    \"\"\"\r\n    freighterCargoBonusA2\r\n\r\n    Used by:\r\n    Variations of ship: Providence (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('freighterBonusA2'), skill='Amarr Freighter', **kwargs)\r\n\r\n\r\nclass Effect1669(BaseEffect):\r\n    \"\"\"\r\n    freighterCargoBonusC2\r\n\r\n    Used by:\r\n    Variations of ship: Charon (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('freighterBonusC2'), skill='Caldari Freighter', **kwargs)\r\n\r\n\r\nclass Effect1670(BaseEffect):\r\n    \"\"\"\r\n    freighterCargoBonusG2\r\n\r\n    Used by:\r\n    Variations of ship: Obelisk (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('freighterBonusG2'), skill='Gallente Freighter', **kwargs)\r\n\r\n\r\nclass Effect1671(BaseEffect):\r\n    \"\"\"\r\n    freighterCargoBonusM2\r\n\r\n    Used by:\r\n    Variations of ship: Fenrir (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('freighterBonusM2'), skill='Minmatar Freighter', **kwargs)\r\n\r\n\r\nclass Effect1672(BaseEffect):\r\n    \"\"\"\r\n    freighterMaxVelocityBonusA1\r\n\r\n    Used by:\r\n    Ship: Providence\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('freighterBonusA1'), skill='Amarr Freighter', **kwargs)\r\n\r\n\r\nclass Effect1673(BaseEffect):\r\n    \"\"\"\r\n    freighterMaxVelocityBonusC1\r\n\r\n    Used by:\r\n    Ship: Charon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('freighterBonusC1'), skill='Caldari Freighter', **kwargs)\r\n\r\n\r\nclass Effect1674(BaseEffect):\r\n    \"\"\"\r\n    freighterMaxVelocityBonusG1\r\n\r\n    Used by:\r\n    Ship: Obelisk\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('freighterBonusG1'), skill='Gallente Freighter', **kwargs)\r\n\r\n\r\nclass Effect1675(BaseEffect):\r\n    \"\"\"\r\n    freighterMaxVelocityBonusM1\r\n\r\n    Used by:\r\n    Ship: Fenrir\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('freighterBonusM1'), skill='Minmatar Freighter', **kwargs)\r\n\r\n\r\nclass Effect1720(BaseEffect):\r\n    \"\"\"\r\n    shieldBoostAmplifier\r\n\r\n    Used by:\r\n    Modules from group: Capacitor Power Relay (20 of 20)\r\n    Modules from group: Shield Boost Amplifier (23 of 23)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Operation') or mod.item.requiresSkill('Capital Shield Operation'),\r\n            'shieldBonus', module.getModifiedItemAttr('shieldBoostMultiplier'),\r\n            stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect1722(BaseEffect):\r\n    \"\"\"\r\n    jumpDriveSkillsCapacitorNeedBonus\r\n\r\n    Used by:\r\n    Skill: Jump Drive Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('jumpDriveCapacitorNeed',\r\n                               skill.getModifiedItemAttr('jumpDriveCapacitorNeedBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1730(BaseEffect):\r\n    \"\"\"\r\n    droneDmgBonus\r\n\r\n    Used by:\r\n    Skills from group: Drones (9 of 32)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill(skill),\r\n                                     'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1738(BaseEffect):\r\n    \"\"\"\r\n    doHacking\r\n\r\n    Used by:\r\n    Modules from group: Data Miners (12 of 12)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n\r\nclass Effect1763(BaseEffect):\r\n    \"\"\"\r\n    missileSkillRapidLauncherRoF\r\n\r\n    Used by:\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implants named like: Zainou 'Deadeye' Rapid Launch RL (6 of 6)\r\n    Implant: Whelan Machorin's Ballistic Smartlink\r\n    Skill: Missile Launcher Operation\r\n    Skill: Rapid Launch\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                      'speed', container.getModifiedItemAttr('rofBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect1764(BaseEffect):\r\n    \"\"\"\r\n    missileSkillMissileProjectileVelocityBonus\r\n\r\n    Used by:\r\n    Implants named like: State Projection Booster (4 of 4)\r\n    Implants named like: Zainou 'Deadeye' Missile Projection MP (6 of 6)\r\n    Modules named like: Hydraulic Bay Thrusters (8 of 8)\r\n    Skill: Missile Projection\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalized = False if 'skill' in context or 'implant' in context or 'booster' in context else True\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'maxVelocity', container.getModifiedItemAttr('speedFactor') * level,\r\n                                        stackingPenalties=penalized, **kwargs)\r\n\r\n\r\nclass Effect1773(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSHTFalloffGF2\r\n\r\n    Used by:\r\n    Ship: Atron\r\n    Ship: Daredevil\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect1804(BaseEffect):\r\n    \"\"\"\r\n    shipArmorEMResistanceAF1\r\n\r\n    Used by:\r\n    Ship: Astero\r\n    Ship: Malice\r\n    Ship: Punisher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect1805(BaseEffect):\r\n    \"\"\"\r\n    shipArmorTHResistanceAF1\r\n\r\n    Used by:\r\n    Ship: Astero\r\n    Ship: Malice\r\n    Ship: Punisher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('shipBonusAF'),\r\n                               skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect1806(BaseEffect):\r\n    \"\"\"\r\n    shipArmorKNResistanceAF1\r\n\r\n    Used by:\r\n    Ship: Astero\r\n    Ship: Malice\r\n    Ship: Punisher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('shipBonusAF'),\r\n                               skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect1807(BaseEffect):\r\n    \"\"\"\r\n    shipArmorEXResistanceAF1\r\n\r\n    Used by:\r\n    Ship: Astero\r\n    Ship: Malice\r\n    Ship: Punisher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusAF'),\r\n                               skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect1812(BaseEffect):\r\n    \"\"\"\r\n    shipShieldEMResistanceCC2\r\n\r\n    Used by:\r\n    Variations of ship: Moa (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', ship.getModifiedItemAttr('shipBonusCC2'),\r\n                               skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1813(BaseEffect):\r\n    \"\"\"\r\n    shipShieldThermalResistanceCC2\r\n\r\n    Used by:\r\n    Variations of ship: Moa (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', ship.getModifiedItemAttr('shipBonusCC2'),\r\n                               skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1814(BaseEffect):\r\n    \"\"\"\r\n    shipShieldKineticResistanceCC2\r\n\r\n    Used by:\r\n    Variations of ship: Moa (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', ship.getModifiedItemAttr('shipBonusCC2'),\r\n                               skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1815(BaseEffect):\r\n    \"\"\"\r\n    shipShieldExplosiveResistanceCC2\r\n\r\n    Used by:\r\n    Variations of ship: Moa (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusCC2'),\r\n                               skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1816(BaseEffect):\r\n    \"\"\"\r\n    shipShieldEMResistanceCF2\r\n\r\n    Used by:\r\n    Variations of ship: Merlin (3 of 4)\r\n    Ship: Cambion\r\n    Ship: Whiptail\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', ship.getModifiedItemAttr('shipBonusCF'),\r\n                               skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect1817(BaseEffect):\r\n    \"\"\"\r\n    shipShieldThermalResistanceCF2\r\n\r\n    Used by:\r\n    Variations of ship: Merlin (3 of 4)\r\n    Ship: Cambion\r\n    Ship: Whiptail\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', ship.getModifiedItemAttr('shipBonusCF'),\r\n                               skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect1819(BaseEffect):\r\n    \"\"\"\r\n    shipShieldKineticResistanceCF2\r\n\r\n    Used by:\r\n    Variations of ship: Merlin (3 of 4)\r\n    Ship: Cambion\r\n    Ship: Whiptail\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', ship.getModifiedItemAttr('shipBonusCF'),\r\n                               skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect1820(BaseEffect):\r\n    \"\"\"\r\n    shipShieldExplosiveResistanceCF2\r\n\r\n    Used by:\r\n    Variations of ship: Merlin (3 of 4)\r\n    Ship: Cambion\r\n    Ship: Whiptail\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusCF'),\r\n                               skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect1848(BaseEffect):\r\n    \"\"\"\r\n    miningForemanMindlink\r\n\r\n    Used by:\r\n    Implant: Mining Foreman Mindlink\r\n    Implant: ORE Mining Director Mindlink\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff4Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff2Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff1Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff3Multiplier',\r\n                                        src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n\r\n\r\nclass Effect1851(BaseEffect):\r\n    \"\"\"\r\n    selfRof\r\n\r\n    Used by:\r\n    Skills named like: Missile Specialization (4 of 5)\r\n    Skill: Rocket Specialization\r\n    Skill: Torpedo Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill),\r\n                                      'speed', skill.getModifiedItemAttr('rofBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect1862(BaseEffect):\r\n    \"\"\"\r\n    shipMissileEMDamageCF2\r\n\r\n    Used by:\r\n    Ship: Garmur\r\n    Ship: Raiju\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'emDamage', ship.getModifiedItemAttr('shipBonusCF2'),\r\n                                        skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect1863(BaseEffect):\r\n    \"\"\"\r\n    shipMissileThermalDamageCF2\r\n\r\n    Used by:\r\n    Ship: Garmur\r\n    Ship: Raiju\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusCF2'),\r\n                                        skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect1864(BaseEffect):\r\n    \"\"\"\r\n    shipMissileExplosiveDamageCF2\r\n\r\n    Used by:\r\n    Ship: Garmur\r\n    Ship: Raiju\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('shipBonusCF2'),\r\n                                        skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect1882(BaseEffect):\r\n    \"\"\"\r\n    miningYieldMultiplyPercent\r\n\r\n    Used by:\r\n    Modules from group: Mining Upgrade (8 of 13)\r\n    Variations of module: Mining Laser Upgrade I (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'),\r\n                                      'miningAmount', module.getModifiedItemAttr('miningAmountBonus'), **kwargs)\r\n\r\n\r\nclass Effect1885(BaseEffect):\r\n    \"\"\"\r\n    shipCruiseLauncherROFBonus2CB\r\n\r\n    Used by:\r\n    Ship: Raven\r\n    Ship: Raven State Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        if 'ship' in context:\r\n            skill = 'Caldari Battleship'\r\n            penalties = False\r\n            penaltyGroup = None\r\n        else:\r\n            skill = None\r\n            penalties = True\r\n            penaltyGroup = 'postPerc'\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Missile Launcher Cruise', 'speed',\r\n            ship.getModifiedItemAttr('shipBonus2CB'), skill=skill,\r\n            stackingPenalties=penalties, penaltyGroup=penaltyGroup, **kwargs)\r\n\r\n\r\nclass Effect1886(BaseEffect):\r\n    \"\"\"\r\n    shipSiegeLauncherROFBonus2CB\r\n\r\n    Used by:\r\n    Ship: Raven\r\n    Ship: Raven State Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        if 'ship' in context:\r\n            skill = 'Caldari Battleship'\r\n            penalties = False\r\n            penaltyGroup = None\r\n        else:\r\n            skill = None\r\n            penalties = True\r\n            penaltyGroup = 'postPerc'\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Missile Launcher Torpedo', 'speed',\r\n            ship.getModifiedItemAttr('shipBonus2CB'), skill=skill,\r\n            stackingPenalties=penalties, penaltyGroup=penaltyGroup, **kwargs)\r\n\r\n\r\nclass Effect1910(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusVampireDrainAmount2\r\n\r\n    Used by:\r\n    Ship: Curse\r\n    Ship: Pilgrim\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                      'powerTransferAmount', ship.getModifiedItemAttr('eliteBonusReconShip2'),\r\n                                      skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect1911(BaseEffect):\r\n    \"\"\"\r\n    eliteReconBonusGravimetricStrength2\r\n\r\n    Used by:\r\n    Ship: Chameleon\r\n    Ship: Falcon\r\n    Ship: Rook\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'scanGravimetricStrengthBonus', ship.getModifiedItemAttr('eliteBonusReconShip2'),\r\n                                      skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect1912(BaseEffect):\r\n    \"\"\"\r\n    eliteReconBonusMagnetometricStrength2\r\n\r\n    Used by:\r\n    Ship: Chameleon\r\n    Ship: Falcon\r\n    Ship: Rook\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'scanMagnetometricStrengthBonus', ship.getModifiedItemAttr('eliteBonusReconShip2'),\r\n                                      skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect1913(BaseEffect):\r\n    \"\"\"\r\n    eliteReconBonusRadarStrength2\r\n\r\n    Used by:\r\n    Ship: Chameleon\r\n    Ship: Falcon\r\n    Ship: Rook\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'scanRadarStrengthBonus', ship.getModifiedItemAttr('eliteBonusReconShip2'),\r\n                                      skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect1914(BaseEffect):\r\n    \"\"\"\r\n    eliteReconBonusLadarStrength2\r\n\r\n    Used by:\r\n    Ship: Chameleon\r\n    Ship: Falcon\r\n    Ship: Rook\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'scanLadarStrengthBonus', ship.getModifiedItemAttr('eliteBonusReconShip2'),\r\n                                      skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect1921(BaseEffect):\r\n    \"\"\"\r\n    eliteReconStasisWebBonus2\r\n\r\n    Used by:\r\n    Ship: Huginn\r\n    Ship: Moracha\r\n    Ship: Rapier\r\n    Ship: Victor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusReconShip2'),\r\n                                      skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect1922(BaseEffect):\r\n    \"\"\"\r\n    eliteReconScramblerRangeBonus2\r\n\r\n    Used by:\r\n    Ship: Arazu\r\n    Ship: Enforcer\r\n    Ship: Lachesis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusReconShip2'),\r\n                                      skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect1959(BaseEffect):\r\n    \"\"\"\r\n    armorReinforcerMassAdd\r\n\r\n    Used by:\r\n    Modules from group: Armor Plate (51 of 51)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('mass', module.getModifiedItemAttr('massAddition'), **kwargs)\r\n\r\n\r\nclass Effect1964(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldTransferCapneed1\r\n\r\n    Used by:\r\n    Ship: Osprey\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1969(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteArmorRepairCapNeedGC1\r\n\r\n    Used by:\r\n    Ship: Exequror\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect1996(BaseEffect):\r\n    \"\"\"\r\n    caldariShipEwCapacitorNeedCF2\r\n\r\n    Used by:\r\n    Ship: Griffin\r\n    Ship: Kitsune\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusCF2'),\r\n                                      skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect2000(BaseEffect):\r\n    \"\"\"\r\n    droneRangeBonusAdd\r\n\r\n    Used by:\r\n    Modules from group: Drone Control Range Module (7 of 7)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        amount = module.getModifiedItemAttr('droneRangeBonus')\r\n        fit.extraAttributes.increase('droneControlRange', amount, **kwargs)\r\n\r\n\r\nclass Effect2008(BaseEffect):\r\n    \"\"\"\r\n    cynosuralDurationBonus\r\n\r\n    Used by:\r\n    Ships from group: Black Ops (6 of 6)\r\n    Ships from group: Force Recon Ship (9 of 10)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Cynosural Field Theory'),\r\n                                      'duration', ship.getModifiedItemAttr('durationBonus'), **kwargs)\r\n\r\n\r\nclass Effect2013(BaseEffect):\r\n    \"\"\"\r\n    droneMaxVelocityBonus\r\n\r\n    Used by:\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Modules named like: Drone Speed Augmentor (6 of 8)\r\n    Implant: Overmind 'Goliath' Drone Tuner T25-10S\r\n    Implant: Overmind 'Hawkmoth' Drone Tuner S10-25T\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalties = False if 'implant' in context or 'booster' in context else True\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'maxVelocity', container.getModifiedItemAttr('droneMaxVelocityBonus') * level,\r\n                                     stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect2014(BaseEffect):\r\n    \"\"\"\r\n    droneMaxRangeBonus\r\n\r\n    Used by:\r\n    Modules named like: Drone Scope Chip (6 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalized = False if 'skill' in context else True\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'maxRange',\r\n                                     container.getModifiedItemAttr('rangeSkillBonus') * level,\r\n                                     stackingPenalties=penalized, **kwargs)\r\n\r\n\r\nclass Effect2015(BaseEffect):\r\n    \"\"\"\r\n    droneDurabilityShieldCapBonus\r\n\r\n    Used by:\r\n    Modules named like: Drone Durability Enhancer (6 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'shieldCapacity', module.getModifiedItemAttr('hullHpBonus'), **kwargs)\r\n\r\n\r\nclass Effect2016(BaseEffect):\r\n    \"\"\"\r\n    droneDurabilityArmorHPBonus\r\n\r\n    Used by:\r\n    Modules named like: Drone Durability Enhancer (6 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'armorHP', module.getModifiedItemAttr('hullHpBonus'), **kwargs)\r\n\r\n\r\nclass Effect2017(BaseEffect):\r\n    \"\"\"\r\n    droneDurabilityHPBonus\r\n\r\n    Used by:\r\n    Modules named like: Drone Durability Enhancer (6 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'hp', container.getModifiedItemAttr('hullHpBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect2019(BaseEffect):\r\n    \"\"\"\r\n    repairDroneShieldBonusBonus\r\n\r\n    Used by:\r\n    Implants named like: Black Market 'Valdimar' Repair Drone Operation DR (3 of 3)\r\n    Modules named like: Drone Repair Augmentor (8 of 8)\r\n    Skill: Repair Drone Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalized = False if 'skill' in context or 'implant' in context else True\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Logistic Drone',\r\n                                     'shieldBonus', container.getModifiedItemAttr('damageHP') * level,\r\n                                     stackingPenalties=penalized, **kwargs)\r\n\r\n\r\nclass Effect2020(BaseEffect):\r\n    \"\"\"\r\n    repairDroneArmorDamageAmountBonus\r\n\r\n    Used by:\r\n    Implants named like: Black Market 'Valdimar' Repair Drone Operation DR (3 of 3)\r\n    Modules named like: Drone Repair Augmentor (8 of 8)\r\n    Skill: Repair Drone Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalized = False if 'skill' in context or 'implant' in context else True\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Logistic Drone',\r\n                                     'armorDamageAmount', container.getModifiedItemAttr('damageHP') * level,\r\n                                     stackingPenalties=penalized, **kwargs)\r\n\r\n\r\nclass Effect2029(BaseEffect):\r\n    \"\"\"\r\n    addToSignatureRadius2\r\n\r\n    Used by:\r\n    Modules from group: Missile Launcher Bomb (2 of 2)\r\n    Modules from group: Shield Extender (36 of 36)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusAdd'), **kwargs)\r\n\r\n\r\nclass Effect2041(BaseEffect):\r\n    \"\"\"\r\n    modifyArmorResonancePostPercent\r\n\r\n    Used by:\r\n    Modules from group: Armor Coating (184 of 184)\r\n    Modules from group: Energized Armor Membrane (169 of 169)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for type in ('kinetic', 'thermal', 'explosive', 'em'):\r\n            fit.ship.boostItemAttr('armor%sDamageResonance' % type.capitalize(),\r\n                                   module.getModifiedItemAttr('%sDamageResistanceBonus' % type),\r\n                                   stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2052(BaseEffect):\r\n    \"\"\"\r\n    modifyShieldResonancePostPercent\r\n\r\n    Used by:\r\n    Modules from group: Shield Resistance Amplifier (84 of 84)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for type in ('kinetic', 'thermal', 'explosive', 'em'):\r\n            fit.ship.boostItemAttr('shield%sDamageResonance' % type.capitalize(),\r\n                                   module.getModifiedItemAttr('%sDamageResistanceBonus' % type),\r\n                                   stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2053(BaseEffect):\r\n    \"\"\"\r\n    emShieldCompensationHardeningBonusGroupShieldAmp\r\n\r\n    Used by:\r\n    Skill: EM Shield Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Shield Resistance Amplifier',\r\n                                      'emDamageResistanceBonus', skill.getModifiedItemAttr('hardeningBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2054(BaseEffect):\r\n    \"\"\"\r\n    explosiveShieldCompensationHardeningBonusGroupShieldAmp\r\n\r\n    Used by:\r\n    Skill: Explosive Shield Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Shield Resistance Amplifier',\r\n                                      'explosiveDamageResistanceBonus',\r\n                                      skill.getModifiedItemAttr('hardeningBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2055(BaseEffect):\r\n    \"\"\"\r\n    kineticShieldCompensationHardeningBonusGroupShieldAmp\r\n\r\n    Used by:\r\n    Skill: Kinetic Shield Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Shield Resistance Amplifier',\r\n                                      'kineticDamageResistanceBonus',\r\n                                      skill.getModifiedItemAttr('hardeningBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2056(BaseEffect):\r\n    \"\"\"\r\n    thermalShieldCompensationHardeningBonusGroupShieldAmp\r\n\r\n    Used by:\r\n    Skill: Thermal Shield Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Shield Resistance Amplifier',\r\n                                      'thermalDamageResistanceBonus',\r\n                                      skill.getModifiedItemAttr('hardeningBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2105(BaseEffect):\r\n    \"\"\"\r\n    emArmorCompensationHardeningBonusGroupArmorCoating\r\n\r\n    Used by:\r\n    Skill: EM Armor Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Coating',\r\n                                      'emDamageResistanceBonus', skill.getModifiedItemAttr('hardeningBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2106(BaseEffect):\r\n    \"\"\"\r\n    explosiveArmorCompensationHardeningBonusGroupArmorCoating\r\n\r\n    Used by:\r\n    Skill: Explosive Armor Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Coating',\r\n                                      'explosiveDamageResistanceBonus',\r\n                                      skill.getModifiedItemAttr('hardeningBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2107(BaseEffect):\r\n    \"\"\"\r\n    kineticArmorCompensationHardeningBonusGroupArmorCoating\r\n\r\n    Used by:\r\n    Skill: Kinetic Armor Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Coating',\r\n                                      'kineticDamageResistanceBonus',\r\n                                      skill.getModifiedItemAttr('hardeningBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2108(BaseEffect):\r\n    \"\"\"\r\n    thermicArmorCompensationHardeningBonusGroupArmorCoating\r\n\r\n    Used by:\r\n    Skill: Thermal Armor Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Coating',\r\n                                      'thermalDamageResistanceBonus',\r\n                                      skill.getModifiedItemAttr('hardeningBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2109(BaseEffect):\r\n    \"\"\"\r\n    emArmorCompensationHardeningBonusGroupEnergized\r\n\r\n    Used by:\r\n    Skill: EM Armor Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energized Armor Membrane',\r\n                                      'emDamageResistanceBonus', skill.getModifiedItemAttr('hardeningBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2110(BaseEffect):\r\n    \"\"\"\r\n    explosiveArmorCompensationHardeningBonusGroupEnergized\r\n\r\n    Used by:\r\n    Skill: Explosive Armor Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energized Armor Membrane',\r\n                                      'explosiveDamageResistanceBonus',\r\n                                      skill.getModifiedItemAttr('hardeningBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2111(BaseEffect):\r\n    \"\"\"\r\n    kineticArmorCompensationHardeningBonusGroupEnergized\r\n\r\n    Used by:\r\n    Skill: Kinetic Armor Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energized Armor Membrane',\r\n                                      'kineticDamageResistanceBonus',\r\n                                      skill.getModifiedItemAttr('hardeningBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2112(BaseEffect):\r\n    \"\"\"\r\n    thermicArmorCompensationHardeningBonusGroupEnergized\r\n\r\n    Used by:\r\n    Skill: Thermal Armor Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energized Armor Membrane',\r\n                                      'thermalDamageResistanceBonus',\r\n                                      skill.getModifiedItemAttr('hardeningBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2130(BaseEffect):\r\n    \"\"\"\r\n    smallHybridMaxRangeBonus\r\n\r\n    Used by:\r\n    Ship: Catalyst\r\n    Ship: Cormorant\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect2131(BaseEffect):\r\n    \"\"\"\r\n    smallEnergyMaxRangeBonus\r\n\r\n    Used by:\r\n    Ship: Coercer\r\n    Ship: Gold Magnate\r\n    Ship: Silver Magnate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect2132(BaseEffect):\r\n    \"\"\"\r\n    smallProjectileMaxRangeBonus\r\n\r\n    Used by:\r\n    Ship: Thrasher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect2133(BaseEffect):\r\n    \"\"\"\r\n    energyTransferArrayMaxRangeBonus\r\n\r\n    Used by:\r\n    Ship: Augoror\r\n    Ship: Osprey\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',\r\n                                      'maxRange', ship.getModifiedItemAttr('maxRangeBonus2'), **kwargs)\r\n\r\n\r\nclass Effect2134(BaseEffect):\r\n    \"\"\"\r\n    shieldTransporterMaxRangeBonus\r\n\r\n    Used by:\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    Ship: Osprey\r\n    Ship: Rorqual\r\n    Ship: Scythe\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Shield Booster', 'maxRange',\r\n                                      ship.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Ancillary Remote Shield Booster', 'maxRange',\r\n                                      ship.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect2135(BaseEffect):\r\n    \"\"\"\r\n    armorRepairProjectorMaxRangeBonus\r\n\r\n    Used by:\r\n    Variations of ship: Navitas (2 of 2)\r\n    Ship: Augoror\r\n    Ship: Deacon\r\n    Ship: Exequror\r\n    Ship: Inquisitor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Armor Repairer', 'maxRange',\r\n                                      src.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Ancillary Remote Armor Repairer', 'maxRange',\r\n                                      src.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect2143(BaseEffect):\r\n    \"\"\"\r\n    minmatarShipEwTargetPainterMC2\r\n\r\n    Used by:\r\n    Ship: Huginn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',\r\n                                      'signatureRadiusBonus', ship.getModifiedItemAttr('shipBonusMC2'),\r\n                                      skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect2152(BaseEffect):\r\n    \"\"\"\r\n    jumpPortalGeneration\r\n\r\n    Used by:\r\n    Module: Industrial Jump Portal Generator I\r\n    Module: Jump Portal Generator I\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', mod.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', mod.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n\r\n\r\nclass Effect2155(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipProjectileDamageCS1\r\n\r\n    Used by:\r\n    Ship: Sleipnir\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusCommandShips1'),\r\n                                      skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect2156(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipProjectileFalloffCS2\r\n\r\n    Used by:\r\n    Ship: Sleipnir\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('eliteBonusCommandShips2'),\r\n                                      skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect2157(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipLaserDamageCS1\r\n\r\n    Used by:\r\n    Ship: Absolution\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusCommandShips1'),\r\n                                      skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect2160(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipHybridFalloffCS2\r\n\r\n    Used by:\r\n    Ship: Astarte\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('eliteBonusCommandShips2'),\r\n                                      skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect2179(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneHitpointsGC2\r\n\r\n    Used by:\r\n    Ships named like: Stratios (2 of 2)\r\n    Ship: Vexor\r\n    Ship: Vexor Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for type in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                         type, ship.getModifiedItemAttr('shipBonusGC2'),\r\n                                         skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect2181(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneHitpointsFixedAC2\r\n\r\n    Used by:\r\n    Variations of ship: Arbitrator (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for type in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                         type, ship.getModifiedItemAttr('shipBonusAC2'),\r\n                                         skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect2186(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneHitpointsGB2\r\n\r\n    Used by:\r\n    Variations of ship: Dominix (3 of 3)\r\n    Ship: Nestor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for type in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                         type, ship.getModifiedItemAttr('shipBonusGB2'),\r\n                                         skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect2187(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneDamageMultiplierGB2\r\n\r\n    Used by:\r\n    Variations of ship: Dominix (3 of 3)\r\n    Ship: Nestor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusGB2'),\r\n                                     skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect2188(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneDamageMultiplierGC2\r\n\r\n    Used by:\r\n    Ships named like: Stratios (2 of 2)\r\n    Ship: Vexor\r\n    Ship: Vexor Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusGC2'),\r\n                                     skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect2189(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneDamageMultiplierAC2\r\n\r\n    Used by:\r\n    Variations of ship: Arbitrator (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusAC2'),\r\n                                     skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect2201(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusInterdictorsProjectileFalloff1\r\n\r\n    Used by:\r\n    Ship: Sabre\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('eliteBonusInterdictors1'),\r\n                                      skill='Interdictors', **kwargs)\r\n\r\n\r\nclass Effect2215(BaseEffect):\r\n    \"\"\"\r\n    shipBonusPirateFrigateProjDamage\r\n\r\n    Used by:\r\n    Ship: Chremoas\r\n    Ship: Dramiel\r\n    Ship: Mekubal\r\n    Ship: Metamorphosis\r\n    Ship: Sunesis\r\n    Ship: Svipul\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect2232(BaseEffect):\r\n    \"\"\"\r\n    scanStrengthBonusPercentOnline\r\n\r\n    Used by:\r\n    Modules from group: Signal Amplifier (7 of 7)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for type in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):\r\n            fit.ship.boostItemAttr('scan%sStrength' % type,\r\n                                   module.getModifiedItemAttr('scan%sStrengthPercent' % type),\r\n                                   stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2249(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneMiningAmountAC2\r\n\r\n    Used by:\r\n    Ship: Arbitrator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'miningAmount', ship.getModifiedItemAttr('shipBonusAC2'),\r\n                                     skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect2250(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneMiningAmountGC2\r\n\r\n    Used by:\r\n    Ship: Vexor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'),\r\n                                     'miningAmount', ship.getModifiedItemAttr('shipBonusGC2'),\r\n                                     skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect2251(BaseEffect):\r\n    \"\"\"\r\n    commandshipMultiRelayEffect\r\n\r\n    Used by:\r\n    Ships from group: Command Ship (8 of 8)\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    Ship: Odysseus\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupOnline',\r\n                                         src.getModifiedItemAttr('maxGangModules'), **kwargs)\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupActive',\r\n                                         src.getModifiedItemAttr('maxGangModules'), **kwargs)\r\n\r\n\r\nclass Effect2252(BaseEffect):\r\n    \"\"\"\r\n    covertOpsAndReconOpsCloakModuleDelayBonus\r\n\r\n    Used by:\r\n    Ships from group: Black Ops (6 of 6)\r\n    Ships from group: Blockade Runner (5 of 5)\r\n    Ships from group: Covert Ops (9 of 9)\r\n    Ships from group: Expedition Frigate (2 of 2)\r\n    Ships from group: Force Recon Ship (10 of 10)\r\n    Ships from group: Stealth Bomber (5 of 5)\r\n    Ships named like: Stratios (2 of 2)\r\n    Subsystems named like: Defensive Covert Reconfiguration (4 of 4)\r\n    Ship: Astero\r\n    Ship: Cenotaph\r\n    Ship: Metamorphosis\r\n    Ship: Odysseus\r\n    Ship: Rabisu\r\n    Ship: Tholos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemForce(lambda mod: mod.item.requiresSkill('Cloaking'),\r\n                                      'moduleReactivationDelay',\r\n                                      container.getModifiedItemAttr('covertOpsAndReconOpsCloakModuleDelay'), **kwargs)\r\n\r\n\r\nclass Effect2253(BaseEffect):\r\n    \"\"\"\r\n    covertOpsStealthBomberTargettingDelayBonus\r\n\r\n    Used by:\r\n    Ships from group: Black Ops (6 of 6)\r\n    Ships from group: Stealth Bomber (5 of 5)\r\n    Ship: Caedes\r\n    Ship: Chremoas\r\n    Ship: Endurance\r\n    Ship: Etana\r\n    Ship: Rabisu\r\n    Ship: Sidewinder\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemForce(lambda mod: mod.item.group.name == 'Cloaking Device',\r\n                                      'cloakingTargetingDelay',\r\n                                      ship.getModifiedItemAttr('covertOpsStealthBomberTargettingDelay'), **kwargs)\r\n\r\n\r\nclass Effect2255(BaseEffect):\r\n    \"\"\"\r\n    tractorBeamCan\r\n\r\n    Used by:\r\n    Deployables from group: Mobile Tractor Unit (5 of 5)\r\n    Modules from group: Tractor Beam (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n\r\nclass Effect2296(BaseEffect):\r\n    \"\"\"\r\n    modifyArmorResonancePassivePostPercentPassive\r\n\r\n    Used by:\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implants named like: Imperial Defense Booster (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, booster, context, projectionRange, **kwargs):\r\n        for srcResType, tgtResType in (\r\n                ('Em', 'Em'),\r\n                ('Explosive', 'Explosive'),\r\n                ('Kinetic', 'Kinetic'),\r\n                ('Thermic', 'Thermal')\r\n        ):\r\n            fit.ship.boostItemAttr(f'armor{tgtResType}DamageResonance',\r\n                                   booster.getModifiedItemAttr(f'passive{srcResType}DamageResistanceBonus'), **kwargs)\r\n\r\n\r\nclass Effect2297(BaseEffect):\r\n    \"\"\"\r\n    modifyShieldResonancePassivePostPercentPassive\r\n\r\n    Used by:\r\n    Implants named like: Halcyon B Booster (5 of 5)\r\n    Implants named like: State Defense Booster (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for srcResType, tgtResType in (\r\n                ('Em', 'Em'),\r\n                ('Explosive', 'Explosive'),\r\n                ('Kinetic', 'Kinetic'),\r\n                ('Thermic', 'Thermal')\r\n        ):\r\n            fit.ship.boostItemAttr(f'shield{tgtResType}DamageResonance',\r\n                                   ship.getModifiedItemAttr(f'passive{srcResType}DamageResistanceBonus'), **kwargs)\r\n\r\n\r\nclass Effect2298(BaseEffect):\r\n    \"\"\"\r\n    scanStrengthBonusPercentPassive\r\n\r\n    Used by:\r\n    Implants named like: Halcyon B Booster (5 of 5)\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    Implants named like: High grade Grail (5 of 6)\r\n    Implants named like: High grade Jackal (5 of 6)\r\n    Implants named like: High grade Spur (5 of 6)\r\n    Implants named like: High grade Talon (5 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        for type in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):\r\n            sensorType = 'scan{0}Strength'.format(type)\r\n            sensorBoost = 'scan{0}StrengthPercent'.format(type)\r\n            if sensorBoost in implant.item.attributes:\r\n                fit.ship.boostItemAttr(sensorType, implant.getModifiedItemAttr(sensorBoost), **kwargs)\r\n\r\n\r\nclass Effect2302(BaseEffect):\r\n    \"\"\"\r\n    damageControl\r\n\r\n    Used by:\r\n    Modules from group: Damage Control (25 of 30)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for layer, attrPrefix in (('shield', 'shield'), ('armor', 'armor'), ('hull', '')):\r\n            for damageType in ('Kinetic', 'Thermal', 'Explosive', 'Em'):\r\n                bonus = '%s%sDamageResonance' % (attrPrefix, damageType)\r\n                bonus = '%s%s' % (bonus[0].lower(), bonus[1:])\r\n                booster = '%s%sDamageResonance' % (layer, damageType)\r\n                fit.ship.multiplyItemAttr(bonus, module.getModifiedItemAttr(booster),\r\n                                          stackingPenalties=True, penaltyGroup='preMul', **kwargs)\r\n\r\n\r\nclass Effect2305(BaseEffect):\r\n    \"\"\"\r\n    eliteReconBonusEnergyNeutAmount2\r\n\r\n    Used by:\r\n    Ship: Curse\r\n    Ship: Pilgrim\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',\r\n                                      'energyNeutralizerAmount', ship.getModifiedItemAttr('eliteBonusReconShip2'),\r\n                                      skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect2354(BaseEffect):\r\n    \"\"\"\r\n    capitalRemoteArmorRepairerCapNeedBonusSkill\r\n\r\n    Used by:\r\n    Variations of module: Capital Remote Repair Augmentor I (2 of 2)\r\n    Skill: Capital Remote Armor Repair Systems\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Remote Armor Repair Systems'),\r\n                                      'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect2355(BaseEffect):\r\n    \"\"\"\r\n    capitalRemoteShieldTransferCapNeedBonusSkill\r\n\r\n    Used by:\r\n    Skill: Capital Shield Emission Systems\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'),\r\n                                      'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect2356(BaseEffect):\r\n    \"\"\"\r\n    capitalRemoteEnergyTransferCapNeedBonusSkill\r\n\r\n    Used by:\r\n    Skill: Capital Capacitor Emission Systems\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Capacitor Emission Systems'),\r\n                                      'capacitorNeed', skill.getModifiedItemAttr('capNeedBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2402(BaseEffect):\r\n    \"\"\"\r\n    skillSuperWeaponDmgBonus\r\n\r\n    Used by:\r\n    Skill: Advanced Doomsday Operation\r\n    Skill: Doomsday Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        damageTypes = ('em', 'explosive', 'kinetic', 'thermal')\r\n        for dmgType in damageTypes:\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Doomsday Operation'), f'{dmgType}Damage',\r\n                skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2422(BaseEffect):\r\n    \"\"\"\r\n    implantVelocityBonus\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Rogue' Navigation NN (6 of 6)\r\n    Implant: Genolution Core Augmentation CA-3\r\n    Implant: Shaqil's Speed Enhancer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', implant.getModifiedItemAttr('implantBonusVelocity'), **kwargs)\r\n\r\n\r\nclass Effect2432(BaseEffect):\r\n    \"\"\"\r\n    energyManagementCapacitorCapacityBonusPostPercentPassive\r\n\r\n    Used by:\r\n    Implants named like: Halcyon B Booster (5 of 5)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implants named like: Inherent Implants 'Squire' Capacitor Management EM (6 of 6)\r\n    Implants named like: Mindflood Booster (4 of 4)\r\n    Modules named like: Semiconductor Memory Cell (8 of 8)\r\n    Implant: Antipharmakon Aeolis\r\n    Implant: Basic Capsuleer Engineering Augmentation Chip\r\n    Implant: Genolution Core Augmentation CA-1\r\n    Skill: Capacitor Management\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.ship.boostItemAttr('capacitorCapacity', container.getModifiedItemAttr('capacitorCapacityBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect2444(BaseEffect):\r\n    \"\"\"\r\n    minerCpuUsageMultiplyPercent2\r\n\r\n    Used by:\r\n    Modules from group: Mining Upgrade (8 of 13)\r\n    Variations of module: Mining Laser Upgrade I (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'),\r\n                                      'cpu', module.getModifiedItemAttr('cpuPenaltyPercent'), **kwargs)\r\n\r\n\r\nclass Effect2445(BaseEffect):\r\n    \"\"\"\r\n    iceMinerCpuUsagePercent\r\n\r\n    Used by:\r\n    Variations of module: Ice Harvester Upgrade I (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting'),\r\n                                      'cpu', module.getModifiedItemAttr('cpuPenaltyPercent'), **kwargs)\r\n\r\n\r\nclass Effect2456(BaseEffect):\r\n    \"\"\"\r\n    miningUpgradeCPUPenaltyReductionModulesRequiringMiningUpgradePercent\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Highwall' Mining Upgrades MU (3 of 3)\r\n    Skill: Mining Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Upgrades'),\r\n                                      'cpuPenaltyPercent',\r\n                                      container.getModifiedItemAttr('miningUpgradeCPUReductionBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect2465(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorResistAB\r\n\r\n    Used by:\r\n    Ship: Abaddon\r\n    Ship: Nestor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for type in ('Em', 'Explosive', 'Kinetic', 'Thermal'):\r\n            fit.ship.boostItemAttr('armor{0}DamageResonance'.format(type), ship.getModifiedItemAttr('shipBonusAB'),\r\n                                   skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect2479(BaseEffect):\r\n    \"\"\"\r\n    iceHarvestCycleTimeModulesRequiringIceHarvestingOnline\r\n\r\n    Used by:\r\n    Variations of module: Ice Harvester Upgrade I (5 of 5)\r\n    Module: Frostline 'Omnivore' Harvester Upgrade\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting'),\r\n                                      'duration', module.getModifiedItemAttr('iceHarvestCycleBonus'), **kwargs)\r\n\r\n\r\nclass Effect2485(BaseEffect):\r\n    \"\"\"\r\n    implantArmorHpBonus2\r\n\r\n    Used by:\r\n    Implants named like: Capsuleer Defense Augmentation Chip (3 of 3)\r\n    Implants named like: Festival only 'Rock' AH Dose (4 of 4)\r\n    Implants named like: Inherent Implants 'Noble' Hull Upgrades HG (7 of 7)\r\n    Implants named like: Serenity Limited 'Hardshell' Dose (3 of 3)\r\n    Implant: Genolution Core Augmentation CA-4\r\n    Implant: Imperial Navy Modified 'Noble' Implant\r\n    Implant: Imperial Special Ops Field Enhancer - Standard\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorHP', implant.getModifiedItemAttr('armorHpBonus2'), **kwargs)\r\n\r\n\r\nclass Effect2488(BaseEffect):\r\n    \"\"\"\r\n    implantVelocityBonus2\r\n\r\n    Used by:\r\n    Implant: Republic Special Ops Field Enhancer - Gamma\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', implant.getModifiedItemAttr('velocityBonus2'), **kwargs)\r\n\r\n\r\nclass Effect2489(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteTrackingComputerFalloffMC\r\n\r\n    Used by:\r\n    Ship: Scimitar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',\r\n                                      'falloffEffectiveness', ship.getModifiedItemAttr('shipBonusMC'),\r\n                                      skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect2490(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteTrackingComputerFalloffGC2\r\n\r\n    Used by:\r\n    Ship: Oneiros\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',\r\n                                      'falloffEffectiveness', ship.getModifiedItemAttr('shipBonusGC2'),\r\n                                      skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect2491(BaseEffect):\r\n    \"\"\"\r\n    ewSkillEcmBurstRangeBonus\r\n\r\n    Used by:\r\n    Modules named like: Particle Dispersion Projector (8 of 8)\r\n    Skill: Long Distance Jamming\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Burst Jammer',\r\n                                      'ecmBurstRange', container.getModifiedItemAttr('rangeSkillBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect2492(BaseEffect):\r\n    \"\"\"\r\n    ewSkillEcmBurstCapNeedBonus\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Gypsy' Electronic Warfare EW (6 of 6)\r\n    Modules named like: Signal Disruption Amplifier (8 of 8)\r\n    Skill: Electronic Warfare\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Burst Jammer',\r\n                                      'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect2503(BaseEffect):\r\n    \"\"\"\r\n    shipHTTrackingBonusGB2\r\n\r\n    Used by:\r\n    Ships named like: Megathron (3 of 3)\r\n    Ship: Marshal\r\n    Ship: Python\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusGB2'),\r\n                                      skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect2504(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHybridTrackingGF2\r\n\r\n    Used by:\r\n    Ship: Ares\r\n    Ship: Federation Navy Comet\r\n    Ship: Pacifier\r\n    Ship: Sidewinder\r\n    Ship: Tristan\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusGF2'),\r\n                                      skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect2561(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusAssaultShipMissileVelocity1\r\n\r\n    Used by:\r\n    Ship: Hawk\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('eliteBonusGunship1'),\r\n                                        skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect2589(BaseEffect):\r\n    \"\"\"\r\n    modifyBoosterEffectChanceWithBoosterChanceBonusPostPercent\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Recovery NR (2 of 2)\r\n    Skill: Neurotoxin Recovery\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        for i in range(5):\r\n            attr = 'boosterEffectChance{0}'.format(i + 1)\r\n            fit.boosters.filteredItemBoost(lambda booster: attr in booster.itemModifiedAttributes,\r\n                                           attr, container.getModifiedItemAttr('boosterChanceBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect2602(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEmShieldResistanceCB2\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    Ship: Rokh\r\n    Ship: Scorpion Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', ship.getModifiedItemAttr('shipBonus2CB'),\r\n                               skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect2603(BaseEffect):\r\n    \"\"\"\r\n    shipBonusExplosiveShieldResistanceCB2\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    Ship: Rokh\r\n    Ship: Scorpion Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonus2CB'),\r\n                               skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect2604(BaseEffect):\r\n    \"\"\"\r\n    shipBonusKineticShieldResistanceCB2\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    Ship: Rokh\r\n    Ship: Scorpion Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', ship.getModifiedItemAttr('shipBonus2CB'),\r\n                               skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect2605(BaseEffect):\r\n    \"\"\"\r\n    shipBonusThermicShieldResistanceCB2\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    Ship: Rokh\r\n    Ship: Scorpion Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', ship.getModifiedItemAttr('shipBonus2CB'),\r\n                               skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect2611(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipProjectileDamage1\r\n\r\n    Used by:\r\n    Ship: Wolf\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusGunship1'),\r\n                                      skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect2644(BaseEffect):\r\n    \"\"\"\r\n    increaseSignatureRadiusOnline\r\n\r\n    Used by:\r\n    Modules from group: Inertial Stabilizer (7 of 7)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2645(BaseEffect):\r\n    \"\"\"\r\n    scanResolutionMultiplierOnline\r\n\r\n    Used by:\r\n    Modules from group: Interdiction Nullifier (4 of 4)\r\n    Modules from group: Warp Core Stabilizer (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionMultiplier'),\r\n                                  stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2646(BaseEffect):\r\n    \"\"\"\r\n    maxTargetRangeBonus\r\n\r\n    Used by:\r\n    Modules from group: Interdiction Nullifier (4 of 4)\r\n    Modules from group: Warp Core Stabilizer (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2647(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyGunshipHeavyMissileLauncherRof2\r\n\r\n    Used by:\r\n    Ship: Cerberus\r\n    Ship: Muninn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy',\r\n                                      'speed', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),\r\n                                      skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect2648(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyGunshipHeavyAssaultMissileLauncherRof2\r\n\r\n    Used by:\r\n    Ship: Cerberus\r\n    Ship: Muninn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy Assault',\r\n                                      'speed', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),\r\n                                      skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect2649(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyGunshipAssaultMissileLauncherRof2\r\n\r\n    Used by:\r\n    Ship: Cerberus\r\n    Ship: Muninn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Light',\r\n                                      'speed', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),\r\n                                      skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect2670(BaseEffect):\r\n    \"\"\"\r\n    sensorBoosterActivePercentage\r\n\r\n    Used by:\r\n    Modules from group: Sensor Booster (16 of 16)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n        for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):\r\n            fit.ship.boostItemAttr(\r\n                'scan{}Strength'.format(scanType),\r\n                module.getModifiedItemAttr('scan{}StrengthPercent'.format(scanType)),\r\n                stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2688(BaseEffect):\r\n    \"\"\"\r\n    capNeedBonusEffectLasers\r\n\r\n    Used by:\r\n    Modules named like: Energy Discharge Elutriation (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',\r\n                                      'capacitorNeed', module.getModifiedItemAttr('capNeedBonus'), **kwargs)\r\n\r\n\r\nclass Effect2689(BaseEffect):\r\n    \"\"\"\r\n    capNeedBonusEffectHybrids\r\n\r\n    Used by:\r\n    Modules named like: Hybrid Discharge Elutriation (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',\r\n                                      'capacitorNeed', module.getModifiedItemAttr('capNeedBonus'), **kwargs)\r\n\r\n\r\nclass Effect2690(BaseEffect):\r\n    \"\"\"\r\n    cpuNeedBonusEffectLasers\r\n\r\n    Used by:\r\n    Modules named like: Algid Energy Administrations Unit (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',\r\n                                      'cpu', module.getModifiedItemAttr('cpuNeedBonus'), **kwargs)\r\n\r\n\r\nclass Effect2691(BaseEffect):\r\n    \"\"\"\r\n    cpuNeedBonusEffectHybrid\r\n\r\n    Used by:\r\n    Modules named like: Algid Hybrid Administrations Unit (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',\r\n                                      'cpu', module.getModifiedItemAttr('cpuNeedBonus'), **kwargs)\r\n\r\n\r\nclass Effect2693(BaseEffect):\r\n    \"\"\"\r\n    falloffBonusEffectLasers\r\n\r\n    Used by:\r\n    Implants named like: Imperial Projection Booster (4 of 4)\r\n    Modules named like: Energy Ambit Extension (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        penalize = False if 'booster' in context else True\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',\r\n                                      'falloff', module.getModifiedItemAttr('falloffBonus'),\r\n                                      stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect2694(BaseEffect):\r\n    \"\"\"\r\n    falloffBonusEffectHybrids\r\n\r\n    Used by:\r\n    Implants named like: Federation Projection Booster (4 of 4)\r\n    Implants named like: State Projection Booster (4 of 4)\r\n    Modules named like: Hybrid Ambit Extension (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        penalize = 'booster' not in context\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',\r\n                                      'falloff', module.getModifiedItemAttr('falloffBonus'),\r\n                                      stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect2695(BaseEffect):\r\n    \"\"\"\r\n    falloffBonusEffectProjectiles\r\n\r\n    Used by:\r\n    Implants named like: Republic Projection Booster (4 of 4)\r\n    Modules named like: Projectile Ambit Extension (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        penalize = 'booster' not in context\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Projectile Weapon',\r\n                                      'falloff', module.getModifiedItemAttr('falloffBonus'),\r\n                                      stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect2696(BaseEffect):\r\n    \"\"\"\r\n    maxRangeBonusEffectLasers\r\n\r\n    Used by:\r\n    Implants named like: Imperial Projection Booster (4 of 4)\r\n    Modules named like: Energy Locus Coordinator (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        penalties = 'booster' not in context\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',\r\n                                      'maxRange', module.getModifiedItemAttr('maxRangeBonus'),\r\n                                      stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect2697(BaseEffect):\r\n    \"\"\"\r\n    maxRangeBonusEffectHybrids\r\n\r\n    Used by:\r\n    Implants named like: Federation Projection Booster (4 of 4)\r\n    Implants named like: State Projection Booster (4 of 4)\r\n    Modules named like: Hybrid Locus Coordinator (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        penalties = 'booster' not in context\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',\r\n                                      'maxRange', module.getModifiedItemAttr('maxRangeBonus'),\r\n                                      stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect2698(BaseEffect):\r\n    \"\"\"\r\n    maxRangeBonusEffectProjectiles\r\n\r\n    Used by:\r\n    Implants named like: Republic Projection Booster (4 of 4)\r\n    Modules named like: Projectile Locus Coordinator (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        penalize = False if 'booster' in context else True\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Projectile Weapon',\r\n                                      'maxRange', module.getModifiedItemAttr('maxRangeBonus'),\r\n                                      stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect2706(BaseEffect):\r\n    \"\"\"\r\n    drawbackPowerNeedLasers\r\n\r\n    Used by:\r\n    Modules from group: Rig Energy Weapon (56 of 56)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',\r\n                                      'power', module.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect2707(BaseEffect):\r\n    \"\"\"\r\n    drawbackPowerNeedHybrids\r\n\r\n    Used by:\r\n    Modules from group: Rig Hybrid Weapon (56 of 56)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',\r\n                                      'power', module.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect2708(BaseEffect):\r\n    \"\"\"\r\n    drawbackPowerNeedProjectiles\r\n\r\n    Used by:\r\n    Modules from group: Rig Projectile Weapon (40 of 40)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Projectile Weapon',\r\n                                      'power', module.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect2712(BaseEffect):\r\n    \"\"\"\r\n    drawbackArmorHP\r\n\r\n    Used by:\r\n    Modules from group: Rig Navigation (48 of 64)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorHP', module.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect2713(BaseEffect):\r\n    \"\"\"\r\n    drawbackCPUOutput\r\n\r\n    Used by:\r\n    Modules from group: Rig Drones (58 of 64)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('cpuOutput', module.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect2714(BaseEffect):\r\n    \"\"\"\r\n    drawbackCPUNeedLaunchers\r\n\r\n    Used by:\r\n    Modules from group: Rig Launcher (48 of 48)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                      'cpu', module.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect2716(BaseEffect):\r\n    \"\"\"\r\n    drawbackSigRad\r\n\r\n    Used by:\r\n    Modules from group: Rig Shield (72 of 72)\r\n    Modules named like: Optimizer (16 of 16)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('drawback'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2717(BaseEffect):\r\n    \"\"\"\r\n    drawbackAgility\r\n\r\n    Used by:\r\n    Modules from group: Rig Armor (48 of 72)\r\n    Modules from group: Rig Resource Processing (8 of 10)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', module.getModifiedItemAttr('drawback'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2718(BaseEffect):\r\n    \"\"\"\r\n    drawbackShieldCapacity\r\n\r\n    Used by:\r\n    Modules from group: Rig Electronic Systems (40 of 48)\r\n    Modules from group: Rig Targeting (16 of 16)\r\n    Modules named like: Signal Focusing Kit (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldCapacity', module.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect2726(BaseEffect):\r\n    \"\"\"\r\n    miningClouds\r\n\r\n    Used by:\r\n    Modules named like: Gas Cloud (10 of 10)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n\r\nclass Effect2727(BaseEffect):\r\n    \"\"\"\r\n    gasCloudHarvestingMaxGroupSkillLevel\r\n\r\n    Used by:\r\n    Skill: Gas Cloud Harvesting\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == 'Gas Cloud Scoops',\r\n                                         'maxGroupActive', skill.level, **kwargs)\r\n\r\n\r\nclass Effect2734(BaseEffect):\r\n    \"\"\"\r\n    shipECMScanStrengthBonusCF\r\n\r\n    Used by:\r\n    Ship: Griffin\r\n    Ship: Kitsune\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for type in ('Gravimetric', 'Ladar', 'Radar', 'Magnetometric'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                          'scan{0}StrengthBonus'.format(type),\r\n                                          ship.getModifiedItemAttr('shipBonusCF'),\r\n                                          skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect2735(BaseEffect):\r\n    \"\"\"\r\n    boosterArmorHpPenalty\r\n\r\n    Used by:\r\n    Implants named like: Crash Booster (3 of 4)\r\n    Implants named like: Exile Booster (3 of 4)\r\n    Implants named like: Frentix Booster (3 of 4)\r\n    Implants named like: X Instinct Booster (3 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    attr = 'boosterArmorHPPenalty'\r\n    displayName = 'Armor Capacity'\r\n    type = 'boosterSideEffect'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, booster, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorHP', booster.getModifiedItemAttr(cls.attr), **kwargs)\r\n\r\n\r\nclass Effect2736(BaseEffect):\r\n    \"\"\"\r\n    boosterArmorRepairAmountPenalty\r\n\r\n    Used by:\r\n    Implants named like: Drop Booster (3 of 4)\r\n    Implants named like: Mindflood Booster (3 of 4)\r\n    Implants named like: Sooth Sayer Booster (3 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    attr = 'boosterArmorRepairAmountPenalty'\r\n    displayName = 'Armor Repair Amount'\r\n    type = 'boosterSideEffect'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, booster, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Armor Repair Unit', 'Ancillary Armor Repairer'),\r\n                                      'armorDamageAmount', booster.getModifiedItemAttr(cls.attr), **kwargs)\r\n\r\n\r\nclass Effect2737(BaseEffect):\r\n    \"\"\"\r\n    boosterShieldCapacityPenalty\r\n\r\n    Used by:\r\n    Implants named like: Blue Pill Booster (3 of 5)\r\n    Implants named like: Drop Booster (3 of 4)\r\n    Implants named like: Sooth Sayer Booster (3 of 4)\r\n    Implants named like: X Instinct Booster (3 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    attr = 'boosterShieldCapacityPenalty'\r\n    displayName = 'Shield Capacity'\r\n    type = 'boosterSideEffect'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, booster, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldCapacity', booster.getModifiedItemAttr(cls.attr), **kwargs)\r\n\r\n\r\nclass Effect2739(BaseEffect):\r\n    \"\"\"\r\n    boosterTurretOptimalRangePenalty\r\n\r\n    Used by:\r\n    Implants named like: Blue Pill Booster (3 of 5)\r\n    Implants named like: Mindflood Booster (3 of 4)\r\n    Implants named like: Sooth Sayer Booster (3 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    attr = 'boosterTurretOptimalRangePenalty'\r\n    displayName = 'Turret Optimal Range'\r\n    type = 'boosterSideEffect'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, booster, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'maxRange', booster.getModifiedItemAttr(cls.attr), **kwargs)\r\n\r\n\r\nclass Effect2741(BaseEffect):\r\n    \"\"\"\r\n    boosterTurretFalloffPenalty\r\n\r\n    Used by:\r\n    Implants named like: Drop Booster (3 of 4)\r\n    Implants named like: X Instinct Booster (3 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    attr = 'boosterTurretFalloffPenalty'\r\n    displayName = 'Turret Falloff'\r\n    type = 'boosterSideEffect'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, booster, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'falloff', booster.getModifiedItemAttr(cls.attr), **kwargs)\r\n\r\n\r\nclass Effect2745(BaseEffect):\r\n    \"\"\"\r\n    boosterCapacitorCapacityPenalty\r\n\r\n    Used by:\r\n    Implants named like: Blue Pill Booster (3 of 5)\r\n    Implants named like: Exile Booster (3 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    attr = 'boosterCapacitorCapacityPenalty'\r\n    displayName = 'Cap Capacity'\r\n    type = 'boosterSideEffect'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, booster, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacitorCapacity', booster.getModifiedItemAttr(cls.attr), **kwargs)\r\n\r\n\r\nclass Effect2746(BaseEffect):\r\n    \"\"\"\r\n    boosterMaxVelocityPenalty\r\n\r\n    Used by:\r\n    Implants named like: Crash Booster (3 of 4)\r\n    Items from market group: Implants & Boosters > Booster > Booster Slot 02 (9 of 13)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    attr = 'boosterMaxVelocityPenalty'\r\n    displayName = 'Velocity'\r\n    type = 'boosterSideEffect'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, booster, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', booster.getModifiedItemAttr(cls.attr), **kwargs)\r\n\r\n\r\nclass Effect2747(BaseEffect):\r\n    \"\"\"\r\n    boosterTurretTrackingPenalty\r\n\r\n    Used by:\r\n    Implants named like: Exile Booster (3 of 4)\r\n    Implants named like: Frentix Booster (3 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    attr = 'boosterTurretTrackingPenalty'\r\n    displayName = 'Turret Tracking'\r\n    type = 'boosterSideEffect'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, booster, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'trackingSpeed', booster.getModifiedItemAttr(cls.attr), **kwargs)\r\n\r\n\r\nclass Effect2748(BaseEffect):\r\n    \"\"\"\r\n    boosterMissileVelocityPenalty\r\n\r\n    Used by:\r\n    Implants named like: Crash Booster (3 of 4)\r\n    Implants named like: X Instinct Booster (3 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    attr = 'boosterMissileVelocityPenalty'\r\n    displayName = 'Missile Velocity'\r\n    type = 'boosterSideEffect'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, booster, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'maxVelocity', booster.getModifiedItemAttr(cls.attr), **kwargs)\r\n\r\n\r\nclass Effect2749(BaseEffect):\r\n    \"\"\"\r\n    boosterMissileExplosionVelocityPenalty\r\n\r\n    Used by:\r\n    Implants named like: Blue Pill Booster (3 of 5)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    attr = 'boosterAOEVelocityPenalty'\r\n    displayName = 'Missile Explosion Velocity'\r\n    type = 'boosterSideEffect'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, booster, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'aoeVelocity', booster.getModifiedItemAttr(cls.attr), **kwargs)\r\n\r\n\r\nclass Effect2756(BaseEffect):\r\n    \"\"\"\r\n    shipBonusECMStrengthBonusCC\r\n\r\n    Used by:\r\n    Ship: Blackbird\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for type in ('Gravimetric', 'Magnetometric', 'Ladar', 'Radar'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                          'scan{0}StrengthBonus'.format(type), ship.getModifiedItemAttr('shipBonusCC'),\r\n                                          skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect2757(BaseEffect):\r\n    \"\"\"\r\n    salvaging\r\n\r\n    Used by:\r\n    Modules from group: Salvager (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n\r\nclass Effect2760(BaseEffect):\r\n    \"\"\"\r\n    boosterModifyBoosterArmorPenalties\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)\r\n    Implants named like: grade Edge (10 of 12)\r\n    Skill: Neurotoxin Control\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        attrs = ('boosterArmorHPPenalty', 'boosterArmorRepairAmountPenalty')\r\n        for attr in attrs:\r\n            fit.boosters.filteredItemBoost(lambda booster: True, attr,\r\n                                           container.getModifiedItemAttr('boosterAttributeModifier') * level, **kwargs)\r\n\r\n\r\nclass Effect2763(BaseEffect):\r\n    \"\"\"\r\n    boosterModifyBoosterShieldPenalty\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)\r\n    Implants named like: grade Edge (10 of 12)\r\n    Skill: Neurotoxin Control\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        attrs = ('boosterShieldBoostAmountPenalty', 'boosterShieldCapacityPenalty', 'shieldBoostMultiplier')\r\n        for attr in attrs:\r\n            # shieldBoostMultiplier can be positive (Blue Pill) and negative value (other boosters)\r\n            # We're interested in decreasing only side-effects\r\n            fit.boosters.filteredItemBoost(lambda booster: booster.getModifiedItemAttr(attr) < 0,\r\n                                           attr, container.getModifiedItemAttr('boosterAttributeModifier') * level, **kwargs)\r\n\r\n\r\nclass Effect2766(BaseEffect):\r\n    \"\"\"\r\n    boosterModifyBoosterMaxVelocityAndCapacitorPenalty\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)\r\n    Implants named like: grade Edge (10 of 12)\r\n    Skill: Neurotoxin Control\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        attrs = ('boosterCapacitorCapacityPenalty', 'boosterMaxVelocityPenalty')\r\n        for attr in attrs:\r\n            fit.boosters.filteredItemBoost(lambda booster: True, attr,\r\n                                           container.getModifiedItemAttr('boosterAttributeModifier') * level, **kwargs)\r\n\r\n\r\nclass Effect2776(BaseEffect):\r\n    \"\"\"\r\n    boosterModifyBoosterMissilePenalty\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)\r\n    Implants named like: grade Edge (10 of 12)\r\n    Skill: Neurotoxin Control\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        attrs = ('boosterAOEVelocityPenalty', 'boosterMissileAOECloudPenalty', 'boosterMissileVelocityPenalty')\r\n        for attr in attrs:\r\n            fit.boosters.filteredItemBoost(lambda booster: True, attr,\r\n                                           container.getModifiedItemAttr('boosterAttributeModifier') * level, **kwargs)\r\n\r\n\r\nclass Effect2778(BaseEffect):\r\n    \"\"\"\r\n    boosterModifyBoosterTurretPenalty\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)\r\n    Implants named like: grade Edge (10 of 12)\r\n    Skill: Neurotoxin Control\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        attrs = ('boosterTurretFalloffPenalty', 'boosterTurretOptimalRangePenalty', 'boosterTurretTrackingPenalty')\r\n        for attr in attrs:\r\n            fit.boosters.filteredItemBoost(lambda booster: True, attr,\r\n                                           container.getModifiedItemAttr('boosterAttributeModifier') * level, **kwargs)\r\n\r\n\r\nclass Effect2791(BaseEffect):\r\n    \"\"\"\r\n    boosterMissileExplosionCloudPenaltyFixed\r\n\r\n    Used by:\r\n    Implants named like: Exile Booster (3 of 4)\r\n    Implants named like: Mindflood Booster (3 of 4)\r\n    \"\"\"\r\n\r\n    attr = 'boosterMissileAOECloudPenalty'\r\n    displayName = 'Missile Explosion Radius'\r\n    type = 'boosterSideEffect'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, booster, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'aoeCloudSize', booster.getModifiedItemAttr(cls.attr), **kwargs)\r\n\r\n\r\nclass Effect2792(BaseEffect):\r\n    \"\"\"\r\n    modifyArmorResonancePostPercentPassive\r\n\r\n    Used by:\r\n    Modules named like: Armor Reinforcer (32 of 32)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for type in ('kinetic', 'thermal', 'explosive', 'em'):\r\n            fit.ship.boostItemAttr('armor' + type.capitalize() + 'DamageResonance',\r\n                                   module.getModifiedItemAttr(type + 'DamageResistanceBonus') or 0,\r\n                                   stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2794(BaseEffect):\r\n    \"\"\"\r\n    salvagingAccessDifficultyBonusEffectPassive\r\n\r\n    Used by:\r\n    Modules from group: Rig Resource Processing (8 of 10)\r\n    Implant: Poteque 'Prospector' Salvaging SV-905\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Salvaging'),\r\n                                         'accessDifficultyBonus', container.getModifiedItemAttr('accessDifficultyBonus'),\r\n                                         position='post', **kwargs)\r\n\r\n\r\nclass Effect2795(BaseEffect):\r\n    \"\"\"\r\n    modifyShieldResonancePostPercentPassive\r\n\r\n    Used by:\r\n    Modules named like: Shield Reinforcer (32 of 32)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for type in ('kinetic', 'thermal', 'explosive', 'em'):\r\n            fit.ship.boostItemAttr('shield' + type.capitalize() + 'DamageResonance',\r\n                                   module.getModifiedItemAttr(type + 'DamageResistanceBonus') or 0,\r\n                                   stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2796(BaseEffect):\r\n    \"\"\"\r\n    massReductionBonusPassive\r\n\r\n    Used by:\r\n    Modules from group: Rig Anchor (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('mass', module.getModifiedItemAttr('massBonusPercentage'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2797(BaseEffect):\r\n    \"\"\"\r\n    projectileWeaponSpeedMultiplyPassive\r\n\r\n    Used by:\r\n    Modules named like: Projectile Burst Aerator (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Projectile Weapon',\r\n                                         'speed', module.getModifiedItemAttr('speedMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2798(BaseEffect):\r\n    \"\"\"\r\n    projectileWeaponDamageMultiplyPassive\r\n\r\n    Used by:\r\n    Implants named like: Republic Damage Booster (4 of 4)\r\n    Modules named like: Projectile Collision Accelerator (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        penalize = 'booster' not in context\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Projectile Weapon',\r\n                                         'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),\r\n                                         stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect2799(BaseEffect):\r\n    \"\"\"\r\n    missileLauncherSpeedMultiplierPassive\r\n\r\n    Used by:\r\n    Modules named like: Bay Loading Accelerator (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                         'speed', module.getModifiedItemAttr('speedMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2801(BaseEffect):\r\n    \"\"\"\r\n    energyWeaponSpeedMultiplyPassive\r\n\r\n    Used by:\r\n    Modules named like: Energy Burst Aerator (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Energy Weapon',\r\n                                         'speed', module.getModifiedItemAttr('speedMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2802(BaseEffect):\r\n    \"\"\"\r\n    hybridWeaponDamageMultiplyPassive\r\n\r\n    Used by:\r\n    Implants named like: Federation Damage Booster (4 of 4)\r\n    Implants named like: State Damage Booster (4 of 4)\r\n    Modules named like: Hybrid Collision Accelerator (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        penalize = 'booster' not in context\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Hybrid Weapon',\r\n                                         'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),\r\n                                         stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect2803(BaseEffect):\r\n    \"\"\"\r\n    energyWeaponDamageMultiplyPassive\r\n\r\n    Used by:\r\n    Implants named like: Imperial Damage Booster (4 of 4)\r\n    Modules named like: Energy Collision Accelerator (8 of 8)\r\n    Implant: Wisdom of Gheinok\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        penalties = 'booster' not in context\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Energy Weapon',\r\n                                         'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),\r\n                                         stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect2804(BaseEffect):\r\n    \"\"\"\r\n    hybridWeaponSpeedMultiplyPassive\r\n\r\n    Used by:\r\n    Modules named like: Hybrid Burst Aerator (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Hybrid Weapon',\r\n                                         'speed', module.getModifiedItemAttr('speedMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2805(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLargeEnergyWeaponDamageAB2\r\n\r\n    Used by:\r\n    Ship: Abaddon\r\n    Ship: Marshal\r\n    Ship: Python\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusAB2'),\r\n                                      skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect2809(BaseEffect):\r\n    \"\"\"\r\n    shipMissileAssaultMissileVelocityBonusCC2\r\n\r\n    Used by:\r\n    Ship: Caracal\r\n    Ship: Osprey Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('shipBonusCC2'),\r\n                                        skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect2812(BaseEffect):\r\n    \"\"\"\r\n    caldariShipECMBurstOptimalRangeCB3\r\n\r\n    Used by:\r\n    Ship: Scorpion\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Burst Jammer',\r\n                                      'ecmBurstRange', ship.getModifiedItemAttr('shipBonusCB3'),\r\n                                      skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect2837(BaseEffect):\r\n    \"\"\"\r\n    armorHPBonusAdd\r\n\r\n    Used by:\r\n    Modules from group: Armor Plate (51 of 51)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('armorHP', module.getModifiedItemAttr('armorHPBonusAdd'), **kwargs)\r\n\r\n\r\nclass Effect2847(BaseEffect):\r\n    \"\"\"\r\n    trackingSpeedBonusPassiveRequiringGunneryTrackingSpeedBonus\r\n\r\n    Used by:\r\n    Implants named like: Drop Booster (4 of 4)\r\n    Implants named like: Eifyr and Co. 'Gunslinger' Motion Prediction MR (6 of 6)\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    Implant: Antipharmakon Iokira\r\n    Implant: Ogdin's Eye Coordination Enhancer\r\n    Skill: Motion Prediction\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'trackingSpeed', container.getModifiedItemAttr('trackingSpeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect2848(BaseEffect):\r\n    \"\"\"\r\n    accessDifficultyBonusModifierRequiringArchaelogy\r\n\r\n    Used by:\r\n    Modules named like: Emission Scope Sharpener (8 of 8)\r\n    Implant: Poteque 'Prospector' Archaeology AC-905\r\n    Implant: Poteque 'Prospector' Environmental Analysis EY-1005\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda module: module.item.requiresSkill('Archaeology'), 'accessDifficultyBonus',\r\n            container.getModifiedItemAttr('accessDifficultyBonusModifier'), **kwargs)\r\n\r\n\r\nclass Effect2849(BaseEffect):\r\n    \"\"\"\r\n    accessDifficultyBonusModifierRequiringHacking\r\n\r\n    Used by:\r\n    Modules named like: Memetic Algorithm Bank (8 of 8)\r\n    Implant: Neural Lace 'Blackglass' Net Intrusion 920-40\r\n    Implant: Neural Lace 'Bluefire' Net Ablation 960-10\r\n    Implant: Poteque 'Prospector' Environmental Analysis EY-1005\r\n    Implant: Poteque 'Prospector' Hacking HC-905\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda c: c.item.requiresSkill('Hacking'), 'accessDifficultyBonus',\r\n            container.getModifiedItemAttr('accessDifficultyBonusModifier'), **kwargs)\r\n\r\n\r\nclass Effect2850(BaseEffect):\r\n    \"\"\"\r\n    durationBonusForGroupAfterburner\r\n\r\n    Used by:\r\n    Modules named like: Engine Thermal Shielding (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',\r\n                                      'duration', module.getModifiedItemAttr('durationBonus'), **kwargs)\r\n\r\n\r\nclass Effect2851(BaseEffect):\r\n    \"\"\"\r\n    missileDMGBonusPassive\r\n\r\n    Used by:\r\n    Implants named like: Republic Damage Booster (4 of 4)\r\n    Implants named like: State Damage Booster (4 of 4)\r\n    Modules named like: Warhead Calefaction Catalyst (8 of 8)\r\n    Implant: Guristas Damage Booster III\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        penalize = False if 'booster' in context else True\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                               '%sDamage' % dmgType,\r\n                                               container.getModifiedItemAttr('missileDamageMultiplierBonus'),\r\n                                               stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect2853(BaseEffect):\r\n    \"\"\"\r\n    cloakingTargetingDelayBonusLRSMCloakingPassive\r\n\r\n    Used by:\r\n    Modules named like: Targeting Systems Stabilizer (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda module: module.item.requiresSkill('Cloaking'),\r\n                                      'cloakingTargetingDelay', module.getModifiedItemAttr('cloakingTargetingDelayBonus'), **kwargs)\r\n\r\n\r\nclass Effect2857(BaseEffect):\r\n    \"\"\"\r\n    cynosuralGeneration\r\n\r\n    Used by:\r\n    Modules from group: Cynosural Field Generator (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('speedFactor'), **kwargs)\r\n\r\n\r\nclass Effect2858(BaseEffect):\r\n    \"\"\"\r\n    cloneJumpAccepting\r\n\r\n    Used by:\r\n    Module: Clone Vat Bay I\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', mod.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', mod.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n        fit.ship.forceItemAttr('canCloak', mod.getModifiedChargeAttr('canCloak'), **kwargs)\r\n\r\n\r\nclass Effect2865(BaseEffect):\r\n    \"\"\"\r\n    velocityBonusOnline\r\n\r\n    Used by:\r\n    Modules from group: Entosis Link (6 of 6)\r\n    Modules from group: Nanofiber Internal Structure (8 of 8)\r\n    Modules from group: Overdrive Injector System (7 of 7)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('implantBonusVelocity'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2866(BaseEffect):\r\n    \"\"\"\r\n    biologyTimeBonusFixed\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Alchemist' Biology BY (2 of 2)\r\n    Skill: Biology\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.boosters.filteredItemBoost(lambda bst: True, 'boosterDuration',\r\n                                       container.getModifiedItemAttr('durationBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect2867(BaseEffect):\r\n    \"\"\"\r\n    sentryDroneDamageBonus\r\n\r\n    Used by:\r\n    Modules named like: Sentry Damage Augmentor (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),\r\n                                     'damageMultiplier', module.getModifiedItemAttr('damageMultiplierBonus'),\r\n                                     stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2868(BaseEffect):\r\n    \"\"\"\r\n    armorDamageAmountBonusCapitalArmorRepairers\r\n\r\n    Used by:\r\n    Modules named like: Auxiliary Nano Pump (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'),\r\n                                      'armorDamageAmount', implant.getModifiedItemAttr('repairBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect2872(BaseEffect):\r\n    \"\"\"\r\n    missileVelocityBonusDefender\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Defender Missiles DM (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Defender Missiles'),\r\n                                        'maxVelocity', container.getModifiedItemAttr('missileVelocityBonus'), **kwargs)\r\n\r\n\r\nclass Effect2881(BaseEffect):\r\n    \"\"\"\r\n    missileEMDmgBonusCruise3\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Cruise Missiles CM (6 of 6)\r\n    Implant: Festival-only 'Longbow' CM3 Dose\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),\r\n                                        'emDamage', implant.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2882(BaseEffect):\r\n    \"\"\"\r\n    missileExplosiveDmgBonusCruise3\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Cruise Missiles CM (6 of 6)\r\n    Implant: Festival-only 'Longbow' CM3 Dose\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),\r\n                                        'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2883(BaseEffect):\r\n    \"\"\"\r\n    missileKineticDmgBonusCruise3\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Cruise Missiles CM (6 of 6)\r\n    Implant: Festival-only 'Longbow' CM3 Dose\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),\r\n                                        'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2884(BaseEffect):\r\n    \"\"\"\r\n    missileThermalDmgBonusCruise3\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Cruise Missiles CM (6 of 6)\r\n    Implant: Festival-only 'Longbow' CM3 Dose\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),\r\n                                        'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2885(BaseEffect):\r\n    \"\"\"\r\n    gasHarvestingCycleTimeModulesRequiringGasCloudHarvesting\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Alchemist' Gas Harvesting GH (3 of 3)\r\n    Implants named like: ORE 'Harvester' Efficiency (2 of 2)\r\n    Implants named like: Serenity Limited 'Efficiency' Dose (3 of 3)\r\n    Implants named like: Serenity Poteque 'Prospector' Harvesting MC (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gas Cloud Harvesting'),\r\n                                      'duration', implant.getModifiedItemAttr('durationBonus'), **kwargs)\r\n\r\n\r\nclass Effect2887(BaseEffect):\r\n    \"\"\"\r\n    missileEMDmgBonusRocket\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Rockets RD (6 of 6)\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    Implant: Festival-only 'Longbow' RD2 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'emDamage', implant.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2888(BaseEffect):\r\n    \"\"\"\r\n    missileExplosiveDmgBonusRocket\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Rockets RD (6 of 6)\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    Implant: Festival-only 'Longbow' RD2 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2889(BaseEffect):\r\n    \"\"\"\r\n    missileKineticDmgBonusRocket\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Rockets RD (6 of 6)\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    Implant: Festival-only 'Longbow' RD2 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2890(BaseEffect):\r\n    \"\"\"\r\n    missileThermalDmgBonusRocket\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Rockets RD (6 of 6)\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    Implant: Festival-only 'Longbow' RD2 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2891(BaseEffect):\r\n    \"\"\"\r\n    missileEMDmgBonusStandard\r\n\r\n    Used by:\r\n    Implants named like: Festival only 'Longbow' MD Dose (2 of 2)\r\n    Implants named like: Zainou 'Snapshot' Light Missiles LM (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                        'emDamage', implant.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2892(BaseEffect):\r\n    \"\"\"\r\n    missileExplosiveDmgBonusStandard\r\n\r\n    Used by:\r\n    Implants named like: Festival only 'Longbow' MD Dose (2 of 2)\r\n    Implants named like: Zainou 'Snapshot' Light Missiles LM (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                        'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2893(BaseEffect):\r\n    \"\"\"\r\n    missileKineticDmgBonusStandard\r\n\r\n    Used by:\r\n    Implants named like: Festival only 'Longbow' MD Dose (2 of 2)\r\n    Implants named like: Zainou 'Snapshot' Light Missiles LM (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                        'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2894(BaseEffect):\r\n    \"\"\"\r\n    missileThermalDmgBonusStandard\r\n\r\n    Used by:\r\n    Implants named like: Festival only 'Longbow' MD Dose (2 of 2)\r\n    Implants named like: Zainou 'Snapshot' Light Missiles LM (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                        'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2899(BaseEffect):\r\n    \"\"\"\r\n    missileEMDmgBonusHeavy\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Heavy Missiles HM (6 of 6)\r\n    Implant: Festival-only 'Longbow' HM4 Dose\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'emDamage', implant.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2900(BaseEffect):\r\n    \"\"\"\r\n    missileExplosiveDmgBonusHeavy\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Heavy Missiles HM (6 of 6)\r\n    Implant: Festival-only 'Longbow' HM4 Dose\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2901(BaseEffect):\r\n    \"\"\"\r\n    missileKineticDmgBonusHeavy\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Heavy Missiles HM (6 of 6)\r\n    Implant: Festival-only 'Longbow' HM4 Dose\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2902(BaseEffect):\r\n    \"\"\"\r\n    missileThermalDmgBonusHeavy\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Heavy Missiles HM (6 of 6)\r\n    Implant: Festival-only 'Longbow' HM4 Dose\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2903(BaseEffect):\r\n    \"\"\"\r\n    missileEMDmgBonusHAM\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Heavy Assault Missiles AM (6 of 6)\r\n    Implant: Festival-only 'Longbow' HAM4 Dose\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'emDamage', implant.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2904(BaseEffect):\r\n    \"\"\"\r\n    missileExplosiveDmgBonusHAM\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Heavy Assault Missiles AM (6 of 6)\r\n    Implant: Festival-only 'Longbow' HAM4 Dose\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2905(BaseEffect):\r\n    \"\"\"\r\n    missileKineticDmgBonusHAM\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Heavy Assault Missiles AM (6 of 6)\r\n    Implant: Festival-only 'Longbow' HAM4 Dose\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2906(BaseEffect):\r\n    \"\"\"\r\n    missileThermalDmgBonusHAM\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Heavy Assault Missiles AM (6 of 6)\r\n    Implant: Festival-only 'Longbow' HAM4 Dose\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2907(BaseEffect):\r\n    \"\"\"\r\n    missileEMDmgBonusTorpedo\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Torpedoes TD (6 of 6)\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    Implant: Festival-only 'Longbow' TP3 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'emDamage', implant.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2908(BaseEffect):\r\n    \"\"\"\r\n    missileExplosiveDmgBonusTorpedo\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Torpedoes TD (6 of 6)\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    Implant: Festival-only 'Longbow' TP3 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2909(BaseEffect):\r\n    \"\"\"\r\n    missileKineticDmgBonusTorpedo\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Torpedoes TD (6 of 6)\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    Implant: Festival-only 'Longbow' TP3 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2910(BaseEffect):\r\n    \"\"\"\r\n    missileThermalDmgBonusTorpedo\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Torpedoes TD (6 of 6)\r\n    Implant: Festival-only 'Longbow' MD6 Dose\r\n    Implant: Festival-only 'Longbow' TP3 Dose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect2911(BaseEffect):\r\n    \"\"\"\r\n    dataminerModuleDurationReduction\r\n\r\n    Used by:\r\n    Implant: Poteque 'Prospector' Environmental Analysis EY-1005\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Data Miners',\r\n                                      'duration', implant.getModifiedItemAttr('durationBonus'), **kwargs)\r\n\r\n\r\nclass Effect2967(BaseEffect):\r\n    \"\"\"\r\n    skillTriageModuleConsumptionQuantityBonus\r\n\r\n    Used by:\r\n    Skill: Tactical Logistics Reconfiguration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        amount = -skill.getModifiedItemAttr('consumptionQuantityBonus')\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill(skill),\r\n                                         'consumptionQuantity', amount * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2979(BaseEffect):\r\n    \"\"\"\r\n    skillRemoteHullRepairSystemsCapNeedBonus\r\n\r\n    Used by:\r\n    Skill: Remote Hull Repair Systems\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Hull Repair Systems'),\r\n                                      'capacitorNeed', skill.getModifiedItemAttr('capNeedBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2980(BaseEffect):\r\n    \"\"\"\r\n    skillCapitalRemoteHullRepairSystemsCapNeedBonus\r\n\r\n    Used by:\r\n    Skill: Capital Remote Hull Repair Systems\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Remote Hull Repair Systems'),\r\n                                      'capacitorNeed', skill.getModifiedItemAttr('capNeedBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect2982(BaseEffect):\r\n    \"\"\"\r\n    skillRemoteECMDurationBonus\r\n\r\n    Used by:\r\n    Skill: Burst Projector Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        # We need to make sure that the attribute exists, otherwise we add attributes that don't belong.  See #927\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation') and\r\n                                                  mod.item.getAttribute('duration'),\r\n                                      'duration',\r\n                                      skill.getModifiedItemAttr('projECMDurationBonus') * skill.level, **kwargs)\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation') and\r\n                                                  mod.item.getAttribute('durationECMJammerBurstProjector'),\r\n                                      'durationECMJammerBurstProjector',\r\n                                      skill.getModifiedItemAttr('projECMDurationBonus') * skill.level, **kwargs)\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation') and\r\n                                                  mod.item.getAttribute('durationTargetIlluminationBurstProjector'),\r\n                                      'durationTargetIlluminationBurstProjector',\r\n                                      skill.getModifiedItemAttr('projECMDurationBonus') * skill.level, **kwargs)\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation') and\r\n                                                  mod.item.getAttribute('durationSensorDampeningBurstProjector'),\r\n                                      'durationSensorDampeningBurstProjector',\r\n                                      skill.getModifiedItemAttr('projECMDurationBonus') * skill.level, **kwargs)\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation') and\r\n                                                  mod.item.getAttribute('durationWeaponDisruptionBurstProjector'),\r\n                                      'durationWeaponDisruptionBurstProjector',\r\n                                      skill.getModifiedItemAttr('projECMDurationBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect3001(BaseEffect):\r\n    \"\"\"\r\n    overloadRofBonus\r\n\r\n    Used by:\r\n    Modules from group: Missile Launcher Torpedo (22 of 22)\r\n    Items from market group: Ship Equipment > Turrets & Launchers (446 of 935)\r\n    Module: Interdiction Sphere Launcher I\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('speed', module.getModifiedItemAttr('overloadRofBonus'),\r\n                             stackingPenalties=True, penaltyGroup='postPerc', **kwargs)\r\n\r\n\r\nclass Effect3002(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfDurationBonus\r\n\r\n    Used by:\r\n    Modules from group: Armor Resistance Shift Hardener (2 of 2)\r\n    Modules from group: Capacitor Booster (43 of 43)\r\n    Modules from group: Energy Neutralizer (57 of 57)\r\n    Modules from group: Energy Nosferatu (58 of 58)\r\n    Modules from group: Hull Repair Unit (25 of 25)\r\n    Modules from group: Remote Capacitor Transmitter (37 of 37)\r\n    Modules from group: Remote Hull Repairer (8 of 8)\r\n    Modules from group: Smart Bomb (137 of 137)\r\n    Modules from group: Warp Disrupt Field Generator (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('duration', module.getModifiedItemAttr('overloadSelfDurationBonus') or 0, **kwargs)\r\n\r\n\r\nclass Effect3024(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCoverOpsBombExplosiveDmg1\r\n\r\n    Used by:\r\n    Ship: Hound\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('eliteBonusCovertOps1'),\r\n                                        skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect3025(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfDamageBonus\r\n\r\n    Used by:\r\n    Modules from group: Energy Weapon (105 of 220)\r\n    Modules from group: Hybrid Weapon (107 of 223)\r\n    Modules from group: Precursor Weapon (20 of 20)\r\n    Modules from group: Projectile Weapon (101 of 167)\r\n    Modules named like: Pulse Laser (89 of 90)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('damageMultiplier', module.getModifiedItemAttr('overloadDamageModifier'), **kwargs)\r\n\r\n\r\nclass Effect3026(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCoverOpsBombKineticDmg1\r\n\r\n    Used by:\r\n    Ship: Manticore\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('eliteBonusCovertOps1'),\r\n                                        skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect3027(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCoverOpsBombThermalDmg1\r\n\r\n    Used by:\r\n    Ship: Nemesis\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('eliteBonusCovertOps1'),\r\n                                        skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect3028(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCoverOpsBombEmDmg1\r\n\r\n    Used by:\r\n    Ship: Purifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                        'emDamage', ship.getModifiedItemAttr('eliteBonusCovertOps1'),\r\n                                        skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect3029(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfEmHardeningBonus\r\n\r\n    Used by:\r\n    Variations of module: EM Armor Hardener I (37 of 37)\r\n    Variations of module: EM Shield Hardener I (20 of 20)\r\n    Module: Civilian EM Shield Hardener\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('emDamageResistanceBonus', module.getModifiedItemAttr('overloadHardeningBonus'), **kwargs)\r\n\r\n\r\nclass Effect3030(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfThermalHardeningBonus\r\n\r\n    Used by:\r\n    Variations of module: Thermal Armor Hardener I (37 of 37)\r\n    Variations of module: Thermal Shield Hardener I (20 of 20)\r\n    Module: Civilian Thermal Shield Hardener\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('thermalDamageResistanceBonus', module.getModifiedItemAttr('overloadHardeningBonus'), **kwargs)\r\n\r\n\r\nclass Effect3031(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfExplosiveHardeningBonus\r\n\r\n    Used by:\r\n    Variations of module: Explosive Armor Hardener I (37 of 37)\r\n    Variations of module: Explosive Shield Hardener I (20 of 20)\r\n    Module: Civilian Explosive Shield Hardener\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('explosiveDamageResistanceBonus', module.getModifiedItemAttr('overloadHardeningBonus'), **kwargs)\r\n\r\n\r\nclass Effect3032(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfKineticHardeningBonus\r\n\r\n    Used by:\r\n    Variations of module: Kinetic Armor Hardener I (37 of 37)\r\n    Variations of module: Kinetic Shield Hardener I (20 of 20)\r\n    Module: Civilian Kinetic Shield Hardener\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('kineticDamageResistanceBonus', module.getModifiedItemAttr('overloadHardeningBonus'), **kwargs)\r\n\r\n\r\nclass Effect3035(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfHardeningInvulnerabilityBonus\r\n\r\n    Used by:\r\n    Modules named like: Capital Flex Hardener (9 of 9)\r\n    Variations of module: Multispectrum Shield Hardener I (19 of 19)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for type in ('kinetic', 'thermal', 'explosive', 'em'):\r\n            module.boostItemAttr('%sDamageResistanceBonus' % type,\r\n                                 module.getModifiedItemAttr('overloadHardeningBonus'), **kwargs)\r\n\r\n\r\nclass Effect3036(BaseEffect):\r\n    \"\"\"\r\n    skillBombDeploymentModuleReactivationDelayBonus\r\n\r\n    Used by:\r\n    Skill: Bomb Deployment\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Bomb',\r\n                                      'moduleReactivationDelay', skill.getModifiedItemAttr('reactivationDelayBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect3046(BaseEffect):\r\n    \"\"\"\r\n    modifyMaxVelocityOfShipPassive\r\n\r\n    Used by:\r\n    Modules from group: Expanded Cargohold (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'offline'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('maxVelocity', module.getModifiedItemAttr('maxVelocityModifier'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3047(BaseEffect):\r\n    \"\"\"\r\n    structureHPMultiplyPassive\r\n\r\n    Used by:\r\n    Modules from group: Expanded Cargohold (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('hp', module.getModifiedItemAttr('structureHPMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect3061(BaseEffect):\r\n    \"\"\"\r\n    heatDamageBonus\r\n\r\n    Used by:\r\n    Modules from group: Shield Boost Amplifier (23 of 23)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'heatDamage', module.getModifiedItemAttr('heatDamageBonus'), **kwargs)\r\n\r\n\r\nclass Effect3169(BaseEffect):\r\n    \"\"\"\r\n    shieldTransportCpuNeedBonusEffect\r\n\r\n    Used by:\r\n    Ships from group: Logistics (3 of 7)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'cpu',\r\n                                      src.getModifiedItemAttr('shieldTransportCpuNeedBonus'), **kwargs)\r\n\r\n\r\nclass Effect3172(BaseEffect):\r\n    \"\"\"\r\n    droneArmorDamageBonusEffect\r\n\r\n    Used by:\r\n    Ships from group: Logistics (6 of 7)\r\n    Ship: Exequror\r\n    Ship: Scythe\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        # This is actually level-less bonus, anyway you have to train cruisers 5\r\n        # and will get 100% (20%/lvl as stated by description)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Logistic Drone',\r\n                                     'armorDamageAmount', ship.getModifiedItemAttr('droneArmorDamageAmountBonus'), **kwargs)\r\n\r\n\r\nclass Effect3173(BaseEffect):\r\n    \"\"\"\r\n    droneShieldBonusBonusEffect\r\n\r\n    Used by:\r\n    Ships from group: Logistics (6 of 7)\r\n    Ship: Exequror\r\n    Ship: Scythe\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        # This is actually level-less bonus, anyway you have to train cruisers 5\r\n        # and will get 100% (20%/lvl as stated by description)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Logistic Drone',\r\n                                     'shieldBonus', ship.getModifiedItemAttr('droneShieldBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect3174(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfRangeBonus\r\n\r\n    Used by:\r\n    Modules from group: Stasis Grappler (8 of 8)\r\n    Modules from group: Stasis Web (19 of 19)\r\n    Modules from group: Warp Scrambler (56 of 57)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('maxRange', module.getModifiedItemAttr('overloadRangeBonus'),\r\n                             stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3175(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfSpeedBonus\r\n\r\n    Used by:\r\n    Modules from group: Propulsion Module (147 of 147)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('speedFactor', module.getModifiedItemAttr('overloadSpeedFactorBonus'),\r\n                             stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3182(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfECMStrenghtBonus\r\n\r\n    Used by:\r\n    Modules from group: Burst Jammer (11 of 11)\r\n    Modules from group: ECM (43 of 43)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):\r\n            module.boostItemAttr('scan{0}StrengthBonus'.format(scanType),\r\n                                 module.getModifiedItemAttr('overloadECMStrengthBonus'),\r\n                                 stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3196(BaseEffect):\r\n    \"\"\"\r\n    thermodynamicsSkillDamageBonus\r\n\r\n    Used by:\r\n    Skill: Thermodynamics\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: 'heatDamage' in mod.item.attributes, 'heatDamage',\r\n            container.getModifiedItemAttr('thermodynamicsHeatDamage') * level, **kwargs)\r\n\r\n\r\nclass Effect3200(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfArmorDamageAmountDurationBonus\r\n\r\n    Used by:\r\n    Modules from group: Ancillary Armor Repairer (12 of 12)\r\n    Modules from group: Armor Repair Unit (105 of 105)\r\n    Modules from group: Remote Armor Repairer (43 of 43)\r\n    Modules named like: Remote Armor Repairer (52 of 52)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('duration', module.getModifiedItemAttr('overloadSelfDurationBonus'))\r\n        module.boostItemAttr('armorDamageAmount', module.getModifiedItemAttr('overloadArmorDamageAmount'),\r\n                             stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3201(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfShieldBonusDurationBonus\r\n\r\n    Used by:\r\n    Modules from group: Ancillary Remote Shield Booster (4 of 4)\r\n    Modules from group: Ancillary Shield Booster (14 of 14)\r\n    Modules from group: Remote Shield Booster (42 of 42)\r\n    Modules from group: Shield Booster (94 of 94)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('duration', module.getModifiedItemAttr('overloadSelfDurationBonus'))\r\n        module.boostItemAttr('shieldBonus', module.getModifiedItemAttr('overloadShieldBonus'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3212(BaseEffect):\r\n    \"\"\"\r\n    missileSkillFoFAoeCloudSizeBonus\r\n\r\n    Used by:\r\n    Implants named like: Zainou 'Snapshot' Auto Targeting Explosion Radius FR (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Auto-Targeting Missiles'),\r\n                                        'aoeCloudSize', container.getModifiedItemAttr('aoeCloudSizeBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect3234(BaseEffect):\r\n    \"\"\"\r\n    shipRocketExplosiveDmgAF\r\n\r\n    Used by:\r\n    Ship: Vengeance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('shipBonusAF'),\r\n                                        skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect3235(BaseEffect):\r\n    \"\"\"\r\n    shipRocketKineticDmgAF\r\n\r\n    Used by:\r\n    Ship: Vengeance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusAF'),\r\n                                        skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect3236(BaseEffect):\r\n    \"\"\"\r\n    shipRocketThermalDmgAF\r\n\r\n    Used by:\r\n    Ship: Vengeance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusAF'),\r\n                                        skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect3237(BaseEffect):\r\n    \"\"\"\r\n    shipRocketEmDmgAF\r\n\r\n    Used by:\r\n    Ship: Vengeance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'emDamage', ship.getModifiedItemAttr('shipBonusAF'),\r\n                                        skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect3241(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipArmorEmResistance1\r\n\r\n    Used by:\r\n    Ship: Vengeance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('eliteBonusGunship1'),\r\n                               skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect3242(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipArmorThermalResistance1\r\n\r\n    Used by:\r\n    Ship: Vengeance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('eliteBonusGunship1'),\r\n                               skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect3243(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipArmorKineticResistance1\r\n\r\n    Used by:\r\n    Ship: Vengeance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('eliteBonusGunship1'),\r\n                               skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect3244(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipArmorExplosiveResistance1\r\n\r\n    Used by:\r\n    Ship: Vengeance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('eliteBonusGunship1'),\r\n                               skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect3264(BaseEffect):\r\n    \"\"\"\r\n    skillCapitalIndustrialReconfigurationConsumptionQuantityBonus\r\n\r\n    Used by:\r\n    Skill: Capital Industrial Reconfiguration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        amount = -skill.getModifiedItemAttr('consumptionQuantityBonus')\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill(skill),\r\n                                         'consumptionQuantity', amount * skill.level, **kwargs)\r\n\r\n\r\nclass Effect3267(BaseEffect):\r\n    \"\"\"\r\n    shipConsumptionQuantityBonusIndustrialReconfigurationORECapital1\r\n\r\n    Used by:\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Industrial Reconfiguration'),\r\n                                      'consumptionQuantity', ship.getModifiedItemAttr('shipBonusORECapital1'),\r\n                                      skill='Capital Industrial Ships', **kwargs)\r\n\r\n\r\nclass Effect3297(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyNeutralizerTransferAmountBonusAB\r\n\r\n    Used by:\r\n    Ship: Bhaalgorn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',\r\n                                      'energyNeutralizerAmount', ship.getModifiedItemAttr('shipBonusAB'),\r\n                                      skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect3298(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyNeutralizerTransferAmountBonusAC\r\n\r\n    Used by:\r\n    Ship: Ashimmu\r\n    Ship: Vangel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',\r\n                                      'energyNeutralizerAmount', ship.getModifiedItemAttr('shipBonusAC'),\r\n                                      skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect3299(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyNeutralizerTransferAmountBonusAF\r\n\r\n    Used by:\r\n    Ship: Caedes\r\n    Ship: Cruor\r\n    Ship: Sentinel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',\r\n                                      'energyNeutralizerAmount', ship.getModifiedItemAttr('shipBonusAF'),\r\n                                      skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect3313(BaseEffect):\r\n    \"\"\"\r\n    cloneVatMaxJumpCloneBonusSkillNew\r\n\r\n    Used by:\r\n    Skill: Cloning Facility Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxJumpClones', skill.getModifiedItemAttr('maxJumpClonesBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect3331(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipArmorHP1\r\n\r\n    Used by:\r\n    Ship: Damnation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorHP', ship.getModifiedItemAttr('eliteBonusCommandShips1'), skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect3335(BaseEffect):\r\n    \"\"\"\r\n    shipArmorEmResistanceMC2\r\n\r\n    Used by:\r\n    Ship: Mimir\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect3336(BaseEffect):\r\n    \"\"\"\r\n    shipArmorExplosiveResistanceMC2\r\n\r\n    Used by:\r\n    Ship: Mimir\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusMC2'),\r\n                               skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect3339(BaseEffect):\r\n    \"\"\"\r\n    shipArmorKineticResistanceMC2\r\n\r\n    Used by:\r\n    Ship: Mimir\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('shipBonusMC2'),\r\n                               skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect3340(BaseEffect):\r\n    \"\"\"\r\n    shipArmorThermalResistanceMC2\r\n\r\n    Used by:\r\n    Ship: Mimir\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('shipBonusMC2'),\r\n                               skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect3343(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyInterdictorsProjectileFalloff1\r\n\r\n    Used by:\r\n    Ship: Broadsword\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors1'),\r\n                                      skill='Heavy Interdiction Cruisers', **kwargs)\r\n\r\n\r\nclass Effect3355(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyInterdictorHeavyMissileVelocityBonus1\r\n\r\n    Used by:\r\n    Ship: Onyx\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors1'),\r\n                                        skill='Heavy Interdiction Cruisers', **kwargs)\r\n\r\n\r\nclass Effect3356(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyInterdictorHeavyAssaultMissileVelocityBonus\r\n\r\n    Used by:\r\n    Ship: Onyx\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors1'),\r\n                                        skill='Heavy Interdiction Cruisers', **kwargs)\r\n\r\n\r\nclass Effect3366(BaseEffect):\r\n    \"\"\"\r\n    shipRemoteSensorDampenerCapNeedGF\r\n\r\n    Used by:\r\n    Ship: Keres\r\n    Ship: Maulus\r\n    Ship: Raiju\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect3367(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusElectronicAttackShipWarpScramblerMaxRange1\r\n\r\n    Used by:\r\n    Ship: Keres\r\n    Ship: Raiju\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip1'),\r\n                                      skill='Electronic Attack Ships', **kwargs)\r\n\r\n\r\nclass Effect3369(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusElectronicAttackShipECMOptimalRange1\r\n\r\n    Used by:\r\n    Ship: Kitsune\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip1'),\r\n                                      skill='Electronic Attack Ships', **kwargs)\r\n\r\n\r\nclass Effect3370(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusElectronicAttackShipStasisWebMaxRange1\r\n\r\n    Used by:\r\n    Ship: Hyena\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip1'),\r\n                                      skill='Electronic Attack Ships', **kwargs)\r\n\r\n\r\nclass Effect3371(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusElectronicAttackShipWarpScramblerCapNeed2\r\n\r\n    Used by:\r\n    Ship: Keres\r\n    Ship: Raiju\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip2'),\r\n                                      skill='Electronic Attack Ships', **kwargs)\r\n\r\n\r\nclass Effect3374(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusElectronicAttackShipSignatureRadius2\r\n\r\n    Used by:\r\n    Ship: Hyena\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('signatureRadius', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip2'),\r\n                               skill='Electronic Attack Ships', **kwargs)\r\n\r\n\r\nclass Effect3379(BaseEffect):\r\n    \"\"\"\r\n    implantHardwiringABcapacitorNeed\r\n\r\n    Used by:\r\n    Implants named like: Eifyr and Co. 'Rogue' Fuel Conservation FC (6 of 6)\r\n    Implants named like: Imperial Mobility Booster (4 of 4)\r\n    Implants named like: State Mobility Booster (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),\r\n                                      'capacitorNeed', implant.getModifiedItemAttr('capNeedBonus'), **kwargs)\r\n\r\n\r\nclass Effect3380(BaseEffect):\r\n    \"\"\"\r\n    warpDisruptSphere\r\n\r\n    Used by:\r\n    Modules from group: Warp Disrupt Field Generator (8 of 8)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' in context:\r\n            if module.charge is None:\r\n                return\r\n            if module.getModifiedItemAttr('warpScrambleRange', 0) < (projectionRange or 0):\r\n                return\r\n            if module.charge.ID in (29003, 45010):\r\n                fit.ship.increaseItemAttr('warpScrambleStatus', module.getModifiedItemAttr('warpScrambleStrength'), **kwargs)\r\n            if module.charge.ID == 45010:\r\n                fit.modules.filteredItemIncrease(\r\n                    lambda mod: mod.item.requiresSkill('High Speed Maneuvering') or mod.item.requiresSkill('Micro Jump Drive Operation'),\r\n                    'activationBlocked', 1, **kwargs)\r\n        else:\r\n            fit.ship.forceItemAttr('disallowAssistance', 1, **kwargs)\r\n            if module.charge is not None:\r\n                return\r\n            fit.ship.boostItemAttr('mass', module.getModifiedItemAttr('massBonusPercentage'), **kwargs)\r\n            fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonus'), **kwargs)\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',\r\n                                          'speedBoostFactor', module.getModifiedItemAttr('speedBoostFactorBonus'), **kwargs)\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',\r\n                                      'speedFactor', module.getModifiedItemAttr('speedFactorBonus'), **kwargs)\r\n\r\n\r\nclass Effect3392(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusBlackOpsLargeEnergyTurretTracking1\r\n\r\n    Used by:\r\n    Ship: Redeemer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('eliteBonusBlackOps1'), skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect3415(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusViolatorsLargeEnergyTurretDamageRole1\r\n\r\n    Used by:\r\n    Ship: Paladin\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'), **kwargs)\r\n\r\n\r\nclass Effect3416(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusViolatorsLargeHybridTurretDamageRole1\r\n\r\n    Used by:\r\n    Ship: Kronos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'), **kwargs)\r\n\r\n\r\nclass Effect3417(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusViolatorsLargeProjectileTurretDamageRole1\r\n\r\n    Used by:\r\n    Ship: Vargur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'), **kwargs)\r\n\r\n\r\nclass Effect3424(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusViolatorsLargeHybridTurretTracking1\r\n\r\n    Used by:\r\n    Ship: Kronos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('eliteBonusViolators1'), skill='Marauders', **kwargs)\r\n\r\n\r\nclass Effect3425(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusViolatorsLargeProjectileTurretTracking1\r\n\r\n    Used by:\r\n    Ship: Vargur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('eliteBonusViolators1'), skill='Marauders', **kwargs)\r\n\r\n\r\nclass Effect3427(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusViolatorsTractorBeamMaxRangeRole2\r\n\r\n    Used by:\r\n    Ships from group: Marauder (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam',\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusViolatorsRole2'), **kwargs)\r\n\r\n\r\nclass Effect3439(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusViolatorsEwTargetPainting1\r\n\r\n    Used by:\r\n    Ship: Golem\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',\r\n                                      'signatureRadiusBonus', ship.getModifiedItemAttr('eliteBonusViolators1'),\r\n                                      skill='Marauders', **kwargs)\r\n\r\n\r\nclass Effect3447(BaseEffect):\r\n    \"\"\"\r\n    shipBonusPTFalloffMB1\r\n\r\n    Used by:\r\n    Ship: Marshal\r\n    Ship: Python\r\n    Ship: Vargur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect3466(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusElectronicAttackShipRechargeRate2\r\n\r\n    Used by:\r\n    Ship: Sentinel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('rechargeRate', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip2'),\r\n                               skill='Electronic Attack Ships', **kwargs)\r\n\r\n\r\nclass Effect3467(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusElectronicAttackShipCapacitorCapacity2\r\n\r\n    Used by:\r\n    Ship: Kitsune\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacitorCapacity', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip2'),\r\n                               skill='Electronic Attack Ships', **kwargs)\r\n\r\n\r\nclass Effect3468(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyInterdictorsWarpDisruptFieldGeneratorWarpScrambleRange2\r\n\r\n    Used by:\r\n    Ships from group: Heavy Interdiction Cruiser (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Disrupt Field Generator',\r\n                                      'warpScrambleRange', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors2'),\r\n                                      skill='Heavy Interdiction Cruisers', **kwargs)\r\n\r\n\r\nclass Effect3473(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusViolatorsTractorBeamMaxTractorVelocityRole3\r\n\r\n    Used by:\r\n    Ships from group: Marauder (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam',\r\n                                      'maxTractorVelocity', ship.getModifiedItemAttr('eliteBonusViolatorsRole3'), **kwargs)\r\n\r\n\r\nclass Effect3478(BaseEffect):\r\n    \"\"\"\r\n    shipLaserDamagePirateBattleship\r\n\r\n    Used by:\r\n    Ship: Bhaalgorn\r\n    Ship: Nightmare\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect3480(BaseEffect):\r\n    \"\"\"\r\n    shipTrackingBonusAB\r\n\r\n    Used by:\r\n    Ship: Nightmare\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusAB2'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect3483(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumEnergyTurretDamagePirateFaction\r\n\r\n    Used by:\r\n    Ships named like: Stratios (2 of 2)\r\n    Ship: Ashimmu\r\n    Ship: Fiend\r\n    Ship: Gnosis\r\n    Ship: Phantasm\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect3484(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumEnergyTurretTrackingAC2\r\n\r\n    Used by:\r\n    Ship: Fiend\r\n    Ship: Phantasm\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect3487(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallEnergyTurretDamagePirateFaction\r\n\r\n    Used by:\r\n    Ship: Caedes\r\n    Ship: Confessor\r\n    Ship: Cruor\r\n    Ship: Imp\r\n    Ship: Metamorphosis\r\n    Ship: Succubus\r\n    Ship: Sunesis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect3489(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallEnergyTurretTracking2AF\r\n\r\n    Used by:\r\n    Ship: Imp\r\n    Ship: Succubus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect3493(BaseEffect):\r\n    \"\"\"\r\n    rorqualCargoScanRangeBonus\r\n\r\n    Used by:\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Cargo Scanner',\r\n                                      'cargoScanRange', ship.getModifiedItemAttr('cargoScannerRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect3495(BaseEffect):\r\n    \"\"\"\r\n    shipCapPropulsionJamming\r\n\r\n    Used by:\r\n    Ships from group: Interceptor (10 of 10)\r\n    Ship: Atron\r\n    Ship: Condor\r\n    Ship: Executioner\r\n    Ship: Slasher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        groups = ('Stasis Web', 'Warp Scrambler')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('eliteBonusInterceptorRole'), **kwargs)\r\n\r\n\r\nclass Effect3496(BaseEffect):\r\n    \"\"\"\r\n    setBonusThukker\r\n\r\n    Used by:\r\n    Implants named like: grade Nomad (12 of 12)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',\r\n                                                 'agilityBonus', implant.getModifiedItemAttr('implantSetThukker'), **kwargs)\r\n\r\n\r\nclass Effect3498(BaseEffect):\r\n    \"\"\"\r\n    setBonusSisters\r\n\r\n    Used by:\r\n    Implants named like: grade Virtue (12 of 12)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',\r\n                                                 'scanStrengthBonus', implant.getModifiedItemAttr('implantSetSisters'), **kwargs)\r\n\r\n\r\nclass Effect3499(BaseEffect):\r\n    \"\"\"\r\n    setBonusSyndicate\r\n\r\n    Used by:\r\n    Implants named like: grade Edge (12 of 12)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',\r\n                                                 'boosterAttributeModifier',\r\n                                                 implant.getModifiedItemAttr('implantSetSyndicate'), **kwargs)\r\n\r\n\r\nclass Effect3513(BaseEffect):\r\n    \"\"\"\r\n    setBonusMordus\r\n\r\n    Used by:\r\n    Implants named like: grade Centurion (12 of 12)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',\r\n                                                 'rangeSkillBonus', implant.getModifiedItemAttr('implantSetMordus'), **kwargs)\r\n\r\n\r\nclass Effect3514(BaseEffect):\r\n    \"\"\"\r\n    Interceptor2WarpScrambleRange\r\n\r\n    Used by:\r\n    Ships from group: Interceptor (6 of 10)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusInterceptor2'), skill='Interceptors', **kwargs)\r\n\r\n\r\nclass Effect3519(BaseEffect):\r\n    \"\"\"\r\n    weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringBombLauncher\r\n\r\n    Used by:\r\n    Skill: Weapon Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Bomb Deployment'),\r\n                                      'cpu', skill.getModifiedItemAttr('cpuNeedBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect3520(BaseEffect):\r\n    \"\"\"\r\n    skillAdvancedWeaponUpgradesPowerNeedBonusBombLaunchers\r\n\r\n    Used by:\r\n    Skill: Advanced Weapon Upgrades\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Bomb Deployment'),\r\n                                      'power', skill.getModifiedItemAttr('powerNeedBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect3526(BaseEffect):\r\n    \"\"\"\r\n    cynosuralTheoryConsumptionBonus\r\n\r\n    Used by:\r\n    Ships from group: Force Recon Ship (9 of 10)\r\n    Ships named like: Venture (2 of 2)\r\n    Skill: Cynosural Field Theory\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Cynosural Field Generator',\r\n                                      'consumptionQuantity',\r\n                                      container.getModifiedItemAttr('consumptionQuantityBonusPercentage') * level, **kwargs)\r\n\r\n\r\nclass Effect3532(BaseEffect):\r\n    \"\"\"\r\n    skillJumpDriveConsumptionAmountBonusPercentage\r\n\r\n    Used by:\r\n    Skill: Jump Fuel Conservation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('jumpDriveConsumptionAmount',\r\n                               skill.getModifiedItemAttr('consumptionQuantityBonusPercentage') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect3561(BaseEffect):\r\n    \"\"\"\r\n    ewSkillTrackingDisruptionTrackingSpeedBonus\r\n\r\n    Used by:\r\n    Modules named like: Tracking Diagnostic Subroutines (8 of 8)\r\n    Skill: Weapon Destabilization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Weapon Disruptor',\r\n                                      'trackingSpeedBonus',\r\n                                      container.getModifiedItemAttr('scanSkillEwStrengthBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect3568(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticsTrackingLinkMaxRangeBonus1\r\n\r\n    Used by:\r\n    Ship: Scimitar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',\r\n                                      'maxRangeBonus', ship.getModifiedItemAttr('eliteBonusLogistics1'),\r\n                                      skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect3569(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticsTrackingLinkMaxRangeBonus2\r\n\r\n    Used by:\r\n    Ship: Oneiros\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',\r\n                                      'maxRangeBonus', ship.getModifiedItemAttr('eliteBonusLogistics2'),\r\n                                      skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect3570(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticsTrackingLinkTrackingSpeedBonus2\r\n\r\n    Used by:\r\n    Ship: Oneiros\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',\r\n                                      'trackingSpeedBonus', ship.getModifiedItemAttr('eliteBonusLogistics2'),\r\n                                      skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect3571(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticsTrackingLinkTrackingSpeedBonus1\r\n\r\n    Used by:\r\n    Ship: Scimitar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',\r\n                                      'trackingSpeedBonus', ship.getModifiedItemAttr('eliteBonusLogistics1'),\r\n                                      skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect3586(BaseEffect):\r\n    \"\"\"\r\n    ewSkillSignalSuppressionScanResolutionBonus\r\n\r\n    Used by:\r\n    Modules named like: Inverted Signal Field Projector (8 of 8)\r\n    Skill: Signal Suppression\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalized = False if 'skill' in context else True\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',\r\n                                      'scanResolutionBonus',\r\n                                      container.getModifiedItemAttr('scanSkillEwStrengthBonus') * level,\r\n                                      stackingPenalties=penalized, **kwargs)\r\n\r\n\r\nclass Effect3587(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEwRemoteSensorDampenerMaxTargetRangeBonusGC2\r\n\r\n    Used by:\r\n    Variations of ship: Celestis (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',\r\n                                      'maxTargetRangeBonus', ship.getModifiedItemAttr('shipBonusGC2'),\r\n                                      skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect3588(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEwRemoteSensorDampenerMaxTargetRangeBonusGF2\r\n\r\n    Used by:\r\n    Ship: Keres\r\n    Ship: Maulus\r\n    Ship: Raiju\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',\r\n                                      'maxTargetRangeBonus', ship.getModifiedItemAttr('shipBonusGF2'),\r\n                                      skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect3589(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEwRemoteSensorDampenerScanResolutionBonusGF2\r\n\r\n    Used by:\r\n    Ship: Keres\r\n    Ship: Maulus\r\n    Ship: Raiju\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',\r\n                                      'scanResolutionBonus', ship.getModifiedItemAttr('shipBonusGF2'),\r\n                                      skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect3590(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEwRemoteSensorDampenerScanResolutionBonusGC2\r\n\r\n    Used by:\r\n    Variations of ship: Celestis (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',\r\n                                      'scanResolutionBonus', ship.getModifiedItemAttr('shipBonusGC2'),\r\n                                      skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect3591(BaseEffect):\r\n    \"\"\"\r\n    ewSkillSignalSuppressionMaxTargetRangeBonus\r\n\r\n    Used by:\r\n    Modules named like: Inverted Signal Field Projector (8 of 8)\r\n    Skill: Signal Suppression\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',\r\n                                      'maxTargetRangeBonus',\r\n                                      container.getModifiedItemAttr('scanSkillEwStrengthBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect3592(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusJumpFreighterHullHP1\r\n\r\n    Used by:\r\n    Ships from group: Jump Freighter (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('hp', ship.getModifiedItemAttr('eliteBonusJumpFreighter1'), skill='Jump Freighters', **kwargs)\r\n\r\n\r\nclass Effect3593(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusJumpFreighterJumpDriveConsumptionAmount2\r\n\r\n    Used by:\r\n    Ships from group: Jump Freighter (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('jumpDriveConsumptionAmount', ship.getModifiedItemAttr('eliteBonusJumpFreighter2'),\r\n                               skill='Jump Freighters', **kwargs)\r\n\r\n\r\nclass Effect3597(BaseEffect):\r\n    \"\"\"\r\n    scriptSensorBoosterScanResolutionBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Sensor Booster Script (3 of 3)\r\n    Charges from group: Sensor Dampener Script (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('scanResolutionBonus', module.getModifiedChargeAttr('scanResolutionBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect3598(BaseEffect):\r\n    \"\"\"\r\n    scriptSensorBoosterMaxTargetRangeBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Sensor Booster Script (3 of 3)\r\n    Charges from group: Sensor Dampener Script (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('maxTargetRangeBonus', module.getModifiedChargeAttr('maxTargetRangeBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect3599(BaseEffect):\r\n    \"\"\"\r\n    scriptTrackingComputerTrackingSpeedBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Tracking Disruption Script (2 of 2)\r\n    Charges from group: Tracking Script (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('trackingSpeedBonus', module.getModifiedChargeAttr('trackingSpeedBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect3600(BaseEffect):\r\n    \"\"\"\r\n    scriptTrackingComputerMaxRangeBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Tracking Disruption Script (2 of 2)\r\n    Charges from group: Tracking Script (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('maxRangeBonus', module.getModifiedChargeAttr('maxRangeBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect3601(BaseEffect):\r\n    \"\"\"\r\n    scriptWarpDisruptionFieldGeneratorSetDisallowInEmpireandHazardSpace\r\n\r\n    Used by:\r\n    Charges from group: Warp Disruption Script (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.forceItemAttr('disallowInEmpireSpace', module.getModifiedChargeAttr('disallowInEmpireSpace'), **kwargs)\r\n        module.forceItemAttr('disallowInHazardSystem', module.getModifiedChargeAttr('disallowInHazardSystem'), **kwargs)\r\n\r\n\r\nclass Effect3602(BaseEffect):\r\n    \"\"\"\r\n    scriptDurationBonus\r\n\r\n    Used by:\r\n    Charges from group: Warp Disruption Script (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('duration', module.getModifiedChargeAttr('durationBonus'), **kwargs)\r\n\r\n\r\nclass Effect3617(BaseEffect):\r\n    \"\"\"\r\n    scriptSignatureRadiusBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Warp Disruption Script (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('signatureRadiusBonus', module.getModifiedChargeAttr('signatureRadiusBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect3648(BaseEffect):\r\n    \"\"\"\r\n    scriptWarpScrambleRangeBonus\r\n\r\n    Used by:\r\n    Charges from group: Warp Disruption Script (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('warpScrambleRange', module.getModifiedChargeAttr('warpScrambleRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect3649(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusViolatorsLargeEnergyTurretDamage1\r\n\r\n    Used by:\r\n    Ship: Paladin\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusViolators1'),\r\n                                      skill='Marauders', **kwargs)\r\n\r\n\r\nclass Effect3650(BaseEffect):\r\n    \"\"\"\r\n    ewGroupRsdMaxRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: grade Centurion (10 of 12)\r\n    Implant: Serenity YC122.9 Season Booster - EW Range\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',\r\n                                      'maxRange', implant.getModifiedItemAttr('rangeSkillBonus'), **kwargs)\r\n\r\n\r\nclass Effect3651(BaseEffect):\r\n    \"\"\"\r\n    ewGroupTpMaxRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: grade Centurion (10 of 12)\r\n    Implant: Serenity YC122.9 Season Booster - EW Range\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',\r\n                                      'maxRange', implant.getModifiedItemAttr('rangeSkillBonus'), **kwargs)\r\n\r\n\r\nclass Effect3652(BaseEffect):\r\n    \"\"\"\r\n    ewGroupTdMaxRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: grade Centurion (10 of 12)\r\n    Implant: Serenity YC122.9 Season Booster - EW Range\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Weapon Disruptor',\r\n                                      'maxRange', implant.getModifiedItemAttr('rangeSkillBonus'), **kwargs)\r\n\r\n\r\nclass Effect3653(BaseEffect):\r\n    \"\"\"\r\n    ewGroupEcmBurstMaxRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: grade Centurion (10 of 12)\r\n    Implant: Serenity YC122.9 Season Booster - EW Range\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Burst Projectors',\r\n                                      'maxRange', implant.getModifiedItemAttr('rangeSkillBonus'), **kwargs)\r\n\r\n\r\nclass Effect3655(BaseEffect):\r\n    \"\"\"\r\n    gunneryMaxRangeBonusOnline\r\n\r\n    Used by:\r\n    Modules from group: Tracking Enhancer (10 of 10)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'maxRange', module.getModifiedItemAttr('maxRangeBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3656(BaseEffect):\r\n    \"\"\"\r\n    gunneryTrackingSpeedBonusOnline\r\n\r\n    Used by:\r\n    Modules from group: Tracking Enhancer (10 of 10)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3657(BaseEffect):\r\n    \"\"\"\r\n    shipScanResolutionBonusOnline\r\n\r\n    Used by:\r\n    Modules from group: Signal Amplifier (7 of 7)\r\n    Structure Modules from group: Structure Signal Amplifier (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3659(BaseEffect):\r\n    \"\"\"\r\n    shipMaxTargetRangeBonusOnline\r\n\r\n    Used by:\r\n    Modules from group: Signal Amplifier (7 of 7)\r\n    Structure Modules from group: Structure Signal Amplifier (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3660(BaseEffect):\r\n    \"\"\"\r\n    shipMaxLockedTargetsBonusAddOnline\r\n\r\n    Used by:\r\n    Modules from group: Signal Amplifier (7 of 7)\r\n    Structure Modules from group: Structure Signal Amplifier (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('maxLockedTargets', module.getModifiedItemAttr('maxLockedTargetsBonus'), **kwargs)\r\n\r\n\r\nclass Effect3668(BaseEffect):\r\n    \"\"\"\r\n    miningLaserRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implants named like: grade Harvest (10 of 12)\r\n    Implant: Serenity YC122.9 Season Booster - Mining Range\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mining Laser',\r\n                                      'maxRange', implant.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect3669(BaseEffect):\r\n    \"\"\"\r\n    frequencyMiningLaserMaxRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implants named like: grade Harvest (10 of 12)\r\n    Implant: Serenity YC122.9 Season Booster - Mining Range\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Frequency Mining Laser',\r\n                                      'maxRange', implant.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect3670(BaseEffect):\r\n    \"\"\"\r\n    stripMinerMaxRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implants named like: grade Harvest (10 of 12)\r\n    Implant: Serenity YC122.9 Season Booster - Mining Range\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Strip Miner',\r\n                                      'maxRange', implant.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect3671(BaseEffect):\r\n    \"\"\"\r\n    gasHarvesterMaxRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: grade Harvest (10 of 12)\r\n    Implant: Serenity YC122.9 Season Booster - Mining Range\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Gas Cloud Scoops',\r\n                                      'maxRange', implant.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect3672(BaseEffect):\r\n    \"\"\"\r\n    setBonusOre\r\n\r\n    Used by:\r\n    Implants named like: grade Harvest (12 of 12)\r\n    Implant: Serenity YC122.9 Season Booster - Mining Range\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',\r\n                                                 'maxRangeBonus', implant.getModifiedItemAttr('implantSetORE'), **kwargs)\r\n\r\n\r\nclass Effect3674(BaseEffect):\r\n    \"\"\"\r\n    jumpPortalGenerationBO\r\n\r\n    Used by:\r\n    Module: Covert Jump Portal Generator I\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', mod.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', mod.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n\r\n\r\nclass Effect3677(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLargeEnergyTurretMaxRangeAB2\r\n\r\n    Used by:\r\n    Ship: Apocalypse\r\n    Ship: Apocalypse Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusAB2'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect3678(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusJumpFreighterShieldHP1\r\n\r\n    Used by:\r\n    Ship: Nomad\r\n    Ship: Rhea\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldCapacity', ship.getModifiedItemAttr('eliteBonusJumpFreighter1'),\r\n                               skill='Jump Freighters', **kwargs)\r\n\r\n\r\nclass Effect3679(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusJumpFreighterArmorHP1\r\n\r\n    Used by:\r\n    Ship: Anshar\r\n    Ship: Ark\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorHP', ship.getModifiedItemAttr('eliteBonusJumpFreighter1'), skill='Jump Freighters', **kwargs)\r\n\r\n\r\nclass Effect3680(BaseEffect):\r\n    \"\"\"\r\n    freighterAgilityBonusC1\r\n\r\n    Used by:\r\n    Ship: Rhea\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('freighterBonusC1'), skill='Caldari Freighter', **kwargs)\r\n\r\n\r\nclass Effect3681(BaseEffect):\r\n    \"\"\"\r\n    freighterAgilityBonusM1\r\n\r\n    Used by:\r\n    Ship: Nomad\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('freighterBonusM1'), skill='Minmatar Freighter', **kwargs)\r\n\r\n\r\nclass Effect3682(BaseEffect):\r\n    \"\"\"\r\n    freighterAgilityBonusG1\r\n\r\n    Used by:\r\n    Ship: Anshar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('freighterBonusG1'), skill='Gallente Freighter', **kwargs)\r\n\r\n\r\nclass Effect3683(BaseEffect):\r\n    \"\"\"\r\n    freighterAgilityBonusA1\r\n\r\n    Used by:\r\n    Ship: Ark\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('freighterBonusA1'), skill='Amarr Freighter', **kwargs)\r\n\r\n\r\nclass Effect3686(BaseEffect):\r\n    \"\"\"\r\n    scriptTrackingComputerFalloffBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Tracking Disruption Script (2 of 2)\r\n    Charges from group: Tracking Script (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('falloffBonus', module.getModifiedChargeAttr('falloffBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect3703(BaseEffect):\r\n    \"\"\"\r\n    shipMissileLauncherSpeedBonusMC2\r\n\r\n    Used by:\r\n    Ship: Bellicose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        groups = ('Missile Launcher Rapid Light', 'Missile Launcher Heavy', 'Missile Launcher Heavy Assault')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect3705(BaseEffect):\r\n    \"\"\"\r\n    shipHybridTurretROFBonusGC2\r\n\r\n    Used by:\r\n    Ship: Phobos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect3706(BaseEffect):\r\n    \"\"\"\r\n    shipBonusProjectileTrackingMC2\r\n\r\n    Used by:\r\n    Ship: Rupture\r\n    Ship: Stabber Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect3726(BaseEffect):\r\n    \"\"\"\r\n    agilityMultiplierEffectPassive\r\n\r\n    Used by:\r\n    Modules named like: Polycarbon Engine Housing (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', module.getModifiedItemAttr('agilityBonus'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3727(BaseEffect):\r\n    \"\"\"\r\n    velocityBonusPassive\r\n\r\n    Used by:\r\n    Modules named like: Polycarbon Engine Housing (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('implantBonusVelocity'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3739(BaseEffect):\r\n    \"\"\"\r\n    zColinOrcaTractorRangeBonus\r\n\r\n    Used by:\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    Ship: Outrider\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam', 'maxRange',\r\n                                      src.getModifiedItemAttr('roleBonusTractorBeamRange'), **kwargs)\r\n\r\n\r\nclass Effect3740(BaseEffect):\r\n    \"\"\"\r\n    zColinOrcaTractorVelocityBonus\r\n\r\n    Used by:\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    Ship: Outrider\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam', 'maxTractorVelocity',\r\n                                      ship.getModifiedItemAttr('roleBonusTractorBeamVelocity'), **kwargs)\r\n\r\n\r\nclass Effect3744(BaseEffect):\r\n    \"\"\"\r\n    miningForemanBurstBonusICS2\r\n\r\n    Used by:\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff4Value',\r\n                                      src.getModifiedItemAttr('shipBonusICS2'), skill='Industrial Command Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff1Value',\r\n                                      src.getModifiedItemAttr('shipBonusICS2'), skill='Industrial Command Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('shipBonusICS2'), skill='Industrial Command Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff3Value',\r\n                                      src.getModifiedItemAttr('shipBonusICS2'), skill='Industrial Command Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff2Value',\r\n                                      src.getModifiedItemAttr('shipBonusICS2'), skill='Industrial Command Ships', **kwargs)\r\n\r\n\r\nclass Effect3765(BaseEffect):\r\n    \"\"\"\r\n    covertOpsStealthBomberSiegeMissileLauncherPowerNeedBonus\r\n\r\n    Used by:\r\n    Ships from group: Stealth Bomber (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo',\r\n                                         'power', ship.getModifiedItemAttr('stealthBomberLauncherPower'), **kwargs)\r\n\r\n\r\nclass Effect3766(BaseEffect):\r\n    \"\"\"\r\n    interceptorMWDSignatureRadiusBonus\r\n\r\n    Used by:\r\n    Ships from group: Interceptor (10 of 10)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),\r\n                                      'signatureRadiusBonus', ship.getModifiedItemAttr('eliteBonusInterceptor'),\r\n                                      skill='Interceptors', **kwargs)\r\n\r\n\r\nclass Effect3771(BaseEffect):\r\n    \"\"\"\r\n    armorHPBonusAddPassive\r\n\r\n    Used by:\r\n    Subsystems from group: Defensive Subsystem (9 of 12)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('armorHP', module.getModifiedItemAttr('armorHPBonusAdd') or 0, **kwargs)\r\n\r\n\r\nclass Effect3773(BaseEffect):\r\n    \"\"\"\r\n    hardPointModifierEffect\r\n\r\n    Used by:\r\n    Subsystems from group: Offensive Subsystem (12 of 12)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('turretSlotsLeft', module.getModifiedItemAttr('turretHardPointModifier'), **kwargs)\r\n        fit.ship.increaseItemAttr('launcherSlotsLeft', module.getModifiedItemAttr('launcherHardPointModifier'), **kwargs)\r\n\r\n\r\nclass Effect3774(BaseEffect):\r\n    \"\"\"\r\n    slotModifier\r\n\r\n    Used by:\r\n    Items from category: Subsystem (48 of 48)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('hiSlots', module.getModifiedItemAttr('hiSlotModifier'), **kwargs)\r\n        fit.ship.increaseItemAttr('medSlots', module.getModifiedItemAttr('medSlotModifier'), **kwargs)\r\n        fit.ship.increaseItemAttr('lowSlots', module.getModifiedItemAttr('lowSlotModifier'), **kwargs)\r\n\r\n\r\nclass Effect3782(BaseEffect):\r\n    \"\"\"\r\n    powerOutputAddPassive\r\n\r\n    Used by:\r\n    Subsystems from group: Offensive Subsystem (12 of 12)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('powerOutput', module.getModifiedItemAttr('powerOutput'), **kwargs)\r\n\r\n\r\nclass Effect3783(BaseEffect):\r\n    \"\"\"\r\n    cpuOutputAddCpuOutputPassive\r\n\r\n    Used by:\r\n    Subsystems from group: Offensive Subsystem (8 of 12)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('cpuOutput', module.getModifiedItemAttr('cpuOutput'), **kwargs)\r\n\r\n\r\nclass Effect3797(BaseEffect):\r\n    \"\"\"\r\n    droneBandwidthAddPassive\r\n\r\n    Used by:\r\n    Subsystems from group: Offensive Subsystem (12 of 12)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('droneBandwidth', module.getModifiedItemAttr('droneBandwidth'), **kwargs)\r\n\r\n\r\nclass Effect3799(BaseEffect):\r\n    \"\"\"\r\n    droneCapacityAdddroneCapacityPassive\r\n\r\n    Used by:\r\n    Subsystems from group: Offensive Subsystem (12 of 12)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('droneCapacity', module.getModifiedItemAttr('droneCapacity'), **kwargs)\r\n\r\n\r\nclass Effect3807(BaseEffect):\r\n    \"\"\"\r\n    maxTargetRangeAddPassive\r\n\r\n    Used by:\r\n    Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRange'), **kwargs)\r\n\r\n\r\nclass Effect3808(BaseEffect):\r\n    \"\"\"\r\n    signatureRadiusAddPassive\r\n\r\n    Used by:\r\n    Subsystems from group: Defensive Subsystem (8 of 12)\r\n    Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadius'), **kwargs)\r\n\r\n\r\nclass Effect3810(BaseEffect):\r\n    \"\"\"\r\n    capacityAddPassive\r\n\r\n    Used by:\r\n    Subsystems named like: Defensive Covert Reconfiguration (4 of 4)\r\n    Subsystem: Legion Defensive - Nanobot Injector\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, subsystem, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('capacity', subsystem.getModifiedItemAttr('cargoCapacityAdd') or 0, **kwargs)\r\n\r\n\r\nclass Effect3811(BaseEffect):\r\n    \"\"\"\r\n    capacitorCapacityAddPassive\r\n\r\n    Used by:\r\n    Items from category: Subsystem (20 of 48)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('capacitorCapacity', module.getModifiedItemAttr('capacitorCapacity') or 0, **kwargs)\r\n\r\n\r\nclass Effect3831(BaseEffect):\r\n    \"\"\"\r\n    shieldCapacityAddPassive\r\n\r\n    Used by:\r\n    Subsystems from group: Defensive Subsystem (8 of 12)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('shieldCapacity', module.getModifiedItemAttr('shieldCapacity'), **kwargs)\r\n\r\n\r\nclass Effect3857(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrPropulsionMaxVelocity\r\n\r\n    Used by:\r\n    Subsystem: Legion Propulsion - Intercalated Nanofibers\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('subsystemBonusAmarrPropulsion'),\r\n                               skill='Amarr Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3859(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariPropulsionMaxVelocity\r\n\r\n    Used by:\r\n    Subsystem: Tengu Propulsion - Chassis Optimization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('subsystemBonusCaldariPropulsion'),\r\n                               skill='Caldari Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3860(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarPropulsionMaxVelocity\r\n\r\n    Used by:\r\n    Subsystem: Loki Propulsion - Intercalated Nanofibers\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('subsystemBonusMinmatarPropulsion'),\r\n                               skill='Minmatar Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3861(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarPropulsionAfterburnerSpeedFactor\r\n\r\n    Used by:\r\n    Subsystem: Loki Propulsion - Wake Limiter\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),\r\n                                      'speedFactor', module.getModifiedItemAttr('subsystemBonusMinmatarPropulsion'),\r\n                                      skill='Minmatar Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3863(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariPropulsionAfterburnerSpeedFactor\r\n\r\n    Used by:\r\n    Subsystem: Tengu Propulsion - Fuel Catalyst\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),\r\n                                      'speedFactor', module.getModifiedItemAttr('subsystemBonusCaldariPropulsion'),\r\n                                      skill='Caldari Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3864(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrPropulsionAfterburnerSpeedFactor\r\n\r\n    Used by:\r\n    Subsystem: Legion Propulsion - Wake Limiter\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),\r\n                                      'speedFactor', module.getModifiedItemAttr('subsystemBonusAmarrPropulsion'),\r\n                                      skill='Amarr Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3865(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrPropulsion2Agility\r\n\r\n    Used by:\r\n    Subsystem: Legion Propulsion - Intercalated Nanofibers\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', src.getModifiedItemAttr('subsystemBonusAmarrPropulsion2'),\r\n                               skill='Amarr Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3866(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariPropulsion2Agility\r\n\r\n    Used by:\r\n    Subsystem: Tengu Propulsion - Chassis Optimization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', src.getModifiedItemAttr('subsystemBonusCaldariPropulsion2'),\r\n                               skill='Caldari Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3867(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallentePropulsion2Agility\r\n\r\n    Used by:\r\n    Subsystem: Proteus Propulsion - Hyperspatial Optimization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', src.getModifiedItemAttr('subsystemBonusGallentePropulsion2'),\r\n                               skill='Gallente Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3868(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarPropulsion2Agility\r\n\r\n    Used by:\r\n    Subsystem: Loki Propulsion - Intercalated Nanofibers\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', src.getModifiedItemAttr('subsystemBonusMinmatarPropulsion2'),\r\n                               skill='Minmatar Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3869(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarPropulsion2MWDPenalty\r\n\r\n    Used by:\r\n    Subsystem: Loki Propulsion - Wake Limiter\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),\r\n                                      'signatureRadiusBonus', src.getModifiedItemAttr('subsystemBonusMinmatarPropulsion2'),\r\n                                      skill='Minmatar Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3872(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrPropulsion2MWDPenalty\r\n\r\n    Used by:\r\n    Subsystem: Legion Propulsion - Wake Limiter\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),\r\n                                      'signatureRadiusBonus', src.getModifiedItemAttr('subsystemBonusAmarrPropulsion2'),\r\n                                      skill='Amarr Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3875(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallentePropulsionABMWDCapNeed\r\n\r\n    Used by:\r\n    Subsystem: Proteus Propulsion - Localized Injectors\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',\r\n                                      'capacitorNeed', module.getModifiedItemAttr('subsystemBonusGallentePropulsion'),\r\n                                      skill='Gallente Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect3893(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarCoreScanStrengthLADAR\r\n\r\n    Used by:\r\n    Subsystem: Loki Core - Dissolution Sequencer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanLadarStrength', src.getModifiedItemAttr('subsystemBonusMinmatarCore'),\r\n                               skill='Minmatar Core Systems', **kwargs)\r\n\r\n\r\nclass Effect3895(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteCoreScanStrengthMagnetometric\r\n\r\n    Used by:\r\n    Subsystem: Proteus Core - Electronic Efficiency Gate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanMagnetometricStrength', src.getModifiedItemAttr('subsystemBonusGallenteCore'),\r\n                               skill='Gallente Core Systems', **kwargs)\r\n\r\n\r\nclass Effect3897(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariCoreScanStrengthGravimetric\r\n\r\n    Used by:\r\n    Subsystem: Tengu Core - Electronic Efficiency Gate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanGravimetricStrength', src.getModifiedItemAttr('subsystemBonusCaldariCore'), skill='Caldari Core Systems', **kwargs)\r\n\r\n\r\nclass Effect3900(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrCoreScanStrengthRADAR\r\n\r\n    Used by:\r\n    Subsystem: Legion Core - Dissolution Sequencer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanRadarStrength', src.getModifiedItemAttr('subsystemBonusAmarrCore'),\r\n                               skill='Amarr Core Systems', **kwargs)\r\n\r\n\r\nclass Effect3959(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrDefensiveArmorRepairAmount\r\n\r\n    Used by:\r\n    Subsystem: Legion Defensive - Covert Reconfiguration\r\n    Subsystem: Legion Defensive - Nanobot Injector\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', module.getModifiedItemAttr('subsystemBonusAmarrDefensive'),\r\n                                      skill='Amarr Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect3961(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteDefensiveArmorRepairAmount\r\n\r\n    Used by:\r\n    Subsystem: Proteus Defensive - Covert Reconfiguration\r\n    Subsystem: Proteus Defensive - Nanobot Injector\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', module.getModifiedItemAttr('subsystemBonusGallenteDefensive'),\r\n                                      skill='Gallente Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect3962(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarDefensiveShieldArmorRepairAmount\r\n\r\n    Used by:\r\n    Subsystem: Loki Defensive - Adaptive Defense Node\r\n    Subsystem: Loki Defensive - Covert Reconfiguration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive'),\r\n                                      skill='Minmatar Defensive Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive'),\r\n                                      skill='Minmatar Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect3964(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariDefensiveShieldBoostAmount\r\n\r\n    Used by:\r\n    Subsystem: Tengu Defensive - Amplification Node\r\n    Subsystem: Tengu Defensive - Covert Reconfiguration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', module.getModifiedItemAttr('subsystemBonusCaldariDefensive'),\r\n                                      skill='Caldari Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect3976(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariDefensiveShieldHP\r\n\r\n    Used by:\r\n    Subsystem: Tengu Defensive - Supplemental Screening\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldCapacity', module.getModifiedItemAttr('subsystemBonusCaldariDefensive'),\r\n                               skill='Caldari Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect3979(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarDefensiveShieldArmorHP\r\n\r\n    Used by:\r\n    Subsystem: Loki Defensive - Augmented Durability\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldCapacity', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive'),\r\n                               skill='Minmatar Defensive Systems', **kwargs)\r\n        fit.ship.boostItemAttr('armorHP', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive'),\r\n                               skill='Minmatar Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect3980(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteDefensiveArmorHP\r\n\r\n    Used by:\r\n    Subsystem: Proteus Defensive - Augmented Plating\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorHP', module.getModifiedItemAttr('subsystemBonusGallenteDefensive'),\r\n                               skill='Gallente Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect3982(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrDefensiveArmorHP\r\n\r\n    Used by:\r\n    Subsystem: Legion Defensive - Augmented Plating\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorHP', module.getModifiedItemAttr('subsystemBonusAmarrDefensive'),\r\n                               skill='Amarr Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect3992(BaseEffect):\r\n    \"\"\"\r\n    systemShieldHP\r\n\r\n    Used by:\r\n    Celestials named like: Class Pulsar Effects (6 of 6)\r\n    Celestial: Republic Stellar Observatory\r\n    Celestial: State Stellar Observatory\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('shieldCapacity', beacon.getModifiedItemAttr('shieldCapacityMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect3993(BaseEffect):\r\n    \"\"\"\r\n    systemTargetingRange\r\n\r\n    Used by:\r\n    Celestials named like: Class Black Hole Effects (6 of 6)\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    Celestial: Turnur Aftermath\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('maxTargetRange', beacon.getModifiedItemAttr('maxTargetRangeMultiplier'),\r\n                                  stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect3995(BaseEffect):\r\n    \"\"\"\r\n    systemSignatureRadius\r\n\r\n    Used by:\r\n    Celestials named like: Class Pulsar Effects (6 of 6)\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('signatureRadius', beacon.getModifiedItemAttr('signatureRadiusMultiplier'),\r\n                                  stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect3996(BaseEffect):\r\n    \"\"\"\r\n    systemArmorEmResistance\r\n\r\n    Used by:\r\n    Celestials named like: Class Pulsar Effects (6 of 6)\r\n    Celestials named like: Incursion Effect (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', beacon.getModifiedItemAttr('armorEmDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3997(BaseEffect):\r\n    \"\"\"\r\n    systemArmorExplosiveResistance\r\n\r\n    Used by:\r\n    Celestials named like: Class Pulsar Effects (6 of 6)\r\n    Celestials named like: Incursion Effect (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance',\r\n                               beacon.getModifiedItemAttr('armorExplosiveDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3998(BaseEffect):\r\n    \"\"\"\r\n    systemArmorKineticResistance\r\n\r\n    Used by:\r\n    Celestials named like: Class Pulsar Effects (6 of 6)\r\n    Celestials named like: Incursion Effect (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance',\r\n                               beacon.getModifiedItemAttr('armorKineticDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect3999(BaseEffect):\r\n    \"\"\"\r\n    systemArmorThermalResistance\r\n\r\n    Used by:\r\n    Celestials named like: Class Pulsar Effects (6 of 6)\r\n    Celestials named like: Incursion Effect (2 of 2)\r\n    Celestials named like: Volatile Ice Storm (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance',\r\n                               beacon.getModifiedItemAttr('armorThermalDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4002(BaseEffect):\r\n    \"\"\"\r\n    systemMissileVelocity\r\n\r\n    Used by:\r\n    Celestials named like: Class Black Hole Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                           'maxVelocity', beacon.getModifiedItemAttr('missileVelocityMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4003(BaseEffect):\r\n    \"\"\"\r\n    systemMaxVelocity\r\n\r\n    Used by:\r\n    Celestials named like: Class Black Hole Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('maxVelocity', beacon.getModifiedItemAttr('maxVelocityMultiplier'),\r\n                                  stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4016(BaseEffect):\r\n    \"\"\"\r\n    systemDamageMultiplierGunnery\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                         'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4017(BaseEffect):\r\n    \"\"\"\r\n    systemDamageThermalMissiles\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                           'thermalDamage', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4018(BaseEffect):\r\n    \"\"\"\r\n    systemDamageEmMissiles\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                           'emDamage', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4019(BaseEffect):\r\n    \"\"\"\r\n    systemDamageExplosiveMissiles\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                           'explosiveDamage', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4020(BaseEffect):\r\n    \"\"\"\r\n    systemDamageKineticMissiles\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                           'kineticDamage', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4021(BaseEffect):\r\n    \"\"\"\r\n    systemDamageDrones\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemMultiply(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                        'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),\r\n                                        stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4022(BaseEffect):\r\n    \"\"\"\r\n    systemTracking\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                         'trackingSpeed', module.getModifiedItemAttr('trackingSpeedMultiplier'),\r\n                                         stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4023(BaseEffect):\r\n    \"\"\"\r\n    systemAoeVelocity\r\n\r\n    Used by:\r\n    Celestials named like: Class Black Hole Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'aoeVelocity', beacon.getModifiedItemAttr('aoeVelocityMultiplier'),\r\n            stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4033(BaseEffect):\r\n    \"\"\"\r\n    systemHeatDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: 'heatDamage' in mod.itemModifiedAttributes,\r\n                                         'heatDamage', module.getModifiedItemAttr('heatDamageMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4034(BaseEffect):\r\n    \"\"\"\r\n    systemOverloadArmor\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: 'overloadArmorDamageAmount' in mod.itemModifiedAttributes,\r\n                                         'overloadArmorDamageAmount', module.getModifiedItemAttr('overloadBonusMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4035(BaseEffect):\r\n    \"\"\"\r\n    systemOverloadDamageModifier\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: 'overloadDamageModifier' in mod.itemModifiedAttributes,\r\n                                         'overloadDamageModifier', module.getModifiedItemAttr('overloadBonusMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4036(BaseEffect):\r\n    \"\"\"\r\n    systemOverloadDurationBonus\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: 'overloadDurationBonus' in mod.itemModifiedAttributes,\r\n                                         'overloadDurationBonus', module.getModifiedItemAttr('overloadBonusMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4037(BaseEffect):\r\n    \"\"\"\r\n    systemOverloadEccmStrength\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: 'overloadECCMStrenghtBonus' in mod.itemModifiedAttributes,\r\n                                         'overloadECCMStrenghtBonus', module.getModifiedItemAttr('overloadBonusMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4038(BaseEffect):\r\n    \"\"\"\r\n    systemOverloadEcmStrength\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: 'overloadECMStrengthBonus' in mod.itemModifiedAttributes,\r\n                                         'overloadECMStrengthBonus', module.getModifiedItemAttr('overloadBonusMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4039(BaseEffect):\r\n    \"\"\"\r\n    systemOverloadHardening\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: 'overloadHardeningBonus' in mod.itemModifiedAttributes,\r\n                                         'overloadHardeningBonus', module.getModifiedItemAttr('overloadBonusMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4040(BaseEffect):\r\n    \"\"\"\r\n    systemOverloadRange\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: 'overloadRangeBonus' in mod.itemModifiedAttributes,\r\n                                         'overloadRangeBonus', module.getModifiedItemAttr('overloadBonusMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4041(BaseEffect):\r\n    \"\"\"\r\n    systemOverloadRof\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: 'overloadRofBonus' in mod.itemModifiedAttributes,\r\n                                         'overloadRofBonus', module.getModifiedItemAttr('overloadBonusMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4042(BaseEffect):\r\n    \"\"\"\r\n    systemOverloadSelfDuration\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: 'overloadSelfDurationBonus' in mod.itemModifiedAttributes,\r\n                                         'overloadSelfDurationBonus', module.getModifiedItemAttr('overloadBonusMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4043(BaseEffect):\r\n    \"\"\"\r\n    systemOverloadShieldBonus\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: 'overloadShieldBonus' in mod.itemModifiedAttributes,\r\n                                         'overloadShieldBonus', module.getModifiedItemAttr('overloadBonusMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4044(BaseEffect):\r\n    \"\"\"\r\n    systemOverloadSpeedFactor\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: 'overloadSpeedFactorBonus' in mod.itemModifiedAttributes,\r\n                                         'overloadSpeedFactorBonus', module.getModifiedItemAttr('overloadBonusMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4045(BaseEffect):\r\n    \"\"\"\r\n    systemSmartBombRange\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Smart Bomb',\r\n                                         'empFieldRange', module.getModifiedItemAttr('empFieldRangeMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4046(BaseEffect):\r\n    \"\"\"\r\n    systemSmartBombEmDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Smart Bomb',\r\n                                         'emDamage', module.getModifiedItemAttr('smartbombDamageMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4047(BaseEffect):\r\n    \"\"\"\r\n    systemSmartBombThermalDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Smart Bomb',\r\n                                         'thermalDamage', module.getModifiedItemAttr('smartbombDamageMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4048(BaseEffect):\r\n    \"\"\"\r\n    systemSmartBombKineticDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Smart Bomb',\r\n                                         'kineticDamage', module.getModifiedItemAttr('smartbombDamageMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4049(BaseEffect):\r\n    \"\"\"\r\n    systemSmartBombExplosiveDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Smart Bomb',\r\n                                         'explosiveDamage', module.getModifiedItemAttr('smartbombDamageMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4054(BaseEffect):\r\n    \"\"\"\r\n    systemSmallEnergyDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                         'damageMultiplier', module.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4055(BaseEffect):\r\n    \"\"\"\r\n    systemSmallProjectileDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                         'damageMultiplier', module.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4056(BaseEffect):\r\n    \"\"\"\r\n    systemSmallHybridDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                         'damageMultiplier', module.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4057(BaseEffect):\r\n    \"\"\"\r\n    systemRocketEmDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                           'emDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4058(BaseEffect):\r\n    \"\"\"\r\n    systemRocketExplosiveDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                           'explosiveDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4059(BaseEffect):\r\n    \"\"\"\r\n    systemRocketKineticDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                           'kineticDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4060(BaseEffect):\r\n    \"\"\"\r\n    systemRocketThermalDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                           'thermalDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4061(BaseEffect):\r\n    \"\"\"\r\n    systemStandardMissileThermalDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                           'thermalDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4062(BaseEffect):\r\n    \"\"\"\r\n    systemStandardMissileEmDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                           'emDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4063(BaseEffect):\r\n    \"\"\"\r\n    systemStandardMissileExplosiveDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                           'explosiveDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4086(BaseEffect):\r\n    \"\"\"\r\n    systemArmorRepairAmount\r\n\r\n    Used by:\r\n    Celestials named like: Class Cataclysmic Variable Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Repair Systems') or\r\n                                                     mod.item.requiresSkill('Capital Repair Systems'),\r\n                                         'armorDamageAmount', module.getModifiedItemAttr('armorDamageAmountMultiplier'),\r\n                                         stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4088(BaseEffect):\r\n    \"\"\"\r\n    systemArmorRemoteRepairAmount\r\n\r\n    Used by:\r\n    Celestials named like: Class Cataclysmic Variable Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems') or\r\n                        mod.item.requiresSkill('Capital Remote Armor Repair Systems'),\r\n            'armorDamageAmount', module.getModifiedItemAttr('armorDamageAmountMultiplierRemote'),\r\n            stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4089(BaseEffect):\r\n    \"\"\"\r\n    systemShieldRemoteRepairAmount\r\n\r\n    Used by:\r\n    Celestials named like: Class Cataclysmic Variable Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Shield Emission Systems') or\r\n                        mod.item.requiresSkill('Capital Shield Emission Systems'),\r\n            'shieldBonus', module.getModifiedItemAttr('shieldBonusMultiplierRemote'),\r\n            stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4090(BaseEffect):\r\n    \"\"\"\r\n    systemCapacitorCapacity\r\n\r\n    Used by:\r\n    Celestials named like: Class Cataclysmic Variable Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('capacitorCapacity', beacon.getModifiedItemAttr('capacitorCapacityMultiplierSystem'), **kwargs)\r\n\r\n\r\nclass Effect4091(BaseEffect):\r\n    \"\"\"\r\n    systemCapacitorRecharge\r\n\r\n    Used by:\r\n    Celestials named like: Class Cataclysmic Variable Effects (6 of 6)\r\n    Celestials named like: Class Pulsar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('rechargeRate', beacon.getModifiedItemAttr('rechargeRateMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4093(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrOffensiveEnergyWeaponDamageMultiplier\r\n\r\n    Used by:\r\n    Subsystem: Legion Offensive - Liquid Crystal Magnifiers\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'damageMultiplier', module.getModifiedItemAttr('subsystemBonusAmarrOffensive'),\r\n                                      skill='Amarr Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4104(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariOffensiveHybridWeaponMaxRange\r\n\r\n    Used by:\r\n    Subsystem: Tengu Offensive - Magnetic Infusion Basin\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'maxRange', module.getModifiedItemAttr('subsystemBonusCaldariOffensive'),\r\n                                      skill='Caldari Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4106(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteOffensiveHybridWeaponFalloff\r\n\r\n    Used by:\r\n    Subsystem: Proteus Offensive - Hybrid Encoding Platform\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'falloff', module.getModifiedItemAttr('subsystemBonusGallenteOffensive'),\r\n                                      skill='Gallente Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4114(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarOffensiveProjectileWeaponFalloff\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Projectile Scoping Array\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'falloff', module.getModifiedItemAttr('subsystemBonusMinmatarOffensive'),\r\n                                      skill='Minmatar Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4115(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarOffensiveProjectileWeaponMaxRange\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Projectile Scoping Array\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'maxRange', module.getModifiedItemAttr('subsystemBonusMinmatarOffensive'),\r\n                                      skill='Minmatar Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4122(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariOffensive1LauncherROF\r\n\r\n    Used by:\r\n    Subsystem: Tengu Offensive - Accelerated Ejection Bay\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        groups = ('Missile Launcher Heavy', 'Missile Launcher Rapid Light', 'Missile Launcher Heavy Assault')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'speed', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4135(BaseEffect):\r\n    \"\"\"\r\n    systemShieldEmResistance\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    Celestial: Drifter Crisis\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', beacon.getModifiedItemAttr('shieldEmDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4136(BaseEffect):\r\n    \"\"\"\r\n    systemShieldExplosiveResistance\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    Celestial: Drifter Crisis\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance',\r\n                               beacon.getModifiedItemAttr('shieldExplosiveDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4137(BaseEffect):\r\n    \"\"\"\r\n    systemShieldKineticResistance\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    Celestial: Drifter Crisis\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance',\r\n                               beacon.getModifiedItemAttr('shieldKineticDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4138(BaseEffect):\r\n    \"\"\"\r\n    systemShieldThermalResistance\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    Celestials named like: Volatile Ice Storm (2 of 2)\r\n    Celestial: Drifter Crisis\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance',\r\n                               beacon.getModifiedItemAttr('shieldThermalDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4152(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrEngineeringHeatDamageReduction\r\n\r\n    Used by:\r\n    Subsystem: Legion Core - Energy Parasitic Complex\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      module.getModifiedItemAttr('subsystemBonusAmarrCore'),\r\n                                      skill='Amarr Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4153(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariEngineeringHeatDamageReduction\r\n\r\n    Used by:\r\n    Subsystem: Tengu Core - Obfuscation Manifold\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      module.getModifiedItemAttr('subsystemBonusCaldariCore'),\r\n                                      skill='Caldari Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4154(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteEngineeringHeatDamageReduction\r\n\r\n    Used by:\r\n    Subsystem: Proteus Core - Friction Extension Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      module.getModifiedItemAttr('subsystemBonusGallenteCore'),\r\n                                      skill='Gallente Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4155(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarEngineeringHeatDamageReduction\r\n\r\n    Used by:\r\n    Subsystem: Loki Core - Immobility Drivers\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      module.getModifiedItemAttr('subsystemBonusMinmatarCore'),\r\n                                      skill='Minmatar Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4158(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariCoreCapacitorCapacity\r\n\r\n    Used by:\r\n    Subsystem: Tengu Core - Augmented Graviton Reactor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacitorCapacity', src.getModifiedItemAttr('subsystemBonusCaldariCore'),\r\n                               skill='Caldari Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4159(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrCoreCapacitorCapacity\r\n\r\n    Used by:\r\n    Subsystem: Legion Core - Augmented Antimatter Reactor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacitorCapacity', src.getModifiedItemAttr('subsystemBonusAmarrCore'), skill='Amarr Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4161(BaseEffect):\r\n    \"\"\"\r\n    baseMaxScanDeviationModifierRequiringAstrometrics\r\n\r\n    Used by:\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implants named like: Poteque 'Prospector' Astrometric Pinpointing AP (3 of 3)\r\n    Implants named like: Poteque 'Prospector' Sharpeye (2 of 2)\r\n    Implants named like: Serenity Limited 'Sharpeye' Dose (3 of 3)\r\n    Implant: AIR Astro-Pinpointing II Booster\r\n    Skill: Astrometric Pinpointing\r\n    Skill: Astrometrics\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Astrometrics'), 'baseMaxScanDeviation',\r\n            container.getModifiedItemAttr('maxScanDeviationModifier') * level, **kwargs)\r\n\r\n\r\nclass Effect4162(BaseEffect):\r\n    \"\"\"\r\n    baseSensorStrengthModifierRequiringAstrometrics\r\n\r\n    Used by:\r\n    Modules from group: Scan Probe Launcher (5 of 8)\r\n    Implants named like: Electronics Booster (15 of 15)\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    Implants named like: Poteque 'Prospector' Astrometric Rangefinding AR (3 of 3)\r\n    Implants named like: Poteque 'Prospector' Sharpeye (2 of 2)\r\n    Implants named like: Serenity Limited 'Sharpeye' Dose (3 of 3)\r\n    Implants named like: grade Virtue (10 of 12)\r\n    Modules named like: Gravity Capacitor Upgrade (8 of 8)\r\n    Implant: AIR Astro-Rangefinding II Booster\r\n    Implant: Serenity YC122.9 Season Booster - Probe Scanning Strength\r\n    Skill: Astrometric Rangefinding\r\n    Skill: Astrometrics\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        penalized = False if 'skill' in context or 'implant' in context or 'booster' in context else True\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),\r\n                                        'baseSensorStrength', container.getModifiedItemAttr('scanStrengthBonus') * level,\r\n                                        stackingPenalties=penalized, **kwargs)\r\n\r\n\r\nclass Effect4165(BaseEffect):\r\n    \"\"\"\r\n    shipBonusScanProbeStrengthCF2\r\n\r\n    Used by:\r\n    Ships named like: Heron (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Scanner Probe',\r\n                                        'baseSensorStrength', ship.getModifiedItemAttr('shipBonusCF2'),\r\n                                        skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect4166(BaseEffect):\r\n    \"\"\"\r\n    shipBonusScanProbeStrengthMF2\r\n\r\n    Used by:\r\n    Ships named like: Probe (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Scanner Probe',\r\n                                        'baseSensorStrength', ship.getModifiedItemAttr('shipBonusMF2'),\r\n                                        skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect4167(BaseEffect):\r\n    \"\"\"\r\n    shipBonusScanProbeStrengthGF2\r\n\r\n    Used by:\r\n    Ships named like: Imicus (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Scanner Probe',\r\n                                        'baseSensorStrength', ship.getModifiedItemAttr('shipBonusGF2'),\r\n                                        skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect4168(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCoverOpsScanProbeStrength2\r\n\r\n    Used by:\r\n    Ships from group: Covert Ops (9 of 9)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Scanner Probe',\r\n                                        'baseSensorStrength', ship.getModifiedItemAttr('eliteBonusCovertOps2'),\r\n                                        skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect4187(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStrategicCruiserAmarrHeatDamage\r\n\r\n    Used by:\r\n    Ship: Legion\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      ship.getModifiedItemAttr('shipBonusStrategicCruiserAmarr1'),\r\n                                      skill='Amarr Strategic Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4188(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStrategicCruiserCaldariHeatDamage\r\n\r\n    Used by:\r\n    Ship: Tengu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      ship.getModifiedItemAttr('shipBonusStrategicCruiserCaldari1'),\r\n                                      skill='Caldari Strategic Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4189(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStrategicCruiserGallenteHeatDamage\r\n\r\n    Used by:\r\n    Ship: Proteus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      ship.getModifiedItemAttr('shipBonusStrategicCruiserGallente1'),\r\n                                      skill='Gallente Strategic Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4190(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStrategicCruiserMinmatarHeatDamage\r\n\r\n    Used by:\r\n    Ship: Loki\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      ship.getModifiedItemAttr('shipBonusStrategicCruiserMinmatar1'),\r\n                                      skill='Minmatar Strategic Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4215(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrOffensive2EnergyWeaponCapacitorNeed\r\n\r\n    Used by:\r\n    Subsystem: Legion Offensive - Liquid Crystal Magnifiers\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'capacitorNeed', module.getModifiedItemAttr('subsystemBonusAmarrOffensive2'),\r\n                                      skill='Amarr Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4216(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrCore2EnergyVampireAmount\r\n\r\n    Used by:\r\n    Subsystem: Legion Core - Energy Parasitic Complex\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'powerTransferAmount',\r\n                                      src.getModifiedItemAttr('subsystemBonusAmarrCore2'), skill='Amarr Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4217(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrCore2EnergyDestabilizerAmount\r\n\r\n    Used by:\r\n    Subsystem: Legion Core - Energy Parasitic Complex\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'energyNeutralizerAmount',\r\n                                      src.getModifiedItemAttr('subsystemBonusAmarrCore2'), skill='Amarr Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4248(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariOffensive2MissileLauncherKineticDamage\r\n\r\n    Used by:\r\n    Subsystem: Tengu Offensive - Accelerated Ejection Bay\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                        'kineticDamage', src.getModifiedItemAttr('subsystemBonusCaldariOffensive2'),\r\n                                        skill='Caldari Offensive Systems', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'kineticDamage', src.getModifiedItemAttr('subsystemBonusCaldariOffensive2'),\r\n                                        skill='Caldari Offensive Systems', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'kineticDamage', src.getModifiedItemAttr('subsystemBonusCaldariOffensive2'),\r\n                                        skill='Caldari Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4250(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteOffensiveDroneDamageHP\r\n\r\n    Used by:\r\n    Subsystem: Proteus Offensive - Drone Synthesis Projector\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),\r\n                                     'armorHP', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'),\r\n                                     skill='Gallente Offensive Systems', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),\r\n                                     'hp', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'),\r\n                                     skill='Gallente Offensive Systems', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'),\r\n                                     skill='Gallente Offensive Systems', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),\r\n                                     'shieldCapacity', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'),\r\n                                     skill='Gallente Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4251(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarOffensive2ProjectileWeaponDamageMultiplier\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Projectile Scoping Array\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'damageMultiplier', module.getModifiedItemAttr('subsystemBonusMinmatarOffensive2'),\r\n                                      skill='Minmatar Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4256(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarOffensive2MissileLauncherROF\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Launcher Efficiency Configuration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        groups = ('Missile Launcher Heavy', 'Missile Launcher Rapid Light', 'Missile Launcher Heavy Assault')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'speed', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive2'),\r\n                                      skill='Minmatar Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4264(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarCoreCapacitorRecharge\r\n\r\n    Used by:\r\n    Subsystem: Loki Core - Augmented Nuclear Reactor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('rechargeRate', src.getModifiedItemAttr('subsystemBonusMinmatarCore'),\r\n                               skill='Minmatar Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4265(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteCoreCapacitorRecharge\r\n\r\n    Used by:\r\n    Subsystem: Proteus Core - Augmented Fusion Reactor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('rechargeRate', src.getModifiedItemAttr('subsystemBonusGallenteCore'),\r\n                               skill='Gallente Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4269(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrCore3ScanResolution\r\n\r\n    Used by:\r\n    Subsystem: Legion Core - Dissolution Sequencer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanResolution', src.getModifiedItemAttr('subsystemBonusAmarrCore3'),\r\n                               skill='Amarr Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4270(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarCore3ScanResolution\r\n\r\n    Used by:\r\n    Subsystem: Loki Core - Dissolution Sequencer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanResolution', src.getModifiedItemAttr('subsystemBonusMinmatarCore3'),\r\n                               skill='Minmatar Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4271(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariCore2MaxTargetingRange\r\n\r\n    Used by:\r\n    Subsystem: Tengu Core - Electronic Efficiency Gate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxTargetRange', src.getModifiedItemAttr('subsystemBonusCaldariCore2'), skill='Caldari Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4272(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteCore2MaxTargetingRange\r\n\r\n    Used by:\r\n    Subsystem: Proteus Core - Electronic Efficiency Gate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxTargetRange', src.getModifiedItemAttr('subsystemBonusGallenteCore2'),\r\n                               skill='Gallente Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4273(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteCore2WarpScrambleRange\r\n\r\n    Used by:\r\n    Subsystem: Proteus Core - Friction Extension Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler', 'maxRange',\r\n                                      src.getModifiedItemAttr('subsystemBonusGallenteCore2'), skill='Gallente Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4274(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarCore2StasisWebifierRange\r\n\r\n    Used by:\r\n    Subsystem: Loki Core - Immobility Drivers\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'maxRange', src.getModifiedItemAttr('subsystemBonusMinmatarCore2'), skill='Minmatar Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4275(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariPropulsion2WarpSpeed\r\n\r\n    Used by:\r\n    Subsystem: Tengu Propulsion - Interdiction Nullifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('subsystemBonusCaldariPropulsion2'),\r\n                               skill='Caldari Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect4277(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallentePropulsionWarpCapacitor\r\n\r\n    Used by:\r\n    Subsystem: Proteus Propulsion - Interdiction Nullifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpCapacitorNeed', src.getModifiedItemAttr('subsystemBonusGallentePropulsion'),\r\n                               skill='Gallente Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect4278(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallentePropulsion2WarpSpeed\r\n\r\n    Used by:\r\n    Subsystem: Proteus Propulsion - Interdiction Nullifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('subsystemBonusGallentePropulsion2'),\r\n                               skill='Gallente Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect4280(BaseEffect):\r\n    \"\"\"\r\n    systemAgility\r\n\r\n    Used by:\r\n    Celestials named like: Class Black Hole Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('agility', beacon.getModifiedItemAttr('agilityMultiplier'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4282(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteOffensive2HybridWeaponDamageMultiplier\r\n\r\n    Used by:\r\n    Subsystem: Proteus Offensive - Hybrid Encoding Platform\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'damageMultiplier', module.getModifiedItemAttr('subsystemBonusGallenteOffensive2'),\r\n                                      skill='Gallente Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4283(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariOffensive2HybridWeaponDamageMultiplier\r\n\r\n    Used by:\r\n    Subsystem: Tengu Offensive - Magnetic Infusion Basin\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'damageMultiplier', module.getModifiedItemAttr('subsystemBonusCaldariOffensive2'),\r\n                                      skill='Caldari Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4286(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrOffensive2RemoteArmorRepairCapUse\r\n\r\n    Used by:\r\n    Subsystem: Legion Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('subsystemBonusAmarrOffensive2'), skill='Amarr Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4288(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteOffensive2RemoteArmorRepairCapUse\r\n\r\n    Used by:\r\n    Subsystem: Proteus Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('subsystemBonusGallenteOffensive2'), skill='Gallente Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4290(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarOffensive2RemoteRepCapUse\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems') or mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'capacitorNeed', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive2'),\r\n                                      skill='Minmatar Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4292(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariOffensive2RemoteShieldBoosterCapUse\r\n\r\n    Used by:\r\n    Subsystem: Tengu Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),\r\n                                      'capacitorNeed', src.getModifiedItemAttr('subsystemBonusCaldariOffensive2'),\r\n                                      skill='Caldari Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4321(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariCore2ECMStrengthRange\r\n\r\n    Used by:\r\n    Subsystem: Tengu Core - Obfuscation Manifold\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'scanLadarStrengthBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusCaldariCore2'), skill='Caldari Core Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'scanRadarStrengthBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusCaldariCore2'), skill='Caldari Core Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'maxRange',\r\n                                      src.getModifiedItemAttr('subsystemBonusCaldariCore2'), skill='Caldari Core Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'scanGravimetricStrengthBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusCaldariCore2'), skill='Caldari Core Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'scanMagnetometricStrengthBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusCaldariCore2'), skill='Caldari Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4327(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrOffensive3DroneDamageHP\r\n\r\n    Used by:\r\n    Subsystem: Legion Offensive - Assault Optimization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),\r\n                                     'hp', src.getModifiedItemAttr('subsystemBonusAmarrOffensive3'), skill='Amarr Offensive Systems', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),\r\n                                     'armorHP', src.getModifiedItemAttr('subsystemBonusAmarrOffensive3'), skill='Amarr Offensive Systems', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),\r\n                                     'shieldCapacity', src.getModifiedItemAttr('subsystemBonusAmarrOffensive3'), skill='Amarr Offensive Systems', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', src.getModifiedItemAttr('subsystemBonusAmarrOffensive3'), skill='Amarr Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4330(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrOffensive3EnergyWeaponMaxRange\r\n\r\n    Used by:\r\n    Subsystem: Legion Offensive - Liquid Crystal Magnifiers\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'maxRange', module.getModifiedItemAttr('subsystemBonusAmarrOffensive3'),\r\n                                      skill='Amarr Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4331(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariOffensive3HMLHAMVelocity\r\n\r\n    Used by:\r\n    Subsystem: Tengu Offensive - Accelerated Ejection Bay\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles') or mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'maxVelocity', src.getModifiedItemAttr('subsystemBonusCaldariOffensive3'),\r\n                                        skill='Caldari Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4342(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarCore2MaxTargetingRange\r\n\r\n    Used by:\r\n    Subsystem: Loki Core - Dissolution Sequencer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxTargetRange', src.getModifiedItemAttr('subsystemBonusMinmatarCore2'),\r\n                               skill='Minmatar Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4343(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrCore2MaxTargetingRange\r\n\r\n    Used by:\r\n    Subsystem: Legion Core - Dissolution Sequencer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxTargetRange', src.getModifiedItemAttr('subsystemBonusAmarrCore2'),\r\n                               skill='Amarr Core Systems', **kwargs)\r\n\r\n\r\nclass Effect4347(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteOffensive3TurretTracking\r\n\r\n    Used by:\r\n    Subsystem: Proteus Offensive - Drone Synthesis Projector\r\n    Subsystem: Proteus Offensive - Hybrid Encoding Platform\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'trackingSpeed', module.getModifiedItemAttr('subsystemBonusGallenteOffensive3'),\r\n                                      skill='Gallente Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4351(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarOffensive3TurretTracking\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Projectile Scoping Array\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'trackingSpeed', module.getModifiedItemAttr('subsystemBonusMinmatarOffensive3'),\r\n                                      skill='Minmatar Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4358(BaseEffect):\r\n    \"\"\"\r\n    ecmRangeBonusModuleEffect\r\n\r\n    Used by:\r\n    Modules from group: ECM Stabilizer (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'maxRange', module.getModifiedItemAttr('ecmRangeBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4360(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrOffensiveMissileLauncherROF\r\n\r\n    Used by:\r\n    Subsystem: Legion Offensive - Assault Optimization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        groups = ('Missile Launcher Heavy', 'Missile Launcher Rapid Light', 'Missile Launcher Heavy Assault')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'speed', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4362(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrOffensive2MissileDamage\r\n\r\n    Used by:\r\n    Subsystem: Legion Offensive - Assault Optimization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                        'explosiveDamage', src.getModifiedItemAttr('subsystemBonusAmarrOffensive2'), skill='Amarr Offensive Systems', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', src.getModifiedItemAttr('subsystemBonusAmarrOffensive2'), skill='Amarr Offensive Systems', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                        'emDamage', src.getModifiedItemAttr('subsystemBonusAmarrOffensive2'), skill='Amarr Offensive Systems', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                        'thermalDamage', src.getModifiedItemAttr('subsystemBonusAmarrOffensive2'), skill='Amarr Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4366(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumHybridDmgCC2\r\n\r\n    Used by:\r\n    Ship: Falcon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4370(BaseEffect):\r\n    \"\"\"\r\n    caldariShipEwFalloffRangeCC2\r\n\r\n    Used by:\r\n    Ship: Blackbird\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'falloffEffectiveness', ship.getModifiedItemAttr('shipBonusCC2'),\r\n                                      skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4372(BaseEffect):\r\n    \"\"\"\r\n    caldariShipEwFalloffRangeCB3\r\n\r\n    Used by:\r\n    Ship: Scorpion\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'falloffEffectiveness', ship.getModifiedItemAttr('shipBonusCB3'),\r\n                                      skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect4373(BaseEffect):\r\n    \"\"\"\r\n    subSystemBonusAmarrOffensiveCommandBursts\r\n\r\n    Used by:\r\n    Subsystem: Legion Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(lambda mod: (mod.item.requiresSkill('Skirmish Command') or\r\n                                                       mod.item.requiresSkill('Armored Command') or\r\n                                                       mod.item.requiresSkill('Information Command')),\r\n                                          attrName, src.getModifiedItemAttr('subsystemBonusAmarrOffensive'),\r\n                                          skill='Amarr Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect4377(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoVelocityGF2\r\n\r\n    Used by:\r\n    Ship: Nemesis\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect4378(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoVelocityMF2\r\n\r\n    Used by:\r\n    Ship: Hound\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect4379(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoVelocity2AF\r\n\r\n    Used by:\r\n    Ship: Purifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect4380(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoVelocityCF2\r\n\r\n    Used by:\r\n    Ship: Manticore\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect4384(BaseEffect):\r\n    \"\"\"\r\n    eliteReconBonusHeavyMissileVelocity\r\n\r\n    Used by:\r\n    Ship: Rook\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('eliteBonusReconShip1'),\r\n                                        skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect4385(BaseEffect):\r\n    \"\"\"\r\n    eliteReconBonusHeavyAssaultMissileVelocity\r\n\r\n    Used by:\r\n    Ship: Rook\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('eliteBonusReconShip1'),\r\n                                        skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect4393(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEliteCover2TorpedoThermalDamage\r\n\r\n    Used by:\r\n    Ship: Nemesis\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('eliteBonusCovertOps2'),\r\n                                        skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect4394(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEliteCover2TorpedoEMDamage\r\n\r\n    Used by:\r\n    Ship: Purifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'emDamage', ship.getModifiedItemAttr('eliteBonusCovertOps2'), skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect4395(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEliteCover2TorpedoExplosiveDamage\r\n\r\n    Used by:\r\n    Ship: Hound\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('eliteBonusCovertOps2'),\r\n                                        skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect4396(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEliteCover2TorpedoKineticDamage\r\n\r\n    Used by:\r\n    Ship: Manticore\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('eliteBonusCovertOps2'),\r\n                                        skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect4398(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMF1TorpedoExplosionVelocity\r\n\r\n    Used by:\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'aoeVelocity', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect4413(BaseEffect):\r\n    \"\"\"\r\n    shipBonusGF1TorpedoFlightTime\r\n\r\n    Used by:\r\n    Ship: Nemesis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'explosionDelay', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect4415(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMF1TorpedoFlightTime\r\n\r\n    Used by:\r\n    Ship: Hound\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'explosionDelay', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect4416(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCF1TorpedoFlightTime\r\n\r\n    Used by:\r\n    Ship: Manticore\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'explosionDelay', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect4417(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAF1TorpedoFlightTime\r\n\r\n    Used by:\r\n    Ship: Purifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'explosionDelay', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect4451(BaseEffect):\r\n    \"\"\"\r\n    ScanRadarStrengthModifierEffect\r\n\r\n    Used by:\r\n    Implants named like: Low grade Grail (5 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('scanRadarStrength', implant.getModifiedItemAttr('scanRadarStrengthModifier'), **kwargs)\r\n\r\n\r\nclass Effect4452(BaseEffect):\r\n    \"\"\"\r\n    ScanLadarStrengthModifierEffect\r\n\r\n    Used by:\r\n    Implants named like: Low grade Jackal (5 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('scanLadarStrength', implant.getModifiedItemAttr('scanLadarStrengthModifier'), **kwargs)\r\n\r\n\r\nclass Effect4453(BaseEffect):\r\n    \"\"\"\r\n    ScanGravimetricStrengthModifierEffect\r\n\r\n    Used by:\r\n    Implants named like: Low grade Talon (5 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('scanGravimetricStrength', implant.getModifiedItemAttr('scanGravimetricStrengthModifier'), **kwargs)\r\n\r\n\r\nclass Effect4454(BaseEffect):\r\n    \"\"\"\r\n    ScanMagnetometricStrengthModifierEffect\r\n\r\n    Used by:\r\n    Implants named like: Low grade Spur (5 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('scanMagnetometricStrength',\r\n                                  implant.getModifiedItemAttr('scanMagnetometricStrengthModifier'), **kwargs)\r\n\r\n\r\nclass Effect4456(BaseEffect):\r\n    \"\"\"\r\n    federationsetbonus3\r\n\r\n    Used by:\r\n    Implants named like: High grade Spur (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),\r\n                                                 'scanMagnetometricStrengthPercent',\r\n                                                 implant.getModifiedItemAttr('implantSetFederationNavy'), **kwargs)\r\n\r\n\r\nclass Effect4457(BaseEffect):\r\n    \"\"\"\r\n    imperialsetbonus3\r\n\r\n    Used by:\r\n    Implants named like: High grade Grail (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),\r\n                                                 'scanRadarStrengthPercent',\r\n                                                 implant.getModifiedItemAttr('implantSetImperialNavy'), **kwargs)\r\n\r\n\r\nclass Effect4458(BaseEffect):\r\n    \"\"\"\r\n    republicsetbonus3\r\n\r\n    Used by:\r\n    Implants named like: High grade Jackal (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),\r\n                                                 'scanLadarStrengthPercent',\r\n                                                 implant.getModifiedItemAttr('implantSetRepublicFleet'), **kwargs)\r\n\r\n\r\nclass Effect4459(BaseEffect):\r\n    \"\"\"\r\n    caldarisetbonus3\r\n\r\n    Used by:\r\n    Implants named like: High grade Talon (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),\r\n                                                 'scanGravimetricStrengthPercent',\r\n                                                 implant.getModifiedItemAttr('implantSetCaldariNavy'), **kwargs)\r\n\r\n\r\nclass Effect4460(BaseEffect):\r\n    \"\"\"\r\n    imperialsetLGbonus\r\n\r\n    Used by:\r\n    Implants named like: Low grade Grail (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),\r\n                                                 'scanRadarStrengthModifier',\r\n                                                 implant.getModifiedItemAttr('implantSetLGImperialNavy'), **kwargs)\r\n\r\n\r\nclass Effect4461(BaseEffect):\r\n    \"\"\"\r\n    federationsetLGbonus\r\n\r\n    Used by:\r\n    Implants named like: Low grade Spur (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),\r\n                                                 'scanMagnetometricStrengthModifier',\r\n                                                 implant.getModifiedItemAttr('implantSetLGFederationNavy'), **kwargs)\r\n\r\n\r\nclass Effect4462(BaseEffect):\r\n    \"\"\"\r\n    caldarisetLGbonus\r\n\r\n    Used by:\r\n    Implants named like: Low grade Talon (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),\r\n                                                 'scanGravimetricStrengthModifier',\r\n                                                 implant.getModifiedItemAttr('implantSetLGCaldariNavy'), **kwargs)\r\n\r\n\r\nclass Effect4463(BaseEffect):\r\n    \"\"\"\r\n    republicsetLGbonus\r\n\r\n    Used by:\r\n    Implants named like: Low grade Jackal (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),\r\n                                                 'scanLadarStrengthModifier',\r\n                                                 implant.getModifiedItemAttr('implantSetLGRepublicFleet'), **kwargs)\r\n\r\n\r\nclass Effect4464(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileRofMF\r\n\r\n    Used by:\r\n    Ship: Claw\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'), 'speed',\r\n                                      src.getModifiedItemAttr('shipBonusMF'), stackingPenalties=True, skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect4471(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStasisMF2\r\n\r\n    Used by:\r\n    Ship: Caedes\r\n    Ship: Cruor\r\n    Ship: Freki\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect4472(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileDmgMC\r\n\r\n    Used by:\r\n    Ship: Mimir\r\n    Ship: Rupture\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4473(BaseEffect):\r\n    \"\"\"\r\n    shipVelocityBonusATC1\r\n\r\n    Used by:\r\n    Ship: Adrestia\r\n    Ship: Cybele\r\n    Ship: Mimir\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('shipBonusATC1'), **kwargs)\r\n\r\n\r\nclass Effect4474(BaseEffect):\r\n    \"\"\"\r\n    shipMTMaxRangeBonusATC\r\n\r\n    Used by:\r\n    Ship: Mimir\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusATC2'), **kwargs)\r\n\r\n\r\nclass Effect4475(BaseEffect):\r\n    \"\"\"\r\n    shipMTFalloffBonusATC\r\n\r\n    Used by:\r\n    Ship: Mimir\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusATC2'), **kwargs)\r\n\r\n\r\nclass Effect4476(BaseEffect):\r\n    \"\"\"\r\n    shipMTFalloffBonusATF\r\n\r\n    Used by:\r\n    Ship: Freki\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusATF2'), **kwargs)\r\n\r\n\r\nclass Effect4477(BaseEffect):\r\n    \"\"\"\r\n    shipMTMaxRangeBonusATF\r\n\r\n    Used by:\r\n    Ship: Freki\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusATF2'), **kwargs)\r\n\r\n\r\nclass Effect4478(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAfterburnerCapNeedATF\r\n\r\n    Used by:\r\n    Ship: Freki\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusATF1'), **kwargs)\r\n\r\n\r\nclass Effect4479(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSurveyProbeExplosionDelaySkillSurveyCovertOps3\r\n\r\n    Used by:\r\n    Ships from group: Covert Ops (6 of 9)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Survey Probe',\r\n                                        'explosionDelay', ship.getModifiedItemAttr('eliteBonusCovertOps3'),\r\n                                        skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect4482(BaseEffect):\r\n    \"\"\"\r\n    shipETOptimalRange2AF\r\n\r\n    Used by:\r\n    Ship: Imperial Navy Slicer\r\n    Ship: Pacifier\r\n    Ship: Sidewinder\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect4484(BaseEffect):\r\n    \"\"\"\r\n    shipPTurretFalloffBonusGB\r\n\r\n    Used by:\r\n    Ship: Machariel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusGB'), skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect4485(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStasisWebSpeedFactorMB\r\n\r\n    Used by:\r\n    Ship: Vindicator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'speedFactor', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect4489(BaseEffect):\r\n    \"\"\"\r\n    superWeaponAmarr\r\n\r\n    Used by:\r\n    Module: 'Judgment' Electromagnetic Doomsday\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', mod.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', mod.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n\r\n\r\nclass Effect4490(BaseEffect):\r\n    \"\"\"\r\n    superWeaponCaldari\r\n\r\n    Used by:\r\n    Module: 'Oblivion' Kinetic Doomsday\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', mod.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', mod.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n\r\n\r\nclass Effect4491(BaseEffect):\r\n    \"\"\"\r\n    superWeaponGallente\r\n\r\n    Used by:\r\n    Module: 'Aurora Ominae' Thermal Doomsday\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', mod.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', mod.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n\r\n\r\nclass Effect4492(BaseEffect):\r\n    \"\"\"\r\n    superWeaponMinmatar\r\n\r\n    Used by:\r\n    Module: 'Gjallarhorn' Explosive Doomsday\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', mod.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', mod.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n\r\n\r\nclass Effect4510(BaseEffect):\r\n    \"\"\"\r\n    shipStasisWebStrengthBonusMC2\r\n\r\n    Used by:\r\n    Ship: Victor\r\n    Ship: Vigilant\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'speedFactor', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4512(BaseEffect):\r\n    \"\"\"\r\n    shipPTurretFalloffBonusGC\r\n\r\n    Used by:\r\n    Ship: Cynabal\r\n    Ship: Moracha\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4513(BaseEffect):\r\n    \"\"\"\r\n    shipStasisWebStrengthBonusMF2\r\n\r\n    Used by:\r\n    Ship: Daredevil\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'speedFactor', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect4515(BaseEffect):\r\n    \"\"\"\r\n    shipFalloffBonusMF\r\n\r\n    Used by:\r\n    Ship: Chremoas\r\n    Ship: Dramiel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect4516(BaseEffect):\r\n    \"\"\"\r\n    shipHTurretFalloffBonusGC\r\n\r\n    Used by:\r\n    Ship: Victor\r\n    Ship: Vigilant\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4527(BaseEffect):\r\n    \"\"\"\r\n    gunneryFalloffBonusOnline\r\n\r\n    Used by:\r\n    Modules from group: Tracking Enhancer (10 of 10)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                      'falloff', module.getModifiedItemAttr('falloffBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4555(BaseEffect):\r\n    \"\"\"\r\n    capitalLauncherSkillCruiseCitadelEmDamage1\r\n\r\n    Used by:\r\n    Skill: XL Cruise Missiles\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'),\r\n                                        'emDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect4556(BaseEffect):\r\n    \"\"\"\r\n    capitalLauncherSkillCruiseCitadelExplosiveDamage1\r\n\r\n    Used by:\r\n    Skill: XL Cruise Missiles\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'),\r\n                                        'explosiveDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect4557(BaseEffect):\r\n    \"\"\"\r\n    capitalLauncherSkillCruiseCitadelKineticDamage1\r\n\r\n    Used by:\r\n    Skill: XL Cruise Missiles\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'),\r\n                                        'kineticDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect4558(BaseEffect):\r\n    \"\"\"\r\n    capitalLauncherSkillCruiseCitadelThermalDamage1\r\n\r\n    Used by:\r\n    Skill: XL Cruise Missiles\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'),\r\n                                        'thermalDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect4559(BaseEffect):\r\n    \"\"\"\r\n    gunneryMaxRangeFalloffTrackingSpeedBonus\r\n\r\n    Used by:\r\n    Modules from group: Tracking Computer (11 of 11)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for attr in ('maxRange', 'falloff', 'trackingSpeed'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                          attr, module.getModifiedItemAttr('%sBonus' % attr),\r\n                                          stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4575(BaseEffect):\r\n    \"\"\"\r\n    industrialCoreEffect2\r\n\r\n    Used by:\r\n    Variations of module: Capital Industrial Core I (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.multiplyItemAttr('mass', src.getModifiedItemAttr('siegeMassMultiplier'), **kwargs)\r\n        fit.ship.multiplyItemAttr('scanResolution',\r\n                                  src.getModifiedItemAttr('scanResolutionMultiplier'),\r\n                                  stackingPenalties=True, **kwargs)\r\n\r\n        #  Remote Shield Repper Bonuses\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'),\r\n                                      'duration', src.getModifiedItemAttr('industrialCoreRemoteLogisticsDurationBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'),\r\n                                      'maxRange', src.getModifiedItemAttr('industrialCoreRemoteLogisticsRangeBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'),\r\n                                      'capacitorNeed', src.getModifiedItemAttr('industrialCoreRemoteLogisticsDurationBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'),\r\n                                      'falloffEffectiveness', src.getModifiedItemAttr('industrialCoreRemoteLogisticsRangeBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n        #  Local Shield Repper Bonuses\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'),\r\n                                      'duration', src.getModifiedItemAttr('industrialCoreLocalLogisticsDurationBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'),\r\n                                      'shieldBonus', src.getModifiedItemAttr('industrialCoreLocalLogisticsAmountBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n        # Mining Burst Bonuses\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'),\r\n                                      'warfareBuff1Value', src.getModifiedItemAttr('industrialCoreBonusMiningBurstStrength'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'),\r\n                                      'warfareBuff2Value', src.getModifiedItemAttr('industrialCoreBonusMiningBurstStrength'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'),\r\n                                      'warfareBuff3Value', src.getModifiedItemAttr('industrialCoreBonusMiningBurstStrength'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'),\r\n                                      'warfareBuff4Value', src.getModifiedItemAttr('industrialCoreBonusMiningBurstStrength'), **kwargs)\r\n\r\n        #  Command Burst Range Bonus\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'),\r\n                                      'maxRange', src.getModifiedItemAttr('industrialCoreBonusCommandBurstRange'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n        # Drone Bonuses\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Ice Harvesting Drone Operation'),\r\n                                     'duration', src.getModifiedItemAttr('industrialCoreBonusDroneIceHarvesting'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'),\r\n                                     'miningAmount', src.getModifiedItemAttr('industrialCoreBonusDroneMining'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'maxVelocity', src.getModifiedItemAttr('industrialCoreBonusDroneVelocity'),\r\n                                     stackingPenalties=True, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', src.getModifiedItemAttr('industrialCoreBonusDroneDamageHP'),\r\n                                     stackingPenalties=True, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'shieldCapacity', src.getModifiedItemAttr('industrialCoreBonusDroneDamageHP'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'armorHP', src.getModifiedItemAttr('industrialCoreBonusDroneDamageHP'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'hp', src.getModifiedItemAttr('industrialCoreBonusDroneDamageHP'), **kwargs)\r\n\r\n        # Remote impedance (no reps, etc)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n        fit.ship.boostItemAttr('remoteRepairImpedance', src.getModifiedItemAttr('remoteRepairImpedanceBonus'), **kwargs)\r\n        fit.ship.increaseItemAttr('disallowTethering', src.getModifiedItemAttr('disallowTethering'), **kwargs)\r\n        fit.ship.boostItemAttr('sensorDampenerResistance', src.getModifiedItemAttr('sensorDampenerResistanceBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('remoteAssistanceImpedance', src.getModifiedItemAttr('remoteAssistanceImpedanceBonus'), **kwargs)\r\n        fit.ship.increaseItemAttr('disallowDocking', src.getModifiedItemAttr('disallowDocking'), **kwargs)\r\n\r\n\r\nclass Effect4576(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticsTrackingLinkFalloffBonus1\r\n\r\n    Used by:\r\n    Ship: Scimitar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',\r\n                                      'falloffBonus', ship.getModifiedItemAttr('eliteBonusLogistics1'),\r\n                                      skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect4577(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticsTrackingLinkFalloffBonus2\r\n\r\n    Used by:\r\n    Ship: Oneiros\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',\r\n                                      'falloffBonus', ship.getModifiedItemAttr('eliteBonusLogistics2'),\r\n                                      skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect4579(BaseEffect):\r\n    \"\"\"\r\n    droneRigStasisWebSpeedFactorBonus\r\n\r\n    Used by:\r\n    Modules named like: Stasis Drone Augmentor (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Stasis Webifying Drone',\r\n                                     'speedFactor', module.getModifiedItemAttr('webSpeedFactorBonus'), **kwargs)\r\n\r\n\r\nclass Effect4619(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneDamageGF2\r\n\r\n    Used by:\r\n    Ship: Utu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect4620(BaseEffect):\r\n    \"\"\"\r\n    shipBonusWarpScramblerMaxRangeGF2\r\n\r\n    Used by:\r\n    Ship: Garmur\r\n    Ship: Shapash\r\n    Ship: Utu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect4621(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeatDamageATF1\r\n\r\n    Used by:\r\n    Ship: Cambion\r\n    Ship: Etana\r\n    Ship: Shapash\r\n    Ship: Utu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      ship.getModifiedItemAttr('shipBonusATF1'), **kwargs)\r\n\r\n\r\nclass Effect4622(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallHybridMaxRangeATF2\r\n\r\n    Used by:\r\n    Ship: Utu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusATF2'), **kwargs)\r\n\r\n\r\nclass Effect4623(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallHybridTrackingSpeedATF2\r\n\r\n    Used by:\r\n    Ship: Utu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusATF2'), **kwargs)\r\n\r\n\r\nclass Effect4624(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHybridTrackingATC2\r\n\r\n    Used by:\r\n    Ship: Adrestia\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusATC2'), **kwargs)\r\n\r\n\r\nclass Effect4625(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHybridFalloffATC2\r\n\r\n    Used by:\r\n    Ship: Adrestia\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusATC2'), **kwargs)\r\n\r\n\r\nclass Effect4626(BaseEffect):\r\n    \"\"\"\r\n    shipBonusWarpScramblerMaxRangeGC2\r\n\r\n    Used by:\r\n    Ship: Adrestia\r\n    Ship: Cybele\r\n    Ship: Orthrus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4635(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusMaraudersCruiseAndTorpedoDamageRole1\r\n\r\n    Used by:\r\n    Ship: Golem\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        damageTypes = ('em', 'explosive', 'kinetic', 'thermal')\r\n        for damageType in damageTypes:\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.charge.requiresSkill('Cruise Missiles') or mod.charge.requiresSkill('Torpedoes'),\r\n                '{0}Damage'.format(damageType), ship.getModifiedItemAttr('eliteBonusViolatorsRole1'), **kwargs)\r\n\r\n\r\nclass Effect4636(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAoeVelocityCruiseAndTorpedoCB2\r\n\r\n    Used by:\r\n    Ship: Golem\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Cruise Missiles') or mod.charge.requiresSkill('Torpedoes'),\r\n            'aoeVelocity', ship.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect4637(BaseEffect):\r\n    \"\"\"\r\n    shipCruiseAndTorpedoVelocityBonusCB3\r\n\r\n    Used by:\r\n    Ship: Golem\r\n    Ship: Widow\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Cruise Missiles') or mod.charge.requiresSkill('Torpedoes'),\r\n            'maxVelocity', ship.getModifiedItemAttr('shipBonusCB3'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect4640(BaseEffect):\r\n    \"\"\"\r\n    shipArmorEMAndExpAndkinAndThmResistanceAC2\r\n\r\n    Used by:\r\n    Ships named like: Stratios (2 of 2)\r\n    Ship: Sacrilege\r\n    Ship: Vangel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')\r\n        for damageType in damageTypes:\r\n            fit.ship.boostItemAttr('armor{0}DamageResonance'.format(damageType), ship.getModifiedItemAttr('shipBonusAC2'),\r\n                                   skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4643(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyAssaultMissileEMAndExpAndKinAndThmDmgAC1\r\n\r\n    Used by:\r\n    Ship: Sacrilege\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        damageTypes = ('em', 'explosive', 'kinetic', 'thermal')\r\n        for damageType in damageTypes:\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                            '{0}Damage'.format(damageType), ship.getModifiedItemAttr('shipBonusAC'),\r\n                                            skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect4645(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyGunshipHeavyAndHeavyAssaultAndAssaultMissileLauncherROF\r\n\r\n    Used by:\r\n    Ship: Bestla\r\n    Ship: Sacrilege\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        groups = ('Missile Launcher Rapid Light', 'Missile Launcher Heavy Assault', 'Missile Launcher Heavy')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'speed', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),\r\n                                      skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect4648(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusBlackOpsECMGravAndLadarAndMagnetometricAndRadarStrength1\r\n\r\n    Used by:\r\n    Ship: Widow\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        sensorTypes = ('Gravimetric', 'Ladar', 'Magnetometric', 'Radar')\r\n        for type in sensorTypes:\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'scan{0}StrengthBonus'.format(type),\r\n                                          ship.getModifiedItemAttr('eliteBonusBlackOps1'), skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect4649(BaseEffect):\r\n    \"\"\"\r\n    shipCruiseAndSiegeLauncherROFBonus2CB\r\n\r\n    Used by:\r\n    Ship: Widow\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        affectedGroups = ('Missile Launcher Cruise', 'Missile Launcher Torpedo')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in affectedGroups,\r\n                                      'speed', ship.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect4667(BaseEffect):\r\n    \"\"\"\r\n    shipBonusNoctisSalvageCycle\r\n\r\n    Used by:\r\n    Ship: Noctis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Salvaging'),\r\n                                      'duration', ship.getModifiedItemAttr('shipBonusOreIndustrial1'),\r\n                                      skill='ORE Hauler', **kwargs)\r\n\r\n\r\nclass Effect4668(BaseEffect):\r\n    \"\"\"\r\n    shipBonusNoctisTractorCycle\r\n\r\n    Used by:\r\n    Ship: Noctis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam',\r\n                                      'duration', ship.getModifiedItemAttr('shipBonusOreIndustrial1'),\r\n                                      skill='ORE Hauler', **kwargs)\r\n\r\n\r\nclass Effect4669(BaseEffect):\r\n    \"\"\"\r\n    shipBonusNoctisTractorVelocity\r\n\r\n    Used by:\r\n    Ship: Noctis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam',\r\n                                      'maxTractorVelocity', ship.getModifiedItemAttr('shipBonusOreIndustrial2'),\r\n                                      skill='ORE Hauler', **kwargs)\r\n\r\n\r\nclass Effect4670(BaseEffect):\r\n    \"\"\"\r\n    shipBonusNoctisTractorRange\r\n\r\n    Used by:\r\n    Ship: Noctis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam',\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusOreIndustrial2'),\r\n                                      skill='ORE Hauler', **kwargs)\r\n\r\n\r\nclass Effect4728(BaseEffect):\r\n    \"\"\"\r\n    OffensiveDefensiveReduction\r\n\r\n    Used by:\r\n    Celestials named like: Drifter Incursion (6 of 6)\r\n    Celestials named like: Sansha Incursion System Effects (3 of 3)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        damages = ('em', 'thermal', 'kinetic', 'explosive')\r\n        for damage in damages:\r\n            # Nerf missile damage\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                            '{0}Damage'.format(damage),\r\n                                            beacon.getModifiedItemAttr('systemEffectDamageReduction'), **kwargs)\r\n            # Nerf smartbomb damage\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Smart Bomb',\r\n                                          '{0}Damage'.format(damage),\r\n                                          beacon.getModifiedItemAttr('systemEffectDamageReduction'), **kwargs)\r\n            # Nerf armor resistances\r\n            fit.ship.boostItemAttr('armor{0}DamageResonance'.format(damage.capitalize()),\r\n                                   beacon.getModifiedItemAttr('armor{0}DamageResistanceBonus'.format(damage.capitalize())), **kwargs)\r\n            # Nerf shield resistances\r\n            fit.ship.boostItemAttr('shield{0}DamageResonance'.format(damage.capitalize()),\r\n                                   beacon.getModifiedItemAttr('shield{0}DamageResistanceBonus'.format(damage.capitalize())), **kwargs)\r\n        # Nerf drone damage output\r\n        fit.drones.filteredItemBoost(lambda drone: True,\r\n                                     'damageMultiplier', beacon.getModifiedItemAttr('systemEffectDamageReduction'), **kwargs)\r\n        # Nerf turret damage output\r\n        fit.modules.filteredItemBoost(lambda module: module.item.requiresSkill('Gunnery'),\r\n                                      'damageMultiplier', beacon.getModifiedItemAttr('systemEffectDamageReduction'), **kwargs)\r\n\r\n\r\nclass Effect4760(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariPropulsionWarpCapacitor\r\n\r\n    Used by:\r\n    Subsystem: Tengu Propulsion - Interdiction Nullifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpCapacitorNeed', src.getModifiedItemAttr('subsystemBonusCaldariPropulsion'),\r\n                               skill='Caldari Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect4775(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyNeutralizerTransferAmountBonusAF2\r\n\r\n    Used by:\r\n    Ship: Malice\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',\r\n                                      'energyNeutralizerAmount', ship.getModifiedItemAttr('shipBonus2AF'),\r\n                                      skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect4782(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallEnergyWeaponOptimalRangeATF2\r\n\r\n    Used by:\r\n    Ship: Malice\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusATF2'), **kwargs)\r\n\r\n\r\nclass Effect4789(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallEnergyTurretDamageATF1\r\n\r\n    Used by:\r\n    Ship: Malice\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusATF1'), **kwargs)\r\n\r\n\r\nclass Effect4793(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMissileLauncherHeavyROFATC1\r\n\r\n    Used by:\r\n    Ship: Vangel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy',\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusATC1'), **kwargs)\r\n\r\n\r\nclass Effect4794(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMissileLauncherAssaultROFATC1\r\n\r\n    Used by:\r\n    Ship: Vangel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Light',\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusATC1'), **kwargs)\r\n\r\n\r\nclass Effect4795(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMissileLauncherHeavyAssaultROFATC1\r\n\r\n    Used by:\r\n    Ship: Vangel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy Assault',\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusATC1'), **kwargs)\r\n\r\n\r\nclass Effect4799(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusBlackOpsECMBurstGravAndLadarAndMagnetoAndRadar\r\n\r\n    Used by:\r\n    Ship: Widow\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        sensorTypes = ('Gravimetric', 'Ladar', 'Magnetometric', 'Radar')\r\n        for type in sensorTypes:\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Burst Jammer',\r\n                                          'scan{0}StrengthBonus'.format(type),\r\n                                          ship.getModifiedItemAttr('eliteBonusBlackOps1'), skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect4804(BaseEffect):\r\n    \"\"\"\r\n    dataMiningSkillBoostAccessDifficultyBonusAbsolutePercent\r\n\r\n    Used by:\r\n    Skill: Archaeology\r\n    Skill: Hacking\r\n    Skill: Salvaging\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill(skill), 'accessDifficultyBonus',\r\n                                         skill.getModifiedItemAttr('accessDifficultyBonusAbsolutePercent') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect4809(BaseEffect):\r\n    \"\"\"\r\n    ecmGravimetricStrengthBonusPercent\r\n\r\n    Used by:\r\n    Modules from group: ECM Stabilizer (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'scanGravimetricStrengthBonus', module.getModifiedItemAttr('ecmStrengthBonusPercent'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4810(BaseEffect):\r\n    \"\"\"\r\n    ecmLadarStrengthBonusPercent\r\n\r\n    Used by:\r\n    Modules from group: ECM Stabilizer (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'scanLadarStrengthBonus', module.getModifiedItemAttr('ecmStrengthBonusPercent'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4811(BaseEffect):\r\n    \"\"\"\r\n    ecmMagnetometricStrengthBonusPercent\r\n\r\n    Used by:\r\n    Modules from group: ECM Stabilizer (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'scanMagnetometricStrengthBonus',\r\n                                      module.getModifiedItemAttr('ecmStrengthBonusPercent'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4812(BaseEffect):\r\n    \"\"\"\r\n    ecmRadarStrengthBonusPercent\r\n\r\n    Used by:\r\n    Modules from group: ECM Stabilizer (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                      'scanRadarStrengthBonus', module.getModifiedItemAttr('ecmStrengthBonusPercent'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect4814(BaseEffect):\r\n    \"\"\"\r\n    jumpPortalConsumptionBonusPercentSkill\r\n\r\n    Used by:\r\n    Skill: Jump Portal Generation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'consumptionQuantity',\r\n                                      skill.getModifiedItemAttr('consumptionQuantityBonusPercent') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect4817(BaseEffect):\r\n    \"\"\"\r\n    salvagerModuleDurationReduction\r\n\r\n    Used by:\r\n    Implants named like: Electronics Booster (15 of 15)\r\n    Implant: Poteque 'Prospector' Environmental Analysis EY-1005\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Salvager',\r\n                                      'duration', implant.getModifiedItemAttr('durationBonus'), **kwargs)\r\n\r\n\r\nclass Effect4820(BaseEffect):\r\n    \"\"\"\r\n    bcLargeEnergyTurretPowerNeedBonus\r\n\r\n    Used by:\r\n    Ship: Oracle\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                         'power', ship.getModifiedItemAttr('bcLargeTurretPower'), **kwargs)\r\n\r\n\r\nclass Effect4821(BaseEffect):\r\n    \"\"\"\r\n    bcLargeHybridTurretPowerNeedBonus\r\n\r\n    Used by:\r\n    Ship: Naga\r\n    Ship: Talos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                         'power', ship.getModifiedItemAttr('bcLargeTurretPower'), **kwargs)\r\n\r\n\r\nclass Effect4822(BaseEffect):\r\n    \"\"\"\r\n    bcLargeProjectileTurretPowerNeedBonus\r\n\r\n    Used by:\r\n    Ship: Tornado\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                         'power', ship.getModifiedItemAttr('bcLargeTurretPower'), **kwargs)\r\n\r\n\r\nclass Effect4823(BaseEffect):\r\n    \"\"\"\r\n    bcLargeEnergyTurretCPUNeedBonus\r\n\r\n    Used by:\r\n    Ship: Oracle\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                         'cpu', ship.getModifiedItemAttr('bcLargeTurretCPU'), **kwargs)\r\n\r\n\r\nclass Effect4824(BaseEffect):\r\n    \"\"\"\r\n    bcLargeHybridTurretCPUNeedBonus\r\n\r\n    Used by:\r\n    Ship: Naga\r\n    Ship: Talos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                         'cpu', ship.getModifiedItemAttr('bcLargeTurretCPU'), **kwargs)\r\n\r\n\r\nclass Effect4825(BaseEffect):\r\n    \"\"\"\r\n    bcLargeProjectileTurretCPUNeedBonus\r\n\r\n    Used by:\r\n    Ship: Tornado\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                         'cpu', ship.getModifiedItemAttr('bcLargeTurretCPU'), **kwargs)\r\n\r\n\r\nclass Effect4826(BaseEffect):\r\n    \"\"\"\r\n    bcLargeEnergyTurretCapacitorNeedBonus\r\n\r\n    Used by:\r\n    Ship: Oracle\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                         'capacitorNeed', ship.getModifiedItemAttr('bcLargeTurretCap'), **kwargs)\r\n\r\n\r\nclass Effect4827(BaseEffect):\r\n    \"\"\"\r\n    bcLargeHybridTurretCapacitorNeedBonus\r\n\r\n    Used by:\r\n    Ship: Naga\r\n    Ship: Talos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                         'capacitorNeed', ship.getModifiedItemAttr('bcLargeTurretCap'), **kwargs)\r\n\r\n\r\nclass Effect4867(BaseEffect):\r\n    \"\"\"\r\n    setBonusChristmasPowergrid\r\n\r\n    Used by:\r\n    Implants named like: Genolution Core Augmentation CA (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',\r\n                                                 'powerEngineeringOutputBonus',\r\n                                                 implant.getModifiedItemAttr('implantSetChristmas'), **kwargs)\r\n\r\n\r\nclass Effect4868(BaseEffect):\r\n    \"\"\"\r\n    setBonusChristmasCapacitorCapacity\r\n\r\n    Used by:\r\n    Implants named like: Genolution Core Augmentation CA (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',\r\n                                                 'capacitorCapacityBonus',\r\n                                                 implant.getModifiedItemAttr('implantSetChristmas'), **kwargs)\r\n\r\n\r\nclass Effect4869(BaseEffect):\r\n    \"\"\"\r\n    setBonusChristmasCPUOutput\r\n\r\n    Used by:\r\n    Implants named like: Genolution Core Augmentation CA (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',\r\n                                                 'cpuOutputBonus2', implant.getModifiedItemAttr('implantSetChristmas'), **kwargs)\r\n\r\n\r\nclass Effect4871(BaseEffect):\r\n    \"\"\"\r\n    setBonusChristmasCapacitorRecharge2\r\n\r\n    Used by:\r\n    Implants named like: Genolution Core Augmentation CA (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',\r\n                                                 'capRechargeBonus', implant.getModifiedItemAttr('implantSetChristmas'), **kwargs)\r\n\r\n\r\nclass Effect4896(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneHitpointsGF2\r\n\r\n    Used by:\r\n    Ship: Ishkur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'hp', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect4897(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneArmorHitpointsGF2\r\n\r\n    Used by:\r\n    Ship: Ishkur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'armorHP', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect4898(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneShieldHitpointsGF2\r\n\r\n    Used by:\r\n    Ship: Ishkur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'shieldCapacity', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect4901(BaseEffect):\r\n    \"\"\"\r\n    shipMissileSpeedBonusAF\r\n\r\n    Used by:\r\n    Ship: Vengeance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect4902(BaseEffect):\r\n    \"\"\"\r\n    MWDSignatureRadiusRoleBonus\r\n\r\n    Used by:\r\n    Ships from group: Assault Frigate (10 of 15)\r\n    Ships from group: Command Destroyer (6 of 6)\r\n    Ships from group: Heavy Assault Cruiser (9 of 14)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),\r\n                                      'signatureRadiusBonus', ship.getModifiedItemAttr('MWDSignatureRadiusBonus'), **kwargs)\r\n\r\n\r\nclass Effect4906(BaseEffect):\r\n    \"\"\"\r\n    systemDamageFighters\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemMultiply(lambda drone: drone.item.requiresSkill('Fighters'),\r\n                                          'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),\r\n                                          stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4911(BaseEffect):\r\n    \"\"\"\r\n    modifyShieldRechargeRatePassive\r\n\r\n    Used by:\r\n    Modules named like: Processor Overclocking Unit (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('shieldRechargeRate', module.getModifiedItemAttr('shieldRechargeRateMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4921(BaseEffect):\r\n    \"\"\"\r\n    microJumpDrive\r\n\r\n    Used by:\r\n    Modules named like: Micro Jump Drive (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonusPercent'), **kwargs)\r\n\r\n\r\nclass Effect4923(BaseEffect):\r\n    \"\"\"\r\n    skillMJDdurationBonus\r\n\r\n    Used by:\r\n    Skill: Micro Jump Drive Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Micro Jump Drive Operation'),\r\n                                      'duration', skill.getModifiedItemAttr('durationBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect4928(BaseEffect):\r\n    \"\"\"\r\n    adaptiveArmorHardener\r\n\r\n    Used by:\r\n    Modules from group: Armor Resistance Shift Hardener (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        # pyfalog = Logger(__name__)\r\n\r\n        damagePattern = module.rahPatternOverride if module.rahPatternOverride is not None else fit.damagePattern\r\n        # pyfalog.debug('==============================')\r\n\r\n        if damagePattern == 'disable':\r\n            for attr in ('armorEmDamageResonance', 'armorThermalDamageResonance', 'armorKineticDamageResonance', 'armorExplosiveDamageResonance'):\r\n                fit.ship.multiplyItemAttr(attr, module.getModifiedItemAttr(attr), stackingPenalties=True, penaltyGroup='preMul')\r\n            return\r\n\r\n        # Skip if there is no damage pattern. Example: projected ships or fleet boosters\r\n        if damagePattern:\r\n\r\n            # Populate a tuple with the damage profile modified by current armor resists.\r\n            baseDamageTaken = (\r\n                damagePattern.emAmount * fit.ship.getModifiedItemAttr('armorEmDamageResonance'),\r\n                damagePattern.thermalAmount * fit.ship.getModifiedItemAttr('armorThermalDamageResonance'),\r\n                damagePattern.kineticAmount * fit.ship.getModifiedItemAttr('armorKineticDamageResonance'),\r\n                damagePattern.explosiveAmount * fit.ship.getModifiedItemAttr('armorExplosiveDamageResonance'),\r\n            )\r\n            # pyfalog.debug('Damage Adjusted for Armor Resists: %f/%f/%f/%f' % (baseDamageTaken[0], baseDamageTaken[1], baseDamageTaken[2], baseDamageTaken[3]))\r\n\r\n            resistanceShiftAmount = module.getModifiedItemAttr(\r\n                'resistanceShiftAmount') / 100  # The attribute is in percent and we want a fraction\r\n            RAHResistance = [\r\n                module.getModifiedItemAttr('armorEmDamageResonance'),\r\n                module.getModifiedItemAttr('armorThermalDamageResonance'),\r\n                module.getModifiedItemAttr('armorKineticDamageResonance'),\r\n                module.getModifiedItemAttr('armorExplosiveDamageResonance'),\r\n            ]\r\n\r\n            # Simulate RAH cycles until the RAH either stops changing or enters a loop.\r\n            # The number of iterations is limited to prevent an infinite loop if something goes wrong.\r\n            cycleList = []\r\n            loopStart = -20\r\n            for num in range(50):\r\n                # pyfalog.debug('Starting cycle %d.' % num)\r\n                # The strange order is to emulate the ingame sorting when different types have taken the same amount of damage.\r\n                # This doesn't take into account stacking penalties. In a few cases fitting a Damage Control causes an inaccurate result.\r\n                damagePattern_tuples = [\r\n                    (0, baseDamageTaken[0] * RAHResistance[0], RAHResistance[0]),\r\n                    (3, baseDamageTaken[3] * RAHResistance[3], RAHResistance[3]),\r\n                    (2, baseDamageTaken[2] * RAHResistance[2], RAHResistance[2]),\r\n                    (1, baseDamageTaken[1] * RAHResistance[1], RAHResistance[1]),\r\n                ]\r\n\r\n                # Sort the tuple to drop the highest damage value to the bottom\r\n                sortedDamagePattern_tuples = sorted(damagePattern_tuples, key=lambda damagePattern: damagePattern[1])\r\n\r\n                if sortedDamagePattern_tuples[2][1] == 0:\r\n                    # One damage type: the top damage type takes from the other three\r\n                    # Since the resistances not taking damage will end up going to the type taking damage we just do the whole thing at once.\r\n                    change0 = 1 - sortedDamagePattern_tuples[0][2]\r\n                    change1 = 1 - sortedDamagePattern_tuples[1][2]\r\n                    change2 = 1 - sortedDamagePattern_tuples[2][2]\r\n                    change3 = -(change0 + change1 + change2)\r\n                elif sortedDamagePattern_tuples[1][1] == 0:\r\n                    # Two damage types: the top two damage types take from the other two\r\n                    # Since the resistances not taking damage will end up going equally to the types taking damage we just do the whole thing at once.\r\n                    change0 = 1 - sortedDamagePattern_tuples[0][2]\r\n                    change1 = 1 - sortedDamagePattern_tuples[1][2]\r\n                    change2 = -(change0 + change1) / 2\r\n                    change3 = -(change0 + change1) / 2\r\n                else:\r\n                    # Three or four damage types: the top two damage types take from the other two\r\n                    change0 = min(resistanceShiftAmount, 1 - sortedDamagePattern_tuples[0][2])\r\n                    change1 = min(resistanceShiftAmount, 1 - sortedDamagePattern_tuples[1][2])\r\n                    change2 = -(change0 + change1) / 2\r\n                    change3 = -(change0 + change1) / 2\r\n\r\n                RAHResistance[sortedDamagePattern_tuples[0][0]] = sortedDamagePattern_tuples[0][2] + change0\r\n                RAHResistance[sortedDamagePattern_tuples[1][0]] = sortedDamagePattern_tuples[1][2] + change1\r\n                RAHResistance[sortedDamagePattern_tuples[2][0]] = sortedDamagePattern_tuples[2][2] + change2\r\n                RAHResistance[sortedDamagePattern_tuples[3][0]] = sortedDamagePattern_tuples[3][2] + change3\r\n                # pyfalog.debug('Resistances shifted to %f/%f/%f/%f' % ( RAHResistance[0], RAHResistance[1], RAHResistance[2], RAHResistance[3]))\r\n\r\n                # See if the current RAH profile has been encountered before, indicating a loop.\r\n                for i, val in enumerate(cycleList):\r\n                    tolerance = 1e-06\r\n                    if abs(RAHResistance[0] - val[0]) <= tolerance and \\\r\n                                abs(RAHResistance[1] - val[1]) <= tolerance and \\\r\n                                abs(RAHResistance[2] - val[2]) <= tolerance and \\\r\n                                abs(RAHResistance[3] - val[3]) <= tolerance:\r\n                        loopStart = i\r\n                        # pyfalog.debug('Loop found: %d-%d' % (loopStart, num))\r\n                        break\r\n                if loopStart >= 0:\r\n                    break\r\n\r\n                cycleList.append(list(RAHResistance))\r\n\r\n            # if loopStart < 0:\r\n                # pyfalog.error('Reactive Armor Hardener failed to find equilibrium. Damage profile after armor: {0}/{1}/{2}/{3}'.format(\r\n                #             baseDamageTaken[0], baseDamageTaken[1], baseDamageTaken[2], baseDamageTaken[3]))\r\n\r\n            # Average the profiles in the RAH loop, or the last 20 if it didn't find a loop.\r\n            loopCycles = cycleList[loopStart:]\r\n            numCycles = len(loopCycles)\r\n            average = [0, 0, 0, 0]\r\n            for cycle in loopCycles:\r\n                for i in range(4):\r\n                    average[i] += cycle[i]\r\n\r\n            for i in range(4):\r\n                average[i] = round(average[i] / numCycles, 3)\r\n\r\n            # Set the new resistances\r\n            # pyfalog.debug('Setting new resist profile: %f/%f/%f/%f' % ( average[0], average[1], average[2],average[3]))\r\n            for i, attr in enumerate((\r\n                    'armorEmDamageResonance', 'armorThermalDamageResonance', 'armorKineticDamageResonance',\r\n                    'armorExplosiveDamageResonance')):\r\n                module.increaseItemAttr(attr, average[i] - module.getModifiedItemAttr(attr))\r\n                fit.ship.multiplyItemAttr(attr, average[i], stackingPenalties=True, penaltyGroup='preMul', **kwargs)\r\n\r\n\r\nclass Effect4934(BaseEffect):\r\n    \"\"\"\r\n    shipArmorRepairingGF2\r\n\r\n    Used by:\r\n    Ship: Incursus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', ship.getModifiedItemAttr('shipBonusGF2'),\r\n                                      skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect4936(BaseEffect):\r\n    \"\"\"\r\n    fueledShieldBoosting\r\n\r\n    Used by:\r\n    Modules from group: Ancillary Shield Booster (14 of 14)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        amount = module.getModifiedItemAttr('shieldBonus')\r\n        speed = module.getModifiedItemAttr('duration') / 1000.0\r\n        fit.extraAttributes.increase('shieldRepair', amount / speed, **kwargs)\r\n\r\n\r\nclass Effect4941(BaseEffect):\r\n    \"\"\"\r\n    shipHybridDamageBonusCF2\r\n\r\n    Used by:\r\n    Ship: Griffin Navy Issue\r\n    Ship: Merlin\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect4945(BaseEffect):\r\n    \"\"\"\r\n    skillTargetBreakerDurationBonus2\r\n\r\n    Used by:\r\n    Skill: Signature Masking\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Signature Suppressor',\r\n                                      'durationHighisGood', skill.getModifiedItemAttr('durationBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect4950(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldBoosterMB1a\r\n\r\n    Used by:\r\n    Ship: Maelstrom\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect4951(BaseEffect):\r\n    \"\"\"\r\n    shieldBoostAmplifierPassiveBooster\r\n\r\n    Used by:\r\n    Implants named like: Agency 'Hardshell' TB Dose (4 of 4)\r\n    Implants named like: Blue Pill Booster (5 of 5)\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implant: AIR Hardshell Booster II\r\n    Implant: Antipharmakon Thureo\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Operation') or mod.item.requiresSkill('Capital Shield Operation'),\r\n            'shieldBonus', container.getModifiedItemAttr('shieldBoostMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect4961(BaseEffect):\r\n    \"\"\"\r\n    systemShieldRepairAmountShieldSkills\r\n\r\n    Used by:\r\n    Celestials named like: Class Cataclysmic Variable Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Shield Operation') or\r\n                                                     mod.item.requiresSkill('Capital Shield Operation'),\r\n                                         'shieldBonus', module.getModifiedItemAttr('shieldBonusMultiplier'),\r\n                                         stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect4967(BaseEffect):\r\n    \"\"\"\r\n    shieldBoosterDurationBonusShieldSkills\r\n\r\n    Used by:\r\n    Modules named like: Core Defense Operational Solidifier (8 of 8)\r\n    Implant: AIR Repairer Booster III\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Operation') or mod.item.requiresSkill('Capital Shield Operation'),\r\n            'duration', module.getModifiedItemAttr('durationSkillBonus'), **kwargs)\r\n\r\n\r\nclass Effect4970(BaseEffect):\r\n    \"\"\"\r\n    boosterShieldBoostAmountPenaltyShieldSkills\r\n\r\n    Used by:\r\n    Implants named like: Crash Booster (3 of 4)\r\n    Implants named like: Frentix Booster (3 of 4)\r\n    Implants named like: Mindflood Booster (3 of 4)\r\n    \"\"\"\r\n\r\n    attr = 'boosterShieldBoostAmountPenalty'\r\n    displayName = 'Shield Boost'\r\n    type = 'boosterSideEffect'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation') or mod.item.requiresSkill('Capital Shield Operation'),\r\n                                      'shieldBonus', src.getModifiedItemAttr('boosterShieldBoostAmountPenalty'), **kwargs)\r\n\r\n\r\nclass Effect4972(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusAssaultShipLightMissileROF\r\n\r\n    Used by:\r\n    Ship: Cambion\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Light',\r\n                                      'speed', ship.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect4973(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusAssaultShipRocketROF\r\n\r\n    Used by:\r\n    Ship: Cambion\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rocket',\r\n                                      'speed', ship.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect4974(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusMarauderShieldBonus2a\r\n\r\n    Used by:\r\n    Ship: Golem\r\n    Ship: Vargur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('eliteBonusViolators2'), skill='Marauders', **kwargs)\r\n\r\n\r\nclass Effect4975(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMissileKineticlATF2\r\n\r\n    Used by:\r\n    Ship: Cambion\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusATF2'), **kwargs)\r\n\r\n\r\nclass Effect4976(BaseEffect):\r\n    \"\"\"\r\n    skillReactiveArmorHardenerDurationBonus\r\n\r\n    Used by:\r\n    Skill: Resistance Phasing\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Resistance Shift Hardener', 'duration',\r\n                                      src.getModifiedItemAttr('durationBonus') * lvl, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Resistance Phasing'), 'duration',\r\n                                      src.getModifiedItemAttr('durationBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect4989(BaseEffect):\r\n    \"\"\"\r\n    missileSkillAoeCloudSizeBonusAllIncludingCapitals\r\n\r\n    Used by:\r\n    Implants named like: Crash Booster (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'aoeCloudSize', implant.getModifiedItemAttr('aoeCloudSizeBonus'), **kwargs)\r\n\r\n\r\nclass Effect4990(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyTCapNeedBonusRookie\r\n\r\n    Used by:\r\n    Ship: Hematos\r\n    Ship: Impairor\r\n    Ship: Succubus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('rookieSETCapBonus'), **kwargs)\r\n\r\n\r\nclass Effect4991(BaseEffect):\r\n    \"\"\"\r\n    shipSETDmgBonusRookie\r\n\r\n    Used by:\r\n    Ship: Hematos\r\n    Ship: Immolator\r\n    Ship: Impairor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('rookieSETDamageBonus'), **kwargs)\r\n\r\n\r\nclass Effect4994(BaseEffect):\r\n    \"\"\"\r\n    shipArmorEMResistanceRookie\r\n\r\n    Used by:\r\n    Ship: Devoter\r\n    Ship: Gold Magnate\r\n    Ship: Impairor\r\n    Ship: Phobos\r\n    Ship: Silver Magnate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('rookieArmorResistanceBonus'), **kwargs)\r\n\r\n\r\nclass Effect4995(BaseEffect):\r\n    \"\"\"\r\n    shipArmorEXResistanceRookie\r\n\r\n    Used by:\r\n    Ship: Devoter\r\n    Ship: Gold Magnate\r\n    Ship: Impairor\r\n    Ship: Phobos\r\n    Ship: Silver Magnate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('rookieArmorResistanceBonus'), **kwargs)\r\n\r\n\r\nclass Effect4996(BaseEffect):\r\n    \"\"\"\r\n    shipArmorKNResistanceRookie\r\n\r\n    Used by:\r\n    Ship: Devoter\r\n    Ship: Gold Magnate\r\n    Ship: Impairor\r\n    Ship: Phobos\r\n    Ship: Silver Magnate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('rookieArmorResistanceBonus'), **kwargs)\r\n\r\n\r\nclass Effect4997(BaseEffect):\r\n    \"\"\"\r\n    shipArmorTHResistanceRookie\r\n\r\n    Used by:\r\n    Ship: Devoter\r\n    Ship: Gold Magnate\r\n    Ship: Impairor\r\n    Ship: Phobos\r\n    Ship: Silver Magnate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('rookieArmorResistanceBonus'), **kwargs)\r\n\r\n\r\nclass Effect4999(BaseEffect):\r\n    \"\"\"\r\n    shipHybridRangeBonusRookie\r\n\r\n    Used by:\r\n    Ship: Ibis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('rookieSHTOptimalBonus'), **kwargs)\r\n\r\n\r\nclass Effect5000(BaseEffect):\r\n    \"\"\"\r\n    shipMissileKineticDamageRookie\r\n\r\n    Used by:\r\n    Ship: Ibis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('rookieMissileKinDamageBonus'), **kwargs)\r\n\r\n\r\nclass Effect5008(BaseEffect):\r\n    \"\"\"\r\n    shipShieldEMResistanceRookie\r\n\r\n    Used by:\r\n    Ships from group: Heavy Interdiction Cruiser (4 of 6)\r\n    Ship: Ibis\r\n    Ship: Taipan\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', ship.getModifiedItemAttr('rookieShieldResistBonus'), **kwargs)\r\n\r\n\r\nclass Effect5009(BaseEffect):\r\n    \"\"\"\r\n    shipShieldExplosiveResistanceRookie\r\n\r\n    Used by:\r\n    Ships from group: Heavy Interdiction Cruiser (4 of 6)\r\n    Ship: Ibis\r\n    Ship: Taipan\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', ship.getModifiedItemAttr('rookieShieldResistBonus'), **kwargs)\r\n\r\n\r\nclass Effect5011(BaseEffect):\r\n    \"\"\"\r\n    shipShieldKineticResistanceRookie\r\n\r\n    Used by:\r\n    Ships from group: Heavy Interdiction Cruiser (4 of 6)\r\n    Ship: Ibis\r\n    Ship: Taipan\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', ship.getModifiedItemAttr('rookieShieldResistBonus'), **kwargs)\r\n\r\n\r\nclass Effect5012(BaseEffect):\r\n    \"\"\"\r\n    shipShieldThermalResistanceRookie\r\n\r\n    Used by:\r\n    Ships from group: Heavy Interdiction Cruiser (4 of 6)\r\n    Ship: Ibis\r\n    Ship: Taipan\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', ship.getModifiedItemAttr('rookieShieldResistBonus'), **kwargs)\r\n\r\n\r\nclass Effect5013(BaseEffect):\r\n    \"\"\"\r\n    shipSHTDmgBonusRookie\r\n\r\n    Used by:\r\n    Ship: Velator\r\n    Ship: Violator\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('rookieSHTDamageBonus'), **kwargs)\r\n\r\n\r\nclass Effect5014(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneDamageMultiplierRookie\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    Ship: Praxis\r\n    Ship: Sunesis\r\n    Ship: Taipan\r\n    Ship: Velator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('rookieDroneBonus'), **kwargs)\r\n\r\n\r\nclass Effect5015(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEwRemoteSensorDampenerMaxTargetRangeBonusRookie\r\n\r\n    Used by:\r\n    Ship: Velator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',\r\n                                      'maxTargetRangeBonus', ship.getModifiedItemAttr('rookieDampStrengthBonus'), **kwargs)\r\n\r\n\r\nclass Effect5016(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEwRemoteSensorDampenerScanResolutionBonusRookie\r\n\r\n    Used by:\r\n    Ship: Velator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',\r\n                                      'scanResolutionBonus', ship.getModifiedItemAttr('rookieDampStrengthBonus'), **kwargs)\r\n\r\n\r\nclass Effect5017(BaseEffect):\r\n    \"\"\"\r\n    shipArmorRepairingRookie\r\n\r\n    Used by:\r\n    Ship: Velator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', ship.getModifiedItemAttr('rookieArmorRepBonus'), **kwargs)\r\n\r\n\r\nclass Effect5018(BaseEffect):\r\n    \"\"\"\r\n    shipVelocityBonusRookie\r\n\r\n    Used by:\r\n    Ship: Reaper\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('rookieShipVelocityBonus'), **kwargs)\r\n\r\n\r\nclass Effect5019(BaseEffect):\r\n    \"\"\"\r\n    minmatarShipEwTargetPainterRookie\r\n\r\n    Used by:\r\n    Ship: Reaper\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',\r\n                                      'signatureRadiusBonus', ship.getModifiedItemAttr('rookieTargetPainterStrengthBonus'), **kwargs)\r\n\r\n\r\nclass Effect5020(BaseEffect):\r\n    \"\"\"\r\n    shipSPTDmgBonusRookie\r\n\r\n    Used by:\r\n    Ship: Echo\r\n    Ship: Reaper\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('rookieSPTDamageBonus'), **kwargs)\r\n\r\n\r\nclass Effect5021(BaseEffect):\r\n    \"\"\"\r\n    shipShieldBoostRookie\r\n\r\n    Used by:\r\n    Ship: Immolator\r\n    Ship: Reaper\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('rookieShieldBoostBonus'), **kwargs)\r\n\r\n\r\nclass Effect5028(BaseEffect):\r\n    \"\"\"\r\n    shipECMScanStrengthBonusRookie\r\n\r\n    Used by:\r\n    Ship: Ibis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for type in ('Gravimetric', 'Ladar', 'Radar', 'Magnetometric'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',\r\n                                          'scan{0}StrengthBonus'.format(type),\r\n                                          ship.getModifiedItemAttr('rookieECMStrengthBonus'), **kwargs)\r\n\r\n\r\nclass Effect5030(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMiningDroneAmountPercentRookie\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    Ship: Praxis\r\n    Ship: Taipan\r\n    Ship: Velator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'),\r\n                                     'miningAmount', container.getModifiedItemAttr('rookieDroneBonus'), **kwargs)\r\n\r\n\r\nclass Effect5035(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneHitpointsRookie\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    Ship: Praxis\r\n    Ship: Sunesis\r\n    Ship: Taipan\r\n    Ship: Velator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for type in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                         type, ship.getModifiedItemAttr('rookieDroneBonus'), **kwargs)\r\n\r\n\r\nclass Effect5036(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSalvageCycleAF\r\n\r\n    Used by:\r\n    Ship: Magnate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Salvaging'),\r\n                                      'duration', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect5045(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSalvageCycleCF\r\n\r\n    Used by:\r\n    Ship: Heron\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Salvaging'),\r\n                                      'duration', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect5048(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSalvageCycleGF\r\n\r\n    Used by:\r\n    Ship: Imicus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Salvaging'),\r\n                                      'duration', ship.getModifiedItemAttr('shipBonusGF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect5051(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSalvageCycleMF\r\n\r\n    Used by:\r\n    Ship: Probe\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Salvaging'),\r\n                                      'duration', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect5058(BaseEffect):\r\n    \"\"\"\r\n    miningYieldMultiplyPassive\r\n\r\n    Used by:\r\n    Ships named like: Venture (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Mining'),\r\n                                         'miningAmount', module.getModifiedItemAttr('miningAmountMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect5066(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTargetPainterOptimalMF1\r\n\r\n    Used by:\r\n    Ship: Hyena\r\n    Ship: Vigil\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Target Painting'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect5067(BaseEffect):\r\n    \"\"\"\r\n    miningBargeBonusGeneralMiningHoldCapacity\r\n\r\n    Used by:\r\n    Variations of ship: Retriever (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'generalMiningHoldCapacity', ship.getModifiedItemAttr('miningBargeBonusGeneralMiningHoldCapacity'),\r\n            skill='Mining Barge', **kwargs)\r\n\r\n\r\nclass Effect5068(BaseEffect):\r\n    \"\"\"\r\n    miningBargeBonusShieldCapacity\r\n\r\n    Used by:\r\n    Variations of ship: Procurer (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldCapacity', ship.getModifiedItemAttr('miningBargeBonusShieldCapacity'), skill='Mining Barge', **kwargs)\r\n\r\n\r\nclass Effect5069(BaseEffect):\r\n    \"\"\"\r\n    deepcoreMiningBonus\r\n\r\n    Used by:\r\n    Module: Medium Deep Core Mining Optimization I\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Mercoxit Ore Processing'),\r\n            'specializationAsteroidYieldMultiplier',\r\n            module.getModifiedItemAttr('miningAmountBonus'), **kwargs)\r\n\r\n\r\nclass Effect5079(BaseEffect):\r\n    \"\"\"\r\n    shipMissileKineticDamageCF2\r\n\r\n    Used by:\r\n    Ship: Garmur\r\n    Ship: Raiju\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect5080(BaseEffect):\r\n    \"\"\"\r\n    shipMissileVelocityCF\r\n\r\n    Used by:\r\n    Ship: Caldari Navy Hookbill\r\n    Ship: Crow\r\n    Ship: Kestrel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect5081(BaseEffect):\r\n    \"\"\"\r\n    maxTargetingRangeBonusPostPercentPassive\r\n\r\n    Used by:\r\n    Modules named like: Ionic Field Projector (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect5087(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneHitpointsGF\r\n\r\n    Used by:\r\n    Ship: Astero\r\n    Ship: Imicus Navy Issue\r\n    Ship: Maulus Navy Issue\r\n    Ship: Tristan\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for layer in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                         layer, ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect5090(BaseEffect):\r\n    \"\"\"\r\n    shipShieldBoostMF\r\n\r\n    Used by:\r\n    Ship: Breacher\r\n    Ship: Geri\r\n    Ship: Jaguar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect5103(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldTransferCapNeedCF\r\n\r\n    Used by:\r\n    Variations of ship: Bantam (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect5104(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldTransferBoostAmountCF2\r\n\r\n    Used by:\r\n    Variations of ship: Bantam (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect5105(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldTransferCapNeedMF\r\n\r\n    Used by:\r\n    Variations of ship: Burst (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect5106(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldTransferBoostAmountMF2\r\n\r\n    Used by:\r\n    Variations of ship: Burst (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect5107(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteArmorRepairCapNeedGF\r\n\r\n    Used by:\r\n    Variations of ship: Navitas (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect5108(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteArmorRepairAmountGF2\r\n\r\n    Used by:\r\n    Variations of ship: Navitas (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'armorDamageAmount', src.getModifiedItemAttr('shipBonusGF2'),\r\n                                      skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect5109(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteArmorRepairCapNeedAF\r\n\r\n    Used by:\r\n    Ship: Deacon\r\n    Ship: Inquisitor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect5110(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteArmorRepairAmount2AF\r\n\r\n    Used by:\r\n    Ship: Deacon\r\n    Ship: Inquisitor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'armorDamageAmount', src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect5111(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneTrackingGF\r\n\r\n    Used by:\r\n    Ship: Imicus Navy Issue\r\n    Ship: Maulus Navy Issue\r\n    Ship: Tristan\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'trackingSpeed', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect5119(BaseEffect):\r\n    \"\"\"\r\n    shipBonusScanProbeStrength2AF\r\n\r\n    Used by:\r\n    Ship: Magnate\r\n    Ship: Magnate Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Scanner Probe',\r\n                                        'baseSensorStrength', ship.getModifiedItemAttr('shipBonus2AF'),\r\n                                        skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect5121(BaseEffect):\r\n    \"\"\"\r\n    energyTransferArrayTransferAmountBonus\r\n\r\n    Used by:\r\n    Ship: Augoror\r\n    Ship: Osprey\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',\r\n                                      'powerTransferAmount', ship.getModifiedItemAttr('energyTransferAmountBonus'), **kwargs)\r\n\r\n\r\nclass Effect5122(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldTransferCapneedMC1\r\n\r\n    Used by:\r\n    Ship: Scythe\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5123(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteArmorRepairCapNeedAC1\r\n\r\n    Used by:\r\n    Ship: Augoror\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5124(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteArmorRepairAmountAC2\r\n\r\n    Used by:\r\n    Ship: Augoror\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'armorDamageAmount', src.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5125(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteArmorRepairAmountGC2\r\n\r\n    Used by:\r\n    Ship: Exequror\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'armorDamageAmount', src.getModifiedItemAttr('shipBonusGC2'),\r\n                                      skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5126(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldTransferBoostAmountCC2\r\n\r\n    Used by:\r\n    Ship: Osprey\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5127(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldTransferBoostAmountMC2\r\n\r\n    Used by:\r\n    Ship: Scythe\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5128(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEwRemoteSensorDampenerOptimalBonusGC1\r\n\r\n    Used by:\r\n    Ship: Celestis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5129(BaseEffect):\r\n    \"\"\"\r\n    minmatarShipEwTargetPainterMC1\r\n\r\n    Used by:\r\n    Ship: Bellicose\r\n    Ship: Rapier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',\r\n                                      'signatureRadiusBonus', ship.getModifiedItemAttr('shipBonusMC'),\r\n                                      skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5131(BaseEffect):\r\n    \"\"\"\r\n    shipMissileRofCC\r\n\r\n    Used by:\r\n    Ships named like: Caracal (2 of 2)\r\n    Ship: Cobra\r\n    Ship: Enforcer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        groups = ('Missile Launcher Heavy', 'Missile Launcher Rapid Light', 'Missile Launcher Heavy Assault')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5132(BaseEffect):\r\n    \"\"\"\r\n    shipPTurretFalloffBonusMC2\r\n\r\n    Used by:\r\n    Ship: Cobra\r\n    Ship: Enforcer\r\n    Ship: Stabber\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5133(BaseEffect):\r\n    \"\"\"\r\n    shipHTDamageBonusCC\r\n\r\n    Used by:\r\n    Ship: Moa\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5136(BaseEffect):\r\n    \"\"\"\r\n    shipMETCDamageBonusAC\r\n\r\n    Used by:\r\n    Ship: Augoror Navy Issue\r\n    Ship: Cobra\r\n    Ship: Enforcer\r\n    Ship: Maller\r\n    Ship: Omen Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5139(BaseEffect):\r\n    \"\"\"\r\n    miningFrigateBonusOreMiningYield\r\n\r\n    Used by:\r\n    Variations of ship: Venture (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'),\r\n                                      'miningAmount', module.getModifiedItemAttr('miningFrigatesBonusOreMiningYield'),\r\n                                      skill='Mining Frigate', **kwargs)\r\n\r\n\r\nclass Effect5153(BaseEffect):\r\n    \"\"\"\r\n    shipMissileVelocityPirateFactionRocket\r\n\r\n    Used by:\r\n    Ship: Corax\r\n    Ship: Talwar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5162(BaseEffect):\r\n    \"\"\"\r\n    skillReactiveArmorHardenerCapNeedBonus\r\n\r\n    Used by:\r\n    Skill: Resistance Phasing\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Resistance Shift Hardener', 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('capNeedBonus') * lvl, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Resistance Phasing'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('capNeedBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect5165(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneMWDboostrole\r\n\r\n    Used by:\r\n    Ship: Algos\r\n    Ship: Dragoon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'maxVelocity', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5168(BaseEffect):\r\n    \"\"\"\r\n    droneSalvageBonus\r\n\r\n    Used by:\r\n    Skill: Salvage Drone Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemIncrease(\r\n            lambda drone: drone.item.requiresSkill('Salvage Drone Operation'), 'accessDifficultyBonus',\r\n            container.getModifiedItemAttr('accessDifficultyBonus') * container.level, **kwargs)\r\n\r\n\r\nclass Effect5180(BaseEffect):\r\n    \"\"\"\r\n    sensorCompensationSensorStrengthBonusGravimetric\r\n\r\n    Used by:\r\n    Skill: Gravimetric Sensor Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanGravimetricStrength',\r\n                               container.getModifiedItemAttr('sensorStrengthBonus') * container.level, **kwargs)\r\n\r\n\r\nclass Effect5181(BaseEffect):\r\n    \"\"\"\r\n    sensorCompensationSensorStrengthBonusLadar\r\n\r\n    Used by:\r\n    Skill: Ladar Sensor Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanLadarStrength', container.getModifiedItemAttr('sensorStrengthBonus') * container.level, **kwargs)\r\n\r\n\r\nclass Effect5182(BaseEffect):\r\n    \"\"\"\r\n    sensorCompensationSensorStrengthBonusMagnetometric\r\n\r\n    Used by:\r\n    Skill: Magnetometric Sensor Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanMagnetometricStrength',\r\n                               container.getModifiedItemAttr('sensorStrengthBonus') * container.level, **kwargs)\r\n\r\n\r\nclass Effect5183(BaseEffect):\r\n    \"\"\"\r\n    sensorCompensationSensorStrengthBonusRadar\r\n\r\n    Used by:\r\n    Skill: Radar Sensor Compensation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanRadarStrength', container.getModifiedItemAttr('sensorStrengthBonus') * container.level, **kwargs)\r\n\r\n\r\nclass Effect5185(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyVampireAmountBonusFixedAF2\r\n\r\n    Used by:\r\n    Ship: Malice\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                      'powerTransferAmount', ship.getModifiedItemAttr('shipBonus2AF'),\r\n                                      skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect5187(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEwRemoteSensorDampenerFalloffBonusGC1\r\n\r\n    Used by:\r\n    Ship: Celestis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',\r\n                                      'falloffEffectiveness', ship.getModifiedItemAttr('shipBonusGC'),\r\n                                      skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5188(BaseEffect):\r\n    \"\"\"\r\n    trackingSpeedBonusEffectHybrids\r\n\r\n    Used by:\r\n    Implants named like: Federation Application Booster (4 of 4)\r\n    Implants named like: State Application Booster (4 of 4)\r\n    Modules named like: Hybrid Metastasis Adjuster (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        penalize = 'booster' not in context\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',\r\n                                      'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),\r\n                                      stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect5189(BaseEffect):\r\n    \"\"\"\r\n    trackingSpeedBonusEffectLasers\r\n\r\n    Used by:\r\n    Implants named like: Imperial Application Booster (4 of 4)\r\n    Modules named like: Energy Metastasis Adjuster (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        penalties = 'booster' not in context\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',\r\n                                      'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),\r\n                                      stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect5190(BaseEffect):\r\n    \"\"\"\r\n    trackingSpeedBonusEffectProjectiles\r\n\r\n    Used by:\r\n    Implants named like: Republic Application Booster (4 of 4)\r\n    Modules named like: Projectile Metastasis Adjuster (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        penalize = 'booster' not in context\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Projectile Weapon',\r\n                                      'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),\r\n                                      stackingPenalties=penalize, **kwargs)\r\n\r\n\r\nclass Effect5201(BaseEffect):\r\n    \"\"\"\r\n    armorUpgradesMassPenaltyReductionBonus\r\n\r\n    Used by:\r\n    Skills named like: Armor Layering (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Plate',\r\n                                      'massAddition', container.getModifiedItemAttr('massPenaltyReduction') * level, **kwargs)\r\n\r\n\r\nclass Effect5205(BaseEffect):\r\n    \"\"\"\r\n    shipSETTrackingBonusRookie\r\n\r\n    Used by:\r\n    Ship: Immolator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('rookieSETTracking'), **kwargs)\r\n\r\n\r\nclass Effect5206(BaseEffect):\r\n    \"\"\"\r\n    shipSETOptimalBonusRookie\r\n\r\n    Used by:\r\n    Ship: Immolator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('rookieSETOptimal'), **kwargs)\r\n\r\n\r\nclass Effect5207(BaseEffect):\r\n    \"\"\"\r\n    shipNOSTransferAmountBonusRookie\r\n\r\n    Used by:\r\n    Ship: Hematos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                      'powerTransferAmount', ship.getModifiedItemAttr('rookieNosDrain'), **kwargs)\r\n\r\n\r\nclass Effect5208(BaseEffect):\r\n    \"\"\"\r\n    shipNeutDestabilizationAmountBonusRookie\r\n\r\n    Used by:\r\n    Ship: Hematos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',\r\n                                      'energyNeutralizerAmount', ship.getModifiedItemAttr('rookieNeutDrain'), **kwargs)\r\n\r\n\r\nclass Effect5209(BaseEffect):\r\n    \"\"\"\r\n    shipWebVelocityBonusRookie\r\n\r\n    Used by:\r\n    Ship: Hematos\r\n    Ship: Violator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'speedFactor', ship.getModifiedItemAttr('rookieWebAmount'), **kwargs)\r\n\r\n\r\nclass Effect5212(BaseEffect):\r\n    \"\"\"\r\n    shipDroneMWDSpeedBonusRookie\r\n\r\n    Used by:\r\n    Ship: Taipan\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: True,\r\n                                     'maxVelocity', ship.getModifiedItemAttr('rookieDroneMWDspeed'), **kwargs)\r\n\r\n\r\nclass Effect5213(BaseEffect):\r\n    \"\"\"\r\n    shipRocketMaxVelocityBonusRookie\r\n\r\n    Used by:\r\n    Ship: Taipan\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        penalties = 'ship' not in context\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Rockets'), 'maxVelocity',\r\n            ship.getModifiedItemAttr('rookieRocketVelocity'), stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect5214(BaseEffect):\r\n    \"\"\"\r\n    shipLightMissileMaxVelocityBonusRookie\r\n\r\n    Used by:\r\n    Ship: Taipan\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        penalties = 'ship' not in context\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Light Missiles'), 'maxVelocity',\r\n            ship.getModifiedItemAttr('rookieLightMissileVelocity'), stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect5215(BaseEffect):\r\n    \"\"\"\r\n    shipSHTTrackingSpeedBonusRookie\r\n\r\n    Used by:\r\n    Ship: Violator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('rookieSHTTracking'), **kwargs)\r\n\r\n\r\nclass Effect5216(BaseEffect):\r\n    \"\"\"\r\n    shipSHTFalloffBonusRookie\r\n\r\n    Used by:\r\n    Ship: Violator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('rookieSHTFalloff'), **kwargs)\r\n\r\n\r\nclass Effect5217(BaseEffect):\r\n    \"\"\"\r\n    shipSPTTrackingSpeedBonusRookie\r\n\r\n    Used by:\r\n    Ship: Echo\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('rookieSPTTracking'), **kwargs)\r\n\r\n\r\nclass Effect5218(BaseEffect):\r\n    \"\"\"\r\n    shipSPTFalloffBonusRookie\r\n\r\n    Used by:\r\n    Ship: Echo\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('rookieSPTFalloff'), **kwargs)\r\n\r\n\r\nclass Effect5219(BaseEffect):\r\n    \"\"\"\r\n    shipSPTOptimalRangeBonusRookie\r\n\r\n    Used by:\r\n    Ship: Echo\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('rookieSPTOptimal'), **kwargs)\r\n\r\n\r\nclass Effect5220(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileDmgPirateCruiser\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5221(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyAssaultMissileEMDmgPirateCruiser\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'emDamage', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5222(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyAssaultMissileKinDmgPirateCruiser\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5223(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyAssaultMissileThermDmgPirateCruiser\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5224(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyAssaultMissileExpDmgPirateCruiser\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5225(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyMissileEMDmgPirateCruiser\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'emDamage', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5226(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyMissileExpDmgPirateCruiser\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5227(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyMissileKinDmgPirateCruiser\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5228(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyMissileThermDmgPirateCruiser\r\n\r\n    Used by:\r\n    Ship: Gnosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5229(BaseEffect):\r\n    \"\"\"\r\n    shipScanProbeStrengthBonusPirateCruiser\r\n\r\n    Used by:\r\n    Ships named like: Stratios (2 of 2)\r\n    Ship: Astero\r\n    Ship: Gnosis\r\n    Ship: Odysseus\r\n    Ship: Praxis\r\n    Ship: Sunesis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),\r\n                                        'baseSensorStrength', container.getModifiedItemAttr('shipBonusRole8'), **kwargs)\r\n\r\n\r\nclass Effect5230(BaseEffect):\r\n    \"\"\"\r\n    modifyActiveShieldResonancePostPercent\r\n\r\n    Used by:\r\n    Modules from group: Flex Shield Hardener (5 of 5)\r\n    Modules from group: Shield Hardener (103 of 103)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for damageType in ('kinetic', 'thermal', 'explosive', 'em'):\r\n            fit.ship.boostItemAttr('shield' + damageType.capitalize() + 'DamageResonance',\r\n                                   module.getModifiedItemAttr(damageType + 'DamageResistanceBonus'),\r\n                                   stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect5231(BaseEffect):\r\n    \"\"\"\r\n    modifyActiveArmorResonancePostPercent\r\n\r\n    Used by:\r\n    Modules from group: Armor Hardener (148 of 148)\r\n    Modules from group: Flex Armor Hardener (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for damageType in ('kinetic', 'thermal', 'explosive', 'em'):\r\n            fit.ship.boostItemAttr('armor%sDamageResonance' % damageType.capitalize(),\r\n                                   module.getModifiedItemAttr('%sDamageResistanceBonus' % damageType),\r\n                                   stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect5234(BaseEffect):\r\n    \"\"\"\r\n    shipSmallMissileExpDmgCF2\r\n\r\n    Used by:\r\n    Ship: Caldari Navy Hookbill\r\n    Ship: Kestrel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),\r\n            'explosiveDamage', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect5237(BaseEffect):\r\n    \"\"\"\r\n    shipSmallMissileKinDmgCF2\r\n\r\n    Used by:\r\n    Ship: Kestrel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),\r\n            'kineticDamage', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect5240(BaseEffect):\r\n    \"\"\"\r\n    shipSmallMissileThermDmgCF2\r\n\r\n    Used by:\r\n    Ship: Caldari Navy Hookbill\r\n    Ship: Kestrel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),\r\n            'thermalDamage', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect5243(BaseEffect):\r\n    \"\"\"\r\n    shipSmallMissileEMDmgCF2\r\n\r\n    Used by:\r\n    Ship: Caldari Navy Hookbill\r\n    Ship: Kestrel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),\r\n            'emDamage', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect5259(BaseEffect):\r\n    \"\"\"\r\n    reconShipCloakCpuBonus1\r\n\r\n    Used by:\r\n    Ships from group: Force Recon Ship (7 of 10)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Cloaking Device',\r\n                                      'cpu', ship.getModifiedItemAttr('eliteBonusReconShip1'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect5260(BaseEffect):\r\n    \"\"\"\r\n    covertOpsCloakCpuPercentBonus1\r\n\r\n    Used by:\r\n    Ships from group: Covert Ops (6 of 9)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Cloaking'),\r\n                                      'cpu', ship.getModifiedItemAttr('eliteBonusCovertOps1'), skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect5261(BaseEffect):\r\n    \"\"\"\r\n    CovertCloakCPUAddition\r\n\r\n    Used by:\r\n    Modules named like: Covert Ops Cloaking Device II (2 of 2)\r\n    Module: Covert Cynosural Field Generator I\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.increaseItemAttr('cpu', module.getModifiedItemAttr('covertCloakCPUAdd') or 0, **kwargs)\r\n\r\n\r\nclass Effect5262(BaseEffect):\r\n    \"\"\"\r\n    covertOpsCloakCpuPenalty\r\n\r\n    Used by:\r\n    Subsystems from group: Defensive Subsystem (8 of 12)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Cloaking'),\r\n                                         'covertCloakCPUAdd', module.getModifiedItemAttr('covertCloakCPUPenalty'), **kwargs)\r\n\r\n\r\nclass Effect5263(BaseEffect):\r\n    \"\"\"\r\n    covertCynoCpuPenalty\r\n\r\n    Used by:\r\n    Subsystems from group: Defensive Subsystem (8 of 12)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Cynosural Field Theory'),\r\n                                         'covertCloakCPUAdd', module.getModifiedItemAttr('covertCloakCPUPenalty'), **kwargs)\r\n\r\n\r\nclass Effect5264(BaseEffect):\r\n    \"\"\"\r\n    warfareLinkCPUAddition\r\n\r\n    Used by:\r\n    Modules from group: Command Burst (18 of 18)\r\n    Modules from group: Gang Coordinator (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.increaseItemAttr('cpu', module.getModifiedItemAttr('warfareLinkCPUAdd') or 0, **kwargs)\r\n\r\n\r\nclass Effect5265(BaseEffect):\r\n    \"\"\"\r\n    warfareLinkCpuPenalty\r\n\r\n    Used by:\r\n    Subsystems from group: Offensive Subsystem (8 of 12)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'),\r\n                                         'warfareLinkCPUAdd', module.getModifiedItemAttr('warfareLinkCPUPenalty'), **kwargs)\r\n\r\n\r\nclass Effect5266(BaseEffect):\r\n    \"\"\"\r\n    blockadeRunnerCloakCpuPercentBonus\r\n\r\n    Used by:\r\n    Ships from group: Blockade Runner (5 of 5)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Cloaking Device',\r\n                                      'cpu', ship.getModifiedItemAttr('eliteIndustrialCovertCloakBonus'),\r\n                                      skill='Transport Ships', **kwargs)\r\n\r\n\r\nclass Effect5267(BaseEffect):\r\n    \"\"\"\r\n    drawbackRepairSystemsPGNeed\r\n\r\n    Used by:\r\n    Modules named like: Auxiliary Nano Pump (6 of 8)\r\n    Modules named like: Nanobot Accelerator (6 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'power', module.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect5268(BaseEffect):\r\n    \"\"\"\r\n    drawbackCapRepPGNeed\r\n\r\n    Used by:\r\n    Variations of module: Capital Auxiliary Nano Pump I (2 of 2)\r\n    Variations of module: Capital Nanobot Accelerator I (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'),\r\n                                      'power', module.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect5275(BaseEffect):\r\n    \"\"\"\r\n    fueledArmorRepair\r\n\r\n    Used by:\r\n    Modules from group: Ancillary Armor Repairer (12 of 12)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if module.charge and module.charge.name == 'Nanite Repair Paste':\r\n            multiplier = 3\r\n        else:\r\n            multiplier = 1\r\n\r\n        amount = module.getModifiedItemAttr('armorDamageAmount') * multiplier\r\n        speed = module.getModifiedItemAttr('duration') / 1000.0\r\n        rps = amount / speed\r\n        fit.extraAttributes.increase('armorRepair', rps, **kwargs)\r\n        fit.extraAttributes.increase('armorRepairPreSpool', rps, **kwargs)\r\n        fit.extraAttributes.increase('armorRepairFullSpool', rps, **kwargs)\r\n\r\n\r\nclass Effect5293(BaseEffect):\r\n    \"\"\"\r\n    shipLaserCapNeed2AD1\r\n\r\n    Used by:\r\n    Ship: Coercer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5294(BaseEffect):\r\n    \"\"\"\r\n    shipLaserTracking2AD2\r\n\r\n    Used by:\r\n    Ship: Coercer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusAD2'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5295(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneDamageMultiplierAD1\r\n\r\n    Used by:\r\n    Variations of ship: Dragoon (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'damageMultiplier',\r\n                                     src.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5300(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneHitpointsAD1\r\n\r\n    Used by:\r\n    Variations of ship: Dragoon (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'shieldCapacity',\r\n                                     src.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'hp',\r\n                                     src.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'armorHP',\r\n                                     src.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5303(BaseEffect):\r\n    \"\"\"\r\n    shipHybridRange1CD1\r\n\r\n    Used by:\r\n    Ship: Cormorant\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusCD1'), skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5304(BaseEffect):\r\n    \"\"\"\r\n    shipHybridTrackingCD2\r\n\r\n    Used by:\r\n    Ship: Cormorant\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusCD2'), skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5305(BaseEffect):\r\n    \"\"\"\r\n    shipBonusFrigateSizedMissileKineticDamageCD1\r\n\r\n    Used by:\r\n    Ship: Corax\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusCD1'),\r\n                                        skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5306(BaseEffect):\r\n    \"\"\"\r\n    shipRocketKineticDmgCD1\r\n\r\n    Used by:\r\n    Ship: Corax\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusCD1'),\r\n                                        skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5307(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAoeVelocityRocketsCD2\r\n\r\n    Used by:\r\n    Ship: Corax\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'aoeVelocity', ship.getModifiedItemAttr('shipBonusCD2'), skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5308(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAoeVelocityStandardMissilesCD2\r\n\r\n    Used by:\r\n    Ship: Corax\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                        'aoeVelocity', ship.getModifiedItemAttr('shipBonusCD2'), skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5309(BaseEffect):\r\n    \"\"\"\r\n    shipHybridFallOff1GD1\r\n\r\n    Used by:\r\n    Ship: Catalyst\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5310(BaseEffect):\r\n    \"\"\"\r\n    shipHybridTracking1GD2\r\n\r\n    Used by:\r\n    Ship: Algos\r\n    Ship: Catalyst\r\n    Ship: Eris\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusGD2'), skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5311(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneDamageMultiplierGD1\r\n\r\n    Used by:\r\n    Variations of ship: Algos (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'damageMultiplier',\r\n                                     src.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5316(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneHitpointsGD1\r\n\r\n    Used by:\r\n    Variations of ship: Algos (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'shieldCapacity',\r\n                                     src.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'armorHP',\r\n                                     src.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'hp',\r\n                                     src.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5317(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileDamageMD1\r\n\r\n    Used by:\r\n    Ship: Sabre\r\n    Ship: Thrasher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusMD1'),\r\n                                      skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5318(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileTracking1MD2\r\n\r\n    Used by:\r\n    Ship: Sabre\r\n    Ship: Thrasher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusMD2'), skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5319(BaseEffect):\r\n    \"\"\"\r\n    shipBonusFrigateSizedLightMissileExplosiveDamageMD1\r\n\r\n    Used by:\r\n    Ship: Talwar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('shipBonusMD1'),\r\n                                        skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5320(BaseEffect):\r\n    \"\"\"\r\n    shipRocketExplosiveDmgMD1\r\n\r\n    Used by:\r\n    Ship: Talwar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('shipBonusMD1'),\r\n                                        skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5321(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMWDSignatureRadiusMD2\r\n\r\n    Used by:\r\n    Ship: Talwar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),\r\n                                      'signatureRadiusBonus', ship.getModifiedItemAttr('shipBonusMD2'),\r\n                                      skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5322(BaseEffect):\r\n    \"\"\"\r\n    shipArmorEMResistance1ABC1\r\n\r\n    Used by:\r\n    Ship: Absolution\r\n    Ship: Damnation\r\n    Ship: Prophecy\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('shipBonusABC1'),\r\n                               skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5323(BaseEffect):\r\n    \"\"\"\r\n    shipArmorExplosiveResistance1ABC1\r\n\r\n    Used by:\r\n    Ship: Absolution\r\n    Ship: Damnation\r\n    Ship: Prophecy\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusABC1'),\r\n                               skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5324(BaseEffect):\r\n    \"\"\"\r\n    shipArmorKineticResistance1ABC1\r\n\r\n    Used by:\r\n    Ship: Absolution\r\n    Ship: Damnation\r\n    Ship: Prophecy\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('shipBonusABC1'),\r\n                               skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5325(BaseEffect):\r\n    \"\"\"\r\n    shipArmorThermResistance1ABC1\r\n\r\n    Used by:\r\n    Ship: Absolution\r\n    Ship: Damnation\r\n    Ship: Prophecy\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('shipBonusABC1'),\r\n                               skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5326(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneDamageMultiplierABC2\r\n\r\n    Used by:\r\n    Ships named like: Prophecy (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusABC2'),\r\n                                     skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5331(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneHitpointsABC2\r\n\r\n    Used by:\r\n    Ships named like: Prophecy (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for layer in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                         layer, ship.getModifiedItemAttr('shipBonusABC2'), skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5332(BaseEffect):\r\n    \"\"\"\r\n    shipLaserCapABC1\r\n\r\n    Used by:\r\n    Ship: Harbinger\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusABC1'),\r\n                                      skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5333(BaseEffect):\r\n    \"\"\"\r\n    shipLaserDamageBonusABC2\r\n\r\n    Used by:\r\n    Ships named like: Harbinger (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusABC2'),\r\n                                      skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5334(BaseEffect):\r\n    \"\"\"\r\n    shipHybridOptimal1CBC1\r\n\r\n    Used by:\r\n    Ship: Ferox\r\n    Ship: Vulture\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusCBC1'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5335(BaseEffect):\r\n    \"\"\"\r\n    shipShieldEmResistance1CBC2\r\n\r\n    Used by:\r\n    Ship: Drake\r\n    Ship: Nighthawk\r\n    Ship: Vulture\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', ship.getModifiedItemAttr('shipBonusCBC2'),\r\n                               skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5336(BaseEffect):\r\n    \"\"\"\r\n    shipShieldExplosiveResistance1CBC2\r\n\r\n    Used by:\r\n    Ship: Drake\r\n    Ship: Nighthawk\r\n    Ship: Vulture\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusCBC2'),\r\n                               skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5337(BaseEffect):\r\n    \"\"\"\r\n    shipShieldKineticResistance1CBC2\r\n\r\n    Used by:\r\n    Ship: Drake\r\n    Ship: Nighthawk\r\n    Ship: Vulture\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', ship.getModifiedItemAttr('shipBonusCBC2'),\r\n                               skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5338(BaseEffect):\r\n    \"\"\"\r\n    shipShieldThermalResistance1CBC2\r\n\r\n    Used by:\r\n    Ship: Drake\r\n    Ship: Nighthawk\r\n    Ship: Vulture\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', ship.getModifiedItemAttr('shipBonusCBC2'),\r\n                               skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5339(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyAssaultMissileKineticDamageCBC1\r\n\r\n    Used by:\r\n    Ship: Drake\r\n    Ship: Nighthawk\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusCBC1'),\r\n                                        skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5340(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileKineticDamageCBC1\r\n\r\n    Used by:\r\n    Ship: Drake\r\n    Ship: Nighthawk\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusCBC1'),\r\n                                        skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5341(BaseEffect):\r\n    \"\"\"\r\n    shipHybridDmg1GBC1\r\n\r\n    Used by:\r\n    Variations of ship: Brutix (3 of 3)\r\n    Ship: Myrmidon Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusGBC1'),\r\n                                      skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5342(BaseEffect):\r\n    \"\"\"\r\n    shipArmorRepairing1GBC2\r\n\r\n    Used by:\r\n    Ships named like: Myrmidon (2 of 2)\r\n    Ship: Astarte\r\n    Ship: Brutix\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', ship.getModifiedItemAttr('shipBonusGBC2'),\r\n                                      skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5343(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneDamageMultiplierGBC1\r\n\r\n    Used by:\r\n    Ships named like: Myrmidon (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusGBC1'),\r\n                                     skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5348(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneHitpointsGBC1\r\n\r\n    Used by:\r\n    Ships named like: Myrmidon (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for layer in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                         layer, ship.getModifiedItemAttr('shipBonusGBC1'), skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5349(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileLauncherRofMBC2\r\n\r\n    Used by:\r\n    Variations of ship: Cyclone (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy',\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusMBC2'), skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5350(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyAssaultMissileLauncherRofMBC2\r\n\r\n    Used by:\r\n    Variations of ship: Cyclone (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy Assault',\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusMBC2'), skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5351(BaseEffect):\r\n    \"\"\"\r\n    shipShieldBoost1MBC1\r\n\r\n    Used by:\r\n    Ship: Cyclone\r\n    Ship: Sleipnir\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('shipBonusMBC1'),\r\n                                      skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5352(BaseEffect):\r\n    \"\"\"\r\n    shipBonusProjectileDamageMBC1\r\n\r\n    Used by:\r\n    Ships named like: Hurricane (2 of 2)\r\n    Ship: Khizriel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusMBC1'),\r\n                                      skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5353(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileRof1MBC2\r\n\r\n    Used by:\r\n    Ship: Hurricane\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusMBC2'), skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5354(BaseEffect):\r\n    \"\"\"\r\n    shipLargeLaserCapABC1\r\n\r\n    Used by:\r\n    Ship: Oracle\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusABC1'),\r\n                                      skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5355(BaseEffect):\r\n    \"\"\"\r\n    shipLargeLaserDamageBonusABC2\r\n\r\n    Used by:\r\n    Ship: Oracle\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusABC2'),\r\n                                      skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5356(BaseEffect):\r\n    \"\"\"\r\n    shipHybridRangeBonusCBC1\r\n\r\n    Used by:\r\n    Ship: Naga\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusCBC1'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5357(BaseEffect):\r\n    \"\"\"\r\n    shipHybridDamageBonusCBC2\r\n\r\n    Used by:\r\n    Ship: Naga\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusCBC2'),\r\n                                      skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5358(BaseEffect):\r\n    \"\"\"\r\n    shipLargeHybridTrackingBonusGBC1\r\n\r\n    Used by:\r\n    Ship: Talos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusGBC1'),\r\n                                      skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5359(BaseEffect):\r\n    \"\"\"\r\n    shipHybridDamageBonusGBC2\r\n\r\n    Used by:\r\n    Ship: Talos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusGBC2'),\r\n                                      skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5360(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileRofBonusMBC1\r\n\r\n    Used by:\r\n    Ship: Tornado\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusMBC1'), skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5361(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileFalloffBonusMBC2\r\n\r\n    Used by:\r\n    Ship: Tornado\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusMBC2'), skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5364(BaseEffect):\r\n    \"\"\"\r\n    armorAllRepairSystemsAmountBonusPassive\r\n\r\n    Used by:\r\n    Implants named like: Agency 'Hardshell' TB Dose (4 of 4)\r\n    Implants named like: Exile Booster (4 of 4)\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implant: AIR Hardshell Booster II\r\n    Implant: Antipharmakon Kosybo\r\n    Implant: Wisdom of Gheinok\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, booster, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Repair Systems') or mod.item.requiresSkill('Capital Repair Systems'),\r\n            'armorDamageAmount', booster.getModifiedItemAttr('armorDamageAmountBonus') or 0, **kwargs)\r\n\r\n\r\nclass Effect5365(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusViolatorsRepairSystemsArmorDamageAmount2\r\n\r\n    Used by:\r\n    Ships from group: Marauder (3 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', ship.getModifiedItemAttr('eliteBonusViolators2'),\r\n                                      skill='Marauders', **kwargs)\r\n\r\n\r\nclass Effect5366(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRepairSystemsBonusATC2\r\n\r\n    Used by:\r\n    Ship: Vangel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', ship.getModifiedItemAttr('shipBonusATC2'), **kwargs)\r\n\r\n\r\nclass Effect5367(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRepairSystemsArmorRepairAmountGB2\r\n\r\n    Used by:\r\n    Ship: Hyperion\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', ship.getModifiedItemAttr('shipBonusGB2'),\r\n                                      skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect5378(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyMissileAOECloudSizeCBC1\r\n\r\n    Used by:\r\n    Ship: Drake Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCBC1'),\r\n                                        skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5379(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyAssaultMissileAOECloudSizeCBC1\r\n\r\n    Used by:\r\n    Ship: Drake Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCBC1'),\r\n                                        skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5380(BaseEffect):\r\n    \"\"\"\r\n    shipHybridTrackingGBC2\r\n\r\n    Used by:\r\n    Ship: Brutix Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusGBC2'),\r\n                                      skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5381(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyTrackingABC1\r\n\r\n    Used by:\r\n    Ship: Harbinger Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusABC1'),\r\n                                      skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5382(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMETOptimalAC2\r\n\r\n    Used by:\r\n    Ship: Cobra\r\n    Ship: Enforcer\r\n    Ship: Omen Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5383(BaseEffect):\r\n    \"\"\"\r\n    shipMissileEMDamageCC\r\n\r\n    Used by:\r\n    Ship: Laelaps\r\n    Ship: Orthrus\r\n    Ship: Osprey Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'emDamage', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5384(BaseEffect):\r\n    \"\"\"\r\n    shipMissileThermDamageCC\r\n\r\n    Used by:\r\n    Ship: Laelaps\r\n    Ship: Orthrus\r\n    Ship: Osprey Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5385(BaseEffect):\r\n    \"\"\"\r\n    shipMissileExpDamageCC\r\n\r\n    Used by:\r\n    Ship: Laelaps\r\n    Ship: Orthrus\r\n    Ship: Osprey Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5386(BaseEffect):\r\n    \"\"\"\r\n    shipMissileKinDamageCC2\r\n\r\n    Used by:\r\n    Ship: Rook\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5387(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyAssaultMissileAOECloudSizeCC2\r\n\r\n    Used by:\r\n    Ship: Caracal Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5388(BaseEffect):\r\n    \"\"\"\r\n    shipHeavyMissileAOECloudSizeCC2\r\n\r\n    Used by:\r\n    Ship: Caracal Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5397(BaseEffect):\r\n    \"\"\"\r\n    baseMaxScanDeviationModifierModuleOnline2None\r\n\r\n    Used by:\r\n    Variations of module: Scan Pinpointing Array I (3 of 3)\r\n    Module: Triplot Scan Acquisition Array\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),\r\n                                        'baseMaxScanDeviation',\r\n                                        module.getModifiedItemAttr('maxScanDeviationModifierModule'),\r\n                                        stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect5398(BaseEffect):\r\n    \"\"\"\r\n    systemScanDurationModuleModifier\r\n\r\n    Used by:\r\n    Modules from group: Scanning Upgrade Time (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Astrometrics'),\r\n                                      'duration', module.getModifiedItemAttr('scanDurationBonus'), **kwargs)\r\n\r\n\r\nclass Effect5399(BaseEffect):\r\n    \"\"\"\r\n    baseSensorStrengthModifierModule\r\n\r\n    Used by:\r\n    Variations of module: Scan Rangefinding Array I (3 of 3)\r\n    Module: Triplot Scan Acquisition Array\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),\r\n                                        'baseSensorStrength', module.getModifiedItemAttr('scanStrengthBonusModule'),\r\n                                        stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect5402(BaseEffect):\r\n    \"\"\"\r\n    shipMissileHeavyAssaultVelocityABC2\r\n\r\n    Used by:\r\n    Ship: Damnation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('shipBonusABC2'),\r\n                                        skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5403(BaseEffect):\r\n    \"\"\"\r\n    shipMissileHeavyVelocityABC2\r\n\r\n    Used by:\r\n    Ship: Damnation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('shipBonusABC2'),\r\n                                        skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5410(BaseEffect):\r\n    \"\"\"\r\n    shipLaserCap1ABC2\r\n\r\n    Used by:\r\n    Ship: Absolution\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusABC2'),\r\n                                      skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5411(BaseEffect):\r\n    \"\"\"\r\n    shipMissileVelocityCD1\r\n\r\n    Used by:\r\n    Ship: Flycatcher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('shipBonusCD1'), skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5417(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneDamageMultiplierAB\r\n\r\n    Used by:\r\n    Ship: Armageddon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect5418(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneArmorHitPointsAB\r\n\r\n    Used by:\r\n    Ship: Armageddon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'armorHP', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect5419(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneShieldHitPointsAB\r\n\r\n    Used by:\r\n    Ship: Armageddon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'shieldCapacity', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect5420(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneStructureHitPointsAB\r\n\r\n    Used by:\r\n    Ship: Armageddon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'hp', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect5424(BaseEffect):\r\n    \"\"\"\r\n    shipLargeHybridTurretRofGB\r\n\r\n    Used by:\r\n    Ship: Megathron\r\n    Ship: Megathron Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusGB'), skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect5427(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneTrackingGB\r\n\r\n    Used by:\r\n    Ship: Dominix\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'trackingSpeed', ship.getModifiedItemAttr('shipBonusGB'), skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect5428(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneOptimalRangeGB\r\n\r\n    Used by:\r\n    Ship: Dominix\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'maxRange', ship.getModifiedItemAttr('shipBonusGB'), skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect5429(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMissileAoeVelocityMB2\r\n\r\n    Used by:\r\n    Ship: Typhoon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'aoeVelocity', ship.getModifiedItemAttr('shipBonusMB2'),\r\n                                        skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5430(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAoeVelocityCruiseMissilesMB2\r\n\r\n    Used by:\r\n    Ship: Typhoon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),\r\n                                        'aoeVelocity', ship.getModifiedItemAttr('shipBonusMB2'),\r\n                                        skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5433(BaseEffect):\r\n    \"\"\"\r\n    hackingSkillVirusBonus\r\n\r\n    Used by:\r\n    Implants named like: Halcyon B Booster (5 of 5)\r\n    Modules named like: Memetic Algorithm Bank (8 of 8)\r\n    Implant: Neural Lace 'Blackglass' Net Intrusion 920-40\r\n    Implant: Neural Lace 'Bluefire' Net Ablation 960-10\r\n    Implant: Poteque 'Prospector' Environmental Analysis EY-1005\r\n    Implant: Poteque 'Prospector' Hacking HC-905\r\n    Skill: Hacking\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Hacking'),\r\n                                         'virusCoherence', container.getModifiedItemAttr('virusCoherenceBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect5437(BaseEffect):\r\n    \"\"\"\r\n    archaeologySkillVirusBonus\r\n\r\n    Used by:\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Modules named like: Emission Scope Sharpener (8 of 8)\r\n    Implant: Poteque 'Prospector' Archaeology AC-905\r\n    Implant: Poteque 'Prospector' Environmental Analysis EY-1005\r\n    Skill: Archaeology\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Archaeology'),\r\n                                         'virusCoherence', container.getModifiedItemAttr('virusCoherenceBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect5440(BaseEffect):\r\n    \"\"\"\r\n    systemStandardMissileKineticDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                           'kineticDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5444(BaseEffect):\r\n    \"\"\"\r\n    shipTorpedoAOECloudSize1CB\r\n\r\n    Used by:\r\n    Ship: Raven Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect5445(BaseEffect):\r\n    \"\"\"\r\n    shipCruiseMissileAOECloudSize1CB\r\n\r\n    Used by:\r\n    Ship: Raven Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),\r\n                                        'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect5456(BaseEffect):\r\n    \"\"\"\r\n    shipCruiseMissileROFCB\r\n\r\n    Used by:\r\n    Ship: Scorpion Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Cruise',\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect5457(BaseEffect):\r\n    \"\"\"\r\n    shipTorpedoROFCB\r\n\r\n    Used by:\r\n    Ship: Scorpion Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo',\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect5459(BaseEffect):\r\n    \"\"\"\r\n    hackingVirusStrengthBonus\r\n\r\n    Used by:\r\n    Implant: Neural Lace 'Blackglass' Net Intrusion 920-40\r\n    Implant: Neural Lace 'Bluefire' Net Ablation 960-10\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Hacking'), 'virusStrength', src.getModifiedItemAttr('virusStrengthBonus'), **kwargs)\r\n\r\n\r\nclass Effect5460(BaseEffect):\r\n    \"\"\"\r\n    minigameVirusStrengthBonus\r\n\r\n    Used by:\r\n    Ships from group: Covert Ops (8 of 9)\r\n    Ships named like: Stratios (2 of 2)\r\n    Subsystems named like: Defensive Covert Reconfiguration (4 of 4)\r\n    Variations of ship: Heron (3 of 3)\r\n    Variations of ship: Imicus (3 of 3)\r\n    Variations of ship: Magnate (3 of 5)\r\n    Variations of ship: Probe (3 of 3)\r\n    Ship: Astero\r\n    Ship: Metamorphosis\r\n    Ship: Nestor\r\n    Ship: Odysseus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemIncrease(\r\n            lambda mod: (mod.item.requiresSkill('Hacking') or mod.item.requiresSkill('Archaeology')),\r\n            'virusStrength', container.getModifiedItemAttr('virusStrengthBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect5461(BaseEffect):\r\n    \"\"\"\r\n    shieldOperationRechargeratebonusPostPercentOnline\r\n\r\n    Used by:\r\n    Modules from group: Shield Power Relay (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldRechargeRate', module.getModifiedItemAttr('rechargeratebonus') or 0, **kwargs)\r\n\r\n\r\nclass Effect5468(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAgilityCI2\r\n\r\n    Used by:\r\n    Ship: Badger\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        if 'ship' in context:\r\n            skill = 'Caldari Hauler'\r\n            penalties = False\r\n        else:\r\n            skill = None\r\n            penalties = True\r\n        fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('shipBonusCI2'),\r\n                               skill=skill, stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect5469(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAgilityMI2\r\n\r\n    Used by:\r\n    Ship: Wreathe\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('shipBonusMI2'), skill='Minmatar Hauler', **kwargs)\r\n\r\n\r\nclass Effect5470(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAgilityGI2\r\n\r\n    Used by:\r\n    Ship: Nereus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('shipBonusGI2'), skill='Gallente Hauler', **kwargs)\r\n\r\n\r\nclass Effect5471(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAgilityAI2\r\n\r\n    Used by:\r\n    Ship: Sigil\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('shipBonusAI2'), skill='Amarr Hauler', **kwargs)\r\n\r\n\r\nclass Effect5477(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAmmoBayMI2\r\n\r\n    Used by:\r\n    Ship: Hoarder\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('specialAmmoHoldCapacity', ship.getModifiedItemAttr('shipBonusMI2'),\r\n                               skill='Minmatar Hauler', **kwargs)\r\n\r\n\r\nclass Effect5478(BaseEffect):\r\n    \"\"\"\r\n    shipBonusPICommoditiesHoldGI2\r\n\r\n    Used by:\r\n    Ship: Epithal\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('specialPlanetaryCommoditiesHoldCapacity', ship.getModifiedItemAttr('shipBonusGI2'),\r\n                               skill='Gallente Hauler', **kwargs)\r\n\r\n\r\nclass Effect5479(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMineralBayGI2\r\n\r\n    Used by:\r\n    Ship: Kryos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('specialMineralHoldCapacity', ship.getModifiedItemAttr('shipBonusGI2'),\r\n                               skill='Gallente Hauler', **kwargs)\r\n\r\n\r\nclass Effect5480(BaseEffect):\r\n    \"\"\"\r\n    setBonusChristmasBonusVelocity\r\n\r\n    Used by:\r\n    Implants named like: Genolution Core Augmentation CA (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',\r\n                                                 'implantBonusVelocity', implant.getModifiedItemAttr('implantSetChristmas'), **kwargs)\r\n\r\n\r\nclass Effect5482(BaseEffect):\r\n    \"\"\"\r\n    setBonusChristmasAgilityBonus\r\n\r\n    Used by:\r\n    Implants named like: Genolution Core Augmentation CA (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',\r\n                                                 'agilityBonus', implant.getModifiedItemAttr('implantSetChristmas'), **kwargs)\r\n\r\n\r\nclass Effect5483(BaseEffect):\r\n    \"\"\"\r\n    setBonusChristmasShieldCapacityBonus\r\n\r\n    Used by:\r\n    Implants named like: Genolution Core Augmentation CA (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',\r\n                                                 'shieldCapacityBonus', implant.getModifiedItemAttr('implantSetChristmas'), **kwargs)\r\n\r\n\r\nclass Effect5484(BaseEffect):\r\n    \"\"\"\r\n    setBonusChristmasArmorHPBonus2\r\n\r\n    Used by:\r\n    Implants named like: Genolution Core Augmentation CA (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',\r\n                                                 'armorHpBonus2', implant.getModifiedItemAttr('implantSetChristmas'), **kwargs)\r\n\r\n\r\nclass Effect5485(BaseEffect):\r\n    \"\"\"\r\n    shipSPTOptimalBonusMF\r\n\r\n    Used by:\r\n    Ship: Chremoas\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect5486(BaseEffect):\r\n    \"\"\"\r\n    shipBonusProjectileDamageMBC2\r\n\r\n    Used by:\r\n    Ship: Sleipnir\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusMBC2'),\r\n                                      skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect5496(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipHAMRoFCS1\r\n\r\n    Used by:\r\n    Ship: Claymore\r\n    Ship: Nighthawk\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy Assault',\r\n                                      'speed', ship.getModifiedItemAttr('eliteBonusCommandShips1'), skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect5497(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipHMRoFCS1\r\n\r\n    Used by:\r\n    Ship: Claymore\r\n    Ship: Nighthawk\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy',\r\n                                      'speed', ship.getModifiedItemAttr('eliteBonusCommandShips1'), skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect5499(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipsHeavyAssaultMissileExplosionRadiusCS2\r\n\r\n    Used by:\r\n    Ship: Nighthawk\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'aoeCloudSize', ship.getModifiedItemAttr('eliteBonusCommandShips2'),\r\n                                        skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect5500(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipsHeavyMissileExplosionRadiusCS2\r\n\r\n    Used by:\r\n    Ship: Nighthawk\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'aoeCloudSize', ship.getModifiedItemAttr('eliteBonusCommandShips2'),\r\n                                        skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect5501(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipMediumHybridDamageCS2\r\n\r\n    Used by:\r\n    Ship: Vulture\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusCommandShips2'),\r\n                                      skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect5505(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipMediumHybridRoFCS1\r\n\r\n    Used by:\r\n    Ship: Astarte\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('eliteBonusCommandShips1'), skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect5514(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipHeavyAssaultMissileDamageCS2\r\n\r\n    Used by:\r\n    Ship: Damnation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        damageTypes = ('em', 'explosive', 'kinetic', 'thermal')\r\n        for damageType in damageTypes:\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                            '{0}Damage'.format(damageType),\r\n                                            ship.getModifiedItemAttr('eliteBonusCommandShips2'), skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect5521(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipHeavyMissileDamageCS2\r\n\r\n    Used by:\r\n    Ship: Damnation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        damageTypes = ('em', 'explosive', 'kinetic', 'thermal')\r\n        for damageType in damageTypes:\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                            '{0}Damage'.format(damageType),\r\n                                            ship.getModifiedItemAttr('eliteBonusCommandShips2'), skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect5539(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHMLKineticDamageAC\r\n\r\n    Used by:\r\n    Ship: Sacrilege\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5540(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHMLEMDamageAC\r\n\r\n    Used by:\r\n    Ship: Sacrilege\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'emDamage', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5541(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHMLThermDamageAC\r\n\r\n    Used by:\r\n    Ship: Sacrilege\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5542(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHMLExploDamageAC\r\n\r\n    Used by:\r\n    Ship: Sacrilege\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5552(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHMLVelocityEliteBonusHeavyGunship1\r\n\r\n    Used by:\r\n    Ship: Sacrilege\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),\r\n                                        skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect5553(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHAMVelocityEliteBonusHeavyGunship1\r\n\r\n    Used by:\r\n    Ship: Sacrilege\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),\r\n                                        skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect5554(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorRepAmountGC2\r\n\r\n    Used by:\r\n    Ship: Deimos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', ship.getModifiedItemAttr('shipBonusGC2'),\r\n                                      skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5555(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyDroneSpeedGC\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),\r\n                                     'maxVelocity', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5556(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyDRoneTrackingGC\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),\r\n                                     'trackingSpeed', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5557(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSentryDroneOptimalRangeEliteBonusHeavyGunship2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),\r\n                                     'maxRange', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),\r\n                                     skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect5558(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSentryDroneTrackingEliteBonusHeavyGunship2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),\r\n                                     'trackingSpeed', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),\r\n                                     skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect5559(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldBoostAmountMC2\r\n\r\n    Used by:\r\n    Ship: Vagabond\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5560(BaseEffect):\r\n    \"\"\"\r\n    roleBonusMarauderMJDRReactivationDelayBonus\r\n\r\n    Used by:\r\n    Module: Anhinga Tertiary Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        penalties = 'ship' not in context\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Micro Jump Drive', 'moduleReactivationDelay',\r\n            ship.getModifiedItemAttr('roleBonusMarauder'), stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect5564(BaseEffect):\r\n    \"\"\"\r\n    subSystemBonusCaldariOffensiveCommandBursts\r\n\r\n    Used by:\r\n    Subsystem: Tengu Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(lambda mod: (mod.item.requiresSkill('Skirmish Command') or\r\n                                                       mod.item.requiresSkill('Shield Command') or\r\n                                                       mod.item.requiresSkill('Information Command')),\r\n                                          attrName, src.getModifiedItemAttr('subsystemBonusCaldariOffensive'),\r\n                                          skill='Caldari Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect5568(BaseEffect):\r\n    \"\"\"\r\n    subSystemBonusGallenteOffensiveCommandBursts\r\n\r\n    Used by:\r\n    Subsystem: Proteus Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(lambda mod: (mod.item.requiresSkill('Skirmish Command') or\r\n                                                       mod.item.requiresSkill('Armored Command') or\r\n                                                       mod.item.requiresSkill('Information Command')),\r\n                                          attrName, src.getModifiedItemAttr('subsystemBonusGallenteOffensive'),\r\n                                          skill='Gallente Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect5570(BaseEffect):\r\n    \"\"\"\r\n    subSystemBonusMinmatarOffensiveCommandBursts\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(lambda mod: (mod.item.requiresSkill('Skirmish Command') or\r\n                                                       mod.item.requiresSkill('Shield Command') or\r\n                                                       mod.item.requiresSkill('Armored Command')),\r\n                                          attrName, src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'),\r\n                                          skill='Minmatar Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect5572(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipArmoredCS3\r\n\r\n    Used by:\r\n    Ships from group: Command Ship (4 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),\r\n                                          attrName, src.getModifiedItemAttr('eliteBonusCommandShips3'),\r\n                                          skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect5573(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipSiegeCS3\r\n\r\n    Used by:\r\n    Ships from group: Command Ship (4 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'),\r\n                                          attrName, src.getModifiedItemAttr('eliteBonusCommandShips3'),\r\n                                          skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect5574(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipSkirmishCS3\r\n\r\n    Used by:\r\n    Ships from group: Command Ship (4 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),\r\n                                          attrName, src.getModifiedItemAttr('eliteBonusCommandShips3'),\r\n                                          skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect5575(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipInformationCS3\r\n\r\n    Used by:\r\n    Ships from group: Command Ship (4 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),\r\n                                          attrName, src.getModifiedItemAttr('eliteBonusCommandShips3'),\r\n                                          skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect5607(BaseEffect):\r\n    \"\"\"\r\n    capacitorEmissionSystemskill\r\n\r\n    Used by:\r\n    Implants named like: Inherent Implants 'Squire' Capacitor Emission Systems ES (6 of 6)\r\n    Modules named like: Egress Port Maximizer (8 of 8)\r\n    Skill: Capacitor Emission Systems\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capacitor Emission Systems'),\r\n                                      'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect5610(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLargeEnergyTurretMaxRangeAB\r\n\r\n    Used by:\r\n    Ship: Marshal\r\n    Ship: Paladin\r\n    Ship: Python\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect5611(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHTFalloffGB2\r\n\r\n    Used by:\r\n    Ship: Kronos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusGB2'), skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect5618(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRHMLROF2CB\r\n\r\n    Used by:\r\n    Ship: Raven\r\n    Ship: Widow\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        if 'ship' in context:\r\n            skill = 'Caldari Battleship'\r\n            penalties = False\r\n            penaltyGroup = None\r\n        else:\r\n            skill = None\r\n            penalties = True\r\n            penaltyGroup = 'postPerc'\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Missile Launcher Rapid Heavy', 'speed',\r\n            ship.getModifiedItemAttr('shipBonus2CB'), skill=skill,\r\n            stackingPenalties=penalties, penaltyGroup=penaltyGroup, **kwargs)\r\n\r\n\r\nclass Effect5619(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRHMLROFCB\r\n\r\n    Used by:\r\n    Ship: Scorpion Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Heavy',\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect5620(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRHMLROFMB\r\n\r\n    Used by:\r\n    Ship: Typhoon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Heavy',\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5621(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCruiseROFMB\r\n\r\n    Used by:\r\n    Ship: Typhoon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Cruise',\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5622(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoROFMB\r\n\r\n    Used by:\r\n    Ship: Typhoon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo',\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5628(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCruiseMissileEMDmgMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),\r\n                                        'emDamage', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5629(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCruiseMissileThermDmgMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusMB'),\r\n                                        skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5630(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCruiseMissileKineticDmgMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusMB'),\r\n                                        skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5631(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCruiseMissileExploDmgMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('shipBonusMB'),\r\n                                        skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5632(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoMissileExploDmgMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('shipBonusMB'),\r\n                                        skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5633(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoMissileEMDmgMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'emDamage', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5634(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoMissileThermDmgMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusMB'),\r\n                                        skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5635(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoMissileKineticDmgMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusMB'),\r\n                                        skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5636(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileEMDmgMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'emDamage', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5637(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileThermDmgMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusMB'),\r\n                                        skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5638(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileKineticDmgMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusMB'),\r\n                                        skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5639(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileExploDmgMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('shipBonusMB'),\r\n                                        skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect5644(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMissileVelocityCC2\r\n\r\n    Used by:\r\n    Ship: Cerberus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'), 'maxVelocity',\r\n            ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5647(BaseEffect):\r\n    \"\"\"\r\n    covertOpsCloakCPUPercentRoleBonus\r\n\r\n    Used by:\r\n    Ships from group: Expedition Frigate (2 of 2)\r\n    Ships from group: Special Edition Yachts (4 of 5)\r\n    Ship: Astero\r\n    Ship: Cenotaph\r\n    Ship: Cobra\r\n    Ship: Enforcer\r\n    Ship: Pacifier\r\n    Ship: Sidewinder\r\n    Ship: Tholos\r\n    Ship: Victor\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Cloaking'),\r\n                                      'cpu', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5650(BaseEffect):\r\n    \"\"\"\r\n    shipArmorResistanceAF1\r\n\r\n    Used by:\r\n    Ship: Malediction\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')\r\n        for damageType in damageTypes:\r\n            fit.ship.boostItemAttr('armor{0}DamageResonance'.format(damageType), ship.getModifiedItemAttr('shipBonusAF'),\r\n                                   skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect5657(BaseEffect):\r\n    \"\"\"\r\n    Interceptor2ShieldResist\r\n\r\n    Used by:\r\n    Ship: Raptor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')\r\n        for damageType in damageTypes:\r\n            fit.ship.boostItemAttr('shield{0}DamageResonance'.format(damageType),\r\n                                   ship.getModifiedItemAttr('eliteBonusInterceptor2'), skill='Interceptors', **kwargs)\r\n\r\n\r\nclass Effect5673(BaseEffect):\r\n    \"\"\"\r\n    interceptor2ProjectileDamage\r\n\r\n    Used by:\r\n    Ship: Claw\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusInterceptor2'),\r\n                                      skill='Interceptors', **kwargs)\r\n\r\n\r\nclass Effect5695(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusInterdictorsArmorResist1\r\n\r\n    Used by:\r\n    Ship: Heretic\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for damageType in ('Em', 'Thermal', 'Explosive', 'Kinetic'):\r\n            fit.ship.boostItemAttr('armor%sDamageResonance' % damageType,\r\n                                   ship.getModifiedItemAttr('eliteBonusInterdictors1'), skill='Interdictors', **kwargs)\r\n\r\n\r\nclass Effect5717(BaseEffect):\r\n    \"\"\"\r\n    implantSetWarpSpeed\r\n\r\n    Used by:\r\n    Implants named like: grade Ascendancy (12 of 12)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',\r\n                                                 'WarpSBonus', implant.getModifiedItemAttr('implantSetWarpSpeed'), **kwargs)\r\n\r\n\r\nclass Effect5721(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMETOptimalRangePirateFaction\r\n\r\n    Used by:\r\n    Ships named like: Stratios (2 of 2)\r\n    Ship: Odysseus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5723(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusInterdictorsMWDSigRadius2\r\n\r\n    Used by:\r\n    Ships from group: Interdictor (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),\r\n                                      'signatureRadiusBonus', ship.getModifiedItemAttr('eliteBonusInterdictors2'),\r\n                                      skill='Interdictors', **kwargs)\r\n\r\n\r\nclass Effect5724(BaseEffect):\r\n    \"\"\"\r\n    shipSHTOptimalBonusGF\r\n\r\n    Used by:\r\n    Ship: Ares\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect5725(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteRepairAmountPirateFaction\r\n\r\n    Used by:\r\n    Ship: Nestor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'armorDamageAmount', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5726(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLETOptimalRangePirateFaction\r\n\r\n    Used by:\r\n    Ship: Nestor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5733(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusMaraudersHeavyMissileDamageExpRole1\r\n\r\n    Used by:\r\n    Ship: Golem\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'), **kwargs)\r\n\r\n\r\nclass Effect5734(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusMaraudersHeavyMissileDamageKinRole1\r\n\r\n    Used by:\r\n    Ship: Golem\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'), **kwargs)\r\n\r\n\r\nclass Effect5735(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusMaraudersHeavyMissileDamageEMRole1\r\n\r\n    Used by:\r\n    Ship: Golem\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'emDamage', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'), **kwargs)\r\n\r\n\r\nclass Effect5736(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusMaraudersHeavyMissileDamageThermRole1\r\n\r\n    Used by:\r\n    Ship: Golem\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'), **kwargs)\r\n\r\n\r\nclass Effect5737(BaseEffect):\r\n    \"\"\"\r\n    shipScanProbeStrengthBonusPirateFaction\r\n\r\n    Used by:\r\n    Ship: Nestor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),\r\n                                        'baseSensorStrength', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5738(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteRepairRangePirateFaction2\r\n\r\n    Used by:\r\n    Ship: Nestor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusRole8'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'falloffEffectiveness', ship.getModifiedItemAttr('shipBonusRole8'), **kwargs)\r\n\r\n\r\nclass Effect5754(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfTrackingModuleBonus\r\n\r\n    Used by:\r\n    Modules named like: Tracking Computer (19 of 19)\r\n    Variations of module: Tracking Disruptor I (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('maxRangeBonus', module.getModifiedItemAttr('overloadTrackingModuleStrengthBonus'), **kwargs)\r\n        module.boostItemAttr('falloffBonus', module.getModifiedItemAttr('overloadTrackingModuleStrengthBonus'), **kwargs)\r\n        module.boostItemAttr('trackingSpeedBonus', module.getModifiedItemAttr('overloadTrackingModuleStrengthBonus'), **kwargs)\r\n\r\n\r\nclass Effect5757(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfSensorModuleBonus\r\n\r\n    Used by:\r\n    Modules from group: Remote Sensor Booster (8 of 8)\r\n    Modules from group: Sensor Booster (16 of 16)\r\n    Modules from group: Sensor Dampener (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('maxTargetRangeBonus', module.getModifiedItemAttr('overloadSensorModuleStrengthBonus'), **kwargs)\r\n        module.boostItemAttr('scanResolutionBonus', module.getModifiedItemAttr('overloadSensorModuleStrengthBonus'),\r\n                             stackingPenalties=True, **kwargs)\r\n\r\n        for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):\r\n            module.boostItemAttr(\r\n                'scan{}StrengthPercent'.format(scanType),\r\n                module.getModifiedItemAttr('overloadSensorModuleStrengthBonus'),\r\n                stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect5758(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfPainterBonus\r\n\r\n    Used by:\r\n    Modules from group: Target Painter (9 of 9)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('signatureRadiusBonus', module.getModifiedItemAttr('overloadPainterStrengthBonus') or 0, **kwargs)\r\n\r\n\r\nclass Effect5769(BaseEffect):\r\n    \"\"\"\r\n    repairDroneHullBonusBonus\r\n\r\n    Used by:\r\n    Implants named like: Black Market 'Valdimar' Repair Drone Operation DR (3 of 3)\r\n    Modules named like: Drone Repair Augmentor (8 of 8)\r\n    Skill: Repair Drone Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Logistic Drone',\r\n                                     'structureDamageAmount', container.getModifiedItemAttr('damageHP') * level, **kwargs)\r\n\r\n\r\nclass Effect5778(BaseEffect):\r\n    \"\"\"\r\n    shipMissileRoFMF2\r\n\r\n    Used by:\r\n    Ship: Breacher\r\n    Ship: Jaguar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect5779(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSPTFalloffMF2\r\n\r\n    Used by:\r\n    Ship: Pacifier\r\n    Ship: Rifter\r\n    Ship: Sidewinder\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect5793(BaseEffect):\r\n    \"\"\"\r\n    ewSkillTrackingDisruptionRangeDisruptionBonus\r\n\r\n    Used by:\r\n    Modules named like: Tracking Diagnostic Subroutines (8 of 8)\r\n    Skill: Weapon Destabilization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        for attr in ('maxRangeBonus', 'falloffBonus'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'),\r\n                                          attr, container.getModifiedItemAttr('scanSkillEwStrengthBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect5802(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAfterburnerSpeedFactor2CB\r\n\r\n    Used by:\r\n    Ship: Nightmare\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),\r\n                                      'speedFactor', module.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect5803(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSentryDroneDamageMultiplierPirateFaction\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5804(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyDroneDamageMultiplierPirateFaction\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5805(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSentryDroneHPPirateFaction\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),\r\n                                     'hp', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5806(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSentryDroneArmorHpPirateFaction\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),\r\n                                     'armorHP', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5807(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSentryDroneShieldHpPirateFaction\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),\r\n                                     'shieldCapacity', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5808(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyDroneShieldHpPirateFaction\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),\r\n                                     'shieldCapacity', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5809(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyDroneArmorHpPirateFaction\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),\r\n                                     'armorHP', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5810(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyDroneHPPirateFaction\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),\r\n                                     'hp', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5811(BaseEffect):\r\n    \"\"\"\r\n    shipBonusKineticMissileDamageGB2\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusGB2'),\r\n                                        skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect5812(BaseEffect):\r\n    \"\"\"\r\n    shipBonusThermalMissileDamageGB2\r\n\r\n    Used by:\r\n    Ship: Rattlesnake\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusGB2'),\r\n                                        skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect5813(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAfterburnerSpeedFactorCF2\r\n\r\n    Used by:\r\n    Ship: Imp\r\n    Ship: Succubus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),\r\n                                      'speedFactor', module.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect5814(BaseEffect):\r\n    \"\"\"\r\n    shipBonusKineticMissileDamageGF\r\n\r\n    Used by:\r\n    Ship: Whiptail\r\n    Ship: Worm\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect5815(BaseEffect):\r\n    \"\"\"\r\n    shipBonusThermalMissileDamageGF\r\n\r\n    Used by:\r\n    Ship: Whiptail\r\n    Ship: Worm\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect5816(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLightDroneDamageMultiplierPirateFaction\r\n\r\n    Used by:\r\n    Ship: Mamba\r\n    Ship: Whiptail\r\n    Ship: Worm\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5817(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLightDroneHPPirateFaction\r\n\r\n    Used by:\r\n    Ship: Mamba\r\n    Ship: Whiptail\r\n    Ship: Worm\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),\r\n                                     'hp', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5818(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLightDroneArmorHPPirateFaction\r\n\r\n    Used by:\r\n    Ship: Mamba\r\n    Ship: Whiptail\r\n    Ship: Worm\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),\r\n                                     'armorHP', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5819(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLightDroneShieldHPPirateFaction\r\n\r\n    Used by:\r\n    Ship: Mamba\r\n    Ship: Whiptail\r\n    Ship: Worm\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),\r\n                                     'shieldCapacity', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5820(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAfterburnerSpeedFactorCC2\r\n\r\n    Used by:\r\n    Ship: Fiend\r\n    Ship: Phantasm\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),\r\n                                      'speedFactor', module.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5821(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumDroneDamageMultiplierPirateFaction\r\n\r\n    Used by:\r\n    Ship: Alligator\r\n    Ship: Chameleon\r\n    Ship: Gila\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5822(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumDroneHPPirateFaction\r\n\r\n    Used by:\r\n    Ship: Chameleon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),\r\n                                     'hp', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5823(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumDroneArmorHPPirateFaction\r\n\r\n    Used by:\r\n    Ship: Chameleon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),\r\n                                     'armorHP', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5824(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumDroneShieldHPPirateFaction\r\n\r\n    Used by:\r\n    Ship: Chameleon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),\r\n                                     'shieldCapacity', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect5825(BaseEffect):\r\n    \"\"\"\r\n    shipBonusKineticMissileDamageGC2\r\n\r\n    Used by:\r\n    Ship: Chameleon\r\n    Ship: Gila\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5826(BaseEffect):\r\n    \"\"\"\r\n    shipBonusThermalMissileDamageGC2\r\n\r\n    Used by:\r\n    Ship: Chameleon\r\n    Ship: Gila\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5827(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTDOptimalBonusAF1\r\n\r\n    Used by:\r\n    Ship: Crucifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect5852(BaseEffect):\r\n    \"\"\"\r\n    expeditionFrigateBonusOreMiningYield\r\n\r\n    Used by:\r\n    Ship: Prospect\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining'), 'miningAmount',\r\n            ship.getModifiedItemAttr('expeditionFrigateBonusOreMiningYield'),\r\n            skill='Expedition Frigates', **kwargs)\r\n\r\n\r\nclass Effect5853(BaseEffect):\r\n    \"\"\"\r\n    expeditionFrigateBonusSignatureRadius\r\n\r\n    Used by:\r\n    Ship: Prospect\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('signatureRadius', ship.getModifiedItemAttr('expeditionFrigateBonusSignatureRadius'),\r\n                               skill='Expedition Frigates', **kwargs)\r\n\r\n\r\nclass Effect5854(BaseEffect):\r\n    \"\"\"\r\n    shipBonusNosferatuOverride\r\n\r\n    Used by:\r\n    Ship: Ashimmu\r\n    Ship: Bhaalgorn\r\n    Ship: Caedes\r\n    Ship: Chemosh\r\n    Ship: Cruor\r\n    Ship: Dagon\r\n    Ship: Molok\r\n    Ship: Rabisu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemForce(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                      'nosOverride', ship.getModifiedItemAttr('nosOverride'), **kwargs)\r\n\r\n\r\nclass Effect5862(BaseEffect):\r\n    \"\"\"\r\n    shipMissileEMDamageCB\r\n\r\n    Used by:\r\n    Ship: Barghest\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'emDamage', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect5863(BaseEffect):\r\n    \"\"\"\r\n    shipMissileKinDamageCB\r\n\r\n    Used by:\r\n    Ship: Barghest\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusCB'),\r\n                                        skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect5864(BaseEffect):\r\n    \"\"\"\r\n    shipMissileThermDamageCB\r\n\r\n    Used by:\r\n    Ship: Barghest\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'thermalDamage', ship.getModifiedItemAttr('shipBonusCB'),\r\n                                        skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect5865(BaseEffect):\r\n    \"\"\"\r\n    shipMissileExploDamageCB\r\n\r\n    Used by:\r\n    Ship: Barghest\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'explosiveDamage', ship.getModifiedItemAttr('shipBonusCB'),\r\n                                        skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect5866(BaseEffect):\r\n    \"\"\"\r\n    shipBonusWarpScrambleMaxRangeGB\r\n\r\n    Used by:\r\n    Ship: Barghest\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusGB'), skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect5867(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMissileExplosionDelayPirateFaction2\r\n\r\n    Used by:\r\n    Ship: Barghest\r\n    Ship: Garmur\r\n    Ship: Laelaps\r\n    Ship: Orthrus\r\n    Ship: Raiju\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        penalties = 'ship' not in context\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'explosionDelay',\r\n            ship.getModifiedItemAttr('shipBonusRole8'), stackingPenalties=penalties, **kwargs)\r\n\r\n\r\nclass Effect5868(BaseEffect):\r\n    \"\"\"\r\n    drawbackCargoCapacity\r\n\r\n    Used by:\r\n    Modules named like: Transverse Bulkhead (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('capacity', module.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect5869(BaseEffect):\r\n    \"\"\"\r\n    eliteIndustrialWarpSpeedBonus1\r\n\r\n    Used by:\r\n    Ships from group: Blockade Runner (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', ship.getModifiedItemAttr('eliteBonusIndustrial1'),\r\n                               skill='Transport Ships', **kwargs)\r\n\r\n\r\nclass Effect5870(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldBoostCI2\r\n\r\n    Used by:\r\n    Ship: Bustard\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('shipBonusCI2'), skill='Caldari Hauler', **kwargs)\r\n\r\n\r\nclass Effect5871(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldBoostMI2\r\n\r\n    Used by:\r\n    Ship: Mastodon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', ship.getModifiedItemAttr('shipBonusMI2'), skill='Minmatar Hauler', **kwargs)\r\n\r\n\r\nclass Effect5872(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorRepairAI2\r\n\r\n    Used by:\r\n    Ship: Impel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', ship.getModifiedItemAttr('shipBonusAI2'),\r\n                                      skill='Amarr Hauler', **kwargs)\r\n\r\n\r\nclass Effect5873(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorRepairGI2\r\n\r\n    Used by:\r\n    Ship: Occator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', ship.getModifiedItemAttr('shipBonusGI2'),\r\n                                      skill='Gallente Hauler', **kwargs)\r\n\r\n\r\nclass Effect5874(BaseEffect):\r\n    \"\"\"\r\n    eliteIndustrialFleetCapacity1\r\n\r\n    Used by:\r\n    Ships from group: Deep Space Transport (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('fleetHangarCapacity', ship.getModifiedItemAttr('eliteBonusIndustrial1'),\r\n                               skill='Transport Ships', **kwargs)\r\n\r\n\r\nclass Effect5881(BaseEffect):\r\n    \"\"\"\r\n    eliteIndustrialShieldResists2\r\n\r\n    Used by:\r\n    Ships from group: Deep Space Transport (3 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for damageType in ('em', 'thermal', 'explosive', 'kinetic'):\r\n            fit.ship.boostItemAttr('shield{}DamageResonance'.format(damageType.capitalize()),\r\n                                   ship.getModifiedItemAttr('eliteBonusIndustrial2'), skill='Transport Ships', **kwargs)\r\n\r\n\r\nclass Effect5888(BaseEffect):\r\n    \"\"\"\r\n    eliteIndustrialArmorResists2\r\n\r\n    Used by:\r\n    Ship: Impel\r\n    Ship: Occator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for damageType in ('em', 'thermal', 'explosive', 'kinetic'):\r\n            fit.ship.boostItemAttr('armor{}DamageResonance'.format(damageType.capitalize()),\r\n                                   ship.getModifiedItemAttr('eliteBonusIndustrial2'), skill='Transport Ships', **kwargs)\r\n\r\n\r\nclass Effect5889(BaseEffect):\r\n    \"\"\"\r\n    eliteIndustrialABHeatBonus\r\n\r\n    Used by:\r\n    Ships from group: Deep Space Transport (5 of 5)\r\n    Ships from group: Interceptor (4 of 10)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),\r\n                                      'overloadSpeedFactorBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'), **kwargs)\r\n\r\n\r\nclass Effect5890(BaseEffect):\r\n    \"\"\"\r\n    eliteIndustrialMWDHeatBonus\r\n\r\n    Used by:\r\n    Ships from group: Deep Space Transport (5 of 5)\r\n    Ships from group: Interceptor (4 of 10)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),\r\n                                      'overloadSpeedFactorBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'), **kwargs)\r\n\r\n\r\nclass Effect5891(BaseEffect):\r\n    \"\"\"\r\n    eliteIndustrialArmorHardenerHeatBonus\r\n\r\n    Used by:\r\n    Ships from group: Deep Space Transport (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'),\r\n                                      'overloadHardeningBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'), **kwargs)\r\n\r\n\r\nclass Effect5892(BaseEffect):\r\n    \"\"\"\r\n    eliteIndustrialReactiveArmorHardenerHeatBonus\r\n\r\n    Used by:\r\n    Ships from group: Deep Space Transport (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'),\r\n                                      'overloadSelfDurationBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'), **kwargs)\r\n\r\n\r\nclass Effect5893(BaseEffect):\r\n    \"\"\"\r\n    eliteIndustrialShieldHardenerHeatBonus\r\n\r\n    Used by:\r\n    Ships from group: Deep Space Transport (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Tactical Shield Manipulation'),\r\n                                      'overloadHardeningBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'), **kwargs)\r\n\r\n\r\nclass Effect5896(BaseEffect):\r\n    \"\"\"\r\n    eliteIndustrialShieldBoosterHeatBonus\r\n\r\n    Used by:\r\n    Ships from group: Deep Space Transport (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'overloadShieldBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'overloadSelfDurationBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'), **kwargs)\r\n\r\n\r\nclass Effect5899(BaseEffect):\r\n    \"\"\"\r\n    eliteIndustrialArmorRepairHeatBonus\r\n\r\n    Used by:\r\n    Ships from group: Deep Space Transport (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'overloadArmorDamageAmount', ship.getModifiedItemAttr('roleBonusOverheatDST'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'overloadSelfDurationBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'), **kwargs)\r\n\r\n\r\nclass Effect5900(BaseEffect):\r\n    \"\"\"\r\n    warpSpeedAddition\r\n\r\n    Used by:\r\n    Modules from group: Warp Accelerator (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpSpeedMultiplier', module.getModifiedItemAttr('warpSpeedAdd'), **kwargs)\r\n\r\n\r\nclass Effect5901(BaseEffect):\r\n    \"\"\"\r\n    roleBonusBulkheadCPU\r\n\r\n    Used by:\r\n    Ships from group: Freighter (4 of 6)\r\n    Ships from group: Jump Freighter (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Reinforced Bulkhead',\r\n                                      'cpu', ship.getModifiedItemAttr('cpuNeedBonus'), **kwargs)\r\n\r\n\r\nclass Effect5911(BaseEffect):\r\n    \"\"\"\r\n    onlineJumpDriveConsumptionAmountBonusPercentage\r\n\r\n    Used by:\r\n    Modules from group: Jump Drive Economizer (3 of 3)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('jumpDriveConsumptionAmount',\r\n                               module.getModifiedItemAttr('consumptionQuantityBonusPercentage'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect5912(BaseEffect):\r\n    \"\"\"\r\n    systemRemoteCapTransmitterAmount\r\n\r\n    Used by:\r\n    Celestials named like: Class Cataclysmic Variable Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',\r\n                                         'powerTransferAmount', beacon.getModifiedItemAttr('energyTransferAmountBonus'),\r\n                                         stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5913(BaseEffect):\r\n    \"\"\"\r\n    systemArmorHP\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    Celestial: Federal Stellar Observatory\r\n    Celestial: Imperial Stellar Observatory\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('armorHP', beacon.getModifiedItemAttr('armorHPMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect5914(BaseEffect):\r\n    \"\"\"\r\n    systemEnergyNeutMultiplier\r\n\r\n    Used by:\r\n    Celestials named like: Class Pulsar Effects (6 of 6)\r\n    Celestial: Imperial Stellar Observatory\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Energy Neutralizer',\r\n                                         'energyNeutralizerAmount',\r\n                                         beacon.getModifiedItemAttr('energyWarfareStrengthMultiplier'),\r\n                                         stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5915(BaseEffect):\r\n    \"\"\"\r\n    systemEnergyVampireMultiplier\r\n\r\n    Used by:\r\n    Celestials named like: Class Pulsar Effects (6 of 6)\r\n    Celestial: Imperial Stellar Observatory\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                         'powerTransferAmount',\r\n                                         beacon.getModifiedItemAttr('energyWarfareStrengthMultiplier'),\r\n                                         stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5916(BaseEffect):\r\n    \"\"\"\r\n    systemDamageExplosiveBombs\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                           'explosiveDamage', beacon.getModifiedItemAttr('smartbombDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5917(BaseEffect):\r\n    \"\"\"\r\n    systemDamageKineticBombs\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                           'kineticDamage', beacon.getModifiedItemAttr('smartbombDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5918(BaseEffect):\r\n    \"\"\"\r\n    systemDamageThermalBombs\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                           'thermalDamage', beacon.getModifiedItemAttr('smartbombDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5919(BaseEffect):\r\n    \"\"\"\r\n    systemDamageEMBombs\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                           'emDamage', beacon.getModifiedItemAttr('smartbombDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5920(BaseEffect):\r\n    \"\"\"\r\n    systemAoeCloudSize\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                           'aoeCloudSize', beacon.getModifiedItemAttr('aoeCloudSizeMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5921(BaseEffect):\r\n    \"\"\"\r\n    systemTargetPainterMultiplier\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Target Painting'),\r\n                                         'signatureRadiusBonus',\r\n                                         beacon.getModifiedItemAttr('targetPainterStrengthMultiplier'),\r\n                                         stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5922(BaseEffect):\r\n    \"\"\"\r\n    systemWebifierStrengthMultiplier\r\n\r\n    Used by:\r\n    Celestials named like: Class Black Hole Effects (6 of 6)\r\n    Celestial: Republic Stellar Observatory\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                         'speedFactor', beacon.getModifiedItemAttr('stasisWebStrengthMultiplier'),\r\n                                         stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5923(BaseEffect):\r\n    \"\"\"\r\n    systemNeutBombs\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                           'energyNeutralizerAmount',\r\n                                           beacon.getModifiedItemAttr('smartbombDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5924(BaseEffect):\r\n    \"\"\"\r\n    systemGravimetricECMBomb\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                           'scanGravimetricStrengthBonus',\r\n                                           beacon.getModifiedItemAttr('smartbombDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5925(BaseEffect):\r\n    \"\"\"\r\n    systemLadarECMBomb\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                           'scanLadarStrengthBonus',\r\n                                           beacon.getModifiedItemAttr('smartbombDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5926(BaseEffect):\r\n    \"\"\"\r\n    systemMagnetrometricECMBomb\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                           'scanMagnetometricStrengthBonus',\r\n                                           beacon.getModifiedItemAttr('smartbombDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5927(BaseEffect):\r\n    \"\"\"\r\n    systemRadarECMBomb\r\n\r\n    Used by:\r\n    Celestials named like: Class Red Giant Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),\r\n                                           'scanRadarStrengthBonus',\r\n                                           beacon.getModifiedItemAttr('smartbombDamageMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5929(BaseEffect):\r\n    \"\"\"\r\n    systemDroneTracking\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemMultiply(lambda drone: True,\r\n                                        'trackingSpeed', beacon.getModifiedItemAttr('trackingSpeedMultiplier'),\r\n                                        stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect5934(BaseEffect):\r\n    \"\"\"\r\n    warpScrambleBlockMWDWithNPCEffect\r\n\r\n    Used by:\r\n    Modules named like: Warp Scrambler (28 of 28)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        if module.getModifiedItemAttr('maxRange', 0) < (projectionRange or 0):\r\n            return\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', module.getModifiedItemAttr('warpScrambleStrength'))\r\n        fit.modules.filteredItemIncrease(\r\n            lambda mod: mod.item.requiresSkill('High Speed Maneuvering') or mod.item.requiresSkill('Micro Jump Drive Operation'),\r\n            'activationBlocked', module.getModifiedItemAttr('activationBlockedStrenght'), **kwargs)\r\n\r\n\r\nclass Effect5939(BaseEffect):\r\n    \"\"\"\r\n    shipRocketRoFBonusAF2\r\n\r\n    Used by:\r\n    Ship: Malediction\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rocket',\r\n                                      'speed', ship.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect5944(BaseEffect):\r\n    \"\"\"\r\n    shipMissileLauncherRoFAD1Fixed\r\n\r\n    Used by:\r\n    Ship: Heretic\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect5945(BaseEffect):\r\n    \"\"\"\r\n    cloakingPrototype\r\n\r\n    Used by:\r\n    Modules named like: Prototype Cloaking Device I (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        # Set flag which is used to determine if ship is cloaked or not\r\n        # This is used to apply cloak-only bonuses, like Black Ops' speed bonus\r\n        # Doesn't apply to covops cloaks\r\n        fit.extraAttributes['cloaked'] = True\r\n        # Apply speed penalty\r\n        fit.ship.multiplyItemAttr('maxVelocity', module.getModifiedItemAttr('maxVelocityModifier'), **kwargs)\r\n\r\n\r\nclass Effect5951(BaseEffect):\r\n    \"\"\"\r\n    drawbackWarpSpeed\r\n\r\n    Used by:\r\n    Modules from group: Rig Anchor (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', module.getModifiedItemAttr('drawback'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect5956(BaseEffect):\r\n    \"\"\"\r\n    shipMETDamageBonusAC2\r\n\r\n    Used by:\r\n    Ship: Devoter\r\n    Ship: Zealot\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5957(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyInterdictorsMETOptimal\r\n\r\n    Used by:\r\n    Ship: Devoter\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors1'),\r\n                                      skill='Heavy Interdiction Cruisers', **kwargs)\r\n\r\n\r\nclass Effect5958(BaseEffect):\r\n    \"\"\"\r\n    shipHybridTrackingGC\r\n\r\n    Used by:\r\n    Ship: Lachesis\r\n    Ship: Phobos\r\n    Ship: Vexor Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect5959(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyInterdictorsHybridOptimal1\r\n\r\n    Used by:\r\n    Ship: Phobos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors1'),\r\n                                      skill='Heavy Interdiction Cruisers', **kwargs)\r\n\r\n\r\nclass Effect5994(BaseEffect):\r\n    \"\"\"\r\n    resistanceKillerHullAll\r\n\r\n    Used by:\r\n    Modules named like: Polarized (12 of 15)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):\r\n            tgtAttr = '{}DamageResonance'.format(dmgType)\r\n            fit.ship.forceItemAttr(tgtAttr, module.getModifiedItemAttr('resistanceKillerHull'), **kwargs)\r\n\r\n\r\nclass Effect5995(BaseEffect):\r\n    \"\"\"\r\n    resistanceKillerShieldArmorAll\r\n\r\n    Used by:\r\n    Modules named like: Polarized (12 of 15)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for layer in ('armor', 'shield'):\r\n            for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):\r\n                tgtAttr = '{}{}DamageResonance'.format(layer, dmgType.capitalize())\r\n                fit.ship.forceItemAttr(tgtAttr, module.getModifiedItemAttr('resistanceKiller'), **kwargs)\r\n\r\n\r\nclass Effect5998(BaseEffect):\r\n    \"\"\"\r\n    freighterSMACapacityBonusO1\r\n\r\n    Used by:\r\n    Ship: Bowhead\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        # todo: stacking?\r\n        fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('freighterBonusO2'), skill='ORE Freighter',\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6001(BaseEffect):\r\n    \"\"\"\r\n    freighterAgilityBonus2O2\r\n\r\n    Used by:\r\n    Ship: Bowhead\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shipMaintenanceBayCapacity', ship.getModifiedItemAttr('freighterBonusO1'),\r\n                               skill='ORE Freighter', **kwargs)\r\n\r\n\r\nclass Effect6006(BaseEffect):\r\n    \"\"\"\r\n    shipSETDamageAmarrTacticalDestroyer1\r\n\r\n    Used by:\r\n    Ship: Confessor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusTacticalDestroyerAmarr1'),\r\n                                      skill='Amarr Tactical Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6007(BaseEffect):\r\n    \"\"\"\r\n    shipSETCapNeedAmarrTacticalDestroyer2\r\n\r\n    Used by:\r\n    Ship: Confessor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusTacticalDestroyerAmarr2'),\r\n                                      skill='Amarr Tactical Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6008(BaseEffect):\r\n    \"\"\"\r\n    shipHeatDamageAmarrTacticalDestroyer3\r\n\r\n    Used by:\r\n    Ship: Confessor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      ship.getModifiedItemAttr('shipBonusTacticalDestroyerAmarr3'),\r\n                                      skill='Amarr Tactical Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6009(BaseEffect):\r\n    \"\"\"\r\n    probeLauncherCPUPercentRoleBonusT3\r\n\r\n    Used by:\r\n    Ships from group: Strategic Cruiser (4 of 4)\r\n    Ships from group: Tactical Destroyer (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Astrometrics'), 'cpu',\r\n            src.getModifiedItemAttr('roleBonusT3ProbeCPU'), **kwargs)\r\n\r\n\r\nclass Effect6010(BaseEffect):\r\n    \"\"\"\r\n    shipModeMaxTargetRangePostDiv\r\n\r\n    Used by:\r\n    Modules named like: Sharpshooter Mode (5 of 5)\r\n    Module: Anhinga Primary Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr(\r\n            'maxTargetRange',\r\n            1 / module.getModifiedItemAttr('modeMaxTargetRangePostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv',\r\n            **kwargs)\r\n\r\n\r\nclass Effect6011(BaseEffect):\r\n    \"\"\"\r\n    shipModeSETOptimalRangePostDiv\r\n\r\n    Used by:\r\n    Module: Confessor Sharpshooter Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n            'maxRange',\r\n            1 / module.getModifiedItemAttr('modeMaxRangePostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv',\r\n            **kwargs)\r\n\r\n\r\nclass Effect6012(BaseEffect):\r\n    \"\"\"\r\n    shipModeScanStrengthPostDiv\r\n\r\n    Used by:\r\n    Modules named like: Sharpshooter Mode (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):\r\n            fit.ship.multiplyItemAttr(\r\n                'scan{}Strength'.format(scanType),\r\n                1 / (module.getModifiedItemAttr('mode{}StrengthPostDiv'.format(scanType)) or 1),\r\n                stackingPenalties=True,\r\n                penaltyGroup='postDiv',\r\n                **kwargs)\r\n\r\n\r\nclass Effect6014(BaseEffect):\r\n    \"\"\"\r\n    modeSigRadiusPostDiv\r\n\r\n    Used by:\r\n    Modules named like: Defense Mode (3 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('signatureRadius', 1 / module.getModifiedItemAttr('modeSignatureRadiusPostDiv'),\r\n                                  stackingPenalties=True, penaltyGroup='postDiv', **kwargs)\r\n\r\n\r\nclass Effect6015(BaseEffect):\r\n    \"\"\"\r\n    modeArmorResonancePostDiv\r\n\r\n    Used by:\r\n    Modules named like: Defense Mode (3 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for srcResType, tgtResType in (\r\n                ('Em', 'Em'),\r\n                ('Explosive', 'Explosive'),\r\n                ('Kinetic', 'Kinetic'),\r\n                ('Thermic', 'Thermal')\r\n        ):\r\n            fit.ship.multiplyItemAttr(\r\n                'armor{0}DamageResonance'.format(tgtResType),\r\n                1 / module.getModifiedItemAttr('mode{0}ResistancePostDiv'.format(srcResType)),\r\n                stackingPenalties=True,\r\n                penaltyGroup='postDiv',\r\n                **kwargs)\r\n\r\n\r\nclass Effect6016(BaseEffect):\r\n    \"\"\"\r\n    modeAgilityPostDiv\r\n\r\n    Used by:\r\n    Modules named like: Propulsion Mode (5 of 5)\r\n    Module: Anhinga Tertiary Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr(\r\n            'agility',\r\n            1 / module.getModifiedItemAttr('modeAgilityPostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv',\r\n            **kwargs)\r\n\r\n\r\nclass Effect6017(BaseEffect):\r\n    \"\"\"\r\n    modeVelocityPostDiv\r\n\r\n    Used by:\r\n    Module: Jackdaw Propulsion Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr(\r\n            'maxVelocity',\r\n            1 / module.getModifiedItemAttr('modeVelocityPostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv',\r\n            **kwargs)\r\n\r\n\r\nclass Effect6020(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutOptimalRS3\r\n\r\n    Used by:\r\n    Ship: Pilgrim\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',\r\n                                      src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6021(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosOptimalRS3\r\n\r\n    Used by:\r\n    Ship: Pilgrim\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',\r\n                                      src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6025(BaseEffect):\r\n    \"\"\"\r\n    eliteReconBonusMHTOptimalRange1\r\n\r\n    Used by:\r\n    Ship: Lachesis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusReconShip1'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6027(BaseEffect):\r\n    \"\"\"\r\n    eliteReconBonusMPTdamage1\r\n\r\n    Used by:\r\n    Ship: Huginn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('eliteBonusReconShip1'),\r\n                                      skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6032(BaseEffect):\r\n    \"\"\"\r\n    remoteCapacitorTransmitterPowerNeedBonusEffect\r\n\r\n    Used by:\r\n    Ships from group: Logistics (3 of 7)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',\r\n                                      'power', ship.getModifiedItemAttr('powerTransferPowerNeedBonus'), **kwargs)\r\n\r\n\r\nclass Effect6036(BaseEffect):\r\n    \"\"\"\r\n    shipHeatDamageMinmatarTacticalDestroyer3\r\n\r\n    Used by:\r\n    Ship: Svipul\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      ship.getModifiedItemAttr('shipBonusTacticalDestroyerMinmatar3'),\r\n                                      skill='Minmatar Tactical Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6037(BaseEffect):\r\n    \"\"\"\r\n    shipSPTDamageMinmatarTacticalDestroyer1\r\n\r\n    Used by:\r\n    Ship: Svipul\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusTacticalDestroyerMinmatar1'),\r\n                                      skill='Minmatar Tactical Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6038(BaseEffect):\r\n    \"\"\"\r\n    shipSPTOptimalMinmatarTacticalDestroyer2\r\n\r\n    Used by:\r\n    Ship: Svipul\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusTacticalDestroyerMinmatar2'),\r\n                                      skill='Minmatar Tactical Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6039(BaseEffect):\r\n    \"\"\"\r\n    shipModeSPTTrackingPostDiv\r\n\r\n    Used by:\r\n    Module: Svipul Sharpshooter Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n            'trackingSpeed',\r\n            1 / module.getModifiedItemAttr('modeTrackingPostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv',\r\n            **kwargs)\r\n\r\n\r\nclass Effect6040(BaseEffect):\r\n    \"\"\"\r\n    modeMWDSigRadiusPostDiv\r\n\r\n    Used by:\r\n    Module: Svipul Defense Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),\r\n            'signatureRadiusBonus',\r\n            1 / module.getModifiedItemAttr('modeMWDSigPenaltyPostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv',\r\n            **kwargs)\r\n\r\n\r\nclass Effect6041(BaseEffect):\r\n    \"\"\"\r\n    modeShieldResonancePostDiv\r\n\r\n    Used by:\r\n    Modules named like: Defense Mode (3 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for srcResType, tgtResType in (\r\n                ('Em', 'Em'),\r\n                ('Explosive', 'Explosive'),\r\n                ('Kinetic', 'Kinetic'),\r\n                ('Thermic', 'Thermal')\r\n        ):\r\n            fit.ship.multiplyItemAttr(\r\n                'shield{0}DamageResonance'.format(tgtResType),\r\n                1 / module.getModifiedItemAttr('mode{0}ResistancePostDiv'.format(srcResType)),\r\n                stackingPenalties=True,\r\n                penaltyGroup='postDiv',\r\n                **kwargs)\r\n\r\n\r\nclass Effect6045(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSentryDamageMultiplierGC3\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusGC3'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6046(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSentryHPGC3\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),\r\n                                     'hp', ship.getModifiedItemAttr('shipBonusGC3'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6047(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSentryArmorHPGC3\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),\r\n                                     'armorHP', ship.getModifiedItemAttr('shipBonusGC3'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6048(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSentryShieldHPGC3\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),\r\n                                     'shieldCapacity', ship.getModifiedItemAttr('shipBonusGC3'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6051(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLightDroneDamageMultiplierGC2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6052(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumDroneDamageMultiplierGC2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6053(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyDroneDamageMultiplierGC2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),\r\n                                     'damageMultiplier', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6054(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyDroneHPGC2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),\r\n                                     'hp', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6055(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyDroneArmorHPGC2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),\r\n                                     'armorHP', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6056(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyDroneShieldHPGC2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),\r\n                                     'shieldCapacity', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6057(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumDroneShieldHPGC2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),\r\n                                     'shieldCapacity', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6058(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumDroneArmorHPGC2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),\r\n                                     'armorHP', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6059(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumDroneHPGC2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),\r\n                                     'hp', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6060(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLightDroneHPGC2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),\r\n                                     'hp', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6061(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLightDroneArmorHPGC2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),\r\n                                     'armorHP', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6062(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLightDroneShieldHPGC2\r\n\r\n    Used by:\r\n    Ship: Ishtar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),\r\n                                     'shieldCapacity', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6063(BaseEffect):\r\n    \"\"\"\r\n    entosisLink\r\n\r\n    Used by:\r\n    Modules from group: Entosis Link (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.forceItemAttr('disallowAssistance', module.getModifiedItemAttr('disallowAssistance'))\r\n        for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):\r\n            fit.ship.boostItemAttr(\r\n                'scan{}Strength'.format(scanType),\r\n                module.getModifiedItemAttr('scan{}StrengthPercent'.format(scanType)),\r\n                stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6076(BaseEffect):\r\n    \"\"\"\r\n    shipModeMissileVelocityPostDiv\r\n\r\n    Used by:\r\n    Module: Jackdaw Sharpshooter Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'maxVelocity',\r\n            1 / module.getModifiedItemAttr('modeMaxRangePostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv',\r\n            **kwargs)\r\n\r\n\r\nclass Effect6077(BaseEffect):\r\n    \"\"\"\r\n    shipHeatDamageCaldariTacticalDestroyer3\r\n\r\n    Used by:\r\n    Ship: Jackdaw\r\n    Ship: Skua\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      ship.getModifiedItemAttr('shipBonusTacticalDestroyerCaldari3'),\r\n                                      skill='Caldari Tactical Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6083(BaseEffect):\r\n    \"\"\"\r\n    shipSmallMissileDmgPirateFaction\r\n\r\n    Used by:\r\n    Ship: Jackdaw\r\n    Ship: Metamorphosis\r\n    Ship: Skua\r\n    Ship: Sunesis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for damageType in ('em', 'explosive', 'kinetic', 'thermal'):\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),\r\n                '{0}Damage'.format(damageType), ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect6085(BaseEffect):\r\n    \"\"\"\r\n    shipMissileRoFCaldariTacticalDestroyer1\r\n\r\n    Used by:\r\n    Ship: Jackdaw\r\n    Ship: Skua\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusTacticalDestroyerCaldari1'),\r\n                                      skill='Caldari Tactical Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6088(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyAssaultMissileAllDamageMC2\r\n\r\n    Used by:\r\n    Ship: Rapier\r\n    Ship: Scythe Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for damageType in ('em', 'explosive', 'kinetic', 'thermal'):\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                            '{0}Damage'.format(damageType), ship.getModifiedItemAttr('shipBonusMC2'),\r\n                                            skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6093(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileAllDamageMC2\r\n\r\n    Used by:\r\n    Ship: Rapier\r\n    Ship: Scythe Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for damageType in ('em', 'explosive', 'kinetic', 'thermal'):\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                            '{0}Damage'.format(damageType), ship.getModifiedItemAttr('shipBonusMC2'),\r\n                                            skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6096(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLightMissileAllDamageMC2\r\n\r\n    Used by:\r\n    Ship: Rapier\r\n    Ship: Scythe Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for damageType in ('em', 'explosive', 'kinetic', 'thermal'):\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                            '{0}Damage'.format(damageType), ship.getModifiedItemAttr('shipBonusMC2'),\r\n                                            skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6098(BaseEffect):\r\n    \"\"\"\r\n    shipMissileReloadTimeCaldariTacticalDestroyer2\r\n\r\n    Used by:\r\n    Ship: Jackdaw\r\n    Ship: Skua\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n                                      'reloadTime', ship.getModifiedItemAttr('shipBonusTacticalDestroyerCaldari2'),\r\n                                      skill='Caldari Tactical Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6104(BaseEffect):\r\n    \"\"\"\r\n    entosisDurationMultiply\r\n\r\n    Used by:\r\n    Ships from group: Carrier (4 of 4)\r\n    Ships from group: Dreadnought (13 of 13)\r\n    Ships from group: Force Auxiliary (6 of 6)\r\n    Ships from group: Lancer Dreadnought (4 of 4)\r\n    Ships from group: Supercarrier (6 of 6)\r\n    Ships from group: Titan (8 of 8)\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Infomorph Psychology'),\r\n                                         'duration', ship.getModifiedItemAttr('entosisDurationMultiplier') or 1, **kwargs)\r\n\r\n\r\nclass Effect6110(BaseEffect):\r\n    \"\"\"\r\n    missileVelocityBonusOnline\r\n\r\n    Used by:\r\n    Modules from group: Missile Guidance Enhancer (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'maxVelocity', module.getModifiedItemAttr('missileVelocityBonus'),\r\n                                        stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6111(BaseEffect):\r\n    \"\"\"\r\n    missileExplosionDelayBonusOnline\r\n\r\n    Used by:\r\n    Modules from group: Missile Guidance Enhancer (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'explosionDelay', module.getModifiedItemAttr('explosionDelayBonus'),\r\n                                        stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6112(BaseEffect):\r\n    \"\"\"\r\n    missileAOECloudSizeBonusOnline\r\n\r\n    Used by:\r\n    Modules from group: Missile Guidance Enhancer (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'aoeCloudSize', module.getModifiedItemAttr('aoeCloudSizeBonus'),\r\n                                        stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6113(BaseEffect):\r\n    \"\"\"\r\n    missileAOEVelocityBonusOnline\r\n\r\n    Used by:\r\n    Modules from group: Missile Guidance Enhancer (3 of 3)\r\n    Module: ML-EKP 'Polybolos' Ballistic Control System\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'aoeVelocity', module.getModifiedItemAttr('aoeVelocityBonus'),\r\n                                        stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6128(BaseEffect):\r\n    \"\"\"\r\n    scriptMissileGuidanceComputerAOECloudSizeBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Tracking Script (2 of 2)\r\n    Charges named like: Missile Script (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('aoeCloudSizeBonus', module.getModifiedChargeAttr('aoeCloudSizeBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect6129(BaseEffect):\r\n    \"\"\"\r\n    scriptMissileGuidanceComputerAOEVelocityBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Tracking Script (2 of 2)\r\n    Charges named like: Missile Script (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('aoeVelocityBonus', module.getModifiedChargeAttr('aoeVelocityBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect6130(BaseEffect):\r\n    \"\"\"\r\n    scriptMissileGuidanceComputerMissileVelocityBonusBonus\r\n\r\n    Used by:\r\n    Charges named like: Missile Script (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('missileVelocityBonus', module.getModifiedChargeAttr('missileVelocityBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect6131(BaseEffect):\r\n    \"\"\"\r\n    scriptMissileGuidanceComputerExplosionDelayBonusBonus\r\n\r\n    Used by:\r\n    Charges named like: Missile Script (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('explosionDelayBonus', module.getModifiedChargeAttr('explosionDelayBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect6135(BaseEffect):\r\n    \"\"\"\r\n    missileGuidanceComputerBonus4\r\n\r\n    Used by:\r\n    Modules from group: Missile Guidance Computer (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        for srcAttr, tgtAttr in (\r\n                ('aoeCloudSizeBonus', 'aoeCloudSize'),\r\n                ('aoeVelocityBonus', 'aoeVelocity'),\r\n                ('missileVelocityBonus', 'maxVelocity'),\r\n                ('explosionDelayBonus', 'explosionDelay'),\r\n        ):\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                            tgtAttr, container.getModifiedItemAttr(srcAttr),\r\n                                            stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6144(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfMissileGuidanceBonus5\r\n\r\n    Used by:\r\n    Modules from group: Missile Guidance Computer (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for tgtAttr in (\r\n                'aoeCloudSizeBonus',\r\n                'explosionDelayBonus',\r\n                'missileVelocityBonus',\r\n                'maxVelocityModifier',\r\n                'aoeVelocityBonus'\r\n        ):\r\n            module.boostItemAttr(tgtAttr, module.getModifiedItemAttr('overloadTrackingModuleStrengthBonus'), **kwargs)\r\n\r\n\r\nclass Effect6148(BaseEffect):\r\n    \"\"\"\r\n    shipHeatDamageGallenteTacticalDestroyer3\r\n\r\n    Used by:\r\n    Ship: Hecate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',\r\n                                      ship.getModifiedItemAttr('shipBonusTacticalDestroyerGallente3'),\r\n                                      skill='Gallente Tactical Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6149(BaseEffect):\r\n    \"\"\"\r\n    shipSHTRoFGallenteTacticalDestroyer1\r\n\r\n    Used by:\r\n    Ship: Hecate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusTacticalDestroyerGallente1'),\r\n                                      skill='Gallente Tactical Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6150(BaseEffect):\r\n    \"\"\"\r\n    shipSHTTrackingGallenteTacticalDestroyer2\r\n\r\n    Used by:\r\n    Ship: Hecate\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusTacticalDestroyerGallente2'),\r\n                                      skill='Gallente Tactical Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6151(BaseEffect):\r\n    \"\"\"\r\n    modeHullResonancePostDiv\r\n\r\n    Used by:\r\n    Module: Hecate Defense Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for srcResType, tgtResType in (\r\n                ('Em', 'em'),\r\n                ('Explosive', 'explosive'),\r\n                ('Kinetic', 'kinetic'),\r\n                ('Thermic', 'thermal')\r\n        ):\r\n            fit.ship.multiplyItemAttr(\r\n                '{0}DamageResonance'.format(tgtResType),\r\n                1 / module.getModifiedItemAttr('mode{0}ResistancePostDiv'.format(srcResType)), **kwargs)\r\n\r\n\r\nclass Effect6152(BaseEffect):\r\n    \"\"\"\r\n    shipModeSHTOptimalRangePostDiv\r\n\r\n    Used by:\r\n    Module: Hecate Sharpshooter Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n            'maxRange',\r\n            1 / module.getModifiedItemAttr('modeMaxRangePostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv',\r\n            **kwargs)\r\n\r\n\r\nclass Effect6153(BaseEffect):\r\n    \"\"\"\r\n    modeMWDCapPostDiv\r\n\r\n    Used by:\r\n    Module: Hecate Propulsion Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),\r\n            'capacitorNeed',\r\n            1 / module.getModifiedItemAttr('modeMWDCapPostDiv'),\r\n            **kwargs)\r\n\r\n\r\nclass Effect6154(BaseEffect):\r\n    \"\"\"\r\n    modeMWDBoostPostDiv\r\n\r\n    Used by:\r\n    Module: Hecate Propulsion Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),\r\n            'speedFactor',\r\n            1 / module.getModifiedItemAttr('modeMWDVelocityPostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv',\r\n            **kwargs)\r\n\r\n\r\nclass Effect6155(BaseEffect):\r\n    \"\"\"\r\n    modeArmorRepDurationPostDiv\r\n\r\n    Used by:\r\n    Module: Hecate Defense Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n            'duration',\r\n            1 / module.getModifiedItemAttr('modeArmorRepDurationPostDiv'),\r\n            **kwargs)\r\n\r\n\r\nclass Effect6163(BaseEffect):\r\n    \"\"\"\r\n    passiveSpeedLimit\r\n\r\n    Used by:\r\n    Modules from group: Entosis Link (6 of 6)\r\n    \"\"\"\r\n\r\n    runtime = 'late'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.extraAttributes['speedLimit'] = src.getModifiedItemAttr('speedLimit')\r\n\r\n\r\nclass Effect6164(BaseEffect):\r\n    \"\"\"\r\n    systemMaxVelocityPercentage\r\n\r\n    Used by:\r\n    Celestials named like: Drifter Incursion (6 of 6)\r\n    Celestial: Drifter Crisis\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', beacon.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6166(BaseEffect):\r\n    \"\"\"\r\n    shipBonusWDFGnullPenalties\r\n\r\n    Used by:\r\n    Ship: Fiend\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Propulsion Jamming'),\r\n                                      'speedFactorBonus', ship.getModifiedItemAttr('shipBonusAT'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Propulsion Jamming'),\r\n                                      'speedBoostFactorBonus', ship.getModifiedItemAttr('shipBonusAT'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Propulsion Jamming'),\r\n                                      'massBonusPercentage', ship.getModifiedItemAttr('shipBonusAT'), **kwargs)\r\n\r\n\r\nclass Effect6170(BaseEffect):\r\n    \"\"\"\r\n    entosisCPUPenalty\r\n\r\n    Used by:\r\n    Ships from group: Interceptor (10 of 10)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Infomorph Psychology'),\r\n                                         'entosisCPUAdd', ship.getModifiedItemAttr('entosisCPUPenalty'), **kwargs)\r\n\r\n\r\nclass Effect6171(BaseEffect):\r\n    \"\"\"\r\n    entosisCPUAddition\r\n\r\n    Used by:\r\n    Modules from group: Entosis Link (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.increaseItemAttr('cpu', module.getModifiedItemAttr('entosisCPUAdd'), **kwargs)\r\n\r\n\r\nclass Effect6172(BaseEffect):\r\n    \"\"\"\r\n    battlecruiserMETRange\r\n\r\n    Used by:\r\n    Ships named like: Harbinger (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('roleBonusCBC'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('roleBonusCBC'), **kwargs)\r\n\r\n\r\nclass Effect6173(BaseEffect):\r\n    \"\"\"\r\n    battlecruiserMHTRange\r\n\r\n    Used by:\r\n    Ships named like: Brutix (2 of 2)\r\n    Ships named like: Ferox (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('roleBonusCBC'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('roleBonusCBC'), **kwargs)\r\n\r\n\r\nclass Effect6174(BaseEffect):\r\n    \"\"\"\r\n    battlecruiserMPTRange\r\n\r\n    Used by:\r\n    Ships named like: Hurricane (2 of 2)\r\n    Ship: Cenotaph\r\n    Ship: Khizriel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'maxRange', ship.getModifiedItemAttr('roleBonusCBC'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'falloff', ship.getModifiedItemAttr('roleBonusCBC'), **kwargs)\r\n\r\n\r\nclass Effect6175(BaseEffect):\r\n    \"\"\"\r\n    battlecruiserMissileRange\r\n\r\n    Used by:\r\n    Ships named like: Cyclone (2 of 2)\r\n    Ships named like: Drake (2 of 2)\r\n    Ship: Cenotaph\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'maxVelocity', skill.getModifiedItemAttr('roleBonusCBC'), **kwargs)\r\n\r\n\r\nclass Effect6176(BaseEffect):\r\n    \"\"\"\r\n    battlecruiserDroneSpeed\r\n\r\n    Used by:\r\n    Ships named like: Myrmidon (2 of 2)\r\n    Ships named like: Prophecy (2 of 2)\r\n    Ship: Alligator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'maxVelocity', ship.getModifiedItemAttr('roleBonusCBC'), **kwargs)\r\n\r\n\r\nclass Effect6177(BaseEffect):\r\n    \"\"\"\r\n    shipHybridDmg1CBC2\r\n\r\n    Used by:\r\n    Ships named like: Ferox (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusCBC2'),\r\n                                      skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect6178(BaseEffect):\r\n    \"\"\"\r\n    shipBonusProjectileTrackingMBC2\r\n\r\n    Used by:\r\n    Ship: Hurricane Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusMBC2'),\r\n                                      skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect6184(BaseEffect):\r\n    \"\"\"\r\n    shipModuleRemoteCapacitorTransmitter\r\n\r\n    Used by:\r\n    Modules from group: Remote Capacitor Transmitter (37 of 37)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowAssistance'):\r\n            return\r\n        if src.getModifiedItemAttr('maxRange', 0) < (projectionRange or 0):\r\n            return\r\n        amount = src.getModifiedItemAttr('powerTransferAmount')\r\n        duration = src.getModifiedItemAttr('duration')\r\n        if 'effect' in kwargs:\r\n            from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n            amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n        fit.addDrain(src, duration, -amount, 0)\r\n\r\n\r\nclass Effect6185(BaseEffect):\r\n    \"\"\"\r\n    shipModuleRemoteHullRepairer\r\n\r\n    Used by:\r\n    Modules from group: Remote Hull Repairer (8 of 8)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowAssistance'):\r\n            return\r\n        bonus = module.getModifiedItemAttr('structureDamageAmount')\r\n        bonus *= calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        duration = module.getModifiedItemAttr('duration') / 1000.0\r\n        fit._hullRr.append((bonus, duration))\r\n\r\n\r\nclass Effect6186(BaseEffect):\r\n    \"\"\"\r\n    shipModuleRemoteShieldBooster\r\n\r\n    Used by:\r\n    Modules from group: Remote Shield Booster (42 of 42)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowAssistance'):\r\n            return\r\n        bonus = container.getModifiedItemAttr('shieldBonus')\r\n        bonus *= calculateRangeFactor(\r\n            srcOptimalRange=container.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=container.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        duration = container.getModifiedItemAttr('duration') / 1000.0\r\n        fit._shieldRr.append((bonus, duration))\r\n\r\n\r\nclass Effect6187(BaseEffect):\r\n    \"\"\"\r\n    energyNeutralizerFalloff\r\n\r\n    Used by:\r\n    Modules from group: Energy Neutralizer (57 of 57)\r\n    \"\"\"\r\n\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if not ((hasattr(src, 'state') and src.state >= FittingModuleState.ACTIVE) or hasattr(src, 'amountActive')):\r\n            return\r\n        amount = src.getModifiedItemAttr('energyNeutralizerAmount')\r\n        amount *= calculateRangeFactor(\r\n            srcOptimalRange=src.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=src.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        if 'effect' in kwargs:\r\n            from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n            amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n        time = src.getModifiedItemAttr('duration')\r\n        fit.addDrain(src, time, amount, 0)\r\n\r\n\r\nclass Effect6188(BaseEffect):\r\n    \"\"\"\r\n    shipModuleRemoteArmorRepairer\r\n\r\n    Used by:\r\n    Modules from group: Remote Armor Repairer (43 of 43)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowAssistance'):\r\n            return\r\n        bonus = container.getModifiedItemAttr('armorDamageAmount')\r\n        bonus *= calculateRangeFactor(\r\n            srcOptimalRange=container.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=container.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        duration = container.getModifiedItemAttr('duration') / 1000.0\r\n        fit._armorRr.append((bonus, duration))\r\n        fit._armorRrPreSpool.append((bonus, duration))\r\n        fit._armorRrFullSpool.append((bonus, duration))\r\n\r\n\r\nclass Effect6195(BaseEffect):\r\n    \"\"\"\r\n    expeditionFrigateBonusShieldResistance\r\n\r\n    Used by:\r\n    Ship: Endurance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for dmgType in ('Em', 'Thermal', 'Kinetic', 'Explosive'):\r\n            fit.ship.boostItemAttr('shield{}DamageResonance'.format(dmgType),\r\n                                   src.getModifiedItemAttr('expeditionFrigateBonusShieldResistance'),\r\n                                   skill='Expedition Frigates', **kwargs)\r\n\r\n\r\nclass Effect6197(BaseEffect):\r\n    \"\"\"\r\n    energyNosferatuFalloff\r\n\r\n    Used by:\r\n    Modules from group: Energy Nosferatu (58 of 58)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        amount = src.getModifiedItemAttr('powerTransferAmount')\r\n        time = src.getModifiedItemAttr('duration')\r\n        if 'projected' in context:\r\n            if 'effect' in kwargs:\r\n                from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n                amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n            amount *= calculateRangeFactor(\r\n                srcOptimalRange=src.getModifiedItemAttr('maxRange'),\r\n                srcFalloffRange=src.getModifiedItemAttr('falloffEffectiveness'),\r\n                distance=projectionRange)\r\n            fit.addDrain(src, time, amount, 0)\r\n        elif 'module' in context:\r\n            src.itemModifiedAttributes.force('capacitorNeed', -amount, **kwargs)\r\n\r\n\r\nclass Effect6201(BaseEffect):\r\n    \"\"\"\r\n    doomsdaySlash\r\n\r\n    Used by:\r\n    Modules named like: Reaper (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', mod.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', mod.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n\r\n\r\nclass Effect6208(BaseEffect):\r\n    \"\"\"\r\n    microJumpPortalDrive\r\n\r\n    Used by:\r\n    Module: Micro Jump Field Generator\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonusPercent'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6214(BaseEffect):\r\n    \"\"\"\r\n    roleBonusCDLinksPGReduction\r\n\r\n    Used by:\r\n    Ships from group: Command Destroyer (6 of 6)\r\n    Ship: Porpoise\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'power',\r\n                                      src.getModifiedItemAttr('roleBonusCD'), **kwargs)\r\n\r\n\r\nclass Effect6216(BaseEffect):\r\n    \"\"\"\r\n    structureEnergyNeutralizerFalloff\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Energy Neutralizer (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        amount = 0\r\n        if 'projected' not in context:\r\n            return\r\n        if not ((hasattr(src, 'state') and src.state >= FittingModuleState.ACTIVE) or hasattr(src, 'amountActive')):\r\n            return\r\n        amount = src.getModifiedItemAttr('energyNeutralizerAmount')\r\n        amount *= calculateRangeFactor(\r\n            srcOptimalRange=src.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=src.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        if 'effect' in kwargs:\r\n            from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n            amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n        time = src.getModifiedItemAttr('duration')\r\n        fit.addDrain(src, time, amount, 0)\r\n\r\n\r\nclass Effect6222(BaseEffect):\r\n    \"\"\"\r\n    structureWarpScrambleBlockMWDWithNPCEffect\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Warp Scrambler (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        if module.getModifiedItemAttr('maxRange', 0) < (projectionRange or 0):\r\n            return\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', module.getModifiedItemAttr('warpScrambleStrength'), **kwargs)\r\n        fit.modules.filteredItemIncrease(\r\n            lambda mod: mod.item.requiresSkill('High Speed Maneuvering') or mod.item.requiresSkill('Micro Jump Drive Operation'),\r\n            'activationBlocked', module.getModifiedItemAttr('activationBlockedStrenght'), **kwargs)\r\n\r\n\r\nclass Effect6230(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutOptimalRS1\r\n\r\n    Used by:\r\n    Ship: Curse\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',\r\n                                      src.getModifiedItemAttr('eliteBonusReconShip1'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6232(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutFalloffRS2\r\n\r\n    Used by:\r\n    Ship: Pilgrim\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('eliteBonusReconShip2'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6233(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutFalloffRS3\r\n\r\n    Used by:\r\n    Ship: Curse\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6234(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosOptimalRS1\r\n\r\n    Used by:\r\n    Ship: Curse\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',\r\n                                      src.getModifiedItemAttr('eliteBonusReconShip1'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6237(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosFalloffRS2\r\n\r\n    Used by:\r\n    Ship: Pilgrim\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('eliteBonusReconShip2'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6238(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosFalloffRS3\r\n\r\n    Used by:\r\n    Ship: Curse\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6241(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutFalloffAD1\r\n\r\n    Used by:\r\n    Ship: Dragoon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6242(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutOptimalAD2\r\n\r\n    Used by:\r\n    Ship: Dragoon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonusAD2'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6245(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosOptimalAD2\r\n\r\n    Used by:\r\n    Ship: Dragoon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonusAD2'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6246(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosFalloffAD1\r\n\r\n    Used by:\r\n    Ship: Dragoon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6253(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutOptimalAB\r\n\r\n    Used by:\r\n    Ship: Armageddon\r\n    Ship: Armageddon Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect6256(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutFalloffAB2\r\n\r\n    Used by:\r\n    Ship: Armageddon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('shipBonusAB2'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect6257(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosOptimalAB\r\n\r\n    Used by:\r\n    Ship: Armageddon\r\n    Ship: Armageddon Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect6260(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosFalloffAB2\r\n\r\n    Used by:\r\n    Ship: Armageddon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('shipBonusAB2'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect6267(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutOptimalEAF1\r\n\r\n    Used by:\r\n    Ship: Sentinel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',\r\n                                      src.getModifiedItemAttr('eliteBonusElectronicAttackShip1'),\r\n                                      skill='Electronic Attack Ships', **kwargs)\r\n\r\n\r\nclass Effect6272(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutFalloffEAF3\r\n\r\n    Used by:\r\n    Ship: Sentinel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('eliteBonusElectronicAttackShip3'),\r\n                                      skill='Electronic Attack Ships', **kwargs)\r\n\r\n\r\nclass Effect6273(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosOptimalEAF1\r\n\r\n    Used by:\r\n    Ship: Sentinel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',\r\n                                      src.getModifiedItemAttr('eliteBonusElectronicAttackShip1'),\r\n                                      skill='Electronic Attack Ships', **kwargs)\r\n\r\n\r\nclass Effect6278(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosFalloffEAF3\r\n\r\n    Used by:\r\n    Ship: Sentinel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('eliteBonusElectronicAttackShip3'),\r\n                                      skill='Electronic Attack Ships', **kwargs)\r\n\r\n\r\nclass Effect6281(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutOptimalAF2\r\n\r\n    Used by:\r\n    Ship: Cruor\r\n    Ship: Malice\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect6285(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutFalloffAF3\r\n\r\n    Used by:\r\n    Ship: Cruor\r\n    Ship: Malice\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('shipBonus3AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect6287(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosOptimalAF2\r\n\r\n    Used by:\r\n    Ship: Cruor\r\n    Ship: Malice\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect6291(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosFalloffAF3\r\n\r\n    Used by:\r\n    Ship: Cruor\r\n    Ship: Malice\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('shipBonus3AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect6294(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutOptimalAC1\r\n\r\n    Used by:\r\n    Ship: Vangel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6299(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutFalloffAC3\r\n\r\n    Used by:\r\n    Ship: Ashimmu\r\n    Ship: Vangel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('shipBonusAC3'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6300(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosOptimalAC1\r\n\r\n    Used by:\r\n    Ship: Vangel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6301(BaseEffect):\r\n    \"\"\"\r\n    shipBonusNosOptimalFalloffAC2\r\n\r\n    Used by:\r\n    Ship: Rabisu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6305(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosFalloffAC3\r\n\r\n    Used by:\r\n    Ship: Ashimmu\r\n    Ship: Vangel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('shipBonusAC3'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6307(BaseEffect):\r\n    \"\"\"\r\n    shipBonusThermMissileDmgMD1\r\n\r\n    Used by:\r\n    Ship: Bifrost\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'thermalDamage',\r\n                                        src.getModifiedItemAttr('shipBonusMD1'), skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6308(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEMMissileDmgMD1\r\n\r\n    Used by:\r\n    Ship: Bifrost\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'emDamage',\r\n                                        src.getModifiedItemAttr('shipBonusMD1'), skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6309(BaseEffect):\r\n    \"\"\"\r\n    shipBonusKineticMissileDmgMD1\r\n\r\n    Used by:\r\n    Ship: Bifrost\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'kineticDamage',\r\n                                        src.getModifiedItemAttr('shipBonusMD1'), skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6310(BaseEffect):\r\n    \"\"\"\r\n    shipBonusExplosiveMissileDmgMD1\r\n\r\n    Used by:\r\n    Ship: Bifrost\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'explosiveDamage', src.getModifiedItemAttr('shipBonusMD1'),\r\n                                        skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6315(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandDestroyerSkirmish1\r\n\r\n    Used by:\r\n    Ships from group: Command Destroyer (3 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),\r\n                                          attrName, src.getModifiedItemAttr('eliteBonusCommandDestroyer1'),\r\n                                          skill='Command Destroyers', **kwargs)\r\n\r\n\r\nclass Effect6316(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandDestroyerShield1\r\n\r\n    Used by:\r\n    Ships from group: Command Destroyer (3 of 6)\r\n    Ship: Skua\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'),\r\n                                          attrName, src.getModifiedItemAttr('eliteBonusCommandDestroyer1'),\r\n                                          skill='Command Destroyers', **kwargs)\r\n\r\n\r\nclass Effect6317(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandDestroyerMJFGspool2\r\n\r\n    Used by:\r\n    Ships from group: Command Destroyer (6 of 6)\r\n    Ship: Skua\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Micro Jump Drive Operation'), 'duration',\r\n                                      src.getModifiedItemAttr('eliteBonusCommandDestroyer2'), skill='Command Destroyers', **kwargs)\r\n\r\n\r\nclass Effect6318(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEMShieldResistanceMD2\r\n\r\n    Used by:\r\n    Ship: Bifrost\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusMD2'),\r\n                               skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6319(BaseEffect):\r\n    \"\"\"\r\n    shipBonusKineticShieldResistanceMD2\r\n\r\n    Used by:\r\n    Ship: Bifrost\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusMD2'),\r\n                               skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6320(BaseEffect):\r\n    \"\"\"\r\n    shipBonusThermalShieldResistanceMD2\r\n\r\n    Used by:\r\n    Ship: Bifrost\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusMD2'),\r\n                               skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6321(BaseEffect):\r\n    \"\"\"\r\n    shipBonusExplosiveShieldResistanceMD2\r\n\r\n    Used by:\r\n    Ship: Bifrost\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusMD2'),\r\n                               skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6322(BaseEffect):\r\n    \"\"\"\r\n    scriptscanGravimetricStrengthBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Structure ECM script (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        src.boostItemAttr('scanGravimetricStrengthBonus', src.getModifiedChargeAttr('scanGravimetricStrengthBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect6323(BaseEffect):\r\n    \"\"\"\r\n    scriptscanLadarStrengthBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Structure ECM script (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        src.boostItemAttr('scanLadarStrengthBonus', src.getModifiedChargeAttr('scanLadarStrengthBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect6324(BaseEffect):\r\n    \"\"\"\r\n    scriptscanMagnetometricStrengthBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Structure ECM script (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        src.boostItemAttr('scanMagnetometricStrengthBonus', src.getModifiedChargeAttr('scanMagnetometricStrengthBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect6325(BaseEffect):\r\n    \"\"\"\r\n    scriptscanRadarStrengthBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Structure ECM script (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        src.boostItemAttr('scanRadarStrengthBonus', src.getModifiedChargeAttr('scanRadarStrengthBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect6326(BaseEffect):\r\n    \"\"\"\r\n    shipBonusThermalMissileDamageCD1\r\n\r\n    Used by:\r\n    Ship: Stork\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'thermalDamage',\r\n                                        src.getModifiedItemAttr('shipBonusCD1'), skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6327(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEMMissileDamageCD1\r\n\r\n    Used by:\r\n    Ship: Stork\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'emDamage',\r\n                                        src.getModifiedItemAttr('shipBonusCD1'), skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6328(BaseEffect):\r\n    \"\"\"\r\n    shipBonusKineticMissileDamageCD1\r\n\r\n    Used by:\r\n    Ship: Stork\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'kineticDamage',\r\n                                        src.getModifiedItemAttr('shipBonusCD1'), skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6329(BaseEffect):\r\n    \"\"\"\r\n    shipBonusExplosiveMissileDamageCD1\r\n\r\n    Used by:\r\n    Ship: Stork\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'explosiveDamage', src.getModifiedItemAttr('shipBonusCD1'),\r\n                                        skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6330(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldEMResistanceCD2\r\n\r\n    Used by:\r\n    Ship: Stork\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusCD2'),\r\n                               skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6331(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldThermalResistanceCD2\r\n\r\n    Used by:\r\n    Ship: Stork\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusCD2'),\r\n                               skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6332(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldKineticResistanceCD2\r\n\r\n    Used by:\r\n    Ship: Stork\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusCD2'),\r\n                               skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6333(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldExplosiveResistanceCD2\r\n\r\n    Used by:\r\n    Ship: Stork\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusCD2'),\r\n                               skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6334(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandDestroyerInfo1\r\n\r\n    Used by:\r\n    Ships from group: Command Destroyer (3 of 6)\r\n    Ship: Skua\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),\r\n                                          attrName, src.getModifiedItemAttr('eliteBonusCommandDestroyer1'),\r\n                                          skill='Command Destroyers', **kwargs)\r\n\r\n\r\nclass Effect6335(BaseEffect):\r\n    \"\"\"\r\n    shipBonusKineticArmorResistanceAD2\r\n\r\n    Used by:\r\n    Ship: Pontifex\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('shipBonusAD2'),\r\n                               skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6336(BaseEffect):\r\n    \"\"\"\r\n    shipBonusThermalArmorResistanceAD2\r\n\r\n    Used by:\r\n    Ship: Pontifex\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('shipBonusAD2'),\r\n                               skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6337(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEMArmorResistanceAD2\r\n\r\n    Used by:\r\n    Ship: Pontifex\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('shipBonusAD2'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6338(BaseEffect):\r\n    \"\"\"\r\n    shipBonusExplosiveArmorResistanceAD2\r\n\r\n    Used by:\r\n    Ship: Pontifex\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusAD2'),\r\n                               skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6339(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandDestroyerArmored1\r\n\r\n    Used by:\r\n    Ship: Magus\r\n    Ship: Pontifex\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),\r\n                                          attrName, src.getModifiedItemAttr('eliteBonusCommandDestroyer1'),\r\n                                          skill='Command Destroyers', **kwargs)\r\n\r\n\r\nclass Effect6340(BaseEffect):\r\n    \"\"\"\r\n    shipBonusKineticArmorResistanceGD2\r\n\r\n    Used by:\r\n    Ship: Magus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('shipBonusGD2'),\r\n                               skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6341(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEMArmorResistanceGD2\r\n\r\n    Used by:\r\n    Ship: Magus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('shipBonusGD2'),\r\n                               skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6342(BaseEffect):\r\n    \"\"\"\r\n    shipBonusThermalArmorResistanceGD2\r\n\r\n    Used by:\r\n    Ship: Magus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('shipBonusGD2'),\r\n                               skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6343(BaseEffect):\r\n    \"\"\"\r\n    shipBonusExplosiveArmorResistanceGD2\r\n\r\n    Used by:\r\n    Ship: Magus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusGD2'),\r\n                               skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect6350(BaseEffect):\r\n    \"\"\"\r\n    shipSmallMissileKinDmgCF3\r\n\r\n    Used by:\r\n    Ship: Caldari Navy Hookbill\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Light Missiles') or mod.charge.requiresSkill('Rockets'), 'kineticDamage',\r\n            src.getModifiedItemAttr('shipBonus3CF'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect6351(BaseEffect):\r\n    \"\"\"\r\n    shipMissileKinDamageCC3\r\n\r\n    Used by:\r\n    Ship: Osprey Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'kineticDamage',\r\n                                        src.getModifiedItemAttr('shipBonusCC3'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6352(BaseEffect):\r\n    \"\"\"\r\n    roleBonusWDRange\r\n\r\n    Used by:\r\n    Ship: Crucifier Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('roleBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'maxRange',\r\n                                      src.getModifiedItemAttr('roleBonus'), **kwargs)\r\n\r\n\r\nclass Effect6353(BaseEffect):\r\n    \"\"\"\r\n    roleBonusWDCapCPU\r\n\r\n    Used by:\r\n    Ship: Crucifier Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'cpu',\r\n                                      src.getModifiedItemAttr('roleBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('roleBonus'), **kwargs)\r\n\r\n\r\nclass Effect6354(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEwWeaponDisruptionStrengthAF2\r\n\r\n    Used by:\r\n    Variations of ship: Crucifier (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in (\r\n            'trackingSpeedBonus', 'explosionDelayBonus', 'maxRangeBonus', 'falloffBonus',\r\n            'missileVelocityBonus', 'aoeVelocityBonus', 'aoeCloudSizeBonus'\r\n        ):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), attrName,\r\n                                          src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect6357(BaseEffect):\r\n    \"\"\"\r\n    shipBonusJustScramblerRangeGF2\r\n\r\n    Used by:\r\n    Ship: Maulus Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Navigation'), 'maxRange',\r\n                                      src.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect6358(BaseEffect):\r\n    \"\"\"\r\n    roleBonusJustScramblerStrength\r\n\r\n    Used by:\r\n    Ship: Maulus Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Navigation'),\r\n                                         'warpScrambleStrength', ship.getModifiedItemAttr('roleBonus'), **kwargs)\r\n\r\n\r\nclass Effect6359(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAoeVelocityRocketsMF\r\n\r\n    Used by:\r\n    Ship: Vigil Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'), 'aoeVelocity',\r\n                                        src.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect6360(BaseEffect):\r\n    \"\"\"\r\n    shipRocketEMThermKinDmgMF2\r\n\r\n    Used by:\r\n    Ship: Vigil Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'), 'emDamage',\r\n                                        src.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'), 'thermalDamage',\r\n                                        src.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'), 'kineticDamage',\r\n                                        src.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect6361(BaseEffect):\r\n    \"\"\"\r\n    shipRocketExpDmgMF3\r\n\r\n    Used by:\r\n    Ship: Vigil Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'), 'explosiveDamage',\r\n                                        src.getModifiedItemAttr('shipBonus3MF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect6362(BaseEffect):\r\n    \"\"\"\r\n    roleBonusStasisRange\r\n\r\n    Used by:\r\n    Ship: Vigil Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'maxRange',\r\n                                      src.getModifiedItemAttr('roleBonus'), **kwargs)\r\n\r\n\r\nclass Effect6368(BaseEffect):\r\n    \"\"\"\r\n    shieldTransporterFalloffBonus\r\n\r\n    Used by:\r\n    Variations of ship: Bantam (2 of 2)\r\n    Variations of ship: Burst (2 of 2)\r\n    Ship: Osprey\r\n    Ship: Scythe\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Shield Booster', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('falloffBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Ancillary Remote Shield Booster',\r\n                                      'falloffEffectiveness', src.getModifiedItemAttr('falloffBonus'), **kwargs)\r\n\r\n\r\nclass Effect6369(BaseEffect):\r\n    \"\"\"\r\n    shipShieldTransferFalloffMC2\r\n\r\n    Used by:\r\n    Ship: Scimitar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6370(BaseEffect):\r\n    \"\"\"\r\n    shipShieldTransferFalloffCC1\r\n\r\n    Used by:\r\n    Ship: Basilisk\r\n    Ship: Etana\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6371(BaseEffect):\r\n    \"\"\"\r\n    shipRemoteArmorFalloffGC1\r\n\r\n    Used by:\r\n    Ship: Oneiros\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'falloffEffectiveness', src.getModifiedItemAttr('shipBonusGC'),\r\n                                      skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6372(BaseEffect):\r\n    \"\"\"\r\n    shipRemoteArmorFalloffAC2\r\n\r\n    Used by:\r\n    Ship: Guardian\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'falloffEffectiveness', src.getModifiedItemAttr('shipBonusAC2'),\r\n                                      skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6373(BaseEffect):\r\n    \"\"\"\r\n    armorRepairProjectorFalloffBonus\r\n\r\n    Used by:\r\n    Variations of ship: Navitas (2 of 2)\r\n    Ship: Augoror\r\n    Ship: Deacon\r\n    Ship: Exequror\r\n    Ship: Inquisitor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Armor Repairer', 'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('falloffBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Ancillary Remote Armor Repairer',\r\n                                      'falloffEffectiveness', src.getModifiedItemAttr('falloffBonus'), **kwargs)\r\n\r\n\r\nclass Effect6374(BaseEffect):\r\n    \"\"\"\r\n    droneHullRepairBonusEffect\r\n\r\n    Used by:\r\n    Ships from group: Logistics (6 of 7)\r\n    Ship: Exequror\r\n    Ship: Scythe\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Logistic Drone', 'structureDamageAmount',\r\n                                     src.getModifiedItemAttr('droneArmorDamageAmountBonus'), **kwargs)\r\n\r\n\r\nclass Effect6377(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogiFrigArmorRepSpeedCap1\r\n\r\n    Used by:\r\n    Ship: Deacon\r\n    Ship: Thalia\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('eliteBonusLogiFrig1'), skill='Logistics Frigates', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'duration',\r\n                                      src.getModifiedItemAttr('eliteBonusLogiFrig1'), skill='Logistics Frigates', **kwargs)\r\n\r\n\r\nclass Effect6378(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogiFrigShieldRepSpeedCap1\r\n\r\n    Used by:\r\n    Ship: Kirin\r\n    Ship: Scalpel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'duration',\r\n                                      src.getModifiedItemAttr('eliteBonusLogiFrig1'), skill='Logistics Frigates', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('eliteBonusLogiFrig1'), skill='Logistics Frigates', **kwargs)\r\n\r\n\r\nclass Effect6379(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogiFrigArmorHP2\r\n\r\n    Used by:\r\n    Ship: Deacon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorHP', src.getModifiedItemAttr('eliteBonusLogiFrig2'), skill='Logistics Frigates', **kwargs)\r\n\r\n\r\nclass Effect6380(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogiFrigShieldHP2\r\n\r\n    Used by:\r\n    Ship: Kirin\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldCapacity', src.getModifiedItemAttr('eliteBonusLogiFrig2'), skill='Logistics Frigates', **kwargs)\r\n\r\n\r\nclass Effect6381(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogiFrigSignature2\r\n\r\n    Used by:\r\n    Ship: Scalpel\r\n    Ship: Thalia\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('signatureRadius', src.getModifiedItemAttr('eliteBonusLogiFrig2'),\r\n                               skill='Logistics Frigates', **kwargs)\r\n\r\n\r\nclass Effect6384(BaseEffect):\r\n    \"\"\"\r\n    overloadSelfMissileGuidanceModuleBonus\r\n\r\n    Used by:\r\n    Variations of module: Guidance Disruptor I (7 of 7)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for tgtAttr in (\r\n                'aoeCloudSizeBonus',\r\n                'explosionDelayBonus',\r\n                'missileVelocityBonus',\r\n                'aoeVelocityBonus'\r\n        ):\r\n            module.boostItemAttr(tgtAttr, module.getModifiedItemAttr('overloadTrackingModuleStrengthBonus'), **kwargs)\r\n\r\n\r\nclass Effect6385(BaseEffect):\r\n    \"\"\"\r\n    ignoreCloakVelocityPenalty\r\n\r\n    Used by:\r\n    Ships from group: Expedition Frigate (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemForce(lambda mod: mod.item.group.name == 'Cloaking Device',\r\n                                      'maxVelocityModifier', src.getModifiedItemAttr('ignoreCloakVelocityPenalty'), **kwargs)\r\n\r\n\r\nclass Effect6386(BaseEffect):\r\n    \"\"\"\r\n    ewSkillGuidanceDisruptionBonus\r\n\r\n    Used by:\r\n    Modules named like: Tracking Diagnostic Subroutines (8 of 8)\r\n    Skill: Weapon Destabilization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        level = src.level if 'skill' in context else 1\r\n        for attr in (\r\n                'explosionDelayBonus',\r\n                'aoeVelocityBonus',\r\n                'aoeCloudSizeBonus',\r\n                'missileVelocityBonus'\r\n        ):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'),\r\n                                          attr, src.getModifiedItemAttr('scanSkillEwStrengthBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect6395(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEwWeaponDisruptionStrengthAC1\r\n\r\n    Used by:\r\n    Variations of ship: Arbitrator (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in (\r\n            'missileVelocityBonus', 'aoeVelocityBonus', 'maxRangeBonus', 'explosionDelayBonus',\r\n            'aoeCloudSizeBonus', 'trackingSpeedBonus', 'falloffBonus'\r\n        ):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), attrName,\r\n                                          src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6396(BaseEffect):\r\n    \"\"\"\r\n    skillStructureMissileDamageBonus\r\n\r\n    Used by:\r\n    Skill: Structure Missile Systems\r\n    \"\"\"\r\n\r\n    type = 'passive', 'structure'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        groups = ('Structure Anti-Capital Missile', 'Structure Anti-Subcapital Missile', 'Guided Bomb')\r\n        for damageType in ('em', 'thermal', 'explosive', 'kinetic'):\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name in groups,\r\n                                            '%sDamage' % damageType, src.getModifiedItemAttr('damageMultiplierBonus'),\r\n                                            skill='Structure Missile Systems', **kwargs)\r\n\r\n\r\nclass Effect6400(BaseEffect):\r\n    \"\"\"\r\n    skillStructureElectronicSystemsCapNeedBonus\r\n\r\n    Used by:\r\n    Skill: Structure Electronic Systems\r\n    \"\"\"\r\n\r\n    type = 'passive', 'structure'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        groups = ('Structure Warp Scrambler', 'Structure ECM Battery', 'Structure Stasis Webifier')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'capacitorNeed', src.getModifiedItemAttr('capNeedBonus'),\r\n                                      skill='Structure Electronic Systems', **kwargs)\r\n\r\n\r\nclass Effect6401(BaseEffect):\r\n    \"\"\"\r\n    skillStructureEngineeringSystemsCapNeedBonus\r\n\r\n    Used by:\r\n    Skill: Structure Engineering Systems\r\n    \"\"\"\r\n\r\n    type = 'passive', 'structure'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        groups = ('Structure Energy Neutralizer', 'Structure Area Denial Module')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'capacitorNeed', src.getModifiedItemAttr('capNeedBonus'),\r\n                                      skill='Structure Engineering Systems', **kwargs)\r\n\r\n\r\nclass Effect6402(BaseEffect):\r\n    \"\"\"\r\n    structureRigAoeVelocityBonusSingleTargetMissiles\r\n\r\n    Used by:\r\n    Structure Modules named like: Standup Set Missile (6 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        groups = ('Structure Anti-Subcapital Missile', 'Structure Anti-Capital Missile')\r\n\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name in groups,\r\n                                      'aoeVelocity', src.getModifiedItemAttr('structureRigMissileExploVeloBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6403(BaseEffect):\r\n    \"\"\"\r\n    structureRigVelocityBonusSingleTargetMissiles\r\n\r\n    Used by:\r\n    Structure Modules named like: Standup Set Missile (6 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        groups = ('Structure Anti-Subcapital Missile', 'Structure Anti-Capital Missile')\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name in groups,\r\n                                      'maxVelocity', src.getModifiedItemAttr('structureRigMissileVelocityBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6404(BaseEffect):\r\n    \"\"\"\r\n    structureRigNeutralizerMaxRangeFalloffEffectiveness\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig XL - Energy Neutralizer and EW (2 of 2)\r\n    Structure Modules named like: Standup Set Energy Neutralizer (4 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Energy Neutralizer',\r\n                                      'maxRange', src.getModifiedItemAttr('structureRigEwarOptimalBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Energy Neutralizer',\r\n                                      'falloffEffectiveness', src.getModifiedItemAttr('structureRigEwarFalloffBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6405(BaseEffect):\r\n    \"\"\"\r\n    structureRigNeutralizerCapacitorNeed\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig XL - Energy Neutralizer and EW (2 of 2)\r\n    Structure Modules named like: Standup Set Energy Neutralizer (4 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Energy Neutralizer',\r\n                                      'capacitorNeed', src.getModifiedItemAttr('structureRigEwarCapUseBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6406(BaseEffect):\r\n    \"\"\"\r\n    structureRigEWMaxRangeFalloff\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig M - EW projection (2 of 2)\r\n    Structure Modules named like: Standup Set EW (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        groups = ('Structure ECM Battery', 'Structure Disruption Battery')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'falloff', src.getModifiedItemAttr('structureRigEwarFalloffBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'maxRange', src.getModifiedItemAttr('structureRigEwarOptimalBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'falloffEffectiveness', src.getModifiedItemAttr('structureRigEwarFalloffBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6407(BaseEffect):\r\n    \"\"\"\r\n    structureRigEWCapacitorNeed\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig M - EW Cap Reduction (2 of 2)\r\n    Structure Modules named like: Standup Set EW (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        groups = ('Structure ECM Battery', 'Structure Disruption Battery')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'capacitorNeed', src.getModifiedItemAttr('structureRigEwarCapUseBonus'), **kwargs)\r\n\r\n\r\nclass Effect6408(BaseEffect):\r\n    \"\"\"\r\n    structureRigMaxTargets\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)\r\n    Structure Modules named like: Standup Set Target (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('maxLockedTargets', src.getModifiedItemAttr('structureRigMaxTargetBonus'), **kwargs)\r\n\r\n\r\nclass Effect6409(BaseEffect):\r\n    \"\"\"\r\n    structureRigSensorResolution\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig L - Max Targets and Sensor Boosting (2 of 2)\r\n    Structure Modules from group: Structure Combat Rig M - Boosted Sensors (2 of 2)\r\n    Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanResolution', src.getModifiedItemAttr('structureRigScanResBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6410(BaseEffect):\r\n    \"\"\"\r\n    structureRigExplosionRadiusBonusAoEMissiles\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig L - AoE Launcher Application and Projection (2 of 2)\r\n    Structure Modules from group: Structure Combat Rig XL - Missile and AoE Missile (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Guided Bomb',\r\n                                        'aoeCloudSize', src.getModifiedItemAttr('structureRigMissileExplosionRadiusBonus'),\r\n                                        stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6411(BaseEffect):\r\n    \"\"\"\r\n    structureRigVelocityBonusAoeMissiles\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig L - AoE Launcher Application and Projection (2 of 2)\r\n    Structure Modules from group: Structure Combat Rig XL - Missile and AoE Missile (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Guided Bomb',\r\n                                        'maxVelocity', src.getModifiedItemAttr('structureRigMissileVelocityBonus'),\r\n                                        stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6412(BaseEffect):\r\n    \"\"\"\r\n    structureRigPDBmaxRange\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig L - Point Defense Battery Application and Projection (2 of 2)\r\n    Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Area Denial Module',\r\n                                      'empFieldRange', src.getModifiedItemAttr('structureRigPDRangeBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6413(BaseEffect):\r\n    \"\"\"\r\n    structureRigPDBCapacitorNeed\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig L - Point Defense Battery Application and Projection (2 of 2)\r\n    Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Area Denial Module',\r\n                                      'capacitorNeed', src.getModifiedItemAttr('structureRigPDCapUseBonus'), **kwargs)\r\n\r\n\r\nclass Effect6417(BaseEffect):\r\n    \"\"\"\r\n    structureRigDoomsdayDamageLoss\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == 'Structure Doomsday Weapon',\r\n                                         'lightningWeaponDamageLossTarget',\r\n                                         src.getModifiedItemAttr('structureRigDoomsdayDamageLossTargetBonus'), **kwargs)\r\n\r\n\r\nclass Effect6422(BaseEffect):\r\n    \"\"\"\r\n    remoteSensorDampFalloff\r\n\r\n    Used by:\r\n    Modules from group: Sensor Dampener (6 of 6)\r\n    Starbases from group: Sensor Dampening Battery (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        rangeFactor = calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus') * rangeFactor,\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionBonus') * rangeFactor,\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6423(BaseEffect):\r\n    \"\"\"\r\n    shipModuleGuidanceDisruptor\r\n\r\n    Used by:\r\n    Variations of module: Guidance Disruptor I (7 of 7)\r\n    \"\"\"\r\n\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        rangeFactor = calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        for srcAttr, tgtAttr in (\r\n            ('aoeCloudSizeBonus', 'aoeCloudSize'),\r\n            ('aoeVelocityBonus', 'aoeVelocity'),\r\n            ('missileVelocityBonus', 'maxVelocity'),\r\n            ('explosionDelayBonus', 'explosionDelay')\r\n        ):\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                            tgtAttr, module.getModifiedItemAttr(srcAttr) * rangeFactor,\r\n                                            stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6424(BaseEffect):\r\n    \"\"\"\r\n    shipModuleTrackingDisruptor\r\n\r\n    Used by:\r\n    Variations of module: Tracking Disruptor I (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        rangeFactor = calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        for srcAttr, tgtAttr in (\r\n            ('trackingSpeedBonus', 'trackingSpeed'),\r\n            ('maxRangeBonus', 'maxRange'),\r\n            ('falloffBonus', 'falloff')\r\n        ):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                          tgtAttr, module.getModifiedItemAttr(srcAttr) * rangeFactor,\r\n                                          stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6425(BaseEffect):\r\n    \"\"\"\r\n    remoteTargetPaintFalloff\r\n\r\n    Used by:\r\n    Modules from group: Target Painter (9 of 9)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        appliedBoost = container.getModifiedItemAttr('signatureRadiusBonus') * calculateRangeFactor(\r\n            srcOptimalRange=container.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=container.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        fit.ship.boostItemAttr('signatureRadius', appliedBoost, stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6426(BaseEffect):\r\n    \"\"\"\r\n    remoteWebifierFalloff\r\n\r\n    Used by:\r\n    Modules from group: Stasis Grappler (8 of 8)\r\n    Modules from group: Stasis Web (19 of 19)\r\n    Starbases from group: Stasis Webification Battery (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        appliedBoost = module.getModifiedItemAttr('speedFactor') * calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        fit.ship.boostItemAttr('maxVelocity', appliedBoost, stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6427(BaseEffect):\r\n    \"\"\"\r\n    remoteSensorBoostFalloff\r\n\r\n    Used by:\r\n    Modules from group: Remote Sensor Booster (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowAssistance'):\r\n            return\r\n        rangeFactor = calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        for srcAttr, tgtAttr in (\r\n            ('maxTargetRangeBonus', 'maxTargetRange'),\r\n            ('scanResolutionBonus', 'scanResolution'),\r\n            ('scanGravimetricStrengthPercent', 'scanGravimetricStrength'),\r\n            ('scanMagnetometricStrengthPercent', 'scanMagnetometricStrength'),\r\n            ('scanRadarStrengthPercent', 'scanRadarStrength'),\r\n            ('scanLadarStrengthPercent', 'scanLadarStrength')\r\n        ):\r\n            fit.ship.boostItemAttr(tgtAttr, module.getModifiedItemAttr(srcAttr) * rangeFactor,\r\n                                   stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6428(BaseEffect):\r\n    \"\"\"\r\n    shipModuleRemoteTrackingComputer\r\n\r\n    Used by:\r\n    Modules from group: Remote Tracking Computer (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowAssistance'):\r\n            return\r\n        rangeFactor = calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        for srcAttr, tgtAttr in (\r\n            ('trackingSpeedBonus', 'trackingSpeed'),\r\n            ('maxRangeBonus', 'maxRange'),\r\n            ('falloffBonus', 'falloff')\r\n        ):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                          tgtAttr, module.getModifiedItemAttr(srcAttr) * rangeFactor,\r\n                                          stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6431(BaseEffect):\r\n    \"\"\"\r\n    fighterAbilityMissiles\r\n\r\n    Used by:\r\n    Items from category: Fighter (56 of 94)\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    displayName = 'Missile Attack'\r\n    hasCharges = True\r\n    prefix = 'fighterAbilityMissiles'\r\n    type = 'active'\r\n\r\n\r\nclass Effect6434(BaseEffect):\r\n    \"\"\"\r\n    fighterAbilityEnergyNeutralizer\r\n\r\n    Used by:\r\n    Fighters named like: Cenobite (5 of 5)\r\n    \"\"\"\r\n\r\n    displayName = 'Energy Neutralizer'\r\n    grouped = True\r\n    prefix = 'fighterAbilityEnergyNeutralizer'\r\n    type = 'active', 'projected'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, src, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        amount = src.getModifiedItemAttr('{}Amount'.format(cls.prefix)) * src.amount\r\n        amount *= calculateRangeFactor(\r\n            srcOptimalRange=src.getModifiedItemAttr('{}OptimalRange'.format(cls.prefix)),\r\n            srcFalloffRange=src.getModifiedItemAttr('{}FalloffRange'.format(cls.prefix)),\r\n            distance=projectionRange)\r\n        if 'effect' in kwargs:\r\n            from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n            amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n        time = src.getModifiedItemAttr('{}Duration'.format(cls.prefix))\r\n        fit.addDrain(src, time, amount, 0)\r\n\r\n\r\nclass Effect6435(BaseEffect):\r\n    \"\"\"\r\n    fighterAbilityStasisWebifier\r\n\r\n    Used by:\r\n    Fighters named like: Dromi (5 of 5)\r\n    \"\"\"\r\n\r\n    displayName = 'Stasis Webifier'\r\n    grouped = True\r\n    prefix = 'fighterAbilityStasisWebifier'\r\n    type = 'active', 'projected'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, src, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        speedBoost = src.getModifiedItemAttr('{}SpeedPenalty'.format(cls.prefix)) * src.amount\r\n        speedBoost *= calculateRangeFactor(\r\n            srcOptimalRange=src.getModifiedItemAttr('{}OptimalRange'.format(cls.prefix)),\r\n            srcFalloffRange=src.getModifiedItemAttr('{}FalloffRange'.format(cls.prefix)),\r\n            distance=projectionRange)\r\n        fit.ship.boostItemAttr('maxVelocity', speedBoost, stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6436(BaseEffect):\r\n    \"\"\"\r\n    fighterAbilityWarpDisruption\r\n\r\n    Used by:\r\n    Fighters named like: Siren (5 of 5)\r\n    \"\"\"\r\n\r\n    displayName = 'Warp Disruption'\r\n    grouped = True\r\n    prefix = 'fighterAbilityWarpDisruption'\r\n    type = 'active', 'projected'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, src, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        if src.getModifiedItemAttr('{}Range'.format(cls.prefix), 0) < (projectionRange or 0):\r\n            return\r\n        fit.ship.increaseItemAttr(\r\n            'warpScrambleStatus',\r\n            src.getModifiedItemAttr('{}PointStrength'.format(cls.prefix)) * src.amount,\r\n            **kwargs)\r\n\r\n\r\nclass Effect6437(BaseEffect):\r\n    \"\"\"\r\n    fighterAbilityECM\r\n\r\n    Used by:\r\n    Fighters named like: Scarab (5 of 5)\r\n    \"\"\"\r\n\r\n    displayName = 'ECM'\r\n    grouped = True\r\n    prefix = 'fighterAbilityECM'\r\n    type = 'projected', 'active'\r\n\r\n    @classmethod\r\n    def handler(cls, fit, src, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        strength = src.getModifiedItemAttr('{}Strength{}'.format(cls.prefix, fit.scanType)) * src.amount\r\n        strength *= calculateRangeFactor(\r\n            srcOptimalRange=src.getModifiedItemAttr('{}RangeOptimal'.format(cls.prefix)),\r\n            srcFalloffRange=src.getModifiedItemAttr('{}RangeFalloff'.format(cls.prefix)),\r\n            distance=projectionRange)\r\n        if 'effect' in kwargs:\r\n            from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n            strength *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n        fit.addProjectedEcm(strength)\r\n\r\n\r\nclass Effect6439(BaseEffect):\r\n    \"\"\"\r\n    fighterAbilityEvasiveManeuvers\r\n\r\n    Used by:\r\n    Fighters from group: Light Fighter (12 of 24)\r\n    Fighters from group: Structure Light Fighter (8 of 16)\r\n    \"\"\"\r\n\r\n    displayName = 'Evasive Maneuvers'\r\n    grouped = True\r\n    prefix = 'fighterAbilityEvasiveManeuvers'\r\n    runTime = 'late'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        container.boostItemAttr('maxVelocity',\r\n                                container.getModifiedItemAttr('fighterAbilityEvasiveManeuversSpeedBonus'), **kwargs)\r\n        container.boostItemAttr('signatureRadius',\r\n                                container.getModifiedItemAttr('fighterAbilityEvasiveManeuversSignatureRadiusBonus'),\r\n                                stackingPenalties=True, **kwargs)\r\n\r\n        # These may not have stacking penalties, but there's nothing else that affects the attributes yet to check.\r\n        container.multiplyItemAttr('shieldEmDamageResonance',\r\n                                   container.getModifiedItemAttr('fighterAbilityEvasiveManeuversEmResonance'),\r\n                                   stackingPenalties=True, **kwargs)\r\n        container.multiplyItemAttr('shieldThermalDamageResonance',\r\n                                   container.getModifiedItemAttr('fighterAbilityEvasiveManeuversThermResonance'),\r\n                                   stackingPenalties=True, **kwargs)\r\n        container.multiplyItemAttr('shieldKineticDamageResonance',\r\n                                   container.getModifiedItemAttr('fighterAbilityEvasiveManeuversKinResonance'),\r\n                                   stackingPenalties=True, **kwargs)\r\n        container.multiplyItemAttr('shieldExplosiveDamageResonance',\r\n                                   container.getModifiedItemAttr('fighterAbilityEvasiveManeuversExpResonance'),\r\n                                   stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6440(BaseEffect):\r\n    \"\"\"\r\n    fighterAbilityAfterburner\r\n\r\n    Used by:\r\n    Fighters named like: Shadow (2 of 2)\r\n    Fighters named like: Siren (5 of 5)\r\n    \"\"\"\r\n\r\n    displayName = 'Afterburner'\r\n    grouped = True\r\n    runTime = 'late'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('maxVelocity', module.getModifiedItemAttr('fighterAbilityAfterburnerSpeedBonus'),\r\n                             stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6441(BaseEffect):\r\n    \"\"\"\r\n    fighterAbilityMicroWarpDrive\r\n\r\n    Used by:\r\n    Items from category: Fighter (51 of 94)\r\n    \"\"\"\r\n\r\n    displayName = 'Microwarpdrive'\r\n    grouped = True\r\n    runTime = 'late'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.boostItemAttr('maxVelocity', module.getModifiedItemAttr('fighterAbilityMicroWarpDriveSpeedBonus'),\r\n                             stackingPenalties=True, **kwargs)\r\n        module.boostItemAttr('signatureRadius',\r\n                             module.getModifiedItemAttr('fighterAbilityMicroWarpDriveSignatureRadiusBonus'),\r\n                             stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6443(BaseEffect):\r\n    \"\"\"\r\n    pointDefense\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Area Denial Module (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n\r\nclass Effect6447(BaseEffect):\r\n    \"\"\"\r\n    lightningWeapon\r\n\r\n    Used by:\r\n    Structure Module: Standup Arcing Vorton Projector I\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n\r\nclass Effect6448(BaseEffect):\r\n    \"\"\"\r\n    structureMissileGuidanceEnhancer\r\n\r\n    Used by:\r\n    Variations of structure module: Standup Missile Guidance Enhancer I (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        missileGroups = ('Structure Anti-Capital Missile', 'Structure Anti-Subcapital Missile')\r\n        for srcAttr, tgtAttr in (\r\n                ('aoeCloudSizeBonus', 'aoeCloudSize'),\r\n                ('aoeVelocityBonus', 'aoeVelocity'),\r\n                ('missileVelocityBonus', 'maxVelocity'),\r\n                ('explosionDelayBonus', 'explosionDelay'),\r\n        ):\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name in missileGroups,\r\n                                            tgtAttr, container.getModifiedItemAttr(srcAttr),\r\n                                            stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6449(BaseEffect):\r\n    \"\"\"\r\n    structureBallisticControlSystem\r\n\r\n    Used by:\r\n    Variations of structure module: Standup Ballistic Control System I (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        missileGroups = ('Structure Anti-Capital Missile', 'Structure Anti-Subcapital Missile')\r\n\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.modules.filteredChargeMultiply(lambda mod: mod.charge.group.name in missileGroups,\r\n                                               '%sDamage' % dmgType,\r\n                                               module.getModifiedItemAttr('missileDamageMultiplierBonus'),\r\n                                               stackingPenalties=True, **kwargs)\r\n\r\n        launcherGroups = ('Structure XL Missile Launcher', 'Structure Multirole Missile Launcher')\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name in launcherGroups,\r\n                                         'speed', module.getModifiedItemAttr('speedMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6465(BaseEffect):\r\n    \"\"\"\r\n    fighterAbilityAttackM\r\n\r\n    Used by:\r\n    Items from category: Fighter (54 of 94)\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    displayName = 'Turret Attack'\r\n    prefix = 'fighterAbilityAttackMissile'\r\n    type = 'active'\r\n\r\n\r\nclass Effect6470(BaseEffect):\r\n    \"\"\"\r\n    remoteECMFalloff\r\n\r\n    Used by:\r\n    Modules from group: ECM (43 of 43)\r\n    Starbases from group: Electronic Warfare Battery (12 of 12)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        strength = module.getModifiedItemAttr('scan{0}StrengthBonus'.format(fit.scanType))\r\n        strength *= calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        if 'effect' in kwargs:\r\n            from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n            strength *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n        fit.addProjectedEcm(strength)\r\n\r\n\r\nclass Effect6472(BaseEffect):\r\n    \"\"\"\r\n    doomsdayBeamDOT\r\n\r\n    Used by:\r\n    Module: 'Geiravor' Explosive Lance\r\n    Module: 'Holy Destiny' Electromagnetic Lance\r\n    Module: 'Iron Pike' Kinetic Lance\r\n    Module: 'Phalarica' Thermal Lance\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', mod.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', mod.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n\r\n\r\nclass Effect6473(BaseEffect):\r\n    \"\"\"\r\n    doomsdayConeDOT\r\n\r\n    Used by:\r\n    Module: Bosonic Field Generator\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', mod.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', mod.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n\r\n\r\nclass Effect6474(BaseEffect):\r\n    \"\"\"\r\n    doomsdayHOG\r\n\r\n    Used by:\r\n    Module: Gravitational Transportation Field Oscillator\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', mod.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', mod.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n\r\n\r\nclass Effect6475(BaseEffect):\r\n    \"\"\"\r\n    structureRigDoomsdayTargetAmountBonus\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == 'Structure Doomsday Weapon',\r\n                                         'lightningWeaponTargetAmount',\r\n                                         src.getModifiedItemAttr('structureRigDoomsdayTargetAmountBonus'), **kwargs)\r\n\r\n\r\nclass Effect6476(BaseEffect):\r\n    \"\"\"\r\n    doomsdayAOEWeb\r\n\r\n    Used by:\r\n    Module: Stasis Webification Burst Projector\r\n    Structure Module: Standup Stasis Webification Burst Projector\r\n    \"\"\"\r\n\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('speedFactor'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6477(BaseEffect):\r\n    \"\"\"\r\n    doomsdayAOENeut\r\n\r\n    Used by:\r\n    Module: Energy Neutralization Burst Projector\r\n    Structure Module: Standup Energy Neutralization Burst Projector\r\n    \"\"\"\r\n\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if not ((hasattr(src, 'state') and src.state >= FittingModuleState.ACTIVE) or hasattr(src, 'amountActive')):\r\n            return\r\n        amount = src.getModifiedItemAttr('energyNeutralizerAmount')\r\n        if 'effect' in kwargs:\r\n            from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n            amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n        time = src.getModifiedItemAttr('duration')\r\n        fit.addDrain(src, time, amount, 0)\r\n\r\n\r\nclass Effect6478(BaseEffect):\r\n    \"\"\"\r\n    doomsdayAOEPaint\r\n\r\n    Used by:\r\n    Module: Target Illumination Burst Projector\r\n    Structure Module: Standup Target Illumination Burst Projector\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        fit.ship.boostItemAttr('signatureRadius', container.getModifiedItemAttr('signatureRadiusBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6479(BaseEffect):\r\n    \"\"\"\r\n    doomsdayAOETrack\r\n\r\n    Used by:\r\n    Module: Weapon Disruption Burst Projector\r\n    Structure Module: Standup Weapon Disruption Burst Projector\r\n    \"\"\"\r\n\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        for srcAttr, tgtAttr in (\r\n            ('aoeCloudSizeBonus', 'aoeCloudSize'),\r\n            ('aoeVelocityBonus', 'aoeVelocity'),\r\n            ('missileVelocityBonus', 'maxVelocity'),\r\n            ('explosionDelayBonus', 'explosionDelay')\r\n        ):\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                            tgtAttr, module.getModifiedItemAttr(srcAttr),\r\n                                            stackingPenalties=True, **kwargs)\r\n        for srcAttr, tgtAttr in (\r\n            ('trackingSpeedBonus', 'trackingSpeed'),\r\n            ('maxRangeBonus', 'maxRange'),\r\n            ('falloffBonus', 'falloff')\r\n        ):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                          tgtAttr, module.getModifiedItemAttr(srcAttr),\r\n                                          stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6481(BaseEffect):\r\n    \"\"\"\r\n    doomsdayAOEDamp\r\n\r\n    Used by:\r\n    Module: Sensor Dampening Burst Projector\r\n    Structure Module: Standup Sensor Dampening Burst Projector\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6482(BaseEffect):\r\n    \"\"\"\r\n    doomsdayAOEBubble\r\n\r\n    Used by:\r\n    Module: Warp Disruption Burst Projector\r\n    Structure Module: Standup Warp Disruption Burst Projector\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        return\r\n\r\n\r\nclass Effect6484(BaseEffect):\r\n    \"\"\"\r\n    emergencyHullEnergizer\r\n\r\n    Used by:\r\n    Variations of module: Capital Emergency Hull Energizer I (5 of 5)\r\n    \"\"\"\r\n\r\n    runtime = 'late'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):\r\n            fit.ship.multiplyItemAttr('{}DamageResonance'.format(dmgType),\r\n                                      src.getModifiedItemAttr('hull{}DamageResonance'.format(dmgType.title())),\r\n                                      stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect6485(BaseEffect):\r\n    \"\"\"\r\n    fighterAbilityLaunchBomb\r\n\r\n    Used by:\r\n    Fighters from group: Heavy Fighter (8 of 17)\r\n    Fighters from group: Structure Heavy Fighter (8 of 17)\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    displayName = 'Bomb'\r\n    hasCharges = True\r\n    prefix = 'fighterAbilityLaunchBomb'\r\n    type = 'active'\r\n\r\n\r\nclass Effect6487(BaseEffect):\r\n    \"\"\"\r\n    modifyEnergyWarfareResistance\r\n\r\n    Used by:\r\n    Modules from group: Capacitor Battery (30 of 30)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('energyWarfareResistance',\r\n                               module.getModifiedItemAttr('energyWarfareResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6488(BaseEffect):\r\n    \"\"\"\r\n    scriptSensorBoosterSensorStrengthBonusBonus\r\n\r\n    Used by:\r\n    Charges from group: Sensor Booster Script (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):\r\n            module.boostItemAttr('scan{}StrengthPercent'.format(scanType),\r\n                                 module.getModifiedChargeAttr('sensorStrengthBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect6501(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtA1DamageBonus\r\n\r\n    Used by:\r\n    Ships named like: Revelation (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtA1'), skill='Amarr Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6502(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtA2ArmorResists\r\n\r\n    Used by:\r\n    Ships named like: Revelation (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):\r\n            fit.ship.boostItemAttr(\r\n                'armor{}DamageResonance'.format(dmgType.capitalize()),\r\n                src.getModifiedItemAttr('shipBonusDreadnoughtA2'),\r\n                skill='Amarr Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6503(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtA3CapNeed\r\n\r\n    Used by:\r\n    Ships named like: Revelation (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtA3'), skill='Amarr Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6504(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtC1DamageBonus\r\n\r\n    Used by:\r\n    Ships named like: Phoenix (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('emDamage', 'thermalDamage', 'kineticDamage', 'explosiveDamage'):\r\n            fit.modules.filteredChargeBoost(lambda mod: (mod.charge.requiresSkill('XL Torpedoes') or\r\n                                                         mod.charge.requiresSkill('XL Cruise Missiles') or\r\n                                                         mod.charge.requiresSkill('Torpedoes')), attrName,\r\n                                            src.getModifiedItemAttr('shipBonusDreadnoughtC1'),\r\n                                            skill='Caldari Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6505(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtC2ShieldResists\r\n\r\n    Used by:\r\n    Variations of ship: Phoenix (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtC2'),\r\n                               skill='Caldari Dreadnought', **kwargs)\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtC2'),\r\n                               skill='Caldari Dreadnought', **kwargs)\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtC2'),\r\n                               skill='Caldari Dreadnought', **kwargs)\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtC2'),\r\n                               skill='Caldari Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6506(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtG1DamageBonus\r\n\r\n    Used by:\r\n    Ship: Moros\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6507(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtG2ROFBonus\r\n\r\n    Used by:\r\n    Variations of ship: Moros (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'speed',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtG2'), skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6508(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtG3RepairTime\r\n\r\n    Used by:\r\n    Variations of ship: Moros (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'), 'duration',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtG3'), skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6509(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtM1DamageBonus\r\n\r\n    Used by:\r\n    Ships named like: Naglfar (2 of 2)\r\n    Ship: Sarathiel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Projectile Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtM1'), skill='Minmatar Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6510(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtM2ROFBonus\r\n\r\n    Used by:\r\n    Ships named like: Naglfar (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Projectile Turret'), 'speed',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtM2'), skill='Minmatar Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6511(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtM3RepairTime\r\n\r\n    Used by:\r\n    Ship: Naglfar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'), 'duration',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtM2'), skill='Minmatar Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6513(BaseEffect):\r\n    \"\"\"\r\n    doomsdayAOEECM\r\n\r\n    Used by:\r\n    Module: ECM Jammer Burst Projector\r\n    Structure Module: Standup ECM Jammer Burst Projector\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        strength = module.getModifiedItemAttr('scan{0}StrengthBonus'.format(fit.scanType))\r\n        if 'effect' in kwargs:\r\n            from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n            strength *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n        fit.addProjectedEcm(strength)\r\n\r\n\r\nclass Effect6526(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryA1RemoteRepairAndCapAmount\r\n\r\n    Used by:\r\n    Ship: Apostle\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Capacitor Emission Systems'),\r\n                                      'powerTransferAmount', src.getModifiedItemAttr('shipBonusForceAuxiliaryA1'),\r\n                                      skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Remote Armor Repair Systems'),\r\n                                      'armorDamageAmount', src.getModifiedItemAttr('shipBonusForceAuxiliaryA1'),\r\n                                      skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6527(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryA2ArmorResists\r\n\r\n    Used by:\r\n    Ship: Apostle\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryA2'),\r\n                               skill='Amarr Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryA2'),\r\n                               skill='Amarr Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryA2'),\r\n                               skill='Amarr Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryA2'),\r\n                               skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6533(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryA4WarfareLinksBonus\r\n\r\n    Used by:\r\n    Ship: Apostle\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command') or\r\n                                                  mod.item.requiresSkill('Information Command'),\r\n                                      'warfareBuff4Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryA4'),\r\n                                      skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command') or\r\n                                                  mod.item.requiresSkill('Information Command'),\r\n                                      'warfareBuff3Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryA4'),\r\n                                      skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command') or\r\n                                                  mod.item.requiresSkill('Information Command'),\r\n                                      'warfareBuff1Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryA4'),\r\n                                      skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command') or\r\n                                                  mod.item.requiresSkill('Information Command'),\r\n                                      'buffDuration', src.getModifiedItemAttr('shipBonusForceAuxiliaryA4'),\r\n                                      skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command') or\r\n                                                  mod.item.requiresSkill('Information Command'),\r\n                                      'warfareBuff2Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryA4'),\r\n                                      skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6534(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryM4WarfareLinksBonus\r\n\r\n    Used by:\r\n    Ship: Lif\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'warfareBuff3Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryM4'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'warfareBuff2Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryM4'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'warfareBuff1Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryM4'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'buffDuration', src.getModifiedItemAttr('shipBonusForceAuxiliaryM4'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'warfareBuff4Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryM4'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6535(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryG4WarfareLinksBonus\r\n\r\n    Used by:\r\n    Ship: Ninazu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'warfareBuff3Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryG4'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'warfareBuff4Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryG4'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'buffDuration', src.getModifiedItemAttr('shipBonusForceAuxiliaryG4'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'warfareBuff2Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryG4'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'warfareBuff1Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryG4'), skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6536(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryC4WarfareLinksBonus\r\n\r\n    Used by:\r\n    Ship: Minokawa\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff3Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryC4'), skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff4Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryC4'), skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff2Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryC4'), skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'buffDuration', src.getModifiedItemAttr('shipBonusForceAuxiliaryC4'), skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff1Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryC4'), skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect6537(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole1CommandBurstCPUBonus\r\n\r\n    Used by:\r\n    Ships from group: Force Auxiliary (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'cpu',\r\n                                      src.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect6545(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryC1RemoteBoostAndCapAmount\r\n\r\n    Used by:\r\n    Ship: Minokawa\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        if src.getModifiedItemAttr('shipBonusForceAuxiliaryC1') is None:\r\n            return  # See GH Issue 1321\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Capacitor Emission Systems'),\r\n                                      'powerTransferAmount', src.getModifiedItemAttr('shipBonusForceAuxiliaryC1'),\r\n                                      skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'),\r\n                                      'shieldBonus', src.getModifiedItemAttr('shipBonusForceAuxiliaryC1'),\r\n                                      skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect6546(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryC2ShieldResists\r\n\r\n    Used by:\r\n    Variations of ship: Minokawa (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryC2'),\r\n                               skill='Caldari Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryC2'),\r\n                               skill='Caldari Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryC2'),\r\n                               skill='Caldari Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryC2'),\r\n                               skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect6548(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryG1RemoteCycleTime\r\n\r\n    Used by:\r\n    Ship: Ninazu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Remote Armor Repair Systems') or mod.item.requiresSkill('Capital Shield Emission Systems'),\r\n            'duration', src.getModifiedItemAttr('shipBonusForceAuxiliaryG1'), skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6549(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryG2LocalRepairAmount\r\n\r\n    Used by:\r\n    Ship: Ninazu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',\r\n                                      src.getModifiedItemAttr('shipBonusForceAuxiliaryG2'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'), 'armorDamageAmount',\r\n                                      src.getModifiedItemAttr('shipBonusForceAuxiliaryG2'), skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6551(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryM1RemoteDuration\r\n\r\n    Used by:\r\n    Ship: Lif\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems') or mod.item.requiresSkill('Capital Remote Armor Repair Systems'),\r\n            'duration', src.getModifiedItemAttr('shipBonusForceAuxiliaryM1'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6552(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryM2LocalBoostAmount\r\n\r\n    Used by:\r\n    Ship: Lif\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'), 'shieldBonus',\r\n                                      src.getModifiedItemAttr('shipBonusForceAuxiliaryM2'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'), 'shieldBonus',\r\n                                      src.getModifiedItemAttr('shipBonusForceAuxiliaryM2'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6555(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusDroneNavigationComputer\r\n\r\n    Used by:\r\n    Modules from group: Drone Navigation Computer (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'maxVelocity',\r\n                                       src.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxVelocity',\r\n                                     src.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6556(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusDroneDamageAmplifier\r\n\r\n    Used by:\r\n    Modules from group: Drone Damage Modules (12 of 12)\r\n    Modules named like: C3 'Hivaa Saitsuo' Ballistic Control System (2 of 2)\r\n    Module: Abyssal Ballistic Control System\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesDamageMultiplier',\r\n                                       src.getModifiedItemAttr('droneDamageBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretDamageMultiplier',\r\n                                       src.getModifiedItemAttr('droneDamageBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileDamageMultiplier',\r\n                                       src.getModifiedItemAttr('droneDamageBonus'), stackingPenalties=True, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'damageMultiplier',\r\n                                     src.getModifiedItemAttr('droneDamageBonus'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6557(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusOmnidirectionalTrackingLink\r\n\r\n    Used by:\r\n    Modules from group: Drone Tracking Modules (10 of 10)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretRangeFalloff', src.getModifiedItemAttr('falloffBonus'),\r\n                                       stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesExplosionVelocity',\r\n                                       src.getModifiedItemAttr('aoeVelocityBonus'), stackingPenalties=True, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'trackingSpeed',\r\n                                     src.getModifiedItemAttr('trackingSpeedBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileExplosionRadius',\r\n                                       src.getModifiedItemAttr('aoeCloudSizeBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretTrackingSpeed',\r\n                                       src.getModifiedItemAttr('trackingSpeedBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesExplosionRadius',\r\n                                       src.getModifiedItemAttr('aoeCloudSizeBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityMissilesRange',\r\n                                       src.getModifiedItemAttr('maxRangeBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileRangeOptimal', src.getModifiedItemAttr('maxRangeBonus'),\r\n                                       stackingPenalties=True, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'falloff',\r\n                                     src.getModifiedItemAttr('falloffBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileExplosionVelocity',\r\n                                       src.getModifiedItemAttr('aoeVelocityBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileRangeFalloff', src.getModifiedItemAttr('falloffBonus'),\r\n                                       stackingPenalties=True, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxRange',\r\n                                     src.getModifiedItemAttr('maxRangeBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretRangeOptimal', src.getModifiedItemAttr('maxRangeBonus'),\r\n                                       stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6558(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusOmnidirectionalTrackingLinkOverload\r\n\r\n    Used by:\r\n    Modules from group: Drone Tracking Modules (10 of 10)\r\n    \"\"\"\r\n\r\n    type = 'overheat'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        overloadBonus = module.getModifiedItemAttr('overloadTrackingModuleStrengthBonus')\r\n        module.boostItemAttr('maxRangeBonus', overloadBonus, **kwargs)\r\n        module.boostItemAttr('falloffBonus', overloadBonus, **kwargs)\r\n        module.boostItemAttr('trackingSpeedBonus', overloadBonus, **kwargs)\r\n        module.boostItemAttr('aoeCloudSizeBonus', overloadBonus, **kwargs)\r\n        module.boostItemAttr('aoeVelocityBonus', overloadBonus, **kwargs)\r\n\r\n\r\nclass Effect6559(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusOmnidirectionalTrackingEnhancer\r\n\r\n    Used by:\r\n    Modules from group: Drone Tracking Enhancer (10 of 10)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileExplosionRadius',\r\n                                       src.getModifiedItemAttr('aoeCloudSizeBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileRangeOptimal', src.getModifiedItemAttr('maxRangeBonus'),\r\n                                       stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretRangeFalloff', src.getModifiedItemAttr('falloffBonus'),\r\n                                       stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesExplosionRadius',\r\n                                       src.getModifiedItemAttr('aoeCloudSizeBonus'), stackingPenalties=True, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'falloff',\r\n                                     src.getModifiedItemAttr('falloffBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileRangeFalloff', src.getModifiedItemAttr('falloffBonus'),\r\n                                       stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretTrackingSpeed',\r\n                                       src.getModifiedItemAttr('trackingSpeedBonus'), stackingPenalties=True, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxRange',\r\n                                     src.getModifiedItemAttr('maxRangeBonus'), stackingPenalties=True, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'trackingSpeed',\r\n                                     src.getModifiedItemAttr('trackingSpeedBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretRangeOptimal', src.getModifiedItemAttr('maxRangeBonus'),\r\n                                       stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesExplosionVelocity',\r\n                                       src.getModifiedItemAttr('aoeVelocityBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileExplosionVelocity',\r\n                                       src.getModifiedItemAttr('aoeVelocityBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityMissilesRange',\r\n                                       src.getModifiedItemAttr('maxRangeBonus'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6560(BaseEffect):\r\n    \"\"\"\r\n    skillBonusFighters\r\n\r\n    Used by:\r\n    Skill: Fighters\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileDamageMultiplier',\r\n                                       src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretDamageMultiplier',\r\n                                       src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesDamageMultiplier',\r\n                                       src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6561(BaseEffect):\r\n    \"\"\"\r\n    skillBonusLightFighters\r\n\r\n    Used by:\r\n    Skill: Light Fighters\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Light Fighters'), 'maxVelocity',\r\n                                       src.getModifiedItemAttr('maxVelocityBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6562(BaseEffect):\r\n    \"\"\"\r\n    skillBonusSupportFightersShield\r\n\r\n    Used by:\r\n    Skill: Support Fighters\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'), 'shieldCapacity',\r\n                                       src.getModifiedItemAttr('shieldBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6563(BaseEffect):\r\n    \"\"\"\r\n    skillBonusHeavyFighters\r\n\r\n    Used by:\r\n    Skill: Heavy Fighters\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Heavy Fighters'),\r\n                                       'fighterAbilityMissilesDamageMultiplier',\r\n                                       src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Heavy Fighters'),\r\n                                       'fighterAbilityAttackMissileDamageMultiplier',\r\n                                       src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Heavy Fighters'),\r\n                                       'fighterAbilityAttackTurretDamageMultiplier',\r\n                                       src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6565(BaseEffect):\r\n    \"\"\"\r\n    citadelRigBonus\r\n\r\n    Used by:\r\n    Structures from group: Citadel (9 of 9)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n\r\n        for attr in [\r\n            'structureRigDoomsdayDamageLossTargetBonus',\r\n            'structureRigScanResBonus',\r\n            'structureRigPDRangeBonus',\r\n            'structureRigPDCapUseBonus',\r\n            'structureRigMissileExploVeloBonus',\r\n            'structureRigMissileVelocityBonus',\r\n            'structureRigEwarOptimalBonus',\r\n            'structureRigEwarFalloffBonus',\r\n            'structureRigEwarCapUseBonus',\r\n            'structureRigMissileExplosionRadiusBonus'\r\n        ]:\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Jury Rigging'),\r\n                                      attr, src.getModifiedItemAttr('structureRoleBonus'), **kwargs)\r\n\r\n\r\nclass Effect6566(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusFighterSupportUnit\r\n\r\n    Used by:\r\n    Modules from group: Fighter Support Unit (10 of 10)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldCapacity',\r\n                                       src.getModifiedItemAttr('fighterBonusShieldCapacityPercent'), **kwargs)\r\n        fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Fighters'), 'maxVelocity',\r\n                                       src.getModifiedItemAttr('fighterBonusVelocityPercent'), stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileDuration',\r\n                                       src.getModifiedItemAttr('fighterBonusROFPercent'), stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityAttackTurretDuration',\r\n                                       src.getModifiedItemAttr('fighterBonusROFPercent'), stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityMissilesDuration',\r\n                                       src.getModifiedItemAttr('fighterBonusROFPercent'), stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldRechargeRate',\r\n                                       src.getModifiedItemAttr('fighterBonusShieldRechargePercent'), **kwargs)\r\n\r\n\r\nclass Effect6567(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusNetworkedSensorArray\r\n\r\n    Used by:\r\n    Module: Networked Sensor Array\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanResolution', src.getModifiedItemAttr('scanResolutionBonus'), stackingPenalties=True, **kwargs)\r\n\r\n        for scanType in ('Magnetometric', 'Ladar', 'Gravimetric', 'Radar'):\r\n            attr = 'scan{}Strength'.format(scanType)\r\n            bonus = src.getModifiedItemAttr('scan{}StrengthPercent'.format(scanType))\r\n            fit.ship.boostItemAttr(attr, bonus, stackingPenalties=True, **kwargs)\r\n            fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), attr, bonus,\r\n                                           stackingPenalties=True, **kwargs)\r\n\r\n        # EW cap need increase\r\n        groups = [\r\n            'Burst Jammer',\r\n            'Weapon Disruptor',\r\n            'ECM',\r\n            'Stasis Grappler',\r\n            'Sensor Dampener',\r\n            'Target Painter']\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups or\r\n                                                  mod.item.requiresSkill('Propulsion Jamming'),\r\n                                      'capacitorNeed', src.getModifiedItemAttr('ewCapacitorNeedBonus'), **kwargs)\r\n        fit.modules.filteredItemIncrease(\r\n            lambda mod: mod.item.requiresSkill('Capital Micro Jump Drive Operation'), 'activationBlocked',\r\n            src.getModifiedItemAttr('networkedSensorArrayDisallowCapitalMicroJump'), **kwargs)\r\n\r\n\r\nclass Effect6570(BaseEffect):\r\n    \"\"\"\r\n    skillBonusFighterHangarManagement\r\n\r\n    Used by:\r\n    Skill: Fighter Hangar Management\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.ship.boostItemAttr('fighterCapacity', src.getModifiedItemAttr('skillBonusFighterHangarSize') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6571(BaseEffect):\r\n    \"\"\"\r\n    skillBonusCapitalAutocannonSpecialization\r\n\r\n    Used by:\r\n    Skill: Capital Autocannon Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Autocannon Specialization'),\r\n                                      'damageMultiplier', src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6572(BaseEffect):\r\n    \"\"\"\r\n    skillBonusCapitalArtillerySpecialization\r\n\r\n    Used by:\r\n    Skill: Capital Artillery Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Artillery Specialization'),\r\n                                      'damageMultiplier', src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6573(BaseEffect):\r\n    \"\"\"\r\n    skillBonusCapitalBlasterSpecialization\r\n\r\n    Used by:\r\n    Skill: Capital Blaster Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Blaster Specialization'),\r\n                                      'damageMultiplier', src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6574(BaseEffect):\r\n    \"\"\"\r\n    skillBonusCapitalRailgunSpecialization\r\n\r\n    Used by:\r\n    Skill: Capital Railgun Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Railgun Specialization'),\r\n                                      'damageMultiplier', src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6575(BaseEffect):\r\n    \"\"\"\r\n    skillBonusCapitalPulseLaserSpecialization\r\n\r\n    Used by:\r\n    Skill: Capital Pulse Laser Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Pulse Laser Specialization'),\r\n                                      'damageMultiplier', src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6576(BaseEffect):\r\n    \"\"\"\r\n    skillBonusCapitalBeamLaserSpecialization\r\n\r\n    Used by:\r\n    Skill: Capital Beam Laser Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Beam Laser Specialization'),\r\n                                      'damageMultiplier', src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6577(BaseEffect):\r\n    \"\"\"\r\n    skillBonusXLCruiseMissileSpecialization\r\n\r\n    Used by:\r\n    Skill: XL Cruise Missile Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missile Specialization'), 'speed',\r\n                                      src.getModifiedItemAttr('rofBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6578(BaseEffect):\r\n    \"\"\"\r\n    skillBonusXLTorpedoSpecialization\r\n\r\n    Used by:\r\n    Skill: XL Torpedo Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('XL Torpedo Specialization'), 'speed',\r\n                                      src.getModifiedItemAttr('rofBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6580(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole2LogisticDroneRepAmountBonus\r\n\r\n    Used by:\r\n    Ships from group: Force Auxiliary (5 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'), 'structureDamageAmount',\r\n                                     src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'), 'armorDamageAmount',\r\n                                     src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'), 'shieldBonus',\r\n                                     src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n\r\n\r\nclass Effect6581(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusTriageModule\r\n\r\n    Used by:\r\n    Variations of module: Triage Module I (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        # Remote effect bonuses (duration / amount / range / falloff)\r\n        for skill, amtAttr, stack in (\r\n                ('Capital Remote Armor Repair Systems', 'armorDamageAmount', True),\r\n                ('Capital Shield Emission Systems', 'shieldBonus', True),\r\n                ('Capital Capacitor Emission Systems', 'powerTransferAmount', False),\r\n                ('Capital Remote Hull Repair Systems', 'structureDamageAmount', False)):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'duration',\r\n                                          src.getModifiedItemAttr('siegeRemoteLogisticsDurationBonus'), **kwargs)\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), amtAttr,\r\n                                          src.getModifiedItemAttr('siegeRemoteLogisticsAmountBonus'),\r\n                                          stackingPenalties=stack, **kwargs)\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'maxRange',\r\n                                          src.getModifiedItemAttr('siegeRemoteLogisticsRangeBonus'), stackingPenalties=True, **kwargs)\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'falloffEffectiveness',\r\n                                          src.getModifiedItemAttr('siegeRemoteLogisticsRangeBonus'), stackingPenalties=True, **kwargs)\r\n\r\n        # Local armor/shield rep effects (duration / amount)\r\n        for skill, amtAttr in (\r\n                ('Capital Shield Operation', 'shieldBonus'),\r\n                ('Capital Repair Systems', 'armorDamageAmount')):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'duration',\r\n                                          src.getModifiedItemAttr('siegeLocalLogisticsDurationBonus'), **kwargs)\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), amtAttr,\r\n                                          src.getModifiedItemAttr('siegeLocalLogisticsAmountBonus'),\r\n                                          stackingPenalties=True, **kwargs)\r\n\r\n        # Speed bonus\r\n        fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n\r\n        # Scan resolution multiplier\r\n        fit.ship.multiplyItemAttr('scanResolution', src.getModifiedItemAttr('scanResolutionMultiplier'),\r\n                                  stackingPenalties=True, **kwargs)\r\n\r\n        # Mass multiplier\r\n        fit.ship.multiplyItemAttr('mass', src.getModifiedItemAttr('siegeMassMultiplier'), stackingPenalties=True, **kwargs)\r\n\r\n        # Max locked targets\r\n        fit.ship.increaseItemAttr('maxLockedTargets', src.getModifiedItemAttr('maxLockedTargetsBonus'), **kwargs)\r\n\r\n        # EW cap need increase\r\n        groups = [\r\n            'Burst Jammer',\r\n            'Weapon Disruptor',\r\n            'ECM',\r\n            'Stasis Grappler',\r\n            'Sensor Dampener',\r\n            'Target Painter']\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups or\r\n                                                  mod.item.requiresSkill('Propulsion Jamming'),\r\n                                      'capacitorNeed', src.getModifiedItemAttr('ewCapacitorNeedBonus'), **kwargs)\r\n\r\n        # todo: test for April 2016 release\r\n        # Block EWAR & projected effects\r\n        fit.ship.forceItemAttr('disallowOffensiveModifiers', src.getModifiedItemAttr('disallowOffensiveModifiers'), **kwargs)\r\n        fit.ship.forceItemAttr('disallowAssistance', src.getModifiedItemAttr('disallowAssistance'), **kwargs)\r\n\r\n        # new in April 2016 release\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'damageMultiplier',\r\n                                     src.getModifiedItemAttr('droneDamageBonus'), stackingPenalties=True, **kwargs)\r\n\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n        fit.ship.boostItemAttr('sensorDampenerResistance', src.getModifiedItemAttr('sensorDampenerResistanceBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('remoteAssistanceImpedance', src.getModifiedItemAttr('remoteAssistanceImpedanceBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('remoteRepairImpedance', src.getModifiedItemAttr('remoteRepairImpedanceBonus'), **kwargs)\r\n\r\n        fit.ship.forceItemAttr('disallowTethering', src.getModifiedItemAttr('disallowTethering'), **kwargs)\r\n        fit.ship.forceItemAttr('disallowDocking', src.getModifiedItemAttr('disallowDocking'), **kwargs)\r\n\r\n\r\nclass Effect6582(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusSiegeModule\r\n\r\n    Used by:\r\n    Modules named like: Siege Module (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        # Turrets\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret') or\r\n                                                  mod.item.requiresSkill('Capital Hybrid Turret') or\r\n                                                  mod.item.requiresSkill('Capital Projectile Turret') or\r\n                                                  mod.item.requiresSkill('Capital Precursor Weapon'),\r\n                                      'damageMultiplier', src.getModifiedItemAttr('siegeTurretDamageBonus'), **kwargs)\r\n\r\n        # Missiles\r\n        for type in ('kinetic', 'thermal', 'explosive', 'em'):\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes') or\r\n                                                        mod.charge.requiresSkill('XL Cruise Missiles') or\r\n                                                        mod.charge.requiresSkill('Torpedoes'),\r\n                                            '%sDamage' % type, src.getModifiedItemAttr('siegeMissileDamageBonus'), **kwargs)\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes') or\r\n                                                  mod.item.requiresSkill('XL Cruise Missiles'),\r\n                                      'speed', src.getModifiedItemAttr('siegeLauncherROFBonus'), **kwargs)\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Torpedo',\r\n                                      'speed', src.getModifiedItemAttr('siegeHAWMissileROFBonus'),\r\n                                      stackingPenalties=True, penaltyGroup='postPercent', **kwargs)\r\n\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),\r\n                                        'maxVelocity', src.getModifiedItemAttr('siegeTorpedoVelocityBonus'),\r\n                                        stackingPenalties=True, **kwargs)\r\n\r\n        # Tank\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation') or\r\n                                                  mod.item.requiresSkill('Capital Repair Systems'),\r\n                                      'duration', src.getModifiedItemAttr('siegeLocalLogisticsDurationBonus'), **kwargs)\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'),\r\n                                      'shieldBonus', src.getModifiedItemAttr('siegeLocalLogisticsAmountBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'),\r\n                                      'armorDamageAmount', src.getModifiedItemAttr('siegeLocalLogisticsAmountBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n        # Mobility & safety penalties\r\n        fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('speedFactor'), **kwargs)\r\n        fit.ship.multiplyItemAttr('mass', src.getModifiedItemAttr('siegeMassMultiplier'),\r\n                                  stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n        fit.ship.forceItemAttr('disallowDocking', src.getModifiedItemAttr('disallowDocking'), **kwargs)\r\n        fit.ship.forceItemAttr('disallowTethering', src.getModifiedItemAttr('disallowTethering'), **kwargs)\r\n\r\n        # Ewar and assistance resistances\r\n        fit.ship.boostItemAttr('remoteRepairImpedance', src.getModifiedItemAttr('remoteRepairImpedanceBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('sensorDampenerResistance', src.getModifiedItemAttr('sensorDampenerResistanceBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('remoteAssistanceImpedance', src.getModifiedItemAttr('remoteAssistanceImpedanceBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('weaponDisruptionResistance', src.getModifiedItemAttr('weaponDisruptionResistanceBonus'), **kwargs)\r\n\r\n\r\nclass Effect6591(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierA3WarpStrength\r\n\r\n    Used by:\r\n    Ship: Aeon\r\n    Ship: Revenant\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusSupercarrierA3'),\r\n                                  skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6592(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierC3WarpStrength\r\n\r\n    Used by:\r\n    Ship: Revenant\r\n    Ship: Wyvern\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusSupercarrierC3'),\r\n                                  skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect6593(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierG3WarpStrength\r\n\r\n    Used by:\r\n    Variations of ship: Nyx (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusSupercarrierG3'),\r\n                                  skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6594(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierM3WarpStrength\r\n\r\n    Used by:\r\n    Ship: Hel\r\n    Ship: Vendetta\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusSupercarrierM3'),\r\n                                  skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6595(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierA4WarfareLinksBonus\r\n\r\n    Used by:\r\n    Ship: Archon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),\r\n            'buffDuration', src.getModifiedItemAttr('shipBonusCarrierA4'), skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff3Value', src.getModifiedItemAttr('shipBonusCarrierA4'), skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff1Value', src.getModifiedItemAttr('shipBonusCarrierA4'), skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff4Value', src.getModifiedItemAttr('shipBonusCarrierA4'), skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff2Value', src.getModifiedItemAttr('shipBonusCarrierA4'), skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6596(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierC4WarfareLinksBonus\r\n\r\n    Used by:\r\n    Ship: Chimera\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff2Value', src.getModifiedItemAttr('shipBonusCarrierC4'), skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'buffDuration', src.getModifiedItemAttr('shipBonusCarrierC4'), skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff3Value', src.getModifiedItemAttr('shipBonusCarrierC4'), skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff4Value', src.getModifiedItemAttr('shipBonusCarrierC4'), skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff1Value', src.getModifiedItemAttr('shipBonusCarrierC4'), skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect6597(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierG4WarfareLinksBonus\r\n\r\n    Used by:\r\n    Ship: Thanatos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'warfareBuff2Value', src.getModifiedItemAttr('shipBonusCarrierG4'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'warfareBuff3Value', src.getModifiedItemAttr('shipBonusCarrierG4'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'warfareBuff4Value', src.getModifiedItemAttr('shipBonusCarrierG4'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'buffDuration', src.getModifiedItemAttr('shipBonusCarrierG4'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'warfareBuff1Value', src.getModifiedItemAttr('shipBonusCarrierG4'), skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6598(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierM4WarfareLinksBonus\r\n\r\n    Used by:\r\n    Ship: Nidhoggur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'warfareBuff4Value', src.getModifiedItemAttr('shipBonusCarrierM4'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'warfareBuff2Value', src.getModifiedItemAttr('shipBonusCarrierM4'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'warfareBuff3Value', src.getModifiedItemAttr('shipBonusCarrierM4'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'warfareBuff1Value', src.getModifiedItemAttr('shipBonusCarrierM4'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'buffDuration', src.getModifiedItemAttr('shipBonusCarrierM4'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6599(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierA1ArmorResists\r\n\r\n    Used by:\r\n    Ship: Archon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('shipBonusCarrierA1'),\r\n                               skill='Amarr Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('shipBonusCarrierA1'),\r\n                               skill='Amarr Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusCarrierA1'),\r\n                               skill='Amarr Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('shipBonusCarrierA1'),\r\n                               skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6600(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierC1ShieldResists\r\n\r\n    Used by:\r\n    Ship: Chimera\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusCarrierC1'),\r\n                               skill='Caldari Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusCarrierC1'),\r\n                               skill='Caldari Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusCarrierC1'),\r\n                               skill='Caldari Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusCarrierC1'),\r\n                               skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect6601(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierG1FighterDamage\r\n\r\n    Used by:\r\n    Ship: Thanatos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierG1'), skill='Gallente Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierG1'), skill='Gallente Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierG1'), skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6602(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierM1FighterDamage\r\n\r\n    Used by:\r\n    Ship: Nidhoggur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierM1'), skill='Minmatar Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierM1'), skill='Minmatar Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierM1'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6603(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierA1FighterDamage\r\n\r\n    Used by:\r\n    Ship: Aeon\r\n    Ship: Revenant\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierA1'), skill='Amarr Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierA1'), skill='Amarr Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierA1'), skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6604(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierC1FighterDamage\r\n\r\n    Used by:\r\n    Ship: Revenant\r\n    Ship: Wyvern\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierC1'), skill='Caldari Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierC1'), skill='Caldari Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierC1'), skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect6605(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierG1FighterDamage\r\n\r\n    Used by:\r\n    Variations of ship: Nyx (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierG1'), skill='Gallente Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierG1'), skill='Gallente Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierG1'), skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6606(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierM1FighterDamage\r\n\r\n    Used by:\r\n    Ship: Hel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierM1'), skill='Minmatar Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierM1'), skill='Minmatar Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierM1'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6607(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierA5WarfareLinksBonus\r\n\r\n    Used by:\r\n    Ship: Aeon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff4Value', src.getModifiedItemAttr('shipBonusSupercarrierA5'), skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff3Value', src.getModifiedItemAttr('shipBonusSupercarrierA5'), skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),\r\n            'buffDuration', src.getModifiedItemAttr('shipBonusSupercarrierA5'), skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff2Value', src.getModifiedItemAttr('shipBonusSupercarrierA5'), skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff1Value', src.getModifiedItemAttr('shipBonusSupercarrierA5'), skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6608(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierC5WarfareLinksBonus\r\n\r\n    Used by:\r\n    Ship: Wyvern\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'buffDuration', src.getModifiedItemAttr('shipBonusSupercarrierC5'), skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff2Value', src.getModifiedItemAttr('shipBonusSupercarrierC5'), skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff1Value', src.getModifiedItemAttr('shipBonusSupercarrierC5'), skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff4Value', src.getModifiedItemAttr('shipBonusSupercarrierC5'), skill='Caldari Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),\r\n            'warfareBuff3Value', src.getModifiedItemAttr('shipBonusSupercarrierC5'), skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect6609(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierG5WarfareLinksBonus\r\n\r\n    Used by:\r\n    Ship: Nyx\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'warfareBuff2Value', src.getModifiedItemAttr('shipBonusSupercarrierG5'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'buffDuration', src.getModifiedItemAttr('shipBonusSupercarrierG5'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'warfareBuff1Value', src.getModifiedItemAttr('shipBonusSupercarrierG5'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'warfareBuff3Value', src.getModifiedItemAttr('shipBonusSupercarrierG5'), skill='Gallente Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),\r\n            'warfareBuff4Value', src.getModifiedItemAttr('shipBonusSupercarrierG5'), skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6610(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierM5WarfareLinksBonus\r\n\r\n    Used by:\r\n    Ship: Hel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'warfareBuff4Value', src.getModifiedItemAttr('shipBonusSupercarrierM5'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'warfareBuff1Value', src.getModifiedItemAttr('shipBonusSupercarrierM5'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'warfareBuff3Value', src.getModifiedItemAttr('shipBonusSupercarrierM5'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'buffDuration', src.getModifiedItemAttr('shipBonusSupercarrierM5'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),\r\n            'warfareBuff2Value', src.getModifiedItemAttr('shipBonusSupercarrierM5'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6611(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierC2AfterburnerBonus\r\n\r\n    Used by:\r\n    Ship: Revenant\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'), 'speedFactor',\r\n                                      src.getModifiedItemAttr('shipBonusSupercarrierC2'), skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect6612(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierA2FighterApplicationBonus\r\n\r\n    Used by:\r\n    Ship: Revenant\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesExplosionVelocity',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierA2'), skill='Amarr Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileExplosionVelocity',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierA2'), skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6613(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierRole1NumWarfareLinks\r\n\r\n    Used by:\r\n    Ships from group: Supercarrier (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupOnline',\r\n                                         src.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupActive',\r\n                                         src.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect6614(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierRole2ArmorShieldModuleBonus\r\n\r\n    Used by:\r\n    Ships from group: Supercarrier (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'armorHPBonusAdd',\r\n                                      src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Upgrades'), 'capacityBonus',\r\n                                      src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n\r\n\r\nclass Effect6615(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierA4BurstProjectorBonus\r\n\r\n    Used by:\r\n    Ship: Aeon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation'),\r\n                                      'durationWeaponDisruptionBurstProjector',\r\n                                      src.getModifiedItemAttr('shipBonusSupercarrierA4'), skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6616(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierC4BurstProjectorBonus\r\n\r\n    Used by:\r\n    Ship: Wyvern\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation'),\r\n                                      'durationECMJammerBurstProjector', src.getModifiedItemAttr('shipBonusSupercarrierC4'),\r\n                                      skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect6617(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierG4BurstProjectorBonus\r\n\r\n    Used by:\r\n    Ship: Nyx\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation'),\r\n                                      'durationSensorDampeningBurstProjector',\r\n                                      src.getModifiedItemAttr('shipBonusSupercarrierG4'), skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6618(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierM4BurstProjectorBonus\r\n\r\n    Used by:\r\n    Ship: Hel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation'),\r\n                                      'durationTargetIlluminationBurstProjector',\r\n                                      src.getModifiedItemAttr('shipBonusSupercarrierM4'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6619(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierRole1NumWarfareLinks\r\n\r\n    Used by:\r\n    Ships from group: Carrier (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupOnline',\r\n                                         src.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupActive',\r\n                                         src.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect6620(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtC3ReloadBonus\r\n\r\n    Used by:\r\n    Ships named like: Phoenix (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'), 'reloadTime',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtC3'), skill='Caldari Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6621(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierA2ArmorResists\r\n\r\n    Used by:\r\n    Ship: Aeon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierA2'),\r\n                               skill='Amarr Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierA2'),\r\n                               skill='Amarr Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierA2'),\r\n                               skill='Amarr Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierA2'),\r\n                               skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6622(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierC2ShieldResists\r\n\r\n    Used by:\r\n    Ship: Wyvern\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierC2'),\r\n                               skill='Caldari Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierC2'),\r\n                               skill='Caldari Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierC2'),\r\n                               skill='Caldari Carrier', **kwargs)\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierC2'),\r\n                               skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect6623(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierG2FighterHitpoints\r\n\r\n    Used by:\r\n    Variations of ship: Nyx (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldCapacity',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierG2'), skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6624(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierM2FighterVelocity\r\n\r\n    Used by:\r\n    Ship: Hel\r\n    Ship: Vendetta\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'maxVelocity',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierM2'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6625(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierA2SupportFighterBonusRange\r\n\r\n    Used by:\r\n    Ship: Archon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterSquadronOrbitRange',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierA2'), skill='Amarr Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'),\r\n                                       'fighterAbilityEnergyNeutralizerOptimalRange',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierA2'), skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6626(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierC2SupportFighterBonusRange\r\n\r\n    Used by:\r\n    Ship: Chimera\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterSquadronOrbitRange',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierC2'), skill='Caldari Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'),\r\n                                       'fighterAbilityECMRangeOptimal', src.getModifiedItemAttr('shipBonusCarrierC2'),\r\n                                       skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect6627(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierG2SupportFighterBonusRange\r\n\r\n    Used by:\r\n    Ship: Thanatos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterSquadronOrbitRange',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierG2'), skill='Gallente Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'),\r\n                                       'fighterAbilityWarpDisruptionRange', src.getModifiedItemAttr('shipBonusCarrierG2'),\r\n                                       skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6628(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierM2SupportFighterBonusRange\r\n\r\n    Used by:\r\n    Ship: Nidhoggur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterSquadronOrbitRange',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierM2'), skill='Minmatar Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'),\r\n                                       'fighterAbilityStasisWebifierOptimalRange',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierM2'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6629(BaseEffect):\r\n    \"\"\"\r\n    scriptResistanceBonusBonus\r\n\r\n    Used by:\r\n    Charges named like: Resistance Script (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        src.boostItemAttr('emDamageResistanceBonus', src.getModifiedChargeAttr('emDamageResistanceBonusBonus'), **kwargs)\r\n        src.boostItemAttr('explosiveDamageResistanceBonus',\r\n                          src.getModifiedChargeAttr('explosiveDamageResistanceBonusBonus'), **kwargs)\r\n        src.boostItemAttr('kineticDamageResistanceBonus', src.getModifiedChargeAttr('kineticDamageResistanceBonusBonus'), **kwargs)\r\n        src.boostItemAttr('thermalDamageResistanceBonus', src.getModifiedChargeAttr('thermalDamageResistanceBonusBonus'), **kwargs)\r\n\r\n\r\nclass Effect6634(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanA1DamageBonus\r\n\r\n    Used by:\r\n    Ship: Avatar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('shipBonusTitanA1'), skill='Amarr Titan', **kwargs)\r\n\r\n\r\nclass Effect6635(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanC1KinDamageBonus\r\n\r\n    Used by:\r\n    Ship: Leviathan\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'), 'kineticDamage',\r\n                                        src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'), 'kineticDamage',\r\n                                        src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan', **kwargs)\r\n\r\n\r\nclass Effect6636(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanG1DamageBonus\r\n\r\n    Used by:\r\n    Ship: Erebus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Titan', **kwargs)\r\n\r\n\r\nclass Effect6637(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanM1DamageBonus\r\n\r\n    Used by:\r\n    Ship: Azariel\r\n    Ship: Ragnarok\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Projectile Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('shipBonusTitanM1'), skill='Minmatar Titan', **kwargs)\r\n\r\n\r\nclass Effect6638(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanC2ROFBonus\r\n\r\n    Used by:\r\n    Variations of ship: Leviathan (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher XL Cruise', 'speed',\r\n                                      src.getModifiedItemAttr('shipBonusTitanC2'), skill='Caldari Titan', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher XL Torpedo', 'speed',\r\n                                      src.getModifiedItemAttr('shipBonusTitanC2'), skill='Caldari Titan', **kwargs)\r\n\r\n\r\nclass Effect6639(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierA4FighterApplicationBonus\r\n\r\n    Used by:\r\n    Ship: Revenant\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesExplosionRadius',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierA4'), skill='Amarr Carrier', **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileExplosionRadius',\r\n                                       src.getModifiedItemAttr('shipBonusSupercarrierA4'), skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6640(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole1NumWarfareLinks\r\n\r\n    Used by:\r\n    Ships from group: Titan (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupOnline',\r\n                                         src.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupActive',\r\n                                         src.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect6641(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole2ArmorPlates&ShieldExtendersBonus\r\n\r\n    Used by:\r\n    Ships from group: Titan (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'armorHPBonusAdd',\r\n                                      src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Upgrades'), 'capacityBonus',\r\n                                      src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n\r\n\r\nclass Effect6642(BaseEffect):\r\n    \"\"\"\r\n    skillBonusDoomsdayRapidFiring\r\n\r\n    Used by:\r\n    Skill: Doomsday Rapid Firing\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Doomsday Operation'), 'duration',\r\n                                      src.getModifiedItemAttr('rofBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6647(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanA3WarpStrength\r\n\r\n    Used by:\r\n    Variations of ship: Avatar (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusTitanA3'), skill='Amarr Titan', **kwargs)\r\n\r\n\r\nclass Effect6648(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanC3WarpStrength\r\n\r\n    Used by:\r\n    Variations of ship: Leviathan (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusTitanC3'), skill='Caldari Titan', **kwargs)\r\n\r\n\r\nclass Effect6649(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanG3WarpStrength\r\n\r\n    Used by:\r\n    Ships from group: Titan (4 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusTitanG3'), skill='Gallente Titan', **kwargs)\r\n\r\n\r\nclass Effect6650(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanM3WarpStrength\r\n\r\n    Used by:\r\n    Ships from group: Titan (4 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusTitanM3'), skill='Minmatar Titan', **kwargs)\r\n\r\n\r\nclass Effect6651(BaseEffect):\r\n    \"\"\"\r\n    shipModuleAncillaryRemoteArmorRepairer\r\n\r\n    Used by:\r\n    Modules from group: Ancillary Remote Armor Repairer (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowAssistance'):\r\n            return\r\n        if module.charge and module.charge.name == 'Nanite Repair Paste':\r\n            multiplier = 3\r\n        else:\r\n            multiplier = 1\r\n        amount = module.getModifiedItemAttr('armorDamageAmount') * multiplier\r\n        amount *= calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        speed = module.getModifiedItemAttr('duration') / 1000.0\r\n        fit._armorRr.append((amount, speed))\r\n        fit._armorRrPreSpool.append((amount, speed))\r\n        fit._armorRrFullSpool.append((amount, speed))\r\n\r\n\r\nclass Effect6652(BaseEffect):\r\n    \"\"\"\r\n    shipModuleAncillaryRemoteShieldBooster\r\n\r\n    Used by:\r\n    Modules from group: Ancillary Remote Shield Booster (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowAssistance'):\r\n            return\r\n        amount = module.getModifiedItemAttr('shieldBonus')\r\n        amount *= calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        speed = module.getModifiedItemAttr('duration') / 1000.0\r\n        fit._shieldRr.append((amount, speed))\r\n\r\n\r\nclass Effect6653(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanA2CapNeed\r\n\r\n    Used by:\r\n    Ship: Avatar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret'), 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('shipBonusTitanA2'), skill='Amarr Titan', **kwargs)\r\n\r\n\r\nclass Effect6654(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanG2ROFBonus\r\n\r\n    Used by:\r\n    Variations of ship: Erebus (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'speed',\r\n                                      src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Titan', **kwargs)\r\n\r\n\r\nclass Effect6655(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanM2ROFBonus\r\n\r\n    Used by:\r\n    Ship: Azariel\r\n    Ship: Ragnarok\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Projectile Turret'), 'speed',\r\n                                      src.getModifiedItemAttr('shipBonusTitanM2'), skill='Minmatar Titan', **kwargs)\r\n\r\n\r\nclass Effect6657(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanC5AllDamageBonus\r\n\r\n    Used by:\r\n    Ship: Leviathan\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'), 'explosiveDamage',\r\n                                        src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'), 'thermalDamage',\r\n                                        src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'), 'emDamage',\r\n                                        src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'), 'thermalDamage',\r\n                                        src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'), 'emDamage',\r\n                                        src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'), 'explosiveDamage',\r\n                                        src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan', **kwargs)\r\n\r\n\r\nclass Effect6658(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusBastionModule\r\n\r\n    Used by:\r\n    Variations of module: Bastion Module I (5 of 5)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        # Resistances\r\n        for layer, attrPrefix in (('shield', 'shield'), ('armor', 'armor'), ('hull', '')):\r\n            for damageType in ('Kinetic', 'Thermal', 'Explosive', 'Em'):\r\n                bonus = '%s%sDamageResonance' % (attrPrefix, damageType)\r\n                bonus = '%s%s' % (bonus[0].lower(), bonus[1:])\r\n                booster = '%s%sDamageResonance' % (layer, damageType)\r\n                penalize = False if layer == 'hull' else True\r\n                fit.ship.multiplyItemAttr(bonus, src.getModifiedItemAttr(booster),\r\n                                          stackingPenalties=penalize, penaltyGroup='preMul', **kwargs)\r\n\r\n        # Turrets\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret') or\r\n                                                  mod.item.requiresSkill('Large Hybrid Turret') or\r\n                                                  mod.item.requiresSkill('Large Projectile Turret') or\r\n                                                  mod.item.requiresSkill('Large Precursor Weapon'),\r\n                                      'maxRange', src.getModifiedItemAttr('maxRangeBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret') or\r\n                                                  mod.item.requiresSkill('Large Hybrid Turret') or\r\n                                                  mod.item.requiresSkill('Large Projectile Turret'),\r\n                                      'falloff', src.getModifiedItemAttr('falloffBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret') or\r\n                                                  mod.item.requiresSkill('Large Hybrid Turret') or\r\n                                                  mod.item.requiresSkill('Large Projectile Turret') or\r\n                                                  mod.item.requiresSkill('Large Precursor Weapon'),\r\n                                      'speed', src.getModifiedItemAttr('bastionTurretROFBonus'),\r\n                                      stackingPenalties=True, penaltyGroup='postPerc', **kwargs)\r\n\r\n        # Missiles\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes') or\r\n                                                    mod.charge.requiresSkill('Cruise Missiles') or\r\n                                                    mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'maxVelocity', src.getModifiedItemAttr('missileVelocityBonus'),\r\n                                        stackingPenalties=True, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Cruise Missiles') or\r\n                                                  mod.item.requiresSkill('Torpedoes') or\r\n                                                  mod.item.requiresSkill('Torpedo Specialization') or\r\n                                                  mod.item.requiresSkill('Cruise Missile Specialization'),\r\n                                      'speed', src.getModifiedItemAttr('bastionMissileROFBonus'),\r\n                                      stackingPenalties=True, penaltyGroup='postPerc', **kwargs)\r\n\r\n        # Tanking\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', src.getModifiedItemAttr('armorDamageAmountBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', src.getModifiedItemAttr('shieldBoostMultiplier'),\r\n                                      stackingPenalties=True, **kwargs)\r\n        for attrName in ('duration', 'capacitorNeed'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                attrName, src.getModifiedItemAttr('bastionModeArmorRepairCapDurationBonus'), **kwargs)\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                attrName, src.getModifiedItemAttr('bastionModeShieldBoosterCapDurationBonus'), **kwargs)\r\n\r\n        # Speed penalty\r\n        fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('speedFactor'), **kwargs)\r\n\r\n        # new with April 2016 release\r\n        for scanType in ('Magnetometric', 'Ladar', 'Gravimetric', 'Radar'):\r\n            fit.ship.boostItemAttr('scan{}Strength'.format(scanType),\r\n                                   src.getModifiedItemAttr('scan{}StrengthPercent'.format(scanType)),\r\n                                   stackingPenalties=True, **kwargs)\r\n\r\n        fit.ship.boostItemAttr('remoteRepairImpedance', src.getModifiedItemAttr('remoteRepairImpedanceBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('remoteAssistanceImpedance', src.getModifiedItemAttr('remoteAssistanceImpedanceBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('sensorDampenerResistance', src.getModifiedItemAttr('sensorDampenerResistanceBonus'), **kwargs)\r\n        # This one was removed from expressions, but somehow MJD is still blocked, so leaving it here\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Micro Jump Drive Operation'),\r\n                                         'activationBlocked', src.getModifiedItemAttr('activationBlockedStrenght'), **kwargs)\r\n        fit.ship.boostItemAttr('targetPainterResistance', src.getModifiedItemAttr('targetPainterResistanceBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('weaponDisruptionResistance', src.getModifiedItemAttr('weaponDisruptionResistanceBonus'), **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n\r\n        fit.ship.forceItemAttr('disallowDocking', src.getModifiedItemAttr('disallowDocking'), **kwargs)\r\n        fit.ship.forceItemAttr('disallowTethering', src.getModifiedItemAttr('disallowTethering'), **kwargs)\r\n\r\n\r\nclass Effect6660(BaseEffect):\r\n    \"\"\"\r\n    higgsWarpBubbleImmuneRemoval\r\n\r\n    Used by:\r\n    Modules from group: Burst Jammer (11 of 11)\r\n    Modules from group: Rig Anchor (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.forceItemAttr('warpBubbleImmune', ship.getModifiedItemAttr('warpBubbleImmuneModifier'), **kwargs)\r\n\r\n\r\nclass Effect6661(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierM3FighterVelocity\r\n\r\n    Used by:\r\n    Ship: Nidhoggur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'maxVelocity',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierM3'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6662(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierG3FighterHitpoints\r\n\r\n    Used by:\r\n    Ship: Thanatos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldCapacity',\r\n                                       src.getModifiedItemAttr('shipBonusCarrierG3'), skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6663(BaseEffect):\r\n    \"\"\"\r\n    skillBonusDroneInterfacing\r\n\r\n    Used by:\r\n    Skill: Drone Interfacing\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level if 'skill' in context else 1\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'damageMultiplier',\r\n                                     src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileDamageMultiplier',\r\n                                       src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretDamageMultiplier',\r\n                                       src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityMissilesDamageMultiplier',\r\n                                       src.getModifiedItemAttr('damageMultiplierBonus') * lvl, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'), 'miningDroneAmountPercent',\r\n                                     src.getModifiedItemAttr('miningAmountBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6664(BaseEffect):\r\n    \"\"\"\r\n    skillBonusDroneSharpshooting\r\n\r\n    Used by:\r\n    Implants named like: Black Market 'Valdimar' Drone Sharpshooting DS (3 of 3)\r\n    Skill: Drone Sharpshooting\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level if 'skill' in context else 1\r\n        fit.drones.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Drones'), 'maxRange',\r\n            src.getModifiedItemAttr('rangeSkillBonus') * lvl, **kwargs)\r\n        fit.fighters.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityMissilesRange',\r\n            src.getModifiedItemAttr('rangeSkillBonus') * lvl, **kwargs)\r\n        fit.fighters.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityAttackTurretRangeOptimal',\r\n            src.getModifiedItemAttr('rangeSkillBonus') * lvl, **kwargs)\r\n        fit.fighters.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityAttackMissileRangeOptimal',\r\n            src.getModifiedItemAttr('rangeSkillBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6665(BaseEffect):\r\n    \"\"\"\r\n    skillBonusDroneDurability\r\n\r\n    Used by:\r\n    Implants named like: Black Market 'Valdimar' Drone Durability DD (3 of 3)\r\n    Implants named like: Halcyon B Booster (5 of 5)\r\n    Skill: Drone Durability\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level if 'skill' in context else 1\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'hp',\r\n                                     src.getModifiedItemAttr('hullHpBonus') * lvl, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'armorHP',\r\n                                     src.getModifiedItemAttr('armorHpBonus') * lvl, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'shieldCapacity',\r\n                                     src.getModifiedItemAttr('shieldCapacityBonus') * lvl, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldCapacity',\r\n                                       src.getModifiedItemAttr('shieldCapacityBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6667(BaseEffect):\r\n    \"\"\"\r\n    skillBonusDroneNavigation\r\n\r\n    Used by:\r\n    Implants named like: Black Market 'Valdimar' Drone Navigation DN (3 of 3)\r\n    Implants named like: Federation Application Booster (4 of 4)\r\n    Implants named like: Imperial Application Booster (4 of 4)\r\n    Skill: Drone Navigation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level if 'skill' in context else 1\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxVelocity',\r\n                                     src.getModifiedItemAttr('maxVelocityBonus') * lvl, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'maxVelocity',\r\n                                       src.getModifiedItemAttr('maxVelocityBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6669(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusCapitalDroneDurabilityEnhancer\r\n\r\n    Used by:\r\n    Variations of module: Capital Drone Durability Enhancer I (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'armorHP',\r\n                                     src.getModifiedItemAttr('hullHpBonus'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'hp',\r\n                                     src.getModifiedItemAttr('hullHpBonus'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'shieldCapacity',\r\n                                     src.getModifiedItemAttr('hullHpBonus'), **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldCapacity',\r\n                                       src.getModifiedItemAttr('hullHpBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('cpuOutput', src.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect6670(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusCapitalDroneScopeChip\r\n\r\n    Used by:\r\n    Variations of module: Capital Drone Scope Chip I (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxRange',\r\n                                     src.getModifiedItemAttr('rangeSkillBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityMissilesRange',\r\n                                       src.getModifiedItemAttr('rangeSkillBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackTurretRangeOptimal', src.getModifiedItemAttr('rangeSkillBonus'),\r\n                                       stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),\r\n                                       'fighterAbilityAttackMissileRangeOptimal',\r\n                                       src.getModifiedItemAttr('rangeSkillBonus'), stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('cpuOutput', src.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect6671(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusCapitalDroneSpeedAugmentor\r\n\r\n    Used by:\r\n    Variations of module: Capital Drone Speed Augmentor I (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxVelocity',\r\n                                     src.getModifiedItemAttr('droneMaxVelocityBonus'), stackingPenalties=True, **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'maxVelocity',\r\n                                       src.getModifiedItemAttr('droneMaxVelocityBonus'), stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('cpuOutput', src.getModifiedItemAttr('drawback'), **kwargs)\r\n\r\n\r\nclass Effect6672(BaseEffect):\r\n    \"\"\"\r\n    structureCombatRigSecurityModification\r\n\r\n    Used by:\r\n    Items from market group: Structure Modifications > Structure Combat Rigs (32 of 34)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        secMap = {\r\n            FitSystemSecurity.HISEC: 'hiSecModifier',\r\n            FitSystemSecurity.LOWSEC: 'lowSecModifier',\r\n            FitSystemSecurity.NULLSEC: 'nullSecModifier',\r\n            FitSystemSecurity.WSPACE: 'nullSecModifier'}\r\n        fitSec = fit.getSystemSecurity()\r\n        attrName = secMap[fitSec]\r\n        secModifier = module.getModifiedItemAttr(attrName)\r\n        module.multiplyItemAttr('structureRigDoomsdayDamageLossTargetBonus', secModifier, **kwargs)\r\n        module.multiplyItemAttr('structureRigScanResBonus', secModifier, **kwargs)\r\n        module.multiplyItemAttr('structureRigPDRangeBonus', secModifier, **kwargs)\r\n        module.multiplyItemAttr('structureRigPDCapUseBonus', secModifier, **kwargs)\r\n        module.multiplyItemAttr('structureRigMissileExploVeloBonus', secModifier, **kwargs)\r\n        module.multiplyItemAttr('structureRigMissileVelocityBonus', secModifier, **kwargs)\r\n        module.multiplyItemAttr('structureRigEwarOptimalBonus', secModifier, **kwargs)\r\n        module.multiplyItemAttr('structureRigEwarFalloffBonus', secModifier, **kwargs)\r\n        module.multiplyItemAttr('structureRigEwarCapUseBonus', secModifier, **kwargs)\r\n        module.multiplyItemAttr('structureRigMissileExplosionRadiusBonus', secModifier, **kwargs)\r\n        module.multiplyItemAttr('structureRigMaxTargetRangeBonus', secModifier, **kwargs)\r\n\r\n\r\nclass Effect6679(BaseEffect):\r\n    \"\"\"\r\n    skillStructureDoomsdayDurationBonus\r\n\r\n    Used by:\r\n    Skill: Structure Doomsday Operation\r\n    \"\"\"\r\n\r\n    type = 'passive', 'structure'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Doomsday Weapon',\r\n                                      'duration', src.getModifiedItemAttr('durationBonus'),\r\n                                      skill='Structure Doomsday Operation', **kwargs)\r\n\r\n\r\nclass Effect6681(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole3NumWarfareLinks\r\n\r\n    Used by:\r\n    Ships from group: Force Auxiliary (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupOnline',\r\n                                         src.getModifiedItemAttr('shipBonusRole3'), **kwargs)\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupActive',\r\n                                         src.getModifiedItemAttr('shipBonusRole3'), **kwargs)\r\n\r\n\r\nclass Effect6682(BaseEffect):\r\n    \"\"\"\r\n    structureModuleEffectStasisWebifier\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Stasis Webifier (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        speedBoost = module.getModifiedItemAttr('speedFactor')\r\n        speedBoost *= calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        fit.ship.boostItemAttr('maxVelocity', speedBoost, stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6683(BaseEffect):\r\n    \"\"\"\r\n    structureModuleEffectTargetPainter\r\n\r\n    Used by:\r\n    Variations of structure module: Standup Target Painter I (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        appliedBoost = container.getModifiedItemAttr('signatureRadiusBonus')\r\n        appliedBoost *= calculateRangeFactor(\r\n            srcOptimalRange=container.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=container.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        fit.ship.boostItemAttr('signatureRadius', appliedBoost, stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6684(BaseEffect):\r\n    \"\"\"\r\n    structureModuleEffectRemoteSensorDampener\r\n\r\n    Used by:\r\n    Variations of structure module: Standup Remote Sensor Dampener I (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        rangeFactor = calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus') * rangeFactor,\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionBonus') * rangeFactor,\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6685(BaseEffect):\r\n    \"\"\"\r\n    structureModuleEffectECM\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure ECM Battery (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        strength = module.getModifiedItemAttr('scan{0}StrengthBonus'.format(fit.scanType))\r\n        strength *= calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        if 'effect' in kwargs:\r\n            from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n            strength *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n        fit.addProjectedEcm(strength)\r\n\r\n\r\nclass Effect6686(BaseEffect):\r\n    \"\"\"\r\n    structureModuleEffectWeaponDisruption\r\n\r\n    Used by:\r\n    Variations of structure module: Standup Weapon Disruptor I (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        rangeFactor = calculateRangeFactor(\r\n            srcOptimalRange=module.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        for srcAttr, tgtAttr in (\r\n            ('aoeCloudSizeBonus', 'aoeCloudSize'),\r\n            ('aoeVelocityBonus', 'aoeVelocity'),\r\n            ('missileVelocityBonus', 'maxVelocity'),\r\n            ('explosionDelayBonus', 'explosionDelay')\r\n        ):\r\n            fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                            tgtAttr, module.getModifiedItemAttr(srcAttr) * rangeFactor,\r\n                                            stackingPenalties=True, **kwargs)\r\n        for srcAttr, tgtAttr in (\r\n            ('trackingSpeedBonus', 'trackingSpeed'),\r\n            ('maxRangeBonus', 'maxRange'),\r\n            ('falloffBonus', 'falloff')\r\n        ):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                          tgtAttr, module.getModifiedItemAttr(srcAttr) * rangeFactor,\r\n                                          stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6687(BaseEffect):\r\n    \"\"\"\r\n    npcEntityRemoteArmorRepairer\r\n\r\n    Used by:\r\n    Drones named like: Armor Maintenance Bot (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowAssistance'):\r\n            return\r\n        if container.getModifiedItemAttr('maxRange', 0) < (projectionRange or 0):\r\n            return\r\n        bonus = container.getModifiedItemAttr('armorDamageAmount')\r\n        duration = container.getModifiedItemAttr('duration') / 1000.0\r\n        fit._armorRr.append((bonus, duration))\r\n        fit._armorRrPreSpool.append((bonus, duration))\r\n        fit._armorRrFullSpool.append((bonus, duration))\r\n\r\n\r\nclass Effect6688(BaseEffect):\r\n    \"\"\"\r\n    npcEntityRemoteShieldBooster\r\n\r\n    Used by:\r\n    Drones named like: Shield Maintenance Bot (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowAssistance'):\r\n            return\r\n        if container.getModifiedItemAttr('maxRange', 0) < (projectionRange or 0):\r\n            return\r\n        bonus = container.getModifiedItemAttr('shieldBonus')\r\n        duration = container.getModifiedItemAttr('duration') / 1000.0\r\n        fit._shieldRr.append((bonus, duration))\r\n\r\n\r\nclass Effect6689(BaseEffect):\r\n    \"\"\"\r\n    npcEntityRemoteHullRepairer\r\n\r\n    Used by:\r\n    Drones named like: Hull Maintenance Bot (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowAssistance'):\r\n            return\r\n        if module.getModifiedItemAttr('maxRange', 0) < (projectionRange or 0):\r\n            return\r\n        bonus = module.getModifiedItemAttr('structureDamageAmount')\r\n        duration = module.getModifiedItemAttr('duration') / 1000.0\r\n        fit._hullRr.append((bonus, duration))\r\n\r\n\r\nclass Effect6690(BaseEffect):\r\n    \"\"\"\r\n    remoteWebifierEntity\r\n\r\n    Used by:\r\n    Drones named like: SW (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        if module.getModifiedItemAttr('maxRange', 0) < (projectionRange or 0):\r\n            return\r\n        fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('speedFactor'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6691(BaseEffect):\r\n    \"\"\"\r\n    entityEnergyNeutralizerFalloff\r\n\r\n    Used by:\r\n    Drones named like: EV (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'active', 'projected'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if not ((hasattr(src, 'state') and src.state >= FittingModuleState.ACTIVE) or hasattr(src, 'amountActive')):\r\n            return\r\n        if src.getModifiedItemAttr('energyNeutralizerRangeOptimal', 0) < (projectionRange or 0):\r\n            return\r\n        amount = src.getModifiedItemAttr('energyNeutralizerAmount')\r\n        if 'effect' in kwargs:\r\n            from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n            amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n        time = src.getModifiedItemAttr('energyNeutralizerDuration')\r\n        fit.addDrain(src, time, amount, 0)\r\n\r\n\r\nclass Effect6692(BaseEffect):\r\n    \"\"\"\r\n    remoteTargetPaintEntity\r\n\r\n    Used by:\r\n    Drones named like: TP (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        if container.getModifiedItemAttr('maxRange', 0) < (projectionRange or 0):\r\n            return\r\n        fit.ship.boostItemAttr('signatureRadius', container.getModifiedItemAttr('signatureRadiusBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6693(BaseEffect):\r\n    \"\"\"\r\n    remoteSensorDampEntity\r\n\r\n    Used by:\r\n    Drones named like: SD (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        if container.getModifiedItemAttr('maxRange', 0) < (projectionRange or 0):\r\n            return\r\n        fit.ship.boostItemAttr('maxTargetRange', container.getModifiedItemAttr('maxTargetRangeBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('scanResolution', container.getModifiedItemAttr('scanResolutionBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6694(BaseEffect):\r\n    \"\"\"\r\n    npcEntityWeaponDisruptor\r\n\r\n    Used by:\r\n    Drones named like: TD (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        if container.getModifiedItemAttr('maxRange', 0) < (projectionRange or 0):\r\n            return\r\n        for srcAttr, tgtAttr in (\r\n            ('trackingSpeedBonus', 'trackingSpeed'),\r\n            ('maxRangeBonus', 'maxRange'),\r\n            ('falloffBonus', 'falloff')\r\n        ):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                          tgtAttr, container.getModifiedItemAttr(srcAttr),\r\n                                          stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6695(BaseEffect):\r\n    \"\"\"\r\n    entityECMFalloff\r\n\r\n    Used by:\r\n    Drones named like: EC (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        if container.getModifiedItemAttr('ECMRangeOptimal', 0) < (projectionRange or 0):\r\n            return\r\n        strength = container.getModifiedItemAttr('scan{0}StrengthBonus'.format(fit.scanType))\r\n        if 'effect' in kwargs:\r\n            from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n            strength *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n        fit.addProjectedEcm(strength)\r\n\r\n\r\nclass Effect6697(BaseEffect):\r\n    \"\"\"\r\n    rigDrawbackReductionArmor\r\n\r\n    Used by:\r\n    Skill: Armor Rigging\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Armor', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Resource Processing', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6698(BaseEffect):\r\n    \"\"\"\r\n    rigDrawbackReductionAstronautics\r\n\r\n    Used by:\r\n    Skill: Astronautics Rigging\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Navigation', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Anchor', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6699(BaseEffect):\r\n    \"\"\"\r\n    rigDrawbackReductionDrones\r\n\r\n    Used by:\r\n    Skill: Drones Rigging\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Drones', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6700(BaseEffect):\r\n    \"\"\"\r\n    rigDrawbackReductionElectronic\r\n\r\n    Used by:\r\n    Skill: Electronic Superiority Rigging\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Electronic Systems', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Scanning', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Targeting', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6701(BaseEffect):\r\n    \"\"\"\r\n    rigDrawbackReductionProjectile\r\n\r\n    Used by:\r\n    Skill: Projectile Weapon Rigging\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Projectile Weapon', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6702(BaseEffect):\r\n    \"\"\"\r\n    rigDrawbackReductionEnergyWeapon\r\n\r\n    Used by:\r\n    Skill: Energy Weapon Rigging\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Energy Weapon', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6703(BaseEffect):\r\n    \"\"\"\r\n    rigDrawbackReductionHybrid\r\n\r\n    Used by:\r\n    Skill: Hybrid Weapon Rigging\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Hybrid Weapon', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6704(BaseEffect):\r\n    \"\"\"\r\n    rigDrawbackReductionLauncher\r\n\r\n    Used by:\r\n    Skill: Launcher Rigging\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Launcher', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6705(BaseEffect):\r\n    \"\"\"\r\n    rigDrawbackReductionShield\r\n\r\n    Used by:\r\n    Skill: Shield Rigging\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Shield', 'drawback',\r\n                                      src.getModifiedItemAttr('rigDrawbackBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6706(BaseEffect):\r\n    \"\"\"\r\n    setBonusAsklepian\r\n\r\n    Used by:\r\n    Implants named like: grade Asklepian (18 of 18)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Cybernetics'),\r\n                                                 'armorRepairBonus', src.getModifiedItemAttr('implantSetSerpentis2'), **kwargs)\r\n\r\n\r\nclass Effect6708(BaseEffect):\r\n    \"\"\"\r\n    armorRepairAmountBonusSubcap\r\n\r\n    Used by:\r\n    Implants named like: Federation Defense Booster (4 of 4)\r\n    Implants named like: Republic Defense Booster (4 of 4)\r\n    Implants named like: grade Asklepian (15 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', src.getModifiedItemAttr('armorRepairBonus'), **kwargs)\r\n\r\n\r\nclass Effect6709(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole1CapitalHybridDamageBonus\r\n\r\n    Used by:\r\n    Ship: Vehement\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect6710(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtM1WebStrengthBonus\r\n\r\n    Used by:\r\n    Ship: Vehement\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'speedFactor',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtM1'), skill='Minmatar Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6711(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole3CapitalHybridDamageBonus\r\n\r\n    Used by:\r\n    Ship: Vanquisher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('shipBonusRole3'), **kwargs)\r\n\r\n\r\nclass Effect6712(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanM1WebStrengthBonus\r\n\r\n    Used by:\r\n    Ship: Vanquisher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'speedFactor',\r\n                                      src.getModifiedItemAttr('shipBonusTitanM1'), skill='Minmatar Titan', **kwargs)\r\n\r\n\r\nclass Effect6713(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSupercarrierM1BurstProjectorWebBonus\r\n\r\n    Used by:\r\n    Ship: Vendetta\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation'), 'speedFactor',\r\n                                      src.getModifiedItemAttr('shipBonusSupercarrierM1'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6714(BaseEffect):\r\n    \"\"\"\r\n    ECMBurstJammer\r\n\r\n    Used by:\r\n    Modules from group: Burst Jammer (11 of 11)\r\n    \"\"\"\r\n\r\n    type = 'projected', 'active'\r\n    runTime = 'late'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n            return\r\n        if module.getModifiedItemAttr('ecmBurstRange', 0) < (projectionRange or 0):\r\n            return\r\n        strength = module.getModifiedItemAttr('scan{0}StrengthBonus'.format(fit.scanType))\r\n        if 'effect' in kwargs:\r\n            from eos.modifiedAttributeDict import ModifiedAttributeDict\r\n            strength *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])\r\n        fit.addProjectedEcm(strength)\r\n\r\n\r\nclass Effect6720(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneRepairMC1\r\n\r\n    Used by:\r\n    Ship: Rabisu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'shieldBonus',\r\n                                     src.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'structureDamageAmount',\r\n                                     src.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'armorDamageAmount',\r\n                                     src.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6721(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticRemoteArmorRepairOptimalFalloff1\r\n\r\n    Used by:\r\n    Ship: Rabisu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('eliteBonusLogistics1'),\r\n                                      skill='Logistics Cruisers', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'maxRange',\r\n                                      src.getModifiedItemAttr('eliteBonusLogistics1'),\r\n                                      skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect6722(BaseEffect):\r\n    \"\"\"\r\n    roleBonusRemoteArmorRepairOptimalFalloff\r\n\r\n    Used by:\r\n    Ship: Rabisu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'falloffEffectiveness',\r\n                                      src.getModifiedItemAttr('roleBonusRepairRange'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                                      'maxRange',\r\n                                      src.getModifiedItemAttr('roleBonusRepairRange'), **kwargs)\r\n\r\n\r\nclass Effect6723(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCloakCpuMC2\r\n\r\n    Used by:\r\n    Ship: Rabisu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Cloaking'), 'cpu',\r\n                                      src.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6724(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLogisticRemoteArmorRepairDuration3\r\n\r\n    Used by:\r\n    Ship: Rabisu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'duration',\r\n                                      src.getModifiedItemAttr('eliteBonusLogistics3'), skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect6725(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSETFalloffAF2\r\n\r\n    Used by:\r\n    Ship: Caedes\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'), 'falloff',\r\n                                      src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect6726(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCloakCpuMF1\r\n\r\n    Used by:\r\n    Ship: Caedes\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Cloaking'), 'cpu',\r\n                                      src.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect6727(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCoverOpsNOSNeutFalloff1\r\n\r\n    Used by:\r\n    Ship: Caedes\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Energy Nosferatu', 'Energy Neutralizer'),\r\n                                      'falloffEffectiveness', src.getModifiedItemAttr('eliteBonusCovertOps1'),\r\n                                      stackingPenalties=True, skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect6730(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusMicrowarpdrive\r\n\r\n    Used by:\r\n    Modules from group: Propulsion Module (73 of 147)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('mass', module.getModifiedItemAttr('massAddition'), **kwargs)\r\n        speedBoost = module.getModifiedItemAttr('speedFactor')\r\n        mass = fit.ship.getModifiedItemAttr('mass')\r\n        thrust = module.getModifiedItemAttr('speedBoostFactor')\r\n        # It is actually a postMul, see black hole speed interactions\r\n        fit.ship.boostItemAttr('maxVelocity', speedBoost * thrust / mass,\r\n                               stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect6731(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusAfterburner\r\n\r\n    Used by:\r\n    Modules from group: Propulsion Module (74 of 147)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('mass', module.getModifiedItemAttr('massAddition'), **kwargs)\r\n        speedBoost = module.getModifiedItemAttr('speedFactor')\r\n        mass = fit.ship.getModifiedItemAttr('mass')\r\n        thrust = module.getModifiedItemAttr('speedBoostFactor')\r\n        # It is actually a postMul, see black hole speed interactions\r\n        fit.ship.boostItemAttr('maxVelocity', speedBoost * thrust / mass,\r\n                               stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect6732(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusWarfareLinkArmor\r\n\r\n    Used by:\r\n    Variations of module: Armor Command Burst I (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'active', 'gang'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for x in range(1, 5):\r\n            if module.getModifiedChargeAttr('warfareBuff{}ID'.format(x)):\r\n                value = module.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = module.getModifiedChargeAttr('warfareBuff{}ID'.format(x))\r\n\r\n                if id:\r\n                    fit.addCommandBonus(id, value, module, kwargs['effect'])\r\n\r\n\r\nclass Effect6733(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusWarfareLinkShield\r\n\r\n    Used by:\r\n    Variations of module: Shield Command Burst I (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'active', 'gang'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for x in range(1, 5):\r\n            if module.getModifiedChargeAttr('warfareBuff{}ID'.format(x)):\r\n                value = module.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = module.getModifiedChargeAttr('warfareBuff{}ID'.format(x))\r\n\r\n                if id:\r\n                    fit.addCommandBonus(id, value, module, kwargs['effect'])\r\n\r\n\r\nclass Effect6734(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusWarfareLinkSkirmish\r\n\r\n    Used by:\r\n    Variations of module: Skirmish Command Burst I (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'active', 'gang'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for x in range(1, 5):\r\n            if module.getModifiedChargeAttr('warfareBuff{}ID'.format(x)):\r\n                value = module.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = module.getModifiedChargeAttr('warfareBuff{}ID'.format(x))\r\n\r\n                if id:\r\n                    fit.addCommandBonus(id, value, module, kwargs['effect'])\r\n\r\n\r\nclass Effect6735(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusWarfareLinkInfo\r\n\r\n    Used by:\r\n    Variations of module: Expedition Command Burst I (3 of 3)\r\n    Variations of module: Information Command Burst I (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'active', 'gang'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for x in range(1, 5):\r\n            if module.getModifiedChargeAttr('warfareBuff{}ID'.format(x)):\r\n                value = module.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = module.getModifiedChargeAttr('warfareBuff{}ID'.format(x))\r\n\r\n                if id:\r\n                    fit.addCommandBonus(id, value, module, kwargs['effect'])\r\n\r\n\r\nclass Effect6736(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusWarfareLinkMining\r\n\r\n    Used by:\r\n    Variations of module: Mining Foreman Burst I (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'active', 'gang'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for x in range(1, 5):\r\n            if module.getModifiedChargeAttr('warfareBuff{}ID'.format(x)):\r\n                value = module.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = module.getModifiedChargeAttr('warfareBuff{}ID'.format(x))\r\n\r\n                if id:\r\n                    fit.addCommandBonus(id, value, module, kwargs['effect'])\r\n\r\n\r\nclass Effect6737(BaseEffect):\r\n    \"\"\"\r\n    chargeBonusWarfareCharge\r\n\r\n    Used by:\r\n    Items from market group: Ammunition & Charges > Command Burst Charges (19 of 19)\r\n    \"\"\"\r\n\r\n    type = 'offline'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for x in range(1, 4):\r\n            value = module.getModifiedChargeAttr('warfareBuff{}Multiplier'.format(x))\r\n            module.multiplyItemAttr('warfareBuff{}Value'.format(x), value, **kwargs)\r\n\r\n\r\nclass Effect6753(BaseEffect):\r\n    \"\"\"\r\n    moduleTitanEffectGenerator\r\n\r\n    Used by:\r\n    Modules from group: Titan Phenomena Generator (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'active', 'gang'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        for x in range(1, 5):\r\n            if module.getModifiedItemAttr('warfareBuff{}ID'.format(x)):\r\n                value = module.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = module.getModifiedItemAttr('warfareBuff{}ID'.format(x))\r\n\r\n                if id:\r\n                    fit.addCommandBonus(id, value, module, kwargs['effect'])\r\n\r\n\r\nclass Effect6762(BaseEffect):\r\n    \"\"\"\r\n    miningDroneSpecBonus\r\n\r\n    Used by:\r\n    Skill: Mining Drone Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Drone Specialization'), 'miningAmount',\r\n                                     src.getModifiedItemAttr('miningAmountBonus') * lvl, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Drone Specialization'), 'maxVelocity',\r\n                                     src.getModifiedItemAttr('maxVelocityBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6763(BaseEffect):\r\n    \"\"\"\r\n    iceHarvestingDroneOperationDurationBonus\r\n\r\n    Used by:\r\n    Modules named like: Drone Mining Augmentor (8 of 8)\r\n    Skill: Ice Harvesting Drone Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level if 'skill' in context else 1\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting Drone Operation'), 'duration', src.getModifiedItemAttr('rofBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6764(BaseEffect):\r\n    \"\"\"\r\n    iceHarvestingDroneSpecBonus\r\n\r\n    Used by:\r\n    Skill: Ice Harvesting Drone Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting Drone Specialization'), 'duration',\r\n                                     src.getModifiedItemAttr('rofBonus') * lvl, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting Drone Specialization'),\r\n                                     'maxVelocity', src.getModifiedItemAttr('maxVelocityBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6765(BaseEffect):\r\n    \"\"\"\r\n    spatialPhenomenaGenerationDurationBonus\r\n\r\n    Used by:\r\n    Skill: Spatial Phenomena Generation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Spatial Phenomena Generation'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('durationBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6766(BaseEffect):\r\n    \"\"\"\r\n    commandProcessorEffect\r\n\r\n    Used by:\r\n    Modules named like: Command Processor I (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupActive',\r\n                                         src.getModifiedItemAttr('maxGangModules'), **kwargs)\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupOnline',\r\n                                         src.getModifiedItemAttr('maxGangModules'), **kwargs)\r\n\r\n\r\nclass Effect6769(BaseEffect):\r\n    \"\"\"\r\n    commandBurstAoEBonus\r\n\r\n    Used by:\r\n    Skill: Fleet Command\r\n    Skill: Leadership\r\n    Skill: Wing Command\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'maxRange',\r\n                                      src.getModifiedItemAttr('areaOfEffectBonus') * src.level, **kwargs)\r\n\r\n\r\nclass Effect6770(BaseEffect):\r\n    \"\"\"\r\n    armoredCommandDurationBonus\r\n\r\n    Used by:\r\n    Skill: Armored Command\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('durationBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6771(BaseEffect):\r\n    \"\"\"\r\n    shieldCommandDurationBonus\r\n\r\n    Used by:\r\n    Skill: Shield Command\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('durationBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6772(BaseEffect):\r\n    \"\"\"\r\n    informationCommandDurationBonus\r\n\r\n    Used by:\r\n    Skill: Information Command\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('durationBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6773(BaseEffect):\r\n    \"\"\"\r\n    skirmishCommandDurationBonus\r\n\r\n    Used by:\r\n    Skill: Skirmish Command\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('durationBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6774(BaseEffect):\r\n    \"\"\"\r\n    miningForemanDurationBonus\r\n\r\n    Used by:\r\n    Skill: Mining Foreman\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('durationBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6776(BaseEffect):\r\n    \"\"\"\r\n    armoredCommandStrengthBonus\r\n\r\n    Used by:\r\n    Skill: Armored Command Specialist\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff1Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff2Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff4Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff3Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6777(BaseEffect):\r\n    \"\"\"\r\n    shieldCommandStrengthBonus\r\n\r\n    Used by:\r\n    Skill: Shield Command Specialist\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff3Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff1Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff2Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff4Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6778(BaseEffect):\r\n    \"\"\"\r\n    informationCommandStrengthBonus\r\n\r\n    Used by:\r\n    Skill: Information Command Specialist\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff2Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff1Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff3Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff4Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6779(BaseEffect):\r\n    \"\"\"\r\n    skirmishCommandStrengthBonus\r\n\r\n    Used by:\r\n    Skill: Skirmish Command Specialist\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff3Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff4Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff1Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff2Multiplier',\r\n                                        src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6780(BaseEffect):\r\n    \"\"\"\r\n    miningForemanStrengthBonus\r\n\r\n    Used by:\r\n    Skill: Mining Director\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff4Value', src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff3Value', src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff2Value', src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff1Value', src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6782(BaseEffect):\r\n    \"\"\"\r\n    commandBurstReloadTimeBonus\r\n\r\n    Used by:\r\n    Skill: Command Burst Specialist\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'),\r\n                                      'reloadTime',\r\n                                      src.getModifiedItemAttr('reloadTimeBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6783(BaseEffect):\r\n    \"\"\"\r\n    commandBurstAoERoleBonus\r\n\r\n    Used by:\r\n    Ships from group: Carrier (4 of 4)\r\n    Ships from group: Combat Battlecruiser (21 of 21)\r\n    Ships from group: Command Ship (8 of 8)\r\n    Ships from group: Force Auxiliary (6 of 6)\r\n    Ships from group: Supercarrier (6 of 6)\r\n    Ships from group: Titan (8 of 8)\r\n    Subsystems named like: Offensive Support Processor (4 of 4)\r\n    Ship: Odysseus\r\n    Ship: Orca\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'maxRange',\r\n                                      src.getModifiedItemAttr('roleBonusCommandBurstAoERange'), **kwargs)\r\n\r\n\r\nclass Effect6786(BaseEffect):\r\n    \"\"\"\r\n    shieldCommandBurstBonusICS3\r\n\r\n    Used by:\r\n    Ship: Orca\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff4Value',\r\n                                      src.getModifiedItemAttr('shipBonusICS3'), skill='Industrial Command Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff1Value',\r\n                                      src.getModifiedItemAttr('shipBonusICS3'), skill='Industrial Command Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff2Value',\r\n                                      src.getModifiedItemAttr('shipBonusICS3'), skill='Industrial Command Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff3Value',\r\n                                      src.getModifiedItemAttr('shipBonusICS3'), skill='Industrial Command Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('shipBonusICS3'), skill='Industrial Command Ships', **kwargs)\r\n\r\n\r\nclass Effect6789(BaseEffect):\r\n    \"\"\"\r\n    industrialBonusDroneDamage\r\n\r\n    Used by:\r\n    Ships from group: Blockade Runner (5 of 5)\r\n    Ships from group: Deep Space Transport (5 of 5)\r\n    Ships from group: Hauler (18 of 18)\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    Ship: Hulk\r\n    Ship: Mackinaw\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier',\r\n                                     src.getModifiedItemAttr('industrialBonusDroneDamage'), **kwargs)\r\n\r\n\r\nclass Effect6793(BaseEffect):\r\n    \"\"\"\r\n    miningForemanBurstBonusORECapital2\r\n\r\n    Used by:\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff1Value',\r\n                                      src.getModifiedItemAttr('shipBonusORECapital2'), skill='Capital Industrial Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff2Value',\r\n                                      src.getModifiedItemAttr('shipBonusORECapital2'), skill='Capital Industrial Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff4Value',\r\n                                      src.getModifiedItemAttr('shipBonusORECapital2'), skill='Capital Industrial Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff3Value',\r\n                                      src.getModifiedItemAttr('shipBonusORECapital2'), skill='Capital Industrial Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('shipBonusORECapital2'), skill='Capital Industrial Ships', **kwargs)\r\n\r\n\r\nclass Effect6794(BaseEffect):\r\n    \"\"\"\r\n    shieldCommandBurstBonusORECapital3\r\n\r\n    Used by:\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff4Value',\r\n                                      src.getModifiedItemAttr('shipBonusORECapital3'), skill='Capital Industrial Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('shipBonusORECapital3'), skill='Capital Industrial Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff1Value',\r\n                                      src.getModifiedItemAttr('shipBonusORECapital3'), skill='Capital Industrial Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff3Value',\r\n                                      src.getModifiedItemAttr('shipBonusORECapital3'), skill='Capital Industrial Ships', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff2Value',\r\n                                      src.getModifiedItemAttr('shipBonusORECapital3'), skill='Capital Industrial Ships', **kwargs)\r\n\r\n\r\nclass Effect6796(BaseEffect):\r\n    \"\"\"\r\n    shipModeSHTDamagePostDiv\r\n\r\n    Used by:\r\n    Module: Hecate Sharpshooter Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n            'damageMultiplier',\r\n            1 / module.getModifiedItemAttr('modeDamageBonusPostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv', **kwargs)\r\n\r\n\r\nclass Effect6797(BaseEffect):\r\n    \"\"\"\r\n    shipModeSPTDamagePostDiv\r\n\r\n    Used by:\r\n    Module: Svipul Sharpshooter Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n            'damageMultiplier',\r\n            1 / module.getModifiedItemAttr('modeDamageBonusPostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv', **kwargs)\r\n\r\n\r\nclass Effect6798(BaseEffect):\r\n    \"\"\"\r\n    shipModeSETDamagePostDiv\r\n\r\n    Used by:\r\n    Module: Confessor Sharpshooter Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Small Energy Turret'),\r\n            'damageMultiplier',\r\n            1 / module.getModifiedItemAttr('modeDamageBonusPostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv', **kwargs)\r\n\r\n\r\nclass Effect6799(BaseEffect):\r\n    \"\"\"\r\n    shipModeSmallMissileDamagePostDiv\r\n\r\n    Used by:\r\n    Module: Jackdaw Sharpshooter Mode\r\n    Module: Skua Sharpshooter Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        types = ('thermal', 'em', 'explosive', 'kinetic')\r\n        for type in types:\r\n            fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),\r\n                                               '{}Damage'.format(type),\r\n                                               1 / module.getModifiedItemAttr('modeDamageBonusPostDiv'),\r\n                                               stackingPenalties=True,\r\n                                               penaltyGroup='postDiv', **kwargs)\r\n\r\n\r\nclass Effect6800(BaseEffect):\r\n    \"\"\"\r\n    modeDampTDResistsPostDiv\r\n\r\n    Used by:\r\n    Modules named like: Sharpshooter Mode (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('weaponDisruptionResistance', 1 / module.getModifiedItemAttr('modeEwarResistancePostDiv'), **kwargs)\r\n        fit.ship.multiplyItemAttr('sensorDampenerResistance', 1 / module.getModifiedItemAttr('modeEwarResistancePostDiv'), **kwargs)\r\n\r\n\r\nclass Effect6801(BaseEffect):\r\n    \"\"\"\r\n    modeMWDandABBoostPostDiv\r\n\r\n    Used by:\r\n    Modules named like: Propulsion Mode (3 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('High Speed Maneuvering') or mod.item.requiresSkill('Afterburner'),\r\n            'speedFactor',\r\n            1 / module.getModifiedItemAttr('modeVelocityPostDiv'),\r\n            stackingPenalties=True,\r\n            penaltyGroup='postDiv', **kwargs)\r\n\r\n\r\nclass Effect6807(BaseEffect):\r\n    \"\"\"\r\n    invulnerabilityCoreDurationBonus\r\n\r\n    Used by:\r\n    Skill: Invulnerability Core Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Invulnerability Core Operation'), 'buffDuration',\r\n                                      src.getModifiedItemAttr('durationBonus') * lvl, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Invulnerability Core Operation'), 'duration',\r\n                                      src.getModifiedItemAttr('durationBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect6844(BaseEffect):\r\n    \"\"\"\r\n    skillMultiplierDefenderMissileVelocity\r\n\r\n    Used by:\r\n    Skill: Defender Missiles\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Defender Missiles'),\r\n                                        'maxVelocity', skill.getModifiedItemAttr('missileVelocityBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect6845(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCommandDestroyerRole1DefenderBonus\r\n\r\n    Used by:\r\n    Ships from group: Command Destroyer (5 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Defender Missiles'),\r\n                                      'moduleReactivationDelay', ship.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect6851(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole3CapitalEnergyDamageBonus\r\n\r\n    Used by:\r\n    Ship: Chemosh\r\n    Ship: Molok\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret'), 'damageMultiplier', src.getModifiedItemAttr('shipBonusRole3'), **kwargs)\r\n\r\n\r\nclass Effect6852(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanM1WebRangeBonus\r\n\r\n    Used by:\r\n    Ship: Molok\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'maxRange', src.getModifiedItemAttr('shipBonusTitanM1'), skill='Minmatar Titan', **kwargs)\r\n\r\n\r\nclass Effect6853(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanA1EnergyWarfareAmountBonus\r\n\r\n    Used by:\r\n    Ship: Molok\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                      'powerTransferAmount', src.getModifiedItemAttr('shipBonusTitanA1'), skill='Amarr Titan', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',\r\n                                      'energyNeutralizerAmount', src.getModifiedItemAttr('shipBonusTitanA1'), skill='Amarr Titan', **kwargs)\r\n\r\n\r\nclass Effect6855(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtA1EnergyWarfareAmountBonus\r\n\r\n    Used by:\r\n    Ship: Chemosh\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                      'powerTransferAmount', src.getModifiedItemAttr('shipBonusDreadnoughtA1'), skill='Amarr Dreadnought', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',\r\n                                      'energyNeutralizerAmount', src.getModifiedItemAttr('shipBonusDreadnoughtA1'), skill='Amarr Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6856(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtM1WebRangeBonus\r\n\r\n    Used by:\r\n    Ship: Chemosh\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'maxRange', src.getModifiedItemAttr('shipBonusDreadnoughtM1'), skill='Minmatar Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6857(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryA1NosferatuRangeBonus\r\n\r\n    Used by:\r\n    Ship: Dagon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                      'maxRange', src.getModifiedItemAttr('shipBonusForceAuxiliaryA1'), skill='Amarr Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                      'falloffEffectiveness', src.getModifiedItemAttr('shipBonusForceAuxiliaryA1'), skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6858(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryA1NosferatuDrainAmount\r\n\r\n    Used by:\r\n    Ship: Dagon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',\r\n                                      'powerTransferAmount', src.getModifiedItemAttr('shipBonusForceAuxiliaryA1'), skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect6859(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole4NosferatuCPUBonus\r\n\r\n    Used by:\r\n    Ship: Dagon\r\n    Ship: Rabisu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'cpu', src.getModifiedItemAttr('shipBonusRole4'), **kwargs)\r\n\r\n\r\nclass Effect6860(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole5RemoteArmorRepairPowergridBonus\r\n\r\n    Used by:\r\n    Ships from group: Logistics (3 of 7)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'power',\r\n                                      src.getModifiedItemAttr('shipBonusRole5'), **kwargs)\r\n\r\n\r\nclass Effect6861(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole5CapitalRemoteArmorRepairPowergridBonus\r\n\r\n    Used by:\r\n    Ship: Dagon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Remote Armor Repair Systems'), 'power', src.getModifiedItemAttr('shipBonusRole5'), **kwargs)\r\n\r\n\r\nclass Effect6862(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryM1RemoteArmorRepairDuration\r\n\r\n    Used by:\r\n    Ship: Dagon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Remote Armor Repair Systems'),\r\n                                      'duration', src.getModifiedItemAttr('shipBonusForceAuxiliaryM1'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6865(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCoverOpsWarpVelocity1\r\n\r\n    Used by:\r\n    Ship: Pacifier\r\n    Ship: Sidewinder\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('eliteBonusCovertOps1'), skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect6866(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallMissileFlightTimeCF1\r\n\r\n    Used by:\r\n    Ship: Pacifier\r\n    Ship: Sidewinder\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),\r\n                                        'explosionDelay', src.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n                                        'explosionDelay', src.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect6867(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSPTRoFMF\r\n\r\n    Used by:\r\n    Ship: Pacifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'speed', src.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect6871(BaseEffect):\r\n    \"\"\"\r\n    concordSecStatusTankBonus\r\n\r\n    Used by:\r\n    Ship: Enforcer\r\n    Ship: Marshal\r\n    Ship: Pacifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n\r\n        # Get pilot sec status bonus directly here, instead of going through the intermediary effects\r\n        # via https://forums.eveonline.com/default.aspx?g=posts&t=515826\r\n        try:\r\n            sec_status = ship.owner.getPilotSecurity(low_limit=0, high_limit=5)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            return\r\n\r\n        bonus = sec_status * 10\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n            'armorDamageAmount', bonus, **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n            'shieldBonus', bonus, **kwargs)\r\n\r\n\r\nclass Effect6872(BaseEffect):\r\n    \"\"\"\r\n    eliteReconStasisWebBonus1\r\n\r\n    Used by:\r\n    Ship: Enforcer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'maxRange', src.getModifiedItemAttr('eliteBonusReconShip1'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6873(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusReconWarpVelocity3\r\n\r\n    Used by:\r\n    Ship: Cobra\r\n    Ship: Enforcer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6874(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMedMissileFlightTimeCC2\r\n\r\n    Used by:\r\n    Ship: Cobra\r\n    Ship: Enforcer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'explosionDelay', src.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'explosionDelay', src.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6877(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusBlackOpsWarpVelocity1\r\n\r\n    Used by:\r\n    Ship: Marshal\r\n    Ship: Python\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('eliteBonusBlackOps1'), stackingPenalties=True, skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect6878(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusBlackOpsScramblerRange4\r\n\r\n    Used by:\r\n    Ship: Marshal\r\n    Ship: Python\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler', 'maxRange',\r\n                                      src.getModifiedItemAttr('eliteBonusBlackOps4'), skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect6879(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusBlackOpsWebRange3\r\n\r\n    Used by:\r\n    Ship: Marshal\r\n    Ship: Python\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'maxRange',\r\n                                      src.getModifiedItemAttr('eliteBonusBlackOps3'), skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect6880(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLauncherRoF2CB\r\n\r\n    Used by:\r\n    Ship: Marshal\r\n    Ship: Python\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Cruise', 'speed',\r\n                                      src.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo', 'speed',\r\n                                      src.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Heavy', 'speed',\r\n                                      src.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect6881(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLargeMissileFlightTimeCB1\r\n\r\n    Used by:\r\n    Ship: Marshal\r\n    Ship: Python\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'explosionDelay',\r\n                                        src.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'), 'explosionDelay',\r\n                                        src.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect6883(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryM2LocalRepairAmount\r\n\r\n    Used by:\r\n    Ship: Dagon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', src.getModifiedItemAttr('shipBonusForceAuxiliaryM2'), skill='Minmatar Carrier', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'),\r\n                                      'armorDamageAmount', src.getModifiedItemAttr('shipBonusForceAuxiliaryM2'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect6894(BaseEffect):\r\n    \"\"\"\r\n    subsystemEnergyNeutFittingReduction\r\n\r\n    Used by:\r\n    Subsystem: Legion Core - Energy Parasitic Complex\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Energy Nosferatu', 'Energy Neutralizer'),\r\n        'cpu', src.getModifiedItemAttr('subsystemEnergyNeutFittingReduction'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Energy Nosferatu', 'Energy Neutralizer'),\r\n                                      'power', src.getModifiedItemAttr('subsystemEnergyNeutFittingReduction'), **kwargs)\r\n\r\n\r\nclass Effect6895(BaseEffect):\r\n    \"\"\"\r\n    subsystemMETFittingReduction\r\n\r\n    Used by:\r\n    Subsystem: Legion Offensive - Liquid Crystal Magnifiers\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'cpu', src.getModifiedItemAttr('subsystemMETFittingReduction'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),\r\n                                      'power', src.getModifiedItemAttr('subsystemMETFittingReduction'), **kwargs)\r\n\r\n\r\nclass Effect6896(BaseEffect):\r\n    \"\"\"\r\n    subsystemMHTFittingReduction\r\n\r\n    Used by:\r\n    Subsystem: Proteus Offensive - Drone Synthesis Projector\r\n    Subsystem: Proteus Offensive - Hybrid Encoding Platform\r\n    Subsystem: Tengu Offensive - Magnetic Infusion Basin\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'cpu', src.getModifiedItemAttr('subsystemMHTFittingReduction'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),\r\n                                      'power', src.getModifiedItemAttr('subsystemMHTFittingReduction'), **kwargs)\r\n\r\n\r\nclass Effect6897(BaseEffect):\r\n    \"\"\"\r\n    subsystemMPTFittingReduction\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Projectile Scoping Array\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'power', src.getModifiedItemAttr('subsystemMPTFittingReduction'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n                                      'cpu', src.getModifiedItemAttr('subsystemMPTFittingReduction'), **kwargs)\r\n\r\n\r\nclass Effect6898(BaseEffect):\r\n    \"\"\"\r\n    subsystemMRARFittingReduction\r\n\r\n    Used by:\r\n    Subsystems named like: Offensive Support Processor (3 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n            'mediumRemoteRepFittingMultiplier', src.getModifiedItemAttr('subsystemMRARFittingReduction'), **kwargs)\r\n\r\n\r\nclass Effect6899(BaseEffect):\r\n    \"\"\"\r\n    subsystemMRSBFittingReduction\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Support Processor\r\n    Subsystem: Tengu Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Emission Systems'),\r\n            'mediumRemoteRepFittingMultiplier', src.getModifiedItemAttr('subsystemMRSBFittingReduction'), **kwargs)\r\n\r\n\r\nclass Effect6900(BaseEffect):\r\n    \"\"\"\r\n    subsystemMMissileFittingReduction\r\n\r\n    Used by:\r\n    Subsystem: Legion Offensive - Assault Optimization\r\n    Subsystem: Loki Offensive - Launcher Efficiency Configuration\r\n    Subsystem: Tengu Offensive - Accelerated Ejection Bay\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        groups = ('Missile Launcher Heavy', 'Missile Launcher Rapid Light', 'Missile Launcher Heavy Assault')\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'cpu', src.getModifiedItemAttr('subsystemMMissileFittingReduction'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                      'power', src.getModifiedItemAttr('subsystemMMissileFittingReduction'), **kwargs)\r\n\r\n\r\nclass Effect6908(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStrategicCruiserCaldariNaniteRepairTime2\r\n\r\n    Used by:\r\n    Ship: Tengu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'moduleRepairRate',\r\n                                      ship.getModifiedItemAttr('shipBonusStrategicCruiserCaldari2'),\r\n                                      skill='Caldari Strategic Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6909(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStrategicCruiserAmarrNaniteRepairTime2\r\n\r\n    Used by:\r\n    Ship: Legion\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'moduleRepairRate',\r\n                                      ship.getModifiedItemAttr('shipBonusStrategicCruiserAmarr2'),\r\n                                      skill='Amarr Strategic Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6910(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStrategicCruiserGallenteNaniteRepairTime2\r\n\r\n    Used by:\r\n    Ship: Proteus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'moduleRepairRate',\r\n                                      ship.getModifiedItemAttr('shipBonusStrategicCruiserGallente2'),\r\n                                      skill='Gallente Strategic Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6911(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStrategicCruiserMinmatarNaniteRepairTime2\r\n\r\n    Used by:\r\n    Ship: Loki\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: True, 'moduleRepairRate',\r\n                                      ship.getModifiedItemAttr('shipBonusStrategicCruiserMinmatar2'),\r\n                                      skill='Minmatar Strategic Cruiser', **kwargs)\r\n\r\n\r\nclass Effect6920(BaseEffect):\r\n    \"\"\"\r\n    structureHPBonusAddPassive\r\n\r\n    Used by:\r\n    Subsystems named like: Defensive Covert Reconfiguration (4 of 4)\r\n    Subsystem: Loki Defensive - Adaptive Defense Node\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('hp', module.getModifiedItemAttr('structureHPBonusAdd') or 0, **kwargs)\r\n\r\n\r\nclass Effect6921(BaseEffect):\r\n    \"\"\"\r\n    subSystemBonusAmarrDefensive2ScanProbeStrength\r\n\r\n    Used by:\r\n    Subsystem: Legion Defensive - Covert Reconfiguration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),\r\n                                        'baseSensorStrength', src.getModifiedItemAttr('subsystemBonusAmarrDefensive2'),\r\n                                        skill='Amarr Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6923(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarOffensive1HMLHAMVelo\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Launcher Efficiency Configuration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles') or mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                      'maxVelocity', container.getModifiedItemAttr('subsystemBonusMinmatarOffensive'),\r\n                                      skill='Minmatar Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6924(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarOffensive3MissileExpVelo\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Launcher Efficiency Configuration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                      'aoeVelocity', container.getModifiedItemAttr('subsystemBonusMinmatarOffensive3'),\r\n                                      skill='Minmatar Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6925(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteOffensive2DroneVeloTracking\r\n\r\n    Used by:\r\n    Subsystem: Proteus Offensive - Drone Synthesis Projector\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),\r\n                                     'maxVelocity', src.getModifiedItemAttr('subsystemBonusGallenteOffensive2'),\r\n                                     skill='Gallente Offensive Systems', **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),\r\n                                     'trackingSpeed', src.getModifiedItemAttr('subsystemBonusGallenteOffensive2'),\r\n                                     skill='Gallente Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6926(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrPropulsionWarpCapacitor\r\n\r\n    Used by:\r\n    Subsystem: Legion Propulsion - Interdiction Nullifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpCapacitorNeed', src.getModifiedItemAttr('subsystemBonusAmarrPropulsion'), skill='Amarr Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect6927(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarPropulsionWarpCapacitor\r\n\r\n    Used by:\r\n    Subsystem: Loki Propulsion - Interdiction Nullifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpCapacitorNeed', src.getModifiedItemAttr('subsystemBonusMinmatarPropulsion'),\r\n                               skill='Minmatar Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect6928(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariPropulsion2PropModHeatBenefit\r\n\r\n    Used by:\r\n    Subsystem: Tengu Propulsion - Fuel Catalyst\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner') or mod.item.requiresSkill('High Speed Maneuvering'),\r\n                                      'overloadSpeedFactorBonus', src.getModifiedItemAttr('subsystemBonusCaldariPropulsion2'),\r\n                                      skill='Caldari Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect6929(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallentePropulsion2PropModHeatBenefit\r\n\r\n    Used by:\r\n    Subsystem: Proteus Propulsion - Localized Injectors\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner') or mod.item.requiresSkill('High Speed Maneuvering'),\r\n                                      'overloadSpeedFactorBonus', src.getModifiedItemAttr('subsystemBonusGallentePropulsion2'),\r\n                                      skill='Gallente Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect6930(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrCore2EnergyResistance\r\n\r\n    Used by:\r\n    Subsystem: Legion Core - Augmented Antimatter Reactor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('energyWarfareResistance', src.getModifiedItemAttr('subsystemBonusAmarrCore2'), skill='Amarr Core Systems', **kwargs)\r\n\r\n\r\nclass Effect6931(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarCore2EnergyResistance\r\n\r\n    Used by:\r\n    Subsystem: Loki Core - Augmented Nuclear Reactor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('energyWarfareResistance', src.getModifiedItemAttr('subsystemBonusMinmatarCore2'),\r\n                               skill='Minmatar Core Systems', **kwargs)\r\n\r\n\r\nclass Effect6932(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteCore2EnergyResistance\r\n\r\n    Used by:\r\n    Subsystem: Proteus Core - Augmented Fusion Reactor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('energyWarfareResistance', src.getModifiedItemAttr('subsystemBonusGallenteCore2'),\r\n                               skill='Gallente Core Systems', **kwargs)\r\n\r\n\r\nclass Effect6933(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariCore2EnergyResistance\r\n\r\n    Used by:\r\n    Subsystem: Tengu Core - Augmented Graviton Reactor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('energyWarfareResistance', src.getModifiedItemAttr('subsystemBonusCaldariCore2'),\r\n                               skill='Caldari Core Systems', **kwargs)\r\n\r\n\r\nclass Effect6934(BaseEffect):\r\n    \"\"\"\r\n    shipMaxLockedTargetsBonusAddPassive\r\n\r\n    Used by:\r\n    Subsystems named like: Core Dissolution Sequencer (2 of 2)\r\n    Subsystems named like: Core Electronic Efficiency Gate (2 of 2)\r\n    Subsystems named like: Offensive Support Processor (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('maxLockedTargets', src.getModifiedItemAttr('maxLockedTargetsBonus'), **kwargs)\r\n\r\n\r\nclass Effect6935(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrCore3EnergyWarHeatBonus\r\n\r\n    Used by:\r\n    Subsystem: Legion Core - Energy Parasitic Complex\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Energy Nosferatu', 'Energy Neutralizer'), 'overloadSelfDurationBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusAmarrCore3'), skill='Amarr Core Systems', **kwargs)\r\n\r\n\r\nclass Effect6936(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarCore3StasisWebHeatBonus\r\n\r\n    Used by:\r\n    Subsystem: Loki Core - Immobility Drivers\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',\r\n                                      'overloadRangeBonus', src.getModifiedItemAttr('subsystemBonusMinmatarCore3'),\r\n                                      skill='Minmatar Core Systems', **kwargs)\r\n\r\n\r\nclass Effect6937(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteCore3WarpScramHeatBonus\r\n\r\n    Used by:\r\n    Subsystem: Proteus Core - Friction Extension Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler', 'overloadRangeBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusGallenteCore3'), skill='Gallente Core Systems', **kwargs)\r\n\r\n\r\nclass Effect6938(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariCore3ECMHeatBonus\r\n\r\n    Used by:\r\n    Subsystem: Tengu Core - Obfuscation Manifold\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'overloadECMStrengthBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusCaldariCore3'), skill='Caldari Core Systems', **kwargs)\r\n\r\n\r\nclass Effect6939(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrDefensive2HardenerHeat\r\n\r\n    Used by:\r\n    Subsystem: Legion Defensive - Augmented Plating\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'overloadSelfDurationBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusAmarrDefensive2'), skill='Amarr Defensive Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'overloadHardeningBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusAmarrDefensive2'), skill='Amarr Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6940(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteDefensive2HardenerHeat\r\n\r\n    Used by:\r\n    Subsystem: Proteus Defensive - Augmented Plating\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'overloadHardeningBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusGallenteDefensive2'), skill='Gallente Defensive Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'overloadSelfDurationBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusGallenteDefensive2'), skill='Gallente Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6941(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariDefensive2HardenerHeat\r\n\r\n    Used by:\r\n    Subsystem: Tengu Defensive - Supplemental Screening\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Tactical Shield Manipulation'),\r\n                                      'overloadHardeningBonus', src.getModifiedItemAttr('subsystemBonusCaldariDefensive2'),\r\n                                      skill='Caldari Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6942(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarDefensive2HardenerHeat\r\n\r\n    Used by:\r\n    Subsystem: Loki Defensive - Augmented Durability\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'overloadSelfDurationBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusMinmatarDefensive2'), skill='Minmatar Defensive Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'overloadHardeningBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusMinmatarDefensive2'), skill='Minmatar Defensive Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Tactical Shield Manipulation'), 'overloadHardeningBonus',\r\n                                      src.getModifiedItemAttr('subsystemBonusMinmatarDefensive2'), skill='Minmatar Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6943(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrDefensive3ArmorRepHeat\r\n\r\n    Used by:\r\n    Subsystem: Legion Defensive - Covert Reconfiguration\r\n    Subsystem: Legion Defensive - Nanobot Injector\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'overloadSelfDurationBonus', src.getModifiedItemAttr('subsystemBonusAmarrDefensive3'),\r\n                                      skill='Amarr Defensive Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'overloadArmorDamageAmount', src.getModifiedItemAttr('subsystemBonusAmarrDefensive3'),\r\n                                      skill='Amarr Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6944(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteDefensive3ArmorRepHeat\r\n\r\n    Used by:\r\n    Subsystem: Proteus Defensive - Covert Reconfiguration\r\n    Subsystem: Proteus Defensive - Nanobot Injector\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'overloadSelfDurationBonus', src.getModifiedItemAttr('subsystemBonusGallenteDefensive3'),\r\n                                      skill='Gallente Defensive Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'overloadArmorDamageAmount', src.getModifiedItemAttr('subsystemBonusGallenteDefensive3'),\r\n                                      skill='Gallente Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6945(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariDefensive3ShieldBoostHeat\r\n\r\n    Used by:\r\n    Subsystem: Tengu Defensive - Amplification Node\r\n    Subsystem: Tengu Defensive - Covert Reconfiguration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'overloadShieldBonus', src.getModifiedItemAttr('subsystemBonusCaldariDefensive3'),\r\n                                      skill='Caldari Defensive Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'overloadSelfDurationBonus', src.getModifiedItemAttr('subsystemBonusCaldariDefensive3'),\r\n                                      skill='Caldari Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6946(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarDefensive3LocalRepHeat\r\n\r\n    Used by:\r\n    Subsystem: Loki Defensive - Adaptive Defense Node\r\n    Subsystem: Loki Defensive - Covert Reconfiguration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'overloadArmorDamageAmount', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive3'),\r\n                                      skill='Minmatar Defensive Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'overloadShieldBonus', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive3'),\r\n                                      skill='Minmatar Defensive Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems') or mod.item.requiresSkill('Shield Operation'),\r\n                                      'overloadSelfDurationBonus', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive3'),\r\n                                      skill='Minmatar Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6947(BaseEffect):\r\n    \"\"\"\r\n    subSystemBonusCaldariDefensive2ScanProbeStrength\r\n\r\n    Used by:\r\n    Subsystem: Tengu Defensive - Covert Reconfiguration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),\r\n                                        'baseSensorStrength', src.getModifiedItemAttr('subsystemBonusCaldariDefensive2'),\r\n                                        skill='Caldari Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6949(BaseEffect):\r\n    \"\"\"\r\n    subSystemBonusGallenteDefensive2ScanProbeStrength\r\n\r\n    Used by:\r\n    Subsystem: Proteus Defensive - Covert Reconfiguration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'), 'baseSensorStrength',\r\n                                        src.getModifiedItemAttr('subsystemBonusGallenteDefensive2'), skill='Gallente Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6951(BaseEffect):\r\n    \"\"\"\r\n    subSystemBonusMinmatarDefensive2ScanProbeStrength\r\n\r\n    Used by:\r\n    Subsystem: Loki Defensive - Covert Reconfiguration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'), 'baseSensorStrength',\r\n                                        src.getModifiedItemAttr('subsystemBonusMinmatarDefensive2'), skill='Minmatar Defensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6953(BaseEffect):\r\n    \"\"\"\r\n    mediumRemoteRepFittingAdjustment\r\n\r\n    Used by:\r\n    Variations of module: Medium Remote Armor Repairer I (14 of 14)\r\n    Variations of module: Medium Remote Shield Booster I (13 of 13)\r\n    Module: Medium Ancillary Remote Armor Repairer\r\n    Module: Medium Ancillary Remote Shield Booster\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.multiplyItemAttr('power', module.getModifiedItemAttr('mediumRemoteRepFittingMultiplier'), **kwargs)\r\n        module.multiplyItemAttr('cpu', module.getModifiedItemAttr('mediumRemoteRepFittingMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect6954(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCommandBurstFittingReduction\r\n\r\n    Used by:\r\n    Subsystems named like: Offensive Support Processor (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'power',\r\n                                      src.getModifiedItemAttr('subsystemCommandBurstFittingReduction'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'cpu',\r\n                                      src.getModifiedItemAttr('subsystemCommandBurstFittingReduction'), **kwargs)\r\n\r\n\r\nclass Effect6955(BaseEffect):\r\n    \"\"\"\r\n    subsystemRemoteShieldBoostFalloffBonus\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Support Processor\r\n    Subsystem: Tengu Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Remote Shield Booster', 'Ancillary Remote Shield Booster'),\r\n                                      'falloffEffectiveness', src.getModifiedItemAttr('remoteShieldBoosterFalloffBonus'), **kwargs)\r\n\r\n\r\nclass Effect6956(BaseEffect):\r\n    \"\"\"\r\n    subsystemRemoteArmorRepairerOptimalBonus\r\n\r\n    Used by:\r\n    Subsystems named like: Offensive Support Processor (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Remote Armor Repairer', 'Ancillary Remote Armor Repairer'),\r\n                                      'maxRange', src.getModifiedItemAttr('remoteArmorRepairerOptimalBonus'), **kwargs)\r\n\r\n\r\nclass Effect6957(BaseEffect):\r\n    \"\"\"\r\n    subsystemRemoteArmorRepairerFalloffBonus\r\n\r\n    Used by:\r\n    Subsystems named like: Offensive Support Processor (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Remote Armor Repairer', 'Ancillary Remote Armor Repairer'),\r\n                                      'falloffEffectiveness', src.getModifiedItemAttr('remoteArmorRepairerFalloffBonus'), **kwargs)\r\n\r\n\r\nclass Effect6958(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrOffensive3RemoteArmorRepairHeat\r\n\r\n    Used by:\r\n    Subsystem: Legion Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attr in ('overloadSelfDurationBonus', 'overloadArmorDamageAmount'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), attr,\r\n                src.getModifiedItemAttr('subsystemBonusAmarrOffensive3'), skill='Amarr Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6959(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallenteOffensive3RemoteArmorRepairHeat\r\n\r\n    Used by:\r\n    Subsystem: Proteus Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attr in ('overloadSelfDurationBonus', 'overloadArmorDamageAmount'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), attr,\r\n                src.getModifiedItemAttr('subsystemBonusGallenteOffensive3'), skill='Gallente Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6960(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusCaldariOffensive3RemoteShieldBoosterHeat\r\n\r\n    Used by:\r\n    Subsystem: Tengu Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attr in ('overloadSelfDurationBonus', 'overloadShieldBonus'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Shield Emission Systems'), attr,\r\n                src.getModifiedItemAttr('subsystemBonusCaldariOffensive3'), skill='Caldari Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6961(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarOffensive3RemoteRepHeat\r\n\r\n    Used by:\r\n    Subsystem: Loki Offensive - Support Processor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Emission Systems') or mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n            'overloadSelfDurationBonus', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive3'),\r\n            skill='Minmatar Offensive Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'overloadShieldBonus',\r\n            src.getModifiedItemAttr('subsystemBonusMinmatarOffensive3'), skill='Minmatar Offensive Systems', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'overloadArmorDamageAmount',\r\n            src.getModifiedItemAttr('subsystemBonusMinmatarOffensive3'), skill='Minmatar Offensive Systems', **kwargs)\r\n\r\n\r\nclass Effect6962(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusAmarrPropulsion2WarpSpeed\r\n\r\n    Used by:\r\n    Subsystem: Legion Propulsion - Interdiction Nullifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('subsystemBonusAmarrPropulsion2'),\r\n                               skill='Amarr Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect6963(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMinmatarPropulsion2WarpSpeed\r\n\r\n    Used by:\r\n    Subsystem: Loki Propulsion - Interdiction Nullifier\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('subsystemBonusMinmatarPropulsion2'),\r\n                               skill='Minmatar Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect6964(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusGallentePropulsionWarpSpeed\r\n\r\n    Used by:\r\n    Subsystem: Proteus Propulsion - Hyperspatial Optimization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('baseWarpSpeed', module.getModifiedItemAttr('subsystemBonusGallentePropulsion'),\r\n                               skill='Gallente Propulsion Systems', **kwargs)\r\n\r\n\r\nclass Effect6965(BaseEffect):\r\n    \"\"\"\r\n    surveyProbeExplosionDelayOnline\r\n\r\n    Used by:\r\n    Module: Survey Probe Launcher II\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Survey'), 'explosionDelay',\r\n            container.getModifiedItemAttr('surveyProbeDurationBonus'), **kwargs)\r\n\r\n\r\nclass Effect6981(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanG1KinThermDamageBonus\r\n\r\n    Used by:\r\n    Ship: Komodo\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes'), 'thermalDamage',\r\n                                      src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Titan', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes'), 'kineticDamage',\r\n                                      src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Titan', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missiles'), 'thermalDamage',\r\n                                      src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Titan', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missiles'), 'kineticDamage',\r\n                                      src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Titan', **kwargs)\r\n\r\n\r\n\r\nclass Effect6982(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanG2EMExplosiveDamageBonus\r\n\r\n    Used by:\r\n    Ship: Komodo\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes'), 'emDamage',\r\n                                      src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Titan', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes'), 'explosiveDamage',\r\n                                      src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Titan', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missiles'), 'emDamage',\r\n                                      src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Titan', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missiles'), 'explosiveDamage',\r\n                                      src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Titan', **kwargs)\r\n\r\n\r\nclass Effect6983(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanC1ShieldResists\r\n\r\n    Used by:\r\n    Ship: Komodo\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan', **kwargs)\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan', **kwargs)\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan', **kwargs)\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan', **kwargs)\r\n\r\n\r\nclass Effect6984(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole4FighterDamageAndHitpoints\r\n\r\n    Used by:\r\n    Ship: Caiman\r\n    Ship: Komodo\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldCapacity',\r\n                                       src.getModifiedItemAttr('shipBonusRole4'), **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityAttackTurretDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusRole4'), **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityAttackMissileDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusRole4'), **kwargs)\r\n        fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityMissilesDamageMultiplier',\r\n                                       src.getModifiedItemAttr('shipBonusRole4'), **kwargs)\r\n\r\n\r\nclass Effect6985(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtG1KinThermDamageBonus\r\n\r\n    Used by:\r\n    Ship: Caiman\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Torpedoes'), 'kineticDamage',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Torpedoes'), 'thermalDamage',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes'), 'kineticDamage',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes'), 'thermalDamage',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missiles'), 'thermalDamage',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought', **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missiles'), 'kineticDamage',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect6986(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryG1RemoteShieldBoostAmount\r\n\r\n    Used by:\r\n    Ship: Loggerhead\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'), 'shieldBonus',\r\n                                      src.getModifiedItemAttr('shipBonusForceAuxiliaryG1'), skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect6987(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole2LogisticDroneRepAmountAndHitpointBonus\r\n\r\n    Used by:\r\n    Ship: Loggerhead\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'),\r\n                                        'structureDamageAmount', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'),\r\n                                        'shieldBonus', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'),\r\n                                        'armorDamageAmount', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'),\r\n                                        'armorHP', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'),\r\n                                        'shieldCapacity', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'),\r\n                                        'hp', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n\r\n\r\nclass Effect6992(BaseEffect):\r\n    \"\"\"\r\n    roleBonusMHTDamage1\r\n\r\n    Used by:\r\n    Ship: Victor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'damageMultiplier', src.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect6993(BaseEffect):\r\n    \"\"\"\r\n    roleBonus2BoosterPenaltyReduction\r\n\r\n    Used by:\r\n    Ship: Victor\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterMissileAOECloudPenalty', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterCapacitorCapacityPenalty', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterAOEVelocityPenalty', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterArmorRepairAmountPenalty', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterMissileVelocityPenalty', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterTurretTrackingPenalty', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterShieldCapacityPenalty', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterTurretOptimalRangePenalty', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterShieldBoostAmountPenalty', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterTurretFalloffPenalty', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterArmorHPPenalty', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterMaxVelocityPenalty', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n\r\n\r\nclass Effect6994(BaseEffect):\r\n    \"\"\"\r\n    eliteReconBonusMHTDamage1\r\n\r\n    Used by:\r\n    Ship: Victor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('eliteBonusReconShip1'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6995(BaseEffect):\r\n    \"\"\"\r\n    targetDisintegratorAttack\r\n\r\n    Used by:\r\n    Modules from group: Precursor Weapon (20 of 20)\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        # Set reload time to 1 second\r\n        module.reloadTime = 1000\r\n\r\n\r\nclass Effect6996(BaseEffect):\r\n    \"\"\"\r\n    eliteReconBonusArmorRepAmount3\r\n\r\n    Used by:\r\n    Ship: Victor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',\r\n                                      src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect6997(BaseEffect):\r\n    \"\"\"\r\n    eliteCovertOpsBonusArmorRepAmount4\r\n\r\n    Used by:\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',\r\n                                      src.getModifiedItemAttr('eliteBonusCovertOps4'), skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect6999(BaseEffect):\r\n    \"\"\"\r\n    covertOpsStealthBomberSiegeMissileLauncherCPUNeedBonus\r\n\r\n    Used by:\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo',\r\n                                         'cpu', ship.getModifiedItemAttr('stealthBomberLauncherCPU'), **kwargs)\r\n\r\n\r\nclass Effect7000(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSHTFalloffGF1\r\n\r\n    Used by:\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'falloff',\r\n                                      src.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect7001(BaseEffect):\r\n    \"\"\"\r\n    roleBonusTorpRoF1\r\n\r\n    Used by:\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo', 'speed', src.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect7002(BaseEffect):\r\n    \"\"\"\r\n    roleBonusBombLauncherPWGCPU3\r\n\r\n    Used by:\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Bomb Deployment'), 'power', src.getModifiedItemAttr('shipBonusRole3'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Bomb Deployment'), 'cpu', src.getModifiedItemAttr('shipBonusRole3'), **kwargs)\r\n\r\n\r\nclass Effect7003(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCovertOpsSHTDamage3\r\n\r\n    Used by:\r\n    Ship: Virtuoso\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('eliteBonusCovertOps3'), skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect7008(BaseEffect):\r\n    \"\"\"\r\n    structureFullPowerStateHitpointModifier\r\n\r\n    Used by:\r\n    Items from category: Structure (18 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('shieldCapacity', src.getModifiedItemAttr('structureFullPowerStateHitpointMultiplier') or 0, **kwargs)\r\n        fit.ship.multiplyItemAttr('armorHP', src.getModifiedItemAttr('structureFullPowerStateHitpointMultiplier') or 0, **kwargs)\r\n\r\n\r\nclass Effect7009(BaseEffect):\r\n    \"\"\"\r\n    serviceModuleFullPowerHitpointPostAssign\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Citadel Service Module (2 of 2)\r\n    Structure Modules from group: Structure Engineering Service Module (6 of 6)\r\n    Structure Modules from group: Structure FLEX Service Module (4 of 4)\r\n    Structure Modules from group: Structure Resource Processing Service Module (4 of 4)\r\n    Structure Module: Standup Moon Drill I\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.forceItemAttr('structureFullPowerStateHitpointMultiplier', src.getModifiedItemAttr('serviceModuleFullPowerStateHitpointMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect7012(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusAssaultDamageControl\r\n\r\n    Used by:\r\n    Variations of module: Assault Damage Control I (6 of 6)\r\n    Module: Abyssal Assault Damage Control\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for layer, attrPrefix in (('shield', 'shield'), ('armor', 'armor'), ('hull', '')):\r\n            for damageType in ('Kinetic', 'Thermal', 'Explosive', 'Em'):\r\n                booster = '%s%sDamageResonance' % (layer, damageType)\r\n\r\n                src.forceItemAttr(booster, src.getModifiedItemAttr('resistanceMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect7013(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipKineticMissileDamage1\r\n\r\n    Used by:\r\n    Ship: Jaguar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'kineticDamage',\r\n                                        src.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect7014(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipThermalMissileDamage1\r\n\r\n    Used by:\r\n    Ship: Jaguar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'thermalDamage',\r\n                                        src.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect7015(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipEMMissileDamage1\r\n\r\n    Used by:\r\n    Ship: Jaguar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'emDamage',\r\n                                        src.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect7016(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipExplosiveMissileDamage1\r\n\r\n    Used by:\r\n    Ship: Jaguar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'explosiveDamage',\r\n                                        src.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect7017(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipExplosionVelocity2\r\n\r\n    Used by:\r\n    Ship: Geri\r\n    Ship: Jaguar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'aoeVelocity',\r\n                                        src.getModifiedItemAttr('eliteBonusGunship2'), skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect7018(BaseEffect):\r\n    \"\"\"\r\n    shipSETROFAF\r\n\r\n    Used by:\r\n    Ship: Retribution\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'), 'speed',\r\n                                      src.getModifiedItemAttr('shipBonusAF'), stackingPenalties=False, skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect7020(BaseEffect):\r\n    \"\"\"\r\n    remoteWebifierMaxRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: Inquest 'Eros' Stasis Webifier MR (3 of 3)\r\n    Implants named like: Inquest 'Hedone' Entanglement Optimizer WS (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'maxRange',\r\n                                      src.getModifiedItemAttr('stasisWebRangeBonus'), stackingPenalties=False, **kwargs)\r\n\r\n\r\nclass Effect7021(BaseEffect):\r\n    \"\"\"\r\n    structureRigMaxTargetRange\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Combat Rig L - Max Targets and Sensor Boosting (2 of 2)\r\n    Structure Modules from group: Structure Combat Rig M - Boosted Sensors (2 of 2)\r\n    Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('structureRigMaxTargetRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect7026(BaseEffect):\r\n    \"\"\"\r\n    scriptStandupWarpScram\r\n\r\n    Used by:\r\n    Charge: Standup Focused Warp Scrambling Script\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        src.boostItemAttr('maxRange', src.getModifiedChargeAttr('warpScrambleRangeBonus'), **kwargs)\r\n        src.forceItemAttr('activationBlockedStrenght', src.getModifiedChargeAttr('activationBlockedStrenght'), **kwargs)\r\n\r\n\r\nclass Effect7027(BaseEffect):\r\n    \"\"\"\r\n    structureCapacitorCapacityBonus\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Capacitor Battery (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('capacitorCapacity', ship.getModifiedItemAttr('capacitorBonus'), **kwargs)\r\n\r\n\r\nclass Effect7028(BaseEffect):\r\n    \"\"\"\r\n    structureModifyPowerRechargeRate\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Capacitor Power Relay (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('rechargeRate', module.getModifiedItemAttr('capacitorRechargeRateMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect7029(BaseEffect):\r\n    \"\"\"\r\n    structureArmorHPBonus\r\n\r\n    Used by:\r\n    Structure Modules from group: Structure Armor Reinforcer (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('hiddenArmorHPMultiplier', src.getModifiedItemAttr('armorHpBonus'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect7030(BaseEffect):\r\n    \"\"\"\r\n    structureAoERoFRoleBonus\r\n\r\n    Used by:\r\n    Items from category: Structure (11 of 18)\r\n    Structures from group: Citadel (8 of 9)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Guided Bomb Launcher',\r\n                                      'speed', ship.getModifiedItemAttr('structureAoERoFRoleBonus'), **kwargs)\r\n        for attr in ['duration', 'durationTargetIlluminationBurstProjector', 'durationWeaponDisruptionBurstProjector',\r\n                     'durationECMJammerBurstProjector', 'durationSensorDampeningBurstProjector', 'capacitorNeed']:\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Burst Projector',\r\n                                          attr, ship.getModifiedItemAttr('structureAoERoFRoleBonus'), **kwargs)\r\n\r\n\r\nclass Effect7031(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileKineticDamageCBC2\r\n\r\n    Used by:\r\n    Ship: Drake Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'kineticDamage',\r\n                                        src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7032(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileThermalDamageCBC2\r\n\r\n    Used by:\r\n    Ship: Drake Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'thermalDamage',\r\n                                        src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7033(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileEMDamageCBC2\r\n\r\n    Used by:\r\n    Ship: Drake Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),\r\n                                        'emDamage', src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7034(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileExplosiveDamageCBC2\r\n\r\n    Used by:\r\n    Ship: Drake Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'explosiveDamage',\r\n                                        src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7035(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyAssaultMissileExplosiveDamageCBC2\r\n\r\n    Used by:\r\n    Ship: Drake Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'), 'explosiveDamage',\r\n                                        src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7036(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyAssaultMissileEMDamageCBC2\r\n\r\n    Used by:\r\n    Ship: Drake Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'), 'emDamage',\r\n                                        src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7037(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyAssaultMissileThermalDamageCBC2\r\n\r\n    Used by:\r\n    Ship: Drake Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'thermalDamage', src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7038(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyAssaultMissileKineticDamageCBC2\r\n\r\n    Used by:\r\n    Ship: Drake Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'kineticDamage', src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7039(BaseEffect):\r\n    \"\"\"\r\n    structureHiddenMissileDamageMultiplier\r\n\r\n    Used by:\r\n    Items from category: Structure (14 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        groups = ('Structure Anti-Subcapital Missile', 'Structure Anti-Capital Missile')\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.modules.filteredChargeMultiply(lambda mod: mod.item.group.name in groups,\r\n                                               '%sDamage' % dmgType,\r\n                                               src.getModifiedItemAttr('hiddenMissileDamageMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect7040(BaseEffect):\r\n    \"\"\"\r\n    structureHiddenArmorHPMultiplier\r\n\r\n    Used by:\r\n    Items from category: Structure (18 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('armorHP', src.getModifiedItemAttr('hiddenArmorHPMultiplier') or 0, **kwargs)\r\n\r\n\r\nclass Effect7042(BaseEffect):\r\n    \"\"\"\r\n    shipArmorHitPointsAC1\r\n\r\n    Used by:\r\n    Ship: Monitor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorHP', src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect7043(BaseEffect):\r\n    \"\"\"\r\n    shipShieldHitpointsCC1\r\n\r\n    Used by:\r\n    Ship: Monitor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldCapacity', src.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect7044(BaseEffect):\r\n    \"\"\"\r\n    shipAgilityBonusGC1\r\n\r\n    Used by:\r\n    Ship: Monitor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', src.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect7045(BaseEffect):\r\n    \"\"\"\r\n    shipSignatureRadiusMC1\r\n\r\n    Used by:\r\n    Ship: Monitor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('signatureRadius', src.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect7046(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusFlagCruiserAllResistances1\r\n\r\n    Used by:\r\n    Ship: Monitor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('explosiveDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers', **kwargs)\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers', **kwargs)\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers', **kwargs)\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers', **kwargs)\r\n        fit.ship.boostItemAttr('thermalDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers', **kwargs)\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers', **kwargs)\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers', **kwargs)\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers', **kwargs)\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers', **kwargs)\r\n        fit.ship.boostItemAttr('kineticDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers', **kwargs)\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers', **kwargs)\r\n        fit.ship.boostItemAttr('emDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers', **kwargs)\r\n\r\n\r\nclass Effect7047(BaseEffect):\r\n    \"\"\"\r\n    roleBonusFlagCruiserModuleFittingReduction\r\n\r\n    Used by:\r\n    Ship: Monitor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Propulsion Module', 'Micro Jump Drive'),\r\n                                      'power', src.getModifiedItemAttr('flagCruiserFittingBonusPropMods'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Propulsion Module', 'Micro Jump Drive'),\r\n                                      'cpu', src.getModifiedItemAttr('flagCruiserFittingBonusPropMods'), **kwargs)\r\n\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Target Painter', 'Scan Probe Launcher'),\r\n                                      'cpu', src.getModifiedItemAttr('flagCruiserFittingBonusPainterProbes'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Target Painter', 'Scan Probe Launcher'),\r\n                                      'power', src.getModifiedItemAttr('flagCruiserFittingBonusPainterProbes'), **kwargs)\r\n\r\n\r\nclass Effect7050(BaseEffect):\r\n    \"\"\"\r\n    aoe_beacon_bioluminescence_cloud\r\n\r\n    Used by:\r\n    Celestials named like: Bioluminescence Cloud (3 of 3)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive', 'gang')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        for x in range(1, 3):\r\n            if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):\r\n                value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))\r\n                if id:\r\n                    fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')\r\n\r\n\r\nclass Effect7051(BaseEffect):\r\n    \"\"\"\r\n    aoe_beacon_caustic_cloud\r\n\r\n    Used by:\r\n    Celestials named like: Caustic Cloud (3 of 3)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive', 'gang')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        for x in range(1, 3):\r\n            if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):\r\n                value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))\r\n                if id:\r\n                    fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')\r\n\r\n\r\nclass Effect7052(BaseEffect):\r\n    \"\"\"\r\n    roleBonusFlagCruiserTargetPainterModifications\r\n\r\n    Used by:\r\n    Ship: Monitor\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter', 'signatureRadiusBonus',\r\n                                      src.getModifiedItemAttr('targetPainterStrengthModifierFlagCruisers'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter', 'maxRange',\r\n                                      src.getModifiedItemAttr('targetPainterRangeModifierFlagCruisers'), **kwargs)\r\n\r\n\r\nclass Effect7055(BaseEffect):\r\n    \"\"\"\r\n    shipLargeWeaponsDamageBonus\r\n\r\n    Used by:\r\n    Ship: Praxis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'thermalDamage',\r\n                                        src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'emDamage',\r\n                                        src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'kineticDamage',\r\n                                        src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'explosiveDamage',\r\n                                        src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'emDamage',\r\n                                        src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'kineticDamage',\r\n                                        src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'explosiveDamage',\r\n                                        src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'thermalDamage',\r\n                                        src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'), 'thermalDamage',\r\n                                        src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'), 'explosiveDamage',\r\n                                        src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'), 'kineticDamage',\r\n                                        src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'), 'emDamage',\r\n                                        src.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect7058(BaseEffect):\r\n    \"\"\"\r\n    aoe_beacon_filament_cloud\r\n\r\n    Used by:\r\n    Celestials named like: Filament Cloud (3 of 3)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive', 'gang')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        for x in range(1, 3):\r\n            if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):\r\n                value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))\r\n                if id:\r\n                    fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')\r\n\r\n\r\nclass Effect7059(BaseEffect):\r\n    \"\"\"\r\n    weather_caustic_toxin\r\n\r\n    Used by:\r\n    Celestial: caustic_toxin_weather_1\r\n    Celestial: caustic_toxin_weather_2\r\n    Celestial: caustic_toxin_weather_3\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive', 'gang')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        for x in range(1, 3):\r\n            if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):\r\n                value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))\r\n                if id:\r\n                    fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')\r\n\r\n\r\nclass Effect7060(BaseEffect):\r\n    \"\"\"\r\n    weather_darkness\r\n\r\n    Used by:\r\n    Celestial: darkness_weather_1\r\n    Celestial: darkness_weather_2\r\n    Celestial: darkness_weather_3\r\n    Celestial: pvp_weather_1\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive', 'gang')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        for x in range(1, 5):\r\n            if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):\r\n                value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))\r\n                if id:\r\n                    fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')\r\n\r\n\r\nclass Effect7061(BaseEffect):\r\n    \"\"\"\r\n    weather_electric_storm\r\n\r\n    Used by:\r\n    Celestial: electric_storm_weather_1\r\n    Celestial: electric_storm_weather_2\r\n    Celestial: electric_storm_weather_3\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive', 'gang')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        for x in range(1, 3):\r\n            if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):\r\n                value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))\r\n\r\n                if id:\r\n                    fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')\r\n\r\n\r\nclass Effect7062(BaseEffect):\r\n    \"\"\"\r\n    weather_infernal\r\n\r\n    Used by:\r\n    Celestial: infernal_weather_1\r\n    Celestial: infernal_weather_2\r\n    Celestial: infernal_weather_3\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive', 'gang')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        for x in range(1, 3):\r\n            if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):\r\n                value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))\r\n\r\n                if id:\r\n                    fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')\r\n\r\n\r\nclass Effect7063(BaseEffect):\r\n    \"\"\"\r\n    weather_xenon_gas\r\n\r\n    Used by:\r\n    Celestial: xenon_gas_weather_1\r\n    Celestial: xenon_gas_weather_2\r\n    Celestial: xenon_gas_weather_3\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive', 'gang')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        for x in range(1, 3):\r\n            if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):\r\n                value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))\r\n                id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))\r\n\r\n                if id:\r\n                    fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')\r\n\r\n\r\nclass Effect7064(BaseEffect):\r\n    \"\"\"\r\n    weather_basic\r\n\r\n    Used by:\r\n    Celestial: basic_weather\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n\r\nclass Effect7071(BaseEffect):\r\n    \"\"\"\r\n    smallPrecursorTurretDmgBonusRequiredSkill\r\n\r\n    Used by:\r\n    Skill: Small Precursor Weapon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect7072(BaseEffect):\r\n    \"\"\"\r\n    mediumPrecursorTurretDmgBonusRequiredSkill\r\n\r\n    Used by:\r\n    Skill: Medium Precursor Weapon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect7073(BaseEffect):\r\n    \"\"\"\r\n    largePrecursorTurretDmgBonusRequiredSkill\r\n\r\n    Used by:\r\n    Skill: Large Precursor Weapon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Precursor Weapon'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect7074(BaseEffect):\r\n    \"\"\"\r\n    smallDisintegratorSkillDmgBonus\r\n\r\n    Used by:\r\n    Skill: Small Disintegrator Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Disintegrator Specialization'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect7075(BaseEffect):\r\n    \"\"\"\r\n    mediumDisintegratorSkillDmgBonus\r\n\r\n    Used by:\r\n    Skill: Medium Disintegrator Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Disintegrator Specialization'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect7076(BaseEffect):\r\n    \"\"\"\r\n    largeDisintegratorSkillDmgBonus\r\n\r\n    Used by:\r\n    Skill: Large Disintegrator Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Disintegrator Specialization'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect7077(BaseEffect):\r\n    \"\"\"\r\n    disintegratorWeaponDamageMultiply\r\n\r\n    Used by:\r\n    Modules from group: Entropic Radiation Sink (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Precursor Weapon',\r\n                                         'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect7078(BaseEffect):\r\n    \"\"\"\r\n    disintegratorWeaponSpeedMultiply\r\n\r\n    Used by:\r\n    Modules from group: Entropic Radiation Sink (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Precursor Weapon',\r\n                                         'speed', module.getModifiedItemAttr('speedMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect7079(BaseEffect):\r\n    \"\"\"\r\n    shipPCBSSPeedBonusPCBS1\r\n\r\n    Used by:\r\n    Ship: Leshak\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Precursor Weapon'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusPBS1'), skill='Precursor Battleship', **kwargs)\r\n\r\n\r\nclass Effect7080(BaseEffect):\r\n    \"\"\"\r\n    shipPCBSDmgBonusPCBS2\r\n\r\n    Used by:\r\n    Ship: Leshak\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Precursor Weapon'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusPBS2'), skill='Precursor Battleship', **kwargs)\r\n\r\n\r\nclass Effect7085(BaseEffect):\r\n    \"\"\"\r\n    shipbonusPCTDamagePC1\r\n\r\n    Used by:\r\n    Variations of ship: Vedmak (2 of 2)\r\n    Ship: Tiamat\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusPC1'), skill='Precursor Cruiser', **kwargs)\r\n\r\n\r\nclass Effect7086(BaseEffect):\r\n    \"\"\"\r\n    shipbonusPCTTrackingPC2\r\n\r\n    Used by:\r\n    Ship: Ikitursa\r\n    Ship: Tiamat\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),\r\n                                      'trackingSpeed', ship.getModifiedItemAttr('shipBonusPC2'), skill='Precursor Cruiser', **kwargs)\r\n\r\n\r\nclass Effect7087(BaseEffect):\r\n    \"\"\"\r\n    shipbonusPCTOptimalPF2\r\n\r\n    Used by:\r\n    Ship: Hydra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusPF2'), skill='Precursor Frigate', **kwargs)\r\n\r\n\r\nclass Effect7088(BaseEffect):\r\n    \"\"\"\r\n    shipbonusPCTDamagePF1\r\n\r\n    Used by:\r\n    Variations of ship: Damavik (2 of 2)\r\n    Ship: Hydra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusPF1'), skill='Precursor Frigate', **kwargs)\r\n\r\n\r\nclass Effect7091(BaseEffect):\r\n    \"\"\"\r\n    shipBonusNosNeutCapNeedRoleBonus2\r\n\r\n    Used by:\r\n    Variations of ship: Rodiva (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capacitor Emission Systems'), 'capacitorNeed', src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n\r\n\r\nclass Effect7092(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteRepCapNeedRoleBonus2\r\n\r\n    Used by:\r\n    Variations of ship: Damavik (2 of 2)\r\n    Variations of ship: Kikimora (2 of 2)\r\n    Variations of ship: Leshak (2 of 2)\r\n    Variations of ship: Vedmak (2 of 2)\r\n    Ship: Drekavac\r\n    Ship: Hydra\r\n    Ship: Tiamat\r\n    Ship: Zirnitra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems') or mod.item.requiresSkill('Capital Remote Armor Repair Systems'),\r\n            'capacitorNeed', ship.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n\r\n\r\nclass Effect7093(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmartbombCapNeedRoleBonus2\r\n\r\n    Used by:\r\n    Variations of ship: Damavik (2 of 2)\r\n    Variations of ship: Kikimora (2 of 2)\r\n    Variations of ship: Leshak (2 of 2)\r\n    Variations of ship: Rodiva (2 of 2)\r\n    Variations of ship: Vedmak (2 of 2)\r\n    Ship: Drekavac\r\n    Ship: Hydra\r\n    Ship: Tiamat\r\n    Ship: Zirnitra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Energy Pulse Weapons'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n\r\n\r\nclass Effect7094(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteRepMaxRangeRoleBonus1\r\n\r\n    Used by:\r\n    Variations of ship: Damavik (2 of 2)\r\n    Variations of ship: Kikimora (2 of 2)\r\n    Variations of ship: Leshak (2 of 2)\r\n    Variations of ship: Vedmak (2 of 2)\r\n    Ship: Drekavac\r\n    Ship: Hydra\r\n    Ship: Tiamat\r\n    Ship: Zirnitra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems') or mod.item.requiresSkill('Capital Remote Armor Repair Systems'),\r\n            'maxRange', ship.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect7097(BaseEffect):\r\n    \"\"\"\r\n    surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupPrecursorTurret\r\n\r\n    Used by:\r\n    Skill: Surgical Strike\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Precursor Weapon',\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect7098(BaseEffect):\r\n    \"\"\"\r\n    structureConversionRigBasicBonuses\r\n\r\n    Used by:\r\n    Structure Modules from group: Outpost Conversion Rigs (104 of 104)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attr in ('hp', 'armorHP', 'shieldCapacity', 'capacitorCapacity'):\r\n            fit.ship.boostItemAttr(attr, src.getModifiedItemAttr('conversionRigHPCapBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('maxTargetRange', src.getModifiedItemAttr('structureRigMaxTargetRangeBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('scanResolution', src.getModifiedItemAttr('structureRigScanResBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('maxLockedTargets', src.getModifiedItemAttr('structureRigMaxTargetBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Area Denial Module',\r\n                                      'capacitorNeed', src.getModifiedItemAttr('structureRigPDCapUseBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Area Denial Module',\r\n                                      'empFieldRange', src.getModifiedItemAttr('structureRigPDRangeBonus'), **kwargs)\r\n        for attr in ('structureRigMaxTargetBonus', 'structureRigMaxTargetRangeBonus', 'structureRigScanResBonus'):\r\n            fit.modules.filteredItemForce(\r\n                lambda mod: mod.item.group.name == 'Structure Combat Rig L - Max Targets and Sensor Boosting',\r\n                attr, src.getModifiedItemAttr('constantZero'), **kwargs)\r\n        for attr in ('structureRigPDCapUseBonus', 'structureRigPDRangeBonus'):\r\n            fit.modules.filteredItemForce(\r\n                lambda mod: mod.item.group.name == 'Structure Combat Rig L - Point Defense Battery Application and Projection',\r\n                attr, src.getModifiedItemAttr('constantZero'), **kwargs)\r\n\r\n\r\nclass Effect7111(BaseEffect):\r\n    \"\"\"\r\n    systemSmallPrecursorTurretDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),\r\n                                         'damageMultiplier', module.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect7112(BaseEffect):\r\n    \"\"\"\r\n    shipBonusNeutCapNeedRoleBonus2\r\n\r\n    Used by:\r\n    Variations of ship: Damavik (2 of 2)\r\n    Variations of ship: Kikimora (2 of 2)\r\n    Variations of ship: Leshak (2 of 2)\r\n    Variations of ship: Vedmak (2 of 2)\r\n    Ship: Drekavac\r\n    Ship: Hydra\r\n    Ship: Tiamat\r\n    Ship: Zirnitra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'capacitorNeed',\r\n                                      src.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n\r\n\r\nclass Effect7116(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusReconScanProbeStrength2\r\n\r\n    Used by:\r\n    Ship: Tiamat\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'), 'baseSensorStrength',\r\n                                        src.getModifiedItemAttr('eliteBonusReconShip2'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect7117(BaseEffect):\r\n    \"\"\"\r\n    roleBonusWarpSpeed\r\n\r\n    Used by:\r\n    Ships from group: Blockade Runner (5 of 5)\r\n    Ships from group: Covert Ops (9 of 9)\r\n    Ships from group: Hauler (5 of 18)\r\n    Ships from group: Interceptor (10 of 10)\r\n    Ships from group: Interdictor (4 of 4)\r\n    Ships from group: Special Edition Yachts (4 of 5)\r\n    Ship: Azariel\r\n    Ship: Cynabal\r\n    Ship: Dramiel\r\n    Ship: Khizriel\r\n    Ship: Leopard\r\n    Ship: Machariel\r\n    Ship: Mekubal\r\n    Ship: Sarathiel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('shipRoleBonusWarpSpeed'), **kwargs)\r\n\r\n\r\nclass Effect7118(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCovertOps3PCTdamagePerCycle\r\n\r\n    Used by:\r\n    Ship: Hydra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'), 'damageMultiplierBonusPerCycle',\r\n                                         src.getModifiedItemAttr('eliteBonusCovertOps3'), skill='Covert Ops', **kwargs)\r\n\r\n\r\nclass Effect7119(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusReconShip3PCTdamagePerCycle\r\n\r\n    Used by:\r\n    Ship: Tiamat\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'), 'damageMultiplierBonusPerCycle',\r\n                                         src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships', **kwargs)\r\n\r\n\r\nclass Effect7142(BaseEffect):\r\n    \"\"\"\r\n    massEntanglerEffect5\r\n\r\n    Used by:\r\n    Module: Zero-Point Mass Entangler\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('warpScrambleStrength'), **kwargs)\r\n        fit.ship.boostItemAttr('mass', src.getModifiedItemAttr('massBonusPercentage'), stackingPenalties=True, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'), 'speedFactor',\r\n                                      src.getModifiedItemAttr('speedFactorBonus'), stackingPenalties=True, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'), 'speedBoostFactor',\r\n                                      src.getModifiedItemAttr('speedBoostFactorBonus'), **kwargs)\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'), 'activationBlocked',\r\n                                         src.getModifiedItemAttr('activationBlockedStrenght'), **kwargs)\r\n        fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('maxVelocityBonus'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect7154(BaseEffect):\r\n    \"\"\"\r\n    shipBonusPD1DisintegratorDamage\r\n\r\n    Used by:\r\n    Variations of ship: Kikimora (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusPD1'),\r\n                                      skill='Precursor Destroyer', **kwargs)\r\n\r\n\r\nclass Effect7155(BaseEffect):\r\n    \"\"\"\r\n    shipBonusPBC1DisintegratorDamage\r\n\r\n    Used by:\r\n    Ship: Drekavac\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusPBC1'),\r\n                                      skill='Precursor Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7156(BaseEffect):\r\n    \"\"\"\r\n    smallDisintegratorMaxRangeBonus\r\n\r\n    Used by:\r\n    Ship: Kikimora\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),\r\n                                      'maxRange', ship.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect7157(BaseEffect):\r\n    \"\"\"\r\n    shipBonusPD2DisintegratorMaxRange\r\n\r\n    Used by:\r\n    Variations of ship: Kikimora (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusPD2'),\r\n                                      skill='Precursor Destroyer', **kwargs)\r\n\r\n\r\nclass Effect7158(BaseEffect):\r\n    \"\"\"\r\n    shipArmorKineticResistancePBC2\r\n\r\n    Used by:\r\n    Ship: Drekavac\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('shipBonusPBC2'),\r\n                               skill='Precursor Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7159(BaseEffect):\r\n    \"\"\"\r\n    shipArmorThermalResistancePBC2\r\n\r\n    Used by:\r\n    Ship: Drekavac\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('shipBonusPBC2'),\r\n                               skill='Precursor Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7160(BaseEffect):\r\n    \"\"\"\r\n    shipArmorEMResistancePBC2\r\n\r\n    Used by:\r\n    Ship: Drekavac\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('shipBonusPBC2'),\r\n                               skill='Precursor Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7161(BaseEffect):\r\n    \"\"\"\r\n    shipArmorExplosiveResistancePBC2\r\n\r\n    Used by:\r\n    Ship: Drekavac\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusPBC2'),\r\n                               skill='Precursor Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect7162(BaseEffect):\r\n    \"\"\"\r\n    shipRoleDisintegratorMaxRangeCBC\r\n\r\n    Used by:\r\n    Ship: Drekavac\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),\r\n                                      'maxRange', ship.getModifiedItemAttr('roleBonusCBC'), **kwargs)\r\n\r\n\r\nclass Effect7166(BaseEffect):\r\n    \"\"\"\r\n    ShipModuleRemoteArmorMutadaptiveRepairer\r\n\r\n    Used by:\r\n    Modules from group: Mutadaptive Remote Armor Repairer (5 of 5)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'projected', 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if 'projected' not in context:\r\n            return\r\n        if fit.ship.getModifiedItemAttr('disallowAssistance'):\r\n            return\r\n        repAmountBase = container.getModifiedItemAttr('armorDamageAmount')\r\n        repAmountBase *= calculateRangeFactor(\r\n            srcOptimalRange=container.getModifiedItemAttr('maxRange'),\r\n            srcFalloffRange=container.getModifiedItemAttr('falloffEffectiveness'),\r\n            distance=projectionRange)\r\n        cycleTime = container.getModifiedItemAttr('duration') / 1000.0\r\n        repSpoolMax = container.getModifiedItemAttr('repairMultiplierBonusMax')\r\n        repSpoolPerCycle = container.getModifiedItemAttr('repairMultiplierBonusPerCycle')\r\n        defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n        spoolType, spoolAmount = resolveSpoolOptions(SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False), container)\r\n        amount = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, spoolType, spoolAmount)[0])\r\n        amountPreSpool = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, SpoolType.SPOOL_SCALE, 0)[0])\r\n        amountFullSpool = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, SpoolType.SPOOL_SCALE, 1)[0])\r\n        fit._armorRr.append((amount, cycleTime))\r\n        fit._armorRrPreSpool.append((amountPreSpool, cycleTime))\r\n        fit._armorRrFullSpool.append((amountFullSpool, cycleTime))\r\n\r\n\r\nclass Effect7167(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRemoteCapacitorTransferRangeRole1\r\n\r\n    Used by:\r\n    Variations of ship: Rodiva (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter', 'maxRange', src.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect7168(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMutadaptiveRemoteRepairRangeRole3\r\n\r\n    Used by:\r\n    Ship: Rodiva\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mutadaptive Remote Armor Repairer', 'maxRange', src.getModifiedItemAttr('shipBonusRole3'), **kwargs)\r\n\r\n\r\nclass Effect7169(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMutadaptiveRepAmountPC1\r\n\r\n    Used by:\r\n    Ship: Rodiva\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mutadaptive Remote Armor Repairer', 'armorDamageAmount', src.getModifiedItemAttr('shipBonusPC1'), skill='Precursor Cruiser', **kwargs)\r\n\r\n\r\nclass Effect7170(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMutadaptiveRepCapNeedPC2\r\n\r\n    Used by:\r\n    Ship: Rodiva\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mutadaptive Remote Armor Repairer', 'capacitorNeed', src.getModifiedItemAttr('shipBonusPC2'), skill='Precursor Cruiser', **kwargs)\r\n\r\n\r\nclass Effect7171(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMutadaptiveRemoteRepRangePC1\r\n\r\n    Used by:\r\n    Ship: Zarmazd\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mutadaptive Remote Armor Repairer', 'maxRange', src.getModifiedItemAttr('shipBonusPC1'), skill='Precursor Cruiser', **kwargs)\r\n\r\n\r\nclass Effect7172(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMutadaptiveRemoteRepCapNeedeliteBonusLogisitics1\r\n\r\n    Used by:\r\n    Ship: Zarmazd\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mutadaptive Remote Armor Repairer', 'capacitorNeed', src.getModifiedItemAttr('eliteBonusLogistics1'), skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect7173(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMutadaptiveRemoteRepAmounteliteBonusLogisitics2\r\n\r\n    Used by:\r\n    Ship: Zarmazd\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mutadaptive Remote Armor Repairer', 'armorDamageAmount', src.getModifiedItemAttr('eliteBonusLogistics2'), skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect7176(BaseEffect):\r\n    \"\"\"\r\n    skillBonusDroneInterfacingNotFighters\r\n\r\n    Used by:\r\n    Implants named like: Federation Damage Booster (4 of 4)\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    Implants named like: Imperial Damage Booster (4 of 4)\r\n    Implant: CreoDron 'Bumblebee' Drone Tuner T10-5D\r\n    Implant: CreoDron 'Yellowjacket' Drone Tuner D5-10T\r\n    Implant: Guristas Damage Booster III\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'damageMultiplier',\r\n                                     src.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect7177(BaseEffect):\r\n    \"\"\"\r\n    skillBonusDroneDurabilityNotFighters\r\n\r\n    Used by:\r\n    Implants named like: Drone Tuner (4 of 4)\r\n    Implants named like: Federation Projection Booster (4 of 4)\r\n    Implants named like: Imperial Projection Booster (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'hp',\r\n                                     src.getModifiedItemAttr('hullHpBonus'))\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'armorHP',\r\n                                     src.getModifiedItemAttr('armorHpBonus'))\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'shieldCapacity',\r\n                                     src.getModifiedItemAttr('shieldCapacityBonus'), **kwargs)\r\n\r\n\r\nclass Effect7183(BaseEffect):\r\n    \"\"\"\r\n    implantWarpScrambleRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: Inquest 'Hedone' Entanglement Optimizer WS (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Warp Scrambler',\r\n            'maxRange', src.getModifiedItemAttr('warpScrambleRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect7184(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumDroneHProle8\r\n\r\n    Used by:\r\n    Ship: Alligator\r\n    Ship: Gila\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),\r\n                                     'hp', ship.getModifiedItemAttr('shipBonusRole8'), **kwargs)\r\n\r\n\r\nclass Effect7185(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumDroneShieldHProle8\r\n\r\n    Used by:\r\n    Ship: Alligator\r\n    Ship: Gila\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),\r\n                                     'shieldCapacity', ship.getModifiedItemAttr('shipBonusRole8'), **kwargs)\r\n\r\n\r\nclass Effect7186(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumDroneArmorHProle8\r\n\r\n    Used by:\r\n    Ship: Alligator\r\n    Ship: Gila\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),\r\n                                     'armorHP', ship.getModifiedItemAttr('shipBonusRole8'), **kwargs)\r\n\r\n\r\nclass Effect7193(BaseEffect):\r\n    \"\"\"\r\n    systemMiningCycleTimeBonus\r\n\r\n    Used by:\r\n    Celestials from group: Destructible Effect Beacon (4 of 6)\r\n    Celestials named like: Triglavian Invasion System Effects (3 of 3)\r\n    Celestials named like: War HQ (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'), 'duration',\r\n                                      beacon.getModifiedItemAttr('miningDurationMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect7202(BaseEffect):\r\n    \"\"\"\r\n    systemDroneSpeedBonusPercent\r\n\r\n    Used by:\r\n    Celestials named like: Triglavian Invasion System Effects (3 of 3)\r\n    Celestial: Drifter Crisis\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'maxVelocity', beacon.getModifiedItemAttr('droneMaxVelocityBonus'),\r\n                                     stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect7203(BaseEffect):\r\n    \"\"\"\r\n    systemDroneDamageBonusPercent\r\n\r\n    Used by:\r\n    Celestials named like: Triglavian Invasion System Effects (3 of 3)\r\n    Celestial: Drifter Crisis\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', beacon.getModifiedItemAttr('droneDamageBonus'),\r\n                                     stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect7204(BaseEffect):\r\n    \"\"\"\r\n    shipArmorEMResistancePF2\r\n\r\n    Used by:\r\n    Variations of ship: Damavik (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('shipBonusPF2'), skill='Precursor Frigate', **kwargs)\r\n\r\n\r\nclass Effect7205(BaseEffect):\r\n    \"\"\"\r\n    shipArmorKinResistancePF2\r\n\r\n    Used by:\r\n    Variations of ship: Damavik (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('shipBonusPF2'), skill='Precursor Frigate', **kwargs)\r\n\r\n\r\nclass Effect7206(BaseEffect):\r\n    \"\"\"\r\n    shipArmorThermResistancePF2\r\n\r\n    Used by:\r\n    Variations of ship: Damavik (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('shipBonusPF2'), skill='Precursor Frigate', **kwargs)\r\n\r\n\r\nclass Effect7207(BaseEffect):\r\n    \"\"\"\r\n    shipArmorExpResistancePF2\r\n\r\n    Used by:\r\n    Variations of ship: Damavik (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusPF2'), skill='Precursor Frigate', **kwargs)\r\n\r\n\r\nclass Effect7209(BaseEffect):\r\n    \"\"\"\r\n    shipPCTOptimalBonusEliteGunship2\r\n\r\n    Used by:\r\n    Ship: Nergal\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusGunship2'),\r\n                                      skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect7210(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCommandDestroyerRole2DefenderBonus\r\n\r\n    Used by:\r\n    Ship: Draugur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Defender Missiles'),\r\n                                      'moduleReactivationDelay', ship.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n\r\n\r\nclass Effect7211(BaseEffect):\r\n    \"\"\"\r\n    shipDmgMultiMaxEliteHeavyGunship1\r\n\r\n    Used by:\r\n    Ship: Ikitursa\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),\r\n                                      'damageMultiplierBonusMax', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),\r\n                                      skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect7216(BaseEffect):\r\n    \"\"\"\r\n    shipDmgMultiMaxEliteGunship1\r\n\r\n    Used by:\r\n    Ship: Nergal\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),\r\n                                      'damageMultiplierBonusMax', ship.getModifiedItemAttr('eliteBonusGunship1'),\r\n                                      skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect7223(BaseEffect):\r\n    \"\"\"\r\n    systemAgilityBonusPercentItem\r\n\r\n    Used by:\r\n    Celestials named like: Triglavian Invasion System Effects (3 of 3)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('agility', beacon.getModifiedItemAttr('agilityBonus'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect7227(BaseEffect):\r\n    \"\"\"\r\n    systemHullHPBonusPercentItem\r\n\r\n    Used by:\r\n    Celestials named like: Triglavian Invasion System Effects (3 of 3)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('hp', beacon.getModifiedItemAttr('hullHpBonus'), **kwargs)\r\n\r\n\r\nclass Effect7228(BaseEffect):\r\n    \"\"\"\r\n    shipMediumPrecursorWeaponOptimalEliteHeavyGunship2\r\n\r\n    Used by:\r\n    Ship: Ikitursa\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),\r\n                                      'maxRange', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),\r\n                                      skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect7230(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneTrackingGC2\r\n\r\n    Used by:\r\n    Ship: Vexor Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),\r\n                                     'trackingSpeed', ship.getModifiedItemAttr('shipBonusGC2'),\r\n                                     skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect7231(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorRepAmountGC3\r\n\r\n    Used by:\r\n    Ship: Vexor Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),\r\n                                      'armorDamageAmount', ship.getModifiedItemAttr('shipBonusGC3'),\r\n                                      skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect7232(BaseEffect):\r\n    \"\"\"\r\n    modifyDamageMultiplierBonusMax\r\n\r\n    Used by:\r\n    Implants named like: grade Mimesis (15 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Precursor Weapon', 'damageMultiplierBonusMax',\r\n            implant.getModifiedItemAttr('damageMultiplierBonusMaxModifier'), **kwargs)\r\n\r\n\r\nclass Effect7233(BaseEffect):\r\n    \"\"\"\r\n    modifyDamageMultiplierBonusPerCycle\r\n\r\n    Used by:\r\n    Implants named like: grade Mimesis (15 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Precursor Weapon', 'damageMultiplierBonusPerCycle',\r\n            implant.getModifiedItemAttr('damageMultiplierBonusPerCycleModifier'), **kwargs)\r\n\r\n\r\nclass Effect7234(BaseEffect):\r\n    \"\"\"\r\n    implantSetMimesis\r\n\r\n    Used by:\r\n    Implants named like: grade Mimesis (18 of 18)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(\r\n            lambda imp: imp.item.group.name == 'Cyberimplant', 'damageMultiplierBonusMaxModifier',\r\n            implant.getModifiedItemAttr('setBonusMimesis'), **kwargs)\r\n        fit.appliedImplants.filteredItemMultiply(\r\n            lambda imp: imp.item.group.name == 'Cyberimplant', 'damageMultiplierBonusPerCycleModifier',\r\n            implant.getModifiedItemAttr('setBonusMimesis'), **kwargs)\r\n\r\n\r\nclass Effect7237(BaseEffect):\r\n    \"\"\"\r\n    systemWarpSpeedBonus\r\n\r\n    Used by:\r\n    Celestial: Drifter Crisis\r\n    Celestial: Turnur Aftermath\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', beacon.getModifiedItemAttr('warpSpeedBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect7238(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtPC1DamageMultMax\r\n\r\n    Used by:\r\n    Ship: Zirnitra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Precursor Weapon'), 'damageMultiplier',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtPC1'), skill='Precursor Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect7239(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtPC2ArmorResists\r\n\r\n    Used by:\r\n    Ship: Zirnitra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for type in ('Em', 'Explosive', 'Kinetic', 'Thermal'):\r\n            fit.ship.boostItemAttr('armor{0}DamageResonance'.format(type), src.getModifiedItemAttr('shipBonusDreadnoughtPC2'),\r\n                                   skill='Precursor Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect7240(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtPC3WeaponSpeed\r\n\r\n    Used by:\r\n    Ship: Zirnitra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Precursor Weapon'), 'speed',\r\n                                      src.getModifiedItemAttr('shipBonusDreadnoughtPC3'), skill='Precursor Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect7242(BaseEffect):\r\n    \"\"\"\r\n    capitalPrecursorTurretDmgBonusRequiredSkill\r\n\r\n    Used by:\r\n    Skill: Capital Precursor Weapon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Precursor Weapon'),\r\n                                      'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect7247(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHAMHMLAoeVelocityMC\r\n\r\n    Used by:\r\n    Ship: Bellicose\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: (mod.charge.requiresSkill('Heavy Missiles') or\r\n                                                     mod.charge.requiresSkill('Heavy Assault Missiles')),\r\n                                        'aoeVelocity', ship.getModifiedItemAttr('shipBonusMC'),\r\n                                        skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect7248(BaseEffect):\r\n    \"\"\"\r\n    shipPBonusROFMF\r\n\r\n    Used by:\r\n    Ship: Rifter\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect8011(BaseEffect):\r\n    \"\"\"\r\n    shieldHpBonusPostPercentHpLocationShip\r\n\r\n    Used by:\r\n    Implants named like: grade Nirvana (15 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldCapacity', container.getModifiedItemAttr('shieldHpBonus'), **kwargs)\r\n\r\n\r\nclass Effect8013(BaseEffect):\r\n    \"\"\"\r\n    setBonusNirvana\r\n\r\n    Used by:\r\n    Implants named like: grade Nirvana (18 of 18)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),\r\n                                                 'shieldHpBonus', implant.getModifiedItemAttr('ImplantSetNirvana') or 1, **kwargs)\r\n\r\n\r\nclass Effect8017(BaseEffect):\r\n    \"\"\"\r\n    saviorSetBonus\r\n\r\n    Used by:\r\n    Implants named like: grade Savior (18 of 18)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(\r\n            lambda implant: implant.item.requiresSkill('Cybernetics'),\r\n            'remoteRepDurationCapBonus', implant.getModifiedItemAttr('implantSetSavior'), **kwargs)\r\n\r\n\r\nclass Effect8018(BaseEffect):\r\n    \"\"\"\r\n    subcapRemoteArmorShieldRepDurationCapBonus\r\n\r\n    Used by:\r\n    Implants named like: grade Savior (15 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        for attr in ('duration', 'capacitorNeed'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Shield Emission Systems')\r\n                            or mod.item.requiresSkill('Remote Armor Repair Systems'),\r\n                attr, implant.getModifiedItemAttr('remoteRepDurationCapBonus'), **kwargs)\r\n\r\n\r\nclass Effect8020(BaseEffect):\r\n    \"\"\"\r\n    systemWarpSpeedAddition\r\n\r\n    Used by:\r\n    Celestial: System-Wide Warp Speed Bonus\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('warpSpeedAdd'), **kwargs)\r\n\r\n\r\nclass Effect8021(BaseEffect):\r\n    \"\"\"\r\n    hydraSetBonus\r\n\r\n    Used by:\r\n    Implants named like: grade Hydra (18 of 18)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        for attr in ('hydraDroneTrackingBonus', 'hydraDroneRangeBonus', 'hydraMissileFlightTimeBonus', 'hydraMissileExplosionVelocityBonus'):\r\n            fit.appliedImplants.filteredItemMultiply(\r\n                lambda implant: implant.item.requiresSkill('Cybernetics'),\r\n                attr, implant.getModifiedItemAttr('implantSetHydra'), **kwargs)\r\n\r\n\r\nclass Effect8023(BaseEffect):\r\n    \"\"\"\r\n    hydraDroneTrackingEffect\r\n\r\n    Used by:\r\n    Implants named like: grade Hydra (15 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'),\r\n            'trackingSpeed', implant.getModifiedItemAttr('hydraDroneTrackingBonus'), **kwargs)\r\n\r\n\r\nclass Effect8024(BaseEffect):\r\n    \"\"\"\r\n    hydraDroneRangeEffect\r\n\r\n    Used by:\r\n    Implants named like: grade Hydra (15 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        for attr in ('maxRange', 'falloff'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Drones'),\r\n                attr, implant.getModifiedItemAttr('hydraDroneRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect8025(BaseEffect):\r\n    \"\"\"\r\n    hydraMissileFlightTimeEffect\r\n\r\n    Used by:\r\n    Implants named like: grade Hydra (15 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'explosionDelay', implant.getModifiedItemAttr('hydraMissileFlightTimeBonus'), **kwargs)\r\n\r\n\r\nclass Effect8026(BaseEffect):\r\n    \"\"\"\r\n    hydraMissileExplosionVelocityEffect\r\n\r\n    Used by:\r\n    Implants named like: grade Hydra (15 of 18)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'aoeVelocity', implant.getModifiedItemAttr('hydraMissileExplosionVelocityBonus'), **kwargs)\r\n\r\n\r\nclass Effect8029(BaseEffect):\r\n    \"\"\"\r\n    roleBonus7CapBoosterGroupRestriction\r\n\r\n    Used by:\r\n    Ships from group: Force Auxiliary (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for attr in ('maxGroupOnline', 'maxGroupFitted'):\r\n            fit.modules.filteredItemForce(\r\n                lambda mod: mod.item.group.name == 'Capacitor Booster',\r\n                attr, ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect8032(BaseEffect):\r\n    \"\"\"\r\n    systemWarpScrambleStrengthBonus\r\n\r\n    Used by:\r\n    Celestial: Federal Stellar Observatory\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(\r\n            lambda mod: mod.item.group.name == 'Warp Scrambler',\r\n            'warpScrambleStrength', beacon.getModifiedItemAttr('warpScrambleStrengthBonus'), **kwargs)\r\n\r\n\r\nclass Effect8033(BaseEffect):\r\n    \"\"\"\r\n    systemEcmRangeMultiplier\r\n\r\n    Used by:\r\n    Celestial: State Stellar Observatory\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.group.name == 'ECM', 'maxRange',\r\n            beacon.getModifiedItemAttr('ecmRangeBonus'), stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect8034(BaseEffect):\r\n    \"\"\"\r\n    smallUpwellWeaponDmgBonusRequiredSkill\r\n\r\n    Used by:\r\n    Skill: Small Vorton Projector\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Vorton Projector'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect8035(BaseEffect):\r\n    \"\"\"\r\n    mediumUpwellWeaponDmgBonusRequiredSkill\r\n\r\n    Used by:\r\n    Skill: Medium Vorton Projector\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Vorton Projector'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect8036(BaseEffect):\r\n    \"\"\"\r\n    largeUpwellWeaponDmgBonusRequiredSkill\r\n\r\n    Used by:\r\n    Skill: Large Vorton Projector\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Vorton Projector'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect8037(BaseEffect):\r\n    \"\"\"\r\n    ChainLightning\r\n\r\n    Used by:\r\n    Modules from group: Vorton Projector (15 of 15)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n\r\nclass Effect8039(BaseEffect):\r\n    \"\"\"\r\n    upwellSkillaoeVelocityaoeCloudSizeBonus\r\n\r\n    Used by:\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    Skill: Vorton Arc Guidance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        level = container.level if 'skill' in context else 1\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Vorton Projector Operation'),\r\n                                      'aoeVelocity', container.getModifiedItemAttr('aoeVelocityBonus') * level, **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Vorton Projector Operation'),\r\n                                      'aoeCloudSize', container.getModifiedItemAttr('aoeCloudSizeBonus') * level, **kwargs)\r\n\r\n\r\nclass Effect8041(BaseEffect):\r\n    \"\"\"\r\n    upwellSkillDamageMuliplierBonus\r\n\r\n    Used by:\r\n    Skill: Vorton Power Amplification\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Vorton Projector',\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect8042(BaseEffect):\r\n    \"\"\"\r\n    upwellSkillSpeedBonus\r\n\r\n    Used by:\r\n    Skill: Vorton Projector Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Vorton Projector Operation'),\r\n                                      'speed', skill.getModifiedItemAttr('turretSpeeBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect8044(BaseEffect):\r\n    \"\"\"\r\n    smallVortonProjectorSkillDmgBonus\r\n\r\n    Used by:\r\n    Skill: Small Vorton Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Vorton Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect8045(BaseEffect):\r\n    \"\"\"\r\n    mediumVortonProjectorSkillDmgBonus\r\n\r\n    Used by:\r\n    Skill: Medium Vorton Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Vorton Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect8046(BaseEffect):\r\n    \"\"\"\r\n    largeVortonProjectorSkillDmgBonus\r\n\r\n    Used by:\r\n    Skill: Large Vorton Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Vorton Specialization'),\r\n                                      'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect8047(BaseEffect):\r\n    \"\"\"\r\n    shipBonusUF1shieldResistance\r\n\r\n    Used by:\r\n    Ship: Skybreaker\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for type in ('kinetic', 'thermal', 'explosive', 'em'):\r\n            fit.ship.boostItemAttr('shield%sDamageResonance' % type.capitalize(),\r\n                                   ship.getModifiedItemAttr('shipBonusUF1'),\r\n                                   skill='EDENCOM Frigate', **kwargs)\r\n\r\n\r\nclass Effect8048(BaseEffect):\r\n    \"\"\"\r\n    shipBonusUF2damage\r\n\r\n    Used by:\r\n    Ship: Skybreaker\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Vorton Projector'), 'damageMultiplier',\r\n            ship.getModifiedItemAttr('shipBonusUF2'), skill='EDENCOM Frigate', **kwargs)\r\n\r\n\r\nclass Effect8052(BaseEffect):\r\n    \"\"\"\r\n    shipBonusUC2ShieldResistance\r\n\r\n    Used by:\r\n    Ship: Stormbringer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for type in ('kinetic', 'thermal', 'explosive', 'em'):\r\n            fit.ship.boostItemAttr('shield%sDamageResonance' % type.capitalize(),\r\n                                   ship.getModifiedItemAttr('shipBonusUC2'),\r\n                                   skill='EDENCOM Cruiser', **kwargs)\r\n\r\n\r\nclass Effect8053(BaseEffect):\r\n    \"\"\"\r\n    shipBonusUC1maxRange\r\n\r\n    Used by:\r\n    Ship: Stormbringer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Vorton Projector'), 'maxRange',\r\n            ship.getModifiedItemAttr('shipBonusUC1'), skill='EDENCOM Cruiser', **kwargs)\r\n\r\n\r\nclass Effect8054(BaseEffect):\r\n    \"\"\"\r\n    shipBonusUB1upwellDamage\r\n\r\n    Used by:\r\n    Ship: Thunderchild\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Large Vorton Projector'), 'damageMultiplier',\r\n            ship.getModifiedItemAttr('shipBonusUB1'), skill='EDENCOM Battleship', **kwargs)\r\n\r\n\r\nclass Effect8056(BaseEffect):\r\n    \"\"\"\r\n    shipBonusUB2upwellROF\r\n\r\n    Used by:\r\n    Ship: Thunderchild\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Large Vorton Projector'), 'speed',\r\n            ship.getModifiedItemAttr('shipBonusUB2'), skill='EDENCOM Battleship', **kwargs)\r\n\r\n\r\nclass Effect8057(BaseEffect):\r\n    \"\"\"\r\n    vortonWeaponDamageSpeedMultiply\r\n\r\n    Used by:\r\n    Modules from group: Vorton Projector Upgrade (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Vorton Projector',\r\n                                         'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Vorton Projector',\r\n                                         'speed', module.getModifiedItemAttr('speedMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect8062(BaseEffect):\r\n    \"\"\"\r\n    ammoAOEvelocityMultiplier\r\n\r\n    Used by:\r\n    Charges from group: Advanced Condenser Pack (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.multiplyItemAttr('aoeVelocity', module.getModifiedChargeAttr('aoeVelocityBonus') or 0, **kwargs)\r\n\r\n\r\nclass Effect8065(BaseEffect):\r\n    \"\"\"\r\n    vortonProjectorSkillRangeBonus\r\n\r\n    Used by:\r\n    Skill: Vorton Arc Extension\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Vorton Projector Operation'),\r\n                                      'maxRange', skill.getModifiedItemAttr('rangeSkillBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect8064(BaseEffect):\r\n    \"\"\"\r\n    vortonProjectorOptimalRangeBonus\r\n\r\n    Used by:\r\n    Implants named like: Halcyon B Booster (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, booster, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Vorton Projector Operation'), 'maxRange',\r\n            booster.getModifiedItemAttr('rangeSkillBonus'), **kwargs)\r\n\r\n\r\nclass Effect8066(BaseEffect):\r\n    \"\"\"\r\n    vortonProjectorDamageBonus\r\n\r\n    Used by:\r\n    Implants named like: Agency 'Pyrolancea' DB Dose (4 of 4)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implant: AIR Pyrolancea Booster II\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, booster, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Vorton Projector Operation'), 'damageMultiplier',\r\n            booster.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)\r\n\r\n\r\nclass Effect8068(BaseEffect):\r\n    \"\"\"\r\n    shipShieldResistanceBonusMBC1\r\n\r\n    Used by:\r\n    Ship: Claymore\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')\r\n        for damageType in damageTypes:\r\n            fit.ship.boostItemAttr(f'shield{damageType}DamageResonance', ship.getModifiedItemAttr('shipBonusMBC1'),\r\n                                   skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect8070(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipsHeavyHAMvelocityCS2\r\n\r\n    Used by:\r\n    Ship: Claymore\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles') or\r\n                                                    mod.charge.requiresSkill('Heavy Assault Missiles'),\r\n                                        'maxVelocity', ship.getModifiedItemAttr('eliteBonusCommandShips2'),\r\n                                        skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect8071(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipDroneRangeCS1\r\n\r\n    Used by:\r\n    Ship: Eos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'maxRange', ship.getModifiedItemAttr('eliteBonusCommandShips1'),\r\n                                     skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect8072(BaseEffect):\r\n    \"\"\"\r\n    shipArmorResistanceBonusGBC2\r\n\r\n    Used by:\r\n    Ship: Eos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')\r\n        for damageType in damageTypes:\r\n            fit.ship.boostItemAttr(f'armor{damageType}DamageResonance', ship.getModifiedItemAttr('shipBonusGBC2'),\r\n                                   skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect8073(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipShieldHPCS1\r\n\r\n    Used by:\r\n    Ship: Vulture\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldCapacity', ship.getModifiedItemAttr('eliteBonusCommandShips1'),\r\n                               skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect8074(BaseEffect):\r\n    \"\"\"\r\n    shipBonusPC2maxRange\r\n\r\n    Used by:\r\n    Ship: Vedmak\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),\r\n                                      'maxRange', ship.getModifiedItemAttr('shipBonusPC2'), skill='Precursor Cruiser', **kwargs)\r\n\r\n\r\nclass Effect8076(BaseEffect):\r\n    \"\"\"\r\n    systemHullThermalResistance\r\n\r\n    Used by:\r\n    Celestials named like: Volatile Ice Storm (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('thermalDamageResonance', beacon.getModifiedItemAttr('thermalDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect8082(BaseEffect):\r\n    \"\"\"\r\n    systemScanResolutionBonus\r\n\r\n    Used by:\r\n    Celestial: Turnur Aftermath\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanResolution', beacon.getModifiedItemAttr('scanResolutionBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect8091(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryG5CapBoosterStrength\r\n\r\n    Used by:\r\n    Ship: Loggerhead\r\n    Ship: Ninazu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.group.name == 'Capacitor Booster Charge',\r\n            'capacitorBonus', ship.getModifiedItemAttr('shipBonusForceAuxiliaryG5'),\r\n            skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect8094(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHybridROFGD1\r\n\r\n    Used by:\r\n    Ship: Eris\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'speed', ship.getModifiedItemAttr('shipBonusGD1'),\r\n                                      skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect8095(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusInterdictors1massAddition\r\n\r\n    Used by:\r\n    Ship: Eris\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Plate',\r\n                                      'massAddition', ship.getModifiedItemAttr('eliteBonusInterdictors1'),\r\n                                      skill='Interdictors', **kwargs)\r\n\r\n\r\nclass Effect8096(BaseEffect):\r\n    \"\"\"\r\n    shipBonusKinMissileDamageCD2\r\n\r\n    Used by:\r\n    Ship: Flycatcher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                        'kineticDamage', ship.getModifiedItemAttr('shipBonusCD2'),\r\n                                        skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect8097(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusInterdictors1ShieldCapacity\r\n\r\n    Used by:\r\n    Ship: Flycatcher\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldCapacity', ship.getModifiedItemAttr('eliteBonusInterdictors1'),\r\n                               skill='Interdictors', **kwargs)\r\n\r\n\r\nclass Effect8098(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorHPAD2\r\n\r\n    Used by:\r\n    Ship: Heretic\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('armorHP', ship.getModifiedItemAttr('shipBonusAD2'),\r\n                               skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect8100(BaseEffect):\r\n    \"\"\"\r\n    shipBonusECMJamDroneDurationCF\r\n\r\n    Used by:\r\n    Ship: Griffin Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'),\r\n            'ecmJamDuration', ship.getModifiedItemAttr('shipBonusCF'),\r\n            skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect8101(BaseEffect):\r\n    \"\"\"\r\n    roleBonusDroneDamage\r\n\r\n    Used by:\r\n    Ship: Griffin Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Drones'),\r\n                f'{dmgType}Damage', ship.getModifiedItemAttr('roleBonus'), **kwargs)\r\n\r\n\r\nclass Effect8102(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole1DroneHitpointsDroneControlRange\r\n\r\n    Used by:\r\n    Ship: Griffin Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.extraAttributes.boost(\r\n            'droneControlRange', ship.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n        for attr in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Drones'),\r\n                attr, ship.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect8099(BaseEffect):\r\n    \"\"\"\r\n    systemHeatDamageBonus\r\n\r\n    Used by:\r\n    Celestials named like: Metaliminal Yoiul Festival YC 122 Storm (4 of 4)\r\n    Celestials named like: Volatile Ice Storm (2 of 2)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, source, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: 'heatDamage' in mod.itemModifiedAttributes,\r\n            'heatDamage', source.getModifiedItemAttr('thermodynamicsHeatDamage'), **kwargs)\r\n\r\n\r\nclass Effect8103(BaseEffect):\r\n    \"\"\"\r\n    setBonusRapture\r\n\r\n    Used by:\r\n    Implants named like: grade Rapture (18 of 18)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Cybernetics'),\r\n            'capRechargeBonus', src.getModifiedItemAttr('ImplantSetRapture'), **kwargs)\r\n\r\n\r\nclass Effect8104(BaseEffect):\r\n    \"\"\"\r\n    salvageDroneSpecBonus\r\n\r\n    Used by:\r\n    Skill: Salvage Drone Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.drones.filteredItemIncrease(\r\n            lambda mod: mod.item.requiresSkill('Salvage Drone Specialization'),\r\n            'accessDifficultyBonus', src.getModifiedItemAttr('specAccessDifficultyBonus') * lvl, **kwargs)\r\n        fit.drones.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Salvage Drone Specialization'),\r\n            'maxVelocity', src.getModifiedItemAttr('maxVelocityBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect8106(BaseEffect):\r\n    \"\"\"\r\n    shipPTdamageBonusMB2\r\n\r\n    Used by:\r\n    Ship: Maelstrom\r\n    Ship: Vargur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusMB2'),\r\n                                      skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect8107(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLETcapNeedAB2\r\n\r\n    Used by:\r\n    Ship: Paladin\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),\r\n                                      'capacitorNeed', ship.getModifiedItemAttr('shipBonusAB2'),\r\n                                      skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect8108(BaseEffect):\r\n    \"\"\"\r\n    signatureRadiusBonusOnline\r\n\r\n    Used by:\r\n    Modules from group: Signature Suppressor (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('signatureRadius', src.getModifiedItemAttr('signatureSuppressorSignatureRadiusBonusPassive'),\r\n                                  stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect8109(BaseEffect):\r\n    \"\"\"\r\n    targetSpectrumBreakerBonus\r\n\r\n    Used by:\r\n    Modules from group: Signature Suppressor (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('signatureRadius', src.getModifiedItemAttr('signatureSuppressorSignatureRadiusBonusActive'),\r\n                                  stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect8111(BaseEffect):\r\n    \"\"\"\r\n    systemElectricalStorm\r\n\r\n    Used by:\r\n    Celestial: Strong Metaliminal Electrical Storm\r\n    Celestial: Weak Metaliminal Electrical Storm\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('disallowCloaking', beacon.getModifiedItemAttr('disallowCloaking'), **kwargs)\r\n        fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),\r\n                                        'baseSensorStrength', beacon.getModifiedItemAttr('scanProbeStrengthBonus'),\r\n                                        stackingPenalties=True, **kwargs)\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Archaeology'),\r\n                                         'virusCoherence', beacon.getModifiedItemAttr('virusCoherenceBonus'), **kwargs)\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Hacking'),\r\n                                         'virusCoherence', beacon.getModifiedItemAttr('virusCoherenceBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', beacon.getModifiedItemAttr('shieldEmDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('armorEmDamageResonance', beacon.getModifiedItemAttr('armorEmDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('emDamageResonance', beacon.getModifiedItemAttr('emDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.multiplyItemAttr('rechargeRate', beacon.getModifiedItemAttr('rechargeRateMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect8112(BaseEffect):\r\n    \"\"\"\r\n    systemExoticStorm\r\n\r\n    Used by:\r\n    Celestial: Strong Metaliminal Exotic Matter Storm\r\n    Celestial: Weak Metaliminal Exotic Matter Storm\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems') or\r\n                                                  mod.item.requiresSkill('Capital Repair Systems'),\r\n                                      'duration', beacon.getModifiedItemAttr('armorRepairDurationBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation') or\r\n                                                  mod.item.requiresSkill('Capital Shield Operation'),\r\n                                      'duration', beacon.getModifiedItemAttr('shieldBoosterDurationBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'), 'duration',\r\n                                      beacon.getModifiedItemAttr('miningDurationMultiplier'), **kwargs)\r\n        fit.ship.boostItemAttr('warpSpeedMultiplier', beacon.getModifiedItemAttr('warpSpeedBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('scanResolution', beacon.getModifiedItemAttr('scanResolutionBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance',\r\n                               beacon.getModifiedItemAttr('shieldKineticDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('armorKineticDamageResonance',\r\n                               beacon.getModifiedItemAttr('armorKineticDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('kineticDamageResonance', beacon.getModifiedItemAttr('kineticDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect8113(BaseEffect):\r\n    \"\"\"\r\n    systemGammaStorm\r\n\r\n    Used by:\r\n    Celestial: Strong Metaliminal Gamma Ray Storm\r\n    Celestial: Weak Metaliminal Gamma Ray Storm\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Shield Emission Systems') or\r\n                        mod.item.requiresSkill('Capital Shield Emission Systems'),\r\n            'shieldBonus', beacon.getModifiedItemAttr('shieldBonusMultiplierRemote'),\r\n            stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems') or\r\n                        mod.item.requiresSkill('Capital Remote Armor Repair Systems'),\r\n            'armorDamageAmount', beacon.getModifiedItemAttr('armorDamageAmountMultiplierRemote'),\r\n            stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.ship.multiplyItemAttr('shieldCapacity', beacon.getModifiedItemAttr('shieldCapacityMultiplier'), **kwargs)\r\n        fit.ship.multiplyItemAttr('capacitorCapacity', beacon.getModifiedItemAttr('capacitorCapacityMultiplierSystem'), **kwargs)\r\n        fit.ship.multiplyItemAttr('signatureRadius', beacon.getModifiedItemAttr('signatureRadiusMultiplier'),\r\n                                  stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance',\r\n                               beacon.getModifiedItemAttr('shieldExplosiveDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('armorExplosiveDamageResonance',\r\n                               beacon.getModifiedItemAttr('armorExplosiveDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('explosiveDamageResonance', beacon.getModifiedItemAttr('explosiveDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect8114(BaseEffect):\r\n    \"\"\"\r\n    systemPlasmaStorm\r\n\r\n    Used by:\r\n    Celestial: Strong Metaliminal Plasma Firestorm\r\n    Celestial: Weak Metaliminal Plasma Firestorm\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                         'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),\r\n                                         stackingPenalties=True, **kwargs)\r\n        for attr in ('emDamage', 'explosiveDamage', 'kineticDamage', 'thermalDamage'):\r\n            fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                               attr, beacon.getModifiedItemAttr('damageMultiplierMultiplier'),\r\n                                               stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.drones.filteredItemMultiply(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                        'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),\r\n                                        stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.fighters.filteredItemMultiply(lambda drone: drone.item.requiresSkill('Fighters'),\r\n                                          'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),\r\n                                          stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Gunnery'),\r\n                                         'trackingSpeed', beacon.getModifiedItemAttr('trackingSpeedMultiplier'),\r\n                                         stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.drones.filteredItemMultiply(lambda drone: True,\r\n                                        'trackingSpeed', beacon.getModifiedItemAttr('trackingSpeedMultiplier'),\r\n                                        stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        for attr in ('fighterAbilityAttackMissileExplosionRadius', 'fighterAbilityMissilesExplosionRadius'):\r\n            fit.fighters.filteredItemMultiply(\r\n                lambda mod: mod.item.requiresSkill('Fighters'),\r\n                attr, beacon.getModifiedItemAttr('aoeCloudSizeMultiplier'),\r\n                stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.ship.multiplyItemAttr('armorHP', beacon.getModifiedItemAttr('armorHPMultiplier'), **kwargs)\r\n        fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n                                           'aoeCloudSize', beacon.getModifiedItemAttr('aoeCloudSizeMultiplier'),\r\n                                           stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance',\r\n                               beacon.getModifiedItemAttr('shieldThermalDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('armorThermalDamageResonance',\r\n                               beacon.getModifiedItemAttr('armorThermalDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n        fit.ship.boostItemAttr('thermalDamageResonance', beacon.getModifiedItemAttr('thermalDamageResistanceBonus'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect8117(BaseEffect):\r\n    \"\"\"\r\n    interdictionNullifierBonus\r\n\r\n    Used by:\r\n    Modules from group: Interdiction Nullifier (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.preAssignItemAttr('warpBubbleImmune', module.getModifiedItemAttr('warpBubbleImmuneBonus'), **kwargs)\r\n\r\n\r\nclass Effect8119(BaseEffect):\r\n    \"\"\"\r\n    industrialCompactCoreEffect2\r\n\r\n    Used by:\r\n    Modules named like: Industrial Core (4 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.multiplyItemAttr('mass', src.getModifiedItemAttr('siegeMassMultiplier'), **kwargs)\r\n\r\n        #  Local Shield Repper Bonuses\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'duration', src.getModifiedItemAttr('industrialCoreLocalLogisticsDurationBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),\r\n                                      'shieldBonus', src.getModifiedItemAttr('industrialCoreLocalLogisticsAmountBonus'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n        # Mining Burst Bonuses\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'),\r\n                                      'warfareBuff1Value', src.getModifiedItemAttr('industrialCoreBonusMiningBurstStrength'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'),\r\n                                      'warfareBuff2Value', src.getModifiedItemAttr('industrialCoreBonusMiningBurstStrength'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'),\r\n                                      'warfareBuff3Value', src.getModifiedItemAttr('industrialCoreBonusMiningBurstStrength'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'),\r\n                                      'warfareBuff4Value', src.getModifiedItemAttr('industrialCoreBonusMiningBurstStrength'), **kwargs)\r\n\r\n        #  Command Burst Range Bonus\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'),\r\n                                      'maxRange', src.getModifiedItemAttr('industrialCoreBonusCommandBurstRange'),\r\n                                      stackingPenalties=True, **kwargs)\r\n\r\n        # Drone Bonuses\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Ice Harvesting Drone Operation'),\r\n                                     'duration', src.getModifiedItemAttr('industrialCoreBonusDroneIceHarvesting'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'),\r\n                                     'miningAmount', src.getModifiedItemAttr('industrialCoreBonusDroneMining'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'maxVelocity', src.getModifiedItemAttr('industrialCoreBonusDroneVelocity'),\r\n                                     stackingPenalties=True, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'damageMultiplier', src.getModifiedItemAttr('industrialCoreBonusDroneDamageHP'),\r\n                                     stackingPenalties=True, **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'shieldCapacity', src.getModifiedItemAttr('industrialCoreBonusDroneDamageHP'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'armorHP', src.getModifiedItemAttr('industrialCoreBonusDroneDamageHP'), **kwargs)\r\n        fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),\r\n                                     'hp', src.getModifiedItemAttr('industrialCoreBonusDroneDamageHP'), **kwargs)\r\n\r\n        # Remote impedance (no reps, etc)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n        fit.ship.boostItemAttr('remoteRepairImpedance', src.getModifiedItemAttr('remoteRepairImpedanceBonus'), **kwargs)\r\n        fit.ship.increaseItemAttr('disallowTethering', src.getModifiedItemAttr('disallowTethering'), **kwargs)\r\n        fit.ship.boostItemAttr('sensorDampenerResistance', src.getModifiedItemAttr('sensorDampenerResistanceBonus'), **kwargs)\r\n        fit.ship.boostItemAttr('remoteAssistanceImpedance', src.getModifiedItemAttr('remoteAssistanceImpedanceBonus'), **kwargs)\r\n        fit.ship.increaseItemAttr('disallowDocking', src.getModifiedItemAttr('disallowDocking'), **kwargs)\r\n        fit.ship.increaseItemAttr('gateScrambleStatus', src.getModifiedItemAttr('gateScrambleStrength'), **kwargs)\r\n        fit.ship.forceItemAttr('ECMResistance', src.getModifiedItemAttr('ECMResistance'), **kwargs)\r\n\r\n\r\nclass Effect8120(BaseEffect):\r\n    \"\"\"\r\n    interceptorNullificationRoleBonus\r\n\r\n    Used by:\r\n    Ships from group: Interceptor (6 of 10)\r\n    Ships from group: Special Edition Yachts (4 of 5)\r\n    Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Interdiction Nullifier',\r\n                                      'maxTargetRangeBonus', ship.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Interdiction Nullifier',\r\n                                      'moduleReactivationDelay', ship.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Interdiction Nullifier',\r\n                                      'durationHighisGood', ship.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Interdiction Nullifier',\r\n                                      'scanResolutionMultiplier', ship.getModifiedItemAttr('shipBonusRole3'), **kwargs)\r\n\r\n\r\nclass Effect8121(BaseEffect):\r\n    \"\"\"\r\n    warpCoreStabilizerActive\r\n\r\n    Used by:\r\n    Modules from group: Warp Core Stabilizer (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', module.getModifiedItemAttr('warpScrambleStrength'), **kwargs)\r\n\r\n\r\nclass Effect8123(BaseEffect):\r\n    \"\"\"\r\n    droneBandWidthPenaltyOnline\r\n\r\n    Used by:\r\n    Modules from group: Interdiction Nullifier (4 of 4)\r\n    Modules from group: Warp Core Stabilizer (8 of 8)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('droneBandwidth', module.getModifiedItemAttr('droneBandwidthPercentage'), **kwargs)\r\n\r\n\r\nclass Effect8128(BaseEffect):\r\n    \"\"\"\r\n    miningLaserRangeBonusLRSM\r\n\r\n    Used by:\r\n    Implants named like: AIR Mining Range Booster (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, source, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'), 'maxRange',\r\n                                      source.getModifiedItemAttr('maxRangeBonus'), **kwargs)\r\n\r\n\r\nclass Effect8129(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCloakVelocityBonusGF\r\n\r\n    Used by:\r\n    Ship: Helios\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if fit.extraAttributes['cloaked']:\r\n            fit.ship.boostItemAttr(\r\n                'maxVelocity', container.getModifiedItemAttr('shipBonusGF'),\r\n                skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect8130(BaseEffect):\r\n    \"\"\"\r\n    shipBonusWarpCapacityNeedGF2\r\n\r\n    Used by:\r\n    Ship: Helios\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpCapacitorNeed', container.getModifiedItemAttr('shipBonusGF2'),\r\n                               skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect8131(BaseEffect):\r\n    \"\"\"\r\n    shipBonusWarpCapacitorNeedAF\r\n\r\n    Used by:\r\n    Ship: Anathema\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpCapacitorNeed', container.getModifiedItemAttr('shipBonusAF'),\r\n                               skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect8132(BaseEffect):\r\n    \"\"\"\r\n    shipBonusScanProbeDeviationA2F\r\n\r\n    Used by:\r\n    Ship: Anathema\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Astrometrics'), 'baseMaxScanDeviation',\r\n            container.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate', **kwargs)\r\n\r\n\r\nclass Effect8133(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCloakVelocityMF\r\n\r\n    Used by:\r\n    Ship: Cheetah\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        if fit.extraAttributes['cloaked']:\r\n            fit.ship.boostItemAttr('maxVelocity', container.getModifiedItemAttr('shipBonusMF'),\r\n                                   skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect8134(BaseEffect):\r\n    \"\"\"\r\n    shipBonusWarpCapacitorNeedCF2\r\n\r\n    Used by:\r\n    Ship: Buzzard\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpCapacitorNeed', container.getModifiedItemAttr('shipBonusCF2'),\r\n                               skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect8135(BaseEffect):\r\n    \"\"\"\r\n    shipBonusScanProbeDeviationCF\r\n\r\n    Used by:\r\n    Ship: Buzzard\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Astrometrics'), 'baseMaxScanDeviation',\r\n            container.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect8136(BaseEffect):\r\n    \"\"\"\r\n    shipBonusWarpCapacitorNeedMF2\r\n\r\n    Used by:\r\n    Ship: Cheetah\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('warpCapacitorNeed', container.getModifiedItemAttr('shipBonusMF2'),\r\n                               skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect8151(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCloakedVelocityRole1\r\n\r\n    Used by:\r\n    Ships from group: Black Ops (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n    runTime = 'early'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Cloaking'), 'maxVelocityModifier',\r\n            ship.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect8152(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusEnergyDrainAmountBlackOps2\r\n\r\n    Used by:\r\n    Ship: Redeemer\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Energy Neutralizer', 'energyNeutralizerAmount',\r\n            ship.getModifiedItemAttr('eliteBonusBlackOps2'), skill='Black Ops', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Energy Nosferatu', 'powerTransferAmount',\r\n            ship.getModifiedItemAttr('eliteBonusBlackOps2'), skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect8154(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusDroneTrackingOptimalBlackOps2\r\n\r\n    Used by:\r\n    Ship: Sin\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'maxRange',\r\n            ship.getModifiedItemAttr('eliteBonusBlackOps2'), skill='Black Ops', **kwargs)\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'trackingSpeed',\r\n            ship.getModifiedItemAttr('eliteBonusBlackOps2'), skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect8155(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLPTtrackingBlackOps1\r\n\r\n    Used by:\r\n    Ship: Panther\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n            'trackingSpeed', ship.getModifiedItemAttr('eliteBonusBlackOps1'), skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect8156(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusLPTfalloffBlackOps2\r\n\r\n    Used by:\r\n    Ship: Panther\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Large Projectile Turret'),\r\n            'falloff', ship.getModifiedItemAttr('eliteBonusBlackOps2'), skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect8157(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusShieldResistancesBlackOps2\r\n\r\n    Used by:\r\n    Ship: Widow\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')\r\n        for damageType in damageTypes:\r\n            fit.ship.boostItemAttr(\r\n                'shield{0}DamageResonance'.format(damageType), ship.getModifiedItemAttr('eliteBonusBlackOps2'),\r\n                skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect8158(BaseEffect):\r\n    \"\"\"\r\n    stabilizeCloakDurationBonus\r\n\r\n    Used by:\r\n    Implant: Strong Veilguard Booster\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, booster, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Cloaking'), 'stabilizeCloakDuration',\r\n            booster.getModifiedItemAttr('stabilizeCloakDurationBonus'), **kwargs)\r\n\r\n\r\nclass Effect8199(BaseEffect):\r\n    \"\"\"\r\n    gallenteIndustrialBonusIceHoldCapacity\r\n\r\n    Used by:\r\n    Ship: Kryos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'specialIceHoldCapacity', ship.getModifiedItemAttr('gallenteIndustrialBonusIceHoldCapacity'),\r\n            skill='Gallente Hauler', **kwargs)\r\n\r\n\r\nclass Effect8206(BaseEffect):\r\n    \"\"\"\r\n    specializationAsteroidDurationMultiplierEffect\r\n\r\n    Used by:\r\n    Charges from group: Mercoxit Mining Crystal (6 of 6)\r\n    Charges from group: Mining Crystal (66 of 66)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.multiplyItemAttr('duration', module.getModifiedChargeAttr('specializationAsteroidDurationMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect8210(BaseEffect):\r\n    \"\"\"\r\n    expeditionFrigateBonusIceHarvestingDuration\r\n\r\n    Used by:\r\n    Ship: Endurance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'duration',\r\n            ship.getModifiedItemAttr('expeditionFrigateBonusIceHarvestingDuration'),\r\n            skill='Expedition Frigates', **kwargs)\r\n\r\n\r\nclass Effect8223(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusOreMiningYield\r\n\r\n    Used by:\r\n    Ships from group: Expedition Frigate (2 of 2)\r\n    Ship: Retriever\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining'), 'miningAmount',\r\n            ship.getModifiedItemAttr('shipRoleBonusOreMiningYield'), **kwargs)\r\n\r\n\r\nclass Effect8224(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusIceHarvestingDuration\r\n\r\n    Used by:\r\n    Variations of ship: Covetor (2 of 2)\r\n    Variations of ship: Retriever (2 of 2)\r\n    Ship: Endurance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'duration',\r\n            ship.getModifiedItemAttr('shipRoleBonusIceHarvestingDuration'), **kwargs)\r\n\r\n\r\nclass Effect8225(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusDroneDamage\r\n\r\n    Used by:\r\n    Variations of ship: Procurer (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'damageMultiplier',\r\n            ship.getModifiedItemAttr('shipRoleBonusDroneDamage'), **kwargs)\r\n\r\n\r\nclass Effect8226(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusDroneHitPoints\r\n\r\n    Used by:\r\n    Variations of ship: Procurer (2 of 2)\r\n    Ship: Metamorphosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for layer in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Drones'), layer,\r\n                ship.getModifiedItemAttr('shipRoleBonusDroneHitPoints'), **kwargs)\r\n\r\n\r\nclass Effect8227(BaseEffect):\r\n    \"\"\"\r\n    miningBargeBonusOreMiningYield\r\n\r\n    Used by:\r\n    Ships from group: Exhumer (3 of 3)\r\n    Ships from group: Mining Barge (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining'), 'miningAmount',\r\n            ship.getModifiedItemAttr('miningBargeBonusOreMiningYield'),\r\n            skill='Mining Barge', **kwargs)\r\n\r\n\r\nclass Effect8228(BaseEffect):\r\n    \"\"\"\r\n    miningBargeBonusIceHarvestingDuration\r\n\r\n    Used by:\r\n    Ships from group: Exhumer (3 of 3)\r\n    Ships from group: Mining Barge (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'duration',\r\n            ship.getModifiedItemAttr('miningBargeBonusIceHarvestingDuration'),\r\n            skill='Mining Barge', **kwargs)\r\n\r\n\r\nclass Effect8229(BaseEffect):\r\n    \"\"\"\r\n    miningBargeBonusGasHarvestingDuration\r\n\r\n    Used by:\r\n    Ships from group: Mining Barge (3 of 3)\r\n    Ship: Hulk\r\n    Ship: Mackinaw\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Gas Cloud Harvesting'), 'duration',\r\n            ship.getModifiedItemAttr('miningBargeBonusGasHarvestingDuration'),\r\n            skill='Mining Barge', **kwargs)\r\n\r\n\r\nclass Effect8230(BaseEffect):\r\n    \"\"\"\r\n    miningBargeBonusOreMiningRange\r\n\r\n    Used by:\r\n    Variations of ship: Covetor (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining'), 'maxRange',\r\n            ship.getModifiedItemAttr('miningBargeBonusOreMiningRange'),\r\n            skill='Mining Barge', **kwargs)\r\n\r\n\r\nclass Effect8231(BaseEffect):\r\n    \"\"\"\r\n    miningBargeBonusIceHarvestingRange\r\n\r\n    Used by:\r\n    Variations of ship: Covetor (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'maxRange',\r\n            ship.getModifiedItemAttr('miningBargeBonusIceHarvestingRange'),\r\n            skill='Mining Barge', **kwargs)\r\n\r\n\r\nclass Effect8243(BaseEffect):\r\n    \"\"\"\r\n    exhumersBonusOreMiningDuration\r\n\r\n    Used by:\r\n    Ship: Hulk\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining'), 'duration',\r\n            ship.getModifiedItemAttr('exhumersBonusOreMiningDuration'),\r\n            skill='Exhumers', **kwargs)\r\n\r\n\r\nclass Effect8244(BaseEffect):\r\n    \"\"\"\r\n    exhumersBonusIceHarvestingDuration\r\n\r\n    Used by:\r\n    Ship: Hulk\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'duration',\r\n            ship.getModifiedItemAttr('exhumersBonusIceHarvestingDuration'),\r\n            skill='Exhumers', **kwargs)\r\n\r\n\r\nclass Effect8249(BaseEffect):\r\n    \"\"\"\r\n    exhumersBonusOreMiningYield\r\n\r\n    Used by:\r\n    Ships from group: Exhumer (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining'), 'miningAmount',\r\n            ship.getModifiedItemAttr('exhumersBonusOreMiningYield'),\r\n            skill='Exhumers', **kwargs)\r\n\r\n\r\nclass Effect8251(BaseEffect):\r\n    \"\"\"\r\n    exhumersBonusGeneralMiningHoldCapacity\r\n\r\n    Used by:\r\n    Ship: Mackinaw\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'generalMiningHoldCapacity', ship.getModifiedItemAttr('exhumersBonusGeneralMiningHoldCapacity'),\r\n            skill='Exhumers', **kwargs)\r\n\r\n\r\nclass Effect8253(BaseEffect):\r\n    \"\"\"\r\n    exhumersBonusShieldResistance\r\n\r\n    Used by:\r\n    Ships from group: Exhumer (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')\r\n        for damageType in damageTypes:\r\n            fit.ship.boostItemAttr(\r\n                'shield{}DamageResonance'.format(damageType),\r\n                ship.getModifiedItemAttr('exhumersBonusShieldResistance'),\r\n                skill='Exhumers', **kwargs)\r\n\r\n\r\nclass Effect8261(BaseEffect):\r\n    \"\"\"\r\n    industrialCommandBonusDroneDamage\r\n\r\n    Used by:\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'damageMultiplier',\r\n            ship.getModifiedItemAttr('industrialCommandBonusDroneDamage'),\r\n            skill='Industrial Command Ships', **kwargs)\r\n\r\n\r\nclass Effect8263(BaseEffect):\r\n    \"\"\"\r\n    industrialCommandBonusFuelConsuptionCompactIndustrialCore\r\n\r\n    Used by:\r\n    Ship: Orca\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Industrial Reconfiguration'), 'consumptionQuantity',\r\n            ship.getModifiedItemAttr('industrialCommandBonusFuelConsuptionCompactIndustrialCore'),\r\n            skill='Industrial Command Ships', **kwargs)\r\n\r\n\r\nclass Effect8264(BaseEffect):\r\n    \"\"\"\r\n    industrialCommandBonusMiningForemanBurstRange\r\n\r\n    Used by:\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining Foreman'), 'maxRange',\r\n            ship.getModifiedItemAttr('industrialCommandBonusMiningForemanBurstRange'),\r\n            skill='Industrial Command Ships', **kwargs)\r\n\r\n\r\n\r\nclass Effect8270(BaseEffect):\r\n    \"\"\"\r\n    capacitorWarfareResistanceBonusPassive\r\n\r\n    Used by:\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'energyWarfareResistance',\r\n            container.getModifiedItemAttr('energyWarfareResistanceBonus'), **kwargs)\r\n\r\n\r\nclass Effect8275(BaseEffect):\r\n    \"\"\"\r\n    minmatarIndustrialBonusGasHoldCapacity\r\n\r\n    Used by:\r\n    Ship: Hoarder\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'specialGasHoldCapacity', ship.getModifiedItemAttr('minmatarIndustrialBonusGasHoldCapacity'),\r\n            skill='Minmatar Hauler', **kwargs)\r\n\r\n\r\nclass Effect8278(BaseEffect):\r\n    \"\"\"\r\n    industrialCommandBonusGeneralMiningHoldCapacity\r\n\r\n    Used by:\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'generalMiningHoldCapacity', ship.getModifiedItemAttr('industrialCommandBonusGeneralMiningHoldCapacity'),\r\n            skill='Industrial Command Ships', **kwargs)\r\n\r\n\r\nclass Effect8279(BaseEffect):\r\n    \"\"\"\r\n    industrialCommandBonusShipHoldCapacity\r\n\r\n    Used by:\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'capacity', ship.getModifiedItemAttr('industrialCommandBonusShipCargoCapacity'),\r\n            skill='Industrial Command Ships', **kwargs)\r\n\r\n\r\nclass Effect8294(BaseEffect):\r\n    \"\"\"\r\n    industrialCommandBonusDroneOreMiningYield\r\n\r\n    Used by:\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Mining Drone Operation'), 'miningAmount',\r\n            ship.getModifiedItemAttr('industrialCommandBonusDroneOreMiningYield'),\r\n            skill='Industrial Command Ships', **kwargs)\r\n\r\n\r\nclass Effect8295(BaseEffect):\r\n    \"\"\"\r\n    industrialCommandBonusDroneIceHarvestingCycleTime\r\n\r\n    Used by:\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Ice Harvesting Drone Operation'), 'duration',\r\n            ship.getModifiedItemAttr('industrialCommandBonusDroneIceHarvestingCycleTime'),\r\n            skill='Industrial Command Ships', **kwargs)\r\n\r\n\r\nclass Effect8296(BaseEffect):\r\n    \"\"\"\r\n    capitalIndustrialShipBonusDroneOreMiningYield\r\n\r\n    Used by:\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Mining Drone Operation'), 'miningAmount',\r\n            ship.getModifiedItemAttr('capitalIndustrialShipBonusDroneOreMiningYield'),\r\n            skill='Capital Industrial Ships', **kwargs)\r\n\r\n\r\nclass Effect8297(BaseEffect):\r\n    \"\"\"\r\n    capitalIndustrialShipBonusDroneIceCycleTime\r\n\r\n    Used by:\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Ice Harvesting Drone Operation'), 'duration',\r\n            ship.getModifiedItemAttr('capitalIndustrialShipBonusDroneIceCycleTime'),\r\n            skill='Capital Industrial Ships', **kwargs)\r\n\r\n\r\nclass Effect8300(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusGasHarvestingDuration\r\n\r\n    Used by:\r\n    Variations of ship: Covetor (2 of 2)\r\n    Variations of ship: Retriever (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Gas Cloud Harvesting'), 'duration',\r\n            ship.getModifiedItemAttr('shipRoleBonusGasHarvesterDuration'), **kwargs)\r\n\r\n\r\nclass Effect8301(BaseEffect):\r\n    \"\"\"\r\n    exhumersBonusGasHarvestingDuration\r\n\r\n    Used by:\r\n    Ships from group: Exhumer (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Gas Cloud Harvesting'), 'duration',\r\n            ship.getModifiedItemAttr('exhumersBonusGasHarvestingDuration'),\r\n            skill='Exhumers', **kwargs)\r\n\r\n\r\nclass Effect8303(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusStripMinerActivationCost\r\n\r\n    Used by:\r\n    Variations of ship: Covetor (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining'), 'capacitorNeed',\r\n            ship.getModifiedItemAttr('shipRoleBonusStripMinerActivationCost'), **kwargs)\r\n\r\n\r\nclass Effect8304(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusIceHarvestingActivationCost\r\n\r\n    Used by:\r\n    Variations of ship: Covetor (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'capacitorNeed',\r\n            ship.getModifiedItemAttr('shipRoleBonusIceHarvesterActivationCost'), **kwargs)\r\n\r\n\r\nclass Effect8305(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusOreMiningDuration\r\n\r\n    Used by:\r\n    Variations of ship: Covetor (2 of 2)\r\n    Ship: Mackinaw\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining'), 'duration',\r\n            ship.getModifiedItemAttr('shipRoleBonusOreMiningDuration'), **kwargs)\r\n\r\n\r\nclass Effect8306(BaseEffect):\r\n    \"\"\"\r\n    industrialReconfigurationBonusConsumptionQuantity\r\n\r\n    Used by:\r\n    Skill: Industrial Reconfiguration\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        amount = -skill.getModifiedItemAttr('consumptionQuantityBonus')\r\n        fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill(skill),\r\n                                         'consumptionQuantity', amount * skill.level, **kwargs)\r\n\r\n\r\nclass Effect8309(BaseEffect):\r\n    \"\"\"\r\n    capitalIndustrialShipBonusDroneHitPoints\r\n\r\n    Used by:\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for layer in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Drones'), layer,\r\n                ship.getModifiedItemAttr('capitalIndustrialShipBonusDroneHitPoints'),\r\n                skill='Capital Industrial Ships', **kwargs)\r\n\r\n\r\nclass Effect8311(BaseEffect):\r\n    \"\"\"\r\n    industrialCommandBonusDroneHitPoints\r\n\r\n    Used by:\r\n    Ships from group: Industrial Command Ship (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for layer in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Drones'), layer,\r\n                ship.getModifiedItemAttr('industrialCommandBonusDroneHitPoints'),\r\n                skill='Industrial Command Ships', **kwargs)\r\n\r\n\r\nclass Effect8313(BaseEffect):\r\n    \"\"\"\r\n    miningFrigateBonusGasCloudHarvestingDuration\r\n\r\n    Used by:\r\n    Variations of ship: Venture (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Gas Cloud Harvesting'), 'duration',\r\n            ship.getModifiedItemAttr('miningFrigateBonusGasCloudHarvestingDuration'),\r\n            skill='Mining Frigate', **kwargs)\r\n\r\n\r\nclass Effect8315(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusGasHarvestingYield\r\n\r\n    Used by:\r\n    Variations of ship: Venture (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Gas Cloud Harvesting'), 'miningAmount',\r\n            ship.getModifiedItemAttr('shipRoleBonusGasHarvestingYield'), **kwargs)\r\n\r\n\r\nclass Effect8317(BaseEffect):\r\n    \"\"\"\r\n    miningFrigateBonusIceHarvestingDuration\r\n\r\n    Used by:\r\n    Ship: Endurance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'duration',\r\n            ship.getModifiedItemAttr('miningFrigateBonusIceHarvestingDuration'),\r\n            skill='Mining Frigate', **kwargs)\r\n\r\n\r\nclass Effect8323(BaseEffect):\r\n    \"\"\"\r\n    gallenteIndustrialBonusMiningHoldCapacity\r\n\r\n    Used by:\r\n    Ship: Miasmos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'generalMiningHoldCapacity',\r\n            ship.getModifiedItemAttr('gallenteIndustrialBonusMiningHoldCapacity'),\r\n            skill='Gallente Hauler', **kwargs)\r\n\r\n\r\nclass Effect8360(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMissileReloadTimeGC2\r\n\r\n    Used by:\r\n    Ship: Laelaps\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),\r\n            'reloadTime', ship.getModifiedItemAttr('shipBonusGC2'),\r\n            skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect8362(BaseEffect):\r\n    \"\"\"\r\n    shipBonusWarpDisruptionFieldGeneratorSignatureRadius\r\n\r\n    Used by:\r\n    Ship: Laelaps\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Warp Disrupt Field Generator',\r\n            'signatureRadiusBonus', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors3'), **kwargs)\r\n\r\n\r\nclass Effect8364(BaseEffect):\r\n    \"\"\"\r\n    industrialItemCompression\r\n\r\n    Used by:\r\n    Modules from group: Compressors (12 of 12)\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n\r\nclass Effect8366(BaseEffect):\r\n    \"\"\"\r\n    modifyHullResonancePostPercentpassive\r\n\r\n    Used by:\r\n    Implants named like: Federation Defense Booster (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):\r\n            fit.ship.boostItemAttr(\r\n                f'{dmgType}DamageResonance', src.getModifiedItemAttr('hullDamageResistanceBonus'), **kwargs)\r\n\r\n\r\nclass Effect8372(BaseEffect):\r\n    \"\"\"\r\n    fleetCompressionLogisticsRangeBonus\r\n\r\n    Used by:\r\n    Skill: Fleet Compression Logistics\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shipboard Compression Technology')\r\n                        or mod.item.requiresSkill('Capital Shipboard Compression Technology'),\r\n            'maxRange', skill.getModifiedItemAttr('fleetCompressionLogisticsRangeBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect8377(BaseEffect):\r\n    \"\"\"\r\n    BattleshipRoleBonusArmorPlate&ShieldExtenderHP\r\n\r\n    Used by:\r\n    Ships from group: Battleship (34 of 35)\r\n    Ships from group: Black Ops (6 of 6)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Shield Extender',\r\n            'capacityBonus', ship.getModifiedItemAttr('battleshipExtenderHPBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Armor Plate',\r\n            'armorHPBonusAdd', ship.getModifiedItemAttr('battleshipPlateHPBonus'), **kwargs)\r\n        fit.modules.filteredItemIncrease(\r\n            lambda mod: mod.item.group.name == 'Reinforced Bulkhead',\r\n            'structureHPMultiplier', ship.getModifiedItemAttr('battleshipBulkheadHPModifierBonus'), **kwargs)\r\n\r\n\r\nclass Effect8467(BaseEffect):\r\n    \"\"\"\r\n    modifyJumpConduitPassengerRequired\r\n\r\n    Used by:\r\n    Module: Covert Jump Portal Generator I\r\n    Module: Industrial Jump Portal Generator I\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.forceItemAttr(\r\n            'jumpConduitPassengerRequiredAttributeID',\r\n            module.getModifiedChargeAttr('jumpConduitPassengerRequiredAttributeID'), **kwargs)\r\n\r\n\r\nclass Effect8468(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusBlackOpsJumpPassenger\r\n\r\n    Used by:\r\n    Subsystems named like: Defensive Covert Reconfiguration (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        module.forceItemAttr(\r\n            'isBlackOpsJumpPortalPassenger', module.getModifiedChargeAttr('isBlackOpsJumpPortalPassenger'), **kwargs)\r\n        module.forceItemAttr(\r\n            'isBlackOpsJumpConduitPassenger', module.getModifiedChargeAttr('isBlackOpsJumpConduitPassenger'), **kwargs)\r\n\r\n\r\nclass Effect8470(BaseEffect):\r\n    \"\"\"\r\n    capitalIndustrialCommandBonusDroneDamage\r\n\r\n    Used by:\r\n    Ship: Rorqual\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'damageMultiplier',\r\n            container.getModifiedItemAttr('capitalIndustrialCommandBonusDroneDamage'),\r\n            skill='Capital Industrial Ships', **kwargs)\r\n\r\n\r\nclass Effect8474(BaseEffect):\r\n    \"\"\"\r\n    subsystemBonusMassAddition\r\n\r\n    Used by:\r\n    Subsystem: Proteus Defensive - Augmented Plating\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Armor Plate', 'massAddition',\r\n            ship.getModifiedItemAttr('subsystemBonusMassAddition'), **kwargs)\r\n\r\n\r\nclass Effect8477(BaseEffect):\r\n    \"\"\"\r\n    droneTrackingBonusPassive\r\n\r\n    Used by:\r\n    Implants named like: Federation Application Booster (4 of 4)\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    Implants named like: Imperial Application Booster (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'trackingSpeed',\r\n            container.getModifiedItemAttr('droneTrackingBonus'), **kwargs)\r\n\r\n\r\nclass Effect8478(BaseEffect):\r\n    \"\"\"\r\n    miningAndIceHarvestingCycleTimeBonusPassive\r\n\r\n    Used by:\r\n    Implants named like: Halcyon B Booster (5 of 5)\r\n    Implants named like: Halcyon G Booster (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Ice Harvesting') or mod.item.requiresSkill('Mining'),\r\n            'duration', skill.getModifiedItemAttr('iceHarvestCycleBonus'), **kwargs)\r\n\r\n\r\nclass Effect8479(BaseEffect):\r\n    \"\"\"\r\n    droneOptimalFalloffBonusPassive\r\n\r\n    Used by:\r\n    Implants named like: Federation Projection Booster (4 of 4)\r\n    Implants named like: Halcyon Y Booster (5 of 5)\r\n    Implants named like: Imperial Projection Booster (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'maxRange',\r\n            container.getModifiedItemAttr('rangeSkillBonus'), **kwargs)\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'falloff',\r\n            container.getModifiedItemAttr('falloffBonus'), **kwargs)\r\n\r\n\r\nclass Effect11055(BaseEffect):\r\n    \"\"\"\r\n    shipBonusBattlecruiserHeavyMissileAoeVelocityMBC1\r\n\r\n    Used by:\r\n    Ship: Cyclone Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'aoeVelocity',\r\n            ship.getModifiedItemAttr('shipBonusMBC1'), skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11056(BaseEffect):\r\n    \"\"\"\r\n    shipBonusBattlecruiserHeavyAssaultMissileAoeVelocityMBC1\r\n\r\n    Used by:\r\n    Ship: Cyclone Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'), 'aoeVelocity',\r\n            ship.getModifiedItemAttr('shipBonusMBC1'), skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11057(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldBoostCapacitorCBC3\r\n\r\n    Used by:\r\n    Ship: Ferox Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Operation'), 'capacitorNeed',\r\n            ship.getModifiedItemAttr('shipBonusCBC3'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11059(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumHybridTrackingCBC1\r\n\r\n    Used by:\r\n    Ship: Ferox Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'trackingSpeed',\r\n            src.getModifiedItemAttr('shipBonusCBC1'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11060(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneWebStrengthAndHitpointsGBC3\r\n\r\n    Used by:\r\n    Ship: Myrmidon Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'speedFactor',\r\n            ship.getModifiedItemAttr('shipBonusGBC3'), skill='Gallente Battlecruiser', **kwargs)\r\n        for attr in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Propulsion Jamming'), attr,\r\n                ship.getModifiedItemAttr('shipBonusGBC3'), skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11061(BaseEffect):\r\n    \"\"\"\r\n    roleBonusMHTRangeCBC2\r\n\r\n    Used by:\r\n    Ship: Myrmidon Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for attr in ('maxRange', 'falloff'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), attr,\r\n                ship.getModifiedItemAttr('roleBonusCBC2'), **kwargs)\r\n\r\n\r\nclass Effect11063(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumEnergyWeaponDamageABC3\r\n\r\n    Used by:\r\n    Ship: Prophecy Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Energy Turret'), 'damageMultiplier',\r\n            ship.getModifiedItemAttr('shipBonusABC3'), skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11064(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMediumEnergyWeaponRangeABC1\r\n\r\n    Used by:\r\n    Ship: Prophecy Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Energy Turret'), 'maxRange',\r\n            ship.getModifiedItemAttr('shipBonusABC1'), skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11065(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorHitpointsABC1\r\n\r\n    Used by:\r\n    Ship: Prophecy Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'armorHP', implant.getModifiedItemAttr('shipBonusABC1'),\r\n            skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11067(BaseEffect):\r\n    \"\"\"\r\n    battlecruiserMETRange2\r\n\r\n    Used by:\r\n    Ship: Prophecy Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attr in ('maxRange', 'falloff'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Medium Energy Turret'), attr,\r\n                src.getModifiedItemAttr('roleBonusCBC2'), **kwargs)\r\n\r\n\r\nclass Effect11068(BaseEffect):\r\n    \"\"\"\r\n    shipMissileRoFMF\r\n\r\n    Used by:\r\n    Ship: Probe Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Missile Launcher Operation'), 'speed',\r\n            ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect11069(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusScanProbeLauncherCPU\r\n\r\n    Used by:\r\n    Ship: Heron Navy Issue\r\n    Ship: Imicus Navy Issue\r\n    Ship: Magnate Navy Issue\r\n    Ship: Probe Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Astrometrics'), 'cpu',\r\n            src.getModifiedItemAttr('shipRoleBonusScanProbeLauncherCPU'), **kwargs)\r\n\r\n\r\nclass Effect11070(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMissileDamageCF\r\n\r\n    Used by:\r\n    Ship: Heron Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), f'{dmgType}Damage',\r\n                ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect11072(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallHybridDamageGF2\r\n\r\n    Used by:\r\n    Ship: Imicus Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),\r\n                                      'damageMultiplier', ship.getModifiedItemAttr('shipBonusGF2'),\r\n                                      skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect11358(BaseEffect):\r\n    \"\"\"\r\n    shipBonusBattlecruiserSignatureRadiusMBC3\r\n\r\n    Used by:\r\n    Ship: Cyclone Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'signatureRadius', implant.getModifiedItemAttr('shipBonusMBC3'),\r\n            skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11359(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldBoostFittingCBC4\r\n\r\n    Used by:\r\n    Ship: Ferox Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for attr in ('cpu', 'power'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Shield Operation'), attr,\r\n                ship.getModifiedItemAttr('shipBonusCBC4'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11373(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtM1ArmorBoostAmount&ShieldBoostAmount\r\n\r\n    Used by:\r\n    Ship: Naglfar Fleet Issue\r\n    Ship: Valravn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Shield Operation'), 'shieldBonus',\r\n            src.getModifiedItemAttr('shipBonusDreadnoughtM1'), skill='Minmatar Dreadnought', **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Repair Systems'), 'armorDamageAmount',\r\n            src.getModifiedItemAttr('shipBonusDreadnoughtM1'), skill='Minmatar Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11374(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtA4EnergyWarfareRangeAmountBonus\r\n\r\n    Used by:\r\n    Ship: Revelation Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for attr in ('powerTransferAmount', 'maxRange'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.group.name == 'Energy Nosferatu', attr,\r\n                ship.getModifiedItemAttr('shipBonusDreadnoughtA4'), skill='Amarr Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11376(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtG1OptimalRangeBonus\r\n\r\n    Used by:\r\n    Ship: Moros Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'maxRange',\r\n            src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11380(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtG1ArmorBoostAmount\r\n\r\n    Used by:\r\n    Ship: Moros Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Repair Systems'), 'armorDamageAmount',\r\n            src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11381(BaseEffect):\r\n    \"\"\"\r\n    shipBonusWarpScramblerRangeBonusG5\r\n\r\n    Used by:\r\n    Ship: Moros Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Warp Scrambler', 'maxRange',\r\n            ship.getModifiedItemAttr('shipBonusDreadnoughtG5'), skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11382(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtC1EwTargetPainter\r\n\r\n    Used by:\r\n    Ship: Phoenix Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Target Painter', 'signatureRadiusBonus',\r\n            src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11387(BaseEffect):\r\n    \"\"\"\r\n    shipHybridDamageBonusGalNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Catalyst Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'damageMultiplier',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerGallente1'), skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11388(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorRepairGalNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Catalyst Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerGallente2'), skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11390(BaseEffect):\r\n    \"\"\"\r\n    armorUpgradesMassPenaltyReductionBonusGalNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Catalyst Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Armor Plate', 'massAddition',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerGallente3'), skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11391(BaseEffect):\r\n    \"\"\"\r\n    shipHybridDamageBonusCalNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Cormorant Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'damageMultiplier',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerCaldari1'), skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11392(BaseEffect):\r\n    \"\"\"\r\n    shipHybridRangeBonusCalNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Cormorant Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'maxRange',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerCaldari2'), skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11393(BaseEffect):\r\n    \"\"\"\r\n    shipHybridRangeBonusGalNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Catalyst Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'maxRange',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerGallente4'), **kwargs)\r\n\r\n\r\nclass Effect11394(BaseEffect):\r\n    \"\"\"\r\n    shipHybridFallOffGalNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Catalyst Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'falloff',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerGallente5'), **kwargs)\r\n\r\n\r\nclass Effect11395(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldBoosterCalNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Cormorant Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Operation'), 'shieldBonus',\r\n            src.getModifiedItemAttr('shipBonusNavyDestroyerCaldari3'), skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11396(BaseEffect):\r\n    \"\"\"\r\n    shipHybridRangeBonus2CalNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Cormorant Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'maxRange',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerCaldari4'), **kwargs)\r\n\r\n\r\nclass Effect11397(BaseEffect):\r\n    \"\"\"\r\n    shipHybridFallOffCalNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Cormorant Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'falloff',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerCaldari5'), **kwargs)\r\n\r\n\r\nclass Effect11398(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileDamageMinNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Thrasher Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Projectile Turret'), 'damageMultiplier',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerMinmatar1'), skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11399(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileRofMinNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Thrasher Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Projectile Turret'), 'speed',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerMinmatar2'), skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11400(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMWDSignatureRadiusMinNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Thrasher Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('High Speed Maneuvering'), 'signatureRadiusBonus',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerMinmatar3'), skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11401(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileRangeBonusMinNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Thrasher Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Projectile Turret'), 'maxRange',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerMinmatar4'), **kwargs)\r\n\r\n\r\nclass Effect11402(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileFallOffMinNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Thrasher Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Projectile Turret'), 'falloff',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerMinmatar5'), **kwargs)\r\n\r\n\r\nclass Effect11404(BaseEffect):\r\n    \"\"\"\r\n    shipArmorHpAmaNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Coercer Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'armorHP', implant.getModifiedItemAttr('shipBonusNavyDestroyerAmarr1'),\r\n            skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11405(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallEnergyTurretDamageAmaNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Coercer Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Energy Turret'), 'damageMultiplier',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerAmarr2'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11406(BaseEffect):\r\n    \"\"\"\r\n    shipLaserCap1AmaNavyIssue\r\n\r\n    Used by:\r\n    Ship: Coercer Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Energy Turret'), 'capacitorNeed',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerAmarr3'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11407(BaseEffect):\r\n    \"\"\"\r\n    shipNeutCap1AmaNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Coercer Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Energy Neutralizer', 'capacitorNeed',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerAmarr4'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11408(BaseEffect):\r\n    \"\"\"\r\n    shipEnergyNeutralizerTransferAmountBonusAmaNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Coercer Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Energy Neutralizer', 'energyNeutralizerAmount',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerAmarr5'), skill='Amarr Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11410(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSETFalloffAmaNavyDestroyer\r\n\r\n    Used by:\r\n    Ship: Coercer Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Energy Turret'), 'falloff',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerAmarr7'), **kwargs)\r\n\r\n\r\nclass Effect11411(BaseEffect):\r\n    \"\"\"\r\n    shipMissileDmgMC2\r\n\r\n    Used by:\r\n    Ship: Bestla\r\n    Ship: Muninn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), f'{dmgType}Damage',\r\n                ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect11412(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldArmorResonanceMC\r\n\r\n    Used by:\r\n    Ship: Muninn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):\r\n            fit.ship.boostItemAttr(\r\n                'armor{}DamageResonance'.format(dmgType.capitalize()),\r\n                ship.getModifiedItemAttr('shipBonusMC'),\r\n                skill='Minmatar Cruiser', **kwargs)\r\n            fit.ship.boostItemAttr(\r\n                'shield{}DamageResonance'.format(dmgType.capitalize()),\r\n                ship.getModifiedItemAttr('shipBonusMC'),\r\n                skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect11413(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHeavyGunshipMissileExplosionVelocity1\r\n\r\n    Used by:\r\n    Ship: Bestla\r\n    Ship: Muninn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: (\r\n                mod.charge.requiresSkill('Heavy Assault Missiles')\r\n                or mod.charge.requiresSkill('Heavy Missiles')),\r\n            'aoeVelocity', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),\r\n            skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect11414(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusShieldBoosterAmount1\r\n\r\n    Used by:\r\n    Ship: Cerberus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Operation'), 'shieldBonus',\r\n            src.getModifiedItemAttr('eliteBonusHeavyGunship1'), skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect11415(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusHybridTracking1\r\n\r\n    Used by:\r\n    Ship: Eagle\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'trackingSpeed',\r\n            src.getModifiedItemAttr('eliteBonusHeavyGunship1'), skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect11416(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHybridFalloffGC2\r\n\r\n    Used by:\r\n    Ship: Exequror Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'falloff',\r\n            src.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect11417(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorPlateMassGC3\r\n\r\n    Used by:\r\n    Ship: Exequror Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Armor Plate', 'massAddition',\r\n            ship.getModifiedItemAttr('shipBonusGC3'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect11419(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneTrackingGB2\r\n\r\n    Used by:\r\n    Ship: Dominix Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'trackingSpeed',\r\n            container.getModifiedItemAttr('shipBonusGB2'), skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect11420(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRepairAmountGB3\r\n\r\n    Used by:\r\n    Ship: Dominix Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',\r\n            ship.getModifiedItemAttr('shipBonusGB3'), skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect11421(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoDamageAB\r\n\r\n    Used by:\r\n    Ship: Armageddon Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.charge.requiresSkill('Torpedoes'), f'{dmgType}Damage',\r\n                ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect11422(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCruiseMissileDamageAB\r\n\r\n    Used by:\r\n    Ship: Armageddon Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.charge.requiresSkill('Cruise Missiles'), f'{dmgType}Damage',\r\n                ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect11423(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileDamageAB\r\n\r\n    Used by:\r\n    Ship: Armageddon Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.charge.requiresSkill('Heavy Missiles'), f'{dmgType}Damage',\r\n                ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect11424(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLargeEnergyTurretDamageAB\r\n\r\n    Used by:\r\n    Ship: Apocalypse\r\n    Ship: Apocalypse Navy Issue\r\n    Ship: Armageddon Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Large Energy Turret'), 'damageMultiplier',\r\n            ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect11425(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneHitpointsAB\r\n\r\n    Used by:\r\n    Ship: Armageddon Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for layer in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Drones'), layer,\r\n                ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect11426(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneDamageAB\r\n\r\n    Used by:\r\n    Ship: Armageddon Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'damageMultiplier',\r\n            container.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect11428(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCruiseMissileExplosionVelocityMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Cruise Missiles'), 'aoeVelocity',\r\n            ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect11429(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoMissileExplosionVelocityMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Torpedoes'), 'aoeVelocity',\r\n            ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect11430(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLargeProjectileTrackingMB\r\n\r\n    Used by:\r\n    Ship: Typhoon Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Large Projectile Turret'), 'trackingSpeed',\r\n            ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship', **kwargs)\r\n\r\n\r\nclass Effect11431(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldHpCF2\r\n\r\n    Used by:\r\n    Ship: Crow\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldCapacity', ship.getModifiedItemAttr('shipBonusCF2'),\r\n                               skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect11432(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorRepairEliteGunship2\r\n\r\n    Used by:\r\n    Ship: Ishkur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',\r\n            ship.getModifiedItemAttr('eliteBonusGunship2'), skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect11445(BaseEffect):\r\n    \"\"\"\r\n    systemSensorStrengthBonus\r\n\r\n    Used by:\r\n    Celestial: Turnur Aftermath\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        for sensor_type in ('Gravimetric', 'Ladar', 'Magnetometric', 'Radar'):\r\n            fit.ship.boostItemAttr(f'scan{sensor_type}Strength', beacon.getModifiedItemAttr('sensorStrengthBonus'),\r\n                                   stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect11446(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtG4DamageBonus\r\n\r\n    Used by:\r\n    Ship: Moros Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'damageMultiplier',\r\n            src.getModifiedItemAttr('shipBonusDreadnoughtG4'), skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11450(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSETOptimalAmarNavyDestroyer6\r\n\r\n    Used by:\r\n    Ship: Coercer Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Energy Turret'), 'maxRange',\r\n            ship.getModifiedItemAttr('shipBonusNavyDestroyerAmarr6'), **kwargs)\r\n\r\n\r\nclass Effect11452(BaseEffect):\r\n    \"\"\"\r\n    shipBonusWarpScramblerStrengthG5\r\n\r\n    Used by:\r\n    Ship: Moros Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Warp Scrambler', 'warpScrambleStrength',\r\n            ship.getModifiedItemAttr('shipBonusDreadnoughtG5'), skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11454(BaseEffect):\r\n    \"\"\"\r\n    shipBonusGrapplerFalloffM4\r\n\r\n    Used by:\r\n    Ship: Naglfar Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Stasis Grappler', 'falloffEffectiveness',\r\n            ship.getModifiedItemAttr('shipBonusDreadnoughtM4'), skill='Minmatar Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11512(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusGunshipLightMissileAndRocketROF\r\n\r\n    Used by:\r\n    Ship: Geri\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name in ('Missile Launcher Light', 'Missile Launcher Rocket'),\r\n            'speed', ship.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect11513(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMissileDamageMF2\r\n\r\n    Used by:\r\n    Ship: Geri\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), f'{dmgType}Damage',\r\n                ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect11514(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorRepairAmountMF\r\n\r\n    Used by:\r\n    Ship: Geri\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',\r\n            ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect11515(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorRepairAmountMC\r\n\r\n    Used by:\r\n    Ship: Bestla\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',\r\n            ship.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect11516(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldBoostAmountMC\r\n\r\n    Used by:\r\n    Ship: Bestla\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Operation'), 'shieldBonus',\r\n            ship.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect11517(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStasisWebDroneHitpointsAT\r\n\r\n    Used by:\r\n    Ship: Bestla\r\n    Ship: Geri\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for layer in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Propulsion Jamming'),\r\n                layer, ship.getModifiedItemAttr('shipBonusAT'), **kwargs)\r\n\r\n\r\nclass Effect11518(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStasisWebDroneVelocityAT2\r\n\r\n    Used by:\r\n    Ship: Bestla\r\n    Ship: Geri\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Propulsion Jamming'),\r\n            'maxVelocity', ship.getModifiedItemAttr('shipBonusAT2'), **kwargs)\r\n\r\n\r\nclass Effect11519(BaseEffect):\r\n    \"\"\"\r\n    shipBonusStasisWebDroneWebStrengthAT3\r\n\r\n    Used by:\r\n    Ship: Bestla\r\n    Ship: Geri\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'),\r\n            'speedFactor', ship.getModifiedItemAttr('shipBonusAT3'), **kwargs)\r\n\r\n\r\nclass Effect11528(BaseEffect):\r\n    \"\"\"\r\n    covopsCloakCPURole1Bonus\r\n\r\n    Used by:\r\n    Ship: Metamorphosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Cloaking'),\r\n            'cpu', ship.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect11529(BaseEffect):\r\n    \"\"\"\r\n    shipRole8BonusCoreProbeStrength\r\n\r\n    Used by:\r\n    Ship: Metamorphosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Science'),\r\n            'baseSensorStrength', ship.getModifiedItemAttr('shipBonusRole8'), **kwargs)\r\n\r\n\r\nclass Effect11530(BaseEffect):\r\n    \"\"\"\r\n    shipRole6BonusCoreProbeDeviation\r\n\r\n    Used by:\r\n    Ship: Metamorphosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Science'),\r\n            'baseMaxScanDeviation', ship.getModifiedItemAttr('shipBonusRole6'), **kwargs)\r\n\r\n\r\nclass Effect11531(BaseEffect):\r\n    \"\"\"\r\n    probeLauncherCPURole1Bonus\r\n\r\n    Used by:\r\n    Ship: Metamorphosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Scan Probe Launcher', 'cpu',\r\n            ship.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect11532(BaseEffect):\r\n    \"\"\"\r\n    dataMinerCPURole1Bonus\r\n\r\n    Used by:\r\n    Ship: Metamorphosis\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Data Miners', 'cpu',\r\n            ship.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect11691(BaseEffect):\r\n    \"\"\"\r\n    debuffLance\r\n\r\n    Used by:\r\n    Modules named like: Disruptive Lance (4 of 4)\r\n    \"\"\"\r\n\r\n    dealsDamage = True\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('maxVelocity', mod.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs)\r\n        fit.ship.increaseItemAttr('warpScrambleStatus', mod.getModifiedItemAttr('siegeModeWarpStatus'), **kwargs)\r\n\r\n\r\nclass Effect11696(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtC1HybridTracking\r\n\r\n    Used by:\r\n    Ship: Karura\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'trackingSpeed',\r\n            src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11697(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtC2HybridOptimalRange\r\n\r\n    Used by:\r\n    Ship: Karura\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'maxRange',\r\n            src.getModifiedItemAttr('shipBonusDreadnoughtC2'), skill='Caldari Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11698(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDisruptionLanceDamage\r\n\r\n    Used by:\r\n    Ships from group: Lancer Dreadnought (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda module: module.item.requiresSkill('Disruptive Lance Operation'), f'{dmgType}Damage',\r\n                ship.getModifiedItemAttr('shipBonusAdvancedDreadnought1'), skill='Lancer Dreadnoughts', **kwargs)\r\n\r\n\r\nclass Effect11700(BaseEffect):\r\n    \"\"\"\r\n    skillDisruptionLanceCapacitorUseBonus\r\n\r\n    Used by:\r\n    Skill: Disruptive Lance Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda module: module.item.requiresSkill('Disruptive Lance Operation'), 'capacitorNeed',\r\n            skill.getModifiedItemAttr('disruptionLanceSkillBoostCapacitorCost') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect11701(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDisruptionLanceRange\r\n\r\n    Used by:\r\n    Ships from group: Lancer Dreadnought (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda module: module.item.requiresSkill('Disruptive Lance Operation'), 'maxRange',\r\n            ship.getModifiedItemAttr('shipBonusAdvancedDreadnought2'), skill='Lancer Dreadnoughts', **kwargs)\r\n\r\n\r\nclass Effect11702(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusMarauderArmourBonus2a\r\n\r\n    Used by:\r\n    Ship: Vargur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',\r\n            src.getModifiedItemAttr('eliteBonusViolators2'), skill='Marauders', **kwargs)\r\n\r\n\r\nclass Effect11704(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtM2CapitalProjectileFalloff\r\n\r\n    Used by:\r\n    Ship: Valravn\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Projectile Turret'), 'falloff',\r\n            src.getModifiedItemAttr('shipBonusDreadnoughtM2'), skill='Minmatar Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11705(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtA1MissileDamage\r\n\r\n    Used by:\r\n    Ship: Bane\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: (\r\n                        mod.charge.requiresSkill('XL Torpedoes')\r\n                        or mod.charge.requiresSkill('XL Cruise Missiles')\r\n                        or mod.charge.requiresSkill('Torpedoes')),\r\n                f'{dmgType}Damage',\r\n                src.getModifiedItemAttr('shipBonusDreadnoughtA1'),\r\n                skill='Amarr Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11706(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtA2MissileExplosionRadius\r\n\r\n    Used by:\r\n    Ship: Bane\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: (\r\n                    mod.charge.requiresSkill('XL Torpedoes')\r\n                    or mod.charge.requiresSkill('XL Cruise Missiles')\r\n                    or mod.charge.requiresSkill('Torpedoes')),\r\n            'aoeCloudSize', src.getModifiedItemAttr('shipBonusDreadnoughtA2'),\r\n            skill='Amarr Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11707(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtG1HullResonance\r\n\r\n    Used by:\r\n    Ship: Hubris\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):\r\n            fit.ship.boostItemAttr(\r\n                f'{dmgType}DamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtG1'),\r\n                skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11714(BaseEffect):\r\n    \"\"\"\r\n    disruptionLanceDisallowCloaking\r\n\r\n    Used by:\r\n    Modules named like: Disruptive Lance (4 of 4)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'offline'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(\r\n            lambda mod: mod.item.requiresSkill('Cloaking'), 'activationBlocked',\r\n            module.getModifiedItemAttr('disruptionLanceDisallowCloaking'), **kwargs)\r\n\r\n\r\nclass Effect11743(BaseEffect):\r\n    \"\"\"\r\n    shipProjectileTrackingGD\r\n\r\n    Used by:\r\n    Ship: Mekubal\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Projectile Turret'), 'trackingSpeed',\r\n            ship.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11745(BaseEffect):\r\n    \"\"\"\r\n    shipShieldEmResistanceGuristasAlligatorCBC\r\n\r\n    Used by:\r\n    Ship: Alligator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldEmDamageResonance', ship.getModifiedItemAttr('shipBonusCBC1'),\r\n                               skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11746(BaseEffect):\r\n    \"\"\"\r\n    shipShieldThermalResistanceGuristasAlligatorCBC\r\n\r\n    Used by:\r\n    Ship: Alligator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldThermalDamageResonance', ship.getModifiedItemAttr('shipBonusCBC1'),\r\n                               skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11747(BaseEffect):\r\n    \"\"\"\r\n    shipShieldKineticResistanceGuristasAlligatorCBC\r\n\r\n    Used by:\r\n    Ship: Alligator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldKineticDamageResonance', ship.getModifiedItemAttr('shipBonusCBC1'),\r\n                               skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11748(BaseEffect):\r\n    \"\"\"\r\n    shipShieldExplosiveResistanceGuristasAlligatorCBC\r\n\r\n    Used by:\r\n    Ship: Alligator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('shieldExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusCBC1'),\r\n                               skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11750(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyAssaultMissileKineticDamageGuristasAlligatorGBC\r\n\r\n    Used by:\r\n    Ship: Alligator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'), 'kineticDamage',\r\n            ship.getModifiedItemAttr('shipBonusGBC1'), skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11751(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyAssaultMissileThermalDamageGuristasAlligatorGBC\r\n\r\n    Used by:\r\n    Ship: Alligator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'), 'thermalDamage',\r\n            ship.getModifiedItemAttr('shipBonusGBC1'), skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11752(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileKineticDamageGuristasAlligatorGBC\r\n\r\n    Used by:\r\n    Ship: Alligator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'kineticDamage',\r\n            ship.getModifiedItemAttr('shipBonusGBC1'), skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11753(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeavyMissileThermalDamageGuristasAlligatorGBC\r\n\r\n    Used by:\r\n    Ship: Alligator\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'thermalDamage',\r\n            ship.getModifiedItemAttr('shipBonusGBC1'), skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11763(BaseEffect):\r\n    \"\"\"\r\n    shipBonusProjectileTurretFalloffBonusGBC\r\n\r\n    Used by:\r\n    Ship: Khizriel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Projectile Turret'), 'falloff',\r\n            ship.getModifiedItemAttr('shipBonusGBC1'), skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect11764(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusProjectileRofPirateBattlecruiser\r\n\r\n    Used by:\r\n    Ship: Khizriel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),\r\n            'speed', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)\r\n\r\n\r\nclass Effect11767(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHybridTrackingATC3\r\n\r\n    Used by:\r\n    Ship: Cybele\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'trackingSpeed',\r\n            src.getModifiedItemAttr('eliteBonusHeavyGunship1'), skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect11919(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDestroyerMD1Falloff\r\n\r\n    Used by:\r\n    Ship: Mekubal\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Projectile Turret'), 'falloff',\r\n            ship.getModifiedItemAttr('shipBonusMD1'), skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11938(BaseEffect):\r\n    \"\"\"\r\n    shipShieldEMResistanceCD2\r\n\r\n    Used by:\r\n    Ship: Mamba\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusCD2'),\r\n            skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11939(BaseEffect):\r\n    \"\"\"\r\n    shipShieldThermalResistanceCD2\r\n\r\n    Used by:\r\n    Ship: Mamba\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusCD2'),\r\n            skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11940(BaseEffect):\r\n    \"\"\"\r\n    shipShieldKineticResistanceCD2\r\n\r\n    Used by:\r\n    Ship: Mamba\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusCD2'),\r\n            skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11941(BaseEffect):\r\n    \"\"\"\r\n    shipShieldExplosiveResistanceCD2\r\n\r\n    Used by:\r\n    Ship: Mamba\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusCD2'),\r\n            skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11942(BaseEffect):\r\n    \"\"\"\r\n    shipBonusKineticMissileDamageGD\r\n\r\n    Used by:\r\n    Ship: Mamba\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'kineticDamage',\r\n            ship.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11943(BaseEffect):\r\n    \"\"\"\r\n    shipBonusThermalMissileDamageGD\r\n\r\n    Used by:\r\n    Ship: Mamba\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'thermalDamage',\r\n            ship.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer', **kwargs)\r\n\r\n\r\nclass Effect11944(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanG2ProjectileFalloff\r\n\r\n    Used by:\r\n    Ship: Azariel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Projectile Turret'), 'falloff',\r\n            src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11945(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTitanG1ProjectileTracking\r\n\r\n    Used by:\r\n    Ship: Azariel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Projectile Turret'), 'trackingSpeed',\r\n            src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect11946(BaseEffect):\r\n    \"\"\"\r\n    systemSmallUpwellTurretDamage\r\n\r\n    Used by:\r\n    Celestials named like: Class Wolf Rayet Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Small Vorton Projector'),\r\n            'damageMultiplier', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),\r\n            stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect11947(BaseEffect):\r\n    \"\"\"\r\n    systemUpwellAoeCloudSize\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Vorton Projector Operation'),\r\n            'aoeCloudSize', beacon.getModifiedItemAttr('aoeCloudSizeMultiplier'),\r\n            stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect11948(BaseEffect):\r\n    \"\"\"\r\n    systemUpwellDamageMultiplier\r\n\r\n    Used by:\r\n    Celestials named like: Class Magnetar Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Vorton Projector Operation'),\r\n            'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),\r\n            stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect11953(BaseEffect):\r\n    \"\"\"\r\n    systemUpwellAoeVelocity\r\n\r\n    Used by:\r\n    Celestials named like: Class Black Hole Effects (6 of 6)\r\n    \"\"\"\r\n\r\n    type = ('projected', 'passive')\r\n\r\n    @staticmethod\r\n    def handler(fit, beacon, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Vorton Projector Operation'),\r\n            'aoeVelocity', beacon.getModifiedItemAttr('aoeVelocityMultiplier'),\r\n            stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect11992(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorPlateMassAT\r\n\r\n    Used by:\r\n    Ship: Cybele\r\n    Ship: Shapash\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Armor Plate', 'massAddition',\r\n            ship.getModifiedItemAttr('shipBonusATF3'), **kwargs)\r\n\r\n\r\nclass Effect11993(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRepairSystemsBonusATC3\r\n\r\n    Used by:\r\n    Ship: Cybele\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',\r\n            src.getModifiedItemAttr('shipBonusGC3'), skill='Gallente Cruiser', **kwargs)\r\n\r\n\r\nclass Effect11994(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHybridFalloffATC3\r\n\r\n    Used by:\r\n    Ship: Cybele\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'falloff',\r\n            src.getModifiedItemAttr('eliteBonusHeavyGunship2'), skill='Heavy Assault Cruisers', **kwargs)\r\n\r\n\r\nclass Effect11995(BaseEffect):\r\n    \"\"\"\r\n    shipBonusHeatAfterburnerATGF\r\n\r\n    Used by:\r\n    Ship: Shapash\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Afterburner'), 'overloadSpeedFactorBonus',\r\n            src.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect11996(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMWDHeatATGF\r\n\r\n    Used by:\r\n    Ship: Shapash\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('High Speed Maneuvering'), 'overloadSpeedFactorBonus',\r\n            src.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs)\r\n\r\n\r\nclass Effect11997(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorRepATGF\r\n\r\n    Used by:\r\n    Ship: Shapash\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',\r\n            src.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect11998(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallHybridMaxRangeATF3\r\n\r\n    Used by:\r\n    Ship: Shapash\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'maxRange',\r\n            src.getModifiedItemAttr('eliteBonusGunship2'), skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect11999(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallHybridTrackingSpeedATF3\r\n\r\n    Used by:\r\n    Ship: Shapash\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'trackingSpeed',\r\n            src.getModifiedItemAttr('eliteBonusGunship2'), skill='Assault Frigates', **kwargs)\r\n\r\n\r\nclass Effect12003(BaseEffect):\r\n    \"\"\"\r\n    vortonTurretSpeeBonusPostPercentSpeedLocationShipModulesRequiringVortonProjectorOperation\r\n\r\n    Used by:\r\n    Implants named like: Halcyon R Booster (5 of 5)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, booster, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Vorton Projector Operation'), 'speed',\r\n            booster.getModifiedItemAttr('turretSpeeBonus'), **kwargs)\r\n\r\n\r\nclass Effect12038(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSPTFalloffMF3\r\n\r\n    Used by:\r\n    Ship: Republic Fleet Firetail\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Projectile Turret'), 'falloff',\r\n            ship.getModifiedItemAttr('shipBonus3MF'), skill='Minmatar Frigate', **kwargs)\r\n\r\n\r\nclass Effect12050(BaseEffect):\r\n    \"\"\"\r\n    shipBonusColonyResourcesHoldCapacityUH1\r\n\r\n    Used by:\r\n    Variations of ship: Squall (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'specialColonyResourcesHoldCapacity', src.getModifiedItemAttr('shipBonusUH1'),\r\n            skill='Upwell Hauler', **kwargs)\r\n\r\n\r\nclass Effect12051(BaseEffect):\r\n    \"\"\"\r\n    shipMissileEMDamageUH2\r\n\r\n    Used by:\r\n    Variations of ship: Squall (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'emDamage', container.getModifiedItemAttr('shipBonusUH2'),\r\n            skill='Upwell Hauler', **kwargs)\r\n\r\n\r\nclass Effect12052(BaseEffect):\r\n    \"\"\"\r\n    shipMissileThermalDamageUH2\r\n\r\n    Used by:\r\n    Variations of ship: Squall (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'thermalDamage', container.getModifiedItemAttr('shipBonusUH2'),\r\n            skill='Upwell Hauler', **kwargs)\r\n\r\n\r\nclass Effect12053(BaseEffect):\r\n    \"\"\"\r\n    shipMissileExplosiveDamageUH2\r\n\r\n    Used by:\r\n    Variations of ship: Squall (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'explosiveDamage', container.getModifiedItemAttr('shipBonusUH2'),\r\n            skill='Upwell Hauler', **kwargs)\r\n\r\n\r\nclass Effect12054(BaseEffect):\r\n    \"\"\"\r\n    shipMissileKineticDamageUH2\r\n\r\n    Used by:\r\n    Variations of ship: Squall (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'kineticDamage', container.getModifiedItemAttr('shipBonusUH2'),\r\n            skill='Upwell Hauler', **kwargs)\r\n\r\n\r\nclass Effect12057(BaseEffect):\r\n    \"\"\"\r\n    shipBonusColonyResourcesHoldCapacityUFreighter1\r\n\r\n    Used by:\r\n    Ship: Avalanche\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'specialColonyResourcesHoldCapacity', src.getModifiedItemAttr('shipBonusUFreighter1'),\r\n            skill='Upwell Freighter', **kwargs)\r\n\r\n\r\nclass Effect12058(BaseEffect):\r\n    \"\"\"\r\n    shipMissileEMDamageUFreighter2\r\n\r\n    Used by:\r\n    Ship: Avalanche\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'emDamage', container.getModifiedItemAttr('shipBonusUFreighter2'),\r\n            skill='Upwell Freighter', **kwargs)\r\n\r\n\r\nclass Effect12060(BaseEffect):\r\n    \"\"\"\r\n    shipMissileThermalDamageUFreighter2\r\n\r\n    Used by:\r\n    Ship: Avalanche\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'thermalDamage', container.getModifiedItemAttr('shipBonusUFreighter2'),\r\n            skill='Upwell Freighter', **kwargs)\r\n\r\n\r\nclass Effect12061(BaseEffect):\r\n    \"\"\"\r\n    shipMissileExplosiveDamageUFreighter2\r\n\r\n    Used by:\r\n    Ship: Avalanche\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'explosiveDamage', container.getModifiedItemAttr('shipBonusUFreighter2'),\r\n            skill='Upwell Freighter', **kwargs)\r\n\r\n\r\nclass Effect12062(BaseEffect):\r\n    \"\"\"\r\n    shipMissileKineticDamageUFreighter2\r\n\r\n    Used by:\r\n    Ship: Avalanche\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'kineticDamage', container.getModifiedItemAttr('shipBonusUFreighter2'),\r\n            skill='Upwell Freighter', **kwargs)\r\n\r\n\r\nclass Effect12063(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusUpwellFreighterCloakCPUPenalty\r\n\r\n    Used by:\r\n    Ship: Avalanche\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(\r\n            lambda mod: mod.item.group.name == 'Cloaking Device',\r\n            'cpu', ship.getModifiedItemAttr('upwellFreightercloakCPUPenalty'), **kwargs)\r\n\r\n\r\nclass Effect12069(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAutoTargetingMissilesUFreighter3\r\n\r\n    Used by:\r\n    Ship: Avalanche\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        damageTypes = ('em', 'explosive', 'kinetic', 'thermal')\r\n        for dmgType in damageTypes:\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.charge.requiresSkill('Auto-Targeting Missiles'),\r\n                f'{dmgType}Damage', container.getModifiedItemAttr('shipBonusUFreighter3'),\r\n                skill='Upwell Freighter', **kwargs)\r\n\r\n\r\nclass Effect12071(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusUpwellFreighterCapitalFlexHardenerFittingCapBonus\r\n\r\n    Used by:\r\n    Ship: Avalanche\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.group.name == 'Flex Shield Hardener',\r\n            'power', ship.getModifiedItemAttr('upwellFreighterCapitalFlexHardenerFittingCapBonus'), **kwargs)\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.group.name == 'Flex Shield Hardener',\r\n            'capacitorNeed', ship.getModifiedItemAttr('upwellFreighterCapitalFlexHardenerFittingCapBonus'), **kwargs)\r\n\r\n\r\nclass Effect12072(BaseEffect):\r\n    \"\"\"\r\n    eliteIndustrialUpwellNeutNosHeatBonus\r\n\r\n    Used by:\r\n    Ship: Torrent\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name in ('Energy Neutralizer', 'Energy Nosferatu'),\r\n            'overloadSelfDurationBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'), **kwargs)\r\n\r\n\r\nclass Effect12098(BaseEffect):\r\n    \"\"\"\r\n    jumpPortalPassengerBonusPercentSkill\r\n\r\n    Used by:\r\n    Ships from group: Carrier (4 of 4)\r\n    Ships from group: Supercarrier (6 of 6)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'conduitJumpPassengerCount', src.getModifiedItemAttr('conduitPassengerBonusPercent'),\r\n            skill='Capital Jump Portal Generation', **kwargs)\r\n\r\n\r\nclass Effect12102(BaseEffect):\r\n    \"\"\"\r\n    capitalMJDSkillCapReductionBonus\r\n\r\n    Used by:\r\n    Skill: Capital Micro Jump Drive Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Micro Jump Drive Operation'), 'capacitorNeed',\r\n            skill.getModifiedItemAttr('capitalMJDCapReductionBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect12126(BaseEffect):\r\n    \"\"\"\r\n    microJumpPortalDriveCapital\r\n\r\n    Used by:\r\n    Module: Capital Micro Jump Field Generator\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonusPercent'),\r\n                               stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect12127(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusUpwellHaulersMediumMissileFittingBonus\r\n\r\n    Used by:\r\n    Variations of ship: Squall (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for attr in ('cpu', 'power'):\r\n            fit.modules.filteredItemMultiply(\r\n                lambda mod: mod.item.group.name in (\r\n                    'Missile Launcher Heavy Assault',\r\n                    'Missile Launcher Heavy',\r\n                    'Missile Launcher Rapid Light'),\r\n                attr, ship.getModifiedItemAttr('upwellHaulersMediumMissileFittingBonus'), **kwargs)\r\n\r\n\r\nclass Effect12165(BaseEffect):\r\n    \"\"\"\r\n    ATFrigDmgBonus\r\n\r\n    Used by:\r\n    Ship: Sidewinder\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        # Get pilot sec status bonus directly here, instead of going through the intermediary effects\r\n        try:\r\n            sec_status = ship.owner.getPilotSecurity(low_limit=-10, high_limit=0)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            return\r\n        bonus = ship.getModifiedItemAttr('ATFrigDmgBonus') * sec_status\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: (mod.item.requiresSkill('Small Energy Turret')\r\n                         or mod.item.requiresSkill('Small Hybrid Turret')\r\n                         or mod.item.requiresSkill('Small Projectile Turret')),\r\n            'damageMultiplier', bonus, **kwargs)\r\n        for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),\r\n                f'{dmgType}Damage', bonus, **kwargs)\r\n\r\n\r\nclass Effect12176(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAllShieldresistATCC1\r\n\r\n    Used by:\r\n    Ship: Cobra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):\r\n            fit.ship.boostItemAttr(\r\n                'shield{}DamageResonance'.format(dmgType.capitalize()),\r\n                ship.getModifiedItemAttr('shipBonusCC3'),\r\n                skill='Caldari Cruiser', **kwargs)\r\n\r\n\r\nclass Effect12179(BaseEffect):\r\n    \"\"\"\r\n    ShipBonusAllShieldResistATCF1\r\n\r\n    Used by:\r\n    Ship: Sidewinder\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):\r\n            fit.ship.boostItemAttr(\r\n                'shield{}DamageResonance'.format(dmgType.capitalize()),\r\n                ship.getModifiedItemAttr('shipBonus3CF'),\r\n                skill='Caldari Frigate', **kwargs)\r\n\r\n\r\nclass Effect12180(BaseEffect):\r\n    \"\"\"\r\n    roleBonusATCruiserMJDFittingReduction\r\n\r\n    Used by:\r\n    Ship: Cobra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Micro Jump Drive',\r\n            'cpu', ship.getModifiedItemAttr('flagCruiserFittingBonusPropMods'), **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Micro Jump Drive',\r\n            'power', ship.getModifiedItemAttr('flagCruiserFittingBonusPropMods'), **kwargs)\r\n\r\n\r\nclass Effect12181(BaseEffect):\r\n    \"\"\"\r\n    ATcruiserTackleBonus1\r\n\r\n    Used by:\r\n    Ship: Cobra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        # Get pilot sec status bonus directly here, instead of going through the intermediary effects\r\n        try:\r\n            sec_status = ship.owner.getPilotSecurity(low_limit=-10, high_limit=0)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            return\r\n        bonus = ship.getModifiedItemAttr('ATcruiserStasisWebifierBonus') * sec_status\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'maxRange', bonus, **kwargs)\r\n\r\n\r\nclass Effect12183(BaseEffect):\r\n    \"\"\"\r\n    shipBonusATpropDuration\r\n\r\n    Used by:\r\n    Ship: Python\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name in ('Propulsion Module', 'Microwarpdrive'),\r\n            'duration', ship.getModifiedItemAttr('shipBonusATprobDuration'), **kwargs)\r\n\r\n\r\nclass Effect12184(BaseEffect):\r\n    \"\"\"\r\n    shipBonusATAllShieldResistCB3\r\n\r\n    Used by:\r\n    Ship: Python\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):\r\n            fit.ship.boostItemAttr(\r\n                'shield{}DamageResonance'.format(dmgType.capitalize()),\r\n                ship.getModifiedItemAttr('shipBonusCB3'),\r\n                skill='Caldari Battleship', **kwargs)\r\n\r\n\r\nclass Effect12185(BaseEffect):\r\n    \"\"\"\r\n    shipBonusBurstJammer ATB\r\n\r\n    Used by:\r\n    Ship: Python\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        # Get pilot sec status bonus directly here, instead of going through the intermediary effects\r\n        try:\r\n            sec_status = ship.owner.getPilotSecurity(low_limit=-10, high_limit=0)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            return\r\n        bonus = ship.getModifiedItemAttr('ATBurstJammerStrengthBonus') * sec_status\r\n        for attr in ('ecmBurstRange', 'scanRadarStrengthBonus', 'scanGravimetricStrengthBonus', 'scanLadarStrengthBonus', 'scanMagnetometricStrengthBonus'):\r\n            fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Burst Jammer', attr, bonus, **kwargs)\r\n\r\n\r\nclass Effect12188(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusSPTDamage\r\n\r\n    Used by:\r\n    Ship: Tholos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Projectile Turret'), 'damageMultiplier',\r\n            container.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect12189(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusMPTDamage\r\n\r\n    Used by:\r\n    Ship: Cenotaph\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Projectile Turret'), 'damageMultiplier',\r\n            container.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect12190(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusRocketDamage\r\n\r\n    Used by:\r\n    Ship: Tholos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for damageType in ('em', 'explosive', 'kinetic', 'thermal'):\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.charge.requiresSkill('Rockets'), f'{damageType}Damage',\r\n                ship.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n\r\n\r\nclass Effect12191(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusHAMDamage\r\n\r\n    Used by:\r\n    Ship: Cenotaph\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for damageType in ('em', 'explosive', 'kinetic', 'thermal'):\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'), f'{damageType}Damage',\r\n                ship.getModifiedItemAttr('shipBonusRole2'), **kwargs)\r\n\r\n\r\nclass Effect12192(BaseEffect):\r\n    \"\"\"\r\n    stasisWebifierResistanceBonusMD1\r\n\r\n    Used by:\r\n    Ship: Tholos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'stasisWebifierResistance', ship.getModifiedItemAttr('shipBonusMD1'),\r\n            skill='Minmatar Destroyer', **kwargs)\r\n\r\n\r\nclass Effect12193(BaseEffect):\r\n    \"\"\"\r\n    stasisWebifierResistanceBonusMBC1\r\n\r\n    Used by:\r\n    Ship: Cenotaph\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr(\r\n            'stasisWebifierResistance', ship.getModifiedItemAttr('shipBonusMBC1'),\r\n            skill='Minmatar Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect12194(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldBoostCD1\r\n\r\n    Used by:\r\n    Ship: Tholos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Operation'), 'shieldBonus',\r\n            src.getModifiedItemAttr('shipBonusCD1'), skill='Caldari Destroyer', **kwargs)\r\n\r\n\r\nclass Effect12195(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldBoostCBC1\r\n\r\n    Used by:\r\n    Ship: Cenotaph\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Operation'), 'shieldBonus',\r\n            src.getModifiedItemAttr('shipBonusCBC1'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect12202(BaseEffect):\r\n    \"\"\"\r\n    ATcruiserTackleBonus2\r\n\r\n    Used by:\r\n    Ship: Cobra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        # Get pilot sec status bonus directly here, instead of going through the intermediary effects\r\n        try:\r\n            sec_status = ship.owner.getPilotSecurity(low_limit=-10, high_limit=0)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            return\r\n        bonus = ship.getModifiedItemAttr('ATcruiserScramblerDisruptorBonus') * sec_status\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler', 'maxRange', bonus, **kwargs)\r\n\r\n\r\nclass Effect12203(BaseEffect):\r\n    \"\"\"\r\n    ATfrigDroneBonus\r\n\r\n    Used by:\r\n    Ship: Sidewinder\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for attr in ('shieldCapacity', 'armorHP', 'hp', 'damageMultiplier'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Light Drone Operation'),\r\n                attr, ship.getModifiedItemAttr('ATfrigDroneBonus'), **kwargs)\r\n\r\n\r\nclass Effect12213(BaseEffect):\r\n    \"\"\"\r\n    shipBonusMPTFalloffMC3\r\n\r\n    Used by:\r\n    Ship: Stabber Fleet Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Projectile Turret'), 'falloff',\r\n            ship.getModifiedItemAttr('ShipBonusMC3'), skill='Minmatar Cruiser', **kwargs)\r\n\r\n\r\nclass Effect12214(BaseEffect):\r\n    \"\"\"\r\n    AtcruiserDroneBonus\r\n\r\n    Used by:\r\n    Ship: Cobra\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for attr in ('shieldCapacity', 'armorHP', 'hp', 'damageMultiplier'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Medium Drone Operation'),\r\n                attr, ship.getModifiedItemAttr('ATcruiserDroneBonus'), **kwargs)\r\n\r\n\r\nclass Effect12217(BaseEffect):\r\n    \"\"\"\r\n    skillDotMaxHPPercentagePerTickBonus\r\n\r\n    Used by:\r\n    Skill: Breacher Pod Launcher Operation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Breacher Pod Launcher Operation'), 'dotMaxHPPercentagePerTick',\r\n            skill.getModifiedItemAttr('dotMaxHPPercentagePerTickBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect12218(BaseEffect):\r\n    \"\"\"\r\n    skillDotMaxDamagePerTickBonus\r\n\r\n    Used by:\r\n    Skill: Breacher Pod Clone Efficacity\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Breacher Pod Launcher Operation'), 'dotMaxDamagePerTick',\r\n            skill.getModifiedItemAttr('dotMaxDamagePerTickBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect12219(BaseEffect):\r\n    \"\"\"\r\n    skillDotPodVelocityBonus\r\n\r\n    Used by:\r\n    Skill: Breacher Pod Projection\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Breacher Pod Launcher Operation'), 'maxVelocity',\r\n            skill.getModifiedItemAttr('speedFactor') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect12220(BaseEffect):\r\n    \"\"\"\r\n    skillDotLauncherRoFBonus\r\n\r\n    Used by:\r\n    Skill: Breacher Pod Rapid Firing\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Breacher Pod Launcher Operation'),\r\n            'speed', skill.getModifiedItemAttr('rofBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect12221(BaseEffect):\r\n    \"\"\"\r\n    skillDotDurationBonus\r\n\r\n    Used by:\r\n    Skill: Breacher Pod Clone Longevity\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Breacher Pod Launcher Operation'), 'dotDuration',\r\n            skill.getModifiedItemAttr('durationBonus') * skill.level, **kwargs)\r\n\r\n\r\nclass Effect12244(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole1CapitalProjectileDamageBonus\r\n\r\n    Used by:\r\n    Ship: Sarathiel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Projectile Turret'),\r\n            'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole1'), **kwargs)\r\n\r\n\r\nclass Effect12245(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDreadnoughtG1FalloffBonus\r\n\r\n    Used by:\r\n    Ship: Sarathiel\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Projectile Turret'), 'falloff',\r\n            ship.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought', **kwargs)\r\n\r\n\r\nclass Effect12246(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRoleAngelDreadMoveWhileSieged\r\n\r\n    Used by:\r\n    Ship: Sarathiel\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Siege Module', 'speedFactor',\r\n            ship.getModifiedItemAttr('shipBonusSiegeSpeedMultiplier'), **kwargs)\r\n\r\n\r\nclass Effect12249(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneDamageHeavyMediumLightMultiplierGBC1\r\n\r\n    Used by:\r\n    Ship: Eos\r\n    Ship: Odysseus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: (\r\n                drone.item.requiresSkill('Light Drone Operation')\r\n                or drone.item.requiresSkill('Medium Drone Operation')\r\n                or drone.item.requiresSkill('Heavy Drone Operation')),\r\n            'damageMultiplier', ship.getModifiedItemAttr('shipBonusGBC1'),\r\n            skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect12250(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSentryDroneDamageAndSentryHPMultiplierGBC3\r\n\r\n    Used by:\r\n    Ship: Eos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for attrName in ('damageMultiplier', 'shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'), attrName,\r\n                ship.getModifiedItemAttr('shipBonusGBC3'), skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect12251(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneHPHeavyMediumLightGBC1\r\n\r\n    Used by:\r\n    Ship: Eos\r\n    Ship: Odysseus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for attrName in ('shieldCapacity', 'armorHP', 'hp'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: (\r\n                    drone.item.requiresSkill('Light Drone Operation')\r\n                    or drone.item.requiresSkill('Medium Drone Operation')\r\n                    or drone.item.requiresSkill('Heavy Drone Operation')),\r\n                attrName, ship.getModifiedItemAttr('shipBonusGBC1'),\r\n                skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect12252(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipDroneTrackingHeavyMediumLightCS2\r\n\r\n    Used by:\r\n    Ship: Eos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: (\r\n                drone.item.requiresSkill('Light Drone Operation')\r\n                or drone.item.requiresSkill('Medium Drone Operation')\r\n                or drone.item.requiresSkill('Heavy Drone Operation')),\r\n            'trackingSpeed', ship.getModifiedItemAttr('eliteBonusCommandShips2'),\r\n            skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect12253(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandShipDroneTrackingSentryCS4\r\n\r\n    Used by:\r\n    Ship: Eos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),\r\n            'trackingSpeed', ship.getModifiedItemAttr('eliteBonusCommandShips4'),\r\n            skill='Command Ships', **kwargs)\r\n\r\n\r\nclass Effect12267(BaseEffect):\r\n    \"\"\"\r\n    shipBloodRaiderCapitalNosNeutralizationSignatureResolutionReduction\r\n\r\n    Used by:\r\n    Ship: Chemosh\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Energy Nosferatu', 'energyNeutralizerSignatureResolution',\r\n            ship.getModifiedItemAttr('shipBloodRaiderCapitalNosSignatureReductionMultiplyer'), **kwargs)\r\n\r\n\r\nclass Effect12275(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorPlateMassEliteBonusLogistics4\r\n\r\n    Used by:\r\n    Ship: Oneiros\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Armor Plate', 'massAddition',\r\n            ship.getModifiedItemAttr('eliteBonusLogistics4'), skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect12276(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldExtenderSigEliteBonusLogistics4\r\n\r\n    Used by:\r\n    Ship: Scimitar\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Shield Extender', 'signatureRadiusAdd',\r\n            ship.getModifiedItemAttr('eliteBonusLogistics4'), skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect12278(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorPlateHitpointAmountEliteBonusLogistics4\r\n\r\n    Used by:\r\n    Ships from group: Logistics (3 of 7)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Armor Plate', 'armorHPBonusAdd',\r\n            ship.getModifiedItemAttr('eliteBonusLogistics4'), skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect12279(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldExtenderCapacityBonusEliteBonusLogistics4\r\n\r\n    Used by:\r\n    Ship: Basilisk\r\n    Ship: Etana\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Shield Extender', 'capacityBonus',\r\n            ship.getModifiedItemAttr('eliteBonusLogistics4'), skill='Logistics Cruisers', **kwargs)\r\n\r\n\r\nclass Effect12283(BaseEffect):\r\n    \"\"\"\r\n    implantSetHackingVirusCoheranceEffect\r\n\r\n    Used by:\r\n    Implants named like: grade Wedge (12 of 12)\r\n    \"\"\"\r\n\r\n    runTime = 'early'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.appliedImplants.filteredItemMultiply(\r\n            lambda imp: imp.item.requiresSkill('Cybernetics'), 'implantSetHackingVirusCoherenceModifier',\r\n            implant.getModifiedItemAttr('implantSetHackingVirusCoherenceOmegaSetBonus'), **kwargs)\r\n\r\n\r\nclass Effect12284(BaseEffect):\r\n    \"\"\"\r\n    implantSetHackingVirusCoheranceModifierEffect\r\n\r\n    Used by:\r\n    Implants named like: grade Wedge (12 of 12)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Data Miners', 'virusCoherence',\r\n            implant.getModifiedItemAttr('implantSetHackingVirusCoherenceModifier'), **kwargs)\r\n\r\n\r\nclass Effect12286(BaseEffect):\r\n    \"\"\"\r\n    shipLPWRangeBonusPCBS1\r\n\r\n    Used by:\r\n    Ship: Babaroga\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Large Precursor Weapon'), 'maxRange',\r\n            ship.getModifiedItemAttr('shipBonusPBS1'), skill='Precursor Battleship', **kwargs)\r\n\r\n\r\nclass Effect12287(BaseEffect):\r\n    \"\"\"\r\n    shipLPWTrackingBonusPCBS1\r\n\r\n    Used by:\r\n    Ship: Babaroga\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Large Precursor Weapon'), 'trackingSpeed',\r\n            ship.getModifiedItemAttr('shipBonusPBS2'), skill='Precursor Battleship', **kwargs)\r\n\r\n\r\nclass Effect12288(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusViolatorsLPWDmgMultiMax1\r\n\r\n    Used by:\r\n    Ship: Babaroga\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Large Precursor Weapon'), 'damageMultiplierBonusMax',\r\n            ship.getModifiedItemAttr('eliteBonusViolators1'), skill='Marauders', **kwargs)\r\n\r\n\r\nclass Effect12296(BaseEffect):\r\n    \"\"\"\r\n    shipLaserCapABC3\r\n\r\n    Used by:\r\n    Ship: Harbinger Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Medium Energy Turret'), 'capacitorNeed',\r\n            ship.getModifiedItemAttr('shipBonusABC3'), skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect12329(BaseEffect):\r\n    \"\"\"\r\n    shipMiningYieldBonusOreDestroyer1\r\n\r\n    Used by:\r\n    Variations of ship: Pioneer (3 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining'), 'miningAmount',\r\n            src.getModifiedItemAttr('shipBonusOreDestroyer1'), skill='Mining Destroyer', **kwargs)\r\n\r\n\r\nclass Effect12330(BaseEffect):\r\n    \"\"\"\r\n    shipMiningRangeBonusOreDestroyer2\r\n\r\n    Used by:\r\n    Ships named like: Pioneer (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining'), 'maxRange',\r\n            src.getModifiedItemAttr('shipBonusOreDestroyer2'), skill='Mining Destroyer', **kwargs)\r\n\r\n\r\nclass Effect12331(BaseEffect):\r\n    \"\"\"\r\n    shipGasCloudDurationBonusOreDestroyer3\r\n\r\n    Used by:\r\n    Ships named like: Pioneer (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Gas Cloud Harvesting'), 'duration',\r\n            src.getModifiedItemAttr('shipBonusOreDestroyer3'), skill='Mining Destroyer', **kwargs)\r\n\r\n\r\nclass Effect12529(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorResistsUniformSOEABC1\r\n\r\n    Used by:\r\n    Ship: Odysseus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')\r\n        for damageType in damageTypes:\r\n            fit.ship.boostItemAttr(\r\n                f'armor{damageType}DamageResonance', ship.getModifiedItemAttr('shipBonusABC1'),\r\n                skill='Amarr Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect12530(BaseEffect):\r\n    \"\"\"\r\n    expeditionCommandDurationBonus\r\n\r\n    Used by:\r\n    Skill: Expedition Command\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Expedition Command'), 'buffDuration',\r\n            src.getModifiedItemAttr('durationBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect12531(BaseEffect):\r\n    \"\"\"\r\n    expeditionCommandStrengthBonus\r\n\r\n    Used by:\r\n    Skill: Expedition Command Specialist\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        lvl = src.level\r\n        for i in (1, 2, 3, 4):\r\n            fit.modules.filteredChargeBoost(\r\n                lambda mod: mod.item.requiresSkill('Expedition Command'), f'warfareBuff{i}Multiplier',\r\n                src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)\r\n\r\n\r\nclass Effect12537(BaseEffect):\r\n    \"\"\"\r\n    shipBonusAnalyzerRangeECS1\r\n\r\n    Used by:\r\n    Ship: Odysseus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, implant, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Data Miners', 'maxRange',\r\n            implant.getModifiedItemAttr('shipBonusSoEECS1'), skill='Expedition Command Ships', **kwargs)\r\n\r\n\r\nclass Effect12538(BaseEffect):\r\n    \"\"\"\r\n    shipBonusGasCloudScoopDurationECS2\r\n\r\n    Used by:\r\n    Ship: Odysseus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Gas Cloud Harvesting'), 'duration',\r\n            src.getModifiedItemAttr('shipBonusSoEECS2'), skill='Expedition Command Ships', **kwargs)\r\n\r\n\r\nclass Effect12539(BaseEffect):\r\n    \"\"\"\r\n    shipBonusExplorationCommandStrengthDurationECS3\r\n\r\n    Used by:\r\n    Ship: Odysseus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Expedition Command'), attrName,\r\n                src.getModifiedItemAttr('shipBonusSoEECS3'), skill='Expedition Command Ships', **kwargs)\r\n\r\n\r\nclass Effect12540(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorCommandStrengthDurationECS4\r\n\r\n    Used by:\r\n    Ship: Odysseus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Armored Command'), attrName,\r\n                src.getModifiedItemAttr('shipBonusSoEECS4'), skill='Expedition Command Ships', **kwargs)\r\n\r\n\r\nclass Effect12541(BaseEffect):\r\n    \"\"\"\r\n    shipBonusGasCloudScoopCPUreductionSOEECSrole\r\n\r\n    Used by:\r\n    Ship: Odysseus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Gas Cloud Harvesting'), 'cpu',\r\n            src.getModifiedItemAttr('shipBonusGasCloudScoopCPUreductionSOEECSrole'), **kwargs)\r\n\r\n\r\nclass Effect12542(BaseEffect):\r\n    \"\"\"\r\n    expeditionCommandMindlink\r\n\r\n    Used by:\r\n    Implants named like: Expedition Command Mindlink (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Expedition Command'), attrName,\r\n                src.getModifiedItemAttr('mindlinkBonus'), **kwargs)\r\n\r\n\r\nclass Effect12543(BaseEffect):\r\n    \"\"\"\r\n    shipBonusRole6ExpeditionBurstDurationSOEECS\r\n\r\n    Used by:\r\n    Ship: Odysseus\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Expedition Command'), 'buffDuration',\r\n            src.getModifiedItemAttr('shipBonusRole6'), **kwargs)\r\n\r\n\r\nclass Effect12554(BaseEffect):\r\n    \"\"\"\r\n    shipDroneHPandDamageOreDestroyer2\r\n\r\n    Used by:\r\n    Ship: Outrider\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for attr in ('shieldCapacity', 'armorHP', 'hp', 'damageMultiplier'):\r\n            fit.drones.filteredItemBoost(\r\n                lambda drone: drone.item.requiresSkill('Drones'), attr,\r\n                ship.getModifiedItemAttr('shipBonusOreDestroyer2'), skill='Mining Destroyer', **kwargs)\r\n\r\n\r\nclass Effect12555(BaseEffect):\r\n    \"\"\"\r\n    shipBonusShieldAllResistancesOreDestroyer3\r\n\r\n    Used by:\r\n    Ship: Outrider\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        for type in ('kinetic', 'thermal', 'explosive', 'em'):\r\n            fit.ship.boostItemAttr(\r\n                f'shield{type.capitalize()}DamageResonance', ship.getModifiedItemAttr('shipBonusOreDestroyer3'),\r\n                skill='Mining Destroyer', **kwargs)\r\n\r\n\r\nclass Effect12556(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusCommandDestroyerMining1\r\n\r\n    Used by:\r\n    Ship: Outrider\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):\r\n            fit.modules.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Mining Foreman'), attrName,\r\n                src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers', **kwargs)\r\n\r\n\r\nclass Effect12557(BaseEffect):\r\n    \"\"\"\r\n    shipBonusGasCloudDurationRoleBonusOreMiningDestroyer\r\n\r\n    Used by:\r\n    Ships named like: Pioneer (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Gas Cloud Harvesting'), 'duration',\r\n            src.getModifiedItemAttr('shipBonusGasCloudDurationRoleBonusOreMiningDestroyer'), **kwargs)\r\n\r\n\r\nclass Effect12559(BaseEffect):\r\n    \"\"\"\r\n    shipShieldBoosterBonusOreExecutiveDestroyer4\r\n\r\n    Used by:\r\n    Ship: Pioneer Consortium Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Operation'), 'shieldBonus',\r\n            src.getModifiedItemAttr('shipBonusOreDestroyer4'), skill='Mining Destroyer', **kwargs)\r\n\r\n\r\nclass Effect12560(BaseEffect):\r\n    \"\"\"\r\n    oreExecutiveRoleBonusSalvageDroneAdditionalAccessDifficultyRoleBonus\r\n\r\n    Used by:\r\n    Ships named like: Consortium Issue (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemIncrease(\r\n            lambda drone: drone.item.requiresSkill('Salvage Drone Operation'), 'accessDifficultyBonus',\r\n            container.getModifiedItemAttr('oreExecutiveRoleBonusSalvageDroneAdditionalAccessDifficulty'), **kwargs)\r\n\r\n\r\nclass Effect12563(BaseEffect):\r\n    \"\"\"\r\n    shipShieldBoosterBonusOreExecutiveFrigate\r\n\r\n    Used by:\r\n    Ship: Venture Consortium Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Shield Operation'), 'shieldBonus',\r\n            src.getModifiedItemAttr('OreMiningFrigateExecutiveShieldBoosterShipBonus'),\r\n            skill='Mining Frigate', **kwargs)\r\n\r\n\r\nclass Effect12565(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneTrackingSpeedGBC1\r\n\r\n    Used by:\r\n    Ship: Myrmidon Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'trackingSpeed',\r\n            ship.getModifiedItemAttr('shipBonusGBC1'), skill='Gallente Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect12566(BaseEffect):\r\n    \"\"\"\r\n    shipBonusDroneMWDboostrole6\r\n\r\n    Used by:\r\n    Ship: Mamba\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda drone: drone.item.requiresSkill('Drones'), 'maxVelocity',\r\n            ship.getModifiedItemAttr('shipBonusRole6'), **kwargs)\r\n\r\n\r\nclass Effect12567(BaseEffect):\r\n    \"\"\"\r\n    shipBonusSmallProjectileFalloffRole6\r\n\r\n    Used by:\r\n    Ship: Mekubal\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Small Projectile Turret'), 'falloff',\r\n            ship.getModifiedItemAttr('shipBonusRole6'), **kwargs)\r\n\r\n\r\nclass Effect12568(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusJustWarpScramblerRangeBonusBlops1\r\n\r\n    Used by:\r\n    Ship: Sin\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Navigation'), 'maxRange',\r\n            src.getModifiedItemAttr('eliteBonusBlackOps1'), skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect12569(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusJustWarpScramblerStrengthBonusBlops3\r\n\r\n    Used by:\r\n    Ship: Sin\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemIncrease(\r\n            lambda mod: mod.item.requiresSkill('Navigation'), 'warpScrambleStrength',\r\n            ship.getModifiedItemAttr('eliteBonusBlackOps3'), skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect12573(BaseEffect):\r\n    \"\"\"\r\n    shipBonusLargeEnergyTurretCapReductionAB3\r\n\r\n    Used by:\r\n    Ship: Apocalypse\r\n    Ship: Apocalypse Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Large Energy Turret'), 'capacitorNeed',\r\n            ship.getModifiedItemAttr('shipBonusAB3'), skill='Amarr Battleship', **kwargs)\r\n\r\n\r\nclass Effect12575(BaseEffect):\r\n    \"\"\"\r\n    modeRemoteArmorRepairCapacitorCostPostDiv\r\n\r\n    Used by:\r\n    Module: Confessor Defense Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',\r\n            1 / ship.getModifiedItemAttr('modeRemoteRepairCapacitorCostPostDiv'), **kwargs)\r\n\r\n\r\nclass Effect12576(BaseEffect):\r\n    \"\"\"\r\n    modeRemoteShieldRepairCapacitorCostPostDiv\r\n\r\n    Used by:\r\n    Module: Svipul Defense Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'capacitorNeed',\r\n            1 / ship.getModifiedItemAttr('modeRemoteRepairCapacitorCostPostDiv'), **kwargs)\r\n\r\n\r\nclass Effect12577(BaseEffect):\r\n    \"\"\"\r\n    modeRemoteRepairAmountArmorPostDiv\r\n\r\n    Used by:\r\n    Module: Confessor Defense Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'armorDamageAmount',\r\n            1 / ship.getModifiedItemAttr('modeRemoteRepairBonusPostDiv'), **kwargs)\r\n\r\n\r\nclass Effect12578(BaseEffect):\r\n    \"\"\"\r\n    modeRemoteRepairAmountShieldPostDiv\r\n\r\n    Used by:\r\n    Module: Svipul Defense Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'shieldBonus',\r\n            1 / ship.getModifiedItemAttr('modeRemoteRepairBonusPostDiv'), **kwargs)\r\n\r\n\r\nclass Effect12579(BaseEffect):\r\n    \"\"\"\r\n    shipBonusArmorPlateMassGB3\r\n\r\n    Used by:\r\n    Ship: Megathron Navy Issue\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Armor Plate', 'massAddition',\r\n            ship.getModifiedItemAttr('shipBonusGB3'), skill='Gallente Battleship', **kwargs)\r\n\r\n\r\nclass Effect12591(BaseEffect):\r\n    \"\"\"\r\n    miningSensorArrayScannerUpgrade\r\n\r\n    Used by:\r\n    Modules from group: Mining Survey Chipset (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, mod, context, projectionRange, **kwargs):\r\n        fit.ship.increaseItemAttr('miningScannerUpgrade', mod.getModifiedItemAttr('miningScannerUpgrade'), **kwargs)\r\n\r\n\r\nclass Effect12592(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierA5SupportFighterBonusEffect\r\n\r\n    Used by:\r\n    Ship: Archon\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterAbilityEnergyNeutralizerAmount',\r\n            src.getModifiedItemAttr('shipBonusCarrierA5'), skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect12593(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierC5SupportFighterBonusEffect\r\n\r\n    Used by:\r\n    Ship: Chimera\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        for sensorType in ('Radar', 'Magnetometric', 'Ladar', 'Gravimetric'):\r\n            fit.fighters.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Support Fighters'), f'fighterAbilityECMStrength{sensorType}',\r\n                src.getModifiedItemAttr('shipBonusCarrierC5'), skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect12594(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierG5SupportFighterBonusSpeed\r\n\r\n    Used by:\r\n    Ship: Thanatos\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterAbilityAfterburnerSpeedBonus',\r\n            src.getModifiedItemAttr('shipBonusCarrierG5'), skill='Gallente Carrier', **kwargs)\r\n\r\n\r\nclass Effect12595(BaseEffect):\r\n    \"\"\"\r\n    shipBonusCarrierM5SupportFighterBonusEffect\r\n\r\n    Used by:\r\n    Ship: Nidhoggur\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.fighters.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterAbilityStasisWebifierSpeedPenalty',\r\n            src.getModifiedItemAttr('shipBonusCarrierM5'), skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect12596(BaseEffect):\r\n    \"\"\"\r\n    shipMiningBonusYieldOreDestroyerRoleBonus\r\n\r\n    Used by:\r\n    Ships named like: Pioneer (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining'), 'miningAmount',\r\n            src.getModifiedItemAttr('shipMiningBonusYieldOreDestroyerRoleBonus'), **kwargs)\r\n\r\n\r\nclass Effect12597(BaseEffect):\r\n    \"\"\"\r\n    moduleBonusIntegratedSensorArray\r\n\r\n    Used by:\r\n    Module: Integrated Sensor Array\r\n    \"\"\"\r\n\r\n    type = 'active'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.ship.boostItemAttr('scanResolution', src.getModifiedItemAttr('scanResolutionBonus'), stackingPenalties=True, **kwargs)\r\n        fit.ship.multiplyItemAttr('maxTargetRange', src.getModifiedItemAttr('maxTargetRangeMultiplier'), stackingPenalties=True, **kwargs)\r\n        fit.ship.forceItemAttr('maximumRangeCap', src.getModifiedItemAttr('maximumRangeCap'), **kwargs)\r\n\r\n        for scanType in ('Magnetometric', 'Ladar', 'Gravimetric', 'Radar'):\r\n            attr = 'scan{}Strength'.format(scanType)\r\n            bonus = src.getModifiedItemAttr('scan{}StrengthPercent'.format(scanType))\r\n            fit.ship.boostItemAttr(attr, bonus, stackingPenalties=True, **kwargs)\r\n            fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), attr, bonus,\r\n                                           stackingPenalties=True, **kwargs)\r\n\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Shield Operation') or mod.item.requiresSkill('Capital Repair Systems'),\r\n            'duration', src.getModifiedItemAttr('siegeLocalLogisticsDurationBonus'), **kwargs)\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Shield Operation') or mod.item.requiresSkill('Capital Repair Systems'),\r\n            'capacitorNeed', src.getModifiedItemAttr('siegeLocalLogisticsCapacitorNeedBonus'), **kwargs)\r\n\r\n\r\nclass Effect12739(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNeutOptimalAC2\r\n\r\n    Used by:\r\n    Ship: Ashimmu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',\r\n            src.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect12740(BaseEffect):\r\n    \"\"\"\r\n    shipBonusEnergyNosOptimalAC2\r\n\r\n    Used by:\r\n    Ship: Ashimmu\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',\r\n            src.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser', **kwargs)\r\n\r\n\r\nclass Effect12753(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusOREExecutiveIssueMiningCriticalHitChanceBonus\r\n\r\n    Used by:\r\n    Ships named like: Consortium Issue (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining'), 'miningCritChance',\r\n            ship.getModifiedItemAttr('shipRoleBonusOREExecutiveIssueMiningCriticalHitChance'), **kwargs)\r\n\r\n\r\nclass Effect12755(BaseEffect):\r\n    \"\"\"\r\n    miningCritChanceSkillPostPercentLRSMBonus\r\n\r\n    Used by:\r\n    Skill: Mining Precision\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining') or mod.item.requiresSkill('Ice Harvesting'),\r\n            'miningCritChance', src.getModifiedItemAttr('miningCritChanceBonus') * src.level, **kwargs)\r\n\r\n\r\nclass Effect12757(BaseEffect):\r\n    \"\"\"\r\n    miningCritYieldSkillPostPercentLRSMBonus\r\n\r\n    Used by:\r\n    Skill: Mining Exploitation\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining') or mod.item.requiresSkill('Ice Harvesting'),\r\n            'miningCritBonusYield', src.getModifiedItemAttr('miningCritBonusYieldBonus') * src.level, **kwargs)\r\n\r\n\r\nclass Effect12758(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusAnhingaLargeMissilePowerFittingBonus\r\n\r\n    Used by:\r\n    Ship: Anhinga\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.group.name in (\r\n                'Missile Launcher Rapid Heavy',\r\n                'Missile Launcher Cruise',\r\n                'Missile Launcher Torpedo'),\r\n            'power', ship.getModifiedItemAttr('AnhingaLargeMissilePowerFittingBonus'), **kwargs)\r\n\r\n\r\nclass Effect12759(BaseEffect):\r\n    \"\"\"\r\n    miningCritChanceBonusOreIceOnline\r\n\r\n    Used by:\r\n    Modules from group: Mining Survey Chipset (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining') or mod.item.requiresSkill('Ice Harvesting'),\r\n            'miningCritChance', src.getModifiedItemAttr('miningCritChanceBonus'), **kwargs)\r\n\r\n\r\nclass Effect12760(BaseEffect):\r\n    \"\"\"\r\n    miningCritBonusYieldBonusOreIceOnline\r\n\r\n    Used by:\r\n    Modules from group: Mining Survey Chipset (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mining') or mod.item.requiresSkill('Ice Harvesting'),\r\n            'miningCritBonusYield', src.getModifiedItemAttr('miningCritBonusYieldBonus'), **kwargs)\r\n\r\n\r\nclass Effect12761(BaseEffect):\r\n    \"\"\"\r\n    miningWasteChanceBonusOreIceOnline\r\n\r\n    Used by:\r\n    Modules from group: Mining Survey Chipset (4 of 4)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: (mod.item.requiresSkill('Mining')\r\n                         or mod.item.requiresSkill('Ice Harvesting')\r\n                         or mod.item.requiresSkill('Gas Cloud Harvesting')),\r\n            'miningWasteProbability', src.getModifiedItemAttr('miningWasteProbabilityBonus'),\r\n            stackingPenalties=True, **kwargs)\r\n\r\n\r\nclass Effect12764(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusAnhingaLargeMissileCpuFittingBonus\r\n\r\n    Used by:\r\n    Ship: Anhinga\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.group.name in (\r\n                'Missile Launcher Rapid Heavy',\r\n                'Missile Launcher Cruise',\r\n                'Missile Launcher Torpedo'),\r\n            'cpu', ship.getModifiedItemAttr('AnhingaLargeMissileCpuFittingBonus'), **kwargs)\r\n\r\n\r\nclass Effect12766(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoAndCruiseMissileExplosionRadiusCBC1\r\n\r\n    Used by:\r\n    Ship: Anhinga\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Torpedoes') or mod.charge.requiresSkill('Cruise Missiles'),\r\n            'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCBC1'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect12767(BaseEffect):\r\n    \"\"\"\r\n    tacticalBonusSkuaDefensiveShieldRechargeRate\r\n\r\n    Used by:\r\n    Module: Skua Defense Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.ship.multiplyItemAttr('shieldRechargeRate', 1 / module.getModifiedItemAttr('modeShieldRechargePostDiv'), **kwargs)\r\n\r\n\r\nclass Effect12771(BaseEffect):\r\n    \"\"\"\r\n    shipRoleBonusPerseveranceIceMiningCriticalHitChanceBonus\r\n\r\n    Used by:\r\n    Ship: Perseverance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'miningCritChance',\r\n            ship.getModifiedItemAttr('shipRoleBonusPerseveranceIceMiningCriticalHitChance'), **kwargs)\r\n\r\n\r\nclass Effect12772(BaseEffect):\r\n    \"\"\"\r\n    shipIceMiningCriticalHitChanceBonusOreDestroyer1\r\n\r\n    Used by:\r\n    Ship: Perseverance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'miningCritChance',\r\n            ship.getModifiedItemAttr('shipBonusOreDestroyer1'), skill='Mining Destroyer', **kwargs)\r\n\r\n\r\nclass Effect12773(BaseEffect):\r\n    \"\"\"\r\n    shipIceMiningCriticalHitYieldBonusOreDestroyer2\r\n\r\n    Used by:\r\n    Ship: Perseverance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'miningCritBonusYield',\r\n            ship.getModifiedItemAttr('shipBonusOreDestroyer2'), skill='Mining Destroyer', **kwargs)\r\n\r\n\r\nclass Effect12774(BaseEffect):\r\n    \"\"\"\r\n    shipIceMiningRangeBonusOreDestroyer3\r\n\r\n    Used by:\r\n    Ship: Perseverance\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'maxRange',\r\n            ship.getModifiedItemAttr('shipBonusOreDestroyer3'), skill='Mining Destroyer', **kwargs)\r\n\r\n\r\nclass Effect12777(BaseEffect):\r\n    \"\"\"\r\n    roleBonusCDLinksPGCPUReductionSkua\r\n\r\n    Used by:\r\n    Ship: Skua\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'cpu',\r\n                                      src.getModifiedItemAttr('roleBonusCD'), **kwargs)\r\n        fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'power',\r\n                                      src.getModifiedItemAttr('roleBonusCD'), **kwargs)\r\n\r\n\r\nclass Effect12790(BaseEffect):\r\n    \"\"\"\r\n    shipBonusTorpedoAndCruiseMissileExplosionVelocityCBC2\r\n\r\n    Used by:\r\n    Ship: Anhinga\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.requiresSkill('Torpedoes') or mod.charge.requiresSkill('Cruise Missiles'),\r\n            'aoeVelocity', ship.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser', **kwargs)\r\n\r\n\r\nclass Effect12794(BaseEffect):\r\n    \"\"\"\r\n    shipRocketMaxVelocityBonusPostDivSkua\r\n\r\n    Used by:\r\n    Module: Skua Sharpshooter Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(\r\n            lambda mod: mod.charge.requiresSkill('Rockets'),\r\n            'maxVelocity', 1 / module.getModifiedItemAttr('modeRocketMissileMaxVelocityBonusPostDivSkua'),\r\n            stackingPenalties=True, penaltyGroup='postDiv', **kwargs)\r\n\r\n\r\nclass Effect12795(BaseEffect):\r\n    \"\"\"\r\n    shipLightMissileMaxVelocityBonusPostDivSkua\r\n\r\n    Used by:\r\n    Module: Skua Sharpshooter Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(\r\n            lambda mod: mod.charge.requiresSkill('Light Missiles'),\r\n            'maxVelocity', 1 / module.getModifiedItemAttr('modeLightMissileMaxVelocityBonusPostDivSkua'),\r\n            stackingPenalties=True, penaltyGroup='postDiv', **kwargs)\r\n\r\n\r\nclass Effect12796(BaseEffect):\r\n    \"\"\"\r\n    shipModeMissileFlightTimePostDiv\r\n\r\n    Used by:\r\n    Module: Anhinga Primary Mode\r\n    Module: Anhinga Secondary Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'explosionDelay', 1 / ship.getModifiedItemAttr('modeAnhingaMissileFlightTimePostDiv'),\r\n            stackingPenalties=True, penaltyGroup='postDiv', **kwargs)\r\n\r\n\r\nclass Effect12798(BaseEffect):\r\n    \"\"\"\r\n    shipModeMissileVelocityPostDiv\r\n\r\n    Used by:\r\n    Module: Anhinga Primary Mode\r\n    Module: Anhinga Tertiary Mode\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, module, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(\r\n            lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),\r\n            'maxVelocity', 1 / module.getModifiedItemAttr('modeAnhingaMissileMaxVelocityPostDiv'),\r\n            stackingPenalties=True, penaltyGroup='postDiv', **kwargs)\r\n\r\n\r\nclass Effect12799(BaseEffect):\r\n    \"\"\"\r\n    shipModeAnhingaCruiseLauncherTorpedoLauncherRapidHeavyLauncherROFPostDiv\r\n\r\n    Used by:\r\n    Modules named like: Anhinga Mode (3 of 3)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemMultiply(\r\n            lambda mod: mod.item.group.name in (\r\n                'Missile Launcher Rapid Heavy',\r\n                'Missile Launcher Cruise',\r\n                'Missile Launcher Torpedo'),\r\n            'speed', 1 / ship.getModifiedItemAttr('modeAnhingaCruiseLauncherTorpedoLauncherRapidHeavyLauncherROFPostDiv'),\r\n            stackingPenalties=True, penaltyGroup='postDiv',**kwargs)\r\n\r\n\r\nclass Effect12802(BaseEffect):\r\n    \"\"\"\r\n    MutatedMiningDroneOperationMiningAmountBonusPostPercentMiningDroneAmountPercentChar\r\n\r\n    Used by:\r\n    Skill: Mutated Drone Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        fit.drones.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Mutated Drone Specialization'), 'miningAmount',\r\n            src.getModifiedItemAttr('miningAmountBonus') * src.level, **kwargs)\r\n\r\n\r\nclass Effect12811(BaseEffect):\r\n    \"\"\"\r\n    eliteBonusStasisGrapplerMaxRangeBlackOps3\r\n\r\n    Used by:\r\n    Ship: Panther\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.group.name == 'Stasis Grappler', 'maxRange',\r\n            ship.getModifiedItemAttr('eliteBonusBlackOps3'), skill='Black Ops', **kwargs)\r\n\r\n\r\nclass Effect12835(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryC5CapBoosterStrength\r\n\r\n    Used by:\r\n    Ship: Minokawa\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.group.name == 'Capacitor Booster Charge',\r\n            'capacitorBonus', ship.getModifiedItemAttr('shipBonusForceAuxiliaryC5'),\r\n            skill='Caldari Carrier', **kwargs)\r\n\r\n\r\nclass Effect12836(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryA5CapBoosterStrength\r\n\r\n    Used by:\r\n    Variations of ship: Apostle (2 of 2)\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.group.name == 'Capacitor Booster Charge',\r\n            'capacitorBonus', ship.getModifiedItemAttr('shipBonusForceAuxiliaryA5'),\r\n            skill='Amarr Carrier', **kwargs)\r\n\r\n\r\nclass Effect12837(BaseEffect):\r\n    \"\"\"\r\n    shipBonusForceAuxiliaryM5CapBoosterStrength\r\n\r\n    Used by:\r\n    Ship: Lif\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, ship, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeBoost(\r\n            lambda mod: mod.charge.group.name == 'Capacitor Booster Charge',\r\n            'capacitorBonus', ship.getModifiedItemAttr('shipBonusForceAuxiliaryM5'),\r\n            skill='Minmatar Carrier', **kwargs)\r\n\r\n\r\nclass Effect12838(BaseEffect):\r\n    \"\"\"\r\n    expeditionCommandBurstProbeStrengthBonusCharIDEffectPassivePostMul\r\n\r\n    Used by:\r\n    Modules from group: Scan Probe Launcher (8 of 8)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(\r\n            lambda mod: mod.charge.requiresSkill('Astrometrics'), 'baseSensorStrength',\r\n            container.getModifiedItemAttr('expeditionCommandBurstProbeStrengthBonusCharID'),\r\n            stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect12839(BaseEffect):\r\n    \"\"\"\r\n    expeditionCommandBurstProbeDeviationBonusCharIDEffectPassivePostMul\r\n\r\n    Used by:\r\n    Modules from group: Scan Probe Launcher (8 of 8)\r\n    \"\"\"\r\n\r\n    runTime = 'late'\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, container, context, projectionRange, **kwargs):\r\n        fit.modules.filteredChargeMultiply(\r\n            lambda mod: mod.charge.requiresSkill('Astrometrics'), 'baseMaxScanDeviation',\r\n            container.getModifiedItemAttr('expeditionCommandBurstProbeDeviationBonusCharID'),\r\n            stackingPenalties=True, penaltyGroup='postMul', **kwargs)\r\n\r\n\r\nclass Effect12844(BaseEffect):\r\n    \"\"\"\r\n    skillBonusAmarrFighters\r\n\r\n    Used by:\r\n    Skill: Amarr Fighter Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        boost = src.getModifiedItemAttr('damageMultiplierBonus') * src.level\r\n        for attr in (\r\n                'fighterAbilityAttackTurretDamageMultiplier',\r\n                'fighterAbilityAttackMissileDamageMultiplier',\r\n                'fighterAbilityMissilesDamageMultiplier'\r\n        ):\r\n            fit.fighters.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Amarr Fighter Specialization'),\r\n                attr, boost, **kwargs)\r\n\r\n\r\nclass Effect12846(BaseEffect):\r\n    \"\"\"\r\n    skillBonusCaldariFighters\r\n\r\n    Used by:\r\n    Skill: Caldari Fighter Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        boost = src.getModifiedItemAttr('damageMultiplierBonus') * src.level\r\n        for attr in (\r\n                'fighterAbilityAttackTurretDamageMultiplier',\r\n                'fighterAbilityAttackMissileDamageMultiplier',\r\n                'fighterAbilityMissilesDamageMultiplier'\r\n        ):\r\n            fit.fighters.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Caldari Fighter Specialization'),\r\n                attr, boost, **kwargs)\r\n\r\n\r\nclass Effect12847(BaseEffect):\r\n    \"\"\"\r\n    skillBonusGallenteFighters\r\n\r\n    Used by:\r\n    Skill: Gallente Fighter Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        boost = src.getModifiedItemAttr('damageMultiplierBonus') * src.level\r\n        for attr in (\r\n                'fighterAbilityAttackTurretDamageMultiplier',\r\n                'fighterAbilityAttackMissileDamageMultiplier',\r\n                'fighterAbilityMissilesDamageMultiplier'\r\n        ):\r\n            fit.fighters.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Gallente Fighter Specialization'),\r\n                attr, boost, **kwargs)\r\n\r\n\r\nclass Effect12848(BaseEffect):\r\n    \"\"\"\r\n    skillBonusMinmatarFighters\r\n\r\n    Used by:\r\n    Skill: Minmatar Fighter Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, src, context, projectionRange, **kwargs):\r\n        boost = src.getModifiedItemAttr('damageMultiplierBonus') * src.level\r\n        for attr in (\r\n                'fighterAbilityAttackTurretDamageMultiplier',\r\n                'fighterAbilityAttackMissileDamageMultiplier',\r\n                'fighterAbilityMissilesDamageMultiplier'\r\n        ):\r\n            fit.fighters.filteredItemBoost(\r\n                lambda mod: mod.item.requiresSkill('Minmatar Fighter Specialization'),\r\n                attr, boost, **kwargs)\r\n\r\n\r\nclass Effect12862(BaseEffect):\r\n    \"\"\"\r\n    extralargeDisintegratorSkillDmgBonus\r\n\r\n    Used by:\r\n    Skill: Capital Disintegrator Specialization\r\n    \"\"\"\r\n\r\n    type = 'passive'\r\n\r\n    @staticmethod\r\n    def handler(fit, skill, context, projectionRange, **kwargs):\r\n        fit.modules.filteredItemBoost(\r\n            lambda mod: mod.item.requiresSkill('Capital Disintegrator Specialization'),\r\n            'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)\r\n"
  },
  {
    "path": "eos/eqBase.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\n\r\nclass EqBase:\r\n    ID = None\r\n\r\n    def __eq__(self, other):\r\n        return type(self) == type(other) and self.ID == other.ID\r\n\r\n    def __ne__(self, other):\r\n        return type(self) != type(other) or self.ID != other.ID\r\n\r\n    def __hash__(self):\r\n        return id(type(self)) + self.ID\r\n"
  },
  {
    "path": "eos/events.py",
    "content": "# Decided to put this in it's own file so that we can easily choose not to import it (thanks to mac-deprecated builds =/)\r\n\r\nimport datetime\r\nfrom sqlalchemy.event import listen\r\nfrom sqlalchemy.orm.collections import InstrumentedList\r\n\r\nfrom eos.db.saveddata.fit import projectedFitSourceRel, boostedOntoRel\r\n\r\nfrom eos.saveddata.fit import Fit\r\nfrom eos.saveddata.module import Module\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom eos.saveddata.cargo import Cargo\r\nfrom eos.saveddata.implant import Implant\r\nfrom eos.saveddata.booster import Booster\r\n\r\nignored_rels = [\r\n    projectedFitSourceRel,\r\n    boostedOntoRel\r\n]\r\n\r\n\r\ndef update_fit_modified(target, value, oldvalue, initiator):\r\n    if not target.owner:\r\n        return\r\n\r\n    if value != oldvalue:\r\n        # some things (like Implants) have a backref to the fit, which actually produces a list.\r\n        # In this situation, simply take the 0 index to get to the fit.\r\n        # There may be cases in the future in which there are multiple fits, so this should be\r\n        # looked at more indepth later\r\n        if isinstance(target.owner, InstrumentedList):\r\n            parent = target.owner[0]\r\n        else:\r\n            parent = target.owner\r\n\r\n        # ensure this is a fit we're dealing with\r\n        if isinstance(parent, Fit):\r\n            parent.modified = datetime.datetime.now()\r\n\r\n\r\ndef apply_col_listeners(target, context):\r\n    # We only want to set these events when the module is first loaded (otherwise events will fire during the initial\r\n    # population of data). This runs through all columns and sets up \"set\" events on each column. We do it with each\r\n    # column because the alternative would be to do a before/after_update for the Mapper itself, however we're only\r\n    # allowed to change the local attributes during those events as that's inter-flush.\r\n    # See http://docs.sqlalchemy.org/en/rel_1_0/orm/session_events.html#mapper-level-events\r\n\r\n    # @todo replace with `inspect(Module).column_attrs` when mac binaries are updated\r\n\r\n    manager = getattr(target.__class__, \"_sa_class_manager\", None)\r\n    if manager:\r\n        for col in manager.mapper.column_attrs:\r\n            listen(col, 'set', update_fit_modified)\r\n\r\n\r\ndef rel_listener(target, value, initiator):\r\n    if not target or (isinstance(value, Module) and value.isEmpty):\r\n        return\r\n\r\n    target.modified = datetime.datetime.now()\r\n\r\n\r\ndef apply_rel_listeners(target, context):\r\n    # We only want to see these events when the fit is first loaded (otherwise events will fire during the initial\r\n    # population of data). This sets listeners for all the relationships on fits. This allows us to update the fit's\r\n    # modified date whenever something is added/removed from fit\r\n    # See http://docs.sqlalchemy.org/en/rel_1_0/orm/events.html#sqlalchemy.orm.events.InstanceEvents.load\r\n\r\n    # todo: when we can, move over to `inspect(es_Fit).relationships` (when mac binaries are updated)\r\n    manager = getattr(target.__class__, \"_sa_class_manager\", None)\r\n    if manager:\r\n        for rel in manager.mapper.relationships:\r\n            if rel in ignored_rels:\r\n                continue\r\n            listen(rel, 'append', rel_listener)\r\n            listen(rel, 'remove', rel_listener)\r\n\r\n\r\nlisten(Fit, 'load', apply_rel_listeners)\r\nlisten(Module, 'load', apply_col_listeners)\r\nlisten(Drone, 'load', apply_col_listeners)\r\nlisten(Fighter, 'load', apply_col_listeners)\r\nlisten(Cargo, 'load', apply_col_listeners)\r\nlisten(Implant, 'load', apply_col_listeners)\r\nlisten(Booster, 'load', apply_col_listeners)\r\n"
  },
  {
    "path": "eos/gamedata.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\n\r\nimport json\r\nimport re\r\n\r\nfrom logbook import Logger\r\nfrom sqlalchemy.orm import reconstructor\r\n\r\nimport eos.effects\r\nimport eos.db\r\nfrom eos.saveddata.price import Price as types_Price\r\nfrom .eqBase import EqBase\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\ndef _t(x):\r\n    return x\r\n\r\n\r\nclass Effect(EqBase):\r\n    \"\"\"\r\n    The effect handling class, it is used to proxy and load effect handler code,\r\n    as well as a container for extra information regarding effects coming\r\n    from the gamedata db.\r\n\r\n    @ivar ID: the ID of this effect\r\n    @ivar name: The name of this effect\r\n    @ivar description: The description of this effect, this is usualy pretty useless\r\n    @ivar published: Wether this effect is published or not, unpublished effects are typicaly unused.\r\n    \"\"\"\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        \"\"\"\r\n        Reconstructor, composes the object as we grab it from the database\r\n        \"\"\"\r\n        self.__generated = False\r\n        self.__effectDef = None\r\n\r\n    @property\r\n    def handler(self):\r\n        \"\"\"\r\n        The handler for the effect,\r\n        It is automaticly fetched from effects/<effectName>.py if the file exists\r\n        the first time this property is accessed.\r\n        \"\"\"\r\n        if not self.__generated:\r\n            pyfalog.debug(\"Generating effect: {0} ({1}) [runTime: {2}]\", self.name, self.effectID, self.runTime)\r\n            self.__generateHandler()\r\n\r\n        return self.__handler\r\n\r\n    @property\r\n    def runTime(self):\r\n        \"\"\"\r\n        The runTime that this effect should be run at.\r\n        This property is also automaticly fetched from effects/<effectName>.py if the file exists.\r\n        the possible values are:\r\n        None, \"early\", \"normal\", \"late\"\r\n        None and \"normal\" are equivalent, and are also the default.\r\n\r\n        effects with an early runTime will be ran first when things are calculated,\r\n        followed by effects with a normal runTime and as last effects with a late runTime are ran.\r\n        \"\"\"\r\n        if not self.__generated:\r\n            self.__generateHandler()\r\n\r\n        return self.__runTime\r\n\r\n    @property\r\n    def activeByDefault(self):\r\n        \"\"\"\r\n        The state that this effect should be be in.\r\n        This property is also automaticly fetched from effects/<effectName>.py if the file exists.\r\n        the possible values are:\r\n        None, True, False\r\n\r\n        If this is not set:\r\n        We simply assume that missing/none = True, and set it accordingly\r\n        (much as we set runTime to Normalif not otherwise set).\r\n        Nearly all effect files will fall under this category.\r\n\r\n        If this is set to True:\r\n        We would enable it anyway, but hey, it's double enabled.\r\n        No effect files are currently configured this way (and probably will never be).\r\n\r\n        If this is set to False:\r\n        Basically we simply skip adding the effect to the effect handler when the effect is called,\r\n        much as if the run time didn't match or other criteria failed.\r\n        \"\"\"\r\n        if not self.__generated:\r\n            self.__generateHandler()\r\n\r\n        return self.__activeByDefault\r\n\r\n    @activeByDefault.setter\r\n    def activeByDefault(self, value):\r\n        \"\"\"\r\n        Just assign the input values to the activeByDefault attribute.\r\n        You *could* do something more interesting here if you wanted.\r\n        \"\"\"\r\n        self.__activeByDefault = value\r\n\r\n    @property\r\n    def type(self):\r\n        \"\"\"\r\n        The type of the effect, automaticly fetched from effects/<effectName>.py if the file exists.\r\n\r\n        Valid values are:\r\n        \"passive\", \"active\", \"projected\", \"gang\", \"structure\"\r\n\r\n        Each gives valuable information to eos about what type the module having\r\n        the effect is. passive vs active gives eos clues about wether to module\r\n        is activatable or not (duh!) and projected and gang each tell eos that the\r\n        module can be projected onto other fits, or used as a gang booster module respectivly\r\n        \"\"\"\r\n        if not self.__generated:\r\n            self.__generateHandler()\r\n\r\n        return self.__type\r\n\r\n    @property\r\n    def isImplemented(self):\r\n        \"\"\"\r\n        Whether this effect is implemented in code or not,\r\n        unimplemented effects simply do nothing at all when run\r\n        \"\"\"\r\n        if not self.__generated:\r\n            self.__generateHandler()\r\n\r\n        return self.__effectDef is not None\r\n\r\n    @property\r\n    def dealsDamage(self):\r\n        if not self.__generated:\r\n            self.__generateHandler()\r\n        return self.__dealsDamage\r\n\r\n    def isType(self, type):\r\n        \"\"\"\r\n        Check if this effect is of the passed type\r\n        \"\"\"\r\n        if not self.__generated:\r\n            self.__generateHandler()\r\n\r\n        return self.type is not None and type in self.type\r\n\r\n    def __generateHandler(self):\r\n        \"\"\"\r\n        Grab the handler, type and runTime from the effect code if it exists,\r\n        if it doesn't, set dummy values and add a dummy handler\r\n        \"\"\"\r\n        try:\r\n            effectDefName = \"Effect{}\".format(self.ID)\r\n            pyfalog.debug(\"Loading {0} ({1})\".format(self.name, effectDefName))\r\n            self.__effectDef = effectDef = getattr(eos.effects, effectDefName)\r\n            self.__handler = getattr(effectDef, \"handler\", eos.effects.BaseEffect.handler)\r\n            self.__runTime = getattr(effectDef, \"runTime\", \"normal\")\r\n            self.__activeByDefault = getattr(effectDef, \"activeByDefault\", True)\r\n            self.__dealsDamage = effectDef.dealsDamage\r\n            effectType = getattr(effectDef, \"type\", None)\r\n            effectType = effectType if isinstance(effectType, tuple) or effectType is None else (effectType,)\r\n            self.__type = effectType\r\n        except ImportError as e:\r\n            # Effect probably doesn't exist, so create a dummy effect and flag it with a warning.\r\n            self.__handler = eos.effects.DummyEffect.handler\r\n            self.__runTime = \"normal\"\r\n            self.__activeByDefault = True\r\n            self.__dealsDamage = False\r\n            self.__type = None\r\n            pyfalog.debug(\"ImportError generating handler: {0}\", e)\r\n        except AttributeError as e:\r\n            # Effect probably exists but there is an issue with it.  Turn it into a dummy effect so we can continue, but flag it with an error.\r\n            self.__handler = eos.effects.DummyEffect.handler\r\n            self.__runTime = \"normal\"\r\n            self.__activeByDefault = True\r\n            self.__dealsDamage = False\r\n            self.__type = None\r\n            pyfalog.error(\"AttributeError generating handler: {0}\", e)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception as e:\r\n            self.__handler = eos.effects.DummyEffect.handler\r\n            self.__runTime = \"normal\"\r\n            self.__activeByDefault = True\r\n            self.__dealsDamage = False\r\n            self.__type = None\r\n            pyfalog.critical(\"Exception generating handler:\")\r\n            pyfalog.critical(e)\r\n\r\n        self.__generated = True\r\n\r\n    def getattr(self, key):\r\n        if not self.__generated:\r\n            self.__generateHandler()\r\n\r\n        try:\r\n            return self.__effectDef.get(key, None)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            return getattr(self.__effectDef, key, None)\r\n\r\n\r\nclass Item(EqBase):\r\n    ABYSSAL_TYPES = None\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        self.__race = None\r\n        self.__requiredSkills = None\r\n        self.__requiredFor = None\r\n        self.__offensive = None\r\n        self.__assistive = None\r\n        self.__overrides = None\r\n        self.__priceObj = None\r\n\r\n    def getShortName(self, charLimit=12):\r\n        if len(self.name) <= charLimit:\r\n            return self.name\r\n        splitName = self.name.strip().split(' ')\r\n        if len(splitName) == 1:\r\n            return self.name\r\n        shortName = ''\r\n        for word in splitName:\r\n            try:\r\n                shortName += word[0].capitalize()\r\n            except IndexError:\r\n                pass\r\n        return shortName\r\n\r\n    @property\r\n    def customName(self):\r\n        return re.sub(_t('Caustic'), _t('Tachyon'), self.name)\r\n\r\n    @property\r\n    def attributes(self):\r\n        return self.__attributes\r\n\r\n    @property\r\n    def attribsWithOverrides(self):\r\n        overrides = self.overrides\r\n        attribs = {}\r\n        for aname, attr in self.attributes.items():\r\n            if aname in overrides:\r\n                attribs[aname] = overrides[aname]\r\n            else:\r\n                attribs[aname] = attr\r\n        return attribs\r\n\r\n    def getAttribute(self, key, default=None):\r\n        if key in self.attributes:\r\n            return self.attributes[key].value\r\n        else:\r\n            return default\r\n\r\n    def isType(self, type):\r\n        for effect in self.effects.values():\r\n            if effect.isType(type):\r\n                return True\r\n\r\n        return False\r\n\r\n    @property\r\n    def overrides(self):\r\n        if self.__overrides is None:\r\n            self.__overrides = {}\r\n            overrides = eos.db.getOverrides(self.ID)\r\n            for x in overrides:\r\n                if x.attr.name in self.__attributes:\r\n                    self.__overrides[x.attr.name] = x\r\n\r\n        return self.__overrides\r\n\r\n    def setOverride(self, attr, value):\r\n        from eos.saveddata.override import Override\r\n        if attr.name in self.overrides:\r\n            override = self.overrides.get(attr.name)\r\n            override.value = value\r\n        else:\r\n            override = Override(self, attr, value)\r\n            self.overrides[attr.name] = override\r\n        eos.db.save(override)\r\n\r\n    def deleteOverride(self, attr):\r\n        override = self.overrides.pop(attr.name, None)\r\n        eos.db.saveddata_session.delete(override)\r\n        eos.db.commit()\r\n\r\n    @property\r\n    def requiredSkills(self):\r\n        if self.__requiredSkills is None:\r\n            self.__requiredSkills = {}\r\n            if self.reqskills:\r\n                for skillTypeID, skillLevel in json.loads(self.reqskills).items():\r\n                    skillItem = eos.db.getItem(int(skillTypeID))\r\n                    if skillItem:\r\n                        self.__requiredSkills[skillItem] = skillLevel\r\n        return self.__requiredSkills\r\n\r\n    @property\r\n    def requiredFor(self):\r\n        if self.__requiredFor is None:\r\n            self.__requiredFor = {}\r\n            if self.requiredfor:\r\n                for typeID, skillLevel in json.loads(self.requiredfor).items():\r\n                    requiredForItem = eos.db.getItem(int(typeID))\r\n                    if requiredForItem:\r\n                        self.__requiredFor[requiredForItem] = skillLevel\r\n        return self.__requiredFor\r\n\r\n    factionMap = {\r\n        500001: \"caldari\",\r\n        500002: \"minmatar\",\r\n        500003: \"amarr\",\r\n        500004: \"gallente\",\r\n        500005: \"jove\",\r\n        500010: \"guristas\",\r\n        500011: \"angel\",\r\n        500012: \"blood\",\r\n        500014: \"ore\",\r\n        500016: \"sisters\",\r\n        500018: \"mordu\",\r\n        500019: \"sansha\",\r\n        500020: \"serpentis\",\r\n        500026: \"triglavian\",\r\n        500027: \"upwell\",\r\n        500029: \"deathless\",\r\n    }\r\n\r\n    @property\r\n    def race(self):\r\n        if self.__race is None:\r\n\r\n            try:\r\n                if self.category.name == 'Structure':\r\n                    self.__race = \"upwell\"\r\n                else:\r\n                    self.__race = self.factionMap[self.factionID]\r\n            # Some ships (like few limited issue ships) do not have factionID set,\r\n            # thus keep old mechanism for now\r\n            except KeyError:\r\n                # Define race map\r\n                map = {\r\n                    1  : \"caldari\",\r\n                    2  : \"minmatar\",\r\n                    4  : \"amarr\",\r\n                    5  : \"sansha\",  # Caldari + Amarr\r\n                    6  : \"blood\",  # Minmatar + Amarr\r\n                    8  : \"gallente\",\r\n                    9  : \"guristas\",  # Caldari + Gallente\r\n                    10 : \"angelserp\",  # Minmatar + Gallente, final race depends on the order of skills\r\n                    12 : \"sisters\",  # Amarr + Gallente\r\n                    15 : \"concord\",\r\n                    16 : \"jove\",\r\n                    32 : \"sansha\",  # Incrusion Sansha\r\n                    128: \"ore\",\r\n                    135: \"triglavian\",\r\n                    168: \"upwell\",\r\n                }\r\n                # Race is None by default\r\n                race = None\r\n                # Check primary and secondary required skills' races\r\n                if race is None:\r\n                    skillRaces = tuple([rid for rid in (s.raceID for s in tuple(self.requiredSkills.keys())) if rid])\r\n                    if sum(skillRaces) in map:\r\n                        race = map[sum(skillRaces)]\r\n                        if race == \"angelserp\":\r\n                            if skillRaces == (2, 8):\r\n                                race = \"angel\"\r\n                            else:\r\n                                race = \"serpentis\"\r\n                # Rely on item's own raceID as last resort\r\n                if race is None:\r\n                    race = map.get(self.raceID, None)\r\n                # Store our final value\r\n                self.__race = race\r\n        return self.__race\r\n\r\n    @property\r\n    def assistive(self):\r\n        \"\"\"Detects if item can be used as assistance\"\"\"\r\n        # Make sure we cache results\r\n        if self.__assistive is None:\r\n            assistive = False\r\n            # Go through all effects and find first assistive\r\n            for effect in self.effects.values():\r\n                if effect.isAssistance is True:\r\n                    # If we find one, stop and mark item as assistive\r\n                    assistive = True\r\n                    break\r\n            self.__assistive = assistive\r\n        return self.__assistive\r\n\r\n    @property\r\n    def offensive(self):\r\n        \"\"\"Detects if item can be used as something offensive\"\"\"\r\n        # Make sure we cache results\r\n        if self.__offensive is None:\r\n            offensive = False\r\n            # Go through all effects and find first offensive\r\n            for effect in self.effects.values():\r\n                if effect.isOffensive is True:\r\n                    # If we find one, stop and mark item as offensive\r\n                    offensive = True\r\n                    break\r\n            self.__offensive = offensive\r\n        return self.__offensive\r\n\r\n    def requiresSkill(self, skill, level=None):\r\n        for s, l in self.requiredSkills.items():\r\n            if isinstance(skill, str):\r\n                if s.typeName == skill and (level is None or l == level):\r\n                    return True\r\n\r\n            elif isinstance(skill, int) and (level is None or l == level):\r\n                if s.ID == skill:\r\n                    return True\r\n\r\n            elif skill == s and (level is None or l == level):\r\n                return True\r\n\r\n            elif hasattr(skill, \"item\") and skill.item == s and (level is None or l == level):\r\n                return True\r\n\r\n        return False\r\n\r\n    @property\r\n    def price(self):\r\n        # todo: use `from sqlalchemy import inspect` instead (mac-deprecated doesn't have inspect(), was imp[lemented in 0.8)\r\n        if self.__priceObj is not None and getattr(self.__priceObj, '_sa_instance_state', None) and self.__priceObj._sa_instance_state.deleted:\r\n            pyfalog.debug(\"Price data for {} was deleted (probably from a cache reset), resetting object\".format(self.ID))\r\n            self.__priceObj = None\r\n\r\n        if self.__priceObj is None:\r\n            db_price = eos.db.getPrice(self.ID)\r\n            # do not yet have a price in the database for this item, create one\r\n            if db_price is None:\r\n                pyfalog.debug(\"Creating a price for {}\".format(self.ID))\r\n                self.__priceObj = types_Price(self.ID)\r\n                eos.db.add(self.__priceObj)\r\n                eos.db.flush()\r\n            else:\r\n                self.__priceObj = db_price\r\n\r\n        return self.__priceObj\r\n\r\n    @property\r\n    def isAbyssal(self):\r\n        if Item.ABYSSAL_TYPES is None:\r\n            Item.getAbyssalTypes()\r\n\r\n        return self.ID in Item.ABYSSAL_TYPES\r\n\r\n    @classmethod\r\n    def getAbyssalTypes(cls):\r\n        cls.ABYSSAL_TYPES = eos.db.getAbyssalTypes()\r\n\r\n    @property\r\n    def isModule(self):\r\n        return self.category.name in ('Module', 'Structure Module')\r\n\r\n    @property\r\n    def isSubsystem(self):\r\n        return self.category.name == 'Subsystem'\r\n\r\n    @property\r\n    def isCharge(self):\r\n        return self.category.name == 'Charge'\r\n\r\n    @property\r\n    def isCommodity(self):\r\n        return self.category.name == 'Commodity'\r\n\r\n    @property\r\n    def isDrone(self):\r\n        return self.category.name == 'Drone'\r\n\r\n    @property\r\n    def isFighter(self):\r\n        return self.category.name == 'Fighter'\r\n\r\n    @property\r\n    def isImplant(self):\r\n        return self.category.name == 'Implant' and self.group.name != 'Booster'\r\n\r\n    @property\r\n    def isBooster(self):\r\n        return self.group.name == 'Booster' and self.category.name == 'Implant'\r\n\r\n    @property\r\n    def isStandup(self):\r\n        if self.category.name == \"Structure Module\":\r\n            return True\r\n        if self.isFighter and {'fighterSquadronIsStandupLight', 'fighterSquadronIsStandupHeavy', 'fighterSquadronIsStandupSupport'}.intersection(self.attributes):\r\n            return True\r\n        return False\r\n\r\n    def __repr__(self):\r\n        return \"Item(ID={}, name={}, display={}) at {}\".format(\r\n                self.ID, self.typeName, self.name, hex(id(self))\r\n        )\r\n\r\n\r\nclass MetaData(EqBase):\r\n    pass\r\n\r\n\r\nclass ItemEffect(EqBase):\r\n    pass\r\n\r\n\r\nclass AttributeInfo(EqBase):\r\n    pass\r\n\r\n\r\nclass Attribute(EqBase):\r\n    pass\r\n\r\n\r\nclass Category(EqBase):\r\n    pass\r\n\r\n\r\nclass AlphaClone(EqBase):\r\n    @reconstructor\r\n    def init(self):\r\n        self.skillCache = {}\r\n\r\n        for x in self.skills:\r\n            self.skillCache[x.typeID] = x\r\n\r\n    def getSkillLevel(self, skill):\r\n        if skill.item.ID in self.skillCache:\r\n            return self.skillCache[skill.item.ID].level\r\n        else:\r\n            return None\r\n\r\n\r\nclass AlphaCloneSkill(EqBase):\r\n    pass\r\n\r\n\r\nclass Group(EqBase):\r\n    pass\r\n\r\n\r\nclass DynamicItem(EqBase):\r\n\r\n    @property\r\n    def shortName(self):\r\n        name = self.item.customName\r\n        keywords = (\r\n            'Decayed', 'Glorified Decayed',\r\n            'Gravid', 'Glorified Gravid',\r\n            'Unstable', 'Glorified Unstable',\r\n            'Radical', 'Glorified Radical')\r\n        for kw in keywords:\r\n            if name.startswith(f'{kw} '):\r\n                name = kw\r\n        m = re.match(r'(?P<mutagrade>(Glorified )?\\S+) (?P<dronetype>\\S+) Drone (?P<mutatype>\\S+) Mutaplasmid', name)\r\n        if m:\r\n            name = '{} {}'.format(m.group('mutagrade'), m.group('mutatype'))\r\n        name = name.replace('Glorified ', 'Gl. ')\r\n        return name\r\n\r\n\r\nclass DynamicItemAttribute(EqBase):\r\n    pass\r\n\r\n\r\nclass DynamicItemItem(EqBase):\r\n    pass\r\n\r\n\r\nclass MarketGroup(EqBase):\r\n    def __repr__(self):\r\n        return \"MarketGroup(ID={}, name={}, parent={}) at {}\".format(\r\n            self.ID, self.name, getattr(self.parent, \"name\", None), hex(id(self)))\r\n\r\n\r\nclass MetaGroup(EqBase):\r\n    pass\r\n\r\n\r\nclass Unit(EqBase):\r\n\r\n    def __init__(self):\r\n        self.name = None\r\n        self.displayName = None\r\n\r\n    @property\r\n    def rigSizes(self):\r\n        return {\r\n            1: \"Small\",\r\n            2: \"Medium\",\r\n            3: \"Large\",\r\n            4: \"X-Large\"\r\n        }\r\n\r\n    @property\r\n    def translations(self):\r\n        \"\"\" This is a mapping of various tweaks that we have to do between the internal representation of an attribute\r\n        value and the display (for example, 'Millisecond' units have the display name of 's', so we have to convert value\r\n        from ms to s) \"\"\"\r\n        # Each entry contains:\r\n        # Function to convert value to display value\r\n        # Function to convert value to display format (which sometimes can be a string)\r\n        # Function which controls unit name used with attribute\r\n        # Function to convert display value to value\r\n        return {\r\n            \"Inverse Absolute Percent\": (\r\n                lambda v: (1 - v) * 100,\r\n                lambda v: (1 - v) * 100,\r\n                lambda u: u,\r\n                lambda d: -1 * (d / 100) + 1),\r\n            \"Inversed Modifier Percent\": (\r\n                lambda v: (1 - v) * 100,\r\n                lambda v: (1 - v) * 100,\r\n                lambda u: u,\r\n                lambda d: -1 * (d / 100) + 1),\r\n            \"Modifier Percent\": (\r\n                lambda v: (v - 1) * 100,\r\n                lambda v: (\"%+.2f\" if ((v - 1) * 100) % 1 else \"%+d\") % ((v - 1) * 100),\r\n                lambda u: u,\r\n                lambda d: (d / 100) + 1),\r\n            \"Volume\": (\r\n                lambda v: v,\r\n                lambda v: v,\r\n                lambda u: \"m³\",\r\n                lambda d: d),\r\n            \"Sizeclass\": (\r\n                lambda v: self.rigSizes[v],\r\n                lambda v: self.rigSizes[v],\r\n                lambda d: next(i for i in self.rigSizes.keys() if self.rigSizes[i] == 'Medium'),\r\n                lambda u: \"\"),\r\n            \"Absolute Percent\": (\r\n                lambda v: v * 100,\r\n                lambda v: v * 100,\r\n                lambda u: u,\r\n                lambda d: d / 100),\r\n            \"Milliseconds\": (\r\n                lambda v: v / 1000,\r\n                lambda v: v / 1000,\r\n                lambda u: u,\r\n                lambda d: d * 1000),\r\n            \"Boolean\": (\r\n                lambda v: True if v else False,\r\n                lambda v: \"Yes\" if v else \"No\",\r\n                lambda u: \"\",\r\n                lambda d: 1.0 if d == \"Yes\" else 0.0),\r\n            \"typeID\": (\r\n                self.itemIDCallback,\r\n                self.itemIDCallback,\r\n                lambda u: \"\",\r\n                None),  # we could probably convert these back if we really tried hard enough\r\n            \"groupID\": (\r\n                self.groupIDCallback,\r\n                self.groupIDCallback,\r\n                lambda u: \"\",\r\n                None),\r\n            \"attributeID\": (\r\n                self.attributeIDCallback,\r\n                self.attributeIDCallback,\r\n                lambda u: \"\",\r\n                None),\r\n        }\r\n\r\n    @staticmethod\r\n    def itemIDCallback(v):\r\n        v = int(v)\r\n        item = eos.db.getItem(int(v))\r\n        return \"%s (%d)\" % (item.name, v) if item is not None else str(v)\r\n\r\n    @staticmethod\r\n    def groupIDCallback(v):\r\n        v = int(v)\r\n        group = eos.db.getGroup(v)\r\n        return \"%s (%d)\" % (group.name, v) if group is not None else str(v)\r\n\r\n    @staticmethod\r\n    def attributeIDCallback(v):\r\n        v = int(v)\r\n        if not v:  # some attributes come through with a value of 0? See #1387\r\n            return \"%d\" % v\r\n        attribute = eos.db.getAttributeInfo(v, eager=\"unit\")\r\n        return \"%s (%d)\" % (attribute.name.capitalize(), v)\r\n\r\n    def PreformatValue(self, value):\r\n        \"\"\"Attributes have to be translated certain ways based on their unit (ex: decimals converting to percentages).\r\n        This allows us to get an easy representation of how the attribute should be printed \"\"\"\r\n\r\n        override = self.translations.get(self.name)\r\n        if override is not None:\r\n            return override[1](value), override[2](self.displayName)\r\n\r\n        return value, self.displayName\r\n\r\n    def SimplifyValue(self, value):\r\n        \"\"\"Takes the internal representation value and convert it into the display value\"\"\"\r\n\r\n        override = self.translations.get(self.name)\r\n        if override is not None:\r\n            return override[0](value)\r\n\r\n        return value\r\n\r\n    def ComplicateValue(self, value):\r\n        \"\"\"Takes the display value and turns it back into the internal representation of it\"\"\"\r\n\r\n        override = self.translations.get(self.name)\r\n        if override is not None:\r\n            return override[3](value)\r\n\r\n        return value\r\n\r\n\r\nclass Traits(EqBase):\r\n    pass\r\n\r\n\r\nclass ImplantSet(EqBase):\r\n\r\n    @property\r\n    def fullName(self):\r\n        if not self.gradeName:\r\n            return self.setName\r\n        return '{} {}'.format(self.gradeName, self.setName)\r\n"
  },
  {
    "path": "eos/lgpl.txt",
    "content": "                  GNU LESSER GENERAL PUBLIC LICENSE\n                       Version 2.1, February 1999\n\n Copyright (C) 1991, 1999 Free Software Foundation, Inc.\n 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n[This is the first released version of the Lesser GPL.  It also counts\n as the successor of the GNU Library Public License, version 2, hence\n the version number 2.1.]\n\n                            Preamble\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicenses are intended to guarantee your freedom to share and change\nfree software--to make sure the software is free for all its users.\n\n  This license, the Lesser General Public License, applies to some\nspecially designated software packages--typically libraries--of the\nFree Software Foundation and other authors who decide to use it.  You\ncan use it too, but we suggest you first think carefully about whether\nthis license or the ordinary General Public License is the better\nstrategy to use in any particular case, based on the explanations below.\n\n  When we speak of free software, we are referring to freedom of use,\nnot price.  Our General Public Licenses are designed to make sure that\nyou have the freedom to distribute copies of free software (and charge\nfor this service if you wish); that you receive source code or can get\nit if you want it; that you can change the software and use pieces of\nit in new free programs; and that you are informed that you can do\nthese things.\n\n  To protect your rights, we need to make restrictions that forbid\ndistributors to deny you these rights or to ask you to surrender these\nrights.  These restrictions translate to certain responsibilities for\nyou if you distribute copies of the library or if you modify it.\n\n  For example, if you distribute copies of the library, whether gratis\nor for a fee, you must give the recipients all the rights that we gave\nyou.  You must make sure that they, too, receive or can get the source\ncode.  If you link other code with the library, you must provide\ncomplete object files to the recipients, so that they can relink them\nwith the library after making changes to the library and recompiling\nit.  And you must show them these terms so they know their rights.\n\n  We protect your rights with a two-step method: (1) we copyright the\nlibrary, and (2) we offer you this license, which gives you legal\npermission to copy, distribute and/or modify the library.\n\n  To protect each distributor, we want to make it very clear that\nthere is no warranty for the free library.  Also, if the library is\nmodified by someone else and passed on, the recipients should know\nthat what they have is not the original version, so that the original\nauthor's reputation will not be affected by problems that might be\nintroduced by others.\n\f\n  Finally, software patents pose a constant threat to the existence of\nany free program.  We wish to make sure that a company cannot\neffectively restrict the users of a free program by obtaining a\nrestrictive license from a patent holder.  Therefore, we insist that\nany patent license obtained for a version of the library must be\nconsistent with the full freedom of use specified in this license.\n\n  Most GNU software, including some libraries, is covered by the\nordinary GNU General Public License.  This license, the GNU Lesser\nGeneral Public License, applies to certain designated libraries, and\nis quite different from the ordinary General Public License.  We use\nthis license for certain libraries in order to permit linking those\nlibraries into non-free programs.\n\n  When a program is linked with a library, whether statically or using\na shared library, the combination of the two is legally speaking a\ncombined work, a derivative of the original library.  The ordinary\nGeneral Public License therefore permits such linking only if the\nentire combination fits its criteria of freedom.  The Lesser General\nPublic License permits more lax criteria for linking other code with\nthe library.\n\n  We call this license the \"Lesser\" General Public License because it\ndoes Less to protect the user's freedom than the ordinary General\nPublic License.  It also provides other free software developers Less\nof an advantage over competing non-free programs.  These disadvantages\nare the reason we use the ordinary General Public License for many\nlibraries.  However, the Lesser license provides advantages in certain\nspecial circumstances.\n\n  For example, on rare occasions, there may be a special need to\nencourage the widest possible use of a certain library, so that it becomes\na de-facto standard.  To achieve this, non-free programs must be\nallowed to use the library.  A more frequent case is that a free\nlibrary does the same job as widely used non-free libraries.  In this\ncase, there is little to gain by limiting the free library to free\nsoftware only, so we use the Lesser General Public License.\n\n  In other cases, permission to use a particular library in non-free\nprograms enables a greater number of people to use a large body of\nfree software.  For example, permission to use the GNU C Library in\nnon-free programs enables many more people to use the whole GNU\noperating system, as well as its variant, the GNU/Linux operating\nsystem.\n\n  Although the Lesser General Public License is Less protective of the\nusers' freedom, it does ensure that the user of a program that is\nlinked with the Library has the freedom and the wherewithal to run\nthat program using a modified version of the Library.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.  Pay close attention to the difference between a\n\"work based on the library\" and a \"work that uses the library\".  The\nformer contains code derived from the library, whereas the latter must\nbe combined with the library in order to run.\n\f\n                  GNU LESSER GENERAL PUBLIC LICENSE\n   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n  0. This License Agreement applies to any software library or other\nprogram which contains a notice placed by the copyright holder or\nother authorized party saying it may be distributed under the terms of\nthis Lesser General Public License (also called \"this License\").\nEach licensee is addressed as \"you\".\n\n  A \"library\" means a collection of software functions and/or data\nprepared so as to be conveniently linked with application programs\n(which use some of those functions and data) to form executables.\n\n  The \"Library\", below, refers to any such software library or work\nwhich has been distributed under these terms.  A \"work based on the\nLibrary\" means either the Library or any derivative work under\ncopyright law: that is to say, a work containing the Library or a\nportion of it, either verbatim or with modifications and/or translated\nstraightforwardly into another language.  (Hereinafter, translation is\nincluded without limitation in the term \"modification\".)\n\n  \"Source code\" for a work means the preferred form of the work for\nmaking modifications to it.  For a library, complete source code means\nall the source code for all modules it contains, plus any associated\ninterface definition files, plus the scripts used to control compilation\nand installation of the library.\n\n  Activities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning a program using the Library is not restricted, and output from\nsuch a program is covered only if its contents constitute a work based\non the Library (independent of the use of the Library in a tool for\nwriting it).  Whether that is true depends on what the Library does\nand what the program that uses the Library does.\n\n  1. You may copy and distribute verbatim copies of the Library's\ncomplete source code as you receive it, in any medium, provided that\nyou conspicuously and appropriately publish on each copy an\nappropriate copyright notice and disclaimer of warranty; keep intact\nall the notices that refer to this License and to the absence of any\nwarranty; and distribute a copy of this License along with the\nLibrary.\n\n  You may charge a fee for the physical act of transferring a copy,\nand you may at your option offer warranty protection in exchange for a\nfee.\n\f\n  2. You may modify your copy or copies of the Library or any portion\nof it, thus forming a work based on the Library, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) The modified work must itself be a software library.\n\n    b) You must cause the files modified to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    c) You must cause the whole of the work to be licensed at no\n    charge to all third parties under the terms of this License.\n\n    d) If a facility in the modified Library refers to a function or a\n    table of data to be supplied by an application program that uses\n    the facility, other than as an argument passed when the facility\n    is invoked, then you must make a good faith effort to ensure that,\n    in the event an application does not supply such function or\n    table, the facility still operates, and performs whatever part of\n    its purpose remains meaningful.\n\n    (For example, a function in a library to compute square roots has\n    a purpose that is entirely well-defined independent of the\n    application.  Therefore, Subsection 2d requires that any\n    application-supplied function or table used by this function must\n    be optional: if the application does not supply it, the square\n    root function must still compute square roots.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Library,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Library, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote\nit.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Library.\n\nIn addition, mere aggregation of another work not based on the Library\nwith the Library (or with a work based on the Library) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may opt to apply the terms of the ordinary GNU General Public\nLicense instead of this License to a given copy of the Library.  To do\nthis, you must alter all the notices that refer to this License, so\nthat they refer to the ordinary GNU General Public License, version 2,\ninstead of to this License.  (If a newer version than version 2 of the\nordinary GNU General Public License has appeared, then you can specify\nthat version instead if you wish.)  Do not make any other change in\nthese notices.\n\f\n  Once this change is made in a given copy, it is irreversible for\nthat copy, so the ordinary GNU General Public License applies to all\nsubsequent copies and derivative works made from that copy.\n\n  This option is useful when you wish to copy part of the code of\nthe Library into a program that is not a library.\n\n  4. You may copy and distribute the Library (or a portion or\nderivative of it, under Section 2) in object code or executable form\nunder the terms of Sections 1 and 2 above provided that you accompany\nit with the complete corresponding machine-readable source code, which\nmust be distributed under the terms of Sections 1 and 2 above on a\nmedium customarily used for software interchange.\n\n  If distribution of object code is made by offering access to copy\nfrom a designated place, then offering equivalent access to copy the\nsource code from the same place satisfies the requirement to\ndistribute the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  5. A program that contains no derivative of any portion of the\nLibrary, but is designed to work with the Library by being compiled or\nlinked with it, is called a \"work that uses the Library\".  Such a\nwork, in isolation, is not a derivative work of the Library, and\ntherefore falls outside the scope of this License.\n\n  However, linking a \"work that uses the Library\" with the Library\ncreates an executable that is a derivative of the Library (because it\ncontains portions of the Library), rather than a \"work that uses the\nlibrary\".  The executable is therefore covered by this License.\nSection 6 states terms for distribution of such executables.\n\n  When a \"work that uses the Library\" uses material from a header file\nthat is part of the Library, the object code for the work may be a\nderivative work of the Library even though the source code is not.\nWhether this is true is especially significant if the work can be\nlinked without the Library, or if the work is itself a library.  The\nthreshold for this to be true is not precisely defined by law.\n\n  If such an object file uses only numerical parameters, data\nstructure layouts and accessors, and small macros and small inline\nfunctions (ten lines or less in length), then the use of the object\nfile is unrestricted, regardless of whether it is legally a derivative\nwork.  (Executables containing this object code plus portions of the\nLibrary will still fall under Section 6.)\n\n  Otherwise, if the work is a derivative of the Library, you may\ndistribute the object code for the work under the terms of Section 6.\nAny executables containing that work also fall under Section 6,\nwhether or not they are linked directly with the Library itself.\n\f\n  6. As an exception to the Sections above, you may also combine or\nlink a \"work that uses the Library\" with the Library to produce a\nwork containing portions of the Library, and distribute that work\nunder terms of your choice, provided that the terms permit\nmodification of the work for the customer's own use and reverse\nengineering for debugging such modifications.\n\n  You must give prominent notice with each copy of the work that the\nLibrary is used in it and that the Library and its use are covered by\nthis License.  You must supply a copy of this License.  If the work\nduring execution displays copyright notices, you must include the\ncopyright notice for the Library among them, as well as a reference\ndirecting the user to the copy of this License.  Also, you must do one\nof these things:\n\n    a) Accompany the work with the complete corresponding\n    machine-readable source code for the Library including whatever\n    changes were used in the work (which must be distributed under\n    Sections 1 and 2 above); and, if the work is an executable linked\n    with the Library, with the complete machine-readable \"work that\n    uses the Library\", as object code and/or source code, so that the\n    user can modify the Library and then relink to produce a modified\n    executable containing the modified Library.  (It is understood\n    that the user who changes the contents of definitions files in the\n    Library will not necessarily be able to recompile the application\n    to use the modified definitions.)\n\n    b) Use a suitable shared library mechanism for linking with the\n    Library.  A suitable mechanism is one that (1) uses at run time a\n    copy of the library already present on the user's computer system,\n    rather than copying library functions into the executable, and (2)\n    will operate properly with a modified version of the library, if\n    the user installs one, as long as the modified version is\n    interface-compatible with the version that the work was made with.\n\n    c) Accompany the work with a written offer, valid for at\n    least three years, to give the same user the materials\n    specified in Subsection 6a, above, for a charge no more\n    than the cost of performing this distribution.\n\n    d) If distribution of the work is made by offering access to copy\n    from a designated place, offer equivalent access to copy the above\n    specified materials from the same place.\n\n    e) Verify that the user has already received a copy of these\n    materials or that you have already sent this user a copy.\n\n  For an executable, the required form of the \"work that uses the\nLibrary\" must include any data and utility programs needed for\nreproducing the executable from it.  However, as a special exception,\nthe materials to be distributed need not include anything that is\nnormally distributed (in either source or binary form) with the major\ncomponents (compiler, kernel, and so on) of the operating system on\nwhich the executable runs, unless that component itself accompanies\nthe executable.\n\n  It may happen that this requirement contradicts the license\nrestrictions of other proprietary libraries that do not normally\naccompany the operating system.  Such a contradiction means you cannot\nuse both them and the Library together in an executable that you\ndistribute.\n\f\n  7. You may place library facilities that are a work based on the\nLibrary side-by-side in a single library together with other library\nfacilities not covered by this License, and distribute such a combined\nlibrary, provided that the separate distribution of the work based on\nthe Library and of the other library facilities is otherwise\npermitted, and provided that you do these two things:\n\n    a) Accompany the combined library with a copy of the same work\n    based on the Library, uncombined with any other library\n    facilities.  This must be distributed under the terms of the\n    Sections above.\n\n    b) Give prominent notice with the combined library of the fact\n    that part of it is a work based on the Library, and explaining\n    where to find the accompanying uncombined form of the same work.\n\n  8. You may not copy, modify, sublicense, link with, or distribute\nthe Library except as expressly provided under this License.  Any\nattempt otherwise to copy, modify, sublicense, link with, or\ndistribute the Library is void, and will automatically terminate your\nrights under this License.  However, parties who have received copies,\nor rights, from you under this License will not have their licenses\nterminated so long as such parties remain in full compliance.\n\n  9. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Library or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Library (or any work based on the\nLibrary), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Library or works based on it.\n\n  10. Each time you redistribute the Library (or any work based on the\nLibrary), the recipient automatically receives a license from the\noriginal licensor to copy, distribute, link with or modify the Library\nsubject to these terms and conditions.  You may not impose any further\nrestrictions on the recipients' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties with\nthis License.\n\f\n  11. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions 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\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Library at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Library by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Library.\n\nIf any portion of this section is held invalid or unenforceable under any\nparticular circumstance, the balance of the section is intended to apply,\nand the section as a whole is intended to apply in other circumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  12. If the distribution and/or use of the Library is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Library under this License may add\nan explicit geographical distribution limitation excluding those countries,\nso that distribution is permitted only in or among countries not thus\nexcluded.  In such case, this License incorporates the limitation as if\nwritten in the body of this License.\n\n  13. The Free Software Foundation may publish revised and/or new\nversions of the Lesser General Public License from time to time.\nSuch new versions will be similar in spirit to the present version,\nbut may differ in detail to address new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Library\nspecifies a version number of this License which applies to it and\n\"any later version\", you have the option of following the terms and\nconditions either of that version or of any later version published by\nthe Free Software Foundation.  If the Library does not specify a\nlicense version number, you may choose any version ever published by\nthe Free Software Foundation.\n\f\n  14. If you wish to incorporate parts of the Library into other free\nprograms whose distribution conditions are incompatible with these,\nwrite to the author to ask for permission.  For software which is\ncopyrighted by the Free Software Foundation, write to the Free\nSoftware Foundation; we sometimes make exceptions for this.  Our\ndecision will be guided by the two goals of preserving the free status\nof all derivatives of our free software and of promoting the sharing\nand reuse of software generally.\n\n                            NO WARRANTY\n\n  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO\nWARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.\nEXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR\nOTHER PARTIES PROVIDE THE LIBRARY \"AS IS\" WITHOUT WARRANTY OF ANY\nKIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE\nLIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME\nTHE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN\nWRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY\nAND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU\nFOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR\nCONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE\nLIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING\nRENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A\nFAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF\nSUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGES.\n\n                     END OF TERMS AND CONDITIONS\n\f\n           How to Apply These Terms to Your New Libraries\n\n  If you develop a new library, and you want it to be of the greatest\npossible use to the public, we recommend making it free software that\neveryone can redistribute and change.  You can do so by permitting\nredistribution under these terms (or, alternatively, under the terms of the\nordinary General Public License).\n\n  To apply these terms, attach the following notices to the library.  It is\nsafest to attach them to the start of each source file to most effectively\nconvey the exclusion of warranty; and each file should have at least the\n\"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the library's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This library is free software; you can redistribute it and/or\n    modify it under the terms of the GNU Lesser General Public\n    License as published by the Free Software Foundation; either\n    version 2.1 of the License, or (at your option) any later version.\n\n    This library 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 GNU\n    Lesser General Public License for more details.\n\n    You should have received a copy of the GNU Lesser General Public\n    License along with this library; if not, write to the Free Software\n    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\n\nAlso add information on how to contact you by electronic and paper mail.\n\nYou should also get your employer (if you work as a programmer) or your\nschool, if any, to sign a \"copyright disclaimer\" for the library, if\nnecessary.  Here is a sample; alter the names:\n\n  Yoyodyne, Inc., hereby disclaims all copyright interest in the\n  library `Frob' (a library for tweaking knobs) written by James Random Hacker.\n\n  <signature of Ty Coon>, 1 April 1990\n  Ty Coon, President of Vice\n\nThat's all there is to it!\n\n"
  },
  {
    "path": "eos/modifiedAttributeDict.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\n\r\nfrom collections.abc import MutableMapping\r\nfrom copy import copy\r\nfrom math import exp\r\n\r\nfrom eos.const import Operator\r\n# TODO: This needs to be moved out, we shouldn't have *ANY* dependencies back to other modules/methods inside eos.\r\n# This also breaks writing any tests. :(\r\nfrom eos.db.gamedata.queries import getAttributeInfo\r\n\r\n\r\ndefaultValuesCache = {}\r\ncappingAttrKeyCache = {}\r\nresistanceCache = {}\r\n\r\n\r\ndef getAttrDefault(key, fallback=None):\r\n    try:\r\n        default = defaultValuesCache[key]\r\n    except KeyError:\r\n        attrInfo = getAttributeInfo(key)\r\n        if attrInfo is None:\r\n            default = defaultValuesCache[key] = None\r\n        else:\r\n            default = defaultValuesCache[key] = attrInfo.defaultValue\r\n    if default is None:\r\n        default = fallback\r\n    return default\r\n\r\n\r\ndef getResistanceAttrID(modifyingItem, effect):\r\n    # If it doesn't exist on the effect, check the modifying module's attributes.\r\n    # If it's there, cache it and return\r\n    if effect.resistanceID:\r\n        return effect.resistanceID\r\n    cacheKey = (modifyingItem.item.ID, effect.ID)\r\n    try:\r\n        return resistanceCache[cacheKey]\r\n    except KeyError:\r\n        attrPrefix = effect.getattr('prefix')\r\n        if attrPrefix:\r\n            resistanceID = int(modifyingItem.getModifiedItemAttr('{}ResistanceID'.format(attrPrefix))) or None\r\n            if not resistanceID:\r\n                resistanceID = int(modifyingItem.getModifiedItemAttr('{}RemoteResistanceID'.format(attrPrefix))) or None\r\n        else:\r\n            resistanceID = int(modifyingItem.getModifiedItemAttr(\"remoteResistanceID\")) or None\r\n        resistanceCache[cacheKey] = resistanceID\r\n        return resistanceID\r\n\r\n\r\nclass ItemAttrShortcut:\r\n\r\n    def getModifiedItemAttr(self, key, default=0):\r\n        return_value = self.itemModifiedAttributes.get(key)\r\n        return return_value if return_value is not None else default\r\n\r\n    def getModifiedItemAttrExtended(self, key, extraMultipliers=None, ignoreAfflictors=(), default=0):\r\n        return_value = self.itemModifiedAttributes.getExtended(key, extraMultipliers=extraMultipliers, ignoreAfflictors=ignoreAfflictors)\r\n        return return_value if return_value is not None else default\r\n\r\n    def getItemBaseAttrValue(self, key, default=0):\r\n        return_value = self.itemModifiedAttributes.getOriginal(key)\r\n        return return_value if return_value is not None else default\r\n\r\n\r\nclass ChargeAttrShortcut:\r\n\r\n    def getModifiedChargeAttr(self, key, default=0):\r\n        return_value = self.chargeModifiedAttributes.get(key)\r\n        return return_value if return_value is not None else default\r\n\r\n    def getModifiedChargeAttrExtended(self, key, extraMultipliers=None, ignoreAfflictors=(), default=0):\r\n        return_value = self.chargeModifiedAttributes.getExtended(key, extraMultipliers=extraMultipliers, ignoreAfflictors=ignoreAfflictors)\r\n        return return_value if return_value is not None else default\r\n\r\n    def getChargeBaseAttrValue(self, key, default=0):\r\n        return_value = self.chargeModifiedAttributes.getOriginal(key)\r\n        return return_value if return_value is not None else default\r\n\r\n\r\nclass ModifiedAttributeDict(MutableMapping):\r\n    overrides_enabled = False\r\n\r\n    class CalculationPlaceholder:\r\n        def __init__(self):\r\n            pass\r\n\r\n    def __init__(self, fit=None, parent=None):\r\n        self.__fit = fit\r\n        self.parent = parent\r\n        # Stores original values of the entity\r\n        self.__original = None\r\n        # Modified values during calculations\r\n        self.__intermediary = {}\r\n        # Final modified values\r\n        self.__modified = {}\r\n        # Affected by entities\r\n        # Format:\r\n        # {attr name: {modifying fit: (\r\n        #   modifying item, operation, stacking group, pre-resist amount,\r\n        #   post-resist amount, affects result or not)}}\r\n        self.__affectedBy = {}\r\n        # Overrides (per item)\r\n        self.__overrides = {}\r\n        # Mutators (per module)\r\n        self.__mutators = {}\r\n        # Dictionaries for various value modification types\r\n        self.__forced = {}\r\n        self.__preAssigns = {}\r\n        self.__preIncreases = {}\r\n        self.__multipliers = {}\r\n        self.__penalizedMultipliers = {}\r\n        self.__postIncreases = {}\r\n        # We sometimes override the modifier (for things like skill handling). Store it here instead of registering it\r\n        # with the fit (which could cause bug for items that have both item bonuses and skill bonus, ie Subsystems)\r\n        self.__tmpModifier = None\r\n\r\n    def clear(self):\r\n        self.__intermediary.clear()\r\n        self.__modified.clear()\r\n        self.__affectedBy.clear()\r\n        self.__forced.clear()\r\n        self.__preAssigns.clear()\r\n        self.__preIncreases.clear()\r\n        self.__multipliers.clear()\r\n        self.__penalizedMultipliers.clear()\r\n        self.__postIncreases.clear()\r\n\r\n    @property\r\n    def fit(self):\r\n        # self.fit is usually set during fit calculations when the item is registered with the fit. However,\r\n        # under certain circumstances, an effect will not work as it will try to modify an item which has NOT\r\n        # yet been registered and thus has not had self.fit set. In this case, use the modules owner attribute\r\n        # to point to the correct fit. See GH Issue #434\r\n        if self.__fit is not None:\r\n            return self.__fit\r\n        if hasattr(self.parent, 'owner'):\r\n            return self.parent.owner\r\n        return None\r\n\r\n    @fit.setter\r\n    def fit(self, fit):\r\n        self.__fit = fit\r\n\r\n    @property\r\n    def original(self):\r\n        return self.__original\r\n\r\n    @original.setter\r\n    def original(self, val):\r\n        self.__original = val\r\n        self.__modified.clear()\r\n\r\n    @property\r\n    def overrides(self):\r\n        return self.__overrides\r\n\r\n    @overrides.setter\r\n    def overrides(self, val):\r\n        self.__overrides = val\r\n\r\n    @property\r\n    def mutators(self):\r\n        return {x.attribute.name: x for x in self.__mutators.values()}\r\n\r\n    @mutators.setter\r\n    def mutators(self, val):\r\n        self.__mutators = val\r\n\r\n    def __getitem__(self, key):\r\n        # Check if we have final calculated value\r\n        val = self.__modified.get(key)\r\n        if val is self.CalculationPlaceholder:\r\n            val = self.__modified[key] = self.__calculateValue(key)\r\n        if val is not None:\r\n            return val\r\n\r\n        # Then in values which are not yet calculated\r\n        if self.__intermediary:\r\n            val = self.__intermediary.get(key)\r\n        else:\r\n            val = None\r\n        if val is not None:\r\n            return val\r\n\r\n        # Original value is the least priority\r\n        return self.getOriginal(key)\r\n\r\n    def getExtended(self, key, extraMultipliers=None, ignoreAfflictors=None, default=0):\r\n        \"\"\"\r\n        Here we consider couple of parameters. If they affect final result, we do\r\n        not store result, and if they are - we do.\r\n        \"\"\"\r\n        # Here we do not have support for preAssigns/forceds, as doing them would\r\n        # mean that we have to store all of them in a list which increases memory use,\r\n        # and we do not actually need those operators atm\r\n        preIncreaseAdjustment = 0\r\n        multiplierAdjustment = 1\r\n        ignorePenalizedMultipliers = {}\r\n        postIncreaseAdjustment = 0\r\n        for fit, afflictors in self.getAfflictions(key).items():\r\n            for afflictor, operator, stackingGroup, preResAmount, postResAmount, used in afflictors:\r\n                if afflictor in ignoreAfflictors:\r\n                    if operator == Operator.MULTIPLY:\r\n                        if stackingGroup is None:\r\n                            multiplierAdjustment /= postResAmount\r\n                        else:\r\n                            ignorePenalizedMultipliers.setdefault(stackingGroup, []).append(postResAmount)\r\n                    elif operator == Operator.PREINCREASE:\r\n                        preIncreaseAdjustment -= postResAmount\r\n                    elif operator == Operator.POSTINCREASE:\r\n                        postIncreaseAdjustment -= postResAmount\r\n\r\n        # If we apply no customizations - use regular getter\r\n        if (\r\n            not extraMultipliers and\r\n            preIncreaseAdjustment == 0 and multiplierAdjustment == 1 and\r\n            postIncreaseAdjustment == 0 and len(ignorePenalizedMultipliers) == 0\r\n        ):\r\n            return self.get(key, default=default)\r\n\r\n        # Try to calculate custom values\r\n        val = self.__calculateValue(\r\n            key, extraMultipliers=extraMultipliers, preIncAdj=preIncreaseAdjustment, multAdj=multiplierAdjustment,\r\n            postIncAdj=postIncreaseAdjustment, ignorePenMult=ignorePenalizedMultipliers)\r\n        if val is not None:\r\n            return val\r\n\r\n        # Then the same fallbacks as in regular getter\r\n        if self.__intermediary:\r\n            val = self.__intermediary.get(key)\r\n        else:\r\n            val = None\r\n        if val is not None:\r\n            return val\r\n        val = self.getOriginal(key)\r\n        if val is not None:\r\n            return val\r\n        return default\r\n\r\n    def __delitem__(self, key):\r\n        if key in self.__modified:\r\n            del self.__modified[key]\r\n        if key in self.__intermediary:\r\n            del self.__intermediary[key]\r\n\r\n    def getOriginal(self, key, default=None):\r\n        val = None\r\n        if self.overrides_enabled and self.overrides:\r\n            val = self.overrides.get(key, val)\r\n\r\n        # mutators are overriden by overrides. x_x\r\n        val = self.mutators.get(key, val)\r\n\r\n        if val is None:\r\n            if self.original:\r\n                val = self.original.get(key, val)\r\n\r\n        if val is None:\r\n            val = getAttrDefault(key, fallback=None)\r\n\r\n        if val is None and val != default:\r\n            val = default\r\n\r\n        return val.value if hasattr(val, \"value\") else val\r\n\r\n    def __setitem__(self, key, val):\r\n        self.__intermediary[key] = val\r\n\r\n    def __iter__(self):\r\n        all_dict = dict(self.original, **self.__modified)\r\n        return (key for key in all_dict)\r\n\r\n    def __contains__(self, key):\r\n        return (self.original is not None and key in self.original) or \\\r\n               key in self.__modified or key in self.__intermediary\r\n\r\n    def __placehold(self, key):\r\n        \"\"\"Create calculation placeholder in item's modified attribute dict\"\"\"\r\n        self.__modified[key] = self.CalculationPlaceholder\r\n\r\n    def __len__(self):\r\n        keys = set()\r\n        keys.update(iter(self.original.keys()))\r\n        keys.update(iter(self.__modified.keys()))\r\n        keys.update(iter(self.__intermediary.keys()))\r\n        return len(keys)\r\n\r\n    def __calculateValue(self, key, extraMultipliers=None, preIncAdj=None, multAdj=None, postIncAdj=None, ignorePenMult=None):\r\n        # It's possible that various attributes are capped by other attributes,\r\n        # it's defined by reference maxAttributeID\r\n        try:\r\n            cappingKey = cappingAttrKeyCache[key]\r\n        except KeyError:\r\n            attrInfo = getAttributeInfo(key)\r\n            if attrInfo is None:\r\n                cappingId = cappingAttrKeyCache[key] = None\r\n            else:\r\n                cappingId = attrInfo.maxAttributeID\r\n            if cappingId is None:\r\n                cappingKey = None\r\n            else:\r\n                cappingAttrInfo = getAttributeInfo(cappingId)\r\n                cappingKey = None if cappingAttrInfo is None else cappingAttrInfo.name\r\n                cappingAttrKeyCache[key] = cappingKey\r\n\r\n        if cappingKey:\r\n            cappingValue = self[cappingKey]\r\n            cappingValue = cappingValue.value if hasattr(cappingValue, \"value\") else cappingValue\r\n        else:\r\n            cappingValue = None\r\n\r\n        # If value is forced, we don't have to calculate anything,\r\n        # just return forced value instead\r\n        force = self.__forced[key] if key in self.__forced else None\r\n        if force is not None:\r\n            if cappingValue is not None:\r\n                force = min(force, cappingValue)\r\n            if key in (\"cpu\", \"power\", \"cpuOutput\", \"powerOutput\"):\r\n                force = round(force, 2)\r\n            return force\r\n        # Grab our values if they're there, otherwise we'll take default values\r\n        preIncrease = self.__preIncreases.get(key, 0)\r\n        multiplier = self.__multipliers.get(key, 1)\r\n        penalizedMultiplierGroups = self.__penalizedMultipliers.get(key, {})\r\n        # Add extra multipliers to the group, not modifying initial data source\r\n        if extraMultipliers is not None:\r\n            penalizedMultiplierGroups = copy(penalizedMultiplierGroups)\r\n            for stackGroup, operationsData in extraMultipliers.items():\r\n                multipliers = []\r\n                for mult, resAttrID in operationsData:\r\n                    if not resAttrID:\r\n                        multipliers.append(mult)\r\n                        continue\r\n                    resAttrInfo = getAttributeInfo(resAttrID)\r\n                    if not resAttrInfo:\r\n                        multipliers.append(mult)\r\n                        continue\r\n                    resMult = self.fit.ship.itemModifiedAttributes[resAttrInfo.attributeName]\r\n                    if resMult is None or resMult == 1:\r\n                        multipliers.append(mult)\r\n                        continue\r\n                    mult = (mult - 1) * resMult + 1\r\n                    multipliers.append(mult)\r\n                penalizedMultiplierGroups[stackGroup] = penalizedMultiplierGroups.get(stackGroup, []) + multipliers\r\n        postIncrease = self.__postIncreases.get(key, 0)\r\n\r\n        # Grab initial value, priorities are:\r\n        # Results of ongoing calculation > preAssign > original > 0\r\n        default = getAttrDefault(key, fallback=0.0)\r\n        val = self.__intermediary.get(key, self.__preAssigns.get(key, self.getOriginal(key, default)))\r\n\r\n        # We'll do stuff in the following order:\r\n        # preIncrease > multiplier > stacking penalized multipliers > postIncrease\r\n        val += preIncrease\r\n        if preIncAdj is not None:\r\n            val += preIncAdj\r\n        val *= multiplier\r\n        if multAdj is not None:\r\n            val *= multAdj\r\n        # Each group is penalized independently\r\n        # Things in different groups will not be stack penalized between each other\r\n        for penaltyGroup, penalizedMultipliers in penalizedMultiplierGroups.items():\r\n            if ignorePenMult is not None and penaltyGroup in ignorePenMult:\r\n                # Avoid modifying source and remove multipliers we were asked to remove for this calc\r\n                penalizedMultipliers = penalizedMultipliers[:]\r\n                for ignoreMult in ignorePenMult[penaltyGroup]:\r\n                    try:\r\n                        penalizedMultipliers.remove(ignoreMult)\r\n                    except ValueError:\r\n                        pass\r\n            # A quick explanation of how this works:\r\n            # 1: Bonuses and penalties are calculated seperately, so we'll have to filter each of them\r\n            l1 = [_val for _val in penalizedMultipliers if _val > 1]\r\n            l2 = [_val for _val in penalizedMultipliers if _val < 1]\r\n            # 2: The most significant bonuses take the smallest penalty,\r\n            # This means we'll have to sort\r\n            abssort = lambda _val: -abs(_val - 1)\r\n            l1.sort(key=abssort)\r\n            l2.sort(key=abssort)\r\n            # 3: The first module doesn't get penalized at all\r\n            # Any module after the first takes penalties according to:\r\n            # 1 + (multiplier - 1) * math.exp(- math.pow(i, 2) / 7.1289)\r\n            for l in (l1, l2):\r\n                for i in range(len(l)):\r\n                    bonus = l[i]\r\n                    val *= 1 + (bonus - 1) * exp(- i ** 2 / 7.1289)\r\n        val += postIncrease\r\n        if postIncAdj is not None:\r\n            val += postIncAdj\r\n\r\n        # Cap value if we have cap defined\r\n        if cappingValue is not None:\r\n            val = min(val, cappingValue)\r\n        if key in (\"cpu\", \"power\", \"cpuOutput\", \"powerOutput\"):\r\n            val = round(val, 2)\r\n        return val\r\n\r\n    def __handleSkill(self, skillName):\r\n        \"\"\"\r\n        Since ship skill bonuses do not directly modify the attributes, it does\r\n        not register as an affector (instead, the ship itself is the affector).\r\n        To fix this, we pass the skill which ends up here, where we register it\r\n        with the fit and thus get the correct affector. Returns skill level to\r\n        be used to modify modifier. See GH issue #101\r\n        \"\"\"\r\n        skill = self.fit.character.getSkill(skillName)\r\n        self.__tmpModifier = skill\r\n        return skill.level\r\n\r\n    def getAfflictions(self, key):\r\n        return self.__affectedBy.get(key, {})\r\n\r\n    def iterAfflictions(self):\r\n        return self.__affectedBy.__iter__()\r\n\r\n    def __afflict(self, attributeName, operator, stackingGroup, preResAmount, postResAmount, used=True):\r\n        \"\"\"Add modifier to list of things affecting current item\"\"\"\r\n        # Do nothing if no fit is assigned\r\n        fit = self.fit\r\n        if fit is None:\r\n            return\r\n        # Create dictionary for given attribute and give it alias\r\n        if attributeName not in self.__affectedBy:\r\n            self.__affectedBy[attributeName] = {}\r\n        affs = self.__affectedBy[attributeName]\r\n        origin = fit.getOrigin()\r\n        fit = origin if origin and origin != fit else fit\r\n        # If there's no set for current fit in dictionary, create it\r\n        if fit not in affs:\r\n            affs[fit] = []\r\n        # Reassign alias to list\r\n        affs = affs[fit]\r\n        # Get modifier which helps to compose 'Affected by' map\r\n\r\n        if self.__tmpModifier:\r\n            modifier = self.__tmpModifier\r\n            self.__tmpModifier = None\r\n        else:\r\n            modifier = fit.getModifier()\r\n\r\n        # Add current affliction to list\r\n        affs.append((modifier, operator, stackingGroup, preResAmount, postResAmount, used))\r\n\r\n    def preAssign(self, attributeName, value, **kwargs):\r\n        \"\"\"Overwrites original value of the entity with given one, allowing further modification\"\"\"\r\n        self.__preAssigns[attributeName] = value\r\n        self.__placehold(attributeName)\r\n        self.__afflict(attributeName, Operator.PREASSIGN, None, value, value, value != self.getOriginal(attributeName))\r\n\r\n    def increase(self, attributeName, increase, position=\"pre\", skill=None, **kwargs):\r\n        \"\"\"Increase value of given attribute by given number\"\"\"\r\n        if skill:\r\n            increase *= self.__handleSkill(skill)\r\n\r\n        if 'effect' in kwargs:\r\n            increase *= ModifiedAttributeDict.getResistance(self.fit, kwargs['effect']) or 1\r\n\r\n        # Increases applied before multiplications and after them are\r\n        # written in separate maps\r\n        if position == \"pre\":\r\n            operator = Operator.PREINCREASE\r\n            tbl = self.__preIncreases\r\n        elif position == \"post\":\r\n            operator = Operator.POSTINCREASE\r\n            tbl = self.__postIncreases\r\n        else:\r\n            raise ValueError(\"position should be either pre or post\")\r\n        if attributeName not in tbl:\r\n            tbl[attributeName] = 0\r\n        tbl[attributeName] += increase\r\n        self.__placehold(attributeName)\r\n        self.__afflict(attributeName, operator, None, increase, increase, increase != 0)\r\n\r\n    def multiply(self, attributeName, multiplier, stackingPenalties=False, penaltyGroup=\"default\", skill=None, **kwargs):\r\n        \"\"\"Multiply value of given attribute by given factor\"\"\"\r\n        if multiplier is None:  # See GH issue 397\r\n            return\r\n\r\n        if skill:\r\n            multiplier *= self.__handleSkill(skill)\r\n\r\n        preResMultiplier = multiplier\r\n        resisted = False\r\n        # Goddammit CCP, make up your mind where you want this information >.< See #1139\r\n        if 'effect' in kwargs:\r\n            resistFactor = ModifiedAttributeDict.getResistance(self.fit, kwargs['effect']) or 1\r\n            if resistFactor != 1:\r\n                resisted = True\r\n                multiplier = (multiplier - 1) * resistFactor + 1\r\n\r\n        # If we're asked to do stacking penalized multiplication, append values\r\n        # to per penalty group lists\r\n        if stackingPenalties:\r\n            if attributeName not in self.__penalizedMultipliers:\r\n                self.__penalizedMultipliers[attributeName] = {}\r\n            if penaltyGroup not in self.__penalizedMultipliers[attributeName]:\r\n                self.__penalizedMultipliers[attributeName][penaltyGroup] = []\r\n            tbl = self.__penalizedMultipliers[attributeName][penaltyGroup]\r\n            tbl.append(multiplier)\r\n        # Non-penalized multiplication factors go to the single list\r\n        else:\r\n            if attributeName not in self.__multipliers:\r\n                self.__multipliers[attributeName] = 1\r\n            self.__multipliers[attributeName] *= multiplier\r\n\r\n        self.__placehold(attributeName)\r\n\r\n        afflictPenal = \"\"\r\n        if stackingPenalties:\r\n            afflictPenal += \"s\"\r\n        if resisted:\r\n            afflictPenal += \"r\"\r\n\r\n        self.__afflict(\r\n            attributeName, Operator.MULTIPLY, penaltyGroup if stackingPenalties else None,\r\n            preResMultiplier, multiplier, multiplier != 1)\r\n\r\n    def boost(self, attributeName, boostFactor, skill=None, **kwargs):\r\n        \"\"\"Boost value by some percentage\"\"\"\r\n        if skill:\r\n            boostFactor *= self.__handleSkill(skill)\r\n\r\n        # We just transform percentage boost into multiplication factor\r\n        self.multiply(attributeName, 1 + boostFactor / 100.0, **kwargs)\r\n\r\n    def force(self, attributeName, value, **kwargs):\r\n        \"\"\"Force value to attribute and prohibit any changes to it\"\"\"\r\n        self.__forced[attributeName] = value\r\n        self.__placehold(attributeName)\r\n        self.__afflict(attributeName, Operator.FORCE, None, value, value)\r\n\r\n    @staticmethod\r\n    def getResistance(fit, effect):\r\n        # Resistances are applicable only to projected effects\r\n        if isinstance(effect.type, (tuple, list)):\r\n            effectType = effect.type\r\n        else:\r\n            effectType = (effect.type,)\r\n        if 'projected' not in effectType:\r\n            return 1\r\n        remoteResistID = getResistanceAttrID(modifyingItem=fit.getModifier(), effect=effect)\r\n        if not remoteResistID:\r\n            return 1\r\n        attrInfo = getAttributeInfo(remoteResistID)\r\n        # Get the attribute of the resist\r\n        resist = fit.ship.itemModifiedAttributes[attrInfo.attributeName] or None\r\n        return resist or 1\r\n\r\n\r\nclass Affliction:\r\n    def __init__(self, affliction_type, amount):\r\n        self.type = affliction_type\r\n        self.amount = amount\r\n"
  },
  {
    "path": "eos/saveddata/__init__.py",
    "content": ""
  },
  {
    "path": "eos/saveddata/booster.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom logbook import Logger\r\n\r\nfrom sqlalchemy.orm import reconstructor, validates\r\n\r\nimport eos.db\r\nfrom eos.effectHandlerHelpers import HandledItem\r\nfrom eos.modifiedAttributeDict import ModifiedAttributeDict, ItemAttrShortcut\r\nfrom eos.saveddata.boosterSideEffect import BoosterSideEffect\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass Booster(HandledItem, ItemAttrShortcut):\r\n\r\n    def __init__(self, item):\r\n        self.__item = item\r\n\r\n        if self.isInvalid:\r\n            raise ValueError(\"Passed item is not a Booster\")\r\n\r\n        self.itemID = item.ID if item is not None else None\r\n        self.active = True\r\n\r\n        self.__sideEffects = self.__getSideEffects()\r\n\r\n        self.build()\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        \"\"\"Initialize a booster from the database and validate\"\"\"\r\n        self.__item = None\r\n\r\n        if self.itemID:\r\n            self.__item = eos.db.getItem(self.itemID)\r\n            if self.__item is None:\r\n                pyfalog.error(\"Item (id: {0}) does not exist\", self.itemID)\r\n                return\r\n\r\n        if self.isInvalid:\r\n            pyfalog.error(\"Item (id: {0}) is not a Booster\", self.itemID)\r\n            return\r\n\r\n        self.build()\r\n\r\n    def build(self):\r\n        \"\"\" Build object. Assumes proper and valid item already set \"\"\"\r\n        self.__itemModifiedAttributes = ModifiedAttributeDict()\r\n        self.__itemModifiedAttributes.original = self.__item.attributes\r\n        self.__itemModifiedAttributes.overrides = self.__item.overrides\r\n        self.__slot = self.__calculateSlot(self.__item)\r\n\r\n        if len(self.sideEffects) != len(self.__getSideEffects()):\r\n            self.__sideEffects = []\r\n            for ability in self.__getSideEffects():\r\n                self.__sideEffects.append(ability)\r\n\r\n    @property\r\n    def sideEffects(self):\r\n        return self.__sideEffects or []\r\n\r\n    @property\r\n    def activeSideEffectEffects(self):\r\n        return [x.effect for x in self.sideEffects if x.active]\r\n\r\n    def __getSideEffects(self):\r\n        \"\"\"Returns list of BoosterSideEffect that are loaded with data\"\"\"\r\n        return [BoosterSideEffect(effect) for effect in self.item.effects.values() if effect.isType(\"boosterSideEffect\")]\r\n\r\n    @property\r\n    def itemModifiedAttributes(self):\r\n        return self.__itemModifiedAttributes\r\n\r\n    @property\r\n    def isInvalid(self):\r\n        return self.__item is None or self.__item.group.name != \"Booster\"\r\n\r\n    @property\r\n    def slot(self):\r\n        return self.__slot\r\n\r\n    @property\r\n    def item(self):\r\n        return self.__item\r\n\r\n    @staticmethod\r\n    def __calculateSlot(item):\r\n        if \"boosterness\" not in item.attributes:\r\n            raise ValueError(\"Passed item is not a booster\")\r\n\r\n        return int(item.attributes[\"boosterness\"].value)\r\n\r\n    def clear(self):\r\n        self.itemModifiedAttributes.clear()\r\n\r\n    def calculateModifiedAttributes(self, fit, runTime, forceProjected=False):\r\n        if forceProjected:\r\n            return\r\n        if not self.active:\r\n            return\r\n\r\n        for effect in self.item.effects.values():\r\n            if effect.runTime == runTime and \\\r\n                    (effect.isType(\"passive\") or effect.isType(\"boosterSideEffect\")):\r\n                if effect.isType(\"boosterSideEffect\") and effect not in self.activeSideEffectEffects:\r\n                    continue\r\n                effect.handler(fit, self, (\"booster\",), None, effect=effect)\r\n\r\n    @validates(\"ID\", \"itemID\", \"ammoID\", \"active\")\r\n    def validator(self, key, val):\r\n        map = {\r\n            \"ID\"    : lambda _val: isinstance(_val, int),\r\n            \"itemID\": lambda _val: isinstance(_val, int),\r\n            \"ammoID\": lambda _val: isinstance(_val, int),\r\n            \"active\": lambda _val: isinstance(_val, bool),\r\n            \"slot\"  : lambda _val: isinstance(_val, int) and 1 <= _val <= 3\r\n        }\r\n\r\n        if not map[key](val):\r\n            raise ValueError(str(val) + \" is not a valid value for \" + key)\r\n        else:\r\n            return val\r\n\r\n    def __deepcopy__(self, memo):\r\n        copy = Booster(self.item)\r\n        copy.active = self.active\r\n\r\n        for sideEffect in self.sideEffects:\r\n            copyEffect = next(filter(lambda eff: eff.effectID == sideEffect.effectID, copy.sideEffects))\r\n            copyEffect.active = sideEffect.active\r\n\r\n        return copy\r\n\r\n    def rebase(self, item):\r\n        active = self.active\r\n        sideEffectStates = {se.effectID: se.active for se in self.sideEffects}\r\n        Booster.__init__(self, item)\r\n        self.active = active\r\n        for sideEffect in self.sideEffects:\r\n            if sideEffect.effectID in sideEffectStates:\r\n                sideEffect.active = sideEffectStates[sideEffect.effectID]\r\n\r\n    def __repr__(self):\r\n        if self.item is not None:\r\n            return f\"Booster(ID={self.item.ID}, name={self.item.name}) at {hex(id(self))}\"\r\n        return f\"Booster(ID={self.itemID}) at {hex(id(self))}\"\r\n"
  },
  {
    "path": "eos/saveddata/boosterSideEffect.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom logbook import Logger\r\n\r\nfrom sqlalchemy.orm import reconstructor\r\n\r\nfrom eos.utils.round import roundToPrec\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass BoosterSideEffect:\r\n\r\n    def __init__(self, effect):\r\n        \"\"\"Initialize from the program\"\"\"\r\n        self.__effect = effect\r\n        self.effectID = effect.ID if effect is not None else None\r\n        self.active = False\r\n        self.build()\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        \"\"\"Initialize from the database\"\"\"\r\n        self.__effect = None\r\n\r\n        if self.effectID:\r\n            self.__effect = next((x for x in self.booster.item.effects.values() if x.ID == self.effectID), None)\r\n            if self.__effect is None:\r\n                pyfalog.error(\"Effect (id: {0}) does not exist\", self.effectID)\r\n                return\r\n\r\n        self.build()\r\n\r\n    def build(self):\r\n        pass\r\n\r\n    @property\r\n    def effect(self):\r\n        return self.__effect\r\n\r\n    @property\r\n    def name(self):\r\n        return \"{0}% {1}\".format(\r\n            roundToPrec(self.booster.getModifiedItemAttr(self.attr), 5),\r\n            self.__effect.getattr('displayName') or self.__effect.name)\r\n\r\n    @property\r\n    def attr(self):\r\n        return self.__effect.getattr('attr')\r\n"
  },
  {
    "path": "eos/saveddata/cargo.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport sys\r\nfrom logbook import Logger\r\n\r\nfrom sqlalchemy.orm import validates, reconstructor\r\n\r\nimport eos.db\r\nfrom eos.effectHandlerHelpers import HandledItem\r\nfrom eos.modifiedAttributeDict import ModifiedAttributeDict, ItemAttrShortcut\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass Cargo(HandledItem, ItemAttrShortcut):\r\n    def __init__(self, item):\r\n        \"\"\"Initialize cargo from the program\"\"\"\r\n        self.__item = item\r\n        self.itemID = item.ID if item is not None else None\r\n        self.amount = 0\r\n        self.__itemModifiedAttributes = ModifiedAttributeDict()\r\n        self.__itemModifiedAttributes.original = item.attributes\r\n        self.__itemModifiedAttributes.overrides = item.overrides\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        \"\"\"Initialize cargo from the database and validate\"\"\"\r\n        self.__item = None\r\n\r\n        if self.itemID:\r\n            self.__item = eos.db.getItem(self.itemID)\r\n            if self.__item is None:\r\n                pyfalog.error(\"Item (id: {0}) does not exist\", self.itemID)\r\n                return\r\n\r\n        self.__itemModifiedAttributes = ModifiedAttributeDict()\r\n        self.__itemModifiedAttributes.original = self.__item.attributes\r\n        self.__itemModifiedAttributes.overrides = self.__item.overrides\r\n\r\n    @property\r\n    def itemModifiedAttributes(self):\r\n        return self.__itemModifiedAttributes\r\n\r\n    @property\r\n    def isInvalid(self):\r\n        return self.__item is None\r\n\r\n    @property\r\n    def item(self):\r\n        return self.__item\r\n\r\n    def clear(self):\r\n        self.itemModifiedAttributes.clear()\r\n\r\n    @validates(\"fitID\", \"itemID\", \"amount\")\r\n    def validator(self, key, val):\r\n        map = {\r\n            \"fitID\" : lambda _val: isinstance(_val, int),\r\n            \"itemID\": lambda _val: isinstance(_val, int),\r\n            \"amount\": lambda _val: isinstance(_val, int)\r\n        }\r\n\r\n        if key == \"amount\" and val > sys.maxsize:\r\n            val = sys.maxsize\r\n\r\n        if not map[key](val):\r\n            raise ValueError(str(val) + \" is not a valid value for \" + key)\r\n        else:\r\n            return val\r\n\r\n    def __deepcopy__(self, memo):\r\n        copy = Cargo(self.item)\r\n        copy.amount = self.amount\r\n        return copy\r\n\r\n    def rebase(self, item):\r\n        amount = self.amount\r\n        Cargo.__init__(self, item)\r\n        self.amount = amount\r\n\r\n    def __repr__(self):\r\n        return \"Cargo(ID={}, name={}) at {}\".format(\r\n            self.item.ID, self.item.name, hex(id(self))\r\n        )\r\n"
  },
  {
    "path": "eos/saveddata/character.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport time\r\n\r\nfrom logbook import Logger\r\nfrom itertools import chain\r\n\r\nfrom sqlalchemy.orm import validates, reconstructor\r\n\r\nimport eos\r\nimport eos.db\r\nimport eos.config\r\nfrom eos.effectHandlerHelpers import HandledItem, HandledImplantList\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass Character:\r\n    __itemList = None\r\n    __itemIDMap = None\r\n    __itemNameMap = None\r\n\r\n    def __init__(self, name, defaultLevel=None, initSkills=True):\r\n        self.savedName = name\r\n        self.__owner = None\r\n        self.defaultLevel = defaultLevel\r\n        self.__skills = []\r\n        self.__skillIdMap = {}\r\n        self.dirtySkills = set()\r\n        self.alphaClone = None\r\n        self.__secStatus = 0.0\r\n\r\n        if initSkills:\r\n            for item in self.getSkillList():\r\n                self.addSkill(Skill(self, item.ID, self.defaultLevel))\r\n\r\n        self.__implants = HandledImplantList()\r\n\r\n    @reconstructor\r\n    def init(self):\r\n\r\n        self.__skillIdMap = {}\r\n\r\n        for skill in self.__skills:\r\n            self.__skillIdMap[skill.itemID] = skill\r\n\r\n        # get a list of skills that the character does no have, and add them (removal of old skills happens in the\r\n        # Skill loading)\r\n        for skillID in set(self.getSkillIDMap().keys()).difference(set(self.__skillIdMap.keys())):\r\n            self.addSkill(Skill(self, skillID, self.defaultLevel))\r\n\r\n        self.dirtySkills = set()\r\n\r\n        self.alphaClone = None\r\n\r\n        if self.alphaCloneID:\r\n            self.alphaClone = eos.db.getAlphaClone(self.alphaCloneID)\r\n\r\n    @classmethod\r\n    def getSkillList(cls):\r\n        if cls.__itemList is None:\r\n            cls.__itemList = eos.db.getItemsByCategory(\"Skill\")\r\n\r\n        return cls.__itemList\r\n\r\n    @classmethod\r\n    def getSkillIDMap(cls):\r\n        if cls.__itemIDMap is None:\r\n            map = {}\r\n            for skill in cls.getSkillList():\r\n                map[skill.ID] = skill\r\n\r\n            cls.__itemIDMap = map\r\n\r\n        return cls.__itemIDMap\r\n\r\n    @classmethod\r\n    def getSkillNameMap(cls):\r\n        if cls.__itemNameMap is None:\r\n            map = {}\r\n            for skill in cls.getSkillList():\r\n                map[skill.typeName] = skill\r\n\r\n            cls.__itemNameMap = map\r\n\r\n        return cls.__itemNameMap\r\n\r\n    @classmethod\r\n    def getAll5(cls):\r\n        all5 = eos.db.getCharacter(\"All 5\")\r\n\r\n        if all5 is None:\r\n            # We do not have to be afraid of committing here and saving\r\n            # edited character data. If this ever runs, it will be during the\r\n            # get character list phase when pyfa first starts\r\n            all5 = Character(\"All 5\", 5)\r\n            eos.db.save(all5)\r\n\r\n        return all5\r\n\r\n    @classmethod\r\n    def getAll0(cls):\r\n        all0 = eos.db.getCharacter(\"All 0\")\r\n\r\n        if all0 is None:\r\n            all0 = Character(\"All 0\")\r\n            eos.db.save(all0)\r\n\r\n        return all0\r\n\r\n    def apiUpdateCharSheet(self, skills, secStatus=0.00):\r\n        self.clearSkills()\r\n        for skillRow in skills:\r\n            self.addSkill(Skill(self, skillRow[\"typeID\"], skillRow[\"level\"]))\r\n        self.secStatus = float(secStatus)\r\n\r\n    def clearSkills(self):\r\n        del self.__skills[:]\r\n        self.__skillIdMap.clear()\r\n        self.dirtySkills.clear()\r\n\r\n    @property\r\n    def ro(self):\r\n        return self == self.getAll0() or self == self.getAll5()\r\n\r\n    @property\r\n    def secStatus(self):\r\n        if self.name == \"All 5\":\r\n            self.__secStatus = 5.00\r\n        elif self.name == \"All 0\":\r\n            self.__secStatus = 0.00\r\n        return self.__secStatus\r\n\r\n    @secStatus.setter\r\n    def secStatus(self, sec):\r\n        self.__secStatus = sec\r\n\r\n    @property\r\n    def owner(self):\r\n        return self.__owner\r\n\r\n    @owner.setter\r\n    def owner(self, owner):\r\n        self.__owner = owner\r\n\r\n    @property\r\n    def name(self):\r\n        name = self.savedName\r\n\r\n        if self.isDirty:\r\n            name += \" *\"\r\n\r\n        if self.alphaCloneID:\r\n            name += ' (\\u03B1)'\r\n\r\n        return name\r\n\r\n    @name.setter\r\n    def name(self, name):\r\n        self.savedName = name\r\n\r\n    def setSsoCharacter(self, character, clientHash):\r\n        if character is not None:\r\n            self.__ssoCharacters.append(character)\r\n        else:\r\n            for x in self.__ssoCharacters:\r\n                if x.client == clientHash:\r\n                    self.__ssoCharacters.remove(x)\r\n\r\n    def getSsoCharacter(self, clientHash):\r\n        return next((x for x in self.__ssoCharacters if x.client == clientHash), None)\r\n\r\n    @property\r\n    def alphaCloneID(self):\r\n        return self.__alphaCloneID\r\n\r\n    @alphaCloneID.setter\r\n    def alphaCloneID(self, cloneID):\r\n        self.__alphaCloneID = cloneID\r\n        self.alphaClone = eos.db.getAlphaClone(cloneID) if cloneID is not None else None\r\n\r\n    @property\r\n    def skills(self):\r\n        return self.__skills\r\n\r\n    def addSkill(self, skill):\r\n        if skill.itemID in self.__skillIdMap:\r\n            oldSkill = self.__skillIdMap[skill.itemID]\r\n            if skill.level > oldSkill.level:\r\n                # if new skill is higher, remove old skill (new skill will still append)\r\n                self.__skills.remove(oldSkill)\r\n            else:\r\n                return\r\n\r\n        self.__skillIdMap[skill.itemID] = skill\r\n\r\n    def removeSkill(self, skill):\r\n        self.__skills.remove(skill)\r\n        del self.__skillIdMap[skill.itemID]\r\n\r\n    def getSkill(self, item):\r\n        if isinstance(item, str):\r\n            item = self.getSkillNameMap()[item]\r\n        elif isinstance(item, int):\r\n            item = self.getSkillIDMap()[item]\r\n\r\n        skill = self.__skillIdMap.get(item.ID)\r\n\r\n        if skill is None:\r\n            skill = Skill(self, item, self.defaultLevel, False, True)\r\n            self.addSkill(skill)\r\n\r\n        return skill\r\n\r\n    @property\r\n    def implants(self):\r\n        return self.__implants\r\n\r\n    @property\r\n    def isDirty(self):\r\n        return len(self.dirtySkills) > 0\r\n\r\n    def saveLevels(self):\r\n        if self.ro:\r\n            raise ReadOnlyException(\"This character is read-only\")\r\n\r\n        for skill in self.dirtySkills.copy():\r\n            skill.saveLevel()\r\n\r\n        self.dirtySkills = set()\r\n        eos.db.commit()\r\n\r\n    def revertLevels(self):\r\n        for skill in self.dirtySkills.copy():\r\n            skill.revert()\r\n\r\n        self.dirtySkills = set()\r\n\r\n    def filteredSkillIncrease(self, filter, *args, **kwargs):\r\n        for element in self.skills:\r\n            if filter(element):\r\n                element.increaseItemAttr(*args, **kwargs)\r\n\r\n    def filteredSkillMultiply(self, filter, *args, **kwargs):\r\n        for element in self.skills:\r\n            if filter(element):\r\n                element.multiplyItemAttr(*args, **kwargs)\r\n\r\n    def filteredSkillBoost(self, filter, *args, **kwargs):\r\n        for element in self.skills:\r\n            if filter(element):\r\n                element.boostItemAttr(*args, **kwargs)\r\n\r\n    def calculateModifiedAttributes(self, fit, runTime, forceProjected=False):\r\n        if forceProjected:\r\n            return\r\n        for skill in self.skills:\r\n            fit.register(skill)\r\n            skill.calculateModifiedAttributes(fit, runTime)\r\n\r\n    def clear(self):\r\n        c = chain(\r\n                self.skills,\r\n                self.implants\r\n        )\r\n        for stuff in c:\r\n            if stuff is not None and stuff != self:\r\n                stuff.clear()\r\n\r\n    def __deepcopy__(self, memo):\r\n        copy = Character(\"%s copy\" % self.name, initSkills=False)\r\n\r\n        for skill in self.skills:\r\n            copy.addSkill(Skill(copy, skill.itemID, skill.level, False, skill.learned))\r\n\r\n        return copy\r\n\r\n    @validates(\"ID\", \"name\", \"ownerID\")\r\n    def validator(self, key, val):\r\n        map = {\r\n            \"ID\"     : lambda _val: isinstance(_val, int),\r\n            \"name\"   : lambda _val: True,\r\n            \"ownerID\": lambda _val: isinstance(_val, int) or _val is None\r\n        }\r\n\r\n        if not map[key](val):\r\n            raise ValueError(str(val) + \" is not a valid value for \" + key)\r\n        else:\r\n            return val\r\n\r\n    def __repr__(self):\r\n        return \"Character(ID={}, name={}) at {}\".format(\r\n                self.ID, self.name, hex(id(self))\r\n        )\r\n\r\n\r\nclass Skill(HandledItem):\r\n    def __init__(self, character, item, level=0, ro=False, learned=True):\r\n        self.character = character\r\n        self.__item = item if not isinstance(item, int) else None\r\n        self.itemID = item.ID if not isinstance(item, int) else item\r\n        self.__level = level if learned else None\r\n        self.commandBonus = 0\r\n        self.build(ro)\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        self.build(False)\r\n        self.__item = None\r\n\r\n    def build(self, ro):\r\n        self.__ro = ro\r\n        self.__suppressed = False\r\n        self.activeLevel = self.__level\r\n\r\n    def saveLevel(self):\r\n        self.__level = self.activeLevel\r\n\r\n        if self in self.character.dirtySkills:\r\n            self.character.dirtySkills.remove(self)\r\n\r\n    def revert(self):\r\n        self.activeLevel = self.__level\r\n\r\n    @property\r\n    def isDirty(self):\r\n        return self.__level != self.activeLevel\r\n\r\n    @property\r\n    def learned(self):\r\n        return self.activeLevel is not None\r\n\r\n    @property\r\n    def level(self):\r\n        # @todo: there is a phantom bug that keep popping up about skills not having a character... See #1234\r\n        # Remove this at some point when the cause can be determined.\r\n        if self.character:\r\n            # Ensure that All 5/0 character have proper skill levels (in case database gets corrupted)\r\n            if self.character.name == \"All 5\":\r\n                self.activeLevel = self.__level = 5\r\n            elif self.character.name == \"All 0\":\r\n                self.activeLevel = self.__level = 0\r\n            elif self.character.alphaClone:\r\n                return min(self.activeLevel or 0, self.character.alphaClone.getSkillLevel(self) or 0)\r\n\r\n        return self.activeLevel or 0\r\n\r\n    def setLevel(self, level, persist=False, ignoreRestrict=False):\r\n\r\n        if level is not None and (level < 0 or level > 5):\r\n            raise ValueError(str(level) + \" is not a valid value for level\")\r\n\r\n        if hasattr(self, \"_Skill__ro\") and self.__ro is True:\r\n            raise ReadOnlyException()\r\n\r\n        self.activeLevel = level\r\n\r\n        # todo: have a way to do bulk skill level editing. Currently, everytime a single skill is changed, this runs,\r\n        # which affects performance. Should have a checkSkillLevels() or something that is more efficient for bulk.\r\n        if not ignoreRestrict and eos.config.settings['strictSkillLevels']:\r\n            start = time.time()\r\n            for item, rlevel in self.item.requiredFor.items():\r\n                if item.group.category.ID == 16:  # Skill category\r\n                    if level is None or level < rlevel:\r\n                        skill = self.character.getSkill(item.ID)\r\n                        # print \"Removing skill: {}, Dependant level: {}, Required level: {}\".format(skill, level, rlevel)\r\n                        skill.setLevel(None, persist)\r\n            pyfalog.debug(\"Strict Skill levels enabled, time to process {}: {}\".format(self.item.ID, time.time() - start))\r\n\r\n        if persist:\r\n            self.saveLevel()\r\n        else:\r\n            self.character.dirtySkills.add(self)\r\n\r\n            if self.activeLevel == self.__level and self in self.character.dirtySkills:\r\n                self.character.dirtySkills.remove(self)\r\n\r\n    @property\r\n    def item(self):\r\n        if self.__item is None:\r\n            self.__item = item = Character.getSkillIDMap().get(self.itemID)\r\n            if item is None:\r\n                # This skill is no longer in the database and thus invalid it, get rid of it.\r\n                self.character.removeSkill(self)\r\n\r\n        return self.__item\r\n\r\n    def getModifiedItemAttr(self, key):\r\n        if key in self.item.attributes:\r\n            return self.item.attributes[key].value\r\n        else:\r\n            return 0\r\n\r\n    def calculateModifiedAttributes(self, fit, runTime):\r\n        if self.__suppressed:  # or not self.learned - removed for GH issue 101\r\n            return\r\n\r\n        item = self.item\r\n        if item is None:\r\n            return\r\n\r\n        for effect in item.effects.values():\r\n            if effect.runTime == runTime and \\\r\n                    effect.isType(\"passive\") and \\\r\n                    (not fit.isStructure or effect.isType(\"structure\")) and \\\r\n                    effect.activeByDefault:\r\n                try:\r\n                    effect.handler(fit, self, (\"skill\",), None, effect=effect)\r\n                except AttributeError:\r\n                    continue\r\n\r\n    def clear(self):\r\n        self.__suppressed = False\r\n        self.commandBonus = 0\r\n\r\n    def suppress(self):\r\n        self.__suppressed = True\r\n\r\n    def isSuppressed(self):\r\n        return self.__suppressed\r\n\r\n    @validates(\"characterID\", \"skillID\", \"level\")\r\n    def validator(self, key, val):\r\n        if hasattr(self, \"_Skill__ro\") and self.__ro is True and key != \"characterID\":\r\n            raise ReadOnlyException()\r\n\r\n        map = {\r\n            \"characterID\": lambda _val: isinstance(_val, int),\r\n            \"skillID\"    : lambda _val: isinstance(_val, int)\r\n        }\r\n\r\n        if not map[key](val):\r\n            raise ValueError(str(val) + \" is not a valid value for \" + key)\r\n        else:\r\n            return val\r\n\r\n    def __deepcopy__(self, memo):\r\n        copy = Skill(self.character, self.item, self.level, self.__ro)\r\n        return copy\r\n\r\n    def __repr__(self):\r\n        return \"Skill(ID={}, name={}) at {}\".format(\r\n                self.item.ID, self.item.name, hex(id(self))\r\n        )\r\n\r\n\r\nclass ReadOnlyException(Exception):\r\n    pass\r\n"
  },
  {
    "path": "eos/saveddata/citadel.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom logbook import Logger\r\n\r\nfrom eos.saveddata.ship import Ship\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass Citadel(Ship):\r\n    def validate(self, item):\r\n        if item.category.name != \"Structure\":\r\n            pyfalog.error(\"Passed item '{0}' (category: {1}) is not under Structure category\", item.name, item.category.name)\r\n            raise ValueError(\r\n                    'Passed item \"%s\" (category: (%s)) is not under Structure category' % (item.name, item.category.name))\r\n\r\n    def __deepcopy__(self, memo):\r\n        copy = Citadel(self.item)\r\n        return copy\r\n\r\n    def __repr__(self):\r\n        return \"Citadel(ID={}, name={}) at {}\".format(\r\n                self.item.ID, self.item.name, hex(id(self))\r\n        )\r\n"
  },
  {
    "path": "eos/saveddata/damagePattern.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport re\r\nfrom collections import OrderedDict\r\n\r\nfrom sqlalchemy.orm import reconstructor\r\n\r\nimport eos.db\r\n\r\n\r\ndef _t(x):\r\n    return x\r\n\r\n\r\ndef _c(x):\r\n    return '[' + x + ']'\r\n\r\n\r\n# Order is significant here - UI uses order as-is for built-in patterns\r\nBUILTINS = OrderedDict([\r\n    (-1, (_t('Uniform'), 25, 25, 25, 25)),\r\n    (-2, (_c(_t('Generic')) + _t('EM'), 1, 0, 0, 0)),\r\n    (-3, (_c(_t('Generic')) + _t('Thermal'), 0, 1, 0, 0)),\r\n    (-4, (_c(_t('Generic')) + _t('Kinetic'), 0, 0, 1, 0)),\r\n    (-5, (_c(_t('Generic')) + _t('Explosive'), 0, 0, 0, 1)),\r\n    (-6, (_c(_t('Frequency Crystals')) + '|' + _t('[T2] Aurora'), 5, 3, 0, 0)),\r\n    (-7, (_c(_t('Frequency Crystals')) + '|' + _t('[T2] Scorch'), 9, 2, 0, 0)),\r\n    (-8, (_c(_t('Frequency Crystals')) + _t('Radio'), 5, 0, 0, 0)),\r\n    (-9, (_c(_t('Frequency Crystals')) + _t('Microwave'), 4, 2, 0, 0)),\r\n    (-10, (_c(_t('Frequency Crystals')) + _t('Infrared'), 5, 2, 0, 0)),\r\n    (-11, (_c(_t('Frequency Crystals')) + _t('Standard'), 5, 3, 0, 0)),\r\n    (-12, (_c(_t('Frequency Crystals')) + _t('Ultraviolet'), 6, 3, 0, 0)),\r\n    (-13, (_c(_t('Frequency Crystals')) + _t('Xray'), 6, 4, 0, 0)),\r\n    (-14, (_c(_t('Frequency Crystals')) + _t('Gamma'), 7, 4, 0, 0)),\r\n    (-15, (_c(_t('Frequency Crystals')) + _t('Multifrequency'), 7, 5, 0, 0)),\r\n    (-16, (_c(_t('Frequency Crystals')) + '|' + _t('[T2] Gleam'), 7, 7, 0, 0)),\r\n    (-17, (_c(_t('Frequency Crystals')) + '|' + _t('[T2] Conflagration'), 7.7, 7.7, 0, 0)),\r\n    # Different sizes of plasma do different damage ratios, the values here\r\n    # are average of ratios across sizes\r\n    (-18, (_c(_t('Exotic Plasma')) + '|' + _t('[T2] Mystic'), 0, 66319, 0, 33681)),\r\n    (-19, (_c(_t('Exotic Plasma')) + _t('Meson'), 0, 60519, 0, 39481)),\r\n    (-20, (_c(_t('Exotic Plasma')) + _t('Baryon'), 0, 59737, 0, 40263)),\r\n    (-21, (_c(_t('Exotic Plasma')) + _t('Tetryon'), 0, 69208, 0, 30792)),\r\n    (-22, (_c(_t('Exotic Plasma')) + '|' + _t('[T2] Occult'), 0, 55863, 0, 44137)),\r\n    # Different sizes of packs do different damage ratios, the values here\r\n    # are average of ratios across sizes\r\n    (-23, (_c(_t('Condenser Packs')) + '|' + _t('[T2] StrikeSnipe'), 51817, 0, 48183, 0)),\r\n    (-24, (_c(_t('Condenser Packs')) + _t('MesmerFlux'), 76476, 0, 23524, 0)),\r\n    (-25, (_c(_t('Condenser Packs')) + _t('SlamBolt'), 23376, 0, 76624, 0)),\r\n    (-26, (_c(_t('Condenser Packs')) + _t('BlastShot'), 19820, 0, 80180, 0)),\r\n    (-27, (_c(_t('Condenser Packs')) + _t('GalvaSurge'), 80206, 0, 19794, 0)),\r\n    (-28, (_c(_t('Condenser Packs')) + '|' + _t('[T2] ElectroPunch'), 50547, 0, 49453, 0)),\r\n\r\n    (-29, (_c(_t('Hybrid Charges')) + '|' + _t('[T2] Spike'), 0, 4, 4, 0)),\r\n    (-30, (_c(_t('Hybrid Charges')) + '|' + _t('[T2] Null'), 0, 6, 5, 0)),\r\n    (-31, (_c(_t('Hybrid Charges')) + _t('Iron'), 0, 2, 3, 0)),\r\n    (-32, (_c(_t('Hybrid Charges')) + _t('Tungsten'), 0, 2, 4, 0)),\r\n    (-33, (_c(_t('Hybrid Charges')) + _t('Iridium'), 0, 3, 4, 0)),\r\n    (-34, (_c(_t('Hybrid Charges')) + _t('Lead'), 0, 3, 5, 0)),\r\n    (-35, (_c(_t('Hybrid Charges')) + _t('Thorium'), 0, 4, 5, 0)),\r\n    (-36, (_c(_t('Hybrid Charges')) + _t('Uranium'), 0, 4, 6, 0)),\r\n    (-37, (_c(_t('Hybrid Charges')) + _t('Plutonium'), 0, 5, 6, 0)),\r\n    (-38, (_c(_t('Hybrid Charges')) + _t('Antimatter'), 0, 5, 7, 0)),\r\n    (-39, (_c(_t('Hybrid Charges')) + '|' + _t('[T2] Javelin'), 0, 8, 6, 0)),\r\n    (-40, (_c(_t('Hybrid Charges')) + '|' + _t('[T2] Void'), 0, 7.7, 7.7, 0)),\r\n    (-41, (_c(_t('Projectile Ammo')) + '|' + _t('[T2] Tremor'), 0, 0, 3, 5)),\r\n    (-42, (_c(_t('Projectile Ammo')) + '|' + _t('[T2] Barrage'), 0, 0, 5, 6)),\r\n    (-43, (_c(_t('Projectile Ammo')) + _t('Carbonized Lead'), 0, 0, 4, 1)),\r\n    (-44, (_c(_t('Projectile Ammo')) + _t('Nuclear'), 0, 0, 1, 4)),\r\n    (-45, (_c(_t('Projectile Ammo')) + _t('Proton'), 3, 0, 2, 0)),\r\n    (-46, (_c(_t('Projectile Ammo')) + _t('Depleted Uranium'), 0, 3, 2, 3)),\r\n    (-47, (_c(_t('Projectile Ammo')) + _t('Titanium Sabot'), 0, 0, 6, 2)),\r\n    (-48, (_c(_t('Projectile Ammo')) + _t('EMP'), 9, 0, 1, 2)),\r\n    (-49, (_c(_t('Projectile Ammo')) + _t('Phased Plasma'), 0, 10, 2, 0)),\r\n    (-50, (_c(_t('Projectile Ammo')) + _t('Fusion'), 0, 0, 2, 10)),\r\n    (-51, (_c(_t('Projectile Ammo')) + '|' + _t('[T2] Quake'), 0, 0, 5, 9)),\r\n    (-52, (_c(_t('Projectile Ammo')) + '|' + _t('[T2] Hail'), 0, 0, 3.3, 12.1)),\r\n    (-53, (_c(_t('Missiles')) + _t('Mjolnir'), 1, 0, 0, 0)),\r\n    (-54, (_c(_t('Missiles')) + _t('Inferno'), 0, 1, 0, 0)),\r\n    (-55, (_c(_t('Missiles')) + _t('Scourge'), 0, 0, 1, 0)),\r\n    (-56, (_c(_t('Missiles')) + _t('Nova'), 0, 0, 0, 1)),\r\n    (-57, (_c(_t('Bombs')) + _t('Electron Bomb'), 6400, 0, 0, 0)),\r\n    (-58, (_c(_t('Bombs')) + _t('Scorch Bomb'), 0, 6400, 0, 0)),\r\n    (-59, (_c(_t('Bombs')) + _t('Concussion Bomb'), 0, 0, 6400, 0)),\r\n    (-60, (_c(_t('Bombs')) + _t('Shrapnel Bomb'), 0, 0, 0, 6400)),\r\n    # Source: ticket #2067 and #2265\r\n    (-61, (_c(_t('NPC')) + _c(_t('Abyssal')) + _t('All'), 126, 427, 218, 230)),\r\n    (-62, (_c(_t('NPC')) + _c(_t('Abyssal')) + _t('Angel'), 450, 72, 80, 398)),\r\n    (-63, (_c(_t('NPC')) + _c(_t('Abyssal')) + _t('Concord'), 53, 559, 94, 295)),\r\n    (-64, (_c(_t('NPC')) + _c(_t('Abyssal')) + _t('Drifter'), 250, 250, 250, 250)),\r\n    (-65, (_c(_t('NPC')) + _c(_t('Abyssal')) + _t('Drones'), 250, 250, 250, 250)),\r\n    (-66, (_c(_t('NPC')) + _c(_t('Abyssal')) + _t('Overmind'), 0, 410, 590, 0)),\r\n    (-67, (_c(_t('NPC')) + _c(_t('Abyssal')) + _t('Sansha'), 569, 431, 0, 0)),\r\n    (-68, (_c(_t('NPC')) + _c(_t('Abyssal')) + _t('Seeker'), 402, 402, 98, 98)),\r\n    (-69, (_c(_t('NPC')) + _c(_t('Abyssal')) + _t('Sleeper'), 313, 313, 187, 187)),\r\n    (-70, (_c(_t('NPC')) + _c(_t('Abyssal')) + _t('Triglavian'), 0, 615, 0, 385)),\r\n    (-71, (_c(_t('NPC')) + _c(_t('Asteroid')) + _t('Angel Cartel'), 1838, 562, 2215, 3838)),\r\n    (-72, (_c(_t('NPC')) + _c(_t('Asteroid')) + _t('Blood Raiders'), 5067, 4214, 0, 0)),\r\n    (-73, (_c(_t('NPC')) + _c(_t('Asteroid')) + _t('Guristas'), 0, 1828, 7413, 0)),\r\n    (-74, (_c(_t('NPC')) + _c(_t('Asteroid')) + _t('Rogue Drone'), 394, 666, 1090, 1687)),\r\n    (-75, (_c(_t('NPC')) + _c(_t('Asteroid')) + _t('Sanshas Nation'), 5586, 4112, 0, 0)),\r\n    (-76, (_c(_t('NPC')) + _c(_t('Asteroid')) + _t('Serpentis'), 0, 5373, 4813, 0)),\r\n    (-77, (_c(_t('NPC')) + _c(_t('Burner')) + _c(_t('Team')) + _t('Enyo'), 0, 147, 147, 0)),\r\n    (-78, (_c(_t('NPC')) + _c(_t('Burner')) + _c(_t('Team')) + _t('Hawk'), 0, 0, 247, 0)),\r\n    (-79, (_c(_t('NPC')) + _c(_t('Burner')) + _c(_t('Team')) + _t('Jaguar'), 36, 0, 50, 182)),\r\n    (-80, (_c(_t('NPC')) + _c(_t('Burner')) + _c(_t('Team')) + _t('Vengeance'), 232, 0, 0, 0)),\r\n    (-81, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Cruor'), 90, 90, 0, 0)),\r\n    (-82, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Dramiel'), 55, 0, 20, 96)),\r\n    (-83, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Daredevil'), 0, 110, 154, 0)),\r\n    (-84, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Succubus'), 135, 30, 0, 0)),\r\n    (-85, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Worm'), 0, 0, 228, 0)),\r\n    (-86, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Ashimmu'), 260, 100, 0, 0)),\r\n    (-87, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Talos'), 0, 413, 413, 0)),\r\n    (-88, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Sentinel'), 0, 0, 75, 90)),\r\n    (-89, (_c(_t('NPC')) + _c(_t('Deadspace')) + _t('Angel Cartel'), 369, 533, 1395, 3302)),\r\n    (-90, (_c(_t('NPC')) + _c(_t('Deadspace')) + _t('Blood Raiders'), 6040, 5052, 10, 15)),\r\n    (-91, (_c(_t('NPC')) + _c(_t('Deadspace')) + _t('Guristas'), 0, 1531, 9680, 0)),\r\n    (-92, (_c(_t('NPC')) + _c(_t('Deadspace')) + _t('Rogue Drone'), 276, 1071, 1069, 871)),\r\n    (-93, (_c(_t('NPC')) + _c(_t('Deadspace')) + _t('Sanshas Nation'), 3009, 2237, 0, 0)),\r\n    (-94, (_c(_t('NPC')) + _c(_t('Deadspace')) + _t('Serpentis'), 0, 3110, 1929, 0)),\r\n    # Source: ticket #2067\r\n    (-95, (_c(_t('NPC')) + _c(_t('Invasion')) + _c(_t('Triglavian Entities')) + _t('Dread'), 0, 417, 0, 583)),\r\n    (-96, (_c(_t('NPC')) + _c(_t('Invasion')) + _c(_t('Triglavian Entities')) + _t('Normal Subcaps'), 0, 610, 0, 390)),\r\n    # To avoid errors on msgfmt, we have to mark that '0%' is meaning literally 0% with no-python-format.\r\n    # See also: https://github.com/vslavik/poedit/issues/645\r\n    (-97, (_c(_t('NPC')) + _c(_t('Invasion')) + _c(_t('Triglavian Entities')) +\r\n           # xgettext:no-python-format\r\n           _t('Subcaps w/missiles 0% spool up'), 367, 155, 367, 112)),\r\n    (-98, (_c(_t('NPC')) + _c(_t('Invasion')) + _c(_t('Triglavian Entities')) +\r\n           # xgettext:no-python-format\r\n           _t('Subcaps w/missiles 50% spool up'), 291, 243, 291, 175)),\r\n    (-99, (_c(_t('NPC')) + _c(_t('Invasion')) + _c(_t('Triglavian Entities')) +\r\n           # xgettext:no-python-format\r\n           _t('Subcaps w/missiles 100% spool up'), 241, 301, 241, 217)),\r\n    (-100, (_c(_t('NPC')) + _c(_t('Invasion')) + _c(_t('Amarr EDENCOM Entities')) + _t('Dread/Subcaps'), 583, 417, 0, 0)),\r\n    (-101, (_c(_t('NPC')) + _c(_t('Invasion')) + _c(_t('Caldari EDENCOM Entities')) + _t('Dread'), 1000, 0, 0, 0)),\r\n    (-102, (_c(_t('NPC')) + _c(_t('Invasion')) + _c(_t('Caldari EDENCOM Entities')) + _t('Subcaps'), 511, 21, 29, 440)),\r\n    (-103, (_c(_t('NPC')) + _c(_t('Invasion')) + _c(_t('Gallente EDENCOM Entities')) + _t('Dread/Subcaps'), 0, 417, 583, 0)),\r\n    (-104, (_c(_t('NPC')) + _c(_t('Invasion')) + _c(_t('Minmatar EDENCOM Entities')) + _t('Dread'), 0, 0, 583, 417)),\r\n    (-105, (_c(_t('NPC')) + _c(_t('Invasion')) + _c(_t('Minmatar EDENCOM Entities')) + _t('Subcaps'), 302, 136, 328, 234)),\r\n    (-106, (_c(_t('NPC')) + _c(_t('Invasion')) + _t('Drifter Entities'), 250, 250, 250, 250)),\r\n    (-107, (_c(_t('NPC')) + _c(_t('Invasion')) + _t('Sleeper Entities'), 265, 265, 235, 235)),\r\n    (-108, (_c(_t('NPC')) + _c(_t('Invasion')) + _t('Rogue Drone Entities'), 250, 250, 250, 250)),\r\n    (-109, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Amarr Empire'), 4464, 3546, 97, 0)),\r\n    (-110, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Caldari State'), 0, 2139, 4867, 0)),\r\n    (-111, (_c(_t('NPC')) + _c(_t('Mission')) + _t('CONCORD'), 336, 134, 212, 412)),\r\n    (-112, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Gallente Federation'), 9, 3712, 2758, 0)),\r\n    (-113, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Khanid'), 612, 483, 43, 6)),\r\n    (-114, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Minmatar Republic'), 1024, 388, 1655, 4285)),\r\n    (-115, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Mordus Legion'), 25, 262, 625, 0)),\r\n    (-116, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Thukker'), 0, 52, 10, 79)),\r\n    (-117, (_c(_t('NPC')) + _t('Sansha Incursion'), 1682, 1347, 3678, 3678)),\r\n    (-118, (_c(_t('NPC')) + _t('Sleepers'), 1472, 1472, 1384, 1384))])\r\n\r\n\r\nclass DamagePattern:\r\n    DAMAGE_TYPES = ('em', 'thermal', 'kinetic', 'explosive')\r\n    _builtins = None\r\n\r\n    def __init__(self, *args, **kwargs):\r\n        self.builtin = False\r\n        self.update(*args, **kwargs)\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        self.builtin = False\r\n\r\n    def update(self, emAmount=25, thermalAmount=25, kineticAmount=25, explosiveAmount=25):\r\n        self.emAmount = emAmount\r\n        self.thermalAmount = thermalAmount\r\n        self.kineticAmount = kineticAmount\r\n        self.explosiveAmount = explosiveAmount\r\n\r\n    @classmethod\r\n    def getBuiltinList(cls):\r\n        if cls._builtins is None:\r\n            cls.__generateBuiltins()\r\n        return list(cls._builtins.values())\r\n\r\n    @classmethod\r\n    def getBuiltinById(cls, id):\r\n        if cls._builtins is None:\r\n            cls.__generateBuiltins()\r\n        return cls._builtins.get(id)\r\n\r\n    @classmethod\r\n    def getDefaultBuiltin(cls):\r\n        if cls._builtins is None:\r\n            cls.__generateBuiltins()\r\n        return cls._builtins.get(-1)\r\n\r\n    @classmethod\r\n    def __generateBuiltins(cls):\r\n        cls._builtins = OrderedDict()\r\n        for id, (rawName, em, therm, kin, explo) in BUILTINS.items():\r\n            pattern = DamagePattern(emAmount=em, thermalAmount=therm, kineticAmount=kin, explosiveAmount=explo)\r\n            pattern.ID = id\r\n            pattern.rawName = rawName\r\n            pattern.builtin = True\r\n            cls._builtins[id] = pattern\r\n\r\n    def calculateEhp(self, item):\r\n        ehp = {}\r\n        for (type, attr) in (('shield', 'shieldCapacity'), ('armor', 'armorHP'), ('hull', 'hp')):\r\n            rawCapacity = item.getModifiedItemAttr(attr)\r\n            ehp[type] = self.effectivify(item, rawCapacity, type)\r\n\r\n        return ehp\r\n\r\n    def calculateEffectiveTank(self, fit, tankInfo):\r\n        typeMap = {\r\n            \"passiveShield\": \"shield\",\r\n            \"shieldRepair\": \"shield\",\r\n            \"armorRepair\": \"armor\",\r\n            \"armorRepairPreSpool\": \"armor\",\r\n            \"armorRepairFullSpool\": \"armor\",\r\n            \"hullRepair\": \"hull\"\r\n        }\r\n        ereps = {}\r\n        for field in tankInfo:\r\n            if field in typeMap:\r\n                ereps[field] = self.effectivify(fit.ship, tankInfo[field], typeMap[field])\r\n        return ereps\r\n\r\n    def effectivify(self, item, amount, type):\r\n        type = type if type != \"hull\" else \"\"\r\n        totalDamage = sum((self.emAmount, self.thermalAmount, self.kineticAmount, self.explosiveAmount))\r\n        specificDivider = 0\r\n        for damageType in self.DAMAGE_TYPES:\r\n            # Compose an attribute name, then make sure the first letter is NOT capitalized\r\n            attrName = \"%s%sDamageResonance\" % (type, damageType.capitalize())\r\n            attrName = attrName[0].lower() + attrName[1:]\r\n\r\n            resonance = item.getModifiedItemAttr(attrName)\r\n            damage = getattr(self, \"%sAmount\" % damageType)\r\n\r\n            specificDivider += damage / float(totalDamage or 1) * resonance\r\n\r\n        return amount / (specificDivider or 1)\r\n\r\n    importMap = {\r\n        \"em\": \"em\",\r\n        \"therm\": \"thermal\",\r\n        \"kin\": \"kinetic\",\r\n        \"exp\": \"explosive\"\r\n    }\r\n\r\n    @classmethod\r\n    def oneType(cls, damageType, amount=100):\r\n        pattern = DamagePattern()\r\n        pattern.update(amount if damageType == \"em\" else 0,\r\n                       amount if damageType == \"thermal\" else 0,\r\n                       amount if damageType == \"kinetic\" else 0,\r\n                       amount if damageType == \"explosive\" else 0)\r\n        return pattern\r\n\r\n    @classmethod\r\n    def importPatterns(cls, text):\r\n        lines = re.split('[\\n\\r]+', text)\r\n        patterns = []\r\n        numPatterns = 0\r\n\r\n        # When we import damage profiles, we create new ones and update old ones. To do this, get a list of current\r\n        # patterns to allow lookup\r\n        lookup = {}\r\n        current = eos.db.getDamagePatternList()\r\n        for pattern in current:\r\n            lookup[pattern.rawName] = pattern\r\n\r\n        for line in lines:\r\n            try:\r\n                if line.strip()[0] == \"#\":  # comments\r\n                    continue\r\n                line = line.split('#', 1)[0]  # allows for comments\r\n                type, data = line.rsplit('=', 1)\r\n                type, data = type.strip(), data.split(',')\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except:\r\n                # Data isn't in correct format, continue to next line\r\n                continue\r\n\r\n            if type != \"DamageProfile\":\r\n                continue\r\n\r\n            numPatterns += 1\r\n            name, data = data[0], data[1:5]\r\n            fields = {}\r\n\r\n            for index, val in enumerate(data):\r\n                try:\r\n                    fields[\"%sAmount\" % cls.DAMAGE_TYPES[index]] = int(val)\r\n                except (KeyboardInterrupt, SystemExit):\r\n                    raise\r\n                except:\r\n                    continue\r\n\r\n            if len(fields) == 4:  # Avoid possible blank lines\r\n                if name.strip() in lookup:\r\n                    pattern = lookup[name.strip()]\r\n                    pattern.update(**fields)\r\n                    eos.db.save(pattern)\r\n                else:\r\n                    pattern = DamagePattern(**fields)\r\n                    pattern.rawName = name.strip()\r\n                    eos.db.save(pattern)\r\n                patterns.append(pattern)\r\n\r\n        eos.db.commit()\r\n\r\n        return patterns, numPatterns\r\n\r\n    EXPORT_FORMAT = \"DamageProfile = %s,%d,%d,%d,%d\\n\"\r\n\r\n    @classmethod\r\n    def exportPatterns(cls, *patterns):\r\n        out = \"# Exported from pyfa\\n#\\n\"\r\n        out += \"# Values are in following format:\\n\"\r\n        out += \"# DamageProfile = [name],[EM amount],[Thermal amount],[Kinetic amount],[Explosive amount]\\n\\n\"\r\n        for dp in patterns:\r\n            out += cls.EXPORT_FORMAT % (dp.rawName, dp.emAmount, dp.thermalAmount, dp.kineticAmount, dp.explosiveAmount)\r\n\r\n        return out.strip()\r\n\r\n    @property\r\n    def name(self):\r\n        return self.rawName\r\n\r\n    @property\r\n    def fullName(self):\r\n        categories, tail = self.__parseRawName()\r\n        return '{}{}'.format(''.join('[{}]'.format(c) for c in categories), tail)\r\n\r\n    @property\r\n    def shortName(self):\r\n        return self.__parseRawName()[1]\r\n\r\n    @property\r\n    def hierarchy(self):\r\n        return self.__parseRawName()[0]\r\n\r\n    def __parseRawName(self):\r\n        categories = []\r\n        remainingName = self.rawName.strip() if self.rawName else ''\r\n        while True:\r\n            start, end = remainingName.find('['), remainingName.find(']')\r\n            if start == -1 or end == -1:\r\n                return categories, remainingName\r\n            splitter = remainingName.find('|')\r\n            if splitter != -1 and splitter == start - 1:\r\n                return categories, remainingName[1:]\r\n            categories.append(remainingName[start + 1:end])\r\n            remainingName = remainingName[end + 1:].strip()\r\n\r\n    def __deepcopy__(self, memo):\r\n        p = DamagePattern(self.emAmount, self.thermalAmount, self.kineticAmount, self.explosiveAmount)\r\n        p.rawName = \"%s copy\" % self.rawName\r\n        return p\r\n"
  },
  {
    "path": "eos/saveddata/drone.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport math\r\n\r\nfrom copy import deepcopy\r\nfrom logbook import Logger\r\nfrom sqlalchemy.orm import reconstructor, validates\r\n\r\nimport eos.db\r\nfrom eos.effectHandlerHelpers import HandledCharge, HandledItem\r\nfrom eos.modifiedAttributeDict import ChargeAttrShortcut, ItemAttrShortcut, ModifiedAttributeDict\r\nfrom eos.saveddata.mutatedMixin import MutatedMixin, MutaError\r\nfrom eos.saveddata.mutator import MutatorDrone\r\nfrom eos.utils.cycles import CycleInfo\r\nfrom eos.utils.default import DEFAULT\r\nfrom eos.utils.stats import DmgTypes, RRTypes\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass Drone(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut, MutatedMixin):\r\n    MINING_ATTRIBUTES = (\"miningAmount\",)\r\n\r\n    def __init__(self, item, baseItem=None, mutaplasmid=None):\r\n        \"\"\"Initialize a drone from the program\"\"\"\r\n        self._item = item\r\n        self._mutaInit(baseItem=baseItem, mutaplasmid=mutaplasmid)\r\n\r\n        if self.isInvalid:\r\n            raise ValueError(\"Passed item is not a Drone\")\r\n\r\n        self.itemID = item.ID if item is not None else None\r\n        self.amount = 0\r\n        self.amountActive = 0\r\n        self.projected = False\r\n        self.projectionRange = None\r\n        self.build()\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        \"\"\"Initialize a drone from the database and validate\"\"\"\r\n        self._item = None\r\n\r\n        if self.itemID:\r\n            self._item = eos.db.getItem(self.itemID)\r\n            if self._item is None:\r\n                pyfalog.error(\"Item (id: {0}) does not exist\", self.itemID)\r\n                return\r\n\r\n        try:\r\n            self._mutaReconstruct()\r\n        except MutaError:\r\n            return\r\n\r\n        if self.isInvalid:\r\n            pyfalog.error(\"Item (id: {0}) is not a Drone\", self.itemID)\r\n            return\r\n\r\n        self.build()\r\n\r\n    def build(self):\r\n        \"\"\" Build object. Assumes proper and valid item already set \"\"\"\r\n        self.__charge = None\r\n        self.__baseVolley = None\r\n        self.__baseRRAmount = None\r\n        self.__miningYield = None\r\n        self.__miningDrain = None\r\n        self.__ehp = None\r\n        self.__itemModifiedAttributes = ModifiedAttributeDict()\r\n        self.__itemModifiedAttributes.original = self._item.attributes\r\n        self.__itemModifiedAttributes.overrides = self._item.overrides\r\n        self.__chargeModifiedAttributes = ModifiedAttributeDict()\r\n\r\n        self._mutaLoadMutators(mutatorClass=MutatorDrone)\r\n        self.__itemModifiedAttributes.mutators = self.mutators\r\n\r\n        chargeID = self.getModifiedItemAttr(\"entityMissileTypeID\", None)\r\n        if chargeID:\r\n            charge = eos.db.getItem(int(chargeID))\r\n            self.__charge = charge\r\n            self.__chargeModifiedAttributes.original = charge.attributes\r\n            self.__chargeModifiedAttributes.overrides = charge.overrides\r\n\r\n    @property\r\n    def itemModifiedAttributes(self):\r\n        return self.__itemModifiedAttributes\r\n\r\n    @property\r\n    def chargeModifiedAttributes(self):\r\n        return self.__chargeModifiedAttributes\r\n\r\n    @property\r\n    def isInvalid(self):\r\n        if self._item is None:\r\n            return True\r\n        if self._item.category.name != \"Drone\":\r\n            return True\r\n        if self._mutaIsInvalid:\r\n            return True\r\n        return False\r\n\r\n    @property\r\n    def item(self):\r\n        return self._item\r\n\r\n    @property\r\n    def charge(self):\r\n        return self.__charge\r\n\r\n    @property\r\n    def cycleTime(self):\r\n        if self.hasAmmo:\r\n            cycleTime = self.getModifiedItemAttr(\"missileLaunchDuration\", 0)\r\n        else:\r\n            for attr in (\"speed\", \"duration\", \"durationHighisGood\"):\r\n                cycleTime = self.getModifiedItemAttr(attr)\r\n                if cycleTime:\r\n                    break\r\n        if cycleTime is None:\r\n            return 0\r\n        return max(cycleTime, 0)\r\n\r\n    @property\r\n    def dealsDamage(self):\r\n        for attr in (\"emDamage\", \"kineticDamage\", \"explosiveDamage\", \"thermalDamage\"):\r\n            if attr in self.itemModifiedAttributes or attr in self.chargeModifiedAttributes:\r\n                return True\r\n\r\n    @property\r\n    def mines(self):\r\n        if \"miningAmount\" in self.itemModifiedAttributes:\r\n            return True\r\n\r\n    @property\r\n    def hasAmmo(self):\r\n        return self.charge is not None\r\n\r\n    def isDealingDamage(self):\r\n        volleyParams = self.getVolleyParameters()\r\n        for volley in volleyParams.values():\r\n            if volley.total > 0:\r\n                return True\r\n        return False\r\n\r\n    def getVolleyParameters(self, targetProfile=None):\r\n        if not self.dealsDamage or self.amountActive <= 0:\r\n            return {0: DmgTypes.default()}\r\n        if self.__baseVolley is None:\r\n            dmgGetter = self.getModifiedChargeAttr if self.hasAmmo else self.getModifiedItemAttr\r\n            dmgMult = self.amountActive * (self.getModifiedItemAttr(\"damageMultiplier\", 1))\r\n            self.__baseVolley = DmgTypes(\r\n                em=(dmgGetter(\"emDamage\", 0)) * dmgMult,\r\n                thermal=(dmgGetter(\"thermalDamage\", 0)) * dmgMult,\r\n                kinetic=(dmgGetter(\"kineticDamage\", 0)) * dmgMult,\r\n                explosive=(dmgGetter(\"explosiveDamage\", 0)) * dmgMult)\r\n        volley = deepcopy(self.__baseVolley)\r\n        volley.profile = targetProfile\r\n        return {0: volley}\r\n\r\n    def getVolley(self, targetProfile=None):\r\n        return self.getVolleyParameters(targetProfile=targetProfile)[0]\r\n\r\n    def getDps(self, targetProfile=None):\r\n        volley = self.getVolley(targetProfile=targetProfile)\r\n        if not volley:\r\n            return DmgTypes.default()\r\n        cycleParams = self.getCycleParameters()\r\n        if cycleParams is None:\r\n            return DmgTypes.default()\r\n        dpsFactor = 1 / (cycleParams.averageTime / 1000)\r\n        dps = volley * dpsFactor\r\n        return dps\r\n\r\n    def isRemoteRepping(self, ignoreState=False):\r\n        repParams = self.getRepAmountParameters(ignoreState=ignoreState)\r\n        for rrData in repParams.values():\r\n            if rrData:\r\n                return True\r\n        return False\r\n\r\n    def getRepAmountParameters(self, ignoreState=False):\r\n        amount = self.amount if ignoreState else self.amountActive\r\n        if amount <= 0:\r\n            return {}\r\n        if self.__baseRRAmount is None:\r\n            self.__baseRRAmount = {}\r\n            hullAmount = self.getModifiedItemAttr(\"structureDamageAmount\", 0)\r\n            armorAmount = self.getModifiedItemAttr(\"armorDamageAmount\", 0)\r\n            shieldAmount = self.getModifiedItemAttr(\"shieldBonus\", 0)\r\n            if shieldAmount:\r\n                self.__baseRRAmount[0] = RRTypes(\r\n                    shield=shieldAmount * amount,\r\n                    armor=0, hull=0, capacitor=0)\r\n            if armorAmount or hullAmount:\r\n                self.__baseRRAmount[self.cycleTime] = RRTypes(\r\n                    shield=0, armor=armorAmount * amount,\r\n                    hull=hullAmount * amount, capacitor=0)\r\n        return self.__baseRRAmount\r\n\r\n    def getRemoteReps(self, ignoreState=False):\r\n        rrDuringCycle = RRTypes(0, 0, 0, 0)\r\n        cycleParams = self.getCycleParameters()\r\n        if cycleParams is None:\r\n            return rrDuringCycle\r\n        repAmountParams = self.getRepAmountParameters(ignoreState=ignoreState)\r\n        avgCycleTime = cycleParams.averageTime\r\n        if len(repAmountParams) == 0 or avgCycleTime == 0:\r\n            return rrDuringCycle\r\n        for rrAmount in repAmountParams.values():\r\n            rrDuringCycle += rrAmount\r\n        rrFactor = 1 / (avgCycleTime / 1000)\r\n        rrDuringCycle *= rrFactor\r\n        return rrDuringCycle\r\n\r\n    def getCycleParameters(self, reloadOverride=None):\r\n        cycleTime = self.cycleTime\r\n        if not cycleTime:\r\n            return None\r\n        return CycleInfo(self.cycleTime, 0, math.inf, False)\r\n\r\n    def getMiningYPS(self, ignoreState=False):\r\n        if not ignoreState and self.amountActive <= 0:\r\n            return 0\r\n        if self.__miningYield is None:\r\n            self.__miningYield, self.__miningDrain = self.__calculateMining()\r\n        return self.__miningYield\r\n\r\n    def getMiningDPS(self, ignoreState=False):\r\n        if not ignoreState and self.amountActive <= 0:\r\n            return 0\r\n        if self.__miningDrain is None:\r\n            self.__miningYield, self.__miningDrain = self.__calculateMining()\r\n        return self.__miningDrain\r\n\r\n    def __calculateMining(self):\r\n        if self.mines is True:\r\n            getter = self.getModifiedItemAttr\r\n            cycleParams = self.getCycleParameters()\r\n            if cycleParams is None:\r\n                yps = 0\r\n            else:\r\n                cycleTime = cycleParams.averageTime\r\n                yield_ = sum([getter(d) for d in self.MINING_ATTRIBUTES]) * self.amount\r\n                yps = yield_ / (cycleTime / 1000.0)\r\n            wasteChance = self.getModifiedItemAttr(\"miningWasteProbability\")\r\n            wasteMult = self.getModifiedItemAttr(\"miningWastedVolumeMultiplier\")\r\n            dps = yps * (1 + max(0, min(1, wasteChance / 100)) * wasteMult)\r\n            return yps, dps\r\n        else:\r\n            return 0, 0\r\n\r\n    @property\r\n    def maxRange(self):\r\n        attrs = (\"shieldTransferRange\", \"powerTransferRange\",\r\n                 \"energyDestabilizationRange\", \"empFieldRange\",\r\n                 \"ecmBurstRange\", \"maxRange\", \"ECMRangeOptimal\")\r\n        for attr in attrs:\r\n            maxRange = self.getModifiedItemAttr(attr)\r\n            if maxRange:\r\n                return maxRange\r\n        if self.charge is not None:\r\n            delay = self.getModifiedChargeAttr(\"explosionDelay\")\r\n            speed = self.getModifiedChargeAttr(\"maxVelocity\")\r\n            if delay is not None and speed is not None:\r\n                return delay / 1000.0 * speed\r\n\r\n    @property\r\n    def hp(self):\r\n        hp = {}\r\n        for (type, attr) in (('shield', 'shieldCapacity'), ('armor', 'armorHP'), ('hull', 'hp')):\r\n            hp[type] = self.getModifiedItemAttr(attr)\r\n\r\n        return hp\r\n\r\n    @property\r\n    def ehp(self):\r\n        if self.__ehp is None:\r\n            if self.owner is None or self.owner.damagePattern is None:\r\n                ehp = self.hp\r\n            else:\r\n                ehp = self.owner.damagePattern.calculateEhp(self)\r\n            self.__ehp = ehp\r\n        return self.__ehp\r\n\r\n    def calculateShieldRecharge(self):\r\n        capacity = self.getModifiedItemAttr(\"shieldCapacity\")\r\n        rechargeRate = self.getModifiedItemAttr(\"shieldRechargeRate\") / 1000.0\r\n        return 10 / rechargeRate * math.sqrt(0.25) * (1 - math.sqrt(0.25)) * capacity\r\n\r\n    # Had to add this to match the falloff property in modules.py\r\n    # Fscking ship scanners. If you find any other falloff attributes,\r\n    # Put them in the attrs tuple.\r\n    @property\r\n    def falloff(self):\r\n        attrs = (\"falloff\", \"falloffEffectiveness\")\r\n        for attr in attrs:\r\n            falloff = self.getModifiedItemAttr(attr)\r\n            if falloff:\r\n                return falloff\r\n\r\n    @validates(\"ID\", \"itemID\", \"chargeID\", \"amount\", \"amountActive\")\r\n    def validator(self, key, val):\r\n        map = {\r\n            \"ID\"          : lambda _val: isinstance(_val, int),\r\n            \"itemID\"      : lambda _val: isinstance(_val, int),\r\n            \"chargeID\"    : lambda _val: isinstance(_val, int),\r\n            \"amount\"      : lambda _val: isinstance(_val, int) and _val >= 0,\r\n            \"amountActive\": lambda _val: isinstance(_val, int) and self.amount >= _val >= 0\r\n        }\r\n\r\n        if not map[key](val):\r\n            raise ValueError(str(val) + \" is not a valid value for \" + key)\r\n        else:\r\n            return val\r\n\r\n    def clear(self):\r\n        self.__baseVolley = None\r\n        self.__baseRRAmount = None\r\n        self.__miningYield = None\r\n        self.__miningDrain = None\r\n        self.__ehp = None\r\n        self.itemModifiedAttributes.clear()\r\n        self.chargeModifiedAttributes.clear()\r\n\r\n    def canBeApplied(self, projectedOnto):\r\n        \"\"\"Check if drone can engage specific fitting\"\"\"\r\n        item = self.item\r\n        # Do not allow to apply offensive modules on ship with offensive module immunite, with few exceptions\r\n        # (all effects which apply instant modification are exception, generally speaking)\r\n        if item.offensive and projectedOnto.ship.getModifiedItemAttr(\"disallowOffensiveModifiers\") == 1:\r\n            offensiveNonModifiers = {\"energyDestabilizationNew\",\r\n                                     \"leech\",\r\n                                     \"energyNosferatuFalloff\",\r\n                                     \"energyNeutralizerFalloff\"}\r\n            if not offensiveNonModifiers.intersection(set(item.effects)):\r\n                return False\r\n        # If assistive modules are not allowed, do not let to apply these altogether\r\n        if item.assistive and projectedOnto.ship.getModifiedItemAttr(\"disallowAssistance\") == 1:\r\n            return False\r\n        else:\r\n            return True\r\n\r\n    def calculateModifiedAttributes(self, fit, runTime, forceProjected=False, forcedProjRange=DEFAULT):\r\n        if self.projected or forceProjected:\r\n            context = \"projected\", \"drone\"\r\n            projected = True\r\n        else:\r\n            context = (\"drone\",)\r\n            projected = False\r\n\r\n        projectionRange = self.projectionRange if forcedProjRange is DEFAULT else forcedProjRange\r\n\r\n        for effect in self.item.effects.values():\r\n            if effect.runTime == runTime and \\\r\n                    effect.activeByDefault and \\\r\n                    ((projected is True and effect.isType(\"projected\")) or\r\n                                 projected is False and effect.isType(\"passive\")):\r\n                # See GH issue #765\r\n                if effect.getattr('grouped'):\r\n                    effect.handler(fit, self, context, projectionRange, effect=effect)\r\n                else:\r\n                    i = 0\r\n                    while i != self.amountActive:\r\n                        effect.handler(fit, self, context, projectionRange, effect=effect)\r\n                        i += 1\r\n\r\n        if self.charge:\r\n            for effect in self.charge.effects.values():\r\n                if effect.runTime == runTime and effect.activeByDefault:\r\n                    effect.handler(fit, self, (\"droneCharge\",), projectionRange, effect=effect)\r\n\r\n    def __deepcopy__(self, memo):\r\n        copy = Drone(self.item, self.baseItem, self.mutaplasmid)\r\n        copy.amount = self.amount\r\n        copy.amountActive = self.amountActive\r\n        copy.projectionRange = self.projectionRange\r\n        self._mutaApplyMutators(mutatorClass=MutatorDrone, targetInstance=copy)\r\n        return copy\r\n\r\n    def rebase(self, item):\r\n        amount = self.amount\r\n        amountActive = self.amountActive\r\n        projectionRange = self.projectionRange\r\n\r\n        Drone.__init__(self, item, self.baseItem, self.mutaplasmid)\r\n        self.amount = amount\r\n        self.amountActive = amountActive\r\n        self.projectionRange = projectionRange\r\n        self._mutaApplyMutators(mutatorClass=MutatorDrone)\r\n\r\n    def fits(self, fit):\r\n        fitDroneGroupLimits = set()\r\n        for i in range(1, 3):\r\n            groneGrp = fit.ship.getModifiedItemAttr(\"allowedDroneGroup%d\" % i)\r\n            if groneGrp:\r\n                fitDroneGroupLimits.add(int(groneGrp))\r\n        if len(fitDroneGroupLimits) == 0:\r\n            return True\r\n        if self.item.groupID in fitDroneGroupLimits:\r\n            return True\r\n        return False\r\n\r\n    def canDealDamage(self, ignoreState=False):\r\n        if self.item is None:\r\n            return False\r\n        for effect in self.item.effects.values():\r\n            if effect.dealsDamage and (ignoreState or self.amountActive > 0):\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "eos/saveddata/fighter.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport math\r\n\r\nfrom copy import deepcopy\r\nfrom logbook import Logger\r\nfrom sqlalchemy.orm import reconstructor, validates\r\n\r\nimport eos.db\r\nfrom eos.const import FittingSlot\r\nfrom eos.effectHandlerHelpers import HandledCharge, HandledItem\r\nfrom eos.modifiedAttributeDict import ChargeAttrShortcut, ItemAttrShortcut, ModifiedAttributeDict\r\nfrom eos.saveddata.fighterAbility import FighterAbility\r\nfrom eos.utils.cycles import CycleInfo, CycleSequence\r\nfrom eos.utils.default import DEFAULT\r\nfrom eos.utils.float import floatUnerr\r\nfrom eos.utils.stats import DmgTypes\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass Fighter(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):\r\n    DAMAGE_TYPES = (\"em\", \"kinetic\", \"explosive\", \"thermal\")\r\n    DAMAGE_TYPES2 = (\"EM\", \"Kin\", \"Exp\", \"Therm\")\r\n\r\n    def __init__(self, item):\r\n        \"\"\"Initialize a fighter from the program\"\"\"\r\n        self.__item = item\r\n\r\n        if self.isInvalid:\r\n            raise ValueError(\"Passed item is not a Fighter\")\r\n\r\n        self.itemID = item.ID if item is not None else None\r\n        self.projected = False\r\n        self.projectionRange = None\r\n        self.active = True\r\n\r\n        # -1 is a placeholder that represents max squadron size, which we may not know yet as ships may modify this with\r\n        # their effects. If user changes this, it is then overridden with user value.\r\n        self._amount = -1\r\n\r\n        self.__abilities = self.__getAbilities()\r\n\r\n        self.build()\r\n\r\n        standardAttackActive = False\r\n        for ability in self.abilities:\r\n            if ability.effect.isImplemented and ability.effect.name == 'fighterAbilityAttackM':\r\n                # Activate \"standard attack\" if available\r\n                ability.active = True\r\n                standardAttackActive = True\r\n            else:\r\n                # Activate all other abilities (Neut, Web, etc) except propmods if no standard attack is active\r\n                if ability.effect.isImplemented and \\\r\n                                standardAttackActive is False and \\\r\n                                ability.effect.name != 'fighterAbilityMicroWarpDrive' and \\\r\n                                ability.effect.name != 'fighterAbilityEvasiveManeuvers':\r\n                    ability.active = True\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        \"\"\"Initialize a fighter from the database and validate\"\"\"\r\n        self.__item = None\r\n\r\n        if self.itemID:\r\n            self.__item = eos.db.getItem(self.itemID)\r\n            if self.__item is None:\r\n                pyfalog.error(\"Item (id: {0}) does not exist\", self.itemID)\r\n                return\r\n\r\n        if self.isInvalid:\r\n            pyfalog.error(\"Item (id: {0}) is not a Fighter\", self.itemID)\r\n            return\r\n\r\n        self.build()\r\n\r\n    def build(self):\r\n        \"\"\" Build object. Assumes proper and valid item already set \"\"\"\r\n        self.__charge = None\r\n        self.__baseVolley = None\r\n        self.__miningyield = None\r\n        self.__ehp = None\r\n        self.__itemModifiedAttributes = ModifiedAttributeDict()\r\n        self.__chargeModifiedAttributes = ModifiedAttributeDict()\r\n\r\n        if {a.effectID for a in self.abilities} != {e.ID for e in self.item.effects.values()}:\r\n            self.__abilities = []\r\n            for ability in self.__getAbilities():\r\n                self.__abilities.append(ability)\r\n\r\n        if self.__item:\r\n            self.__itemModifiedAttributes.original = self.__item.attributes\r\n            self.__itemModifiedAttributes.overrides = self.__item.overrides\r\n            self.__slot = self.__calculateSlot(self.__item)\r\n\r\n            chargeID = self.getModifiedItemAttr(\"fighterAbilityLaunchBombType\")\r\n            if chargeID:\r\n                charge = eos.db.getItem(int(chargeID))\r\n                self.__charge = charge\r\n                self.__chargeModifiedAttributes.original = charge.attributes\r\n                self.__chargeModifiedAttributes.overrides = charge.overrides\r\n\r\n    def __getAbilities(self):\r\n        \"\"\"Returns list of FighterAbilities that are loaded with data\"\"\"\r\n        return [FighterAbility(effect) for effect in list(self.item.effects.values())]\r\n\r\n    def __calculateSlot(self, item):\r\n        types = {\r\n            \"Light\"  : FittingSlot.F_LIGHT,\r\n            \"Support\": FittingSlot.F_SUPPORT,\r\n            \"Heavy\"  : FittingSlot.F_HEAVY,\r\n            \"StandupLight\": FittingSlot.FS_LIGHT,\r\n            \"StandupSupport\": FittingSlot.FS_SUPPORT,\r\n            \"StandupHeavy\": FittingSlot.FS_HEAVY\r\n        }\r\n\r\n        for t, slot in types.items():\r\n            if self.getModifiedItemAttr(\"fighterSquadronIs{}\".format(t)):\r\n                return slot\r\n\r\n    @property\r\n    def slot(self):\r\n        return self.__slot\r\n\r\n    @property\r\n    def amount(self):\r\n        return int(self.getModifiedItemAttr(\"fighterSquadronMaxSize\")) if self._amount == -1 else self._amount\r\n\r\n    @amount.setter\r\n    def amount(self, amount):\r\n        amount = max(0, int(amount))\r\n        if amount >= self.getModifiedItemAttr(\"fighterSquadronMaxSize\"):\r\n            amount = -1\r\n        self._amount = amount\r\n\r\n    @property\r\n    def fighterSquadronMaxSize(self):\r\n        return int(self.getModifiedItemAttr(\"fighterSquadronMaxSize\"))\r\n\r\n    @property\r\n    def abilities(self):\r\n        return self.__abilities or []\r\n\r\n    @property\r\n    def charge(self):\r\n        return self.__charge\r\n\r\n    @property\r\n    def itemModifiedAttributes(self):\r\n        return self.__itemModifiedAttributes\r\n\r\n    @property\r\n    def chargeModifiedAttributes(self):\r\n        return self.__chargeModifiedAttributes\r\n\r\n    @property\r\n    def isInvalid(self):\r\n        return self.__item is None or self.__item.category.name != \"Fighter\"\r\n\r\n    @property\r\n    def item(self):\r\n        return self.__item\r\n\r\n    @property\r\n    def hasAmmo(self):\r\n        return self.charge is not None\r\n\r\n    def isDealingDamage(self):\r\n        volleyParams = self.getVolleyParametersPerEffect()\r\n        for effectData in volleyParams.values():\r\n            for volley in effectData.values():\r\n                if volley.total > 0:\r\n                    return True\r\n        return False\r\n\r\n    def getVolleyParametersPerEffect(self, targetProfile=None):\r\n        if not self.active or self.amount <= 0:\r\n            return {}\r\n        if self.__baseVolley is None:\r\n            self.__baseVolley = {}\r\n            for ability in self.abilities:\r\n                # Not passing resists here as we want to calculate and store base volley\r\n                self.__baseVolley[ability.effectID] = {0: ability.getVolley()}\r\n        adjustedVolleys = {}\r\n        for effectID, effectData in self.__baseVolley.items():\r\n            adjustedVolleys[effectID] = {}\r\n            for volleyTime, baseVolley in effectData.items():\r\n                adjustedVolley = deepcopy(baseVolley)\r\n                adjustedVolley.profile = targetProfile\r\n                adjustedVolleys[effectID][volleyTime] = adjustedVolley\r\n        return adjustedVolleys\r\n\r\n    def getVolleyPerEffect(self, targetProfile=None):\r\n        volleyParams = self.getVolleyParametersPerEffect(targetProfile=targetProfile)\r\n        volleyMap = {}\r\n        for effectID, volleyData in volleyParams.items():\r\n            volleyMap[effectID] = volleyData[0]\r\n        return volleyMap\r\n\r\n    def getVolley(self, targetProfile=None):\r\n        volleyParams = self.getVolleyParametersPerEffect(targetProfile=targetProfile)\r\n        volley = DmgTypes.default()\r\n        for volleyData in volleyParams.values():\r\n            volley += volleyData[0]\r\n        return volley\r\n\r\n    def getDps(self, targetProfile=None):\r\n        dps = DmgTypes.default()\r\n        for subdps in self.getDpsPerEffect(targetProfile=targetProfile).values():\r\n            dps += subdps\r\n        return dps\r\n\r\n    def getDpsPerEffect(self, targetProfile=None):\r\n        if not self.active or self.amount <= 0:\r\n            return {}\r\n        cycleParams = self.getCycleParametersPerEffectOptimizedDps(targetProfile=targetProfile)\r\n        dpsMap = {}\r\n        for ability in self.abilities:\r\n            if ability.effectID in cycleParams:\r\n                cycleTime = cycleParams[ability.effectID].averageTime\r\n                dpsMap[ability.effectID] = ability.getDps(targetProfile=targetProfile, cycleTimeOverride=cycleTime)\r\n        return dpsMap\r\n\r\n    def getCycleParametersPerEffectOptimizedDps(self, targetProfile=None, reloadOverride=None):\r\n        cycleParamsInfinite = self.getCycleParametersPerEffectInfinite()\r\n        cycleParamsReload = self.getCycleParametersPerEffect(reloadOverride=reloadOverride)\r\n        dpsMapOnlyInfinite = {}\r\n        dpsMapAllWithReloads = {}\r\n        # Decide if it's better to keep steady dps up and never reload or reload from time to time\r\n        for ability in self.abilities:\r\n            if ability.effectID in cycleParamsInfinite:\r\n                cycleTime = cycleParamsInfinite[ability.effectID].averageTime\r\n                dpsMapOnlyInfinite[ability.effectID] = ability.getDps(targetProfile=targetProfile, cycleTimeOverride=cycleTime)\r\n            if ability.effectID in cycleParamsReload:\r\n                cycleTime = cycleParamsReload[ability.effectID].averageTime\r\n                dpsMapAllWithReloads[ability.effectID] = ability.getDps(targetProfile=targetProfile, cycleTimeOverride=cycleTime)\r\n        totalOnlyInfinite = sum(i.total for i in dpsMapOnlyInfinite.values())\r\n        totalAllWithReloads = sum(i.total for i in dpsMapAllWithReloads.values())\r\n        return cycleParamsInfinite if totalOnlyInfinite >= totalAllWithReloads else cycleParamsReload\r\n\r\n    def getCycleParametersPerEffectInfinite(self):\r\n        return {\r\n            a.effectID: CycleInfo(a.cycleTime, 0, math.inf, False)\r\n            for a in self.abilities\r\n            if a.numShots == 0 and a.cycleTime > 0}\r\n\r\n    def getCycleParametersPerEffect(self, reloadOverride=None):\r\n        factorReload = reloadOverride if reloadOverride is not None else self.owner.factorReload\r\n        # Assume it can cycle infinitely\r\n        if not factorReload:\r\n            return {a.effectID: CycleInfo(a.cycleTime, 0, math.inf, False) for a in self.abilities if a.cycleTime > 0}\r\n        limitedAbilities = [a for a in self.abilities if a.numShots > 0 and a.cycleTime > 0]\r\n        if len(limitedAbilities) == 0:\r\n            return {a.effectID: CycleInfo(a.cycleTime, 0, math.inf, False) for a in self.abilities if a.cycleTime > 0}\r\n        validAbilities = [a for a in self.abilities if a.cycleTime > 0]\r\n        if len(validAbilities) == 0:\r\n            return {}\r\n        mostLimitedAbility = min(limitedAbilities, key=lambda a: a.cycleTime * a.numShots)\r\n        durationToRefuel = mostLimitedAbility.cycleTime * mostLimitedAbility.numShots\r\n        # find out how many shots various abilities will do until reload, and how much time\r\n        # \"extra\" cycle will last (None for no extra cycle)\r\n        cyclesUntilRefuel = {mostLimitedAbility.effectID: (mostLimitedAbility.numShots, None)}\r\n        for ability in (a for a in validAbilities if a is not mostLimitedAbility):\r\n            fullCycles = int(floatUnerr(durationToRefuel / ability.cycleTime))\r\n            extraShotTime = floatUnerr(durationToRefuel - (fullCycles * ability.cycleTime))\r\n            if extraShotTime == 0:\r\n                extraShotTime = None\r\n            cyclesUntilRefuel[ability.effectID] = (fullCycles, extraShotTime)\r\n        refuelTimes = {}\r\n        for ability in validAbilities:\r\n            spentShots, extraShotTime = cyclesUntilRefuel[ability.effectID]\r\n            if extraShotTime is not None:\r\n                spentShots += 1\r\n            refuelTimes[ability.effectID] = ability.getReloadTime(spentShots)\r\n        refuelTime = max(refuelTimes.values())\r\n        cycleParams = {}\r\n        for ability in validAbilities:\r\n            regularShots, extraShotTime = cyclesUntilRefuel[ability.effectID]\r\n            sequence = []\r\n            if extraShotTime is not None:\r\n                if regularShots > 0:\r\n                    sequence.append(CycleInfo(ability.cycleTime, 0, regularShots, False))\r\n                sequence.append(CycleInfo(extraShotTime, refuelTime, 1, True))\r\n            else:\r\n                regularShotsNonReload = regularShots - 1\r\n                if regularShotsNonReload > 0:\r\n                    sequence.append(CycleInfo(ability.cycleTime, 0, regularShotsNonReload, False))\r\n                sequence.append(CycleInfo(ability.cycleTime, refuelTime, 1, True))\r\n            cycleParams[ability.effectID] = CycleSequence(sequence, math.inf)\r\n        return cycleParams\r\n\r\n    @property\r\n    def maxRange(self):\r\n        attrs = (\"shieldTransferRange\", \"powerTransferRange\",\r\n                 \"energyDestabilizationRange\", \"empFieldRange\",\r\n                 \"ecmBurstRange\", \"maxRange\")\r\n        for attr in attrs:\r\n            maxRange = self.getModifiedItemAttr(attr, None)\r\n            if maxRange is not None:\r\n                return maxRange\r\n        if self.charge is not None:\r\n            delay = self.getModifiedChargeAttr(\"explosionDelay\", None)\r\n            speed = self.getModifiedChargeAttr(\"maxVelocity\", None)\r\n            if delay is not None and speed is not None:\r\n                return delay / 1000.0 * speed\r\n\r\n    # Had to add this to match the falloff property in modules.py\r\n    # Fscking ship scanners. If you find any other falloff attributes,\r\n    # Put them in the attrs tuple.\r\n    @property\r\n    def falloff(self):\r\n        attrs = (\"falloff\", \"falloffEffectiveness\")\r\n        for attr in attrs:\r\n            falloff = self.getModifiedItemAttr(attr, None)\r\n            if falloff is not None:\r\n                return falloff\r\n\r\n    @property\r\n    def hp(self):\r\n        hp = {}\r\n        for (type, attr) in (('shield', 'shieldCapacity'), ('armor', 'armorHP'), ('hull', 'hp')):\r\n            hp[type] = self.getModifiedItemAttr(attr)\r\n\r\n        return hp\r\n\r\n    @property\r\n    def ehp(self):\r\n        if self.__ehp is None:\r\n            if self.owner is None or self.owner.damagePattern is None:\r\n                ehp = self.hp\r\n            else:\r\n                ehp = self.owner.damagePattern.calculateEhp(self)\r\n            self.__ehp = ehp\r\n        return self.__ehp\r\n\r\n    def calculateShieldRecharge(self):\r\n        capacity = self.getModifiedItemAttr(\"shieldCapacity\")\r\n        rechargeRate = self.getModifiedItemAttr(\"shieldRechargeRate\") / 1000.0\r\n        return 10 / rechargeRate * math.sqrt(0.25) * (1 - math.sqrt(0.25)) * capacity\r\n\r\n    @validates(\"ID\", \"itemID\", \"chargeID\", \"amount\")\r\n    def validator(self, key, val):\r\n        map = {\r\n            \"ID\"      : lambda _val: isinstance(_val, int),\r\n            \"itemID\"  : lambda _val: isinstance(_val, int),\r\n            \"chargeID\": lambda _val: isinstance(_val, int),\r\n            \"amount\"  : lambda _val: isinstance(_val, int) and _val >= -1,\r\n        }\r\n        if not map[key](val):\r\n            raise ValueError(str(val) + \" is not a valid value for \" + key)\r\n        else:\r\n            return val\r\n\r\n    def clear(self):\r\n        self.__baseVolley = None\r\n        self.__miningyield = None\r\n        self.__ehp = None\r\n        self.itemModifiedAttributes.clear()\r\n        self.chargeModifiedAttributes.clear()\r\n        [x.clear() for x in self.abilities]\r\n\r\n    def canBeApplied(self, projectedOnto):\r\n        \"\"\"Check if fighter can engage specific fitting\"\"\"\r\n        item = self.item\r\n        # Do not allow to apply offensive modules on ship with offensive module immunite, with few exceptions\r\n        # (all effects which apply instant modification are exception, generally speaking)\r\n        if item.offensive and projectedOnto.ship.getModifiedItemAttr(\"disallowOffensiveModifiers\") == 1:\r\n            offensiveNonModifiers = {\"energyDestabilizationNew\",\r\n                                     \"leech\",\r\n                                     \"energyNosferatuFalloff\",\r\n                                     \"energyNeutralizerFalloff\"}\r\n            if not offensiveNonModifiers.intersection(set(item.effects)):\r\n                return False\r\n        # If assistive modules are not allowed, do not let to apply these altogether\r\n        if item.assistive and projectedOnto.ship.getModifiedItemAttr(\"disallowAssistance\") == 1:\r\n            return False\r\n        else:\r\n            return True\r\n\r\n    def calculateModifiedAttributes(self, fit, runTime, forceProjected=False, forcedProjRange=DEFAULT):\r\n        if not self.active:\r\n            return\r\n\r\n        if self.projected or forceProjected:\r\n            context = \"projected\", \"fighter\"\r\n            projected = True\r\n        else:\r\n            context = (\"fighter\",)\r\n            projected = False\r\n\r\n        projectionRange = self.projectionRange if forcedProjRange is DEFAULT else forcedProjRange\r\n\r\n        for ability in self.abilities:\r\n            if not ability.active:\r\n                continue\r\n\r\n            effect = ability.effect\r\n            if effect.runTime == runTime and effect.activeByDefault and \\\r\n                    ((projected and effect.isType(\"projected\")) or not projected):\r\n                if ability.grouped:\r\n                    effect.handler(fit, self, context, projectionRange, effect=effect)\r\n                else:\r\n                    i = 0\r\n                    while i != self.amount:\r\n                        effect.handler(fit, self, context, projectionRange, effect=effect)\r\n                        i += 1\r\n\r\n    def __deepcopy__(self, memo):\r\n        copy = Fighter(self.item)\r\n        copy._amount = self._amount\r\n        copy.active = self.active\r\n        for ability in self.abilities:\r\n            copyAbility = next(filter(lambda a: a.effectID == ability.effectID, copy.abilities))\r\n            copyAbility.active = ability.active\r\n        copy.projectionRange = self.projectionRange\r\n        return copy\r\n\r\n    def rebase(self, item):\r\n        amount = self._amount\r\n        active = self.active\r\n        abilityEffectStates = {a.effectID: a.active for a in self.abilities}\r\n        projectionRange = self.projectionRange\r\n\r\n        Fighter.__init__(self, item)\r\n        self._amount = amount\r\n        self.active = active\r\n        for ability in self.abilities:\r\n            if ability.effectID in abilityEffectStates:\r\n                ability.active = abilityEffectStates[ability.effectID]\r\n        self.projectionRange = projectionRange\r\n\r\n    def fits(self, fit):\r\n        # If ships doesn't support this type of fighter, don't add it\r\n        if fit.getNumSlots(self.slot) == 0:\r\n            return False\r\n\r\n        return True\r\n\r\n    def canDealDamage(self, ignoreState=False, ignoreAbilityState=False):\r\n        if self.item is None:\r\n            return False\r\n        if not self.active and not ignoreState:\r\n            return False\r\n        for ability in self.abilities:\r\n            if not ability.active and not ignoreAbilityState:\r\n                continue\r\n            if ability.effect.dealsDamage:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "eos/saveddata/fighterAbility.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom logbook import Logger\r\n\r\nfrom sqlalchemy.orm import reconstructor\r\n\r\nfrom eos.utils.stats import DmgTypes\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass FighterAbility:\r\n\r\n    # We aren't able to get data on the charges that can be stored with fighters. So we hardcode that data here, keyed\r\n    # with the fighter squadron role\r\n    NUM_SHOTS_MAPPING = {\r\n        1: 0,  # Superiority fighter / Attack\r\n        2: 12,  # Light fighter / Attack\r\n        4: 6,  # Heavy fighter / Heavy attack\r\n        5: 3,  # Heavy fighter / Long range attack\r\n    }\r\n    # Same as above\r\n    REARM_TIME_MAPPING = {\r\n        1: 0,  # Superiority fighter / Attack\r\n        2: 4000,  # Light fighter / Attack\r\n        4: 6000,  # Heavy fighter / Heavy attack\r\n        5: 20000,  # Heavy fighter / Long range attack\r\n    }\r\n\r\n    def __init__(self, effect):\r\n        \"\"\"Initialize from the program\"\"\"\r\n        self.__effect = effect\r\n        self.effectID = effect.ID if effect is not None else None\r\n        self.active = False\r\n        self.build()\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        \"\"\"Initialize from the database\"\"\"\r\n        self.__effect = None\r\n\r\n        if self.effectID:\r\n            self.__effect = next((x for x in self.fighter.item.effects.values() if x.ID == self.effectID), None)\r\n            if self.__effect is None:\r\n                pyfalog.error(\"Effect (id: {0}) does not exist\", self.effectID)\r\n                return\r\n\r\n        self.build()\r\n\r\n    def build(self):\r\n        pass\r\n\r\n    @property\r\n    def effect(self):\r\n        return self.__effect\r\n\r\n    @property\r\n    def name(self):\r\n        return self.__effect.getattr('displayName') or self.__effect.name\r\n\r\n    @property\r\n    def attrPrefix(self):\r\n        return self.__effect.getattr('prefix')\r\n\r\n    @property\r\n    def dealsDamage(self):\r\n        attr = \"{}DamageMultiplier\".format(self.attrPrefix)\r\n        return attr in self.fighter.itemModifiedAttributes or self.fighter.charge is not None\r\n\r\n    @property\r\n    def grouped(self):\r\n        # is the ability applied per fighter (webs, returns False), or as a group (MWD, returned True)\r\n        return self.__effect.getattr('grouped')\r\n\r\n    @property\r\n    def hasCharges(self):\r\n        return self.__effect.getattr('hasCharges')\r\n\r\n    @property\r\n    def reloadTime(self):\r\n        return self.getReloadTime()\r\n\r\n    def getReloadTime(self, spentShots=None):\r\n        if spentShots is not None:\r\n            spentShots = max(self.numShots, spentShots)\r\n        else:\r\n            spentShots = self.numShots\r\n        rearm_time = (self.REARM_TIME_MAPPING[self.fighter.getModifiedItemAttr(\"fighterSquadronRole\")] or 0 if self.hasCharges else 0)\r\n        return self.fighter.getModifiedItemAttr(\"fighterRefuelingTime\") + rearm_time * spentShots\r\n\r\n    @property\r\n    def numShots(self):\r\n        return self.NUM_SHOTS_MAPPING[self.fighter.getModifiedItemAttr(\"fighterSquadronRole\")] or 0 if self.hasCharges else 0\r\n\r\n    @property\r\n    def cycleTime(self):\r\n        speed = self.fighter.getModifiedItemAttr(\"{}Duration\".format(self.attrPrefix))\r\n        return speed\r\n\r\n    def getVolley(self, targetProfile=None):\r\n        if not self.dealsDamage or not self.active:\r\n            return DmgTypes.default()\r\n        if self.attrPrefix == \"fighterAbilityLaunchBomb\":\r\n            em = self.fighter.getModifiedChargeAttr(\"emDamage\", 0)\r\n            therm = self.fighter.getModifiedChargeAttr(\"thermalDamage\", 0)\r\n            kin = self.fighter.getModifiedChargeAttr(\"kineticDamage\", 0)\r\n            exp = self.fighter.getModifiedChargeAttr(\"explosiveDamage\", 0)\r\n        else:\r\n            em = self.fighter.getModifiedItemAttr(\"{}DamageEM\".format(self.attrPrefix), 0)\r\n            therm = self.fighter.getModifiedItemAttr(\"{}DamageTherm\".format(self.attrPrefix), 0)\r\n            kin = self.fighter.getModifiedItemAttr(\"{}DamageKin\".format(self.attrPrefix), 0)\r\n            exp = self.fighter.getModifiedItemAttr(\"{}DamageExp\".format(self.attrPrefix), 0)\r\n        dmgMult = self.fighter.amount * self.fighter.getModifiedItemAttr(\"{}DamageMultiplier\".format(self.attrPrefix), 1)\r\n        volley = DmgTypes(em=em * dmgMult, thermal=therm * dmgMult, kinetic=kin * dmgMult, explosive=exp * dmgMult)\r\n        volley.profile = targetProfile\r\n        return volley\r\n\r\n    def getDps(self, targetProfile=None, cycleTimeOverride=None):\r\n        volley = self.getVolley(targetProfile=targetProfile)\r\n        if not volley:\r\n            return DmgTypes.default()\r\n        cycleTime = cycleTimeOverride if cycleTimeOverride is not None else self.cycleTime\r\n        dpsFactor = 1 / (cycleTime / 1000)\r\n        dps = volley * dpsFactor\r\n        return dps\r\n\r\n    def clear(self):\r\n        pass\r\n"
  },
  {
    "path": "eos/saveddata/fit.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport datetime\r\nimport time\r\nfrom copy import deepcopy\r\nfrom itertools import chain\r\nfrom math import ceil, log, sqrt\r\n\r\nfrom logbook import Logger\r\nfrom sqlalchemy.orm import reconstructor, validates\r\n\r\nimport eos.db\r\nfrom eos import capSim\r\nfrom eos.calc import calculateLockTime, calculateMultiplier\r\nfrom eos.const import CalcType, FitSystemSecurity, FittingHardpoint, FittingModuleState, FittingSlot, ImplantLocation\r\nfrom eos.effectHandlerHelpers import (\r\n    HandledBoosterList, HandledDroneCargoList, HandledImplantList,\r\n    HandledModuleList, HandledProjectedDroneList, HandledProjectedModList)\r\nfrom eos.saveddata.character import Character\r\nfrom eos.saveddata.citadel import Citadel\r\nfrom eos.saveddata.damagePattern import DamagePattern\r\nfrom eos.saveddata.module import Module\r\nfrom eos.saveddata.ship import Ship\r\nfrom eos.saveddata.targetProfile import TargetProfile\r\nfrom eos.utils.float import floatUnerr\r\nfrom eos.utils.stats import DmgTypes, RRTypes\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\ndef _t(x):\r\n    return x\r\n\r\n\r\nclass FitLite:\r\n\r\n    def __init__(self, id=None, name=None, shipID=None, shipName=None, shipNameShort=None):\r\n        self.ID = id\r\n        self.name = name\r\n        self.shipID = shipID\r\n        self.shipName = shipName\r\n        self.shipNameShort = shipNameShort\r\n\r\n    def __repr__(self):\r\n        return 'FitLite(ID={})'.format(self.ID)\r\n\r\n\r\nclass Fit:\r\n    \"\"\"Represents a fitting, with modules, ship, implants, etc.\"\"\"\r\n\r\n    PEAK_RECHARGE = 0.25\r\n\r\n    def __init__(self, ship=None, name=\"\"):\r\n        \"\"\"Initialize a fit from the program\"\"\"\r\n        self.__ship = None\r\n        self.__mode = None\r\n        # use @mode.setter's to set __attr and IDs. This will set mode as well\r\n        self.ship = ship\r\n        if self.ship:\r\n            self.ship.owner = self\r\n\r\n        self.__modules = HandledModuleList()\r\n        self.__drones = HandledDroneCargoList()\r\n        self.__fighters = HandledDroneCargoList()\r\n        self.__cargo = HandledDroneCargoList()\r\n        self.__implants = HandledImplantList()\r\n        self.__boosters = HandledBoosterList()\r\n        # self.__projectedFits = {}\r\n        self.__projectedModules = HandledProjectedModList()\r\n        self.__projectedDrones = HandledProjectedDroneList()\r\n        self.__projectedFighters = HandledProjectedDroneList()\r\n        self.__character = None\r\n        self.__owner = None\r\n\r\n        self.projected = False\r\n        self.name = name\r\n        self.timestamp = time.time()\r\n        self.created = None\r\n        self.modified = None\r\n        self.modeID = None\r\n\r\n        self.build()\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        \"\"\"Initialize a fit from the database and validate\"\"\"\r\n        self.__ship = None\r\n        self.__mode = None\r\n\r\n        if self.shipID:\r\n            item = eos.db.getItem(self.shipID)\r\n            if item is None:\r\n                pyfalog.error(\"Item (id: {0}) does not exist\", self.shipID)\r\n                return\r\n\r\n            try:\r\n                try:\r\n                    self.__ship = Ship(item, self)\r\n                except ValueError:\r\n                    self.__ship = Citadel(item, self)\r\n                # @todo extra attributes is now useless, however it set to be\r\n                # the same as ship attributes for ease (so we don't have to\r\n                # change all instances in source). Remove this at some point\r\n                self.extraAttributes = self.__ship.itemModifiedAttributes\r\n            except ValueError:\r\n                pyfalog.error(\"Item (id: {0}) is not a Ship\", self.shipID)\r\n                return\r\n\r\n        if self.modeID and self.__ship:\r\n            item = eos.db.getItem(self.modeID)\r\n            # Don't need to verify if it's a proper item, as validateModeItem assures this\r\n            self.__mode = self.ship.validateModeItem(item, owner=self)\r\n        else:\r\n            self.__mode = self.ship.validateModeItem(None, owner=self)\r\n\r\n        self.build()\r\n\r\n    def build(self):\r\n        self.__extraDrains = []\r\n        self.__ehp = None\r\n        self.__weaponDpsMap = {}\r\n        self.__weaponVolleyMap = {}\r\n        self.__remoteRepMap = {}\r\n        self.__minerYield = None\r\n        self.__droneYield = None\r\n        self.__minerDrain = None\r\n        self.__droneDrain = None\r\n        self.__droneDps = None\r\n        self.__droneVolley = None\r\n        self.__sustainableTank = None\r\n        self.__effectiveSustainableTank = None\r\n        self.__effectiveTank = None\r\n        self.__calculated = False\r\n        self.__capStable = None\r\n        self.__capState = None\r\n        self.__capUsed = None\r\n        self.__capRecharge = None\r\n        self.__savedCapSimData = {}\r\n        self.__calculatedTargets = []\r\n        self.factorReload = False\r\n        self.boostsFits = set()\r\n        self.gangBoosts = None\r\n        self.__ecmProjectedList = []\r\n        self.commandBonuses = {}\r\n        # Reps received, as a list of (amount, cycle time in seconds)\r\n        self._hullRr = []\r\n        self._armorRr = []\r\n        self._armorRrPreSpool = []\r\n        self._armorRrFullSpool = []\r\n        self._shieldRr = []\r\n\r\n    def clearFactorReloadDependentData(self):\r\n        # Here we clear all data known to rely on cycle parameters\r\n        # (which, in turn, relies on factor reload flag)\r\n        self.__weaponDpsMap.clear()\r\n        self.__droneDps = None\r\n        self.__remoteRepMap.clear()\r\n        self.__capStable = None\r\n        self.__capState = None\r\n        self.__capUsed = None\r\n        self.__capRecharge = None\r\n        self.__savedCapSimData.clear()\r\n        # Ancillary tank modules affect this\r\n        self.__sustainableTank = None\r\n        self.__effectiveSustainableTank = None\r\n\r\n    @property\r\n    def targetProfile(self):\r\n        if self.__userTargetProfile is not None:\r\n            return self.__userTargetProfile\r\n        if self.__builtinTargetProfileID is not None:\r\n            return TargetProfile.getBuiltinById(self.__builtinTargetProfileID)\r\n        return None\r\n\r\n    @targetProfile.setter\r\n    def targetProfile(self, targetProfile):\r\n        if targetProfile is None:\r\n            self.__userTargetProfile = None\r\n            self.__builtinTargetProfileID = None\r\n        elif targetProfile.builtin:\r\n            self.__userTargetProfile = None\r\n            self.__builtinTargetProfileID = targetProfile.ID\r\n        else:\r\n            self.__userTargetProfile = targetProfile\r\n            self.__builtinTargetProfileID = None\r\n        self.__weaponDpsMap = {}\r\n        self.__weaponVolleyMap = {}\r\n        self.__droneDps = None\r\n        self.__droneVolley = None\r\n\r\n    @property\r\n    def damagePattern(self):\r\n        if self.__userDamagePattern is not None:\r\n            return self.__userDamagePattern\r\n        if self.__builtinDamagePatternID is not None:\r\n            pattern = DamagePattern.getBuiltinById(self.__builtinDamagePatternID)\r\n            if pattern is not None:\r\n                return pattern\r\n        return DamagePattern.getDefaultBuiltin()\r\n\r\n    @damagePattern.setter\r\n    def damagePattern(self, damagePattern):\r\n        if damagePattern is None:\r\n            self.__userDamagePattern = None\r\n            self.__builtinDamagePatternID = None\r\n        elif damagePattern.builtin:\r\n            self.__userDamagePattern = None\r\n            self.__builtinDamagePatternID = damagePattern.ID\r\n        else:\r\n            self.__userDamagePattern = damagePattern\r\n            self.__builtinDamagePatternID = None\r\n        self.__ehp = None\r\n        self.__effectiveTank = None\r\n\r\n    @property\r\n    def isInvalid(self):\r\n        return self.__ship is None\r\n\r\n    @property\r\n    def mode(self):\r\n        return self.__mode\r\n\r\n    @mode.setter\r\n    def mode(self, mode):\r\n        if self.__mode is not None:\r\n            self.__mode.owner = None\r\n        self.__mode = mode\r\n        self.modeID = mode.item.ID if mode is not None else None\r\n        if mode is not None:\r\n            mode.owner = self\r\n\r\n    @property\r\n    def modifiedCoalesce(self):\r\n        \"\"\"\r\n        This is a property that should get whichever date is available for the fit. @todo: migrate old timestamp data\r\n        and ensure created / modified are set in database to get rid of this\r\n        \"\"\"\r\n        return self.modified or self.created or datetime.datetime.fromtimestamp(self.timestamp)\r\n\r\n    @property\r\n    def character(self):\r\n        return self.__character if self.__character is not None else Character.getAll0()\r\n\r\n    @character.setter\r\n    def character(self, char):\r\n        self.__character = char\r\n\r\n    @property\r\n    def calculated(self):\r\n        return self.__calculated\r\n\r\n    @calculated.setter\r\n    def calculated(self, bool):\r\n        # todo: brief explaination hwo this works\r\n        self.__calculated = bool\r\n\r\n    @property\r\n    def ship(self):\r\n        return self.__ship\r\n\r\n    @ship.setter\r\n    def ship(self, ship):\r\n        if self.__ship is not None:\r\n            self.__ship.owner = None\r\n        self.__ship = ship\r\n        self.shipID = ship.item.ID if ship is not None else None\r\n        if ship is not None:\r\n            ship.owner = self\r\n            #  set mode of new ship\r\n            self.mode = self.ship.validateModeItem(None, owner=self) if ship is not None else None\r\n            # set fit attributes the same as ship\r\n            self.extraAttributes = self.ship.itemModifiedAttributes\r\n\r\n    @property\r\n    def isStructure(self):\r\n        return isinstance(self.ship, Citadel)\r\n\r\n    @property\r\n    def drones(self):\r\n        return self.__drones\r\n\r\n    @property\r\n    def fighters(self):\r\n        return self.__fighters\r\n\r\n    @property\r\n    def cargo(self):\r\n        return self.__cargo\r\n\r\n    @property\r\n    def modules(self):\r\n        return self.__modules\r\n\r\n    @property\r\n    def implants(self):\r\n        return self.__implants\r\n\r\n    @property\r\n    def boosters(self):\r\n        return self.__boosters\r\n\r\n    @property\r\n    def projectedModules(self):\r\n        return self.__projectedModules\r\n\r\n    @property\r\n    def projectedFits(self):\r\n        # only in extreme edge cases will the fit be invalid, but to be sure do\r\n        # not return them.\r\n        return [fit for fit in list(self.projectedFitDict.values()) if not fit.isInvalid]\r\n\r\n    @property\r\n    def commandFits(self):\r\n        return [fit for fit in list(self.commandFitDict.values()) if not fit.isInvalid]\r\n\r\n    def getProjectionInfo(self, fitID):\r\n        return self.projectedOnto.get(fitID, None)\r\n\r\n    def getCommandInfo(self, fitID):\r\n        return self.boostedOnto.get(fitID, None)\r\n\r\n    @property\r\n    def projectedDrones(self):\r\n        return self.__projectedDrones\r\n\r\n    @property\r\n    def projectedFighters(self):\r\n        return self.__projectedFighters\r\n\r\n    def getWeaponDps(self, spoolOptions=None):\r\n        if spoolOptions not in self.__weaponDpsMap:\r\n            self.calculateWeaponDmgStats(spoolOptions)\r\n        return self.__weaponDpsMap[spoolOptions]\r\n\r\n    def getWeaponVolley(self, spoolOptions=None):\r\n        if spoolOptions not in self.__weaponVolleyMap:\r\n            self.calculateWeaponDmgStats(spoolOptions)\r\n        return self.__weaponVolleyMap[spoolOptions]\r\n\r\n    def getDroneDps(self):\r\n        if self.__droneDps is None:\r\n            self.calculateDroneDmgStats()\r\n        return self.__droneDps\r\n\r\n    def getDroneVolley(self):\r\n        if self.__droneVolley is None:\r\n            self.calculateDroneDmgStats()\r\n        return self.__droneVolley\r\n\r\n    def getTotalDps(self, spoolOptions=None):\r\n        return self.getDroneDps() + self.getWeaponDps(spoolOptions=spoolOptions)\r\n\r\n    def getTotalVolley(self, spoolOptions=None):\r\n        return self.getDroneVolley() + self.getWeaponVolley(spoolOptions=spoolOptions)\r\n\r\n    @property\r\n    def minerYield(self):\r\n        if self.__minerYield is None:\r\n            self.calculatemining()\r\n\r\n        return self.__minerYield\r\n\r\n    @property\r\n    def minerDrain(self):\r\n        if self.__minerDrain is None:\r\n            self.calculatemining()\r\n\r\n        return self.__minerDrain\r\n\r\n    @property\r\n    def droneYield(self):\r\n        if self.__droneYield is None:\r\n            self.calculatemining()\r\n\r\n        return self.__droneYield\r\n\r\n    @property\r\n    def droneDrain(self):\r\n        if self.__droneDrain is None:\r\n            self.calculatemining()\r\n\r\n        return self.__droneDrain\r\n\r\n    @property\r\n    def totalYield(self):\r\n        return self.droneYield + self.minerYield\r\n\r\n    @property\r\n    def totalDrain(self):\r\n        return self.droneDrain + self.minerDrain\r\n\r\n    @property\r\n    def maxTargets(self):\r\n        maxTargets = min(self.extraAttributes[\"maxTargetsLockedFromSkills\"],\r\n                         self.ship.getModifiedItemAttr(\"maxLockedTargets\"))\r\n        return ceil(floatUnerr(maxTargets))\r\n\r\n    @property\r\n    def maxTargetRange(self):\r\n        return self.ship.getModifiedItemAttr(\"maxTargetRange\")\r\n\r\n    @property\r\n    def scanStrength(self):\r\n        return max([self.ship.getModifiedItemAttr(\"scan%sStrength\" % scanType)\r\n                    for scanType in (\"Magnetometric\", \"Ladar\", \"Radar\", \"Gravimetric\")])\r\n\r\n    @property\r\n    def scanType(self):\r\n        maxStr = -1\r\n        type_ = None\r\n        for scanType in (_t(\"Magnetometric\"), _t(\"Ladar\"), _t(\"Radar\"), _t(\"Gravimetric\")):\r\n            currStr = self.ship.getModifiedItemAttr(\"scan%sStrength\" % scanType)\r\n            if currStr > maxStr:\r\n                maxStr = currStr\r\n                type_ = scanType\r\n            elif currStr == maxStr:\r\n                type_ = _t(\"Multispectral\")\r\n\r\n        return type_\r\n\r\n    @property\r\n    def jamChance(self):\r\n        sensors = self.scanStrength\r\n        retainLockChance = 1\r\n        for jamStr in self.__ecmProjectedList:\r\n            retainLockChance *= 1 - min(1, jamStr / sensors)\r\n        return (1 - retainLockChance) * 100\r\n\r\n    @property\r\n    def maxSpeed(self):\r\n        speedLimit = self.ship.getModifiedItemAttr(\"speedLimit\")\r\n        if speedLimit and self.ship.getModifiedItemAttr(\"maxVelocity\") > speedLimit:\r\n            return speedLimit\r\n\r\n        return self.ship.getModifiedItemAttr(\"maxVelocity\")\r\n\r\n    @property\r\n    def alignTime(self):\r\n        agility = self.ship.getModifiedItemAttr(\"agility\") or 0\r\n        mass = self.ship.getModifiedItemAttr(\"mass\")\r\n\r\n        return -log(0.25) * agility * mass / 1000000\r\n\r\n    @property\r\n    def implantSource(self):\r\n        return self.implantLocation\r\n\r\n    @implantSource.setter\r\n    def implantSource(self, source):\r\n        self.implantLocation = source\r\n\r\n    @property\r\n    def appliedImplants(self):\r\n        if self.implantLocation == ImplantLocation.CHARACTER:\r\n            return self.character.implants\r\n        else:\r\n            return self.implants\r\n\r\n    @validates(\"ID\", \"ownerID\", \"shipID\")\r\n    def validator(self, key, val):\r\n        map = {\r\n            \"ID\": lambda _val: isinstance(_val, int),\r\n            \"ownerID\": lambda _val: isinstance(_val, int) or _val is None,\r\n            \"shipID\": lambda _val: isinstance(_val, int) or _val is None\r\n        }\r\n\r\n        if not map[key](val):\r\n\r\n            raise ValueError(str(val) + \" is not a valid value for \" + key)\r\n        else:\r\n            return val\r\n\r\n    def canFit(self, item):\r\n        # Whereas Module.fits() deals with current state of the fit in order to determine if somethign fits (for example maxGroupFitted which can be modified by effects),\r\n        # this function should be used against Items to see if the item is even allowed on the fit with rules that don't change\r\n\r\n        fitsOnType = set()\r\n        fitsOnGroup = set()\r\n\r\n        shipType = item.attributes.get(\"fitsToShipType\", None)\r\n        if shipType is not None:\r\n            fitsOnType.add(shipType.value)\r\n\r\n        fitsOnType.update([item.attributes[attr].value for attr in item.attributes if attr.startswith(\"canFitShipType\")])\r\n        fitsOnGroup.update([item.attributes[attr].value for attr in item.attributes if attr.startswith(\"canFitShipGroup\")])\r\n\r\n        if (len(fitsOnGroup) > 0 or len(fitsOnType) > 0) \\\r\n                and self.ship.item.group.ID not in fitsOnGroup \\\r\n                and self.ship.item.ID not in fitsOnType:\r\n            return False\r\n\r\n        # Citadel modules are now under a new category, so we can check this to ensure only structure modules can fit on a citadel\r\n        if isinstance(self.ship, Citadel) is not item.isStandup:\r\n            return False\r\n        return True\r\n\r\n    def clear(self, projected=False, command=False):\r\n        self.__effectiveTank = None\r\n        self.__weaponDpsMap = {}\r\n        self.__weaponVolleyMap = {}\r\n        self.__remoteRepMap = {}\r\n        self.__minerYield = None\r\n        self.__droneYield = None\r\n        self.__minerDrain = None\r\n        self.__droneDrain = None\r\n        self.__effectiveSustainableTank = None\r\n        self.__sustainableTank = None\r\n        self.__droneDps = None\r\n        self.__droneVolley = None\r\n        self.__ehp = None\r\n        self.__calculated = False\r\n        self.__capStable = None\r\n        self.__capState = None\r\n        self.__capUsed = None\r\n        self.__capRecharge = None\r\n        self.__savedCapSimData.clear()\r\n        self.__ecmProjectedList = []\r\n        # self.commandBonuses = {}\r\n\r\n        del self.__calculatedTargets[:]\r\n        del self.__extraDrains[:]\r\n\r\n        if self.ship:\r\n            self.ship.clear()\r\n\r\n        c = chain(\r\n                self.modules,\r\n                self.drones,\r\n                self.fighters,\r\n                self.boosters,\r\n                self.implants,\r\n                self.projectedDrones,\r\n                self.projectedModules,\r\n                self.projectedFighters,\r\n                (self.character, self.extraAttributes),\r\n        )\r\n\r\n        for stuff in c:\r\n            if stuff is not None and stuff != self:\r\n                stuff.clear()\r\n\r\n        self._hullRr.clear()\r\n        self._armorRr.clear()\r\n        self._armorRrPreSpool.clear()\r\n        self._armorRrFullSpool.clear()\r\n        self._shieldRr.clear()\r\n\r\n        # If this is the active fit that we are clearing, not a projected fit,\r\n        # then this will run and clear the projected ships and flag the next\r\n        # iteration to skip this part to prevent recursion.\r\n        # if not projected:\r\n        #     for stuff in self.projectedFits:\r\n        #         if stuff is not None and stuff != self:\r\n        #             stuff.clear(projected=True)\r\n        #\r\n        # if not command:\r\n        #     for stuff in self.commandFits:\r\n        #         if stuff is not None and stuff != self:\r\n        #             stuff.clear(command=True)\r\n\r\n    # Methods to register and get the thing currently affecting the fit,\r\n    # so we can correctly map \"Affected By\"\r\n    def register(self, currModifier, origin=None):\r\n        self.__modifier = currModifier\r\n        self.__origin = origin\r\n        if hasattr(currModifier, \"itemModifiedAttributes\"):\r\n            if hasattr(currModifier.itemModifiedAttributes, \"fit\"):\r\n                currModifier.itemModifiedAttributes.fit = origin or self\r\n        if hasattr(currModifier, \"chargeModifiedAttributes\"):\r\n            if hasattr(currModifier.chargeModifiedAttributes, \"fit\"):\r\n                currModifier.chargeModifiedAttributes.fit = origin or self\r\n\r\n    def getModifier(self):\r\n        return self.__modifier\r\n\r\n    def getOrigin(self):\r\n        return self.__origin\r\n\r\n    def addCommandBonus(self, warfareBuffID, value, module, effect, runTime=\"normal\"):\r\n        # oh fuck this is so janky\r\n        # @todo should we pass in min/max to this function, or is abs okay?\r\n        # (abs is old method, ccp now provides the aggregate function in their data)\r\n        if warfareBuffID not in self.commandBonuses or abs(self.commandBonuses[warfareBuffID][1]) < abs(value):\r\n            self.commandBonuses[warfareBuffID] = (runTime, value, module, effect)\r\n\r\n    def addProjectedEcm(self, strength):\r\n        self.__ecmProjectedList.append(strength)\r\n\r\n    def __runCommandBoosts(self, runTime=\"normal\"):\r\n        pyfalog.debug(\"Applying gang boosts for {0}\", repr(self))\r\n        for warfareBuffID in list(self.commandBonuses.keys()):\r\n            # Unpack all data required to run effect properly\r\n            effect_runTime, value, thing, effect = self.commandBonuses[warfareBuffID]\r\n\r\n            if runTime != effect_runTime:\r\n                continue\r\n\r\n            # This should always be a gang effect, otherwise it wouldn't be added to commandBonuses\r\n            if effect.isType(\"gang\"):\r\n                self.register(thing)\r\n\r\n                if warfareBuffID == 10:  # Shield Burst: Shield Harmonizing: Shield Resistance\r\n                    for damageType in (\"Em\", \"Explosive\", \"Thermal\", \"Kinetic\"):\r\n                        self.ship.boostItemAttr(\"shield%sDamageResonance\" % damageType, value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 11:  # Shield Burst: Active Shielding: Repair Duration/Capacitor\r\n                    self.modules.filteredItemBoost(\r\n                            lambda mod: mod.item.requiresSkill(\"Shield Operation\") or\r\n                                        mod.item.requiresSkill(\"Shield Emission Systems\") or\r\n                                        mod.item.requiresSkill(\"Capital Shield Emission Systems\"),\r\n                            \"capacitorNeed\", value)\r\n                    self.modules.filteredItemBoost(\r\n                            lambda mod: mod.item.requiresSkill(\"Shield Operation\") or\r\n                                        mod.item.requiresSkill(\"Shield Emission Systems\") or\r\n                                        mod.item.requiresSkill(\"Capital Shield Emission Systems\"),\r\n                            \"duration\", value)\r\n\r\n                elif warfareBuffID == 12:  # Shield Burst: Shield Extension: Shield HP\r\n                    self.ship.boostItemAttr(\"shieldCapacity\", value)\r\n\r\n                elif warfareBuffID == 13:  # Armor Burst: Armor Energizing: Armor Resistance\r\n                    for damageType in (\"Em\", \"Thermal\", \"Explosive\", \"Kinetic\"):\r\n                        self.ship.boostItemAttr(\"armor%sDamageResonance\" % damageType, value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 14:  # Armor Burst: Rapid Repair: Repair Duration/Capacitor\r\n                    self.modules.filteredItemBoost(\r\n                            lambda mod: mod.item.requiresSkill(\"Remote Armor Repair Systems\") or\r\n                                        mod.item.requiresSkill(\"Repair Systems\") or\r\n                                        mod.item.requiresSkill(\"Capital Remote Armor Repair Systems\"),\r\n                            \"capacitorNeed\", value)\r\n                    self.modules.filteredItemBoost(\r\n                            lambda mod: mod.item.requiresSkill(\"Remote Armor Repair Systems\") or\r\n                                        mod.item.requiresSkill(\"Repair Systems\") or\r\n                                        mod.item.requiresSkill(\"Capital Remote Armor Repair Systems\"),\r\n                            \"duration\", value)\r\n\r\n                elif warfareBuffID == 15:  # Armor Burst: Armor Reinforcement: Armor HP\r\n                    self.ship.boostItemAttr(\"armorHP\", value)\r\n\r\n                elif warfareBuffID == 16:  # Information Burst: Sensor Optimization: Scan Resolution\r\n                    self.ship.boostItemAttr(\"scanResolution\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 17:  # Information Burst: Electronic Superiority: EWAR Range and Strength\r\n                    groups = (\"ECM\", \"Sensor Dampener\", \"Weapon Disruptor\", \"Target Painter\")\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, \"maxRange\", value,\r\n                                                   stackingPenalties=True)\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,\r\n                                                   \"falloffEffectiveness\", value, stackingPenalties=True)\r\n\r\n                    for scanType in (\"Magnetometric\", \"Radar\", \"Ladar\", \"Gravimetric\"):\r\n                        self.modules.filteredItemBoost(lambda mod: mod.item.group.name == \"ECM\",\r\n                                                       \"scan%sStrengthBonus\" % scanType, value,\r\n                                                       stackingPenalties=True)\r\n\r\n                    for attr in (\"missileVelocityBonus\", \"explosionDelayBonus\", \"aoeVelocityBonus\", \"falloffBonus\",\r\n                                 \"maxRangeBonus\", \"aoeCloudSizeBonus\", \"trackingSpeedBonus\"):\r\n                        self.modules.filteredItemBoost(lambda mod: mod.item.group.name == \"Weapon Disruptor\",\r\n                                                       attr, value)\r\n\r\n                    for attr in (\"maxTargetRangeBonus\", \"scanResolutionBonus\"):\r\n                        self.modules.filteredItemBoost(lambda mod: mod.item.group.name == \"Sensor Dampener\",\r\n                                                       attr, value)\r\n\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.group.name == \"Target Painter\",\r\n                                                   \"signatureRadiusBonus\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 18:  # Information Burst: Electronic Hardening: Scan Strength\r\n                    for scanType in (\"Gravimetric\", \"Radar\", \"Ladar\", \"Magnetometric\"):\r\n                        self.ship.boostItemAttr(\"scan%sStrength\" % scanType, value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 19:  # Information Burst: Electronic Hardening: RSD/RWD Resistance\r\n                    self.ship.boostItemAttr(\"sensorDampenerResistance\", value)\r\n                    self.ship.boostItemAttr(\"weaponDisruptionResistance\", value)\r\n\r\n                elif warfareBuffID == 20:  # Skirmish Burst: Evasive Maneuvers: Signature Radius\r\n                    self.ship.boostItemAttr(\"signatureRadius\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 21:  # Skirmish Burst: Interdiction Maneuvers: Tackle Range\r\n                    groups = (\"Stasis Web\", \"Warp Scrambler\")\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, \"maxRange\", value,\r\n                                                   stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 22:  # Skirmish Burst: Rapid Deployment: AB/MWD Speed Increase\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Afterburner\") or\r\n                                                               mod.item.requiresSkill(\"High Speed Maneuvering\"),\r\n                                                   \"speedFactor\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 23:  # Mining Burst: Mining Laser Field Enhancement: Mining Range\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Mining\") or\r\n                                                               mod.item.requiresSkill(\"Ice Harvesting\") or\r\n                                                               mod.item.requiresSkill(\"Gas Cloud Harvesting\"),\r\n                                                   \"maxRange\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 24:  # Mining Burst: Mining Laser Optimization: Mining Capacitor/Duration\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Mining\") or\r\n                                                               mod.item.requiresSkill(\"Ice Harvesting\") or\r\n                                                               mod.item.requiresSkill(\"Gas Cloud Harvesting\"),\r\n                                                   \"capacitorNeed\", value, stackingPenalties=True)\r\n\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Mining\") or\r\n                                                               mod.item.requiresSkill(\"Ice Harvesting\") or\r\n                                                               mod.item.requiresSkill(\"Gas Cloud Harvesting\"),\r\n                                                   \"duration\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 25:  # Mining Burst: Mining Equipment Preservation: Crystal Volatility\r\n                    self.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill(\"Mining\"),\r\n                                                     \"crystalVolatilityChance\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 26:  # Information Burst: Sensor Optimization: Targeting Range\r\n                    self.ship.boostItemAttr(\"maxTargetRange\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 60:  # Skirmish Burst: Evasive Maneuvers: Agility\r\n                    self.ship.boostItemAttr(\"agility\", value, stackingPenalties=True)\r\n\r\n                # Titan effects\r\n\r\n                elif warfareBuffID == 39:  # Avatar Effect Generator : Capacitor Recharge bonus\r\n                    self.ship.boostItemAttr(\"rechargeRate\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 40:  # Avatar Effect Generator : Kinetic resistance bonus\r\n                    for attr in (\"armorKineticDamageResonance\", \"shieldKineticDamageResonance\", \"kineticDamageResonance\"):\r\n                        self.ship.boostItemAttr(attr, value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 41:  # Avatar Effect Generator : EM resistance penalty\r\n                    for attr in (\"armorEmDamageResonance\", \"shieldEmDamageResonance\", \"emDamageResonance\"):\r\n                        self.ship.boostItemAttr(attr, value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 42:  # Erebus Effect Generator : Armor HP bonus\r\n                    self.ship.boostItemAttr(\"armorHP\", value)\r\n\r\n                elif warfareBuffID == 43:  # Erebus Effect Generator : Explosive resistance bonus\r\n                    for attr in (\"armorExplosiveDamageResonance\", \"shieldExplosiveDamageResonance\", \"explosiveDamageResonance\"):\r\n                        self.ship.boostItemAttr(attr, value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 44:  # Erebus Effect Generator : Thermal resistance penalty\r\n                    for attr in (\"armorThermalDamageResonance\", \"shieldThermalDamageResonance\", \"thermalDamageResonance\"):\r\n                        self.ship.boostItemAttr(attr, value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 45:  # Ragnarok Effect Generator : Signature Radius bonus\r\n                    self.ship.boostItemAttr(\"signatureRadius\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 46:  # Ragnarok Effect Generator : Thermal resistance bonus\r\n                    for attr in (\"armorThermalDamageResonance\", \"shieldThermalDamageResonance\", \"thermalDamageResonance\"):\r\n                        self.ship.boostItemAttr(attr, value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 47:  # Ragnarok Effect Generator : Explosive resistance penaly\r\n                    for attr in (\"armorExplosiveDamageResonance\", \"shieldExplosiveDamageResonance\", \"explosiveDamageResonance\"):\r\n                        self.ship.boostItemAttr(attr, value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 48:  # Leviathan Effect Generator : Shield HP bonus\r\n                    self.ship.boostItemAttr(\"shieldCapacity\", value)\r\n\r\n                elif warfareBuffID == 49:  # Leviathan Effect Generator : EM resistance bonus\r\n                    for attr in (\"armorEmDamageResonance\", \"shieldEmDamageResonance\", \"emDamageResonance\"):\r\n                        self.ship.boostItemAttr(attr, value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 50:  # Leviathan Effect Generator : Kinetic resistance penalty\r\n                    for attr in (\"armorKineticDamageResonance\", \"shieldKineticDamageResonance\", \"kineticDamageResonance\"):\r\n                        self.ship.boostItemAttr(attr, value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 51:  # Avatar Effect Generator : Velocity penalty\r\n                    self.ship.boostItemAttr(\"maxVelocity\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 52:  # Erebus Effect Generator : Shield RR penalty\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Shield Emission Systems\"), \"shieldBonus\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 53:  # Leviathan Effect Generator : Armor RR penalty\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Remote Armor Repair Systems\"),\r\n                                                   \"armorDamageAmount\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 54:  # Ragnarok Effect Generator : Laser and Hybrid Optimal penalty\r\n                    groups = (\"Energy Weapon\", \"Hybrid Weapon\")\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, \"maxRange\", value, stackingPenalties=True)\r\n\r\n                # Localized environment effects\r\n\r\n                elif warfareBuffID == 79:  # AOE_Beacon_bioluminescence_cloud\r\n                    self.ship.boostItemAttr(\"signatureRadius\", value, stackingPenalties=True)\r\n                    self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                        \"signatureRadius\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 80:  # AOE_Beacon_caustic_cloud_inertia\r\n                    self.ship.boostItemAttr(\"agility\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 81:  # AOE_Beacon_caustic_cloud_velocity\r\n                    self.ship.boostItemAttr(\"maxVelocity\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 88:  # AOE_Beacon_filament_cloud_shield_booster_shield_bonus\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Shield Operation\"),\r\n                                                   \"shieldBonus\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 89:  # AOE_Beacon_filament_cloud_shield_booster_duration\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Shield Operation\"),\r\n                                                   \"duration\", value, stackingPenalties=True)\r\n\r\n                # Abyssal Weather Effects\r\n\r\n                elif warfareBuffID == 90:  # Weather_electric_storm_EM_resistance_penalty\r\n                    for tankType in (\"shield\", \"armor\"):\r\n                        self.ship.boostItemAttr(\"{}EmDamageResonance\".format(tankType), value)\r\n                        self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                            \"{}EmDamageResonance\".format(tankType), value)\r\n                    self.ship.boostItemAttr(\"emDamageResonance\", value)  # for hull\r\n                    self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                        \"emDamageResonance\", value)  #for hull\r\n\r\n                elif warfareBuffID == 92:  # Weather_electric_storm_capacitor_recharge_bonus\r\n                    self.ship.boostItemAttr(\"rechargeRate\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 93:  # Weather_xenon_gas_explosive_resistance_penalty\r\n                    for tankType in (\"shield\", \"armor\"):\r\n                        self.ship.boostItemAttr(\"{}ExplosiveDamageResonance\".format(tankType), value)\r\n                        self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                            \"{}ExplosiveDamageResonance\".format(tankType), value)\r\n                    self.ship.boostItemAttr(\"explosiveDamageResonance\", value)  # for hull\r\n                    self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                        \"explosiveDamageResonance\", value)  # for hull\r\n\r\n                elif warfareBuffID == 94:  # Weather_xenon_gas_shield_hp_bonus\r\n                    self.ship.boostItemAttr(\"shieldCapacity\", value)\r\n                    self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                        \"shieldCapacity\", value)\r\n\r\n                elif warfareBuffID == 95:  # Weather_infernal_thermal_resistance_penalty\r\n                    for tankType in (\"shield\", \"armor\"):\r\n                        self.ship.boostItemAttr(\"{}ThermalDamageResonance\".format(tankType), value)\r\n                        self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                            \"{}ThermalDamageResonance\".format(tankType), value)\r\n                    self.ship.boostItemAttr(\"thermalDamageResonance\", value)  # for hull\r\n                    self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                        \"thermalDamageResonance\", value)  # for hull\r\n\r\n                elif warfareBuffID == 96:  # Weather_infernal_armor_hp_bonus\r\n                    self.ship.boostItemAttr(\"armorHP\", value)\r\n                    self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                        \"armorHP\", value)\r\n\r\n                elif warfareBuffID == 97:  # Weather_darkness_turret_range_penalty\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Gunnery\"),\r\n                                                   \"maxRange\", value, stackingPenalties=True)\r\n                    self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                        \"maxRange\", value, stackingPenalties=True)\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Gunnery\"),\r\n                                                   \"falloff\", value, stackingPenalties=True)\r\n                    self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                        \"falloff\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 98:  # Weather_darkness_velocity_bonus\r\n                    self.ship.boostItemAttr(\"maxVelocity\", value)\r\n                    self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                        \"maxVelocity\", value)\r\n\r\n                elif warfareBuffID == 99:  # Weather_caustic_toxin_kinetic_resistance_penalty\r\n                    for tankType in (\"shield\", \"armor\"):\r\n                        self.ship.boostItemAttr(\"{}KineticDamageResonance\".format(tankType), value)\r\n                        self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                            \"{}KineticDamageResonance\".format(tankType), value)\r\n                    self.ship.boostItemAttr(\"kineticDamageResonance\", value)  # for hull\r\n                    self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Drones\"),\r\n                        \"kineticDamageResonance\", value)  # for hull\r\n\r\n                elif warfareBuffID == 100:  # Weather_caustic_toxin_scan_resolution_bonus\r\n                    self.ship.boostItemAttr(\"scanResolution\", value, stackingPenalties=True)\r\n\r\n                elif warfareBuffID == 2405:  # Insurgency Suppression Bonus: Interdiction Range\r\n                    self.modules.filteredItemBoost(\r\n                        lambda mod: mod.item.requiresSkill(\"Navigation\"),\r\n                        \"maxRange\", value, stackingPenalties=True)\r\n                    self.modules.filteredItemBoost(\r\n                        lambda mod: mod.item.group.name == \"Stasis Web\",\r\n                        \"maxRange\", value, stackingPenalties=True)\r\n\r\n                # Sov upgrades buffs\r\n                elif warfareBuffID == 2433:  # Sov System Modifier Shield HP Bonus\r\n                    self.ship.boostItemAttr(\"shieldCapacity\", value)\r\n                elif warfareBuffID == 2434:  # Sov System Modifier Capacitor Capacity Bonus\r\n                    self.ship.boostItemAttr(\"capacitorCapacity\", value)\r\n                elif warfareBuffID == 2435:  # Sov System Modifier Armor HP Bonus\r\n                    self.ship.boostItemAttr(\"armorHP\", value)\r\n                elif warfareBuffID == 2436:  # Sov System Modifier Overheating Bonus - Includes Ewar\r\n                    for attr in (\r\n                        'overloadDurationBonus', 'overloadRofBonus', 'overloadSelfDurationBonus',\r\n                        'overloadHardeningBonus', 'overloadDamageModifier', 'overloadRangeBonus',\r\n                        'overloadSpeedFactorBonus', 'overloadECMStrengthBonus', 'overloadECCMStrenghtBonus',\r\n                        'overloadArmorDamageAmount', 'overloadShieldBonus', 'overloadTrackingModuleStrengthBonus',\r\n                        'overloadSensorModuleStrengthBonus', 'overloadPainterStrengthBonus',\r\n                    ):\r\n                        self.modules.filteredItemBoost(lambda mod: attr in mod.itemModifiedAttributes, attr, value)\r\n                elif warfareBuffID == 2437:  # Sov System Modifier Capacitor Recharge Bonus\r\n                    self.ship.boostItemAttr(\"rechargeRate\", value)\r\n                elif warfareBuffID == 2438:  # Sov System Modifier Targeting and DScan Range Bonus\r\n                    self.ship.boostItemAttr(\"maxTargetRange\", value)\r\n                    self.ship.boostItemAttr(\"maxDirectionalScanRange\", value)\r\n                elif warfareBuffID == 2439:  # Sov System Modifier Scan Resolution Bonus\r\n                    self.ship.boostItemAttr(\"scanResolution\", value)\r\n                elif warfareBuffID == 2440:  # Sov System Modifier Warp Speed Addition\r\n                    self.ship.increaseItemAttr('warpSpeedMultiplier', value)\r\n                elif warfareBuffID == 2441:  # Sov System Modifier Shield Booster Bonus\r\n                    self.modules.filteredItemBoost(\r\n                        lambda mod: (mod.item.requiresSkill(\"Shield Operation\")\r\n                                     or mod.item.requiresSkill(\"Capital Shield Operation\")),\r\n                        \"shieldBonus\", value, stackingPenalties=True)\r\n                elif warfareBuffID == 2442:  # Sov System Modifier Armor Repairer Bonus\r\n                    self.modules.filteredItemBoost(\r\n                        lambda mod: (mod.item.requiresSkill(\"Repair Systems\")\r\n                                     or mod.item.requiresSkill(\"Capital Repair Systems\")),\r\n                        \"armorDamageAmount\", value, stackingPenalties=True)\r\n                elif warfareBuffID == 2464:  # Expedition Burst: Probe Strength\r\n                    self.modules.filteredItemBoost(\r\n                        lambda mod: mod.charge.requiresSkill('Astrometrics'),\r\n                        'expeditionCommandBurstProbeStrengthBonusCharID', value, stackingPenalties=True)\r\n                elif warfareBuffID == 2465:  # Expedition Burst: Directional Scanner, Hacking and Salvager Range\r\n                    self.ship.boostItemAttr(\"maxDirectionalScanRange\", value)\r\n                    self.modules.filteredItemBoost(\r\n                        lambda mod: mod.item.group.name in (\"Data Miners\", \"Salvager\"), \"maxRange\", value, stackingPenalties=True)\r\n                elif warfareBuffID == 2466:  # Expedition Burst: Maximum Scan Deviation Modifier\r\n                    self.modules.filteredItemBoost(\r\n                        lambda mod: mod.charge.requiresSkill('Astrometrics'),\r\n                        'expeditionCommandBurstProbeDeviationBonusCharID', value, stackingPenalties=True)\r\n                elif warfareBuffID == 2468:  # Expedition Burst: Virus Coherence\r\n                    self.modules.filteredItemIncrease(\r\n                        lambda mod: mod.item.group.name == \"Data Miners\", \"virusCoherence\", value)\r\n                elif warfareBuffID == 2474:  # Mining burst charges\r\n                    self.ship.forceItemAttr(\"miningScannerUpgrade\", value)\r\n                elif warfareBuffID == 2481:  # Expedition Burst: Salvager duration bonus\r\n                    self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(\"Salvaging\"), \"duration\", value)\r\n                elif warfareBuffID == 2516:  # Mining Burst: Mining Crit Chance\r\n                    self.modules.filteredItemBoost(\r\n                        lambda mod: mod.item.requiresSkill(\"Mining\") or mod.item.requiresSkill(\"Ice Harvesting\"),\r\n                        \"miningCritChance\", value)\r\n                elif warfareBuffID == 2517:  # Mining Burst: Mining Residue Chance Reduction\r\n                    self.modules.filteredItemBoost(\r\n                        lambda mod: (\r\n                                mod.item.requiresSkill(\"Mining\")\r\n                                or mod.item.requiresSkill(\"Ice Harvesting\")\r\n                                or mod.item.requiresSkill(\"Gas Cloud Harvesting\")),\r\n                        \"miningWasteProbability\", value, stackingPenalties=True)\r\n                elif warfareBuffID == 2534:  # Triglavian System Effect - Maximum Locked Targets Percentage\r\n                    self.ship.boostItemAttr(\"maxLockedTargets\", value)\r\n                elif warfareBuffID == 2535:  # Triglavian System Effect - Warp Speed Multiplier Percentage\r\n                    self.ship.boostItemAttr(\"warpSpeedMultiplier\", value, stackingPenalties=True)\r\n                elif warfareBuffID == 2538:  # Triglavian System Effect - Remote Armor Repair Percentage\r\n                    self.modules.filteredItemBoost(\r\n                        lambda mod: (\r\n                            mod.item.requiresSkill(\"Remote Armor Repair Systems\")\r\n                            or mod.item.requiresSkill(\"Capital Remote Armor Repair Systems\")),\r\n                        \"armorDamageAmount\", value, stackingPenalties=True)\r\n                elif warfareBuffID == 2539:  # Triglavian System Effect - Remote Shield Boost Percentage\r\n                    self.modules.filteredItemBoost(\r\n                        lambda mod: (\r\n                            mod.item.requiresSkill(\"Shield Emission Systems\")\r\n                            or mod.item.requiresSkill(\"Capital Shield Emission Systems\")),\r\n                        \"shieldBonus\", value, stackingPenalties=True)\r\n\r\n            del self.commandBonuses[warfareBuffID]\r\n\r\n    def __resetDependentCalcs(self):\r\n        self.calculated = False\r\n        for value in list(self.projectedOnto.values()):\r\n            if value.victim_fit:  # removing a self-projected fit causes victim fit to be None. @todo: look into why. :3\r\n                value.victim_fit.calculated = False\r\n\r\n    def calculateModifiedAttributes(self, targetFit=None, type=CalcType.LOCAL):\r\n        \"\"\"\r\n        The fit calculation function. It should be noted that this is a recursive function - if the local fit has\r\n        projected fits, this function will be called for those projected fits to be calculated.\r\n\r\n        Args:\r\n            targetFit:\r\n                If this is set, signals that we are currently calculating a remote fit (projected or command) that\r\n                should apply it's remote effects to the targetFit. If None, signals that we are currently calcing the\r\n                local fit\r\n            type:\r\n                The type of calculation our current iteration is in. This helps us determine the interactions between\r\n                fits that rely on others for proper calculations\r\n        \"\"\"\r\n        pyfalog.info(\"Starting fit calculation on: {0}, calc: {1}\", repr(self), CalcType(type).name)\r\n\r\n        # If we are projecting this fit onto another one, collect the projection info for later use\r\n\r\n        # We also deal with self-projection here by setting self as a copy (to get a new fit object) to apply onto original fit\r\n        # First and foremost, if we're looking at a local calc, reset the calculated state of fits that this fit affects\r\n        # Thankfully, due to the way projection mechanics currently work, we don't have to traverse down a projection\r\n        # tree to (resetting the first degree of projection will suffice)\r\n        if targetFit is None:\r\n            # This resets all fits that local projects onto, allowing them to recalc when loaded\r\n            self.__resetDependentCalcs()\r\n\r\n            # For fits that are under local's Command, we do the same thing\r\n            for value in list(self.boostedOnto.values()):\r\n                # apparently this is a thing that happens when removing a command fit from a fit and then switching to\r\n                # that command fit. Same as projected clears, figure out why.\r\n                if value.boosted_fit:\r\n                    value.boosted_fit.__resetDependentCalcs()\r\n\r\n        if targetFit and type == CalcType.PROJECTED:\r\n            pyfalog.debug(\"Calculating projections from {0} to target {1}\", repr(self), repr(targetFit))\r\n            projectionInfo = self.getProjectionInfo(targetFit.ID)\r\n\r\n        # Start applying any command fits that we may have.\r\n        # We run the command calculations first so that they can calculate fully and store the command effects on the\r\n        # target fit to be used later on in the calculation. This does not apply when we're already calculating a\r\n        # command fit.\r\n        if type != CalcType.COMMAND and self.commandFits and not self.__calculated:\r\n            for fit in self.commandFits:\r\n                commandInfo = fit.getCommandInfo(self.ID)\r\n                # Continue loop if we're trying to apply ourselves or if this fit isn't active\r\n                if not commandInfo.active or self == commandInfo.booster_fit:\r\n                    continue\r\n\r\n                commandInfo.booster_fit.calculateModifiedAttributes(self, CalcType.COMMAND)\r\n\r\n        # If we're not explicitly asked to project fit onto something,\r\n        # set self as target fit\r\n        if targetFit is None:\r\n            targetFit = self\r\n\r\n        # If fit is calculated and we have nothing to do here, get out\r\n\r\n        # A note on why we only do this for local fits. There may be\r\n        # gains that we can do here after some evaluation, but right\r\n        # now we need the projected and command fits to continue in\r\n        # this function even if they are already calculated, since it\r\n        # is during those calculations that they apply their effect\r\n        # to the target fits. todo: We could probably skip local fit\r\n        # calculations if calculated, and instead to projections and\r\n        # command stuffs. ninja edit: this is probably already being\r\n        # done with the calculated conditional in the calc loop\r\n        if self.__calculated and type == CalcType.LOCAL:\r\n            pyfalog.debug(\"Fit has already been calculated and is local, returning: {0}\", self)\r\n            return\r\n\r\n        if not self.__calculated:\r\n            pyfalog.info(\"Fit is not yet calculated; will be running local calcs for {}\".format(repr(self)))\r\n            self.clear()\r\n\r\n        # Loop through our run times here. These determine which effects are run in which order.\r\n        for runTime in (\"early\", \"normal\", \"late\"):\r\n            # pyfalog.debug(\"Run time: {0}\", runTime)\r\n            # Items that are unrestricted. These items are run on the local fit\r\n            # first and then projected onto the target fit it one is designated\r\n            u = [\r\n                (self.character, self.ship),\r\n                self.drones,\r\n                self.fighters,\r\n                self.boosters,\r\n                self.appliedImplants,\r\n                self.modules\r\n            ] if not self.isStructure else [\r\n                # Ensure a restricted set for citadels\r\n                (self.character, self.ship),\r\n                self.fighters,\r\n                self.modules\r\n            ]\r\n\r\n            # Items that are restricted. These items are only run on the local\r\n            # fit. They are NOT projected onto the target fit. # See issue 354\r\n            r = [(self.mode,), self.projectedDrones, self.projectedFighters, self.projectedModules]\r\n\r\n            # chain unrestricted and restricted into one iterable\r\n            c = chain.from_iterable(u + r)\r\n\r\n            for item in c:\r\n                # Registering the item about to affect the fit allows us to\r\n                # track \"Affected By\" relations correctly\r\n                if item is not None:\r\n                    # apply effects locally if this is first time running them on fit\r\n                    if not self.__calculated:\r\n                        self.register(item)\r\n                        item.calculateModifiedAttributes(self, runTime, False)\r\n\r\n                    # Run command effects against target fit. We only have to worry about modules\r\n                    if type == CalcType.COMMAND and item in self.modules:\r\n                        # Apply the gang boosts to target fit\r\n                        # targetFit.register(item, origin=self)\r\n                        item.calculateModifiedAttributes(targetFit, runTime, False, True)\r\n\r\n            # pyfalog.debug(\"Command Bonuses: {}\".format(self.commandBonuses))\r\n\r\n            # If we are calculating our local or projected fit and have command bonuses, apply them\r\n            if type != CalcType.COMMAND and self.commandBonuses:\r\n                self.__runCommandBoosts(runTime)\r\n\r\n            # Run projection effects against target fit. Projection effects have been broken out of the main loop,\r\n            # see GH issue #1081\r\n            if type == CalcType.PROJECTED and projectionInfo:\r\n                self.__runProjectionEffects(runTime, targetFit, projectionInfo)\r\n\r\n        # Recursive command ships (A <-> B) get marked as calculated, which means that they aren't recalced when changing\r\n        # tabs. See GH issue 1193\r\n        if type == CalcType.COMMAND and targetFit in self.commandFits:\r\n            pyfalog.debug(\"{} is in the command listing for COMMAND ({}), do not mark self as calculated (recursive)\".format(repr(targetFit), repr(self)))\r\n        else:\r\n            self.__calculated = True\r\n\r\n        # Only apply projected fits if fit it not projected itself.\r\n        if type == CalcType.LOCAL:\r\n            for fit in self.projectedFits:\r\n                projInfo = fit.getProjectionInfo(self.ID)\r\n                if projInfo.active:\r\n                    if fit == self:\r\n                        # If doing self projection, no need to run through the recursion process. Simply run the\r\n                        # projection effects on ourselves\r\n                        pyfalog.debug(\"Running self-projection for {0}\", repr(self))\r\n                        for runTime in (\"early\", \"normal\", \"late\"):\r\n                            self.__runProjectionEffects(runTime, self, projInfo)\r\n                    else:\r\n                        fit.calculateModifiedAttributes(self, type=CalcType.PROJECTED)\r\n\r\n        pyfalog.debug('Done with fit calculation')\r\n\r\n    def __runProjectionEffects(self, runTime, targetFit, projectionInfo):\r\n        \"\"\"\r\n        To support a simpler way of doing self projections (so that we don't have to make a copy of the fit and\r\n        recalculate), this function was developed to be a common source of projected effect application.\r\n        \"\"\"\r\n        for item in chain(self.drones, self.fighters):\r\n            if item is not None:\r\n                # apply effects onto target fit x amount of times\r\n                for _ in range(projectionInfo.amount):\r\n                    targetFit.register(item, origin=self)\r\n                    item.calculateModifiedAttributes(\r\n                            targetFit, runTime, forceProjected=True,\r\n                            forcedProjRange=0)\r\n        for mod in self.modules:\r\n            for _ in range(projectionInfo.amount):\r\n                targetFit.register(mod, origin=self)\r\n                mod.calculateModifiedAttributes(\r\n                        targetFit, runTime, forceProjected=True,\r\n                        forcedProjRange=projectionInfo.projectionRange)\r\n\r\n    def fill(self):\r\n        \"\"\"\r\n        Fill this fit's module slots with enough dummy slots so that all slots are used.\r\n        This is mostly for making the life of gui's easier.\r\n        GUI's can call fill() and then stop caring about empty slots completely.\r\n\r\n        todo: want to get rid of using this from the gui/commands, and instead make it a more built-in feature within\r\n        recalc. Figure out a way to keep track of any changes to slot layout and call this automatically\r\n        \"\"\"\r\n        if self.ship is None:\r\n            return {}\r\n\r\n        # Look for any dummies of that type to remove\r\n        posToRemove = {}\r\n        for slotType in (\r\n        FittingSlot.LOW.value, FittingSlot.MED.value, FittingSlot.HIGH.value, FittingSlot.RIG.value, FittingSlot.SUBSYSTEM.value, FittingSlot.SERVICE.value):\r\n            amount = self.getSlotsFree(slotType, True)\r\n            if amount > 0:\r\n                for _ in range(int(amount)):\r\n                    self.modules.append(Module.buildEmpty(slotType))\r\n\r\n            if amount < 0:\r\n                for mod in self.modules:\r\n                    if mod.isEmpty and mod.slot == slotType:\r\n                        pos = self.modules.index(mod)\r\n                        posToRemove[pos] = slotType\r\n                        amount += 1\r\n                        if amount == 0:\r\n                            break\r\n        for pos in sorted(posToRemove, reverse=True):\r\n            mod = self.modules[pos]\r\n            self.modules.remove(mod)\r\n        return posToRemove\r\n\r\n    def unfill(self):\r\n        for i in range(len(self.modules) - 1, -1, -1):\r\n            mod = self.modules[i]\r\n            if mod.isEmpty:\r\n                del self.modules[i]\r\n\r\n    def clearTail(self):\r\n        tailPositions = {}\r\n        for mod in reversed(self.modules):\r\n            if not mod.isEmpty:\r\n                break\r\n            tailPositions[self.modules.index(mod)] = mod.slot\r\n        for pos in sorted(tailPositions, reverse=True):\r\n            self.modules.remove(self.modules[pos])\r\n        return tailPositions\r\n\r\n    @property\r\n    def modCount(self):\r\n        x = 0\r\n        for i in range(len(self.modules) - 1, -1, -1):\r\n            mod = self.modules[i]\r\n            if not mod.isEmpty:\r\n                x += 1\r\n        return x\r\n\r\n    @staticmethod\r\n    def getItemAttrSum(dict, attr):\r\n        amount = 0\r\n        for mod in dict:\r\n            add = mod.getModifiedItemAttr(attr)\r\n            if add is not None:\r\n                amount += add\r\n\r\n        return amount\r\n\r\n    @staticmethod\r\n    def getItemAttrOnlineSum(dict, attr):\r\n        amount = 0\r\n        for mod in dict:\r\n            add = mod.getModifiedItemAttr(attr) if mod.state >= FittingModuleState.ONLINE else None\r\n            if add is not None:\r\n                amount += add\r\n\r\n        return amount\r\n\r\n    def getHardpointsUsed(self, type):\r\n        amount = 0\r\n        for mod in self.modules:\r\n            if mod.hardpoint is type and not mod.isEmpty:\r\n                amount += 1\r\n\r\n        return amount\r\n\r\n    def getSlotsUsed(self, type, countDummies=False):\r\n        amount = 0\r\n\r\n        for mod in chain(self.modules, self.fighters):\r\n            if mod.slot is type and (not getattr(mod, \"isEmpty\", False) or countDummies):\r\n                if type in (FittingSlot.F_HEAVY, FittingSlot.F_SUPPORT, FittingSlot.F_LIGHT, FittingSlot.FS_HEAVY, FittingSlot.FS_LIGHT,\r\n                            FittingSlot.FS_SUPPORT) and not mod.active:\r\n                    continue\r\n                amount += 1\r\n\r\n        return amount\r\n\r\n    slots = {\r\n        FittingSlot.LOW: \"lowSlots\",\r\n        FittingSlot.MED: \"medSlots\",\r\n        FittingSlot.HIGH: \"hiSlots\",\r\n        FittingSlot.RIG: \"rigSlots\",\r\n        FittingSlot.SUBSYSTEM: \"maxSubSystems\",\r\n        FittingSlot.SERVICE: \"serviceSlots\",\r\n        FittingSlot.F_LIGHT: \"fighterLightSlots\",\r\n        FittingSlot.F_SUPPORT: \"fighterSupportSlots\",\r\n        FittingSlot.F_HEAVY: \"fighterHeavySlots\",\r\n        FittingSlot.FS_LIGHT: \"fighterStandupLightSlots\",\r\n        FittingSlot.FS_SUPPORT: \"fighterStandupSupportSlots\",\r\n        FittingSlot.FS_HEAVY: \"fighterStandupHeavySlots\",\r\n    }\r\n\r\n    def getSlotsFree(self, type, countDummies=False):\r\n        if type in (FittingSlot.MODE, FittingSlot.SYSTEM):\r\n            # These slots don't really exist, return default 0\r\n            return 0\r\n\r\n        slotsUsed = self.getSlotsUsed(type, countDummies)\r\n        totalSlots = self.ship.getModifiedItemAttr(self.slots[type]) or 0\r\n        return int(totalSlots - slotsUsed)\r\n\r\n    def getNumSlots(self, type):\r\n        return self.ship.getModifiedItemAttr(self.slots[type]) or 0\r\n\r\n    def getHardpointsFree(self, type):\r\n        if type == FittingHardpoint.NONE:\r\n            return 1\r\n        elif type == FittingHardpoint.TURRET:\r\n            return self.ship.getModifiedItemAttr('turretSlotsLeft') - self.getHardpointsUsed(FittingHardpoint.TURRET)\r\n        elif type == FittingHardpoint.MISSILE:\r\n            return self.ship.getModifiedItemAttr('launcherSlotsLeft') - self.getHardpointsUsed(FittingHardpoint.MISSILE)\r\n        else:\r\n            raise ValueError(\"%d is not a valid value for Hardpoint Enum\", type)\r\n\r\n    @property\r\n    def calibrationUsed(self):\r\n        return self.getItemAttrOnlineSum(self.modules, 'upgradeCost')\r\n\r\n    @property\r\n    def pgUsed(self):\r\n        return round(self.getItemAttrOnlineSum(self.modules, \"power\"), 2)\r\n\r\n    @property\r\n    def cpuUsed(self):\r\n        return round(self.getItemAttrOnlineSum(self.modules, \"cpu\"), 2)\r\n\r\n    @property\r\n    def droneBandwidthUsed(self):\r\n        amount = 0\r\n        for d in self.drones:\r\n            amount += d.getModifiedItemAttr(\"droneBandwidthUsed\") * d.amountActive\r\n\r\n        return amount\r\n\r\n    @property\r\n    def droneBayUsed(self):\r\n        amount = 0\r\n        for d in self.drones:\r\n            amount += d.item.attributes['volume'].value * d.amount\r\n\r\n        return amount\r\n\r\n    @property\r\n    def fighterBayUsed(self):\r\n        amount = 0\r\n        for f in self.fighters:\r\n            amount += f.item.attributes['volume'].value * f.amount\r\n\r\n        return amount\r\n\r\n    @property\r\n    def fighterTubesUsed(self):\r\n        amount = 0\r\n        for f in self.fighters:\r\n            if f.active:\r\n                amount += 1\r\n        return amount\r\n\r\n    @property\r\n    def fighterTubesTotal(self):\r\n        return self.ship.getModifiedItemAttr(\"fighterTubes\")\r\n\r\n    @property\r\n    def cargoBayUsed(self):\r\n        amount = 0\r\n        for c in self.cargo:\r\n            amount += c.getModifiedItemAttr(\"volume\") * c.amount\r\n\r\n        return amount\r\n\r\n    @property\r\n    def activeDrones(self):\r\n        amount = 0\r\n        for d in self.drones:\r\n            amount += d.amountActive\r\n\r\n        return amount\r\n\r\n    @property\r\n    def probeSize(self):\r\n        \"\"\"\r\n        Expresses how difficult a target is to probe down with scan probes\r\n        \"\"\"\r\n\r\n        sigRad = self.ship.getModifiedItemAttr(\"signatureRadius\")\r\n        sensorStr = float(self.scanStrength)\r\n        probeSize = sigRad / sensorStr if sensorStr != 0 else None\r\n        # http://www.eveonline.com/ingameboard.asp?a=topic&threadID=1532170&page=2#42\r\n        if probeSize is not None:\r\n            # Probe size is capped at 1.08\r\n            probeSize = max(probeSize, 1.08)\r\n        return probeSize\r\n\r\n    @property\r\n    def warpSpeed(self):\r\n        base = self.ship.getModifiedItemAttr(\"baseWarpSpeed\") or 1\r\n        multiplier = self.ship.getModifiedItemAttr(\"warpSpeedMultiplier\") or 1\r\n        return base * multiplier\r\n\r\n    @property\r\n    def maxWarpDistance(self):\r\n        capacity = self.ship.getModifiedItemAttr(\"capacitorCapacity\")\r\n        mass = self.ship.getModifiedItemAttr(\"mass\")\r\n        warpCapNeed = self.ship.getModifiedItemAttr(\"warpCapacitorNeed\")\r\n\r\n        if not warpCapNeed:\r\n            return 0\r\n\r\n        return capacity / (mass * warpCapNeed)\r\n\r\n    @property\r\n    def capStable(self):\r\n        if self.__capStable is None:\r\n            self.simulateCap()\r\n\r\n        return self.__capStable\r\n\r\n    @property\r\n    def capState(self):\r\n        \"\"\"\r\n        If the cap is stable, the capacitor state is the % at which it is stable.\r\n        If the cap is unstable, this is the amount of time before it runs out\r\n        \"\"\"\r\n        if self.__capState is None:\r\n            self.simulateCap()\r\n\r\n        return self.__capState\r\n\r\n    @property\r\n    def capUsed(self):\r\n        if self.__capUsed is None:\r\n            self.simulateCap()\r\n\r\n        return self.__capUsed\r\n\r\n    @property\r\n    def capRecharge(self):\r\n        if self.__capRecharge is None:\r\n            self.simulateCap()\r\n\r\n        return self.__capRecharge\r\n\r\n    @property\r\n    def capDelta(self):\r\n        return (self.__capRecharge or 0) - (self.__capUsed or 0)\r\n\r\n    def calculateCapRecharge(self, percent=PEAK_RECHARGE, capacity=None, rechargeRate=None):\r\n        if capacity is None:\r\n            capacity = self.ship.getModifiedItemAttr(\"capacitorCapacity\")\r\n        if rechargeRate is None:\r\n            rechargeRate = self.ship.getModifiedItemAttr(\"rechargeRate\") / 1000.0\r\n        return 10 / rechargeRate * sqrt(percent) * (1 - sqrt(percent)) * capacity\r\n\r\n    def calculateShieldRecharge(self, percent=PEAK_RECHARGE):\r\n        capacity = self.ship.getModifiedItemAttr(\"shieldCapacity\")\r\n        rechargeRate = self.ship.getModifiedItemAttr(\"shieldRechargeRate\") / 1000.0\r\n        return 10 / rechargeRate * sqrt(percent) * (1 - sqrt(percent)) * capacity\r\n\r\n    def addDrain(self, src, cycleTime, capNeed, clipSize=0, reloadTime=0):\r\n        \"\"\" Used for both cap drains and cap fills (fills have negative capNeed) \"\"\"\r\n\r\n        energyNeutralizerSignatureResolution = src.getModifiedItemAttr(\"energyNeutralizerSignatureResolution\")\r\n        signatureRadius = self.ship.getModifiedItemAttr(\"signatureRadius\")\r\n\r\n        # Signature reduction, uses the bomb formula as per CCP Larrikin\r\n        if energyNeutralizerSignatureResolution:\r\n            capNeed = capNeed * min(1, signatureRadius / energyNeutralizerSignatureResolution)\r\n        if capNeed:\r\n            self.__extraDrains.append((cycleTime, capNeed, clipSize, reloadTime))\r\n\r\n    def removeDrain(self, i):\r\n        del self.__extraDrains[i]\r\n\r\n    def iterDrains(self):\r\n        return self.__extraDrains.__iter__()\r\n\r\n    def __generateDrain(self):\r\n        drains = []\r\n        capUsed = 0\r\n        capAdded = 0\r\n        for mod in self.activeModulesIter():\r\n            if (mod.getModifiedItemAttr(\"capacitorNeed\") or 0) != 0:\r\n                cycleTime = mod.rawCycleTime or 0\r\n                reactivationTime = mod.getModifiedItemAttr(\"moduleReactivationDelay\") or 0\r\n                fullCycleTime = cycleTime + reactivationTime\r\n                reloadTime = mod.reloadTime\r\n                if fullCycleTime > 0:\r\n                    capNeed = mod.capUse\r\n                    if capNeed > 0:\r\n                        capUsed += capNeed\r\n                    else:\r\n                        capAdded -= capNeed\r\n\r\n                    # If this is a turret, don't stagger activations\r\n                    disableStagger = mod.hardpoint == FittingHardpoint.TURRET\r\n\r\n                    drains.append((\r\n                        int(fullCycleTime),\r\n                        mod.getModifiedItemAttr(\"capacitorNeed\") or 0,\r\n                        mod.numShots or 0,\r\n                        disableStagger,\r\n                        reloadTime,\r\n                        mod.item.group.name == 'Capacitor Booster'))\r\n\r\n        for fullCycleTime, capNeed, clipSize, reloadTime in self.iterDrains():\r\n            drains.append((\r\n                int(fullCycleTime),\r\n                capNeed,\r\n                clipSize,\r\n                # Stagger incoming effects for cap simulation\r\n                False,\r\n                reloadTime,\r\n                False))\r\n            if capNeed > 0:\r\n                capUsed += capNeed / (fullCycleTime / 1000.0)\r\n            else:\r\n                capAdded += -capNeed / (fullCycleTime / 1000.0)\r\n\r\n        return drains, capUsed, capAdded\r\n\r\n    def simulateCap(self):\r\n        drains, self.__capUsed, self.__capRecharge = self.__generateDrain()\r\n        self.__capRecharge += self.calculateCapRecharge()\r\n        sim = self.__runCapSim(drains=drains)\r\n        if sim is not None:\r\n            capState = (sim.cap_stable_low + sim.cap_stable_high) / (2 * sim.capacitorCapacity)\r\n            self.__capStable = capState > 0\r\n            self.__capState = min(100, capState * 100) if self.__capStable else sim.t / 1000.0\r\n        else:\r\n            self.__capStable = True\r\n            self.__capState = 100\r\n\r\n    def getCapSimData(self, startingCap):\r\n        if startingCap not in self.__savedCapSimData:\r\n            self.__runCapSim(startingCap=startingCap, tMax=3600, optimizeRepeats=False)\r\n        return self.__savedCapSimData[startingCap]\r\n\r\n    def __runCapSim(self, drains=None, startingCap=None, tMax=None, optimizeRepeats=True):\r\n        if drains is None:\r\n            drains, nil, nil = self.__generateDrain()\r\n        if tMax is None:\r\n            tMax = 6 * 60 * 60 * 1000\r\n        else:\r\n            tMax *= 1000\r\n        if len(drains) > 0:\r\n            sim = capSim.CapSimulator()\r\n            sim.init(drains)\r\n            sim.capacitorCapacity = self.ship.getModifiedItemAttr(\"capacitorCapacity\")\r\n            sim.capacitorRecharge = self.ship.getModifiedItemAttr(\"rechargeRate\")\r\n            sim.startingCapacity = startingCap = self.ship.getModifiedItemAttr(\"capacitorCapacity\") if startingCap is None else startingCap\r\n            sim.stagger = True\r\n            sim.scale = False\r\n            sim.t_max = tMax\r\n            sim.reload = self.factorReload\r\n            sim.optimize_repeats = optimizeRepeats\r\n            sim.run()\r\n            # We do not want to store partial results\r\n            if not sim.result_optimized_repeats:\r\n                self.__savedCapSimData[startingCap] = sim.saved_changes\r\n            return sim\r\n        else:\r\n            self.__savedCapSimData[startingCap] = []\r\n            return None\r\n\r\n    def getCapRegenGainFromMod(self, mod):\r\n        \"\"\"Return how much cap regen do we gain from having this module\"\"\"\r\n        currentRegen = self.calculateCapRecharge()\r\n        nomodRegen = self.calculateCapRecharge(\r\n                capacity=self.ship.getModifiedItemAttrExtended(\"capacitorCapacity\", ignoreAfflictors=[mod]),\r\n                rechargeRate=self.ship.getModifiedItemAttrExtended(\"rechargeRate\", ignoreAfflictors=[mod]) / 1000.0)\r\n        return currentRegen - nomodRegen\r\n\r\n    def getRemoteReps(self, spoolOptions=None):\r\n        if spoolOptions not in self.__remoteRepMap:\r\n            remoteReps = RRTypes(0, 0, 0, 0)\r\n\r\n            for module in self.modules:\r\n                remoteReps += module.getRemoteReps(spoolOptions=spoolOptions)\r\n\r\n            for drone in self.drones:\r\n                remoteReps += drone.getRemoteReps()\r\n\r\n            self.__remoteRepMap[spoolOptions] = remoteReps\r\n\r\n        return self.__remoteRepMap[spoolOptions]\r\n\r\n    @property\r\n    def hp(self):\r\n        hp = {}\r\n        for (type, attr) in (('shield', 'shieldCapacity'), ('armor', 'armorHP'), ('hull', 'hp')):\r\n            hp[type] = self.ship.getModifiedItemAttr(attr)\r\n\r\n        return hp\r\n\r\n    @property\r\n    def ehp(self):\r\n        if self.__ehp is None:\r\n            if self.damagePattern is None:\r\n                ehp = self.hp\r\n            else:\r\n                ehp = self.damagePattern.calculateEhp(self.ship)\r\n            self.__ehp = ehp\r\n\r\n        return self.__ehp\r\n\r\n    @property\r\n    def tank(self):\r\n        reps = {\r\n            \"passiveShield\": self.calculateShieldRecharge(),\r\n            \"shieldRepair\": self.extraAttributes[\"shieldRepair\"] + self._getAppliedShieldRr(),\r\n            \"armorRepair\": self.extraAttributes[\"armorRepair\"] + self._getAppliedArmorRr(),\r\n            \"armorRepairPreSpool\": self.extraAttributes[\"armorRepairPreSpool\"] + self._getAppliedArmorPreSpoolRr(),\r\n            \"armorRepairFullSpool\": self.extraAttributes[\"armorRepairFullSpool\"] + self._getAppliedArmorFullSpoolRr(),\r\n            \"hullRepair\": self.extraAttributes[\"hullRepair\"] + self._getAppliedHullRr()\r\n        }\r\n        return reps\r\n\r\n    @property\r\n    def effectiveTank(self):\r\n        if self.__effectiveTank is None:\r\n            if self.damagePattern is None:\r\n                ehps = self.tank\r\n            else:\r\n                ehps = self.damagePattern.calculateEffectiveTank(self, self.tank)\r\n\r\n            self.__effectiveTank = ehps\r\n\r\n        return self.__effectiveTank\r\n\r\n    @property\r\n    def sustainableTank(self):\r\n        if self.__sustainableTank is None:\r\n            self.calculateSustainableTank()\r\n\r\n        return self.__sustainableTank\r\n\r\n    @property\r\n    def effectiveSustainableTank(self):\r\n        if self.__effectiveSustainableTank is None:\r\n            if self.damagePattern is None:\r\n                tank = self.sustainableTank\r\n            else:\r\n                tank = self.damagePattern.calculateEffectiveTank(self, self.sustainableTank)\r\n            self.__effectiveSustainableTank = tank\r\n        return self.__effectiveSustainableTank\r\n\r\n    def calculateSustainableTank(self):\r\n        if self.__sustainableTank is None:\r\n            sustainable = {\r\n                \"passiveShield\": self.calculateShieldRecharge(),\r\n                \"shieldRepair\": self.extraAttributes[\"shieldRepair\"] + self._getAppliedShieldRr(),\r\n                \"armorRepair\": self.extraAttributes[\"armorRepair\"] + self._getAppliedArmorRr(),\r\n                \"armorRepairPreSpool\": self.extraAttributes[\"armorRepairPreSpool\"] + self._getAppliedArmorPreSpoolRr(),\r\n                \"armorRepairFullSpool\": self.extraAttributes[\"armorRepairFullSpool\"] + self._getAppliedArmorFullSpoolRr(),\r\n                \"hullRepair\": self.extraAttributes[\"hullRepair\"] + self._getAppliedHullRr()\r\n            }\r\n            if not self.capStable or self.factorReload:\r\n                # Map a local repairer type to the attribute it uses\r\n                groupAttrMap = {\r\n                    \"Shield Booster\": \"shieldBonus\",\r\n                    \"Ancillary Shield Booster\": \"shieldBonus\",\r\n                    \"Armor Repair Unit\": \"armorDamageAmount\",\r\n                    \"Ancillary Armor Repairer\": \"armorDamageAmount\",\r\n                    \"Hull Repair Unit\": \"structureDamageAmount\"\r\n                }\r\n                # Map local repairer type to tank type\r\n                groupStoreMap = {\r\n                    \"Shield Booster\": \"shieldRepair\",\r\n                    \"Ancillary Shield Booster\": \"shieldRepair\",\r\n                    \"Armor Repair Unit\": \"armorRepair\",\r\n                    \"Ancillary Armor Repairer\": \"armorRepair\",\r\n                    \"Hull Repair Unit\": \"hullRepair\"\r\n                }\r\n                repairers = []\r\n                localAdjustment = {\"shieldRepair\": 0, \"armorRepair\": 0, \"hullRepair\": 0}\r\n                capUsed = self.capUsed\r\n                for tankType in localAdjustment:\r\n                    dict = self.extraAttributes.getAfflictions(tankType)\r\n                    if self in dict:\r\n                        for afflictor, operator, stackingGroup, preResAmount, postResAmount, used in dict[self]:\r\n                            if not used:\r\n                                continue\r\n                            if afflictor.projected:\r\n                                continue\r\n                            if afflictor.item.group.name not in groupAttrMap:\r\n                                continue\r\n                            usesCap = True\r\n                            try:\r\n                                if afflictor.capUse:\r\n                                    capUsed -= afflictor.capUse\r\n                                else:\r\n                                    usesCap = False\r\n                            except AttributeError:\r\n                                usesCap = False\r\n\r\n                            # Normal Repairers\r\n                            if usesCap and not afflictor.charge:\r\n                                cycleTime = afflictor.rawCycleTime\r\n                                amount = afflictor.getModifiedItemAttr(groupAttrMap[afflictor.item.group.name])\r\n                                localAdjustment[tankType] -= amount / (cycleTime / 1000.0)\r\n                                repairers.append(afflictor)\r\n                            # Ancillary Armor reps etc\r\n                            elif usesCap and afflictor.charge:\r\n                                cycleTime = afflictor.rawCycleTime\r\n                                amount = afflictor.getModifiedItemAttr(groupAttrMap[afflictor.item.group.name])\r\n                                if afflictor.charge.name == \"Nanite Repair Paste\":\r\n                                    multiplier = afflictor.getModifiedItemAttr(\"chargedArmorDamageMultiplier\") or 1\r\n                                else:\r\n                                    multiplier = 1\r\n                                localAdjustment[tankType] -= amount * multiplier / (cycleTime / 1000.0)\r\n                                repairers.append(afflictor)\r\n                            # Ancillary Shield boosters etc\r\n                            elif not usesCap and afflictor.item.group.name in (\"Ancillary Shield Booster\", \"Ancillary Remote Shield Booster\"):\r\n                                cycleTime = afflictor.rawCycleTime\r\n                                amount = afflictor.getModifiedItemAttr(groupAttrMap[afflictor.item.group.name])\r\n                                if self.factorReload and afflictor.charge:\r\n                                    reloadtime = afflictor.reloadTime\r\n                                else:\r\n                                    reloadtime = 0.0\r\n                                offdutycycle = reloadtime / ((max(afflictor.numShots, 1) * cycleTime) + reloadtime)\r\n                                localAdjustment[tankType] -= amount * offdutycycle / (cycleTime / 1000.0)\r\n\r\n                # Sort repairers by efficiency. We want to use the most efficient repairers first\r\n                repairers.sort(key=lambda _mod: _mod.getModifiedItemAttr(\r\n                        groupAttrMap[_mod.item.group.name]) * (_mod.getModifiedItemAttr(\r\n                        \"chargedArmorDamageMultiplier\") or 1) / _mod.getModifiedItemAttr(\"capacitorNeed\"), reverse=True)\r\n\r\n                # Loop through every module until we're above peak recharge\r\n                # Most efficient first, as we sorted earlier.\r\n                # calculate how much the repper can rep stability & add to total\r\n                totalPeakRecharge = self.capRecharge\r\n                for afflictor in repairers:\r\n                    if capUsed > totalPeakRecharge:\r\n                        break\r\n\r\n                    if self.factorReload and afflictor.charge:\r\n                        reloadtime = afflictor.reloadTime\r\n                    else:\r\n                        reloadtime = 0.0\r\n\r\n                    cycleTime = afflictor.rawCycleTime\r\n                    capPerSec = afflictor.capUse\r\n\r\n                    if capPerSec is not None and cycleTime is not None:\r\n                        # Check how much this repper can work\r\n                        sustainability = min(1, (totalPeakRecharge - capUsed) / capPerSec)\r\n                        amount = afflictor.getModifiedItemAttr(groupAttrMap[afflictor.item.group.name])\r\n                        # Add the sustainable amount\r\n                        if not afflictor.charge:\r\n                            localAdjustment[groupStoreMap[afflictor.item.group.name]] += sustainability * amount / (\r\n                                    cycleTime / 1000.0)\r\n                        else:\r\n                            if afflictor.charge.name == \"Nanite Repair Paste\":\r\n                                multiplier = afflictor.getModifiedItemAttr(\"chargedArmorDamageMultiplier\") or 1\r\n                            else:\r\n                                multiplier = 1\r\n                            ondutycycle = (max(afflictor.numShots, 1) * cycleTime) / (\r\n                                    (max(afflictor.numShots, 1) * cycleTime) + reloadtime)\r\n                            localAdjustment[groupStoreMap[\r\n                                afflictor.item.group.name]] += sustainability * amount * ondutycycle * multiplier / (\r\n                                    cycleTime / 1000.0)\r\n\r\n                        capUsed += capPerSec\r\n                sustainable[\"shieldRepair\"] += localAdjustment[\"shieldRepair\"]\r\n                sustainable[\"armorRepair\"] += localAdjustment[\"armorRepair\"]\r\n                sustainable[\"armorRepairPreSpool\"] += localAdjustment[\"armorRepair\"]\r\n                sustainable[\"armorRepairFullSpool\"] += localAdjustment[\"armorRepair\"]\r\n                sustainable[\"hullRepair\"] += localAdjustment[\"hullRepair\"]\r\n\r\n            self.__sustainableTank = sustainable\r\n\r\n        return self.__sustainableTank\r\n\r\n    def calculateLockTime(self, radius):\r\n        scanRes = self.ship.getModifiedItemAttr(\"scanResolution\")\r\n        if scanRes is not None and scanRes > 0:\r\n            return calculateLockTime(srcScanRes=scanRes, tgtSigRadius=radius)\r\n        else:\r\n            return self.ship.getModifiedItemAttr(\"scanSpeed\") / 1000.0\r\n\r\n    def calculatemining(self):\r\n        minerYield = 0\r\n        minerDrain = 0\r\n        droneYield = 0\r\n        droneDrain = 0\r\n\r\n        for mod in self.modules:\r\n            minerYield += mod.getMiningYPS()\r\n            minerDrain += mod.getMiningDPS()\r\n        for drone in self.drones:\r\n            droneYield += drone.getMiningYPS()\r\n            droneDrain += drone.getMiningDPS()\r\n\r\n        self.__minerYield = minerYield\r\n        self.__minerDrain = minerDrain\r\n        self.__droneYield = droneYield\r\n        self.__droneDrain = droneDrain\r\n\r\n    def calculateWeaponDmgStats(self, spoolOptions):\r\n        weaponVolley = DmgTypes.default()\r\n        weaponDps = DmgTypes.default()\r\n\r\n        for mod in self.modules:\r\n            weaponVolley += mod.getVolley(spoolOptions=spoolOptions)\r\n            weaponDps += mod.getDps(spoolOptions=spoolOptions)\r\n\r\n        weaponVolley.profile = self.targetProfile\r\n        weaponDps.profile = self.targetProfile\r\n\r\n        self.__weaponVolleyMap[spoolOptions] = weaponVolley\r\n        self.__weaponDpsMap[spoolOptions] = weaponDps\r\n\r\n    def calculateDroneDmgStats(self):\r\n        droneVolley = DmgTypes.default()\r\n        droneDps = DmgTypes.default()\r\n\r\n        for drone in self.drones:\r\n            droneVolley += drone.getVolley()\r\n            droneDps += drone.getDps()\r\n\r\n        for fighter in self.fighters:\r\n            droneVolley += fighter.getVolley()\r\n            droneDps += fighter.getDps()\r\n\r\n        droneVolley.profile = self.targetProfile\r\n        droneDps.profile = self.targetProfile\r\n\r\n        self.__droneDps = droneDps\r\n        self.__droneVolley = droneVolley\r\n\r\n    @property\r\n    def fits(self):\r\n        for mod in self.modules:\r\n            if not mod.isEmpty and not mod.fits(self):\r\n                return False\r\n\r\n        return True\r\n\r\n    def getReleaseLimitForDrone(self, item):\r\n        if not item.isDrone:\r\n            return 0\r\n        bw = round(self.ship.getModifiedItemAttr(\"droneBandwidth\"))\r\n        volume = round(item.attribsWithOverrides['volume'].value)\r\n        return int(bw / volume)\r\n\r\n    def getStoreLimitForDrone(self, item):\r\n        if not item.isDrone:\r\n            return 0\r\n        bayTotal = round(self.ship.getModifiedItemAttr(\"droneCapacity\"))\r\n        bayUsed = round(self.droneBayUsed)\r\n        volume = item.attribsWithOverrides['volume'].value\r\n        return int((bayTotal - bayUsed) / volume)\r\n\r\n    def getSystemSecurity(self):\r\n        secstatus = self.systemSecurity\r\n        # Default to nullsec\r\n        if secstatus is None:\r\n            secstatus = FitSystemSecurity.NULLSEC\r\n        return secstatus\r\n\r\n    def getPilotSecurity(self, low_limit=-10, high_limit=5):\r\n        secstatus = self.pilotSecurity\r\n        # Not defined -> use character SS, with 0.0 fallback if it fails\r\n        if secstatus is None:\r\n            try:\r\n                secstatus = self.character.secStatus\r\n            except (SystemExit, KeyboardInterrupt):\r\n                raise\r\n            except:\r\n                secstatus = 0\r\n        return max(low_limit, min(high_limit, secstatus))\r\n\r\n    def activeModulesIter(self):\r\n        for mod in self.modules:\r\n            if mod.state >= FittingModuleState.ACTIVE:\r\n                yield mod\r\n\r\n    def activeDronesIter(self):\r\n        for drone in self.drones:\r\n            if drone.amountActive > 0:\r\n                yield drone\r\n\r\n    def activeFightersIter(self):\r\n        for fighter in self.fighters:\r\n            if fighter.active:\r\n                yield fighter\r\n\r\n    def activeFighterAbilityIter(self):\r\n        for fighter in self.activeFightersIter():\r\n            for ability in fighter.abilities:\r\n                if ability.active:\r\n                    yield fighter, ability\r\n\r\n    def getDampMultScanRes(self):\r\n        damps = []\r\n        for mod in self.activeModulesIter():\r\n            for effectName in ('remoteSensorDampFalloff', 'structureModuleEffectRemoteSensorDampener'):\r\n                if effectName in mod.item.effects:\r\n                    damps.append((mod.getModifiedItemAttr('scanResolutionBonus'), 'default'))\r\n            if 'doomsdayAOEDamp' in mod.item.effects:\r\n                damps.append((mod.getModifiedItemAttr('scanResolutionBonus'), 'default'))\r\n        for drone in self.activeDronesIter():\r\n            if 'remoteSensorDampEntity' in drone.item.effects:\r\n                damps.extend(drone.amountActive * ((drone.getModifiedItemAttr('scanResolutionBonus'), 'default'),))\r\n        mults = {}\r\n        for strength, stackingGroup in damps:\r\n            mults.setdefault(stackingGroup, []).append((1 + strength / 100, None))\r\n        return calculateMultiplier(mults)\r\n\r\n    def _getAppliedHullRr(self):\r\n        return self.__getAppliedRr(self._hullRr)\r\n\r\n    def _getAppliedArmorRr(self):\r\n        return self.__getAppliedRr(self._armorRr)\r\n\r\n    def _getAppliedArmorPreSpoolRr(self):\r\n        return self.__getAppliedRr(self._armorRrPreSpool)\r\n\r\n    def _getAppliedArmorFullSpoolRr(self):\r\n        return self.__getAppliedRr(self._armorRrFullSpool)\r\n\r\n    def _getAppliedShieldRr(self):\r\n        return self.__getAppliedRr(self._shieldRr)\r\n\r\n    @staticmethod\r\n    def __getAppliedRr(rrList):\r\n        totalRaw = 0\r\n        for amount, cycleTime in rrList:\r\n            # That's right, for considerations of RR diminishing returns cycle time is rounded this way\r\n            totalRaw += amount / int(cycleTime)\r\n        RR_ADDITION = 7000\r\n        RR_MULTIPLIER = 20\r\n        appliedRr = 0\r\n        for amount, cycleTime in rrList:\r\n            rrps = amount / int(cycleTime)\r\n            modified_rrps = RR_ADDITION + (rrps * RR_MULTIPLIER)\r\n            rrps_mult = 1 - (((rrps + modified_rrps) / (totalRaw + modified_rrps)) - 1) ** 2\r\n            appliedRr += rrps_mult * amount / cycleTime\r\n        return appliedRr\r\n\r\n\r\n    def __deepcopy__(self, memo=None):\r\n        fitCopy = Fit()\r\n        # Character and owner are not copied\r\n        fitCopy.character = self.__character\r\n        fitCopy.owner = self.owner\r\n        fitCopy.ship = deepcopy(self.ship)\r\n        fitCopy.mode = deepcopy(self.mode)\r\n        fitCopy.name = \"%s copy\" % self.name\r\n        fitCopy.damagePattern = self.damagePattern\r\n        fitCopy.targetProfile = self.targetProfile\r\n        fitCopy.implantLocation = self.implantLocation\r\n        fitCopy.systemSecurity = self.systemSecurity\r\n        fitCopy.pilotSecurity = self.pilotSecurity\r\n        fitCopy.notes = self.notes\r\n\r\n        for i in self.modules:\r\n            fitCopy.modules.appendIgnoreEmpty(deepcopy(i))\r\n        toCopy = (\r\n            \"drones\",\r\n            \"fighters\",\r\n            \"cargo\",\r\n            \"implants\",\r\n            \"boosters\",\r\n            \"projectedModules\",\r\n            \"projectedDrones\",\r\n            \"projectedFighters\")\r\n        for name in toCopy:\r\n            orig = getattr(self, name)\r\n            c = getattr(fitCopy, name)\r\n            for i in orig:\r\n                c.append(deepcopy(i))\r\n\r\n        # this bit is required -- see GH issue # 83\r\n        def forceUpdateSavedata(fit):\r\n            eos.db.saveddata_session.flush()\r\n            eos.db.saveddata_session.refresh(fit)\r\n\r\n        for fit in self.commandFits:\r\n            fitCopy.commandFitDict[fit.ID] = fit\r\n            forceUpdateSavedata(fit)\r\n            copyCommandInfo = fit.getCommandInfo(fitCopy.ID)\r\n            originalCommandInfo = fit.getCommandInfo(self.ID)\r\n            copyCommandInfo.active = originalCommandInfo.active\r\n            forceUpdateSavedata(fit)\r\n\r\n        for fit in self.projectedFits:\r\n            fitCopy.projectedFitDict[fit.ID] = fit\r\n            forceUpdateSavedata(fit)\r\n            copyProjectionInfo = fit.getProjectionInfo(fitCopy.ID)\r\n            originalProjectionInfo = fit.getProjectionInfo(self.ID)\r\n            copyProjectionInfo.active = originalProjectionInfo.active\r\n            copyProjectionInfo.amount = originalProjectionInfo.amount\r\n            copyProjectionInfo.projectionRange = originalProjectionInfo.projectionRange\r\n            forceUpdateSavedata(fit)\r\n\r\n        return fitCopy\r\n\r\n    def __repr__(self):\r\n        return \"Fit(ID={}, ship={}, name={}) at {}\".format(\r\n                self.ID, self.ship.item.name, self.name, hex(id(self))\r\n        )\r\n\r\n    def __str__(self):\r\n        return \"{} ({})\".format(\r\n                self.name, self.ship.item.name\r\n        )\r\n"
  },
  {
    "path": "eos/saveddata/implant.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom logbook import Logger\r\n\r\nfrom sqlalchemy.orm import validates, reconstructor\r\n\r\nimport eos.db\r\nfrom eos.effectHandlerHelpers import HandledItem\r\nfrom eos.modifiedAttributeDict import ModifiedAttributeDict, ItemAttrShortcut\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass Implant(HandledItem, ItemAttrShortcut):\r\n    def __init__(self, item):\r\n        self.__item = item\r\n\r\n        if self.isInvalid:\r\n            raise ValueError(\"Passed item is not an Implant\")\r\n\r\n        self.itemID = item.ID if item is not None else None\r\n        self.active = True\r\n        self.build()\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        self.__item = None\r\n\r\n        if self.itemID:\r\n            self.__item = eos.db.getItem(self.itemID)\r\n            if self.__item is None:\r\n                pyfalog.error(\"Item (id: {0}) does not exist\", self.itemID)\r\n                return\r\n\r\n        if self.isInvalid:\r\n            pyfalog.error(\"Item (id: {0}) is not an Implant\", self.itemID)\r\n            return\r\n\r\n        self.build()\r\n\r\n    def build(self):\r\n        \"\"\" Build object. Assumes proper and valid item already set \"\"\"\r\n        self.__itemModifiedAttributes = ModifiedAttributeDict()\r\n        self.__itemModifiedAttributes.original = self.__item.attributes\r\n        self.__itemModifiedAttributes.overrides = self.__item.overrides\r\n        self.__slot = self.__calculateSlot(self.__item)\r\n\r\n    @property\r\n    def itemModifiedAttributes(self):\r\n        return self.__itemModifiedAttributes\r\n\r\n    @property\r\n    def isInvalid(self):\r\n        return self.__item is None or self.__item.category.name != \"Implant\"\r\n\r\n    @property\r\n    def slot(self):\r\n        return self.__slot\r\n\r\n    @property\r\n    def item(self):\r\n        return self.__item\r\n\r\n    @staticmethod\r\n    def __calculateSlot(item):\r\n        if \"implantness\" not in item.attributes:\r\n            raise ValueError(\"Passed item is not an implant\")\r\n\r\n        return int(item.attributes[\"implantness\"].value)\r\n\r\n    def clear(self):\r\n        self.itemModifiedAttributes.clear()\r\n\r\n    def calculateModifiedAttributes(self, fit, runTime, forceProjected=False):\r\n        if forceProjected:\r\n            return\r\n        if not self.active:\r\n            return\r\n        for effect in self.item.effects.values():\r\n            if effect.runTime == runTime and effect.isType(\"passive\") and effect.activeByDefault:\r\n                effect.handler(fit, self, (\"implant\",), None, effect=effect)\r\n\r\n    @validates(\"fitID\", \"itemID\", \"active\")\r\n    def validator(self, key, val):\r\n        map = {\r\n            \"fitID\" : lambda _val: isinstance(_val, int),\r\n            \"itemID\": lambda _val: isinstance(_val, int),\r\n            \"active\": lambda _val: isinstance(_val, bool)\r\n        }\r\n\r\n        if not map[key](val):\r\n            raise ValueError(str(val) + \" is not a valid value for \" + key)\r\n        else:\r\n            return val\r\n\r\n    def __deepcopy__(self, memo):\r\n        copy = Implant(self.item)\r\n        copy.active = self.active\r\n        return copy\r\n\r\n    def rebase(self, item):\r\n        active = self.active\r\n        Implant.__init__(self, item)\r\n        self.active = active\r\n\r\n    def __repr__(self):\r\n        return \"Implant(ID={}, name={}) at {}\".format(\r\n                self.item.ID, self.item.name, hex(id(self))\r\n        )\r\n"
  },
  {
    "path": "eos/saveddata/implantSet.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2016 Ryan Holmes\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom copy import deepcopy\r\n\r\nfrom eos.effectHandlerHelpers import HandledImplantList\r\n\r\n\r\nclass ImplantSet:\r\n    def __init__(self, name=None):\r\n        self.name = name\r\n        self.__implants = HandledImplantList()\r\n\r\n    @property\r\n    def implants(self):\r\n        return self.__implants\r\n\r\n    @classmethod\r\n    def exportSets(cls, *sets):\r\n        out = \"# Exported from pyfa\\n#\\n\" \\\r\n              \"# Values are in following format:\\n\" \\\r\n              \"# [Implant Set name]\\n\" \\\r\n              \"# [Implant name]\\n\" \\\r\n              \"# [Implant name]\\n\" \\\r\n              \"# ...\\n\\n\"\r\n\r\n        for set in sets:\r\n            out += \"[{}]\\n\".format(set.name)\r\n            for implant in set.implants:\r\n                out += \"{}\\n\".format(implant.item.name)\r\n            out += \"\\n\"\r\n\r\n        return out.strip()\r\n\r\n    def __deepcopy__(self, memo):\r\n        copy = ImplantSet(self.name)\r\n        copy.name = \"%s copy\" % self.name\r\n\r\n        orig = getattr(self, 'implants')\r\n        c = getattr(copy, 'implants')\r\n        for i in orig:\r\n            c.append(deepcopy(i))\r\n\r\n        return copy\r\n"
  },
  {
    "path": "eos/saveddata/miscData.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2011 Anton Vorobyov\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom eos.eqBase import EqBase\r\n\r\n\r\nclass MiscData(EqBase):\r\n    def __init__(self, name, val=None):\r\n        self.fieldName = name\r\n        self.fieldValue = val\r\n"
  },
  {
    "path": "eos/saveddata/mode.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom eos.effectHandlerHelpers import HandledItem\r\nfrom eos.modifiedAttributeDict import ModifiedAttributeDict, ItemAttrShortcut\r\n\r\n\r\nclass Mode(ItemAttrShortcut, HandledItem):\r\n\r\n    def __init__(self, item, owner=None):\r\n        if item.group.name != \"Ship Modifiers\":\r\n            raise ValueError(\r\n                    'Passed item \"%s\" (category: (%s)) is not a Ship Modifier' % (item.name, item.category.name))\r\n        self.owner = owner\r\n        self.__item = item\r\n        self.__itemModifiedAttributes = ModifiedAttributeDict()\r\n        self.__itemModifiedAttributes.original = self.item.attributes\r\n        self.__itemModifiedAttributes.overrides = self.item.overrides\r\n\r\n    @property\r\n    def item(self):\r\n        return self.__item\r\n\r\n    @property\r\n    def itemModifiedAttributes(self):\r\n        return self.__itemModifiedAttributes\r\n\r\n    # @todo: rework to fit only on t3 dessy\r\n    def fits(self, fit):\r\n        raise NotImplementedError()\r\n\r\n    def clear(self):\r\n        self.itemModifiedAttributes.clear()\r\n\r\n    def calculateModifiedAttributes(self, fit, runTime, forceProjected=False):\r\n        if self.item:\r\n            for effect in self.item.effects.values():\r\n                if effect.runTime == runTime and effect.activeByDefault:\r\n                    effect.handler(fit, self, (\"module\",), None, effect=effect)\r\n\r\n    def __deepcopy__(self, memo):\r\n        copy = Mode(self.item)\r\n        return copy\r\n\r\n    def __repr__(self):\r\n        return \"Mode(ID={}, name={}) at {}\".format(\r\n                self.item.ID, self.item.name, hex(id(self))\r\n        )\r\n"
  },
  {
    "path": "eos/saveddata/module.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport math\r\n\r\nfrom logbook import Logger\r\nfrom sqlalchemy.orm import reconstructor, validates\r\n\r\nimport eos.db\r\nfrom eos.const import FittingHardpoint, FittingModuleState, FittingSlot\r\nfrom eos.effectHandlerHelpers import HandledCharge, HandledItem\r\nfrom eos.modifiedAttributeDict import ChargeAttrShortcut, ItemAttrShortcut, ModifiedAttributeDict\r\nfrom eos.saveddata.citadel import Citadel\r\nfrom eos.saveddata.mutatedMixin import MutatedMixin, MutaError\r\nfrom eos.saveddata.mutator import MutatorModule\r\nfrom eos.utils.cycles import CycleInfo, CycleSequence\r\nfrom eos.utils.default import DEFAULT\r\nfrom eos.utils.float import floatUnerr\r\nfrom eos.utils.spoolSupport import calculateSpoolup, resolveSpoolOptions\r\nfrom eos.utils.stats import BreacherInfo, DmgTypes, RRTypes\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\nProjectedMap = {\r\n    FittingModuleState.OVERHEATED: FittingModuleState.ACTIVE,\r\n    FittingModuleState.ACTIVE: FittingModuleState.OFFLINE,\r\n    FittingModuleState.OFFLINE: FittingModuleState.ACTIVE,\r\n    FittingModuleState.ONLINE: FittingModuleState.ACTIVE  # Just in case\r\n}\r\n\r\n\r\n# Old state : New State\r\nLocalMap = {\r\n    FittingModuleState.OVERHEATED: FittingModuleState.ACTIVE,\r\n    FittingModuleState.ACTIVE: FittingModuleState.ONLINE,\r\n    FittingModuleState.OFFLINE: FittingModuleState.ONLINE,\r\n    FittingModuleState.ONLINE: FittingModuleState.ACTIVE\r\n}\r\n\r\n\r\n# For system effects. They should only ever be online or offline\r\nProjectedSystem = {\r\n    FittingModuleState.OFFLINE: FittingModuleState.ONLINE,\r\n    FittingModuleState.ONLINE: FittingModuleState.OFFLINE\r\n}\r\n\r\n\r\nclass Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut, MutatedMixin):\r\n    \"\"\"An instance of this class represents a module together with its charge and modified attributes\"\"\"\r\n    MINING_ATTRIBUTES = (\"miningAmount\",)\r\n    SYSTEM_GROUPS = (\r\n        \"Effect Beacon\", \"MassiveEnvironments\", \"Abyssal Hazards\", \"Non-Interactable Object\",\r\n        \"Destructible Effect Beacon\", \"Sovereignty Hub System Effect Generator Upgrades\")\r\n\r\n    def __init__(self, item, baseItem=None, mutaplasmid=None):\r\n        \"\"\"Initialize a module from the program\"\"\"\r\n\r\n        self.itemID = item.ID if item is not None else None\r\n\r\n        self._item = item\r\n        self._mutaInit(baseItem=baseItem, mutaplasmid=mutaplasmid)\r\n\r\n        if item is not None and self.isInvalid:\r\n            raise ValueError(\"Passed item is not a Module\")\r\n\r\n        self.__charge = None\r\n\r\n        self.projected = False\r\n        self.projectionRange = None\r\n        self.state = FittingModuleState.ONLINE\r\n        self.build()\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        \"\"\"Initialize a module from the database and validate\"\"\"\r\n        self._item = None\r\n        self.__charge = None\r\n\r\n        # we need this early if module is invalid and returns early\r\n        self.__slot = self.dummySlot\r\n\r\n        if self.itemID:\r\n            self._item = eos.db.getItem(self.itemID)\r\n            if self._item is None:\r\n                pyfalog.error(\"Item (id: {0}) does not exist\", self.itemID)\r\n                return\r\n\r\n        try:\r\n            self._mutaReconstruct()\r\n        except MutaError:\r\n            return\r\n\r\n        if self.isInvalid:\r\n            pyfalog.error(\"Item (id: {0}) is not a Module\", self.itemID)\r\n            return\r\n\r\n        if self.chargeID:\r\n            self.__charge = eos.db.getItem(self.chargeID)\r\n\r\n        self.build()\r\n\r\n    def build(self):\r\n        \"\"\" Builds internal module variables from both init's \"\"\"\r\n\r\n        if self.__charge and self.__charge.category.name != \"Charge\":\r\n            self.__charge = None\r\n\r\n        self.rahPatternOverride = None\r\n\r\n        self.__baseVolley = None\r\n        self.__baseRRAmount = None\r\n        self.__miningYield = None\r\n        self.__miningDrain = None\r\n        self.__reloadTime = None\r\n        self.__reloadForce = None\r\n        self.__chargeCycles = None\r\n        self.__hardpoint = FittingHardpoint.NONE\r\n        self.__itemModifiedAttributes = ModifiedAttributeDict(parent=self)\r\n        self.__chargeModifiedAttributes = ModifiedAttributeDict(parent=self)\r\n        self.__slot = self.dummySlot  # defaults to None\r\n\r\n        if self._item:\r\n            self.__itemModifiedAttributes.original = self._item.attributes\r\n            self.__itemModifiedAttributes.overrides = self._item.overrides\r\n            self.__hardpoint = self.__calculateHardpoint(self._item)\r\n            self.__slot = self.calculateSlot(self._item)\r\n\r\n            self._mutaLoadMutators(mutatorClass=MutatorModule)\r\n            self.__itemModifiedAttributes.mutators = self.mutators\r\n\r\n        if self.__charge:\r\n            self.__chargeModifiedAttributes.original = self.__charge.attributes\r\n            self.__chargeModifiedAttributes.overrides = self.__charge.overrides\r\n\r\n    @classmethod\r\n    def buildEmpty(cls, slot):\r\n        empty = Module(None)\r\n        empty.__slot = slot\r\n        empty.dummySlot = slot\r\n        return empty\r\n\r\n    @classmethod\r\n    def buildRack(cls, slot, num=None):\r\n        empty = Rack(None)\r\n        empty.__slot = slot\r\n        empty.dummySlot = slot\r\n        empty.num = num\r\n        return empty\r\n\r\n    @property\r\n    def isEmpty(self):\r\n        return self.dummySlot is not None\r\n\r\n    @property\r\n    def hardpoint(self):\r\n        return self.__hardpoint\r\n\r\n    @property\r\n    def isInvalid(self):\r\n        # todo: validate baseItem as well if it's set.\r\n        if self.isEmpty:\r\n            return False\r\n        if self._item is None:\r\n            return True\r\n        if (\r\n            self._item.category.name not in (\"Module\", \"Subsystem\", \"Structure Module\")\r\n            and self._item.group.name not in self.SYSTEM_GROUPS\r\n        ):\r\n            return True\r\n        if (\r\n            self._item.category.name == \"Structure Module\"\r\n            and self._item.group.name == \"Quantum Cores\"\r\n        ):\r\n            return True\r\n        if self._mutaIsInvalid:\r\n            return True\r\n        return False\r\n\r\n    @property\r\n    def numCharges(self):\r\n        return self.getNumCharges(self.charge)\r\n\r\n    def getNumCharges(self, charge):\r\n        if charge is None:\r\n            charges = 0\r\n        else:\r\n            chargeVolume = charge.attributes['volume'].value\r\n            containerCapacity = self.item.attributes['capacity'].value\r\n            if chargeVolume is None or containerCapacity is None:\r\n                charges = 0\r\n            else:\r\n                charges = int(floatUnerr(containerCapacity / chargeVolume))\r\n        return charges\r\n\r\n    @property\r\n    def numShots(self):\r\n        if self.charge is None:\r\n            return 0\r\n        if self.__chargeCycles is None and self.charge:\r\n            numCharges = self.numCharges\r\n            # Usual ammo like projectiles and missiles\r\n            if numCharges > 0 and \"chargeRate\" in self.itemModifiedAttributes:\r\n                self.__chargeCycles = self.__calculateAmmoShots()\r\n            # Frequency crystals (combat and mining lasers)\r\n            elif numCharges > 0 and \"crystalsGetDamaged\" in self.chargeModifiedAttributes:\r\n                self.__chargeCycles = self.__calculateCrystalShots()\r\n            # Scripts and stuff\r\n            else:\r\n                self.__chargeCycles = 0\r\n            return self.__chargeCycles\r\n        else:\r\n            return self.__chargeCycles\r\n\r\n    @property\r\n    def modPosition(self):\r\n        return self.getModPosition()\r\n\r\n    def getModPosition(self, fit=None):\r\n        # Pass in fit for reliability. When it's not passed, we rely on owner and owner\r\n        # is set by sqlalchemy during flush\r\n        fit = fit if fit is not None else self.owner\r\n        if fit:\r\n            container = fit.projectedModules if self.isProjected else fit.modules\r\n            try:\r\n                return container.index(self)\r\n            except ValueError:\r\n                return None\r\n        return None\r\n\r\n    @property\r\n    def isProjected(self):\r\n        if self.owner:\r\n            return self in self.owner.projectedModules\r\n        return None\r\n\r\n    @property\r\n    def isExclusiveSystemEffect(self):\r\n        # See issue #2258\r\n        # return self.item.group.name in (\"Effect Beacon\", \"Non-Interactable Object\", \"MassiveEnvironments\")\r\n        return False\r\n\r\n    @property\r\n    def isCapitalSize(self):\r\n        return self.getModifiedItemAttr(\"volume\", 0) >= 4000\r\n\r\n    @property\r\n    def hpBeforeReload(self):\r\n        \"\"\"\r\n        If item is some kind of repairer with charges, calculate\r\n        HP it reps before going into reload.\r\n        \"\"\"\r\n        cycles = self.numShots\r\n        armorRep = self.getModifiedItemAttr(\"armorDamageAmount\") or 0\r\n        shieldRep = self.getModifiedItemAttr(\"shieldBonus\") or 0\r\n        if not cycles or (not armorRep and not shieldRep):\r\n            return 0\r\n        hp = round((armorRep + shieldRep) * cycles)\r\n        return hp\r\n\r\n    def __calculateAmmoShots(self):\r\n        if self.charge is not None:\r\n            # Set number of cycles before reload is needed\r\n            # numcycles = math.floor(module_capacity / (module_volume * module_chargerate))\r\n            chargeRate = self.getModifiedItemAttr(\"chargeRate\")\r\n            numCharges = self.numCharges\r\n            numShots = math.floor(numCharges / chargeRate)\r\n        else:\r\n            numShots = None\r\n        return numShots\r\n\r\n    def __calculateCrystalShots(self):\r\n        if self.charge is not None:\r\n            if self.getModifiedChargeAttr(\"crystalsGetDamaged\") == 1:\r\n                # For depletable crystals, calculate average amount of shots before it's destroyed\r\n                hp = self.getModifiedChargeAttr(\"hp\")\r\n                chance = self.getModifiedChargeAttr(\"crystalVolatilityChance\")\r\n                damage = self.getModifiedChargeAttr(\"crystalVolatilityDamage\")\r\n                crystals = self.numCharges\r\n                numShots = math.floor((crystals * hp) / (damage * chance))\r\n            else:\r\n                # Set 0 (infinite) for permanent crystals like t1 laser crystals\r\n                numShots = 0\r\n        else:\r\n            numShots = None\r\n        return numShots\r\n\r\n    @property\r\n    def maxRange(self):\r\n        attrs = (\"maxRange\", \"shieldTransferRange\", \"powerTransferRange\",\r\n                 \"energyDestabilizationRange\", \"empFieldRange\",\r\n                 \"ecmBurstRange\", \"warpScrambleRange\", \"cargoScanRange\",\r\n                 \"shipScanRange\", \"surveyScanRange\")\r\n        maxRange = None\r\n        for attr in attrs:\r\n            maxRange = self.getModifiedItemAttr(attr)\r\n            if maxRange:\r\n                break\r\n        if maxRange:\r\n            if 'burst projector' in self.item.name.lower():\r\n                maxRange -= self.owner.ship.getModifiedItemAttr(\"radius\")\r\n            return maxRange\r\n        missileMaxRangeData = self.missileMaxRangeData\r\n        if missileMaxRangeData is None:\r\n            return None\r\n        lowerRange, higherRange, higherChance = missileMaxRangeData\r\n        maxRange = lowerRange * (1 - higherChance) + higherRange * higherChance\r\n        return maxRange\r\n\r\n    @property\r\n    def missileMaxRangeData(self):\r\n        if self.charge is None:\r\n            return None\r\n        try:\r\n            chargeName = self.charge.group.name\r\n        except AttributeError:\r\n            pass\r\n        else:\r\n            if chargeName in (\"Scanner Probe\", \"Survey Probe\"):\r\n                return None\r\n\r\n        def calculateRange(maxVelocity, mass, agility, flightTime):\r\n            # Source: http://www.eveonline.com/ingameboard.asp?a=topic&threadID=1307419&page=1#15\r\n            # D_m = V_m * (T_m + T_0*[exp(- T_m/T_0)-1])\r\n            accelTime = min(flightTime, mass * agility / 1000000)\r\n            # Average distance done during acceleration\r\n            duringAcceleration = maxVelocity / 2 * accelTime\r\n            # Distance done after being at full speed\r\n            fullSpeed = maxVelocity * (flightTime - accelTime)\r\n            maxRange = duringAcceleration + fullSpeed\r\n            return maxRange\r\n\r\n        maxVelocity = self.getModifiedChargeAttr(\"maxVelocity\")\r\n        if not maxVelocity:\r\n            return None\r\n        shipRadius = self.owner.ship.getModifiedItemAttr(\"radius\")\r\n        # Flight time has bonus based on ship radius, see https://github.com/pyfa-org/Pyfa/issues/2083\r\n        flightTime = floatUnerr(self.getModifiedChargeAttr(\"explosionDelay\") / 1000 + shipRadius / maxVelocity)\r\n        mass = self.getModifiedChargeAttr(\"mass\")\r\n        agility = self.getModifiedChargeAttr(\"agility\")\r\n        lowerTime = math.floor(flightTime)\r\n        higherTime = math.ceil(flightTime)\r\n        lowerRange = calculateRange(maxVelocity, mass, agility, lowerTime)\r\n        higherRange = calculateRange(maxVelocity, mass, agility, higherTime)\r\n        # Fof range limit is supposedly calculated based on overview (surface-to-surface) range\r\n        if 'fofMissileLaunching' in self.charge.effects:\r\n            rangeLimit = self.getModifiedChargeAttr(\"maxFOFTargetRange\")\r\n            if rangeLimit:\r\n                lowerRange = min(lowerRange, rangeLimit)\r\n                higherRange = min(higherRange, rangeLimit)\r\n        # Make range center-to-surface, as missiles spawn in the center of the ship\r\n        lowerRange = max(0, lowerRange - shipRadius)\r\n        higherRange = max(0, higherRange - shipRadius)\r\n        higherChance = flightTime - lowerTime\r\n        return lowerRange, higherRange, higherChance\r\n\r\n    @property\r\n    def falloff(self):\r\n        attrs = (\"falloffEffectiveness\", \"falloff\", \"shipScanFalloff\")\r\n        for attr in attrs:\r\n            falloff = self.getModifiedItemAttr(attr)\r\n            if falloff:\r\n                return falloff\r\n\r\n    @property\r\n    def slot(self):\r\n        return self.__slot\r\n\r\n    @property\r\n    def itemModifiedAttributes(self):\r\n        return self.__itemModifiedAttributes\r\n\r\n    @property\r\n    def chargeModifiedAttributes(self):\r\n        return self.__chargeModifiedAttributes\r\n\r\n    @property\r\n    def item(self):\r\n        return self._item if self._item != 0 else None\r\n\r\n    @property\r\n    def charge(self):\r\n        return self.__charge if self.__charge != 0 else None\r\n\r\n    @charge.setter\r\n    def charge(self, charge):\r\n        self.__charge = charge\r\n        if charge is not None:\r\n            self.chargeID = charge.ID\r\n            self.__chargeModifiedAttributes.original = charge.attributes\r\n            self.__chargeModifiedAttributes.overrides = charge.overrides\r\n        else:\r\n            self.chargeID = None\r\n            self.__chargeModifiedAttributes.original = None\r\n            self.__chargeModifiedAttributes.overrides = {}\r\n\r\n        self.__itemModifiedAttributes.clear()\r\n\r\n    def getMiningYPS(self, ignoreState=False):\r\n        if self.isEmpty:\r\n            return 0\r\n        if not ignoreState and self.state < FittingModuleState.ACTIVE:\r\n            return 0\r\n        if self.__miningYield is None:\r\n            self.__miningYield, self.__miningDrain = self.__calculateMining()\r\n        return self.__miningYield\r\n\r\n    def getMiningDPS(self, ignoreState=False):\r\n        if self.isEmpty:\r\n            return 0\r\n        if not ignoreState and self.state < FittingModuleState.ACTIVE:\r\n            return 0\r\n        if self.__miningDrain is None:\r\n            self.__miningYield, self.__miningDrain = self.__calculateMining()\r\n        return self.__miningDrain\r\n\r\n    def __calculateMining(self):\r\n        yield_ = self.getModifiedItemAttr(\"miningAmount\")\r\n        if yield_:\r\n            cycleParams = self.getCycleParameters()\r\n            if cycleParams is None:\r\n                yps = 0\r\n            else:\r\n                cycleTime = cycleParams.averageTime\r\n                yps = yield_ / (cycleTime / 1000.0)\r\n        else:\r\n            yps = 0\r\n        wasteChance = self.getModifiedItemAttr(\"miningWasteProbability\")\r\n        wasteMult = self.getModifiedItemAttr(\"miningWastedVolumeMultiplier\")\r\n        dps = yps * (1 + max(0, min(1, wasteChance / 100)) * wasteMult)\r\n        critChance = self.getModifiedItemAttr(\"miningCritChance\")\r\n        critBonusMult = self.getModifiedItemAttr(\"miningCritBonusYield\")\r\n        yps += yps * critChance * critBonusMult\r\n        return yps, dps\r\n\r\n    def isDealingDamage(self, ignoreState=False):\r\n        volleyParams = self.getVolleyParameters(ignoreState=ignoreState)\r\n        for volley in volleyParams.values():\r\n            if volley.total > 0:\r\n                return True\r\n        return False\r\n\r\n    @property\r\n    def isBreacher(self):\r\n        return self.charge and 'dotMissileLaunching' in self.charge.effects\r\n\r\n    def canDealDamage(self, ignoreState=False):\r\n        if self.isEmpty:\r\n            return False\r\n        for effect in self.item.effects.values():\r\n            if effect.dealsDamage and (\r\n                ignoreState or\r\n                effect.isType('offline') or\r\n                (effect.isType('passive') and self.state >= FittingModuleState.ONLINE) or\r\n                (effect.isType('active') and self.state >= FittingModuleState.ACTIVE) or\r\n                (effect.isType('overheat') and self.state >= FittingModuleState.OVERHEATED)\r\n            ):\r\n                return True\r\n        return False\r\n\r\n    def getVolleyParameters(self, spoolOptions=None, targetProfile=None, ignoreState=False):\r\n        if self.isEmpty or (self.state < FittingModuleState.ACTIVE and not ignoreState):\r\n            return {0: DmgTypes.default()}\r\n        if self.__baseVolley is None:\r\n            self.__baseVolley = {}\r\n            if self.isBreacher:\r\n                dmgDelay = 1\r\n                subcycles = math.floor(self.getModifiedChargeAttr(\"dotDuration\", 0) / 1000)\r\n                breacher_info = BreacherInfo(\r\n                    absolute=self.getModifiedChargeAttr(\"dotMaxDamagePerTick\", 0),\r\n                    relative=self.getModifiedChargeAttr(\"dotMaxHPPercentagePerTick\", 0) / 100)\r\n                for i in range(subcycles):\r\n                    volley = DmgTypes.default()\r\n                    volley.add_breacher(dmgDelay + i, breacher_info)\r\n                    self.__baseVolley[dmgDelay + i] = volley\r\n            else:\r\n                dmgGetter = self.getModifiedChargeAttr if self.charge else self.getModifiedItemAttr\r\n                dmgMult = self.getModifiedItemAttr(\"damageMultiplier\", 1)\r\n                # Some delay attributes have non-0 default value, so we have to pick according to effects\r\n                if {'superWeaponAmarr', 'superWeaponCaldari', 'superWeaponGallente', 'superWeaponMinmatar', 'lightningWeapon'}.intersection(self.item.effects):\r\n                    dmgDelay = self.getModifiedItemAttr(\"damageDelayDuration\", 0)\r\n                elif {'doomsdayBeamDOT', 'doomsdaySlash', 'doomsdayConeDOT', 'debuffLance'}.intersection(self.item.effects):\r\n                    dmgDelay = self.getModifiedItemAttr(\"doomsdayWarningDuration\", 0)\r\n                else:\r\n                    dmgDelay = 0\r\n                dmgDuration = self.getModifiedItemAttr(\"doomsdayDamageDuration\", 0)\r\n                dmgSubcycle = self.getModifiedItemAttr(\"doomsdayDamageCycleTime\", 0)\r\n                # Reaper DD can damage each target only once\r\n                if dmgDuration != 0 and dmgSubcycle != 0 and 'doomsdaySlash' not in self.item.effects:\r\n                    subcycles = math.floor(floatUnerr(dmgDuration / dmgSubcycle))\r\n                else:\r\n                    subcycles = 1\r\n                for i in range(subcycles):\r\n                    self.__baseVolley[dmgDelay + dmgSubcycle * i] = DmgTypes(\r\n                        em=(dmgGetter(\"emDamage\", 0)) * dmgMult,\r\n                        thermal=(dmgGetter(\"thermalDamage\", 0)) * dmgMult,\r\n                        kinetic=(dmgGetter(\"kineticDamage\", 0)) * dmgMult,\r\n                        explosive=(dmgGetter(\"explosiveDamage\", 0)) * dmgMult)\r\n        spoolType, spoolAmount = resolveSpoolOptions(spoolOptions, self)\r\n        spoolBoost = calculateSpoolup(\r\n            self.getModifiedItemAttr(\"damageMultiplierBonusMax\", 0),\r\n            self.getModifiedItemAttr(\"damageMultiplierBonusPerCycle\", 0),\r\n            self.rawCycleTime / 1000, spoolType, spoolAmount)[0]\r\n        spoolMultiplier = 1 + spoolBoost\r\n        adjustedVolleys = {}\r\n        for volleyTime, baseVolley in self.__baseVolley.items():\r\n            adjustedVolley = baseVolley * spoolMultiplier\r\n            adjustedVolley.profile = targetProfile\r\n            adjustedVolleys[volleyTime] = adjustedVolley\r\n        return adjustedVolleys\r\n\r\n    def getVolley(self, spoolOptions=None, targetProfile=None, ignoreState=False):\r\n        volleyParams = self.getVolleyParameters(spoolOptions=spoolOptions, targetProfile=targetProfile, ignoreState=ignoreState)\r\n        if len(volleyParams) == 0:\r\n            return DmgTypes.default()\r\n        return volleyParams[min(volleyParams)]\r\n\r\n    def getDps(self, spoolOptions=None, targetProfile=None, ignoreState=False):\r\n        dps = DmgTypes.default()\r\n        cycleParams = self.getCycleParameters()\r\n        if cycleParams is None:\r\n            return dps\r\n        volleyParams = self.getVolleyParameters(spoolOptions=spoolOptions, targetProfile=targetProfile, ignoreState=ignoreState)\r\n        avgCycleTime = cycleParams.averageTime\r\n        if len(volleyParams) == 0 or avgCycleTime == 0:\r\n            return dps\r\n        if self.isBreacher:\r\n            return volleyParams[min(volleyParams)]\r\n        for volleyValue in volleyParams.values():\r\n            dps += volleyValue\r\n        dpsFactor = 1 / (avgCycleTime / 1000)\r\n        dps *= dpsFactor\r\n        return dps\r\n\r\n    def isRemoteRepping(self, ignoreState=False):\r\n        repParams = self.getRepAmountParameters(ignoreState=ignoreState)\r\n        for rrData in repParams.values():\r\n            if rrData:\r\n                return True\r\n        return False\r\n\r\n    def getRepAmountParameters(self, spoolOptions=None, ignoreState=False):\r\n        if self.isEmpty or (self.state < FittingModuleState.ACTIVE and not ignoreState):\r\n            return {}\r\n        remoteModuleGroups = {\r\n            \"Remote Armor Repairer\": \"Armor\",\r\n            \"Ancillary Remote Armor Repairer\": \"Armor\",\r\n            \"Mutadaptive Remote Armor Repairer\": \"Armor\",\r\n            \"Remote Hull Repairer\": \"Hull\",\r\n            \"Remote Shield Booster\": \"Shield\",\r\n            \"Ancillary Remote Shield Booster\": \"Shield\",\r\n            \"Remote Capacitor Transmitter\": \"Capacitor\"}\r\n        rrType = remoteModuleGroups.get(self.item.group.name)\r\n        if rrType is None:\r\n            return {}\r\n        if self.__baseRRAmount is None:\r\n            self.__baseRRAmount = {}\r\n            shieldAmount = 0\r\n            armorAmount = 0\r\n            hullAmount = 0\r\n            capacitorAmount = 0\r\n            if rrType == \"Hull\":\r\n                hullAmount += self.getModifiedItemAttr(\"structureDamageAmount\", 0)\r\n            elif rrType == \"Armor\":\r\n                if self.item.group.name == \"Ancillary Remote Armor Repairer\" and self.charge:\r\n                    mult = self.getModifiedItemAttr(\"chargedArmorDamageMultiplier\", 1)\r\n                else:\r\n                    mult = 1\r\n                armorAmount += self.getModifiedItemAttr(\"armorDamageAmount\", 0) * mult\r\n            elif rrType == \"Shield\":\r\n                shieldAmount += self.getModifiedItemAttr(\"shieldBonus\", 0)\r\n            elif rrType == \"Capacitor\":\r\n                capacitorAmount += self.getModifiedItemAttr(\"powerTransferAmount\", 0)\r\n            rrDelay = 0 if rrType == \"Shield\" else self.rawCycleTime\r\n            self.__baseRRAmount[rrDelay] = RRTypes(shield=shieldAmount, armor=armorAmount, hull=hullAmount, capacitor=capacitorAmount)\r\n        spoolType, spoolAmount = resolveSpoolOptions(spoolOptions, self)\r\n        spoolBoost = calculateSpoolup(\r\n            self.getModifiedItemAttr(\"repairMultiplierBonusMax\", 0),\r\n            self.getModifiedItemAttr(\"repairMultiplierBonusPerCycle\", 0),\r\n            self.rawCycleTime / 1000, spoolType, spoolAmount)[0]\r\n        spoolMultiplier = 1 + spoolBoost\r\n        adjustedRRAmount = {}\r\n        for rrTime, rrAmount in self.__baseRRAmount.items():\r\n            if spoolMultiplier == 1:\r\n                adjustedRRAmount[rrTime] = rrAmount\r\n            else:\r\n                adjustedRRAmount[rrTime] = rrAmount * spoolMultiplier\r\n        return adjustedRRAmount\r\n\r\n    def getRemoteReps(self, spoolOptions=None, ignoreState=False, reloadOverride=None):\r\n        rrDuringCycle = RRTypes(0, 0, 0, 0)\r\n        cycleParams = self.getCycleParameters(reloadOverride=reloadOverride)\r\n        if cycleParams is None:\r\n            return rrDuringCycle\r\n        repAmountParams = self.getRepAmountParameters(spoolOptions=spoolOptions, ignoreState=ignoreState)\r\n        avgCycleTime = cycleParams.averageTime\r\n        if len(repAmountParams) == 0 or avgCycleTime == 0:\r\n            return rrDuringCycle\r\n        for rrAmount in repAmountParams.values():\r\n            rrDuringCycle += rrAmount\r\n        rrFactor = 1 / (avgCycleTime / 1000)\r\n        rps = rrDuringCycle * rrFactor\r\n        return rps\r\n\r\n    def getSpoolData(self, spoolOptions=None):\r\n        weaponMultMax = self.getModifiedItemAttr(\"damageMultiplierBonusMax\", 0)\r\n        weaponMultPerCycle = self.getModifiedItemAttr(\"damageMultiplierBonusPerCycle\", 0)\r\n        if weaponMultMax and weaponMultPerCycle:\r\n            spoolType, spoolAmount = resolveSpoolOptions(spoolOptions, self)\r\n            _, spoolCycles, spoolTime = calculateSpoolup(\r\n                weaponMultMax, weaponMultPerCycle,\r\n                self.rawCycleTime / 1000, spoolType, spoolAmount)\r\n            return spoolCycles, spoolTime\r\n        rrMultMax = self.getModifiedItemAttr(\"repairMultiplierBonusMax\", 0)\r\n        rrMultPerCycle = self.getModifiedItemAttr(\"repairMultiplierBonusPerCycle\", 0)\r\n        if rrMultMax and rrMultPerCycle:\r\n            spoolType, spoolAmount = resolveSpoolOptions(spoolOptions, self)\r\n            _, spoolCycles, spoolTime = calculateSpoolup(\r\n                rrMultMax, rrMultPerCycle,\r\n                self.rawCycleTime / 1000, spoolType, spoolAmount)\r\n            return spoolCycles, spoolTime\r\n        return 0, 0\r\n\r\n    @property\r\n    def reloadTime(self):\r\n        # Get reload time from attrs first, then use\r\n        # custom value specified otherwise (e.g. in effects)\r\n        moduleReloadTime = self.getModifiedItemAttr(\"reloadTime\")\r\n        if moduleReloadTime is None:\r\n            moduleReloadTime = self.__reloadTime\r\n        return moduleReloadTime or 0.0\r\n\r\n    @reloadTime.setter\r\n    def reloadTime(self, milliseconds):\r\n        self.__reloadTime = milliseconds\r\n\r\n    @property\r\n    def forceReload(self):\r\n        return self.__reloadForce\r\n\r\n    @forceReload.setter\r\n    def forceReload(self, type):\r\n        self.__reloadForce = type\r\n\r\n    def fits(self, fit, hardpointLimit=True):\r\n        \"\"\"\r\n        Function that determines if a module can be fit to the ship. We always apply slot restrictions no matter what\r\n        (too many assumptions made on this), however all other fitting restrictions are optional\r\n        \"\"\"\r\n\r\n        slot = self.slot\r\n        if slot is None:\r\n            return False\r\n        if fit.getSlotsFree(slot) <= (0 if self.owner != fit else -1):\r\n            return False\r\n\r\n        fits = self.__fitRestrictions(fit, hardpointLimit)\r\n\r\n        if not fits and fit.ignoreRestrictions:\r\n            self.restrictionOverridden = True\r\n            fits = True\r\n        elif fits and fit.ignoreRestrictions:\r\n            self.restrictionOverridden = False\r\n\r\n        return fits\r\n\r\n    def __fitRestrictions(self, fit, hardpointLimit=True):\r\n\r\n        if not fit.canFit(self.item):\r\n            return False\r\n\r\n        # EVE doesn't let capital modules be fit onto subcapital hulls. Confirmed by CCP Larrikin that this is dictated\r\n        # by the modules volume. See GH issue #1096\r\n        if not isinstance(fit.ship, Citadel) and fit.ship.getModifiedItemAttr(\"isCapitalSize\", 0) != 1 and self.isCapitalSize:\r\n            return False\r\n\r\n        # If the mod is a subsystem, don't let two subs in the same slot fit\r\n        if self.slot == FittingSlot.SUBSYSTEM:\r\n            subSlot = self.getModifiedItemAttr(\"subSystemSlot\")\r\n            for mod in fit.modules:\r\n                if mod is self:\r\n                    continue\r\n                if mod.getModifiedItemAttr(\"subSystemSlot\") == subSlot:\r\n                    return False\r\n\r\n        # Check rig sizes\r\n        if self.slot == FittingSlot.RIG:\r\n            if self.getModifiedItemAttr(\"rigSize\") != fit.ship.getModifiedItemAttr(\"rigSize\"):\r\n                return False\r\n\r\n        # Check max group fitted\r\n        # use raw value, since it seems what EVE uses. Example is FAXes with their capacitor boosters,\r\n        # which have unmodified value of 10, and modified of 1, and you can actually fit multiples\r\n        try:\r\n            max = self.item.attributes.get('maxGroupFitted').value\r\n        except AttributeError:\r\n            pass\r\n        else:\r\n            if max:\r\n                current = 0  # if self.owner != fit else -1  # Disabled, see #1278\r\n                for mod in fit.modules:\r\n                    if (mod.item and mod.item.groupID == self.item.groupID and\r\n                            self.getModPosition(fit) != mod.getModPosition(fit)):\r\n                        current += 1\r\n\r\n                if current >= max:\r\n                    return False\r\n\r\n        # Check this only if we're told to do so\r\n        if hardpointLimit:\r\n            if fit.getHardpointsFree(self.hardpoint) < (1 if self.owner != fit else 0):\r\n                return False\r\n\r\n        return True\r\n\r\n    def isValidState(self, state):\r\n        \"\"\"\r\n        Check if the state is valid for this module, without considering other modules at all\r\n        \"\"\"\r\n        # Check if we're within bounds\r\n        if state < -1 or state > 2:\r\n            return False\r\n        elif state >= FittingModuleState.ACTIVE and (not self.item.isType(\"active\") or self.getModifiedItemAttr('activationBlocked') > 0):\r\n            return False\r\n        elif state == FittingModuleState.OVERHEATED and not self.item.isType(\"overheat\"):\r\n            return False\r\n        # Some destructible effect beacons contain active effects, hardcap those at online state\r\n        elif state > FittingModuleState.ONLINE and self.slot == FittingSlot.SYSTEM:\r\n            return False\r\n        else:\r\n            return True\r\n\r\n    def getMaxState(self, proposedState=None):\r\n        states = sorted((s for s in FittingModuleState if proposedState is None or s <= proposedState), reverse=True)\r\n        for state in states:\r\n            if self.isValidState(state):\r\n                return state\r\n\r\n    def canHaveState(self, state=None, projectedOnto=None):\r\n        \"\"\"\r\n        Check with other modules if there are restrictions that might not allow this module to be activated.\r\n        Returns True if state is allowed, or max state module can have if current state is invalid.\r\n        \"\"\"\r\n        # If we're going to set module to offline, it should be fine for all cases\r\n        item = self.item\r\n        if state <= FittingModuleState.OFFLINE:\r\n            return True\r\n\r\n        # Check if the local module is over it's max limit; if it's not, we're fine\r\n        maxGroupOnline = self.getModifiedItemAttr(\"maxGroupOnline\", None)\r\n        maxGroupActive = self.getModifiedItemAttr(\"maxGroupActive\", None)\r\n        if not maxGroupOnline and not maxGroupActive and projectedOnto is None:\r\n            return True\r\n\r\n        # Following is applicable only to local modules, we do not want to limit projected\r\n        if projectedOnto is None:\r\n            currOnline = 0\r\n            currActive = 0\r\n            group = item.group.name\r\n            maxState = None\r\n            for mod in self.owner.modules:\r\n                currItem = getattr(mod, \"item\", None)\r\n                if currItem is not None and currItem.group.name == group:\r\n                    if mod.state >= FittingModuleState.ONLINE:\r\n                        currOnline += 1\r\n                    if mod.state >= FittingModuleState.ACTIVE:\r\n                        currActive += 1\r\n                    if maxGroupOnline and currOnline > maxGroupOnline:\r\n                        if maxState is None or maxState > FittingModuleState.OFFLINE:\r\n                            maxState = FittingModuleState.OFFLINE\r\n                            break\r\n                    if maxGroupActive and currActive > maxGroupActive:\r\n                        if maxState is None or maxState > FittingModuleState.ONLINE:\r\n                            maxState = FittingModuleState.ONLINE\r\n            return True if maxState is None else maxState\r\n        # For projected, we're checking if ship is vulnerable to given item\r\n        else:\r\n            # Do not allow to apply offensive modules on ship with offensive module immunite, with few exceptions\r\n            # (all effects which apply instant modification are exception, generally speaking)\r\n            if item.offensive and projectedOnto.ship.getModifiedItemAttr(\"disallowOffensiveModifiers\") == 1:\r\n                offensiveNonModifiers = {\"energyDestabilizationNew\",\r\n                                         \"leech\",\r\n                                         \"energyNosferatuFalloff\",\r\n                                         \"energyNeutralizerFalloff\"}\r\n                if not offensiveNonModifiers.intersection(set(item.effects)):\r\n                    return FittingModuleState.OFFLINE\r\n            # If assistive modules are not allowed, do not let to apply these altogether\r\n            if item.assistive and projectedOnto.ship.getModifiedItemAttr(\"disallowAssistance\") == 1:\r\n                return FittingModuleState.OFFLINE\r\n            return True\r\n\r\n    def isValidCharge(self, charge):\r\n        # Check sizes, if 'charge size > module volume' it won't fit\r\n        if charge is None:\r\n            return True\r\n        chargeVolume = charge.attributes['volume'].value\r\n        moduleCapacity = self.item.attributes['capacity'].value\r\n        if chargeVolume is not None and moduleCapacity is not None and chargeVolume > moduleCapacity:\r\n            return False\r\n\r\n        itemChargeSize = self.getModifiedItemAttr(\"chargeSize\")\r\n        if itemChargeSize > 0:\r\n            chargeSize = charge.getAttribute('chargeSize')\r\n            if itemChargeSize != chargeSize:\r\n                return False\r\n\r\n        chargeGroup = charge.groupID\r\n        for i in range(5):\r\n            itemChargeGroup = self.getModifiedItemAttr('chargeGroup' + str(i), None)\r\n            if not itemChargeGroup:\r\n                continue\r\n            if itemChargeGroup == chargeGroup:\r\n                return True\r\n\r\n        return False\r\n\r\n    def getValidCharges(self):\r\n        validCharges = set()\r\n        for i in range(5):\r\n            itemChargeGroup = self.getModifiedItemAttr('chargeGroup' + str(i), None)\r\n            if itemChargeGroup:\r\n                g = eos.db.getGroup(int(itemChargeGroup), eager=\"items.attributes\")\r\n                if g is None:\r\n                    continue\r\n                for singleItem in g.items:\r\n                    if singleItem.published and self.isValidCharge(singleItem):\r\n                        validCharges.add(singleItem)\r\n\r\n        return validCharges\r\n\r\n    @staticmethod\r\n    def __calculateHardpoint(item):\r\n        effectHardpointMap = {\r\n            \"turretFitted\"  : FittingHardpoint.TURRET,\r\n            \"launcherFitted\": FittingHardpoint.MISSILE\r\n        }\r\n\r\n        if item is None:\r\n            return FittingHardpoint.NONE\r\n\r\n        for effectName, slot in effectHardpointMap.items():\r\n            if effectName in item.effects:\r\n                return slot\r\n\r\n        return FittingHardpoint.NONE\r\n\r\n    @staticmethod\r\n    def calculateSlot(item):\r\n        effectSlotMap = {\r\n            \"rigSlot\"    : FittingSlot.RIG.value,\r\n            \"loPower\"    : FittingSlot.LOW.value,\r\n            \"medPower\"   : FittingSlot.MED.value,\r\n            \"hiPower\"    : FittingSlot.HIGH.value,\r\n            \"subSystem\"  : FittingSlot.SUBSYSTEM.value,\r\n            \"serviceSlot\": FittingSlot.SERVICE.value\r\n        }\r\n        if item is None:\r\n            return None\r\n        for effectName, slot in effectSlotMap.items():\r\n            if effectName in item.effects:\r\n                return slot\r\n        if item.group.name in Module.SYSTEM_GROUPS:\r\n            return FittingSlot.SYSTEM\r\n\r\n        return None\r\n\r\n    @validates(\"ID\", \"itemID\", \"ammoID\")\r\n    def validator(self, key, val):\r\n        map = {\r\n            \"ID\"    : lambda _val: isinstance(_val, int),\r\n            \"itemID\": lambda _val: _val is None or isinstance(_val, int),\r\n            \"ammoID\": lambda _val: isinstance(_val, int)\r\n        }\r\n\r\n        if not map[key](val):\r\n            raise ValueError(str(val) + \" is not a valid value for \" + key)\r\n        else:\r\n            return val\r\n\r\n    def clear(self):\r\n        self.__baseVolley = None\r\n        self.__baseRRAmount = None\r\n        self.__miningYield = None\r\n        self.__miningDrain = None\r\n        self.__reloadTime = None\r\n        self.__reloadForce = None\r\n        self.__chargeCycles = None\r\n        self.itemModifiedAttributes.clear()\r\n        self.chargeModifiedAttributes.clear()\r\n\r\n    def calculateModifiedAttributes(self, fit, runTime, forceProjected=False, gang=False, forcedProjRange=DEFAULT):\r\n        # We will run the effect when two conditions are met:\r\n        # 1: It makes sense to run the effect\r\n        #    The effect is either offline\r\n        #    or the effect is passive and the module is in the online state (or higher)\r\n\r\n        #    or the effect is active and the module is in the active state (or higher)\r\n        #    or the effect is overheat and the module is in the overheated state (or higher)\r\n        # 2: the runtimes match\r\n\r\n        if self.projected or forceProjected:\r\n            context = \"projected\", \"module\"\r\n            projected = True\r\n        else:\r\n            context = (\"module\",)\r\n            projected = False\r\n\r\n        projectionRange = self.projectionRange if forcedProjRange is DEFAULT else forcedProjRange\r\n\r\n        if self.charge is not None:\r\n            # fix for #82 and it's regression #106\r\n            if not projected or (self.projected and not forceProjected) or gang:\r\n                for effect in self.charge.effects.values():\r\n                    if (\r\n                        effect.runTime == runTime and\r\n                        effect.activeByDefault and (\r\n                            effect.isType(\"offline\") or\r\n                            (effect.isType(\"passive\") and self.state >= FittingModuleState.ONLINE) or\r\n                            (effect.isType(\"active\") and self.state >= FittingModuleState.ACTIVE)) and\r\n                        (not gang or (gang and effect.isType(\"gang\")))\r\n                    ):\r\n                        contexts = (\"moduleCharge\",)\r\n                        effect.handler(fit, self, contexts, projectionRange, effect=effect)\r\n\r\n        if self.item:\r\n            if self.state >= FittingModuleState.OVERHEATED:\r\n                for effect in self.item.effects.values():\r\n                    if effect.runTime == runTime and \\\r\n                            effect.isType(\"overheat\") \\\r\n                            and not forceProjected \\\r\n                            and effect.activeByDefault \\\r\n                            and ((gang and effect.isType(\"gang\")) or not gang):\r\n                        effect.handler(fit, self, context, projectionRange, effect=effect)\r\n\r\n            for effect in self.item.effects.values():\r\n                if effect.runTime == runTime and \\\r\n                        effect.activeByDefault and \\\r\n                        (effect.isType(\"offline\") or\r\n                         (effect.isType(\"passive\") and self.state >= FittingModuleState.ONLINE) or\r\n                         (effect.isType(\"active\") and self.state >= FittingModuleState.ACTIVE)) \\\r\n                        and ((projected and effect.isType(\"projected\")) or not projected) \\\r\n                        and ((gang and effect.isType(\"gang\")) or not gang):\r\n                    effect.handler(fit, self, context, projectionRange, effect=effect)\r\n\r\n    def getCycleParametersForDps(self, reloadOverride=None):\r\n        # Special hack for breachers, since those are DoT and work independently of gun cycle\r\n        if self.isBreacher:\r\n            return CycleInfo(activeTime=1000, inactiveTime=0, quantity=math.inf, isInactivityReload=False)\r\n        else:\r\n            return self.getCycleParameters(reloadOverride=reloadOverride)\r\n\r\n    def getCycleParameters(self, reloadOverride=None):\r\n        \"\"\"Copied from new eos as well\"\"\"\r\n        # Determine if we'll take into account reload time or not\r\n        if reloadOverride is not None:\r\n            factorReload = reloadOverride\r\n        else:\r\n            factorReload = self.owner.factorReload if self.forceReload is None else self.forceReload\r\n\r\n        cycles_until_reload = self.numShots\r\n        if cycles_until_reload == 0:\r\n            cycles_until_reload = math.inf\r\n\r\n        active_time = self.rawCycleTime\r\n        if active_time == 0:\r\n            return None\r\n        forced_inactive_time = self.reactivationDelay\r\n        reload_time = self.reloadTime\r\n        # Effects which cannot be reloaded have the same processing whether\r\n        # caller wants to take reload time into account or not\r\n        if reload_time is None and cycles_until_reload < math.inf:\r\n            final_cycles = 1\r\n            early_cycles = cycles_until_reload - final_cycles\r\n            # Single cycle until effect cannot run anymore\r\n            if early_cycles == 0:\r\n                return CycleInfo(active_time, 0, 1, False)\r\n            # Multiple cycles with the same parameters\r\n            if forced_inactive_time == 0:\r\n                return CycleInfo(active_time, 0, cycles_until_reload, False)\r\n            # Multiple cycles with different parameters\r\n            return CycleSequence((\r\n                CycleInfo(active_time, forced_inactive_time, early_cycles, False),\r\n                CycleInfo(active_time, 0, final_cycles, False)\r\n            ), 1)\r\n        # Module cycles the same way all the time in 3 cases:\r\n        # 1) caller doesn't want to take into account reload time\r\n        # 2) effect does not have to reload anything to keep running\r\n        # 3) effect has enough time to reload during inactivity periods\r\n        if (\r\n            not factorReload or\r\n            cycles_until_reload == math.inf or\r\n            forced_inactive_time >= reload_time\r\n        ):\r\n            isInactivityReload = factorReload and forced_inactive_time >= reload_time\r\n            return CycleInfo(active_time, forced_inactive_time, math.inf, isInactivityReload)\r\n        # We've got to take reload into consideration\r\n        else:\r\n            final_cycles = 1\r\n            early_cycles = cycles_until_reload - final_cycles\r\n            # If effect has to reload after each its cycle, then its parameters\r\n            # are the same all the time\r\n            if early_cycles == 0:\r\n                return CycleInfo(active_time, reload_time, math.inf, True)\r\n            return CycleSequence((\r\n                CycleInfo(active_time, forced_inactive_time, early_cycles, False),\r\n                CycleInfo(active_time, reload_time, final_cycles, True)\r\n            ), math.inf)\r\n\r\n    @property\r\n    def rawCycleTime(self):\r\n        speed = max(\r\n                self.getModifiedItemAttr(\"speed\", 0),  # Most weapons\r\n                self.getModifiedItemAttr(\"duration\", 0),  # Most average modules\r\n                self.getModifiedItemAttr(\"durationHighisGood\", 0),  # Most average modules\r\n                self.getModifiedItemAttr(\"durationSensorDampeningBurstProjector\", 0),\r\n                self.getModifiedItemAttr(\"durationTargetIlluminationBurstProjector\", 0),\r\n                self.getModifiedItemAttr(\"durationECMJammerBurstProjector\", 0),\r\n                self.getModifiedItemAttr(\"durationWeaponDisruptionBurstProjector\", 0)\r\n        )\r\n        return speed\r\n\r\n    @property\r\n    def disallowRepeatingAction(self):\r\n        return self.getModifiedItemAttr(\"disallowRepeatingActivation\", 0)\r\n\r\n    @property\r\n    def reactivationDelay(self):\r\n        return self.getModifiedItemAttr(\"moduleReactivationDelay\", 0)\r\n\r\n    @property\r\n    def capUse(self):\r\n        capNeed = self.getModifiedItemAttr(\"capacitorNeed\")\r\n        if capNeed and self.state >= FittingModuleState.ACTIVE:\r\n            cycleParams = self.getCycleParameters()\r\n            if cycleParams is None:\r\n                return 0\r\n            cycleTime = cycleParams.averageTime\r\n            if cycleTime > 0:\r\n                capUsed = capNeed / (cycleTime / 1000.0)\r\n                return capUsed\r\n        else:\r\n            return 0\r\n\r\n    @staticmethod\r\n    def getProposedState(mod, click, proposedState=None):\r\n        pyfalog.debug(\"Get proposed state for module.\")\r\n        if mod.slot == FittingSlot.SUBSYSTEM or mod.isEmpty:\r\n            return FittingModuleState.ONLINE\r\n\r\n        if mod.slot == FittingSlot.SYSTEM:\r\n            transitionMap = ProjectedSystem\r\n        else:\r\n            transitionMap = ProjectedMap if mod.projected else LocalMap\r\n\r\n        currState = mod.state\r\n\r\n        if proposedState is not None:\r\n            state = proposedState\r\n        elif click == \"right\":\r\n            state = FittingModuleState.OVERHEATED\r\n        elif click == \"ctrl\":\r\n            state = FittingModuleState.OFFLINE\r\n        else:\r\n            try:\r\n                state = transitionMap[currState]\r\n            except KeyError:\r\n                state = min(transitionMap)\r\n            # If passive module tries to transition into online and fails,\r\n            # put it to passive instead\r\n            if not mod.isValidState(state) and currState == FittingModuleState.ONLINE:\r\n                state = FittingModuleState.OFFLINE\r\n\r\n        return mod.getMaxState(proposedState=state)\r\n\r\n    def __deepcopy__(self, memo):\r\n        item = self.item\r\n        if item is None:\r\n            copy = Module.buildEmpty(self.slot)\r\n        else:\r\n            copy = Module(self.item, self.baseItem, self.mutaplasmid)\r\n        copy.charge = self.charge\r\n        copy.state = self.state\r\n        copy.spoolType = self.spoolType\r\n        copy.spoolAmount = self.spoolAmount\r\n        copy.projectionRange = self.projectionRange\r\n        copy.rahPatternOverride = self.rahPatternOverride\r\n        self._mutaApplyMutators(mutatorClass=MutatorModule, targetInstance=copy)\r\n\r\n        return copy\r\n\r\n    def rebase(self, item):\r\n        state = self.state\r\n        charge = self.charge\r\n        spoolType = self.spoolType\r\n        spoolAmount = self.spoolAmount\r\n        projectionRange = self.projectionRange\r\n        rahPatternOverride = self.rahPatternOverride\r\n\r\n        Module.__init__(self, item, self.baseItem, self.mutaplasmid)\r\n        self.state = state\r\n        if self.isValidCharge(charge):\r\n            self.charge = charge\r\n        self.spoolType = spoolType\r\n        self.spoolAmount = spoolAmount\r\n        self.projectionRange = projectionRange\r\n        self.rahPatternOverride = rahPatternOverride\r\n        self._mutaApplyMutators(mutatorClass=MutatorModule)\r\n\r\n    def __repr__(self):\r\n        if self.item:\r\n            return \"Module(ID={}, name={}) at {}\".format(self.item.ID, self.item.name, hex(id(self)))\r\n        else:\r\n            return \"EmptyModule() at {}\".format(hex(id(self)))\r\n\r\n\r\nclass Rack(Module):\r\n    \"\"\"\r\n    This is simply the Module class named something else to differentiate\r\n    it for app logic. The only thing interesting about it is the num property,\r\n    which is the number of slots for this rack\r\n    \"\"\"\r\n    num = None\r\n"
  },
  {
    "path": "eos/saveddata/mutatedMixin.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\n\r\nimport eos.db\r\n\r\nfrom logbook import Logger\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass MutaError(Exception):\r\n    pass\r\n\r\n\r\nclass MutatedMixin:\r\n\r\n    @property\r\n    def isMutated(self):\r\n        return bool(self.baseItemID and self.mutaplasmidID)\r\n\r\n    @property\r\n    def baseItem(self):\r\n        return self.__baseItem\r\n\r\n    @property\r\n    def mutaplasmid(self):\r\n        return self.__mutaplasmid\r\n\r\n    @property\r\n    def fullName(self):\r\n        if self.isMutated:\r\n            mutaShortName = self.mutaplasmid.shortName\r\n            mutaFullName = self.mutaplasmid.item.customName\r\n            # Short name can be unavailable for non-english language\r\n            if mutaShortName != mutaFullName:\r\n                return f'{self.mutaplasmid.shortName} {self.baseItem.customName}'\r\n        return self.item.customName\r\n\r\n    def _mutaInit(self, baseItem, mutaplasmid):\r\n        self.baseItemID = baseItem.ID if baseItem is not None else None\r\n        self.mutaplasmidID = mutaplasmid.ID if mutaplasmid is not None else None\r\n        if baseItem is not None:\r\n            # we're working with a mutated module, need to get abyssal module loaded with the base attributes\r\n            # Note: there may be a better way of doing this, such as a metho on this classe to convert(mutaplamid). This\r\n            # will require a bit more research though, considering there has never been a need to \"swap\" out the item of a Module\r\n            # before, and there may be assumptions taken with regards to the item never changing (pre-calculated / cached results, for example)\r\n            self._item = eos.db.getItemWithBaseItemAttribute(self._item.ID, self.baseItemID)\r\n            self.__baseItem = baseItem\r\n            self.__mutaplasmid = mutaplasmid\r\n        else:\r\n            self.__baseItem = None\r\n            self.__mutaplasmid = None\r\n\r\n    def _mutaReconstruct(self):\r\n        self.__baseItem = None\r\n        self.__mutaplasmid = None\r\n        if self.baseItemID:\r\n            self._item = eos.db.getItemWithBaseItemAttribute(self.itemID, self.baseItemID)\r\n            self.__baseItem = eos.db.getItem(self.baseItemID)\r\n            self.__mutaplasmid = eos.db.getMutaplasmid(self.mutaplasmidID)\r\n            if self.__baseItem is None:\r\n                pyfalog.error(\"Base Item (id: {0}) does not exist\", self.itemID)\r\n                raise MutaError\r\n\r\n    def _mutaLoadMutators(self, mutatorClass):\r\n        # Instantiate / remove mutators if this is a mutated module\r\n        if self.__baseItem:\r\n            for x in self.mutaplasmid.attributes:\r\n                attr = self.item.attributes[x.name]\r\n                id = attr.ID\r\n                if id not in self.mutators:  # create the mutator\r\n                    mutatorClass(self, attr, attr.value)\r\n            # @todo: remove attributes that are no longer part of the mutaplasmid.\r\n\r\n    @property\r\n    def _mutaIsInvalid(self):\r\n        if self.item.isAbyssal and not self.isMutated:\r\n            return True\r\n        if self.isMutated and not self.__mutaplasmid:\r\n            return True\r\n        return False\r\n\r\n    def _mutaApplyMutators(self, mutatorClass, targetInstance=None):\r\n        if targetInstance is None:\r\n            targetInstance = self\r\n        for x in self.mutators.values():\r\n            mutatorClass(targetInstance, x.attribute, x.value)\r\n"
  },
  {
    "path": "eos/saveddata/mutator.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2015 Ryan Holmes\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom logbook import Logger\r\n\r\nfrom sqlalchemy.orm import validates, reconstructor\r\n\r\nimport eos.db\r\nfrom eos.eqBase import EqBase\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass MutatorBase(EqBase):\r\n    \"\"\" Mutators are the object that represent an attribute override on the eos item level, in conjunction with\r\n    mutaplasmids. Each mutated item, when created, is instantiated with a list of these objects, dictated by the\r\n    mutaplasmid that is used on the base item.\r\n\r\n    A note on the different attributes on this object:\r\n    * attribute: points to the definition of the attribute from dgmattribs.\r\n    * baseAttribute: points to the attribute defined for the base item (contains the base value with with to mutate)\r\n    * dynamicAttribute: points to the Mutaplasmid definition of the attribute, including min/max\r\n\r\n    This could probably be cleaned up with smarter relationships, but whatever\r\n    \"\"\"\r\n\r\n    def __init__(self, item, attr, value):\r\n        # this needs to be above item assignment, as assigning the item will add it to the list and it via\r\n        # relationship and needs this set 4correctly\r\n        self.attrID = attr.ID\r\n\r\n        self.item = item\r\n        self.itemID = item.ID\r\n\r\n        self.__attr = attr\r\n        self.build()\r\n        self.value = value  # must run after the build(), because the validator requires build() to run first\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        self.__attr = None\r\n\r\n        if self.attrID:\r\n            self.__attr = eos.db.getAttributeInfo(self.attrID)\r\n            if self.__attr is None:\r\n                pyfalog.error(\"Attribute (id: {0}) does not exist\", self.attrID)\r\n                return\r\n\r\n        self.build()\r\n        self.value = self.value  # run the validator (to ensure we catch any changed min/max values might CCP release)\r\n\r\n    def build(self):\r\n        # try...except here to catch orphaned mutators. Pretty rare, only happens so far if hacking the database\r\n        # But put it here to remove the eos item link if it happens, until a better solution can be developed\r\n        try:\r\n            # dynamic attribute links to the Mutaplasmids attribute definition for this mutated definition\r\n            self.dynamicAttribute = next(a for a in self.item.mutaplasmid.attributes if a.attributeID == self.attrID)\r\n            # base attribute links to the base ite's attribute for this mutated definition (contains original, base value)\r\n            self.baseAttribute = self.item.baseItem.attributes[self.dynamicAttribute.name]\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            self.item = None\r\n\r\n    @validates(\"value\")\r\n    def validator(self, key, val):\r\n        \"\"\" Validates values as properly falling within the range of the items' Mutaplasmid \"\"\"\r\n        if self.baseValue == 0:\r\n            return 0\r\n        mod = val / self.baseValue\r\n\r\n        if self.minMod <= mod <= self.maxMod:\r\n            # sweet, all good\r\n            returnVal = val\r\n        else:\r\n            actualMin = min(self.minValue, self.maxValue)\r\n            actualMax = max(self.minValue, self.maxValue)\r\n            returnVal = min(actualMax, max(actualMin, val))\r\n        return returnVal\r\n\r\n    @property\r\n    def isInvalid(self):\r\n        # @todo: need to test what happens:\r\n        # 1) if an attribute is removed from the EVE database\r\n        # 2) if a mutaplasmid does not have the attribute anymore\r\n        # 3) if a mutaplasmid does not exist (in eve or on the pyfa item's item)\r\n        # Can remove invalid ones in a SQLAlchemy collection class... eventually\r\n        return self.__attr is None\r\n\r\n    @property\r\n    def highIsGood(self):\r\n        return self.attribute.highIsGood\r\n\r\n    @property\r\n    def minMod(self):\r\n        return round(self.dynamicAttribute.min, 3)\r\n\r\n    @property\r\n    def maxMod(self):\r\n        return round(self.dynamicAttribute.max, 3)\r\n\r\n    @property\r\n    def baseValue(self):\r\n        try:\r\n            return self.baseAttribute.value\r\n        except AttributeError:\r\n            return 0\r\n\r\n    @property\r\n    def minValue(self):\r\n        try:\r\n            return self.minMod * self.baseAttribute.value\r\n        except AttributeError:\r\n            return 0\r\n\r\n    @property\r\n    def maxValue(self):\r\n        try:\r\n            return self.maxMod * self.baseAttribute.value\r\n        except AttributeError:\r\n            return 0\r\n\r\n    @property\r\n    def attribute(self):\r\n        return self.__attr\r\n\r\n\r\nclass MutatorModule(MutatorBase):\r\n    pass\r\n\r\n\r\nclass MutatorDrone(MutatorBase):\r\n    pass\r\n"
  },
  {
    "path": "eos/saveddata/override.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2015 Ryan Holmes\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom logbook import Logger\r\n\r\nfrom sqlalchemy.orm import reconstructor\r\n\r\nimport eos.db\r\nfrom eos.eqBase import EqBase\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass Override(EqBase):\r\n    def __init__(self, item, attr, value):\r\n        self.itemID = item.ID\r\n        self.__item = item\r\n        self.attrID = attr.ID\r\n        self.__attr = attr\r\n        self.value = value\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        self.__attr = None\r\n        self.__item = None\r\n\r\n        if self.attrID:\r\n            self.__attr = eos.db.getAttributeInfo(self.attrID)\r\n            if self.__attr is None:\r\n                pyfalog.error(\"Attribute (id: {0}) does not exist\", self.attrID)\r\n                return\r\n\r\n        if self.itemID:\r\n            self.__item = eos.db.getItem(self.itemID)\r\n            if self.__item is None:\r\n                pyfalog.error(\"Item (id: {0}) does not exist\", self.itemID)\r\n                return\r\n\r\n    @property\r\n    def attr(self):\r\n        return self.__attr\r\n\r\n    @property\r\n    def item(self):\r\n        return self.__item\r\n"
  },
  {
    "path": "eos/saveddata/price.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n# Copyright (C) 2011 Anton Vorobyov\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\n\r\nfrom enum import IntEnum, unique\r\nfrom time import time\r\n\r\nfrom logbook import Logger\r\n\r\n\r\nVALIDITY = 24 * 60 * 60  # Price validity period, 24 hours\r\nREREQUEST = 4 * 60 * 60  # Re-request delay for failed fetches, 4 hours\r\nTIMEOUT = 15 * 60  # Network timeout delay for connection issues, 15 minutes\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\n@unique\r\nclass PriceStatus(IntEnum):\r\n    initialized = 0\r\n    notSupported = 1\r\n    fetchSuccess = 2\r\n    fetchFail = 3\r\n    fetchTimeout = 4\r\n\r\n\r\nclass Price:\r\n    def __init__(self, typeID):\r\n        self.typeID = typeID\r\n        self.time = 0\r\n        self.price = 0\r\n        self.status = PriceStatus.initialized\r\n\r\n    def isValid(self, validityOverride=None):\r\n        # Always attempt to update prices which were just initialized, and prices\r\n        # of unsupported items (maybe we start supporting them at some point)\r\n        if self.status in (PriceStatus.initialized, PriceStatus.notSupported):\r\n            return False\r\n        elif self.status == PriceStatus.fetchSuccess:\r\n            return time() <= self.time + (validityOverride if validityOverride is not None else VALIDITY)\r\n        elif self.status == PriceStatus.fetchFail:\r\n            return time() <= self.time + REREQUEST\r\n        elif self.status == PriceStatus.fetchTimeout:\r\n            return time() <= self.time + TIMEOUT\r\n        else:\r\n            return False\r\n\r\n    def update(self, status, price=0):\r\n        # Keep old price if we failed to fetch new one\r\n        if status in (PriceStatus.fetchFail, PriceStatus.fetchTimeout):\r\n            price = self.price\r\n        elif status != PriceStatus.fetchSuccess:\r\n            price = 0\r\n        self.time = time()\r\n        self.price = price\r\n        self.status = status\r\n"
  },
  {
    "path": "eos/saveddata/ship.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom eos.effectHandlerHelpers import HandledItem\r\nfrom eos.modifiedAttributeDict import ModifiedAttributeDict, ItemAttrShortcut, cappingAttrKeyCache\r\nfrom eos.saveddata.mode import Mode\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass Ship(ItemAttrShortcut, HandledItem):\r\n    EXTRA_ATTRIBUTES = {\r\n        \"armorRepair\": 0,\r\n        \"armorRepairPreSpool\": 0,\r\n        \"armorRepairFullSpool\": 0,\r\n        \"hullRepair\": 0,\r\n        \"shieldRepair\": 0,\r\n        \"maxActiveDrones\": 0,\r\n        \"maxTargetsLockedFromSkills\": 2,\r\n        \"droneControlRange\": 20000,\r\n        \"cloaked\": False,\r\n        # We also have speedLimit for Entosis Link, but there seems to be an\r\n        # issue with naming it exactly \"speedLimit\" due to unknown reasons.\r\n        # Regardless, we don't have to put it here anyways - it will come up\r\n        # as None unless the Entosis effect sets it.\r\n    }\r\n\r\n    def __init__(self, item, owner=None):\r\n        self.validate(item)\r\n\r\n        self.__item = item\r\n        self.__modeItems = self.__getModeItems()\r\n        self.__itemModifiedAttributes = ModifiedAttributeDict(parent=self)\r\n        self.__itemModifiedAttributes.original = dict(self.item.attributes)\r\n        self.__itemModifiedAttributes.original.update(self.EXTRA_ATTRIBUTES)\r\n        self.__itemModifiedAttributes.overrides = self.item.overrides\r\n\r\n        if \"maximumRangeCap\" in self.__itemModifiedAttributes.original:\r\n            cappingAttrKeyCache[\"maxTargetRange\"] = \"maximumRangeCap\"\r\n\r\n        self.owner = owner\r\n        self.commandBonus = 0\r\n\r\n    def validate(self, item):\r\n        if item.category.name != \"Ship\":\r\n            pyfalog.error(\"Passed item '{0}' (category: {1}) is not under Ship category\", item.name, item.category.name)\r\n            raise ValueError(\r\n                    'Passed item \"%s\" (category: (%s)) is not under Ship category' % (item.name, item.category.name))\r\n\r\n    @property\r\n    def item(self):\r\n        return self.__item\r\n\r\n    @property\r\n    def name(self):\r\n        # NOTE: add name property\r\n        return self.__item.name\r\n\r\n    @property\r\n    def itemModifiedAttributes(self):\r\n        return self.__itemModifiedAttributes\r\n\r\n    def clear(self):\r\n        self.itemModifiedAttributes.clear()\r\n        self.commandBonus = 0\r\n\r\n    def calculateModifiedAttributes(self, fit, runTime, forceProjected=False):\r\n        if forceProjected:\r\n            return\r\n        for effect in self.item.effects.values():\r\n            if effect.runTime == runTime and \\\r\n                    effect.isType(\"passive\") and \\\r\n                    effect.activeByDefault:\r\n                # Ships have effects that utilize the level of a skill as an\r\n                # additional operator to the modifier. These are defined in\r\n                # the effect itself, and these skillbooks are registered when\r\n                # they are provided. However, we must re-register the ship\r\n                # before each effect, otherwise effects that do not have\r\n                # skillbook modifiers will use the stale modifier value\r\n                # GH issue #351\r\n                fit.register(self)\r\n                effect.handler(fit, self, (\"ship\",), None, effect=effect)\r\n\r\n    def validateModeItem(self, item, owner=None):\r\n        \"\"\" Checks if provided item is a valid mode \"\"\"\r\n        items = self.__modeItems\r\n\r\n        if items is not None:\r\n            # if we have items, then we are in a tactical destroyer and must have a mode\r\n            if item is None or item not in items:\r\n                # If provided item is invalid mode, force new one\r\n                return Mode(items[0], owner=owner)\r\n            return Mode(item)\r\n        return None\r\n\r\n    @property\r\n    def modeItems(self):\r\n        return self.__modeItems\r\n\r\n    @property\r\n    def modes(self):\r\n        return [Mode(item) for item in self.__modeItems] if self.__modeItems else None\r\n\r\n    def __getModeItems(self):\r\n        \"\"\"\r\n        Returns a list of valid mode items for ship. Note that this returns the\r\n        valid Item objects, not the Mode objects. Returns None if not a\r\n        t3 dessy\r\n        \"\"\"\r\n        if self.item.group.name != \"Tactical Destroyer\" and self.item.name != \"Anhinga\":\r\n            return None\r\n\r\n        items = []\r\n        g = eos.db.getGroup(\"Ship Modifiers\", eager=\"items.attributes\")\r\n        for item in g.items:\r\n            # Rely on name detection because race is not reliable\r\n            if item.name.lower().startswith(self.item.name.lower()):\r\n                items.append(item)\r\n\r\n        return items\r\n\r\n    def __deepcopy__(self, memo):\r\n        copy = Ship(self.item)\r\n        return copy\r\n\r\n    def __repr__(self):\r\n        return \"Ship(ID={}, name={}) at {}\".format(\r\n                self.item.ID, self.item.name, hex(id(self))\r\n        )\r\n"
  },
  {
    "path": "eos/saveddata/ssocharacter.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nfrom sqlalchemy.orm import reconstructor\r\nimport datetime\r\nimport time\r\n\r\n# from tomorrow import threads\r\n\r\n\r\nclass SsoCharacter:\r\n    def __init__(self, charID, name, client, server, accessToken=None, refreshToken=None):\r\n        self.characterID = charID\r\n        self.characterName = name\r\n        self.client = client\r\n        self.server = server\r\n        self.accessToken = accessToken\r\n        self.refreshToken = refreshToken\r\n        self.accessTokenExpires = None\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        pass\r\n\r\n    @property\r\n    def characterDisplay(self):\r\n        return \"{} [{}]\".format(self.characterName, self.server)\r\n    def is_token_expired(self):\r\n        if self.accessTokenExpires is None:\r\n            return True\r\n        return datetime.datetime.now() >= self.accessTokenExpires\r\n\r\n    def __repr__(self):\r\n        return \"SsoCharacter(ID={}, name={}, client={}) at {}\".format(\r\n                self.ID, self.characterName, self.client, hex(id(self))\r\n        )\r\n"
  },
  {
    "path": "eos/saveddata/targetProfile.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport math\r\nimport re\r\nfrom collections import OrderedDict\r\n\r\nfrom logbook import Logger\r\nfrom sqlalchemy.orm import reconstructor\r\n\r\nimport eos.db\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\ndef _t(x):\r\n    return x\r\n\r\n\r\ndef _c(x):\r\n    return '[' + x + ']'\r\n\r\n\r\nBUILTINS = OrderedDict([\r\n    # 0 is taken by ideal target profile, composed manually in one of TargetProfile methods\r\n    (-1, (_t('Uniform (25%)'), 0.25, 0.25, 0.25, 0.25)),\r\n    (-2, (_t('Uniform (50%)'), 0.50, 0.50, 0.50, 0.50)),\r\n    (-3, (_t('Uniform (75%)'), 0.75, 0.75, 0.75, 0.75)),\r\n    (-4, (_t('Uniform (90%)'), 0.90, 0.90, 0.90, 0.90)),\r\n    (-5, (_c(_t('T1 Resist')) + _t('Shield'), 0.0, 0.20, 0.40, 0.50)),\r\n    (-6, (_c(_t('T1 Resist')) + _t('Armor'), 0.50, 0.45, 0.25, 0.10)),\r\n    (-7, (_c(_t('T1 Resist')) + _t('Hull'), 0.33, 0.33, 0.33, 0.33)),\r\n    (-8, (_c(_t('T1 Resist')) + _t('Shield (+T2 DCU)'), 0.125, 0.30, 0.475, 0.562)),\r\n    (-9, (_c(_t('T1 Resist')) + _t('Armor (+T2 DCU)'), 0.575, 0.532, 0.363, 0.235)),\r\n    (-10, (_c(_t('T1 Resist')) + _t('Hull (+T2 DCU)'), 0.598, 0.598, 0.598, 0.598)),\r\n    (-11, (_c(_t('T2 Resist')) + _t('Amarr (Shield)'), 0.0, 0.20, 0.70, 0.875)),\r\n    (-12, (_c(_t('T2 Resist')) + _t('Amarr (Armor)'), 0.50, 0.35, 0.625, 0.80)),\r\n    (-13, (_c(_t('T2 Resist')) + _t('Caldari (Shield)'), 0.20, 0.84, 0.76, 0.60)),\r\n    (-14, (_c(_t('T2 Resist')) + _t('Caldari (Armor)'), 0.50, 0.8625, 0.625, 0.10)),\r\n    (-15, (_c(_t('T2 Resist')) + _t('Gallente (Shield)'), 0.0, 0.60, 0.85, 0.50)),\r\n    (-16, (_c(_t('T2 Resist')) + _t('Gallente (Armor)'), 0.50, 0.675, 0.8375, 0.10)),\r\n    (-17, (_c(_t('T2 Resist')) + _t('Minmatar (Shield)'), 0.75, 0.60, 0.40, 0.50)),\r\n    (-18, (_c(_t('T2 Resist')) + _t('Minmatar (Armor)'), 0.90, 0.675, 0.25, 0.10)),\r\n    (-19, (_c(_t('NPC')) + _c(_t('Asteroid')) + _t('Angel Cartel'), 0.54, 0.42, 0.37, 0.32)),\r\n    (-20, (_c(_t('NPC')) + _c(_t('Asteroid')) + _t('Blood Raiders'), 0.34, 0.39, 0.45, 0.52)),\r\n    (-21, (_c(_t('NPC')) + _c(_t('Asteroid')) + _t('Guristas'), 0.55, 0.35, 0.3, 0.48)),\r\n    (-22, (_c(_t('NPC')) + _c(_t('Asteroid')) + _t('Rogue Drones'), 0.35, 0.38, 0.44, 0.49)),\r\n    (-23, (_c(_t('NPC')) + _c(_t('Asteroid')) + _t('Sanshas Nation'), 0.35, 0.4, 0.47, 0.53)),\r\n    (-24, (_c(_t('NPC')) + _c(_t('Asteroid')) + _t('Serpentis'), 0.49, 0.38, 0.29, 0.51)),\r\n    (-25, (_c(_t('NPC')) + _c(_t('Deadspace')) + _t('Angel Cartel'), 0.59, 0.48, 0.4, 0.32)),\r\n    (-26, (_c(_t('NPC')) + _c(_t('Deadspace')) + _t('Blood Raiders'), 0.31, 0.39, 0.47, 0.56)),\r\n    (-27, (_c(_t('NPC')) + _c(_t('Deadspace')) + _t('Guristas'), 0.57, 0.39, 0.31, 0.5)),\r\n    (-28, (_c(_t('NPC')) + _c(_t('Deadspace')) + _t('Rogue Drones'), 0.42, 0.42, 0.47, 0.49)),\r\n    (-29, (_c(_t('NPC')) + _c(_t('Deadspace')) + _t('Sanshas Nation'), 0.31, 0.39, 0.47, 0.56)),\r\n    (-30, (_c(_t('NPC')) + _c(_t('Deadspace')) + _t('Serpentis'), 0.49, 0.38, 0.29, 0.56)),\r\n    (-31, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Amarr Empire'), 0.34, 0.38, 0.42, 0.46)),\r\n    (-32, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Caldari State'), 0.51, 0.38, 0.3, 0.51)),\r\n    (-33, (_c(_t('NPC')) + _c(_t('Mission')) + _t('CONCORD'), 0.47, 0.46, 0.47, 0.47)),\r\n    (-34, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Gallente Federation'), 0.51, 0.38, 0.31, 0.52)),\r\n    (-35, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Khanid'), 0.51, 0.42, 0.36, 0.4)),\r\n    (-36, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Minmatar Republic'), 0.51, 0.46, 0.41, 0.35)),\r\n    (-37, (_c(_t('NPC')) + _c(_t('Mission')) + _t('Mordus Legion'), 0.32, 0.48, 0.4, 0.62)),\r\n    (-38, (_c(_t('NPC')) + _c(_t('Other')) + _t('Sleeper'), 0.61, 0.61, 0.61, 0.61)),\r\n    (-39, (_c(_t('NPC')) + _c(_t('Other')) + _t('Sansha Incursion'), 0.65, 0.63, 0.64, 0.65)),\r\n    # Anomic Team, source: client data dump\r\n    (-40, (_c(_t('NPC')) + _c(_t('Burner')) + _c(_t('Team')) + _t('Enyo'), 0.575, 0.724, 0.862, 0.235, 1020, 37, 39)),\r\n    (-41, (_c(_t('NPC')) + _c(_t('Burner')) + _c(_t('Team')) + _t('Navitas'), 0.681, 0.586, 0.522, 0.49, 870, 30, 35)),\r\n    (-42, (_c(_t('NPC')) + _c(_t('Burner')) + _c(_t('Team')) + _t('Hawk'), 0.3, 0.86, 0.79, 0.65, 1122, 48, 39)),\r\n    (-43, (_c(_t('NPC')) + _c(_t('Burner')) + _c(_t('Team')) + _t('Bantam'), 0.344, 0.475, 0.606, 0.672, 1016, 45, 27)),\r\n    (-44, (_c(_t('NPC')) + _c(_t('Burner')) + _c(_t('Team')) + _t('Jaguar'), 0.781, 0.65, 0.475, 0.563, 1400, 42, 31)),\r\n    (-45, (_c(_t('NPC')) + _c(_t('Burner')) + _c(_t('Team')) + _t('Burst'), 0.344, 0.475, 0.606, 0.672, 1174, 39, 31)),\r\n    (-46, (_c(_t('NPC')) + _c(_t('Burner')) + _c(_t('Team')) + _t('Vengeance'), 0.66, 0.558, 0.745, 0.864, 1050, 37, 40)),\r\n    (-47, (_c(_t('NPC')) + _c(_t('Burner')) + _c(_t('Team')) + _t('Inquisitor'), 0.681, 0.586, 0.522, 0.49, 920, 29, 20.5)),\r\n    # Anomic Agent & Base, source: client data dump\r\n    (-48, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Cruor'), 0.795, 0.734, 0.693, 0.672, 900, 18, 20.5)),\r\n    (-49, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Dramiel'), 0.351, 0.481, 0.611, 0.676, 2100, 11, 25)),\r\n    (-50, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Daredevil'), 0.685, 0.59, 0.59, 0.433, 1200, 18, 25)),\r\n    (-51, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Succubus'), 0.351, 0.481, 0.611, 0.676, 4750, 30, 59)),\r\n    (-52, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Worm'), 0.475, 0.58, 0.685, 0.738, 360, 70, 39)),\r\n    (-53, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Ashimmu'), 0.8, 0.76, 0.68, 0.7, 500, 120, 137)),\r\n    (-54, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Sentinel'), 0.575, 0.448, 0.522, 0.66, 500, 50, 39)),\r\n    (-55, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Talos'), 0.681, 0.586, 0.586, 0.426, 150, 125, 266)),\r\n    (-56, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Dragonfly'), 0.35, 0.72, 0.70, 0.55, 1200, 15, 35)),\r\n    (-57, (_c(_t('NPC')) + _c(_t('Burner')) + _t('Mantis'), 0.60, 0.52, 0.71, 0.71, 900, 25, 35)),\r\n    # Source: ticket #2067\r\n    (-58, (_c(_t('NPC')) + _c(_t('Invasion')) + _t('Triglavian Entities'), 0.422, 0.367, 0.453, 0.411)),\r\n    (-59, (_c(_t('NPC')) + _c(_t('Invasion')) + _t('Amarr EDENCOM Entities'), 0.360, 0.310, 0.441, 0.602)),\r\n    (-60, (_c(_t('NPC')) + _c(_t('Invasion')) + _t('Caldari EDENCOM Entities'), 0.303, 0.610, 0.487, 0.401)),\r\n    (-61, (_c(_t('NPC')) + _c(_t('Invasion')) + _t('Gallente EDENCOM Entities'), 0.383, 0.414, 0.578, 0.513)),\r\n    (-62, (_c(_t('NPC')) + _c(_t('Invasion')) + _t('Minmatar EDENCOM Entities'), 0.620, 0.422, 0.355, 0.399)),\r\n    (-63, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Dark Matter All Tiers')) + _t('Drones'), 0.439, 0.522, 0.529, 0.435)),\r\n    (-64, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Dark Matter All Tiers')) + _t('Overmind'), 0.643, 0.593, 0.624, 0.639)),\r\n    (-65, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Dark Matter All Tiers')) + _t('Seeker'), 0.082, 0.082, 0.082, 0.082)),\r\n    (-66, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Dark Matter All Tiers')) + _t('Triglavian'), 0.494, 0.41, 0.464, 0.376)),\r\n    (-67, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Dark Matter All Tiers')) + _t('Drifter'), 0.415, 0.415, 0.415, 0.415)),\r\n    (-68, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Dark Matter All Tiers')) + _t('Sleeper'), 0.435, 0.435, 0.435, 0.435)),\r\n    (-69, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Dark Matter All Tiers')) + _t('All'), 0.508, 0.474, 0.495, 0.488)),\r\n    (-70, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T0/T1/T2')) + _t('Drones'), 0.323, 0.522, 0.529, 0.435)),\r\n    (-71, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T0/T1/T2')) + _t('Overmind'), 0.542, 0.593, 0.624, 0.639)),\r\n    (-72, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T0/T1/T2')) + _t('Seeker'), 0, 0.082, 0.082, 0.082)),\r\n    (-73, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T0/T1/T2')) + _t('Triglavian'), 0.356, 0.41, 0.464, 0.376)),\r\n    (-74, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T0/T1/T2')) + _t('Drifter'), 0.277, 0.415, 0.415, 0.415)),\r\n    (-75, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T0/T1/T2')) + _t('Sleeper'), 0.329, 0.435, 0.435, 0.435)),\r\n    (-76, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T0/T1/T2')) + _t('All'), 0.381, 0.474, 0.495, 0.488)),\r\n    (-77, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T3 (Some T5 Rooms)')) + _t('Drones'), 0.255, 0.522, 0.529, 0.435)),\r\n    (-78, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T3 (Some T5 Rooms)')) + _t('Overmind'), 0.48, 0.593, 0.624, 0.639)),\r\n    (-79, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T3 (Some T5 Rooms)')) + _t('Seeker'), 0, 0.082, 0.082, 0.0822)),\r\n    (-80, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T3 (Some T5 Rooms)')) + _t('Triglavian'), 0.268, 0.41, 0.464, 0.376)),\r\n    (-81, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T3 (Some T5 Rooms)')) + _t('Drifter'), 0.191, 0.415, 0.415, 0.415)),\r\n    (-82, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T3 (Some T5 Rooms)')) + _t('Sleeper'), 0.268, 0.435, 0.435, 0.435)),\r\n    (-83, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T3 (Some T5 Rooms)')) + _t('All'), 0.308, 0.474, 0.495, 0.488)),\r\n    (-84, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T4/T5/T6')) + _t('Drones'), 0.193, 0.522, 0.529, 0.435)),\r\n    (-85, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T4/T5/T6')) + _t('Overmind'), 0.423, 0.593, 0.624, 0.639)),\r\n    (-86, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T4/T5/T6')) + _t('Seeker'), 0, 0.082, 0.082, 0.082)),\r\n    (-87, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T4/T5/T6')) + _t('Triglavian'), 0.206, 0.41, 0.464, 0.376)),\r\n    (-88, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T4/T5/T6')) + _t('Drifter'), 0.111, 0.415, 0.415, 0.415)),\r\n    (-89, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T4/T5/T6')) + _t('Sleeper'), 0.215, 0.435, 0.435, 0.435)),\r\n    (-90, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T4/T5/T6')) + _t('All'), 0.247, 0.474, 0.495, 0.488)),\r\n    (-91, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T0/T1/T2')) + _t('Drones'), 0.461, 0.425, 0.541, 0.443)),\r\n    (-92, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T0/T1/T2')) + _t('Overmind'), 0.666, 0.489, 0.634, 0.646)),\r\n    (-93, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T0/T1/T2')) + _t('Seeker'), 0.084, 0, 0.084, 0.084)),\r\n    (-94, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T0/T1/T2')) + _t('Triglavian'), 0.537, 0.269, 0.489, 0.371)),\r\n    (-95, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T0/T1/T2')) + _t('Drifter'), 0.43, 0.289, 0.43, 0.43)),\r\n    (-96, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T0/T1/T2')) + _t('Sleeper'), 0.512, 0.402, 0.512, 0.512)),\r\n    (-97, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T0/T1/T2')) + _t('All'), 0.537, 0.352, 0.512, 0.495)),\r\n    (-98, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T3 (Some T5 Rooms)')) + _t('Drones'), 0.461, 0.36, 0.541, 0.443)),\r\n    (-99, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T3 (Some T5 Rooms)')) + _t('Overmind'), 0.666, 0.413, 0.634, 0.646)),\r\n    (-100, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T3 (Some T5 Rooms)')) + _t('Seeker'), 0.084, 0, 0.084, 0.084)),\r\n    (-101, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T3 (Some T5 Rooms)')) + _t('Triglavian'), 0.537, 0.166, 0.489, 0.371)),\r\n    (-102, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T3 (Some T5 Rooms)')) + _t('Drifter'), 0.43, 0.201, 0.43, 0.43)),\r\n    (-103, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T3 (Some T5 Rooms)')) + _t('Sleeper'), 0.512, 0.337, 0.512, 0.512)),\r\n    (-104, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T3 (Some T5 Rooms)')) + _t('All'), 0.537, 0.269, 0.512, 0.495)),\r\n    (-105, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T4/T5/T6')) + _t('Drones'), 0.461, 0.305, 0.541, 0.443)),\r\n    (-106, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T4/T5/T6')) + _t('Overmind'), 0.666, 0.345, 0.634, 0.646)),\r\n    (-107, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T4/T5/T6')) + _t('Seeker'), 0.084, 0, 0.084, 0.084)),\r\n    (-108, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T4/T5/T6')) + _t('Triglavian'), 0.537, 0.085, 0.489, 0.371)),\r\n    (-109, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T4/T5/T6')) + _t('Drifter'), 0.43, 0.117, 0.43, 0.43)),\r\n    (-110, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T4/T5/T6')) + _t('Sleeper'), 0.512, 0.276, 0.512, 0.512)),\r\n    (-111, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T4/T5/T6')) + _t('All'), 0.537, 0.201, 0.512, 0.495)),\r\n    (-112, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T0/T1/T2')) + _t('Drones'), 0.439, 0.522, 0.417, 0.435)),\r\n    (-113, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T0/T1/T2')) + _t('Overmind'), 0.643, 0.593, 0.511, 0.639)),\r\n    (-114, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T0/T1/T2')) + _t('Seeker'), 0.082, 0.082, 0, 0.082)),\r\n    (-115, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T0/T1/T2')) + _t('Triglavian'), 0.494, 0.41, 0.304, 0.376)),\r\n    (-116, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T0/T1/T2')) + _t('Drifter'), 0.415, 0.415, 0.277, 0.415)),\r\n    (-117, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T0/T1/T2')) + _t('Sleeper'), 0.435, 0.435, 0.329, 0.435)),\r\n    (-118, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T0/T1/T2')) + _t('All'), 0.508, 0.474, 0.359, 0.488)),\r\n    (-119, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T3 (Some T5 Rooms)')) + _t('Drones'), 0.439, 0.522, 0.351, 0.435)),\r\n    (-120, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T3 (Some T5 Rooms)')) + _t('Overmind'), 0.643, 0.593, 0.435, 0.639)),\r\n    (-121, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T3 (Some T5 Rooms)')) + _t('Seeker'), 0.082, 0.082, 0, 0.082)),\r\n    (-122, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T3 (Some T5 Rooms)')) + _t('Triglavian'), 0.494, 0.41, 0.198, 0.376)),\r\n    (-123, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T3 (Some T5 Rooms)')) + _t('Drifter'), 0.415, 0.415, 0.191, 0.415)),\r\n    (-124, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T3 (Some T5 Rooms)')) + _t('Sleeper'), 0.435, 0.435, 0.268, 0.435)),\r\n    (-125, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T3 (Some T5 Rooms)')) + _t('All'), 0.508, 0.474, 0.276, 0.488)),\r\n    (-126, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T4/T5/T6')) + _t('Drones'), 0.439, 0.522, 0.293, 0.435)),\r\n    (-127, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T4/T5/T6')) + _t('Overmind'), 0.643, 0.593, 0.362, 0.639)),\r\n    (-128, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T4/T5/T6')) + _t('Seeker'), 0.082, 0.082, 0, 0.082)),\r\n    (-129, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T4/T5/T6')) + _t('Triglavian'), 0.494, 0.41, 0.122, 0.376)),\r\n    (-130, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T4/T5/T6')) + _t('Drifter'), 0.415, 0.415, 0.111, 0.415)),\r\n    (-131, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T4/T5/T6')) + _t('Sleeper'), 0.435, 0.435, 0.215, 0.435)),\r\n    (-132, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T4/T5/T6')) + _t('All'), 0.508, 0.474, 0.208, 0.488)),\r\n    (-133, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T0/T1/T2')) + _t('Drones'), 0.449, 0.54, 0.549, 0.336)),\r\n    (-134, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T0/T1/T2')) + _t('Overmind'), 0.619, 0.574, 0.612, 0.522)),\r\n    (-135, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T0/T1/T2')) + _t('Seeker'), 0.085, 0.085, 0.085, 0)),\r\n    (-136, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T0/T1/T2')) + _t('Triglavian'), 0.477, 0.4, 0.461, 0.202)),\r\n    (-137, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T0/T1/T2')) + _t('Drifter'), 0.437, 0.437, 0.437, 0.295)),\r\n    (-138, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T0/T1/T2')) + _t('Sleeper'), 0.435, 0.435, 0.435, 0.329)),\r\n    (-139, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T0/T1/T2')) + _t('All'), 0.493, 0.468, 0.492, 0.35)),\r\n    (-140, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T3 (Some T5 Rooms)')) + _t('Drones'), 0.449, 0.54, 0.549, 0.264)),\r\n    (-141, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T3 (Some T5 Rooms)')) + _t('Overmind'), 0.619, 0.574, 0.612, 0.449)),\r\n    (-142, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T3 (Some T5 Rooms)')) + _t('Seeker'), 0.085, 0.085, 0.085, 0)),\r\n    (-143, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T3 (Some T5 Rooms)')) + _t('Triglavian'), 0.477, 0.4, 0.461, 0.081)),\r\n    (-144, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T3 (Some T5 Rooms)')) + _t('Drifter'), 0.437, 0.437, 0.437, 0.206)),\r\n    (-145, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T3 (Some T5 Rooms)')) + _t('Sleeper'), 0.435, 0.435, 0.435, 0.268)),\r\n    (-146, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T3 (Some T5 Rooms)')) + _t('All'), 0.493, 0.468, 0.492, 0.264)),\r\n    (-147, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T4/T5/T6')) + _t('Drones'), 0.449, 0.54, 0.549, 0.197)),\r\n    (-148, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T4/T5/T6')) + _t('Overmind'), 0.619, 0.574, 0.612, 0.379)),\r\n    (-149, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T4/T5/T6')) + _t('Seeker'), 0.085, 0.085, 0.085, 0)),\r\n    (-150, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T4/T5/T6')) + _t('Triglavian'), 0.477, 0.4, 0.461, 0.034)),\r\n    (-151, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T4/T5/T6')) + _t('Drifter'), 0.437, 0.437, 0.437, 0.121)),\r\n    (-152, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T4/T5/T6')) + _t('Sleeper'), 0.435, 0.435, 0.435, 0.215)),\r\n    (-153, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T4/T5/T6')) + _t('All'), 0.493, 0.468, 0.492, 0.196)),\r\n    # Source: ticket #2265\r\n    (-154, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Dark Matter All Tiers')) + _t('Concord'), 0.324, 0.318, 0.369, 0.372)),\r\n    (-155, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Dark Matter All Tiers')) + _t('Sansha'), 0.137, 0.331, 0.332, 0.322)),\r\n    (-156, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Dark Matter All Tiers')) + _t('Angel'), 0.582, 0.508, 0.457, 0.416)),\r\n    (-157, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T0/T1/T2')) + _t('Concord'), 0.121, 0.318, 0.369, 0.372)),\r\n    (-158, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T0/T1/T2')) + _t('Sansha'), 0.034, 0.331, 0.332, 0.322)),\r\n    (-159, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T0/T1/T2')) + _t('Angel'), 0.456, 0.508, 0.457, 0.416)),\r\n    (-160, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T3 (Some T5 Rooms)')) + _t('Concord'), 0.025, 0.318, 0.369, 0.372)),\r\n    (-161, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T3 (Some T5 Rooms)')) + _t('Sansha'), 0.018, 0.331, 0.332, 0.322)),\r\n    (-162, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T3 (Some T5 Rooms)')) + _t('Angel'), 0.373, 0.508, 0.457, 0.416)),\r\n    (-163, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T4/T5/T6')) + _t('Concord'), 0.008, 0.318, 0.369, 0.372)),\r\n    (-164, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T4/T5/T6')) + _t('Sansha'), 0.009, 0.331, 0.332, 0.322)),\r\n    (-165, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Electrical T4/T5/T6')) + _t('Angel'), 0.3, 0.508, 0.457, 0.416)),\r\n    (-166, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T0/T1/T2')) + _t('Concord'), 0.324, 0.107, 0.369, 0.372)),\r\n    (-167, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T0/T1/T2')) + _t('Sansha'), 0.148, 0.181, 0.329, 0.328)),\r\n    (-168, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T0/T1/T2')) + _t('Angel'), 0.587, 0.342, 0.439, 0.39)),\r\n    (-169, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T3 (Some T5 Rooms)')) + _t('Concord'), 0.324, 0.016, 0.369, 0.372)),\r\n    (-170, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T3 (Some T5 Rooms)')) + _t('Sansha'), 0.148, 0.14, 0.329, 0.328)),\r\n    (-171, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T3 (Some T5 Rooms)')) + _t('Angel'), 0.587, 0.241, 0.439, 0.39)),\r\n    (-172, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T4/T5/T6')) + _t('Concord'), 0.324, 0.004, 0.369, 0.372)),\r\n    (-173, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T4/T5/T6')) + _t('Sansha'), 0.148, 0.106, 0.329, 0.328)),\r\n    (-174, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Firestorm T4/T5/T6')) + _t('Angel'), 0.587, 0.172, 0.439, 0.39)),\r\n    (-175, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T0/T1/T2')) + _t('Concord'), 0.324, 0.318, 0.18, 0.372)),\r\n    (-176, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T0/T1/T2')) + _t('Sansha'), 0.137, 0.331, 0.166, 0.322)),\r\n    (-177, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T0/T1/T2')) + _t('Angel'), 0.582, 0.508, 0.295, 0.416)),\r\n    (-178, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T3 (Some T5 Rooms)')) + _t('Concord'), 0.324, 0.318, 0.089, 0.372)),\r\n    (-179, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T3 (Some T5 Rooms)')) + _t('Sansha'), 0.137, 0.331, 0.108, 0.322)),\r\n    (-180, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T3 (Some T5 Rooms)')) + _t('Angel'), 0.582, 0.508, 0.203, 0.416)),\r\n    (-181, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T4/T5/T6')) + _t('Concord'), 0.324, 0.318, 0.068, 0.372)),\r\n    (-182, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T4/T5/T6')) + _t('Sansha'), 0.137, 0.331, 0.073, 0.322)),\r\n    (-183, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Exotic T4/T5/T6')) + _t('Angel'), 0.582, 0.508, 0.14, 0.416)),\r\n    (-184, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T0/T1/T2')) + _t('Concord'), 0.324, 0.318, 0.369, 0.203)),\r\n    (-185, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T0/T1/T2')) + _t('Sansha'), 0.137, 0.355, 0.352, 0.16)),\r\n    (-186, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T0/T1/T2')) + _t('Angel'), 0.59, 0.528, 0.477, 0.286)),\r\n    (-187, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T3 (Some T5 Rooms)')) + _t('Concord'), 0.324, 0.318, 0.369, 0.112)),\r\n    (-188, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T3 (Some T5 Rooms)')) + _t('Sansha'), 0.137, 0.355, 0.352, 0.05)),\r\n    (-189, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T3 (Some T5 Rooms)')) + _t('Angel'), 0.59, 0.528, 0.477, 0.197)),\r\n    (-190, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T4/T5/T6')) + _t('Concord'), 0.324, 0.318, 0.369, 0.086)),\r\n    (-191, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T4/T5/T6')) + _t('Sansha'), 0.137, 0.355, 0.352, 0)),\r\n    (-192, (_c(_t('NPC')) + _c(_t('Abyssal')) + _c(_t('Gamma T4/T5/T6')) + _t('Angel'), 0.59, 0.528, 0.477, 0.126)),\r\n    (-193, (_c(_t('NPC')) + _c(_t('Invasion')) + _t('Drifter Entities'), 0.128, 0.375, 0.383, 0.383)),\r\n    (-194, (_c(_t('NPC')) + _c(_t('Invasion')) + _t('Rogue Drone Entities'), 0.104, 0.147, 0.147, 0.102)),\r\n    (-195, (_c(_t('NPC')) + _c(_t('Invasion')) + _t('Sleeper Entities'), 0.563, 0.563, 0.563, 0.563))])\r\n\r\n\r\nclass TargetProfile:\r\n    # also determined import/export order - VERY IMPORTANT\r\n    DAMAGE_TYPES = ('em', 'thermal', 'kinetic', 'explosive')\r\n    _idealTarget = None\r\n    _builtins = None\r\n\r\n    def __init__(self, *args, **kwargs):\r\n        self.builtin = False\r\n        self.update(*args, **kwargs)\r\n\r\n    @reconstructor\r\n    def init(self):\r\n        self.builtin = False\r\n\r\n    def update(self, emAmount=0, thermalAmount=0, kineticAmount=0, explosiveAmount=0, maxVelocity=None, signatureRadius=None, radius=None, hp=None):\r\n        self.emAmount = emAmount\r\n        self.thermalAmount = thermalAmount\r\n        self.kineticAmount = kineticAmount\r\n        self.explosiveAmount = explosiveAmount\r\n        self._maxVelocity = maxVelocity\r\n        self._signatureRadius = signatureRadius\r\n        self._radius = radius\r\n        self._hp = hp\r\n\r\n    @classmethod\r\n    def getBuiltinList(cls):\r\n        if cls._builtins is None:\r\n            cls.__generateBuiltins()\r\n        return list(cls._builtins.values())\r\n\r\n    @classmethod\r\n    def getBuiltinById(cls, id):\r\n        if cls._builtins is None:\r\n            cls.__generateBuiltins()\r\n        return cls._builtins.get(id)\r\n\r\n    @classmethod\r\n    def __generateBuiltins(cls):\r\n        cls._builtins = OrderedDict()\r\n        for id, data in BUILTINS.items():\r\n            rawName = data[0]\r\n            data = data[1:]\r\n            profile = TargetProfile(*data)\r\n            profile.ID = id\r\n            profile.rawName = rawName\r\n            profile.builtin = True\r\n            cls._builtins[id] = profile\r\n\r\n    @classmethod\r\n    def getIdeal(cls):\r\n        if cls._idealTarget is None:\r\n            cls._idealTarget = cls(\r\n                    emAmount=0,\r\n                    thermalAmount=0,\r\n                    kineticAmount=0,\r\n                    explosiveAmount=0,\r\n                    maxVelocity=0,\r\n                    signatureRadius=None,\r\n                    radius=0)\r\n            cls._idealTarget.rawName = _t('Ideal Target')\r\n            cls._idealTarget.ID = 0\r\n            cls._idealTarget.builtin = True\r\n        return cls._idealTarget\r\n\r\n    @property\r\n    def maxVelocity(self):\r\n        return self._maxVelocity or 0\r\n\r\n    @maxVelocity.setter\r\n    def maxVelocity(self, val):\r\n        self._maxVelocity = val\r\n\r\n    @property\r\n    def signatureRadius(self):\r\n        if self._signatureRadius is None or self._signatureRadius == -1:\r\n            return math.inf\r\n        return self._signatureRadius\r\n\r\n    @signatureRadius.setter\r\n    def signatureRadius(self, val):\r\n        if val is not None and math.isinf(val):\r\n            val = None\r\n        self._signatureRadius = val\r\n\r\n    @property\r\n    def radius(self):\r\n        return self._radius or 0\r\n\r\n    @radius.setter\r\n    def radius(self, val):\r\n        self._radius = val\r\n\r\n    @property\r\n    def hp(self):\r\n        if self._hp is None or self._hp == -1:\r\n            return math.inf\r\n        return self._hp\r\n\r\n    @hp.setter\r\n    def hp(self, val):\r\n        if val is not None and math.isinf(val):\r\n            val = None\r\n        self._hp = val\r\n\r\n    @classmethod\r\n    def importPatterns(cls, text):\r\n        lines = re.split('[\\n\\r]+', text)\r\n        patterns = []\r\n        numPatterns = 0\r\n\r\n        # When we import damage profiles, we create new ones and update old ones. To do this, get a list of current\r\n        # patterns to allow lookup\r\n        lookup = {}\r\n        current = eos.db.getTargetProfileList()\r\n        for pattern in current:\r\n            lookup[pattern.rawName] = pattern\r\n\r\n        for line in lines:\r\n            try:\r\n                if line.strip()[0] == \"#\":  # comments\r\n                    continue\r\n                line = line.split('#', 1)[0]  # allows for comments\r\n                type, data = line.rsplit('=', 1)\r\n                type, data = type.strip(), [d.strip() for d in data.split(',')]\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except:\r\n                pyfalog.warning(\"Data isn't in correct format, continue to next line.\")\r\n                continue\r\n\r\n            if type not in (\"TargetProfile\", \"TargetResists\"):\r\n                continue\r\n\r\n            numPatterns += 1\r\n            name, dataRes, dataMisc = data[0], data[1:5], data[5:8]\r\n            fields = {}\r\n\r\n            for index, val in enumerate(dataRes):\r\n                val = float(val) if val else 0\r\n                if math.isinf(val):\r\n                    val = 0\r\n                try:\r\n                    assert 0 <= val <= 100\r\n                    fields[\"%sAmount\" % cls.DAMAGE_TYPES[index]] = val / 100\r\n                except (KeyboardInterrupt, SystemExit):\r\n                    raise\r\n                except:\r\n                    pyfalog.warning(\"Caught unhandled exception in import patterns.\")\r\n                    continue\r\n\r\n            if len(dataMisc) == 3:\r\n                for index, val in enumerate(dataMisc):\r\n                    try:\r\n                        fieldName = (\"maxVelocity\", \"signatureRadius\", \"radius\")[index]\r\n                    except IndexError:\r\n                        break\r\n                    val = float(val) if val else 0\r\n                    if fieldName != \"signatureRadius\" and math.isinf(val):\r\n                        val = 0\r\n                    fields[fieldName] = val\r\n\r\n            if len(fields) in (4, 7):  # Avoid possible blank lines\r\n                if name.strip() in lookup:\r\n                    pattern = lookup[name.strip()]\r\n                    pattern.update(**fields)\r\n                    eos.db.save(pattern)\r\n                else:\r\n                    pattern = TargetProfile(**fields)\r\n                    pattern.rawName = name.strip()\r\n                    eos.db.save(pattern)\r\n                patterns.append(pattern)\r\n\r\n        eos.db.commit()\r\n\r\n        return patterns, numPatterns\r\n\r\n    EXPORT_FORMAT = \"TargetProfile = %s,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f\\n\"\r\n\r\n    @classmethod\r\n    def exportPatterns(cls, *patterns):\r\n        out = \"# Exported from pyfa\\n#\\n\"\r\n        out += \"# Values are in following format:\\n\"\r\n        out += \"# TargetProfile = [name],[EM %],[Thermal %],[Kinetic %],[Explosive %],[Max velocity m/s],[Signature radius m],[Radius m]\\n\\n\"\r\n        for dp in patterns:\r\n            out += cls.EXPORT_FORMAT % (\r\n                dp.rawName,\r\n                dp.emAmount * 100,\r\n                dp.thermalAmount * 100,\r\n                dp.kineticAmount * 100,\r\n                dp.explosiveAmount * 100,\r\n                dp.maxVelocity,\r\n                dp.signatureRadius,\r\n                dp.radius\r\n            )\r\n\r\n        return out.strip()\r\n\r\n    @property\r\n    def name(self):\r\n        return self.rawName\r\n\r\n    @property\r\n    def fullName(self):\r\n        categories, tail = self.__parseRawName()\r\n        return '{}{}'.format(''.join('[{}]'.format(c) for c in categories), tail)\r\n\r\n    @property\r\n    def shortName(self):\r\n        return self.__parseRawName()[1]\r\n\r\n    @property\r\n    def hierarchy(self):\r\n        return self.__parseRawName()[0]\r\n\r\n    def __parseRawName(self):\r\n        hierarchy = []\r\n        remainingName = self.rawName.strip() if self.rawName else ''\r\n        while True:\r\n            start, end = remainingName.find('['), remainingName.find(']')\r\n            if start == -1 or end == -1:\r\n                return hierarchy, remainingName\r\n            splitter = remainingName.find('|')\r\n            if splitter != -1 and splitter == start - 1:\r\n                return hierarchy, remainingName[1:]\r\n            hierarchy.append(remainingName[start + 1:end])\r\n            remainingName = remainingName[end + 1:].strip()\r\n\r\n    def __deepcopy__(self, memo):\r\n        p = TargetProfile(\r\n                self.emAmount, self.thermalAmount, self.kineticAmount, self.explosiveAmount,\r\n                self._maxVelocity, self._signatureRadius, self._radius)\r\n        p.rawName = \"%s copy\" % self.rawName\r\n        return p\r\n"
  },
  {
    "path": "eos/saveddata/user.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport hashlib\r\nimport random\r\nimport string\r\n\r\nfrom sqlalchemy.orm import validates\r\n\r\n\r\nclass User:\r\n    def __init__(self, username, password=None, admin=False):\r\n        self.username = username\r\n        if password is not None:\r\n            self.encodeAndSetPassword(password)\r\n        self.admin = admin\r\n\r\n    def encodeAndSetPassword(self, pw):\r\n        h = hashlib.new(\"sha256\")\r\n        salt = \"\".join([random.choice(string.letters) for _ in range(32)])\r\n        h.update(pw)\r\n        h.update(salt)\r\n        self.password = (\"%s%s\" % (h.hexdigest(), salt))\r\n\r\n    def isPasswordValid(self, pw):\r\n        if self.password is None:\r\n            return False\r\n        salt = self.password[-32:]\r\n        h = hashlib.new(\"sha256\")\r\n        h.update(pw)\r\n        h.update(salt)\r\n        return self.password == (\"%s%s\" % (h.hexdigest(), salt))\r\n\r\n    @validates(\"ID\", \"username\", \"password\", \"admin\")\r\n    def validator(self, key, val):\r\n        map = {\r\n            \"ID\"      : lambda _val: isinstance(_val, int),\r\n            \"username\": lambda _val: isinstance(_val, str),\r\n            \"password\": lambda _val: isinstance(_val, str) and len(_val) == 96,\r\n            \"admin\"   : lambda _val: isinstance(_val, bool)\r\n        }\r\n\r\n        if not map[key](val):\r\n            raise ValueError(str(val) + \" is not a valid value for \" + key)\r\n        else:\r\n            return val\r\n"
  },
  {
    "path": "eos/utils/__init__.py",
    "content": ""
  },
  {
    "path": "eos/utils/cycles.py",
    "content": "# Borrowed from new eos\r\n\r\n\r\nfrom utils.repr import makeReprStr\r\n\r\n\r\nclass CycleInfo:\r\n\r\n    def __init__(self, activeTime, inactiveTime, quantity, isInactivityReload):\r\n        self.activeTime = activeTime\r\n        self.inactiveTime = inactiveTime\r\n        self.quantity = quantity\r\n        self.isInactivityReload = isInactivityReload\r\n\r\n    @property\r\n    def averageTime(self):\r\n        return self.activeTime + self.inactiveTime\r\n\r\n    def iterCycles(self):\r\n        i = 0\r\n        while i < self.quantity:\r\n            yield self.activeTime, self.inactiveTime, self.isInactivityReload\r\n            i += 1\r\n\r\n    def _getCycleQuantity(self):\r\n        return self.quantity\r\n\r\n    def _getTime(self):\r\n        return (self.activeTime + self.inactiveTime) * self.quantity\r\n\r\n    def __repr__(self):\r\n        spec = ['activeTime', 'inactiveTime', 'quantity', 'isInactivityReload']\r\n        return makeReprStr(self, spec)\r\n\r\n\r\nclass CycleSequence:\r\n\r\n    def __init__(self, sequence, quantity):\r\n        self.sequence = sequence\r\n        self.quantity = quantity\r\n\r\n    @property\r\n    def averageTime(self):\r\n        \"\"\"Get average time between cycles.\"\"\"\r\n        return self._getTime() / self._getCycleQuantity()\r\n\r\n    def iterCycles(self):\r\n        i = 0\r\n        while i < self.quantity:\r\n            for cycleInfo in self.sequence:\r\n                for cycleTime, inactiveTime, isInactivityReload in cycleInfo.iterCycles():\r\n                    yield cycleTime, inactiveTime, isInactivityReload\r\n            i += 1\r\n\r\n    def _getCycleQuantity(self):\r\n        quantity = 0\r\n        for item in self.sequence:\r\n            quantity += item._getCycleQuantity()\r\n        return quantity\r\n\r\n    def _getTime(self):\r\n        time = 0\r\n        for item in self.sequence:\r\n            time += item._getTime()\r\n        return time\r\n\r\n    def __repr__(self):\r\n        spec = ['sequence', 'quantity']\r\n        return makeReprStr(self, spec)\r\n"
  },
  {
    "path": "eos/utils/default.py",
    "content": "class DEFAULT:\r\n    \"\"\"Singleton class to signify default argument value.\"\"\"\r\n    pass\r\n"
  },
  {
    "path": "eos/utils/float.py",
    "content": "\"\"\"\r\nSometimes use of floats may lead to undesirable results, e.g.\r\n  int(2.3 / 0.1) = 22.\r\nWe cannot afford to use different number representations (e.g. representations\r\nprovided by decimal or fraction modules), thus consequences are worked around by\r\nthis module.\r\n\"\"\"\r\n\r\nimport math\r\nimport sys\r\n\r\n\r\n# As we will be rounding numbers after operations (which introduce higher error\r\n# than base float representation error), we need to keep less significant\r\n# numbers than for single float number w/o operations\r\nkeepDigits = int(sys.float_info.dig / 2)\r\n\r\n\r\ndef floatUnerr(value):\r\n    \"\"\"Round possible float number error, killing some precision in process.\"\"\"\r\n    if value in (0, math.inf):\r\n        return value\r\n    # Find round factor, taking into consideration that we want to keep at least\r\n    # predefined amount of significant digits\r\n    roundFactor = int(keepDigits - math.ceil(math.log10(abs(value))))\r\n    return round(value, roundFactor)\r\n"
  },
  {
    "path": "eos/utils/pyinst_support.py",
    "content": "\"\"\"\r\nSlightly modified version of function taken from here:\r\nhttps://github.com/pyinstaller/pyinstaller/issues/1905#issuecomment-525221546\r\n\"\"\"\r\n\r\n\r\nimport pkgutil\r\n\r\n\r\ndef iterNamespace(name, path):\r\n    \"\"\"Pyinstaller-compatible namespace iteration.\r\n\r\n    Yields the name of all modules found at a given Fully-qualified path.\r\n\r\n    To have it running with pyinstaller, it requires to ensure a hook inject the\r\n    \"hidden\" modules from your plugins folder inside the executable:\r\n\r\n    - if your plugins are under the ``myappname/pluginfolder`` module\r\n    - create a file ``specs/hook-<myappname.pluginfolder>.py``\r\n    - content of this file should be:\r\n\r\n        .. code-block:: python\r\n\r\n            from PyInstaller.utils.hooks import collect_submodules\r\n            hiddenimports = collect_submodules('<myappname.pluginfolder>')\r\n    \"\"\"\r\n    prefix = name + \".\"\r\n    for p in pkgutil.iter_modules(path, prefix):\r\n        yield p[1]\r\n\r\n    # special handling when the package is bundled with PyInstaller 3.5\r\n    # See https://github.com/pyinstaller/pyinstaller/issues/1905#issuecomment-445787510\r\n    toc = set()\r\n    for importer in pkgutil.iter_importers(name.partition(\".\")[0]):\r\n        if hasattr(importer, 'toc'):\r\n            toc |= importer.toc\r\n    for name in toc:\r\n        if name.startswith(prefix):\r\n            yield name\r\n"
  },
  {
    "path": "eos/utils/round.py",
    "content": "import math\r\n\r\n\r\ndef roundToPrec(val, prec, nsValue=None):\r\n    \"\"\"\r\n    nsValue: custom value which should be used to determine normalization shift\r\n    \"\"\"\r\n    # We're not rounding integers anyway\r\n    # Also make sure that we do not ask to calculate logarithm of zero\r\n    if int(val) == val:\r\n        return int(val)\r\n    roundFactor = int(prec - math.floor(math.log10(abs(val if nsValue is None else nsValue))) - 1)\r\n    # But we don't want to round integers\r\n    if roundFactor < 0:\r\n        roundFactor = 0\r\n    # Do actual rounding\r\n    val = round(val, roundFactor)\r\n    # Make sure numbers with .0 part designating float don't get through\r\n    if int(val) == val:\r\n        val = int(val)\r\n    return val\r\n\r\n\r\ndef roundDec(val, prec):\r\n    if int(val) == val:\r\n        return int(val)\r\n    return round(val, prec)\r\n"
  },
  {
    "path": "eos/utils/spoolSupport.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\n\r\nimport math\r\nfrom collections import namedtuple\r\n\r\nfrom eos.const import SpoolType\r\nfrom eos.utils.float import floatUnerr\r\n\r\n\r\nSpoolOptions = namedtuple('SpoolOptions', ('spoolType', 'spoolAmount', 'force'))\r\n\r\n\r\ndef calculateSpoolup(modMaxValue, modStepValue, modCycleTime, spoolType, spoolAmount):\r\n    \"\"\"\r\n    Calculate damage multiplier increment based on passed parameters. Module cycle time\r\n    is specified in seconds.\r\n\r\n    Returns spoolup value, amount of cycles to reach it and time to reach it.\r\n    \"\"\"\r\n    if not modMaxValue or not modStepValue:\r\n        return 0, 0, 0\r\n    if spoolType == SpoolType.SPOOL_SCALE:\r\n        # Find out at which point of spoolup scale we're on, find out how many cycles\r\n        # is enough to reach it and recalculate spoolup value for that amount of cycles\r\n        cycles = math.ceil(floatUnerr(modMaxValue * spoolAmount / modStepValue))\r\n        spoolValue = min(modMaxValue, cycles * modStepValue)\r\n        return spoolValue, cycles, cycles * modCycleTime\r\n    elif spoolType == SpoolType.CYCLE_SCALE:\r\n        # For cycle scale, find out max amount of cycles and scale against it\r\n        cycles = round(spoolAmount * math.ceil(floatUnerr(modMaxValue / modStepValue)))\r\n        spoolValue = min(modMaxValue, cycles * modStepValue)\r\n        return spoolValue, cycles, cycles * modCycleTime\r\n    elif spoolType == SpoolType.TIME:\r\n        cycles = min(\r\n            # How many full cycles mod had by passed time\r\n            math.floor(floatUnerr(spoolAmount / modCycleTime)),\r\n            # Max amount of cycles\r\n            math.ceil(floatUnerr(modMaxValue / modStepValue)))\r\n        spoolValue = min(modMaxValue, cycles * modStepValue)\r\n        return spoolValue, cycles, cycles * modCycleTime\r\n    elif spoolType == SpoolType.CYCLES:\r\n        cycles = min(\r\n            # Consider full cycles only\r\n            math.floor(spoolAmount),\r\n            # Max amount of cycles\r\n            math.ceil(floatUnerr(modMaxValue / modStepValue)))\r\n        spoolValue = min(modMaxValue, cycles * modStepValue)\r\n        return spoolValue, cycles, cycles * modCycleTime\r\n    else:\r\n        return 0, 0, 0\r\n\r\n\r\ndef resolveSpoolOptions(spoolOptions, module):\r\n    # Rely on passed options if they are forcing us to do so\r\n    if spoolOptions is not None and spoolOptions.force:\r\n        return spoolOptions.spoolType, spoolOptions.spoolAmount\r\n    # If we're not forced to use options and module has options set, prefer on-module values\r\n    elif module is not None and module.spoolType is not None:\r\n        return module.spoolType, module.spoolAmount\r\n    # Otherwise - rely on passed options\r\n    elif spoolOptions is not None:\r\n        return spoolOptions.spoolType, spoolOptions.spoolAmount\r\n    else:\r\n        return None, None\r\n"
  },
  {
    "path": "eos/utils/stats.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\n\r\nimport math\r\nfrom collections import defaultdict\r\n\r\nfrom eos.utils.float import floatUnerr\r\nfrom utils.repr import makeReprStr\r\n\r\n\r\ndef _t(x):\r\n    return x\r\n\r\n\r\nclass BreacherInfo:\r\n\r\n    def __init__(self, absolute, relative):\r\n        self.absolute = absolute\r\n        self.relative = relative\r\n\r\n    def __mul__(self, mul):\r\n        return type(self)(absolute=self.absolute * mul, relative=self.relative * mul)\r\n\r\n    def __imul__(self, mul):\r\n        if mul == 1:\r\n            return self\r\n        self.absolute *= mul\r\n        self.relative *= mul\r\n        return self\r\n\r\n    def __truediv__(self, div):\r\n        return type(self)(absolute=self.absolute / div, relative=self.relative / div)\r\n\r\n\r\nclass DmgTypes:\r\n    \"\"\"\r\n    Container for volley stats, which stores breacher pod data\r\n    in raw form, before application of it to target profile.\r\n    \"\"\"\r\n\r\n    def __init__(self, em, thermal, kinetic, explosive):\r\n        self._em = em\r\n        self._thermal = thermal\r\n        self._kinetic = kinetic\r\n        self._explosive = explosive\r\n        self._breachers = defaultdict(lambda: [])\r\n        self.__profile = None\r\n        # Cached data\r\n        self.__cached_em = None\r\n        self.__cached_thermal = None\r\n        self.__cached_kinetic = None\r\n        self.__cached_explosive = None\r\n        self.__cached_pure = None\r\n        self.__cached_total = None\r\n\r\n    @classmethod\r\n    def default(cls):\r\n        return cls(0, 0, 0, 0)\r\n\r\n    def _clear_cached(self):\r\n        self.__cached_em = None\r\n        self.__cached_thermal = None\r\n        self.__cached_kinetic = None\r\n        self.__cached_explosive = None\r\n        self.__cached_pure = None\r\n        self.__cached_total = None\r\n\r\n    def add_breacher(self, key, data):\r\n        self._breachers[key].append(data)\r\n\r\n    @property\r\n    def profile(self):\r\n        return self.__profile\r\n\r\n    @profile.setter\r\n    def profile(self, profile):\r\n        self.__profile = profile\r\n        self._clear_cached()\r\n\r\n    @property\r\n    def em(self):\r\n        if self.__cached_em is not None:\r\n            return self.__cached_em\r\n        dmg = self._em\r\n        if self.profile is not None:\r\n            dmg *= 1 - getattr(self.profile, \"emAmount\", 0)\r\n        self.__cached_em = dmg\r\n        return dmg\r\n\r\n    @property\r\n    def thermal(self):\r\n        if self.__cached_thermal is not None:\r\n            return self.__cached_thermal\r\n        dmg = self._thermal\r\n        if self.profile is not None:\r\n            dmg *= 1 - getattr(self.profile, \"thermalAmount\", 0)\r\n        self.__cached_thermal = dmg\r\n        return dmg\r\n\r\n    @property\r\n    def kinetic(self):\r\n        if self.__cached_kinetic is not None:\r\n            return self.__cached_kinetic\r\n        dmg = self._kinetic\r\n        if self.profile is not None:\r\n            dmg *= 1 - getattr(self.profile, \"kineticAmount\", 0)\r\n        self.__cached_kinetic = dmg\r\n        return dmg\r\n\r\n    @property\r\n    def explosive(self):\r\n        if self.__cached_explosive is not None:\r\n            return self.__cached_explosive\r\n        dmg = self._explosive\r\n        if self.profile is not None:\r\n            dmg *= 1 - getattr(self.profile, \"explosiveAmount\", 0)\r\n        self.__cached_explosive = dmg\r\n        return dmg\r\n\r\n    @property\r\n    def pure(self):\r\n        if self.__cached_pure is not None:\r\n            return self.__cached_pure\r\n        if self.profile is None:\r\n            dmg = sum(\r\n                max((b.absolute for b in bs), default=0)\r\n                for bs in self._breachers.values())\r\n        else:\r\n            dmg = sum(\r\n                max((min(b.absolute, b.relative * getattr(self.profile, \"hp\", math.inf)) for b in bs), default=0)\r\n                for bs in self._breachers.values())\r\n        self.__cached_pure = dmg\r\n        return dmg\r\n\r\n    @property\r\n    def total(self):\r\n        if self.__cached_total is not None:\r\n            return self.__cached_total\r\n        dmg = self.em + self.thermal + self.kinetic + self.explosive + self.pure\r\n        self.__cached_total = dmg\r\n        return dmg\r\n\r\n    # Iterator is needed to support tuple-style unpacking\r\n    def __iter__(self):\r\n        yield self.em\r\n        yield self.thermal\r\n        yield self.kinetic\r\n        yield self.explosive\r\n        yield self.pure\r\n        yield self.total\r\n\r\n    def __eq__(self, other):\r\n        if not isinstance(other, DmgTypes):\r\n            return NotImplemented\r\n        # Round for comparison's sake because often damage profiles are\r\n        # generated from data which includes float errors\r\n        return (\r\n                floatUnerr(self._em) == floatUnerr(other._em) and\r\n                floatUnerr(self._thermal) == floatUnerr(other._thermal) and\r\n                floatUnerr(self._kinetic) == floatUnerr(other._kinetic) and\r\n                floatUnerr(self._explosive) == floatUnerr(other._explosive) and\r\n                sorted(self._breachers) == sorted(other._breachers) and\r\n                self.profile == other.profile)\r\n\r\n    def __add__(self, other):\r\n        new = type(self)(\r\n            em=self._em + other._em,\r\n            thermal=self._thermal + other._thermal,\r\n            kinetic=self._kinetic + other._kinetic,\r\n            explosive=self._explosive + other._explosive)\r\n        new.profile = self.profile\r\n        for k, v in self._breachers.items():\r\n            new._breachers[k].extend(v)\r\n        for k, v in other._breachers.items():\r\n            new._breachers[k].extend(v)\r\n        return new\r\n\r\n    def __iadd__(self, other):\r\n        self._em += other._em\r\n        self._thermal += other._thermal\r\n        self._kinetic += other._kinetic\r\n        self._explosive += other._explosive\r\n        for k, v in other._breachers.items():\r\n            self._breachers[k].extend(v)\r\n        self._clear_cached()\r\n        return self\r\n\r\n    def __mul__(self, mul):\r\n        new = type(self)(\r\n            em=self._em * mul,\r\n            thermal=self._thermal * mul,\r\n            kinetic=self._kinetic * mul,\r\n            explosive=self._explosive * mul)\r\n        new.profile = self.profile\r\n        for k, v in self._breachers.items():\r\n            new._breachers[k] = [b * mul for b in v]\r\n        return new\r\n\r\n    def __imul__(self, mul):\r\n        if mul == 1:\r\n            return self\r\n        self._em *= mul\r\n        self._thermal *= mul\r\n        self._kinetic *= mul\r\n        self._explosive *= mul\r\n        for v in self._breachers.values():\r\n            for b in v:\r\n                b *= mul\r\n        self._clear_cached()\r\n        return self\r\n\r\n    def __truediv__(self, div):\r\n        new = type(self)(\r\n            em=self._em / div,\r\n            thermal=self._thermal / div,\r\n            kinetic=self._kinetic / div,\r\n            explosive=self._explosive / div)\r\n        new.profile = self.profile\r\n        for k, v in self._breachers.items():\r\n            new._breachers[k] = [b / div for b in v]\r\n        return new\r\n\r\n    def __bool__(self):\r\n        return any((\r\n            self._em, self._thermal, self._kinetic, self._explosive,\r\n            any(b.absolute or b.relative for b in self._breachers)))\r\n\r\n    def __repr__(self):\r\n        class_name = type(self).__name__\r\n        return (f'<{class_name}(em={self._em}, thermal={self._thermal}, kinetic={self._kinetic}, '\r\n                f'explosive={self._explosive}, breachers={len(self._breachers)})>')\r\n\r\n    @staticmethod\r\n    def names(short=None, postProcessor=None, includePure=False):\r\n\r\n        value = [_t('em'), _t('th'), _t('kin'), _t('exp')] if short else [_t('em'), _t('thermal'), _t('kinetic'), _t('explosive')]\r\n        if includePure:\r\n            value += [_t('pure')]\r\n\r\n        if postProcessor:\r\n            value = [postProcessor(x) for x in value]\r\n\r\n        return value\r\n\r\n\r\nclass RRTypes:\r\n    \"\"\"Container for tank data stats.\"\"\"\r\n\r\n    def __init__(self, shield, armor, hull, capacitor):\r\n        self.shield = shield\r\n        self.armor = armor\r\n        self.hull = hull\r\n        self.capacitor = capacitor\r\n\r\n    # Iterator is needed to support tuple-style unpacking\r\n    def __iter__(self):\r\n        yield self.shield\r\n        yield self.armor\r\n        yield self.hull\r\n        yield self.capacitor\r\n\r\n    def __eq__(self, other):\r\n        if not isinstance(other, RRTypes):\r\n            return NotImplemented\r\n        # Round for comparison's sake because often tanking numbers are\r\n        # generated from data which includes float errors\r\n        return (\r\n                floatUnerr(self.shield) == floatUnerr(other.shield) and\r\n                floatUnerr(self.armor) == floatUnerr(other.armor) and\r\n                floatUnerr(self.hull) == floatUnerr(other.hull) and\r\n                floatUnerr(self.capacitor) == floatUnerr(other.capacitor))\r\n\r\n    def __bool__(self):\r\n        return any((self.shield, self.armor, self.hull, self.capacitor))\r\n\r\n    def __add__(self, other):\r\n        return type(self)(\r\n            shield=self.shield + other.shield,\r\n            armor=self.armor + other.armor,\r\n            hull=self.hull + other.hull,\r\n            capacitor=self.capacitor + other.capacitor)\r\n\r\n    def __iadd__(self, other):\r\n        self.shield += other.shield\r\n        self.armor += other.armor\r\n        self.hull += other.hull\r\n        self.capacitor += other.capacitor\r\n        return self\r\n\r\n    def __mul__(self, mul):\r\n        return type(self)(\r\n            shield=self.shield * mul,\r\n            armor=self.armor * mul,\r\n            hull=self.hull * mul,\r\n            capacitor=self.capacitor * mul)\r\n\r\n    def __imul__(self, mul):\r\n        if mul == 1:\r\n            return\r\n        self.shield *= mul\r\n        self.armor *= mul\r\n        self.hull *= mul\r\n        self.capacitor *= mul\r\n        return self\r\n\r\n    def __truediv__(self, div):\r\n        return type(self)(\r\n            shield=self.shield / div,\r\n            armor=self.armor / div,\r\n            hull=self.hull / div,\r\n            capacitor=self.capacitor / div)\r\n\r\n    def __itruediv__(self, div):\r\n        if div == 1:\r\n            return self\r\n        self.shield /= div\r\n        self.armor /= div\r\n        self.hull /= div\r\n        self.capacitor /= div\r\n        return self\r\n\r\n    def __repr__(self):\r\n        spec = RRTypes.names(False)\r\n        return makeReprStr(self, spec)\r\n\r\n    @staticmethod\r\n    def names(ehpOnly=True, postProcessor=None):\r\n        value = ['shield', 'armor', 'hull']\r\n\r\n        if not ehpOnly:\r\n            value.append('capacitor')\r\n\r\n        if postProcessor:\r\n            value = [postProcessor(x) for x in value]\r\n\r\n        return value\r\n"
  },
  {
    "path": "graphs/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom .gui.canvasPanel import graphFrame_enabled\r\nfrom .gui.frame import GraphFrame\r\n"
  },
  {
    "path": "graphs/calc.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom service.settings import GraphSettings\r\n\r\n\r\ndef checkLockRange(src, distance):\r\n    if distance is None:\r\n        return True\r\n    if GraphSettings.getInstance().get('ignoreLockRange'):\r\n        return True\r\n    return distance <= src.item.maxTargetRange\r\n\r\n\r\ndef checkDroneControlRange(src, distance):\r\n    if distance is None:\r\n        return True\r\n    if GraphSettings.getInstance().get('ignoreDCR'):\r\n        return True\r\n    return distance <= src.item.extraAttributes['droneControlRange']\r\n"
  },
  {
    "path": "graphs/data/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom . import fitDamageStats\r\nfrom . import fitEwarStats\r\nfrom . import fitRemoteReps\r\nfrom . import fitShieldRegen\r\nfrom . import fitCapacitor\r\nfrom . import fitMobility\r\nfrom . import fitWarpTime\r\nfrom . import fitLockTime\r\n# Hidden graphs, available via ctrl-alt-g\r\nfrom . import fitEcmBurstScanresDamps\r\n"
  },
  {
    "path": "graphs/data/base/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nfrom .cache import FitDataCache\r\nfrom .defs import XDef, YDef, VectorDef, Input, InputCheckbox\r\nfrom .getter import PointGetter, SmoothPointGetter\r\nfrom .graph import FitGraph\r\n"
  },
  {
    "path": "graphs/data/base/cache.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nclass FitDataCache:\r\n\r\n    def __init__(self):\r\n        self._data = {}\r\n\r\n    def clearForFit(self, fitID):\r\n        if fitID in self._data:\r\n            del self._data[fitID]\r\n\r\n    def clearAll(self):\r\n        self._data.clear()\r\n"
  },
  {
    "path": "graphs/data/base/defs.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom collections import namedtuple\r\n\r\n\r\nVectorDef = namedtuple('VectorDef', ('lengthHandle', 'lengthUnit', 'angleHandle', 'angleUnit', 'label'))\r\n\r\n\r\nclass YDef:\r\n\r\n    def __init__(self, handle, unit, label, selectorLabel=None, hidden=False):\r\n        self.handle = handle\r\n        self.unit = unit\r\n        self.label = label\r\n        self._selectorLabel = selectorLabel\r\n        self.hidden = hidden\r\n\r\n    @property\r\n    def selectorLabel(self):\r\n        if self._selectorLabel is not None:\r\n            return self._selectorLabel\r\n        return self.label\r\n\r\n    def __hash__(self):\r\n        return hash((self.handle, self.unit, self.label, self._selectorLabel))\r\n\r\n    def __eq__(self, other):\r\n        if not isinstance(other, YDef):\r\n            return False\r\n        return all((\r\n            self.handle == other.handle,\r\n            self.unit == other.unit,\r\n            self.label == other.label,\r\n            self._selectorLabel == other._selectorLabel))\r\n\r\n\r\nclass XDef:\r\n\r\n    def __init__(self, handle, unit, label, mainInput, selectorLabel=None, hidden=False):\r\n        self.handle = handle\r\n        self.unit = unit\r\n        self.label = label\r\n        self.mainInput = mainInput\r\n        self._selectorLabel = selectorLabel\r\n        self.hidden = hidden\r\n\r\n    @property\r\n    def selectorLabel(self):\r\n        if self._selectorLabel is not None:\r\n            return self._selectorLabel\r\n        return self.label\r\n\r\n    def __hash__(self):\r\n        return hash((self.handle, self.unit, self.label, self.mainInput, self._selectorLabel))\r\n\r\n    def __eq__(self, other):\r\n        if not isinstance(other, XDef):\r\n            return False\r\n        return all((\r\n            self.handle == other.handle,\r\n            self.unit == other.unit,\r\n            self.label == other.label,\r\n            self.mainInput == other.mainInput,\r\n            self._selectorLabel == other._selectorLabel))\r\n\r\n\r\nclass Input:\r\n\r\n    def __init__(self, handle, unit, label, iconID, defaultValue, defaultRange, mainTooltip=None, secondaryTooltip=None, conditions=()):\r\n        self.handle = handle\r\n        self.unit = unit\r\n        self.label = label\r\n        self.iconID = iconID\r\n        self.defaultValue = defaultValue\r\n        self.defaultRange = defaultRange\r\n        self.mainTooltip = mainTooltip\r\n        self.secondaryTooltip = secondaryTooltip\r\n        # Format: ((x condition, y condition), (x condition, y condition), ...)\r\n        self.conditions = tuple(conditions)\r\n\r\n    def __hash__(self):\r\n        return hash((self.handle, self.unit, self.label, self.iconID, self.defaultValue, self.defaultRange, self.mainTooltip, self.secondaryTooltip, self.conditions))\r\n\r\n    def __eq__(self, other):\r\n        if not isinstance(other, Input):\r\n            return False\r\n        return all((\r\n            self.handle == other.handle,\r\n            self.unit == other.unit,\r\n            self.label == other.label,\r\n            self.iconID == other.iconID,\r\n            self.defaultValue == other.defaultValue,\r\n            self.defaultRange == other.defaultRange,\r\n            self.mainTooltip == other.mainTooltip,\r\n            self.secondaryTooltip == other.secondaryTooltip,\r\n            self.conditions == other.conditions))\r\n\r\n\r\nclass InputCheckbox:\r\n\r\n    def __init__(self, handle, label, defaultValue, conditions=()):\r\n        self.handle = handle\r\n        self.label = label\r\n        self.defaultValue = defaultValue\r\n        # Format: ((x condition, y condition), (x condition, y condition), ...)\r\n        self.conditions = tuple(conditions)\r\n\r\n    def __hash__(self):\r\n        return hash((self.handle, self.label, self.defaultValue, self.conditions))\r\n\r\n    def __eq__(self, other):\r\n        if not isinstance(other, Input):\r\n            return False\r\n        return all((\r\n            self.handle == other.handle,\r\n            self.label == other.label,\r\n            self.defaultValue == other.defaultValue,\r\n            self.conditions == other.conditions))\r\n"
  },
  {
    "path": "graphs/data/base/getter.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\nfrom abc import ABCMeta, abstractmethod\r\n\r\n\r\nclass PointGetter(metaclass=ABCMeta):\r\n\r\n    def __init__(self, graph):\r\n        self.graph = graph\r\n\r\n    @abstractmethod\r\n    def getRange(self, xRange, miscParams, src, tgt):\r\n        raise NotImplementedError\r\n\r\n    @abstractmethod\r\n    def getPoint(self, x, miscParams, src, tgt):\r\n        raise NotImplementedError\r\n\r\n\r\nclass SmoothPointGetter(PointGetter, metaclass=ABCMeta):\r\n\r\n    _baseResolution = 200\r\n    _extraDepth = 0\r\n\r\n    def getRange(self, xRange, miscParams, src, tgt):\r\n        xs = []\r\n        ys = []\r\n        commonData = self._getCommonData(miscParams=miscParams, src=src, tgt=tgt)\r\n\r\n        def addExtraPoints(x1, y1, x2, y2, depth):\r\n            if depth <= 0 or y1 == y2:\r\n                return\r\n            newX = (x1 + x2) / 2\r\n            newY = self._calculatePoint(x=newX, miscParams=miscParams, src=src, tgt=tgt, commonData=commonData)\r\n            addExtraPoints(x1=prevX, y1=prevY, x2=newX, y2=newY, depth=depth - 1)\r\n            xs.append(newX)\r\n            ys.append(newY)\r\n            addExtraPoints(x1=newX, y1=newY, x2=x2, y2=y2, depth=depth - 1)\r\n\r\n        prevX = None\r\n        prevY = None\r\n        # Go through X points defined by our resolution setting\r\n        for x in self._xIterLinear(xRange):\r\n            y = self._calculatePoint(x=x, miscParams=miscParams, src=src, tgt=tgt, commonData=commonData)\r\n            if prevX is not None and prevY is not None:\r\n                # And if Y values of adjacent data points are not equal, add extra points\r\n                # depending on extra depth setting\r\n                addExtraPoints(x1=prevX, y1=prevY, x2=x, y2=y, depth=self._extraDepth)\r\n            prevX = x\r\n            prevY = y\r\n            xs.append(x)\r\n            ys.append(y)\r\n        return xs, ys\r\n\r\n    def getPoint(self, x, miscParams, src, tgt):\r\n        commonData = self._getCommonData(miscParams=miscParams, src=src, tgt=tgt)\r\n        return self._calculatePoint(x=x, miscParams=miscParams, src=src, tgt=tgt, commonData=commonData)\r\n\r\n    def _xIterLinear(self, xRange):\r\n        xLow = min(xRange)\r\n        xHigh = max(xRange)\r\n        # Resolution defines amount of ranges between points here,\r\n        # not amount of points\r\n        step = (xHigh - xLow) / self._baseResolution\r\n        if step == 0 or math.isnan(step):\r\n            yield xLow\r\n        else:\r\n            for i in range(self._baseResolution + 1):\r\n                yield xLow + step * i\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        return {}\r\n\r\n    @abstractmethod\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        raise NotImplementedError\r\n"
  },
  {
    "path": "graphs/data/base/graph.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\nfrom abc import ABCMeta, abstractmethod\r\nfrom collections import OrderedDict\r\n\r\nfrom eos.utils.float import floatUnerr\r\nfrom service.const import GraphCacheCleanupReason\r\n\r\n\r\nclass FitGraph(metaclass=ABCMeta):\r\n\r\n    # UI stuff\r\n    hidden = False\r\n    views = []\r\n    viewMap = {}\r\n\r\n    @classmethod\r\n    def register(cls):\r\n        FitGraph.views.append(cls)\r\n        FitGraph.viewMap[cls.internalName] = cls\r\n\r\n    def __init__(self):\r\n        # Format: {(fit ID, target type, target ID): {(xSpec, ySpec): (xs, ys)}}\r\n        self._plotCache = {}\r\n        # Format: {(fit ID, target type, target ID): {(xSpec, ySpec): {x: y}}}\r\n        self._pointCache = {}\r\n\r\n    @property\r\n    @abstractmethod\r\n    def name(self):\r\n        raise NotImplementedError\r\n\r\n    @property\r\n    @abstractmethod\r\n    def internalName(self):\r\n        raise NotImplementedError\r\n\r\n    @property\r\n    @abstractmethod\r\n    def yDefs(self):\r\n        raise NotImplementedError\r\n\r\n    @property\r\n    def yDefMap(self):\r\n        return OrderedDict(((y.handle, y.unit), y) for y in self.yDefs)\r\n\r\n    @property\r\n    @abstractmethod\r\n    def xDefs(self):\r\n        raise NotImplementedError\r\n\r\n    @property\r\n    def xDefMap(self):\r\n        return OrderedDict(((x.handle, x.unit), x) for x in self.xDefs)\r\n\r\n    @property\r\n    def inputs(self):\r\n        raise NotImplementedError\r\n\r\n    @property\r\n    def inputMap(self):\r\n        return OrderedDict(((i.handle, i.unit), i) for i in self.inputs)\r\n\r\n    checkboxes = ()\r\n\r\n    @property\r\n    def checkboxesMap(self):\r\n        return OrderedDict((ec.handle, ec) for ec in self.checkboxes)\r\n\r\n    hasTargets = False\r\n    srcVectorDef = None\r\n    tgtVectorDef = None\r\n    srcExtraCols = ()\r\n    tgtExtraCols = ()\r\n    usesHpEffectivity = False\r\n\r\n    def getPlotPoints(self, mainInput, miscInputs, xSpec, ySpec, src, tgt=None):\r\n        cacheKey = self._makeCacheKey(src=src, tgt=tgt)\r\n        try:\r\n            plotData = self._plotCache[cacheKey][(ySpec, xSpec)]\r\n        except KeyError:\r\n            plotData = self._calcPlotPoints(\r\n                mainInput=mainInput, miscInputs=miscInputs,\r\n                xSpec=xSpec, ySpec=ySpec, src=src, tgt=tgt)\r\n            self._plotCache.setdefault(cacheKey, {})[(ySpec, xSpec)] = plotData\r\n        return plotData\r\n\r\n    def getPoint(self, x, miscInputs, xSpec, ySpec, src, tgt=None):\r\n        cacheKey = self._makeCacheKey(src=src, tgt=tgt)\r\n        try:\r\n            y = self._pointCache[cacheKey][(ySpec, xSpec)][x]\r\n        except KeyError:\r\n            y = self._calcPoint(x=x, miscInputs=miscInputs, xSpec=xSpec, ySpec=ySpec, src=src, tgt=tgt)\r\n            self._pointCache.setdefault(cacheKey, {}).setdefault((ySpec, xSpec), {})[x] = y\r\n        return y\r\n\r\n    def clearCache(self, reason, extraData=None):\r\n        caches = (self._plotCache, self._pointCache)\r\n        plotKeysToClear = set()\r\n        # If fit changed - clear plots which concern this fit\r\n        if reason in (GraphCacheCleanupReason.fitChanged, GraphCacheCleanupReason.fitRemoved):\r\n            for cache in caches:\r\n                for cacheKey in cache:\r\n                    cacheFitID, cacheTgtType, cacheTgtID = cacheKey\r\n                    if extraData == cacheFitID:\r\n                        plotKeysToClear.add(cacheKey)\r\n                    elif cacheTgtType == 'fit' and extraData == cacheTgtID:\r\n                        plotKeysToClear.add(cacheKey)\r\n        # Same for profile\r\n        elif reason in (GraphCacheCleanupReason.profileChanged, GraphCacheCleanupReason.profileRemoved):\r\n            for cache in caches:\r\n                for cacheKey in cache:\r\n                    cacheFitID, cacheTgtType, cacheTgtID = cacheKey\r\n                    if cacheTgtType == 'profile' and extraData == cacheTgtID:\r\n                        plotKeysToClear.add(cacheKey)\r\n        # Target fit resist mode changed\r\n        elif reason == GraphCacheCleanupReason.resistModeChanged:\r\n            for cache in caches:\r\n                for cacheKey in cache:\r\n                    cacheFitID, cacheTgtType, cacheTgtID = cacheKey\r\n                    if cacheTgtType == 'fit' and extraData == cacheTgtID:\r\n                        plotKeysToClear.add(cacheKey)\r\n        # Wipe out whole plot cache otherwise\r\n        else:\r\n            for cache in caches:\r\n                for cacheKey in cache:\r\n                    plotKeysToClear.add(cacheKey)\r\n        # Do actual cleanup\r\n        for cache in caches:\r\n            for cacheKey in plotKeysToClear:\r\n                try:\r\n                    del cache[cacheKey]\r\n                except KeyError:\r\n                    pass\r\n        # Process any internal caches graphs might have\r\n        self._clearInternalCache(reason, extraData)\r\n\r\n    def _makeCacheKey(self, src, tgt):\r\n        if tgt is not None and tgt.isFit:\r\n            tgtType = 'fit'\r\n            tgtItemID = tgt.item.ID\r\n        elif tgt is not None and tgt.isProfile:\r\n            tgtType = 'profile'\r\n            tgtItemID = tgt.item.ID\r\n        else:\r\n            tgtType = None\r\n            tgtItemID = None\r\n        cacheKey = (src.item.ID, tgtType, tgtItemID)\r\n        return cacheKey\r\n\r\n    def _clearInternalCache(self, reason, extraData):\r\n        return\r\n\r\n    # Calculation stuff\r\n    def _calcPlotPoints(self, mainInput, miscInputs, xSpec, ySpec, src, tgt):\r\n        mainParamRange = self._normalizeMain(mainInput=mainInput, src=src, tgt=tgt)\r\n        miscParams = self._normalizeMisc(miscInputs=miscInputs, src=src, tgt=tgt)\r\n        mainParamRange = self._limitMain(mainParamRange=mainParamRange, src=src, tgt=tgt)\r\n        miscParams = self._limitMisc(miscParams=miscParams, src=src, tgt=tgt)\r\n        xs, ys = self._getPlotPoints(\r\n            xRange=mainParamRange[1], miscParams=miscParams,\r\n            xSpec=xSpec, ySpec=ySpec, src=src, tgt=tgt)\r\n        ys = self._denormalizeValues(values=ys, axisSpec=ySpec, src=src, tgt=tgt)\r\n        # Sometimes x denormalizer may fail (e.g. during conversion of 0 ship speed to %).\r\n        # If both inputs and outputs are in %, do some extra processing to at least have\r\n        # proper graph which shows the same value over whole specified relative parameter\r\n        # range\r\n        try:\r\n            xs = self._denormalizeValues(values=xs, axisSpec=xSpec, src=src, tgt=tgt)\r\n        except ZeroDivisionError:\r\n            if mainInput.unit == xSpec.unit == '%' and len(set(floatUnerr(y) for y in ys)) == 1:\r\n                xs = [min(mainInput.value), max(mainInput.value)]\r\n                ys = [ys[0], ys[0]]\r\n            else:\r\n                raise\r\n        else:\r\n            # Same for NaN which means we tried to denormalize infinity values, which might be the\r\n            # case for the ideal target profile with infinite signature radius\r\n            if mainInput.unit == xSpec.unit == '%' and all(math.isnan(x) for x in xs):\r\n                xs = [min(mainInput.value), max(mainInput.value)]\r\n                ys = [ys[0], ys[0]]\r\n        return xs, ys\r\n\r\n    def _calcPoint(self, x, miscInputs, xSpec, ySpec, src, tgt):\r\n        x = self._normalizeValue(value=x, axisSpec=xSpec, src=src, tgt=tgt)\r\n        miscParams = self._normalizeMisc(miscInputs=miscInputs, src=src, tgt=tgt)\r\n        miscParams = self._limitMisc(miscParams=miscParams, src=src, tgt=tgt)\r\n        y = self._getPoint(x=x, miscParams=miscParams, xSpec=xSpec, ySpec=ySpec, src=src, tgt=tgt)\r\n        y = self._denormalizeValue(value=y, axisSpec=ySpec, src=src, tgt=tgt)\r\n        return y\r\n\r\n    _normalizers = {}\r\n\r\n    def _normalizeMain(self, mainInput, src, tgt):\r\n        key = (mainInput.handle, mainInput.unit)\r\n        if key in self._normalizers:\r\n            normalizer = self._normalizers[key]\r\n            mainParamRange = (mainInput.handle, tuple(normalizer(v, src, tgt) for v in mainInput.value))\r\n        else:\r\n            mainParamRange = (mainInput.handle, mainInput.value)\r\n        return mainParamRange\r\n\r\n    def _normalizeMisc(self, miscInputs, src, tgt):\r\n        miscParams = {}\r\n        for miscInput in miscInputs:\r\n            key = (miscInput.handle, miscInput.unit)\r\n            if key in self._normalizers:\r\n                normalizer = self._normalizers[key]\r\n                miscParams[miscInput.handle] = normalizer(miscInput.value, src, tgt)\r\n            else:\r\n                miscParams[miscInput.handle] = miscInput.value\r\n        return miscParams\r\n\r\n    def _normalizeValue(self, value, axisSpec, src, tgt):\r\n        key = (axisSpec.handle, axisSpec.unit)\r\n        if key in self._normalizers:\r\n            normalizer = self._normalizers[key]\r\n            value = normalizer(value, src, tgt)\r\n        return value\r\n\r\n    _limiters = {}\r\n\r\n    def _limitMain(self, mainParamRange, src, tgt):\r\n        mainHandle, mainValue = mainParamRange\r\n        if mainHandle in self._limiters:\r\n            limiter = self._limiters[mainHandle]\r\n            mainParamRange = (mainHandle, tuple(self.__limitToRange(v, limiter(src, tgt)) for v in mainValue))\r\n        return mainParamRange\r\n\r\n    def _limitMisc(self, miscParams, src, tgt):\r\n        for miscHandle in miscParams:\r\n            if miscHandle in self._limiters:\r\n                limiter = self._limiters[miscHandle]\r\n                miscValue = miscParams[miscHandle]\r\n                miscParams[miscHandle] = self.__limitToRange(miscValue, limiter(src, tgt))\r\n        return miscParams\r\n\r\n    @staticmethod\r\n    def __limitToRange(val, limitRange):\r\n        if val is None:\r\n            return None\r\n        val = max(val, min(limitRange))\r\n        val = min(val, max(limitRange))\r\n        return val\r\n\r\n    _getters = {}\r\n\r\n    def _getPlotPoints(self, xRange, miscParams, xSpec, ySpec, src, tgt):\r\n        try:\r\n            getterClass = self._getters[(xSpec.handle, ySpec.handle)]\r\n        except KeyError:\r\n            return [], []\r\n        else:\r\n            getter = getterClass(graph=self)\r\n            return getter.getRange(xRange=xRange, miscParams=miscParams, src=src, tgt=tgt)\r\n\r\n    def _getPoint(self, x, miscParams, xSpec, ySpec, src, tgt):\r\n        try:\r\n            getterClass = self._getters[(xSpec.handle, ySpec.handle)]\r\n        except KeyError:\r\n            return [], []\r\n        else:\r\n            getter = getterClass(graph=self)\r\n            return getter.getPoint(x=x, miscParams=miscParams, src=src, tgt=tgt)\r\n\r\n    _denormalizers = {}\r\n\r\n    def _denormalizeValues(self, values, axisSpec, src, tgt):\r\n        key = (axisSpec.handle, axisSpec.unit)\r\n        if key in self._denormalizers:\r\n            denormalizer = self._denormalizers[key]\r\n            values = [denormalizer(v, src, tgt) for v in values]\r\n        return values\r\n\r\n    def _denormalizeValue(self, value, axisSpec, src, tgt):\r\n        key = (axisSpec.handle, axisSpec.unit)\r\n        if key in self._denormalizers:\r\n            denormalizer = self._denormalizers[key]\r\n            value = denormalizer(value, src, tgt)\r\n        return value\r\n"
  },
  {
    "path": "graphs/data/fitCapacitor/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom .graph import FitCapacitorGraph\r\n\r\n\r\nFitCapacitorGraph.register()\r\n"
  },
  {
    "path": "graphs/data/fitCapacitor/getter.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\n\r\nfrom graphs.data.base import SmoothPointGetter\r\n\r\n\r\nclass Time2CapAmountGetter(SmoothPointGetter):\r\n\r\n    def getRange(self, xRange, miscParams, src, tgt):\r\n        # Use smooth getter when we're not using cap sim\r\n        if not miscParams['useCapsim']:\r\n            return super().getRange(xRange=xRange, miscParams=miscParams, src=src, tgt=tgt)\r\n        capAmountT0 = miscParams['capAmountT0'] or 0\r\n        capSimDataRaw = src.item.getCapSimData(startingCap=capAmountT0)\r\n        # Same here, no cap sim data - use smooth getter which considers only regen\r\n        if not capSimDataRaw:\r\n            return super().getRange(xRange=xRange, miscParams=miscParams, src=src, tgt=tgt)\r\n        capSimDataMaxTime = capSimDataRaw[-1][0]\r\n        minTime, maxTime = xRange\r\n        maxTime = min(maxTime, capSimDataMaxTime)\r\n        maxPointXDistance = (maxTime - minTime) / self._baseResolution\r\n        capSimDataInRange = {k: v for k, v in capSimDataRaw if minTime <= k <= maxTime}\r\n        prevTime = minTime\r\n        xs = []\r\n        ys = []\r\n        capSimDataBefore = {k: v for k, v in capSimDataRaw if k < minTime}\r\n        # When time range lies to the right of last cap sim data point, return nothing\r\n        if len(capSimDataBefore) > 0 and max(capSimDataBefore) == capSimDataMaxTime:\r\n            return xs, ys\r\n        maxCapAmount = src.item.ship.getModifiedItemAttr('capacitorCapacity')\r\n        capRegenTime = src.item.ship.getModifiedItemAttr('rechargeRate') / 1000\r\n\r\n        def plotCapRegen(prevTime, prevCap, currentTime):\r\n            subrangeAmount = math.ceil((currentTime - prevTime) / maxPointXDistance)\r\n            subrangeLength = (currentTime - prevTime) / subrangeAmount\r\n            for i in range(1, subrangeAmount + 1):\r\n                subrangeTime = prevTime + subrangeLength * i\r\n                subrangeCap = calculateCapAmount(\r\n                    maxCapAmount=maxCapAmount,\r\n                    capRegenTime=capRegenTime,\r\n                    capAmountT0=prevCap,\r\n                    time=subrangeTime - prevTime)\r\n                xs.append(subrangeTime)\r\n                ys.append(subrangeCap)\r\n\r\n        # Calculate starting cap for first value seen in our range\r\n        if capSimDataBefore:\r\n            timeBefore = max(capSimDataBefore)\r\n            capBefore = capSimDataBefore[timeBefore]\r\n            prevCap = calculateCapAmount(\r\n                    maxCapAmount=maxCapAmount,\r\n                    capRegenTime=capRegenTime,\r\n                    capAmountT0=capBefore,\r\n                    time=prevTime - timeBefore)\r\n        else:\r\n            prevCap = calculateCapAmount(\r\n                maxCapAmount=maxCapAmount,\r\n                capRegenTime=capRegenTime,\r\n                capAmountT0=capAmountT0,\r\n                time=prevTime)\r\n        xs.append(prevTime)\r\n        ys.append(prevCap)\r\n        for currentTime in sorted(capSimDataInRange):\r\n            if currentTime > prevTime:\r\n                plotCapRegen(prevTime=prevTime, prevCap=prevCap, currentTime=currentTime)\r\n            currentCap = capSimDataInRange[currentTime]\r\n            xs.append(currentTime)\r\n            ys.append(currentCap)\r\n            prevTime = currentTime\r\n            prevCap = currentCap\r\n        if maxTime > prevTime:\r\n            plotCapRegen(prevTime=prevTime, prevCap=prevCap, currentTime=maxTime)\r\n        return xs, ys\r\n\r\n    def getPoint(self, x, miscParams, src, tgt):\r\n        # Use smooth getter when we're not using cap sim\r\n        if not miscParams['useCapsim']:\r\n            return super().getPoint(x=x, miscParams=miscParams, src=src, tgt=tgt)\r\n        capAmountT0 = miscParams['capAmountT0'] or 0\r\n        capSimDataRaw = src.item.getCapSimData(startingCap=capAmountT0)\r\n        # Same here, no cap sim data - use smooth getter which considers only regen\r\n        if not capSimDataRaw:\r\n            return super().getPoint(x=x, miscParams=miscParams, src=src, tgt=tgt)\r\n        currentTime = x\r\n        capSimDataBefore = {k: v for k, v in capSimDataRaw if k <= currentTime}\r\n        capSimDataMaxTime = capSimDataRaw[-1][0]\r\n        # When time range lies to the right of last cap sim data point, return nothing\r\n        if len(capSimDataBefore) > 0 and max(capSimDataBefore) == capSimDataMaxTime:\r\n            return None\r\n        maxCapAmount = src.item.ship.getModifiedItemAttr('capacitorCapacity')\r\n        capRegenTime = src.item.ship.getModifiedItemAttr('rechargeRate') / 1000\r\n        if capSimDataBefore:\r\n            timeBefore = max(capSimDataBefore)\r\n            capBefore = capSimDataBefore[timeBefore]\r\n            if timeBefore == currentTime:\r\n                currentCap = capBefore\r\n            else:\r\n                currentCap = calculateCapAmount(\r\n                        maxCapAmount=maxCapAmount,\r\n                        capRegenTime=capRegenTime,\r\n                        capAmountT0=capBefore,\r\n                        time=currentTime - timeBefore)\r\n        else:\r\n            currentCap = calculateCapAmount(\r\n                maxCapAmount=maxCapAmount,\r\n                capRegenTime=capRegenTime,\r\n                capAmountT0=capAmountT0,\r\n                time=currentTime)\r\n        return currentCap\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        return {\r\n            'maxCapAmount': src.item.ship.getModifiedItemAttr('capacitorCapacity'),\r\n            'capRegenTime': src.item.ship.getModifiedItemAttr('rechargeRate') / 1000}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        time = x\r\n        capAmount = calculateCapAmount(\r\n            maxCapAmount=commonData['maxCapAmount'],\r\n            capRegenTime=commonData['capRegenTime'],\r\n            capAmountT0=miscParams['capAmountT0'] or 0,\r\n            time=time)\r\n        return capAmount\r\n\r\n\r\nclass Time2CapRegenGetter(SmoothPointGetter):\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        return {\r\n            'maxCapAmount': src.item.ship.getModifiedItemAttr('capacitorCapacity'),\r\n            'capRegenTime': src.item.ship.getModifiedItemAttr('rechargeRate') / 1000}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        time = x\r\n        capAmount = calculateCapAmount(\r\n            maxCapAmount=commonData['maxCapAmount'],\r\n            capRegenTime=commonData['capRegenTime'],\r\n            capAmountT0=miscParams['capAmountT0'] or 0,\r\n            time=time)\r\n        capRegen = calculateCapRegen(\r\n            maxCapAmount=commonData['maxCapAmount'],\r\n            capRegenTime=commonData['capRegenTime'],\r\n            currentCapAmount=capAmount)\r\n        return capRegen\r\n\r\n\r\n# Useless, but valid combination of x and y\r\nclass CapAmount2CapAmountGetter(SmoothPointGetter):\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        capAmount = x\r\n        return capAmount\r\n\r\n\r\nclass CapAmount2CapRegenGetter(SmoothPointGetter):\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        return {\r\n            'maxCapAmount': src.item.ship.getModifiedItemAttr('capacitorCapacity'),\r\n            'capRegenTime': src.item.ship.getModifiedItemAttr('rechargeRate') / 1000}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        capAmount = x\r\n        capRegen = calculateCapRegen(\r\n            maxCapAmount=commonData['maxCapAmount'],\r\n            capRegenTime=commonData['capRegenTime'],\r\n            currentCapAmount=capAmount)\r\n        return capRegen\r\n\r\n\r\ndef calculateCapAmount(maxCapAmount, capRegenTime, capAmountT0, time):\r\n    # https://wiki.eveuniversity.org/Capacitor#Capacitor_recharge_rate\r\n    return maxCapAmount * (1 + math.exp(5 * -time / capRegenTime) * (math.sqrt(capAmountT0 / maxCapAmount) - 1)) ** 2\r\n\r\n\r\ndef calculateCapRegen(maxCapAmount, capRegenTime, currentCapAmount):\r\n    # https://wiki.eveuniversity.org/Capacitor#Capacitor_recharge_rate\r\n    return 10 * maxCapAmount / capRegenTime * (math.sqrt(currentCapAmount / maxCapAmount) - currentCapAmount / maxCapAmount)\r\n"
  },
  {
    "path": "graphs/data/fitCapacitor/graph.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport wx\r\n\r\nfrom graphs.data.base import FitGraph, Input, InputCheckbox, XDef, YDef\r\nfrom .getter import CapAmount2CapAmountGetter, CapAmount2CapRegenGetter, Time2CapAmountGetter, Time2CapRegenGetter\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FitCapacitorGraph(FitGraph):\r\n    # UI stuff\r\n    internalName = 'capacitorGraph'\r\n    name = _t('Capacitor')\r\n    xDefs = [\r\n        XDef(handle='time', unit='s', label=_t('Time'), mainInput=('time', 's')),\r\n        XDef(handle='capAmount', unit='GJ', label=_t('Cap amount'), mainInput=('capAmount', '%')),\r\n        XDef(handle='capAmount', unit='%', label=_t('Cap amount'), mainInput=('capAmount', '%'))]\r\n    yDefs = [\r\n        YDef(handle='capAmount', unit='GJ', label=_t('Cap amount')),\r\n        YDef(handle='capRegen', unit='GJ/s', label=_t('Cap regen'))]\r\n    inputs = [\r\n        Input(handle='time', unit='s', label=_t('Time'), iconID=1392, defaultValue=120, defaultRange=(0, 300), conditions=[\r\n            (('time', 's'), None)]),\r\n        Input(handle='capAmount', unit='%', label=_t('Cap amount'), iconID=1668, defaultValue=25, defaultRange=(0, 100), conditions=[\r\n            (('capAmount', 'GJ'), None),\r\n            (('capAmount', '%'), None)]),\r\n        Input(handle='capAmountT0', unit='%', label=_t('Starting cap amount'), iconID=1668, defaultValue=100, defaultRange=(0, 100), conditions=[\r\n            (('time', 's'), None)])]\r\n    checkboxes = [InputCheckbox(handle='useCapsim', label=_t('Use capacitor simulator'), defaultValue=True, conditions=[\r\n        (('time', 's'), ('capAmount', 'GJ'))])]\r\n    srcExtraCols = ('CapAmount', 'CapTime')\r\n\r\n    # Calculation stuff\r\n    _normalizers = {\r\n        ('capAmount', '%'): lambda v, src, tgt: v / 100 * src.item.ship.getModifiedItemAttr('capacitorCapacity'),\r\n        ('capAmountT0', '%'): lambda v, src, tgt: None if v is None else v / 100 * src.item.ship.getModifiedItemAttr('capacitorCapacity')}\r\n    _limiters = {\r\n        'time': lambda src, tgt: (0, 3600),\r\n        'capAmount': lambda src, tgt: (0, src.item.ship.getModifiedItemAttr('capacitorCapacity')),\r\n        'capAmountT0': lambda src, tgt: (0, src.item.ship.getModifiedItemAttr('capacitorCapacity'))}\r\n    _getters = {\r\n        ('time', 'capAmount'): Time2CapAmountGetter,\r\n        ('time', 'capRegen'): Time2CapRegenGetter,\r\n        ('capAmount', 'capAmount'): CapAmount2CapAmountGetter,\r\n        ('capAmount', 'capRegen'): CapAmount2CapRegenGetter}\r\n    _denormalizers = {('capAmount', '%'): lambda v, src, tgt: v * 100 / src.item.ship.getModifiedItemAttr('capacitorCapacity')}\r\n"
  },
  {
    "path": "graphs/data/fitDamageStats/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom .graph import FitDamageStatsGraph\r\n\r\n\r\nFitDamageStatsGraph.register()\r\n"
  },
  {
    "path": "graphs/data/fitDamageStats/cache/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom .projected import ProjectedDataCache\r\nfrom .time import TimeCache\r\n"
  },
  {
    "path": "graphs/data/fitDamageStats/cache/projected.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom collections import namedtuple\r\n\r\nfrom eos.modifiedAttributeDict import getResistanceAttrID\r\nfrom graphs.data.base import FitDataCache\r\n\r\n\r\nModProjData = namedtuple('ModProjData', ('boost', 'optimal', 'falloff', 'stackingGroup', 'resAttrID'))\r\nMobileProjData = namedtuple('MobileProjData', ('boost', 'optimal', 'falloff', 'stackingGroup', 'resAttrID', 'speed', 'radius'))\r\n\r\n\r\nclass ProjectedDataCache(FitDataCache):\r\n\r\n    def getProjModData(self, src):\r\n        try:\r\n            projectedData = self._data[src.item.ID]['modules']\r\n        except KeyError:\r\n            # Format of items for both: (boost strength, optimal, falloff, stacking group, resistance attr ID)\r\n            webMods = []\r\n            tpMods = []\r\n            projectedData = self._data.setdefault(src.item.ID, {})['modules'] = (webMods, tpMods)\r\n            for mod in src.item.activeModulesIter():\r\n                for webEffectName in ('remoteWebifierFalloff', 'structureModuleEffectStasisWebifier'):\r\n                    if webEffectName in mod.item.effects:\r\n                        webMods.append(ModProjData(\r\n                            mod.getModifiedItemAttr('speedFactor'),\r\n                            mod.maxRange or 0,\r\n                            mod.falloff or 0,\r\n                            'default',\r\n                            getResistanceAttrID(modifyingItem=mod, effect=mod.item.effects[webEffectName])))\r\n                if 'doomsdayAOEWeb' in mod.item.effects:\r\n                    webMods.append(ModProjData(\r\n                        mod.getModifiedItemAttr('speedFactor'),\r\n                        max(0, (mod.maxRange or 0) + mod.getModifiedItemAttr('doomsdayAOERange')),\r\n                        mod.falloff or 0,\r\n                        'default',\r\n                        getResistanceAttrID(modifyingItem=mod, effect=mod.item.effects['doomsdayAOEWeb'])))\r\n                for tpEffectName in ('remoteTargetPaintFalloff', 'structureModuleEffectTargetPainter'):\r\n                    if tpEffectName in mod.item.effects:\r\n                        tpMods.append(ModProjData(\r\n                            mod.getModifiedItemAttr('signatureRadiusBonus'),\r\n                            mod.maxRange or 0,\r\n                            mod.falloff or 0,\r\n                            'default',\r\n                            getResistanceAttrID(modifyingItem=mod, effect=mod.item.effects[tpEffectName])))\r\n                if 'doomsdayAOEPaint' in mod.item.effects:\r\n                    tpMods.append(ModProjData(\r\n                        mod.getModifiedItemAttr('signatureRadiusBonus'),\r\n                        max(0, (mod.maxRange or 0) + mod.getModifiedItemAttr('doomsdayAOERange')),\r\n                        mod.falloff or 0,\r\n                        'default',\r\n                        getResistanceAttrID(modifyingItem=mod, effect=mod.item.effects['doomsdayAOEPaint'])))\r\n        return projectedData\r\n\r\n    def getProjDroneData(self, src):\r\n        try:\r\n            projectedData = self._data[src.item.ID]['drones']\r\n        except KeyError:\r\n            # Format of items for both: (boost strength, optimal, falloff, stacking group, resistance attr ID, drone speed, drone radius)\r\n            webDrones = []\r\n            tpDrones = []\r\n            projectedData = self._data.setdefault(src.item.ID, {})['drones'] = (webDrones, tpDrones)\r\n            for drone in src.item.activeDronesIter():\r\n                if 'remoteWebifierEntity' in drone.item.effects:\r\n                    webDrones.extend(drone.amountActive * (MobileProjData(\r\n                        drone.getModifiedItemAttr('speedFactor'),\r\n                        drone.maxRange or 0,\r\n                        drone.falloff or 0,\r\n                        'default',\r\n                        getResistanceAttrID(modifyingItem=drone, effect=drone.item.effects['remoteWebifierEntity']),\r\n                        drone.getModifiedItemAttr('maxVelocity'),\r\n                        drone.getModifiedItemAttr('radius')),))\r\n                if 'remoteTargetPaintEntity' in drone.item.effects:\r\n                    tpDrones.extend(drone.amountActive * (MobileProjData(\r\n                        drone.getModifiedItemAttr('signatureRadiusBonus'),\r\n                        drone.maxRange or 0,\r\n                        drone.falloff or 0,\r\n                        'default',\r\n                        getResistanceAttrID(modifyingItem=drone, effect=drone.item.effects['remoteTargetPaintEntity']),\r\n                        drone.getModifiedItemAttr('maxVelocity'),\r\n                        drone.getModifiedItemAttr('radius')),))\r\n        return projectedData\r\n\r\n    def getProjFighterData(self, src):\r\n        try:\r\n            projectedData = self._data[src.item.ID]['fighters']\r\n        except KeyError:\r\n            # Format of items for both: (boost strength, optimal, falloff, stacking group, resistance attr ID, fighter speed, fighter radius)\r\n            webFighters = []\r\n            tpFighters = []\r\n            projectedData = self._data.setdefault(src.item.ID, {})['fighters'] = (webFighters, tpFighters)\r\n            for fighter, ability in src.item.activeFighterAbilityIter():\r\n                if ability.effect.name == 'fighterAbilityStasisWebifier':\r\n                    webFighters.append(MobileProjData(\r\n                        fighter.getModifiedItemAttr('fighterAbilityStasisWebifierSpeedPenalty') * fighter.amount,\r\n                        fighter.getModifiedItemAttr('fighterAbilityStasisWebifierOptimalRange'),\r\n                        fighter.getModifiedItemAttr('fighterAbilityStasisWebifierFalloffRange'),\r\n                        'default',\r\n                        getResistanceAttrID(modifyingItem=fighter, effect=fighter.item.effects['fighterAbilityStasisWebifier']),\r\n                        fighter.getModifiedItemAttr('maxVelocity'),\r\n                        fighter.getModifiedItemAttr('radius')))\r\n        return projectedData\r\n"
  },
  {
    "path": "graphs/data/fitDamageStats/cache/time.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom copy import copy\r\n\r\nfrom eos.utils.float import floatUnerr\r\nfrom eos.utils.spoolSupport import SpoolOptions, SpoolType\r\nfrom eos.utils.stats import DmgTypes\r\nfrom graphs.data.base import FitDataCache\r\n\r\n\r\nclass TimeCache(FitDataCache):\r\n\r\n    # Whole data getters\r\n    def getDpsData(self, src):\r\n        \"\"\"Return DPS data in {time: {key: dps}} format.\"\"\"\r\n        return self._data[src.item.ID]['finalDps']\r\n\r\n    def getVolleyData(self, src):\r\n        \"\"\"Return volley data in {time: {key: volley}} format.\"\"\"\r\n        return self._data[src.item.ID]['finalVolley']\r\n\r\n    def getDmgData(self, src):\r\n        \"\"\"Return inflicted damage data in {time: {key: damage}} format.\"\"\"\r\n        return self._data[src.item.ID]['finalDmg']\r\n\r\n    # Specific data point getters\r\n    def getDpsDataPoint(self, src, time):\r\n        \"\"\"Get DPS data by specified time in {key: dps} format.\"\"\"\r\n        return self._getDataPoint(src=src, time=time, dataFunc=self.getDpsData)\r\n\r\n    def getVolleyDataPoint(self, src, time):\r\n        \"\"\"Get volley data by specified time in {key: volley} format.\"\"\"\r\n        return self._getDataPoint(src=src, time=time, dataFunc=self.getVolleyData)\r\n\r\n    def getDmgDataPoint(self, src, time):\r\n        \"\"\"Get inflicted damage data by specified time in {key: dmg} format.\"\"\"\r\n        return self._getDataPoint(src=src, time=time, dataFunc=self.getDmgData)\r\n\r\n    # Preparation functions\r\n    def prepareDpsData(self, src, maxTime):\r\n        self._prepareDpsVolleyData(src=src, maxTime=maxTime)\r\n\r\n    def prepareVolleyData(self, src, maxTime):\r\n        self._prepareDpsVolleyData(src=src, maxTime=maxTime)\r\n\r\n    def prepareDmgData(self, src, maxTime):\r\n        # Time is none means that time parameter has to be ignored,\r\n        # we do not need cache for that\r\n        if maxTime is None:\r\n            return\r\n        self._generateInternalForm(src=src, maxTime=maxTime)\r\n        fitCache = self._data[src.item.ID]\r\n        # Final cache has been generated already, don't do anything\r\n        if 'finalDmg' in fitCache:\r\n            return\r\n        intCache = fitCache['internalDmg']\r\n        changesByTime = {}\r\n        for key, dmgMap in intCache.items():\r\n            for time in dmgMap:\r\n                changesByTime.setdefault(time, []).append(key)\r\n        # Here we convert cache to following format:\r\n        # {time: {key: damage done by key at this time}}\r\n        finalCache = fitCache['finalDmg'] = {}\r\n        timeDmgData = {}\r\n        for time in sorted(changesByTime):\r\n            timeDmgData = copy(timeDmgData)\r\n            for key in changesByTime[time]:\r\n                keyDmg = intCache[key][time]\r\n                if key in timeDmgData:\r\n                    timeDmgData[key] = timeDmgData[key] + keyDmg\r\n                else:\r\n                    timeDmgData[key] = keyDmg\r\n            finalCache[time] = timeDmgData\r\n        # We do not need internal cache once we have final\r\n        del fitCache['internalDmg']\r\n\r\n    # Private stuff\r\n    def _prepareDpsVolleyData(self, src, maxTime):\r\n        # Time is none means that time parameter has to be ignored,\r\n        # we do not need cache for that\r\n        if maxTime is None:\r\n            return True\r\n        self._generateInternalForm(src=src, maxTime=maxTime)\r\n        fitCache = self._data[src.item.ID]\r\n        # Final cache has been generated already, don't do anything\r\n        if 'finalDps' in fitCache and 'finalVolley' in fitCache:\r\n            return\r\n        # Convert cache from segments with assigned values into points\r\n        # which are located at times when dps/volley values change\r\n        pointCache = {}\r\n        for key, dmgList in fitCache['internalDpsVolley'].items():\r\n            pointData = pointCache[key] = {}\r\n            prevDps = None\r\n            prevVolley = None\r\n            prevTimeEnd = None\r\n            for timeStart, timeEnd, dps, volley in dmgList:\r\n                # First item\r\n                if not pointData:\r\n                    pointData[timeStart] = (dps, volley)\r\n                # Gap between items\r\n                elif floatUnerr(prevTimeEnd) < floatUnerr(timeStart):\r\n                    pointData[prevTimeEnd] = (DmgTypes.default(), DmgTypes.default())\r\n                    pointData[timeStart] = (dps, volley)\r\n                # Changed value\r\n                elif dps != prevDps or volley != prevVolley:\r\n                    pointData[timeStart] = (dps, volley)\r\n                prevDps = dps\r\n                prevVolley = volley\r\n                prevTimeEnd = timeEnd\r\n        # We have data in another form, do not need old one any longer\r\n        del fitCache['internalDpsVolley']\r\n        changesByTime = {}\r\n        for key, dmgMap in pointCache.items():\r\n            for time in dmgMap:\r\n                changesByTime.setdefault(time, []).append(key)\r\n        # Here we convert cache to following format:\r\n        # {time: {key: (dps, volley}}\r\n        finalDpsCache = fitCache['finalDps'] = {}\r\n        finalVolleyCache = fitCache['finalVolley'] = {}\r\n        timeDpsData = {}\r\n        timeVolleyData = {}\r\n        for time in sorted(changesByTime):\r\n            timeDpsData = copy(timeDpsData)\r\n            timeVolleyData = copy(timeVolleyData)\r\n            for key in changesByTime[time]:\r\n                dps, volley = pointCache[key][time]\r\n                timeDpsData[key] = dps\r\n                timeVolleyData[key] = volley\r\n            finalDpsCache[time] = timeDpsData\r\n            finalVolleyCache[time] = timeVolleyData\r\n\r\n    def _generateInternalForm(self, src, maxTime):\r\n        if self._isTimeCacheValid(src=src, maxTime=maxTime):\r\n            return\r\n        fitCache = self._data[src.item.ID] = {'maxTime': maxTime}\r\n        intCacheDpsVolley = fitCache['internalDpsVolley'] = {}\r\n        intCacheDmg = fitCache['internalDmg'] = {}\r\n\r\n        def addDpsVolley(ddKey, addedTimeStart, addedTimeFinish, addedVolleys):\r\n            if not addedVolleys:\r\n                return\r\n            volleySum = sum(addedVolleys, DmgTypes.default())\r\n            if volleySum.total > 0:\r\n                addedDps = volleySum / (addedTimeFinish - addedTimeStart)\r\n                # We can take \"just best\" volley, no matter target resistances, because all\r\n                # known items have the same damage type ratio throughout their cycle - and\r\n                # applying resistances doesn't change final outcome\r\n                bestVolley = max(addedVolleys, key=lambda v: v.total)\r\n                ddCacheDps = intCacheDpsVolley.setdefault(ddKey, [])\r\n                ddCacheDps.append((addedTimeStart, addedTimeFinish, addedDps, bestVolley))\r\n\r\n        def addDmg(ddKey, addedTime, addedDmg):\r\n            if addedDmg.total == 0:\r\n                return\r\n            addedDmg._breachers = {addedTime + k: v for k, v in addedDmg._breachers.items()}\r\n            addedDmg._clear_cached()\r\n            intCacheDmg.setdefault(ddKey, {})[addedTime] = addedDmg\r\n\r\n        # Modules\r\n        for mod in src.item.activeModulesIter():\r\n            if not mod.isDealingDamage():\r\n                continue\r\n            cycleParams = mod.getCycleParametersForDps(reloadOverride=True)\r\n            if cycleParams is None:\r\n                continue\r\n            currentTime = 0\r\n            nonstopCycles = 0\r\n            isBreacher = mod.isBreacher\r\n            for cycleTimeMs, inactiveTimeMs, isInactivityReload in cycleParams.iterCycles():\r\n                cycleVolleys = []\r\n                volleyParams = mod.getVolleyParameters(spoolOptions=SpoolOptions(SpoolType.CYCLES, nonstopCycles, True))\r\n\r\n                for volleyTimeMs, volley in volleyParams.items():\r\n                    cycleVolleys.append(volley)\r\n                    time = currentTime + volleyTimeMs / 1000\r\n                    if isBreacher:\r\n                        time += 1\r\n                    addDmg(mod, time, volley)\r\n                    if isBreacher:\r\n                        break\r\n                timeStart = currentTime\r\n                timeFinish = currentTime + cycleTimeMs / 1000\r\n                if isBreacher:\r\n                    timeStart += 1\r\n                    timeFinish += 1\r\n                addDpsVolley(mod, timeStart, timeFinish, cycleVolleys)\r\n                if inactiveTimeMs > 0:\r\n                    nonstopCycles = 0\r\n                else:\r\n                    nonstopCycles += 1\r\n                if currentTime > maxTime:\r\n                    break\r\n                currentTime += cycleTimeMs / 1000 + inactiveTimeMs / 1000\r\n        # Drones\r\n        for drone in src.item.activeDronesIter():\r\n            if not drone.isDealingDamage():\r\n                continue\r\n            cycleParams = drone.getCycleParameters(reloadOverride=True)\r\n            if cycleParams is None:\r\n                continue\r\n            currentTime = 0\r\n            volleyParams = drone.getVolleyParameters()\r\n            for cycleTimeMs, inactiveTimeMs, isInactivityReload in cycleParams.iterCycles():\r\n                cycleVolleys = []\r\n                for volleyTimeMs, volley in volleyParams.items():\r\n                    cycleVolleys.append(volley)\r\n                    addDmg(drone, currentTime + volleyTimeMs / 1000, volley)\r\n                addDpsVolley(drone, currentTime, currentTime + cycleTimeMs / 1000, cycleVolleys)\r\n                if currentTime > maxTime:\r\n                    break\r\n                currentTime += cycleTimeMs / 1000 + inactiveTimeMs / 1000\r\n        # Fighters\r\n        for fighter in src.item.activeFightersIter():\r\n            if not fighter.isDealingDamage():\r\n                continue\r\n            cycleParams = fighter.getCycleParametersPerEffectOptimizedDps(reloadOverride=True)\r\n            if cycleParams is None:\r\n                continue\r\n            volleyParams = fighter.getVolleyParametersPerEffect()\r\n            for effectID, abilityCycleParams in cycleParams.items():\r\n                if effectID not in volleyParams:\r\n                    continue\r\n                currentTime = 0\r\n                abilityVolleyParams = volleyParams[effectID]\r\n                for cycleTimeMs, inactiveTimeMs, isInactivityReload in abilityCycleParams.iterCycles():\r\n                    cycleVolleys = []\r\n                    for volleyTimeMs, volley in abilityVolleyParams.items():\r\n                        cycleVolleys.append(volley)\r\n                        addDmg((fighter, effectID), currentTime + volleyTimeMs / 1000, volley)\r\n                    addDpsVolley((fighter, effectID), currentTime, currentTime + cycleTimeMs / 1000, cycleVolleys)\r\n                    if currentTime > maxTime:\r\n                        break\r\n                    currentTime += cycleTimeMs / 1000 + inactiveTimeMs / 1000\r\n\r\n    def _isTimeCacheValid(self, src, maxTime):\r\n        try:\r\n            cacheMaxTime = self._data[src.item.ID]['maxTime']\r\n        except KeyError:\r\n            return False\r\n        return maxTime <= cacheMaxTime\r\n\r\n    def _getDataPoint(self, src, time, dataFunc):\r\n        data = dataFunc(src)\r\n        timesBefore = [t for t in data if floatUnerr(t) <= floatUnerr(time)]\r\n        try:\r\n            time = max(timesBefore)\r\n        except ValueError:\r\n            return {}\r\n        else:\r\n            return data[time]\r\n"
  },
  {
    "path": "graphs/data/fitDamageStats/calc/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n"
  },
  {
    "path": "graphs/data/fitDamageStats/calc/application.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\nfrom functools import lru_cache\r\n\r\nfrom eos.calc import calculateRangeFactor\r\nfrom eos.const import FittingHardpoint\r\nfrom eos.utils.float import floatUnerr\r\nfrom graphs.calc import checkLockRange, checkDroneControlRange\r\nfrom service.attribute import Attribute\r\nfrom service.const import GraphDpsDroneMode\r\nfrom service.settings import GraphSettings\r\n\r\n\r\ndef getApplicationPerKey(src, tgt, atkSpeed, atkAngle, distance, tgtSpeed, tgtAngle, tgtSigRadius):\r\n    inLockRange = checkLockRange(src=src, distance=distance)\r\n    inDroneRange = checkDroneControlRange(src=src, distance=distance)\r\n    applicationMap = {}\r\n    for mod in src.item.activeModulesIter():\r\n        if not mod.isDealingDamage():\r\n            continue\r\n        if \"ChainLightning\" in mod.item.effects:\r\n            if inLockRange:\r\n                applicationMap[mod] = getVortonMult(\r\n                    mod=mod,\r\n                    distance=distance,\r\n                    tgtSpeed=tgtSpeed,\r\n                    tgtSigRadius=tgtSigRadius)\r\n        elif mod.hardpoint == FittingHardpoint.TURRET:\r\n            if inLockRange:\r\n                applicationMap[mod] = getTurretMult(\r\n                    mod=mod,\r\n                    src=src,\r\n                    tgt=tgt,\r\n                    atkSpeed=atkSpeed,\r\n                    atkAngle=atkAngle,\r\n                    distance=distance,\r\n                    tgtSpeed=tgtSpeed,\r\n                    tgtAngle=tgtAngle,\r\n                    tgtSigRadius=tgtSigRadius)\r\n            else:\r\n                applicationMap[mod] = 0\r\n        # Missile launcher or civilian missile launcher\r\n        elif mod.hardpoint == FittingHardpoint.MISSILE or mod.item.ID == 32461:\r\n            # FoF missiles can shoot beyond lock range\r\n            if inLockRange or (mod.charge is not None and 'fofMissileLaunching' in mod.charge.effects):\r\n                applicationMap[mod] = getLauncherMult(\r\n                    mod=mod,\r\n                    distance=distance,\r\n                    tgtSpeed=tgtSpeed,\r\n                    tgtSigRadius=tgtSigRadius)\r\n            else:\r\n                applicationMap[mod] = 0\r\n        elif mod.item.group.name in ('Smart Bomb', 'Structure Area Denial Module'):\r\n            applicationMap[mod] = getSmartbombMult(\r\n                mod=mod,\r\n                distance=distance)\r\n        elif mod.item.group.name == 'Missile Launcher Bomb':\r\n            applicationMap[mod] = getBombMult(\r\n                mod=mod,\r\n                src=src,\r\n                tgt=tgt,\r\n                distance=distance,\r\n                tgtSigRadius=tgtSigRadius)\r\n        elif mod.item.group.name == 'Structure Guided Bomb Launcher':\r\n            if inLockRange:\r\n                applicationMap[mod] = getGuidedBombMult(\r\n                    mod=mod,\r\n                    src=src,\r\n                    distance=distance,\r\n                    tgtSigRadius=tgtSigRadius)\r\n            else:\r\n                applicationMap[mod] = 0\r\n        elif mod.item.group.name in ('Super Weapon', 'Structure Doomsday Weapon'):\r\n            # Only single-target DDs need locks\r\n            if not inLockRange and {'superWeaponAmarr', 'superWeaponCaldari', 'superWeaponGallente', 'superWeaponMinmatar', 'lightningWeapon'}.intersection(mod.item.effects):\r\n                applicationMap[mod] = 0\r\n            else:\r\n                applicationMap[mod] = getDoomsdayMult(\r\n                    mod=mod,\r\n                    tgt=tgt,\r\n                    distance=distance,\r\n                    tgtSigRadius=tgtSigRadius)\r\n        elif mod.isBreacher:\r\n            applicationMap[mod] = getBreacherMult(mod=mod, distance=distance) if inLockRange else 0\r\n    for drone in src.item.activeDronesIter():\r\n        if not drone.isDealingDamage():\r\n            continue\r\n        if inLockRange and inDroneRange:\r\n            applicationMap[drone] = getDroneMult(\r\n                drone=drone,\r\n                src=src,\r\n                tgt=tgt,\r\n                atkSpeed=atkSpeed,\r\n                atkAngle=atkAngle,\r\n                distance=distance,\r\n                tgtSpeed=tgtSpeed,\r\n                tgtAngle=tgtAngle,\r\n                tgtSigRadius=tgtSigRadius)\r\n        else:\r\n            applicationMap[drone] = 0\r\n    for fighter in src.item.activeFightersIter():\r\n        if not fighter.isDealingDamage():\r\n            continue\r\n        for ability in fighter.abilities:\r\n            if not ability.dealsDamage or not ability.active:\r\n                continue\r\n            # Bomb launching doesn't need locks\r\n            if inLockRange or ability.effect.name == 'fighterAbilityLaunchBomb':\r\n                applicationMap[(fighter, ability.effectID)] = getFighterAbilityMult(\r\n                    fighter=fighter,\r\n                    ability=ability,\r\n                    src=src,\r\n                    tgt=tgt,\r\n                    distance=distance,\r\n                    tgtSpeed=tgtSpeed,\r\n                    tgtSigRadius=tgtSigRadius)\r\n            else:\r\n                applicationMap[(fighter, ability.effectID)] = 0\r\n    # Ensure consistent results - round off a little to avoid float errors\r\n    for k, v in applicationMap.items():\r\n        applicationMap[k] = floatUnerr(v)\r\n    return applicationMap\r\n\r\n\r\n# Item application multiplier calculation\r\ndef getTurretMult(mod, src, tgt, atkSpeed, atkAngle, distance, tgtSpeed, tgtAngle, tgtSigRadius):\r\n    cth = _calcTurretChanceToHit(\r\n        atkSpeed=atkSpeed,\r\n        atkAngle=atkAngle,\r\n        atkRadius=src.getRadius(),\r\n        atkOptimalRange=mod.maxRange or 0,\r\n        atkFalloffRange=mod.falloff or 0,\r\n        atkTracking=mod.getModifiedItemAttr('trackingSpeed'),\r\n        atkOptimalSigRadius=mod.getModifiedItemAttr('optimalSigRadius'),\r\n        distance=distance,\r\n        tgtSpeed=tgtSpeed,\r\n        tgtAngle=tgtAngle,\r\n        tgtRadius=tgt.getRadius(),\r\n        tgtSigRadius=tgtSigRadius)\r\n    mult = _calcTurretMult(cth)\r\n    return mult\r\n\r\n\r\ndef getVortonMult(mod, distance, tgtSpeed, tgtSigRadius):\r\n    rangeFactor = calculateRangeFactor(\r\n        mod.getModifiedItemAttr('maxRange'),\r\n        0,\r\n        distance)\r\n    applicationFactor = _calcMissileFactor(\r\n        atkEr=mod.getModifiedItemAttr('aoeCloudSize'),\r\n        atkEv=mod.getModifiedItemAttr('aoeVelocity'),\r\n        atkDrf=mod.getModifiedItemAttr('aoeDamageReductionFactor'),\r\n        tgtSpeed=tgtSpeed,\r\n        tgtSigRadius=tgtSigRadius)\r\n    return rangeFactor * applicationFactor\r\n\r\n\r\ndef getLauncherMult(mod, distance, tgtSpeed, tgtSigRadius):\r\n    missileMaxRangeData = mod.missileMaxRangeData\r\n    if missileMaxRangeData is None:\r\n        return 0\r\n    # The ranges already consider ship radius\r\n    lowerRange, higherRange, higherChance = missileMaxRangeData\r\n    if distance is None or distance <= lowerRange:\r\n        distanceFactor = 1\r\n    elif lowerRange < distance <= higherRange:\r\n        distanceFactor = higherChance\r\n    else:\r\n        distanceFactor = 0\r\n    applicationFactor = _calcMissileFactor(\r\n        atkEr=mod.getModifiedChargeAttr('aoeCloudSize'),\r\n        atkEv=mod.getModifiedChargeAttr('aoeVelocity'),\r\n        atkDrf=mod.getModifiedChargeAttr('aoeDamageReductionFactor'),\r\n        tgtSpeed=tgtSpeed,\r\n        tgtSigRadius=tgtSigRadius)\r\n    return distanceFactor * applicationFactor\r\n\r\n\r\ndef getBreacherMult(mod, distance):\r\n    missileMaxRangeData = mod.missileMaxRangeData\r\n    if missileMaxRangeData is None:\r\n        return 0\r\n    # The ranges already consider ship radius\r\n    lowerRange, higherRange, higherChance = missileMaxRangeData\r\n    if distance is None or distance <= lowerRange:\r\n        distanceFactor = 1\r\n    elif lowerRange < distance <= higherRange:\r\n        distanceFactor = higherChance\r\n    else:\r\n        distanceFactor = 0\r\n    return distanceFactor\r\n\r\n\r\ndef getSmartbombMult(mod, distance):\r\n    modRange = mod.maxRange\r\n    if modRange is None:\r\n        return 0\r\n    if distance is not None and distance > modRange:\r\n        return 0\r\n    return 1\r\n\r\n\r\ndef getDoomsdayMult(mod, tgt, distance, tgtSigRadius):\r\n    modRange = mod.maxRange\r\n    # Single-target DDs have no range limit\r\n    if distance is not None and modRange and distance > modRange:\r\n        return 0\r\n    # Single-target titan DDs are vs capitals only\r\n    if {'superWeaponAmarr', 'superWeaponCaldari', 'superWeaponGallente', 'superWeaponMinmatar'}.intersection(mod.item.effects):\r\n        # Disallow only against subcaps, allow against caps and tgt profiles\r\n        if tgt.isFit and not tgt.item.ship.item.requiresSkill('Capital Ships'):\r\n            return 0\r\n    damageSig = mod.getModifiedItemAttr('signatureRadius')\r\n    if not damageSig:\r\n        return 1\r\n    return min(1, tgtSigRadius / damageSig)\r\n\r\n\r\ndef getBombMult(mod, src, tgt, distance, tgtSigRadius):\r\n    modRange = mod.maxRange\r\n    if modRange is None:\r\n        return 0\r\n    blastRadius = mod.getModifiedChargeAttr('explosionRange')\r\n    atkRadius = src.getRadius()\r\n    tgtRadius = tgt.getRadius()\r\n    # Bomb starts in the center of the ship\r\n    # Also here we assume that it affects target as long as blast\r\n    # touches its surface, not center - I did not check this\r\n    if distance is not None and distance < max(0, modRange - atkRadius - tgtRadius - blastRadius):\r\n        return 0\r\n    if distance is not None and distance > max(0, modRange - atkRadius + tgtRadius + blastRadius):\r\n        return 0\r\n    return _calcBombFactor(\r\n        atkEr=mod.getModifiedChargeAttr('aoeCloudSize'),\r\n        tgtSigRadius=tgtSigRadius)\r\n\r\n\r\ndef getGuidedBombMult(mod, src, distance, tgtSigRadius):\r\n    modRange = mod.maxRange\r\n    if modRange is None:\r\n        return 0\r\n    if distance is not None and distance > modRange - src.getRadius():\r\n        return 0\r\n    eR = mod.getModifiedChargeAttr('aoeCloudSize')\r\n    if eR == 0:\r\n        return 1\r\n    else:\r\n        return min(1, tgtSigRadius / eR)\r\n\r\n\r\ndef getDroneMult(drone, src, tgt, atkSpeed, atkAngle, distance, tgtSpeed, tgtAngle, tgtSigRadius):\r\n    if (\r\n        distance is not None and (\r\n            (not GraphSettings.getInstance().get('ignoreDCR') and distance > src.item.extraAttributes['droneControlRange']) or\r\n            (not GraphSettings.getInstance().get('ignoreLockRange') and distance > src.item.maxTargetRange))\r\n    ):\r\n        return 0\r\n    droneSpeed = drone.getModifiedItemAttr('maxVelocity')\r\n    # Hard to simulate drone behavior, so assume chance to hit is 1 for mobile drones\r\n    # which catch up with target\r\n    droneOpt = GraphSettings.getInstance().get('mobileDroneMode')\r\n    if (\r\n        droneSpeed > 1 and (\r\n            (droneOpt == GraphDpsDroneMode.auto and droneSpeed >= tgtSpeed) or\r\n            droneOpt == GraphDpsDroneMode.followTarget)\r\n    ):\r\n        cth = 1\r\n    # Otherwise put the drone into center of the ship, move it at its max speed or ship's speed\r\n    # (whichever is lower) towards direction of attacking ship and see how well it projects\r\n    else:\r\n        droneRadius = drone.getModifiedItemAttr('radius')\r\n        if distance is None:\r\n            cthDistance = None\r\n        else:\r\n            # As distance is ship surface to ship surface, we adjust it according\r\n            # to attacker ship's radiuses to have drone surface to ship surface distance\r\n            cthDistance = distance + src.getRadius() - droneRadius\r\n        cth = _calcTurretChanceToHit(\r\n            atkSpeed=min(atkSpeed, droneSpeed),\r\n            atkAngle=atkAngle,\r\n            atkRadius=droneRadius,\r\n            atkOptimalRange=drone.maxRange or 0,\r\n            atkFalloffRange=drone.falloff or 0,\r\n            atkTracking=drone.getModifiedItemAttr('trackingSpeed'),\r\n            atkOptimalSigRadius=drone.getModifiedItemAttr('optimalSigRadius'),\r\n            distance=cthDistance,\r\n            tgtSpeed=tgtSpeed,\r\n            tgtAngle=tgtAngle,\r\n            tgtRadius=tgt.getRadius(),\r\n            tgtSigRadius=tgtSigRadius)\r\n    mult = _calcTurretMult(cth)\r\n    return mult\r\n\r\n\r\ndef getFighterAbilityMult(fighter, ability, src, tgt, distance, tgtSpeed, tgtSigRadius):\r\n    fighterSpeed = fighter.getModifiedItemAttr('maxVelocity')\r\n    attrPrefix = ability.attrPrefix\r\n    # It's bomb attack\r\n    if attrPrefix == 'fighterAbilityLaunchBomb':\r\n        # Just assume we can land bomb anywhere\r\n        return _calcBombFactor(\r\n            atkEr=fighter.getModifiedChargeAttr('aoeCloudSize'),\r\n            tgtSigRadius=tgtSigRadius)\r\n    droneOpt = GraphSettings.getInstance().get('mobileDroneMode')\r\n    # It's regular missile-based attack\r\n    if (droneOpt == GraphDpsDroneMode.auto and fighterSpeed >= tgtSpeed) or droneOpt == GraphDpsDroneMode.followTarget:\r\n        rangeFactor = 1\r\n    # Same as with drones, if fighters are slower - put them to center of\r\n    # the ship and see how they apply\r\n    else:\r\n        if distance is None:\r\n            rangeFactorDistance = None\r\n        else:\r\n            rangeFactorDistance = distance + src.getRadius() - fighter.getModifiedItemAttr('radius')\r\n        rangeFactor = calculateRangeFactor(\r\n            srcOptimalRange=fighter.getModifiedItemAttr('{}RangeOptimal'.format(attrPrefix)) or fighter.getModifiedItemAttr('{}Range'.format(attrPrefix)),\r\n            srcFalloffRange=fighter.getModifiedItemAttr('{}RangeFalloff'.format(attrPrefix)),\r\n            distance=rangeFactorDistance)\r\n    drf = fighter.getModifiedItemAttr('{}ReductionFactor'.format(attrPrefix), None)\r\n    if drf is None:\r\n        drf = fighter.getModifiedItemAttr('{}DamageReductionFactor'.format(attrPrefix))\r\n    drs = fighter.getModifiedItemAttr('{}ReductionSensitivity'.format(attrPrefix), None)\r\n    if drs is None:\r\n        drs = fighter.getModifiedItemAttr('{}DamageReductionSensitivity'.format(attrPrefix))\r\n    missileFactor = _calcMissileFactor(\r\n        atkEr=fighter.getModifiedItemAttr('{}ExplosionRadius'.format(attrPrefix)),\r\n        atkEv=fighter.getModifiedItemAttr('{}ExplosionVelocity'.format(attrPrefix)),\r\n        atkDrf=_calcAggregatedDrf(reductionFactor=drf, reductionSensitivity=drs),\r\n        tgtSpeed=tgtSpeed,\r\n        tgtSigRadius=tgtSigRadius)\r\n    resistMult = 1\r\n    if tgt.isFit:\r\n        resistAttrID = fighter.getModifiedItemAttr('{}ResistanceID'.format(attrPrefix))\r\n        if resistAttrID:\r\n            resistAttrInfo = Attribute.getInstance().getAttributeInfo(resistAttrID)\r\n            if resistAttrInfo is not None:\r\n                resistMult = tgt.item.ship.getModifiedItemAttr(resistAttrInfo.name, 1)\r\n    mult = rangeFactor * missileFactor * resistMult\r\n    return mult\r\n\r\n\r\n# Turret-specific math\r\n@lru_cache(maxsize=50)\r\ndef _calcTurretMult(chanceToHit):\r\n    \"\"\"Calculate damage multiplier for turret-based weapons.\"\"\"\r\n    # https://wiki.eveuniversity.org/Turret_mechanics#Damage\r\n    wreckingChance = min(chanceToHit, 0.01)\r\n    wreckingPart = wreckingChance * 3\r\n    normalChance = chanceToHit - wreckingChance\r\n    if normalChance > 0:\r\n        avgDamageMult = (0.01 + chanceToHit) / 2 + 0.49\r\n        normalPart = normalChance * avgDamageMult\r\n    else:\r\n        normalPart = 0\r\n    totalMult = normalPart + wreckingPart\r\n    return totalMult\r\n\r\n\r\n@lru_cache(maxsize=1000)\r\ndef _calcTurretChanceToHit(\r\n    atkSpeed, atkAngle, atkRadius, atkOptimalRange, atkFalloffRange, atkTracking, atkOptimalSigRadius,\r\n    distance, tgtSpeed, tgtAngle, tgtRadius, tgtSigRadius\r\n):\r\n    \"\"\"Calculate chance to hit for turret-based weapons.\"\"\"\r\n    # https://wiki.eveuniversity.org/Turret_mechanics#Hit_Math\r\n    angularSpeed = _calcAngularSpeed(atkSpeed, atkAngle, atkRadius, distance, tgtSpeed, tgtAngle, tgtRadius)\r\n    # Turrets can be activated regardless of range to target\r\n    rangeFactor = calculateRangeFactor(atkOptimalRange, atkFalloffRange, distance, restrictedRange=False)\r\n    trackingFactor = _calcTrackingFactor(atkTracking, atkOptimalSigRadius, angularSpeed, tgtSigRadius)\r\n    cth = rangeFactor * trackingFactor\r\n    return cth\r\n\r\n\r\ndef _calcAngularSpeed(atkSpeed, atkAngle, atkRadius, distance, tgtSpeed, tgtAngle, tgtRadius):\r\n    \"\"\"Calculate angular speed based on mobility parameters of two ships.\"\"\"\r\n    if distance is None:\r\n        return 0\r\n    atkAngle = atkAngle * math.pi / 180\r\n    tgtAngle = tgtAngle * math.pi / 180\r\n    ctcDistance = atkRadius + distance + tgtRadius\r\n    # Target is to the right of the attacker, so transversal is projection onto Y axis\r\n    transSpeed = abs(atkSpeed * math.sin(atkAngle) - tgtSpeed * math.sin(tgtAngle))\r\n    if ctcDistance == 0:\r\n        return 0 if transSpeed == 0 else math.inf\r\n    else:\r\n        return transSpeed / ctcDistance\r\n\r\n\r\ndef _calcTrackingFactor(atkTracking, atkOptimalSigRadius, angularSpeed, tgtSigRadius):\r\n    \"\"\"Calculate tracking chance to hit component.\"\"\"\r\n    return 0.5 ** (((angularSpeed * atkOptimalSigRadius) / (atkTracking * tgtSigRadius)) ** 2)\r\n\r\n\r\n# Missile-specific math\r\n@lru_cache(maxsize=200)\r\ndef _calcMissileFactor(atkEr, atkEv, atkDrf, tgtSpeed, tgtSigRadius):\r\n    \"\"\"Missile application.\"\"\"\r\n    factors = [1]\r\n    # \"Slow\" part\r\n    if atkEr > 0:\r\n        factors.append(tgtSigRadius / atkEr)\r\n    # \"Fast\" part\r\n    if tgtSpeed > 0:\r\n        factors.append(((atkEv * tgtSigRadius) / (atkEr * tgtSpeed)) ** atkDrf)\r\n    totalMult = min(factors)\r\n    return totalMult\r\n\r\n\r\ndef _calcAggregatedDrf(reductionFactor, reductionSensitivity):\r\n    \"\"\"\r\n    Sometimes DRF is specified as 2 separate numbers,\r\n    here we combine them into generic form.\r\n    \"\"\"\r\n    return math.log(reductionFactor) / math.log(reductionSensitivity)\r\n\r\n\r\n# Misc math\r\ndef _calcBombFactor(atkEr, tgtSigRadius):\r\n    if atkEr == 0:\r\n        return 1\r\n    else:\r\n        return min(1, tgtSigRadius / atkEr)\r\n"
  },
  {
    "path": "graphs/data/fitDamageStats/calc/projected.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\n\r\nfrom eos.calc import calculateRangeFactor\r\nfrom eos.utils.float import floatUnerr\r\nfrom graphs.calc import checkLockRange, checkDroneControlRange\r\nfrom service.const import GraphDpsDroneMode\r\nfrom service.settings import GraphSettings\r\n\r\n\r\ndef _isRegularScram(mod):\r\n    if not mod.item:\r\n        return False\r\n    if not {'warpScrambleBlockMWDWithNPCEffect', 'structureWarpScrambleBlockMWDWithNPCEffect'}.intersection(mod.item.effects):\r\n        return False\r\n    if not mod.getModifiedItemAttr('activationBlockedStrenght', 0):\r\n        return False\r\n    return True\r\n\r\n\r\ndef _isHicScram(mod):\r\n    if not mod.item:\r\n        return False\r\n    if 'warpDisruptSphere' not in mod.item.effects:\r\n        return False\r\n    if not mod.charge:\r\n        return False\r\n    if 'shipModuleFocusedWarpScramblingScript' not in mod.charge.effects:\r\n        return False\r\n    return True\r\n\r\n\r\ndef getScramRange(src):\r\n    scramRange = None\r\n    for mod in src.item.activeModulesIter():\r\n        if _isRegularScram(mod) or _isHicScram(mod):\r\n            scramRange = max(scramRange or 0, mod.maxRange or 0)\r\n    return scramRange\r\n\r\n\r\ndef getScrammables(tgt):\r\n    scrammables = []\r\n    if tgt.isFit:\r\n        for mod in tgt.item.activeModulesIter():\r\n            if not mod.item:\r\n                continue\r\n            if {'moduleBonusMicrowarpdrive', 'microJumpDrive', 'microJumpPortalDrive'}.intersection(mod.item.effects):\r\n                scrammables.append(mod)\r\n    return scrammables\r\n\r\n\r\ndef getTackledSpeed(src, tgt, currentUntackledSpeed, srcScramRange, tgtScrammables, webMods, webDrones, webFighters, distance):\r\n    # Can slow down non-immune ships and target profiles\r\n    if tgt.isFit and tgt.item.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n        return currentUntackledSpeed\r\n    maxUntackledSpeed = tgt.getMaxVelocity()\r\n    # What's immobile cannot be slowed\r\n    if maxUntackledSpeed == 0:\r\n        return maxUntackledSpeed\r\n    inLockRange = checkLockRange(src=src, distance=distance)\r\n    inDroneRange = checkDroneControlRange(src=src, distance=distance)\r\n    speedRatio = currentUntackledSpeed / maxUntackledSpeed\r\n    # No scrams or distance is longer than longest scram - nullify scrammables list\r\n    if not inLockRange or srcScramRange is None or (distance is not None and distance > srcScramRange):\r\n        tgtScrammables = ()\r\n    appliedMultipliers = {}\r\n    # Modules first, they are always applied the same way\r\n    if inLockRange:\r\n        for wData in webMods:\r\n            appliedBoost = wData.boost * calculateRangeFactor(\r\n                srcOptimalRange=wData.optimal,\r\n                srcFalloffRange=wData.falloff,\r\n                distance=distance)\r\n            if appliedBoost:\r\n                appliedMultipliers.setdefault(wData.stackingGroup, []).append((1 + appliedBoost / 100, wData.resAttrID))\r\n    maxTackledSpeed = tgt.getMaxVelocity(extraMultipliers=appliedMultipliers, ignoreAfflictors=tgtScrammables)\r\n    currentTackledSpeed = maxTackledSpeed * speedRatio\r\n    # Drones and fighters\r\n    mobileWebs = []\r\n    if inLockRange:\r\n        mobileWebs.extend(webFighters)\r\n    if inLockRange and inDroneRange:\r\n        mobileWebs.extend(webDrones)\r\n    atkRadius = src.getRadius()\r\n    # As mobile webs either follow the target or stick to the attacking ship,\r\n    # if target is within mobile web optimal - it can be applied unconditionally\r\n    longEnoughMws = [mw for mw in mobileWebs if distance is None or distance <= mw.optimal - atkRadius + mw.radius]\r\n    if longEnoughMws:\r\n        for mwData in longEnoughMws:\r\n            appliedMultipliers.setdefault(mwData.stackingGroup, []).append((1 + mwData.boost / 100, mwData.resAttrID))\r\n            mobileWebs.remove(mwData)\r\n        maxTackledSpeed = tgt.getMaxVelocity(extraMultipliers=appliedMultipliers, ignoreAfflictors=tgtScrammables)\r\n        currentTackledSpeed = maxTackledSpeed * speedRatio\r\n    # Apply remaining webs, from fastest to slowest\r\n    droneOpt = GraphSettings.getInstance().get('mobileDroneMode')\r\n    while mobileWebs:\r\n        # Process in batches unified by speed to save up resources\r\n        fastestMwSpeed = max(mobileWebs, key=lambda mw: mw.speed).speed\r\n        fastestMws = [mw for mw in mobileWebs if mw.speed == fastestMwSpeed]\r\n        for mwData in fastestMws:\r\n            # Faster than target or set to follow it - apply full slowdown\r\n            if (droneOpt == GraphDpsDroneMode.auto and mwData.speed >= currentTackledSpeed) or droneOpt == GraphDpsDroneMode.followTarget:\r\n                appliedMwBoost = mwData.boost\r\n            # Otherwise project from the center of the ship\r\n            else:\r\n                if distance is None:\r\n                    rangeFactorDistance = None\r\n                else:\r\n                    rangeFactorDistance = distance + atkRadius - mwData.radius\r\n                appliedMwBoost = mwData.boost * calculateRangeFactor(\r\n                    srcOptimalRange=mwData.optimal,\r\n                    srcFalloffRange=mwData.falloff,\r\n                    distance=rangeFactorDistance)\r\n            appliedMultipliers.setdefault(mwData.stackingGroup, []).append((1 + appliedMwBoost / 100, mwData.resAttrID))\r\n            mobileWebs.remove(mwData)\r\n        maxTackledSpeed = tgt.getMaxVelocity(extraMultipliers=appliedMultipliers, ignoreAfflictors=tgtScrammables)\r\n        currentTackledSpeed = maxTackledSpeed * speedRatio\r\n    # Ensure consistent results - round off a little to avoid float errors\r\n    return floatUnerr(currentTackledSpeed)\r\n\r\n\r\ndef getSigRadiusMult(src, tgt, tgtSpeed, srcScramRange, tgtScrammables, tpMods, tpDrones, tpFighters, distance):\r\n    # Can blow non-immune ships and target profiles\r\n    if tgt.isFit and tgt.item.ship.getModifiedItemAttr('disallowOffensiveModifiers'):\r\n        return 1\r\n    inLockRange = checkLockRange(src=src, distance=distance)\r\n    inDroneRange = checkDroneControlRange(src=src, distance=distance)\r\n    initSig = tgt.getSigRadius()\r\n    # No scrams or distance is longer than longest scram - nullify scrammables list\r\n    if not inLockRange or srcScramRange is None or (distance is not None and distance > srcScramRange):\r\n        tgtScrammables = ()\r\n    # TPing modules\r\n    appliedMultipliers = {}\r\n    if inLockRange:\r\n        for tpData in tpMods:\r\n            appliedBoost = tpData.boost * calculateRangeFactor(\r\n                srcOptimalRange=tpData.optimal,\r\n                srcFalloffRange=tpData.falloff,\r\n                distance=distance)\r\n            if appliedBoost:\r\n                appliedMultipliers.setdefault(tpData.stackingGroup, []).append((1 + appliedBoost / 100, tpData.resAttrID))\r\n    # TPing drones\r\n    mobileTps = []\r\n    if inLockRange:\r\n        mobileTps.extend(tpFighters)\r\n    if inLockRange and inDroneRange:\r\n        mobileTps.extend(tpDrones)\r\n    droneOpt = GraphSettings.getInstance().get('mobileDroneMode')\r\n    atkRadius = src.getRadius()\r\n    for mtpData in mobileTps:\r\n        # Faster than target or set to follow it - apply full TP\r\n        if (droneOpt == GraphDpsDroneMode.auto and mtpData.speed >= tgtSpeed) or droneOpt == GraphDpsDroneMode.followTarget:\r\n            appliedMtpBoost = mtpData.boost\r\n        # Otherwise project from the center of the ship\r\n        else:\r\n            if distance is None:\r\n                rangeFactorDistance = None\r\n            else:\r\n                rangeFactorDistance = distance + atkRadius - mtpData.radius\r\n            appliedMtpBoost = mtpData.boost * calculateRangeFactor(\r\n                srcOptimalRange=mtpData.optimal,\r\n                srcFalloffRange=mtpData.falloff,\r\n                distance=rangeFactorDistance)\r\n        appliedMultipliers.setdefault(mtpData.stackingGroup, []).append((1 + appliedMtpBoost / 100, mtpData.resAttrID))\r\n    modifiedSig = tgt.getSigRadius(extraMultipliers=appliedMultipliers, ignoreAfflictors=tgtScrammables)\r\n    if modifiedSig == math.inf and initSig == math.inf:\r\n        return 1\r\n    mult = modifiedSig / initSig\r\n    # Ensure consistent results - round off a little to avoid float errors\r\n    return floatUnerr(mult)\r\n"
  },
  {
    "path": "graphs/data/fitDamageStats/getter.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport eos.config\r\nfrom eos.saveddata.targetProfile import TargetProfile\r\nfrom eos.utils.spoolSupport import SpoolOptions, SpoolType\r\nfrom eos.utils.stats import DmgTypes\r\nfrom graphs.data.base import PointGetter, SmoothPointGetter\r\nfrom service.settings import GraphSettings\r\nfrom .calc.application import getApplicationPerKey\r\nfrom .calc.projected import getScramRange, getScrammables, getTackledSpeed, getSigRadiusMult\r\n\r\n\r\ndef applyDamage(dmgMap, applicationMap, tgtResists, tgtFullHp):\r\n    total = DmgTypes.default()\r\n    for key, dmg in dmgMap.items():\r\n        total += dmg * applicationMap.get(key, 0)\r\n    if not GraphSettings.getInstance().get('ignoreResists'):\r\n        emRes, thermRes, kinRes, exploRes = tgtResists\r\n    else:\r\n        emRes = thermRes = kinRes = exploRes = 0\r\n    total.profile = TargetProfile(\r\n        emAmount=emRes, thermalAmount=thermRes, kineticAmount=kinRes, explosiveAmount=exploRes, hp=tgtFullHp)\r\n    return total\r\n\r\n\r\n# Y mixins\r\nclass YDpsMixin:\r\n\r\n    def _getDamagePerKey(self, src, time):\r\n        # Use data from time cache if time was not specified\r\n        if time is not None:\r\n            return self._getTimeCacheDataPoint(src=src, time=time)\r\n        # Compose map ourselves using current fit settings if time is not specified\r\n        dpsMap = {}\r\n        defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n        for mod in src.item.activeModulesIter():\r\n            if not mod.isDealingDamage():\r\n                continue\r\n            dpsMap[mod] = mod.getDps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False))\r\n        for drone in src.item.activeDronesIter():\r\n            if not drone.isDealingDamage():\r\n                continue\r\n            dpsMap[drone] = drone.getDps()\r\n        for fighter in src.item.activeFightersIter():\r\n            if not fighter.isDealingDamage():\r\n                continue\r\n            for effectID, effectDps in fighter.getDpsPerEffect().items():\r\n                dpsMap[(fighter, effectID)] = effectDps\r\n        return dpsMap\r\n\r\n    def _prepareTimeCache(self, src, maxTime):\r\n        self.graph._timeCache.prepareDpsData(src=src, maxTime=maxTime)\r\n\r\n    def _getTimeCacheData(self, src):\r\n        return self.graph._timeCache.getDpsData(src=src)\r\n\r\n    def _getTimeCacheDataPoint(self, src, time):\r\n        return self.graph._timeCache.getDpsDataPoint(src=src, time=time)\r\n\r\n\r\nclass YVolleyMixin:\r\n\r\n    def _getDamagePerKey(self, src, time):\r\n        # Use data from time cache if time was not specified\r\n        if time is not None:\r\n            return self._getTimeCacheDataPoint(src=src, time=time)\r\n        # Compose map ourselves using current fit settings if time is not specified\r\n        volleyMap = {}\r\n        defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n        for mod in src.item.activeModulesIter():\r\n            if not mod.isDealingDamage():\r\n                continue\r\n            volleyMap[mod] = mod.getVolley(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False))\r\n        for drone in src.item.activeDronesIter():\r\n            if not drone.isDealingDamage():\r\n                continue\r\n            volleyMap[drone] = drone.getVolley()\r\n        for fighter in src.item.activeFightersIter():\r\n            if not fighter.isDealingDamage():\r\n                continue\r\n            for effectID, effectVolley in fighter.getVolleyPerEffect().items():\r\n                volleyMap[(fighter, effectID)] = effectVolley\r\n        return volleyMap\r\n\r\n    def _prepareTimeCache(self, src, maxTime):\r\n        self.graph._timeCache.prepareVolleyData(src=src, maxTime=maxTime)\r\n\r\n    def _getTimeCacheData(self, src):\r\n        return self.graph._timeCache.getVolleyData(src=src)\r\n\r\n    def _getTimeCacheDataPoint(self, src, time):\r\n        return self.graph._timeCache.getVolleyDataPoint(src=src, time=time)\r\n\r\n\r\nclass YInflictedDamageMixin:\r\n\r\n    def _getDamagePerKey(self, src, time):\r\n        # Damage inflicted makes no sense without time specified\r\n        if time is None:\r\n            raise ValueError\r\n        return self._getTimeCacheDataPoint(src=src, time=time)\r\n\r\n    def _prepareTimeCache(self, src, maxTime):\r\n        self.graph._timeCache.prepareDmgData(src=src, maxTime=maxTime)\r\n\r\n    def _getTimeCacheData(self, src):\r\n        return self.graph._timeCache.getDmgData(src=src)\r\n\r\n    def _getTimeCacheDataPoint(self, src, time):\r\n        return self.graph._timeCache.getDmgDataPoint(src=src, time=time)\r\n\r\n\r\n# X mixins\r\nclass XDistanceMixin(SmoothPointGetter):\r\n\r\n    _baseResolution = 50\r\n    _extraDepth = 2\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        # Prepare time cache here because we need to do it only once,\r\n        # and this function is called once per point info fetch\r\n        self._prepareTimeCache(src=src, maxTime=miscParams['time'])\r\n        applyProjected = GraphSettings.getInstance().get('applyProjected')\r\n        return {\r\n            'applyProjected': applyProjected,\r\n            'srcScramRange': getScramRange(src=src) if applyProjected else None,\r\n            'tgtScrammables': getScrammables(tgt=tgt) if applyProjected else (),\r\n            'dmgMap': self._getDamagePerKey(src=src, time=miscParams['time']),\r\n            'tgtResists': tgt.getResists(),\r\n            'tgtFullHp': tgt.getFullHp()}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        distance = x\r\n        tgtSpeed = miscParams['tgtSpeed']\r\n        tgtSigRadius = tgt.getSigRadius()\r\n        if commonData['applyProjected']:\r\n            webMods, tpMods = self.graph._projectedCache.getProjModData(src)\r\n            webDrones, tpDrones = self.graph._projectedCache.getProjDroneData(src)\r\n            webFighters, tpFighters = self.graph._projectedCache.getProjFighterData(src)\r\n            tgtSpeed = getTackledSpeed(\r\n                src=src,\r\n                tgt=tgt,\r\n                currentUntackledSpeed=tgtSpeed,\r\n                srcScramRange=commonData['srcScramRange'],\r\n                tgtScrammables=commonData['tgtScrammables'],\r\n                webMods=webMods,\r\n                webDrones=webDrones,\r\n                webFighters=webFighters,\r\n                distance=distance)\r\n            tgtSigRadius = tgtSigRadius * getSigRadiusMult(\r\n                src=src,\r\n                tgt=tgt,\r\n                tgtSpeed=tgtSpeed,\r\n                srcScramRange=commonData['srcScramRange'],\r\n                tgtScrammables=commonData['tgtScrammables'],\r\n                tpMods=tpMods,\r\n                tpDrones=tpDrones,\r\n                tpFighters=tpFighters,\r\n                distance=distance)\r\n        applicationMap = getApplicationPerKey(\r\n            src=src,\r\n            tgt=tgt,\r\n            atkSpeed=miscParams['atkSpeed'],\r\n            atkAngle=miscParams['atkAngle'],\r\n            distance=distance,\r\n            tgtSpeed=tgtSpeed,\r\n            tgtAngle=miscParams['tgtAngle'],\r\n            tgtSigRadius=tgtSigRadius)\r\n        y = applyDamage(\r\n            dmgMap=commonData['dmgMap'],\r\n            applicationMap=applicationMap,\r\n            tgtResists=commonData['tgtResists'],\r\n            tgtFullHp=commonData['tgtFullHp']).total\r\n        return y\r\n\r\n\r\nclass XTimeMixin(PointGetter):\r\n\r\n    def _prepareApplicationMap(self, miscParams, src, tgt):\r\n        tgtSpeed = miscParams['tgtSpeed']\r\n        tgtSigRadius = tgt.getSigRadius()\r\n        if GraphSettings.getInstance().get('applyProjected'):\r\n            srcScramRange = getScramRange(src=src)\r\n            tgtScrammables = getScrammables(tgt=tgt)\r\n            webMods, tpMods = self.graph._projectedCache.getProjModData(src)\r\n            webDrones, tpDrones = self.graph._projectedCache.getProjDroneData(src)\r\n            webFighters, tpFighters = self.graph._projectedCache.getProjFighterData(src)\r\n            tgtSpeed = getTackledSpeed(\r\n                src=src,\r\n                tgt=tgt,\r\n                currentUntackledSpeed=tgtSpeed,\r\n                srcScramRange=srcScramRange,\r\n                tgtScrammables=tgtScrammables,\r\n                webMods=webMods,\r\n                webDrones=webDrones,\r\n                webFighters=webFighters,\r\n                distance=miscParams['distance'])\r\n            tgtSigRadius = tgtSigRadius * getSigRadiusMult(\r\n                src=src,\r\n                tgt=tgt,\r\n                tgtSpeed=tgtSpeed,\r\n                srcScramRange=srcScramRange,\r\n                tgtScrammables=tgtScrammables,\r\n                tpMods=tpMods,\r\n                tpDrones=tpDrones,\r\n                tpFighters=tpFighters,\r\n                distance=miscParams['distance'])\r\n        # Get all data we need for all times into maps/caches\r\n        applicationMap = getApplicationPerKey(\r\n            src=src,\r\n            tgt=tgt,\r\n            atkSpeed=miscParams['atkSpeed'],\r\n            atkAngle=miscParams['atkAngle'],\r\n            distance=miscParams['distance'],\r\n            tgtSpeed=tgtSpeed,\r\n            tgtAngle=miscParams['tgtAngle'],\r\n            tgtSigRadius=tgtSigRadius)\r\n        return applicationMap\r\n\r\n    def getRange(self, xRange, miscParams, src, tgt):\r\n        xs = []\r\n        ys = []\r\n        minTime, maxTime = xRange\r\n        # Prepare time cache and various shared data\r\n        self._prepareTimeCache(src=src, maxTime=maxTime)\r\n        timeCache = self._getTimeCacheData(src=src)\r\n        applicationMap = self._prepareApplicationMap(miscParams=miscParams, src=src, tgt=tgt)\r\n        # Custom iteration for time graph to show all data points\r\n        currentDmg = None\r\n        currentTime = None\r\n        for currentTime in sorted(timeCache):\r\n            prevDmg = currentDmg\r\n            currentDmgData = timeCache[currentTime]\r\n            currentDmg = applyDamage(\r\n                dmgMap=currentDmgData,\r\n                applicationMap=applicationMap,\r\n                tgtResists=tgt.getResists(),\r\n                tgtFullHp=tgt.getFullHp()).total\r\n            if currentTime < minTime:\r\n                continue\r\n            # First set of data points\r\n            if not xs:\r\n                # Start at exactly requested time, at last known value\r\n                initialDmg = prevDmg or 0\r\n                xs.append(minTime)\r\n                ys.append(initialDmg)\r\n                # If current time is bigger then starting, extend plot to that time with old value\r\n                if currentTime > minTime:\r\n                    xs.append(currentTime)\r\n                    ys.append(initialDmg)\r\n                # If new value is different, extend it with new point to the new value\r\n                if currentDmg != prevDmg:\r\n                    xs.append(currentTime)\r\n                    ys.append(currentDmg)\r\n                continue\r\n            # Last data point\r\n            if currentTime >= maxTime:\r\n                xs.append(maxTime)\r\n                ys.append(prevDmg)\r\n                break\r\n            # Anything in-between\r\n            if currentDmg != prevDmg:\r\n                if prevDmg is not None:\r\n                    xs.append(currentTime)\r\n                    ys.append(prevDmg)\r\n                xs.append(currentTime)\r\n                ys.append(currentDmg)\r\n        # Special case - there are no damage dealers\r\n        if currentDmg is None and currentTime is None:\r\n            xs.append(minTime)\r\n            ys.append(0)\r\n        # Make sure that last data point is always at max time\r\n        if maxTime > (currentTime or 0):\r\n            xs.append(maxTime)\r\n            ys.append(currentDmg or 0)\r\n        return xs, ys\r\n\r\n    def getPoint(self, x, miscParams, src, tgt):\r\n        time = x\r\n        # Prepare time cache and various data\r\n        self._prepareTimeCache(src=src, maxTime=time)\r\n        dmgData = self._getTimeCacheDataPoint(src=src, time=time)\r\n        applicationMap = self._prepareApplicationMap(miscParams=miscParams, src=src, tgt=tgt)\r\n        y = applyDamage(\r\n            dmgMap=dmgData,\r\n            applicationMap=applicationMap,\r\n            tgtResists=tgt.getResists(),\r\n            tgtFullHp=tgt.getFullHp()).total\r\n        return y\r\n\r\n\r\nclass XTgtSpeedMixin(SmoothPointGetter):\r\n\r\n    _baseResolution = 50\r\n    _extraDepth = 2\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        # Prepare time cache here because we need to do it only once,\r\n        # and this function is called once per point info fetch\r\n        self._prepareTimeCache(src=src, maxTime=miscParams['time'])\r\n        return {\r\n            'applyProjected': GraphSettings.getInstance().get('applyProjected'),\r\n            'dmgMap': self._getDamagePerKey(src=src, time=miscParams['time']),\r\n            'tgtResists': tgt.getResists(),\r\n            'tgtFullHp': tgt.getFullHp()}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        tgtSpeed = x\r\n        tgtSigRadius = tgt.getSigRadius()\r\n        if commonData['applyProjected']:\r\n            srcScramRange = getScramRange(src=src)\r\n            tgtScrammables = getScrammables(tgt=tgt)\r\n            webMods, tpMods = self.graph._projectedCache.getProjModData(src)\r\n            webDrones, tpDrones = self.graph._projectedCache.getProjDroneData(src)\r\n            webFighters, tpFighters = self.graph._projectedCache.getProjFighterData(src)\r\n            tgtSpeed = getTackledSpeed(\r\n                src=src,\r\n                tgt=tgt,\r\n                currentUntackledSpeed=tgtSpeed,\r\n                srcScramRange=srcScramRange,\r\n                tgtScrammables=tgtScrammables,\r\n                webMods=webMods,\r\n                webDrones=webDrones,\r\n                webFighters=webFighters,\r\n                distance=miscParams['distance'])\r\n            tgtSigRadius = tgtSigRadius * getSigRadiusMult(\r\n                src=src,\r\n                tgt=tgt,\r\n                tgtSpeed=tgtSpeed,\r\n                srcScramRange=srcScramRange,\r\n                tgtScrammables=tgtScrammables,\r\n                tpMods=tpMods,\r\n                tpDrones=tpDrones,\r\n                tpFighters=tpFighters,\r\n                distance=miscParams['distance'])\r\n        applicationMap = getApplicationPerKey(\r\n            src=src,\r\n            tgt=tgt,\r\n            atkSpeed=miscParams['atkSpeed'],\r\n            atkAngle=miscParams['atkAngle'],\r\n            distance=miscParams['distance'],\r\n            tgtSpeed=tgtSpeed,\r\n            tgtAngle=miscParams['tgtAngle'],\r\n            tgtSigRadius=tgtSigRadius)\r\n        y = applyDamage(\r\n            dmgMap=commonData['dmgMap'],\r\n            applicationMap=applicationMap,\r\n            tgtResists=commonData['tgtResists'],\r\n            tgtFullHp=commonData['tgtFullHp']).total\r\n        return y\r\n\r\n\r\nclass XTgtSigRadiusMixin(SmoothPointGetter):\r\n\r\n    _baseResolution = 50\r\n    _extraDepth = 2\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        tgtSpeed = miscParams['tgtSpeed']\r\n        tgtSigMult = 1\r\n        if GraphSettings.getInstance().get('applyProjected'):\r\n            srcScramRange = getScramRange(src=src)\r\n            tgtScrammables = getScrammables(tgt=tgt)\r\n            webMods, tpMods = self.graph._projectedCache.getProjModData(src)\r\n            webDrones, tpDrones = self.graph._projectedCache.getProjDroneData(src)\r\n            webFighters, tpFighters = self.graph._projectedCache.getProjFighterData(src)\r\n            tgtSpeed = getTackledSpeed(\r\n                src=src,\r\n                tgt=tgt,\r\n                currentUntackledSpeed=tgtSpeed,\r\n                srcScramRange=srcScramRange,\r\n                tgtScrammables=tgtScrammables,\r\n                webMods=webMods,\r\n                webDrones=webDrones,\r\n                webFighters=webFighters,\r\n                distance=miscParams['distance'])\r\n            tgtSigMult = getSigRadiusMult(\r\n                src=src,\r\n                tgt=tgt,\r\n                tgtSpeed=tgtSpeed,\r\n                srcScramRange=srcScramRange,\r\n                tgtScrammables=tgtScrammables,\r\n                tpMods=tpMods,\r\n                tpDrones=tpDrones,\r\n                tpFighters=tpFighters,\r\n                distance=miscParams['distance'])\r\n        # Prepare time cache here because we need to do it only once,\r\n        # and this function is called once per point info fetch\r\n        self._prepareTimeCache(src=src, maxTime=miscParams['time'])\r\n        return {\r\n            'tgtSpeed': tgtSpeed,\r\n            'tgtSigMult': tgtSigMult,\r\n            'dmgMap': self._getDamagePerKey(src=src, time=miscParams['time']),\r\n            'tgtResists': tgt.getResists(),\r\n            'tgtFullHp': tgt.getFullHp()}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        tgtSigRadius = x\r\n        applicationMap = getApplicationPerKey(\r\n            src=src,\r\n            tgt=tgt,\r\n            atkSpeed=miscParams['atkSpeed'],\r\n            atkAngle=miscParams['atkAngle'],\r\n            distance=miscParams['distance'],\r\n            tgtSpeed=commonData['tgtSpeed'],\r\n            tgtAngle=miscParams['tgtAngle'],\r\n            tgtSigRadius=tgtSigRadius * commonData['tgtSigMult'])\r\n        y = applyDamage(\r\n            dmgMap=commonData['dmgMap'],\r\n            applicationMap=applicationMap,\r\n            tgtResists=commonData['tgtResists'],\r\n            tgtFullHp=commonData['tgtFullHp']).total\r\n        return y\r\n\r\n\r\n# Final getters\r\nclass Distance2DpsGetter(XDistanceMixin, YDpsMixin):\r\n    pass\r\n\r\n\r\nclass Distance2VolleyGetter(XDistanceMixin, YVolleyMixin):\r\n    pass\r\n\r\n\r\nclass Distance2InflictedDamageGetter(XDistanceMixin, YInflictedDamageMixin):\r\n    pass\r\n\r\n\r\nclass Time2DpsGetter(XTimeMixin, YDpsMixin):\r\n    pass\r\n\r\n\r\nclass Time2VolleyGetter(XTimeMixin, YVolleyMixin):\r\n    pass\r\n\r\n\r\nclass Time2InflictedDamageGetter(XTimeMixin, YInflictedDamageMixin):\r\n    pass\r\n\r\n\r\nclass TgtSpeed2DpsGetter(XTgtSpeedMixin, YDpsMixin):\r\n    pass\r\n\r\n\r\nclass TgtSpeed2VolleyGetter(XTgtSpeedMixin, YVolleyMixin):\r\n    pass\r\n\r\n\r\nclass TgtSpeed2InflictedDamageGetter(XTgtSpeedMixin, YInflictedDamageMixin):\r\n    pass\r\n\r\n\r\nclass TgtSigRadius2DpsGetter(XTgtSigRadiusMixin, YDpsMixin):\r\n    pass\r\n\r\n\r\nclass TgtSigRadius2VolleyGetter(XTgtSigRadiusMixin, YVolleyMixin):\r\n    pass\r\n\r\n\r\nclass TgtSigRadius2InflictedDamageGetter(XTgtSigRadiusMixin, YInflictedDamageMixin):\r\n    pass\r\n"
  },
  {
    "path": "graphs/data/fitDamageStats/graph.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport wx\r\n\r\nfrom graphs.data.base import FitGraph, Input, VectorDef, XDef, YDef\r\nfrom service.const import GraphCacheCleanupReason\r\nfrom service.settings import GraphSettings\r\nfrom .cache import ProjectedDataCache, TimeCache\r\nfrom .getter import (Distance2DpsGetter, Distance2InflictedDamageGetter, Distance2VolleyGetter, TgtSigRadius2DpsGetter, TgtSigRadius2InflictedDamageGetter,\r\n                     TgtSigRadius2VolleyGetter, TgtSpeed2DpsGetter, TgtSpeed2InflictedDamageGetter, TgtSpeed2VolleyGetter, Time2DpsGetter,\r\n                     Time2InflictedDamageGetter, Time2VolleyGetter)\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FitDamageStatsGraph(FitGraph):\r\n\r\n    def __init__(self, *args, **kwargs):\r\n        super().__init__(*args, **kwargs)\r\n        self._timeCache = TimeCache()\r\n        self._projectedCache = ProjectedDataCache()\r\n\r\n    def _clearInternalCache(self, reason, extraData):\r\n        # Here, we care only about fit changes and graph changes.\r\n        # - Input changes are irrelevant as time cache cares only about\r\n        # time input, and it regenerates once time goes beyond cached value\r\n        # - Option changes are irrelevant as cache contains \"raw\" damage\r\n        # values which do not rely on any graph options\r\n        if reason in (GraphCacheCleanupReason.fitChanged, GraphCacheCleanupReason.fitRemoved):\r\n            self._timeCache.clearForFit(extraData)\r\n            self._projectedCache.clearForFit(extraData)\r\n        elif reason == GraphCacheCleanupReason.graphSwitched:\r\n            self._timeCache.clearAll()\r\n            self._projectedCache.clearAll()\r\n\r\n    # UI stuff\r\n    internalName = 'dmgStatsGraph'\r\n    name = _t('Damage Stats')\r\n    xDefs = [\r\n        XDef(handle='distance', unit='km', label=_t('Distance'), mainInput=('distance', 'km')),\r\n        XDef(handle='time', unit='s', label=_t('Time'), mainInput=('time', 's')),\r\n        XDef(handle='tgtSpeed', unit='m/s', label=_t('Target speed'), mainInput=('tgtSpeed', '%')),\r\n        XDef(handle='tgtSpeed', unit='%', label=_t('Target speed'), mainInput=('tgtSpeed', '%')),\r\n        XDef(handle='tgtSigRad', unit='m', label=_t('Target signature radius'), mainInput=('tgtSigRad', '%')),\r\n        XDef(handle='tgtSigRad', unit='%', label=_t('Target signature radius'), mainInput=('tgtSigRad', '%'))]\r\n    inputs = [\r\n        Input(handle='distance', unit='km', label=_t('Distance'), iconID=1391, defaultValue=None, defaultRange=(0, 100),\r\n              mainTooltip=_t('Distance between the attacker and the target, as seen in overview (surface-to-surface)'),\r\n              secondaryTooltip=_t('Distance between the attacker and the target, as seen in overview (surface-to-surface)\\nWhen set, places the target that far away from the attacker\\nWhen not set, attacker\\'s weapons always hit the target')),\r\n        Input(handle='time', unit='s', label=_t('Time'), iconID=1392, defaultValue=None, defaultRange=(0, 80),\r\n              secondaryTooltip=_t('When set, uses attacker\\'s exact damage stats at a given time\\nWhen not set, uses attacker\\'s damage stats as shown in stats panel of main window')),\r\n        Input(handle='tgtSpeed', unit='%', label=_t('Target speed'), iconID=1389, defaultValue=100, defaultRange=(0, 100)),\r\n        Input(handle='tgtSigRad', unit='%', label=_t('Target signature'), iconID=1390, defaultValue=100, defaultRange=(100, 200), conditions=[\r\n            (('tgtSigRad', 'm'), None),\r\n            (('tgtSigRad', '%'), None)])]\r\n    srcVectorDef = VectorDef(lengthHandle='atkSpeed', lengthUnit='%', angleHandle='atkAngle', angleUnit='degrees', label=_t('Attacker'))\r\n    tgtVectorDef = VectorDef(lengthHandle='tgtSpeed', lengthUnit='%', angleHandle='tgtAngle', angleUnit='degrees', label=_t('Target'))\r\n    hasTargets = True\r\n    srcExtraCols = ('Dps', 'Volley', 'Speed', 'Radius')\r\n\r\n    @property\r\n    def yDefs(self):\r\n        ignoreResists = GraphSettings.getInstance().get('ignoreResists')\r\n        return [\r\n            YDef(handle='dps', unit=None, label=_t('DPS') if ignoreResists else _t('Effective DPS')),\r\n            YDef(handle='volley', unit=None, label=_t('Volley') if ignoreResists else _t('Effective volley')),\r\n            YDef(handle='damage', unit=None, label=_t('Damage inflicted') if ignoreResists else _t('Effective damage inflicted'))]\r\n\r\n    @property\r\n    def tgtExtraCols(self):\r\n        cols = []\r\n        if not GraphSettings.getInstance().get('ignoreResists'):\r\n            cols.append('Target Resists')\r\n        cols.extend(('Speed', 'SigRadius', 'Radius', 'FullHP'))\r\n        return cols\r\n\r\n    # Calculation stuff\r\n    _normalizers = {\r\n        ('distance', 'km'): lambda v, src, tgt: None if v is None else v * 1000,\r\n        ('atkSpeed', '%'): lambda v, src, tgt: v / 100 * src.getMaxVelocity(),\r\n        ('tgtSpeed', '%'): lambda v, src, tgt: v / 100 * tgt.getMaxVelocity(),\r\n        ('tgtSigRad', '%'): lambda v, src, tgt: v / 100 * tgt.getSigRadius()}\r\n    _limiters = {'time': lambda src, tgt: (0, 2500)}\r\n    _getters = {\r\n        ('distance', 'dps'): Distance2DpsGetter,\r\n        ('distance', 'volley'): Distance2VolleyGetter,\r\n        ('distance', 'damage'): Distance2InflictedDamageGetter,\r\n        ('time', 'dps'): Time2DpsGetter,\r\n        ('time', 'volley'): Time2VolleyGetter,\r\n        ('time', 'damage'): Time2InflictedDamageGetter,\r\n        ('tgtSpeed', 'dps'): TgtSpeed2DpsGetter,\r\n        ('tgtSpeed', 'volley'): TgtSpeed2VolleyGetter,\r\n        ('tgtSpeed', 'damage'): TgtSpeed2InflictedDamageGetter,\r\n        ('tgtSigRad', 'dps'): TgtSigRadius2DpsGetter,\r\n        ('tgtSigRad', 'volley'): TgtSigRadius2VolleyGetter,\r\n        ('tgtSigRad', 'damage'): TgtSigRadius2InflictedDamageGetter}\r\n    _denormalizers = {\r\n        ('distance', 'km'): lambda v, src, tgt: None if v is None else v / 1000,\r\n        ('tgtSpeed', '%'): lambda v, src, tgt: v * 100 / tgt.getMaxVelocity(),\r\n        ('tgtSigRad', '%'): lambda v, src, tgt: v * 100 / tgt.getSigRadius()}\r\n"
  },
  {
    "path": "graphs/data/fitEcmBurstScanresDamps/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom .graph import FitEcmBurstScanresDampsGraph\r\n\r\n\r\nFitEcmBurstScanresDampsGraph.register()\r\n"
  },
  {
    "path": "graphs/data/fitEcmBurstScanresDamps/getter.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom eos.calc import calculateLockTime\r\nfrom graphs.data.base import SmoothPointGetter\r\n\r\n\r\nECM_BURST_DURATION = 30\r\nDRONE_LOCK_TIME = 2\r\n\r\n\r\nclass TgtScanRes2TgtLockTimeGetter(SmoothPointGetter):\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        if miscParams['applyDamps']:\r\n            tgtScanResMult = src.item.getDampMultScanRes()\r\n        else:\r\n            tgtScanResMult = 1\r\n        return {\r\n            'tgtScanResMult': tgtScanResMult,\r\n            'sigRadius': src.item.ship.getModifiedItemAttr('signatureRadius')}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        scanRes = x\r\n        time = calculateLockTime(\r\n            srcScanRes=scanRes * commonData['tgtScanResMult'],\r\n            tgtSigRadius=commonData['sigRadius'])\r\n        return time\r\n\r\n\r\nclass TgtScanRes2TgtLockUptimeGetter(TgtScanRes2TgtLockTimeGetter):\r\n\r\n    def _calculatePoint(self, *args, **kwargs):\r\n        # Assuming you ECM burst every 30 seconds, find out how long you\r\n        # will be locked before you burst another time\r\n        lockTime = super()._calculatePoint(*args, **kwargs)\r\n        lockedTime = max(0, ECM_BURST_DURATION - lockTime)\r\n        return lockedTime\r\n\r\n\r\nclass SrcDmgBaseGetter(SmoothPointGetter):\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        if miscParams['applyDamps']:\r\n            tgtScanResMult = src.item.getDampMultScanRes()\r\n        else:\r\n            tgtScanResMult = 1\r\n        return {\r\n            'tgtScanResMult': tgtScanResMult,\r\n            'srcSigRadius': src.item.ship.getModifiedItemAttr('signatureRadius'),\r\n            'srcEhp': sum(src.item.ehp.values()),\r\n            'srcDpsWeapon': src.item.getWeaponDps().total,\r\n            'srcDpsDrone': src.item.getDroneDps().total if miscParams['applyDrones'] else 0}\r\n\r\n    @staticmethod\r\n    def _calculateInflictedDamage(srcSigRadius, srcWeaponDps, srcDroneDps, srcEhp, tgtScanRes, tgtDps, uptimeAdjustment, uptimeAmountLimit):\r\n        lockTime = calculateLockTime(srcScanRes=tgtScanRes, tgtSigRadius=srcSigRadius)\r\n        lockUptime = max(0, ECM_BURST_DURATION - lockTime - uptimeAdjustment)\r\n        lockDowntime = ECM_BURST_DURATION - lockUptime\r\n        inflictedDmg = 0\r\n        remainingEhp = srcEhp\r\n        for i in range(int(uptimeAmountLimit)):\r\n            timeAliveUnderFire = min(lockUptime, remainingEhp / tgtDps)\r\n            timeAlive = lockDowntime + timeAliveUnderFire\r\n            remainingEhp -= lockUptime * tgtDps\r\n            inflictedDmg += timeAlive * srcWeaponDps\r\n            inflictedDmg += max(0, timeAlive - DRONE_LOCK_TIME - 1) * srcDroneDps\r\n            if remainingEhp <= 0:\r\n                break\r\n        return inflictedDmg\r\n\r\n\r\nclass TgtScanRes2SrcDmgGetter(SrcDmgBaseGetter):\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        damage = self._calculateInflictedDamage(\r\n            srcSigRadius=commonData['srcSigRadius'],\r\n            srcWeaponDps=commonData['srcDpsWeapon'],\r\n            srcDroneDps=commonData['srcDpsDrone'],\r\n            srcEhp=commonData['srcEhp'],\r\n            tgtScanRes=x * commonData['tgtScanResMult'],\r\n            tgtDps=miscParams['tgtDps'],\r\n            uptimeAdjustment=miscParams['uptimeAdj'],\r\n            uptimeAmountLimit=miscParams['uptimeAmtLimit'])\r\n        return damage\r\n\r\n\r\nclass TgtDps2SrcDmgGetter(SrcDmgBaseGetter):\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        damage = self._calculateInflictedDamage(\r\n            srcSigRadius=commonData['srcSigRadius'],\r\n            srcWeaponDps=commonData['srcDpsWeapon'],\r\n            srcDroneDps=commonData['srcDpsDrone'],\r\n            srcEhp=commonData['srcEhp'],\r\n            tgtScanRes=miscParams['tgtScanRes'] * commonData['tgtScanResMult'],\r\n            tgtDps=x,\r\n            uptimeAdjustment=miscParams['uptimeAdj'],\r\n            uptimeAmountLimit=miscParams['uptimeAmtLimit'])\r\n        return damage\r\n"
  },
  {
    "path": "graphs/data/fitEcmBurstScanresDamps/graph.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\n\"\"\"\r\nDisclaimer by kadesh: this graph was made to analyze my ECM burst + damp frig\r\nconcept. I do not think it is useful for regular player, so it is disabled.\r\nEnable by setting config.experimentalFeatures = True.\r\n\"\"\"\r\n\r\n\r\nimport math\r\n\r\nfrom graphs.data.base import FitGraph, XDef, YDef, Input, InputCheckbox\r\nfrom .getter import (\r\n    TgtScanRes2TgtLockTimeGetter, TgtScanRes2TgtLockUptimeGetter,\r\n    TgtScanRes2SrcDmgGetter, TgtDps2SrcDmgGetter)\r\n\r\n\r\nclass FitEcmBurstScanresDampsGraph(FitGraph):\r\n\r\n    # UI stuff\r\n    hidden = True\r\n    internalName = 'ecmBurstScanresDamps'\r\n    name = 'ECM Burst + Scanres Damps'\r\n    xDefs = [\r\n        XDef(handle='tgtDps', unit=None, label='Enemy DPS', mainInput=('tgtDps', None)),\r\n        XDef(handle='tgtScanRes', unit='mm', label='Enemy scanres', mainInput=('tgtScanRes', 'mm'))]\r\n    yDefs = [\r\n        YDef(handle='srcDmg', unit=None, label='Damage inflicted'),\r\n        YDef(handle='tgtLockTime', unit='s', label='Lock time'),\r\n        YDef(handle='tgtLockUptime', unit='s', label='Lock uptime')]\r\n    inputs = [\r\n        Input(handle='tgtScanRes', unit='mm', label='Enemy scanres', iconID=74, defaultValue=700, defaultRange=(100, 1000)),\r\n        Input(handle='tgtDps', unit=None, label='Enemy DPS', iconID=1432, defaultValue=200, defaultRange=(100, 600)),\r\n        Input(handle='uptimeAdj', unit='s', label='Uptime adjustment', iconID=1392, defaultValue=1, defaultRange=(None, None), conditions=[(None, ('srcDmg', None))]),\r\n        Input(handle='uptimeAmtLimit', unit=None, label='Max amount of uptimes', iconID=1397, defaultValue=3, defaultRange=(None, None), conditions=[(None, ('srcDmg', None))])]\r\n    checkboxes = [\r\n        InputCheckbox(handle='applyDamps', label='Apply sensor dampeners', defaultValue=True),\r\n        InputCheckbox(handle='applyDrones', label='Use drones', defaultValue=True, conditions=[(None, ('srcDmg', None))])]\r\n    srcExtraCols = ('SigRadius', 'Damp ScanRes')\r\n\r\n    # Calculation stuff\r\n    _limiters = {'tgtScanRes': lambda src, tgt: (1, math.inf)}\r\n    _getters = {\r\n        ('tgtScanRes', 'tgtLockTime'): TgtScanRes2TgtLockTimeGetter,\r\n        ('tgtScanRes', 'tgtLockUptime'): TgtScanRes2TgtLockUptimeGetter,\r\n        ('tgtScanRes', 'srcDmg'): TgtScanRes2SrcDmgGetter,\r\n        ('tgtDps', 'srcDmg'): TgtDps2SrcDmgGetter}\r\n"
  },
  {
    "path": "graphs/data/fitEwarStats/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom .graph import FitEwarStatsGraph\r\n\r\n\r\nFitEwarStatsGraph.register()\r\n"
  },
  {
    "path": "graphs/data/fitEwarStats/getter.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\n\r\nfrom eos.calc import calculateMultiplier, calculateRangeFactor\r\nfrom graphs.calc import checkLockRange, checkDroneControlRange\r\nfrom graphs.data.base import SmoothPointGetter\r\n\r\n\r\nclass Distance2NeutingStrGetter(SmoothPointGetter):\r\n\r\n    _baseResolution = 50\r\n    _extraDepth = 2\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        resonance = 1 - (miscParams['resist'] or 0)\r\n        neuts = []\r\n        for mod in src.item.activeModulesIter():\r\n            for effectName in ('energyNeutralizerFalloff', 'structureEnergyNeutralizerFalloff'):\r\n                if effectName in mod.item.effects:\r\n                    neuts.append((\r\n                        mod.getModifiedItemAttr('energyNeutralizerAmount') / self.__getDuration(mod) * resonance,\r\n                        mod.maxRange or 0, mod.falloff or 0, True, False))\r\n            if 'energyNosferatuFalloff' in mod.item.effects and mod.getModifiedItemAttr('nosOverride'):\r\n                neuts.append((\r\n                    mod.getModifiedItemAttr('powerTransferAmount') / self.__getDuration(mod) * resonance,\r\n                    mod.maxRange or 0, mod.falloff or 0, True, False))\r\n            if 'doomsdayAOENeut' in mod.item.effects:\r\n                neuts.append((\r\n                    mod.getModifiedItemAttr('energyNeutralizerAmount') / self.__getDuration(mod) * resonance,\r\n                    max(0, (mod.maxRange or 0) + mod.getModifiedItemAttr('doomsdayAOERange')),\r\n                    mod.falloff or 0, False, False))\r\n        for drone in src.item.activeDronesIter():\r\n            if 'entityEnergyNeutralizerFalloff' in drone.item.effects:\r\n                neuts.extend(drone.amountActive * ((\r\n                    drone.getModifiedItemAttr('energyNeutralizerAmount') / (drone.getModifiedItemAttr('energyNeutralizerDuration') / 1000) * resonance,\r\n                    math.inf, 0, True, True),))\r\n        for fighter, ability in src.item.activeFighterAbilityIter():\r\n            if ability.effect.name == 'fighterAbilityEnergyNeutralizer':\r\n                nps = fighter.getModifiedItemAttr('fighterAbilityEnergyNeutralizerAmount') / (ability.cycleTime / 1000)\r\n                neuts.append((\r\n                    nps * fighter.amount * resonance,\r\n                    math.inf, 0, True, False))\r\n        return {'neuts': neuts}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        distance = x\r\n        inLockRange = checkLockRange(src=src, distance=distance)\r\n        inDroneRange = checkDroneControlRange(src=src, distance=distance)\r\n        combinedStr = 0\r\n        for strength, optimal, falloff, needsLock, needsDcr in commonData['neuts']:\r\n            if (needsLock and not inLockRange) or (needsDcr and not inDroneRange):\r\n                continue\r\n            combinedStr += strength * calculateRangeFactor(srcOptimalRange=optimal, srcFalloffRange=falloff, distance=distance)\r\n        return combinedStr\r\n\r\n    def __getDuration(self, mod):\r\n        return getattr(mod.getCycleParameters(), 'averageTime', math.inf) / 1000\r\n\r\n\r\nclass Distance2WebbingStrGetter(SmoothPointGetter):\r\n\r\n    _baseResolution = 50\r\n    _extraDepth = 2\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        resonance = 1 - (miscParams['resist'] or 0)\r\n        webs = []\r\n        for mod in src.item.activeModulesIter():\r\n            for effectName in ('remoteWebifierFalloff', 'structureModuleEffectStasisWebifier'):\r\n                if effectName in mod.item.effects:\r\n                    webs.append((\r\n                        mod.getModifiedItemAttr('speedFactor') * resonance,\r\n                        mod.maxRange or 0, mod.falloff or 0, 'default', True, False))\r\n            if 'doomsdayAOEWeb' in mod.item.effects:\r\n                webs.append((\r\n                    mod.getModifiedItemAttr('speedFactor') * resonance,\r\n                    max(0, (mod.maxRange or 0) + mod.getModifiedItemAttr('doomsdayAOERange')),\r\n                    mod.falloff or 0, 'default', False, False))\r\n        for drone in src.item.activeDronesIter():\r\n            if 'remoteWebifierEntity' in drone.item.effects:\r\n                webs.extend(drone.amountActive * ((\r\n                    drone.getModifiedItemAttr('speedFactor') * resonance,\r\n                    math.inf, 0, 'default', True, True),))\r\n        for fighter, ability in src.item.activeFighterAbilityIter():\r\n            if ability.effect.name == 'fighterAbilityStasisWebifier':\r\n                webs.append((\r\n                    fighter.getModifiedItemAttr('fighterAbilityStasisWebifierSpeedPenalty') * fighter.amount * resonance,\r\n                    math.inf, 0, 'default', True, False))\r\n        return {'webs': webs}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        distance = x\r\n        inLockRange = checkLockRange(src=src, distance=distance)\r\n        inDroneRange = checkDroneControlRange(src=src, distance=distance)\r\n        strMults = {}\r\n        for strength, optimal, falloff, stackingGroup, needsLock, needsDcr in commonData['webs']:\r\n            if (needsLock and not inLockRange) or (needsDcr and not inDroneRange):\r\n                continue\r\n            strength *= calculateRangeFactor(srcOptimalRange=optimal, srcFalloffRange=falloff, distance=distance)\r\n            strMults.setdefault(stackingGroup, []).append((1 + strength / 100, None))\r\n        strMult = calculateMultiplier(strMults)\r\n        strength = (1 - strMult) * 100\r\n        return strength\r\n\r\n\r\nclass Distance2EcmStrMaxGetter(SmoothPointGetter):\r\n\r\n    _baseResolution = 50\r\n    _extraDepth = 2\r\n\r\n    ECM_ATTRS_GENERAL = ('scanGravimetricStrengthBonus', 'scanLadarStrengthBonus', 'scanMagnetometricStrengthBonus', 'scanRadarStrengthBonus')\r\n    ECM_ATTRS_FIGHTERS = ('fighterAbilityECMStrengthGravimetric', 'fighterAbilityECMStrengthLadar', 'fighterAbilityECMStrengthMagnetometric', 'fighterAbilityECMStrengthRadar')\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        resonance = 1 - (miscParams['resist'] or 0)\r\n        ecms = []\r\n        for mod in src.item.activeModulesIter():\r\n            for effectName in ('remoteECMFalloff', 'structureModuleEffectECM'):\r\n                if effectName in mod.item.effects:\r\n                    ecms.append((\r\n                        max(mod.getModifiedItemAttr(a) for a in self.ECM_ATTRS_GENERAL) * resonance,\r\n                        mod.maxRange or 0, mod.falloff or 0, True, False))\r\n            if 'doomsdayAOEECM' in mod.item.effects:\r\n                ecms.append((\r\n                    max(mod.getModifiedItemAttr(a) for a in self.ECM_ATTRS_GENERAL) * resonance,\r\n                    max(0, (mod.maxRange or 0) + mod.getModifiedItemAttr('doomsdayAOERange')),\r\n                    mod.falloff or 0, False, False))\r\n        for drone in src.item.activeDronesIter():\r\n            if 'entityECMFalloff' in drone.item.effects:\r\n                ecms.extend(drone.amountActive * ((\r\n                    max(drone.getModifiedItemAttr(a) for a in self.ECM_ATTRS_GENERAL) * resonance,\r\n                    math.inf, 0, True, True),))\r\n        for fighter, ability in src.item.activeFighterAbilityIter():\r\n            if ability.effect.name == 'fighterAbilityECM':\r\n                ecms.append((\r\n                    max(fighter.getModifiedItemAttr(a) for a in self.ECM_ATTRS_FIGHTERS) * fighter.amount * resonance,\r\n                    math.inf, 0, True, False))\r\n        return {'ecms': ecms}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        distance = x\r\n        inLockRange = checkLockRange(src=src, distance=distance)\r\n        inDroneRange = checkDroneControlRange(src=src, distance=distance)\r\n        combinedStr = 0\r\n        for strength, optimal, falloff, needsLock, needsDcr in commonData['ecms']:\r\n            if (needsLock and not inLockRange) or (needsDcr and not inDroneRange):\r\n                continue\r\n            combinedStr += strength * calculateRangeFactor(srcOptimalRange=optimal, srcFalloffRange=falloff, distance=distance)\r\n        return combinedStr\r\n\r\n\r\nclass Distance2DampStrLockRangeGetter(SmoothPointGetter):\r\n\r\n    _baseResolution = 50\r\n    _extraDepth = 2\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        resonance = 1 - (miscParams['resist'] or 0)\r\n        damps = []\r\n        for mod in src.item.activeModulesIter():\r\n            for effectName in ('remoteSensorDampFalloff', 'structureModuleEffectRemoteSensorDampener'):\r\n                if effectName in mod.item.effects:\r\n                    damps.append((\r\n                        mod.getModifiedItemAttr('maxTargetRangeBonus') * resonance,\r\n                        mod.maxRange or 0, mod.falloff or 0, 'default', True, False))\r\n            if 'doomsdayAOEDamp' in mod.item.effects:\r\n                damps.append((\r\n                    mod.getModifiedItemAttr('maxTargetRangeBonus') * resonance,\r\n                    max(0, (mod.maxRange or 0) + mod.getModifiedItemAttr('doomsdayAOERange')),\r\n                    mod.falloff or 0, 'default', False, False))\r\n        for drone in src.item.activeDronesIter():\r\n            if 'remoteSensorDampEntity' in drone.item.effects:\r\n                damps.extend(drone.amountActive * ((\r\n                    drone.getModifiedItemAttr('maxTargetRangeBonus') * resonance,\r\n                    math.inf, 0, 'default', True, True),))\r\n        return {'damps': damps}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        distance = x\r\n        inLockRange = checkLockRange(src=src, distance=distance)\r\n        inDroneRange = checkDroneControlRange(src=src, distance=distance)\r\n        strMults = {}\r\n        for strength, optimal, falloff, stackingGroup, needsLock, needsDcr in commonData['damps']:\r\n            if (needsLock and not inLockRange) or (needsDcr and not inDroneRange):\r\n                continue\r\n            strength *= calculateRangeFactor(srcOptimalRange=optimal, srcFalloffRange=falloff, distance=distance)\r\n            strMults.setdefault(stackingGroup, []).append((1 + strength / 100, None))\r\n        strMult = calculateMultiplier(strMults)\r\n        strength = (1 - strMult) * 100\r\n        return strength\r\n\r\n\r\nclass Distance2TdStrOptimalGetter(SmoothPointGetter):\r\n\r\n    _baseResolution = 50\r\n    _extraDepth = 2\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        resonance = 1 - (miscParams['resist'] or 0)\r\n        tds = []\r\n        for mod in src.item.activeModulesIter():\r\n            for effectName in ('shipModuleTrackingDisruptor', 'structureModuleEffectWeaponDisruption'):\r\n                if effectName in mod.item.effects:\r\n                    tds.append((\r\n                        mod.getModifiedItemAttr('maxRangeBonus') * resonance,\r\n                        mod.maxRange or 0, mod.falloff or 0, 'default', True, False))\r\n            if 'doomsdayAOETrack' in mod.item.effects:\r\n                tds.append((\r\n                    mod.getModifiedItemAttr('maxRangeBonus') * resonance,\r\n                    max(0, (mod.maxRange or 0) + mod.getModifiedItemAttr('doomsdayAOERange')),\r\n                    mod.falloff or 0, 'default', False, False))\r\n        for drone in src.item.activeDronesIter():\r\n            if 'npcEntityWeaponDisruptor' in drone.item.effects:\r\n                tds.extend(drone.amountActive * ((\r\n                    drone.getModifiedItemAttr('maxRangeBonus') * resonance,\r\n                    math.inf, 0, 'default', True, True),))\r\n        return {'tds': tds}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        distance = x\r\n        inLockRange = checkLockRange(src=src, distance=distance)\r\n        inDroneRange = checkDroneControlRange(src=src, distance=distance)\r\n        strMults = {}\r\n        for strength, optimal, falloff, stackingGroup, needsLock, needsDcr in commonData['tds']:\r\n            if (needsLock and not inLockRange) or (needsDcr and not inDroneRange):\r\n                continue\r\n            strength *= calculateRangeFactor(srcOptimalRange=optimal, srcFalloffRange=falloff, distance=distance)\r\n            strMults.setdefault(stackingGroup, []).append((1 + strength / 100, None))\r\n        strMult = calculateMultiplier(strMults)\r\n        strength = (1 - strMult) * 100\r\n        return strength\r\n\r\n\r\nclass Distance2GdStrRangeGetter(SmoothPointGetter):\r\n\r\n    _baseResolution = 50\r\n    _extraDepth = 2\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        resonance = 1 - (miscParams['resist'] or 0)\r\n        gds = []\r\n        for mod in src.item.activeModulesIter():\r\n            for effectName in ('shipModuleGuidanceDisruptor', 'structureModuleEffectWeaponDisruption'):\r\n                if effectName in mod.item.effects:\r\n                    gds.append((\r\n                        mod.getModifiedItemAttr('missileVelocityBonus') * resonance,\r\n                        mod.getModifiedItemAttr('explosionDelayBonus') * resonance,\r\n                        mod.maxRange or 0, mod.falloff or 0, 'default', True, False))\r\n            if 'doomsdayAOETrack' in mod.item.effects:\r\n                gds.append((\r\n                    mod.getModifiedItemAttr('missileVelocityBonus') * resonance,\r\n                    mod.getModifiedItemAttr('explosionDelayBonus') * resonance,\r\n                    max(0, (mod.maxRange or 0) + mod.getModifiedItemAttr('doomsdayAOERange')),\r\n                    mod.falloff or 0, 'default', False, False))\r\n        return {'gds': gds}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        distance = x\r\n        inLockRange = checkLockRange(src=src, distance=distance)\r\n        inDroneRange = checkDroneControlRange(src=src, distance=distance)\r\n        velocityStrMults = {}\r\n        timeStrMults = {}\r\n        for velocityStr, timeStr, optimal, falloff, stackingGroup, needsLock, needsDcr in commonData['gds']:\r\n            if (needsLock and not inLockRange) or (needsDcr and not inDroneRange):\r\n                continue\r\n            rangeFactor = calculateRangeFactor(srcOptimalRange=optimal, srcFalloffRange=falloff, distance=distance)\r\n            velocityStr *= rangeFactor\r\n            timeStr *= rangeFactor\r\n            velocityStrMults.setdefault(stackingGroup, []).append((1 + velocityStr / 100, None))\r\n            timeStrMults.setdefault(stackingGroup, []).append((1 + timeStr / 100, None))\r\n        velocityStrMult = calculateMultiplier(velocityStrMults)\r\n        timeStrMult = calculateMultiplier(timeStrMults)\r\n        strength = (1 - velocityStrMult * timeStrMult) * 100\r\n        return strength\r\n\r\n\r\nclass Distance2TpStrGetter(SmoothPointGetter):\r\n\r\n    _baseResolution = 50\r\n    _extraDepth = 2\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        resonance = 1 - (miscParams['resist'] or 0)\r\n        tps = []\r\n        for mod in src.item.activeModulesIter():\r\n            for effectName in ('remoteTargetPaintFalloff', 'structureModuleEffectTargetPainter'):\r\n                if effectName in mod.item.effects:\r\n                    tps.append((\r\n                        mod.getModifiedItemAttr('signatureRadiusBonus') * resonance,\r\n                        mod.maxRange or 0, mod.falloff or 0, 'default', True, False))\r\n            if 'doomsdayAOEPaint' in mod.item.effects:\r\n                tps.append((\r\n                    mod.getModifiedItemAttr('signatureRadiusBonus') * resonance,\r\n                    max(0, (mod.maxRange or 0) + mod.getModifiedItemAttr('doomsdayAOERange')),\r\n                    mod.falloff or 0, 'default', False, False))\r\n        for drone in src.item.activeDronesIter():\r\n            if 'remoteTargetPaintEntity' in drone.item.effects:\r\n                tps.extend(drone.amountActive * ((\r\n                    drone.getModifiedItemAttr('signatureRadiusBonus') * resonance,\r\n                    math.inf, 0, 'default', True, True),))\r\n        return {'tps': tps}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        distance = x\r\n        inLockRange = checkLockRange(src=src, distance=distance)\r\n        inDroneRange = checkDroneControlRange(src=src, distance=distance)\r\n        strMults = {}\r\n        for strength, optimal, falloff, stackingGroup, needsLock, needsDcr in commonData['tps']:\r\n            if (needsLock and not inLockRange) or (needsDcr and not inDroneRange):\r\n                continue\r\n            strength *= calculateRangeFactor(srcOptimalRange=optimal, srcFalloffRange=falloff, distance=distance)\r\n            strMults.setdefault(stackingGroup, []).append((1 + strength / 100, None))\r\n        strMult = calculateMultiplier(strMults)\r\n        strength = (strMult - 1) * 100\r\n        return strength\r\n"
  },
  {
    "path": "graphs/data/fitEwarStats/graph.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport wx\r\n\r\nfrom graphs.data.base import FitGraph, Input, XDef, YDef\r\nfrom .getter import (Distance2DampStrLockRangeGetter, Distance2EcmStrMaxGetter, Distance2GdStrRangeGetter, Distance2NeutingStrGetter, Distance2TdStrOptimalGetter,\r\n                     Distance2TpStrGetter, Distance2WebbingStrGetter)\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FitEwarStatsGraph(FitGraph):\r\n    # UI stuff\r\n    internalName = 'ewarStatsGraph'\r\n    name = _t('Electronic Warfare Stats')\r\n    xDefs = [XDef(handle='distance', unit='km', label=_t('Distance'), mainInput=('distance', 'km'))]\r\n    yDefs = [\r\n        YDef(handle='neutStr', unit=None, label=_t('Cap neutralized per second'), selectorLabel=_t('Neuts: cap per second')),\r\n        YDef(handle='webStr', unit='%', label=_t('Speed reduction'), selectorLabel=_t('Webs: speed reduction')),\r\n        YDef(handle='ecmStrMax', unit=None, label=_t('Combined ECM strength'), selectorLabel=_t('ECM: combined strength')),\r\n        YDef(handle='dampStrLockRange', unit='%', label=_t('Lock range reduction'), selectorLabel=_t('Damps: lock range reduction')),\r\n        YDef(handle='tdStrOptimal', unit='%', label=_t('Turret optimal range reduction'), selectorLabel=_t('TDs: turret optimal range reduction')),\r\n        YDef(handle='gdStrRange', unit='%', label=_t('Missile flight range reduction'), selectorLabel=_t('GDs: missile flight range reduction')),\r\n        YDef(handle='tpStr', unit='%', label=_t('Signature radius increase'), selectorLabel=_t('TPs: signature radius increase'))]\r\n    inputs = [\r\n        Input(handle='distance', unit='km', label=_t('Distance'), iconID=1391, defaultValue=None, defaultRange=(0, 100)),\r\n        Input(handle='resist', unit='%', label=_t('Target resistance'), iconID=1393, defaultValue=0, defaultRange=(0, 100))]\r\n\r\n    # Calculation stuff\r\n    _normalizers = {\r\n        ('distance', 'km'): lambda v, src, tgt: None if v is None else v * 1000,\r\n        ('resist', '%'): lambda v, src, tgt: None if v is None else v / 100}\r\n    _limiters = {'resist': lambda src, tgt: (0, 1)}\r\n    _getters = {\r\n        ('distance', 'neutStr'): Distance2NeutingStrGetter,\r\n        ('distance', 'webStr'): Distance2WebbingStrGetter,\r\n        ('distance', 'ecmStrMax'): Distance2EcmStrMaxGetter,\r\n        ('distance', 'dampStrLockRange'): Distance2DampStrLockRangeGetter,\r\n        ('distance', 'tdStrOptimal'): Distance2TdStrOptimalGetter,\r\n        ('distance', 'gdStrRange'): Distance2GdStrRangeGetter,\r\n        ('distance', 'tpStr'): Distance2TpStrGetter}\r\n    _denormalizers = {('distance', 'km'): lambda v, src, tgt: None if v is None else v / 1000}\r\n"
  },
  {
    "path": "graphs/data/fitLockTime/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom .graph import FitLockTimeGraph\r\n\r\n\r\nFitLockTimeGraph.register()\r\n"
  },
  {
    "path": "graphs/data/fitLockTime/getter.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom graphs.data.base import SmoothPointGetter\r\n\r\n\r\nclass TgtSigRadius2LockTimeGetter(SmoothPointGetter):\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        tgtSigRadius = x\r\n        time = src.item.calculateLockTime(radius=tgtSigRadius)\r\n        return time\r\n"
  },
  {
    "path": "graphs/data/fitLockTime/graph.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\n\r\nimport wx\r\n\r\nfrom graphs.data.base import FitGraph, Input, XDef, YDef\r\nfrom .getter import TgtSigRadius2LockTimeGetter\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FitLockTimeGraph(FitGraph):\r\n    # UI stuff\r\n    internalName = 'lockTimeGraph'\r\n    name = _t('Lock Time')\r\n    xDefs = [XDef(handle='tgtSigRad', unit='m', label=_t('Target signature radius'), mainInput=('tgtSigRad', 'm'))]\r\n    yDefs = [YDef(handle='time', unit='s', label=_t('Lock time'))]\r\n    inputs = [Input(handle='tgtSigRad', unit='m', label=_t('Target signature'), iconID=1390, defaultValue=None, defaultRange=(25, 500))]\r\n    srcExtraCols = ('ScanResolution',)\r\n\r\n    # Calculation stuff\r\n    _limiters = {'tgtSigRad': lambda src, tgt: (1, math.inf)}\r\n    _getters = {('tgtSigRad', 'time'): TgtSigRadius2LockTimeGetter}\r\n"
  },
  {
    "path": "graphs/data/fitMobility/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom .graph import FitMobilityGraph\r\n\r\n\r\nFitMobilityGraph.register()\r\n"
  },
  {
    "path": "graphs/data/fitMobility/getter.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\n\r\nfrom graphs.data.base import SmoothPointGetter\r\n\r\n\r\nclass Time2DistanceGetter(SmoothPointGetter):\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        return {\r\n            'maxSpeed': src.getMaxVelocity(),\r\n            'mass': src.item.ship.getModifiedItemAttr('mass'),\r\n            'agility': src.item.ship.getModifiedItemAttr('agility')}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        time = x\r\n        maxSpeed = commonData['maxSpeed']\r\n        mass = commonData['mass']\r\n        agility = commonData['agility']\r\n        # Definite integral of:\r\n        # https://wiki.eveuniversity.org/Acceleration#Mathematics_and_formulae\r\n        distance_t = maxSpeed * time + (maxSpeed * agility * mass * math.exp((-time * 1000000) / (agility * mass)) / 1000000)\r\n        distance_0 = maxSpeed * 0 + (maxSpeed * agility * mass * math.exp((-0 * 1000000) / (agility * mass)) / 1000000)\r\n        distance = distance_t - distance_0\r\n        return distance\r\n\r\n\r\nclass Time2SpeedGetter(SmoothPointGetter):\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        return {\r\n            'maxSpeed': src.getMaxVelocity(),\r\n            'mass': src.item.ship.getModifiedItemAttr('mass'),\r\n            'agility': src.item.ship.getModifiedItemAttr('agility')}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        time = x\r\n        maxSpeed = commonData['maxSpeed']\r\n        mass = commonData['mass']\r\n        agility = commonData['agility']\r\n        # https://wiki.eveuniversity.org/Acceleration#Mathematics_and_formulae\r\n        speed = maxSpeed * (1 - math.exp((-time * 1000000) / (agility * mass)))\r\n        return speed\r\n\r\n\r\nclass Time2MomentumGetter(Time2SpeedGetter):\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        mass = commonData['mass']\r\n        speed = Time2SpeedGetter._calculatePoint(\r\n            self, x=x, miscParams=miscParams,\r\n            src=src, tgt=tgt, commonData=commonData)\r\n        momentum = speed * mass\r\n        return momentum\r\n\r\n\r\nclass Time2BumpSpeedGetter(Time2SpeedGetter):\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        # S. Santorine, Ship Motion in EVE-Online, p3, Collisions & Bumping section\r\n        # https://docs.google.com/document/d/1rwVWjTvzVdPEFETf0vwm649AFb4bgRBaNLpRPaoB03o\r\n        # Internally, Santorine's formulas are using millions of kilograms, so we normalize to them here\r\n        bumperMass = commonData['mass'] / 10 ** 6\r\n        bumperSpeed = Time2SpeedGetter._calculatePoint(\r\n            self, x=x, miscParams=miscParams,\r\n            src=src, tgt=tgt, commonData=commonData)\r\n        tgtMass = miscParams['tgtMass'] / 10 ** 6\r\n        tgtSpeed = (2 * bumperSpeed * bumperMass) / (bumperMass + tgtMass)\r\n        return tgtSpeed\r\n\r\n\r\nclass Time2BumpDistanceGetter(Time2BumpSpeedGetter):\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        # S. Santorine, Ship Motion in EVE-Online, p3, Collisions & Bumping section\r\n        # https://docs.google.com/document/d/1rwVWjTvzVdPEFETf0vwm649AFb4bgRBaNLpRPaoB03o\r\n        # Internally, Santorine's formulas are using millions of kilograms, so we normalize to them here\r\n        tgtMass = miscParams['tgtMass'] / 10 ** 6\r\n        tgtInertia = miscParams['tgtInertia']\r\n        tgtSpeed = Time2BumpSpeedGetter._calculatePoint(\r\n            self, x=x, miscParams=miscParams,\r\n            src=src, tgt=tgt, commonData=commonData)\r\n        tgtDistance = tgtSpeed * tgtMass * tgtInertia\r\n        return tgtDistance\r\n"
  },
  {
    "path": "graphs/data/fitMobility/graph.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport wx\r\n\r\nfrom graphs.data.base import FitGraph, Input, XDef, YDef\r\nfrom .getter import Time2BumpDistanceGetter, Time2BumpSpeedGetter, Time2DistanceGetter, Time2MomentumGetter, Time2SpeedGetter\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FitMobilityGraph(FitGraph):\r\n    # UI stuff\r\n    internalName = 'mobilityGraph'\r\n    name = _t('Mobility')\r\n    xDefs = [XDef(handle='time', unit='s', label=_t('Time'), mainInput=('time', 's'))]\r\n    yDefs = [\r\n        YDef(handle='speed', unit='m/s', label=_t('Speed')),\r\n        YDef(handle='distance', unit='km', label=_t('Distance')),\r\n        YDef(handle='momentum', unit='Gkg⋅m/s', label=_t('Momentum')),\r\n        YDef(handle='bumpSpeed', unit='m/s', label=_t('Target speed'), selectorLabel=_t('Bump speed')),\r\n        YDef(handle='bumpDistance', unit='km', label=_t('Target distance traveled'), selectorLabel=_t('Bump distance'))]\r\n    inputs = [\r\n        Input(handle='time', unit='s', label=_t('Time'), iconID=1392, defaultValue=10, defaultRange=(0, 30)),\r\n        # Default values in target fields correspond to a random carrier/fax\r\n        Input(handle='tgtMass', unit='Mkg', label=_t('Target mass'), iconID=76, defaultValue=1300, defaultRange=(100, 2500),\r\n              conditions=[(None, ('bumpSpeed', 'm/s')), (None, ('bumpDistance', 'km'))], secondaryTooltip=_t('Defined in millions of kilograms')),\r\n        Input(handle='tgtInertia', unit=None, label=_t('Target inertia factor'), iconID=1401, defaultValue=0.015, defaultRange=(0.03, 0.1),\r\n              conditions=[(None, ('bumpDistance', 'km'))], secondaryTooltip=_t('Inertia Modifier attribute value of the target ship'))]\r\n    srcExtraCols = ('Speed', 'Agility')\r\n\r\n    # Calculation stuff\r\n    _normalizers = {('tgtMass', 'Mkg'): lambda v, src, tgt: None if v is None else v * 10 ** 6}\r\n    _getters = {\r\n        ('time', 'speed'): Time2SpeedGetter,\r\n        ('time', 'distance'): Time2DistanceGetter,\r\n        ('time', 'momentum'): Time2MomentumGetter,\r\n        ('time', 'bumpSpeed'): Time2BumpSpeedGetter,\r\n        ('time', 'bumpDistance'): Time2BumpDistanceGetter}\r\n    _denormalizers = {\r\n        ('distance', 'km'): lambda v, src, tgt: v / 1000,\r\n        ('momentum', 'Gkg⋅m/s'): lambda v, src, tgt: v / 10 ** 9,\r\n        ('bumpDistance', 'km'): lambda v, src, tgt: v / 1000}\r\n"
  },
  {
    "path": "graphs/data/fitRemoteReps/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom .graph import FitRemoteRepsGraph\r\n\r\n\r\nFitRemoteRepsGraph.register()\r\n"
  },
  {
    "path": "graphs/data/fitRemoteReps/cache.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom copy import copy\r\n\r\nfrom eos.utils.float import floatUnerr\r\nfrom eos.utils.spoolSupport import SpoolOptions, SpoolType\r\nfrom eos.utils.stats import RRTypes\r\nfrom graphs.data.base import FitDataCache\r\n\r\n\r\nclass TimeCache(FitDataCache):\r\n\r\n    # Whole data getters\r\n    def getRpsData(self, src, ancReload):\r\n        \"\"\"Return RPS data in {time: {key: rps}} format.\"\"\"\r\n        return self._data[src.item.ID][ancReload]['finalRps']\r\n\r\n    def getRepAmountData(self, src, ancReload):\r\n        \"\"\"Return rep amount data in {time: {key: amount}} format.\"\"\"\r\n        return self._data[src.item.ID][ancReload]['finalRepAmount']\r\n\r\n    # Specific data point getters\r\n    def getRpsDataPoint(self, src, ancReload, time):\r\n        \"\"\"Get RPS data by specified time in {key: rps} format.\"\"\"\r\n        return self._getDataPoint(src=src, ancReload=ancReload, time=time, dataFunc=self.getRpsData)\r\n\r\n    def getRepAmountDataPoint(self, src, ancReload, time):\r\n        \"\"\"Get rep amount data by specified time in {key: amount} format.\"\"\"\r\n        return self._getDataPoint(src=src, ancReload=ancReload, time=time, dataFunc=self.getRepAmountData)\r\n\r\n    # Preparation functions\r\n    def prepareRpsData(self, src, ancReload, maxTime):\r\n        # Time is none means that time parameter has to be ignored,\r\n        # we do not need cache for that\r\n        if maxTime is None:\r\n            return True\r\n        self._generateInternalForm(src=src, ancReload=ancReload, maxTime=maxTime)\r\n        fitCache = self._data[src.item.ID][ancReload]\r\n        # Final cache has been generated already, don't do anything\r\n        if 'finalRps' in fitCache:\r\n            return\r\n        # Convert cache from segments with assigned values into points\r\n        # which are located at times when rps value changes\r\n        pointCache = {}\r\n        for key, rpsList in fitCache['internalRps'].items():\r\n            pointData = pointCache[key] = {}\r\n            prevRps = None\r\n            prevTimeEnd = None\r\n            for timeStart, timeEnd, rps in rpsList:\r\n                # First item\r\n                if not pointData:\r\n                    pointData[timeStart] = rps\r\n                # Gap between items\r\n                elif floatUnerr(prevTimeEnd) < floatUnerr(timeStart):\r\n                    pointData[prevTimeEnd] = RRTypes(0, 0, 0, 0)\r\n                    pointData[timeStart] = rps\r\n                # Changed value\r\n                elif rps != prevRps:\r\n                    pointData[timeStart] = rps\r\n                prevRps = rps\r\n                prevTimeEnd = timeEnd\r\n        # We have data in another form, do not need old one any longer\r\n        del fitCache['internalRps']\r\n        changesByTime = {}\r\n        for key, rpsMap in pointCache.items():\r\n            for time in rpsMap:\r\n                changesByTime.setdefault(time, []).append(key)\r\n        # Here we convert cache to following format:\r\n        # {time: {key: rps}\r\n        finalRpsCache = fitCache['finalRps'] = {}\r\n        timeRpsData = {}\r\n        for time in sorted(changesByTime):\r\n            timeRpsData = copy(timeRpsData)\r\n            for key in changesByTime[time]:\r\n                timeRpsData[key] = pointCache[key][time]\r\n            finalRpsCache[time] = timeRpsData\r\n\r\n    def prepareRepAmountData(self, src, ancReload, maxTime):\r\n        # Time is none means that time parameter has to be ignored,\r\n        # we do not need cache for that\r\n        if maxTime is None:\r\n            return\r\n        self._generateInternalForm(src=src, ancReload=ancReload, maxTime=maxTime)\r\n        fitCache = self._data[src.item.ID][ancReload]\r\n        # Final cache has been generated already, don't do anything\r\n        if 'finalRepAmount' in fitCache:\r\n            return\r\n        intCache = fitCache['internalRepAmount']\r\n        changesByTime = {}\r\n        for key, remAmountMap in intCache.items():\r\n            for time in remAmountMap:\r\n                changesByTime.setdefault(time, []).append(key)\r\n        # Here we convert cache to following format:\r\n        # {time: {key: hp repaired by key at this time}}\r\n        finalCache = fitCache['finalRepAmount'] = {}\r\n        timeRepAmountData = {}\r\n        for time in sorted(changesByTime):\r\n            timeRepAmountData = copy(timeRepAmountData)\r\n            for key in changesByTime[time]:\r\n                keyRepAmount = intCache[key][time]\r\n                if key in timeRepAmountData:\r\n                    timeRepAmountData[key] = timeRepAmountData[key] + keyRepAmount\r\n                else:\r\n                    timeRepAmountData[key] = keyRepAmount\r\n            finalCache[time] = timeRepAmountData\r\n        # We do not need internal cache once we have final\r\n        del fitCache['internalRepAmount']\r\n\r\n    # Private stuff\r\n    def _generateInternalForm(self, src, ancReload, maxTime):\r\n        if self._isTimeCacheValid(src=src, ancReload=ancReload, maxTime=maxTime):\r\n            return\r\n        fitCache = self._data.setdefault(src.item.ID, {})[ancReload] = {'maxTime': maxTime}\r\n        intCacheRps = fitCache['internalRps'] = {}\r\n        intCacheRepAmount = fitCache['internalRepAmount'] = {}\r\n\r\n        def addRps(rrKey, addedTimeStart, addedTimeFinish, addedRepAmounts):\r\n            if not addedRepAmounts:\r\n                return\r\n            repAmountSum = sum(addedRepAmounts, RRTypes(0, 0, 0, 0))\r\n            if repAmountSum.shield > 0 or repAmountSum.armor > 0 or repAmountSum.hull > 0:\r\n                addedRps = repAmountSum / (addedTimeFinish - addedTimeStart)\r\n                rrCacheRps = intCacheRps.setdefault(rrKey, [])\r\n                rrCacheRps.append((addedTimeStart, addedTimeFinish, addedRps))\r\n\r\n        def addRepAmount(rrKey, addedTime, addedRepAmount):\r\n            if addedRepAmount.shield > 0 or addedRepAmount.armor > 0 or addedRepAmount.hull > 0:\r\n                intCacheRepAmount.setdefault(rrKey, {})[addedTime] = addedRepAmount\r\n\r\n        # Modules\r\n        for mod in src.item.activeModulesIter():\r\n            if not mod.isRemoteRepping():\r\n                continue\r\n            isAncShield = 'shipModuleAncillaryRemoteShieldBooster' in mod.item.effects\r\n            isAncArmor = 'shipModuleAncillaryRemoteArmorRepairer' in mod.item.effects\r\n            if isAncShield or isAncArmor:\r\n                cycleParams = mod.getCycleParameters(reloadOverride=ancReload)\r\n            else:\r\n                cycleParams = mod.getCycleParameters(reloadOverride=True)\r\n            if cycleParams is None:\r\n                continue\r\n            currentTime = 0\r\n            nonstopCycles = 0\r\n            cyclesWithoutReload = 0\r\n            cyclesUntilReload = mod.numShots\r\n            for cycleTimeMs, inactiveTimeMs, isInactivityReload in cycleParams.iterCycles():\r\n                cyclesWithoutReload += 1\r\n                cycleRepAmounts = []\r\n                repAmountParams = mod.getRepAmountParameters(spoolOptions=SpoolOptions(SpoolType.CYCLES, nonstopCycles, True))\r\n                for repTimeMs, repAmount in repAmountParams.items():\r\n                    # Loaded ancillary armor rep can keep running at less efficiency if we decide to not reload\r\n                    if isAncArmor and mod.charge and not ancReload and cyclesWithoutReload > cyclesUntilReload:\r\n                        repAmount = repAmount / mod.getModifiedItemAttr('chargedArmorDamageMultiplier', 1)\r\n                    cycleRepAmounts.append(repAmount)\r\n                    addRepAmount(mod, currentTime + repTimeMs / 1000, repAmount)\r\n                addRps(mod, currentTime, currentTime + cycleTimeMs / 1000, cycleRepAmounts)\r\n                if inactiveTimeMs > 0:\r\n                    nonstopCycles = 0\r\n                else:\r\n                    nonstopCycles += 1\r\n                if isInactivityReload:\r\n                    cyclesWithoutReload = 0\r\n                if currentTime > maxTime:\r\n                    break\r\n                currentTime += cycleTimeMs / 1000 + inactiveTimeMs / 1000\r\n        # Drones\r\n        for drone in src.item.activeDronesIter():\r\n            if not drone.isRemoteRepping():\r\n                continue\r\n            cycleParams = drone.getCycleParameters(reloadOverride=True)\r\n            if cycleParams is None:\r\n                continue\r\n            currentTime = 0\r\n            repAmountParams = drone.getRepAmountParameters()\r\n            for cycleTimeMs, inactiveTimeMs, isInactivityReload in cycleParams.iterCycles():\r\n                cycleRepAmounts = []\r\n                for repTimeMs, repAmount in repAmountParams.items():\r\n                    cycleRepAmounts.append(repAmount)\r\n                    addRepAmount(drone, currentTime + repTimeMs / 1000, repAmount)\r\n                addRps(drone, currentTime, currentTime + cycleTimeMs / 1000, cycleRepAmounts)\r\n                if currentTime > maxTime:\r\n                    break\r\n                currentTime += cycleTimeMs / 1000 + inactiveTimeMs / 1000\r\n\r\n    def _isTimeCacheValid(self, src, ancReload, maxTime):\r\n        try:\r\n            cacheMaxTime = self._data[src.item.ID][ancReload]['maxTime']\r\n        except KeyError:\r\n            return False\r\n        return maxTime <= cacheMaxTime\r\n\r\n    def _getDataPoint(self, src, ancReload, time, dataFunc):\r\n        data = dataFunc(src=src, ancReload=ancReload)\r\n        timesBefore = [t for t in data if floatUnerr(t) <= floatUnerr(time)]\r\n        try:\r\n            time = max(timesBefore)\r\n        except ValueError:\r\n            return {}\r\n        else:\r\n            return data[time]\r\n"
  },
  {
    "path": "graphs/data/fitRemoteReps/calc.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom eos.calc import calculateRangeFactor\r\nfrom eos.utils.float import floatUnerr\r\nfrom graphs.calc import checkLockRange, checkDroneControlRange\r\n\r\n\r\ndef getApplicationPerKey(src, distance):\r\n    inLockRange = checkLockRange(src=src, distance=distance)\r\n    inDroneRange = checkDroneControlRange(src=src, distance=distance)\r\n    applicationMap = {}\r\n    for mod in src.item.activeModulesIter():\r\n        if not mod.isRemoteRepping():\r\n            continue\r\n        if not inLockRange:\r\n            applicationMap[mod] = 0\r\n        else:\r\n            applicationMap[mod] = calculateRangeFactor(\r\n                srcOptimalRange=mod.maxRange or 0,\r\n                srcFalloffRange=mod.falloff or 0,\r\n                distance=distance)\r\n    for drone in src.item.activeDronesIter():\r\n        if not drone.isRemoteRepping():\r\n            continue\r\n        if not inLockRange or not inDroneRange:\r\n            applicationMap[drone] = 0\r\n        else:\r\n            applicationMap[drone] = 1\r\n    # Ensure consistent results - round off a little to avoid float errors\r\n    for k, v in applicationMap.items():\r\n        applicationMap[k] = floatUnerr(v)\r\n    return applicationMap\r\n"
  },
  {
    "path": "graphs/data/fitRemoteReps/getter.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport eos.config\r\nfrom eos.utils.spoolSupport import SpoolOptions, SpoolType\r\nfrom eos.utils.stats import RRTypes\r\nfrom graphs.data.base import PointGetter, SmoothPointGetter\r\nfrom .calc import getApplicationPerKey\r\n\r\n\r\ndef applyReps(rrMap, applicationMap):\r\n    totalAmount = RRTypes(shield=0, armor=0, hull=0, capacitor=0)\r\n    for key, repAmount in rrMap.items():\r\n        totalAmount += repAmount * applicationMap.get(key, 0)\r\n    # We do not want to include energy transfers into final value\r\n    totalReps = totalAmount.shield + totalAmount.armor + totalAmount.hull\r\n    return totalReps\r\n\r\n\r\n# Y mixins\r\nclass YRpsMixin:\r\n\r\n    def _getRepsPerKey(self, src, ancReload, time):\r\n        # Use data from time cache if time was not specified\r\n        if time is not None:\r\n            return self._getTimeCacheDataPoint(src=src, ancReload=ancReload, time=time)\r\n        # Compose map ourselves using current fit settings if time is not specified\r\n        rpsMap = {}\r\n        defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n        for mod in src.item.activeModulesIter():\r\n            if not mod.isRemoteRepping():\r\n                continue\r\n            isAncShield = 'shipModuleAncillaryRemoteShieldBooster' in mod.item.effects\r\n            isAncArmor = 'shipModuleAncillaryRemoteArmorRepairer' in mod.item.effects\r\n            rpsMap[mod] = mod.getRemoteReps(\r\n                spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False),\r\n                reloadOverride=ancReload if (isAncShield or isAncArmor) else None)\r\n        for drone in src.item.activeDronesIter():\r\n            if not drone.isRemoteRepping():\r\n                continue\r\n            rpsMap[drone] = drone.getRemoteReps()\r\n        return rpsMap\r\n\r\n    def _prepareTimeCache(self, src, ancReload, maxTime):\r\n        self.graph._timeCache.prepareRpsData(src=src, ancReload=ancReload, maxTime=maxTime)\r\n\r\n    def _getTimeCacheData(self, src, ancReload):\r\n        return self.graph._timeCache.getRpsData(src=src, ancReload=ancReload)\r\n\r\n    def _getTimeCacheDataPoint(self, src, ancReload, time):\r\n        return self.graph._timeCache.getRpsDataPoint(src=src, ancReload=ancReload, time=time)\r\n\r\n\r\nclass YRepAmountMixin:\r\n\r\n    def _getRepsPerKey(self, src, ancReload, time):\r\n        # Total reps given makes no sense without time specified\r\n        if time is None:\r\n            raise ValueError\r\n        return self._getTimeCacheDataPoint(src=src, ancReload=ancReload, time=time)\r\n\r\n    def _prepareTimeCache(self, src, ancReload, maxTime):\r\n        self.graph._timeCache.prepareRepAmountData(src=src, ancReload=ancReload, maxTime=maxTime)\r\n\r\n    def _getTimeCacheData(self, src, ancReload):\r\n        return self.graph._timeCache.getRepAmountData(src=src, ancReload=ancReload)\r\n\r\n    def _getTimeCacheDataPoint(self, src, ancReload, time):\r\n        return self.graph._timeCache.getRepAmountDataPoint(src=src, ancReload=ancReload, time=time)\r\n\r\n\r\n# X mixins\r\nclass XDistanceMixin(SmoothPointGetter):\r\n\r\n    _baseResolution = 50\r\n    _extraDepth = 2\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        # Prepare time cache here because we need to do it only once,\r\n        # and this function is called once per point info fetch\r\n        self._prepareTimeCache(src=src, ancReload=miscParams['ancReload'], maxTime=miscParams['time'])\r\n        return {'rrMap': self._getRepsPerKey(src=src, ancReload=miscParams['ancReload'], time=miscParams['time'])}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        distance = x\r\n        applicationMap = getApplicationPerKey(src=src, distance=distance)\r\n        y = applyReps(\r\n            rrMap=commonData['rrMap'],\r\n            applicationMap=applicationMap)\r\n        return y\r\n\r\n\r\nclass XTimeMixin(PointGetter):\r\n\r\n    def getRange(self, xRange, miscParams, src, tgt):\r\n        xs = []\r\n        ys = []\r\n        minTime, maxTime = xRange\r\n        # Prepare time cache and various shared data\r\n        self._prepareTimeCache(src=src, ancReload=miscParams['ancReload'], maxTime=maxTime)\r\n        timeCache = self._getTimeCacheData(src=src, ancReload=miscParams['ancReload'])\r\n        applicationMap = getApplicationPerKey(src=src, distance=miscParams['distance'])\r\n        # Custom iteration for time graph to show all data points\r\n        currentRepAmount = None\r\n        currentTime = None\r\n        for currentTime in sorted(timeCache):\r\n            prevRepAmount = currentRepAmount\r\n            currentRepAmountData = timeCache[currentTime]\r\n            currentRepAmount = applyReps(rrMap=currentRepAmountData, applicationMap=applicationMap)\r\n            if currentTime < minTime:\r\n                continue\r\n            # First set of data points\r\n            if not xs:\r\n                # Start at exactly requested time, at last known value\r\n                initialRepAmount = prevRepAmount or 0\r\n                xs.append(minTime)\r\n                ys.append(initialRepAmount)\r\n                # If current time is bigger then starting, extend plot to that time with old value\r\n                if currentTime > minTime:\r\n                    xs.append(currentTime)\r\n                    ys.append(initialRepAmount)\r\n                # If new value is different, extend it with new point to the new value\r\n                if currentRepAmount != prevRepAmount:\r\n                    xs.append(currentTime)\r\n                    ys.append(currentRepAmount)\r\n                continue\r\n            # Last data point\r\n            if currentTime >= maxTime:\r\n                xs.append(maxTime)\r\n                ys.append(prevRepAmount)\r\n                break\r\n            # Anything in-between\r\n            if currentRepAmount != prevRepAmount:\r\n                if prevRepAmount is not None:\r\n                    xs.append(currentTime)\r\n                    ys.append(prevRepAmount)\r\n                xs.append(currentTime)\r\n                ys.append(currentRepAmount)\r\n        # Special case - there are no remote reppers\r\n        if currentRepAmount is None and currentTime is None:\r\n            xs.append(minTime)\r\n            ys.append(0)\r\n        # Make sure that last data point is always at max time\r\n        if maxTime > (currentTime or 0):\r\n            xs.append(maxTime)\r\n            ys.append(currentRepAmount or 0)\r\n        return xs, ys\r\n\r\n    def getPoint(self, x, miscParams, src, tgt):\r\n        time = x\r\n        # Prepare time cache and various data\r\n        self._prepareTimeCache(src=src, ancReload=miscParams['ancReload'], maxTime=time)\r\n        repAmountData = self._getTimeCacheDataPoint(src=src, ancReload=miscParams['ancReload'], time=time)\r\n        applicationMap = getApplicationPerKey(src=src, distance=miscParams['distance'])\r\n        y = applyReps(rrMap=repAmountData, applicationMap=applicationMap)\r\n        return y\r\n\r\n\r\n# Final getters\r\nclass Distance2RpsGetter(XDistanceMixin, YRpsMixin):\r\n    pass\r\n\r\n\r\nclass Distance2RepAmountGetter(XDistanceMixin, YRepAmountMixin):\r\n    pass\r\n\r\n\r\nclass Time2RpsGetter(XTimeMixin, YRpsMixin):\r\n    pass\r\n\r\n\r\nclass Time2RepAmountGetter(XTimeMixin, YRepAmountMixin):\r\n    pass\r\n"
  },
  {
    "path": "graphs/data/fitRemoteReps/graph.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport wx\r\n\r\nfrom graphs.data.base import FitGraph, Input, InputCheckbox, XDef, YDef\r\nfrom service.const import GraphCacheCleanupReason\r\nfrom .cache import TimeCache\r\nfrom .getter import Distance2RepAmountGetter, Distance2RpsGetter, Time2RepAmountGetter, Time2RpsGetter\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FitRemoteRepsGraph(FitGraph):\r\n\r\n    def __init__(self, *args, **kwargs):\r\n        super().__init__(*args, **kwargs)\r\n        self._timeCache = TimeCache()\r\n\r\n    def _clearInternalCache(self, reason, extraData):\r\n        # Here, we care only about fit changes, graph changes and option switches\r\n        # - Input changes are irrelevant as time cache cares only about\r\n        # time input, and it regenerates once time goes beyond cached value\r\n        if reason in (GraphCacheCleanupReason.fitChanged, GraphCacheCleanupReason.fitRemoved):\r\n            self._timeCache.clearForFit(extraData)\r\n        elif reason == GraphCacheCleanupReason.graphSwitched:\r\n            self._timeCache.clearAll()\r\n\r\n    # UI stuff\r\n    internalName = 'remoteRepsGraph'\r\n    name = _t('Remote Repairs')\r\n    xDefs = [\r\n        XDef(handle='distance', unit='km', label=_t('Distance'), mainInput=('distance', 'km')),\r\n        XDef(handle='time', unit='s', label=_t('Time'), mainInput=('time', 's'))]\r\n    yDefs = [\r\n        YDef(handle='rps', unit='HP/s', label=_t('Repair speed')),\r\n        YDef(handle='total', unit='HP', label=_t('Total repaired'))]\r\n    inputs = [\r\n        Input(handle='time', unit='s', label=_t('Time'), iconID=1392, defaultValue=None, defaultRange=(0, 80),\r\n              secondaryTooltip=_t('When set, uses repairing ship\\'s exact RR stats at a given time\\nWhen not set, uses repairing ship\\'s RR stats as shown in stats panel of main window')),\r\n        Input(handle='distance', unit='km', label=_t('Distance'), iconID=1391, defaultValue=None, defaultRange=(0, 100),\r\n              mainTooltip=_t('Distance between the repairing ship and the target, as seen in overview (surface-to-surface)'),\r\n              secondaryTooltip=_t('Distance between the repairing ship and the target, as seen in overview (surface-to-surface)'))]\r\n    srcExtraCols = ('ShieldRR', 'ArmorRR', 'HullRR')\r\n    checkboxes = [InputCheckbox(handle='ancReload', label=_t('Reload ancillary RRs'), defaultValue=True)]\r\n\r\n    # Calculation stuff\r\n    _normalizers = {('distance', 'km'): lambda v, src, tgt: None if v is None else v * 1000}\r\n    _limiters = {'time': lambda src, tgt: (0, 2500)}\r\n    _getters = {\r\n        ('distance', 'rps'): Distance2RpsGetter,\r\n        ('distance', 'total'): Distance2RepAmountGetter,\r\n        ('time', 'rps'): Time2RpsGetter,\r\n        ('time', 'total'): Time2RepAmountGetter}\r\n    _denormalizers = {('distance', 'km'): lambda v, src, tgt: None if v is None else v / 1000}\r\n"
  },
  {
    "path": "graphs/data/fitShieldRegen/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom .graph import FitShieldRegenGraph\r\n\r\n\r\nFitShieldRegenGraph.register()\r\n"
  },
  {
    "path": "graphs/data/fitShieldRegen/getter.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\n\r\nfrom graphs.data.base import SmoothPointGetter\r\n\r\n\r\nclass Time2ShieldAmountGetter(SmoothPointGetter):\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        return {\r\n            'maxShieldAmount': src.item.ship.getModifiedItemAttr('shieldCapacity'),\r\n            'shieldRegenTime': src.item.ship.getModifiedItemAttr('shieldRechargeRate') / 1000}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        time = x\r\n        shieldAmount = calculateShieldAmount(\r\n            maxShieldAmount=commonData['maxShieldAmount'],\r\n            shieldRegenTime=commonData['shieldRegenTime'],\r\n            shieldAmountT0=miscParams['shieldAmountT0'] or 0,\r\n            time=time)\r\n        return shieldAmount\r\n\r\n\r\nclass Time2ShieldRegenGetter(SmoothPointGetter):\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        return {\r\n            'maxShieldAmount': src.item.ship.getModifiedItemAttr('shieldCapacity'),\r\n            'shieldRegenTime': src.item.ship.getModifiedItemAttr('shieldRechargeRate') / 1000}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        time = x\r\n        shieldAmount = calculateShieldAmount(\r\n            maxShieldAmount=commonData['maxShieldAmount'],\r\n            shieldRegenTime=commonData['shieldRegenTime'],\r\n            shieldAmountT0=miscParams['shieldAmountT0'] or 0,\r\n            time=time)\r\n        shieldRegen = calculateShieldRegen(\r\n            maxShieldAmount=commonData['maxShieldAmount'],\r\n            shieldRegenTime=commonData['shieldRegenTime'],\r\n            currentShieldAmount=shieldAmount)\r\n        return shieldRegen\r\n\r\n\r\n# Useless, but valid combination of x and y\r\nclass ShieldAmount2ShieldAmountGetter(SmoothPointGetter):\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        shieldAmount = x\r\n        return shieldAmount\r\n\r\n\r\nclass ShieldAmount2ShieldRegenGetter(SmoothPointGetter):\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        return {\r\n            'maxShieldAmount': src.item.ship.getModifiedItemAttr('shieldCapacity'),\r\n            'shieldRegenTime': src.item.ship.getModifiedItemAttr('shieldRechargeRate') / 1000}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        shieldAmount = x\r\n        shieldRegen = calculateShieldRegen(\r\n            maxShieldAmount=commonData['maxShieldAmount'],\r\n            shieldRegenTime=commonData['shieldRegenTime'],\r\n            currentShieldAmount=shieldAmount)\r\n        return shieldRegen\r\n\r\n\r\ndef calculateShieldAmount(maxShieldAmount, shieldRegenTime, shieldAmountT0, time):\r\n    # The same formula as for cap\r\n    # https://wiki.eveuniversity.org/Capacitor#Capacitor_recharge_rate\r\n    return maxShieldAmount * (1 + math.exp(5 * -time / shieldRegenTime) * (math.sqrt(shieldAmountT0 / maxShieldAmount) - 1)) ** 2\r\n\r\n\r\ndef calculateShieldRegen(maxShieldAmount, shieldRegenTime, currentShieldAmount):\r\n    # The same formula as for cap\r\n    # https://wiki.eveuniversity.org/Capacitor#Capacitor_recharge_rate\r\n    return 10 * maxShieldAmount / shieldRegenTime * (math.sqrt(currentShieldAmount / maxShieldAmount) - currentShieldAmount / maxShieldAmount)\r\n"
  },
  {
    "path": "graphs/data/fitShieldRegen/graph.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom graphs.data.base import FitGraph, Input, XDef, YDef\r\nfrom .getter import (ShieldAmount2ShieldAmountGetter, ShieldAmount2ShieldRegenGetter, Time2ShieldAmountGetter, Time2ShieldRegenGetter)\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FitShieldRegenGraph(FitGraph):\r\n\r\n    def __init__(self, *args, **kwargs):\r\n        super().__init__(*args, **kwargs)\r\n        self.isEffective = gui.mainFrame.MainFrame.getInstance().statsPane.nameViewMap['resistancesViewFull'].showEffective\r\n\r\n    # UI stuff\r\n    internalName = 'shieldRegenGraph'\r\n    name = _t('Shield Regeneration')\r\n    inputs = [\r\n        Input(handle='time', unit='s', label=_t('Time'), iconID=1392, defaultValue=120, defaultRange=(0, 300), conditions=[\r\n            (('time', 's'), None)]),\r\n        Input(handle='shieldAmount', unit='%', label=_t('Shield amount'), iconID=1384, defaultValue=25, defaultRange=(0, 100), conditions=[\r\n            (('shieldAmount', 'EHP'), None),\r\n            (('shieldAmount', 'HP'), None),\r\n            (('shieldAmount', '%'), None)]),\r\n        Input(handle='shieldAmountT0', unit='%', label=_t('Starting shield amount'), iconID=1384, defaultValue=0, defaultRange=(0, 100), conditions=[\r\n            (('time', 's'), None)])]\r\n    srcExtraCols = ('ShieldAmount', 'ShieldTime')\r\n    usesHpEffectivity = True\r\n\r\n    @property\r\n    def xDefs(self):\r\n        return [\r\n            XDef(handle='time', unit='s', label=_t('Time'), mainInput=('time', 's')),\r\n            XDef(handle='shieldAmount', unit='EHP' if self.isEffective else 'HP', label=_t('Shield amount'), mainInput=('shieldAmount', '%')),\r\n            XDef(handle='shieldAmount', unit='%', label=_t('Shield amount'), mainInput=('shieldAmount', '%'))]\r\n\r\n    @property\r\n    def yDefs(self):\r\n        return [\r\n            YDef(handle='shieldAmount', unit='EHP' if self.isEffective else 'HP', label=_t('Shield amount')),\r\n            YDef(handle='shieldRegen', unit='EHP/s' if self.isEffective else 'HP/s', label=_t('Shield regen'))]\r\n\r\n    # Calculation stuff\r\n    _normalizers = {\r\n        ('shieldAmount', '%'): lambda v, src, tgt: v / 100 * src.item.ship.getModifiedItemAttr('shieldCapacity'),\r\n        ('shieldAmountT0', '%'): lambda v, src, tgt: None if v is None else v / 100 * src.item.ship.getModifiedItemAttr('shieldCapacity'),\r\n        # Needed only for \"x mark\" support, to convert EHP x into normalized value\r\n        ('shieldAmount', 'EHP'): lambda v, src, tgt: v / src.item.damagePattern.effectivify(src.item.ship, 1, 'shield')}\r\n    _limiters = {\r\n        'shieldAmount': lambda src, tgt: (0, src.item.ship.getModifiedItemAttr('shieldCapacity')),\r\n        'shieldAmountT0': lambda src, tgt: (0, src.item.ship.getModifiedItemAttr('shieldCapacity'))}\r\n    _getters = {\r\n        ('time', 'shieldAmount'): Time2ShieldAmountGetter,\r\n        ('time', 'shieldRegen'): Time2ShieldRegenGetter,\r\n        ('shieldAmount', 'shieldAmount'): ShieldAmount2ShieldAmountGetter,\r\n        ('shieldAmount', 'shieldRegen'): ShieldAmount2ShieldRegenGetter}\r\n    _denormalizers = {\r\n        ('shieldAmount', '%'): lambda v, src, tgt: v * 100 / src.item.ship.getModifiedItemAttr('shieldCapacity'),\r\n        ('shieldAmount', 'EHP'): lambda v, src, tgt: src.item.damagePattern.effectivify(src.item.ship, v, 'shield'),\r\n        ('shieldRegen', 'EHP/s'): lambda v, src, tgt: src.item.damagePattern.effectivify(src.item.ship, v, 'shield')}\r\n"
  },
  {
    "path": "graphs/data/fitWarpTime/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom .graph import FitWarpTimeGraph\r\n\r\n\r\nFitWarpTimeGraph.register()\r\n"
  },
  {
    "path": "graphs/data/fitWarpTime/cache.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom eos.const import FittingModuleState\r\nfrom graphs.data.base import FitDataCache\r\n\r\n\r\nclass SubwarpSpeedCache(FitDataCache):\r\n\r\n    def getSubwarpSpeed(self, src):\r\n        try:\r\n            subwarpSpeed = self._data[src.item.ID]\r\n        except KeyError:\r\n            modStates = {}\r\n            disallowedGroups = (\r\n                # Active modules which affect ship speed and cannot be used in warp\r\n                'Propulsion Module',\r\n                'Mass Entanglers',\r\n                'Cloaking Device',\r\n                # Those reduce ship speed to 0\r\n                'Siege Module',\r\n                'Super Weapon',\r\n                'Cynosural Field Generator',\r\n                'Clone Vat Bay',\r\n                'Jump Portal Generator')\r\n            for mod in src.item.activeModulesIter():\r\n                if mod.item is not None and mod.item.group.name in disallowedGroups:\r\n                    modStates[mod] = mod.state\r\n                    mod.state = FittingModuleState.ONLINE\r\n            projFitStates = {}\r\n            for projFit in src.item.projectedFits:\r\n                projectionInfo = projFit.getProjectionInfo(src.item.ID)\r\n                if projectionInfo is not None and projectionInfo.active:\r\n                    projFitStates[projectionInfo] = projectionInfo.active\r\n                    projectionInfo.active = False\r\n            projModStates = {}\r\n            for mod in src.item.projectedModules:\r\n                if not mod.isExclusiveSystemEffect and mod.state >= FittingModuleState.ACTIVE:\r\n                    projModStates[mod] = mod.state\r\n                    mod.state = FittingModuleState.ONLINE\r\n            projDroneStates = {}\r\n            for drone in src.item.projectedDrones:\r\n                if drone.amountActive > 0:\r\n                    projDroneStates[drone] = drone.amountActive\r\n                    drone.amountActive = 0\r\n            projFighterStates = {}\r\n            for fighter in src.item.projectedFighters:\r\n                if fighter.active:\r\n                    projFighterStates[fighter] = fighter.active\r\n                    fighter.active = False\r\n            src.item.calculateModifiedAttributes()\r\n            subwarpSpeed = src.getMaxVelocity()\r\n            self._data[src.item.ID] = subwarpSpeed\r\n            for projInfo, state in projFitStates.items():\r\n                projInfo.active = state\r\n            for mod, state in modStates.items():\r\n                mod.state = state\r\n            for mod, state in projModStates.items():\r\n                mod.state = state\r\n            for drone, amountActive in projDroneStates.items():\r\n                drone.amountActive = amountActive\r\n            for fighter, state in projFighterStates.items():\r\n                fighter.active = state\r\n            src.item.calculateModifiedAttributes()\r\n        return subwarpSpeed\r\n"
  },
  {
    "path": "graphs/data/fitWarpTime/getter.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\n\r\nfrom graphs.data.base import SmoothPointGetter\r\n\r\n\r\nAU_METERS = 149597870700\r\n\r\n\r\nclass Distance2TimeGetter(SmoothPointGetter):\r\n\r\n    _baseResolution = 500\r\n\r\n    def _getCommonData(self, miscParams, src, tgt):\r\n        return {\r\n            'subwarpSpeed': self.graph._subspeedCache.getSubwarpSpeed(src),\r\n            'warpSpeed': src.item.warpSpeed}\r\n\r\n    def _calculatePoint(self, x, miscParams, src, tgt, commonData):\r\n        distance = x\r\n        time = calculate_time_in_warp(\r\n            max_subwarp_speed=commonData['subwarpSpeed'],\r\n            max_warp_speed=commonData['warpSpeed'],\r\n            warp_dist=distance)\r\n        return time\r\n\r\n\r\n# Taken from https://wiki.eveuniversity.org/Warp_time_calculation#Implementation\r\n# with minor modifications\r\n# Warp speed in AU/s, subwarp speed in m/s, distance in m\r\ndef calculate_time_in_warp(max_warp_speed, max_subwarp_speed, warp_dist):\r\n\r\n    if warp_dist == 0:\r\n        return 0\r\n\r\n    k_accel = max_warp_speed\r\n    k_decel = min(max_warp_speed / 3, 2)\r\n\r\n    warp_dropout_speed = min(max_subwarp_speed / 2, 100)\r\n    max_ms_warp_speed = max_warp_speed * AU_METERS\r\n\r\n    accel_dist = AU_METERS\r\n    decel_dist = max_ms_warp_speed / k_decel\r\n\r\n    minimum_dist = accel_dist + decel_dist\r\n\r\n    cruise_time = 0\r\n\r\n    if minimum_dist > warp_dist:\r\n        max_ms_warp_speed = warp_dist * k_accel * k_decel / (k_accel + k_decel)\r\n    else:\r\n        cruise_time = (warp_dist - minimum_dist) / max_ms_warp_speed\r\n\r\n    accel_time = math.log(max_ms_warp_speed / k_accel) / k_accel\r\n    decel_time = math.log(max_ms_warp_speed / warp_dropout_speed) / k_decel\r\n\r\n    total_time = cruise_time + accel_time + decel_time\r\n    return total_time\r\n"
  },
  {
    "path": "graphs/data/fitWarpTime/graph.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport wx\r\n\r\nfrom graphs.data.base import FitGraph, Input, XDef, YDef\r\nfrom service.const import GraphCacheCleanupReason\r\nfrom .cache import SubwarpSpeedCache\r\nfrom .getter import AU_METERS, Distance2TimeGetter\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FitWarpTimeGraph(FitGraph):\r\n\r\n    def __init__(self, *args, **kwargs):\r\n        super().__init__(*args, **kwargs)\r\n        self._subspeedCache = SubwarpSpeedCache()\r\n\r\n    def _clearInternalCache(self, reason, extraData):\r\n        if reason in (GraphCacheCleanupReason.fitChanged, GraphCacheCleanupReason.fitRemoved):\r\n            self._subspeedCache.clearForFit(extraData)\r\n        elif reason == GraphCacheCleanupReason.graphSwitched:\r\n            self._subspeedCache.clearAll()\r\n\r\n    # UI stuff\r\n    internalName = 'warpTimeGraph'\r\n    name = _t('Warp Time')\r\n    xDefs = [\r\n        XDef(handle='distance', unit='AU', label=_t('Distance'), mainInput=('distance', 'AU')),\r\n        XDef(handle='distance', unit='km', label=_t('Distance'), mainInput=('distance', 'km'))]\r\n    yDefs = [YDef(handle='time', unit='s', label=_t('Warp time'))]\r\n    inputs = [\r\n        Input(handle='distance', unit='AU', label=_t('Distance'), iconID=1391, defaultValue=20, defaultRange=(0, 50)),\r\n        Input(handle='distance', unit='km', label=_t('Distance'), iconID=1391, defaultValue=1000, defaultRange=(150, 5000))]\r\n    srcExtraCols = ('WarpSpeed', 'WarpDistance')\r\n\r\n    # Calculation stuff\r\n    _normalizers = {\r\n        ('distance', 'AU'): lambda v, src, tgt: v * AU_METERS,\r\n        ('distance', 'km'): lambda v, src, tgt: v * 1000\r\n    }\r\n    _limiters = {'distance': lambda src, tgt: (0, src.item.maxWarpDistance * AU_METERS)}\r\n    _getters = {('distance', 'time'): Distance2TimeGetter}\r\n    _denormalizers = {\r\n        ('distance', 'AU'): lambda v, src, tgt: v / AU_METERS,\r\n        ('distance', 'km'): lambda v, src, tgt: v / 1000}\r\n"
  },
  {
    "path": "graphs/events.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx.lib.newevent\r\n\r\nResistModeChanged, RESIST_MODE_CHANGED = wx.lib.newevent.NewEvent()\r\n"
  },
  {
    "path": "graphs/gui/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n"
  },
  {
    "path": "graphs/gui/canvasPanel.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport itertools\r\nimport math\r\nimport os\r\nimport traceback\r\nfrom bisect import bisect\r\n\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\n\r\nfrom graphs.style import BASE_COLORS, LIGHTNESSES, STYLES, hsl_to_hsv\r\nfrom gui.utils.numberFormatter import roundToPrec\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\ntry:\r\n    import matplotlib as mpl\r\n\r\n    mpl_version = int(mpl.__version__[0]) or -1\r\n    if mpl_version >= 2:\r\n        mpl.use('wxagg')\r\n        graphFrame_enabled = True\r\n    else:\r\n        graphFrame_enabled = False\r\n\r\n    from matplotlib.lines import Line2D\r\n    from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as Canvas\r\n    from matplotlib.figure import Figure\r\n    from matplotlib.colors import hsv_to_rgb\r\nexcept ImportError as e:\r\n    pyfalog.warning('Matplotlib failed to import.  Likely missing or incompatible version.')\r\n    graphFrame_enabled = False\r\nexcept (KeyboardInterrupt, SystemExit):\r\n    raise\r\nexcept Exception:\r\n    # We can get exceptions deep within matplotlib. Catch those.  See GH #1046\r\n    tb = traceback.format_exc()\r\n    pyfalog.critical('Exception when importing Matplotlib. Continuing without importing.')\r\n    pyfalog.critical(tb)\r\n    graphFrame_enabled = False\r\n\r\n\r\nclass GraphCanvasPanel(wx.Panel):\r\n\r\n    def __init__(self, graphFrame, parent):\r\n        super().__init__(parent)\r\n        self.graphFrame = graphFrame\r\n\r\n        # Remove matplotlib font cache, see #234\r\n        try:\r\n            cache_dir = mpl._get_cachedir()\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            cache_dir = os.path.expanduser(os.path.join('~', '.matplotlib'))\r\n        cache_file = os.path.join(cache_dir, 'fontList.cache')\r\n        if os.access(cache_dir, os.W_OK | os.X_OK) and os.path.isfile(cache_file):\r\n            os.remove(cache_file)\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.figure = Figure(figsize=(5, 3), tight_layout={'pad': 1.08})\r\n        rgbtuple = wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE).Get()\r\n        clr = [c / 255. for c in rgbtuple]\r\n        self.figure.set_facecolor(clr)\r\n        self.figure.set_edgecolor(clr)\r\n        self.canvas = Canvas(self, -1, self.figure)\r\n        self.canvas.SetBackgroundColour(wx.Colour(*rgbtuple))\r\n        self.canvas.mpl_connect('button_press_event', self.OnMplCanvasClick)\r\n        self.subplot = self.figure.add_subplot(111)\r\n        self.subplot.grid(True)\r\n        mainSizer.Add(self.canvas, 1, wx.EXPAND | wx.ALL, 0)\r\n\r\n        self.SetSizer(mainSizer)\r\n\r\n        self.xMark = None\r\n        self.mplOnDragHandler = None\r\n        self.mplOnReleaseHandler = None\r\n\r\n    def draw(self, accurateMarks=True):\r\n        self.subplot.clear()\r\n        self.subplot.grid(True)\r\n        allXs = set()\r\n        allYs = set()\r\n        plotData = {}\r\n        legendData = []\r\n        chosenX = self.graphFrame.ctrlPanel.xType\r\n        chosenY = self.graphFrame.ctrlPanel.yType\r\n        self.subplot.set(\r\n            xlabel=self.graphFrame.ctrlPanel.formatLabel(chosenX),\r\n            ylabel=self.graphFrame.ctrlPanel.formatLabel(chosenY))\r\n\r\n        mainInput, miscInputs = self.graphFrame.ctrlPanel.getValues()\r\n        view = self.graphFrame.getView()\r\n        sources = self.graphFrame.ctrlPanel.sources\r\n        if view.hasTargets:\r\n            iterList = tuple(itertools.product(sources, self.graphFrame.ctrlPanel.targets))\r\n        else:\r\n            iterList = tuple((f, None) for f in sources)\r\n\r\n        # Draw plot lines and get data for legend\r\n        for source, target in iterList:\r\n            # Get line style data\r\n            try:\r\n                colorData = BASE_COLORS[source.colorID]\r\n            except KeyError:\r\n                pyfalog.warning('Invalid color \"{}\" for \"{}\"'.format(source.colorID, source.name))\r\n                continue\r\n            color = colorData.hsl\r\n            lineStyle = 'solid'\r\n            if target is not None:\r\n                try:\r\n                    lightnessData = LIGHTNESSES[target.lightnessID]\r\n                except KeyError:\r\n                    pyfalog.warning('Invalid lightness \"{}\" for \"{}\"'.format(target.lightnessID, target.name))\r\n                    continue\r\n                color = lightnessData.func(color)\r\n                try:\r\n                    lineStyleData = STYLES[target.lineStyleID]\r\n                except KeyError:\r\n                    pyfalog.warning('Invalid line style \"{}\" for \"{}\"'.format(target.lightnessID, target.name))\r\n                    continue\r\n                lineStyle = lineStyleData.mplSpec\r\n            color = hsv_to_rgb(hsl_to_hsv(color))\r\n\r\n            # Get point data\r\n            try:\r\n                xs, ys = view.getPlotPoints(\r\n                    mainInput=mainInput,\r\n                    miscInputs=miscInputs,\r\n                    xSpec=chosenX,\r\n                    ySpec=chosenY,\r\n                    src=source,\r\n                    tgt=target)\r\n                if not self.__checkNumbers(xs, ys):\r\n                    pyfalog.warning('Failed to plot \"{}\" vs \"{}\" due to inf or NaN in values'.format(source.name, '' if target is None else target.name))\r\n                    continue\r\n                plotData[(source, target)] = (xs, ys)\r\n                allXs.update(xs)\r\n                allYs.update(ys)\r\n                # If we have single data point, show marker - otherwise line won't be shown\r\n                if len(xs) == 1 and len(ys) == 1:\r\n                    self.subplot.plot(xs, ys, color=color, linestyle=lineStyle, marker='.')\r\n                else:\r\n                    self.subplot.plot(xs, ys, color=color, linestyle=lineStyle)\r\n                # Fill data for legend\r\n                if target is None:\r\n                    legendData.append((color, lineStyle, source.shortName))\r\n                else:\r\n                    legendData.append((color, lineStyle, '{} vs {}'.format(source.shortName, target.shortName)))\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception:\r\n                pyfalog.warning('Failed to plot \"{}\" vs \"{}\"'.format(source.name, '' if target is None else target.name))\r\n                self.canvas.draw()\r\n                self.Refresh()\r\n                return\r\n\r\n        # Setting Y limits for canvas\r\n        if self.graphFrame.ctrlPanel.showY0:\r\n            allYs.add(0)\r\n        canvasMinY, canvasMaxY = self._getLimits(allYs, minExtra=0.05, maxExtra=0.1)\r\n        canvasMinX, canvasMaxX = self._getLimits(allXs, minExtra=0.02, maxExtra=0.02)\r\n        self.subplot.set_ylim(bottom=canvasMinY, top=canvasMaxY)\r\n        self.subplot.set_xlim(left=canvasMinX, right=canvasMaxX)\r\n        # Process X marks line\r\n        if self.xMark is not None:\r\n            minX = min(allXs, default=None)\r\n            maxX = max(allXs, default=None)\r\n            if minX is not None and maxX is not None:\r\n                minY = min(allYs, default=None)\r\n                maxY = max(allYs, default=None)\r\n                yDiff = (maxY or 0) - (minY or 0)\r\n                xMark = max(min(self.xMark, maxX), minX)\r\n                # If in top 10% of X coordinates, align labels differently\r\n                if xMark > canvasMinX + 0.9 * (canvasMaxX - canvasMinX):\r\n                    labelAlignment = 'right'\r\n                    labelPrefix = ''\r\n                    labelSuffix = ' '\r\n                else:\r\n                    labelAlignment = 'left'\r\n                    labelPrefix = ' '\r\n                    labelSuffix = ''\r\n                # Draw line\r\n                self.subplot.axvline(x=xMark, linestyle='dotted', linewidth=1, color=(0, 0, 0))\r\n                # Draw its X position\r\n                if chosenX.unit is None:\r\n                    xLabel = '{}{}{}'.format(labelPrefix, roundToPrec(xMark, 4), labelSuffix)\r\n                else:\r\n                    xLabel = '{}{} {}{}'.format(labelPrefix, roundToPrec(xMark, 4), chosenX.unit, labelSuffix)\r\n                self.subplot.annotate(\r\n                    xLabel, xy=(xMark, canvasMaxY - 0.01 * (canvasMaxY - canvasMinY)), xytext=(0, 0), annotation_clip=False,\r\n                    textcoords='offset pixels', ha=labelAlignment, va='top', fontsize='small')\r\n                # Get Y values\r\n                yMarks = set()\r\n\r\n                def addYMark(val):\r\n                    if val is None:\r\n                        return\r\n                    # Round according to shown Y range - the bigger the range,\r\n                    # the rougher the rounding\r\n                    if yDiff != 0:\r\n                        rounded = roundToPrec(val, 4, nsValue=yDiff)\r\n                    else:\r\n                        rounded = val\r\n                    # If due to some bug or insufficient plot density we're\r\n                    # out of bounds, do not add anything\r\n                    if minY <= val <= maxY or minY <= rounded <= maxY:\r\n                        yMarks.add(rounded)\r\n\r\n                for source, target in iterList:\r\n                    xs, ys = plotData[(source, target)]\r\n                    if not xs or xMark < min(xs) or xMark > max(xs):\r\n                        continue\r\n                    # Fetch values from graphs when we're asked to provide accurate data\r\n                    if accurateMarks:\r\n                        try:\r\n                            y = view.getPoint(\r\n                                x=xMark,\r\n                                miscInputs=miscInputs,\r\n                                xSpec=chosenX,\r\n                                ySpec=chosenY,\r\n                                src=source,\r\n                                tgt=target)\r\n                            addYMark(y)\r\n                        except (KeyboardInterrupt, SystemExit):\r\n                            raise\r\n                        except Exception:\r\n                            pyfalog.warning('Failed to get X mark for \"{}\" vs \"{}\"'.format(source.name, '' if target is None else target.name))\r\n                            # Silently skip this mark, otherwise other marks and legend display will fail\r\n                            continue\r\n                    # Otherwise just do linear interpolation between two points\r\n                    else:\r\n                        if xMark in xs:\r\n                            # We might have multiples of the same value in our sequence, pick value for the last one\r\n                            idx = len(xs) - xs[::-1].index(xMark) - 1\r\n                            addYMark(ys[idx])\r\n                            continue\r\n                        idx = bisect(xs, xMark)\r\n                        yMark = self._interpolateX(x=xMark, x1=xs[idx - 1], y1=ys[idx - 1], x2=xs[idx], y2=ys[idx])\r\n                        addYMark(yMark)\r\n\r\n                # Draw Y values\r\n                for yMark in yMarks:\r\n                    self.subplot.annotate(\r\n                        '{}{}{}'.format(labelPrefix, yMark, labelSuffix), xy=(xMark, yMark), xytext=(0, 0),\r\n                        textcoords='offset pixels', ha=labelAlignment, va='center', fontsize='small')\r\n\r\n        legendLines = []\r\n        for i, iData in enumerate(legendData):\r\n            color, lineStyle, label = iData\r\n            legendLines.append(Line2D([0], [0], color=color, linestyle=lineStyle, label=label.replace('$', r'\\$')))\r\n\r\n        if len(legendLines) > 0 and self.graphFrame.ctrlPanel.showLegend:\r\n            legend = self.subplot.legend(handles=legendLines)\r\n            for t in legend.get_texts():\r\n                t.set_fontsize('small')\r\n            for l in legend.get_lines():\r\n                l.set_linewidth(1)\r\n\r\n        self.canvas.draw()\r\n        self.Refresh()\r\n\r\n    def markXApproximate(self, x):\r\n        if x is not None:\r\n            self.xMark = x\r\n            self.draw(accurateMarks=False)\r\n\r\n    def unmarkX(self):\r\n        self.xMark = None\r\n        self.draw()\r\n\r\n    @staticmethod\r\n    def _getLimits(vals, minExtra=0, maxExtra=0):\r\n        minVal = min(vals, default=0)\r\n        maxVal = max(vals, default=0)\r\n        # Extend range a little for some visual space\r\n        valRange = maxVal - minVal\r\n        minVal -= valRange * minExtra\r\n        maxVal += valRange * maxExtra\r\n        # Extend by % of value if we show function of a constant\r\n        if minVal == maxVal:\r\n            minVal -= minVal * 0.05\r\n            maxVal += minVal * 0.05\r\n        # If still equal, function is 0, spread out visual space as special case\r\n        if minVal == maxVal:\r\n            minVal -= 5\r\n            maxVal += 5\r\n        return minVal, maxVal\r\n\r\n    @staticmethod\r\n    def _interpolateX(x, x1, y1, x2, y2):\r\n        pos = (x - x1) / (x2 - x1)\r\n        y = y1 + pos * (y2 - y1)\r\n        return y\r\n\r\n    @staticmethod\r\n    def __checkNumbers(xs, ys):\r\n        for number in itertools.chain(xs, ys):\r\n            if math.isnan(number) or math.isinf(number):\r\n                return False\r\n        return True\r\n\r\n    # Matplotlib event handlers\r\n    def OnMplCanvasClick(self, event):\r\n        if event.button == 1:\r\n            if not self.mplOnDragHandler:\r\n                self.mplOnDragHandler = self.canvas.mpl_connect('motion_notify_event', self.OnMplCanvasDrag)\r\n            if not self.mplOnReleaseHandler:\r\n                self.mplOnReleaseHandler = self.canvas.mpl_connect('button_release_event', self.OnMplCanvasRelease)\r\n            self.markXApproximate(event.xdata)\r\n        elif event.button == 3:\r\n            self.unmarkX()\r\n\r\n    def OnMplCanvasDrag(self, event):\r\n        self.markXApproximate(event.xdata)\r\n\r\n    def OnMplCanvasRelease(self, event):\r\n        if event.button == 1:\r\n            if self.mplOnDragHandler:\r\n                self.canvas.mpl_disconnect(self.mplOnDragHandler)\r\n                self.mplOnDragHandler = None\r\n            if self.mplOnReleaseHandler:\r\n                self.canvas.mpl_disconnect(self.mplOnReleaseHandler)\r\n                self.mplOnReleaseHandler = None\r\n            # Do not write markX here because of strange mouse behavior: when dragging,\r\n            # sometimes when you release button, x coordinate changes. To avoid that,\r\n            # we just re-use coordinates set on click/drag and just request to redraw\r\n            # using accurate data\r\n            self.draw(accurateMarks=True)\r\n"
  },
  {
    "path": "graphs/gui/ctrlPanel.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom collections import namedtuple\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.utils.inputs import FloatBox, FloatRangeBox\r\nfrom service.const import GraphCacheCleanupReason\r\nfrom service.fit import Fit\r\nfrom .lists import SourceWrapperList, TargetWrapperList\r\nfrom .vector import VectorPicker\r\n\r\nInputData = namedtuple('InputData', ('handle', 'unit', 'value'))\r\nInputBox = namedtuple('InputBox', ('handle', 'unit', 'textBox', 'icon', 'label'))\r\nCheckBox = namedtuple('CheckBox', ('handle', 'checkBox'))\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass GraphControlPanel(wx.Panel):\r\n\r\n    def __init__(self, graphFrame, parent):\r\n        super().__init__(parent)\r\n        self.graphFrame = graphFrame\r\n        self._mainInputBox = None\r\n        self._miscInputBoxes = []\r\n        self._inputCheckboxes = []\r\n        self._storedRanges = {}\r\n        self._storedConsts = {}\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n        optsSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        commonOptsSizer = wx.BoxSizer(wx.VERTICAL)\r\n        ySubSelectionSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        yText = wx.StaticText(self, wx.ID_ANY, _t('Axis Y:'))\r\n        ySubSelectionSizer.Add(yText, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)\r\n        self.ySubSelection = wx.Choice(self, wx.ID_ANY)\r\n        self.ySubSelection.Bind(wx.EVT_CHOICE, self.OnYTypeUpdate)\r\n        ySubSelectionSizer.Add(self.ySubSelection, 1, wx.EXPAND | wx.ALL, 0)\r\n        commonOptsSizer.Add(ySubSelectionSizer, 0, wx.EXPAND | wx.ALL, 0)\r\n\r\n        xSubSelectionSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        xText = wx.StaticText(self, wx.ID_ANY, _t('Axis X:'))\r\n        xSubSelectionSizer.Add(xText, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5)\r\n        self.xSubSelection = wx.Choice(self, wx.ID_ANY)\r\n        self.xSubSelection.Bind(wx.EVT_CHOICE, self.OnXTypeUpdate)\r\n        xSubSelectionSizer.Add(self.xSubSelection, 1, wx.EXPAND | wx.ALL, 0)\r\n        commonOptsSizer.Add(xSubSelectionSizer, 0, wx.EXPAND | wx.TOP, 5)\r\n\r\n        self.showLegendCb = wx.CheckBox(self, wx.ID_ANY, _t('Show legend'), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.showLegendCb.SetValue(True)\r\n        self.showLegendCb.Bind(wx.EVT_CHECKBOX, self.OnShowLegendChange)\r\n        commonOptsSizer.Add(self.showLegendCb, 0, wx.EXPAND | wx.TOP, 5)\r\n        self.showY0Cb = wx.CheckBox(self, wx.ID_ANY, _t('Always show Y = 0'), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.showY0Cb.SetValue(True)\r\n        self.showY0Cb.Bind(wx.EVT_CHECKBOX, self.OnShowY0Change)\r\n        commonOptsSizer.Add(self.showY0Cb, 0, wx.EXPAND | wx.TOP, 5)\r\n        optsSizer.Add(commonOptsSizer, 0, wx.EXPAND | wx.RIGHT, 10)\r\n\r\n        graphOptsSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        self.inputsSizer = wx.BoxSizer(wx.VERTICAL)\r\n        graphOptsSizer.Add(self.inputsSizer, 1, wx.EXPAND | wx.ALL, 0)\r\n\r\n        vectorSize = 90 if 'wxGTK' in wx.PlatformInfo else 75\r\n        self.srcVectorSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.srcVectorLabel = wx.StaticText(self, wx.ID_ANY, '')\r\n        self.srcVectorSizer.Add(self.srcVectorLabel, 0, wx.ALIGN_CENTER_HORIZONTAL| wx.BOTTOM, 5)\r\n        self.srcVector = VectorPicker(self, style=wx.NO_BORDER, size=vectorSize, offset=0)\r\n        self.srcVector.Bind(VectorPicker.EVT_VECTOR_CHANGED, self.OnNonMainInputChanged)\r\n        self.srcVectorSizer.Add(self.srcVector, 0, wx.SHAPED | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL | wx.ALL, 0)\r\n        graphOptsSizer.Add(self.srcVectorSizer, 0, wx.EXPAND | wx.LEFT, 15)\r\n\r\n        self.tgtVectorSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.tgtVectorLabel = wx.StaticText(self, wx.ID_ANY, '')\r\n        self.tgtVectorSizer.Add(self.tgtVectorLabel, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.BOTTOM, 5)\r\n        self.tgtVector = VectorPicker(self, style=wx.NO_BORDER, size=vectorSize, offset=0)\r\n        self.tgtVector.Bind(VectorPicker.EVT_VECTOR_CHANGED, self.OnNonMainInputChanged)\r\n        self.tgtVectorSizer.Add(self.tgtVector, 0, wx.SHAPED | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL | wx.ALL, 0)\r\n        graphOptsSizer.Add(self.tgtVectorSizer, 0, wx.EXPAND | wx.LEFT, 10)\r\n\r\n        optsSizer.Add(graphOptsSizer, 1, wx.EXPAND | wx.ALL, 0)\r\n\r\n        contextSizer = wx.BoxSizer(wx.VERTICAL)\r\n        savedFont = self.GetFont()\r\n        contextIconFont = wx.SystemSettings.GetFont(wx.SYS_DEFAULT_GUI_FONT)\r\n        contextIconFont.SetPointSize(8)\r\n        self.SetFont(contextIconFont)\r\n        self.contextIcon = wx.StaticText(self, wx.ID_ANY, '\\u2630', size=wx.Size((10, -1)))\r\n        self.contextIcon.Bind(wx.EVT_CONTEXT_MENU, self.contextMenuHandler)\r\n        self.contextIcon.Bind(wx.EVT_LEFT_UP, self.contextMenuHandler)\r\n        self.SetFont(savedFont)\r\n        contextSizer.Add(self.contextIcon, 0, wx.EXPAND | wx.ALL, 0)\r\n        optsSizer.Add(contextSizer, 0, wx.EXPAND | wx.ALL, 0)\r\n\r\n        mainSizer.Add(optsSizer, 0, wx.EXPAND | wx.ALL, 10)\r\n\r\n        self.srcTgtSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        self.sourceList = SourceWrapperList(graphFrame, self)\r\n        self.sourceList.SetMinSize((270, -1))\r\n        self.srcTgtSizer.Add(self.sourceList, 1, wx.EXPAND | wx.ALL, 0)\r\n        self.targetList = TargetWrapperList(graphFrame, self)\r\n        self.targetList.SetMinSize((270, -1))\r\n        self.srcTgtSizer.Add(self.targetList, 1, wx.EXPAND | wx.LEFT, 10)\r\n        mainSizer.Add(self.srcTgtSizer, 1, wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, 10)\r\n\r\n        self.SetSizer(mainSizer)\r\n\r\n        self.inputTimer = wx.Timer(self)\r\n        self.Bind(wx.EVT_TIMER, self.OnInputTimer, self.inputTimer)\r\n        self._setVectorDefaults()\r\n\r\n    def updateControls(self, layout=True):\r\n        if layout:\r\n            self.Freeze()\r\n        self._clearStoredValues()\r\n        view = self.graphFrame.getView()\r\n\r\n        self.refreshAxeLabels()\r\n\r\n        # Vectors\r\n        self._setVectorDefaults()\r\n        if view.srcVectorDef is not None:\r\n            self.srcVector.Show(True)\r\n            self.srcVectorLabel.Show(True)\r\n            self.srcVectorLabel.SetLabel(view.srcVectorDef.label)\r\n        else:\r\n            self.srcVector.Show(False)\r\n            self.srcVectorLabel.Show(False)\r\n        if view.tgtVectorDef is not None:\r\n            self.tgtVector.Show(True)\r\n            self.tgtVectorLabel.Show(True)\r\n            self.tgtVectorLabel.SetLabel(view.tgtVectorDef.label)\r\n        else:\r\n            self.tgtVector.Show(False)\r\n            self.tgtVectorLabel.Show(False)\r\n\r\n        # Source and target list\r\n        self.refreshColumns(layout=False)\r\n        self.targetList.Show(view.hasTargets)\r\n\r\n        # Inputs\r\n        self._updateInputs(storeInputs=False)\r\n\r\n        # Context icon\r\n        self.contextIcon.Show(ContextMenu.hasMenu(self, None, None, (view.internalName,)))\r\n\r\n        if layout:\r\n            self.graphFrame.Layout()\r\n            self.graphFrame.UpdateWindowSize()\r\n            self.Thaw()\r\n\r\n    def _updateInputs(self, storeInputs=True):\r\n        if storeInputs:\r\n            self._storeCurrentValues()\r\n        # Clean up old inputs\r\n        for inputBox in (self._mainInputBox, *self._miscInputBoxes):\r\n            if inputBox is None:\r\n                continue\r\n            for child in (inputBox.textBox, inputBox.icon, inputBox.label):\r\n                if child is not None:\r\n                    child.Destroy()\r\n        for checkbox in self._inputCheckboxes:\r\n            checkbox.checkBox.Destroy()\r\n        self.inputsSizer.Clear()\r\n        self._mainInputBox = None\r\n        self._miscInputBoxes.clear()\r\n        self._inputCheckboxes.clear()\r\n        # Update vectors\r\n        view = self.graphFrame.getView()\r\n        handledHandles = set()\r\n        if view.srcVectorDef is not None:\r\n            self.__handleVector(view.srcVectorDef, self.srcVector, handledHandles, self.xType.mainInput[0])\r\n        if view.tgtVectorDef is not None:\r\n            self.__handleVector(view.tgtVectorDef, self.tgtVector, handledHandles, self.xType.mainInput[0])\r\n        # Update inputs\r\n        self.__addInputField(view.inputMap[self.xType.mainInput], handledHandles, mainInput=True)\r\n        for inputDef in view.inputs:\r\n            if inputDef.handle in handledHandles:\r\n                continue\r\n            self.__addInputField(inputDef, handledHandles)\r\n        # Add checkboxes\r\n        for checkboxDef in view.checkboxes:\r\n            if checkboxDef.handle in handledHandles:\r\n                continue\r\n            self.__addInputCheckbox(checkboxDef, handledHandles)\r\n\r\n    def __handleVector(self, vectorDef, vector, handledHandles, mainInputHandle):\r\n        handledHandles.add(vectorDef.lengthHandle)\r\n        handledHandles.add(vectorDef.angleHandle)\r\n        try:\r\n            storedLength = self._storedConsts[(vectorDef.lengthHandle, vectorDef.lengthUnit)]\r\n        except KeyError:\r\n            pass\r\n        else:\r\n            vector.SetLength(storedLength / 100)\r\n        try:\r\n            storedAngle = self._storedConsts[(vectorDef.angleHandle, vectorDef.angleUnit)]\r\n        except KeyError:\r\n            pass\r\n        else:\r\n            vector.SetAngle(storedAngle)\r\n        vector.SetDirectionOnly(vectorDef.lengthHandle == mainInputHandle)\r\n\r\n    def __addInputField(self, inputDef, handledHandles, mainInput=False):\r\n        if not self.__checkInputConditions(inputDef):\r\n            return\r\n        handledHandles.add(inputDef.handle)\r\n        fieldSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        tooltipText = (inputDef.mainTooltip if mainInput else inputDef.secondaryTooltip) or ''\r\n        if mainInput:\r\n            fieldTextBox = FloatRangeBox(self, self._storedRanges.get((inputDef.handle, inputDef.unit), inputDef.defaultRange))\r\n            fieldTextBox.Bind(wx.EVT_TEXT, self.OnMainInputChanged)\r\n        else:\r\n            fieldTextBox = FloatBox(self, self._storedConsts.get((inputDef.handle, inputDef.unit), inputDef.defaultValue))\r\n            fieldTextBox.Bind(wx.EVT_TEXT, self.OnNonMainInputChanged)\r\n        fieldTextBox.SetToolTip(wx.ToolTip(tooltipText))\r\n        fieldSizer.Add(fieldTextBox, 0, wx.EXPAND | wx.RIGHT, 5)\r\n        fieldIcon = None\r\n        if inputDef.iconID is not None:\r\n            icon = BitmapLoader.getBitmap(inputDef.iconID, 'icons')\r\n            if icon is not None:\r\n                fieldIcon = wx.StaticBitmap(self)\r\n                fieldIcon.SetBitmap(icon)\r\n                fieldIcon.SetToolTip(wx.ToolTip(tooltipText))\r\n                fieldSizer.Add(fieldIcon, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 3)\r\n        fieldLabel = wx.StaticText(self, wx.ID_ANY, self.formatLabel(inputDef))\r\n        fieldLabel.SetToolTip(wx.ToolTip(tooltipText))\r\n        fieldSizer.Add(fieldLabel, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 0)\r\n        self.inputsSizer.Add(fieldSizer, 0, wx.EXPAND | wx.BOTTOM, 5)\r\n        # Store info about added input box\r\n        inputBox = InputBox(handle=inputDef.handle, unit=inputDef.unit, textBox=fieldTextBox, icon=fieldIcon, label=fieldLabel)\r\n        if mainInput:\r\n            self._mainInputBox = inputBox\r\n        else:\r\n            self._miscInputBoxes.append(inputBox)\r\n\r\n    def __addInputCheckbox(self, checkboxDef, handledHandles):\r\n        if not self.__checkInputConditions(checkboxDef):\r\n            return\r\n        handledHandles.add(checkboxDef.handle)\r\n        fieldCheckbox = wx.CheckBox(self, wx.ID_ANY, checkboxDef.label, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        fieldCheckbox.SetValue(self._storedConsts.get((checkboxDef.handle, None), checkboxDef.defaultValue))\r\n        fieldCheckbox.Bind(wx.EVT_CHECKBOX, self.OnNonMainInputChanged)\r\n        self.inputsSizer.Add(fieldCheckbox, 0, wx.BOTTOM, 5)\r\n        # Store info about added checkbox\r\n        checkbox = CheckBox(handle=checkboxDef.handle, checkBox=fieldCheckbox)\r\n        self._inputCheckboxes.append(checkbox)\r\n\r\n    def __checkInputConditions(self, inputDef):\r\n        if not inputDef.conditions:\r\n            return True\r\n        selectedX = self.xType\r\n        selectedY = self.yType\r\n        for xCond, yCond in inputDef.conditions:\r\n            xMatch = True\r\n            yMatch = True\r\n            if xCond is not None:\r\n                xCondHandle, xCondUnit = xCond\r\n                xMatch = selectedX.handle == xCondHandle and selectedX.unit == xCondUnit\r\n            if yCond is not None:\r\n                yCondHandle, yCondUnit = yCond\r\n                yMatch = selectedY.handle == yCondHandle and selectedY.unit == yCondUnit\r\n            if xMatch and yMatch:\r\n                return True\r\n        return False\r\n\r\n    def refreshAxeLabels(self, restoreSelection=False):\r\n        view = self.graphFrame.getView()\r\n        if restoreSelection:\r\n            selectedY = self.ySubSelection.GetSelection()\r\n            selectedX = self.xSubSelection.GetSelection()\r\n        else:\r\n            selectedY = selectedX = 0\r\n\r\n        self.ySubSelection.Clear()\r\n        for yDef in view.yDefs:\r\n            if yDef.hidden and not self.graphFrame.includeHidden:\r\n                continue\r\n            self.ySubSelection.Append(self.formatLabel(yDef, selector=True), yDef)\r\n        self.ySubSelection.Enable(len(view.yDefs) > 1)\r\n        self.ySubSelection.SetSelection(selectedY)\r\n\r\n        self.xSubSelection.Clear()\r\n        for xDef in view.xDefs:\r\n            if xDef.hidden and not self.graphFrame.includeHidden:\r\n                continue\r\n            self.xSubSelection.Append(self.formatLabel(xDef, selector=True), xDef)\r\n        self.xSubSelection.Enable(len(view.xDefs) > 1)\r\n        self.xSubSelection.SetSelection(selectedX)\r\n\r\n    def refreshColumns(self, layout=True):\r\n        view = self.graphFrame.getView()\r\n        self.sourceList.refreshExtraColumns(view.srcExtraCols)\r\n        self.targetList.refreshExtraColumns(view.tgtExtraCols)\r\n        self.srcTgtSizer.Detach(self.sourceList)\r\n        self.srcTgtSizer.Detach(self.targetList)\r\n        self.srcTgtSizer.Add(self.sourceList, self.sourceList.getWidthProportion(), wx.EXPAND | wx.ALL, 0)\r\n        self.srcTgtSizer.Add(self.targetList, self.targetList.getWidthProportion(), wx.EXPAND | wx.LEFT, 10)\r\n        self.Layout()\r\n\r\n    def OnShowLegendChange(self, event):\r\n        event.Skip()\r\n        self.graphFrame.draw()\r\n\r\n    def OnShowY0Change(self, event):\r\n        event.Skip()\r\n        self.graphFrame.draw()\r\n\r\n    def OnYTypeUpdate(self, event):\r\n        event.Skip()\r\n        self._updateInputs()\r\n        self.graphFrame.resetXMark()\r\n        self.graphFrame.Layout()\r\n        self.graphFrame.UpdateWindowSize()\r\n        self.graphFrame.draw()\r\n\r\n    def OnXTypeUpdate(self, event):\r\n        event.Skip()\r\n        self._updateInputs()\r\n        self.graphFrame.resetXMark()\r\n        self.graphFrame.Layout()\r\n        self.graphFrame.UpdateWindowSize()\r\n        self.graphFrame.draw()\r\n\r\n    def OnMainInputChanged(self, event):\r\n        event.Skip()\r\n        self.graphFrame.resetXMark()\r\n        self.inputTimer.Stop()\r\n        self.inputTimer.Start(Fit.getInstance().serviceFittingOptions['marketSearchDelay'], True)\r\n\r\n    def OnNonMainInputChanged(self, event):\r\n        event.Skip()\r\n        self.inputTimer.Stop()\r\n        self.inputTimer.Start(Fit.getInstance().serviceFittingOptions['marketSearchDelay'], True)\r\n\r\n    def OnInputTimer(self, event):\r\n        event.Skip()\r\n        self.graphFrame.clearCache(reason=GraphCacheCleanupReason.inputChanged)\r\n        self.graphFrame.draw()\r\n\r\n    def getValues(self):\r\n        view = self.graphFrame.getView()\r\n        misc = []\r\n        processedHandles = set()\r\n\r\n        def addMiscData(handle, unit, value):\r\n            if handle in processedHandles:\r\n                return\r\n            inputData = InputData(handle=handle, unit=unit, value=value)\r\n            misc.append(inputData)\r\n\r\n        # Main input box\r\n        main = InputData(handle=self._mainInputBox.handle, unit=self._mainInputBox.unit, value=self._mainInputBox.textBox.GetValueRange())\r\n        processedHandles.add(self._mainInputBox.handle)\r\n        # Vectors\r\n        srcVectorDef = view.srcVectorDef\r\n        if srcVectorDef is not None:\r\n            if not self.srcVector.IsDirectionOnly:\r\n                addMiscData(handle=srcVectorDef.lengthHandle, unit=srcVectorDef.lengthUnit, value=self.srcVector.GetLength() * 100)\r\n            addMiscData(handle=srcVectorDef.angleHandle, unit=srcVectorDef.angleUnit, value=self.srcVector.GetAngle())\r\n        tgtVectorDef = view.tgtVectorDef\r\n        if tgtVectorDef is not None:\r\n            if not self.tgtVector.IsDirectionOnly:\r\n                addMiscData(handle=tgtVectorDef.lengthHandle, unit=tgtVectorDef.lengthUnit, value=self.tgtVector.GetLength() * 100)\r\n            addMiscData(handle=tgtVectorDef.angleHandle, unit=tgtVectorDef.angleUnit, value=self.tgtVector.GetAngle())\r\n        # Other input boxes\r\n        for inputBox in self._miscInputBoxes:\r\n            addMiscData(handle=inputBox.handle, unit=inputBox.unit, value=inputBox.textBox.GetValueFloat())\r\n        # Checkboxes\r\n        for checkbox in self._inputCheckboxes:\r\n            addMiscData(handle=checkbox.handle, unit=None, value=checkbox.checkBox.GetValue())\r\n\r\n        return main, misc\r\n\r\n    @property\r\n    def showLegend(self):\r\n        return self.showLegendCb.GetValue()\r\n\r\n    @property\r\n    def showY0(self):\r\n        return self.showY0Cb.GetValue()\r\n\r\n    @property\r\n    def yType(self):\r\n        return self.ySubSelection.GetClientData(self.ySubSelection.GetSelection())\r\n\r\n    @property\r\n    def xType(self):\r\n        return self.xSubSelection.GetClientData(self.xSubSelection.GetSelection())\r\n\r\n    @property\r\n    def sources(self):\r\n        return self.sourceList.wrappers\r\n\r\n    @property\r\n    def targets(self):\r\n        return self.targetList.wrappers\r\n\r\n    # Fit events\r\n    def OnFitRenamed(self, event):\r\n        self.sourceList.OnFitRenamed(event)\r\n        self.targetList.OnFitRenamed(event)\r\n\r\n    def OnFitChanged(self, event):\r\n        self.sourceList.OnFitChanged(event)\r\n        self.targetList.OnFitChanged(event)\r\n\r\n    def OnFitRemoved(self, event):\r\n        self.sourceList.OnFitRemoved(event)\r\n        self.targetList.OnFitRemoved(event)\r\n\r\n    # Target profile events\r\n    def OnProfileRenamed(self, event):\r\n        self.sourceList.OnProfileRenamed(event)\r\n        self.targetList.OnProfileRenamed(event)\r\n\r\n    def OnProfileChanged(self, event):\r\n        self.sourceList.OnProfileChanged(event)\r\n        self.targetList.OnProfileChanged(event)\r\n\r\n    def OnProfileRemoved(self, event):\r\n        self.sourceList.OnProfileRemoved(event)\r\n        self.targetList.OnProfileRemoved(event)\r\n\r\n    def OnResistModeChanged(self, event):\r\n        self.targetList.OnResistModeChanged(event)\r\n\r\n    def formatLabel(self, axisDef, selector=False):\r\n        label = axisDef.selectorLabel if selector else axisDef.label\r\n        if axisDef.unit is None:\r\n            return label\r\n        return '{}, {}'.format(label, axisDef.unit)\r\n\r\n    def _storeCurrentValues(self):\r\n        main, misc = self.getValues()\r\n        if main is not None:\r\n            self._storedRanges[(main.handle, main.unit)] = main.value\r\n        for input in misc:\r\n            self._storedConsts[(input.handle, input.unit)] = input.value\r\n\r\n    def _clearStoredValues(self):\r\n        self._storedRanges.clear()\r\n        self._storedConsts.clear()\r\n\r\n    def _setVectorDefaults(self):\r\n        self.srcVector.SetValue(length=0, angle=90)\r\n        self.tgtVector.SetValue(length=1, angle=90)\r\n\r\n    def contextMenuHandler(self, event):\r\n        viewName = self.graphFrame.getView().internalName\r\n        menu = ContextMenu.getMenu(self, None, None, (viewName,))\r\n        if menu is not None:\r\n            self.PopupMenu(menu)\r\n        event.Skip()\r\n"
  },
  {
    "path": "graphs/gui/frame.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport gui.display\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom graphs.data.base import FitGraph\r\nfrom graphs.events import RESIST_MODE_CHANGED\r\nfrom gui.auxWindow import AuxiliaryFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom service.const import GraphCacheCleanupReason\r\nfrom service.settings import GraphSettings\r\nfrom . import canvasPanel\r\nfrom .ctrlPanel import GraphControlPanel\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\n\r\nREDRAW_DELAY = 500\r\n\r\n\r\nclass GraphFrame(AuxiliaryFrame):\r\n\r\n    def __init__(self, parent, includeHidden=False):\r\n        if not canvasPanel.graphFrame_enabled:\r\n            pyfalog.warning('Matplotlib is not enabled. Skipping initialization.')\r\n            return\r\n\r\n        super().__init__(parent, title=_t('Graphs'), size=(520, 390), resizeable=True)\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.includeHidden = includeHidden\r\n\r\n        self.SetIcon(wx.Icon(BitmapLoader.getBitmap('graphs_small', 'gui')))\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        # Layout - graph selector\r\n        self.graphSelection = wx.Choice(self, wx.ID_ANY, style=0)\r\n        self.graphSelection.Bind(wx.EVT_CHOICE, self.OnGraphSwitched)\r\n        mainSizer.Add(self.graphSelection, 0, wx.EXPAND)\r\n\r\n        # Layout - plot area\r\n        self.canvasPanel = canvasPanel.GraphCanvasPanel(self, self)\r\n        mainSizer.Add(self.canvasPanel, 1, wx.EXPAND | wx.ALL, 0)\r\n\r\n        mainSizer.Add(wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL), 0, wx.EXPAND)\r\n\r\n        # Layout - graph control panel\r\n        self.ctrlPanel = GraphControlPanel(self, self)\r\n        mainSizer.Add(self.ctrlPanel, 0, wx.EXPAND | wx.ALL, 0)\r\n\r\n        self.SetSizer(mainSizer)\r\n\r\n        # Setup - graph selector\r\n        for view in FitGraph.views:\r\n            if view.hidden and not self.includeHidden:\r\n                continue\r\n            self.graphSelection.Append(view.name, view())\r\n        self.graphSelection.SetSelection(0)\r\n        self.ctrlPanel.updateControls(layout=False)\r\n\r\n        # Event bindings - local events\r\n        self.Bind(wx.EVT_CLOSE, self.OnClose)\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n\r\n        # Event bindings - external events\r\n        self.mainFrame.Bind(GE.FIT_RENAMED, self.OnFitRenamed)\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.OnFitChanged)\r\n        self.mainFrame.Bind(GE.FIT_REMOVED, self.OnFitRemoved)\r\n        self.mainFrame.Bind(GE.TARGET_PROFILE_RENAMED, self.OnProfileRenamed)\r\n        self.mainFrame.Bind(GE.TARGET_PROFILE_CHANGED, self.OnProfileChanged)\r\n        self.mainFrame.Bind(GE.TARGET_PROFILE_REMOVED, self.OnProfileRemoved)\r\n        self.mainFrame.Bind(RESIST_MODE_CHANGED, self.OnResistModeChanged)\r\n        self.mainFrame.Bind(GE.GRAPH_OPTION_CHANGED, self.OnGraphOptionChanged)\r\n        self.mainFrame.Bind(GE.EFFECTIVE_HP_TOGGLED, self.OnEffectiveHpToggled)\r\n\r\n        self.drawTimer = wx.Timer(self)\r\n        self.Bind(wx.EVT_TIMER, self.OnDrawTimer, self.drawTimer)\r\n\r\n        self.Layout()\r\n        self.UpdateWindowSize()\r\n        self.draw()\r\n\r\n    @classmethod\r\n    def openOne(cls, parent, *args, **kwargs):\r\n        if canvasPanel.graphFrame_enabled:\r\n            super().openOne(parent, *args, **kwargs)\r\n\r\n    def UpdateWindowSize(self):\r\n        curW, curH = self.GetSize()\r\n        bestW, bestH = self.GetBestSize()\r\n        newW = max(curW, bestW)\r\n        newH = max(curH, bestH)\r\n        if newW > curW or newH > curH:\r\n            newSize = wx.Size(round(newW), round(newH))\r\n            self.SetSize(newSize)\r\n            self.SetMinSize(newSize)\r\n\r\n    def kbEvent(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.Close()\r\n            return\r\n        event.Skip()\r\n\r\n    # Fit events\r\n    def OnFitRenamed(self, event):\r\n        event.Skip()\r\n        self.ctrlPanel.OnFitRenamed(event)\r\n        self.draw()\r\n\r\n    def OnFitChanged(self, event):\r\n        event.Skip()\r\n        for fitID in event.fitIDs:\r\n            self.clearCache(reason=GraphCacheCleanupReason.fitChanged, extraData=fitID)\r\n        self.ctrlPanel.OnFitChanged(event)\r\n        # Data has to be recalculated - delay redraw\r\n        # to give time to finish UI update in main window\r\n        self.drawTimer.Stop()\r\n        self.drawTimer.Start(REDRAW_DELAY, True)\r\n\r\n    def OnFitRemoved(self, event):\r\n        event.Skip()\r\n        self.clearCache(reason=GraphCacheCleanupReason.fitRemoved, extraData=event.fitID)\r\n        self.ctrlPanel.OnFitRemoved(event)\r\n        self.draw()\r\n\r\n    # Target profile events\r\n    def OnProfileRenamed(self, event):\r\n        event.Skip()\r\n        self.ctrlPanel.OnProfileRenamed(event)\r\n        self.draw()\r\n\r\n    def OnProfileChanged(self, event):\r\n        event.Skip()\r\n        self.clearCache(reason=GraphCacheCleanupReason.profileChanged, extraData=event.profileID)\r\n        self.ctrlPanel.OnProfileChanged(event)\r\n        self.draw()\r\n\r\n    def OnProfileRemoved(self, event):\r\n        event.Skip()\r\n        self.clearCache(reason=GraphCacheCleanupReason.profileRemoved, extraData=event.profileID)\r\n        self.ctrlPanel.OnProfileRemoved(event)\r\n        self.draw()\r\n\r\n    def OnResistModeChanged(self, event):\r\n        event.Skip()\r\n        for fitID in event.fitIDs:\r\n            self.clearCache(reason=GraphCacheCleanupReason.resistModeChanged, extraData=fitID)\r\n        self.ctrlPanel.OnResistModeChanged(event)\r\n        self.draw()\r\n\r\n    def OnGraphOptionChanged(self, event):\r\n        event.Skip()\r\n        layout = getattr(event, 'refreshColumns', False) or getattr(event, 'refreshColumns', False)\r\n        if layout:\r\n            self.ctrlPanel.Freeze()\r\n            if getattr(event, 'refreshAxeLabels', False):\r\n                self.ctrlPanel.refreshAxeLabels(restoreSelection=True)\r\n            if getattr(event, 'refreshColumns', False):\r\n                self.ctrlPanel.refreshColumns()\r\n            self.Layout()\r\n            self.ctrlPanel.Thaw()\r\n        self.clearCache(reason=GraphCacheCleanupReason.optionChanged)\r\n        self.draw()\r\n\r\n    def OnEffectiveHpToggled(self, event):\r\n        event.Skip()\r\n        currentView = self.getView()\r\n        # Redraw graph if needed\r\n        if currentView.usesHpEffectivity:\r\n            currentView.isEffective = event.effective\r\n            self.ctrlPanel.refreshAxeLabels(restoreSelection=True)\r\n            self.Layout()\r\n            self.clearCache(reason=GraphCacheCleanupReason.hpEffectivityChanged)\r\n            # Data has to be recalculated - delay redraw\r\n            # to give time to finish UI update in main window\r\n            self.drawTimer.Stop()\r\n            self.drawTimer.Start(REDRAW_DELAY, True)\r\n        # Even if graph is not selected, keep it updated\r\n        for idx in range(self.graphSelection.GetCount()):\r\n            view = self.getView(idx=idx)\r\n            if view is currentView:\r\n                continue\r\n            if view.usesHpEffectivity:\r\n                view.isEffective = event.effective\r\n\r\n    def OnGraphSwitched(self, event):\r\n        view = self.getView()\r\n        GraphSettings.getInstance().set('selectedGraph', view.internalName)\r\n        self.clearCache(reason=GraphCacheCleanupReason.graphSwitched)\r\n        self.resetXMark()\r\n        self.ctrlPanel.updateControls()\r\n        self.draw()\r\n        event.Skip()\r\n\r\n    def OnDrawTimer(self, event):\r\n        event.Skip()\r\n        self.draw()\r\n\r\n    def OnClose(self, event):\r\n        self.mainFrame.Unbind(GE.FIT_RENAMED, handler=self.OnFitRenamed)\r\n        self.mainFrame.Unbind(GE.FIT_CHANGED, handler=self.OnFitChanged)\r\n        self.mainFrame.Unbind(GE.FIT_REMOVED, handler=self.OnFitRemoved)\r\n        self.mainFrame.Unbind(GE.TARGET_PROFILE_RENAMED, handler=self.OnProfileRenamed)\r\n        self.mainFrame.Unbind(GE.TARGET_PROFILE_CHANGED, handler=self.OnProfileChanged)\r\n        self.mainFrame.Unbind(GE.TARGET_PROFILE_REMOVED, handler=self.OnProfileRemoved)\r\n        self.mainFrame.Unbind(RESIST_MODE_CHANGED, handler=self.OnResistModeChanged)\r\n        self.mainFrame.Unbind(GE.GRAPH_OPTION_CHANGED, handler=self.OnGraphOptionChanged)\r\n        self.mainFrame.Unbind(GE.EFFECTIVE_HP_TOGGLED, handler=self.OnEffectiveHpToggled)\r\n        event.Skip()\r\n\r\n    def getView(self, idx=None):\r\n        if idx is None:\r\n            idx = self.graphSelection.GetSelection()\r\n        return self.graphSelection.GetClientData(idx)\r\n\r\n    def clearCache(self, reason, extraData=None):\r\n        self.getView().clearCache(reason, extraData)\r\n\r\n    def draw(self):\r\n        self.canvasPanel.draw()\r\n\r\n    def resetXMark(self):\r\n        self.canvasPanel.xMark = None\r\n"
  },
  {
    "path": "graphs/gui/lists.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.display\r\nfrom eos.saveddata.targetProfile import TargetProfile\r\nfrom graphs.style import BASE_COLORS, LIGHTNESSES, STYLES\r\nfrom graphs.wrapper import SourceWrapper, TargetWrapper\r\nfrom gui.builtinViewColumns.graphColor import GraphColor\r\nfrom gui.builtinViewColumns.graphLightness import GraphLightness\r\nfrom gui.builtinViewColumns.graphLineStyle import GraphLineStyle\r\nfrom gui.contextMenu import ContextMenu\r\nfrom service.const import GraphCacheCleanupReason\r\nfrom service.fit import Fit\r\nfrom .stylePickers import ColorPickerPopup, LightnessPickerPopup, LineStylePickerPopup\r\n\r\n_t = wx.GetTranslation\r\n\r\nclass BaseWrapperList(gui.display.Display):\r\n\r\n    def __init__(self, graphFrame, parent):\r\n        super().__init__(parent)\r\n        self.graphFrame = graphFrame\r\n        self._wrappers = []\r\n\r\n        self.hoveredRow = None\r\n        self.hoveredColumn = None\r\n\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n        self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)\r\n        self.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick)\r\n        self.Bind(wx.EVT_MOTION, self.OnMouseMove)\r\n        self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindow)\r\n\r\n    @property\r\n    def wrappers(self):\r\n        # Sort fits first, then target profiles\r\n        return sorted(self._wrappers, key=lambda w: not w.isFit)\r\n\r\n    # UI-related stuff\r\n    @property\r\n    def defaultTTText(self):\r\n        raise NotImplementedError\r\n\r\n    def refreshExtraColumns(self, extraColSpecs):\r\n        baseColNames = set()\r\n        for baseColName in self.DEFAULT_COLS:\r\n            if \":\" in baseColName:\r\n                baseColName = baseColName.split(\":\", 1)[0]\r\n            baseColNames.add(baseColName)\r\n        columnsToRemove = set()\r\n        for col in self.activeColumns:\r\n            if col.name not in baseColNames:\r\n                columnsToRemove.add(col)\r\n        for col in columnsToRemove:\r\n            self.removeColumn(col)\r\n        for colSpec in extraColSpecs:\r\n            self.appendColumnBySpec(colSpec)\r\n        self.refreshView()\r\n\r\n    def refreshView(self):\r\n        self.refresh(self.wrappers)\r\n\r\n    def updateView(self):\r\n        self.update(self.wrappers)\r\n\r\n    # UI event handling\r\n    def OnMouseMove(self, event):\r\n        row, _, col = self.HitTestSubItem(event.Position)\r\n        if row != self.hoveredRow or col != self.hoveredColumn:\r\n            if self.ToolTip is not None:\r\n                self.SetToolTip(None)\r\n            else:\r\n                self.hoveredRow = row\r\n                self.hoveredColumn = col\r\n                if row != -1 and col != -1 and col < self.ColumnCount:\r\n                    item = self.getWrapper(row)\r\n                    if item is None:\r\n                        return\r\n                    tooltip = self.activeColumns[col].getToolTip(item)\r\n                    if tooltip:\r\n                        self.SetToolTip(tooltip)\r\n                    else:\r\n                        self.SetToolTip(None)\r\n                else:\r\n                    self.SetToolTip(self.defaultTTText)\r\n        event.Skip()\r\n\r\n    def OnLeaveWindow(self, event):\r\n        self.SetToolTip(None)\r\n        self.hoveredRow = None\r\n        self.hoveredColumn = None\r\n        event.Skip()\r\n\r\n    def handleDrag(self, type, fitID):\r\n        if type == 'fit' and not self.containsFitID(fitID):\r\n            sFit = Fit.getInstance()\r\n            fit = sFit.getFit(fitID)\r\n            self.appendItem(fit)\r\n            self.updateView()\r\n            self.graphFrame.draw()\r\n\r\n    def OnLeftDown(self, event):\r\n        row, _ = self.HitTest(event.Position)\r\n        if row != -1:\r\n            pickers = {\r\n                self.getColIndex(GraphColor): ColorPickerPopup,\r\n                self.getColIndex(GraphLightness): LightnessPickerPopup,\r\n                self.getColIndex(GraphLineStyle): LineStylePickerPopup}\r\n            # In case we had no index for some column, remove None\r\n            pickers.pop(None, None)\r\n            col = self.getColumn(event.Position)\r\n            if col in pickers:\r\n                picker = pickers[col]\r\n                wrapper = self.getWrapper(row)\r\n                if wrapper is not None:\r\n                    win = picker(parent=self, wrapper=wrapper)\r\n                    pos = wx.GetMousePosition()\r\n                    win.Position(pos, (0, 0))\r\n                    win.Popup()\r\n                    return\r\n        event.Skip()\r\n\r\n    def OnLineStyleChange(self):\r\n        self.updateView()\r\n        self.graphFrame.draw()\r\n\r\n    def OnLeftDClick(self, event):\r\n        row, _ = self.HitTest(event.Position)\r\n        wrapper = self.getWrapper(row)\r\n        if wrapper is None:\r\n            return\r\n        self.removeWrappers([wrapper])\r\n\r\n    def kbEvent(self, event):\r\n        keycode = event.GetKeyCode()\r\n        modifiers = event.GetModifiers()\r\n        if keycode == 65 and modifiers == wx.MOD_CONTROL:\r\n            self.selectAll()\r\n        elif keycode in (wx.WXK_DELETE, wx.WXK_NUMPAD_DELETE) and modifiers == wx.MOD_NONE:\r\n            self.removeWrappers(self.getSelectedWrappers())\r\n        event.Skip()\r\n\r\n    # Wrapper-related methods\r\n    def getWrapper(self, row):\r\n        if row == -1:\r\n            return None\r\n        try:\r\n            return self.wrappers[row]\r\n        except IndexError:\r\n            return None\r\n\r\n    def removeWrappers(self, wrappers):\r\n        wrappers = set(wrappers).intersection(self._wrappers)\r\n        if not wrappers:\r\n            return\r\n        for wrapper in wrappers:\r\n            self._wrappers.remove(wrapper)\r\n        self.updateView()\r\n        for wrapper in wrappers:\r\n            if wrapper.isFit:\r\n                self.graphFrame.clearCache(reason=GraphCacheCleanupReason.fitRemoved, extraData=wrapper.item.ID)\r\n            elif wrapper.isProfile:\r\n                self.graphFrame.clearCache(reason=GraphCacheCleanupReason.profileRemoved, extraData=wrapper.item.ID)\r\n        self.graphFrame.draw()\r\n\r\n    def getSelectedWrappers(self):\r\n        wrappers = []\r\n        for row in self.getSelectedRows():\r\n            wrapper = self.getWrapper(row)\r\n            if wrapper is None:\r\n                continue\r\n            wrappers.append(wrapper)\r\n        return wrappers\r\n\r\n    def appendItem(self, item):\r\n        raise NotImplemented\r\n\r\n    def containsFitID(self, fitID):\r\n        for wrapper in self._wrappers:\r\n            if wrapper.isFit and wrapper.item.ID == fitID:\r\n                return True\r\n        return False\r\n\r\n    def containsProfileID(self, profileID):\r\n        for wrapper in self._wrappers:\r\n            if wrapper.isProfile and wrapper.item.ID == profileID:\r\n                return True\r\n        return False\r\n\r\n    # Wrapper-related events\r\n    def OnFitRenamed(self, event):\r\n        if self.containsFitID(event.fitID):\r\n            self.updateView()\r\n\r\n    def OnFitChanged(self, event):\r\n        if set(event.fitIDs).intersection(w.item.ID for w in self._wrappers if w.isFit):\r\n            self.updateView()\r\n\r\n    def OnFitRemoved(self, event):\r\n        wrapper = next((w for w in self._wrappers if w.isFit and w.item.ID == event.fitID), None)\r\n        if wrapper is not None:\r\n            self._wrappers.remove(wrapper)\r\n            self.updateView()\r\n\r\n    def OnProfileRenamed(self, event):\r\n        if self.containsProfileID(event.profileID):\r\n            self.updateView()\r\n\r\n    def OnProfileChanged(self, event):\r\n        if self.containsProfileID(event.profileID):\r\n            self.updateView()\r\n\r\n    def OnProfileRemoved(self, event):\r\n        wrapper = next((w for w in self._wrappers if w.isProfile and w.item.ID == event.profileID), None)\r\n        if wrapper is not None:\r\n            self._wrappers.remove(wrapper)\r\n            self.updateView()\r\n\r\n    # Context menu handlers\r\n    def addFit(self, fit):\r\n        if fit is None:\r\n            return\r\n        if self.containsFitID(fit.ID):\r\n            return\r\n        self.appendItem(fit)\r\n        self.updateView()\r\n        self.graphFrame.draw()\r\n\r\n    def getExistingFitIDs(self):\r\n        return [w.item.ID for w in self._wrappers if w.isFit]\r\n\r\n    def addFitsByIDs(self, fitIDs):\r\n        sFit = Fit.getInstance()\r\n        for fitID in fitIDs:\r\n            if self.containsFitID(fitID):\r\n                continue\r\n            fit = sFit.getFit(fitID)\r\n            if fit is not None:\r\n                self.appendItem(fit)\r\n        self.updateView()\r\n        self.graphFrame.draw()\r\n\r\n\r\nclass SourceWrapperList(BaseWrapperList):\r\n\r\n    DEFAULT_COLS = (\r\n        'Graph Color',\r\n        'Base Icon',\r\n        'Base Name')\r\n\r\n    def __init__(self, graphFrame, parent):\r\n        super().__init__(graphFrame, parent)\r\n\r\n        self.Bind(wx.EVT_CONTEXT_MENU, self.spawnMenu)\r\n\r\n        fit = Fit.getInstance().getFit(self.graphFrame.mainFrame.getActiveFit())\r\n        if fit is not None:\r\n            self.appendItem(fit)\r\n            self.updateView()\r\n\r\n    def appendItem(self, item):\r\n        # Find out least used color\r\n        colorUseMap = {c: 0 for c in BASE_COLORS}\r\n        for wrapper in self._wrappers:\r\n            if wrapper.colorID not in colorUseMap:\r\n                continue\r\n            colorUseMap[wrapper.colorID] += 1\r\n\r\n        def getDefaultParams():\r\n            leastUses = min(colorUseMap.values(), default=0)\r\n            for colorID in BASE_COLORS:\r\n                if leastUses == colorUseMap.get(colorID, 0):\r\n                    return colorID\r\n            return None\r\n\r\n        colorID = getDefaultParams()\r\n        self._wrappers.append(SourceWrapper(item=item, colorID=colorID))\r\n\r\n    def spawnMenu(self, event):\r\n        clickedPos = self.getRowByAbs(event.Position)\r\n        self.ensureSelection(clickedPos)\r\n\r\n        selection = self.getSelectedWrappers()\r\n        mainItem = self.getWrapper(clickedPos)\r\n\r\n        itemContext = None if mainItem is None else _t('Fit')\r\n        menu = ContextMenu.getMenu(self, mainItem, selection, ('graphFitList', itemContext), ('graphFitListMisc', itemContext))\r\n        if menu:\r\n            self.PopupMenu(menu)\r\n\r\n    @property\r\n    def defaultTTText(self):\r\n        return _t('Drag a fit into this list to graph it')\r\n\r\n\r\nclass TargetWrapperList(BaseWrapperList):\r\n\r\n    DEFAULT_COLS = (\r\n        'Graph Lightness',\r\n        'Graph Line Style',\r\n        'Base Icon',\r\n        'Base Name')\r\n\r\n    def __init__(self, graphFrame, parent):\r\n        super().__init__(graphFrame, parent)\r\n\r\n        self.Bind(wx.EVT_CONTEXT_MENU, self.spawnMenu)\r\n\r\n        self.appendItem(TargetProfile.getIdeal())\r\n        self.updateView()\r\n\r\n    def appendItem(self, item):\r\n        # Find out least used lightness\r\n        lightnessUseMap = {(l, s): 0 for l in LIGHTNESSES for s in STYLES}\r\n        for wrapper in self._wrappers:\r\n            key = (wrapper.lightnessID, wrapper.lineStyleID)\r\n            if key not in lightnessUseMap:\r\n                continue\r\n            lightnessUseMap[key] += 1\r\n\r\n        def getDefaultParams():\r\n            leastUses = min(lightnessUseMap.values(), default=0)\r\n            for lineStyleID in STYLES:\r\n                for lightnessID in LIGHTNESSES:\r\n                    if leastUses == lightnessUseMap.get((lightnessID, lineStyleID), 0):\r\n                        return lightnessID, lineStyleID\r\n            return None, None\r\n\r\n        lightnessID, lineStyleID = getDefaultParams()\r\n        self._wrappers.append(TargetWrapper(item=item, lightnessID=lightnessID, lineStyleID=lineStyleID))\r\n\r\n    def spawnMenu(self, event):\r\n        clickedPos = self.getRowByAbs(event.Position)\r\n        self.ensureSelection(clickedPos)\r\n\r\n        selection = self.getSelectedWrappers()\r\n        mainItem = self.getWrapper(clickedPos)\r\n\r\n        itemContext = None if mainItem is None else _t('Target')\r\n        menu = ContextMenu.getMenu(self, mainItem, selection, ('graphTgtList', itemContext), ('graphTgtListMisc', itemContext))\r\n        if menu:\r\n            self.PopupMenu(menu)\r\n\r\n    def OnResistModeChanged(self, event):\r\n        if set(event.fitIDs).intersection(w.item.ID for w in self._wrappers if w.isFit):\r\n            self.updateView()\r\n\r\n    @property\r\n    def defaultTTText(self):\r\n        return _t('Drag a fit into this list to have your fits graphed against it')\r\n\r\n    # Context menu handlers\r\n    def addProfile(self, profile):\r\n        if profile is None:\r\n            return\r\n        if self.containsProfileID(profile.ID):\r\n            return\r\n        self.appendItem(profile)\r\n        self.updateView()\r\n        self.graphFrame.draw()\r\n"
  },
  {
    "path": "graphs/gui/stylePickers.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom graphs.style import BASE_COLORS, LIGHTNESSES, STYLES\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom service.const import GraphLightness\r\n\r\n\r\nclass StylePickerPopup(wx.PopupTransientWindow):\r\n\r\n    def __init__(self, parent, wrapper):\r\n        super().__init__(parent, flags=wx.BORDER_SIMPLE)\r\n        self.wrapper = wrapper\r\n\r\n        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))\r\n        sizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        grid = wx.GridSizer(self.nrows, self.ncols, 0, 0)\r\n        self.patches = list()\r\n        for styleID in self.sortingOrder:\r\n            styleData = self.styleContainer[styleID]\r\n            icon = wx.StaticBitmap(self, wx.ID_ANY, BitmapLoader.getBitmap(styleData.iconName, 'gui'))\r\n            icon.styleID = styleID\r\n            icon.SetToolTip(styleData.name)\r\n            icon.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)\r\n            grid.Add(icon, flag=wx.ALL, border=3)\r\n        sizer.Add(grid)\r\n\r\n        self.SetSizer(sizer)\r\n        self.Fit()\r\n        self.Layout()\r\n\r\n    @property\r\n    def styleContainer(self):\r\n        raise NotImplementedError\r\n\r\n    @property\r\n    def sortingOrder(self):\r\n        return self.styleContainer\r\n\r\n    @property\r\n    def ncols(self):\r\n        raise NotImplementedError\r\n\r\n    @property\r\n    def nrows(self):\r\n        raise NotImplementedError\r\n\r\n    @property\r\n    def wrapperAttr(self):\r\n        raise NotImplementedError\r\n\r\n    def OnLeftDown(self, event):\r\n        styleID = getattr(event.GetEventObject(), 'styleID', None)\r\n        if styleID is not None:\r\n            setattr(self.wrapper, self.wrapperAttr, styleID)\r\n            self.Parent.OnLineStyleChange()\r\n            self.Hide()\r\n            self.Destroy()\r\n            return\r\n        event.Skip()\r\n\r\n\r\nclass ColorPickerPopup(StylePickerPopup):\r\n\r\n    styleContainer = BASE_COLORS\r\n    wrapperAttr = 'colorID'\r\n    ncols = 4\r\n    nrows = 2\r\n\r\n\r\nclass LightnessPickerPopup(StylePickerPopup):\r\n\r\n    styleContainer = LIGHTNESSES\r\n    sortingOrder = (GraphLightness.dark, GraphLightness.normal, GraphLightness.bright)\r\n    wrapperAttr = 'lightnessID'\r\n    ncols = 3\r\n    nrows = 1\r\n\r\n\r\nclass LineStylePickerPopup(StylePickerPopup):\r\n\r\n    styleContainer = STYLES\r\n    wrapperAttr = 'lineStyleID'\r\n    ncols = 4\r\n    nrows = 1\r\n"
  },
  {
    "path": "graphs/gui/vector.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom eos.utils.float import floatUnerr\r\n\r\n\r\nclass VectorPicker(wx.Window):\r\n\r\n    myEVT_VECTOR_CHANGED = wx.NewEventType()\r\n    EVT_VECTOR_CHANGED = wx.PyEventBinder(myEVT_VECTOR_CHANGED, 1)\r\n\r\n    def __init__(self, *args, **kwargs):\r\n        self._label = str(kwargs.pop('label', ''))\r\n        self._labelpos = int(kwargs.pop('labelpos', 0))\r\n        self._offset = float(kwargs.pop('offset', 0))\r\n        self._size = max(0, float(kwargs.pop('size', 50)))\r\n        self._directionOnly = kwargs.pop('directionOnly', False)\r\n        super().__init__(*args, **kwargs)\r\n        self._fontsize = max(1, float(kwargs.pop('fontsize', 8 / self.GetContentScaleFactor())))\r\n        self._font = wx.Font(round(self._fontsize), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False)\r\n        self._angle = 0\r\n        self.__length = 1\r\n        self._left = False\r\n        self._right = False\r\n        self._savedFocusedWindow = None\r\n        self.SetToolTip(wx.ToolTip(self._tooltip))\r\n        self.Bind(wx.EVT_PAINT, self.OnPaint)\r\n        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)\r\n        self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)\r\n        self.Bind(wx.EVT_RIGHT_DOWN, self.OnRightDown)\r\n        self.Bind(wx.EVT_MOUSEWHEEL, self.OnWheel)\r\n        # Allows to focus these widgets on hover, needed to support\r\n        # vector length changing by scrolling\r\n        if 'wxMSW' in wx.PlatformInfo:\r\n            self.Bind(wx.EVT_MOTION, self.OnMouseMove)\r\n            self.Bind(wx.EVT_LEAVE_WINDOW, self.OnMouseLeave)\r\n\r\n    @property\r\n    def _tooltip(self):\r\n        if self._directionOnly:\r\n            return 'Click to set angle\\nShift-click or right-click to snap to 15% angle'\r\n        else:\r\n            return 'Click to set angle and velocity\\nShift-click or right-click to snap to 15% angle/5% speed increments\\nMouse wheel to change velocity only'\r\n\r\n    @property\r\n    def _length(self):\r\n        if self._directionOnly:\r\n            return 1\r\n        else:\r\n            return self.__length\r\n\r\n    @_length.setter\r\n    def _length(self, newLength):\r\n        self.__length = newLength\r\n\r\n    def DoGetBestSize(self):\r\n        return wx.Size(round(self._size), round(self._size))\r\n\r\n    def AcceptsFocusFromKeyboard(self):\r\n        return False\r\n\r\n    def GetValue(self):\r\n        return self._angle, self._length\r\n\r\n    def GetAngle(self):\r\n        return self._angle\r\n\r\n    def GetLength(self):\r\n        return self._length\r\n\r\n    def SetValue(self, angle=None, length=None):\r\n        if angle is not None:\r\n            self._angle = min(max(angle, -180), 180)\r\n        if length is not None:\r\n            self._length = min(max(length, 0), 1)\r\n        self.Refresh()\r\n\r\n    def SetAngle(self, angle):\r\n        self.SetValue(angle, None)\r\n\r\n    def SetLength(self, length):\r\n        self.SetValue(None, length)\r\n\r\n    def OnPaint(self, event):\r\n        dc = wx.BufferedPaintDC(self)\r\n        self.Draw(dc)\r\n\r\n    def GetScaledClientSize(self):\r\n        return tuple([dim / self.GetContentScaleFactor() for dim in self.GetClientSize()])\r\n\r\n    def Draw(self, dc):\r\n        width, height = self.GetScaledClientSize()\r\n        if not width or not height:\r\n            return\r\n        dc.SetBackground(wx.Brush(self.GetBackgroundColour(), wx.BRUSHSTYLE_SOLID))\r\n        dc.Clear()\r\n        dc.SetTextForeground(wx.Colour(0))\r\n        dc.SetFont(self._font)\r\n\r\n        radius = min(width, height) / 2 - 2\r\n        dc.SetBrush(wx.WHITE_BRUSH)\r\n        dc.DrawCircle(round(radius + 2), round(radius + 2), round(radius))\r\n        a = math.radians(self._angle + self._offset)\r\n        x = math.cos(a) * radius\r\n        y = math.sin(a) * radius\r\n        # See PR #2260 on why this is needed\r\n        pointRadius = 2 / self.GetContentScaleFactor() if 'wxGTK' in wx.PlatformInfo else 2\r\n        dc.DrawLine(\r\n            round(radius + 2), round(radius + 2),\r\n            round(radius + 2 + x * self._length), round(radius + 2 - y * self._length))\r\n        dc.SetBrush(wx.BLACK_BRUSH)\r\n        dc.DrawCircle(round(radius + 2 + x * self._length), round(radius + 2 - y * self._length), round(pointRadius))\r\n\r\n        if self._label:\r\n            labelText = self._label\r\n            labelTextW, labelTextH = dc.GetTextExtent(labelText)\r\n            labelTextX = (radius * 2 + 4 - labelTextW) if (self._labelpos & 1) else 0\r\n            labelTextY = (radius * 2 + 4 - labelTextH) if (self._labelpos & 2) else 0\r\n            dc.DrawText(labelText, round(labelTextX), round(labelTextY))\r\n\r\n        if not self._directionOnly:\r\n            lengthText = '%d%%' % (100 * self._length,)\r\n            lengthTextW, lengthTextH = dc.GetTextExtent(lengthText)\r\n            lengthTextX = radius + 2 + x / 2 - y / 3 - lengthTextW / 2\r\n            lengthTextY = radius + 2 - y / 2 - x / 3 - lengthTextH / 2\r\n            dc.DrawText(lengthText, round(lengthTextX), round(lengthTextY))\r\n\r\n        angleText = '%d\\u00B0' % (self._angle,)\r\n        angleTextW, angleTextH = dc.GetTextExtent(angleText)\r\n        angleTextX = radius + 2 - x / 2 - angleTextW / 2\r\n        angleTextY = radius + 2 + y / 2 - angleTextH / 2\r\n        dc.DrawText(angleText, round(angleTextX), round(angleTextY))\r\n\r\n    def OnEraseBackground(self, event):\r\n        pass\r\n\r\n    def OnLeftDown(self, event):\r\n        self._left = True\r\n        self.SetToolTip(None)\r\n        self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)\r\n        self.Bind(wx.EVT_MOUSE_CAPTURE_LOST, self.OnLeftUp)\r\n        if not self._right:\r\n            self.Bind(wx.EVT_MOTION, self.OnMotion)\r\n        if not self.HasCapture():\r\n            self.CaptureMouse()\r\n        self.HandleMouseEvent(event)\r\n\r\n    def OnRightDown(self, event):\r\n        self._right = True\r\n        self.SetToolTip(None)\r\n        self.Bind(wx.EVT_RIGHT_UP, self.OnRightUp)\r\n        self.Bind(wx.EVT_MOUSE_CAPTURE_LOST, self.OnRightUp)\r\n        if not self._left:\r\n            self.Bind(wx.EVT_MOTION, self.OnMotion)\r\n        if not self.HasCapture():\r\n            self.CaptureMouse()\r\n        self.HandleMouseEvent(event)\r\n\r\n    def OnLeftUp(self, event):\r\n        self.HandleMouseEvent(event)\r\n        self.Unbind(wx.EVT_LEFT_UP, handler=self.OnLeftUp)\r\n        self.Unbind(wx.EVT_MOUSE_CAPTURE_LOST, handler=self.OnLeftUp)\r\n        self._left = False\r\n        if not self._right:\r\n            self.Unbind(wx.EVT_MOTION, handler=self.OnMotion)\r\n            self.SendChangeEvent()\r\n            self.SetToolTip(wx.ToolTip(self._tooltip))\r\n            if self.HasCapture():\r\n                self.ReleaseMouse()\r\n\r\n    def OnRightUp(self, event):\r\n        self.HandleMouseEvent(event)\r\n        self.Unbind(wx.EVT_RIGHT_UP, handler=self.OnRightUp)\r\n        self.Unbind(wx.EVT_MOUSE_CAPTURE_LOST, handler=self.OnRightUp)\r\n        self._right = False\r\n        if not self._left:\r\n            self.Unbind(wx.EVT_MOTION, handler=self.OnMotion)\r\n            self.SendChangeEvent()\r\n            self.SetToolTip(wx.ToolTip(self._tooltip))\r\n            if self.HasCapture():\r\n                self.ReleaseMouse()\r\n\r\n    def OnMotion(self, event):\r\n        self.HandleMouseEvent(event)\r\n        event.Skip()\r\n\r\n    def OnWheel(self, event):\r\n        amount = 0.1 * event.GetWheelRotation() / event.GetWheelDelta()\r\n        self._length = floatUnerr(min(max(self._length + amount, 0.0), 1.0))\r\n        self.Refresh()\r\n        self.SendChangeEvent()\r\n\r\n    def HandleMouseEvent(self, event):\r\n        width, height = self.GetClientSize()\r\n        if width and height:\r\n            center = min(width, height) / 2\r\n            x, y = event.GetPosition()\r\n            x = x - center\r\n            y = center - y\r\n            angle = self._angle\r\n            length = min((x ** 2 + y ** 2) ** 0.5 / (center - 2), 1.0)\r\n            if length < 0.01:\r\n                length = 0\r\n            else:\r\n                angle = ((math.degrees(math.atan2(y, x)) - self._offset + 180) % 360) - 180\r\n            if (self._right and not self._left) or event.ShiftDown():\r\n                angle = round(angle / 15.0) * 15.0\r\n                # floor() for length to make it easier to hit 0%, can still hit 100% outside the circle\r\n                length = math.floor(length / 0.05) * 0.05\r\n            if (angle != self._angle) or (length != self._length):\r\n                self._angle = angle\r\n                self._length = length\r\n                self.Refresh()\r\n                if (self._right and not self._left) or event.ShiftDown():\r\n                    self.SendChangeEvent()\r\n\r\n    # Focus manipulation - otherwise scrolling doesn't work under Windows\r\n    def OnMouseMove(self, event):\r\n        event.Skip()\r\n        if not self.HasFocus():\r\n            self._savedFocusedWindow = self.FindFocus()\r\n            self.SetFocus()\r\n\r\n    def OnMouseLeave(self, event):\r\n        event.Skip()\r\n        if self.HasFocus():\r\n            if self._savedFocusedWindow is not None:\r\n                self._savedFocusedWindow.SetFocus()\r\n                self._savedFocusedWindow = None\r\n\r\n    def SendChangeEvent(self):\r\n        changeEvent = wx.CommandEvent(self.myEVT_VECTOR_CHANGED, self.GetId())\r\n        changeEvent._object = self\r\n        changeEvent._angle = self._angle\r\n        changeEvent._length = self._length\r\n        self.GetEventHandler().ProcessEvent(changeEvent)\r\n\r\n    def SetDirectionOnly(self, val):\r\n        if self._directionOnly is val:\r\n            return\r\n        self._directionOnly = val\r\n        self.GetToolTip().SetTip(self._tooltip)\r\n\r\n    @property\r\n    def IsDirectionOnly(self):\r\n        return self._directionOnly\r\n\r\n"
  },
  {
    "path": "graphs/style.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom collections import OrderedDict, namedtuple\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom service.const import GraphColor, GraphLightness, GraphLineStyle\r\n\r\nColorData = namedtuple('ColorData', ('hsl', 'name', 'iconName'))\r\nLightnessData = namedtuple('LightnessData', ('name', 'iconName', 'func'))\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass LineStyleData:\r\n\r\n    def __init__(self, name, iconNamePrefix, mplSpec):\r\n        self.name = name\r\n        self._iconNamePrefix = iconNamePrefix\r\n        self.mplSpec = mplSpec\r\n\r\n    @property\r\n    def iconName(self):\r\n        # Get lightness out of RGB color, see following link for math:\r\n        # https://www.niwa.nu/2013/05/math-behind-colorspace-conversions-rgb-hsl/\r\n        r, g, b, a = (c / 255 for c in wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))\r\n        l = (max(r, g, b) + min (r, g, b)) / 2\r\n        suffix = '_black' if l > 0.3 else '_white'\r\n        return '{}{}'.format(self._iconNamePrefix, suffix)\r\n\r\n\r\n# In HSL format\r\nBASE_COLORS = OrderedDict([\r\n    (GraphColor.red, ColorData((0 / 360.0, 1.0, 0.5), _t('Red'), 'color_red')),\r\n    (GraphColor.green, ColorData((120 / 360.0, 1.0, 0.5), _t('Green'), 'color_green')),\r\n    (GraphColor.blue, ColorData((240 / 360.0, 1.0, 0.5), _t('Blue'), 'color_blue')),\r\n    (GraphColor.orange, ColorData((40 / 360.0, 1.0, 0.5), _t('Orange'), 'color_orange')),\r\n    (GraphColor.magenta, ColorData((300 / 360.0, 1.0, 0.5), _t('Magenta'), 'color_magenta')),\r\n    (GraphColor.cyan, ColorData((180 / 360.0, 1.0, 0.5), _t('Cyan'), 'color_cyan')),\r\n    (GraphColor.purple, ColorData((275 / 360.0, 1.0, 0.5), _t('Purple'), 'color_purple')),\r\n    (GraphColor.yellow, ColorData((56 / 360.0, 1.0, 0.5), _t('Yellow'), 'color_yellow'))])\r\n\r\n\r\ndef hsl_to_hsv(hsl):\r\n    h, s, l = hsl\r\n    s *= l if (l < 0.5) else (1 - l)\r\n    l += s\r\n    return (h, 2 * s / l, l)\r\n\r\n\r\ndef darken(hsl):\r\n    h, s, l = hsl\r\n    return h, s * 0.5, l * 0.7\r\n\r\n\r\ndef brighten(hsl):\r\n    h, s, l = hsl\r\n    return h, s * 0.5, l + (1 - l) * 0.5\r\n\r\n\r\nLIGHTNESSES = OrderedDict([\r\n    (GraphLightness.normal, LightnessData(_t('Normal'), 'lightness_normal', lambda hsl: hsl)),\r\n    (GraphLightness.dark, LightnessData(_t('Dark'), 'lightness_dark', darken)),\r\n    (GraphLightness.bright, LightnessData(_t('Bright'), 'lightness_bright', brighten))])\r\n\r\n\r\nSTYLES = OrderedDict([\r\n    (GraphLineStyle.solid, LineStyleData(_t('Solid'), 'style_solid', 'solid')),\r\n    (GraphLineStyle.dashed, LineStyleData(_t('Dashed'), 'style_dashed', (0, (5, 1)))),\r\n    (GraphLineStyle.dotted, LineStyleData(_t('Dotted'), 'style_dotted', (0, (1, 1)))),\r\n    (GraphLineStyle.dashdotted, LineStyleData(_t('Dash-dotted'), 'style_dashdot', (0, (3, 1, 1, 1))))])\r\n"
  },
  {
    "path": "graphs/wrapper.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom eos.calc import calculateMultiplier\r\nfrom eos.saveddata.damagePattern import DamagePattern\r\nfrom eos.saveddata.fit import Fit\r\nfrom eos.saveddata.targetProfile import TargetProfile\r\nfrom service.const import TargetResistMode\r\n\r\n\r\nclass BaseWrapper:\r\n\r\n    def __init__(self, item):\r\n        self.item = item\r\n\r\n    @property\r\n    def isFit(self):\r\n        return isinstance(self.item, Fit)\r\n\r\n    @property\r\n    def isProfile(self):\r\n        return isinstance(self.item, TargetProfile)\r\n\r\n    @property\r\n    def name(self):\r\n        if self.isFit:\r\n            return '{} ({})'.format(self.item.name, self.item.ship.item.name)\r\n        elif self.isProfile:\r\n            return self.item.fullName\r\n        return ''\r\n\r\n    @property\r\n    def shortName(self):\r\n        if self.isFit:\r\n            return '{} ({})'.format(self.item.name, self.item.ship.item.getShortName())\r\n        elif self.isProfile:\r\n            return self.item.shortName\r\n        return ''\r\n\r\n    def getMaxVelocity(self, extraMultipliers=None, ignoreAfflictors=()):\r\n        if self.isFit:\r\n            if extraMultipliers or ignoreAfflictors:\r\n                maxVelocity = self.item.ship.getModifiedItemAttrExtended(\r\n                    'maxVelocity',\r\n                    extraMultipliers=extraMultipliers,\r\n                    ignoreAfflictors=ignoreAfflictors)\r\n            else:\r\n                maxVelocity = self.item.ship.getModifiedItemAttr('maxVelocity')\r\n        elif self.isProfile:\r\n            maxVelocity = self.item.maxVelocity\r\n            if extraMultipliers:\r\n                maxVelocity *= calculateMultiplier(extraMultipliers)\r\n        else:\r\n            maxVelocity = None\r\n        return maxVelocity\r\n\r\n    def getSigRadius(self, extraMultipliers=None, ignoreAfflictors=()):\r\n        if self.isFit:\r\n            if extraMultipliers or ignoreAfflictors:\r\n                sigRadius = self.item.ship.getModifiedItemAttrExtended(\r\n                    'signatureRadius',\r\n                    extraMultipliers=extraMultipliers,\r\n                    ignoreAfflictors=ignoreAfflictors)\r\n            else:\r\n                sigRadius = self.item.ship.getModifiedItemAttr('signatureRadius')\r\n        elif self.isProfile:\r\n            sigRadius = self.item.signatureRadius\r\n            if extraMultipliers:\r\n                sigRadius *= calculateMultiplier(extraMultipliers)\r\n        else:\r\n            sigRadius = None\r\n        return sigRadius\r\n\r\n    def getRadius(self):\r\n        if self.isFit:\r\n            radius = self.item.ship.getModifiedItemAttr('radius')\r\n        elif self.isProfile:\r\n            radius = self.item.radius\r\n        else:\r\n            radius = None\r\n        return radius\r\n\r\n\r\nclass SourceWrapper(BaseWrapper):\r\n\r\n    def __init__(self, item, colorID):\r\n        super().__init__(item)\r\n        self._colorID = colorID\r\n\r\n    @property\r\n    def colorID(self):\r\n        return self._colorID\r\n\r\n    @colorID.setter\r\n    def colorID(self, value):\r\n        self._colorID = value\r\n\r\n\r\nclass TargetWrapper(BaseWrapper):\r\n\r\n    def __init__(self, item, lightnessID, lineStyleID):\r\n        super().__init__(item=item)\r\n        self.lightnessID = lightnessID\r\n        self.lineStyleID = lineStyleID\r\n        self.resistMode = TargetResistMode.auto\r\n\r\n    def getResists(self, includeLayer=False):\r\n        em = therm = kin = explo = 0\r\n        layer = None\r\n        if self.isProfile:\r\n            em = self.item.emAmount\r\n            therm = self.item.thermalAmount\r\n            kin = self.item.kineticAmount\r\n            explo = self.item.explosiveAmount\r\n        if self.isFit:\r\n            if self.resistMode == TargetResistMode.auto:\r\n                em, therm, kin, explo, layer = _getAutoResists(fit=self.item)\r\n            elif self.resistMode == TargetResistMode.shield:\r\n                em, therm, kin, explo = _getShieldResists(ship=self.item.ship)\r\n            elif self.resistMode == TargetResistMode.armor:\r\n                em, therm, kin, explo = _getArmorResists(ship=self.item.ship)\r\n            elif self.resistMode == TargetResistMode.hull:\r\n                em, therm, kin, explo = _getHullResists(ship=self.item.ship)\r\n            elif self.resistMode == TargetResistMode.weightedAverage:\r\n                em, therm, kin, explo = _getWeightedResists(fit=self.item)\r\n        if includeLayer:\r\n            return em, therm, kin, explo, layer\r\n        else:\r\n            return em, therm, kin, explo\r\n\r\n    def getFullHp(self):\r\n        if self.isProfile:\r\n            return self.item.hp\r\n        if self.isFit:\r\n            return self.item.hp.get('shield', 0) + self.item.hp.get('armor', 0) + self.item.hp.get('hull', 0)\r\n\r\n\r\ndef _getShieldResists(ship):\r\n    em = 1 - ship.getModifiedItemAttr('shieldEmDamageResonance')\r\n    therm = 1 - ship.getModifiedItemAttr('shieldThermalDamageResonance')\r\n    kin = 1 - ship.getModifiedItemAttr('shieldKineticDamageResonance')\r\n    explo = 1 - ship.getModifiedItemAttr('shieldExplosiveDamageResonance')\r\n    return em, therm, kin, explo\r\n\r\n\r\ndef _getArmorResists(ship):\r\n    em = 1 - ship.getModifiedItemAttr('armorEmDamageResonance')\r\n    therm = 1 - ship.getModifiedItemAttr('armorThermalDamageResonance')\r\n    kin = 1 - ship.getModifiedItemAttr('armorKineticDamageResonance')\r\n    explo = 1 - ship.getModifiedItemAttr('armorExplosiveDamageResonance')\r\n    return em, therm, kin, explo\r\n\r\n\r\ndef _getHullResists(ship):\r\n    em = 1 - ship.getModifiedItemAttr('emDamageResonance')\r\n    therm = 1 - ship.getModifiedItemAttr('thermalDamageResonance')\r\n    kin = 1 - ship.getModifiedItemAttr('kineticDamageResonance')\r\n    explo = 1 - ship.getModifiedItemAttr('explosiveDamageResonance')\r\n    return em, therm, kin, explo\r\n\r\n\r\ndef _getWeightedResists(fit):\r\n    shieldEmRes, shieldThermRes, shieldKinRes, shieldExploRes = _getShieldResists(fit.ship)\r\n    armorEmRes, armorThermRes, armorKinRes, armorExploRes = _getArmorResists(fit.ship)\r\n    hullEmRes, hullThermRes, hullKinRes, hullExploRes = _getHullResists(fit.ship)\r\n    hpData = fit.hp\r\n    shieldHp = hpData['shield']\r\n    armorHp = hpData['armor']\r\n    hullHp = hpData['hull']\r\n    totalHp = shieldHp + armorHp + hullHp\r\n    totalEhpEm = shieldHp / (1 - shieldEmRes) + armorHp / (1 - armorEmRes) + hullHp / (1 - hullEmRes)\r\n    totalEhpTherm = shieldHp / (1 - shieldThermRes) + armorHp / (1 - armorThermRes) + hullHp / (1 - hullThermRes)\r\n    totalEhpKin = shieldHp / (1 - shieldKinRes) + armorHp / (1 - armorKinRes) + hullHp / (1 - hullKinRes)\r\n    totalEhpExplo = shieldHp / (1 - shieldExploRes) + armorHp / (1 - armorExploRes) + hullHp / (1 - hullExploRes)\r\n    weightedEmRes = 1 - totalHp / totalEhpEm\r\n    weightedThermRes = 1 - totalHp / totalEhpTherm\r\n    weightedKinRes = 1 - totalHp / totalEhpKin\r\n    weightedExploRes = 1 - totalHp / totalEhpExplo\r\n    return weightedEmRes, weightedThermRes, weightedKinRes, weightedExploRes\r\n\r\n\r\ndef _getAutoResists(fit):\r\n    # Get all the data\r\n    # HP / EHP\r\n    hpData = fit.hp\r\n    shieldHp = hpData['shield']\r\n    armorHp = hpData['armor']\r\n    hullHp = hpData['hull']\r\n    uniformDamagePattern = DamagePattern(emAmount=25, thermalAmount=25, kineticAmount=25, explosiveAmount=25)\r\n    ehpData = uniformDamagePattern.calculateEhp(fit.ship)\r\n    shieldEhp = ehpData['shield']\r\n    armorEhp = ehpData['armor']\r\n    hullEhp = ehpData['hull']\r\n    totalEhp = shieldEhp + armorEhp + hullEhp\r\n    # Resist factors\r\n    try:\r\n        shieldResFactor = shieldEhp / shieldHp\r\n    except ZeroDivisionError:\r\n        shieldResFactor = 1\r\n    try:\r\n        armorResFactor = armorEhp / armorHp\r\n    except ZeroDivisionError:\r\n        armorResFactor = 1\r\n    try:\r\n        hullResFactor = hullEhp / hullHp\r\n    except ZeroDivisionError:\r\n        hullResFactor = 1\r\n    # Tank\r\n    tankData = fit.tank\r\n    shieldTank = tankData['shieldRepair']\r\n    armorTank = tankData['armorRepair']\r\n    hullTank = tankData['hullRepair']\r\n    shieldRegen = tankData['passiveShield']\r\n\r\n    shieldScore = 0\r\n    armorScore = 0\r\n    hullScore = 0\r\n    # EHP scoring\r\n    ehpWeight = 100\r\n    shieldScore += ehpWeight * (shieldEhp / totalEhp) ** 1.5\r\n    armorScore += ehpWeight * (armorEhp / totalEhp) ** 1.5\r\n    hullScore += ehpWeight * (hullEhp / totalEhp) ** 1.5\r\n    # Resists scoring\r\n    # We include it to have some extra points for receiving better reps from the outside\r\n    resistWeight = 25\r\n    bestResFactor = max(shieldResFactor, armorResFactor, hullResFactor)\r\n    shieldScore += resistWeight * (shieldResFactor / bestResFactor) ** 1.5\r\n    armorScore += resistWeight * (armorResFactor / bestResFactor) ** 1.5\r\n    hullScore += resistWeight * (hullResFactor / bestResFactor) ** 1.5\r\n    # Active tank\r\n    activeWeight = 10000\r\n    shieldScore += activeWeight * shieldTank * shieldResFactor / totalEhp\r\n    armorScore += activeWeight * armorTank * armorResFactor / totalEhp\r\n    hullScore += activeWeight * hullTank * hullResFactor / totalEhp\r\n    # Shield regen\r\n    regenWeight = 5000\r\n    shieldScore += regenWeight * shieldRegen * shieldResFactor / totalEhp\r\n    maxScore = max(shieldScore, armorScore, hullScore)\r\n    if maxScore == shieldScore:\r\n        return (*_getShieldResists(fit.ship), 'shield')\r\n    if maxScore == armorScore:\r\n        return (*_getArmorResists(fit.ship), 'armor')\r\n    if maxScore == hullScore:\r\n        return (*_getHullResists(fit.ship), 'hull')\r\n    return 0, 0, 0, 0, None\r\n"
  },
  {
    "path": "gui/__init__.py",
    "content": ""
  },
  {
    "path": "gui/aboutData.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport config\r\nimport wx\r\n_t = wx.GetTranslation\r\n\r\ntry:\r\n    versionString = \"{0}\".format(config.getVersion())\r\nexcept NameError:\r\n    # is caught in case we run test and there are no config values initialized\r\n    versionString = \"0.0\"\r\n\r\nlicenses = (\r\n    _t(\"pyfa is released under GNU GPLv3 - see included LICENSE file\"),\r\n    _t(\"All EVE-Online related materials are property of CCP hf.\"),\r\n    _t(\"Silk Icons Set by famfamfam.com - Creative Commons Attribution 2.5 License\"),\r\n    _t(\"Fat Cow Icons by fatcow.com - Creative Commons Attribution 3.0 License\")\r\n)\r\ndevelopers = (\r\n    \"blitzmann \\tSable Blitzmann (maintainer)\",\r\n    \"cncfanatics \\tSakari Orisi (retired)\",\r\n    \"DarkPhoenix \\tKadesh Priestess (retired)\",\r\n    \"Darriele \\t\\tDarriele (retired)\",\r\n    \"Ebag333 \\t\\tEbag Trescientas\"\r\n)\r\ncredits = (\r\n    \"Entity (Entity) \\tCapacitor calculations / EVEAPI python lib / Reverence\",\r\n    \"Aurora \\t\\tMaths\",\r\n    \"Corollax (Aamrr) \\tVarious EOS / pyfa improvements\",\r\n    \"Dreae (Dreae)\\tPyCrest\")\r\ndescription = (\r\n    _t(\"Pyfa (the Python Fitting Assistant) is an open-source standalone application able to \"\r\n    \"create and simulate fittings for EVE-Online SciFi MMORPG with a very high degree of \"\r\n    \"accuracy. Pyfa can run on all platforms where Python and wxWidgets are supported.\")\r\n)\r\n"
  },
  {
    "path": "gui/additionsPane.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.builtinAdditionPanes.boosterView import BoosterView\r\nfrom gui.builtinAdditionPanes.cargoView import CargoView\r\nfrom gui.builtinAdditionPanes.commandView import CommandView\r\nfrom gui.builtinAdditionPanes.droneView import DroneView\r\nfrom gui.builtinAdditionPanes.fighterView import FighterView\r\nfrom gui.builtinAdditionPanes.implantView import ImplantView\r\nfrom gui.builtinAdditionPanes.notesView import NotesView\r\nfrom gui.builtinAdditionPanes.projectedView import ProjectedView\r\nfrom gui.chrome_tabs import ChromeNotebook\r\nfrom gui.toggle_panel import TogglePanel\r\n\r\n_t = wx.GetTranslation\r\n\r\nclass AdditionsPane(TogglePanel):\r\n\r\n    def __init__(self, parent, mainFrame):\r\n\r\n        TogglePanel.__init__(self, parent, force_layout=1)\r\n        self.mainFrame = mainFrame\r\n\r\n        self.SetLabel(_t(\"Additions\"))\r\n        pane = self.GetContentPanel()\r\n\r\n        baseSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        pane.SetSizer(baseSizer)\r\n\r\n        self.notebook = ChromeNotebook(pane, can_add=False, tabWidthMode=1)\r\n        self.notebook.SetMinSize((-1, 1000))\r\n\r\n        baseSizer.Add(self.notebook, 1, wx.EXPAND)\r\n\r\n        droneImg = BitmapLoader.getImage(\"drone_small\", \"gui\")\r\n        fighterImg = BitmapLoader.getImage(\"fighter_small\", \"gui\")\r\n        implantImg = BitmapLoader.getImage(\"implant_small\", \"gui\")\r\n        boosterImg = BitmapLoader.getImage(\"booster_small\", \"gui\")\r\n        projectedImg = BitmapLoader.getImage(\"projected_small\", \"gui\")\r\n        gangImg = BitmapLoader.getImage(\"fleet_fc_small\", \"gui\")\r\n        cargoImg = BitmapLoader.getImage(\"cargo_small\", \"gui\")\r\n        notesImg = BitmapLoader.getImage(\"skill_small\", \"gui\")\r\n\r\n        self.drone = DroneView(self.notebook)\r\n        self.notebook.AddPage(self.drone, _t(\"Drones\"), image=droneImg, closeable=False)\r\n\r\n        self.fighter = FighterView(self.notebook)\r\n        self.notebook.AddPage(self.fighter, _t(\"Fighters\"), image=fighterImg, closeable=False)\r\n\r\n        self.cargo = CargoView(self.notebook)\r\n        self.notebook.AddPage(self.cargo, _t(\"Cargo\"), image=cargoImg, closeable=False)\r\n\r\n        self.implant = ImplantView(self.notebook)\r\n        self.notebook.AddPage(self.implant, _t(\"Implants\"), image=implantImg, closeable=False)\r\n\r\n        self.booster = BoosterView(self.notebook)\r\n        self.notebook.AddPage(self.booster, _t(\"Boosters\"), image=boosterImg, closeable=False)\r\n\r\n        self.projectedPage = ProjectedView(self.notebook)\r\n        self.notebook.AddPage(self.projectedPage, _t(\"Projected\"), image=projectedImg, closeable=False)\r\n\r\n        self.gangPage = CommandView(self.notebook)\r\n        self.notebook.AddPage(self.gangPage, _t(\"Command\"), image=gangImg, closeable=False)\r\n\r\n        self.notes = NotesView(self.notebook)\r\n        self.notebook.AddPage(self.notes, _t(\"Notes\"), image=notesImg, closeable=False)\r\n\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.OnFitChanged)\r\n        self.mainFrame.Bind(GE.FIT_NOTES_CHANGED, self.OnNotesChanged)\r\n\r\n        self.notebook.SetSelection(0)\r\n\r\n    PANES = [\"Drones\", \"Fighters\", \"Cargo\", \"Implants\", \"Boosters\", \"Projected\", \"Command\", \"Notes\"]\r\n\r\n    def select(self, name, focus=True):\r\n        self.notebook.SetSelection(self.PANES.index(name), focus=focus)\r\n\r\n    def getName(self, idx):\r\n        return self.PANES[idx]\r\n\r\n    def ToggleContent(self, event):\r\n        TogglePanel.ToggleContent(self, event)\r\n        h = self.header_panel.GetSize()[1] + 4\r\n\r\n        if self.IsCollapsed():\r\n            self.old_pos = self.parent.GetSashPosition()\r\n            self.parent.SetMinimumPaneSize(h)\r\n            self.parent.SetSashPosition(h * -1, True)\r\n            self.parent.SetSashInvisible(True)\r\n        else:\r\n            self.parent.SetSashInvisible(False)\r\n            self.parent.SetMinimumPaneSize(200)\r\n            self.parent.SetSashPosition(self.old_pos, True)\r\n\r\n    def OnFitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n        self.updateExtraText()\r\n\r\n    def OnNotesChanged(self, event):\r\n        event.Skip()\r\n        self.updateExtraText()\r\n\r\n    def updateExtraText(self):\r\n        refresh = False\r\n        for i in range(self.notebook.GetPageCount()):\r\n            page = self.notebook.GetPage(i)\r\n            if hasattr(page, 'getTabExtraText'):\r\n                refresh = True\r\n                self.notebook.SetPageTitleExtra(i, page.getTabExtraText() or '', refresh=False)\r\n        if refresh:\r\n            self.notebook.tabs_container.AdjustTabsSize()\r\n            self.notebook.Refresh()\r\n"
  },
  {
    "path": "gui/app.py",
    "content": "import wx\r\nimport config\r\nimport os\r\nimport sys\r\nfrom logbook import Logger\r\npyfalog = Logger(__name__)\r\nfrom service.settings import LocaleSettings\r\n\r\n\r\nclass PyfaApp(wx.App):\r\n    def OnInit(self):\r\n        \"\"\"\r\n        Do application initialization work, e.g. define application globals.\r\n        \"\"\"\r\n\r\n        # Name for my application.\r\n        self.appName = \"pyfa\"\r\n\r\n        #------------\r\n\r\n        # # Simplified init method.\r\n        # self.DoConfig()\r\n        # self.Init() # InspectionMixin\r\n        # # work around for Python stealing \"_\".\r\n        # sys.displayhook = _displayHook\r\n        #\r\n        # #------------\r\n\r\n\r\n        # Return locale folder.\r\n        localeDir = os.path.join(config.pyfaPath, \"locale\")\r\n\r\n        # Set language stuff and update to last used language.\r\n        self.locale = None\r\n        wx.Locale.AddCatalogLookupPathPrefix(localeDir)\r\n        # Set language stuff and update to last used language.\r\n        self.UpdateLanguage(config.language)\r\n\r\n        return True\r\n\r\n    #-----------------------------------------------------------------------\r\n\r\n    def UpdateLanguage(self, lang=None):\r\n        \"\"\"\r\n        Update the language to the requested one.\r\n\r\n        Make *sure* any existing locale is deleted before the new\r\n        one is created. The old C++ object needs to be deleted\r\n        before the new one is created, and if we just assign a new\r\n        instance to the old Python variable, the old C++ locale will\r\n        not be destroyed soon enough, likely causing a crash.\r\n\r\n        :param string `lang`: one of the supported language codes.\r\n        \"\"\"\r\n\r\n        # Language domain.\r\n        langDomain = config.CATALOG\r\n\r\n        # If an unsupported language is requested default to English.\r\n\r\n        if self.locale:\r\n            assert sys.getrefcount(self.locale) <= 2\r\n            del self.locale\r\n\r\n        # Create a locale object for this language.\r\n        langInfo = wx.Locale.FindLanguageInfo(lang)\r\n        if langInfo is not None:\r\n            pyfalog.debug(\"Setting language to: \" + lang)\r\n            self.locale = wx.Locale(langInfo.Language)\r\n            if self.locale.IsOk():\r\n                success = self.locale.AddCatalog(langDomain)\r\n                if not success:\r\n                    print(\"Langauage catalog not successfully loaded\")\r\n\r\n        else:\r\n            pyfalog.debug(\"Cannot find langauge: \" + lang)\r\n            self.locale = wx.Locale(wx.Locale.FindLanguageInfo(LocaleSettings.defaults['locale']).Language)"
  },
  {
    "path": "gui/attribute_gauge.py",
    "content": "import math\r\n\r\nimport wx\r\n\r\nfrom gui.utils import anim_effects\r\n\r\n\r\n# todo: clean class up. Took from pyfa gauge, has a bunch of extra shit we don't need\r\n\r\n\r\nclass AttributeGauge(wx.Window):\r\n    def __init__(\r\n        self, parent, max_range=100, animate=True, leading_edge=True,\r\n        edge_on_neutral=True, guide_lines=False, size=(-1, 30), *args, **kwargs\r\n    ):\r\n        super().__init__(parent, size=size, *args, **kwargs)\r\n\r\n        self._size = size\r\n\r\n        self.guide_lines = guide_lines\r\n\r\n        self._border_colour = wx.BLACK\r\n\r\n        self.leading_edge = leading_edge\r\n        self.edge_on_neutral = edge_on_neutral\r\n\r\n        self._border_padding = 0\r\n        self._max_range = max_range\r\n        self._value = 0\r\n\r\n        self._timer_id = wx.NewId()\r\n        self._timer = None\r\n\r\n        self._oldValue = 0\r\n\r\n        self._animate = animate\r\n        self._anim_duration = 500\r\n        self._anim_step = 0\r\n        self._period = 20\r\n        self._anim_value = 0\r\n        self._anim_direction = 0\r\n        self.anim_effect = anim_effects.OUT_QUAD\r\n\r\n        self.goodColor = wx.Colour(96, 191, 0)\r\n        self.badColor = wx.Colour(255, 64, 0)\r\n\r\n        self.gradient_effect = -35\r\n\r\n        self._percentage = 0\r\n        self._old_percentage = 0\r\n        self._show_remaining = False\r\n\r\n        self.SetBackgroundColour(wx.Colour(51, 51, 51))\r\n\r\n        self._tooltip = wx.ToolTip(\"0.00/100.00\")\r\n        self.SetToolTip(self._tooltip)\r\n\r\n        self.Bind(wx.EVT_PAINT, self.OnPaint)\r\n        self.Bind(wx.EVT_TIMER, self.OnTimer)\r\n        self.SetBackgroundStyle(wx.BG_STYLE_PAINT)\r\n\r\n    def OnEraseBackground(self, event):\r\n        pass\r\n\r\n    def GetBorderColour(self):\r\n        return self._border_colour\r\n\r\n    def SetBorderColour(self, colour):\r\n        self._border_colour = colour\r\n\r\n    def GetBorderPadding(self):\r\n        return self._border_padding\r\n\r\n    def SetBorderPadding(self, padding):\r\n        self._border_padding = padding\r\n\r\n    def GetRange(self):\r\n        \"\"\" Returns the maximum value of the gauge. \"\"\"\r\n        return self._max_range\r\n\r\n    def Animate(self):\r\n        if self._animate:\r\n            if not self._timer:\r\n                self._timer = wx.Timer(self, self._timer_id)\r\n\r\n            self._anim_step = 0\r\n            self._timer.Start(self._period)\r\n        else:\r\n            self._anim_value = self._percentage\r\n            self.Refresh()\r\n\r\n    def FreezeAnimation(self):\r\n        self._animate = False\r\n        if self._timer:\r\n            self._timer.Stop()\r\n\r\n    def SetRange(self, range, reinit=False, animate=True):\r\n        \"\"\"\r\n        Sets the range of the gauge. The gauge length is its\r\n        value as a proportion of the range.\r\n        \"\"\"\r\n\r\n        if self._max_range == range:\r\n            return\r\n\r\n        # we cannot have a range of zero (laws of physics, etc), so we set it\r\n        if range <= 0:\r\n            self._max_range = 0.01\r\n        else:\r\n            self._max_range = range\r\n\r\n        if reinit is False:\r\n            self._old_percentage = self._percentage\r\n            self._percentage = (self._value / self._max_range) * 100\r\n        else:\r\n            self._old_percentage = self._percentage\r\n            self._percentage = 0\r\n            self._value = 0\r\n\r\n        if animate:\r\n            self.Animate()\r\n\r\n        self._tooltip.SetTip(\"%.2f/%.2f\" % (self._value, self._max_range if self._max_range > 0.01 else 0))\r\n\r\n    def GetValue(self):\r\n        return self._value\r\n\r\n    def SetValue(self, value, animate=True):\r\n        \"\"\" Sets the current position of the gauge. \"\"\"\r\n        if self._value == value:\r\n            return\r\n\r\n        self._old_percentage = self._percentage\r\n        self._value = value\r\n\r\n        self._percentage = (self._value / self._max_range) * 100\r\n\r\n        if animate:\r\n            self.Animate()\r\n\r\n        self._tooltip.SetTip(\"%.2f/%.2f\" % (self._value, self._max_range))\r\n\r\n    def SetValueRange(self, value, range, reinit=False):\r\n        \"\"\" Set both value and range of the gauge. \"\"\"\r\n        range_ = float(range)\r\n\r\n        if range_ <= 0:\r\n            self._max_range = 0.01\r\n        else:\r\n            self._max_range = range_\r\n\r\n        value = float(value)\r\n\r\n        self._value = value\r\n\r\n        if reinit is False:\r\n            self._old_percentage = self._percentage\r\n            self._percentage = (self._value / self._max_range) * 100\r\n\r\n        else:\r\n            self._old_percentage = self._percentage\r\n            self._percentage = 0\r\n\r\n        self.Animate()\r\n        self._tooltip.SetTip(\"%.2f/%.2f\" %\r\n                             (self._value, self._max_range if float(self._max_range) > 0.01 else 0))\r\n\r\n    def OnPaint(self, event):\r\n        dc = wx.AutoBufferedPaintDC(self)\r\n        rect = self.GetClientRect()\r\n\r\n        dc.SetBackground(wx.Brush(self.GetBackgroundColour()))\r\n        dc.Clear()\r\n\r\n        colour = self.GetBackgroundColour()\r\n\r\n        dc.SetBrush(wx.Brush(colour))\r\n        dc.SetPen(wx.Pen(colour))\r\n\r\n        dc.DrawRectangle(rect)\r\n\r\n        value = self._percentage\r\n\r\n        if self._timer:\r\n            if self._timer.IsRunning():\r\n                value = self._anim_value\r\n\r\n        if self._border_colour:\r\n            dc.SetPen(wx.Pen(self.GetBorderColour()))\r\n            dc.DrawRectangle(rect)\r\n            pad = 1 + self.GetBorderPadding()\r\n            rect.Deflate(pad, pad)\r\n\r\n        # if we have a bar color set, then we will use this\r\n        colour = self.goodColor if value >= 0 else self.badColor\r\n\r\n        is_even = rect.width % 2 == 0\r\n\r\n        # the size of half our available drawing area (since we're only working in halves)\r\n        half = (rect.width / 2)\r\n\r\n        # calculate width of bar as a percentage of half the space\r\n        w = abs(half * (value / 100))\r\n        w = min(w, half)  # Ensure that we don't overshoot our drawing area\r\n        w = math.ceil(w)  # round up to nearest pixel, this ensures that we don't lose representation for sub pixels\r\n\r\n        # print(\"Percentage: {}\\t\\t\\t\\t\\tValue: {}\\t\\t\\t\\t\\tWidth: {}\\t\\t\\t\\t\\tHalf: {}\\t\\t\\t\\t\\tRect Width: {}\".format(\r\n        # round(self._percentage, 3), round(value,3), w, half, rect.width))\r\n\r\n        # set guide_lines every 10 pixels of the main gauge (not including borders)\r\n        if self.guide_lines:\r\n            for x in range(1, 20):\r\n                dc.SetBrush(wx.Brush(wx.LIGHT_GREY))\r\n                dc.SetPen(wx.Pen(wx.LIGHT_GREY))\r\n                dc.DrawRectangle(round(x * 10), 1, 1, round(rect.height))\r\n\r\n        dc.SetBrush(wx.Brush(colour))\r\n        dc.SetPen(wx.Pen(colour))\r\n\r\n        # If we have an  even width, we can simply dedicate the middle-most pixels to both sides\r\n        # However, if there is an odd width, the middle pixel is shared between the left and right gauge\r\n\r\n        if value >= 0:\r\n            padding = (half if is_even else math.ceil(half - 1)) + 1\r\n            dc.DrawRectangle(round(padding), 1, round(w), round(rect.height))\r\n        else:\r\n            padding = half - w + 1 if is_even else math.ceil(half) - (w - 1)\r\n            dc.DrawRectangle(round(padding), 1, round(w), round(rect.height))\r\n\r\n        if self.leading_edge and (self.edge_on_neutral or value != 0):\r\n            dc.SetPen(wx.Pen(wx.WHITE))\r\n            dc.SetBrush(wx.Brush(wx.WHITE))\r\n\r\n            if value > 0:\r\n                dc.DrawRectangle(round(min(padding + w, rect.width)), 1, 1, round(rect.height))\r\n            else:\r\n                dc.DrawRectangle(round(max(padding - 1, 1)), 1, 1, round(rect.height))\r\n\r\n    def OnTimer(self, event):\r\n        old_value = self._old_percentage\r\n        value = self._percentage\r\n        start = 0\r\n\r\n        # -1 = left direction, 1 = right direction\r\n        direction = 1 if old_value < value else -1\r\n\r\n        end = direction * (value - old_value)\r\n\r\n        self._anim_direction = direction\r\n        step = self.anim_effect(self._anim_step, start, end, self._anim_duration)\r\n\r\n        self._anim_step += self._period\r\n\r\n        if self._timer_id == event.GetId():\r\n            stop_timer = False\r\n\r\n            if self._anim_step > self._anim_duration:\r\n                stop_timer = True\r\n\r\n            # add new value to the animation if we haven't reached our goal\r\n            # otherwise, stop animation\r\n            if direction == 1:\r\n                if old_value + step < value:\r\n                    self._anim_value = old_value + step\r\n                else:\r\n                    stop_timer = True\r\n            else:\r\n                if old_value - step > value:\r\n                    self._anim_value = old_value - step\r\n                else:\r\n                    stop_timer = True\r\n\r\n            if stop_timer:\r\n                self._timer.Stop()\r\n\r\n            self.Refresh()\r\n"
  },
  {
    "path": "gui/auxWindow.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\n\r\nclass AuxiliaryMixin:\r\n\r\n    _instance = None\r\n\r\n    def __init__(self, parent, id=None, title=None, pos=None, size=None, style=None, name=None, resizeable=False):\r\n        baseStyle = wx.FRAME_NO_TASKBAR | wx.CAPTION | wx.CLOSE_BOX | wx.SYSTEM_MENU\r\n        if parent is not None:\r\n            baseStyle = baseStyle | wx.FRAME_FLOAT_ON_PARENT\r\n        if resizeable:\r\n            baseStyle = baseStyle | wx.RESIZE_BORDER | wx.MAXIMIZE_BOX\r\n        kwargs = {\r\n            'parent': parent,\r\n            'style': baseStyle if style is None else baseStyle | style}\r\n        if id is not None:\r\n            kwargs['id'] = id\r\n        if title is not None:\r\n            kwargs['title'] = title\r\n        if pos is not None:\r\n            kwargs['pos'] = pos\r\n        if size is not None:\r\n            kwargs['size'] = size\r\n        if name is not None:\r\n            kwargs['name'] = name\r\n        super().__init__(**kwargs)\r\n        # Intercept copy-paste actions and do nothing in secondary windows,\r\n        # otherwise on Mac OS X Cmd-C brings up copy fit dialog\r\n        if 'wxMac' in wx.PlatformInfo:\r\n            self.Bind(wx.EVT_MENU, self.OnSuppressedAction, id=wx.ID_COPY)\r\n            self.Bind(wx.EVT_MENU, self.OnSuppressedAction, id=wx.ID_PASTE)\r\n        if 'wxMSW' in wx.PlatformInfo:\r\n            self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE))\r\n\r\n    @classmethod\r\n    def openOne(cls, parent, *args, forceReopen=False, **kwargs):\r\n        \"\"\"If window is open and alive - raise it, open otherwise\"\"\"\r\n        if not cls._instance or forceReopen:\r\n            if cls._instance:\r\n                cls._instance.Close()\r\n            frame = cls(parent, *args, **kwargs)\r\n            cls._instance = frame\r\n            frame.Show()\r\n        else:\r\n            cls._instance.Raise()\r\n        return cls._instance\r\n\r\n\r\n    def OnSuppressedAction(self, event):\r\n        return\r\n\r\n\r\nclass AuxiliaryFrame(AuxiliaryMixin, wx.Frame):\r\n    pass\r\n\r\n\r\nclass AuxiliaryDialog(AuxiliaryMixin, wx.Dialog):\r\n    pass\r\n"
  },
  {
    "path": "gui/bitmap_loader.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport io\r\nimport os.path\r\nimport zipfile\r\nfrom collections import OrderedDict\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport config\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass BitmapLoader:\r\n    # Can be None if we're running from tests\r\n    if config.imgsZIP is None:\r\n        pyfalog.info(\"Using local image files.\")\r\n        archive = None\r\n    else:\r\n        try:\r\n            archive = zipfile.ZipFile(config.imgsZIP, 'r')\r\n            pyfalog.info(\"Using zipped image files.\")\r\n        except (IOError, TypeError):\r\n            pyfalog.info(\"Using local image files.\")\r\n            archive = None\r\n\r\n    cached_bitmaps = OrderedDict()\r\n    dont_use_cached_bitmaps = False\r\n    max_cached_bitmaps = 500\r\n\r\n    scaling_factor = None\r\n\r\n    @classmethod\r\n    def getStaticBitmap(cls, name, parent, location):\r\n        bitmap = cls.getBitmap(name or 0, location)\r\n        if bitmap is None:\r\n            return None\r\n        static = wx.StaticBitmap(parent)\r\n        static.SetBitmap(bitmap)\r\n        return static\r\n\r\n    @classmethod\r\n    def getBitmap(cls, name, location):\r\n        if cls.dont_use_cached_bitmaps:\r\n            return cls.loadBitmap(name, location)\r\n\r\n        path = \"%s%s\" % (name, location)\r\n\r\n        if len(cls.cached_bitmaps) == cls.max_cached_bitmaps:\r\n            cls.cached_bitmaps.popitem(False)\r\n\r\n        if path not in cls.cached_bitmaps:\r\n            bmp = cls.loadBitmap(name, location)\r\n            cls.cached_bitmaps[path] = bmp\r\n        else:\r\n            bmp = cls.cached_bitmaps[path]\r\n\r\n        return bmp\r\n\r\n    @classmethod\r\n    def getImage(cls, name, location):\r\n        bmp = cls.getBitmap(name, location)\r\n        if bmp is not None:\r\n            return bmp.ConvertToImage()\r\n        else:\r\n            return None\r\n\r\n    @classmethod\r\n    def loadBitmap(cls, name, location):\r\n        if cls.scaling_factor is None:\r\n            cls.scaling_factor = 1 if 'wxGTK' in wx.PlatformInfo else int(wx.GetApp().GetTopWindow().GetContentScaleFactor())\r\n        scale = cls.scaling_factor\r\n\r\n        filename, img = cls.loadScaledBitmap(name, location, scale)\r\n\r\n        while img is None and scale > 0:\r\n            # can't find the correctly scaled image, fallback to smaller scales\r\n            scale -= 1\r\n            filename, img = cls.loadScaledBitmap(name, location, scale)\r\n\r\n        if img is None:\r\n            pyfalog.warning(\"Missing icon file: {0}/{1}\".format(location, filename))\r\n            return None\r\n\r\n        if scale > 1:\r\n            return img.Scale(round(img.GetWidth() // scale), round(img.GetHeight() // scale)).ConvertToBitmap()\r\n        return img.ConvertToBitmap()\r\n\r\n    @classmethod\r\n    def loadScaledBitmap(cls, name, location, scale=0):\r\n        \"\"\"Attempts to load a scaled bitmap.\r\n\r\n        Args:\r\n            name (str): TypeID or basename of the image being requested.\r\n            location (str): Path to a location that may contain the image.\r\n            scale (int): Scale factor of the image variant to load. If ``0``, attempts to load the unscaled variant.\r\n\r\n        Returns:\r\n            (str, wx.Image): Tuple of the filename that may have been loaded and the image at that location. The\r\n                filename will always be present, but the image may be ``None``.\r\n        \"\"\"\r\n        filename = \"{0}@{1}x.png\".format(name, scale) if scale > 0 else \"{0}.png\".format(name)\r\n        img = cls.loadImage(filename, location)\r\n        return filename, img\r\n\r\n    @classmethod\r\n    def loadImage(cls, filename, location):\r\n        if cls.archive:\r\n            path = os.path.join(location, filename)\r\n            if os.sep != \"/\" and os.sep in path:\r\n                path = path.replace(os.sep, \"/\")\r\n\r\n            try:\r\n                img_data = cls.archive.read(path)\r\n                bbuf = io.BytesIO(img_data)\r\n                return wx.Image(bbuf)\r\n            except KeyError:\r\n                pyfalog.warning(\"Missing icon file from zip: {0}\".format(path))\r\n        else:\r\n            path = os.path.join(config.pyfaPath, 'imgs' + os.sep + location + os.sep + filename)\r\n\r\n            if os.path.exists(path):\r\n                return wx.Image(path)\r\n            else:\r\n                return None\r\n"
  },
  {
    "path": "gui/builtinAdditionPanes/__init__.py",
    "content": ""
  },
  {
    "path": "gui/builtinAdditionPanes/boosterView.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.display as d\r\nimport gui.fitCommands as cmd\r\nimport gui.globalEvents as GE\r\nfrom gui.builtinMarketBrowser.events import ITEM_SELECTED, ItemSelected\r\nfrom gui.builtinViewColumns.state import State\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.utils.staticHelpers import DragDropHelper\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n_t = wx.GetTranslation\r\n\r\nclass BoosterViewDrop(wx.DropTarget):\r\n    def __init__(self, dropFn, *args, **kwargs):\r\n        super(BoosterViewDrop, self).__init__(*args, **kwargs)\r\n        self.dropFn = dropFn\r\n        # this is really transferring an EVE itemID\r\n        self.dropData = wx.TextDataObject()\r\n        self.SetDataObject(self.dropData)\r\n\r\n    def OnData(self, x, y, t):\r\n        if self.GetData():\r\n            dragged_data = DragDropHelper.data\r\n            data = dragged_data.split(':')\r\n\r\n            if dragged_data is None:\r\n                return t\r\n\r\n            self.dropFn(x, y, data)\r\n        return t\r\n\r\n\r\nclass BoosterView(d.Display):\r\n\r\n    DEFAULT_COLS = [\r\n        \"State\",\r\n        \"attr:boosterness\",\r\n        \"Base Name\",\r\n        \"Side Effects\",\r\n        \"Price\",\r\n        \"Miscellanea\",\r\n    ]\r\n\r\n    def __init__(self, parent):\r\n        d.Display.__init__(self, parent, style=wx.BORDER_NONE)\r\n\r\n        self.lastFitId = None\r\n\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n        self.mainFrame.Bind(ITEM_SELECTED, self.addItem)\r\n\r\n        self.Bind(wx.EVT_LEFT_DCLICK, self.onLeftDoubleClick)\r\n        self.Bind(wx.EVT_LEFT_DOWN, self.click)\r\n        self.Bind(wx.EVT_KEY_UP, self.kbEvent)\r\n\r\n        self.SetDropTarget(BoosterViewDrop(self.handleListDrag))\r\n\r\n        self.Bind(wx.EVT_CONTEXT_MENU, self.spawnMenu)\r\n\r\n    def handleListDrag(self, x, y, data):\r\n        \"\"\"\r\n        Handles dragging of items from various pyfa displays which support it\r\n\r\n        data is list with two indices:\r\n            data[0] is hard-coded str of originating source\r\n            data[1] is typeID or index of data we want to manipulate\r\n        \"\"\"\r\n\r\n        if data[0] == \"market\":\r\n            wx.PostEvent(self.mainFrame, ItemSelected(itemID=int(data[1])))\r\n\r\n    def kbEvent(self, event):\r\n        keycode = event.GetKeyCode()\r\n        modifiers = event.GetModifiers()\r\n        if keycode == wx.WXK_ESCAPE and modifiers == wx.MOD_NONE:\r\n            self.unselectAll()\r\n        elif keycode == 65 and modifiers == wx.MOD_CONTROL:\r\n            self.selectAll()\r\n        elif keycode in (wx.WXK_DELETE, wx.WXK_NUMPAD_DELETE) and modifiers == wx.MOD_NONE:\r\n            boosters = self.getSelectedBoosters()\r\n            self.removeBoosters(boosters)\r\n        event.Skip()\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(activeFitID)\r\n\r\n        self.Parent.Parent.DisablePage(self, not fit or fit.isStructure)\r\n\r\n        # Clear list and get out if current fitId is None\r\n        if activeFitID is None and self.lastFitId is not None:\r\n            self.DeleteAllItems()\r\n            self.lastFitId = None\r\n            return\r\n\r\n        self.original = fit.boosters if fit is not None else None\r\n        self.boosters = fit.boosters[:] if fit is not None else None\r\n        if self.boosters is not None:\r\n            self.boosters.sort(key=lambda booster: booster.slot or 0)\r\n\r\n        if activeFitID != self.lastFitId:\r\n            self.lastFitId = activeFitID\r\n\r\n            item = self.GetNextItem(-1, wx.LIST_NEXT_ALL, wx.LIST_STATE_DONTCARE)\r\n\r\n            if item != -1:\r\n                self.EnsureVisible(item)\r\n\r\n            self.unselectAll()\r\n\r\n        self.update(self.boosters)\r\n\r\n    def addItem(self, event):\r\n        item = Market.getInstance().getItem(event.itemID, eager='group')\r\n        if item is None or not item.isBooster:\r\n            event.Skip()\r\n            return\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n\r\n        if not fit or fit.isStructure:\r\n            event.Skip()\r\n            return\r\n\r\n        self.mainFrame.command.Submit(cmd.GuiAddBoosterCommand(fitID=fitID, itemID=event.itemID))\r\n        # Select in any case - as we might've added booster which has been there already and command failed\r\n        self.mainFrame.additionsPane.select('Boosters')\r\n        event.Skip()\r\n\r\n    def onLeftDoubleClick(self, event):\r\n        row, _ = self.HitTest(event.Position)\r\n        if row != -1:\r\n            col = self.getColumn(event.Position)\r\n            if col != self.getColIndex(State):\r\n                try:\r\n                    booster = self.boosters[row]\r\n                except IndexError:\r\n                    return\r\n                self.removeBoosters([booster])\r\n\r\n    def removeBoosters(self, boosters):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        positions = []\r\n        for booster in boosters:\r\n            if booster in self.original:\r\n                positions.append(self.original.index(booster))\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveBoostersCommand(fitID=fitID, positions=positions))\r\n\r\n    def click(self, event):\r\n        mainRow, _ = self.HitTest(event.Position)\r\n        if mainRow != -1:\r\n            col = self.getColumn(event.Position)\r\n            if col == self.getColIndex(State):\r\n                fitID = self.mainFrame.getActiveFit()\r\n                try:\r\n                    mainBooster = self.boosters[mainRow]\r\n                except IndexError:\r\n                    return\r\n                if mainBooster in self.original:\r\n                    mainPosition = self.original.index(mainBooster)\r\n                    positions = []\r\n                    for row in self.getSelectedRows():\r\n                        try:\r\n                            booster = self.boosters[row]\r\n                        except IndexError:\r\n                            continue\r\n                        if booster in self.original:\r\n                            positions.append(self.original.index(booster))\r\n                    if mainPosition not in positions:\r\n                        positions = [mainPosition]\r\n                    self.mainFrame.command.Submit(cmd.GuiToggleBoosterStatesCommand(\r\n                        fitID=fitID,\r\n                        mainPosition=mainPosition,\r\n                        positions=positions))\r\n                    return\r\n        event.Skip()\r\n\r\n    def spawnMenu(self, event):\r\n        clickedPos = self.getRowByAbs(event.Position)\r\n        self.ensureSelection(clickedPos)\r\n\r\n        selection = self.getSelectedBoosters()\r\n        mainBooster = None\r\n        if clickedPos != -1:\r\n            try:\r\n                booster = self.boosters[clickedPos]\r\n            except IndexError:\r\n                pass\r\n            else:\r\n                if booster in self.original:\r\n                    mainBooster = booster\r\n        itemContext = None if mainBooster is None else _t(\"Booster\")\r\n        menu = ContextMenu.getMenu(self, mainBooster, selection, (\"boosterItem\", itemContext), (\"boosterItemMisc\", itemContext))\r\n        if menu:\r\n            self.PopupMenu(menu)\r\n\r\n    def getSelectedBoosters(self):\r\n        boosters = []\r\n        for row in self.getSelectedRows():\r\n            try:\r\n                booster = self.boosters[row]\r\n            except IndexError:\r\n                continue\r\n            boosters.append(booster)\r\n        return boosters\r\n\r\n    def getTabExtraText(self):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is None:\r\n            return None\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(fitID)\r\n        if fit is None:\r\n            return None\r\n        opt = sFit.serviceFittingOptions[\"additionsLabels\"]\r\n        # Amount of active boosters\r\n        if opt == 1:\r\n            amount = len([b for b in fit.boosters if b.active])\r\n            return ' ({})'.format(amount) if amount else None\r\n        # Total amount of boosters\r\n        elif opt == 2:\r\n            amount = len(fit.boosters)\r\n            return ' ({})'.format(amount) if amount else None\r\n        else:\r\n            return None\r\n"
  },
  {
    "path": "gui/builtinAdditionPanes/cargoView.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.display as d\r\nimport gui.fitCommands as cmd\r\nimport gui.globalEvents as GE\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.builtinMarketBrowser.events import ITEM_SELECTED, ItemSelected\r\nfrom gui.utils.staticHelpers import DragDropHelper\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nclass CargoViewDrop(wx.DropTarget):\r\n    def __init__(self, dropFn, *args, **kwargs):\r\n        super(CargoViewDrop, self).__init__(*args, **kwargs)\r\n        self.dropFn = dropFn\r\n        # this is really transferring an EVE itemID\r\n        self.dropData = wx.TextDataObject()\r\n        self.SetDataObject(self.dropData)\r\n\r\n    def OnData(self, x, y, t):\r\n        if self.GetData():\r\n            dragged_data = DragDropHelper.data\r\n\r\n            if dragged_data is None:\r\n                return t\r\n\r\n            data = dragged_data.split(':')\r\n            self.dropFn(x, y, data)\r\n        return t\r\n\r\n\r\n# @todo: Was copied form another class and modified. Look through entire file, refine\r\nclass CargoView(d.Display):\r\n    DEFAULT_COLS = [\"Base Icon\",\r\n                    \"Base Name\",\r\n                    \"attr:volume\",\r\n                    \"Price\"]\r\n\r\n    def __init__(self, parent):\r\n        d.Display.__init__(self, parent, style=wx.BORDER_NONE)\r\n\r\n        self.lastFitId = None\r\n\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n        self.mainFrame.Bind(ITEM_SELECTED, self.addItem)\r\n        self.Bind(wx.EVT_LEFT_DCLICK, self.onLeftDoubleClick)\r\n        self.Bind(wx.EVT_KEY_UP, self.kbEvent)\r\n\r\n        self.SetDropTarget(CargoViewDrop(self.handleListDrag))\r\n        self.Bind(wx.EVT_LIST_BEGIN_DRAG, self.startDrag)\r\n\r\n        self.Bind(wx.EVT_CONTEXT_MENU, self.spawnMenu)\r\n\r\n    def addItem(self, event):\r\n        item = Market.getInstance().getItem(event.itemID, eager='group')\r\n        if item is None or not (item.isCharge or item.isCommodity):\r\n            event.Skip()\r\n            return\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n\r\n        if not fit:\r\n            event.Skip()\r\n            return\r\n        modifiers = wx.GetMouseState().GetModifiers()\r\n        amount = 1\r\n        if modifiers == wx.MOD_CONTROL:\r\n            amount = 10\r\n        elif modifiers == wx.MOD_ALT:\r\n            amount = 100\r\n        elif modifiers == wx.MOD_CONTROL | wx.MOD_ALT:\r\n            amount = 1000\r\n        self.mainFrame.command.Submit(cmd.GuiAddCargoCommand(\r\n            fitID=fitID, itemID=item.ID, amount=amount))\r\n        self.mainFrame.additionsPane.select('Cargo')\r\n        event.Skip()\r\n\r\n    def handleListDrag(self, x, y, data):\r\n        \"\"\"\r\n        Handles dragging of items from various pyfa displays which support it\r\n\r\n        data is list with two indices:\r\n            data[0] is hard-coded str of originating source\r\n            data[1] is typeID or index of data we want to manipulate\r\n        \"\"\"\r\n\r\n        if data[0] == \"fitting\":\r\n            self.swapModule(x, y, int(data[1]))\r\n        elif data[0] == \"market\":\r\n            fitID = self.mainFrame.getActiveFit()\r\n            if fitID:\r\n                self.mainFrame.command.Submit(cmd.GuiAddCargoCommand(\r\n                    fitID=fitID, itemID=int(data[1]), amount=1))\r\n\r\n    def startDrag(self, event):\r\n        row = event.GetIndex()\r\n\r\n        if row != -1:\r\n            data = wx.TextDataObject()\r\n            try:\r\n                dataStr = \"cargo:{}\".format(self.cargo[row].itemID)\r\n            except IndexError:\r\n                return\r\n            data.SetText(dataStr)\r\n\r\n            self.unselectAll()\r\n            self.Select(row, True)\r\n\r\n            dropSource = wx.DropSource(self)\r\n            dropSource.SetData(data)\r\n            DragDropHelper.data = dataStr\r\n            dropSource.DoDragDrop()\r\n\r\n    def kbEvent(self, event):\r\n        keycode = event.GetKeyCode()\r\n        modifiers = event.GetModifiers()\r\n        if keycode == wx.WXK_ESCAPE and modifiers == wx.MOD_NONE:\r\n            self.unselectAll()\r\n        elif keycode == 65 and modifiers == wx.MOD_CONTROL:\r\n            self.selectAll()\r\n        elif keycode in (wx.WXK_DELETE, wx.WXK_NUMPAD_DELETE) and modifiers == wx.MOD_NONE:\r\n            cargos = self.getSelectedCargos()\r\n            self.removeCargos(cargos)\r\n        event.Skip()\r\n\r\n    def swapModule(self, x, y, modIdx):\r\n        \"\"\"Swap a module from fitting window with cargo\"\"\"\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.mainFrame.getActiveFit())\r\n        dstRow, _ = self.HitTest((x, y))\r\n\r\n        if dstRow > -1:\r\n            try:\r\n                dstCargoItemID = getattr(self.cargo[dstRow], 'itemID', None)\r\n            except IndexError:\r\n                dstCargoItemID = None\r\n        else:\r\n            dstCargoItemID = None\r\n\r\n        self.mainFrame.command.Submit(cmd.GuiLocalModuleToCargoCommand(\r\n            fitID=self.mainFrame.getActiveFit(),\r\n            modPosition=modIdx,\r\n            cargoItemID=dstCargoItemID,\r\n            copy=wx.GetMouseState().GetModifiers() == wx.MOD_CONTROL))\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(activeFitID)\r\n\r\n        # self.Parent.Parent.DisablePage(self, not fit or fit.isStructure)\r\n\r\n        # Clear list and get out if current fitId is None\r\n        if activeFitID is None and self.lastFitId is not None:\r\n            self.DeleteAllItems()\r\n            self.lastFitId = None\r\n            return\r\n\r\n        self.original = fit.cargo if fit is not None else None\r\n        self.cargo = fit.cargo[:] if fit is not None else None\r\n        if self.cargo is not None:\r\n            self.cargo.sort(key=lambda c: (c.item.group.category.name, c.item.group.name, c.item.name))\r\n\r\n        if activeFitID != self.lastFitId:\r\n            self.lastFitId = activeFitID\r\n\r\n            item = self.GetNextItem(-1, wx.LIST_NEXT_ALL, wx.LIST_STATE_DONTCARE)\r\n\r\n            if item != -1:\r\n                self.EnsureVisible(item)\r\n\r\n            self.unselectAll()\r\n\r\n        self.populate(self.cargo)\r\n        self.refresh(self.cargo)\r\n\r\n    def onLeftDoubleClick(self, event):\r\n        row, _ = self.HitTest(event.Position)\r\n        if row != -1:\r\n            try:\r\n                cargo = self.cargo[row]\r\n            except IndexError:\r\n                return\r\n            self.removeCargos([cargo])\r\n\r\n    def removeCargos(self, cargos):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        itemIDs = []\r\n        for cargo in cargos:\r\n            if cargo in self.original:\r\n                itemIDs.append(cargo.itemID)\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveCargosCommand(fitID=fitID, itemIDs=itemIDs))\r\n\r\n    def spawnMenu(self, event):\r\n        clickedPos = self.getRowByAbs(event.Position)\r\n        self.ensureSelection(clickedPos)\r\n\r\n        selection = self.getSelectedCargos()\r\n        mainCargo = None\r\n        if clickedPos != -1:\r\n            try:\r\n                cargo = self.cargo[clickedPos]\r\n            except IndexError:\r\n                pass\r\n            else:\r\n                if cargo in self.original:\r\n                    mainCargo = cargo\r\n        itemContext = None if mainCargo is None else Market.getInstance().getCategoryByItem(mainCargo.item).displayName\r\n        menu = ContextMenu.getMenu(self, mainCargo, selection, (\"cargoItem\", itemContext), (\"cargoItemMisc\", itemContext))\r\n        if menu:\r\n            self.PopupMenu(menu)\r\n\r\n    def getSelectedCargos(self):\r\n        cargos = []\r\n        for row in self.getSelectedRows():\r\n            try:\r\n                cargo = self.cargo[row]\r\n            except IndexError:\r\n                continue\r\n            cargos.append(cargo)\r\n        return cargos\r\n\r\n    def getTabExtraText(self):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is None:\r\n            return None\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(fitID)\r\n        if fit is None:\r\n            return None\r\n        opt = sFit.serviceFittingOptions[\"additionsLabels\"]\r\n        # Total amount of cargo items\r\n        if opt in (1, 2):\r\n            amount = len(fit.cargo)\r\n            return ' ({})'.format(amount) if amount else None\r\n        else:\r\n            return None\r\n"
  },
  {
    "path": "gui/builtinAdditionPanes/commandView.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.builtinAdditionPanes.droneView\r\nimport gui.display as d\r\nimport gui.fitCommands as cmd\r\nimport gui.globalEvents as GE\r\nfrom gui.builtinContextMenus.commandFitAdd import AddCommandFit\r\nfrom gui.builtinViewColumns.state import State\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.utils.staticHelpers import DragDropHelper\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\nclass DummyItem:\r\n\r\n    def __init__(self, txt):\r\n        self.name = txt\r\n        self.iconID = None\r\n\r\n\r\nclass DummyEntry:\r\n\r\n    def __init__(self, txt):\r\n        self.item = DummyItem(txt)\r\n\r\n\r\nclass CommandViewDrop(wx.DropTarget):\r\n    def __init__(self, dropFn, *args, **kwargs):\r\n        super(CommandViewDrop, self).__init__(*args, **kwargs)\r\n        self.dropFn = dropFn\r\n        # this is really transferring an EVE itemID\r\n        self.dropData = wx.TextDataObject()\r\n        self.SetDataObject(self.dropData)\r\n\r\n    def OnData(self, x, y, t):\r\n        if self.GetData():\r\n            dragged_data = DragDropHelper.data\r\n\r\n            if dragged_data is None:\r\n                return t\r\n\r\n            data = dragged_data.split(':')\r\n            self.dropFn(x, y, data)\r\n        return t\r\n\r\n\r\nclass CommandView(d.Display):\r\n\r\n    DEFAULT_COLS = [\"State\", \"Base Name\"]\r\n\r\n    def __init__(self, parent):\r\n        d.Display.__init__(self, parent, style=wx.BORDER_NONE)\r\n\r\n        self.lastFitId = None\r\n\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, AddCommandFit.fitChanged)\r\n        self.mainFrame.Bind(GE.FIT_REMOVED, self.OnFitRemoved)\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n        self.Bind(wx.EVT_LEFT_DOWN, self.click)\r\n        self.Bind(wx.EVT_LEFT_DCLICK, self.onLeftDoubleClick)\r\n        self.Bind(wx.EVT_KEY_UP, self.kbEvent)\r\n\r\n        self.droneView = gui.builtinAdditionPanes.droneView.DroneView\r\n\r\n        self.Bind(wx.EVT_CONTEXT_MENU, self.spawnMenu)\r\n\r\n        self.SetDropTarget(CommandViewDrop(self.handleListDrag))\r\n\r\n    def OnFitRemoved(self, event):\r\n        event.Skip()\r\n        AddCommandFit.populateFits(event)\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        self.refreshContents(fit)\r\n\r\n    @staticmethod\r\n    def handleListDrag(x, y, data):\r\n        \"\"\"\r\n        Handles dragging of items from various pyfa displays which support it\r\n\r\n        data is list with two indices:\r\n            data[0] is hard-coded str of originating source\r\n            data[1] is typeID or index of data we want to manipulate\r\n        \"\"\"\r\n        pass\r\n\r\n    def kbEvent(self, event):\r\n        keycode = event.GetKeyCode()\r\n        modifiers = event.GetModifiers()\r\n        if keycode == wx.WXK_ESCAPE and modifiers == wx.MOD_NONE:\r\n            self.unselectAll()\r\n        elif keycode == 65 and modifiers == wx.MOD_CONTROL:\r\n            self.selectAll()\r\n        elif keycode in (wx.WXK_DELETE, wx.WXK_NUMPAD_DELETE) and modifiers == wx.MOD_NONE:\r\n            commandFits = self.getSelectedCommandFits()\r\n            self.removeCommandFits(commandFits)\r\n        event.Skip()\r\n\r\n    def handleDrag(self, type, fitID):\r\n        # Those are drags coming from pyfa sources, NOT builtin wx drags\r\n        if type == \"fit\":\r\n            activeFit = self.mainFrame.getActiveFit()\r\n            if activeFit:\r\n                self.mainFrame.command.Submit(cmd.GuiAddCommandFitsCommand(fitID=activeFit, commandFitIDs=[fitID]))\r\n\r\n    @staticmethod\r\n    def fitSort(fit):\r\n        return fit.name\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(activeFitID)\r\n\r\n        self.Parent.Parent.DisablePage(self, not fit or fit.isStructure)\r\n\r\n        # Clear list and get out if current fitId is None\r\n        if activeFitID is None and self.lastFitId is not None:\r\n            self.DeleteAllItems()\r\n            self.lastFitId = None\r\n            return\r\n\r\n        if activeFitID != self.lastFitId:\r\n            self.lastFitId = activeFitID\r\n\r\n            item = self.GetNextItem(-1, wx.LIST_NEXT_ALL, wx.LIST_STATE_DONTCARE)\r\n\r\n            if item != -1:\r\n                self.EnsureVisible(item)\r\n\r\n            self.unselectAll()\r\n\r\n        self.refreshContents(fit)\r\n\r\n    def refreshContents(self, fit):\r\n        stuff = []\r\n        if fit is not None:\r\n            self.fits = fit.commandFits[:]\r\n            self.fits.sort(key=self.fitSort)\r\n            stuff.extend(self.fits)\r\n        if not stuff:\r\n            stuff = [DummyEntry(_t(\"Drag a fit to this area\"))]\r\n        self.update(stuff)\r\n\r\n    def click(self, event):\r\n        mainRow, _ = self.HitTest(event.Position)\r\n        if mainRow != -1:\r\n            col = self.getColumn(event.Position)\r\n            if col == self.getColIndex(State):\r\n                fitID = self.mainFrame.getActiveFit()\r\n                try:\r\n                    mainCommandFitID = self.fits[mainRow].ID\r\n                except IndexError:\r\n                    return\r\n                commandFitIDs = []\r\n                for commandFit in self.getSelectedCommandFits():\r\n                    commandFitIDs.append(commandFit.ID)\r\n                if mainCommandFitID not in commandFitIDs:\r\n                    commandFitIDs = [mainCommandFitID]\r\n                self.mainFrame.command.Submit(cmd.GuiToggleCommandFitStatesCommand(\r\n                    fitID=fitID,\r\n                    mainCommandFitID=mainCommandFitID,\r\n                    commandFitIDs=commandFitIDs))\r\n                return\r\n        event.Skip()\r\n\r\n    def spawnMenu(self, event):\r\n        clickedPos = self.getRowByAbs(event.Position)\r\n        self.ensureSelection(clickedPos)\r\n\r\n        selection = self.getSelectedCommandFits()\r\n        mainCommandFit = None\r\n        if clickedPos != -1:\r\n            try:\r\n                mainCommandFit = self.fits[clickedPos]\r\n            except IndexError:\r\n                pass\r\n        contexts = []\r\n        if mainCommandFit is not None:\r\n            contexts.append(('commandFit', _t('Command Fit')))\r\n        contexts.append(('commandView',))\r\n        menu = ContextMenu.getMenu(self, mainCommandFit, selection, *contexts)\r\n        if menu:\r\n            self.PopupMenu(menu)\r\n\r\n    def onLeftDoubleClick(self, event):\r\n        row, _ = self.HitTest(event.Position)\r\n        if row != -1:\r\n            try:\r\n                commandFit = self.fits[row]\r\n            except IndexError:\r\n                return\r\n            self.removeCommandFits([commandFit])\r\n\r\n    def removeCommandFits(self, commandFits):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        commandFitIDs = []\r\n        for commandFit in commandFits:\r\n            if commandFit in self.fits:\r\n                commandFitIDs.append(commandFit.ID)\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveCommandFitsCommand(fitID=fitID, commandFitIDs=commandFitIDs))\r\n\r\n    def getSelectedCommandFits(self):\r\n        commandFits = []\r\n        for row in self.getSelectedRows():\r\n            try:\r\n                commandFit = self.fits[row]\r\n            except IndexError:\r\n                continue\r\n            commandFits.append(commandFit)\r\n        return commandFits\r\n\r\n    # Context menu handlers\r\n    def addFit(self, fit):\r\n        if fit is None:\r\n            return\r\n        self.mainFrame.command.Submit(cmd.GuiAddCommandFitsCommand(\r\n            fitID=self.mainFrame.getActiveFit(),\r\n            commandFitIDs=[fit.ID]))\r\n\r\n    def getExistingFitIDs(self):\r\n        return [f.ID for f in self.fits]\r\n\r\n    def addFitsByIDs(self, fitIDs):\r\n        if not fitIDs:\r\n            return\r\n        self.mainFrame.command.Submit(cmd.GuiAddCommandFitsCommand(\r\n            fitID=self.mainFrame.getActiveFit(),\r\n            commandFitIDs=fitIDs))\r\n\r\n    def getTabExtraText(self):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is None:\r\n            return None\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(fitID)\r\n        if fit is None:\r\n            return None\r\n        opt = sFit.serviceFittingOptions[\"additionsLabels\"]\r\n        # Amount of active command fits\r\n        if opt == 1:\r\n            amount = 0\r\n            for commandFit in fit.commandFits:\r\n                info = commandFit.getCommandInfo(fitID)\r\n                if info is not None and info.active:\r\n                    amount += 1\r\n            return ' ({})'.format(amount) if amount else None\r\n        # Total amount of command fits\r\n        elif opt == 2:\r\n            amount = len(fit.commandFits)\r\n            return ' ({})'.format(amount) if amount else None\r\n        else:\r\n            return None\r\n"
  },
  {
    "path": "gui/builtinAdditionPanes/droneView.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.builtinMarketBrowser.events import ItemSelected, ITEM_SELECTED\r\nfrom gui.display import Display\r\nfrom gui.builtinViewColumns.state import State\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.utils.staticHelpers import DragDropHelper\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\nimport gui.fitCommands as cmd\r\nfrom gui.fitCommands.helpers import droneStackLimit\r\n\r\n\r\nDRONE_ORDER = ('Light Scout Drones', 'Medium Scout Drones',\r\n               'Heavy Attack Drones', 'Sentry Drones', 'Combat Utility Drones',\r\n               'Electronic Warfare Drones', 'Logistic Drones', 'Mining Drones', 'Salvage Drones')\r\n\r\n\r\nclass DroneViewDrop(wx.DropTarget):\r\n    def __init__(self, dropFn, *args, **kwargs):\r\n        super(DroneViewDrop, self).__init__(*args, **kwargs)\r\n        self.dropFn = dropFn\r\n        # this is really transferring an EVE itemID\r\n        self.dropData = wx.TextDataObject()\r\n        self.SetDataObject(self.dropData)\r\n\r\n    def OnData(self, x, y, t):\r\n        if self.GetData():\r\n            dragged_data = DragDropHelper.data\r\n\r\n            if dragged_data is None:\r\n                return t\r\n\r\n            data = dragged_data.split(':')\r\n            self.dropFn(x, y, data)\r\n        return t\r\n\r\n\r\nclass DroneView(Display):\r\n    DEFAULT_COLS = [\r\n        \"State\",\r\n        # \"Base Icon\",\r\n        \"Base Name\",\r\n        # \"prop:droneDps,droneBandwidth\",\r\n        \"Max Range\",\r\n        \"Miscellanea\",\r\n        \"attr:maxVelocity\",\r\n        \"Drone HP\",\r\n        \"Drone Regen\",\r\n        \"Price\",\r\n    ]\r\n\r\n    def __init__(self, parent):\r\n        Display.__init__(self, parent, style=wx.BORDER_NONE)\r\n\r\n        self.lastFitId = None\r\n\r\n        self.hoveredRow = None\r\n        self.hoveredColumn = None\r\n\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n        self.mainFrame.Bind(ITEM_SELECTED, self.addItem)\r\n        self.Bind(wx.EVT_LEFT_DCLICK, self.onLeftDoubleClick)\r\n        self.Bind(wx.EVT_LEFT_DOWN, self.click)\r\n        self.Bind(wx.EVT_KEY_UP, self.kbEvent)\r\n        self.Bind(wx.EVT_MOTION, self.OnMouseMove)\r\n        self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindow)\r\n\r\n        self.Bind(wx.EVT_CONTEXT_MENU, self.spawnMenu)\r\n\r\n        self.Bind(wx.EVT_LIST_BEGIN_DRAG, self.startDrag)\r\n        self.SetDropTarget(DroneViewDrop(self.handleDragDrop))\r\n\r\n    def OnLeaveWindow(self, event):\r\n        self.SetToolTip(None)\r\n        self.hoveredRow = None\r\n        self.hoveredColumn = None\r\n        event.Skip()\r\n\r\n    def OnMouseMove(self, event):\r\n        row, _, col = self.HitTestSubItem(event.Position)\r\n        if row != self.hoveredRow or col != self.hoveredColumn:\r\n            if self.ToolTip is not None:\r\n                self.SetToolTip(None)\r\n            else:\r\n                self.hoveredRow = row\r\n                self.hoveredColumn = col\r\n                if row != -1 and col != -1 and col < len(self.DEFAULT_COLS):\r\n                    try:\r\n                        mod = self.drones[row]\r\n                    except IndexError:\r\n                        return\r\n                    if self.DEFAULT_COLS[col] == \"Miscellanea\":\r\n                        tooltip = self.activeColumns[col].getToolTip(mod)\r\n                        if tooltip is not None:\r\n                            self.SetToolTip(tooltip)\r\n                        else:\r\n                            self.SetToolTip(None)\r\n                    else:\r\n                        self.SetToolTip(None)\r\n                else:\r\n                    self.SetToolTip(None)\r\n        event.Skip()\r\n\r\n    def kbEvent(self, event):\r\n        keycode = event.GetKeyCode()\r\n        modifiers = event.GetModifiers()\r\n        if keycode == wx.WXK_ESCAPE and modifiers == wx.MOD_NONE:\r\n            self.unselectAll()\r\n        elif keycode == 65 and modifiers == wx.MOD_CONTROL:\r\n            self.selectAll()\r\n        elif keycode in (wx.WXK_DELETE, wx.WXK_NUMPAD_DELETE) and modifiers == wx.MOD_NONE:\r\n            drones = self.getSelectedDrones()\r\n            self.removeDroneStacks(drones)\r\n        event.Skip()\r\n\r\n    def startDrag(self, event):\r\n        row = event.GetIndex()\r\n        if row != -1:\r\n            self.unselectAll()\r\n            self.Select(row, True)\r\n\r\n            data = wx.TextDataObject()\r\n            dataStr = \"drone:\" + str(row)\r\n            data.SetText(dataStr)\r\n\r\n            dropSource = wx.DropSource(self)\r\n            dropSource.SetData(data)\r\n            DragDropHelper.data = dataStr\r\n            dropSource.DoDragDrop()\r\n\r\n    def handleDragDrop(self, x, y, data):\r\n        \"\"\"\r\n        Handles dragging of items from various pyfa displays which support it\r\n\r\n        data is list with two indices:\r\n            data[0] is hard-coded str of originating source\r\n            data[1] is typeID or index of data we want to manipulate\r\n        \"\"\"\r\n        if data[0] == \"drone\":\r\n            srcRow = int(data[1])\r\n            if srcRow != -1:\r\n                if wx.GetMouseState().GetModifiers() == wx.MOD_CONTROL:\r\n                    try:\r\n                        srcDrone = self.drones[srcRow]\r\n                    except IndexError:\r\n                        return\r\n                    if srcDrone not in self.original:\r\n                        return\r\n                    self.mainFrame.command.Submit(cmd.GuiCloneLocalDroneCommand(\r\n                        fitID=self.mainFrame.getActiveFit(),\r\n                        position=self.original.index(srcDrone)))\r\n                else:\r\n                    dstRow, _ = self.HitTest((x, y))\r\n                    if dstRow != -1:\r\n                        self._merge(srcRow, dstRow)\r\n        elif data[0] == \"market\":\r\n            wx.PostEvent(self.mainFrame, ItemSelected(itemID=int(data[1])))\r\n\r\n    def _merge(self, srcRow, dstRow):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        try:\r\n            srcDrone = self.drones[srcRow]\r\n            dstDrone = self.drones[dstRow]\r\n        except IndexError:\r\n            return\r\n        if srcDrone in self.original and dstDrone in self.original:\r\n            srcPosition = self.original.index(srcDrone)\r\n            dstPosition = self.original.index(dstDrone)\r\n            self.mainFrame.command.Submit(cmd.GuiMergeLocalDroneStacksCommand(\r\n                fitID=fitID, srcPosition=srcPosition, dstPosition=dstPosition))\r\n\r\n    @staticmethod\r\n    def droneKey(drone):\r\n        if drone.isMutated:\r\n            item = drone.baseItem\r\n        else:\r\n            item = drone.item\r\n        groupName = Market.getInstance().getMarketGroupByItem(item).marketGroupName\r\n        return (DRONE_ORDER.index(groupName), drone.isMutated, drone.fullName)\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(activeFitID)\r\n\r\n        self.Parent.Parent.DisablePage(self, not fit or fit.isStructure)\r\n\r\n        # Clear list and get out if current fitId is None\r\n        if activeFitID is None and self.lastFitId is not None:\r\n            self.DeleteAllItems()\r\n            self.lastFitId = None\r\n            return\r\n\r\n        self.original = fit.drones if fit is not None else None\r\n        self.drones = fit.drones[:] if fit is not None else None\r\n\r\n        if self.drones is not None:\r\n            self.drones.sort(key=self.droneKey)\r\n\r\n        if activeFitID != self.lastFitId:\r\n            self.lastFitId = activeFitID\r\n\r\n            item = self.GetNextItem(-1, wx.LIST_NEXT_ALL, wx.LIST_STATE_DONTCARE)\r\n\r\n            if item != -1:\r\n                self.EnsureVisible(item)\r\n\r\n            self.unselectAll()\r\n\r\n        self.update(self.drones)\r\n\r\n    def addItem(self, event):\r\n        item = Market.getInstance().getItem(event.itemID, eager='group.category')\r\n        if item is None or not item.isDrone:\r\n            event.Skip()\r\n            return\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if not fit or fit.isStructure:\r\n            event.Skip()\r\n            return\r\n\r\n        amount = droneStackLimit(fit, event.itemID) if wx.GetMouseState().GetModifiers() == wx.MOD_ALT else 1\r\n        if self.mainFrame.command.Submit(cmd.GuiAddLocalDroneCommand(fitID=fitID, itemID=event.itemID, amount=amount)):\r\n            self.mainFrame.additionsPane.select('Drones')\r\n\r\n        event.Skip()\r\n\r\n    def onLeftDoubleClick(self, event):\r\n        row, _ = self.HitTest(event.Position)\r\n        if row != -1:\r\n            col = self.getColumn(event.Position)\r\n            if col != self.getColIndex(State):\r\n                try:\r\n                    drone = self.drones[row]\r\n                except IndexError:\r\n                    return\r\n                if event.GetModifiers() == wx.MOD_ALT:\r\n                    self.removeDroneStacks([drone])\r\n                else:\r\n                    self.removeDrone(drone)\r\n\r\n    def removeDrone(self, drone):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if drone in self.original:\r\n            position = self.original.index(drone)\r\n            self.mainFrame.command.Submit(cmd.GuiRemoveLocalDronesCommand(\r\n                fitID=fitID, positions=[position], amount=1))\r\n\r\n    def removeDroneStacks(self, drones):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        positions = []\r\n        for drone in drones:\r\n            if drone in self.original:\r\n                positions.append(self.original.index(drone))\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveLocalDronesCommand(\r\n            fitID=fitID, positions=positions, amount=math.inf))\r\n\r\n    def click(self, event):\r\n        mainRow, _ = self.HitTest(event.Position)\r\n        if mainRow != -1:\r\n            col = self.getColumn(event.Position)\r\n            if col == self.getColIndex(State):\r\n                try:\r\n                    mainDrone = self.drones[mainRow]\r\n                except IndexError:\r\n                    return\r\n                if mainDrone in self.original:\r\n                    mainPosition = self.original.index(mainDrone)\r\n                    positions = []\r\n                    for row in self.getSelectedRows():\r\n                        try:\r\n                            drone = self.drones[row]\r\n                        except IndexError:\r\n                            continue\r\n                        if drone in self.original:\r\n                            positions.append(self.original.index(drone))\r\n                    if mainPosition not in positions:\r\n                        positions = [mainPosition]\r\n                    self.mainFrame.command.Submit(cmd.GuiToggleLocalDroneStatesCommand(\r\n                        fitID=self.mainFrame.getActiveFit(),\r\n                        mainPosition=mainPosition,\r\n                        positions=positions))\r\n                    return\r\n        event.Skip()\r\n\r\n    def spawnMenu(self, event):\r\n        clickedPos = self.getRowByAbs(event.Position)\r\n        self.ensureSelection(clickedPos)\r\n\r\n        mainDrone = None\r\n        if clickedPos != -1:\r\n            try:\r\n                drone = self.drones[clickedPos]\r\n            except IndexError:\r\n                pass\r\n            else:\r\n                if drone in self.original:\r\n                    mainDrone = drone\r\n        selection = self.getSelectedDrones()\r\n        itemContext = None if mainDrone is None else Market.getInstance().getCategoryByItem(mainDrone.item).displayName\r\n        menu = ContextMenu.getMenu(self, mainDrone, selection, (\"droneItem\", itemContext), (\"droneItemMisc\", itemContext))\r\n        if menu:\r\n            self.PopupMenu(menu)\r\n\r\n    def getSelectedDrones(self):\r\n        drones = []\r\n        for row in self.getSelectedRows():\r\n            try:\r\n                drone = self.drones[row]\r\n            except IndexError:\r\n                continue\r\n            drones.append(drone)\r\n        return drones\r\n\r\n    def getTabExtraText(self):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is None:\r\n            return None\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(fitID)\r\n        if fit is None:\r\n            return None\r\n        opt = sFit.serviceFittingOptions[\"additionsLabels\"]\r\n        # Amount of active drones\r\n        if opt == 1:\r\n            amount = 0\r\n            for droneStack in fit.drones:\r\n                amount += droneStack.amountActive\r\n            return ' ({})'.format(amount) if amount else None\r\n        # Total amount of drones\r\n        elif opt == 2:\r\n            amount = 0\r\n            for droneStack in fit.drones:\r\n                amount += droneStack.amount\r\n            return ' ({})'.format(amount) if amount else None\r\n        else:\r\n            return None\r\n"
  },
  {
    "path": "gui/builtinAdditionPanes/fighterView.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.display as d\r\nimport gui.fitCommands as cmd\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom eos.const import FittingSlot\r\nfrom gui.builtinMarketBrowser.events import ItemSelected, ITEM_SELECTED\r\nfrom gui.builtinViewColumns.state import State\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.fitCommands.helpers import getSimilarFighters\r\nfrom gui.utils.staticHelpers import DragDropHelper\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nFIGHTER_ORDER = (\r\n    'Light Fighter', 'Structure Light Fighter',\r\n    'Heavy Fighter', 'Structure Heavy Fighter',\r\n    'Support Fighter', 'Structure Support Fighter')\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FighterViewDrop(wx.DropTarget):\r\n    def __init__(self, dropFn, *args, **kwargs):\r\n        super(FighterViewDrop, self).__init__(*args, **kwargs)\r\n        self.dropFn = dropFn\r\n        # this is really transferring an EVE itemID\r\n        self.dropData = wx.TextDataObject()\r\n        self.SetDataObject(self.dropData)\r\n\r\n    def OnData(self, x, y, t):\r\n        if self.GetData():\r\n            dragged_data = DragDropHelper.data\r\n\r\n            if dragged_data is None:\r\n                return t\r\n\r\n            data = dragged_data.split(':')\r\n            self.dropFn(x, y, data)\r\n        return t\r\n\r\n\r\nclass FighterView(wx.Panel):\r\n\r\n    def __init__(self, parent):\r\n        wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, style=wx.TAB_TRAVERSAL)\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.labels = [(\"Light\", _t(\"Light\")), (\"Heavy\", _t(\"Heavy\")), (\"Support\", _t(\"Support\"))]\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.fighterDisplay = FighterDisplay(self)\r\n        mainSizer.Add(self.fighterDisplay, 1, wx.EXPAND, 0)\r\n\r\n        textSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        textSizer.AddStretchSpacer()\r\n\r\n        for attr, label in self.labels:\r\n            lbl = wx.StaticText(self, wx.ID_ANY, label)\r\n            textSizer.Add(lbl, 0, wx.ALIGN_CENTER | wx.LEFT, 5)\r\n\r\n            lbl = wx.StaticText(self, wx.ID_ANY, \"0\")\r\n            setattr(self, \"label%sUsed\" % attr, lbl)\r\n            textSizer.Add(lbl, 0, wx.ALIGN_CENTER | wx.LEFT, 5)\r\n\r\n            textSizer.Add(wx.StaticText(self, wx.ID_ANY, \"/\"), 0, wx.ALIGN_CENTER)\r\n\r\n            lbl = wx.StaticText(self, wx.ID_ANY, \"0\")\r\n            setattr(self, \"label%sTotal\" % attr, lbl)\r\n            textSizer.Add(lbl, 0, wx.ALIGN_CENTER)\r\n            textSizer.AddStretchSpacer()\r\n\r\n        mainSizer.Add(textSizer, 0, wx.EXPAND, 5)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.SetAutoLayout(True)\r\n\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(activeFitID)\r\n\r\n        if fit:\r\n            for x, _ in self.labels:\r\n                if fit.isStructure:\r\n                    slot = getattr(FittingSlot, \"FS_{}\".format(x.upper()))\r\n                else:\r\n                    slot = getattr(FittingSlot, \"F_{}\".format(x.upper()))\r\n                used = fit.getSlotsUsed(slot)\r\n                total = fit.getNumSlots(slot)\r\n                color = wx.Colour(204, 51, 51) if used > total else wx.SystemSettings.GetColour(\r\n                    wx.SYS_COLOUR_WINDOWTEXT)\r\n\r\n                lbl = getattr(self, \"label%sUsed\" % x.capitalize())\r\n                lbl.SetLabel(str(int(used)))\r\n                lbl.SetForegroundColour(color)\r\n\r\n                lbl = getattr(self, \"label%sTotal\" % x.capitalize())\r\n                lbl.SetLabel(str(int(total)))\r\n                lbl.SetForegroundColour(color)\r\n\r\n            self.Refresh()\r\n\r\n    def getTabExtraText(self):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is None:\r\n            return None\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(fitID)\r\n        if fit is None:\r\n            return None\r\n        opt = sFit.serviceFittingOptions[\"additionsLabels\"]\r\n        # Amount of active fighter squads\r\n        if opt == 1:\r\n            amount = len([f for f in fit.fighters if f.active])\r\n            return ' ({})'.format(amount) if amount else None\r\n        # Total amount of fighter squads\r\n        elif opt == 2:\r\n            amount = len(fit.fighters)\r\n            return ' ({})'.format(amount) if amount else None\r\n        else:\r\n            return None\r\n\r\n\r\nclass FighterDisplay(d.Display):\r\n\r\n    DEFAULT_COLS = [\"State\",\r\n                    # \"Base Icon\",\r\n                    \"Base Name\",\r\n                    # \"prop:droneDps,droneBandwidth\",\r\n                    # \"Max Range\",\r\n                    # \"Miscellanea\",\r\n                    \"attr:maxVelocity\",\r\n                    \"Drone HP\",\r\n                    \"Drone Regen\",\r\n                    \"Fighter Abilities\",\r\n                    \"Price\",\r\n                    ]\r\n\r\n    def __init__(self, parent):\r\n        d.Display.__init__(self, parent, style=wx.BORDER_NONE)\r\n\r\n        self.lastFitId = None\r\n\r\n        self.hoveredRow = None\r\n        self.hoveredColumn = None\r\n\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n        self.mainFrame.Bind(ITEM_SELECTED, self.addItem)\r\n        self.Bind(wx.EVT_LEFT_DCLICK, self.onLeftDoubleClick)\r\n        self.Bind(wx.EVT_LEFT_DOWN, self.click)\r\n        self.Bind(wx.EVT_KEY_UP, self.kbEvent)\r\n        self.Bind(wx.EVT_MOTION, self.OnMouseMove)\r\n        self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindow)\r\n\r\n        self.Bind(wx.EVT_CONTEXT_MENU, self.spawnMenu)\r\n\r\n        self.Bind(wx.EVT_LIST_BEGIN_DRAG, self.startDrag)\r\n        self.SetDropTarget(FighterViewDrop(self.handleDragDrop))\r\n\r\n    def OnLeaveWindow(self, event):\r\n        self.SetToolTip(None)\r\n        self.hoveredRow = None\r\n        self.hoveredColumn = None\r\n        event.Skip()\r\n\r\n    def OnMouseMove(self, event):\r\n        row, _, col = self.HitTestSubItem(event.Position)\r\n        if row != self.hoveredRow or col != self.hoveredColumn:\r\n            if self.ToolTip is not None:\r\n                self.SetToolTip(None)\r\n            else:\r\n                self.hoveredRow = row\r\n                self.hoveredColumn = col\r\n                if row != -1 and col != -1 and col < len(self.DEFAULT_COLS):\r\n                    try:\r\n                        mod = self.fighters[row]\r\n                    except IndexError:\r\n                        return\r\n                    if self.DEFAULT_COLS[col] == \"Miscellanea\":\r\n                        tooltip = self.activeColumns[col].getToolTip(mod)\r\n                        if tooltip is not None:\r\n                            self.SetToolTip(tooltip)\r\n                        else:\r\n                            self.SetToolTip(None)\r\n                    else:\r\n                        self.SetToolTip(None)\r\n                else:\r\n                    self.SetToolTip(None)\r\n        event.Skip()\r\n\r\n    def kbEvent(self, event):\r\n        keycode = event.GetKeyCode()\r\n        modifiers = event.GetModifiers()\r\n        if keycode == wx.WXK_ESCAPE and modifiers == wx.MOD_NONE:\r\n            self.unselectAll()\r\n        elif keycode == 65 and modifiers == wx.MOD_CONTROL:\r\n            self.selectAll()\r\n        elif keycode in (wx.WXK_DELETE, wx.WXK_NUMPAD_DELETE) and modifiers == wx.MOD_NONE:\r\n            fighters = self.getSelectedFighters()\r\n            self.removeFighters(fighters)\r\n        event.Skip()\r\n\r\n    def startDrag(self, event):\r\n        row = event.GetIndex()\r\n        if row != -1:\r\n            self.unselectAll()\r\n            self.Select(row, True)\r\n\r\n            data = wx.TextDataObject()\r\n            dataStr = \"fighter:\" + str(row)\r\n            data.SetText(dataStr)\r\n\r\n            dropSource = wx.DropSource(self)\r\n            dropSource.SetData(data)\r\n            DragDropHelper.data = dataStr\r\n            dropSource.DoDragDrop()\r\n\r\n    def handleDragDrop(self, x, y, data):\r\n        \"\"\"\r\n        Handles dragging of items from various pyfa displays which support it\r\n\r\n        data is list with two indices:\r\n            data[0] is hard-coded str of originating source\r\n            data[1] is typeID or index of data we want to manipulate\r\n        \"\"\"\r\n        if data[0] == \"fighter\":  # we want to merge fighters\r\n            srcRow = int(data[1])\r\n            dstRow, _ = self.HitTest((x, y))\r\n            if srcRow != -1 and dstRow != -1:\r\n                self._merge(srcRow, dstRow)\r\n        elif data[0] == \"market\":\r\n            wx.PostEvent(self.mainFrame, ItemSelected(itemID=int(data[1])))\r\n\r\n    @staticmethod\r\n    def _merge(src, dst):\r\n        return\r\n\r\n    @staticmethod\r\n    def fighterKey(fighter):\r\n        groupName = Market.getInstance().getGroupByItem(fighter.item).name\r\n        orderPos = FIGHTER_ORDER.index(groupName)\r\n        # Sort support fighters by name, ignore their abilities\r\n        if groupName == 'Support Fighter':\r\n            abilityEffectIDs = ()\r\n        # Group up fighters from various roles\r\n        else:\r\n            abilityEffectIDs = sorted(a.effectID for a in fighter.abilities)\r\n        return orderPos, abilityEffectIDs, fighter.item.name\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(activeFitID)\r\n\r\n        self.Parent.Parent.Parent.DisablePage(self.Parent, not fit)\r\n\r\n        # Clear list and get out if current fitId is None\r\n        if activeFitID is None and self.lastFitId is not None:\r\n            self.DeleteAllItems()\r\n            self.lastFitId = None\r\n            return\r\n\r\n        self.original = fit.fighters if fit is not None else None\r\n        self.fighters = fit.fighters[:] if fit is not None else None\r\n\r\n        if self.fighters is not None:\r\n            self.fighters.sort(key=self.fighterKey)\r\n\r\n        if activeFitID != self.lastFitId:\r\n            self.lastFitId = activeFitID\r\n\r\n            item = self.GetNextItem(-1, wx.LIST_NEXT_ALL, wx.LIST_STATE_DONTCARE)\r\n\r\n            if item != -1:\r\n                self.EnsureVisible(item)\r\n\r\n            self.unselectAll()\r\n\r\n        self.update(self.fighters)\r\n\r\n    def addItem(self, event):\r\n        item = Market.getInstance().getItem(event.itemID, eager='group.category')\r\n        if item is None or not item.isFighter:\r\n            event.Skip()\r\n            return\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if self.mainFrame.command.Submit(cmd.GuiAddLocalFighterCommand(fitID, event.itemID)):\r\n            self.mainFrame.additionsPane.select('Fighters')\r\n\r\n        event.Skip()\r\n\r\n    def onLeftDoubleClick(self, event):\r\n        row, _ = self.HitTest(event.Position)\r\n        if row != -1:\r\n            col = self.getColumn(event.Position)\r\n            if col != self.getColIndex(State):\r\n                try:\r\n                    fighter = self.fighters[row]\r\n                except IndexError:\r\n                    return\r\n                if event.GetModifiers() == wx.MOD_ALT:\r\n                    fighters = getSimilarFighters(self.original, fighter)\r\n                else:\r\n                    fighters = [fighter]\r\n                self.removeFighters(fighters)\r\n\r\n    def removeFighters(self, fighters):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        positions = []\r\n        for fighter in fighters:\r\n            if fighter in self.original:\r\n                positions.append(self.original.index(fighter))\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveLocalFightersCommand(fitID=fitID, positions=positions))\r\n\r\n    def click(self, event):\r\n        mainRow, _ = self.HitTest(event.Position)\r\n        if mainRow != -1:\r\n            col = self.getColumn(event.Position)\r\n            if col == self.getColIndex(State):\r\n                fitID = self.mainFrame.getActiveFit()\r\n                try:\r\n                    mainFighter = self.fighters[mainRow]\r\n                except IndexError:\r\n                    return\r\n                if mainFighter in self.original:\r\n                    mainPosition = self.original.index(mainFighter)\r\n                    positions = []\r\n                    if event.GetModifiers() == wx.MOD_ALT:\r\n                        for fighter in getSimilarFighters(self.original, mainFighter):\r\n                            positions.append(self.original.index(fighter))\r\n                    else:\r\n                        for row in self.getSelectedRows():\r\n                            try:\r\n                                fighter = self.fighters[row]\r\n                            except IndexError:\r\n                                continue\r\n                            if fighter in self.original:\r\n                                positions.append(self.original.index(fighter))\r\n                    if mainPosition not in positions:\r\n                        positions = [mainPosition]\r\n                    self.mainFrame.command.Submit(cmd.GuiToggleLocalFighterStatesCommand(\r\n                        fitID=fitID,\r\n                        mainPosition=mainPosition,\r\n                        positions=positions))\r\n                    return\r\n        event.Skip()\r\n\r\n    def spawnMenu(self, event):\r\n        clickedPos = self.getRowByAbs(event.Position)\r\n        self.ensureSelection(clickedPos)\r\n\r\n        selection = self.getSelectedFighters()\r\n        mainFighter = None\r\n        if clickedPos != -1:\r\n            try:\r\n                fighter = self.fighters[clickedPos]\r\n            except IndexError:\r\n                pass\r\n            else:\r\n                if fighter in self.original:\r\n                    mainFighter = fighter\r\n        itemContext = None if mainFighter is None else Market.getInstance().getCategoryByItem(mainFighter.item).displayName\r\n        menu = ContextMenu.getMenu(self, mainFighter, selection, (\"fighterItem\", itemContext), (\"fighterItemMisc\", itemContext))\r\n        if menu:\r\n            self.PopupMenu(menu)\r\n\r\n    def getSelectedFighters(self):\r\n        fighters = []\r\n        for row in self.getSelectedRows():\r\n            try:\r\n                fighter = self.fighters[row]\r\n            except IndexError:\r\n                continue\r\n            fighters.append(fighter)\r\n        return fighters\r\n"
  },
  {
    "path": "gui/builtinAdditionPanes/implantView.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.display as d\r\nimport gui.fitCommands as cmd\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom eos.const import ImplantLocation\r\nfrom gui.builtinMarketBrowser.events import ITEM_SELECTED\r\nfrom gui.builtinViewColumns.state import State\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.utils.staticHelpers import DragDropHelper\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ImplantViewDrop(wx.DropTarget):\r\n    def __init__(self, dropFn, *args, **kwargs):\r\n        super(ImplantViewDrop, self).__init__(*args, **kwargs)\r\n        self.dropFn = dropFn\r\n        # this is really transferring an EVE itemID\r\n        self.dropData = wx.TextDataObject()\r\n        self.SetDataObject(self.dropData)\r\n\r\n    def OnData(self, x, y, t):\r\n        if self.GetData():\r\n            dragged_data = DragDropHelper.data\r\n\r\n            if dragged_data is None:\r\n                return t\r\n\r\n            data = dragged_data.split(':')\r\n            self.dropFn(x, y, data)\r\n        return t\r\n\r\n\r\nclass ImplantView(wx.Panel):\r\n\r\n    def __init__(self, parent):\r\n        wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, style=wx.TAB_TRAVERSAL)\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.implantDisplay = ImplantDisplay(self)\r\n        mainSizer.Add(self.implantDisplay, 1, wx.EXPAND, 0)\r\n\r\n        radioSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        radioSizer.AddStretchSpacer()\r\n        self.rbFit = wx.RadioButton(self, id=wx.ID_ANY, label=_t(\"Use Fit-specific Implants\"), style=wx.RB_GROUP)\r\n        self.rbChar = wx.RadioButton(self, id=wx.ID_ANY, label=_t(\"Use Character Implants\"))\r\n        radioSizer.Add(self.rbFit, 0, wx.ALL, 5)\r\n        radioSizer.Add(self.rbChar, 0, wx.ALL, 5)\r\n        radioSizer.AddStretchSpacer()\r\n\r\n        mainSizer.Add(radioSizer, 0, wx.EXPAND, 5)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.SetAutoLayout(True)\r\n\r\n        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioSelect, self.rbFit)\r\n        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioSelect, self.rbChar)\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(activeFitID)\r\n        if fit:\r\n            self.source = fit.implantSource\r\n            if fit.implantSource == ImplantLocation.FIT:\r\n                self.rbFit.SetValue(True)\r\n            else:\r\n                self.rbChar.SetValue(True)\r\n\r\n        self.rbFit.Enable(fit is not None)\r\n        self.rbChar.Enable(fit is not None)\r\n\r\n    def OnRadioSelect(self, event):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is not None:\r\n            self.mainFrame.command.Submit(cmd.GuiChangeImplantLocationCommand(\r\n                fitID=fitID, source=ImplantLocation.FIT if self.rbFit.GetValue() else ImplantLocation.CHARACTER))\r\n\r\n    def getTabExtraText(self):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is None:\r\n            return None\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(fitID)\r\n        if fit is None:\r\n            return None\r\n        opt = sFit.serviceFittingOptions[\"additionsLabels\"]\r\n        # Amount of active implants\r\n        if opt == 1:\r\n            amount = len([i for i in fit.appliedImplants if i.active])\r\n            return ' ({})'.format(amount) if amount else None\r\n        # Total amount of implants\r\n        elif opt == 2:\r\n            amount = len(fit.appliedImplants)\r\n            return ' ({})'.format(amount) if amount else None\r\n        else:\r\n            return None\r\n\r\nclass ImplantDisplay(d.Display):\r\n\r\n    DEFAULT_COLS = [\r\n        \"State\",\r\n        \"attr:implantness\",\r\n        \"Base Icon\",\r\n        \"Base Name\",\r\n        \"Price\",\r\n    ]\r\n\r\n    def __init__(self, parent):\r\n        d.Display.__init__(self, parent, style=wx.BORDER_NONE)\r\n\r\n        self.lastFitId = None\r\n\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n        self.mainFrame.Bind(ITEM_SELECTED, self.addItem)\r\n        self.Bind(wx.EVT_LEFT_DCLICK, self.onLeftDoubleClick)\r\n        self.Bind(wx.EVT_LEFT_DOWN, self.click)\r\n        self.Bind(wx.EVT_KEY_UP, self.kbEvent)\r\n        self.SetDropTarget(ImplantViewDrop(self.handleListDrag))\r\n\r\n        self.Bind(wx.EVT_CONTEXT_MENU, self.spawnMenu)\r\n\r\n\r\n    def handleListDrag(self, x, y, data):\r\n        \"\"\"\r\n        Handles dragging of items from various pyfa displays which support it\r\n\r\n        data is list with two indices:\r\n            data[0] is hard-coded str of originating source\r\n            data[1] is typeID or index of data we want to manipulate\r\n        \"\"\"\r\n\r\n        if data[0] == \"market\":\r\n            if self.mainFrame.command.Submit(cmd.GuiAddImplantCommand(\r\n                    fitID=self.mainFrame.getActiveFit(), itemID=int(data[1]))):\r\n                self.mainFrame.additionsPane.select(\"Implants\")\r\n\r\n    def kbEvent(self, event):\r\n        keycode = event.GetKeyCode()\r\n        modifiers = event.GetModifiers()\r\n        if keycode == wx.WXK_ESCAPE and modifiers == wx.MOD_NONE:\r\n            self.unselectAll()\r\n        elif keycode == 65 and modifiers == wx.MOD_CONTROL:\r\n            self.selectAll()\r\n        elif keycode in (wx.WXK_DELETE, wx.WXK_NUMPAD_DELETE) and modifiers == wx.MOD_NONE:\r\n            implants = self.getSelectedImplants()\r\n            self.removeImplants(implants)\r\n        event.Skip()\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(activeFitID)\r\n\r\n        self.Parent.Parent.Parent.DisablePage(self.Parent, not fit or fit.isStructure)\r\n\r\n        # Clear list and get out if current fitId is None\r\n        if activeFitID is None and self.lastFitId is not None:\r\n            self.DeleteAllItems()\r\n            self.lastFitId = None\r\n            return\r\n\r\n        self.original = fit.appliedImplants if fit is not None else None\r\n        self.implants = fit.appliedImplants[:] if fit is not None else None\r\n        if self.implants is not None:\r\n            self.implants.sort(key=lambda implant: implant.slot or 0)\r\n\r\n        if activeFitID != self.lastFitId:\r\n            self.lastFitId = activeFitID\r\n\r\n            item = self.GetNextItem(-1, wx.LIST_NEXT_ALL, wx.LIST_STATE_DONTCARE)\r\n\r\n            if item != -1:\r\n                self.EnsureVisible(item)\r\n\r\n            self.unselectAll()\r\n\r\n        self.update(self.implants)\r\n\r\n    def addItem(self, event):\r\n        item = Market.getInstance().getItem(event.itemID, eager='group.category')\r\n        if item is None or not item.isImplant:\r\n            event.Skip()\r\n            return\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n\r\n        if not fit or fit.isStructure:\r\n            event.Skip()\r\n            return\r\n\r\n        self.mainFrame.command.Submit(cmd.GuiAddImplantCommand(\r\n            fitID=fitID, itemID=event.itemID))\r\n        # Select in any case - as we might've added implant which has been there already and command failed\r\n        self.mainFrame.additionsPane.select('Implants')\r\n\r\n        event.Skip()\r\n\r\n    def onLeftDoubleClick(self, event):\r\n        row, _ = self.HitTest(event.Position)\r\n        if row != -1:\r\n            col = self.getColumn(event.Position)\r\n            if col != self.getColIndex(State):\r\n                try:\r\n                    implant = self.implants[row]\r\n                except IndexError:\r\n                    return\r\n                self.removeImplants([implant])\r\n\r\n    def removeImplants(self, implants):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if fit.implantLocation != ImplantLocation.FIT:\r\n            return\r\n        positions = []\r\n        for implant in implants:\r\n            if implant in self.original:\r\n                positions.append(self.original.index(implant))\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveImplantsCommand(fitID=fitID, positions=positions))\r\n\r\n    def click(self, event):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if fit.implantLocation == ImplantLocation.FIT:\r\n            mainRow, _ = self.HitTest(event.Position)\r\n            if mainRow != -1:\r\n                col = self.getColumn(event.Position)\r\n                if col == self.getColIndex(State):\r\n                    fitID = self.mainFrame.getActiveFit()\r\n                    try:\r\n                        mainImplant = self.implants[mainRow]\r\n                    except IndexError:\r\n                        return\r\n                    if mainImplant in self.original:\r\n                        mainPosition = self.original.index(mainImplant)\r\n                        positions = []\r\n                        for row in self.getSelectedRows():\r\n                            try:\r\n                                implant = self.implants[row]\r\n                            except IndexError:\r\n                                continue\r\n                            if implant in self.original:\r\n                                positions.append(self.original.index(implant))\r\n                        if mainPosition not in positions:\r\n                            positions = [mainPosition]\r\n                        self.mainFrame.command.Submit(cmd.GuiToggleImplantStatesCommand(\r\n                            fitID=fitID,\r\n                            mainPosition=mainPosition,\r\n                            positions=positions))\r\n                        return\r\n        event.Skip()\r\n\r\n    def spawnMenu(self, event):\r\n        clickedPos = self.getRowByAbs(event.Position)\r\n        self.ensureSelection(clickedPos)\r\n\r\n        selection = self.getSelectedImplants()\r\n        mainImplant = None\r\n        if clickedPos != -1:\r\n            try:\r\n                implant = self.implants[clickedPos]\r\n            except IndexError:\r\n                pass\r\n            else:\r\n                if implant in self.original:\r\n                    mainImplant = implant\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        sourceContext1 = \"implantItem\" if fit.implantSource == ImplantLocation.FIT else \"implantItemChar\"\r\n        sourceContext2 = \"implantItemMisc\" if fit.implantSource == ImplantLocation.FIT else \"implantItemMiscChar\"\r\n        itemContext = None if mainImplant is None else Market.getInstance().getCategoryByItem(mainImplant.item).displayName\r\n        menu = ContextMenu.getMenu(self, mainImplant, selection,\r\n                                   (sourceContext1, itemContext),\r\n                                   (sourceContext2, itemContext)\r\n                                   )\r\n        if menu:\r\n            self.PopupMenu(menu)\r\n\r\n    def getSelectedImplants(self):\r\n        implants = []\r\n        for row in self.getSelectedRows():\r\n            try:\r\n                implant = self.implants[row]\r\n            except IndexError:\r\n                continue\r\n            implants.append(implant)\r\n        return implants\r\n\r\n    def addImplants(self, implants):\r\n        self.mainFrame.command.Submit(cmd.GuiAddImplantSetCommand(\r\n            fitID=self.mainFrame.getActiveFit(),\r\n            itemIDs=[i.itemID for i in implants]))\r\n"
  },
  {
    "path": "gui/builtinAdditionPanes/notesView.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.utils.helpers_wxPython import HandleCtrlBackspace\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom service.fit import Fit\r\n\r\n\r\nclass NotesView(wx.Panel):\r\n\r\n    def __init__(self, parent):\r\n        wx.Panel.__init__(self, parent)\r\n        self.lastFitId = None\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.editNotes = wx.TextCtrl(self, style=wx.TE_MULTILINE | wx.BORDER_NONE)\r\n        mainSizer.Add(self.editNotes, 1, wx.EXPAND | wx.ALL, 10)\r\n        self.SetSizer(mainSizer)\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n        self.Bind(wx.EVT_TEXT, self.onText)\r\n        self.editNotes.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)\r\n        self.changeTimer = wx.Timer(self)\r\n        self.Bind(wx.EVT_TIMER, self.delayedSave, self.changeTimer)\r\n\r\n    def OnKeyDown(self, event):\r\n        if event.RawControlDown() and event.GetKeyCode() == wx.WXK_BACK:\r\n            try:\r\n                HandleCtrlBackspace(self.editNotes)\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except:\r\n                pass\r\n        else:\r\n            event.Skip()\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(activeFitID)\r\n\r\n        self.changeTimer.Stop()  # cancel any pending timers\r\n\r\n        self.Parent.Parent.DisablePage(self, not fit or fit.isStructure)\r\n\r\n        # when switching fits, ensure that we save the notes for the previous fit\r\n        if self.lastFitId is not None:\r\n            sFit.editNotes(self.lastFitId, self.editNotes.GetValue())\r\n\r\n        if activeFitID is None and self.lastFitId is not None:\r\n            self.lastFitId = None\r\n            return\r\n        elif activeFitID != self.lastFitId:\r\n            self.lastFitId = activeFitID\r\n            self.editNotes.ChangeValue(fit.notes or \"\")\r\n            wx.PostEvent(self.mainFrame, GE.FitNotesChanged())\r\n\r\n    def onText(self, event):\r\n        # delay the save so we're not writing to sqlite on every keystroke\r\n        self.changeTimer.Stop()  # cancel the existing timer\r\n        self.changeTimer.Start(1000, True)\r\n\r\n    def delayedSave(self, event):\r\n        event.Skip()\r\n        sFit = Fit.getInstance()\r\n        sFit.editNotes(self.lastFitId, self.editNotes.GetValue())\r\n        wx.PostEvent(self.mainFrame, GE.FitNotesChanged())\r\n\r\n    def getTabExtraText(self):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is None:\r\n            return None\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(fitID)\r\n        if fit is None:\r\n            return None\r\n        opt = sFit.serviceFittingOptions[\"additionsLabels\"]\r\n        # Amount of active implants\r\n        if opt in (1, 2):\r\n            amount = len(self.editNotes.GetValue())\r\n            return ' ({})'.format(formatAmount(amount, 2, 0, 3)) if amount else None\r\n        else:\r\n            return None\r\n"
  },
  {
    "path": "gui/builtinAdditionPanes/projectedView.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport math\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport gui.builtinAdditionPanes.droneView\r\nimport gui.display as d\r\nimport gui.fitCommands as cmd\r\nimport gui.globalEvents as GE\r\nfrom eos.const import FittingModuleState\r\nfrom eos.saveddata.drone import Drone as EosDrone\r\nfrom eos.saveddata.fighter import Fighter as EosFighter\r\nfrom eos.saveddata.fit import Fit as EosFit\r\nfrom eos.saveddata.module import Module as EosModule\r\nfrom gui.builtinViewColumns.state import State\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.fitCommands.helpers import getSimilarFighters, getSimilarModPositions\r\nfrom gui.utils.staticHelpers import DragDropHelper\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\nclass DummyItem:\r\n    def __init__(self, txt):\r\n        self.name = txt\r\n        self.iconID = None\r\n\r\n\r\nclass DummyEntry:\r\n    def __init__(self, txt):\r\n        self.item = DummyItem(txt)\r\n\r\n\r\nclass ProjectedViewDrop(wx.DropTarget):\r\n    def __init__(self, dropFn, *args, **kwargs):\r\n        super(ProjectedViewDrop, self).__init__(*args, **kwargs)\r\n        self.dropFn = dropFn\r\n        # this is really transferring an EVE itemID\r\n        self.dropData = wx.TextDataObject()\r\n        self.SetDataObject(self.dropData)\r\n\r\n    def OnData(self, x, y, t):\r\n        if self.GetData():\r\n            dragged_data = DragDropHelper.data\r\n\r\n            if dragged_data is None:\r\n                return t\r\n\r\n            data = dragged_data.split(':')\r\n            self.dropFn(x, y, data)\r\n        return t\r\n\r\n\r\nclass ProjectedView(d.Display):\r\n    DEFAULT_COLS = ['State',\r\n                    'Ammo Icon',\r\n                    'Base Icon',\r\n                    'Base Name',\r\n                    'Ammo',\r\n                    'Projection Range']\r\n\r\n    def __init__(self, parent):\r\n        d.Display.__init__(self, parent, style=wx.BORDER_NONE)\r\n\r\n        self.lastFitId = None\r\n\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n        self.mainFrame.Bind(GE.FIT_REMOVED, self.OnFitRemoved)\r\n        self.Bind(wx.EVT_LEFT_DOWN, self.click)\r\n        self.Bind(wx.EVT_RIGHT_DOWN, self.click)\r\n        self.Bind(wx.EVT_LEFT_DCLICK, self.onLeftDoubleClick)\r\n        self.Bind(wx.EVT_KEY_UP, self.kbEvent)\r\n\r\n        self.Bind(wx.EVT_CONTEXT_MENU, self.spawnMenu)\r\n\r\n        self.SetDropTarget(ProjectedViewDrop(self.handleListDrag))\r\n\r\n    def OnFitRemoved(self, event):\r\n        event.Skip()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        self.refreshContents(fit)\r\n\r\n    def handleListDrag(self, x, y, data):\r\n        \"\"\"\r\n        Handles dragging of items from various pyfa displays which support it\r\n\r\n        data is list with two indices:\r\n            data[0] is hard-coded str of originating source\r\n            data[1] is typeID or index of data we want to manipulate\r\n        \"\"\"\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if data[0] == 'fitting':\r\n            dstRow, _ = self.HitTest((x, y))\r\n            # Gather module information to get position\r\n            self.mainFrame.command.Submit(cmd.GuiAddProjectedModuleCommand(\r\n                fitID=fitID, itemID=fit.modules[int(data[1])].itemID))\r\n        elif data[0] == 'market':\r\n            itemID = int(data[1])\r\n            item = Market.getInstance().getItem(itemID)\r\n            if item.isModule:\r\n                self.mainFrame.command.Submit(cmd.GuiAddProjectedModuleCommand(fitID=fitID, itemID=itemID))\r\n            elif item.isDrone:\r\n                self.mainFrame.command.Submit(cmd.GuiAddProjectedDroneCommand(fitID=fitID, itemID=itemID))\r\n            elif item.isFighter:\r\n                self.mainFrame.command.Submit(cmd.GuiAddProjectedFighterCommand(fitID=fitID, itemID=itemID))\r\n\r\n    def kbEvent(self, event):\r\n        keycode = event.GetKeyCode()\r\n        modifiers = event.GetModifiers()\r\n        if keycode == wx.WXK_ESCAPE and modifiers == wx.MOD_NONE:\r\n            self.unselectAll()\r\n        elif keycode == 65 and modifiers == wx.MOD_CONTROL:\r\n            self.selectAll()\r\n        elif keycode in (wx.WXK_DELETE, wx.WXK_NUMPAD_DELETE) and modifiers == wx.MOD_NONE:\r\n            self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(\r\n                fitID=self.mainFrame.getActiveFit(),\r\n                items=self.getSelectedProjectors(),\r\n                amount=math.inf))\r\n        event.Skip()\r\n\r\n    def handleDrag(self, type, fitID):\r\n        # Those are drags coming from pyfa sources, NOT builtin wx drags\r\n        if type == 'fit':\r\n            activeFit = self.mainFrame.getActiveFit()\r\n            if activeFit:\r\n                self.mainFrame.command.Submit(cmd.GuiAddProjectedFitsCommand(\r\n                    fitID=activeFit, projectedFitIDs=[fitID], amount=1))\r\n\r\n    @staticmethod\r\n    def moduleSort(module):\r\n        return not module.isExclusiveSystemEffect, module.item.name\r\n\r\n    @staticmethod\r\n    def fighterSort(fighter):\r\n        return fighter.item.name\r\n\r\n    def droneSort(self, drone):\r\n        item = drone.item\r\n        if item.marketGroup is None:\r\n            item = item.metaGroup.parent\r\n\r\n        return (gui.builtinAdditionPanes.droneView.DRONE_ORDER.index(item.marketGroup.name),\r\n                drone.item.name)\r\n\r\n    @staticmethod\r\n    def fitSort(fit):\r\n        return fit.name\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(activeFitID)\r\n        # pyfalog.debug('ProjectedView::fitChanged: {}', repr(fit))\r\n\r\n        self.Parent.Parent.DisablePage(self, not fit or fit.isStructure)\r\n\r\n        # Clear list and get out if current fitId is None\r\n        if activeFitID is None and self.lastFitId is not None:\r\n            self.DeleteAllItems()\r\n            self.lastFitId = None\r\n            return\r\n\r\n\r\n\r\n        if activeFitID != self.lastFitId:\r\n            self.lastFitId = activeFitID\r\n\r\n            item = self.GetNextItem(-1, wx.LIST_NEXT_ALL, wx.LIST_STATE_DONTCARE)\r\n\r\n            if item != -1:\r\n                self.EnsureVisible(item)\r\n\r\n            self.unselectAll()\r\n\r\n        self.refreshContents(fit)\r\n\r\n    def refreshContents(self, fit):\r\n        stuff = []\r\n        if fit is not None:\r\n            self.originalFits = fit.projectedFits\r\n            self.fits = fit.projectedFits[:]\r\n            self.originalModules = fit.projectedModules\r\n            self.modules = fit.projectedModules[:]\r\n            self.originalDrones = fit.projectedDrones\r\n            self.drones = fit.projectedDrones[:]\r\n            self.originalFighters = fit.projectedFighters\r\n            self.fighters = fit.projectedFighters[:]\r\n\r\n            self.fits.sort(key=self.fitSort)\r\n            self.modules.sort(key=self.moduleSort)\r\n            self.drones.sort(key=self.droneSort)\r\n            self.fighters.sort(key=self.fighterSort)\r\n\r\n            stuff.extend(self.fits)\r\n            stuff.extend(self.modules)\r\n            stuff.extend(self.drones)\r\n            stuff.extend(self.fighters)\r\n        if not stuff:\r\n            stuff = [DummyEntry(_t('Drag an item or fit, or use right-click menu for wormhole effects'))]\r\n        self.update(stuff)\r\n\r\n    def get(self, row):\r\n        if row == -1:\r\n            return None\r\n\r\n        numFits = len(self.fits)\r\n        numMods = len(self.modules)\r\n        numDrones = len(self.drones)\r\n        numFighters = len(self.fighters)\r\n\r\n        if (numFits + numMods + numDrones + numFighters) == 0:\r\n            return None\r\n\r\n        if row < numFits:\r\n            fit = self.fits[row]\r\n            if fit in self.originalFits:\r\n                return fit\r\n        elif row - numFits < numMods:\r\n            mod = self.modules[row - numFits]\r\n            if mod in self.originalModules:\r\n                return mod\r\n        elif row - numFits - numMods < numDrones:\r\n            drone = self.drones[row - numFits - numMods]\r\n            if drone in self.originalDrones:\r\n                return drone\r\n        else:\r\n            fighter = self.fighters[row - numFits - numMods - numDrones]\r\n            if fighter in self.originalFighters:\r\n                return fighter\r\n        return None\r\n\r\n    def click(self, event):\r\n        mainRow, _ = self.HitTest(event.Position)\r\n        if mainRow != -1:\r\n            col = self.getColumn(event.Position)\r\n            if col == self.getColIndex(State):\r\n                mainItem = self.get(mainRow)\r\n                if mainItem is None:\r\n                    return\r\n                selection = self.getSelectedProjectors()\r\n                if mainItem not in selection:\r\n                    selection = [mainItem]\r\n                modPressed = event.GetModifiers() == wx.MOD_ALT\r\n                fitID = self.mainFrame.getActiveFit()\r\n                if isinstance(mainItem, EosModule) and modPressed:\r\n                    fit = Fit.getInstance().getFit(fitID)\r\n                    positions = getSimilarModPositions(fit.projectedModules, mainItem)\r\n                    selection = [fit.projectedModules[p] for p in positions]\r\n                elif isinstance(mainItem, EosFighter) and modPressed:\r\n                    fit = Fit.getInstance().getFit(fitID)\r\n                    selection = getSimilarFighters(fit.projectedFighters, mainItem)\r\n                self.mainFrame.command.Submit(cmd.GuiChangeProjectedItemStatesCommand(\r\n                    fitID=fitID,\r\n                    mainItem=mainItem,\r\n                    items=selection,\r\n                    click='right' if event.GetButton() == 3 else 'left'))\r\n                return\r\n        event.Skip()\r\n\r\n    def spawnMenu(self, event):\r\n        clickedPos = self.getRowByAbs(event.Position)\r\n        self.ensureSelection(clickedPos)\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is None:\r\n            return\r\n\r\n        if self.getColumn(self.screenToClientFixed(event.Position)) == self.getColIndex(State):\r\n            return\r\n\r\n        mainItem = self.get(clickedPos)\r\n\r\n        contexts = []\r\n        if mainItem is not None:\r\n            sMkt = Market.getInstance()\r\n\r\n            if isinstance(mainItem, EosModule):\r\n                modSrcContext = 'projectedModule'\r\n                modItemContext = _t('Projected Item')\r\n                modFullContext = (modSrcContext, modItemContext)\r\n                contexts.append(modFullContext)\r\n                if mainItem.charge is not None:\r\n                    chargeSrcContext = 'projectedCharge'\r\n                    chargeItemContext = sMkt.getCategoryByItem(mainItem.charge).displayName\r\n                    chargeFullContext = (chargeSrcContext, chargeItemContext)\r\n                    contexts.append(chargeFullContext)\r\n            elif isinstance(mainItem, EosDrone):\r\n                srcContext = 'projectedDrone'\r\n                itemContext = _t('Projected Item')\r\n                droneFullContext = (srcContext, itemContext)\r\n                contexts.append(droneFullContext)\r\n            elif isinstance(mainItem, EosFighter):\r\n                srcContext = 'projectedFighter'\r\n                itemContext = _t('Projected Item')\r\n                fighterFullContext = (srcContext, itemContext)\r\n                contexts.append(fighterFullContext)\r\n            else:\r\n                fitSrcContext = 'projectedFit'\r\n                fitItemContext = _t('Projected Item')\r\n                fitFullContext = (fitSrcContext, fitItemContext)\r\n                contexts.append(fitFullContext)\r\n        contexts.append(('projected',))\r\n\r\n        selection = self.getSelectedProjectors()\r\n        menu = ContextMenu.getMenu(self, mainItem, selection, *contexts)\r\n        if menu is not None:\r\n            self.PopupMenu(menu)\r\n\r\n    def onLeftDoubleClick(self, event):\r\n        row, _ = self.HitTest(event.Position)\r\n        if row != -1:\r\n            col = self.getColumn(event.Position)\r\n            if col != self.getColIndex(State):\r\n                mainItem = self.get(row)\r\n                if mainItem is None:\r\n                    return\r\n                fitID = self.mainFrame.getActiveFit()\r\n                modPressed = event.GetModifiers() == wx.MOD_ALT\r\n                if isinstance(mainItem, EosFit):\r\n                    self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(\r\n                        fitID=fitID, items=[mainItem], amount=math.inf if modPressed else 1))\r\n                elif isinstance(mainItem, EosModule):\r\n                    if modPressed:\r\n                        fit = Fit.getInstance().getFit(fitID)\r\n                        positions = getSimilarModPositions(fit.projectedModules, mainItem)\r\n                        items = [fit.projectedModules[p] for p in positions]\r\n                    else:\r\n                        items = [mainItem]\r\n                    self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(\r\n                        fitID=fitID, items=items, amount=1))\r\n                elif isinstance(mainItem, EosDrone):\r\n                    self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(\r\n                        fitID=fitID, items=[mainItem], amount=math.inf if modPressed else 1))\r\n                elif isinstance(mainItem, EosFighter):\r\n                    if modPressed:\r\n                        fit = Fit.getInstance().getFit(fitID)\r\n                        items = getSimilarFighters(fit.projectedFighters, mainItem)\r\n                    else:\r\n                        items = [mainItem]\r\n                    self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(\r\n                        fitID=fitID, items=items, amount=1))\r\n                else:\r\n                    self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(\r\n                        fitID=fitID, items=[mainItem], amount=math.inf if modPressed else 1))\r\n\r\n    def getSelectedProjectors(self):\r\n        projectors = []\r\n        for row in self.getSelectedRows():\r\n            projector = self.get(row)\r\n            if projector is None:\r\n                continue\r\n            projectors.append(projector)\r\n        return projectors\r\n\r\n    # Context menu handlers\r\n    def addFit(self, fit):\r\n        if fit is None:\r\n            return\r\n        self.mainFrame.command.Submit(cmd.GuiAddProjectedFitsCommand(\r\n            fitID=self.mainFrame.getActiveFit(),\r\n            projectedFitIDs=[fit.ID],\r\n            amount=1))\r\n\r\n    def getExistingFitIDs(self):\r\n        return [f.ID for f in self.fits]\r\n\r\n    def addFitsByIDs(self, fitIDs):\r\n        if not fitIDs:\r\n            return\r\n        self.mainFrame.command.Submit(cmd.GuiAddProjectedFitsCommand(\r\n            fitID=self.mainFrame.getActiveFit(),\r\n            projectedFitIDs=fitIDs,\r\n            amount=1))\r\n\r\n    def getTabExtraText(self):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is None:\r\n            return None\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(fitID)\r\n        if fit is None:\r\n            return None\r\n        opt = sFit.serviceFittingOptions[\"additionsLabels\"]\r\n        # Amount of active projected items\r\n        if opt == 1:\r\n            amount = 0\r\n            for projectedFit in fit.projectedFits:\r\n                info = projectedFit.getProjectionInfo(fitID)\r\n                if info is not None and info.active:\r\n                    amount += 1\r\n            amount += len([m for m in fit.projectedModules if m.state > FittingModuleState.OFFLINE])\r\n            amount += len([d for d in fit.projectedDrones if d.amountActive > 0])\r\n            amount += len([f for f in fit.projectedFighters if f.active])\r\n            return ' ({})'.format(amount) if amount else None\r\n        # Total amount of projected items\r\n        elif opt == 2:\r\n            amount = 0\r\n            amount += len(fit.projectedFits)\r\n            amount += len(fit.projectedModules)\r\n            amount += len(fit.projectedDrones)\r\n            amount += len(fit.projectedFighters)\r\n            return ' ({})'.format(amount) if amount else None\r\n        else:\r\n            return None\r\n"
  },
  {
    "path": "gui/builtinContextMenus/__init__.py",
    "content": "# Various command and projected-related items which we want to have first,\r\n# before generic commands\r\nfrom gui.builtinContextMenus import fitOpenNewTab\r\nfrom gui.builtinContextMenus import fitAddBrowse\r\nfrom gui.builtinContextMenus import fitAddCurrentlyOpen\r\nfrom gui.builtinContextMenus import envEffectAdd\r\nfrom gui.builtinContextMenus import commandFitAdd\r\nfrom gui.builtinContextMenus.targetProfile import adder\r\nfrom gui.builtinContextMenus import graphFitAmmoPicker\r\n# Often-used item manipulations\r\nfrom gui.builtinContextMenus import shipModeChange\r\nfrom gui.builtinContextMenus import moduleAmmoChange\r\nfrom gui.builtinContextMenus import moduleSpool\r\nfrom gui.builtinContextMenus import moduleRahPattern\r\nfrom gui.builtinContextMenus import boosterSideEffects\r\nfrom gui.builtinContextMenus import fighterAbilities\r\nfrom gui.builtinContextMenus import resistMode\r\nfrom gui.builtinContextMenus.targetProfile import editor\r\n# Item info\r\nfrom gui.builtinContextMenus import itemStats\r\nfrom gui.builtinContextMenus import itemMarketJump\r\nfrom gui.builtinContextMenus import fitSystemSecurity  # Not really an item info but want to keep it here\r\nfrom gui.builtinContextMenus import fitPilotSecurity  # Not really an item info but want to keep it here\r\nfrom gui.builtinContextMenus import shipJump\r\n# Generic item manipulations\r\nfrom gui.builtinContextMenus import itemRemove\r\nfrom gui.builtinContextMenus import itemAmountChange\r\nfrom gui.builtinContextMenus import itemProjectionRange\r\nfrom gui.builtinContextMenus import droneSplitStack\r\nfrom gui.builtinContextMenus import itemVariationChange\r\nfrom gui.builtinContextMenus import itemMutations\r\nfrom gui.builtinContextMenus import moduleFill\r\nfrom gui.builtinContextMenus import moduleMutatedExport\r\nfrom gui.builtinContextMenus import skillAffectors\r\n# Market stuff\r\nfrom gui.builtinContextMenus import itemFill\r\nfrom gui.builtinContextMenus import droneAddStack\r\nfrom gui.builtinContextMenus import cargoAdd\r\nfrom gui.builtinContextMenus import cargoFill\r\nfrom gui.builtinContextMenus import cargoAddAmmo\r\nfrom gui.builtinContextMenus import itemProject\r\nfrom gui.builtinContextMenus import ammoToDmgPattern\r\nfrom gui.builtinContextMenus import implantSetApply\r\nfrom gui.builtinContextMenus import implantSetSave\r\n# Price\r\nfrom gui.builtinContextMenus import priceOptions\r\n# Resistance panel\r\nfrom gui.builtinContextMenus import damagePatternChange\r\n# Firepower panel\r\nfrom gui.builtinContextMenus import factorReload\r\nfrom gui.builtinContextMenus.targetProfile import switcher\r\n# Graph extra options\r\nfrom gui.builtinContextMenus import graphDmgApplyProjected\r\nfrom gui.builtinContextMenus import graphDmgIgnoreResists\r\nfrom gui.builtinContextMenus import graphLockRange\r\nfrom gui.builtinContextMenus import graphDroneControlRange\r\nfrom gui.builtinContextMenus import graphDmgDroneMode\r\n# Additions panel menus\r\nfrom gui.builtinContextMenus import additionsExportSelection\r\nfrom gui.builtinContextMenus import additionsExportAll\r\nfrom gui.builtinContextMenus import additionsImport\r\n"
  },
  {
    "path": "gui/builtinContextMenus/additionsExportAll.py",
    "content": "import wx\r\n\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom gui.utils.clipboard import toClipboard\r\nfrom service.fit import Fit\r\nfrom service.port.eft import exportBoosters, exportCargo, exportDrones, exportFighters, exportImplants\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass AdditionsExportAll(ContextMenuUnconditional):\r\n    visibilitySetting = 'additionsCopyPaste'\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.viewSpecMap = {\r\n            'droneItemMisc': (_t('Drones'), lambda cw: cw.drones, exportDrones),\r\n            'fighterItemMisc': (_t('Fighters'), lambda cw: cw.fighters, exportFighters),\r\n            'cargoItemMisc': (_t('Cargo Items'), lambda cw: cw.cargo, exportCargo),\r\n            'implantItemMisc': (_t('Implants'), lambda cw: cw.implants, exportImplants),\r\n            'implantItemMiscChar': (_t('Implants'), lambda cw: cw.implants, exportImplants),\r\n            'boosterItemMisc': (_t('Boosters'), lambda cw: cw.boosters, exportBoosters)\r\n        }\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        if srcContext not in self.viewSpecMap:\r\n            return False\r\n        fit = Fit.getInstance().getFit(self.mainFrame.getActiveFit())\r\n        if fit is None:\r\n            return False\r\n        if not self.viewSpecMap[srcContext][1](callingWindow):\r\n            return False\r\n\r\n        self.srcContext = srcContext\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Copy All {}').format(self.viewSpecMap[self.srcContext][0])\r\n\r\n    def activate(self, callingWindow, fullContext, i):\r\n        items = self.viewSpecMap[self.srcContext][1](callingWindow)\r\n        export = self.viewSpecMap[self.srcContext][2](items)\r\n        if export:\r\n            toClipboard(export)\r\n\r\n\r\nAdditionsExportAll.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/additionsExportSelection.py",
    "content": "import wx\r\n\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSelection\r\nfrom gui.utils.clipboard import toClipboard\r\nfrom service.fit import Fit\r\nfrom service.port.eft import exportBoosters, exportCargo, exportDrones, exportFighters, exportImplants\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass AdditionsExportAll(ContextMenuSelection):\r\n    visibilitySetting = 'additionsCopyPaste'\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.viewSpecMap = {\r\n            'droneItemMisc': (_t('Drones'), exportDrones),\r\n            'fighterItemMisc': (_t('Fighters'), exportFighters),\r\n            'cargoItemMisc': (_t('Cargo Items'), exportCargo),\r\n            'implantItemMisc': (_t('Implants'), exportImplants),\r\n            'implantItemMiscChar': (_t('Implants'), exportImplants),\r\n            'boosterItemMisc': (_t('Boosters'), exportBoosters)\r\n        }\r\n\r\n    def display(self, callingWindow, srcContext, selection):\r\n        if srcContext not in self.viewSpecMap:\r\n            return False\r\n        if not selection:\r\n            return False\r\n        fit = Fit.getInstance().getFit(self.mainFrame.getActiveFit())\r\n        if fit is None:\r\n            return False\r\n\r\n        self.srcContext = srcContext\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, selection):\r\n        return _t('Copy Selected {}').format(self.viewSpecMap[self.srcContext][0])\r\n\r\n    def activate(self, callingWindow, fullContext, selection, i):\r\n        export = self.viewSpecMap[self.srcContext][1](selection)\r\n        if export:\r\n            toClipboard(export)\r\n\r\n\r\nAdditionsExportAll.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/additionsImport.py",
    "content": "import wx\r\n\r\nimport gui.mainFrame\r\nfrom gui import fitCommands as cmd\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom gui.utils.clipboard import fromClipboard\r\nfrom service.fit import Fit\r\nfrom service.port.eft import parseAdditions, importGetMutationData, lineIter\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass AdditionsImport(ContextMenuUnconditional):\r\n    visibilitySetting = 'additionsCopyPaste'\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.viewSpecMap = {\r\n            'droneItemMisc': (_t('Drones'), lambda i: i.isDrone, cmd.GuiImportLocalDronesCommand),\r\n            'fighterItemMisc': (_t('Fighters'), lambda i: i.isFighter, cmd.GuiImportLocalFightersCommand),\r\n            'cargoItemMisc': (_t('Cargo Items'), lambda i: not i.isAbyssal, cmd.GuiImportCargosCommand),\r\n            'implantItemMisc': (_t('Implants'), lambda i: i.isImplant, cmd.GuiImportImplantsCommand),\r\n            'implantItemMiscChar': (_t('Implants'), lambda i: i.isImplant, cmd.GuiImportImplantsCommand),\r\n            'boosterItemMisc': (_t('Boosters'), lambda i: i.isBooster, cmd.GuiImportBoostersCommand)\r\n        }\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        if srcContext not in self.viewSpecMap:\r\n            return False\r\n        fit = Fit.getInstance().getFit(self.mainFrame.getActiveFit())\r\n        if fit is None:\r\n            return False\r\n        if not fromClipboard():\r\n            return False\r\n\r\n        self.srcContext = srcContext\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Paste {}').format(self.viewSpecMap[self.srcContext][0])\r\n\r\n    def activate(self, callingWindow, fullContext, i):\r\n        text = fromClipboard()\r\n        lines = list(lineIter(text))\r\n        mutaData = importGetMutationData(lines)\r\n        text = '\\n'.join(lines)\r\n        items = parseAdditions(text, mutaData=mutaData)\r\n        filterFunc = self.viewSpecMap[self.srcContext][1]\r\n        items = [(i.ID, a, m) for i, a, m in items if filterFunc(i)]\r\n        if not items:\r\n            return\r\n        command = self.viewSpecMap[self.srcContext][2]\r\n        self.mainFrame.command.Submit(command(self.mainFrame.getActiveFit(), items))\r\n\r\n\r\nAdditionsImport.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/ammoToDmgPattern.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass AmmoToDmgPattern(ContextMenuSingle):\r\n    visibilitySetting = 'ammoPattern'\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext not in (\"marketItemGroup\", \"marketItemMisc\") or self.mainFrame.getActiveFit() is None:\r\n            return False\r\n\r\n        if mainItem is None:\r\n            return False\r\n\r\n        for attr in (\"emDamage\", \"thermalDamage\", \"explosiveDamage\", \"kineticDamage\"):\r\n            if mainItem.getAttribute(attr) is not None:\r\n                return True\r\n\r\n        return False\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"Set {} as Damage Pattern\").format(itmContext if itmContext is not None else _t(\"Item\"))\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        Fit.getInstance().setAsPattern(fitID, mainItem)\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n    def getBitmap(self, callingWindow, context, mainItem):\r\n        return None\r\n\r\n\r\nAmmoToDmgPattern.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/boosterSideEffects.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom gui import fitCommands as cmd\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass BoosterSideEffects(ContextMenuSingle):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if self.mainFrame.getActiveFit() is None or srcContext not in \"boosterItem\":\r\n            return False\r\n\r\n        if mainItem is None:\r\n            return False\r\n\r\n        self.booster = mainItem\r\n\r\n        for effect in self.booster.sideEffects:\r\n            if effect.effect.isImplemented:\r\n                return True\r\n\r\n        return False\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"Side Effects\")\r\n\r\n    def addEffect(self, menu, ability):\r\n        label = ability.name\r\n        id = ContextMenuSingle.nextID()\r\n        self.effectIds[id] = ability\r\n\r\n        menuItem = wx.MenuItem(menu, id, label, kind=wx.ITEM_CHECK)\r\n        menu.Bind(wx.EVT_MENU, self.handleMode, menuItem)\r\n        return menuItem\r\n\r\n    def getSubMenu(self, callingWindow, context, mainItem, rootMenu, i, pitem):\r\n        msw = True if \"wxMSW\" in wx.PlatformInfo else False\r\n        self.context = context\r\n        self.effectIds = {}\r\n\r\n        sub = wx.Menu()\r\n\r\n        for effect in self.booster.sideEffects:\r\n            if not effect.effect.isImplemented:\r\n                continue\r\n            menuItem = self.addEffect(rootMenu if msw else sub, effect)\r\n            sub.Append(menuItem)\r\n            menuItem.Check(effect.active)\r\n\r\n        return sub\r\n\r\n    def handleMode(self, event):\r\n        effect = self.effectIds[event.Id]\r\n        booster = self.booster\r\n        if effect is False or effect not in booster.sideEffects:\r\n            event.Skip()\r\n            return\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if booster in fit.boosters:\r\n            index = fit.boosters.index(booster)\r\n            self.mainFrame.command.Submit(cmd.GuiToggleBoosterSideEffectStateCommand(\r\n                    fitID=fitID, position=index, effectID=effect.effectID))\r\n\r\n\r\nBoosterSideEffects.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/cargoAdd.py",
    "content": "import wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass AddToCargo(ContextMenuSingle):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext not in (\"marketItemGroup\", \"marketItemMisc\"):\r\n            return False\r\n\r\n        if mainItem is None:\r\n            return False\r\n\r\n        sFit = Fit.getInstance()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = sFit.getFit(fitID)\r\n\r\n        if not fit or (fit.isStructure and mainItem.category.ID != 8):\r\n            return False\r\n\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"Add {} to Cargo\").format(itmContext)\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        typeID = int(mainItem.ID)\r\n        command = cmd.GuiAddCargoCommand(fitID=fitID, itemID=typeID, amount=1)\r\n        if self.mainFrame.command.Submit(command):\r\n            self.mainFrame.additionsPane.select(\"Cargo\", focus=False)\r\n\r\n\r\nAddToCargo.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/cargoAddAmmo.py",
    "content": "import wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass AddToCargoAmmo(ContextMenuSingle):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext not in (\"marketItemGroup\", \"marketItemMisc\") or self.mainFrame.getActiveFit() is None:\r\n            return False\r\n\r\n        if mainItem is None:\r\n            return False\r\n\r\n        if mainItem.category.ID != 8:\r\n            return False\r\n\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        if mainItem.marketGroup and mainItem.marketGroup.name == \"Scan Probes\":\r\n            return _t(\"Add {0} to Cargo (x8)\").format(itmContext)\r\n            \r\n        return _t(\"Add {0} to Cargo (x1000)\").format(itmContext)\r\n        \r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        typeID = int(mainItem.ID)\r\n\r\n        if mainItem.marketGroup and mainItem.marketGroup.name == \"Scan Probes\":\r\n            command = cmd.GuiAddCargoCommand(fitID=fitID, itemID=typeID, amount=8)\r\n        else:\r\n            command = cmd.GuiAddCargoCommand(fitID=fitID, itemID=typeID, amount=1000)\r\n        \r\n        if self.mainFrame.command.Submit(command):\r\n            self.mainFrame.additionsPane.select(\"Cargo\", focus=False)\r\n\r\n\r\nAddToCargoAmmo.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/cargoFill.py",
    "content": "import wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom service.fit import Fit\r\nfrom eos.saveddata.cargo import Cargo\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FillCargoWithItem(ContextMenuSingle):\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext not in (\"marketItemGroup\", \"marketItemMisc\", \"cargoItem\"):\r\n            return False\r\n\r\n        if mainItem is None:\r\n            return False\r\n\r\n        if self.mainFrame.getActiveFit() is None:\r\n            return False\r\n\r\n        if srcContext in (\"marketItemGroup\", \"marketItemMisc\"):\r\n            if not (mainItem.isCharge or mainItem.isCommodity):\r\n                return False\r\n\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"Fill Cargo With {0}\").format(itmContext)\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        \r\n        if isinstance(mainItem, Cargo):\r\n            itemVolume = mainItem.item.attributes['volume'].value\r\n            itemID = mainItem.itemID\r\n        else:\r\n            itemVolume = mainItem.attributes['volume'].value\r\n            itemID = int(mainItem.ID)\r\n            \r\n        if itemVolume is None or itemVolume <= 0:\r\n            return\r\n            \r\n        # Calculate how many items can fit in the cargo\r\n        cargoCapacity = fit.ship.getModifiedItemAttr(\"capacity\")\r\n        currentCargoVolume = fit.cargoBayUsed\r\n        availableVolume = cargoCapacity - currentCargoVolume\r\n        \r\n        if availableVolume <= 0:\r\n            return\r\n            \r\n        # Calculate maximum amount that can fit\r\n        maxAmount = int(availableVolume / itemVolume)\r\n        if maxAmount <= 0:\r\n            return\r\n            \r\n        # Add the items to cargo\r\n        command = cmd.GuiAddCargoCommand(fitID=fitID, itemID=itemID, amount=maxAmount)\r\n        if self.mainFrame.command.Submit(command):\r\n            self.mainFrame.additionsPane.select(\"Cargo\", focus=False)\r\n\r\n\r\nFillCargoWithItem.register() "
  },
  {
    "path": "gui/builtinContextMenus/commandFitAdd.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass AddCommandFit(ContextMenuUnconditional):\r\n    # Get list of items that define a command fit\r\n    sMkt = Market.getInstance()\r\n    grp = sMkt.getGroup(1770)  # Command burst group\r\n    commandTypeIDs = {item.ID for item in grp.items}\r\n    commandFits = []\r\n    menu = None\r\n\r\n    @classmethod\r\n    def fitChanged(cls, evt):\r\n        # This fires on a FitChanged event and updates the command fits whenever a command burst module is added or\r\n        # removed from a fit. evt.typeID can be either a int or a set (in the case of multiple module deletions)\r\n        if evt is None or (getattr(evt, 'action', None) in (\"modadd\", \"moddel\") and getattr(evt, 'typeID', None)):\r\n            if evt is not None:\r\n                ids = getattr(evt, 'typeID')\r\n                if not isinstance(ids, set):\r\n                    ids = {ids}\r\n\r\n            if evt is None or not ids.isdisjoint(cls.commandTypeIDs):\r\n                # we are adding or removing an item that defines a command fit. Need to refresh fit list\r\n                cls.populateFits(evt)\r\n        evt.Skip()\r\n\r\n    @classmethod\r\n    def populateFits(cls, evt):\r\n        sFit = Fit.getInstance()\r\n        cls.commandFits = sFit.getFitsWithModules(cls.commandTypeIDs)\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        if self.mainFrame.getActiveFit() is None or len(self.__class__.commandFits) == 0 or srcContext != \"commandView\":\r\n            return False\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t(\"Command Fits\")\r\n\r\n    def addFit(self, menu, fit, includeShip=False):\r\n        label = fit.name if not includeShip else \"({}) {}\".format(fit.ship.item.name, fit.name)\r\n        if not label:\r\n            label = ' '\r\n        id = ContextMenuUnconditional.nextID()\r\n        self.fitMenuItemIds[id] = fit\r\n        menuItem = wx.MenuItem(menu, id, label)\r\n        menu.Bind(wx.EVT_MENU, self.handleSelection, menuItem)\r\n        return menuItem\r\n\r\n    def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):\r\n        msw = True if \"wxMSW\" in wx.PlatformInfo else False\r\n        self.context = context\r\n        self.fitMenuItemIds = {}\r\n\r\n        sub = wx.Menu()\r\n\r\n        if len(self.__class__.commandFits) < 15:\r\n            for fit in sorted(self.__class__.commandFits, key=lambda x: x.name):\r\n                menuItem = self.addFit(rootMenu if msw else sub, fit, True)\r\n                sub.Append(menuItem)\r\n        else:\r\n            typeDict = {}\r\n\r\n            for fit in self.__class__.commandFits:\r\n                shipName = fit.ship.item.name\r\n                if shipName not in typeDict:\r\n                    typeDict[shipName] = []\r\n                typeDict[shipName].append(fit)\r\n\r\n            for ship in sorted(typeDict.keys()):\r\n                shipItem = wx.MenuItem(sub, ContextMenuUnconditional.nextID(), ship)\r\n                grandSub = wx.Menu()\r\n                shipItem.SetSubMenu(grandSub)\r\n\r\n                for fit in sorted(typeDict[ship], key=lambda x: x.name):\r\n                    fitItem = self.addFit(rootMenu if msw else grandSub, fit, False)\r\n                    grandSub.Append(fitItem)\r\n\r\n                sub.Append(shipItem)\r\n\r\n        return sub\r\n\r\n    def handleSelection(self, event):\r\n        fit = self.fitMenuItemIds[event.Id]\r\n        if fit is False or fit not in self.__class__.commandFits:\r\n            event.Skip()\r\n            return\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        self.mainFrame.command.Submit(cmd.GuiAddCommandFitsCommand(fitID=fitID, commandFitIDs=[fit.ID]))\r\n\r\n\r\nAddCommandFit.populateFits(None)\r\nAddCommandFit.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/damagePatternChange.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.builtinContextMenus.shared.patterns import DamagePatternMixin\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ChangeDamagePattern(ContextMenuUnconditional, DamagePatternMixin):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        return srcContext == \"resistancesViewFull\"\r\n\r\n    @property\r\n    def enabled(self):\r\n        return self.mainFrame.getActiveFit() is not None\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        sFit = Fit.getInstance()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        self.fit = sFit.getFit(fitID)\r\n        self.patternEventMap = {}\r\n        self.patterns = self._getPatterns()\r\n        self.items = self._getItems(self.patterns)\r\n        return list(self.items[0].keys()) + list(self.items[1].keys())\r\n\r\n    def _addPattern(self, parentMenu, pattern, name):\r\n        id = ContextMenuUnconditional.nextID()\r\n        self.patternEventMap[id] = pattern\r\n        menuItem = wx.MenuItem(parentMenu, id, name, kind=wx.ITEM_CHECK)\r\n        parentMenu.Bind(wx.EVT_MENU, self.handlePatternSwitch, menuItem)\r\n\r\n        # determine active pattern\r\n        sFit = Fit.getInstance()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = sFit.getFit(fitID)\r\n        checked = fit.damagePattern is pattern if fit else False\r\n        return menuItem, checked\r\n\r\n    def _addCategory(self, parentMenu, name):\r\n        id = ContextMenuUnconditional.nextID()\r\n        menuItem = wx.MenuItem(parentMenu, id, name)\r\n        parentMenu.Bind(wx.EVT_MENU, self.handlePatternSwitch, menuItem)\r\n        return menuItem\r\n\r\n    def isChecked(self, i):\r\n        try:\r\n            patternName = list(self.items[0].keys())[i]\r\n        except IndexError:\r\n            return super().isChecked(i)\r\n        pattern = self.items[0][patternName]\r\n        if self.fit and pattern is self.fit.damagePattern:\r\n            return True\r\n        return False\r\n\r\n    def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):\r\n\r\n        # Pattern as menu item\r\n        if i < len(self.items[0]):\r\n            id = pitem.GetId()\r\n            self.patternEventMap[id] = list(self.items[0].values())[i]\r\n            rootMenu.Bind(wx.EVT_MENU, self.handlePatternSwitch, pitem)\r\n            return False\r\n\r\n        # Category as menu item - expands further\r\n        msw = \"wxMSW\" in wx.PlatformInfo\r\n\r\n        def makeMenu(container, parentMenu):\r\n            menu = wx.Menu()\r\n            for name, subcontainer in container[1].items():\r\n                menuItem = self._addCategory(rootMenu if msw else parentMenu, name)\r\n                subMenu = makeMenu(subcontainer, menu)\r\n                menuItem.SetSubMenu(subMenu)\r\n                menu.Append(menuItem)\r\n            for name, pattern in container[0].items():\r\n                menuItem, checked = self._addPattern(rootMenu if msw else parentMenu, pattern, name)\r\n                menu.Append(menuItem)\r\n                menuItem.Check(checked)\r\n            menu.Bind(wx.EVT_MENU, self.handlePatternSwitch)\r\n            return menu\r\n\r\n        container = list(self.items[1].values())[i - len(self.items[0])]\r\n        subMenu = makeMenu(container, rootMenu)\r\n        return subMenu\r\n\r\n    def handlePatternSwitch(self, event):\r\n        pattern = self.patternEventMap.get(event.Id, False)\r\n        if pattern is False:\r\n            event.Skip()\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        sFit.setDamagePattern(fitID, pattern)\r\n        setattr(self.mainFrame, \"_activeDmgPattern\", pattern)\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n\r\nChangeDamagePattern.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/droneAddStack.py",
    "content": "import wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom gui.fitCommands.helpers import droneStackLimit\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass DroneAddStack(ContextMenuSingle):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext not in ('marketItemGroup', 'marketItemMisc'):\r\n            return False\r\n\r\n        if self.mainFrame.getActiveFit() is None:\r\n            return False\r\n\r\n        if mainItem is None:\r\n            return False\r\n\r\n        if mainItem.category.name != 'Drone':\r\n            return False\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        amount = droneStackLimit(fit, mainItem)\r\n        if amount < 1:\r\n            return False\r\n\r\n        self.amount = amount\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t('Add {} to Drone Bay{}').format(\r\n                itmContext, '' if self.amount == 1 else ' (x{})'.format(self.amount))\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        command = cmd.GuiAddLocalDroneCommand(\r\n                fitID=self.mainFrame.getActiveFit(),\r\n                itemID=int(mainItem.ID),\r\n                amount=self.amount)\r\n        if self.mainFrame.command.Submit(command):\r\n            self.mainFrame.additionsPane.select('Drones', focus=False)\r\n\r\n\r\nDroneAddStack.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/droneSplitStack.py",
    "content": "import re\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass DroneSplitStack(ContextMenuSingle):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext != \"droneItem\":\r\n            return False\r\n\r\n        if mainItem is None:\r\n            return False\r\n\r\n        return mainItem.amount > 1\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"Split {} Stack\").format(itmContext)\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        with DroneStackSplit(self.mainFrame, mainItem.amount) as dlg:\r\n\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n\r\n                if dlg.input.GetLineText(0).strip() == '':\r\n                    return\r\n\r\n                fitID = self.mainFrame.getActiveFit()\r\n                fit = Fit.getInstance().getFit(fitID)\r\n                cleanInput = re.sub(r'[^0-9.]', '', dlg.input.GetLineText(0).strip())\r\n\r\n                if mainItem in fit.drones:\r\n                    position = fit.drones.index(mainItem)\r\n                    self.mainFrame.command.Submit(cmd.GuiSplitLocalDroneStackCommand(\r\n                            fitID=fitID, position=position, amount=int(cleanInput)))\r\n\r\n\r\nDroneSplitStack.register()\r\n\r\n\r\nclass DroneStackSplit(wx.Dialog):\r\n\r\n    def __init__(self, parent, value):\r\n        super().__init__(parent, title=\"Split Drone Stack\", style=wx.DEFAULT_DIALOG_STYLE)\r\n        self.SetMinSize((346, 156))\r\n\r\n        bSizer1 = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        bSizer2 = wx.BoxSizer(wx.VERTICAL)\r\n        text = wx.StaticText(self, wx.ID_ANY, \"New Amount:\")\r\n        bSizer2.Add(text, 0)\r\n\r\n        bSizer1.Add(bSizer2, 0, wx.ALL, 10)\r\n\r\n        self.input = wx.TextCtrl(self, wx.ID_ANY, style=wx.TE_PROCESS_ENTER)\r\n        self.input.SetValue(str(value))\r\n\r\n        bSizer1.Add(self.input, 0, wx.LEFT | wx.RIGHT | wx.EXPAND, 15)\r\n\r\n        bSizer3 = wx.BoxSizer(wx.VERTICAL)\r\n        bSizer3.Add(wx.StaticLine(self, wx.ID_ANY), 0, wx.BOTTOM | wx.EXPAND, 15)\r\n\r\n        bSizer3.Add(self.CreateStdDialogButtonSizer(wx.OK | wx.CANCEL), 0, wx.EXPAND)\r\n        bSizer1.Add(bSizer3, 0, wx.ALL | wx.EXPAND, 10)\r\n\r\n        self.input.Bind(wx.EVT_CHAR, self.onChar)\r\n        self.input.Bind(wx.EVT_TEXT_ENTER, self.processEnter)\r\n        self.SetSizer(bSizer1)\r\n        self.Fit()\r\n        self.CenterOnParent()\r\n        self.input.SetFocus()\r\n        self.input.SelectAll()\r\n\r\n    def processEnter(self, evt):\r\n        self.EndModal(wx.ID_OK)\r\n\r\n    # checks to make sure it's valid number\r\n    @staticmethod\r\n    def onChar(event):\r\n        key = event.GetKeyCode()\r\n\r\n        acceptable_characters = \"1234567890\"\r\n        acceptable_keycode = [3, 22, 13, 8, 127]  # modifiers like delete, copy, paste\r\n        if key in acceptable_keycode or key >= 255 or (key < 255 and chr(key) in acceptable_characters):\r\n            event.Skip()\r\n            return\r\n        else:\r\n            return False\r\n"
  },
  {
    "path": "gui/builtinContextMenus/envEffectAdd.py",
    "content": "import re\r\nfrom collections import OrderedDict\r\nfrom itertools import chain\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.market import Market\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass Group:\r\n\r\n    def __init__(self):\r\n        self.groups = OrderedDict()\r\n        self.items = []\r\n\r\n    def sort(self):\r\n        self.groups = OrderedDict((k, self.groups[k]) for k in sorted(self.groups))\r\n        for group in self.groups.values():\r\n            group.sort()\r\n        self.items.sort(key=lambda e: e.shortName)\r\n\r\n\r\nclass Entry:\r\n\r\n    def __init__(self, itemID, name, shortName):\r\n        self.itemID = itemID\r\n        self.name = name\r\n        self.shortName = shortName\r\n\r\n\r\nclass AddEnvironmentEffect(ContextMenuUnconditional):\r\n    # CCP doesn't currently provide a mapping between the general Environment, and the specific environment effect\r\n    # (which can be random when going into Abyssal space). This is how we currently define it:\r\n    # environment type: specific type name prefix\r\n    abyssal_mapping = {\r\n        'caustic_toxin_weather': 47862,  # Exotic Particle Storm\r\n        'darkness_weather': 47863,  # Dark Matter Field\r\n        'infernal_weather': 47864,  # Plasma Firestorm\r\n        'electric_storm_weather': 47865,  # Electrical Storm\r\n        'xenon_gas_weather': 47866,  # Gamma-Ray Afterglow\r\n    }\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        return srcContext == \"projected\"\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t(\"Add Environmental Effect\")\r\n\r\n    def _addGroup(self, parentMenu, name):\r\n        id = ContextMenuUnconditional.nextID()\r\n        menuItem = wx.MenuItem(parentMenu, id, name)\r\n        parentMenu.Bind(wx.EVT_MENU, self.handleSelection, menuItem)\r\n        return menuItem\r\n\r\n    def _addEffect(self, parentMenu, typeID, name):\r\n        id = ContextMenuUnconditional.nextID()\r\n        self.idmap[id] = typeID\r\n        menuItem = wx.MenuItem(parentMenu, id, name)\r\n        parentMenu.Bind(wx.EVT_MENU, self.handleSelection, menuItem)\r\n        return menuItem\r\n\r\n    def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):\r\n        self.idmap = {}\r\n        data = self.getData()\r\n        msw = \"wxMSW\" in wx.PlatformInfo\r\n\r\n        def makeMenu(data, parentMenu):\r\n            menu = wx.Menu()\r\n            for group_name in data.groups:\r\n                menuItem = self._addGroup(rootMenu if msw else parentMenu, group_name)\r\n                subMenu = makeMenu(data.groups[group_name], menu)\r\n                menuItem.SetSubMenu(subMenu)\r\n                menu.Append(menuItem)\r\n            for entry in data.items:\r\n                menuItem = self._addEffect(rootMenu if msw else parentMenu, entry.itemID, entry.shortName)\r\n                menu.Append(menuItem)\r\n            menu.Bind(wx.EVT_MENU, self.handleSelection)\r\n            return menu\r\n\r\n        sub = makeMenu(data, rootMenu)\r\n        return sub\r\n\r\n    def handleSelection(self, event):\r\n        # Skip events ids that aren't mapped\r\n\r\n        swObj = self.idmap.get(event.Id, False)\r\n        if not swObj:\r\n            event.Skip()\r\n            return\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        self.mainFrame.command.Submit(cmd.GuiAddProjectedModuleCommand(fitID, swObj))\r\n\r\n    def getData(self):\r\n        data = Group()\r\n        data.groups[_t('Metaliminal Storm')] = self.getEffectBeacons(\r\n            _t('ContextMenu|ProjectedEffectManipulation|Electrical'),\r\n            _t('ContextMenu|ProjectedEffectManipulation|Exotic'),\r\n            _t('ContextMenu|ProjectedEffectManipulation|Gamma'),\r\n            _t('ContextMenu|ProjectedEffectManipulation|Plasma'),\r\n            extra_garbage=(\r\n                _t('ContextMenu|ProjectedEffectManipulation|Metaliminal'),\r\n                _t('ContextMenu|ProjectedEffectManipulation|Storm'),\r\n                _t('ContextMenu|ProjectedEffectManipulation|Matter'),\r\n                _t('ContextMenu|ProjectedEffectManipulation|Ray'),\r\n                _t('ContextMenu|ProjectedEffectManipulation|Firestorm')))\r\n        data.groups[_t('Wormhole')] = self.getEffectBeacons(\r\n            _t('ContextMenu|ProjectedEffectManipulation|Black Hole'),\r\n            _t('ContextMenu|ProjectedEffectManipulation|Cataclysmic Variable'),\r\n            _t('ContextMenu|ProjectedEffectManipulation|Magnetar'),\r\n            _t('ContextMenu|ProjectedEffectManipulation|Pulsar'),\r\n            _t('ContextMenu|ProjectedEffectManipulation|Red Giant'),\r\n            _t('ContextMenu|ProjectedEffectManipulation|Wolf Rayet'))\r\n        data.groups[_t('Abyssal Weather')] = self.getAbyssalWeather()\r\n        data.groups[_t('Sansha Incursion')] = self.getEffectBeacons(\r\n            _t('ContextMenu|ProjectedEffectManipulation|Sansha Incursion'))\r\n        data.groups[_t('Drifter Incursion')] = self.getDrifterIncursion()\r\n        data.groups[_t('Triglavian Invasion')] = self.getInvasionBeacons()\r\n        data.groups[_t('Pirate Insurgency')] = self.getEffectBeacons(\r\n            _t('ContextMenu|ProjectedEffectManipulation|Insurgency'),\r\n            extra_garbage=(_t('ContextMenu|ProjectedEffectManipulation|Beacon'),))\r\n        data.groups[_t('IHub Upgrades')] = self.getIHubEffects()\r\n        return data\r\n\r\n    def getEffectBeacons(self, *groups, extra_garbage=()):\r\n        \"\"\"\r\n        Get dictionary with system-wide effects\r\n        \"\"\"\r\n        compacted = len(groups) <= 1\r\n        sMkt = Market.getInstance()\r\n\r\n        # Container for system-wide effects\r\n        data = Group()\r\n\r\n        # Stuff we don't want to see in names\r\n        garbages = [\r\n            _t('ContextMenu|ProjectedEffectManipulation|System Effects'),\r\n            _t('ContextMenu|ProjectedEffectManipulation|Effects')]\r\n        garbages.extend(extra_garbage)\r\n\r\n        # Get group with all the system-wide beacons\r\n        grp = sMkt.getGroup(\"Effect Beacon\")\r\n\r\n        # Cycle through them\r\n        for beacon in sMkt.getItemsByGroup(grp):\r\n            # Check if it belongs to any valid group\r\n            for group in groups:\r\n                # Check beginning of the name only\r\n                if re.search(group, beacon.name):\r\n                    # Get full beacon name\r\n                    beaconname = beacon.name\r\n                    for garbage in garbages:\r\n                        beaconname = re.sub(garbage, \"\", beaconname)\r\n                    beaconname = re.sub(\" {2,}\", \" \", beaconname).strip()\r\n                    # Get short name\r\n                    shortname = re.sub(group, \"\", beacon.name)\r\n                    for garbage in garbages:\r\n                        shortname = re.sub(garbage, \"\", shortname)\r\n                    shortname = re.sub(\" {2,}\", \" \", shortname).strip()\r\n                    # Get group name\r\n                    groupname = group\r\n                    for garbage in garbages:\r\n                        groupname = re.sub(garbage, \"\", groupname)\r\n                    groupname = re.sub(\" {2,}\", \" \", groupname).strip()\r\n                    # Add stuff to dictionary\r\n                    if compacted:\r\n                        container = data.items\r\n                    else:\r\n                        container = data.groups.setdefault(groupname, Group()).items\r\n                    container.append(Entry(beacon.ID, beaconname, shortname))\r\n                    # Break loop on 1st result\r\n                    break\r\n        return data\r\n\r\n    def getAbyssalWeather(self):\r\n        sMkt = Market.getInstance()\r\n        data = Group()\r\n\r\n        environments = {x.ID: x for x in sMkt.getGroup(\"Abyssal Environment\").items}\r\n        items = chain(\r\n                sMkt.getGroup(\"MassiveEnvironments\").items,\r\n                sMkt.getGroup(\"Non-Interactable Object\").items)\r\n        for beacon in items:\r\n            if not beacon.isType('projected'):\r\n                continue\r\n            type = self.__class__.abyssal_mapping.get(beacon.name[0:-2], None)\r\n            type = environments.get(type, None)\r\n            if type is None:\r\n                continue\r\n            subdata = data.groups.setdefault(type.name, Group())\r\n            display_name = \"{} {}\".format(type.name, beacon.name[-1:])\r\n            subdata.items.append(Entry(beacon.ID, display_name, display_name))\r\n        data.sort()\r\n\r\n        # Localized abyssal hazards\r\n        items = sMkt.getGroup(\"Abyssal Hazards\").items\r\n        if items:\r\n            subdata = data.groups.setdefault(_t('Localized'), Group())\r\n            for beacon in sMkt.getGroup(\"Abyssal Hazards\").items:\r\n                if not beacon.isType('projected'):\r\n                    continue\r\n                groups = (_t('Bioluminescence'), _t('Tachyon'), _t('Filament'))\r\n                for group in groups:\r\n                    if re.search(group, beacon.customName):\r\n                        key = group\r\n                        break\r\n                else:\r\n                    continue\r\n\r\n                subsubdata = subdata.groups.setdefault(key, Group())\r\n                subsubdata.items.append(Entry(beacon.ID, beacon.customName, beacon.customName))\r\n            subdata.sort()\r\n\r\n        return data\r\n\r\n    def getDrifterIncursion(self):\r\n        data = self.getEffectBeacons(_t('ContextMenu|ProjectedEffectManipulation|Drifter Incursion'))\r\n        # Drifter Crisis\r\n        item = Market.getInstance().getItem(87294)\r\n        data.items.append(Entry(item.ID, item.name, item.name))\r\n        return data\r\n\r\n    def getInvasionBeacons(self):\r\n        data = Group()\r\n        # Trig Minor Victory\r\n        item = Market.getInstance().getItem(87177)\r\n        data.items.append(Entry(item.ID, item.name, item.name))\r\n        # Trig Final Liminality\r\n        item = Market.getInstance().getItem(87164)\r\n        data.items.append(Entry(item.ID, item.name, item.name))\r\n        # Turnur weather\r\n        item = Market.getInstance().getItem(74002)\r\n        data.items.append(Entry(item.ID, item.name, item.name))\r\n        return data\r\n\r\n    def getIHubEffects(self):\r\n        data = Group()\r\n        # Electric\r\n        item = Market.getInstance().getItem(87950)\r\n        data.items.append(Entry(item.ID, item.name, _t('Electric')))\r\n        # Plasma\r\n        item = Market.getInstance().getItem(87949)\r\n        data.items.append(Entry(item.ID, item.name, _t('Plasma')))\r\n        # Exotic\r\n        item = Market.getInstance().getItem(87951)\r\n        data.items.append(Entry(item.ID, item.name, _t('Exotic')))\r\n        # Gamma\r\n        item = Market.getInstance().getItem(87815)\r\n        data.items.append(Entry(item.ID, item.name, _t('Gamma')))\r\n        return data\r\n\r\nAddEnvironmentEffect.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/factorReload.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FactorReload(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        return srcContext == \"firepowerViewFull\"\r\n\r\n    @property\r\n    def enabled(self):\r\n        return self.mainFrame.getActiveFit() is not None\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t(\"Factor in Reload Time\")\r\n\r\n    def activate(self, callingWindow, fullContext, i):\r\n        fitIDs = Fit.getInstance().toggleFactorReload()\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=tuple(fitIDs)))\r\n\r\n    def isChecked(self, i):\r\n        sFit = Fit.getInstance()\r\n        return sFit.serviceFittingOptions[\"useGlobalForceReload\"]\r\n\r\n\r\nFactorReload.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/fighterAbilities.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom gui import fitCommands as cmd\r\nfrom gui.contextMenu import ContextMenuCombined\r\nfrom gui.fitCommands.helpers import getSimilarFighters\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FighterAbilities(ContextMenuCombined):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.isProjected = None\r\n\r\n    def display(self, callingWindow, srcContext, mainItem, selection):\r\n        if self.mainFrame.getActiveFit() is None or srcContext not in (\"fighterItem\", \"projectedFighter\"):\r\n            return False\r\n\r\n        if mainItem is None:\r\n            return False\r\n\r\n        self.fighter = mainItem\r\n        self.selection = selection\r\n        self.isProjected = True if srcContext == \"projectedFighter\" else False\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem, selection):\r\n        return _t(\"Abilities\")\r\n\r\n    def addAbility(self, menu, ability):\r\n        label = ability.name\r\n        id = ContextMenuCombined.nextID()\r\n        self.abilityIds[id] = ability\r\n        menuItem = wx.MenuItem(menu, id, label, kind=wx.ITEM_CHECK)\r\n        menu.Bind(wx.EVT_MENU, self.handleMode, menuItem)\r\n        return menuItem\r\n\r\n    def getSubMenu(self, callingWindow, context, mainItem, selection, rootMenu, i, pitem):\r\n        msw = True if \"wxMSW\" in wx.PlatformInfo else False\r\n        self.context = context\r\n        self.abilityIds = {}\r\n\r\n        sub = wx.Menu()\r\n\r\n        for ability in self.fighter.abilities:\r\n            if not ability.effect.isImplemented:\r\n                continue\r\n            menuItem = self.addAbility(rootMenu if msw else sub, ability)\r\n            sub.Append(menuItem)\r\n            menuItem.Check(ability.active)\r\n\r\n        return sub\r\n\r\n    def handleMode(self, event):\r\n        ability = self.abilityIds[event.Id]\r\n        if ability is False or ability not in self.fighter.abilities:\r\n            event.Skip()\r\n            return\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if self.isProjected:\r\n            container = fit.projectedFighters\r\n            command = cmd.GuiToggleProjectedFighterAbilityStateCommand\r\n        else:\r\n            container = fit.fighters\r\n            command = cmd.GuiToggleLocalFighterAbilityStateCommand\r\n        if self.fighter in container:\r\n            mainPosition = container.index(self.fighter)\r\n            if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL):\r\n                fighters = getSimilarFighters(container, self.fighter)\r\n            else:\r\n                fighters = self.selection\r\n            positions = []\r\n            for fighter in fighters:\r\n                if fighter in container:\r\n                    positions.append(container.index(fighter))\r\n            self.mainFrame.command.Submit(command(\r\n                    fitID=fitID,\r\n                    mainPosition=mainPosition,\r\n                    positions=positions,\r\n                    effectID=ability.effectID))\r\n\r\n\r\nFighterAbilities.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/fitAddBrowse.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass AddBrowsedFits(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        if srcContext not in ('projected', 'commandView', 'graphFitList', 'graphTgtList'):\r\n            return False\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Add Fit...')\r\n\r\n    def activate(self, callingWindow, fullContext, i):\r\n        from gui.fitBrowserLite import FitBrowserLiteDialog\r\n        titles = {\r\n            'projected': 'Add Projected Fits',\r\n            'commandView': 'Add Command Fits',\r\n            'graphFitList': 'Add Fits to Graph',\r\n            'graphTgtList': 'Add Targets to Graph'\r\n        }\r\n        excludedFitIDs = callingWindow.getExistingFitIDs()\r\n        with FitBrowserLiteDialog(self.mainFrame, title=titles[fullContext[0]], excludedFitIDs=excludedFitIDs) as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                fitIDs = dlg.getFitIDsToAdd()\r\n                callingWindow.addFitsByIDs(fitIDs)\r\n\r\n\r\nAddBrowsedFits.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/fitAddCurrentlyOpen.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom gui.builtinViews.emptyView import BlankPage\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass AddCurrentlyOpenFit(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n\r\n        if srcContext not in ('projected', 'commandView', 'graphFitList', 'graphTgtList'):\r\n            return False\r\n\r\n        if srcContext in ('projected', 'commandView') and self.mainFrame.getActiveFit() is None:\r\n            return False\r\n\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Add Currently Open Fit')\r\n\r\n    def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):\r\n        self.fitLookup = {}\r\n        self.context = context\r\n        self.callingWindow = callingWindow\r\n        sFit = Fit.getInstance()\r\n\r\n        m = wx.Menu()\r\n\r\n        # If on Windows we need to bind out events into the root menu, on other\r\n        # platforms they need to go to our sub menu\r\n        if \"wxMSW\" in wx.PlatformInfo:\r\n            bindmenu = rootMenu\r\n        else:\r\n            bindmenu = m\r\n\r\n        for page in self.mainFrame.fitMultiSwitch._pages:\r\n            if isinstance(page, BlankPage):\r\n                continue\r\n            fit = sFit.getFit(page.activeFitID, basic=True)\r\n            if fit is None:\r\n                continue\r\n            id = ContextMenuUnconditional.nextID()\r\n            mitem = wx.MenuItem(rootMenu, id, \"{}: {}\".format(fit.ship.item.name, fit.name))\r\n            bindmenu.Bind(wx.EVT_MENU, self.handleSelection, mitem)\r\n            self.fitLookup[id] = fit\r\n            m.Append(mitem)\r\n\r\n        return m\r\n\r\n    def handleSelection(self, event):\r\n        fit = self.fitLookup[event.Id]\r\n        self.callingWindow.addFit(fit)\r\n\r\n\r\nAddCurrentlyOpenFit.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/fitOpenNewTab.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom graphs.wrapper import BaseWrapper\r\nfrom gui.builtinShipBrowser.events import FitSelected\r\nfrom gui.contextMenu import ContextMenuSingle\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass OpenFitInNewTab(ContextMenuSingle):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext not in (\"projectedFit\", \"commandFit\", \"graphFitListMisc\", \"graphTgtListMisc\"):\r\n            return False\r\n\r\n        if mainItem is None:\r\n            return False\r\n\r\n        if isinstance(mainItem, BaseWrapper):\r\n            if not mainItem.isFit:\r\n                return False\r\n            mainItem = mainItem.item\r\n\r\n        currentFitID = self.mainFrame.getActiveFit()\r\n        selectedFitID = mainItem.ID\r\n        if currentFitID == selectedFitID:\r\n            return False\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"Open Fit in New Tab\")\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        if isinstance(mainItem, BaseWrapper):\r\n            mainItem = mainItem.item\r\n        wx.PostEvent(self.mainFrame, FitSelected(fitID=mainItem.ID, startup=2))\r\n\r\n\r\nOpenFitInNewTab.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/fitPilotSecurity.py",
    "content": "import re\r\n\r\nimport wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FitPilotSecurityMenu(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        if srcContext != \"fittingShip\":\r\n            return False\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n\r\n        if fit.ship.name not in ('Pacifier', 'Enforcer', 'Marshal', 'Sidewinder', 'Cobra', 'Python'):\r\n            return\r\n\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t(\"Pilot Security Status\")\r\n\r\n    def addOption(self, menu, optionLabel, optionValue):\r\n        id = ContextMenuUnconditional.nextID()\r\n        self.optionIds[id] = optionValue\r\n        menuItem = wx.MenuItem(menu, id, optionLabel, kind=wx.ITEM_CHECK)\r\n        menu.Bind(wx.EVT_MENU, self.handleMode, menuItem)\r\n        return menuItem\r\n\r\n    def addOptionCustom(self, menu, optionLabel):\r\n        id = ContextMenuUnconditional.nextID()\r\n        menuItem = wx.MenuItem(menu, id, optionLabel, kind=wx.ITEM_CHECK)\r\n        menu.Bind(wx.EVT_MENU, self.handleModeCustom, menuItem)\r\n        return menuItem\r\n\r\n    def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        msw = True if \"wxMSW\" in wx.PlatformInfo else False\r\n        self.optionIds = {}\r\n        sub = wx.Menu()\r\n        presets = (-10, -8, -6, -4, -2, 0, 1, 2, 3, 4, 5)\r\n        # Inherit\r\n        char_sec_status = round(fit.character.secStatus, 2)\r\n        menuItem = self.addOption(rootMenu if msw else sub, _t('Character') + f' ({char_sec_status})', None)\r\n        sub.Append(menuItem)\r\n        menuItem.Check(fit.pilotSecurity is None)\r\n        # Custom\r\n        label = _t('Custom')\r\n        is_checked = False\r\n        if fit.pilotSecurity is not None and fit.pilotSecurity not in presets:\r\n            sec_status = round(fit.getPilotSecurity(), 2)\r\n            label += f' ({sec_status})'\r\n            is_checked = True\r\n        menuItem = self.addOptionCustom(rootMenu if msw else sub, label)\r\n        sub.Append(menuItem)\r\n        menuItem.Check(is_checked)\r\n        sub.AppendSeparator()\r\n        # Predefined options\r\n        for sec_status in presets:\r\n            menuItem = self.addOption(rootMenu if msw else sub, str(sec_status), sec_status)\r\n            sub.Append(menuItem)\r\n            menuItem.Check(fit.pilotSecurity == sec_status)\r\n        return sub\r\n\r\n    def handleMode(self, event):\r\n        optionValue = self.optionIds[event.Id]\r\n        self.mainFrame.command.Submit(cmd.GuiChangeFitPilotSecurityCommand(\r\n                fitID=self.mainFrame.getActiveFit(),\r\n                secStatus=optionValue))\r\n\r\n    def handleModeCustom(self, event):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        sec_status = fit.getPilotSecurity()\r\n\r\n        with SecStatusChanger(self.mainFrame, value=sec_status) as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                cleanInput = re.sub(r'[^0-9.\\-+]', '', dlg.input.GetLineText(0).strip())\r\n                if cleanInput:\r\n                    try:\r\n                        cleanInputFloat = float(cleanInput)\r\n                    except ValueError:\r\n                        return\r\n                else:\r\n                    return\r\n                self.mainFrame.command.Submit(cmd.GuiChangeFitPilotSecurityCommand(\r\n                        fitID=fitID, secStatus=max(-10.0, min(5.0, cleanInputFloat))))\r\n\r\n\r\nFitPilotSecurityMenu.register()\r\n\r\n\r\nclass SecStatusChanger(wx.Dialog):\r\n\r\n    def __init__(self, parent, value):\r\n        super().__init__(parent, title=_t('Change Security Status'), style=wx.DEFAULT_DIALOG_STYLE)\r\n        self.SetMinSize((346, 156))\r\n\r\n        bSizer1 = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        bSizer2 = wx.BoxSizer(wx.VERTICAL)\r\n        text = wx.StaticText(self, wx.ID_ANY, _t('Security Status (min -10.0, max 5.0):'))\r\n        bSizer2.Add(text, 0)\r\n\r\n        bSizer1.Add(bSizer2, 0, wx.ALL, 10)\r\n\r\n        self.input = wx.TextCtrl(self, wx.ID_ANY, style=wx.TE_PROCESS_ENTER)\r\n        if value is None:\r\n            value = '0.0'\r\n        else:\r\n            if value == int(value):\r\n                value = int(value)\r\n            value = str(value)\r\n        self.input.SetValue(value)\r\n\r\n        bSizer1.Add(self.input, 0, wx.LEFT | wx.RIGHT | wx.EXPAND, 15)\r\n\r\n        bSizer3 = wx.BoxSizer(wx.VERTICAL)\r\n        bSizer3.Add(wx.StaticLine(self, wx.ID_ANY), 0, wx.BOTTOM | wx.EXPAND, 15)\r\n\r\n        bSizer3.Add(self.CreateStdDialogButtonSizer(wx.OK | wx.CANCEL), 0, wx.EXPAND)\r\n        bSizer1.Add(bSizer3, 0, wx.ALL | wx.EXPAND, 10)\r\n\r\n        self.input.Bind(wx.EVT_CHAR, self.onChar)\r\n        self.input.Bind(wx.EVT_TEXT_ENTER, self.processEnter)\r\n        self.SetSizer(bSizer1)\r\n        self.Fit()\r\n        self.CenterOnParent()\r\n        self.input.SetFocus()\r\n        self.input.SelectAll()\r\n\r\n    def processEnter(self, evt):\r\n        self.EndModal(wx.ID_OK)\r\n\r\n    # checks to make sure it's valid number\r\n    @staticmethod\r\n    def onChar(event):\r\n        key = event.GetKeyCode()\r\n\r\n        acceptable_characters = '1234567890.-+'\r\n        acceptable_keycode = [3, 22, 13, 8, 127]  # modifiers like delete, copy, paste\r\n        if key in acceptable_keycode or key >= 255 or (key < 255 and chr(key) in acceptable_characters):\r\n            event.Skip()\r\n            return\r\n        else:\r\n            return False\r\n"
  },
  {
    "path": "gui/builtinContextMenus/fitSystemSecurity.py",
    "content": "from collections import OrderedDict\r\n\r\nimport wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom eos.const import FitSystemSecurity\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FitSystemSecurityMenu(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.optionMap = OrderedDict((\r\n            (_t('High Security'), FitSystemSecurity.HISEC),\r\n            (_t('Low Security'), FitSystemSecurity.LOWSEC),\r\n            (_t('Null Security'), FitSystemSecurity.NULLSEC),\r\n            (_t('W-Space'), FitSystemSecurity.WSPACE)))\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        if srcContext != \"fittingShip\":\r\n            return False\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n\r\n        if not fit.isStructure:\r\n            return\r\n\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t(\"Citadel System Security\")\r\n\r\n    def addOption(self, menu, optionLabel):\r\n        id = ContextMenuUnconditional.nextID()\r\n        self.optionIds[id] = optionLabel\r\n        menuItem = wx.MenuItem(menu, id, optionLabel, kind=wx.ITEM_CHECK)\r\n        menu.Bind(wx.EVT_MENU, self.handleMode, menuItem)\r\n        return menuItem\r\n\r\n    def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        msw = True if \"wxMSW\" in wx.PlatformInfo else False\r\n        self.optionIds = {}\r\n        sub = wx.Menu()\r\n        for optionLabel, optionValue in self.optionMap.items():\r\n            menuItem = self.addOption(rootMenu if msw else sub, optionLabel)\r\n            sub.Append(menuItem)\r\n            menuItem.Check(fit.getSystemSecurity() == optionValue)\r\n\r\n        return sub\r\n\r\n    def handleMode(self, event):\r\n        optionLabel = self.optionIds[event.Id]\r\n        optionValue = self.optionMap[optionLabel]\r\n        self.mainFrame.command.Submit(cmd.GuiChangeFitSystemSecurityCommand(\r\n                fitID=self.mainFrame.getActiveFit(),\r\n                secStatus=optionValue))\r\n\r\n\r\nFitSystemSecurityMenu.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/graphDmgApplyProjected.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.settings import GraphSettings\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass GraphDmgApplyProjectedMenu(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.settings = GraphSettings.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        return srcContext == 'dmgStatsGraph'\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Apply Projected Items')\r\n\r\n    def activate(self, callingWindow, fullContext, i):\r\n        self.settings.set('applyProjected', not self.settings.get('applyProjected'))\r\n        wx.PostEvent(self.mainFrame, GE.GraphOptionChanged())\r\n\r\n    def isChecked(self, i):\r\n        return self.settings.get('applyProjected')\r\n\r\n\r\nGraphDmgApplyProjectedMenu.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/graphDmgDroneMode.py",
    "content": "from collections import OrderedDict\r\n\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.const import GraphDpsDroneMode\r\nfrom service.settings import GraphSettings\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass GraphDmgDroneModeMenu(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.settings = GraphSettings.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        return srcContext == 'dmgStatsGraph'\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Drone Mode')\r\n\r\n    def handleModeSwitch(self, event):\r\n        option = self.idOptionMap[event.Id]\r\n        if option == self.settings.get('mobileDroneMode'):\r\n            return\r\n        self.settings.set('mobileDroneMode', option)\r\n        wx.PostEvent(self.mainFrame, GE.GraphOptionChanged())\r\n\r\n    def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):\r\n        m = wx.Menu()\r\n        if \"wxMSW\" in wx.PlatformInfo:\r\n            bindmenu = rootMenu\r\n        else:\r\n            bindmenu = m\r\n        self.idOptionMap = {}\r\n        optionMap = OrderedDict([\r\n            (GraphDpsDroneMode.auto, _t('Auto')),\r\n            (GraphDpsDroneMode.followTarget, _t('Stick to Target')),\r\n            (GraphDpsDroneMode.followAttacker, _t('Stick to Attacker'))])\r\n        for option, label in optionMap.items():\r\n            menuId = ContextMenuUnconditional.nextID()\r\n            item = wx.MenuItem(m, menuId, label, kind=wx.ITEM_CHECK)\r\n            bindmenu.Bind(wx.EVT_MENU, self.handleModeSwitch, item)\r\n            m.Append(item)\r\n            item.Check(option == self.settings.get('mobileDroneMode'))\r\n            self.idOptionMap[menuId] = option\r\n        return m\r\n\r\n\r\nGraphDmgDroneModeMenu.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/graphDmgIgnoreResists.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.settings import GraphSettings\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass GraphDmgIgnoreResistsMenu(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.settings = GraphSettings.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        return srcContext == 'dmgStatsGraph'\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Ignore Target Resists')\r\n\r\n    def activate(self, callingWindow, fullContext, i):\r\n        self.settings.set('ignoreResists', not self.settings.get('ignoreResists'))\r\n        wx.PostEvent(self.mainFrame, GE.GraphOptionChanged(refreshAxeLabels=True, refreshColumns=True))\r\n\r\n    def isChecked(self, i):\r\n        return self.settings.get('ignoreResists')\r\n\r\n\r\nGraphDmgIgnoreResistsMenu.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/graphDroneControlRange.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.settings import GraphSettings\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass GraphIgnoreDcrMenu(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.settings = GraphSettings.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        return srcContext in ('dmgStatsGraph', 'remoteRepsGraph', 'ewarStatsGraph')\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Ignore Drone Control Range')\r\n\r\n    def activate(self, callingWindow, fullContext, i):\r\n        self.settings.set('ignoreDCR', not self.settings.get('ignoreDCR'))\r\n        wx.PostEvent(self.mainFrame, GE.GraphOptionChanged())\r\n\r\n    def isChecked(self, i):\r\n        return self.settings.get('ignoreDCR')\r\n\r\n\r\nGraphIgnoreDcrMenu.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/graphFitAmmoPicker.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom gui.auxWindow import AuxiliaryDialog\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom service.ammo import Ammo\r\nfrom service.market import Market\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass GraphFitAmmoPicker(ContextMenuSingle):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext != 'graphFitList':\r\n            return False\r\n        if mainItem is None or not mainItem.isFit:\r\n            return False\r\n        if callingWindow.graphFrame.getView().internalName != 'dmgStatsGraph':\r\n            return False\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t('Plot with Different Ammo...')\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        AmmoPickerFrame.openOne(callingWindow, mainItem.item, forceReopen=True)\r\n\r\n\r\n# GraphFitAmmoPicker.register()\r\n\r\n\r\nclass AmmoPickerFrame(AuxiliaryDialog):\r\n\r\n    def __init__(self, parent, fit):\r\n        super().__init__(parent, title='Choose Different Ammo', style=wx.DEFAULT_DIALOG_STYLE, resizeable=True)\r\n        padding = 5\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        contents = AmmoPickerContents(self, fit)\r\n        mainSizer.Add(contents, 1, wx.EXPAND | wx.ALL, padding)\r\n\r\n        buttonSizer = self.CreateButtonSizer(wx.OK | wx.CANCEL)\r\n        if buttonSizer:\r\n            mainSizer.Add(buttonSizer, 0, wx.EXPAND | wx.ALL, padding)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.Layout()\r\n\r\n        contW, contH = contents.GetVirtualSize()\r\n        bestW = contW + padding * 2\r\n        bestH = contH + padding * 2\r\n        if buttonSizer:\r\n            # Yeah right... whatever\r\n            buttW, buttH = buttonSizer.GetSize()\r\n            bestW = max(bestW, buttW + padding * 2)\r\n            bestH += buttH + padding * 2\r\n        bestW = min(1000, bestW)\r\n        bestH = min(700, bestH)\r\n        self.SetSize(bestW, bestH)\r\n        self.SetMinSize(wx.Size(int(bestW * 0.7), int(bestH * 0.7)))\r\n        self.CenterOnParent()\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n\r\n    def kbEvent(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.Close()\r\n            return\r\n        event.Skip()\r\n\r\n\r\nclass AmmoPickerContents(wx.ScrolledCanvas):\r\n    indent = 15\r\n\r\n    def __init__(self, parent, fit):\r\n        wx.ScrolledCanvas.__init__(self, parent)\r\n        self.SetScrollRate(0, 15)\r\n\r\n        mods = self.getMods(fit)\r\n        drones = self.getDrones(fit)\r\n        fighters = self.getFighters(fit)\r\n        self.rbLabelMap = {}\r\n        self.rbCheckboxMap = {}\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        moduleSizer = wx.BoxSizer(wx.VERTICAL)\r\n        mainSizer.Add(moduleSizer, 0, wx.ALL, 0)\r\n\r\n        self.droneSizer = wx.BoxSizer(wx.VERTICAL)\r\n        mainSizer.Add(self.droneSizer, 0, wx.ALL, 0)\r\n\r\n        fighterSizer = wx.BoxSizer(wx.VERTICAL)\r\n        mainSizer.Add(fighterSizer, 0, wx.ALL, 0)\r\n\r\n        firstRadio = True\r\n\r\n        for modInfo, modAmmo in mods:\r\n            text = '\\n'.join('{}x {}'.format(amount, item.name) for item, amount in modInfo)\r\n            modRb = self.addRadioButton(moduleSizer, text, firstRadio)\r\n            firstRadio = False\r\n            # Get actual module, as ammo getters need it\r\n            mod = next((m for m in fit.modules if m.itemID == next(iter(modInfo))[0].ID), None)\r\n            _, ammoTree = Ammo.getInstance().getModuleStructuredAmmo(mod)\r\n            if len(ammoTree) == 1:\r\n                for ammoCatName, ammos in ammoTree.items():\r\n                    for ammo in ammos:\r\n                        self.addCheckbox(moduleSizer, ammo.name, modRb, indentLvl=1)\r\n            else:\r\n                for ammoCatName, ammos in ammoTree.items():\r\n                    if len(ammos) == 1:\r\n                        ammo = next(iter(ammos))\r\n                        self.addCheckbox(moduleSizer, ammo.name, modRb, indentLvl=1)\r\n                    else:\r\n                        self.addLabel(moduleSizer, '{}:'.format(ammoCatName), modRb, indentLvl=1)\r\n                        for ammo in ammos:\r\n                            self.addCheckbox(moduleSizer, ammo.name, modRb, indentLvl=2)\r\n        if drones:\r\n            droneRb = self.addRadioButton(self.droneSizer, 'Drones', firstRadio)\r\n            from gui.builtinAdditionPanes.droneView import DroneView\r\n            for drone in sorted(drones, key=DroneView.droneKey):\r\n                self.addCheckbox(self.droneSizer, '{}x {}'.format(drone.amount, drone.item.name), droneRb, indentLvl=1)\r\n            addBtn = wx.Button(self, wx.ID_ANY, '+', style=wx.BU_EXACTFIT)\r\n            addBtn.Bind(wx.EVT_BUTTON, self.OnDroneGroupAdd)\r\n            mainSizer.Add(addBtn, 0, wx.LEFT, self.indent)\r\n        if fighters:\r\n            fighterRb = self.addRadioButton(fighterSizer, 'Fighters', firstRadio)\r\n            from gui.builtinAdditionPanes.fighterView import FighterDisplay\r\n            for fighter in sorted(fighters, key=FighterDisplay.fighterKey):\r\n                self.addCheckbox(fighterSizer, '{}x {}'.format(fighter.amount, fighter.item.name), fighterRb, indentLvl=1)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.refreshStatus()\r\n\r\n    def addRadioButton(self, sizer, text, firstRadio=False):\r\n        if firstRadio:\r\n            rb = wx.RadioButton(self, wx.ID_ANY, text, style=wx.RB_GROUP)\r\n            rb.SetValue(True)\r\n        else:\r\n            rb = wx.RadioButton(self, wx.ID_ANY, text)\r\n            rb.SetValue(False)\r\n        rb.Bind(wx.EVT_RADIOBUTTON, self.rbSelected)\r\n        sizer.Add(rb, 0, wx.EXPAND | wx.ALL, 0)\r\n        return rb\r\n\r\n    def addCheckbox(self, sizer, text, currentRb, indentLvl=0):\r\n        cb = wx.CheckBox(self, -1, text)\r\n        sizer.Add(cb, 0, wx.EXPAND | wx.LEFT, self.indent * indentLvl)\r\n        if currentRb is not None:\r\n            self.rbCheckboxMap.setdefault(currentRb, []).append(cb)\r\n\r\n    def addLabel(self, sizer, text, currentRb, indentLvl=0):\r\n        text = text[0].capitalize() + text[1:]\r\n        label = wx.StaticText(self, wx.ID_ANY, text)\r\n        sizer.Add(label, 0, wx.EXPAND | wx.LEFT, self.indent * indentLvl)\r\n        if currentRb is not None:\r\n            self.rbLabelMap.setdefault(currentRb, []).append(label)\r\n\r\n    def getMods(self, fit):\r\n        sMkt = Market.getInstance()\r\n        sAmmo = Ammo.getInstance()\r\n        loadableChargesCache = {}\r\n        # Modules, format: {frozenset(ammo): {item: count}}\r\n        modsPrelim = {}\r\n        if fit is not None:\r\n            for mod in fit.modules:\r\n                if not mod.canDealDamage():\r\n                    continue\r\n                typeID = mod.item.ID\r\n                if typeID not in loadableChargesCache:\r\n                    loadableChargesCache[typeID] = sAmmo.getModuleFlatAmmo(mod)\r\n                charges = loadableChargesCache[typeID]\r\n                # We're not interested in modules which contain no charges\r\n                if charges:\r\n                    data = modsPrelim.setdefault(frozenset(charges), {})\r\n                    if mod.item not in data:\r\n                        data[mod.item] = 0\r\n                    data[mod.item] += 1\r\n        # Format: [([(item, count), ...], frozenset(ammo)), ...]\r\n        modsFinal = []\r\n        for charges, itemCounts in modsPrelim.items():\r\n            modsFinal.append((\r\n                # Sort items within group\r\n                sorted(itemCounts.items(), key=lambda i: sMkt.itemSort(i[0], reverseMktGrp=True), reverse=True),\r\n                charges))\r\n        # Sort item groups\r\n        modsFinal.sort(key=lambda i: sMkt.itemSort(i[0][0][0], reverseMktGrp=True), reverse=True)\r\n        return modsFinal\r\n\r\n    def getDrones(self, fit):\r\n        drones = []\r\n        if fit is not None:\r\n            for drone in fit.drones:\r\n                if drone.item is None:\r\n                    continue\r\n                # Drones are our \"ammo\", so we want to pick even those which are inactive\r\n                if drone.canDealDamage(ignoreState=True):\r\n                    drones.append(drone)\r\n                    continue\r\n                if {'remoteWebifierEntity', 'remoteTargetPaintEntity'}.intersection(drone.item.effects):\r\n                    drones.append(drone)\r\n                    continue\r\n        return drones\r\n\r\n    def getFighters(self, fit):\r\n        fighters = []\r\n        if fit is not None:\r\n            for fighter in fit.fighters:\r\n                if fighter.item is None:\r\n                    continue\r\n                # Fighters are our \"ammo\" as well\r\n                if fighter.canDealDamage(ignoreState=True):\r\n                    fighters.append(fighter)\r\n                    continue\r\n                for ability in fighter.abilities:\r\n                    if not ability.active:\r\n                        continue\r\n                    if ability.effect.name == 'fighterAbilityStasisWebifier':\r\n                        fighters.append(fighter)\r\n                        break\r\n        return fighters\r\n\r\n    def OnDroneGroupAdd(self, event):\r\n        event.Skip()\r\n        sizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        label = wx.StaticText()\r\n        self.droneSizer.Add(sizer, 0, wx.EXPAND | wx.LEFT, self.indent)\r\n\r\n    def refreshStatus(self):\r\n        for map in (self.rbLabelMap, self.rbCheckboxMap):\r\n            for rb, items in map.items():\r\n                for item in items:\r\n                    item.Enable(rb.GetValue())\r\n\r\n    def rbSelected(self, event):\r\n        event.Skip()\r\n        self.refreshStatus()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/graphLockRange.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.settings import GraphSettings\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass GraphIgnoreLockRangeMenu(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.settings = GraphSettings.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        return srcContext in ('dmgStatsGraph', 'remoteRepsGraph', 'ewarStatsGraph')\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Ignore Lock Range')\r\n\r\n    def activate(self, callingWindow, fullContext, i):\r\n        self.settings.set('ignoreLockRange', not self.settings.get('ignoreLockRange'))\r\n        wx.PostEvent(self.mainFrame, GE.GraphOptionChanged())\r\n\r\n    def isChecked(self, i):\r\n        return self.settings.get('ignoreLockRange')\r\n\r\n\r\nGraphIgnoreLockRangeMenu.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/implantSetApply.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.implantSet import ImplantSets as UserImplantSets\r\nfrom service.precalcImplantSet import PrecalcedImplantSets\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ImplantSetApply(ContextMenuUnconditional):\r\n\r\n    def display(self, callingWindow, srcContext):\r\n\r\n        self.userImplantSets = UserImplantSets.getInstance().getImplantSetList()\r\n        self.structedImplantSets = PrecalcedImplantSets.getStructuredSets()\r\n\r\n        if len(self.userImplantSets) == 0 and len(self.structedImplantSets) == 0:\r\n            return False\r\n\r\n        return srcContext in (\"implantItemMisc\", \"implantEditor\")\r\n\r\n    def getText(self, callingWindow, context):\r\n        return _t(\"Apply Implant Set\")\r\n\r\n    def _addSeparator(self, m, text):\r\n        id_ = ContextMenuUnconditional.nextID()\r\n        m.Append(id_, '─ %s ─' % text)\r\n        m.Enable(id_, False)\r\n\r\n    def _addSet(self, parentMenu, profile, name):\r\n        id = ContextMenuUnconditional.nextID()\r\n        self.eventSetMap[id] = profile\r\n        menuItem = wx.MenuItem(parentMenu, id, name)\r\n        parentMenu.Bind(wx.EVT_MENU, self.handleSelection, menuItem)\r\n        return menuItem\r\n\r\n    def _addCategory(self, parentMenu, name):\r\n        id = ContextMenuUnconditional.nextID()\r\n        menuItem = wx.MenuItem(parentMenu, id, name)\r\n        parentMenu.Bind(wx.EVT_MENU, self.handleSelection, menuItem)\r\n        return menuItem\r\n\r\n    def _gradeSorter(self, item):\r\n        order = ['low-grade', 'mid-grade', 'high-grade']\r\n        try:\r\n            pos = order.index(item.lower())\r\n        except IndexError:\r\n            pos = len(order)\r\n        return pos, item\r\n\r\n    def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):\r\n        msw = \"wxMSW\" in wx.PlatformInfo\r\n        menu_lvl1 = wx.Menu()\r\n\r\n        self.context = context\r\n        self.callingWindow = callingWindow\r\n\r\n        self.eventSetMap = {}\r\n\r\n        # Auto-generated sets\r\n        for setName in sorted(self.structedImplantSets):\r\n            setData = self.structedImplantSets[setName]\r\n            if len(setData) == 1:\r\n                for implantIDs in setData.values():\r\n                    menuitem_lvl1 = self._addSet(rootMenu, implantIDs, setName)\r\n                    menu_lvl1.Append(menuitem_lvl1)\r\n            else:\r\n                menuitem_lvl1 = self._addCategory(rootMenu, setName)\r\n                menu_lvl2 = wx.Menu()\r\n                for gradeName in sorted(setData, key=self._gradeSorter):\r\n                    implantIDs = setData[gradeName]\r\n                    menuitem_lvl2 = self._addSet(rootMenu if msw else menu_lvl1, implantIDs, gradeName)\r\n                    menu_lvl2.Append(menuitem_lvl2)\r\n                menu_lvl2.Bind(wx.EVT_MENU, self.handleSelection)\r\n                menuitem_lvl1.SetSubMenu(menu_lvl2)\r\n                menu_lvl1.Append(menuitem_lvl1)\r\n\r\n        # Separator\r\n        if self.userImplantSets and self.structedImplantSets:\r\n            menu_lvl1.AppendSeparator()\r\n\r\n        # Saved sets\r\n        if self.userImplantSets:\r\n            menuitem_lvl1 = self._addCategory(rootMenu, 'Saved Sets')\r\n            menu_lvl2 = wx.Menu()\r\n            for implantSet in sorted(self.userImplantSets, key=lambda i: i.name):\r\n                menuitem_lvl2 = self._addSet(rootMenu if msw else menu_lvl1, implantSet, implantSet.name)\r\n                menu_lvl2.Append(menuitem_lvl2)\r\n            menu_lvl2.Bind(wx.EVT_MENU, self.handleSelection)\r\n            menuitem_lvl1.SetSubMenu(menu_lvl2)\r\n            menu_lvl1.Append(menuitem_lvl1)\r\n\r\n        menu_lvl1.Bind(wx.EVT_MENU, self.handleSelection)\r\n        return menu_lvl1\r\n\r\n    def handleSelection(self, event):\r\n        impSet = self.eventSetMap.get(event.Id, None)\r\n        if impSet is None:\r\n            event.Skip()\r\n            return\r\n        if isinstance(impSet, str):\r\n            implants = PrecalcedImplantSets.stringToImplants(impSet)\r\n        else:\r\n            implants = impSet.implants\r\n        self.callingWindow.addImplants(implants)\r\n\r\n\r\nImplantSetApply.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/implantSetSave.py",
    "content": "import wx\r\n\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ImplantSetSave(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        if srcContext not in ('implantItemMisc', 'implantItemMiscChar'):\r\n            return False\r\n\r\n        fit = Fit.getInstance().getFit(self.mainFrame.getActiveFit())\r\n        self.implants = fit.appliedImplants[:]\r\n        if not self.implants:\r\n            return False\r\n\r\n        return True\r\n\r\n    def getText(self, callingWindow, context):\r\n        return _t('Save as New Implant Set')\r\n\r\n    def activate(self, callingWindow, fullContext, i):\r\n        with NameDialog(self.mainFrame, '') as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                name = dlg.input.GetLineText(0).strip()\r\n                if name == '':\r\n                    return\r\n                from gui.setEditor import ImplantSetEditor\r\n                ImplantSetEditor.openOne(parent=self.mainFrame, dataToAdd=(name, self.implants))\r\n\r\n\r\nImplantSetSave.register()\r\n\r\n\r\nclass NameDialog(wx.Dialog):\r\n\r\n    def __init__(self, parent, value):\r\n        super().__init__(parent, title=_t('New Implant Set'), style=wx.DEFAULT_DIALOG_STYLE)\r\n        self.SetMinSize((346, 156))\r\n\r\n        bSizer1 = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        bSizer2 = wx.BoxSizer(wx.VERTICAL)\r\n        text = wx.StaticText(self, wx.ID_ANY, _t('Enter a name for your new Implant Set:'))\r\n        bSizer2.Add(text, 0)\r\n\r\n        bSizer1.Add(bSizer2, 0, wx.ALL, 10)\r\n\r\n        self.input = wx.TextCtrl(self, wx.ID_ANY, style=wx.TE_PROCESS_ENTER)\r\n        if value is None:\r\n            value = ''\r\n        else:\r\n            value = str(value)\r\n        self.input.SetValue(value)\r\n\r\n        bSizer1.Add(self.input, 0, wx.LEFT | wx.RIGHT | wx.EXPAND, 15)\r\n\r\n        bSizer3 = wx.BoxSizer(wx.VERTICAL)\r\n        bSizer3.Add(wx.StaticLine(self, wx.ID_ANY), 0, wx.BOTTOM | wx.EXPAND, 15)\r\n\r\n        bSizer3.Add(self.CreateStdDialogButtonSizer(wx.OK | wx.CANCEL), 0, wx.EXPAND)\r\n        bSizer1.Add(bSizer3, 0, wx.ALL | wx.EXPAND, 10)\r\n\r\n        self.input.Bind(wx.EVT_TEXT_ENTER, self.processEnter)\r\n        self.SetSizer(bSizer1)\r\n        self.Fit()\r\n        self.CenterOnParent()\r\n        self.input.SetFocus()\r\n        self.input.SelectAll()\r\n\r\n    def processEnter(self, evt):\r\n        self.EndModal(wx.ID_OK)\r\n"
  },
  {
    "path": "gui/builtinContextMenus/itemAmountChange.py",
    "content": "import re\r\n\r\nimport wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom eos.saveddata.cargo import Cargo as es_Cargo\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter as es_Fighter\r\nfrom eos.saveddata.fit import Fit as es_Fit\r\nfrom gui.contextMenu import ContextMenuCombined\r\nfrom service.fit import Fit\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ChangeItemAmount(ContextMenuCombined):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem, selection):\r\n        if srcContext not in (\"droneItem\", \"projectedDrone\", \"cargoItem\", \"projectedFit\", \"fighterItem\", \"projectedFighter\"):\r\n            return False\r\n\r\n        if mainItem is None:\r\n            return False\r\n\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem, selection):\r\n        if isinstance(mainItem, es_Cargo):\r\n            return _t(\"Change Selection Quantity\")\r\n        return _t(\"Change {0} Quantity\").format(itmContext)\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, selection, i):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        srcContext = fullContext[0]\r\n        if isinstance(mainItem, es_Fit):\r\n            try:\r\n                value = mainItem.getProjectionInfo(fitID).amount\r\n            except AttributeError:\r\n                return\r\n        else:\r\n            value = mainItem.amount\r\n\r\n        limits = (0, 20) if isinstance(mainItem, es_Fit) else None\r\n        with AmountChanger(self.mainFrame, value, limits) as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n\r\n                if dlg.input.GetLineText(0).strip() == '':\r\n                    return\r\n\r\n                sFit = Fit.getInstance()\r\n                fit = sFit.getFit(fitID)\r\n                cleanInput = int(float(re.sub(r'[^0-9.]', '', dlg.input.GetLineText(0).strip())))\r\n\r\n                if isinstance(mainItem, es_Cargo):\r\n                    itemIDs = []\r\n                    for cargo in selection:\r\n                        if cargo in fit.cargo:\r\n                            itemIDs.append(cargo.itemID)\r\n                    self.mainFrame.command.Submit(cmd.GuiChangeCargosAmountCommand(\r\n                            fitID=fitID, itemIDs=itemIDs, amount=cleanInput))\r\n                elif isinstance(mainItem, Drone):\r\n                    if srcContext == \"projectedDrone\":\r\n                        self.mainFrame.command.Submit(cmd.GuiChangeProjectedDroneAmountCommand(\r\n                                fitID=fitID, itemID=mainItem.itemID, amount=cleanInput))\r\n                    else:\r\n                        if mainItem in fit.drones:\r\n                            position = fit.drones.index(mainItem)\r\n                            self.mainFrame.command.Submit(cmd.GuiChangeLocalDroneAmountCommand(\r\n                                    fitID=fitID, position=position, amount=cleanInput))\r\n                elif isinstance(mainItem, es_Fit):\r\n                    self.mainFrame.command.Submit(cmd.GuiChangeProjectedFitAmountCommand(\r\n                            fitID=fitID, projectedFitID=mainItem.ID, amount=cleanInput))\r\n                elif isinstance(mainItem, es_Fighter):\r\n                    if srcContext == \"projectedFighter\":\r\n                        if mainItem in fit.projectedFighters:\r\n                            position = fit.projectedFighters.index(mainItem)\r\n                            self.mainFrame.command.Submit(cmd.GuiChangeProjectedFighterAmountCommand(\r\n                                    fitID=fitID, position=position, amount=cleanInput))\r\n                    else:\r\n                        if mainItem in fit.fighters:\r\n                            position = fit.fighters.index(mainItem)\r\n                            self.mainFrame.command.Submit(cmd.GuiChangeLocalFighterAmountCommand(\r\n                                    fitID=fitID, position=position, amount=cleanInput))\r\n\r\n\r\nChangeItemAmount.register()\r\n\r\n\r\nclass AmountChanger(wx.Dialog):\r\n\r\n    def __init__(self, parent, value, limits=None):\r\n        super().__init__(parent, title=_t(\"Change Amount\"), style=wx.DEFAULT_DIALOG_STYLE)\r\n        self.SetMinSize((346, 156))\r\n\r\n        bSizer1 = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        bSizer2 = wx.BoxSizer(wx.VERTICAL)\r\n        text = wx.StaticText(self, wx.ID_ANY, _t(\"New Amount:\") if limits is None else _t(\"New Amount ({}-{})\").format(*limits))\r\n        bSizer2.Add(text, 0)\r\n\r\n        bSizer1.Add(bSizer2, 0, wx.ALL, 10)\r\n\r\n        self.input = wx.TextCtrl(self, wx.ID_ANY, style=wx.TE_PROCESS_ENTER)\r\n        self.input.SetValue(str(value))\r\n\r\n        bSizer1.Add(self.input, 0, wx.LEFT | wx.RIGHT | wx.EXPAND, 15)\r\n\r\n        bSizer3 = wx.BoxSizer(wx.VERTICAL)\r\n        bSizer3.Add(wx.StaticLine(self, wx.ID_ANY), 0, wx.BOTTOM | wx.EXPAND, 15)\r\n\r\n        bSizer3.Add(self.CreateStdDialogButtonSizer(wx.OK | wx.CANCEL), 0, wx.EXPAND)\r\n        bSizer1.Add(bSizer3, 0, wx.ALL | wx.EXPAND, 10)\r\n\r\n        self.input.Bind(wx.EVT_CHAR, self.onChar)\r\n        self.input.Bind(wx.EVT_TEXT_ENTER, self.processEnter)\r\n        self.SetSizer(bSizer1)\r\n        self.Fit()\r\n        self.CenterOnParent()\r\n        self.input.SetFocus()\r\n        self.input.SelectAll()\r\n\r\n    def processEnter(self, evt):\r\n        self.EndModal(wx.ID_OK)\r\n\r\n    # checks to make sure it's valid number\r\n    @staticmethod\r\n    def onChar(event):\r\n        key = event.GetKeyCode()\r\n\r\n        acceptable_characters = \"1234567890\"\r\n        acceptable_keycode = [3, 22, 13, 8, 127]  # modifiers like delete, copy, paste\r\n        if key in acceptable_keycode or key >= 255 or (key < 255 and chr(key) in acceptable_characters):\r\n            event.Skip()\r\n            return\r\n        else:\r\n            return False\r\n"
  },
  {
    "path": "gui/builtinContextMenus/itemFill.py",
    "content": "import wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FillWithItem(ContextMenuSingle):\r\n    visibilitySetting = 'moduleFill'\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext not in ('marketItemGroup', 'marketItemMisc'):\r\n            return False\r\n\r\n        if self.mainFrame.getActiveFit() is None:\r\n            return False\r\n\r\n        if mainItem is None:\r\n            return False\r\n\r\n        if mainItem.category.name != 'Module':\r\n            return False\r\n\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"Fill With Module\")\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        self.mainFrame.command.Submit(cmd.GuiFillWithNewLocalModulesCommand(\r\n                fitID=self.mainFrame.getActiveFit(),\r\n                itemID=int(mainItem.ID)))\r\n\r\n\r\nFillWithItem.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/itemMarketJump.py",
    "content": "import wx\r\n\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom service.market import Market\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass JumpToMarketItem(ContextMenuSingle):\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        validContexts = (\"marketItemMisc\", \"fittingModule\",\r\n                         \"fittingCharge\", \"droneItem\",\r\n                         \"implantItem\", \"boosterItem\",\r\n                         \"projectedModule\", \"projectedDrone\",\r\n                         \"projectedCharge\", \"cargoItem\",\r\n                         \"implantItemChar\", \"fighterItem\",\r\n                         \"projectedFighter\")\r\n\r\n        if srcContext not in validContexts or mainItem is None:\r\n            return False\r\n\r\n        if mainItem is None or getattr(mainItem, \"isEmpty\", False):\r\n            return False\r\n\r\n        sMkt = Market.getInstance()\r\n        item = getattr(mainItem, \"item\", mainItem)\r\n        isMutated = getattr(mainItem, \"isMutated\", False)\r\n        mktGrp = sMkt.getMarketGroupByItem(item)\r\n        if mktGrp is None and isMutated:\r\n            mktGrp = sMkt.getMarketGroupByItem(mainItem.baseItem)\r\n\r\n        # 1663 is Special Edition Festival Assets, we don't have root group for it\r\n        if mktGrp is None or mktGrp.ID == 1663:\r\n            return False\r\n\r\n        doit = not mainItem.isEmpty if srcContext == \"fittingModule\" else True\r\n        return doit\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"{0} Market Group\").format(itmContext if itmContext is not None else _t(\"Item\"))\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        srcContext = fullContext[0]\r\n        if srcContext in (\"fittingCharge\", \"projectedCharge\"):\r\n            item = mainItem.charge\r\n        elif hasattr(mainItem, \"item\"):\r\n            if getattr(mainItem, \"isMutated\", False):\r\n                item = mainItem.baseItem\r\n            else:\r\n                item = mainItem.item\r\n        else:\r\n            item = mainItem\r\n\r\n        self.mainFrame.notebookBrowsers.SetSelection(0)\r\n        self.mainFrame.marketBrowser.jump(item)\r\n\r\n\r\nJumpToMarketItem.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/itemMutations.py",
    "content": "import re\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom gui.fitCommands import (\r\n    GuiConvertMutatedLocalModuleCommand, GuiRevertMutatedLocalModuleCommand,\r\n    GuiConvertMutatedLocalDroneCommand, GuiRevertMutatedLocalDroneCommand)\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nGLORIFIED_PREFIX = 'Gl. '\r\n\r\n\r\ndef nameSorter(mutaplasmid):\r\n    name = mutaplasmid.shortName\r\n    if name.startswith(GLORIFIED_PREFIX):\r\n        return name[len(GLORIFIED_PREFIX):], True\r\n    return name, False\r\n\r\n\r\nclass ChangeItemMutation(ContextMenuSingle):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.eventIDs = {}\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n\r\n        if srcContext not in (\"fittingModule\", \"droneItem\") or self.mainFrame.getActiveFit() is None:\r\n            return False\r\n\r\n        if mainItem is None or getattr(mainItem, 'isEmpty', False):\r\n            return False\r\n\r\n        if len(mainItem.item.mutaplasmids) == 0 and not mainItem.isMutated:\r\n            return False\r\n\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"Apply Mutaplasmid\") if not mainItem.isMutated else _t(\"Revert to {}\").format(mainItem.baseItem.name)\r\n\r\n    def getSubMenu(self, callingWindow, context, mainItem, rootMenu, i, pitem):\r\n        if mainItem.isMutated:\r\n            return None\r\n\r\n        msw = True if \"wxMSW\" in wx.PlatformInfo else False\r\n        self.skillIds = {}\r\n        sub = wx.Menu()\r\n\r\n        menu = rootMenu if msw else sub\r\n\r\n        for mutaplasmid in sorted(mainItem.item.mutaplasmids, key=nameSorter):\r\n            id = ContextMenuSingle.nextID()\r\n            self.eventIDs[id] = (mutaplasmid, mainItem)\r\n            mItem = wx.MenuItem(menu, id, mutaplasmid.shortName)\r\n            menu.Bind(wx.EVT_MENU, self.handleMenu, mItem)\r\n            sub.Append(mItem)\r\n\r\n        return sub\r\n\r\n    def handleMenu(self, event):\r\n        mutaplasmid, item = self.eventIDs[event.Id]\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if item in fit.modules:\r\n            position = fit.modules.index(item)\r\n            self.mainFrame.command.Submit(GuiConvertMutatedLocalModuleCommand(\r\n                    fitID=fitID, position=position, mutaplasmid=mutaplasmid))\r\n        elif item in fit.drones:\r\n            position = fit.drones.index(item)\r\n            self.mainFrame.command.Submit(GuiConvertMutatedLocalDroneCommand(\r\n                    fitID=fitID, position=position, mutaplasmid=mutaplasmid))\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if mainItem in fit.modules:\r\n            position = fit.modules.index(mainItem)\r\n            self.mainFrame.command.Submit(GuiRevertMutatedLocalModuleCommand(\r\n                    fitID=fitID, position=position))\r\n        elif mainItem in fit.drones:\r\n            position = fit.drones.index(mainItem)\r\n            self.mainFrame.command.Submit(GuiRevertMutatedLocalDroneCommand(\r\n                    fitID=fitID, position=position))\r\n\r\n    def getBitmap(self, callingWindow, context, mainItem):\r\n        return None\r\n\r\n\r\nChangeItemMutation.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/itemProject.py",
    "content": "import wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ProjectItem(ContextMenuSingle):\r\n    visibilitySetting = 'project'\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext not in (\"marketItemGroup\", \"marketItemMisc\") or self.mainFrame.getActiveFit() is None:\r\n            return False\r\n\r\n        if mainItem is None:\r\n            return False\r\n\r\n        sFit = Fit.getInstance()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = sFit.getFit(fitID)\r\n\r\n        if fit.isStructure:\r\n            return False\r\n\r\n        return mainItem.isType(\"projected\")\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"Project {0} onto Fit\").format(itmContext)\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if mainItem.isModule:\r\n            success = self.mainFrame.command.Submit(cmd.GuiAddProjectedModuleCommand(fitID=fitID, itemID=mainItem.ID))\r\n        elif mainItem.isDrone:\r\n            success = self.mainFrame.command.Submit(cmd.GuiAddProjectedDroneCommand(fitID=fitID, itemID=mainItem.ID))\r\n        elif mainItem.isFighter:\r\n            success = self.mainFrame.command.Submit(cmd.GuiAddProjectedFighterCommand(fitID=fitID, itemID=mainItem.ID))\r\n        else:\r\n            success = False\r\n        if success:\r\n            self.mainFrame.additionsPane.select('Projected', focus=False)\r\n\r\n\r\nProjectItem.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/itemProjectionRange.py",
    "content": "import re\r\n\r\nimport wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom eos.saveddata.fighter import Fighter as EosFighter\r\nfrom eos.saveddata.fit import Fit as EosFit\r\nfrom eos.saveddata.module import Module as EosModule\r\nfrom gui.contextMenu import ContextMenuCombined\r\nfrom gui.fitCommands.helpers import getSimilarFighters, getSimilarModPositions\r\nfrom service.fit import Fit\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ChangeItemProjectionRange(ContextMenuCombined):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem, selection):\r\n        if srcContext not in ('projectedFit', 'projectedModule', 'projectedDrone', 'projectedFighter'):\r\n            return False\r\n        if mainItem is None:\r\n            return False\r\n        if getattr(mainItem, 'isExclusiveSystemEffect', False):\r\n            return False\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem, selection):\r\n        return _t('Change {} Range').format(itmContext)\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, selection, i):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if isinstance(mainItem, EosFit):\r\n            try:\r\n                value = mainItem.getProjectionInfo(fitID).projectionRange\r\n            except AttributeError:\r\n                return\r\n        else:\r\n            value = mainItem.projectionRange\r\n        if value is not None:\r\n            value /= 1000\r\n        with RangeChanger(self.mainFrame, value) as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                cleanInput = re.sub(r'[^0-9.]', '', dlg.input.GetLineText(0).strip())\r\n                if cleanInput:\r\n                    try:\r\n                        cleanInputFloat = float(cleanInput)\r\n                    except ValueError:\r\n                        return\r\n                    newRange = cleanInputFloat * 1000\r\n                else:\r\n                    newRange = None\r\n                fitID = self.mainFrame.getActiveFit()\r\n                items = selection\r\n                if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL):\r\n                    if isinstance(mainItem, EosModule):\r\n                        fit = Fit.getInstance().getFit(fitID)\r\n                        positions = getSimilarModPositions(fit.projectedModules, mainItem)\r\n                        items = [fit.projectedModules[p] for p in positions]\r\n                    elif isinstance(mainItem, EosFighter):\r\n                        fit = Fit.getInstance().getFit(fitID)\r\n                        items = getSimilarFighters(fit.projectedFighters, mainItem)\r\n                self.mainFrame.command.Submit(cmd.GuiChangeProjectedItemsProjectionRangeCommand(\r\n                        fitID=fitID, items=items, projectionRange=newRange))\r\n\r\n\r\nChangeItemProjectionRange.register()\r\n\r\n\r\nclass RangeChanger(wx.Dialog):\r\n\r\n    def __init__(self, parent, value):\r\n        super().__init__(parent, title='Change Projection Range', style=wx.DEFAULT_DIALOG_STYLE)\r\n        self.SetMinSize((346, 156))\r\n\r\n        bSizer1 = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        bSizer2 = wx.BoxSizer(wx.VERTICAL)\r\n        text = wx.StaticText(self, wx.ID_ANY, 'New Range, km:')\r\n        bSizer2.Add(text, 0)\r\n\r\n        bSizer1.Add(bSizer2, 0, wx.ALL, 10)\r\n\r\n        self.input = wx.TextCtrl(self, wx.ID_ANY, style=wx.TE_PROCESS_ENTER)\r\n        if value is None:\r\n            value = ''\r\n        else:\r\n            if value == int(value):\r\n                value = int(value)\r\n            value = str(value)\r\n        self.input.SetValue(value)\r\n\r\n        bSizer1.Add(self.input, 0, wx.LEFT | wx.RIGHT | wx.EXPAND, 15)\r\n\r\n        bSizer3 = wx.BoxSizer(wx.VERTICAL)\r\n        bSizer3.Add(wx.StaticLine(self, wx.ID_ANY), 0, wx.BOTTOM | wx.EXPAND, 15)\r\n\r\n        bSizer3.Add(self.CreateStdDialogButtonSizer(wx.OK | wx.CANCEL), 0, wx.EXPAND)\r\n        bSizer1.Add(bSizer3, 0, wx.ALL | wx.EXPAND, 10)\r\n\r\n        self.input.Bind(wx.EVT_CHAR, self.onChar)\r\n        self.input.Bind(wx.EVT_TEXT_ENTER, self.processEnter)\r\n        self.SetSizer(bSizer1)\r\n        self.Fit()\r\n        self.CenterOnParent()\r\n        self.input.SetFocus()\r\n        self.input.SelectAll()\r\n\r\n    def processEnter(self, evt):\r\n        self.EndModal(wx.ID_OK)\r\n\r\n    # checks to make sure it's valid number\r\n    @staticmethod\r\n    def onChar(event):\r\n        key = event.GetKeyCode()\r\n\r\n        acceptable_characters = '1234567890.'\r\n        acceptable_keycode = [3, 22, 13, 8, 127]  # modifiers like delete, copy, paste\r\n        if key in acceptable_keycode or key >= 255 or (key < 255 and chr(key) in acceptable_characters):\r\n            event.Skip()\r\n            return\r\n        else:\r\n            return False\r\n"
  },
  {
    "path": "gui/builtinContextMenus/itemRemove.py",
    "content": "import math\r\n\r\nimport wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom eos.saveddata.drone import Drone as EosDrone\r\nfrom eos.saveddata.fighter import Fighter as EosFighter\r\nfrom eos.saveddata.fit import Fit as EosFit\r\nfrom eos.saveddata.module import Module as EosModule\r\nfrom gui.contextMenu import ContextMenuCombined\r\nfrom gui.fitCommands.helpers import getSimilarFighters, getSimilarModPositions\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass RemoveItem(ContextMenuCombined):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem, selection):\r\n        if srcContext not in (\r\n                \"fittingModule\", \"droneItem\",\r\n                \"implantItem\", \"boosterItem\",\r\n                \"projectedModule\", \"cargoItem\",\r\n                \"projectedFit\", \"projectedDrone\",\r\n                \"fighterItem\", \"projectedFighter\",\r\n                \"commandFit\", \"graphFitList\",\r\n                \"graphTgtList\"\r\n        ):\r\n            return False\r\n\r\n        if mainItem is None or getattr(mainItem, \"isEmpty\", False):\r\n            return False\r\n\r\n        self.srcContext = srcContext\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem, selection):\r\n        return _t('Remove {item}{stack}').format(\r\n                item=itmContext if itmContext is not None else _t('Item'),\r\n                stack=_t(' Stack') if self.srcContext in ('droneItem', 'projectedDrone', 'cargoItem', 'projectedFit') else '')\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, selection, i):\r\n        handlerMap = {\r\n            'fittingModule': self.__handleModule,\r\n            'droneItem': self.__handleDrone,\r\n            'fighterItem': self.__handleFighter,\r\n            'implantItem': self.__handleImplant,\r\n            'boosterItem': self.__handleBooster,\r\n            'cargoItem': self.__handleCargo,\r\n            'projectedFit': self.__handleProjectedItem,\r\n            'projectedModule': self.__handleProjectedItem,\r\n            'projectedDrone': self.__handleProjectedItem,\r\n            'projectedFighter': self.__handleProjectedItem,\r\n            'commandFit': self.__handleCommandFit,\r\n            'graphFitList': self.__handleGraphItem,\r\n            'graphTgtList': self.__handleGraphItem\r\n        }\r\n        srcContext = fullContext[0]\r\n        handler = handlerMap.get(srcContext)\r\n        if handler is None:\r\n            return\r\n        handler(callingWindow, mainItem, selection)\r\n\r\n    def __handleModule(self, callingWindow, mainItem, selection):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL):\r\n            positions = getSimilarModPositions(fit.modules, mainItem)\r\n        else:\r\n            positions = []\r\n            for mod in selection:\r\n                if mod in fit.modules:\r\n                    positions.append(fit.modules.index(mod))\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveLocalModuleCommand(\r\n                fitID=fitID, positions=positions))\r\n\r\n    def __handleDrone(self, callingWindow, mainItem, selection):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        positions = []\r\n        for drone in selection:\r\n            if drone in fit.drones:\r\n                positions.append(fit.drones.index(drone))\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveLocalDronesCommand(\r\n                fitID=fitID, positions=positions, amount=math.inf))\r\n\r\n    def __handleFighter(self, callingWindow, mainItem, selection):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL):\r\n            fighters = getSimilarFighters(fit.fighters, mainItem)\r\n        else:\r\n            fighters = selection\r\n        positions = []\r\n        for fighter in fighters:\r\n            if fighter in fit.fighters:\r\n                positions.append(fit.fighters.index(fighter))\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveLocalFightersCommand(\r\n                fitID=fitID, positions=positions))\r\n\r\n    def __handleImplant(self, callingWindow, mainItem, selection):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        positions = []\r\n        for implant in selection:\r\n            if implant in fit.implants:\r\n                positions.append(fit.implants.index(implant))\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveImplantsCommand(\r\n                fitID=fitID, positions=positions))\r\n\r\n    def __handleBooster(self, callingWindow, mainItem, selection):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        positions = []\r\n        for booster in selection:\r\n            if booster in fit.boosters:\r\n                positions.append(fit.boosters.index(booster))\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveBoostersCommand(\r\n                fitID=fitID, positions=positions))\r\n\r\n    def __handleCargo(self, callingWindow, mainItem, selection):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        itemIDs = [c.itemID for c in selection]\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveCargosCommand(\r\n                fitID=fitID, itemIDs=itemIDs))\r\n\r\n    def __handleProjectedItem(self, callingWindow, mainItem, selection):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if isinstance(mainItem, EosFit):\r\n            self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(\r\n                    fitID=fitID, items=selection, amount=math.inf))\r\n        elif isinstance(mainItem, EosModule):\r\n            if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL):\r\n                fit = Fit.getInstance().getFit(fitID)\r\n                positions = getSimilarModPositions(fit.projectedModules, mainItem)\r\n                items = [fit.projectedModules[p] for p in positions]\r\n            else:\r\n                items = selection\r\n            self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(\r\n                    fitID=fitID, items=items, amount=math.inf))\r\n        elif isinstance(mainItem, EosDrone):\r\n            self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(\r\n                    fitID=fitID, items=selection, amount=math.inf))\r\n        elif isinstance(mainItem, EosFighter):\r\n            if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL):\r\n                fit = Fit.getInstance().getFit(fitID)\r\n                items = getSimilarFighters(fit.projectedFighters, mainItem)\r\n            else:\r\n                items = selection\r\n            self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(\r\n                    fitID=fitID, items=items, amount=math.inf))\r\n        else:\r\n            self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(\r\n                    fitID=fitID, items=selection, amount=math.inf))\r\n\r\n    def __handleCommandFit(self, callingWindow, mainItem, selection):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        commandFitIDs = [cf.ID for cf in selection]\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveCommandFitsCommand(\r\n                fitID=fitID, commandFitIDs=commandFitIDs))\r\n\r\n    def __handleGraphItem(self, callingWindow, mainItem, selection):\r\n        callingWindow.removeWrappers(selection)\r\n\r\n\r\nRemoveItem.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/itemStats.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom gui.itemStats import ItemStatsFrame\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ItemStats(ContextMenuSingle):\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext not in (\r\n                \"marketItemGroup\", \"marketItemMisc\",\r\n                \"fittingModule\", \"fittingCharge\",\r\n                \"fittingShip\", \"baseShip\",\r\n                \"cargoItem\", \"droneItem\",\r\n                \"implantItem\", \"boosterItem\",\r\n                \"skillItem\", \"projectedModule\",\r\n                \"projectedDrone\", \"projectedCharge\",\r\n                \"itemStats\", \"fighterItem\",\r\n                \"implantItemChar\", \"projectedFighter\",\r\n                \"fittingMode\"\r\n        ):\r\n            return False\r\n\r\n        if (mainItem is None or getattr(mainItem, \"isEmpty\", False)) and srcContext != \"fittingShip\":\r\n            return False\r\n\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"{} Stats\").format(itmContext if itmContext is not None else _t(\"Item\"))\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        srcContext = fullContext[0]\r\n        if srcContext == \"fittingShip\":\r\n            fitID = self.mainFrame.getActiveFit()\r\n            sFit = Fit.getInstance()\r\n            stuff = sFit.getFit(fitID).ship\r\n        elif srcContext == \"fittingMode\":\r\n            stuff = mainItem.item\r\n        else:\r\n            stuff = mainItem\r\n\r\n        if srcContext == \"fittingModule\" and stuff.isEmpty:\r\n            return\r\n\r\n        reuse = False\r\n\r\n        if wx.GetMouseState().GetModifiers() == wx.MOD_SHIFT:\r\n            reuse = True\r\n\r\n        if self.mainFrame.GetActiveStatsWindow() is None and reuse:\r\n            frame = ItemStatsFrame(stuff, fullContext)\r\n        elif reuse:\r\n            lastWnd = self.mainFrame.GetActiveStatsWindow()\r\n            pos = lastWnd.GetPosition()\r\n            maximized = lastWnd.IsMaximized()\r\n            if not maximized:\r\n                size = lastWnd.GetSize()\r\n            else:\r\n                size = wx.DefaultSize\r\n                pos = wx.DefaultPosition\r\n            frame = ItemStatsFrame(stuff, fullContext, pos, size, maximized)\r\n            lastWnd.Close()\r\n\r\n        else:\r\n            frame = ItemStatsFrame(stuff, fullContext)\r\n        frame.Show()\r\n\r\n\r\nItemStats.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/itemVariationChange.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuCombined\r\nfrom gui.fitCommands.helpers import getSimilarFighters, getSimilarModPositions\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ChangeItemToVariation(ContextMenuCombined):\r\n    visibilitySetting = 'metaSwap'\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem, selection):\r\n        if self.mainFrame.getActiveFit() is None or srcContext not in (\r\n                'fittingModule',\r\n                'droneItem',\r\n                'fighterItem',\r\n                'boosterItem',\r\n                'implantItem',\r\n                'cargoItem',\r\n                'projectedModule',\r\n                'projectedDrone',\r\n                'projectedFighter'\r\n        ):\r\n            return False\r\n\r\n        if mainItem is None or getattr(mainItem, 'isEmpty', False):\r\n            return False\r\n\r\n        self.mainVariations = Market.getInstance().getVariationsByItems((mainItem.item,))\r\n        # No variations from current module\r\n        if len(self.mainVariations) < 2:\r\n            return False\r\n\r\n        self.mainItem = mainItem\r\n        self.selection = selection\r\n        self.srcContext = srcContext\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem, selection):\r\n        return _t('Variations')\r\n\r\n    def getSubMenu(self, callingWindow, context, mainItem, selection, rootMenu, i, pitem):\r\n        self.moduleLookup = {}\r\n        sFit = Fit.getInstance()\r\n        sMkt = Market.getInstance()\r\n        fit = sFit.getFit(self.mainFrame.getActiveFit())\r\n\r\n        def get_metalevel(x):\r\n            return x.metaLevel or 0\r\n\r\n        def get_metagroup(x):\r\n            remap = {\r\n                # We want deadspace before officer mods\r\n                5: 6, 6: 5,\r\n                # For structures we want t1-t2-faction\r\n                54: 52, 52: 54\r\n            }\r\n            metaGroup = sMkt.getMetaGroupByItem(x)\r\n            return remap.get(metaGroup.ID, metaGroup.ID) if metaGroup is not None else 0\r\n\r\n        def get_boosterrank(x):\r\n            # If we're returning a lot of items, sort my name\r\n            if len(self.mainVariations) > 7:\r\n                return x.name\r\n            # Sort by booster chance to get some sort of pseudorank.\r\n            elif 'boosterEffectChance1' in x.attributes:\r\n                return x.attributes['boosterEffectChance1'].value\r\n            # the \"first\" rank (Synth) doesn't have boosterEffectChance1. If we're not pulling back all boosters, return 0 for proper sorting\r\n            else:\r\n                return 0\r\n\r\n        m = wx.Menu()\r\n\r\n        # If on Windows we need to bind out events into the root menu, on other\r\n        # platforms they need to go to our sub menu\r\n        if 'wxMSW' in wx.PlatformInfo:\r\n            bindmenu = rootMenu\r\n        else:\r\n            bindmenu = m\r\n\r\n        # Do not show abyssal items\r\n        items = list(\r\n                i for i in self.mainVariations\r\n                if sMkt.getMetaGroupByItem(i) is None or sMkt.getMetaGroupByItem(i).ID != 15)\r\n        # Sort items by metalevel, and group within that metalevel\r\n        # Sort all items by name first\r\n        items.sort(key=lambda x: x.name)\r\n        # Do not do any extra sorting for implants\r\n        if 'implantItem' in context:\r\n            pass\r\n        # Boosters don't have meta or anything concrete that we can rank by. Go by chance to inflict side effect\r\n        elif 'boosterItem' in context:\r\n            items.sort(key=get_boosterrank)\r\n        else:\r\n            # sort by group and meta level\r\n            items.sort(key=get_metalevel)\r\n            items.sort(key=get_metagroup)\r\n\r\n        group = None\r\n        for item in items:\r\n            # Apparently no metaGroup for the Tech I variant:\r\n            metaGroup = sMkt.getMetaGroupByItem(item)\r\n            if 'subSystem' in item.effects:\r\n                thisgroup = item.marketGroup.marketGroupName\r\n            elif metaGroup is None:\r\n                thisgroup = 'Tech I'\r\n            else:\r\n                thisgroup = metaGroup.name\r\n\r\n            if thisgroup != group and context not in ('implantItem', 'boosterItem'):\r\n                group = thisgroup\r\n                id = ContextMenuCombined.nextID()\r\n                m.Append(id, '─ %s ─' % group)\r\n                m.Enable(id, False)\r\n\r\n            id = ContextMenuCombined.nextID()\r\n            mitem = wx.MenuItem(rootMenu, id, item.name)\r\n            bindmenu.Bind(wx.EVT_MENU, self.handleSwitch, mitem)\r\n\r\n            self.moduleLookup[id] = item, context\r\n            m.Append(mitem)\r\n            mitem.Enable(self.srcContext in ('projectedModule', 'projectedDrone', 'projectedFighter') or fit.canFit(item))\r\n\r\n        return m\r\n\r\n    def handleSwitch(self, event):\r\n        item, context = self.moduleLookup.get(event.Id, None)\r\n        if item is None:\r\n            event.Skip()\r\n            return\r\n        handlerMap = {\r\n            'fittingModule': self.__handleModule,\r\n            'droneItem': self.__handleDrone,\r\n            'fighterItem': self.__handleFighter,\r\n            'cargoItem': self.__handleCargo,\r\n            'implantItem': self.__handleImplant,\r\n            'boosterItem': self.__handleBooster,\r\n            'projectedModule': self.__handleProjectedModule,\r\n            'projectedDrone': self.__handleProjectedDrone,\r\n            'projectedFighter': self.__handleProjectedFighter\r\n        }\r\n        handler = handlerMap.get(context)\r\n        if handler is None:\r\n            return\r\n        handler(item)\r\n\r\n    def __handleModule(self, varItem):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL):\r\n            positions = getSimilarModPositions(fit.modules, self.mainItem)\r\n        else:\r\n            sMkt = Market.getInstance()\r\n            positions = []\r\n            for mod in self.selection:\r\n                if mod.isEmpty:\r\n                    continue\r\n                if mod is self.mainItem:\r\n                    positions.append(fit.modules.index(mod))\r\n                    continue\r\n                if mod not in fit.modules:\r\n                    continue\r\n                modVariations = sMkt.getVariationsByItems((mod.item,))\r\n                if modVariations == self.mainVariations:\r\n                    positions.append(fit.modules.index(mod))\r\n        self.mainFrame.command.Submit(cmd.GuiChangeLocalModuleMetasCommand(\r\n                fitID=fitID, positions=positions, newItemID=varItem.ID))\r\n\r\n    def __handleDrone(self, varItem):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        sMkt = Market.getInstance()\r\n        positions = []\r\n        for drone in self.selection:\r\n            if drone not in fit.drones:\r\n                continue\r\n            if drone is self.mainItem:\r\n                positions.append(fit.drones.index(drone))\r\n                continue\r\n            droneVariations = sMkt.getVariationsByItems((drone.item,))\r\n            if droneVariations == self.mainVariations:\r\n                positions.append(fit.drones.index(drone))\r\n        self.mainFrame.command.Submit(cmd.GuiChangeLocalDroneMetasCommand(\r\n                fitID=fitID, positions=positions, newItemID=varItem.ID))\r\n\r\n    def __handleFighter(self, varItem):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL):\r\n            fighters = getSimilarFighters(fit.fighters, self.mainItem)\r\n        else:\r\n            fighters = self.selection\r\n        sMkt = Market.getInstance()\r\n        positions = []\r\n        for fighter in fighters:\r\n            if fighter not in fit.fighters:\r\n                continue\r\n            if fighter is self.mainItem:\r\n                positions.append(fit.fighters.index(fighter))\r\n                continue\r\n            fighterVariations = sMkt.getVariationsByItems((fighter.item,))\r\n            if fighterVariations == self.mainVariations:\r\n                positions.append(fit.fighters.index(fighter))\r\n        self.mainFrame.command.Submit(cmd.GuiChangeLocalFighterMetasCommand(\r\n                fitID=fitID, positions=positions, newItemID=varItem.ID))\r\n\r\n    def __handleCargo(self, varItem):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        sMkt = Market.getInstance()\r\n        itemIDs = []\r\n        for cargo in self.selection:\r\n            if cargo is self.mainItem:\r\n                itemIDs.append(cargo.itemID)\r\n                continue\r\n            cargoVariations = sMkt.getVariationsByItems((cargo.item,))\r\n            if cargoVariations == self.mainVariations:\r\n                itemIDs.append(cargo.itemID)\r\n        self.mainFrame.command.Submit(cmd.GuiChangeCargoMetasCommand(\r\n                fitID=fitID, itemIDs=itemIDs, newItemID=varItem.ID))\r\n\r\n    def __handleImplant(self, varItem):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        implant = self.mainItem\r\n        if implant in fit.implants:\r\n            position = fit.implants.index(implant)\r\n            self.mainFrame.command.Submit(cmd.GuiChangeImplantMetaCommand(\r\n                    fitID=fitID, position=position, newItemID=varItem.ID))\r\n\r\n    def __handleBooster(self, varItem):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        booster = self.mainItem\r\n        if booster in fit.boosters:\r\n            position = fit.boosters.index(booster)\r\n            self.mainFrame.command.Submit(cmd.GuiChangeBoosterMetaCommand(\r\n                    fitID=fitID, position=position, newItemID=varItem.ID))\r\n\r\n    def __handleProjectedModule(self, varItem):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL):\r\n            positions = getSimilarModPositions(fit.projectedModules, self.mainItem)\r\n        else:\r\n            sMkt = Market.getInstance()\r\n            positions = []\r\n            for mod in self.selection:\r\n                if mod is self.mainItem:\r\n                    positions.append(fit.projectedModules.index(mod))\r\n                    continue\r\n                if mod not in fit.projectedModules:\r\n                    continue\r\n                modVariations = sMkt.getVariationsByItems((mod.item,))\r\n                if modVariations == self.mainVariations:\r\n                    positions.append(fit.projectedModules.index(mod))\r\n        self.mainFrame.command.Submit(cmd.GuiChangeProjectedModuleMetasCommand(\r\n                fitID=fitID, positions=positions, newItemID=varItem.ID))\r\n\r\n    def __handleProjectedDrone(self, varItem):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        sMkt = Market.getInstance()\r\n        itemIDs = []\r\n        for drone in self.selection:\r\n            if drone not in fit.projectedDrones:\r\n                continue\r\n            if drone is self.mainItem:\r\n                itemIDs.append(drone.itemID)\r\n                continue\r\n            droneVariations = sMkt.getVariationsByItems((drone.item,))\r\n            if droneVariations == self.mainVariations:\r\n                itemIDs.append(drone.itemID)\r\n        self.mainFrame.command.Submit(cmd.GuiChangeProjectedDroneMetasCommand(\r\n                fitID=fitID, itemIDs=itemIDs, newItemID=varItem.ID))\r\n\r\n    def __handleProjectedFighter(self, varItem):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL):\r\n            fighters = getSimilarFighters(fit.projectedFighters, self.mainItem)\r\n        else:\r\n            fighters = self.selection\r\n        sMkt = Market.getInstance()\r\n        positions = []\r\n        for fighter in fighters:\r\n            if fighter not in fit.projectedFighters:\r\n                continue\r\n            if fighter is self.mainItem:\r\n                positions.append(fit.projectedFighters.index(fighter))\r\n                continue\r\n            fighterVariations = sMkt.getVariationsByItems((fighter.item,))\r\n            if fighterVariations == self.mainVariations:\r\n                positions.append(fit.projectedFighters.index(fighter))\r\n        self.mainFrame.command.Submit(cmd.GuiChangeProjectedFighterMetasCommand(\r\n                fitID=fitID, positions=positions, newItemID=varItem.ID))\r\n\r\n\r\nChangeItemToVariation.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/moduleAmmoChange.py",
    "content": "from collections import OrderedDict\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.contextMenu import ContextMenuCombined\r\nfrom gui.fitCommands.helpers import getSimilarModPositions\r\nfrom service.ammo import Ammo\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ChangeModuleAmmo(ContextMenuCombined):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        # Format: {type ID: set(loadable, charges)}\r\n        self.loadableChargesCache = {}\r\n        # Translations for the missile categories, as the text here is auto-generated via damage attributes\r\n        self.ddMissileChargeCatTrans = {\r\n            'em': _t('EM'),\r\n            'thermal': _t('Thermal'),\r\n            'explosive': _t('Explosive'),\r\n            'kinetic': _t('Kinetic'),\r\n            'mixed': _t('Mixed')}\r\n        self.oreChargeCatTrans = OrderedDict([\r\n            ('a1', _t('Asteroid Simple')),\r\n            ('a2', _t('Asteroid Coherent')),\r\n            ('a3', _t('Asteroid Variegated')),\r\n            ('a4', _t('Asteroid Complex')),\r\n            ('a5', _t('Asteroid Abyssal')),\r\n            ('a6', _t('Asteroid Mercoxit')),\r\n            ('r4', _t('Moon Ubiquitous')),\r\n            ('r8', _t('Moon Common')),\r\n            ('r16', _t('Moon Uncommon')),\r\n            ('r32', _t('Moon Rare')),\r\n            ('r64', _t('Moon Exceptional')),\r\n            ('err', _t('Erratic')),\r\n            ('misc', _t('Misc'))])\r\n\r\n    def display(self, callingWindow, srcContext, mainItem, selection):\r\n        if srcContext not in ('fittingModule', 'projectedModule'):\r\n            return False\r\n\r\n        if self.mainFrame.getActiveFit() is None:\r\n            return False\r\n\r\n        self.mainCharges = self._getAmmo(mainItem)\r\n        if not self.mainCharges:\r\n            return False\r\n\r\n        self.module = mainItem\r\n        self.selection = selection\r\n        self.srcContext = srcContext\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem, selection):\r\n        return _t('Charge')\r\n\r\n    def _getAmmo(self, mod):\r\n        if mod.itemID is None:\r\n            return set()\r\n        if mod.itemID not in self.loadableChargesCache:\r\n            self.loadableChargesCache[mod.itemID] = Ammo.getInstance().getModuleFlatAmmo(mod)\r\n        return self.loadableChargesCache[mod.itemID]\r\n\r\n    def _addCharge(self, menu, charge):\r\n        id_ = ContextMenuCombined.nextID()\r\n        name = charge.name if charge is not None else _t('Empty')\r\n        self.chargeEventMap[id_] = charge\r\n        item = wx.MenuItem(menu, id_, name)\r\n        menu.Bind(wx.EVT_MENU, self.handleAmmoSwitch, item)\r\n        item.charge = charge\r\n        if charge is not None and charge.iconID is not None:\r\n            bitmap = BitmapLoader.getBitmap(charge.iconID, 'icons')\r\n            if bitmap is not None:\r\n                item.SetBitmap(bitmap)\r\n        return item\r\n\r\n    @staticmethod\r\n    def _addSeparator(m, text):\r\n        id_ = ContextMenuCombined.nextID()\r\n        m.Append(id_, '─ %s ─' % text)\r\n        m.Enable(id_, False)\r\n\r\n    def getSubMenu(self, callingWindow, context, mainItem, selection, rootMenu, i, pitem):\r\n        msw = True if 'wxMSW' in wx.PlatformInfo else False\r\n        menu = wx.Menu()\r\n        self.chargeEventMap = {}\r\n        modType, chargeDict = Ammo.getInstance().getModuleStructuredAmmo(self.module, ammo=self.mainCharges)\r\n        if modType == 'ddTurret':\r\n            self._addSeparator(menu, _t('Long Range'))\r\n            menuItems = []\r\n            for charges in chargeDict.values():\r\n                if len(charges) == 1:\r\n                    menuItems.append(self._addCharge(rootMenu if msw else menu, charges[0]))\r\n                else:\r\n                    baseCharge = charges[0]\r\n                    menuItem = self._addCharge(rootMenu if msw else menu, baseCharge)\r\n                    menuItems.append(menuItem)\r\n                    subMenu = wx.Menu()\r\n                    subMenu.Bind(wx.EVT_MENU, self.handleAmmoSwitch)\r\n                    menuItem.SetSubMenu(subMenu)\r\n                    self._addSeparator(subMenu, _t('Less Damage'))\r\n                    for charge in charges:\r\n                        subMenu.Append(self._addCharge(rootMenu if msw else subMenu, charge))\r\n                    self._addSeparator(subMenu, _t('More Damage'))\r\n            for menuItem in menuItems:\r\n                menu.Append(menuItem)\r\n            self._addSeparator(menu, _t('Short Range'))\r\n        elif modType == 'ddMissile':\r\n            menuItems = []\r\n            for chargeCatName, charges in chargeDict.items():\r\n                menuItem = wx.MenuItem(menu, wx.ID_ANY, self.ddMissileChargeCatTrans.get(chargeCatName, chargeCatName))\r\n                bitmap = BitmapLoader.getBitmap(\"%s_small\" % chargeCatName, \"gui\")\r\n                if bitmap is not None:\r\n                    menuItem.SetBitmap(bitmap)\r\n                menuItems.append(menuItem)\r\n                subMenu = wx.Menu()\r\n                subMenu.Bind(wx.EVT_MENU, self.handleAmmoSwitch)\r\n                menuItem.SetSubMenu(subMenu)\r\n                self._addSeparator(subMenu, _t('Less Damage'))\r\n                for charge in charges:\r\n                    subMenu.Append(self._addCharge(rootMenu if msw else subMenu, charge))\r\n                self._addSeparator(subMenu, _t('More Damage'))\r\n            for menuItem in menuItems:\r\n                menu.Append(menuItem)\r\n        elif modType == 'miner':\r\n            menuItems = []\r\n            for catHandle, catLabel in self.oreChargeCatTrans.items():\r\n                charges = chargeDict.get(catHandle)\r\n                if not charges:\r\n                    continue\r\n                if len(charges) == 1:\r\n                    menuItems.append(self._addCharge(rootMenu if msw else menu, charges[0]))\r\n                else:\r\n                    menuItem = wx.MenuItem(menu, wx.ID_ANY, catLabel)\r\n                    menuItems.append(menuItem)\r\n                    subMenu = wx.Menu()\r\n                    subMenu.Bind(wx.EVT_MENU, self.handleAmmoSwitch)\r\n                    menuItem.SetSubMenu(subMenu)\r\n                    for charge in charges:\r\n                        subMenu.Append(self._addCharge(rootMenu if msw else subMenu, charge))\r\n            for menuItem in menuItems:\r\n                menu.Append(menuItem)\r\n        elif modType == 'general':\r\n            for charge in chargeDict['general']:\r\n                menu.Append(self._addCharge(rootMenu if msw else menu, charge))\r\n        menu.Append(self._addCharge(rootMenu if msw else menu, None))\r\n        return menu\r\n\r\n    def handleAmmoSwitch(self, event):\r\n        charge = self.chargeEventMap.get(event.Id, False)\r\n        if charge is False:\r\n            event.Skip()\r\n            return\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(fitID)\r\n        # Switch in selection or all modules, depending on modifier key state and settings\r\n        switchAll = sFit.serviceFittingOptions['ammoChangeAll'] is not (wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL))\r\n        if switchAll:\r\n            if self.srcContext == 'fittingModule':\r\n                command = cmd.GuiChangeLocalModuleChargesCommand\r\n                modContainer = fit.modules\r\n            elif self.srcContext == 'projectedModule':\r\n                command = cmd.GuiChangeProjectedModuleChargesCommand\r\n                modContainer = fit.projectedModules\r\n            else:\r\n                return\r\n            positions = getSimilarModPositions(modContainer, self.module)\r\n            self.mainFrame.command.Submit(command(\r\n                    fitID=fitID,\r\n                    positions=positions,\r\n                    chargeItemID=charge.ID if charge is not None else None))\r\n        else:\r\n            if self.srcContext == 'fittingModule':\r\n                command = cmd.GuiChangeLocalModuleChargesCommand\r\n                modContainer = fit.modules\r\n            elif self.srcContext == 'projectedModule':\r\n                command = cmd.GuiChangeProjectedModuleChargesCommand\r\n                modContainer = fit.projectedModules\r\n            else:\r\n                return\r\n            positions = []\r\n            for position, mod in enumerate(modContainer):\r\n                if mod in self.selection:\r\n                    modCharges = self._getAmmo(mod)\r\n                    if modCharges.issubset(self.mainCharges):\r\n                        positions.append(position)\r\n            self.mainFrame.command.Submit(command(\r\n                    fitID=fitID,\r\n                    positions=positions,\r\n                    chargeItemID=charge.ID if charge is not None else None))\r\n\r\n\r\nChangeModuleAmmo.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/moduleFill.py",
    "content": "import wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FillWithModule(ContextMenuSingle):\r\n    visibilitySetting = 'moduleFill'\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if mainItem is None or getattr(mainItem, 'isEmpty', False):\r\n            return False\r\n\r\n        return srcContext == \"fittingModule\"\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"Fill With {0}\").format(itmContext if itmContext is not None else _t(\"Module\"))\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n\r\n        srcContext = fullContext[0]\r\n        fitID = self.mainFrame.getActiveFit()\r\n\r\n        if srcContext == \"fittingModule\":\r\n            fit = Fit.getInstance().getFit(fitID)\r\n            if mainItem in fit.modules:\r\n                position = fit.modules.index(mainItem)\r\n                self.mainFrame.command.Submit(cmd.GuiFillWithClonedLocalModulesCommand(\r\n                        fitID=fitID, position=position))\r\n\r\n\r\nFillWithModule.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/moduleMutatedExport.py",
    "content": "import wx\r\n\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom gui.utils.clipboard import toClipboard\r\nfrom service.port.muta import renderMutant\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ExportMutatedModule(ContextMenuSingle):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext != 'fittingModule':\r\n            return False\r\n        if self.mainFrame.getActiveFit() is None:\r\n            return False\r\n        if mainItem is None:\r\n            return False\r\n        if not mainItem.isMutated:\r\n            return False\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t('Copy Module to Clipboard')\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        export = renderMutant(mainItem, prefix='  ')\r\n        toClipboard(export)\r\n\r\n\r\nExportMutatedModule.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/moduleRahPattern.py",
    "content": "from collections import OrderedDict\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.builtinContextMenus.shared.patterns import DamagePatternMixin\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ChangeRahPattern(ContextMenuSingle, DamagePatternMixin):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext != 'fittingModule':\r\n            return False\r\n\r\n        if self.mainFrame.getActiveFit() is None:\r\n            return False\r\n\r\n        if (mainItem is None or getattr(mainItem, \"isEmpty\", False)) and srcContext != \"fittingShip\":\r\n            return False\r\n\r\n        if mainItem.item.group.name != 'Armor Resistance Shift Hardener':\r\n            return False\r\n\r\n        self.module = mainItem\r\n        self.patternEventMap = {}\r\n        self.patterns = self._getPatterns()\r\n        self.items = self._getItems(self.patterns)\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t('RAH Damage Pattern')\r\n\r\n    def _addPattern(self, parentMenu, pattern, name):\r\n        id = ContextMenuSingle.nextID()\r\n        self.patternEventMap[id] = pattern\r\n        menuItem = wx.MenuItem(parentMenu, id, name, kind=wx.ITEM_CHECK)\r\n        parentMenu.Bind(wx.EVT_MENU, self.handlePatternSwitch, menuItem)\r\n\r\n        checked = self.module.rahPatternOverride is pattern\r\n        return menuItem, checked\r\n\r\n    def _addCategory(self, parentMenu, name):\r\n        id = ContextMenuSingle.nextID()\r\n        menuItem = wx.MenuItem(parentMenu, id, name)\r\n        parentMenu.Bind(wx.EVT_MENU, self.handlePatternSwitch, menuItem)\r\n        return menuItem\r\n\r\n    def getSubMenu(self, callingWindow, context, mainItem, rootMenu, i, pitem):\r\n        # Category as menu item - expands further\r\n        msw = \"wxMSW\" in wx.PlatformInfo\r\n\r\n        def makeMenu(container, parentMenu, root=False):\r\n            menu = wx.Menu()\r\n            if root:\r\n                menuItem, checked = self._addPattern(rootMenu if msw else parentMenu, None, 'Fit Pattern')\r\n                menu.Append(menuItem)\r\n                menuItem.Check(checked)\r\n                menuItem, checked = self._addPattern(rootMenu if msw else parentMenu, 'disable', 'Do Not Adapt')\r\n                menu.Append(menuItem)\r\n                menuItem.Check(checked)\r\n                menu.AppendSeparator()\r\n            for name, subcontainer in container[1].items():\r\n                menuItem = self._addCategory(rootMenu if msw else parentMenu, name)\r\n                subMenu = makeMenu(subcontainer, menu)\r\n                menuItem.SetSubMenu(subMenu)\r\n                menu.Append(menuItem)\r\n            for name, pattern in container[0].items():\r\n                menuItem, checked = self._addPattern(rootMenu if msw else parentMenu, pattern, name)\r\n                menu.Append(menuItem)\r\n                menuItem.Check(checked)\r\n            menu.Bind(wx.EVT_MENU, self.handlePatternSwitch)\r\n            return menu\r\n\r\n        subMenu = makeMenu(self.items, rootMenu, root=True)\r\n        return subMenu\r\n\r\n    def handlePatternSwitch(self, event):\r\n        pattern = self.patternEventMap.get(event.Id, False)\r\n        if pattern is False:\r\n            event.Skip()\r\n            return\r\n        sFit = Fit.getInstance()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        sFit.setRahPattern(fitID, self.module, pattern)\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n\r\nChangeRahPattern.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/moduleSpool.py",
    "content": "import math\r\n\r\nimport wx\r\n\r\nimport eos.config\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom eos.utils.spoolSupport import SpoolOptions, SpoolType\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom service.fit import Fit\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ChangeModuleSpool(ContextMenuSingle):\r\n    visibilitySetting = 'spoolup'\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.resetId = None\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext not in ('fittingModule', 'projectedModule') or self.mainFrame.getActiveFit() is None:\r\n            return False\r\n\r\n        if mainItem is None or mainItem.isEmpty:\r\n            return False\r\n\r\n        self.mod = mainItem\r\n        self.context = srcContext\r\n\r\n        return self.mod.item.group.name in (\"Precursor Weapon\", \"Mutadaptive Remote Armor Repairer\")\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"Spoolup Cycles\")\r\n\r\n    def getSubMenu(self, callingWindow, context, mainItem, rootMenu, i, pitem):\r\n        m = wx.Menu()\r\n        if \"wxMSW\" in wx.PlatformInfo:\r\n            bindmenu = rootMenu\r\n        else:\r\n            bindmenu = m\r\n\r\n        isNotDefault = self.mod.spoolType is not None and self.mod.spoolAmount is not None\r\n        cycleDefault = self.mod.getSpoolData(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, eos.config.settings['globalDefaultSpoolupPercentage'], True))[0]\r\n        cycleCurrent = self.mod.getSpoolData(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, eos.config.settings['globalDefaultSpoolupPercentage'], False))[0]\r\n        cycleMin = self.mod.getSpoolData(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 0, True))[0]\r\n        cycleMax = self.mod.getSpoolData(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 1, True))[0]\r\n        cycleTotalMin = min(cycleDefault, cycleCurrent, cycleMin)\r\n        cycleTotalMax = max(cycleDefault, cycleCurrent, cycleMax)\r\n\r\n        def findCycles(val1, val2):\r\n            # Try to compose list of 21 steps max (0-20)\r\n            maxSteps = 20\r\n            valDiff = val2 - val1\r\n            valScale = valDiff / maxSteps\r\n            minStep = math.ceil(round(valScale, 9))\r\n            maxStep = math.floor(round(valDiff / 4, 9))\r\n            # Check steps from smallest to highest and see if we can go from min value\r\n            # to max value using those\r\n            for currentStep in range(minStep, maxStep + 1):\r\n                if valDiff % currentStep == 0:\r\n                    return set(range(val1, val2 + currentStep, currentStep))\r\n            # Otherwise just split range in halves and go both ends using min values\r\n            else:\r\n                cycles = set()\r\n                while val2 >= val1:\r\n                    cycles.add(val1)\r\n                    cycles.add(val2)\r\n                    val1 += minStep\r\n                    val2 -= minStep\r\n                return cycles\r\n\r\n        self.cycleMap = {}\r\n        cyclesToShow = findCycles(cycleMin, cycleMax)\r\n        for cycle in range(cycleTotalMin, cycleTotalMax + 1):\r\n            menuId = ContextMenuSingle.nextID()\r\n\r\n            # Show default only for current value and when not overriden\r\n            if not isNotDefault and cycle == cycleDefault:\r\n                text = _t(\"{} (default)\").format(cycle)\r\n            # Always show current selection and stuff which we decided to show via the cycles function\r\n            elif cycle == cycleCurrent or cycle in cyclesToShow:\r\n                text = \"{}\".format(cycle)\r\n            # Ignore the rest to not have very long menu\r\n            else:\r\n                continue\r\n\r\n            item = wx.MenuItem(m, menuId, text, kind=wx.ITEM_CHECK)\r\n            bindmenu.Bind(wx.EVT_MENU, self.handleSpoolChange, item)\r\n            m.Append(item)\r\n            item.Check(isNotDefault and cycle == cycleCurrent)\r\n            self.cycleMap[menuId] = cycle\r\n\r\n        self.resetId = ContextMenuSingle.nextID()\r\n        item = wx.MenuItem(m, self.resetId, _t(\"Reset\"))\r\n        bindmenu.Bind(wx.EVT_MENU, self.handleSpoolChange, item)\r\n        m.Append(item)\r\n\r\n        return m\r\n\r\n    def handleSpoolChange(self, event):\r\n        if event.Id == self.resetId:\r\n            spoolType = None\r\n            spoolAmount = None\r\n        elif event.Id in self.cycleMap:\r\n            spoolType = SpoolType.CYCLES\r\n            spoolAmount = self.cycleMap[event.Id]\r\n        else:\r\n            return\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        if self.context == 'fittingModule':\r\n            if self.mod in fit.modules:\r\n                position = fit.modules.index(self.mod)\r\n                self.mainFrame.command.Submit(cmd.GuiChangeLocalModuleSpoolCommand(\r\n                        fitID=fitID, position=position, spoolType=spoolType, spoolAmount=spoolAmount))\r\n        elif self.context == 'projectedModule':\r\n            if self.mod in fit.projectedModules:\r\n                position = fit.projectedModules.index(self.mod)\r\n                self.mainFrame.command.Submit(cmd.GuiChangeProjectedModuleSpoolCommand(\r\n                        fitID=fitID, position=position, spoolType=spoolType, spoolAmount=spoolAmount))\r\n\r\n\r\nChangeModuleSpool.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/priceOptions.py",
    "content": "from abc import ABCMeta, abstractmethod\r\n\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.settings import MarketPriceSettings\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ItemGroupPrice(ContextMenuUnconditional, metaclass=ABCMeta):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.settings = MarketPriceSettings.getInstance()\r\n\r\n    @property\r\n    @abstractmethod\r\n    def optionName(self):\r\n        raise NotImplementedError()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        return srcContext in (\"priceViewFull\", \"priceViewMinimal\")\r\n\r\n    def activate(self, callingWindow, fullContext, i):\r\n        self.settings.set(self.optionName, not self.settings.get(self.optionName))\r\n        fitID = self.mainFrame.getActiveFit()\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n    def isChecked(self, i):\r\n        return self.settings.get(self.optionName)\r\n\r\n\r\nclass DronesPrice(ItemGroupPrice):\r\n    optionName = 'drones'\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Drones')\r\n\r\n\r\nclass CargoPrice(ItemGroupPrice):\r\n    optionName = 'cargo'\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Cargo')\r\n\r\n\r\nclass ImplantBoosterPrice(ItemGroupPrice):\r\n    optionName = 'character'\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Implants && Boosters')\r\n\r\n\r\nDronesPrice.register()\r\nCargoPrice.register()\r\nImplantBoosterPrice.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/resistMode.py",
    "content": "from collections import OrderedDict\r\n\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom graphs.events import ResistModeChanged\r\nfrom graphs.wrapper import TargetWrapper\r\nfrom gui.contextMenu import ContextMenuCombined\r\nfrom service.const import TargetResistMode\r\nfrom service.settings import GraphSettings\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n_t = wx.GetTranslation\r\n\r\noptionMap = OrderedDict((\r\n    ('Auto', TargetResistMode.auto),\r\n    ('Shield', TargetResistMode.shield),\r\n    ('Armor', TargetResistMode.armor),\r\n    ('Hull', TargetResistMode.hull),\r\n    ('Weighted Average', TargetResistMode.weightedAverage)))\r\n\r\n\r\nclass TargetWrapperResists(ContextMenuCombined):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem, selection):\r\n        if srcContext != 'graphTgtList':\r\n            return False\r\n        if GraphSettings.getInstance().get('ignoreResists'):\r\n            return False\r\n        if not isinstance(mainItem, TargetWrapper) or not mainItem.isFit:\r\n            return False\r\n        self.callingWindow = callingWindow\r\n        self.selection = selection\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem, selection):\r\n        return _t('Resist Mode')\r\n\r\n    def addOption(self, menu, optionLabel):\r\n        id = ContextMenuCombined.nextID()\r\n        self.optionIds[id] = optionLabel\r\n        menuItem = wx.MenuItem(menu, id, optionLabel, kind=wx.ITEM_CHECK)\r\n        menu.Bind(wx.EVT_MENU, self.handleMode, menuItem)\r\n        return menuItem\r\n\r\n    def getSubMenu(self, callingWindow, context, mainItem, selection, rootMenu, i, pitem):\r\n        msw = True if \"wxMSW\" in wx.PlatformInfo else False\r\n        self.optionIds = {}\r\n        sub = wx.Menu()\r\n        for optionLabel, optionValue in optionMap.items():\r\n            menuItem = self.addOption(rootMenu if msw else sub, optionLabel)\r\n            sub.Append(menuItem)\r\n            menuItem.Check(mainItem.resistMode == optionValue)\r\n        return sub\r\n\r\n    def handleMode(self, event):\r\n        optionLabel = self.optionIds[event.Id]\r\n        optionValue = optionMap[optionLabel]\r\n        changedFitIDs = set()\r\n        for wrapper in self.selection:\r\n            if wrapper.isFit and wrapper.resistMode != optionValue:\r\n                wrapper.resistMode = optionValue\r\n                changedFitIDs.add(wrapper.item.ID)\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), ResistModeChanged(fitIDs=changedFitIDs))\r\n\r\n\r\nTargetWrapperResists.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/shared/__init__.py",
    "content": ""
  },
  {
    "path": "gui/builtinContextMenus/shared/patterns.py",
    "content": "from collections import OrderedDict\r\nfrom itertools import chain\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom gui.utils.sorter import smartSort\r\nfrom service.damagePattern import DamagePattern as DmgPatternSvc\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass DamagePatternMixin:\r\n\r\n    def _getPatterns(self):\r\n        sDP = DmgPatternSvc.getInstance()\r\n        builtinPatterns = sDP.getBuiltinDamagePatternList()\r\n        userPatterns = sorted(sDP.getUserDamagePatternList(), key=lambda p: smartSort(p.fullName))\r\n        # Order here is important: patterns with duplicate names from the latter will overwrite\r\n        # patterns from the former\r\n        patterns = sorted(\r\n                chain(builtinPatterns, userPatterns),\r\n                key=lambda p: p.fullName not in [\"Uniform\", \"Selected Ammo\"])\r\n        return patterns\r\n\r\n    def _getItems(self, patterns):\r\n        items = (OrderedDict(), OrderedDict())\r\n        for pattern in patterns:\r\n            container = items\r\n            for categoryName in pattern.hierarchy:\r\n                categoryName = _t(categoryName) if pattern.builtin else categoryName\r\n                container = container[1].setdefault(categoryName, (OrderedDict(), OrderedDict()))\r\n            shortName = _t(pattern.shortName) if pattern.builtin else pattern.shortName\r\n            container[0][shortName] = pattern\r\n        return items\r\n"
  },
  {
    "path": "gui/builtinContextMenus/shipJump.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom gui.builtinShipBrowser.events import Stage3Selected\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass JumpToShip(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        if srcContext != \"fittingShip\":\r\n            return False\r\n        fitTabSelected = self.mainFrame.notebookBrowsers.GetSelection() == 1\r\n        if not fitTabSelected:\r\n            return True\r\n        browsingStage = self.mainFrame.shipBrowser.GetActiveStage()\r\n        if browsingStage != 3:\r\n            return True\r\n        fitID = self.mainFrame.getActiveFit()\r\n        ship = Fit.getInstance().getFit(fitID).ship\r\n        browsingShipID = self.mainFrame.shipBrowser.GetStageData(browsingStage)\r\n        if browsingShipID != ship.item.ID:\r\n            return True\r\n        return False\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t(\"Open in Fitting Browser\")\r\n\r\n    def activate(self, callingWindow, fullContext, i):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        ship = Fit.getInstance().getFit(fitID).ship\r\n        self.mainFrame.notebookBrowsers.SetSelection(1)\r\n        wx.PostEvent(self.mainFrame.shipBrowser, Stage3Selected(shipID=ship.item.ID, back=True))\r\n\r\n\r\nJumpToShip.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/shipModeChange.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ChangeShipTacticalMode(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.modeMap = {\r\n            'Defense': _t('Defense'),\r\n            'Propulsion': _t('Propulsion'),\r\n            'Sharpshooter': _t('Sharpshooter'),\r\n            'Primary': _t('Primary'),\r\n            'Secondary': _t('Secondary'),\r\n            'Tertiary': _t('Tertiary'),\r\n        }\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        if self.mainFrame.getActiveFit() is None or srcContext != \"fittingShip\":\r\n            return False\r\n\r\n        sFit = Fit.getInstance()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        fit = sFit.getFit(fitID)\r\n\r\n        self.modes = fit.ship.modes\r\n        self.currMode = fit.mode\r\n\r\n        return srcContext == \"fittingShip\" and self.modes is not None\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t(\"Tactical Mode\")\r\n\r\n    def addMode(self, menu, mode):\r\n        key = mode.item.typeName.rsplit()[-2]\r\n        label = self.modeMap[key]\r\n\r\n        id = ContextMenuUnconditional.nextID()\r\n        self.modeIds[id] = mode\r\n        menuItem = wx.MenuItem(menu, id, label, kind=wx.ITEM_RADIO)\r\n        menu.Bind(wx.EVT_MENU, self.handleMode, menuItem)\r\n        return menuItem\r\n\r\n    def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):\r\n        msw = True if \"wxMSW\" in wx.PlatformInfo else False\r\n        self.context = context\r\n        self.modeIds = {}\r\n\r\n        sub = wx.Menu()\r\n\r\n        for mode in self.modes:\r\n            menuItem = self.addMode(rootMenu if msw else sub, mode)\r\n            sub.Append(menuItem)\r\n            menuItem.Check(self.currMode.item == mode.item)\r\n\r\n        return sub\r\n\r\n    def handleMode(self, event):\r\n        item = self.modeIds[event.Id]\r\n        if item is False or item not in self.modes:\r\n            event.Skip()\r\n            return\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        self.mainFrame.command.Submit(cmd.GuiChangeShipModeCommand(fitID, self.modeIds[event.Id].item.ID))\r\n\r\n\r\nChangeShipTacticalMode.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/skillAffectors.py",
    "content": "# noinspection PyPackageRequirements\r\n\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom eos.saveddata.character import Skill\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom service.character import Character\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ChangeAffectingSkills(ContextMenuSingle):\r\n    visibilitySetting = 'changeAffectingSkills'\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext not in (\r\n                \"fittingModule\", \"fittingCharge\",\r\n                \"fittingShip\", \"droneItem\",\r\n                \"fighterItem\"\r\n        ):\r\n            return False\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is None:\r\n            return False\r\n\r\n        if (mainItem is None or getattr(mainItem, \"isEmpty\", False)) and srcContext != \"fittingShip\":\r\n            return False\r\n\r\n        self.sChar = Character.getInstance()\r\n        self.sFit = Fit.getInstance()\r\n        fit = self.sFit.getFit(fitID)\r\n\r\n        self.charID = fit.character.ID\r\n\r\n        # if self.sChar.getCharName(self.charID) in (\"All 0\", \"All 5\"):\r\n        #    return False\r\n\r\n        if srcContext == \"fittingShip\":\r\n            sFit = Fit.getInstance()\r\n            self.stuff = sFit.getFit(fitID).ship\r\n            cont = sFit.getFit(fitID).ship.itemModifiedAttributes\r\n        elif srcContext == \"fittingCharge\":\r\n            cont = mainItem.chargeModifiedAttributes\r\n        else:\r\n            cont = mainItem.itemModifiedAttributes\r\n\r\n        skills = set()\r\n\r\n        for attrName in cont.iterAfflictions():\r\n            if cont[attrName] == 0:\r\n                continue\r\n\r\n            for fit, afflictors in cont.getAfflictions(attrName).items():\r\n                for afflictor, operator, stackingGroup, preResAmount, postResAmount, used in afflictors:\r\n                    # only add Skills\r\n                    if not isinstance(afflictor, Skill):\r\n                        continue\r\n\r\n                    skills.add(afflictor)\r\n\r\n        self.skills = sorted(skills, key=lambda x: x.item.name)\r\n        return len(self.skills) > 0\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return _t(\"Change %s Skills\") % itmContext\r\n\r\n    def addSkill(self, rootMenu, skill, i):\r\n        if i < 0:\r\n            label = _t(\"Not Learned\")\r\n        else:\r\n            label = _t(\"Level %s\") % i\r\n\r\n        id = ContextMenuSingle.nextID()\r\n        self.skillIds[id] = (skill, i)\r\n        menuItem = wx.MenuItem(rootMenu, id, label, kind=wx.ITEM_RADIO)\r\n        rootMenu.Bind(wx.EVT_MENU, self.handleSkillChange, menuItem)\r\n        return menuItem\r\n\r\n    def getSubMenu(self, callingWindow, context, mainItem, rootMenu, i, pitem):\r\n        msw = True if \"wxMSW\" in wx.PlatformInfo else False\r\n        self.skillIds = {}\r\n        sub = wx.Menu()\r\n\r\n        for skill in self.skills:\r\n            skillItem = wx.MenuItem(sub, ContextMenuSingle.nextID(), skill.item.name)\r\n            grandSub = wx.Menu()\r\n            skillItem.SetSubMenu(grandSub)\r\n            if skill.learned:\r\n                bitmap = BitmapLoader.getBitmap(\"lvl%s\" % skill.level, \"gui\")\r\n                if bitmap is not None:\r\n                    skillItem.SetBitmap(bitmap)\r\n\r\n            for i in range(-1, 6):\r\n                levelItem = self.addSkill(rootMenu if msw else grandSub, skill, i)\r\n                grandSub.Append(levelItem)\r\n                if (not skill.learned and i == -1) or (skill.learned and skill.level == i):\r\n                    levelItem.Check(True)\r\n            sub.Append(skillItem)\r\n\r\n        return sub\r\n\r\n    def handleSkillChange(self, event):\r\n        skill, level = self.skillIds[event.Id]\r\n\r\n        self.sChar.changeLevel(self.charID, skill.item.ID, level)\r\n        fitID = self.mainFrame.getActiveFit()\r\n        self.sFit.changeChar(fitID, self.charID)\r\n\r\n        wx.PostEvent(self.mainFrame, GE.CharListUpdated())\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n\r\nChangeAffectingSkills.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/targetProfile/__init__.py",
    "content": ""
  },
  {
    "path": "gui/builtinContextMenus/targetProfile/adder.py",
    "content": "from collections import OrderedDict\r\nfrom itertools import chain\r\n\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom eos.saveddata.targetProfile import TargetProfile\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom gui.utils.sorter import smartSort\r\nfrom service.targetProfile import TargetProfile as svc_TargetProfile\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass TargetProfileAdder(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        if srcContext != 'graphTgtList':\r\n            return False\r\n        # We always show \"Ideal Profile\" anyway\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        return _t('Add Target Profile')\r\n\r\n    def handleProfileAdd(self, event):\r\n        profile = self.eventProfileMap.get(event.Id, False)\r\n        if profile is False:\r\n            event.Skip()\r\n            return\r\n        self.callingWindow.addProfile(profile)\r\n\r\n    def _addProfile(self, parentMenu, profile, name):\r\n        id = ContextMenuUnconditional.nextID()\r\n        self.eventProfileMap[id] = profile\r\n        menuItem = wx.MenuItem(parentMenu, id, name)\r\n        parentMenu.Bind(wx.EVT_MENU, self.handleProfileAdd, menuItem)\r\n        return menuItem\r\n\r\n    def _addCategory(self, parentMenu, name):\r\n        id = ContextMenuUnconditional.nextID()\r\n        menuItem = wx.MenuItem(parentMenu, id, name)\r\n        parentMenu.Bind(wx.EVT_MENU, self.handleProfileAdd, menuItem)\r\n        return menuItem\r\n\r\n    def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):\r\n        self.callingWindow = callingWindow\r\n        sTR = svc_TargetProfile.getInstance()\r\n        profiles = list(chain(sTR.getBuiltinTargetProfileList(), sTR.getUserTargetProfileList()))\r\n        profiles.sort(key=lambda p: smartSort(p.fullName))\r\n\r\n        self.eventProfileMap = {}\r\n        items = (OrderedDict(), OrderedDict())\r\n        for profile in profiles:\r\n            container = items\r\n            for categoryName in profile.hierarchy:\r\n                categoryName = _t(categoryName) if profile.builtin else categoryName\r\n                container = container[1].setdefault(categoryName, (OrderedDict(), OrderedDict()))\r\n            shortName = _t(profile.shortName) if profile.builtin else profile.shortName\r\n            container[0][shortName] = profile\r\n\r\n        # Category as menu item - expands further\r\n        msw = \"wxMSW\" in wx.PlatformInfo\r\n\r\n        def makeMenu(container, parentMenu, first=False):\r\n            menu = wx.Menu()\r\n            if first:\r\n                idealProfile = TargetProfile.getIdeal()\r\n                mitem = self._addProfile(rootMenu if msw else parentMenu, idealProfile, idealProfile.fullName)\r\n                menu.Append(mitem)\r\n            for name, pattern in container[0].items():\r\n                menuItem = self._addProfile(rootMenu if msw else parentMenu, pattern, name)\r\n                menu.Append(menuItem)\r\n            for name, subcontainer in container[1].items():\r\n                menuItem = self._addCategory(rootMenu if msw else parentMenu, name)\r\n                subMenu = makeMenu(subcontainer, menu)\r\n                menuItem.SetSubMenu(subMenu)\r\n                menu.Append(menuItem)\r\n            menu.Bind(wx.EVT_MENU, self.handleProfileAdd)\r\n            return menu\r\n\r\n        subMenu = makeMenu(items, rootMenu, first=True)\r\n        return subMenu\r\n\r\n\r\nTargetProfileAdder.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/targetProfile/editor.py",
    "content": "import wx\r\n\r\nimport gui.mainFrame\r\nfrom graphs.wrapper import TargetWrapper\r\nfrom gui.contextMenu import ContextMenuSingle\r\nfrom gui.targetProfileEditor import TargetProfileEditor\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass TargetProfileEditorMenu(ContextMenuSingle):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext, mainItem):\r\n        if srcContext != 'graphTgtList':\r\n            return False\r\n        if not isinstance(mainItem, TargetWrapper):\r\n            return False\r\n        if not mainItem.isProfile:\r\n            return False\r\n        if mainItem.item.builtin:\r\n            return False\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext, mainItem):\r\n        return 'Edit Target Profile'\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        TargetProfileEditor.openOne(parent=self.mainFrame, selected=mainItem.item)\r\n\r\n\r\nTargetProfileEditorMenu.register()\r\n"
  },
  {
    "path": "gui/builtinContextMenus/targetProfile/switcher.py",
    "content": "from collections import OrderedDict\r\nfrom itertools import chain\r\n\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenuUnconditional\r\nfrom gui.utils.sorter import smartSort\r\nfrom service.fit import Fit\r\nfrom service.targetProfile import TargetProfile as svc_TargetProfile\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass TargetProfileSwitcher(ContextMenuUnconditional):\r\n\r\n    def __init__(self):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def display(self, callingWindow, srcContext):\r\n        if srcContext != 'firepowerViewFull':\r\n            return False\r\n        if self.mainFrame.getActiveFit() is None:\r\n            return False\r\n        # We always show \"No Profile\" anyway\r\n        return True\r\n\r\n    def getText(self, callingWindow, itmContext):\r\n        # We take into consideration just target resists, so call menu item accordingly\r\n        return _t('Target Resists')\r\n\r\n    def handleResistSwitch(self, event):\r\n        profile = self.profileEventMap.get(event.Id, False)\r\n        if profile is False:\r\n            event.Skip()\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        sFit.setTargetProfile(fitID, profile)\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n    def _addProfile(self, parentMenu, profile, name):\r\n        id = ContextMenuUnconditional.nextID()\r\n        self.profileEventMap[id] = profile\r\n        menuItem = wx.MenuItem(parentMenu, id, name, kind=wx.ITEM_CHECK)\r\n        parentMenu.Bind(wx.EVT_MENU, self.handleResistSwitch, menuItem)\r\n\r\n        # determine active profile\r\n        sFit = Fit.getInstance()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        checked = sFit.getFit(fitID).targetProfile is profile\r\n        return menuItem, checked\r\n\r\n    def _addCategory(self, parentMenu, name):\r\n        id = ContextMenuUnconditional.nextID()\r\n        menuItem = wx.MenuItem(parentMenu, id, name)\r\n        parentMenu.Bind(wx.EVT_MENU, self.handleResistSwitch, menuItem)\r\n        return menuItem\r\n\r\n    def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):\r\n        sTR = svc_TargetProfile.getInstance()\r\n        profiles = list(chain(sTR.getBuiltinTargetProfileList(), sTR.getUserTargetProfileList()))\r\n        profiles.sort(key=lambda p: smartSort(p.fullName))\r\n\r\n        self.profileEventMap = {}\r\n        items = (OrderedDict(), OrderedDict())\r\n        for profile in profiles:\r\n            container = items\r\n            for categoryName in profile.hierarchy:\r\n                categoryName = _t(categoryName) if profile.builtin else categoryName\r\n                container = container[1].setdefault(categoryName, (OrderedDict(), OrderedDict()))\r\n            shortName = _t(profile.shortName) if profile.builtin else profile.shortName\r\n            container[0][shortName] = profile\r\n\r\n        # Category as menu item - expands further\r\n        msw = \"wxMSW\" in wx.PlatformInfo\r\n\r\n        def makeMenu(container, parentMenu, first=False):\r\n            menu = wx.Menu()\r\n            if first:\r\n                mitem, checked = self._addProfile(rootMenu if msw else parentMenu, None, _t('No Profile'))\r\n                menu.Append(mitem)\r\n                mitem.Check(checked)\r\n                if len(container[0]) > 0 or len(container[1]) > 0:\r\n                    menu.AppendSeparator()\r\n            for name, pattern in container[0].items():\r\n                menuItem, checked = self._addProfile(rootMenu if msw else parentMenu, pattern, name)\r\n                menu.Append(menuItem)\r\n                menuItem.Check(checked)\r\n            for name, subcontainer in container[1].items():\r\n                menuItem = self._addCategory(rootMenu if msw else parentMenu, name)\r\n                subMenu = makeMenu(subcontainer, menu)\r\n                menuItem.SetSubMenu(subMenu)\r\n                menu.Append(menuItem)\r\n            menu.Bind(wx.EVT_MENU, self.handleResistSwitch)\r\n            return menu\r\n\r\n        subMenu = makeMenu(items, rootMenu, first=True)\r\n        return subMenu\r\n\r\n\r\nTargetProfileSwitcher.register()\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/__init__.py",
    "content": ""
  },
  {
    "path": "gui/builtinItemStatsViews/attributeGrouping.py",
    "content": "from service.const import GuiAttrGroup\r\n\r\nRequiredSkillAttrs = sum(([\"requiredSkill{}\".format(x), \"requiredSkill{}Level\".format(x)] for x in range(1, 7)), [])\r\n\r\n#todo: maybe moved some of these basic definitions into eos proper? Can really be useful with effect writing as a lot of these are used over and over\r\ndamage_types = [\"em\", \"thermal\", \"kinetic\", \"explosive\"]\r\nscan_types = [\"radar\", \"magnetometric\", \"gravimetric\", \"ladar\"]\r\n\r\nDamageAttrs = [\"{}Damage\".format(x) for x in damage_types]\r\nHullResistsAttrs = [\"{}DamageResonance\".format(x) for x in damage_types]\r\nArmorResistsAttrs = [\"armor{}DamageResonance\".format(x.capitalize()) for x in damage_types]\r\nShieldResistsAttrs = [\"shield{}DamageResonance\".format(x.capitalize()) for x in damage_types]\r\nScanStrAttrs = [\"scan{}Strength\".format(x.capitalize()) for x in scan_types]\r\n\r\n# todo: convert to named tuples?\r\nAttrGroups = [\r\n    (DamageAttrs, \"Damage\"),\r\n    (HullResistsAttrs, \"Resistances\"),\r\n    (ArmorResistsAttrs, \"Resistances\"),\r\n    (ShieldResistsAttrs, \"Resistances\"),\r\n    (ScanStrAttrs, \"Sensor Strengths\")\r\n]\r\n\r\nGroupedAttributes = []\r\nfor x in AttrGroups:\r\n    GroupedAttributes += x[0]\r\n\r\n# Start defining all the known attribute groups\r\nAttrGroupDict = {\r\n    GuiAttrGroup.FITTING           : {\r\n        \"label\" : \"Fitting\",\r\n        \"attributes\": [\r\n            # parent-level attributes\r\n            \"cpuOutput\",\r\n            \"powerOutput\",\r\n            \"upgradeCapacity\",\r\n            \"hiSlots\",\r\n            \"medSlots\",\r\n            \"lowSlots\",\r\n            \"serviceSlots\",\r\n            \"turretSlotsLeft\",\r\n            \"launcherSlotsLeft\",\r\n            \"upgradeSlotsLeft\",\r\n            # child-level attributes\r\n            \"cpu\",\r\n            \"power\",\r\n            \"rigSize\",\r\n            \"upgradeCost\",\r\n            # \"mass\",\r\n        ]\r\n    },\r\n    GuiAttrGroup.STRUCTURE         : {\r\n        \"label\" : \"Structure\",\r\n        \"attributes\": [\r\n            \"hp\",\r\n            \"capacity\",\r\n            \"mass\",\r\n            \"volume\",\r\n            \"agility\",\r\n            \"droneCapacity\",\r\n            \"droneBandwidth\",\r\n            \"generalMiningHoldCapacity\",\r\n            \"specialIceHoldCapacity\",\r\n            \"specialGasHoldCapacity\",\r\n            \"specialMineralHoldCapacity\",\r\n            \"specialSalvageHoldCapacity\",\r\n            \"specialShipHoldCapacity\",\r\n            \"specialSmallShipHoldCapacity\",\r\n            \"specialMediumShipHoldCapacity\",\r\n            \"specialLargeShipHoldCapacity\",\r\n            \"specialIndustrialShipHoldCapacity\",\r\n            \"specialAmmoHoldCapacity\",\r\n            \"specialCommandCenterHoldCapacity\",\r\n            \"specialPlanetaryCommoditiesHoldCapacity\",\r\n            \"specialColonyResourcesHoldCapacity\",\r\n            \"structureDamageLimit\",\r\n            \"specialSubsystemHoldCapacity\",\r\n            \"emDamageResonance\",\r\n            \"thermalDamageResonance\",\r\n            \"kineticDamageResonance\",\r\n            \"explosiveDamageResonance\"\r\n        ]\r\n    },\r\n    GuiAttrGroup.ARMOR             : {\r\n       \"label\": \"Armor\",\r\n        \"attributes\":[\r\n            \"armorHP\",\r\n            \"armorDamageLimit\",\r\n            \"armorEmDamageResonance\",\r\n            \"armorThermalDamageResonance\",\r\n            \"armorKineticDamageResonance\",\r\n            \"armorExplosiveDamageResonance\",\r\n        ]\r\n\r\n    },\r\n    GuiAttrGroup.SHIELD            : {\r\n        \"label\": \"Shield\",\r\n        \"attributes\": [\r\n            \"shieldCapacity\",\r\n            \"shieldRechargeRate\",\r\n            \"shieldDamageLimit\",\r\n            \"shieldEmDamageResonance\",\r\n            \"shieldExplosiveDamageResonance\",\r\n            \"shieldKineticDamageResonance\",\r\n            \"shieldThermalDamageResonance\",\r\n        ]\r\n\r\n    },\r\n    GuiAttrGroup.EWAR_RESISTS      : {\r\n        \"label\": \"Electronic Warfare\",\r\n        \"attributes\": [\r\n            \"ECMResistance\",\r\n            \"remoteAssistanceImpedance\",\r\n            \"remoteRepairImpedance\",\r\n            \"energyWarfareResistance\",\r\n            \"sensorDampenerResistance\",\r\n            \"stasisWebifierResistance\",\r\n            \"targetPainterResistance\",\r\n            \"weaponDisruptionResistance\",\r\n        ]\r\n    },\r\n    GuiAttrGroup.CAPACITOR         : {\r\n        \"label\": \"Capacitor\",\r\n        \"attributes\": [\r\n            \"capacitorCapacity\",\r\n            \"rechargeRate\",\r\n        ]\r\n    },\r\n    GuiAttrGroup.TARGETING         : {\r\n        \"label\": \"Targeting\",\r\n        \"attributes\": [\r\n            \"maxTargetRange\",\r\n            \"maxRange\",\r\n            \"maxLockedTargets\",\r\n            \"signatureRadius\",\r\n            \"optimalSigRadius\",\r\n            \"scanResolution\",\r\n            \"proximityRange\",\r\n            \"falloff\",\r\n            \"trackingSpeed\",\r\n            \"scanRadarStrength\",\r\n            \"scanMagnetometricStrength\",\r\n            \"scanGravimetricStrength\",\r\n            \"scanLadarStrength\",\r\n        ]\r\n    },\r\n    GuiAttrGroup.SHARED_FACILITIES : {\r\n        \"label\" : \"Shared Facilities\",\r\n        \"attributes\": [\r\n            \"fleetHangarCapacity\",\r\n            \"shipMaintenanceBayCapacity\",\r\n            \"maxJumpClones\",\r\n        ]\r\n    },\r\n    GuiAttrGroup.FIGHTER_FACILITIES: {\r\n        \"label\": \"Fighter Squadron Facilities\",\r\n        \"attributes\": [\r\n            \"fighterCapacity\",\r\n            \"fighterTubes\",\r\n            \"fighterLightSlots\",\r\n            \"fighterSupportSlots\",\r\n            \"fighterHeavySlots\",\r\n            \"fighterStandupLightSlots\",\r\n            \"fighterStandupSupportSlots\",\r\n            \"fighterStandupHeavySlots\",\r\n        ]\r\n    },\r\n    GuiAttrGroup.ON_DEATH          : {\r\n        \"label\": \"On Death\",\r\n        \"attributes\": [\r\n            \"onDeathDamageEM\",\r\n            \"onDeathDamageTherm\",\r\n            \"onDeathDamageKin\",\r\n            \"onDeathDamageExp\",\r\n            \"onDeathAOERadius\",\r\n            \"onDeathSignatureRadius\",\r\n        ]\r\n    },\r\n    GuiAttrGroup.JUMP_SYSTEMS      : {\r\n        \"label\": \"Jump Drive Systems\",\r\n        \"attributes\": [\r\n            \"jumpDriveCapacitorNeed\",\r\n            \"jumpDriveRange\",\r\n            \"jumpDriveConsumptionType\",\r\n            \"jumpDriveConsumptionAmount\",\r\n            \"jumpPortalCapacitorNeed\",\r\n            \"jumpDriveDuration\",\r\n            \"specialFuelBayCapacity\",\r\n            \"jumpPortalConsumptionMassFactor\",\r\n            \"jumpPortalDuration\",\r\n        ]\r\n    },\r\n    GuiAttrGroup.PROPULSIONS       : {\r\n        \"label\": \"Propulsion\",\r\n        \"attributes\": [\r\n            \"maxVelocity\"\r\n        ]\r\n    },\r\n    GuiAttrGroup.FIGHTERS          : {\r\n        \"label\": \"Fighter\",\r\n        \"attributes\": [\r\n            \"mass\",\r\n            \"maxVelocity\",\r\n            \"agility\",\r\n            \"volume\",\r\n            \"signatureRadius\",\r\n            \"fighterSquadronMaxSize\",\r\n            \"fighterRefuelingTime\",\r\n            \"fighterSquadronOrbitRange\",\r\n        ]\r\n    },\r\n    GuiAttrGroup.SHIP_GROUP           : {\r\n        \"label\" : \"Can Fit To\",\r\n        \"attributes\": []\r\n    },\r\n}\r\n\r\nAttrGroupDict[GuiAttrGroup.SHIP_GROUP][\"attributes\"].extend([(\"canFitShipGroup{:02d}\".format(i+1), \"Group\") for i in range(20)])\r\nAttrGroupDict[GuiAttrGroup.SHIP_GROUP][\"attributes\"].extend([(\"canFitShipType{:01d}\".format(i+1), \"Ship\") for i in range(20)])\r\n\r\nGroup1 = [\r\n    GuiAttrGroup.FITTING,\r\n    GuiAttrGroup.STRUCTURE,\r\n    GuiAttrGroup.ARMOR,\r\n    GuiAttrGroup.SHIELD,\r\n    GuiAttrGroup.EWAR_RESISTS,\r\n    GuiAttrGroup.CAPACITOR,\r\n    GuiAttrGroup.TARGETING,\r\n    GuiAttrGroup.SHARED_FACILITIES,\r\n    GuiAttrGroup.FIGHTER_FACILITIES,\r\n    GuiAttrGroup.ON_DEATH,\r\n    GuiAttrGroup.JUMP_SYSTEMS,\r\n    GuiAttrGroup.PROPULSIONS,\r\n    GuiAttrGroup.SHIP_GROUP\r\n]\r\n\r\nCategoryGroups = {\r\n    \"Fighter\"  : [\r\n        GuiAttrGroup.FIGHTERS,\r\n        GuiAttrGroup.SHIELD,\r\n        GuiAttrGroup.TARGETING,\r\n    ],\r\n    \"Ship\"     : Group1,\r\n    \"Drone\"    : Group1,\r\n    \"Structure\": Group1\r\n}\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/attributeSlider.py",
    "content": "import math\r\n\r\nimport wx\r\nimport wx.lib.newevent\r\n\r\nfrom gui.attribute_gauge import AttributeGauge\r\nfrom eos.utils.float import floatUnerr\r\n\r\n_ValueChanged, EVT_VALUE_CHANGED = wx.lib.newevent.NewEvent()\r\n\r\n\r\nclass AttributeSliderChangeEvent:\r\n    def __init__(self, obj, old_value, new_value, old_percentage, new_percentage, affect_modified_flag=True):\r\n        self.__obj = obj\r\n        self.__old = old_value\r\n        self.__new = new_value\r\n        self.__old_percent = old_percentage\r\n        self.__new_percent = new_percentage\r\n        self.__affect_modified_flag = affect_modified_flag\r\n\r\n    def GetObj(self):\r\n        return self.__obj\r\n\r\n    def GetOldValue(self):\r\n        return self.__old\r\n\r\n    def GetValue(self):\r\n        return self.__new\r\n\r\n    def GetOldPercentage(self):\r\n        return self.__old_percent\r\n\r\n    def GetPercentage(self):\r\n        return self.__new_percent\r\n\r\n    @property\r\n    def AffectsModifiedFlag(self):\r\n        return self.__affect_modified_flag\r\n\r\n    Object = property(GetObj)\r\n    OldValue = property(GetOldValue)\r\n    Value = property(GetValue)\r\n    OldPercentage = property(GetOldPercentage)\r\n    Percentage = property(GetPercentage)\r\n\r\n\r\nclass ValueChanged(_ValueChanged, AttributeSliderChangeEvent):\r\n    def __init__(self, obj, old_value, new_value, old_percentage, new_percentage, affect_modified_flag=True):\r\n        _ValueChanged.__init__(self)\r\n        AttributeSliderChangeEvent.__init__(self, obj, old_value, new_value, old_percentage, new_percentage, affect_modified_flag=affect_modified_flag)\r\n\r\n\r\nclass AttributeSlider(wx.Panel):\r\n    # Slider which abstracts users values from internal values (because the built in slider does not deal with floats\r\n    # and the like), based on http://wxpython-users.wxwidgets.narkive.com/ekgBzA7u/anyone-ever-thought-of-a-floating-point-slider\r\n\r\n    def __init__(self, parent, baseValue, minValue, maxValue, inverse=False, id=-1):\r\n        wx.Panel.__init__(self, parent, id=id)\r\n\r\n        self.parent = parent\r\n\r\n        self.base_value = baseValue\r\n\r\n        self.UserMinValue = minValue\r\n        self.UserMaxValue = maxValue\r\n\r\n        self.inverse = inverse\r\n\r\n        def getStep(valRange):\r\n            \"\"\"\r\n            Find step for the passed range, which is based on 1, 2 or 5.\r\n            Step returned will make sure that range fits 10..50 of them,\r\n            as close to 10 as possible.\r\n            \"\"\"\r\n            steps = {1: None, 2: None, 5: None}\r\n            for baseInc in steps:\r\n                baseIncAmount = valRange / baseInc\r\n                incScale = math.floor(math.log10(baseIncAmount) - 1)\r\n                steps[baseInc] = baseInc * 10 ** incScale\r\n            chosenBase = min(steps, key=lambda base: valRange / steps[base])\r\n            chosenStep = steps[chosenBase]\r\n            if inverse:\r\n                chosenStep *= -1\r\n            return chosenStep\r\n\r\n        def getDigitPlaces(minValue, maxValue):\r\n            minDigits = 3\r\n            maxDigits = 5\r\n            currentDecision = minDigits\r\n            for value in (floatUnerr(minValue), floatUnerr(maxValue)):\r\n                for currentDigit in range(minDigits, maxDigits + 1):\r\n                    if round(value, currentDigit) == value:\r\n                        if currentDigit > currentDecision:\r\n                            currentDecision = currentDigit\r\n                        break\r\n                # Max decimal places we can afford to show was not enough\r\n                else:\r\n                     return maxDigits\r\n            return currentDecision\r\n\r\n        self.ctrl = wx.SpinCtrlDouble(self, min=minValue, max=maxValue, inc=getStep(maxValue - minValue))\r\n        self.ctrl.SetDigits(getDigitPlaces(minValue, maxValue))\r\n\r\n        self.ctrl.Bind(wx.EVT_SPINCTRLDOUBLE, self.UpdateValue)\r\n        # GTK scrolls spinboxes with mousewheel, others do not\r\n        if \"wxGTK\" not in wx.PlatformInfo:\r\n            self.ctrl.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel)\r\n\r\n        self.slider = AttributeGauge(self, size=(-1, 8))\r\n\r\n        b = 4\r\n        vsizer1 = wx.BoxSizer(wx.VERTICAL)\r\n        vsizer1.Add(self.ctrl, 0, wx.LEFT | wx.RIGHT | wx.CENTER, b)\r\n        vsizer1.Add(self.slider, 0, wx.EXPAND | wx.ALL , b)\r\n\r\n        self.SetSizerAndFit(vsizer1)\r\n        self.parent.SetClientSize((500, vsizer1.GetSize()[1]))\r\n\r\n    def GetValue(self):\r\n        return self.ctrl.GetValue()\r\n\r\n    def UpdateValue(self, evt):\r\n        self.SetValue(self.GetValue())\r\n        evt.Skip()\r\n\r\n    def SetValue(self, value, post_event=True, affect_modified_flag=True):\r\n        self.ctrl.SetValue(value)\r\n        invert_factor = -1 if self.inverse else 1\r\n        try:\r\n            if value >= self.base_value:\r\n                slider_percentage = (value - self.base_value) / (self.UserMaxValue - self.base_value) * 100 * invert_factor\r\n            else:\r\n                slider_percentage = (value - self.base_value) / (self.base_value - self.UserMinValue) * 100 * invert_factor\r\n        except ZeroDivisionError:\r\n            slider_percentage = 0\r\n        self.slider.SetValue(slider_percentage)\r\n        if post_event:\r\n            wx.PostEvent(self, ValueChanged(self, None, value, None, slider_percentage, affect_modified_flag=affect_modified_flag))\r\n\r\n    def OnMouseWheel(self, evt):\r\n        if evt.GetWheelRotation() > 0 and evt.GetWheelAxis() == wx.MOUSE_WHEEL_VERTICAL:\r\n            self.SetValue(self.ctrl.Value + self.ctrl.Increment)\r\n        elif evt.GetWheelRotation() < 0 and evt.GetWheelAxis() == wx.MOUSE_WHEEL_VERTICAL:\r\n            self.SetValue(self.ctrl.Value - self.ctrl.Increment)\r\n        else:\r\n            evt.Skip()\r\n\r\n    def OnWindowClose(self):\r\n        # Stop animations to prevent crashes when window is\r\n        # closed while animation is in progress\r\n        self.slider.FreezeAnimation()\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/helpers.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx.lib.mixins.listctrl as listmix\r\n\r\nfrom gui.utils.dark import isDark\r\n\r\n\r\nclass AutoListCtrl(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin, listmix.ListRowHighlighter):\r\n    def __init__(self, parent, ID, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0):\r\n        wx.ListCtrl.__init__(self, parent, ID, pos, size, style)\r\n        listmix.ListCtrlAutoWidthMixin.__init__(self)\r\n        listmix.ListRowHighlighter.__init__(self)\r\n        if isDark():\r\n            listcol = wx.SystemSettings.GetColour(wx.SYS_COLOUR_LISTBOX)\r\n            highlight = listcol.ChangeLightness(110)\r\n            listmix.ListRowHighlighter.SetHighlightColor(self, highlight)\r\n\r\nclass AutoListCtrlNoHighlight(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin, listmix.ListRowHighlighter):\r\n    def __init__(self, parent, ID, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0):\r\n        wx.ListCtrl.__init__(self, parent, ID, pos, size, style)\r\n        listmix.ListCtrlAutoWidthMixin.__init__(self)\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/itemAffectedBy.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom eos.const import Operator\r\nfrom eos.saveddata.mode import Mode\r\nfrom eos.saveddata.character import Skill\r\nfrom eos.saveddata.implant import Implant\r\nfrom eos.saveddata.booster import Booster\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom eos.saveddata.module import Module\r\nfrom eos.saveddata.ship import Ship\r\nfrom eos.saveddata.citadel import Citadel\r\nfrom eos.saveddata.fit import Fit\r\n\r\nimport gui.mainFrame\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.bitmap_loader import BitmapLoader\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\ndef formatOperator(operator, stackingGroup, preResAmount, postResAmount):\r\n    opMap = {\r\n        Operator.PREASSIGN: '=',\r\n        Operator.PREINCREASE: '+',\r\n        Operator.MULTIPLY: '*',\r\n        Operator.POSTINCREASE: '+',\r\n        Operator.FORCE: '\\u2263'\r\n    }\r\n    prefix = ''\r\n    if stackingGroup is not None:\r\n        prefix += 's'\r\n    if preResAmount != postResAmount:\r\n        prefix += 'r'\r\n    return '{}{}'.format(prefix, opMap[operator])\r\n\r\n\r\nclass ItemAffectedBy(wx.Panel):\r\n    ORDER = [Fit, Ship, Citadel, Mode, Module, Drone, Fighter, Implant, Booster, Skill]\r\n\r\n    def __init__(self, parent, stuff, item):\r\n        wx.Panel.__init__(self, parent)\r\n        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE))\r\n        self.stuff = stuff\r\n        self.item = item\r\n\r\n        self.activeFit = gui.mainFrame.MainFrame.getInstance().getActiveFit()\r\n\r\n        self.showRealNames = False\r\n        self.showAttrView = False\r\n        self.expand = -1\r\n\r\n        self.treeItems = []\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.affectedBy = wx.TreeCtrl(self, style=wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT | wx.NO_BORDER)\r\n        self.affectedBy.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))\r\n        mainSizer.Add(self.affectedBy, 1, wx.ALL | wx.EXPAND, 0)\r\n\r\n        self.m_staticline = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n\r\n        mainSizer.Add(self.m_staticline, 0, wx.EXPAND)\r\n        bSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.toggleExpandBtn = wx.ToggleButton(self, wx.ID_ANY, _t(\"Expand All\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        bSizer.Add(self.toggleExpandBtn, 0, wx.ALIGN_CENTER_VERTICAL)\r\n\r\n        self.toggleNameBtn = wx.ToggleButton(self, wx.ID_ANY, _t(\"Toggle Names\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        bSizer.Add(self.toggleNameBtn, 0, wx.ALIGN_CENTER_VERTICAL)\r\n\r\n        self.toggleViewBtn = wx.ToggleButton(self, wx.ID_ANY, _t(\"Toggle View\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        bSizer.Add(self.toggleViewBtn, 0, wx.ALIGN_CENTER_VERTICAL)\r\n\r\n        if stuff is not None:\r\n            self.refreshBtn = wx.Button(self, wx.ID_ANY, _t(\"Refresh\"), wx.DefaultPosition, wx.DefaultSize, wx.BU_EXACTFIT)\r\n            bSizer.Add(self.refreshBtn, 0, wx.ALIGN_CENTER_VERTICAL)\r\n            self.refreshBtn.Bind(wx.EVT_BUTTON, self.RefreshTree)\r\n\r\n        self.toggleNameBtn.Bind(wx.EVT_TOGGLEBUTTON, self.ToggleNameMode)\r\n        self.toggleExpandBtn.Bind(wx.EVT_TOGGLEBUTTON, self.ToggleExpand)\r\n        self.toggleViewBtn.Bind(wx.EVT_TOGGLEBUTTON, self.ToggleViewMode)\r\n\r\n        mainSizer.Add(bSizer, 0, wx.ALIGN_RIGHT)\r\n        self.SetSizer(mainSizer)\r\n        self.PopulateTree()\r\n        self.Layout()\r\n        self.affectedBy.Bind(wx.EVT_CONTEXT_MENU, self.spawnMenu)\r\n\r\n    def spawnMenu(self, event):\r\n        item, _ = self.affectedBy.HitTest(self.ScreenToClient(event.Position))\r\n        self.affectedBy.SelectItem(item)\r\n\r\n        stuff = self.affectedBy.GetItemData(item)\r\n        # String is set as data when we are dealing with attributes, not stuff containers\r\n        if stuff is None or isinstance(stuff, str):\r\n            return\r\n        contexts = []\r\n\r\n        # Skills are different in that they don't have itemModifiedAttributes,\r\n        # which is needed if we send the container to itemStats dialog. So\r\n        # instead, we send the item.\r\n        type_ = stuff.__class__.__name__\r\n        contexts.append((\"itemStats\", type_))\r\n        stuff = stuff if type_ != \"Skill\" else stuff.item\r\n        menu = ContextMenu.getMenu(self, stuff, (stuff,), *contexts)\r\n        self.PopupMenu(menu)\r\n\r\n    def ExpandCollapseTree(self):\r\n\r\n        self.Freeze()\r\n        if self.expand == 1:\r\n            self.affectedBy.ExpandAll()\r\n        else:\r\n            try:\r\n                self.affectedBy.CollapseAll()\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except:\r\n                pass\r\n\r\n        self.Thaw()\r\n\r\n    def ToggleExpand(self, event):\r\n        self.expand *= -1\r\n        self.ExpandCollapseTree()\r\n\r\n    def ToggleViewTree(self):\r\n        self.Freeze()\r\n\r\n        for item in self.treeItems:\r\n            change = self.affectedBy.GetItemData(item)\r\n            display = self.affectedBy.GetItemText(item)\r\n            self.affectedBy.SetItemText(item, change)\r\n            self.affectedBy.SetItemData(item, display)\r\n\r\n        self.Thaw()\r\n\r\n    def UpdateTree(self):\r\n        self.Freeze()\r\n        self.affectedBy.DeleteAllItems()\r\n        self.PopulateTree()\r\n        self.Thaw()\r\n\r\n    def RefreshTree(self, event):\r\n        self.UpdateTree()\r\n        event.Skip()\r\n\r\n    def ToggleViewMode(self, event):\r\n        self.showAttrView = not self.showAttrView\r\n        self.affectedBy.DeleteAllItems()\r\n        self.PopulateTree()\r\n        event.Skip()\r\n\r\n    def ToggleNameMode(self, event):\r\n        self.showRealNames = not self.showRealNames\r\n        self.ToggleViewTree()\r\n        event.Skip()\r\n\r\n    def PopulateTree(self):\r\n        # sheri was here\r\n        del self.treeItems[:]\r\n        root = self.affectedBy.AddRoot(\"WINPWNZ0R\")\r\n        self.affectedBy.SetItemData(root, None)\r\n\r\n        self.imageList = wx.ImageList(16, 16)\r\n        self.affectedBy.SetImageList(self.imageList)\r\n\r\n        if self.showAttrView:\r\n            self.buildAttributeView(root)\r\n        else:\r\n            self.buildModuleView(root)\r\n\r\n        self.ExpandCollapseTree()\r\n\r\n    def sortAttrDisplayName(self, attr):\r\n        info = self.stuff.item.attributes.get(attr)\r\n        if info and info.displayName:\r\n            return info.displayName\r\n\r\n        return attr\r\n\r\n    def buildAttributeView(self, root):\r\n        \"\"\"\r\n        We first build a usable dictionary of items. The key is either a fit\r\n        if the afflictions stem from a projected fit, or self.stuff if they\r\n        are local afflictions (everything else, even gang boosts at this time)\r\n        The value of this is yet another dictionary in the following format:\r\n\r\n        \"attribute name\": {\r\n              \"Module Name\": [\r\n                   class of affliction,\r\n                   affliction item (required due to GH issue #335)\r\n                   modifier type\r\n                   amount of modification\r\n                   whether this affliction was projected\r\n              ]\r\n        }\r\n        \"\"\"\r\n        attributes = self.stuff.itemModifiedAttributes if self.item == self.stuff.item else self.stuff.chargeModifiedAttributes\r\n        container = {}\r\n        for attrName in attributes.iterAfflictions():\r\n            # if value is 0 or there has been no change from original to modified, return\r\n            if attributes[attrName] == (attributes.getOriginal(attrName, 0)):\r\n                continue\r\n\r\n            for fit, afflictors in attributes.getAfflictions(attrName).items():\r\n                for afflictor, operator, stackingGroup, preResAmount, postResAmount, used in afflictors:\r\n\r\n                    if not used or afflictor.item is None:\r\n                        continue\r\n\r\n                    if fit.ID != self.activeFit:\r\n                        # affliction fit does not match our fit\r\n                        if fit not in container:\r\n                            container[fit] = {}\r\n                        items = container[fit]\r\n                    else:\r\n                        # local afflictions\r\n                        if self.stuff not in container:\r\n                            container[self.stuff] = {}\r\n                        items = container[self.stuff]\r\n\r\n                    # items hold our module: info mappings\r\n                    if attrName not in items:\r\n                        items[attrName] = []\r\n\r\n                    if afflictor == self.stuff and getattr(afflictor, 'charge', None):\r\n                        # we are showing a charges modifications, see #335\r\n                        item = afflictor.charge\r\n                    else:\r\n                        item = afflictor.item\r\n\r\n                    items[attrName].append((\r\n                        type(afflictor), afflictor, item,\r\n                        formatOperator(operator, stackingGroup, preResAmount, postResAmount),\r\n                        postResAmount, getattr(afflictor, \"projected\", False)))\r\n\r\n        # Make sure projected fits are on top\r\n        rootOrder = list(container.keys())\r\n        rootOrder.sort(key=lambda x: self.ORDER.index(type(x)))\r\n\r\n        # Now, we take our created dictionary and start adding stuff to our tree\r\n        for thing in rootOrder:\r\n            # This block simply directs which parent we are adding to (root or projected fit)\r\n            if thing == self.stuff:\r\n                parent = root\r\n            else:  # projected fit\r\n                icon = self.imageList.Add(BitmapLoader.getBitmap(\"ship_small\", \"gui\"))\r\n                child = self.affectedBy.AppendItem(root, \"{} ({})\".format(thing.name, thing.ship.item.name), icon)\r\n                parent = child\r\n\r\n            attributes = container[thing]\r\n            attrOrder = sorted(list(attributes.keys()), key=self.sortAttrDisplayName)\r\n\r\n            for attrName in attrOrder:\r\n                attrInfo = self.stuff.item.attributes.get(attrName)\r\n                displayName = attrInfo.displayName if attrInfo and attrInfo.displayName else attrName\r\n\r\n                if attrInfo:\r\n                    if attrInfo.iconID is not None:\r\n                        iconFile = attrInfo.iconID\r\n                        icon = BitmapLoader.getBitmap(iconFile, \"icons\")\r\n                        if icon is None:\r\n                            icon = BitmapLoader.getBitmap(\"transparent16x16\", \"gui\")\r\n                        attrIcon = self.imageList.Add(icon)\r\n                    else:\r\n                        attrIcon = self.imageList.Add(BitmapLoader.getBitmap(\"0\", \"icons\"))\r\n                else:\r\n                    attrIcon = self.imageList.Add(BitmapLoader.getBitmap(\"0\", \"icons\"))\r\n\r\n                if self.showRealNames:\r\n                    display = attrName\r\n                    saved = displayName\r\n                else:\r\n                    display = displayName\r\n                    saved = attrName\r\n\r\n                # this is the attribute node\r\n                child = self.affectedBy.AppendItem(parent, display, attrIcon)\r\n                self.affectedBy.SetItemData(child, saved)\r\n                self.treeItems.append(child)\r\n\r\n                items = attributes[attrName]\r\n                items.sort(key=lambda x: self.ORDER.index(x[0]))\r\n                for itemInfo in items:\r\n                    afflictorType, afflictor, item, attrModifier, attrAmount, projected = itemInfo\r\n\r\n                    if afflictorType == Ship:\r\n                        itemIcon = self.imageList.Add(BitmapLoader.getBitmap(\"ship_small\", \"gui\"))\r\n                    elif item.iconID:\r\n                        bitmap = BitmapLoader.getBitmap(item.iconID, \"icons\")\r\n                        itemIcon = self.imageList.Add(bitmap) if bitmap else -1\r\n                    else:\r\n                        itemIcon = -1\r\n\r\n                    displayStr = item.name\r\n\r\n                    if projected:\r\n                        displayStr += \" (projected)\"\r\n\r\n                    penalized = \"\"\r\n                    if '*' in attrModifier:\r\n                        if 's' in attrModifier:\r\n                            penalized += \"(penalized)\"\r\n                        if 'r' in attrModifier:\r\n                            penalized += \"(resisted)\"\r\n                        attrModifier = \"*\"\r\n\r\n                    if attrModifier == \"+\" and attrAmount < 0:\r\n                        attrModifier = \"-\"\r\n                        attrAmount = -attrAmount\r\n\r\n                    # this is the Module node, the attribute will be attached to this\r\n                    display = \"%s %s %.2f %s\" % (displayStr, attrModifier, attrAmount, penalized)\r\n                    treeItem = self.affectedBy.AppendItem(child, display, itemIcon)\r\n                    self.affectedBy.SetItemData(treeItem, afflictor)\r\n\r\n    def buildModuleView(self, root):\r\n        \"\"\"\r\n        We first build a usable dictionary of items. The key is either a fit\r\n        if the afflictions stem from a projected fit, or self.stuff if they\r\n        are local afflictions (everything else, even gang boosts at this time)\r\n        The value of this is yet another dictionary in the following format:\r\n\r\n        \"Module Name\": [\r\n            class of affliction,\r\n            set of afflictors (such as 2 of the same module),\r\n            info on affliction (attribute name, modifier, and modification amount),\r\n            item that will be used to determine icon (required due to GH issue #335)\r\n            whether this affliction is actually used (unlearned skills are not used)\r\n        ]\r\n        \"\"\"\r\n\r\n        attributes = self.stuff.itemModifiedAttributes if self.item == self.stuff.item else self.stuff.chargeModifiedAttributes\r\n        container = {}\r\n        for attrName in attributes.iterAfflictions():\r\n            # if value is 0 or there has been no change from original to modified, return\r\n            if attributes[attrName] == (attributes.getOriginal(attrName, 0)):\r\n                continue\r\n\r\n            for fit, afflictors in attributes.getAfflictions(attrName).items():\r\n                for afflictor, operator, stackingGroup, preResAmount, postResAmount, used in afflictors:\r\n                    if not used or getattr(afflictor, 'item', None) is None:\r\n                        continue\r\n\r\n                    if fit.ID != self.activeFit:\r\n                        # affliction fit does not match our fit\r\n                        if fit not in container:\r\n                            container[fit] = {}\r\n                        items = container[fit]\r\n                    else:\r\n                        # local afflictions\r\n                        if self.stuff not in container:\r\n                            container[self.stuff] = {}\r\n                        items = container[self.stuff]\r\n\r\n                    if afflictor == self.stuff and getattr(afflictor, 'charge', None):\r\n                        # we are showing a charges modifications, see #335\r\n                        item = afflictor.charge\r\n                    else:\r\n                        item = afflictor.item\r\n\r\n                    # items hold our module: info mappings\r\n                    if item.name not in items:\r\n                        items[item.name] = [type(afflictor), set(), [], item, getattr(afflictor, \"projected\", False)]\r\n\r\n                    info = items[item.name]\r\n                    info[1].add(afflictor)\r\n                    operatorStr = formatOperator(operator, stackingGroup, preResAmount, postResAmount)\r\n                    # If info[1] > 1, there are two separate modules working.\r\n                    # Check to make sure we only include the modifier once\r\n                    # See GH issue 154\r\n                    if len(info[1]) > 1 and (attrName, operatorStr, postResAmount) in info[2]:\r\n                        continue\r\n                    info[2].append((attrName, operatorStr, postResAmount))\r\n\r\n        # Make sure projected fits are on top\r\n        rootOrder = list(container.keys())\r\n        rootOrder.sort(key=lambda x: self.ORDER.index(type(x)))\r\n\r\n        # Now, we take our created dictionary and start adding stuff to our tree\r\n        for thing in rootOrder:\r\n            # This block simply directs which parent we are adding to (root or projected fit)\r\n            if thing == self.stuff:\r\n                parent = root\r\n            else:  # projected fit\r\n                icon = self.imageList.Add(BitmapLoader.getBitmap(\"ship_small\", \"gui\"))\r\n                child = self.affectedBy.AppendItem(root, \"{} ({})\".format(thing.name, thing.ship.item.name), icon)\r\n                parent = child\r\n\r\n            items = container[thing]\r\n            order = list(items.keys())\r\n            order.sort(key=lambda x: (self.ORDER.index(items[x][0]), x))\r\n\r\n            for itemName in order:\r\n                info = items[itemName]\r\n                afflictorType, afflictors, attrData, item, projected = info\r\n                counter = len(afflictors)\r\n                if afflictorType == Ship:\r\n                    itemIcon = self.imageList.Add(BitmapLoader.getBitmap(\"ship_small\", \"gui\"))\r\n                elif item.iconID:\r\n                    bitmap = BitmapLoader.getBitmap(item.iconID, \"icons\")\r\n                    itemIcon = self.imageList.Add(bitmap) if bitmap else -1\r\n                else:\r\n                    itemIcon = -1\r\n\r\n                displayStr = itemName\r\n\r\n                if counter > 1:\r\n                    displayStr += \" x {}\".format(counter)\r\n\r\n                if projected:\r\n                    displayStr += \" (projected)\"\r\n\r\n                # this is the Module node, the attribute will be attached to this\r\n                child = self.affectedBy.AppendItem(parent, displayStr, itemIcon)\r\n                self.affectedBy.SetItemData(child, afflictors.pop())\r\n\r\n                if counter > 0:\r\n                    attributes = []\r\n                    for attrName, attrModifier, attrAmount in attrData:\r\n                        attrInfo = self.stuff.item.attributes.get(attrName)\r\n                        displayName = attrInfo.displayName if attrInfo else \"\"\r\n\r\n                        if attrInfo:\r\n                            if attrInfo.iconID is not None:\r\n                                iconFile = attrInfo.iconID\r\n                                icon = BitmapLoader.getBitmap(iconFile, \"icons\")\r\n                                if icon is None:\r\n                                    icon = BitmapLoader.getBitmap(\"transparent16x16\", \"gui\")\r\n\r\n                                attrIcon = self.imageList.Add(icon)\r\n                            else:\r\n                                attrIcon = self.imageList.Add(BitmapLoader.getBitmap(\"0\", \"icons\"))\r\n                        else:\r\n                            attrIcon = self.imageList.Add(BitmapLoader.getBitmap(\"0\", \"icons\"))\r\n\r\n                        penalized = \"\"\r\n                        if '*' in attrModifier:\r\n                            if 's' in attrModifier:\r\n                                penalized += \"(penalized)\"\r\n                            if 'r' in attrModifier:\r\n                                penalized += \"(resisted)\"\r\n                            attrModifier = \"*\"\r\n\r\n                        if attrModifier == \"+\" and attrAmount < 0:\r\n                            attrModifier = \"-\"\r\n                            attrAmount = -attrAmount\r\n\r\n                        attributes.append((attrName, (displayName if displayName else attrName), attrModifier,\r\n                                           attrAmount, penalized, attrIcon))\r\n\r\n                    attrSorted = sorted(attributes, key=lambda attribName: attribName[0])\r\n                    for attr in attrSorted:\r\n                        attrName, displayName, attrModifier, attrAmount, penalized, attrIcon = attr\r\n\r\n                        if self.showRealNames:\r\n                            display = \"%s %s %.2f %s\" % (attrName, attrModifier, attrAmount, penalized)\r\n                            saved = \"%s %s %.2f %s\" % (\r\n                                displayName if displayName else attrName,\r\n                                attrModifier,\r\n                                attrAmount,\r\n                                penalized\r\n                            )\r\n                        else:\r\n                            display = \"%s %s %.2f %s\" % (\r\n                                displayName if displayName else attrName,\r\n                                attrModifier,\r\n                                attrAmount,\r\n                                penalized\r\n                            )\r\n                            saved = \"%s %s %.2f %s\" % (attrName, attrModifier, attrAmount, penalized)\r\n\r\n                        treeitem = self.affectedBy.AppendItem(child, display, attrIcon)\r\n                        self.affectedBy.SetItemData(treeitem, saved)\r\n                        self.treeItems.append(treeitem)\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/itemAttributes.py",
    "content": "import csv\r\nfrom enum import IntEnum\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nimport wx.lib.agw.hypertreelist\r\n\r\nimport config\r\nimport gui\r\nfrom gui import globalEvents as GE\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.builtinItemStatsViews.attributeGrouping import *\r\nfrom gui.utils.numberFormatter import formatAmount, roundDec\r\nfrom service.const import GuiAttrGroup\r\n\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass AttributeView(IntEnum):\r\n    NORMAL = 1\r\n    RAW = -1\r\n\r\n\r\nclass ItemParams(wx.Panel):\r\n    def __init__(self, parent, stuff, item, context=None):\r\n        # Had to manually set the size here, otherwise column widths couldn't be calculated correctly. See #1878\r\n        wx.Panel.__init__(self, parent, size=(1000, 1000))\r\n        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE))\r\n\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.paramList = wx.lib.agw.hypertreelist.HyperTreeList(self, wx.ID_ANY,\r\n                                                                agwStyle=wx.TR_HIDE_ROOT | wx.TR_NO_LINES | wx.TR_FULL_ROW_HIGHLIGHT | wx.TR_HAS_BUTTONS)\r\n        self.paramList.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))\r\n\r\n        mainSizer.Add(self.paramList, 1, wx.ALL | wx.EXPAND, 0)\r\n        self.SetSizer(mainSizer)\r\n\r\n        self.toggleView = AttributeView.NORMAL\r\n        self.stuff = stuff\r\n        self.item = item\r\n        self.isStuffItem = stuff is not None and item is not None and getattr(stuff, 'item', None) == item\r\n        self.isStuffCharge = stuff is not None and item is not None and getattr(stuff, 'charge', None) == item\r\n        self.attrInfo = {}\r\n        self.attrValues = {}\r\n        self._fetchValues()\r\n\r\n        self.paramList.AddColumn(_t(\"Attribute\"))\r\n        self.paramList.AddColumn(_t(\"Current Value\"))\r\n        if self.stuff is not None:\r\n            self.paramList.AddColumn(_t(\"Base Value\"))\r\n\r\n        self.m_staticline = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline, 0, wx.EXPAND)\r\n        bSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.toggleViewBtn = wx.ToggleButton(self, wx.ID_ANY, _t(\"View Raw Data\"), wx.DefaultPosition, wx.DefaultSize,\r\n                                             0)\r\n        bSizer.Add(self.toggleViewBtn, 0, wx.ALIGN_CENTER_VERTICAL)\r\n\r\n        self.exportStatsBtn = wx.ToggleButton(self, wx.ID_ANY, _t(\"Export Item Stats\"), wx.DefaultPosition, wx.DefaultSize,\r\n                                              0)\r\n        bSizer.Add(self.exportStatsBtn, 0, wx.ALIGN_CENTER_VERTICAL)\r\n\r\n        if stuff is not None:\r\n            self.refreshBtn = wx.Button(self, wx.ID_ANY, _t(\"Refresh\"), wx.DefaultPosition, wx.DefaultSize, wx.BU_EXACTFIT)\r\n            bSizer.Add(self.refreshBtn, 0, wx.ALIGN_CENTER_VERTICAL)\r\n            self.refreshBtn.Bind(wx.EVT_BUTTON, self.RefreshValues)\r\n\r\n        mainSizer.Add(bSizer, 0, wx.ALIGN_RIGHT)\r\n\r\n        self.imageList = wx.ImageList(16, 16)\r\n\r\n        self.PopulateList()\r\n\r\n        self.toggleViewBtn.Bind(wx.EVT_TOGGLEBUTTON, self.ToggleViewMode)\r\n        self.exportStatsBtn.Bind(wx.EVT_TOGGLEBUTTON, self.ExportItemStats)\r\n        self.mainFrame.Bind(GE.ITEM_CHANGED_INPLACE, self.OnUpdateStuff)\r\n\r\n    def OnWindowClose(self):\r\n        self.mainFrame.Unbind(GE.ITEM_CHANGED_INPLACE)\r\n\r\n    def _fetchValues(self):\r\n        if self.stuff is None:\r\n            self.attrInfo.clear()\r\n            self.attrValues.clear()\r\n            self.attrInfo.update(self.item.attributes)\r\n            self.attrValues.update(self.item.attributes)\r\n        elif self.isStuffItem:\r\n            self.attrInfo.clear()\r\n            self.attrValues.clear()\r\n            self.attrInfo.update(self.stuff.item.attributes)\r\n            self.attrValues.update(self.stuff.itemModifiedAttributes)\r\n        elif self.isStuffCharge:\r\n            self.attrInfo.clear()\r\n            self.attrValues.clear()\r\n            self.attrInfo.update(self.stuff.charge.attributes)\r\n            self.attrValues.update(self.stuff.chargeModifiedAttributes)\r\n        # When item for stats window no longer exists, don't change anything\r\n        else:\r\n            return\r\n\r\n    def UpdateList(self):\r\n        self.Freeze()\r\n        self.paramList.DeleteRoot()\r\n        self.PopulateList()\r\n        self.Thaw()\r\n        # self.paramList.resizeLastColumn(100)\r\n\r\n    def RefreshValues(self, event):\r\n        self._fetchValues()\r\n        self.UpdateList()\r\n        if event:\r\n            event.Skip()\r\n\r\n    def ToggleViewMode(self, event):\r\n        self.toggleView *= -1\r\n        self.UpdateList()\r\n        event.Skip()\r\n\r\n    def ExportItemStats(self, event):\r\n        exportFileName = self.item.name + \" (\" + str(self.item.ID) + \").csv\"\r\n\r\n        with wx.FileDialog(\r\n                self, _t(\"Save CSV file\"), \"\", exportFileName,\r\n                _t(\"CSV files\") + \" (*.csv)|*.csv\", wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT\r\n        ) as dlg:\r\n\r\n            if dlg.ShowModal() == wx.ID_CANCEL:\r\n                return  # the user hit cancel...\r\n\r\n            with open(dlg.GetPath(), \"w\") as exportFile:\r\n                writer = csv.writer(exportFile, delimiter=',')\r\n\r\n                writer.writerow(\r\n                        [\r\n                            \"ID\",\r\n                            \"Internal Name\",\r\n                            \"Friendly Name\",\r\n                            \"Modified Value\",\r\n                            \"Base Value\",\r\n                        ]\r\n                )\r\n\r\n                for attribute in self.attrValues:\r\n\r\n                    try:\r\n                        attribute_id = self.attrInfo[attribute].ID\r\n                    except (KeyError, AttributeError):\r\n                        attribute_id = ''\r\n\r\n                    try:\r\n                        attribute_name = self.attrInfo[attribute].name\r\n                    except (KeyError, AttributeError):\r\n                        attribute_name = attribute\r\n\r\n                    try:\r\n                        attribute_displayname = self.attrInfo[attribute].displayName\r\n                    except (KeyError, AttributeError):\r\n                        attribute_displayname = ''\r\n\r\n                    try:\r\n                        attribute_value = self.attrInfo[attribute].value\r\n                    except (KeyError, AttributeError):\r\n                        attribute_value = ''\r\n\r\n                    try:\r\n                        attribute_modified_value = self.attrValues[attribute].value\r\n                    except (KeyError, AttributeError):\r\n                        attribute_modified_value = self.attrValues[attribute]\r\n\r\n                    writer.writerow(\r\n                            [\r\n                                attribute_id,\r\n                                attribute_name,\r\n                                attribute_displayname,\r\n                                attribute_modified_value,\r\n                                attribute_value,\r\n                            ]\r\n                    )\r\n\r\n    def OnUpdateStuff(self, event):\r\n        if self.stuff is event.old:\r\n            self.stuff = event.new\r\n\r\n    def SetupImageList(self):\r\n        self.imageList.RemoveAll()\r\n\r\n        self.blank_icon = self.imageList.Add(BitmapLoader.getBitmap(\"transparent16x16\", \"gui\"))\r\n        self.unknown_icon = self.imageList.Add(BitmapLoader.getBitmap(\"0\", \"icons\"))\r\n\r\n        self.paramList.AssignImageList(self.imageList)\r\n\r\n    def AddAttribute(self, parent, attr):\r\n        display = None\r\n\r\n        if isinstance(attr, tuple):\r\n            display = attr[1]\r\n            attr = attr[0]\r\n\r\n        if attr in self.attrValues and attr not in self.processed_attribs:\r\n\r\n            data = self.GetData(attr, display)\r\n            if data is None:\r\n                return\r\n\r\n            attrIcon, attrName, currentVal, baseVal = data\r\n            attr_item = self.paramList.AppendItem(parent, attrName)\r\n            self.paramList.SetItemTextColour(attr_item, wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT))\r\n\r\n            self.paramList.SetItemText(attr_item, currentVal, 1)\r\n            if self.stuff is not None:\r\n                self.paramList.SetItemText(attr_item, baseVal, 2)\r\n            self.paramList.SetItemImage(attr_item, attrIcon, which=wx.TreeItemIcon_Normal)\r\n            self.processed_attribs.add(attr)\r\n\r\n    def ExpandOrDelete(self, item):\r\n        if self.paramList.GetChildrenCount(item) == 0:\r\n            self.paramList.Delete(item)\r\n        else:\r\n            self.paramList.Expand(item)\r\n\r\n    def PopulateList(self):\r\n        # self.paramList.setResizeColumn(0)\r\n        self.SetupImageList()\r\n\r\n        self.processed_attribs = set()\r\n        root = self.paramList.AddRoot(\"The Root Item\")\r\n        misc_parent = root\r\n\r\n        # We must first deet4ermine if it's categorey already has defined groupings set for it. Otherwise, we default to just using the fitting group\r\n        order = CategoryGroups.get(self.item.category.name, [GuiAttrGroup.FITTING, GuiAttrGroup.SHIP_GROUP])\r\n        # start building out the tree\r\n        for data in [AttrGroupDict[o] for o in order]:\r\n            heading = data.get(\"label\")\r\n\r\n            header_item = self.paramList.AppendItem(root, heading)\r\n            self.paramList.SetItemTextColour(header_item, wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT))\r\n            for attr in data.get(\"attributes\", []):\r\n                # Attribute is a \"grouped\" attr (eg: damage, sensor strengths, etc). Automatically group these into a child item\r\n                if attr in GroupedAttributes:\r\n                    # find which group it's in\r\n                    for grouping in AttrGroups:\r\n                        if attr in grouping[0]:\r\n                            break\r\n\r\n                    # create a child item with the groups label\r\n                    item = self.paramList.AppendItem(header_item, grouping[1])\r\n                    self.paramList.SetItemTextColour(item, wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT))\r\n                    for attr2 in grouping[0]:\r\n                        # add each attribute in the group\r\n                        self.AddAttribute(item, attr2)\r\n\r\n                    self.ExpandOrDelete(item)\r\n                    continue\r\n\r\n                self.AddAttribute(header_item, attr)\r\n\r\n            self.ExpandOrDelete(header_item)\r\n\r\n        names = list(self.attrValues.keys())\r\n        names.sort()\r\n\r\n        # this will take care of any attributes that weren't collected withe the defined grouping (or all attributes if the item ddidn't have anything defined)\r\n        for name in names:\r\n            if name in GroupedAttributes:\r\n                # find which group it's in\r\n                for grouping in AttrGroups:\r\n                    if name in grouping[0]:\r\n                        break\r\n\r\n                # get all attributes in group\r\n                item = self.paramList.AppendItem(root, grouping[1])\r\n                self.paramList.SetItemTextColour(item, wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT))\r\n                for attr2 in grouping[0]:\r\n                    self.AddAttribute(item, attr2)\r\n\r\n                self.ExpandOrDelete(item)\r\n                continue\r\n\r\n            self.AddAttribute(root, name)\r\n\r\n        self.Layout()\r\n\r\n        for i in range(self.paramList.GetMainWindow().GetColumnCount()):\r\n            self.paramList.SetColumnWidth(i, wx.LIST_AUTOSIZE)\r\n\r\n    def GetData(self, attr, displayOveride=None):\r\n        info = self.attrInfo.get(attr)\r\n        att = self.attrValues[attr]\r\n\r\n        # If we're working with a stuff object, we should get the original value from our getItemBaseAttrValue function,\r\n        # which will return the value with respect to the effective base (with mutators / overrides in place)\r\n        valDefault = getattr(info, \"value\", None)  # Get default value from attribute\r\n        if self.stuff is not None:\r\n            # if it's a stuff, overwrite default (with fallback to current value)\r\n            if self.isStuffItem:\r\n                valDefault = self.stuff.getItemBaseAttrValue(attr, valDefault)\r\n            elif self.isStuffCharge:\r\n                valDefault = self.stuff.getChargeBaseAttrValue(attr, valDefault)\r\n\r\n        valueDefault = valDefault if valDefault is not None else att\r\n\r\n        val = getattr(att, \"value\", None)\r\n        value = val if val is not None else att\r\n\r\n        if self.toggleView == AttributeView.NORMAL and (\r\n                (attr not in GroupedAttributes and not (value or valueDefault)) or info is None or not info.published or attr in RequiredSkillAttrs):\r\n            return None\r\n\r\n        if info and info.displayName and self.toggleView == AttributeView.NORMAL:\r\n            attrName = displayOveride or info.displayName\r\n        else:\r\n            attrName = attr\r\n\r\n        if info and config.debug:\r\n            attrName += \" ({})\".format(info.ID)\r\n\r\n        if info:\r\n            if info.iconID is not None:\r\n                iconFile = info.iconID\r\n                icon = BitmapLoader.getBitmap(iconFile, \"icons\")\r\n\r\n                if icon is None:\r\n                    attrIcon = self.blank_icon\r\n                else:\r\n                    attrIcon = self.imageList.Add(icon)\r\n            else:\r\n                attrIcon = self.unknown_icon\r\n        else:\r\n            attrIcon = self.unknown_icon\r\n\r\n        # index = self.paramList.AppendItem(root, attrName)\r\n        # idNameMap[idCount] = attrName\r\n        # self.paramList.SetPyData(index, idCount)\r\n        # idCount += 1\r\n\r\n        if self.toggleView == AttributeView.RAW:\r\n            valueUnit = str(value)\r\n        elif info and info.unit:\r\n            valueUnit = self.FormatValue(*info.unit.PreformatValue(value))\r\n        else:\r\n            valueUnit = formatAmount(value, 3, 0, 0)\r\n\r\n        if self.toggleView == AttributeView.RAW:\r\n            valueUnitDefault = str(valueDefault)\r\n        elif info and info.unit:\r\n            valueUnitDefault = self.FormatValue(*info.unit.PreformatValue(valueDefault))\r\n        else:\r\n            valueUnitDefault = formatAmount(valueDefault, 3, 0, 0)\r\n\r\n        #  todo: attribute that point to another item should load that item's icon.\r\n        return (attrIcon, attrName, valueUnit, valueUnitDefault)\r\n\r\n        # self.paramList.SetItemText(index, valueUnit, 1)\r\n        # if self.stuff is not None:\r\n        #     self.paramList.SetItemText(index, valueUnitDefault, 2)\r\n        # self.paramList.SetItemImage(index, attrIcon, which=wx.TreeItemIcon_Normal)\r\n\r\n    @staticmethod\r\n    def FormatValue(value, unit, rounding='prec', digits=3):\r\n        \"\"\"Formats a value / unit combination into a string\r\n        @todo: move this to a more central location, since this is also used in the item mutator panel\"\"\"\r\n        if isinstance(value, (int, float)) and rounding == 'prec':\r\n            fvalue = formatAmount(value, digits, 0, 0)\r\n        elif isinstance(value, (int, float)) and rounding == 'dec':\r\n            fvalue = roundDec(value, digits)\r\n        else:\r\n            fvalue = value\r\n        unitSuffix = f' {unit}' if unit is not None else ''\r\n        return f'{fvalue}{unitSuffix}'\r\n\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/itemCompare.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom .helpers import AutoListCtrl\r\nfrom service.price import Price as ServicePrice\r\nfrom service.market import Market\r\nfrom service.attribute import Attribute\r\nfrom gui.utils.numberFormatter import formatAmount\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\ndef defaultSort(item):\r\n    return (item.metaLevel or 0, item.name)\r\n\r\n\r\nclass ItemCompare(wx.Panel):\r\n    def __init__(self, parent, stuff, item, items, context=None):\r\n        # Start dealing with Price stuff to get that thread going\r\n        sPrice = ServicePrice.getInstance()\r\n        sPrice.getPrices(items, self.UpdateList, fetchTimeout=90)\r\n\r\n        wx.Panel.__init__(self, parent)\r\n        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE))\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.paramList = AutoListCtrl(self, wx.ID_ANY,\r\n                                      style=wx.LC_REPORT | wx.LC_SINGLE_SEL | wx.LC_VRULES | wx.NO_BORDER)\r\n        mainSizer.Add(self.paramList, 1, wx.ALL | wx.EXPAND, 0)\r\n        self.SetSizer(mainSizer)\r\n\r\n        self.toggleView = 1\r\n        self.stuff = stuff\r\n        self.currentSort = None\r\n        self.sortReverse = False\r\n        self.item = item\r\n        self.items = sorted(items, key=defaultSort)\r\n        self.attrs = {}\r\n        self.HighlightOn = wx.Colour(255, 255, 0, wx.ALPHA_OPAQUE)\r\n        self.highlightedNames = []\r\n\r\n        # get a dict of attrName: attrInfo of all unique attributes across all items\r\n        for item in self.items:\r\n            for attr in list(item.attributes.keys()):\r\n                if item.attributes[attr].info.displayName:\r\n                    self.attrs[attr] = item.attributes[attr].info\r\n\r\n        # Process attributes for items and find ones that differ\r\n        for attr in list(self.attrs.keys()):\r\n            value = None\r\n\r\n            for item in self.items:\r\n                # we can automatically break here if this item doesn't have the attribute,\r\n                # as that means at least one item did\r\n                if attr not in item.attributes:\r\n                    break\r\n\r\n                # this is the first attribute for the item set, set the initial value\r\n                if value is None:\r\n                    value = item.attributes[attr].value\r\n                    continue\r\n\r\n                if attr not in item.attributes or item.attributes[attr].value != value:\r\n                    break\r\n            else:\r\n                # attribute values were all the same, delete\r\n                del self.attrs[attr]\r\n\r\n        self.m_staticline = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize,\r\n                                          wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline, 0, wx.EXPAND)\r\n        bSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.totalAttrsLabel = wx.StaticText(self, wx.ID_ANY, \" \", wx.DefaultPosition, wx.DefaultSize, 0)\r\n        bSizer.Add(self.totalAttrsLabel, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT)\r\n\r\n        self.toggleViewBtn = wx.ToggleButton(self, wx.ID_ANY, _t(\"Toggle view mode\"), wx.DefaultPosition,\r\n                                             wx.DefaultSize, 0)\r\n        bSizer.Add(self.toggleViewBtn, 0, wx.ALIGN_CENTER_VERTICAL)\r\n\r\n        self.refreshBtn = wx.Button(self, wx.ID_ANY, _t(\"Refresh\"), wx.DefaultPosition, wx.DefaultSize,\r\n                                    wx.BU_EXACTFIT)\r\n        bSizer.Add(self.refreshBtn, 0, wx.ALIGN_CENTER_VERTICAL)\r\n        self.refreshBtn.Bind(wx.EVT_BUTTON, self.RefreshValues)\r\n\r\n        mainSizer.Add(bSizer, 0, wx.ALIGN_RIGHT)\r\n\r\n        self.PopulateList()\r\n\r\n        self.toggleViewBtn.Bind(wx.EVT_TOGGLEBUTTON, self.ToggleViewMode)\r\n        self.Bind(wx.EVT_LIST_COL_CLICK, self.SortCompareCols)\r\n\r\n        self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.HighlightRow)\r\n\r\n    def HighlightRow(self, event):\r\n        itemIdx = event.GetIndex()\r\n        name = self.paramList.GetItem(itemIdx).Text\r\n        if name in self.highlightedNames:\r\n            self.highlightedNames.remove(name)\r\n        else:\r\n            self.highlightedNames.append(name)\r\n        self.Freeze()\r\n        self.paramList.ClearAll()\r\n        self.PopulateList()\r\n        self.Thaw()\r\n        event.Skip()\r\n\r\n    def SortCompareCols(self, event):\r\n        self.Freeze()\r\n        self.paramList.ClearAll()\r\n        self.PopulateList(event.Column)\r\n        self.Thaw()\r\n\r\n    def UpdateList(self, items=None):\r\n        # We do nothing with `items`, but it gets returned by the price service thread\r\n        self.Freeze()\r\n        self.paramList.ClearAll()\r\n        self.PopulateList()\r\n        self.Thaw()\r\n        self.paramList.resizeLastColumn(100)\r\n\r\n    def RefreshValues(self, event):\r\n        self.UpdateList()\r\n        event.Skip()\r\n\r\n    def ToggleViewMode(self, event):\r\n        self.toggleView *= -1\r\n        self.UpdateList()\r\n        event.Skip()\r\n\r\n    def processPrices(self, prices):\r\n        for i, price in enumerate(prices):\r\n            self.paramList.SetItem(i, len(self.attrs) + 1, formatAmount(price.value, 3, 3, 9, currency=True))\r\n\r\n    def PopulateList(self, sort=None):\r\n\r\n        if sort is not None and self.currentSort == sort:\r\n            self.sortReverse = not self.sortReverse\r\n        else:\r\n            self.currentSort = sort\r\n            self.sortReverse = False\r\n\r\n        if sort is not None:\r\n            if sort == 0:  # Name sort\r\n                func = lambda _val: _val.name\r\n            else:\r\n                try:\r\n                    # Remember to reduce by 1, because the attrs array\r\n                    # starts at 0 while the list has the item name as column 0.\r\n                    attr = str(list(self.attrs.keys())[sort - 1])\r\n                    func = lambda _val: _val.attributes[attr].value if attr in _val.attributes else 0.0\r\n                # Clicked on a column that's not part of our array (price most likely)\r\n                except IndexError:\r\n                    # Price\r\n                    if sort == len(self.attrs) + 1:\r\n                        func = lambda i: i.price.price if i.price.price != 0 else float(\"Inf\")\r\n                    # Something else\r\n                    else:\r\n                        self.sortReverse = False\r\n                        func = defaultSort\r\n\r\n            self.items = sorted(self.items, key=func, reverse=self.sortReverse)\r\n\r\n        self.paramList.InsertColumn(0, _t(\"Item\"))\r\n        self.paramList.SetColumnWidth(0, 200)\r\n\r\n        for i, attr in enumerate(self.attrs.keys()):\r\n            name = self.attrs[attr].displayName if self.attrs[attr].displayName else attr\r\n            self.paramList.InsertColumn(i + 1, name)\r\n            self.paramList.SetColumnWidth(i + 1, 120)\r\n\r\n        self.paramList.InsertColumn(len(self.attrs) + 1, _t(\"Price\"))\r\n        self.paramList.SetColumnWidth(len(self.attrs) + 1, 60)\r\n\r\n        toHighlight = []\r\n\r\n        for item in self.items:\r\n            i = self.paramList.InsertItem(self.paramList.GetItemCount(), item.name)\r\n            for x, attr in enumerate(self.attrs.keys()):\r\n                if attr in item.attributes:\r\n                    info = self.attrs[attr]\r\n                    value = item.attributes[attr].value\r\n                    if self.toggleView != 1:\r\n                        valueUnit = str(value)\r\n                    elif info and info.unit and self.toggleView == 1:\r\n                        valueUnit = self.TranslateValueUnit(value, info.unit.displayName, info.unit.name)\r\n                    else:\r\n                        valueUnit = formatAmount(value, 3, 0, 0)\r\n\r\n                    self.paramList.SetItem(i, x + 1, valueUnit)\r\n\r\n            # Add prices\r\n            self.paramList.SetItem(i, len(self.attrs) + 1, formatAmount(item.price.price, 3, 3, 9, currency=True) if item.price.price else \"\")\r\n            if item.name in self.highlightedNames:\r\n                toHighlight.append(i)\r\n\r\n        self.paramList.RefreshRows()\r\n        self.Layout()\r\n\r\n        # Highlight after layout, otherwise colors are getting overwritten\r\n        for itemIdx in toHighlight:\r\n            listItem = self.paramList.GetItem(itemIdx)\r\n            listItem.SetBackgroundColour(self.HighlightOn)\r\n            listItem.SetFont(listItem.GetFont().MakeBold())\r\n            self.paramList.SetItem(listItem)\r\n\r\n    @staticmethod\r\n    def TranslateValueUnit(value, unitName, unitDisplayName):\r\n        def itemIDCallback():\r\n            item = Market.getInstance().getItem(value)\r\n            return \"%s (%d)\" % (item.name, value) if item is not None else str(value)\r\n\r\n        def groupIDCallback():\r\n            group = Market.getInstance().getGroup(value)\r\n            return \"%s (%d)\" % (group.name, value) if group is not None else str(value)\r\n\r\n        def attributeIDCallback():\r\n            attribute = Attribute.getInstance().getAttributeInfo(value)\r\n            return \"%s (%d)\" % (attribute.name.capitalize(), value)\r\n\r\n        trans = {\r\n            \"Inverse Absolute Percent\": (lambda: (1 - value) * 100, unitName),\r\n            \"Inversed Modifier Percent\": (lambda: (1 - value) * 100, unitName),\r\n            \"Modifier Percent\": (lambda: (\"%+.2f\" if ((value - 1) * 100) % 1 else \"%+d\") % ((value - 1) * 100), unitName),\r\n            \"Volume\": (lambda: value, \"m\\u00B3\"),\r\n            \"Sizeclass\": (lambda: value, \"\"),\r\n            \"Absolute Percent\": (lambda: (value * 100), unitName),\r\n            \"Milliseconds\": (lambda: value / 1000.0, unitName),\r\n            \"typeID\": (itemIDCallback, \"\"),\r\n            \"groupID\": (groupIDCallback, \"\"),\r\n            \"attributeID\": (attributeIDCallback, \"\")\r\n        }\r\n\r\n        override = trans.get(unitDisplayName)\r\n        if override is not None:\r\n            v = override[0]()\r\n            if isinstance(v, str):\r\n                fvalue = v\r\n            elif isinstance(v, (int, float)):\r\n                fvalue = formatAmount(v, 3, 0, 0)\r\n            else:\r\n                fvalue = v\r\n            return \"%s %s\" % (fvalue, override[1])\r\n        else:\r\n            return \"%s %s\" % (formatAmount(value, 3, 0), unitName)\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/itemDependants.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom gui.bitmap_loader import BitmapLoader\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ItemDependents(wx.Panel):\r\n    def __init__(self, parent, stuff, item):\r\n        wx.Panel.__init__(self, parent, style=wx.TAB_TRAVERSAL)\r\n\r\n        # itemId is set by the parent.\r\n        self.romanNb = [\"0\", \"I\", \"II\", \"III\", \"IV\", \"V\", \"VI\", \"VII\", \"VIII\", \"IX\", \"X\"]\r\n        self.skillIdHistory = []\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.reqTree = wx.TreeCtrl(self, style=wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT | wx.NO_BORDER)\r\n\r\n        mainSizer.Add(self.reqTree, 1, wx.ALL | wx.EXPAND, 0)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.root = self.reqTree.AddRoot(\"WINRARZOR\")\r\n        self.reqTree.SetItemData(self.root, None)\r\n\r\n        self.imageList = wx.ImageList(16, 16)\r\n        self.reqTree.SetImageList(self.imageList)\r\n        skillBookId = self.imageList.Add(BitmapLoader.getBitmap(\"skill_small\", \"gui\"))\r\n\r\n        self.getFullSkillTree(item, self.root, skillBookId)\r\n\r\n        self.Layout()\r\n\r\n    def getFullSkillTree(self, parentSkill, parent, sbIconId):\r\n        levelToItems = {}\r\n\r\n        for item, level in parentSkill.requiredFor.items():\r\n            if level not in levelToItems:\r\n                levelToItems[level] = []\r\n            levelToItems[level].append(item)\r\n\r\n        for x in sorted(levelToItems.keys()):\r\n            items = levelToItems[x]\r\n            items.sort(key=lambda x: x.name)\r\n\r\n            child = self.reqTree.AppendItem(parent, _t(\"Level {}\").format(self.romanNb[int(x)]), sbIconId)\r\n            for item in items:\r\n\r\n                if item.iconID:\r\n                    bitmap = BitmapLoader.getBitmap(item.iconID, \"icons\")\r\n                    itemIcon = self.imageList.Add(bitmap) if bitmap else -1\r\n                else:\r\n                    itemIcon = -1\r\n\r\n                self.reqTree.AppendItem(child, \"{}\".format(item.name), itemIcon)\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/itemDescription.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n# noinspection PyPackageRequirements\r\nimport wx.html\r\nimport re\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ItemDescription(wx.Panel):\r\n    def __init__(self, parent, stuff, item):\r\n        wx.Panel.__init__(self, parent)\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.SetSizer(mainSizer)\r\n\r\n        bgcolor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n        fgcolor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT)\r\n\r\n        self.description = wx.html.HtmlWindow(self)\r\n        if not item.description:\r\n            return\r\n\r\n        desc = item.description.replace(\"\\n\", \"<br>\")\r\n        # Strip font tags\r\n        desc = re.sub(\"<( *)font( *)color( *)=(.*?)>(?P<inside>.*?)<( *)/( *)font( *)>\", r\"\\g<inside>\", desc)\r\n        # Strip URLs\r\n        desc = re.sub(\"<( *)a(.*?)>(?P<inside>.*?)<( *)/( *)a( *)>\", r\"\\g<inside>\", desc)\r\n        desc = \"<body bgcolor='{}' text='{}'>{}</body>\".format(\r\n                bgcolor.GetAsString(wx.C2S_HTML_SYNTAX),\r\n                fgcolor.GetAsString(wx.C2S_HTML_SYNTAX),\r\n                desc\r\n        )\r\n\r\n        self.description.SetPage(desc)\r\n\r\n        mainSizer.Add(self.description, 1, wx.ALL | wx.EXPAND, 0)\r\n        self.Layout()\r\n\r\n        self.description.Bind(wx.EVT_CONTEXT_MENU, self.onPopupMenu)\r\n        self.description.Bind(wx.EVT_KEY_UP, self.onKeyUp)\r\n\r\n        self.popupMenu = wx.Menu()\r\n        copyItem = wx.MenuItem(self.popupMenu, 1, _t('Copy'))\r\n        self.popupMenu.Append(copyItem)\r\n        self.popupMenu.Bind(wx.EVT_MENU, self.menuClickHandler, copyItem)\r\n\r\n    def onPopupMenu(self, event):\r\n        self.PopupMenu(self.popupMenu)\r\n\r\n    def menuClickHandler(self, event):\r\n        selectedMenuItem = event.GetId()\r\n        if selectedMenuItem == 1:  # Copy was chosen\r\n            self.copySelectionToClipboard()\r\n\r\n    def onKeyUp(self, event):\r\n        keyCode = event.GetKeyCode()\r\n        # Ctrl + C\r\n        if keyCode == 67 and event.ControlDown():\r\n            self.copySelectionToClipboard()\r\n        # Ctrl + A\r\n        if keyCode == 65 and event.ControlDown():\r\n            self.description.SelectAll()\r\n\r\n    def copySelectionToClipboard(self):\r\n        selectedText = self.description.SelectionToText()\r\n        if selectedText == '':  # if no selection, copy all content\r\n            selectedText = self.description.ToText()\r\n        if wx.TheClipboard.Open():\r\n            wx.TheClipboard.SetData(wx.TextDataObject(selectedText))\r\n            wx.TheClipboard.Close()\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/itemEffects.py",
    "content": "import os\r\nimport subprocess\r\nimport config\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom .helpers import AutoListCtrl\r\n\r\n_t = wx.GetTranslation\r\n\r\nclass ItemEffects(wx.Panel):\r\n    def __init__(self, parent, stuff, item):\r\n        wx.Panel.__init__(self, parent)\r\n        self.item = item\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.effectList = AutoListCtrl(self, wx.ID_ANY,\r\n                                       style=wx.LC_REPORT | wx.LC_SINGLE_SEL | wx.LC_VRULES | wx.NO_BORDER)\r\n        mainSizer.Add(self.effectList, 1, wx.ALL | wx.EXPAND, 0)\r\n        self.SetSizer(mainSizer)\r\n\r\n        self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnClick, self.effectList)\r\n\r\n        self.PopulateList()\r\n\r\n    def PopulateList(self):\r\n\r\n        self.effectList.InsertColumn(0, _t(\"Name\"))\r\n        self.effectList.InsertColumn(1, _t(\"Active\"))\r\n        self.effectList.InsertColumn(2, _t(\"Type\"))\r\n        if config.debug:\r\n            self.effectList.InsertColumn(3, _t(\"Run Time\"))\r\n            self.effectList.InsertColumn(4, _t(\"ID\"))\r\n\r\n        # self.effectList.SetColumnWidth(0,385)\r\n\r\n        self.effectList.setResizeColumn(0)\r\n        self.effectList.SetColumnWidth(1, 50)\r\n        self.effectList.SetColumnWidth(2, 80)\r\n        if config.debug:\r\n            self.effectList.SetColumnWidth(3, 65)\r\n            self.effectList.SetColumnWidth(4, 40)\r\n\r\n        item = self.item\r\n        self.effects = effects = item.effects\r\n        names = list(effects.keys())\r\n        names.sort()\r\n\r\n        for name in names:\r\n            index = self.effectList.InsertItem(self.effectList.GetItemCount(), name)\r\n\r\n            if effects[name].isImplemented:\r\n                if effects[name].activeByDefault:\r\n                    activeByDefault = _t(\"Yes\")\r\n                else:\r\n                    activeByDefault = _t(\"No\")\r\n            else:\r\n                activeByDefault = \"\"\r\n\r\n            effectTypeText = \"\"\r\n            if effects[name].type:\r\n                for effectType in effects[name].type:\r\n                    effectTypeText += effectType + \" \"\r\n                    pass\r\n\r\n            if effects[name].runTime and effects[name].isImplemented:\r\n                effectRunTime = str(effects[name].runTime)\r\n            else:\r\n                effectRunTime = \"\"\r\n\r\n            self.effectList.SetItem(index, 1, activeByDefault)\r\n            self.effectList.SetItem(index, 2, effectTypeText)\r\n            if config.debug:\r\n                self.effectList.SetItem(index, 3, effectRunTime)\r\n                self.effectList.SetItem(index, 4, str(effects[name].ID))\r\n\r\n        self.effectList.RefreshRows()\r\n        self.Layout()\r\n\r\n    def OnClick(self, event):\r\n        \"\"\"\r\n        Debug use: toggle effects on/off.\r\n        Affects *ALL* items that use that effect.\r\n        Is not stateful.  Will reset if Pyfa is closed and reopened.\r\n        \"\"\"\r\n\r\n        try:\r\n            activeByDefault = getattr(self.item.effects[event.GetText()], \"activeByDefault\")\r\n            if activeByDefault:\r\n                setattr(self.item.effects[event.GetText()], \"activeByDefault\", False)\r\n            else:\r\n                setattr(self.item.effects[event.GetText()], \"activeByDefault\", True)\r\n\r\n        except AttributeError:\r\n            # Attribute doesn't exist, do nothing\r\n            pass\r\n\r\n        self.RefreshValues(event)\r\n\r\n    def RefreshValues(self, event):\r\n        self.Freeze()\r\n        self.effectList.ClearAll()\r\n        self.PopulateList()\r\n        self.effectList.RefreshRows()\r\n        self.Layout()\r\n        self.Thaw()\r\n        event.Skip()\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/itemMutator.py",
    "content": "# noinspection PyPackageRequirements\r\nimport random\r\n\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport gui.fitCommands as cmd\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom service.fit import Fit\r\nfrom .attributeSlider import AttributeSlider, EVT_VALUE_CHANGED\r\nfrom .itemAttributes import ItemParams\r\n\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\nclass ItemMutatorPanel(wx.Panel):\r\n\r\n    def __init__(self, parent, stuff):\r\n        wx.Panel.__init__(self, parent)\r\n        self.stuff = stuff\r\n        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE))\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        headerSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        headerSizer.AddStretchSpacer()\r\n        itemIcon = BitmapLoader.getStaticBitmap(stuff.item.iconID, self, \"icons\")\r\n        if itemIcon is not None:\r\n            headerSizer.Add(itemIcon, 0, 0, 0)\r\n        mutaIcon = BitmapLoader.getStaticBitmap(stuff.mutaplasmid.item.iconID, self, \"icons\")\r\n        if mutaIcon is not None:\r\n            headerSizer.Add(mutaIcon, 0, wx.LEFT, 0)\r\n        sourceItemText = wx.StaticText(self, wx.ID_ANY, stuff.fullName)\r\n        font = parent.GetFont()\r\n        font.SetWeight(wx.BOLD)\r\n        sourceItemText.SetFont(font)\r\n        headerSizer.Add(sourceItemText, 0, wx.LEFT, 10)\r\n        headerSizer.AddStretchSpacer()\r\n        mainSizer.Add(headerSizer, 0, wx.ALL | wx.EXPAND, 5)\r\n        mainSizer.Add(wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL), 0, wx.EXPAND, 0)\r\n\r\n        self.mutaList = ItemMutatorList(self, stuff)\r\n        mainSizer.Add(self.mutaList, 1, wx.EXPAND | wx.ALL, 0)\r\n\r\n        mainSizer.Add(wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL), 0, wx.EXPAND, 0)\r\n        footerSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        self.refreshBtn = wx.Button(self, wx.ID_ANY, _t(\"Reset defaults\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        footerSizer.Add(self.refreshBtn, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 5)\r\n        self.refreshBtn.Bind(wx.EVT_BUTTON, self.mutaList.resetMutatedValues)\r\n        self.randomBtn = wx.Button(self, wx.ID_ANY, _t(\"Random stats\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        footerSizer.Add(self.randomBtn, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 5)\r\n        self.randomBtn.Bind(wx.EVT_BUTTON, self.mutaList.randomMutatedValues)\r\n        self.revertBtn = wx.Button(self, wx.ID_ANY, _t(\"Revert changes\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        footerSizer.Add(self.revertBtn, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 5)\r\n        self.revertBtn.Bind(wx.EVT_BUTTON, self.mutaList.revertChanges)\r\n        mainSizer.Add(footerSizer, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.Layout()\r\n\r\n    def OnWindowClose(self):\r\n        self.mutaList.OnWindowClose()\r\n\r\n\r\nclass ItemMutatorList(wx.ScrolledWindow):\r\n\r\n    def __init__(self, parent, stuff):\r\n        wx.ScrolledWindow.__init__(self, parent)\r\n        self.SetScrollRate(0, 15)\r\n        self.carryingFitID = gui.mainFrame.MainFrame.getInstance().getActiveFit()\r\n        self.initialMutations = {}\r\n        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))\r\n        self.stuff = stuff\r\n        self.timer = None\r\n        self.isModified = False\r\n\r\n        goodColor = wx.Colour(96, 191, 0)\r\n        badColor = wx.Colour(255, 64, 0)\r\n        font = parent.GetFont()\r\n        font.SetWeight(wx.BOLD)\r\n\r\n        sizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.event_mapping = {}\r\n        higOverrides = {\r\n            ('Stasis Web', 'speedFactor'): False,\r\n            ('Damage Control', 'duration'): True,\r\n            ('Siege Module', 'siegeLocalLogisticsDurationBonus'): False\r\n        }\r\n        first = True\r\n        for m in sorted(stuff.mutators.values(), key=lambda x: x.attribute.displayName):\r\n            if m.baseValue == 0:\r\n                continue\r\n            if not first:\r\n                sizer.Add(wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL), 0, wx.ALL | wx.EXPAND, 5)\r\n            first = False\r\n\r\n            self.initialMutations[m.attrID] = m.value\r\n\r\n            highIsGood = higOverrides.get((stuff.item.group.name, m.attribute.name), m.highIsGood)\r\n            # Format: [raw value, modifier applied to base raw value, display value]\r\n            range1 = (m.minValue, self._simplifyValue(m, m.minValue))\r\n            range2 = (m.maxValue, self._simplifyValue(m, m.maxValue))\r\n\r\n            # minValue/maxValue do not always correspond to min/max, because these are\r\n            # just base value multiplied by minMod/maxMod, and in case base is negative\r\n            # minValue is actually bigger than maxValue\r\n            if range1[0] <= range2[0]:\r\n                minRange = range1\r\n                maxRange = range2\r\n            else:\r\n                minRange = range2\r\n                maxRange = range1\r\n\r\n            if (highIsGood and minRange[0] >= maxRange[0]) or (not highIsGood and minRange[0] <= maxRange[0]):\r\n                betterRange = minRange\r\n                worseRange = maxRange\r\n            else:\r\n                betterRange = maxRange\r\n                worseRange = minRange\r\n\r\n            if minRange[1] >= maxRange[1]:\r\n                displayMaxRange = minRange\r\n                displayMinRange = maxRange\r\n            else:\r\n                displayMaxRange = maxRange\r\n                displayMinRange = minRange\r\n\r\n            # If base value is outside of mutation range, make sure that center of slider\r\n            # corresponds to the value which is closest available to actual base value. It's\r\n            # how EVE handles it\r\n            if minRange[0] <= m.baseValue <= maxRange[0]:\r\n                sliderBaseValue = m.baseValue\r\n            else:\r\n                sliderBaseValue = max(minRange[0], min(maxRange[0], m.baseValue))\r\n\r\n            headingSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n            headingSizer.Add(BitmapLoader.getStaticBitmap(m.attribute.iconID, self, \"icons\"), 0, wx.RIGHT, 10)\r\n\r\n            displayName = wx.StaticText(self, wx.ID_ANY, m.attribute.displayName)\r\n            displayName.SetFont(font)\r\n\r\n            headingSizer.Add(displayName, 3, wx.ALL | wx.EXPAND, 0)\r\n\r\n            worseVal = ItemParams.FormatValue(*self._preformatValue(m, worseRange[0]), rounding='dec')\r\n            worseText = wx.StaticText(self, wx.ID_ANY, worseVal)\r\n            worseText.SetForegroundColour(badColor)\r\n\r\n            betterVal = ItemParams.FormatValue(*self._preformatValue(m, betterRange[0]), rounding='dec')\r\n            betterText = wx.StaticText(self, wx.ID_ANY, betterVal)\r\n            betterText.SetForegroundColour(goodColor)\r\n\r\n            headingSizer.Add(worseText, 0, wx.ALL | wx.EXPAND, 0)\r\n            headingSizer.Add(wx.StaticText(self, wx.ID_ANY, \" ─ \"), 0, wx.RIGHT | wx.LEFT | wx.EXPAND, 5)\r\n            headingSizer.Add(betterText, 0, wx.RIGHT | wx.EXPAND, 10)\r\n\r\n            sizer.Add(headingSizer, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n            slider = AttributeSlider(parent=self,\r\n                                     baseValue=self._simplifyValue(m, sliderBaseValue),\r\n                                     minValue=displayMinRange[1],\r\n                                     maxValue=displayMaxRange[1],\r\n                                     inverse=displayMaxRange is worseRange)\r\n            slider.SetValue(self._simplifyValue(m, m.value), False)\r\n            slider.Bind(EVT_VALUE_CHANGED, self.changeMutatedValue)\r\n            self.event_mapping[slider] = m\r\n            sizer.Add(slider, 0, wx.RIGHT | wx.LEFT | wx.EXPAND, 10)\r\n\r\n        self.SetSizer(sizer)\r\n\r\n    def _simplifyValue(self, mutator, value):\r\n        if mutator.attribute.unit is None:\r\n            return value\r\n        return mutator.attribute.unit.SimplifyValue(value)\r\n\r\n    def _complicateValue(self, mutator, value):\r\n        if mutator.attribute.unit is None:\r\n            return value\r\n        return mutator.attribute.unit.ComplicateValue(value)\r\n\r\n    def _preformatValue(self, mutator, value):\r\n        if mutator.attribute.unit is None:\r\n            return value, None\r\n        return mutator.attribute.unit.PreformatValue(value)\r\n\r\n    def changeMutatedValue(self, evt):\r\n        if evt.AffectsModifiedFlag:\r\n            self.isModified = True\r\n        m = self.event_mapping[evt.Object]\r\n        value = evt.Value\r\n        value = self._complicateValue(m, value)\r\n        sFit = Fit.getInstance()\r\n\r\n        sFit.changeMutatedValuePrelim(m, value)\r\n        if self.timer:\r\n            self.timer.Stop()\r\n            self.timer = None\r\n\r\n        for x in self.Parent.Parent.Children:\r\n            if isinstance(x, ItemParams):\r\n                x.RefreshValues(None)\r\n                break\r\n        self.timer = wx.CallLater(1000, self.callLater)\r\n\r\n    def resetMutatedValues(self, evt):\r\n        self.isModified = True\r\n        sFit = Fit.getInstance()\r\n        for slider, m in self.event_mapping.items():\r\n            value = sFit.changeMutatedValuePrelim(m, m.baseValue)\r\n            value = self._simplifyValue(m, value)\r\n            slider.SetValue(value, affect_modified_flag=False)\r\n        evt.Skip()\r\n\r\n    def randomMutatedValues(self, evt):\r\n        self.isModified = True\r\n        sFit = Fit.getInstance()\r\n        for slider, m in self.event_mapping.items():\r\n            value = random.uniform(m.minValue, m.maxValue)\r\n            value = sFit.changeMutatedValuePrelim(m, value)\r\n            value = self._simplifyValue(m, value)\r\n            slider.SetValue(value, affect_modified_flag=False)\r\n        evt.Skip()\r\n\r\n    def revertChanges(self, evt):\r\n        self.isModified = False\r\n        sFit = Fit.getInstance()\r\n        for slider, m in self.event_mapping.items():\r\n            if m.attrID in self.initialMutations:\r\n                value = sFit.changeMutatedValuePrelim(m, self.initialMutations[m.attrID])\r\n                value = self._simplifyValue(m, value)\r\n                slider.SetValue(value, affect_modified_flag=False)\r\n        evt.Skip()\r\n\r\n    def OnWindowClose(self):\r\n        # Submit mutation changes\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.carryingFitID)\r\n        isCurrentMod = self.stuff in fit.modules\r\n        isCurrentDrone = self.stuff in fit.drones\r\n        if isCurrentMod or isCurrentDrone:\r\n            if self.isModified:\r\n                currentMutation = {}\r\n                for slider, m in self.event_mapping.items():\r\n                    # Sliders may have more up-to-date info than mutator in case we changed\r\n                    # value in slider and without confirming it, decided to close window\r\n                    value = slider.GetValue()\r\n                    value = self._complicateValue(m, value)\r\n                    if value != m.value:\r\n                        value = sFit.changeMutatedValuePrelim(m, value)\r\n                    currentMutation[m.attrID] = value\r\n            else:\r\n                currentMutation = self.initialMutations\r\n            mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n            if isCurrentMod:\r\n                mainFrame.getCommandForFit(self.carryingFitID).Submit(cmd.GuiChangeLocalModuleMutationCommand(\r\n                    fitID=self.carryingFitID,\r\n                    position=fit.modules.index(self.stuff),\r\n                    mutation=currentMutation,\r\n                    oldMutation=self.initialMutations))\r\n            elif isCurrentDrone:\r\n                mainFrame.getCommandForFit(self.carryingFitID).Submit(cmd.GuiChangeLocalDroneMutationCommand(\r\n                    fitID=self.carryingFitID,\r\n                    position=fit.drones.index(self.stuff),\r\n                    mutation=currentMutation,\r\n                    oldMutation=self.initialMutations))\r\n        for slider in self.event_mapping:\r\n            slider.OnWindowClose()\r\n\r\n    def callLater(self):\r\n        self.timer = None\r\n        sFit = Fit.getInstance()\r\n\r\n        # recalc the fit that this module affects. This is not necessarily the currently active fit\r\n        sFit.refreshFit(self.carryingFitID)\r\n\r\n        mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        activeFit = mainFrame.getActiveFit()\r\n\r\n        if activeFit != self.carryingFitID:\r\n            # if we're no longer on the fit this module is affecting, simulate a \"switch fit\" so that the active fit\r\n            # can be recalculated (if needed)\r\n            sFit.switchFit(activeFit)\r\n\r\n        # Send signal to GUI to update stats with current active fit\r\n        wx.PostEvent(mainFrame, GE.FitChanged(fitIDs=(activeFit,)))\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/itemProperties.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom .helpers import AutoListCtrl\r\n_t = wx.GetTranslation\r\n\r\nclass ItemProperties(wx.Panel):\r\n    def __init__(self, parent, stuff, item, context=None):\r\n        wx.Panel.__init__(self, parent)\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.paramList = AutoListCtrl(self, wx.ID_ANY,\r\n                                      style=wx.LC_REPORT | wx.LC_SINGLE_SEL | wx.LC_VRULES | wx.NO_BORDER)\r\n        mainSizer.Add(self.paramList, 1, wx.ALL | wx.EXPAND, 0)\r\n        self.SetSizer(mainSizer)\r\n\r\n        self.toggleView = 1\r\n        self.stuff = stuff\r\n        self.item = item\r\n        self.attrInfo = {}\r\n        self.attrValues = {}\r\n        self._fetchValues()\r\n\r\n        self.m_staticline = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline, 0, wx.EXPAND)\r\n        bSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.totalAttrsLabel = wx.StaticText(self, wx.ID_ANY, \" \", wx.DefaultPosition, wx.DefaultSize, 0)\r\n        bSizer.Add(self.totalAttrsLabel, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT)\r\n\r\n        mainSizer.Add(bSizer, 0, wx.ALIGN_RIGHT)\r\n\r\n        self.PopulateList()\r\n\r\n    def _fetchValues(self):\r\n        if self.stuff is None:\r\n            self.attrInfo.clear()\r\n            self.attrValues.clear()\r\n            self.attrInfo.update(self.item.attributes)\r\n            self.attrValues.update(self.item.attributes)\r\n        elif self.stuff.item == self.item:\r\n            self.attrInfo.clear()\r\n            self.attrValues.clear()\r\n            self.attrInfo.update(self.stuff.item.attributes)\r\n            self.attrValues.update(self.stuff.itemModifiedAttributes)\r\n        elif self.stuff.charge == self.item:\r\n            self.attrInfo.clear()\r\n            self.attrValues.clear()\r\n            self.attrInfo.update(self.stuff.charge.attributes)\r\n            self.attrValues.update(self.stuff.chargeModifiedAttributes)\r\n        # When item for stats window no longer exists, don't change anything\r\n        else:\r\n            return\r\n\r\n    def PopulateList(self):\r\n        self.paramList.InsertColumn(0, _t(\"Attribute\"))\r\n        self.paramList.InsertColumn(1, _t(\"Current Value\"))\r\n        self.paramList.SetColumnWidth(0, 110)\r\n        self.paramList.SetColumnWidth(1, 1500)\r\n        self.paramList.setResizeColumn(0)\r\n\r\n        if self.stuff:\r\n            names = dir(self.stuff)\r\n        else:\r\n            names = dir(self.item)\r\n\r\n        names = [a for a in names if not (a.startswith('__') and a.endswith('__'))]\r\n\r\n        idNameMap = {}\r\n        idCount = 0\r\n        for name in names:\r\n            try:\r\n                if self.stuff:\r\n                    attrName = name.title()\r\n                    value = getattr(self.stuff, name)\r\n                else:\r\n                    attrName = name.title()\r\n                    value = getattr(self.item, name)\r\n\r\n                index = self.paramList.InsertItem(self.paramList.GetItemCount(), attrName)\r\n                # index = self.paramList.InsertImageStringItem(sys.maxint, attrName)\r\n                idNameMap[idCount] = attrName\r\n                self.paramList.SetItemData(index, idCount)\r\n                idCount += 1\r\n\r\n                valueUnit = str(value)\r\n\r\n                self.paramList.SetItem(index, 1, valueUnit)\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except:\r\n                # TODO: Add logging to this.\r\n                # We couldn't get a property for some reason. Skip it for now.\r\n                continue\r\n\r\n        self.paramList.SortItems(lambda id1, id2: (idNameMap[id1] > idNameMap[id2]) - (idNameMap[id1] < idNameMap[id2]))\r\n        self.paramList.RefreshRows()\r\n        self.totalAttrsLabel.SetLabel(_t(\"%d attribute.\", \"%d attributes.\", idCount) % idCount)\r\n        self.Layout()\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/itemRequirements.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom gui.bitmap_loader import BitmapLoader\r\n\r\n\r\nclass ItemRequirements(wx.Panel):\r\n    def __init__(self, parent, stuff, item):\r\n        wx.Panel.__init__(self, parent, style=wx.TAB_TRAVERSAL)\r\n\r\n        # itemId is set by the parent.\r\n        self.romanNb = [\"0\", \"I\", \"II\", \"III\", \"IV\", \"V\", \"VI\", \"VII\", \"VIII\", \"IX\", \"X\"]\r\n        self.skillIdHistory = []\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.reqTree = wx.TreeCtrl(self, style=wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT | wx.NO_BORDER)\r\n\r\n        mainSizer.Add(self.reqTree, 1, wx.ALL | wx.EXPAND, 0)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.root = self.reqTree.AddRoot(\"WINRARZOR\")\r\n        self.reqTree.SetItemData(self.root, None)\r\n\r\n        self.imageList = wx.ImageList(16, 16)\r\n        self.reqTree.SetImageList(self.imageList)\r\n        skillBookId = self.imageList.Add(BitmapLoader.getBitmap(\"skill_small\", \"gui\"))\r\n\r\n        self.getFullSkillTree(item, self.root, skillBookId)\r\n\r\n        self.reqTree.ExpandAll()\r\n\r\n        self.Layout()\r\n\r\n    def getFullSkillTree(self, parentSkill, parent, sbIconId):\r\n        for skill, level in parentSkill.requiredSkills.items():\r\n            child = self.reqTree.AppendItem(parent, \"%s  %s\" % (skill.name, self.romanNb[int(level)]), sbIconId)\r\n            if skill.ID not in self.skillIdHistory:\r\n                self.getFullSkillTree(skill, child, sbIconId)\r\n                self.skillIdHistory.append(skill.ID)\r\n"
  },
  {
    "path": "gui/builtinItemStatsViews/itemTraits.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n# noinspection PyPackageRequirements\r\nimport wx.html\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ItemTraits(wx.Panel):\r\n    def __init__(self, parent, stuff, item):\r\n        wx.Panel.__init__(self, parent)\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.SetSizer(mainSizer)\r\n\r\n        self.traits = wx.html.HtmlWindow(self)\r\n\r\n        bgcolor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n        fgcolor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT)\r\n        self.traits.SetPage(\"<body bgcolor='{}' text='{}'>{}</body>\".format(\r\n            bgcolor.GetAsString(wx.C2S_HTML_SYNTAX),\r\n            fgcolor.GetAsString(wx.C2S_HTML_SYNTAX), item.traits.display))\r\n\r\n        self.traits.Bind(wx.EVT_CONTEXT_MENU, self.onPopupMenu)\r\n        self.traits.Bind(wx.EVT_KEY_UP, self.onKeyUp)\r\n\r\n        mainSizer.Add(self.traits, 1, wx.ALL | wx.EXPAND, 0)\r\n        self.Layout()\r\n\r\n        self.popupMenu = wx.Menu()\r\n        copyItem = wx.MenuItem(self.popupMenu, 1, _t('Copy'))\r\n        self.popupMenu.Append(copyItem)\r\n        self.popupMenu.Bind(wx.EVT_MENU, self.menuClickHandler, copyItem)\r\n\r\n    def onPopupMenu(self, event):\r\n        self.PopupMenu(self.popupMenu)\r\n\r\n    def menuClickHandler(self, event):\r\n        selectedMenuItem = event.GetId()\r\n        if selectedMenuItem == 1:  # Copy was chosen\r\n            self.copySelectionToClipboard()\r\n\r\n    def onKeyUp(self, event):\r\n        keyCode = event.GetKeyCode()\r\n        # Ctrl + C\r\n        if keyCode == 67 and event.ControlDown():\r\n            self.copySelectionToClipboard()\r\n        # Ctrl + A\r\n        if keyCode == 65 and event.ControlDown():\r\n            self.traits.SelectAll()\r\n\r\n    def copySelectionToClipboard(self):\r\n        selectedText = self.traits.SelectionToText()\r\n        if selectedText == '':  # if no selection, copy all content\r\n            selectedText = self.traits.ToText()\r\n        if wx.TheClipboard.Open():\r\n            wx.TheClipboard.SetData(wx.TextDataObject(selectedText))\r\n            wx.TheClipboard.Close()\r\n"
  },
  {
    "path": "gui/builtinMarketBrowser/__init__.py",
    "content": ""
  },
  {
    "path": "gui/builtinMarketBrowser/events.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx.lib.newevent\r\n\r\n\r\nItemSelected, ITEM_SELECTED = wx.lib.newevent.NewEvent()\r\n\r\nRECENTLY_USED_MODULES = -2\r\n\r\nCHARGES_FOR_FIT = -3\r\n"
  },
  {
    "path": "gui/builtinMarketBrowser/itemView.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nimport gui.builtinMarketBrowser.pfSearchBox as SBox\r\nimport gui.globalEvents as GE\r\nfrom config import slotColourMap, slotColourMapDark\r\nfrom eos.saveddata.module import Module\r\nfrom gui.builtinMarketBrowser.events import ItemSelected, RECENTLY_USED_MODULES, CHARGES_FOR_FIT\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.display import Display\r\nfrom gui.utils.staticHelpers import DragDropHelper\r\nfrom gui.utils.dark import isDark\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\nfrom service.ammo import Ammo\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass ItemView(Display):\r\n\r\n    DEFAULT_COLS = [\"Base Icon\",\r\n                    \"Base Name\",\r\n                    \"attr:power,,,True\",\r\n                    \"attr:cpu,,,True\"]\r\n\r\n    def __init__(self, parent, marketBrowser):\r\n        Display.__init__(self, parent, style=wx.LC_SINGLE_SEL)\r\n        pyfalog.debug(\"Initialize ItemView\")\r\n        marketBrowser.Bind(wx.EVT_TREE_SEL_CHANGED, self.treeSelectionChanged)\r\n\r\n        self.unfilteredStore = set()\r\n        self.filteredStore = set()\r\n        self.sMkt = marketBrowser.sMkt\r\n        self.sFit = Fit.getInstance()\r\n        self.sAmmo = Ammo.getInstance()\r\n\r\n        self.marketBrowser = marketBrowser\r\n        self.marketView = marketBrowser.marketView\r\n\r\n        # Set up timer for delaying search on every EVT_TEXT\r\n        self.searchTimer = wx.Timer(self)\r\n        self.Bind(wx.EVT_TIMER, self.scheduleSearch, self.searchTimer)\r\n\r\n        # Make sure our search actually does interesting stuff\r\n        self.marketBrowser.search.Bind(SBox.EVT_TEXT_ENTER, self.scheduleSearch)\r\n        self.marketBrowser.search.Bind(SBox.EVT_SEARCH_BTN, self.scheduleSearch)\r\n        self.marketBrowser.search.Bind(SBox.EVT_CANCEL_BTN, self.clearSearch)\r\n        self.marketBrowser.search.Bind(SBox.EVT_TEXT, self.delaySearch)\r\n\r\n        # Make sure WE do interesting stuff too\r\n        self.Bind(wx.EVT_CONTEXT_MENU, self.contextMenu)\r\n        self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.itemActivated)\r\n        self.Bind(wx.EVT_LIST_BEGIN_DRAG, self.startDrag)\r\n\r\n        # the \"charges for active fitting\" needs to listen to fitting changes\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n\r\n        self.active = []\r\n\r\n    def delaySearch(self, evt):\r\n        sFit = Fit.getInstance()\r\n        self.searchTimer.Stop()\r\n        self.searchTimer.Start(sFit.serviceFittingOptions[\"marketSearchDelay\"], True)\r\n\r\n    def startDrag(self, event):\r\n        row = self.GetFirstSelected()\r\n\r\n        if row != -1:\r\n            data = wx.TextDataObject()\r\n            dataStr = \"market:\" + str(self.active[row].ID)\r\n            pyfalog.debug(\"Dragging from market: \" + dataStr)\r\n\r\n            data.SetText(dataStr)\r\n            dropSource = wx.DropSource(self)\r\n            dropSource.SetData(data)\r\n            DragDropHelper.data = dataStr\r\n            dropSource.DoDragDrop()\r\n\r\n    def itemActivated(self, event=None):\r\n        # Check if something is selected, if so, spawn the menu for it\r\n        sel = self.GetFirstSelected()\r\n        if sel == -1:\r\n            return\r\n\r\n        if self.mainFrame.getActiveFit():\r\n            wx.PostEvent(self.mainFrame, ItemSelected(itemID=self.active[sel].ID))\r\n\r\n    def treeSelectionChanged(self, event=None):\r\n        self.selectionMade('tree')\r\n\r\n    def selectionMade(self, context):\r\n        self.marketBrowser.mode = 'normal'\r\n        # Grab the threeview selection and check if it's fine\r\n        sel = self.marketView.GetSelection()\r\n        if sel.IsOk():\r\n            # Get data field of the selected item (which is a marketGroup ID if anything was selected)\r\n            seldata = self.marketView.GetItemData(sel)\r\n            if seldata == RECENTLY_USED_MODULES:\r\n                items = self.sMkt.getRecentlyUsed()\r\n            elif seldata == CHARGES_FOR_FIT:\r\n                items = self.getChargesForActiveFit()\r\n            elif seldata is not None:\r\n                # If market group treeview item doesn't have children (other market groups or dummies),\r\n                # then it should have items in it and we want to request them\r\n                if self.marketView.ItemHasChildren(sel) is False:\r\n                    sMkt = self.sMkt\r\n                    # Get current market group\r\n                    mg = sMkt.getMarketGroup(seldata, eager=(\"items\", \"items.metaGroup\"))\r\n                    # Get all its items\r\n                    items = sMkt.getItemsByMarketGroup(mg)\r\n                else:\r\n                    items = set()\r\n            else:\r\n                items = set()\r\n\r\n            # Fill store\r\n            self.updateItemStore(items)\r\n\r\n            # Set toggle buttons / use search mode flag if recently used modules category is selected (in order to have all modules listed and not filtered)\r\n            if seldata == RECENTLY_USED_MODULES:\r\n                self.marketBrowser.mode = 'recent'\r\n            \r\n            if seldata == CHARGES_FOR_FIT:\r\n                self.marketBrowser.mode = 'charges'\r\n\r\n            self.setToggles()\r\n            if context == 'tree' and self.marketBrowser.settings.get('marketMGMarketSelectMode') == 1:\r\n                for btn in self.marketBrowser.metaButtons:\r\n                    if not btn.GetValue():\r\n                        btn.setUserSelection(True)\r\n            self.filterItemStore()\r\n\r\n    def getChargesForActiveFit(self): \r\n        fitId = self.mainFrame.getActiveFit()\r\n\r\n        # no active fit => no charges\r\n        if fitId is None:\r\n            return set()\r\n\r\n        fit = self.sFit.getFit(fitId)\r\n\r\n        # use a set so we only add one entry for each charge\r\n        items = set()\r\n        for mod in fit.modules:\r\n            charges = self.sAmmo.getModuleFlatAmmo(mod)\r\n            for charge in charges:\r\n                items.add(charge)\r\n        return items\r\n\r\n    def fitChanged(self, event):\r\n        # skip the event so the other handlers also get called\r\n        event.Skip()\r\n\r\n        if self.marketBrowser.mode != 'charges':\r\n            return\r\n\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        # if it was not the active fitting that was changed, do not do anything\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n\r\n        items = self.getChargesForActiveFit()\r\n\r\n        # update the UI\r\n        self.updateItemStore(items)\r\n        self.filterItemStore()\r\n\r\n    def updateItemStore(self, items):\r\n        self.unfilteredStore = items\r\n\r\n    def filterItemStore(self):\r\n        filteredItems = self.filterItems()\r\n        if len(filteredItems) == 0 and len(self.unfilteredStore) > 0:\r\n            setting = self.marketBrowser.settings.get('marketMGEmptyMode')\r\n            # Enable leftmost available\r\n            if setting == 1:\r\n                for btn in self.marketBrowser.metaButtons:\r\n                    if btn.IsEnabled() and not btn.userSelected:\r\n                        btn.setUserSelection(True)\r\n                        break\r\n                filteredItems = self.filterItems()\r\n            # Enable all\r\n            elif setting == 2:\r\n                for btn in self.marketBrowser.metaButtons:\r\n                    if btn.IsEnabled() and not btn.userSelected:\r\n                        btn.setUserSelection(True)\r\n                filteredItems = self.filterItems()\r\n        self.filteredStore = filteredItems\r\n        self.update(self.filteredStore)\r\n\r\n    def filterItems(self):\r\n        sMkt = self.sMkt\r\n        selectedMetas = set()\r\n        for btn in self.marketBrowser.metaButtons:\r\n            if btn.userSelected:\r\n                selectedMetas.update(sMkt.META_MAP[btn.metaName])\r\n        filteredItems = sMkt.filterItemsByMeta(self.unfilteredStore, selectedMetas)\r\n        return filteredItems\r\n\r\n    def setToggles(self):\r\n        metaIDs = set()\r\n        sMkt = self.sMkt\r\n        for item in self.unfilteredStore:\r\n            metaIDs.add(sMkt.getMetaGroupIdByItem(item))\r\n\r\n        for btn in self.marketBrowser.metaButtons:\r\n            btn.reset()\r\n            btnMetas = sMkt.META_MAP[btn.metaName]\r\n            if len(metaIDs.intersection(btnMetas)) > 0:\r\n                btn.setMetaAvailable(True)\r\n            else:\r\n                btn.setMetaAvailable(False)\r\n\r\n    def scheduleSearch(self, event=None):\r\n        self.searchTimer.Stop()  # Cancel any pending timers\r\n        search = self.marketBrowser.search.GetLineText(0)\r\n        # Make sure we do not count wildcards as search symbol\r\n        realsearch = search.replace('*', '').replace('?', '')\r\n        # Re-select market group if search query has zero length\r\n        if len(realsearch) == 0:\r\n            self.selectionMade('search')\r\n            return\r\n\r\n        self.marketBrowser.mode = 'search'\r\n        self.sMkt.searchItems(search, self.populateSearch, 'market')\r\n\r\n    def clearSearch(self, event=None):\r\n        # Wipe item store and update everything to accomodate with it\r\n        # If clearSearch was generated by SearchCtrl's Cancel button, clear the content also\r\n\r\n        if event:\r\n            self.marketBrowser.search.Clear()\r\n\r\n        if self.marketBrowser.mode == 'search':\r\n            self.marketBrowser.mode = 'normal'\r\n            self.updateItemStore(set())\r\n            self.setToggles()\r\n            self.filterItemStore()\r\n\r\n    def populateSearch(self, itemIDs):\r\n        # If we're no longer searching, dump the results\r\n        if self.marketBrowser.mode != 'search':\r\n            return\r\n        items = Market.getItems(itemIDs)\r\n        self.updateItemStore(items)\r\n        self.setToggles()\r\n        self.filterItemStore()\r\n\r\n    def contextMenu(self, event):\r\n        clickedPos = self.getRowByAbs(event.Position)\r\n        self.ensureSelection(clickedPos)\r\n\r\n        # Check if something is selected, if so, spawn the menu for it\r\n        if clickedPos == -1:\r\n            return\r\n\r\n        item = self.active[clickedPos]\r\n        sMkt = self.sMkt\r\n        sourceContext = \"marketItemMisc\" if self.marketBrowser.mode in (\"search\", \"recent\") else \"marketItemGroup\"\r\n        itemContext = sMkt.getCategoryByItem(item).displayName\r\n\r\n        menu = ContextMenu.getMenu(self, item, (item,), (sourceContext, itemContext))\r\n        self.PopupMenu(menu)\r\n\r\n    def populate(self, items):\r\n        if len(items) > 0:\r\n            # Clear selection\r\n            self.unselectAll()\r\n            # Perform sorting, using item's meta levels besides other stuff\r\n            if self.marketBrowser.mode != 'recent':\r\n                items.sort(key=self.sMkt.itemSort)\r\n        # Mark current item list as active\r\n        self.active = items\r\n        # Show them\r\n        Display.populate(self, items)\r\n\r\n    def refresh(self, items):\r\n        if len(items) > 1:\r\n            # Re-sort stuff\r\n            if self.marketBrowser.mode != 'recent':\r\n                items.sort(key=self.sMkt.itemSort)\r\n        for i, item in enumerate(items[:9]):\r\n            # set shortcut info for first 9 modules\r\n            item.marketShortcut = i + 1\r\n        Display.refresh(self, items)\r\n\r\n    def columnBackground(self, colItem, item):\r\n        if self.sFit.serviceFittingOptions[\"colorFitBySlot\"]:\r\n            colorMap = slotColourMapDark if isDark() else slotColourMap\r\n            return colorMap.get(Module.calculateSlot(item)) or self.GetBackgroundColour()\r\n        else:\r\n            return self.GetBackgroundColour()\r\n"
  },
  {
    "path": "gui/builtinMarketBrowser/marketTree.py",
    "content": "import wx\r\n\r\nfrom gui.cachingImageList import CachingImageList\r\nfrom gui.builtinMarketBrowser.events import RECENTLY_USED_MODULES, CHARGES_FOR_FIT\r\n\r\nfrom logbook import Logger\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass MarketTree(wx.TreeCtrl):\r\n\r\n    def __init__(self, parent, marketBrowser):\r\n        wx.TreeCtrl.__init__(self, parent, style=wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT)\r\n        pyfalog.debug(\"Initialize marketTree\")\r\n        self.root = self.AddRoot(\"root\")\r\n\r\n        self.imageList = CachingImageList(16, 16)\r\n        self.SetImageList(self.imageList)\r\n\r\n        self.sMkt = marketBrowser.sMkt\r\n        self.marketBrowser = marketBrowser\r\n\r\n        # Form market tree root\r\n        sMkt = self.sMkt\r\n        for mktGrp in sMkt.getMarketRoot():\r\n            iconId = self.addImage(sMkt.getIconByMarketGroup(mktGrp))\r\n            childId = self.AppendItem(self.root, mktGrp.name, iconId, data=mktGrp.ID)\r\n            # All market groups which were never expanded are dummies, here we assume\r\n            # that all root market groups are expandable\r\n            self.AppendItem(childId, \"dummy\")\r\n        self.SortChildren(self.root)\r\n\r\n        # Add recently used modules node\r\n        rumIconId = self.addImage(\"market_small\", \"gui\")\r\n        self.AppendItem(self.root, _t(\"Recently Used Items\"), rumIconId, data=RECENTLY_USED_MODULES)\r\n        # Add charges for active fitting node\r\n        cffIconId = self.addImage(\"damagePattern_small\", \"gui\")\r\n        self.AppendItem(self.root, _t(\"Charges For Active Fit\"), cffIconId, data=CHARGES_FOR_FIT)\r\n\r\n        # Bind our lookup method to when the tree gets expanded\r\n        self.Bind(wx.EVT_TREE_ITEM_EXPANDING, self.expandLookup)\r\n        self.Bind(wx.EVT_TREE_ITEM_COLLAPSED, self.OnCollapsed)\r\n\r\n    def addImage(self, iconFile, location=\"icons\"):\r\n        if iconFile is None:\r\n            return -1\r\n        return self.imageList.GetImageIndex(iconFile, location)\r\n\r\n    def expandLookup(self, event):\r\n        \"\"\"Process market tree expands\"\"\"\r\n        root = event.Item\r\n        child = self.GetFirstChild(root)[0]\r\n        # If child of given market group is a dummy\r\n        if self.GetItemText(child) == \"dummy\":\r\n            # Delete it\r\n            self.Delete(child)\r\n            # And add real market group contents\r\n            sMkt = self.sMkt\r\n            currentMktGrp = sMkt.getMarketGroup(self.GetItemData(root), eager=\"children\")\r\n\r\n            for childMktGrp in sMkt.getMarketGroupChildren(currentMktGrp):\r\n                # If market should have items but it doesn't, do not show it\r\n                if sMkt.marketGroupValidityCheck(childMktGrp) is False:\r\n                    continue\r\n                icon = sMkt.getIconByMarketGroup(childMktGrp)\r\n                iconId = -1 if icon is None else self.addImage(icon)\r\n                try:\r\n                    childId = self.AppendItem(root, childMktGrp.name, iconId, data=childMktGrp.ID)\r\n                except (KeyboardInterrupt, SystemExit):\r\n                    raise\r\n                except Exception as e:\r\n                    pyfalog.debug(\"Error appending item.\")\r\n                    pyfalog.debug(e)\r\n                    continue\r\n                if sMkt.marketGroupHasTypesCheck(childMktGrp) is False:\r\n                    self.AppendItem(childId, \"dummy\")\r\n\r\n            self.SortChildren(root)\r\n\r\n    def OnCollapsed(self, event):\r\n        self.CollapseAllChildren(event.Item)\r\n        event.Skip()\r\n\r\n    def jump(self, item):\r\n        \"\"\"Open market group and meta tab of given item\"\"\"\r\n        sMkt = self.sMkt\r\n        mg = sMkt.getMarketGroupByItem(item)\r\n\r\n        jumpList = []\r\n        while mg is not None:\r\n            jumpList.append(mg.ID)\r\n            mg = mg.parent\r\n\r\n        for id in sMkt.ROOT_MARKET_GROUPS:\r\n            if id in jumpList:\r\n                jumpList = jumpList[:jumpList.index(id) + 1]\r\n\r\n        item = self.root\r\n        for i in range(len(jumpList) - 1, -1, -1):\r\n            target = jumpList[i]\r\n            child, cookie = self.GetFirstChild(item)\r\n            while self.GetItemData(child) != target:\r\n                child, cookie = self.GetNextChild(item, cookie)\r\n\r\n            item = child\r\n            self.Expand(item)\r\n\r\n        self.SelectItem(item)\r\n"
  },
  {
    "path": "gui/builtinMarketBrowser/metaButton.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass MetaButton(wx.ToggleButton):\r\n    def __init__(self, *args, **kwargs):\r\n        super(MetaButton, self).__init__(*args, **kwargs)\r\n        self.setUserSelection(True)\r\n\r\n    def setUserSelection(self, isSelected):\r\n        self.userSelected = isSelected\r\n        self.SetValue(isSelected)\r\n\r\n    def setMetaAvailable(self, isAvailable):\r\n        self.Enable(isAvailable)\r\n        # need to also SetValue(False) for windows because Enabled=False AND SetValue(True) looks enabled.\r\n        if not isAvailable and \"wxMSW\" in wx.PlatformInfo:\r\n            self.SetValue(False)\r\n\r\n    def reset(self):\r\n        self.Enable(True)\r\n        self.SetValue(self.userSelected)\r\n"
  },
  {
    "path": "gui/builtinMarketBrowser/pfSearchBox.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\nimport gui.utils.color as colorUtils\r\nimport gui.utils.draw as drawUtils\r\nfrom gui.utils.helpers_wxPython import HandleCtrlBackspace\r\n\r\nSearchButton, EVT_SEARCH_BTN = wx.lib.newevent.NewEvent()\r\nCancelButton, EVT_CANCEL_BTN = wx.lib.newevent.NewEvent()\r\nTextEnter, EVT_TEXT_ENTER = wx.lib.newevent.NewEvent()\r\nTextTyped, EVT_TEXT = wx.lib.newevent.NewEvent()\r\n\r\n\r\nclass PFSearchBox(wx.Window):\r\n    def __init__(self, parent, id=wx.ID_ANY, value=\"\", pos=wx.DefaultPosition, size=wx.Size(-1, 24), style=0):\r\n        wx.Window.__init__(self, parent, id, pos, size, style=style)\r\n\r\n        self.isSearchButtonVisible = False\r\n        self.isCancelButtonVisible = False\r\n\r\n        self.descriptiveText = \"Search\"\r\n\r\n        self.searchBitmap = None\r\n        self.cancelBitmap = None\r\n        self.bkBitmap = None\r\n\r\n        self.resized = True\r\n\r\n        self.searchButtonX = 0\r\n        self.searchButtonY = 0\r\n        self.searchButtonPressed = False\r\n\r\n        self.cancelButtonX = 0\r\n        self.cancelButtonY = 0\r\n        self.cancelButtonPressed = False\r\n\r\n        self.editX = 0\r\n        self.editY = 0\r\n\r\n        self.padding = 4\r\n\r\n        self._hl = False\r\n\r\n        w, h = size\r\n        self.EditBox = wx.TextCtrl(self, wx.ID_ANY, \"\", wx.DefaultPosition,\r\n                                   (-1, h - 2 if 'wxGTK' in wx.PlatformInfo else -1),\r\n                                   wx.TE_PROCESS_ENTER | (wx.BORDER_NONE if 'wxGTK' in wx.PlatformInfo else 0))\r\n\r\n        self.Bind(wx.EVT_PAINT, self.OnPaint)\r\n        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBk)\r\n        self.Bind(wx.EVT_SIZE, self.OnSize)\r\n\r\n        self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)\r\n        self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)\r\n\r\n        # self.EditBox.ChangeValue(self.descriptiveText)\r\n\r\n        self.EditBox.Bind(wx.EVT_SET_FOCUS, self.OnEditSetFocus)\r\n        self.EditBox.Bind(wx.EVT_KILL_FOCUS, self.OnEditKillFocus)\r\n        self.EditBox.Bind(wx.EVT_KEY_DOWN, self.OnKeyPress)\r\n        self.EditBox.Bind(wx.EVT_TEXT, self.OnText)\r\n        self.EditBox.Bind(wx.EVT_TEXT_ENTER, self.OnTextEnter)\r\n\r\n        self.SetBackgroundStyle(wx.BG_STYLE_PAINT)\r\n\r\n        self.SetMinSize(size)\r\n\r\n    def OnText(self, event):\r\n        wx.PostEvent(self, TextTyped())\r\n        event.Skip()\r\n\r\n    def OnTextEnter(self, event):\r\n        wx.PostEvent(self, TextEnter())\r\n        event.Skip()\r\n\r\n    @staticmethod\r\n    def OnEditSetFocus(event):\r\n        # value = self.EditBox.GetValue()\r\n        # if value == self.descriptiveText:\r\n        #    self.EditBox.ChangeValue(\"\")\r\n        event.Skip()\r\n\r\n    def OnEditKillFocus(self, event):\r\n        if self.EditBox.GetValue() == \"\":\r\n            self.Clear()\r\n        event.Skip()\r\n\r\n    def OnKeyPress(self, event):\r\n        if event.RawControlDown() and event.GetKeyCode() == wx.WXK_BACK:\r\n            HandleCtrlBackspace(self.EditBox)\r\n        else:\r\n            event.Skip()\r\n\r\n    def Clear(self):\r\n        self.EditBox.Clear()\r\n        # self.EditBox.ChangeValue(self.descriptiveText)\r\n\r\n    def Focus(self):\r\n        self.EditBox.SetFocus()\r\n\r\n    def SetValue(self, value):\r\n        self.EditBox.SetValue(value)\r\n\r\n    def ChangeValue(self, value):\r\n        self.EditBox.ChangeValue(value)\r\n\r\n    def GetValue(self):\r\n        return self.EditBox.GetValue()\r\n\r\n    def GetLineText(self, lineno):\r\n        return self.EditBox.GetLineText(lineno)\r\n\r\n    def HitTest(self, target, position, area):\r\n        x, y = target\r\n        px, py = position\r\n        aX, aY = area\r\n        if (x < px < x + aX) and (y < py < y + aY):\r\n            return True\r\n        return False\r\n\r\n    def GetButtonsPos(self):\r\n        btnpos = [\r\n            (self.searchButtonX, self.searchButtonY),\r\n            (self.cancelButtonX, self.cancelButtonY)\r\n        ]\r\n        return btnpos\r\n\r\n    def GetButtonsSize(self):\r\n        btnsize = []\r\n\r\n        if self.searchBitmap:\r\n            sw = self.searchBitmap.GetWidth()\r\n            sh = self.searchBitmap.GetHeight()\r\n        else:\r\n            sw = 0\r\n            sh = 0\r\n\r\n        if self.cancelBitmap:\r\n            cw = self.cancelBitmap.GetWidth()\r\n            ch = self.cancelBitmap.GetHeight()\r\n        else:\r\n            cw = 0\r\n            ch = 0\r\n\r\n        btnsize.append((sw, sh))\r\n        btnsize.append((cw, ch))\r\n        return btnsize\r\n\r\n    def OnLeftDown(self, event):\r\n        btnpos = self.GetButtonsPos()\r\n        btnsize = self.GetButtonsSize()\r\n\r\n        self.CaptureMouse()\r\n        for btn in range(2):\r\n            if self.HitTest(btnpos[btn], event.GetPosition(), btnsize[btn]):\r\n                if btn == 0:\r\n                    if not self.searchButtonPressed:\r\n                        self.searchButtonPressed = True\r\n                        self.Refresh()\r\n                if btn == 1:\r\n                    if not self.cancelButtonPressed:\r\n                        self.cancelButtonPressed = True\r\n                        self.Refresh()\r\n\r\n    def OnLeftUp(self, event):\r\n        btnpos = self.GetButtonsPos()\r\n        btnsize = self.GetButtonsSize()\r\n\r\n        if self.HasCapture():\r\n            self.ReleaseMouse()\r\n\r\n        for btn in range(2):\r\n            if self.HitTest(btnpos[btn], event.GetPosition(), btnsize[btn]):\r\n                if btn == 0:\r\n                    if self.searchButtonPressed:\r\n                        self.searchButtonPressed = False\r\n                        self.Refresh()\r\n                        self.SetFocus()\r\n                        wx.PostEvent(self, SearchButton())\r\n                if btn == 1:\r\n                    if self.cancelButtonPressed:\r\n                        self.cancelButtonPressed = False\r\n                        self.Refresh()\r\n                        self.SetFocus()\r\n                        wx.PostEvent(self, CancelButton())\r\n            else:\r\n                if btn == 0:\r\n                    if self.searchButtonPressed:\r\n                        self.searchButtonPressed = False\r\n                        self.Refresh()\r\n                if btn == 1:\r\n                    if self.cancelButtonPressed:\r\n                        self.cancelButtonPressed = False\r\n                        self.Refresh()\r\n\r\n    def OnSize(self, event):\r\n        self.resized = True\r\n        self.Refresh()\r\n\r\n    def OnEraseBk(self, event):\r\n        pass\r\n\r\n    def UpdateElementsPos(self, dc):\r\n        rect = self.GetRect()\r\n\r\n        if self.searchBitmap and self.isSearchButtonVisible:\r\n            sw = self.searchBitmap.GetWidth()\r\n            sh = self.searchBitmap.GetHeight()\r\n        else:\r\n            sw = 0\r\n            sh = 0\r\n\r\n        if self.cancelBitmap and self.isCancelButtonVisible:\r\n            cw = self.cancelBitmap.GetWidth()\r\n            ch = self.cancelBitmap.GetHeight()\r\n        else:\r\n            cw = 0\r\n            ch = 0\r\n\r\n        cwidth = rect.width\r\n        cheight = rect.height\r\n\r\n        self.searchButtonX = self.padding\r\n        self.searchButtonY = (cheight - sh) / 2\r\n        self.cancelButtonX = cwidth - self.padding - cw\r\n        self.cancelButtonY = (cheight - ch) / 2\r\n\r\n        self.editX = self.searchButtonX + self.padding + sw\r\n\r\n        editWidth, editHeight = self.EditBox.GetSize()\r\n\r\n        self.editY = (cheight - editHeight) / 2\r\n        self.EditBox.SetPosition((self.editX, self.editY))\r\n        self.EditBox.SetSize((self.cancelButtonX - self.padding - self.editX, -1))\r\n\r\n    def OnPaint(self, event):\r\n        dc = wx.AutoBufferedPaintDC(self)\r\n\r\n        bkColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n        sepColor = colorUtils.GetSuitable(bkColor, 0.2)\r\n        rect = self.GetRect()\r\n\r\n        if self.resized:\r\n            self.bkBitmap = drawUtils.RenderGradientBar(bkColor, rect.width, rect.height, 0.1, 0.1, 0.2, 2)\r\n            self.UpdateElementsPos(dc)\r\n            self.resized = False\r\n\r\n        dc.DrawBitmap(self.bkBitmap, 0, 0)\r\n\r\n        if self.isSearchButtonVisible:\r\n            if self.searchBitmap:\r\n                if self.searchButtonPressed:\r\n                    spad = 1\r\n                else:\r\n                    spad = 0\r\n\r\n                dc.DrawBitmap(self.searchBitmapShadow, round(self.searchButtonX + 1), round(self.searchButtonY + 1))\r\n                dc.DrawBitmap(self.searchBitmap, round(self.searchButtonX + spad), round(self.searchButtonY + spad))\r\n\r\n        if self.isCancelButtonVisible:\r\n            if self.cancelBitmap:\r\n                if self.cancelButtonPressed:\r\n                    cpad = 1\r\n                else:\r\n                    cpad = 0\r\n                dc.DrawBitmap(self.cancelBitmapShadow, round(self.cancelButtonX + 1), round(self.cancelButtonY + 1))\r\n                dc.DrawBitmap(self.cancelBitmap, round(self.cancelButtonX + cpad), round(self.cancelButtonY + cpad))\r\n\r\n        dc.SetPen(wx.Pen(sepColor, 1))\r\n        dc.DrawLine(0, rect.height - 1, rect.width, rect.height - 1)\r\n\r\n    def SetSearchBitmap(self, bitmap):\r\n        self.searchBitmap = bitmap\r\n        self.searchBitmapShadow = drawUtils.CreateDropShadowBitmap(bitmap, 0.2)\r\n\r\n    def SetCancelBitmap(self, bitmap):\r\n        self.cancelBitmap = bitmap\r\n        self.cancelBitmapShadow = drawUtils.CreateDropShadowBitmap(bitmap, 0.2)\r\n\r\n    def IsSearchButtonVisible(self):\r\n        return self.isSearchButtonVisible\r\n\r\n    def IsCancelButtonVisible(self):\r\n        return self.isCancelButtonVisible\r\n\r\n    def ShowSearchButton(self, show=True):\r\n        self.isSearchButtonVisible = show\r\n\r\n    def ShowCancelButton(self, show=True):\r\n        self.isCancelButtonVisible = show\r\n\r\n    def SetDescriptiveText(self, text):\r\n        self.descriptiveText = text\r\n\r\n    def GetDescriptiveText(self):\r\n        return self.descriptiveText\r\n"
  },
  {
    "path": "gui/builtinMarketBrowser/searchBox.py",
    "content": "from gui.bitmap_loader import BitmapLoader\r\nfrom .pfSearchBox import PFSearchBox\r\n\r\n\r\nclass SearchBox(PFSearchBox):\r\n    def __init__(self, parent, **kwargs):\r\n        PFSearchBox.__init__(self, parent, **kwargs)\r\n        cancelBitmap = BitmapLoader.getBitmap(\"fit_delete_small\", \"gui\")\r\n        searchBitmap = BitmapLoader.getBitmap(\"fsearch_small\", \"gui\")\r\n        self.SetSearchBitmap(searchBitmap)\r\n        self.SetCancelBitmap(cancelBitmap)\r\n        self.ShowSearchButton()\r\n        self.ShowCancelButton()\r\n"
  },
  {
    "path": "gui/builtinPreferenceViews/__init__.py",
    "content": "__all__ = [\r\n    \"pyfaGeneralPreferences\",\r\n    \"pyfaHTMLExportPreferences\",\r\n    \"pyfaUpdatePreferences\",\r\n    \"pyfaNetworkPreferences\",\r\n    \"pyfaDatabasePreferences\",\r\n    \"pyfaLoggingPreferences\",\r\n    \"pyfaEnginePreferences\",\r\n    \"pyfaEsiPreferences\",\r\n    \"pyfaStatViewPreferences\",\r\n    \"pyfaMarketPreferences\"]\r\n\r\n"
  },
  {
    "path": "gui/builtinPreferenceViews/dummyView.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom gui.preferenceView import PreferenceView\r\n\r\n\r\nclass DummyView(PreferenceView):\r\n    title = \"Dummy\"\r\n\r\n    def populatePanel(self, panel):\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        headerSizer = self.initHeader(panel)\r\n        mainSizer.Add(headerSizer, 0, wx.EXPAND, 5)\r\n\r\n        self.stline1 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.stline1, 0, wx.EXPAND, 5)\r\n\r\n        contentSizer = self.initContent(panel)\r\n        mainSizer.Add(contentSizer, 1, wx.EXPAND | wx.TOP | wx.BOTTOM | wx.LEFT, 10)\r\n\r\n        self.stline2 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.stline2, 0, wx.EXPAND, 5)\r\n\r\n        footerSizer = self.initFooter(panel)\r\n        mainSizer.Add(footerSizer, 0, wx.EXPAND, 5)\r\n        panel.SetSizer(mainSizer)\r\n        panel.Layout()\r\n\r\n    def refreshPanel(self, fit):\r\n        pass\r\n\r\n    def initHeader(self, panel):\r\n        headerSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.stTitle = wx.StaticText(panel, wx.ID_ANY, \"Dummy\", wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stTitle.Wrap(-1)\r\n        self.stTitle.SetFont(wx.Font(14, 70, 90, 90, False, wx.EmptyString))\r\n        headerSizer.Add(self.stTitle, 0, wx.ALL, 5)\r\n\r\n        return headerSizer\r\n\r\n    def initContent(self, panel):\r\n        contentSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.m_checkBox2 = wx.CheckBox(panel, wx.ID_ANY, \"Check Me!\", wx.DefaultPosition, wx.DefaultSize, 0)\r\n        contentSizer.Add(self.m_checkBox2, 0, wx.ALL, 5)\r\n\r\n        self.m_radioBtn2 = wx.RadioButton(panel, wx.ID_ANY, \"RadioBtn\", wx.DefaultPosition, wx.DefaultSize, 0)\r\n        contentSizer.Add(self.m_radioBtn2, 0, wx.ALL, 5)\r\n\r\n        self.m_slider2 = wx.Slider(panel, wx.ID_ANY, 50, 0, 100, wx.DefaultPosition, wx.DefaultSize, wx.SL_HORIZONTAL)\r\n        contentSizer.Add(self.m_slider2, 0, wx.ALL, 5)\r\n\r\n        self.m_gauge1 = wx.Gauge(panel, wx.ID_ANY, 100, wx.DefaultPosition, wx.DefaultSize, wx.GA_HORIZONTAL)\r\n        contentSizer.Add(self.m_gauge1, 0, wx.ALL, 5)\r\n\r\n        self.m_textCtrl2 = wx.TextCtrl(panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        contentSizer.Add(self.m_textCtrl2, 0, wx.ALL, 5)\r\n\r\n        return contentSizer\r\n\r\n    def initFooter(self, panel):\r\n        footerSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        footerSizer.AddStretchSpacer()\r\n        self.btnRestore = wx.Button(panel, wx.ID_ANY, \"Restore\", wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.btnRestore.Enable(False)\r\n\r\n        footerSizer.Add(self.btnRestore, 0, wx.ALL, 5)\r\n\r\n        self.btnApply = wx.Button(panel, wx.ID_ANY, \"Apply\", wx.DefaultPosition, wx.DefaultSize, 0)\r\n        footerSizer.Add(self.btnApply, 0, wx.ALL, 5)\r\n        return footerSizer\r\n\r\n\r\nDummyView.register()\r\n"
  },
  {
    "path": "gui/builtinPreferenceViews/pyfaContextMenuPreferences.py",
    "content": "import wx\r\n\r\nfrom gui.preferenceView import PreferenceView\r\nfrom gui.bitmap_loader import BitmapLoader\r\nimport gui.mainFrame\r\nfrom service.settings import ContextMenuSettings\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass PFContextMenuPref(PreferenceView):\r\n\r\n    def populatePanel(self, panel):\r\n        self.title = _t(\"Context Menus\")\r\n        self.settings = ContextMenuSettings.getInstance()\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        self.dirtySettings = False\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.stTitle = wx.StaticText(panel, wx.ID_ANY, self.title, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stTitle.Wrap(-1)\r\n        self.stTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n        mainSizer.Add(self.stTitle, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.stSubTitle = wx.StaticText(\r\n                panel, wx.ID_ANY,\r\n                _t('Disabling context menus can improve responsiveness.\\n'\r\n                   'You can hold {} key + right-click to show all menu items regardless of these settings.').format(\r\n                        'Command' if 'wxMac' in wx.PlatformInfo else 'Control'),\r\n                wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stSubTitle.Wrap(-1)\r\n        mainSizer.Add(self.stSubTitle, 0, wx.ALL, 5)\r\n\r\n        # Row 1\r\n        self.m_staticline1 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline1, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        rbSizerRow1 = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.rbBox1 = wx.RadioBox(panel, -1, _t(\"Set as Damage Pattern\"), wx.DefaultPosition, wx.DefaultSize, [_t('Disabled'), _t('Enabled')], 1, wx.RA_SPECIFY_COLS)\r\n        self.rbBox1.SetSelection(self.settings.get('ammoPattern'))\r\n        rbSizerRow1.Add(self.rbBox1, 1, wx.ALL, 5)\r\n        self.rbBox1.Bind(wx.EVT_RADIOBOX, self.OnSetting1Change)\r\n\r\n        self.rbBox2 = wx.RadioBox(panel, -1, _t(\"Change Skills\"), wx.DefaultPosition, wx.DefaultSize, [_t('Disabled'), _t('Enabled')], 1, wx.RA_SPECIFY_COLS)\r\n        self.rbBox2.SetSelection(self.settings.get('changeAffectingSkills'))\r\n        rbSizerRow1.Add(self.rbBox2, 1, wx.ALL, 5)\r\n        self.rbBox2.Bind(wx.EVT_RADIOBOX, self.OnSetting2Change)\r\n\r\n        self.rbBox3 = wx.RadioBox(panel, -1, _t(\"Variations\"), wx.DefaultPosition, wx.DefaultSize, [_t('Disabled'), _t('Enabled')], 1, wx.RA_SPECIFY_COLS)\r\n        self.rbBox3.SetSelection(self.settings.get('metaSwap'))\r\n        rbSizerRow1.Add(self.rbBox3, 1, wx.ALL, 5)\r\n        self.rbBox3.Bind(wx.EVT_RADIOBOX, self.OnSetting3Change)\r\n\r\n        mainSizer.Add(rbSizerRow1, 1, wx.ALL | wx.EXPAND, 0)\r\n\r\n        # Row 2\r\n        rbSizerRow2 = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.rbBox4 = wx.RadioBox(panel, -1, _t(\"Project onto Fit\"), wx.DefaultPosition, wx.DefaultSize, [_t('Disabled'), _t('Enabled')], 1, wx.RA_SPECIFY_COLS)\r\n        self.rbBox4.SetSelection(self.settings.get('project'))\r\n        rbSizerRow2.Add(self.rbBox4, 1, wx.ALL, 5)\r\n        self.rbBox4.Bind(wx.EVT_RADIOBOX, self.OnSetting4Change)\r\n\r\n        self.rbBox5 = wx.RadioBox(panel, -1, _t(\"Fill with module\"), wx.DefaultPosition, wx.DefaultSize, [_t('Disabled'), _t('Enabled')], 1, wx.RA_SPECIFY_COLS)\r\n        self.rbBox5.SetSelection(self.settings.get('moduleFill'))\r\n        rbSizerRow2.Add(self.rbBox5, 1, wx.ALL, 5)\r\n        self.rbBox5.Bind(wx.EVT_RADIOBOX, self.OnSetting5Change)\r\n\r\n        self.rbBox6 = wx.RadioBox(panel, -1, _t(\"Spoolup\"), wx.DefaultPosition, wx.DefaultSize, [_t('Disabled'), _t('Enabled')], 1, wx.RA_SPECIFY_COLS)\r\n        self.rbBox6.SetSelection(self.settings.get('spoolup'))\r\n        rbSizerRow2.Add(self.rbBox6, 1, wx.ALL, 5)\r\n        self.rbBox6.Bind(wx.EVT_RADIOBOX, self.OnSetting6Change)\r\n\r\n        mainSizer.Add(rbSizerRow2, 1, wx.ALL | wx.EXPAND, 0)\r\n\r\n        # Row 3\r\n        rbSizerRow3 = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.rbBox7 = wx.RadioBox(panel, -1, _t(\"Additions Panel Copy/Paste\"), wx.DefaultPosition, wx.DefaultSize, [_t('Disabled'), _t('Enabled')], 1,\r\n                                  wx.RA_SPECIFY_COLS)\r\n        self.rbBox7.SetSelection(self.settings.get('additionsCopyPaste'))\r\n        rbSizerRow3.Add(self.rbBox7, 1, wx.ALL, 5)\r\n        self.rbBox7.Bind(wx.EVT_RADIOBOX, self.OnSetting7Change)\r\n\r\n        self.rbBox8 = wx.RadioBox(panel, -1, _t(\"Fill cargo with\"), wx.DefaultPosition, wx.DefaultSize, [_t('Disabled'), _t('Enabled')], 1, wx.RA_SPECIFY_COLS)\r\n        self.rbBox8.SetSelection(self.settings.get('cargoFill'))\r\n        rbSizerRow3.Add(self.rbBox8, 1, wx.ALL, 5)\r\n        self.rbBox8.Bind(wx.EVT_RADIOBOX, self.OnSetting8Change)\r\n\r\n        mainSizer.Add(rbSizerRow3, 1, wx.ALL | wx.EXPAND, 0)\r\n\r\n        panel.SetSizer(mainSizer)\r\n        panel.Layout()\r\n\r\n    def OnSetting1Change(self, event):\r\n        self.settings.set('ammoPattern', event.GetInt())\r\n\r\n    def OnSetting2Change(self, event):\r\n        self.settings.set('changeAffectingSkills', event.GetInt())\r\n\r\n    def OnSetting3Change(self, event):\r\n        self.settings.set('metaSwap', event.GetInt())\r\n\r\n    def OnSetting4Change(self, event):\r\n        self.settings.set('project', event.GetInt())\r\n\r\n    def OnSetting5Change(self, event):\r\n        self.settings.set('moduleFill', event.GetInt())\r\n\r\n    def OnSetting6Change(self, event):\r\n        self.settings.set('spoolup', event.GetInt())\r\n\r\n    def OnSetting7Change(self, event):\r\n        self.settings.set('additionsCopyPaste', event.GetInt())\r\n\r\n    def OnSetting8Change(self, event):\r\n        self.settings.set('cargoFill', event.GetInt())\r\n\r\n    def getImage(self):\r\n        return BitmapLoader.getBitmap(\"settings_menu\", \"gui\")\r\n\r\n\r\nPFContextMenuPref.register()\r\n"
  },
  {
    "path": "gui/builtinPreferenceViews/pyfaDatabasePreferences.py",
    "content": "import wx\r\n\r\nimport config\r\nfrom eos.db.saveddata.queries import clearPrices, clearDamagePatterns, clearTargetProfiles\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.preferenceView import PreferenceView\r\nfrom gui.utils import helpers_wxPython as wxHelpers\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass PFGeneralPref(PreferenceView):\r\n\r\n    def populatePanel(self, panel):\r\n        self.title = _t(\"Database\")\r\n        self.dirtySettings = False\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.stTitle = wx.StaticText(panel, wx.ID_ANY, self.title, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stTitle.Wrap(-1)\r\n        self.stTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n        mainSizer.Add(self.stTitle, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.stSubTitle = wx.StaticText(panel, wx.ID_ANY, _t(\"(Cannot be changed while pyfa is running. Set via command line switches.)\"),\r\n                                        wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stSubTitle.Wrap(-1)\r\n        mainSizer.Add(self.stSubTitle, 0, wx.ALL, 3)\r\n\r\n        self.m_staticline1 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline1, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        # Save in Root\r\n        self.cbsaveInRoot = wx.CheckBox(panel, wx.ID_ANY, _t(\"Using Executable Path for Saved Fit Database and Settings\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbsaveInRoot, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        # Database path\r\n        self.stSetUserPath = wx.StaticText(panel, wx.ID_ANY, _t(\"pyfa User Path:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stSetUserPath.Wrap(-1)\r\n        mainSizer.Add(self.stSetUserPath, 0, wx.ALL, 5)\r\n        self.inputUserPath = wx.TextCtrl(panel, wx.ID_ANY, config.savePath, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.inputUserPath.SetEditable(False)\r\n        self.inputUserPath.SetBackgroundColour((200, 200, 200))\r\n        mainSizer.Add(self.inputUserPath, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        # Save DB\r\n        self.stFitDB = wx.StaticText(panel, wx.ID_ANY, _t(\"Fitting Database:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stFitDB.Wrap(-1)\r\n        mainSizer.Add(self.stFitDB, 0, wx.ALL, 5)\r\n\r\n        self.inputFitDB = wx.TextCtrl(panel, wx.ID_ANY, config.saveDB, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.inputFitDB.SetEditable(False)\r\n        self.inputFitDB.SetBackgroundColour((200, 200, 200))\r\n        mainSizer.Add(self.inputFitDB, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        # Game Data DB\r\n        self.stGameDB = wx.StaticText(panel, wx.ID_ANY, _t(\"Game Database:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stGameDB.Wrap(-1)\r\n        mainSizer.Add(self.stGameDB, 0, wx.ALL, 5)\r\n\r\n        self.inputGameDB = wx.TextCtrl(panel, wx.ID_ANY, config.gameDB, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.inputGameDB.SetEditable(False)\r\n        self.inputGameDB.SetBackgroundColour((200, 200, 200))\r\n        mainSizer.Add(self.inputGameDB, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbsaveInRoot.SetValue(config.saveInRoot)\r\n        self.cbsaveInRoot.Bind(wx.EVT_CHECKBOX, self.onCBsaveInRoot)\r\n\r\n        # self.inputUserPath.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave)\r\n        # self.inputFitDB.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave)\r\n        # self.inputGameDB.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave)\r\n\r\n        self.m_staticline3 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline3, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        btnSizer = wx.BoxSizer(wx.VERTICAL)\r\n        btnSizer.AddStretchSpacer()\r\n\r\n        self.btnDeleteDamagePatterns = wx.Button(panel, wx.ID_ANY, _t(\"Delete All Damage Pattern Profiles\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        btnSizer.Add(self.btnDeleteDamagePatterns, 0, wx.ALL, 5)\r\n        self.btnDeleteDamagePatterns.Bind(wx.EVT_BUTTON, self.DeleteDamagePatterns)\r\n\r\n        self.btnDeleteTargetProfiles = wx.Button(panel, wx.ID_ANY, _t(\"Delete All Target Profiles\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        btnSizer.Add(self.btnDeleteTargetProfiles, 0, wx.ALL, 5)\r\n        self.btnDeleteTargetProfiles.Bind(wx.EVT_BUTTON, self.DeleteTargetProfiles)\r\n\r\n        self.btnPrices = wx.Button(panel, wx.ID_ANY, _t(\"Delete All Prices\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        btnSizer.Add(self.btnPrices, 0, wx.ALL, 5)\r\n        self.btnPrices.Bind(wx.EVT_BUTTON, self.DeletePrices)\r\n\r\n        mainSizer.Add(btnSizer, 0, wx.EXPAND, 5)\r\n\r\n        panel.SetSizer(mainSizer)\r\n        panel.Layout()\r\n\r\n    def DeleteDamagePatterns(self, event):\r\n        question = _t(\"This is a destructive action that will delete all damage pattern profiles.\\nAre you sure you want to do this?\")\r\n        if wxHelpers.YesNoDialog(question, _t(\"Confirm\")):\r\n            clearDamagePatterns()\r\n\r\n    def DeleteTargetProfiles(self, event):\r\n        question = _t(\"This is a destructive action that will delete all target profiles.\\nAre you sure you want to do this?\")\r\n        if wxHelpers.YesNoDialog(question, _t(\"Confirm\")):\r\n            clearTargetProfiles()\r\n\r\n    def DeletePrices(self, event):\r\n        question = _t(\"This is a destructive action that will delete all cached prices out of the database.\\nAre you sure you want to do this?\")\r\n        if wxHelpers.YesNoDialog(question, _t(\"Confirm\")):\r\n            clearPrices()\r\n\r\n    def onCBsaveInRoot(self, event):\r\n        # We don't want users to be able to actually change this,\r\n        # so if they try and change it, set it back to the current setting\r\n        self.cbsaveInRoot.SetValue(config.saveInRoot)\r\n\r\n        # If we ever enable it might need this.\r\n        '''\r\n        config.saveInRoot = self.cbsaveInRoot.GetValue()\r\n        '''\r\n\r\n    def getImage(self):\r\n        return BitmapLoader.getBitmap(\"settings_database\", \"gui\")\r\n\r\n\r\nPFGeneralPref.register()\r\n"
  },
  {
    "path": "gui/builtinPreferenceViews/pyfaEnginePreferences.py",
    "content": "import logging\r\n\r\nimport wx\r\n\r\nfrom service.fit import Fit\r\nfrom gui.bitmap_loader import BitmapLoader\r\nimport gui.globalEvents as GE\r\nfrom gui.preferenceView import PreferenceView\r\nfrom service.settings import EOSSettings\r\nimport gui.mainFrame\r\nfrom wx.lib.intctrl import IntCtrl\r\n\r\nlogger = logging.getLogger(__name__)\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass PFFittingEnginePref(PreferenceView):\r\n    def __init__(self):\r\n        self.dirtySettings = False\r\n\r\n    def refreshPanel(self, fit):\r\n        pass\r\n\r\n    # noinspection PyAttributeOutsideInit\r\n    def populatePanel(self, panel):\r\n        self.title = _t(\"Fitting Engine\")\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        helpCursor = wx.Cursor(wx.CURSOR_QUESTION_ARROW)\r\n\r\n        self.engine_settings = EOSSettings.getInstance()\r\n\r\n        self.stTitle = wx.StaticText(panel, wx.ID_ANY, self.title, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stTitle.Wrap(-1)\r\n        self.stTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n        mainSizer.Add(self.stTitle, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.m_staticline1 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline1, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        self.cbGlobalForceReload = wx.CheckBox(panel, wx.ID_ANY, _t(\"Factor in reload time when calculating capacitor usage, damage, and tank.\"),\r\n                                               wx.DefaultPosition, wx.DefaultSize, 0)\r\n\r\n        mainSizer.Add(self.cbGlobalForceReload, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbStrictSkillLevels = wx.CheckBox(panel, wx.ID_ANY,\r\n                                               _t(\"Enforce strict skill level requirements\"),\r\n                                               wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.cbStrictSkillLevels.SetCursor(helpCursor)\r\n        self.cbStrictSkillLevels.SetToolTip(wx.ToolTip(\r\n                _t('When enabled, skills will check their dependencies\\' requirements when their levels change and reset '\r\n                   'skills that no longer meet the requirement.\\neg: Setting Drones from level V to IV will reset the Heavy '\r\n                   'Drone Operation skill, as that requires Drones V')))\r\n\r\n        mainSizer.Add(self.cbStrictSkillLevels, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        spoolup_sizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.spool_up_label = wx.StaticText(panel, wx.ID_ANY, _t(\"Global Default Spoolup Percentage:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.spool_up_label.Wrap(-1)\r\n        self.spool_up_label.SetCursor(helpCursor)\r\n        self.spool_up_label.SetToolTip(\r\n                wx.ToolTip(_t('The amount of spoolup to use by default on module which support it. Can be changed on a per-module basis')))\r\n\r\n        spoolup_sizer.Add(self.spool_up_label, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n        self.spoolup_value = IntCtrl(panel, min=0, max=100, limited=True)\r\n        spoolup_sizer.Add(self.spoolup_value, 0, wx.ALL, 5)\r\n\r\n        mainSizer.Add(spoolup_sizer, 0, wx.ALL | wx.EXPAND, 0)\r\n\r\n        # Future code once new cap sim is implemented\r\n        '''\r\n        self.cbGlobalForceReactivationTimer = wx.CheckBox( panel, wx.ID_ANY, \"Factor in reactivation timer\", wx.DefaultPosition, wx.DefaultSize, 0 )\r\n        mainSizer.Add( self.cbGlobalForceReactivationTimer, 0, wx.ALL|wx.EXPAND, 5 )\r\n\r\n        text =  \"   Ignores reactivation timer when calculating capacitor usage,\\n   damage, and tank.\"\r\n        self.cbGlobalForceReactivationTimerText = wx.StaticText( panel, wx.ID_ANY, text, wx.DefaultPosition, wx.DefaultSize, 0 )\r\n        self.cbGlobalForceReactivationTimerText.Wrap( -1 )\r\n        self.cbGlobalForceReactivationTimerText.SetFont( wx.Font( 10, 70, 90, 90, False, wx.EmptyString ) )\r\n        mainSizer.Add( self.cbGlobalForceReactivationTimerText, 0, wx.ALL, 5 )\r\n        '''\r\n\r\n        # Future code for mining laser crystal\r\n        '''\r\n        self.cbGlobalMiningSpecialtyCrystal = wx.CheckBox( panel, wx.ID_ANY, \"Factor in reactivation timer\", wx.DefaultPosition, wx.DefaultSize, 0 )\r\n        mainSizer.Add( self.cbGlobalMiningSpecialtyCrystal, 0, wx.ALL|wx.EXPAND, 5 )\r\n\r\n        text = \"   If enabled, displays the Specialty Crystal mining amount.\\n   This is the amount mined when using crystals and mining the matching asteroid.\"\r\n        self.cbGlobalMiningSpecialtyCrystalText = wx.StaticText( panel, wx.ID_ANY, text, wx.DefaultPosition, wx.DefaultSize, 0 )\r\n        self.cbGlobalMiningSpecialtyCrystalText.Wrap( -1 )\r\n        self.cbGlobalMiningSpecialtyCrystalText.SetFont( wx.Font( 10, 70, 90, 90, False, wx.EmptyString ) )\r\n        mainSizer.Add( self.cbGlobalMiningSpecialtyCrystalText, 0, wx.ALL, 5 )\r\n        '''\r\n\r\n        self.sFit = Fit.getInstance()\r\n\r\n        self.cbGlobalForceReload.SetValue(self.sFit.serviceFittingOptions[\"useGlobalForceReload\"])\r\n        self.cbGlobalForceReload.Bind(wx.EVT_CHECKBOX, self.OnCBGlobalForceReloadStateChange)\r\n\r\n        self.cbStrictSkillLevels.SetValue(self.engine_settings.get(\"strictSkillLevels\"))\r\n        self.cbStrictSkillLevels.Bind(wx.EVT_CHECKBOX, self.OnCBStrictSkillLevelsChange)\r\n\r\n        self.spoolup_value.SetValue(int(self.engine_settings.get(\"globalDefaultSpoolupPercentage\") * 100))\r\n        self.spoolup_value.Bind(wx.lib.intctrl.EVT_INT, self.OnSpoolupChange)\r\n\r\n        panel.SetSizer(mainSizer)\r\n        panel.Layout()\r\n\r\n    def OnSpoolupChange(self, event):\r\n        self.engine_settings.set(\"globalDefaultSpoolupPercentage\", self.spoolup_value.GetValue() / 100)\r\n\r\n    def OnCBGlobalForceReloadStateChange(self, event):\r\n        fitIDs = self.sFit.toggleFactorReload(value=bool(self.cbGlobalForceReload.GetValue()))\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=tuple(fitIDs)))\r\n\r\n    def OnCBStrictSkillLevelsChange(self, event):\r\n        self.engine_settings.set(\"strictSkillLevels\", self.cbStrictSkillLevels.GetValue())\r\n\r\n\r\n    def getImage(self):\r\n        return BitmapLoader.getBitmap(\"settings_fitting\", \"gui\")\r\n\r\n    def OnWindowLeave(self, event):\r\n        # We don't want to do anything when they leave,\r\n        # but in the future we might.\r\n        pass\r\n\r\n\r\nPFFittingEnginePref.register()\r\n"
  },
  {
    "path": "gui/builtinPreferenceViews/pyfaEsiPreferences.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport config\r\nimport gui.mainFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.preferenceView import PreferenceView\r\nfrom service.esi import Esi\r\nfrom service.settings import EsiSettings\r\n\r\n# noinspection PyPackageRequirements\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass PFEsiPref(PreferenceView):\r\n\r\n    def populatePanel(self, panel):\r\n        self.title = _t(\"EVE SSO\")\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.settings = EsiSettings.getInstance()\r\n        self.dirtySettings = False\r\n        dlgWidth = panel.GetParent().GetParent().ClientSize.width\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.stTitle = wx.StaticText(panel, wx.ID_ANY, self.title, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stTitle.Wrap(-1)\r\n        self.stTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n        mainSizer.Add(self.stTitle, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.m_staticline1 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline1, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        self.stInfo = wx.StaticText(panel, wx.ID_ANY,\r\n                                    _t(\"Please see the pyfa wiki on GitHub for information regarding these options.\"),\r\n                                    wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stInfo.Wrap(dlgWidth - 50)\r\n        mainSizer.Add(self.stInfo, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        self.enforceJwtExpiration = wx.CheckBox(panel, wx.ID_ANY, _t(\"Enforce Token Expiration\"), wx.DefaultPosition,\r\n                                        wx.DefaultSize,\r\n                                        0)\r\n        self.enforceJwtExpiration.SetToolTip(wx.ToolTip(_t(\"This option is a workaround in case you cannot log into EVE SSO \"\r\n                                                       \"due to 'Signature has expired' error\")))\r\n        mainSizer.Add(self.enforceJwtExpiration, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.ssoServer = wx.CheckBox(panel, wx.ID_ANY, _t(\"Auto-login (starts local server)\"), wx.DefaultPosition,\r\n                                        wx.DefaultSize,\r\n                                        0)\r\n        self.ssoServer.SetToolTip(wx.ToolTip(_t(\"This allows the EVE SSO to callback to your local pyfa instance and complete the authentication process without manual intervention.\")))\r\n        mainSizer.Add(self.ssoServer, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        rbSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.enforceJwtExpiration.SetValue(self.settings.get(\"enforceJwtExpiration\") or True)\r\n        self.ssoServer.SetValue(True if self.settings.get(\"loginMode\") == 0 else False)\r\n\r\n        mainSizer.Add(rbSizer, 0, wx.ALL | wx.EXPAND, 0)\r\n\r\n        esiSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        \r\n        self.esiServer = wx.StaticText(panel, wx.ID_ANY, _t(\"Default SSO Server:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n\r\n        self.esiServer.Wrap(-1)\r\n\r\n        esiSizer.Add(self.esiServer, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n        self.esiServer.SetToolTip(wx.ToolTip(_t('The source you choose will be used on connection.')))\r\n\r\n        self.chESIserver = wx.Choice(panel, choices=list(self.settings.keys()))\r\n\r\n        self.chESIserver.SetStringSelection(self.settings.get(\"server\"))\r\n\r\n        esiSizer.Add(self.chESIserver, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 10)\r\n\r\n        mainSizer.Add(esiSizer, 0, wx.TOP | wx.RIGHT, 10)\r\n\r\n        self.chESIserver.Bind(wx.EVT_CHOICE, self.OnServerChange)\r\n        self.enforceJwtExpiration.Bind(wx.EVT_CHECKBOX, self.OnEnforceChange)\r\n        self.ssoServer.Bind(wx.EVT_CHECKBOX, self.OnModeChange)\r\n\r\n        panel.SetSizer(mainSizer)\r\n\r\n        panel.Layout()\r\n\r\n    def OnTimeoutChange(self, event):\r\n        self.settings.set('timeout', event.GetEventObject().GetValue())\r\n        event.Skip()\r\n\r\n    def OnModeChange(self, event):\r\n        self.settings.set('loginMode', 0 if self.ssoServer.GetValue() else 1)\r\n        event.Skip()\r\n\r\n    def OnEnforceChange(self, event):\r\n        self.settings.set('enforceJwtExpiration', self.enforceJwtExpiration.GetValue())\r\n        event.Skip()\r\n\r\n    def OnServerChange(self, event):\r\n        # pass\r\n        source = self.chESIserver.GetString(self.chESIserver.GetSelection())\r\n        esiService = Esi.getInstance()\r\n        # init servers\r\n        esiService.init(config.supported_servers[source])\r\n        self.settings.set(\"server\", source)\r\n        event.Skip()\r\n\r\n    def getImage(self):\r\n        return BitmapLoader.getBitmap(\"eve\", \"gui\")\r\n\r\n\r\nPFEsiPref.register()"
  },
  {
    "path": "gui/builtinPreferenceViews/pyfaGeneralPreferences.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.preferenceView import PreferenceView\r\nfrom service.fit import Fit\r\nfrom service.settings import SettingsProvider, LocaleSettings\r\nimport eos.config\r\nimport wx.lib.agw.hyperlink as hl\r\n\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass PFGeneralPref(PreferenceView):\r\n\r\n    def populatePanel(self, panel):\r\n        self.title = _t(\"General\")\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.dirtySettings = False\r\n        self.openFitsSettings = SettingsProvider.getInstance().getSettings(\"pyfaPrevOpenFits\",\r\n                                                                           {\"enabled\": False, \"pyfaOpenFits\": []})\r\n        self.localeSettings = LocaleSettings.getInstance()\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.stTitle = wx.StaticText(panel, wx.ID_ANY, self.title, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stTitle.Wrap(-1)\r\n        self.stTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n        mainSizer.Add(self.stTitle, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        helpCursor = wx.Cursor(wx.CURSOR_QUESTION_ARROW)\r\n\r\n        self.m_staticline1 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline1, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        langBox = wx.StaticBoxSizer(wx.VERTICAL, panel, _t(\"Language (requires restart)\"))\r\n        mainSizer.Add(langBox, 0, wx.EXPAND | wx.TOP | wx.RIGHT | wx.BOTTOM, 10)\r\n\r\n        langSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.langChoices = sorted([langInfo for lang, langInfo in LocaleSettings.supported_languages().items()], key=lambda x: x.Description)\r\n        pyfaLangsEnabled = bool(self.langChoices)\r\n\r\n        if pyfaLangsEnabled:\r\n            self.stLangLabel = wx.StaticText(panel, wx.ID_ANY, _t(\"pyfa:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n            self.stLangLabel.Wrap(-1)\r\n            langSizer.Add(self.stLangLabel, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n            def langDisplay(langInfo):\r\n                progress = self.localeSettings.get_progress(langInfo.CanonicalName)\r\n                progress_display = (\" ({}%)\".format(progress['translated_progress']) if progress is not None else \"\")\r\n                return langInfo.Description + progress_display\r\n\r\n            self.chLang = wx.Choice(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, [langDisplay(x) for x in self.langChoices], 0)\r\n            self.chLang.Bind(wx.EVT_CHOICE, self.onLangSelection)\r\n\r\n            selectedIndex = self.langChoices.index(next((x for x in self.langChoices if x.CanonicalName == self.localeSettings.get('locale')), None))\r\n            self.chLang.SetSelection(selectedIndex)\r\n\r\n            langSizer.Add(self.chLang, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n            langBox.Add(langSizer)\r\n            langBox.Add(hl.HyperLinkCtrl(panel, -1,\r\n                                         _t(\"Interested in helping with translations?\"),\r\n                                         URL=\"https://github.com/pyfa-org/Pyfa/blob/master/locale/README.md\"\r\n                                         ), 0, wx.LEFT, 15)\r\n        else:\r\n            self.stLangLabel = wx.StaticText(panel, wx.ID_ANY, _t(\"Pyfa language selection disabled. Please check if .mo files have been generated.\\nRefer to locale/README.md for info.\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n            self.stLangLabel.Wrap(-1)\r\n            langSizer.Add(self.stLangLabel, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n            langBox.Add(langSizer)\r\n\r\n        eosLangSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.stEosLangLabel = wx.StaticText(panel, wx.ID_ANY, _t(\"EVE Data:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stEosLangLabel.Wrap(-1)\r\n        eosLangSizer.Add(self.stEosLangLabel, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n        self.eosLangChoices = [(LocaleSettings.defaults['eos_locale'], LocaleSettings.defaults['eos_locale'])] + \\\r\n                              sorted([(wx.Locale.FindLanguageInfo(x).Description, x) for x in eos.config.translation_mapping.keys()], key=lambda x: x[0])\r\n\r\n        self.chEosLang = wx.Choice(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, [x[0] for x in self.eosLangChoices], 0)\r\n        self.chEosLang.Bind(wx.EVT_CHOICE, self.onEosLangSelection)\r\n\r\n        selectedIndex = self.eosLangChoices.index(\r\n            next((x for x in self.eosLangChoices if x[1] == self.localeSettings.get('eos_locale')), None))\r\n        self.chEosLang.SetSelection(selectedIndex)\r\n\r\n        eosLangSizer.Add(self.chEosLang, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n        langBox.Add(eosLangSizer)\r\n        langBox.Add(wx.StaticText(panel, wx.ID_ANY,\r\n                                  _t(\"Auto will use the same language pyfa uses if available, otherwise English\"),\r\n                                  wx.DefaultPosition,\r\n                                  wx.DefaultSize, 0), 0, wx.LEFT, 15)\r\n\r\n        self.cbGlobalChar = wx.CheckBox(panel, wx.ID_ANY, _t(\"Use global character\"), wx.DefaultPosition, wx.DefaultSize,\r\n                                        0)\r\n        mainSizer.Add(self.cbGlobalChar, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbDefaultCharImplants = wx.CheckBox(panel, wx.ID_ANY, _t(\"Use character implants by default for new fits\"),\r\n                                                 wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbDefaultCharImplants, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbGlobalDmgPattern = wx.CheckBox(panel, wx.ID_ANY, _t(\"Use global damage pattern\"), wx.DefaultPosition,\r\n                                              wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbGlobalDmgPattern, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbCompactSkills = wx.CheckBox(panel, wx.ID_ANY, _t(\"Compact skills needed tooltip\"), wx.DefaultPosition,\r\n                                           wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbCompactSkills, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbFitColorSlots = wx.CheckBox(panel, wx.ID_ANY, _t(\"Color fitting view by slot\"), wx.DefaultPosition,\r\n                                           wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbFitColorSlots, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbReopenFits = wx.CheckBox(panel, wx.ID_ANY, _t(\"Reopen previous fits on startup\"), wx.DefaultPosition,\r\n                                        wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbReopenFits, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbRackSlots = wx.CheckBox(panel, wx.ID_ANY, _t(\"Separate Racks\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbRackSlots, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        labelSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.cbRackLabels = wx.CheckBox(panel, wx.ID_ANY, _t(\"Show Rack Labels\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        labelSizer.Add(self.cbRackLabels, 0, wx.ALL | wx.EXPAND, 5)\r\n        mainSizer.Add(labelSizer, 0, wx.LEFT | wx.EXPAND, 30)\r\n\r\n        self.cbShowTooltip = wx.CheckBox(panel, wx.ID_ANY, _t(\"Show fitting tab tooltips\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbShowTooltip, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbGaugeAnimation = wx.CheckBox(panel, wx.ID_ANY, _t(\"Animate gauges\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbGaugeAnimation, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbOpenFitInNew = wx.CheckBox(panel, wx.ID_ANY, _t(\"Open fittings in a new page by default\"),\r\n                                          wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbOpenFitInNew, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbShowShipBrowserTooltip = wx.CheckBox(panel, wx.ID_ANY, _t(\"Show ship browser tooltip\"),\r\n                                                    wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbShowShipBrowserTooltip, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbReloadAll = wx.CheckBox(panel, wx.ID_ANY, _t(\"Change charge in all modules of the same type\"),\r\n                                       wx.DefaultPosition, wx.DefaultSize, 0)\r\n        if \"wxGTK\" not in wx.PlatformInfo:\r\n            self.cbReloadAll.SetCursor(helpCursor)\r\n        self.cbReloadAll.SetToolTip(wx.ToolTip(\r\n                _t('When disabled, reloads charges just in selected modules. Action can be reversed by holding Ctrl or Alt key while changing charge.')))\r\n        mainSizer.Add(self.cbReloadAll, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbExpMutants = wx.CheckBox(panel, wx.ID_ANY, _t(\"Include more information in names of mutated items\"),\r\n                                        wx.DefaultPosition, wx.DefaultSize, 0)\r\n        if \"wxGTK\" not in wx.PlatformInfo:\r\n            self.cbExpMutants.SetCursor(helpCursor)\r\n        self.cbExpMutants.SetToolTip(wx.ToolTip(\r\n                _t('Use short mutaplasmid name and base item name instead of actual item name. Works if EVE data language is set to English.')))\r\n        mainSizer.Add(self.cbExpMutants, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.rbAddLabels = wx.RadioBox(panel, -1, _t(\"Extra info in Additions panel tab names\"), wx.DefaultPosition, wx.DefaultSize,\r\n                                       [_t(\"None\"), _t(\"Quantity of active items\"), _t(\"Quantity of all items\")], 1, wx.RA_SPECIFY_COLS)\r\n        mainSizer.Add(self.rbAddLabels, 0, wx.EXPAND | wx.TOP | wx.RIGHT | wx.BOTTOM, 10)\r\n        self.rbAddLabels.Bind(wx.EVT_RADIOBOX, self.OnAddLabelsChange)\r\n\r\n        self.sFit = Fit.getInstance()\r\n\r\n        self.cbGlobalChar.SetValue(self.sFit.serviceFittingOptions[\"useGlobalCharacter\"])\r\n        self.cbDefaultCharImplants.SetValue(self.sFit.serviceFittingOptions[\"useCharacterImplantsByDefault\"])\r\n        self.cbGlobalDmgPattern.SetValue(self.sFit.serviceFittingOptions[\"useGlobalDamagePattern\"])\r\n        self.cbFitColorSlots.SetValue(self.sFit.serviceFittingOptions[\"colorFitBySlot\"] or False)\r\n        self.cbRackSlots.SetValue(self.sFit.serviceFittingOptions[\"rackSlots\"] or False)\r\n        self.cbRackLabels.SetValue(self.sFit.serviceFittingOptions[\"rackLabels\"] or False)\r\n        self.cbCompactSkills.SetValue(self.sFit.serviceFittingOptions[\"compactSkills\"] or False)\r\n        self.cbReopenFits.SetValue(self.openFitsSettings[\"enabled\"])\r\n        self.cbShowTooltip.SetValue(self.sFit.serviceFittingOptions[\"showTooltip\"] or False)\r\n        self.cbGaugeAnimation.SetValue(self.sFit.serviceFittingOptions[\"enableGaugeAnimation\"])\r\n        self.cbOpenFitInNew.SetValue(self.sFit.serviceFittingOptions[\"openFitInNew\"])\r\n        self.cbShowShipBrowserTooltip.SetValue(self.sFit.serviceFittingOptions[\"showShipBrowserTooltip\"])\r\n        self.cbReloadAll.SetValue(self.sFit.serviceFittingOptions[\"ammoChangeAll\"])\r\n        self.cbExpMutants.SetValue(self.sFit.serviceFittingOptions[\"expandedMutantNames\"])\r\n        self.rbAddLabels.SetSelection(self.sFit.serviceFittingOptions[\"additionsLabels\"])\r\n\r\n        self.cbGlobalChar.Bind(wx.EVT_CHECKBOX, self.OnCBGlobalCharStateChange)\r\n        self.cbDefaultCharImplants.Bind(wx.EVT_CHECKBOX, self.OnCBDefaultCharImplantsStateChange)\r\n        self.cbGlobalDmgPattern.Bind(wx.EVT_CHECKBOX, self.OnCBGlobalDmgPatternStateChange)\r\n        self.cbFitColorSlots.Bind(wx.EVT_CHECKBOX, self.onCBGlobalColorBySlot)\r\n        self.cbRackSlots.Bind(wx.EVT_CHECKBOX, self.onCBGlobalRackSlots)\r\n        self.cbRackLabels.Bind(wx.EVT_CHECKBOX, self.onCBGlobalRackLabels)\r\n        self.cbCompactSkills.Bind(wx.EVT_CHECKBOX, self.onCBCompactSkills)\r\n        self.cbReopenFits.Bind(wx.EVT_CHECKBOX, self.onCBReopenFits)\r\n        self.cbShowTooltip.Bind(wx.EVT_CHECKBOX, self.onCBShowTooltip)\r\n        self.cbGaugeAnimation.Bind(wx.EVT_CHECKBOX, self.onCBGaugeAnimation)\r\n        self.cbOpenFitInNew.Bind(wx.EVT_CHECKBOX, self.onCBOpenFitInNew)\r\n        self.cbShowShipBrowserTooltip.Bind(wx.EVT_CHECKBOX, self.onCBShowShipBrowserTooltip)\r\n        self.cbReloadAll.Bind(wx.EVT_CHECKBOX, self.onCBReloadAll)\r\n        self.cbExpMutants.Bind(wx.EVT_CHECKBOX, self.onCBExpMutants)\r\n\r\n        self.cbRackLabels.Enable(self.sFit.serviceFittingOptions[\"rackSlots\"] or False)\r\n\r\n        panel.SetSizer(mainSizer)\r\n        panel.Layout()\r\n\r\n    def onLangSelection(self, event):\r\n        selection = self.chLang.GetSelection()\r\n        locale = self.langChoices[selection]\r\n        self.localeSettings.set('locale', locale.CanonicalName)\r\n\r\n    def onEosLangSelection(self, event):\r\n        selection = self.chEosLang.GetSelection()\r\n        locale = self.eosLangChoices[selection]\r\n        self.localeSettings.set('eos_locale', locale[1])\r\n\r\n    def onCBGlobalColorBySlot(self, event):\r\n        # todo: maybe create a SettingChanged event that we can fire, and have other things hook into, instead of having the preference panel itself handle the\r\n        # updating of things related to settings.\r\n        self.sFit.serviceFittingOptions[\"colorFitBySlot\"] = self.cbFitColorSlots.GetValue()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        self.sFit.refreshFit(fitID)\r\n\r\n        iView = self.mainFrame.marketBrowser.itemView\r\n        if iView.active:\r\n            iView.update(iView.active)\r\n\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n        event.Skip()\r\n\r\n    def onCBGlobalRackSlots(self, event):\r\n        self.sFit.serviceFittingOptions[\"rackSlots\"] = self.cbRackSlots.GetValue()\r\n        self.cbRackLabels.Enable(self.cbRackSlots.GetValue())\r\n        fitID = self.mainFrame.getActiveFit()\r\n        self.sFit.refreshFit(fitID)\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n        event.Skip()\r\n\r\n    def onCBGlobalRackLabels(self, event):\r\n        self.sFit.serviceFittingOptions[\"rackLabels\"] = self.cbRackLabels.GetValue()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        self.sFit.refreshFit(fitID)\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n        event.Skip()\r\n\r\n    def OnCBGlobalCharStateChange(self, event):\r\n        self.sFit.serviceFittingOptions[\"useGlobalCharacter\"] = self.cbGlobalChar.GetValue()\r\n        event.Skip()\r\n\r\n    def OnCBDefaultCharImplantsStateChange(self, event):\r\n        self.sFit.serviceFittingOptions[\"useCharacterImplantsByDefault\"] = self.cbDefaultCharImplants.GetValue()\r\n        event.Skip()\r\n\r\n    def OnCBGlobalDmgPatternStateChange(self, event):\r\n        self.sFit.serviceFittingOptions[\"useGlobalDamagePattern\"] = self.cbGlobalDmgPattern.GetValue()\r\n        event.Skip()\r\n\r\n    def onCBCompactSkills(self, event):\r\n        self.sFit.serviceFittingOptions[\"compactSkills\"] = self.cbCompactSkills.GetValue()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        self.sFit.refreshFit(fitID)\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n        event.Skip()\r\n\r\n    def onCBReopenFits(self, event):\r\n        self.openFitsSettings[\"enabled\"] = self.cbReopenFits.GetValue()\r\n\r\n    def onCBShowTooltip(self, event):\r\n        self.sFit.serviceFittingOptions[\"showTooltip\"] = self.cbShowTooltip.GetValue()\r\n\r\n    def onCBGaugeAnimation(self, event):\r\n        self.sFit.serviceFittingOptions[\"enableGaugeAnimation\"] = self.cbGaugeAnimation.GetValue()\r\n\r\n    def onCBOpenFitInNew(self, event):\r\n        self.sFit.serviceFittingOptions[\"openFitInNew\"] = self.cbOpenFitInNew.GetValue()\r\n\r\n    def onCBShowShipBrowserTooltip(self, event):\r\n        self.sFit.serviceFittingOptions[\"showShipBrowserTooltip\"] = self.cbShowShipBrowserTooltip.GetValue()\r\n\r\n    def onCBReloadAll(self, event):\r\n        self.sFit.serviceFittingOptions[\"ammoChangeAll\"] = self.cbReloadAll.GetValue()\r\n\r\n    def onCBExpMutants(self, event):\r\n        self.sFit.serviceFittingOptions[\"expandedMutantNames\"] = self.cbExpMutants.GetValue()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n    def OnAddLabelsChange(self, event):\r\n        self.sFit.serviceFittingOptions[\"additionsLabels\"] = event.GetInt()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        self.sFit.refreshFit(fitID)\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n        event.Skip()\r\n\r\n    def getImage(self):\r\n        return BitmapLoader.getBitmap(\"prefs_settings\", \"gui\")\r\n\r\n\r\nPFGeneralPref.register()\r\n"
  },
  {
    "path": "gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\nimport os\r\n\r\nfrom gui.preferenceView import PreferenceView\r\nfrom gui.bitmap_loader import BitmapLoader\r\n\r\nimport gui.mainFrame\r\n\r\nfrom service.settings import HTMLExportSettings\r\nimport wx.lib.agw.hyperlink\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass PFHTMLExportPref(PreferenceView):\r\n\r\n    def populatePanel(self, panel):\r\n        self.title = _t(\"HTML Export\")\r\n        self.desc = _t(\"HTML Export (File > Export HTML) allows you to export your entire fitting \"\r\n                       \"database into an HTML file at the specified location. This file can be \"\r\n                       \"used to easily open your fits in a web-based fitting program\")\r\n        self.desc4 = _t(\"Export Fittings in a minimal HTML Version, just containing the fittings links \"\r\n                        \"without any visual styling\")\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.HTMLExportSettings = HTMLExportSettings.getInstance()\r\n        self.dirtySettings = False\r\n        dlgWidth = panel.GetParent().GetParent().ClientSize.width\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.stTitle = wx.StaticText(panel, wx.ID_ANY, self.title, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stTitle.Wrap(-1)\r\n        self.stTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n        mainSizer.Add(self.stTitle, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.m_staticline1 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline1, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        self.stDesc = wx.StaticText(panel, wx.ID_ANY, self.desc, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stDesc.Wrap(dlgWidth - 50)\r\n        mainSizer.Add(self.stDesc, 0, wx.ALL, 5)\r\n\r\n        self.PathLinkCtrl = wx.lib.agw.hyperlink.HyperLinkCtrl(panel, wx.ID_ANY, self.HTMLExportSettings.getPath(),\r\n                                                               wx.DefaultPosition, wx.DefaultSize,\r\n                                                               URL='file:///{}'.format(self.HTMLExportSettings.getPath()), )\r\n        mainSizer.Add(self.PathLinkCtrl, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.fileSelectDialog = wx.FileDialog(None, _t(\"Save Fitting As...\"),\r\n                                              wildcard=_t(\"EVE IGB HTML fitting file\") + \" (*.html)|*.html\", style=wx.FD_SAVE)\r\n        self.fileSelectDialog.SetPath(self.HTMLExportSettings.getPath())\r\n        self.fileSelectDialog.SetFilename(os.path.basename(self.HTMLExportSettings.getPath()))\r\n\r\n        self.fileSelectButton = wx.Button(panel, -1, _t(\"Set export destination\"), pos=(0, 0))\r\n        self.fileSelectButton.Bind(wx.EVT_BUTTON, self.selectHTMLExportFilePath)\r\n        mainSizer.Add(self.fileSelectButton, 0, wx.ALL, 5)\r\n\r\n        self.stDesc4 = wx.StaticText(panel, wx.ID_ANY, self.desc4, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stDesc4.Wrap(dlgWidth - 50)\r\n        mainSizer.Add(self.stDesc4, 0, wx.ALL, 5)\r\n\r\n        self.exportMinimal = wx.CheckBox(panel, wx.ID_ANY, _t(\"Enable minimal format\"), wx.DefaultPosition,\r\n                                         wx.DefaultSize, 0)\r\n        self.exportMinimal.SetValue(self.HTMLExportSettings.getMinimalEnabled())\r\n        self.exportMinimal.Bind(wx.EVT_CHECKBOX, self.OnMinimalEnabledChange)\r\n        mainSizer.Add(self.exportMinimal, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        panel.SetSizer(mainSizer)\r\n        panel.Layout()\r\n\r\n    def setPathLinkCtrlValues(self, path):\r\n        self.PathLinkCtrl.SetLabel(self.HTMLExportSettings.getPath())\r\n        self.PathLinkCtrl.SetURL('file:///{}'.format(self.HTMLExportSettings.getPath()))\r\n        self.PathLinkCtrl.SetSize(wx.DefaultSize)\r\n        self.PathLinkCtrl.Refresh()\r\n\r\n    def selectHTMLExportFilePath(self, event):\r\n        if self.fileSelectDialog.ShowModal() == wx.ID_OK:\r\n            self.HTMLExportSettings.setPath(self.fileSelectDialog.GetPath())\r\n            self.dirtySettings = True\r\n            self.setPathLinkCtrlValues(self.HTMLExportSettings.getPath())\r\n\r\n    def OnMinimalEnabledChange(self, event):\r\n        self.HTMLExportSettings.setMinimalEnabled(self.exportMinimal.GetValue())\r\n\r\n    def getImage(self):\r\n        return BitmapLoader.getBitmap(\"prefs_html\", \"gui\")\r\n\r\n\r\nPFHTMLExportPref.register()\r\n"
  },
  {
    "path": "gui/builtinPreferenceViews/pyfaLoggingPreferences.py",
    "content": "import wx\r\n\r\nfrom gui.preferenceView import PreferenceView\r\nfrom gui.bitmap_loader import BitmapLoader\r\nimport config\r\nfrom logbook import Logger\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\n\r\ndef OnDumpLogs(event):\r\n    pyfalog.critical(\"Dump log button was pressed. Writing all logs to log file.\")\r\n\r\n\r\nclass PFGeneralPref(PreferenceView):\r\n\r\n    def populatePanel(self, panel):\r\n        self.title = _t(\"Logging\")\r\n        self.dirtySettings = False\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.stTitle = wx.StaticText(panel, wx.ID_ANY, self.title, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stTitle.Wrap(-1)\r\n        self.stTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n        mainSizer.Add(self.stTitle, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.stSubTitle = wx.StaticText(panel, wx.ID_ANY, _t(\"(Cannot be changed while pyfa is running. Set via command line switches.)\"),\r\n                                        wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stSubTitle.Wrap(-1)\r\n        mainSizer.Add(self.stSubTitle, 0, wx.ALL, 3)\r\n\r\n        self.m_staticline1 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline1, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        # Database path\r\n        self.stLogPath = wx.StaticText(panel, wx.ID_ANY, _t(\"Log file location:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stLogPath.Wrap(-1)\r\n        mainSizer.Add(self.stLogPath, 0, wx.ALL, 5)\r\n        self.inputLogPath = wx.TextCtrl(panel, wx.ID_ANY, config.logPath, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.inputLogPath.SetEditable(False)\r\n        self.inputLogPath.SetBackgroundColour((200, 200, 200))\r\n        mainSizer.Add(self.inputLogPath, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        import requests\r\n        self.certPath = wx.StaticText(panel, wx.ID_ANY, _t(\"Cert Path:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.certPath.Wrap(-1)\r\n        mainSizer.Add(self.certPath, 0, wx.ALL, 5)\r\n        self.certPathCtrl = wx.TextCtrl(panel, wx.ID_ANY, requests.certs.where(), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.certPathCtrl.SetEditable(False)\r\n        self.certPathCtrl.SetBackgroundColour((200, 200, 200))\r\n        mainSizer.Add(self.certPathCtrl, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        # Debug Logging\r\n        self.cbdebugLogging = wx.CheckBox(panel, wx.ID_ANY, _t(\"Debug Logging Enabled\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbdebugLogging, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.stDumpLogs = wx.StaticText(panel, wx.ID_ANY, _t(\"Pressing this button will cause all logs in memory to write to the log file:\"),\r\n                                        wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.stDumpLogs, 0, wx.ALL, 5)\r\n        self.btnDumpLogs = wx.Button(panel, wx.ID_ANY, _t(\"Dump All Logs\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.btnDumpLogs.Bind(wx.EVT_BUTTON, OnDumpLogs)\r\n        mainSizer.Add(self.btnDumpLogs, 0, wx.ALIGN_LEFT, 5)\r\n\r\n        self.cbdebugLogging.SetValue(config.debug)\r\n        self.cbdebugLogging.Bind(wx.EVT_CHECKBOX, self.onCBdebugLogging)\r\n\r\n        panel.SetSizer(mainSizer)\r\n        panel.Layout()\r\n\r\n    def onCBdebugLogging(self, event):\r\n        # We don't want users to be able to actually change this,\r\n        # so if they try and change it, set it back to the current setting\r\n        self.cbdebugLogging.SetValue(config.debug)\r\n\r\n        # In case we do, down there road, here's a bit of a start.\r\n        '''\r\n        if self.cbdebugLogging.GetValue() is True:\r\n            self.cbdebugLogging.SetValue(False)\r\n            config.Debug = self.cbdebugLogging.GetValue()\r\n        else:\r\n            self.cbdebugLogging.SetValue(True)\r\n        config.Debug = self.cbdebugLogging.GetValue()\r\n        '''\r\n\r\n    def getImage(self):\r\n        return BitmapLoader.getBitmap(\"settings_log\", \"gui\")\r\n\r\n\r\nPFGeneralPref.register()\r\n"
  },
  {
    "path": "gui/builtinPreferenceViews/pyfaMarketPreferences.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\nfrom wx.lib.intctrl import IntCtrl\r\n\r\nfrom gui.preferenceView import PreferenceView\r\nfrom gui.bitmap_loader import BitmapLoader\r\n\r\nimport gui.mainFrame\r\nimport gui.globalEvents as GE\r\nfrom service.settings import MarketPriceSettings\r\nfrom service.fit import Fit\r\nfrom service.price import Price\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass PFMarketPref(PreferenceView):\r\n\r\n    def __init__(self):\r\n        self.priceSettings = MarketPriceSettings.getInstance()\r\n\r\n    def populatePanel(self, panel):\r\n        self.title = _t(\"Market & Prices\")\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.sFit = Fit.getInstance()\r\n\r\n        helpCursor = wx.Cursor(wx.CURSOR_QUESTION_ARROW)\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.stTitle = wx.StaticText(panel, wx.ID_ANY, _t(\"Market && Prices\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stTitle.Wrap(-1)\r\n        self.stTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n        mainSizer.Add(self.stTitle, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.m_staticline1 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline1, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        delayTimer = wx.BoxSizer(wx.HORIZONTAL)\r\n        self.stMarketDelay = wx.StaticText(panel, wx.ID_ANY, _t(\"Market Search Delay (ms):\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stMarketDelay.Wrap(-1)\r\n        if \"wxGTK\" not in wx.PlatformInfo:\r\n            self.stMarketDelay.SetCursor(helpCursor)\r\n        self.stMarketDelay.SetToolTip(wx.ToolTip(\r\n                _t('The delay between a keystroke and the market search. Can help reduce lag when typing fast in the market search box.')))\r\n        delayTimer.Add(self.stMarketDelay, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n        self.intDelay = IntCtrl(panel, max=1000, limited=True)\r\n        delayTimer.Add(self.intDelay, 0, wx.ALL, 5)\r\n        mainSizer.Add(delayTimer, 0, wx.EXPAND | wx.TOP | wx.RIGHT, 10)\r\n        self.intDelay.SetValue(self.sFit.serviceFittingOptions[\"marketSearchDelay\"])\r\n        self.intDelay.Bind(wx.lib.intctrl.EVT_INT, self.onMarketDelayChange)\r\n\r\n        self.cbMarketShortcuts = wx.CheckBox(panel, wx.ID_ANY, _t(\"Show market shortcuts\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbMarketShortcuts, 0, wx.EXPAND | wx.TOP | wx.RIGHT, 10)\r\n        self.cbMarketShortcuts.SetValue(self.sFit.serviceFittingOptions[\"showMarketShortcuts\"] or False)\r\n        self.cbMarketShortcuts.Bind(wx.EVT_CHECKBOX, self.onCBShowShortcuts)\r\n\r\n        priceSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        self.stDefaultSystem = wx.StaticText(panel, wx.ID_ANY, _t(\"Default Market Prices:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stDefaultSystem.Wrap(-1)\r\n        priceSizer.Add(self.stDefaultSystem, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n        if \"wxGTK\" not in wx.PlatformInfo:\r\n            self.stDefaultSystem.SetCursor(helpCursor)\r\n        self.stDefaultSystem.SetToolTip(wx.ToolTip(\r\n                _t('The source you choose will be tried first, but subsequent sources will be used if the preferred source fails. '\r\n                   'The system you choose will also be tried first, and if no data is available, global price will be used.')))\r\n        self.chPriceSource = wx.Choice(panel, choices=sorted(Price.sources.keys()))\r\n        self.chPriceSystem = wx.Choice(panel, choices=list(Price.systemsList.keys()))\r\n        priceSizer.Add(self.chPriceSource, 1, wx.ALL | wx.EXPAND, 5)\r\n        priceSizer.Add(self.chPriceSystem, 1, wx.ALL | wx.EXPAND, 5)\r\n        mainSizer.Add(priceSizer, 0, wx.EXPAND | wx.TOP | wx.RIGHT, 10)\r\n        self.chPriceSource.SetStringSelection(self.sFit.serviceFittingOptions[\"priceSource\"])\r\n        self.chPriceSource.Bind(wx.EVT_CHOICE, self.onPricesSourceSelection)\r\n        self.chPriceSystem.SetStringSelection(self.sFit.serviceFittingOptions[\"priceSystem\"])\r\n        self.chPriceSystem.Bind(wx.EVT_CHOICE, self.onPriceSelection)\r\n\r\n        self.tbTotalPriceBox = wx.StaticBoxSizer(wx.VERTICAL, panel, _t(\"Total Price Includes\"))\r\n        self.tbTotalPriceDrones = wx.CheckBox(panel, -1, _t(\"Drones\"), wx.DefaultPosition, wx.DefaultSize, 1)\r\n        self.tbTotalPriceDrones.SetValue(self.priceSettings.get(\"drones\"))\r\n        self.tbTotalPriceDrones.Bind(wx.EVT_CHECKBOX, self.OnTotalPriceDroneChange)\r\n        self.tbTotalPriceBox.Add(self.tbTotalPriceDrones, 0, wx.LEFT | wx.RIGHT | wx.TOP, 5)\r\n        self.tbTotalPriceCargo = wx.CheckBox(panel, -1, _t(\"Cargo\"), wx.DefaultPosition, wx.DefaultSize, 1)\r\n        self.tbTotalPriceCargo.SetValue(self.priceSettings.get(\"cargo\"))\r\n        self.tbTotalPriceCargo.Bind(wx.EVT_CHECKBOX, self.OnTotalPriceCargoChange)\r\n        self.tbTotalPriceBox.Add(self.tbTotalPriceCargo, 0, wx.LEFT | wx.RIGHT, 5)\r\n        self.tbTotalPriceCharacter = wx.CheckBox(panel, -1, _t(\"Implants && Boosters\"), wx.DefaultPosition, wx.DefaultSize, 1)\r\n        self.tbTotalPriceCharacter.SetValue(self.priceSettings.get(\"character\"))\r\n        self.tbTotalPriceCharacter.Bind(wx.EVT_CHECKBOX, self.OnTotalPriceCharacterChange)\r\n        self.tbTotalPriceBox.Add(self.tbTotalPriceCharacter, 0, wx.LEFT | wx.RIGHT | wx.BOTTOM, 5)\r\n        mainSizer.Add(self.tbTotalPriceBox, 0, wx.EXPAND | wx.TOP | wx.RIGHT, 10)\r\n\r\n        self.rbMarketSearch = wx.RadioBox(panel, -1, _t(\"Market Search && Recent Items\"), wx.DefaultPosition, wx.DefaultSize,\r\n                                          [_t(\"No changes to meta buttons\"), _t(\"Enable all meta buttons for a duration of search / recents\"),\r\n                                           _t(\"Enable all meta buttons\")], 1,\r\n                                          wx.RA_SPECIFY_COLS)\r\n        self.rbMarketSearch.SetSelection(self.priceSettings.get('marketMGSearchMode'))\r\n        mainSizer.Add(self.rbMarketSearch, 0, wx.RIGHT | wx.TOP | wx.EXPAND, 10)\r\n        self.rbMarketSearch.Bind(wx.EVT_RADIOBOX, self.OnMarketSearchChange)\r\n\r\n        self.rbMarketEmpty = wx.RadioBox(panel, -1, _t(\"Market Group Selection\"), wx.DefaultPosition, wx.DefaultSize,\r\n                                         [_t(\"No changes to meta buttons\"), _t(\"Enable all meta buttons\")], 1, wx.RA_SPECIFY_COLS)\r\n        self.rbMarketEmpty.SetSelection(self.priceSettings.get('marketMGMarketSelectMode'))\r\n        mainSizer.Add(self.rbMarketEmpty, 0, wx.EXPAND | wx.TOP | wx.RIGHT, 10)\r\n        self.rbMarketEmpty.Bind(wx.EVT_RADIOBOX, self.OnMarketGroupSelectionChange)\r\n\r\n        self.rbMarketEmpty = wx.RadioBox(panel, -1, _t(\"Empty Market View\"), wx.DefaultPosition, wx.DefaultSize,\r\n                                         [_t(\"No changes to meta buttons\"), _t(\"Enable leftmost available meta button\"), _t(\"Enable all available meta buttons\")], 1,\r\n                                         wx.RA_SPECIFY_COLS)\r\n        self.rbMarketEmpty.SetSelection(self.priceSettings.get('marketMGEmptyMode'))\r\n        mainSizer.Add(self.rbMarketEmpty, 0, wx.EXPAND | wx.TOP | wx.RIGHT, 10)\r\n        self.rbMarketEmpty.Bind(wx.EVT_RADIOBOX, self.OnMarketEmptyChange)\r\n\r\n        self.rbMarketJump = wx.RadioBox(panel, -1, _t(\"Item Market Group Jump\"), wx.DefaultPosition, wx.DefaultSize,\r\n                                        [_t(\"No changes to meta buttons\"), _t(\"Enable item's meta button\"), _t(\"Enable item's meta button, disable others\"),\r\n                                         _t(\"Enable all meta buttons\")], 1, wx.RA_SPECIFY_COLS)\r\n        self.rbMarketJump.SetSelection(self.priceSettings.get('marketMGJumpMode'))\r\n        mainSizer.Add(self.rbMarketJump, 0, wx.EXPAND | wx.TOP | wx.RIGHT | wx.BOTTOM, 10)\r\n        self.rbMarketJump.Bind(wx.EVT_RADIOBOX, self.OnMarketJumpChange)\r\n\r\n        panel.SetSizer(mainSizer)\r\n        panel.Layout()\r\n\r\n    def onMarketDelayChange(self, event):\r\n        self.sFit.serviceFittingOptions[\"marketSearchDelay\"] = self.intDelay.GetValue()\r\n        event.Skip()\r\n\r\n    def onCBShowShortcuts(self, event):\r\n        self.sFit.serviceFittingOptions[\"showMarketShortcuts\"] = self.cbMarketShortcuts.GetValue()\r\n\r\n    def getImage(self):\r\n        return BitmapLoader.getBitmap(\"settings_market\", \"gui\")\r\n\r\n    def onPriceSelection(self, event):\r\n        system = self.chPriceSystem.GetString(self.chPriceSystem.GetSelection())\r\n        self.sFit.serviceFittingOptions[\"priceSystem\"] = system\r\n\r\n        fitID = self.mainFrame.getActiveFit()\r\n\r\n        self.sFit.refreshFit(fitID)\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n        event.Skip()\r\n\r\n    def onPricesSourceSelection(self, event):\r\n        source = self.chPriceSource.GetString(self.chPriceSource.GetSelection())\r\n        self.sFit.serviceFittingOptions[\"priceSource\"] = source\r\n\r\n    def OnTotalPriceDroneChange(self, event):\r\n        self.priceSettings.set('drones', event.GetInt())\r\n        fitID = self.mainFrame.getActiveFit()\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n    def OnTotalPriceCargoChange(self, event):\r\n        self.priceSettings.set('cargo', event.GetInt())\r\n        fitID = self.mainFrame.getActiveFit()\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n    def OnTotalPriceCharacterChange(self, event):\r\n        self.priceSettings.set('character', event.GetInt())\r\n        fitID = self.mainFrame.getActiveFit()\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n    def OnMarketJumpChange(self, event):\r\n        self.priceSettings.set('marketMGJumpMode', event.GetInt())\r\n\r\n    def OnMarketEmptyChange(self, event):\r\n        self.priceSettings.set('marketMGEmptyMode', event.GetInt())\r\n\r\n    def OnMarketSearchChange(self, event):\r\n        self.priceSettings.set('marketMGSearchMode', event.GetInt())\r\n\r\n    def OnMarketGroupSelectionChange(self, event):\r\n        self.priceSettings.set('marketMGMarketSelectMode', event.GetInt())\r\n\r\n\r\nPFMarketPref.register()\r\n"
  },
  {
    "path": "gui/builtinPreferenceViews/pyfaNetworkPreferences.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom gui.preferenceView import PreferenceView\r\nfrom gui.bitmap_loader import BitmapLoader\r\n\r\nimport gui.mainFrame\r\nfrom service.settings import NetworkSettings\r\nfrom service.network import Network\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass PFNetworkPref(PreferenceView):\r\n\r\n    def populatePanel(self, panel):\r\n        self.title = _t(\"Network\")\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.settings = NetworkSettings.getInstance()\r\n        self.network = Network.getInstance()\r\n        self.dirtySettings = False\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.stTitle = wx.StaticText(panel, wx.ID_ANY, self.title, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stTitle.Wrap(-1)\r\n        self.stTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n        mainSizer.Add(self.stTitle, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.m_staticline1 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline1, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        self.cbEnableNetwork = wx.CheckBox(panel, wx.ID_ANY, _t(\"Enable Network\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cbEnableNetwork, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        subSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.cbEve = wx.CheckBox(panel, wx.ID_ANY, _t(\"EVE Servers (API && CREST import)\"), wx.DefaultPosition,\r\n                                 wx.DefaultSize, 0)\r\n        subSizer.Add(self.cbEve, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbPricing = wx.CheckBox(panel, wx.ID_ANY, _t(\"Pricing updates\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        subSizer.Add(self.cbPricing, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.cbPyfaUpdate = wx.CheckBox(panel, wx.ID_ANY, _t(\"Pyfa Update checks\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        subSizer.Add(self.cbPyfaUpdate, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        mainSizer.Add(subSizer, 0, wx.LEFT | wx.EXPAND, 30)\r\n\r\n        proxyTitle = wx.StaticText(panel, wx.ID_ANY, _t(\"Proxy settings\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        proxyTitle.Wrap(-1)\r\n        proxyTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n\r\n        mainSizer.Add(proxyTitle, 0, wx.ALL, 5)\r\n        mainSizer.Add(wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL), 0,\r\n                      wx.EXPAND, 5)\r\n\r\n        self.cbEnableNetwork.SetValue(self.settings.isEnabled(self.network.ENABLED))\r\n        self.cbEve.SetValue(self.settings.isEnabled(self.network.EVE))\r\n        self.cbPricing.SetValue(self.settings.isEnabled(self.network.PRICES))\r\n        self.cbPyfaUpdate.SetValue(self.settings.isEnabled(self.network.UPDATE))\r\n\r\n        self.cbEnableNetwork.Bind(wx.EVT_CHECKBOX, self.OnCBEnableChange)\r\n        self.cbEve.Bind(wx.EVT_CHECKBOX, self.OnCBEveChange)\r\n        self.cbPricing.Bind(wx.EVT_CHECKBOX, self.OnCBPricingChange)\r\n        self.cbPyfaUpdate.Bind(wx.EVT_CHECKBOX, self.OnCBUpdateChange)\r\n\r\n        self.toggleNetworks(self.cbEnableNetwork.GetValue())\r\n\r\n        # ---------------\r\n        # Proxy\r\n        # ---------------\r\n\r\n        self.nMode = self.settings.getMode()\r\n        self.nAddr = self.settings.getAddress()\r\n        self.nPort = self.settings.getPort()\r\n        self.nType = self.settings.getType()\r\n        self.nAuth = self.settings.getProxyAuthDetails()  # tuple of (login, password)\r\n        if self.nAuth is None:\r\n            self.nAuth = (\"\", \"\")  # we don't want None here, it should be a tuple\r\n\r\n        ptypeSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.stPType = wx.StaticText(panel, wx.ID_ANY, _t(\"Mode:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stPType.Wrap(-1)\r\n        ptypeSizer.Add(self.stPType, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n        self.chProxyTypeChoices = [_t(\"No proxy\"), _t(\"Auto-detected proxy settings\"), _t(\"Manual proxy settings\")]\r\n        self.chProxyType = wx.Choice(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, self.chProxyTypeChoices, 0)\r\n\r\n        self.chProxyType.SetSelection(self.nMode)\r\n\r\n        ptypeSizer.Add(self.chProxyType, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n        mainSizer.Add(ptypeSizer, 0, wx.EXPAND, 5)\r\n\r\n        fgAddrSizer = wx.FlexGridSizer(2, 2, 0, 0)\r\n        fgAddrSizer.AddGrowableCol(1)\r\n        fgAddrSizer.SetFlexibleDirection(wx.BOTH)\r\n        fgAddrSizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)\r\n\r\n        self.stPSetAddr = wx.StaticText(panel, wx.ID_ANY, _t(\"Addr:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stPSetAddr.Wrap(-1)\r\n        fgAddrSizer.Add(self.stPSetAddr, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n        self.editProxySettingsAddr = wx.TextCtrl(panel, wx.ID_ANY, self.nAddr, wx.DefaultPosition, wx.DefaultSize, 0)\r\n\r\n        fgAddrSizer.Add(self.editProxySettingsAddr, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 5)\r\n\r\n        self.stPSetPort = wx.StaticText(panel, wx.ID_ANY, _t(\"Port:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stPSetPort.Wrap(-1)\r\n\r\n        fgAddrSizer.Add(self.stPSetPort, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n        self.editProxySettingsPort = wx.TextCtrl(panel, wx.ID_ANY, self.nPort, wx.DefaultPosition, wx.DefaultSize, 0)\r\n\r\n        fgAddrSizer.Add(self.editProxySettingsPort, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 5)\r\n\r\n        mainSizer.Add(fgAddrSizer, 0, wx.EXPAND, 5)\r\n\r\n        # proxy auth information: login and pass\r\n        self.stPSetLogin = wx.StaticText(panel, wx.ID_ANY, _t(\"Username:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stPSetLogin.Wrap(-1)\r\n        self.editProxySettingsLogin = wx.TextCtrl(panel, wx.ID_ANY, self.nAuth[0], wx.DefaultPosition, wx.DefaultSize,\r\n                                                  0)\r\n        self.stPSetPassword = wx.StaticText(panel, wx.ID_ANY, _t(\"Password:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stPSetPassword.Wrap(-1)\r\n        self.editProxySettingsPassword = wx.TextCtrl(panel, wx.ID_ANY, self.nAuth[1], wx.DefaultPosition,\r\n                                                     wx.DefaultSize, wx.TE_PASSWORD)\r\n        pAuthSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        pAuthSizer.Add(self.stPSetLogin, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n        pAuthSizer.Add(self.editProxySettingsLogin, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n        pAuthSizer.Add(self.stPSetPassword, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n        pAuthSizer.Add(self.editProxySettingsPassword, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n        mainSizer.Add(pAuthSizer, 0, wx.EXPAND, 5)\r\n\r\n        self.stPSAutoDetected = wx.StaticText(panel, wx.ID_ANY, _t(\"Auto-detected: \"), wx.DefaultPosition, wx.DefaultSize,\r\n                                              0)\r\n        self.stPSAutoDetected.Wrap(-1)\r\n        mainSizer.Add(self.stPSAutoDetected, 0, wx.ALL, 5)\r\n\r\n        btnSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        btnSizer.AddStretchSpacer()\r\n\r\n        self.btnApply = wx.Button(panel, wx.ID_ANY, _t(\"Apply Proxy Settings\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n\r\n        btnSizer.Add(self.btnApply, 0, wx.ALL, 5)\r\n\r\n        mainSizer.Add(btnSizer, 0, wx.EXPAND, 5)\r\n\r\n        proxy = self.settings.autodetect()\r\n\r\n        if proxy is not None:\r\n            addr, port = proxy\r\n            txt = addr + \":\" + str(port)\r\n        else:\r\n            txt = \"None\"\r\n\r\n        self.stPSAutoDetected.SetLabel(_t(\"Auto-detected: \") + txt)\r\n        self.stPSAutoDetected.Disable()\r\n\r\n        self.chProxyType.Bind(wx.EVT_CHOICE, self.OnCHProxyTypeSelect)\r\n        self.editProxySettingsAddr.Bind(wx.EVT_TEXT, self.OnEditPSAddrText)\r\n        self.editProxySettingsPort.Bind(wx.EVT_TEXT, self.OnEditPSPortText)\r\n        self.editProxySettingsLogin.Bind(wx.EVT_TEXT, self.OnEditPSLoginText)\r\n        self.editProxySettingsPassword.Bind(wx.EVT_TEXT, self.OnEditPSPasswordText)\r\n\r\n        self.btnApply.Bind(wx.EVT_BUTTON, self.OnBtnApply)\r\n\r\n        self.UpdateApplyButtonState()\r\n\r\n        if self.nMode is not NetworkSettings.PROXY_MODE_MANUAL:  # == 2\r\n            self.ToggleProxySettings(False)\r\n        else:\r\n            self.ToggleProxySettings(True)\r\n\r\n        panel.SetSizer(mainSizer)\r\n        panel.Layout()\r\n\r\n    def toggleNetworks(self, toggle):\r\n        self.cbEve.Enable(toggle)\r\n        self.cbPricing.Enable(toggle)\r\n        self.cbPyfaUpdate.Enable(toggle)\r\n\r\n    def OnCBEnableChange(self, event):\r\n        self.settings.toggleAccess(self.network.ENABLED, self.cbEnableNetwork.GetValue())\r\n        self.toggleNetworks(self.cbEnableNetwork.GetValue())\r\n\r\n    def OnCBUpdateChange(self, event):\r\n        self.settings.toggleAccess(self.network.UPDATE, self.cbPyfaUpdate.GetValue())\r\n\r\n    def OnCBPricingChange(self, event):\r\n        self.settings.toggleAccess(self.network.PRICES, self.cbPricing.GetValue())\r\n\r\n    def OnCBEveChange(self, event):\r\n        self.settings.toggleAccess(self.network.EVE, self.cbEve.GetValue())\r\n\r\n    def OnEditPSAddrText(self, event):\r\n        self.nAddr = self.editProxySettingsAddr.GetValue()\r\n        self.dirtySettings = True\r\n        self.UpdateApplyButtonState()\r\n\r\n    def OnEditPSPortText(self, event):\r\n        self.nPort = self.editProxySettingsPort.GetValue()\r\n        self.dirtySettings = True\r\n        self.UpdateApplyButtonState()\r\n\r\n    def OnEditPSLoginText(self, event):\r\n        self.nAuth = (self.editProxySettingsLogin.GetValue(), self.nAuth[1])\r\n        self.dirtySettings = True\r\n        self.UpdateApplyButtonState()\r\n\r\n    def OnEditPSPasswordText(self, event):\r\n        self.nAuth = (self.nAuth[0], self.editProxySettingsPassword.GetValue())\r\n        self.dirtySettings = True\r\n        self.UpdateApplyButtonState()\r\n\r\n    def OnBtnApply(self, event):\r\n        self.dirtySettings = False\r\n        self.UpdateApplyButtonState()\r\n        self.SaveSettings()\r\n\r\n    def SaveSettings(self):\r\n        self.settings.setMode(self.nMode)\r\n        self.settings.setAddress(self.nAddr)\r\n        self.settings.setPort(self.nPort)\r\n        self.settings.setType(self.nType)\r\n        self.settings.setProxyAuthDetails(self.nAuth[0], self.nAuth[1])\r\n\r\n    def UpdateApplyButtonState(self):\r\n        if self.dirtySettings:\r\n            self.btnApply.Enable()\r\n        else:\r\n            self.btnApply.Disable()\r\n\r\n    def OnCHProxyTypeSelect(self, event):\r\n        choice = self.chProxyType.GetSelection()\r\n\r\n        self.nMode = choice\r\n        self.dirtySettings = True\r\n\r\n        self.UpdateApplyButtonState()\r\n\r\n        if choice is not NetworkSettings.PROXY_MODE_MANUAL:\r\n            self.ToggleProxySettings(False)\r\n        else:\r\n            self.ToggleProxySettings(True)\r\n\r\n    def ToggleProxySettings(self, mode):\r\n        if mode:\r\n            self.stPSetAddr.Enable()\r\n            self.editProxySettingsAddr.Enable()\r\n            self.stPSetPort.Enable()\r\n            self.editProxySettingsPort.Enable()\r\n            self.stPSetLogin.Enable()\r\n            self.stPSetPassword.Enable()\r\n            self.editProxySettingsLogin.Enable()\r\n            self.editProxySettingsPassword.Enable()\r\n        else:\r\n            self.stPSetAddr.Disable()\r\n            self.editProxySettingsAddr.Disable()\r\n            self.stPSetPort.Disable()\r\n            self.editProxySettingsPort.Disable()\r\n            self.stPSetLogin.Disable()\r\n            self.stPSetPassword.Disable()\r\n            self.editProxySettingsLogin.Disable()\r\n            self.editProxySettingsPassword.Disable()\r\n\r\n    def getImage(self):\r\n        return BitmapLoader.getBitmap(\"prefs_proxy\", \"gui\")\r\n\r\n\r\nPFNetworkPref.register()\r\n"
  },
  {
    "path": "gui/builtinPreferenceViews/pyfaStatViewPreferences.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom gui.preferenceView import PreferenceView\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom service.settings import StatViewSettings\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass PFStatViewPref(PreferenceView):\r\n\r\n    def __init__(self):\r\n        self.dirtySettings = False\r\n        self.settings = StatViewSettings.getInstance()\r\n\r\n    def refreshPanel(self, fit):\r\n        pass\r\n\r\n    # noinspection PyAttributeOutsideInit\r\n    def populatePanel(self, panel):\r\n        self.title = _t(\"Statistics Panel\")\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.stTitle = wx.StaticText(panel, wx.ID_ANY, self.title, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stTitle.Wrap(-1)\r\n        self.stTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n        mainSizer.Add(self.stTitle, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.stSubTitle = wx.StaticText(panel, wx.ID_ANY,\r\n                                        _t(\"Changes require restart of pyfa to take effect.\"),\r\n                                        wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stSubTitle.Wrap(-1)\r\n        mainSizer.Add(self.stSubTitle, 0, wx.ALL, 3)\r\n\r\n        # Row 1\r\n        self.m_staticline1 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline1, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        rbSizerRow1 = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.rbResources = wx.RadioBox(panel, -1, _t(\"Resources\"), wx.DefaultPosition, wx.DefaultSize, [_t('None'), _t('Minimal'), _t('Full')], 1,\r\n                                       wx.RA_SPECIFY_COLS)\r\n        # Disable minimal as we don't have a view for this yet\r\n        self.rbResources.EnableItem(1, False)\r\n        self.rbResources.SetSelection(self.settings.get('resources'))\r\n        rbSizerRow1.Add(self.rbResources, 1, wx.TOP | wx.RIGHT, 5)\r\n        self.rbResources.Bind(wx.EVT_RADIOBOX, self.OnResourcesChange)\r\n\r\n        self.rbResistances = wx.RadioBox(panel, -1, _t(\"Resistances\"), wx.DefaultPosition, wx.DefaultSize, [_t('None'), _t('Minimal'), _t('Full')], 1,\r\n                                         wx.RA_SPECIFY_COLS)\r\n        # Disable minimal as we don't have a view for this yet\r\n        self.rbResistances.EnableItem(1, False)\r\n        self.rbResistances.SetSelection(self.settings.get('resistances'))\r\n        rbSizerRow1.Add(self.rbResistances, 1, wx.ALL, 5)\r\n        self.rbResistances.Bind(wx.EVT_RADIOBOX, self.OnResistancesChange)\r\n\r\n        self.rbRecharge = wx.RadioBox(panel, -1, _t(\"Shield/Armor Tank\"), wx.DefaultPosition, wx.DefaultSize, [_t('None'), _t('Minimal'), _t('Full')], 1,\r\n                                      wx.RA_SPECIFY_COLS)\r\n        # Disable minimal as we don't have a view for this yet\r\n        self.rbRecharge.EnableItem(1, False)\r\n        self.rbRecharge.SetSelection(self.settings.get('recharge'))\r\n        rbSizerRow1.Add(self.rbRecharge, 1, wx.ALL, 5)\r\n        self.rbRecharge.Bind(wx.EVT_RADIOBOX, self.OnRechargeChange)\r\n\r\n        mainSizer.Add(rbSizerRow1, 1, wx.ALL | wx.EXPAND, 0)\r\n\r\n        # Row 2\r\n        rbSizerRow2 = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.rbFirepower = wx.RadioBox(panel, -1, _t(\"Firepower\"), wx.DefaultPosition, wx.DefaultSize, [_t('None'), _t('Minimal'), _t('Full')], 1,\r\n                                       wx.RA_SPECIFY_COLS)\r\n        # Disable minimal as we don't have a view for this yet\r\n        self.rbFirepower.EnableItem(1, False)\r\n        self.rbFirepower.SetSelection(self.settings.get('firepower'))\r\n        rbSizerRow2.Add(self.rbFirepower, 1, wx.TOP | wx.RIGHT, 5)\r\n        self.rbFirepower.Bind(wx.EVT_RADIOBOX, self.OnFirepowerChange)\r\n\r\n        self.rbCapacitor = wx.RadioBox(panel, -1, _t(\"Capacitor\"), wx.DefaultPosition, wx.DefaultSize, [_t('None'), _t('Minimal'), _t('Full')], 1,\r\n                                       wx.RA_SPECIFY_COLS)\r\n        # Disable minimal as we don't have a view for this yet\r\n        self.rbCapacitor.EnableItem(1, False)\r\n        self.rbCapacitor.SetSelection(self.settings.get('capacitor'))\r\n        rbSizerRow2.Add(self.rbCapacitor, 1, wx.ALL, 5)\r\n        self.rbCapacitor.Bind(wx.EVT_RADIOBOX, self.OnCapacitorChange)\r\n\r\n        self.rbMisc = wx.RadioBox(panel, -1, _t(\"Misc\"), wx.DefaultPosition, wx.DefaultSize, [_t('None'), _t('Minimal'), _t('Full')], 1, wx.RA_SPECIFY_COLS)\r\n        # Disable full as we don't have a view for this yet\r\n        self.rbMisc.EnableItem(2, False)\r\n        self.rbMisc.SetSelection(self.settings.get('targetingMisc'))\r\n        rbSizerRow2.Add(self.rbMisc, 1, wx.ALL, 5)\r\n        self.rbMisc.Bind(wx.EVT_RADIOBOX, self.OnTargetingMiscChange)\r\n\r\n        mainSizer.Add(rbSizerRow2, 1, wx.ALL | wx.EXPAND, 0)\r\n\r\n        # Row 3\r\n        rbSizerRow3 = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.rbPrice = wx.RadioBox(panel, -1, _t(\"Price\"), wx.DefaultPosition, wx.DefaultSize, [_t('None'), _t('Minimal'), _t('Full')], 1, wx.RA_SPECIFY_COLS)\r\n        self.rbPrice.SetSelection(self.settings.get('price'))\r\n        rbSizerRow3.Add(self.rbPrice, 1, wx.TOP | wx.RIGHT, 5)\r\n        self.rbPrice.Bind(wx.EVT_RADIOBOX, self.OnPriceChange)\r\n\r\n        self.rbOutgoing = wx.RadioBox(panel, -1, _t(\"Remote Reps\"), wx.DefaultPosition, wx.DefaultSize, [_t('None'), _t('Minimal'), _t('Full')], 1, wx.RA_SPECIFY_COLS)\r\n        self.rbOutgoing.SetSelection(self.settings.get('outgoing'))\r\n        rbSizerRow3.Add(self.rbOutgoing, 1, wx.TOP | wx.RIGHT, 5)\r\n        self.rbOutgoing.Bind(wx.EVT_RADIOBOX, self.OnOutgoingChange)\r\n\r\n        self.rbBombing = wx.RadioBox(panel, -1, _t(\"Bombing\"), wx.DefaultPosition, wx.DefaultSize, [_t('None'), _t('Minimal'), _t('Full')], 1,\r\n                                     wx.RA_SPECIFY_COLS)\r\n        # Disable minimal as we don't have a view for this yet\r\n        self.rbBombing.EnableItem(1, False)\r\n        self.rbBombing.SetSelection(self.settings.get('bombing'))\r\n        rbSizerRow3.Add(self.rbBombing, 1, wx.TOP | wx.RIGHT, 5)\r\n        self.rbBombing.Bind(wx.EVT_RADIOBOX, self.OnBombingChange)\r\n\r\n        mainSizer.Add(rbSizerRow3, 1, wx.ALL | wx.EXPAND, 0)\r\n\r\n        panel.SetSizer(mainSizer)\r\n        panel.Layout()\r\n\r\n    def OnResourcesChange(self, event):\r\n        self.settings.set('resources', event.GetInt())\r\n\r\n    def OnResistancesChange(self, event):\r\n        self.settings.set('resistances', event.GetInt())\r\n\r\n    def OnRechargeChange(self, event):\r\n        self.settings.set('recharge', event.GetInt())\r\n\r\n    def OnFirepowerChange(self, event):\r\n        self.settings.set('firepower', event.GetInt())\r\n\r\n    def OnCapacitorChange(self, event):\r\n        self.settings.set('capacitor', event.GetInt())\r\n\r\n    def OnTargetingMiscChange(self, event):\r\n        self.settings.set('targetingMisc', event.GetInt())\r\n\r\n    def OnPriceChange(self, event):\r\n        self.settings.set('price', event.GetInt())\r\n\r\n    def OnOutgoingChange(self, event):\r\n        self.settings.set('outgoing', event.GetInt())\r\n\r\n    def OnMiningYieldChange(self, event):\r\n        self.settings.set('miningyield', event.GetInt())\r\n\r\n    def OnDroneChange(self, event):\r\n        self.settings.set('drones', event.GetInt())\r\n\r\n    def getImage(self):\r\n        return BitmapLoader.getBitmap(\"settings_stats\", \"gui\")\r\n\r\n    def OnBombingChange(self, event):\r\n        self.settings.set('bombing', event.GetInt())\r\n\r\nPFStatViewPref.register()\r\n"
  },
  {
    "path": "gui/builtinPreferenceViews/pyfaUpdatePreferences.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom gui.preferenceView import PreferenceView\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom service.settings import UpdateSettings\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass PFUpdatePref(PreferenceView):\r\n\r\n    def populatePanel(self, panel):\r\n        self.title = _t(\"Updates\")\r\n        self.desc = _t(\"Pyfa can automatically check and notify you of new releases. \"\r\n                       \"This feature is toggled in the Network settings. \"\r\n                       \"Here, you may allow pre-release notifications and view \"\r\n                       \"suppressed release notifications, if any.\")\r\n        self.UpdateSettings = UpdateSettings.getInstance()\r\n        self.dirtySettings = False\r\n\r\n        dlgWidth = panel.GetParent().GetParent().ClientSize.width\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.stTitle = wx.StaticText(panel, wx.ID_ANY, self.title, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stTitle.Wrap(-1)\r\n        self.stTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n        mainSizer.Add(self.stTitle, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.m_staticline1 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline1, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        self.stDesc = wx.StaticText(panel, wx.ID_ANY, self.desc, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.stDesc.Wrap(dlgWidth - 50)\r\n        mainSizer.Add(self.stDesc, 0, wx.ALL, 5)\r\n\r\n        self.suppressPrerelease = wx.CheckBox(panel, wx.ID_ANY, _t(\"Allow pre-release notifications\"), wx.DefaultPosition,\r\n                                              wx.DefaultSize, 0)\r\n        self.suppressPrerelease.Bind(wx.EVT_CHECKBOX, self.OnPrereleaseStateChange)\r\n        self.suppressPrerelease.SetValue(not self.UpdateSettings.get('prerelease'))\r\n\r\n        mainSizer.Add(self.suppressPrerelease, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        if self.UpdateSettings.get('version'):\r\n            self.versionSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n            self.versionTitle = wx.StaticText(panel, wx.ID_ANY, _t(\"Suppressing {0} Notifications\").format(\r\n                    self.UpdateSettings.get('version')), wx.DefaultPosition, wx.DefaultSize, 0)\r\n            self.versionTitle.Wrap(-1)\r\n            self.versionTitle.SetFont(wx.Font(12, 70, 90, 90, False, wx.EmptyString))\r\n\r\n            self.versionInfo = _t(\"There is a release available which you have chosen to suppress. \"\r\n                                  \"You can choose to reset notification suppression for this release, \"\r\n                                  \"or download the new release from GitHub.\")\r\n\r\n            self.versionSizer.AddStretchSpacer()\r\n\r\n            self.versionSizer.Add(wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL),\r\n                                  0, wx.EXPAND, 5)\r\n            self.versionSizer.AddStretchSpacer()\r\n\r\n            self.versionSizer.Add(self.versionTitle, 0, wx.EXPAND, 5)\r\n            self.versionDesc = wx.StaticText(panel, wx.ID_ANY, self.versionInfo, wx.DefaultPosition, wx.DefaultSize, 0)\r\n            self.versionDesc.Wrap(dlgWidth - 50)\r\n            self.versionSizer.Add(self.versionDesc, 0, wx.ALL, 5)\r\n\r\n            actionSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n            resetSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n            self.downloadButton = wx.Button(panel, wx.ID_ANY, _t(\"Download\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n            self.downloadButton.Bind(wx.EVT_BUTTON, self.OnDownload)\r\n            resetSizer.Add(self.downloadButton, 0, wx.ALL, 5)\r\n            actionSizer.Add(resetSizer, 1, wx.EXPAND, 5)\r\n\r\n            self.resetButton = wx.Button(panel, wx.ID_ANY, _t(\"Reset Suppression\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n            self.resetButton.Bind(wx.EVT_BUTTON, self.ResetSuppression)\r\n            actionSizer.Add(self.resetButton, 0, wx.ALL, 5)\r\n            self.versionSizer.Add(actionSizer, 0, wx.EXPAND, 5)\r\n            mainSizer.Add(self.versionSizer, 0, wx.EXPAND, 5)\r\n\r\n        panel.SetSizer(mainSizer)\r\n        panel.Layout()\r\n\r\n    def OnPrereleaseStateChange(self, event):\r\n        self.UpdateSettings.set('prerelease', not self.suppressPrerelease.IsChecked())\r\n\r\n    def ResetSuppression(self, event):\r\n        self.UpdateSettings.set('version', None)\r\n\r\n        # Todo: Find a way to hide the entire panel in one go\r\n        self.versionSizer.Hide(True)\r\n        self.versionTitle.Hide()\r\n        self.versionDesc.Hide()\r\n        self.downloadButton.Hide()\r\n        self.resetButton.Hide()\r\n        self.resetButton.Hide()\r\n\r\n    def OnDownload(self, event):\r\n        wx.LaunchDefaultBrowser('https://github.com/pyfa-org/Pyfa/releases/tag/' + self.UpdateSettings.get('version'))\r\n\r\n    def getImage(self):\r\n        return BitmapLoader.getBitmap(\"prefs_update\", \"gui\")\r\n\r\n\r\nPFUpdatePref.register()\r\n"
  },
  {
    "path": "gui/builtinShipBrowser/__init__.py",
    "content": ""
  },
  {
    "path": "gui/builtinShipBrowser/categoryItem.py",
    "content": "# coding: utf-8\r\n\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.builtinShipBrowser.sfBrowserItem import SFBrowserItem\r\nimport gui.utils.color as colorUtils\r\nimport gui.utils.draw as drawUtils\r\nimport gui.utils.fonts as fonts\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom .events import Stage2Selected\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CategoryItem(SFBrowserItem):\r\n    def __init__(self, parent, categoryID, fittingInfo, size=(0, 16)):\r\n        SFBrowserItem.__init__(self, parent, size=size)\r\n\r\n        if categoryID:\r\n            self.shipBmp = BitmapLoader.getBitmap(\"ship_small\", \"gui\")\r\n        else:\r\n            self.shipBmp = wx.Bitmap(16, 16)\r\n\r\n        self.dropShadowBitmap = drawUtils.CreateDropShadowBitmap(self.shipBmp, 0.2)\r\n\r\n        self.categoryID = categoryID\r\n        self.fittingInfo = fittingInfo\r\n        self.shipBrowser = self.Parent.Parent\r\n\r\n        self.padding = 4\r\n\r\n        self.fontBig = wx.Font(fonts.BIG, wx.SWISS, wx.NORMAL, wx.NORMAL)\r\n\r\n        self.animTimerId = wx.NewId()\r\n\r\n        self.animTimer = wx.Timer(self, self.animTimerId)\r\n        self.animStep = 0\r\n        self.animPeriod = 10\r\n        self.animDuration = 100\r\n\r\n        self.Bind(wx.EVT_TIMER, self.OnTimer)\r\n\r\n        # =====================================================================\r\n        # Disabled - it will be added as an option to Preferences\r\n        self.animCount = 0\r\n        # self.animTimer.Start(self.animPeriod)\r\n        # =====================================================================\r\n\r\n    def OnTimer(self, event):\r\n        step = self.OUT_QUAD(self.animStep, 0, 10, self.animDuration)\r\n        self.animCount = 10 - step\r\n        self.animStep += self.animPeriod\r\n        if self.animStep > self.animDuration or self.animCount < 0:\r\n            self.animCount = 0\r\n            self.animTimer.Stop()\r\n        self.Refresh()\r\n\r\n    def OnKeyUp(self, event):\r\n        if event.GetKeyCode() in (32, 13):  # space and enter\r\n            self.selectCategory(event)\r\n        event.Skip()\r\n\r\n    @staticmethod\r\n    def OUT_QUAD(t, b, c, d):\r\n        t = float(t)\r\n        b = float(b)\r\n        c = float(c)\r\n        d = float(d)\r\n\r\n        t /= d\r\n\r\n        return -c * t * (t - 2) + b\r\n\r\n    def GetType(self):\r\n        return 1\r\n\r\n    def selectCategory(self, event):\r\n        categoryID = self.categoryID\r\n        wx.PostEvent(self.shipBrowser, Stage2Selected(categoryID=categoryID, back=False))\r\n\r\n    def MouseLeftUp(self, event):\r\n        self.selectCategory(event)\r\n\r\n    def UpdateElementsPos(self, mdc):\r\n        rect = self.GetRect()\r\n        self.shipBmpx = self.padding\r\n        self.shipBmpy = (rect.height - self.shipBmp.GetWidth()) / 2\r\n\r\n        self.shipBmpx -= self.animCount\r\n\r\n        mdc.SetFont(self.fontBig)\r\n        categoryName, fittings = self.fittingInfo\r\n        wtext, htext = mdc.GetTextExtent(categoryName)\r\n\r\n        self.catx = self.shipBmpx + self.shipBmp.GetWidth() + self.padding\r\n        self.caty = (rect.height - htext) / 2\r\n\r\n    def DrawItem(self, mdc):\r\n        # rect = self.GetRect()\r\n        self.UpdateElementsPos(mdc)\r\n\r\n        windowColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n        textColor = colorUtils.GetSuitable(windowColor, 1)\r\n\r\n        mdc.SetTextForeground(textColor)\r\n        mdc.DrawBitmap(self.dropShadowBitmap, round(self.shipBmpx + 1), round(self.shipBmpy + 1))\r\n        mdc.DrawBitmap(self.shipBmp, round(self.shipBmpx), round(self.shipBmpy), 0)\r\n\r\n        mdc.SetFont(self.fontBig)\r\n\r\n        categoryName, fittings = self.fittingInfo\r\n\r\n        mdc.DrawText(categoryName, round(self.catx), round(self.caty))\r\n\r\n\r\n# =============================================================================\r\n#        Waiting for total #fits impl in eos/service\r\n#\r\n#        mdc.SetFont(wx.Font(8, wx.SWISS, wx.NORMAL, wx.NORMAL, False))\r\n#\r\n#        if fittings <1:\r\n#            fformat = \"No fits\"\r\n#        else:\r\n#            if fittings == 1:\r\n#                fformat = \"%d fit\"\r\n#            else:\r\n#                fformat = \"%d fits\"\r\n#\r\n#        if fittings>0:\r\n#            xtext, ytext = mdc.GetTextExtent(fformat % fittings)\r\n#            ypos = (rect.height - ytext)/2\r\n#        else:\r\n#            xtext, ytext = mdc.GetTextExtent(fformat)\r\n#            ypos = (rect.height - ytext)/2\r\n# =============================================================================\r\n"
  },
  {
    "path": "gui/builtinShipBrowser/events.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx.lib.newevent\r\n\r\nFitSelected, EVT_FIT_SELECTED = wx.lib.newevent.NewEvent()\r\n\r\nBoosterListUpdated, BOOSTER_LIST_UPDATED = wx.lib.newevent.NewEvent()\r\n\r\nStage1Selected, EVT_SB_STAGE1_SEL = wx.lib.newevent.NewEvent()\r\nStage2Selected, EVT_SB_STAGE2_SEL = wx.lib.newevent.NewEvent()\r\nStage3Selected, EVT_SB_STAGE3_SEL = wx.lib.newevent.NewEvent()\r\nSearchSelected, EVT_SB_SEARCH_SEL = wx.lib.newevent.NewEvent()\r\nImportSelected, EVT_SB_IMPORT_SEL = wx.lib.newevent.NewEvent()\r\n"
  },
  {
    "path": "gui/builtinShipBrowser/fitItem.py",
    "content": "# coding: utf-8\r\n\r\nimport re\r\nimport time\r\n\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport config\r\nimport gui.builtinShipBrowser.sfBrowserItem as SFItem\r\nimport gui.fitCommands as cmd\r\nimport gui.mainFrame\r\nimport gui.globalEvents as GE\r\nimport gui.utils.color as colorUtils\r\nimport gui.utils.draw as drawUtils\r\nimport gui.utils.fonts as fonts\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.builtinShipBrowser.pfBitmapFrame import PFBitmapFrame\r\nfrom service.fit import Fit\r\nfrom .events import BoosterListUpdated, FitSelected, ImportSelected, SearchSelected, Stage3Selected\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FitItem(SFItem.SFBrowserItem):\r\n    def __init__(self, parent, fitID=None, shipFittingInfo=(\"Test\", \"TestTrait\", \"cnc's avatar\", 0, 0, None), shipID=None,\r\n                 itemData=None, graphicID=None,\r\n                 id=wx.ID_ANY, pos=wx.DefaultPosition,\r\n                 size=(0, 40), style=0):\r\n\r\n        # =====================================================================\r\n        # animCount should be 10 if we enable animation in Preferences\r\n        # =====================================================================\r\n\r\n        self.animCount = 0\r\n        self.selectedDelta = 0\r\n\r\n        SFItem.SFBrowserItem.__init__(self, parent, size=size)\r\n\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        self._itemData = itemData\r\n\r\n        self.fitID = fitID\r\n\r\n        self.shipID = shipID\r\n\r\n        self.shipBrowser = self.Parent.Parent\r\n\r\n        self.shipBmp = None\r\n\r\n        self.deleted = False\r\n\r\n        if shipID:\r\n            self.shipBmp = BitmapLoader.getBitmap(str(graphicID), \"renders\")\r\n\r\n        if not self.shipBmp:\r\n            self.shipBmp = BitmapLoader.getBitmap(\"ship_no_image_big\", \"gui\")\r\n\r\n        self.shipFittingInfo = shipFittingInfo\r\n        self.shipName, self.shipTrait, self.fitName, self.fitBooster, self.timestamp, self.notes = shipFittingInfo\r\n\r\n        if config.debug:\r\n            self.fitName = '({}) {}'.format(self.fitID, self.fitName)\r\n\r\n        self.shipTrait = re.sub(\"<.*?>\", \" \", self.shipTrait)\r\n        # see GH issue #62\r\n\r\n        # Disabling this due to change in gang boosts Nov 2016\r\n        # if self.fitBooster is None: self.fitBooster = False\r\n        self.fitBooster = False\r\n\r\n        self.boosterBmp = BitmapLoader.getBitmap(\"fleet_fc_small\", \"gui\")\r\n        self.copyBmp = BitmapLoader.getBitmap(\"fit_add_small\", \"gui\")\r\n        self.renameBmp = BitmapLoader.getBitmap(\"fit_rename_small\", \"gui\")\r\n        self.deleteBmp = BitmapLoader.getBitmap(\"fit_delete_small\", \"gui\")\r\n        self.acceptBmp = BitmapLoader.getBitmap(\"faccept_small\", \"gui\")\r\n        self.shipEffBk = BitmapLoader.getBitmap(\"fshipbk_big\", \"gui\")\r\n\r\n        img = self.shipEffBk.ConvertToImage()\r\n        img = img.Mirror(False)\r\n        self.shipEffBkMirrored = wx.Bitmap(img)\r\n\r\n        self.dragTLFBmp = None\r\n\r\n        self.bkBitmap = None\r\n\r\n        self.__setToolTip()\r\n\r\n        self.padding = 4\r\n        self.editWidth = 150\r\n\r\n        self.dragging = False\r\n        self.dragged = False\r\n        self.dragMotionTrail = 5\r\n        self.dragMotionTrigger = self.dragMotionTrail\r\n        self.dragWindow = None\r\n\r\n        self.fontBig = wx.Font(fonts.BIG, wx.SWISS, wx.NORMAL, wx.BOLD)\r\n        self.fontNormal = wx.Font(fonts.NORMAL, wx.SWISS, wx.NORMAL, wx.NORMAL)\r\n        self.fontSmall = wx.Font(fonts.SMALL, wx.SWISS, wx.NORMAL, wx.NORMAL)\r\n\r\n        self.SetDraggable()\r\n\r\n        self.boosterBtn = self.toolbar.AddButton(self.boosterBmp, \"Booster\", show=self.fitBooster)\r\n        self.toolbar.AddButton(self.copyBmp, _t(\"Copy\"), self.copyBtnCB)\r\n        self.renameBtn = self.toolbar.AddButton(self.renameBmp, _t(\"Rename\"), self.renameBtnCB)\r\n        self.toolbar.AddButton(self.deleteBmp, _t(\"Delete\"), self.deleteBtnCB)\r\n\r\n        self.tcFitName = wx.TextCtrl(self, wx.ID_ANY, \"%s\" % self.fitName, wx.DefaultPosition, (self.editWidth, -1),\r\n                                     wx.TE_PROCESS_ENTER)\r\n\r\n        if self.shipBrowser.fitIDMustEditName != self.fitID:\r\n            self.tcFitName.Show(False)\r\n        else:\r\n            self.tcFitName.SetFocus()\r\n            self.tcFitName.SelectAll()\r\n            self.shipBrowser.fitIDMustEditName = -1\r\n            self.renameBtn.SetBitmap(self.acceptBmp)\r\n\r\n        self.tcFitName.Bind(wx.EVT_TEXT_ENTER, self.renameFit)\r\n        self.tcFitName.Bind(wx.EVT_KILL_FOCUS, self.editLostFocus)\r\n        self.tcFitName.Bind(wx.EVT_KEY_DOWN, self.editCheckEsc)\r\n        self.Bind(wx.EVT_MOUSE_CAPTURE_LOST, self.OnMouseCaptureLost)\r\n        self.mainFrame.Bind(GE.FIT_RENAMED, self.OnFitRename)\r\n\r\n        self.animTimerId = wx.NewId()\r\n        self.animTimer = wx.Timer(self, self.animTimerId)\r\n        self.animStep = 0\r\n        self.animPeriod = 10\r\n        self.animDuration = 100\r\n\r\n        self.maxDelta = 48\r\n\r\n        self.Bind(wx.EVT_TIMER, self.OnTimer)\r\n\r\n        # =====================================================================\r\n        # DISABLED - it will be added as an option in PREFERENCES\r\n\r\n        # if self.shipBrowser.GetActiveStage() != 4 and self.shipBrowser.GetLastStage() !=3:\r\n        #    self.animTimer.Start(self.animPeriod)\r\n        # else:\r\n        #    self.animCount = 0\r\n        # =====================================================================\r\n\r\n        \"\"\"\r\n        # Remove this bit as the time stuff is non-functional (works... but not exactly sure what it's meant to do)\r\n        self.selTimerID = wx.NewId()\r\n\r\n        self.selTimer = wx.Timer(self, self.selTimerID)\r\n        self.selTimer.Start(100)\r\n        \"\"\"\r\n\r\n        self.Bind(wx.EVT_RIGHT_UP, self.OnContextMenu)\r\n        self.Bind(wx.EVT_MIDDLE_UP, self.OpenNewTab)\r\n\r\n    def __setToolTip(self):\r\n        sFit = Fit.getInstance()\r\n        # show no tooltip if no trait available or setting is disabled\r\n        if self.shipTrait and sFit.serviceFittingOptions[\"showShipBrowserTooltip\"]:\r\n            notes = \"\"\r\n            if self.notes:\r\n                notes = '─' * 20 + \"\\nNotes: {}\\n\".format(self.notes[:197] + '...' if len(self.notes) > 200 else self.notes)\r\n            self.SetToolTip(wx.ToolTip('{}\\n{}{}\\n{}'.format(self.shipName, notes, '─' * 20, self.shipTrait)))\r\n\r\n    def OnKeyUp(self, event):\r\n        if event.GetKeyCode() in (32, 13):  # space and enter\r\n            self.selectFit(event)\r\n        event.Skip()\r\n\r\n    def OpenNewTab(self, evt):\r\n        self.selectFit(newTab=True)\r\n\r\n\r\n    def OnProjectToFit(self, event):\r\n        activeFit = self.mainFrame.getActiveFit()\r\n        if activeFit:\r\n            sFit = Fit.getInstance()\r\n            projectedFit = sFit.getFit(self.fitID)\r\n            command = cmd.GuiAddProjectedFitsCommand(fitID=activeFit, projectedFitIDs=[projectedFit.ID], amount=1)\r\n            if self.mainFrame.command.Submit(command):\r\n                self.mainFrame.additionsPane.select(\"Projected\")\r\n\r\n    def OnAddCommandFit(self, event):\r\n        activeFit = self.mainFrame.getActiveFit()\r\n        if activeFit:\r\n            if self.mainFrame.command.Submit(cmd.GuiAddCommandFitsCommand(fitID=activeFit, commandFitIDs=[self.fitID])):\r\n                self.mainFrame.additionsPane.select(\"Command\")\r\n\r\n    def OnMouseCaptureLost(self, event):\r\n        \"\"\" Destroy drag information (GH issue #479)\"\"\"\r\n        if self.dragging and self.dragged:\r\n            self.dragging = False\r\n            self.dragged = False\r\n            if self.HasCapture():\r\n                self.ReleaseMouse()\r\n            self.dragWindow.Show(False)\r\n            self.dragWindow = None\r\n\r\n    def OnContextMenu(self, event):\r\n        \"\"\" Handles context menu for fit. Dragging is handled by MouseLeftUp() \"\"\"\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.mainFrame.getActiveFit())\r\n\r\n        if not fit:\r\n            return\r\n\r\n        pos = wx.GetMousePosition()\r\n        pos = self.ScreenToClient(pos)\r\n\r\n        # Even though we may not select a booster, automatically set this so that the fleet pane knows which fit we're applying\r\n        self.mainFrame.additionsPane.gangPage.draggedFitID = self.fitID\r\n\r\n        menu = wx.Menu()\r\n        # toggleItem = menu.Append(wx.ID_ANY, \"Booster Fit\", kind=wx.ITEM_CHECK)\r\n        # menu.Check(toggleItem.GetId(), self.fitBooster)\r\n        # self.Bind(wx.EVT_MENU, self.OnToggleBooster, toggleItem)\r\n\r\n        # if fit and not fit.isStructure:\r\n        #     # If there is an active fit, get menu for setting individual boosters\r\n        #     menu.AppendSeparator()\r\n        #     boosterMenu = self.mainFrame.additionsPane.gangPage.buildBoostermenu()\r\n        #     menu.AppendSubMenu(boosterMenu, 'Set Booster')\r\n\r\n        if fit:\r\n            newTabItem = menu.Append(wx.ID_ANY, _t(\"Open in new tab\"))\r\n            self.Bind(wx.EVT_MENU, self.OpenNewTab, newTabItem)\r\n\r\n            projectedItem = menu.Append(wx.ID_ANY, _t(\"Project onto Active Fit\"))\r\n            self.Bind(wx.EVT_MENU, self.OnProjectToFit, projectedItem)\r\n\r\n            commandItem = menu.Append(wx.ID_ANY, _t(\"Add Command Booster\"))\r\n            self.Bind(wx.EVT_MENU, self.OnAddCommandFit, commandItem)\r\n\r\n        self.PopupMenu(menu, pos)\r\n\r\n        event.Skip()\r\n\r\n    def GetType(self):\r\n        return 3\r\n\r\n    def OnTimer(self, event):\r\n\r\n        # @todo: figure out what exactly this is supposed to accomplish\r\n        if self.selTimerID == event.GetId():\r\n            ctimestamp = time.time()\r\n            interval = 5\r\n            if ctimestamp < self.timestamp + interval:\r\n                delta = (ctimestamp - self.timestamp) / interval\r\n                self.selectedDelta = self.CalculateDelta(0x0, self.maxDelta, delta)\r\n                self.Refresh()\r\n            else:\r\n                self.selectedDelta = self.maxDelta\r\n                self.selTimer.Stop()\r\n\r\n        if self.animTimerId == event.GetId():\r\n            step = self.OUT_QUAD(self.animStep, 0, 10, self.animDuration)\r\n            self.animCount = 10 - step\r\n            self.animStep += self.animPeriod\r\n            if self.animStep > self.animDuration or self.animCount < 0:\r\n                self.animCount = 0\r\n                self.animTimer.Stop()\r\n            self.Refresh()\r\n\r\n    @staticmethod\r\n    def CalculateDelta(start, end, delta):\r\n        return start + (end - start) * delta\r\n\r\n    @staticmethod\r\n    def OUT_QUAD(t, b, c, d):\r\n        t = float(t)\r\n        b = float(b)\r\n        c = float(c)\r\n        d = float(d)\r\n\r\n        t /= d\r\n\r\n        return -c * t * (t - 2) + b\r\n\r\n    def editLostFocus(self, event):\r\n        self.RestoreEditButton()\r\n        self.Refresh()\r\n        event.Skip()\r\n\r\n    def editCheckEsc(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.RestoreEditButton()\r\n        else:\r\n            event.Skip()\r\n\r\n    def copyBtnCB(self):\r\n        if self.tcFitName.IsShown():\r\n            self.RestoreEditButton()\r\n            return\r\n\r\n        self.copyFit()\r\n\r\n    def copyFit(self, event=None):\r\n        sFit = Fit.getInstance()\r\n        fitID = sFit.copyFit(self.fitID)\r\n        self.shipBrowser.fitIDMustEditName = fitID\r\n        wx.PostEvent(self.shipBrowser, Stage3Selected(shipID=self.shipID))\r\n        wx.PostEvent(self.mainFrame, FitSelected(fitID=fitID))\r\n\r\n    def renameBtnCB(self):\r\n        if self.tcFitName.IsShown():\r\n            self.RestoreEditButton()\r\n            self.renameFit()\r\n        else:\r\n            self.tcFitName.SetValue(self.fitName)\r\n            self.tcFitName.Show()\r\n            self.renameBtn.SetBitmap(self.acceptBmp)\r\n            self.tcFitName.SetFocus()\r\n            self.tcFitName.SelectAll()\r\n\r\n            self.Refresh()\r\n\r\n    def renameFit(self, event=None):\r\n        self.tcFitName.Show(False)\r\n        self.editWasShown = 0\r\n        fitName = self.tcFitName.GetValue()\r\n        if fitName:\r\n            self.mainFrame.command.Submit(cmd.GuiRenameFitCommand(self.fitID, fitName))\r\n        else:\r\n            self.tcFitName.SetValue(self.fitName)\r\n\r\n    def OnFitRename(self, event):\r\n        if event.fitID == self.fitID:\r\n            fit = Fit.getInstance().getFit(self.fitID)\r\n            self.fitName = fit.name\r\n            if self:\r\n                self.Refresh()\r\n        event.Skip()\r\n\r\n    def deleteBtnCB(self):\r\n        if self.tcFitName.IsShown():\r\n            self.RestoreEditButton()\r\n            return\r\n\r\n        # to prevent accidental deletion, give dialog confirmation unless shift is depressed\r\n        mstate = wx.GetMouseState()\r\n        if mstate.GetModifiers() == wx.MOD_SHIFT or mstate.MiddleIsDown():\r\n            self.deleteFit()\r\n        else:\r\n            with wx.MessageDialog(\r\n                self.GetTopLevelParent(), \"Do you really want to delete this fit?\", \"Confirm Delete\",\r\n                wx.YES | wx.NO | wx.ICON_QUESTION\r\n            ) as dlg:\r\n                if dlg.ShowModal() == wx.ID_YES:\r\n                    self.deleteFit()\r\n\r\n    def deleteFit(self, event=None):\r\n        pyfalog.debug(\"Deleting ship fit.\")\r\n        if self.deleted:\r\n            return\r\n        else:\r\n            self.deleted = True\r\n\r\n        sFit = Fit.getInstance()\r\n\r\n        # need to delete from import cache before actually deleting fit\r\n        if self.shipBrowser.GetActiveStage() == 5:\r\n            for x in self.shipBrowser.lastdata:  # remove fit from import cache\r\n                if x[0] == self.fitID:\r\n                    self.shipBrowser.lastdata.remove(x)\r\n                    break\r\n\r\n        sFit.deleteFit(self.fitID)\r\n        # Notify other areas that a fit has been deleted\r\n        wx.PostEvent(self.mainFrame, GE.FitRemoved(fitID=self.fitID))\r\n\r\n        # todo: would a simple RefreshList() work here instead of posting that a stage has been selected?\r\n        if self.shipBrowser.GetActiveStage() == 5:\r\n            wx.PostEvent(self.shipBrowser, ImportSelected(fits=self.shipBrowser.lastdata, recent=self.shipBrowser.recentFits))\r\n        elif self.shipBrowser.GetActiveStage() == 4:\r\n            wx.PostEvent(self.shipBrowser, SearchSelected(text=self.shipBrowser.navpanel.lastSearch, back=True))\r\n        else:\r\n            wx.PostEvent(self.shipBrowser, Stage3Selected(shipID=self.shipID))\r\n\r\n    def MouseLeftUp(self, event):\r\n        if self.dragging and self.dragged:\r\n            self.OnMouseCaptureLost(event)\r\n\r\n            targetWnd, _ = wx.FindWindowAtPointer()\r\n\r\n            if not targetWnd:\r\n                return\r\n\r\n            wnd = targetWnd\r\n            while wnd is not None:\r\n                handler = getattr(wnd, \"handleDrag\", None)\r\n                if handler:\r\n                    handler(\"fit\", self.fitID)\r\n                    break\r\n                else:\r\n                    wnd = wnd.Parent\r\n            event.Skip()\r\n            return\r\n\r\n        if self.dragging:\r\n            self.dragging = False\r\n\r\n        if self.tcFitName.IsShown():\r\n            self.RestoreEditButton()\r\n        else:\r\n            activeFitID = self.mainFrame.getActiveFit()\r\n            if activeFitID != self.fitID:\r\n                self.selectFit()\r\n\r\n    def MouseLeftDown(self, event):\r\n        self.dragging = True\r\n\r\n    def MouseMove(self, event):\r\n        pos = self.ClientToScreen(event.GetPosition())\r\n        if self.dragging:\r\n            if not self.dragged:\r\n                if self.dragMotionTrigger < 0:\r\n                    if not self.dragTLFBmp:\r\n                        tdc = wx.MemoryDC()\r\n                        bmpWidth = self.toolbarx if self.toolbarx < 200 else 200\r\n                        self.dragTLFBmp = wx.Bitmap(round(bmpWidth), round(self.GetRect().height))\r\n                        tdc.SelectObject(self.dragTLFBmp)\r\n                        tdc.SetBrush(wx.Brush(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)))\r\n                        tdc.DrawRectangle(0, 0, bmpWidth, self.GetRect().height)\r\n                        self.DrawItem(tdc)\r\n                        tdc.SelectObject(wx.NullBitmap)\r\n                    if not self.HasCapture():\r\n                        self.CaptureMouse()\r\n                    self.dragWindow = PFBitmapFrame(self, pos, self.dragTLFBmp)  \r\n                    self.dragWindow.Show()\r\n                    self.dragged = True\r\n                    self.dragMotionTrigger = self.dragMotionTrail\r\n                else:\r\n                    self.dragMotionTrigger -= 1\r\n            if self.dragWindow:\r\n                pos.x += 3\r\n                pos.y += 3\r\n                self.dragWindow.SetPosition(pos)\r\n            return\r\n\r\n    def selectFit(self, event=None, newTab=False):\r\n        if newTab:\r\n            wx.PostEvent(self.mainFrame, FitSelected(fitID=self.fitID, startup=2))\r\n        else:\r\n            wx.PostEvent(self.mainFrame, FitSelected(fitID=self.fitID))\r\n\r\n    def RestoreEditButton(self):\r\n        self.tcFitName.Show(False)\r\n        self.renameBtn.SetBitmap(self.renameBmp)\r\n        self.Refresh()\r\n\r\n    def UpdateElementsPos(self, mdc):\r\n        rect = self.GetRect()\r\n\r\n        self.toolbarx = rect.width - self.toolbar.GetWidth() - self.padding\r\n        self.toolbary = (rect.height - self.toolbar.GetHeight()) / 2\r\n\r\n        self.toolbarx += self.animCount\r\n\r\n        self.shipEffx = self.padding + (rect.height - self.shipEffBk.GetWidth()) / 2\r\n        self.shipEffy = (rect.height - self.shipEffBk.GetHeight()) / 2\r\n\r\n        self.shipEffx -= self.animCount\r\n\r\n        self.shipBmpx = self.padding + (rect.height - self.shipBmp.GetWidth()) / 2\r\n        self.shipBmpy = (rect.height - self.shipBmp.GetHeight()) / 2\r\n\r\n        self.shipBmpx -= self.animCount\r\n\r\n        self.textStartx = self.shipEffx + self.shipEffBk.GetWidth() + self.padding\r\n\r\n        self.fitNamey = (rect.height - self.shipBmp.GetHeight()) / 2\r\n\r\n        mdc.SetFont(self.fontBig)\r\n        wtext, htext = mdc.GetTextExtent(self.fitName)\r\n\r\n        self.timestampy = self.fitNamey + htext\r\n\r\n        mdc.SetFont(self.fontSmall)\r\n\r\n        wlabel, hlabel = mdc.GetTextExtent(self.toolbar.hoverLabel)\r\n\r\n        self.thoverx = self.toolbarx - self.padding - wlabel\r\n        self.thovery = (rect.height - hlabel) / 2\r\n        self.thoverw = wlabel\r\n\r\n    def DrawItem(self, mdc):\r\n        rect = self.GetRect()\r\n\r\n        windowColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n        textColor = colorUtils.GetSuitable(windowColor, 1)\r\n\r\n        mdc.SetTextForeground(textColor)\r\n\r\n        self.UpdateElementsPos(mdc)\r\n\r\n        self.toolbar.SetPosition((self.toolbarx, self.toolbary))\r\n\r\n        if self.GetState() & SFItem.SB_ITEM_HIGHLIGHTED:\r\n            shipEffBk = self.shipEffBkMirrored\r\n        else:\r\n            shipEffBk = self.shipEffBk\r\n\r\n        mdc.DrawBitmap(shipEffBk, round(self.shipEffx), round(self.shipEffy), 0)\r\n\r\n        mdc.DrawBitmap(self.shipBmp, round(self.shipBmpx), round(self.shipBmpy), 0)\r\n\r\n        mdc.SetFont(self.fontNormal)\r\n\r\n        fitDate = self.timestamp.strftime(\"%m/%d/%Y %H:%M\")\r\n        fitLocalDate = fitDate  # \"%d/%02d/%02d %02d:%02d\" % (fitDate[0], fitDate[1], fitDate[2], fitDate[3], fitDate[4])\r\n        pfdate = drawUtils.GetPartialText(mdc, fitLocalDate,\r\n                                          self.toolbarx - self.textStartx - self.padding * 2 - self.thoverw)\r\n\r\n        mdc.DrawText(pfdate, round(self.textStartx), round(self.timestampy))\r\n\r\n        mdc.SetFont(self.fontSmall)\r\n        mdc.DrawText(self.toolbar.hoverLabel, round(self.thoverx), round(self.thovery))\r\n\r\n        mdc.SetFont(self.fontBig)\r\n\r\n        psname = drawUtils.GetPartialText(mdc, self.fitName,\r\n                                          self.toolbarx - self.textStartx - self.padding * 2 - self.thoverw)\r\n\r\n        mdc.DrawText(psname, round(self.textStartx), round(self.fitNamey))\r\n\r\n        if self.tcFitName.IsShown():\r\n            self.AdjustControlSizePos(self.tcFitName, self.textStartx, self.toolbarx - self.editWidth - self.padding)\r\n\r\n\r\n    def AdjustControlSizePos(self, editCtl, start, end):\r\n        fnEditSize = editCtl.GetSize()\r\n        wSize = self.GetSize()\r\n        fnEditPosX = end\r\n        fnEditPosY = (wSize.height - fnEditSize.height) / 2\r\n        if fnEditPosX < start:\r\n            editCtl.SetSize((self.editWidth + fnEditPosX - start, -1))\r\n            editCtl.SetPosition((start, fnEditPosY))\r\n        else:\r\n            editCtl.SetSize((self.editWidth, -1))\r\n            editCtl.SetPosition((fnEditPosX, fnEditPosY))\r\n\r\n    def GetState(self):\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n\r\n        if self.highlighted and not activeFitID == self.fitID:\r\n            state = SFItem.SB_ITEM_HIGHLIGHTED\r\n\r\n        else:\r\n            if activeFitID == self.fitID:\r\n                if self.highlighted:\r\n                    state = SFItem.SB_ITEM_SELECTED | SFItem.SB_ITEM_HIGHLIGHTED\r\n                else:\r\n                    state = SFItem.SB_ITEM_SELECTED\r\n            else:\r\n                state = SFItem.SB_ITEM_NORMAL\r\n        return state\r\n\r\n    def Refresh(self):\r\n        activeFit = self.mainFrame.getActiveFit()\r\n        if activeFit == self.fitID and not self.deleted:\r\n            sFit = Fit.getInstance()\r\n            fit = sFit.getFit(activeFit)\r\n            if fit is not None:  # sometimes happens when deleting fits, dunno why.\r\n                self.timestamp = fit.modifiedCoalesce\r\n                self.notes = fit.notes\r\n                self.__setToolTip()\r\n\r\n        SFItem.SFBrowserItem.Refresh(self)\r\n\r\n    def RenderBackground(self):\r\n        rect = self.GetRect()\r\n\r\n        windowColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n\r\n        # activeFitID = self.mainFrame.getActiveFit()\r\n        state = self.GetState()\r\n\r\n        sFactor = 0.2\r\n        mFactor = None\r\n        eFactor = 0\r\n\r\n        if state == SFItem.SB_ITEM_HIGHLIGHTED:\r\n            mFactor = 0.45\r\n            eFactor = 0.30\r\n\r\n        elif state == SFItem.SB_ITEM_SELECTED | SFItem.SB_ITEM_HIGHLIGHTED:\r\n            eFactor = 0.3\r\n            mFactor = 0.4\r\n\r\n        elif state == SFItem.SB_ITEM_SELECTED:\r\n            eFactor = (self.maxDelta - self.selectedDelta) / 100 + 0.25\r\n        else:\r\n            sFactor = 0\r\n\r\n        if self.bkBitmap:\r\n            if self.bkBitmap.eFactor == eFactor and self.bkBitmap.sFactor == sFactor and self.bkBitmap.mFactor == mFactor \\\r\n                    and rect.width == self.bkBitmap.GetWidth() and rect.height == self.bkBitmap.GetHeight():\r\n                return\r\n            else:\r\n                del self.bkBitmap\r\n\r\n        self.bkBitmap = drawUtils.RenderGradientBar(windowColor, rect.width, rect.height, sFactor, eFactor, mFactor)\r\n        self.bkBitmap.state = state\r\n        self.bkBitmap.sFactor = sFactor\r\n        self.bkBitmap.eFactor = eFactor\r\n        self.bkBitmap.mFactor = mFactor\r\n"
  },
  {
    "path": "gui/builtinShipBrowser/navigationPanel.py",
    "content": "# coding: utf-8\r\n\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport gui.builtinShipBrowser.sfBrowserItem as SFItem\r\nimport gui.mainFrame\r\nimport gui.utils.color as colorUtils\r\nimport gui.utils.draw as drawUtils\r\nimport gui.utils.fonts as fonts\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.helpers_wxPython import HandleCtrlBackspace\r\nfrom service.fit import Fit\r\nfrom utils.cjk import isStringCjk\r\nfrom .events import FitSelected, SearchSelected, ImportSelected, Stage1Selected, Stage2Selected, Stage3Selected\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass NavigationPanel(SFItem.SFBrowserItem):\r\n    def __init__(self, parent, size=(-1, 24)):\r\n        SFItem.SFBrowserItem.__init__(self, parent, size=size)\r\n\r\n        self.rewBmpH = BitmapLoader.getBitmap(\"frewind_small\", \"gui\")\r\n        self.forwBmp = BitmapLoader.getBitmap(\"fforward_small\", \"gui\")\r\n        self.searchBmpH = BitmapLoader.getBitmap(\"fsearch_small\", \"gui\")\r\n        self.newBmpH = BitmapLoader.getBitmap(\"fit_add_small\", \"gui\")\r\n        self.resetBmpH = BitmapLoader.getBitmap(\"freset_small\", \"gui\")\r\n        self.switchBmpH = BitmapLoader.getBitmap(\"fit_switch_view_mode_small\", \"gui\")\r\n        self.recentBmpH = BitmapLoader.getBitmap(\"frecent_small\", \"gui\")\r\n\r\n        switchImg = BitmapLoader.getImage(\"fit_switch_view_mode_small\", \"gui\")\r\n        switchImg = switchImg.AdjustChannels(1, 1, 1, 0.4)\r\n        self.switchBmpD = wx.Bitmap(switchImg)\r\n\r\n        recentImg = BitmapLoader.getImage(\"frecent_small\", \"gui\")\r\n        recentImg = recentImg.AdjustChannels(1, 1, 1, 0.4)\r\n        self.recentBmpD = wx.Bitmap(recentImg)\r\n\r\n        self.resetBmp = self.AdjustChannels(self.resetBmpH)\r\n        self.rewBmp = self.AdjustChannels(self.rewBmpH)\r\n        self.searchBmp = self.AdjustChannels(self.searchBmpH)\r\n        self.switchBmp = self.AdjustChannels(self.switchBmpH)\r\n        self.recentBmp = self.AdjustChannels(self.recentBmpH)\r\n        self.newBmp = self.AdjustChannels(self.newBmpH)\r\n\r\n        self.toolbar.AddButton(self.resetBmp, _t(\"Ship groups\"), clickCallback=self.OnHistoryReset,\r\n                               hoverBitmap=self.resetBmpH)\r\n        self.toolbar.AddButton(self.rewBmp, _t(\"Back\"), clickCallback=self.OnHistoryBack, hoverBitmap=self.rewBmpH)\r\n        self.btnNew = self.toolbar.AddButton(self.newBmp, _t(\"New fitting\"), clickCallback=self.OnNewFitting,\r\n                                             hoverBitmap=self.newBmpH, show=False)\r\n        self.btnSwitch = self.toolbar.AddButton(self.switchBmpD, _t(\"Hide empty ship groups\"),\r\n                                                clickCallback=self.ToggleEmptyGroupsView, hoverBitmap=self.switchBmpH,\r\n                                                show=False)\r\n        self.btnRecent = self.toolbar.AddButton(self.recentBmpD, _t(\"Recent Fits\"),\r\n                                                clickCallback=self.ToggleRecentShips, hoverBitmap=self.recentBmpH,\r\n                                                show=True)\r\n\r\n        modifier = \"CTRL\" if 'wxMac' not in wx.PlatformInfo else \"CMD\"\r\n        self.toolbar.AddButton(self.searchBmp, _t(\"Search fittings\") + \" ({}+F)\".format(modifier), clickCallback=self.ToggleSearchBox,\r\n                               hoverBitmap=self.searchBmpH)\r\n\r\n        self.padding = 4\r\n        self.lastSearch = \"\"\r\n        self.recentSearches = []  # not used?\r\n        self.inSearch = False\r\n\r\n        self.fontSmall = wx.Font(fonts.SMALL, wx.SWISS, wx.NORMAL, wx.NORMAL)\r\n        w, h = size\r\n        self.BrowserSearchBox = wx.TextCtrl(self, wx.ID_ANY, \"\", wx.DefaultPosition,\r\n                                            (-1, h - 2 if 'wxGTK' in wx.PlatformInfo else -1),\r\n                                            (wx.BORDER_NONE if 'wxGTK' in wx.PlatformInfo else 0))\r\n        self.BrowserSearchBox.Show(False)\r\n\r\n        # self.BrowserSearchBox.Bind(wx.EVT_TEXT_ENTER, self.OnBrowserSearchBoxEnter)\r\n        # self.BrowserSearchBox.Bind(wx.EVT_KILL_FOCUS, self.OnBrowserSearchBoxLostFocus)\r\n        self.BrowserSearchBox.Bind(wx.EVT_KEY_DOWN, self.OnBrowserSearchBoxKeyPress)\r\n        self.BrowserSearchBox.Bind(wx.EVT_TEXT, self.OnScheduleSearch)\r\n\r\n        self.SetMinSize(size)\r\n        self.shipBrowser = self.Parent\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        self.Bind(wx.EVT_SIZE, self.OnResize)\r\n\r\n    def OnScheduleSearch(self, event):\r\n        search = self.BrowserSearchBox.GetValue()\r\n        # Make sure we do not count wildcards as search symbol\r\n        realsearch = search.replace('*', '').replace('?', '')\r\n        minChars = 1 if isStringCjk(realsearch) else 3\r\n        if len(realsearch) >= minChars:\r\n            self.lastSearch = search\r\n            wx.PostEvent(self.shipBrowser, SearchSelected(text=search, back=False))\r\n\r\n    def ToggleSearchBox(self):\r\n        if self.BrowserSearchBox.IsShown():\r\n            self.BrowserSearchBox.Show(False)\r\n        else:\r\n            self.BrowserSearchBox.Show(True)\r\n            self.BrowserSearchBox.ChangeValue(\"\")\r\n        self.BrowserSearchBox.SetFocus()\r\n\r\n    def OnBrowserSearchBoxEnter(self, event):\r\n        self.OnBrowserSearchBoxLostFocus(None)\r\n\r\n    def OnBrowserSearchBoxLostFocus(self, event):\r\n        self.BrowserSearchBox.Show(False)\r\n\r\n    def OnBrowserSearchBoxKeyPress(self, event):\r\n        keycode = event.GetKeyCode()\r\n        modifiers = event.GetModifiers()\r\n        if keycode == wx.WXK_ESCAPE and modifiers == wx.MOD_NONE:\r\n            self.BrowserSearchBox.Show(False)\r\n        elif keycode == wx.WXK_BACK and modifiers == wx.MOD_CONTROL:\r\n            HandleCtrlBackspace(self.BrowserSearchBox)\r\n        else:\r\n            event.Skip()\r\n\r\n    def OnResize(self, event):\r\n        self.Refresh()\r\n\r\n    def ToggleRecentShips(self, bool=None, emitEvent=True):\r\n        # this is so janky. Need to revaluate pretty much entire ship browser. >.<\r\n        toggle = bool if bool is not None else not self.shipBrowser.recentFits\r\n\r\n        if not toggle:\r\n            self.shipBrowser.recentFits = False\r\n            self.btnRecent.label = _t(\"Recent Fits\")\r\n            self.btnRecent.normalBmp = self.recentBmpD\r\n\r\n            if emitEvent:\r\n                wx.PostEvent(self.shipBrowser, Stage1Selected())\r\n        else:\r\n            self.shipBrowser.recentFits = True\r\n            self.btnRecent.label = _t(\"Hide Recent Fits\")\r\n            self.btnRecent.normalBmp = self.recentBmp\r\n\r\n            if emitEvent:\r\n                sFit = Fit.getInstance()\r\n                fits = sFit.getRecentFits()\r\n                wx.PostEvent(self.shipBrowser, ImportSelected(fits=fits, back=True, recent=True))\r\n\r\n    def ToggleEmptyGroupsView(self):\r\n        if self.shipBrowser.filterShipsWithNoFits:\r\n            self.shipBrowser.filterShipsWithNoFits = False\r\n            self.btnSwitch.label = _t(\"Hide empty ship groups\")\r\n            self.btnSwitch.normalBmp = self.switchBmpD\r\n        else:\r\n            self.shipBrowser.filterShipsWithNoFits = True\r\n            self.btnSwitch.label = _t(\"Show empty ship groups\")\r\n            self.btnSwitch.normalBmp = self.switchBmp\r\n\r\n        stage = self.shipBrowser.GetActiveStage()\r\n\r\n        if stage == 1:\r\n            wx.PostEvent(self.shipBrowser, Stage1Selected())\r\n        elif stage == 2:\r\n            categoryID = self.shipBrowser.GetStageData(stage)\r\n            wx.PostEvent(self.shipBrowser, Stage2Selected(categoryID=categoryID, back=True))\r\n\r\n    def ShowNewFitButton(self, show):\r\n        self.btnNew.Show(show)\r\n        self.Refresh()\r\n\r\n    def ShowSwitchEmptyGroupsButton(self, show):\r\n        self.btnSwitch.Show(show)\r\n        self.Refresh()\r\n\r\n    def OnNewFitting(self):\r\n        stage = self.Parent.GetActiveStage()\r\n        if stage == 3:\r\n            shipID = self.Parent.GetStageData(stage)\r\n            shipName = self.Parent.GetStage3ShipName()\r\n            sFit = Fit.getInstance()\r\n            fitID = sFit.newFit(shipID, \"%s fit\" % shipName)\r\n            self.shipBrowser.fitIDMustEditName = fitID\r\n            wx.PostEvent(self.Parent, Stage3Selected(shipID=shipID))\r\n            wx.PostEvent(self.mainFrame, FitSelected(fitID=fitID))\r\n\r\n    def OnHistoryReset(self):\r\n        self.ToggleRecentShips(False, False)\r\n        if self.shipBrowser.browseHist:\r\n            self.shipBrowser.browseHist = []\r\n        self.gotoStage(1, 0)\r\n\r\n    def OnHistoryBack(self):\r\n        self.ToggleRecentShips(False, False)\r\n        if len(self.shipBrowser.browseHist) > 0:\r\n            stage, data = self.shipBrowser.browseHist.pop()\r\n            self.gotoStage(stage, data)\r\n\r\n    @staticmethod\r\n    def AdjustChannels(bitmap):\r\n        img = bitmap.ConvertToImage()\r\n        img = img.AdjustChannels(1.05, 1.05, 1.05, 1)\r\n        return wx.Bitmap(img)\r\n\r\n    def UpdateElementsPos(self, mdc):\r\n        rect = self.GetRect()\r\n\r\n        self.toolbarx = self.padding\r\n        self.toolbary = (rect.height - self.toolbar.GetHeight()) / 2\r\n\r\n        mdc.SetFont(self.fontSmall)\r\n\r\n        wlabel, hlabel = mdc.GetTextExtent(self.toolbar.hoverLabel)\r\n\r\n        self.thoverx = self.toolbar.GetWidth() + self.padding\r\n        self.thovery = (rect.height - hlabel) / 2\r\n        self.thoverw = wlabel\r\n\r\n        self.browserBoxX = self.thoverx\r\n        bEditBoxWidth, bEditBoxHeight = self.BrowserSearchBox.GetSize()\r\n        self.browserBoxY = (rect.height - bEditBoxHeight) / 2\r\n\r\n        self.bEditBoxWidth = rect.width - self.browserBoxX - self.padding\r\n\r\n    def DrawItem(self, mdc):\r\n        rect = self.GetRect()\r\n\r\n        windowColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n        textColor = colorUtils.GetSuitable(windowColor, 1)\r\n        sepColor = colorUtils.GetSuitable(windowColor, 0.2)\r\n\r\n        mdc.SetTextForeground(textColor)\r\n\r\n        self.UpdateElementsPos(mdc)\r\n        self.BrowserSearchBox.SetPosition((self.browserBoxX, self.browserBoxY))\r\n        self.BrowserSearchBox.SetSize(wx.Size(self.bEditBoxWidth, -1))\r\n\r\n        self.toolbar.SetPosition((self.toolbarx, self.toolbary))\r\n        mdc.SetFont(self.fontSmall)\r\n        mdc.DrawText(self.toolbar.hoverLabel, round(self.thoverx), round(self.thovery))\r\n        mdc.SetPen(wx.Pen(sepColor, 1))\r\n        mdc.DrawLine(0, rect.height - 1, rect.width, rect.height - 1)\r\n\r\n    def RenderBackground(self):\r\n        rect = self.GetRect()\r\n\r\n        windowColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n\r\n        sFactor = 0.1\r\n\r\n        shipGroupsFilter = getattr(self.shipBrowser, \"filterShipsWithNoFits\", None)\r\n        if shipGroupsFilter:\r\n            sFactor = 0.15\r\n            mFactor = 0.25\r\n        else:\r\n            mFactor = 0.2\r\n\r\n        eFactor = 0.1\r\n\r\n        if self.bkBitmap:\r\n            if self.bkBitmap.eFactor == eFactor and self.bkBitmap.sFactor == sFactor and self.bkBitmap.mFactor == mFactor \\\r\n                    and rect.width == self.bkBitmap.GetWidth() and rect.height == self.bkBitmap.GetHeight():\r\n                return\r\n            else:\r\n                del self.bkBitmap\r\n\r\n        self.bkBitmap = drawUtils.RenderGradientBar(windowColor, rect.width, rect.height, sFactor, eFactor, mFactor, 2)\r\n\r\n        self.bkBitmap.sFactor = sFactor\r\n        self.bkBitmap.eFactor = eFactor\r\n        self.bkBitmap.mFactor = mFactor\r\n\r\n    def gotoStage(self, stage, data=None):\r\n        self.shipBrowser.recentFits = False\r\n        if stage == 1:\r\n            wx.PostEvent(self.Parent, Stage1Selected())\r\n        elif stage == 2:\r\n            wx.PostEvent(self.Parent, Stage2Selected(categoryID=data, back=True))\r\n        elif stage == 3:\r\n            wx.PostEvent(self.Parent, Stage3Selected(shipID=data))\r\n        elif stage == 4:\r\n            self.shipBrowser._activeStage = 4\r\n            wx.PostEvent(self.Parent, SearchSelected(text=data, back=True))\r\n        elif stage == 5:\r\n            wx.PostEvent(self.Parent, ImportSelected(fits=data))\r\n        else:\r\n            wx.PostEvent(self.Parent, Stage1Selected())\r\n"
  },
  {
    "path": "gui/builtinShipBrowser/pfBitmapButton.py",
    "content": "import wx\r\nfrom wx.lib.buttons import GenBitmapButton\r\n\r\n\r\nclass PFGenBitmapButton(GenBitmapButton):\r\n    def __init__(self, parent, id, bitmap, pos, size, style):\r\n        GenBitmapButton.__init__(self, parent, id, bitmap, pos, size, style)\r\n        self.bgcolor = wx.Brush(wx.WHITE)\r\n\r\n    def SetBackgroundColour(self, color):\r\n        self.bgcolor = wx.Brush(color)\r\n\r\n    def GetBackgroundBrush(self, dc):\r\n        return self.bgcolor\r\n"
  },
  {
    "path": "gui/builtinShipBrowser/pfBitmapFrame.py",
    "content": "import wx\r\n\r\n\r\nclass PFBitmapFrame(wx.Frame):\r\n    def __init__(self, parent, pos, bitmap):\r\n        super().__init__(\r\n            parent, id=wx.ID_ANY, title=wx.EmptyString, pos=pos, size=wx.DefaultSize,\r\n            style=wx.NO_BORDER | wx.FRAME_NO_TASKBAR | wx.STAY_ON_TOP)\r\n        img = bitmap.ConvertToImage()\r\n        img = img.ConvertToGreyscale()\r\n        bitmap = wx.Bitmap(img)\r\n        self.bitmap = bitmap\r\n        self.SetSize((bitmap.GetWidth(), bitmap.GetHeight()))\r\n        self.Bind(wx.EVT_PAINT, self.OnWindowPaint)\r\n        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnWindowEraseBk)\r\n        self.Bind(wx.EVT_TIMER, self.OnTimer)\r\n\r\n        self.timer = wx.Timer(self, wx.ID_ANY)\r\n        self.direction = 1\r\n        self.transp = 0\r\n        self.SetSize((bitmap.GetWidth(), bitmap.GetHeight()))\r\n\r\n        self.SetBackgroundStyle(wx.BG_STYLE_PAINT)\r\n\r\n        self.SetTransparent(0)\r\n        self.Refresh()\r\n\r\n    def OnTimer(self, event):\r\n        self.transp += 20 * self.direction\r\n        if self.transp > 200:\r\n            self.transp = 200\r\n            self.timer.Stop()\r\n        if self.transp < 0:\r\n            self.transp = 0\r\n            self.timer.Stop()\r\n            super().Show(False)\r\n            self.Destroy()\r\n            return\r\n        self.SetTransparent(self.transp)\r\n\r\n    def Show(self, showWnd=True):\r\n        if showWnd:\r\n            super().Show(showWnd)\r\n            self.Parent.SetFocus()\r\n            self.direction = 1\r\n            self.timer.Start(5)\r\n        else:\r\n            self.direction = -1\r\n            self.timer.Start(5)\r\n\r\n    def OnWindowEraseBk(self, event):\r\n        pass\r\n\r\n    def OnWindowPaint(self, event):\r\n        # todo: evaluate wx.DragImage, might make this class obsolete, however might also lose our customizations\r\n        # (like the sexy fade-in animation)\r\n        rect = self.GetRect()\r\n        canvas = wx.Bitmap(round(rect.width), round(rect.height))\r\n        # todo: convert to context manager after updating to wxPython >v4.0.1 (4.0.1 has a bug, see #1421)\r\n        # See #1418 for discussion\r\n        mdc = wx.BufferedPaintDC(self)\r\n        mdc.SelectObject(canvas)\r\n        mdc.DrawBitmap(self.bitmap, 0, 0)\r\n        mdc.SetPen(wx.Pen(\"#000000\", width=1))\r\n        mdc.SetBrush(wx.TRANSPARENT_BRUSH)\r\n        mdc.DrawRectangle(0, 0, round(rect.width), round(rect.height))\r\n"
  },
  {
    "path": "gui/builtinShipBrowser/pfListPane.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\n\r\nclass PFListPane(wx.ScrolledWindow):\r\n\r\n    def __init__(self, parent):\r\n        wx.ScrolledWindow.__init__(self, parent, pos=wx.DefaultPosition, style=wx.TAB_TRAVERSAL)\r\n\r\n        self._wList = []\r\n        self._wCount = 0\r\n        self.itemsHeight = 1\r\n\r\n        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))\r\n\r\n        self.SetVirtualSize((1, 1))\r\n        self.SetScrollRate(0, 1)\r\n\r\n        self.Bind(wx.EVT_SCROLLWIN_LINEUP, self.MScrollUp)\r\n        self.Bind(wx.EVT_SCROLLWIN_LINEDOWN, self.MScrollDown)\r\n        # self.Bind(wx.EVT_CHILD_FOCUS, self.OnChildFocus)\r\n        # self.Bind(wx.EVT_LEFT_DOWN, self.ForceFocus)\r\n        self.SetFocus()\r\n        # self.Bind(wx.EVT_MOUSE_CAPTURE_CHANGED, self.ForceFocus)\r\n        self.Bind(wx.EVT_SCROLLWIN_THUMBRELEASE, self.ForceFocus)\r\n\r\n    def ForceFocus(self, event):\r\n        if self.FindFocus() and self.FindFocus().Parent != self:\r\n            self.SetFocus()\r\n        event.Skip()\r\n\r\n    def OnChildFocus(self, event):\r\n        event.Skip()\r\n        child = event.GetWindow()\r\n        self.ScrollChildIntoView(child)\r\n\r\n    def MScrollUp(self, event):\r\n\r\n        posy = self.GetScrollPos(wx.VERTICAL)\r\n        posy -= self.itemsHeight\r\n        self.Scroll(0, round(posy))\r\n\r\n        event.Skip()\r\n\r\n    def MScrollDown(self, event):\r\n\r\n        posy = self.GetScrollPos(wx.VERTICAL)\r\n        posy += self.itemsHeight\r\n        self.Scroll(0, round(posy))\r\n\r\n        event.Skip()\r\n\r\n    def ScrollChildIntoView(self, child):\r\n        \"\"\"\r\n        Scrolls the panel such that the specified child window is in view.\r\n        \"\"\"\r\n        sppu_x, sppu_y = self.GetScrollPixelsPerUnit()\r\n        vs_x, vs_y = self.GetViewStart()\r\n        cr = child.GetRect()\r\n        clntsz = self.GetSize()\r\n        new_vs_x, new_vs_y = -1, -1\r\n\r\n        # is it before the left edge?\r\n        if cr.x < 0 < sppu_x:\r\n            new_vs_x = vs_x + (cr.x / sppu_x)\r\n\r\n        # is it above the top?\r\n        if cr.y < 0 < sppu_y:\r\n            new_vs_y = vs_y + (cr.y / sppu_y)\r\n\r\n        # For the right and bottom edges, scroll enough to show the\r\n        # whole control if possible, but if not just scroll such that\r\n        # the top/left edges are still visible\r\n\r\n        # is it past the right edge ?\r\n        if cr.right > clntsz.width and sppu_x > 0:\r\n            diff = (cr.right - clntsz.width + 1) / sppu_x\r\n            if cr.x - diff * sppu_x > 0:\r\n                new_vs_x = vs_x + diff\r\n            else:\r\n                new_vs_x = vs_x + (cr.x / sppu_x)\r\n\r\n        # is it below the bottom ?\r\n        if cr.bottom > clntsz.height and sppu_y > 0:\r\n            diff = (cr.bottom - clntsz.height + 1) / sppu_y\r\n            if cr.y - diff * sppu_y > 0:\r\n                new_vs_y = vs_y + diff\r\n            else:\r\n                new_vs_y = vs_y + (cr.y / sppu_y)\r\n\r\n        # if we need to adjust\r\n        if new_vs_x != -1 or new_vs_y != -1:\r\n            self.Scroll(round(new_vs_x), round(new_vs_y))\r\n\r\n    def AddWidget(self, widget):\r\n        widget.Reparent(self)\r\n        self._wList.append(widget)\r\n        self._wCount += 1\r\n\r\n    def GetWidgetList(self):\r\n        return self._wList\r\n\r\n    # Override this method if needed ( return False by default if we do not want to scroll to selected widget)\r\n    def IsWidgetSelectedByContext(self, widget):\r\n        return False\r\n\r\n    def RefreshList(self, doRefresh=False, doFocus=False):\r\n        maxy = 0\r\n\r\n        selected = None\r\n        for i in range(len(self._wList)):\r\n            iwidth, iheight = self._wList[i].GetSize()\r\n            xa, ya = self.CalcScrolledPosition((0, maxy))\r\n            self._wList[i].SetPosition((xa, ya))\r\n            if self.IsWidgetSelectedByContext(i):\r\n                selected = self._wList[i]\r\n            maxy += iheight\r\n\r\n        self.SetVirtualSize((1, maxy))\r\n        cwidth, cheight = self.GetVirtualSize()\r\n\r\n        if selected:\r\n            self.ScrollChildIntoView(selected)\r\n            # selected.SetFocus()\r\n        elif doFocus:\r\n            self.SetFocus()\r\n\r\n        for i in range(len(self._wList)):\r\n            iwidth, iheight = self._wList[i].GetSize()\r\n            self._wList[i].SetSize((cwidth, iheight))\r\n            if doRefresh is True:\r\n                self._wList[i].Refresh()\r\n            self.itemsHeight = iheight\r\n\r\n        # This is needed as under GTK wx does not emit scroll up/scroll down\r\n        # events, see issue #1909 for more info\r\n        if 'wxGTK' in wx.PlatformInfo:\r\n            self.SetScrollRate(0, self.itemsHeight)\r\n\r\n    def RemoveWidget(self, child):\r\n        child.Destroy()\r\n        self._wList.remove(child)\r\n\r\n    def RemoveAllChildren(self):\r\n        for widget in self._wList:\r\n            widget.Destroy()\r\n            # this forces the garbage collector to work properly by removing dangling references to objects which are still alive, otherwise widget cannot be gc-ed eventually causing GDI id exhaustion and crash\r\n            for i in widget.__dict__.keys():\r\n                widget.__dict__[i] =None\r\n            del widget\r\n\r\n        self.Scroll(0, 0)\r\n        self._wList = []\r\n"
  },
  {
    "path": "gui/builtinShipBrowser/pfStaticText.py",
    "content": "# coding: utf-8\r\n\r\nimport wx\r\nfrom logbook import Logger\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass PFStaticText(wx.Panel):\r\n    def __init__(self, parent, label=wx.EmptyString):\r\n        wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=parent.GetSize())\r\n        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n        text = wx.StaticText(self, wx.ID_ANY, label, wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTRE)\r\n        text.Wrap(-1)\r\n        mainSizer.Add(text, 1, wx.ALL, 10)\r\n        self.SetSizer(mainSizer)\r\n        self.Layout()\r\n\r\n    @staticmethod\r\n    def GetType():\r\n        return -1\r\n"
  },
  {
    "path": "gui/builtinShipBrowser/pfWidgetContainer.py",
    "content": "from gui.builtinShipBrowser.pfListPane import PFListPane\r\nimport gui.mainFrame\r\nimport gui.utils.anim as animUtils\r\n\r\n\r\nclass PFWidgetsContainer(PFListPane):\r\n    def __init__(self, parent):\r\n        PFListPane.__init__(self, parent)\r\n\r\n        self.anim = animUtils.LoadAnimation(self, label=\"\", size=(100, 12))\r\n        self.anim.Stop()\r\n        self.anim.Show(False)\r\n\r\n    def ShowLoading(self, mode=True):\r\n        if mode:\r\n            aweight, aheight = self.anim.GetSize()\r\n            cweight, cheight = self.GetSize()\r\n            ax = (cweight - aweight) / 2\r\n            ay = (cheight - aheight) / 2\r\n            self.anim.SetPosition((ax, ay))\r\n            self.anim.Show()\r\n            self.anim.Play()\r\n        else:\r\n            self.anim.Stop()\r\n            self.anim.Show(False)\r\n\r\n    def IsWidgetSelectedByContext(self, widget):\r\n        mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        stage = self.Parent.GetActiveStage()\r\n        fit = mainFrame.getActiveFit()\r\n        if stage == 3 or stage == 4:\r\n            if self._wList[widget].GetType() == 3:\r\n                if fit == self._wList[widget].fitID:\r\n                    return True\r\n        return False\r\n"
  },
  {
    "path": "gui/builtinShipBrowser/raceSelector.py",
    "content": "# coding: utf-8\r\n\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport gui.utils.anim_effects as animEffects\r\nimport gui.utils.color as colorUtils\r\nimport gui.utils.draw as drawUtils\r\nfrom .events import Stage2Selected\r\nfrom gui.bitmap_loader import BitmapLoader\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass RaceSelector(wx.Window):\r\n    def __init__(self, parent, id=wx.ID_ANY, label=\"\", pos=wx.DefaultPosition, size=wx.DefaultSize, style=0,\r\n                 layout=wx.VERTICAL, animate=False):\r\n        wx.Window.__init__(self, parent, id, pos=pos, size=size, style=style)\r\n\r\n        self.animTimerID = wx.NewId()\r\n        self.animTimer = wx.Timer(self, self.animTimerID)\r\n        self.animPeriod = 25\r\n        self.animDuration = 250\r\n        self.animStep = 0\r\n        self.maxWidth = 24\r\n        self.minWidth = 5 if animate else self.maxWidth\r\n        self.maxHeight = 24\r\n        self.minHeight = 10 if animate else self.maxHeight\r\n\r\n        self.direction = 0 if animate else 1\r\n        self.layout = layout\r\n        self.animate = animate\r\n\r\n        if layout == wx.VERTICAL:\r\n            self.SetSize(wx.Size(self.minWidth, -1))\r\n            self.SetMinSize(wx.Size(self.minWidth, -1))\r\n        else:\r\n            self.SetSize(wx.Size(-1, self.minHeight))\r\n            self.SetMinSize(wx.Size(-1, self.minHeight))\r\n\r\n        self.checkTimerID = wx.NewId()\r\n        self.checkTimer = wx.Timer(self, self.checkTimerID)\r\n        self.checkPeriod = 250\r\n        self.checkMaximize = True\r\n        self.shipBrowser = self.Parent\r\n        self.raceBmps = []\r\n        self.raceNames = []\r\n        self.hoveredItem = None\r\n\r\n        if layout == wx.VERTICAL:\r\n            self.buttonsBarPos = (4, 0)\r\n        else:\r\n            self.buttonsBarPos = (0, 4)\r\n\r\n        self.buttonsPadding = 4\r\n\r\n        if layout == wx.VERTICAL:\r\n            self.bmpArrow = BitmapLoader.getBitmap(\"down-arrow2\", \"gui\")\r\n        else:\r\n            self.bmpArrow = BitmapLoader.getBitmap(\"up-arrow2\", \"gui\")\r\n\r\n        # Make the bitmaps have the same color as window text\r\n\r\n        sysTextColour = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT)\r\n\r\n        img = self.bmpArrow.ConvertToImage()\r\n        if layout == wx.VERTICAL:\r\n            img = img.Rotate90(False)\r\n        img.Replace(0, 0, 0, sysTextColour[0], sysTextColour[1], sysTextColour[2])\r\n        if layout == wx.VERTICAL:\r\n            img = img.Scale(round(self.minWidth), 8, wx.IMAGE_QUALITY_HIGH)\r\n\r\n        self.bmpArrow = wx.Bitmap(img)\r\n\r\n        self.RebuildRaces(self.shipBrowser.RACE_ORDER)\r\n\r\n        self.Bind(wx.EVT_ENTER_WINDOW, self.OnWindowEnter)\r\n        self.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave)\r\n        self.Bind(wx.EVT_TIMER, self.OnTimer)\r\n        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnBackgroundErase)\r\n        self.Bind(wx.EVT_PAINT, self.OnPaint)\r\n        self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)\r\n        self.Bind(wx.EVT_MOTION, self.OnMouseMove)\r\n        self.Bind(wx.EVT_SIZE, self.OnSizeUpdate)\r\n\r\n        self.Layout()\r\n\r\n        self.SetBackgroundStyle(wx.BG_STYLE_PAINT)\r\n\r\n    def OnMouseMove(self, event):\r\n        mx, my = event.GetPosition()\r\n\r\n        location = self.HitTest(mx, my)\r\n        if location != self.hoveredItem:\r\n            self.hoveredItem = location\r\n            self.Refresh()\r\n            if location is not None:\r\n                self.SetCursor(wx.Cursor(wx.CURSOR_HAND))\r\n            else:\r\n                self.SetCursor(wx.Cursor(wx.CURSOR_ARROW))\r\n\r\n    def OnSizeUpdate(self, event):\r\n        self.CalcButtonsBarPos()\r\n\r\n        self.Refresh()\r\n\r\n        event.Skip()\r\n\r\n    def CalcButtonsBarPos(self):\r\n\r\n        if self.layout == wx.HORIZONTAL:\r\n            rect = self.GetRect()\r\n            width = 0\r\n            height = 0\r\n            for bmp in self.raceBmps:\r\n                width += bmp.GetWidth() + self.buttonsPadding\r\n                height = max(bmp.GetHeight(), height)\r\n\r\n            posx = (rect.width - width) / 2\r\n            posy = (rect.height - height) / 2\r\n\r\n            self.buttonsBarPos = (posx, posy)\r\n\r\n    def OnLeftUp(self, event):\r\n\r\n        mx, my = event.GetPosition()\r\n\r\n        toggle = self.HitTest(mx, my)\r\n\r\n        if toggle is not None:\r\n            self.Refresh()\r\n\r\n            self.shipBrowser.ToggleRacesFilter(self.raceNames[toggle])\r\n\r\n            stage = self.shipBrowser.GetActiveStage()\r\n\r\n            if stage == 2:\r\n                categoryID = self.shipBrowser.GetStageData(stage)\r\n                wx.PostEvent(self.shipBrowser, Stage2Selected(categoryID=categoryID, back=True))\r\n        event.Skip()\r\n\r\n    def HitTest(self, mx, my):\r\n        x, y = self.buttonsBarPos\r\n        padding = self.buttonsPadding\r\n\r\n        for bmp in self.raceBmps:\r\n            if (x < mx < x + bmp.GetWidth()) and (y < my < y + bmp.GetHeight()):\r\n                return self.raceBmps.index(bmp)\r\n            if self.layout == wx.VERTICAL:\r\n                y += bmp.GetHeight() + padding\r\n            else:\r\n                x += bmp.GetWidth() + padding\r\n\r\n        return None\r\n\r\n    def RebuildRaces(self, races):\r\n        self.raceBmps = []\r\n        for race in races:\r\n            if race:\r\n                self.raceBmps.append(BitmapLoader.getBitmap(\"race_%s_small\" % race, \"gui\"))\r\n        self.raceNames = races\r\n        self.CalcButtonsBarPos()\r\n        self.Refresh()\r\n\r\n    def OnBackgroundErase(self, event):\r\n        pass\r\n\r\n    def OnPaint(self, event):\r\n        rect = self.GetRect()\r\n\r\n        windowColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n        # bkColor = colorUtils.GetSuitable(windowColor, 0.1)\r\n        sepColor = colorUtils.GetSuitable(windowColor, 0.2)\r\n\r\n        mdc = wx.AutoBufferedPaintDC(self)\r\n\r\n        bkBitmap = drawUtils.RenderGradientBar(windowColor, rect.width, rect.height, 0.1, 0.1, 0.2, 2)\r\n        mdc.DrawBitmap(bkBitmap, 0, 0, True)\r\n\r\n        x, y = self.buttonsBarPos\r\n\r\n        if self.direction == 1:\r\n            for raceBmp in self.raceBmps:\r\n                dropShadow = drawUtils.CreateDropShadowBitmap(raceBmp, 0.2)\r\n\r\n                if self.shipBrowser.GetRaceFilterState(self.raceNames[self.raceBmps.index(raceBmp)]):\r\n                    bmp = raceBmp\r\n                else:\r\n                    img = raceBmp.ConvertToImage()\r\n                    if self.hoveredItem == self.raceBmps.index(raceBmp):\r\n                        img = img.AdjustChannels(1, 1, 1, 0.7)\r\n                    else:\r\n                        img = img.AdjustChannels(1, 1, 1, 0.4)\r\n                    bmp = wx.Bitmap(img)\r\n\r\n                if self.layout == wx.VERTICAL:\r\n                    mdc.DrawBitmap(dropShadow, round(rect.width - self.buttonsPadding - bmp.GetWidth() + 1), round(y + 1))\r\n                    mdc.DrawBitmap(bmp, round(rect.width - self.buttonsPadding - bmp.GetWidth()), round(y))\r\n                    y += raceBmp.GetHeight() + self.buttonsPadding\r\n                    mdc.SetPen(wx.Pen(sepColor, 1))\r\n                    mdc.DrawLine(rect.width - 1, 0, rect.width - 1, rect.height)\r\n                else:\r\n                    mdc.DrawBitmap(dropShadow, round(x + 1), round(self.buttonsPadding + 1))\r\n                    mdc.DrawBitmap(bmp, round(x), round(self.buttonsPadding))\r\n                    x += raceBmp.GetWidth() + self.buttonsPadding\r\n                    mdc.SetPen(wx.Pen(sepColor, 1))\r\n                    mdc.DrawLine(0, 0, rect.width, 0)\r\n\r\n        if self.direction < 1:\r\n            if self.layout == wx.VERTICAL:\r\n                mdc.DrawBitmap(self.bmpArrow, -2, round((rect.height - self.bmpArrow.GetHeight()) / 2))\r\n            else:\r\n                mdc.SetPen(wx.Pen(sepColor, 1))\r\n                mdc.DrawLine(0, 0, rect.width, 0)\r\n                mdc.DrawBitmap(self.bmpArrow, round((rect.width - self.bmpArrow.GetWidth()) / 2), -2)\r\n\r\n    def OnTimer(self, event):\r\n        if event.GetId() == self.animTimerID:\r\n            start = 0\r\n            if self.layout == wx.VERTICAL:\r\n                end = self.maxWidth - self.minWidth\r\n            else:\r\n                end = self.maxHeight - self.minHeight\r\n\r\n            step = animEffects.OUT_CIRC(self.animStep, start, end, self.animDuration)\r\n            self.animStep += self.animPeriod * self.direction\r\n\r\n            self.AdjustSize((self.minWidth if self.layout == wx.VERTICAL else self.minHeight) + step)\r\n\r\n            if self.animStep > self.animDuration or self.animStep < 0:\r\n                self.animTimer.Stop()\r\n                self.animStep = self.animDuration if self.direction == 1 else 0\r\n                self.Parent.GetBrowserContainer().RefreshList(True)\r\n\r\n        if event.GetId() == self.checkTimerID:\r\n            if self.checkMaximize:\r\n                self.direction = 1\r\n            else:\r\n                self.direction = -1\r\n\r\n            if not self.animTimer.IsRunning():\r\n                self.animTimer.Start(self.animPeriod)\r\n\r\n    def AdjustSize(self, delta):\r\n        self.SetMinSize(wx.Size(delta, -1) if self.layout == wx.VERTICAL else wx.Size(-1, delta))\r\n        self.Parent.Layout()\r\n        self.Refresh()\r\n\r\n    def OnWindowEnter(self, event):\r\n        if not self.animate:\r\n            return\r\n\r\n        if not self.checkTimer.IsRunning():\r\n            self.checkTimer.Start(self.checkPeriod, wx.TIMER_ONE_SHOT)\r\n        self.checkMaximize = True\r\n\r\n        event.Skip()\r\n\r\n    def OnWindowLeave(self, event):\r\n        if self.hoveredItem is not None:\r\n            self.hoveredItem = None\r\n            self.SetCursor(wx.Cursor(wx.CURSOR_ARROW))\r\n            self.Refresh()\r\n\r\n        if not self.animate:\r\n            return\r\n\r\n        if not self.checkTimer.IsRunning():\r\n            self.checkTimer.Start(self.checkPeriod, wx.TIMER_ONE_SHOT)\r\n        self.checkMaximize = False\r\n\r\n        event.Skip()\r\n"
  },
  {
    "path": "gui/builtinShipBrowser/sfBrowserItem.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\nimport gui.utils.draw as drawUtils\r\nimport gui.mainFrame\r\n\r\nSB_ITEM_NORMAL = 0\r\nSB_ITEM_SELECTED = 1\r\nSB_ITEM_HIGHLIGHTED = 2\r\nSB_ITEM_DISABLED = 4\r\n\r\nBTN_NORMAL = 1\r\nBTN_PRESSED = 2\r\nBTN_HOVER = 4\r\nBTN_DISABLED = 8\r\n\r\n\r\nclass PFBaseButton:\r\n    def __init__(self, normalBitmap=wx.NullBitmap, label=\"\", callback=None, hoverBitmap=None, disabledBitmap=None,\r\n                 show=True):\r\n\r\n        self.normalBmp = normalBitmap\r\n        self.dropShadowOpacity = 0.2\r\n        self.dropShadowBmp = drawUtils.CreateDropShadowBitmap(self.normalBmp, self.dropShadowOpacity)\r\n        self.hoverBmp = hoverBitmap\r\n        self.disabledBmp = disabledBitmap\r\n        self.label = label\r\n        self.show = show\r\n\r\n        self.callback = callback\r\n\r\n        self.state = BTN_NORMAL\r\n        # state : BTN_STUFF\r\n\r\n    def Show(self, show):\r\n        self.show = show\r\n\r\n    def Hide(self):\r\n        self.show = False\r\n\r\n    def IsVisible(self):\r\n        return self.show\r\n\r\n    def SetCallback(self, callback):\r\n        self.callback = callback\r\n\r\n    def GetCallback(self):\r\n        return self.callback\r\n\r\n    def DoCallback(self):\r\n        if self.callback:\r\n            self.callback()\r\n\r\n    def SetState(self, state=BTN_NORMAL):\r\n        self.state = state\r\n\r\n    def GetState(self):\r\n        return self.state\r\n\r\n    def GetSize(self):\r\n        w = self.normalBmp.GetWidth()\r\n        h = self.normalBmp.GetHeight()\r\n        return w, h\r\n\r\n    def GetBitmap(self):\r\n        return self.normalBmp\r\n\r\n    def SetBitmap(self, bitmap):\r\n        self.normalBmp = bitmap\r\n        self.dropShadowBmp = drawUtils.CreateDropShadowBitmap(self.normalBmp, self.dropShadowOpacity)\r\n\r\n    def GetLabel(self):\r\n        return self.label\r\n\r\n    def GetHoverBitmap(self):\r\n        if self.hoverBmp is None:\r\n            return self.normalBmp\r\n        return self.hoverBmp\r\n\r\n    def GetDisabledBitmap(self):\r\n        if self.disabledBmp is None:\r\n            return self.normalBmp\r\n        return self.disabledBmp\r\n\r\n    def GetDropShadowBitmap(self):\r\n        return self.dropShadowBmp\r\n\r\n\r\nclass PFToolbar:\r\n    def __init__(self, parent):\r\n        self.Parent = parent\r\n        self.buttons = []\r\n        self.toolbarX = 0\r\n        self.toolbarY = 0\r\n        self.padding = 2\r\n        self.hoverLabel = \"\"\r\n\r\n    def SetPosition(self, pos):\r\n        self.toolbarX, self.toolbarY = pos\r\n\r\n    def AddButton(self, btnBitmap, label=\"\", clickCallback=None, hoverBitmap=None, disabledBitmap=None, show=True):\r\n        btn = PFBaseButton(btnBitmap, label, clickCallback, hoverBitmap, disabledBitmap, show)\r\n        self.buttons.append(btn)\r\n        return btn\r\n\r\n    def ClearState(self):\r\n        for button in self.buttons:\r\n            button.SetState()\r\n        self.hoverLabel = \"\"\r\n\r\n    def MouseMove(self, event):\r\n        doRefresh = False\r\n        changeCursor = False\r\n        bx = self.toolbarX\r\n        self.hoverLabel = \"\"\r\n\r\n        for button in self.buttons:\r\n            if not button.IsVisible():\r\n                continue\r\n\r\n            state = button.GetState()\r\n            if self.HitTest((bx, self.toolbarY), event.GetPosition(), button.GetSize()):\r\n                changeCursor = True\r\n                if not state & BTN_HOVER:\r\n                    button.SetState(state | BTN_HOVER)\r\n                    self.hoverLabel = button.GetLabel()\r\n                    self.Parent.SetCursor(wx.Cursor(wx.CURSOR_HAND))\r\n                    doRefresh = True\r\n            else:\r\n                if state & BTN_HOVER:\r\n                    button.SetState(state ^ BTN_HOVER)\r\n                    doRefresh = True\r\n\r\n            bwidth, bheight = button.GetSize()\r\n            bx += bwidth + self.padding\r\n\r\n        if not changeCursor:\r\n            self.Parent.SetCursor(wx.Cursor(wx.CURSOR_ARROW))\r\n        return doRefresh\r\n\r\n    def MouseClick(self, event):\r\n        bx = self.toolbarX\r\n        for button in self.buttons:\r\n            if not button.IsVisible():\r\n                continue\r\n\r\n            state = button.GetState()\r\n            if state & BTN_PRESSED:\r\n                button.SetState(state ^ BTN_PRESSED)\r\n                if self.HitTest((bx, self.toolbarY), event.GetPosition(), button.GetSize()):\r\n                    return button\r\n                else:\r\n                    return False\r\n            bwidth, bheight = button.GetSize()\r\n            bx += bwidth + self.padding\r\n\r\n        bx = self.toolbarX\r\n        for button in self.buttons:\r\n            if not button.IsVisible():\r\n                continue\r\n\r\n            state = button.GetState()\r\n\r\n            if self.HitTest((bx, self.toolbarY), event.GetPosition(), button.GetSize()):\r\n\r\n                if event.LeftDown() or event.LeftDClick():\r\n                    button.SetState(state | BTN_PRESSED)\r\n                    return button\r\n\r\n                elif event.LeftUp():\r\n                    button.SetState(state | (not BTN_PRESSED))\r\n                    return button\r\n\r\n            bwidth, bheight = button.GetSize()\r\n            bx += bwidth + self.padding\r\n\r\n        return None\r\n\r\n    def GetWidth(self):\r\n        bx = 0\r\n        for button in self.buttons:\r\n            if not button.IsVisible():\r\n                continue\r\n\r\n            bwidth, bheight = button.GetSize()\r\n            bx += bwidth + self.padding\r\n\r\n        return bx\r\n\r\n    def GetHeight(self):\r\n        height = 0\r\n        for button in self.buttons:\r\n            if not button.IsVisible():\r\n                continue\r\n\r\n            bwidth, bheight = button.GetSize()\r\n            height = max(height, bheight)\r\n\r\n        return height\r\n\r\n    @staticmethod\r\n    def HitTest(target, position, area):\r\n        x, y = target\r\n        px, py = position\r\n        aX, aY = area\r\n        if (x < px < x + aX) and (y < py < y + aY):\r\n            return True\r\n        return False\r\n\r\n    def Render(self, pdc):\r\n        bx = self.toolbarX\r\n        for button in self.buttons:\r\n            if not button.IsVisible():\r\n                continue\r\n\r\n            by = self.toolbarY\r\n            tbx = bx\r\n\r\n            btnState = button.GetState()\r\n\r\n            bmp = button.GetDisabledBitmap()\r\n            dropShadowBmp = button.GetDropShadowBitmap()\r\n\r\n            if btnState & BTN_NORMAL:\r\n                bmp = button.GetBitmap()\r\n\r\n            if btnState & BTN_HOVER:\r\n                bmp = button.GetHoverBitmap()\r\n\r\n            if btnState & BTN_PRESSED:\r\n                bmp = button.GetBitmap()\r\n                by += self.padding / 2\r\n                tbx += self.padding / 2\r\n\r\n            bmpWidth = bmp.GetWidth()\r\n\r\n            pdc.DrawBitmap(dropShadowBmp, round(bx + self.padding / 2), round(self.toolbarY + self.padding / 2))\r\n            pdc.DrawBitmap(bmp, round(tbx), round(by))\r\n\r\n            bx += bmpWidth + self.padding\r\n\r\n\r\nclass SFBrowserItem(wx.Window):\r\n    def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=(0, 16), style=0):\r\n        wx.Window.__init__(self, parent, id, pos, size, style)\r\n        self.SetBackgroundStyle(wx.BG_STYLE_PAINT)\r\n        self.highlighted = False\r\n        self.selected = False\r\n        self.bkBitmap = None\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        self.canBeDragged = False\r\n\r\n        self.toolbar = PFToolbar(self)\r\n\r\n        self.Bind(wx.EVT_PAINT, self.OnPaint)\r\n        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)\r\n        self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)\r\n        self.Bind(wx.EVT_KEY_UP, self.OnKeyUp)\r\n\r\n        if \"wxMSW\" in wx.PlatformInfo:\r\n            self.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDown)\r\n\r\n        self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)\r\n        self.Bind(wx.EVT_ENTER_WINDOW, self.OnEnterWindow)\r\n        self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindow)\r\n        self.Bind(wx.EVT_MOTION, self.OnMotion)\r\n        self.Bind(wx.EVT_SET_FOCUS, self.OnFocus)\r\n        self.Bind(wx.EVT_KILL_FOCUS, self.OnKillFocus)\r\n\r\n    def OnFocus(self, evt):\r\n        self.SetHighlighted(True)\r\n        self.Refresh()\r\n        evt.Skip()\r\n\r\n    def OnKillFocus(self, evt):\r\n        self.SetHighlighted(False)\r\n        self.Refresh()\r\n        evt.Skip()\r\n\r\n    def Refresh(self):\r\n        self.RenderBackground()\r\n        wx.Window.Refresh(self)\r\n\r\n    def OnPaint(self, event):\r\n        mdc = wx.AutoBufferedPaintDC(self)\r\n\r\n        self.RenderBackground()\r\n\r\n        mdc.DrawBitmap(self.bkBitmap, 0, 0)\r\n\r\n        self.DrawItem(mdc)\r\n        self.toolbar.Render(mdc)\r\n\r\n    def DrawItem(self, mdc):\r\n        pass\r\n\r\n    def OnEraseBackground(self, event):\r\n        pass\r\n\r\n    def OnKeyUp(self, event):\r\n        pass\r\n\r\n    def MouseLeftUp(self, event):\r\n        pass\r\n\r\n    def MouseLeftDown(self, event):\r\n        pass\r\n\r\n    def MouseMove(self, event):\r\n        pass\r\n\r\n    def SetDraggable(self, mode=True):\r\n        self.canBeDragged = mode\r\n\r\n    def OnLeftUp(self, event):\r\n        if self.mainFrame.supress_left_up:\r\n            wx.Yield()\r\n            self.mainFrame.supress_left_up = False\r\n            return\r\n\r\n        if self.HasCapture():\r\n            self.ReleaseMouse()\r\n        if not self.canBeDragged:\r\n            mposx, mposy = wx.GetMousePosition()\r\n            rect = self.GetRect()\r\n            rect.top = rect.left = 0\r\n            cx, cy = self.ScreenToClient((mposx, mposy))\r\n            if not rect.Contains((cx, cy)):\r\n                self.SetHighlighted(False)\r\n                self.toolbar.ClearState()\r\n                self.Refresh()\r\n                return\r\n\r\n        btn = self.toolbar.MouseClick(event)\r\n\r\n        if btn is not None:\r\n            if btn is not False:\r\n                if btn.GetState() & BTN_NORMAL:\r\n                    btn.DoCallback()\r\n                    self.Refresh()\r\n            else:\r\n                self.Refresh()\r\n            return\r\n\r\n        self.MouseLeftUp(event)\r\n\r\n    def OnLeftDown(self, event):\r\n        if not self.HasCapture():\r\n            self.CaptureMouse()\r\n\r\n        btn = self.toolbar.MouseClick(event)\r\n\r\n        if btn is not None:\r\n            if btn.GetState() & BTN_PRESSED:\r\n                self.Refresh()\r\n            return\r\n\r\n        self.MouseLeftDown(event)\r\n\r\n    def OnEnterWindow(self, event):\r\n        self.SetHighlighted(True)\r\n        self.toolbar.ClearState()\r\n        self.Refresh()\r\n        event.Skip()\r\n\r\n    def OnLeaveWindow(self, event):\r\n        self.SetHighlighted(False)\r\n        self.toolbar.ClearState()\r\n        self.Refresh()\r\n        event.Skip()\r\n\r\n    def OnMotion(self, event):\r\n        if self.toolbar.MouseMove(event):\r\n            self.Refresh()\r\n\r\n        self.MouseMove(event)\r\n\r\n        event.Skip()\r\n\r\n    @staticmethod\r\n    def GetType():\r\n        return -1\r\n\r\n    def SetSelected(self, select=True):\r\n        self.selected = select\r\n\r\n    def SetHighlighted(self, highlight=True):\r\n        self.highlighted = highlight\r\n\r\n    def GetState(self):\r\n\r\n        if self.highlighted and not self.selected:\r\n            state = SB_ITEM_HIGHLIGHTED\r\n\r\n        elif self.selected:\r\n            if self.highlighted:\r\n                state = SB_ITEM_SELECTED | SB_ITEM_HIGHLIGHTED\r\n            else:\r\n                state = SB_ITEM_SELECTED\r\n        else:\r\n            state = SB_ITEM_NORMAL\r\n\r\n        return state\r\n\r\n    def RenderBackground(self):\r\n        rect = self.GetRect()\r\n\r\n        windowColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n\r\n        state = self.GetState()\r\n\r\n        sFactor = 0.2\r\n        mFactor = None\r\n        eFactor = 0\r\n\r\n        if state == SB_ITEM_HIGHLIGHTED:\r\n            mFactor = 0.45\r\n            eFactor = 0.30\r\n\r\n        elif state == SB_ITEM_SELECTED | SB_ITEM_HIGHLIGHTED:\r\n            eFactor = 0.3\r\n        elif state == SB_ITEM_SELECTED:\r\n            eFactor = 0.15\r\n        else:\r\n            sFactor = 0.0\r\n\r\n        if self.bkBitmap:\r\n            if self.bkBitmap.eFactor == eFactor and self.bkBitmap.sFactor == sFactor and self.bkBitmap.mFactor == mFactor \\\r\n                    and rect.width == self.bkBitmap.GetWidth() and rect.height == self.bkBitmap.GetHeight():\r\n                return\r\n            else:\r\n                del self.bkBitmap\r\n\r\n        self.bkBitmap = drawUtils.RenderGradientBar(windowColor, rect.width, rect.height, sFactor, eFactor, mFactor)\r\n        self.bkBitmap.state = state\r\n        self.bkBitmap.sFactor = sFactor\r\n        self.bkBitmap.eFactor = eFactor\r\n        self.bkBitmap.mFactor = mFactor\r\n"
  },
  {
    "path": "gui/builtinShipBrowser/shipItem.py",
    "content": "import re\r\n\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport gui.builtinShipBrowser.sfBrowserItem as SFItem\r\nimport gui.mainFrame\r\nimport gui.utils.color as colorUtils\r\nimport gui.utils.draw as drawUtils\r\nimport gui.utils.fonts as fonts\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.contextMenu import ContextMenu\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\nfrom .events import FitSelected, Stage3Selected\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\nclass ShipItem(SFItem.SFBrowserItem):\r\n\r\n    def __init__(self, parent, shipID=None, shipFittingInfo=(\"Test\", \"TestTrait\", 2), itemData=None, graphicID=None,\r\n                 id=wx.ID_ANY, pos=wx.DefaultPosition,\r\n                 size=(0, 40), style=0):\r\n        SFItem.SFBrowserItem.__init__(self, parent, size=size)\r\n\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        self._itemData = itemData\r\n\r\n        self.shipRace = itemData\r\n\r\n        self.shipID = shipID\r\n\r\n        self.fontBig = wx.Font(fonts.BIG, wx.SWISS, wx.NORMAL, wx.BOLD)\r\n        self.fontNormal = wx.Font(fonts.NORMAL, wx.SWISS, wx.NORMAL, wx.NORMAL)\r\n        self.fontSmall = wx.Font(fonts.SMALL, wx.SWISS, wx.NORMAL, wx.NORMAL)\r\n\r\n        self.shipBmp = None\r\n        if graphicID:\r\n            self.shipBmp = BitmapLoader.getBitmap(str(graphicID), \"renders\")\r\n        if not self.shipBmp:\r\n            self.shipBmp = BitmapLoader.getBitmap(\"ship_no_image_big\", \"gui\")\r\n\r\n        self.shipFittingInfo = shipFittingInfo\r\n        self.shipName, self.shipTrait, self.shipFits = shipFittingInfo\r\n        self.shipTrait = re.sub(\"<.*?>\", \" \", self.shipTrait)\r\n\r\n        self.newBmp = BitmapLoader.getBitmap(\"fit_add_small\", \"gui\")\r\n        self.acceptBmp = BitmapLoader.getBitmap(\"faccept_small\", \"gui\")\r\n\r\n        self.shipEffBk = BitmapLoader.getBitmap(\"fshipbk_big\", \"gui\")\r\n\r\n        img = self.shipEffBk.ConvertToImage()\r\n        img = img.Mirror(False)\r\n        self.shipEffBkMirrored = wx.Bitmap(img)\r\n\r\n        self.raceBmp = BitmapLoader.getBitmap(\"race_%s_small\" % self.shipRace, \"gui\")\r\n\r\n        if not self.raceBmp:\r\n            self.raceBmp = BitmapLoader.getBitmap(\"fit_delete_small\", \"gui\")\r\n\r\n        self.raceDropShadowBmp = drawUtils.CreateDropShadowBitmap(self.raceBmp, 0.2)\r\n\r\n        sFit = Fit.getInstance()\r\n        if self.shipTrait and sFit.serviceFittingOptions[\"showShipBrowserTooltip\"]:\r\n            self.SetToolTip(wx.ToolTip(self.shipTrait))\r\n\r\n        self.shipBrowser = self.Parent.Parent\r\n\r\n        self.editWidth = 150\r\n        self.padding = 4\r\n\r\n        self.tcFitName = wx.TextCtrl(self, wx.ID_ANY, \"%s fit\" % self.shipName, wx.DefaultPosition, (120, -1),\r\n                                     wx.TE_PROCESS_ENTER)\r\n        self.tcFitName.Show(False)\r\n\r\n        self.newBtn = self.toolbar.AddButton(self.newBmp, \"New\", self.newBtnCB)\r\n\r\n        self.tcFitName.Bind(wx.EVT_TEXT_ENTER, self.createNewFit)\r\n        self.tcFitName.Bind(wx.EVT_KILL_FOCUS, self.editLostFocus)\r\n        self.tcFitName.Bind(wx.EVT_KEY_DOWN, self.editCheckEsc)\r\n\r\n        self.animTimerId = wx.NewId()\r\n\r\n        self.animTimer = wx.Timer(self, self.animTimerId)\r\n        self.animStep = 0\r\n        self.animPeriod = 10\r\n        self.animDuration = 100\r\n\r\n        self.Bind(wx.EVT_CONTEXT_MENU, self.OnShowPopup)\r\n\r\n        self.marketInstance = Market.getInstance()\r\n        self.baseItem = self.marketInstance.getItem(self.shipID)\r\n\r\n        # =====================================================================\r\n        # DISABLED - it will be added as an option in PREFERENCES\r\n\r\n        self.animCount = 0\r\n\r\n        # if self.shipBrowser.GetActiveStage() != 4 and self.shipBrowser.GetLastStage() !=2:\r\n        #    self.Bind(wx.EVT_TIMER, self.OnTimer)\r\n        #    self.animTimer.Start(self.animPeriod)\r\n        # else:\r\n        #    self.animCount = 0\r\n        # =====================================================================\r\n\r\n    def OnShowPopup(self, event):\r\n        pos = event.GetPosition()\r\n        pos = self.ScreenToClient(pos)\r\n        contexts = [(\"baseShip\", _t(\"Ship Basic\"))]\r\n        menu = ContextMenu.getMenu(self, self.baseItem, (self.baseItem,), *contexts)\r\n        self.PopupMenu(menu, pos)\r\n\r\n    def OnTimer(self, event):\r\n        step = self.OUT_QUAD(self.animStep, 0, 10, self.animDuration)\r\n        self.animCount = 10 - step\r\n        self.animStep += self.animPeriod\r\n        if self.animStep > self.animDuration or self.animCount < 0:\r\n            self.animCount = 0\r\n            self.animTimer.Stop()\r\n        self.Refresh()\r\n\r\n    def OnKeyUp(self, event):\r\n        if event.GetKeyCode() in (32, 13):  # space and enter\r\n            self.selectShip(event)\r\n        event.Skip()\r\n\r\n    @staticmethod\r\n    def OUT_QUAD(t, b, c, d):\r\n        t = float(t)\r\n        b = float(b)\r\n        c = float(c)\r\n        d = float(d)\r\n\r\n        t /= d\r\n\r\n        return -c * t * (t - 2) + b\r\n\r\n    def GetType(self):\r\n        return 2\r\n\r\n    def selectShip(self, event):\r\n        if self.tcFitName.IsShown():\r\n            self.tcFitName.Show(False)\r\n            self.newBtn.SetBitmap(self.newBmp)\r\n            self.Refresh()\r\n        else:\r\n            shipName, shipTrait, fittings = self.shipFittingInfo\r\n            if fittings > 0:\r\n                wx.PostEvent(self.shipBrowser, Stage3Selected(shipID=self.shipID, back=True))\r\n            else:\r\n                self.newBtnCB()\r\n\r\n    def MouseLeftUp(self, event):\r\n        self.selectShip(event)\r\n\r\n    def newBtnCB(self):\r\n        if self.tcFitName.IsShown():\r\n            self.tcFitName.Show(False)\r\n            self.createNewFit()\r\n        else:\r\n            self.tcFitName.SetValue(\"%s fit\" % self.shipName)\r\n            self.tcFitName.Show()\r\n\r\n            self.tcFitName.SetFocus()\r\n            self.tcFitName.SelectAll()\r\n\r\n            self.newBtn.SetBitmap(self.acceptBmp)\r\n\r\n            self.Refresh()\r\n\r\n    def editLostFocus(self, event):\r\n        self.tcFitName.Show(False)\r\n        self.newBtn.SetBitmap(self.newBmp)\r\n        self.Refresh()\r\n\r\n    def editCheckEsc(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.tcFitName.Show(False)\r\n        else:\r\n            event.Skip()\r\n\r\n    def createNewFit(self, event=None):\r\n        self.tcFitName.Show(False)\r\n\r\n        sFit = Fit.getInstance()\r\n        fitID = sFit.newFit(self.shipID, self.tcFitName.GetValue())\r\n\r\n        wx.PostEvent(self.shipBrowser, Stage3Selected(shipID=self.shipID, back=False))\r\n        wx.PostEvent(self.mainFrame, FitSelected(fitID=fitID))\r\n\r\n    def UpdateElementsPos(self, mdc):\r\n        rect = self.GetRect()\r\n\r\n        self.toolbarx = rect.width - self.toolbar.GetWidth() - self.padding\r\n        self.toolbary = (rect.height - self.toolbar.GetHeight()) / 2\r\n\r\n        self.toolbarx += self.animCount\r\n\r\n        self.shipEffx = self.padding + (rect.height - self.shipEffBk.GetWidth()) / 2\r\n        self.shipEffy = (rect.height - self.shipEffBk.GetHeight()) / 2\r\n\r\n        self.shipEffx -= self.animCount\r\n\r\n        self.shipBmpx = self.padding + (rect.height - self.shipBmp.GetWidth()) / 2\r\n        self.shipBmpy = (rect.height - self.shipBmp.GetHeight()) / 2\r\n\r\n        self.shipBmpx -= self.animCount\r\n\r\n        self.raceBmpx = self.shipEffx + self.shipEffBk.GetWidth() + self.padding\r\n        self.raceBmpy = (rect.height - self.raceBmp.GetHeight()) / 2\r\n\r\n        self.textStartx = self.raceBmpx + self.raceBmp.GetWidth() + self.padding\r\n\r\n        self.shipNamey = (rect.height - self.shipBmp.GetHeight()) / 2\r\n\r\n        shipName, shipTrait, fittings = self.shipFittingInfo\r\n\r\n        mdc.SetFont(self.fontBig)\r\n        wtext, htext = mdc.GetTextExtent(shipName)\r\n\r\n        self.fittingsy = self.shipNamey + htext\r\n\r\n        mdc.SetFont(self.fontSmall)\r\n\r\n        wlabel, hlabel = mdc.GetTextExtent(self.toolbar.hoverLabel)\r\n\r\n        self.thoverx = self.toolbarx - self.padding - wlabel\r\n        self.thovery = (rect.height - hlabel) / 2\r\n        self.thoverw = wlabel\r\n\r\n    def DrawItem(self, mdc):\r\n        # rect = self.GetRect()\r\n\r\n        windowColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n        textColor = colorUtils.GetSuitable(windowColor, 1)\r\n\r\n        mdc.SetTextForeground(textColor)\r\n\r\n        self.UpdateElementsPos(mdc)\r\n\r\n        self.toolbar.SetPosition((self.toolbarx, self.toolbary))\r\n\r\n        if self.GetState() & SFItem.SB_ITEM_HIGHLIGHTED:\r\n            shipEffBk = self.shipEffBkMirrored\r\n        else:\r\n            shipEffBk = self.shipEffBk\r\n\r\n        mdc.DrawBitmap(shipEffBk, round(self.shipEffx), round(self.shipEffy), 0)\r\n\r\n        mdc.DrawBitmap(self.shipBmp, round(self.shipBmpx), round(self.shipBmpy), 0)\r\n\r\n        mdc.DrawBitmap(self.raceDropShadowBmp, round(self.raceBmpx + 1), round(self.raceBmpy + 1))\r\n        mdc.DrawBitmap(self.raceBmp, round(self.raceBmpx), round(self.raceBmpy))\r\n\r\n        shipName, shipTrait, fittings = self.shipFittingInfo\r\n\r\n        if fittings < 1:\r\n            fformat = \"No fits\"\r\n        elif fittings == 1:\r\n            fformat = \"%d fit\"\r\n        else:\r\n            fformat = \"%d fits\"\r\n\r\n        mdc.SetFont(self.fontNormal)\r\n        mdc.DrawText(fformat % fittings if fittings > 0 else fformat, round(self.textStartx), round(self.fittingsy))\r\n\r\n        mdc.SetFont(self.fontSmall)\r\n        mdc.DrawText(self.toolbar.hoverLabel, round(self.thoverx), round(self.thovery))\r\n\r\n        mdc.SetFont(self.fontBig)\r\n\r\n        psname = drawUtils.GetPartialText(mdc, shipName,\r\n                                          self.toolbarx - self.textStartx - self.padding * 2 - self.thoverw)\r\n\r\n        mdc.DrawText(psname, round(self.textStartx), round(self.shipNamey))\r\n\r\n        if self.tcFitName.IsShown():\r\n            self.AdjustControlSizePos(self.tcFitName, self.textStartx, self.toolbarx - self.editWidth - self.padding)\r\n\r\n    def AdjustControlSizePos(self, editCtl, start, end):\r\n        fnEditSize = editCtl.GetSize()\r\n        wSize = self.GetSize()\r\n        fnEditPosX = end\r\n        fnEditPosY = (wSize.height - fnEditSize.height) / 2\r\n        if fnEditPosX < start:\r\n            editCtl.SetSize((self.editWidth + fnEditPosX - start, -1))\r\n            editCtl.SetPosition((start, fnEditPosY))\r\n        else:\r\n            editCtl.SetSize((self.editWidth, -1))\r\n            editCtl.SetPosition((fnEditPosX, fnEditPosY))\r\n"
  },
  {
    "path": "gui/builtinStatsViews/__init__.py",
    "content": "__all__ = [\r\n    \"resourcesViewFull\",\r\n    \"resistancesViewFull\",\r\n    \"rechargeViewFull\",\r\n    \"firepowerViewFull\",\r\n    \"capacitorViewFull\",\r\n    \"outgoingViewFull\",\r\n    \"outgoingViewMinimal\",\r\n    \"targetingMiscViewMinimal\",\r\n    \"bombingViewFull\",\r\n    \"priceViewFull\",\r\n    \"priceViewMinimal\",\r\n]\r\n"
  },
  {
    "path": "gui/builtinStatsViews/bombingViewFull.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nimport math\r\n\r\nimport gui.mainFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.statsView import StatsView\r\nfrom eos.const import FittingModuleState\r\nfrom service.market import Market\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass BombingViewFull(StatsView):\r\n    name = \"bombingViewFull\"\r\n\r\n    def __init__(self, parent):\r\n        StatsView.__init__(self)\r\n        self.parent = parent\r\n        self._cachedValues = []\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def getHeaderText(self, fit):\r\n        return _t(\"Bombing\")\r\n\r\n    def getTextExtentW(self, text):\r\n        width, height = self.parent.GetTextExtent(text)\r\n        return width\r\n\r\n    def populatePanel(self, contentPanel, headerPanel):\r\n        contentSizer = contentPanel.GetSizer()\r\n        self.panel = contentPanel\r\n\r\n        self.headerPanel = headerPanel\r\n\r\n        # Display table\r\n        sizerBombing = wx.FlexGridSizer(7, 5, 0, 0)\r\n        for i in range(4):\r\n            sizerBombing.AddGrowableCol(i + 1)\r\n        contentSizer.Add(sizerBombing, 0, wx.EXPAND, 0)\r\n\r\n        # first row is for icons\r\n        bitmap = BitmapLoader.getStaticBitmap(\"skill_big\", contentPanel, \"gui\")\r\n        tooltip = wx.ToolTip(_t(\"Covert Ops level\"))\r\n        bitmap.SetToolTip(tooltip)\r\n        sizerBombing.Add(bitmap, 0, wx.ALIGN_CENTER)\r\n        toolTipText = {\r\n            \"em\": _t(\"Electron Bomb\"),\r\n            \"thermal\": _t(\"Scorch Bomb\"),\r\n            \"kinetic\": _t(\"Concussion Bomb\"),\r\n            \"explosive\": _t(\"Shrapnel Bomb\")\r\n        }\r\n        for damageType in (\"em\", \"thermal\", \"kinetic\", \"explosive\"):\r\n            bitmap = BitmapLoader.getStaticBitmap(\"%s_big\" % damageType, contentPanel, \"gui\")\r\n            tooltip = wx.ToolTip(toolTipText[damageType])\r\n            bitmap.SetToolTip(tooltip)\r\n            sizerBombing.Add(bitmap, 0, wx.ALIGN_CENTER)\r\n\r\n        # the other rows are for each possible level of Covert Ops skill\r\n        for covertLevel in (\"0\", \"1\", \"2\", \"3\", \"4\", \"5\"):\r\n            label = wx.StaticText(contentPanel, wx.ID_ANY, \"%s\" % covertLevel)\r\n            tooltip = wx.ToolTip(_t(\"Covert Ops level\"))\r\n            label.SetToolTip(tooltip)\r\n            sizerBombing.Add(label, 0, wx.ALIGN_CENTER)\r\n\r\n            for damageType in (\"em\", \"thermal\", \"kinetic\", \"explosive\"):\r\n                label = wx.StaticText(contentPanel, wx.ID_ANY, \"0.0\")\r\n                setattr(self, \"labelDamagetypeCovertlevel%s%s\" % (damageType.capitalize(), covertLevel), label)\r\n                sizerBombing.Add(label, 0, wx.ALIGN_CENTER)\r\n\r\n    def refreshPanel(self, fit):\r\n        # If we did anything interesting, we'd update our labels to reflect the new fit's stats here\r\n        if fit is None:\r\n            return\r\n\r\n        mkt = Market.getInstance()\r\n        emBomb = mkt.getItem(27920)\r\n        thermalBomb = mkt.getItem(27916)\r\n        kineticBomb = mkt.getItem(27912)\r\n        explosiveBomb = mkt.getItem(27918)\r\n        environementBombDamageModifier = 1.0\r\n\r\n        # list all environmental effects affecting bomb damage\r\n        relevantEffects = [\r\n            'Class 6 Red Giant Effects',\r\n            'Class 5 Red Giant Effects',\r\n            'Class 4 Red Giant Effects',\r\n            'Class 3 Red Giant Effects',\r\n            'Class 2 Red Giant Effects',\r\n            'Class 1 Red Giant Effects',\r\n        ]\r\n        for effect in fit.projectedModules:\r\n            if effect.state == FittingModuleState.ONLINE and effect.fullName in relevantEffects:\r\n                # note: despite the name, smartbombDamageMultiplier applies to the damage of launched bombs\r\n                environementBombDamageModifier = environementBombDamageModifier *\\\r\n                                                 effect.item.attributes['smartbombDamageMultiplier'].value\r\n\r\n        # signature radius of the current fit to calculate the application of bombs\r\n        shipSigRadius = fit.ship.getModifiedItemAttr('signatureRadius')\r\n\r\n        # get the raw values for all hp layers\r\n        hullHP = fit.ship.getModifiedItemAttr('hp')\r\n        armorHP = fit.ship.getModifiedItemAttr('armorHP')\r\n        shieldHP = fit.ship.getModifiedItemAttr('shieldCapacity')\r\n\r\n        # we calculate the total ehp for pure damage of all types based on raw hp and resonance (resonance= 1-resistance)\r\n        emEhp = hullHP / fit.ship.getModifiedItemAttr('emDamageResonance') +\\\r\n                armorHP / fit.ship.getModifiedItemAttr('armorEmDamageResonance') +\\\r\n                shieldHP / fit.ship.getModifiedItemAttr('shieldEmDamageResonance')\r\n        thermalEhp = hullHP / fit.ship.getModifiedItemAttr('thermalDamageResonance') +\\\r\n                armorHP / fit.ship.getModifiedItemAttr('armorThermalDamageResonance') +\\\r\n                shieldHP / fit.ship.getModifiedItemAttr('shieldThermalDamageResonance')\r\n        kineticEhp = hullHP / fit.ship.getModifiedItemAttr('kineticDamageResonance') +\\\r\n                armorHP / fit.ship.getModifiedItemAttr('armorKineticDamageResonance') +\\\r\n                shieldHP / fit.ship.getModifiedItemAttr('shieldKineticDamageResonance')\r\n        explosiveEhp = hullHP / fit.ship.getModifiedItemAttr('explosiveDamageResonance') +\\\r\n                armorHP / fit.ship.getModifiedItemAttr('armorExplosiveDamageResonance') +\\\r\n                shieldHP / fit.ship.getModifiedItemAttr('shieldExplosiveDamageResonance')\r\n\r\n        # updates the labels for each combination of covert op level and damage type\r\n        for covertLevel in (\"0\", \"1\", \"2\", \"3\", \"4\", \"5\"):\r\n            covertOpsBombDamageModifier = 1 + 0.05 * int(covertLevel)\r\n            for damageType, ehp, bomber, bomb in ((\"em\", emEhp, \"Purifier\", emBomb),\r\n                                                  (\"thermal\", thermalEhp, \"Nemesis\", thermalBomb),\r\n                                                  (\"kinetic\", kineticEhp, \"Manticore\", kineticBomb),\r\n                                                  (\"explosive\", explosiveEhp, \"Hound\", explosiveBomb)):\r\n                baseBombDamage = (bomb.attributes['emDamage'].value + bomb.attributes['thermalDamage'].value +\r\n                                  bomb.attributes['kineticDamage'].value + bomb.attributes['explosiveDamage'].value)\r\n                appliedBombDamage = baseBombDamage * covertOpsBombDamageModifier * environementBombDamageModifier * \\\r\n                                    (min(bomb.attributes['signatureRadius'].value, shipSigRadius) /\r\n                                     bomb.attributes['signatureRadius'].value)\r\n                label = getattr(self, \"labelDamagetypeCovertlevel%s%s\" % (damageType.capitalize(), covertLevel))\r\n                label.SetLabel(\"{:.1f}\".format(math.ceil((ehp / appliedBombDamage) * 10) / 10))\r\n                if covertLevel != \"0\":\r\n                    label.SetToolTip(\"Number of %s to kill a %s using a %s \"\r\n                                 \"with Covert Ops level %s\" % (bomb.customName, fit.name, bomber, covertLevel))\r\n                else:\r\n                    label.SetToolTip(\"Number of %s to kill a %s with Covert Ops level %s\" %\r\n                                     (bomb.customName, fit.name, covertLevel))\r\n\r\n\r\n        self.panel.Layout()\r\n        self.headerPanel.Layout()\r\n\r\n\r\nBombingViewFull.register()\r\n"
  },
  {
    "path": "gui/builtinStatsViews/capacitorViewFull.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom gui.statsView import StatsView\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount, roundToPrec\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass CapacitorViewFull(StatsView):\r\n    name = \"capacitorViewFull\"\r\n\r\n    def __init__(self, parent):\r\n        StatsView.__init__(self)\r\n        self.parent = parent\r\n\r\n    def getHeaderText(self, fit):\r\n        return _t(\"Capacitor\")\r\n\r\n    def getTextExtentW(self, text):\r\n        width, height = self.parent.GetTextExtent(text)\r\n        return width\r\n\r\n    def populatePanel(self, contentPanel, headerPanel):\r\n        contentSizer = contentPanel.GetSizer()\r\n        parent = self.panel = contentPanel\r\n        self.headerPanel = headerPanel\r\n\r\n        panel = \"full\"\r\n\r\n        sizerCapacitor = wx.GridSizer(1, 2, 0, 0)\r\n        contentSizer.Add(sizerCapacitor, 0, wx.EXPAND, 0)\r\n        # Capacitor capacity and time\r\n        baseBox = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        sizerCapacitor.Add(baseBox, 0, wx.ALIGN_LEFT)\r\n        bitmap = BitmapLoader.getStaticBitmap(\"capacitorInfo_big\", parent, \"gui\")\r\n        tooltip = wx.ToolTip(_t(\"Capacitor stability\"))\r\n        bitmap.SetToolTip(tooltip)\r\n        baseBox.Add(bitmap, 0, wx.ALIGN_CENTER)\r\n\r\n        box = wx.BoxSizer(wx.VERTICAL)\r\n        baseBox.Add(box, 0, wx.ALIGN_LEFT)\r\n\r\n        hbox = wx.BoxSizer(wx.HORIZONTAL)\r\n        box.Add(hbox, 0, wx.ALIGN_LEFT)\r\n\r\n        hbox.Add(wx.StaticText(parent, wx.ID_ANY, _t(\"Total: \")), 0, wx.ALIGN_LEFT | wx.LEFT, 3)\r\n        lbl = wx.StaticText(parent, wx.ID_ANY, \"0.0\")\r\n        setattr(self, \"label%sCapacitorCapacity\" % panel.capitalize(), lbl)\r\n        hbox.Add(lbl, 0, wx.ALIGN_LEFT)\r\n\r\n        hbox.Add(wx.StaticText(parent, wx.ID_ANY, \" GJ\"), 0, wx.ALIGN_LEFT)\r\n\r\n        hbox = wx.BoxSizer(wx.HORIZONTAL)\r\n        box.Add(hbox, 0, wx.ALIGN_LEFT)\r\n\r\n        lbl = wx.StaticText(parent, wx.ID_ANY, _t(\"Lasts \"))\r\n        hbox.Add(lbl, 0, wx.ALIGN_LEFT | wx.LEFT, 3)\r\n        setattr(self, \"label%sCapacitorState\" % panel.capitalize(), lbl)\r\n\r\n        lbl = wx.StaticText(parent, wx.ID_ANY, _t(\"0s\"))\r\n        setattr(self, \"label%sCapacitorTime\" % panel.capitalize(), lbl)\r\n        hbox.Add(lbl, 0, wx.ALIGN_LEFT)\r\n\r\n        # Capacitor balance\r\n        baseBox = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        sizerCapacitor.Add(baseBox, 0, wx.ALIGN_CENTER_HORIZONTAL)\r\n\r\n        tooltip = wx.ToolTip(_t(\"Extra stats\"))\r\n        bitmap = BitmapLoader.getStaticBitmap(\"capacitorRecharge_big\", parent, \"gui\")\r\n        bitmap.SetToolTip(tooltip)\r\n        baseBox.Add(bitmap, 0, wx.ALIGN_CENTER)\r\n\r\n        # Delta\r\n        chargeSizer = wx.BoxSizer(wx.VERTICAL)\r\n        baseBox.Add(chargeSizer, 0, wx.ALIGN_CENTER)\r\n\r\n        lbl = wx.StaticText(parent, wx.ID_ANY, \"0 GJ/s\")\r\n        setattr(self, \"label%sCapacitorDelta\" % panel.capitalize(), lbl)\r\n        chargeSizer.Add(lbl, 0, wx.ALIGN_CENTER)\r\n\r\n        # Resists\r\n        lbl = wx.StaticText(parent, wx.ID_ANY, \"0%\")\r\n        setattr(self, \"label%sCapacitorResist\" % panel.capitalize(), lbl)\r\n        chargeSizer.Add(lbl, 0, wx.ALIGN_CENTER)\r\n\r\n    def refreshPanel(self, fit):\r\n        # If we did anything intresting, we'd update our labels to reflect the new fit's stats here\r\n        stats = (\r\n            (\"label%sCapacitorCapacity\", lambda: fit.ship.getModifiedItemAttr(\"capacitorCapacity\"), 3, 0, 9, False, ''),\r\n            (\"label%sCapacitorDelta\", lambda: fit.capDelta, 3, 0, 0, True, ' GJ/s'),\r\n            (\"label%sCapacitorResist\", lambda: (1 - fit.ship.getModifiedItemAttr(\"energyWarfareResistance\", 1)) * 100, 3, 0, 0, False, '%'),\r\n        )\r\n        if fit is not None:\r\n            cap_amount = fit.ship.getModifiedItemAttr(\"capacitorCapacity\")\r\n            cap_recharge = fit.capRecharge\r\n            cap_use = fit.capUsed\r\n            neut_res = fit.ship.getModifiedItemAttr(\"energyWarfareResistance\", 1)\r\n        else:\r\n            cap_amount = 0\r\n            cap_recharge = 0\r\n            cap_use = 0\r\n            neut_res = 1\r\n\r\n        panel = \"Full\"\r\n        for labelName, value, prec, lowest, highest, forceSign, unit in stats:\r\n            label = getattr(self, labelName % panel)\r\n            value = value() if fit is not None else 0\r\n            value = value if value is not None else 0\r\n            if isinstance(value, str):\r\n                label.SetLabel(value)\r\n                label.SetToolTip(wx.ToolTip(value))\r\n            else:\r\n                label.SetLabel('{}{}'.format(formatAmount(value, prec, lowest, highest, forceSign=forceSign), unit))\r\n                label.SetToolTip(wx.ToolTip(\"%.1f\" % value))\r\n\r\n            if labelName == 'label%sCapacitorDelta' and (cap_recharge or cap_use):\r\n                lines = [_t('Capacitor delta:'),\r\n                         '  +{} GJ/s'.format(formatAmount(cap_recharge, 3, 0, 3)),\r\n                         '  -{} GJ/s'.format(formatAmount(cap_use, 3, 0, 3))]\r\n                delta = round(cap_recharge - cap_use, 3)\r\n                if delta > 0 and 0 < round(neut_res, 4) < 1:\r\n                    lines.append('')\r\n                    lines.append('Effective excessive gain:')\r\n                    lines.append('  +{} GJ/s'.format(formatAmount(delta / neut_res, 3, 0, 3)))\r\n                label.SetToolTip(wx.ToolTip('\\n'.join(lines)))\r\n            if labelName == 'label%sCapacitorResist':\r\n                texts = [_t('Neutralizer resistance')]\r\n                if cap_amount > 0 and 0 < round(neut_res, 4) < 1:\r\n                    texts.append(_t('Effective capacity') + ': {} GJ'.format(formatAmount(cap_amount / neut_res, 3, 0, 9)))\r\n                label.SetToolTip(wx.ToolTip('\\n'.join(texts)))\r\n\r\n        capState = fit.capState if fit is not None else 0\r\n        capStable = fit.capStable if fit is not None else False\r\n        lblNameTime = \"label%sCapacitorTime\"\r\n        lblNameState = \"label%sCapacitorState\"\r\n        if isinstance(capState, tuple) and len(capState) >= 2:\r\n            t = (\"{0}%-{1}%\", capState[0], capState[1])\r\n            s = \"\"\r\n        else:\r\n            if capStable:\r\n                t = \"%.1f%%\" % capState\r\n            else:\r\n                if capState > 60:\r\n                    t = \"%dm%ds\" % divmod(capState, 60)\r\n                else:\r\n                    t = \"%ds\" % capState\r\n\r\n            s = _t(\"Stable: \") if capStable else _t(\"Lasts \")\r\n\r\n        getattr(self, lblNameTime % panel).SetLabel(t)\r\n        getattr(self, lblNameState % panel).SetLabel(s)\r\n\r\n        self.panel.Layout()\r\n        self.headerPanel.Layout()\r\n\r\n\r\nCapacitorViewFull.register()\r\n"
  },
  {
    "path": "gui/builtinStatsViews/firepowerViewFull.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport eos.config\r\nimport gui.mainFrame\r\nfrom eos.utils.spoolSupport import SpoolOptions, SpoolType\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.statsView import StatsView\r\nfrom gui.utils.numberFormatter import formatAmount, roundToPrec\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass FirepowerViewFull(StatsView):\r\n    name = \"firepowerViewFull\"\r\n\r\n    def __init__(self, parent):\r\n        StatsView.__init__(self)\r\n        self.parent = parent\r\n        self._cachedValues = []\r\n\r\n    def getHeaderText(self, fit):\r\n        return _t(\"Firepower\")\r\n\r\n    def getTextExtentW(self, text):\r\n        width, height = self.parent.GetTextExtent(text)\r\n        return width\r\n\r\n    def populatePanel(self, contentPanel, headerPanel):\r\n        contentSizer = contentPanel.GetSizer()\r\n        parent = self.panel = contentPanel\r\n\r\n        self.headerPanel = headerPanel\r\n        hsizer = self.headerPanel.Parent.GetHeaderContentSizer()\r\n        self.stEff = wx.StaticText(self.headerPanel, wx.ID_ANY, \"( Effective )\")\r\n        hsizer.Insert(0, self.stEff)\r\n\r\n        panel = \"full\"\r\n\r\n        sizerFirepower = wx.FlexGridSizer(1, 4, 0, 0)\r\n        sizerFirepower.AddGrowableCol(1)\r\n\r\n        contentSizer.Add(sizerFirepower, 0, wx.EXPAND, 0)\r\n\r\n        counter = 0\r\n\r\n        for label, image, attr in ((_t(\"Weapon\"), \"turret\", \"Weapon\"), (_t(\"Drone\"), \"droneDPS\", \"Drone\")):\r\n            baseBox = wx.BoxSizer(wx.HORIZONTAL)\r\n            sizerFirepower.Add(baseBox, 1, wx.ALIGN_LEFT if counter == 0 else wx.ALIGN_CENTER_HORIZONTAL)\r\n\r\n            baseBox.Add(BitmapLoader.getStaticBitmap(\"%s_big\" % image, parent, \"gui\"), 0, wx.ALIGN_CENTER)\r\n\r\n            box = wx.BoxSizer(wx.VERTICAL)\r\n            baseBox.Add(box, 0, wx.ALIGN_CENTER)\r\n\r\n            box.Add(wx.StaticText(parent, wx.ID_ANY, label), 0, wx.ALIGN_LEFT)\r\n\r\n            hbox = wx.BoxSizer(wx.HORIZONTAL)\r\n            box.Add(hbox, 1, wx.ALIGN_CENTER)\r\n\r\n            lbl = wx.StaticText(parent, wx.ID_ANY, \"0.0 DPS\")\r\n            setattr(self, \"label%sDps%s\" % (panel.capitalize(), attr), lbl)\r\n\r\n            hbox.Add(lbl, 0, wx.ALIGN_CENTER)\r\n            self._cachedValues.append(0)\r\n            counter += 1\r\n        targetSizer = sizerFirepower\r\n\r\n        baseBox = wx.BoxSizer(wx.HORIZONTAL)\r\n        targetSizer.Add(baseBox, 0, wx.ALIGN_RIGHT)\r\n\r\n        baseBox.Add(BitmapLoader.getStaticBitmap(\"volley_big\", parent, \"gui\"), 0, wx.ALIGN_CENTER)\r\n\r\n        gridS = wx.GridSizer(2, 2, 0, 0)\r\n\r\n        baseBox.Add(gridS, 0)\r\n\r\n        lbl = wx.StaticText(parent, wx.ID_ANY, \"0.0\")\r\n        setattr(self, \"label%sVolleyTotal\" % panel.capitalize(), lbl)\r\n        gridS.Add(wx.StaticText(parent, wx.ID_ANY, _t(\" Volley: \")), 0, wx.ALL | wx.ALIGN_RIGHT)\r\n        gridS.Add(lbl, 0, wx.ALIGN_LEFT)\r\n\r\n        self._cachedValues.append(0)\r\n\r\n        lbl = wx.StaticText(parent, wx.ID_ANY, \"0.0\")\r\n        setattr(self, \"label%sDpsTotal\" % panel.capitalize(), lbl)\r\n        gridS.Add(wx.StaticText(parent, wx.ID_ANY, _t(\" DPS: \")), 0, wx.ALL | wx.ALIGN_RIGHT)\r\n\r\n        self._cachedValues.append(0)\r\n\r\n        gridS.Add(lbl, 0, wx.ALIGN_LEFT)\r\n\r\n        image = BitmapLoader.getBitmap(\"mining_small\", \"gui\")\r\n        self.miningyield = wx.BitmapButton(contentPanel, -1, image)\r\n        self.miningyield.SetToolTip(wx.ToolTip(_t(\"Click to toggle to Mining Yield\")))\r\n        self.miningyield.Bind(wx.EVT_BUTTON, self.switchToMiningYieldView)\r\n        sizerFirepower.Add(self.miningyield, 0, wx.ALIGN_LEFT)\r\n\r\n        self._cachedValues.append(0)\r\n\r\n    def switchToMiningYieldView(self, event):\r\n        # Getting the active fit\r\n        mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(mainFrame.getActiveFit())\r\n        # Remove ourselves from statsPane's view list\r\n        self.parent.views.remove(self)\r\n        self._cachedValues = []\r\n        # And no longer display us\r\n        self.panel.GetSizer().Clear(True)\r\n        self.panel.GetSizer().Layout()\r\n\r\n        # Remove effective label\r\n        hsizer = self.headerPanel.Parent.GetHeaderContentSizer()\r\n        for i, c in enumerate(hsizer.Children):\r\n            if c.GetWindow() is self.stEff:\r\n                hsizer.Remove(i)\r\n                self.stEff.Destroy()\r\n                break\r\n\r\n        # Get the new view\r\n        view = StatsView.getView(\"miningyieldViewFull\")(self.parent)\r\n        view.populatePanel(self.panel, self.headerPanel)\r\n        # Populate us in statsPane's view list\r\n        self.parent.views.append(view)\r\n        # Get the TogglePanel\r\n        tp = self.panel.GetParent()\r\n        tp.SetLabel(view.getHeaderText(fit))\r\n        view.refreshPanel(fit)\r\n\r\n    def refreshPanel(self, fit):\r\n        # If we did anything intresting, we'd update our labels to reflect the new fit's stats here\r\n        if fit is not None and fit.targetProfile is not None:\r\n            self.stEff.Show()\r\n        else:\r\n            self.stEff.Hide()\r\n\r\n        def hasSpoolUp(preSpool, fullSpool):\r\n            if preSpool is None or fullSpool is None:\r\n                return False\r\n            return roundToPrec(preSpool.total, prec) != roundToPrec(fullSpool.total, prec)\r\n\r\n        def dpsToolTip(normal, preSpool, fullSpool, prec, lowest, highest):\r\n            if normal is None or preSpool is None or fullSpool is None:\r\n                return \"\"\r\n            hasSpool = hasSpoolUp(preSpool, fullSpool)\r\n            lines = []\r\n            if hasSpool:\r\n                lines.append(_t(\"Spool up\") + \": {}-{}\".format(\r\n                        formatAmount(preSpool.total, prec, lowest, highest),\r\n                        formatAmount(fullSpool.total, prec, lowest, highest)))\r\n            if getattr(normal, 'total', None):\r\n                if hasSpool:\r\n                    lines.append(\"\")\r\n                    lines.append(_t(\"Current\") + \": {}\".format(formatAmount(normal.total, prec, lowest, highest)))\r\n                for dmgType in normal.names(includePure=True):\r\n                    val = getattr(normal, dmgType, None)\r\n                    if val:\r\n                        lines.append(\"{}{}: {}%\".format(\r\n                                \"  \" if hasSpool else \"\",\r\n                                _t(dmgType).capitalize(),\r\n                                formatAmount(val / normal.total * 100, 3, 0, 0)))\r\n            return \"\\n\".join(lines)\r\n\r\n        defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n        stats = (\r\n            (\r\n                \"labelFullDpsWeapon\",\r\n                lambda: fit.getWeaponDps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False)),\r\n                lambda: fit.getWeaponDps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 0, True)),\r\n                lambda: fit.getWeaponDps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 1, True)),\r\n                3, 0, 0, \"{}{} DPS\"),\r\n            (\r\n                \"labelFullDpsDrone\",\r\n                lambda: fit.getDroneDps(),\r\n                lambda: fit.getDroneDps(),\r\n                lambda: fit.getDroneDps(),\r\n                3, 0, 0, \"{}{} DPS\"),\r\n            (\r\n                \"labelFullVolleyTotal\",\r\n                lambda: fit.getTotalVolley(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False)),\r\n                lambda: fit.getTotalVolley(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 0, True)),\r\n                lambda: fit.getTotalVolley(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 1, True)),\r\n                3, 0, 0, \"{}{}\"),\r\n            (\r\n                \"labelFullDpsTotal\",\r\n                lambda: fit.getTotalDps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False)),\r\n                lambda: fit.getTotalDps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 0, True)),\r\n                lambda: fit.getTotalDps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 1, True)),\r\n                3, 0, 0, \"{}{}\"))\r\n\r\n        counter = 0\r\n        for labelName, val, preSpoolVal, fullSpoolVal, prec, lowest, highest, valueFormat in stats:\r\n            label = getattr(self, labelName)\r\n            val = val() if fit is not None else None\r\n            preSpoolVal = preSpoolVal() if fit is not None else None\r\n            fullSpoolVal = fullSpoolVal() if fit is not None else None\r\n            if self._cachedValues[counter] != getattr(val, 'total', None):\r\n                tooltipText = dpsToolTip(val, preSpoolVal, fullSpoolVal, prec, lowest, highest)\r\n                label.SetLabel(valueFormat.format(\r\n                        formatAmount(0 if val is None else val.total, prec, lowest, highest),\r\n                        \"\\u02e2\" if hasSpoolUp(preSpoolVal, fullSpoolVal) else \"\"))\r\n                label.SetToolTip(wx.ToolTip(tooltipText))\r\n                self._cachedValues[counter] = getattr(val, 'total', None)\r\n            counter += 1\r\n\r\n        self.panel.Layout()\r\n        self.headerPanel.Layout()\r\n\r\n\r\nFirepowerViewFull.register()\r\n"
  },
  {
    "path": "gui/builtinStatsViews/miningyieldViewFull.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Alexandros Kosiaris\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nimport gui.mainFrame\r\nfrom gui.statsView import StatsView\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\nclass MiningYieldViewFull(StatsView):\r\n    name = \"miningyieldViewFull\"\r\n\r\n    def __init__(self, parent):\r\n        StatsView.__init__(self)\r\n        self.parent = parent\r\n        self._cachedValues = []\r\n\r\n    def getHeaderText(self, fit):\r\n        return _t(\"Mining Yield\")\r\n\r\n    def getTextExtentW(self, text):\r\n        width, height = self.parent.GetTextExtent(text)\r\n        return width\r\n\r\n    def populatePanel(self, contentPanel, headerPanel):\r\n        contentSizer = contentPanel.GetSizer()\r\n        parent = self.panel = contentPanel\r\n        self.headerPanel = headerPanel\r\n\r\n        panel = \"full\"\r\n\r\n        sizerMiningYield = wx.FlexGridSizer(1, 4, 0, 0)\r\n        sizerMiningYield.AddGrowableCol(1)\r\n\r\n        contentSizer.Add(sizerMiningYield, 0, wx.EXPAND, 0)\r\n\r\n        counter = 0\r\n\r\n        for miningType, image in ((\"miner\", \"mining\"), (\"drone\", \"drones\")):\r\n            baseBox = wx.BoxSizer(wx.HORIZONTAL)\r\n            sizerMiningYield.Add(baseBox, 1, wx.ALIGN_LEFT if counter == 0 else wx.ALIGN_CENTER_HORIZONTAL)\r\n\r\n            baseBox.Add(BitmapLoader.getStaticBitmap(\"%s_big\" % image, parent, \"gui\"), 0, wx.ALIGN_CENTER)\r\n\r\n            box = wx.BoxSizer(wx.VERTICAL)\r\n            baseBox.Add(box, 0, wx.ALIGN_CENTER)\r\n\r\n            box.Add(wx.StaticText(parent, wx.ID_ANY, _t(miningType).capitalize()), 0, wx.ALIGN_LEFT)\r\n\r\n            hbox = wx.BoxSizer(wx.HORIZONTAL)\r\n            box.Add(hbox, 1, wx.ALIGN_CENTER)\r\n\r\n            lbl = wx.StaticText(parent, wx.ID_ANY, \"0.0 m\\u00B3/s\")\r\n            setattr(self, \"label%sminingyield%s\" % (panel.capitalize(), miningType.capitalize()), lbl)\r\n\r\n            hbox.Add(lbl, 0, wx.ALIGN_CENTER)\r\n            self._cachedValues.append(0)\r\n            counter += 1\r\n        targetSizer = sizerMiningYield\r\n\r\n        baseBox = wx.BoxSizer(wx.HORIZONTAL)\r\n        targetSizer.Add(baseBox, 0, wx.ALIGN_LEFT)\r\n\r\n        baseBox.Add(BitmapLoader.getStaticBitmap(\"cargoBay_big\", parent, \"gui\"), 0, wx.ALIGN_CENTER)\r\n\r\n        box = wx.BoxSizer(wx.VERTICAL)\r\n        baseBox.Add(box, 0, wx.EXPAND)\r\n\r\n        box.Add(wx.StaticText(parent, wx.ID_ANY, _t(\"Total\")), 0, wx.ALIGN_LEFT)\r\n\r\n        hbox = wx.BoxSizer(wx.HORIZONTAL)\r\n        box.Add(hbox, 1, wx.EXPAND)\r\n\r\n        lbl = wx.StaticText(parent, wx.ID_ANY, \"0.0 m\\u00B3/s\")\r\n        setattr(self, \"label%sminingyieldTotal\" % panel.capitalize(), lbl)\r\n        hbox.Add(lbl, 0, wx.ALIGN_LEFT)\r\n\r\n        self._cachedValues.append(0)\r\n\r\n        image = BitmapLoader.getBitmap(\"turret_small\", \"gui\")\r\n        firepower = wx.BitmapButton(contentPanel, -1, image)\r\n        firepower.SetToolTip(wx.ToolTip(_t(\"Click to toggle to Firepower View\")))\r\n        firepower.Bind(wx.EVT_BUTTON, self.switchToFirepowerView)\r\n        sizerMiningYield.Add(firepower, 0, wx.ALIGN_LEFT)\r\n\r\n        self._cachedValues.append(0)\r\n\r\n    def switchToFirepowerView(self, event):\r\n        # Getting the active fit\r\n        mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(mainFrame.getActiveFit())\r\n        # Remove ourselves from statsPane's view list\r\n        self.parent.views.remove(self)\r\n        self._cachedValues = []\r\n        # And no longer display us\r\n        self.panel.GetSizer().Clear(True)\r\n        self.panel.GetSizer().Layout()\r\n        # Get the new view\r\n        view = StatsView.getView(\"firepowerViewFull\")(self.parent)\r\n        view.populatePanel(self.panel, self.headerPanel)\r\n        # Populate us in statsPane's view list\r\n        self.parent.views.append(view)\r\n        # Get the TogglePanel\r\n        tp = self.panel.GetParent()\r\n        # Bind the new panel's children to allow context menu access\r\n        tp.SetLabel(view.getHeaderText(fit))\r\n        view.refreshPanel(fit)\r\n\r\n    def refreshPanel(self, fit):\r\n        # If we did anything intresting, we'd update our labels to reflect the new fit's stats here\r\n\r\n        stats = ((\"labelFullminingyieldMiner\", lambda: fit.minerYield, lambda: fit.minerDrain, 3, 0, 0, \"{} m\\u00B3/s\", None),\r\n                 (\"labelFullminingyieldDrone\", lambda: fit.droneYield, lambda: fit.droneDrain, 3, 0, 0, \"{} m\\u00B3/s\", None),\r\n                 (\"labelFullminingyieldTotal\", lambda: fit.totalYield, lambda: fit.totalDrain, 3, 0, 0, \"{} m\\u00B3/s\", None))\r\n\r\n        def processValue(value):\r\n            value = value() if fit is not None else 0\r\n            value = value if value is not None else 0\r\n            return value\r\n\r\n        counter = 0\r\n        for labelName, yieldValue, drainValue, prec, lowest, highest, valueFormat, altFormat in stats:\r\n            label = getattr(self, labelName)\r\n            yieldValue = processValue(yieldValue)\r\n            drainValue = processValue(drainValue)\r\n            if self._cachedValues[counter] != (yieldValue, drainValue):\r\n                try:\r\n                    efficiency = '{}%'.format(formatAmount(yieldValue / drainValue * 100, 4, 0, 0))\r\n                except ZeroDivisionError:\r\n                    efficiency = '0%'\r\n                yps = formatAmount(yieldValue, prec, lowest, highest)\r\n                yph = formatAmount(yieldValue * 3600, prec, lowest, highest)\r\n                dps = formatAmount(drainValue, prec, lowest, highest)\r\n                dph = formatAmount(drainValue * 3600, prec, lowest, highest)\r\n                label.SetLabel(valueFormat.format(yps))\r\n                tipLines = []\r\n                tipLines.append(\"{} m\\u00B3 yield per second ({} m\\u00B3 per hour)\".format(yps, yph))\r\n                tipLines.append(\"{} m\\u00B3 drain per second ({} m\\u00B3 per hour)\".format(dps, dph))\r\n                tipLines.append(f'{efficiency} efficiency')\r\n                label.SetToolTip(wx.ToolTip('\\n'.join(tipLines)))\r\n                self._cachedValues[counter] = (yieldValue, drainValue)\r\n            counter += 1\r\n        self.panel.Layout()\r\n        self.headerPanel.Layout()\r\n\r\n\r\nMiningYieldViewFull.register()\r\n"
  },
  {
    "path": "gui/builtinStatsViews/outgoingViewFull.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2014 Alexandros Kosiaris\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom gui.statsView import StatsView\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount, roundToPrec\r\nfrom eos.utils.spoolSupport import SpoolType, SpoolOptions\r\nimport eos.config\r\n\r\n_t = wx.GetTranslation\r\n\r\nstats = [\r\n    (\r\n        \"labelRemoteCapacitor\", \"Capacitor:\", \"{}{} GJ/s\", \"capacitorInfo\", _t(\"Capacitor restored\"),\r\n        lambda fit, spool: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, spool, False)).capacitor,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 0, True)).capacitor,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 1, True)).capacitor,\r\n        3, 0, 0),\r\n    (\r\n        \"labelRemoteShield\", \"Shield:\", \"{}{} HP/s\", \"shieldActive\", _t(\"Shield restored\"),\r\n        lambda fit, spool: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, spool, False)).shield,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 0, True)).shield,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 1, True)).shield,\r\n        3, 0, 0),\r\n    (\r\n        \"labelRemoteArmor\", \"Armor:\", \"{}{} HP/s\", \"armorActive\", _t(\"Armor restored\"),\r\n        lambda fit, spool: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, spool, False)).armor,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 0, True)).armor,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 1, True)).armor,\r\n        3, 0, 0),\r\n    (\r\n        \"labelRemoteHull\", \"Hull:\", \"{}{} HP/s\", \"hullActive\", _t(\"Hull restored\"),\r\n        lambda fit, spool: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, spool, False)).hull,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 0, True)).hull,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 1, True)).hull,\r\n        3, 0, 0)]\r\n\r\n\r\nclass OutgoingViewFull(StatsView):\r\n    name = \"outgoingViewFull\"\r\n\r\n    def __init__(self, parent):\r\n        StatsView.__init__(self)\r\n        self.parent = parent\r\n        self._cachedValues = []\r\n\r\n    def getHeaderText(self, fit):\r\n        return _t(\"Remote Reps\")\r\n\r\n    def getTextExtentW(self, text):\r\n        width, height = self.parent.GetTextExtent(text)\r\n        return width\r\n\r\n    def populatePanel(self, contentPanel, headerPanel):\r\n        contentSizer = contentPanel.GetSizer()\r\n        parent = self.panel = contentPanel\r\n        self.headerPanel = headerPanel\r\n\r\n        sizerOutgoing = wx.GridSizer(1, 4, 0, 0)\r\n\r\n        contentSizer.Add(sizerOutgoing, 0, wx.EXPAND, 0)\r\n\r\n        for labelName, labelDesc, valueFormat, image, tooltip, val, preSpoolVal, fullSpoolVal, prec, lowest, highest in stats:\r\n            baseBox = wx.BoxSizer(wx.VERTICAL)\r\n\r\n            baseBox.Add(BitmapLoader.getStaticBitmap(\"%s_big\" % image, parent, \"gui\"), 0, wx.ALIGN_CENTER)\r\n\r\n            lbl = wx.StaticText(parent, wx.ID_ANY, valueFormat.format(0, \"\"))\r\n            lbl.SetToolTip(wx.ToolTip(tooltip))\r\n            setattr(self, labelName, lbl)\r\n\r\n            baseBox.Add(lbl, 0, wx.ALIGN_CENTER)\r\n            self._cachedValues.append(0)\r\n\r\n            sizerOutgoing.Add(baseBox, 1, wx.ALIGN_LEFT)\r\n\r\n    def refreshPanel(self, fit):\r\n\r\n        def formatTooltip(text, preSpool, fullSpool, prec, lowest, highest):\r\n            if roundToPrec(preSpool, prec) == roundToPrec(fullSpool, prec):\r\n                return False, text\r\n            else:\r\n                return True, \"{}\\nSpool up: {}-{}\".format(\r\n                    text,\r\n                    formatAmount(preSpool, prec, lowest, highest),\r\n                    formatAmount(fullSpool, prec, lowest, highest))\r\n\r\n        defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n        counter = 0\r\n        for labelName, labelDesc, valueFormat, image, tooltip, val, preSpoolVal, fullSpoolVal, prec, lowest, highest in stats:\r\n            label = getattr(self, labelName)\r\n            val = val(fit, defaultSpoolValue) if fit is not None else 0\r\n            preSpoolVal = preSpoolVal(fit) if fit is not None else 0\r\n            fullSpoolVal = fullSpoolVal(fit) if fit is not None else 0\r\n            if self._cachedValues[counter] != val:\r\n                hasSpool, tooltipText = formatTooltip(tooltip, preSpoolVal, fullSpoolVal, prec, lowest, highest)\r\n                label.SetLabel(valueFormat.format(\r\n                    formatAmount(val, prec, lowest, highest),\r\n                    \"\\u02e2\" if hasSpool else \"\"))\r\n                label.SetToolTip(wx.ToolTip(tooltipText))\r\n                self._cachedValues[counter] = val\r\n            counter += 1\r\n        self.panel.Layout()\r\n        self.headerPanel.Layout()\r\n\r\n\r\nOutgoingViewFull.register()\r\n"
  },
  {
    "path": "gui/builtinStatsViews/outgoingViewMinimal.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2014 Alexandros Kosiaris\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom gui.statsView import StatsView\r\nfrom gui.utils.numberFormatter import formatAmount, roundToPrec\r\nfrom eos.utils.spoolSupport import SpoolType, SpoolOptions\r\nimport eos.config\r\n\r\n_t = wx.GetTranslation\r\n\r\nstats = [\r\n    (\r\n        \"labelRemoteCapacitor\", \"Capacitor:\", \"{}{} GJ/s\", \"capacitorInfo\", _t(\"Capacitor restored\"),\r\n        lambda fit, spool: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, spool, False)).capacitor,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 0, True)).capacitor,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 1, True)).capacitor,\r\n        3, 0, 0),\r\n    (\r\n        \"labelRemoteShield\", \"Shield:\", \"{}{} HP/s\", \"shieldActive\", _t(\"Shield restored\"),\r\n        lambda fit, spool: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, spool, False)).shield,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 0, True)).shield,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 1, True)).shield,\r\n        3, 0, 0),\r\n    (\r\n        \"labelRemoteArmor\", \"Armor:\", \"{}{} HP/s\", \"armorActive\", _t(\"Armor restored\"),\r\n        lambda fit, spool: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, spool, False)).armor,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 0, True)).armor,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 1, True)).armor,\r\n        3, 0, 0),\r\n    (\r\n        \"labelRemoteHull\", \"Hull:\", \"{}{} HP/s\", \"hullActive\", _t(\"Hull restored\"),\r\n        lambda fit, spool: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, spool, False)).hull,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 0, True)).hull,\r\n        lambda fit: fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, 1, True)).hull,\r\n        3, 0, 0)]\r\n\r\n\r\nclass OutgoingViewMinimal(StatsView):\r\n    name = \"outgoingViewMinimal\"\r\n\r\n    def __init__(self, parent):\r\n        StatsView.__init__(self)\r\n        self.parent = parent\r\n        self._cachedValues = []\r\n\r\n    def getHeaderText(self, fit):\r\n        return _t(\"Remote Reps\")\r\n\r\n    def getTextExtentW(self, text):\r\n        width, height = self.parent.GetTextExtent(text)\r\n        return width\r\n\r\n    def populatePanel(self, contentPanel, headerPanel):\r\n        contentSizer = contentPanel.GetSizer()\r\n        parent = self.panel = contentPanel\r\n        self.headerPanel = headerPanel\r\n\r\n        sizerOutgoing = wx.GridSizer(1, 4, 0, 0)\r\n\r\n        contentSizer.Add(sizerOutgoing, 0, wx.EXPAND, 0)\r\n\r\n        for labelName, labelDesc, valueFormat, image, tooltip, val, preSpoolVal, fullSpoolVal, prec, lowest, highest in stats:\r\n            baseBox = wx.BoxSizer(wx.VERTICAL)\r\n\r\n            baseBox.Add(wx.StaticText(contentPanel, wx.ID_ANY, labelDesc), 0, wx.ALIGN_CENTER)\r\n\r\n            lbl = wx.StaticText(parent, wx.ID_ANY, valueFormat.format(0, \"\"))\r\n            lbl.SetToolTip(wx.ToolTip(tooltip))\r\n            setattr(self, labelName, lbl)\r\n\r\n            baseBox.Add(lbl, 0, wx.ALIGN_CENTER)\r\n            self._cachedValues.append(0)\r\n\r\n            sizerOutgoing.Add(baseBox, 1, wx.ALIGN_LEFT)\r\n\r\n    def refreshPanel(self, fit):\r\n\r\n        def formatTooltip(text, preSpool, fullSpool, prec, lowest, highest):\r\n            if roundToPrec(preSpool, prec) == roundToPrec(fullSpool, prec):\r\n                return False, text\r\n            else:\r\n                return True, \"{}\\nSpool up: {}-{}\".format(\r\n                    text,\r\n                    formatAmount(preSpool, prec, lowest, highest),\r\n                    formatAmount(fullSpool, prec, lowest, highest))\r\n\r\n        defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n        counter = 0\r\n        for labelName, labelDesc, valueFormat, image, tooltip, val, preSpoolVal, fullSpoolVal, prec, lowest, highest in stats:\r\n            label = getattr(self, labelName)\r\n            val = val(fit, defaultSpoolValue) if fit is not None else 0\r\n            preSpoolVal = preSpoolVal(fit) if fit is not None else 0\r\n            fullSpoolVal = fullSpoolVal(fit) if fit is not None else 0\r\n            if self._cachedValues[counter] != val:\r\n                hasSpool, tooltipText = formatTooltip(tooltip, preSpoolVal, fullSpoolVal, prec, lowest, highest)\r\n                label.SetLabel(valueFormat.format(\r\n                    formatAmount(val, prec, lowest, highest),\r\n                    \"\\u02e2\" if hasSpool else \"\"))\r\n                label.SetToolTip(wx.ToolTip(tooltipText))\r\n                self._cachedValues[counter] = val\r\n            counter += 1\r\n        self.panel.Layout()\r\n        self.headerPanel.Layout()\r\n\r\n\r\nOutgoingViewMinimal.register()\r\n"
  },
  {
    "path": "gui/builtinStatsViews/priceViewFull.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom gui.statsView import StatsView\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom service.price import Fit, Price\r\nfrom service.settings import MarketPriceSettings\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass PriceViewFull(StatsView):\r\n    name = \"priceViewFull\"\r\n\r\n    def __init__(self, parent):\r\n        StatsView.__init__(self)\r\n        self.parent = parent\r\n        self.settings = MarketPriceSettings.getInstance()\r\n\r\n    def getHeaderText(self, fit):\r\n        return _t(\"Price\")\r\n\r\n    def populatePanel(self, contentPanel, headerPanel):\r\n        contentSizer = contentPanel.GetSizer()\r\n        self.panel = contentPanel\r\n        self.headerPanel = headerPanel\r\n\r\n        headerContentSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        hsizer = headerPanel.GetSizer()\r\n        hsizer.Add(headerContentSizer, 0, 0, 0)\r\n        self.labelEMStatus = wx.StaticText(headerPanel, wx.ID_ANY, \"\")\r\n        headerContentSizer.Add(self.labelEMStatus)\r\n        headerPanel.GetParent().AddToggleItem(self.labelEMStatus)\r\n\r\n        gridPrice = wx.GridSizer(2, 3, 0, 0)\r\n        contentSizer.Add(gridPrice, 0, wx.EXPAND | wx.ALL, 0)\r\n        for _type, label in (\r\n                (\"ship\", _t(\"Ship\")), (\"fittings\", _t(\"Fittings\")), (\"character\", _t(\"Character\")),\r\n                (\"drones\", _t(\"Drones\")), (\"cargoBay\", _t(\"Cargo bay\")), (\"total\", _t(\"Total\"))\r\n        ):\r\n            if _type in \"ship\":\r\n                image = \"ship_big\"\r\n            elif _type in (\"fittings\", \"total\"):\r\n                image = \"%sPrice_big\" % _type\r\n            else:\r\n                image = \"%s_big\" % _type\r\n\r\n            box = wx.BoxSizer(wx.HORIZONTAL)\r\n            gridPrice.Add(box, 0, wx.ALIGN_TOP)\r\n\r\n            box.Add(BitmapLoader.getStaticBitmap(image, contentPanel, \"gui\"), 0, wx.ALIGN_CENTER)\r\n\r\n            vbox = wx.BoxSizer(wx.VERTICAL)\r\n            box.Add(vbox, 1, wx.EXPAND)\r\n\r\n            vbox.Add(wx.StaticText(contentPanel, wx.ID_ANY, label.capitalize()), 0, wx.ALIGN_LEFT)\r\n\r\n            hbox = wx.BoxSizer(wx.HORIZONTAL)\r\n            vbox.Add(hbox)\r\n\r\n            lbl = wx.StaticText(contentPanel, wx.ID_ANY, \"0.00 ISK\")\r\n            setattr(self, \"labelPrice%s\" % _type.capitalize(), lbl)\r\n            hbox.Add(lbl, 0, wx.ALIGN_LEFT)\r\n\r\n    def refreshPanel(self, fit):\r\n        if fit is not None:\r\n            self.fit = fit\r\n            fit_items = set(Fit.fitItemIter(fit))\r\n            Price.getInstance().getPrices(fit_items, self.processPrices, fetchTimeout=30)\r\n            self.labelEMStatus.SetLabel(\"Updating prices...\")\r\n\r\n        self.refreshPanelPrices(fit)\r\n        self.panel.Layout()\r\n\r\n    def refreshPanelPrices(self, fit=None):\r\n\r\n        ship_price = 0\r\n        module_price = 0\r\n        drone_price = 0\r\n        fighter_price = 0\r\n        cargo_price = 0\r\n        booster_price = 0\r\n        implant_price = 0\r\n\r\n        if fit:\r\n            ship_price = fit.ship.item.price.price\r\n\r\n            if fit.modules:\r\n                for module in fit.modules:\r\n                    if not module.isEmpty:\r\n                        module_price += module.item.price.price\r\n\r\n            if fit.drones:\r\n                for drone in fit.drones:\r\n                    drone_price += drone.item.price.price * drone.amount\r\n\r\n            if fit.fighters:\r\n                for fighter in fit.fighters:\r\n                    fighter_price += fighter.item.price.price * fighter.amount\r\n\r\n            if fit.cargo:\r\n                for cargo in fit.cargo:\r\n                    cargo_price += cargo.item.price.price * cargo.amount\r\n\r\n            if fit.boosters:\r\n                for booster in fit.boosters:\r\n                    booster_price += booster.item.price.price\r\n\r\n            if fit.appliedImplants:\r\n                for implant in fit.appliedImplants:\r\n                    implant_price += implant.item.price.price\r\n\r\n        total_price = 0\r\n        total_price += ship_price\r\n        total_price += module_price\r\n        if self.settings.get(\"drones\"):\r\n            total_price += drone_price + fighter_price\r\n        if self.settings.get(\"cargo\"):\r\n            total_price += cargo_price\r\n        if self.settings.get(\"character\"):\r\n            total_price += booster_price + implant_price\r\n\r\n        self.labelPriceShip.SetLabel(\"%s ISK\" % formatAmount(ship_price, 3, 3, 9, currency=True))\r\n        self.labelPriceShip.SetToolTip(wx.ToolTip('{:,.2f} ISK'.format(ship_price)))\r\n\r\n        self.labelPriceFittings.SetLabel(\"%s ISK\" % formatAmount(module_price, 3, 3, 9, currency=True))\r\n        self.labelPriceFittings.SetToolTip(wx.ToolTip('{:,.2f} ISK'.format(module_price)))\r\n\r\n        self.labelPriceDrones.SetLabel(\"%s ISK\" % formatAmount(drone_price + fighter_price, 3, 3, 9, currency=True))\r\n        self.labelPriceDrones.SetToolTip(wx.ToolTip('{:,.2f} ISK'.format(drone_price + fighter_price)))\r\n\r\n        self.labelPriceCargobay.SetLabel(\"%s ISK\" % formatAmount(cargo_price, 3, 3, 9, currency=True))\r\n        self.labelPriceCargobay.SetToolTip(wx.ToolTip('{:,.2f} ISK'.format(cargo_price)))\r\n\r\n        self.labelPriceCharacter.SetLabel(\"%s ISK\" % formatAmount(booster_price + implant_price, 3, 3, 9, currency=True))\r\n        self.labelPriceCharacter.SetToolTip(wx.ToolTip('{:,.2f} ISK'.format(booster_price + implant_price)))\r\n\r\n        self.labelPriceTotal.SetLabel(\"%s ISK\" % formatAmount(total_price, 3, 3, 9, currency=True))\r\n        self.labelPriceTotal.SetToolTip(wx.ToolTip('{:,.2f} ISK'.format(total_price)))\r\n\r\n    def processPrices(self, prices):\r\n        self.refreshPanelPrices(self.fit)\r\n\r\n        self.labelEMStatus.SetLabel(\"\")\r\n        self.panel.Layout()\r\n\r\n\r\nPriceViewFull.register()\r\n"
  },
  {
    "path": "gui/builtinStatsViews/priceViewMinimal.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom gui.statsView import StatsView\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom service.price import Fit, Price\r\nfrom service.settings import MarketPriceSettings\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass PriceViewMinimal(StatsView):\r\n    name = \"priceViewMinimal\"\r\n\r\n    def __init__(self, parent):\r\n        StatsView.__init__(self)\r\n        self.parent = parent\r\n        self.settings = MarketPriceSettings.getInstance()\r\n\r\n    def getHeaderText(self, fit):\r\n        return \"Price\"\r\n\r\n    def populatePanel(self, contentPanel, headerPanel):\r\n        contentSizer = contentPanel.GetSizer()\r\n        self.panel = contentPanel\r\n        self.headerPanel = headerPanel\r\n\r\n        headerContentSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        hsizer = headerPanel.GetSizer()\r\n        hsizer.Add(headerContentSizer, 0, 0, 0)\r\n        self.labelEMStatus = wx.StaticText(headerPanel, wx.ID_ANY, \"\")\r\n        headerContentSizer.Add(self.labelEMStatus)\r\n        headerPanel.GetParent().AddToggleItem(self.labelEMStatus)\r\n\r\n        gridPrice = wx.GridSizer(1, 3, 0, 0)\r\n        contentSizer.Add(gridPrice, 0, wx.EXPAND | wx.ALL, 0)\r\n        for _type, label in (\r\n                (\"ship\", _t(\"Ship\")), (\"fittings\", _t(\"Fittings\")), (\"total\", _t(\"Total\"))\r\n        ):\r\n            image = \"%sPrice_big\" % _type if _type != \"ship\" else \"ship_big\"\r\n            box = wx.BoxSizer(wx.HORIZONTAL)\r\n            gridPrice.Add(box, 0, wx.ALIGN_TOP)\r\n\r\n            box.Add(BitmapLoader.getStaticBitmap(image, contentPanel, \"gui\"), 0, wx.ALIGN_CENTER)\r\n\r\n            vbox = wx.BoxSizer(wx.VERTICAL)\r\n            box.Add(vbox, 1, wx.EXPAND)\r\n\r\n            vbox.Add(wx.StaticText(contentPanel, wx.ID_ANY, label), 0, wx.ALIGN_LEFT)\r\n\r\n            hbox = wx.BoxSizer(wx.HORIZONTAL)\r\n            vbox.Add(hbox)\r\n\r\n            lbl = wx.StaticText(contentPanel, wx.ID_ANY, \"0.00 ISK\")\r\n            setattr(self, \"labelPrice%s\" % _type.capitalize(), lbl)\r\n            hbox.Add(lbl, 0, wx.ALIGN_LEFT)\r\n\r\n    def refreshPanel(self, fit):\r\n        if fit is not None:\r\n            self.fit = fit\r\n            fit_items = set(Fit.fitItemIter(fit))\r\n            Price.getInstance().getPrices(fit_items, self.processPrices, fetchTimeout=30)\r\n            self.labelEMStatus.SetLabel(\"Updating prices...\")\r\n\r\n        self.refreshPanelPrices(fit)\r\n        self.panel.Layout()\r\n\r\n    def refreshPanelPrices(self, fit=None):\r\n\r\n        ship_price = 0\r\n        module_price = 0\r\n        drone_price = 0\r\n        fighter_price = 0\r\n        cargo_price = 0\r\n        booster_price = 0\r\n        implant_price = 0\r\n\r\n        if fit:\r\n            ship_price = fit.ship.item.price.price\r\n\r\n            if fit.modules:\r\n                for module in fit.modules:\r\n                    if not module.isEmpty:\r\n                        module_price += module.item.price.price\r\n\r\n            if fit.drones:\r\n                for drone in fit.drones:\r\n                    drone_price += drone.item.price.price * drone.amount\r\n\r\n            if fit.fighters:\r\n                for fighter in fit.fighters:\r\n                    fighter_price += fighter.item.price.price * fighter.amount\r\n\r\n            if fit.cargo:\r\n                for cargo in fit.cargo:\r\n                    cargo_price += cargo.item.price.price * cargo.amount\r\n\r\n            if fit.boosters:\r\n                for booster in fit.boosters:\r\n                    booster_price += booster.item.price.price\r\n\r\n            if fit.appliedImplants:\r\n                for implant in fit.appliedImplants:\r\n                    implant_price += implant.item.price.price\r\n\r\n        fitting_price = module_price\r\n\r\n        total_price = 0\r\n        total_price += ship_price\r\n        total_price += module_price\r\n        if self.settings.get(\"drones\"):\r\n            total_price += drone_price + fighter_price\r\n        if self.settings.get(\"cargo\"):\r\n            total_price += cargo_price\r\n        if self.settings.get(\"character\"):\r\n            total_price += booster_price + implant_price\r\n\r\n        self.labelPriceShip.SetLabel(\"%s ISK\" % formatAmount(ship_price, 3, 3, 9, currency=True))\r\n        self.labelPriceShip.SetToolTip(wx.ToolTip('{:,.2f} ISK'.format(ship_price)))\r\n\r\n        self.labelPriceFittings.SetLabel(\"%s ISK\" % formatAmount(fitting_price, 3, 3, 9, currency=True))\r\n        self.labelPriceFittings.SetToolTip(wx.ToolTip('{:,.2f} ISK'.format(fitting_price)))\r\n\r\n        self.labelPriceTotal.SetLabel(\"%s ISK\" % formatAmount(total_price, 3, 3, 9, currency=True))\r\n        self.labelPriceTotal.SetToolTip(wx.ToolTip('{:,.2f} ISK'.format(total_price)))\r\n\r\n    def processPrices(self, prices):\r\n        self.refreshPanelPrices(self.fit)\r\n\r\n        self.labelEMStatus.SetLabel(\"\")\r\n        self.panel.Layout()\r\n\r\n\r\nPriceViewMinimal.register()\r\n"
  },
  {
    "path": "gui/builtinStatsViews/rechargeViewFull.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.statsView import StatsView\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass RechargeViewFull(StatsView):\r\n    name = \"rechargeViewFull\"\r\n\r\n    def __init__(self, parent):\r\n        StatsView.__init__(self)\r\n        self.parent = parent\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.mainFrame.Bind(GE.EFFECTIVE_HP_TOGGLED, self.toggleEffective)\r\n\r\n    def getHeaderText(self, fit):\r\n        return _t(\"Recharge rates\")\r\n\r\n    def getTextExtentW(self, text):\r\n        width, height = self.parent.GetTextExtent(text)\r\n        return width\r\n\r\n    @property\r\n    def effective(self):\r\n        try:\r\n            return self.parent.nameViewMap['resistancesViewFull'].showEffective\r\n        except KeyError:\r\n            return False\r\n\r\n    def toggleEffective(self, event):\r\n        event.Skip()\r\n        sFit = Fit.getInstance()\r\n        self.refreshPanel(sFit.getFit(self.mainFrame.getActiveFit()))\r\n\r\n    def populatePanel(self, contentPanel, headerPanel):\r\n        contentSizer = contentPanel.GetSizer()\r\n\r\n        self.panel = contentPanel\r\n        self.headerPanel = headerPanel\r\n        sizerTankStats = wx.FlexGridSizer(3, 5, 0, 0)\r\n        for i in range(4):\r\n            sizerTankStats.AddGrowableCol(i + 1)\r\n\r\n        contentSizer.Add(sizerTankStats, 0, wx.EXPAND, 0)\r\n\r\n        # Add an empty label first for correct alignment.\r\n        sizerTankStats.Add(wx.StaticText(contentPanel, wx.ID_ANY, \"\"), 0)\r\n        toolTipText = {\r\n            \"shieldPassive\": _t(\"Passive shield recharge\"),\r\n            \"shieldActive\": _t(\"Active shield boost\"),\r\n            \"armorActive\": _t(\"Armor repair amount\"),\r\n            \"hullActive\": _t(\"Hull repair amount\")}\r\n        for tankType in (\"shieldPassive\", \"shieldActive\", \"armorActive\", \"hullActive\"):\r\n            bitmap = BitmapLoader.getStaticBitmap(\"%s_big\" % tankType, contentPanel, \"gui\")\r\n            tooltip = wx.ToolTip(toolTipText[tankType])\r\n            bitmap.SetToolTip(tooltip)\r\n            sizerTankStats.Add(bitmap, 0, wx.ALIGN_CENTER)\r\n\r\n        toolTipText = {\r\n            \"reinforced\": _t(\"Reinforced\"),\r\n            \"sustained\": _t(\"Sustained\")}\r\n        for stability in (\"reinforced\", \"sustained\"):\r\n            bitmap = BitmapLoader.getStaticBitmap(\"regen%s_big\" % stability.capitalize(), contentPanel, \"gui\")\r\n            tooltip = wx.ToolTip(toolTipText[stability])\r\n            bitmap.SetToolTip(tooltip)\r\n            sizerTankStats.Add(bitmap, 0, wx.ALIGN_CENTER)\r\n            for tankType in (\"shieldPassive\", \"shieldActive\", \"armorActive\", \"hullActive\"):\r\n                if stability == \"reinforced\" and tankType == \"shieldPassive\":\r\n                    sizerTankStats.Add(wx.StaticText(contentPanel, wx.ID_ANY, \"\"))\r\n                    continue\r\n\r\n                tankTypeCap = tankType[0].capitalize() + tankType[1:]\r\n                lbl = wx.StaticText(contentPanel, wx.ID_ANY, \"0.0\", style=wx.ALIGN_RIGHT)\r\n                setattr(self, \"labelTank%s%s\" % (stability.capitalize(), tankTypeCap), lbl)\r\n                box = wx.BoxSizer(wx.HORIZONTAL)\r\n                box.Add(lbl, 0, wx.EXPAND)\r\n\r\n                unitlbl = wx.StaticText(contentPanel, wx.ID_ANY, \" EHP/s\")\r\n                setattr(self, \"unitLabelTank%s%s\" % (stability.capitalize(), tankTypeCap), unitlbl)\r\n                box.Add(unitlbl, 0, wx.EXPAND)\r\n\r\n                sizerTankStats.Add(box, 0, wx.ALIGN_CENTRE)\r\n\r\n        contentPanel.Layout()\r\n\r\n    def refreshPanel(self, fit):\r\n        # If we did anything interesting, we'd update our labels to reflect the new fit's stats here\r\n        unit = \" EHP/s\" if self.effective else \" HP/s\"\r\n\r\n        for stability in (\"reinforced\", \"sustained\"):\r\n            if stability == \"reinforced\" and fit is not None:\r\n                tank = fit.effectiveTank if self.effective else fit.tank\r\n            elif stability == \"sustained\" and fit is not None:\r\n                tank = fit.effectiveSustainableTank if self.effective else fit.sustainableTank\r\n            else:\r\n                tank = None\r\n\r\n            for name in (\"shield\", \"armor\", \"hull\"):\r\n                lbl = getattr(self, \"labelTank%s%sActive\" % (stability.capitalize(), name.capitalize()))\r\n                unitlbl = getattr(self, \"unitLabelTank%s%sActive\" % (stability.capitalize(), name.capitalize()))\r\n                unitlbl.SetLabel(unit)\r\n                if tank is not None:\r\n                    amount = tank[\"{}Repair\".format(name)]\r\n                else:\r\n                    amount = 0\r\n\r\n                if tank is not None and name == \"armor\":\r\n                    preSpoolAmount = tank[\"armorRepairPreSpool\"]\r\n                    fullSpoolAmount = tank[\"armorRepairFullSpool\"]\r\n                    if round(preSpoolAmount, 1) != round(fullSpoolAmount, 1):\r\n                        ttText = \"Spool up: {:.1f}-{:.1f}\".format(preSpoolAmount, fullSpoolAmount)\r\n                    else:\r\n                        ttText = \"\"\r\n                else:\r\n                    ttText = \"\"\r\n\r\n                lbl.SetLabel(\"{:.1f}{}\".format(amount, \"\\u02e2\" if ttText else \"\"))\r\n                lbl.SetToolTip(wx.ToolTip(ttText))\r\n                unitlbl.SetToolTip(wx.ToolTip(ttText))\r\n\r\n        if fit is not None:\r\n            label = getattr(self, \"labelTankSustainedShieldPassive\")\r\n            value = fit.effectiveTank[\"passiveShield\"] if self.effective else fit.tank[\"passiveShield\"]\r\n            label.SetLabel(formatAmount(value, 3, 0, 9))\r\n            unitlbl = getattr(self, \"unitLabelTankSustainedShieldPassive\")\r\n            unitlbl.SetLabel(unit)\r\n\r\n        else:\r\n            value = 0\r\n            label = getattr(self, \"labelTankSustainedShieldPassive\")\r\n            label.SetLabel(\"0\")\r\n\r\n        label.SetToolTip(wx.ToolTip(\"%.3f\" % value))\r\n        self.panel.Layout()\r\n        self.headerPanel.Layout()\r\n\r\n\r\nRechargeViewFull.register()\r\n"
  },
  {
    "path": "gui/builtinStatsViews/resistancesViewFull.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.pyfa_gauge import PyGauge\r\nfrom gui.statsView import StatsView\r\nfrom gui.utils import fonts\r\nfrom gui.utils.numberFormatter import formatAmount\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ResistancesViewFull(StatsView):\r\n    name = \"resistancesViewFull\"\r\n\r\n    def __init__(self, parent):\r\n        StatsView.__init__(self)\r\n        self.parent = parent\r\n        self._cachedValues = []\r\n        self.showEffective = True\r\n        self.activeFit = None\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.mainFrame.Bind(GE.EFFECTIVE_HP_TOGGLED, self.ehpSwitch)\r\n\r\n    def getHeaderText(self, fit):\r\n        return _t(\"Resistances\")\r\n\r\n    def getTextExtentW(self, text):\r\n        width, height = self.parent.GetTextExtent(text)\r\n        return width\r\n\r\n    def populatePanel(self, contentPanel, headerPanel):\r\n        contentSizer = contentPanel.GetSizer()\r\n        self.panel = contentPanel\r\n\r\n        self.headerPanel = headerPanel\r\n        # Custom header  EHP\r\n        headerContentSizer = self.headerPanel.Parent.GetHeaderContentSizer()\r\n\r\n        self.stEff = wx.StaticText(headerPanel, wx.ID_ANY, \"(\" + _t(\"Effective HP: \"))\r\n        headerContentSizer.Add(self.stEff)\r\n        headerPanel.GetParent().AddToggleItem(self.stEff)\r\n\r\n        self.labelEhp = wx.StaticText(headerPanel, wx.ID_ANY, \"0\")\r\n        headerContentSizer.Add(self.labelEhp, 0)\r\n        headerPanel.GetParent().AddToggleItem(self.labelEhp)\r\n\r\n        stCls = wx.StaticText(headerPanel, wx.ID_ANY, \")\")\r\n\r\n        headerPanel.GetParent().AddToggleItem(stCls)\r\n        headerContentSizer.Add(stCls)\r\n        #        headerContentSizer.Add(wx.StaticLine(headerPanel, wx.ID_ANY), 1, wx.ALIGN_CENTER)\r\n\r\n        # Display table\r\n        col = 0\r\n        row = 0\r\n        sizerResistances = wx.GridBagSizer()\r\n        contentSizer.Add(sizerResistances, 0, wx.EXPAND, 0)\r\n\r\n        # Add an empty label, then the rest.\r\n        sizerResistances.Add(wx.StaticText(contentPanel, wx.ID_ANY), wx.GBPosition(row, col), wx.GBSpan(1, 1))\r\n        col += 1\r\n        toolTipText = {\r\n            \"em\": _t(\"Electromagnetic resistance\"),\r\n            \"thermal\": _t(\"Thermal resistance\"),\r\n            \"kinetic\": _t(\"Kinetic resistance\"),\r\n            \"explosive\": _t(\"Explosive resistance\")\r\n        }\r\n        for damageType in (\"em\", \"thermal\", \"kinetic\", \"explosive\"):\r\n            bitmap = BitmapLoader.getStaticBitmap(\"%s_big\" % damageType, contentPanel, \"gui\")\r\n            tooltip = wx.ToolTip(toolTipText[damageType])\r\n            bitmap.SetToolTip(tooltip)\r\n            sizerResistances.Add(bitmap, wx.GBPosition(row, col), wx.GBSpan(1, 1), wx.ALIGN_CENTER)\r\n            col += 1\r\n        self.stEHPs = wx.Button(contentPanel, style=wx.BU_EXACTFIT, label=_t(\"EHP\"))\r\n        self.stEHPs.SetToolTip(wx.ToolTip(_t(\"Click to toggle between effective HP and raw HP\")))\r\n\r\n        self.stEHPs.Bind(wx.EVT_BUTTON, self.toggleEHP)\r\n\r\n        for i in range(4):\r\n            sizerResistances.AddGrowableCol(i + 1)\r\n\r\n        sizerResistances.Add(self.stEHPs, wx.GBPosition(row, col), wx.GBSpan(1, 1), wx.ALIGN_CENTER)\r\n        col = 0\r\n        row += 1\r\n\r\n        gaugeColours = (((38, 133, 198), (52, 86, 98)), ((198, 38, 38), (83, 65, 67)), ((163, 163, 163), (74, 90, 93)),\r\n                        ((198, 133, 38), (81, 83, 67)))\r\n\r\n        toolTipText = {\r\n            \"shield\": _t(\"Shield resistance\"),\r\n            \"armor\": _t(\"Armor resistance\"),\r\n            \"hull\": _t(\"Hull resistance\"),\r\n            \"damagePattern\": _t(\"Incoming damage pattern\")\r\n        }\r\n        for tankType in (\"shield\", \"armor\", \"hull\", \"separator\", \"damagePattern\"):\r\n            if tankType != \"separator\":\r\n                bitmap = BitmapLoader.getStaticBitmap(\"%s_big\" % tankType, contentPanel, \"gui\")\r\n                tooltip = wx.ToolTip(toolTipText[tankType])\r\n                bitmap.SetToolTip(tooltip)\r\n                sizerResistances.Add(bitmap, wx.GBPosition(row, col), wx.GBSpan(1, 1), wx.ALIGN_CENTER)\r\n                col += 1\r\n\r\n            else:\r\n                sizerResistances.Add(wx.StaticLine(contentPanel, wx.ID_ANY), wx.GBPosition(row, col), wx.GBSpan(1, 6),\r\n                                     wx.EXPAND | wx.ALIGN_CENTER)\r\n                row += 1\r\n                col = 0\r\n\r\n                continue\r\n            currGColour = 0\r\n\r\n            font = wx.Font(fonts.NORMAL, wx.SWISS, wx.NORMAL, wx.NORMAL, False)\r\n\r\n            for damageType in (\"em\", \"thermal\", \"kinetic\", \"explosive\"):\r\n                box = wx.BoxSizer(wx.HORIZONTAL)\r\n                sizerResistances.Add(box, wx.GBPosition(row, col), wx.GBSpan(1, 1), wx.ALIGN_CENTER)\r\n\r\n                # Fancy gauges addon\r\n\r\n                pgColour = gaugeColours[currGColour]\r\n                fc = pgColour[0]\r\n                bc = pgColour[1]\r\n                currGColour += 1\r\n\r\n                lbl = PyGauge(contentPanel, font, 100)\r\n                lbl.SetMinSize((48, 16))\r\n                lbl.SetBackgroundColour(wx.Colour(round(bc[0]), round(bc[1]), round(bc[2])))\r\n                lbl.SetBarColour(wx.Colour(round(fc[0]), round(fc[1]), round(fc[2])))\r\n                lbl.SetBarGradient()\r\n                lbl.SetFractionDigits(1)\r\n\r\n                setattr(self, \"gaugeResistance%s%s\" % (tankType.capitalize(), damageType.capitalize()), lbl)\r\n                box.Add(lbl, 0, wx.ALIGN_CENTER)\r\n\r\n                col += 1\r\n            box = wx.BoxSizer(wx.VERTICAL)\r\n            box.SetMinSize(wx.Size(self.getTextExtentW(\"WWWWk\"), -1))\r\n\r\n            lbl = wx.StaticText(contentPanel, wx.ID_ANY, \"0\" if tankType != \"damagePattern\" else \"\")\r\n            box.Add(lbl, 0, wx.ALIGN_CENTER)\r\n\r\n            setattr(self, \"labelResistance%sEhp\" % tankType.capitalize(), lbl)\r\n            sizerResistances.Add(box, wx.GBPosition(row, col), wx.GBSpan(1, 1), wx.ALIGN_CENTER)\r\n            row += 1\r\n            col = 0\r\n\r\n        self.stEHPs.SetToolTip(wx.ToolTip(_t(\"Click to toggle between effective HP and raw HP\")))\r\n\r\n    def toggleEHP(self, event):\r\n        wx.PostEvent(self.mainFrame, GE.EffectiveHpToggled(effective=self.stEHPs.GetLabel() == _t(\"HP\")))\r\n\r\n    def ehpSwitch(self, event):\r\n        event.Skip()\r\n        self.showEffective = event.effective\r\n        fitID = self.mainFrame.getActiveFit()\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n    def refreshPanel(self, fit):\r\n        # If we did anything intresting, we'd update our labels to reflect the new fit's stats here\r\n        if fit is None and not self.showEffective:\r\n            self.showEffective = True\r\n            wx.PostEvent(self.mainFrame, GE.EffectiveHpToggled(effective=True))\r\n            return\r\n\r\n        self.stEHPs.SetLabel(_t(\"EHP\") if self.showEffective else _t(\"HP\"))\r\n        self.activeFit = fit.ID if fit is not None else None\r\n\r\n        for tankType in (\"shield\", \"armor\", \"hull\"):\r\n            for damageType in (\"em\", \"thermal\", \"kinetic\", \"explosive\"):\r\n                if fit is not None:\r\n                    resonanceType = tankType if tankType != \"hull\" else \"\"\r\n                    resonance = \"%s%sDamageResonance\" % (resonanceType, damageType.capitalize())\r\n                    resonance = resonance[0].lower() + resonance[1:]\r\n                    resonance = (1 - fit.ship.getModifiedItemAttr(resonance)) * 100\r\n                else:\r\n                    resonance = 0\r\n\r\n                lbl = getattr(self, \"gaugeResistance%s%s\" % (tankType.capitalize(), damageType.capitalize()))\r\n\r\n                lbl.SetValue(resonance)\r\n\r\n        ehp = (fit.ehp if self.showEffective else fit.hp) if fit is not None else None\r\n        total = 0\r\n        for tankType, tooltip in ((\"shield\", _t(\"Shield: \")), (\"armor\", _t(\"Armor: \")), (\"hull\", _t(\"Hull: \"))):\r\n            lbl = getattr(self, \"labelResistance%sEhp\" % tankType.capitalize())\r\n            if ehp is not None:\r\n                total += ehp[tankType]\r\n                rrFactor = fit.ehp[tankType] / fit.hp[tankType]\r\n                lbl.SetLabel(formatAmount(ehp[tankType], 3, 0, 9))\r\n                lbl.SetToolTip(\r\n                        wx.ToolTip(tooltip + \"%d\\n\" % ehp[tankType] + _t(\"Resist Multiplier: \") + \"%.2fx\" % rrFactor))\r\n            else:\r\n                lbl.SetLabel(\"0\")\r\n\r\n        self.labelEhp.SetLabel(\"%s\" % formatAmount(total, 3, 0, 9))\r\n        if self.showEffective:\r\n            self.stEff.SetLabel(\"(\" + _t(\"Effective HP: \"))\r\n            self.labelEhp.SetToolTip(wx.ToolTip(_t(\"Effective: %d HP\") % total))\r\n        else:\r\n            self.stEff.SetLabel(\"(\" + _t(\"Raw HP: \"))\r\n            self.labelEhp.SetToolTip(wx.ToolTip(_t(\"Raw: %d HP\") % total))\r\n\r\n        damagePattern = fit.damagePattern if fit is not None and self.showEffective else None\r\n        total = sum((damagePattern.emAmount, damagePattern.thermalAmount,\r\n                     damagePattern.kineticAmount, damagePattern.explosiveAmount)) if damagePattern is not None else 0\r\n\r\n        for damageType in (\"em\", \"thermal\", \"kinetic\", \"explosive\"):\r\n            lbl = getattr(self, \"gaugeResistanceDamagepattern%s\" % damageType.capitalize())\r\n\r\n            if damagePattern is not None:\r\n                lbl.SetValueRange(getattr(damagePattern, \"%sAmount\" % damageType), total)\r\n            else:\r\n                lbl.SetValue(0)\r\n\r\n        self.panel.Layout()\r\n        self.headerPanel.Layout()\r\n\r\n\r\nResistancesViewFull.register()\r\n"
  },
  {
    "path": "gui/builtinStatsViews/resourcesViewFull.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom gui.statsView import StatsView\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.pyfa_gauge import PyGauge\r\nimport gui.mainFrame\r\nfrom gui.chrome_tabs import EVT_NOTEBOOK_PAGE_CHANGED\r\nfrom gui.utils import fonts\r\n\r\nfrom eos.const import FittingHardpoint\r\n\r\nfrom gui.utils.numberFormatter import formatAmount\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ResourcesViewFull(StatsView):\r\n    name = \"resourcesViewFull\"\r\n    contexts = [\"drone\", \"fighter\", \"cargo\"]\r\n\r\n    def __init__(self, parent):\r\n        StatsView.__init__(self)\r\n        self.parent = parent\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.mainFrame.additionsPane.notebook.Bind(EVT_NOTEBOOK_PAGE_CHANGED, self.pageChanged)\r\n\r\n    def pageChanged(self, event):\r\n        page = self.mainFrame.additionsPane.getName(event.GetSelection())\r\n        if page == \"Cargo\":\r\n            self.toggleContext(\"cargo\")\r\n        elif page == \"Fighters\":\r\n            self.toggleContext(\"fighter\")\r\n        else:\r\n            self.toggleContext(\"drone\")\r\n        event.Skip()\r\n\r\n    def toggleContext(self, context):\r\n        # Apparently you cannot .Hide(True) on a Window, otherwise I would just .Hide(context !== x).\r\n        # This is a gimpy way to toggle this shit\r\n        for x in self.contexts:\r\n            bitmap = getattr(self, \"bitmapFull{}Bay\".format(x.capitalize()))\r\n            base = getattr(self, \"baseFull{}Bay\".format(x.capitalize()))\r\n\r\n            if context == x:\r\n                bitmap.Show()\r\n                base.Show(True)\r\n            else:\r\n                bitmap.Hide()\r\n                base.Hide(True)\r\n\r\n        fighter_sizer = getattr(self, \"boxSizerFighter\")\r\n        drone_sizer = getattr(self, \"boxSizerDrones\")\r\n\r\n        if context != \"fighter\":\r\n            fighter_sizer.ShowItems(False)\r\n            drone_sizer.ShowItems(True)\r\n        else:\r\n            fighter_sizer.ShowItems(True)\r\n            drone_sizer.ShowItems(False)\r\n\r\n        self.panel.Layout()\r\n        self.headerPanel.Layout()\r\n\r\n    def getHeaderText(self, fit):\r\n        return _t(\"Resources\")\r\n\r\n    def getTextExtentW(self, text):\r\n        width, height = self.parent.GetTextExtent(text)\r\n        return width\r\n\r\n    def populatePanel(self, contentPanel, headerPanel):\r\n\r\n        contentSizer = contentPanel.GetSizer()\r\n        root = wx.BoxSizer(wx.VERTICAL)\r\n        contentSizer.Add(root, 0, wx.EXPAND, 0)\r\n\r\n        sizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        root.Add(sizer, 0, wx.EXPAND)\r\n        root.Add(wx.StaticLine(contentPanel, wx.ID_ANY, style=wx.HORIZONTAL), 0, wx.EXPAND)\r\n\r\n        sizerResources = wx.BoxSizer(wx.HORIZONTAL)\r\n        root.Add(sizerResources, 1, wx.EXPAND, 0)\r\n\r\n        parent = self.panel = contentPanel\r\n        self.headerPanel = headerPanel\r\n        panel = \"full\"\r\n\r\n        base = sizerResources\r\n        sizer.AddStretchSpacer()\r\n        # Turrets & launcher hardslots display\r\n        tooltipText = {\r\n            \"turret\": _t(\"Turret hardpoints\"),\r\n            \"launcher\": _t(\"Launcher hardpoints\"),\r\n            \"drones\": _t(\"Drones active\"),\r\n            \"fighter\": _t(\"Fighter squadrons active\"),\r\n            \"calibration\": _t(\"Calibration\")\r\n        }\r\n        for type_ in (\"turret\", \"launcher\", \"drones\", \"fighter\", \"calibration\"):\r\n            box = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n            bitmap = BitmapLoader.getStaticBitmap(\"%s_big\" % type_, parent, \"gui\")\r\n            tooltip = wx.ToolTip(tooltipText[type_])\r\n            bitmap.SetToolTip(tooltip)\r\n\r\n            box.Add(bitmap, 0, wx.ALIGN_CENTER)\r\n\r\n            sizer.Add(box, 0, wx.ALIGN_CENTER)\r\n\r\n            suffix = {\r\n                'turret': 'Hardpoints', 'launcher': 'Hardpoints', 'drones': 'Active', 'fighter': 'Tubes',\r\n                'calibration': 'Points'\r\n            }\r\n            lbl = wx.StaticText(parent, wx.ID_ANY, \"0\")\r\n            setattr(self, \"label%sUsed%s%s\" % (panel.capitalize(), type_.capitalize(), suffix[type_].capitalize()), lbl)\r\n            box.Add(lbl, 0, wx.ALIGN_CENTER | wx.LEFT, 5)\r\n\r\n            box.Add(wx.StaticText(parent, wx.ID_ANY, \"/\"), 0, wx.ALIGN_CENTER)\r\n\r\n            lbl = wx.StaticText(parent, wx.ID_ANY, \"0\")\r\n            setattr(self, \"label%sTotal%s%s\" % (panel.capitalize(), type_.capitalize(), suffix[type_].capitalize()),\r\n                    lbl)\r\n            box.Add(lbl, 0, wx.ALIGN_CENTER)\r\n            setattr(self, \"boxSizer{}\".format(type_.capitalize()), box)\r\n\r\n            # Hack - We add a spacer after each thing, but we are always hiding something. The spacer is stil there.\r\n            # This way, we only have one space after the drones/fighters\r\n            if type_ != \"drones\":\r\n                sizer.AddStretchSpacer()\r\n\r\n        gauge_font = wx.Font(fonts.NORMAL, wx.SWISS, wx.NORMAL, wx.NORMAL, False)\r\n\r\n        # PG, Cpu & drone stuff\r\n        tooltipText = {\r\n            \"cpu\": _t(\"CPU\"),\r\n            \"pg\": _t(\"PowerGrid\"),\r\n            \"droneBay\": _t(\"Drone bay\"),\r\n            \"fighterBay\": _t(\"Fighter bay\"),\r\n            \"droneBandwidth\": _t(\"Drone bandwidth\"),\r\n            \"cargoBay\": _t(\"Cargo bay\")\r\n        }\r\n        for i, group in enumerate(((\"cpu\", \"pg\"), (\"cargoBay\", \"droneBay\", \"fighterBay\", \"droneBandwidth\"))):\r\n            main = wx.BoxSizer(wx.VERTICAL)\r\n            base.Add(main, 1, wx.ALIGN_CENTER)\r\n\r\n            for type_ in group:\r\n                capitalizedType = type_[0].capitalize() + type_[1:]\r\n                bitmap = BitmapLoader.getStaticBitmap(type_ + \"_big\", parent, \"gui\")\r\n                tooltip = wx.ToolTip(tooltipText[type_])\r\n                bitmap.SetToolTip(tooltip)\r\n\r\n                stats = wx.BoxSizer(wx.VERTICAL)\r\n                absolute = wx.BoxSizer(wx.HORIZONTAL)\r\n                stats.Add(absolute, 0, wx.EXPAND)\r\n\r\n                b = wx.BoxSizer(wx.HORIZONTAL)\r\n                main.Add(b, 1, wx.ALIGN_CENTER)\r\n\r\n                b.Add(bitmap, 0, wx.ALIGN_BOTTOM)\r\n\r\n                b.Add(stats, 1, wx.EXPAND)\r\n\r\n                lbl = wx.StaticText(parent, wx.ID_ANY, \"0\")\r\n                setattr(self, \"label%sUsed%s\" % (panel.capitalize(), capitalizedType), lbl)\r\n                absolute.Add(lbl, 0, wx.ALIGN_LEFT | wx.LEFT, 3)\r\n\r\n                absolute.Add(wx.StaticText(parent, wx.ID_ANY, \"/\"), 0, wx.ALIGN_LEFT)\r\n\r\n                lbl = wx.StaticText(parent, wx.ID_ANY, \"0\")\r\n                setattr(self, \"label%sTotal%s\" % (panel.capitalize(), capitalizedType), lbl)\r\n                absolute.Add(lbl, 0, wx.ALIGN_LEFT)\r\n\r\n                units = {\"cpu\": \" tf\", \"pg\": \" MW\", \"droneBandwidth\": \" mbit/s\", \"droneBay\": \" m\\u00B3\",\r\n                         \"fighterBay\": \" m\\u00B3\", \"cargoBay\": \" m\\u00B3\"}\r\n                lbl = wx.StaticText(parent, wx.ID_ANY, \"%s\" % units[type_])\r\n                absolute.Add(lbl, 0, wx.ALIGN_LEFT)\r\n\r\n                # Gauges modif. - Darriele\r\n\r\n                gauge = PyGauge(parent, gauge_font, 1)\r\n                gauge.SetValueRange(0, 0)\r\n                gauge.SetMinSize((self.getTextExtentW(\"1.999M/1.99M MW\"), 23))\r\n                gauge.SetFractionDigits(2)\r\n\r\n                setattr(self, \"gauge%s%s\" % (panel.capitalize(), capitalizedType), gauge)\r\n                stats.Add(gauge, 0, wx.ALIGN_CENTER)\r\n\r\n                setattr(self, \"base%s%s\" % (panel.capitalize(), capitalizedType), b)\r\n                setattr(self, \"bitmap%s%s\" % (panel.capitalize(), capitalizedType), bitmap)\r\n\r\n        self.toggleContext(\"drone\")\r\n\r\n    def refreshPanel(self, fit):\r\n        # If we did anything intresting, we'd update our labels to reflect the new fit's stats here\r\n\r\n        stats = (\r\n            (\"label%sUsedTurretHardpoints\", lambda: fit.getHardpointsUsed(FittingHardpoint.TURRET), 0, 0, 0),\r\n            (\"label%sTotalTurretHardpoints\", lambda: fit.ship.getModifiedItemAttr('turretSlotsLeft'), 0, 0, 0),\r\n            (\"label%sUsedLauncherHardpoints\", lambda: fit.getHardpointsUsed(FittingHardpoint.MISSILE), 0, 0, 0),\r\n            (\"label%sTotalLauncherHardpoints\", lambda: fit.ship.getModifiedItemAttr('launcherSlotsLeft'), 0, 0, 0),\r\n            (\"label%sUsedDronesActive\", lambda: fit.activeDrones, 0, 0, 0),\r\n            (\"label%sTotalDronesActive\", lambda: fit.extraAttributes[\"maxActiveDrones\"], 0, 0, 0),\r\n            (\"label%sUsedFighterTubes\", lambda: fit.fighterTubesUsed, 3, 0, 9),\r\n            (\"label%sTotalFighterTubes\", lambda: fit.fighterTubesTotal, 3, 0, 9),\r\n            (\"label%sUsedCalibrationPoints\", lambda: fit.calibrationUsed, 0, 0, 0),\r\n            (\"label%sTotalCalibrationPoints\", lambda: fit.ship.getModifiedItemAttr('upgradeCapacity'), 0, 0, 0),\r\n            (\"label%sUsedPg\", lambda: fit.pgUsed, 4, 0, 9),\r\n            (\"label%sUsedCpu\", lambda: fit.cpuUsed, 4, 0, 9),\r\n            (\"label%sTotalPg\", lambda: fit.ship.getModifiedItemAttr(\"powerOutput\"), 4, 0, 9),\r\n            (\"label%sTotalCpu\", lambda: fit.ship.getModifiedItemAttr(\"cpuOutput\"), 4, 0, 9),\r\n            (\"label%sUsedDroneBay\", lambda: fit.droneBayUsed, 3, 0, 9),\r\n            (\"label%sUsedFighterBay\", lambda: fit.fighterBayUsed, 3, 0, 9),\r\n            (\"label%sUsedDroneBandwidth\", lambda: fit.droneBandwidthUsed, 3, 0, 9),\r\n            (\"label%sTotalDroneBay\", lambda: fit.ship.getModifiedItemAttr(\"droneCapacity\"), 3, 0, 9),\r\n            (\"label%sTotalDroneBandwidth\", lambda: fit.ship.getModifiedItemAttr(\"droneBandwidth\"), 3, 0, 9),\r\n            (\"label%sTotalFighterBay\", lambda: fit.ship.getModifiedItemAttr(\"fighterCapacity\"), 3, 0, 9),\r\n            (\"label%sUsedCargoBay\", lambda: fit.cargoBayUsed, 3, 0, 9),\r\n            (\"label%sTotalCargoBay\", lambda: fit.ship.getModifiedItemAttr(\"capacity\"), 3, 0, 9),\r\n        )\r\n        panel = \"Full\"\r\n\r\n        usedTurretHardpoints = 0\r\n        labelUTH = \"\"\r\n        totalTurretHardpoints = 0\r\n        labelTTH = \"\"\r\n        usedLauncherHardpoints = 0\r\n        labelULH = \"\"\r\n        totalLauncherHardPoints = 0\r\n        labelTLH = \"\"\r\n        usedDronesActive = 0\r\n        labelUDA = \"\"\r\n        totalDronesActive = 0\r\n        labelTDA = \"\"\r\n        usedFighterTubes = 0\r\n        labelUFT = \"\"\r\n        totalFighterTubes = 0\r\n        labelTFT = \"\"\r\n        usedCalibrationPoints = 0\r\n        labelUCP = \"\"\r\n        totalCalibrationPoints = 0\r\n        labelTCP = \"\"\r\n\r\n        for labelName, value, prec, lowest, highest in stats:\r\n            label = getattr(self, labelName % panel)\r\n            value = value() if fit is not None else 0\r\n            value = value if value is not None else 0\r\n\r\n            if labelName % panel == \"label%sUsedTurretHardpoints\" % panel:\r\n                usedTurretHardpoints = value\r\n                labelUTH = label\r\n            elif labelName % panel == \"label%sTotalTurretHardpoints\" % panel:\r\n                totalTurretHardpoints = value\r\n                labelTTH = label\r\n            elif labelName % panel == \"label%sUsedLauncherHardpoints\" % panel:\r\n                usedLauncherHardpoints = value\r\n                labelULH = label\r\n            elif labelName % panel == \"label%sTotalLauncherHardpoints\" % panel:\r\n                totalLauncherHardPoints = value\r\n                labelTLH = label\r\n            elif labelName % panel == \"label%sUsedDronesActive\" % panel:\r\n                usedDronesActive = value\r\n                labelUDA = label\r\n            elif labelName % panel == \"label%sTotalDronesActive\" % panel:\r\n                totalDronesActive = value\r\n                labelTDA = label\r\n            elif labelName % panel == \"label%sUsedFighterTubes\" % panel:\r\n                usedFighterTubes = value\r\n                labelUFT = label\r\n            elif labelName % panel == \"label%sTotalFighterTubes\" % panel:\r\n                totalFighterTubes = value\r\n                labelTFT = label\r\n            elif labelName % panel == \"label%sUsedCalibrationPoints\" % panel:\r\n                usedCalibrationPoints = value\r\n                labelUCP = label\r\n            elif labelName % panel == \"label%sTotalCalibrationPoints\" % panel:\r\n                totalCalibrationPoints = value\r\n                labelTCP = label\r\n\r\n            if isinstance(value, str):\r\n                label.SetLabel(value)\r\n                label.SetToolTip(wx.ToolTip(value))\r\n            else:\r\n                label.SetLabel(formatAmount(value, prec, lowest, highest))\r\n                label.SetToolTip(wx.ToolTip(\"%.1f\" % value))\r\n            # See issue #1877\r\n            label.InvalidateBestSize()\r\n\r\n        colorWarn = wx.Colour(204, 51, 51)\r\n        colorNormal = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT)\r\n\r\n        if usedTurretHardpoints > totalTurretHardpoints:\r\n            colorT = colorWarn\r\n        else:\r\n            colorT = colorNormal\r\n        if usedLauncherHardpoints > totalLauncherHardPoints:\r\n            colorL = colorWarn\r\n        else:\r\n            colorL = colorNormal\r\n        if usedDronesActive > totalDronesActive:\r\n            colorD = colorWarn\r\n        else:\r\n            colorD = colorNormal\r\n        if usedFighterTubes > totalFighterTubes:\r\n            colorF = colorWarn\r\n        else:\r\n            colorF = colorNormal\r\n        if usedCalibrationPoints > totalCalibrationPoints:\r\n            colorC = colorWarn\r\n        else:\r\n            colorC = colorNormal\r\n\r\n        labelUTH.SetForegroundColour(colorT)\r\n        labelTTH.SetForegroundColour(colorT)\r\n        labelULH.SetForegroundColour(colorL)\r\n        labelTLH.SetForegroundColour(colorL)\r\n        labelUDA.SetForegroundColour(colorD)\r\n        labelTDA.SetForegroundColour(colorD)\r\n        labelUFT.SetForegroundColour(colorF)\r\n        labelTFT.SetForegroundColour(colorF)\r\n        labelUCP.SetForegroundColour(colorC)\r\n        labelTCP.SetForegroundColour(colorC)\r\n        labelUCP.Refresh()\r\n        labelTCP.Refresh()\r\n\r\n        if fit is not None:\r\n            resMax = (\r\n                lambda: fit.ship.getModifiedItemAttr(\"cpuOutput\"),\r\n                lambda: fit.ship.getModifiedItemAttr(\"powerOutput\"),\r\n                lambda: fit.ship.getModifiedItemAttr(\"droneCapacity\"),\r\n                lambda: fit.ship.getModifiedItemAttr(\"fighterCapacity\"),\r\n                lambda: fit.ship.getModifiedItemAttr(\"droneBandwidth\"),\r\n                lambda: fit.ship.getModifiedItemAttr(\"capacity\"),\r\n            )\r\n        else:\r\n            resMax = None\r\n\r\n        i = 0\r\n        for resourceType in (\"cpu\", \"pg\", \"droneBay\", \"fighterBay\", \"droneBandwidth\", \"cargoBay\"):\r\n            if fit is not None:\r\n                capitalizedType = resourceType[0].capitalize() + resourceType[1:]\r\n\r\n                gauge = getattr(self, \"gauge%s%s\" % (panel, capitalizedType))\r\n                resUsed = getattr(fit, \"%sUsed\" % resourceType)\r\n\r\n                gauge.SetValueRange(resUsed or 0, resMax[i]() or 0)\r\n\r\n                i += 1\r\n            else:\r\n                capitalizedType = resourceType[0].capitalize() + resourceType[1:]\r\n\r\n                gauge = getattr(self, \"gauge%s%s\" % (panel, capitalizedType))\r\n\r\n                gauge.SetValueRange(0, 0)\r\n\r\n                i += 1\r\n\r\n        self.panel.Layout()\r\n        self.headerPanel.Layout()\r\n\r\n\r\nResourcesViewFull.register()\r\n"
  },
  {
    "path": "gui/builtinStatsViews/targetingMiscViewMinimal.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nfrom collections import OrderedDict\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom gui.statsView import StatsView\r\nfrom gui.utils.numberFormatter import formatAmount\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass TargetingMiscViewMinimal(StatsView):\r\n    name = \"targetingMiscViewMinimal\"\r\n\r\n    def __init__(self, parent):\r\n        StatsView.__init__(self)\r\n        self.parent = parent\r\n        self._cachedValues = []\r\n\r\n    def getHeaderText(self, fit):\r\n        return _t(\"Targeting && Misc\")\r\n\r\n    def getTextExtentW(self, text):\r\n        width, height = self.parent.GetTextExtent(text)\r\n        return width\r\n\r\n    def populatePanel(self, contentPanel, headerPanel):\r\n        contentSizer = contentPanel.GetSizer()\r\n\r\n        self.panel = contentPanel\r\n        self.headerPanel = headerPanel\r\n        gridTargetingMisc = wx.FlexGridSizer(1, 3, 0, 0)\r\n        contentSizer.Add(gridTargetingMisc, 0, wx.EXPAND | wx.ALL, 0)\r\n        gridTargetingMisc.AddGrowableCol(0)\r\n        gridTargetingMisc.AddGrowableCol(2)\r\n        # Targeting\r\n\r\n        gridTargeting = wx.FlexGridSizer(5, 2, 0, 0)\r\n        gridTargeting.AddGrowableCol(1)\r\n\r\n        gridTargetingMisc.Add(gridTargeting, 0, wx.ALIGN_LEFT | wx.ALL, 5)\r\n\r\n        labels = ((_t(\"Targets\"), \"Targets\", \"\"),\r\n                  (_t(\"Range\"), \"Range\", \"km\"),\r\n                  (_t(\"Scan res.\"), \"ScanRes\", \"mm\"),\r\n                  (_t(\"Sensor str.\"), \"SensorStr\", \"\"),\r\n                  (_t(\"Drone range\"), \"CtrlRange\", \"km\"))\r\n\r\n        for header, labelShort, unit in labels:\r\n            gridTargeting.Add(wx.StaticText(contentPanel, wx.ID_ANY, \"%s: \" % header), 0, wx.ALIGN_LEFT)\r\n\r\n            box = wx.BoxSizer(wx.HORIZONTAL)\r\n            gridTargeting.Add(box, 0, wx.ALIGN_LEFT)\r\n\r\n            lbl = wx.StaticText(contentPanel, wx.ID_ANY, \"0 %s\" % unit)\r\n            setattr(self, \"label%s\" % labelShort, lbl)\r\n            box.Add(lbl, 0, wx.ALIGN_LEFT)\r\n\r\n            self._cachedValues.append({\"main\": 0})\r\n\r\n        # Misc\r\n        gridTargetingMisc.Add(wx.StaticLine(contentPanel, wx.ID_ANY, style=wx.VERTICAL), 0, wx.EXPAND, 3)\r\n        gridMisc = wx.FlexGridSizer(5, 2, 0, 0)\r\n        gridMisc.AddGrowableCol(1)\r\n        gridTargetingMisc.Add(gridMisc, 0, wx.ALIGN_LEFT | wx.ALL, 5)\r\n\r\n        labels = ((_t(\"Speed\"), \"Speed\", \"m/s\"),\r\n                  (_t(\"Align time\"), \"AlignTime\", \"s\"),\r\n                  (_t(\"Signature\"), \"SigRadius\", \"m\"),\r\n                  (_t(\"Warp Speed\"), \"WarpSpeed\", \"AU/s\"),\r\n                  (_t(\"Cargo\"), \"Cargo\", \"m\\u00B3\"))\r\n\r\n        for header, labelShort, unit in labels:\r\n            gridMisc.Add(wx.StaticText(contentPanel, wx.ID_ANY, \"%s: \" % header), 0, wx.ALIGN_LEFT)\r\n\r\n            box = wx.BoxSizer(wx.HORIZONTAL)\r\n            gridMisc.Add(box, 0, wx.ALIGN_LEFT)\r\n\r\n            lbl = wx.StaticText(contentPanel, wx.ID_ANY, \"0 %s\" % unit)\r\n            setattr(self, \"labelFull%s\" % labelShort, lbl)\r\n            box.Add(lbl, 0, wx.ALIGN_LEFT)\r\n\r\n            self._cachedValues.append({\"main\": 0})\r\n\r\n    def refreshPanel(self, fit):\r\n        # If we did anything interesting, we'd update our labels to reflect the new fit's stats here\r\n\r\n        sensorValues = {\r\n            \"main\": lambda: fit.scanStrength,\r\n            \"jamChance\": lambda: fit.jamChance\r\n        }\r\n\r\n        cargoNamesOrder = OrderedDict((\r\n            (\"fleetHangarCapacity\", _t(\"Fleet hangar\")),\r\n            (\"shipMaintenanceBayCapacity\", _t(\"Maintenance bay\")),\r\n            (\"specialColonyResourcesHoldCapacity\", _t(\"Infrastructure hold\")),\r\n            (\"specialAmmoHoldCapacity\", _t(\"Ammo hold\")),\r\n            (\"specialFuelBayCapacity\", _t(\"Fuel bay\")),\r\n            (\"specialShipHoldCapacity\", _t(\"Ship hold\")),\r\n            (\"specialSmallShipHoldCapacity\", _t(\"Small ship hold\")),\r\n            (\"specialMediumShipHoldCapacity\", _t(\"Medium ship hold\")),\r\n            (\"specialLargeShipHoldCapacity\", _t(\"Large ship hold\")),\r\n            (\"specialIndustrialShipHoldCapacity\", _t(\"Industrial ship hold\")),\r\n            (\"generalMiningHoldCapacity\", _t(\"Mining hold\")),\r\n            (\"specialIceHoldCapacity\", _t(\"Ice hold\")),\r\n            (\"specialGasHoldCapacity\", _t(\"Gas hold\")),\r\n            (\"specialMineralHoldCapacity\", _t(\"Mineral hold\")),\r\n            (\"specialMaterialBayCapacity\", _t(\"Material bay\")),\r\n            (\"specialSalvageHoldCapacity\", _t(\"Salvage hold\")),\r\n            (\"specialCommandCenterHoldCapacity\", _t(\"Command center hold\")),\r\n            (\"specialPlanetaryCommoditiesHoldCapacity\", _t(\"Planetary goods hold\")),\r\n            (\"specialQuafeHoldCapacity\", _t(\"Quafe hold\")),\r\n            (\"specialMobileDepotHoldCapacity\", _t(\"Mobile depot hold\")),\r\n            (\"specialExpeditionHoldCapacity\", _t(\"Expedition hold\")),\r\n        ))\r\n\r\n        cargoValues = {\r\n            \"main\": lambda: fit.ship.getModifiedItemAttr(\"capacity\"),\r\n            \"fleetHangarCapacity\": lambda: fit.ship.getModifiedItemAttr(\"fleetHangarCapacity\"),\r\n            \"specialColonyResourcesHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialColonyResourcesHoldCapacity\"),\r\n            \"shipMaintenanceBayCapacity\": lambda: fit.ship.getModifiedItemAttr(\"shipMaintenanceBayCapacity\"),\r\n            \"specialAmmoHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialAmmoHoldCapacity\"),\r\n            \"specialFuelBayCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialFuelBayCapacity\"),\r\n            \"specialShipHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialShipHoldCapacity\"),\r\n            \"specialSmallShipHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialSmallShipHoldCapacity\"),\r\n            \"specialMediumShipHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialMediumShipHoldCapacity\"),\r\n            \"specialLargeShipHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialLargeShipHoldCapacity\"),\r\n            \"specialIndustrialShipHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialIndustrialShipHoldCapacity\"),\r\n            \"generalMiningHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"generalMiningHoldCapacity\"),\r\n            \"specialIceHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialIceHoldCapacity\"),\r\n            \"specialGasHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialGasHoldCapacity\"),\r\n            \"specialMineralHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialMineralHoldCapacity\"),\r\n            \"specialMaterialBayCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialMaterialBayCapacity\"),\r\n            \"specialSalvageHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialSalvageHoldCapacity\"),\r\n            \"specialCommandCenterHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialCommandCenterHoldCapacity\"),\r\n            \"specialPlanetaryCommoditiesHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialPlanetaryCommoditiesHoldCapacity\"),\r\n            \"specialQuafeHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialQuafeHoldCapacity\"),\r\n            \"specialMobileDepotHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialMobileDepotHoldCapacity\"),\r\n            \"specialExpeditionHoldCapacity\": lambda: fit.ship.getModifiedItemAttr(\"specialExpeditionHoldCapacity\"),\r\n        }\r\n\r\n        stats = ((\"labelTargets\", {\"main\": lambda: fit.maxTargets}, 3, 0, 0, \"\"),\r\n                 (\"labelRange\", {\"main\": lambda: fit.maxTargetRange / 1000}, 3, 0, 0, \"km\"),\r\n                 (\"labelScanRes\", {\"main\": lambda: fit.ship.getModifiedItemAttr(\"scanResolution\")}, 3, 0, 0, \"mm\"),\r\n                 (\"labelSensorStr\", sensorValues, 3, 0, 0, \"\"),\r\n                 (\"labelCtrlRange\", {\"main\": lambda: fit.extraAttributes[\"droneControlRange\"] / 1000}, 3, 0, 0, \"km\"),\r\n                 (\"labelFullSpeed\", {\"main\": lambda: fit.maxSpeed}, 3, 0, 0, \"m/s\"),\r\n                 (\"labelFullAlignTime\", {\"main\": lambda: fit.alignTime}, 3, 0, 0, \"s\"),\r\n                 (\"labelFullSigRadius\", {\"main\": lambda: fit.ship.getModifiedItemAttr(\"signatureRadius\")}, 3, 0, 9, \"\"),\r\n                 (\"labelFullWarpSpeed\", {\"main\": lambda: fit.warpSpeed}, 3, 0, 0, \"AU/s\"),\r\n                 (\"labelFullCargo\", cargoValues, 4, 0, 9, \"m\\u00B3\"))\r\n\r\n        counter = 0\r\n        RADII = [(_t(\"Pod\"), 25), (_t(\"Interceptor\"), 33), (_t(\"Frigate\"), 38),\r\n                 (_t(\"Destroyer\"), 83), (_t(\"Cruiser\"), 130),\r\n                 (_t(\"Battlecruiser\"), 265), (_t(\"Battleship\"), 420),\r\n                 (_t(\"Carrier\"), 3000)]\r\n        for labelName, valueDict, prec, lowest, highest, unit in stats:\r\n            label = getattr(self, labelName)\r\n            newValues = {}\r\n            for valueAlias, value in list(valueDict.items()):\r\n                value = value() if fit is not None else 0\r\n                value = value if value is not None else 0\r\n                newValues[valueAlias] = value\r\n            if self._cachedValues[counter] != newValues:\r\n                mainValue = newValues[\"main\"]\r\n                otherValues = dict((k, newValues[k]) for k in [k for k in newValues if k != \"main\"])\r\n                if labelName == \"labelFullCargo\":\r\n                    # Get sum of all cargoholds except for maintenance bay\r\n                    additionalCargo = sum(otherValues.values())\r\n                    if additionalCargo > 0:\r\n                        label.SetLabel(\"%s+%s %s\" % (formatAmount(mainValue, prec, lowest, highest),\r\n                                                     formatAmount(additionalCargo, prec, lowest, highest),\r\n                                                     unit))\r\n                    else:\r\n                        label.SetLabel(\"%s %s\" % (formatAmount(mainValue, prec, lowest, highest), unit))\r\n                elif labelName == \"labelSensorStr\":\r\n                    ecmChance = otherValues[\"jamChance\"]\r\n                    ecmChance = round(ecmChance, 1)\r\n                    if ecmChance:\r\n                        label.SetLabel(\"{} ({}%)\".format(\r\n                                formatAmount(mainValue, prec, lowest, highest),\r\n                                formatAmount(ecmChance, 3, 0, 0)))\r\n                    else:\r\n                        label.SetLabel(\"{}\".format(formatAmount(mainValue, prec, lowest, highest)))\r\n                else:\r\n                    label.SetLabel(\"%s %s\" % (formatAmount(mainValue, prec, lowest, highest), unit))\r\n                # Tooltip stuff\r\n                if fit:\r\n                    if labelName == \"labelScanRes\":\r\n                        lockTime = \"%s\\n\" % _t(\"Lock Times\").center(30)\r\n                        for size, radius in RADII:\r\n                            left = \"%.1fs\" % fit.calculateLockTime(radius)\r\n                            right = \"%s [%d]\" % (size, radius)\r\n                            lockTime += \"%5s\\t%s\\n\" % (left, right)\r\n                        label.SetToolTip(wx.ToolTip(lockTime))\r\n                    elif labelName == \"labelFullWarpSpeed\":\r\n                        maxWarpDistance = _t(\"Max Warp Distance: %.1f AU\") % fit.maxWarpDistance\r\n                        if fit.ship.getModifiedItemAttr(\"warpScrambleStatus\"):\r\n                            warpScrambleStatus = _t(\"Warp Core Strength: %.1f\") % (fit.ship.getModifiedItemAttr(\"warpScrambleStatus\") * -1)\r\n                        else:\r\n                            warpScrambleStatus = _t(\"Warp Core Strength: %.1f\") % 0\r\n                        label.SetToolTip(wx.ToolTip(\"%s\\n%s\" % (maxWarpDistance, warpScrambleStatus)))\r\n                    elif labelName == \"labelSensorStr\":\r\n                        ecmChance = otherValues[\"jamChance\"]\r\n                        ecmChance = round(ecmChance, 1)\r\n                        if ecmChance > 0:\r\n                            label.SetToolTip(wx.ToolTip(_t(\"Type: {0}\\n\").format(_t(fit.scanType)) +\r\n                                                        # xgettext:no-python-format,python-brace-format\r\n                                                        _t(\"{}% chance to be jammed\").format(formatAmount(ecmChance, 3, 0, 0))))\r\n                        else:\r\n                            label.SetToolTip(wx.ToolTip(_t(\"Type: {}\").format(_t(fit.scanType))))\r\n                    elif labelName == \"labelFullAlignTime\":\r\n                        alignTime = _t(\"Align:\\t%.3fs\") % mainValue\r\n                        mass = _t('Mass:\\t{:,.0f}kg').format(fit.ship.getModifiedItemAttr(\"mass\"))\r\n                        agility = _t(\"Agility:\\t%.3fx\") % (fit.ship.getModifiedItemAttr(\"agility\") or 0)\r\n                        label.SetToolTip(wx.ToolTip(\"%s\\n%s\\n%s\" % (alignTime, mass, agility)))\r\n                    elif labelName == \"labelFullCargo\":\r\n                        tipLines = [_t(\"Cargohold: \") + \"{:,.2f}m\\u00B3 / {:,.2f}m\\u00B3\".format(fit.cargoBayUsed, newValues[\"main\"])]\r\n                        for attrName, tipAlias in list(cargoNamesOrder.items()):\r\n                            if newValues[attrName] > 0:\r\n                                tipLines.append(\"{}: {:,.2f}m\\u00B3\".format(tipAlias, newValues[attrName]))\r\n                        label.SetToolTip(wx.ToolTip(\"\\n\".join(tipLines)))\r\n                    else:\r\n                        label.SetToolTip(wx.ToolTip(\"%.1f\" % mainValue))\r\n                else:\r\n                    label.SetToolTip(wx.ToolTip(\"\"))\r\n                self._cachedValues[counter] = newValues\r\n            elif labelName == \"labelFullWarpSpeed\":\r\n                if fit:\r\n                    maxWarpDistance = _t(\"Max Warp Distance: %.1f AU\") % fit.maxWarpDistance\r\n                    if fit.ship.getModifiedItemAttr(\"warpScrambleStatus\"):\r\n                        warpScrambleStatus = _t(\"Warp Core Strength: %.1f\") % (fit.ship.getModifiedItemAttr(\"warpScrambleStatus\") * -1)\r\n                    else:\r\n                        warpScrambleStatus = _t(\"Warp Core Strength: %.1f\") % 0\r\n                    label.SetToolTip(wx.ToolTip(\"%s\\n%s\" % (maxWarpDistance, warpScrambleStatus)))\r\n                else:\r\n                    label.SetToolTip(wx.ToolTip(\"\"))\r\n            elif labelName == \"labelFullCargo\":\r\n                if fit:\r\n                    cachedCargo = self._cachedValues[counter]\r\n                    # if you add stuff to cargo, the capacity doesn't change and thus it is still cached\r\n                    # This assures us that we force refresh of cargo tooltip\r\n                    tipLines = [_t(\"Cargohold: \") + \"{:,.2f}m\\u00B3 / {:,.2f}m\\u00B3\".format(fit.cargoBayUsed, cachedCargo[\"main\"])]\r\n                    for attrName, tipAlias in list(cargoNamesOrder.items()):\r\n                        if cachedCargo[attrName] > 0:\r\n                            tipLines.append(\"{}: {:,.2f}m\\u00B3\".format(tipAlias, cachedCargo[attrName]))\r\n                    label.SetToolTip(wx.ToolTip(\"\\n\".join(tipLines)))\r\n                else:\r\n                    label.SetToolTip(wx.ToolTip(\"\"))\r\n\r\n            # forces update of probe size, since this stat is used by both sig radius and sensor str\r\n            if labelName == \"labelFullSigRadius\":\r\n                if fit:\r\n                    label.SetToolTip(wx.ToolTip(_t(\"Probe Size: %.3f\") % (fit.probeSize or 0)))\r\n                else:\r\n                    label.SetToolTip(wx.ToolTip(\"\"))\r\n\r\n            counter += 1\r\n        self.panel.Layout()\r\n        self.headerPanel.Layout()\r\n\r\n\r\nTargetingMiscViewMinimal.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/__init__.py",
    "content": ""
  },
  {
    "path": "gui/builtinViewColumns/abilities.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom gui.viewColumn import ViewColumn\r\nimport gui.mainFrame\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass Abilities(ViewColumn):\r\n    name = \"Fighter Abilities\"\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.columnText = _t(\"Active Abilities\")\r\n        self.mask = wx.LIST_MASK_TEXT\r\n\r\n    def getText(self, stuff):\r\n        if isinstance(stuff, Fighter):\r\n            active = [x.name for x in stuff.abilities if x.active]\r\n            if len(active) == 0:\r\n                return \"None\"\r\n            return \", \".join(active)\r\n\r\n\r\nAbilities.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/ammo.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom gui.viewColumn import ViewColumn\r\nfrom gui.bitmap_loader import BitmapLoader\r\n\r\n\r\nclass Ammo(ViewColumn):\r\n    name = \"Ammo\"\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n        self.mask = wx.LIST_MASK_IMAGE\r\n        self.imageId = fittingView.imageList.GetImageIndex(\"damagePattern_small\", \"gui\")\r\n        self.bitmap = BitmapLoader.getBitmap(\"damagePattern_small\", \"gui\")\r\n\r\n    def getText(self, stuff):\r\n        if isinstance(stuff, Fighter):\r\n            # this is an experiment, not sure I like it. But it saves us from duplicating code.\r\n            col = self.columns['Fighter Abilities'](self.fittingView, {})\r\n            text = col.getText(stuff)\r\n            del col\r\n            return text\r\n        if getattr(stuff, \"charge\", None) is not None:\r\n            charges = stuff.numCharges\r\n            if charges > 0:\r\n                cycles = stuff.numShots\r\n                if cycles != 0 and charges != cycles:\r\n                    return \"%s (%d, %d cycles)\" % (stuff.charge.name, charges, cycles)\r\n                else:\r\n                    return \"%s (%d)\" % (stuff.charge.name, charges)\r\n            else:\r\n                return stuff.charge.name\r\n        return \"\"\r\n\r\n    def getImageId(self, mod):\r\n        return -1\r\n\r\n\r\nAmmo.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/ammoIcon.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nfrom gui.viewColumn import ViewColumn\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom eos.saveddata.module import Module\r\n\r\n\r\nclass AmmoIcon(ViewColumn):\r\n    name = \"Ammo Icon\"\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n        self.size = 24\r\n        self.maxsize = self.size\r\n        self.mask = wx.LIST_MASK_IMAGE\r\n        self.columnText = \"\"\r\n\r\n    def getText(self, mod):\r\n        return \"\"\r\n\r\n    def getImageId(self, stuff):\r\n        if not isinstance(stuff, Module):\r\n            return -1\r\n\r\n        if stuff.charge is None:\r\n            return -1\r\n        else:\r\n            iconFile = stuff.charge.iconID if stuff.charge.iconID else \"\"\r\n            if iconFile:\r\n                return self.fittingView.imageList.GetImageIndex(iconFile, \"icons\")\r\n            else:\r\n                return -1\r\n\r\n    def getToolTip(self, mod):\r\n        if isinstance(mod, Module) and mod.charge is not None:\r\n            return mod.charge.name\r\n\r\n\r\nAmmoIcon.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/attributeDisplay.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom gui.viewColumn import ViewColumn\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount\r\n\r\nfrom service.attribute import Attribute\r\nfrom service.market import Market\r\n\r\n\r\nclass AttributeDisplay(ViewColumn):\r\n    name = \"attr\"\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n        sAttr = Attribute.getInstance()\r\n        info = sAttr.getAttributeInfo(params[\"attribute\"])\r\n        self.info = info\r\n        if params[\"showIcon\"]:\r\n            if info.name == \"power\":\r\n                iconFile = \"pg_small\"\r\n                iconType = \"gui\"\r\n            else:\r\n                iconFile = info.iconID\r\n                iconType = \"icons\"\r\n            if iconFile:\r\n                self.imageId = fittingView.imageList.GetImageIndex(iconFile, iconType)\r\n                self.bitmap = BitmapLoader.getBitmap(iconFile, iconType)\r\n            else:\r\n                self.imageId = -1\r\n\r\n            self.mask = wx.LIST_MASK_IMAGE\r\n        else:\r\n            self.imageId = -1\r\n\r\n        if params[\"displayName\"] or self.imageId == -1:\r\n            self.columnText = info.displayName if info.displayName != \"\" else info.name\r\n            self.mask |= wx.LIST_MASK_IMAGE\r\n\r\n        if params[\"direct\"]:\r\n            self.direct = True\r\n            self.view = fittingView\r\n            originalRefresh = fittingView.refresh\r\n            sMkt = Market.getInstance()\r\n\r\n            def refresh(stuff):\r\n                # Hack into our master view and add a callback for ourselves to know when to query\r\n                self.directInfo = sMkt.directAttrRequest(stuff, info) if stuff else None\r\n                originalRefresh(stuff)\r\n\r\n            fittingView.refresh = refresh\r\n\r\n    def getText(self, mod):\r\n        if hasattr(mod, \"item\"):\r\n            attr = mod.getModifiedItemAttr(self.info.name, None)\r\n        else:\r\n            if self.direct:\r\n                info = self.directInfo\r\n                attr = info.get(mod.ID, \"\") if info else \"\"\r\n            else:\r\n                attr = mod.getAttribute(self.info.name)\r\n\r\n        if not attr:\r\n            return \"\"\r\n\r\n        if self.info.name == \"volume\":\r\n            if getattr(mod, \"amount\", 1) != 1:\r\n                attr = \"{} m\\u00B3 ({} m\\u00B3)\".format(\r\n                    formatAmount(attr, 3, 0, 6),\r\n                    formatAmount(attr * mod.amount, 3, 0, 6))\r\n            else:\r\n                attr = \"{} m\\u00B3\".format(formatAmount(attr, 3, 0, 6))\r\n        if isinstance(attr, (float, int)):\r\n            attr = (formatAmount(attr, 3, 0, 3))\r\n\r\n        return attr\r\n\r\n    def getImageId(self, mod):\r\n        return -1\r\n\r\n    def getToolTip(self, stuff):\r\n        if self.info.name == \"cpu\":\r\n            return \"CPU\"\r\n        else:\r\n            return self.info.name.title()\r\n\r\n    @staticmethod\r\n    def getParameters():\r\n        return ((\"attribute\", str, None),\r\n                (\"displayName\", bool, False),\r\n                (\"showIcon\", bool, True),\r\n                (\"direct\", bool, False))\r\n\r\n\r\nAttributeDisplay.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/attributeDisplayGraph.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nfrom abc import ABCMeta, abstractmethod\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport eos.config\r\nfrom eos.saveddata.fit import Fit\r\nfrom eos.saveddata.targetProfile import TargetProfile\r\nfrom eos.utils.spoolSupport import SpoolOptions, SpoolType\r\nfrom graphs.wrapper import BaseWrapper\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom gui.viewColumn import ViewColumn\r\n\r\n\r\nclass GraphColumn(ViewColumn, metaclass=ABCMeta):\r\n\r\n    proportionWidth = 2\r\n    stickPrefixToValue = False\r\n\r\n    def __init__(self, fittingView, iconID, formatSpec=(3, 0, 3)):\r\n        ViewColumn.__init__(self, fittingView)\r\n        self.imageId = fittingView.imageList.GetImageIndex(iconID, 'icons')\r\n        self.bitmap = BitmapLoader.getBitmap(iconID, 'icons')\r\n        self.mask = wx.LIST_MASK_TEXT\r\n        self.formatSpec = formatSpec\r\n\r\n    @abstractmethod\r\n    def _getValue(self, fit):\r\n        raise NotImplementedError\r\n\r\n    def getText(self, stuff):\r\n        if isinstance(stuff, BaseWrapper):\r\n            stuff = stuff.item\r\n        if isinstance(stuff, (Fit, TargetProfile)):\r\n            val, unit = self._getValue(stuff)\r\n            if val is None:\r\n                return ''\r\n            # Stick to value - 25k GJ\r\n            if self.stickPrefixToValue:\r\n                return '{} {}'.format(formatAmount(val, *self.formatSpec), unit)\r\n            # Stick to unit - 25 km\r\n            else:\r\n                return formatAmount(val, *self.formatSpec, unitName=unit)\r\n        return ''\r\n\r\n    @abstractmethod\r\n    def _getFitTooltip(self):\r\n        raise NotImplementedError\r\n\r\n    def getToolTip(self, stuff):\r\n        if isinstance(stuff, BaseWrapper):\r\n            stuff = stuff.item\r\n        if isinstance(stuff, (Fit, TargetProfile)):\r\n            return self._getFitTooltip()\r\n        return ''\r\n\r\n\r\nclass DpsColumn(GraphColumn):\r\n\r\n    name = 'Dps'\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 1432, (3, 0, 0))\r\n\r\n    def _getValue(self, fit):\r\n        defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n        return fit.getTotalDps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False)).total, None\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Declared DPS'\r\n\r\n\r\nDpsColumn.register()\r\n\r\n\r\nclass VolleyColumn(GraphColumn):\r\n\r\n    name = 'Volley'\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 1397, (3, 0, 0))\r\n\r\n    def _getValue(self, fit):\r\n        defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n        return fit.getTotalVolley(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False)).total, None\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Declared volley'\r\n\r\n\r\nVolleyColumn.register()\r\n\r\n\r\nclass SpeedColumn(GraphColumn):\r\n\r\n    name = 'Speed'\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 1389)\r\n\r\n    def _getValue(self, stuff):\r\n        if isinstance(stuff, Fit):\r\n            speed = stuff.ship.getModifiedItemAttr('maxVelocity')\r\n        elif isinstance(stuff, TargetProfile):\r\n            speed = stuff.maxVelocity\r\n        else:\r\n            speed = 0\r\n        return speed, 'm/s'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Maximum speed'\r\n\r\n\r\nSpeedColumn.register()\r\n\r\n\r\nclass AgilityColumn(GraphColumn):\r\n\r\n    name = 'Agility'\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 1401, (3, 0, 0))\r\n\r\n    def _getValue(self, fit):\r\n        return fit.alignTime, None\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Agility factor'\r\n\r\n\r\nAgilityColumn.register()\r\n\r\n\r\nclass RadiusColumn(GraphColumn):\r\n\r\n    name = 'Radius'\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 3266)\r\n\r\n    def _getValue(self, stuff):\r\n        if isinstance(stuff, Fit):\r\n            radius = stuff.ship.getModifiedItemAttr('radius')\r\n        elif isinstance(stuff, TargetProfile):\r\n            radius = stuff.radius\r\n        else:\r\n            radius = 0\r\n        return radius, 'm'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Radius'\r\n\r\n\r\nRadiusColumn.register()\r\n\r\n\r\nclass SignatureRadiusColumn(GraphColumn):\r\n\r\n    name = 'SigRadius'\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 1390)\r\n\r\n    def _getValue(self, stuff):\r\n        if isinstance(stuff, Fit):\r\n            sigRadius = stuff.ship.getModifiedItemAttr('signatureRadius')\r\n        elif isinstance(stuff, TargetProfile):\r\n            sigRadius = stuff.signatureRadius\r\n        else:\r\n            sigRadius = 0\r\n        return sigRadius, 'm'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Signature radius'\r\n\r\n\r\nSignatureRadiusColumn.register()\r\n\r\n\r\nclass FullHpColumn(GraphColumn):\r\n\r\n    name = 'FullHP'\r\n    stickPrefixToValue = True\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 68)\r\n\r\n    def _getValue(self, stuff):\r\n        if isinstance(stuff, Fit):\r\n            full_hp = stuff.hp.get('shield', 0) + stuff.hp.get('armor', 0) + stuff.hp.get('hull', 0)\r\n        elif isinstance(stuff, TargetProfile):\r\n            full_hp = stuff.hp\r\n        else:\r\n            full_hp = 0\r\n        return full_hp, 'hp'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Total raw HP'\r\n\r\n\r\nFullHpColumn.register()\r\n\r\n\r\nclass ShieldAmountColumn(GraphColumn):\r\n\r\n    name = 'ShieldAmount'\r\n    stickPrefixToValue = True\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 1384)\r\n\r\n    def _getValue(self, fit):\r\n        return fit.ship.getModifiedItemAttr('shieldCapacity'), 'HP'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Maximum shield amount'\r\n\r\n\r\nShieldAmountColumn.register()\r\n\r\n\r\nclass ShieldTimeColumn(GraphColumn):\r\n\r\n    name = 'ShieldTime'\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 1392, (3, 0, 0))\r\n\r\n    def _getValue(self, fit):\r\n        return fit.ship.getModifiedItemAttr('shieldRechargeRate') / 1000, 's'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Time to regenerate shield from 0% to 98.7%'\r\n\r\n\r\nShieldTimeColumn.register()\r\n\r\n\r\nclass CapAmountColumn(GraphColumn):\r\n\r\n    name = 'CapAmount'\r\n    stickPrefixToValue = True\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 1668)\r\n\r\n    def _getValue(self, fit):\r\n        return fit.ship.getModifiedItemAttr('capacitorCapacity'), 'GJ'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Maximum capacitor amount'\r\n\r\n\r\nCapAmountColumn.register()\r\n\r\n\r\nclass CapTimeColumn(GraphColumn):\r\n\r\n    name = 'CapTime'\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 1392, (3, 0, 0))\r\n\r\n    def _getValue(self, fit):\r\n        return fit.ship.getModifiedItemAttr('rechargeRate') / 1000, 's'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Time to regenerate capacitor from 0% to 98.7%'\r\n\r\n\r\nCapTimeColumn.register()\r\n\r\n\r\nclass WarpSpeedColumn(GraphColumn):\r\n\r\n    name = 'WarpSpeed'\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 1389, (3, 0, 0))\r\n\r\n    def _getValue(self, fit):\r\n        return fit.warpSpeed, 'AU/s'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Warp speed'\r\n\r\n\r\nWarpSpeedColumn.register()\r\n\r\n\r\nclass WarpDistanceColumn(GraphColumn):\r\n\r\n    name = 'WarpDistance'\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 1391, (3, 0, 0))\r\n\r\n    def _getValue(self, fit):\r\n        return fit.maxWarpDistance, 'AU'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Maximum warp distance'\r\n\r\n\r\nWarpDistanceColumn.register()\r\n\r\n\r\nclass ScanResolutionColumn(GraphColumn):\r\n\r\n    name = 'ScanResolution'\r\n    stickPrefixToValue = True\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 74)\r\n\r\n    def _getValue(self, fit):\r\n        return fit.ship.getModifiedItemAttr('scanResolution'), 'mm'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Scan Resolution'\r\n\r\n\r\nScanResolutionColumn.register()\r\n\r\n\r\nclass ShieldRRColumn(GraphColumn):\r\n\r\n    name = 'ShieldRR'\r\n    stickPrefixToValue = True\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 1384, (3, 0, 3))\r\n\r\n    def _getValue(self, fit):\r\n        defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n        return fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False)).shield, 'HP/s'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Declared shield repair speed'\r\n\r\n\r\nShieldRRColumn.register()\r\n\r\n\r\nclass ArmorRRColumn(GraphColumn):\r\n\r\n    name = 'ArmorRR'\r\n    stickPrefixToValue = True\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 80, (3, 0, 3))\r\n\r\n    def _getValue(self, fit):\r\n        defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n        return fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False)).armor, 'HP/s'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Declared armor repair speed'\r\n\r\n\r\nArmorRRColumn.register()\r\n\r\n\r\nclass HullRRColumn(GraphColumn):\r\n\r\n    name = 'HullRR'\r\n    stickPrefixToValue = True\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView, 67, (3, 0, 3))\r\n\r\n    def _getValue(self, fit):\r\n        defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n        return fit.getRemoteReps(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False)).hull, 'HP/s'\r\n\r\n    def _getFitTooltip(self):\r\n        return 'Declared hull repair speed'\r\n\r\n\r\nHullRRColumn.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/baseIcon.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom eos.const import FittingSlot\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fit import Fit\r\nfrom eos.saveddata.implant import Implant\r\nfrom eos.saveddata.module import Module, Rack\r\nfrom eos.saveddata.targetProfile import TargetProfile\r\nfrom graphs.wrapper import BaseWrapper\r\nfrom gui.viewColumn import ViewColumn\r\n\r\n\r\nclass BaseIcon(ViewColumn):\r\n    name = \"Base Icon\"\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n        self.size = 24\r\n        self.maxsize = self.size\r\n        self.mask = wx.LIST_MASK_IMAGE\r\n        self.columnText = \"\"\r\n        self.shipImage = fittingView.imageList.GetImageIndex(\"ship_small\", \"gui\")\r\n\r\n    def getImageId(self, stuff):\r\n        if isinstance(stuff, BaseWrapper):\r\n            stuff = stuff.item\r\n\r\n        if isinstance(stuff, Drone):\r\n            return -1\r\n        elif isinstance(stuff, Fit):\r\n            return self.shipImage\r\n        elif isinstance(stuff, Rack):\r\n            return -1\r\n        elif isinstance(stuff, Implant):\r\n            if stuff.character:  # if it has a character as it's parent\r\n                return self.fittingView.imageList.GetImageIndex(\"character_small\", \"gui\")\r\n            else:\r\n                return self.shipImage\r\n        elif isinstance(stuff, Module):\r\n            if stuff.isEmpty:\r\n                return self.fittingView.imageList.GetImageIndex(\"slot_%s_small\" % FittingSlot(stuff.slot).name.lower(),\r\n                                                                \"gui\")\r\n            else:\r\n                return self.loadIconFile(stuff.item.iconID or \"\")\r\n        elif isinstance(stuff, TargetProfile):\r\n            return self.fittingView.imageList.GetImageIndex(\"target_small\", \"gui\")\r\n\r\n        item = getattr(stuff, \"item\", stuff)\r\n        return self.loadIconFile(item.iconID)\r\n\r\n    def loadIconFile(self, iconFile):\r\n        if iconFile:\r\n            return self.fittingView.imageList.GetImageIndex(iconFile, \"icons\")\r\n        else:\r\n            return -1\r\n\r\n\r\nBaseIcon.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/baseName.py",
    "content": "# coding: utf-8\r\n# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport gui.mainFrame\r\nfrom eos.const import FittingSlot\r\nfrom eos.saveddata.cargo import Cargo\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom eos.saveddata.fit import Fit, FitLite\r\nfrom eos.saveddata.implant import Implant\r\nfrom eos.saveddata.module import Module, Rack\r\nfrom eos.saveddata.targetProfile import TargetProfile\r\nfrom graphs.wrapper import BaseWrapper\r\nfrom gui.builtinContextMenus.envEffectAdd import AddEnvironmentEffect\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom gui.viewColumn import ViewColumn\r\nfrom service.fit import Fit as FitSvc\r\nfrom service.market import Market\r\n\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass BaseName(ViewColumn):\r\n\r\n    name = \"Base Name\"\r\n    proportionWidth = 7\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.columnText = _t(\"Name\")\r\n        self.mask = wx.LIST_MASK_TEXT\r\n        self.projectedView = isinstance(fittingView, gui.builtinAdditionPanes.projectedView.ProjectedView)\r\n        self.rackTranslations = {\r\n            FittingSlot.HIGH: _t('High'),\r\n            FittingSlot.MED: _t('Med'),\r\n            FittingSlot.LOW: _t('Low'),\r\n            FittingSlot.SUBSYSTEM: _t('Subsystem'),\r\n            FittingSlot.RIG: _t('Rig'),\r\n            FittingSlot.SERVICE: _t('Service')\r\n        }\r\n\r\n\r\n    def getText(self, stuff):\r\n        if isinstance(stuff, BaseWrapper):\r\n            stuff = stuff.item\r\n\r\n        if isinstance(stuff, Drone):\r\n            if FitSvc.getInstance().serviceFittingOptions[\"expandedMutantNames\"]:\r\n                return \"%dx %s\" % (stuff.amount, stuff.fullName)\r\n            else:\r\n                return \"%dx %s\" % (stuff.amount, stuff.item.name)\r\n        elif isinstance(stuff, Fighter):\r\n            return \"%d/%d %s\" % \\\r\n                   (stuff.amount, stuff.getModifiedItemAttr(\"fighterSquadronMaxSize\"), stuff.item.name)\r\n        elif isinstance(stuff, Cargo):\r\n            if stuff.item.group.name in (\"Cargo Container\", \"Secure Cargo Container\", \"Audit Log Secure Container\", \"Freight Container\"):\r\n                capacity = stuff.item.getAttribute('capacity')\r\n                if capacity:\r\n                    return \"{:d}x {} ({} m\\u00B3)\".format(stuff.amount, stuff.item.name, formatAmount(capacity, 3, 0, 6))\r\n            return \"{:d}x {}\".format(stuff.amount, stuff.item.name)\r\n        elif isinstance(stuff, Fit):\r\n            if self.projectedView:\r\n                # we need a little more information for the projected view\r\n                fitID = self.mainFrame.getActiveFit()\r\n                info = stuff.getProjectionInfo(fitID)\r\n\r\n                if info:\r\n                    return \"%dx %s (%s)\" % (stuff.getProjectionInfo(fitID).amount, stuff.name, stuff.ship.item.name)\r\n\r\n                pyfalog.warning(\"Projected View trying to display things that aren't there. stuff: {}, info: {}\", repr(stuff),\r\n                                info)\r\n                return \"<unknown>\"\r\n            else:\r\n                return \"%s (%s)\" % (stuff.name, stuff.ship.item.name)\r\n        elif isinstance(stuff, FitLite):\r\n            return \"{} ({})\".format(stuff.name, stuff.shipName)\r\n        elif isinstance(stuff, Rack):\r\n            if FitSvc.getInstance().serviceFittingOptions[\"rackLabels\"]:\r\n                if stuff.slot == FittingSlot.MODE:\r\n                    return '─ {} ─'.format(_t('Tactical Mode'))\r\n                else:\r\n                    return '─ {} ─'.format(_t('{} {} Slot', '{} {} Slots', stuff.num).format(stuff.num, self.rackTranslations.get(stuff.slot, FittingSlot(stuff.slot).name.capitalize())))\r\n            else:\r\n                return \"\"\r\n        elif isinstance(stuff, Module):\r\n            if self.projectedView:\r\n                # check for projected abyssal name\r\n                name_check = stuff.item.customName[0:-2]\r\n                type = AddEnvironmentEffect.abyssal_mapping.get(name_check, None)\r\n                if type:\r\n                    sMkt = Market.getInstance()\r\n                    type = sMkt.getItem(type)\r\n                    return \"{} {}\".format(type.name, stuff.item.customName[-1:])\r\n\r\n            if stuff.isEmpty:\r\n                return \"%s Slot\" % FittingSlot(stuff.slot).name.capitalize()\r\n            else:\r\n                if FitSvc.getInstance().serviceFittingOptions[\"expandedMutantNames\"]:\r\n                    return stuff.fullName\r\n                else:\r\n                    return stuff.item.customName\r\n        elif isinstance(stuff, Implant):\r\n            return stuff.item.name\r\n        elif isinstance(stuff, TargetProfile):\r\n            return stuff.shortName\r\n        else:\r\n            item = getattr(stuff, \"item\", stuff)\r\n\r\n            if FitSvc.getInstance().serviceFittingOptions[\"showMarketShortcuts\"]:\r\n                marketShortcut = getattr(item, \"marketShortcut\", None)\r\n\r\n                if marketShortcut:\r\n                    # use unicode subscript to display shortcut value\r\n                    shortcut = chr(marketShortcut + 8320) + \" \"\r\n                    del item.marketShortcut\r\n                    return shortcut + item.name\r\n\r\n            return item.name\r\n\r\n\r\nBaseName.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/capacitorUse.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom eos.saveddata.mode import Mode\r\nfrom eos.utils.float import floatUnerr\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom gui.viewColumn import ViewColumn\r\nfrom service.attribute import Attribute\r\nfrom service.fit import Fit\r\n\r\n\r\nregenGroups = (\r\n    'Capacitor Battery', 'Structure Capacitor Battery',\r\n    'Capacitor Power Relay', 'Structure Capacitor Power Relay',\r\n    'Capacitor Recharger', 'Power Diagnostic System', 'Capacitor Flux Coil',\r\n    'Rig Core', 'Shield Power Relay')\r\n\r\n\r\nclass CapacitorUse(ViewColumn):\r\n\r\n    name = 'Capacitor Usage'\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n\r\n        self.mask = wx.LIST_MASK_IMAGE\r\n\r\n        Attribute.getInstance().getAttributeInfo('capacitorNeed')\r\n        self.imageId = fittingView.imageList.GetImageIndex('capacitorRecharge_small', 'gui')\r\n        self.bitmap = BitmapLoader.getBitmap('capacitorRecharge_small', 'gui')\r\n\r\n    def getText(self, mod):\r\n        if isinstance(mod, Mode):\r\n            return ''\r\n        fit = Fit.getInstance().getFit(self.fittingView.getActiveFit())\r\n        if fit is None:\r\n            return ''\r\n        capUse = mod.capUse\r\n        # Do not show cap diff numbers\r\n        if mod.item is not None and mod.item.group.name in regenGroups:\r\n            capRegenDiff = fit.getCapRegenGainFromMod(mod)\r\n        else:\r\n            capRegenDiff = 0\r\n        capDiff = floatUnerr(capRegenDiff - capUse)\r\n        if capDiff:\r\n            return formatAmount(capDiff, 3, 0, 3, forceSign=True)\r\n        else:\r\n            return ''\r\n\r\n    def getImageId(self, mod):\r\n        return -1\r\n\r\n    def getToolTip(self, mod):\r\n        if isinstance(mod, Mode):\r\n            return ''\r\n        if mod.item is not None and mod.item.group.name in regenGroups:\r\n            return 'Effect on peak capacitor regeneration'\r\n        if mod.capUse:\r\n            return 'Capacitor usage'\r\n        return ''\r\n\r\n\r\nCapacitorUse.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/dampScanRes.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom eos.saveddata.fit import Fit\r\nfrom graphs.wrapper import BaseWrapper\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom eos.utils.float import floatUnerr\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom gui.viewColumn import ViewColumn\r\n\r\n\r\nclass DampScanResColumn(ViewColumn):\r\n\r\n    name = 'Damp ScanRes'\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n        self.imageId = fittingView.imageList.GetImageIndex(74, 'icons')\r\n        self.bitmap = BitmapLoader.getBitmap(74, 'icons')\r\n        self.mask = wx.LIST_MASK_IMAGE\r\n\r\n    def getText(self, stuff):\r\n        if isinstance(stuff, BaseWrapper):\r\n            stuff = stuff.item\r\n        mult = 1\r\n        if isinstance(stuff, Fit):\r\n            mult = floatUnerr(stuff.getDampMultScanRes())\r\n        if mult == 1:\r\n            text = ''\r\n        else:\r\n            text = '{}%'.format(formatAmount((mult - 1) * 100, 3, 0, 0, forceSign=True))\r\n        return text\r\n\r\n    def getImageId(self, stuff):\r\n        return -1\r\n\r\n    def getToolTip(self, stuff):\r\n        return 'Scan resolution dampening'\r\n\r\n\r\nDampScanResColumn.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/droneEhp.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom service.attribute import Attribute\r\nfrom gui.viewColumn import ViewColumn\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount\r\n\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass DroneEhpColumn(ViewColumn):\r\n    name = \"Drone HP\"\r\n\r\n    def __init__(self, fittingView, params=None):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        if params is None:\r\n            params = {\"showIcon\": True, \"displayName\": False}\r\n\r\n        ViewColumn.__init__(self, fittingView)\r\n\r\n        sAttr = Attribute.getInstance()\r\n        info = sAttr.getAttributeInfo(\"shieldCapacity\")\r\n        self.info = info\r\n        if params[\"showIcon\"]:\r\n            iconFile = info.iconID\r\n            if iconFile:\r\n                self.imageId = fittingView.imageList.GetImageIndex(iconFile, \"icons\")\r\n                self.bitmap = BitmapLoader.getBitmap(iconFile, \"icons\")\r\n            else:\r\n                self.imageId = -1\r\n            self.mask = wx.LIST_MASK_IMAGE\r\n        else:\r\n            self.imageId = -1\r\n\r\n        if params[\"displayName\"] or self.imageId == -1:\r\n            self.columnText = info.displayName if info.displayName != \"\" else info.name\r\n            self.mask |= wx.LIST_MASK_TEXT\r\n\r\n    def getText(self, stuff):\r\n        if not isinstance(stuff, (Drone, Fighter)):\r\n            return \"\"\r\n        if self.mainFrame.statsPane.nameViewMap[\"resistancesViewFull\"].showEffective:\r\n            ehp = sum(stuff.ehp.values())\r\n        else:\r\n            ehp = sum(stuff.hp.values())\r\n        return formatAmount(ehp, 3, 0, 9)\r\n\r\n    def getImageId(self, mod):\r\n        return -1\r\n\r\n    def getParameters(self):\r\n        return (\"displayName\", bool, False), (\"showIcon\", bool, True)\r\n\r\n    def getToolTip(self, stuff):\r\n        if not isinstance(stuff, (Drone, Fighter)):\r\n            return \"\"\r\n        if self.mainFrame.statsPane.nameViewMap[\"resistancesViewFull\"].showEffective:\r\n            return _t(\"Effective HP\")\r\n        else:\r\n            return _t(\"HP\")\r\n\r\n\r\nDroneEhpColumn.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/droneRegen.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.mainFrame\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom gui.viewColumn import ViewColumn\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount\r\n\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass DroneRegenColumn(ViewColumn):\r\n    name = \"Drone Regen\"\r\n\r\n    def __init__(self, fittingView, params=None):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        if params is None:\r\n            params = {\"showIcon\": True, \"displayName\": False}\r\n\r\n        ViewColumn.__init__(self, fittingView)\r\n\r\n        if params[\"showIcon\"]:\r\n            self.imageId = fittingView.imageList.GetImageIndex(\"shieldPassive_small\", \"gui\")\r\n            self.bitmap = BitmapLoader.getBitmap(\"shieldPassive_small\", \"gui\")\r\n            self.mask = wx.LIST_MASK_IMAGE\r\n        else:\r\n            self.imageId = -1\r\n\r\n        if params[\"displayName\"] or self.imageId == -1:\r\n            self.columnText = _(\"Misc data\")\r\n            self.mask |= wx.LIST_MASK_TEXT\r\n\r\n    def getText(self, stuff):\r\n        if not isinstance(stuff, (Drone, Fighter)):\r\n            return \"\"\r\n        regen = stuff.calculateShieldRecharge()\r\n        if (\r\n            self.mainFrame.statsPane.nameViewMap[\"resistancesViewFull\"].showEffective\r\n            and stuff.owner and stuff.owner.damagePattern is not None\r\n        ):\r\n            regen = stuff.owner.damagePattern.effectivify(stuff, regen, 'shield')\r\n        return '{}/s'.format(formatAmount(regen, 3, 0, 9))\r\n\r\n    def getImageId(self, mod):\r\n        return -1\r\n\r\n    def getParameters(self):\r\n        return (\"displayName\", bool, False), (\"showIcon\", bool, True)\r\n\r\n    def getToolTip(self, stuff):\r\n        if not isinstance(stuff, (Drone, Fighter)):\r\n            return \"\"\r\n        if self.mainFrame.statsPane.nameViewMap[\"resistancesViewFull\"].showEffective:\r\n            return _t(\"Effective Shield Regeneration\")\r\n        else:\r\n            return _t(\"Shield Regeneration\")\r\n\r\n\r\nDroneRegenColumn.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/graphColor.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom graphs.style import BASE_COLORS\r\nfrom graphs.wrapper import SourceWrapper\r\nfrom gui.viewColumn import ViewColumn\r\n\r\n\r\nclass GraphColor(ViewColumn):\r\n\r\n    name = 'Graph Color'\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n        self.resizable = False\r\n        self.size = 24\r\n        self.maxsize = self.size\r\n        self.mask = wx.LIST_MASK_TEXT\r\n\r\n    def getImageId(self, stuff):\r\n        if isinstance(stuff, SourceWrapper):\r\n            try:\r\n                colorData = BASE_COLORS[stuff.colorID]\r\n            except KeyError:\r\n                return -1\r\n            img = self.fittingView.imageList.GetImageIndex(colorData.iconName, 'gui')\r\n            return img\r\n        return -1\r\n\r\n    def getToolTip(self, stuff):\r\n        if isinstance(stuff, SourceWrapper):\r\n            return 'Change line color'\r\n        return ''\r\n\r\n\r\nGraphColor.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/graphLightness.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom graphs.style import LIGHTNESSES\r\nfrom graphs.wrapper import TargetWrapper\r\nfrom gui.viewColumn import ViewColumn\r\n\r\n\r\nclass GraphLightness(ViewColumn):\r\n\r\n    name = 'Graph Lightness'\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n        self.resizable = False\r\n        self.size = 24\r\n        self.maxsize = self.size\r\n        self.mask = wx.LIST_MASK_TEXT\r\n\r\n    def getImageId(self, stuff):\r\n        if isinstance(stuff, TargetWrapper):\r\n            try:\r\n                lightnessData = LIGHTNESSES[stuff.lightnessID]\r\n            except KeyError:\r\n                return -1\r\n            img = self.fittingView.imageList.GetImageIndex(lightnessData.iconName, 'gui')\r\n            return img\r\n        return -1\r\n\r\n    def getToolTip(self, stuff):\r\n        if isinstance(stuff, TargetWrapper):\r\n            return 'Change line brightness'\r\n        return ''\r\n\r\n\r\nGraphLightness.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/graphLineStyle.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom graphs.style import STYLES\r\nfrom graphs.wrapper import TargetWrapper\r\nfrom gui.viewColumn import ViewColumn\r\n\r\n\r\nclass GraphLineStyle(ViewColumn):\r\n\r\n    name = 'Graph Line Style'\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n        self.resizable = False\r\n        self.size = 24\r\n        self.maxsize = self.size\r\n        self.mask = wx.LIST_MASK_TEXT\r\n\r\n    def getImageId(self, stuff):\r\n        if isinstance(stuff, TargetWrapper):\r\n            try:\r\n                styleData = STYLES[stuff.lineStyleID]\r\n            except KeyError:\r\n                return -1\r\n            img = self.fittingView.imageList.GetImageIndex(styleData.iconName, 'gui')\r\n            return img\r\n        return -1\r\n\r\n    def getToolTip(self, stuff):\r\n        if isinstance(stuff, TargetWrapper):\r\n            return 'Change line style'\r\n        return ''\r\n\r\n\r\nGraphLineStyle.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/heat.py",
    "content": "# =============================================================================\r\n# 2026 Ansbiget Hild Elarik\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nimport math\r\n\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom eos.const import FittingModuleState\r\nfrom eos.saveddata.fit import Fit\r\nfrom eos.saveddata.module import Module\r\nfrom gui.viewColumn import ViewColumn\r\nfrom service.fit import Fit\r\n\r\nimport gui.mainFrame\r\n\r\nclass Thermodynamics():\r\n    def __init__(self, fit):\r\n        self.fit = fit\r\n        self.hgm = fit.ship.getModifiedItemAttr(\"heatGenerationMultiplier\")\r\n        self.harm = self.calcHeatAbsorbtionRateModifier()\r\n        self.slotfactor = self.calcSlotFactor()\r\n        self.simTime = 120\r\n\r\n    def getSlotPos(self, mod): # get rack position of mod, 0-7\r\n        rack = []\r\n        for m in self.fit.modules:\r\n            if m.slot == mod.slot:\r\n                rack.insert(0, m)\r\n\r\n        for i, m in enumerate(rack):\r\n            if m == mod:\r\n                return i\r\n\r\n    def calcHeatAbsorbtionRateModifier(self):\r\n        harm = [0,0,0,0] # 0 is a dummy slot, align with mod.slot constants, 1=low, 2=med, 3=hi, 4=rig, ...\r\n\r\n        for mod in self.fit.modules:\r\n            if(mod.state == FittingModuleState.OVERHEATED):\r\n                harm[mod.slot] += mod.getModifiedItemAttr(\"heatAbsorbtionRateModifier\")\r\n\r\n        return harm\r\n\r\n        \"\"\"\r\n        HANGAR.ShipInfoThermodynamics.prototype.getHARM = function() {\r\n            var harm = [0,0,0];\r\n            var rack = [\"hs\", \"ms\", \"ls\"];\r\n\r\n            for(var i = 0; i < rack.length; i++) {\r\n\r\n                for(var j = 1; j <= 8; j++) {\r\n                    // if slot and slot is overheated\r\n                    if(this.shipinfo.ship.slots[rack[i]+j] && this.fitwindow.slots[rack[i]+j].find(\" .sloticon\").hasClass(\"heat\") ) {\r\n                        harm[i] += this.shipinfo.ship.slots[rack[i]+j].heatAbsorbtionRateModifier;\r\n                    }\r\n                }\r\n            }\r\n\r\n            return harm;\r\n        };\r\n        \"\"\"\r\n\r\n    def calcSlotFactor(self):\r\n        slots = self.fit.ship.getModifiedItemAttr(\"hiSlots\") + self.fit.ship.getModifiedItemAttr(\"medSlots\") + self.fit.ship.getModifiedItemAttr(\"lowSlots\")\r\n        empty = self.fit.getSlotsFree(3) + self.fit.getSlotsFree(2) + self.fit.getSlotsFree(1) # FittingSlot.HIGH doesn\"t work here?\r\n        rigslots = self.fit.getNumSlots(4)\r\n\r\n        return (slots - empty) / (slots + rigslots)\r\n\r\n        \"\"\"\r\n            HANGAR.ShipInfoThermodynamics.prototype.getSlotFactor = function() {\r\n            var slots = 0;\r\n            var emptyslots = 0;\r\n            for(var i = 1; i <= 8; i++) {\r\n\r\n                var hs = this.fitwindow.slots[\"hs\"+i];\r\n                var ms = this.fitwindow.slots[\"ms\"+i];\r\n                var ls = this.fitwindow.slots[\"ls\"+i];\r\n\r\n                if(hs.hasClass(\"highslot\") ) {\r\n                    slots++;\r\n                    if(!hs.hasClass(\"occupied\") || hs.hasClass(\"offline\") ) {\r\n                        emptyslots++;\r\n                    }\r\n                }\r\n                if(ms.hasClass(\"midslot\") ) {\r\n                    slots++;\r\n                    if(!ms.hasClass(\"occupied\") || ms.hasClass(\"offline\") ) {\r\n                        emptyslots++;\r\n                    }\r\n                }\r\n                if(ls.hasClass(\"lowslot\") ) {\r\n                    slots++;\r\n                    if(!ls.hasClass(\"occupied\") || ls.hasClass(\"offline\") ) {\r\n                        emptyslots++;\r\n                    }\r\n                }\r\n            }\r\n\r\n            return (slots-emptyslots)/(slots + this.shipinfo.ship.data.rigSlots);\r\n        };\r\n        \"\"\"\r\n\r\n    def calcDamageProbability(self, mod, t): # get chance the module is damaged when overheated at time t\r\n        keys = [\"\", \"heatAttenuationLow\", \"heatAttenuationMed\", \"heatAttenuationHi\"]\r\n        att = self.fit.ship.getModifiedItemAttr(keys[mod.slot], 0.25)\r\n        rackheat = 1 - pow(math.e, (-t * self.hgm * self.harm[mod.slot]))\r\n        slotpos = self.getSlotPos(mod)\r\n\r\n        probs = []\r\n        for m in self.fit.modules:\r\n            if (m == mod): continue\r\n            if m.slot == mod.slot:\r\n                if m.state == FittingModuleState.OVERHEATED:\r\n                    i = self.getSlotPos(m)\r\n                    pos = abs(i - slotpos) # get rack distance to other overheated module\r\n                    probs.append(pow(att, pos) * self.slotfactor * rackheat)\r\n\r\n        p = 1\r\n        for i in range(0, len(probs)):\r\n            p *= (1 - probs[i])\r\n\r\n        selfprob = self.slotfactor * rackheat\r\n        res = selfprob if p == 1 else 1 - p * (1 - selfprob)\r\n\r\n        return res\r\n\r\n        \"\"\"\r\n        HANGAR.ShipInfoThermodynamics.prototype.getDamageProb = function(slot, t) {\r\n            var rack = slot[0] == \"h\" ? \"hs\" : slot[0] == \"m\" ? \"ms\" : \"ls\";\r\n            var harmNdx = rack === \"hs\" ? 0 : rack === \"ms\" ? 1 : 2;\r\n            var att = rack == \"hs\" ? this.shipinfo.ship.data.heatAttenuationHi :\r\n                    rack == \"ms\" ? this.shipinfo.ship.data.heatAttenuationMed :\r\n                    this.shipinfo.ship.data.heatAttenuationLow ?\r\n                    this.shipinfo.ship.data.heatAttenuationLow : 0.25;\r\n\r\n            var slotpos = parseInt( slot.substr(2) );\r\n            var rackheat = 1 + -Math.pow(Math.E, (-t * this.hgm * this.harm[harmNdx]));\r\n\r\n            var prob = [];\r\n            for(var i = 1; i <= 8; i++) {\r\n                if(rack+i == slot) continue;\r\n                if(this.shipinfo.ship.slots[ rack+i ] && this.shipinfo.ship.slots[ rack+i ].state === \"overload\"){\r\n                    var pos = Math.abs(i - slotpos);\r\n                    prob.push( Math.pow(att, pos)*this.slotfactor*rackheat );\r\n                }\r\n            }\r\n\r\n            var p = 1;\r\n            for(var i = 0; i < prob.length; i++) {\r\n                p *= (1-prob[i]);\r\n            }\r\n\r\n            var selfprob = this.slotfactor * rackheat;\r\n            if(p === 1) {\r\n                return selfprob;\r\n            } else {\r\n                return 1 - p*(1-selfprob);\r\n            }\r\n        };\r\n        \"\"\"\r\n\r\n    def calcBurnCycles(self, mod): # estimates the number of cycles a module will OH before it burns out\r\n        speed = mod.getModifiedItemAttr(\"speed\")\r\n        duration = mod.getModifiedItemAttr(\"duration\")\r\n        inc = speed / 1000 if speed else duration / 1000\r\n        t = inc\r\n\r\n        fp = [] # failure probabilities\r\n        p = lastp = 0\r\n        while(t < self.simTime):\r\n            p = self.calcDamageProbability(mod, t)\r\n            fp.append(p)\r\n\r\n            if f\"{p:.2f}\" == f\"{lastp:.2f}\":\r\n                break\r\n\r\n            t += inc\r\n            lastp = p\r\n\r\n        E = 0 # expected wait to failure\r\n        n = math.ceil(mod.getModifiedItemAttr(\"hp\") / mod.getModifiedItemAttr(\"heatDamage\")) # fault tolerance\r\n        a = [1]\r\n\r\n        for i in range(n):\r\n            a.append(0)\r\n\r\n        for t, fp_t in enumerate(fp):\r\n            E += (t + 1) * fp_t * a[n - 1]\r\n\r\n            for k in range(n - 1, 0, -1):\r\n                a[k] = (1 - fp_t) * a[k] + fp_t * a[k - 1]\r\n\r\n            a[0] = (1 - fp_t) * a[0]\r\n\r\n        for k in range(n):\r\n            E += (t + 1 + (n - k) * (1 / fp[t])) * a[k]\r\n\r\n        return math.floor(E)\r\n\r\n        \"\"\"\r\n        HANGAR.ShipInfoThermodynamics.prototype.calcBurnCycles = function(slot) {\r\n            var fp = [];\r\n            var p = 0, lastp = 0;\r\n            var mod = this.shipinfo.ship.slots[slot];\r\n            var inc = mod.speed ? mod.speed/1000 : mod.duration/1000;\r\n            var t = inc;\r\n\r\n            while(t < this.simTime) {\r\n                p = this.getDamageProb(slot, t);\r\n                fp.push(p);\r\n                if(p.toFixed(2) === lastp.toFixed(2)) break;\r\n                t += inc;\r\n                lastp = p;\r\n            }\r\n\r\n            //http://jsfiddle.net/kkspy/86/\r\n            var E = 0;\r\n            var n = Math.ceil(mod.hp / mod.heatDamage);\r\n            var a = [1];\r\n            for(var i = 1; i < n;i++) { a.push(0); }\r\n\r\n            for(var t = 0; t < fp.length; t++) {\r\n                E += (t+1)*fp[t]*a[n-1];\r\n                for(var k = n-1; k > 0; k--) {\r\n                    a[k] = (1-fp[t])*a[k] + fp[t]*a[k-1];\r\n                }\r\n                a[0] = (1-fp[t])*a[0];\r\n            }\r\n\r\n            t--;\r\n            for(var k = 0; k < n; k++) {\r\n                E += ( t+1 + (n-k)*(1/fp[t]))*a[k];\r\n            }\r\n\r\n            return Math.floor(E);\r\n        };\r\n        \"\"\"\r\n\r\nclass Heat(ViewColumn):\r\n    name = \"Heat\"\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.resizable = False\r\n        self.size = 54\r\n        self.maxsize = self.size * 2\r\n        self.imageId = fittingView.imageList.GetImageIndex(\"state_overheated_small\", \"gui\")\r\n        self.bitmap = BitmapLoader.getBitmap(\"state_overheated_small\", \"gui\")\r\n        self.mask = wx.LIST_MASK_IMAGE\r\n\r\n    def getText(self, mod):\r\n        if not isinstance(mod, Module) or mod.state != FittingModuleState.OVERHEATED:\r\n            return \"\"\r\n\r\n        thermo = Thermodynamics(Fit.getInstance().getFit(self.mainFrame.getActiveFit()))\r\n        burnCycles = thermo.calcBurnCycles(mod)\r\n        duration = mod.getModifiedItemAttr(\"duration\") / 1000\r\n        speed = mod.getModifiedItemAttr(\"speed\") / 1000\r\n        cycleTime = duration or speed\r\n\r\n        t = burnCycles * cycleTime\r\n        s = t % 60\r\n        m = (t / 60) % 60\r\n        h = (t / 3600) % 24\r\n        out = [f\"{int(m):02d}\", f\"{int(s):02d}\"]\r\n\r\n        if int(h) > 0: # hours is rarely relevant, only show if it is\r\n            out.insert(0, f\"{int(h):02d}\")\r\n\r\n        return \":\".join(out) # display as 00:00:00 to vertically align across slot cols consistently\r\n\r\n    def getToolTip(self, mod):\r\n        if isinstance(mod, Module) and mod.state == FittingModuleState.OVERHEATED:\r\n            return \"Estimated time til burnout\" # TODO localize\r\n\r\n\r\nHeat.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/maxRange.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom eos.saveddata.mode import Mode\r\nfrom service.attribute import Attribute\r\nfrom gui.viewColumn import ViewColumn\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount, roundToPrec\r\n\r\n\r\nclass MaxRange(ViewColumn):\r\n    name = \"Max Range\"\r\n\r\n    def __init__(self, fittingView, params=None):\r\n        if params is None:\r\n            params = {\"showIcon\": True, \"displayName\": False}\r\n\r\n        ViewColumn.__init__(self, fittingView)\r\n\r\n        sAttr = Attribute.getInstance()\r\n        info = sAttr.getAttributeInfo(\"maxRange\")\r\n        self.info = info\r\n        if params[\"showIcon\"]:\r\n            iconFile = info.iconID\r\n            if iconFile:\r\n                self.imageId = fittingView.imageList.GetImageIndex(iconFile, \"icons\")\r\n                self.bitmap = BitmapLoader.getBitmap(iconFile, \"icons\")\r\n            else:\r\n                self.imageId = -1\r\n            self.mask = wx.LIST_MASK_IMAGE\r\n        else:\r\n            self.imageId = -1\r\n\r\n        if params[\"displayName\"] or self.imageId == -1:\r\n            self.columnText = info.displayName if info.displayName != \"\" else info.name\r\n            self.mask |= wx.LIST_MASK_TEXT\r\n\r\n    def getText(self, stuff):\r\n        if isinstance(stuff, Mode):\r\n            return \"\"\r\n\r\n        maxRange = stuff.maxRange if hasattr(stuff, \"maxRange\") else stuff.getModifiedItemAttr(\"maxRange\", None)\r\n        falloff = stuff.falloff\r\n        if falloff and falloff >= 5:\r\n            falloff = \"+%sm\" % formatAmount(falloff, 3, 0, 3)\r\n        else:\r\n            falloff = \"\"\r\n\r\n        if maxRange:\r\n            return \"%sm%s\" % (formatAmount(maxRange, 3, 0, 3), falloff)\r\n        else:\r\n            return \"\" + falloff\r\n\r\n    def getImageId(self, mod):\r\n        return -1\r\n\r\n    def getParameters(self):\r\n        return (\"displayName\", bool, False), (\"showIcon\", bool, True)\r\n\r\n    def getToolTip(self, mod):\r\n        lines = []\r\n        missileRangeData = mod.missileMaxRangeData if hasattr(mod, \"missileMaxRangeData\") else None\r\n        if missileRangeData is not None:\r\n            lines.append('Missile flight range')\r\n            lowerRange, higherRange, higherChance = missileRangeData\r\n            if roundToPrec(higherChance, 3) not in (0, 1):\r\n                lines.append('{}% chance to fly {}m'.format(\r\n                    formatAmount((1 - higherChance) * 100, prec=3, lowest=0, highest=0),\r\n                    formatAmount(lowerRange, prec=3, lowest=0, highest=3)))\r\n                lines.append('{}% chance to fly {}m'.format(\r\n                    formatAmount(higherChance * 100, prec=3, lowest=0, highest=0),\r\n                    formatAmount(higherRange, prec=3, lowest=0, highest=3)))\r\n        else:\r\n            lines.append(\"Optimal + Falloff\")\r\n        return '\\n'.join(lines)\r\n\r\n\r\nMaxRange.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/misc.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\nimport gui.mainFrame\r\nfrom gui.viewColumn import ViewColumn\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom gui.utils.listFormatter import formatList\r\nfrom eos.utils.float import floatUnerr\r\nfrom eos.utils.spoolSupport import SpoolType, SpoolOptions\r\nimport eos.config\r\n\r\n\r\nclass Miscellanea(ViewColumn):\r\n    name = \"Miscellanea\"\r\n\r\n    def __init__(self, fittingView, params=None):\r\n        if params is None:\r\n            params = {\"showIcon\": True, \"displayName\": False}\r\n\r\n        ViewColumn.__init__(self, fittingView)\r\n        if params[\"showIcon\"]:\r\n            self.imageId = fittingView.imageList.GetImageIndex(\"column_misc\", \"gui\")\r\n            self.bitmap = BitmapLoader.getBitmap(\"column_misc\", \"gui\")\r\n            self.mask = wx.LIST_MASK_IMAGE\r\n        else:\r\n            self.imageId = -1\r\n\r\n        if params[\"displayName\"] or self.imageId == -1:\r\n            self.columnText = _(\"Misc data\")\r\n            self.mask |= wx.LIST_MASK_TEXT\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.fittingView = fittingView\r\n\r\n    def getText(self, stuff):\r\n        return self.__getData(stuff)[0]\r\n\r\n    def getToolTip(self, mod):\r\n        return self.__getData(mod)[1]\r\n\r\n    def getImageId(self, mod):\r\n        return -1\r\n\r\n    def getParameters(self):\r\n        return (\"displayName\", bool, False), (\"showIcon\", bool, True)\r\n\r\n    def __getData(self, stuff):\r\n        item = stuff.item\r\n        if item is None:\r\n            return \"\", None\r\n        itemGroup = item.group.name\r\n        itemCategory = item.category.name\r\n\r\n        if itemGroup == \"Ship Modifiers\":\r\n            return \"\", None\r\n        elif itemGroup == \"Booster\":\r\n            stuff.getModifiedItemAttr(\"boosterDuration\")\r\n            text = \"{0} min\".format(formatAmount(stuff.getModifiedItemAttr(\"boosterDuration\") / 1000 / 60, 3, 0, 3))\r\n            return text, \"Booster Duration\"\r\n        elif itemGroup in (\"Super Weapon\", \"Structure Doomsday Weapon\"):\r\n            volleyParams = stuff.getVolleyParameters(ignoreState=True)\r\n            dmg = sum(dt.total for dt in volleyParams.values())\r\n            duration = (max(volleyParams) - min(volleyParams)) / 1000\r\n            if dmg <= 0:\r\n                text = \"\"\r\n                tooltip = \"\"\r\n            elif duration > 0:\r\n                text = \"{} over {}s\".format(\r\n                    formatAmount(dmg, 3, 0, 6),\r\n                    formatAmount((duration), 0, 0, 0))\r\n                tooltip = \"Raw damage done over time\"\r\n            else:\r\n                text = \"{} dmg\".format(formatAmount(dmg, 3, 0, 6))\r\n                tooltip = \"Raw damage done\"\r\n            return text, tooltip\r\n        elif itemGroup in (\"Energy Weapon\", \"Hybrid Weapon\", \"Projectile Weapon\", \"Fighter Drone\"):\r\n            trackingSpeed = stuff.getModifiedItemAttr(\"trackingSpeed\")\r\n            optimalSig = stuff.getModifiedItemAttr(\"optimalSigRadius\")\r\n            if not trackingSpeed or not optimalSig:\r\n                return \"\", None\r\n            normalizedTracking = trackingSpeed * 40000 / optimalSig\r\n            text = \"{0}\".format(formatAmount(normalizedTracking, 3, 0, 3))\r\n            tooltip = \"Tracking speed\"\r\n            return text, tooltip\r\n        elif itemGroup == \"Combat Drone\":\r\n            text_parts = []\r\n            tooltip_parts = []\r\n            trackingSpeed = stuff.getModifiedItemAttr(\"trackingSpeed\")\r\n            optimalSig = stuff.getModifiedItemAttr(\"optimalSigRadius\")\r\n            if trackingSpeed and optimalSig:\r\n                normalizedTracking = trackingSpeed * 40000 / optimalSig\r\n                text_parts.append(\"{0}\".format(formatAmount(normalizedTracking, 3, 0, 3)))\r\n                tooltip_parts.append(\"Tracking speed\")\r\n            if 'entityEnergyNeutralizerFalloff' in item.effects:\r\n                neutAmount = stuff.getModifiedItemAttr(\"energyNeutralizerAmount\")\r\n                cycleTime = stuff.getModifiedItemAttr(\"energyNeutralizerDuration\")\r\n                if neutAmount and cycleTime:\r\n                    capPerSec = float(-neutAmount) * 1000 / cycleTime\r\n                    text_parts.append(\"{0}/s\".format(formatAmount(capPerSec, 3, 0, 3)))\r\n                    tooltip_parts.append(\"Energy neutralization per second\")\r\n            if 'npcEntityWeaponDisruptor' in item.effects:\r\n                falloffRangeBonus = stuff.getModifiedItemAttr(\"falloffBonus\")\r\n                optimalRangeBonus = stuff.getModifiedItemAttr(\"maxRangeBonus\")\r\n                trackingSpeedBonus = stuff.getModifiedItemAttr(\"trackingSpeedBonus\")\r\n                if falloffRangeBonus or optimalRangeBonus or trackingSpeedBonus:\r\n                    display = 0\r\n                    for bonus in (falloffRangeBonus, optimalRangeBonus, trackingSpeedBonus):\r\n                        if abs(bonus) > abs(display):\r\n                            display = bonus\r\n                    if display:\r\n                        ttEntries = []\r\n                        if display == optimalRangeBonus:\r\n                            ttEntries.append(\"optimal range\")\r\n                        if display == falloffRangeBonus:\r\n                            ttEntries.append(\"falloff range\")\r\n                        if display == trackingSpeedBonus:\r\n                            ttEntries.append(\"tracking speed\")\r\n                        text_parts.append(\"{0}%\".format(formatAmount(display, 3, 0, 3), forceSign=True))\r\n                        tooltip_parts.append(\"{0} disruption\".format(formatList(ttEntries)).capitalize())\r\n            if 'entityECMFalloff' in item.effects:\r\n                grav = stuff.getModifiedItemAttr(\"scanGravimetricStrengthBonus\")\r\n                ladar = stuff.getModifiedItemAttr(\"scanLadarStrengthBonus\")\r\n                radar = stuff.getModifiedItemAttr(\"scanRadarStrengthBonus\")\r\n                magnet = stuff.getModifiedItemAttr(\"scanMagnetometricStrengthBonus\")\r\n                if grav is not None and ladar is not None and radar is not None and magnet is not None:\r\n                    display = max(grav, ladar, radar, magnet)\r\n                    if not display:\r\n                        return \"\", None\r\n                    ttEntries = []\r\n                    if display == grav:\r\n                        ttEntries.append(\"gravimetric\")\r\n                    if display == ladar:\r\n                        ttEntries.append(\"ladar\")\r\n                    if display == magnet:\r\n                        ttEntries.append(\"magnetometric\")\r\n                    if display == radar:\r\n                        ttEntries.append(\"radar\")\r\n                    plu = \"\" if len(ttEntries) == 1 else \"s\"\r\n                    text_parts.append(\"{0}\".format(formatAmount(display, 3, 0, 3)))\r\n                    tooltip_parts.append(\"{0} strength{1}\".format(formatList(ttEntries), plu).capitalize())\r\n            if 'remoteSensorDampEntity' in item.effects:\r\n                lockRangeBonus = stuff.getModifiedItemAttr(\"maxTargetRangeBonus\")\r\n                scanResBonus = stuff.getModifiedItemAttr(\"scanResolutionBonus\")\r\n                if lockRangeBonus or scanResBonus:\r\n                    display = 0\r\n                    for bonus in (lockRangeBonus, scanResBonus):\r\n                        if abs(bonus) > abs(display):\r\n                            display = bonus\r\n                    if display:\r\n                        ttEntries = []\r\n                        if display == lockRangeBonus:\r\n                            ttEntries.append(\"lock range\")\r\n                        if display == scanResBonus:\r\n                            ttEntries.append(\"scan resolution\")\r\n                        text_parts.append(\"{0}%\".format(formatAmount(display, 3, 0, 3, forceSign=True)))\r\n                        tooltip_parts.append(\"{0} dampening\".format(formatList(ttEntries)).capitalize())\r\n            if 'remoteWebifierEntity' in item.effects:\r\n                speedFactor = stuff.getModifiedItemAttr(\"speedFactor\")\r\n                if speedFactor:\r\n                    text_parts.append(\"{0}%\".format(formatAmount(speedFactor, 3, 0, 3)))\r\n                    tooltip_parts.append(\"Speed reduction\")\r\n            if 'remoteTargetPaintEntity' in item.effects:\r\n                sigRadBonus = stuff.getModifiedItemAttr(\"signatureRadiusBonus\")\r\n                if sigRadBonus:\r\n                    text_parts.append(\"{0}%\".format(formatAmount(sigRadBonus, 3, 0, 3, forceSign=True)))\r\n                    tooltip_parts.append(\"Signature radius increase\")\r\n            return \" | \".join(text_parts), '\\n'.join(tooltip_parts)\r\n        elif itemGroup == \"Precursor Weapon\":\r\n            info = []\r\n            trackingSpeed = stuff.getModifiedItemAttr(\"trackingSpeed\")\r\n            if trackingSpeed:\r\n                text = \"{0}\".format(formatAmount(trackingSpeed, 3, 0, 3))\r\n                tooltip = \"tracking speed\"\r\n                info.append((text, tooltip))\r\n\r\n            defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n            spoolTime = stuff.getSpoolData(spoolOptions=SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False))[1]\r\n            if spoolTime:\r\n                text = \"{0}s\".format(formatAmount(spoolTime, 3, 0, 3))\r\n                tooltip = \"spool up time\"\r\n                info.append((text, tooltip))\r\n            if not info:\r\n                return \"\", None\r\n            text = ' | '.join(i[0] for i in info)\r\n            tooltip = ' and '.join(i[1] for i in info).capitalize()\r\n            return text, tooltip\r\n        elif itemGroup == \"Vorton Projector\":\r\n            cloudSize = stuff.getModifiedItemAttr(\"aoeCloudSize\")\r\n            aoeVelocity = stuff.getModifiedItemAttr(\"aoeVelocity\")\r\n            if not cloudSize or not aoeVelocity:\r\n                return \"\", None\r\n            text = \"{0}{1} | {2}{3}\".format(formatAmount(cloudSize, 3, 0, 3), \"m\",\r\n                                            formatAmount(aoeVelocity, 3, 0, 3), \"m/s\")\r\n            tooltip = \"Explosion radius and explosion velocity\"\r\n            return text, tooltip\r\n        elif itemCategory == \"Subsystem\":\r\n            slots = (\"hi\", \"med\", \"low\")\r\n            info = []\r\n            for slot in slots:\r\n                n = int(stuff.getModifiedItemAttr(\"%sSlotModifier\" % slot))\r\n                if n > 0:\r\n                    info.append(\"{0}{1}\".format(n, slot[0].upper()))\r\n            return \"+ \" + \", \".join(info), \"Slot Modifiers\"\r\n        elif (\r\n            itemGroup in (\"Energy Neutralizer\", \"Structure Energy Neutralizer\") or\r\n            (itemGroup in (\"Structure Burst Projector\", \"Burst Projectors\") and \"doomsdayAOENeut\" in item.effects)\r\n        ):\r\n            neutAmount = stuff.getModifiedItemAttr(\"energyNeutralizerAmount\")\r\n            cycleParams = stuff.getCycleParameters()\r\n            if cycleParams is None:\r\n                return \"\", None\r\n            cycleTime = cycleParams.averageTime\r\n            if not neutAmount or not cycleTime:\r\n                return \"\", None\r\n            capPerSec = float(-neutAmount) * 1000 / cycleTime\r\n            text = \"{0}/s\".format(formatAmount(capPerSec, 3, 0, 3))\r\n            tooltip = \"Energy neutralization per second\"\r\n            return text, tooltip\r\n        elif itemGroup == \"Energy Nosferatu\":\r\n            neutAmount = stuff.getModifiedItemAttr(\"powerTransferAmount\")\r\n            cycleParams = stuff.getCycleParameters()\r\n            if cycleParams is None:\r\n                return \"\", None\r\n            cycleTime = cycleParams.averageTime\r\n            if not neutAmount or not cycleTime:\r\n                return \"\", None\r\n            capPerSec = float(-neutAmount) * 1000 / cycleTime\r\n            text = \"{0}/s\".format(formatAmount(capPerSec, 3, 0, 3))\r\n            tooltip = \"Energy neutralization per second\"\r\n            return text, tooltip\r\n        elif itemGroup in (\"Salvager\", \"Salvage Drone\"):\r\n            chance = stuff.getModifiedItemAttr(\"accessDifficultyBonus\")\r\n            if not chance:\r\n                return \"\", None\r\n            text = \"{0}%\".format(formatAmount(chance, 3, 0, 3))\r\n            tooltip = \"Item retrieval chance\"\r\n            return text, tooltip\r\n        elif itemGroup == \"Data Miners\":\r\n            strength = stuff.getModifiedItemAttr(\"virusStrength\")\r\n            coherence = stuff.getModifiedItemAttr(\"virusCoherence\")\r\n            if not strength or not coherence:\r\n                return \"\", None\r\n            text = \"{0} | {1}\".format(formatAmount(strength, 3, 0, 3), formatAmount(coherence, 3, 0, 3))\r\n            tooltip = \"Virus strength and coherence\"\r\n            return text, tooltip\r\n        elif itemGroup == \"Damage Control\":\r\n            duration = stuff.getModifiedItemAttr(\"duration\")\r\n            if not duration:\r\n                return \"\", None\r\n            text = \"{0}s\".format(formatAmount(duration / 1000, 3, 0, 0))\r\n            tooltip = \"Assault ability duration\"\r\n            return text, tooltip\r\n        elif itemGroup in (\"Warp Scrambler\", \"Warp Core Stabilizer\", \"Structure Warp Scrambler\"):\r\n            scramStr = stuff.getModifiedItemAttr(\"warpScrambleStrength\")\r\n            if not scramStr:\r\n                return \"\", None\r\n            text = \"{0}\".format(formatAmount(-scramStr, 3, 0, 3, forceSign=True))\r\n            tooltip = \"Warp core strength modification\"\r\n            return text, tooltip\r\n        elif (\r\n            itemGroup in (\"Stasis Web\", \"Stasis Grappler\", \"Stasis Webifying Drone\", \"Structure Stasis Webifier\") or\r\n            (itemGroup in (\"Structure Burst Projector\", \"Burst Projectors\") and \"doomsdayAOEWeb\" in item.effects)\r\n        ):\r\n            speedFactor = stuff.getModifiedItemAttr(\"speedFactor\")\r\n            if not speedFactor:\r\n                return \"\", None\r\n            text = \"{0}%\".format(formatAmount(speedFactor, 3, 0, 3))\r\n            tooltip = \"Speed reduction\"\r\n            return text, tooltip\r\n        elif (\r\n            itemGroup == \"Target Painter\" or\r\n            (itemGroup == \"Structure Disruption Battery\" and \"structureModuleEffectTargetPainter\" in item.effects) or\r\n            (itemGroup in (\"Structure Burst Projector\", \"Burst Projectors\") and \"doomsdayAOEPaint\" in item.effects)\r\n        ):\r\n            sigRadBonus = stuff.getModifiedItemAttr(\"signatureRadiusBonus\")\r\n            if not sigRadBonus:\r\n                return \"\", None\r\n            text = \"{0}%\".format(formatAmount(sigRadBonus, 3, 0, 3, forceSign=True))\r\n            tooltip = \"Signature radius increase\"\r\n            return text, tooltip\r\n        elif (\r\n            itemGroup == \"Sensor Dampener\" or\r\n            (itemGroup == \"Structure Disruption Battery\" and \"structureModuleEffectRemoteSensorDampener\" in item.effects) or\r\n            (itemGroup in (\"Structure Burst Projector\", \"Burst Projectors\") and \"doomsdayAOEDamp\" in item.effects)\r\n        ):\r\n            lockRangeBonus = stuff.getModifiedItemAttr(\"maxTargetRangeBonus\")\r\n            scanResBonus = stuff.getModifiedItemAttr(\"scanResolutionBonus\")\r\n            if lockRangeBonus is None or scanResBonus is None:\r\n                return \"\", None\r\n            display = 0\r\n            for bonus in (lockRangeBonus, scanResBonus):\r\n                if abs(bonus) > abs(display):\r\n                    display = bonus\r\n            if not display:\r\n                return \"\", None\r\n            text = \"{0}%\".format(formatAmount(display, 3, 0, 3, forceSign=True))\r\n            ttEntries = []\r\n            if display == lockRangeBonus:\r\n                ttEntries.append(\"lock range\")\r\n            if display == scanResBonus:\r\n                ttEntries.append(\"scan resolution\")\r\n            tooltip = \"{0} dampening\".format(formatList(ttEntries)).capitalize()\r\n            return text, tooltip\r\n        elif (\r\n            itemGroup in (\"Weapon Disruptor\", \"Structure Disruption Battery\") or\r\n            (itemGroup in (\"Structure Burst Projector\", \"Burst Projectors\") and \"doomsdayAOETrack\" in item.effects)\r\n        ):\r\n            # Weapon disruption now covers both tracking and guidance (missile) disruptors\r\n            # First get the attributes for tracking disruptors\r\n            optimalRangeBonus = stuff.getModifiedItemAttr(\"maxRangeBonus\")\r\n            falloffRangeBonus = stuff.getModifiedItemAttr(\"falloffBonus\")\r\n            trackingSpeedBonus = stuff.getModifiedItemAttr(\"trackingSpeedBonus\")\r\n\r\n            trackingDisruptorAttributes = {\r\n                \"optimal range\": optimalRangeBonus,\r\n                \"falloff range\": falloffRangeBonus,\r\n                \"tracking speed\": trackingSpeedBonus}\r\n\r\n            isTrackingDisruptor = any([x is not None and x != 0 for x in list(trackingDisruptorAttributes.values())])\r\n\r\n            # Then get the attributes for guidance disruptors\r\n            explosionVelocityBonus = stuff.getModifiedItemAttr(\"aoeVelocityBonus\")\r\n            explosionRadiusBonus = stuff.getModifiedItemAttr(\"aoeCloudSizeBonus\")\r\n\r\n            flightTimeBonus = stuff.getModifiedItemAttr(\"explosionDelayBonus\")\r\n            missileVelocityBonus = stuff.getModifiedItemAttr(\"missileVelocityBonus\")\r\n\r\n            guidanceDisruptorAttributes = {\r\n                \"explosion velocity\": explosionVelocityBonus,\r\n                \"explosion radius\": explosionRadiusBonus,\r\n                \"flight time\": flightTimeBonus,\r\n                \"missile velocity\": missileVelocityBonus}\r\n\r\n            isGuidanceDisruptor = any([x is not None and x != 0 for x in list(guidanceDisruptorAttributes.values())])\r\n\r\n            if not isTrackingDisruptor and not isGuidanceDisruptor:\r\n                return \"\", None\r\n\r\n            texts = []\r\n            ttSegments = []\r\n\r\n            for status, attributes in ((isTrackingDisruptor, trackingDisruptorAttributes), (isGuidanceDisruptor, guidanceDisruptorAttributes)):\r\n                if not status:\r\n                    continue\r\n                display = max(list(attributes.values()), key=lambda x: abs(x))\r\n                texts.append(\"{0}%\".format(formatAmount(display, 3, 0, 3, forceSign=True)))\r\n                ttEntries = []\r\n                for attributeName, attributeValue in list(attributes.items()):\r\n                    if abs(attributeValue) == abs(display):\r\n                        ttEntries.append(attributeName)\r\n                ttSegments.append(\"{0} disruption\".format(formatList(ttEntries)).capitalize())\r\n            return ' | '.join(texts), '\\n'.join(ttSegments)\r\n        elif itemGroup in (\r\n            \"Gyrostabilizer\",\r\n            \"Magnetic Field Stabilizer\",\r\n            \"Heat Sink\",\r\n            \"Ballistic Control System\",\r\n            \"Structure Weapon Upgrade\",\r\n            \"Entropic Radiation Sink\",\r\n            \"Vorton Projector Upgrade\"\r\n        ):\r\n            attrMap = {\r\n                \"Gyrostabilizer\": (\"damageMultiplier\", \"speedMultiplier\", \"Projectile weapon\"),\r\n                \"Magnetic Field Stabilizer\": (\"damageMultiplier\", \"speedMultiplier\", \"Hybrid weapon\"),\r\n                \"Heat Sink\": (\"damageMultiplier\", \"speedMultiplier\", \"Energy weapon\"),\r\n                \"Ballistic Control System\": (\"missileDamageMultiplierBonus\", \"speedMultiplier\", \"Missile\"),\r\n                \"Structure Weapon Upgrade\": (\"missileDamageMultiplierBonus\", \"speedMultiplier\", \"Missile\"),\r\n                \"Entropic Radiation Sink\": (\"damageMultiplier\", \"speedMultiplier\", \"Precursor weapon\"),\r\n                \"Vorton Projector Upgrade\": (\"damageMultiplier\", \"speedMultiplier\", \"Vorton projector\")}\r\n            dmgAttr, rofAttr, weaponName = attrMap[itemGroup]\r\n            dmg = stuff.getModifiedItemAttr(dmgAttr)\r\n            rof = stuff.getModifiedItemAttr(rofAttr)\r\n            if not dmg or not rof:\r\n                return \"\", None\r\n            texts = []\r\n            tooltips = []\r\n            cumulative = (dmg / rof - 1) * 100\r\n            texts.append(\"{}%\".format(formatAmount(cumulative, 3, 0, 3, forceSign=True)))\r\n            tooltips.append(\"{} DPS boost\".format(weaponName))\r\n            droneDmg = stuff.getModifiedItemAttr(\"droneDamageBonus\")\r\n            if droneDmg:\r\n                texts.append(\"{}%\".format(formatAmount(droneDmg, 3, 0, 3, forceSign=True)))\r\n                tooltips.append(\"drone DPS boost\".format(weaponName))\r\n            return ' | '.join(texts), ' and '.join(tooltips)\r\n        elif itemGroup == \"Drone Damage Modules\":\r\n            dmg = stuff.getModifiedItemAttr(\"droneDamageBonus\")\r\n            if not dmg:\r\n                return\r\n            text = \"{}%\".format(formatAmount(dmg, 3, 0, 3, forceSign=True))\r\n            tooltip = \"Drone DPS boost\"\r\n            return text, tooltip\r\n        elif (\r\n            itemGroup in (\"ECM\", \"Burst Jammer\", \"Structure ECM Battery\") or\r\n            (itemGroup in (\"Structure Burst Projector\", \"Burst Projectors\") and \"doomsdayAOEECM\" in item.effects)\r\n        ):\r\n            grav = stuff.getModifiedItemAttr(\"scanGravimetricStrengthBonus\")\r\n            ladar = stuff.getModifiedItemAttr(\"scanLadarStrengthBonus\")\r\n            radar = stuff.getModifiedItemAttr(\"scanRadarStrengthBonus\")\r\n            magnet = stuff.getModifiedItemAttr(\"scanMagnetometricStrengthBonus\")\r\n            displayMax = max(grav, ladar, radar, magnet)\r\n            displayMin = min(grav, ladar, radar, magnet)\r\n            if grav is None or ladar is None or radar is None or magnet is None or displayMax is None:\r\n                return \"\", None\r\n\r\n            if displayMax == displayMin or displayMin is None:\r\n                text = \"{0}\".format(\r\n                    formatAmount(displayMax, 3, 0, 3),\r\n                )\r\n            else:\r\n                text = \"{0} | {1}\".format(\r\n                    formatAmount(displayMax, 3, 0, 3),\r\n                    formatAmount(displayMin, 3, 0, 3),\r\n                )\r\n            tooltip = \"ECM Jammer Strength:\\n{0} Gravimetric | {1} Ladar | {2} Magnetometric | {3} Radar\".format(\r\n                formatAmount(grav, 3, 0, 3),\r\n                formatAmount(ladar, 3, 0, 3),\r\n                formatAmount(magnet, 3, 0, 3),\r\n                formatAmount(radar, 3, 0, 3),\r\n            )\r\n            return text, tooltip\r\n        elif itemGroup in (\"Remote Sensor Booster\", \"Sensor Booster\", \"Signal Amplifier\", \"Structure Signal Amplifier\"):\r\n            textLines = []\r\n            tooltipLines = []\r\n            scanResBonus = stuff.getModifiedItemAttr(\"scanResolutionBonus\")\r\n            if scanResBonus:\r\n                textLines.append(\"{}%\".format(formatAmount(scanResBonus, 3, 0, 3)))\r\n                tooltipLines.append(\"{}% scan resolution\".format(formatAmount(scanResBonus, 3, 0, 3)))\r\n            lockRangeBonus = stuff.getModifiedItemAttr(\"maxTargetRangeBonus\")\r\n            if lockRangeBonus:\r\n                textLines.append(\"{}%\".format(formatAmount(lockRangeBonus, 3, 0, 3)))\r\n                tooltipLines.append(\"{}% lock range\".format(formatAmount(lockRangeBonus, 3, 0, 3)))\r\n            gravBonus = stuff.getModifiedItemAttr(\"scanGravimetricStrengthPercent\")\r\n            if gravBonus:\r\n                textLines.append(\"{}%\".format(formatAmount(gravBonus, 3, 0, 3)))\r\n                tooltipLines.append(\"{}% sensor strength\".format(formatAmount(gravBonus, 3, 0, 3)))\r\n            if not textLines:\r\n                return \"\", None\r\n            text = \" | \".join(textLines)\r\n            tooltip = \"Applied bonuses:\\n{}\".format(\" | \".join(tooltipLines))\r\n            return text, tooltip\r\n        elif itemGroup in (\"Projected ECCM\", \"ECCM\", \"Sensor Backup Array\"):\r\n            grav = stuff.getModifiedItemAttr(\"scanGravimetricStrengthPercent\")\r\n            ladar = stuff.getModifiedItemAttr(\"scanLadarStrengthPercent\")\r\n            radar = stuff.getModifiedItemAttr(\"scanRadarStrengthPercent\")\r\n            magnet = stuff.getModifiedItemAttr(\"scanMagnetometricStrengthPercent\")\r\n            if grav is None or ladar is None or radar is None or magnet is None:\r\n                return \"\", None\r\n            display = max(grav, ladar, radar, magnet)\r\n            if not display:\r\n                return \"\", None\r\n            text = \"{0}%\".format(formatAmount(display, 3, 0, 3, forceSign=True))\r\n            ttEntries = []\r\n            if display == grav:\r\n                ttEntries.append(\"gravimetric\")\r\n            if display == ladar:\r\n                ttEntries.append(\"ladar\")\r\n            if display == magnet:\r\n                ttEntries.append(\"magnetometric\")\r\n            if display == radar:\r\n                ttEntries.append(\"radar\")\r\n            plu = \"\" if len(ttEntries) == 1 else \"s\"\r\n            tooltip = \"{0} strength{1} bonus\".format(formatList(ttEntries), plu).capitalize()\r\n            return text, tooltip\r\n        elif itemGroup == \"Cloaking Device\":\r\n            recalibration = stuff.getModifiedItemAttr(\"cloakingTargetingDelay\")\r\n            if recalibration is None:\r\n                return \"\", None\r\n            text = \"{0}s\".format(formatAmount(float(recalibration) / 1000, 3, 0, 3))\r\n            tooltip = \"Sensor recalibration time\"\r\n            return text, tooltip\r\n        elif itemGroup == \"Remote Armor Repairer\":\r\n            rps = stuff.getRemoteReps(ignoreState=True).armor\r\n            if not rps:\r\n                return \"\", None\r\n            text = \"{0}/s\".format(formatAmount(rps, 3, 0, 3, forceSign=True))\r\n            tooltip = \"Armor repaired per second\"\r\n            return text, tooltip\r\n        elif itemGroup == \"Mutadaptive Remote Armor Repairer\":\r\n            defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']\r\n            spoolOptDefault = SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False)\r\n            spoolOptPre = SpoolOptions(SpoolType.SPOOL_SCALE, 0, True)\r\n            spoolOptFull = SpoolOptions(SpoolType.SPOOL_SCALE, 1, True)\r\n            rps = stuff.getRemoteReps(spoolOptions=spoolOptDefault, ignoreState=True).armor\r\n            rpsPre = stuff.getRemoteReps(spoolOptions=spoolOptPre, ignoreState=True).armor\r\n            rpsFull = stuff.getRemoteReps(spoolOptions=spoolOptFull, ignoreState=True).armor\r\n            if not rps:\r\n                return \"\", None\r\n            text = []\r\n            tooltip = []\r\n            text.append(\"{}/s\".format(formatAmount(rps, 3, 0, 3, forceSign=True)))\r\n            tooltip.append(\"Armor repaired per second\")\r\n            spoolTime = stuff.getSpoolData(spoolOptDefault)[1]\r\n            if spoolTime:\r\n                text.append(\"{}s\".format(formatAmount(spoolTime, 3, 0, 3)))\r\n                tooltip.append(\"spool up time\")\r\n            text = \" | \".join(text)\r\n            tooltip = \" and \".join(tooltip)\r\n            spoolTimePre = stuff.getSpoolData(spoolOptPre)[1]\r\n            spoolTimeFull = stuff.getSpoolData(spoolOptFull)[1]\r\n            if spoolTimePre != spoolTimeFull:\r\n                tooltip = \"{}\\nSpool up: {}-{} over {}s\".format(\r\n                    tooltip,\r\n                    formatAmount(rpsPre, 3, 0, 3),\r\n                    formatAmount(rpsFull, 3, 0, 3),\r\n                    formatAmount(spoolTimeFull - spoolTimePre, 3, 0, 3))\r\n            return text, tooltip\r\n        elif itemGroup == \"Remote Shield Booster\":\r\n            rps = stuff.getRemoteReps(ignoreState=True).shield\r\n            if not rps:\r\n                return \"\", None\r\n            text = \"{0}/s\".format(formatAmount(rps, 3, 0, 3, forceSign=True))\r\n            tooltip = \"Shield transferred per second\"\r\n            return text, tooltip\r\n        elif itemGroup == \"Remote Capacitor Transmitter\":\r\n            rps = stuff.getRemoteReps(ignoreState=True).capacitor\r\n            if not rps:\r\n                return \"\", None\r\n            text = \"{0}/s\".format(formatAmount(rps, 3, 0, 3, forceSign=True))\r\n            tooltip = \"Energy transferred per second\"\r\n            return text, tooltip\r\n        elif itemGroup == \"Remote Hull Repairer\":\r\n            rps = stuff.getRemoteReps(ignoreState=True).hull\r\n            if not rps:\r\n                return \"\", None\r\n            text = \"{0}/s\".format(formatAmount(rps, 3, 0, 3, forceSign=True))\r\n            tooltip = \"Structure repaired per second\"\r\n            return text, tooltip\r\n        elif itemGroup == \"Gang Coordinator\":\r\n            command = stuff.getModifiedItemAttr(\"commandBonus\") or stuff.getModifiedItemAttr(\"commandBonusHidden\")\r\n            if not command:\r\n                return \"\", None\r\n            text = \"{0}%\".format(formatAmount(command, 3, 0, 3, forceSign=True))\r\n            tooltip = \"Gang bonus strength\"\r\n            return text, tooltip\r\n        elif itemGroup == \"Electronic Warfare Drone\":\r\n            sigRadBonus = stuff.getModifiedItemAttr(\"signatureRadiusBonus\")\r\n            lockRangeBonus = stuff.getModifiedItemAttr(\"maxTargetRangeBonus\")\r\n            scanResBonus = stuff.getModifiedItemAttr(\"scanResolutionBonus\")\r\n            falloffRangeBonus = stuff.getModifiedItemAttr(\"falloffBonus\")\r\n            optimalRangeBonus = stuff.getModifiedItemAttr(\"maxRangeBonus\")\r\n            trackingSpeedBonus = stuff.getModifiedItemAttr(\"trackingSpeedBonus\")\r\n            grav = stuff.getModifiedItemAttr(\"scanGravimetricStrengthBonus\")\r\n            ladar = stuff.getModifiedItemAttr(\"scanLadarStrengthBonus\")\r\n            radar = stuff.getModifiedItemAttr(\"scanRadarStrengthBonus\")\r\n            magnet = stuff.getModifiedItemAttr(\"scanMagnetometricStrengthBonus\")\r\n            if sigRadBonus:\r\n                text = \"{0}%\".format(formatAmount(sigRadBonus, 3, 0, 3, forceSign=True))\r\n                tooltip = \"Signature radius increase\"\r\n                return text, tooltip\r\n            if lockRangeBonus or scanResBonus:\r\n                display = 0\r\n                for bonus in (lockRangeBonus, scanResBonus):\r\n                    if abs(bonus) > abs(display):\r\n                        display = bonus\r\n                if not display:\r\n                    return \"\", None\r\n                text = \"{0}%\".format(formatAmount(display, 3, 0, 3, forceSign=True))\r\n                ttEntries = []\r\n                if display == lockRangeBonus:\r\n                    ttEntries.append(\"lock range\")\r\n                if display == scanResBonus:\r\n                    ttEntries.append(\"scan resolution\")\r\n                tooltip = \"{0} dampening\".format(formatList(ttEntries)).capitalize()\r\n                return text, tooltip\r\n            if falloffRangeBonus or optimalRangeBonus or trackingSpeedBonus:\r\n                display = 0\r\n                for bonus in (falloffRangeBonus, optimalRangeBonus, trackingSpeedBonus):\r\n                    if abs(bonus) > abs(display):\r\n                        display = bonus\r\n                if not display:\r\n                    return \"\", None\r\n                text = \"{0}%\".format(formatAmount(display, 3, 0, 3), forceSign=True)\r\n                ttEntries = []\r\n                if display == optimalRangeBonus:\r\n                    ttEntries.append(\"optimal range\")\r\n                if display == falloffRangeBonus:\r\n                    ttEntries.append(\"falloff range\")\r\n                if display == trackingSpeedBonus:\r\n                    ttEntries.append(\"tracking speed\")\r\n                tooltip = \"{0} disruption\".format(formatList(ttEntries)).capitalize()\r\n                return text, tooltip\r\n            if grav is not None and ladar is not None and radar is not None and magnet is not None:\r\n                display = max(grav, ladar, radar, magnet)\r\n                if not display:\r\n                    return \"\", None\r\n                text = \"{0}\".format(formatAmount(display, 3, 0, 3))\r\n                ttEntries = []\r\n                if display == grav:\r\n                    ttEntries.append(\"gravimetric\")\r\n                if display == ladar:\r\n                    ttEntries.append(\"ladar\")\r\n                if display == magnet:\r\n                    ttEntries.append(\"magnetometric\")\r\n                if display == radar:\r\n                    ttEntries.append(\"radar\")\r\n                plu = \"\" if len(ttEntries) == 1 else \"s\"\r\n                tooltip = \"{0} strength{1}\".format(formatList(ttEntries), plu).capitalize()\r\n                return text, tooltip\r\n            else:\r\n                return \"\", None\r\n        elif itemGroup == \"Fighter Bomber\":\r\n            optimalSig = stuff.getModifiedItemAttr(\"optimalSigRadius\")\r\n            if not optimalSig:\r\n                return \"\", None\r\n            text = \"{0}m\".format(formatAmount(optimalSig, 3, 0, 3))\r\n            tooltip = \"Optimal signature radius\"\r\n            return text, tooltip\r\n        elif itemGroup in (\"Frequency Mining Laser\", \"Strip Miner\", \"Mining Laser\", \"Gas Cloud Scoops\", \"Mining Drone\", \"Gas Cloud Harvesters\"):\r\n            yps = stuff.getMiningYPS(ignoreState=True)\r\n            if not yps:\r\n                return \"\", None\r\n            yph = yps * 3600\r\n            dps = stuff.getMiningDPS(ignoreState=True)\r\n            dph = dps * 3600\r\n            try:\r\n                efficiency = yps / dps\r\n            except ZeroDivisionError:\r\n                efficiency = 0\r\n            textParts = []\r\n            tipLines = []\r\n            textParts.append('{} m\\u00B3/s'.format(formatAmount(yps, 3, 0, 3)))\r\n            tipLines.append(\"{} m\\u00B3 mining yield per second ({} m\\u00B3 per hour)\".format(\r\n                formatAmount(yps, 3, 0, 3), formatAmount(yph, 3, 0, 3)))\r\n            tipLines.append(\"{} m\\u00B3 mining drain per second ({} m\\u00B3 per hour)\".format(\r\n                formatAmount(dps, 3, 0, 3), formatAmount(dph, 3, 0, 3)))\r\n            if floatUnerr(efficiency) != 1:\r\n                eff_text = '{}%'.format(formatAmount(efficiency * 100, 4, 0, 0))\r\n                textParts.append(eff_text)\r\n                tipLines.append(f\"{eff_text} mining efficiency\")\r\n            text = '{}'.format(' | '.join(textParts))\r\n            tooltip = '\\n'.join(tipLines)\r\n            return text, tooltip\r\n        elif itemGroup == \"Logistic Drone\":\r\n            rpsData = stuff.getRemoteReps(ignoreState=True)\r\n            rrType = None\r\n            rps = None\r\n            if rpsData.shield:\r\n                rps = rpsData.shield\r\n                rrType = 'Shield'\r\n            elif rpsData.armor:\r\n                rps = rpsData.armor\r\n                rrType = 'Armor'\r\n            elif rpsData.hull:\r\n                rps = rpsData.hull\r\n                rrType = 'Hull'\r\n            if not rrType or not rps:\r\n                return \"\", None\r\n            text = \"{}/s\".format(formatAmount(rps, 3, 0, 3))\r\n            tooltip = \"{} HP repaired per second\\n{} HP/s per drone\".format(rrType, formatAmount(rps / stuff.amount, 3, 0, 3))\r\n            return text, tooltip\r\n        elif itemGroup == \"Energy Neutralizer Drone\":\r\n            neutAmount = stuff.getModifiedItemAttr(\"energyNeutralizerAmount\")\r\n            cycleTime = stuff.getModifiedItemAttr(\"energyNeutralizerDuration\")\r\n            if not neutAmount or not cycleTime:\r\n                return \"\", None\r\n            capPerSec = float(-neutAmount) * 1000 / cycleTime\r\n            text = \"{0}/s\".format(formatAmount(capPerSec, 3, 0, 3))\r\n            tooltip = \"Energy neutralization per second\"\r\n            return text, tooltip\r\n        elif itemGroup in (\"Micro Jump Drive\", \"Micro Jump Field Generators\", \"Capital Mobility Modules\"):\r\n            cycleTime = stuff.getModifiedItemAttr(\"duration\") / 1000\r\n            text = \"{0}s\".format(formatAmount(cycleTime, 3, 0, 3))\r\n            tooltip = \"Spoolup time\"\r\n            return text, tooltip\r\n        elif itemGroup in (\"Siege Module\", \"Cynosural Field Generator\"):\r\n            amt = stuff.getModifiedItemAttr(\"consumptionQuantity\")\r\n            if amt:\r\n                typeID = stuff.getModifiedItemAttr(\"consumptionType\")\r\n                item = Market.getInstance().getItem(typeID)\r\n                text = \"{0} units\".format(formatAmount(amt, 3, 0, 3))\r\n                return text, item.name\r\n            else:\r\n                return \"\", None\r\n        elif itemGroup in (\r\n                \"Ancillary Armor Repairer\",\r\n                \"Ancillary Shield Booster\",\r\n                \"Capacitor Booster\",\r\n                \"Ancillary Remote Armor Repairer\",\r\n                \"Ancillary Remote Shield Booster\",\r\n        ):\r\n            if \"Armor\" in itemGroup or \"Shield\" in itemGroup:\r\n                boosted_attribute = \"HP\"\r\n                reload_time = stuff.getModifiedItemAttr(\"reloadTime\", 0) / 1000\r\n            elif \"Capacitor\" in itemGroup:\r\n                boosted_attribute = \"Cap\"\r\n                reload_time = 10\r\n            else:\r\n                boosted_attribute = \"\"\r\n                reload_time = 0\r\n\r\n            cycles = max(stuff.numShots, 0)\r\n            cycleTime = max(stuff.rawCycleTime, 0)\r\n\r\n            # Get HP or boosted amount\r\n            stuff_hp = max(stuff.hpBeforeReload, 0)\r\n            armor_hp = stuff.getModifiedItemAttr(\"armorDamageAmount\", 0)\r\n            capacitor_hp = stuff.getModifiedChargeAttr(\"capacitorBonus\", 0)\r\n            shield_hp = stuff.getModifiedItemAttr(\"shieldBonus\", 0)\r\n            hp = max(stuff_hp, armor_hp * cycles, capacitor_hp * cycles, shield_hp * cycles, 0)\r\n\r\n            nonChargedMap = {\r\n                \"Ancillary Remote Armor Repairer\": (\"armor\", \"Armor repaired per second\"),\r\n                \"Ancillary Remote Shield Booster\": (\"shield\", \"Shield transferred per second\")}\r\n            if not cycles and itemGroup in nonChargedMap:\r\n                rps = stuff.getRemoteReps(ignoreState=True)\r\n                rps = getattr(rps, nonChargedMap[itemGroup][0])\r\n                if not rps:\r\n                    return \"\", None\r\n                text = \"{0}/s\".format(formatAmount(rps, 3, 0, 3, forceSign=True))\r\n                tooltip = nonChargedMap[itemGroup][1]\r\n                return text, tooltip\r\n\r\n            if not hp or not cycleTime or not cycles:\r\n                return \"\", None\r\n\r\n            fit = Fit.getInstance().getFit(self.fittingView.getActiveFit())\r\n            ehpTotal = fit.ehp\r\n            hpTotal = fit.hp\r\n            try:\r\n                useEhp = self.mainFrame.statsPane.nameViewMap[\"resistancesViewFull\"].showEffective\r\n            except KeyError:\r\n                useEhp = False\r\n            tooltip = \"{0} restored over duration using charges (plus reload)\".format(boosted_attribute)\r\n\r\n            if useEhp and boosted_attribute == \"HP\" and \"Remote\" not in itemGroup:\r\n                if \"Ancillary Armor Repairer\" in itemGroup:\r\n                    hpRatio = ehpTotal[\"armor\"] / hpTotal[\"armor\"]\r\n                else:\r\n                    hpRatio = ehpTotal[\"shield\"] / hpTotal[\"shield\"]\r\n                tooltip = \"E{0}\".format(tooltip)\r\n            else:\r\n                hpRatio = 1\r\n\r\n            if \"Ancillary\" in itemGroup and \"Armor\" in itemGroup:\r\n                hpRatio *= stuff.getModifiedItemAttr(\"chargedArmorDamageMultiplier\", 1)\r\n\r\n            ehp = hp * hpRatio\r\n\r\n            duration = cycles * cycleTime / 1000\r\n            for number_of_cycles in {5, 10, 25}:\r\n                tooltip = \"{0}\\n{1} charges lasts {2} seconds ({3} cycles)\".format(\r\n                    tooltip,\r\n                    formatAmount(number_of_cycles * cycles, 3, 0, 3),\r\n                    formatAmount((duration + reload_time) * number_of_cycles, 3, 0, 3),\r\n                    formatAmount(number_of_cycles, 3, 0, 3)\r\n                )\r\n            text = \"{0} / {1}s (+{2}s)\".format(\r\n                formatAmount(ehp, 3, 0, 9),\r\n                formatAmount(duration, 3, 0, 3),\r\n                formatAmount(reload_time, 3, 0, 3)\r\n            )\r\n\r\n            return text, tooltip\r\n        elif itemGroup == \"Armor Resistance Shift Hardener\":\r\n            itemArmorResistanceShiftHardenerEM = (1 - stuff.getModifiedItemAttr(\"armorEmDamageResonance\")) * 100\r\n            itemArmorResistanceShiftHardenerTherm = (1 - stuff.getModifiedItemAttr(\"armorThermalDamageResonance\")) * 100\r\n            itemArmorResistanceShiftHardenerKin = (1 - stuff.getModifiedItemAttr(\"armorKineticDamageResonance\")) * 100\r\n            itemArmorResistanceShiftHardenerExp = (1 - stuff.getModifiedItemAttr(\"armorExplosiveDamageResonance\")) * 100\r\n\r\n            text = \"{0}% | {1}% | {2}% | {3}%\".format(\r\n                formatAmount(itemArmorResistanceShiftHardenerEM, 3, 0, 3),\r\n                formatAmount(itemArmorResistanceShiftHardenerTherm, 3, 0, 3),\r\n                formatAmount(itemArmorResistanceShiftHardenerKin, 3, 0, 3),\r\n                formatAmount(itemArmorResistanceShiftHardenerExp, 3, 0, 3),\r\n            )\r\n            tooltip = \"Resistances shifted to damage profile:\\n{0}% EM | {1}% Therm | {2}% Kin | {3}% Exp\".format(\r\n                formatAmount(itemArmorResistanceShiftHardenerEM, 3, 0, 3),\r\n                formatAmount(itemArmorResistanceShiftHardenerTherm, 3, 0, 3),\r\n                formatAmount(itemArmorResistanceShiftHardenerKin, 3, 0, 3),\r\n                formatAmount(itemArmorResistanceShiftHardenerExp, 3, 0, 3),\r\n            )\r\n            return text, tooltip\r\n        elif itemGroup in (\"Cargo Scanner\", \"Ship Scanner\"):\r\n            duration = stuff.getModifiedItemAttr(\"duration\")\r\n            if not duration:\r\n                return \"\", None\r\n            text = \"{}s\".format(formatAmount(duration / 1000, 3, 0, 0))\r\n            tooltip = \"Scan duration\"\r\n            return text, tooltip\r\n        elif itemGroup == \"Command Burst\":\r\n            textSections = []\r\n            tooltipSections = []\r\n            buffMap = {}\r\n            for seq in (1, 2, 3, 4):\r\n                buffId = stuff.getModifiedChargeAttr(f'warfareBuff{seq}ID')\r\n                if not buffId:\r\n                    continue\r\n                buffValue = stuff.getModifiedItemAttr(f'warfareBuff{seq}Value')\r\n                buffMap[buffId] = buffValue\r\n                if buffId == 10:  # Shield Burst: Shield Harmonizing: Shield Resistance\r\n                    # minus buff value because ingame shows positive value\r\n                    textSections.append(f\"{formatAmount(-buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"shield resistance\")\r\n                elif buffId == 11:  # Shield Burst: Active Shielding: Repair Duration/Capacitor\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"shield RR duration & capacictor use\")\r\n                elif buffId == 12:  # Shield Burst: Shield Extension: Shield HP\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"shield HP\")\r\n                elif buffId == 13:  # Armor Burst: Armor Energizing: Armor Resistance\r\n                    # minus buff value because ingame shows positive value\r\n                    textSections.append(f\"{formatAmount(-buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"armor resistance\")\r\n                elif buffId == 14:  # Armor Burst: Rapid Repair: Repair Duration/Capacitor\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"armor RR duration & capacitor use\")\r\n                elif buffId == 15:  # Armor Burst: Armor Reinforcement: Armor HP\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"armor HP\")\r\n                elif buffId == 16:  # Information Burst: Sensor Optimization: Scan Resolution\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"scan resolution\")\r\n                elif buffId == 26:  # Information Burst: Sensor Optimization: Targeting Range\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"targeting range\")\r\n                elif buffId == 17:  # Information Burst: Electronic Superiority: EWAR Range and Strength\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"electronic warfare modules range & strength\")\r\n                elif buffId == 18:  # Information Burst: Electronic Hardening: Sensor Strength\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"sensor strength\")\r\n                elif buffId == 19:  # Information Burst: Electronic Hardening: RSD/RWD Resistance\r\n                    textSections.append(f\"{formatAmount(-buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"sensor dampener & weapon disruption resistance\")\r\n                elif buffId == 20:  # Skirmish Burst: Evasive Maneuvers: Signature Radius\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"signature radius\")\r\n                elif buffId == 60:  # Skirmish Burst: Evasive Maneuvers: Agility\r\n                    # minus the buff value because we want Agility as shown ingame, not inertia modifier\r\n                    textSections.append(f\"{formatAmount(-buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"agility\")\r\n                elif buffId == 21:  # Skirmish Burst: Interdiction Maneuvers: Tackle Range\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"warp disruption & stasis web range\")\r\n                elif buffId == 22:  # Skirmish Burst: Rapid Deployment: AB/MWD Speed Increase\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"AB/MWD speed increase\")\r\n                elif buffId == 23:  # Mining Burst: Mining Laser Field Enhancement: Mining Range\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"mining module range\")\r\n                elif buffId == 24:  # Mining Burst: Mining Laser Optimization: Mining Capacitor/Duration\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"mining module duration & capacitor use\")\r\n                elif buffId == 25:  # Mining Burst: Mining Equipment Preservation: Crystal Volatility\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"mining crystal volatility\")\r\n                elif buffId == 2464:  # Expedition Burst: Probe Strength\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"scan probe strength\")\r\n                elif buffId == 2465:  # Expedition Burst: Directional Scanner, Hacking and Salvager Range\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"dscan, hacking & salvaging range\")\r\n                elif buffId == 2466:  # Expedition Burst: Maximum Scan Deviation Modifier\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"scan probe deviation\")\r\n                elif buffId == 2468:  # Expedition Burst: Virus Coherence\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}\")\r\n                    tooltipSections.append(\"virus coherence\")\r\n                elif buffId == 2481:  # Expedition Burst: Salvager duration bonus\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"salvager cycle time\")\r\n                elif buffId == 2516:  # Mining Burst: Mining Crit Chance\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"crit chance\")\r\n                elif buffId == 2517:  # Mining Burst: Mining Residue Chance Reduction\r\n                    textSections.append(f\"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%\")\r\n                    tooltipSections.append(\"waste chance\")\r\n            if not textSections:\r\n                return '', None\r\n            text = ' | '.join(textSections)\r\n            tooltip = '{} bonus'.format(' | '.join(tooltipSections))\r\n            if tooltip:\r\n                tooltip = tooltip[0].capitalize() + tooltip[1:]\r\n            return text, tooltip\r\n        elif stuff.charge is not None:\r\n            chargeGroup = stuff.charge.group.name\r\n            if chargeGroup.endswith(\"Rocket\") or chargeGroup.endswith(\"Missile\") or chargeGroup.endswith(\"Torpedo\"):\r\n                cloudSize = stuff.getModifiedChargeAttr(\"aoeCloudSize\")\r\n                aoeVelocity = stuff.getModifiedChargeAttr(\"aoeVelocity\")\r\n                if not cloudSize or not aoeVelocity:\r\n                    return \"\", None\r\n                text = \"{0}{1} | {2}{3}\".format(formatAmount(cloudSize, 3, 0, 3), \"m\",\r\n                                                formatAmount(aoeVelocity, 3, 0, 3), \"m/s\")\r\n                tooltip = \"Explosion radius and explosion velocity\"\r\n                return text, tooltip\r\n            elif chargeGroup in (\"Bomb\", \"Guided Bomb\"):\r\n                cloudSize = stuff.getModifiedChargeAttr(\"aoeCloudSize\")\r\n                if not cloudSize:\r\n                    return \"\", None\r\n                text = \"{0}{1}\".format(formatAmount(cloudSize, 3, 0, 3), \"m\")\r\n                tooltip = \"Explosion radius\"\r\n                return text, tooltip\r\n            elif chargeGroup in (\"Scanner Probe\",):\r\n                scanStr = stuff.getModifiedChargeAttr(\"baseSensorStrength\")\r\n                baseRange = stuff.getModifiedChargeAttr(\"baseScanRange\")\r\n                if not scanStr or not baseRange:\r\n                    return \"\", None\r\n                text = \"{}\".format(formatAmount(scanStr, 4, 0, 3))\r\n                tooltip = \"Scan strength at {} AU scan range\".format(formatAmount(baseRange, 3, 0, 0))\r\n                return text, tooltip\r\n            elif chargeGroup in (\"SCARAB Breacher Pods\",):\r\n                duration = stuff.getModifiedChargeAttr(\"dotDuration\") / 1000\r\n                dmgAbs = stuff.getModifiedChargeAttr(\"dotMaxDamagePerTick\")\r\n                dmgRel = stuff.getModifiedChargeAttr(\"dotMaxHPPercentagePerTick\")\r\n                text = \"{}/{}% over {}s\".format(\r\n                    formatAmount(dmgAbs * duration, 3, 0, 6),\r\n                    formatAmount(dmgRel * duration, 3, 0, 6),\r\n                    formatAmount(duration, 0, 0, 0))\r\n                fullDmgHp = dmgAbs / (dmgRel / 100)\r\n                tooltip = (\r\n                    'Pure damage inflicted over time, minimum of absolute / relative\\n'\r\n                    'Full DPS from {} target HP').format(formatAmount(fullDmgHp, 3, 0, 6))\r\n                return text, tooltip\r\n            else:\r\n                return \"\", None\r\n        else:\r\n            return \"\", None\r\n\r\n\r\nMiscellanea.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/price.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos, Lucas Thode\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom eos.saveddata.cargo import Cargo\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom eos.saveddata.module import Module\r\nfrom eos.saveddata.price import PriceStatus\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom gui.viewColumn import ViewColumn\r\nfrom service.price import Price as ServicePrice\r\n\r\n\r\ndef formatPrice(stuff, priceObj):\r\n    textItems = []\r\n    if priceObj.price:\r\n        mult = 1\r\n        if isinstance(stuff, (Drone, Fighter, Cargo)):\r\n            mult = stuff.amount\r\n        textItems.append(formatAmount(priceObj.price * mult, 3, 3, 9, currency=True))\r\n    if priceObj.status in (PriceStatus.fetchFail, PriceStatus.fetchTimeout):\r\n        textItems.append(\"(!)\")\r\n    return \" \".join(textItems)\r\n\r\n\r\nclass Price(ViewColumn):\r\n    name = \"Price\"\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n        self.mask = wx.LIST_MASK_IMAGE\r\n        self.bitmap = BitmapLoader.getBitmap(\"totalPrice_small\", \"gui\")\r\n        self.imageId = fittingView.imageList.GetImageIndex(\"totalPrice_small\", \"gui\")\r\n\r\n    def getText(self, stuff):\r\n        if stuff.item is None or stuff.item.group.name == \"Ship Modifiers\":\r\n            return \"\"\r\n\r\n        if hasattr(stuff, \"isEmpty\"):\r\n            if stuff.isEmpty:\r\n                return \"\"\r\n\r\n        if isinstance(stuff, Module) and stuff.isMutated:\r\n            return \"\"\r\n\r\n        priceObj = stuff.item.price\r\n\r\n        if not priceObj.isValid():\r\n            return False\r\n\r\n        return formatPrice(stuff, priceObj)\r\n\r\n    def delayedText(self, mod, display, colItem):\r\n        sPrice = ServicePrice.getInstance()\r\n\r\n        def callback(item):\r\n            priceObj = item[0]\r\n            colItem.SetText(formatPrice(mod, priceObj))\r\n\r\n            display.SetItem(colItem)\r\n\r\n        sPrice.getPrices([mod.item], callback, waitforthread=True)\r\n\r\n    def getImageId(self, mod):\r\n        return -1\r\n\r\n    def getToolTip(self, mod):\r\n        return self.name\r\n\r\n\r\nPrice.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/projectionRange.py",
    "content": "# coding: utf-8\r\n# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport gui.mainFrame\r\nfrom eos.saveddata.fit import Fit\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom gui.viewColumn import ViewColumn\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass ProjectionRangeColumn(ViewColumn):\r\n\r\n    name = 'Projection Range'\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView)\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.imageId = fittingView.imageList.GetImageIndex(1391, \"icons\")\r\n        self.bitmap = BitmapLoader.getBitmap(1391, \"icons\")\r\n        self.mask = wx.LIST_MASK_IMAGE\r\n\r\n    def getText(self, stuff):\r\n        if isinstance(stuff, Fit):\r\n            fitID = self.mainFrame.getActiveFit()\r\n            info = stuff.getProjectionInfo(fitID)\r\n            projRange = info.projectionRange\r\n        else:\r\n            projRange = getattr(stuff, 'projectionRange', None)\r\n        if projRange is None:\r\n            return ''\r\n        return formatAmount(projRange, 3, 0, 3, unitName='m')\r\n\r\n    def getToolTip(self, mod):\r\n        return 'Projection Range'\r\n\r\n\r\nProjectionRangeColumn.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/propertyDisplay.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nfrom gui.viewColumn import ViewColumn\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom service.attribute import Attribute\r\n\r\n\r\nclass PropertyDisplay(ViewColumn):\r\n    name = \"prop\"\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n        sAttr = Attribute.getInstance()\r\n        attributeSlave = params[\"attributeSlave\"] or params[\"property\"]\r\n        # This function can throw an exception if the database isn't sane\r\n        # We need to do a sanity check before this runs\r\n        info = sAttr.getAttributeInfo(attributeSlave)\r\n\r\n        self.mask = 0\r\n        self.propertyName = params[\"property\"]\r\n        self.info = info\r\n        if params[\"showIcon\"]:\r\n            if info.name == \"power\":\r\n                iconFile = \"pg_small\"\r\n                iconType = \"gui\"\r\n            else:\r\n                iconFile = info.iconID if info.icon else None\r\n                iconType = \"icons\"\r\n            if iconFile:\r\n                self.imageId = fittingView.imageList.GetImageIndex(iconFile, iconType)\r\n            else:\r\n                self.imageId = -1\r\n        else:\r\n            self.imageId = -1\r\n\r\n        if params[\"displayName\"] or self.imageId == -1:\r\n            self.columnText = info.displayName if info.displayName != \"\" else info.name\r\n\r\n    def getText(self, stuff):\r\n        attr = getattr(stuff, self.propertyName, None)\r\n        if attr:\r\n            return formatAmount(attr, 3, 0, 3)\r\n        else:\r\n            return \"\"\r\n\r\n    @staticmethod\r\n    def getParameters():\r\n        return ((\"property\", str, None),\r\n                (\"attributeSlave\", str, None),\r\n                (\"displayName\", bool, False),\r\n                (\"showIcon\", bool, True))\r\n\r\n\r\nPropertyDisplay.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/sideEffects.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom eos.saveddata.booster import Booster\r\nfrom gui.viewColumn import ViewColumn\r\nimport gui.mainFrame\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass SideEffects(ViewColumn):\r\n    name = \"Side Effects\"\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.columnText = _t(\"Active Side Effects\")\r\n        self.mask = wx.LIST_MASK_TEXT\r\n\r\n    def getText(self, stuff):\r\n        if isinstance(stuff, Booster):\r\n            active = [x.name for x in stuff.sideEffects if x.active]\r\n            if len(active) == 0:\r\n                return \"None\"\r\n            return \", \".join(active)\r\n\r\n\r\nSideEffects.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/state.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom eos.saveddata.fit import Fit\r\nfrom eos.saveddata.implant import Implant\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.module import Module, Rack\r\nfrom eos.const import FittingModuleState as State_\r\nfrom gui.viewColumn import ViewColumn\r\n\r\nimport gui.mainFrame\r\n\r\n\r\nclass State(ViewColumn):\r\n    name = \"State\"\r\n\r\n    def __init__(self, fittingView, params):\r\n        ViewColumn.__init__(self, fittingView)\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.resizable = False\r\n        self.size = 16\r\n        self.maxsize = self.size\r\n        self.mask = wx.LIST_MASK_IMAGE\r\n\r\n    def getText(self, mod):\r\n        return \"\"\r\n\r\n    def getToolTip(self, mod):\r\n        if isinstance(mod, Module) and not mod.isEmpty:\r\n            return State_(mod.state).name.title()\r\n\r\n    def getImageId(self, stuff):\r\n        generic_active = self.fittingView.imageList.GetImageIndex(\"state_%s_small\" % State_.ACTIVE.name.lower(), \"gui\")\r\n        generic_inactive = self.fittingView.imageList.GetImageIndex(\"state_%s_small\" % State_.OFFLINE.name.lower(), \"gui\")\r\n\r\n        if isinstance(stuff, Drone):\r\n            if stuff.amountActive > 0:\r\n                return generic_active\r\n            else:\r\n                return generic_inactive\r\n        elif isinstance(stuff, Rack):\r\n            return -1\r\n        elif isinstance(stuff, Module):\r\n            if stuff.isEmpty:\r\n                return -1\r\n            else:\r\n                return self.fittingView.imageList.GetImageIndex(\"state_%s_small\" % State_(stuff.state).name.lower(),\r\n                                                                \"gui\")\r\n        elif isinstance(stuff, Fit):\r\n            fitID = self.mainFrame.getActiveFit()\r\n\r\n            # Can't use isinstance here due to being prevented from importing CommandView.\r\n            # So we do the next best thing and compare Name of class.\r\n            if self.fittingView.__class__.__name__ == \"CommandView\":\r\n                info = stuff.getCommandInfo(fitID)\r\n            else:\r\n                info = stuff.getProjectionInfo(fitID)\r\n\r\n            if info is None:\r\n                return -1\r\n            if info.active:\r\n                return generic_active\r\n            return generic_inactive\r\n        elif isinstance(stuff, Implant) and stuff.character:\r\n            # if we're showing character implants, show an \"online\" state, which should not be changed\r\n            return self.fittingView.imageList.GetImageIndex(\"state_%s_small\" % State_.ONLINE.name.lower(), \"gui\")\r\n        else:\r\n            active = getattr(stuff, \"active\", None)\r\n            if active is None:\r\n                return -1\r\n            if active:\r\n                return generic_active\r\n            return generic_inactive\r\n\r\n\r\nState.register()\r\n"
  },
  {
    "path": "gui/builtinViewColumns/targetResists.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom graphs.wrapper import TargetWrapper\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.numberFormatter import formatAmount\r\nfrom gui.viewColumn import ViewColumn\r\nfrom service.const import TargetResistMode\r\n\r\n\r\nclass TargetResists(ViewColumn):\r\n\r\n    name = 'Target Resists'\r\n    proportionWidth = 5\r\n\r\n    def __init__(self, fittingView, params):\r\n        super().__init__(fittingView)\r\n        self.imageId = fittingView.imageList.GetImageIndex(1393, 'icons')\r\n        self.bitmap = BitmapLoader.getBitmap(1393, 'icons')\r\n        self.mask = wx.LIST_MASK_TEXT\r\n\r\n    def getText(self, stuff):\r\n        if isinstance(stuff, TargetWrapper):\r\n            em, therm, kin, explo, layer = stuff.getResists(includeLayer=True)\r\n            if stuff.isFit:\r\n                modeSuffixMap = {\r\n                    TargetResistMode.auto: 'auto',\r\n                    TargetResistMode.shield: 'shield',\r\n                    TargetResistMode.armor: 'armor',\r\n                    TargetResistMode.hull: 'hull',\r\n                    TargetResistMode.weightedAverage: 'average'}\r\n                modeSuffix = modeSuffixMap[stuff.resistMode]\r\n                if stuff.resistMode == TargetResistMode.auto and layer is not None:\r\n                    modeSuffix = '{} {}'.format(modeSuffix, layer)\r\n                modeSuffix = ' ({})'.format(modeSuffix)\r\n            else:\r\n                modeSuffix = ''\r\n            return '{}/{}/{}/{}{}'.format(\r\n                formatAmount(val=em * 100, prec=3, lowest=0, highest=0),\r\n                formatAmount(val=therm * 100, prec=3, lowest=0, highest=0),\r\n                formatAmount(val=kin * 100, prec=3, lowest=0, highest=0),\r\n                formatAmount(val=explo * 100, prec=3, lowest=0, highest=0),\r\n                modeSuffix)\r\n        return ''\r\n\r\n    def getToolTip(self, mod):\r\n        return 'Target resistances\\nEM / Thermal / Kinetic / Explosive'\r\n\r\n\r\nTargetResists.register()\r\n"
  },
  {
    "path": "gui/builtinViews/__init__.py",
    "content": "__all__ = [\"fittingView\", \"implantEditor\"]\r\n"
  },
  {
    "path": "gui/builtinViews/emptyView.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\nimport gui.globalEvents as GE\r\nfrom gui.chrome_tabs import EVT_NOTEBOOK_PAGE_CHANGED\r\nimport gui.mainFrame\r\n\r\n\r\nclass BlankPage(wx.Panel):\r\n    def __init__(self, parent):\r\n        wx.Panel.__init__(self, parent, size=(0, 0))\r\n\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.parent = parent\r\n\r\n        self.parent.Bind(EVT_NOTEBOOK_PAGE_CHANGED, self.pageChanged)\r\n        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))\r\n\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=()))\r\n\r\n    def Destroy(self):\r\n        # todo: This unbind caused fits to not recalc when switching to their tabs; find out why\r\n        # self.parent.Unbind(EVT_NOTEBOOK_PAGE_CHANGED)\r\n        wx.Panel.Destroy(self)\r\n\r\n    def pageChanged(self, event):\r\n        if self.parent.IsActive(self):\r\n            fitID = None\r\n            # sFit = Fit.getInstance()\r\n            # sFit.switchFit(fitID)\r\n            wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n        event.Skip()\r\n"
  },
  {
    "path": "gui/builtinViews/entityEditor.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\nfrom gui.bitmap_loader import BitmapLoader\r\n\r\n\r\nclass BaseValidator(wx.Validator):\r\n    def __init__(self):\r\n        wx.Validator.__init__(self)\r\n\r\n    def Validate(self, win):\r\n        raise NotImplementedError()\r\n\r\n    def TransferToWindow(self):\r\n        return True\r\n\r\n    def TransferFromWindow(self):\r\n        return True\r\n\r\n\r\nclass TextEntryValidatedDialog(wx.TextEntryDialog):\r\n    def __init__(self, parent, validator=None, *args, **kargs):\r\n        wx.TextEntryDialog.__init__(self, parent, *args, **kargs)\r\n        self.parent = parent\r\n\r\n        # See https://github.com/wxWidgets/Phoenix/issues/611\r\n        self.txtctrl = self.FindWindowById(3000, self)\r\n\r\n        if validator:\r\n            self.txtctrl.SetValidator(validator())\r\n\r\n\r\nclass EntityEditor(wx.Panel):\r\n    \"\"\"\r\n    Entity Editor is a panel that takes some sort of list as a source and populates a drop down with options to add/\r\n    rename/clone/delete an entity. Comes with dialogs that take user input. Classes that derive this class must override\r\n    functions that get the list from the source, what to do when user does an action, and how to validate the input.\r\n    \"\"\"\r\n\r\n    def __init__(self, parent, entityName, selected=None):\r\n        wx.Panel.__init__(self, parent, id=wx.ID_ANY, style=wx.TAB_TRAVERSAL)\r\n        self.entityName = entityName\r\n        self.validator = None\r\n        self.navSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.choices = []\r\n        self.choices.sort(key=lambda p: p.name)\r\n        self.entityChoices = wx.Choice(self, choices=[p.name for p in self.choices])\r\n        self.navSizer.Add(self.entityChoices, 1, wx.ALL, 5)\r\n\r\n        buttons = ((\"new\", wx.ART_NEW, self.OnNew),\r\n                   (\"rename\", BitmapLoader.getBitmap(\"rename\", \"gui\"), self.OnRename),\r\n                   (\"copy\", wx.ART_COPY, self.OnCopy),\r\n                   (\"delete\", wx.ART_DELETE, self.OnDelete))\r\n\r\n        size = None\r\n        for name, art, func in buttons:\r\n            bitmap = wx.ArtProvider.GetBitmap(art, wx.ART_BUTTON) if name != \"rename\" else art\r\n            btn = wx.BitmapButton(self, wx.ID_ANY, bitmap)\r\n            if size is None:\r\n                size = btn.GetSize()\r\n\r\n            btn.SetMinSize(size)\r\n            btn.SetMaxSize(size)\r\n\r\n            btn.SetToolTip(\"{} {}\".format(name.capitalize(), self.entityName))\r\n            btn.Bind(wx.EVT_BUTTON, func)\r\n            setattr(self, \"btn%s\" % name.capitalize(), btn)\r\n            self.navSizer.Add(btn, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 2)\r\n\r\n        self.SetSizer(self.navSizer)\r\n        self.Layout()\r\n\r\n        self.refreshEntityList(selected=selected)\r\n\r\n    def SetEditorValidator(self, validator=None):\r\n        \"\"\" Sets validator class (not an instance of the class) \"\"\"\r\n        self.validator = validator\r\n\r\n    def getEntitiesFromContext(self):\r\n        \"\"\" Gets list of entities from current context \"\"\"\r\n        raise NotImplementedError()\r\n\r\n    def DoNew(self, name):\r\n        \"\"\"Override method to do new entity logic. Must return the new entity\"\"\"\r\n        raise NotImplementedError()\r\n\r\n    def DoCopy(self, entity, name):\r\n        \"\"\"Override method to copy entity. Must return the copy\"\"\"\r\n        raise NotImplementedError()\r\n\r\n    def DoRename(self, entity, name):\r\n        \"\"\"Override method to rename an entity\"\"\"\r\n        raise NotImplementedError()\r\n\r\n    def DoDelete(self, entity):\r\n        \"\"\"Override method to delete entity\"\"\"\r\n        raise NotImplementedError()\r\n\r\n    def OnNew(self, event):\r\n        with TextEntryValidatedDialog(\r\n            self, self.validator, \"Enter a name for your new {}:\".format(self.entityName),\r\n            \"New {}\".format(self.entityName)\r\n        ) as dlg:\r\n            dlg.CenterOnParent()\r\n\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                # using dlg.textctrl.GetValue instead of simply dlg.GetValue because the proper way does not work in wxPython 2.8\r\n                new = self.DoNew(dlg.txtctrl.GetValue().strip())\r\n                self.refreshEntityList(new)\r\n                wx.PostEvent(self.entityChoices, wx.CommandEvent(wx.wxEVT_COMMAND_CHOICE_SELECTED))\r\n            else:\r\n                return False\r\n\r\n    def OnCopy(self, event):\r\n        with TextEntryValidatedDialog(\r\n            self, self.validator, \"Enter a name for your {} copy:\".format(self.entityName),\r\n            \"Copy {}\".format(self.entityName)\r\n        ) as dlg:\r\n            active = self.getActiveEntity()\r\n            dlg.SetValue(\"{} Copy\".format(active.name))\r\n            dlg.txtctrl.SetInsertionPointEnd()\r\n            dlg.CenterOnParent()\r\n\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                copy = self.DoCopy(active, dlg.txtctrl.GetValue().strip())\r\n                self.refreshEntityList(copy)\r\n                wx.PostEvent(self.entityChoices, wx.CommandEvent(wx.wxEVT_COMMAND_CHOICE_SELECTED))\r\n\r\n    def OnRename(self, event):\r\n        with TextEntryValidatedDialog(\r\n            self, self.validator, \"Enter a new name for your {}:\".format(self.entityName),\r\n            \"Rename {}\".format(self.entityName)\r\n        ) as dlg:\r\n            active = self.getActiveEntity()\r\n            dlg.SetValue(active.name)\r\n            dlg.txtctrl.SetInsertionPointEnd()\r\n            dlg.CenterOnParent()\r\n\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                self.DoRename(active, dlg.txtctrl.GetValue().strip())\r\n                self.refreshEntityList(active)\r\n                wx.PostEvent(self.entityChoices, wx.CommandEvent(wx.wxEVT_COMMAND_CHOICE_SELECTED))\r\n\r\n    def OnDelete(self, event):\r\n        with wx.MessageDialog(\r\n            self, \"Do you really want to delete the {} {}?\".format(self.getActiveEntity().name, self.entityName),\r\n            \"Confirm Delete\", wx.YES | wx.NO | wx.ICON_QUESTION\r\n        ) as dlg:\r\n            dlg.CenterOnParent()\r\n            if dlg.ShowModal() == wx.ID_YES:\r\n                self.DoDelete(self.getActiveEntity())\r\n                self.refreshEntityList()\r\n                wx.PostEvent(self.entityChoices, wx.CommandEvent(wx.wxEVT_COMMAND_CHOICE_SELECTED))\r\n\r\n    def refreshEntityList(self, selected=None):\r\n        self.choices = self.getEntitiesFromContext()\r\n        self.entityChoices.Clear()\r\n\r\n        self.entityChoices.AppendItems([p.name for p in self.choices])\r\n        if selected:\r\n            idx = self.choices.index(selected)\r\n            self.entityChoices.SetSelection(idx)\r\n        else:\r\n            self.entityChoices.SetSelection(0)\r\n\r\n    def getActiveEntity(self):\r\n        if len(self.choices) == 0:\r\n            return None\r\n\r\n        return self.choices[self.entityChoices.GetSelection()]\r\n\r\n    def setActiveEntity(self, entity):\r\n        try:\r\n            idx = self.choices.index(entity)\r\n        except IndexError:\r\n            return False\r\n        self.entityChoices.SetSelection(idx)\r\n        return True\r\n\r\n    def checkEntitiesExist(self):\r\n        if len(self.choices) > 0:\r\n            return True\r\n        else:\r\n            return self.enterNewEntity()\r\n\r\n    def enterNewEntity(self):\r\n        self.Parent.Hide()\r\n        if self.OnNew(None) is False:\r\n            return False\r\n        self.Parent.Show()\r\n\r\n        return True\r\n\r\n\r\n"
  },
  {
    "path": "gui/builtinViews/fittingView.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n# noinspection PyPackageRequirements\r\nimport wx.lib.newevent\r\nfrom logbook import Logger\r\n\r\nimport gui.builtinViews.emptyView\r\nimport gui.display as d\r\nimport gui.fitCommands as cmd\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nimport gui.multiSwitch\r\nfrom eos.saveddata.mode import Mode\r\nfrom eos.saveddata.module import Module, Rack\r\nfrom eos.const import FittingSlot\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.builtinMarketBrowser.events import ITEM_SELECTED\r\nfrom gui.builtinShipBrowser.events import EVT_FIT_SELECTED, FitSelected\r\nfrom gui.builtinViewColumns.state import State\r\nfrom gui.chrome_tabs import EVT_NOTEBOOK_PAGE_CHANGED\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.utils.staticHelpers import DragDropHelper\r\nfrom gui.utils.dark import isDark\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\nfrom config import slotColourMap, slotColourMapDark, errColor, errColorDark\r\nfrom gui.fitCommands.helpers import getSimilarModPositions\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\n\r\n# Tab spawning handler\r\nclass FitSpawner(gui.multiSwitch.TabSpawner):\r\n    def __init__(self, multiSwitch):\r\n        self.multiSwitch = multiSwitch\r\n        self.mainFrame = mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        mainFrame.Bind(EVT_FIT_SELECTED, self.fitSelected)\r\n        self.multiSwitch.tabs_container.handleDrag = self.handleDrag\r\n\r\n    def fitSelected(self, event):\r\n        count = -1\r\n        # @todo pheonix: _pages is supposed to be private?\r\n        for index, page in enumerate(self.multiSwitch._pages):\r\n            if not isinstance(page, gui.builtinViews.emptyView.BlankPage):  # Don't try and process it if it's a blank page.\r\n                try:\r\n                    if page.activeFitID == event.fitID:\r\n                        count += 1\r\n                        self.multiSwitch.SetSelection(index)\r\n                        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(event.fitID,)))\r\n                        break\r\n                except (KeyboardInterrupt, SystemExit):\r\n                    raise\r\n                except Exception as e:\r\n                    pyfalog.critical(\"Caught exception in fitSelected\")\r\n                    pyfalog.critical(e)\r\n        if count < 0:\r\n            startup = getattr(event, \"startup\", False)  # see OpenFitsThread in gui.mainFrame\r\n            from_import = getattr(event, \"from_import\", False)  # always open imported into a new tab\r\n            sFit = Fit.getInstance()\r\n            openFitInNew = sFit.serviceFittingOptions[\"openFitInNew\"]\r\n            mstate = wx.GetMouseState()\r\n            modifierKey = mstate.GetModifiers() == wx.MOD_CONTROL\r\n            if from_import or (not openFitInNew and modifierKey) or startup or (openFitInNew and not modifierKey):\r\n                self.multiSwitch.AddPage()\r\n\r\n            view = self.multiSwitch.GetSelectedPage()\r\n\r\n            if not isinstance(view, FittingView):\r\n                view = FittingView(self.multiSwitch)\r\n                pyfalog.debug(\"###################### Created new view:\" + repr(view))\r\n                self.multiSwitch.ReplaceActivePage(view)\r\n\r\n            view.fitSelected(event)\r\n\r\n    def handleDrag(self, type, fitID):\r\n        if type == \"fit\":\r\n            for page in self.multiSwitch._pages:\r\n                if isinstance(page, FittingView) and page.activeFitID == fitID:\r\n                    index = self.multiSwitch.GetPageIndex(page)\r\n                    self.multiSwitch.SetSelection(index)\r\n                    wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n                    return\r\n                elif isinstance(page, gui.builtinViews.emptyView.BlankPage):\r\n                    view = FittingView(self.multiSwitch)\r\n                    self.multiSwitch.ReplaceActivePage(view)\r\n                    view.handleDrag(type, fitID)\r\n                    return\r\n\r\n            view = FittingView(self.multiSwitch)\r\n            self.multiSwitch.AddPage(view)\r\n            view.handleDrag(type, fitID)\r\n\r\n\r\nFitSpawner.register()\r\n\r\n\r\n# Drag'n'drop handler\r\nclass FittingViewDrop(wx.DropTarget):\r\n    def __init__(self, dropFn, *args, **kwargs):\r\n        super(FittingViewDrop, self).__init__(*args, **kwargs)\r\n        self.dropFn = dropFn\r\n        # this is really transferring an EVE itemID\r\n        self.dropData = wx.TextDataObject()\r\n        self.SetDataObject(self.dropData)\r\n\r\n    def OnData(self, x, y, t):\r\n        if self.GetData():\r\n            dragged_data = DragDropHelper.data\r\n            # pyfalog.debug(\"fittingView: recieved drag: \" + self.dropData.GetText())\r\n\r\n            if dragged_data is None:\r\n                return t\r\n\r\n            data = dragged_data.split(':')\r\n            self.dropFn(x, y, data)\r\n        return t\r\n\r\n\r\nclass FittingView(d.Display):\r\n    DEFAULT_COLS = [\"State\",\r\n                    \"Ammo Icon\",\r\n                    \"Base Icon\",\r\n                    \"Base Name\",\r\n                    \"attr:power\",\r\n                    \"attr:cpu\",\r\n                    \"Capacitor Usage\",\r\n                    \"Max Range\",\r\n                    \"Miscellanea\",\r\n                    \"Price\",\r\n                    \"Ammo\",\r\n                    \"Heat\",\r\n                    ]\r\n\r\n    def __init__(self, parent):\r\n        d.Display.__init__(self, parent, size=(0, 0), style=wx.BORDER_NONE)\r\n        self.Show(False)\r\n        self.parent = parent\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n        self.mainFrame.Bind(GE.FIT_RENAMED, self.fitRenamed)\r\n        self.mainFrame.Bind(GE.FIT_REMOVED, self.fitRemoved)\r\n        self.mainFrame.Bind(ITEM_SELECTED, self.appendItem)\r\n        self.font = wx.SystemSettings.GetFont(wx.SYS_DEFAULT_GUI_FONT)\r\n\r\n        self.Bind(wx.EVT_LEFT_DCLICK, self.removeItem)\r\n        self.Bind(wx.EVT_LIST_BEGIN_DRAG, self.startDrag)\r\n        self.Bind(wx.EVT_CONTEXT_MENU, self.spawnMenu)\r\n\r\n        self.SetDropTarget(FittingViewDrop(self.handleListDrag))\r\n        self.activeFitID = None\r\n        self.FVsnapshot = None\r\n        self.itemCount = 0\r\n\r\n        self.hoveredRow = None\r\n        self.hoveredColumn = None\r\n\r\n        self.Bind(wx.EVT_KEY_UP, self.kbEvent)\r\n        self.Bind(wx.EVT_LEFT_DOWN, self.click)\r\n        self.Bind(wx.EVT_RIGHT_DOWN, self.click)\r\n        self.Bind(wx.EVT_MIDDLE_DOWN, self.click)\r\n        self.Bind(wx.EVT_SHOW, self.OnShow)\r\n        self.Bind(wx.EVT_MOTION, self.OnMouseMove)\r\n        self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindow)\r\n        self.parent.Bind(EVT_NOTEBOOK_PAGE_CHANGED, self.pageChanged)\r\n        pyfalog.debug(\"------------------ new fitting view -------------------\")\r\n        pyfalog.debug(self)\r\n\r\n    def OnLeaveWindow(self, event):\r\n        self.SetToolTip(None)\r\n        self.hoveredRow = None\r\n        self.hoveredColumn = None\r\n        event.Skip()\r\n\r\n    def OnMouseMove(self, event):\r\n        row, _, col = self.HitTestSubItem(event.Position)\r\n        if row != self.hoveredRow or col != self.hoveredColumn:\r\n            if self.ToolTip is not None:\r\n                self.SetToolTip(None)\r\n            else:\r\n                self.hoveredRow = row\r\n                self.hoveredColumn = col\r\n                if row != -1 and row not in self.blanks and col != -1 and col < len(self.DEFAULT_COLS):\r\n                    mod = self.mods[row]\r\n                    tooltip = self.activeColumns[col].getToolTip(mod)\r\n                    if tooltip is not None:\r\n                        self.SetToolTip(tooltip)\r\n                    else:\r\n                        self.SetToolTip(None)\r\n                else:\r\n                    self.SetToolTip(None)\r\n        event.Skip()\r\n\r\n    def handleListDrag(self, x, y, data):\r\n        \"\"\"\r\n        Handles dragging of items from various pyfa displays which support it\r\n\r\n        data is list with two items:\r\n            data[0] is hard-coded str of originating source\r\n            data[1] is typeID or index of data we want to manipulate\r\n        \"\"\"\r\n        if data[0] == \"fitting\":\r\n            self.swapItems(x, y, int(data[1]))\r\n        elif data[0] == \"cargo\":\r\n            self.swapCargo(x, y, int(data[1]))\r\n        elif data[0] == \"market\":\r\n            self.addModule(x, y, int(data[1]))\r\n\r\n    def handleDrag(self, type, fitID):\r\n        # Those are drags coming from pyfa sources, NOT builtin wx drags\r\n        if type == \"fit\":\r\n            wx.PostEvent(self.mainFrame, FitSelected(fitID=fitID))\r\n\r\n    def Destroy(self):\r\n        pyfalog.debug(\"+++++ Destroy \" + repr(self))\r\n        d.Display.Destroy(self)\r\n\r\n    def pageChanged(self, event):\r\n        if self.parent.IsActive(self):\r\n            fitID = self.getActiveFit()\r\n            sFit = Fit.getInstance()\r\n            sFit.switchFit(fitID)\r\n            wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n        event.Skip()\r\n\r\n    def getActiveFit(self):\r\n        return self.activeFitID\r\n\r\n    def startDrag(self, event):\r\n        srcRow = event.GetIndex()\r\n\r\n        if srcRow == -1:\r\n            return\r\n        if srcRow in self.blanks:\r\n            return\r\n        try:\r\n            mod = self.mods[srcRow]\r\n        except IndexError:\r\n            return\r\n        if not isinstance(self.mods[srcRow], Module):\r\n            return\r\n        if mod.isEmpty:\r\n            return\r\n        fit = Fit.getInstance().getFit(self.activeFitID)\r\n        if mod not in fit.modules:\r\n            return\r\n\r\n        self.unselectAll()\r\n        self.Select(srcRow, True)\r\n\r\n        data = wx.TextDataObject()\r\n        dataStr = \"fitting:\" + str(fit.modules.index(mod))\r\n        data.SetText(dataStr)\r\n\r\n        dropSource = wx.DropSource(self)\r\n        dropSource.SetData(data)\r\n        DragDropHelper.data = dataStr\r\n        dropSource.DoDragDrop()\r\n\r\n    def getSelectedMods(self):\r\n        mods = []\r\n        for row in self.getSelectedRows():\r\n            try:\r\n                mod = self.mods[row]\r\n            except IndexError:\r\n                continue\r\n            if mod and not isinstance(mod, Rack):\r\n                mods.append(mod)\r\n        return mods\r\n\r\n    def kbEvent(self, event):\r\n        keycode = event.GetKeyCode()\r\n        modifiers = event.GetModifiers()\r\n        if keycode == wx.WXK_ESCAPE and modifiers == wx.MOD_NONE:\r\n            self.unselectAll()\r\n        elif keycode == 65 and modifiers == wx.MOD_CONTROL:\r\n            self.selectAll()\r\n        elif keycode in (wx.WXK_DELETE, wx.WXK_NUMPAD_DELETE) and modifiers == wx.MOD_NONE:\r\n            modules = [m for m in self.getSelectedMods() if not m.isEmpty]\r\n            self.removeModule(modules)\r\n        event.Skip()\r\n\r\n    def fitRemoved(self, event):\r\n        \"\"\"\r\n        If fit is removed and active, the page is deleted.\r\n        We also refresh the fit of the new current page in case\r\n        delete fit caused change in stats (projected)\r\n        todo: move this to the notebook, not the page. We don't want the page being responsible for deleting itself\r\n        \"\"\"\r\n        pyfalog.debug(\"FittingView::fitRemoved\")\r\n        if not self:\r\n            event.Skip()\r\n            return\r\n        if event.fitID == self.getActiveFit():\r\n            pyfalog.debug(\"    Deleted fit is currently active\")\r\n            self.parent.DeletePage(self.parent.GetPageIndex(self))\r\n\r\n            try:\r\n                # Sometimes there is no active page after deletion, hence the try block\r\n                sFit = Fit.getInstance()\r\n\r\n                # stopgap for #1384\r\n                fit = sFit.getFit(self.getActiveFit())\r\n                if fit:\r\n                    sFit.refreshFit(self.getActiveFit())\r\n                    wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(self.activeFitID,)))\r\n            except RuntimeError:\r\n                pyfalog.warning(\"Caught dead object\")\r\n                pass\r\n\r\n        event.Skip()\r\n\r\n    def fitRenamed(self, event):\r\n        if not self:\r\n            event.Skip()\r\n            return\r\n        fitID = event.fitID\r\n        if fitID == self.getActiveFit():\r\n            self.updateTab()\r\n\r\n        event.Skip()\r\n\r\n    def fitSelected(self, event):\r\n        pyfalog.debug('====== Fit Selected: ' + repr(self) + str(bool(self)))\r\n\r\n        if self.parent.IsActive(self):\r\n            fitID = event.fitID\r\n            startup = getattr(event, \"startup\", False)\r\n            self.activeFitID = fitID\r\n            sFit = Fit.getInstance()\r\n            self.updateTab()\r\n            if not startup or startup == 2:  # see OpenFitsThread in gui.mainFrame\r\n                self.Show(fitID is not None)\r\n                self.slotsChanged()\r\n                sFit.switchFit(fitID)\r\n                # @todo pheonix: had to disable this as it was causing a crash at the wxWidgets level. Dunno why, investigate\r\n                wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n        event.Skip()\r\n\r\n    def updateTab(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.getActiveFit(), basic=True)\r\n\r\n        bitmap = BitmapLoader.getImage(\"race_%s_small\" % fit.ship.item.race, \"gui\")\r\n        text = \"%s: %s\" % (fit.ship.item.name, fit.name)\r\n\r\n        pageIndex = self.parent.GetPageIndex(self)\r\n        if pageIndex is not None:\r\n            self.parent.SetPageTextIcon(pageIndex, text, bitmap)\r\n\r\n    def appendItem(self, event):\r\n        \"\"\"\r\n        Adds items that are double clicks from the market browser. We handle both modules and ammo\r\n        \"\"\"\r\n        if not self:\r\n            event.Skip()\r\n            return\r\n        if self.parent.IsActive(self):\r\n            itemID = event.itemID\r\n            fitID = self.activeFitID\r\n            if fitID is not None:\r\n                item = Market.getInstance().getItem(itemID, eager='group.category')\r\n                if item is None:\r\n                    event.Skip()\r\n                    return\r\n                batchOp = wx.GetMouseState().GetModifiers() == wx.MOD_ALT and getattr(event, 'allowBatch', None) is not False\r\n                if (item.isModule and not batchOp) or item.isSubsystem:\r\n                    self.mainFrame.command.Submit(cmd.GuiAddLocalModuleCommand(fitID=fitID, itemID=itemID))\r\n                elif item.isModule and batchOp:\r\n                    self.mainFrame.command.Submit(cmd.GuiFillWithNewLocalModulesCommand(fitID=fitID, itemID=itemID))\r\n\r\n        event.Skip()\r\n\r\n    def removeItem(self, event):\r\n        \"\"\"Double Left Click - remove module\"\"\"\r\n        if event.GetModifiers() == wx.MOD_CONTROL:\r\n            return\r\n        row, _ = self.HitTest(event.Position)\r\n        if row != -1 and row not in self.blanks and isinstance(self.mods[row], Module):\r\n            col = self.getColumn(event.Position)\r\n            if col != self.getColIndex(State):\r\n                try:\r\n                    mod = self.mods[row]\r\n                except IndexError:\r\n                    return\r\n                if not isinstance(mod, Module) or mod.isEmpty:\r\n                    return\r\n                if event.GetModifiers() == wx.MOD_ALT:\r\n                    fit = Fit.getInstance().getFit(self.activeFitID)\r\n                    positions = getSimilarModPositions(fit.modules, mod)\r\n                    self.mainFrame.command.Submit(cmd.GuiRemoveLocalModuleCommand(\r\n                        fitID=self.activeFitID, positions=positions))\r\n                else:\r\n                    self.removeModule(mod)\r\n            else:\r\n                if \"wxMSW\" in wx.PlatformInfo:\r\n                    self.click(event)\r\n\r\n    def removeModule(self, modules):\r\n        \"\"\"Removes a list of modules from the fit\"\"\"\r\n        if not isinstance(modules, list):\r\n            modules = [modules]\r\n\r\n        fit = Fit.getInstance().getFit(self.activeFitID)\r\n        positions = []\r\n        for position, mod in enumerate(fit.modules):\r\n            if mod in modules:\r\n                positions.append(position)\r\n\r\n        self.mainFrame.command.Submit(cmd.GuiRemoveLocalModuleCommand(\r\n            fitID=self.activeFitID, positions=positions))\r\n\r\n    def addModule(self, x, y, itemID):\r\n        \"\"\"Add a module from the market browser (from dragging it)\"\"\"\r\n        fitID = self.mainFrame.getActiveFit()\r\n        item = Market.getInstance().getItem(itemID)\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        dstRow, _ = self.HitTest((x, y))\r\n        if dstRow == -1 or dstRow in self.blanks:\r\n            dstMod = None\r\n        else:\r\n            try:\r\n                dstMod = self.mods[dstRow]\r\n            except IndexError:\r\n                dstMod = None\r\n            if not isinstance(dstMod, Module):\r\n                dstMod = None\r\n            if dstMod not in fit.modules:\r\n                dstMod = None\r\n        dstPos = fit.modules.index(dstMod) if dstMod is not None else None\r\n        mstate = wx.GetMouseState()\r\n        # If we dropping on a module, try to replace, or add if replacement fails\r\n        if item.isModule and dstMod is not None and not dstMod.isEmpty:\r\n            positions = getSimilarModPositions(fit.modules, dstMod) if mstate.GetModifiers() == wx.MOD_ALT else [dstPos]\r\n            command = cmd.GuiReplaceLocalModuleCommand(fitID=fitID, itemID=itemID, positions=positions)\r\n            if not self.mainFrame.command.Submit(command):\r\n                if mstate.GetModifiers() == wx.MOD_ALT:\r\n                    self.mainFrame.command.Submit(cmd.GuiFillWithNewLocalModulesCommand(fitID=fitID, itemID=itemID))\r\n                else:\r\n                    self.mainFrame.command.Submit(cmd.GuiAddLocalModuleCommand(fitID=fitID, itemID=itemID))\r\n        elif item.isModule:\r\n            if mstate.GetModifiers() == wx.MOD_ALT:\r\n                self.mainFrame.command.Submit(cmd.GuiFillWithNewLocalModulesCommand(fitID=fitID, itemID=itemID))\r\n            elif dstPos is not None:\r\n                self.mainFrame.command.Submit(cmd.GuiReplaceLocalModuleCommand(fitID=fitID, itemID=itemID, positions=[dstPos]))\r\n            else:\r\n                self.mainFrame.command.Submit(cmd.GuiAddLocalModuleCommand(fitID=fitID, itemID=itemID))\r\n        elif item.isSubsystem:\r\n            self.mainFrame.command.Submit(cmd.GuiAddLocalModuleCommand(fitID=fitID, itemID=itemID))\r\n        elif item.isCharge:\r\n            failoverToAll = False\r\n            positionsAll = list(range(len(fit.modules)))\r\n            if dstMod is None or dstMod.isEmpty:\r\n                positions = positionsAll\r\n            elif mstate.GetModifiers() == wx.MOD_ALT:\r\n                positions = getSimilarModPositions(fit.modules, dstMod)\r\n                failoverToAll = True\r\n            else:\r\n                positions = [fit.modules.index(dstMod)]\r\n            if len(positions) > 0:\r\n                command = cmd.GuiChangeLocalModuleChargesCommand(fitID=fitID, positions=positions, chargeItemID=itemID)\r\n                if not self.mainFrame.command.Submit(command) and failoverToAll:\r\n                    self.mainFrame.command.Submit(cmd.GuiChangeLocalModuleChargesCommand(\r\n                        fitID=fitID, positions=positionsAll, chargeItemID=itemID))\r\n\r\n\r\n    def swapCargo(self, x, y, cargoItemID):\r\n        \"\"\"Swap a module from cargo to fitting window\"\"\"\r\n\r\n        dstRow, _ = self.HitTest((x, y))\r\n        if dstRow != -1 and dstRow not in self.blanks:\r\n            mod = self.mods[dstRow]\r\n\r\n            if not isinstance(mod, Module):\r\n                return\r\n\r\n            fitID = self.mainFrame.getActiveFit()\r\n            fit = Fit.getInstance().getFit(fitID)\r\n            if mod in fit.modules:\r\n                position = fit.modules.index(mod)\r\n                self.mainFrame.command.Submit(cmd.GuiCargoToLocalModuleCommand(\r\n                    fitID=fitID,\r\n                    cargoItemID=cargoItemID,\r\n                    modPosition=position,\r\n                    copy=wx.GetMouseState().GetModifiers() == wx.MOD_CONTROL))\r\n\r\n    def swapItems(self, x, y, srcIdx):\r\n        \"\"\"Swap two modules in fitting window\"\"\"\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.activeFitID)\r\n\r\n        dstRow, _ = self.HitTest((x, y))\r\n\r\n        if dstRow != -1 and dstRow not in self.blanks:\r\n            try:\r\n                mod1 = fit.modules[srcIdx]\r\n                mod2 = self.mods[dstRow]\r\n            except IndexError:\r\n                return\r\n            if not isinstance(mod2, Module):\r\n                return\r\n            # can't swap modules to different racks\r\n            if mod1.slot != mod2.slot:\r\n                return\r\n            if mod2 not in fit.modules:\r\n                pyfalog.error(\"Missing module position for: {0}\", str(getattr(mod2, \"ID\", \"Unknown\")))\r\n                return\r\n            mod2Position = fit.modules.index(mod2)\r\n            mstate = wx.GetMouseState()\r\n            if mstate.GetModifiers() == wx.MOD_CONTROL | wx.MOD_ALT:\r\n                self.mainFrame.command.Submit(cmd.GuiFillWithClonedLocalModulesCommand(\r\n                    fitID=self.activeFitID, position=srcIdx))\r\n            elif mstate.GetModifiers() == wx.MOD_CONTROL and mod2.isEmpty:\r\n                self.mainFrame.command.Submit(cmd.GuiCloneLocalModuleCommand(\r\n                    fitID=self.activeFitID, srcPosition=srcIdx, dstPosition=mod2Position))\r\n            elif mstate.GetModifiers() == wx.MOD_NONE:\r\n                self.mainFrame.command.Submit(cmd.GuiSwapLocalModulesCommand(\r\n                    fitID=self.activeFitID, position1=srcIdx, position2=mod2Position))\r\n\r\n    def generateMods(self):\r\n        \"\"\"\r\n        Generate module list.\r\n\r\n        This also injects dummy modules to visually separate racks. These modules are only\r\n        known to the display, and not the backend, so it's safe.\r\n        \"\"\"\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.activeFitID)\r\n\r\n        slotOrder = [\r\n            FittingSlot.SUBSYSTEM,\r\n            FittingSlot.HIGH,\r\n            FittingSlot.MED,\r\n            FittingSlot.LOW,\r\n            FittingSlot.RIG,\r\n            FittingSlot.SERVICE\r\n        ]\r\n\r\n        if fit is not None:\r\n            self.mods = [mod for mod in fit.modules if mod is not None]\r\n\r\n            def _get_sort_key(mod):\r\n                slot = getattr(mod, \"slot\", None)\r\n                try:\r\n                    slot_index = slotOrder.index(slot)\r\n                except ValueError:\r\n                    # During rapid fit switches we may briefly see transient modules\r\n                    # with unresolved slot references; keep UI stable by sorting them last.\r\n                    slot_index = len(slotOrder)\r\n                return slot_index, getattr(mod, \"position\", 0)\r\n\r\n            self.mods.sort(key=_get_sort_key)\r\n\r\n            # Blanks is a list of indexes that mark non-module positions (such\r\n            # as Racks and tactical Modes. This allows us to skip over common\r\n            # module operations such as swapping, removing, copying, etc. that\r\n            # would otherwise cause complications\r\n            self.blanks = []  # preliminary markers where blanks will be inserted\r\n\r\n            if sFit.serviceFittingOptions[\"rackSlots\"]:\r\n                # flag to know when to add blanks, based on previous slot\r\n                if sFit.serviceFittingOptions[\"rackLabels\"] or len(self.mods) == 0:\r\n                    slotDivider = None\r\n                else:\r\n                    slotDivider = self.mods[0].slot\r\n\r\n                # first loop finds where slot dividers must go before modifying self.mods\r\n                for i, mod in enumerate(self.mods):\r\n                    if mod.slot != slotDivider:\r\n                        slotDivider = mod.slot\r\n                        self.blanks.append((i, slotDivider))  # where and what\r\n\r\n                # second loop modifies self.mods, rewrites self.blanks to represent actual index of blanks\r\n                for i, (x, slot) in enumerate(self.blanks):\r\n                    self.blanks[i] = x + i  # modify blanks with actual index\r\n                    self.mods.insert(x + i, Rack.buildRack(slot, sum(m.slot == slot for m in self.mods)))\r\n\r\n            if fit.mode:\r\n                # Modes are special snowflakes and need a little manual loving\r\n                # We basically append the Mode rack and Mode to the modules\r\n                # while also marking the mode header position in the Blanks list\r\n                if sFit.serviceFittingOptions[\"rackSlots\"]:\r\n                    self.blanks.append(len(self.mods))\r\n                    self.mods.append(Rack.buildRack(FittingSlot.MODE, None))\r\n\r\n                self.mods.append(fit.mode)\r\n        else:\r\n            self.mods = None\r\n\r\n    def slotsChanged(self):\r\n        self.generateMods()\r\n        self.populate(self.mods)\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        if not self:\r\n            return\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n        try:\r\n            if self.activeFitID is not None and self.activeFitID == activeFitID:\r\n                self.generateMods()\r\n                if self.GetItemCount() != len(self.mods):\r\n                    # This only happens when turning on/off slot divisions\r\n                    self.populate(self.mods)\r\n                self.refresh(self.mods)\r\n                self.Refresh()\r\n\r\n            self.Show(self.activeFitID is not None and self.activeFitID == activeFitID)\r\n        except RuntimeError:\r\n            pyfalog.error(\"Caught dead object\")\r\n\r\n    def spawnMenu(self, event):\r\n        clickedPos = self.getRowByAbs(event.Position)\r\n        self.ensureSelection(clickedPos)\r\n\r\n        if self.activeFitID is None or self.getColumn(self.screenToClientFixed(event.Position)) == self.getColIndex(State):\r\n            return\r\n\r\n        selection = []\r\n        for mod in self.getSelectedMods():\r\n            # Test if this is a mode, which is a special snowflake of a Module\r\n            if isinstance(mod, Mode):\r\n                selection.append(mod)\r\n            elif not mod.isEmpty:\r\n                selection.append(mod)\r\n\r\n        fit = Fit.getInstance().getFit(self.activeFitID)\r\n        mainMod = None\r\n        if clickedPos != -1:\r\n            try:\r\n                mod = self.mods[clickedPos]\r\n            except IndexError:\r\n                pass\r\n            else:\r\n                if mod is not None and (mod in fit.modules or mod is fit.mode):\r\n                    mainMod = mod\r\n\r\n        sMkt = Market.getInstance()\r\n        contexts = []\r\n        if isinstance(mainMod, Module) and not mainMod.isEmpty:\r\n            srcContext = \"fittingModule\"\r\n            itemContext = sMkt.getCategoryByItem(mainMod.item).displayName\r\n            fullContext = (srcContext, itemContext)\r\n            if srcContext not in tuple(fCtx[0] for fCtx in contexts):\r\n                contexts.append(fullContext)\r\n            if mainMod.charge is not None:\r\n                srcContext = \"fittingCharge\"\r\n                itemContext = sMkt.getCategoryByItem(mainMod.charge).displayName\r\n                fullContext = (srcContext, itemContext)\r\n                if srcContext not in tuple(fCtxt[0] for fCtxt in contexts):\r\n                    contexts.append(fullContext)\r\n        elif isinstance(mainMod, Mode):\r\n            srcContext = \"fittingMode\"\r\n            itemContext = _t(\"Tactical Mode\")\r\n            fullContext = (srcContext, itemContext)\r\n            if srcContext not in tuple(fCtx[0] for fCtx in contexts):\r\n                contexts.append(fullContext)\r\n        contexts.append((\"fittingShip\", _t(\"Ship\") if not fit.isStructure else _t(\"Citadel\")))\r\n\r\n        menu = ContextMenu.getMenu(self, mainMod, selection, *contexts)\r\n        self.PopupMenu(menu)\r\n\r\n    def click(self, event):\r\n        \"\"\"\r\n        Handle click event on modules.\r\n\r\n        This is only useful for the State column. If multiple items are selected,\r\n        and we have clicked the State column, iterate through the selections and\r\n        change State\r\n        \"\"\"\r\n\r\n        clickedRow, _, col = self.HitTestSubItem(event.Position)\r\n\r\n        # only do State column and ignore invalid rows\r\n        if clickedRow != -1 and clickedRow not in self.blanks and col == self.getColIndex(State):\r\n            selectedRows = []\r\n            currentRow = self.GetFirstSelected()\r\n\r\n            while currentRow != -1 and clickedRow not in self.blanks:\r\n                selectedRows.append(currentRow)\r\n                currentRow = self.GetNextSelected(currentRow)\r\n\r\n            if clickedRow not in selectedRows:\r\n                try:\r\n                    selectedMods = [self.mods[clickedRow]]\r\n                except IndexError:\r\n                    return\r\n            else:\r\n                selectedMods = self.getSelectedMods()\r\n\r\n            click = \"ctrl\" if event.GetModifiers() == wx.MOD_CONTROL or event.middleIsDown else \"right\" if event.GetButton() == 3 else \"left\"\r\n\r\n            try:\r\n                mainMod = self.mods[clickedRow]\r\n            except IndexError:\r\n                return\r\n            if mainMod.isEmpty:\r\n                return\r\n            fitID = self.mainFrame.getActiveFit()\r\n            fit = Fit.getInstance().getFit(fitID)\r\n            if mainMod not in fit.modules:\r\n                return\r\n            mainPosition = fit.modules.index(mainMod)\r\n            if event.GetModifiers() == wx.MOD_ALT:\r\n                positions = getSimilarModPositions(fit.modules, mainMod)\r\n            else:\r\n                positions = []\r\n                for position, mod in enumerate(fit.modules):\r\n                    if mod in selectedMods:\r\n                        positions.append(position)\r\n            self.mainFrame.command.Submit(cmd.GuiChangeLocalModuleStatesCommand(\r\n                fitID=fitID,\r\n                mainPosition=mainPosition,\r\n                positions=positions,\r\n                click=click))\r\n\r\n            # update state tooltip\r\n            tooltip = self.activeColumns[col].getToolTip(self.mods[clickedRow])\r\n            if tooltip:\r\n                self.SetToolTip(tooltip)\r\n\r\n        else:\r\n            event.Skip()\r\n\r\n    def slotColour(self, slot):\r\n        if isDark():\r\n            return slotColourMapDark.get(slot) or self.GetBackgroundColour()\r\n        else:\r\n            return slotColourMap.get(slot) or self.GetBackgroundColour()\r\n\r\n    def refresh(self, stuff):\r\n        \"\"\"\r\n        Displays fitting\r\n\r\n        Sends data to d.Display.refresh where the rows and columns are set up, then does a\r\n        bit of post-processing (colors)\r\n        \"\"\"\r\n        self.Freeze()\r\n        d.Display.refresh(self, stuff)\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.activeFitID)\r\n        slotMap = {}\r\n\r\n        # test for too many modules (happens with t3s / CCP change in slot layout)\r\n        for slot in [e.value for e in FittingSlot]:\r\n            slotMap[slot] = fit.getSlotsFree(slot) < 0\r\n\r\n        for i, mod in enumerate(self.mods):\r\n            self.SetItemBackgroundColour(i, self.GetBackgroundColour())\r\n\r\n            #  only consider changing color if we're dealing with a Module\r\n            if isinstance(mod, Module):\r\n                hasRestrictionOverriden = False\r\n                if not mod.isEmpty:\r\n                    fits = mod.fits(fit, False)\r\n                    hasRestrictionOverriden = getattr(mod, 'restrictionOverridden', None)\r\n                    # If module had broken fitting restrictions but now doesn't,\r\n                    # ensure it is now valid, and remove restrictionOverridden\r\n                    # variable. More in #1519\r\n                    if not fit.ignoreRestrictions and hasRestrictionOverriden:\r\n                        clean = False\r\n                        if fits:\r\n                            if not mod.hardpoint:\r\n                                clean = True\r\n                            elif fit.getHardpointsFree(mod.hardpoint) >= 0:\r\n                                clean = True\r\n                        if clean:\r\n                            del mod.restrictionOverridden\r\n                            hasRestrictionOverriden = not hasRestrictionOverriden\r\n\r\n\r\n                if slotMap[mod.slot] or hasRestrictionOverriden:  # Color too many modules as red\r\n                    self.SetItemBackgroundColour(i, errColorDark if isDark() else errColor)\r\n                elif sFit.serviceFittingOptions[\"colorFitBySlot\"]:  # Color by slot it enabled\r\n                    self.SetItemBackgroundColour(i, self.slotColour(mod.slot))\r\n\r\n            # Set rack face to bold\r\n            if isinstance(mod, Rack) and \\\r\n                    sFit.serviceFittingOptions[\"rackSlots\"] and \\\r\n                    sFit.serviceFittingOptions[\"rackLabels\"]:\r\n                self.font.SetWeight(wx.FONTWEIGHT_BOLD)\r\n                self.SetItemFont(i, self.font)\r\n            else:\r\n                self.font.SetWeight(wx.FONTWEIGHT_NORMAL)\r\n                self.SetItemFont(i, self.font)\r\n\r\n        self.Thaw()\r\n        self.itemCount = self.GetItemCount()\r\n\r\n        # if 'wxMac' in wx.PlatformInfo:\r\n        #     try:\r\n        #         self.MakeSnapshot()\r\n        #     except Exception as e:\r\n        #         pyfalog.critical(\"Failed to make snapshot\")\r\n        #         pyfalog.critical(e)\r\n\r\n    def OnShow(self, event):\r\n        if self and not self.IsShown():\r\n            try:\r\n                self.MakeSnapshot()\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                pyfalog.critical(\"Failed to make snapshot\")\r\n                pyfalog.critical(e)\r\n        event.Skip()\r\n\r\n    def Snapshot(self):\r\n        return self.FVsnapshot\r\n\r\n    # noinspection PyPropertyAccess\r\n    def MakeSnapshot(self, maxColumns=1337):\r\n        if self.FVsnapshot:\r\n            self.FVsnapshot = None\r\n\r\n        tbmp = wx.Bitmap(16, 16)\r\n        tdc = wx.MemoryDC()\r\n        tdc.SelectObject(tbmp)\r\n        tdc.SetFont(self.font)\r\n\r\n        columnsWidths = []\r\n        for i in range(len(self.DEFAULT_COLS)):\r\n            columnsWidths.append(0)\r\n\r\n        sFit = Fit.getInstance()\r\n        try:\r\n            fit = sFit.getFit(self.activeFitID)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception as e:\r\n            pyfalog.critical(\"Failed to get fit\")\r\n            pyfalog.critical(e)\r\n            return\r\n\r\n        if fit is None:\r\n            return\r\n\r\n        slotMap = {}\r\n\r\n        for slot in [e.value for e in FittingSlot]:\r\n            slotMap[slot] = fit.getSlotsFree(slot) < 0\r\n\r\n        padding = 2\r\n        isize = 16\r\n        headerSize = max(isize, tdc.GetTextExtent(\"W\")[0]) + padding * 2\r\n\r\n        maxRowHeight = isize\r\n        rows = 0\r\n        for st in self.mods:\r\n            for i, col in enumerate(self.activeColumns):\r\n                if i > maxColumns:\r\n                    break\r\n                name = col.getText(st)\r\n\r\n                if not isinstance(name, str):\r\n                    name = \"\"\r\n\r\n                nx, ny = tdc.GetTextExtent(name)\r\n                imgId = col.getImageId(st)\r\n                cw = 0\r\n                if imgId != -1:\r\n                    cw += isize + padding\r\n                if name != \"\":\r\n                    cw += nx + 4 * padding\r\n\r\n                if imgId == -1 and name == \"\":\r\n                    cw += isize + padding\r\n\r\n                maxRowHeight = max(ny, maxRowHeight)\r\n                columnsWidths[i] = max(columnsWidths[i], cw)\r\n\r\n            rows += 1\r\n\r\n        render = wx.RendererNative.Get()\r\n\r\n        # Fix column widths (use biggest between header or items)\r\n\r\n        for i, col in enumerate(self.activeColumns):\r\n            if i > maxColumns:\r\n                break\r\n\r\n            name = col.columnText\r\n            imgId = col.imageId\r\n\r\n            if not isinstance(name, str):\r\n                name = \"\"\r\n\r\n            opts = wx.HeaderButtonParams()\r\n\r\n            if name != \"\":\r\n                opts.m_labelText = name\r\n\r\n            if imgId != -1:\r\n                opts.m_labelBitmap = wx.Bitmap(round(isize), round(isize))\r\n\r\n            width = render.DrawHeaderButton(self, tdc, (0, 0, 16, 16), sortArrow=wx.HDR_SORT_ICON_NONE, params=opts)\r\n\r\n            columnsWidths[i] = max(columnsWidths[i], width)\r\n\r\n        tdc.SelectObject(wx.NullBitmap)\r\n\r\n        maxWidth = padding * 2\r\n\r\n        for i in range(len(self.DEFAULT_COLS)):\r\n            if i > maxColumns:\r\n                break\r\n            maxWidth += columnsWidths[i]\r\n\r\n        mdc = wx.MemoryDC()\r\n        mbmp = wx.Bitmap(round(maxWidth), round(maxRowHeight * rows + padding * 4 + headerSize))\r\n\r\n        mdc.SelectObject(mbmp)\r\n\r\n        mdc.SetBackground(wx.Brush(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)))\r\n        mdc.Clear()\r\n\r\n        mdc.SetFont(self.font)\r\n        mdc.SetTextForeground(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT))\r\n\r\n        cx = padding\r\n        for i, col in enumerate(self.activeColumns):\r\n            if i > maxColumns:\r\n                break\r\n\r\n            name = col.columnText\r\n            imgId = col.imageId\r\n\r\n            if not isinstance(name, str):\r\n                name = \"\"\r\n\r\n            opts = wx.HeaderButtonParams()\r\n            opts.m_labelAlignment = wx.ALIGN_LEFT\r\n            if name != \"\":\r\n                opts.m_labelText = name\r\n\r\n            if imgId != -1:\r\n                bmp = col.bitmap\r\n                opts.m_labelBitmap = bmp\r\n\r\n            render.DrawHeaderButton(self, mdc, (cx, padding, columnsWidths[i], headerSize), wx.CONTROL_CURRENT, sortArrow=wx.HDR_SORT_ICON_NONE, params=opts)\r\n\r\n            cx += columnsWidths[i]\r\n\r\n        brush = wx.Brush(wx.Colour(224, 51, 51))\r\n        pen = wx.Pen(wx.Colour(224, 51, 51))\r\n\r\n        mdc.SetPen(pen)\r\n        mdc.SetBrush(brush)\r\n\r\n        cy = padding * 2 + headerSize\r\n        for st in self.mods:\r\n            cx = padding\r\n\r\n            if slotMap[st.slot]:\r\n                mdc.DrawRectangle(round(cx), round(cy), round(maxWidth - cx), round(maxRowHeight))\r\n\r\n            for i, col in enumerate(self.activeColumns):\r\n                if i > maxColumns:\r\n                    break\r\n\r\n                name = col.getText(st)\r\n                if not isinstance(name, str):\r\n                    name = \"\"\r\n\r\n                imgId = col.getImageId(st)\r\n                tcx = cx\r\n\r\n                if imgId != -1:\r\n                    self.imageList.Draw(imgId, mdc, cx, cy, wx.IMAGELIST_DRAW_TRANSPARENT, False)\r\n                    tcx += isize + padding\r\n\r\n                if name != \"\":\r\n                    nx, ny = mdc.GetTextExtent(name)\r\n                    rect = wx.Rect()\r\n                    rect.top = cy\r\n                    rect.left = cx + 2 * padding\r\n                    rect.width = nx\r\n                    rect.height = maxRowHeight + padding\r\n                    mdc.DrawLabel(name, rect, wx.ALIGN_CENTER_VERTICAL)\r\n                    tcx += nx + padding\r\n\r\n                cx += columnsWidths[i]\r\n\r\n            cy += maxRowHeight\r\n\r\n        mdc.SelectObject(wx.NullBitmap)\r\n\r\n        self.FVsnapshot = mbmp\r\n"
  },
  {
    "path": "gui/builtinViews/implantEditor.py",
    "content": "import re\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n# noinspection PyPackageRequirements\r\nfrom wx.lib.buttons import GenBitmapButton\r\n\r\nimport gui.builtinMarketBrowser.pfSearchBox as SBox\r\nimport gui.display as d\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.marketBrowser import SearchBox\r\nfrom service.market import Market\r\n\r\n\r\ndef stripHtml(text):\r\n    text = re.sub(r'<\\s*br\\s*/?\\s*>', '\\n', text)\r\n    text = re.sub(r'</?[^/]+?(/\\s*)?>', '', text)\r\n    return text\r\n\r\n\r\nclass BaseImplantEditorView(wx.Panel):\r\n\r\n    def addMarketViewImage(self, iconFile):\r\n        if iconFile is None:\r\n            return -1\r\n        bitmap = BitmapLoader.getBitmap(iconFile, \"icons\")\r\n        if bitmap is None:\r\n            return -1\r\n        else:\r\n            return self.availableImplantsImageList.Add(bitmap)\r\n\r\n    def __init__(self, parent):\r\n        wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize,\r\n                          style=wx.TAB_TRAVERSAL)\r\n        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))\r\n\r\n        pmainSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        availableSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.searchBox = SearchBox(self)\r\n        self.itemView = ItemView(self)\r\n\r\n        self.itemView.Hide()\r\n\r\n        availableSizer.Add(self.searchBox, 0, wx.EXPAND)\r\n        availableSizer.Add(self.itemView, 1, wx.EXPAND)\r\n\r\n        self.availableImplantsTree = wx.TreeCtrl(self, wx.ID_ANY, style=wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT)\r\n        root = self.availableRoot = self.availableImplantsTree.AddRoot(\"Available\")\r\n        self.availableImplantsImageList = wx.ImageList(16, 16)\r\n        self.availableImplantsTree.SetImageList(self.availableImplantsImageList)\r\n\r\n        availableSizer.Add(self.availableImplantsTree, 1, wx.EXPAND)\r\n\r\n        pmainSizer.Add(availableSizer, 1, wx.ALL | wx.EXPAND, 5)\r\n\r\n        buttonSizer = wx.BoxSizer(wx.VERTICAL)\r\n        buttonSizer.AddStretchSpacer()\r\n\r\n        self.btnAdd = GenBitmapButton(self, wx.ID_ADD, BitmapLoader.getBitmap(\"fit_add_small\", \"gui\"),\r\n                                      style=wx.BORDER_NONE)\r\n        buttonSizer.Add(self.btnAdd, 0)\r\n\r\n        self.btnRemove = GenBitmapButton(self, wx.ID_REMOVE, BitmapLoader.getBitmap(\"fit_delete_small\", \"gui\"),\r\n                                         style=wx.BORDER_NONE)\r\n        buttonSizer.Add(self.btnRemove, 0)\r\n\r\n        buttonSizer.AddStretchSpacer()\r\n        pmainSizer.Add(buttonSizer, 0, wx.EXPAND, 0)\r\n\r\n        characterImplantSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.pluggedImplantsTree = AvailableImplantsView(self)\r\n        characterImplantSizer.Add(self.pluggedImplantsTree, 1, wx.ALL | wx.EXPAND, 5)\r\n        pmainSizer.Add(characterImplantSizer, 1, wx.EXPAND, 5)\r\n\r\n        self.SetSizer(pmainSizer)\r\n\r\n        self.hoveredLeftTreeTypeID = None\r\n        self.hoveredRightListRow = None\r\n\r\n        # Populate the market tree\r\n        sMkt = Market.getInstance()\r\n        for mktGrp in sMkt.getImplantTree():\r\n            iconId = self.addMarketViewImage(sMkt.getIconByMarketGroup(mktGrp))\r\n            childId = self.availableImplantsTree.AppendItem(root, mktGrp.name, iconId, data=mktGrp.ID)\r\n            if sMkt.marketGroupHasTypesCheck(mktGrp) is False:\r\n                self.availableImplantsTree.AppendItem(childId, \"dummy\")\r\n\r\n        self.availableImplantsTree.SortChildren(self.availableRoot)\r\n\r\n        # Bind the event to replace dummies by real data\r\n        self.availableImplantsTree.Bind(wx.EVT_TREE_ITEM_EXPANDING, self.expandLookup)\r\n        self.availableImplantsTree.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.itemSelected)\r\n        self.availableImplantsTree.Bind(wx.EVT_MOTION, self.OnLeftTreeMouseMove)\r\n        self.availableImplantsTree.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeftTreeMouseLeave)\r\n\r\n        self.itemView.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.itemSelected)\r\n\r\n        self.pluggedImplantsTree.Bind(wx.EVT_MOTION, self.OnRightListMouseMove)\r\n\r\n        # Bind add & remove buttons\r\n        self.btnAdd.Bind(wx.EVT_BUTTON, self.itemSelected)\r\n        self.btnRemove.Bind(wx.EVT_BUTTON, self.removeItem)\r\n\r\n        # We update with an empty list first to set the initial size for Layout(), then update later with actual\r\n        # implants for character. This helps with sizing issues.\r\n        self.pluggedImplantsTree.update([])\r\n        self.bindContext()\r\n        self.Layout()\r\n\r\n        self.update()\r\n\r\n    def bindContext(self):\r\n        # Binds self.contextChanged to whatever changes the context\r\n        raise NotImplementedError()\r\n\r\n    def getImplantsFromContext(self):\r\n        \"\"\" Gets list of implants from current context \"\"\"\r\n        raise NotImplementedError()\r\n\r\n    def addImplantToContext(self, item):\r\n        \"\"\" Adds implant to the current context\"\"\"\r\n        raise NotImplementedError()\r\n\r\n    def removeImplantFromContext(self, implant):\r\n        \"\"\" Removes implant from the current context\"\"\"\r\n        raise NotImplementedError()\r\n\r\n    def update(self):\r\n        \"\"\"Updates implant list based off the current context\"\"\"\r\n        self.implants = self.getImplantsFromContext()[:]\r\n        self.implants.sort(key=lambda i: int(i.getModifiedItemAttr(\"implantness\")))\r\n        self.pluggedImplantsTree.update(self.implants)\r\n\r\n    def contextChanged(self, event):\r\n        self.update()\r\n        event.Skip()\r\n\r\n    def expandLookup(self, event):\r\n        tree = self.availableImplantsTree\r\n        sMkt = Market.getInstance()\r\n        parent = event.Item\r\n        child, _ = tree.GetFirstChild(parent)\r\n        text = tree.GetItemText(child)\r\n\r\n        if text == \"dummy\" or text == \"itemdummy\":\r\n            tree.Delete(child)\r\n\r\n        # if the dummy item is a market group, replace with actual market groups\r\n        if text == \"dummy\":\r\n            # Add 'real stoof!' instead\r\n            currentMktGrp = sMkt.getMarketGroup(tree.GetItemData(parent), eager=\"children\")\r\n            for childMktGrp in sMkt.getMarketGroupChildren(currentMktGrp):\r\n                iconId = self.addMarketViewImage(sMkt.getIconByMarketGroup(childMktGrp))\r\n                childId = tree.AppendItem(parent, childMktGrp.name, iconId, data=childMktGrp.ID)\r\n                if sMkt.marketGroupHasTypesCheck(childMktGrp) is False:\r\n                    tree.AppendItem(childId, \"dummy\")\r\n                else:\r\n                    tree.AppendItem(childId, \"itemdummy\")\r\n\r\n        # replace dummy with actual items\r\n        if text == \"itemdummy\":\r\n            currentMktGrp = sMkt.getMarketGroup(tree.GetItemData(parent))\r\n            items = sMkt.getItemsByMarketGroup(currentMktGrp)\r\n            for item in items:\r\n                iconId = self.addMarketViewImage(item.iconID)\r\n                tree.AppendItem(parent, item.name, iconId, data=item)\r\n\r\n        tree.SortChildren(parent)\r\n\r\n    def itemSelected(self, event):\r\n        if event.EventObject is self.btnAdd:\r\n            # janky fix that sets EventObject so that we don't have similar code elsewhere.\r\n            if self.itemView.IsShown():\r\n                event.EventObject = self.itemView\r\n            else:\r\n                event.EventObject = self.availableImplantsTree\r\n\r\n        if event.EventObject is self.itemView:\r\n            curr = event.EventObject.GetFirstSelected()\r\n\r\n            while curr != -1:\r\n                item = self.itemView.items[curr]\r\n                self.addImplantToContext(item)\r\n\r\n                curr = event.EventObject.GetNextSelected(curr)\r\n        else:\r\n            root = self.availableImplantsTree.GetSelection()\r\n\r\n            if not root.IsOk():\r\n                return\r\n\r\n            nchilds = self.availableImplantsTree.GetChildrenCount(root)\r\n            if nchilds == 0:\r\n                item = self.availableImplantsTree.GetItemData(root)\r\n                self.addImplantToContext(item)\r\n            else:\r\n                event.Skip()\r\n                return\r\n\r\n        self.update()\r\n\r\n    def removeItem(self, event):\r\n        pos = self.pluggedImplantsTree.GetFirstSelected()\r\n        if pos != -1:\r\n            self.removeImplantFromContext(self.implants[pos])\r\n            self.update()\r\n\r\n    # Due to https://github.com/wxWidgets/Phoenix/issues/1372 we cannot set tooltips on\r\n    # tree itself; work this around with following two methods, by setting tooltip to\r\n    # parent window\r\n    def OnLeftTreeMouseMove(self, event):\r\n        event.Skip()\r\n        treeItemId, _ = self.availableImplantsTree.HitTest(event.Position)\r\n        if not treeItemId:\r\n            if self.hoveredLeftTreeTypeID is not None:\r\n                self.hoveredLeftTreeTypeID = None\r\n                self.SetToolTip(None)\r\n            return\r\n        item = self.availableImplantsTree.GetItemData(treeItemId)\r\n        isImplant = getattr(item, 'isImplant', False)\r\n        if not isImplant:\r\n            if self.hoveredLeftTreeTypeID is not None:\r\n                self.hoveredLeftTreeTypeID = None\r\n                self.SetToolTip(None)\r\n            return\r\n        if self.hoveredLeftTreeTypeID == item.ID:\r\n            return\r\n        if self.ToolTip is not None:\r\n            self.SetToolTip(None)\r\n        else:\r\n            self.hoveredLeftTreeTypeID = item.ID\r\n            toolTip = wx.ToolTip(stripHtml(item.description))\r\n            toolTip.SetMaxWidth(self.GetSize().Width)\r\n            self.SetToolTip(toolTip)\r\n\r\n    def OnLeftTreeMouseLeave(self, event):\r\n        event.Skip()\r\n        self.SetToolTip(None)\r\n\r\n    def OnRightListMouseMove(self, event):\r\n        event.Skip()\r\n        row, _, col = self.pluggedImplantsTree.HitTestSubItem(event.Position)\r\n        if row != self.hoveredRightListRow:\r\n            if self.pluggedImplantsTree.ToolTip is not None:\r\n                self.pluggedImplantsTree.SetToolTip(None)\r\n            else:\r\n                self.hoveredRightListRow = row\r\n                try:\r\n                    implant = self.implants[row]\r\n                except IndexError:\r\n                    self.pluggedImplantsTree.SetToolTip(None)\r\n                else:\r\n                    toolTip = wx.ToolTip(stripHtml(implant.item.description))\r\n                    toolTip.SetMaxWidth(self.pluggedImplantsTree.GetSize().Width)\r\n                    self.pluggedImplantsTree.SetToolTip(toolTip)\r\n\r\n\r\nclass AvailableImplantsView(d.Display):\r\n    DEFAULT_COLS = [\"attr:implantness\",\r\n                    \"Base Name\"]\r\n\r\n    def __init__(self, parent):\r\n        d.Display.__init__(self, parent, style=wx.LC_SINGLE_SEL)\r\n        self.Bind(wx.EVT_LEFT_DCLICK, parent.removeItem)\r\n\r\n\r\nclass ItemView(d.Display):\r\n    DEFAULT_COLS = [\"Base Icon\",\r\n                    \"Base Name\"]\r\n\r\n    def __init__(self, parent):\r\n        d.Display.__init__(self, parent)\r\n        self.parent = parent\r\n        self.searchBox = parent.searchBox\r\n\r\n        self.hoveredRow = None\r\n        self.items = []\r\n\r\n        # Bind search actions\r\n        self.searchBox.Bind(SBox.EVT_TEXT_ENTER, self.scheduleSearch)\r\n        self.searchBox.Bind(SBox.EVT_SEARCH_BTN, self.scheduleSearch)\r\n        self.searchBox.Bind(SBox.EVT_CANCEL_BTN, self.clearSearch)\r\n        self.searchBox.Bind(SBox.EVT_TEXT, self.scheduleSearch)\r\n\r\n        self.Bind(wx.EVT_MOTION, self.OnMouseMove)\r\n\r\n    def clearSearch(self, event=None):\r\n        if self.IsShown():\r\n            self.parent.availableImplantsTree.Show()\r\n            self.Hide()\r\n            self.parent.Layout()\r\n\r\n        if event:\r\n            self.searchBox.Clear()\r\n\r\n        self.items = []\r\n        self.update(self.items)\r\n\r\n    def scheduleSearch(self, event=None):\r\n        sMkt = Market.getInstance()\r\n\r\n        search = self.searchBox.GetLineText(0)\r\n        # Make sure we do not count wildcards as search symbol\r\n        realsearch = search.replace('*', '').replace('?', '')\r\n        # Show nothing if query is too short\r\n        if len(realsearch) < 3:\r\n            self.clearSearch()\r\n            return\r\n\r\n        sMkt.searchItems(search, self.populateSearch, 'implants')\r\n\r\n    def populateSearch(self, itemIDs):\r\n        if not self.IsShown():\r\n            self.parent.availableImplantsTree.Hide()\r\n            self.Show()\r\n            self.parent.Layout()\r\n        items = Market.getItems(itemIDs)\r\n        items = [i for i in items if i.group.name != 'Booster']\r\n        self.items = sorted(list(items), key=lambda i: i.name)\r\n\r\n        self.update(self.items)\r\n\r\n    def OnMouseMove(self, event):\r\n        event.Skip()\r\n        row, _, col = self.HitTestSubItem(event.Position)\r\n        if row != self.hoveredRow:\r\n            if self.ToolTip is not None:\r\n                self.SetToolTip(None)\r\n            else:\r\n                self.hoveredRow = row\r\n                try:\r\n                    item = self.items[row]\r\n                except IndexError:\r\n                    self.SetToolTip(None)\r\n                else:\r\n                    toolTip = wx.ToolTip(stripHtml(item.description))\r\n                    toolTip.SetMaxWidth(self.GetSize().Width)\r\n                    self.SetToolTip(toolTip)\r\n"
  },
  {
    "path": "gui/cachingImageList.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom gui.bitmap_loader import BitmapLoader\r\n\r\n\r\nclass CachingImageList(wx.ImageList):\r\n    def __init__(self, width, height):\r\n        wx.ImageList.__init__(self, width, height)\r\n        self.map = {}\r\n\r\n    def GetImageIndex(self, *loaderArgs):\r\n        id_ = self.map.get(loaderArgs)\r\n        if id_ is None:\r\n            bitmap = BitmapLoader.getBitmap(*loaderArgs)\r\n            if bitmap is None:\r\n                return -1\r\n            id_ = self.map[loaderArgs] = wx.ImageList.Add(self, bitmap)\r\n        return id_\r\n"
  },
  {
    "path": "gui/characterEditor.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport re\r\nimport traceback\r\n\r\nimport roman\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nimport wx.dataview\r\nimport wx.lib.agw.hyperlink\r\n# noinspection PyPackageRequirements\r\nimport wx.lib.newevent\r\nfrom logbook import Logger\r\n# noinspection PyPackageRequirements\r\nfrom wx.dataview import TreeListCtrl\r\nfrom wx.lib.agw.floatspin import FloatSpin\r\n\r\nimport config\r\nimport gui.globalEvents as GE\r\nfrom gui.auxWindow import AuxiliaryFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.builtinViews.entityEditor import BaseValidator, EntityEditor, TextEntryValidatedDialog\r\nfrom gui.builtinViews.implantEditor import BaseImplantEditorView\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.utils.clipboard import fromClipboard, toClipboard\r\nfrom service.character import Character\r\nfrom service.esi import Esi\r\nfrom service.esiAccess import APIException\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n_t = wx.GetTranslation\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\ndef arabicOrRomanToInt(s):\r\n    m = re.match(r'\\d+$', s)\r\n    if m:\r\n        i = int(s)\r\n    else:\r\n        i = roman.fromRoman(s)\r\n    return i\r\n\r\n\r\nclass CharacterTextValidor(BaseValidator):\r\n    def __init__(self):\r\n        BaseValidator.__init__(self)\r\n\r\n    def Clone(self):\r\n        return CharacterTextValidor()\r\n\r\n    def Validate(self, win):\r\n        textCtrl = self.GetWindow()\r\n        text = textCtrl.GetValue().strip()\r\n        sChar = Character.getInstance()\r\n\r\n        try:\r\n            if len(text) == 0:\r\n                raise ValueError(_t(\"You must supply a name for the Character!\"))\r\n            elif text in [x.name for x in sChar.getCharacterList()]:\r\n                raise ValueError(_t(\"Character name already in use, please choose another.\"))\r\n\r\n            return True\r\n        except ValueError as e:\r\n            pyfalog.error(e)\r\n            wx.MessageBox(\"{}\".format(e), _t(\"Error\"))\r\n            textCtrl.SetFocus()\r\n            return False\r\n\r\n\r\nclass CharacterEntityEditor(EntityEditor):\r\n    def __init__(self, parent):\r\n        EntityEditor.__init__(self, parent, _t(\"Character\"))\r\n        self.SetEditorValidator(CharacterTextValidor)\r\n\r\n    def getEntitiesFromContext(self):\r\n        sChar = Character.getInstance()\r\n        charList = sorted(sChar.getCharacterList(), key=lambda c: (not c.ro, c.name))\r\n\r\n        # Do some processing to ensure that we have All 0 and All 5 at the top\r\n        all5 = sChar.all5()\r\n        all0 = sChar.all0()\r\n\r\n        charList.remove(all5)\r\n        charList.remove(all0)\r\n\r\n        charList.insert(0, all5)\r\n        charList.insert(0, all0)\r\n\r\n        return charList\r\n\r\n    def DoNew(self, name):\r\n        sChar = Character.getInstance()\r\n        return sChar.new(name)\r\n\r\n    def DoRename(self, entity, name):\r\n        sChar = Character.getInstance()\r\n\r\n        if entity.alphaCloneID:\r\n            trimmed_name = re.sub('[ \\\\(\\u03B1\\\\)]+$', '', name)\r\n            sChar.rename(entity, trimmed_name)\r\n        else:\r\n            sChar.rename(entity, name)\r\n\r\n    def DoCopy(self, entity, name):\r\n        sChar = Character.getInstance()\r\n        copy = sChar.copy(entity)\r\n        sChar.rename(copy, name)\r\n        return copy\r\n\r\n    def DoDelete(self, entity):\r\n        sChar = Character.getInstance()\r\n        sChar.delete(entity)\r\n\r\n\r\nclass CharacterEditor(AuxiliaryFrame):\r\n\r\n    def __init__(self, parent):\r\n        super().__init__(\r\n            parent, id=wx.ID_ANY, title=_t(\"Character Editor\"), resizeable=True, pos=wx.DefaultPosition,\r\n            size=wx.Size(950, 650) if \"wxGTK\" in wx.PlatformInfo else wx.Size(850, 600))\r\n\r\n        i = wx.Icon(BitmapLoader.getBitmap(\"character_small\", \"gui\"))\r\n        self.SetIcon(i)\r\n\r\n        self.mainFrame = parent\r\n        # self.disableWin = wx.WindowDisabler(self)\r\n        sFit = Fit.getInstance()\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.entityEditor = CharacterEntityEditor(self)\r\n        mainSizer.Add(self.entityEditor, 0, wx.ALL | wx.EXPAND, 2)\r\n        # Default drop down to current fit's character\r\n        self.entityEditor.setActiveEntity(sFit.character)\r\n\r\n        self.viewsNBContainer = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0)\r\n\r\n        self.sview = SkillTreeView(self.viewsNBContainer)\r\n        self.iview = ImplantEditorView(self.viewsNBContainer, self)\r\n        self.aview = APIView(self.viewsNBContainer)\r\n\r\n        self.viewsNBContainer.AddPage(self.sview, _t(\"Skills\"))\r\n        self.viewsNBContainer.AddPage(self.iview, _t(\"Implants\"))\r\n        self.viewsNBContainer.AddPage(self.aview, _t(\"EVE SSO\"))\r\n\r\n        mainSizer.Add(self.viewsNBContainer, 1, wx.EXPAND | wx.ALL, 5)\r\n\r\n        bSizerButtons = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.btnSaveChar = wx.Button(self, wx.ID_SAVE)\r\n        self.btnSaveAs = wx.Button(self, wx.ID_SAVEAS)\r\n        self.btnRevert = wx.Button(self, wx.ID_REVERT_TO_SAVED)\r\n        self.btnOK = wx.Button(self, wx.ID_OK)\r\n\r\n        bSizerButtons.Add(self.btnSaveChar, 0, wx.ALL, 5)\r\n        bSizerButtons.Add(self.btnSaveAs, 0, wx.ALL, 5)\r\n        bSizerButtons.Add(self.btnRevert, 0, wx.ALL, 5)\r\n        bSizerButtons.AddStretchSpacer()\r\n        bSizerButtons.Add(self.btnOK, 0, wx.ALL, 5)\r\n\r\n        self.btnSaveChar.Bind(wx.EVT_BUTTON, self.saveChar)\r\n        self.btnSaveAs.Bind(wx.EVT_BUTTON, self.saveCharAs)\r\n        self.btnRevert.Bind(wx.EVT_BUTTON, self.revertChar)\r\n        self.btnOK.Bind(wx.EVT_BUTTON, self.editingFinished)\r\n\r\n        mainSizer.Add(bSizerButtons, 0, wx.EXPAND, 5)\r\n\r\n        self.btnRestrict()\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.Layout()\r\n\r\n        self.SetMinSize(self.GetSize())\r\n        self.Centre(wx.BOTH)\r\n\r\n        self.Bind(wx.EVT_CLOSE, self.OnClose)\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n        self.Bind(GE.CHAR_LIST_UPDATED, self.refreshCharacterList)\r\n        self.entityEditor.Bind(wx.EVT_CHOICE, self.charChanged)\r\n\r\n        self.charChanged(None)\r\n\r\n    def btnRestrict(self):\r\n        char = self.entityEditor.getActiveEntity()\r\n\r\n        # enable/disable character saving stuff\r\n        self.btnSaveChar.Enable(not char.ro and char.isDirty)\r\n        self.btnSaveAs.Enable(char.isDirty)\r\n        self.btnRevert.Enable(char.isDirty)\r\n        self.sview.importBtn.Enable(not char.ro)\r\n\r\n    def refreshCharacterList(self, event=None):\r\n        \"\"\"This is only called when we save a modified character\"\"\"\r\n        active = self.entityEditor.getActiveEntity()\r\n        self.entityEditor.refreshEntityList(active)\r\n        self.btnRestrict()\r\n\r\n        if event:\r\n            event.Skip()\r\n\r\n    def editingFinished(self, event):\r\n        self.Close()\r\n\r\n    def saveChar(self, event):\r\n        sChr = Character.getInstance()\r\n        char = self.entityEditor.getActiveEntity()\r\n        sChr.saveCharacter(char.ID)\r\n        wx.PostEvent(self, GE.CharListUpdated())\r\n\r\n    def saveCharAs(self, event):\r\n        char = self.entityEditor.getActiveEntity()\r\n        self.SaveCharacterAs(self, char.ID)\r\n        wx.PostEvent(self, GE.CharListUpdated())\r\n\r\n    def revertChar(self, event):\r\n        sChr = Character.getInstance()\r\n        char = self.entityEditor.getActiveEntity()\r\n        sChr.revertCharacter(char.ID)\r\n        wx.PostEvent(self, GE.CharListUpdated())\r\n\r\n    def kbEvent(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.Close()\r\n            return\r\n        event.Skip()\r\n\r\n    def OnClose(self, event):\r\n        wx.PostEvent(self.mainFrame, GE.CharListUpdated())\r\n        sFit = Fit.getInstance()\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is not None:\r\n            sFit.clearFit(fitID)\r\n            wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n        event.Skip()\r\n\r\n    def restrict(self):\r\n        self.entityEditor.btnRename.Enable(False)\r\n        self.entityEditor.btnDelete.Enable(False)\r\n\r\n    def unrestrict(self):\r\n        self.entityEditor.btnRename.Enable()\r\n        self.entityEditor.btnDelete.Enable()\r\n\r\n    def charChanged(self, event):\r\n        char = self.entityEditor.getActiveEntity()\r\n        if char.name in (\"All 0\", \"All 5\"):\r\n            self.restrict()\r\n        else:\r\n            self.unrestrict()\r\n\r\n        self.btnRestrict()\r\n\r\n        if event is not None:\r\n            event.Skip()\r\n\r\n    @staticmethod\r\n    def SaveCharacterAs(parent, charID):\r\n        sChar = Character.getInstance()\r\n        name = sChar.getCharName(charID)\r\n\r\n        with TextEntryValidatedDialog(\r\n            parent, CharacterTextValidor,\r\n            _t(\"Enter a name for your new Character:\"),\r\n            _t(\"Save Character As...\")\r\n        ) as dlg:\r\n            dlg.SetValue(_t(\"{} Copy\").format(name))\r\n            dlg.txtctrl.SetInsertionPointEnd()\r\n            dlg.CenterOnParent()\r\n\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                sChar = Character.getInstance()\r\n                return sChar.saveCharacterAs(charID, dlg.txtctrl.GetValue().strip())\r\n\r\n\r\nclass SkillTreeView(wx.Panel):\r\n\r\n    def __init__(self, parent):\r\n        wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize,\r\n                          style=wx.TAB_TRAVERSAL)\r\n        self.charEditor = self.Parent.Parent  # first parent is Notebook, second is Character Editor\r\n        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))\r\n\r\n        pmainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        hSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.clonesChoice = wx.Choice(self, wx.ID_ANY, style=0)\r\n        i = self.clonesChoice.Append(\"Omega Clone\", None)\r\n        self.clonesChoice.SetSelection(i)\r\n        hSizer.Add(self.clonesChoice, 5, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.searchInput = wx.SearchCtrl(self, wx.ID_ANY)\r\n        hSizer.Add(self.searchInput, 1, wx.ALL | wx.EXPAND, 5)\r\n        self.searchInput.Bind(wx.EVT_TEXT, self.delaySearch)\r\n\r\n        sChar = Character.getInstance()\r\n        self.alphaClones = sChar.getAlphaCloneList()\r\n        char = self.charEditor.entityEditor.getActiveEntity()\r\n\r\n        for clone in self.alphaClones:\r\n            i = self.clonesChoice.Append(clone.alphaCloneName, clone.ID)\r\n            if clone.ID == char.alphaCloneID:\r\n                self.clonesChoice.SetSelection(i)\r\n\r\n        self.clonesChoice.Bind(wx.EVT_CHOICE, self.cloneChanged)\r\n\r\n        self.clonesChoice.SetToolTip(\r\n            wx.ToolTip(_t(\"Setting an Alpha clone does not replace the character's skills, but rather caps them to Alpha levels.\")))\r\n\r\n        pmainSizer.Add(hSizer, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        # Set up timer for skill search\r\n        self.searchTimer = wx.Timer(self)\r\n        self.Bind(wx.EVT_TIMER, self.populateSkillTreeSkillSearch, self.searchTimer)\r\n\r\n        tree = self.skillTreeListCtrl = TreeListCtrl(self, wx.ID_ANY, style=wx.dataview.TL_DEFAULT_STYLE)\r\n        pmainSizer.Add(tree, 1, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.imageList = wx.ImageList(16, 16)\r\n        tree.SetImageList(self.imageList)\r\n        self.skillBookImageId = self.imageList.Add(wx.Icon(BitmapLoader.getBitmap(\"skill_small\", \"gui\")))\r\n        self.skillBookDirtyImageId = self.imageList.Add(wx.Icon(BitmapLoader.getBitmap(\"skill_small_red\", \"gui\")))\r\n\r\n        tree.AppendColumn(_t(\"Skill\"))\r\n        tree.AppendColumn(_t(\"Level\"))\r\n        # tree.SetMainColumn(0)\r\n\r\n        self.root = tree.GetRootItem()\r\n        # self.root = tree.AppendItem(root, \"Skills\")\r\n        #\r\n        # tree.SetItemText(self.root, 1, \"Levels\")\r\n\r\n        # first one doesn't work right in Windows. Second one doesn't work right in GTK. Together, we make sure it works.\r\n        # Gotta love wx\r\n        tree.SetColumnWidth(0, 525)\r\n        tree.SetColumnWidth(1, 100)\r\n\r\n        self.secStatusLabel = _t(\"Sec Status: {0:.2f}\")\r\n        self.btnSecStatus = wx.Button(self, wx.ID_ANY, self.secStatusLabel.format(char.secStatus or 0.0))\r\n        self.btnSecStatus.Bind(wx.EVT_BUTTON, self.onSecStatus)\r\n\r\n        self.populateSkillTree()\r\n\r\n        tree.Bind(wx.dataview.EVT_TREELIST_ITEM_ACTIVATED, self.expand)\r\n        tree.Bind(wx.dataview.EVT_TREELIST_ITEM_EXPANDING, self.expandLookup)\r\n        tree.Bind(wx.dataview.EVT_TREELIST_ITEM_CONTEXT_MENU, self.spawnMenu)\r\n\r\n        bSizerButtons = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        bSizerButtons.Add(self.btnSecStatus, 0, wx.ALL, 5)\r\n\r\n        bSizerButtons.AddStretchSpacer()\r\n\r\n        importExport = ((_t(\"Import skills from clipboard\"), wx.ART_FILE_OPEN, \"import\"),\r\n                        (_t(\"Export skills to clipboard\"), wx.ART_FILE_SAVE_AS, \"export\"))\r\n\r\n        for tooltip, art, attr in importExport:\r\n            bitmap = wx.ArtProvider.GetBitmap(art, wx.ART_BUTTON)\r\n            btn = wx.BitmapButton(self, wx.ID_ANY, bitmap)\r\n\r\n            btn.SetMinSize(btn.GetSize())\r\n            btn.SetMaxSize(btn.GetSize())\r\n\r\n            btn.Layout()\r\n            setattr(self, \"{}Btn\".format(attr), btn)\r\n            btn.Enable(True)\r\n            btn.SetToolTip(tooltip)\r\n            bSizerButtons.Add(btn, 0, wx.ALL, 5)\r\n            btn.Bind(wx.EVT_BUTTON, getattr(self, \"{}Skills\".format(attr)))\r\n\r\n        pmainSizer.Add(bSizerButtons, 0, wx.EXPAND, 5)\r\n\r\n        # bind the Character selection event\r\n        self.charEditor.entityEditor.Bind(wx.EVT_CHOICE, self.charChanged)\r\n        self.charEditor.Bind(GE.CHAR_LIST_UPDATED, self.populateSkillTree)\r\n\r\n        # Context menu stuff\r\n        self.idUnlearned = wx.NewId()\r\n        self.levelIds = {}\r\n        self.idLevels = {}\r\n        self.levelIds[self.idUnlearned] = _t(\"Not learned\")\r\n        for level in range(6):\r\n            id = wx.NewId()\r\n            self.levelIds[id] = level\r\n            self.idLevels[level] = id\r\n        self.revertID = wx.NewId()\r\n        self.saveID = wx.NewId()\r\n\r\n        self.SetSizer(pmainSizer)\r\n\r\n        # This cuases issues with GTK, see #1866\r\n        # self.Layout()\r\n\r\n        # For level keyboard shortcuts\r\n        self.ChangeLevelEvent, CHANGE_LEVEL_EVENT = wx.lib.newevent.NewEvent()\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n        self.Bind(CHANGE_LEVEL_EVENT, self.changeLevel)\r\n\r\n    def kbEvent(self, event):\r\n        keyLevelMap = {\r\n            # Regular number keys\r\n            48: 0, 49: 1, 50: 2, 51: 3, 52: 4, 53: 5,\r\n            # Numpad keys\r\n            wx.WXK_NUMPAD0: 0, wx.WXK_NUMPAD1: 1, wx.WXK_NUMPAD2: 2,\r\n            wx.WXK_NUMPAD3: 3, wx.WXK_NUMPAD4: 4, wx.WXK_NUMPAD5: 5}\r\n        keycode = event.GetKeyCode()\r\n        if keycode in keyLevelMap and event.GetModifiers() == wx.MOD_NONE:\r\n            level = keyLevelMap[keycode]\r\n            selection = self.skillTreeListCtrl.GetSelection()\r\n            if selection:\r\n                dataType, skillID = self.skillTreeListCtrl.GetItemData(selection)\r\n                if dataType == 'skill':\r\n                    event = self.ChangeLevelEvent()\r\n                    event.SetId(self.idLevels[level])\r\n                    wx.PostEvent(self, event)\r\n                    return\r\n        event.Skip()\r\n\r\n    def importSkills(self, evt):\r\n\r\n        with wx.MessageDialog(\r\n            self, (_t(\"Importing skills into this character will set the skill levels as pending. To save the skills \"\r\n                   \"permanently, please click the Save button at the bottom of the window after importing\")),\r\n            _t(\"Import Skills\"), wx.OK\r\n        ) as dlg:\r\n            dlg.ShowModal()\r\n\r\n        text = fromClipboard().strip()\r\n        if text:\r\n            sCharacter = Character.getInstance()\r\n            char = self.charEditor.entityEditor.getActiveEntity()\r\n            try:\r\n                lines = text.splitlines()\r\n\r\n                for l in lines:\r\n                    s = l.strip()\r\n                    skill, level = s.rsplit(None, 1)[0], arabicOrRomanToInt(s.rsplit(None, 1)[1])\r\n                    skill = char.getSkill(skill)\r\n                    if skill:\r\n                        sCharacter.changeLevel(char.ID, skill.item.ID, level)\r\n\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                pyfalog.error(e)\r\n                with wx.MessageDialog(self, _t(\"There was an error importing skills, please see log file\"), _t(\"Error\"), wx.ICON_ERROR) as dlg:\r\n                    dlg.ShowModal()\r\n\r\n            finally:\r\n                self.charEditor.btnRestrict()\r\n                self.populateSkillTree()\r\n                self.charEditor.entityEditor.refreshEntityList(char)\r\n\r\n    def exportSkills(self, evt):\r\n        char = self.charEditor.entityEditor.getActiveEntity()\r\n\r\n        skills = sorted(char.__class__.getSkillNameMap().keys())\r\n        list = \"\"\r\n        for s in skills:\r\n            skill = char.getSkill(s)\r\n            list += \"{} {}\\n\".format(skill.item.name, skill.level)\r\n\r\n        toClipboard(list)\r\n\r\n    def exportSkillsSuperCondensed(self, evt):\r\n        char = self.charEditor.entityEditor.getActiveEntity()\r\n\r\n        skills = {}\r\n        explicit_levels = {}\r\n        implicit_levels = {}\r\n        for s in char.__class__.getSkillNameMap().keys():\r\n            skill = char.getSkill(s)\r\n            if skill.level < 1:\r\n                continue\r\n            skills[skill.item.ID] = skill\r\n            explicit_levels[skill.item.ID] = skill.level\r\n\r\n        for skill in skills.values():\r\n            for req_skill, level in skill.item.requiredSkills.items():\r\n                if req_skill.ID not in implicit_levels or implicit_levels[req_skill.ID] < level:\r\n                    implicit_levels[req_skill.ID] = level\r\n\r\n        condensed = {}\r\n        for typeID, level in explicit_levels.items():\r\n            if typeID not in implicit_levels or implicit_levels[typeID] < level:\r\n                condensed[skills[typeID].item.name] = level\r\n\r\n        lines = []\r\n        for skill in sorted(condensed):\r\n            lines.append(f'{skill}\\t{condensed[skill]}')\r\n\r\n        toClipboard('\\n'.join(lines))\r\n\r\n    def onSecStatus(self, event):\r\n        sChar = Character.getInstance()\r\n        char = self.charEditor.entityEditor.getActiveEntity()\r\n        with SecStatusDialog(self, char.secStatus or 0.0) as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                value = dlg.floatSpin.GetValue()\r\n                sChar.setSecStatus(char, value)\r\n                self.btnSecStatus.SetLabel(self.secStatusLabel.format(value))\r\n\r\n    def delaySearch(self, evt):\r\n        if self.searchInput.GetValue() == \"\":\r\n            self.populateSkillTree()\r\n        else:\r\n            self.searchTimer.Stop()\r\n            self.searchTimer.Start(150, True)  # 150ms\r\n\r\n    def cloneChanged(self, event):\r\n        sChar = Character.getInstance()\r\n        sChar.setAlphaClone(self.charEditor.entityEditor.getActiveEntity(), event.ClientData)\r\n        self.populateSkillTree()\r\n\r\n    def charChanged(self, event=None):\r\n        self.searchInput.SetValue(\"\")\r\n        char = self.charEditor.entityEditor.getActiveEntity()\r\n        for i in range(self.clonesChoice.GetCount()):\r\n            cloneID = self.clonesChoice.GetClientData(i)\r\n            if char.alphaCloneID == cloneID:\r\n                self.clonesChoice.SetSelection(i)\r\n\r\n        self.btnSecStatus.SetLabel(self.secStatusLabel.format(char.secStatus or 0.0))\r\n\r\n        self.populateSkillTree(event)\r\n\r\n    def populateSkillTreeSkillSearch(self, event=None):\r\n        sChar = Character.getInstance()\r\n        char = self.charEditor.entityEditor.getActiveEntity()\r\n        try:\r\n            search = self.searchInput.GetLineText(0)\r\n        except AttributeError:\r\n            search = self.searchInput.GetValue()\r\n\r\n        root = self.root\r\n        tree = self.skillTreeListCtrl\r\n        tree.DeleteAllItems()\r\n\r\n        for id, name in sChar.getSkillsByName(search):\r\n            iconId = self.skillBookImageId\r\n            level, dirty = sChar.getSkillLevel(char.ID, id)\r\n\r\n            if dirty:\r\n                iconId = self.skillBookDirtyImageId\r\n\r\n            childId = tree.AppendItem(root, name, iconId, data=('skill', id))\r\n            tree.SetItemText(childId, 1, _t(\"Level {}\").format(int(level)) if isinstance(level, float) else level)\r\n\r\n    def populateSkillTree(self, event=None):\r\n        sChar = Character.getInstance()\r\n        char = self.charEditor.entityEditor.getActiveEntity()\r\n        dirtyGroups = set([skill.item.group.ID for skill in char.dirtySkills])\r\n\r\n        if char.name in (\"All 0\", \"All 5\"):\r\n            self.clonesChoice.Disable()\r\n            self.btnSecStatus.Disable()\r\n        else:\r\n            self.clonesChoice.Enable()\r\n            self.btnSecStatus.Enable()\r\n\r\n        groups = sChar.getSkillGroups()\r\n        root = self.root\r\n        tree = self.skillTreeListCtrl\r\n        tree.DeleteAllItems()\r\n\r\n        for id, name in groups:\r\n            imageId = self.skillBookImageId\r\n            if id in dirtyGroups:\r\n                imageId = self.skillBookDirtyImageId\r\n\r\n            childId = tree.AppendItem(root, name, imageId, data=('group', id))\r\n            tree.AppendItem(childId, \"dummy\")\r\n\r\n        if event:\r\n            event.Skip()\r\n\r\n    def expand(self, event):\r\n        root = event.GetItem()\r\n        tree = self.skillTreeListCtrl\r\n        if tree.IsExpanded(root):\r\n            tree.Collapse(root)\r\n        else:\r\n            tree.Expand(root)\r\n\r\n    def expandLookup(self, event):\r\n        root = event.GetItem()\r\n        tree = self.skillTreeListCtrl\r\n\r\n        child = tree.GetFirstChild(root)\r\n        if tree.GetItemText(child) == \"dummy\":\r\n            tree.DeleteItem(child)\r\n\r\n            # Get the real intrestin' stuff\r\n            sChar = Character.getInstance()\r\n            char = self.charEditor.entityEditor.getActiveEntity()\r\n            data = tree.GetItemData(root)\r\n            for id, name in sChar.getSkills(data[1]):\r\n                iconId = self.skillBookImageId\r\n                level, dirty = sChar.getSkillLevel(char.ID, id)\r\n\r\n                if dirty:\r\n                    iconId = self.skillBookDirtyImageId\r\n\r\n                childId = tree.AppendItem(root, name, iconId, data=('skill', id))\r\n                tree.SetItemText(childId, 1, _t(\"Level {}\").format(int(level)) if isinstance(level, float) else level)\r\n\r\n    def spawnMenu(self, event):\r\n        item = event.GetItem()\r\n        itemData = self.skillTreeListCtrl.GetItemData(item)\r\n        if itemData is None:\r\n            return\r\n\r\n        self.skillTreeListCtrl.Select(item)\r\n        thing = self.skillTreeListCtrl.GetFirstChild(item).IsOk()\r\n        if thing:\r\n            return\r\n\r\n        id = itemData[1]\r\n        eveItem = Market.getInstance().getItem(id)\r\n\r\n        srcContext = \"skillItem\"\r\n        itemContext = _t(\"Skill\")\r\n        context = (srcContext, itemContext)\r\n        menu = ContextMenu.getMenu(self, eveItem, [eveItem], context)\r\n        char = self.charEditor.entityEditor.getActiveEntity()\r\n        if char.name not in (\"All 0\", \"All 5\"):\r\n            menu.AppendSeparator()\r\n            menu.Append(self.idUnlearned, _t(\"Unlearn\"))\r\n            for level in range(6):\r\n                menu.Append(self.idLevels[level], _t(\"Level {}\").format(level))\r\n            menu.Bind(wx.EVT_MENU, self.changeLevel)\r\n\r\n        self.PopupMenu(menu)\r\n\r\n    def changeLevel(self, event):\r\n        level = self.levelIds.get(event.Id)\r\n\r\n        sChar = Character.getInstance()\r\n        char = self.charEditor.entityEditor.getActiveEntity()\r\n        if char.name in (\"All 0\", \"All 5\"):\r\n            return\r\n        selection = self.skillTreeListCtrl.GetSelection()\r\n        dataType, skillID = self.skillTreeListCtrl.GetItemData(selection)\r\n\r\n        if level is not None:\r\n            sChar.changeLevel(char.ID, skillID, level, persist=True)\r\n        elif event.Id == self.revertID:\r\n            sChar.revertLevel(char.ID, skillID)\r\n        elif event.Id == self.saveID:\r\n            sChar.saveSkill(char.ID, skillID)\r\n\r\n        # After saving the skill, we need to update not just the selected skill, but all open skills due to strict skill\r\n        # level setting. We don't want to refresh tree, as that will lose all expanded categories and users location\r\n        # within the tree. Thus, we loop through the tree and refresh the info.\r\n        # @todo: when collapsing branch, remove the data. This will make this loop more performant\r\n\r\n        child = self.skillTreeListCtrl.GetFirstChild(self.root)\r\n\r\n        def _setTreeSkillLevel(treeItem, skillID):\r\n            lvl, dirty = sChar.getSkillLevel(char.ID, skillID)\r\n            self.skillTreeListCtrl.SetItemText(treeItem,\r\n                                               1,\r\n                                               _t(\"Level {}\").format(int(lvl)) if not isinstance(lvl, str) else lvl)\r\n\r\n            if not dirty:\r\n                self.skillTreeListCtrl.SetItemImage(treeItem, self.skillBookImageId)\r\n\r\n        while child.IsOk():\r\n            # child = Skill category\r\n            dataType, id = self.skillTreeListCtrl.GetItemData(child)\r\n\r\n            if dataType == 'skill':\r\n                _setTreeSkillLevel(child, id)\r\n            else:\r\n                grand = self.skillTreeListCtrl.GetFirstChild(child)\r\n                while grand.IsOk():\r\n                    if self.skillTreeListCtrl.GetItemText(grand) != \"dummy\":\r\n                        _, skillID = self.skillTreeListCtrl.GetItemData(grand)\r\n                        _setTreeSkillLevel(grand, skillID)\r\n                    grand = self.skillTreeListCtrl.GetNextSibling(grand)\r\n\r\n            child = self.skillTreeListCtrl.GetNextSibling(child)\r\n\r\n        dirtySkills = sChar.getDirtySkills(char.ID)\r\n        dirtyGroups = set([skill.item.group.ID for skill in dirtySkills])\r\n\r\n        parentID = self.skillTreeListCtrl.GetItemParent(selection)\r\n        parent = self.skillTreeListCtrl.GetItemData(parentID)\r\n\r\n        if parent:\r\n            if parent[1] in dirtyGroups:\r\n                self.skillTreeListCtrl.SetItemImage(parentID, self.skillBookImageId)\r\n\r\n        event.Skip()\r\n\r\n\r\nclass ImplantEditorView(BaseImplantEditorView):\r\n    def __init__(self, parent, charEditor):\r\n        BaseImplantEditorView.__init__(self, parent)\r\n\r\n        self.determineEnabled()\r\n        charEditor.Bind(GE.CHAR_CHANGED, self.contextChanged)\r\n\r\n        self.pluggedImplantsTree.Bind(wx.EVT_CONTEXT_MENU, self.spawnMenu)\r\n\r\n    def bindContext(self):\r\n        self.Parent.Parent.entityEditor.Bind(wx.EVT_CHOICE, self.contextChanged)\r\n\r\n    def contextChanged(self, event):\r\n        BaseImplantEditorView.contextChanged(self, event)\r\n        self.determineEnabled()\r\n\r\n    def getImplantsFromContext(self):\r\n        sChar = Character.getInstance()\r\n        char = self.Parent.Parent.entityEditor.getActiveEntity()\r\n\r\n        return sChar.getImplants(char.ID)\r\n\r\n    def addImplantToContext(self, item):\r\n        sChar = Character.getInstance()\r\n        char = self.Parent.Parent.entityEditor.getActiveEntity()\r\n\r\n        sChar.addImplant(char.ID, item.ID)\r\n\r\n    def removeImplantFromContext(self, implant):\r\n        sChar = Character.getInstance()\r\n        char = self.Parent.Parent.entityEditor.getActiveEntity()\r\n\r\n        sChar.removeImplant(char.ID, implant)\r\n\r\n    def addImplants(self, implants):\r\n        charEditor = self.Parent.Parent\r\n        char = charEditor.entityEditor.getActiveEntity()\r\n\r\n        sChar = Character.getInstance()\r\n        for implant in implants:\r\n            sChar.addImplant(char.ID, implant.item.ID)\r\n\r\n        wx.PostEvent(charEditor, GE.CharChanged())\r\n\r\n    def spawnMenu(self, event):\r\n        context = ((\"implantEditor\",),)\r\n        menu = ContextMenu.getMenu(self, None, None, *context)\r\n\r\n        if menu:\r\n            self.PopupMenu(menu)\r\n        else:\r\n            pyfalog.debug(\"ContextMenu.getMenu returned false do not attempt PopupMenu\")\r\n\r\n    def determineEnabled(self):\r\n        char = self.Parent.Parent.entityEditor.getActiveEntity()\r\n\r\n        if char.name in (\"All 0\", \"All 5\"):\r\n            self.Enable(False)\r\n        else:\r\n            self.Enable()\r\n\r\n\r\nclass APIView(wx.Panel):\r\n    def __init__(self, parent):\r\n        wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(500, 300),\r\n                          style=wx.TAB_TRAVERSAL)\r\n        self.charEditor = self.Parent.Parent  # first parent is Notebook, second is Character Editor\r\n        self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))\r\n\r\n        pmainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        hintSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        hintSizer.AddStretchSpacer()\r\n        self.stDisabledTip = wx.StaticText(self, wx.ID_ANY,\r\n                                           _t(\"You cannot link All 0 or All 5 characters to an EVE character.\") + \"\\n\" +\r\n                                           _t(\"Please select another character or make a new one.\"), style=wx.ALIGN_CENTER)\r\n        self.stDisabledTip.Wrap(-1)\r\n        hintSizer.Add(self.stDisabledTip, 0, wx.TOP | wx.BOTTOM, 10)\r\n\r\n        self.stDisabledTip.Hide()\r\n        hintSizer.AddStretchSpacer()\r\n        pmainSizer.Add(hintSizer, 0, wx.EXPAND, 5)\r\n\r\n        fgSizerInput = wx.FlexGridSizer(1, 3, 0, 0)\r\n        fgSizerInput.AddGrowableCol(1)\r\n        fgSizerInput.SetFlexibleDirection(wx.BOTH)\r\n        fgSizerInput.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)\r\n\r\n        self.m_staticCharText = wx.StaticText(self, wx.ID_ANY, _t(\"Character:\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.m_staticCharText.Wrap(-1)\r\n        fgSizerInput.Add(self.m_staticCharText, 0, wx.ALL | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10)\r\n\r\n        self.charChoice = wx.Choice(self, wx.ID_ANY, style=0)\r\n        fgSizerInput.Add(self.charChoice, 1, wx.TOP | wx.BOTTOM | wx.EXPAND, 10)\r\n\r\n        self.fetchButton = wx.Button(self, wx.ID_ANY, _t(\"Get Skills\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.fetchButton.Bind(wx.EVT_BUTTON, self.fetchSkills)\r\n        fgSizerInput.Add(self.fetchButton, 0, wx.ALL | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10)\r\n\r\n        pmainSizer.Add(fgSizerInput, 0, wx.EXPAND, 5)\r\n\r\n        pmainSizer.AddStretchSpacer()\r\n\r\n        self.m_staticline1 = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        pmainSizer.Add(self.m_staticline1, 0, wx.EXPAND | wx.ALL, 10)\r\n\r\n        self.noCharactersTip = wx.StaticText(self, wx.ID_ANY, _t(\"Don't see your EVE character in the list?\"), style=wx.ALIGN_CENTER)\r\n\r\n        self.noCharactersTip.Wrap(-1)\r\n        pmainSizer.Add(self.noCharactersTip, 0, wx.CENTER | wx.TOP | wx.BOTTOM, 0)\r\n\r\n        self.addButton = wx.Button(self, wx.ID_ANY, _t(\"Log In with EVE SSO\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.addButton.Bind(wx.EVT_BUTTON, self.addCharacter)\r\n        pmainSizer.Add(self.addButton, 0, wx.ALL | wx.ALIGN_CENTER, 10)\r\n\r\n        self.charEditor.mainFrame.Bind(GE.EVT_SSO_LOGOUT, self.ssoListChanged)\r\n        self.charEditor.mainFrame.Bind(GE.EVT_SSO_LOGIN, self.ssoListChanged)\r\n        self.charEditor.entityEditor.Bind(wx.EVT_CHOICE, self.charChanged)\r\n\r\n        self.charChoice.Bind(wx.EVT_CHOICE, self.ssoCharChanged)\r\n\r\n        self.SetSizer(pmainSizer)\r\n        self.Layout()\r\n        try:\r\n            self.ssoListChanged(None)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            pass\r\n\r\n    def ssoCharChanged(self, event):\r\n        sChar = Character.getInstance()\r\n        activeChar = self.charEditor.entityEditor.getActiveEntity()\r\n        ssoChar = self.getActiveCharacter()\r\n        sChar.setSsoCharacter(activeChar.ID, ssoChar)\r\n\r\n        self.fetchButton.Enable(ssoChar is not None)\r\n\r\n        event.Skip()\r\n\r\n    def fetchSkills(self, evt):\r\n        sChar = Character.getInstance()\r\n        char = self.charEditor.entityEditor.getActiveEntity()\r\n        sChar.apiFetch(char.ID, APIView.fetchCallback)\r\n\r\n    def addCharacter(self, event):\r\n        sEsi = Esi.getInstance()\r\n        sEsi.login()\r\n\r\n    def getActiveCharacter(self):\r\n        selection = self.charChoice.GetCurrentSelection()\r\n        return self.charChoice.GetClientData(selection) if selection != -1 else None\r\n\r\n    def ssoListChanged(self, event):\r\n        if not self:  # todo: fix event not unbinding properly\r\n            return\r\n\r\n        self.charChanged(event)\r\n\r\n    def charChanged(self, event):\r\n        sChar = Character.getInstance()\r\n        sEsi = Esi.getInstance()\r\n\r\n        activeChar = self.charEditor.entityEditor.getActiveEntity()\r\n\r\n        if event and event.EventType == GE.EVT_SSO_LOGIN.typeId and hasattr(event, 'character'):\r\n            # Automatically assign the character that was just logged into\r\n            sChar.setSsoCharacter(activeChar.ID, event.character.ID)\r\n\r\n        sso = sChar.getSsoCharacter(activeChar.ID)\r\n\r\n        self.fetchButton.Enable(sso is not None)\r\n\r\n        ssoChars = sEsi.getSsoCharacters()\r\n\r\n        self.charChoice.Clear()\r\n\r\n        noneID = self.charChoice.Append(_t(\"None\"), None)\r\n\r\n        for char in ssoChars:\r\n            currId = self.charChoice.Append(char.characterDisplay, char.ID)\r\n\r\n            if sso is not None and char.ID == sso.ID:\r\n                self.charChoice.SetSelection(currId)\r\n\r\n        if sso is None:\r\n            self.charChoice.SetSelection(noneID)\r\n\r\n        #\r\n        # if chars:\r\n        #     for charName in chars:\r\n        #         self.charChoice.Append(charName)\r\n        #     self.charChoice.SetStringSelection(char)\r\n        # else:\r\n        #     self.charChoice.Append(\"No characters...\", 0)\r\n        #     self.charChoice.SetSelection(0)\r\n        #\r\n        if activeChar.name in (\"All 0\", \"All 5\"):\r\n            self.Enable(False)\r\n            self.stDisabledTip.Show()\r\n            self.Layout()\r\n        else:\r\n            self.Enable()\r\n            self.stDisabledTip.Hide()\r\n            self.Layout()\r\n\r\n        if event is not None:\r\n            event.Skip()\r\n\r\n    @staticmethod\r\n    def fetchCallback(e=None):\r\n        if e:\r\n            pyfalog.warn(\"Error fetching skill information for character for __fetchCallback\")\r\n            SkillFetchExceptionHandler(e)\r\n        else:\r\n            wx.MessageBox(\r\n                _t(\"Successfully fetched skills\"), _t(\"Success\"), wx.ICON_INFORMATION | wx.STAY_ON_TOP)\r\n\r\n\r\nclass SecStatusDialog(wx.Dialog):\r\n\r\n    def __init__(self, parent, sec):\r\n        super().__init__(parent, title=_t(\"Set Security Status\"), size=(300, 175), style=wx.DEFAULT_DIALOG_STYLE)\r\n\r\n        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)\r\n\r\n        bSizer1 = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.m_staticText1 = wx.StaticText(self, wx.ID_ANY,\r\n                                           _t(\"Security Status is used in some CONCORD hull calculations\"),\r\n                                           wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.m_staticText1.Wrap(-1)\r\n        bSizer1.Add(self.m_staticText1, 1, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.floatSpin = FloatSpin(self, value=sec, min_val=-10.0, max_val=5.0, increment=0.1, digits=2, size=(-1, -1))\r\n        bSizer1.Add(self.floatSpin, 0, wx.ALIGN_CENTER | wx.ALL, 5)\r\n\r\n        btnOk = wx.Button(self, wx.ID_OK)\r\n        bSizer1.Add(btnOk, 0, wx.ALIGN_RIGHT | wx.ALL, 5)\r\n\r\n        self.SetSizer(bSizer1)\r\n        self.Layout()\r\n\r\n        self.Center(wx.BOTH)\r\n\r\n\r\nclass SkillFetchExceptionHandler:\r\n    def __init__(self, e):\r\n        from gui.esiFittings import ESIExceptionHandler\r\n        exc_type, exc_value, exc_trace = e\r\n        if config.debug:\r\n            exc_value = ''.join(traceback.format_exception(exc_type, exc_value, exc_trace))\r\n        pyfalog.warn(exc_value)\r\n\r\n        try:\r\n            try:\r\n                raise exc_value\r\n            except APIException as ex:\r\n                pyfalog.error(ex)\r\n                ESIExceptionHandler(ex)\r\n        except Exception as ex:\r\n            pyfalog.error(ex)\r\n            wx.MessageBox(\r\n                _t(\"Error fetching skill information\"),\r\n                _t(\"Error\"), wx.ICON_ERROR | wx.STAY_ON_TOP)\r\n"
  },
  {
    "path": "gui/characterSelection.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport traceback\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nimport roman\r\nfrom logbook import Logger\r\n\r\nimport config\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils.clipboard import toClipboard\r\nfrom service.character import Character\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CharacterSelection(wx.Panel):\r\n    def __init__(self, parent):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        wx.Panel.__init__(self, parent)\r\n        mainSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        self.SetSizer(mainSizer)\r\n\r\n        mainSizer.Add(wx.StaticText(self, wx.ID_ANY, _t(\"Character: \")), 0, wx.CENTER | wx.RIGHT | wx.LEFT, 3)\r\n\r\n        # cache current selection to fall back in case we choose to open char editor\r\n        self.charCache = None\r\n\r\n        self.charChoice = wx.Choice(self)\r\n        mainSizer.Add(self.charChoice, 1, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.LEFT, 3)\r\n\r\n        self.refreshCharacterList()\r\n\r\n        self.cleanSkills = BitmapLoader.getBitmap(\"skill_big\", \"gui\")\r\n        self.redSkills = BitmapLoader.getBitmap(\"skillRed_big\", \"gui\")\r\n        self.greenSkills = BitmapLoader.getBitmap(\"skillGreen_big\", \"gui\")\r\n        self.refresh = BitmapLoader.getBitmap(\"refresh\", \"gui\")\r\n        self.needsSkills = False\r\n\r\n        self.btnRefresh = wx.BitmapButton(self, wx.ID_ANY, self.refresh)\r\n        size = self.btnRefresh.GetSize()\r\n\r\n        self.btnRefresh.SetMinSize(size)\r\n        self.btnRefresh.SetMaxSize(size)\r\n        self.btnRefresh.SetToolTip(_t(\"Refresh Skills\"))\r\n\r\n        self.btnRefresh.Bind(wx.EVT_BUTTON, self.refreshApi)\r\n        self.btnRefresh.Enable(False)\r\n\r\n        mainSizer.Add(self.btnRefresh, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.LEFT, 2)\r\n\r\n        self.skillReqsStaticBitmap = wx.StaticBitmap(self)\r\n        self.skillReqsStaticBitmap.SetBitmap(self.cleanSkills)\r\n        mainSizer.Add(self.skillReqsStaticBitmap, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.LEFT, 3)\r\n\r\n        self.skillReqsStaticBitmap.Bind(wx.EVT_RIGHT_UP, self.OnContextMenu)\r\n\r\n        self.Bind(wx.EVT_CHOICE, self.charChanged)\r\n        self.mainFrame.Bind(GE.CHAR_LIST_UPDATED, self.refreshCharacterList)\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n\r\n        self.SetMinSize(wx.Size(25, -1))\r\n        self.toggleRefreshButton()\r\n\r\n        self.charChoice.Enable(False)\r\n\r\n    def OnContextMenu(self, event):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.mainFrame.getActiveFit())\r\n\r\n        if not fit or not self.needsSkills:\r\n            return\r\n\r\n        pos = wx.GetMousePosition()\r\n        pos = self.ScreenToClient(pos)\r\n\r\n        menu = wx.Menu()\r\n\r\n        grantItem = menu.Append(wx.ID_ANY, _t(\"Grant Missing Skills\"))\r\n        self.Bind(wx.EVT_MENU, self.grantMissingSkills, grantItem)\r\n\r\n        exportItem = menu.Append(wx.ID_ANY, _t(\"Copy Missing Skills\"))\r\n        self.Bind(wx.EVT_MENU, self.exportSkills, exportItem)\r\n\r\n        exportItem = menu.Append(wx.ID_ANY, _t(\"Copy Missing Skills (condensed)\"))\r\n        self.Bind(wx.EVT_MENU, self.exportSkillsCondensed, exportItem)\r\n\r\n        exportItem = menu.Append(wx.ID_ANY, _t(\"Copy Missing Skills (EVEMon)\"))\r\n        self.Bind(wx.EVT_MENU, self.exportSkillsEveMon, exportItem)\r\n\r\n        self.PopupMenu(menu, pos)\r\n\r\n        event.Skip()\r\n\r\n    def grantMissingSkills(self, evt):\r\n        charID = self.getActiveCharacter()\r\n        sChar = Character.getInstance()\r\n\r\n        skillsMap = self._buildSkillsTooltipCondensed(self.reqs, skillsMap={})\r\n\r\n        for index in skillsMap:\r\n            sChar.changeLevel(charID, skillsMap[index][1], skillsMap[index][0], ifHigher=True)\r\n\r\n        self.refreshCharacterList()\r\n\r\n    def getActiveCharacter(self):\r\n        selection = self.charChoice.GetCurrentSelection()\r\n        return self.charChoice.GetClientData(selection) if selection != -1 else None\r\n\r\n    def refreshCharacterList(self, event=None):\r\n        choice = self.charChoice\r\n        sChar = Character.getInstance()\r\n        activeChar = self.getActiveCharacter()\r\n\r\n        choice.Clear()\r\n        charList = sorted(sChar.getCharacterList(), key=lambda c: (not c.ro, c.name))\r\n        picked = False\r\n\r\n        for char in charList:\r\n            currId = choice.Append(char.name, char.ID)\r\n            if char.ID == activeChar:\r\n                choice.SetSelection(currId)\r\n                self.charChanged(None)\r\n                picked = True\r\n\r\n        if not picked:\r\n            charID = sChar.all5ID()\r\n            self.selectChar(charID)\r\n            fitID = self.mainFrame.getActiveFit()\r\n            sFit = Fit.getInstance()\r\n            sFit.changeChar(fitID, charID)\r\n\r\n        choice.Append(\"\\u2015 \" + _t(\"Open Character Editor\") + \" \\u2015\", -1)\r\n        self.charCache = self.charChoice.GetCurrentSelection()\r\n\r\n        if event is not None:\r\n            event.Skip()\r\n\r\n    def refreshApi(self, event):\r\n        self.btnRefresh.Enable(False)\r\n        sChar = Character.getInstance()\r\n        sChar.apiFetch(self.getActiveCharacter(), self.refreshAPICallback)\r\n\r\n    def refreshAPICallback(self, e=None):\r\n        self.btnRefresh.Enable(True)\r\n        if e is None:\r\n            self.refreshCharacterList()\r\n        else:\r\n            from gui.characterEditor import SkillFetchExceptionHandler\r\n            pyfalog.warn(\"Error fetching skill information for character for refreshAPICallback\")\r\n            SkillFetchExceptionHandler(e)\r\n\r\n    def charChanged(self, event):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        charID = self.getActiveCharacter()\r\n\r\n        if charID == -1:\r\n            # revert to previous character\r\n            self.charChoice.SetSelection(self.charCache)\r\n            self.mainFrame.OnShowCharacterEditor(event)\r\n            return\r\n\r\n        self.toggleRefreshButton()\r\n\r\n        sFit = Fit.getInstance()\r\n        sFit.changeChar(fitID, charID)\r\n        self.charCache = self.charChoice.GetCurrentSelection()\r\n        wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n\r\n    def toggleRefreshButton(self):\r\n        charID = self.getActiveCharacter()\r\n        sChar = Character.getInstance()\r\n        char = sChar.getCharacter(charID)\r\n        if sChar.getCharName(charID) not in (\"All 0\", \"All 5\") and sChar.getSsoCharacter(char.ID) is not None:\r\n            self.btnRefresh.Enable(True)\r\n        else:\r\n            self.btnRefresh.Enable(False)\r\n\r\n    def selectChar(self, charID):\r\n        choice = self.charChoice\r\n        numItems = len(choice.GetItems())\r\n        for i in range(numItems):\r\n            id_ = choice.GetClientData(i)\r\n            if id_ == charID:\r\n                choice.SetSelection(i)\r\n                return True\r\n\r\n        return False\r\n\r\n    def fitChanged(self, event):\r\n        \"\"\"\r\n        When fit is changed, or new fit is selected\r\n        \"\"\"\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n        self.charChoice.Enable(activeFitID is not None)\r\n        choice = self.charChoice\r\n        sFit = Fit.getInstance()\r\n        currCharID = choice.GetClientData(choice.GetCurrentSelection())\r\n        fit = sFit.getFit(activeFitID)\r\n        newCharID = fit.character.ID if fit is not None else None\r\n\r\n        if activeFitID is None:\r\n            self.skillReqsStaticBitmap.SetBitmap(self.cleanSkills)\r\n            self.skillReqsStaticBitmap.SetToolTip(_t(\"No active fit\"))\r\n        else:\r\n            sCharacter = Character.getInstance()\r\n            self.reqs = sCharacter.checkRequirements(fit)\r\n\r\n            sCharacter.skillReqsDict = {'charname': fit.character.name, 'skills': []}\r\n            if len(self.reqs) == 0:\r\n                self.needsSkills = False\r\n                tip = _t(\"All skill prerequisites have been met\")\r\n                self.skillReqsStaticBitmap.SetBitmap(self.greenSkills)\r\n            else:\r\n                self.needsSkills = True\r\n                tip = _t(\"Skills required:\") + \"\\n\"\r\n                condensed = sFit.serviceFittingOptions[\"compactSkills\"]\r\n                if condensed:\r\n                    dict_ = self._buildSkillsTooltipCondensed(self.reqs, skillsMap={})\r\n                    for key in sorted(dict_):\r\n                        tip += \"%s: %d\\n\" % (key, dict_[key][0])\r\n                else:\r\n                    tip += self._buildSkillsTooltip(self.reqs)\r\n                self.skillReqsStaticBitmap.SetBitmap(self.redSkills)\r\n            self.skillReqsStaticBitmap.SetToolTip(tip.strip())\r\n\r\n        if newCharID is None:\r\n            sChar = Character.getInstance()\r\n            self.selectChar(sChar.all5ID())\r\n\r\n        elif currCharID != newCharID:\r\n            self.selectChar(newCharID)\r\n            if not fit.calculated:\r\n                self.charChanged(None)\r\n\r\n        self.toggleRefreshButton()\r\n\r\n    def exportSkills(self, evt):\r\n        skillsMap = self._buildSkillsTooltipCondensed(self.reqs, skillsMap={})\r\n\r\n        list = \"\"\r\n        for key in sorted(skillsMap):\r\n            list += \"%s %d\\n\" % (key, skillsMap[key][0])\r\n\r\n        toClipboard(list)\r\n\r\n    def exportSkillsCondensed(self, evt):\r\n        skillsMap = self._buildSkillsTooltipSuperCondensed(self.reqs, skillsMap={})\r\n\r\n        list = \"\"\r\n        for key in sorted(skillsMap):\r\n            list += \"%s %d\\n\" % (key, skillsMap[key][0])\r\n\r\n        toClipboard(list)\r\n\r\n    def exportSkillsEveMon(self, evt):\r\n        skillsMap = self._buildSkillsTooltipCondensed(self.reqs, skillsMap={})\r\n\r\n        list = \"\"\r\n        for key in sorted(skillsMap):\r\n            list += \"%s %s\\n\" % (key, roman.toRoman(skillsMap[key][0]))\r\n\r\n        toClipboard(list)\r\n\r\n    def _buildSkillsTooltip(self, reqs, currItem=\"\", tabulationLevel=0):\r\n        tip = \"\"\r\n        sCharacter = Character.getInstance()\r\n\r\n        if tabulationLevel == 0:\r\n            for item, subReqs in reqs.items():\r\n                tip += \"%s:\\n\" % item.name\r\n                tip += self._buildSkillsTooltip(subReqs, item.name, 1)\r\n        else:\r\n            for name, info in reqs.items():\r\n                level, ID, more = info\r\n                sCharacter.skillReqsDict['skills'].append({\r\n                    'item': currItem,\r\n                    'skillID': ID,\r\n                    'skill': name,\r\n                    'level': level,\r\n                    'indent': tabulationLevel,\r\n                })\r\n\r\n                tip += \"%s%s: %d\\n\" % (\"    \" * tabulationLevel, name, level)\r\n                tip += self._buildSkillsTooltip(more, currItem, tabulationLevel + 1)\r\n\r\n        return tip\r\n\r\n    def _buildSkillsTooltipCondensed(self, reqs, currItem=\"\", tabulationLevel=0, skillsMap=None):\r\n        if skillsMap is None:\r\n            skillsMap = {}\r\n\r\n        sCharacter = Character.getInstance()\r\n\r\n        if tabulationLevel == 0:\r\n            for item, subReqs in reqs.items():\r\n                skillsMap = self._buildSkillsTooltipCondensed(subReqs, item.name, 1, skillsMap)\r\n        else:\r\n            for name, info in reqs.items():\r\n                level, ID, more = info\r\n                sCharacter.skillReqsDict['skills'].append({\r\n                    'item': currItem,\r\n                    'skillID': ID,\r\n                    'skill': name,\r\n                    'level': level,\r\n                    'indent': tabulationLevel,\r\n                })\r\n\r\n                if name not in skillsMap:\r\n                    skillsMap[name] = level, ID\r\n                elif skillsMap[name][0] < level:\r\n                    skillsMap[name] = level, ID\r\n\r\n                skillsMap = self._buildSkillsTooltipCondensed(more, currItem, tabulationLevel + 1, skillsMap)\r\n\r\n        return skillsMap\r\n\r\n    def _buildSkillsTooltipSuperCondensed(self, reqs, currItem=\"\", tabulationLevel=0, skillsMap=None):\r\n        allReqs = {}\r\n        implicitReqs = {}\r\n\r\n        def traverseReqs(itemReqs, topLevel=True):\r\n            for skillName, (skillLevel, skillTypeID, subReqs) in itemReqs.items():\r\n                if (skillTypeID, skillName) not in allReqs or allReqs[(skillTypeID, skillName)] < skillLevel:\r\n                    allReqs[(skillTypeID, skillName)] = skillLevel\r\n                if not topLevel and (skillTypeID not in implicitReqs or implicitReqs[skillTypeID] < skillLevel):\r\n                    implicitReqs[skillTypeID] = skillLevel\r\n                traverseReqs(subReqs, topLevel=False)\r\n\r\n        for item, itemReqs in reqs.items():\r\n            traverseReqs(itemReqs)\r\n\r\n        newReqs = {}\r\n        for (skillTypeID, skillName), skillLevel in allReqs.items():\r\n            if skillTypeID not in implicitReqs or implicitReqs[skillTypeID] < skillLevel:\r\n                newReqs[skillName] = skillLevel, skillTypeID\r\n\r\n        return newReqs\r\n"
  },
  {
    "path": "gui/chrome_tabs.py",
    "content": "# ===============================================================================\r\n#\r\n# ToDo: Bug - when selecting close on a tab, sometimes the tab to the right is\r\n#       selected, most likely due to determination of mouse position\r\n# ToDo: Tab Selection seems overly complicated. OnLeftDown finds tab at\r\n#       position, and then call's CheckTabSelected which calls TabHitTest (when\r\n#       we are already aware it will return due to FindTabAtPos)\r\n# ToDo: Perhaps a better way of finding tabs at position instead of looping\r\n#       through them and getting their regions. Perhaps some smart trickery with\r\n#       mouse pos x (all tabs have same width, so we divide x by width to find\r\n#       tab index?). This will also help with finding close buttons.\r\n# ToDo: Fix page preview code (PFNotebookPagePreview)\r\n#\r\n# ===============================================================================\r\n\r\n\r\nimport math\r\nfrom functools import lru_cache\r\n\r\nimport wx\r\nimport wx.lib.newevent\r\n\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.utils import color as color_utils, draw, fonts\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n_PageChanging, EVT_NOTEBOOK_PAGE_CHANGING = wx.lib.newevent.NewEvent()\r\n_PageChanged, EVT_NOTEBOOK_PAGE_CHANGED = wx.lib.newevent.NewEvent()\r\n_PageAdding, EVT_NOTEBOOK_PAGE_ADDING = wx.lib.newevent.NewEvent()\r\n_PageClosing, EVT_NOTEBOOK_PAGE_CLOSING = wx.lib.newevent.NewEvent()\r\nPageAdded, EVT_NOTEBOOK_PAGE_ADDED = wx.lib.newevent.NewEvent()\r\nPageClosed, EVT_NOTEBOOK_PAGE_CLOSED = wx.lib.newevent.NewEvent()\r\n\r\n\r\nclass VetoAble:\r\n    def __init__(self):\r\n        self.__vetoed = False\r\n\r\n    def Veto(self):\r\n        self.__vetoed = True\r\n\r\n    def isVetoed(self):\r\n        return self.__vetoed\r\n\r\n\r\nclass NotebookTabChangeEvent:\r\n    def __init__(self, old, new):\r\n        self.__old = old\r\n        self.__new = new\r\n\r\n    def GetOldSelection(self):\r\n        return self.__old\r\n\r\n    def GetSelection(self):\r\n        return self.__new\r\n\r\n    OldSelection = property(GetOldSelection)\r\n    Selection = property(GetSelection)\r\n\r\n\r\nclass PageChanging(_PageChanging, NotebookTabChangeEvent, VetoAble):\r\n    def __init__(self, old, new):\r\n        _PageChanging.__init__(self)\r\n        NotebookTabChangeEvent.__init__(self, old, new)\r\n        VetoAble.__init__(self)\r\n\r\n\r\nclass PageChanged(_PageChanged, NotebookTabChangeEvent):\r\n\r\n    def __init__(self, old, new, *args, **kwargs):\r\n        _PageChanged.__init__(self, *args, **kwargs)\r\n        NotebookTabChangeEvent.__init__(self, old, new)\r\n\r\n\r\nclass PageClosing(_PageClosing, VetoAble):\r\n    def __init__(self, i):\r\n        _PageClosing.__init__(self)\r\n        self.__index = i\r\n        VetoAble.__init__(self)\r\n        self.Selection = property(self.GetSelection)\r\n\r\n    def GetSelection(self):\r\n        return self.__index\r\n\r\n\r\nclass PageAdding(_PageAdding, VetoAble):\r\n    def __init__(self):\r\n        _PageAdding.__init__(self)\r\n        VetoAble.__init__(self)\r\n\r\n\r\nclass ChromeNotebook(wx.Panel):\r\n\r\n    def __init__(self, parent, can_add=True, tabWidthMode=0):\r\n        \"\"\"\r\n        Instance of Notebook. Initializes general layout, includes methods\r\n        for setting current page, replacing pages, any public function for the\r\n        notebook\r\n\r\n        width modes:\r\n        - 0: legacy (all tabs have equal width)\r\n        - 1: all tabs take just enough space to fit text\r\n        \"\"\"\r\n        super().__init__(parent, wx.ID_ANY, size=(-1, -1))\r\n\r\n        self._pages = []\r\n        self._active_page = None\r\n\r\n        main_sizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        tabs_sizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.tabs_container = _TabsContainer(self, can_add=can_add, tabWidthMode=tabWidthMode)\r\n        tabs_sizer.Add(self.tabs_container, 0, wx.EXPAND)\r\n\r\n        if 'wxMSW' in wx.PlatformInfo:\r\n            style = wx.DOUBLE_BORDER\r\n        else:\r\n            style = wx.SIMPLE_BORDER\r\n\r\n        back_color = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n\r\n        content_sizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.page_container = wx.Panel(self, style=style)\r\n        self.page_container.SetBackgroundColour(back_color)\r\n        content_sizer.Add(self.page_container, 1, wx.EXPAND, 5)\r\n\r\n        main_sizer.Add(tabs_sizer, 0, wx.EXPAND, 5)\r\n        main_sizer.Add(content_sizer, 1, wx.EXPAND | wx.BOTTOM, 2)\r\n\r\n        self.SetSizer(main_sizer)\r\n        self.Bind(wx.EVT_SIZE, self.OnSize)\r\n        self.Layout()\r\n\r\n    def GetPage(self, i):\r\n        return self._pages[i]\r\n\r\n    def SetPage(self, i, page):\r\n        if i >= len(self._pages) or i is None or page is None:\r\n            return\r\n\r\n        old_page = self._pages[i]\r\n        self._pages[i] = page\r\n        if old_page == self._active_page:\r\n            old_page.Destroy()\r\n            self._active_page = page\r\n        else:\r\n            old_page.Destroy()\r\n\r\n        page.Reparent(self.page_container)\r\n\r\n        if self._active_page == page:\r\n            self.ShowActive()\r\n\r\n    def GetBorders(self):\r\n        \"\"\"Gets border widths to better determine page size in ShowActive()\"\"\"\r\n\r\n        bx = wx.SystemSettings.GetMetric(wx.SYS_BORDER_X)\r\n        by = wx.SystemSettings.GetMetric(wx.SYS_BORDER_Y)\r\n\r\n        if bx < 0:\r\n            bx = 1\r\n        if by < 0:\r\n            by = 1\r\n\r\n        return bx, by\r\n\r\n    def ReplaceActivePage(self, page):\r\n        self.SetPage(self.GetSelection(), page)\r\n\r\n    def GetSelectedPage(self):\r\n        return self._active_page\r\n\r\n    def GetPageIndex(self, page):\r\n        return self._pages.index(page) if page in self._pages else None\r\n\r\n    def GetSelection(self):\r\n        return self.GetPageIndex(self._active_page)\r\n\r\n    def GetCurrentPage(self):\r\n        return self._active_page\r\n\r\n    def GetPageCount(self):\r\n        return len(self._pages)\r\n\r\n    def NextPage(self):\r\n        \"\"\"Used with keyboard shortcut for next page navigation\"\"\"\r\n        current_page = self.GetSelection()\r\n\r\n        if current_page is None:\r\n            return\r\n\r\n        if current_page < self.GetPageCount() - 1:\r\n            self.SetSelection(current_page + 1)\r\n            new_page = current_page + 1\r\n        else:\r\n            self.SetSelection(0)\r\n            new_page = 0\r\n\r\n        wx.PostEvent(self, PageChanged(current_page, new_page))\r\n\r\n    def PrevPage(self):\r\n        \"\"\"Used with keyboard shortcut for previous page navigation\"\"\"\r\n        current_page = self.GetSelection()\r\n\r\n        if current_page is None:\r\n            return\r\n\r\n        if current_page > 0:\r\n            self.SetSelection(current_page - 1)\r\n            new_page = current_page - 1\r\n        else:\r\n            self.SetSelection(self.GetPageCount() - 1)\r\n            new_page = self.GetPageCount() - 1\r\n\r\n        wx.PostEvent(self, PageChanged(current_page, new_page))\r\n\r\n    def AddPage(self, win=None, title=None, image: wx.Image=None, closeable=True):\r\n        title = title or \"Empty Tab\"\r\n        if self._active_page:\r\n            self._active_page.Hide()\r\n\r\n        if not win:\r\n            win = wx.Panel(self)\r\n\r\n        win.Reparent(self.page_container)\r\n\r\n        self.page_container.Layout()\r\n\r\n        self._pages.append(win)\r\n        self.tabs_container.AddTab(title, image, closeable)\r\n\r\n        self._active_page = win\r\n        self.ShowActive(True)\r\n\r\n    def DisablePage(self, page, toggle):\r\n        idx = self.GetPageIndex(page)\r\n\r\n        if toggle and page == self._active_page:\r\n            try:\r\n                # Set page to the first non-disabled page\r\n                self.SetSelection(next(i for i, _ in enumerate(self._pages) if not self.tabs_container.tabs[i].disabled))\r\n            except StopIteration:\r\n                self.SetSelection(0)\r\n\r\n        self.tabs_container.DisableTab(idx, toggle)\r\n\r\n    def SetSelection(self, page, focus=True):\r\n        old_selection = self.GetSelection()\r\n        if old_selection != page:\r\n            self._active_page.Hide()\r\n            self._active_page = self._pages[page]\r\n            self.tabs_container.SetSelected(page)\r\n            self.ShowActive()\r\n            if focus:\r\n                self._active_page.SetFocus()\r\n            wx.PostEvent(self, PageChanged(old_selection, page))\r\n\r\n    def DeletePage(self, n):\r\n        page = self._pages[n]\r\n        self._pages.remove(page)\r\n        page.Destroy()\r\n\r\n        self.tabs_container.DeleteTab(n)\r\n\r\n        selection = self.tabs_container.GetSelected()\r\n        if selection is not None:\r\n            self._active_page = self._pages[selection]\r\n            self.ShowActive()\r\n            wx.PostEvent(self, PageChanged(-1, selection))\r\n        else:\r\n            self._active_page = None\r\n\r\n    def SwitchPages(self, src, dst):\r\n        self._pages[src], self._pages[dst] = self._pages[dst], self._pages[src]\r\n\r\n    def ShowActive(self, resize_only=False):\r\n        \"\"\"\r\n        Sets the size of the page and shows. The sizing logic adjusts for some\r\n        minor sizing errors (scrollbars going beyond bounds)\r\n\r\n        resize_only\r\n            if we are not interested in showing the page, only setting the size\r\n\r\n        @todo: is resize_only still needed? Was introduced with 8b8b97 in mid\r\n        2011 to fix a resizing bug with blank _pages, cannot reproduce\r\n        13Sept2014\r\n        \"\"\"\r\n\r\n        ww, wh = self.page_container.GetSize()\r\n        bx, by = self.GetBorders()\r\n        ww -= bx * 4\r\n        wh -= by * 4\r\n        self._active_page.SetSize((max(ww, -1), max(wh, -1)))\r\n        self._active_page.SetPosition((0, 0))\r\n\r\n        if not resize_only:\r\n            self._active_page.Show()\r\n\r\n        self.Layout()\r\n\r\n    def IsActive(self, page):\r\n        return self._active_page == page\r\n\r\n    def SetPageTitle(self, i, text, refresh=True):\r\n        tab = self.tabs_container.tabs[i]\r\n        tab.baseText = text\r\n        if refresh:\r\n            self.tabs_container.AdjustTabsSize()\r\n            self.Refresh()\r\n\r\n    def SetPageTitleExtra(self, i, text, refresh=True):\r\n        tab = self.tabs_container.tabs[i]\r\n        tab.extraText = text\r\n        if refresh:\r\n            self.tabs_container.AdjustTabsSize()\r\n            self.Refresh()\r\n\r\n    def SetPageIcon(self, i, icon, refresh=True):\r\n        tab = self.tabs_container.tabs[i]\r\n        tab.tab_img = icon\r\n        if refresh:\r\n            self.tabs_container.AdjustTabsSize()\r\n            self.Refresh()\r\n\r\n    def SetPageTextIcon(self, i, text=wx.EmptyString, icon=None):\r\n        self.SetPageTitle(i, text, False)\r\n        self.SetPageIcon(i, icon, False)\r\n        self.tabs_container.AdjustTabsSize()\r\n        self.Refresh()\r\n\r\n    def Refresh(self):\r\n        self.tabs_container.Refresh()\r\n\r\n    def OnSize(self, event):\r\n        w, h = self.GetSize()\r\n        self.tabs_container.SetSize((w, -1))\r\n        self.tabs_container.UpdateSize()\r\n        self.tabs_container.Refresh()\r\n        self.Layout()\r\n\r\n        if self._active_page:\r\n            self.ShowActive()\r\n        event.Skip()\r\n\r\n\r\nclass _TabRenderer:\r\n    def __init__(self, size=(36, 24), text=wx.EmptyString, img: wx.Image=None,\r\n                 closeable=True):\r\n\r\n        # tab left/right zones inclination\r\n        self.ctab_left = BitmapLoader.getImage(\"ctableft\", \"gui\")\r\n        self.ctab_middle = BitmapLoader.getImage(\"ctabmiddle\", \"gui\")\r\n        self.ctab_right = BitmapLoader.getImage(\"ctabright\", \"gui\")\r\n        self.ctab_close = BitmapLoader.getImage(\"ctabclose\", \"gui\")\r\n\r\n        self.left_width = self.ctab_left.GetWidth()\r\n        self.right_width = self.ctab_right.GetWidth()\r\n        self.middle_width = self.ctab_middle.GetWidth()\r\n        self.close_btn_width = self.ctab_close.GetWidth()\r\n\r\n        width, height = size\r\n\r\n        self.min_width = self.left_width + self.right_width + self.middle_width\r\n        self.min_height = self.ctab_middle.GetHeight()\r\n\r\n        # set minimum width and height to what is allotted to images\r\n        width = max(width, self.min_width)\r\n        height = max(height, self.min_height)\r\n\r\n        self._disabled = False\r\n        self.baseText = text\r\n        self.extraText = ''\r\n        self.tab_size = (width, height)\r\n        self.closeable = closeable\r\n        self.selected = False\r\n        self.close_btn_hovering = False\r\n        self.tab_bitmap = None\r\n        self.tab_back_bitmap = None\r\n        self.padding = 4\r\n        self.font = wx.Font(fonts.NORMAL, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False)\r\n\r\n        self.tab_img = img\r\n        self.position = (0, 0)  # Not used internally for rendering - helper for tab container\r\n        self.InitTab()\r\n\r\n    @property\r\n    def disabled(self):\r\n        return self._disabled\r\n\r\n    @disabled.setter\r\n    def disabled(self, value):\r\n        if value == self._disabled:  # Avoid unnecessary re-rendering\r\n            return\r\n\r\n        self._disabled = value\r\n        self._Render()\r\n\r\n    @property\r\n    def text(self):\r\n        return self.baseText + self.extraText\r\n\r\n    def SetPosition(self, position):\r\n        self.position = position\r\n\r\n    def GetPosition(self):\r\n        return self.position\r\n\r\n    def GetSize(self):\r\n        return self.tab_size\r\n\r\n    def SetSize(self, size):\r\n        width, height = size\r\n\r\n        width = max(width, self.min_width)\r\n        height = max(height, self.min_height)\r\n\r\n        cur_width, cur_height = self.tab_size\r\n        if (width == cur_width) and (height == cur_height):\r\n            return\r\n\r\n        self.tab_size = (width, height)\r\n        self.InitTab()\r\n\r\n    def SetSelected(self, sel=True):\r\n        self.selected = sel\r\n        self.InitTab()\r\n\r\n    def GetSelected(self):\r\n        return self.selected\r\n\r\n    def IsSelected(self):\r\n        return self.selected\r\n\r\n    def ShowCloseButtonHovering(self, hover=True):\r\n        if self.close_btn_hovering != hover:\r\n            self.close_btn_hovering = hover\r\n            self._Render()\r\n\r\n    def GetCloseButtonHoverStatus(self):\r\n        return self.close_btn_hovering\r\n\r\n    def GetTabRegion(self):\r\n        new_region = self.CopyRegion(self.tab_region)\r\n        new_region.Subtract(self.close_region) if self.closeable else self.tab_region\r\n        return new_region\r\n\r\n    def GetCloseButtonRegion(self):\r\n        return self.CopyRegion(self.close_region)\r\n\r\n    def GetMinSize(self):\r\n        ebmp = wx.Bitmap(1, 1)\r\n        mdc = wx.MemoryDC()\r\n        mdc.SelectObject(ebmp)\r\n        mdc.SetFont(self.font)\r\n        textSizeX, textSizeY = mdc.GetTextExtent(self.text)\r\n        totalSize = self.left_width + self.right_width + textSizeX + self.close_btn_width / 2 + 16 + self.padding * 2\r\n        mdc.SelectObject(wx.NullBitmap)\r\n        return totalSize, self.tab_height\r\n\r\n    def SetTabImage(self, img):\r\n        self.tab_img = img\r\n\r\n    def CopyRegion(self, region):\r\n        rect = region.GetBox()\r\n\r\n        newRegion = wx.Region(rect.X, rect.Y, rect.Width, rect.Height)\r\n        newRegion.Intersect(region)\r\n\r\n        return newRegion\r\n\r\n    def InitTab(self):\r\n        self.tab_width, self.tab_height = self.tab_size\r\n\r\n        self.content_width = self.tab_width - self.left_width - self.right_width\r\n        self.tab_region = None\r\n        self.close_region = None\r\n\r\n        self.InitColors()\r\n        self.InitBitmaps()\r\n\r\n        self.ComposeTabBack()\r\n        self.InitTabRegions()\r\n        self._Render()\r\n\r\n    def InitBitmaps(self):\r\n        \"\"\"\r\n        Creates bitmap for tab\r\n\r\n        Takes the bitmaps already set and replaces a known color (black) with\r\n        the needed color, while also considering selected state. Color dependant\r\n        on platform -- see InitColors().\r\n        \"\"\"\r\n        if self.selected:\r\n            tr, tg, tb, ta = self.selected_color\r\n        else:\r\n            tr, tg, tb, ta = self.inactive_color\r\n\r\n        ctab_left = self.ctab_left.Copy()\r\n        ctab_right = self.ctab_right.Copy()\r\n        ctab_middle = self.ctab_middle.Copy()\r\n\r\n        ctab_left.Replace(0, 0, 0, tr, tg, tb)\r\n        ctab_right.Replace(0, 0, 0, tr, tg, tb)\r\n        ctab_middle.Replace(0, 0, 0, tr, tg, tb)\r\n\r\n        self.ctab_left_bmp = wx.Bitmap(ctab_left)\r\n        self.ctab_right_bmp = wx.Bitmap(ctab_right)\r\n        self.ctab_middle_bmp = wx.Bitmap(ctab_middle)\r\n        self.ctab_close_bmp = wx.Bitmap(self.ctab_close)\r\n\r\n    def ComposeTabBack(self):\r\n        \"\"\"\r\n        Creates the tab background bitmap based upon calculated dimension values\r\n        and modified bitmaps via InitBitmaps()\r\n        \"\"\"\r\n        bk_bmp = wx.Bitmap(round(self.tab_width), round(self.tab_height))\r\n\r\n        mdc = wx.MemoryDC()\r\n        mdc.SelectObject(bk_bmp)\r\n        mdc.Clear()\r\n\r\n        # draw the left bitmap\r\n        mdc.DrawBitmap(self.ctab_left_bmp, 0, 0)\r\n\r\n        # convert middle bitmap and scale to tab width\r\n        cm = self.ctab_middle_bmp.ConvertToImage()\r\n        mimg = cm.Scale(round(self.content_width), round(self.ctab_middle.GetHeight()),\r\n                        wx.IMAGE_QUALITY_NORMAL)\r\n        mbmp = wx.Bitmap(mimg)\r\n\r\n        # draw middle bitmap, offset by left\r\n        mdc.DrawBitmap(mbmp, round(self.left_width), 0)\r\n\r\n        # draw right bitmap offset by left + middle\r\n        mdc.DrawBitmap(self.ctab_right_bmp,\r\n                       round(self.content_width + self.left_width), 0)\r\n\r\n        mdc.SelectObject(wx.NullBitmap)\r\n\r\n        if self.tab_back_bitmap:\r\n            del self.tab_back_bitmap\r\n\r\n        self.tab_back_bitmap = bk_bmp\r\n\r\n    def InitTabRegions(self):\r\n        \"\"\"\r\n        Initializes regions for tab, which makes it easier to determine if\r\n        given coordinates are included in a region\r\n        \"\"\"\r\n        self.tab_region = wx.Region(self.tab_back_bitmap)\r\n        self.close_region = wx.Region(self.ctab_close_bmp)\r\n\r\n        x_offset = self.content_width \\\r\n            + self.left_width \\\r\n            - self.ctab_close_bmp.GetWidth() / 2\r\n        y_offset = (self.tab_height - self.ctab_close_bmp.GetHeight()) / 2\r\n        self.close_region.Offset(round(x_offset), round(y_offset))\r\n\r\n    def InitColors(self):\r\n        \"\"\"Determines colors used for tab, based on system settings\"\"\"\r\n        self.tab_color = wx.SystemSettings.GetColour(wx.SYS_COLOUR_3DFACE)\r\n        self.inactive_color = color_utils.GetSuitable(self.tab_color, 0.25)\r\n        self.selected_color = color_utils.GetSuitable(self.tab_color, 0.10)\r\n\r\n    def Render(self):\r\n        return self.tab_bitmap\r\n\r\n    def _Render(self):\r\n        \"\"\"Renders the tab, complete with the icon, text, and close button\"\"\"\r\n        if self.tab_bitmap:\r\n            del self.tab_bitmap\r\n\r\n        height = self.tab_height\r\n\r\n        canvas = wx.Bitmap(round(self.tab_width), round(self.tab_height), 24)\r\n\r\n        mdc = wx.MemoryDC()\r\n\r\n        mdc.SelectObject(canvas)\r\n        mdc.Clear()\r\n\r\n        mdc.DrawBitmap(self.tab_back_bitmap, 0, 0, True)\r\n\r\n        # draw the tab icon\r\n        if self.tab_img:\r\n            bmp = wx.Bitmap(self.tab_img.ConvertToGreyscale() if self.disabled else self.tab_img)\r\n            # @todo: is this conditional relevant anymore?\r\n            if self.content_width > 16:\r\n                # Draw tab icon\r\n                mdc.DrawBitmap(\r\n                    bmp,\r\n                    round(self.left_width + self.padding - bmp.GetWidth() / 2),\r\n                    round((height - bmp.GetHeight()) / 2))\r\n\r\n        # draw close button\r\n        if self.closeable:\r\n            if self.close_btn_hovering:\r\n                cbmp = self.ctab_close_bmp\r\n            else:\r\n                cimg = self.ctab_close_bmp.ConvertToImage()\r\n                cimg = cimg.AdjustChannels(0.7, 0.7, 0.7, 0.3)\r\n                cbmp = wx.Bitmap(cimg)\r\n\r\n            mdc.DrawBitmap(\r\n                cbmp,\r\n                round(self.content_width + self.left_width - cbmp.GetWidth() / 2),\r\n                round((height - cbmp.GetHeight()) / 2))\r\n\r\n        mdc.SelectObject(wx.NullBitmap)\r\n\r\n        canvas.SetMaskColour((0x12, 0x23, 0x32))\r\n        img = canvas.ConvertToImage()\r\n\r\n        if not img.HasAlpha():\r\n            img.InitAlpha()\r\n\r\n        bmp = wx.Bitmap(img)\r\n        self.tab_bitmap = bmp\r\n\r\n    # We draw the text separately in order to draw it directly on the native DC, rather than a memory one, because\r\n    # drawing text on a memory DC draws it blurry on HD/Retina screens\r\n    def DrawText(self, dc):\r\n        height = self.tab_height\r\n        dc.SetFont(self.font)\r\n\r\n        if self.tab_img:\r\n            text_start = self.left_width + self.padding + self.tab_img.GetWidth() / 2\r\n        else:\r\n            text_start = self.left_width\r\n\r\n        maxsize = self.tab_width \\\r\n            - text_start \\\r\n            - self.right_width \\\r\n            - self.padding * 4\r\n        color = self.selected_color if self.selected else self.inactive_color\r\n\r\n        dc.SetTextForeground(color_utils.GetSuitable(color, 1))\r\n\r\n        # draw text (with no ellipses)\r\n        text = draw.GetPartialText(dc, self.text, maxsize, \"\")\r\n        tx, ty = dc.GetTextExtent(text)\r\n        dc.DrawText(text, round(text_start + self.padding), round(height / 2 - ty / 2))\r\n\r\n    def __repr__(self):\r\n        return \"_TabRenderer(text={}, disabled={}) at {}\".format(\r\n            self.text, self.disabled, hex(id(self))\r\n        )\r\n\r\n\r\nclass _AddRenderer:\r\n    def __init__(self):\r\n        \"\"\"Renders the add tab button\"\"\"\r\n        self.add_img = BitmapLoader.getImage(\"ctabadd\", \"gui\")\r\n        self.width = self.add_img.GetWidth()\r\n        self.height = self.add_img.GetHeight()\r\n\r\n        self.region = None\r\n        self.tbmp = wx.Bitmap(self.add_img)\r\n        self.add_bitmap = None\r\n\r\n        self.position = (0, 0)\r\n        self.highlighted = False\r\n\r\n        self.InitRenderer()\r\n\r\n    def GetPosition(self):\r\n        return self.position\r\n\r\n    def SetPosition(self, pos):\r\n        self.position = pos\r\n\r\n    def GetSize(self):\r\n        return self.width, self.height\r\n\r\n    def GetHeight(self):\r\n        return self.height\r\n\r\n    def GetWidth(self):\r\n        return self.width\r\n\r\n    def InitRenderer(self):\r\n        self.region = self.CreateRegion()\r\n        self._Render()\r\n\r\n    def CreateRegion(self):\r\n        region = wx.Region(self.tbmp)\r\n        return region\r\n\r\n    def CopyRegion(self, region):\r\n        rect = region.GetBox()\r\n\r\n        new_region = wx.Region(rect.X, rect.Y, rect.Width, rect.Height)\r\n        new_region.Intersect(region)\r\n\r\n        return new_region\r\n\r\n    def GetRegion(self):\r\n        return self.CopyRegion(self.region)\r\n\r\n    def Highlight(self, highlight=False):\r\n        self.highlighted = highlight\r\n        self._Render()\r\n\r\n    def IsHighlighted(self):\r\n        return self.highlighted\r\n\r\n    def Render(self):\r\n        return self.add_bitmap\r\n\r\n    def _Render(self):\r\n        if self.add_bitmap:\r\n            del self.add_bitmap\r\n\r\n        alpha = 1 if self.highlighted else 0.3\r\n\r\n        img = self.add_img.AdjustChannels(1, 1, 1, alpha)\r\n        bmp = wx.Bitmap(img)\r\n        self.add_bitmap = bmp\r\n\r\n\r\nclass _TabsContainer(wx.Panel):\r\n    def __init__(self, parent, pos=(50, 0), size=(100, 22), id=wx.ID_ANY,\r\n                 can_add=True, tabWidthMode=0):\r\n        \"\"\"\r\n        Defines the tab container. Handles functions such as tab selection and\r\n        dragging, and defines minimum width of tabs (all tabs are of equal\r\n        width, which is determined via widest tab). Also handles the tab\r\n        preview, if any.\r\n        \"\"\"\r\n        super().__init__(parent, id, pos, size)\r\n        self.tabWidthMode = tabWidthMode\r\n\r\n        self.tabs = []\r\n        self.width, self.height = size\r\n        self.container_height = self.height\r\n        self.start_drag = False\r\n        self.dragging = False\r\n\r\n        # amount of overlap of tabs?\r\n        self.inclination = 7\r\n\r\n        if can_add:\r\n            self.reserved = 48\r\n        else:\r\n            self.reserved = self.inclination * 4\r\n\r\n        # pixel distance to drag before we actually start dragging\r\n        self.drag_trail = 5\r\n\r\n        self.dragx = 0\r\n        self.dragy = 0\r\n        self.dragged_tab = None\r\n        self.drag_trigger = self.drag_trail\r\n\r\n        self.show_add_button = can_add\r\n\r\n        self.tab_container_width = self.width - self.reserved\r\n        self.fxBmps = {}\r\n\r\n        self.add_button = _AddRenderer()\r\n        self.add_bitmap = self.add_button.Render()\r\n\r\n        self.preview_timer = None\r\n        self.preview_timer_id = wx.ID_ANY\r\n        self.preview_wnd = None\r\n        self.preview_bmp = None\r\n        self.preview_pos = None\r\n        self.preview_tab = None\r\n\r\n        self.Bind(wx.EVT_TIMER, self.OnTimer)\r\n        self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindow)\r\n\r\n        self.Bind(wx.EVT_PAINT, self.OnPaint)\r\n        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnErase)\r\n        self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)\r\n        self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)\r\n        self.Bind(wx.EVT_MIDDLE_UP, self.OnMiddleUp)\r\n        self.Bind(wx.EVT_MOTION, self.OnMotion)\r\n        self.Bind(wx.EVT_SIZE, self.OnSize)\r\n        self.Bind(wx.EVT_SYS_COLOUR_CHANGED, self.OnSysColourChanged)\r\n\r\n        self.SetBackgroundStyle(wx.BG_STYLE_PAINT)\r\n\r\n    def OnSysColourChanged(self, event):\r\n        for tab in self.tabs:\r\n            tab.InitTab()\r\n        self.Refresh()\r\n\r\n    def OnSize(self, event):\r\n        self.UpdateSize()\r\n        event.Skip()\r\n\r\n    def UpdateSize(self):\r\n        \"\"\"Update tab sizes based on new tab container size\"\"\"\r\n        width, _ = self.GetSize()\r\n        if width != self.width:\r\n            self.width = width\r\n            self.tab_container_width = self.width - self.reserved\r\n            self.AdjustTabsSize()\r\n\r\n    def OnLeftDown(self, event):\r\n        \"\"\" Select tab on mouse down and start dragging logic \"\"\"\r\n        mposx, mposy = event.GetPosition()\r\n        if not self.start_drag:\r\n            tab = self.FindTabAtPos(mposx, mposy)\r\n            if tab:\r\n                self.CheckTabSelected(tab, mposx, mposy)\r\n                if self.show_add_button:\r\n                    # If we can add tabs, we can drag them. Set flag\r\n                    self.start_drag = True\r\n                    tx, ty = tab.GetPosition()\r\n                    self.dragx = mposx - tx\r\n                    self.dragy = self.container_height - self.height\r\n                self.Refresh()\r\n\r\n            self.dragged_tab = tab\r\n\r\n    def OnMiddleUp(self, event):\r\n        mposx, mposy = event.GetPosition()\r\n\r\n        tab = self.FindTabAtPos(mposx, mposy)\r\n\r\n        if tab is None or not tab.closeable:  # if not able to close, return False\r\n            return False\r\n\r\n        index = self.tabs.index(tab)\r\n        ev = PageClosing(index)\r\n        wx.PostEvent(self.Parent, ev)\r\n\r\n        if ev.isVetoed():\r\n            return False\r\n\r\n        index = self.GetTabIndex(tab)\r\n        self.Parent.DeletePage(index)\r\n        wx.PostEvent(self.Parent, PageClosed(index=index))\r\n\r\n        sel = self.GetSelected()\r\n        if sel is not None:\r\n            wx.PostEvent(self.Parent, PageChanged(-1, sel))\r\n\r\n    def OnMotion(self, event):\r\n        \"\"\"\r\n        Determines what happens when the mouse moves. This handles primarily\r\n        dragging (region tab can be dragged) as well as checking if we are over\r\n        an actionable button.\r\n        \"\"\"\r\n        mposx, mposy = event.GetPosition()\r\n\r\n        if self.start_drag:\r\n            if not self.dragging:\r\n                if self.drag_trigger < 0:\r\n                    self.dragging = True\r\n                    self.drag_trigger = self.drag_trail\r\n                    self.CaptureMouse()\r\n                else:\r\n                    self.drag_trigger -= 1\r\n            if self.dragging:\r\n                # we wish to keep tab within tab container boundaries. To do\r\n                # this, we must detect when mouse moves outside of boundaries.\r\n                # Set hard limits to 0 and the size of tab container.\r\n                dtx = mposx - self.dragx\r\n                w, h = self.dragged_tab.GetSize()\r\n\r\n                dtx = max(dtx, 0)\r\n\r\n                if dtx + w > self.tab_container_width + self.inclination * 2:\r\n                    dtx = self.tab_container_width - w + self.inclination * 2\r\n\r\n                self.dragged_tab.SetPosition((dtx, self.dragy))\r\n\r\n                # we must modify the surrounding tabs\r\n                index = self.GetTabIndex(self.dragged_tab)\r\n\r\n                left_tab = self.GetTabAtLeft(index)\r\n                right_tab = self.GetTabAtRight(index)\r\n\r\n                if left_tab:\r\n                    lw, lh = left_tab.GetSize()\r\n                    lx, ly = left_tab.GetPosition()\r\n\r\n                    if lx + lw / 2 - self.inclination * 2 > dtx:\r\n                        self.SwitchTabs(index - 1, index, self.dragged_tab)\r\n\r\n                if right_tab:\r\n                    rw, rh = right_tab.GetSize()\r\n                    rx, ry = right_tab.GetPosition()\r\n\r\n                    if rx + rw / 2 + self.inclination * 2 < dtx + w:\r\n                        self.SwitchTabs(index + 1, index, self.dragged_tab)\r\n\r\n                self.UpdateTabsPosition(self.dragged_tab)\r\n                self.Refresh()\r\n            return\r\n\r\n        # If we aren't dragging, check for actionable buttons under mouse\r\n        self.CheckCloseHighlighted(mposx, mposy)\r\n        self.CheckAddHighlighted(mposx, mposy)\r\n        self.CheckTabPreview(mposx, mposy)\r\n\r\n        event.Skip()\r\n\r\n    def OnLeftUp(self, event):\r\n        \"\"\"Determines what happens when user left clicks (up)\"\"\"\r\n        mposx, mposy = event.GetPosition()\r\n        if self.start_drag and self.dragging:\r\n            self.dragging = False\r\n            self.start_drag = False\r\n            self.dragged_tab = None\r\n            self.drag_trigger = self.drag_trail\r\n            self.UpdateTabsPosition()\r\n            self.Refresh()\r\n\r\n            if self.HasCapture():\r\n                self.ReleaseMouse()\r\n\r\n            return\r\n\r\n        if self.start_drag:\r\n            self.start_drag = False\r\n            self.drag_trigger = self.drag_trail\r\n\r\n        # Checks if we selected the add button and, if True, returns\r\n        if self.CheckAddButton(mposx, mposy):\r\n            return\r\n\r\n        # If there are no tabs, don't waste time\r\n        if self.GetTabsCount() == 0:\r\n            return\r\n\r\n        # Gets selected tab (was set when user down clicked)\r\n        sel_tab = self.GetSelectedTab()\r\n\r\n        # Check if we selected close button for selected tab\r\n        if self.CheckTabClose(sel_tab, mposx, mposy):\r\n            return\r\n\r\n        # Check if we selected close button for all others\r\n        for tab in self.tabs:\r\n            if self.CheckTabClose(tab, mposx, mposy):\r\n                return\r\n\r\n    def DisableTab(self, tab, disabled=True):\r\n        tb_renderer = self.tabs[tab]\r\n        tb_renderer.disabled = disabled\r\n\r\n        self.Refresh()\r\n\r\n    def GetSelectedTab(self):\r\n        for tab in self.tabs:\r\n            if tab.GetSelected():\r\n                return tab\r\n        return None\r\n\r\n    def GetSelected(self):\r\n        for tab in self.tabs:\r\n            if tab.GetSelected():\r\n                return self.tabs.index(tab)\r\n        return None\r\n\r\n    def SetSelected(self, tabIndex):\r\n        \"\"\"Set tab as selected given its index\"\"\"\r\n        old_sel_tab = self.GetSelectedTab()\r\n        old_sel_tab.SetSelected(False)\r\n        self.tabs[tabIndex].SetSelected(True)\r\n        self.Refresh()\r\n\r\n    def CheckTabSelected(self, tab, x, y):\r\n        \"\"\"\r\n        Selects the tab at x, y. If the tab at x, y is already selected, simply\r\n        return true. Otherwise, perform TabHitTest and set tab at position to\r\n        selected\r\n        \"\"\"\r\n        old_sel_tab = self.GetSelectedTab()\r\n        if old_sel_tab == tab:\r\n            return True\r\n\r\n        if self.TabHitTest(tab, x, y):\r\n            if tab.disabled:\r\n                return\r\n            tab.SetSelected(True)\r\n            old_sel_tab.SetSelected(False)\r\n\r\n            ev = PageChanging(self.tabs.index(old_sel_tab), self.tabs.index(tab))\r\n            wx.PostEvent(self.Parent, ev)\r\n\r\n            if ev.isVetoed():\r\n                return False\r\n\r\n            self.Refresh()\r\n            sel_tab = self.tabs.index(tab)\r\n            self.Parent.SetSelection(sel_tab)\r\n\r\n            return True\r\n\r\n        return False\r\n\r\n    def CheckTabClose(self, tab, x, y):\r\n        \"\"\"\r\n        Determines if close button was selected for the given tab by comparing\r\n        x and y position with known close button region\r\n        \"\"\"\r\n        if not tab.closeable:  # if not able to close, return False\r\n            return False\r\n\r\n        region = tab.GetCloseButtonRegion()\r\n        posx, posy = tab.GetPosition()\r\n        region.Offset(round(posx), round(posy))\r\n\r\n        if region.Contains(x, y):\r\n            index = self.tabs.index(tab)\r\n            ev = PageClosing(index)\r\n            wx.PostEvent(self.Parent, ev)\r\n\r\n            if ev.isVetoed():\r\n                return False\r\n\r\n            index = self.GetTabIndex(tab)\r\n            self.Parent.DeletePage(index)\r\n            wx.PostEvent(self.Parent, PageClosed(index=index))\r\n\r\n            sel = self.GetSelected()\r\n            if sel is not None:\r\n                wx.PostEvent(self.Parent, PageChanged(-1, sel))\r\n\r\n            return True\r\n        return False\r\n\r\n    def CheckAddButton(self, x, y):\r\n        \"\"\"\r\n        Determines if add button was selected by comparing x and y position with\r\n        add button region\r\n        \"\"\"\r\n        if not self.show_add_button:  # if not able to add, return False\r\n            return\r\n\r\n        region = self.add_button.GetRegion()\r\n        ax, ay = self.add_button.GetPosition()\r\n        region.Offset(round(ax), round(ay))\r\n\r\n        if region.Contains(x, y):\r\n            ev = PageAdding()\r\n            wx.PostEvent(self.Parent, ev)\r\n            if ev.isVetoed():\r\n                return False\r\n\r\n            self.Parent.AddPage()\r\n            wx.PostEvent(self.Parent, PageAdded())\r\n            return True\r\n\r\n    def CheckCloseHighlighted(self, x, y):\r\n        \"\"\"\r\n        Checks if mouse pos at x, y is over a close button. If so, set the\r\n        close hovering flag for that tab\r\n        \"\"\"\r\n        dirty = False\r\n\r\n        for tab in self.tabs:\r\n            region = tab.GetCloseButtonRegion()\r\n            posx, posy = tab.GetPosition()\r\n            region.Offset(round(posx), round(posy))\r\n\r\n            if region.Contains(x, y):\r\n                if not tab.GetCloseButtonHoverStatus():\r\n                    tab.ShowCloseButtonHovering(True)\r\n                    dirty = True\r\n            else:\r\n                if tab.GetCloseButtonHoverStatus():\r\n                    tab.ShowCloseButtonHovering(False)\r\n                    dirty = True\r\n            if dirty:\r\n                self.Refresh()\r\n                break\r\n\r\n    def FindTabAtPos(self, x, y):\r\n        if self.GetTabsCount() == 0:\r\n            return None\r\n\r\n        # test current tab first\r\n        sel_tab = self.GetSelectedTab()\r\n        if self.TabHitTest(sel_tab, x, y):\r\n            return sel_tab\r\n\r\n        # test all other tabs next\r\n        for tab in self.tabs:\r\n            if self.TabHitTest(tab, x, y):\r\n                return tab\r\n\r\n        return None\r\n\r\n    def TabHitTest(self, tab, x, y):\r\n        \"\"\" Test if x and y are contained within a tabs region \"\"\"\r\n        tabRegion = tab.GetTabRegion()\r\n        tabPos = tab.GetPosition()\r\n        tabPosX, tabPosY = tabPos\r\n        tabRegion.Offset(round(tabPosX), round(tabPosY))\r\n\r\n        if tabRegion.Contains(x, y):\r\n            return True\r\n\r\n        return False\r\n\r\n    def GetTabAtLeft(self, tab_index):\r\n        return self.tabs[tab_index - 1] if tab_index > 0 else None\r\n\r\n    def GetTabAtRight(self, tab_index):\r\n        if tab_index < self.GetTabsCount() - 1:\r\n            return self.tabs[tab_index + 1]\r\n        else:\r\n            return None\r\n\r\n    def SwitchTabs(self, src, dst, dragged_tab=None):\r\n        self.tabs[src], self.tabs[dst] = self.tabs[dst], self.tabs[src]\r\n        self.UpdateTabsPosition(dragged_tab)\r\n        self.Parent.SwitchPages(src, dst)\r\n        self.Refresh()\r\n\r\n    def GetTabIndex(self, tab):\r\n        return self.tabs.index(tab)\r\n\r\n    def CheckTabPreview(self, mposx, mposy):\r\n        \"\"\"\r\n        Checks to see if we have a tab preview and sets up the timer for it\r\n        to display\r\n        \"\"\"\r\n        sFit = Fit.getInstance()\r\n        if not sFit.serviceFittingOptions[\"showTooltip\"] or False:\r\n            return\r\n\r\n        if self.preview_timer:\r\n            if self.preview_timer.IsRunning():\r\n                if self.preview_wnd:\r\n                    self.preview_timer.Stop()\r\n                return\r\n\r\n        if self.preview_wnd:\r\n            self.preview_wnd.Show(False)\r\n            del self.preview_wnd\r\n            self.preview_wnd = None\r\n\r\n        for tab in self.tabs:\r\n            if not tab.GetSelected():\r\n                if self.TabHitTest(tab, mposx, mposy):\r\n                    try:\r\n                        page = self.Parent.GetPage(self.GetTabIndex(tab))\r\n                        if hasattr(page, \"Snapshot\"):\r\n                            if not self.preview_timer:\r\n                                self.preview_timer = wx.Timer(\r\n                                    self, self.preview_timer_id)\r\n\r\n                            self.preview_tab = tab\r\n                            self.preview_timer.Start(500, True)\r\n                            break\r\n                    except (KeyboardInterrupt, SystemExit):\r\n                        raise\r\n                    except:\r\n                        pass\r\n\r\n    def CheckAddHighlighted(self, x, y):\r\n        \"\"\"\r\n        Checks to see if x, y are in add button region, and sets the highlight\r\n        flag\r\n        \"\"\"\r\n        if not self.show_add_button:\r\n            return\r\n\r\n        region = self.add_button.GetRegion()\r\n        ax, ay = self.add_button.GetPosition()\r\n        region.Offset(round(ax), round(ay))\r\n\r\n        if region.Contains(x, y):\r\n            if not self.add_button.IsHighlighted():\r\n                self.add_button.Highlight(True)\r\n                self.Refresh()\r\n        else:\r\n            if self.add_button.IsHighlighted():\r\n                self.add_button.Highlight(False)\r\n                self.Refresh()\r\n\r\n    def OnPaint(self, event):\r\n        mdc = wx.AutoBufferedPaintDC(self)\r\n\r\n        # if 'wxMac' in wx.PlatformInfo:\r\n        #     color = wx.Colour(0, 0, 0)\r\n        #     brush = wx.Brush(color)\r\n        #     # @todo: what needs to be changed with wxPheonix?\r\n        #     from Carbon.Appearance import kThemeBrushDialogBackgroundActive\r\n        #     brush.MacSetTheme(kThemeBrushDialogBackgroundActive)\r\n        # else:\r\n        color = wx.SystemSettings.GetColour(wx.SYS_COLOUR_3DFACE)\r\n        brush = wx.Brush(color)\r\n\r\n        if \"wxGTK\" not in wx.PlatformInfo:\r\n            mdc.SetBackground(brush)\r\n            mdc.Clear()\r\n\r\n        selected = None\r\n\r\n        if self.show_add_button:\r\n            ax, ay = self.add_button.GetPosition()\r\n            mdc.DrawBitmap(self.add_button.Render(), round(ax), round(ay), True)\r\n\r\n        for i in range(len(self.tabs) - 1, -1, -1):\r\n            tab = self.tabs[i]\r\n            posx, posy = tab.GetPosition()\r\n\r\n            if not tab.IsSelected():\r\n                # drop shadow first\r\n                mdc.DrawBitmap(self.fxBmps[tab], round(posx), (posy), True)\r\n                bmp = tab.Render()\r\n                img = bmp.ConvertToImage()\r\n                img = img.AdjustChannels(1, 1, 1, 0.85)\r\n                bmp = wx.Bitmap(img)\r\n                mdc.DrawBitmap(bmp, round(posx), (posy), True)\r\n\r\n                mdc.SetDeviceOrigin(round(posx), round(posy))\r\n                tab.DrawText(mdc)\r\n                mdc.SetDeviceOrigin(0, 0)\r\n            else:\r\n                selected = tab\r\n\r\n        # we draw selected tab separately (instead of in else) so as to not hide\r\n        # the front bit behind the preceding tab\r\n        if selected:\r\n            posx, posy = selected.GetPosition()\r\n            # drop shadow first\r\n            mdc.DrawBitmap(self.fxBmps[selected], round(posx), round(posy), True)\r\n\r\n            bmp = selected.Render()\r\n\r\n            if self.dragging:\r\n                img = bmp.ConvertToImage()\r\n                img = img.AdjustChannels(1.2, 1.2, 1.2, 0.7)\r\n                bmp = wx.Bitmap(img)\r\n\r\n            mdc.DrawBitmap(bmp, round(posx), round(posy), True)\r\n\r\n            mdc.SetDeviceOrigin(round(posx), round(posy))\r\n            selected.DrawText(mdc)\r\n            mdc.SetDeviceOrigin(0, 0)\r\n\r\n    def OnErase(self, event):\r\n        pass\r\n\r\n    def UpdateTabFX(self):\r\n        \"\"\" Updates tab drop shadow bitmap \"\"\"\r\n        self.fxBmps.clear()\r\n        for tab in self.tabs:\r\n            tabW, tabH = tab.tab_size\r\n            self.fxBmps[tab] = self.GetTabFx(tabW, self.height + 1)\r\n\r\n    @lru_cache(maxsize=50)\r\n    def GetTabFx(self, width, height):\r\n        renderer = _TabRenderer((width, height))\r\n        fx_bmp = renderer.Render()\r\n        img = fx_bmp.ConvertToImage()\r\n        if not img.HasAlpha():\r\n            img.InitAlpha()\r\n        img = img.Blur(2)\r\n        img = img.AdjustChannels(0.3, 0.3, 0.3, 0.35)\r\n        return wx.Bitmap(img)\r\n\r\n    def AddTab(self, title=wx.EmptyString, img=None, closeable=False):\r\n        self.ClearTabsSelected()\r\n\r\n        tab_renderer = _TabRenderer((200, self.height), title, img, closeable)\r\n        tab_renderer.SetSelected(True)\r\n\r\n        self.tabs.append(tab_renderer)\r\n        self.AdjustTabsSize()\r\n        self.Refresh()\r\n\r\n    def ClearTabsSelected(self):\r\n        for tab in self.tabs:\r\n            tab.SetSelected(False)\r\n\r\n    def DeleteTab(self, tab):\r\n        tab_renderer = self.tabs[tab]\r\n        was_selected = tab_renderer.GetSelected()\r\n        self.tabs.remove(tab_renderer)\r\n\r\n        if tab_renderer:\r\n            del tab_renderer\r\n\r\n        # determine our new selection\r\n        if was_selected and self.GetTabsCount() > 0:\r\n            if tab > self.GetTabsCount() - 1:\r\n                self.tabs[self.GetTabsCount() - 1].SetSelected(True)\r\n            else:\r\n                self.tabs[tab].SetSelected(True)\r\n\r\n        self.AdjustTabsSize()\r\n        self.Refresh()\r\n\r\n    def GetTabsCount(self):\r\n        return len(self.tabs)\r\n\r\n    def AdjustTabsSize(self):\r\n        \"\"\"\r\n        Adjust tab sizes to ensure that they are all consistent and can fit into\r\n        the tab container.\r\n        \"\"\"\r\n        if self.tabWidthMode == 1:\r\n            if self.GetTabsCount() > 0:\r\n                availableW = self.tab_container_width\r\n                overlapSavedW = max(0, len(self.tabs)) * self.inclination * 2\r\n                tabsGrouped = {}\r\n                for tab in self.tabs:\r\n                    tabW, _ = tab.GetMinSize()\r\n                    tabsGrouped.setdefault(math.ceil(tabW), []).append(tab)\r\n                clippedTabs = []\r\n                clipW = max(tabsGrouped, default=0)\r\n\r\n                def getUnclippedW():\r\n                    unclippedW = 0\r\n                    for w, tabs in tabsGrouped.items():\r\n                        unclippedW += w * len(tabs)\r\n                    return unclippedW\r\n                while tabsGrouped:\r\n                    # Check if we're within width limit\r\n                    neededW = 0\r\n                    for w, tabs in tabsGrouped.items():\r\n                        neededW += w * len(tabs)\r\n                    if clippedTabs:\r\n                        neededW += clipW * len(clippedTabs)\r\n                    if neededW <= availableW + overlapSavedW:\r\n                        break\r\n                    # If we're not, extract widest tab group and mark it for clipping\r\n                    currentTabs = tabsGrouped.pop(max(tabsGrouped))\r\n                    clippedTabs.extend(currentTabs)\r\n                    proposedClipWidth = math.floor((availableW + overlapSavedW - getUnclippedW()) / len(clippedTabs))\r\n                    if not tabsGrouped or proposedClipWidth >= max(tabsGrouped, default=0):\r\n                        clipW = max(0, proposedClipWidth)\r\n                        break\r\n                    else:\r\n                        clipW = max(tabsGrouped)\r\n                # Assign width for unclipped tabs\r\n                for w, tabs in tabsGrouped.items():\r\n                    for tab in tabs:\r\n                        tab.SetSize((w, self.height))\r\n                if clippedTabs:\r\n                    # Some width remains to be used due to rounding to integer\r\n                    extraWTotal = availableW + overlapSavedW - getUnclippedW() - clipW * len(clippedTabs)\r\n                    extraWPerTab = math.ceil(extraWTotal / len(clippedTabs))\r\n                    # Assign width for clipped tabs\r\n                    for tab in clippedTabs:\r\n                        extraW = min(extraWTotal, extraWPerTab)\r\n                        extraWTotal -= extraW\r\n                        tab.SetSize((clipW + extraW, self.height))\r\n        else:\r\n            # first we loop through our tabs and calculate the the largest tab. This\r\n            # is the size that we will base our calculations off\r\n            max_width = 100  # Tab should be at least 100\r\n            for tab in self.tabs:\r\n                mw, _ = tab.GetMinSize()  # Tab min size includes tab contents\r\n                max_width = max(mw, max_width)\r\n\r\n            tabWidth = 0\r\n            # Divide tab container by number of tabs and add inclination. This will\r\n            # return the ideal max size for the containers size\r\n            if self.GetTabsCount() > 0:\r\n                dx = self.tab_container_width / self.GetTabsCount() + self.inclination * 2\r\n                tabWidth = min(dx, max_width)\r\n\r\n            # Apply new size to all tabs\r\n            for tab in self.tabs:\r\n                tab.SetSize((tabWidth, self.height))\r\n\r\n        # update drop shadow based on new sizes\r\n        self.UpdateTabFX()\r\n        self.UpdateTabsPosition()\r\n\r\n    def UpdateTabsPosition(self, skip_tab=None):\r\n        tabsWidth = 0\r\n        for tab in self.tabs:\r\n            tabsWidth += tab.tab_width - self.inclination * 2\r\n\r\n        pos = tabsWidth\r\n        selected = None\r\n        for i in range(len(self.tabs) - 1, -1, -1):\r\n            tab = self.tabs[i]\r\n            width = tab.tab_width - self.inclination * 2\r\n            pos -= width\r\n            if not tab.IsSelected():\r\n                tab.SetPosition((pos, self.container_height - self.height))\r\n            else:\r\n                selected = tab\r\n                selpos = pos\r\n\r\n        if selected is not skip_tab:\r\n            selected.SetPosition((selpos, self.container_height - self.height))\r\n\r\n        self.add_button.SetPosition((round(tabsWidth) + self.inclination * 2,\r\n                                     self.container_height - self.height / 2 - self.add_button.GetHeight() / 3))\r\n\r\n    def OnLeaveWindow(self, event):\r\n        if self.start_drag and not self.dragging:\r\n            self.dragging = False\r\n            self.start_drag = False\r\n            self.dragged_tab = None\r\n            self.drag_trigger = self.drag_trail\r\n            if self.HasCapture():\r\n                self.ReleaseMouse()\r\n\r\n        if self.preview_wnd:\r\n            self.preview_wnd.Show(False)\r\n            del self.preview_wnd\r\n            self.preview_wnd = None\r\n        event.Skip()\r\n\r\n    def OnTimer(self, event):\r\n        mposx, mposy = wx.GetMousePosition()\r\n        cposx, cposy = self.ScreenToClient((mposx, mposy))\r\n\r\n        if self.FindTabAtPos(cposx, cposy) == self.preview_tab:\r\n            if not self.preview_tab.GetSelected():\r\n                page = self.Parent.GetPage(self.GetTabIndex(self.preview_tab))\r\n                if page.Snapshot():\r\n                    self.preview_wnd = PFNotebookPagePreview(\r\n                        self,\r\n                        (mposx + 3, mposy + 3),\r\n                        page.Snapshot(),\r\n                        self.preview_tab.text)\r\n                    self.preview_wnd.Show()\r\n        event.Skip()\r\n\r\n\r\nclass PFNotebookPagePreview(wx.Frame):\r\n    def __init__(self, parent, pos, bitmap, title):\r\n        super().__init__(parent, id=wx.ID_ANY, title=wx.EmptyString, pos=pos,\r\n                         size=wx.DefaultSize, style=wx.NO_BORDER |\r\n                                                    wx.FRAME_NO_TASKBAR |\r\n                                                    wx.STAY_ON_TOP)\r\n        self.SetBackgroundStyle(wx.BG_STYLE_PAINT)\r\n        self.title = title\r\n        self.bitmap = bitmap\r\n        self.SetSize((bitmap.GetWidth(), bitmap.GetHeight()))\r\n        self.Bind(wx.EVT_PAINT, self.OnWindowPaint)\r\n        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnWindowEraseBk)\r\n        self.Bind(wx.EVT_TIMER, self.OnTimer)\r\n\r\n        self.timer = wx.Timer(self, wx.ID_ANY)\r\n        self.timerSleep = None\r\n        self.timerSleepId = wx.NewId()\r\n        self.direction = 1\r\n        self.padding = 15\r\n        self.transp = 0\r\n\r\n        hfont = wx.Font(fonts.NORMAL, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False)\r\n        self.SetFont(hfont)\r\n\r\n        tx, ty = self.GetTextExtent(self.title)\r\n        tx += self.padding * 2\r\n\r\n        if bitmap.GetWidth() < tx:\r\n            width = tx\r\n        else:\r\n            width = bitmap.GetWidth()\r\n\r\n        self.SetSize((width, bitmap.GetHeight() + 16))\r\n\r\n        self.SetTransparent(0)\r\n        self.Refresh()\r\n\r\n    def OnTimer(self, event):\r\n        self.transp += 20 * self.direction\r\n\r\n        if self.transp > 220:\r\n            self.transp = 220\r\n            self.timer.Stop()\r\n\r\n        if self.transp < 0:\r\n            self.transp = 0\r\n            self.timer.Stop()\r\n            super().Show(False)\r\n            self.Destroy()\r\n            return\r\n        self.SetTransparent(self.transp)\r\n\r\n    def RaiseParent(self):\r\n        wnd = self\r\n        lastwnd = None\r\n        while wnd is not None:\r\n            lastwnd = wnd\r\n            wnd = wnd.Parent\r\n        if lastwnd:\r\n            lastwnd.Raise()\r\n\r\n    def Show(self, showWnd=True):\r\n        if showWnd:\r\n            super().Show(showWnd)\r\n            self.RaiseParent()\r\n            self.direction = 1\r\n            self.timer.Start(10)\r\n        else:\r\n            self.direction = -1\r\n            self.timer.Start(10)\r\n\r\n    def OnWindowEraseBk(self, event):\r\n        pass\r\n\r\n    def OnWindowPaint(self, event):\r\n        rect = self.GetRect()\r\n        canvas = wx.Bitmap(round(rect.width), round(rect.height))\r\n        mdc = wx.BufferedPaintDC(self)\r\n        mdc.SelectObject(canvas)\r\n        color = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n        mdc.SetBackground(wx.Brush(color))\r\n        mdc.Clear()\r\n\r\n        font = wx.Font(11, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False)\r\n        mdc.SetFont(font)\r\n\r\n        x, y = mdc.GetTextExtent(self.title)\r\n\r\n        mdc.SetBrush(wx.Brush(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT)))\r\n        mdc.DrawRectangle(0, 0, round(rect.width), 16)\r\n\r\n        mdc.SetTextForeground(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))\r\n\r\n        mdc.DrawBitmap(self.bitmap, 0, 16)\r\n\r\n        mdc.SetPen(wx.Pen(\"#000000\", width=1))\r\n        mdc.SetBrush(wx.TRANSPARENT_BRUSH)\r\n\r\n        mdc.DrawRectangle(0, 16, round(rect.width), round(rect.height - 16))\r\n"
  },
  {
    "path": "gui/contextMenu.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nfrom abc import ABCMeta, abstractmethod\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nfrom service.settings import ContextMenuSettings\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass ContextMenu(metaclass=ABCMeta):\r\n\r\n    menus = []\r\n    _ids = []  # [wx.NewId() for x in xrange(200)]  # init with decent amount\r\n    _idxid = -1\r\n    visibilitySetting = None\r\n\r\n    @classmethod\r\n    def register(cls):\r\n        pyfalog.debug('registering context menu class {}'.format(cls.__name__))\r\n        ContextMenu.menus.append(cls)\r\n\r\n    @classmethod\r\n    def hasMenu(cls, callingWindow, mainItem, selection, *fullContexts):\r\n        for i, fullContext in enumerate(fullContexts):\r\n            srcContext = fullContext[0]\r\n            for menuHandler in cls.menus:\r\n                m = menuHandler()\r\n                if m._baseDisplay(callingWindow, srcContext, mainItem, selection):\r\n                    return True\r\n            return False\r\n\r\n    @classmethod\r\n    def getMenu(cls, callingWindow, mainItem, selection, *fullContexts):\r\n        \"\"\"\r\n        getMenu returns a menu that is used with wx.PopupMenu.\r\n\r\n        callingWindow: window (in wx' sense) which requested menu\r\n        mainItem: usually, provides item which was clicked. Useful for single-\r\n            item actions when user has multiple items selected\r\n        selection: provides a list of what was selected. If only 1 item was\r\n            selected, it's is a 1-item list or tuple. Can also be None for\r\n            contexts without selection, such as statsPane or projected view\r\n        fullContexts: a number of tuples of the following tuple:\r\n            srcContext - context were menu was spawned, eg: projectedFit,\r\n                         cargoItem, etc\r\n            itemContext - usually the name of the item's category\r\n\r\n            eg:\r\n                (('fittingModule', 'Module'), ('fittingShip', 'Ship'))\r\n                (('marketItemGroup', 'Implant'),)\r\n                (('fittingShip', 'Ship'),)\r\n        \"\"\"\r\n        ContextMenu._idxid = -1\r\n        debug_start = len(ContextMenu._ids)\r\n\r\n        # Control being pressed forces all hidden menu items to be shown\r\n        visibilitySettingOverride = wx.GetMouseState().GetModifiers() == wx.MOD_CONTROL\r\n        cmSettings = ContextMenuSettings.getInstance()\r\n\r\n        rootMenu = wx.Menu()\r\n        rootMenu.info = {}\r\n        rootMenu.selection = (selection,) if not hasattr(selection, \"__iter__\") else selection\r\n        rootMenu.mainItem = mainItem\r\n        empty = True\r\n        for i, fullContext in enumerate(fullContexts):\r\n            display_amount = 0\r\n            srcContext = fullContext[0]\r\n            try:\r\n                itemContext = fullContext[1]\r\n            except IndexError:\r\n                itemContext = None\r\n            for menuHandler in cls.menus:\r\n                # loop through registered menus\r\n                m = menuHandler()\r\n                if m.visibilitySetting:\r\n                    visible = visibilitySettingOverride or cmSettings.get(m.visibilitySetting)\r\n                else:\r\n                    visible = True\r\n                if visible and m._baseDisplay(callingWindow, srcContext, mainItem, selection):\r\n                    display_amount += 1\r\n                    texts = m._baseGetText(callingWindow, itemContext, mainItem, selection)\r\n\r\n                    if isinstance(texts, str):\r\n                        texts = (texts,)\r\n\r\n                    bitmap = m._baseGetBitmap(callingWindow, srcContext, mainItem, selection)\r\n                    multiple = not isinstance(bitmap, wx.Bitmap)\r\n                    for it, text in enumerate(texts):\r\n                        id = ContextMenu.nextID()\r\n                        check = m.isChecked(it)\r\n                        rootItem = wx.MenuItem(rootMenu, id, text, kind=wx.ITEM_NORMAL if check is None else wx.ITEM_CHECK)\r\n                        rootMenu.info[id] = (m, callingWindow, fullContext, it)\r\n\r\n                        sub = m._baseGetSubMenu(callingWindow, srcContext, mainItem, selection, rootMenu, it, rootItem)\r\n\r\n                        if sub is None:\r\n                            # if there is no sub menu, bind the handler to the rootItem\r\n                            rootMenu.Bind(wx.EVT_MENU, ContextMenu.handler, rootItem)\r\n                        elif sub:\r\n                            # If sub exists and is not False, set submenu.\r\n                            # Sub might return False when we have a mix of\r\n                            # single menu items and submenus (see: damage profile\r\n                            # context menu)\r\n                            #\r\n                            # If there is a submenu, it is expected that the sub\r\n                            # logic take care of it's own bindings, including for\r\n                            # any single root items. No binding is done here\r\n                            #\r\n                            # It is important to remember that when binding sub\r\n                            # menu items, the menu to bind to depends on platform.\r\n                            # Windows should bind to rootMenu, and all other\r\n                            # platforms should bind to sub menu. See existing\r\n                            # implementations for examples.\r\n                            rootItem.SetSubMenu(sub)\r\n\r\n                        if bitmap is not None:\r\n                            if multiple:\r\n                                bp = bitmap[it]\r\n                                if bp:\r\n                                    rootItem.SetBitmap(bp)\r\n                            else:\r\n                                rootItem.SetBitmap(bitmap)\r\n\r\n                        rootMenu.Append(rootItem)\r\n\r\n                        if check is not None:\r\n                            rootItem.Check(check)\r\n                        rootItem.Enable(m.enabled)\r\n\r\n                    empty = False\r\n\r\n            if display_amount > 0 and i != len(fullContexts) - 1:\r\n                rootMenu.AppendSeparator()\r\n\r\n        debug_end = len(ContextMenu._ids)\r\n        if debug_end - debug_start:\r\n            pyfalog.debug(\"{} new IDs created for this menu\".format(debug_end - debug_start))\r\n\r\n        return rootMenu if empty is False else None\r\n\r\n    @staticmethod\r\n    def handler(event):\r\n        menu = event.EventObject\r\n        stuff = menu.info.get(event.Id)\r\n        if stuff is not None:\r\n            menuHandler, callingWindow, context, i = stuff\r\n            selection = menu.selection\r\n            mainItem = menu.mainItem\r\n            if not hasattr(selection, \"__iter__\"):\r\n                selection = (selection,)\r\n\r\n            menuHandler._baseActivate(callingWindow, context, mainItem, selection, i)\r\n        else:\r\n            event.Skip()\r\n\r\n    @staticmethod\r\n    def nextID():\r\n        \"\"\"\r\n        Fetches an ID from the pool of IDs allocated to Context Menu.\r\n        If we don't have enough ID's to fulfill request, create new\r\n        ID and add it to the pool.\r\n\r\n        See GH Issue #589.\r\n        Has to be static method to properly handle modifications of primitives from subclasses (_idxid).\r\n        \"\"\"\r\n        ContextMenu._idxid += 1\r\n\r\n        if ContextMenu._idxid >= len(ContextMenu._ids):  # We don't ahve an ID for this index, create one\r\n            ContextMenu._ids.append(wx.NewId())\r\n\r\n        return ContextMenu._ids[ContextMenu._idxid]\r\n\r\n    def isChecked(self, i):\r\n        \"\"\"If menu item is toggleable, this should return bool value\"\"\"\r\n        return None\r\n\r\n    @property\r\n    def enabled(self):\r\n        \"\"\"If menu item is enabled. Allows an item to display, but not be selected\"\"\"\r\n        return True\r\n\r\n    @abstractmethod\r\n    def _baseDisplay(self, callingWindow, context, mainItem, selection):\r\n        raise NotImplementedError\r\n\r\n    @abstractmethod\r\n    def _baseGetBitmap(self, callingWindow, context, mainItem, selection):\r\n        raise NotImplementedError\r\n\r\n    @abstractmethod\r\n    def _baseGetText(self, callingWindow, context, mainItem, selection):\r\n        \"\"\"\r\n        getText should be implemented in child classes, and should return either\r\n        a string that will make up a menu item label or a list of strings which\r\n        will make numerous menu items.\r\n\r\n        These menu items will be added to the root menu\r\n        \"\"\"\r\n        raise NotImplementedError\r\n\r\n    @abstractmethod\r\n    def _baseGetSubMenu(self, callingWindow, context, mainItem, selection, rootMenu, i, pitem):\r\n        raise NotImplementedError\r\n\r\n    @abstractmethod\r\n    def _baseActivate(self, callingWindow, fullContext, mainItem, selection, i):\r\n        raise NotImplementedError\r\n\r\n\r\nclass ContextMenuUnconditional(ContextMenu, metaclass=ABCMeta):\r\n    \"\"\"\r\n    Should be used for context menus which do not depend on which item\r\n    has been clicked and what current selection is.\r\n    \"\"\"\r\n\r\n    @abstractmethod\r\n    def display(self, callingWindow, context):\r\n        raise NotImplementedError\r\n\r\n    def getBitmap(self, callingWindow, context):\r\n        return\r\n\r\n    @abstractmethod\r\n    def getText(self, callingWindow, context):\r\n        raise NotImplementedError\r\n\r\n    def getSubMenu(self, callingWindow, context, rootMenu, i, pitem):\r\n        return\r\n\r\n    def activate(self, callingWindow, fullContext, i):\r\n        return\r\n\r\n    def _baseDisplay(self, callingWindow, context, mainItem, selection):\r\n        return self.display(callingWindow, context)\r\n\r\n    def _baseGetBitmap(self, callingWindow, context, mainItem, selection):\r\n        return self.getBitmap(callingWindow, context)\r\n\r\n    def _baseGetText(self, callingWindow, context, mainItem, selection):\r\n        return self.getText(callingWindow, context)\r\n\r\n    def _baseGetSubMenu(self, callingWindow, context, mainItem, selection, rootMenu, i, pitem):\r\n        return self.getSubMenu(callingWindow, context, rootMenu, i, pitem)\r\n\r\n    def _baseActivate(self, callingWindow, fullContext, mainItem, selection, i):\r\n        return self.activate(callingWindow, fullContext, i)\r\n\r\n\r\nclass ContextMenuSingle(ContextMenu, metaclass=ABCMeta):\r\n    \"\"\"\r\n    Should be used for context menus which depend on\r\n    which item was clicked, but not on selection.\r\n    \"\"\"\r\n\r\n    @abstractmethod\r\n    def display(self, callingWindow, context, mainItem):\r\n        raise NotImplementedError\r\n\r\n    def getBitmap(self, callingWindow, context, mainItem):\r\n        return\r\n\r\n    @abstractmethod\r\n    def getText(self, callingWindow, context, mainItem):\r\n        raise NotImplementedError\r\n\r\n    def getSubMenu(self, callingWindow, context, mainItem, rootMenu, i, pitem):\r\n        return\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, i):\r\n        return\r\n\r\n    def _baseDisplay(self, callingWindow, context, mainItem, selection):\r\n        return self.display(callingWindow, context, mainItem)\r\n\r\n    def _baseGetBitmap(self, callingWindow, context, mainItem, selection):\r\n        return self.getBitmap(callingWindow, context, mainItem)\r\n\r\n    def _baseGetText(self, callingWindow, context, mainItem, selection):\r\n        return self.getText(callingWindow, context, mainItem)\r\n\r\n    def _baseGetSubMenu(self, callingWindow, context, mainItem, selection, rootMenu, i, pitem):\r\n        return self.getSubMenu(callingWindow, context, mainItem, rootMenu, i, pitem)\r\n\r\n    def _baseActivate(self, callingWindow, fullContext, mainItem, selection, i):\r\n        return self.activate(callingWindow, fullContext, mainItem, i)\r\n\r\n\r\nclass ContextMenuSelection(ContextMenu, metaclass=ABCMeta):\r\n    \"\"\"\r\n    Should be used for context menus which depend on which items are\r\n    selected. Item clicked is used as fallback if no selection provided.\r\n    \"\"\"\r\n\r\n    @abstractmethod\r\n    def display(self, callingWindow, context, selection):\r\n        raise NotImplementedError\r\n\r\n    def getBitmap(self, callingWindow, context, selection):\r\n        return\r\n\r\n    @abstractmethod\r\n    def getText(self, callingWindow, context, selection):\r\n        raise NotImplementedError\r\n\r\n    def getSubMenu(self, callingWindow, context, selection, rootMenu, i, pitem):\r\n        return\r\n\r\n    def activate(self, callingWindow, fullContext, selection, i):\r\n        return\r\n\r\n    def _baseDisplay(self, callingWindow, context, mainItem, selection):\r\n        selection = self.__getSelection(selection, mainItem)\r\n        return self.display(callingWindow, context, selection)\r\n\r\n    def _baseGetBitmap(self, callingWindow, context, mainItem, selection):\r\n        selection = self.__getSelection(selection, mainItem)\r\n        return self.getBitmap(callingWindow, context, selection)\r\n\r\n    def _baseGetText(self, callingWindow, context, mainItem, selection):\r\n        selection = self.__getSelection(selection, mainItem)\r\n        return self.getText(callingWindow, context, selection)\r\n\r\n    def _baseGetSubMenu(self, callingWindow, context, mainItem, selection, rootMenu, i, pitem):\r\n        selection = self.__getSelection(selection, mainItem)\r\n        return self.getSubMenu(callingWindow, context, selection, rootMenu, i, pitem)\r\n\r\n    def _baseActivate(self, callingWindow, fullContext, mainItem, selection, i):\r\n        selection = self.__getSelection(selection, mainItem)\r\n        return self.activate(callingWindow, fullContext, selection, i)\r\n\r\n    def __getSelection(self, selection, mainItem):\r\n        if mainItem is not None and mainItem not in selection:\r\n            selection.append(mainItem)\r\n        return selection\r\n\r\n\r\nclass ContextMenuCombined(ContextMenu, metaclass=ABCMeta):\r\n    \"\"\"\r\n    Should be used for context menus which depend on both which\r\n    item has been clicked and which items are selected.\r\n    \"\"\"\r\n\r\n    @abstractmethod\r\n    def display(self, callingWindow, context, mainItem, selection):\r\n        raise NotImplementedError\r\n\r\n    def getBitmap(self, callingWindow, context, mainItem, selection):\r\n        return\r\n\r\n    @abstractmethod\r\n    def getText(self, callingWindow, context, mainItem, selection):\r\n        raise NotImplementedError\r\n\r\n    def getSubMenu(self, callingWindow, context, mainItem, selection, rootMenu, i, pitem):\r\n        return\r\n\r\n    def activate(self, callingWindow, fullContext, mainItem, selection, i):\r\n        return\r\n\r\n    def _baseDisplay(self, callingWindow, context, mainItem, selection):\r\n        selection = self.__getSelection(selection, mainItem)\r\n        return self.display(callingWindow, context, mainItem, selection)\r\n\r\n    def _baseGetBitmap(self, callingWindow, context, mainItem, selection):\r\n        selection = self.__getSelection(selection, mainItem)\r\n        return self.getBitmap(callingWindow, context, mainItem, selection)\r\n\r\n    def _baseGetText(self, callingWindow, context, mainItem, selection):\r\n        selection = self.__getSelection(selection, mainItem)\r\n        return self.getText(callingWindow, context, mainItem, selection)\r\n\r\n    def _baseGetSubMenu(self, callingWindow, context, mainItem, selection, rootMenu, i, pitem):\r\n        selection = self.__getSelection(selection, mainItem)\r\n        return self.getSubMenu(callingWindow, context, mainItem, selection, rootMenu, i, pitem)\r\n\r\n    def _baseActivate(self, callingWindow, fullContext, mainItem, selection, i):\r\n        selection = self.__getSelection(selection, mainItem)\r\n        return self.activate(callingWindow, fullContext, mainItem, selection, i)\r\n\r\n    def __getSelection(self, selection, mainItem):\r\n        if mainItem is not None and mainItem not in selection:\r\n            selection.append(mainItem)\r\n        return selection\r\n\r\n\r\nimport gui.builtinContextMenus\r\n"
  },
  {
    "path": "gui/copySelectDialog.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Lucas Thode\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom collections import OrderedDict\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom eos.db import getFit\r\nfrom gui.utils.clipboard import toClipboard\r\nfrom service.const import PortDnaOptions, PortEftOptions, PortMultiBuyOptions\r\nfrom service.port import EfsPort, Port\r\nfrom service.settings import SettingsProvider\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass CopySelectDialog(wx.Dialog):\r\n    copyFormatEft = 0\r\n    copyFormatXml = 1\r\n    copyFormatDna = 2\r\n    copyFormatEsi = 3\r\n    copyFormatMultiBuy = 4\r\n    copyFormatEfs = 5\r\n    copyFormatFitStats = 6\r\n\r\n    def __init__(self, parent):\r\n        self.MULTIBUY_OPTIONS = (\r\n            (PortMultiBuyOptions.LOADED_CHARGES, _t('Loaded Charges'), _t('Export charges loaded into modules'), True),\r\n            (PortMultiBuyOptions.IMPLANTS, _t('Implants'), _t('Export implants'), False),\r\n            (PortMultiBuyOptions.BOOSTERS, _t('Boosters'), _t('Export boosters'), False),\r\n            (PortMultiBuyOptions.CARGO, _t('Cargo'), _t('Export cargo contents'), True),\r\n            (PortMultiBuyOptions.OPTIMIZE_PRICES, _t('Optimize Prices'), _t('Replace items by cheaper alternatives'), False),\r\n        )\r\n        self.EFT_OPTIONS = (\r\n            (PortEftOptions.LOADED_CHARGES, _t('Loaded Charges'), _t('Export charges loaded into modules'), True),\r\n            (PortEftOptions.MUTATIONS, _t('Mutated Attributes'), _t('Export mutated modules\\' stats'), True),\r\n            (PortEftOptions.IMPLANTS, _t('Implants'), _t('Export implants'), True),\r\n            (PortEftOptions.BOOSTERS, _t('Boosters'), _t('Export boosters'), True),\r\n            (PortEftOptions.CARGO, _t('Cargo'), _t('Export cargo hold contents'), True))\r\n        self.DNA_OPTIONS = (\r\n            (PortDnaOptions.FORMATTING, _t('Formatting Tags'), _t('Include formatting tags to paste fit directly into corp bulletins, MOTD, etc.'), True),\r\n        )\r\n\r\n        super().__init__(parent, id=wx.ID_ANY, title=_t(\"Select a format\"), size=(-1, -1), style=wx.DEFAULT_DIALOG_STYLE)\r\n\r\n        self.CopySelectDict = {\r\n            CopySelectDialog.copyFormatEft: self.exportEft,\r\n            CopySelectDialog.copyFormatXml: self.exportXml,\r\n            CopySelectDialog.copyFormatDna: self.exportDna,\r\n            CopySelectDialog.copyFormatEsi: self.exportEsi,\r\n            CopySelectDialog.copyFormatMultiBuy: self.exportMultiBuy,\r\n            CopySelectDialog.copyFormatEfs: self.exportEfs,\r\n            CopySelectDialog.copyFormatFitStats: self.exportFitStats\r\n        }\r\n\r\n        self.mainFrame = parent\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.copyFormats = OrderedDict((\r\n            (\"EFT\", (CopySelectDialog.copyFormatEft, self.EFT_OPTIONS)),\r\n            (\"MultiBuy\", (CopySelectDialog.copyFormatMultiBuy, self.MULTIBUY_OPTIONS)),\r\n            (\"ESI\", (CopySelectDialog.copyFormatEsi, None)),\r\n            (\"DNA\", (CopySelectDialog.copyFormatDna, self.DNA_OPTIONS)),\r\n            (\"EFS\", (CopySelectDialog.copyFormatEfs, None)),\r\n            (\"Stats\", (CopySelectDialog.copyFormatFitStats, None)),\r\n            # (\"XML\", (CopySelectDialog.copyFormatXml, None)),\r\n        ))\r\n\r\n        defaultFormatOptions = {}\r\n        for formatId, formatOptions in self.copyFormats.values():\r\n            if formatOptions is None:\r\n                continue\r\n            defaultFormatOptions[formatId] = {opt[0]: opt[3] for opt in formatOptions}\r\n\r\n        self.settings = SettingsProvider.getInstance().getSettings(\"pyfaExport\", {\"format\": self.copyFormatEft, \"options\": defaultFormatOptions})\r\n        # Options used to be stored as int (EFT export options only),\r\n        # overwrite them with new format when needed\r\n        if isinstance(self.settings[\"options\"], int):\r\n            self.settings[\"options\"] = defaultFormatOptions\r\n\r\n        self.options = {}\r\n\r\n        initialized = False\r\n        self.copyFormat = self.copyFormatEft\r\n        for formatName, formatData in self.copyFormats.items():\r\n            formatId, formatOptions = formatData\r\n            if not initialized:\r\n                rdo = wx.RadioButton(self, wx.ID_ANY, formatName, style=wx.RB_GROUP)\r\n                initialized = True\r\n            else:\r\n                rdo = wx.RadioButton(self, wx.ID_ANY, formatName)\r\n            rdo.Bind(wx.EVT_RADIOBUTTON, self.Selected)\r\n            if self.settings['format'] == formatId:\r\n                rdo.SetValue(True)\r\n                self.copyFormat = formatId\r\n            mainSizer.Add(rdo, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n            if formatOptions:\r\n                bsizer = wx.BoxSizer(wx.VERTICAL)\r\n                self.options[formatId] = {}\r\n\r\n                for optId, optName, optDesc, _ in formatOptions:\r\n                    checkbox = wx.CheckBox(self, -1, optName)\r\n                    if optDesc:\r\n                        checkbox.SetToolTip(wx.ToolTip(optDesc))\r\n                    self.options[formatId][optId] = checkbox\r\n                    if self.settings['options'].get(formatId, {}).get(optId, defaultFormatOptions.get(formatId, {}).get(optId)):\r\n                        checkbox.SetValue(True)\r\n                    bsizer.Add(checkbox, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 3)\r\n                mainSizer.Add(bsizer, 0, wx.EXPAND | wx.LEFT, 20)\r\n\r\n        buttonSizer = self.CreateButtonSizer(wx.OK | wx.CANCEL)\r\n        if buttonSizer:\r\n            mainSizer.Add(buttonSizer, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.toggleOptions()\r\n        self.SetSizer(mainSizer)\r\n        self.Fit()\r\n        self.Center()\r\n\r\n    def Validate(self):\r\n        # Since this dialog is shown through as ShowModal(),\r\n        # we hook into the Validate function to veto the closing of the dialog until we're ready.\r\n        # This always returns False, and when we're ready will EndModal()\r\n        selected = self.GetSelected()\r\n        options = self.GetOptions()\r\n\r\n        settings = SettingsProvider.getInstance().getSettings(\"pyfaExport\")\r\n        settings[\"format\"] = selected\r\n        settings[\"options\"] = options\r\n        self.waitDialog = None\r\n\r\n        def cb(text):\r\n            if self.waitDialog:\r\n                del self.waitDialog\r\n            toClipboard(text)\r\n            self.EndModal(wx.ID_OK)\r\n\r\n        export_options = options.get(selected)\r\n        if selected == CopySelectDialog.copyFormatMultiBuy and export_options.get(PortMultiBuyOptions.OPTIMIZE_PRICES, False):\r\n            self.waitDialog = wx.BusyInfo(\"Optimizing Prices\", parent=self)\r\n\r\n        self.CopySelectDict[selected](export_options, callback=cb)\r\n\r\n        return False\r\n\r\n    def Selected(self, event):\r\n        obj = event.GetEventObject()\r\n        formatName = obj.GetLabel()\r\n        self.copyFormat = self.copyFormats[formatName][0]\r\n        self.toggleOptions()\r\n        self.Fit()\r\n\r\n    def toggleOptions(self):\r\n        for formatId in self.options:\r\n            for checkbox in self.options[formatId].values():\r\n                checkbox.Enable(self.GetSelected() == formatId)\r\n\r\n    def GetSelected(self):\r\n        return self.copyFormat\r\n\r\n    def GetOptions(self):\r\n        options = {}\r\n        for formatId in self.options:\r\n            options[formatId] = {optId: ch.IsChecked() for optId, ch in self.options[formatId].items()}\r\n        return options\r\n\r\n    def exportEft(self, options, callback):\r\n        fit = getFit(self.mainFrame.getActiveFit())\r\n        Port.exportEft(fit, options, callback)\r\n\r\n    def exportDna(self, options, callback):\r\n        fit = getFit(self.mainFrame.getActiveFit())\r\n        Port.exportDna(fit, options, callback)\r\n\r\n    def exportEsi(self, options, callback):\r\n        fit = getFit(self.mainFrame.getActiveFit())\r\n        Port.exportESI(fit, False, False, False, callback)\r\n\r\n    def exportXml(self, options, callback):\r\n        fit = getFit(self.mainFrame.getActiveFit())\r\n        Port.exportXml([fit], None, callback)\r\n\r\n    def exportMultiBuy(self, options, callback):\r\n        fit = getFit(self.mainFrame.getActiveFit())\r\n        Port.exportMultiBuy(fit, options, callback)\r\n\r\n    def exportEfs(self, options, callback):\r\n        fit = getFit(self.mainFrame.getActiveFit())\r\n        EfsPort.exportEfs(fit, 0, callback)\r\n\r\n    # noinspection PyUnusedLocal\r\n    def exportFitStats(self, options, callback):\r\n        \"\"\" Puts fit stats in textual format into the clipboard \"\"\"\r\n        fit = getFit(self.mainFrame.getActiveFit())\r\n        Port.exportFitStats(fit, callback)\r\n"
  },
  {
    "path": "gui/devTools.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.    See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.    If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport gc\r\nimport threading\r\nimport time\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom gui.auxWindow import AuxiliaryFrame\r\nfrom gui.builtinShipBrowser.events import FitSelected\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass DevTools(AuxiliaryFrame):\r\n\r\n    DAMAGE_TYPES = (\"em\", \"thermal\", \"kinetic\", \"explosive\")\r\n\r\n    def __init__(self, parent):\r\n        super().__init__(\r\n            parent, id=wx.ID_ANY, title=\"Development Tools\", resizeable=True,\r\n            size=wx.Size(400, 320) if \"wxGTK\" in wx.PlatformInfo else wx.Size(400, 240))\r\n        self.mainFrame = parent\r\n        self.block = False\r\n        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.id_get = wx.TextCtrl(self, wx.ID_ANY, \"\", wx.DefaultPosition)\r\n        mainSizer.Add(self.id_get, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n        self.idBtn = wx.Button(self, wx.ID_ANY, \"Print object\", wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.idBtn, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        self.idBtn.Bind(wx.EVT_BUTTON, self.objects_by_id)\r\n\r\n        self.gcCollect = wx.Button(self, wx.ID_ANY, \"GC Collect\", wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.gcCollect, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        self.gcCollect.Bind(wx.EVT_BUTTON, self.gc_collect)\r\n\r\n        self.fitTest = wx.Button(self, wx.ID_ANY, \"Test fits\", wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.fitTest, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        self.fitTest.Bind(wx.EVT_BUTTON, self.fit_test)\r\n\r\n        self.cmdPrint = wx.Button(self, wx.ID_ANY, \"Command Print\", wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.cmdPrint, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        self.cmdPrint.Bind(wx.EVT_BUTTON, self.cmd_print)\r\n\r\n        self.SetSizer(mainSizer)\r\n\r\n        self.Layout()\r\n        self.CenterOnParent()\r\n        self.SetMinSize(self.GetSize())\r\n\r\n    def objects_by_id(self, evt):\r\n        input = self.id_get.GetValue()\r\n        if input.startswith(\"0x\"):\r\n            input = int(input, 16)\r\n\r\n        print(\"Finding {} ({})\".format(str(input), hex(input)))\r\n\r\n        for obj in gc.get_objects():\r\n            if id(obj) == input:\r\n                print(obj)\r\n                print(bool(obj))\r\n                print(str(len(gc.get_referents(obj))) + \" references\")\r\n\r\n                break\r\n        else:\r\n            print(None)\r\n\r\n    def cmd_print(self, evt):\r\n        print(\"=\" * 20)\r\n        for x in self.mainFrame.command.GetCommands():\r\n            print(\"{}{} {}\".format(\"==> \" if x == self.mainFrame.command.GetCurrentCommand() else \"\", x.GetName(), x))\r\n\r\n    def gc_collect(self, evt):\r\n        print(gc.collect())\r\n        print(gc.get_debug())\r\n        print(gc.get_stats())\r\n\r\n    def fit_test(self, evt):\r\n        fits = eos.db.getFitList()\r\n        self.thread = FitTestThread([x.ID for x in fits], self.Parent)\r\n        self.thread.start()\r\n\r\n\r\nclass FitTestThread(threading.Thread):\r\n    def __init__(self, fitIDs, mainFrame):\r\n        threading.Thread.__init__(self)\r\n        self.name = \"FitTestThread\"\r\n        self.mainFrame = mainFrame\r\n        self.stopRunning = False\r\n        self.fits = fitIDs\r\n\r\n    def stop(self):\r\n        self.stopRunning = True\r\n\r\n    def run(self):\r\n        # wait 1 second just in case a lot of modifications get made\r\n        if self.stopRunning:\r\n            return\r\n\r\n        for fit in self.fits:\r\n            time.sleep(1)\r\n            e = FitSelected(fitID=fit)\r\n            wx.PostEvent(self.mainFrame, e)\r\n"
  },
  {
    "path": "gui/display.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nimport gui.mainFrame\r\nfrom gui.viewColumn import ViewColumn\r\nfrom gui.cachingImageList import CachingImageList\r\n\r\n\r\nclass Display(wx.ListCtrl):\r\n\r\n    DEFAULT_COLS = None\r\n\r\n    def __init__(self, parent, size=wx.DefaultSize, style=0):\r\n        wx.ListCtrl.__init__(self)\r\n        self.EnableSystemTheme(False)\r\n        self.Create(parent, size=size, style=wx.LC_REPORT | style)\r\n        self.imageList = CachingImageList(16, 16)\r\n        self.SetImageList(self.imageList, wx.IMAGE_LIST_SMALL)\r\n        self.activeColumns = []\r\n        self.columnsMinWidth = []\r\n        self.Bind(wx.EVT_LIST_COL_END_DRAG, self.resizeChecker)\r\n        self.Bind(wx.EVT_LIST_COL_BEGIN_DRAG, self.resizeSkip)\r\n\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        for i, colName in enumerate(self.DEFAULT_COLS):\r\n            self.insertColumnBySpec(i, colName)\r\n\r\n        self.imageListBase = self.imageList.ImageCount\r\n\r\n\r\n    # Override native HitTestSubItem (doesn't work as it should on GTK)\r\n    # Source: ObjectListView\r\n\r\n    def HitTestSubItem(self, pt):\r\n        \"\"\"\r\n        Return a tuple indicating which (item, subItem) the given pt (client coordinates) is over.\r\n\r\n        This uses the built-in version on Windows, and poor mans replacement on other platforms.\r\n        \"\"\"\r\n        # The buildin version works on Windows\r\n\r\n        if wx.Platform == \"__WXMSW__\":\r\n            return wx.ListCtrl.HitTestSubItem(self, pt)\r\n\r\n        (rowIndex, flags) = self.HitTest(pt)\r\n\r\n        # Did the point hit any item?\r\n        if (flags & wx.LIST_HITTEST_ONITEM) == 0:\r\n            return -1, 0, -1\r\n\r\n        # If it did hit an item and we are not in report mode, it must be the primary cell\r\n        if not self.InReportView():\r\n            return rowIndex, wx.LIST_HITTEST_ONITEM, 0\r\n\r\n        # Find which subitem is hit\r\n        right = 0\r\n        scrolledX = self.GetScrollPos(wx.HORIZONTAL) * wx.SystemSettings.GetMetric(wx.SYS_HSCROLL_Y) + pt.x\r\n        for i in range(self.GetColumnCount()):\r\n            left = right\r\n            right += self.GetColumnWidth(i)\r\n            if scrolledX < right:\r\n                if (scrolledX - left) < self.imageList.GetSize(0)[0]:\r\n                    flag = wx.LIST_HITTEST_ONITEMICON\r\n                else:\r\n                    flag = wx.LIST_HITTEST_ONITEMLABEL\r\n                return rowIndex, flag, i\r\n\r\n        return rowIndex, 0, -1\r\n\r\n    # noinspection PyPropertyAccess\r\n    def addColumn(self, i, col):\r\n        self.activeColumns.append(col)\r\n        info = wx.ListItem()\r\n        info.SetMask(col.mask | wx.LIST_MASK_FORMAT)\r\n        if col.imageId not in (None, -1):\r\n            info.SetImage(col.imageId)\r\n        info.SetText(col.columnText)\r\n        info.SetWidth(-1)\r\n        info.SetAlign(wx.LIST_FORMAT_LEFT)\r\n        self.InsertColumn(i, info)\r\n        col.resized = False\r\n        if i == 0 and col.size != wx.LIST_AUTOSIZE_USEHEADER:\r\n            col.size += 4\r\n        self.SetColumnWidth(i, col.size)\r\n\r\n    def appendColumnBySpec(self, colSpec):\r\n        self.insertColumnBySpec(len(self.activeColumns), colSpec)\r\n\r\n    def insertColumnBySpec(self, i, colSpec):\r\n        if \":\" in colSpec:\r\n            colSpec, params = colSpec.split(\":\", 1)\r\n            params = params.split(\",\")\r\n            colClass = ViewColumn.getColumn(colSpec)\r\n            paramList = colClass.getParameters()\r\n            paramDict = {}\r\n            for x, param in enumerate(paramList):\r\n                name, type, defaultValue = param\r\n                value = params[x] if len(params) > x else defaultValue\r\n                value = value if value != \"\" else defaultValue\r\n                if type == bool and isinstance(value, str):\r\n                    value = bool(value) if value.lower() != \"false\" and value != \"0\" else False\r\n                paramDict[name] = value\r\n            col = colClass(self, paramDict)\r\n        else:\r\n            col = ViewColumn.getColumn(colSpec)(self, None)\r\n\r\n        self.addColumn(i, col)\r\n        self.columnsMinWidth.append(self.GetColumnWidth(i))\r\n\r\n    def removeColumn(self, col):\r\n        i = self.getColIndex(type(col))\r\n        del self.activeColumns[i]\r\n        del self.columnsMinWidth[i]\r\n        self.DeleteColumn(i)\r\n\r\n    def getColIndex(self, colClass):\r\n        for i, col in enumerate(self.activeColumns):\r\n            if col.__class__ == colClass:\r\n                return i\r\n\r\n        return None\r\n\r\n    def resizeChecker(self, event):\r\n        # we veto header cell resize by default till we find a way\r\n        # to assure a minimal size for the resized header cell\r\n        column = event.GetColumn()\r\n        wx.CallAfter(self.checkColumnSize, column)\r\n        event.Skip()\r\n\r\n    def resizeSkip(self, event):\r\n        column = event.GetColumn()\r\n        if column > len(self.activeColumns) - 1:\r\n            self.SetColumnWidth(column, 0)\r\n            event.Veto()\r\n            return\r\n        # colItem = self.activeColumns[column]\r\n        if self.activeColumns[column].maxsize != -1:\r\n            event.Veto()\r\n        else:\r\n            event.Skip()\r\n\r\n    def checkColumnSize(self, column):\r\n        colItem = self.activeColumns[column]\r\n        if self.GetColumnWidth(column) < self.columnsMinWidth[column]:\r\n            self.SetColumnWidth(column, self.columnsMinWidth[column])\r\n        colItem.resized = True\r\n\r\n    def getLastItem(self, state=wx.LIST_STATE_DONTCARE):\r\n        lastFound = -1\r\n        while True:\r\n            index = self.GetNextItem(lastFound, wx.LIST_NEXT_ALL, state)\r\n            if index == -1:\r\n                break\r\n            else:\r\n                lastFound = index\r\n\r\n        return lastFound\r\n\r\n    def unselectAll(self):\r\n        sel = self.GetFirstSelected()\r\n        while sel != -1:\r\n            self.Select(sel, False)\r\n            sel = self.GetNextSelected(sel)\r\n\r\n    def selectAll(self):\r\n        for row in range(self.GetItemCount()):\r\n            self.Select(row, True)\r\n\r\n    def populate(self, stuff):\r\n        if stuff is not None:\r\n            listItemCount = self.GetItemCount()\r\n            stuffItemCount = len(stuff)\r\n\r\n            if listItemCount < stuffItemCount:\r\n                for i in range(stuffItemCount - listItemCount):\r\n                    self.InsertItem(self.GetItemCount(), \"\")\r\n\r\n            if listItemCount > stuffItemCount:\r\n                if listItemCount - stuffItemCount > 20 > stuffItemCount:\r\n                    self.DeleteAllItems()\r\n                    for i in range(stuffItemCount):\r\n                        self.InsertItem(self.GetItemCount(), \"\")\r\n                else:\r\n                    for i in range(listItemCount - stuffItemCount):\r\n                        self.DeleteItem(self.getLastItem())\r\n                    self.Refresh()\r\n\r\n    def refresh(self, stuff):\r\n        if stuff is None:\r\n            return\r\n        item = -1\r\n        for id_, st in enumerate(stuff):\r\n\r\n            item = self.GetNextItem(item)\r\n\r\n            for i, col in enumerate(self.activeColumns):\r\n                colItem = self.GetItem(item, i)\r\n                oldText = colItem.GetText()\r\n                oldImageId = colItem.GetImage()\r\n                oldColour = colItem.GetBackgroundColour()\r\n                newText = col.getText(st)\r\n                if newText is False:\r\n                    col.delayedText(st, self, colItem)\r\n                    newText = \"\\u21bb\"\r\n                newColour = self.columnBackground(colItem, st)\r\n\r\n                newImageId = col.getImageId(st)\r\n\r\n                colItem.SetText(newText)\r\n                colItem.SetImage(newImageId)\r\n                colItem.SetBackgroundColour(newColour)\r\n\r\n                mask = 0\r\n\r\n                if oldText != newText:\r\n                    mask |= wx.LIST_MASK_TEXT\r\n                    colItem.SetText(newText)\r\n                if oldImageId != newImageId:\r\n                    mask |= wx.LIST_MASK_IMAGE\r\n                    colItem.SetImage(newImageId)\r\n\r\n                if mask:\r\n                    colItem.SetMask(mask)\r\n                    self.SetItem(colItem)\r\n                else:\r\n                    if newColour != oldColour:\r\n                        self.SetItem(colItem)\r\n\r\n                self.SetItemData(item, id_)\r\n\r\n        for i, col in enumerate(self.activeColumns):\r\n            if not col.resized:\r\n                if col.size == wx.LIST_AUTOSIZE_USEHEADER:\r\n                    self.SetColumnWidth(i, wx.LIST_AUTOSIZE_USEHEADER)\r\n                    headerWidth = self.GetColumnWidth(i)\r\n                    self.SetColumnWidth(i, wx.LIST_AUTOSIZE)\r\n                    baseWidth = self.GetColumnWidth(i)\r\n                    if baseWidth < headerWidth:\r\n                        self.SetColumnWidth(i, headerWidth)\r\n                else:\r\n                    self.SetColumnWidth(i, col.size)\r\n\r\n    def update(self, stuff):\r\n        self.populate(stuff)\r\n        self.refresh(stuff)\r\n\r\n    def getColumn(self, point):\r\n        row, _, col = self.HitTestSubItem(point)\r\n        return col\r\n\r\n    def columnBackground(self, colItem, item):\r\n        return colItem.GetBackgroundColour()\r\n\r\n    def getRowByAbs(self, pointAbs):\r\n        if pointAbs == wx.Point(-1, -1):\r\n            return -1\r\n        pointRel = self.screenToClientFixed(pointAbs)\r\n        row, flags = self.HitTest(pointRel)\r\n        return row\r\n\r\n    def screenToClientFixed(self, ptScreen):\r\n        \"\"\"\r\n        Wx' ScreenToClient implementation seems to not consider header row height when\r\n        converting to screen position: https://github.com/wxWidgets/Phoenix/issues/1213\r\n        Do it ourselves here.\r\n        \"\"\"\r\n        if ptScreen == wx.Point(-1, -1):\r\n            return wx.Point(-1, -1)\r\n        ptClient = self.GetMainWindow().ScreenToClient(ptScreen)\r\n        return ptClient\r\n\r\n    def getSelectedRows(self):\r\n        rows = []\r\n        row = self.GetFirstSelected()\r\n        while row != -1:\r\n            rows.append(row)\r\n            row = self.GetNextSelected(row)\r\n        return rows\r\n\r\n    def getWidthProportion(self):\r\n        propWidth = sum(c.proportionWidth for c in self.activeColumns)\r\n        return propWidth\r\n\r\n    def ensureSelection(self, clickedPos):\r\n        \"\"\"\r\n        On windows with Ctrl is pressed, or on Mac, when right-click on any item happens,\r\n        the item doesn't get selected. This method ensures that only clicked item is selected.\r\n        \"\"\"\r\n        if (\r\n            'wxMac' in wx.PlatformInfo or\r\n            ('wxMSW' in wx.PlatformInfo and wx.GetMouseState().GetModifiers() == wx.MOD_CONTROL)\r\n        ):\r\n            if clickedPos != -1:\r\n                selectedPoss = self.getSelectedRows()\r\n                if clickedPos not in selectedPoss:\r\n                    self.unselectAll()\r\n                    self.Select(clickedPos)\r\n                    # Change focus only when we manipulate selection\r\n                    focusedPos = self.GetFocusedItem()\r\n                    if clickedPos != focusedPos:\r\n                        self.Focus(clickedPos)\r\n"
  },
  {
    "path": "gui/errorDialog.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport datetime\r\nimport sys\r\nimport traceback\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport config\r\nfrom gui.auxWindow import AuxiliaryFrame\r\nfrom service.prereqsCheck import version_block\r\n\r\n\r\n_t = wx.GetTranslation\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass ErrorHandler:\r\n    __parent = None\r\n    __frame = None\r\n\r\n    @classmethod\r\n    def HandleException(cls, exc_type, exc_value, exc_traceback):\r\n        with config.logging_setup.threadbound():\r\n            # Print the base level traceback\r\n            t = traceback.format_exception(exc_type, exc_value, exc_traceback)\r\n            pyfalog.critical(\"\\n\\n\" + \"\".join(t))\r\n\r\n            if cls.__parent is None:\r\n                app = wx.App(False)\r\n                cls.__frame = ErrorFrame(None)\r\n                cls.__frame.addException(\"\".join(t))\r\n                cls.__frame.Show()\r\n                app.MainLoop()\r\n                sys.exit()\r\n            else:\r\n                if not cls.__frame:\r\n                    cls.__frame = ErrorFrame(cls.__parent)\r\n                cls.__frame.Show()\r\n                cls.__frame.addException(\"\".join(t))\r\n\r\n    @classmethod\r\n    def SetParent(cls, parent):\r\n        cls.__parent = parent\r\n\r\n\r\nclass ErrorFrame(AuxiliaryFrame):\r\n\r\n    def __init__(self, parent=None, error_title=_t('Error!')):\r\n        super().__init__(parent, id=wx.ID_ANY, title=_t(\"pyfa error\"), pos=wx.DefaultPosition, size=wx.Size(500, 600))\r\n\r\n        from eos.config import gamedata_version, gamedata_date\r\n\r\n        if gamedata_date:\r\n            try:\r\n                time = datetime.datetime.fromtimestamp(int(gamedata_date)).strftime('%Y-%m-%d %H:%M:%S')\r\n            except TypeError:\r\n                time = None\r\n        else:\r\n            time = None\r\n        version = \"pyfa \" + config.getVersion() + '\\nEVE Data Version: {} ({})\\n\\n'.format(gamedata_version, time)  # gui.aboutData.versionString\r\n\r\n        desc = _t(\"pyfa has experienced an unexpected issue. Below is a message that contains crucial \\n\"\r\n               \"information about how this was triggered. Please contact the developers with the \\n\"\r\n               \"information provided through the EVE Online forums or file a GitHub issue.\")\r\n\r\n        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n        headSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        headingText = wx.StaticText(self, wx.ID_ANY, error_title, wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTRE)\r\n        headingText.SetFont(wx.Font(14, 74, 90, 92, False))\r\n\r\n        headSizer.Add(headingText, 1, wx.ALL, 5)\r\n        mainSizer.Add(headSizer, 0, wx.EXPAND, 5)\r\n\r\n        mainSizer.Add(wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL), 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        box = wx.BoxSizer(wx.VERTICAL)\r\n        mainSizer.Add(box, 0, wx.EXPAND | wx.ALIGN_TOP)\r\n\r\n        descText = wx.StaticText(self, wx.ID_ANY, desc)\r\n        box.Add(descText, 1, wx.ALL, 5)\r\n\r\n        # github = wx.lib.agw.hyperlink.HyperLinkCtrl(self, wx.ID_ANY, label=\"Github\", URL=\"https://github.com/pyfa-org/Pyfa/issues\")\r\n        # box.Add(github, 0, wx.ALL, 5)\r\n        #\r\n        # eveForums = wx.lib.agw.hyperlink.HyperLinkCtrl(self, wx.ID_ANY, label=\"EVE Forums\", URL=\"https://forums.eveonline.com/t/27156\")\r\n        # box.Add(eveForums, 0, wx.ALL, 5)\r\n\r\n        # mainSizer.AddSpacer((0, 5), 0, wx.EXPAND, 5)\r\n\r\n        self.errorTextCtrl = wx.TextCtrl(self, wx.ID_ANY, version + version_block.strip(), wx.DefaultPosition,\r\n                                         (-1, 400), wx.TE_MULTILINE | wx.TE_READONLY | wx.TE_RICH2 | wx.TE_DONTWRAP)\r\n        self.errorTextCtrl.SetFont(wx.Font(8, wx.FONTFAMILY_TELETYPE, wx.NORMAL, wx.NORMAL))\r\n        mainSizer.Add(self.errorTextCtrl, 0, wx.EXPAND | wx.ALL, 5)\r\n        self.errorTextCtrl.AppendText(\"\\n\")\r\n        self.errorTextCtrl.Layout()\r\n\r\n        self.SetSizer(mainSizer)\r\n        mainSizer.Layout()\r\n        self.Layout()\r\n        self.SetMinSize(self.GetSize())\r\n\r\n        self.Centre(wx.BOTH)\r\n\r\n    def addException(self, text):\r\n        self.errorTextCtrl.AppendText(\"\\n{}\\n\\n{}\".format(\"#\" * 20, text))\r\n"
  },
  {
    "path": "gui/esiFittings.py",
    "content": "import json\r\n\r\nimport requests\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport config\r\nimport gui.globalEvents as GE\r\nfrom eos.db import getItem\r\nfrom eos.saveddata.cargo import Cargo\r\nimport gui.mainFrame\r\nfrom gui.auxWindow import AuxiliaryFrame\r\nfrom gui.display import Display\r\nfrom gui.characterEditor import APIView\r\nfrom service.character import Character\r\nfrom service.esi import Esi\r\nfrom service.esiAccess import APIException\r\nfrom service.fit import Fit\r\nfrom service.port import Port\r\nfrom service.port.esi import ESIExportException\r\nfrom service.settings import EsiSettings\r\n\r\n\r\n_t = wx.GetTranslation\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass EveFittings(AuxiliaryFrame):\r\n\r\n    def __init__(self, parent):\r\n        super().__init__(\r\n            parent, id=wx.ID_ANY, title=_t(\"Browse EVE Fittings\"), pos=wx.DefaultPosition,\r\n            size=wx.Size(750, 450), resizeable=True)\r\n\r\n        self.mainFrame = parent\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        characterSelectSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.charChoice = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, [])\r\n        characterSelectSizer.Add(self.charChoice, 1, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)\r\n        self.updateCharList()\r\n\r\n        self.fetchBtn = wx.Button(self, wx.ID_ANY, _t(\"Fetch Fits\"), wx.DefaultPosition, wx.DefaultSize, 5)\r\n        characterSelectSizer.Add(self.fetchBtn, 0, wx.ALL, 5)\r\n        mainSizer.Add(characterSelectSizer, 0, wx.EXPAND, 5)\r\n\r\n        self.sl = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.sl, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        contentSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        browserSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.fitTree = FittingsTreeView(self)\r\n        browserSizer.Add(self.fitTree, 1, wx.ALL | wx.EXPAND, 5)\r\n        browserSizer.SetItemMinSize(0, 200, 0)\r\n        contentSizer.Add(browserSizer, 0, wx.EXPAND, 0)\r\n        fitSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.fitView = FitView(self)\r\n        fitSizer.Add(self.fitView, 1, wx.ALL | wx.EXPAND, 5)\r\n\r\n        btnSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        self.importBtn = wx.Button(self, wx.ID_ANY, _t(\"Import to pyfa\"), wx.DefaultPosition, wx.DefaultSize, 5)\r\n        self.deleteBtn = wx.Button(self, wx.ID_ANY, _t(\"Delete from EVE\"), wx.DefaultPosition, wx.DefaultSize, 5)\r\n        self.deleteAllBtn = wx.Button(self, wx.ID_ANY, _t(\"Delete all from Eve\"), wx.DefaultPosition, wx.DefaultSize, 5)\r\n        btnSizer.Add(self.importBtn, 1, wx.ALL, 5)\r\n        btnSizer.Add(self.deleteBtn, 1, wx.ALL, 5)\r\n        btnSizer.Add(self.deleteAllBtn, 1, wx.ALL, 5)\r\n        fitSizer.Add(btnSizer, 0, wx.EXPAND)\r\n\r\n        contentSizer.Add(fitSizer, 1, wx.EXPAND, 0)\r\n        mainSizer.Add(contentSizer, 1, wx.EXPAND, 5)\r\n\r\n        self.fetchBtn.Bind(wx.EVT_BUTTON, self.fetchFittings)\r\n        self.importBtn.Bind(wx.EVT_BUTTON, self.importFitting)\r\n        self.deleteBtn.Bind(wx.EVT_BUTTON, self.deleteFitting)\r\n        self.deleteAllBtn.Bind(wx.EVT_BUTTON, self.deleteAllFittings)\r\n\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n\r\n        self.statusbar = wx.StatusBar(self)\r\n        self.statusbar.SetFieldsCount()\r\n        self.SetStatusBar(self.statusbar)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.Layout()\r\n        self.SetMinSize(self.GetSize())\r\n\r\n        self.Centre(wx.BOTH)\r\n\r\n    def updateCharList(self):\r\n        sEsi = Esi.getInstance()\r\n        chars = sEsi.getSsoCharacters()\r\n\r\n        self.charChoice.Clear()\r\n        for char in chars:\r\n            self.charChoice.Append(char.characterDisplay, char.ID)\r\n        if len(chars) > 0:\r\n            self.charChoice.SetSelection(0)\r\n\r\n    def kbEvent(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.Close()\r\n            return\r\n        event.Skip()\r\n\r\n    def getActiveCharacter(self):\r\n        selection = self.charChoice.GetCurrentSelection()\r\n        return self.charChoice.GetClientData(selection) if selection not in (None, -1) else None\r\n\r\n    def fetchFittings(self, event):\r\n        sEsi = Esi.getInstance()\r\n        waitDialog = wx.BusyInfo(_t(\"Fetching fits, please wait...\"), parent=self)\r\n        activeChar = self.getActiveCharacter()\r\n        if activeChar is None:\r\n            msg = _t(\"Need at least one ESI character to fetch\")\r\n            pyfalog.warning(msg)\r\n            self.statusbar.SetStatusText(msg)\r\n            return\r\n        try:\r\n            self.fittings = sEsi.getFittings(activeChar)\r\n            # self.cacheTime = fittings.get('cached_until')\r\n            # self.updateCacheStatus(None)\r\n            # self.cacheTimer.Start(1000)\r\n            self.fitTree.populateSkillTree(self.fittings)\r\n            del waitDialog\r\n        except requests.exceptions.ConnectionError:\r\n            msg = _t(\"Connection error, please check your internet connection\")\r\n            pyfalog.error(msg)\r\n            self.statusbar.SetStatusText(msg)\r\n        except APIException as ex:\r\n            #  Can't do this in a finally because then it obscures the message dialog\r\n            del waitDialog  # noqa: F821\r\n            ESIExceptionHandler(ex)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception as ex:\r\n            del waitDialog  # noqa: F821\r\n            raise ex\r\n\r\n    def importFitting(self, event):\r\n        selection = self.fitView.fitSelection\r\n        if not selection:\r\n            return\r\n        data = self.fitTree.fittingsTreeCtrl.GetItemData(selection)\r\n        sPort = Port.getInstance()\r\n        import_type, fits = sPort.importFitFromBuffer(data)\r\n        self.mainFrame._openAfterImport(fits)\r\n\r\n    def deleteFitting(self, event):\r\n        self.statusbar.SetStatusText(\"\")\r\n        sEsi = Esi.getInstance()\r\n        selection = self.fitView.fitSelection\r\n        if not selection:\r\n            return\r\n        data = json.loads(self.fitTree.fittingsTreeCtrl.GetItemData(selection))\r\n\r\n        with wx.MessageDialog(\r\n            self, _t(\"Do you really want to delete {} ({}) from EVE?\").format(data['name'], getItem(data['ship_type_id']).name),\r\n            _t(\"Confirm Delete\"), wx.YES | wx.NO | wx.ICON_QUESTION\r\n        ) as dlg:\r\n            if dlg.ShowModal() == wx.ID_YES:\r\n                activeChar = self.getActiveCharacter()\r\n                if activeChar is None:\r\n                    return\r\n                try:\r\n                    try:\r\n                        sEsi.delFitting(activeChar, data['fitting_id'])\r\n                        # repopulate the fitting list\r\n                        self.fitTree.populateSkillTree(self.fittings)\r\n                        self.fitView.update([])\r\n                    except APIException as ex:\r\n                        pyfalog.error(ex)\r\n                        self.statusbar.SetStatusText(\"Failed to delete fit: ESI error {} received - {}\".format(ex.status_code, ex.response[\"error\"]))\r\n                        try:\r\n                            ESIExceptionHandler(ex)\r\n                        except:\r\n                            # don't need to do anything - we should already have error code in the status\r\n                            pass\r\n                except requests.exceptions.ConnectionError:\r\n                    msg = _t(\"Connection error, please check your internet connection\")\r\n                    pyfalog.error(msg)\r\n                    self.statusbar.SetStatusText(msg)\r\n\r\n    def deleteAllFittings(self, event):\r\n        self.statusbar.SetStatusText(\"\")\r\n        sEsi = Esi.getInstance()\r\n        activeChar = self.getActiveCharacter()\r\n        if activeChar is None:\r\n            return\r\n        charName = sEsi.getSsoCharacter(activeChar).characterName\r\n        anyDeleted = False\r\n        with wx.MessageDialog(\r\n                self, \"Do you really want to delete all fits from %s in EVE?\"%(charName),\r\n                \"Confirm Delete\", wx.YES | wx.NO | wx.ICON_QUESTION\r\n                ) as dlg:\r\n            if dlg.ShowModal() == wx.ID_YES:\r\n                try:\r\n                    try:\r\n                        for fit in self.fittings:\r\n                            sEsi.delFitting(activeChar, fit['fitting_id'])\r\n                            anyDeleted = True\r\n                    except APIException as ex:\r\n                        pyfalog.error(ex)\r\n                        if anyDeleted:\r\n                            msg = \"Some fits were not deleted: ESI error {} received - {}\".format(ex.status_code,\r\n                                                                                          ex.response[\"error\"])\r\n                        else:\r\n                            msg = \"Failed to delete fits: ESI error {} received - {}\".format(ex.status_code,\r\n                                                                                          ex.response[\"error\"])\r\n                        pyfalog.error(msg)\r\n                        self.statusbar.SetStatusText(msg)\r\n                        try:\r\n                            ESIExceptionHandler(ex)\r\n                        except:\r\n                            # don't need to do anything - we should already have error code in the status\r\n                            pass\r\n                except requests.exceptions.ConnectionError:\r\n                    msg = \"Connection error, please check your internet connection\"\r\n                    pyfalog.error(msg)\r\n                    self.statusbar.SetStatusText(msg)\r\n\r\n        # repopulate the fitting list\r\n        self.fitTree.populateSkillTree(self.fittings)\r\n        self.fitView.update([])\r\n\r\n\r\nclass ESIExceptionHandler:\r\n    # todo: make this a generate excetpion handler for all calls\r\n    def __init__(self, ex):\r\n        # raise ex\r\n        if ex.response['error'].startswith('Token is not valid') \\\r\n                or ex.response['error'] == 'invalid_token' \\\r\n                or ex.response['error'] == 'invalid_grant':  # todo: this seems messy, figure out a better response\r\n            pyfalog.error(ex)\r\n            with wx.MessageDialog(\r\n                gui.mainFrame.MainFrame.getInstance(),\r\n                _t(\"There was an error validating characters' SSO token. Please try \"\r\n                \"logging into the character again to reset the token.\"),\r\n                _t(\"Invalid Token\"),\r\n                wx.OK | wx.ICON_ERROR | wx.CANCEL\r\n            ) as dlg:\r\n                dlg.SetOKLabel(\"Manage ESI Characters\")\r\n                ret = dlg.ShowModal()\r\n                if ret == wx.ID_OK:\r\n                    SsoCharacterMgmt.openOne(parent=gui.mainFrame.MainFrame.getInstance())\r\n                    # todo: spawn manage esi characters\r\n                    pass\r\n        elif ex.response['error'].startswith('Timeout contacting'):\r\n            pyfalog.error(ex)\r\n            with wx.MessageDialog(\r\n                    gui.mainFrame.MainFrame.getInstance(),\r\n                    \"HTTP %s: %s\\n\\n\" % (ex.status_code, ex.response['error'])\r\n                    + _t(\"The server took too long to response. Please try again in a moment.\"),\r\n                    _t(\"Timeout\"),\r\n                    wx.OK | wx.ICON_ERROR\r\n            ) as dlg:\r\n                dlg.ShowModal()\r\n        else:\r\n            # We don't know how to handle the error, raise it for the global error handler to pick it up\r\n            raise ex\r\n\r\n\r\nclass ExportToEve(AuxiliaryFrame):\r\n\r\n    def __init__(self, parent):\r\n        super().__init__(\r\n            parent, id=wx.ID_ANY, title=_t(\"Export fit to EVE\"), pos=wx.DefaultPosition,\r\n            size=wx.Size(400, 175) if \"wxGTK\" in wx.PlatformInfo else wx.Size(350, 145), resizeable=True)\r\n\r\n        self.mainFrame = parent\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n        hSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.charChoice = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, [])\r\n        hSizer.Add(self.charChoice, 1, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)\r\n        self.updateCharList()\r\n        self.charChoice.SetSelection(0)\r\n\r\n        self.exportBtn = wx.Button(self, wx.ID_ANY, _t(\"Export Fit\"), wx.DefaultPosition, wx.DefaultSize, 5)\r\n        hSizer.Add(self.exportBtn, 0, wx.ALL, 5)\r\n\r\n        mainSizer.Add(hSizer, 0, wx.EXPAND, 5)\r\n\r\n        self.exportChargesCb = wx.CheckBox(self, wx.ID_ANY, _t('Export Loaded Charges'), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.exportChargesCb.SetValue(EsiSettings.getInstance().get('exportCharges'))\r\n        self.exportChargesCb.Bind(wx.EVT_CHECKBOX, self.OnChargeExportChange)\r\n        mainSizer.Add(self.exportChargesCb, 0, 0, 5)\r\n\r\n        self.exportImplantsCb = wx.CheckBox(self, wx.ID_ANY, _t('Export Implants'), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.exportImplantsCb.SetValue(EsiSettings.getInstance().get('exportImplants'))\r\n        self.exportImplantsCb.Bind(wx.EVT_CHECKBOX, self.OnImplantsExportChange)\r\n        mainSizer.Add(self.exportImplantsCb, 0, 0, 5)\r\n\r\n        self.exportBoostersCb = wx.CheckBox(self, wx.ID_ANY, _t('Export Boosters'), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.exportBoostersCb.SetValue(EsiSettings.getInstance().get('exportBoosters'))\r\n        self.exportBoostersCb.Bind(wx.EVT_CHECKBOX, self.OnBoostersExportChange)\r\n        mainSizer.Add(self.exportBoostersCb, 0, 0, 5)\r\n\r\n        self.exportBtn.Bind(wx.EVT_BUTTON, self.exportFitting)\r\n\r\n        self.statusbar = wx.StatusBar(self)\r\n        self.statusbar.SetFieldsCount(2)\r\n        self.statusbar.SetStatusWidths([100, -1])\r\n\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.SetStatusBar(self.statusbar)\r\n        self.Layout()\r\n        self.SetMinSize(self.GetSize())\r\n\r\n        self.Center(wx.BOTH)\r\n\r\n    def OnChargeExportChange(self, event):\r\n        EsiSettings.getInstance().set('exportCharges', self.exportChargesCb.GetValue())\r\n        event.Skip()\r\n\r\n    def OnImplantsExportChange(self, event):\r\n        EsiSettings.getInstance().set('exportImplants', self.exportImplantsCb.GetValue())\r\n        event.Skip()\r\n\r\n    def OnBoostersExportChange(self, event):\r\n        EsiSettings.getInstance().set('exportBoosters', self.exportBoostersCb.GetValue())\r\n        event.Skip()\r\n\r\n    def updateCharList(self):\r\n        sEsi = Esi.getInstance()\r\n        chars = sEsi.getSsoCharacters()\r\n\r\n        self.charChoice.Clear()\r\n        for char in chars:\r\n            self.charChoice.Append(char.characterDisplay, char.ID)\r\n\r\n        if len(chars) > 0:\r\n            self.charChoice.SetSelection(0)\r\n\r\n    def kbEvent(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.Close()\r\n            return\r\n        event.Skip()\r\n\r\n    def getActiveCharacter(self):\r\n        selection = self.charChoice.GetCurrentSelection()\r\n        return self.charChoice.GetClientData(selection) if selection not in (None, -1) else None\r\n\r\n    def exportFitting(self, event):\r\n        sPort = Port.getInstance()\r\n        fitID = self.mainFrame.getActiveFit()\r\n\r\n        self.statusbar.SetStatusText(\"\", 0)\r\n\r\n        if fitID is None:\r\n            self.statusbar.SetStatusText(_t(\"Please select an active fitting in the main window\"), 1)\r\n            return\r\n\r\n        self.statusbar.SetStatusText(_t(\"Sending request and awaiting response\"), 1)\r\n        sEsi = Esi.getInstance()\r\n\r\n        sFit = Fit.getInstance()\r\n        exportCharges = self.exportChargesCb.GetValue()\r\n        exportImplants = self.exportImplantsCb.GetValue()\r\n        exportBoosters = self.exportBoostersCb.GetValue()\r\n        try:\r\n            data = sPort.exportESI(sFit.getFit(fitID), exportCharges, exportImplants, exportBoosters)\r\n        except ESIExportException as e:\r\n            msg = str(e)\r\n            if not msg:\r\n                msg = _t(\"Failed to generate export data\")\r\n            pyfalog.warning(msg)\r\n            self.statusbar.SetStatusText(msg, 1)\r\n            return\r\n        activeChar = self.getActiveCharacter()\r\n        if activeChar is None:\r\n            msg = _t(\"Need at least one ESI character to export\")\r\n            pyfalog.warning(msg)\r\n            self.statusbar.SetStatusText(msg, 1)\r\n            return\r\n\r\n        try:\r\n            res = sEsi.postFitting(activeChar, data)\r\n            res.raise_for_status()\r\n            self.statusbar.SetStatusText(\"\", 0)\r\n            self.statusbar.SetStatusText(res.reason, 1)\r\n        except requests.exceptions.ConnectionError:\r\n            msg = _t(\"Connection error, please check your internet connection\")\r\n            pyfalog.error(msg)\r\n            self.statusbar.SetStatusText(_t(\"ERROR\"), 0)\r\n            self.statusbar.SetStatusText(msg, 1)\r\n        except APIException as ex:\r\n            pyfalog.error(ex)\r\n            self.statusbar.SetStatusText(_t(\"ERROR\"), 0)\r\n            self.statusbar.SetStatusText(\"HTTP {} - {}\".format(ex.status_code, ex.response[\"error\"]), 1)\r\n            try:\r\n                ESIExceptionHandler(ex)\r\n            except:\r\n                # don't need to do anything - we should already get the error in ex.response\r\n                pass\r\n        except Exception as ex:\r\n            self.statusbar.SetStatusText(_t(\"ERROR\"), 0)\r\n            self.statusbar.SetStatusText(\"Unknown error\", 1)\r\n            pyfalog.error(ex)\r\n\r\n\r\nclass SsoCharacterMgmt(AuxiliaryFrame):\r\n\r\n    def __init__(self, parent):\r\n        super().__init__(\r\n            parent, id=wx.ID_ANY, title=_t(\"SSO Character Management\"), pos=wx.DefaultPosition,\r\n            size=wx.Size(550, 250), resizeable=True)\r\n        self.mainFrame = parent\r\n        mainSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.lcCharacters = wx.ListCtrl(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_REPORT)\r\n\r\n        self.lcCharacters.InsertColumn(0, heading=_t('Character'))\r\n        self.lcCharacters.InsertColumn(1, heading=_t('Character ID'))\r\n        self.lcCharacters.InsertColumn(2, heading=_t('Server'))\r\n\r\n        self.popCharList()\r\n\r\n        mainSizer.Add(self.lcCharacters, 1, wx.ALL | wx.EXPAND, 5)\r\n\r\n        btnSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.addBtn = wx.Button(self, wx.ID_ANY, _t(\"Add Character\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        btnSizer.Add(self.addBtn, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.deleteBtn = wx.Button(self, wx.ID_ANY, _t(\"Remove Character\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        btnSizer.Add(self.deleteBtn, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        mainSizer.Add(btnSizer, 0, wx.EXPAND, 5)\r\n\r\n        self.addBtn.Bind(wx.EVT_BUTTON, self.addChar)\r\n        self.deleteBtn.Bind(wx.EVT_BUTTON, self.delChar)\r\n\r\n        self.mainFrame.Bind(GE.EVT_SSO_LOGIN, self.ssoLogin)\r\n        self.Bind(wx.EVT_CLOSE, self.OnClose)\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.Layout()\r\n        self.SetMinSize(self.GetSize())\r\n\r\n        self.Centre(wx.BOTH)\r\n\r\n    def ssoLogin(self, event):\r\n        self.popCharList()\r\n        sChar = Character.getInstance()\r\n        # Update existing pyfa character, if it doesn't exist - create new\r\n        char = sChar.getCharacter(event.character.characterName)\r\n        newChar = False\r\n        if char is None:\r\n            char = sChar.new(event.character.characterName)\r\n            newChar = True\r\n        char.setSsoCharacter(event.character, config.getClientSecret())\r\n        sChar.apiFetch(char.ID, APIView.fetchCallback)\r\n        wx.PostEvent(self.mainFrame, GE.CharListUpdated())\r\n        event.Skip()\r\n\r\n    def kbEvent(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.Close()\r\n            return\r\n        event.Skip()\r\n\r\n    def OnClose(self, event):\r\n        self.mainFrame.Unbind(GE.EVT_SSO_LOGIN, handler=self.ssoLogin)\r\n        event.Skip()\r\n\r\n    def popCharList(self):\r\n        sEsi = Esi.getInstance()\r\n        chars = sEsi.getSsoCharacters()\r\n\r\n        self.lcCharacters.DeleteAllItems()\r\n\r\n        for index, char in enumerate(chars):\r\n            self.lcCharacters.InsertItem(index, char.characterName)\r\n            self.lcCharacters.SetItem(index, 1, str(char.characterID))\r\n            self.lcCharacters.SetItemData(index, char.ID)\r\n            self.lcCharacters.SetItem(index, 2, char.server or \"<unknown>\")\r\n\r\n        self.lcCharacters.SetColumnWidth(0, wx.LIST_AUTOSIZE)\r\n        self.lcCharacters.SetColumnWidth(1, wx.LIST_AUTOSIZE)\r\n        self.lcCharacters.SetColumnWidth(2, wx.LIST_AUTOSIZE)\r\n\r\n    def addChar(self, event):\r\n        try:\r\n            sEsi = Esi.getInstance()\r\n            sEsi.login()\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n\r\n    def delChar(self, event):\r\n        item = self.lcCharacters.GetFirstSelected()\r\n        if item > -1:\r\n            charID = self.lcCharacters.GetItemData(item)\r\n            sEsi = Esi.getInstance()\r\n            sEsi.delSsoCharacter(charID)\r\n            self.popCharList()\r\n\r\n\r\nclass FittingsTreeView(wx.Panel):\r\n    def __init__(self, parent):\r\n        wx.Panel.__init__(self, parent, id=wx.ID_ANY)\r\n        self.parent = parent\r\n        pmainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        tree = self.fittingsTreeCtrl = wx.TreeCtrl(self, wx.ID_ANY, style=wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT)\r\n        pmainSizer.Add(tree, 1, wx.EXPAND | wx.ALL, 0)\r\n\r\n        self.root = tree.AddRoot(\"Fits\")\r\n        self.populateSkillTree(None)\r\n\r\n        self.Bind(wx.EVT_TREE_SEL_CHANGED, self.displayFit)\r\n\r\n        self.SetSizer(pmainSizer)\r\n\r\n        self.Layout()\r\n\r\n    def populateSkillTree(self, data):\r\n        if data is None:\r\n            return\r\n        root = self.root\r\n        tree = self.fittingsTreeCtrl\r\n        tree.DeleteChildren(root)\r\n\r\n        sEsi = Esi.getInstance()\r\n\r\n        dict = {}\r\n        fits = data\r\n        for fit in fits:\r\n            if fit['fitting_id'] in sEsi.fittings_deleted:\r\n                continue\r\n            ship = getItem(fit['ship_type_id'])\r\n            if ship is None:\r\n                pyfalog.debug('Cannot find ship type id: {}'.format(fit['ship_type_id']))\r\n                continue\r\n            if ship.name not in dict:\r\n                dict[ship.name] = []\r\n            dict[ship.name].append(fit)\r\n\r\n        for name, fits in dict.items():\r\n            shipID = tree.AppendItem(root, name)\r\n            for fit in fits:\r\n                fitId = tree.AppendItem(shipID, fit['name'])\r\n                tree.SetItemData(fitId, json.dumps(fit))\r\n\r\n        tree.SortChildren(root)\r\n\r\n    def displayFit(self, event):\r\n        selection = self.fittingsTreeCtrl.GetSelection()\r\n        data = self.fittingsTreeCtrl.GetItemData(selection)\r\n\r\n        if data is None:\r\n            event.Skip()\r\n            return\r\n\r\n        fit = json.loads(data)\r\n        list = []\r\n\r\n        for item in fit['items']:\r\n            try:\r\n                cargo = Cargo(getItem(item['type_id']))\r\n                cargo.amount = item['quantity']\r\n                list.append(cargo)\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                pyfalog.critical(\"Exception caught in displayFit\")\r\n                pyfalog.critical(e)\r\n\r\n        self.parent.fitView.fitSelection = selection\r\n        self.parent.fitView.update(list)\r\n\r\n\r\nclass FitView(Display):\r\n    DEFAULT_COLS = [\"Base Icon\",\r\n                    \"Base Name\"]\r\n\r\n    def __init__(self, parent):\r\n        Display.__init__(self, parent, style=wx.LC_SINGLE_SEL)\r\n        self.fitSelection = None\r\n"
  },
  {
    "path": "gui/fitBrowserLite.py",
    "content": "import re\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport gui.display as d\r\nfrom service.fit import Fit\r\n\r\n_t = wx.GetTranslation\r\n\r\ndef fitSorter(fit):\r\n    return fit.shipName, fit.name\r\n\r\n\r\nclass FitBrowserLiteDialog(wx.Dialog):\r\n\r\n    def __init__(self, parent, title=_t('Add Fits'), excludedFitIDs=()):\r\n        super().__init__(parent, title=title, style=wx.DEFAULT_DIALOG_STYLE)\r\n\r\n        listWidth = 250 if 'wxGTK' in wx.PlatformInfo else 200\r\n\r\n        self.sFit = Fit.getInstance()\r\n        self.allFits = sorted(\r\n            (f for f in self.sFit.getAllFitsLite() if f.ID not in excludedFitIDs),\r\n            key=fitSorter)\r\n        self.SetMinSize((400, 400))\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        searchSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        self.searchBox = wx.TextCtrl(self, wx.ID_ANY, style=wx.TE_PROCESS_ENTER)\r\n        searchSizer.Add(self.searchBox, 1, wx.EXPAND | wx.ALL, 5)\r\n        mainSizer.Add(searchSizer, 0, wx.EXPAND | wx.ALL, 0)\r\n\r\n        listSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        self.fromList = FitListView(self, size=(listWidth, -1))\r\n        self.fromList.Bind(wx.EVT_LEFT_DCLICK, self.OnFromListDclick)\r\n        listSizer.Add(self.fromList, 1, wx.EXPAND | wx.ALL, 5)\r\n\r\n        listButtonSizer = wx.BoxSizer(wx.VERTICAL)\r\n        listButtonSizer.AddStretchSpacer()\r\n        addButton = wx.Button(self, wx.ID_ANY, '>>', wx.DefaultPosition, wx.DefaultSize, 0)\r\n        addButton.Bind(wx.EVT_BUTTON, self.OnButtonAdd)\r\n        listButtonSizer.Add(addButton, 0, wx.EXPAND | wx.ALL, 5)\r\n        removeButton = wx.Button(self, wx.ID_ANY, '<<', wx.DefaultPosition, wx.DefaultSize, 0)\r\n        removeButton.Bind(wx.EVT_BUTTON, self.OnButtonRemove)\r\n        listButtonSizer.Add(removeButton, 0, wx.EXPAND | wx.ALL, 5)\r\n        listButtonSizer.AddStretchSpacer()\r\n        listSizer.Add(listButtonSizer, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.toList = FitListView(self, size=(listWidth, -1))\r\n        self.toList.Bind(wx.EVT_LEFT_DCLICK, self.OnToListDclick)\r\n        listSizer.Add(self.toList, 1, wx.EXPAND | wx.ALL, 5)\r\n        mainSizer.Add(listSizer, 1, wx.EXPAND | wx.ALL, 0)\r\n\r\n        buttonSizer = self.CreateButtonSizer(wx.OK | wx.CANCEL)\r\n        if buttonSizer:\r\n            mainSizer.Add(buttonSizer, 0, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.resetContents()\r\n\r\n        self.inputTimer = wx.Timer(self)\r\n        self.Bind(wx.EVT_TIMER, self.OnInputTimer, self.inputTimer)\r\n        self.searchBox.Bind(event=wx.EVT_TEXT, handler=self.OnSearchChanged)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.Layout()\r\n        self.SetSize(self.GetBestSize())\r\n        self.CenterOnParent()\r\n        self.searchBox.SetFocus()\r\n\r\n    def OnButtonAdd(self, event):\r\n        event.Skip()\r\n        fits = self.fromList.GetSelectedFits()\r\n        if not fits:\r\n            return\r\n        self.fromList.removeFits(fits)\r\n        self.toList.addFits(fits)\r\n        self.fromList.unselectAll()\r\n        self.toList.unselectAll()\r\n\r\n    def OnButtonRemove(self, event):\r\n        event.Skip()\r\n        fits = self.toList.GetSelectedFits()\r\n        if not fits:\r\n            return\r\n        self.toList.removeFits(fits)\r\n        self.fromList.addFits(fits)\r\n        self.fromList.unselectAll()\r\n        self.toList.unselectAll()\r\n\r\n    def OnSearchChanged(self, event):\r\n        event.Skip()\r\n        self.inputTimer.Stop()\r\n        self.inputTimer.Start(self.sFit.serviceFittingOptions['marketSearchDelay'], True)\r\n\r\n    def OnInputTimer(self, event):\r\n        event.Skip()\r\n        searchPattern = self.searchBox.GetValue().strip()\r\n        if not searchPattern:\r\n            self.resetContents()\r\n        else:\r\n\r\n            def isMatch(fit, searchTokens):\r\n                for token in searchTokens:\r\n                    if (\r\n                        token not in fit.name.lower() and\r\n                        token not in fit.shipName.lower() and\r\n                        token not in fit.shipNameShort.lower()\r\n                    ):\r\n                        return False\r\n                return True\r\n\r\n            matches = []\r\n            searchTokens = [t.lower() for t in re.split(r'\\s+', searchPattern)]\r\n            for fit in self.allFits:\r\n                if isMatch(fit, searchTokens):\r\n                    matches.append(fit)\r\n            self.fromList.updateData(matches)\r\n\r\n    def OnFromListDclick(self, event):\r\n        event.Skip()\r\n        row, _ = self.fromList.HitTest(event.Position)\r\n        if row == -1:\r\n            return\r\n        try:\r\n            fit = self.fromList.fits[row]\r\n        except IndexError:\r\n            return\r\n        self.fromList.removeFits([fit])\r\n        self.toList.addFits([fit])\r\n        self.fromList.unselectAll()\r\n        self.toList.unselectAll()\r\n\r\n    def OnToListDclick(self, event):\r\n        event.Skip()\r\n        row, _ = self.toList.HitTest(event.Position)\r\n        if row == -1:\r\n            return\r\n        try:\r\n            fit = self.toList.fits[row]\r\n        except IndexError:\r\n            return\r\n        self.toList.removeFits([fit])\r\n        self.fromList.addFits([fit])\r\n        self.fromList.unselectAll()\r\n        self.toList.unselectAll()\r\n\r\n    def resetContents(self):\r\n        fits = [f for f in self.allFits if f not in self.toList.fits]\r\n        self.fromList.updateData(fits)\r\n\r\n    def getFitIDsToAdd(self):\r\n        return [f.ID for f in self.toList.fits]\r\n\r\n\r\nclass FitListView(d.Display):\r\n\r\n    DEFAULT_COLS = ['Base Name']\r\n\r\n    def __init__(self, parent, **kwargs):\r\n        super().__init__(parent, style=wx.BORDER_NONE, **kwargs)\r\n        self.fits = []\r\n\r\n    def updateView(self):\r\n        self.update(self.fits)\r\n\r\n    def refreshView(self):\r\n        self.refresh(self.fits)\r\n\r\n    def updateData(self, fits):\r\n        self.fits = fits\r\n        self.updateView()\r\n\r\n    def addFits(self, fits):\r\n        for fit in fits:\r\n            if fit in self.fits:\r\n                continue\r\n            self.fits.append(fit)\r\n        self.fits.sort(key=fitSorter)\r\n        self.updateView()\r\n\r\n    def removeFits(self, fits):\r\n        for fit in fits:\r\n            if fit not in self.fits:\r\n                continue\r\n            self.fits.remove(fit)\r\n        self.updateView()\r\n\r\n    def GetSelectedFits(self):\r\n        fits = []\r\n        for row in self.getSelectedRows():\r\n            try:\r\n                fit = self.fits[row]\r\n            except IndexError:\r\n                continue\r\n            fits.append(fit)\r\n        return fits\r\n"
  },
  {
    "path": "gui/fitCommands/__init__.py",
    "content": "from .gui.booster.add import GuiAddBoosterCommand\r\nfrom .gui.booster.changeMeta import GuiChangeBoosterMetaCommand\r\nfrom .gui.booster.imprt import GuiImportBoostersCommand\r\nfrom .gui.booster.remove import GuiRemoveBoostersCommand\r\nfrom .gui.booster.sideEffectToggleState import GuiToggleBoosterSideEffectStateCommand\r\nfrom .gui.booster.toggleStates import GuiToggleBoosterStatesCommand\r\nfrom .gui.cargo.add import GuiAddCargoCommand\r\nfrom .gui.cargo.changeAmount import GuiChangeCargosAmountCommand\r\nfrom .gui.cargo.changeMetas import GuiChangeCargoMetasCommand\r\nfrom .gui.cargo.imprt import GuiImportCargosCommand\r\nfrom .gui.cargo.remove import GuiRemoveCargosCommand\r\nfrom .gui.commandFit.add import GuiAddCommandFitsCommand\r\nfrom .gui.commandFit.remove import GuiRemoveCommandFitsCommand\r\nfrom .gui.commandFit.toggleStates import GuiToggleCommandFitStatesCommand\r\nfrom .gui.fitPilotSecurity import GuiChangeFitPilotSecurityCommand\r\nfrom .gui.fitRename import GuiRenameFitCommand\r\nfrom .gui.fitRestrictionToggle import GuiToggleFittingRestrictionsCommand\r\nfrom .gui.fitSystemSecurity import GuiChangeFitSystemSecurityCommand\r\nfrom .gui.implant.add import GuiAddImplantCommand\r\nfrom .gui.implant.changeLocation import GuiChangeImplantLocationCommand\r\nfrom .gui.implant.changeMeta import GuiChangeImplantMetaCommand\r\nfrom .gui.implant.imprt import GuiImportImplantsCommand\r\nfrom .gui.implant.remove import GuiRemoveImplantsCommand\r\nfrom .gui.implant.setAdd import GuiAddImplantSetCommand\r\nfrom .gui.implant.toggleStates import GuiToggleImplantStatesCommand\r\nfrom .gui.itemsRebase import GuiRebaseItemsCommand\r\nfrom .gui.localDrone.add import GuiAddLocalDroneCommand\r\nfrom .gui.localDrone.changeAmount import GuiChangeLocalDroneAmountCommand\r\nfrom .gui.localDrone.changeMetas import GuiChangeLocalDroneMetasCommand\r\nfrom .gui.localDrone.changeMutation import GuiChangeLocalDroneMutationCommand\r\nfrom .gui.localDrone.clone import GuiCloneLocalDroneCommand\r\nfrom .gui.localDrone.imprt import GuiImportLocalDronesCommand\r\nfrom .gui.localDrone.mutatedConvert import GuiConvertMutatedLocalDroneCommand\r\nfrom .gui.localDrone.mutatedImport import GuiImportLocalMutatedDroneCommand\r\nfrom .gui.localDrone.mutatedRevert import GuiRevertMutatedLocalDroneCommand\r\nfrom .gui.localDrone.remove import GuiRemoveLocalDronesCommand\r\nfrom .gui.localDrone.stackSplit import GuiSplitLocalDroneStackCommand\r\nfrom .gui.localDrone.stacksMerge import GuiMergeLocalDroneStacksCommand\r\nfrom .gui.localDrone.toggleStates import GuiToggleLocalDroneStatesCommand\r\nfrom .gui.localFighter.abilityToggleState import GuiToggleLocalFighterAbilityStateCommand\r\nfrom .gui.localFighter.add import GuiAddLocalFighterCommand\r\nfrom .gui.localFighter.changeAmount import GuiChangeLocalFighterAmountCommand\r\nfrom .gui.localFighter.changeMetas import GuiChangeLocalFighterMetasCommand\r\nfrom .gui.localFighter.imprt import GuiImportLocalFightersCommand\r\nfrom .gui.localFighter.remove import GuiRemoveLocalFightersCommand\r\nfrom .gui.localFighter.toggleStates import GuiToggleLocalFighterStatesCommand\r\nfrom .gui.localModule.add import GuiAddLocalModuleCommand\r\nfrom .gui.localModule.changeCharges import GuiChangeLocalModuleChargesCommand\r\nfrom .gui.localModule.changeMetas import GuiChangeLocalModuleMetasCommand\r\nfrom .gui.localModule.changeMutation import GuiChangeLocalModuleMutationCommand\r\nfrom .gui.localModule.changeSpool import GuiChangeLocalModuleSpoolCommand\r\nfrom .gui.localModule.changeStates import GuiChangeLocalModuleStatesCommand\r\nfrom .gui.localModule.clone import GuiCloneLocalModuleCommand\r\nfrom .gui.localModule.fillAdd import GuiFillWithNewLocalModulesCommand\r\nfrom .gui.localModule.fillClone import GuiFillWithClonedLocalModulesCommand\r\nfrom .gui.localModule.mutatedConvert import GuiConvertMutatedLocalModuleCommand\r\nfrom .gui.localModule.mutatedImport import GuiImportLocalMutatedModuleCommand\r\nfrom .gui.localModule.mutatedRevert import GuiRevertMutatedLocalModuleCommand\r\nfrom .gui.localModule.remove import GuiRemoveLocalModuleCommand\r\nfrom .gui.localModule.replace import GuiReplaceLocalModuleCommand\r\nfrom .gui.localModule.swap import GuiSwapLocalModulesCommand\r\nfrom .gui.localModuleCargo.cargoToLocalModule import GuiCargoToLocalModuleCommand\r\nfrom .gui.localModuleCargo.localModuleToCargo import GuiLocalModuleToCargoCommand\r\nfrom .gui.projectedChangeProjectionRange import GuiChangeProjectedItemsProjectionRangeCommand\r\nfrom .gui.projectedChangeStates import GuiChangeProjectedItemStatesCommand\r\nfrom .gui.projectedDrone.add import GuiAddProjectedDroneCommand\r\nfrom .gui.projectedDrone.changeAmount import GuiChangeProjectedDroneAmountCommand\r\nfrom .gui.projectedDrone.changeMetas import GuiChangeProjectedDroneMetasCommand\r\nfrom .gui.projectedFighter.abilityToggleState import GuiToggleProjectedFighterAbilityStateCommand\r\nfrom .gui.projectedFighter.add import GuiAddProjectedFighterCommand\r\nfrom .gui.projectedFighter.changeAmount import GuiChangeProjectedFighterAmountCommand\r\nfrom .gui.projectedFighter.changeMetas import GuiChangeProjectedFighterMetasCommand\r\nfrom .gui.projectedFit.add import GuiAddProjectedFitsCommand\r\nfrom .gui.projectedFit.changeAmount import GuiChangeProjectedFitAmountCommand\r\nfrom .gui.projectedModule.add import GuiAddProjectedModuleCommand\r\nfrom .gui.projectedModule.changeCharges import GuiChangeProjectedModuleChargesCommand\r\nfrom .gui.projectedModule.changeMetas import GuiChangeProjectedModuleMetasCommand\r\nfrom .gui.projectedModule.changeSpool import GuiChangeProjectedModuleSpoolCommand\r\nfrom .gui.projectedRemove import GuiRemoveProjectedItemsCommand\r\nfrom .gui.shipModeChange import GuiChangeShipModeCommand\r\n"
  },
  {
    "path": "gui/fitCommands/calc/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/calc/booster/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/calc/booster/add.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcAddBoosterCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, boosterInfo, position=None):\r\n        wx.Command.__init__(self, True, 'Add Booster')\r\n        self.fitID = fitID\r\n        self.newBoosterInfo = boosterInfo\r\n        self.newPosition = position\r\n        self.oldBoosterInfo = None\r\n        self.oldPosition = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing addition of booster {} to fit {}'.format(self.newBoosterInfo, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n\r\n        if any(self.newBoosterInfo.itemID == b.itemID for b in fit.boosters):\r\n            pyfalog.debug('Skipping as such booster is already on the fit')\r\n            return False\r\n\r\n        newBooster = self.newBoosterInfo.toBooster()\r\n        if newBooster is None:\r\n            return False\r\n\r\n        self.oldPosition, self.oldBoosterInfo = fit.boosters.makeRoom(newBooster)\r\n\r\n        if self.newPosition is not None:\r\n            fit.boosters.insert(self.newPosition, newBooster)\r\n            if newBooster not in fit.boosters:\r\n                pyfalog.warning('Failed to insert to list')\r\n                cmd = CalcAddBoosterCommand(\r\n                    fitID=self.fitID,\r\n                    boosterInfo=self.oldBoosterInfo,\r\n                    position=self.oldPosition)\r\n                cmd.Do()\r\n                return False\r\n        else:\r\n            fit.boosters.append(newBooster)\r\n            if newBooster not in fit.boosters:\r\n                pyfalog.warning('Failed to append to list')\r\n                cmd = CalcAddBoosterCommand(\r\n                    fitID=self.fitID,\r\n                    boosterInfo=self.oldBoosterInfo,\r\n                    position=self.oldPosition)\r\n                cmd.Do()\r\n                return False\r\n            self.newPosition = fit.boosters.index(newBooster)\r\n\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undo addition of booster {} to fit {}'.format(self.newBoosterInfo, self.fitID))\r\n        if self.oldBoosterInfo is not None and self.oldPosition is not None:\r\n            cmd = CalcAddBoosterCommand(fitID=self.fitID, boosterInfo=self.oldBoosterInfo, position=self.oldPosition)\r\n            return cmd.Do()\r\n        from .remove import CalcRemoveBoosterCommand\r\n        cmd = CalcRemoveBoosterCommand(fitID=self.fitID, position=self.newPosition)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/booster/remove.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import BoosterInfo\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcRemoveBoosterCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position):\r\n        wx.Command.__init__(self, True, 'Remove Booster')\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.savedBoosterInfo = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing removal of booster from position {} on fit {}'.format(self.position, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        booster = fit.boosters[self.position]\r\n        self.savedBoosterInfo = BoosterInfo.fromBooster(booster)\r\n        fit.boosters.remove(booster)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing removal of booster {} on fit {}'.format(self.savedBoosterInfo, self.fitID))\r\n        from .add import CalcAddBoosterCommand\r\n        cmd = CalcAddBoosterCommand(\r\n            fitID=self.fitID,\r\n            boosterInfo=self.savedBoosterInfo,\r\n            position=self.position)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/booster/sideEffectToggleState.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcToggleBoosterSideEffectStateCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, effectID, forceState=None):\r\n        wx.Command.__init__(self, True, 'Toggle Booster Side Effect State')\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.effectID = effectID\r\n        self.forceState = forceState\r\n        self.savedState = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing toggling of booster side effect {} state at position {} for fit {}'.format(self.effectID, self.position, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        booster = fit.boosters[self.position]\r\n        sideEffect = next((se for se in booster.sideEffects if se.effectID == self.effectID), None)\r\n        if sideEffect is None:\r\n            pyfalog.warning('Unable to find booster side effect')\r\n            return False\r\n        self.savedState = sideEffect.active\r\n        sideEffect.active = not sideEffect.active if self.forceState is None else self.forceState\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing toggling of booster side effect {} state at position {} for fit {}'.format(self.effectID, self.position, self.fitID))\r\n        cmd = CalcToggleBoosterSideEffectStateCommand(fitID=self.fitID, position=self.position, effectID=self.effectID, forceState=self.savedState)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/booster/toggleStates.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcToggleBoosterStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainPosition, positions, forceStates=None):\r\n        wx.Command.__init__(self, True, 'Toggle Booster States')\r\n        self.fitID = fitID\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n        self.forceStates = forceStates\r\n        self.savedStates = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing toggling of booster state at position {}/{} for fit {}'.format(self.mainPosition, self.positions, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n\r\n        positions = self.positions[:]\r\n        if self.mainPosition not in positions:\r\n            positions.append(self.mainPosition)\r\n        self.savedStates = {p: fit.boosters[p].active for p in positions}\r\n\r\n        if self.forceStates is not None:\r\n            for position, state in self.forceStates.items():\r\n                booster = fit.boosters[position]\r\n                booster.active = state\r\n        elif fit.boosters[self.mainPosition].active:\r\n            for position in positions:\r\n                booster = fit.boosters[position]\r\n                if booster.active:\r\n                    booster.active = False\r\n        else:\r\n            for position in positions:\r\n                booster = fit.boosters[position]\r\n                if not booster.active:\r\n                    booster.active = True\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing toggling of booster state at position {}/{} for fit {}'.format(self.mainPosition, self.positions, self.fitID))\r\n        cmd = CalcToggleBoosterStatesCommand(\r\n            fitID=self.fitID,\r\n            mainPosition=self.mainPosition,\r\n            positions=self.positions,\r\n            forceStates=self.savedStates)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/cargo/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/calc/cargo/add.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcAddCargoCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, cargoInfo):\r\n        wx.Command.__init__(self, True, 'Add Cargo')\r\n        self.fitID = fitID\r\n        self.cargoInfo = cargoInfo\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing addition of cargo {} to fit {}'.format(self.cargoInfo, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        cargo = next((c for c in fit.cargo if c.itemID == self.cargoInfo.itemID), None)\r\n        if cargo is not None:\r\n            cargo.amount += self.cargoInfo.amount\r\n        else:\r\n            cargo = self.cargoInfo.toCargo()\r\n            fit.cargo.append(cargo)\r\n            if cargo not in fit.cargo:\r\n                pyfalog.warning('Failed to append to list')\r\n                return False\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing addition of cargo {} to fit {}'.format(self.cargoInfo, self.fitID))\r\n        from .remove import CalcRemoveCargoCommand\r\n        cmd = CalcRemoveCargoCommand(fitID=self.fitID, cargoInfo=self.cargoInfo)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/cargo/changeAmount.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import CargoInfo\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeCargoAmountCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, cargoInfo):\r\n        wx.Command.__init__(self, True, 'Change Cargo Amount')\r\n        self.fitID = fitID\r\n        self.cargoInfo = cargoInfo\r\n        self.savedCargoInfo = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing change of cargo {} for fit {}'.format(self.cargoInfo, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        cargo = next((c for c in fit.cargo if c.itemID == self.cargoInfo.itemID), None)\r\n        if cargo is None:\r\n            pyfalog.warning('Cannot find cargo item')\r\n            return False\r\n        self.savedCargoInfo = CargoInfo.fromCargo(cargo)\r\n        if self.cargoInfo.amount == self.savedCargoInfo.amount:\r\n            return False\r\n        cargo.amount = self.cargoInfo.amount\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing change of cargo {} for fit {}'.format(self.cargoInfo, self.fitID))\r\n        cmd = CalcChangeCargoAmountCommand(fitID=self.fitID, cargoInfo=self.savedCargoInfo)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/cargo/remove.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import CargoInfo\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcRemoveCargoCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, cargoInfo):\r\n        wx.Command.__init__(self, True, 'Remove Cargo')\r\n        self.fitID = fitID\r\n        self.cargoInfo = cargoInfo\r\n        self.savedRemovedAmount = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing removal of cargo {} to fit {}'.format(self.cargoInfo, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        cargo = next((x for x in fit.cargo if x.itemID == self.cargoInfo.itemID), None)\r\n        if cargo is None:\r\n            return False\r\n        self.savedRemovedAmount = min(cargo.amount, self.cargoInfo.amount)\r\n        cargo.amount -= self.savedRemovedAmount\r\n        if cargo.amount <= 0:\r\n            fit.cargo.remove(cargo)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing removal of cargo {} to fit {}'.format(self.cargoInfo, self.fitID))\r\n        from .add import CalcAddCargoCommand\r\n        cmd = CalcAddCargoCommand(\r\n            fitID=self.fitID,\r\n            cargoInfo=CargoInfo(itemID=self.cargoInfo.itemID, amount=self.savedRemovedAmount))\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/commandFit/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/calc/commandFit/add.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcAddCommandCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, commandFitID, state=None):\r\n        wx.Command.__init__(self, True, 'Add Command Fit')\r\n        self.fitID = fitID\r\n        self.commandFitID = commandFitID\r\n        self.state = state\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing addition of command fit {} for fit {}'.format(self.commandFitID, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        commandFit = sFit.getFit(self.commandFitID)\r\n\r\n        # Command fit could have been deleted if we are redoing\r\n        if commandFit is None:\r\n            pyfalog.debug('Command fit is not available')\r\n            return False\r\n        # Already commanding this ship\r\n        if commandFit in fit.commandFits:\r\n            pyfalog.debug('Command fit had been applied already')\r\n            return False\r\n        if commandFit.ID in fit.commandFitDict:\r\n            pyfalog.debug('Commanding fit is in command dict already')\r\n            return False\r\n        fit.commandFitDict[commandFit.ID] = commandFit\r\n        # This bit is required, see issue #83\r\n        eos.db.saveddata_session.flush()\r\n        eos.db.saveddata_session.refresh(commandFit)\r\n\r\n        if self.state is not None:\r\n            fitCommandInfo = commandFit.getCommandInfo(self.fitID)\r\n            if fitCommandInfo is None:\r\n                pyfalog.warning('Fit command info is not available')\r\n                self.Undo()\r\n                return False\r\n            fitCommandInfo.active = self.state\r\n\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing addition of command fit {} for fit {}'.format(self.commandFitID, self.fitID))\r\n        # Can't find the command fit, it must have been deleted. Just skip, as deleted fit\r\n        # means that someone else just did exactly what we wanted to do\r\n        commandFit = Fit.getInstance().getFit(self.commandFitID)\r\n        if commandFit is None:\r\n            return True\r\n        from .remove import CalcRemoveCommandFitCommand\r\n        cmd = CalcRemoveCommandFitCommand(fitID=self.fitID, commandFitID=self.commandFitID)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/commandFit/remove.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcRemoveCommandFitCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, commandFitID):\r\n        wx.Command.__init__(self, True, 'Remove Command Fit')\r\n        self.fitID = fitID\r\n        self.commandFitID = commandFitID\r\n        self.savedState = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing removal of command fit {} for fit {}'.format(self.commandFitID, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        commandFit = sFit.getFit(self.commandFitID)\r\n\r\n        # Can be removed by the time we're redoing it\r\n        if commandFit is None:\r\n            pyfalog.debug('Command fit is not available')\r\n            return False\r\n        commandInfo = commandFit.getCommandInfo(self.fitID)\r\n        if commandInfo is None:\r\n            pyfalog.warning('Fit command info is not available')\r\n            return False\r\n        self.savedState = commandInfo.active\r\n        if commandFit.ID not in fit.commandFitDict:\r\n            pyfalog.warning('Unable to find commanding fit in command dict')\r\n            return False\r\n        del fit.commandFitDict[commandFit.ID]\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing removal of command fit {} for fit {}'.format(self.commandFitID, self.fitID))\r\n        from .add import CalcAddCommandCommand\r\n        cmd = CalcAddCommandCommand(\r\n            fitID=self.fitID,\r\n            commandFitID=self.commandFitID,\r\n            state=self.savedState)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/commandFit/toggleStates.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcToggleCommandFitStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainCommandFitID, commandFitIDs, forceStates=None):\r\n        wx.Command.__init__(self, True, 'Toggle Command Fit States')\r\n        self.fitID = fitID\r\n        self.mainCommandFitID = mainCommandFitID\r\n        self.commandFitIDs = commandFitIDs\r\n        self.forceStates = forceStates\r\n        self.savedStates = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing toggling of command fit {}/{} state for fit {}'.format(self.mainCommandFitID, self.commandFitIDs, self.fitID))\r\n        sFit = Fit.getInstance()\r\n\r\n        commandFitIDs = self.commandFitIDs[:]\r\n        if self.mainCommandFitID not in commandFitIDs:\r\n            commandFitIDs.append(self.mainCommandFitID)\r\n\r\n        commandInfos = {}\r\n        for commandFitID in commandFitIDs:\r\n            commandFit = sFit.getFit(commandFitID)\r\n            # Command fit could have been deleted if we are redoing\r\n            if commandFit is None:\r\n                pyfalog.debug('Command fit is not available')\r\n                continue\r\n            commandInfo = commandFit.getCommandInfo(self.fitID)\r\n            if commandInfo is None:\r\n                pyfalog.warning('Fit command info is not available')\r\n                continue\r\n            commandInfos[commandFitID] = commandInfo\r\n\r\n        if len(commandInfos) == 0:\r\n            return False\r\n\r\n        self.savedStates = {cfid: ci.active for cfid, ci in commandInfos.items()}\r\n\r\n        mainCommandInfo = commandInfos.get(self.mainCommandFitID)\r\n        if self.forceStates is not None:\r\n            for commandFitID, state in self.forceStates.items():\r\n                commandInfo = commandInfos.get(commandFitID)\r\n                if commandInfo is None:\r\n                    continue\r\n                commandInfo.active = state\r\n        elif mainCommandInfo is not None and mainCommandInfo.active:\r\n            for commandInfo in commandInfos.values():\r\n                commandInfo.active = False\r\n        elif mainCommandInfo is not None and not mainCommandInfo.active:\r\n            for commandInfo in commandInfos.values():\r\n                commandInfo.active = True\r\n        # Bail if we cannot calculate which state to take\r\n        else:\r\n            return False\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing toggling of command fit {}/{} state for fit {}'.format(self.mainCommandFitID, self.commandFitIDs, self.fitID))\r\n        cmd = CalcToggleCommandFitStatesCommand(\r\n            fitID=self.fitID,\r\n            mainCommandFitID=self.mainCommandFitID,\r\n            commandFitIDs=self.commandFitIDs,\r\n            forceStates=self.savedStates)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/drone/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/calc/drone/localAdd.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import DroneInfo, droneStackLimit\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcAddLocalDroneCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, droneInfo, forceNewStack=False, ignoreRestrictions=False):\r\n        wx.Command.__init__(self, True, 'Add Local Drone')\r\n        self.fitID = fitID\r\n        self.droneInfo = droneInfo\r\n        self.forceNewStack = forceNewStack\r\n        self.ignoreRestrictions = ignoreRestrictions\r\n        self.savedDroneInfo = None\r\n        self.savedPosition = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing addition of local drone {} to fit {}'.format(self.droneInfo, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        item = Market.getInstance().getItem(self.droneInfo.itemID, eager=(\"attributes\", \"group.category\"))\r\n        # If we're not adding any active drones, check if there's an inactive stack\r\n        # with enough space for new drones and use it\r\n        if not self.forceNewStack and self.droneInfo.amountActive == 0:\r\n            maxStack = droneStackLimit(fit, item)\r\n            for drone in fit.drones.find(item):\r\n                if (\r\n                    drone is not None and drone.amountActive == 0 and\r\n                    drone.amount + self.droneInfo.amount <= maxStack\r\n                ):\r\n                    self.savedDroneInfo = DroneInfo.fromDrone(drone)\r\n                    self.savedPosition = fit.drones.index(drone)\r\n                    drone.amount += self.droneInfo.amount\r\n                    return True\r\n        # Do new stack otherwise\r\n        drone = self.droneInfo.toDrone()\r\n        if drone is None:\r\n            return False\r\n        if not self.ignoreRestrictions and not drone.fits(fit):\r\n            pyfalog.warning('Drone does not fit')\r\n            return False\r\n        fit.drones.append(drone)\r\n        if drone not in fit.drones:\r\n            pyfalog.warning('Failed to append to list')\r\n            return False\r\n        self.savedPosition = fit.drones.index(drone)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing addition of local drone {} to fit {}'.format(self.droneInfo, self.fitID))\r\n        if self.savedDroneInfo is not None:\r\n            fit = Fit.getInstance().getFit(self.fitID)\r\n            drone = fit.drones[self.savedPosition]\r\n            drone.amount = self.savedDroneInfo.amount\r\n            drone.amountActive = self.savedDroneInfo.amountActive\r\n            return True\r\n        from .localRemove import CalcRemoveLocalDroneCommand\r\n        cmd = CalcRemoveLocalDroneCommand(\r\n            fitID=self.fitID,\r\n            position=self.savedPosition,\r\n            amount=self.droneInfo.amount)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/drone/localChangeAmount.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import DroneInfo\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeLocalDroneAmountCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, amount):\r\n        wx.Command.__init__(self, True, 'Change Local Drone Amount')\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.amount = amount\r\n        self.savedDroneInfo = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing change of local drone amount to {} at position {} on fit {}'.format(self.amount, self.position, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        drone = fit.drones[self.position]\r\n        self.savedDroneInfo = DroneInfo.fromDrone(drone)\r\n        if self.amount == self.savedDroneInfo.amount:\r\n            return False\r\n        drone.amount = self.amount\r\n        if drone.amountActive > 0:\r\n            difference = self.amount - self.savedDroneInfo.amount\r\n            drone.amount = self.amount\r\n            drone.amountActive = max(min(drone.amountActive + difference, drone.amount), 0)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing change of local drone quantity to {} at position {} on fit {}'.format(self.amount, self.position, self.fitID))\r\n        if self.savedDroneInfo is not None:\r\n            fit = Fit.getInstance().getFit(self.fitID)\r\n            drone = fit.drones[self.position]\r\n            drone.amount = self.savedDroneInfo.amount\r\n            drone.amountActive = self.savedDroneInfo.amountActive\r\n            return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/drone/localChangeMutation.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeLocalDroneMutationCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, mutation, oldMutation=None):\r\n        wx.Command.__init__(self, True, 'Change Local Drone Mutation')\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.mutation = mutation\r\n        self.savedMutation = oldMutation\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing changing of local drone mutation at position {} to {} for fit ID {}'.format(\r\n            self.position, self.mutation, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        drone = fit.drones[self.position]\r\n        if not drone.isMutated:\r\n            return False\r\n\r\n        if self.savedMutation is None:\r\n            self.savedMutation = {}\r\n            for mutator in drone.mutators.values():\r\n                self.savedMutation[mutator.attrID] = mutator.value\r\n\r\n        if self.mutation == self.savedMutation:\r\n            return False\r\n\r\n        for mutator in drone.mutators.values():\r\n            if mutator.attrID not in self.mutation:\r\n                continue\r\n            if mutator.value != self.mutation[mutator.attrID]:\r\n                mutator.value = self.mutation[mutator.attrID]\r\n\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing changing of local drone mutation at position {} to {} for fit ID {}'.format(\r\n            self.position, self.mutation, self.fitID))\r\n        cmd = CalcChangeLocalDroneMutationCommand(\r\n            fitID=self.fitID,\r\n            position=self.position,\r\n            mutation=self.savedMutation)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/drone/localRemove.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import DroneInfo\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcRemoveLocalDroneCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, amount):\r\n        wx.Command.__init__(self, True, 'Remove Local Drone')\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.amountToRemove = amount\r\n        self.savedDroneInfo = None\r\n        self.removedStack = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing removal of {} local drones at position {} from fit {}'.format(self.amountToRemove, self.position, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        drone = fit.drones[self.position]\r\n        self.savedDroneInfo = DroneInfo.fromDrone(drone)\r\n\r\n        drone.amount = max(drone.amount - self.amountToRemove, 0)\r\n        if drone.amountActive > 0:\r\n            drone.amountActive = min(drone.amountActive, drone.amount)\r\n\r\n        if drone.amount == 0:\r\n            fit.drones.remove(drone)\r\n            self.removedStack = True\r\n        else:\r\n            self.removedStack = False\r\n\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing removal of {} local drones at position {} from fit {}'.format(self.amountToRemove, self.position, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        if self.removedStack:\r\n            drone = self.savedDroneInfo.toDrone()\r\n            if drone is None:\r\n                return False\r\n            fit.drones.insert(self.position, drone)\r\n            if drone not in fit.drones:\r\n                pyfalog.warning('Failed to insert to list')\r\n                return False\r\n        else:\r\n            drone = fit.drones[self.position]\r\n            drone.amount = self.savedDroneInfo.amount\r\n            drone.amountActive = self.savedDroneInfo.amountActive\r\n        return True\r\n"
  },
  {
    "path": "gui/fitCommands/calc/drone/localToggleStates.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcToggleLocalDroneStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainPosition, positions, forceActiveAmounts=None):\r\n        wx.Command.__init__(self, True, 'Toggle Local Drone States')\r\n        self.fitID = fitID\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n        self.forceActiveAmounts = forceActiveAmounts\r\n        self.savedActiveAmounts = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing toggling of local drone state at position {}/{} for fit {}'.format(self.mainPosition, self.positions, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n\r\n        positions = self.positions[:]\r\n        if self.mainPosition not in positions:\r\n            positions.append(self.mainPosition)\r\n        self.savedActiveAmounts = {p: fit.drones[p].amountActive for p in positions}\r\n\r\n        if self.forceActiveAmounts is not None:\r\n            for position, amountActive in self.forceActiveAmounts.items():\r\n                drone = fit.drones[position]\r\n                drone.amountActive = amountActive\r\n        elif fit.drones[self.mainPosition].amountActive > 0:\r\n            for position in positions:\r\n                drone = fit.drones[position]\r\n                if drone.amountActive > 0:\r\n                    drone.amountActive = 0\r\n        else:\r\n            for position in positions:\r\n                drone = fit.drones[position]\r\n                if drone.amountActive == 0:\r\n                    drone.amountActive = drone.amount\r\n\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing toggling of local drone state at position {}/{} for fit {}'.format(self.mainPosition, self.positions, self.fitID))\r\n        cmd = CalcToggleLocalDroneStatesCommand(\r\n            fitID=self.fitID,\r\n            mainPosition=self.mainPosition,\r\n            positions=self.positions,\r\n            forceActiveAmounts=self.savedActiveAmounts)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/drone/projectedAdd.py",
    "content": "import math\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import DroneInfo\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcAddProjectedDroneCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, droneInfo):\r\n        wx.Command.__init__(self, True, 'Add Projected Drone')\r\n        self.fitID = fitID\r\n        self.droneInfo = droneInfo\r\n        self.savedDroneInfo = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing addition of projected drone {} to fit {}'.format(self.droneInfo, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        drone = next((pd for pd in fit.projectedDrones if pd.itemID == self.droneInfo.itemID), None)\r\n        # Changing existing stack\r\n        if drone is not None:\r\n            self.savedDroneInfo = DroneInfo.fromDrone(drone)\r\n            # Ignore drone info's active amount parameter if we're adding to existing stack,\r\n            # and decide based on stack's state\r\n            drone.amount += self.droneInfo.amount\r\n            if drone.amountActive > 0:\r\n                drone.amountActive += self.droneInfo.amount\r\n            return True\r\n        # Making new stack\r\n        drone = self.droneInfo.toDrone()\r\n        if drone is None:\r\n            return False\r\n        if not drone.item.isType('projected'):\r\n            pyfalog.debug('Drone is not projectable')\r\n            return False\r\n        fit.projectedDrones.append(drone)\r\n        if drone not in fit.projectedDrones:\r\n            pyfalog.warning('Failed to append to list')\r\n            return False\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing addition of projected drone {} to fit {}'.format(self.droneInfo, self.fitID))\r\n        # Changing existing stack\r\n        if self.savedDroneInfo is not None:\r\n            fit = Fit.getInstance().getFit(self.fitID)\r\n            drone = next((pd for pd in fit.projectedDrones if pd.itemID == self.savedDroneInfo.itemID), None)\r\n            if drone is None:\r\n                pyfalog.warning('Unable to find projected drone for modification')\r\n                return False\r\n            drone.amount = self.savedDroneInfo.amount\r\n            drone.amountActive = self.savedDroneInfo.amountActive\r\n            return True\r\n        # Removing previously added stack\r\n        from .projectedRemove import CalcRemoveProjectedDroneCommand\r\n        cmd = CalcRemoveProjectedDroneCommand(\r\n            fitID=self.fitID,\r\n            itemID=self.droneInfo.itemID,\r\n            amount=math.inf)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/drone/projectedChangeAmount.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import DroneInfo\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeProjectedDroneAmountCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID, amount):\r\n        wx.Command.__init__(self, True, 'Change Projected Drone Amount')\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n        self.amount = amount\r\n        self.savedDroneInfo = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing change of projected drone {} amount to {} on fit {}'.format(self.itemID, self.amount, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        drone = next((pd for pd in fit.projectedDrones if pd.itemID == self.itemID), None)\r\n        if drone is None:\r\n            pyfalog.warning('Cannot find projected drone')\r\n            return False\r\n        self.savedDroneInfo = DroneInfo.fromDrone(drone)\r\n        if self.amount == self.savedDroneInfo.amount:\r\n            return False\r\n        drone.amount = self.amount\r\n        if drone.amountActive > 0:\r\n            difference = self.amount - self.savedDroneInfo.amount\r\n            drone.amount = self.amount\r\n            drone.amountActive = max(min(drone.amountActive + difference, drone.amount), 0)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing change of projected drone {} amount to {} on fit {}'.format(self.itemID, self.amount, self.fitID))\r\n        if self.savedDroneInfo is not None:\r\n            fit = Fit.getInstance().getFit(self.fitID)\r\n            drone = next((pd for pd in fit.projectedDrones if pd.itemID == self.savedDroneInfo.itemID), None)\r\n            if drone is None:\r\n                pyfalog.warning('Cannot find projected drone')\r\n                return False\r\n            drone.amount = self.savedDroneInfo.amount\r\n            drone.amountActive = self.savedDroneInfo.amountActive\r\n            return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/drone/projectedChangeProjectionRange.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeProjectedDroneProjectionRangeCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID, projectionRange):\r\n        wx.Command.__init__(self, True, 'Change Projected Drone Projection Range')\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n        self.projectionRange = projectionRange\r\n        self.savedProjectionRange = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing change of projected drone {} projection range to {} on fit {}'.format(\r\n            self.itemID, self.projectionRange, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        drone = next((pd for pd in fit.projectedDrones if pd.itemID == self.itemID), None)\r\n        if drone is None:\r\n            pyfalog.warning('Cannot find projected drone')\r\n            return False\r\n        if drone.projectionRange == self.projectionRange:\r\n            return False\r\n        self.savedProjectionRange = drone.projectionRange\r\n        drone.projectionRange = self.projectionRange\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing change of projected drone {} projection range to {} on fit {}'.format(\r\n            self.itemID, self.projectionRange, self.fitID))\r\n        cmd = CalcChangeProjectedDroneProjectionRangeCommand(\r\n            fitID=self.fitID,\r\n            itemID=self.itemID,\r\n            projectionRange=self.savedProjectionRange)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/drone/projectedChangeState.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeProjectedDroneStateCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID, state):\r\n        wx.Command.__init__(self, True, 'Change Projected Drone State')\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n        self.state = state\r\n        self.savedState = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing changing of projected drone {} state to {} for fit {}'.format(self.itemID, self.state, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n\r\n        drone = next((pd for pd in fit.projectedDrones if pd.itemID == self.itemID), None)\r\n        if drone is None:\r\n            pyfalog.warning('Unable to find projected drone')\r\n            return False\r\n        self.savedState = drone.amountActive > 0\r\n\r\n        if self.state == self.savedState:\r\n            return False\r\n\r\n        if self.state:\r\n            if not drone.canBeApplied(fit):\r\n                pyfalog.warning('Projected drone cannot be applied')\r\n                return False\r\n            drone.amountActive = drone.amount\r\n        else:\r\n            drone.amountActive = 0\r\n\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing changing of projected drone {} state to {} for fit {}'.format(self.itemID, self.state, self.fitID))\r\n        cmd = CalcChangeProjectedDroneStateCommand(\r\n            fitID=self.fitID,\r\n            itemID=self.itemID,\r\n            state=self.savedState)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/drone/projectedRemove.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import DroneInfo\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcRemoveProjectedDroneCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID, amount):\r\n        wx.Command.__init__(self, True, 'Remove Projected Drone')\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n        self.amountToRemove = amount\r\n        self.savedDroneInfo = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing removal of {} projected drones {} from fit {}'.format(self.amountToRemove, self.itemID, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        drone = next((pd for pd in fit.projectedDrones if pd.itemID == self.itemID), None)\r\n        if drone is None:\r\n            pyfalog.warning('Unable to find projected drone')\r\n            return False\r\n        self.savedDroneInfo = DroneInfo.fromDrone(drone)\r\n        drone.amount = max(drone.amount - self.amountToRemove, 0)\r\n        # Remove stack if we have no items remaining\r\n        if drone.amount == 0:\r\n            fit.projectedDrones.remove(drone)\r\n        else:\r\n            if drone.amountActive > 0:\r\n                drone.amountActive = min(drone.amountActive, drone.amount)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing removal of {} projected drones {} from fit {}'.format(self.amountToRemove, self.itemID, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        # Change stack if we still have it\r\n        drone = next((pd for pd in fit.projectedDrones if pd.itemID == self.savedDroneInfo.itemID), None)\r\n        if drone is not None:\r\n            drone.amount = self.savedDroneInfo.amount\r\n            drone.amountActive = self.savedDroneInfo.amountActive\r\n            return True\r\n        # Make new stack\r\n        from .projectedAdd import CalcAddProjectedDroneCommand\r\n        cmd = CalcAddProjectedDroneCommand(fitID=self.fitID, droneInfo=self.savedDroneInfo)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/fighter/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/calc/fighter/abilityToggleStates.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcToggleFighterAbilityStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, projected, mainPosition, positions, effectID, forceStates=None):\r\n        wx.Command.__init__(self, True, 'Toggle Fighter Ability States')\r\n        self.fitID = fitID\r\n        self.projected = projected\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n        self.effectID = effectID\r\n        self.forceStates = forceStates\r\n        self.savedStates = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing toggling of fighter ability {} state at position {}/{} for fit {}'.format(self.effectID, self.mainPosition, self.positions, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        container = fit.projectedFighters if self.projected else fit.fighters\r\n\r\n        positions = self.positions[:]\r\n        if self.mainPosition not in positions:\r\n            positions.append(self.mainPosition)\r\n        savedStates = {}\r\n        for position in positions:\r\n            fighter = container[position]\r\n            ability = next((fa for fa in fighter.abilities if fa.effectID == self.effectID), None)\r\n            if ability is None:\r\n                continue\r\n            savedStates[position] = ability.active\r\n        if len(savedStates) > 0:\r\n            self.savedStates = savedStates\r\n\r\n        mainFighter = container[self.mainPosition]\r\n        mainAbility = next((fa for fa in mainFighter.abilities if fa.effectID == self.effectID), None)\r\n\r\n        changes = False\r\n        if self.forceStates is not None:\r\n            for position, state in self.forceStates.items():\r\n                fighter = container[position]\r\n                ability = next((fa for fa in fighter.abilities if fa.effectID == self.effectID), None)\r\n                if ability is None:\r\n                    continue\r\n                changes = True\r\n                if ability.active is not state:\r\n                    ability.active = state\r\n        elif mainAbility is None:\r\n            pyfalog.warning('Unable to find main fighter ability')\r\n            return False\r\n        elif mainAbility.active:\r\n            for position in positions:\r\n                fighter = container[position]\r\n                ability = next((fa for fa in fighter.abilities if fa.effectID == self.effectID), None)\r\n                if ability is None:\r\n                    continue\r\n                if ability.active:\r\n                    changes = True\r\n                    ability.active = False\r\n        else:\r\n            for position in positions:\r\n                fighter = container[position]\r\n                ability = next((fa for fa in fighter.abilities if fa.effectID == self.effectID), None)\r\n                if ability is None:\r\n                    continue\r\n                if not ability.active:\r\n                    changes = True\r\n                    ability.active = True\r\n        return changes\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing toggling of fighter ability {} state at position {}/{} for fit {}'.format(self.effectID, self.mainPosition, self.positions, self.fitID))\r\n        cmd = CalcToggleFighterAbilityStatesCommand(\r\n            fitID=self.fitID,\r\n            projected=self.projected,\r\n            mainPosition=self.mainPosition,\r\n            positions=self.positions,\r\n            effectID=self.effectID,\r\n            forceStates=self.savedStates)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/fighter/changeAmount.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeFighterAmountCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, projected, position, amount):\r\n        wx.Command.__init__(self, True, 'Change Fighter Amount')\r\n        self.fitID = fitID\r\n        self.projected = projected\r\n        self.position = position\r\n        self.amount = amount\r\n        self.savedAmount = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing change of fighter amount to {} at position {} on fit {}'.format(self.amount, self.position, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        container = fit.projectedFighters if self.projected else fit.fighters\r\n        fighter = container[self.position]\r\n        if self.amount == fighter.amount:\r\n            return False\r\n        self.savedAmount = fighter.amount\r\n        if self.amount == -1:\r\n            fighter.amount = self.amount\r\n            return True\r\n        else:\r\n            fighter.amount = max(min(self.amount, fighter.fighterSquadronMaxSize), 0)\r\n            return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing change of fighter amount to {} at position {} on fit {}'.format(self.amount, self.position, self.fitID))\r\n        cmd = CalcChangeFighterAmountCommand(fitID=self.fitID, projected=self.projected, position=self.position, amount=self.savedAmount)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/fighter/localAdd.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcAddLocalFighterCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, fighterInfo, position=None, ignoreRestrictions=False):\r\n        wx.Command.__init__(self, True, 'Add Fighter')\r\n        self.fitID = fitID\r\n        self.fighterInfo = fighterInfo\r\n        self.position = position\r\n        self.ignoreRestrictions = ignoreRestrictions\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing addition of fighter {} to fit {}'.format(self.fighterInfo, self.fitID))\r\n        fighter = self.fighterInfo.toFighter()\r\n        if fighter is None:\r\n            return False\r\n\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        if not self.ignoreRestrictions and not fighter.fits(fit):\r\n            pyfalog.warning('Fighter does not fit')\r\n            return False\r\n\r\n        # If we were not asked to set specific state, figure it out based on available tubes\r\n        if self.fighterInfo.state is None:\r\n            typeUsed = fit.getSlotsUsed(fighter.slot)\r\n            typeTotal = fit.getNumSlots(fighter.slot)\r\n\r\n            if fit.fighterTubesUsed >= fit.fighterTubesTotal or typeUsed >= typeTotal:\r\n                fighter.active = False\r\n            else:\r\n                fighter.active = True\r\n\r\n        if self.position is None:\r\n            fit.fighters.append(fighter)\r\n            if fighter not in fit.fighters:\r\n                pyfalog.warning('Failed to append to list')\r\n                return False\r\n            self.position = fit.fighters.index(fighter)\r\n        else:\r\n            fit.fighters.insert(self.position, fighter)\r\n            if fighter not in fit.fighters:\r\n                pyfalog.warning('Failed to insert to list')\r\n                return False\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing addition of fighter {} to fit {}'.format(self.fighterInfo, self.fitID))\r\n        from .localRemove import CalcRemoveLocalFighterCommand\r\n        cmd = CalcRemoveLocalFighterCommand(fitID=self.fitID, position=self.position)\r\n        cmd.Do()\r\n        return True\r\n"
  },
  {
    "path": "gui/fitCommands/calc/fighter/localRemove.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import FighterInfo\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcRemoveLocalFighterCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position):\r\n        wx.Command.__init__(self, True, 'Remove Fighter')\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.savedFighterInfo = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing removal of fighter at position {} from fit {}'.format(self.position, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        fighter = fit.fighters[self.position]\r\n        self.savedFighterInfo = FighterInfo.fromFighter(fighter)\r\n        fit.fighters.remove(fighter)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing removal of fighter at position {} from fit {}'.format(self.position, self.fitID))\r\n        from .localAdd import CalcAddLocalFighterCommand\r\n        cmd = CalcAddLocalFighterCommand(\r\n            fitID=self.fitID,\r\n            fighterInfo=self.savedFighterInfo,\r\n            position=self.position,\r\n            ignoreRestrictions=True)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/fighter/localToggleStates.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcToggleLocalFighterStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainPosition, positions, forceStates=None):\r\n        wx.Command.__init__(self, True, 'Toggle Local Fighter States')\r\n        self.fitID = fitID\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n        self.forceStates = forceStates\r\n        self.savedStates = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing toggling of local fighter state at position {}/{} for fit {}'.format(\r\n            self.mainPosition, self.positions, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n\r\n        positions = self.positions[:]\r\n        if self.mainPosition not in positions:\r\n            positions.append(self.mainPosition)\r\n        self.savedStates = {p: fit.fighters[p].active for p in positions}\r\n\r\n        if self.forceStates is not None:\r\n            for position, state in self.forceStates.items():\r\n                fighter = fit.fighters[position]\r\n                fighter.active = state\r\n        elif fit.fighters[self.mainPosition].active:\r\n            for position in positions:\r\n                fighter = fit.fighters[position]\r\n                if fighter.active:\r\n                    fighter.active = False\r\n        else:\r\n            for position in positions:\r\n                fighter = fit.fighters[position]\r\n                if not fighter.active:\r\n                    fighter.active = True\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing toggling of local fighter state at position {}/{} for fit {}'.format(\r\n            self.mainPosition, self.positions, self.fitID))\r\n        cmd = CalcToggleLocalFighterStatesCommand(\r\n            fitID=self.fitID,\r\n            mainPosition=self.mainPosition,\r\n            positions=self.positions,\r\n            forceStates=self.savedStates)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/fighter/projectedAdd.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcAddProjectedFighterCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, fighterInfo, position=None):\r\n        wx.Command.__init__(self, True, 'Add Projected Fighter')\r\n        self.fitID = fitID\r\n        self.fighterInfo = fighterInfo\r\n        self.position = position\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing addition of projected fighter {} onto: {}'.format(self.fighterInfo, self.fitID))\r\n        fighter = self.fighterInfo.toFighter()\r\n        if fighter is None:\r\n            return False\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        if self.position is not None:\r\n            fit.projectedFighters.insert(self.position, fighter)\r\n            if fighter not in fit.projectedFighters:\r\n                return False\r\n        else:\r\n            fit.projectedFighters.append(fighter)\r\n            if fighter not in fit.projectedFighters:\r\n                return False\r\n            self.position = fit.projectedFighters.index(fighter)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing addition of projected fighter {} onto: {}'.format(self.fighterInfo, self.fitID))\r\n        from .projectedRemove import CalcRemoveProjectedFighterCommand\r\n        cmd = CalcRemoveProjectedFighterCommand(fitID=self.fitID, position=self.position)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/fighter/projectedChangeProjectionRange.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeProjectedFighterProjectionRangeCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, projectionRange):\r\n        wx.Command.__init__(self, True, 'Change Projected Fighter Projection Range')\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.projectionRange = projectionRange\r\n        self.savedProjectionRange = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing changing of projected fighter projection range to {} at position {} for fit {}'.format(\r\n            self.projectionRange, self.position, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        fighter = fit.projectedFighters[self.position]\r\n        if fighter.projectionRange == self.projectionRange:\r\n            return False\r\n        self.savedProjectionRange = fighter.projectionRange\r\n        fighter.projectionRange = self.projectionRange\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing changing of projected fighter projection range to {} at position {} for fit {}'.format(\r\n            self.projectionRange, self.position, self.fitID))\r\n        cmd = CalcChangeProjectedFighterProjectionRangeCommand(\r\n            fitID=self.fitID,\r\n            position=self.position,\r\n            projectionRange=self.savedProjectionRange)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/fighter/projectedChangeState.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeProjectedFighterStateCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, state):\r\n        wx.Command.__init__(self, True, 'Change Projected Fighter State')\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.state = state\r\n        self.savedState = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing changing of projected fighter state to {} at position {} for fit {}'.format(\r\n            self.state, self.position, self.fitID))\r\n\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        fighter = fit.projectedFighters[self.position]\r\n        self.savedState = fighter.active\r\n\r\n        if self.state == self.savedState:\r\n            return False\r\n\r\n        fighter.active = self.state\r\n\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing changing of projected fighter state to {} at position {} for fit {}'.format(\r\n            self.state, self.position, self.fitID))\r\n        cmd = CalcChangeProjectedFighterStateCommand(\r\n            fitID=self.fitID,\r\n            position=self.position,\r\n            state=self.savedState)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/fighter/projectedRemove.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import FighterInfo\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcRemoveProjectedFighterCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position):\r\n        wx.Command.__init__(self, True, 'Add Projected Fighter')\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.savedFighterInfo = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing removal of projected fighter at position {} from fit {}'.format(self.position, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        fighter = fit.projectedFighters[self.position]\r\n        self.savedFighterInfo = FighterInfo.fromFighter(fighter)\r\n        fit.projectedFighters.remove(fighter)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing removal of projected fighter at position {} from fit {}'.format(self.position, self.fitID))\r\n        from .projectedAdd import CalcAddProjectedFighterCommand\r\n        cmd = CalcAddProjectedFighterCommand(\r\n            fitID=self.fitID,\r\n            fighterInfo=self.savedFighterInfo,\r\n            position=self.position)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/fitPilotSecurity.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeFitPilotSecurityCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, secStatus):\r\n        wx.Command.__init__(self, True, 'Change Fit Pilot Security')\r\n        self.fitID = fitID\r\n        self.secStatus = secStatus\r\n        self.savedSecStatus = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing changing pilot security status of fit {} to {}'.format(self.fitID, self.secStatus))\r\n        fit = Fit.getInstance().getFit(self.fitID, basic=True)\r\n        # Fetching status via getter and then saving 'raw' security status\r\n        # is intentional, to restore pre-change state properly\r\n        if fit.pilotSecurity == self.secStatus:\r\n            return False\r\n        self.savedSecStatus = fit.pilotSecurity\r\n        fit.pilotSecurity = self.secStatus\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing changing pilot security status of fit {} to {}'.format(self.fitID, self.secStatus))\r\n        cmd = CalcChangeFitPilotSecurityCommand(fitID=self.fitID, secStatus=self.savedSecStatus)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/fitRename.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcFitRenameCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, name):\r\n        wx.Command.__init__(self, True, 'Rename Fit')\r\n        self.fitID = fitID\r\n        self.name = name\r\n        self.savedName = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing renaming of fit {} to {}'.format(self.fitID, self.name))\r\n        fit = Fit.getInstance().getFit(self.fitID, basic=True)\r\n        if fit.name == self.name:\r\n            return False\r\n        self.savedName = fit.name\r\n        fit.name = self.name\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing renaming of fit {} to {}'.format(self.fitID, self.name))\r\n        cmd = CalcFitRenameCommand(fitID=self.fitID, name=self.savedName)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/fitSystemSecurity.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeFitSystemSecurityCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, secStatus):\r\n        wx.Command.__init__(self, True, 'Change Fit System Security')\r\n        self.fitID = fitID\r\n        self.secStatus = secStatus\r\n        self.savedSecStatus = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing changing system security status of fit {} to {}'.format(self.fitID, self.secStatus))\r\n        fit = Fit.getInstance().getFit(self.fitID, basic=True)\r\n        # Fetching status via getter and then saving 'raw' security status\r\n        # is intentional, to restore pre-change state properly\r\n        if fit.getSystemSecurity() == self.secStatus:\r\n            return False\r\n        self.savedSecStatus = fit.systemSecurity\r\n        fit.systemSecurity = self.secStatus\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing changing system security status of fit {} to {}'.format(self.fitID, self.secStatus))\r\n        cmd = CalcChangeFitSystemSecurityCommand(fitID=self.fitID, secStatus=self.savedSecStatus)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/implant/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/calc/implant/add.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcAddImplantCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, implantInfo, position=None):\r\n        wx.Command.__init__(self, True, 'Add Implant')\r\n        self.fitID = fitID\r\n        self.newImplantInfo = implantInfo\r\n        self.newPosition = position\r\n        self.oldImplantInfo = None\r\n        self.oldPosition = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing addition of implant {} to fit {}'.format(self.newImplantInfo, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n\r\n        if any(self.newImplantInfo.itemID == i.itemID for i in fit.implants):\r\n            pyfalog.debug('Skipping as such implant is already on the fit')\r\n            return False\r\n\r\n        newImplant = self.newImplantInfo.toImplant()\r\n        if newImplant is None:\r\n            return False\r\n\r\n        self.oldPosition, self.oldImplantInfo = fit.implants.makeRoom(newImplant)\r\n\r\n        if self.newPosition is not None:\r\n            fit.implants.insert(self.newPosition, newImplant)\r\n            if newImplant not in fit.implants:\r\n                pyfalog.warning('Failed to insert to list')\r\n                cmd = CalcAddImplantCommand(\r\n                    fitID=self.fitID,\r\n                    implantInfo=self.oldImplantInfo,\r\n                    position=self.oldPosition)\r\n                cmd.Do()\r\n                return False\r\n        else:\r\n            fit.implants.append(newImplant)\r\n            if newImplant not in fit.implants:\r\n                pyfalog.warning('Failed to append to list')\r\n                cmd = CalcAddImplantCommand(\r\n                    fitID=self.fitID,\r\n                    implantInfo=self.oldImplantInfo,\r\n                    position=self.oldPosition)\r\n                cmd.Do()\r\n                return False\r\n            self.newPosition = fit.implants.index(newImplant)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undo addition of implant {} to fit {}'.format(self.newImplantInfo, self.fitID))\r\n        if self.oldImplantInfo is not None and self.oldPosition is not None:\r\n            cmd = CalcAddImplantCommand(\r\n                fitID=self.fitID,\r\n                implantInfo=self.oldImplantInfo,\r\n                position=self.oldPosition)\r\n            return cmd.Do()\r\n        from .remove import CalcRemoveImplantCommand\r\n        cmd = CalcRemoveImplantCommand(fitID=self.fitID, position=self.newPosition)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/implant/changeLocation.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeImplantLocationCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, source):\r\n        wx.Command.__init__(self, True, 'Change Implant Location')\r\n        self.fitID = fitID\r\n        self.source = source\r\n        self.savedSource = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing changing of implant source to {} for fit {}'.format(self.fitID, self.source))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        self.savedSource = fit.implantSource\r\n        if self.source == self.savedSource:\r\n            return False\r\n        fit.implantSource = self.source\r\n        return True\r\n\r\n    def Undo(self):\r\n        cmd = CalcChangeImplantLocationCommand(fitID=self.fitID, source=self.savedSource)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/implant/remove.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import ImplantInfo\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcRemoveImplantCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position):\r\n        wx.Command.__init__(self, True, 'Remove Implant')\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.savedImplantInfo = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing removal of implant from position {} on fit {}'.format(self.position, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        implant = fit.implants[self.position]\r\n        self.savedImplantInfo = ImplantInfo.fromImplant(implant)\r\n        fit.implants.remove(implant)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing removal of implant {} on fit {}'.format(self.savedImplantInfo, self.fitID))\r\n        from .add import CalcAddImplantCommand\r\n        cmd = CalcAddImplantCommand(\r\n            fitID=self.fitID,\r\n            implantInfo=self.savedImplantInfo,\r\n            position=self.position)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/implant/toggleStates.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcToggleImplantStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainPosition, positions, forceStates=None):\r\n        wx.Command.__init__(self, True, 'Toggle Implant States')\r\n        self.fitID = fitID\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n        self.forceStates = forceStates\r\n        self.savedStates = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing toggling of implant state at position {}/{} for fit {}'.format(self.mainPosition, self.positions, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n\r\n        positions = self.positions[:]\r\n        if self.mainPosition not in positions:\r\n            positions.append(self.mainPosition)\r\n        self.savedStates = {p: fit.implants[p].active for p in positions}\r\n\r\n        if self.forceStates is not None:\r\n            for position, state in self.forceStates.items():\r\n                implant = fit.implants[position]\r\n                implant.active = state\r\n        elif fit.implants[self.mainPosition].active:\r\n            for position in positions:\r\n                implant = fit.implants[position]\r\n                if implant.active:\r\n                    implant.active = False\r\n        else:\r\n            for position in positions:\r\n                implant = fit.implants[position]\r\n                if not implant.active:\r\n                    implant.active = True\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing toggling of implant state at position {}/{} for fit {}'.format(self.mainPosition, self.positions, self.fitID))\r\n        cmd = CalcToggleImplantStatesCommand(\r\n            fitID=self.fitID,\r\n            mainPosition=self.mainPosition,\r\n            positions=self.positions,\r\n            forceStates=self.savedStates)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/itemRebase.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcRebaseItemCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, containerName, position, itemID):\r\n        wx.Command.__init__(self, True, 'Rebase Item')\r\n        self.fitID = fitID\r\n        self.containerName = containerName\r\n        self.position = position\r\n        self.itemID = itemID\r\n        self.savedItemID = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing rebase of item in {} at position {} to {}'.format(self.containerName, self.position, self.itemID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        obj = getattr(fit, self.containerName)[self.position]\r\n        self.savedItemID = getattr(obj.item, 'ID', None)\r\n        if self.savedItemID is None:\r\n            pyfalog.warning('Unable to get old item ID')\r\n            return False\r\n        newItem = Market.getInstance().getItem(self.itemID)\r\n        if newItem is None:\r\n            pyfalog.warning('Unable to fetch new item')\r\n            return False\r\n        obj.rebase(newItem)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing rebase of item in {} at position {} to {}'.format(self.containerName, self.position, self.itemID))\r\n        cmd = CalcRebaseItemCommand(\r\n            fitID=self.fitID,\r\n            containerName=self.containerName,\r\n            position=self.position,\r\n            itemID=self.savedItemID)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/calc/module/changeCharges.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import restoreCheckedStates\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeModuleChargesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, projected, chargeMap, ignoreRestrictions=False, recalc=True):\r\n        wx.Command.__init__(self, True, 'Change Module Charges')\r\n        self.fitID = fitID\r\n        self.projected = projected\r\n        self.chargeMap = chargeMap\r\n        self.ignoreRestriction = ignoreRestrictions\r\n        self.recalc = recalc\r\n        self.savedChargeMap = None\r\n        self.savedStateCheckChanges = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing change of module charges according to map {} on fit {}'.format(self.chargeMap, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        container = fit.modules if not self.projected else fit.projectedModules\r\n        changes = False\r\n        self.savedChargeMap = {}\r\n        sMkt = Market.getInstance()\r\n        for position, chargeItemID in self.chargeMap.items():\r\n            mod = container[position]\r\n            if mod.isEmpty:\r\n                continue\r\n            if mod.chargeID is None and chargeItemID is None:\r\n                continue\r\n            if mod.chargeID == chargeItemID:\r\n                continue\r\n            chargeItem = sMkt.getItem(chargeItemID) if chargeItemID is not None else None\r\n            if chargeItem is not None and not chargeItem.isCharge:\r\n                continue\r\n            if not self.ignoreRestriction and not mod.isValidCharge(chargeItem):\r\n                pyfalog.warning('Invalid charge {} for {}'.format(chargeItem, mod))\r\n                continue\r\n            pyfalog.debug('Setting charge {} for {} on fit {}'.format(chargeItem, mod, self.fitID))\r\n            self.savedChargeMap[position] = mod.chargeID\r\n            changes = True\r\n            mod.charge = chargeItem\r\n        if not changes:\r\n            return False\r\n        if self.recalc:\r\n            sFit.recalc(fit)\r\n            self.savedStateCheckChanges = sFit.checkStates(fit, None)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing change of module charges according to map {} on fit {}'.format(self.chargeMap, self.fitID))\r\n        cmd = CalcChangeModuleChargesCommand(\r\n            fitID=self.fitID,\r\n            projected=self.projected,\r\n            chargeMap=self.savedChargeMap,\r\n            ignoreRestrictions=True,\r\n            recalc=False)\r\n        if not cmd.Do():\r\n            return False\r\n        restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n        return True\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/changeSpool.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeModuleSpoolCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, projected, position, spoolType, spoolAmount):\r\n        wx.Command.__init__(self, True, 'Change Module Spool')\r\n        self.fitID = fitID\r\n        self.projected = projected\r\n        self.position = position\r\n        self.spoolType = spoolType\r\n        self.spoolAmount = spoolAmount\r\n        self.savedSpoolType = None\r\n        self.savedSpoolAmount = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing change of module spoolup at position {} to {} type {} amount on fit {}'.format(self.position, self.spoolType, self.spoolAmount, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        container = fit.modules if not self.projected else fit.projectedModules\r\n        mod = container[self.position]\r\n        if mod.isEmpty:\r\n            pyfalog.warning('Attempt to change spoolup for empty module')\r\n            return False\r\n        self.savedSpoolType = mod.spoolType\r\n        self.savedSpoolAmount = mod.spoolAmount\r\n        if self.spoolType == self.savedSpoolType and self.spoolAmount == self.savedSpoolAmount:\r\n            return False\r\n        mod.spoolType = self.spoolType\r\n        mod.spoolAmount = self.spoolAmount\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing change of module spoolup at position {} to {} type {} amount on fit {}'.format(self.position, self.spoolType, self.spoolAmount, self.fitID))\r\n        cmd = CalcChangeModuleSpoolCommand(\r\n            fitID=self.fitID,\r\n            projected=self.projected,\r\n            position=self.position,\r\n            spoolType=self.savedSpoolType,\r\n            spoolAmount=self.savedSpoolAmount)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/localAdd.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom gui.fitCommands.helpers import restoreCheckedStates, activeStateLimit\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcAddLocalModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, newModInfo):\r\n        wx.Command.__init__(self, True, 'Add Module')\r\n        self.fitID = fitID\r\n        self.newModInfo = newModInfo\r\n        self.savedPosition = None\r\n        self.subsystemCmd = None\r\n        self.savedStateCheckChanges = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing addition of local module {} to fit {}'.format(self.newModInfo, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n\r\n        newMod = self.newModInfo.toModule(fallbackState=activeStateLimit(self.newModInfo.itemID))\r\n        if newMod is None:\r\n            return False\r\n\r\n        # If subsystem and we need to replace, run the replace command instead and bypass the rest of this command\r\n        if newMod.item.category.name == 'Subsystem':\r\n            for oldMod in fit.modules:\r\n                if oldMod.getModifiedItemAttr('subSystemSlot') == newMod.getModifiedItemAttr('subSystemSlot') and newMod.slot == oldMod.slot:\r\n                    if oldMod.itemID == self.newModInfo.itemID:\r\n                        return False\r\n                    from .localReplace import CalcReplaceLocalModuleCommand\r\n                    self.subsystemCmd = CalcReplaceLocalModuleCommand(\r\n                        fitID=self.fitID,\r\n                        position=fit.modules.index(oldMod),\r\n                        newModInfo=self.newModInfo)\r\n                    return self.subsystemCmd.Do()\r\n        fit.modules.append(newMod)\r\n        if newMod not in fit.modules:\r\n            pyfalog.warning('Failed to append to list')\r\n            return False\r\n        self.savedPosition = fit.modules.index(newMod)\r\n        # Need to flush because checkStates sometimes relies on module->fit\r\n        # relationship via .owner attribute, which is handled by SQLAlchemy\r\n        eos.db.flush()\r\n        sFit.recalc(fit)\r\n        # fits() sometimes relies on recalculated on-item attributes, such as fax cap\r\n        # booster limitation, so we have to check it after recalculating and remove the\r\n        # module if the check has failed\r\n        if not newMod.fits(fit):\r\n            pyfalog.warning('Module does not fit')\r\n            self.Undo()\r\n            return False\r\n        self.savedStateCheckChanges = sFit.checkStates(fit, newMod)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing addition of local module {} to fit {}'.format(self.newModInfo, self.fitID))\r\n        # We added a subsystem module, which actually ran the replace command. Run the undo for that guy instead\r\n        if self.subsystemCmd is not None:\r\n            return self.subsystemCmd.Undo()\r\n        if self.savedPosition is None:\r\n            return False\r\n        from .localRemove import CalcRemoveLocalModulesCommand\r\n        cmd = CalcRemoveLocalModulesCommand(fitID=self.fitID, positions=[self.savedPosition], recalc=False, clearTail=True)\r\n        if not cmd.Do():\r\n            return False\r\n        restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n        return True\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.subsystemCmd is not None:\r\n            return self.subsystemCmd.needsGuiRecalc\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/localChangeMutation.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeLocalModuleMutationCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, mutation, oldMutation=None):\r\n        wx.Command.__init__(self, True, 'Change Local Module Mutation')\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.mutation = mutation\r\n        self.savedMutation = oldMutation\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing changing of local module mutation at position {} to {} for fit ID {}'.format(\r\n            self.position, self.mutation, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        mod = fit.modules[self.position]\r\n        if not mod.isMutated:\r\n            return False\r\n\r\n        if self.savedMutation is None:\r\n            self.savedMutation = {}\r\n            for mutator in mod.mutators.values():\r\n                self.savedMutation[mutator.attrID] = mutator.value\r\n\r\n        if self.mutation == self.savedMutation:\r\n            return False\r\n\r\n        for mutator in mod.mutators.values():\r\n            if mutator.attrID not in self.mutation:\r\n                continue\r\n            if mutator.value != self.mutation[mutator.attrID]:\r\n                mutator.value = self.mutation[mutator.attrID]\r\n\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing changing of local module mutation at position {} to {} for fit ID {}'.format(\r\n            self.position, self.mutation, self.fitID))\r\n        cmd = CalcChangeLocalModuleMutationCommand(\r\n            fitID=self.fitID,\r\n            position=self.position,\r\n            mutation=self.savedMutation)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/localChangeStates.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom eos.saveddata.module import Module\r\nfrom gui.fitCommands.helpers import restoreCheckedStates\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeLocalModuleStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainPosition, positions, click):\r\n        wx.Command.__init__(self, True, 'Change Module States')\r\n        self.fitID = fitID\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n        self.click = click\r\n        self.savedStates = {}\r\n        self.savedStateCheckChanges = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing change of local module states at position {}/{} to click {} on fit {}'.format(self.mainPosition, self.positions, self.click, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        mainMod = fit.modules[self.mainPosition]\r\n        if mainMod.isEmpty:\r\n            return False\r\n        positions = [pos for pos in self.positions if not fit.modules[pos].isEmpty]\r\n        if self.mainPosition not in positions:\r\n            positions.append(self.mainPosition)\r\n        self.savedStates = {pos: fit.modules[pos].state for pos in positions}\r\n\r\n        changed = False\r\n        mainProposedState = Module.getProposedState(mainMod, self.click)\r\n        pyfalog.debug('Attempting to change modules to {}'.format(mainProposedState))\r\n        if mainProposedState != mainMod.state:\r\n            pyfalog.debug('Toggle {} state: {} for fit ID: {}'.format(mainMod, mainProposedState, self.fitID))\r\n            mainMod.state = mainProposedState\r\n            changed = True\r\n        for position in [pos for pos in positions if pos != self.mainPosition]:\r\n            mod = fit.modules[position]\r\n            proposedState = Module.getProposedState(mod, self.click, mainProposedState)\r\n            if proposedState != mod.state:\r\n                pyfalog.debug('Toggle {} state: {} for fit ID: {}'.format(mod, proposedState, self.fitID))\r\n                mod.state = proposedState\r\n                changed = True\r\n        if not changed:\r\n            return False\r\n        sFit.recalc(fit)\r\n        self.savedStateCheckChanges = sFit.checkStates(fit, mainMod)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing change of local module states at position {}/{} to click {} on fit {}'.format(self.mainPosition, self.positions, self.click, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        for position, state in self.savedStates.items():\r\n            mod = fit.modules[position]\r\n            pyfalog.debug('Reverting {} to state {} for fit ID {}'.format(mod, state, self.fitID))\r\n            mod.state = state\r\n        restoreCheckedStates(fit, self.savedStateCheckChanges, ignoreModPoss=self.savedStates)\r\n        return True\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/localClone.py",
    "content": "import copy\r\n\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom gui.fitCommands.helpers import restoreCheckedStates\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcCloneLocalModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, srcPosition, dstPosition):\r\n        wx.Command.__init__(self, True, 'Clone Local Module')\r\n        self.fitID = fitID\r\n        self.srcPosition = srcPosition\r\n        self.dstPosition = dstPosition\r\n        self.savedStateCheckChanges = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing cloning of local module from position {} to position {} for fit ID {}'.format(self.srcPosition, self.dstPosition, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        srcMod = fit.modules[self.srcPosition]\r\n        copyMod = copy.deepcopy(srcMod)\r\n        if not copyMod.fits(fit):\r\n            return False\r\n        if not fit.modules[self.dstPosition].isEmpty:\r\n            return False\r\n        fit.modules.replace(self.dstPosition, copyMod)\r\n        if copyMod not in fit.modules:\r\n            pyfalog.warning('Failed to replace module')\r\n            return False\r\n        # Need to flush because checkStates sometimes relies on module->fit\r\n        # relationship via .owner attribute, which is handled by SQLAlchemy\r\n        eos.db.flush()\r\n        sFit.recalc(fit)\r\n        self.savedStateCheckChanges = sFit.checkStates(fit, copyMod)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing cloning of local module from position {} to position {} for fit ID {}'.format(self.srcPosition, self.dstPosition, self.fitID))\r\n        from .localRemove import CalcRemoveLocalModulesCommand\r\n        cmd = CalcRemoveLocalModulesCommand(fitID=self.fitID, positions=[self.dstPosition], recalc=False)\r\n        if not cmd.Do():\r\n            return False\r\n        restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n        return True\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/localRemove.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom eos.const import FittingSlot\r\nfrom gui.fitCommands.helpers import ModuleInfo, restoreCheckedStates, restoreRemovedDummies\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcRemoveLocalModulesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions, recalc=True, clearTail=False):\r\n        wx.Command.__init__(self, True, 'Remove Module')\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n        self.recalc = recalc\r\n        self.clearTail = clearTail\r\n        self.savedSubInfos = None\r\n        self.savedModInfos = None\r\n        self.savedStateCheckChanges = None\r\n        self.savedTail = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing removal of local modules from positions {} on fit {}'.format(self.positions, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n\r\n        self.savedSubInfos = {}\r\n        self.savedModInfos = {}\r\n        for position in self.positions:\r\n            mod = fit.modules[position]\r\n            if not mod.isEmpty:\r\n                if mod.slot == FittingSlot.SUBSYSTEM:\r\n                    self.savedSubInfos[position] = ModuleInfo.fromModule(mod)\r\n                else:\r\n                    self.savedModInfos[position] = ModuleInfo.fromModule(mod)\r\n                fit.modules.free(position)\r\n\r\n        if len(self.savedSubInfos) == 0 and len(self.savedModInfos) == 0:\r\n            return False\r\n\r\n        if self.clearTail:\r\n            self.savedTail = fit.clearTail()\r\n\r\n        if self.recalc:\r\n            # Need to flush because checkStates sometimes relies on module->fit\r\n            # relationship via .owner attribute, which is handled by SQLAlchemy\r\n            eos.db.flush()\r\n            sFit.recalc(fit)\r\n            self.savedStateCheckChanges = sFit.checkStates(fit, None)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing removal of local modules {} on fit {}'.format(self.savedModInfos, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        results = []\r\n        from .localReplace import CalcReplaceLocalModuleCommand\r\n        # Restore subsystems 1st\r\n        if len(self.savedSubInfos) > 0:\r\n            for position, modInfo in self.savedSubInfos.items():\r\n                cmd = CalcReplaceLocalModuleCommand(\r\n                    fitID=self.fitID,\r\n                    position=position,\r\n                    newModInfo=modInfo,\r\n                    ignoreRestrictions=True,\r\n                    recalc=False)\r\n                results.append(cmd.Do())\r\n            sFit.recalc(fit)\r\n        for position, modInfo in self.savedModInfos.items():\r\n            cmd = CalcReplaceLocalModuleCommand(\r\n                fitID=self.fitID,\r\n                position=position,\r\n                newModInfo=modInfo,\r\n                ignoreRestrictions=True,\r\n                recalc=False)\r\n            results.append(cmd.Do())\r\n        if not any(results):\r\n            return False\r\n        restoreCheckedStates(fit, self.savedStateCheckChanges)\r\n        restoreRemovedDummies(fit, self.savedTail)\r\n        return True\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/localReplace.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom gui.fitCommands.helpers import ModuleInfo, restoreCheckedStates, activeStateLimit\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcReplaceLocalModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, newModInfo, unloadInvalidCharges=False, ignoreRestrictions=False, recalc=True):\r\n        wx.Command.__init__(self, True, 'Replace Module')\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.newModInfo = newModInfo\r\n        self.oldModInfo = None\r\n        self.unloadInvalidCharges = unloadInvalidCharges\r\n        self.ignoreRestrictions = ignoreRestrictions\r\n        self.recalc = recalc\r\n        self.savedStateCheckChanges = None\r\n        self.unloadedCharge = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing replacement of local module at position {} to {} on fit {}'.format(self.position, self.newModInfo, self.fitID))\r\n        self.unloadedCharge = False\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        oldMod = fit.modules[self.position]\r\n        if not oldMod.isEmpty:\r\n            self.oldModInfo = ModuleInfo.fromModule(oldMod)\r\n        if self.newModInfo == self.oldModInfo:\r\n            return False\r\n        newMod = self.newModInfo.toModule(fallbackState=activeStateLimit(self.newModInfo.itemID))\r\n        if newMod is None:\r\n            return False\r\n        if newMod.slot != oldMod.slot:\r\n            return False\r\n        # Dummy it out in case the next bit fails\r\n        fit.modules.replace(self.position, newMod)\r\n        if newMod not in fit.modules:\r\n            pyfalog.warning('Failed to replace in list')\r\n            self.Undo()\r\n            return False\r\n        if self.recalc:\r\n            # Need to flush because checkStates sometimes relies on module->fit\r\n            # relationship via .owner attribute, which is handled by SQLAlchemy\r\n            eos.db.flush()\r\n            sFit.recalc(fit)\r\n            self.savedStateCheckChanges = sFit.checkStates(fit, newMod)\r\n        if not self.ignoreRestrictions and not newMod.fits(fit):\r\n            pyfalog.warning('Module does not fit')\r\n            self.Undo()\r\n            return False\r\n        if not self.ignoreRestrictions and not newMod.isValidCharge(newMod.charge):\r\n            if self.unloadInvalidCharges:\r\n                newMod.charge = None\r\n                self.unloadedCharge = True\r\n            else:\r\n                pyfalog.warning('Invalid charge')\r\n                self.Undo()\r\n                return False\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing replacement of local module at position {} to {} on fit {}'.format(self.position, self.newModInfo, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        # Remove if there was no module\r\n        if self.oldModInfo is None:\r\n            from .localRemove import CalcRemoveLocalModulesCommand\r\n            cmd = CalcRemoveLocalModulesCommand(fitID=self.fitID, positions=[self.position], recalc=self.recalc)\r\n            if not cmd.Do():\r\n                return False\r\n            restoreCheckedStates(fit, self.savedStateCheckChanges)\r\n            return True\r\n        # Replace if there was\r\n        oldMod = self.oldModInfo.toModule()\r\n        if oldMod is None:\r\n            return False\r\n        fit.modules.free(self.position)\r\n        fit.modules.replace(self.position, oldMod)\r\n        if oldMod not in fit.modules:\r\n            pyfalog.warning('Failed to replace in list')\r\n            self.Do()\r\n            return False\r\n        restoreCheckedStates(fit, self.savedStateCheckChanges)\r\n        return True\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.unloadedCharge:\r\n            return True\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/localSwap.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcSwapLocalModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position1, position2):\r\n        wx.Command.__init__(self, True, 'Swap Modules')\r\n        self.fitID = fitID\r\n        self.position1 = position1\r\n        self.position2 = position2\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing swapping between {} and {} for fit {}'.format(self.position1, self.position2, self.fitID))\r\n        self.__swap(self.fitID, self.position1, self.position2)\r\n        return True\r\n\r\n    def Undo(self):\r\n        self.__swap(self.fitID, self.position2, self.position1)\r\n        pyfalog.debug('Undoing swapping between {} and {} for fit {}'.format(self.position1, self.position2, self.fitID))\r\n        return True\r\n\r\n    def __swap(self, fitID, position1, position2):\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        mod1 = fit.modules[position1]\r\n        mod2 = fit.modules[position2]\r\n        fit.modules.free(position1)\r\n        fit.modules.free(position2)\r\n        fit.modules.replace(position2, mod1)\r\n        if len(fit.modules) <= position2 or fit.modules[position2] is not mod1:\r\n            fit.modules.replace(position1, mod1)\r\n            fit.modules.replace(position2, mod2)\r\n            return False\r\n        fit.modules.replace(position1, mod2)\r\n        if len(fit.modules) <= position1 or fit.modules[position1] is not mod2:\r\n            fit.modules.free(position2)\r\n            fit.modules.replace(position1, mod1)\r\n            fit.modules.replace(position2, mod2)\r\n            return False\r\n        return True\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/projectedAdd.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom eos.const import FittingModuleState\r\nfrom gui.fitCommands.helpers import restoreCheckedStates\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcAddProjectedModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, modInfo, position=None, ignoreRestrictions=False, recalc=True):\r\n        wx.Command.__init__(self, True)\r\n        self.fitID = fitID\r\n        self.newModInfo = modInfo\r\n        self.newPosition = position\r\n        self.ignoreRestrictions = ignoreRestrictions\r\n        self.recalc = recalc\r\n        self.oldModInfo = None\r\n        self.oldPosition = None\r\n        self.savedStateCheckChanges = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing addition of projected module {} onto: {}'.format(self.newModInfo, self.fitID))\r\n        newMod = self.newModInfo.toModule(fallbackState=FittingModuleState.ACTIVE)\r\n        if newMod is None:\r\n            return False\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        canHaveState = newMod.canHaveState(newMod.state, projectedOnto=fit)\r\n        if canHaveState is not True:\r\n            newMod.state = canHaveState\r\n        if not self.ignoreRestrictions and not newMod.isValidCharge(newMod.charge):\r\n            newMod.charge = None\r\n        self.oldPosition, self.oldModInfo = fit.projectedModules.makeRoom(newMod)\r\n\r\n        if self.newPosition is not None:\r\n            fit.projectedModules.insert(self.newPosition, newMod)\r\n            if newMod not in fit.projectedModules:\r\n                return False\r\n        else:\r\n            fit.projectedModules.append(newMod)\r\n            if newMod not in fit.projectedModules:\r\n                return False\r\n            self.newPosition = fit.projectedModules.index(newMod)\r\n\r\n        if self.recalc:\r\n            # Need to flush because checkStates sometimes relies on module->fit\r\n            # relationship via .owner attribute, which is handled by SQLAlchemy\r\n            eos.db.flush()\r\n            sFit.recalc(fit)\r\n            self.savedStateCheckChanges = sFit.checkStates(fit, newMod)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing addition of projected module {} onto: {}'.format(self.newModInfo, self.fitID))\r\n        if self.oldPosition is not None and self.oldModInfo is not None:\r\n            cmd = CalcAddProjectedModuleCommand(\r\n                fitID=self.fitID,\r\n                modInfo=self.oldModInfo,\r\n                position=self.oldPosition,\r\n                ignoreRestrictions=True,\r\n                recalc=False)\r\n            if not cmd.Do():\r\n                return False\r\n            restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n            return True\r\n        from .projectedRemove import CalcRemoveProjectedModuleCommand\r\n        cmd = CalcRemoveProjectedModuleCommand(\r\n            fitID=self.fitID,\r\n            position=self.newPosition,\r\n            recalc=False)\r\n        if not cmd.Do():\r\n            return False\r\n        restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n        return True\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/projectedChangeProjectionRange.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import restoreCheckedStates\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeProjectedModuleProjectionRangeCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, projectionRange):\r\n        wx.Command.__init__(self, True)\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.projectionRange = projectionRange\r\n        self.savedProjectionRange = None\r\n        self.savedStateCheckChanges = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing change of projected module projection range at position {} to range {} on fit {}'.format(\r\n            self.position, self.projectionRange, self.fitID))\r\n\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        mod = fit.projectedModules[self.position]\r\n        if mod.projectionRange == self.projectionRange:\r\n            return False\r\n        self.savedProjectionRange = mod.projectionRange\r\n        mod.projectionRange = self.projectionRange\r\n\r\n        sFit.recalc(fit)\r\n        self.savedStateCheckChanges = sFit.checkStates(fit, mod)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing change of projected module projection range at position {} to range {} on fit {}'.format(\r\n            self.position, self.projectionRange, self.fitID))\r\n        cmd = CalcChangeProjectedModuleProjectionRangeCommand(\r\n            fitID=self.fitID,\r\n            position=self.position,\r\n            projectionRange=self.savedProjectionRange)\r\n        result = cmd.Do()\r\n        restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n        return result\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/projectedChangeStates.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom eos.const import FittingModuleState\r\nfrom eos.saveddata.module import Module\r\nfrom gui.fitCommands.helpers import restoreCheckedStates\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nSTATE_MAP = {\r\n    'inactive': FittingModuleState.OFFLINE,\r\n    'active': FittingModuleState.ACTIVE,\r\n    'overheat': FittingModuleState.OVERHEATED}\r\n\r\n\r\nclass CalcChangeProjectedModuleStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions, proposedState):\r\n        wx.Command.__init__(self, True, 'Change Projected Module States')\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n        self.proposedState = STATE_MAP[proposedState]\r\n        self.savedStates = {}\r\n        self.savedStateCheckChanges = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing change of projected module state at positions {} to state {} on fit {}'.format(\r\n            self.positions, self.proposedState, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        self.savedStates = {pos: fit.projectedModules[pos].state for pos in self.positions}\r\n\r\n        changed = False\r\n        for position in self.positions:\r\n            mod = fit.projectedModules[position]\r\n            proposedState = Module.getProposedState(mod, None, self.proposedState)\r\n            if proposedState != mod.state:\r\n                pyfalog.debug('Toggle projected {} state: {} for fit ID: {}'.format(mod, proposedState, self.fitID))\r\n                mod.state = proposedState\r\n                changed = True\r\n        if not changed:\r\n            return False\r\n        sFit.recalc(fit)\r\n        self.savedStateCheckChanges = sFit.checkStates(fit, None)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing change of projected module state at positions {} to state {} on fit {}'.format(\r\n            self.positions, self.proposedState, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        for position, state in self.savedStates.items():\r\n            mod = fit.projectedModules[position]\r\n            pyfalog.debug('Reverting projected {} to state {} for fit ID {}'.format(mod, state, self.fitID))\r\n            mod.state = state\r\n        restoreCheckedStates(fit, self.savedStateCheckChanges)\r\n        return True\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/module/projectedRemove.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom gui.fitCommands.helpers import ModuleInfo, restoreCheckedStates\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcRemoveProjectedModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, recalc=True):\r\n        wx.Command.__init__(self, True)\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.recalc = recalc\r\n        self.savedModInfo = None\r\n        self.savedStateCheckChanges = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing removal of projected module from position {} on fit {}'.format(self.position, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        mod = fit.projectedModules[self.position]\r\n        self.savedModInfo = ModuleInfo.fromModule(mod)\r\n        del fit.projectedModules[self.position]\r\n\r\n        if self.recalc:\r\n            # Need to flush because checkStates sometimes relies on module->fit\r\n            # relationship via .owner attribute, which is handled by SQLAlchemy\r\n            eos.db.flush()\r\n            sFit.recalc(fit)\r\n            self.savedStateCheckChanges = sFit.checkStates(fit, None)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing removal of projected module {} on fit {}'.format(self.savedModInfo, self.fitID))\r\n        from .projectedAdd import CalcAddProjectedModuleCommand\r\n        cmd = CalcAddProjectedModuleCommand(\r\n            fitID=self.fitID,\r\n            modInfo=self.savedModInfo,\r\n            position=self.position,\r\n            ignoreRestrictions=True,\r\n            recalc=False)\r\n        if not cmd.Do():\r\n            return False\r\n        restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n        return True\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/projectedFit/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/calc/projectedFit/add.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom gui.fitCommands.helpers import restoreCheckedStates\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcAddProjectedFitCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, projectedFitID, amount, state=None):\r\n        wx.Command.__init__(self, True, 'Add Projected Fit')\r\n        self.fitID = fitID\r\n        self.projectedFitID = projectedFitID\r\n        self.amount = amount\r\n        self.state = state\r\n        self.changeAmountCommand = None\r\n        self.savedStateCheckChanges = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing addition of projected fit {} for fit {}'.format(self.projectedFitID, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        projectedFit = sFit.getFit(self.projectedFitID, projected=True)\r\n\r\n        # Projected fit could have been deleted if we are redoing\r\n        if projectedFit is None:\r\n            pyfalog.debug('Projected fit is not available')\r\n            return False\r\n\r\n        # If we already have info about projection - means that fit is already projected\r\n        # and we just need to increase amount of fits\r\n        if projectedFit in fit.projectedFits and projectedFit.ID in fit.projectedFitDict:\r\n            from .changeAmount import CalcChangeProjectedFitAmountCommand\r\n            self.changeAmountCommand = CalcChangeProjectedFitAmountCommand(\r\n                fitID=self.fitID,\r\n                projectedFitID=self.projectedFitID,\r\n                amount=self.amount,\r\n                relative=True)\r\n            if not self.changeAmountCommand.Do():\r\n                return False\r\n            sFit.recalc(fit)\r\n            self.savedStateCheckChanges = sFit.checkStates(fit, None)\r\n            return True\r\n        else:\r\n            self.changeAmountCommand = None\r\n\r\n        fit.projectedFitDict[projectedFit.ID] = projectedFit\r\n        # This bit is required, see issue #83\r\n        eos.db.saveddata_session.flush()\r\n        eos.db.saveddata_session.refresh(projectedFit)\r\n\r\n        if self.amount is not None or self.state is not None:\r\n            projectionInfo = projectedFit.getProjectionInfo(self.fitID)\r\n            if projectionInfo is None:\r\n                pyfalog.warning('Fit projection info is not available')\r\n                self.Undo()\r\n                return False\r\n            if self.amount is not None:\r\n                projectionInfo.amount = self.amount\r\n            if self.state is not None:\r\n                projectionInfo.active = self.state\r\n\r\n        sFit.recalc(fit)\r\n        self.savedStateCheckChanges = sFit.checkStates(fit, None)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing addition of projected fit {} for fit {}'.format(self.projectedFitID, self.fitID))\r\n        if self.changeAmountCommand is not None:\r\n            if not self.changeAmountCommand.Undo():\r\n                return False\r\n            restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n            return True\r\n        # Can't find the projected fit, it must have been deleted. Just skip, as deleted fit\r\n        # means that someone else just did exactly what we wanted to do\r\n        projectedFit = Fit.getInstance().getFit(self.projectedFitID, projected=True)\r\n        if projectedFit is not None:\r\n            from .remove import CalcRemoveProjectedFitCommand\r\n            cmd = CalcRemoveProjectedFitCommand(\r\n                fitID=self.fitID,\r\n                projectedFitID=self.projectedFitID,\r\n                amount=self.amount)\r\n            if not cmd.Do():\r\n                return False\r\n        restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n        return True\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/projectedFit/changeAmount.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeProjectedFitAmountCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, projectedFitID, amount, relative=False):\r\n        wx.Command.__init__(self, True, 'Change Projected Fit Amount')\r\n        self.fitID = fitID\r\n        self.projectedFitID = projectedFitID\r\n        self.amount = amount\r\n        self.relative = relative\r\n        self.savedAmount = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing change of projected fit {} amount to {} for fit {}'.format(self.projectedFitID, self.amount, self.fitID))\r\n        projectedFit = Fit.getInstance().getFit(self.projectedFitID, projected=True)\r\n        # Projected fit could have been deleted if we are redoing\r\n        if projectedFit is None:\r\n            pyfalog.debug('Projected fit is not available')\r\n            return False\r\n        projectionInfo = projectedFit.getProjectionInfo(self.fitID)\r\n        if projectionInfo is None:\r\n            pyfalog.warning('Fit projection info is not available')\r\n            return False\r\n        self.savedAmount = projectionInfo.amount\r\n        if self.relative:\r\n            amount = projectionInfo.amount + self.amount\r\n        else:\r\n            amount = self.amount\r\n        # Limit to [1, 20]\r\n        confinedAmount = min(20, max(1, amount))\r\n        if confinedAmount == self.savedAmount:\r\n            return False\r\n        projectionInfo.amount = confinedAmount\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing change of projected fit {} amount to {} for fit {}'.format(self.projectedFitID, self.amount, self.fitID))\r\n        cmd = CalcChangeProjectedFitAmountCommand(\r\n            fitID=self.fitID,\r\n            projectedFitID=self.projectedFitID,\r\n            amount=self.savedAmount)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/calc/projectedFit/changeProjectionRange.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import restoreCheckedStates\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeProjectedFitProjectionRangeCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, projectedFitID, projectionRange):\r\n        wx.Command.__init__(self, True, 'Change Projected Fit Projection Range')\r\n        self.fitID = fitID\r\n        self.projectedFitID = projectedFitID\r\n        self.projectionRange = projectionRange\r\n        self.savedProjectionRange = None\r\n        self.savedStateCheckChanges = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing change of projected fit {} range to {} for fit {}'.format(self.projectedFitID, self.projectionRange, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        projectedFit = sFit.getFit(self.projectedFitID, projected=True)\r\n        # Projected fit could have been deleted if we are redoing\r\n        if projectedFit is None:\r\n            pyfalog.debug('Projected fit is not available')\r\n            return False\r\n        projectionInfo = projectedFit.getProjectionInfo(self.fitID)\r\n        if projectionInfo is None:\r\n            pyfalog.warning('Fit projection info is not available')\r\n            return False\r\n        if projectionInfo.projectionRange == self.projectionRange:\r\n            return False\r\n        self.savedProjectionRange = projectionInfo.projectionRange\r\n        projectionInfo.projectionRange = self.projectionRange\r\n\r\n        sFit.recalc(fit)\r\n        self.savedStateCheckChanges = sFit.checkStates(fit, None)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing change of projected fit {} range to {} for fit {}'.format(self.projectedFitID, self.projectionRange, self.fitID))\r\n        cmd = CalcChangeProjectedFitProjectionRangeCommand(\r\n            fitID=self.fitID,\r\n            projectedFitID=self.projectedFitID,\r\n            projectionRange=self.savedProjectionRange)\r\n        result = cmd.Do()\r\n        restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n        return result\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/projectedFit/changeState.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import restoreCheckedStates\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeProjectedFitStateCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, projectedFitID, state):\r\n        wx.Command.__init__(self, True, 'Change Projected Fit State')\r\n        self.fitID = fitID\r\n        self.projectedFitID = projectedFitID\r\n        self.state = state\r\n        self.savedState = None\r\n        self.savedStateCheckChanges = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing changing of projected fit {} state to {} for fit {}'.format(\r\n            self.projectedFitID, self.state, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        projectedFit = sFit.getFit(self.projectedFitID, projected=True)\r\n        # Projected fit could have been deleted if we are redoing\r\n        if projectedFit is None:\r\n            pyfalog.debug('Projected fit is not available')\r\n            return False\r\n        projectionInfo = projectedFit.getProjectionInfo(self.fitID)\r\n        if projectionInfo is None:\r\n            pyfalog.warning('Fit projection info is not available')\r\n            return False\r\n        self.savedState = projectionInfo.active\r\n\r\n        if self.state == self.savedState:\r\n            return False\r\n\r\n        projectionInfo.active = self.state\r\n\r\n        fit = sFit.getFit(self.fitID)\r\n        sFit.recalc(fit)\r\n        self.savedStateCheckChanges = sFit.checkStates(fit, None)\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing changing of projected fit {} state to {} for fit {}'.format(\r\n            self.projectedFitID, self.state, self.fitID))\r\n        cmd = CalcChangeProjectedFitStateCommand(\r\n            fitID=self.fitID,\r\n            projectedFitID=self.projectedFitID,\r\n            state=self.savedState)\r\n        if not cmd.Do():\r\n            return False\r\n        restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n        return True\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/projectedFit/remove.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.fitCommands.helpers import restoreCheckedStates\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcRemoveProjectedFitCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, projectedFitID, amount):\r\n        wx.Command.__init__(self, True, 'Add Projected Fit')\r\n        self.fitID = fitID\r\n        self.projectedFitID = projectedFitID\r\n        self.amount = amount\r\n        self.savedState = None\r\n        self.savedAmount = None\r\n        self.changeAmountCommand = None\r\n        self.savedStateCheckChanges = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing removal of projected fit {} for fit {}'.format(self.projectedFitID, self.fitID))\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        projectedFit = sFit.getFit(self.projectedFitID, projected=True)\r\n\r\n        # Can be removed by the time we're redoing it\r\n        if projectedFit is None:\r\n            pyfalog.debug('Projected fit is not available')\r\n            return False\r\n        projectionInfo = projectedFit.getProjectionInfo(self.fitID)\r\n        if not projectionInfo:\r\n            pyfalog.warning('Fit projection info is not available')\r\n            return False\r\n\r\n        self.savedState = projectionInfo.active\r\n        self.savedAmount = projectionInfo.amount\r\n\r\n        remainingAmount = projectionInfo.amount - self.amount\r\n\r\n        # Change amount if more than 0 remaining, remove otherwise\r\n        if remainingAmount > 0:\r\n            from .changeAmount import CalcChangeProjectedFitAmountCommand\r\n            self.changeAmountCommand = CalcChangeProjectedFitAmountCommand(\r\n                fitID=self.fitID,\r\n                projectedFitID=self.projectedFitID,\r\n                amount=remainingAmount)\r\n            if not self.changeAmountCommand.Do():\r\n                return False\r\n            sFit.recalc(fit)\r\n            self.savedStateCheckChanges = sFit.checkStates(fit, None)\r\n            return True\r\n        else:\r\n            self.changeAmountCommand = None\r\n            if projectedFit.ID not in fit.projectedFitDict:\r\n                pyfalog.warning('Unable to find projected fit in projected dict')\r\n                return False\r\n            del fit.projectedFitDict[projectedFit.ID]\r\n            sFit.recalc(fit)\r\n            self.savedStateCheckChanges = sFit.checkStates(fit, None)\r\n            return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing removal of projected fit {} for fit {}'.format(self.projectedFitID, self.fitID))\r\n        if self.changeAmountCommand is not None:\r\n            if not self.changeAmountCommand.Undo():\r\n                return False\r\n            restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n            return True\r\n        from .add import CalcAddProjectedFitCommand\r\n        cmd = CalcAddProjectedFitCommand(\r\n            fitID=self.fitID,\r\n            projectedFitID=self.projectedFitID,\r\n            amount=self.savedAmount,\r\n            state=self.savedState)\r\n        if not cmd.Do():\r\n            return False\r\n        restoreCheckedStates(Fit.getInstance().getFit(self.fitID), self.savedStateCheckChanges)\r\n        return True\r\n\r\n    @property\r\n    def needsGuiRecalc(self):\r\n        if self.savedStateCheckChanges is None:\r\n            return True\r\n        for container in self.savedStateCheckChanges:\r\n            if len(container) > 0:\r\n                return True\r\n        return False\r\n"
  },
  {
    "path": "gui/fitCommands/calc/shipModeChange.py",
    "content": "import wx\r\nfrom logbook import Logger\r\n\r\nfrom eos.saveddata.mode import Mode\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CalcChangeShipModeCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID):\r\n        wx.Command.__init__(self, True, 'Change Ship Mode')\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n        self.savedItemID = None\r\n\r\n    def Do(self):\r\n        pyfalog.debug('Doing changing ship mode to {} for fit {}'.format(self.itemID, self.fitID))\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        self.savedItemID = fit.mode.item.ID\r\n        item = Market.getInstance().getItem(self.itemID)\r\n        mode = Mode(item)\r\n        fit.mode = mode\r\n        return True\r\n\r\n    def Undo(self):\r\n        pyfalog.debug('Undoing changing ship mode to {} for fit {}'.format(self.itemID, self.fitID))\r\n        cmd = CalcChangeShipModeCommand(self.fitID, self.savedItemID)\r\n        return cmd.Do()\r\n"
  },
  {
    "path": "gui/fitCommands/gui/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/booster/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/booster/add.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.booster.add import CalcAddBoosterCommand\r\nfrom gui.fitCommands.helpers import BoosterInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiAddBoosterCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID):\r\n        wx.Command.__init__(self, True, 'Add Booster')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n\r\n    def Do(self):\r\n        cmd = CalcAddBoosterCommand(fitID=self.fitID, boosterInfo=BoosterInfo(itemID=self.itemID))\r\n        success = self.internalHistory.submit(cmd)\r\n        Market.getInstance().storeRecentlyUsed(self.itemID)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/booster/changeMeta.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.booster.add import CalcAddBoosterCommand\r\nfrom gui.fitCommands.helpers import BoosterInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeBoosterMetaCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, newItemID):\r\n        wx.Command.__init__(self, True, 'Change Booster Meta')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.newItemID = newItemID\r\n        self.newPosition = None\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        booster = fit.boosters[self.position]\r\n        if booster.itemID == self.newItemID:\r\n            return False\r\n        info = BoosterInfo.fromBooster(booster)\r\n        info.itemID = self.newItemID\r\n        cmd = CalcAddBoosterCommand(fitID=self.fitID, boosterInfo=info)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        self.newPosition = cmd.newPosition\r\n        newBooster = fit.boosters[self.newPosition]\r\n        mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        wx.PostEvent(mainFrame, GE.FitChanged(fitIDs=(self.fitID,)))\r\n        wx.PostEvent(mainFrame, GE.ItemChangedInplace(old=booster, new=newBooster))\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        oldBooster = fit.boosters[self.newPosition]\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        newBooster = fit.boosters[self.position]\r\n        mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        wx.PostEvent(mainFrame, GE.FitChanged(fitIDs=(self.fitID,)))\r\n        wx.PostEvent(mainFrame, GE.ItemChangedInplace(old=oldBooster, new=newBooster))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/booster/imprt.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.booster.add import CalcAddBoosterCommand\r\nfrom gui.fitCommands.helpers import BoosterInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiImportBoostersCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, boosters):\r\n        wx.Command.__init__(self, True, 'Import Boosters')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.boosters = set(b[0] for b in boosters)\r\n\r\n    def Do(self):\r\n        results = []\r\n        for itemID in self.boosters:\r\n            cmd = CalcAddBoosterCommand(fitID=self.fitID, boosterInfo=BoosterInfo(itemID=itemID))\r\n            results.append(self.internalHistory.submit(cmd))\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/booster/remove.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.booster.remove import CalcRemoveBoosterCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiRemoveBoostersCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions):\r\n        wx.Command.__init__(self, True, 'Remove Boosters')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n\r\n    def Do(self):\r\n        sMkt = Market.getInstance()\r\n        results = []\r\n        for position in sorted(self.positions, reverse=True):\r\n            cmd = CalcRemoveBoosterCommand(fitID=self.fitID, position=position)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            sMkt.storeRecentlyUsed(cmd.savedBoosterInfo.itemID)\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/booster/sideEffectToggleState.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.booster.sideEffectToggleState import CalcToggleBoosterSideEffectStateCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiToggleBoosterSideEffectStateCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, effectID):\r\n        wx.Command.__init__(self, True, 'Toggle Booster Side Effect State')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.effectID = effectID\r\n\r\n    def Do(self):\r\n        cmd = CalcToggleBoosterSideEffectStateCommand(fitID=self.fitID, position=self.position, effectID=self.effectID)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/booster/toggleStates.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.booster.toggleStates import CalcToggleBoosterStatesCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiToggleBoosterStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainPosition, positions):\r\n        wx.Command.__init__(self, True, 'Toggle Booster States')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n\r\n    def Do(self):\r\n        cmd = CalcToggleBoosterStatesCommand(fitID=self.fitID, mainPosition=self.mainPosition, positions=self.positions)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/cargo/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/cargo/add.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.cargo.add import CalcAddCargoCommand\r\nfrom gui.fitCommands.helpers import CargoInfo, InternalCommandHistory\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiAddCargoCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID, amount):\r\n        wx.Command.__init__(self, True, 'Add Cargo')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n        self.amount = amount\r\n\r\n    def Do(self):\r\n        cmd = CalcAddCargoCommand(fitID=self.fitID, cargoInfo=CargoInfo(itemID=self.itemID, amount=self.amount))\r\n        success = self.internalHistory.submit(cmd)\r\n        Market.getInstance().storeRecentlyUsed(self.itemID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/cargo/changeAmount.py",
    "content": "import math\r\n\r\nimport wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.cargo.changeAmount import CalcChangeCargoAmountCommand\r\nfrom gui.fitCommands.calc.cargo.remove import CalcRemoveCargoCommand\r\nfrom gui.fitCommands.helpers import CargoInfo, InternalCommandHistory\r\n\r\n\r\nclass GuiChangeCargosAmountCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemIDs, amount):\r\n        wx.Command.__init__(self, True, 'Change Cargo Amount')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemIDs = itemIDs\r\n        self.amount = amount\r\n\r\n    def Do(self):\r\n        results = []\r\n        if self.amount > 0:\r\n            for itemID in self.itemIDs:\r\n                cmd = CalcChangeCargoAmountCommand(fitID=self.fitID, cargoInfo=CargoInfo(itemID=itemID, amount=self.amount))\r\n                results.append(self.internalHistory.submit(cmd))\r\n        else:\r\n            for itemID in self.itemIDs:\r\n                cmd = CalcRemoveCargoCommand(fitID=self.fitID, cargoInfo=CargoInfo(itemID=itemID, amount=math.inf))\r\n                results.append(self.internalHistory.submit(cmd))\r\n        success = any(results)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/cargo/changeMetas.py",
    "content": "import math\r\nimport wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.cargo.add import CalcAddCargoCommand\r\nfrom gui.fitCommands.calc.cargo.remove import CalcRemoveCargoCommand\r\nfrom gui.fitCommands.helpers import CargoInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeCargoMetasCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemIDs, newItemID):\r\n        wx.Command.__init__(self, True, 'Change Cargo Metas')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemIDs = itemIDs\r\n        self.newItemID = newItemID\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        results = []\r\n        for itemID in self.itemIDs:\r\n            if itemID == self.newItemID:\r\n                continue\r\n            cargo = next((c for c in fit.cargo if c.itemID == itemID), None)\r\n            if cargo is None:\r\n                continue\r\n            amount = cargo.amount\r\n            cmdRemove = CalcRemoveCargoCommand(\r\n                fitID=self.fitID,\r\n                cargoInfo=CargoInfo(itemID=itemID, amount=math.inf))\r\n            cmdAdd = CalcAddCargoCommand(\r\n                fitID=self.fitID,\r\n                cargoInfo=CargoInfo(itemID=self.newItemID, amount=amount))\r\n            results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd))\r\n        success = any(results)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/cargo/imprt.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.cargo.add import CalcAddCargoCommand\r\nfrom gui.fitCommands.helpers import CargoInfo, InternalCommandHistory\r\n\r\n\r\nclass GuiImportCargosCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, cargos):\r\n        wx.Command.__init__(self, True, 'Import Cargos')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.cargos = {}\r\n        for itemID, amount, mutation in cargos:\r\n            if itemID not in self.cargos:\r\n                self.cargos[itemID] = 0\r\n            self.cargos[itemID] += amount\r\n\r\n    def Do(self):\r\n        results = []\r\n        for itemID, amount in self.cargos.items():\r\n            cmd = CalcAddCargoCommand(fitID=self.fitID, cargoInfo=CargoInfo(itemID=itemID, amount=amount))\r\n            results.append(self.internalHistory.submit(cmd))\r\n        success = any(results)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/cargo/remove.py",
    "content": "import math\r\n\r\nimport wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.cargo.remove import CalcRemoveCargoCommand\r\nfrom gui.fitCommands.helpers import CargoInfo, InternalCommandHistory\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiRemoveCargosCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemIDs):\r\n        wx.Command.__init__(self, True, 'Remove Cargos')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemIDs = itemIDs\r\n\r\n    def Do(self):\r\n        sMkt = Market.getInstance()\r\n        results = []\r\n        for itemID in self.itemIDs:\r\n            cmd = CalcRemoveCargoCommand(\r\n                fitID=self.fitID,\r\n                cargoInfo=CargoInfo(itemID=itemID, amount=math.inf))\r\n            results.append(self.internalHistory.submit(cmd))\r\n            sMkt.storeRecentlyUsed(itemID)\r\n        success = any(results)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/commandFit/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/commandFit/add.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.commandFit.add import CalcAddCommandCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiAddCommandFitsCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, commandFitIDs):\r\n        wx.Command.__init__(self, True, 'Add Command Fits')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.commandFitIDs = commandFitIDs\r\n\r\n    def Do(self):\r\n        results = []\r\n        for commandFitID in self.commandFitIDs:\r\n            cmd = CalcAddCommandCommand(fitID=self.fitID, commandFitID=commandFitID)\r\n            results.append(self.internalHistory.submit(cmd))\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/commandFit/remove.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.commandFit.remove import CalcRemoveCommandFitCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiRemoveCommandFitsCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, commandFitIDs):\r\n        wx.Command.__init__(self, True, 'Remove Command Fits')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.commandFitIDs = commandFitIDs\r\n\r\n    def Do(self):\r\n        results = []\r\n        for commandFitID in self.commandFitIDs:\r\n            cmd = CalcRemoveCommandFitCommand(fitID=self.fitID, commandFitID=commandFitID)\r\n            results.append(self.internalHistory.submit(cmd))\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/commandFit/toggleStates.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.commandFit.toggleStates import CalcToggleCommandFitStatesCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiToggleCommandFitStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainCommandFitID, commandFitIDs):\r\n        wx.Command.__init__(self, True, 'Toggle Command Fit States')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.mainCommandFitID = mainCommandFitID\r\n        self.commandFitIDs = commandFitIDs\r\n\r\n    def Do(self):\r\n        cmd = CalcToggleCommandFitStatesCommand(\r\n            fitID=self.fitID,\r\n            mainCommandFitID=self.mainCommandFitID,\r\n            commandFitIDs=self.commandFitIDs)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/fitPilotSecurity.py",
    "content": "import wx\r\nfrom service.fit import Fit\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom gui.fitCommands.calc.fitPilotSecurity import CalcChangeFitPilotSecurityCommand\r\n\r\n\r\nclass GuiChangeFitPilotSecurityCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, secStatus):\r\n        wx.Command.__init__(self, True, 'Change Fit Pilot Security')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.secStatus = secStatus\r\n\r\n    def Do(self):\r\n        cmd = CalcChangeFitPilotSecurityCommand(fitID=self.fitID, secStatus=self.secStatus)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/fitRename.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.fitCommands.calc.fitRename import CalcFitRenameCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\n\r\n\r\nclass GuiRenameFitCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, name):\r\n        wx.Command.__init__(self, True, 'Rename Fit')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.name = name\r\n\r\n    def Do(self):\r\n        cmd = CalcFitRenameCommand(fitID=self.fitID, name=self.name)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitRenamed(fitID=self.fitID))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitRenamed(fitID=self.fitID))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/fitRestrictionToggle.py",
    "content": "import wx\r\nfrom service.fit import Fit\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom gui.fitCommands.calc.module.localRemove import CalcRemoveLocalModulesCommand\r\n\r\n\r\nclass GuiToggleFittingRestrictionsCommand(wx.Command):\r\n\r\n    def __init__(self, fitID):\r\n        wx.Command.__init__(self, True, 'Toggle Fitting Restrictions')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        fit.ignoreRestrictions = not fit.ignoreRestrictions\r\n\r\n        success = True\r\n        if not fit.ignoreRestrictions:\r\n            results = []\r\n            for position, mod in sorted(enumerate(fit.modules), key=lambda i: i[0], reverse=True):\r\n                if not mod.isEmpty and not mod.fits(fit, hardpointLimit=False):\r\n                    cmd = CalcRemoveLocalModulesCommand(fitID=self.fitID, positions=[position])\r\n                    results.append(self.internalHistory.submit(cmd))\r\n            if len(results) > 0:\r\n                success = any(results)\r\n\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        fit.ignoreRestrictions = not fit.ignoreRestrictions\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/fitSystemSecurity.py",
    "content": "import wx\r\nfrom service.fit import Fit\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom gui.fitCommands.calc.fitSystemSecurity import CalcChangeFitSystemSecurityCommand\r\n\r\n\r\nclass GuiChangeFitSystemSecurityCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, secStatus):\r\n        wx.Command.__init__(self, True, 'Change Fit System Security')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.secStatus = secStatus\r\n\r\n    def Do(self):\r\n        cmd = CalcChangeFitSystemSecurityCommand(fitID=self.fitID, secStatus=self.secStatus)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/implant/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/implant/add.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom eos.const import ImplantLocation\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.implant.add import CalcAddImplantCommand\r\nfrom gui.fitCommands.calc.implant.changeLocation import CalcChangeImplantLocationCommand\r\nfrom gui.fitCommands.helpers import ImplantInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiAddImplantCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID):\r\n        wx.Command.__init__(self, True, 'Add Implant')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        if fit.implantSource != ImplantLocation.FIT:\r\n            cmd = CalcChangeImplantLocationCommand(fitID=self.fitID, source=ImplantLocation.FIT)\r\n            successSource = self.internalHistory.submit(cmd)\r\n        else:\r\n            successSource = False\r\n        cmd = CalcAddImplantCommand(fitID=self.fitID, implantInfo=ImplantInfo(itemID=self.itemID))\r\n        successImplant = self.internalHistory.submit(cmd)\r\n        Market.getInstance().storeRecentlyUsed(self.itemID)\r\n        # Acceptable behavior when we already have passed implant and just switch source, or\r\n        # when we have source and add implant, but not if we do not change anything\r\n        success = successSource or successImplant\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/implant/changeLocation.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.implant.changeLocation import CalcChangeImplantLocationCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeImplantLocationCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, source):\r\n        wx.Command.__init__(self, True, 'Change Implant Location')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.source = source\r\n\r\n    def Do(self):\r\n        cmd = CalcChangeImplantLocationCommand(fitID=self.fitID, source=self.source)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/implant/changeMeta.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.implant.add import CalcAddImplantCommand\r\nfrom gui.fitCommands.helpers import ImplantInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeImplantMetaCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, newItemID):\r\n        wx.Command.__init__(self, True, 'Change Implant Meta')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.newItemID = newItemID\r\n        self.newPosition = None\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        implant = fit.implants[self.position]\r\n        if implant.itemID == self.newItemID:\r\n            return False\r\n        info = ImplantInfo.fromImplant(implant)\r\n        info.itemID = self.newItemID\r\n        cmd = CalcAddImplantCommand(fitID=self.fitID, implantInfo=info)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        self.newPosition = cmd.newPosition\r\n        newImplant = fit.implants[self.newPosition]\r\n        mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        wx.PostEvent(mainFrame, GE.FitChanged(fitIDs=(self.fitID,)))\r\n        wx.PostEvent(mainFrame, GE.ItemChangedInplace(old=implant, new=newImplant))\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        oldImplant = fit.implants[self.newPosition]\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        newImplant = fit.implants[self.position]\r\n        mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        wx.PostEvent(mainFrame, GE.FitChanged(fitIDs=(self.fitID,)))\r\n        wx.PostEvent(mainFrame, GE.ItemChangedInplace(old=oldImplant, new=newImplant))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/implant/imprt.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom eos.const import ImplantLocation\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.implant.add import CalcAddImplantCommand\r\nfrom gui.fitCommands.calc.implant.changeLocation import CalcChangeImplantLocationCommand\r\nfrom gui.fitCommands.helpers import ImplantInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiImportImplantsCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, implants):\r\n        wx.Command.__init__(self, True, 'Import Implants')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.implants = set(i[0] for i in implants)\r\n\r\n    def Do(self):\r\n        if not self.implants:\r\n            return False\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        if fit.implantSource != ImplantLocation.FIT:\r\n            cmd = CalcChangeImplantLocationCommand(fitID=self.fitID, source=ImplantLocation.FIT)\r\n            successSource = self.internalHistory.submit(cmd)\r\n        else:\r\n            successSource = False\r\n        resultsImplants = []\r\n        for itemID in self.implants:\r\n            cmd = CalcAddImplantCommand(fitID=self.fitID, implantInfo=ImplantInfo(itemID=itemID))\r\n            resultsImplants.append(self.internalHistory.submit(cmd))\r\n        successImplants = any(resultsImplants)\r\n        # Acceptable behavior when we already have passed implant and just switch source, or\r\n        # when we have source and add implant, but not if we do not change anything\r\n        success = successSource or successImplants\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/implant/remove.py",
    "content": "import wx\r\nfrom service.fit import Fit\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom gui.fitCommands.calc.implant.remove import CalcRemoveImplantCommand\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiRemoveImplantsCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions):\r\n        wx.Command.__init__(self, True, 'Remove Implants')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n\r\n    def Do(self):\r\n        sMkt = Market.getInstance()\r\n        results = []\r\n        for position in sorted(self.positions, reverse=True):\r\n            cmd = CalcRemoveImplantCommand(fitID=self.fitID, position=position)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            sMkt.storeRecentlyUsed(cmd.savedImplantInfo.itemID)\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/implant/setAdd.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.implant.add import CalcAddImplantCommand\r\nfrom gui.fitCommands.helpers import ImplantInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiAddImplantSetCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemIDs):\r\n        wx.Command.__init__(self, True, 'Add Implant Set')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemIDs = itemIDs\r\n\r\n    def Do(self):\r\n        results = []\r\n        for itemID in self.itemIDs:\r\n            cmd = CalcAddImplantCommand(fitID=self.fitID, implantInfo=ImplantInfo(itemID=itemID))\r\n            results.append(self.internalHistory.submit(cmd))\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        # Some might fail, as we already might have these implants\r\n        return any(results)\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/implant/toggleStates.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.implant.toggleStates import CalcToggleImplantStatesCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiToggleImplantStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainPosition, positions):\r\n        wx.Command.__init__(self, True, 'Toggle Implant States')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n\r\n    def Do(self):\r\n        cmd = CalcToggleImplantStatesCommand(fitID=self.fitID, mainPosition=self.mainPosition, positions=self.positions)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/itemsRebase.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.helpers import CargoInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\nfrom gui.fitCommands.calc.cargo.add import CalcAddCargoCommand\r\nfrom gui.fitCommands.calc.cargo.remove import CalcRemoveCargoCommand\r\nfrom gui.fitCommands.calc.itemRebase import CalcRebaseItemCommand\r\nfrom gui.fitCommands.calc.module.changeCharges import CalcChangeModuleChargesCommand\r\n\r\n\r\nclass GuiRebaseItemsCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, rebaseMap):\r\n        wx.Command.__init__(self, True, 'Rebase Items')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.rebaseMap = rebaseMap\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        # Here we assume that item attribs do not change and item state will not change\r\n        for mod in fit.modules:\r\n            if mod.itemID in self.rebaseMap:\r\n                cmd = CalcRebaseItemCommand(\r\n                    fitID=self.fitID,\r\n                    containerName='modules',\r\n                    position=fit.modules.index(mod),\r\n                    itemID=self.rebaseMap[mod.itemID])\r\n                self.internalHistory.submit(cmd)\r\n            if mod.chargeID in self.rebaseMap:\r\n                cmd = CalcChangeModuleChargesCommand(\r\n                    fitID=self.fitID,\r\n                    projected=False,\r\n                    chargeMap={fit.modules.index(mod): self.rebaseMap[mod.chargeID]},\r\n                    recalc=False)\r\n                self.internalHistory.submit(cmd)\r\n        for containerName in ('drones', 'fighters', 'implants', 'boosters'):\r\n            container = getattr(fit, containerName)\r\n            for obj in container:\r\n                if obj.itemID in self.rebaseMap:\r\n                    cmd = CalcRebaseItemCommand(\r\n                        fitID=self.fitID,\r\n                        containerName=containerName,\r\n                        position=container.index(obj),\r\n                        itemID=self.rebaseMap[obj.itemID])\r\n                    self.internalHistory.submit(cmd)\r\n        # Need to process cargo separately as we want to merge items when needed,\r\n        # e.g. FN iron and CN iron into single stack of CN iron\r\n        for cargo in fit.cargo:\r\n            if cargo.itemID in self.rebaseMap:\r\n                amount = cargo.amount\r\n                cmdRemove = CalcRemoveCargoCommand(\r\n                    fitID=self.fitID,\r\n                    cargoInfo=CargoInfo(itemID=cargo.itemID, amount=amount))\r\n                cmdAdd = CalcAddCargoCommand(\r\n                    fitID=self.fitID,\r\n                    cargoInfo=CargoInfo(itemID=self.rebaseMap[cargo.itemID], amount=amount))\r\n                self.internalHistory.submitBatch(cmdRemove, cmdAdd)\r\n        eos.db.flush()\r\n        sFit.recalc(fit)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return len(self.internalHistory) > 0\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/localDrone/add.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localAdd import CalcAddLocalDroneCommand\r\nfrom gui.fitCommands.helpers import DroneInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiAddLocalDroneCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID, amount):\r\n        wx.Command.__init__(self, True, 'Add Local Drone')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n        self.amount = amount\r\n\r\n    def Do(self):\r\n        cmd = CalcAddLocalDroneCommand(fitID=self.fitID, droneInfo=DroneInfo(itemID=self.itemID, amount=self.amount, amountActive=0))\r\n        success = self.internalHistory.submit(cmd)\r\n        Market.getInstance().storeRecentlyUsed(self.itemID)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/changeAmount.py",
    "content": "import math\r\n\r\nimport wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localChangeAmount import CalcChangeLocalDroneAmountCommand\r\nfrom gui.fitCommands.calc.drone.localRemove import CalcRemoveLocalDroneCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeLocalDroneAmountCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, amount):\r\n        wx.Command.__init__(self, True, 'Change Local Drone Amount')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.amount = amount\r\n\r\n    def Do(self):\r\n        if self.amount > 0:\r\n            cmd = CalcChangeLocalDroneAmountCommand(fitID=self.fitID, position=self.position, amount=self.amount)\r\n        else:\r\n            cmd = CalcRemoveLocalDroneCommand(fitID=self.fitID, position=self.position, amount=math.inf)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/changeMetas.py",
    "content": "import math\r\n\r\nimport wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localAdd import CalcAddLocalDroneCommand\r\nfrom gui.fitCommands.calc.drone.localRemove import CalcRemoveLocalDroneCommand\r\nfrom gui.fitCommands.helpers import DroneInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeLocalDroneMetasCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions, newItemID):\r\n        wx.Command.__init__(self, True, 'Change Local Drone Meta')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n        self.newItemID = newItemID\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        results = []\r\n        for position in sorted(self.positions, reverse=True):\r\n            drone = fit.drones[position]\r\n            if drone.itemID == self.newItemID:\r\n                continue\r\n            info = DroneInfo.fromDrone(drone)\r\n            info.itemID = self.newItemID\r\n            cmdRemove = CalcRemoveLocalDroneCommand(\r\n                fitID=self.fitID,\r\n                position=position,\r\n                amount=math.inf)\r\n            cmdAdd = CalcAddLocalDroneCommand(\r\n                fitID=self.fitID,\r\n                droneInfo=info,\r\n                forceNewStack=True,\r\n                ignoreRestrictions=True)\r\n            results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd))\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/changeMutation.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localChangeMutation import CalcChangeLocalDroneMutationCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeLocalDroneMutationCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, mutation, oldMutation=None):\r\n        wx.Command.__init__(self, True, 'Change Local Drone Mutation')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.mutation = mutation\r\n        self.oldMutation = oldMutation\r\n\r\n    def Do(self):\r\n        cmd = CalcChangeLocalDroneMutationCommand(\r\n            fitID=self.fitID,\r\n            position=self.position,\r\n            mutation=self.mutation,\r\n            oldMutation=self.oldMutation)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/clone.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localAdd import CalcAddLocalDroneCommand\r\nfrom gui.fitCommands.helpers import DroneInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiCloneLocalDroneCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position):\r\n        wx.Command.__init__(self, True, 'Clone Local Drone')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        try:\r\n            drone = fit.drones[self.position]\r\n        except IndexError:\r\n            return False\r\n        info = DroneInfo.fromDrone(drone)\r\n        cmd = CalcAddLocalDroneCommand(fitID=self.fitID, droneInfo=info, forceNewStack=True)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/imprt.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localAdd import CalcAddLocalDroneCommand\r\nfrom gui.fitCommands.helpers import DroneInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiImportLocalDronesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, drones):\r\n        wx.Command.__init__(self, True, 'Import Local Drones')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.droneInfos = []\r\n        for itemID, amount, mutation in drones:\r\n            if mutation:\r\n                mutaplasmid, attrs = mutation\r\n                self.droneInfos.append(DroneInfo(\r\n                    itemID=mutaplasmid.resultingItem.ID,\r\n                    amount=amount,\r\n                    amountActive=0,\r\n                    baseItemID=itemID,\r\n                    mutaplasmidID=mutaplasmid.ID,\r\n                    mutations=attrs))\r\n            else:\r\n                self.droneInfos.append(DroneInfo(itemID=itemID, amount=amount, amountActive=0))\r\n\r\n    def Do(self):\r\n        results = []\r\n        for info in self.droneInfos:\r\n            cmd = CalcAddLocalDroneCommand(fitID=self.fitID, droneInfo=info, forceNewStack=True)\r\n            results.append(self.internalHistory.submit(cmd))\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/mutatedConvert.py",
    "content": "import math\r\n\r\nimport wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localAdd import CalcAddLocalDroneCommand\r\nfrom gui.fitCommands.calc.drone.localRemove import CalcRemoveLocalDroneCommand\r\nfrom gui.fitCommands.helpers import DroneInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiConvertMutatedLocalDroneCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, mutaplasmid):\r\n        wx.Command.__init__(self, True, 'Convert Local Drone to Mutated')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.itemID = mutaplasmid.resultingItem.ID\r\n        self.mutaplasmidID = mutaplasmid.ID\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        try:\r\n            drone = fit.drones[self.position]\r\n        except IndexError:\r\n            return False\r\n        if drone.isMutated:\r\n            return False\r\n        info = DroneInfo(\r\n            amount=drone.amount,\r\n            amountActive=drone.amountActive,\r\n            itemID=self.itemID,\r\n            baseItemID=drone.item.ID,\r\n            mutaplasmidID=self.mutaplasmidID,\r\n            mutations={})\r\n        cmdRemove = CalcRemoveLocalDroneCommand(\r\n            fitID=self.fitID,\r\n            position=self.position,\r\n            amount=math.inf)\r\n        cmdAdd = CalcAddLocalDroneCommand(\r\n            fitID=self.fitID,\r\n            droneInfo=info,\r\n            forceNewStack=True,\r\n            ignoreRestrictions=True)\r\n        success = self.internalHistory.submitBatch(cmdRemove, cmdAdd)\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/mutatedImport.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localAdd import CalcAddLocalDroneCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, DroneInfo\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiImportLocalMutatedDroneCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, baseItem, mutaplasmid, mutations, amount):\r\n        wx.Command.__init__(self, True, 'Import Local Mutated Drone')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.newDroneInfo = DroneInfo(\r\n            amount=amount,\r\n            amountActive=0,\r\n            itemID=mutaplasmid.resultingItem.ID,\r\n            baseItemID=baseItem.ID,\r\n            mutaplasmidID=mutaplasmid.ID,\r\n            mutations=mutations)\r\n\r\n    def Do(self):\r\n        cmd = CalcAddLocalDroneCommand(fitID=self.fitID, droneInfo=self.newDroneInfo, forceNewStack=True)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/mutatedRevert.py",
    "content": "import math\r\n\r\nimport wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localAdd import CalcAddLocalDroneCommand\r\nfrom gui.fitCommands.calc.drone.localRemove import CalcRemoveLocalDroneCommand\r\nfrom gui.fitCommands.helpers import DroneInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiRevertMutatedLocalDroneCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position):\r\n        wx.Command.__init__(self, True, 'Revert Local Drone from Mutated')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        try:\r\n            drone = fit.drones[self.position]\r\n        except IndexError:\r\n            return False\r\n        if not drone.isMutated:\r\n            return False\r\n        info = DroneInfo(\r\n            amount=drone.amount,\r\n            amountActive=drone.amountActive,\r\n            itemID=drone.baseItemID)\r\n        cmdRemove = CalcRemoveLocalDroneCommand(\r\n            fitID=self.fitID,\r\n            position=self.position,\r\n            amount=math.inf)\r\n        cmdAdd = CalcAddLocalDroneCommand(\r\n            fitID=self.fitID,\r\n            droneInfo=info,\r\n            forceNewStack=True,\r\n            ignoreRestrictions=True)\r\n        success = self.internalHistory.submitBatch(cmdRemove, cmdAdd)\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/remove.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localRemove import CalcRemoveLocalDroneCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiRemoveLocalDronesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions, amount):\r\n        wx.Command.__init__(self, True, 'Remove Local Drones')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n        self.amount = amount\r\n\r\n    def Do(self):\r\n        sMkt = Market.getInstance()\r\n        results = []\r\n        for position in sorted(self.positions, reverse=True):\r\n            cmd = CalcRemoveLocalDroneCommand(\r\n                fitID=self.fitID,\r\n                position=position,\r\n                amount=self.amount)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            sMkt.storeRecentlyUsed(cmd.savedDroneInfo.itemID)\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/stackSplit.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localAdd import CalcAddLocalDroneCommand\r\nfrom gui.fitCommands.calc.drone.localRemove import CalcRemoveLocalDroneCommand\r\nfrom gui.fitCommands.helpers import DroneInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiSplitLocalDroneStackCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, amount):\r\n        wx.Command.__init__(self, True, 'Split Local Drone Stack')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.amount = amount\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        drone = fit.drones[self.position]\r\n        if self.amount >= drone.amount:\r\n            return False\r\n        info = DroneInfo.fromDrone(drone)\r\n        info.amount = self.amount\r\n        info.amountActive = min(self.amount, info.amountActive)\r\n        commands = []\r\n        commands.append(CalcRemoveLocalDroneCommand(\r\n            fitID=self.fitID,\r\n            position=self.position,\r\n            amount=self.amount))\r\n        commands.append(CalcAddLocalDroneCommand(\r\n            fitID=self.fitID,\r\n            droneInfo=info,\r\n            forceNewStack=True,\r\n            ignoreRestrictions=True))\r\n        success = self.internalHistory.submitBatch(*commands)\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/stacksMerge.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localChangeAmount import CalcChangeLocalDroneAmountCommand\r\nfrom gui.fitCommands.calc.drone.localRemove import CalcRemoveLocalDroneCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiMergeLocalDroneStacksCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, srcPosition, dstPosition):\r\n        wx.Command.__init__(self, True, 'Merge Local Drone Stacks')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.srcPosition = srcPosition\r\n        self.dstPosition = dstPosition\r\n\r\n    def Do(self):\r\n        if self.srcPosition == self.dstPosition:\r\n            return False\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        srcDrone = fit.drones[self.srcPosition]\r\n        dstDrone = fit.drones[self.dstPosition]\r\n        if srcDrone.itemID != dstDrone.itemID:\r\n            return False\r\n        srcAmount = srcDrone.amount\r\n        commands = []\r\n        commands.append(CalcChangeLocalDroneAmountCommand(\r\n            fitID=self.fitID,\r\n            position=self.dstPosition,\r\n            amount=dstDrone.amount + srcAmount))\r\n        commands.append(CalcRemoveLocalDroneCommand(\r\n            fitID=self.fitID,\r\n            position=self.srcPosition,\r\n            amount=srcAmount))\r\n        success = self.internalHistory.submitBatch(*commands)\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localDrone/toggleStates.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.localToggleStates import CalcToggleLocalDroneStatesCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiToggleLocalDroneStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainPosition, positions):\r\n        wx.Command.__init__(self, True, 'Toggle Local Drone States')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n\r\n    def Do(self):\r\n        cmd = CalcToggleLocalDroneStatesCommand(\r\n            fitID=self.fitID,\r\n            mainPosition=self.mainPosition,\r\n            positions=self.positions)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localFighter/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/localFighter/abilityToggleState.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.fighter.abilityToggleStates import CalcToggleFighterAbilityStatesCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiToggleLocalFighterAbilityStateCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainPosition, positions, effectID):\r\n        wx.Command.__init__(self, True, 'Toggle Local Fighter Ability State')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n        self.effectID = effectID\r\n\r\n    def Do(self):\r\n        cmd = CalcToggleFighterAbilityStatesCommand(\r\n            fitID=self.fitID,\r\n            projected=False,\r\n            mainPosition=self.mainPosition,\r\n            positions=self.positions,\r\n            effectID=self.effectID)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localFighter/add.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.fighter.localAdd import CalcAddLocalFighterCommand\r\nfrom gui.fitCommands.helpers import FighterInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiAddLocalFighterCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID):\r\n        wx.Command.__init__(self, True, 'Add Local Fighter')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n\r\n    def Do(self):\r\n        cmd = CalcAddLocalFighterCommand(fitID=self.fitID, fighterInfo=FighterInfo(itemID=self.itemID))\r\n        success = self.internalHistory.submit(cmd)\r\n        Market.getInstance().storeRecentlyUsed(self.itemID)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localFighter/changeAmount.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.fighter.changeAmount import CalcChangeFighterAmountCommand\r\nfrom gui.fitCommands.calc.fighter.localRemove import CalcRemoveLocalFighterCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeLocalFighterAmountCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, amount):\r\n        wx.Command.__init__(self, True, 'Change Local Fighter Amount')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.amount = amount\r\n\r\n    def Do(self):\r\n        if self.amount > 0:\r\n            cmd = CalcChangeFighterAmountCommand(fitID=self.fitID, projected=False, position=self.position, amount=self.amount)\r\n        else:\r\n            cmd = CalcRemoveLocalFighterCommand(fitID=self.fitID, position=self.position)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localFighter/changeMetas.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.fighter.localAdd import CalcAddLocalFighterCommand\r\nfrom gui.fitCommands.calc.fighter.localRemove import CalcRemoveLocalFighterCommand\r\nfrom gui.fitCommands.helpers import FighterInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeLocalFighterMetasCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions, newItemID):\r\n        wx.Command.__init__(self, True, 'Change Local Fighter Metas')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n        self.newItemID = newItemID\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        results = []\r\n        for position in sorted(self.positions, reverse=True):\r\n            fighter = fit.fighters[position]\r\n            if fighter.itemID == self.newItemID:\r\n                continue\r\n            info = FighterInfo.fromFighter(fighter)\r\n            info.itemID = self.newItemID\r\n            cmdRemove = CalcRemoveLocalFighterCommand(\r\n                fitID=self.fitID,\r\n                position=position)\r\n            cmdAdd = CalcAddLocalFighterCommand(\r\n                fitID=self.fitID,\r\n                fighterInfo=info,\r\n                ignoreRestrictions=True)\r\n            results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd))\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localFighter/imprt.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.fighter.localAdd import CalcAddLocalFighterCommand\r\nfrom gui.fitCommands.helpers import FighterInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiImportLocalFightersCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, fighters):\r\n        wx.Command.__init__(self, True, 'Import Local Fighters')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.fighters = [(i, a) for i, a, m in fighters]\r\n\r\n    def Do(self):\r\n        results = []\r\n        for itemID, amount in self.fighters:\r\n            cmd = CalcAddLocalFighterCommand(fitID=self.fitID, fighterInfo=FighterInfo(itemID=itemID, amount=amount, state=False))\r\n            results.append(self.internalHistory.submit(cmd))\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localFighter/remove.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.fighter.localRemove import CalcRemoveLocalFighterCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiRemoveLocalFightersCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions):\r\n        wx.Command.__init__(self, True, 'Remove Local Fighters')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n\r\n    def Do(self):\r\n        sMkt = Market.getInstance()\r\n        results = []\r\n        for position in sorted(self.positions, reverse=True):\r\n            cmd = CalcRemoveLocalFighterCommand(fitID=self.fitID, position=position)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            sMkt.storeRecentlyUsed(cmd.savedFighterInfo.itemID)\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localFighter/toggleStates.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.fighter.localToggleStates import CalcToggleLocalFighterStatesCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiToggleLocalFighterStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainPosition, positions):\r\n        wx.Command.__init__(self, True, 'Toggle Local Fighter States')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n\r\n    def Do(self):\r\n        cmd = CalcToggleLocalFighterStatesCommand(\r\n            fitID=self.fitID,\r\n            mainPosition=self.mainPosition,\r\n            positions=self.positions)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/localModule/add.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo, restoreRemovedDummies\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiAddLocalModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID):\r\n        wx.Command.__init__(self, True, 'Add Local Module')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n        self.savedRemovedDummies = None\r\n\r\n    def Do(self):\r\n        cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=ModuleInfo(itemID=self.itemID))\r\n        success = self.internalHistory.submit(cmd)\r\n        Market.getInstance().storeRecentlyUsed(self.itemID)\r\n        sFit = Fit.getInstance()\r\n        if cmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        self.savedRemovedDummies = sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(\r\n            gui.mainFrame.MainFrame.getInstance(),\r\n            GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.itemID)\r\n            if success else\r\n            GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        restoreRemovedDummies(fit, self.savedRemovedDummies)\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(\r\n            gui.mainFrame.MainFrame.getInstance(),\r\n            GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.itemID)\r\n            if success else\r\n            GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/changeCharges.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.changeCharges import CalcChangeModuleChargesCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeLocalModuleChargesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions, chargeItemID):\r\n        wx.Command.__init__(self, True, 'Change Local Module Charges')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n        self.chargeItemID = chargeItemID\r\n\r\n    def Do(self):\r\n        cmd = CalcChangeModuleChargesCommand(fitID=self.fitID, projected=False, chargeMap={p: self.chargeItemID for p in self.positions})\r\n        success = self.internalHistory.submit(cmd)\r\n        sFit = Fit.getInstance()\r\n        if cmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/changeMetas.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo, restoreRemovedDummies\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeLocalModuleMetasCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions, newItemID):\r\n        wx.Command.__init__(self, True, 'Change Local Module Metas')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n        self.newItemID = newItemID\r\n        self.replacedItemIDs = None\r\n        self.savedRemovedDummies = None\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        oldModMap = self._getPositionMap(fit)\r\n        results = []\r\n        self.replacedItemIDs = set()\r\n        lastSuccessfulCmd = None\r\n        for position in self.positions:\r\n            module = fit.modules[position]\r\n            if module.isEmpty:\r\n                continue\r\n            if module.itemID == self.newItemID:\r\n                continue\r\n            info = ModuleInfo.fromModule(module)\r\n            info.itemID = self.newItemID\r\n            cmd = CalcReplaceLocalModuleCommand(\r\n                fitID=self.fitID,\r\n                position=position,\r\n                newModInfo=info,\r\n                unloadInvalidCharges=True)\r\n            result = self.internalHistory.submit(cmd)\r\n            results.append(result)\r\n            if result:\r\n                self.replacedItemIDs.add(module.itemID)\r\n                lastSuccessfulCmd = cmd\r\n        success = any(results)\r\n        if lastSuccessfulCmd is not None and lastSuccessfulCmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        self.savedRemovedDummies = sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        newModMap = self._getPositionMap(fit)\r\n        events = []\r\n        if success and self.replacedItemIDs:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.replacedItemIDs))\r\n        if success:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.newItemID))\r\n        if not events:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,)))\r\n        if success:\r\n            for position in self.positions:\r\n                oldMod = oldModMap.get(position)\r\n                newMod = newModMap.get(position)\r\n                if oldMod is not newMod:\r\n                    events.append(GE.ItemChangedInplace(old=oldMod, new=newMod))\r\n        for event in events:\r\n            wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        oldModMap = self._getPositionMap(fit)\r\n        for position in self.positions:\r\n            oldModMap[position] = fit.modules[position]\r\n        restoreRemovedDummies(fit, self.savedRemovedDummies)\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        newModMap = self._getPositionMap(fit)\r\n        events = []\r\n        if success:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.newItemID))\r\n        if success and self.replacedItemIDs:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.replacedItemIDs))\r\n        if not events:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,)))\r\n        if success:\r\n            for position in self.positions:\r\n                oldMod = oldModMap.get(position)\r\n                newMod = newModMap.get(position)\r\n                if oldMod is not newMod:\r\n                    events.append(GE.ItemChangedInplace(fitID=self.fitID, old=oldMod, new=newMod))\r\n        for event in events:\r\n            wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)\r\n        return success\r\n\r\n    def _getPositionMap(self, fit):\r\n        positionMap = {}\r\n        for position in self.positions:\r\n            positionMap[position] = fit.modules[position]\r\n        return positionMap\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/changeMutation.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localChangeMutation import CalcChangeLocalModuleMutationCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeLocalModuleMutationCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, mutation, oldMutation=None):\r\n        wx.Command.__init__(self, True, 'Change Local Module Mutation')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.mutation = mutation\r\n        self.oldMutation = oldMutation\r\n\r\n    def Do(self):\r\n        cmd = CalcChangeLocalModuleMutationCommand(\r\n            fitID=self.fitID,\r\n            position=self.position,\r\n            mutation=self.mutation,\r\n            oldMutation=self.oldMutation)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/changeSpool.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.changeSpool import CalcChangeModuleSpoolCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeLocalModuleSpoolCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, spoolType, spoolAmount):\r\n        wx.Command.__init__(self, True, 'Change Local Module Spool')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.spoolType = spoolType\r\n        self.spoolAmount = spoolAmount\r\n\r\n    def Do(self):\r\n        cmd = CalcChangeModuleSpoolCommand(\r\n            fitID=self.fitID,\r\n            projected=False,\r\n            position=self.position,\r\n            spoolType=self.spoolType,\r\n            spoolAmount=self.spoolAmount)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/changeStates.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localChangeStates import CalcChangeLocalModuleStatesCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, restoreRemovedDummies\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeLocalModuleStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainPosition, positions, click):\r\n        wx.Command.__init__(self, True, 'Change Local Module States')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n        self.click = click\r\n        self.savedRemovedDummies = None\r\n\r\n    def Do(self):\r\n        cmd = CalcChangeLocalModuleStatesCommand(\r\n            fitID=self.fitID,\r\n            mainPosition=self.mainPosition,\r\n            positions=self.positions,\r\n            click=self.click)\r\n        success = self.internalHistory.submit(cmd)\r\n        sFit = Fit.getInstance()\r\n        if cmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        self.savedRemovedDummies = sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        restoreRemovedDummies(fit, self.savedRemovedDummies)\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/clone.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localClone import CalcCloneLocalModuleCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, restoreRemovedDummies\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiCloneLocalModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, srcPosition, dstPosition):\r\n        wx.Command.__init__(self, True, 'Clone Local Module')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.srcPosition = srcPosition\r\n        self.dstPosition = dstPosition\r\n        self.savedItemID = None\r\n        self.savedRemovedDummies = None\r\n\r\n    def Do(self):\r\n        if self.srcPosition == self.dstPosition:\r\n            return False\r\n        sFit = Fit.getInstance()\r\n        cmd = CalcCloneLocalModuleCommand(fitID=self.fitID, srcPosition=self.srcPosition, dstPosition=self.dstPosition)\r\n        success = self.internalHistory.submit(cmd)\r\n        fit = sFit.getFit(self.fitID)\r\n        if cmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        self.savedRemovedDummies = sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        self.savedItemID = fit.modules[self.srcPosition].itemID\r\n        if success and self.savedItemID is not None:\r\n            event = GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.savedItemID)\r\n        else:\r\n            event = GE.FitChanged(fitIDs=(self.fitID,))\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        restoreRemovedDummies(fit, self.savedRemovedDummies)\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        if success and self.savedItemID is not None:\r\n            event = GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.savedItemID)\r\n        else:\r\n            event = GE.FitChanged(fitIDs=(self.fitID,))\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/fillAdd.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo, restoreRemovedDummies\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiFillWithNewLocalModulesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID):\r\n        wx.Command.__init__(self, True, 'Fill with New Local Modules')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n        self.savedRemovedDummies = None\r\n\r\n    def Do(self):\r\n        info = ModuleInfo(itemID=self.itemID)\r\n        added_modules = 0\r\n        while True:\r\n            cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=info)\r\n            if not self.internalHistory.submit(cmd):\r\n                break\r\n            added_modules += 1\r\n        Market.getInstance().storeRecentlyUsed(self.itemID)\r\n        sFit = Fit.getInstance()\r\n        # Only last command decides if we need to recalc here or not\r\n        if cmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        self.savedRemovedDummies = sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        success = added_modules > 0\r\n        wx.PostEvent(\r\n            gui.mainFrame.MainFrame.getInstance(),\r\n            GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.itemID)\r\n            if success else\r\n            GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        restoreRemovedDummies(fit, self.savedRemovedDummies)\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(\r\n            gui.mainFrame.MainFrame.getInstance(),\r\n            GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.itemID)\r\n            if success else\r\n            GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/fillClone.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo, restoreRemovedDummies\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiFillWithClonedLocalModulesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position):\r\n        wx.Command.__init__(self, True, 'Fill with Cloned Local Modules')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.savedItemID = None\r\n        self.savedRemovedDummies = None\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        mod = fit.modules[self.position]\r\n        self.savedItemID = mod.itemID\r\n        info = ModuleInfo.fromModule(mod)\r\n        added_modules = 0\r\n        while True:\r\n            cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=info)\r\n            if not self.internalHistory.submit(cmd):\r\n                break\r\n            added_modules += 1\r\n        if cmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        self.savedRemovedDummies = sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        success = added_modules > 0\r\n        wx.PostEvent(\r\n            gui.mainFrame.MainFrame.getInstance(),\r\n            GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.savedItemID)\r\n            if success else\r\n            GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        restoreRemovedDummies(fit, self.savedRemovedDummies)\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(\r\n            gui.mainFrame.MainFrame.getInstance(),\r\n            GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.savedItemID)\r\n            if success else\r\n            GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/mutatedConvert.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiConvertMutatedLocalModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, mutaplasmid):\r\n        wx.Command.__init__(self, True, 'Convert Local Module to Mutated')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.itemID = mutaplasmid.resultingItem.ID\r\n        self.mutaplasmidID = mutaplasmid.ID\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        try:\r\n            mod = fit.modules[self.position]\r\n        except IndexError:\r\n            return False\r\n        if mod.isEmpty:\r\n            return False\r\n        if mod.isMutated:\r\n            return False\r\n        cmd = CalcReplaceLocalModuleCommand(\r\n            fitID=self.fitID,\r\n            position=self.position,\r\n            newModInfo=ModuleInfo(\r\n                itemID=self.itemID,\r\n                baseItemID=mod.item.ID,\r\n                mutaplasmidID=self.mutaplasmidID,\r\n                mutations={},\r\n                chargeID=mod.chargeID,\r\n                state=mod.state,\r\n                spoolType=mod.spoolType,\r\n                spoolAmount=mod.spoolAmount))\r\n        success = self.internalHistory.submit(cmd)\r\n        if cmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/mutatedImport.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo, restoreRemovedDummies\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiImportLocalMutatedModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, baseItem, mutaplasmid, mutations):\r\n        wx.Command.__init__(self, True, 'Import Local Mutated Module')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.newModInfo = ModuleInfo(\r\n            itemID=mutaplasmid.resultingItem.ID,\r\n            baseItemID=baseItem.ID,\r\n            mutaplasmidID=mutaplasmid.ID,\r\n            mutations=mutations)\r\n        self.savedRemovedDummies = None\r\n\r\n    def Do(self):\r\n        cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=self.newModInfo)\r\n        success = self.internalHistory.submit(cmd)\r\n        sFit = Fit.getInstance()\r\n        if cmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        self.savedRemovedDummies = sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(\r\n            gui.mainFrame.MainFrame.getInstance(),\r\n            GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.newModInfo.itemID))\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        restoreRemovedDummies(fit, self.savedRemovedDummies)\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(\r\n            gui.mainFrame.MainFrame.getInstance(),\r\n            GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.newModInfo.itemID))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/mutatedRevert.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiRevertMutatedLocalModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position):\r\n        wx.Command.__init__(self, True, 'Revert Local Module from Mutated')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        try:\r\n            mod = fit.modules[self.position]\r\n        except IndexError:\r\n            return False\r\n        if mod.isEmpty:\r\n            return False\r\n        if not mod.isMutated:\r\n            return False\r\n        cmd = CalcReplaceLocalModuleCommand(\r\n            fitID=self.fitID,\r\n            position=self.position,\r\n            newModInfo=ModuleInfo(\r\n                itemID=mod.baseItemID,\r\n                chargeID=mod.chargeID,\r\n                state=mod.state,\r\n                spoolType=mod.spoolType,\r\n                spoolAmount=mod.spoolAmount))\r\n        success = self.internalHistory.submit(cmd)\r\n        if cmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/remove.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localRemove import CalcRemoveLocalModulesCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, restoreRemovedDummies\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiRemoveLocalModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions):\r\n        wx.Command.__init__(self, True, 'Remove Local Module')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n        self.savedTypeIDs = None\r\n        self.savedRemovedDummies = None\r\n\r\n    def Do(self):\r\n        sMkt = Market.getInstance()\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        self.savedTypeIDs = {m.itemID for m in fit.modules if not m.isEmpty}\r\n        cmd = CalcRemoveLocalModulesCommand(fitID=self.fitID, positions=self.positions)\r\n        success = self.internalHistory.submit(cmd)\r\n        for container in (cmd.savedSubInfos, cmd.savedModInfos):\r\n            for position in sorted(container, reverse=True):\r\n                modInfo = container[position]\r\n                sMkt.storeRecentlyUsed(modInfo.itemID)\r\n        if cmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        self.savedRemovedDummies = sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(\r\n            gui.mainFrame.MainFrame.getInstance(),\r\n            GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.savedTypeIDs)\r\n            if success and self.savedTypeIDs else\r\n            GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        restoreRemovedDummies(fit, self.savedRemovedDummies)\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(\r\n            gui.mainFrame.MainFrame.getInstance(),\r\n            GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.savedTypeIDs)\r\n            if success and self.savedTypeIDs else\r\n            GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/replace.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo, restoreRemovedDummies\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\n\r\nclass GuiReplaceLocalModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID, positions):\r\n        wx.Command.__init__(self, True, 'Replace Local Module')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n        self.positions = positions\r\n        self.savedRemovedDummies = None\r\n\r\n    def Do(self):\r\n        results = []\r\n        needRecalc = None\r\n        for position in self.positions:\r\n            cmd = CalcReplaceLocalModuleCommand(\r\n                fitID=self.fitID,\r\n                position=position,\r\n                newModInfo=ModuleInfo(itemID=self.itemID))\r\n            results.append(self.internalHistory.submit(cmd))\r\n            # Last command decides if we need it or not\r\n            needRecalc = cmd.needsGuiRecalc\r\n        success = any(results)\r\n        Market.getInstance().storeRecentlyUsed(self.itemID)\r\n        sFit = Fit.getInstance()\r\n        if needRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        self.savedRemovedDummies = sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(\r\n            gui.mainFrame.MainFrame.getInstance(),\r\n            GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.itemID)\r\n            if success else\r\n            GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        restoreRemovedDummies(fit, self.savedRemovedDummies)\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(\r\n            gui.mainFrame.MainFrame.getInstance(),\r\n            GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.itemID)\r\n            if success else\r\n            GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModule/swap.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.localSwap import CalcSwapLocalModuleCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\n\r\n\r\nclass GuiSwapLocalModulesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position1, position2):\r\n        wx.Command.__init__(self, True, 'Swap Local Modules')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position1 = position1\r\n        self.position2 = position2\r\n\r\n    def Do(self):\r\n        if self.position1 == self.position2:\r\n            return False\r\n        cmd = CalcSwapLocalModuleCommand(fitID=self.fitID, position1=self.position1, position2=self.position2)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModuleCargo/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/localModuleCargo/cargoToLocalModule.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.cargo.add import CalcAddCargoCommand\r\nfrom gui.fitCommands.calc.cargo.remove import CalcRemoveCargoCommand\r\nfrom gui.fitCommands.calc.module.changeCharges import CalcChangeModuleChargesCommand\r\nfrom gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand\r\nfrom gui.fitCommands.helpers import CargoInfo, InternalCommandHistory, ModuleInfo, restoreRemovedDummies\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiCargoToLocalModuleCommand(wx.Command):\r\n    \"\"\"\r\n    Moves cargo to the fitting window. If target is not empty, take whatever we take off and put\r\n    into the cargo hold. If we copy, we do the same but do not remove the item from the cargo hold.\r\n    \"\"\"\r\n\r\n    def __init__(self, fitID, cargoItemID, modPosition, copy):\r\n        wx.Command.__init__(self, True, 'Cargo to Local Module')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.srcCargoItemID = cargoItemID\r\n        self.dstModPosition = modPosition\r\n        self.copy = copy\r\n        self.removedModItemID = None\r\n        self.addedModItemID = None\r\n        self.savedRemovedDummies = None\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        srcCargo = next((c for c in fit.cargo if c.itemID == self.srcCargoItemID), None)\r\n        if srcCargo is None:\r\n            return False\r\n        dstMod = fit.modules[self.dstModPosition]\r\n        # Moving/copying charge from cargo to fit\r\n        if srcCargo.item.isCharge and not dstMod.isEmpty:\r\n            newCargoChargeItemID = dstMod.chargeID\r\n            newCargoChargeAmount = dstMod.numCharges\r\n            newModChargeItemID = self.srcCargoItemID\r\n            newModChargeAmount = dstMod.getNumCharges(srcCargo.item)\r\n            if newCargoChargeItemID == newModChargeItemID:\r\n                return False\r\n            commands = []\r\n            if not self.copy:\r\n                commands.append(CalcRemoveCargoCommand(\r\n                    fitID=self.fitID,\r\n                    cargoInfo=CargoInfo(itemID=newModChargeItemID, amount=newModChargeAmount)))\r\n            if newCargoChargeItemID is not None:\r\n                commands.append(CalcAddCargoCommand(\r\n                    fitID=self.fitID,\r\n                    cargoInfo=CargoInfo(itemID=newCargoChargeItemID, amount=newCargoChargeAmount)))\r\n            commands.append(CalcChangeModuleChargesCommand(\r\n                fitID=self.fitID,\r\n                projected=False,\r\n                chargeMap={self.dstModPosition: self.srcCargoItemID}))\r\n            success = self.internalHistory.submitBatch(*commands)\r\n        # Moving/copying/replacing module\r\n        elif srcCargo.item.isModule:\r\n            dstModItemID = dstMod.itemID\r\n            dstModSlot = dstMod.slot\r\n            if self.srcCargoItemID == dstModItemID:\r\n                return False\r\n            # To keep all old item properties, copy them over from old module, except for mutations\r\n            newModInfo = ModuleInfo.fromModule(dstMod, unmutate=True)\r\n            newModInfo.itemID = self.srcCargoItemID\r\n            if dstMod.isEmpty:\r\n                newCargoModItemID = None\r\n                dstModChargeItemID = None\r\n                dstModChargeAmount = None\r\n            else:\r\n                # We cannot put mutated items to cargo, so use unmutated item ID\r\n                newCargoModItemID = ModuleInfo.fromModule(dstMod, unmutate=True).itemID\r\n                dstModChargeItemID = dstMod.chargeID\r\n                dstModChargeAmount = dstMod.numCharges\r\n            commands = []\r\n            # Keep cargo only in case we were copying\r\n            if not self.copy:\r\n                commands.append(CalcRemoveCargoCommand(\r\n                    fitID=self.fitID,\r\n                    cargoInfo=CargoInfo(itemID=self.srcCargoItemID, amount=1)))\r\n            # Add item to cargo only if we copied/moved to non-empty slot\r\n            if newCargoModItemID is not None:\r\n                commands.append(CalcAddCargoCommand(\r\n                    fitID=self.fitID,\r\n                    cargoInfo=CargoInfo(itemID=newCargoModItemID, amount=1)))\r\n            cmdReplace = CalcReplaceLocalModuleCommand(\r\n                fitID=self.fitID,\r\n                position=self.dstModPosition,\r\n                newModInfo=newModInfo,\r\n                unloadInvalidCharges=True)\r\n            commands.append(cmdReplace)\r\n            # Submit batch now because we need to have updated info on fit to keep going\r\n            success = self.internalHistory.submitBatch(*commands)\r\n            newMod = fit.modules[self.dstModPosition]\r\n            # Bail if drag happened to slot to which module cannot be dragged, will undo later\r\n            if newMod.slot != dstModSlot:\r\n                success = False\r\n            if success:\r\n                # If we had to unload charge, add it to cargo\r\n                if cmdReplace.unloadedCharge and dstModChargeItemID is not None:\r\n                    cmdAddCargoCharge = CalcAddCargoCommand(\r\n                        fitID=self.fitID,\r\n                        cargoInfo=CargoInfo(itemID=dstModChargeItemID, amount=dstModChargeAmount))\r\n                    success = self.internalHistory.submit(cmdAddCargoCharge)\r\n                # If we did not unload charge and there still was a charge, see if amount differs and process it\r\n                elif not cmdReplace.unloadedCharge and dstModChargeItemID is not None:\r\n                    # How many extra charges do we need to take from cargo\r\n                    extraChargeAmount = newMod.numCharges - dstModChargeAmount\r\n                    if extraChargeAmount > 0:\r\n                        cmdRemoveCargoExtraCharge = CalcRemoveCargoCommand(\r\n                            fitID=self.fitID,\r\n                            cargoInfo=CargoInfo(itemID=dstModChargeItemID, amount=extraChargeAmount))\r\n                        # Do not check if operation was successful or not, we're okay if we have no such\r\n                        # charges in cargo\r\n                        self.internalHistory.submit(cmdRemoveCargoExtraCharge)\r\n                    elif extraChargeAmount < 0:\r\n                        cmdAddCargoExtraCharge = CalcAddCargoCommand(\r\n                            fitID=self.fitID,\r\n                            cargoInfo=CargoInfo(itemID=dstModChargeItemID, amount=abs(extraChargeAmount)))\r\n                        success = self.internalHistory.submit(cmdAddCargoExtraCharge)\r\n            if success:\r\n                # Store info to properly send events later\r\n                self.removedModItemID = dstModItemID\r\n                self.addedModItemID = self.srcCargoItemID\r\n            else:\r\n                self.internalHistory.undoAll()\r\n        else:\r\n            return False\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        self.savedRemovedDummies = sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        events = []\r\n        if self.removedModItemID is not None:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.removedModItemID))\r\n        if self.addedModItemID is not None:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.addedModItemID))\r\n        if not events:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,)))\r\n        for event in events:\r\n            wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        restoreRemovedDummies(fit, self.savedRemovedDummies)\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        events = []\r\n        if self.addedModItemID is not None:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.addedModItemID))\r\n        if self.removedModItemID is not None:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.removedModItemID))\r\n        if not events:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,)))\r\n        for event in events:\r\n            wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/localModuleCargo/localModuleToCargo.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.cargo.add import CalcAddCargoCommand\r\nfrom gui.fitCommands.calc.cargo.remove import CalcRemoveCargoCommand\r\nfrom gui.fitCommands.calc.module.localRemove import CalcRemoveLocalModulesCommand\r\nfrom gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand\r\nfrom gui.fitCommands.helpers import CargoInfo, InternalCommandHistory, ModuleInfo, restoreRemovedDummies\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiLocalModuleToCargoCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, modPosition, cargoItemID, copy):\r\n        wx.Command.__init__(self, True, 'Local Module to Cargo')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.srcModPosition = modPosition\r\n        self.dstCargoItemID = cargoItemID\r\n        self.copy = copy\r\n        self.removedModItemID = None\r\n        self.addedModItemID = None\r\n        self.savedRemovedDummies = None\r\n\r\n    def Do(self):\r\n        fit = Fit.getInstance().getFit(self.fitID)\r\n        srcMod = fit.modules[self.srcModPosition]\r\n        if srcMod.isEmpty:\r\n            return False\r\n        srcModItemID = srcMod.itemID\r\n        dstCargo = next((c for c in fit.cargo if c.itemID == self.dstCargoItemID), None)\r\n        success = False\r\n        # Attempt to swap if we're moving our module onto a module in the cargo hold\r\n        if not self.copy and dstCargo is not None and dstCargo.item.isModule:\r\n            if srcModItemID == self.dstCargoItemID:\r\n                return False\r\n            srcModSlot = srcMod.slot\r\n            newModInfo = ModuleInfo.fromModule(srcMod, unmutate=True)\r\n            newModInfo.itemID = self.dstCargoItemID\r\n            srcModChargeItemID = srcMod.chargeID\r\n            srcModChargeAmount = srcMod.numCharges\r\n            commands = []\r\n            commands.append(CalcRemoveCargoCommand(\r\n                fitID=self.fitID,\r\n                cargoInfo=CargoInfo(itemID=self.dstCargoItemID, amount=1)))\r\n            commands.append(CalcAddCargoCommand(\r\n                fitID=self.fitID,\r\n                # We cannot put mutated items to cargo, so use unmutated item ID\r\n                cargoInfo=CargoInfo(itemID=ModuleInfo.fromModule(srcMod, unmutate=True).itemID, amount=1)))\r\n            cmdReplace = CalcReplaceLocalModuleCommand(\r\n                fitID=self.fitID,\r\n                position=self.srcModPosition,\r\n                newModInfo=newModInfo,\r\n                unloadInvalidCharges=True)\r\n            commands.append(cmdReplace)\r\n            # Submit batch now because we need to have updated info on fit to keep going\r\n            success = self.internalHistory.submitBatch(*commands)\r\n            if success:\r\n                newMod = fit.modules[self.srcModPosition]\r\n                # Process charge changes if module is moved to proper slot\r\n                if newMod.slot == srcModSlot:\r\n                    # If we had to unload charge, add it to cargo\r\n                    if cmdReplace.unloadedCharge and srcModChargeItemID is not None:\r\n                        cmdAddCargoCharge = CalcAddCargoCommand(\r\n                            fitID=self.fitID,\r\n                            cargoInfo=CargoInfo(itemID=srcModChargeItemID, amount=srcModChargeAmount))\r\n                        success = self.internalHistory.submit(cmdAddCargoCharge)\r\n                    # If we did not unload charge and there still was a charge, see if amount differs and process it\r\n                    elif not cmdReplace.unloadedCharge and srcModChargeItemID is not None:\r\n                        # How many extra charges do we need to take from cargo\r\n                        extraChargeAmount = newMod.numCharges - srcModChargeAmount\r\n                        if extraChargeAmount > 0:\r\n                            cmdRemoveCargoExtraCharge = CalcRemoveCargoCommand(\r\n                                fitID=self.fitID,\r\n                                cargoInfo=CargoInfo(itemID=srcModChargeItemID, amount=extraChargeAmount))\r\n                            # Do not check if operation was successful or not, we're okay if we have no such\r\n                            # charges in cargo\r\n                            self.internalHistory.submit(cmdRemoveCargoExtraCharge)\r\n                        elif extraChargeAmount < 0:\r\n                            cmdAddCargoExtraCharge = CalcAddCargoCommand(\r\n                                fitID=self.fitID,\r\n                                cargoInfo=CargoInfo(itemID=srcModChargeItemID, amount=abs(extraChargeAmount)))\r\n                            success = self.internalHistory.submit(cmdAddCargoExtraCharge)\r\n                    if success:\r\n                        # Store info to properly send events later\r\n                        self.removedModItemID = srcModItemID\r\n                        self.addedModItemID = self.dstCargoItemID\r\n                # If drag happened to module which cannot be fit into current slot - consider it as failure\r\n                else:\r\n                    success = False\r\n                # And in case of any failures, cancel everything to try to do move instead\r\n                if not success:\r\n                    self.internalHistory.undoAll()\r\n        # Just dump module and its charges into cargo when copying or moving to cargo\r\n        if not success:\r\n            commands = []\r\n            commands.append(CalcAddCargoCommand(\r\n                fitID=self.fitID,\r\n                cargoInfo=CargoInfo(itemID=ModuleInfo.fromModule(srcMod, unmutate=True).itemID, amount=1)))\r\n            if srcMod.chargeID is not None:\r\n                commands.append(CalcAddCargoCommand(\r\n                    fitID=self.fitID,\r\n                    cargoInfo=CargoInfo(itemID=srcMod.chargeID, amount=srcMod.numCharges)))\r\n            if not self.copy:\r\n                commands.append(CalcRemoveLocalModulesCommand(\r\n                    fitID=self.fitID,\r\n                    positions=[self.srcModPosition]))\r\n            success = self.internalHistory.submitBatch(*commands)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        self.savedRemovedDummies = sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        events = []\r\n        if self.removedModItemID is not None:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.removedModItemID))\r\n        if self.addedModItemID is not None:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.addedModItemID))\r\n        if not events:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,)))\r\n        for event in events:\r\n            wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)\r\n        return success\r\n\r\n    def Undo(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        restoreRemovedDummies(fit, self.savedRemovedDummies)\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        events = []\r\n        if self.addedModItemID is not None:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,), action='moddel', typeID=self.addedModItemID))\r\n        if self.removedModItemID is not None:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,), action='modadd', typeID=self.removedModItemID))\r\n        if not events:\r\n            events.append(GE.FitChanged(fitIDs=(self.fitID,)))\r\n        for event in events:\r\n            wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedChangeProjectionRange.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom eos.saveddata.drone import Drone as EosDrone\r\nfrom eos.saveddata.fighter import Fighter as EosFighter\r\nfrom eos.saveddata.fit import Fit as EosFit\r\nfrom eos.saveddata.module import Module as EosModule\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.projectedChangeProjectionRange import CalcChangeProjectedDroneProjectionRangeCommand\r\nfrom gui.fitCommands.calc.fighter.projectedChangeProjectionRange import CalcChangeProjectedFighterProjectionRangeCommand\r\nfrom gui.fitCommands.calc.module.projectedChangeProjectionRange import CalcChangeProjectedModuleProjectionRangeCommand\r\nfrom gui.fitCommands.calc.projectedFit.changeProjectionRange import CalcChangeProjectedFitProjectionRangeCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeProjectedItemsProjectionRangeCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, items, projectionRange):\r\n        wx.Command.__init__(self, True, 'Change Projected Items Projection Range')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.projectionRange = projectionRange\r\n        self.pModPositions = []\r\n        self.pDroneItemIDs = []\r\n        self.pFighterPositions = []\r\n        self.pFitIDs = []\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        for item in items:\r\n            if isinstance(item, EosModule):\r\n                if item in fit.projectedModules and not getattr(item, 'isExclusiveSystemEffect', False):\r\n                    self.pModPositions.append(fit.projectedModules.index(item))\r\n            elif isinstance(item, EosDrone):\r\n                self.pDroneItemIDs.append(item.itemID)\r\n            elif isinstance(item, EosFighter):\r\n                if item in fit.projectedFighters:\r\n                    self.pFighterPositions.append(fit.projectedFighters.index(item))\r\n            elif isinstance(item, EosFit):\r\n                self.pFitIDs.append(item.ID)\r\n\r\n    def Do(self):\r\n        results = []\r\n        needRecalc = True\r\n        for pModPosition in self.pModPositions:\r\n            cmd = CalcChangeProjectedModuleProjectionRangeCommand(\r\n                fitID=self.fitID,\r\n                position=pModPosition,\r\n                projectionRange=self.projectionRange)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            needRecalc = cmd.needsGuiRecalc\r\n        for pDroneItemID in self.pDroneItemIDs:\r\n            cmd = CalcChangeProjectedDroneProjectionRangeCommand(\r\n                fitID=self.fitID,\r\n                itemID=pDroneItemID,\r\n                projectionRange=self.projectionRange)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            needRecalc = True\r\n        for pFighterPosition in self.pFighterPositions:\r\n            cmd = CalcChangeProjectedFighterProjectionRangeCommand(\r\n                fitID=self.fitID,\r\n                position=pFighterPosition,\r\n                projectionRange=self.projectionRange)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            needRecalc = True\r\n        for pFitID in self.pFitIDs:\r\n            cmd = CalcChangeProjectedFitProjectionRangeCommand(\r\n                fitID=self.fitID,\r\n                projectedFitID=pFitID,\r\n                projectionRange=self.projectionRange)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            needRecalc = cmd.needsGuiRecalc\r\n        success = any(results)\r\n        sFit = Fit.getInstance()\r\n        if needRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedChangeStates.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom eos.const import FittingModuleState\r\nfrom eos.saveddata.drone import Drone as EosDrone\r\nfrom eos.saveddata.fighter import Fighter as EosFighter\r\nfrom eos.saveddata.fit import Fit as EosFit\r\nfrom eos.saveddata.module import Module as EosModule\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.projectedChangeState import CalcChangeProjectedDroneStateCommand\r\nfrom gui.fitCommands.calc.fighter.projectedChangeState import CalcChangeProjectedFighterStateCommand\r\nfrom gui.fitCommands.calc.module.projectedChangeStates import CalcChangeProjectedModuleStatesCommand\r\nfrom gui.fitCommands.calc.projectedFit.changeState import CalcChangeProjectedFitStateCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeProjectedItemStatesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainItem, items, click):\r\n        wx.Command.__init__(self, True, 'Change Projected Item States')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.pModPositions = []\r\n        self.pDroneItemIDs = []\r\n        self.pFighterPositions = []\r\n        self.pFitIDs = []\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        for item in items:\r\n            if isinstance(item, EosModule):\r\n                if item in fit.projectedModules:\r\n                    self.pModPositions.append(fit.projectedModules.index(item))\r\n            elif isinstance(item, EosDrone):\r\n                self.pDroneItemIDs.append(item.itemID)\r\n            elif isinstance(item, EosFighter):\r\n                if item in fit.projectedFighters:\r\n                    self.pFighterPositions.append(fit.projectedFighters.index(item))\r\n            elif isinstance(item, EosFit):\r\n                self.pFitIDs.append(item.ID)\r\n        self.proposedState = None\r\n        if click == 'right' and isinstance(mainItem, EosModule):\r\n            self.proposedState = 'overheat'\r\n        elif click == 'left':\r\n            if isinstance(mainItem, EosModule):\r\n                modProposedState = EosModule.getProposedState(mainItem, click)\r\n                self.proposedState = 'inactive' if modProposedState == FittingModuleState.OFFLINE else 'active'\r\n            elif isinstance(mainItem, EosDrone):\r\n                self.proposedState = 'active' if mainItem.amountActive == 0 else 'inactive'\r\n            elif isinstance(mainItem, EosFighter):\r\n                self.proposedState = 'inactive' if mainItem.active else 'active'\r\n            elif isinstance(mainItem, EosFit):\r\n                projectionInfo = mainItem.getProjectionInfo(self.fitID)\r\n                if projectionInfo is not None:\r\n                    self.proposedState = 'inactive' if projectionInfo.active else 'active'\r\n\r\n    def Do(self):\r\n        if self.proposedState is None:\r\n            return False\r\n        results = []\r\n        needRecalc = True\r\n        if self.pModPositions:\r\n            cmd = CalcChangeProjectedModuleStatesCommand(\r\n                fitID=self.fitID,\r\n                positions=self.pModPositions,\r\n                proposedState=self.proposedState)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            needRecalc = cmd.needsGuiRecalc\r\n        for pDroneItemID in self.pDroneItemIDs:\r\n            cmd = CalcChangeProjectedDroneStateCommand(\r\n                fitID=self.fitID,\r\n                itemID=pDroneItemID,\r\n                state=False if self.proposedState == 'inactive' else True)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            needRecalc = True\r\n        for pFighterPosition in self.pFighterPositions:\r\n            cmd = CalcChangeProjectedFighterStateCommand(\r\n                fitID=self.fitID,\r\n                position=pFighterPosition,\r\n                state=False if self.proposedState == 'inactive' else True)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            needRecalc = True\r\n        for pFitID in self.pFitIDs:\r\n            cmd = CalcChangeProjectedFitStateCommand(\r\n                fitID=self.fitID,\r\n                projectedFitID=pFitID,\r\n                state=False if self.proposedState == 'inactive' else True)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            needRecalc = cmd.needsGuiRecalc\r\n        success = any(results)\r\n        sFit = Fit.getInstance()\r\n        if needRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedDrone/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/projectedDrone/add.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.projectedAdd import CalcAddProjectedDroneCommand\r\nfrom gui.fitCommands.helpers import DroneInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiAddProjectedDroneCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID):\r\n        wx.Command.__init__(self, True, 'Add Projected Drone')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n\r\n    def Do(self):\r\n        cmd = CalcAddProjectedDroneCommand(fitID=self.fitID, droneInfo=DroneInfo(itemID=self.itemID, amount=1, amountActive=1))\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedDrone/changeAmount.py",
    "content": "import math\r\n\r\nimport wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.projectedChangeAmount import CalcChangeProjectedDroneAmountCommand\r\nfrom gui.fitCommands.calc.drone.projectedRemove import CalcRemoveProjectedDroneCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeProjectedDroneAmountCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID, amount):\r\n        wx.Command.__init__(self, True, 'Change Projected Drone Amount')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n        self.amount = amount\r\n\r\n    def Do(self):\r\n        if self.amount > 0:\r\n            cmd = CalcChangeProjectedDroneAmountCommand(fitID=self.fitID, itemID=self.itemID, amount=self.amount)\r\n        else:\r\n            cmd = CalcRemoveProjectedDroneCommand(fitID=self.fitID, itemID=self.itemID, amount=math.inf)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedDrone/changeMetas.py",
    "content": "import math\r\n\r\nimport wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.projectedAdd import CalcAddProjectedDroneCommand\r\nfrom gui.fitCommands.calc.drone.projectedRemove import CalcRemoveProjectedDroneCommand\r\nfrom gui.fitCommands.helpers import DroneInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeProjectedDroneMetasCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemIDs, newItemID):\r\n        wx.Command.__init__(self, True, 'Change Projected Drone Metas')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemIDs = itemIDs\r\n        self.newItemID = newItemID\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        results = []\r\n        for itemID in self.itemIDs:\r\n            drone = next((pd for pd in fit.projectedDrones if pd.itemID == itemID), None)\r\n            if drone is None:\r\n                continue\r\n            if drone.itemID == self.newItemID:\r\n                continue\r\n            info = DroneInfo.fromDrone(drone)\r\n            info.itemID = self.newItemID\r\n            cmdRemove = CalcRemoveProjectedDroneCommand(fitID=self.fitID, itemID=itemID, amount=math.inf)\r\n            cmdAdd = CalcAddProjectedDroneCommand(fitID=self.fitID, droneInfo=info)\r\n            results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd))\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedFighter/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/projectedFighter/abilityToggleState.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.fighter.abilityToggleStates import CalcToggleFighterAbilityStatesCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiToggleProjectedFighterAbilityStateCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, mainPosition, positions, effectID):\r\n        wx.Command.__init__(self, True, 'Toggle Projected Fighter Ability State')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.mainPosition = mainPosition\r\n        self.positions = positions\r\n        self.effectID = effectID\r\n\r\n    def Do(self):\r\n        cmd = CalcToggleFighterAbilityStatesCommand(\r\n            fitID=self.fitID,\r\n            projected=True,\r\n            mainPosition=self.mainPosition,\r\n            positions=self.positions,\r\n            effectID=self.effectID)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedFighter/add.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.fighter.projectedAdd import CalcAddProjectedFighterCommand\r\nfrom gui.fitCommands.helpers import FighterInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiAddProjectedFighterCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID):\r\n        wx.Command.__init__(self, True, 'Add Projected Fighter')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n\r\n    def Do(self):\r\n        cmd = CalcAddProjectedFighterCommand(fitID=self.fitID, fighterInfo=FighterInfo(itemID=self.itemID))\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedFighter/changeAmount.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.fighter.changeAmount import CalcChangeFighterAmountCommand\r\nfrom gui.fitCommands.calc.fighter.projectedRemove import CalcRemoveProjectedFighterCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeProjectedFighterAmountCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, amount):\r\n        wx.Command.__init__(self, True, 'Change Projected Fighter Amount')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.amount = amount\r\n\r\n    def Do(self):\r\n        if self.amount > 0:\r\n            cmd = CalcChangeFighterAmountCommand(fitID=self.fitID, projected=True, position=self.position, amount=self.amount)\r\n        else:\r\n            cmd = CalcRemoveProjectedFighterCommand(fitID=self.fitID, position=self.position)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedFighter/changeMetas.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.fighter.projectedAdd import CalcAddProjectedFighterCommand\r\nfrom gui.fitCommands.calc.fighter.projectedRemove import CalcRemoveProjectedFighterCommand\r\nfrom gui.fitCommands.helpers import FighterInfo, InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeProjectedFighterMetasCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions, newItemID):\r\n        wx.Command.__init__(self, True, 'Change Projected Fighter Metas')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n        self.newItemID = newItemID\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        results = []\r\n        for position in sorted(self.positions, reverse=True):\r\n            fighter = fit.projectedFighters[position]\r\n            if fighter.itemID == self.newItemID:\r\n                continue\r\n            info = FighterInfo.fromFighter(fighter)\r\n            info.itemID = self.newItemID\r\n            cmdRemove = CalcRemoveProjectedFighterCommand(fitID=self.fitID, position=position)\r\n            cmdAdd = CalcAddProjectedFighterCommand(fitID=self.fitID, fighterInfo=info)\r\n            results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd))\r\n        success = any(results)\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedFit/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/projectedFit/add.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.projectedFit.add import CalcAddProjectedFitCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiAddProjectedFitsCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, projectedFitIDs, amount):\r\n        wx.Command.__init__(self, True, 'Add Projected Fits')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.projectedFitIDs = projectedFitIDs\r\n        self.amount = amount\r\n\r\n    def Do(self):\r\n        results = []\r\n        for projectedFitID in self.projectedFitIDs:\r\n            cmd = CalcAddProjectedFitCommand(fitID=self.fitID, projectedFitID=projectedFitID, amount=self.amount)\r\n            results.append(self.internalHistory.submit(cmd))\r\n        success = any(results)\r\n        sFit = Fit.getInstance()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        sFit = Fit.getInstance()\r\n        eos.db.flush()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedFit/changeAmount.py",
    "content": "import math\r\n\r\nimport wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.projectedFit.changeAmount import CalcChangeProjectedFitAmountCommand\r\nfrom gui.fitCommands.calc.projectedFit.remove import CalcRemoveProjectedFitCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeProjectedFitAmountCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, projectedFitID, amount):\r\n        wx.Command.__init__(self, True, 'Change Projected Fit Amount')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.projectedFitID = projectedFitID\r\n        self.amount = amount\r\n\r\n    def Do(self):\r\n        if self.amount > 0:\r\n            cmd = CalcChangeProjectedFitAmountCommand(fitID=self.fitID, projectedFitID=self.projectedFitID, amount=self.amount)\r\n        else:\r\n            cmd = CalcRemoveProjectedFitCommand(fitID=self.fitID, projectedFitID=self.projectedFitID, amount=math.inf)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedModule/__init__.py",
    "content": ""
  },
  {
    "path": "gui/fitCommands/gui/projectedModule/add.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.projectedAdd import CalcAddProjectedModuleCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiAddProjectedModuleCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID):\r\n        wx.Command.__init__(self, True, 'Add Projected Module')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n\r\n    def Do(self):\r\n        cmd = CalcAddProjectedModuleCommand(fitID=self.fitID, modInfo=ModuleInfo(itemID=self.itemID))\r\n        success = self.internalHistory.submit(cmd)\r\n        sFit = Fit.getInstance()\r\n        if cmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedModule/changeCharges.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.changeCharges import CalcChangeModuleChargesCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeProjectedModuleChargesCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions, chargeItemID):\r\n        wx.Command.__init__(self, True, 'Change Projected Module Charges')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n        self.chargeItemID = chargeItemID\r\n\r\n    def Do(self):\r\n        cmd = CalcChangeModuleChargesCommand(fitID=self.fitID, projected=True, chargeMap={p: self.chargeItemID for p in self.positions})\r\n        success = self.internalHistory.submit(cmd)\r\n        sFit = Fit.getInstance()\r\n        if cmd.needsGuiRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedModule/changeMetas.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.projectedAdd import CalcAddProjectedModuleCommand\r\nfrom gui.fitCommands.calc.module.projectedRemove import CalcRemoveProjectedModuleCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeProjectedModuleMetasCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, positions, newItemID):\r\n        wx.Command.__init__(self, True, 'Change Projected Module Metas')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.positions = positions\r\n        self.newItemID = newItemID\r\n\r\n    def Do(self):\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.fitID)\r\n        results = []\r\n        needRecalc = None\r\n        for position in sorted(self.positions, reverse=True):\r\n            module = fit.projectedModules[position]\r\n            if module.itemID == self.newItemID:\r\n                continue\r\n            info = ModuleInfo.fromModule(module)\r\n            info.itemID = self.newItemID\r\n            cmdRemove = CalcRemoveProjectedModuleCommand(fitID=self.fitID, position=position)\r\n            cmdAdd = CalcAddProjectedModuleCommand(fitID=self.fitID, modInfo=info)\r\n            results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd))\r\n            # Only last add command counts\r\n            needRecalc = cmdAdd.needsGuiRecalc\r\n        success = any(results)\r\n        if needRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedModule/changeSpool.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.module.changeSpool import CalcChangeModuleSpoolCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeProjectedModuleSpoolCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, position, spoolType, spoolAmount):\r\n        wx.Command.__init__(self, True, 'Change Projected Module Spool')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.position = position\r\n        self.spoolType = spoolType\r\n        self.spoolAmount = spoolAmount\r\n\r\n    def Do(self):\r\n        cmd = CalcChangeModuleSpoolCommand(\r\n            fitID=self.fitID,\r\n            projected=True,\r\n            position=self.position,\r\n            spoolType=self.spoolType,\r\n            spoolAmount=self.spoolAmount)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/projectedRemove.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom eos.saveddata.drone import Drone as EosDrone\r\nfrom eos.saveddata.fighter import Fighter as EosFighter\r\nfrom eos.saveddata.fit import Fit as EosFit\r\nfrom eos.saveddata.module import Module as EosModule\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.drone.projectedRemove import CalcRemoveProjectedDroneCommand\r\nfrom gui.fitCommands.calc.fighter.projectedRemove import CalcRemoveProjectedFighterCommand\r\nfrom gui.fitCommands.calc.module.projectedRemove import CalcRemoveProjectedModuleCommand\r\nfrom gui.fitCommands.calc.projectedFit.remove import CalcRemoveProjectedFitCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiRemoveProjectedItemsCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, items, amount):\r\n        wx.Command.__init__(self, True, 'Remove Projected Items')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.amount = amount\r\n        self.pModPositions = []\r\n        self.pDroneItemIDs = []\r\n        self.pFighterPositions = []\r\n        self.pFitIDs = []\r\n        fit = Fit.getInstance().getFit(fitID)\r\n        for item in items:\r\n            if isinstance(item, EosModule):\r\n                if item in fit.projectedModules:\r\n                    self.pModPositions.append(fit.projectedModules.index(item))\r\n            elif isinstance(item, EosDrone):\r\n                self.pDroneItemIDs.append(item.itemID)\r\n            elif isinstance(item, EosFighter):\r\n                if item in fit.projectedFighters:\r\n                    self.pFighterPositions.append(fit.projectedFighters.index(item))\r\n            elif isinstance(item, EosFit):\r\n                self.pFitIDs.append(item.ID)\r\n\r\n    def Do(self):\r\n        results = []\r\n        needRecalc = True\r\n        for pModPosition in sorted(self.pModPositions, reverse=True):\r\n            cmd = CalcRemoveProjectedModuleCommand(fitID=self.fitID, position=pModPosition)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            needRecalc = cmd.needsGuiRecalc\r\n        for pDroneItemID in self.pDroneItemIDs:\r\n            cmd = CalcRemoveProjectedDroneCommand(fitID=self.fitID, itemID=pDroneItemID, amount=self.amount)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            needRecalc = True\r\n        for pFighterPosition in sorted(self.pFighterPositions, reverse=True):\r\n            cmd = CalcRemoveProjectedFighterCommand(fitID=self.fitID, position=pFighterPosition)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            needRecalc = True\r\n        for pFitID in self.pFitIDs:\r\n            cmd = CalcRemoveProjectedFitCommand(fitID=self.fitID, projectedFitID=pFitID, amount=self.amount)\r\n            results.append(self.internalHistory.submit(cmd))\r\n            needRecalc = cmd.needsGuiRecalc\r\n        success = any(results)\r\n        sFit = Fit.getInstance()\r\n        if needRecalc:\r\n            eos.db.flush()\r\n            sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/gui/shipModeChange.py",
    "content": "import wx\r\n\r\nimport eos.db\r\nimport gui.mainFrame\r\nfrom gui import globalEvents as GE\r\nfrom gui.fitCommands.calc.shipModeChange import CalcChangeShipModeCommand\r\nfrom gui.fitCommands.helpers import InternalCommandHistory\r\nfrom service.fit import Fit\r\n\r\n\r\nclass GuiChangeShipModeCommand(wx.Command):\r\n\r\n    def __init__(self, fitID, itemID):\r\n        wx.Command.__init__(self, True, 'Change Ship Mode')\r\n        self.internalHistory = InternalCommandHistory()\r\n        self.fitID = fitID\r\n        self.itemID = itemID\r\n\r\n    def Do(self):\r\n        cmd = CalcChangeShipModeCommand(fitID=self.fitID, itemID=self.itemID)\r\n        success = self.internalHistory.submit(cmd)\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n\r\n    def Undo(self):\r\n        success = self.internalHistory.undoAll()\r\n        eos.db.flush()\r\n        sFit = Fit.getInstance()\r\n        sFit.recalc(self.fitID)\r\n        sFit.fill(self.fitID)\r\n        eos.db.commit()\r\n        wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))\r\n        return success\r\n"
  },
  {
    "path": "gui/fitCommands/helpers.py",
    "content": "import math\r\n\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom eos.const import FittingModuleState\r\nfrom eos.saveddata.booster import Booster\r\nfrom eos.saveddata.cargo import Cargo\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom eos.saveddata.implant import Implant\r\nfrom eos.saveddata.module import Module\r\nfrom service.market import Market\r\nfrom utils.repr import makeReprStr\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass InternalCommandHistory:\r\n\r\n    def __init__(self):\r\n        self.__buffer = wx.CommandProcessor()\r\n\r\n    def submit(self, command):\r\n        return self.__buffer.Submit(command)\r\n\r\n    def submitBatch(self, *commands):\r\n        for command in commands:\r\n            if not self.__buffer.Submit(command):\r\n                # Undo what we already submitted\r\n                for commandToUndo in reversed(self.__buffer.Commands):\r\n                    if commandToUndo in commands:\r\n                        self.__buffer.Undo()\r\n                return False\r\n        return True\r\n\r\n    def undoAll(self):\r\n        undoneCommands = []\r\n        # Undo commands one by one, starting from the last\r\n        for commandToUndo in reversed(self.__buffer.Commands):\r\n            if commandToUndo.Undo():\r\n                undoneCommands.append(commandToUndo)\r\n            # If undoing fails, redo already undone commands, starting from the last undone\r\n            else:\r\n                for commandToRedo in reversed(undoneCommands):\r\n                    if not commandToRedo.Do():\r\n                        break\r\n                self.__buffer.ClearCommands()\r\n                return False\r\n        self.__buffer.ClearCommands()\r\n        return True\r\n\r\n    def __len__(self):\r\n        return len(self.__buffer.Commands)\r\n\r\n\r\nclass ModuleInfo:\r\n\r\n    def __init__(\r\n            self, itemID, baseItemID=None, mutaplasmidID=None, mutations=None, chargeID=None,\r\n            state=None, spoolType=None, spoolAmount=None, rahPattern=None):\r\n        self.itemID = itemID\r\n        self.baseItemID = baseItemID\r\n        self.mutaplasmidID = mutaplasmidID\r\n        self.mutations = mutations\r\n        self.chargeID = chargeID\r\n        self.state = state\r\n        self.spoolType = spoolType\r\n        self.spoolAmount = spoolAmount\r\n        self.rahPattern = rahPattern\r\n\r\n    @classmethod\r\n    def fromModule(cls, mod, unmutate=False):\r\n        if mod is None:\r\n            return None\r\n        if unmutate and mod.isMutated:\r\n            info = cls(\r\n                itemID=mod.baseItemID,\r\n                baseItemID=None,\r\n                mutaplasmidID=None,\r\n                mutations={},\r\n                chargeID=mod.chargeID,\r\n                state=mod.state,\r\n                spoolType=mod.spoolType,\r\n                spoolAmount=mod.spoolAmount,\r\n                rahPattern=mod.rahPatternOverride)\r\n        else:\r\n            info = cls(\r\n                itemID=mod.itemID,\r\n                baseItemID=mod.baseItemID,\r\n                mutaplasmidID=mod.mutaplasmidID,\r\n                mutations={m.attrID: m.value for m in mod.mutators.values()},\r\n                chargeID=mod.chargeID,\r\n                state=mod.state,\r\n                spoolType=mod.spoolType,\r\n                spoolAmount=mod.spoolAmount,\r\n                rahPattern=mod.rahPatternOverride)\r\n        return info\r\n\r\n    def toModule(self, fallbackState=None):\r\n        mkt = Market.getInstance()\r\n\r\n        item = mkt.getItem(self.itemID, eager=('attributes', 'group.category'))\r\n        if self.baseItemID and self.mutaplasmidID:\r\n            baseItem = mkt.getItem(self.baseItemID, eager=('attributes', 'group.category'))\r\n            mutaplasmid = eos.db.getDynamicItem(self.mutaplasmidID)\r\n        else:\r\n            baseItem = None\r\n            mutaplasmid = None\r\n        try:\r\n            mod = Module(item, baseItem=baseItem, mutaplasmid=mutaplasmid)\r\n        except ValueError:\r\n            pyfalog.warning('Invalid item: {}'.format(self.itemID))\r\n            return None\r\n\r\n        if self.mutations is not None:\r\n            for attrID, mutator in mod.mutators.items():\r\n                if attrID in self.mutations:\r\n                    mutator.value = self.mutations[attrID]\r\n\r\n        if self.spoolType is not None and self.spoolAmount is not None:\r\n            mod.spoolType = self.spoolType\r\n            mod.spoolAmount = self.spoolAmount\r\n\r\n        mod.rahPatternOverride = self.rahPattern\r\n\r\n        if self.state is not None:\r\n            if mod.isValidState(self.state):\r\n                mod.state = self.state\r\n            else:\r\n                mod.state = mod.getMaxState(proposedState=self.state)\r\n        elif fallbackState is not None:\r\n            if mod.isValidState(fallbackState):\r\n                mod.state = fallbackState\r\n\r\n        if self.chargeID is not None:\r\n            charge = mkt.getItem(self.chargeID, eager=('attributes',))\r\n            if charge is None:\r\n                pyfalog.warning('Cannot set charge {}'.format(self.chargeID))\r\n                return None\r\n            mod.charge = charge\r\n\r\n        return mod\r\n\r\n    def __eq__(self, other):\r\n        if not isinstance(other, ModuleInfo):\r\n            return False\r\n        return all((\r\n            self.itemID == other.itemID,\r\n            self.baseItemID == other.baseItemID,\r\n            self.mutaplasmidID == other.mutaplasmidID,\r\n            self.mutations == other.mutations,\r\n            self.chargeID == other.chargeID,\r\n            self.state == other.state,\r\n            self.spoolType == other.spoolType,\r\n            self.spoolAmount == other.spoolAmount,\r\n            self.rahPattern == other.rahPattern))\r\n\r\n    def __repr__(self):\r\n        return makeReprStr(self, [\r\n            'itemID', 'baseItemID', 'mutaplasmidID', 'mutations',\r\n            'chargeID', 'state', 'spoolType', 'spoolAmount', 'rahPattern'])\r\n\r\n\r\nclass DroneInfo:\r\n\r\n    def __init__(self, amount, amountActive, itemID, baseItemID=None, mutaplasmidID=None, mutations=None):\r\n        self.itemID = itemID\r\n        self.baseItemID = baseItemID\r\n        self.mutaplasmidID = mutaplasmidID\r\n        self.mutations = mutations\r\n        self.amount = amount\r\n        self.amountActive = amountActive\r\n\r\n    @classmethod\r\n    def fromDrone(cls, drone):\r\n        if drone is None:\r\n            return None\r\n        info = cls(\r\n            itemID=drone.itemID,\r\n            amount=drone.amount,\r\n            amountActive=drone.amountActive,\r\n            baseItemID=drone.baseItemID,\r\n            mutaplasmidID=drone.mutaplasmidID,\r\n            mutations={m.attrID: m.value for m in drone.mutators.values()})\r\n        return info\r\n\r\n    def toDrone(self):\r\n        mkt = Market.getInstance()\r\n        item = mkt.getItem(self.itemID, eager=('attributes', 'group.category'))\r\n        if self.baseItemID and self.mutaplasmidID:\r\n            baseItem = mkt.getItem(self.baseItemID, eager=('attributes', 'group.category'))\r\n            mutaplasmid = eos.db.getDynamicItem(self.mutaplasmidID)\r\n        else:\r\n            baseItem = None\r\n            mutaplasmid = None\r\n        try:\r\n            drone = Drone(item, baseItem=baseItem, mutaplasmid=mutaplasmid)\r\n        except ValueError:\r\n            pyfalog.warning('Invalid item: {}'.format(self.itemID))\r\n            return None\r\n\r\n        if self.mutations is not None:\r\n            for attrID, mutator in drone.mutators.items():\r\n                if attrID in self.mutations:\r\n                    mutator.value = self.mutations[attrID]\r\n\r\n        drone.amount = self.amount\r\n        drone.amountActive = self.amountActive\r\n        return drone\r\n\r\n    def __repr__(self):\r\n        return makeReprStr(self, [\r\n            'itemID', 'amount', 'amountActive',\r\n            'baseItemID', 'mutaplasmidID', 'mutations'])\r\n\r\n\r\nclass FighterInfo:\r\n\r\n    def __init__(self, itemID, amount=None, state=None, abilities=None):\r\n        self.itemID = itemID\r\n        self.amount = amount\r\n        self.state = state\r\n        self.abilities = abilities\r\n\r\n    @classmethod\r\n    def fromFighter(cls, fighter):\r\n        if fighter is None:\r\n            return None\r\n        info = cls(\r\n            itemID=fighter.itemID,\r\n            amount=fighter.amount,\r\n            state=fighter.active,\r\n            abilities={fa.effectID: fa.active for fa in fighter.abilities})\r\n        return info\r\n\r\n    def toFighter(self):\r\n        item = Market.getInstance().getItem(self.itemID, eager=('attributes', 'group.category'))\r\n        try:\r\n            fighter = Fighter(item)\r\n        except ValueError:\r\n            pyfalog.warning('Invalid item: {}'.format(self.itemID))\r\n            return None\r\n        if self.amount is not None:\r\n            fighter.amount = self.amount\r\n        if self.state is not None:\r\n            fighter.active = self.state\r\n        if self.abilities is not None:\r\n            for ability in fighter.abilities:\r\n                ability.active = self.abilities.get(ability.effectID, ability.active)\r\n        return fighter\r\n\r\n    def __repr__(self):\r\n        return makeReprStr(self, ['itemID', 'amount', 'state', 'abilities'])\r\n\r\n\r\nclass ImplantInfo:\r\n\r\n    def __init__(self, itemID, state=None):\r\n        self.itemID = itemID\r\n        self.state = state\r\n\r\n    @classmethod\r\n    def fromImplant(cls, implant):\r\n        if implant is None:\r\n            return None\r\n        info = cls(\r\n            itemID=implant.itemID,\r\n            state=implant.active)\r\n        return info\r\n\r\n    def toImplant(self):\r\n        item = Market.getInstance().getItem(self.itemID, eager=('attributes', 'group.category'))\r\n        try:\r\n            implant = Implant(item)\r\n        except ValueError:\r\n            pyfalog.warning('Invalid item: {}'.format(self.itemID))\r\n            return None\r\n        if self.state is not None:\r\n            implant.active = self.state\r\n        return implant\r\n\r\n    def __repr__(self):\r\n        return makeReprStr(self, ['itemID', 'state'])\r\n\r\n\r\nclass BoosterInfo:\r\n\r\n    def __init__(self, itemID, state=None, sideEffects=None):\r\n        self.itemID = itemID\r\n        self.state = state\r\n        self.sideEffects = sideEffects\r\n\r\n    @classmethod\r\n    def fromBooster(cls, booster):\r\n        if booster is None:\r\n            return None\r\n        info = cls(\r\n            itemID=booster.itemID,\r\n            state=booster.active,\r\n            sideEffects={se.effectID: se.active for se in booster.sideEffects})\r\n        return info\r\n\r\n    def toBooster(self):\r\n        item = Market.getInstance().getItem(self.itemID, eager=('attributes', 'group.category'))\r\n        try:\r\n            booster = Booster(item)\r\n        except ValueError:\r\n            pyfalog.warning('Invalid item: {}'.format(self.itemID))\r\n            return None\r\n        if self.state is not None:\r\n            booster.active = self.state\r\n        if self.sideEffects is not None:\r\n            for sideEffect in booster.sideEffects:\r\n                sideEffect.active = self.sideEffects.get(sideEffect.effectID, sideEffect.active)\r\n        return booster\r\n\r\n    def __repr__(self):\r\n        return makeReprStr(self, ['itemID', 'state', 'sideEffects'])\r\n\r\n\r\nclass CargoInfo:\r\n\r\n    def __init__(self, itemID, amount):\r\n        self.itemID = itemID\r\n        self.amount = amount\r\n\r\n    @classmethod\r\n    def fromCargo(cls, cargo):\r\n        if cargo is None:\r\n            return None\r\n        info = cls(\r\n            itemID=cargo.itemID,\r\n            amount=cargo.amount)\r\n        return info\r\n\r\n    def toCargo(self):\r\n        item = Market.getInstance().getItem(self.itemID)\r\n        cargo = Cargo(item)\r\n        cargo.amount = self.amount\r\n        return cargo\r\n\r\n    def __repr__(self):\r\n        return makeReprStr(self, ['itemID', 'amount'])\r\n\r\n\r\ndef activeStateLimit(itemIdentity):\r\n    item = Market.getInstance().getItem(itemIdentity)\r\n    if {\r\n        'moduleBonusAssaultDamageControl', 'moduleBonusIndustrialInvulnerability',\r\n        'microJumpDrive', 'microJumpPortalDrive', 'emergencyHullEnergizer',\r\n        'cynosuralGeneration', 'jumpPortalGeneration', 'jumpPortalGenerationBO',\r\n        'cloneJumpAccepting', 'cloakingWarpSafe', 'cloakingPrototype', 'cloaking',\r\n        'massEntanglerEffect5', 'electronicAttributeModifyOnline', 'targetPassively',\r\n        'cargoScan', 'shipScan', 'surveyScan', 'targetSpectrumBreakerBonus',\r\n        'interdictionNullifierBonus', 'warpCoreStabilizerActive',\r\n        'industrialItemCompression'\r\n    }.intersection(item.effects):\r\n        return FittingModuleState.ONLINE\r\n    return FittingModuleState.ACTIVE\r\n\r\n\r\ndef droneStackLimit(fit, itemIdentity):\r\n    item = Market.getInstance().getItem(itemIdentity)\r\n    hardLimit = max(5, fit.extraAttributes[\"maxActiveDrones\"])\r\n    releaseLimit = fit.getReleaseLimitForDrone(item)\r\n    limit = min(hardLimit, releaseLimit if releaseLimit > 0 else math.inf)\r\n    return limit\r\n\r\n\r\ndef restoreCheckedStates(fit, stateInfo, ignoreModPoss=()):\r\n    if stateInfo is None:\r\n        return\r\n    changedMods, changedProjMods, changedProjDrones = stateInfo\r\n    for pos, state in changedMods.items():\r\n        if pos in ignoreModPoss:\r\n            continue\r\n        fit.modules[pos].state = state\r\n    for pos, state in changedProjMods.items():\r\n        fit.projectedModules[pos].state = state\r\n    for pos, amountActive in changedProjDrones.items():\r\n        fit.projectedDrones[pos].amountActive = amountActive\r\n\r\n\r\ndef restoreRemovedDummies(fit, dummyInfo):\r\n    if dummyInfo is None:\r\n        return\r\n    # Need this to properly undo the case when removal of subsystems removes dummy slots\r\n    for position in sorted(dummyInfo):\r\n        slot = dummyInfo[position]\r\n        fit.modules.insert(position, Module.buildEmpty(slot))\r\n\r\n\r\ndef getSimilarModPositions(mods, mainMod):\r\n    sMkt = Market.getInstance()\r\n    mainGroupID = getattr(sMkt.getGroupByItem(mainMod.item), 'ID', None)\r\n    mainMktGroupID = getattr(sMkt.getMarketGroupByItem(mainMod.item), 'ID', None)\r\n    mainEffects = set(getattr(mainMod.item, 'effects', ()))\r\n    positions = []\r\n    for position, mod in enumerate(mods):\r\n        if mod.isEmpty:\r\n            continue\r\n        # Always include selected module itself\r\n        if mod is mainMod:\r\n            positions.append(position)\r\n            continue\r\n        if mod.itemID is None:\r\n            continue\r\n        # Modules which have the same item ID\r\n        if mod.itemID == mainMod.itemID:\r\n            positions.append(position)\r\n            continue\r\n        # And modules from the same group and market group too\r\n        modGroupID = getattr(sMkt.getGroupByItem(mod.item), 'ID', None)\r\n        modMktGroupID = getattr(sMkt.getMarketGroupByItem(mod.item), 'ID', None)\r\n        modEffects = set(getattr(mod.item, 'effects', ()))\r\n        if (\r\n            modGroupID is not None and modGroupID == mainGroupID and\r\n            modMktGroupID is not None and modMktGroupID == mainMktGroupID and\r\n            modEffects == mainEffects\r\n        ):\r\n            positions.append(position)\r\n            continue\r\n    return positions\r\n\r\n\r\ndef getSimilarFighters(fighters, mainFighter):\r\n    sMkt = Market.getInstance()\r\n    mainGroupID = getattr(sMkt.getGroupByItem(mainFighter.item), 'ID', None)\r\n    mainAbilityIDs = set(a.effectID for a in mainFighter.abilities)\r\n    similarFighters = []\r\n    for fighter in fighters:\r\n        # Always include selected fighter itself\r\n        if fighter is mainFighter:\r\n            similarFighters.append(fighter)\r\n            continue\r\n        if fighter.itemID is None:\r\n            continue\r\n        # Fighters which have the same item ID\r\n        if fighter.itemID == mainFighter.itemID:\r\n            similarFighters.append(fighter)\r\n            continue\r\n        # And fighters from the same group and with the same abilities too\r\n        fighterGroupID = getattr(sMkt.getGroupByItem(fighter.item), 'ID', None)\r\n        fighterAbilityIDs = set(a.effectID for a in fighter.abilities)\r\n        if (\r\n            fighterGroupID is not None and fighterGroupID == mainGroupID and\r\n            len(fighterAbilityIDs) > 0 and fighterAbilityIDs == mainAbilityIDs\r\n        ):\r\n            similarFighters.append(fighter)\r\n            continue\r\n    return similarFighters\r\n"
  },
  {
    "path": "gui/globalEvents.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx.lib.newevent\r\n\r\nFitRenamed, FIT_RENAMED = wx.lib.newevent.NewEvent()\r\nFitChanged, FIT_CHANGED = wx.lib.newevent.NewEvent()\r\nFitRemoved, FIT_REMOVED = wx.lib.newevent.NewEvent()\r\nFitNotesChanged, FIT_NOTES_CHANGED = wx.lib.newevent.NewEvent()\r\nCharListUpdated, CHAR_LIST_UPDATED = wx.lib.newevent.NewEvent()\r\nCharChanged, CHAR_CHANGED = wx.lib.newevent.NewEvent()\r\nGraphOptionChanged, GRAPH_OPTION_CHANGED = wx.lib.newevent.NewEvent()\r\nTargetProfileRenamed, TARGET_PROFILE_RENAMED = wx.lib.newevent.NewEvent()\r\nTargetProfileChanged, TARGET_PROFILE_CHANGED = wx.lib.newevent.NewEvent()\r\nTargetProfileRemoved, TARGET_PROFILE_REMOVED = wx.lib.newevent.NewEvent()\r\n# For events when item is actually replaced under the hood,\r\n# but from user's perspective it's supposed to change/mutate\r\nItemChangedInplace, ITEM_CHANGED_INPLACE = wx.lib.newevent.NewEvent()\r\n\r\nEffectiveHpToggled, EFFECTIVE_HP_TOGGLED = wx.lib.newevent.NewEvent()\r\n\r\nSsoLoggingIn, EVT_SSO_LOGGING_IN = wx.lib.newevent.NewEvent()\r\nSsoLogin, EVT_SSO_LOGIN = wx.lib.newevent.NewEvent()\r\nSsoLogout, EVT_SSO_LOGOUT = wx.lib.newevent.NewEvent()\r\n"
  },
  {
    "path": "gui/itemStats.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport config\r\nimport gui.mainFrame\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.module import Module\r\nfrom gui.auxWindow import AuxiliaryFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.builtinItemStatsViews.itemAffectedBy import ItemAffectedBy\r\nfrom gui.builtinItemStatsViews.itemAttributes import ItemParams\r\nfrom gui.builtinItemStatsViews.itemCompare import ItemCompare\r\nfrom gui.builtinItemStatsViews.itemDependants import ItemDependents\r\nfrom gui.builtinItemStatsViews.itemDescription import ItemDescription\r\nfrom gui.builtinItemStatsViews.itemEffects import ItemEffects\r\nfrom gui.builtinItemStatsViews.itemMutator import ItemMutatorPanel\r\nfrom gui.builtinItemStatsViews.itemProperties import ItemProperties\r\nfrom gui.builtinItemStatsViews.itemRequirements import ItemRequirements\r\nfrom gui.builtinItemStatsViews.itemTraits import ItemTraits\r\nfrom service.market import Market\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass ItemStatsFrame(AuxiliaryFrame):\r\n\r\n    counter = 0\r\n\r\n    def __init__(\r\n        self,\r\n        victim,\r\n        fullContext=None,\r\n        pos=wx.DefaultPosition,\r\n        size=wx.DefaultSize,\r\n        maximized=False\r\n    ):\r\n        super().__init__(\r\n            parent=gui.mainFrame.MainFrame.getInstance(),\r\n            id=wx.ID_ANY,\r\n            title=_t(\"Item stats\"),\r\n            pos=pos,\r\n            size=size,\r\n            resizeable=True)\r\n\r\n        empty = getattr(victim, \"isEmpty\", False)\r\n\r\n        if empty:\r\n            self.Close()\r\n            return\r\n\r\n        srcContext = fullContext[0]\r\n        try:\r\n            itmContext = fullContext[1]\r\n        except IndexError:\r\n            itmContext = None\r\n        item = getattr(victim, \"item\", None) if srcContext.lower() not in (\r\n            \"projectedcharge\",\r\n            \"fittingcharge\"\r\n        ) else getattr(victim, \"charge\", None)\r\n        if item is None:\r\n            sMkt = Market.getInstance()\r\n            item = sMkt.getItem(victim.ID)\r\n            victim = None\r\n        self.context = itmContext\r\n        if item.iconID is not None:\r\n            itemImg = BitmapLoader.getBitmap(item.iconID, \"icons\")\r\n            if itemImg is not None:\r\n                self.SetIcon(wx.Icon(itemImg))\r\n        self.SetTitle(_t(\"{context}Stats: {name}{debug_info}\").format(\r\n             context = \"{} \".format(itmContext) if itmContext is not None else \"\",\r\n             name = item.name,\r\n             debug_info = \" ({item_id})\".format(item_id = item.ID) if config.debug else \"\"))\r\n\r\n        self.SetMinSize((300, 200))\r\n        # GTK has huge tab widgets, give it a bit more room\r\n        if \"wxGTK\" in wx.PlatformInfo:\r\n            self.SetSize((640, 600))\r\n        else:\r\n            self.SetSize((550, 500))\r\n        # self.SetMaxSize((500, -1))\r\n        self.mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.container = ItemStatsContainer(self, victim, item, itmContext)\r\n        self.mainSizer.Add(self.container, 1, wx.EXPAND)\r\n\r\n        self.SetSizer(self.mainSizer)\r\n\r\n        self.parentWnd = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        dlgsize = self.GetSize()\r\n        psize = self.parentWnd.GetSize()\r\n        ppos = self.parentWnd.GetPosition()\r\n\r\n        ItemStatsFrame.counter += 1\r\n        self.dlgOrder = ItemStatsFrame.counter\r\n\r\n        counter = ItemStatsFrame.counter\r\n        dlgStep = 30\r\n        if counter * dlgStep > ppos.x + psize.width - dlgsize.x or counter * dlgStep > ppos.y + psize.height - dlgsize.y:\r\n            ItemStatsFrame.counter = 1\r\n\r\n        dlgx = ppos.x + counter * dlgStep\r\n        dlgy = ppos.y + counter * dlgStep\r\n        if pos == wx.DefaultPosition:\r\n            self.SetPosition((dlgx, dlgy))\r\n        else:\r\n            self.SetPosition(pos)\r\n        if maximized:\r\n            self.Maximize(True)\r\n        else:\r\n            if size != wx.DefaultSize:\r\n                self.SetSize(size)\r\n        self.parentWnd.RegisterStatsWindow(self)\r\n\r\n        self.Bind(wx.EVT_CLOSE, self.OnClose)\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n        self.Bind(wx.EVT_ACTIVATE, self.OnActivate)\r\n\r\n    def OnActivate(self, event):\r\n        self.parentWnd.SetActiveStatsWindow(self)\r\n\r\n    def kbEvent(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.Close()\r\n            return\r\n        event.Skip()\r\n\r\n    def OnClose(self, event):\r\n        self.container.OnWindowClose()\r\n        if self.dlgOrder == ItemStatsFrame.counter:\r\n            ItemStatsFrame.counter -= 1\r\n        self.parentWnd.UnregisterStatsWindow(self)\r\n        event.Skip()\r\n\r\n\r\nclass ItemStatsContainer(wx.Panel):\r\n\r\n    def __init__(self, parent, stuff, item, context=None):\r\n        wx.Panel.__init__(self, parent)\r\n        sMkt = Market.getInstance()\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.nbContainer = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0)\r\n        mainSizer.Add(self.nbContainer, 1, wx.EXPAND | wx.ALL, 2)\r\n\r\n        if item.traits is not None:\r\n            self.traits = ItemTraits(self.nbContainer, stuff, item)\r\n            self.nbContainer.AddPage(self.traits, _t(\"Traits\"))\r\n\r\n        if isinstance(stuff, (Module, Drone)) and stuff.isMutated:\r\n            self.mutator = ItemMutatorPanel(self.nbContainer, stuff)\r\n            self.nbContainer.AddPage(self.mutator, _t(\"Mutations\"))\r\n\r\n        if item.description:\r\n            self.desc = ItemDescription(self.nbContainer, stuff, item)\r\n            self.nbContainer.AddPage(self.desc, _t(\"Description\"))\r\n\r\n        self.params = ItemParams(self.nbContainer, stuff, item, context)\r\n        self.nbContainer.AddPage(self.params, _t(\"Attributes\"))\r\n\r\n        items = sMkt.getVariationsByItems([item])\r\n        if len(items) > 1:\r\n            self.compare = ItemCompare(self.nbContainer, stuff, item, items, context)\r\n            self.nbContainer.AddPage(self.compare, _t(\"Compare\"))\r\n\r\n        self.reqs = ItemRequirements(self.nbContainer, stuff, item)\r\n        self.nbContainer.AddPage(self.reqs, _t(\"Requirements\"))\r\n\r\n        if context == \"Skill\":\r\n            self.dependents = ItemDependents(self.nbContainer, stuff, item)\r\n            self.nbContainer.AddPage(self.dependents, _t(\"Dependents\"))\r\n\r\n        self.effects = ItemEffects(self.nbContainer, stuff, item)\r\n        self.nbContainer.AddPage(self.effects, _t(\"Effects\"))\r\n\r\n        if stuff is not None:\r\n            self.affectedby = ItemAffectedBy(self.nbContainer, stuff, item)\r\n            self.nbContainer.AddPage(self.affectedby, _t(\"Affected by\"))\r\n\r\n        if config.debug:\r\n            self.properties = ItemProperties(self.nbContainer, stuff, item, context)\r\n            self.nbContainer.AddPage(self.properties, _t(\"Properties\"))\r\n\r\n        self.nbContainer.Bind(wx.EVT_LEFT_DOWN, self.mouseHit)\r\n        self.SetSizer(mainSizer)\r\n        self.Layout()\r\n\r\n    def __del__(self):\r\n        pass\r\n\r\n    def mouseHit(self, event):\r\n        tab, _ = self.nbContainer.HitTest(event.Position)\r\n        if tab != -1:\r\n            self.nbContainer.SetSelection(tab)\r\n\r\n    def OnWindowClose(self):\r\n        mutaPanel = getattr(self, 'mutator', None)\r\n        if mutaPanel is not None:\r\n            mutaPanel.OnWindowClose()\r\n        self.params.OnWindowClose()\r\n"
  },
  {
    "path": "gui/mainFrame.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport datetime\r\nimport os.path\r\nimport threading\r\nimport time\r\nimport webbrowser\r\nfrom codecs import open\r\nfrom time import gmtime, strftime\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nimport wx.adv\r\nfrom logbook import Logger\r\n# noinspection PyPackageRequirements\r\nfrom wx.lib.inspection import InspectionTool\r\n\r\nimport config\r\nimport gui.fitCommands as cmd\r\nimport gui.globalEvents as GE\r\nfrom eos.config import gamedata_date, gamedata_version\r\nfrom eos.modifiedAttributeDict import ModifiedAttributeDict\r\nfrom graphs import GraphFrame\r\nfrom gui.additionsPane import AdditionsPane\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.builtinMarketBrowser.events import ItemSelected\r\nfrom gui.builtinShipBrowser.events import FitSelected, ImportSelected, Stage3Selected\r\n# noinspection PyUnresolvedReferences\r\nfrom gui.builtinViews import emptyView, entityEditor, fittingView, implantEditor  # noqa: F401\r\nfrom gui.characterEditor import CharacterEditor\r\nfrom gui.characterSelection import CharacterSelection\r\nfrom gui.chrome_tabs import ChromeNotebook\r\nfrom gui.copySelectDialog import CopySelectDialog\r\nfrom gui.devTools import DevTools\r\nfrom gui.esiFittings import EveFittings, ExportToEve, SsoCharacterMgmt\r\nfrom gui.mainMenuBar import MainMenuBar\r\nfrom gui.marketBrowser import MarketBrowser\r\nfrom gui.multiSwitch import MultiSwitch\r\nfrom gui.patternEditor import DmgPatternEditor\r\nfrom gui.preferenceDialog import PreferenceDialog\r\nfrom gui.setEditor import ImplantSetEditor\r\nfrom gui.shipBrowser import ShipBrowser\r\nfrom gui.statsPane import StatsPane\r\nfrom gui.targetProfileEditor import TargetProfileEditor\r\nfrom gui.updateDialog import UpdateDialog\r\nfrom gui.utils.clipboard import fromClipboard\r\nfrom gui.utils.progressHelper import ProgressHelper\r\nfrom service.character import Character\r\nfrom service.esi import Esi\r\nfrom service.fit import Fit\r\nfrom service.port import Port\r\nfrom service.price import Price\r\nfrom service.settings import HTMLExportSettings, SettingsProvider\r\nfrom service.update import Update\r\n\r\n_t = wx.GetTranslation\r\n\r\npyfalog = Logger(__name__)\r\n\r\ndisableOverrideEditor = False\r\n\r\ntry:\r\n    from gui.propertyEditor import AttributeEditor\r\nexcept ImportError as e:\r\n    AttributeEditor = None\r\n    pyfalog.warning(\"Error loading Attribute Editor: %s.\\nAccess to Attribute Editor is disabled.\" % e.message)\r\n    disableOverrideEditor = True\r\n\r\npyfalog.debug(\"Done loading mainframe imports\")\r\n\r\n\r\n# dummy panel(no paint no erasebk)\r\nclass PFPanel(wx.Panel):\r\n    def __init__(self, parent):\r\n        wx.Panel.__init__(self, parent)\r\n        self.Bind(wx.EVT_PAINT, self.OnPaint)\r\n        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnBkErase)\r\n\r\n    def OnPaint(self, event):\r\n        event.Skip()\r\n\r\n    def OnBkErase(self, event):\r\n        pass\r\n\r\n\r\nclass OpenFitsThread(threading.Thread):\r\n\r\n    def __init__(self, fits, callback):\r\n        threading.Thread.__init__(self)\r\n        self.name = \"LoadingOpenFits\"\r\n        self.mainFrame = MainFrame.getInstance()\r\n        self.callback = callback\r\n        self.fits = fits\r\n        self.running = True\r\n        self.start()\r\n\r\n    def run(self):\r\n        # `startup` tells FitSpawner that we are loading fits are startup, and\r\n        # has 3 values:\r\n        # False = Set as default in FitSpawner itself, never set here\r\n        # 1 = Create new fit page, but do not calculate page\r\n        # 2 = Create new page and calculate\r\n        # We use 1 for all fits except the last one where we use 2 so that we\r\n        # have correct calculations displayed at startup\r\n        for fitID in self.fits[:-1]:\r\n            if self.running:\r\n                wx.PostEvent(self.mainFrame, FitSelected(fitID=fitID, startup=1))\r\n\r\n        if self.running:\r\n            wx.PostEvent(self.mainFrame, FitSelected(fitID=self.fits[-1], startup=2))\r\n            wx.CallAfter(self.callback)\r\n\r\n    def stop(self):\r\n        self.running = False\r\n\r\n\r\nclass MainFrame(wx.Frame):\r\n    __instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        return cls.__instance if cls.__instance is not None else MainFrame()\r\n\r\n    def __init__(self, title=\"pyfa\"):\r\n        pyfalog.debug(\"Initialize MainFrame\")\r\n        self.title = title\r\n        super().__init__(None, wx.ID_ANY, self.title)\r\n\r\n        self.supress_left_up = False\r\n\r\n        MainFrame.__instance = self\r\n\r\n        # Load stored settings (width/height/maximized..)\r\n        self.LoadMainFrameAttribs()\r\n\r\n        self.disableOverrideEditor = disableOverrideEditor\r\n\r\n        # Fix for msw (have the frame background color match panel color\r\n        if 'wxMSW' in wx.PlatformInfo:\r\n            self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE))\r\n\r\n        # Load and set the icon for pyfa main window\r\n        i = wx.Icon(BitmapLoader.getBitmap(\"pyfa\", \"gui\"))\r\n        self.SetIcon(i)\r\n\r\n        # Create the layout and windows\r\n        mainSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.browser_fitting_split = wx.SplitterWindow(self, style=wx.SP_LIVE_UPDATE)\r\n        self.fitting_additions_split = wx.SplitterWindow(self.browser_fitting_split, style=wx.SP_LIVE_UPDATE)\r\n\r\n        mainSizer.Add(self.browser_fitting_split, 1, wx.EXPAND | wx.LEFT, 2)\r\n\r\n        self.fitMultiSwitch = MultiSwitch(self.fitting_additions_split)\r\n        self.additionsPane = AdditionsPane(self.fitting_additions_split, self)\r\n\r\n        self.notebookBrowsers = ChromeNotebook(self.browser_fitting_split, False)\r\n\r\n        marketImg = BitmapLoader.getImage(\"market_small\", \"gui\")\r\n        shipBrowserImg = BitmapLoader.getImage(\"ship_small\", \"gui\")\r\n\r\n        self.marketBrowser = MarketBrowser(self.notebookBrowsers)\r\n        self.notebookBrowsers.AddPage(self.marketBrowser, _t(\"Market\"), image=marketImg, closeable=False)\r\n        self.marketBrowser.splitter.SetSashPosition(self.marketHeight)\r\n\r\n        self.shipBrowser = ShipBrowser(self.notebookBrowsers)\r\n        self.notebookBrowsers.AddPage(self.shipBrowser, _t(\"Fittings\"), image=shipBrowserImg, closeable=False)\r\n\r\n        self.notebookBrowsers.SetSelection(1)\r\n\r\n        self.browser_fitting_split.SplitVertically(self.notebookBrowsers, self.fitting_additions_split)\r\n        self.browser_fitting_split.SetMinimumPaneSize(204)\r\n        self.browser_fitting_split.SetSashPosition(self.browserWidth)\r\n\r\n        self.fitting_additions_split.SplitHorizontally(self.fitMultiSwitch, self.additionsPane, -200)\r\n        self.fitting_additions_split.SetMinimumPaneSize(200)\r\n        self.fitting_additions_split.SetSashPosition(self.fittingHeight)\r\n        self.fitting_additions_split.SetSashGravity(1.0)\r\n\r\n        cstatsSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.charSelection = CharacterSelection(self)\r\n        cstatsSizer.Add(self.charSelection, 0, wx.EXPAND)\r\n\r\n        # @todo pheonix: fix all stats stuff\r\n        self.statsPane = StatsPane(self)\r\n        cstatsSizer.Add(self.statsPane, 0, wx.EXPAND)\r\n\r\n        mainSizer.Add(cstatsSizer, 0, wx.EXPAND)\r\n\r\n        self.SetSizer(mainSizer)\r\n\r\n        # Add menu\r\n        self.addPageId = wx.NewId()\r\n        self.closePageId = wx.NewId()\r\n        self.closeAllPagesId = wx.NewId()\r\n        self.hiddenGraphsId = wx.NewId()\r\n\r\n        self.widgetInspectMenuID = wx.NewId()\r\n        self.SetMenuBar(MainMenuBar(self))\r\n        self.registerMenu()\r\n\r\n        # Internal vars to keep track of other windows\r\n        self.statsWnds = []\r\n        self.activeStatsWnd = None\r\n\r\n        self.Bind(wx.EVT_CLOSE, self.OnClose)\r\n\r\n        # Show ourselves\r\n        self.Show()\r\n\r\n        self.LoadPreviousOpenFits()\r\n\r\n        # Check for updates\r\n        self.sUpdate = Update.getInstance()\r\n        self.sUpdate.CheckUpdate(self.ShowUpdateBox)\r\n\r\n        self.Bind(GE.EVT_SSO_LOGIN, self.onSSOLogin)\r\n\r\n    @property\r\n    def command(self) -> wx.CommandProcessor:\r\n        return Fit.getCommandProcessor(self.getActiveFit())\r\n\r\n    def getCommandForFit(self, fitID) -> wx.CommandProcessor:\r\n        return Fit.getCommandProcessor(fitID)\r\n\r\n    def ShowUpdateBox(self, release, version):\r\n        with UpdateDialog(self, release, version) as dlg:\r\n            dlg.ShowModal()\r\n\r\n    def LoadPreviousOpenFits(self):\r\n        sFit = Fit.getInstance()\r\n\r\n        self.prevOpenFits = SettingsProvider.getInstance().getSettings(\"pyfaPrevOpenFits\",\r\n                                                                       {\"enabled\": False, \"pyfaOpenFits\": []})\r\n        fits = self.prevOpenFits['pyfaOpenFits']\r\n\r\n        # Remove any fits that cause exception when fetching (non-existent fits)\r\n        for id in fits[:]:\r\n            try:\r\n                fit = sFit.getFit(id, basic=True)\r\n                if fit is None:\r\n                    fits.remove(id)\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except:\r\n                fits.remove(id)\r\n\r\n        if not self.prevOpenFits['enabled'] or len(fits) == 0:\r\n            # add blank page if there are no fits to be loaded\r\n            self.fitMultiSwitch.AddPage()\r\n            return\r\n\r\n        self.waitDialog = wx.BusyInfo(_t(\"Loading previous fits...\"), parent=self)\r\n        OpenFitsThread(fits, self.closeWaitDialog)\r\n\r\n    def _getDisplayData(self):\r\n        displayData = []\r\n        for i in range(wx.Display.GetCount()):\r\n            display = wx.Display(i)\r\n            displayData.append(display.GetClientArea())\r\n        return displayData\r\n\r\n    def LoadMainFrameAttribs(self):\r\n        mainFrameDefaultAttribs = {\r\n            \"wnd_display\": 0, \"wnd_x\": 0, \"wnd_y\": 0, \"wnd_width\": 1000, \"wnd_height\": 700, \"wnd_maximized\": False,\r\n            \"browser_width\": 300, \"market_height\": 0, \"fitting_height\": -200\r\n        }\r\n        self.mainFrameAttribs = SettingsProvider.getInstance().getSettings(\r\n                \"pyfaMainWindowAttribs\", mainFrameDefaultAttribs)\r\n\r\n        wndDisplay = self.mainFrameAttribs[\"wnd_display\"]\r\n        displayData = self._getDisplayData()\r\n        try:\r\n            selectedDisplayData = displayData[wndDisplay]\r\n        except IndexError:\r\n            selectedDisplayData = displayData[0]\r\n        dspX, dspY, dspW, dspH = selectedDisplayData\r\n\r\n        if self.mainFrameAttribs[\"wnd_maximized\"]:\r\n            wndW = mainFrameDefaultAttribs[\"wnd_width\"]\r\n            wndH = mainFrameDefaultAttribs[\"wnd_height\"]\r\n            wndX = min(mainFrameDefaultAttribs[\"wnd_x\"], dspW * 0.75)\r\n            wndY = min(mainFrameDefaultAttribs[\"wnd_y\"], dspH * 0.75)\r\n            self.Maximize()\r\n        else:\r\n            wndW = self.mainFrameAttribs[\"wnd_width\"]\r\n            wndH = self.mainFrameAttribs[\"wnd_height\"]\r\n            wndX = min(self.mainFrameAttribs[\"wnd_x\"], dspW * 0.75)\r\n            wndY = min(self.mainFrameAttribs[\"wnd_y\"], dspH * 0.75)\r\n\r\n        self.SetPosition((dspX + wndX, dspY + wndY))\r\n        self.SetSize((wndW, wndH))\r\n        self.SetMinSize((mainFrameDefaultAttribs[\"wnd_width\"], mainFrameDefaultAttribs[\"wnd_height\"]))\r\n\r\n        self.browserWidth = self.mainFrameAttribs[\"browser_width\"]\r\n        self.marketHeight = self.mainFrameAttribs[\"market_height\"]\r\n        self.fittingHeight = self.mainFrameAttribs[\"fitting_height\"]\r\n\r\n    def UpdateMainFrameAttribs(self):\r\n        if self.IsIconized():\r\n            return\r\n\r\n        wndGlobalX, wndGlobalY = self.GetPosition()\r\n        displayData = self._getDisplayData()\r\n        wndDisplay = 0\r\n        wndX = 0\r\n        wndY = 0\r\n        for i, (sdX, sdY, sdW, sdH) in enumerate(displayData):\r\n            wndRelX = wndGlobalX - sdX\r\n            wndRelY = wndGlobalY - sdY\r\n            if 0 <= wndRelX < sdW and 0 <= wndRelY < sdH:\r\n                wndDisplay = i\r\n                wndX = wndRelX\r\n                wndY = wndRelY\r\n                break\r\n        self.mainFrameAttribs[\"wnd_display\"] = wndDisplay\r\n        self.mainFrameAttribs[\"wnd_x\"] = wndX\r\n        self.mainFrameAttribs[\"wnd_y\"] = wndY\r\n\r\n        wndW, wndH = self.GetSize()\r\n        self.mainFrameAttribs[\"wnd_width\"] = wndW\r\n        self.mainFrameAttribs[\"wnd_height\"] = wndH\r\n        self.mainFrameAttribs[\"wnd_maximized\"] = self.IsMaximized()\r\n\r\n        self.mainFrameAttribs[\"browser_width\"] = self.notebookBrowsers.GetSize()[0]\r\n        self.mainFrameAttribs[\"market_height\"] = self.marketBrowser.marketView.GetSize()[1]\r\n        self.mainFrameAttribs[\"fitting_height\"] = self.fitting_additions_split.GetSashPosition()\r\n\r\n    def SetActiveStatsWindow(self, wnd):\r\n        self.activeStatsWnd = wnd\r\n\r\n    def GetActiveStatsWindow(self):\r\n        if self.activeStatsWnd in self.statsWnds:\r\n            return self.activeStatsWnd\r\n\r\n        if len(self.statsWnds) > 0:\r\n            return self.statsWnds[len(self.statsWnds) - 1]\r\n        else:\r\n            return None\r\n\r\n    def RegisterStatsWindow(self, wnd):\r\n        self.statsWnds.append(wnd)\r\n\r\n    def UnregisterStatsWindow(self, wnd):\r\n        self.statsWnds.remove(wnd)\r\n\r\n    def getActiveFit(self):\r\n        p = self.fitMultiSwitch.GetSelectedPage()\r\n        m = getattr(p, \"getActiveFit\", None)\r\n        return m() if m is not None else None\r\n\r\n    def getActiveView(self):\r\n        self.fitMultiSwitch.GetSelectedPage()\r\n\r\n    def CloseCurrentPage(self, evt):\r\n        ms = self.fitMultiSwitch\r\n\r\n        page = ms.GetSelection()\r\n        if page is not None:\r\n            ms.DeletePage(page)\r\n\r\n    def CloseAllPages(self, evt):\r\n        ms = self.fitMultiSwitch\r\n        for _ in range(ms.GetPageCount()):\r\n            ms.DeletePage(0)\r\n\r\n    def OnClose(self, event):\r\n        self.UpdateMainFrameAttribs()\r\n\r\n        # save open fits\r\n        self.prevOpenFits['pyfaOpenFits'] = []  # clear old list\r\n        for page in self.fitMultiSwitch._pages:\r\n            m = getattr(page, \"getActiveFit\", None)\r\n            if m is not None:\r\n                self.prevOpenFits['pyfaOpenFits'].append(m())\r\n\r\n        # save all teh settingz\r\n        SettingsProvider.getInstance().saveAll()\r\n        event.Skip()\r\n\r\n    def ExitApp(self, event):\r\n        self.Close()\r\n        event.Skip()\r\n\r\n    def ShowAboutBox(self, evt):\r\n        info = wx.adv.AboutDialogInfo()\r\n        info.Name = \"pyfa\"\r\n        time = datetime.datetime.fromtimestamp(int(gamedata_date)).strftime('%Y-%m-%d %H:%M:%S')\r\n        info.Version = config.getVersion() + '\\nEVE Data Version: {} ({})'.format(gamedata_version, time)  # gui.aboutData.versionString\r\n        #\r\n        # try:\r\n        #     import matplotlib\r\n        #     matplotlib_version = matplotlib.__version__\r\n        # except:\r\n        #     matplotlib_version = None\r\n        #\r\n        # info.Description = wordwrap(gui.aboutData.description + _(\"\\n\\nDevelopers:\\n\\t\") +\r\n        #                             \"\\n\\t\".join(gui.aboutData.developers) +\r\n        #                             \"\\n\\nAdditional credits:\\n\\t\" +\r\n        #                             \"\\n\\t\".join(gui.aboutData.credits) +\r\n        #                             \"\\n\\nLicenses:\\n\\t\" +\r\n        #                             \"\\n\\t\".join(gui.aboutData.licenses) +\r\n        #                             \"\\n\\nEVE Data: \\t\" + gamedata_version +\r\n        #                             \"\\nPython: \\t\\t\" + '{}.{}.{}'.format(v.major, v.minor, v.micro) +\r\n        #                             \"\\nwxPython: \\t\" + wx.__version__ +\r\n        #                             \"\\nSQLAlchemy: \\t\" + sqlalchemy.__version__ +\r\n        #                             \"\\nmatplotlib: \\t {}\".format(matplotlib_version if matplotlib_version else \"Not Installed\"),\r\n        #                             500, wx.ClientDC(self))\r\n        # if \"__WXGTK__\" in wx.PlatformInfo:\r\n        #     forumUrl = \"http://forums.eveonline.com/default.aspx?g=posts&amp;t=466425\"\r\n        # else:\r\n        #     forumUrl = \"http://forums.eveonline.com/default.aspx?g=posts&t=466425\"\r\n        # info.WebSite = (forumUrl, \"pyfa thread at EVE Online forum\")\r\n        wx.adv.AboutBox(info)\r\n\r\n    def OnShowGraphFrame(self, event):\r\n        GraphFrame.openOne(self)\r\n\r\n    def OnShowGraphFrameHidden(self, event):\r\n        GraphFrame.openOne(self, includeHidden=True)\r\n\r\n    def OnShowDevTools(self, event):\r\n        DevTools.openOne(parent=self)\r\n\r\n    def OnShowCharacterEditor(self, event):\r\n        CharacterEditor.openOne(parent=self)\r\n\r\n    def OnShowAttrEditor(self, event):\r\n        AttributeEditor.openOne(parent=self)\r\n\r\n    def OnShowTargetProfileEditor(self, event):\r\n        TargetProfileEditor.openOne(parent=self)\r\n\r\n    def OnShowDamagePatternEditor(self, event):\r\n        DmgPatternEditor.openOne(parent=self)\r\n\r\n    def OnShowImplantSetEditor(self, event):\r\n        ImplantSetEditor.openOne(parent=self)\r\n\r\n    def OnShowExportDialog(self, event):\r\n        \"\"\" Export active fit \"\"\"\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(self.getActiveFit())\r\n        defaultFile = \"%s - %s.xml\" % (fit.ship.item.name, fit.name) if fit else None\r\n\r\n        with wx.FileDialog(\r\n                self, _t(\"Save Fitting As...\"),\r\n                wildcard=_t(\"EVE XML fitting files\") + \" (*.xml)|*.xml\",\r\n                style=wx.FD_SAVE,\r\n                defaultFile=defaultFile\r\n        ) as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                self.supress_left_up = True\r\n                format_ = dlg.GetFilterIndex()\r\n                path = dlg.GetPath()\r\n                if format_ == 0:\r\n                    output = Port.exportXml([fit], None)\r\n                    if '.' not in os.path.basename(path):\r\n                        path += \".xml\"\r\n                    with open(path, \"w\", encoding=\"utf-8\") as openfile:\r\n                        openfile.write(output)\r\n                        openfile.close()\r\n                else:\r\n                    pyfalog.warning(\"oops, invalid fit format %d\" % format_)\r\n                    return\r\n\r\n    def OnShowPreferenceDialog(self, event):\r\n        with PreferenceDialog(self) as dlg:\r\n            dlg.ShowModal()\r\n\r\n    @staticmethod\r\n    def goWiki(event):\r\n        webbrowser.open('https://github.com/pyfa-org/Pyfa/wiki')\r\n\r\n    @staticmethod\r\n    def goForums(event):\r\n        webbrowser.open('https://forums.eveonline.com/t/27156')\r\n\r\n    def registerMenu(self):\r\n        menuBar = self.GetMenuBar()\r\n        # Quit\r\n        self.Bind(wx.EVT_MENU, self.ExitApp, id=wx.ID_EXIT)\r\n        # Widgets Inspector\r\n        if config.debug:\r\n            self.Bind(wx.EVT_MENU, self.openWXInspectTool, id=self.widgetInspectMenuID)\r\n            self.Bind(wx.EVT_MENU, self.OnShowDevTools, id=menuBar.devToolsId)\r\n        # About\r\n        self.Bind(wx.EVT_MENU, self.ShowAboutBox, id=wx.ID_ABOUT)\r\n        # Char editor\r\n        self.Bind(wx.EVT_MENU, self.OnShowCharacterEditor, id=menuBar.characterEditorId)\r\n        # Damage pattern editor\r\n        self.Bind(wx.EVT_MENU, self.OnShowDamagePatternEditor, id=menuBar.damagePatternEditorId)\r\n        # Target Profile editor\r\n        self.Bind(wx.EVT_MENU, self.OnShowTargetProfileEditor, id=menuBar.targetProfileEditorId)\r\n        # Implant Set editor\r\n        self.Bind(wx.EVT_MENU, self.OnShowImplantSetEditor, id=menuBar.implantSetEditorId)\r\n        # Import dialog\r\n        self.Bind(wx.EVT_MENU, self.fileImportDialog, id=wx.ID_OPEN)\r\n        # Export dialog\r\n        self.Bind(wx.EVT_MENU, self.OnShowExportDialog, id=wx.ID_SAVEAS)\r\n        # Import from Clipboard\r\n        self.Bind(wx.EVT_MENU, self.importFromClipboard, id=wx.ID_PASTE)\r\n        # Backup fits\r\n        self.Bind(wx.EVT_MENU, self.backupToXml, id=menuBar.backupFitsId)\r\n        # Export skills needed\r\n        self.Bind(wx.EVT_MENU, self.exportSkillsNeeded, id=menuBar.exportSkillsNeededId)\r\n        # Import character\r\n        self.Bind(wx.EVT_MENU, self.importCharacter, id=menuBar.importCharacterId)\r\n        # Export HTML\r\n        self.Bind(wx.EVT_MENU, self.exportHtml, id=menuBar.exportHtmlId)\r\n        # Preference dialog\r\n        self.Bind(wx.EVT_MENU, self.OnShowPreferenceDialog, id=wx.ID_PREFERENCES)\r\n        # User guide\r\n        self.Bind(wx.EVT_MENU, self.goWiki, id=menuBar.wikiId)\r\n\r\n        self.Bind(wx.EVT_MENU, lambda evt: MainFrame.getInstance().command.Undo(), id=wx.ID_UNDO)\r\n\r\n        self.Bind(wx.EVT_MENU, lambda evt: MainFrame.getInstance().command.Redo(), id=wx.ID_REDO)\r\n        # EVE Forums\r\n        self.Bind(wx.EVT_MENU, self.goForums, id=menuBar.forumId)\r\n        # Save current character\r\n        self.Bind(wx.EVT_MENU, self.saveChar, id=menuBar.saveCharId)\r\n        # Save current character as another character\r\n        self.Bind(wx.EVT_MENU, self.saveCharAs, id=menuBar.saveCharAsId)\r\n        # Save current character\r\n        self.Bind(wx.EVT_MENU, self.revertChar, id=menuBar.revertCharId)\r\n        # Optimize fit price\r\n        self.Bind(wx.EVT_MENU, self.optimizeFitPrice, id=menuBar.optimizeFitPrice)\r\n\r\n        # Browse fittings\r\n        self.Bind(wx.EVT_MENU, self.eveFittings, id=menuBar.eveFittingsId)\r\n        # Export to EVE\r\n        self.Bind(wx.EVT_MENU, self.exportToEve, id=menuBar.exportToEveId)\r\n        # Handle SSO event (login/logout/manage characters, depending on mode and current state)\r\n        self.Bind(wx.EVT_MENU, self.ssoHandler, id=menuBar.ssoLoginId)\r\n\r\n        # Open attribute editor\r\n        self.Bind(wx.EVT_MENU, self.OnShowAttrEditor, id=menuBar.attrEditorId)\r\n        # Toggle Overrides\r\n        self.Bind(wx.EVT_MENU, self.toggleOverrides, id=menuBar.toggleOverridesId)\r\n\r\n        # Clipboard exports\r\n        self.Bind(wx.EVT_MENU, self.exportToClipboard, id=wx.ID_COPY)\r\n\r\n        # Fitting Restrictions\r\n        self.Bind(wx.EVT_MENU, self.toggleIgnoreRestriction, id=menuBar.toggleIgnoreRestrictionID)\r\n\r\n        # Graphs\r\n        self.Bind(wx.EVT_MENU, self.OnShowGraphFrame, id=menuBar.graphFrameId)\r\n        self.Bind(wx.EVT_MENU, self.OnShowGraphFrameHidden, id=self.hiddenGraphsId)\r\n\r\n        toggleSearchBoxId = wx.NewId()\r\n        toggleShipMarketId = wx.NewId()\r\n        ctabnext = wx.NewId()\r\n        ctabprev = wx.NewId()\r\n\r\n        # Close Page\r\n        self.Bind(wx.EVT_MENU, self.CloseCurrentPage, id=self.closePageId)\r\n        self.Bind(wx.EVT_MENU, self.CloseAllPages, id=self.closeAllPagesId)\r\n        self.Bind(wx.EVT_MENU, self.HAddPage, id=self.addPageId)\r\n        self.Bind(wx.EVT_MENU, self.toggleSearchBox, id=toggleSearchBoxId)\r\n        self.Bind(wx.EVT_MENU, self.toggleShipMarket, id=toggleShipMarketId)\r\n        self.Bind(wx.EVT_MENU, self.CTabNext, id=ctabnext)\r\n        self.Bind(wx.EVT_MENU, self.CTabPrev, id=ctabprev)\r\n\r\n        actb = [(wx.ACCEL_CTRL, ord('T'), self.addPageId),\r\n                (wx.ACCEL_CMD, ord('T'), self.addPageId),\r\n\r\n                (wx.ACCEL_CTRL, ord('F'), toggleSearchBoxId),\r\n                (wx.ACCEL_CMD, ord('F'), toggleSearchBoxId),\r\n\r\n                (wx.ACCEL_CTRL, ord(\"W\"), self.closePageId),\r\n                (wx.ACCEL_CTRL, wx.WXK_F4, self.closePageId),\r\n                (wx.ACCEL_CMD, ord(\"W\"), self.closePageId),\r\n\r\n                (wx.ACCEL_CTRL | wx.ACCEL_ALT, ord(\"G\"), self.hiddenGraphsId),\r\n                (wx.ACCEL_CMD | wx.ACCEL_ALT, ord(\"G\"), self.hiddenGraphsId),\r\n\r\n                (wx.ACCEL_CTRL | wx.ACCEL_ALT, ord(\"W\"), self.closeAllPagesId),\r\n                (wx.ACCEL_CTRL | wx.ACCEL_ALT, wx.WXK_F4, self.closeAllPagesId),\r\n                (wx.ACCEL_CMD | wx.ACCEL_ALT, ord(\"W\"), self.closeAllPagesId),\r\n\r\n                (wx.ACCEL_CTRL, ord(\" \"), toggleShipMarketId),\r\n                (wx.ACCEL_CMD, ord(\" \"), toggleShipMarketId),\r\n\r\n                # Ctrl+(Shift+)Tab\r\n                (wx.ACCEL_CTRL, wx.WXK_TAB, ctabnext),\r\n                (wx.ACCEL_CTRL | wx.ACCEL_SHIFT, wx.WXK_TAB, ctabprev),\r\n                (wx.ACCEL_CMD, wx.WXK_TAB, ctabnext),\r\n                (wx.ACCEL_CMD | wx.ACCEL_SHIFT, wx.WXK_TAB, ctabprev),\r\n\r\n                # Ctrl+Page(Up/Down)\r\n                (wx.ACCEL_CTRL, wx.WXK_PAGEDOWN, ctabnext),\r\n                (wx.ACCEL_CTRL, wx.WXK_PAGEUP, ctabprev),\r\n                (wx.ACCEL_CMD, wx.WXK_PAGEDOWN, ctabnext),\r\n                (wx.ACCEL_CMD, wx.WXK_PAGEUP, ctabprev),\r\n\r\n                (wx.ACCEL_CMD | wx.ACCEL_SHIFT, ord(\"Z\"), wx.ID_REDO)\r\n                ]\r\n\r\n        # Ctrl/Cmd+# for addition pane selection\r\n        self.additionsSelect = []\r\n        for i in range(0, self.additionsPane.notebook.GetPageCount()):\r\n            self.additionsSelect.append(wx.NewId())\r\n            self.Bind(wx.EVT_MENU, self.AdditionsTabSelect, id=self.additionsSelect[i])\r\n            actb.append((wx.ACCEL_CMD, i + 49, self.additionsSelect[i]))\r\n            actb.append((wx.ACCEL_CTRL, i + 49, self.additionsSelect[i]))\r\n\r\n        # Alt+1-9 for market item selection\r\n        self.itemSelect = []\r\n        for i in range(0, 9):\r\n            self.itemSelect.append(wx.NewId())\r\n            self.Bind(wx.EVT_MENU, self.ItemSelect, id=self.itemSelect[i])\r\n            actb.append((wx.ACCEL_ALT, i + 49, self.itemSelect[i]))\r\n\r\n        atable = wx.AcceleratorTable(actb)\r\n        self.SetAcceleratorTable(atable)\r\n\r\n    def toggleIgnoreRestriction(self, event):\r\n\r\n        sFit = Fit.getInstance()\r\n        fitID = self.getActiveFit()\r\n        fit = sFit.getFit(fitID)\r\n\r\n        if not fit.ignoreRestrictions:\r\n            with wx.MessageDialog(\r\n                    self, _t(\"Are you sure you wish to ignore fitting restrictions for the \"\r\n                             \"current fit? This could lead to wildly inaccurate results and possible errors.\"),\r\n                    _t(\"Confirm\"), wx.YES_NO | wx.ICON_QUESTION\r\n            ) as dlg:\r\n                result = dlg.ShowModal() == wx.ID_YES\r\n        else:\r\n            with wx.MessageDialog(\r\n                    self, _t(\"Re-enabling fitting restrictions for this fit will also remove any illegal items \"\r\n                             \"from the fit. Do you want to continue?\"), _t(\"Confirm\"), wx.YES_NO | wx.ICON_QUESTION\r\n            ) as dlg:\r\n                result = dlg.ShowModal() == wx.ID_YES\r\n        if result:\r\n            self.command.Submit(cmd.GuiToggleFittingRestrictionsCommand(fitID=fitID))\r\n\r\n    def eveFittings(self, event):\r\n        EveFittings.openOne(parent=self)\r\n\r\n    def onSSOLogin(self, event):\r\n        menu = self.GetMenuBar()\r\n        menu.Enable(menu.eveFittingsId, True)\r\n        menu.Enable(menu.exportToEveId, True)\r\n\r\n    def updateEsiMenus(self, type):\r\n        menu = self.GetMenuBar()\r\n        sEsi = Esi.getInstance()\r\n\r\n        menu.SetLabel(menu.ssoLoginId, _t(\"Manage Characters\"))\r\n        enable = len(sEsi.getSsoCharacters()) == 0\r\n        menu.Enable(menu.eveFittingsId, not enable)\r\n        menu.Enable(menu.exportToEveId, not enable)\r\n\r\n    def ssoHandler(self, event):\r\n        SsoCharacterMgmt.openOne(parent=self)\r\n\r\n    def exportToEve(self, event):\r\n        ExportToEve.openOne(parent=self)\r\n\r\n    def toggleOverrides(self, event):\r\n        ModifiedAttributeDict.overrides_enabled = not ModifiedAttributeDict.overrides_enabled\r\n        changedFitIDs = Fit.getInstance().processOverrideToggle()\r\n        wx.PostEvent(self, GE.FitChanged(fitIDs=changedFitIDs))\r\n        menu = self.GetMenuBar()\r\n        menu.SetLabel(menu.toggleOverridesId,\r\n                      _t(\"&Turn Overrides Off\") if ModifiedAttributeDict.overrides_enabled else _t(\"&Turn Overrides On\"))\r\n\r\n    def saveChar(self, event):\r\n        sChr = Character.getInstance()\r\n        charID = self.charSelection.getActiveCharacter()\r\n        sChr.saveCharacter(charID)\r\n        wx.PostEvent(self, GE.CharListUpdated())\r\n\r\n    def saveCharAs(self, event):\r\n        charID = self.charSelection.getActiveCharacter()\r\n        CharacterEditor.SaveCharacterAs(self, charID)\r\n        wx.PostEvent(self, GE.CharListUpdated())\r\n\r\n    def revertChar(self, event):\r\n        sChr = Character.getInstance()\r\n        charID = self.charSelection.getActiveCharacter()\r\n        sChr.revertCharacter(charID)\r\n        wx.PostEvent(self, GE.CharListUpdated())\r\n\r\n    def optimizeFitPrice(self, event):\r\n        fitID = self.getActiveFit()\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(fitID)\r\n\r\n        if fit:\r\n            def updateFitCb(replacementsCheaper):\r\n                del self.waitDialog\r\n                del self.disablerAll\r\n                rebaseMap = {k.ID: v.ID for k, v in replacementsCheaper.items()}\r\n                self.command.Submit(cmd.GuiRebaseItemsCommand(fitID=fitID, rebaseMap=rebaseMap))\r\n\r\n            fitItems = {i for i in Fit.fitItemIter(fit, forceFitImplants=True) if i is not fit.ship.item}\r\n            self.disablerAll = wx.WindowDisabler()\r\n            self.waitDialog = wx.BusyInfo(_t(\"Please Wait...\"), parent=self)\r\n            Price.getInstance().findCheaperReplacements(fitItems, updateFitCb, fetchTimeout=10)\r\n\r\n    def AdditionsTabSelect(self, event):\r\n        selTab = self.additionsSelect.index(event.GetId())\r\n\r\n        if selTab <= self.additionsPane.notebook.GetPageCount():\r\n            self.additionsPane.notebook.SetSelection(selTab)\r\n\r\n    def ItemSelect(self, event):\r\n        selItem = self.itemSelect.index(event.GetId())\r\n\r\n        activeListing = getattr(self.marketBrowser.itemView, 'active', None)\r\n        if activeListing and selItem < len(activeListing):\r\n            wx.PostEvent(self, ItemSelected(itemID=self.marketBrowser.itemView.active[selItem].ID, allowBatch=False))\r\n\r\n    def CTabNext(self, event):\r\n        self.fitMultiSwitch.NextPage()\r\n\r\n    def CTabPrev(self, event):\r\n        self.fitMultiSwitch.PrevPage()\r\n\r\n    def HAddPage(self, event):\r\n        self.fitMultiSwitch.AddPage()\r\n\r\n    def toggleShipMarket(self, event):\r\n        sel = self.notebookBrowsers.GetSelection()\r\n        self.notebookBrowsers.SetSelection(0 if sel == 1 else 1)\r\n\r\n    def toggleSearchBox(self, event):\r\n        sel = self.notebookBrowsers.GetSelection()\r\n        if sel == 1:\r\n            self.shipBrowser.navpanel.ToggleSearchBox()\r\n        else:\r\n            self.marketBrowser.search.Focus()\r\n\r\n    def importFromClipboard(self, event):\r\n        clipboard = fromClipboard()\r\n        activeFit = self.getActiveFit()\r\n        try:\r\n            importType, importData = Port().importFitFromBuffer(clipboard, activeFit)\r\n            if importType == \"FittingItem\":\r\n                baseItem, mutaplasmidItem, mutations = importData[0]\r\n                if mutaplasmidItem:\r\n                    if baseItem.isDrone:\r\n                        self.command.Submit(cmd.GuiImportLocalMutatedDroneCommand(\r\n                            activeFit, baseItem, mutaplasmidItem, mutations, amount=1))\r\n                    else:\r\n                        self.command.Submit(cmd.GuiImportLocalMutatedModuleCommand(\r\n                            activeFit, baseItem, mutaplasmidItem, mutations))\r\n                else:\r\n                    self.command.Submit(cmd.GuiAddLocalModuleCommand(activeFit, baseItem.ID))\r\n                return\r\n            if importType == \"AdditionsDrones\":\r\n                if self.command.Submit(cmd.GuiImportLocalDronesCommand(activeFit, [(i.ID, a, m) for i, a, m in importData[0]])):\r\n                    self.additionsPane.select(\"Drones\")\r\n                return\r\n            if importType == \"AdditionsFighters\":\r\n                if self.command.Submit(cmd.GuiImportLocalFightersCommand(activeFit, [(i.ID, a, m) for i, a, m in importData[0]])):\r\n                    self.additionsPane.select(\"Fighters\")\r\n                return\r\n            if importType == \"AdditionsImplants\":\r\n                if self.command.Submit(cmd.GuiImportImplantsCommand(activeFit, [(i.ID, a, m) for i, a, m in importData[0]])):\r\n                    self.additionsPane.select(\"Implants\")\r\n                return\r\n            if importType == \"AdditionsBoosters\":\r\n                if self.command.Submit(cmd.GuiImportBoostersCommand(activeFit, [(i.ID, a, m) for i, a, m in importData[0]])):\r\n                    self.additionsPane.select(\"Boosters\")\r\n                return\r\n            if importType == \"AdditionsCargo\":\r\n                if self.command.Submit(cmd.GuiImportCargosCommand(activeFit, [(i.ID, a, m) for i, a, m in importData[0]])):\r\n                    self.additionsPane.select(\"Cargo\")\r\n                return\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            pyfalog.error(\"Attempt to import failed:\\n{0}\", clipboard)\r\n        else:\r\n            self._openAfterImport(importData)\r\n\r\n    def exportToClipboard(self, event):\r\n        with CopySelectDialog(self) as dlg:\r\n            dlg.ShowModal()\r\n\r\n    def exportSkillsNeeded(self, event):\r\n        \"\"\" Exports skills needed for active fit and active character \"\"\"\r\n        sCharacter = Character.getInstance()\r\n        with wx.FileDialog(\r\n                self,\r\n                _t(\"Export Skills Needed As...\"),\r\n                wildcard=(\"|\".join([\r\n                    _t(\"EVEMon skills training file\") + \" (*.emp)|*.emp\",\r\n                    _t(\"EVEMon skills training XML file\") + \" (*.xml)|*.xml\",\r\n                    _t(\"Text skills training file\") + \" (*.txt)|*.txt\"\r\n                ])),\r\n                style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT,\r\n        ) as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                saveFmtInt = dlg.GetFilterIndex()\r\n\r\n                if saveFmtInt == 0:  # Per ordering of wildcards above\r\n                    saveFmt = \"emp\"\r\n                elif saveFmtInt == 1:\r\n                    saveFmt = \"xml\"\r\n                else:\r\n                    saveFmt = \"txt\"\r\n\r\n                filePath = dlg.GetPath()\r\n                if '.' not in os.path.basename(filePath):\r\n                    filePath += \".{0}\".format(saveFmt)\r\n\r\n                self.waitDialog = wx.BusyInfo(_t(\"Exporting skills needed...\"), parent=self)\r\n                sCharacter.backupSkills(filePath, saveFmt, self.getActiveFit(), self.closeWaitDialog)\r\n\r\n    def fileImportDialog(self, event):\r\n        \"\"\"Handles importing single/multiple EVE XML / EFT cfg fit files\"\"\"\r\n        with wx.FileDialog(\r\n                self,\r\n                _t(\"Open One Or More Fitting Files\"),\r\n                wildcard=(\"|\".join([\r\n                    _t(\"EVE XML fitting files\") + \" (*.xml)|*.xml\",\r\n                    _t(\"EFT text fitting files\") + \" (*.cfg)|*.cfg\",\r\n                    _t(\"All Files\") + \"|*\"\r\n                ])),\r\n                style=wx.FD_OPEN | wx.FD_FILE_MUST_EXIST | wx.FD_MULTIPLE\r\n        ) as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                    # set some arbitrary spacing to create width in window\r\n                progress = ProgressHelper(message=\" \" * 100, callback=self._openAfterImport)\r\n                call = (Port.importFitsThreaded, [dlg.GetPaths(), progress], {})\r\n                self.handleProgress(\r\n                    title=_t(\"Importing fits\"),\r\n                    style=wx.PD_CAN_ABORT | wx.PD_SMOOTH | wx.PD_APP_MODAL | wx.PD_AUTO_HIDE,\r\n                    call=call,\r\n                    progress=progress,\r\n                    errMsgLbl=_t(\"Import Error\"))\r\n\r\n    def backupToXml(self, event):\r\n        \"\"\" Back up all fits to EVE XML file \"\"\"\r\n        defaultFile = \"pyfa-fits-%s.xml\" % strftime(\"%Y%m%d_%H%M%S\", gmtime())\r\n\r\n        with wx.FileDialog(\r\n                self,\r\n                _t(\"Save Backup As...\"),\r\n                wildcard=_t(\"EVE XML fitting file\") + \" (*.xml)|*.xml\",\r\n                style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT,\r\n                defaultFile=defaultFile) as fileDlg:\r\n            if fileDlg.ShowModal() == wx.ID_OK:\r\n                filePath = fileDlg.GetPath()\r\n                if '.' not in os.path.basename(filePath):\r\n                    filePath += \".xml\"\r\n\r\n                fitAmount = Fit.getInstance().countAllFits()\r\n                progress = ProgressHelper(\r\n                    message=_t(\"Backing up {} fits to: {}\").format(fitAmount, filePath),\r\n                    maximum=fitAmount + 1)\r\n                call = (Port.backupFits, [filePath, progress], {})\r\n                self.handleProgress(\r\n                    title=_t(\"Backup fits\"),\r\n                    style=wx.PD_CAN_ABORT | wx.PD_SMOOTH | wx.PD_ELAPSED_TIME | wx.PD_APP_MODAL | wx.PD_AUTO_HIDE,\r\n                    call=call,\r\n                    progress=progress,\r\n                    errMsgLbl=_t(\"Export Error\"))\r\n\r\n    def exportHtml(self, event):\r\n        from gui.utils.exportHtml import exportHtml\r\n\r\n        sFit = Fit.getInstance()\r\n        settings = HTMLExportSettings.getInstance()\r\n\r\n        path = settings.getPath()\r\n\r\n        if not os.path.isdir(os.path.dirname(path)):\r\n            with wx.MessageDialog(\r\n                    self,\r\n                    _t(\"Invalid Path\") + \"\\n\\n\" +\r\n                    _t(\"The following path is invalid or does not exist:\") +\r\n                    f\"\\n{path}\\n\\n\" +\r\n                    _t(\"Please verify path location pyfa's preferences.\"),\r\n                    _t(\"Error\"),\r\n                    wx.OK | wx.ICON_ERROR\r\n            ) as dlg:\r\n                if dlg.ShowModal() == wx.ID_OK:\r\n                    return\r\n        progress = ProgressHelper(\r\n            message=_t(\"Generating HTML file at: {}\").format(path),\r\n            maximum=sFit.countAllFits() + 1)\r\n        call = (exportHtml.getInstance().refreshFittingHtml, [True, progress], {})\r\n        self.handleProgress(\r\n            title=_t(\"Backup fits\"),\r\n            style=wx.PD_APP_MODAL | wx.PD_ELAPSED_TIME,\r\n            call=call,\r\n            progress=progress)\r\n\r\n    def handleProgress(self, title, style, call, progress, errMsgLbl=None):\r\n        extraArgs = {}\r\n        if progress.maximum is not None:\r\n            extraArgs['maximum'] = progress.maximum\r\n        with wx.ProgressDialog(\r\n                parent=self,\r\n                title=title,\r\n                message=progress.message,\r\n                style=style,\r\n                **extraArgs\r\n        ) as dlg:\r\n            func, args, kwargs = call\r\n            func(*args, **kwargs)\r\n            while progress.working:\r\n                wx.MilliSleep(250)\r\n                wx.Yield()\r\n                (progress.dlgWorking, skip) = dlg.Update(progress.current, progress.message)\r\n        if progress.error and errMsgLbl:\r\n            with wx.MessageDialog(\r\n                    self,\r\n                    _t(\"The following error was generated\") +\r\n                    f\"\\n\\n{progress.error}\\n\\n\" +\r\n                    _t(\"Be aware that already processed fits were not saved\"),\r\n                    errMsgLbl, wx.OK | wx.ICON_ERROR\r\n            ) as dlg:\r\n                dlg.ShowModal()\r\n        elif progress.callback:\r\n            progress.callback(*progress.cbArgs)\r\n\r\n    def _openAfterImport(self, fits):\r\n        if len(fits) > 0:\r\n            if len(fits) == 1:\r\n                fit = fits[0]\r\n                wx.PostEvent(self, FitSelected(fitID=fit.ID, from_import=True))\r\n                wx.PostEvent(self.shipBrowser, Stage3Selected(shipID=fit.shipID, back=True))\r\n            else:\r\n                fits.sort(key=lambda _fit: (_fit.ship.item.name, _fit.name))\r\n                # Show 100 fits max\r\n                fits = fits[:100]\r\n                results = []\r\n                for fit in fits:\r\n                    results.append((\r\n                        fit.ID,\r\n                        fit.name,\r\n                        fit.modifiedCoalesce,\r\n                        fit.ship.item,\r\n                        fit.notes\r\n                    ))\r\n                wx.PostEvent(self.shipBrowser, ImportSelected(fits=results, back=True))\r\n\r\n    def importCharacter(self, event):\r\n        \"\"\" Imports character XML file from EVE API \"\"\"\r\n        with wx.FileDialog(\r\n                self,\r\n                _t(\"Open One Or More Character Files\"),\r\n                wildcard=\"|\".join([\r\n                    _t(\"EVE API XML character files\") + \" (*.xml)|*.xml\",\r\n                    _t(\"All Files\") + \"|*\"\r\n                ]),\r\n                style=wx.FD_OPEN | wx.FD_FILE_MUST_EXIST | wx.FD_MULTIPLE\r\n        ) as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                self.supress_left_up = True\r\n                self.waitDialog = wx.BusyInfo(_t(\"Importing Character...\"), parent=self)\r\n                sCharacter = Character.getInstance()\r\n                sCharacter.importCharacter(dlg.GetPaths(), self.importCharacterCallback)\r\n\r\n    def importCharacterCallback(self):\r\n        self.closeWaitDialog()\r\n        wx.PostEvent(self, GE.CharListUpdated())\r\n\r\n    def closeWaitDialog(self):\r\n        del self.waitDialog\r\n\r\n    def openWXInspectTool(self, event):\r\n        if not InspectionTool().initialized:\r\n            InspectionTool().Init()\r\n\r\n        # Find a widget to be selected in the tree.  Use either the\r\n        # one under the cursor, if any, or this frame.\r\n        wnd, _ = wx.FindWindowAtPointer()\r\n        if not wnd:\r\n            wnd = self\r\n        InspectionTool().Show(wnd, True)\r\n"
  },
  {
    "path": "gui/mainMenuBar.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport config\r\nimport graphs\r\nfrom service.character import Character\r\nfrom service.fit import Fit\r\nimport gui.globalEvents as GE\r\nfrom gui.bitmap_loader import BitmapLoader\r\n\r\nfrom logbook import Logger\r\n\r\npyfalog = Logger(__name__)\r\n\r\n_t = wx.GetTranslation\r\nclass MainMenuBar(wx.MenuBar):\r\n    def __init__(self, mainFrame):\r\n        pyfalog.debug(\"Initialize MainMenuBar\")\r\n        self.characterEditorId = wx.NewId()\r\n        self.damagePatternEditorId = wx.NewId()\r\n        self.targetProfileEditorId = wx.NewId()\r\n        self.implantSetEditorId = wx.NewId()\r\n        self.graphFrameId = wx.NewId()\r\n        self.backupFitsId = wx.NewId()\r\n        self.exportSkillsNeededId = wx.NewId()\r\n        self.importCharacterId = wx.NewId()\r\n        self.exportHtmlId = wx.NewId()\r\n        self.wikiId = wx.NewId()\r\n        self.forumId = wx.NewId()\r\n        self.saveCharId = wx.NewId()\r\n        self.saveCharAsId = wx.NewId()\r\n        self.revertCharId = wx.NewId()\r\n        self.eveFittingsId = wx.NewId()\r\n        self.exportToEveId = wx.NewId()\r\n        self.ssoLoginId = wx.NewId()\r\n        self.attrEditorId = wx.NewId()\r\n        self.toggleOverridesId = wx.NewId()\r\n        self.toggleIgnoreRestrictionID = wx.NewId()\r\n        self.devToolsId = wx.NewId()\r\n        self.optimizeFitPrice = wx.NewId()\r\n\r\n        self.mainFrame = mainFrame\r\n        wx.MenuBar.__init__(self)\r\n\r\n        # File menu\r\n        fileMenu = wx.Menu()\r\n        self.Append(fileMenu, _t(\"&File\"))\r\n\r\n        fileMenu.Append(self.mainFrame.addPageId, _t(\"&New Tab\") + \"\\tCTRL+T\", \"Open a new fitting tab\")\r\n        fileMenu.Append(self.mainFrame.closePageId, _t(\"&Close Tab\") + \"\\tCTRL+W\", \"Close the current fit\")\r\n        fileMenu.Append(self.mainFrame.closeAllPagesId, _t(\"&Close All Tabs\") + \"\\tCTRL+ALT+W\", \"Close all open fits\")\r\n\r\n        fileMenu.AppendSeparator()\r\n        fileMenu.Append(self.backupFitsId, _t(\"&Backup All Fittings\"), _t(\"Backup all fittings to a XML file\"))\r\n        fileMenu.Append(self.exportHtmlId, _t(\"Export All Fittings to &HTML\"), _t(\"Export fits to HTML file (set in Preferences)\"))\r\n\r\n        fileMenu.AppendSeparator()\r\n        fileMenu.Append(wx.ID_EXIT)\r\n\r\n        # Fit menu\r\n        fitMenu = wx.Menu()\r\n        self.Append(fitMenu, _t(\"Fi&t\"))\r\n\r\n        fitMenu.Append(wx.ID_UNDO, _t(\"&Undo\") + \"\\tCTRL+Z\", _t(\"Undo the most recent action\"))\r\n        fitMenu.Append(wx.ID_REDO, _t(\"&Redo\") + \"\\tCTRL+Y\", _t(\"Redo the most recent undone action\"))\r\n\r\n        fitMenu.AppendSeparator()\r\n        fitMenu.Append(wx.ID_COPY, _t(\"&To Clipboard\") + \"\\tCTRL+C\", _t(\"Export a fit to the clipboard\"))\r\n        fitMenu.Append(wx.ID_PASTE, _t(\"&From Clipboard\") + \"\\tCTRL+V\", _t(\"Import a fit from the clipboard\"))\r\n\r\n        fitMenu.AppendSeparator()\r\n        fitMenu.Append(wx.ID_OPEN, _t(\"&Import Fittings\") + \"\\tCTRL+O\", _t(\"Import fittings into pyfa\"))\r\n        fitMenu.Append(wx.ID_SAVEAS, _t(\"&Export Fitting\") + \"\\tCTRL+S\", _t(\"Export fitting to another format\"))\r\n\r\n        fitMenu.AppendSeparator()\r\n        fitMenu.Append(self.optimizeFitPrice, _t(\"&Optimize Fit Price\") + \"\\tCTRL+D\")\r\n        graphFrameItem = wx.MenuItem(fitMenu, self.graphFrameId, _t(\"&Graphs\") + \"\\tCTRL+G\")\r\n        graphFrameItem.SetBitmap(BitmapLoader.getBitmap(\"graphs_small\", \"gui\"))\r\n        fitMenu.Append(graphFrameItem)\r\n        if not graphs.graphFrame_enabled:\r\n            self.Enable(self.graphFrameId, False)\r\n        self.ignoreRestrictionItem = fitMenu.Append(self.toggleIgnoreRestrictionID, _t(\"Disable Fitting Re&strictions\"))\r\n\r\n        fitMenu.AppendSeparator()\r\n        fitMenu.Append(self.eveFittingsId, _t(\"&Browse ESI Fittings\") + \"\\tCTRL+B\")\r\n        fitMenu.Append(self.exportToEveId, _t(\"E&xport to ESI\") + \"\\tCTRL+E\")\r\n        self.Enable(self.eveFittingsId, True)\r\n        self.Enable(self.exportToEveId, True)\r\n\r\n        # Character menu\r\n        characterMenu = wx.Menu()\r\n        self.Append(characterMenu, _t(\"&Character\"))\r\n\r\n        characterMenu.Append(self.saveCharId, _t(\"&Save Character\"))\r\n        characterMenu.Append(self.saveCharAsId, _t(\"Save Character &As...\"))\r\n        characterMenu.Append(self.revertCharId, _t(\"&Revert Character\"))\r\n\r\n        characterMenu.AppendSeparator()\r\n        characterMenu.Append(self.importCharacterId, _t(\"&Import Character File\"), _t(\"Import characters into pyfa from file\"))\r\n        characterMenu.Append(self.exportSkillsNeededId, _t(\"&Export Skills Needed\"), _t(\"Export skills needed for this fitting\"))\r\n\r\n        characterMenu.AppendSeparator()\r\n        characterMenu.Append(self.ssoLoginId, _t(\"&Manage ESI Characters\"))\r\n\r\n        # Global Menu\r\n        globalMenu = wx.Menu()\r\n\r\n        if not self.mainFrame.disableOverrideEditor:\r\n            attrItem = wx.MenuItem(globalMenu, self.attrEditorId, _t(\"Attribute &Overrides\"))\r\n            attrItem.SetBitmap(BitmapLoader.getBitmap(\"fit_rename_small\", \"gui\"))\r\n            globalMenu.Append(attrItem)\r\n            globalMenu.Append(self.toggleOverridesId, _t(\"&Turn Overrides On\"))\r\n            globalMenu.AppendSeparator()\r\n\r\n\r\n        self.Append(globalMenu, _t(\"&Global\"))\r\n        preferencesShortCut = \"CTRL+,\" if 'wxMac' in wx.PlatformInfo else \"CTRL+P\"\r\n        preferencesItem = wx.MenuItem(globalMenu, wx.ID_PREFERENCES, _t(\"&Preferences\") + \"\\t\" + preferencesShortCut)\r\n        preferencesItem.SetBitmap(BitmapLoader.getBitmap(\"preferences_small\", \"gui\"))\r\n        globalMenu.Append(preferencesItem)\r\n\r\n        # Editors menu\r\n        editorsMenu = wx.Menu()\r\n        self.Append(editorsMenu, _t(\"&Editors\"))\r\n        charEditItem = wx.MenuItem(editorsMenu, self.characterEditorId, _t(\"&Character Editor\") + \"\\tCTRL+K\")\r\n        charEditItem.SetBitmap(BitmapLoader.getBitmap(\"character_small\", \"gui\"))\r\n        editorsMenu.Append(charEditItem)\r\n        implantSetEditItem = wx.MenuItem(editorsMenu, self.implantSetEditorId, _t(\"&Implant Set Editor\") + \"\\tCTRL+I\")\r\n        implantSetEditItem.SetBitmap(BitmapLoader.getBitmap(\"hardwire_small\", \"gui\"))\r\n        editorsMenu.Append(implantSetEditItem)\r\n        damagePatternEditItem = wx.MenuItem(editorsMenu, self.damagePatternEditorId, _t(\"&Damage Pattern Editor\"))\r\n        damagePatternEditItem.SetBitmap(BitmapLoader.getBitmap(\"damagePattern_small\", \"gui\"))\r\n        editorsMenu.Append(damagePatternEditItem)\r\n        targetProfileEditItem = wx.MenuItem(editorsMenu, self.targetProfileEditorId, _t(\"&Target Profile Editor\"))\r\n        targetProfileEditItem.SetBitmap(BitmapLoader.getBitmap(\"explosive_small\", \"gui\"))\r\n        editorsMenu.Append(targetProfileEditItem)\r\n\r\n        # Help menu\r\n        helpMenu = wx.Menu()\r\n        self.Append(helpMenu, _t(\"&Help\"))\r\n        helpMenu.Append(self.wikiId, _t(\"&Wiki\"), _t(\"Go to wiki on GitHub\"))\r\n        helpMenu.Append(self.forumId, _t(\"&Forums\"), _t(\"Go to EVE Online Forum thread\"))\r\n        helpMenu.AppendSeparator()\r\n        helpMenu.Append(wx.ID_ABOUT)\r\n\r\n        if config.debug:\r\n            helpMenu.Append(self.mainFrame.widgetInspectMenuID, _t(\"Open Wid&gets Inspect tool\"), _t(\"Open Widgets Inspect tool\"))\r\n            helpMenu.Append(self.devToolsId, _t(\"Open &Dev Tools\"), _t(\"Dev Tools\"))\r\n\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n        self.mainFrame.Bind(GE.FIT_RENAMED, self.fitRenamed)\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n        enable = activeFitID is not None\r\n        self.Enable(wx.ID_SAVEAS, enable)\r\n        self.Enable(wx.ID_COPY, enable)\r\n        self.Enable(self.exportSkillsNeededId, enable)\r\n\r\n        self.refreshUndo()\r\n\r\n        sChar = Character.getInstance()\r\n        charID = self.mainFrame.charSelection.getActiveCharacter()\r\n        char = sChar.getCharacter(charID)\r\n\r\n        # enable/disable character saving stuff\r\n        self.Enable(self.saveCharId, not char.ro and char.isDirty)\r\n        self.Enable(self.saveCharAsId, char.isDirty)\r\n        self.Enable(self.revertCharId, char.isDirty)\r\n\r\n        self.Enable(self.toggleIgnoreRestrictionID, enable)\r\n\r\n        if activeFitID:\r\n            sFit = Fit.getInstance()\r\n            fit = sFit.getFit(activeFitID)\r\n\r\n            if fit.ignoreRestrictions:\r\n                self.ignoreRestrictionItem.SetItemLabel(_t(\"Enable Fitting Re&strictions\"))\r\n            else:\r\n                self.ignoreRestrictionItem.SetItemLabel(_t(\"Disable Fitting Re&strictions\"))\r\n\r\n    def fitRenamed(self, event):\r\n        self.refreshUndo()\r\n        event.Skip()\r\n\r\n    def refreshUndo(self):\r\n        command = self.mainFrame.command\r\n        self.Enable(wx.ID_UNDO, False)\r\n        self.Enable(wx.ID_REDO, False)\r\n        if command.CanUndo():\r\n            self.Enable(wx.ID_UNDO, True)\r\n        if command.CanRedo():\r\n            self.Enable(wx.ID_REDO, True)\r\n"
  },
  {
    "path": "gui/marketBrowser.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom gui.builtinMarketBrowser.searchBox import SearchBox\r\nfrom gui.builtinMarketBrowser.itemView import ItemView\r\nfrom gui.builtinMarketBrowser.metaButton import MetaButton\r\nfrom gui.builtinMarketBrowser.marketTree import MarketTree\r\nfrom service.market import Market\r\nfrom service.settings import MarketPriceSettings\r\n\r\nfrom logbook import Logger\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass MarketBrowser(wx.Panel):\r\n\r\n\r\n    def __init__(self, parent):\r\n        wx.Panel.__init__(self, parent)\r\n\r\n        pyfalog.debug(\"Initialize marketBrowser\")\r\n        vbox = wx.BoxSizer(wx.VERTICAL)\r\n        self.SetSizer(vbox)\r\n\r\n        # Add a search box on top\r\n        self.search = SearchBox(self)\r\n        vbox.Add(self.search, 0, wx.EXPAND)\r\n\r\n        self.splitter = wx.SplitterWindow(self, style=wx.SP_LIVE_UPDATE)\r\n        vbox.Add(self.splitter, 1, wx.EXPAND)\r\n\r\n        # Grab service stuff and create child objects\r\n        self.sMkt = Market.getInstance()\r\n        self.settings = MarketPriceSettings.getInstance()\r\n        self.__mode = 'normal'\r\n        self.__normalBtnMap = {}\r\n        self.marketView = MarketTree(self.splitter, self)\r\n        self.itemView = ItemView(self.splitter, self)\r\n\r\n        self.splitter.SplitHorizontally(self.marketView, self.itemView)\r\n        self.splitter.SetMinimumPaneSize(250)\r\n\r\n        # Setup our buttons for metaGroup selection\r\n        # Same fix as for search box on macs,\r\n        # need some pixels of extra space or everything clips and is ugly\r\n        p = wx.Panel(self)\r\n        box = wx.BoxSizer(wx.HORIZONTAL)\r\n        p.SetSizer(box)\r\n        vbox.Add(p, 0, wx.EXPAND)\r\n        self.metaButtons = []\r\n        btn = None\r\n        for name in list(self.sMkt.META_MAP.keys()):\r\n            btn = MetaButton(p, wx.ID_ANY, name.capitalize(), style=wx.BU_EXACTFIT)\r\n            setattr(self, name, btn)\r\n            box.Add(btn, 1, wx.ALIGN_CENTER)\r\n            btn.Bind(wx.EVT_TOGGLEBUTTON, self.toggleMetaButton)\r\n            btn.metaName = name\r\n            self.metaButtons.append(btn)\r\n        # Make itemview to set toggles according to list contents\r\n        self.itemView.setToggles()\r\n\r\n        p.SetMinSize((wx.SIZE_AUTO_WIDTH, btn.GetSize()[1] + 5))\r\n\r\n    def toggleMetaButton(self, event):\r\n        \"\"\"Process clicks on toggle buttons\"\"\"\r\n        clickedBtn = event.EventObject\r\n\r\n        if wx.GetMouseState().GetModifiers() == wx.MOD_CONTROL:\r\n            activeBtns = [btn for btn in self.metaButtons if btn.GetValue()]\r\n            if activeBtns:\r\n                clickedBtn.setUserSelection(clickedBtn.GetValue())\r\n                self.itemView.filterItemStore()\r\n            else:\r\n                # Do 'nothing' if we're trying to turn last active button off\r\n                # Keep button in the same state\r\n                clickedBtn.setUserSelection(True)\r\n        else:\r\n            for btn in self.metaButtons:\r\n                btn.setUserSelection(btn == clickedBtn)\r\n\r\n            self.itemView.filterItemStore()\r\n\r\n    def jump(self, item):\r\n        self.mode = 'normal'\r\n        self.marketView.jump(item)\r\n        setting = self.settings.get('marketMGJumpMode')\r\n        itemMetaCat = self.sMkt.META_MAP_REVERSE[self.sMkt.getMetaGroupIdByItem(item)]\r\n        # Enable item meta category\r\n        if setting == 1:\r\n            btn = getattr(self, itemMetaCat)\r\n            if not btn.GetValue():\r\n                btn.setUserSelection(True)\r\n        # Enable item meta category, disable others\r\n        elif setting == 2:\r\n            tgtBtn = getattr(self, itemMetaCat)\r\n            if not tgtBtn.GetValue():\r\n                tgtBtn.setUserSelection(True)\r\n            for btn in self.metaButtons:\r\n                if btn is tgtBtn:\r\n                    continue\r\n                if btn.GetValue:\r\n                    btn.setUserSelection(False)\r\n        # Enable all meta categories\r\n        elif setting == 3:\r\n            for btn in self.metaButtons:\r\n                if not btn.GetValue():\r\n                    btn.setUserSelection(True)\r\n        self.itemView.selectionMade('jump')\r\n\r\n    @property\r\n    def mode(self):\r\n        return self.__mode\r\n\r\n    @mode.setter\r\n    def mode(self, newMode):\r\n        oldMode = self.__mode\r\n        if newMode == oldMode != 'search':\r\n            return\r\n        # Store meta button states when switching from normal\r\n        if oldMode == 'normal':\r\n            self.__normalBtnMap.clear()\r\n            for btn in self.metaButtons:\r\n                self.__normalBtnMap[btn] = btn.userSelected\r\n        if newMode == 'search':\r\n            self.marketView.UnselectAll()\r\n        setting = self.settings.get('marketMGSearchMode')\r\n        # We turn on all meta buttons for the duration of search/recents\r\n        if setting == 1:\r\n            if newMode in ('search', 'recent', 'charges'):\r\n                for btn in self.metaButtons:\r\n                    btn.setUserSelection(True)\r\n            if newMode == 'normal':\r\n                for btn, state in self.__normalBtnMap.items():\r\n                    btn.setUserSelection(state)\r\n        # We turn on all meta buttons permanently\r\n        if setting == 2:\r\n            for btn in self.metaButtons:\r\n                btn.setUserSelection(True)\r\n        self.__mode = newMode\r\n\r\n"
  },
  {
    "path": "gui/multiSwitch.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nfrom gui.chrome_tabs import ChromeNotebook\r\nimport gui.builtinViews.emptyView\r\nimport wx\r\n\r\n_t = wx.GetTranslation\r\n\r\nclass MultiSwitch(ChromeNotebook):\r\n    def __init__(self, parent):\r\n        ChromeNotebook.__init__(self, parent, can_add=True, tabWidthMode=1)\r\n        # self.AddPage() # now handled by mainFrame\r\n        self.handlers = handlers = []\r\n        for type in TabSpawner.tabTypes:\r\n            handlers.append(type(self))\r\n\r\n    def handleDrag(self, type, info):\r\n        for handler in self.handlers:\r\n            h = getattr(handler, \"handleDrag\", None)\r\n            if h:\r\n                h(type, info)\r\n\r\n    def AddPage(self, tabWnd=None, tabTitle=None, tabImage=None):\r\n        tabTitle = tabTitle or _t(\"Empty Tab\")\r\n        if tabWnd is None:\r\n            tabWnd = gui.builtinViews.emptyView.BlankPage(self)\r\n            tabWnd.handleDrag = lambda type, info: self.handleDrag(type, info)\r\n\r\n        ChromeNotebook.AddPage(self, tabWnd, tabTitle, tabImage, True)\r\n\r\n    def DeletePage(self, n, *args, **kwargs):\r\n        ChromeNotebook.DeletePage(self, n, *args, **kwargs)\r\n        if self.GetPageCount() == 0:\r\n            self.AddPage()\r\n\r\nclass TabSpawner:\r\n    tabTypes = []\r\n\r\n    @classmethod\r\n    def register(cls):\r\n        TabSpawner.tabTypes.append(cls)\r\n"
  },
  {
    "path": "gui/patternEditor.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.    See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.    If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.auxWindow import AuxiliaryFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.builtinViews.entityEditor import BaseValidator, EntityEditor\r\nfrom gui.utils.clipboard import fromClipboard, toClipboard\r\nfrom gui.utils.inputs import FloatBox\r\nfrom service.damagePattern import DamagePattern, ImportError\r\nfrom service.fit import Fit\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n_t = wx.GetTranslation\r\n\r\nclass DmgPatternNameValidator(BaseValidator):\r\n    def __init__(self):\r\n        BaseValidator.__init__(self)\r\n\r\n    def Clone(self):\r\n        return DmgPatternNameValidator()\r\n\r\n    def Validate(self, win):\r\n        entityEditor = win.Parent.parent\r\n        textCtrl = self.GetWindow()\r\n        text = textCtrl.GetValue().strip()\r\n\r\n        try:\r\n            if len(text) == 0:\r\n                raise ValueError(_t(\"You must supply a name for your Damage Profile!\"))\r\n            elif text in [x.rawName for x in entityEditor.choices]:\r\n                raise ValueError(_t(\"Damage Profile name already in use, please choose another.\"))\r\n\r\n            return True\r\n        except ValueError as e:\r\n            pyfalog.error(e)\r\n            wx.MessageBox(\"{}\".format(e), _t(\"Error\"))\r\n            textCtrl.SetFocus()\r\n            return False\r\n\r\n\r\nclass DmgPatternEntityEditor(EntityEditor):\r\n    def __init__(self, parent):\r\n        EntityEditor.__init__(self, parent, _t(\"Damage Profile\"))\r\n        self.SetEditorValidator(DmgPatternNameValidator)\r\n\r\n    def getEntitiesFromContext(self):\r\n        sDP = DamagePattern.getInstance()\r\n        choices = sorted(sDP.getUserDamagePatternList(), key=lambda p: p.rawName)\r\n        choices = [c for c in choices if c.rawName != \"Selected Ammo\"]\r\n        return choices\r\n\r\n    def DoNew(self, name):\r\n        sDP = DamagePattern.getInstance()\r\n        return sDP.newPattern(name)\r\n\r\n    def DoRename(self, entity, name):\r\n        sDP = DamagePattern.getInstance()\r\n        sDP.renamePattern(entity, name)\r\n\r\n    def DoCopy(self, entity, name):\r\n        sDP = DamagePattern.getInstance()\r\n        copy = sDP.copyPattern(entity)\r\n        sDP.renamePattern(copy, name)\r\n        return copy\r\n\r\n    def DoDelete(self, entity):\r\n        sDP = DamagePattern.getInstance()\r\n        sDP.deletePattern(entity)\r\n\r\n\r\nclass DmgPatternEditor(AuxiliaryFrame):\r\n\r\n    DAMAGE_TYPES = (\"em\", \"thermal\", \"kinetic\", \"explosive\")\r\n\r\n    def __init__(self, parent):\r\n        super().__init__(\r\n            parent, id=wx.ID_ANY, title=_t(\"Damage Pattern Editor\"), resizeable=True,\r\n            # Dropdown list widget is scaled to its longest content line on GTK, adapt to that\r\n            size=wx.Size(500, 240) if \"wxGTK\" in wx.PlatformInfo else wx.Size(400, 240))\r\n\r\n        self.block = False\r\n        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.entityEditor = DmgPatternEntityEditor(self)\r\n        mainSizer.Add(self.entityEditor, 0, wx.ALL | wx.EXPAND, 2)\r\n\r\n        self.sl = wx.StaticLine(self)\r\n        mainSizer.Add(self.sl, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        contentSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.embitmap = BitmapLoader.getBitmap(\"em_big\", \"gui\")\r\n        self.thermbitmap = BitmapLoader.getBitmap(\"thermal_big\", \"gui\")\r\n        self.kinbitmap = BitmapLoader.getBitmap(\"kinetic_big\", \"gui\")\r\n        self.expbitmap = BitmapLoader.getBitmap(\"explosive_big\", \"gui\")\r\n\r\n        dmgeditSizer = wx.FlexGridSizer(2, 6, 0, 2)\r\n        dmgeditSizer.AddGrowableCol(0)\r\n        dmgeditSizer.AddGrowableCol(5)\r\n        dmgeditSizer.SetFlexibleDirection(wx.BOTH)\r\n        dmgeditSizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)\r\n\r\n        width = -1\r\n        defSize = wx.Size(width, -1)\r\n\r\n        for i, type_ in enumerate(self.DAMAGE_TYPES):\r\n            bmp = wx.StaticBitmap(self, wx.ID_ANY, BitmapLoader.getBitmap(\"%s_big\" % type_, \"gui\"))\r\n            if i % 2:\r\n                style = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.LEFT\r\n                border = 20\r\n            else:\r\n                style = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT\r\n                border = 5\r\n\r\n            # set text edit\r\n            editBox = FloatBox(parent=self, id=wx.ID_ANY, value=0, pos=wx.DefaultPosition, size=defSize)\r\n            percLabel = wx.StaticText(self, wx.ID_ANY, \"0%\")\r\n            setattr(self, \"%sEdit\" % type_, editBox)\r\n            setattr(self, \"%sPerc\" % type_, percLabel)\r\n\r\n            dmgeditSizer.Add(bmp, 0, style, border)\r\n            dmgeditSizer.Add(editBox, 0, wx.BOTTOM | wx.TOP | wx.ALIGN_CENTER_VERTICAL, 5)\r\n            dmgeditSizer.Add(percLabel, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n            editBox.Bind(wx.EVT_TEXT, self.OnFieldChanged)\r\n\r\n        contentSizer.Add(dmgeditSizer, 1, wx.EXPAND | wx.ALL, 5)\r\n        self.slfooter = wx.StaticLine(self)\r\n        contentSizer.Add(self.slfooter, 0, wx.EXPAND | wx.TOP, 5)\r\n\r\n        footerSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        perSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.stNotice = wx.StaticText(self, wx.ID_ANY, \"\")\r\n        self.stNotice.Wrap(-1)\r\n        perSizer.Add(self.stNotice, 0, wx.BOTTOM | wx.TOP | wx.LEFT, 5)\r\n\r\n        footerSizer.Add(perSizer, 1, wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n        self.totSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        contentSizer.Add(footerSizer, 0, wx.EXPAND, 5)\r\n\r\n        mainSizer.Add(contentSizer, 1, wx.EXPAND, 0)\r\n\r\n        self.SetSizer(mainSizer)\r\n\r\n        importExport = ((_t(\"Import patterns from clipboard\"), wx.ART_FILE_OPEN, \"import\"),\r\n                        (_t(\"Export patterns to clipboard\"), wx.ART_FILE_SAVE_AS, \"export\"))\r\n\r\n        for tooltip, art, attr in importExport:\r\n            bitmap = wx.ArtProvider.GetBitmap(art, wx.ART_BUTTON)\r\n            btn = wx.BitmapButton(self, wx.ID_ANY, bitmap)\r\n\r\n            btn.SetMinSize(btn.GetSize())\r\n            btn.SetMaxSize(btn.GetSize())\r\n\r\n            btn.Layout()\r\n            setattr(self, \"{}Btn\".format(attr), btn)\r\n            btn.Enable(True)\r\n            btn.SetToolTip(tooltip)\r\n            footerSizer.Add(btn, 0)\r\n            btn.Bind(wx.EVT_BUTTON, getattr(self, \"{}Patterns\".format(attr)))\r\n\r\n        if not self.entityEditor.checkEntitiesExist():\r\n            self.Close()\r\n            return\r\n\r\n        self.Layout()\r\n        bsize = self.GetBestSize()\r\n        self.SetSize((-1, bsize.height))\r\n        self.SetMinSize(self.GetSize())\r\n        self.CenterOnParent()\r\n\r\n        self.Bind(wx.EVT_CHOICE, self.patternChanged)\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n\r\n        self.inputTimer = wx.Timer(self)\r\n        self.Bind(wx.EVT_TIMER, self.OnInputTimer, self.inputTimer)\r\n\r\n        self.patternChanged()\r\n\r\n    def OnFieldChanged(self, event=None):\r\n        if event is not None:\r\n            event.Skip()\r\n        self.inputTimer.Stop()\r\n        self.inputTimer.Start(Fit.getInstance().serviceFittingOptions['marketSearchDelay'], True)\r\n\r\n    def OnInputTimer(self, event):\r\n        event.Skip()\r\n        if self.block:\r\n            return\r\n        p = self.entityEditor.getActiveEntity()\r\n        total = sum([(getattr(self, \"%sEdit\" % attr).GetValueFloat() or 0) for attr in self.DAMAGE_TYPES])\r\n        for type_ in self.DAMAGE_TYPES:\r\n            editBox = getattr(self, \"%sEdit\" % type_)\r\n            percLabel = getattr(self, \"%sPerc\" % type_)\r\n            setattr(p, \"%sAmount\" % type_, editBox.GetValueFloat() or 0)\r\n            percLabel.SetLabel(\"%.1f%%\" % ((editBox.GetValueFloat() or 0) * 100 / total if total > 0 else 0))\r\n        self.totSizer.Layout()\r\n        DamagePattern.getInstance().saveChanges(p)\r\n\r\n    def restrict(self):\r\n        for type_ in self.DAMAGE_TYPES:\r\n            editObj = getattr(self, \"%sEdit\" % type_)\r\n            editObj.Enable(False)\r\n        self.entityEditor.btnRename.Enable(False)\r\n        self.entityEditor.btnDelete.Enable(False)\r\n\r\n    def unrestrict(self):\r\n        for type_ in self.DAMAGE_TYPES:\r\n            editObj = getattr(self, \"%sEdit\" % type_)\r\n            editObj.Enable()\r\n        self.entityEditor.btnRename.Enable()\r\n        self.entityEditor.btnDelete.Enable()\r\n\r\n    def patternChanged(self, event=None):\r\n\r\n        if not self.entityEditor.checkEntitiesExist():\r\n            self.Close()\r\n            return\r\n\r\n        p = self.entityEditor.getActiveEntity()\r\n\r\n        if p is None:\r\n            return\r\n\r\n        # localization todo: unsure if these names are internal only or also displayed somewhere...\r\n        if p.rawName == \"Uniform\" or p.rawName == \"Selected Ammo\":\r\n            self.restrict()\r\n        else:\r\n            self.unrestrict()\r\n\r\n        self.block = True\r\n\r\n        for field in self.DAMAGE_TYPES:\r\n            edit = getattr(self, \"%sEdit\" % field)\r\n            amount = int(round(getattr(p, \"%sAmount\" % field)))\r\n            edit.ChangeValueFloat(amount)\r\n\r\n        self.block = False\r\n        self.OnFieldChanged()\r\n\r\n    def __del__(self):\r\n        pass\r\n\r\n    def importPatterns(self, event):\r\n        text = fromClipboard()\r\n        if text:\r\n            sDP = DamagePattern.getInstance()\r\n            try:\r\n                sDP.importPatterns(text)\r\n                self.stNotice.SetLabel(_t(\"Patterns successfully imported from clipboard\"))\r\n            except ImportError as e:\r\n                pyfalog.error(e)\r\n                self.stNotice.SetLabel(str(e))\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                msg = _t(\"Could not import from clipboard: unknown errors\")\r\n                pyfalog.warning(msg)\r\n                pyfalog.error(e)\r\n                self.stNotice.SetLabel(msg)\r\n            finally:\r\n                self.entityEditor.refreshEntityList()\r\n        else:\r\n            self.stNotice.SetLabel(_t(\"Could not import from clipboard\"))\r\n\r\n    def exportPatterns(self, event):\r\n        sDP = DamagePattern.getInstance()\r\n        toClipboard(sDP.exportPatterns())\r\n        self.stNotice.SetLabel(_t(\"Patterns exported to clipboard\"))\r\n\r\n    def kbEvent(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.Close()\r\n            return\r\n        event.Skip()\r\n"
  },
  {
    "path": "gui/preferenceDialog.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom gui.preferenceView import PreferenceView\r\nfrom gui.bitmap_loader import BitmapLoader\r\n\r\n_t = wx.GetTranslation\r\n\r\nclass PreferenceDialog(wx.Dialog):\r\n\r\n    def __init__(self, parent):\r\n        super().__init__(parent, id=wx.ID_ANY, size=wx.DefaultSize, style=wx.DEFAULT_DIALOG_STYLE)\r\n        self.SetTitle(\"pyfa - \" + _t(\"Preferences\"))\r\n        i = wx.Icon(BitmapLoader.getBitmap(\"preferences_small\", \"gui\"))\r\n        self.SetIcon(i)\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.listbook = wx.Listbook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LB_DEFAULT)\r\n\r\n        self.listview = self.listbook.GetListView()\r\n        # self.listview.SetMinSize((500, -1))\r\n        # self.listview.SetSize((500, -1))\r\n\r\n        self.imageList = wx.ImageList(32, 32)\r\n        self.listbook.AssignImageList(self.imageList)\r\n\r\n        mainSizer.Add(self.listbook, 1, wx.EXPAND | wx.TOP | wx.BOTTOM | wx.LEFT, 5)\r\n\r\n        self.m_staticline2 = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)\r\n        mainSizer.Add(self.m_staticline2, 0, wx.EXPAND, 5)\r\n\r\n        btnSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        btnSizer.AddStretchSpacer()\r\n        # localization todo: \"OK\" button shoudl be a built in thing that is already localized...\r\n        self.btnOK = wx.Button(self, wx.ID_ANY, \"OK\", wx.DefaultPosition, wx.DefaultSize, 0)\r\n        btnSizer.Add(self.btnOK, 0, wx.ALL, 5)\r\n        mainSizer.Add(btnSizer, 0, wx.EXPAND, 5)\r\n        self.SetSizer(mainSizer)\r\n\r\n        self.Centre(wx.BOTH)\r\n\r\n        for prefView in PreferenceView.views:\r\n            page = wx.ScrolledWindow(self.listbook)\r\n            page.SetScrollRate(15, 15)\r\n            bmp = prefView.getImage()\r\n            if bmp:\r\n                imgID = self.imageList.Add(bmp)\r\n            else:\r\n                imgID = -1\r\n            prefView.populatePanel(page)\r\n\r\n            self.listbook.AddPage(page, prefView.title, imageId=imgID)\r\n\r\n        bestFit = self.GetBestVirtualSize()\r\n        width = max(bestFit[0], 800 if \"wxGTK\" in wx.PlatformInfo else 650)\r\n        height = max(bestFit[1], 550)\r\n        self.SetSize(width, height)\r\n\r\n        self.Layout()\r\n\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n        self.btnOK.Bind(wx.EVT_BUTTON, self.OnBtnOK)\r\n\r\n    def OnBtnOK(self, event):\r\n        self.Close()\r\n\r\n    def kbEvent(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.Close()\r\n            return\r\n        event.Skip()\r\n"
  },
  {
    "path": "gui/preferenceView.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\n\r\nclass PreferenceView:\r\n    views = []\r\n\r\n    @classmethod\r\n    def register(cls):\r\n        PreferenceView.views.append(cls())\r\n\r\n    def populatePanel(self, panel):\r\n        raise NotImplementedError()\r\n\r\n    def refreshPanel(self, fit):\r\n        raise NotImplementedError()\r\n\r\n    def getImage(self):\r\n        return wx.NullBitmap\r\n\r\n\r\n# noinspection PyUnresolvedReferences\r\nfrom gui.builtinPreferenceViews import (  # noqa: E402, F401\r\n    pyfaGeneralPreferences,\r\n    pyfaNetworkPreferences,\r\n    pyfaHTMLExportPreferences,\r\n    pyfaEsiPreferences,\r\n    pyfaContextMenuPreferences,\r\n    pyfaStatViewPreferences,\r\n    pyfaMarketPreferences,\r\n    pyfaUpdatePreferences,\r\n    pyfaEnginePreferences,\r\n    pyfaDatabasePreferences,\r\n    pyfaLoggingPreferences\r\n)\r\n"
  },
  {
    "path": "gui/propertyEditor.py",
    "content": "import csv\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n# noinspection PyPackageRequirements\r\nimport wx.propgrid as wxpg\r\nfrom logbook import Logger\r\n\r\nimport gui.builtinMarketBrowser.pfSearchBox as SBox\r\nimport gui.display as d\r\nimport gui.globalEvents as GE\r\nfrom eos.db.gamedata.queries import getAttributeInfo, getItem\r\nfrom gui.auxWindow import AuxiliaryFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.marketBrowser import SearchBox\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\npyfalog = Logger(__name__)\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass AttributeEditor(AuxiliaryFrame):\r\n\r\n    def __init__(self, parent):\r\n        super().__init__(\r\n                parent, wx.ID_ANY, title=_t(\"Attribute Editor\"), pos=wx.DefaultPosition,\r\n                size=wx.Size(650, 600), resizeable=True)\r\n\r\n        i = wx.Icon(BitmapLoader.getBitmap(\"fit_rename_small\", \"gui\"))\r\n        self.SetIcon(i)\r\n\r\n        self.mainFrame = parent\r\n\r\n        menubar = wx.MenuBar()\r\n        fileMenu = wx.Menu()\r\n        fileImport = fileMenu.Append(wx.ID_ANY, _t('Import'), _t('Import overrides'))\r\n        fileExport = fileMenu.Append(wx.ID_ANY, _t('Export'), _t('Import overrides'))\r\n        fileClear = fileMenu.Append(wx.ID_ANY, _t('Clear All'), _t('Clear all overrides'))\r\n\r\n        menubar.Append(fileMenu, _t('&File'))\r\n        self.SetMenuBar(menubar)\r\n\r\n        self.Bind(wx.EVT_MENU, self.OnImport, fileImport)\r\n        self.Bind(wx.EVT_MENU, self.OnExport, fileExport)\r\n        self.Bind(wx.EVT_MENU, self.OnClear, fileClear)\r\n\r\n        i = wx.Icon(BitmapLoader.getBitmap(\"fit_rename_small\", \"gui\"))\r\n        self.SetIcon(i)\r\n\r\n        self.mainFrame = parent\r\n        self.panel = panel = wx.Panel(self, wx.ID_ANY)\r\n\r\n        mainSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        leftSizer = wx.BoxSizer(wx.VERTICAL)\r\n        leftPanel = wx.Panel(panel, wx.ID_ANY,\r\n                             style=wx.DOUBLE_BORDER if 'wxMSW' in wx.PlatformInfo else wx.SIMPLE_BORDER)\r\n\r\n        self.searchBox = SearchBox(leftPanel)\r\n        self.itemView = ItemView(leftPanel)\r\n\r\n        leftSizer.Add(self.searchBox, 0, wx.EXPAND)\r\n        leftSizer.Add(self.itemView, 1, wx.EXPAND)\r\n\r\n        leftPanel.SetSizer(leftSizer)\r\n        mainSizer.Add(leftPanel, 1, wx.ALL | wx.EXPAND, 5)\r\n\r\n        rightSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.btnRemoveOverrides = wx.Button(panel, wx.ID_ANY, _t(\"Remove Overides for Item\"), wx.DefaultPosition,\r\n                                            wx.DefaultSize, 0)\r\n        self.pg = AttributeGrid(panel)\r\n        rightSizer.Add(self.pg, 1, wx.ALL | wx.EXPAND, 5)\r\n        rightSizer.Add(self.btnRemoveOverrides, 0, wx.ALL | wx.EXPAND, 5)\r\n        self.btnRemoveOverrides.Bind(wx.EVT_BUTTON, self.pg.removeOverrides)\r\n        self.btnRemoveOverrides.Enable(False)\r\n\r\n        mainSizer.Add(rightSizer, 1, wx.EXPAND)\r\n\r\n        panel.SetSizer(mainSizer)\r\n        mainSizer.SetSizeHints(panel)\r\n\r\n        sizer = wx.BoxSizer(wx.VERTICAL)\r\n        sizer.Add(panel, 1, wx.EXPAND)\r\n        self.SetSizer(sizer)\r\n        self.SetAutoLayout(True)\r\n        self.SetMinSize(self.GetSize())\r\n\r\n        self.Bind(wx.EVT_CLOSE, self.OnClose)\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n\r\n    def kbEvent(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.Close()\r\n            return\r\n        event.Skip()\r\n\r\n    def OnClose(self, event):\r\n        fitID = self.mainFrame.getActiveFit()\r\n        if fitID is not None:\r\n            wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))\r\n        event.Skip()\r\n\r\n    def OnImport(self, event):\r\n        with wx.FileDialog(\r\n                self, _t(\"Import pyfa override file\"),\r\n                wildcard=_t(\"pyfa override file\") + \" (*.csv)|*.csv\",\r\n                style=wx.FD_OPEN | wx.FD_FILE_MUST_EXIST\r\n        ) as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                path = dlg.GetPath()\r\n                with open(path, 'r') as csvfile:\r\n                    spamreader = csv.reader(csvfile)\r\n                    for row in spamreader:\r\n                        if len(row) == 0:  # csvwriter seems to added blank lines to the end sometimes\r\n                            continue\r\n                        itemID, attrID, value = row\r\n                        item = getItem(int(itemID))\r\n                        attr = getAttributeInfo(int(attrID))\r\n                        item.setOverride(attr, float(value))\r\n                self.itemView.updateItems(True)\r\n\r\n    def OnExport(self, event):\r\n        sMkt = Market.getInstance()\r\n        items = sMkt.getItemsWithOverrides()\r\n        defaultFile = \"pyfa_overrides.csv\"\r\n\r\n        with wx.FileDialog(\r\n                self, _t(\"Save Overrides As...\"),\r\n                wildcard=_t(\"pyfa overrides\") + \" (*.csv)|*.csv\",\r\n                style=wx.FD_SAVE,\r\n                defaultFile=defaultFile\r\n        ) as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                path = dlg.GetPath()\r\n                with open(path, 'w', encoding='utf-8') as csvfile:\r\n                    writer = csv.writer(csvfile)\r\n                    for item in items:\r\n                        for key, override in item.overrides.items():\r\n                            writer.writerow([item.ID, override.attrID, override.value])\r\n\r\n    def OnClear(self, event):\r\n        with wx.MessageDialog(\r\n                self,\r\n                _t(\"Are you sure you want to delete all overrides?\"),\r\n                _t(\"Confirm Delete\"),\r\n                wx.YES | wx.NO | wx.ICON_EXCLAMATION\r\n        ) as dlg:\r\n            if dlg.ShowModal() == wx.ID_YES:\r\n                sMkt = Market.getInstance()\r\n                items = sMkt.getItemsWithOverrides()\r\n                # We can't just delete overrides, as loaded items will still have\r\n                # them assigned. Deleting them from the database won't propagate\r\n                # them due to the eve/user database disconnect. We must loop through\r\n                # all items that have overrides and remove them\r\n                for item in items:\r\n                    for _, x in list(item.overrides.items()):\r\n                        item.deleteOverride(x.attr)\r\n                self.itemView.updateItems(True)\r\n                self.pg.Clear()\r\n\r\n\r\n# This is literally a stripped down version of the market.\r\nclass ItemView(d.Display):\r\n    DEFAULT_COLS = [\"Base Icon\",\r\n                    \"Base Name\",\r\n                    \"attr:power,,,True\",\r\n                    \"attr:cpu,,,True\"]\r\n\r\n    def __init__(self, parent):\r\n        d.Display.__init__(self, parent)\r\n        self.activeItems = []\r\n\r\n        self.searchTimer = wx.Timer(self)\r\n        self.Bind(wx.EVT_TIMER, self.scheduleSearch, self.searchTimer)\r\n\r\n        self.searchBox = parent.Parent.Parent.searchBox\r\n        # Bind search actions\r\n        self.searchBox.Bind(SBox.EVT_TEXT_ENTER, self.scheduleSearch)\r\n        self.searchBox.Bind(SBox.EVT_SEARCH_BTN, self.scheduleSearch)\r\n        self.searchBox.Bind(SBox.EVT_CANCEL_BTN, self.clearSearch)\r\n        self.searchBox.Bind(SBox.EVT_TEXT, self.delaySearch)\r\n\r\n        self.update(Market.getInstance().getItemsWithOverrides())\r\n\r\n    def clearSearch(self, event=None):\r\n        if event:\r\n            self.searchBox.Clear()\r\n        self.update(Market.getInstance().getItemsWithOverrides())\r\n\r\n    def updateItems(self, updateDisplay=False):\r\n        if updateDisplay:\r\n            self.update(Market.getInstance().getItemsWithOverrides())\r\n\r\n    def delaySearch(self, evt):\r\n        sFit = Fit.getInstance()\r\n        self.searchTimer.Stop()\r\n        self.searchTimer.Start(sFit.serviceFittingOptions[\"marketSearchDelay\"], True)\r\n\r\n    def scheduleSearch(self, event=None):\r\n        sMkt = Market.getInstance()\r\n\r\n        search = self.searchBox.GetLineText(0)\r\n        # Make sure we do not count wildcards as search symbol\r\n        realsearch = search.replace('*', '').replace('?', '')\r\n        # Show nothing if query is too short\r\n        if len(realsearch) < 3:\r\n            self.clearSearch()\r\n            return\r\n\r\n        sMkt.searchItems(search, self.populateSearch, 'everything')\r\n\r\n    def itemSort(self, item):\r\n        sMkt = Market.getInstance()\r\n        isFittable = item.group.name in sMkt.FIT_GROUPS or item.category.name in sMkt.FIT_CATEGORIES\r\n        return (not isFittable, *sMkt.itemSort(item))\r\n\r\n    def populateSearch(self, itemIDs):\r\n        items = Market.getItems(itemIDs)\r\n        self.update(items)\r\n\r\n    def populate(self, items):\r\n        if len(items) > 0:\r\n            self.unselectAll()\r\n            items.sort(key=self.itemSort)\r\n        self.activeItems = items\r\n        d.Display.populate(self, items)\r\n\r\n    def refresh(self, items):\r\n        if len(items) > 1:\r\n            items.sort(key=self.itemSort)\r\n        d.Display.refresh(self, items)\r\n\r\n\r\nclass AttributeGrid(wxpg.PropertyGrid):\r\n    def __init__(self, parent):\r\n        wxpg.PropertyGrid.__init__(self, parent,\r\n                                   style=wxpg.PG_HIDE_MARGIN | wxpg.PG_HIDE_CATEGORIES | wxpg.PG_BOLD_MODIFIED | wxpg.PG_TOOLTIPS)\r\n        self.SetExtraStyle(wxpg.PG_EX_HELP_AS_TOOLTIPS)\r\n\r\n        self.item = None\r\n\r\n        self.itemView = parent.Parent.itemView\r\n\r\n        self.btn = parent.Parent.btnRemoveOverrides\r\n\r\n        self.Bind(wxpg.EVT_PG_CHANGED, self.OnPropGridChange)\r\n        self.Bind(wxpg.EVT_PG_SELECTED, self.OnPropGridSelect)\r\n        self.Bind(wxpg.EVT_PG_RIGHT_CLICK, self.OnPropGridRightClick)\r\n\r\n        self.itemView.Bind(wx.EVT_LIST_ITEM_SELECTED, self.itemActivated)\r\n        self.itemView.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.itemActivated)\r\n\r\n    def itemActivated(self, event):\r\n        self.Clear()\r\n        self.btn.Enable(True)\r\n        sel = event.EventObject.GetFirstSelected()\r\n        self.item = item = self.itemView.activeItems[sel]\r\n\r\n        for key in sorted(item.attributes.keys()):\r\n            override = item.overrides.get(key, None)\r\n            default = item.attributes[key].value\r\n            if override and override.value != default:\r\n                prop = wxpg.FloatProperty(key, value=override.value)\r\n                prop.SetModifiedStatus(True)\r\n            else:\r\n                prop = wxpg.FloatProperty(key, value=default)\r\n\r\n            prop.SetClientData(item.attributes[key])  # set this so that we may access it later\r\n            prop.SetHelpString(\"%s\\n%s\" % (item.attributes[key].displayName or key, _t(\"Default Value: %0.3f\") % default))\r\n            self.Append(prop)\r\n\r\n    def removeOverrides(self, event):\r\n        if self.item is None:\r\n            return\r\n\r\n        for x in list(self.item.overrides.values()):\r\n            self.item.deleteOverride(x.attr)\r\n            self.itemView.updateItems(True)\r\n        self.ClearModifiedStatus()\r\n        self.itemView.Select(self.itemView.GetFirstSelected(), on=False)\r\n        self.Clear()\r\n\r\n    def Clear(self):\r\n        self.item = None\r\n        self.btn.Enable(False)\r\n        wxpg.PropertyGrid.Clear(self)\r\n\r\n    def OnPropGridChange(self, event):\r\n        p = event.GetProperty()\r\n        attr = p.GetClientData()\r\n        if p.GetValue() == attr.value:\r\n            self.item.deleteOverride(attr)\r\n            p.SetModifiedStatus(False)\r\n        else:\r\n            self.item.setOverride(attr, p.GetValue())\r\n\r\n        self.itemView.updateItems()\r\n\r\n        pyfalog.debug('{0} changed to \"{1}\"', p.GetName(), p.GetValueAsString())\r\n\r\n    def OnPropGridSelect(self, event):\r\n        pass\r\n\r\n    def OnPropGridRightClick(self, event):\r\n        pass\r\n"
  },
  {
    "path": "gui/pyfa_gauge.py",
    "content": "# ===============================================================================\r\n# PyfaGauge is a generic Gauge implementation tailored for pyfa (the Python\r\n# Fitting Assistant). It uses the easeOutQuad equation from\r\n# caurina.transitions.Tweener to do animations\r\n#\r\n# ToDo: make SetGradient(<value, colour start, colour end)\r\n# ToDo: make a solid gradient (not to->from and not dependant on value)\r\n# ToDo: fix 0 range (currently resets range to 0.01, but this causes problems if\r\n#       we really set range at 0.01). Perhaps make it -1 and test percentage as\r\n#       a negativeor something.\r\n# ToDo: possibly devise a way to determine transition percents on init\r\n#       (currently hardcoded)\r\n#\r\n# ===============================================================================\r\n\r\nimport copy\r\n\r\nimport wx\r\n\r\nfrom gui.utils import anim_effects, color as color_utils, draw\r\n\r\n\r\n_t = wx.GetTranslation\r\n\r\nclass PyGauge(wx.Window):\r\n    def __init__(self, parent, font, max_range=100, size=(-1, 30), *args,\r\n                 **kargs):\r\n\r\n        super().__init__(parent, size=size, *args, **kargs)\r\n\r\n        self._size = size\r\n\r\n        self._border_colour = wx.BLACK\r\n        self._bar_colour = None\r\n        self._bar_gradient = None\r\n\r\n        self._border_padding = 0\r\n        self._max_range = max_range\r\n        self._value = 0\r\n\r\n        self._fraction_digits = 0\r\n\r\n        self._timer_id = wx.NewId()\r\n        self._timer = None\r\n\r\n        self._oldValue = 0\r\n\r\n        self._anim_duration = 500\r\n        self._anim_step = 0\r\n        self._period = 20\r\n        self._anim_value = 0\r\n        self._anim_direction = 0\r\n        self.anim_effect = anim_effects.OUT_QUAD\r\n\r\n        # transition colors used based on how full (or overfilled) the gauge is.\r\n        self.transition_colors = [\r\n            (wx.Colour(191, 191, 191), wx.Colour(96, 191, 0)),  # < 0-100%\r\n            (wx.Colour(191, 167, 96), wx.Colour(255, 191, 0)),  # < 100-101%\r\n            (wx.Colour(255, 191, 0), wx.Colour(255, 128, 0)),  # < 101-103%\r\n            (wx.Colour(255, 128, 0), wx.Colour(255, 0, 0))  # < 103-105%\r\n        ]\r\n\r\n        self.gradient_effect = -35\r\n\r\n        self._percentage = 0\r\n        self._old_percentage = 0\r\n        self._show_remaining = False\r\n\r\n        self.font = font\r\n\r\n        self.SetBackgroundColour(wx.Colour(51, 51, 51))\r\n\r\n        self._tooltip = wx.ToolTip(\"0.00/100.00\")\r\n        self.SetToolTip(self._tooltip)\r\n\r\n        self.Bind(wx.EVT_PAINT, self.OnPaint)\r\n        self.Bind(wx.EVT_TIMER, self.OnTimer)\r\n        self.Bind(wx.EVT_ENTER_WINDOW, self.OnWindowEnter)\r\n        self.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave)\r\n        self.SetBackgroundStyle(wx.BG_STYLE_PAINT)\r\n\r\n    def OnEraseBackground(self, event):\r\n        pass\r\n\r\n    def OnWindowEnter(self, event):\r\n        self._show_remaining = True\r\n        self.Refresh()\r\n\r\n    def OnWindowLeave(self, event):\r\n        self._show_remaining = False\r\n        self.Refresh()\r\n\r\n    def GetBorderColour(self):\r\n        return self._border_colour\r\n\r\n    def SetBorderColour(self, colour):\r\n        self._border_colour = colour\r\n\r\n    def GetBarColour(self):\r\n        return self._bar_colour\r\n\r\n    def SetBarColour(self, colour):\r\n        self._bar_colour = colour\r\n\r\n    def SetFractionDigits(self, digits):\r\n        self._fraction_digits = digits\r\n\r\n    def GetBarGradient(self):\r\n        if self._bar_gradient is None:\r\n            return None\r\n\r\n        return self._bar_gradient[0]\r\n\r\n    def SetBarGradient(self, gradient=None):\r\n        if gradient is None:\r\n            self._bar_gradient = None\r\n        else:\r\n            if not isinstance(gradient, list):\r\n                self._bar_gradient = [gradient]\r\n            else:\r\n                self._bar_gradient = list(gradient)\r\n\r\n    def GetBorderPadding(self):\r\n        return self._border_padding\r\n\r\n    def SetBorderPadding(self, padding):\r\n        self._border_padding = padding\r\n\r\n    def GetRange(self):\r\n        \"\"\" Returns the maximum value of the gauge. \"\"\"\r\n        return self._max_range\r\n\r\n    def Animate(self):\r\n        # sFit = Fit.getInstance()\r\n        if True:\r\n            if not self._timer:\r\n                self._timer = wx.Timer(self, self._timer_id)\r\n\r\n            self._anim_step = 0\r\n            self._timer.Start(self._period)\r\n        else:\r\n            self._anim_value = self._percentage\r\n            self.Refresh()\r\n\r\n    def SetRange(self, range, reinit=False, animate=True):\r\n        \"\"\"\r\n        Sets the range of the gauge. The gauge length is its\r\n        value as a proportion of the range.\r\n        \"\"\"\r\n\r\n        if self._max_range == range:\r\n            return\r\n\r\n        # we cannot have a range of zero (laws of physics, etc), so we set it\r\n        if range <= 0:\r\n            self._max_range = 0.01\r\n        else:\r\n            self._max_range = range\r\n\r\n        if reinit is False:\r\n            self._old_percentage = self._percentage\r\n            self._percentage = (self._value / self._max_range) * 100\r\n        else:\r\n            self._old_percentage = self._percentage\r\n            self._percentage = 0\r\n            self._value = 0\r\n\r\n        if animate:\r\n            self.Animate()\r\n\r\n        self._tooltip.SetTip(\"%.2f/%.2f\" % (self._value, self._max_range if self._max_range > 0.01 else 0))\r\n\r\n    def GetValue(self):\r\n        return self._value\r\n\r\n    def SetValue(self, value, animate=True):\r\n        \"\"\" Sets the current position of the gauge. \"\"\"\r\n        if self._value == value:\r\n            return\r\n\r\n        self._old_percentage = self._percentage\r\n        self._value = value\r\n\r\n        if value < 0:\r\n            self._value = 0\r\n\r\n        self._percentage = (self._value / self._max_range) * 100\r\n\r\n        if animate:\r\n            self.Animate()\r\n\r\n        self._tooltip.SetTip(\"%.2f/%.2f\" % (self._value, self._max_range))\r\n\r\n    def SetValueRange(self, value, range, reinit=False):\r\n        \"\"\" Set both value and range of the gauge. \"\"\"\r\n        range_ = float(range)\r\n\r\n        if range_ <= 0:\r\n            self._max_range = 0.01\r\n        else:\r\n            self._max_range = range_\r\n\r\n        value = float(value)\r\n\r\n        self._value = value\r\n        if value < 0:\r\n            self._value = float(0)\r\n\r\n        if reinit is False:\r\n            self._old_percentage = self._percentage\r\n            self._percentage = (self._value / self._max_range) * 100\r\n\r\n        else:\r\n            self._old_percentage = self._percentage\r\n            self._percentage = 0\r\n\r\n        self.Animate()\r\n        self._tooltip.SetTip(\"%.2f/%.2f\" %\r\n                             (self._value, self._max_range if float(self._max_range) > 0.01 else 0))\r\n\r\n    def OnPaint(self, event):\r\n        dc = wx.AutoBufferedPaintDC(self)\r\n        rect = self.GetClientRect()\r\n\r\n        dc.SetBackground(wx.Brush(self.GetBackgroundColour()))\r\n        dc.Clear()\r\n\r\n        colour = self.GetBackgroundColour()\r\n\r\n        dc.SetBrush(wx.Brush(colour))\r\n        dc.SetPen(wx.Pen(colour))\r\n\r\n        dc.DrawRectangle(rect)\r\n\r\n        value = self._percentage\r\n\r\n        if self._timer:\r\n            if self._timer.IsRunning():\r\n                value = self._anim_value\r\n\r\n        if self._border_colour:\r\n            dc.SetPen(wx.Pen(self.GetBorderColour()))\r\n            dc.DrawRectangle(rect)\r\n            pad = 1 + self.GetBorderPadding()\r\n            rect.Deflate(pad, pad)\r\n\r\n        if self.GetBarColour():\r\n            # if we have a bar color set, then we will use this\r\n\r\n            colour = self.GetBarColour()\r\n            dc.SetBrush(wx.Brush(colour))\r\n            dc.SetPen(wx.Pen(colour))\r\n\r\n            # calculate width of bar and draw it\r\n            if value > 100:\r\n                w = rect.width\r\n            else:\r\n                w = rect.width * (float(value) / 100)\r\n            r = copy.copy(rect)\r\n            r.width = round(w)\r\n            dc.DrawRectangle(r)\r\n        else:\r\n            # if bar color is not set, then we use pre-defined transitions\r\n            # for the colors based on the percentage value\r\n\r\n            # calculate width of bar\r\n            if value > 100:\r\n                w = rect.width\r\n            else:\r\n                w = rect.width * (float(value) / 100)\r\n            r = copy.copy(rect)\r\n            r.width = round(w)\r\n\r\n            # determine transition range number and calculate xv (which is the\r\n            # progress between the two transition ranges)\r\n            pv = value\r\n            if pv <= 100:\r\n                xv = pv / 100\r\n                transition = 0\r\n            elif pv <= 101:\r\n                xv = pv - 100\r\n                transition = 1\r\n            elif pv <= 103:\r\n                xv = (pv - 101) / 2\r\n                transition = 2\r\n            elif pv <= 105:\r\n                xv = (pv - 103) / 2\r\n                transition = 3\r\n            else:\r\n                pv = 106\r\n                xv = pv - 100\r\n                transition = -1\r\n\r\n            if transition != -1:\r\n                start_color, end_color = self.transition_colors[transition]\r\n                color = color_utils.CalculateTransition(start_color, end_color,\r\n                                                        xv)\r\n            else:\r\n                color = wx.Colour(191, 48, 48)  # dark red\r\n\r\n            color_factor = self.gradient_effect / 100\r\n            mid_factor = (self.gradient_effect / 2) / 100\r\n\r\n            if self.gradient_effect > 0:\r\n                gradient_color = color_utils.Brighten(color, color_factor)\r\n                gradient_mid = color_utils.Brighten(color, mid_factor)\r\n            else:\r\n                gradient_color = color_utils.Darken(color, color_factor * -1)\r\n                gradient_mid = color_utils.Darken(color, mid_factor * -1)\r\n\r\n            # draw bar\r\n            gradient_bitmap = draw.DrawGradientBar(\r\n                r.width,\r\n                r.height,\r\n                gradient_mid,\r\n                color,\r\n                gradient_color\r\n            )\r\n            if gradient_bitmap is not None:\r\n                dc.DrawBitmap(gradient_bitmap, round(r.left), round(r.top))\r\n\r\n        # font stuff begins here\r\n        dc.SetFont(self.font)\r\n\r\n        # determine shadow position\r\n        r = copy.copy(rect)\r\n        r.left += 1\r\n        r.top += 1\r\n\r\n        if self._max_range == 0.01 and self._value > 0:\r\n            format_ = u'\\u221e'  # infinity symbol\r\n            # drop shadow\r\n            dc.SetTextForeground(wx.Colour(80, 80, 80))  # dark grey\r\n            dc.DrawLabel(format_, r, wx.ALIGN_CENTER)\r\n            # text\r\n            dc.SetTextForeground(wx.WHITE)\r\n            dc.DrawLabel(format_, rect, wx.ALIGN_CENTER)\r\n        else:\r\n            if not self.GetBarColour() and self._show_remaining:\r\n                # we only do these for gradients with mouse over\r\n                range_ = self._max_range if self._max_range > 0.01 else 0\r\n                value = range_ - self._value\r\n                if value < 0:\r\n                    format_ = _t(\"{{0:.{0}f}} over\").format(self._fraction_digits)\r\n                    value = -value\r\n                else:\r\n                    format_ = _t(\"{{0:.{0}f}} left\").format(self._fraction_digits)\r\n\r\n            else:\r\n                format_ = \"{{0:.{0}f}}%\".format(str(self._fraction_digits))\r\n\r\n            # drop shadow\r\n            dc.SetTextForeground(wx.Colour(80, 80, 80))\r\n            dc.DrawLabel(format_.format(value), r, wx.ALIGN_CENTER)\r\n            # text\r\n            dc.SetTextForeground(wx.WHITE)\r\n            dc.DrawLabel(format_.format(value), rect, wx.ALIGN_CENTER)\r\n\r\n    def OnTimer(self, event):\r\n        old_value = self._old_percentage\r\n        value = self._percentage\r\n        start = 0\r\n\r\n        # -1 = left direction, 1 = right direction\r\n        direction = 1 if old_value < value else -1\r\n\r\n        end = direction * (value - old_value)\r\n\r\n        self._anim_direction = direction\r\n        step = self.anim_effect(self._anim_step, start, end, self._anim_duration)\r\n\r\n        self._anim_step += self._period\r\n\r\n        if self._timer_id == event.GetId():\r\n            stop_timer = False\r\n\r\n            if self._anim_step > self._anim_duration:\r\n                stop_timer = True\r\n\r\n            # add new value to the animation if we haven't reached our goal\r\n            # otherwise, stop animation\r\n            if direction == 1:\r\n                if old_value + step < value:\r\n                    self._anim_value = old_value + step\r\n                else:\r\n                    stop_timer = True\r\n            else:\r\n                if old_value - step > value:\r\n                    self._anim_value = old_value - step\r\n                else:\r\n                    stop_timer = True\r\n\r\n            if stop_timer:\r\n                self._timer.Stop()\r\n\r\n            self.Refresh()\r\n"
  },
  {
    "path": "gui/setEditor.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2016 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.    See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.    If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nfrom gui.auxWindow import AuxiliaryFrame\r\nfrom gui.builtinViews.entityEditor import BaseValidator, EntityEditor\r\nfrom gui.builtinViews.implantEditor import BaseImplantEditorView\r\nfrom gui.utils.clipboard import fromClipboard, toClipboard\r\nfrom service.implantSet import ImplantSets\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n_t = wx.GetTranslation\r\nclass ImplantTextValidor(BaseValidator):\r\n    def __init__(self):\r\n        BaseValidator.__init__(self)\r\n\r\n    def Clone(self):\r\n        return ImplantTextValidor()\r\n\r\n    def Validate(self, win):\r\n        entityEditor = win.Parent.parent\r\n        textCtrl = self.GetWindow()\r\n        text = textCtrl.GetValue().strip()\r\n\r\n        try:\r\n            if len(text) == 0:\r\n                raise ValueError(_t(\"You must supply a name for the Implant Set!\"))\r\n            elif text in [x.name for x in entityEditor.choices]:\r\n                raise ValueError(_t(\"Implant Set name already in use, please choose another.\"))\r\n\r\n            return True\r\n        except ValueError as e:\r\n            pyfalog.error(e)\r\n            wx.MessageBox(\"{}\".format(e), _t(\"Error\"))\r\n            textCtrl.SetFocus()\r\n            return False\r\n\r\n\r\nclass ImplantSetEntityEditor(EntityEditor):\r\n    def __init__(self, parent):\r\n        EntityEditor.__init__(self, parent, _t(\"Implant Set\"))\r\n        self.SetEditorValidator(ImplantTextValidor)\r\n\r\n    def getEntitiesFromContext(self):\r\n        sIS = ImplantSets.getInstance()\r\n        return sorted(sIS.getImplantSetList(), key=lambda c: c.name)\r\n\r\n    def DoNew(self, name):\r\n        sIS = ImplantSets.getInstance()\r\n        return sIS.newSet(name)\r\n\r\n    def DoRename(self, entity, name):\r\n        sIS = ImplantSets.getInstance()\r\n        sIS.renameSet(entity, name)\r\n\r\n    def DoCopy(self, entity, name):\r\n        sIS = ImplantSets.getInstance()\r\n        copy = sIS.copySet(entity)\r\n        sIS.renameSet(copy, name)\r\n        return copy\r\n\r\n    def DoDelete(self, entity):\r\n        sIS = ImplantSets.getInstance()\r\n        sIS.deleteSet(entity)\r\n\r\n\r\nclass ImplantSetEditorView(BaseImplantEditorView):\r\n\r\n    def __init__(self, parent):\r\n        BaseImplantEditorView.__init__(self, parent)\r\n        if 'wxMSW' in wx.PlatformInfo:\r\n            self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE))\r\n\r\n    def bindContext(self):\r\n        self.Parent.entityEditor.Bind(wx.EVT_CHOICE, self.contextChanged)\r\n\r\n    def getImplantsFromContext(self):\r\n        sIS = ImplantSets.getInstance()\r\n        set_ = self.Parent.entityEditor.getActiveEntity()\r\n        if set_:\r\n            return sIS.getImplants(set_.ID)\r\n        return []\r\n\r\n    def addImplantToContext(self, item):\r\n        sIS = ImplantSets.getInstance()\r\n        set_ = self.Parent.entityEditor.getActiveEntity()\r\n\r\n        sIS.addImplants(set_.ID, item.ID)\r\n\r\n    def removeImplantFromContext(self, implant):\r\n        sIS = ImplantSets.getInstance()\r\n        set_ = self.Parent.entityEditor.getActiveEntity()\r\n\r\n        sIS.removeImplant(set_.ID, implant)\r\n\r\n\r\nclass ImplantSetEditor(AuxiliaryFrame):\r\n\r\n    def __init__(self, parent, dataToAdd=None):\r\n        super().__init__(\r\n            parent, id=wx.ID_ANY, title=_t(\"Implant Set Editor\"), resizeable=True,\r\n            size=wx.Size(950, 500) if \"wxGTK\" in wx.PlatformInfo else wx.Size(850, 420))\r\n\r\n        self.block = False\r\n        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.entityEditor = ImplantSetEntityEditor(self)\r\n        mainSizer.Add(self.entityEditor, 0, wx.ALL | wx.EXPAND, 2)\r\n\r\n        self.sl = wx.StaticLine(self)\r\n        mainSizer.Add(self.sl, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        self.iview = ImplantSetEditorView(self)\r\n        mainSizer.Add(self.iview, 1, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.slfooter = wx.StaticLine(self)\r\n        mainSizer.Add(self.slfooter, 0, wx.EXPAND | wx.TOP, 5)\r\n\r\n        footerSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.stNotice = wx.StaticText(self, wx.ID_ANY, \"\")\r\n        self.stNotice.Wrap(-1)\r\n        footerSizer.Add(self.stNotice, 1, wx.BOTTOM | wx.TOP | wx.LEFT, 5)\r\n\r\n        importExport = ((_t(\"Import implant sets from clipboard\"), wx.ART_FILE_OPEN, \"Import\"),\r\n                        (_t(\"Export implant sets to clipboard\"), wx.ART_FILE_SAVE_AS, \"Export\"))\r\n\r\n        for tooltip, art, attr in importExport:\r\n            bitmap = wx.ArtProvider.GetBitmap(art, wx.ART_BUTTON)\r\n            btn = wx.BitmapButton(self, wx.ID_ANY, bitmap)\r\n\r\n            btn.SetMinSize(btn.GetSize())\r\n            btn.SetMaxSize(btn.GetSize())\r\n\r\n            btn.Layout()\r\n            setattr(self, attr, btn)\r\n            btn.Enable(True)\r\n            btn.SetToolTip(tooltip)\r\n            footerSizer.Add(btn, 0)\r\n\r\n        mainSizer.Add(footerSizer, 0, wx.ALL | wx.EXPAND, 5)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.Layout()\r\n\r\n        if dataToAdd:\r\n            name, implants = dataToAdd\r\n            newSet = self.entityEditor.DoNew(name)\r\n            ImplantSets.getInstance().addImplants(newSet.ID, *[i.item.ID for i in implants])\r\n            self.entityEditor.refreshEntityList(newSet)\r\n            wx.PostEvent(self.entityEditor.entityChoices, wx.CommandEvent(wx.wxEVT_COMMAND_CHOICE_SELECTED))\r\n        elif not self.entityEditor.checkEntitiesExist():\r\n            self.Close()\r\n            return\r\n\r\n        self.Bind(wx.EVT_CHOICE, self.entityChanged)\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n\r\n        self.Import.Bind(wx.EVT_BUTTON, self.importPatterns)\r\n        self.Export.Bind(wx.EVT_BUTTON, self.exportPatterns)\r\n\r\n        self.SetMinSize(self.GetSize())\r\n        self.CenterOnParent()\r\n\r\n    def entityChanged(self, event):\r\n        if not self.entityEditor.checkEntitiesExist():\r\n            self.Close()\r\n            return\r\n\r\n    def kbEvent(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.Close()\r\n            return\r\n        event.Skip()\r\n\r\n    def __del__(self):\r\n        pass\r\n\r\n    def importPatterns(self, event):\r\n        \"\"\"Event fired when import from clipboard button is clicked\"\"\"\r\n\r\n        text = fromClipboard()\r\n        if text:\r\n            sIS = ImplantSets.getInstance()\r\n            try:\r\n                sIS.importSets(text)\r\n                self.stNotice.SetLabel(_t(\"Patterns successfully imported from clipboard\"))\r\n            except ImportError as e:\r\n                pyfalog.error(e)\r\n                self.stNotice.SetLabel(str(e))\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                pyfalog.error(e)\r\n                self.stNotice.SetLabel(_t(\"Could not import from clipboard: unknown errors\"))\r\n            finally:\r\n                self.entityEditor.refreshEntityList()\r\n        else:\r\n            self.stNotice.SetLabel(_t(\"Could not import from clipboard\"))\r\n\r\n    def exportPatterns(self, event):\r\n        \"\"\"Event fired when export to clipboard button is clicked\"\"\"\r\n\r\n        sIS = ImplantSets.getInstance()\r\n        toClipboard(sIS.exportSets())\r\n        self.stNotice.SetLabel(_t(\"Sets exported to clipboard\"))\r\n"
  },
  {
    "path": "gui/shipBrowser.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.builtinShipBrowser.categoryItem import CategoryItem\r\nfrom gui.builtinShipBrowser.fitItem import FitItem\r\nfrom gui.builtinShipBrowser.shipItem import ShipItem\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\n\r\nfrom gui.builtinShipBrowser.events import EVT_SB_IMPORT_SEL, EVT_SB_STAGE1_SEL, EVT_SB_STAGE2_SEL, EVT_SB_STAGE3_SEL, EVT_SB_SEARCH_SEL\r\nfrom gui.builtinShipBrowser.pfWidgetContainer import PFWidgetsContainer\r\nfrom gui.builtinShipBrowser.navigationPanel import NavigationPanel\r\nfrom gui.builtinShipBrowser.raceSelector import RaceSelector\r\nfrom gui.builtinShipBrowser.pfStaticText import PFStaticText\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass ShipBrowser(wx.Panel):\r\n    def __init__(self, parent):\r\n        wx.Panel.__init__(self, parent, style=0)\r\n\r\n        self._lastWidth = 0\r\n        self._activeStage = 1\r\n        self._lastStage = 0\r\n        self.browseHist = []\r\n        self.lastStage = (0, 0)\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n        self.categoryList = []\r\n        self.categoryFitCache = {}\r\n\r\n        self._stage1Data = -1\r\n        self._stage2Data = -1\r\n        self._stage3Data = -1\r\n        self._stage3ShipName = \"\"\r\n        self.fitIDMustEditName = -1\r\n        self.filterShipsWithNoFits = False\r\n        self.recentFits = False\r\n\r\n        self.racesFilter = {}\r\n\r\n        self.showRacesFilterInStage2Only = True\r\n\r\n        for race in self.RACE_ORDER:\r\n            if race:\r\n                self.racesFilter[race] = False\r\n\r\n        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.navpanel = NavigationPanel(self)\r\n        mainSizer.Add(self.navpanel, 0, wx.EXPAND)\r\n\r\n        self.lpane = PFWidgetsContainer(self)\r\n        layout = wx.HORIZONTAL\r\n\r\n        self.raceselect = RaceSelector(self, layout=layout, animate=False)\r\n        container = wx.BoxSizer(wx.VERTICAL if layout == wx.HORIZONTAL else wx.HORIZONTAL)\r\n\r\n        if layout == wx.HORIZONTAL:\r\n            container.Add(self.lpane, 1, wx.EXPAND)\r\n            container.Add(self.raceselect, 0, wx.EXPAND)\r\n        else:\r\n            container.Add(self.raceselect, 0, wx.EXPAND)\r\n            container.Add(self.lpane, 1, wx.EXPAND)\r\n\r\n        mainSizer.Add(container, 1, wx.EXPAND)\r\n        self.SetSizer(mainSizer)\r\n        self.Layout()\r\n        self.Show()\r\n\r\n        self.Bind(wx.EVT_SIZE, self.SizeRefreshList)\r\n        self.Bind(EVT_SB_STAGE2_SEL, self.stage2)\r\n        self.Bind(EVT_SB_STAGE1_SEL, self.stage1)\r\n        self.Bind(EVT_SB_STAGE3_SEL, self.stage3)\r\n        self.Bind(EVT_SB_SEARCH_SEL, self.searchStage)\r\n        self.Bind(EVT_SB_IMPORT_SEL, self.importStage)\r\n\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.RefreshList)\r\n\r\n        self.stage1(None)\r\n\r\n    def GetBrowserContainer(self):\r\n        return self.lpane\r\n\r\n    def RefreshContent(self):\r\n        stage = self.GetActiveStage()\r\n        if stage == 1:\r\n            return\r\n        stageData = self.GetStageData(stage)\r\n        self.navpanel.gotoStage(stage, stageData)\r\n\r\n    def RefreshList(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n\r\n        stage = self.GetActiveStage()\r\n        if stage in (3, 4, 5):\r\n            self.lpane.RefreshList(True)\r\n\r\n    def SizeRefreshList(self, event):\r\n        self.Layout()\r\n        self.lpane.Layout()\r\n        self.lpane.RefreshList(True)\r\n        event.Skip()\r\n\r\n    def __del__(self):\r\n        pass\r\n\r\n    def GetActiveStage(self):\r\n        return self._activeStage\r\n\r\n    def GetLastStage(self):\r\n        return self._lastStage\r\n\r\n    def GetStageData(self, stage):\r\n        if stage == 1:\r\n            return self._stage1Data\r\n        if stage == 2:\r\n            return self._stage2Data\r\n        if stage == 3:\r\n            return self._stage3Data\r\n        if stage == 4:\r\n            return self.navpanel.lastSearch\r\n        return -1\r\n\r\n    def GetStage3ShipName(self):\r\n        return self._stage3ShipName\r\n\r\n    def ToggleRacesFilter(self, race):\r\n        if self.racesFilter[race]:\r\n            self.racesFilter[race] = False\r\n        else:\r\n            self.racesFilter[race] = True\r\n\r\n    def GetRaceFilterState(self, race):\r\n        return self.racesFilter[race]\r\n\r\n    def stage1(self, event):\r\n        self.navpanel.ToggleRecentShips(False, False)\r\n        self._lastStage = self._activeStage\r\n        self._activeStage = 1\r\n        self.lastdata = 0\r\n        self.browseHist = [(1, 0)]\r\n\r\n        self.navpanel.ShowNewFitButton(False)\r\n        self.navpanel.ShowSwitchEmptyGroupsButton(False)\r\n\r\n        sMkt = Market.getInstance()\r\n        sFit = Fit.getInstance()\r\n        self.lpane.ShowLoading(False)\r\n\r\n        self.lpane.Freeze()\r\n        self.lpane.RemoveAllChildren()\r\n\r\n        pyfalog.debug(\"Populate ship category list.\")\r\n        if len(self.categoryList) == 0:\r\n            # set cache of category list\r\n            self.categoryList = list(sMkt.getShipRoot())\r\n            self.categoryList.sort(key=lambda _ship: _ship.displayName)\r\n\r\n            counts = sFit.countAllFitsGroupedByShip()\r\n\r\n            # set map & cache of fittings per category\r\n            for cat in self.categoryList:\r\n                itemIDs = [x.ID for x in sMkt.getItemsByGroup(cat)]\r\n                self.categoryFitCache[cat.ID] = sum([count for shipID, count in counts if shipID in itemIDs]) > 0\r\n        for ship in self.categoryList:\r\n            if self.filterShipsWithNoFits and not self.categoryFitCache[ship.ID]:\r\n                continue\r\n            else:\r\n                self.lpane.AddWidget(CategoryItem(self.lpane, ship.ID, (ship.displayName, 0)))\r\n\r\n        self.navpanel.ShowSwitchEmptyGroupsButton(True)\r\n\r\n        self.lpane.RefreshList()\r\n        self.lpane.Thaw()\r\n        self.raceselect.RebuildRaces(self.RACE_ORDER)\r\n        if self.showRacesFilterInStage2Only:\r\n            self.raceselect.Show(False)\r\n            self.Layout()\r\n\r\n    RACE_ORDER = [\r\n        \"amarr\", \"caldari\", \"gallente\", \"minmatar\",\r\n        \"sisters\", \"ore\", \"concord\",\r\n        \"serpentis\", \"angel\", \"blood\", \"sansha\", \"guristas\", \"mordu\",\r\n        \"deathless\", \"jove\", \"triglavian\", \"upwell\", None\r\n    ]\r\n\r\n    def raceNameKey(self, ship):\r\n        return self.RACE_ORDER.index(ship.race), ship.name\r\n\r\n    def stage2Callback(self, data):\r\n        if self.GetActiveStage() != 2:\r\n            return\r\n        self.navpanel.ToggleRecentShips(False, False)\r\n\r\n        categoryID = self._stage2Data\r\n        ships = list(data[1])\r\n        sFit = Fit.getInstance()\r\n\r\n        ships.sort(key=self.raceNameKey)\r\n        racesList = []\r\n        subRacesFilter = {}\r\n        t_fits = 0  # total number of fits in this category\r\n\r\n        for ship in ships:\r\n            if ship.race:\r\n                if ship.race not in racesList:\r\n                    racesList.append(ship.race)\r\n\r\n        for race, state in self.racesFilter.items():\r\n            if race in racesList:\r\n                subRacesFilter[race] = self.racesFilter[race]\r\n\r\n        override = True\r\n        for race, state in subRacesFilter.items():\r\n            if state:\r\n                override = False\r\n                break\r\n\r\n        for ship in ships:\r\n            fits = sFit.countFitsWithShip(ship.ID)\r\n            t_fits += fits\r\n            filter_ = subRacesFilter[ship.race] if ship.race else True\r\n            if override:\r\n                filter_ = True\r\n\r\n            shipTrait = ship.traits.display if (ship.traits is not None) else \"\"  # empty string if no traits\r\n\r\n            if self.filterShipsWithNoFits:\r\n                if fits > 0:\r\n                    if filter_:\r\n                        self.lpane.AddWidget(ShipItem(self.lpane, ship.ID, (ship.name, shipTrait, fits), ship.race, ship.graphicID))\r\n            else:\r\n                if filter_:\r\n                    self.lpane.AddWidget(ShipItem(self.lpane, ship.ID, (ship.name, shipTrait, fits), ship.race, ship.graphicID))\r\n\r\n        self.raceselect.RebuildRaces(racesList)\r\n\r\n        # refresh category cache\r\n        if t_fits == 0:\r\n            self.categoryFitCache[categoryID] = False\r\n        else:\r\n            self.categoryFitCache[categoryID] = True\r\n\r\n        self.lpane.ShowLoading(False)\r\n\r\n        self.lpane.RefreshList()\r\n\r\n        if self.showRacesFilterInStage2Only:\r\n            self.raceselect.Show(True)\r\n            self.Layout()\r\n\r\n    def stage2(self, event):\r\n        # back = event.back\r\n        # if not back:\r\n        #    self.browseHist.append( (1,0) )\r\n\r\n        self._lastStage = self._activeStage\r\n        self._activeStage = 2\r\n        categoryID = event.categoryID\r\n        self.lastdata = categoryID\r\n\r\n        self.lpane.ShowLoading()\r\n\r\n        self.lpane.RemoveAllChildren()\r\n\r\n        sMkt = Market.getInstance()\r\n        sMkt.getShipListDelayed(categoryID, self.stage2Callback)\r\n\r\n        self._stage2Data = categoryID\r\n\r\n        self.navpanel.ShowNewFitButton(False)\r\n        self.navpanel.ShowSwitchEmptyGroupsButton(True)\r\n\r\n    @staticmethod\r\n    def nameKey(info):\r\n        return info[1]\r\n\r\n    def stage3(self, event):\r\n        self.navpanel.ToggleRecentShips(False, False)\r\n        self.lpane.ShowLoading(False)\r\n\r\n        # If back is False, do not append to history. This could be us calling\r\n        # the stage from previous history, creating / copying fit, etc.\r\n        # We also have to use conditional for search stage since it's last data\r\n        # is kept elsewhere\r\n        if getattr(event, \"back\", False):\r\n            if self._activeStage == 4 and self.navpanel.lastSearch != \"\":\r\n                self.browseHist.append((4, self.navpanel.lastSearch))\r\n            else:\r\n                self.browseHist.append((self._activeStage, self.lastdata))\r\n\r\n        shipID = event.shipID\r\n        self.lastdata = shipID\r\n        self._lastStage = self._activeStage\r\n        self._activeStage = 3\r\n\r\n        sFit = Fit.getInstance()\r\n        sMkt = Market.getInstance()\r\n\r\n        ship = sMkt.getItem(shipID)\r\n        categoryID = ship.group.ID\r\n\r\n        self.lpane.Freeze()\r\n        self.lpane.RemoveAllChildren()\r\n        fitList = sFit.getFitsWithShip(shipID)\r\n\r\n        if len(fitList) == 0:\r\n            stage, data = self.browseHist.pop()\r\n            self.lpane.Thaw()\r\n            self.navpanel.gotoStage(stage, data)\r\n            return\r\n\r\n        self.categoryFitCache[categoryID] = True\r\n\r\n        self.navpanel.ShowNewFitButton(True)\r\n        self.navpanel.ShowSwitchEmptyGroupsButton(False)\r\n\r\n        if self.showRacesFilterInStage2Only:\r\n            self.raceselect.Show(False)\r\n            self.Layout()\r\n\r\n        fitList.sort(key=self.nameKey)\r\n        shipName = ship.name\r\n\r\n        self._stage3ShipName = shipName\r\n        self._stage3Data = shipID\r\n\r\n        shipTrait = ship.traits.display if (ship.traits is not None) else \"\"  # empty string if no traits\r\n\r\n        for ID, name, booster, timestamp, notes, graphicID in fitList:\r\n            self.lpane.AddWidget(FitItem(self.lpane, ID, (shipName, shipTrait, name, booster, timestamp, notes), shipID, graphicID=graphicID))\r\n\r\n        self.lpane.RefreshList()\r\n        self.lpane.Thaw()\r\n        self.raceselect.RebuildRaces(self.RACE_ORDER)\r\n\r\n    def searchStage(self, event):\r\n\r\n        self.lpane.ShowLoading(False)\r\n\r\n        self.navpanel.ShowNewFitButton(False)\r\n        self.navpanel.ShowSwitchEmptyGroupsButton(False)\r\n\r\n        if not event.back:\r\n            if self._activeStage != 4:\r\n                if len(self.browseHist) > 0:\r\n                    self.browseHist.append((self._activeStage, self.lastdata))\r\n                else:\r\n                    self.browseHist.append((1, 0))\r\n            self._lastStage = self._activeStage\r\n            self._activeStage = 4\r\n\r\n        sMkt = Market.getInstance()\r\n        sFit = Fit.getInstance()\r\n        query = event.text\r\n\r\n        self.lpane.Freeze()\r\n\r\n        self.lpane.RemoveAllChildren()\r\n        if query:\r\n            ships = sMkt.searchShips(query)\r\n            fitList = sFit.searchFits(query)\r\n\r\n            for ship in ships:\r\n                shipTrait = ship.traits.display if (ship.traits is not None) else \"\"  # empty string if no traits\r\n\r\n                self.lpane.AddWidget(\r\n                    ShipItem(self.lpane, ship.ID, (ship.name, shipTrait, len(sFit.getFitsWithShip(ship.ID))),\r\n                             ship.race, ship.graphicID))\r\n\r\n            for ID, name, shipID, shipName, booster, timestamp, notes in fitList:\r\n                ship = sMkt.getItem(shipID)\r\n\r\n                if not sMkt.getPublicityByItem(ship):\r\n                    continue\r\n\r\n                shipTrait = ship.traits.display if (ship.traits is not None) else \"\"  # empty string if no traits\r\n\r\n                self.lpane.AddWidget(FitItem(self.lpane, ID, (shipName, shipTrait, name, booster, timestamp, notes), shipID, graphicID=ship.graphicID))\r\n            if len(ships) == 0 and len(fitList) == 0:\r\n                self.lpane.AddWidget(PFStaticText(self.lpane, label=\"No matching results.\"))\r\n            self.lpane.RefreshList(doFocus=False)\r\n        self.lpane.Thaw()\r\n\r\n        self.raceselect.RebuildRaces(self.RACE_ORDER)\r\n\r\n        if self.showRacesFilterInStage2Only:\r\n            self.raceselect.Show(False)\r\n            self.Layout()\r\n\r\n    def importStage(self, event):\r\n        \"\"\"\r\n        The import stage handles both displaying fits after importing as well as displaying recent fits. todo: need to\r\n        reconcile these two better into a more uniform function, right now hacked together to get working\r\n        \"\"\"\r\n        self.lpane.ShowLoading(False)\r\n\r\n        self.navpanel.ShowNewFitButton(False)\r\n        self.navpanel.ShowSwitchEmptyGroupsButton(False)\r\n\r\n        if getattr(event, \"back\", False):\r\n            self.browseHist.append((self._activeStage, self.lastdata))\r\n\r\n        self._lastStage = self._activeStage\r\n        self._activeStage = 5\r\n\r\n        fits = event.fits\r\n\r\n        self.lastdata = fits\r\n        self.lpane.Freeze()\r\n        self.lpane.RemoveAllChildren()\r\n\r\n        if fits:\r\n            for fit in fits:\r\n                shipItem = fit[3]\r\n                shipTrait = shipItem.traits.display if (shipItem.traits is not None) else \"\"\r\n\r\n                self.lpane.AddWidget(FitItem(\r\n                    self.lpane,\r\n                    fit[0],\r\n                    (\r\n                        shipItem.name,\r\n                        shipTrait,\r\n                        fit[1],\r\n                        False,\r\n                        fit[2],\r\n                        fit[4]\r\n                    ),\r\n                    shipItem.ID,\r\n                    graphicID=shipItem.graphicID\r\n                ))\r\n            self.lpane.RefreshList(doFocus=False)\r\n        self.lpane.Thaw()\r\n\r\n        self.raceselect.RebuildRaces(self.RACE_ORDER)\r\n\r\n        if self.showRacesFilterInStage2Only:\r\n            self.raceselect.Show(False)\r\n            self.Layout()\r\n"
  },
  {
    "path": "gui/ssoLogin.py",
    "content": "import wx\r\nimport gui.mainFrame\r\nimport webbrowser\r\nimport gui.globalEvents as GE\r\nimport config\r\nimport time\r\n\r\nfrom service.settings import EsiSettings\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass SsoLogin(wx.Dialog):\r\n\r\n    def __init__(self, server: config.ApiServer, start_local_server=True):\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        from service.esi import Esi\r\n        super().__init__(\r\n                self.mainFrame, id=wx.ID_ANY, title=_t(\"SSO Login\"), style=wx.DEFAULT_DIALOG_STYLE,\r\n                size=wx.Size(450, 240) if \"wxGTK\" in wx.PlatformInfo else wx.Size(400, 240))\r\n\r\n        bSizer1 = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        if start_local_server:\r\n            text = wx.StaticText(self, wx.ID_ANY, _t(\"Waiting for character login through EVE Single Sign-On.\"))\r\n            bSizer1.Add(text, 0, wx.ALL | wx.EXPAND, 10)\r\n            bSizer1.Add(wx.StaticLine(self, wx.ID_ANY), 0, wx.EXPAND, 15)\r\n            text = wx.StaticText(self, wx.ID_ANY, _t(\"If auto-login fails, copy and paste the token provided by pyfa.io\"))\r\n            bSizer1.Add(text, 0, wx.ALL | wx.EXPAND, 10)\r\n        elif server.name == \"Serenity\":\r\n            text = wx.StaticText(self, wx.ID_ANY, _t(\"Please copy and paste the url when your authorization is completed\"))\r\n            bSizer1.Add(text, 0, wx.ALL | wx.EXPAND, 10)\r\n\r\n        else:\r\n            text = wx.StaticText(self, wx.ID_ANY, _t(\"Please copy and paste the token provided by pyfa.io\"))\r\n            bSizer1.Add(text, 0, wx.ALL | wx.EXPAND, 10)\r\n\r\n        self.ssoInfoCtrl = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, (-1, -1), style=wx.TE_MULTILINE)\r\n        self.ssoInfoCtrl.SetFont(wx.Font(8, wx.FONTFAMILY_TELETYPE, wx.NORMAL, wx.NORMAL))\r\n        self.ssoInfoCtrl.Layout()\r\n        self.ssoInfoCtrl.Bind(wx.EVT_TEXT, self.OnTextEnter)\r\n\r\n        bSizer1.Add(self.ssoInfoCtrl, 1, wx.LEFT | wx.RIGHT | wx.EXPAND, 10)\r\n\r\n        self.Esisettings = EsiSettings.getInstance()\r\n\r\n        bSizer3 = wx.BoxSizer(wx.VERTICAL)\r\n        bSizer3.Add(wx.StaticLine(self, wx.ID_ANY), 0, wx.BOTTOM | wx.EXPAND, 10)\r\n\r\n        bSizer3.Add(self.CreateStdDialogButtonSizer(wx.OK | wx.CANCEL), 0, wx.EXPAND)\r\n        bSizer1.Add(bSizer3, 0, wx.ALL | wx.EXPAND, 10)\r\n\r\n        self.SetSizer(bSizer1)\r\n        self.Center()\r\n        self.sEsi = Esi.getInstance()\r\n\r\n        serverAddr = self.sEsi.startServer(0) if start_local_server else None\r\n        uri = self.sEsi.get_login_uri(serverAddr)\r\n\r\n        if server.name == \"Serenity\":\r\n            webbrowser.open(config.SSO_LOGOFF_SERENITY)\r\n            time.sleep(1)\r\n\r\n        self.okBtn = self.FindWindow(wx.ID_OK)\r\n        self.okBtn.Enable(False)\r\n        # Ensure we clean up once they hit the \"OK\" button\r\n        self.okBtn.Bind(wx.EVT_BUTTON, self.OnDestroy)\r\n\r\n        webbrowser.open(uri)\r\n\r\n        self.mainFrame.Bind(GE.EVT_SSO_LOGIN, self.OnLogin)\r\n        # Ensure we clean up if ESC is pressed\r\n        self.Bind(wx.EVT_WINDOW_DESTROY, self.OnDestroy)\r\n\r\n    def OnTextEnter(self, event):\r\n        t = event.String.strip()\r\n        if t == \"\":\r\n            self.okBtn.Enable(False)\r\n        else:\r\n            self.okBtn.Enable(True)\r\n        event.Skip()\r\n\r\n    def OnLogin(self, event):\r\n        # This would normally happen if it was logged in via server auto-login. In this case, the modal is done, we effectively want to cancel out\r\n        self.EndModal(wx.ID_CANCEL)\r\n        event.Skip()\r\n\r\n    def OnDestroy(self, event):\r\n        # Clean up by unbinding some events and stopping the server\r\n        self.mainFrame.Unbind(GE.EVT_SSO_LOGIN, handler=self.OnLogin)\r\n        if self:\r\n            self.Unbind(wx.EVT_WINDOW_DESTROY, handler=self.OnDestroy)\r\n        self.sEsi.stopServer()\r\n        event.Skip()\r\n"
  },
  {
    "path": "gui/statsPane.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nfrom service.fit import Fit\r\nfrom service.settings import StatViewSettings\r\nimport gui.mainFrame\r\nimport gui.builtinStatsViews\r\nimport gui.globalEvents as GE\r\n# import gui.builtinViews.fittingView as fv\r\nfrom gui.statsView import StatsView\r\nfrom gui.contextMenu import ContextMenu\r\nfrom gui.toggle_panel import TogglePanel\r\nfrom logbook import Logger\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass StatsPane(wx.Panel):\r\n    AVAILIBLE_VIEWS = [\r\n        \"resources\",\r\n        \"resistances\",\r\n        \"recharge\",\r\n        \"firepower\",\r\n        \"outgoing\",\r\n        \"capacitor\",\r\n        \"targetingMisc\",\r\n        \"bombing\",\r\n        \"price\",\r\n    ]\r\n\r\n    # Don't have these....yet....\r\n    '''\r\n    \"miningyield\", \"drones\"\r\n    ]\r\n    '''\r\n\r\n    DEFAULT_VIEWS = []\r\n\r\n    settings = StatViewSettings.getInstance()\r\n\r\n    for aView in AVAILIBLE_VIEWS:\r\n        if settings.get(aView) == 2:\r\n            DEFAULT_VIEWS.extend([\"%sViewFull\" % aView])\r\n            pyfalog.debug(\"Setting full view for: {0}\", aView)\r\n        elif settings.get(aView) == 1:\r\n            DEFAULT_VIEWS.extend([\"%sViewMinimal\" % aView])\r\n            pyfalog.debug(\"Setting minimal view for: {0}\", aView)\r\n        elif settings.get(aView) == 0:\r\n            pyfalog.debug(\"Setting disabled view for: {0}\", aView)\r\n        else:\r\n            pyfalog.error(\"Unknown setting for view: {0}\", aView)\r\n\r\n    def fitChanged(self, event):\r\n        event.Skip()\r\n        activeFitID = self.mainFrame.getActiveFit()\r\n        if activeFitID is not None and activeFitID not in event.fitIDs:\r\n            return\r\n        sFit = Fit.getInstance()\r\n        fit = sFit.getFit(activeFitID)\r\n        for view in self.views:\r\n            view.refreshPanel(fit)\r\n\r\n    def __init__(self, parent):\r\n        wx.Panel.__init__(self, parent)\r\n\r\n        # Use 25% smaller fonts if MAC or force font size to 8 for msw/linux\r\n\r\n        if \"__WXMAC__\" in wx.PlatformInfo:\r\n            self.SetWindowVariant(wx.WINDOW_VARIANT_SMALL)\r\n        else:\r\n            standardFont = wx.SystemSettings.GetFont(wx.SYS_DEFAULT_GUI_FONT)\r\n            standardFont.SetPointSize(8)\r\n            self.SetFont(standardFont)\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.SetSizer(mainSizer)\r\n\r\n        self.views = []\r\n        self.nameViewMap = {}\r\n        maxviews = len(self.DEFAULT_VIEWS)\r\n        i = 0\r\n        for viewName in self.DEFAULT_VIEWS:\r\n            tp = TogglePanel(self)\r\n            contentPanel = tp.GetContentPanel()\r\n            contentPanel.viewName = viewName\r\n\r\n            try:\r\n                view = StatsView.getView(viewName)(self)\r\n                pyfalog.debug(\"Load view: {0}\", viewName)\r\n            except KeyError:\r\n                pyfalog.error(\"Attempted to load an invalid view: {0}\", viewName)\r\n\r\n            self.nameViewMap[viewName] = view\r\n            self.views.append(view)\r\n\r\n            headerPanel = tp.GetHeaderPanel()\r\n\r\n            view.populatePanel(contentPanel, headerPanel)\r\n            tp.SetLabel(view.getHeaderText(None))\r\n            view.refreshPanel(None)\r\n\r\n            contentPanel.Bind(wx.EVT_CONTEXT_MENU, self.contextHandler(contentPanel, tp))\r\n\r\n            mainSizer.Add(tp, 0, wx.EXPAND | wx.LEFT, 3)\r\n            if i < maxviews - 1:\r\n                mainSizer.Add(wx.StaticLine(self, wx.ID_ANY, style=wx.HORIZONTAL), 0,\r\n                              wx.EXPAND | wx.TOP | wx.LEFT | wx.RIGHT, 2)\r\n            i += 1\r\n            tp.OnStateChange(tp.GetBestSize())\r\n\r\n        width, height = self.GetSize()\r\n        self.SetMinSize((width + 9, -1))\r\n\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)\r\n\r\n    def contextHandler(self, contentPanel, tp):\r\n        viewName = contentPanel.viewName\r\n\r\n        def handler(event):\r\n            menu = ContextMenu.getMenu(self, None, None, (viewName,))\r\n\r\n            if menu is not None:\r\n                contentPanel.PopupMenu(menu)\r\n\r\n            event.Skip()\r\n\r\n        if ContextMenu.hasMenu(self, None, None, (viewName,)):\r\n            sizer = tp.GetHeaderContentSizer()\r\n            sizer.AddStretchSpacer()\r\n            # Add menu\r\n            header_menu = wx.StaticText(tp.GetHeaderPanel(), wx.ID_ANY, \"\\u2630\", size=wx.Size((10, -1)))\r\n            sizer.Add(header_menu , 0, wx.EXPAND | wx.RIGHT, 5)\r\n\r\n            header_menu.Bind(wx.EVT_CONTEXT_MENU, handler)\r\n            header_menu.Bind(wx.EVT_LEFT_UP, handler)\r\n\r\n        return handler\r\n"
  },
  {
    "path": "gui/statsView.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nclass StatsView:\r\n    views = {}\r\n\r\n    def __init__(self):\r\n        pass\r\n\r\n    @classmethod\r\n    def register(cls):\r\n        StatsView.views[cls.name] = cls\r\n\r\n    @classmethod\r\n    def getView(cls, name):\r\n        return cls.views[name]\r\n\r\n    def populatePanel(self, panel):\r\n        raise NotImplementedError()\r\n\r\n    def getHeaderText(self, fit):\r\n        raise NotImplementedError()\r\n\r\n    def refreshPanel(self, fit):\r\n        raise NotImplementedError()\r\n\r\n\r\n# noinspection PyUnresolvedReferences\r\nfrom gui.builtinStatsViews import (  # noqa: E402, F401\r\n    resourcesViewFull,\r\n    resistancesViewFull,\r\n    firepowerViewFull,\r\n    miningyieldViewFull,\r\n    capacitorViewFull,\r\n    rechargeViewFull,\r\n    targetingMiscViewMinimal,\r\n    bombingViewFull,\r\n    priceViewFull,\r\n    priceViewMinimal,\r\n    outgoingViewFull,\r\n    outgoingViewMinimal,\r\n)\r\n"
  },
  {
    "path": "gui/targetProfileEditor.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.    See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.    If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\nfrom collections import OrderedDict\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport gui.globalEvents as GE\r\nimport gui.mainFrame\r\nfrom gui.auxWindow import AuxiliaryFrame\r\nfrom gui.bitmap_loader import BitmapLoader\r\nfrom gui.builtinViews.entityEditor import BaseValidator, EntityEditor\r\nfrom gui.utils.clipboard import fromClipboard, toClipboard\r\nfrom gui.utils.inputs import FloatBox, InputValidator, strToFloat\r\nfrom service.fit import Fit\r\nfrom service.targetProfile import TargetProfile\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n_t = wx.GetTranslation\r\n\r\nclass ResistValidator(InputValidator):\r\n\r\n    def _validateWithReason(self, value):\r\n        if not value:\r\n            return True, ''\r\n        value = strToFloat(value)\r\n        if value is None:\r\n            return False, _t('Incorrect formatting (decimals only)')\r\n        if value < 0 or value > 100:\r\n            return False, _t('Incorrect range (must be 0-100)')\r\n        return True, ''\r\n\r\n\r\nclass TargetProfileNameValidator(BaseValidator):\r\n\r\n    def __init__(self):\r\n        BaseValidator.__init__(self)\r\n\r\n    def Clone(self):\r\n        return TargetProfileNameValidator()\r\n\r\n    def Validate(self, win):\r\n        entityEditor = win.Parent.parent\r\n        textCtrl = self.GetWindow()\r\n        text = textCtrl.GetValue().strip()\r\n\r\n        try:\r\n            if len(text) == 0:\r\n                raise ValueError(_t(\"You must supply a name for your Target Profile!\"))\r\n            elif text in [x.rawName for x in entityEditor.choices]:\r\n                raise ValueError(_t(\"Target Profile name already in use, please choose another.\"))\r\n\r\n            return True\r\n        except ValueError as e:\r\n            pyfalog.error(e)\r\n            wx.MessageBox(\"{}\".format(e), _t(\"Error\"))\r\n            textCtrl.SetFocus()\r\n            return False\r\n\r\n\r\nclass TargetProfileEntityEditor(EntityEditor):\r\n\r\n    def __init__(self, parent):\r\n        EntityEditor.__init__(self, parent=parent, entityName=_t(\"Target Profile\"))\r\n        self.SetEditorValidator(TargetProfileNameValidator)\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def getEntitiesFromContext(self):\r\n        sTR = TargetProfile.getInstance()\r\n        choices = sorted(sTR.getUserTargetProfileList(), key=lambda p: p.rawName)\r\n        return choices\r\n\r\n    def DoNew(self, name):\r\n        sTR = TargetProfile.getInstance()\r\n        return sTR.newPattern(name)\r\n\r\n    def DoRename(self, entity, name):\r\n        sTR = TargetProfile.getInstance()\r\n        sTR.renamePattern(entity, name)\r\n        wx.PostEvent(self.mainFrame, GE.TargetProfileChanged(profileID=entity.ID))\r\n\r\n    def DoCopy(self, entity, name):\r\n        sTR = TargetProfile.getInstance()\r\n        copy = sTR.copyPattern(entity)\r\n        sTR.renamePattern(copy, name)\r\n        return copy\r\n\r\n    def DoDelete(self, entity):\r\n        sTR = TargetProfile.getInstance()\r\n        sTR.deletePattern(entity)\r\n        wx.PostEvent(self.mainFrame, GE.TargetProfileRemoved(profileID=entity.ID))\r\n\r\n\r\nclass TargetProfileEditor(AuxiliaryFrame):\r\n\r\n    DAMAGE_TYPES = OrderedDict([\r\n        (\"em\", _t(\"EM resistance\")),\r\n        (\"thermal\", _t(\"Thermal resistance\")),\r\n        (\"kinetic\", _t(\"Kinetic resistance\")),\r\n        (\"explosive\", _t(\"Explosive resistance\"))])\r\n    ATTRIBUTES = OrderedDict([\r\n        ('maxVelocity', (_t('Maximum speed'), 'm/s')),\r\n        ('signatureRadius', (_t('Signature radius\\nLeave blank for infinitely big value'), 'm')),\r\n        ('radius', (_t('Radius\\nThe radius of the sphere that represents a ship/drone in space. Affects range calculations.'), 'm')),\r\n        ('hp', (_t('Total HP\\nAffects how much damage breacher pods can do. Leave blank for infinitely big value'), 'hp'))])\r\n\r\n    def __init__(self, parent):\r\n        super().__init__(\r\n            parent, id=wx.ID_ANY, title=_t(\"Target Profile Editor\"), resizeable=True,\r\n            # Dropdown list widget is scaled to its longest content line on GTK, adapt to that\r\n            size=wx.Size(630, 240) if \"wxGTK\" in wx.PlatformInfo else wx.Size(450, 240))\r\n\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n        self.block = False\r\n        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.entityEditor = TargetProfileEntityEditor(parent=self)\r\n        mainSizer.Add(self.entityEditor, 0, wx.ALL | wx.EXPAND, 2)\r\n\r\n        self.sl = wx.StaticLine(self)\r\n        mainSizer.Add(self.sl, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)\r\n\r\n        contentSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        resistEditSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        resistEditSizer.AddStretchSpacer()\r\n\r\n        defSize = wx.Size(70, -1)\r\n\r\n        for type_ in self.DAMAGE_TYPES:\r\n            leftPad = 25 if type_ != list(self.DAMAGE_TYPES)[0] else 0\r\n            ttText = self.DAMAGE_TYPES[type_]\r\n            bmp = wx.StaticBitmap(self, wx.ID_ANY, BitmapLoader.getBitmap(\"%s_big\" % type_, \"gui\"))\r\n            bmp.SetToolTip(wx.ToolTip(ttText))\r\n            resistEditSizer.Add(bmp, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, leftPad)\r\n            # set text edit\r\n            editBox = FloatBox(parent=self, id=wx.ID_ANY, value=None, pos=wx.DefaultPosition, size=defSize)\r\n            editBox.SetToolTip(wx.ToolTip(ttText))\r\n            self.Bind(event=wx.EVT_TEXT, handler=self.OnFieldChanged, source=editBox)\r\n            setattr(self, '{}Edit'.format(type_), editBox)\r\n            resistEditSizer.Add(editBox, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n            unit = wx.StaticText(self, wx.ID_ANY, \"%\", wx.DefaultPosition, wx.DefaultSize, 0)\r\n            unit.SetToolTip(wx.ToolTip(ttText))\r\n            resistEditSizer.Add(unit, 0, wx.BOTTOM | wx.TOP | wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n        resistEditSizer.AddStretchSpacer()\r\n        contentSizer.Add(resistEditSizer, 1, wx.EXPAND | wx.ALL, 5)\r\n\r\n        miscAttrSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        miscAttrSizer.AddStretchSpacer()\r\n\r\n        for attr in self.ATTRIBUTES:\r\n            leftPad = 25 if attr != list(self.ATTRIBUTES)[0] else 0\r\n            ttText, unitText = self.ATTRIBUTES[attr]\r\n            bmp = wx.StaticBitmap(self, wx.ID_ANY, BitmapLoader.getBitmap(\"%s_big\" % attr, \"gui\"))\r\n            bmp.SetToolTip(wx.ToolTip(ttText))\r\n            miscAttrSizer.Add(bmp, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, leftPad)\r\n            # set text edit\r\n            editBox = FloatBox(parent=self, id=wx.ID_ANY, value=None, pos=wx.DefaultPosition, size=defSize)\r\n            editBox.SetToolTip(wx.ToolTip(ttText))\r\n            self.Bind(event=wx.EVT_TEXT, handler=self.OnFieldChanged, source=editBox)\r\n            setattr(self, '{}Edit'.format(attr), editBox)\r\n            miscAttrSizer.Add(editBox, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5)\r\n            unit = wx.StaticText(self, wx.ID_ANY, unitText, wx.DefaultPosition, wx.DefaultSize, 0)\r\n            unit.SetToolTip(wx.ToolTip(ttText))\r\n            miscAttrSizer.Add(unit, 0, wx.BOTTOM | wx.TOP | wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n        miscAttrSizer.AddStretchSpacer()\r\n        contentSizer.Add(miscAttrSizer, 1, wx.EXPAND | wx.ALL, 5)\r\n\r\n        self.slfooter = wx.StaticLine(self)\r\n        contentSizer.Add(self.slfooter, 0, wx.EXPAND | wx.TOP, 5)\r\n\r\n        footerSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        perSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        self.stNotice = wx.StaticText(self, wx.ID_ANY, \"\")\r\n        self.stNotice.Wrap(-1)\r\n        perSizer.Add(self.stNotice, 0, wx.BOTTOM | wx.TOP | wx.LEFT, 5)\r\n\r\n        footerSizer.Add(perSizer, 1, wx.ALIGN_CENTER_VERTICAL, 5)\r\n\r\n        self.totSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        contentSizer.Add(footerSizer, 0, wx.EXPAND, 5)\r\n\r\n        mainSizer.Add(contentSizer, 1, wx.EXPAND, 0)\r\n\r\n        self.SetSizer(mainSizer)\r\n\r\n        importExport = ((_t(\"Import profiles from clipboard\"), wx.ART_FILE_OPEN, \"import\"),\r\n                        (_t(\"Export profiles to clipboard\"), wx.ART_FILE_SAVE_AS, \"export\"))\r\n\r\n        for tooltip, art, attr in importExport:\r\n            bitmap = wx.ArtProvider.GetBitmap(art, wx.ART_BUTTON)\r\n            btn = wx.BitmapButton(self, wx.ID_ANY, bitmap)\r\n\r\n            btn.SetMinSize(btn.GetSize())\r\n            btn.SetMaxSize(btn.GetSize())\r\n\r\n            btn.Layout()\r\n            setattr(self, attr, btn)\r\n            btn.Enable(True)\r\n            btn.SetToolTip(tooltip)\r\n            footerSizer.Add(btn, 0)\r\n            btn.Bind(wx.EVT_BUTTON, getattr(self, \"{}Patterns\".format(attr)))\r\n\r\n        if not self.entityEditor.checkEntitiesExist():\r\n            self.Close()\r\n            return\r\n\r\n        self.Layout()\r\n        bsize = self.GetBestSize()\r\n        self.SetSize((-1, bsize.height))\r\n        self.SetMinSize(self.GetSize())\r\n        self.CenterOnParent()\r\n\r\n        self.Bind(wx.EVT_CHOICE, self.patternChanged)\r\n        self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)\r\n\r\n        self.inputTimer = wx.Timer(self)\r\n        self.Bind(wx.EVT_TIMER, self.OnInputTimer, self.inputTimer)\r\n\r\n        self.patternChanged()\r\n\r\n    @classmethod\r\n    def openOne(cls, parent, selected=None):\r\n        super().openOne(parent)\r\n        if selected is not None:\r\n            cls._instance.selectTargetProfile(selected)\r\n\r\n    def OnFieldChanged(self, event=None):\r\n        if event is not None:\r\n            event.Skip()\r\n        self.inputTimer.Stop()\r\n        self.inputTimer.Start(Fit.getInstance().serviceFittingOptions['marketSearchDelay'], True)\r\n\r\n    def OnInputTimer(self, event):\r\n        event.Skip()\r\n        if self.block:\r\n            return\r\n        if self.validateFields():\r\n            p = self.entityEditor.getActiveEntity()\r\n            TargetProfile.getInstance().saveChanges(p)\r\n            wx.PostEvent(self.mainFrame, GE.TargetProfileChanged(profileID=p.ID))\r\n\r\n    def validateFields(self):\r\n        valid = True\r\n        try:\r\n            p = self.entityEditor.getActiveEntity()\r\n\r\n            for type_ in self.DAMAGE_TYPES:\r\n                editBox = getattr(self, \"%sEdit\" % type_)\r\n                # Raise exception if value is not valid\r\n                if not editBox.isValid():\r\n                    reason = editBox.getInvalidationReason()\r\n                    raise ValueError(reason)\r\n\r\n                value = editBox.GetValueFloat() or 0\r\n                setattr(p, \"%sAmount\" % type_, value / 100)\r\n\r\n            for attr in self.ATTRIBUTES:\r\n                editBox = getattr(self, \"%sEdit\" % attr)\r\n                # Raise exception if value is not valid\r\n                if not editBox.isValid():\r\n                    reason = editBox.getInvalidationReason()\r\n                    raise ValueError(reason)\r\n\r\n                value = editBox.GetValueFloat()\r\n                setattr(p, attr, value)\r\n\r\n            self.stNotice.SetLabel(\"\")\r\n            self.totSizer.Layout()\r\n\r\n        except ValueError as e:\r\n            self.stNotice.SetLabel(e.args[0])\r\n            valid = False\r\n        finally:  # Refresh for color changes to take effect immediately\r\n            self.Refresh()\r\n        return valid\r\n\r\n    def patternChanged(self, event=None):\r\n        \"\"\"Event fired when user selects pattern. Can also be called from script\"\"\"\r\n\r\n        if not self.entityEditor.checkEntitiesExist():\r\n            self.Close()\r\n            return\r\n\r\n        p = self.entityEditor.getActiveEntity()\r\n        if p is None:\r\n            return\r\n\r\n        self.block = True\r\n        # Set new values\r\n        for field in self.DAMAGE_TYPES:\r\n            edit = getattr(self, \"%sEdit\" % field)\r\n            amount = getattr(p, \"%sAmount\" % field) * 100\r\n            edit.ChangeValueFloat(amount)\r\n\r\n        for attr in self.ATTRIBUTES:\r\n            edit = getattr(self, \"%sEdit\" % attr)\r\n            amount = getattr(p, attr)\r\n            if amount == math.inf:\r\n                edit.ChangeValueFloat(None)\r\n            else:\r\n                edit.ChangeValueFloat(amount)\r\n\r\n        self.block = False\r\n        self.validateFields()\r\n\r\n    def __del__(self):\r\n        pass\r\n\r\n    def importPatterns(self, event):\r\n        \"\"\"Event fired when import from clipboard button is clicked\"\"\"\r\n\r\n        text = fromClipboard()\r\n        if text:\r\n            sTR = TargetProfile.getInstance()\r\n            try:\r\n                sTR.importPatterns(text)\r\n                self.stNotice.SetLabel(_t(\"Profiles successfully imported from clipboard\"))\r\n            except ImportError as e:\r\n                pyfalog.error(e)\r\n                self.stNotice.SetLabel(str(e))\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                msg = _t(\"Could not import from clipboard:\")\r\n                pyfalog.warning(msg)\r\n                pyfalog.error(e)\r\n                self.stNotice.SetLabel(msg)\r\n            finally:\r\n                self.entityEditor.refreshEntityList()\r\n        else:\r\n            self.stNotice.SetLabel(_t(\"Could not import from clipboard\"))\r\n\r\n    def exportPatterns(self, event):\r\n        \"\"\"Event fired when export to clipboard button is clicked\"\"\"\r\n        sTR = TargetProfile.getInstance()\r\n        toClipboard(sTR.exportPatterns())\r\n        self.stNotice.SetLabel(_t(\"Profiles exported to clipboard\"))\r\n\r\n    def kbEvent(self, event):\r\n        if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE:\r\n            self.Close()\r\n            return\r\n        event.Skip()\r\n\r\n    def processChanges(self):\r\n        changedFitIDs = Fit.getInstance().processTargetProfileChange()\r\n        if changedFitIDs:\r\n            wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=changedFitIDs))\r\n\r\n    def selectTargetProfile(self, profile):\r\n        self.entityEditor.setActiveEntity(profile)\r\n        self.patternChanged()\r\n"
  },
  {
    "path": "gui/toggle_panel.py",
    "content": "# ===============================================================================\r\n# TogglePanel is based on PyCollapsiblePane - includes a few improvements\r\n# such as adding items to header, lack of button implementation (\"GTK\r\n# expander\" style is implemented with plain text with unicode arrows rather\r\n# than drawn geometry), etc.\r\n#\r\n# When adding TogglePanel to sizer, it is important to ensure the following:\r\n#     sizer is vertical\r\n#     set proportion = 0\r\n#\r\n# ToDo: Create animations for collapsing / expanding\r\n#\r\n# ===============================================================================\r\n\r\nimport wx\r\n\r\n\r\nclass TogglePanel(wx.Panel):\r\n    def __init__(self, parent, force_layout=False, *args, **kargs):\r\n        super().__init__(parent, *args, **kargs)\r\n\r\n        self._toggled = True\r\n        self.parent = parent\r\n        self.force_layout = force_layout\r\n\r\n        # Create the main sizer of this panel\r\n        self.main_sizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.SetSizer(self.main_sizer)\r\n\r\n        # Create the header panel, set sizer, and add to main sizer\r\n        self.header_panel = wx.Panel(self)\r\n        header_sizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        self.header_panel.SetSizer(header_sizer)\r\n\r\n        self.main_sizer.Add(self.header_panel, 0, wx.EXPAND | wx.TOP |\r\n                            wx.BOTTOM | wx.RIGHT, 1)\r\n\r\n        # Add arrow\r\n        self.header_arrow = wx.StaticText(self.header_panel, wx.ID_ANY,\r\n                                          \"\\u25bc\", size=wx.Size((10, -1)))\r\n        header_sizer.Add(self.header_arrow, 0, wx.RIGHT, 5)\r\n\r\n        # Add header text\r\n        self.header_label = wx.StaticText(self.header_panel, wx.ID_ANY, \"\")\r\n        font = parent.GetFont()\r\n        font.SetWeight(wx.BOLD)\r\n        self.header_label.SetFont(font)\r\n        header_sizer.Add(self.header_label, 0, wx.RIGHT, 5)\r\n\r\n        # Add a sizer for additional header items if we need it\r\n        self.hcontent_sizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        header_sizer.Add(self.hcontent_sizer, 1, wx.RIGHT, 5)\r\n\r\n        # Create the content panel, set sizer, and add to main sizer\r\n        self.content_panel = wx.Panel(self)\r\n        self.content_sizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.content_panel.SetSizer(self.content_sizer)\r\n\r\n        self.main_sizer.Add(self.content_panel, 0, wx.EXPAND | wx.RIGHT |\r\n                            wx.LEFT, 5)\r\n\r\n        self.Layout()\r\n\r\n        # Connect Events\r\n        self.header_label.Bind(wx.EVT_LEFT_UP, self.ToggleContent)\r\n        self.header_arrow.Bind(wx.EVT_LEFT_UP, self.ToggleContent)\r\n        self.header_panel.Bind(wx.EVT_LEFT_UP, self.ToggleContent)\r\n\r\n    def __del__(self):\r\n        pass\r\n\r\n    def AddToggleItem(self, item):\r\n        item.Bind(wx.EVT_LEFT_UP, self.ToggleContent)\r\n\r\n    def GetHeaderContentSizer(self):\r\n        return self.hcontent_sizer\r\n\r\n    def GetHeaderPanel(self):\r\n        return self.header_panel\r\n\r\n    def InsertItemInHeader(self, item):\r\n        self.hcontent_sizer.Add(item, 0, 0, 0)\r\n        self.AddToggleItem(item)\r\n        self.Layout()\r\n\r\n    def AddSizer(self, sizer):\r\n        self.content_sizer.Add(sizer, 0, wx.EXPAND | wx.ALL, 0)\r\n        self.Layout()\r\n\r\n    def GetContentPanel(self):\r\n        return self.content_panel\r\n\r\n    def SetLabel(self, label):\r\n        self.header_label.SetLabel(label)\r\n\r\n    def IsCollapsed(self):\r\n        return not self._toggled\r\n\r\n    def IsExpanded(self):\r\n        return self._toggled\r\n\r\n    def OnStateChange(self, sz):\r\n        self.SetSize(sz)\r\n\r\n        self.parent.GetSizer().SetSizeHints(self.parent)\r\n\r\n        if not self._toggled:\r\n            if self.parent.GetSizer():\r\n                # we have just set the size hints...\r\n                sz = self.parent.GetSizer().CalcMin()\r\n\r\n                # use SetClientSize() and not SetSize() otherwise the size for\r\n                # e.g. a wxFrame with a menubar wouldn't be correctly set\r\n                self.parent.SetClientSize(sz)\r\n            else:\r\n                self.parent.Layout()\r\n        else:\r\n            # force our parent to \"fit\", i.e. expand so that it can honor\r\n            # our minimal size\r\n            self.parent.Fit()\r\n\r\n    def ToggleContent(self, event):\r\n        # self.Freeze()\r\n\r\n        if self._toggled:\r\n            # If we are expanded, save previous size and collapse by setting\r\n            # content height to 0\r\n            self.content_min_size = self.content_panel.GetSize()\r\n            self.content_panel.SetMinSize((self.content_min_size[0], 0))\r\n            self.header_arrow.SetLabel(\"\\u25b6\")\r\n        else:\r\n            # If we are collapsed, set content size to previously saved value\r\n            self.content_panel.SetMinSize(self.content_min_size)\r\n            self.header_arrow.SetLabel(\"\\u25bc\")\r\n\r\n        self._toggled = not self._toggled\r\n\r\n        # self.Thaw()\r\n\r\n        if self.force_layout:\r\n            self.parent.Layout()\r\n        else:\r\n            self.OnStateChange(self.GetBestSize())\r\n"
  },
  {
    "path": "gui/updateDialog.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n# noinspection PyPackageRequirements\r\nimport dateutil.parser\r\nfrom service.settings import UpdateSettings as svc_UpdateSettings\r\nimport wx.html2\r\nimport webbrowser\r\nimport re\r\nimport markdown2\r\n\r\n_t = wx.GetTranslation\r\n\r\n# HTML template. We link to a bootstrap cdn for quick and easy css, and include some additional teaks.\r\nhtml_tmpl = \"\"\"\r\n<link href='https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css' rel='stylesheet' />\r\n<style>\r\nbody {{ padding: 10px; font-size:0.87em }}\r\np , li {{ text-align: justify; }}\r\nh2 {{ text-align: center; margin: 0; }}\r\n.date {{ text-align: right; }}\r\nhr {{ border: #000 1px solid; }}\r\n</style>\r\n<h2>pyfa {0}</h2>\r\n<div class=\"date\"><small>{1}</small></div>\r\n<hr>\r\n{2}\r\n{3}\r\n\"\"\"\r\n\r\n\r\nclass UpdateDialog(wx.Dialog):\r\n\r\n    def __init__(self, parent, release, version):\r\n        super().__init__(\r\n            parent, id=wx.ID_ANY, title=\"pyfa {}\" + _t(\"Update Available\"), pos=wx.DefaultPosition,\r\n            size=wx.Size(550, 450), style=wx.DEFAULT_DIALOG_STYLE)\r\n\r\n        self.UpdateSettings = svc_UpdateSettings.getInstance()\r\n        self.releaseInfo = release\r\n        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)\r\n\r\n        mainSizer = wx.BoxSizer(wx.VERTICAL)\r\n\r\n        releaseDate = dateutil.parser.parse(self.releaseInfo['published_at'])\r\n        notesSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n        self.browser = wx.html2.WebView.New(self)\r\n        self.browser.Bind(wx.html2.EVT_WEBVIEW_NEWWINDOW, self.OnNewWindow)\r\n\r\n        link_patterns = [\r\n            (re.compile(r\"#(\\d+)\", re.I), r\"https://github.com/pyfa-org/Pyfa/issues/\\1\"),\r\n            (re.compile(r\"@(\\w+)\", re.I), r\"https://github.com/\\1\")\r\n        ]\r\n\r\n        markdowner = markdown2.Markdown(\r\n            extras=['cuddled-lists', 'fenced-code-blocks', 'target-blank-links', 'toc', 'link-patterns'],\r\n            link_patterns=link_patterns)\r\n\r\n        release_markup = markdowner.convert(self.releaseInfo['body'])\r\n\r\n        # run the text through markup again, this time with the hashing pattern. This is required due to bugs in markdown2:\r\n        # https://github.com/trentm/python-markdown2/issues/287\r\n        link_patterns = [\r\n            (re.compile(\"([0-9a-f]{6,40})\", re.I), r\"https://github.com/pyfa-org/Pyfa/commit/\\1\"),\r\n        ]\r\n\r\n        markdowner = markdown2.Markdown(\r\n            extras=['cuddled-lists', 'fenced-code-blocks', 'target-blank-links', 'toc', 'link-patterns'],\r\n            link_patterns=link_patterns)\r\n\r\n        # The space here is required, again, due to bug. Again, see https://github.com/trentm/python-markdown2/issues/287\r\n        release_markup = markdowner.convert(' ' + release_markup)\r\n\r\n        self.browser.SetPage(html_tmpl.format(\r\n            self.releaseInfo['tag_name'],\r\n            releaseDate.strftime('%B %d, %Y'),\r\n            \"<p class='text-danger'><b>This is a pre-release, be prepared for unstable features</b></p>\" if version.is_prerelease else \"\",\r\n            release_markup\r\n        ), \"\")\r\n\r\n        notesSizer.Add(self.browser, 1, wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, 5)\r\n        mainSizer.Add(notesSizer, 1, wx.EXPAND, 5)\r\n\r\n        self.supressCheckbox = wx.CheckBox(self, wx.ID_ANY, _t(\"Don't remind me again for this release\"),\r\n                                           wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.supressCheckbox.Bind(wx.EVT_CHECKBOX, self.SuppressChange)\r\n\r\n        mainSizer.Add(self.supressCheckbox, 0, wx.ALL, 5)\r\n        mainSizer.Add(wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL), 0,\r\n                      wx.EXPAND | wx.ALL, 5)\r\n\r\n        actionSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        goSizer = wx.BoxSizer(wx.VERTICAL)\r\n        self.downloadButton = wx.Button(self, wx.ID_ANY, _t(\"Download\"), wx.DefaultPosition, wx.DefaultSize, 0)\r\n        self.downloadButton.Bind(wx.EVT_BUTTON, self.OnDownload)\r\n        goSizer.Add(self.downloadButton, 0, wx.ALL, 5)\r\n        actionSizer.Add(goSizer, 1, wx.EXPAND, 5)\r\n\r\n        self.closeButton = wx.Button(self, wx.ID_CLOSE)\r\n        self.closeButton.Bind(wx.EVT_BUTTON, self.OnClose)\r\n        actionSizer.Add(self.closeButton, 0, wx.ALL, 5)\r\n        mainSizer.Add(actionSizer, 0, wx.EXPAND, 5)\r\n\r\n        self.SetSizer(mainSizer)\r\n        self.Layout()\r\n\r\n        # Handle use-case of suppressing a release, then a new version becoming available.\r\n        # If that new version is not suppressed, the old version will remain in the preferences and\r\n        # may cause confusion. If this dialog box is popping up for any reason, that mean we can\r\n        # safely reset this setting\r\n        self.UpdateSettings.set('version', None)\r\n\r\n        self.Centre(wx.BOTH)\r\n\r\n    def OnClose(self, e):\r\n        self.Close()\r\n\r\n    def OnNewWindow(self, event):\r\n        url = event.GetURL()\r\n        webbrowser.open(url)\r\n\r\n    def SuppressChange(self, e):\r\n        if self.supressCheckbox.IsChecked():\r\n            self.UpdateSettings.set('version', self.releaseInfo['tag_name'])\r\n        else:\r\n            self.UpdateSettings.set('version', None)\r\n\r\n    def OnDownload(self, e):\r\n        wx.LaunchDefaultBrowser('https://github.com/pyfa-org/Pyfa/releases/tag/' + self.releaseInfo['tag_name'])\r\n        self.OnClose(e)\r\n"
  },
  {
    "path": "gui/utils/__init__.py",
    "content": ""
  },
  {
    "path": "gui/utils/anim.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\nimport gui.utils.color as colorUtils\r\n\r\n\r\nclass LoadAnimation(wx.Window):\r\n    def __init__(self, parent, id=wx.ID_ANY, label=\"\", pos=wx.DefaultPosition, size=wx.DefaultSize, style=0):\r\n        wx.Window.__init__(self, parent, id, pos=pos, size=size, style=style)\r\n\r\n        self.label = label\r\n\r\n        self.animTimerId = wx.NewId()\r\n        self.animTimer = wx.Timer(self, self.animTimerId)\r\n        self.animTimerPeriod = 50\r\n\r\n        self.animCount = 0\r\n        self.animDir = 1\r\n        self.bars = 10\r\n        self.padding = 2\r\n\r\n        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)\r\n        self.Bind(wx.EVT_TIMER, self.OnTimer)\r\n        self.Bind(wx.EVT_PAINT, self.OnPaint)\r\n\r\n        self.animTimer.Start(self.animTimerPeriod)\r\n\r\n        self.SetBackgroundStyle(wx.BG_STYLE_PAINT)\r\n\r\n    def Play(self):\r\n        if self.animTimer.IsRunning():\r\n            self.animTimer.Stop()\r\n        self.animCount = 0\r\n        self.animTimer.Start(self.animTimerPeriod)\r\n\r\n    def Stop(self):\r\n        if self.animTimer.IsRunning():\r\n            self.animTimer.Stop()\r\n\r\n    def OnTimer(self, event):\r\n        self.animCount += self.animDir\r\n\r\n        if self.animCount >= self.bars:\r\n            self.animCount = self.bars - 1\r\n            self.animDir = -1\r\n\r\n        if self.animCount < 0:\r\n            self.animCount = 0\r\n            self.animDir = 1\r\n\r\n        self.Refresh()\r\n\r\n    def OnEraseBackground(self, event):\r\n        pass\r\n\r\n    def OnPaint(self, event):\r\n        rect = self.GetClientRect()\r\n        dc = wx.AutoBufferedPaintDC(self)\r\n        windowColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)\r\n        dc.SetBackground(wx.Brush(windowColor))\r\n        dc.Clear()\r\n\r\n        barColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT)\r\n        shadeColor = colorUtils.GetSuitable(barColor, 0.75)\r\n\r\n        barWidth = rect.width / self.bars\r\n        barHeight = rect.height - self.padding * 2\r\n\r\n        x = self.padding\r\n\r\n        for bar in range(self.bars):\r\n            if bar != self.animCount:\r\n                dc.SetPen(wx.Pen(shadeColor))\r\n                dc.SetBrush(wx.Brush(shadeColor))\r\n                bh = barHeight\r\n                y = self.padding\r\n            else:\r\n                barColor = colorUtils.GetSuitable(barColor, float(self.animCount / 2) / 10)\r\n                dc.SetPen(wx.Pen(barColor))\r\n                dc.SetBrush(wx.Brush(barColor))\r\n                bh = rect.height\r\n                y = 0\r\n\r\n            dc.DrawRectangle(round(x), round(y), round(barWidth), round(bh))\r\n            x += barWidth\r\n\r\n        textColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT)\r\n        dc.SetTextForeground(textColor)\r\n        dc.DrawLabel(self.label, rect, wx.ALIGN_CENTER)\r\n\r\n\r\nclass WaitDialog(wx.Dialog):\r\n\r\n    def __init__(self, parent, title=\"Processing\"):\r\n        super().__init__(parent, id=wx.ID_ANY, title=title, size=(300, 30), style=wx.NO_BORDER)\r\n        mainSizer = wx.BoxSizer(wx.HORIZONTAL)\r\n\r\n        self.progress = LoadAnimation(self, label=title, size=(300, 30))\r\n        mainSizer.Add(self.progress, 1, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 0)\r\n        self.SetSizer(mainSizer)\r\n        self.Layout()\r\n        self.CenterOnParent()\r\n"
  },
  {
    "path": "gui/utils/anim_effects.py",
    "content": "import math\r\n\r\n\r\ndef OUT_CIRC(t, b, c, d):\r\n    t = float(t)\r\n    b = float(b)\r\n    c = float(c)\r\n    d = float(d)\r\n\r\n    t = t / d - 1\r\n\r\n    return c * math.sqrt(1 - t * t) + b\r\n\r\n\r\ndef OUT_QUART(t, b, c, d):\r\n    t = float(t)\r\n    b = float(b)\r\n    c = float(c)\r\n    d = float(d)\r\n\r\n    t = t / d - 1\r\n\r\n    return -c * (t * t * t * t - 1) + b\r\n\r\n\r\ndef INOUT_CIRC(t, b, c, d):\r\n    t = float(t)\r\n    b = float(b)\r\n    c = float(c)\r\n    d = float(d)\r\n    t1 = t / (d / 2)\r\n\r\n    if (t / (d / 2)) < 1:\r\n        return -c / 2 * (math.sqrt(1 - (t / (d / 2)) ** 2) - 1) + b\r\n    else:\r\n        return c / 2 * (math.sqrt(1 - (t1 - 2) ** 2) + 1) + b\r\n\r\n\r\ndef IN_CUBIC(t, b, c, d):\r\n    t = float(t)\r\n    b = float(b)\r\n    c = float(c)\r\n    d = float(d)\r\n\r\n    t /= d\r\n\r\n    return c * t * t * t + b\r\n\r\n\r\ndef OUT_QUAD(t, b, c, d):\r\n    t = float(t)\r\n    b = float(b)\r\n    c = float(c)\r\n    d = float(d)\r\n\r\n    t /= d\r\n\r\n    return -c * t * (t - 2) + b\r\n\r\n\r\ndef OUT_BOUNCE(t, b, c, d):\r\n    t = float(t)\r\n    b = float(b)\r\n    c = float(c)\r\n    d = float(d)\r\n\r\n    t /= d\r\n\r\n    if t < (1 / 2.75):\r\n        return c * (7.5625 * t * t) + b\r\n    elif t < (2 / 2.75):\r\n        t -= (1.5 / 2.75)\r\n        return c * (7.5625 * t * t + .75) + b\r\n    elif t < (2.5 / 2.75):\r\n        t -= (2.25 / 2.75)\r\n        return c * (7.5625 * t * t + .9375) + b\r\n    else:\r\n        t -= (2.625 / 2.75)\r\n        return c * (7.5625 * t * t + .984375) + b\r\n\r\n\r\ndef INOUT_EXP(t, b, c, d):\r\n    t = float(t)\r\n    b = float(b)\r\n    c = float(c)\r\n    d = float(d)\r\n\r\n    t1 = t / (d / 2)\r\n\r\n    if t == 0:\r\n        return b\r\n    elif t == d:\r\n        return b + c\r\n    elif t1 < 1:\r\n        return c / 2 * math.pow(2, 10 * (t1 - 1)) + b - c * 0.0005\r\n    else:\r\n        return c / 2 * 1.0005 * (-math.pow(2, -10 * (t1 - 1)) + 2) + b\r\n"
  },
  {
    "path": "gui/utils/clipboard.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nlogger = Logger(__name__)\r\n\r\n\r\ndef toClipboard(text):\r\n    \"\"\"\r\n    Copy text to clipboard. Explicitly uses CLIPBOARD selection, not PRIMARY.\r\n\r\n    On X11 systems, wxPython can confuse between PRIMARY and CLIPBOARD selections,\r\n    causing \"already open\" errors. This function ensures we always use CLIPBOARD.\r\n\r\n    See: https://discuss.wxpython.org/t/wx-theclipboard-pasting-different-content-on-every-second-paste/35361\r\n    \"\"\"\r\n    clipboard = wx.TheClipboard\r\n    try:\r\n        # Explicitly use CLIPBOARD selection, not PRIMARY selection\r\n        # This prevents X11 confusion between the two clipboard types\r\n        clipboard.UsePrimarySelection(False)\r\n\r\n        if clipboard.Open():\r\n            try:\r\n                data = wx.TextDataObject(text)\r\n                clipboard.SetData(data)\r\n                return True\r\n            finally:\r\n                clipboard.Close()\r\n        else:\r\n            logger.debug(\"Failed to open clipboard for writing\")\r\n            return False\r\n    except Exception as e:\r\n        logger.warning(\"Error writing to clipboard: {}\", e)\r\n        return False\r\n\r\n\r\ndef fromClipboard():\r\n    \"\"\"\r\n    Read text from clipboard. Explicitly uses CLIPBOARD selection, not PRIMARY.\r\n\r\n    On X11 systems, wxPython can confuse between PRIMARY and CLIPBOARD selections,\r\n    causing \"already open\" errors. This function ensures we always use CLIPBOARD.\r\n\r\n    See: https://discuss.wxpython.org/t/wx-theclipboard-pasting-different-content-on-every-second-paste/35361\r\n    \"\"\"\r\n    clipboard = wx.TheClipboard\r\n    try:\r\n        # Explicitly use CLIPBOARD selection, not PRIMARY selection\r\n        # This prevents X11 confusion between the two clipboard types\r\n        clipboard.UsePrimarySelection(False)\r\n\r\n        if clipboard.Open():\r\n            try:\r\n                data = wx.TextDataObject()\r\n                if clipboard.GetData(data):\r\n                    return data.GetText()\r\n                else:\r\n                    logger.debug(\"Clipboard open but no CLIPBOARD data available\")\r\n                    return None\r\n            finally:\r\n                clipboard.Close()\r\n        else:\r\n            logger.debug(\"Failed to open clipboard for reading\")\r\n            return None\r\n    except Exception as e:\r\n        logger.warning(\"Error reading from clipboard: {}\", e)\r\n        return None\r\n"
  },
  {
    "path": "gui/utils/color.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\n\r\n\r\ndef Brighten(color, factor):\r\n    \"\"\" Brightens a Color using a factor between 0 and 1\"\"\"\r\n    r, g, b, a = color\r\n\r\n    factor = min(max(factor, 0), 1)\r\n\r\n    r += (255 - r) * factor\r\n    b += (255 - b) * factor\r\n    g += (255 - g) * factor\r\n\r\n    return wx.Colour(round(r), round(g), round(b), round(a))\r\n\r\n\r\ndef Darken(color, factor):\r\n    \"\"\" Darkens a Color using a factor between 0 and 1\"\"\"\r\n    r, g, b, a = color\r\n\r\n    factor = min(max(factor, 0), 1)\r\n    factor = 1 - factor\r\n\r\n    r *= factor\r\n    g *= factor\r\n    b *= factor\r\n\r\n    r = min(max(r, 0), 255)\r\n    b = min(max(b, 0), 255)\r\n    g = min(max(g, 0), 255)\r\n\r\n    return wx.Colour(round(r), round(g), round(b), round(a))\r\n\r\n\r\ndef _getBrightness(color):\r\n    \"\"\"\r\n    Calculates brightness of color\r\n    http://stackoverflow.com/a/596243/788054\r\n    \"\"\"\r\n    r, g, b, a = color\r\n    return 0.299 * r + 0.587 * g + 0.114 * b\r\n\r\n\r\ndef GetSuitable(color, factor: [0, 1]):\r\n    \"\"\"\r\n    Calculates a suitable color based on original color (wx.Colour), its\r\n    brightness, and a factor (darken/brighten by factor depending on\r\n    calculated brightness)\r\n    \"\"\"\r\n\r\n    brightness = _getBrightness(color)\r\n\r\n    if brightness > 129:\r\n        return Darken(color, factor)\r\n    else:\r\n        return Brighten(color, factor)\r\n\r\n\r\ndef CalculateTransition(s_color, e_color, delta):\r\n    \"\"\"\r\n    Calculates the color between a given start and end color using a delta\r\n    value between 0 and 1\r\n    \"\"\"\r\n\r\n    sR, sG, sB, sA = s_color\r\n    eR, eG, eB, eA = e_color\r\n\r\n    tR = sR + (eR - sR) * delta\r\n    tG = sG + (eG - sG) * delta\r\n    tB = sB + (eB - sB) * delta\r\n\r\n    return wx.Colour(round(tR), round(tG), round(tB), round((sA + eA) / 2))\r\n"
  },
  {
    "path": "gui/utils/dark.py",
    "content": "import wx\r\n\r\n\r\ndef isDark():\r\n    if 'wxMSW' in wx.PlatformInfo:\r\n        return False\r\n    try:\r\n        return wx.SystemSettings.GetAppearance().IsDark()\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        return False\r\n"
  },
  {
    "path": "gui/utils/draw.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\nfrom . import color\r\n\r\n\r\ndef RenderGradientBar(windowColor, width, height, sFactor, eFactor, mFactor=None , fillRatio=2):\r\n\r\n    if sFactor == 0 and eFactor == 0 and mFactor is None:\r\n        return DrawFilledBitmap(width, height, windowColor)\r\n\r\n    gStart = color.GetSuitable(windowColor, sFactor)\r\n\r\n    if mFactor:\r\n        gMid = color.GetSuitable(windowColor, mFactor)\r\n    else:\r\n        gMid = color.GetSuitable(windowColor, sFactor + (eFactor - sFactor) / 2)\r\n\r\n    gEnd = color.GetSuitable(windowColor, eFactor)\r\n\r\n    return DrawGradientBar(width, height, gStart, gEnd, gMid, fillRatio)\r\n\r\n\r\ndef DrawFilledBitmap(width, height, color):\r\n    canvas = wx.Bitmap(round(width), round(height))\r\n\r\n    mdc = wx.MemoryDC()\r\n    mdc.SelectObject(canvas)\r\n\r\n    mdc.SetBackground(wx.Brush(color))\r\n    mdc.Clear()\r\n\r\n    mdc.SelectObject(wx.NullBitmap)\r\n\r\n    return canvas\r\n\r\n\r\ndef DrawGradientBar(width, height, gStart, gEnd, gMid=None, fillRatio=4):\r\n    if width == 0 or height == 0:\r\n        return None\r\n    canvas = wx.Bitmap(round(width), round(height))\r\n\r\n    mdc = wx.MemoryDC()\r\n    mdc.SelectObject(canvas)\r\n\r\n    r = wx.Rect(0, 0, width, height)\r\n    r.SetHeight(round(height / fillRatio))\r\n\r\n    if gMid is None:\r\n        gMid = gStart\r\n\r\n    mdc.GradientFillLinear(r, gStart, gMid, wx.SOUTH)\r\n    r.SetTop(r.GetHeight())\r\n    r.SetHeight(round(height * (fillRatio - 1) / fillRatio + (1 if height % fillRatio != 0 else 0)))\r\n\r\n    mdc.GradientFillLinear(r, gMid, gEnd, wx.SOUTH)\r\n\r\n    mdc.SelectObject(wx.NullBitmap)\r\n\r\n    return canvas\r\n\r\n\r\ndef GetPartialText(dc, text , maxWidth, defEllipsis=\"...\"):\r\n        ellipsis = defEllipsis\r\n        base_w, h = dc.GetTextExtent(ellipsis)\r\n\r\n        lenText = len(text)\r\n        drawntext = text\r\n        w, dummy = dc.GetTextExtent(text)\r\n\r\n        while lenText > 0:\r\n\r\n            if w + base_w <= maxWidth:\r\n                break\r\n\r\n            w_c, h_c = dc.GetTextExtent(drawntext[-1])\r\n            drawntext = drawntext[0:-1]\r\n            lenText -= 1\r\n            w -= w_c\r\n\r\n        while len(ellipsis) > 0 and w + base_w > maxWidth:\r\n            ellipsis = ellipsis[0:-1]\r\n            base_w, h = dc.GetTextExtent(ellipsis)\r\n        if len(text) > lenText:\r\n            return drawntext + ellipsis\r\n        else:\r\n            return text\r\n\r\n\r\ndef CreateDropShadowBitmap(bitmap, opacity):\r\n    img = bitmap.ConvertToImage()\r\n    img = img.AdjustChannels(0, 0, 0, opacity)\r\n    return wx.Bitmap(img)\r\n"
  },
  {
    "path": "gui/utils/exportHtml.py",
    "content": "import threading\r\nimport time\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom service.const import PortEftOptions\r\nfrom service.settings import HTMLExportSettings\r\nfrom service.fit import Fit\r\nfrom service.port import Port\r\nfrom service.market import Market\r\nfrom logbook import Logger\r\nfrom eos.db import getFit\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass exportHtml:\r\n    _instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = exportHtml()\r\n\r\n        return cls._instance\r\n\r\n    def __init__(self):\r\n        self.thread = exportHtmlThread()\r\n\r\n    def refreshFittingHtml(self, force=False, progress=None):\r\n        settings = HTMLExportSettings.getInstance()\r\n\r\n        if force or settings.getEnabled():\r\n            self.thread.stop()\r\n            self.thread = exportHtmlThread(progress)\r\n            self.thread.start()\r\n\r\n\r\nclass exportHtmlThread(threading.Thread):\r\n    def __init__(self, progress=False):\r\n        threading.Thread.__init__(self)\r\n        self.name = \"HTMLExport\"\r\n        self.progress = progress\r\n        self.stopRunning = False\r\n\r\n    def stop(self):\r\n        self.stopRunning = True\r\n\r\n    def run(self):\r\n        # wait 1 second just in case a lot of modifications get made\r\n        time.sleep(1)\r\n        if self.stopRunning:\r\n            return\r\n\r\n        sMkt = Market.getInstance()\r\n        sFit = Fit.getInstance()\r\n        settings = HTMLExportSettings.getInstance()\r\n\r\n        minimal = settings.getMinimalEnabled()\r\n        dnaUrl = \"https://o.smium.org/loadout/dna/\"\r\n\r\n        if minimal:\r\n            HTML = self.generateMinimalHTML(sMkt, sFit, dnaUrl)\r\n        else:\r\n            HTML = self.generateFullHTML(sMkt, sFit, dnaUrl)\r\n\r\n        try:\r\n            FILE = open(settings.getPath(), \"w\", encoding='utf-8')\r\n            FILE.write(HTML)\r\n            FILE.close()\r\n        except IOError as ex:\r\n            pyfalog.warning(\"Failed to write to \" + settings.getPath())\r\n            pass\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception as e:\r\n            if self.progress:\r\n                self.progress.error = f'{e}'\r\n        finally:\r\n            if self.progress:\r\n                self.progress.current += 1\r\n                self.progress.workerWorking = False\r\n\r\n    def generateFullHTML(self, sMkt, sFit, dnaUrl):\r\n        \"\"\" Generate the complete HTML with styling and javascript \"\"\"\r\n        timestamp = time.localtime(time.time())\r\n        localDate = \"%d/%02d/%02d %02d:%02d\" % (timestamp[0], timestamp[1], timestamp[2], timestamp[3], timestamp[4])\r\n\r\n        HTML = \"\"\"\r\n<!DOCTYPE html>\r\n<html>\r\n  <head>\r\n  <title>Pyfa Fittings</title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n  <meta charset=\"utf-8\" />\r\n  <link rel=\"stylesheet\" href=\"https://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css\" />\r\n  <script src=\"https://code.jquery.com/jquery-1.11.0.min.js\"></script>\r\n  <script>\r\n//http://stackoverflow.com/questions/32453806/uncaught-securityerror-failed-to-execute-replacestate-on-history-cannot-be\r\n    $(document).bind('mobileinit',function(){\r\n        $.mobile.changePage.defaults.changeHash = false;\r\n        $.mobile.hashListeningEnabled = false;\r\n        $.mobile.pushStateEnabled = false;\r\n    });\r\n  </script>\r\n  <script src=\"https://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js\"></script>\r\n  <style>\r\n    /* Basic settings */\r\n    .ui-li-static.ui-collapsible {\r\n        padding: 0;\r\n    }\r\n    .ui-li-static.ui-collapsible > .ui-collapsible-content > .ui-listview,\r\n    .ui-li-static.ui-collapsible > .ui-collapsible-heading {\r\n        margin: 0;\r\n    }\r\n    .ui-li-static.ui-collapsible > .ui-collapsible-content {\r\n        padding-top: 0;\r\n        padding-bottom: 0;\r\n        padding-right: 0;\r\n        border-bottom-width: 0;\r\n    }\r\n    /* collapse vertical borders */\r\n    .ui-li-static.ui-collapsible > .ui-collapsible-content > .ui-listview > li.ui-last-child,\r\n    .ui-li-static.ui-collapsible.ui-collapsible-collapsed > .ui-collapsible-heading > a.ui-btn {\r\n        border-bottom-width: 0;\r\n    }\r\n    .ui-li-static.ui-collapsible > .ui-collapsible-content > .ui-listview > li.ui-first-child,\r\n    .ui-li-static.ui-collapsible > .ui-collapsible-content > .ui-listview > li.ui-first-child > a.ui-btn,\r\n    .ui-li-static.ui-collapsible > .ui-collapsible-heading > a.ui-btn {\r\n        border-top-width: 0;\r\n    }\r\n    /* Remove right borders */\r\n    .ui-li-static.ui-collapsible > .ui-collapsible-heading > a.ui-btn,\r\n    .ui-li-static.ui-collapsible > .ui-collapsible-content > .ui-listview > .ui-li-static,\r\n    .ui-li-static.ui-collapsible > .ui-collapsible-content > .ui-listview > li > a.ui-btn,\r\n    .ui-li-static.ui-collapsible > .ui-collapsible-content {\r\n        border-right-width: 0;\r\n    }\r\n    /* Remove left borders */\r\n    /* Here, we need class ui-listview-outer to identify the outermost listview */\r\n    .ui-listview-outer > .ui-li-static.ui-collapsible .ui-li-static.ui-collapsible.ui-collapsible,\r\n    .ui-listview-outer > .ui-li-static.ui-collapsible > .ui-collapsible-heading > a.ui-btn,\r\n    .ui-li-static.ui-collapsible > .ui-collapsible-content {\r\n        border-left-width: 0;\r\n    }\r\n    .ui-content { max-width: 800px !important; margin: 0 auto !important;  }\r\n    .ui-listview > .ui-li-static.ui-li-has-count { padding-right: 0px }\r\n  </style>\r\n\r\n  <script>\r\n    $(document).ready(function() {\r\n      var start = new Date(%d * 1000);\r\n\r\n      setInterval(function() {\r\n        var diff = (new Date - start) / 1000;\r\n\r\n        var days = Math.floor((diff %% 31536000) / 86400);\r\n        var hours = Math.floor(((diff %% 31536000) %% 86400) / 3600);\r\n        var minutes = Math.floor((((diff %% 31536000) %% 86400) %% 3600) / 60);\r\n        var seconds = Math.floor(((diff %% 31536000) %% 86400) %% 3600) %% 60;\r\n\r\n        $('.timer').text(days+\":\"+hours+\":\"+minutes+\":\"+seconds+\" ago\");\r\n      }, 1000);\r\n\r\n      $('a[data-dna]').each(function( index ) {\r\n        var dna = $(this).data('dna');\r\n        if (typeof CCPEVE !== 'undefined') { // inside IGB\r\n          $(this).attr('href', 'javascript:CCPEVE.showFitting(\"'+dna+'\");');}\r\n        else {                               // outside IGB\r\n          $(this).attr('href', '%s'+dna); }\r\n      });\r\n    });\r\n  </script>\r\n</head>\r\n<body>\r\n<div  id=\"canvas\" data-role=\"page\">\r\n<div style=\"text-align: center;\"><strong>Last updated:</strong> %s <small>(<span class=\"timer\"></span>)</small></div>\r\n  <div data-role=\"header\">\r\n    <h1>Pyfa fits by Group</h1>\r\n  </div>\r\n  <div data-role=\"content\">\r\n\"\"\" % (time.time(), dnaUrl, localDate)\r\n        \r\n        HTML += '  <ul data-role=\"listview\" class=\"ui-listview-outer\" data-inset=\"true\" data-filter=\"true\">\\n'\r\n        categoryList = list(sMkt.getShipRoot())\r\n        categoryList.sort(key=lambda _ship: _ship.name)\r\n\r\n        count = 0\r\n\r\n        for group in categoryList:\r\n            # init market group string to give ships something to attach to\r\n            HTMLgroup = ''\r\n\r\n            ships = list(sMkt.getShipList(group.ID))\r\n            ships.sort(key=lambda _ship: _ship.name)\r\n\r\n            # Keep track of how many ships per group\r\n            groupFits = 0\r\n            for ship in ships:\r\n                fits = sFit.getFitsWithShip(ship.ID)\r\n\r\n                if len(fits) > 0:\r\n                    groupFits += len(fits)\r\n                    HTMLship = (\r\n                        '        <li data-role=\"collapsible\" data-iconpos=\"right\" data-shadow=\"false\" '\r\n                        'data-corners=\"false\">\\n'\r\n                        '        <h2>' + ship.name + ' <span class=\"ui-li-count\">' + str(\r\n                            len(fits)) + '</span></h2>\\n'\r\n                                         '          <ul data-role=\"listview\" data-shadow=\"false\" data-inset=\"true\" '\r\n                                         'data-corners=\"false\">\\n'\r\n                    )\r\n\r\n                    for fit in fits:\r\n                        if self.stopRunning:\r\n                            return\r\n                        try:\r\n                            eftFit = Port.exportEft(getFit(fit[0]), options={\r\n                                PortEftOptions.IMPLANTS: True,\r\n                                PortEftOptions.MUTATIONS: True,\r\n                                PortEftOptions.LOADED_CHARGES: True,\r\n                                PortEftOptions.BOOSTERS: True,\r\n                                PortEftOptions.CARGO: True})\r\n\r\n                            HTMLfit = (\r\n                                    '           <li data-role=\"collapsible\" data-iconpos=\"right\" data-shadow=\"false\" '\r\n                                    'data-corners=\"false\">\\n'\r\n                                    '           <h2>' + fit[1] + '</h2>\\n'\r\n                                    '               <ul data-role=\"listview\" data-shadow=\"false\" data-inset=\"true\" '\r\n                                                                 'data-corners=\"false\">\\n'\r\n                            )\r\n\r\n                            HTMLfit += '                   <li><pre>' + eftFit + '\\n                   </pre></li>\\n'\r\n\r\n                            HTMLfit += '              </ul>\\n          </li>\\n'\r\n                            HTMLship += HTMLfit\r\n                        except (KeyboardInterrupt, SystemExit):\r\n                            raise\r\n                        except:\r\n                            pyfalog.warning(\"Failed to export line\")\r\n                            continue\r\n                        finally:\r\n                            if self.progress:\r\n                                self.progress.current = count\r\n                            count += 1\r\n                    HTMLgroup += HTMLship + ('          </ul>\\n'\r\n                                             '        </li>\\n')\r\n\r\n            if groupFits > 0:\r\n                # Market group header\r\n                HTML += (\r\n                    '    <li data-role=\"collapsible\" data-iconpos=\"right\" data-shadow=\"false\" data-corners=\"false\">\\n'\r\n                    '      <h2>' + group.name + ' <span class=\"ui-li-count\">' + str(groupFits) + '</span></h2>\\n'\r\n                    '      <ul data-role=\"listview\" data-shadow=\"false\" data-inset=\"true\" data-corners=\"false\">\\n' +\r\n                    HTMLgroup +\r\n                    '      </ul>\\n'\r\n                    '    </li>'\r\n                )\r\n\r\n        HTML += \"\"\"\r\n  </ul>\r\n </div>\r\n  <div data-role=\"header\">\r\n    <h1>Pyfa fits by Name</h1>\r\n  </div>\r\n  <div data-role=\"content\">\r\n\"\"\" \r\n        HTML += '  <ul data-role=\"listview\" class=\"ui-listview-outer\" data-inset=\"true\" data-filter=\"true\">\\n'\r\n        categoryList = list(sMkt.getShipRoot())\r\n        categoryList.sort(key=lambda _ship: _ship.name)\r\n\r\n        count = 0\r\n\r\n        for group in categoryList:\r\n            # init market group string to give ships something to attach to\r\n            HTMLgroup = ''\r\n\r\n            ships = list(sMkt.getShipList(group.ID))\r\n            ships.sort(key=lambda _ship: _ship.name)\r\n\r\n            # Keep track of how many ships per group\r\n            groupFits = 0\r\n            for ship in ships:\r\n                fits = sFit.getFitsWithShip(ship.ID)\r\n\r\n                if len(fits) > 0:\r\n                    groupFits += len(fits)\r\n\r\n                    for fit in fits:\r\n                        if self.stopRunning:\r\n                            return\r\n                        try:\r\n                            eftFit = Port.exportEft(getFit(fit[0]), options={\r\n                                PortEftOptions.IMPLANTS: True,\r\n                                PortEftOptions.MUTATIONS: True,\r\n                                PortEftOptions.LOADED_CHARGES: True,\r\n                                PortEftOptions.BOOSTERS: True,\r\n                                PortEftOptions.CARGO: True})\r\n\r\n                            HTMLfit = (\r\n                                    '           <li data-role=\"collapsible\" data-iconpos=\"right\" data-shadow=\"false\" '\r\n                                    'data-corners=\"false\">\\n'\r\n                                    '           <h2>' + ship.name + \" - \" + fit[1] + '</h2>\\n'\r\n                                    '               <ul data-role=\"listview\" data-shadow=\"false\" data-inset=\"true\" '\r\n                                                                 'data-corners=\"false\">\\n'\r\n                            )\r\n\r\n                            HTMLfit += '                   <li><pre>' + eftFit + '\\n                   </pre></li>\\n'\r\n\r\n                            HTMLfit += '              </ul>\\n          </li>\\n'\r\n                            HTML += HTMLfit\r\n                        except (KeyboardInterrupt, SystemExit):\r\n                            raise\r\n                        except:\r\n                            pyfalog.warning(\"Failed to export line\")\r\n                            continue\r\n                        finally:\r\n                            if self.progress:\r\n                                self.progress.current = count\r\n                            count += 1\r\n\r\n        HTML += \"\"\"\r\n  </ul>\r\n </div>\r\n</div>\r\n</body>\r\n</html>\"\"\"\r\n\r\n        return HTML\r\n\r\n    def generateMinimalHTML(self, sMkt, sFit, dnaUrl):\r\n        \"\"\" Generate a minimal HTML version of the fittings, without any javascript or styling\"\"\"\r\n        categoryList = list(sMkt.getShipRoot())\r\n        categoryList.sort(key=lambda _ship: _ship.name)\r\n\r\n        count = 0\r\n        HTML = ''\r\n        for group in categoryList:\r\n            # init market group string to give ships something to attach to\r\n\r\n            ships = list(sMkt.getShipList(group.ID))\r\n            ships.sort(key=lambda _ship: _ship.name)\r\n\r\n            ships.sort(key=lambda _ship: _ship.name)\r\n\r\n            for ship in ships:\r\n                fits = sFit.getFitsWithShip(ship.ID)\r\n                for fit in fits:\r\n                    if self.stopRunning:\r\n                        return\r\n                    try:\r\n                        dnaFit = Port.exportDna(getFit(fit[0]))\r\n                        HTML += '<a class=\"outOfGameBrowserLink\" target=\"_blank\" href=\"' + dnaUrl + dnaFit + '\">' \\\r\n                                + ship.name + ': ' + \\\r\n                                fit[1] + '</a><br> \\n'\r\n                    except (KeyboardInterrupt, SystemExit):\r\n                        raise\r\n                    except:\r\n                        pyfalog.error(\"Failed to export line\")\r\n                        continue\r\n                    finally:\r\n                        if self.progress:\r\n                            self.progress.current = count\r\n                        count += 1\r\n        return HTML\r\n"
  },
  {
    "path": "gui/utils/fonts.py",
    "content": "\"\"\"\r\nFont file to handle the differences in font calculations between\r\ndifferent wxPython versions\r\n\"\"\"\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nif 'wxMac' in wx.PlatformInfo:\r\n    sizes = (10, 11, 12)\r\nelse:\r\n    sizes = (7, 8, 9)\r\n\r\nSMALL, NORMAL, BIG = sizes\r\n"
  },
  {
    "path": "gui/utils/gdi.py",
    "content": "import gc\r\nfrom ctypes import *\r\nfrom collections import defaultdict\r\nimport os\r\ndef gdiReport(desc=''):\r\n    PH = windll.kernel32.OpenProcess(0x400, 0, os.getpid())\r\n    numGdi = windll.user32.GetGuiResources(PH, 0)\r\n    windll.kernel32.CloseHandle(PH)\r\n    print (f'{desc}, {numGdi}')\r\n\r\n\r\nlast = None\r\ndef output_memory():\r\n    global last\r\n    d = defaultdict(int) \r\n    for o in gc.get_objects():\r\n        name = type(o).__name__  \r\n        if name == 'Bitmap':\r\n            del o\r\n        d[name] += 1\r\n\r\n    items = d.items()\r\n    items = sorted(items,key=lambda x:x[1])\r\n    print('------')\r\n    for key, value in items:\r\n        if last is not None:\r\n            if value -last[key] !=0:\r\n                print(f'{key} {value - last[key]}, {value}')\r\n        else:\r\n            print( key, value)\r\n            \r\n    last = d\r\n"
  },
  {
    "path": "gui/utils/helpers_wxPython.py",
    "content": "import wx\r\n\r\n\r\ndef YesNoDialog(question='Are you sure you want to do this?', caption='Yes or no?'):\r\n    with wx.MessageDialog(None, question, caption, wx.YES_NO | wx.ICON_QUESTION) as dlg:\r\n        result = dlg.ShowModal() == wx.ID_YES\r\n    return result\r\n\r\n\r\ndef HandleCtrlBackspace(textControl):\r\n    \"\"\"\r\n    Handles the behavior of Windows ctrl+space\r\n    deletes everything from the cursor to the left,\r\n    up to the next whitespace.\r\n    \"\"\"\r\n    curPos = textControl.GetInsertionPoint()\r\n    searchText = textControl.GetValue()\r\n    foundChar = False\r\n    for startIndex in range(curPos, -1, -1):\r\n        if startIndex - 1 < 0:\r\n            break\r\n        if searchText[startIndex - 1] != \" \":\r\n            foundChar = True\r\n        elif foundChar:\r\n            break\r\n    textControl.Remove(startIndex, curPos)\r\n    textControl.SetInsertionPoint(startIndex)\r\n"
  },
  {
    "path": "gui/utils/inputs.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport re\r\nfrom abc import ABCMeta, abstractmethod\r\n\r\nimport wx\r\n\r\nfrom eos.utils.float import floatUnerr\r\n\r\n\r\ndef valToStr(val):\r\n    if val is None:\r\n        return ''\r\n    val = floatUnerr(val)\r\n    if int(val) == val:\r\n        val = int(val)\r\n    return str(val)\r\n\r\n\r\ndef strToFloat(val):\r\n    try:\r\n        return float(val)\r\n    except ValueError:\r\n        return None\r\n\r\n\r\nclass InputValidator(metaclass=ABCMeta):\r\n\r\n    def validate(self, value):\r\n        return self._validateWithReason(value)[0]\r\n\r\n    def getReason(self, value):\r\n        return self._validateWithReason(value)[1]\r\n\r\n    @abstractmethod\r\n    def _validateWithReason(self, value):\r\n        raise NotImplementedError\r\n\r\n\r\nclass FloatBox(wx.TextCtrl):\r\n\r\n    def __init__(self, parent, value, id=wx.ID_ANY, style=0, validator=None, **kwargs):\r\n        # Workaround for #2591\r\n        if 'wxMac' in wx.PlatformInfo and 'size' not in kwargs:\r\n            kwargs['size'] = wx.Size(97, 26)\r\n        super().__init__(parent=parent, id=id, style=style, **kwargs)\r\n        self.Bind(wx.EVT_TEXT, self.OnText)\r\n        self._storedValue = ''\r\n        self._validator = validator\r\n        self.ChangeValue(valToStr(value))\r\n\r\n    def ChangeValue(self, value):\r\n        self._storedValue = value\r\n        super().ChangeValue(value)\r\n        self.updateColor()\r\n\r\n    def ChangeValueFloat(self, value):\r\n        self.ChangeValue(valToStr(value))\r\n\r\n    def updateColor(self):\r\n        if self.isValid():\r\n            self.SetForegroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT))\r\n        else:\r\n            self.SetForegroundColour(wx.RED)\r\n\r\n    def isValid(self):\r\n        if self._validator is None:\r\n            return True\r\n        return self._validator.validate(self.GetValue())\r\n\r\n    def getInvalidationReason(self):\r\n        if self._validator is None:\r\n            return None\r\n        return self._validator.getReason(self.GetValue())\r\n\r\n    def OnText(self, event):\r\n        currentValue = self.GetValue()\r\n        if currentValue == self._storedValue:\r\n            event.Skip()\r\n            return\r\n        if currentValue == '' or re.match(r'^\\d*\\.?\\d*$', currentValue):\r\n            self._storedValue = currentValue\r\n            self.updateColor()\r\n            event.Skip()\r\n        else:\r\n            self.ChangeValue(self._storedValue)\r\n\r\n    def GetValueFloat(self):\r\n        return strToFloat(self.GetValue())\r\n\r\n\r\nclass FloatRangeBox(wx.TextCtrl):\r\n\r\n    def __init__(self, parent, value, id=wx.ID_ANY, style=0, **kwargs):\r\n        # Workaround for #2591\r\n        if 'wxMac' in wx.PlatformInfo and 'size' not in kwargs:\r\n            kwargs['size'] = wx.Size(97, 26)\r\n        super().__init__(parent=parent, id=id, style=style, **kwargs)\r\n        self.Bind(wx.EVT_TEXT, self.OnText)\r\n        self._storedValue = ''\r\n        value = [v for v in value if v is not None]\r\n        if not value:\r\n            self.ChangeValue('')\r\n        else:\r\n            self.ChangeValue('{}-{}'.format(valToStr(min(value)), valToStr(max(value))))\r\n\r\n    def ChangeValue(self, value):\r\n        self._storedValue = value\r\n        super().ChangeValue(value)\r\n\r\n    def OnText(self, event):\r\n        currentValue = self.GetValue()\r\n        if currentValue == self._storedValue:\r\n            event.Skip()\r\n            return\r\n        if currentValue == '' or re.match(r'^\\d*\\.?\\d*-?\\d*\\.?\\d*$', currentValue):\r\n            self._storedValue = currentValue\r\n            event.Skip()\r\n        else:\r\n            self.ChangeValue(self._storedValue)\r\n\r\n    def GetValueRange(self):\r\n        parts = self.GetValue().split('-')\r\n        if len(parts) == 1:\r\n            val = strToFloat(parts[0])\r\n            return (val, val)\r\n        else:\r\n            return (strToFloat(parts[0]), strToFloat(parts[1]))\r\n"
  },
  {
    "path": "gui/utils/listFormatter.py",
    "content": "def formatList(words):\r\n    \"\"\"Transforms (\"a\", \"b\", \"c\") into \"a, b and c\" string\"\"\"\r\n    if not words:\r\n        return \"\"\r\n    if len(words) == 1:\r\n        return words[0]\r\n    last = words[-1:][0]\r\n    beginning = \", \".join(words[:-1])\r\n    return \"{0} and {1}\".format(beginning, last)\r\n"
  },
  {
    "path": "gui/utils/numberFormatter.py",
    "content": "import math\r\n\r\nfrom eos.utils.round import roundToPrec, roundDec\r\n\r\n\r\ndef formatAmount(val, prec=3, lowest=0, highest=0, currency=False, forceSign=False, unitName=None):\r\n    \"\"\"\r\n    Add suffix to value, transform value to match new suffix and round it.\r\n\r\n    Keyword arguments:\r\n    val -- value to process\r\n    prec -- precision of final number (number of significant positions to show)\r\n    lowest -- lowest order for suffixizing for numbers 0 < |num| < 1\r\n    highest -- highest order for suffixizing for numbers |num| > 1\r\n    currency -- if currency, billion suffix will be B instead of G\r\n    forceSign -- if True, positive numbers are signed too\r\n    unitName -- if specified, will be formatted into a string\r\n    \"\"\"\r\n    if val is None:\r\n        return \"\"\r\n    if val == math.inf:\r\n        return \"\\u221e\" if unitName is None else \"\\u221e {}\".format(unitName)\r\n    # Define suffix maps\r\n    posSuffixMap = {3: \"k\", 6: \"M\", 9: \"B\" if currency is True else \"G\"}\r\n    negSuffixMap = {-6: '\\u03bc', -3: \"m\"}\r\n    # Define tuple of the map keys\r\n    # As we're going to go from the biggest order of abs(key), sort\r\n    # them differently due to one set of values being negative\r\n    # and other positive\r\n    posOrders = tuple(sorted(iter(posSuffixMap.keys()), reverse=True))\r\n    negOrders = tuple(sorted(iter(negSuffixMap.keys()), reverse=False))\r\n    # Find the least abs(key)\r\n    posLowest = min(posOrders)\r\n    negHighest = max(negOrders)\r\n    # By default, mantissa takes just value and no suffix\r\n    mantissa, suffix = val, \"\"\r\n    # Positive suffixes\r\n    if abs(val) > 1 and highest >= posLowest:\r\n        # Start from highest possible suffix\r\n        for key in posOrders:\r\n            # Find first suitable suffix and check if it's not above highest order\r\n            if abs(val) >= 10 ** key and key <= highest:\r\n                mantissa, suffix = val / float(10 ** key), posSuffixMap[key]\r\n                # Do additional step to eliminate results like 999999 => 1000k\r\n                # If we're already using our greatest order, we can't do anything useful\r\n                if posOrders.index(key) == 0:\r\n                    break\r\n                else:\r\n                    # Get order greater than current\r\n                    prevKey = posOrders[posOrders.index(key) - 1]\r\n                    # Check if the key to which we potentially can change is greater\r\n                    # than our highest boundary\r\n                    if prevKey > highest:\r\n                        # If it is, bail - we already have acceptable results\r\n                        break\r\n                    # Find multiplier to get from one order to another\r\n                    orderDiff = 10 ** (prevKey - key)\r\n                    # If rounded mantissa according to our specifications is greater than\r\n                    # or equal to multiplier\r\n                    if roundToPrec(mantissa, prec) >= orderDiff:\r\n                        # Divide mantissa and use suffix of greater order\r\n                        mantissa, suffix = mantissa / orderDiff, posSuffixMap[prevKey]\r\n                    # Otherwise consider current results as acceptable\r\n                    break\r\n    # Take numbers between 0 and 1, and matching/below highest possible negative suffix\r\n    elif abs(val) < 1 and val != 0 and lowest <= negHighest:\r\n        # Start from lowest possible suffix\r\n        for key in negOrders:\r\n            # Get next order\r\n            try:\r\n                nextKey = negOrders[negOrders.index(key) + 1]\r\n            except IndexError:\r\n                nextKey = 0\r\n            # Check if mantissa with next suffix is in range [1, 1000)\r\n            if abs(val) < 10 ** nextKey and key >= lowest:\r\n                mantissa, suffix = val / float(10 ** key), negSuffixMap[key]\r\n                # Do additional step to eliminate results like 0.9999 => 1000m\r\n                # Check if the key we're potentially switching to is greater than our\r\n                # upper boundary\r\n                if nextKey > highest:\r\n                    # If it is, leave loop with results we already have\r\n                    break\r\n                # Find the multiplier between current and next order\r\n                orderDiff = 10 ** (nextKey - key)\r\n                # If rounded mantissa according to our specifications is greater than\r\n                # or equal to multiplier\r\n                if roundToPrec(mantissa, prec) >= orderDiff:\r\n                    # Divide mantissa and use suffix of greater order\r\n                    # Use special handling of zero key as it's not on the map\r\n                    mantissa, suffix = mantissa / orderDiff, posSuffixMap[nextKey] if nextKey != 0 else \"\"\r\n                # Otherwise consider current results as acceptable\r\n                break\r\n    # Round mantissa according to our prec variable\r\n    mantissa = roundToPrec(mantissa, prec)\r\n    sign = \"+\" if forceSign is True and mantissa > 0 else \"\"\r\n    # Round mantissa and add suffix\r\n    if unitName is None:\r\n        result = \"{}{}{}\".format(sign, mantissa, suffix)\r\n    else:\r\n        result = \"{}{} {}{}\".format(sign, mantissa, suffix, unitName)\r\n    return result\r\n"
  },
  {
    "path": "gui/utils/progressHelper.py",
    "content": "class ProgressHelper:\r\n\r\n    def __init__(self, message, maximum=None, callback=None):\r\n        self.message = message\r\n        self.current = 0\r\n        self.maximum = maximum\r\n        self.workerWorking = True\r\n        self.dlgWorking = True\r\n        self.error = None\r\n        self.callback = callback\r\n        self.cbArgs = []\r\n\r\n    @property\r\n    def working(self):\r\n        return self.workerWorking and self.dlgWorking and not self.error\r\n\r\n    @property\r\n    def userCancelled(self):\r\n        return not self.dlgWorking\r\n"
  },
  {
    "path": "gui/utils/sorter.py",
    "content": "\"\"\"\r\nTaken from https://stackoverflow.com/questions/2669059/how-to-sort-alpha-numeric-set-in-python\r\n\"\"\"\r\n\r\nimport re\r\n\r\n\r\ndef _convert(text):\r\n    return int(text) if text.isdigit() else text\r\n\r\n\r\ndef smartSort(key):\r\n    return [_convert(c) for c in re.split('([0-9]+)', key)]\r\n"
  },
  {
    "path": "gui/utils/staticHelpers.py",
    "content": "class DragDropHelper:\r\n    data = None\r\n\r\n    def __init__(self):\r\n        pass\r\n"
  },
  {
    "path": "gui/viewColumn.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\n\r\nclass ViewColumn:\r\n    \"\"\"\r\n    Abstract class that columns can inherit from.\r\n    Once the missing methods are correctly implemented,\r\n    they can be used as columns in a view.\r\n    \"\"\"\r\n    columns = {}\r\n    proportionWidth = 1\r\n\r\n    def __init__(self, fittingView):\r\n        self.fittingView = fittingView\r\n        self.columnText = \"\"\r\n        self.imageId = -1\r\n        self.size = wx.LIST_AUTOSIZE_USEHEADER\r\n        self.mask = 0\r\n        self.maxsize = -1\r\n        self.bitmap = wx.NullBitmap\r\n\r\n    @classmethod\r\n    def register(cls):\r\n        ViewColumn.columns[cls.name] = cls\r\n\r\n    @classmethod\r\n    def getColumn(cls, name):\r\n        return ViewColumn.columns[name]\r\n\r\n    def getRestrictions(self):\r\n        raise NotImplementedError()\r\n\r\n    def getText(self, mod):\r\n        return \"\"\r\n\r\n    def getToolTip(self, mod):\r\n        return None\r\n\r\n    def getImageId(self, mod):\r\n        return -1\r\n\r\n    @staticmethod\r\n    def getParameters():\r\n        return tuple()\r\n\r\n    def delayedText(self, display, colItem):\r\n        raise NotImplementedError()\r\n\r\n\r\n# noinspection PyUnresolvedReferences\r\nfrom gui.builtinViewColumns import (  # noqa: E402, F401\r\n    abilities,\r\n    ammo,\r\n    ammoIcon,\r\n    attributeDisplay,\r\n    attributeDisplayGraph,\r\n    baseIcon,\r\n    baseName,\r\n    capacitorUse,\r\n    dampScanRes,\r\n    droneEhp,\r\n    droneRegen,\r\n    graphColor,\r\n    graphLightness,\r\n    graphLineStyle,\r\n    heat,\r\n    maxRange,\r\n    misc,\r\n    price,\r\n    projectionRange,\r\n    propertyDisplay,\r\n    state,\r\n    sideEffects,\r\n    targetResists)\r\n"
  },
  {
    "path": "locale/README.md",
    "content": "# Pyfa Internationalization (i18n) and Localization (l10n)\n\npyfa provides community-driven translations for a variety of languages. It is important to keep in mind that pyfa translations are not the same as the translations that come from EVE data. These translations are dumped directly from the game, and the pyfa team has no control over them. This includes, but is not limited to:\n\n* Market browser\n* Ship browser\n* Item names, description, traits, attributes\n\nIf there is a translation issue in EVE data, you must submit a ticket to CCP instead.\n\n## Getting Involved \n\nTranslations are done mainly through [Crowdin](https://crowdin.com/project/pyfa). This platform allows translations to be done by anyone without any real need to understand the project's internals. Simply sign up, join the project as a Translator, and start translating!\n\nAs a general rule of thumb, we consider translations community-driven. The pyfa team isn't going to\n\n 1) Maintain individual language packs as a part of general development work, or\n 2) Delay a release if translations aren't available\n\nThis is because the pyfa team is only versed in a few languages, at best, and we do not wish to hold up development in the case of not having translations available.\n\n### Proofreader\n\nBy default, signing up on Crowdin allows you to *suggest* translations. These will still produce a PR on GitHub and can still be included in the project. But, if you wish to adopt a language as a proofreader - someone with the ability to \"approve\" translations to ensure that they are correct and work well in pyfa - then please get in touch with us and we can set your account on Crowdin as a proofreader.\n\n## `gettext`\n\nThe following is more for developers or those that wish to understand better the translation system pyfa uses. If you're looking to simply help us translate, please read the Getting Involved section above.\n\n### How it works\n\nA quick introduction to GNU `gettext` translations! There is no programming knowledge required to help with most of the translations. Each langauge that we support has a `LC_MESSAGES/lang.po` file, and in this file there are multiple groups of `msgid` and `msgstr`. `msgid` is usually the English version that is displayed in pyfa, whereas `msgstr` would be the translated version.\n\n```\nmsgid \"Click to toggle between effective HP and raw HP\"\nmsgstr \"点击切换有效HP和原始HP\"\n```\n\n90% of translations are as simple as that. The other 10% may require you to take a quick dip into the code to tweak the formatting of the string, assign context prefixs (for translations that may translate differently for the same work due to context), or to even add the annotation to the string that will expose it to the translation engine. If you're not comfortable with that, you can always request it!\n\n### POEdit\n\n[Poedit](https://poedit.net/) offers a nice GUI for updating translations.  \n\n#### To update PO file for existing translation\n\n1. open a existing `locale/ll_CC/LC_MESSAGES/lang.po`\n2. *Catalog* -> *Update from POT file*\n3. select pre-prepared `lang.pot` file\n\n#### To translate and generate MO file\n\nedit the translation and hit Save :)\n\n## FAQ\n\nQ: I'm running Linux and getting \"Cannot set locale to language \"English (U.S.)\" when trying to run pyfa.<br />\nA: pyfa will automatically try to use the en_US local as the default unless otgherwise set. This error can happen when your Linux distribution does not have the en_US locale enabled. The fix for thiss may be distro-speecific, but the process for Debian-based distros is as follows:\n\n    1. Edit the file `/etc/locale.gen`, find the line `# en_US.UTF-8 UTF-8`, remove `#` part\n    2. Run `locale-gen` to generate new locale files\n\nPlease note that you may have to perform this operation after updating your distro, as the locales may revert. See https://github.com/pyfa-org/Pyfa/issues/2314 for more info\n\nQ: The English text isn't in the `.pot`/`.po` file for me to translate<br />\nA: This is probably one of two things:\n\n1. Missing annotations in the source code. All text that needs to be translated needs to be wrapped with `_t()` to make it locale-aware\n2. Out of date `.po` file. As pyfa development continues, the `.po` file may fall behind. See next question.\n   \n\nQ: How do I update the `.po` file for my language?<br />\nA: See `Commands` section below for a number of useful commands\n\nQ: I run pyfa in Linux but the translations don't work<br />\nA: If you're running from source / your own method, this is because the `.mo` files aren't checked into the repo and thus aren't available by default. Running `python3 scripts\\compile_lang.py` should compile all language files. If you're running from a package from a third-party repository, YMMV - please contact the maintainer of that package.\n\n## Commands\n\nBelow is a summary of [GNU gettext](https://www.gnu.org/software/gettext/) manual, adapted for Pyfa i18n workflow. \n\nWindows users can get these tools via Git for windows, Msys2 or Cygwin; or just use WSL / WSL2. For Linux and macOS users these tools might be available out-of-box.\n\n### To generate new template for translation:\n\n```console\n$ find * -name \"*.py\" | xgettext --from-code=UTF-8 -o locale/lang.pot -d lang -k_t -k_t:1,2,3t -k_t:1,2c,2t -f - -s\n```\n\nexplanation:\n\n* `find * -name \"*.py\"`: collect all `.py` file path in current folder and all sub-folders, write it to stdout\n    * except those starts with `.`.  E.g.  `.env`, `.idea`, `.venv`.\n    * can also append `-not -path 'path/to/venv/*` to exclude `path/to/venv` recursively.\n    \n* `xgettext` ([doc](https://www.gnu.org/software/gettext/manual/gettext.html#Template)): a utility looking for keyword and put string literals in a specific format for human translation\n    * `--from-code=UTF-8`: designates encoding of files \n    * `-o locale/lang.pot`: let `xgettext` write to `locale/lang.pot`\n    * `-d lang`: default language domain is `lang`\n    * `-k_t`: besides default keyword (including `_`, see `info xgettext` for detail), also look for `_t`,\n        where the string literal (`msgid`) will be the first argument of this function call\n    * `-k_t:1,2,3t`: look for `_t`, first arg is `msgid`, second arg is `msgid_plural`, 3 args in total\n    * `-k_t:1,2c,2t`: look for `_t`, first arg is `msgid`, second arg is `msgctxt`, 2 args in total\n    * `-f -`: let `xgettext` to read filenames from stdin, which is connected to `find` stdout\n    * `-s`: sort output according to `msgid`\n\nthis `locale/lang.pot` is called PO template, which is the source file for Crowdin translation.\n\n### To initialize PO file for new language\n\n```console\n$ msginit -i locale/lang.pot -l ll_CC -o locale/ll_CC/LC_MESSAGES/lang.po -s\n```\n\nexplanation:\n\n* `-i locale/lang.pot`: input file location\n* `-l ll_CC`: target locale. `ll` should be a language code, and `CC` should be a country code\n* `-o locale/ll_CC/LC_MESSAGES/lang.po`: output file\n    * `ll_CC`: same as above\n    * `LC_MESSAGES`: GNU gettext conventional path to search for localized messages\n    * `lang.po`: language domain and file format\n\nthis `locale/ll_CC/LC_MESSAGES/lang.po` should be checked into VCS, later it will be converted into mechine readable format (`.mo`).\n\n### To update PO file for existing translation\n\n```console\n$ msgmerge -s locale/ll_CC/LC_MESSAGES/lang.po locale/lang.pot\n```\n\n### To do actual translation\n\njust edit the `lang.po` file, either manually or via GUI applications like POEdit\n\n### To generate machine readable MO file\n\nFor a single locale:\n\n```console\n$ msgfmt locale/ll_CC/LC_MESSAGES/lang.po -o locale/ll_CC/LC_MESSAGES/lang.mo\n```\n\nFor all available locales:\n```bash\nfor f in locale/*/; do \n    msgfmt $f/LC_MESSAGES/lang.po -o $f/LC_MESSAGES/lang.mo\ndone\n```\nSince compiling `.po` files is useful to everyone, we also have a script in the repo that can do it without the need for the normal `gettext` tools:\n`python3 scripts/compile_lang.py`\n\n### To merge 2 or more PO file\n\n```console\n$ msgcat -s path/to/old.po [path/to/another.po] -o path/to/new.po\n```\n\nNote that `msgcat` cannot perform a 3-way merge, it will simply stack translations with same `msgid` on top of each other.\nIf you use `msgcat` to merge multiple PO file, please check and fix the output before commit to Git. \n\n"
  },
  {
    "path": "locale/en_US/LC_MESSAGES/lang.po",
    "content": "# English translations for PACKAGE package.\n# Copyright (C) 2020 THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the PACKAGE package.\n#  <holmes.ryan.90@gmail.com>, 2020.\n#\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: PACKAGE VERSION\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2020-06-29 20:32-0400\\n\"\n\"PO-Revision-Date: 2020-06-29 20:35-0400\\n\"\n\"Last-Translator:  <holmes.ryan.90@gmail.com>\\n\"\n\"Language-Team: English\\n\"\n\"Language: en_US\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=ASCII\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:117\nmsgid \"ContextMenu|ProjectedEffectManipulation|Black Hole\"\nmsgstr \"Black Hole\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:118\nmsgid \"ContextMenu|ProjectedEffectManipulation|Cataclysmic Variable\"\nmsgstr \"Cataclysmic Variable\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:144\nmsgid \"ContextMenu|ProjectedEffectManipulation|Effects\"\nmsgstr \"Effects\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:106\nmsgid \"ContextMenu|ProjectedEffectManipulation|Electrical\"\nmsgstr \"Electrical\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:107\nmsgid \"ContextMenu|ProjectedEffectManipulation|Exotic\"\nmsgstr \"Exotic\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:115\nmsgid \"ContextMenu|ProjectedEffectManipulation|Firestorm\"\nmsgstr \"Firestorm\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:108\nmsgid \"ContextMenu|ProjectedEffectManipulation|Gamma\"\nmsgstr \"Gamma\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:119\nmsgid \"ContextMenu|ProjectedEffectManipulation|Magnetar\"\nmsgstr \"Magnetar\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:113\nmsgid \"ContextMenu|ProjectedEffectManipulation|Matter\"\nmsgstr \"Matter\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:111\nmsgid \"ContextMenu|ProjectedEffectManipulation|Metaliminal\"\nmsgstr \"Metaliminal\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:109\nmsgid \"ContextMenu|ProjectedEffectManipulation|Plasma\"\nmsgstr \"Plasma\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:120\nmsgid \"ContextMenu|ProjectedEffectManipulation|Pulsar\"\nmsgstr \"Pulsar\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:114\nmsgid \"ContextMenu|ProjectedEffectManipulation|Ray\"\nmsgstr \"Ray\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:121\nmsgid \"ContextMenu|ProjectedEffectManipulation|Red Giant\"\nmsgstr \"Red Giant\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:125\nmsgid \"ContextMenu|ProjectedEffectManipulation|Sansha Incursion\"\nmsgstr \"Sansha Incursion\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:112\nmsgid \"ContextMenu|ProjectedEffectManipulation|Storm\"\nmsgstr \"Storm\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:143\nmsgid \"ContextMenu|ProjectedEffectManipulation|System Effects\"\nmsgstr \"System Effects\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:127\nmsgid \"ContextMenu|ProjectedEffectManipulation|Triglavian Invasion\"\nmsgstr \"Triglavian Invasion\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:122\nmsgid \"ContextMenu|ProjectedEffectManipulation|Wolf Rayet\"\nmsgstr \"Wolf Rayet\"\n"
  },
  {
    "path": "locale/es_ES/LC_MESSAGES/lang.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: pyfa\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2020-10-28 15:28+0300\\n\"\n\"PO-Revision-Date: 2022-01-10 12:44\\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: Spanish\\n\"\n\"Language: es_ES\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Crowdin-Project: pyfa\\n\"\n\"X-Crowdin-Project-ID: 411502\\n\"\n\"X-Crowdin-Language: es-ES\\n\"\n\"X-Crowdin-File: /master/locale/lang.pot\\n\"\n\"X-Crowdin-File-ID: 68\\n\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:107\nmsgid \" DPS: \"\nmsgstr \" DPS: \"\n\n#: gui/builtinContextMenus/itemRemove.py:44\nmsgid \" Stack\"\nmsgstr \" Apilar\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:100\nmsgid \" Volley: \"\nmsgstr \" Descarga: \"\n\n#: gui/builtinItemStatsViews/itemProperties.py:98\n#, python-format\nmsgid \"%d attribute.\"\nmsgid_plural \"%d attributes.\"\nmsgstr[0] \"%d Atributo.\"\nmsgstr[1] \"%d Atributos.\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"&Backup All Fittings\"\nmsgstr \"Y Copia de seguridad de todos los ajustes\"\n\n#: gui/mainMenuBar.py:104\nmsgid \"&Browse ESI Fittings\"\nmsgstr \"Y Ver ajustes ESI\"\n\n#: gui/mainMenuBar.py:111\nmsgid \"&Character\"\nmsgstr \"Y Personaje\"\n\n#: gui/mainMenuBar.py:144\nmsgid \"&Character Editor\"\nmsgstr \"Y Editor de personajes\"\n\n#: gui/mainMenuBar.py:70\nmsgid \"&Close All Tabs\"\nmsgstr \"Y Cerrar todas las Pestañas\"\n\n#: gui/mainMenuBar.py:69\nmsgid \"&Close Tab\"\nmsgstr \"Y Cerrar pestaña\"\n\n#: gui/mainMenuBar.py:150\nmsgid \"&Damage Pattern Editor\"\nmsgstr \"Y Editor de Patrones de Daños\"\n\n#: gui/mainMenuBar.py:143\nmsgid \"&Editors\"\nmsgstr \"Y Editores\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"&Export Fitting\"\nmsgstr \"Y Exportar Ajuste\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"&Export Skills Needed\"\nmsgstr \"Y Exportar habilidades necesarias\"\n\n#: gui/mainMenuBar.py:66 gui/propertyEditor.py:42\nmsgid \"&File\"\nmsgstr \"Y Archivo\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"&Forums\"\nmsgstr \"Y Foros\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"&From Clipboard\"\nmsgstr \"Y Desde el portapapeles\"\n\n#: gui/mainMenuBar.py:135\nmsgid \"&Global\"\nmsgstr \"Y General\"\n\n#: gui/mainMenuBar.py:96\nmsgid \"&Graphs\"\nmsgstr \"Y Graficos\"\n\n#: gui/mainMenuBar.py:159\nmsgid \"&Help\"\nmsgstr \"Y Ayuda\"\n\n#: gui/mainMenuBar.py:147\nmsgid \"&Implant Set Editor\"\nmsgstr \"Y Configurar editor de implantes\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"&Import Character File\"\nmsgstr \"Y importar fichero de personaje\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"&Import Fittings\"\nmsgstr \"Y importar accesorios\"\n\n#: gui/mainMenuBar.py:122\nmsgid \"&Manage ESI Characters\"\nmsgstr \"Y Gestionar ESI del personaje\"\n\n#: gui/mainMenuBar.py:68\nmsgid \"&New Tab\"\nmsgstr \"Y Nueva pestaña\"\n\n#: gui/mainMenuBar.py:95\nmsgid \"&Optimize Fit Price\"\nmsgstr \"Y Optimizar precio del ajuste\"\n\n#: gui/mainMenuBar.py:137\nmsgid \"&Preferences\"\nmsgstr \"Y Preferencias\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"&Redo\"\nmsgstr \"Y Rehacer\"\n\n#: gui/mainMenuBar.py:115\nmsgid \"&Revert Character\"\nmsgstr \"Y Revertir Personaje\"\n\n#: gui/mainMenuBar.py:113\nmsgid \"&Save Character\"\nmsgstr \"Y Guardar personaje\"\n\n#: gui/mainMenuBar.py:153\nmsgid \"&Target Profile Editor\"\nmsgstr \"Y Editor perfil del objetivo\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"&To Clipboard\"\nmsgstr \"Y Copiar al Portapapeles\"\n\n#: gui/mainFrame.py:688\nmsgid \"&Turn Overrides Off\"\nmsgstr \"Y Desactivar los overrides\"\n\n#: gui/mainMenuBar.py:131 gui/mainFrame.py:688\nmsgid \"&Turn Overrides On\"\nmsgstr \"Y Activar los Overrides\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"&Undo\"\nmsgstr \"Y Deshacer\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"&Wiki\"\nmsgstr \"Y Wiki\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:25\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:29\nmsgid \"(Cannot be changed while pyfa is running. Set via command line switches.)\"\nmsgstr \"(No se puede cambiar mientras pyfa se está ejecutando. Establecer mediante interruptores de línea de comandos.)\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:81\nmsgid \"0s\"\nmsgstr \"0s\"\n\n#: gui/builtinContextMenus/fighterAbilities.py:33\nmsgid \"Abilities\"\nmsgstr \"Habilidades\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Abyssal\"\nmsgstr \"Abisal\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:123\nmsgid \"Abyssal Weather\"\nmsgstr \"Clima abisal\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:31\nmsgid \"Active\"\nmsgstr \"Activo\"\n\n#: gui/builtinViewColumns/abilities.py:37\nmsgid \"Active Abilities\"\nmsgstr \"Habilidades activas\"\n\n#: gui/builtinViewColumns/sideEffects.py:37\nmsgid \"Active Side Effects\"\nmsgstr \"Efectos laterales activos\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:76\nmsgid \"Active shield boost\"\nmsgstr \"Aumento de escudo activo\"\n\n#: gui/esiFittings.py:384\nmsgid \"Add Character\"\nmsgstr \"Agregar personaje\"\n\n#: gui/esiFittings.py:217\nmsgid \"Add Character Error\"\nmsgstr \"Añadir error de personaje\"\n\n#: gui/builtinShipBrowser/fitItem.py:233\nmsgid \"Add Command Booster\"\nmsgstr \"Añadir potenciador de comando\"\n\n#: gui/builtinContextMenus/fitAddCurrentlyOpen.py:29\nmsgid \"Add Currently Open Fit\"\nmsgstr \"Añadir Ajuste abierto actualmente\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:56\nmsgid \"Add Environmental Effect\"\nmsgstr \"Añadir Efecto Ambiental\"\n\n#: gui/builtinContextMenus/fitAddBrowse.py:22\nmsgid \"Add Fit...\"\nmsgstr \"Añadir ajuste...\"\n\n#: gui/fitBrowserLite.py:17\nmsgid \"Add Fits\"\nmsgstr \"Añadir ajustes\"\n\n#: gui/builtinContextMenus/targetProfile/adder.py:29\nmsgid \"Add Target Profile\"\nmsgstr \"Añadir Perfil de destino\"\n\n#: gui/builtinContextMenus/cargoAddAmmo.py:28\n#, python-brace-format\nmsgid \"Add {0} to Cargo (x1000)\"\nmsgstr \"Añadir {0} A la Carga (x1000)\"\n\n#: gui/builtinContextMenus/cargoAdd.py:33\nmsgid \"Add {} to Cargo\"\nmsgstr \"Añadir {} A la Carga\"\n\n#: gui/builtinContextMenus/droneAddStack.py:40\nmsgid \"Add {} to Drone Bay{}\"\nmsgstr \"Añadir {} A la bahia de los Drones {}\"\n\n#: gui/additionsPane.py:45\nmsgid \"Additions\"\nmsgstr \"Adicionales\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Additions Panel Copy/Paste\"\nmsgstr \"Adicionales Panel Copiar/Pegar\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:101\nmsgid \"Addr:\"\nmsgstr \"Addr:\"\n\n#: gui/itemStats.py:196\nmsgid \"Affected by\"\nmsgstr \"Afectado por\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:226\n#, python-format\nmsgid \"Agility:\\t%.3fx\"\nmsgstr \"Agilidad:\\t%.3fx\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:87\nmsgid \"Align time\"\nmsgstr \"Tiempo para Alinear\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:224\n#, python-format\nmsgid \"Align:\\t%.3fs\"\nmsgstr \"Alinear:\\t%.3fs\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/targetProfile.py:105\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:119\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:133\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:147\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:161\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:175\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:189\nmsgid \"All\"\nmsgstr \"Todo\"\n\n#: gui/aboutData.py:32\nmsgid \"All EVE-Online related materials are property of CCP hf.\"\nmsgstr \"Todos los materiales relacionados con EVE-Online son propiedad de CCP hf.\"\n\n#: gui/mainFrame.py:838 gui/mainFrame.py:1013\nmsgid \"All Files\"\nmsgstr \"Todos los archivos\"\n\n#: gui/characterSelection.py:238\nmsgid \"All skill prerequisites have been met\"\nmsgstr \"Todos los requisitos previos de habilidad han sido cumplidos\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:38\nmsgid \"Allow pre-release notifications\"\nmsgstr \"Permitir notificaciones de pre-lanzamiento\"\n\n#: graphs/gui/ctrlPanel.py:75\nmsgid \"Always show Y = 0\"\nmsgstr \"Mostrar siempre Y = 0\"\n\n#: eos/saveddata/targetProfile.py:53\nmsgid \"Amarr (Armor)\"\nmsgstr \"Amarr (Armadura)\"\n\n#: eos/saveddata/targetProfile.py:52\nmsgid \"Amarr (Shield)\"\nmsgstr \"Amarr (escudo)\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/targetProfile.py:95\nmsgid \"Amarr EDENCOM Entities\"\nmsgstr \"Entidades EDENCOM de Amarr\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/targetProfile.py:72\nmsgid \"Amarr Empire\"\nmsgstr \"Imperio Amarr\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:115\nmsgid \"Ammo hold\"\nmsgstr \"Bodega de Armamento\"\n\n#: eos/saveddata/damagePattern.py:96 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:229\nmsgid \"Angel\"\nmsgstr \"Ángel\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:123\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:66\nmsgid \"Angel Cartel\"\nmsgstr \"Cartel de Ángel\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:133\nmsgid \"Animate gauges\"\nmsgstr \"Indicadores animados\"\n\n#: eos/saveddata/damagePattern.py:71\nmsgid \"Antimatter\"\nmsgstr \"Anti-materia\"\n\n#: gui/builtinContextMenus/implantSetApply.py:25\nmsgid \"Apply Implant Set\"\nmsgstr \"Aplicar seleccion de implantes\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Apply Mutaplasmid\"\nmsgstr \"Aplicar Mutaplasmio\"\n\n#: gui/builtinContextMenus/graphDmgApplyProjected.py:23\nmsgid \"Apply Projected Items\"\nmsgstr \"Aplicar elementos proyectados\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:144\nmsgid \"Apply Proxy Settings\"\nmsgstr \"Aplicar ajustes de proxy\"\n\n#: gui/propertyEditor.py:146\nmsgid \"Are you sure you want to delete all overrides?\"\nmsgstr \"¿Estás seguro que deseas borrar todos los overrides?\"\n\n#: gui/mainFrame.py:645\nmsgid \"Are you sure you wish to ignore fitting restrictions for the current fit? This could lead to wildly inaccurate results and possible errors.\"\nmsgstr \"¿Está seguro de que desea ignorar las restricciones de ajuste para el ajuste actual? Esto podría conducir a resultados imprecisos y posibles errores.\"\n\n#: eos/saveddata/targetProfile.py:47\nmsgid \"Armor\"\nmsgstr \"Armadura\"\n\n#: eos/saveddata/targetProfile.py:50\nmsgid \"Armor (+T2 DCU)\"\nmsgstr \"Armadura (+T2 DCU)\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:77\nmsgid \"Armor repair amount\"\nmsgstr \"Cantidad de reparación del Blindaje\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:113\nmsgid \"Armor resistance\"\nmsgstr \"Resistencia de la Blindaje\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:43\n#: gui/builtinStatsViews/outgoingViewFull.py:44\nmsgid \"Armor restored\"\nmsgstr \"Blindaje restaurado\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Armor: \"\nmsgstr \"Blindaje: \"\n\n#: eos/saveddata/damagePattern.py:120 eos/saveddata/targetProfile.py:90\nmsgid \"Ashimmu (Blood Raiders)\"\nmsgstr \"Ashimmu (Blood Raiders)\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\nmsgid \"Asteroid\"\nmsgstr \"Asteriode\"\n\n#: graphs/data/fitDamageStats/graph.py:74\nmsgid \"Attacker\"\nmsgstr \"Atacante\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:56\n#: gui/builtinItemStatsViews/itemAttributes.py:44\nmsgid \"Attribute\"\nmsgstr \"Atributo\"\n\n#: gui/mainMenuBar.py:128\nmsgid \"Attribute &Overrides\"\nmsgstr \"Atributo y overrides\"\n\n#: gui/propertyEditor.py:28\nmsgid \"Attribute Editor\"\nmsgstr \"Editor de atributos\"\n\n#: gui/itemStats.py:177\nmsgid \"Attributes\"\nmsgstr \"Cualidades\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:43\nmsgid \"Auto\"\nmsgstr \"Automático\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:94\nmsgid \"Auto will use the same language pyfa uses if available, otherwise English\"\nmsgstr \"Auto utilizará el mismo idioma de uso de pyfa si está disponible, de lo contrario Inglés\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Auto-detected proxy settings\"\nmsgstr \"Detectar automáticamente la configuración del proxy\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:136\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:158\nmsgid \"Auto-detected: \"\nmsgstr \"Auto-detectar: \"\n\n#: graphs/gui/ctrlPanel.py:64\nmsgid \"Axis X:\"\nmsgstr \"Eje X:\"\n\n#: graphs/gui/ctrlPanel.py:56\nmsgid \"Axis Y:\"\nmsgstr \"Eje Y:\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:50\nmsgid \"Back\"\nmsgstr \"Volver\"\n\n#: gui/mainFrame.py:873\nmsgid \"Backing up {} fits to: {}\"\nmsgstr \"Respaldar {} se ajusta a: {}\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"Backup all fittings to a XML file\"\nmsgstr \"Copia de seguridad de todos los accesorios en un archivo XML\"\n\n#: gui/mainFrame.py:872 gui/mainFrame.py:903\nmsgid \"Backup fits\"\nmsgstr \"Copia de seguridad de Ajustes\"\n\n#: eos/saveddata/damagePattern.py:59\nmsgid \"Baryon\"\nmsgstr \"Barión\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:47\nmsgid \"Base Value\"\nmsgstr \"Valor base\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battlecruiser\"\nmsgstr \"Crucero de Batalla\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battleship\"\nmsgstr \"Acorazado\"\n\n#: gui/mainFrame.py:951\nmsgid \"Be aware that already processed fits were not saved\"\nmsgstr \"Tenga en cuenta que los ajustes ya procesados no se han guardado\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Bioluminescence\"\nmsgstr \"Bioluminiscente\"\n\n#: eos/saveddata/damagePattern.py:106 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/targetProfile.py:61 eos/saveddata/targetProfile.py:67\nmsgid \"Blood Raiders\"\nmsgstr \"Blood Raiders\"\n\n#: graphs/style.py:54\nmsgid \"Blue\"\nmsgstr \"Azúl\"\n\n#: eos/saveddata/damagePattern.py:90 eos/saveddata/damagePattern.py:91\n#: eos/saveddata/damagePattern.py:92 eos/saveddata/damagePattern.py:93\nmsgid \"Bombs\"\nmsgstr \"Bombas\"\n\n#: gui/builtinAdditionPanes/boosterView.py:215\nmsgid \"Booster\"\nmsgstr \"Potenciador\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\n#: gui/builtinContextMenus/additionsExportAll.py:23\n#: gui/builtinContextMenus/additionsExportSelection.py:23\n#: gui/builtinContextMenus/additionsImport.py:24 gui/additionsPane.py:78\nmsgid \"Boosters\"\nmsgstr \"Potenciadores\"\n\n#: graphs/style.py:82\nmsgid \"Bright\"\nmsgstr \"Brillo\"\n\n#: gui/esiFittings.py:32\nmsgid \"Browse EVE Fittings\"\nmsgstr \"Navegar por los Ajustes EVE\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Bump distance\"\nmsgstr \"Distancia al Bache\"\n\n#: graphs/data/fitMobility/graph.py:38\nmsgid \"Bump speed\"\nmsgstr \"Velocidad del bache\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/targetProfile.py:81 eos/saveddata/targetProfile.py:82\n#: eos/saveddata/targetProfile.py:83 eos/saveddata/targetProfile.py:84\n#: eos/saveddata/targetProfile.py:85 eos/saveddata/targetProfile.py:86\n#: eos/saveddata/targetProfile.py:87 eos/saveddata/targetProfile.py:88\n#: eos/saveddata/targetProfile.py:89 eos/saveddata/targetProfile.py:90\n#: eos/saveddata/targetProfile.py:91 eos/saveddata/targetProfile.py:92\nmsgid \"Burner\"\nmsgstr \"Quemador\"\n\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/targetProfile.py:74\nmsgid \"CONCORD\"\nmsgstr \"CONCORD\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:153\nmsgid \"CPU\"\nmsgstr \"CPU\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:118\nmsgid \"CSV files\"\nmsgstr \"Ficheros CSV\"\n\n#: eos/saveddata/targetProfile.py:55\nmsgid \"Caldari (Armor)\"\nmsgstr \"Caldari (Blindaje)\"\n\n#: eos/saveddata/targetProfile.py:54\nmsgid \"Caldari (Shield)\"\nmsgstr \"Caldari (Escudo)\"\n\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/targetProfile.py:96\nmsgid \"Caldari EDENCOM Entities\"\nmsgstr \"Entidades EDENCOM Caldari\"\n\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/targetProfile.py:73\nmsgid \"Caldari State\"\nmsgstr \"Territorio Caldari\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:115\nmsgid \"Calibration\"\nmsgstr \"Calibración\"\n\n#: graphs/data/fitCapacitor/graph.py:35 graphs/data/fitCapacitor/graph.py:36\n#: graphs/data/fitCapacitor/graph.py:38 graphs/data/fitCapacitor/graph.py:43\nmsgid \"Cap amount\"\nmsgstr \"Cantidad de Cap\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Cap neutralized per second\"\nmsgstr \"Neutralizacion del Cap por segundo\"\n\n#: graphs/data/fitCapacitor/graph.py:39\nmsgid \"Cap regen\"\nmsgstr \"Regeneracion del Cap\"\n\n#: graphs/data/fitCapacitor/graph.py:32\n#: gui/builtinStatsViews/capacitorViewFull.py:37\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\nmsgid \"Capacitor\"\nmsgstr \"Capacitador\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:139\nmsgid \"Capacitor delta:\"\nmsgstr \"Capacitador delta:\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:31\n#: gui/builtinStatsViews/outgoingViewFull.py:32\nmsgid \"Capacitor restored\"\nmsgstr \"Capacitador restaurado\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:57\nmsgid \"Capacitor stability\"\nmsgstr \"Estabilidad del capacitador\"\n\n#: eos/saveddata/damagePattern.py:76\nmsgid \"Carbonized Lead\"\nmsgstr \"Plomo carbonizado\"\n\n#: gui/copySelectDialog.py:49 gui/copySelectDialog.py:57\n#: gui/builtinContextMenus/priceOptions.py:47\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:90\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:81\n#: gui/additionsPane.py:72\nmsgid \"Cargo\"\nmsgstr \"Carga\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:20\n#: gui/builtinContextMenus/additionsExportSelection.py:20\n#: gui/builtinContextMenus/additionsImport.py:21\nmsgid \"Cargo Items\"\nmsgstr \"Artículos de Carga\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:158\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Cargo bay\"\nmsgstr \"Bahía de Carga\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:229\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:254\nmsgid \"Cargohold: \"\nmsgstr \"Capacidad de carga: \"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:167\nmsgid \"Carrier\"\nmsgstr \"Transportador\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Caustic\"\nmsgstr \"Cáustico\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:47\nmsgid \"Cert Path:\"\nmsgstr \"Ruta del certificado:\"\n\n#: gui/builtinContextMenus/skillAffectors.py:73\n#, python-format\nmsgid \"Change %s Skills\"\nmsgstr \"Cambiar %s Habilidades\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:92\nmsgid \"Change Amount\"\nmsgstr \"Cambiar la cantidad\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\nmsgid \"Change Skills\"\nmsgstr \"Cambiar habilidades\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:144\nmsgid \"Change charge in all modules of the same type\"\nmsgstr \"Cambiar la carga en todos los módulos del mismo tipo\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:34\n#, python-brace-format\nmsgid \"Change {0} Quantity\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemProjectionRange.py:34\nmsgid \"Change {} Range\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:31\nmsgid \"Changes require restart of pyfa to take effect.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:375 gui/builtinStatsViews/priceViewFull.py:57\n#: gui/characterEditor.py:90\nmsgid \"Character\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:137\nmsgid \"Character Editor\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:376\nmsgid \"Character ID\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:78\nmsgid \"Character name already in use, please choose another.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:771\nmsgid \"Character:\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:47\nmsgid \"Character: \"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:48\nmsgid \"Charge\"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:664\nmsgid \"Citadel\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:37\nmsgid \"Citadel System Security\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear All\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear all overrides\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:97\n#: gui/builtinStatsViews/resistancesViewFull.py:169\nmsgid \"Click to toggle between effective HP and raw HP\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:102\nmsgid \"Click to toggle to Firepower View\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:115\nmsgid \"Click to toggle to Mining Yield\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:76\nmsgid \"Client ID:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:85\nmsgid \"Client Secret:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:114\nmsgid \"Color fitting view by slot\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"Combined ECM strength\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:84\nmsgid \"Command\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/commandView.py:201\nmsgid \"Command Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/commandFitAdd.py:51\nmsgid \"Command Fits\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:127\nmsgid \"Command center hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:110\nmsgid \"Compact skills needed tooltip\"\nmsgstr \"\"\n\n#: gui/itemStats.py:182\nmsgid \"Compare\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:227\nmsgid \"Concord\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:92\nmsgid \"Concussion Bomb\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:98\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:103\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:108\n#: gui/mainFrame.py:647 gui/mainFrame.py:653\nmsgid \"Confirm\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:160 gui/propertyEditor.py:147\nmsgid \"Confirm Delete\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:129 gui/esiFittings.py:172 gui/esiFittings.py:345\nmsgid \"Connection error, please check your internet connection\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:14\nmsgid \"Context Menus\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:117\nmsgid \"ContextMenu|ProjectedEffectManipulation|Black Hole\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:118\nmsgid \"ContextMenu|ProjectedEffectManipulation|Cataclysmic Variable\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:144\nmsgid \"ContextMenu|ProjectedEffectManipulation|Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:106\nmsgid \"ContextMenu|ProjectedEffectManipulation|Electrical\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:107\nmsgid \"ContextMenu|ProjectedEffectManipulation|Exotic\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:115\nmsgid \"ContextMenu|ProjectedEffectManipulation|Firestorm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:108\nmsgid \"ContextMenu|ProjectedEffectManipulation|Gamma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:119\nmsgid \"ContextMenu|ProjectedEffectManipulation|Magnetar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:113\nmsgid \"ContextMenu|ProjectedEffectManipulation|Matter\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:111\nmsgid \"ContextMenu|ProjectedEffectManipulation|Metaliminal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:109\nmsgid \"ContextMenu|ProjectedEffectManipulation|Plasma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:120\nmsgid \"ContextMenu|ProjectedEffectManipulation|Pulsar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:114\nmsgid \"ContextMenu|ProjectedEffectManipulation|Ray\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:121\nmsgid \"ContextMenu|ProjectedEffectManipulation|Red Giant\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:125\nmsgid \"ContextMenu|ProjectedEffectManipulation|Sansha Incursion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:112\nmsgid \"ContextMenu|ProjectedEffectManipulation|Storm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:143\nmsgid \"ContextMenu|ProjectedEffectManipulation|System Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:127\nmsgid \"ContextMenu|ProjectedEffectManipulation|Triglavian Invasion\"\nmsgstr \"ContextMenu|ProjectedEffectManipulation|Invasion Triglavian\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:122\nmsgid \"ContextMenu|ProjectedEffectManipulation|Wolf Rayet\"\nmsgstr \"ContextMenu|ProjectedEffectManipulation|Wolf Rayet\"\n\n#: gui/builtinItemStatsViews/itemDescription.py:43\n#: gui/builtinItemStatsViews/itemTraits.py:25\n#: gui/builtinShipBrowser/fitItem.py:107\nmsgid \"Copy\"\nmsgstr \"Copiar\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:39\nmsgid \"Copy All {}\"\nmsgstr \"Copiar todo {}\"\n\n#: gui/characterSelection.py:105\nmsgid \"Copy Missing Skills\"\nmsgstr \"Copiar las habilidades que faltan\"\n\n#: gui/builtinContextMenus/moduleMutatedExport.py:28\nmsgid \"Copy Module to Clipboard\"\nmsgstr \"Copiar Módulo al Portapapeles\"\n\n#: gui/builtinContextMenus/additionsExportSelection.py:39\nmsgid \"Copy Selected {}\"\nmsgstr \"Copiar Seleccionado {}\"\n\n#: gui/ssoLogin.py:20\nmsgid \"Copy and paste the block of text provided by pyfa.io\"\nmsgstr \"Copiar y pegar el bloque de texto proporcionado por pyfa.io\"\n\n#: gui/setEditor.py:222 gui/patternEditor.py:290 gui/targetProfileEditor.py:366\nmsgid \"Could not import from clipboard\"\nmsgstr \"No se pudo importar desde el portapapeles\"\n\n#: gui/targetProfileEditor.py:359\nmsgid \"Could not import from clipboard:\"\nmsgstr \"No se puede importar desde el portapapeles:\"\n\n#: gui/setEditor.py:218 gui/patternEditor.py:283\nmsgid \"Could not import from clipboard: unknown errors\"\nmsgstr \"No se pudo importar desde el portapapeles: errores desconocidos\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Cruiser\"\nmsgstr \"Crucero\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/targetProfile.py:81\nmsgid \"Cruor (Blood Raiders)\"\nmsgstr \"Cruor (Blood Raiders)\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:175\nmsgid \"Current\"\nmsgstr \"Actual\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:57\n#: gui/builtinItemStatsViews/itemAttributes.py:45\nmsgid \"Current Value\"\nmsgstr \"Valor Actual\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:63\nmsgid \"Custom Application\"\nmsgstr \"Aplicación personalizada\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"Custom application\"\nmsgstr \"Aplicación personalizada\"\n\n#: graphs/style.py:57\nmsgid \"Cyan\"\nmsgstr \"Turquesa\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"DPS\"\nmsgstr \"DPS\"\n\n#: gui/patternEditor.py:99\nmsgid \"Damage Pattern Editor\"\nmsgstr \"Editor de Patrones de Daño\"\n\n#: gui/patternEditor.py:65\nmsgid \"Damage Profile\"\nmsgstr \"Perfil de Daño\"\n\n#: gui/patternEditor.py:53\nmsgid \"Damage Profile name already in use, please choose another.\"\nmsgstr \"El nombre del perfil de daño ya está en uso, por favor elija otro.\"\n\n#: graphs/data/fitDamageStats/graph.py:56\nmsgid \"Damage Stats\"\nmsgstr \"Estadísticas de Daño\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Damage inflicted\"\nmsgstr \"Daño infligido\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Damps: lock range reduction\"\nmsgstr \"Damps: reducción del rango de bloqueo\"\n\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/targetProfile.py:83\nmsgid \"Daredevil (Serpentis)\"\nmsgstr \"Daredevil (Serpentis)\"\n\n#: graphs/style.py:81\nmsgid \"Dark\"\nmsgstr \"Oscuro\"\n\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\nmsgid \"Dark Matter All Tiers\"\nmsgstr \"Todos los niveles de la materia oscura\"\n\n#: graphs/style.py:89\nmsgid \"Dash-dotted\"\nmsgstr \"Punto de guión\"\n\n#: graphs/style.py:87\nmsgid \"Dashed\"\nmsgstr \"Discontinua\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:15\nmsgid \"Database\"\nmsgstr \"Base de datos\"\n\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\nmsgid \"Deadspace\"\nmsgstr \"Espacio muerto\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:56\nmsgid \"Debug Logging Enabled\"\nmsgstr \"Registro de Depuración Activado\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:58\nmsgid \"Default Market Prices:\"\nmsgstr \"Precios de mercado por defecto:\"\n\n#: gui/propertyEditor.py:271\n#, python-format\nmsgid \"Default Value: %0.3f\"\nmsgstr \"Valor predeterminado: %0.3f\"\n\n#: gui/builtinContextMenus/shipModeChange.py:18\nmsgid \"Defense\"\nmsgstr \"Defensa\"\n\n#: graphs/data/fitMobility/graph.py:44\nmsgid \"Defined in millions of kilograms\"\nmsgstr \"Definido en millones de kilogramos\"\n\n#: gui/builtinShipBrowser/fitItem.py:109\nmsgid \"Delete\"\nmsgstr \"Eliminar\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:79\nmsgid \"Delete All Damage Pattern Profiles\"\nmsgstr \"Eliminar todos los perfiles de patrón de daño\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:87\nmsgid \"Delete All Prices\"\nmsgstr \"Eliminar todos los precios\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:83\nmsgid \"Delete All Target Profiles\"\nmsgstr \"Borrar todos los Perfiles de Objetivo\"\n\n#: gui/esiFittings.py:66\nmsgid \"Delete all from Eve\"\nmsgstr \"Eliminar todo de Eve\"\n\n#: gui/esiFittings.py:65\nmsgid \"Delete from EVE\"\nmsgstr \"Borrar de EVE\"\n\n#: gui/itemStats.py:189\nmsgid \"Dependents\"\nmsgstr \"Dependencias\"\n\n#: eos/saveddata/damagePattern.py:79\nmsgid \"Depleted Uranium\"\nmsgstr \"Uranio Desplazado\"\n\n#: gui/itemStats.py:174\nmsgid \"Description\"\nmsgstr \"Descripciòn\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Destroyer\"\nmsgstr \"Destructor\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Destructible Beacons\"\nmsgstr \"Balizas destructibles\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Dev Tools\"\nmsgstr \"Herramientas de desarrollo\"\n\n#: gui/mainMenuBar.py:101 gui/mainMenuBar.py:202\nmsgid \"Disable Fitting Re&strictions\"\nmsgstr \"Desactivar Restricciones de ajuste\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Disabled\"\nmsgstr \"Desactivado\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:28\nmsgid \"Disabling context menus can improve responsiveness.\\n\"\n\"You can hold {} key + right-click to show all menu items regardless of these settings.\"\nmsgstr \"Deshabilitar los menús contextuales puede mejorar la capacidad de respuesta.\\n\"\n\"Puedes mantener pulsada la tecla {} + clic derecho para mostrar todos los elementos del menú independientemente de estos ajustes.\"\n\n#: graphs/data/fitMobility/graph.py:36 graphs/data/fitRemoteReps/graph.py:50\n#: graphs/data/fitRemoteReps/graph.py:58 graphs/data/fitWarpTime/graph.py:47\n#: graphs/data/fitWarpTime/graph.py:48 graphs/data/fitWarpTime/graph.py:51\n#: graphs/data/fitWarpTime/graph.py:52 graphs/data/fitDamageStats/graph.py:58\n#: graphs/data/fitDamageStats/graph.py:65 graphs/data/fitEwarStats/graph.py:34\n#: graphs/data/fitEwarStats/graph.py:44\nmsgid \"Distance\"\nmsgstr \"Distancia\"\n\n#: graphs/data/fitDamageStats/graph.py:66\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"Distancia entre el atacante y el objetivo, como se ve en la visión general (superficie a superficie)\"\n\n#: graphs/data/fitDamageStats/graph.py:67\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\\n\"\n\"When set, places the target that far away from the attacker\\n\"\n\"When not set, attacker's weapons always hit the target\"\nmsgstr \"Distancia entre el atacante y el objetivo, como se ve en el resumen (superficie a superficie)\\n\"\n\"Cuando se establece coloca al objetivo que está lejos del atacante\\n\"\n\"Cuando no se establece, las armas del atacante siempre golpean al objetivo\"\n\n#: graphs/data/fitRemoteReps/graph.py:59 graphs/data/fitRemoteReps/graph.py:60\nmsgid \"Distance between the repairing ship and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"Distancia entre el atacante y el objetivo, como se ve en la visión general (superficie a superficie)\"\n\n#: gui/esiFittings.py:159\nmsgid \"Do you really want to delete {} ({}) from EVE?\"\nmsgstr \"¿Realmente quieres eliminar {} ({}) del EVE?\"\n\n#: gui/updateDialog.py:102\nmsgid \"Don't remind me again for this release\"\nmsgstr \"No volver a recordarme por esta versión\"\n\n#: gui/characterEditor.py:789\nmsgid \"Don't see your EVE character in the list?\"\nmsgstr \"¿No ves tu personaje EVE en la lista?\"\n\n#: graphs/style.py:88\nmsgid \"Dotted\"\nmsgstr \"Punteado\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:71\n#: gui/updateDialog.py:113\nmsgid \"Download\"\nmsgstr \"Descargar\"\n\n#: graphs/gui/lists.py:313\nmsgid \"Drag a fit into this list to graph it\"\nmsgstr \"Arrastra un ajuste en esta lista para verlo graficamente\"\n\n#: graphs/gui/lists.py:370\nmsgid \"Drag a fit into this list to have your fits graphed against it\"\nmsgstr \"Arrastra un cabezal en esta lista para que tu cabezal se grafique contra ella\"\n\n#: gui/builtinAdditionPanes/commandView.py:163\nmsgid \"Drag a fit to this area\"\nmsgstr \"Arrastra un ajuste a esta zona\"\n\n#: gui/builtinAdditionPanes/projectedView.py:224\nmsgid \"Drag an item or fit, or use right-click menu for wormhole effects\"\nmsgstr \"Arrastra un objeto o encaja, o usa el menú de clic derecho para ver los efectos del agujero del gusano\"\n\n#: eos/saveddata/damagePattern.py:112 eos/saveddata/targetProfile.py:82\nmsgid \"Dramiel (Angel)\"\nmsgstr \"Dramiel (Angel)\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:144\n#: eos/saveddata/damagePattern.py:147\nmsgid \"Dread\"\nmsgstr \"Dread\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/damagePattern.py:146\nmsgid \"Dread/Subcaps\"\nmsgstr \"Dread/Subcaps\"\n\n#: eos/saveddata/damagePattern.py:98 eos/saveddata/targetProfile.py:103\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:117\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:131\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:145\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:159\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:173\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:187\nmsgid \"Drifter\"\nmsgstr \"Drifter\"\n\n#: eos/saveddata/damagePattern.py:159 eos/saveddata/targetProfile.py:230\nmsgid \"Drifter Entities\"\nmsgstr \"Entidades Drifter\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Drone\"\nmsgstr \"Dron\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:26\nmsgid \"Drone Mode\"\nmsgstr \"Modo Dron\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:157\nmsgid \"Drone bandwidth\"\nmsgstr \"Ancho de banda de dron\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:155\nmsgid \"Drone bay\"\nmsgstr \"Bahía de drones\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:66\nmsgid \"Drone range\"\nmsgstr \"Alcance de Dron\"\n\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/targetProfile.py:99\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:113\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:127\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:141\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:155\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:169\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:183\n#: gui/builtinContextMenus/priceOptions.py:40\n#: gui/builtinContextMenus/additionsExportAll.py:18\n#: gui/builtinContextMenus/additionsExportSelection.py:18\n#: gui/builtinContextMenus/additionsImport.py:19\n#: gui/builtinStatsViews/priceViewFull.py:58\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:77\n#: gui/additionsPane.py:66\nmsgid \"Drones\"\nmsgstr \"Drones\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:113\nmsgid \"Drones active\"\nmsgstr \"Drones activos\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:62\nmsgid \"Dump All Logs\"\nmsgstr \"Volcar todos los registros\"\n\n#: gui/mainMenuBar.py:105\nmsgid \"E&xport to ESI\"\nmsgstr \"Exportar a ESI\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"ECM: combined strength\"\nmsgstr \"ECM: fuerza combinada\"\n\n#: gui/mainFrame.py:837\nmsgid \"EFT text fitting files\"\nmsgstr \"Ficheros de ajuste de texto EFT\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:96\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"EHP\"\nmsgstr \"EHP\"\n\n#: eos/saveddata/damagePattern.py:39\n#: gui/builtinContextMenus/moduleAmmoChange.py:24\nmsgid \"EM\"\nmsgstr \"EM\"\n\n#: gui/targetProfileEditor.py:119\nmsgid \"EM resistance\"\nmsgstr \"EM resistencia\"\n\n#: eos/saveddata/damagePattern.py:81\nmsgid \"EMP\"\nmsgstr \"EMP\"\n\n#: gui/esiFittings.py:347 gui/esiFittings.py:351 gui/esiFittings.py:359\nmsgid \"ERROR\"\nmsgstr \"ERROR\"\n\n#: gui/mainFrame.py:1012\nmsgid \"EVE API XML character files\"\nmsgstr \"Archivos de caracteres XML API EVE\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:76\nmsgid \"EVE Data:\"\nmsgstr \"Datos EVE:\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:49\nmsgid \"EVE IGB HTML fitting file\"\nmsgstr \"Archivo de ajuste HTML EVE IGB\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:16\n#: gui/characterEditor.py:162\nmsgid \"EVE SSO\"\nmsgstr \"EVE SSO\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:37\nmsgid \"EVE Servers (API && CREST import)\"\nmsgstr \"Servidores EVE (API && CREST importar)\"\n\n#: gui/mainFrame.py:859\nmsgid \"EVE XML fitting file\"\nmsgstr \"Archivo de ajuste EVE XML\"\n\n#: gui/mainFrame.py:466 gui/mainFrame.py:836\nmsgid \"EVE XML fitting files\"\nmsgstr \"Archivos de ajuste EVE XML\"\n\n#: gui/mainFrame.py:808\nmsgid \"EVEMon skills training XML file\"\nmsgstr \"Archivo XML de aprendizaje de habilidades EVEMon\"\n\n#: gui/mainFrame.py:807\nmsgid \"EVEMon skills training file\"\nmsgstr \"Archivo XML de aprendizaje de habilidades EVEMon\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"Effective DPS\"\nmsgstr \"DPS efectivo\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:61\n#: gui/builtinStatsViews/resistancesViewFull.py:219\nmsgid \"Effective HP: \"\nmsgstr \"HP Efectivo: \"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:151\nmsgid \"Effective capacity\"\nmsgstr \"Capacidad efectiva\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Effective damage inflicted\"\nmsgstr \"Daño efectivo infligido\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Effective volley\"\nmsgstr \"Salva efectiva\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:220\n#, python-format\nmsgid \"Effective: %d HP\"\nmsgstr \"Efectivo: %d HP\"\n\n#: gui/itemStats.py:192\nmsgid \"Effects\"\nmsgstr \"Efectos\"\n\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:107\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:109\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:194\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:196\nmsgid \"Electrical T0/T1/T2\"\nmsgstr \"Electrico T0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\nmsgid \"Electrical T3 (Some T5 Rooms)\"\nmsgstr \"Electrico T3 (Alguna Sala T5)\"\n\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:121\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:123\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:200\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:202\nmsgid \"Electrical T4/T5/T6\"\nmsgstr \"Electrico T4/T5/T6\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:85\nmsgid \"Electromagnetic resistance\"\nmsgstr \"Resistencia electromagnética\"\n\n#: eos/saveddata/damagePattern.py:90\nmsgid \"Electron Bomb\"\nmsgstr \"Bomba de electrón\"\n\n#: graphs/data/fitEwarStats/graph.py:33\nmsgid \"Electronic Warfare Stats\"\nmsgstr \"Estadísticas de Guerra Electrónica\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:59\nmsgid \"Empty\"\nmsgstr \"Vacío\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:105\nmsgid \"Empty Market View\"\nmsgstr \"Vaciar vista de mercado\"\n\n#: gui/multiSwitch.py:41\nmsgid \"Empty Tab\"\nmsgstr \"Vaciar pestaña\"\n\n#: gui/mainMenuBar.py:200\nmsgid \"Enable Fitting Re&strictions\"\nmsgstr \"Habilitar Restricciones de Ajuste\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:33\nmsgid \"Enable Network\"\nmsgstr \"Activar red\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable all available meta buttons\"\nmsgstr \"Habilitar todos los botones meta disponibles\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:93\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:114\nmsgid \"Enable all meta buttons\"\nmsgstr \"Activar todos los botones meta\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\nmsgid \"Enable all meta buttons for a duration of search / recents\"\nmsgstr \"Habilitar todos los botones meta durante una duración de búsqueda / recientes\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button\"\nmsgstr \"Activar el botón meta del elemento\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button, disable others\"\nmsgstr \"Activar el botón meta del elemento, deshabilitar a otros\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable leftmost available meta button\"\nmsgstr \"Activar el botón meta disponible a la izquierda\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:61\nmsgid \"Enable minimal format\"\nmsgstr \"Habilitar formato mínimo\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Enabled\"\nmsgstr \"Habilitado\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:50\nmsgid \"Enforce strict skill level requirements\"\nmsgstr \"Forzar requerimientos estrictos de nivel de habilidad\"\n\n#: gui/characterEditor.py:281\nmsgid \"Enter a name for your new Character:\"\nmsgstr \"Introduce un nombre para tu nuevo personaje:\"\n\n#: gui/builtinContextMenus/implantSetSave.py:51\nmsgid \"Enter a name for your new Implant Set:\"\nmsgstr \"Introduzca un nombre para su nuevo Conjunto de Implantes:\"\n\n#: eos/saveddata/damagePattern.py:116 eos/saveddata/targetProfile.py:86\nmsgid \"Enyo\"\nmsgstr \"Enyo\"\n\n#: gui/characterSelection.py:174 gui/setEditor.py:55 gui/mainFrame.py:896\n#: gui/characterEditor.py:83 gui/characterEditor.py:463\n#: gui/characterEditor.py:898 gui/patternEditor.py:58\n#: gui/targetProfileEditor.py:78\nmsgid \"Error\"\nmsgstr \"Error\"\n\n#: gui/characterSelection.py:173 gui/characterEditor.py:897\nmsgid \"Error fetching skill information\"\nmsgstr \"Error obteniendo información de habilidad\"\n\n#: gui/errorDialog.py:68\nmsgid \"Error!\"\nmsgstr \"¡Error!\"\n\n#: eos/saveddata/damagePattern.py:57 eos/saveddata/damagePattern.py:58\n#: eos/saveddata/damagePattern.py:59 eos/saveddata/damagePattern.py:60\n#: eos/saveddata/damagePattern.py:61\nmsgid \"Exotic Plasma\"\nmsgstr \"Plasma exótico\"\n\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:149\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:151\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:212\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:214\nmsgid \"Exotic T0/T1/T2\"\nmsgstr \"Exótico T0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\nmsgid \"Exotic T3 (Some T5 Rooms)\"\nmsgstr \"Exotico T3 (Algunas salas T5)\"\n\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:163\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:165\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:218\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:220\nmsgid \"Exotic T4/T5/T6\"\nmsgstr \"Exótico T4/T5/T6\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:67\nmsgid \"Expand All\"\nmsgstr \"Desplegar todos\"\n\n#: eos/saveddata/damagePattern.py:42\n#: gui/builtinContextMenus/moduleAmmoChange.py:26\nmsgid \"Explosive\"\nmsgstr \"Explosivo\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:88\n#: gui/targetProfileEditor.py:122\nmsgid \"Explosive resistance\"\nmsgstr \"Resistencia explosiva\"\n\n#: gui/propertyEditor.py:39\nmsgid \"Export\"\nmsgstr \"Respaldar\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export All Fittings to &HTML\"\nmsgstr \"Exportar todos los ajustes a &HTML\"\n\n#: gui/mainFrame.py:946\nmsgid \"Export Error\"\nmsgstr \"Error al exportar\"\n\n#: gui/esiFittings.py:258\nmsgid \"Export Fit\"\nmsgstr \"Exportar Ajuste\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:23\nmsgid \"Export Fittings in a minimal HTML Version, just containing the fittings links without any visual styling\"\nmsgstr \"Exportar Fittings en una versión HTML mínima, sólo contiene los enlaces de accesorios sin ningún estilo visual\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:57\nmsgid \"Export Item Stats\"\nmsgstr \"Exportar estadísticas del artículo\"\n\n#: gui/esiFittings.py:263\nmsgid \"Export Loaded Charges\"\nmsgstr \"Exportar Cargas Cargadas\"\n\n#: gui/mainFrame.py:805\nmsgid \"Export Skills Needed As...\"\nmsgstr \"Exportar Habilidades Necesitadas Como...\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"Export a fit to the clipboard\"\nmsgstr \"Exportar un ajuste al portapapelos\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\nmsgid \"Export boosters\"\nmsgstr \"Exportar potenciadores\"\n\n#: gui/copySelectDialog.py:49\nmsgid \"Export cargo contents\"\nmsgstr \"Exportar contenidos de carga\"\n\n#: gui/copySelectDialog.py:57\nmsgid \"Export cargo hold contents\"\nmsgstr \"Exportar contenido de contenedor\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Export charges loaded into modules\"\nmsgstr \"Exportar cargas cargadas en módulos\"\n\n#: gui/esiFittings.py:245\nmsgid \"Export fit to EVE\"\nmsgstr \"Exportar ajuste a EVE\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export fits to HTML file (set in Preferences)\"\nmsgstr \"Exportar ajuste al archivo HTML (establecido en Preferencias)\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"Export fitting to another format\"\nmsgstr \"\"\n\n#: gui/setEditor.py:149\nmsgid \"Export implant sets to clipboard\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\nmsgid \"Export implants\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Export mutated modules' stats\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:172\nmsgid \"Export patterns to clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:222\nmsgid \"Export profiles to clipboard\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:373\nmsgid \"Export skills from clipboard\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"Export skills needed for this fitting\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:827\nmsgid \"Exporting skills needed...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:152\nmsgid \"Extra info in Additions panel tab names\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:90\nmsgid \"Extra stats\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/factorReload.py:26\nmsgid \"Factor in Reload Time\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:44\nmsgid \"Factor in reload time when calculating capacitor usage, damage, and tank.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:328\nmsgid \"Failed to generate export data\"\nmsgstr \"\"\n\n#: gui/aboutData.py:34\nmsgid \"Fat Cow Icons by fatcow.com - Creative Commons Attribution 3.0 License\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:44\nmsgid \"Fetch Fits\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:114\nmsgid \"Fetching fits, please wait...\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:81\nmsgid \"Fi&t\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:156\nmsgid \"Fighter bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:114\nmsgid \"Fighter squadrons active\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:19\n#: gui/builtinContextMenus/additionsExportSelection.py:19\n#: gui/builtinContextMenus/additionsImport.py:20 gui/additionsPane.py:69\nmsgid \"Fighters\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Filament\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemFill.py:32\nmsgid \"Fill With Module\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\n#, python-brace-format\nmsgid \"Fill With {0}\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\nmsgid \"Fill with module\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:43\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\nmsgid \"Firepower\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\nmsgid \"Firestorm T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:135\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:137\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:206\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:208\nmsgid \"Firestorm T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\nmsgid \"Firestorm T4/T5/T6\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:306\nmsgid \"Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:47\nmsgid \"Fitting Database:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:27\nmsgid \"Fitting Engine\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57 gui/mainFrame.py:184\nmsgid \"Fittings\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:113\nmsgid \"Fleet hangar\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Formatting Tags\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:43 eos/saveddata/damagePattern.py:44\n#: eos/saveddata/damagePattern.py:45 eos/saveddata/damagePattern.py:46\n#: eos/saveddata/damagePattern.py:47 eos/saveddata/damagePattern.py:48\n#: eos/saveddata/damagePattern.py:49 eos/saveddata/damagePattern.py:50\n#: eos/saveddata/damagePattern.py:51 eos/saveddata/damagePattern.py:52\n#: eos/saveddata/damagePattern.py:53 eos/saveddata/damagePattern.py:54\nmsgid \"Frequency Crystals\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Frigate\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:116\nmsgid \"Fuel bay\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Full\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:83\nmsgid \"Fusion\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"GDs: missile flight range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:57\nmsgid \"Gallente (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:56\nmsgid \"Gallente (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/targetProfile.py:97\nmsgid \"Gallente EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/targetProfile.py:75\nmsgid \"Gallente Federation\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:57\nmsgid \"Game Database:\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:51\nmsgid \"Gamma\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\nmsgid \"Gamma T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:177\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:179\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:224\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:226\nmsgid \"Gamma T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Gamma T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:125\nmsgid \"Gas hold\"\nmsgstr \"Gas Retenido\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:20\nmsgid \"General\"\nmsgstr \"General\"\n\n#: gui/mainFrame.py:904\nmsgid \"Generating HTML file at: {}\"\nmsgstr \"Generando archivo HTML en: {}\"\n\n#: eos/saveddata/damagePattern.py:39 eos/saveddata/damagePattern.py:40\n#: eos/saveddata/damagePattern.py:41 eos/saveddata/damagePattern.py:42\nmsgid \"Generic\"\nmsgstr \"Generico\"\n\n#: gui/characterEditor.py:778\nmsgid \"Get Skills\"\nmsgstr \"Obtener habilidades\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:68\nmsgid \"Global Default Spoolup Percentage:\"\nmsgstr \"Porcentaje global por defecto de Spoolup:\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"Go to EVE Online Forum thread\"\nmsgstr \"Ir al hilo del Foro EVE Online\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"Go to wiki on GitHub\"\nmsgstr \"Ir al wiki en GitHub\"\n\n#: gui/characterSelection.py:102\nmsgid \"Grant Missing Skills\"\nmsgstr \"Otorgar habilidades perdidas\"\n\n#: graphs/gui/frame.py:51\nmsgid \"Graphs\"\nmsgstr \"Gráficos\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Gravimetric\"\nmsgstr \"Gravimétrico\"\n\n#: graphs/style.py:53\nmsgid \"Green\"\nmsgstr \"Verde\"\n\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:125\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:68\nmsgid \"Guristas\"\nmsgstr \"Guristas\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:172\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"HP\"\nmsgstr \"PS\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:19\nmsgid \"HTML Export\"\nmsgstr \"Exportar HTML\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:20\nmsgid \"HTML Export (File > Export HTML) allows you to export your entire fitting database into an HTML file at the specified location. This file can be used to easily open your fits in a web-based fitting program\"\nmsgstr \"HTML Export (Archivo > Exportar HTML) le permite exportar toda su base de datos a un archivo HTML en la ubicación especificada. Este archivo se puede utilizar para abrir fácilmente los ajustes en un programa de ajuste basado en web\"\n\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/targetProfile.py:87\nmsgid \"Hawk\"\nmsgstr \"Halcón\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Heavy\"\nmsgstr \"Pesado\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:136\nmsgid \"Hide Recent Fits\"\nmsgstr \"Ocultar ajustes recientes\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:53\n#: gui/builtinShipBrowser/navigationPanel.py:147\nmsgid \"Hide empty ship groups\"\nmsgstr \"Ocultar grupos de naves vacíos\"\n\n#: gui/builtinViewColumns/baseName.py:59\nmsgid \"High\"\nmsgstr \"Alto\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:19\nmsgid \"High Security\"\nmsgstr \"Alta seguridad\"\n\n#: eos/saveddata/targetProfile.py:48\nmsgid \"Hull\"\nmsgstr \"Casco\"\n\n#: eos/saveddata/targetProfile.py:51\nmsgid \"Hull (+T2 DCU)\"\nmsgstr \"Casco (+T2 DCU)\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:78\nmsgid \"Hull repair amount\"\nmsgstr \"Cantidad de reparación del Casco\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:114\nmsgid \"Hull resistance\"\nmsgstr \"Resistencia del Casco\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:49\n#: gui/builtinStatsViews/outgoingViewFull.py:50\nmsgid \"Hull restored\"\nmsgstr \"Casco restaurado\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Hull: \"\nmsgstr \"Casco: \"\n\n#: eos/saveddata/damagePattern.py:62 eos/saveddata/damagePattern.py:63\n#: eos/saveddata/damagePattern.py:64 eos/saveddata/damagePattern.py:65\n#: eos/saveddata/damagePattern.py:66 eos/saveddata/damagePattern.py:67\n#: eos/saveddata/damagePattern.py:68 eos/saveddata/damagePattern.py:69\n#: eos/saveddata/damagePattern.py:70 eos/saveddata/damagePattern.py:71\n#: eos/saveddata/damagePattern.py:72 eos/saveddata/damagePattern.py:73\nmsgid \"Hybrid Charges\"\nmsgstr \"Cargas hibridas\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:35\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: eos/saveddata/targetProfile.py:293\nmsgid \"Ideal Target\"\nmsgstr \"Objetivo ideal\"\n\n#: gui/builtinContextMenus/graphDroneControlRange.py:23\nmsgid \"Ignore Drone Control Range\"\nmsgstr \"Ignorar Rango de control de drones\"\n\n#: gui/builtinContextMenus/graphLockRange.py:23\nmsgid \"Ignore Lock Range\"\nmsgstr \"Ignorar rango de bloqueo\"\n\n#: gui/builtinContextMenus/graphDmgIgnoreResists.py:23\nmsgid \"Ignore Target Resists\"\nmsgstr \"Ignorar resistencia objetivo\"\n\n#: gui/setEditor.py:62\nmsgid \"Implant Set\"\nmsgstr \"Seleccion de Implantes\"\n\n#: gui/setEditor.py:122\nmsgid \"Implant Set Editor\"\nmsgstr \"Editor de seleccion de Implante\"\n\n#: gui/setEditor.py:50\nmsgid \"Implant Set name already in use, please choose another.\"\nmsgstr \"El nombre del Set de Implantes ya está en uso, por favor elija otro.\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\n#: gui/builtinContextMenus/additionsExportAll.py:21\n#: gui/builtinContextMenus/additionsExportAll.py:22\n#: gui/builtinContextMenus/additionsExportSelection.py:21\n#: gui/builtinContextMenus/additionsExportSelection.py:22\n#: gui/builtinContextMenus/additionsImport.py:22\n#: gui/builtinContextMenus/additionsImport.py:23 gui/characterEditor.py:161\n#: gui/additionsPane.py:75\nmsgid \"Implants\"\nmsgstr \"Implantes\"\n\n#: gui/builtinContextMenus/priceOptions.py:54\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:85\nmsgid \"Implants && Boosters\"\nmsgstr \"Implantes Y potenciadores\"\n\n#: gui/propertyEditor.py:38\nmsgid \"Import\"\nmsgstr \"Importar\"\n\n#: gui/mainFrame.py:946\nmsgid \"Import Error\"\nmsgstr \"Error al importar\"\n\n#: gui/characterEditor.py:442\nmsgid \"Import Skills\"\nmsgstr \"Importar habilidades\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"Import a fit from the clipboard\"\nmsgstr \"Importar un ajuste desde el portapapeles\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"Import characters into pyfa from file\"\nmsgstr \"Importar caracteres en pyfa desde el archivo\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"Import fittings into pyfa\"\nmsgstr \"Importar accesorios en pyfa\"\n\n#: gui/setEditor.py:148\nmsgid \"Import implant sets from clipboard\"\nmsgstr \"Importar conjuntos de implantes del portapapeles\"\n\n#: gui/propertyEditor.py:38 gui/propertyEditor.py:39\nmsgid \"Import overrides\"\nmsgstr \"Importar Overrides\"\n\n#: gui/patternEditor.py:171\nmsgid \"Import patterns from clipboard\"\nmsgstr \"Importar patrones del portapapeles\"\n\n#: gui/targetProfileEditor.py:221\nmsgid \"Import profiles from clipboard\"\nmsgstr \"Importar perfiles del portapapeles\"\n\n#: gui/propertyEditor.py:107\nmsgid \"Import pyfa override file\"\nmsgstr \"Importar archivo de Overrides de pyfa\"\n\n#: gui/characterEditor.py:372\nmsgid \"Import skills from clipboard\"\nmsgstr \"Importar habilidades del portapapeles\"\n\n#: gui/esiFittings.py:64\nmsgid \"Import to pyfa\"\nmsgstr \"Importar a pyfa\"\n\n#: gui/mainFrame.py:1019\nmsgid \"Importing Character...\"\nmsgstr \"Importando personaje...\"\n\n#: gui/mainFrame.py:844\nmsgid \"Importing fits\"\nmsgstr \"Importando Ajustes\"\n\n#: gui/characterEditor.py:440\nmsgid \"Importing skills into this character will set the skill levels as pending. To save the skills permanently, please click the Save button at the bottom of the window after importing\"\nmsgstr \"La importación de habilidades a este personaje establecerá los niveles de habilidad pendientes. Para guardar las habilidades de forma permanente, por favor haga clic en el botón Guardar en la parte inferior de la ventana después de importar\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Include formatting tags to paste fit directly into corp bulletins, MOTD, etc.\"\nmsgstr \"Incluye etiquetas de formato para pegar directamente en los boletines del cuerpo, MOTD, etc.\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:115\nmsgid \"Incoming damage pattern\"\nmsgstr \"Patrón de daño entrante\"\n\n#: gui/targetProfileEditor.py:50\nmsgid \"Incorrect formatting (decimals only)\"\nmsgstr \"Formato incorrecto (solo decimales)\"\n\n#: gui/targetProfileEditor.py:52\nmsgid \"Incorrect range (must be 0-100)\"\nmsgstr \"Rango incorrecto (debe ser 0-100)\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:121\nmsgid \"Industrial ship hold\"\nmsgstr \"Bodega industrial\"\n\n#: graphs/data/fitMobility/graph.py:46\nmsgid \"Inertia Modifier attribute value of the target ship\"\nmsgstr \"Valor del atributo modificador de inercia de la nave de destino\"\n\n#: eos/saveddata/damagePattern.py:87\nmsgid \"Inferno\"\nmsgstr \"Infierno\"\n\n#: eos/saveddata/damagePattern.py:47\nmsgid \"Infrared\"\nmsgstr \"Infrarrojo\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Interceptor\"\nmsgstr \"Interceptor\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:65\nmsgid \"Interested in helping with translations?\"\nmsgstr \"¿Interesado en ayudar con las traducciones?\"\n\n#: gui/mainFrame.py:892\nmsgid \"Invalid Path\"\nmsgstr \"Ruta inválida\"\n\n#: gui/esiFittings.py:232\nmsgid \"Invalid Token\"\nmsgstr \"Ficha no válida\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:94 eos/saveddata/targetProfile.py:95\n#: eos/saveddata/targetProfile.py:96 eos/saveddata/targetProfile.py:97\n#: eos/saveddata/targetProfile.py:98 eos/saveddata/targetProfile.py:230\n#: eos/saveddata/targetProfile.py:231 eos/saveddata/targetProfile.py:232\nmsgid \"Invasion\"\nmsgstr \"Invasion\"\n\n#: eos/saveddata/damagePattern.py:66\nmsgid \"Iridium\"\nmsgstr \"Iridio\"\n\n#: eos/saveddata/damagePattern.py:64\nmsgid \"Iron\"\nmsgstr \"Hierro\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:147\n#: gui/builtinContextMenus/itemRemove.py:43\n#: gui/builtinContextMenus/itemStats.py:38\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Item\"\nmsgstr \"Artículo\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:112\nmsgid \"Item Market Group Jump\"\nmsgstr \"Grupo de salto del articulo de mercado\"\n\n#: gui/itemStats.py:58\nmsgid \"Item stats\"\nmsgstr \"Estadisticas del articulo\"\n\n#: eos/saveddata/damagePattern.py:118 eos/saveddata/targetProfile.py:88\nmsgid \"Jaguar\"\nmsgstr \"Jaguar\"\n\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/targetProfile.py:76\nmsgid \"Khanid\"\nmsgstr \"Khanid\"\n\n#: eos/saveddata/damagePattern.py:41\n#: gui/builtinContextMenus/moduleAmmoChange.py:27\nmsgid \"Kinetic\"\nmsgstr \"Cinético\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:87\n#: gui/targetProfileEditor.py:121\nmsgid \"Kinetic resistance\"\nmsgstr \"Resistencia cinética\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Ladar\"\nmsgstr \"Ladar\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:38\nmsgid \"Language (requires restart)\"\nmsgstr \"Idioma (requiere reiniciar)\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:120\nmsgid \"Large ship hold\"\nmsgstr \"Bodega grande\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:77\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Lasts \"\nmsgstr \"Ultimos \"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:112\nmsgid \"Launcher hardpoints\"\nmsgstr \"Puntos fuertes del lanzador\"\n\n#: eos/saveddata/damagePattern.py:67\nmsgid \"Lead\"\nmsgstr \"Plomo\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:94\n#: gui/builtinContextMenus/moduleAmmoChange.py:112\nmsgid \"Less Damage\"\nmsgstr \"Menos daño\"\n\n#: gui/characterEditor.py:343\nmsgid \"Level\"\nmsgstr \"Nivel\"\n\n#: gui/builtinContextMenus/skillAffectors.py:79\n#, python-format\nmsgid \"Level %s\"\nmsgstr \"Nivel %s\"\n\n#: gui/builtinItemStatsViews/itemDependants.py:46 gui/characterEditor.py:591\n#: gui/characterEditor.py:616 gui/characterEditor.py:649\nmsgid \"Level {}\"\nmsgstr \"Nivel {}\"\n\n#: gui/characterEditor.py:532\nmsgid \"Level {}d\"\nmsgstr \"Nivel {}\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Light\"\nmsgstr \"Ligero\"\n\n#: service/market.py:266\nmsgid \"Limited Issue Ships\"\nmsgstr \"Nave de emision limitada\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Loaded Charges\"\nmsgstr \"Cargas Cargadas\"\n\n#: gui/mainFrame.py:271\nmsgid \"Loading previous fits...\"\nmsgstr \"Cargando los ajustes anteriores...\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Local Server\"\nmsgstr \"Servidor local\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:205\nmsgid \"Localized\"\nmsgstr \"Localizado\"\n\n#: graphs/data/fitLockTime/graph.py:34\nmsgid \"Lock Time\"\nmsgstr \"Tiempo de Bloqueo\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:201\nmsgid \"Lock Times\"\nmsgstr \"Tiempos de bloqueos\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Lock range reduction\"\nmsgstr \"Reducción del rango de bloqueo\"\n\n#: graphs/data/fitLockTime/graph.py:36\nmsgid \"Lock time\"\nmsgstr \"Tiempo de Bloqueo\"\n\n#: gui/characterEditor.py:794\nmsgid \"Log In with EVE SSO\"\nmsgstr \"Inicio de sesión con SSO\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:38\nmsgid \"Log file location:\"\nmsgstr \"Ubicación de archivos de log:\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:19\nmsgid \"Logging\"\nmsgstr \"Iniciar sesión\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:38\nmsgid \"Login Authentication Method\"\nmsgstr \"Método de autenticación de inicio de sesión\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:82\nmsgid \"Long Range\"\nmsgstr \"Largo Alcance\"\n\n#: gui/builtinViewColumns/baseName.py:61\nmsgid \"Low\"\nmsgstr \"Bajo\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:20\nmsgid \"Low Security\"\nmsgstr \"Baja seguridad\"\n\n#: graphs/style.py:56\nmsgid \"Magenta\"\nmsgstr \"Magenta\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Magnetometric\"\nmsgstr \"Magnetométrico\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:114\nmsgid \"Maintenance bay\"\nmsgstr \"Bahía de mantenimiento\"\n\n#: gui/mainFrame.py:671\nmsgid \"Manage Characters\"\nmsgstr \"Administrar personajes\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Manual\"\nmsgstr \"Manual\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Manual proxy settings\"\nmsgstr \"Configuración manual del proxy\"\n\n#: gui/mainFrame.py:180\nmsgid \"Market\"\nmsgstr \"Mercado\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:23\nmsgid \"Market & Prices\"\nmsgstr \"Mercado y precios\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:30\nmsgid \"Market && Prices\"\nmsgstr \"&Mercado y Precios\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:99\nmsgid \"Market Group Selection\"\nmsgstr \"Selección de Grupo de Mercado\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:91\nmsgid \"Market Search && Recent Items\"\nmsgstr \"Búsqueda de mercado y artículos recientes\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:39\nmsgid \"Market Search Delay (ms):\"\nmsgstr \"Retardo de búsqueda de mercado (ms):\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:225\nmsgid \"Mass:\\t{:,.0f}kg\"\nmsgstr \"Masa\\t{:,.0f}kg\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:124\nmsgid \"Material bay\"\nmsgstr \"Bahía de materiales\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:208\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:241\n#, python-format\nmsgid \"Max Warp Distance: %.1f AU\"\nmsgstr \"Distancia máxima de deformación: %.1f UA\"\n\n#: gui/targetProfileEditor.py:124\nmsgid \"Maximum speed\"\nmsgstr \"Velocidad Máxima\"\n\n#: gui/builtinViewColumns/baseName.py:60\nmsgid \"Med\"\nmsgstr \"Med\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:119\nmsgid \"Medium ship hold\"\nmsgstr \"Bodega mediana de nave\"\n\n#: eos/saveddata/damagePattern.py:58\nmsgid \"Meson\"\nmsgstr \"Meson\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:105\nmsgid \"Metaliminal Storm\"\nmsgstr \"Tormenta Metaliminal\"\n\n#: eos/saveddata/damagePattern.py:46\nmsgid \"Microwave\"\nmsgstr \"Microondas\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:123\nmsgid \"Mineral hold\"\nmsgstr \"Bodega de Mineral\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Minimal\"\nmsgstr \"Mínimo\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:39\nmsgid \"Mining Yield\"\nmsgstr \"Rendimiento minero\"\n\n#: eos/saveddata/targetProfile.py:59\nmsgid \"Minmatar (Armor)\"\nmsgstr \"Minmatar (Blindaje)\"\n\n#: eos/saveddata/targetProfile.py:58\nmsgid \"Minmatar (Shield)\"\nmsgstr \"Minmatar (Escudo)\"\n\n#: eos/saveddata/damagePattern.py:147 eos/saveddata/damagePattern.py:148\n#: eos/saveddata/targetProfile.py:98\nmsgid \"Minmatar EDENCOM Entities\"\nmsgstr \"Entidades EDENCOM Minmatar\"\n\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/targetProfile.py:77\nmsgid \"Minmatar Republic\"\nmsgstr \"República Minmatar\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\nmsgid \"Misc\"\nmsgstr \"Miscelaneos\"\n\n#: gui/builtinViewColumns/misc.py:50\nmsgid \"Misc data\"\nmsgstr \"Datos Miscelaneos\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"Missile flight range reduction\"\nmsgstr \"Reducción del rango de vuelo de misiles\"\n\n#: eos/saveddata/damagePattern.py:86 eos/saveddata/damagePattern.py:87\n#: eos/saveddata/damagePattern.py:88 eos/saveddata/damagePattern.py:89\nmsgid \"Missiles\"\nmsgstr \"Misiles\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/damagePattern.py:150\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/damagePattern.py:152\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/damagePattern.py:154\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/damagePattern.py:156\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78\nmsgid \"Mission\"\nmsgstr \"Misión\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:28\nmsgid \"Mixed\"\nmsgstr \"Mezclado\"\n\n#: eos/saveddata/damagePattern.py:86\nmsgid \"Mjolnir\"\nmsgstr \"Mjolnir\"\n\n#: graphs/data/fitMobility/graph.py:32\nmsgid \"Mobility\"\nmsgstr \"Movilidad\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:83\nmsgid \"Mode:\"\nmsgstr \"Modo:\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\nmsgid \"Module\"\nmsgstr \"Módulo\"\n\n#: graphs/data/fitMobility/graph.py:37\nmsgid \"Momentum\"\nmsgstr \"Momentum\"\n\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/targetProfile.py:78\nmsgid \"Mordus Legion\"\nmsgstr \"Legión Mordus\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:97\n#: gui/builtinContextMenus/moduleAmmoChange.py:115\nmsgid \"More Damage\"\nmsgstr \"Más daño\"\n\n#: eos/saveddata/damagePattern.py:52\nmsgid \"Multifrequency\"\nmsgstr \"Multifrecuencia\"\n\n#: eos/saveddata/fit.py:408\nmsgid \"Multispectral\"\nmsgstr \"Multispectral\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Mutated Attributes\"\nmsgstr \"Atributos Mutados\"\n\n#: gui/itemStats.py:170\nmsgid \"Mutations\"\nmsgstr \"Mutaciones\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:149\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/damagePattern.py:151\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/damagePattern.py:153\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/damagePattern.py:155\n#: eos/saveddata/damagePattern.py:156 eos/saveddata/damagePattern.py:157\n#: eos/saveddata/damagePattern.py:158 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:80 eos/saveddata/targetProfile.py:81\n#: eos/saveddata/targetProfile.py:82 eos/saveddata/targetProfile.py:83\n#: eos/saveddata/targetProfile.py:84 eos/saveddata/targetProfile.py:85\n#: eos/saveddata/targetProfile.py:86 eos/saveddata/targetProfile.py:87\n#: eos/saveddata/targetProfile.py:88 eos/saveddata/targetProfile.py:89\n#: eos/saveddata/targetProfile.py:90 eos/saveddata/targetProfile.py:91\n#: eos/saveddata/targetProfile.py:92 eos/saveddata/targetProfile.py:94\n#: eos/saveddata/targetProfile.py:95 eos/saveddata/targetProfile.py:96\n#: eos/saveddata/targetProfile.py:97 eos/saveddata/targetProfile.py:98\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\n#: eos/saveddata/targetProfile.py:230 eos/saveddata/targetProfile.py:231\n#: eos/saveddata/targetProfile.py:232\nmsgid \"NPC\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:30\n#: gui/builtinViewColumns/baseName.py:55\nmsgid \"Name\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:334\nmsgid \"Need at least one ESI character to export\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:117\nmsgid \"Need at least one ESI character to fetch\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:17\nmsgid \"Network\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:149\nmsgid \"Neutralizer resistance\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Neuts: cap per second\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount ({}-{})\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:45\nmsgid \"New Implant Set\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:51\nmsgid \"New fitting\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:58\nmsgid \"No\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:85\nmsgid \"No Profile\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:230\nmsgid \"No active fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"No changes to meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"No proxy\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\n#: gui/characterEditor.py:855\nmsgid \"None\"\nmsgstr \"\"\n\n#: graphs/style.py:80\nmsgid \"Normal\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:131\nmsgid \"Normal Subcaps\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:77\nmsgid \"Not Learned\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:399 service/character.py:322\nmsgid \"Not learned\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:87\nmsgid \"Notes\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:89\nmsgid \"Nova\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:77\nmsgid \"Nuclear\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:21\nmsgid \"Null Security\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Open &Dev Tools\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:150\nmsgid \"Open Character Editor\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitOpenNewTab.py:37\nmsgid \"Open Fit in New Tab\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:1010\nmsgid \"Open One Or More Character Files\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:834\nmsgid \"Open One Or More Fitting Files\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Wid&gets Inspect tool\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Widgets Inspect tool\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:136\nmsgid \"Open fittings in a new page by default\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipJump.py:35\nmsgid \"Open in Fitting Browser\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:227\nmsgid \"Open in new tab\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Optimize Prices\"\nmsgstr \"\"\n\n#: graphs/style.py:55\nmsgid \"Orange\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:122\nmsgid \"Ore hold\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:79 eos/saveddata/targetProfile.py:80\nmsgid \"Other\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:100 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:184\nmsgid \"Overmind\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:75\nmsgid \"Passive shield recharge\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:125\nmsgid \"Password:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsImport.py:40\nmsgid \"Paste {}\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:295\nmsgid \"Patterns exported to clipboard\"\nmsgstr \"\"\n\n#: gui/setEditor.py:210 gui/patternEditor.py:276\nmsgid \"Patterns successfully imported from clipboard\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:82\nmsgid \"Phased Plasma\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:128\nmsgid \"Planetary goods hold\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:721\nmsgid \"Please Wait...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:32\nmsgid \"Please see the pyfa wiki on GitHub for information regarding these options.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:315\nmsgid \"Please select an active fitting in the main window\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:758\nmsgid \"Please select another character or make a new one.\"\nmsgstr \"Por favor, selecciona otro carácter o crea uno nuevo.\"\n\n#: gui/mainFrame.py:895\nmsgid \"Please verify path location pyfa's preferences.\"\nmsgstr \"Por favor verifique la ubicación de ruta de las preferencias de Pyfa.\"\n\n#: gui/builtinContextMenus/graphFitAmmoPicker.py:29\nmsgid \"Plot with Different Ammo...\"\nmsgstr \"Parcela con diferentes municiones...\"\n\n#: eos/saveddata/damagePattern.py:70\nmsgid \"Plutonium\"\nmsgstr \"Plutonio\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Pod\"\nmsgstr \"Barra\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:109\nmsgid \"Port:\"\nmsgstr \"Puerto:\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:154\nmsgid \"PowerGrid\"\nmsgstr \"Red de Energía\"\n\n#: gui/preferenceDialog.py:31\nmsgid \"Preferences\"\nmsgstr \"Preferencias\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:59\nmsgid \"Pressing this button will cause all logs in memory to write to the log file:\"\nmsgstr \"Pulsar este botón hará que todos los registros en memoria escriban en el archivo de registro:\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:155\n#: gui/builtinStatsViews/priceViewFull.py:40\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\nmsgid \"Price\"\nmsgstr \"Precio\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:41\nmsgid \"Pricing updates\"\nmsgstr \"Precios actualizados\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:265\n#, python-format\nmsgid \"Probe Size: %.3f\"\nmsgstr \"Tamaño de sonda: %.3f\"\n\n#: gui/targetProfileEditor.py:372\nmsgid \"Profiles exported to clipboard\"\nmsgstr \"Perfiles exportados al portapapeles\"\n\n#: gui/targetProfileEditor.py:352\nmsgid \"Profiles successfully imported from clipboard\"\nmsgstr \"Perfiles importados correctamente del portapapeles\"\n\n#: gui/builtinShipBrowser/fitItem.py:230\nmsgid \"Project onto Active Fit\"\nmsgstr \"Proyectar sobre Ajustes activos\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\nmsgid \"Project onto Fit\"\nmsgstr \"Proyectar en los ajustes\"\n\n#: gui/builtinContextMenus/itemProject.py:34\n#, python-brace-format\nmsgid \"Project {0} onto Fit\"\nmsgstr \"Proyectar {0} en Ajustes\"\n\n#: gui/additionsPane.py:81\nmsgid \"Projected\"\nmsgstr \"Proyectado\"\n\n#: gui/builtinAdditionPanes/projectedView.py:304\n#: gui/builtinAdditionPanes/projectedView.py:314\n#: gui/builtinAdditionPanes/projectedView.py:319\n#: gui/builtinAdditionPanes/projectedView.py:324\nmsgid \"Projected Item\"\nmsgstr \"Objeto proyectado\"\n\n#: eos/saveddata/damagePattern.py:74 eos/saveddata/damagePattern.py:75\n#: eos/saveddata/damagePattern.py:76 eos/saveddata/damagePattern.py:77\n#: eos/saveddata/damagePattern.py:78 eos/saveddata/damagePattern.py:79\n#: eos/saveddata/damagePattern.py:80 eos/saveddata/damagePattern.py:81\n#: eos/saveddata/damagePattern.py:82 eos/saveddata/damagePattern.py:83\n#: eos/saveddata/damagePattern.py:84 eos/saveddata/damagePattern.py:85\nmsgid \"Projectile Ammo\"\nmsgstr \"Munición de proyectil\"\n\n#: gui/itemStats.py:200\nmsgid \"Properties\"\nmsgstr \"Atributos\"\n\n#: gui/builtinContextMenus/shipModeChange.py:19\nmsgid \"Propulsion\"\nmsgstr \"Propulsión\"\n\n#: eos/saveddata/damagePattern.py:78\nmsgid \"Proton\"\nmsgstr \"Proton\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:49\nmsgid \"Proxy settings\"\nmsgstr \"Configuración de proxy\"\n\n#: graphs/style.py:58\nmsgid \"Purple\"\nmsgstr \"Púrpura\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:222\nmsgid \"PvP Weather\"\nmsgstr \"Clima PvP\"\n\n#: gui/aboutData.py:49\nmsgid \"Pyfa (the Python Fitting Assistant) is an open-source standalone application able to create and simulate fittings for EVE-Online SciFi MMORPG with a very high degree of accuracy. Pyfa can run on all platforms where Python and wxWidgets are supported.\"\nmsgstr \"Pyfa (el Asistente de Fitting Python) es una aplicación independiente de código abierto capaz de crear y simular accesorios para MMORPG EVE-Online con un alto grado de precisión. Pyfa puede ejecutarse en todas las plataformas donde Python y wxWidgets son soportados.\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:44\nmsgid \"Pyfa Update checks\"\nmsgstr \"Comprobaciones de actualización de Pyfa\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:15\nmsgid \"Pyfa can automatically check and notify you of new releases. This feature is toggled in the Network settings. Here, you may allow pre-release notifications and view suppressed release notifications, if any.\"\nmsgstr \"Pyfa puede comprobarte y notificarte automáticamente de nuevas versiones. Esta característica está activada en la configuración de la red. Aquí, puede permitir notificaciones de pre-lanzamiento y ver notificaciones de liberación suprimidas, si las hay.\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:69\nmsgid \"Pyfa language selection disabled. Please check if .mo files have been generated.\\n\"\n\"Refer to locale/README.md for info.\"\nmsgstr \"Selección de idioma de Pyfa desactivada. Compruebe si se han generado archivos .mo.\\n\"\n\"Consulte locale/README.md para obtener información.\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:129\nmsgid \"Quafe hold\"\nmsgstr \"Bodega quafe\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of active items\"\nmsgstr \"Cantidad de artículos activos\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of all items\"\nmsgstr \"Cantidad de todos los artículos\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Radar\"\nmsgstr \"Radar\"\n\n#: eos/saveddata/damagePattern.py:45\nmsgid \"Radio\"\nmsgstr \"Radio\"\n\n#: gui/targetProfileEditor.py:126\nmsgid \"Radius\"\nmsgstr \"Radio\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:54\nmsgid \"Random stats\"\nmsgstr \"Estadísticas aleatorias\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:63\nmsgid \"Range\"\nmsgstr \"Alcance\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:222\nmsgid \"Raw HP: \"\nmsgstr \"HP Bruto: \"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:223\n#, python-format\nmsgid \"Raw: %d HP\"\nmsgstr \"Bruto: %d HP\"\n\n#: gui/mainFrame.py:652\nmsgid \"Re-enabling fitting restrictions for this fit will also remove any illegal items from the fit. Do you want to continue?\"\nmsgstr \"Rehabilitando las restricciones de ajuste para este ajuste también eliminará cualquier objeto ilegal del ajuste. ¿Quieres continuar?\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:56\n#: gui/builtinShipBrowser/navigationPanel.py:129\nmsgid \"Recent Fits\"\nmsgstr \"Ajustes recientes\"\n\n#: gui/builtinMarketBrowser/marketTree.py:37\nmsgid \"Recently Used Items\"\nmsgstr \"Artículos usados recientemente\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:43\nmsgid \"Recharge rates\"\nmsgstr \"Tasas de recarga\"\n\n#: graphs/style.py:52\nmsgid \"Red\"\nmsgstr \"Rojo\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"Redo the most recent undone action\"\nmsgstr \"Rehacer la acción deshecha más reciente\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:62\n#: gui/builtinItemStatsViews/itemAffectedBy.py:77\n#: gui/builtinItemStatsViews/itemCompare.py:79\nmsgid \"Refresh\"\nmsgstr \"Actualizar\"\n\n#: gui/characterSelection.py:68\nmsgid \"Refresh Skills\"\nmsgstr \"Actualizar Habilidades\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:86\nmsgid \"Reinforced\"\nmsgstr \"Reforzado\"\n\n#: graphs/data/fitRemoteReps/graph.py:62\nmsgid \"Reload ancillary RRs\"\nmsgstr \"Recargar RRs auxiliares\"\n\n#: graphs/data/fitRemoteReps/graph.py:48\nmsgid \"Remote Repairs\"\nmsgstr \"Reparaciones remotas\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:65\n#: gui/builtinStatsViews/outgoingViewFull.py:66\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Remote Reps\"\nmsgstr \"Reparaciones remotas\"\n\n#: gui/esiFittings.py:387\nmsgid \"Remove Character\"\nmsgstr \"Eliminar personaje\"\n\n#: gui/propertyEditor.py:71\nmsgid \"Remove Overides for Item\"\nmsgstr \"Quitar los Overrides del elemento\"\n\n#: gui/builtinContextMenus/itemRemove.py:42\n#, python-brace-format\nmsgid \"Remove {item}{stack}\"\nmsgstr \"Eliminar {item}{stack}\"\n\n#: gui/builtinShipBrowser/fitItem.py:108\nmsgid \"Rename\"\nmsgstr \"Renombrar\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:118\nmsgid \"Reopen previous fits on startup\"\nmsgstr \"Reabrir los ajustes anteriores al inicio\"\n\n#: graphs/data/fitRemoteReps/graph.py:53\nmsgid \"Repair speed\"\nmsgstr \"Velocidad de reparación\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Replace items by cheaper alternatives\"\nmsgstr \"Reemplazar artículos por alternativas más baratas\"\n\n#: gui/itemStats.py:185\nmsgid \"Requirements\"\nmsgstr \"Requisitos\"\n\n#: gui/builtinContextMenus/moduleSpool.py:98\nmsgid \"Reset\"\nmsgstr \"Reiniciar\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:76\nmsgid \"Reset Suppression\"\nmsgstr \"Reiniciar supresión\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:51\nmsgid \"Reset defaults\"\nmsgstr \"Restablecer predeterminados\"\n\n#: gui/builtinContextMenus/resistMode.py:41\nmsgid \"Resist Mode\"\nmsgstr \"Modo resistente\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:213\nmsgid \"Resist Multiplier: \"\nmsgstr \"Multiplicador de resistencia: \"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:47\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\nmsgid \"Resistances\"\nmsgstr \"Resistencias\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:84\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\nmsgid \"Resources\"\nmsgstr \"Recursos\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:57\nmsgid \"Revert changes\"\nmsgstr \"Revertir cambios\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Revert to {}\"\nmsgstr \"Revertir a {}\"\n\n#: gui/builtinViewColumns/baseName.py:63\nmsgid \"Rig\"\nmsgstr \"Rig\"\n\n#: eos/saveddata/damagePattern.py:108 eos/saveddata/damagePattern.py:126\nmsgid \"Rogue Drone\"\nmsgstr \"Rogue Drone\"\n\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/targetProfile.py:231\nmsgid \"Rogue Drone Entities\"\nmsgstr \"Rogue Drone Entidades\"\n\n#: eos/saveddata/targetProfile.py:63 eos/saveddata/targetProfile.py:69\nmsgid \"Rogue Drones\"\nmsgstr \"Rogue Drones\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:34\nmsgid \"Run Time\"\nmsgstr \"Tiempo de ejecución\"\n\n#: gui/esiFittings.py:368\nmsgid \"SSO Character Management\"\nmsgstr \"Gestión de caracteres SSO\"\n\n#: gui/ssoLogin.py:15 gui/ssoLogin.py:49\nmsgid \"SSO Login\"\nmsgstr \"Inicio de sesión SSO\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:45\nmsgid \"SSO Mode\"\nmsgstr \"Modo SSO\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:126\nmsgid \"Salvage hold\"\nmsgstr \"Bodega de salvamento\"\n\n#: locale_test/getTextLocale.py:4\nmsgid \"Sample Title Text English\"\nmsgstr \"Texto del título del ejemplo en inglés\"\n\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/targetProfile.py:192\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:198\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:204\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:210\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:216\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:222\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:228\nmsgid \"Sansha\"\nmsgstr \"Sansha\"\n\n#: eos/saveddata/damagePattern.py:157 eos/saveddata/targetProfile.py:80\n#: gui/builtinContextMenus/envEffectAdd.py:124\nmsgid \"Sansha Incursion\"\nmsgstr \"Incursión Sansha\"\n\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:127\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:70\nmsgid \"Sanshas Nation\"\nmsgstr \"Nación Sanshas\"\n\n#: gui/mainFrame.py:858\nmsgid \"Save Backup As...\"\nmsgstr \"Guardar copia de seguridad como...\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:117\nmsgid \"Save CSV file\"\nmsgstr \"Guardar archivo CSV\"\n\n#: gui/mainMenuBar.py:114\nmsgid \"Save Character &As...\"\nmsgstr \"Guardar personaje y como...\"\n\n#: gui/characterEditor.py:282\nmsgid \"Save Character As...\"\nmsgstr \"Guardar personaje como...\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:48\n#: gui/mainFrame.py:465\nmsgid \"Save Fitting As...\"\nmsgstr \"Guardar Ajuste como...\"\n\n#: gui/propertyEditor.py:130\nmsgid \"Save Overrides As...\"\nmsgstr \"Guardar sobrescritos como...\"\n\n#: gui/builtinContextMenus/implantSetSave.py:27\nmsgid \"Save as New Implant Set\"\nmsgstr \"Guardar como nuevo conjunto de implantes\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:64\nmsgid \"Scan res.\"\nmsgstr \"Escanear res.\"\n\n#: eos/saveddata/damagePattern.py:91\nmsgid \"Scorch Bomb\"\nmsgstr \"Bomba Abrasadora\"\n\n#: eos/saveddata/damagePattern.py:88\nmsgid \"Scourge\"\nmsgstr \"Plaga\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:61\nmsgid \"Search fittings\"\nmsgstr \"Buscar accesorios\"\n\n#: gui/characterEditor.py:356\n#, python-brace-format\nmsgid \"Sec Status: {0:.2f}\"\nmsgstr \"Estado de sec: {0:.2f}\"\n\n#: gui/characterEditor.py:914\nmsgid \"Security Status is used in some CONCORD hull calculations\"\nmsgstr \"Estado de seguridad se utiliza en algunos CONCORD\"\n\n#: eos/saveddata/damagePattern.py:102 eos/saveddata/targetProfile.py:101\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:115\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:129\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:143\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:157\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:171\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:185\nmsgid \"Seeker\"\nmsgstr \"Seeker\"\n\n#: gui/copySelectDialog.py:62\nmsgid \"Select a format\"\nmsgstr \"Seleccionar formato\"\n\n#: gui/esiFittings.py:318\nmsgid \"Sending request and awaiting response\"\nmsgstr \"Enviando solicitud y esperando respuesta\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:65\nmsgid \"Sensor str.\"\nmsgstr \"Sensor str.\"\n\n#: eos/saveddata/damagePattern.py:122 eos/saveddata/targetProfile.py:92\nmsgid \"Sentinel\"\nmsgstr \"Centinela\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:122\nmsgid \"Separate Racks\"\nmsgstr \"Estantes separados\"\n\n#: eos/saveddata/damagePattern.py:110 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:65 eos/saveddata/targetProfile.py:71\nmsgid \"Serpentis\"\nmsgstr \"Serpentis\"\n\n#: gui/builtinViewColumns/baseName.py:64\nmsgid \"Service\"\nmsgstr \"Servicio\"\n\n#: gui/characterEditor.py:907\nmsgid \"Set Security Status\"\nmsgstr \"Establecer estado de seguridad\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\nmsgid \"Set as Damage Pattern\"\nmsgstr \"Establecer como patrón de daño\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:53\nmsgid \"Set export destination\"\nmsgstr \"Definir destino de exportación\"\n\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Set {} as Damage Pattern\"\nmsgstr \"Establecer {} como patrón de daño\"\n\n#: gui/setEditor.py:229\nmsgid \"Sets exported to clipboard\"\nmsgstr \"Configurar exportados al portapapeles\"\n\n#: gui/characterEditor.py:326\nmsgid \"Setting an Alpha clone does not replace the character's skills, but rather caps them to Alpha levels.\"\nmsgstr \"Establecer un clon alfa no reemplaza las habilidades del personaje, sino que las limita a niveles alfa.\"\n\n#: gui/builtinContextMenus/shipModeChange.py:20\nmsgid \"Sharpshooter\"\nmsgstr \"Tirador Experto\"\n\n#: eos/saveddata/targetProfile.py:46\nmsgid \"Shield\"\nmsgstr \"Escudo\"\n\n#: eos/saveddata/targetProfile.py:49\nmsgid \"Shield (+T2 DCU)\"\nmsgstr \"Escudo (+T2 DCU)\"\n\n#: graphs/data/fitShieldRegen/graph.py:38\nmsgid \"Shield Regeneration\"\nmsgstr \"Regeneración de escudo\"\n\n#: graphs/data/fitShieldRegen/graph.py:42\n#: graphs/data/fitShieldRegen/graph.py:55\n#: graphs/data/fitShieldRegen/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:61\nmsgid \"Shield amount\"\nmsgstr \"Cantidad de escudo\"\n\n#: graphs/data/fitShieldRegen/graph.py:62\nmsgid \"Shield regen\"\nmsgstr \"Regeneración de escudo\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:112\nmsgid \"Shield resistance\"\nmsgstr \"Resistencia del escudo\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:37\n#: gui/builtinStatsViews/outgoingViewFull.py:38\nmsgid \"Shield restored\"\nmsgstr \"Escudo restaurado\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\nmsgid \"Shield/Armor Tank\"\nmsgstr \"Tanque de escudo/armadura\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Shield: \"\nmsgstr \"Escudo: \"\n\n#: gui/builtinViews/fittingView.py:664\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57\nmsgid \"Ship\"\nmsgstr \"Nave\"\n\n#: gui/builtinShipBrowser/shipItem.py:111\nmsgid \"Ship Basic\"\nmsgstr \"Nave básica\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:48\nmsgid \"Ship groups\"\nmsgstr \"Grupos de naves\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:117\nmsgid \"Ship hold\"\nmsgstr \"Bodega de nave\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:100\nmsgid \"Short Range\"\nmsgstr \"Corto Alcance\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:126\nmsgid \"Show Rack Labels\"\nmsgstr \"Mostrar etiquetas de estante\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:151\nmsgid \"Show empty ship groups\"\nmsgstr \"Mostrar grupos de naves vacíos\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:130\nmsgid \"Show fitting tab tooltips\"\nmsgstr \"Mostrar herramientas de pestaña de ajuste\"\n\n#: graphs/gui/ctrlPanel.py:71\nmsgid \"Show legend\"\nmsgstr \"Mostrar la leyenda\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:52\nmsgid \"Show market shortcuts\"\nmsgstr \"Mostrar accesos directos del mercado\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:140\nmsgid \"Show ship browser tooltip\"\nmsgstr \"Mostrar descripción del navegador de nave\"\n\n#: eos/saveddata/damagePattern.py:93\nmsgid \"Shrapnel Bomb\"\nmsgstr \"Bomba del Shrapnel\"\n\n#: gui/builtinContextMenus/boosterSideEffects.py:34\nmsgid \"Side Effects\"\nmsgstr \"Efectos laterales\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:88\nmsgid \"Signature\"\nmsgstr \"Firma\"\n\n#: gui/targetProfileEditor.py:125\nmsgid \"Signature radius\\n\"\n\"Leave blank for infinitely big value\"\nmsgstr \"Radio de firma\\n\"\n\"Dejar en blanco para valor infinito grande\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"Signature radius increase\"\nmsgstr \"Aumento del radio de la firma\"\n\n#: gui/aboutData.py:33\nmsgid \"Silk Icons Set by famfamfam.com - Creative Commons Attribution 2.5 License\"\nmsgstr \"Iconos de seda establecidos por famfamfam.com - Licencia Creative Commons Attribution 2.5\"\n\n#: gui/characterEditor.py:342 gui/characterEditor.py:608\nmsgid \"Skill\"\nmsgstr \"Habilidad\"\n\n#: gui/characterEditor.py:160\nmsgid \"Skills\"\nmsgstr \"Habilidades\"\n\n#: gui/characterSelection.py:242\nmsgid \"Skills required:\"\nmsgstr \"Habilidades requeridas:\"\n\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:104 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:118 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:132 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:146 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:160 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:174 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:188\nmsgid \"Sleeper\"\nmsgstr \"Durmiente\"\n\n#: eos/saveddata/damagePattern.py:161 eos/saveddata/targetProfile.py:232\nmsgid \"Sleeper Entities\"\nmsgstr \"Entidades Durmientes\"\n\n#: eos/saveddata/damagePattern.py:158\nmsgid \"Sleepers\"\nmsgstr \"Durmientes\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:118\nmsgid \"Small ship hold\"\nmsgstr \"Bodega de nave pequeña\"\n\n#: graphs/style.py:86\nmsgid \"Solid\"\nmsgstr \"Sólido\"\n\n#: graphs/data/fitMobility/graph.py:35\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:86\nmsgid \"Speed\"\nmsgstr \"Velocidad\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Speed reduction\"\nmsgstr \"Reducción de velocidad\"\n\n#: gui/builtinContextMenus/droneSplitStack.py:29\nmsgid \"Split {} Stack\"\nmsgstr \"Dividir {} Pila\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:169\nmsgid \"Spool up\"\nmsgstr \"Poner arriba en la cola\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\nmsgid \"Spoolup\"\nmsgstr \"Poner arriba en cola\"\n\n#: gui/builtinContextMenus/moduleSpool.py:37\nmsgid \"Spoolup Cycles\"\nmsgstr \"Ciclos de subida en cola\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Stable: \"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:48\nmsgid \"Standard\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:46\nmsgid \"Starting cap amount\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:46\nmsgid \"Starting shield amount\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:22\nmsgid \"Statistics Panel\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:45\nmsgid \"Stick to Attacker\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:44\nmsgid \"Stick to Target\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:145 eos/saveddata/damagePattern.py:148\nmsgid \"Subcaps\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:136\n#, no-python-format\nmsgid \"Subcaps w/missiles 0% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:142\n#, no-python-format\nmsgid \"Subcaps w/missiles 100% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:139\n#, no-python-format\nmsgid \"Subcaps w/missiles 50% spool up\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:62\nmsgid \"Subsystem\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:901\nmsgid \"Success\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:901\nmsgid \"Successfully fetched skills\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:114 eos/saveddata/targetProfile.py:84\nmsgid \"Succubus (Sanshas Nation)\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Support\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:48\n#, python-brace-format\nmsgid \"Suppressing {0} Notifications\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:87\nmsgid \"Sustained\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:46 eos/saveddata/targetProfile.py:47\n#: eos/saveddata/targetProfile.py:48 eos/saveddata/targetProfile.py:49\n#: eos/saveddata/targetProfile.py:50 eos/saveddata/targetProfile.py:51\nmsgid \"T1 Resist\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:52 eos/saveddata/targetProfile.py:53\n#: eos/saveddata/targetProfile.py:54 eos/saveddata/targetProfile.py:55\n#: eos/saveddata/targetProfile.py:56 eos/saveddata/targetProfile.py:57\n#: eos/saveddata/targetProfile.py:58 eos/saveddata/targetProfile.py:59\nmsgid \"T2 Resist\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"TDs: turret optimal range reduction\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"TPs: signature radius increase\"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:660 gui/builtinViewColumns/baseName.py:102\n#: gui/builtinContextMenus/shipModeChange.py:37\nmsgid \"Tactical Mode\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/targetProfile.py:91\nmsgid \"Talos\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:75 graphs/gui/lists.py:359\nmsgid \"Target\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:86\nmsgid \"Target Profile\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:130\nmsgid \"Target Profile Editor\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:73\nmsgid \"Target Profile name already in use, please choose another.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:33\nmsgid \"Target Resists\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Target distance traveled\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:45\nmsgid \"Target inertia factor\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:43\nmsgid \"Target mass\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:45\nmsgid \"Target resistance\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:37 graphs/data/fitDamageStats/graph.py:71\nmsgid \"Target signature\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:35 graphs/data/fitDamageStats/graph.py:62\n#: graphs/data/fitDamageStats/graph.py:63\nmsgid \"Target signature radius\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:38 graphs/data/fitDamageStats/graph.py:60\n#: graphs/data/fitDamageStats/graph.py:61\n#: graphs/data/fitDamageStats/graph.py:70\nmsgid \"Target speed\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:40\nmsgid \"Targeting && Misc\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:62\nmsgid \"Targets\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:60\nmsgid \"Tetryon\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:809\nmsgid \"Text skills training file\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:72\nmsgid \"The amount of spoolup to use by default on module which support it. Can be changed on a per-module basis\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:44\nmsgid \"The delay between a keystroke and the market search. Can help reduce lag when typing fast in the market search box.\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:949\nmsgid \"The following error was generated\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:893\nmsgid \"The following path is invalid or does not exist:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:64\nmsgid \"The source you choose will be tried first, but subsequent sources will be used if the preferred source fails. The system you choose will also be tried first, and if no data is available, global price will be used.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:53\nmsgid \"There is a release available which you have chosen to suppress. You can choose to reset notification suppression for this release, or download the new release from GitHub.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:463\nmsgid \"There was an error importing skills, please see log file\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:230\nmsgid \"There was an error validating characters' SSO token. Please try logging into the character again to reset the token.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:213\nmsgid \"There was an issue starting up the localized server, try setting Login Authentication Method to Manual by going to Preferences -> EVE SS0 -> Login Authentication Method. If this doesn't fix the problem please file an issue on Github.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:40\n#: gui/builtinContextMenus/moduleAmmoChange.py:25\nmsgid \"Thermal\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:86\n#: gui/targetProfileEditor.py:120\nmsgid \"Thermal resistance\"\nmsgstr \"Resistencia térmica\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:107\nmsgid \"This is a destructive action that will delete all cached prices out of the database.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"Esta es una acción destructiva que eliminará todos los precios almacenados en caché fuera de la base de datos.\\n\"\n\"¿Está seguro de que desea hacer esto?\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:97\nmsgid \"This is a destructive action that will delete all damage pattern profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"Esta es una acción destructiva que eliminará todos los precios almacenados en caché fuera de la base de datos.\\n\"\n\"¿Está seguro de que desea hacer esto?\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:102\nmsgid \"This is a destructive action that will delete all target profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"Esta es una acción destructiva que eliminará todos los perfiles de destino.\\n\"\n\"¿Está seguro de que desea hacer esto?\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:49\nmsgid \"This option goes through EVE SSO directly, but requires more configuration. Use this if pyfa.io is blocked for some reason, or if you do not wish to route data throguh pyfa.io.\"\nmsgstr \"Esta opción pasa directamente por EVE SSO, pero requiere más configuración. Use esto si pyfa. o está bloqueado por alguna razón, o si usted no desea ruta de datos throguh pyfa.io.\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:42\nmsgid \"This option prompts users to copy and paste information from the web application to allow for character login. Use this if having issues with the local server.\"\nmsgstr \"Esta opción permite a los usuarios copiar y pegar información de la aplicación web para permitir el acceso a caracteres. Usa esto si tienes problemas con el servidor local.\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:47\nmsgid \"This options routes SSO Logins through pyfa.io, allowing you to easily login without any configuration. When in doubt, use this option.\"\nmsgstr \"Esta opción enlaza las conexiones SSO a través de pyfa.io, lo que le permite iniciar sesión fácilmente sin ninguna configuración.\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:40\nmsgid \"This options starts a local webserver that the web application will call back to with information about the character login.\"\nmsgstr \"Esta opción inicia un servidor web local al que la aplicación web volverá a llamar con información acerca del inicio de sesión de caracteres.\"\n\n#: eos/saveddata/damagePattern.py:68\nmsgid \"Thorium\"\nmsgstr \"Thorium\"\n\n#: eos/saveddata/damagePattern.py:156\nmsgid \"Thukker\"\nmsgstr \"Thukker\"\n\n#: graphs/data/fitMobility/graph.py:33 graphs/data/fitMobility/graph.py:41\n#: graphs/data/fitCapacitor/graph.py:34 graphs/data/fitCapacitor/graph.py:41\n#: graphs/data/fitRemoteReps/graph.py:51 graphs/data/fitRemoteReps/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:40\n#: graphs/data/fitShieldRegen/graph.py:54\n#: graphs/data/fitDamageStats/graph.py:59\n#: graphs/data/fitDamageStats/graph.py:68\nmsgid \"Time\"\nmsgstr \"Tiempo\"\n\n#: eos/saveddata/damagePattern.py:80\nmsgid \"Titanium Sabot\"\nmsgstr \"Aleación de titanio\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:70\nmsgid \"Toggle Names\"\nmsgstr \"Cambiar nombres\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:73\nmsgid \"Toggle View\"\nmsgstr \"Alternar vista\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:75\nmsgid \"Toggle view mode\"\nmsgstr \"Alternar modo de visualización\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/miningyieldViewFull.py:89\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Total\"\nmsgstr \"Total\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:76\nmsgid \"Total Price Includes\"\nmsgstr \"Precio total incluido\"\n\n#: graphs/data/fitRemoteReps/graph.py:54\nmsgid \"Total repaired\"\nmsgstr \"Total reparado\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:67\nmsgid \"Total: \"\nmsgstr \"Total: \"\n\n#: gui/itemStats.py:166\nmsgid \"Traits\"\nmsgstr \"Rasgos\"\n\n#: eos/saveddata/damagePattern.py:104 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:186\nmsgid \"Triglavian\"\nmsgstr \"Triglavian\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/targetProfile.py:94\nmsgid \"Triglavian Entities\"\nmsgstr \"Entidades Triglavianas\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:126\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Triglavian Invasion\"\nmsgstr \"Invasión Triglaviana\"\n\n#: eos/saveddata/damagePattern.py:65\nmsgid \"Tungsten\"\nmsgstr \"Tungsteno\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:111\nmsgid \"Turret hardpoints\"\nmsgstr \"Puntos fuertes de la torreta\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"Turret optimal range reduction\"\nmsgstr \"Reducción óptima del alcance de la torreta\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:32\nmsgid \"Type\"\nmsgstr \"Tipo\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:218\n#, python-brace-format\nmsgid \"Type: {0}\\n\"\nmsgstr \"Tipo: {0}\\n\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:222\nmsgid \"Type: {}\"\nmsgstr \"Tipo: {}\"\n\n#: eos/saveddata/damagePattern.py:49\nmsgid \"Ultraviolet\"\nmsgstr \"Ultravioleta\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"Undo the most recent action\"\nmsgstr \"Deshacer la acción más reciente\"\n\n#: eos/saveddata/damagePattern.py:38\nmsgid \"Uniform\"\nmsgstr \"Uniforme\"\n\n#: eos/saveddata/targetProfile.py:42\nmsgid \"Uniform (25%)\"\nmsgstr \"Uniforme (25%)\"\n\n#: eos/saveddata/targetProfile.py:43\nmsgid \"Uniform (50%)\"\nmsgstr \"Uniforme (50%)\"\n\n#: eos/saveddata/targetProfile.py:44\nmsgid \"Uniform (75%)\"\nmsgstr \"Uniforme (75%)\"\n\n#: eos/saveddata/targetProfile.py:45\nmsgid \"Uniform (90%)\"\nmsgstr \"Uniforme (90%)\"\n\n#: gui/characterEditor.py:614\nmsgid \"Unlearn\"\nmsgstr \"Desaprender\"\n\n#: gui/updateDialog.py:54\nmsgid \"Update Available\"\nmsgstr \"Actualización Disponible\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:14\nmsgid \"Updates\"\nmsgstr \"Actualizaciones\"\n\n#: eos/saveddata/damagePattern.py:69\nmsgid \"Uranium\"\nmsgstr \"Uranio\"\n\n#: gui/builtinAdditionPanes/implantView.py:68\nmsgid \"Use Character Implants\"\nmsgstr \"Usar Implantes de Personaje\"\n\n#: gui/builtinAdditionPanes/implantView.py:67\nmsgid \"Use Fit-specific Implants\"\nmsgstr \"Usar Implantes específicos de Ajuste\"\n\n#: graphs/data/fitCapacitor/graph.py:48\nmsgid \"Use capacitor simulator\"\nmsgstr \"Usar simulador de capacitador\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:102\nmsgid \"Use character implants by default for new fits\"\nmsgstr \"Usar implantes de personajes por defecto para nuevos ajustes\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:98\nmsgid \"Use global character\"\nmsgstr \"Usar personaje global\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:106\nmsgid \"Use global damage pattern\"\nmsgstr \"Usar patrón de daño global\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:121\nmsgid \"Username:\"\nmsgstr \"Nombre de usuario:\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:34\nmsgid \"Using Executable Path for Saved Fit Database and Settings\"\nmsgstr \"Utilizando ruta ejecutable para la base de datos guardada de ajustes\"\n\n#: gui/builtinContextMenus/itemVariationChange.py:49\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\nmsgid \"Variations\"\nmsgstr \"Variaciones\"\n\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/targetProfile.py:89\nmsgid \"Vengeance\"\nmsgstr \"Venganza\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:53\nmsgid \"View Raw Data\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Volley\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:22\nmsgid \"W-Space\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:62\nmsgid \"Waiting for character login through EVE Single Sign-On.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:210\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:212\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:243\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:245\n#, python-format\nmsgid \"Warp Core Strength: %.1f\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:89\nmsgid \"Warp Speed\"\nmsgstr \"\"\n\n#: graphs/data/fitWarpTime/graph.py:45\nmsgid \"Warp Time\"\nmsgstr \"\"\n\n#: graphs/data/fitWarpTime/graph.py:49\nmsgid \"Warp time\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Weapon\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Webs: speed reduction\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:61\nmsgid \"When damage profile is Uniform, set Reactive Armor Hardener to match (old behavior).\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:149\nmsgid \"When disabled, reloads charges just in selected modules. Action can be reversed by holding Ctrl or Alt key while changing charge.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:54\nmsgid \"When enabled, skills will check their dependencies' requirements when their levels change and reset skills that no longer meet the requirement.\\n\"\n\"eg: Setting Drones from level V to IV will reset the Heavy Drone Operation skill, as that requires Drones V\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:69\nmsgid \"When set, uses attacker's exact damage stats at a given time\\n\"\n\"When not set, uses attacker's damage stats as shown in stats panel of main window\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:57\nmsgid \"When set, uses repairing ship's exact RR stats at a given time\\n\"\n\"When not set, uses repairing ship's RR stats as shown in stats panel of main window\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/targetProfile.py:85\nmsgid \"Worm (Guristas)\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:116\nmsgid \"Wormhole\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:50\nmsgid \"Xray\"\nmsgstr \"\"\n\n#: graphs/style.py:59\nmsgid \"Yellow\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:56\nmsgid \"Yes\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:757\nmsgid \"You cannot link All 0 or All 5 characters to an EVE character.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:76\nmsgid \"You must supply a name for the Character!\"\nmsgstr \"\"\n\n#: gui/setEditor.py:48\nmsgid \"You must supply a name for the Implant Set!\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:51\nmsgid \"You must supply a name for your Damage Profile!\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:71\nmsgid \"You must supply a name for your Target Profile!\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:43\nmsgid \"[T2] Aurora\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:75\nmsgid \"[T2] Barrage\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:54\nmsgid \"[T2] Conflagration\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:53\nmsgid \"[T2] Gleam\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:85\nmsgid \"[T2] Hail\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:72\nmsgid \"[T2] Javelin\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:57\nmsgid \"[T2] Mystic\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:63\nmsgid \"[T2] Null\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:61\nmsgid \"[T2] Occult\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:84\nmsgid \"[T2] Quake\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:44\nmsgid \"[T2] Scorch\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:62\nmsgid \"[T2] Spike\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:74\nmsgid \"[T2] Tremor\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:73\nmsgid \"[T2] Void\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"em\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"exp\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"explosive\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"kin\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"kinetic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:38\nmsgid \"pyfa User Path:\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:69\nmsgid \"pyfa error\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:76\nmsgid \"pyfa has experienced an unexpected issue. Below is a message that contains crucial \\n\"\n\"information about how this was triggered. Please contact the developers with the \\n\"\n\"information provided through the EVE Online forums or file a GitHub issue.\"\nmsgstr \"\"\n\n#: gui/aboutData.py:31\nmsgid \"pyfa is released under GNU GPLv3 - see included LICENSE file\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:108\nmsgid \"pyfa override file\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:131\nmsgid \"pyfa overrides\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"pyfa.io\"\nmsgstr \"pyfa.io\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:47\nmsgid \"pyfa:\"\nmsgstr \"pyfa:\"\n\n#: eos/utils/stats.py:123\nmsgid \"th\"\nmsgstr \"th\"\n\n#: eos/utils/stats.py:123\nmsgid \"thermal\"\nmsgstr \"térmico\"\n\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#, python-brace-format\nmsgid \"{0} Market Group\"\nmsgstr \"{0} Grupo de Mercado\"\n\n#: gui/itemStats.py:87\n#, python-brace-format\nmsgid \"{context}Stats: {name}{debug_info}\"\nmsgstr \"{context}Stats: {name}{debug_info}\"\n\n#: gui/pyfa_gauge.py:347\n#, python-brace-format\nmsgid \"{{0:.{0}f}} left\"\nmsgstr \"{{0:.{0}f}} Izda\"\n\n#: gui/pyfa_gauge.py:344\n#, python-brace-format\nmsgid \"{{0:.{0}f}} over\"\nmsgstr \"{{0:.{0}f}} sobre\"\n\n#: gui/builtinContextMenus/moduleSpool.py:83\nmsgid \"{} (default)\"\nmsgstr \"{} (predeterminado)\"\n\n#: gui/characterEditor.py:284\nmsgid \"{} Copy\"\nmsgstr \"{} Copia\"\n\n#: gui/builtinContextMenus/itemStats.py:38\nmsgid \"{} Stats\"\nmsgstr \"{} Estadisticas\"\n\n#: gui/builtinViewColumns/baseName.py:104\nmsgid \"{} {} Slot\"\nmsgid_plural \"{} {} Slots\"\nmsgstr[0] \"{} {} Ranuras\"\nmsgstr[1] \"{} {} Ranuras\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:220\n#, no-python-format, python-brace-format\nmsgid \"{}% chance to be jammed\"\nmsgstr \"{}% de probabilidad de ser atrapado\"\n\n"
  },
  {
    "path": "locale/fr_FR/LC_MESSAGES/lang.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: pyfa\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2020-10-28 15:28+0300\\n\"\n\"PO-Revision-Date: 2022-01-03 22:03\\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: French\\n\"\n\"Language: fr_FR\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n > 1);\\n\"\n\"X-Crowdin-Project: pyfa\\n\"\n\"X-Crowdin-Project-ID: 411502\\n\"\n\"X-Crowdin-Language: fr\\n\"\n\"X-Crowdin-File: /master/locale/lang.pot\\n\"\n\"X-Crowdin-File-ID: 68\\n\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:107\nmsgid \" DPS: \"\nmsgstr \" DPS : \"\n\n#: gui/builtinContextMenus/itemRemove.py:44\nmsgid \" Stack\"\nmsgstr \" Empiler\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:100\nmsgid \" Volley: \"\nmsgstr \" Frappe \\n\"\n\"Alpha: \"\n\n#: gui/builtinItemStatsViews/itemProperties.py:98\n#, python-format\nmsgid \"%d attribute.\"\nmsgid_plural \"%d attributes.\"\nmsgstr[0] \"%d attribut.\"\nmsgstr[1] \"%d attributs.\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"&Backup All Fittings\"\nmsgstr \"&Sauvegarder toutes les configurations\"\n\n#: gui/mainMenuBar.py:104\nmsgid \"&Browse ESI Fittings\"\nmsgstr \"&Parcourir les configurations ESI\"\n\n#: gui/mainMenuBar.py:111\nmsgid \"&Character\"\nmsgstr \"&Personnage\"\n\n#: gui/mainMenuBar.py:144\nmsgid \"&Character Editor\"\nmsgstr \"&Editeur de Personnage\"\n\n#: gui/mainMenuBar.py:70\nmsgid \"&Close All Tabs\"\nmsgstr \"Fermer tout les onglets\"\n\n#: gui/mainMenuBar.py:69\nmsgid \"&Close Tab\"\nmsgstr \"Fermer l'onglet\"\n\n#: gui/mainMenuBar.py:150\nmsgid \"&Damage Pattern Editor\"\nmsgstr \"&Éditeur de modèles de dégâts\"\n\n#: gui/mainMenuBar.py:143\nmsgid \"&Editors\"\nmsgstr \"Éditeurs\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"&Export Fitting\"\nmsgstr \"&Exporter la configuration\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"&Export Skills Needed\"\nmsgstr \"&Exporter les compétences requises\"\n\n#: gui/mainMenuBar.py:66 gui/propertyEditor.py:42\nmsgid \"&File\"\nmsgstr \"&Fichier\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"&Forums\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"&From Clipboard\"\nmsgstr \"Depuis le presse-papiers\"\n\n#: gui/mainMenuBar.py:135\nmsgid \"&Global\"\nmsgstr \"Général\"\n\n#: gui/mainMenuBar.py:96\nmsgid \"&Graphs\"\nmsgstr \"&Graphiques\"\n\n#: gui/mainMenuBar.py:159\nmsgid \"&Help\"\nmsgstr \"&Aide\"\n\n#: gui/mainMenuBar.py:147\nmsgid \"&Implant Set Editor\"\nmsgstr \"&Éditeur de groupe d'implants\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"&Import Character File\"\nmsgstr \"&Importer un fichier de personnage\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"&Import Fittings\"\nmsgstr \"&Importer des configurations\"\n\n#: gui/mainMenuBar.py:122\nmsgid \"&Manage ESI Characters\"\nmsgstr \"&Gérer les personnages ESI\"\n\n#: gui/mainMenuBar.py:68\nmsgid \"&New Tab\"\nmsgstr \"&Nouvel onglet\"\n\n#: gui/mainMenuBar.py:95\nmsgid \"&Optimize Fit Price\"\nmsgstr \"&Optimiser le prix de la configuration\"\n\n#: gui/mainMenuBar.py:137\nmsgid \"&Preferences\"\nmsgstr \"&Préférences\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"&Redo\"\nmsgstr \"&Répéter\"\n\n#: gui/mainMenuBar.py:115\nmsgid \"&Revert Character\"\nmsgstr \"&Rétablir le personnage\"\n\n#: gui/mainMenuBar.py:113\nmsgid \"&Save Character\"\nmsgstr \"&Enregistrer le personnage\"\n\n#: gui/mainMenuBar.py:153\nmsgid \"&Target Profile Editor\"\nmsgstr \"Éditeur de profil de cible\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"&To Clipboard\"\nmsgstr \"Ajouter au presse-papier\"\n\n#: gui/mainFrame.py:688\nmsgid \"&Turn Overrides Off\"\nmsgstr \"&Désactiver les surchauffes\"\n\n#: gui/mainMenuBar.py:131 gui/mainFrame.py:688\nmsgid \"&Turn Overrides On\"\nmsgstr \"&Activer les surchauffes\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"&Undo\"\nmsgstr \"&Annuler\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"&Wiki\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:25\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:29\nmsgid \"(Cannot be changed while pyfa is running. Set via command line switches.)\"\nmsgstr \"(Ne peut pas être modifié pendant que pyfa est en cours d'exécution. Peut se modifier via les arguments de lancement)\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:81\nmsgid \"0s\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fighterAbilities.py:33\nmsgid \"Abilities\"\nmsgstr \"Capacités\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Abyssal\"\nmsgstr \"Abysses\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:123\nmsgid \"Abyssal Weather\"\nmsgstr \"Météo abyssale\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:31\nmsgid \"Active\"\nmsgstr \"Activé(e)\"\n\n#: gui/builtinViewColumns/abilities.py:37\nmsgid \"Active Abilities\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/sideEffects.py:37\nmsgid \"Active Side Effects\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:76\nmsgid \"Active shield boost\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:384\nmsgid \"Add Character\"\nmsgstr \"Ajouter un personnage\"\n\n#: gui/esiFittings.py:217\nmsgid \"Add Character Error\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:233\nmsgid \"Add Command Booster\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitAddCurrentlyOpen.py:29\nmsgid \"Add Currently Open Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:56\nmsgid \"Add Environmental Effect\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitAddBrowse.py:22\nmsgid \"Add Fit...\"\nmsgstr \"\"\n\n#: gui/fitBrowserLite.py:17\nmsgid \"Add Fits\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/targetProfile/adder.py:29\nmsgid \"Add Target Profile\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/cargoAddAmmo.py:28\n#, python-brace-format\nmsgid \"Add {0} to Cargo (x1000)\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/cargoAdd.py:33\nmsgid \"Add {} to Cargo\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/droneAddStack.py:40\nmsgid \"Add {} to Drone Bay{}\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:45\nmsgid \"Additions\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Additions Panel Copy/Paste\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:101\nmsgid \"Addr:\"\nmsgstr \"\"\n\n#: gui/itemStats.py:196\nmsgid \"Affected by\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:226\n#, python-format\nmsgid \"Agility:\\t%.3fx\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:87\nmsgid \"Align time\"\nmsgstr \"Temps d'aligne\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:224\n#, python-format\nmsgid \"Align:\\t%.3fs\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/targetProfile.py:105\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:119\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:133\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:147\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:161\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:175\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:189\nmsgid \"All\"\nmsgstr \"\"\n\n#: gui/aboutData.py:32\nmsgid \"All EVE-Online related materials are property of CCP hf.\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:838 gui/mainFrame.py:1013\nmsgid \"All Files\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:238\nmsgid \"All skill prerequisites have been met\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:38\nmsgid \"Allow pre-release notifications\"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:75\nmsgid \"Always show Y = 0\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:53\nmsgid \"Amarr (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:52\nmsgid \"Amarr (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/targetProfile.py:95\nmsgid \"Amarr EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/targetProfile.py:72\nmsgid \"Amarr Empire\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:115\nmsgid \"Ammo hold\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:96 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:229\nmsgid \"Angel\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:123\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:66\nmsgid \"Angel Cartel\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:133\nmsgid \"Animate gauges\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:71\nmsgid \"Antimatter\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetApply.py:25\nmsgid \"Apply Implant Set\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Apply Mutaplasmid\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgApplyProjected.py:23\nmsgid \"Apply Projected Items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:144\nmsgid \"Apply Proxy Settings\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:146\nmsgid \"Are you sure you want to delete all overrides?\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:645\nmsgid \"Are you sure you wish to ignore fitting restrictions for the current fit? This could lead to wildly inaccurate results and possible errors.\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:47\nmsgid \"Armor\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:50\nmsgid \"Armor (+T2 DCU)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:77\nmsgid \"Armor repair amount\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:113\nmsgid \"Armor resistance\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:43\n#: gui/builtinStatsViews/outgoingViewFull.py:44\nmsgid \"Armor restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Armor: \"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:120 eos/saveddata/targetProfile.py:90\nmsgid \"Ashimmu (Blood Raiders)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\nmsgid \"Asteroid\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:74\nmsgid \"Attacker\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:56\n#: gui/builtinItemStatsViews/itemAttributes.py:44\nmsgid \"Attribute\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:128\nmsgid \"Attribute &Overrides\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:28\nmsgid \"Attribute Editor\"\nmsgstr \"\"\n\n#: gui/itemStats.py:177\nmsgid \"Attributes\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:43\nmsgid \"Auto\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:94\nmsgid \"Auto will use the same language pyfa uses if available, otherwise English\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Auto-detected proxy settings\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:136\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:158\nmsgid \"Auto-detected: \"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:64\nmsgid \"Axis X:\"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:56\nmsgid \"Axis Y:\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:50\nmsgid \"Back\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:873\nmsgid \"Backing up {} fits to: {}\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"Backup all fittings to a XML file\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:872 gui/mainFrame.py:903\nmsgid \"Backup fits\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:59\nmsgid \"Baryon\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:47\nmsgid \"Base Value\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battlecruiser\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battleship\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:951\nmsgid \"Be aware that already processed fits were not saved\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Bioluminescence\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:106 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/targetProfile.py:61 eos/saveddata/targetProfile.py:67\nmsgid \"Blood Raiders\"\nmsgstr \"\"\n\n#: graphs/style.py:54\nmsgid \"Blue\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:90 eos/saveddata/damagePattern.py:91\n#: eos/saveddata/damagePattern.py:92 eos/saveddata/damagePattern.py:93\nmsgid \"Bombs\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/boosterView.py:215\nmsgid \"Booster\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\n#: gui/builtinContextMenus/additionsExportAll.py:23\n#: gui/builtinContextMenus/additionsExportSelection.py:23\n#: gui/builtinContextMenus/additionsImport.py:24 gui/additionsPane.py:78\nmsgid \"Boosters\"\nmsgstr \"\"\n\n#: graphs/style.py:82\nmsgid \"Bright\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:32\nmsgid \"Browse EVE Fittings\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Bump distance\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:38\nmsgid \"Bump speed\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/targetProfile.py:81 eos/saveddata/targetProfile.py:82\n#: eos/saveddata/targetProfile.py:83 eos/saveddata/targetProfile.py:84\n#: eos/saveddata/targetProfile.py:85 eos/saveddata/targetProfile.py:86\n#: eos/saveddata/targetProfile.py:87 eos/saveddata/targetProfile.py:88\n#: eos/saveddata/targetProfile.py:89 eos/saveddata/targetProfile.py:90\n#: eos/saveddata/targetProfile.py:91 eos/saveddata/targetProfile.py:92\nmsgid \"Burner\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/targetProfile.py:74\nmsgid \"CONCORD\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:153\nmsgid \"CPU\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:118\nmsgid \"CSV files\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:55\nmsgid \"Caldari (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:54\nmsgid \"Caldari (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/targetProfile.py:96\nmsgid \"Caldari EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/targetProfile.py:73\nmsgid \"Caldari State\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:115\nmsgid \"Calibration\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:35 graphs/data/fitCapacitor/graph.py:36\n#: graphs/data/fitCapacitor/graph.py:38 graphs/data/fitCapacitor/graph.py:43\nmsgid \"Cap amount\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Cap neutralized per second\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:39\nmsgid \"Cap regen\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:32\n#: gui/builtinStatsViews/capacitorViewFull.py:37\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\nmsgid \"Capacitor\"\nmsgstr \"Condensateur\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:139\nmsgid \"Capacitor delta:\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:31\n#: gui/builtinStatsViews/outgoingViewFull.py:32\nmsgid \"Capacitor restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:57\nmsgid \"Capacitor stability\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:76\nmsgid \"Carbonized Lead\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:49 gui/copySelectDialog.py:57\n#: gui/builtinContextMenus/priceOptions.py:47\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:90\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:81\n#: gui/additionsPane.py:72\nmsgid \"Cargo\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:20\n#: gui/builtinContextMenus/additionsExportSelection.py:20\n#: gui/builtinContextMenus/additionsImport.py:21\nmsgid \"Cargo Items\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:158\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Cargo bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:229\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:254\nmsgid \"Cargohold: \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:167\nmsgid \"Carrier\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Caustic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:47\nmsgid \"Cert Path:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:73\n#, python-format\nmsgid \"Change %s Skills\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:92\nmsgid \"Change Amount\"\nmsgstr \"Changer la quantité\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\nmsgid \"Change Skills\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:144\nmsgid \"Change charge in all modules of the same type\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:34\n#, python-brace-format\nmsgid \"Change {0} Quantity\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemProjectionRange.py:34\nmsgid \"Change {} Range\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:31\nmsgid \"Changes require restart of pyfa to take effect.\"\nmsgstr \"Les changements requièrent un redémarrage de pyfa pour prendre effet.\"\n\n#: gui/esiFittings.py:375 gui/builtinStatsViews/priceViewFull.py:57\n#: gui/characterEditor.py:90\nmsgid \"Character\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:137\nmsgid \"Character Editor\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:376\nmsgid \"Character ID\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:78\nmsgid \"Character name already in use, please choose another.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:771\nmsgid \"Character:\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:47\nmsgid \"Character: \"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:48\nmsgid \"Charge\"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:664\nmsgid \"Citadel\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:37\nmsgid \"Citadel System Security\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear All\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear all overrides\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:97\n#: gui/builtinStatsViews/resistancesViewFull.py:169\nmsgid \"Click to toggle between effective HP and raw HP\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:102\nmsgid \"Click to toggle to Firepower View\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:115\nmsgid \"Click to toggle to Mining Yield\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:76\nmsgid \"Client ID:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:85\nmsgid \"Client Secret:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:114\nmsgid \"Color fitting view by slot\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"Combined ECM strength\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:84\nmsgid \"Command\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/commandView.py:201\nmsgid \"Command Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/commandFitAdd.py:51\nmsgid \"Command Fits\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:127\nmsgid \"Command center hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:110\nmsgid \"Compact skills needed tooltip\"\nmsgstr \"\"\n\n#: gui/itemStats.py:182\nmsgid \"Compare\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:227\nmsgid \"Concord\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:92\nmsgid \"Concussion Bomb\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:98\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:103\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:108\n#: gui/mainFrame.py:647 gui/mainFrame.py:653\nmsgid \"Confirm\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:160 gui/propertyEditor.py:147\nmsgid \"Confirm Delete\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:129 gui/esiFittings.py:172 gui/esiFittings.py:345\nmsgid \"Connection error, please check your internet connection\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:14\nmsgid \"Context Menus\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:117\nmsgid \"ContextMenu|ProjectedEffectManipulation|Black Hole\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:118\nmsgid \"ContextMenu|ProjectedEffectManipulation|Cataclysmic Variable\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:144\nmsgid \"ContextMenu|ProjectedEffectManipulation|Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:106\nmsgid \"ContextMenu|ProjectedEffectManipulation|Electrical\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:107\nmsgid \"ContextMenu|ProjectedEffectManipulation|Exotic\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:115\nmsgid \"ContextMenu|ProjectedEffectManipulation|Firestorm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:108\nmsgid \"ContextMenu|ProjectedEffectManipulation|Gamma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:119\nmsgid \"ContextMenu|ProjectedEffectManipulation|Magnetar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:113\nmsgid \"ContextMenu|ProjectedEffectManipulation|Matter\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:111\nmsgid \"ContextMenu|ProjectedEffectManipulation|Metaliminal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:109\nmsgid \"ContextMenu|ProjectedEffectManipulation|Plasma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:120\nmsgid \"ContextMenu|ProjectedEffectManipulation|Pulsar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:114\nmsgid \"ContextMenu|ProjectedEffectManipulation|Ray\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:121\nmsgid \"ContextMenu|ProjectedEffectManipulation|Red Giant\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:125\nmsgid \"ContextMenu|ProjectedEffectManipulation|Sansha Incursion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:112\nmsgid \"ContextMenu|ProjectedEffectManipulation|Storm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:143\nmsgid \"ContextMenu|ProjectedEffectManipulation|System Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:127\nmsgid \"ContextMenu|ProjectedEffectManipulation|Triglavian Invasion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:122\nmsgid \"ContextMenu|ProjectedEffectManipulation|Wolf Rayet\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemDescription.py:43\n#: gui/builtinItemStatsViews/itemTraits.py:25\n#: gui/builtinShipBrowser/fitItem.py:107\nmsgid \"Copy\"\nmsgstr \"Copier\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:39\nmsgid \"Copy All {}\"\nmsgstr \"Tout Copier\"\n\n#: gui/characterSelection.py:105\nmsgid \"Copy Missing Skills\"\nmsgstr \"Copier les compétences manquantes\"\n\n#: gui/builtinContextMenus/moduleMutatedExport.py:28\nmsgid \"Copy Module to Clipboard\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsExportSelection.py:39\nmsgid \"Copy Selected {}\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:20\nmsgid \"Copy and paste the block of text provided by pyfa.io\"\nmsgstr \"\"\n\n#: gui/setEditor.py:222 gui/patternEditor.py:290 gui/targetProfileEditor.py:366\nmsgid \"Could not import from clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:359\nmsgid \"Could not import from clipboard:\"\nmsgstr \"\"\n\n#: gui/setEditor.py:218 gui/patternEditor.py:283\nmsgid \"Could not import from clipboard: unknown errors\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Cruiser\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/targetProfile.py:81\nmsgid \"Cruor (Blood Raiders)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:175\nmsgid \"Current\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:57\n#: gui/builtinItemStatsViews/itemAttributes.py:45\nmsgid \"Current Value\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:63\nmsgid \"Custom Application\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"Custom application\"\nmsgstr \"\"\n\n#: graphs/style.py:57\nmsgid \"Cyan\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"DPS\"\nmsgstr \"DPS\"\n\n#: gui/patternEditor.py:99\nmsgid \"Damage Pattern Editor\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:65\nmsgid \"Damage Profile\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:53\nmsgid \"Damage Profile name already in use, please choose another.\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:56\nmsgid \"Damage Stats\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Damage inflicted\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Damps: lock range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/targetProfile.py:83\nmsgid \"Daredevil (Serpentis)\"\nmsgstr \"\"\n\n#: graphs/style.py:81\nmsgid \"Dark\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\nmsgid \"Dark Matter All Tiers\"\nmsgstr \"\"\n\n#: graphs/style.py:89\nmsgid \"Dash-dotted\"\nmsgstr \"\"\n\n#: graphs/style.py:87\nmsgid \"Dashed\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:15\nmsgid \"Database\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\nmsgid \"Deadspace\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:56\nmsgid \"Debug Logging Enabled\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:58\nmsgid \"Default Market Prices:\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:271\n#, python-format\nmsgid \"Default Value: %0.3f\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:18\nmsgid \"Defense\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:44\nmsgid \"Defined in millions of kilograms\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:109\nmsgid \"Delete\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:79\nmsgid \"Delete All Damage Pattern Profiles\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:87\nmsgid \"Delete All Prices\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:83\nmsgid \"Delete All Target Profiles\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:66\nmsgid \"Delete all from Eve\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:65\nmsgid \"Delete from EVE\"\nmsgstr \"\"\n\n#: gui/itemStats.py:189\nmsgid \"Dependents\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:79\nmsgid \"Depleted Uranium\"\nmsgstr \"\"\n\n#: gui/itemStats.py:174\nmsgid \"Description\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Destroyer\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Destructible Beacons\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Dev Tools\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:101 gui/mainMenuBar.py:202\nmsgid \"Disable Fitting Re&strictions\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Disabled\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:28\nmsgid \"Disabling context menus can improve responsiveness.\\n\"\n\"You can hold {} key + right-click to show all menu items regardless of these settings.\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:36 graphs/data/fitRemoteReps/graph.py:50\n#: graphs/data/fitRemoteReps/graph.py:58 graphs/data/fitWarpTime/graph.py:47\n#: graphs/data/fitWarpTime/graph.py:48 graphs/data/fitWarpTime/graph.py:51\n#: graphs/data/fitWarpTime/graph.py:52 graphs/data/fitDamageStats/graph.py:58\n#: graphs/data/fitDamageStats/graph.py:65 graphs/data/fitEwarStats/graph.py:34\n#: graphs/data/fitEwarStats/graph.py:44\nmsgid \"Distance\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:66\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:67\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\\n\"\n\"When set, places the target that far away from the attacker\\n\"\n\"When not set, attacker's weapons always hit the target\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:59 graphs/data/fitRemoteReps/graph.py:60\nmsgid \"Distance between the repairing ship and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:159\nmsgid \"Do you really want to delete {} ({}) from EVE?\"\nmsgstr \"\"\n\n#: gui/updateDialog.py:102\nmsgid \"Don't remind me again for this release\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:789\nmsgid \"Don't see your EVE character in the list?\"\nmsgstr \"\"\n\n#: graphs/style.py:88\nmsgid \"Dotted\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:71\n#: gui/updateDialog.py:113\nmsgid \"Download\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:313\nmsgid \"Drag a fit into this list to graph it\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:370\nmsgid \"Drag a fit into this list to have your fits graphed against it\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/commandView.py:163\nmsgid \"Drag a fit to this area\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/projectedView.py:224\nmsgid \"Drag an item or fit, or use right-click menu for wormhole effects\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:112 eos/saveddata/targetProfile.py:82\nmsgid \"Dramiel (Angel)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:144\n#: eos/saveddata/damagePattern.py:147\nmsgid \"Dread\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/damagePattern.py:146\nmsgid \"Dread/Subcaps\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:98 eos/saveddata/targetProfile.py:103\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:117\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:131\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:145\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:159\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:173\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:187\nmsgid \"Drifter\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:159 eos/saveddata/targetProfile.py:230\nmsgid \"Drifter Entities\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Drone\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:26\nmsgid \"Drone Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:157\nmsgid \"Drone bandwidth\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:155\nmsgid \"Drone bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:66\nmsgid \"Drone range\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/targetProfile.py:99\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:113\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:127\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:141\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:155\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:169\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:183\n#: gui/builtinContextMenus/priceOptions.py:40\n#: gui/builtinContextMenus/additionsExportAll.py:18\n#: gui/builtinContextMenus/additionsExportSelection.py:18\n#: gui/builtinContextMenus/additionsImport.py:19\n#: gui/builtinStatsViews/priceViewFull.py:58\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:77\n#: gui/additionsPane.py:66\nmsgid \"Drones\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:113\nmsgid \"Drones active\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:62\nmsgid \"Dump All Logs\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:105\nmsgid \"E&xport to ESI\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"ECM: combined strength\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:837\nmsgid \"EFT text fitting files\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:96\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"EHP\"\nmsgstr \"PVE\"\n\n#: eos/saveddata/damagePattern.py:39\n#: gui/builtinContextMenus/moduleAmmoChange.py:24\nmsgid \"EM\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:119\nmsgid \"EM resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:81\nmsgid \"EMP\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:347 gui/esiFittings.py:351 gui/esiFittings.py:359\nmsgid \"ERROR\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:1012\nmsgid \"EVE API XML character files\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:76\nmsgid \"EVE Data:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:49\nmsgid \"EVE IGB HTML fitting file\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:16\n#: gui/characterEditor.py:162\nmsgid \"EVE SSO\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:37\nmsgid \"EVE Servers (API && CREST import)\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:859\nmsgid \"EVE XML fitting file\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:466 gui/mainFrame.py:836\nmsgid \"EVE XML fitting files\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:808\nmsgid \"EVEMon skills training XML file\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:807\nmsgid \"EVEMon skills training file\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"Effective DPS\"\nmsgstr \"DPS effectifs\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:61\n#: gui/builtinStatsViews/resistancesViewFull.py:219\nmsgid \"Effective HP: \"\nmsgstr \"PV effectifs: \"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:151\nmsgid \"Effective capacity\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Effective damage inflicted\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Effective volley\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:220\n#, python-format\nmsgid \"Effective: %d HP\"\nmsgstr \"\"\n\n#: gui/itemStats.py:192\nmsgid \"Effects\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:107\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:109\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:194\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:196\nmsgid \"Electrical T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\nmsgid \"Electrical T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:121\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:123\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:200\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:202\nmsgid \"Electrical T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:85\nmsgid \"Electromagnetic resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:90\nmsgid \"Electron Bomb\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:33\nmsgid \"Electronic Warfare Stats\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:59\nmsgid \"Empty\"\nmsgstr \"Vide\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:105\nmsgid \"Empty Market View\"\nmsgstr \"\"\n\n#: gui/multiSwitch.py:41\nmsgid \"Empty Tab\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:200\nmsgid \"Enable Fitting Re&strictions\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:33\nmsgid \"Enable Network\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable all available meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:93\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:114\nmsgid \"Enable all meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\nmsgid \"Enable all meta buttons for a duration of search / recents\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button, disable others\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable leftmost available meta button\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:61\nmsgid \"Enable minimal format\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Enabled\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:50\nmsgid \"Enforce strict skill level requirements\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:281\nmsgid \"Enter a name for your new Character:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:51\nmsgid \"Enter a name for your new Implant Set:\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:116 eos/saveddata/targetProfile.py:86\nmsgid \"Enyo\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:174 gui/setEditor.py:55 gui/mainFrame.py:896\n#: gui/characterEditor.py:83 gui/characterEditor.py:463\n#: gui/characterEditor.py:898 gui/patternEditor.py:58\n#: gui/targetProfileEditor.py:78\nmsgid \"Error\"\nmsgstr \"Erreur\"\n\n#: gui/characterSelection.py:173 gui/characterEditor.py:897\nmsgid \"Error fetching skill information\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:68\nmsgid \"Error!\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:57 eos/saveddata/damagePattern.py:58\n#: eos/saveddata/damagePattern.py:59 eos/saveddata/damagePattern.py:60\n#: eos/saveddata/damagePattern.py:61\nmsgid \"Exotic Plasma\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:149\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:151\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:212\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:214\nmsgid \"Exotic T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\nmsgid \"Exotic T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:163\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:165\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:218\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:220\nmsgid \"Exotic T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:67\nmsgid \"Expand All\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:42\n#: gui/builtinContextMenus/moduleAmmoChange.py:26\nmsgid \"Explosive\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:88\n#: gui/targetProfileEditor.py:122\nmsgid \"Explosive resistance\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:39\nmsgid \"Export\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export All Fittings to &HTML\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:946\nmsgid \"Export Error\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:258\nmsgid \"Export Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:23\nmsgid \"Export Fittings in a minimal HTML Version, just containing the fittings links without any visual styling\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:57\nmsgid \"Export Item Stats\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:263\nmsgid \"Export Loaded Charges\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:805\nmsgid \"Export Skills Needed As...\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"Export a fit to the clipboard\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\nmsgid \"Export boosters\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:49\nmsgid \"Export cargo contents\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:57\nmsgid \"Export cargo hold contents\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Export charges loaded into modules\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:245\nmsgid \"Export fit to EVE\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export fits to HTML file (set in Preferences)\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"Export fitting to another format\"\nmsgstr \"\"\n\n#: gui/setEditor.py:149\nmsgid \"Export implant sets to clipboard\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\nmsgid \"Export implants\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Export mutated modules' stats\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:172\nmsgid \"Export patterns to clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:222\nmsgid \"Export profiles to clipboard\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:373\nmsgid \"Export skills from clipboard\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"Export skills needed for this fitting\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:827\nmsgid \"Exporting skills needed...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:152\nmsgid \"Extra info in Additions panel tab names\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:90\nmsgid \"Extra stats\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/factorReload.py:26\nmsgid \"Factor in Reload Time\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:44\nmsgid \"Factor in reload time when calculating capacitor usage, damage, and tank.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:328\nmsgid \"Failed to generate export data\"\nmsgstr \"\"\n\n#: gui/aboutData.py:34\nmsgid \"Fat Cow Icons by fatcow.com - Creative Commons Attribution 3.0 License\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:44\nmsgid \"Fetch Fits\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:114\nmsgid \"Fetching fits, please wait...\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:81\nmsgid \"Fi&t\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:156\nmsgid \"Fighter bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:114\nmsgid \"Fighter squadrons active\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:19\n#: gui/builtinContextMenus/additionsExportSelection.py:19\n#: gui/builtinContextMenus/additionsImport.py:20 gui/additionsPane.py:69\nmsgid \"Fighters\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Filament\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemFill.py:32\nmsgid \"Fill With Module\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\n#, python-brace-format\nmsgid \"Fill With {0}\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\nmsgid \"Fill with module\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:43\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\nmsgid \"Firepower\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\nmsgid \"Firestorm T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:135\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:137\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:206\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:208\nmsgid \"Firestorm T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\nmsgid \"Firestorm T4/T5/T6\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:306\nmsgid \"Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:47\nmsgid \"Fitting Database:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:27\nmsgid \"Fitting Engine\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57 gui/mainFrame.py:184\nmsgid \"Fittings\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:113\nmsgid \"Fleet hangar\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Formatting Tags\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:43 eos/saveddata/damagePattern.py:44\n#: eos/saveddata/damagePattern.py:45 eos/saveddata/damagePattern.py:46\n#: eos/saveddata/damagePattern.py:47 eos/saveddata/damagePattern.py:48\n#: eos/saveddata/damagePattern.py:49 eos/saveddata/damagePattern.py:50\n#: eos/saveddata/damagePattern.py:51 eos/saveddata/damagePattern.py:52\n#: eos/saveddata/damagePattern.py:53 eos/saveddata/damagePattern.py:54\nmsgid \"Frequency Crystals\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Frigate\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:116\nmsgid \"Fuel bay\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Full\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:83\nmsgid \"Fusion\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"GDs: missile flight range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:57\nmsgid \"Gallente (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:56\nmsgid \"Gallente (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/targetProfile.py:97\nmsgid \"Gallente EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/targetProfile.py:75\nmsgid \"Gallente Federation\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:57\nmsgid \"Game Database:\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:51\nmsgid \"Gamma\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\nmsgid \"Gamma T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:177\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:179\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:224\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:226\nmsgid \"Gamma T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Gamma T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:125\nmsgid \"Gas hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:20\nmsgid \"General\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:904\nmsgid \"Generating HTML file at: {}\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:39 eos/saveddata/damagePattern.py:40\n#: eos/saveddata/damagePattern.py:41 eos/saveddata/damagePattern.py:42\nmsgid \"Generic\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:778\nmsgid \"Get Skills\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:68\nmsgid \"Global Default Spoolup Percentage:\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"Go to EVE Online Forum thread\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"Go to wiki on GitHub\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:102\nmsgid \"Grant Missing Skills\"\nmsgstr \"\"\n\n#: graphs/gui/frame.py:51\nmsgid \"Graphs\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Gravimetric\"\nmsgstr \"\"\n\n#: graphs/style.py:53\nmsgid \"Green\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:125\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:68\nmsgid \"Guristas\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:172\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"HP\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:19\nmsgid \"HTML Export\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:20\nmsgid \"HTML Export (File > Export HTML) allows you to export your entire fitting database into an HTML file at the specified location. This file can be used to easily open your fits in a web-based fitting program\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/targetProfile.py:87\nmsgid \"Hawk\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Heavy\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:136\nmsgid \"Hide Recent Fits\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:53\n#: gui/builtinShipBrowser/navigationPanel.py:147\nmsgid \"Hide empty ship groups\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:59\nmsgid \"High\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:19\nmsgid \"High Security\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:48\nmsgid \"Hull\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:51\nmsgid \"Hull (+T2 DCU)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:78\nmsgid \"Hull repair amount\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:114\nmsgid \"Hull resistance\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:49\n#: gui/builtinStatsViews/outgoingViewFull.py:50\nmsgid \"Hull restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Hull: \"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:62 eos/saveddata/damagePattern.py:63\n#: eos/saveddata/damagePattern.py:64 eos/saveddata/damagePattern.py:65\n#: eos/saveddata/damagePattern.py:66 eos/saveddata/damagePattern.py:67\n#: eos/saveddata/damagePattern.py:68 eos/saveddata/damagePattern.py:69\n#: eos/saveddata/damagePattern.py:70 eos/saveddata/damagePattern.py:71\n#: eos/saveddata/damagePattern.py:72 eos/saveddata/damagePattern.py:73\nmsgid \"Hybrid Charges\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:35\nmsgid \"ID\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:293\nmsgid \"Ideal Target\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDroneControlRange.py:23\nmsgid \"Ignore Drone Control Range\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphLockRange.py:23\nmsgid \"Ignore Lock Range\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgIgnoreResists.py:23\nmsgid \"Ignore Target Resists\"\nmsgstr \"\"\n\n#: gui/setEditor.py:62\nmsgid \"Implant Set\"\nmsgstr \"\"\n\n#: gui/setEditor.py:122\nmsgid \"Implant Set Editor\"\nmsgstr \"\"\n\n#: gui/setEditor.py:50\nmsgid \"Implant Set name already in use, please choose another.\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\n#: gui/builtinContextMenus/additionsExportAll.py:21\n#: gui/builtinContextMenus/additionsExportAll.py:22\n#: gui/builtinContextMenus/additionsExportSelection.py:21\n#: gui/builtinContextMenus/additionsExportSelection.py:22\n#: gui/builtinContextMenus/additionsImport.py:22\n#: gui/builtinContextMenus/additionsImport.py:23 gui/characterEditor.py:161\n#: gui/additionsPane.py:75\nmsgid \"Implants\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/priceOptions.py:54\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:85\nmsgid \"Implants && Boosters\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:38\nmsgid \"Import\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:946\nmsgid \"Import Error\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:442\nmsgid \"Import Skills\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"Import a fit from the clipboard\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"Import characters into pyfa from file\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"Import fittings into pyfa\"\nmsgstr \"\"\n\n#: gui/setEditor.py:148\nmsgid \"Import implant sets from clipboard\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:38 gui/propertyEditor.py:39\nmsgid \"Import overrides\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:171\nmsgid \"Import patterns from clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:221\nmsgid \"Import profiles from clipboard\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:107\nmsgid \"Import pyfa override file\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:372\nmsgid \"Import skills from clipboard\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:64\nmsgid \"Import to pyfa\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:1019\nmsgid \"Importing Character...\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:844\nmsgid \"Importing fits\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:440\nmsgid \"Importing skills into this character will set the skill levels as pending. To save the skills permanently, please click the Save button at the bottom of the window after importing\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Include formatting tags to paste fit directly into corp bulletins, MOTD, etc.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:115\nmsgid \"Incoming damage pattern\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:50\nmsgid \"Incorrect formatting (decimals only)\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:52\nmsgid \"Incorrect range (must be 0-100)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:121\nmsgid \"Industrial ship hold\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:46\nmsgid \"Inertia Modifier attribute value of the target ship\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:87\nmsgid \"Inferno\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:47\nmsgid \"Infrared\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Interceptor\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:65\nmsgid \"Interested in helping with translations?\"\nmsgstr \"Vous voulez aider à traduire ?\"\n\n#: gui/mainFrame.py:892\nmsgid \"Invalid Path\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:232\nmsgid \"Invalid Token\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:94 eos/saveddata/targetProfile.py:95\n#: eos/saveddata/targetProfile.py:96 eos/saveddata/targetProfile.py:97\n#: eos/saveddata/targetProfile.py:98 eos/saveddata/targetProfile.py:230\n#: eos/saveddata/targetProfile.py:231 eos/saveddata/targetProfile.py:232\nmsgid \"Invasion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:66\nmsgid \"Iridium\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:64\nmsgid \"Iron\"\nmsgstr \"Fer\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:147\n#: gui/builtinContextMenus/itemRemove.py:43\n#: gui/builtinContextMenus/itemStats.py:38\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Item\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:112\nmsgid \"Item Market Group Jump\"\nmsgstr \"\"\n\n#: gui/itemStats.py:58\nmsgid \"Item stats\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:118 eos/saveddata/targetProfile.py:88\nmsgid \"Jaguar\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/targetProfile.py:76\nmsgid \"Khanid\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:41\n#: gui/builtinContextMenus/moduleAmmoChange.py:27\nmsgid \"Kinetic\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:87\n#: gui/targetProfileEditor.py:121\nmsgid \"Kinetic resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Ladar\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:38\nmsgid \"Language (requires restart)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:120\nmsgid \"Large ship hold\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:77\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Lasts \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:112\nmsgid \"Launcher hardpoints\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:67\nmsgid \"Lead\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:94\n#: gui/builtinContextMenus/moduleAmmoChange.py:112\nmsgid \"Less Damage\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:343\nmsgid \"Level\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:79\n#, python-format\nmsgid \"Level %s\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemDependants.py:46 gui/characterEditor.py:591\n#: gui/characterEditor.py:616 gui/characterEditor.py:649\nmsgid \"Level {}\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:532\nmsgid \"Level {}d\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Light\"\nmsgstr \"\"\n\n#: service/market.py:266\nmsgid \"Limited Issue Ships\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Loaded Charges\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:271\nmsgid \"Loading previous fits...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Local Server\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:205\nmsgid \"Localized\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:34\nmsgid \"Lock Time\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:201\nmsgid \"Lock Times\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Lock range reduction\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:36\nmsgid \"Lock time\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:794\nmsgid \"Log In with EVE SSO\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:38\nmsgid \"Log file location:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:19\nmsgid \"Logging\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:38\nmsgid \"Login Authentication Method\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:82\nmsgid \"Long Range\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:61\nmsgid \"Low\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:20\nmsgid \"Low Security\"\nmsgstr \"\"\n\n#: graphs/style.py:56\nmsgid \"Magenta\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Magnetometric\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:114\nmsgid \"Maintenance bay\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:671\nmsgid \"Manage Characters\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Manual\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Manual proxy settings\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:180\nmsgid \"Market\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:23\nmsgid \"Market & Prices\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:30\nmsgid \"Market && Prices\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:99\nmsgid \"Market Group Selection\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:91\nmsgid \"Market Search && Recent Items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:39\nmsgid \"Market Search Delay (ms):\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:225\nmsgid \"Mass:\\t{:,.0f}kg\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:124\nmsgid \"Material bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:208\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:241\n#, python-format\nmsgid \"Max Warp Distance: %.1f AU\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:124\nmsgid \"Maximum speed\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:60\nmsgid \"Med\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:119\nmsgid \"Medium ship hold\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:58\nmsgid \"Meson\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:105\nmsgid \"Metaliminal Storm\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:46\nmsgid \"Microwave\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:123\nmsgid \"Mineral hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Minimal\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:39\nmsgid \"Mining Yield\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:59\nmsgid \"Minmatar (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:58\nmsgid \"Minmatar (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:147 eos/saveddata/damagePattern.py:148\n#: eos/saveddata/targetProfile.py:98\nmsgid \"Minmatar EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/targetProfile.py:77\nmsgid \"Minmatar Republic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\nmsgid \"Misc\"\nmsgstr \"Divers\"\n\n#: gui/builtinViewColumns/misc.py:50\nmsgid \"Misc data\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"Missile flight range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:86 eos/saveddata/damagePattern.py:87\n#: eos/saveddata/damagePattern.py:88 eos/saveddata/damagePattern.py:89\nmsgid \"Missiles\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/damagePattern.py:150\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/damagePattern.py:152\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/damagePattern.py:154\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/damagePattern.py:156\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78\nmsgid \"Mission\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:28\nmsgid \"Mixed\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:86\nmsgid \"Mjolnir\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:32\nmsgid \"Mobility\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:83\nmsgid \"Mode:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\nmsgid \"Module\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:37\nmsgid \"Momentum\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/targetProfile.py:78\nmsgid \"Mordus Legion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:97\n#: gui/builtinContextMenus/moduleAmmoChange.py:115\nmsgid \"More Damage\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:52\nmsgid \"Multifrequency\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:408\nmsgid \"Multispectral\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Mutated Attributes\"\nmsgstr \"\"\n\n#: gui/itemStats.py:170\nmsgid \"Mutations\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:149\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/damagePattern.py:151\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/damagePattern.py:153\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/damagePattern.py:155\n#: eos/saveddata/damagePattern.py:156 eos/saveddata/damagePattern.py:157\n#: eos/saveddata/damagePattern.py:158 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:80 eos/saveddata/targetProfile.py:81\n#: eos/saveddata/targetProfile.py:82 eos/saveddata/targetProfile.py:83\n#: eos/saveddata/targetProfile.py:84 eos/saveddata/targetProfile.py:85\n#: eos/saveddata/targetProfile.py:86 eos/saveddata/targetProfile.py:87\n#: eos/saveddata/targetProfile.py:88 eos/saveddata/targetProfile.py:89\n#: eos/saveddata/targetProfile.py:90 eos/saveddata/targetProfile.py:91\n#: eos/saveddata/targetProfile.py:92 eos/saveddata/targetProfile.py:94\n#: eos/saveddata/targetProfile.py:95 eos/saveddata/targetProfile.py:96\n#: eos/saveddata/targetProfile.py:97 eos/saveddata/targetProfile.py:98\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\n#: eos/saveddata/targetProfile.py:230 eos/saveddata/targetProfile.py:231\n#: eos/saveddata/targetProfile.py:232\nmsgid \"NPC\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:30\n#: gui/builtinViewColumns/baseName.py:55\nmsgid \"Name\"\nmsgstr \"Nom\"\n\n#: gui/esiFittings.py:334\nmsgid \"Need at least one ESI character to export\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:117\nmsgid \"Need at least one ESI character to fetch\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:17\nmsgid \"Network\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:149\nmsgid \"Neutralizer resistance\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Neuts: cap per second\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount ({}-{})\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:45\nmsgid \"New Implant Set\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:51\nmsgid \"New fitting\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:58\nmsgid \"No\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:85\nmsgid \"No Profile\"\nmsgstr \"Aucun profil\"\n\n#: gui/characterSelection.py:230\nmsgid \"No active fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"No changes to meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"No proxy\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\n#: gui/characterEditor.py:855\nmsgid \"None\"\nmsgstr \"Aucun\"\n\n#: graphs/style.py:80\nmsgid \"Normal\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:131\nmsgid \"Normal Subcaps\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:77\nmsgid \"Not Learned\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:399 service/character.py:322\nmsgid \"Not learned\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:87\nmsgid \"Notes\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:89\nmsgid \"Nova\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:77\nmsgid \"Nuclear\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:21\nmsgid \"Null Security\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Open &Dev Tools\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:150\nmsgid \"Open Character Editor\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitOpenNewTab.py:37\nmsgid \"Open Fit in New Tab\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:1010\nmsgid \"Open One Or More Character Files\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:834\nmsgid \"Open One Or More Fitting Files\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Wid&gets Inspect tool\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Widgets Inspect tool\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:136\nmsgid \"Open fittings in a new page by default\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipJump.py:35\nmsgid \"Open in Fitting Browser\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:227\nmsgid \"Open in new tab\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Optimize Prices\"\nmsgstr \"\"\n\n#: graphs/style.py:55\nmsgid \"Orange\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:122\nmsgid \"Ore hold\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:79 eos/saveddata/targetProfile.py:80\nmsgid \"Other\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:100 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:184\nmsgid \"Overmind\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:75\nmsgid \"Passive shield recharge\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:125\nmsgid \"Password:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsImport.py:40\nmsgid \"Paste {}\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:295\nmsgid \"Patterns exported to clipboard\"\nmsgstr \"\"\n\n#: gui/setEditor.py:210 gui/patternEditor.py:276\nmsgid \"Patterns successfully imported from clipboard\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:82\nmsgid \"Phased Plasma\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:128\nmsgid \"Planetary goods hold\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:721\nmsgid \"Please Wait...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:32\nmsgid \"Please see the pyfa wiki on GitHub for information regarding these options.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:315\nmsgid \"Please select an active fitting in the main window\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:758\nmsgid \"Please select another character or make a new one.\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:895\nmsgid \"Please verify path location pyfa's preferences.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphFitAmmoPicker.py:29\nmsgid \"Plot with Different Ammo...\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:70\nmsgid \"Plutonium\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Pod\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:109\nmsgid \"Port:\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:154\nmsgid \"PowerGrid\"\nmsgstr \"\"\n\n#: gui/preferenceDialog.py:31\nmsgid \"Preferences\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:59\nmsgid \"Pressing this button will cause all logs in memory to write to the log file:\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:155\n#: gui/builtinStatsViews/priceViewFull.py:40\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\nmsgid \"Price\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:41\nmsgid \"Pricing updates\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:265\n#, python-format\nmsgid \"Probe Size: %.3f\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:372\nmsgid \"Profiles exported to clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:352\nmsgid \"Profiles successfully imported from clipboard\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:230\nmsgid \"Project onto Active Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\nmsgid \"Project onto Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemProject.py:34\n#, python-brace-format\nmsgid \"Project {0} onto Fit\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:81\nmsgid \"Projected\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/projectedView.py:304\n#: gui/builtinAdditionPanes/projectedView.py:314\n#: gui/builtinAdditionPanes/projectedView.py:319\n#: gui/builtinAdditionPanes/projectedView.py:324\nmsgid \"Projected Item\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:74 eos/saveddata/damagePattern.py:75\n#: eos/saveddata/damagePattern.py:76 eos/saveddata/damagePattern.py:77\n#: eos/saveddata/damagePattern.py:78 eos/saveddata/damagePattern.py:79\n#: eos/saveddata/damagePattern.py:80 eos/saveddata/damagePattern.py:81\n#: eos/saveddata/damagePattern.py:82 eos/saveddata/damagePattern.py:83\n#: eos/saveddata/damagePattern.py:84 eos/saveddata/damagePattern.py:85\nmsgid \"Projectile Ammo\"\nmsgstr \"\"\n\n#: gui/itemStats.py:200\nmsgid \"Properties\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:19\nmsgid \"Propulsion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:78\nmsgid \"Proton\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:49\nmsgid \"Proxy settings\"\nmsgstr \"\"\n\n#: graphs/style.py:58\nmsgid \"Purple\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:222\nmsgid \"PvP Weather\"\nmsgstr \"\"\n\n#: gui/aboutData.py:49\nmsgid \"Pyfa (the Python Fitting Assistant) is an open-source standalone application able to create and simulate fittings for EVE-Online SciFi MMORPG with a very high degree of accuracy. Pyfa can run on all platforms where Python and wxWidgets are supported.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:44\nmsgid \"Pyfa Update checks\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:15\nmsgid \"Pyfa can automatically check and notify you of new releases. This feature is toggled in the Network settings. Here, you may allow pre-release notifications and view suppressed release notifications, if any.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:69\nmsgid \"Pyfa language selection disabled. Please check if .mo files have been generated.\\n\"\n\"Refer to locale/README.md for info.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:129\nmsgid \"Quafe hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of active items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of all items\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Radar\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:45\nmsgid \"Radio\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:126\nmsgid \"Radius\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:54\nmsgid \"Random stats\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:63\nmsgid \"Range\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:222\nmsgid \"Raw HP: \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:223\n#, python-format\nmsgid \"Raw: %d HP\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:652\nmsgid \"Re-enabling fitting restrictions for this fit will also remove any illegal items from the fit. Do you want to continue?\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:56\n#: gui/builtinShipBrowser/navigationPanel.py:129\nmsgid \"Recent Fits\"\nmsgstr \"\"\n\n#: gui/builtinMarketBrowser/marketTree.py:37\nmsgid \"Recently Used Items\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:43\nmsgid \"Recharge rates\"\nmsgstr \"\"\n\n#: graphs/style.py:52\nmsgid \"Red\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"Redo the most recent undone action\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:62\n#: gui/builtinItemStatsViews/itemAffectedBy.py:77\n#: gui/builtinItemStatsViews/itemCompare.py:79\nmsgid \"Refresh\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:68\nmsgid \"Refresh Skills\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:86\nmsgid \"Reinforced\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:62\nmsgid \"Reload ancillary RRs\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:48\nmsgid \"Remote Repairs\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:65\n#: gui/builtinStatsViews/outgoingViewFull.py:66\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Remote Reps\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:387\nmsgid \"Remove Character\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:71\nmsgid \"Remove Overides for Item\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemRemove.py:42\n#, python-brace-format\nmsgid \"Remove {item}{stack}\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:108\nmsgid \"Rename\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:118\nmsgid \"Reopen previous fits on startup\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:53\nmsgid \"Repair speed\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Replace items by cheaper alternatives\"\nmsgstr \"\"\n\n#: gui/itemStats.py:185\nmsgid \"Requirements\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:98\nmsgid \"Reset\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:76\nmsgid \"Reset Suppression\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:51\nmsgid \"Reset defaults\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/resistMode.py:41\nmsgid \"Resist Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:213\nmsgid \"Resist Multiplier: \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:47\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\nmsgid \"Resistances\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:84\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\nmsgid \"Resources\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:57\nmsgid \"Revert changes\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Revert to {}\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:63\nmsgid \"Rig\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:108 eos/saveddata/damagePattern.py:126\nmsgid \"Rogue Drone\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/targetProfile.py:231\nmsgid \"Rogue Drone Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:63 eos/saveddata/targetProfile.py:69\nmsgid \"Rogue Drones\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:34\nmsgid \"Run Time\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:368\nmsgid \"SSO Character Management\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:15 gui/ssoLogin.py:49\nmsgid \"SSO Login\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:45\nmsgid \"SSO Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:126\nmsgid \"Salvage hold\"\nmsgstr \"\"\n\n#: locale_test/getTextLocale.py:4\nmsgid \"Sample Title Text English\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/targetProfile.py:192\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:198\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:204\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:210\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:216\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:222\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:228\nmsgid \"Sansha\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:157 eos/saveddata/targetProfile.py:80\n#: gui/builtinContextMenus/envEffectAdd.py:124\nmsgid \"Sansha Incursion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:127\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:70\nmsgid \"Sanshas Nation\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:858\nmsgid \"Save Backup As...\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:117\nmsgid \"Save CSV file\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:114\nmsgid \"Save Character &As...\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:282\nmsgid \"Save Character As...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:48\n#: gui/mainFrame.py:465\nmsgid \"Save Fitting As...\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:130\nmsgid \"Save Overrides As...\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:27\nmsgid \"Save as New Implant Set\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:64\nmsgid \"Scan res.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:91\nmsgid \"Scorch Bomb\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:88\nmsgid \"Scourge\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:61\nmsgid \"Search fittings\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:356\n#, python-brace-format\nmsgid \"Sec Status: {0:.2f}\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:914\nmsgid \"Security Status is used in some CONCORD hull calculations\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:102 eos/saveddata/targetProfile.py:101\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:115\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:129\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:143\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:157\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:171\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:185\nmsgid \"Seeker\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:62\nmsgid \"Select a format\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:318\nmsgid \"Sending request and awaiting response\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:65\nmsgid \"Sensor str.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:122 eos/saveddata/targetProfile.py:92\nmsgid \"Sentinel\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:122\nmsgid \"Separate Racks\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:110 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:65 eos/saveddata/targetProfile.py:71\nmsgid \"Serpentis\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:64\nmsgid \"Service\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:907\nmsgid \"Set Security Status\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\nmsgid \"Set as Damage Pattern\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:53\nmsgid \"Set export destination\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Set {} as Damage Pattern\"\nmsgstr \"\"\n\n#: gui/setEditor.py:229\nmsgid \"Sets exported to clipboard\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:326\nmsgid \"Setting an Alpha clone does not replace the character's skills, but rather caps them to Alpha levels.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:20\nmsgid \"Sharpshooter\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:46\nmsgid \"Shield\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:49\nmsgid \"Shield (+T2 DCU)\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:38\nmsgid \"Shield Regeneration\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:42\n#: graphs/data/fitShieldRegen/graph.py:55\n#: graphs/data/fitShieldRegen/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:61\nmsgid \"Shield amount\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:62\nmsgid \"Shield regen\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:112\nmsgid \"Shield resistance\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:37\n#: gui/builtinStatsViews/outgoingViewFull.py:38\nmsgid \"Shield restored\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\nmsgid \"Shield/Armor Tank\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Shield: \"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:664\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57\nmsgid \"Ship\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/shipItem.py:111\nmsgid \"Ship Basic\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:48\nmsgid \"Ship groups\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:117\nmsgid \"Ship hold\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:100\nmsgid \"Short Range\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:126\nmsgid \"Show Rack Labels\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:151\nmsgid \"Show empty ship groups\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:130\nmsgid \"Show fitting tab tooltips\"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:71\nmsgid \"Show legend\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:52\nmsgid \"Show market shortcuts\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:140\nmsgid \"Show ship browser tooltip\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:93\nmsgid \"Shrapnel Bomb\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/boosterSideEffects.py:34\nmsgid \"Side Effects\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:88\nmsgid \"Signature\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:125\nmsgid \"Signature radius\\n\"\n\"Leave blank for infinitely big value\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"Signature radius increase\"\nmsgstr \"\"\n\n#: gui/aboutData.py:33\nmsgid \"Silk Icons Set by famfamfam.com - Creative Commons Attribution 2.5 License\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:342 gui/characterEditor.py:608\nmsgid \"Skill\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:160\nmsgid \"Skills\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:242\nmsgid \"Skills required:\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:104 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:118 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:132 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:146 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:160 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:174 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:188\nmsgid \"Sleeper\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:161 eos/saveddata/targetProfile.py:232\nmsgid \"Sleeper Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:158\nmsgid \"Sleepers\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:118\nmsgid \"Small ship hold\"\nmsgstr \"\"\n\n#: graphs/style.py:86\nmsgid \"Solid\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:35\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:86\nmsgid \"Speed\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Speed reduction\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/droneSplitStack.py:29\nmsgid \"Split {} Stack\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:169\nmsgid \"Spool up\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\nmsgid \"Spoolup\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:37\nmsgid \"Spoolup Cycles\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Stable: \"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:48\nmsgid \"Standard\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:46\nmsgid \"Starting cap amount\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:46\nmsgid \"Starting shield amount\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:22\nmsgid \"Statistics Panel\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:45\nmsgid \"Stick to Attacker\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:44\nmsgid \"Stick to Target\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:145 eos/saveddata/damagePattern.py:148\nmsgid \"Subcaps\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:136\n#, no-python-format\nmsgid \"Subcaps w/missiles 0% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:142\n#, no-python-format\nmsgid \"Subcaps w/missiles 100% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:139\n#, no-python-format\nmsgid \"Subcaps w/missiles 50% spool up\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:62\nmsgid \"Subsystem\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:901\nmsgid \"Success\"\nmsgstr \"Réussi\"\n\n#: gui/characterEditor.py:901\nmsgid \"Successfully fetched skills\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:114 eos/saveddata/targetProfile.py:84\nmsgid \"Succubus (Sanshas Nation)\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Support\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:48\n#, python-brace-format\nmsgid \"Suppressing {0} Notifications\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:87\nmsgid \"Sustained\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:46 eos/saveddata/targetProfile.py:47\n#: eos/saveddata/targetProfile.py:48 eos/saveddata/targetProfile.py:49\n#: eos/saveddata/targetProfile.py:50 eos/saveddata/targetProfile.py:51\nmsgid \"T1 Resist\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:52 eos/saveddata/targetProfile.py:53\n#: eos/saveddata/targetProfile.py:54 eos/saveddata/targetProfile.py:55\n#: eos/saveddata/targetProfile.py:56 eos/saveddata/targetProfile.py:57\n#: eos/saveddata/targetProfile.py:58 eos/saveddata/targetProfile.py:59\nmsgid \"T2 Resist\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"TDs: turret optimal range reduction\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"TPs: signature radius increase\"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:660 gui/builtinViewColumns/baseName.py:102\n#: gui/builtinContextMenus/shipModeChange.py:37\nmsgid \"Tactical Mode\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/targetProfile.py:91\nmsgid \"Talos\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:75 graphs/gui/lists.py:359\nmsgid \"Target\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:86\nmsgid \"Target Profile\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:130\nmsgid \"Target Profile Editor\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:73\nmsgid \"Target Profile name already in use, please choose another.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:33\nmsgid \"Target Resists\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Target distance traveled\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:45\nmsgid \"Target inertia factor\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:43\nmsgid \"Target mass\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:45\nmsgid \"Target resistance\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:37 graphs/data/fitDamageStats/graph.py:71\nmsgid \"Target signature\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:35 graphs/data/fitDamageStats/graph.py:62\n#: graphs/data/fitDamageStats/graph.py:63\nmsgid \"Target signature radius\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:38 graphs/data/fitDamageStats/graph.py:60\n#: graphs/data/fitDamageStats/graph.py:61\n#: graphs/data/fitDamageStats/graph.py:70\nmsgid \"Target speed\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:40\nmsgid \"Targeting && Misc\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:62\nmsgid \"Targets\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:60\nmsgid \"Tetryon\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:809\nmsgid \"Text skills training file\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:72\nmsgid \"The amount of spoolup to use by default on module which support it. Can be changed on a per-module basis\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:44\nmsgid \"The delay between a keystroke and the market search. Can help reduce lag when typing fast in the market search box.\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:949\nmsgid \"The following error was generated\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:893\nmsgid \"The following path is invalid or does not exist:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:64\nmsgid \"The source you choose will be tried first, but subsequent sources will be used if the preferred source fails. The system you choose will also be tried first, and if no data is available, global price will be used.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:53\nmsgid \"There is a release available which you have chosen to suppress. You can choose to reset notification suppression for this release, or download the new release from GitHub.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:463\nmsgid \"There was an error importing skills, please see log file\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:230\nmsgid \"There was an error validating characters' SSO token. Please try logging into the character again to reset the token.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:213\nmsgid \"There was an issue starting up the localized server, try setting Login Authentication Method to Manual by going to Preferences -> EVE SS0 -> Login Authentication Method. If this doesn't fix the problem please file an issue on Github.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:40\n#: gui/builtinContextMenus/moduleAmmoChange.py:25\nmsgid \"Thermal\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:86\n#: gui/targetProfileEditor.py:120\nmsgid \"Thermal resistance\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:107\nmsgid \"This is a destructive action that will delete all cached prices out of the database.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:97\nmsgid \"This is a destructive action that will delete all damage pattern profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:102\nmsgid \"This is a destructive action that will delete all target profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:49\nmsgid \"This option goes through EVE SSO directly, but requires more configuration. Use this if pyfa.io is blocked for some reason, or if you do not wish to route data throguh pyfa.io.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:42\nmsgid \"This option prompts users to copy and paste information from the web application to allow for character login. Use this if having issues with the local server.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:47\nmsgid \"This options routes SSO Logins through pyfa.io, allowing you to easily login without any configuration. When in doubt, use this option.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:40\nmsgid \"This options starts a local webserver that the web application will call back to with information about the character login.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:68\nmsgid \"Thorium\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:156\nmsgid \"Thukker\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:33 graphs/data/fitMobility/graph.py:41\n#: graphs/data/fitCapacitor/graph.py:34 graphs/data/fitCapacitor/graph.py:41\n#: graphs/data/fitRemoteReps/graph.py:51 graphs/data/fitRemoteReps/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:40\n#: graphs/data/fitShieldRegen/graph.py:54\n#: graphs/data/fitDamageStats/graph.py:59\n#: graphs/data/fitDamageStats/graph.py:68\nmsgid \"Time\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:80\nmsgid \"Titanium Sabot\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:70\nmsgid \"Toggle Names\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:73\nmsgid \"Toggle View\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:75\nmsgid \"Toggle view mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/miningyieldViewFull.py:89\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Total\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:76\nmsgid \"Total Price Includes\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:54\nmsgid \"Total repaired\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:67\nmsgid \"Total: \"\nmsgstr \"\"\n\n#: gui/itemStats.py:166\nmsgid \"Traits\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:104 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:186\nmsgid \"Triglavian\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/targetProfile.py:94\nmsgid \"Triglavian Entities\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:126\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Triglavian Invasion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:65\nmsgid \"Tungsten\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:111\nmsgid \"Turret hardpoints\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"Turret optimal range reduction\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:32\nmsgid \"Type\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:218\n#, python-brace-format\nmsgid \"Type: {0}\\n\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:222\nmsgid \"Type: {}\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:49\nmsgid \"Ultraviolet\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"Undo the most recent action\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:38\nmsgid \"Uniform\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:42\nmsgid \"Uniform (25%)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:43\nmsgid \"Uniform (50%)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:44\nmsgid \"Uniform (75%)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:45\nmsgid \"Uniform (90%)\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:614\nmsgid \"Unlearn\"\nmsgstr \"\"\n\n#: gui/updateDialog.py:54\nmsgid \"Update Available\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:14\nmsgid \"Updates\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:69\nmsgid \"Uranium\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/implantView.py:68\nmsgid \"Use Character Implants\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/implantView.py:67\nmsgid \"Use Fit-specific Implants\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:48\nmsgid \"Use capacitor simulator\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:102\nmsgid \"Use character implants by default for new fits\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:98\nmsgid \"Use global character\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:106\nmsgid \"Use global damage pattern\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:121\nmsgid \"Username:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:34\nmsgid \"Using Executable Path for Saved Fit Database and Settings\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemVariationChange.py:49\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\nmsgid \"Variations\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/targetProfile.py:89\nmsgid \"Vengeance\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:53\nmsgid \"View Raw Data\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Volley\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:22\nmsgid \"W-Space\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:62\nmsgid \"Waiting for character login through EVE Single Sign-On.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:210\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:212\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:243\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:245\n#, python-format\nmsgid \"Warp Core Strength: %.1f\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:89\nmsgid \"Warp Speed\"\nmsgstr \"\"\n\n#: graphs/data/fitWarpTime/graph.py:45\nmsgid \"Warp Time\"\nmsgstr \"\"\n\n#: graphs/data/fitWarpTime/graph.py:49\nmsgid \"Warp time\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Weapon\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Webs: speed reduction\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:61\nmsgid \"When damage profile is Uniform, set Reactive Armor Hardener to match (old behavior).\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:149\nmsgid \"When disabled, reloads charges just in selected modules. Action can be reversed by holding Ctrl or Alt key while changing charge.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:54\nmsgid \"When enabled, skills will check their dependencies' requirements when their levels change and reset skills that no longer meet the requirement.\\n\"\n\"eg: Setting Drones from level V to IV will reset the Heavy Drone Operation skill, as that requires Drones V\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:69\nmsgid \"When set, uses attacker's exact damage stats at a given time\\n\"\n\"When not set, uses attacker's damage stats as shown in stats panel of main window\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:57\nmsgid \"When set, uses repairing ship's exact RR stats at a given time\\n\"\n\"When not set, uses repairing ship's RR stats as shown in stats panel of main window\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/targetProfile.py:85\nmsgid \"Worm (Guristas)\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:116\nmsgid \"Wormhole\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:50\nmsgid \"Xray\"\nmsgstr \"\"\n\n#: graphs/style.py:59\nmsgid \"Yellow\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:56\nmsgid \"Yes\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:757\nmsgid \"You cannot link All 0 or All 5 characters to an EVE character.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:76\nmsgid \"You must supply a name for the Character!\"\nmsgstr \"\"\n\n#: gui/setEditor.py:48\nmsgid \"You must supply a name for the Implant Set!\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:51\nmsgid \"You must supply a name for your Damage Profile!\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:71\nmsgid \"You must supply a name for your Target Profile!\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:43\nmsgid \"[T2] Aurora\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:75\nmsgid \"[T2] Barrage\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:54\nmsgid \"[T2] Conflagration\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:53\nmsgid \"[T2] Gleam\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:85\nmsgid \"[T2] Hail\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:72\nmsgid \"[T2] Javelin\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:57\nmsgid \"[T2] Mystic\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:63\nmsgid \"[T2] Null\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:61\nmsgid \"[T2] Occult\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:84\nmsgid \"[T2] Quake\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:44\nmsgid \"[T2] Scorch\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:62\nmsgid \"[T2] Spike\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:74\nmsgid \"[T2] Tremor\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:73\nmsgid \"[T2] Void\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"em\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"exp\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"explosive\"\nmsgstr \"explosif\"\n\n#: eos/utils/stats.py:123\nmsgid \"kin\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"kinetic\"\nmsgstr \"cinétique\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:38\nmsgid \"pyfa User Path:\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:69\nmsgid \"pyfa error\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:76\nmsgid \"pyfa has experienced an unexpected issue. Below is a message that contains crucial \\n\"\n\"information about how this was triggered. Please contact the developers with the \\n\"\n\"information provided through the EVE Online forums or file a GitHub issue.\"\nmsgstr \"\"\n\n#: gui/aboutData.py:31\nmsgid \"pyfa is released under GNU GPLv3 - see included LICENSE file\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:108\nmsgid \"pyfa override file\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:131\nmsgid \"pyfa overrides\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"pyfa.io\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:47\nmsgid \"pyfa:\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"th\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"thermal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#, python-brace-format\nmsgid \"{0} Market Group\"\nmsgstr \"\"\n\n#: gui/itemStats.py:87\n#, python-brace-format\nmsgid \"{context}Stats: {name}{debug_info}\"\nmsgstr \"\"\n\n#: gui/pyfa_gauge.py:347\n#, python-brace-format\nmsgid \"{{0:.{0}f}} left\"\nmsgstr \"\"\n\n#: gui/pyfa_gauge.py:344\n#, python-brace-format\nmsgid \"{{0:.{0}f}} over\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:83\nmsgid \"{} (default)\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:284\nmsgid \"{} Copy\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemStats.py:38\nmsgid \"{} Stats\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:104\nmsgid \"{} {} Slot\"\nmsgid_plural \"{} {} Slots\"\nmsgstr[0] \"\"\nmsgstr[1] \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:220\n#, no-python-format, python-brace-format\nmsgid \"{}% chance to be jammed\"\nmsgstr \"\"\n\n"
  },
  {
    "path": "locale/it_IT/LC_MESSAGES/lang.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: pyfa\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2020-10-28 15:28+0300\\n\"\n\"PO-Revision-Date: 2021-05-18 17:34\\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: Italian\\n\"\n\"Language: it_IT\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Crowdin-Project: pyfa\\n\"\n\"X-Crowdin-Project-ID: 411502\\n\"\n\"X-Crowdin-Language: it\\n\"\n\"X-Crowdin-File: /master/locale/lang.pot\\n\"\n\"X-Crowdin-File-ID: 68\\n\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:107\nmsgid \" DPS: \"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemRemove.py:44\nmsgid \" Stack\"\nmsgstr \" Impila\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:100\nmsgid \" Volley: \"\nmsgstr \" Raffica: \"\n\n#: gui/builtinItemStatsViews/itemProperties.py:98\n#, python-format\nmsgid \"%d attribute.\"\nmsgid_plural \"%d attributes.\"\nmsgstr[0] \"\"\nmsgstr[1] \"\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"&Backup All Fittings\"\nmsgstr \"&Backup di Tutti gli Equipaggiamenti\"\n\n#: gui/mainMenuBar.py:104\nmsgid \"&Browse ESI Fittings\"\nmsgstr \"&Sfoglia Equipaggiamenti ESI\"\n\n#: gui/mainMenuBar.py:111\nmsgid \"&Character\"\nmsgstr \"&Personaggio\"\n\n#: gui/mainMenuBar.py:144\nmsgid \"&Character Editor\"\nmsgstr \"&Editor del Personaggio\"\n\n#: gui/mainMenuBar.py:70\nmsgid \"&Close All Tabs\"\nmsgstr \"&Chiudi Tutti le Schede\"\n\n#: gui/mainMenuBar.py:69\nmsgid \"&Close Tab\"\nmsgstr \"&Chiudi Scheda\"\n\n#: gui/mainMenuBar.py:150\nmsgid \"&Damage Pattern Editor\"\nmsgstr \"&Editor Schema dei Danni\"\n\n#: gui/mainMenuBar.py:143\nmsgid \"&Editors\"\nmsgstr \"&Editor\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"&Export Fitting\"\nmsgstr \"&Esporta Equipaggiamenti\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"&Export Skills Needed\"\nmsgstr \"&Esporta Abilità Necessarie\"\n\n#: gui/mainMenuBar.py:66 gui/propertyEditor.py:42\nmsgid \"&File\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"&Forums\"\nmsgstr \"&Forum\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"&From Clipboard\"\nmsgstr \"&Dagli Appunti\"\n\n#: gui/mainMenuBar.py:135\nmsgid \"&Global\"\nmsgstr \"&Generale\"\n\n#: gui/mainMenuBar.py:96\nmsgid \"&Graphs\"\nmsgstr \"&Grafici\"\n\n#: gui/mainMenuBar.py:159\nmsgid \"&Help\"\nmsgstr \"&Aiuto\"\n\n#: gui/mainMenuBar.py:147\nmsgid \"&Implant Set Editor\"\nmsgstr \"&Editor Set di Impianti\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"&Import Character File\"\nmsgstr \"&Importa File del Personaggio\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"&Import Fittings\"\nmsgstr \"&Importa Equipaggiamento\"\n\n#: gui/mainMenuBar.py:122\nmsgid \"&Manage ESI Characters\"\nmsgstr \"&Gestione ESI dei Personaggi\"\n\n#: gui/mainMenuBar.py:68\nmsgid \"&New Tab\"\nmsgstr \"&Nuova Scheda\"\n\n#: gui/mainMenuBar.py:95\nmsgid \"&Optimize Fit Price\"\nmsgstr \"&Ottimizza Prezzo Equipaggiamento\"\n\n#: gui/mainMenuBar.py:137\nmsgid \"&Preferences\"\nmsgstr \"&Preferenze\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"&Redo\"\nmsgstr \"&Ripristina\"\n\n#: gui/mainMenuBar.py:115\nmsgid \"&Revert Character\"\nmsgstr \"&Ripristina Personaggio\"\n\n#: gui/mainMenuBar.py:113\nmsgid \"&Save Character\"\nmsgstr \"&Salva Personaggio\"\n\n#: gui/mainMenuBar.py:153\nmsgid \"&Target Profile Editor\"\nmsgstr \"&Editor Caratteristiche Bersaglio\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"&To Clipboard\"\nmsgstr \"&Copia negli Appunti\"\n\n#: gui/mainFrame.py:688\nmsgid \"&Turn Overrides Off\"\nmsgstr \"&Disattiva Sovraccarico\"\n\n#: gui/mainMenuBar.py:131 gui/mainFrame.py:688\nmsgid \"&Turn Overrides On\"\nmsgstr \"&Attiva Sovraccarico\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"&Undo\"\nmsgstr \"&Annulla\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"&Wiki\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:25\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:29\nmsgid \"(Cannot be changed while pyfa is running. Set via command line switches.)\"\nmsgstr \"(Non può essere cambiato mentre pyfa è in esecuzione. Imposta tramite interfaccia a riga di comando)\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:81\nmsgid \"0s\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fighterAbilities.py:33\nmsgid \"Abilities\"\nmsgstr \"Abilità\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Abyssal\"\nmsgstr \"Abissale\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:123\nmsgid \"Abyssal Weather\"\nmsgstr \"Meteo Abissale\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:31\nmsgid \"Active\"\nmsgstr \"Attivo\"\n\n#: gui/builtinViewColumns/abilities.py:37\nmsgid \"Active Abilities\"\nmsgstr \"Abilità Attive\"\n\n#: gui/builtinViewColumns/sideEffects.py:37\nmsgid \"Active Side Effects\"\nmsgstr \"Effetti Collaterali Attivi\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:76\nmsgid \"Active shield boost\"\nmsgstr \"Attiva Booster dello Scudo\"\n\n#: gui/esiFittings.py:384\nmsgid \"Add Character\"\nmsgstr \"Aggiungi Personaggio\"\n\n#: gui/esiFittings.py:217\nmsgid \"Add Character Error\"\nmsgstr \"Errore nell'Aggiunta del Personaggio\"\n\n#: gui/builtinShipBrowser/fitItem.py:233\nmsgid \"Add Command Booster\"\nmsgstr \"Aggiungi Booster dei Comandi\"\n\n#: gui/builtinContextMenus/fitAddCurrentlyOpen.py:29\nmsgid \"Add Currently Open Fit\"\nmsgstr \"Aggiungi Equipaggiamento Attualmente Aperto\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:56\nmsgid \"Add Environmental Effect\"\nmsgstr \"Aggiungi Effetto Ambientale\"\n\n#: gui/builtinContextMenus/fitAddBrowse.py:22\nmsgid \"Add Fit...\"\nmsgstr \"Aggiungi Equipaggiamento...\"\n\n#: gui/fitBrowserLite.py:17\nmsgid \"Add Fits\"\nmsgstr \"Aggiungi Equipaggiamenti\"\n\n#: gui/builtinContextMenus/targetProfile/adder.py:29\nmsgid \"Add Target Profile\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/cargoAddAmmo.py:28\n#, python-brace-format\nmsgid \"Add {0} to Cargo (x1000)\"\nmsgstr \"Aggiungi {0} alla Stiva(x1000)\"\n\n#: gui/builtinContextMenus/cargoAdd.py:33\nmsgid \"Add {} to Cargo\"\nmsgstr \"Aggiungi {} alla Stiva\"\n\n#: gui/builtinContextMenus/droneAddStack.py:40\nmsgid \"Add {} to Drone Bay{}\"\nmsgstr \"Aggiungi {} al Vano Droni{}\"\n\n#: gui/additionsPane.py:45\nmsgid \"Additions\"\nmsgstr \"Aggiunte\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Additions Panel Copy/Paste\"\nmsgstr \"Pannello Aggiunte Copia/Incolla\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:101\nmsgid \"Addr:\"\nmsgstr \"\"\n\n#: gui/itemStats.py:196\nmsgid \"Affected by\"\nmsgstr \"Affetto da\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:226\n#, python-format\nmsgid \"Agility:\\t%.3fx\"\nmsgstr \"Agilità:\\t%.3fx\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:87\nmsgid \"Align time\"\nmsgstr \"Tempo di allineamento\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:224\n#, python-format\nmsgid \"Align:\\t%.3fs\"\nmsgstr \"Allineamento:\\t%.3fs\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/targetProfile.py:105\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:119\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:133\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:147\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:161\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:175\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:189\nmsgid \"All\"\nmsgstr \"Tutto\"\n\n#: gui/aboutData.py:32\nmsgid \"All EVE-Online related materials are property of CCP hf.\"\nmsgstr \"Tutti i materiali relativi a EVE-Online sono di proprietà di CCP hf.\"\n\n#: gui/mainFrame.py:838 gui/mainFrame.py:1013\nmsgid \"All Files\"\nmsgstr \"Tutti i File\"\n\n#: gui/characterSelection.py:238\nmsgid \"All skill prerequisites have been met\"\nmsgstr \"Tutti i prerequisiti dell'abilità sono stati soddisfatti\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:38\nmsgid \"Allow pre-release notifications\"\nmsgstr \"Consenti notifiche pre-rilascio\"\n\n#: graphs/gui/ctrlPanel.py:75\nmsgid \"Always show Y = 0\"\nmsgstr \"Mostra sempre Y = 0\"\n\n#: eos/saveddata/targetProfile.py:53\nmsgid \"Amarr (Armor)\"\nmsgstr \"Amarr (Armatura)\"\n\n#: eos/saveddata/targetProfile.py:52\nmsgid \"Amarr (Shield)\"\nmsgstr \"Amarr (Scudo)\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/targetProfile.py:95\nmsgid \"Amarr EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/targetProfile.py:72\nmsgid \"Amarr Empire\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:115\nmsgid \"Ammo hold\"\nmsgstr \"Vano Munizioni\"\n\n#: eos/saveddata/damagePattern.py:96 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:229\nmsgid \"Angel\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:123\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:66\nmsgid \"Angel Cartel\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:133\nmsgid \"Animate gauges\"\nmsgstr \"Anima gli indicatori\"\n\n#: eos/saveddata/damagePattern.py:71\nmsgid \"Antimatter\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetApply.py:25\nmsgid \"Apply Implant Set\"\nmsgstr \"Applica Set Impianti\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Apply Mutaplasmid\"\nmsgstr \"Applica Mutaplasmid\"\n\n#: gui/builtinContextMenus/graphDmgApplyProjected.py:23\nmsgid \"Apply Projected Items\"\nmsgstr \"Applica Oggetti Progettati\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:144\nmsgid \"Apply Proxy Settings\"\nmsgstr \"Applica Impostazioni Del Proxy\"\n\n#: gui/propertyEditor.py:146\nmsgid \"Are you sure you want to delete all overrides?\"\nmsgstr \"Sei sicuro di voler eliminare tutti gli override?\"\n\n#: gui/mainFrame.py:645\nmsgid \"Are you sure you wish to ignore fitting restrictions for the current fit? This could lead to wildly inaccurate results and possible errors.\"\nmsgstr \"Sei sicuro di voler ignorare le restrizioni dell'attuale equipaggiamento? Potrebbe portare a risultati molto inaccurati e a possibili errori.\"\n\n#: eos/saveddata/targetProfile.py:47\nmsgid \"Armor\"\nmsgstr \"Armatura\"\n\n#: eos/saveddata/targetProfile.py:50\nmsgid \"Armor (+T2 DCU)\"\nmsgstr \"Armatura (+T2 DCU)\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:77\nmsgid \"Armor repair amount\"\nmsgstr \"Quantità di armatura riparata\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:113\nmsgid \"Armor resistance\"\nmsgstr \"Resistenze dell'armatura\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:43\n#: gui/builtinStatsViews/outgoingViewFull.py:44\nmsgid \"Armor restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Armor: \"\nmsgstr \"Armatura: \"\n\n#: eos/saveddata/damagePattern.py:120 eos/saveddata/targetProfile.py:90\nmsgid \"Ashimmu (Blood Raiders)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\nmsgid \"Asteroid\"\nmsgstr \"Asteroide\"\n\n#: graphs/data/fitDamageStats/graph.py:74\nmsgid \"Attacker\"\nmsgstr \"Aggressore\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:56\n#: gui/builtinItemStatsViews/itemAttributes.py:44\nmsgid \"Attribute\"\nmsgstr \"Attributo\"\n\n#: gui/mainMenuBar.py:128\nmsgid \"Attribute &Overrides\"\nmsgstr \"Attributo &Override\"\n\n#: gui/propertyEditor.py:28\nmsgid \"Attribute Editor\"\nmsgstr \"Editor Attributi\"\n\n#: gui/itemStats.py:177\nmsgid \"Attributes\"\nmsgstr \"Attributi\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:43\nmsgid \"Auto\"\nmsgstr \"Automatico\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:94\nmsgid \"Auto will use the same language pyfa uses if available, otherwise English\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Auto-detected proxy settings\"\nmsgstr \"Impostazioni proxy rilevate automaticamente\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:136\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:158\nmsgid \"Auto-detected: \"\nmsgstr \"Rilevato automaticamente: \"\n\n#: graphs/gui/ctrlPanel.py:64\nmsgid \"Axis X:\"\nmsgstr \"Asse X:\"\n\n#: graphs/gui/ctrlPanel.py:56\nmsgid \"Axis Y:\"\nmsgstr \"Asse Y:\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:50\nmsgid \"Back\"\nmsgstr \"Indietro\"\n\n#: gui/mainFrame.py:873\nmsgid \"Backing up {} fits to: {}\"\nmsgstr \"Backup {} equipaggiamenti su: {}\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"Backup all fittings to a XML file\"\nmsgstr \"Esegui backup di tutti gli equipaggiamenti su un file XML\"\n\n#: gui/mainFrame.py:872 gui/mainFrame.py:903\nmsgid \"Backup fits\"\nmsgstr \"Backup equipaggiamenti\"\n\n#: eos/saveddata/damagePattern.py:59\nmsgid \"Baryon\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:47\nmsgid \"Base Value\"\nmsgstr \"Valore Base\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battlecruiser\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battleship\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:951\nmsgid \"Be aware that already processed fits were not saved\"\nmsgstr \"Sii consapevole che gli equipaggiamenti già processati non sono stati salvati\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Bioluminescence\"\nmsgstr \"Bioluminescenza\"\n\n#: eos/saveddata/damagePattern.py:106 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/targetProfile.py:61 eos/saveddata/targetProfile.py:67\nmsgid \"Blood Raiders\"\nmsgstr \"\"\n\n#: graphs/style.py:54\nmsgid \"Blue\"\nmsgstr \"Blu\"\n\n#: eos/saveddata/damagePattern.py:90 eos/saveddata/damagePattern.py:91\n#: eos/saveddata/damagePattern.py:92 eos/saveddata/damagePattern.py:93\nmsgid \"Bombs\"\nmsgstr \"Bombe\"\n\n#: gui/builtinAdditionPanes/boosterView.py:215\nmsgid \"Booster\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\n#: gui/builtinContextMenus/additionsExportAll.py:23\n#: gui/builtinContextMenus/additionsExportSelection.py:23\n#: gui/builtinContextMenus/additionsImport.py:24 gui/additionsPane.py:78\nmsgid \"Boosters\"\nmsgstr \"Booster\"\n\n#: graphs/style.py:82\nmsgid \"Bright\"\nmsgstr \"Luminoso\"\n\n#: gui/esiFittings.py:32\nmsgid \"Browse EVE Fittings\"\nmsgstr \"Sfoglia gli Equipaggiamenti di EVE\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Bump distance\"\nmsgstr \"Distanza dell'urto\"\n\n#: graphs/data/fitMobility/graph.py:38\nmsgid \"Bump speed\"\nmsgstr \"Velocità dell'urto\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/targetProfile.py:81 eos/saveddata/targetProfile.py:82\n#: eos/saveddata/targetProfile.py:83 eos/saveddata/targetProfile.py:84\n#: eos/saveddata/targetProfile.py:85 eos/saveddata/targetProfile.py:86\n#: eos/saveddata/targetProfile.py:87 eos/saveddata/targetProfile.py:88\n#: eos/saveddata/targetProfile.py:89 eos/saveddata/targetProfile.py:90\n#: eos/saveddata/targetProfile.py:91 eos/saveddata/targetProfile.py:92\nmsgid \"Burner\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/targetProfile.py:74\nmsgid \"CONCORD\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:153\nmsgid \"CPU\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:118\nmsgid \"CSV files\"\nmsgstr \"File CSV\"\n\n#: eos/saveddata/targetProfile.py:55\nmsgid \"Caldari (Armor)\"\nmsgstr \"Caldari (Armatura)\"\n\n#: eos/saveddata/targetProfile.py:54\nmsgid \"Caldari (Shield)\"\nmsgstr \"Caldari (Scudi)\"\n\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/targetProfile.py:96\nmsgid \"Caldari EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/targetProfile.py:73\nmsgid \"Caldari State\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:115\nmsgid \"Calibration\"\nmsgstr \"Calibrazione\"\n\n#: graphs/data/fitCapacitor/graph.py:35 graphs/data/fitCapacitor/graph.py:36\n#: graphs/data/fitCapacitor/graph.py:38 graphs/data/fitCapacitor/graph.py:43\nmsgid \"Cap amount\"\nmsgstr \"Quantità di condensatore\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Cap neutralized per second\"\nmsgstr \"Condensatore neutralizzato al secondo\"\n\n#: graphs/data/fitCapacitor/graph.py:39\nmsgid \"Cap regen\"\nmsgstr \"Condensatore rigenerato\"\n\n#: graphs/data/fitCapacitor/graph.py:32\n#: gui/builtinStatsViews/capacitorViewFull.py:37\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\nmsgid \"Capacitor\"\nmsgstr \"Condensatore\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:139\nmsgid \"Capacitor delta:\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:31\n#: gui/builtinStatsViews/outgoingViewFull.py:32\nmsgid \"Capacitor restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:57\nmsgid \"Capacitor stability\"\nmsgstr \"Stabilità del condensatore\"\n\n#: eos/saveddata/damagePattern.py:76\nmsgid \"Carbonized Lead\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:49 gui/copySelectDialog.py:57\n#: gui/builtinContextMenus/priceOptions.py:47\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:90\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:81\n#: gui/additionsPane.py:72\nmsgid \"Cargo\"\nmsgstr \"Carico\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:20\n#: gui/builtinContextMenus/additionsExportSelection.py:20\n#: gui/builtinContextMenus/additionsImport.py:21\nmsgid \"Cargo Items\"\nmsgstr \"Articoli Del Carico\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:158\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Cargo bay\"\nmsgstr \"Stiva\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:229\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:254\nmsgid \"Cargohold: \"\nmsgstr \"Stiva: \"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:167\nmsgid \"Carrier\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Caustic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:47\nmsgid \"Cert Path:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:73\n#, python-format\nmsgid \"Change %s Skills\"\nmsgstr \"Cambia %s Abilità\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:92\nmsgid \"Change Amount\"\nmsgstr \"Cambia Quantità\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\nmsgid \"Change Skills\"\nmsgstr \"Cambia Abilità\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:144\nmsgid \"Change charge in all modules of the same type\"\nmsgstr \"Cambia la carica in tutti i moduli dello stesso tipo\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:34\n#, python-brace-format\nmsgid \"Change {0} Quantity\"\nmsgstr \"Cambia {0} Quantità\"\n\n#: gui/builtinContextMenus/itemProjectionRange.py:34\nmsgid \"Change {} Range\"\nmsgstr \"Cambia {} Portata\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:31\nmsgid \"Changes require restart of pyfa to take effect.\"\nmsgstr \"I cambiamenti richiedono il riavvio di pyfa per avere effetto.\"\n\n#: gui/esiFittings.py:375 gui/builtinStatsViews/priceViewFull.py:57\n#: gui/characterEditor.py:90\nmsgid \"Character\"\nmsgstr \"Personaggio\"\n\n#: gui/characterEditor.py:137\nmsgid \"Character Editor\"\nmsgstr \"Editor del Personaggio\"\n\n#: gui/esiFittings.py:376\nmsgid \"Character ID\"\nmsgstr \"ID del Personaggio\"\n\n#: gui/characterEditor.py:78\nmsgid \"Character name already in use, please choose another.\"\nmsgstr \"Nome del personaggio già in uso, sceglierne un altro.\"\n\n#: gui/characterEditor.py:771\nmsgid \"Character:\"\nmsgstr \"Personaggio:\"\n\n#: gui/characterSelection.py:47\nmsgid \"Character: \"\nmsgstr \"Personaggio: \"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:48\nmsgid \"Charge\"\nmsgstr \"Carica\"\n\n#: gui/builtinViews/fittingView.py:664\nmsgid \"Citadel\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:37\nmsgid \"Citadel System Security\"\nmsgstr \"Sistema di Sicurezza della Citadel\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear All\"\nmsgstr \"Cancella Tutto\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear all overrides\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:97\n#: gui/builtinStatsViews/resistancesViewFull.py:169\nmsgid \"Click to toggle between effective HP and raw HP\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:102\nmsgid \"Click to toggle to Firepower View\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:115\nmsgid \"Click to toggle to Mining Yield\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:76\nmsgid \"Client ID:\"\nmsgstr \"ID del Client:\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:85\nmsgid \"Client Secret:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:114\nmsgid \"Color fitting view by slot\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"Combined ECM strength\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:84\nmsgid \"Command\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/commandView.py:201\nmsgid \"Command Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/commandFitAdd.py:51\nmsgid \"Command Fits\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:127\nmsgid \"Command center hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:110\nmsgid \"Compact skills needed tooltip\"\nmsgstr \"\"\n\n#: gui/itemStats.py:182\nmsgid \"Compare\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:227\nmsgid \"Concord\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:92\nmsgid \"Concussion Bomb\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:98\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:103\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:108\n#: gui/mainFrame.py:647 gui/mainFrame.py:653\nmsgid \"Confirm\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:160 gui/propertyEditor.py:147\nmsgid \"Confirm Delete\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:129 gui/esiFittings.py:172 gui/esiFittings.py:345\nmsgid \"Connection error, please check your internet connection\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:14\nmsgid \"Context Menus\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:117\nmsgid \"ContextMenu|ProjectedEffectManipulation|Black Hole\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:118\nmsgid \"ContextMenu|ProjectedEffectManipulation|Cataclysmic Variable\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:144\nmsgid \"ContextMenu|ProjectedEffectManipulation|Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:106\nmsgid \"ContextMenu|ProjectedEffectManipulation|Electrical\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:107\nmsgid \"ContextMenu|ProjectedEffectManipulation|Exotic\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:115\nmsgid \"ContextMenu|ProjectedEffectManipulation|Firestorm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:108\nmsgid \"ContextMenu|ProjectedEffectManipulation|Gamma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:119\nmsgid \"ContextMenu|ProjectedEffectManipulation|Magnetar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:113\nmsgid \"ContextMenu|ProjectedEffectManipulation|Matter\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:111\nmsgid \"ContextMenu|ProjectedEffectManipulation|Metaliminal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:109\nmsgid \"ContextMenu|ProjectedEffectManipulation|Plasma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:120\nmsgid \"ContextMenu|ProjectedEffectManipulation|Pulsar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:114\nmsgid \"ContextMenu|ProjectedEffectManipulation|Ray\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:121\nmsgid \"ContextMenu|ProjectedEffectManipulation|Red Giant\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:125\nmsgid \"ContextMenu|ProjectedEffectManipulation|Sansha Incursion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:112\nmsgid \"ContextMenu|ProjectedEffectManipulation|Storm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:143\nmsgid \"ContextMenu|ProjectedEffectManipulation|System Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:127\nmsgid \"ContextMenu|ProjectedEffectManipulation|Triglavian Invasion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:122\nmsgid \"ContextMenu|ProjectedEffectManipulation|Wolf Rayet\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemDescription.py:43\n#: gui/builtinItemStatsViews/itemTraits.py:25\n#: gui/builtinShipBrowser/fitItem.py:107\nmsgid \"Copy\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:39\nmsgid \"Copy All {}\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:105\nmsgid \"Copy Missing Skills\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleMutatedExport.py:28\nmsgid \"Copy Module to Clipboard\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsExportSelection.py:39\nmsgid \"Copy Selected {}\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:20\nmsgid \"Copy and paste the block of text provided by pyfa.io\"\nmsgstr \"\"\n\n#: gui/setEditor.py:222 gui/patternEditor.py:290 gui/targetProfileEditor.py:366\nmsgid \"Could not import from clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:359\nmsgid \"Could not import from clipboard:\"\nmsgstr \"\"\n\n#: gui/setEditor.py:218 gui/patternEditor.py:283\nmsgid \"Could not import from clipboard: unknown errors\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Cruiser\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/targetProfile.py:81\nmsgid \"Cruor (Blood Raiders)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:175\nmsgid \"Current\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:57\n#: gui/builtinItemStatsViews/itemAttributes.py:45\nmsgid \"Current Value\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:63\nmsgid \"Custom Application\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"Custom application\"\nmsgstr \"\"\n\n#: graphs/style.py:57\nmsgid \"Cyan\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"DPS\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:99\nmsgid \"Damage Pattern Editor\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:65\nmsgid \"Damage Profile\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:53\nmsgid \"Damage Profile name already in use, please choose another.\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:56\nmsgid \"Damage Stats\"\nmsgstr \"Statistiche del Danno\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Damage inflicted\"\nmsgstr \"Danni inflitti\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Damps: lock range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/targetProfile.py:83\nmsgid \"Daredevil (Serpentis)\"\nmsgstr \"\"\n\n#: graphs/style.py:81\nmsgid \"Dark\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\nmsgid \"Dark Matter All Tiers\"\nmsgstr \"\"\n\n#: graphs/style.py:89\nmsgid \"Dash-dotted\"\nmsgstr \"\"\n\n#: graphs/style.py:87\nmsgid \"Dashed\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:15\nmsgid \"Database\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\nmsgid \"Deadspace\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:56\nmsgid \"Debug Logging Enabled\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:58\nmsgid \"Default Market Prices:\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:271\n#, python-format\nmsgid \"Default Value: %0.3f\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:18\nmsgid \"Defense\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:44\nmsgid \"Defined in millions of kilograms\"\nmsgstr \"Definito in milioni di chilogrammi\"\n\n#: gui/builtinShipBrowser/fitItem.py:109\nmsgid \"Delete\"\nmsgstr \"Elimina\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:79\nmsgid \"Delete All Damage Pattern Profiles\"\nmsgstr \"Elimina Tutti i Profili degli Schemi dei Danni\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:87\nmsgid \"Delete All Prices\"\nmsgstr \"Elimina Tutti I Prezzi\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:83\nmsgid \"Delete All Target Profiles\"\nmsgstr \"Elimina Tutti i Profili dei Bersagli\"\n\n#: gui/esiFittings.py:66\nmsgid \"Delete all from Eve\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:65\nmsgid \"Delete from EVE\"\nmsgstr \"Elimina da EVE\"\n\n#: gui/itemStats.py:189\nmsgid \"Dependents\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:79\nmsgid \"Depleted Uranium\"\nmsgstr \"\"\n\n#: gui/itemStats.py:174\nmsgid \"Description\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Destroyer\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Destructible Beacons\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Dev Tools\"\nmsgstr \"Strumenti dello Sviluppatore\"\n\n#: gui/mainMenuBar.py:101 gui/mainMenuBar.py:202\nmsgid \"Disable Fitting Re&strictions\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Disabled\"\nmsgstr \"Disabilitato\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:28\nmsgid \"Disabling context menus can improve responsiveness.\\n\"\n\"You can hold {} key + right-click to show all menu items regardless of these settings.\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:36 graphs/data/fitRemoteReps/graph.py:50\n#: graphs/data/fitRemoteReps/graph.py:58 graphs/data/fitWarpTime/graph.py:47\n#: graphs/data/fitWarpTime/graph.py:48 graphs/data/fitWarpTime/graph.py:51\n#: graphs/data/fitWarpTime/graph.py:52 graphs/data/fitDamageStats/graph.py:58\n#: graphs/data/fitDamageStats/graph.py:65 graphs/data/fitEwarStats/graph.py:34\n#: graphs/data/fitEwarStats/graph.py:44\nmsgid \"Distance\"\nmsgstr \"Distanza\"\n\n#: graphs/data/fitDamageStats/graph.py:66\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"Distanza tra aggressore e bersaglio, come si vede sull'interfaccia (terra-terra)\"\n\n#: graphs/data/fitDamageStats/graph.py:67\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\\n\"\n\"When set, places the target that far away from the attacker\\n\"\n\"When not set, attacker's weapons always hit the target\"\nmsgstr \"Distanza tra aggressore e bersaglio, come si vede sull'interfaccia (terra-terra)\\n\"\n\"Quando è impostata, piazza il bersaglio a quella distanza dall'aggressore\\n\"\n\"Quando non è impostata, le armi dell'aggressore colpiscono sempre\"\n\n#: graphs/data/fitRemoteReps/graph.py:59 graphs/data/fitRemoteReps/graph.py:60\nmsgid \"Distance between the repairing ship and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"Distanza tra la nave riparatrice ed il bersaglio, come si vede sull'interfaccia (terra-terra)\"\n\n#: gui/esiFittings.py:159\nmsgid \"Do you really want to delete {} ({}) from EVE?\"\nmsgstr \"Vuoi veramente eliminare {} ({}) da EVE?\"\n\n#: gui/updateDialog.py:102\nmsgid \"Don't remind me again for this release\"\nmsgstr \"Non ricordarmi per questa versione\"\n\n#: gui/characterEditor.py:789\nmsgid \"Don't see your EVE character in the list?\"\nmsgstr \"Non vedi il tuo personaggio di EVE nella lista?\"\n\n#: graphs/style.py:88\nmsgid \"Dotted\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:71\n#: gui/updateDialog.py:113\nmsgid \"Download\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:313\nmsgid \"Drag a fit into this list to graph it\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:370\nmsgid \"Drag a fit into this list to have your fits graphed against it\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/commandView.py:163\nmsgid \"Drag a fit to this area\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/projectedView.py:224\nmsgid \"Drag an item or fit, or use right-click menu for wormhole effects\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:112 eos/saveddata/targetProfile.py:82\nmsgid \"Dramiel (Angel)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:144\n#: eos/saveddata/damagePattern.py:147\nmsgid \"Dread\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/damagePattern.py:146\nmsgid \"Dread/Subcaps\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:98 eos/saveddata/targetProfile.py:103\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:117\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:131\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:145\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:159\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:173\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:187\nmsgid \"Drifter\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:159 eos/saveddata/targetProfile.py:230\nmsgid \"Drifter Entities\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Drone\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:26\nmsgid \"Drone Mode\"\nmsgstr \"Modalità Drone\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:157\nmsgid \"Drone bandwidth\"\nmsgstr \"Larghezza banda del drone\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:155\nmsgid \"Drone bay\"\nmsgstr \"Stiva Droni\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:66\nmsgid \"Drone range\"\nmsgstr \"Portata Drone\"\n\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/targetProfile.py:99\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:113\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:127\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:141\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:155\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:169\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:183\n#: gui/builtinContextMenus/priceOptions.py:40\n#: gui/builtinContextMenus/additionsExportAll.py:18\n#: gui/builtinContextMenus/additionsExportSelection.py:18\n#: gui/builtinContextMenus/additionsImport.py:19\n#: gui/builtinStatsViews/priceViewFull.py:58\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:77\n#: gui/additionsPane.py:66\nmsgid \"Drones\"\nmsgstr \"Droni\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:113\nmsgid \"Drones active\"\nmsgstr \"Droni attivi\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:62\nmsgid \"Dump All Logs\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:105\nmsgid \"E&xport to ESI\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"ECM: combined strength\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:837\nmsgid \"EFT text fitting files\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:96\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"EHP\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:39\n#: gui/builtinContextMenus/moduleAmmoChange.py:24\nmsgid \"EM\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:119\nmsgid \"EM resistance\"\nmsgstr \"Resistenza EM\"\n\n#: eos/saveddata/damagePattern.py:81\nmsgid \"EMP\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:347 gui/esiFittings.py:351 gui/esiFittings.py:359\nmsgid \"ERROR\"\nmsgstr \"ERRORE\"\n\n#: gui/mainFrame.py:1012\nmsgid \"EVE API XML character files\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:76\nmsgid \"EVE Data:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:49\nmsgid \"EVE IGB HTML fitting file\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:16\n#: gui/characterEditor.py:162\nmsgid \"EVE SSO\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:37\nmsgid \"EVE Servers (API && CREST import)\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:859\nmsgid \"EVE XML fitting file\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:466 gui/mainFrame.py:836\nmsgid \"EVE XML fitting files\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:808\nmsgid \"EVEMon skills training XML file\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:807\nmsgid \"EVEMon skills training file\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"Effective DPS\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:61\n#: gui/builtinStatsViews/resistancesViewFull.py:219\nmsgid \"Effective HP: \"\nmsgstr \"HP Effettivi: \"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:151\nmsgid \"Effective capacity\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Effective damage inflicted\"\nmsgstr \"Danni effettivi inflitti\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Effective volley\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:220\n#, python-format\nmsgid \"Effective: %d HP\"\nmsgstr \"Effettivi %d HP\"\n\n#: gui/itemStats.py:192\nmsgid \"Effects\"\nmsgstr \"Effetti\"\n\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:107\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:109\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:194\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:196\nmsgid \"Electrical T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\nmsgid \"Electrical T3 (Some T5 Rooms)\"\nmsgstr \"T3 Elettrico (Alcune Stanze T5)\"\n\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:121\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:123\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:200\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:202\nmsgid \"Electrical T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:85\nmsgid \"Electromagnetic resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:90\nmsgid \"Electron Bomb\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:33\nmsgid \"Electronic Warfare Stats\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:59\nmsgid \"Empty\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:105\nmsgid \"Empty Market View\"\nmsgstr \"\"\n\n#: gui/multiSwitch.py:41\nmsgid \"Empty Tab\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:200\nmsgid \"Enable Fitting Re&strictions\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:33\nmsgid \"Enable Network\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable all available meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:93\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:114\nmsgid \"Enable all meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\nmsgid \"Enable all meta buttons for a duration of search / recents\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button, disable others\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable leftmost available meta button\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:61\nmsgid \"Enable minimal format\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Enabled\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:50\nmsgid \"Enforce strict skill level requirements\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:281\nmsgid \"Enter a name for your new Character:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:51\nmsgid \"Enter a name for your new Implant Set:\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:116 eos/saveddata/targetProfile.py:86\nmsgid \"Enyo\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:174 gui/setEditor.py:55 gui/mainFrame.py:896\n#: gui/characterEditor.py:83 gui/characterEditor.py:463\n#: gui/characterEditor.py:898 gui/patternEditor.py:58\n#: gui/targetProfileEditor.py:78\nmsgid \"Error\"\nmsgstr \"Errore\"\n\n#: gui/characterSelection.py:173 gui/characterEditor.py:897\nmsgid \"Error fetching skill information\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:68\nmsgid \"Error!\"\nmsgstr \"Errore!\"\n\n#: eos/saveddata/damagePattern.py:57 eos/saveddata/damagePattern.py:58\n#: eos/saveddata/damagePattern.py:59 eos/saveddata/damagePattern.py:60\n#: eos/saveddata/damagePattern.py:61\nmsgid \"Exotic Plasma\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:149\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:151\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:212\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:214\nmsgid \"Exotic T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\nmsgid \"Exotic T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:163\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:165\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:218\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:220\nmsgid \"Exotic T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:67\nmsgid \"Expand All\"\nmsgstr \"Espandi Tutto\"\n\n#: eos/saveddata/damagePattern.py:42\n#: gui/builtinContextMenus/moduleAmmoChange.py:26\nmsgid \"Explosive\"\nmsgstr \"Esplosivo\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:88\n#: gui/targetProfileEditor.py:122\nmsgid \"Explosive resistance\"\nmsgstr \"Resistenza esplosiva\"\n\n#: gui/propertyEditor.py:39\nmsgid \"Export\"\nmsgstr \"Esporta\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export All Fittings to &HTML\"\nmsgstr \"Esporta tutti gli equipaggiamenti in &HTML\"\n\n#: gui/mainFrame.py:946\nmsgid \"Export Error\"\nmsgstr \"Errore nell' Esportazione\"\n\n#: gui/esiFittings.py:258\nmsgid \"Export Fit\"\nmsgstr \"Esporta Equipaggiamento\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:23\nmsgid \"Export Fittings in a minimal HTML Version, just containing the fittings links without any visual styling\"\nmsgstr \"Esporta equipaggiamenti in una versione HTML minimale, contenente solo l'equipaggiamento senza alcuno stile visivo\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:57\nmsgid \"Export Item Stats\"\nmsgstr \"Esporta Statistiche Articolo\"\n\n#: gui/esiFittings.py:263\nmsgid \"Export Loaded Charges\"\nmsgstr \"Esporta Cariche Caricate\"\n\n#: gui/mainFrame.py:805\nmsgid \"Export Skills Needed As...\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"Export a fit to the clipboard\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\nmsgid \"Export boosters\"\nmsgstr \"Esporta booster\"\n\n#: gui/copySelectDialog.py:49\nmsgid \"Export cargo contents\"\nmsgstr \"Esporta contenuti del carico\"\n\n#: gui/copySelectDialog.py:57\nmsgid \"Export cargo hold contents\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Export charges loaded into modules\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:245\nmsgid \"Export fit to EVE\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export fits to HTML file (set in Preferences)\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"Export fitting to another format\"\nmsgstr \"\"\n\n#: gui/setEditor.py:149\nmsgid \"Export implant sets to clipboard\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\nmsgid \"Export implants\"\nmsgstr \"Esporta impianti\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Export mutated modules' stats\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:172\nmsgid \"Export patterns to clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:222\nmsgid \"Export profiles to clipboard\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:373\nmsgid \"Export skills from clipboard\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"Export skills needed for this fitting\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:827\nmsgid \"Exporting skills needed...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:152\nmsgid \"Extra info in Additions panel tab names\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:90\nmsgid \"Extra stats\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/factorReload.py:26\nmsgid \"Factor in Reload Time\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:44\nmsgid \"Factor in reload time when calculating capacitor usage, damage, and tank.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:328\nmsgid \"Failed to generate export data\"\nmsgstr \"\"\n\n#: gui/aboutData.py:34\nmsgid \"Fat Cow Icons by fatcow.com - Creative Commons Attribution 3.0 License\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:44\nmsgid \"Fetch Fits\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:114\nmsgid \"Fetching fits, please wait...\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:81\nmsgid \"Fi&t\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:156\nmsgid \"Fighter bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:114\nmsgid \"Fighter squadrons active\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:19\n#: gui/builtinContextMenus/additionsExportSelection.py:19\n#: gui/builtinContextMenus/additionsImport.py:20 gui/additionsPane.py:69\nmsgid \"Fighters\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Filament\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemFill.py:32\nmsgid \"Fill With Module\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\n#, python-brace-format\nmsgid \"Fill With {0}\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\nmsgid \"Fill with module\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:43\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\nmsgid \"Firepower\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\nmsgid \"Firestorm T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:135\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:137\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:206\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:208\nmsgid \"Firestorm T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\nmsgid \"Firestorm T4/T5/T6\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:306\nmsgid \"Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:47\nmsgid \"Fitting Database:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:27\nmsgid \"Fitting Engine\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57 gui/mainFrame.py:184\nmsgid \"Fittings\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:113\nmsgid \"Fleet hangar\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Formatting Tags\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:43 eos/saveddata/damagePattern.py:44\n#: eos/saveddata/damagePattern.py:45 eos/saveddata/damagePattern.py:46\n#: eos/saveddata/damagePattern.py:47 eos/saveddata/damagePattern.py:48\n#: eos/saveddata/damagePattern.py:49 eos/saveddata/damagePattern.py:50\n#: eos/saveddata/damagePattern.py:51 eos/saveddata/damagePattern.py:52\n#: eos/saveddata/damagePattern.py:53 eos/saveddata/damagePattern.py:54\nmsgid \"Frequency Crystals\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Frigate\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:116\nmsgid \"Fuel bay\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Full\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:83\nmsgid \"Fusion\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"GDs: missile flight range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:57\nmsgid \"Gallente (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:56\nmsgid \"Gallente (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/targetProfile.py:97\nmsgid \"Gallente EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/targetProfile.py:75\nmsgid \"Gallente Federation\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:57\nmsgid \"Game Database:\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:51\nmsgid \"Gamma\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\nmsgid \"Gamma T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:177\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:179\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:224\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:226\nmsgid \"Gamma T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Gamma T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:125\nmsgid \"Gas hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:20\nmsgid \"General\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:904\nmsgid \"Generating HTML file at: {}\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:39 eos/saveddata/damagePattern.py:40\n#: eos/saveddata/damagePattern.py:41 eos/saveddata/damagePattern.py:42\nmsgid \"Generic\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:778\nmsgid \"Get Skills\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:68\nmsgid \"Global Default Spoolup Percentage:\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"Go to EVE Online Forum thread\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"Go to wiki on GitHub\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:102\nmsgid \"Grant Missing Skills\"\nmsgstr \"\"\n\n#: graphs/gui/frame.py:51\nmsgid \"Graphs\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Gravimetric\"\nmsgstr \"\"\n\n#: graphs/style.py:53\nmsgid \"Green\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:125\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:68\nmsgid \"Guristas\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:172\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"HP\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:19\nmsgid \"HTML Export\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:20\nmsgid \"HTML Export (File > Export HTML) allows you to export your entire fitting database into an HTML file at the specified location. This file can be used to easily open your fits in a web-based fitting program\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/targetProfile.py:87\nmsgid \"Hawk\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Heavy\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:136\nmsgid \"Hide Recent Fits\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:53\n#: gui/builtinShipBrowser/navigationPanel.py:147\nmsgid \"Hide empty ship groups\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:59\nmsgid \"High\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:19\nmsgid \"High Security\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:48\nmsgid \"Hull\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:51\nmsgid \"Hull (+T2 DCU)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:78\nmsgid \"Hull repair amount\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:114\nmsgid \"Hull resistance\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:49\n#: gui/builtinStatsViews/outgoingViewFull.py:50\nmsgid \"Hull restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Hull: \"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:62 eos/saveddata/damagePattern.py:63\n#: eos/saveddata/damagePattern.py:64 eos/saveddata/damagePattern.py:65\n#: eos/saveddata/damagePattern.py:66 eos/saveddata/damagePattern.py:67\n#: eos/saveddata/damagePattern.py:68 eos/saveddata/damagePattern.py:69\n#: eos/saveddata/damagePattern.py:70 eos/saveddata/damagePattern.py:71\n#: eos/saveddata/damagePattern.py:72 eos/saveddata/damagePattern.py:73\nmsgid \"Hybrid Charges\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:35\nmsgid \"ID\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:293\nmsgid \"Ideal Target\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDroneControlRange.py:23\nmsgid \"Ignore Drone Control Range\"\nmsgstr \"Ignora la Portata del Drone\"\n\n#: gui/builtinContextMenus/graphLockRange.py:23\nmsgid \"Ignore Lock Range\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgIgnoreResists.py:23\nmsgid \"Ignore Target Resists\"\nmsgstr \"\"\n\n#: gui/setEditor.py:62\nmsgid \"Implant Set\"\nmsgstr \"\"\n\n#: gui/setEditor.py:122\nmsgid \"Implant Set Editor\"\nmsgstr \"\"\n\n#: gui/setEditor.py:50\nmsgid \"Implant Set name already in use, please choose another.\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\n#: gui/builtinContextMenus/additionsExportAll.py:21\n#: gui/builtinContextMenus/additionsExportAll.py:22\n#: gui/builtinContextMenus/additionsExportSelection.py:21\n#: gui/builtinContextMenus/additionsExportSelection.py:22\n#: gui/builtinContextMenus/additionsImport.py:22\n#: gui/builtinContextMenus/additionsImport.py:23 gui/characterEditor.py:161\n#: gui/additionsPane.py:75\nmsgid \"Implants\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/priceOptions.py:54\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:85\nmsgid \"Implants && Boosters\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:38\nmsgid \"Import\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:946\nmsgid \"Import Error\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:442\nmsgid \"Import Skills\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"Import a fit from the clipboard\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"Import characters into pyfa from file\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"Import fittings into pyfa\"\nmsgstr \"\"\n\n#: gui/setEditor.py:148\nmsgid \"Import implant sets from clipboard\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:38 gui/propertyEditor.py:39\nmsgid \"Import overrides\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:171\nmsgid \"Import patterns from clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:221\nmsgid \"Import profiles from clipboard\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:107\nmsgid \"Import pyfa override file\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:372\nmsgid \"Import skills from clipboard\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:64\nmsgid \"Import to pyfa\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:1019\nmsgid \"Importing Character...\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:844\nmsgid \"Importing fits\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:440\nmsgid \"Importing skills into this character will set the skill levels as pending. To save the skills permanently, please click the Save button at the bottom of the window after importing\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Include formatting tags to paste fit directly into corp bulletins, MOTD, etc.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:115\nmsgid \"Incoming damage pattern\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:50\nmsgid \"Incorrect formatting (decimals only)\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:52\nmsgid \"Incorrect range (must be 0-100)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:121\nmsgid \"Industrial ship hold\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:46\nmsgid \"Inertia Modifier attribute value of the target ship\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:87\nmsgid \"Inferno\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:47\nmsgid \"Infrared\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Interceptor\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:65\nmsgid \"Interested in helping with translations?\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:892\nmsgid \"Invalid Path\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:232\nmsgid \"Invalid Token\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:94 eos/saveddata/targetProfile.py:95\n#: eos/saveddata/targetProfile.py:96 eos/saveddata/targetProfile.py:97\n#: eos/saveddata/targetProfile.py:98 eos/saveddata/targetProfile.py:230\n#: eos/saveddata/targetProfile.py:231 eos/saveddata/targetProfile.py:232\nmsgid \"Invasion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:66\nmsgid \"Iridium\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:64\nmsgid \"Iron\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:147\n#: gui/builtinContextMenus/itemRemove.py:43\n#: gui/builtinContextMenus/itemStats.py:38\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Item\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:112\nmsgid \"Item Market Group Jump\"\nmsgstr \"\"\n\n#: gui/itemStats.py:58\nmsgid \"Item stats\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:118 eos/saveddata/targetProfile.py:88\nmsgid \"Jaguar\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/targetProfile.py:76\nmsgid \"Khanid\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:41\n#: gui/builtinContextMenus/moduleAmmoChange.py:27\nmsgid \"Kinetic\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:87\n#: gui/targetProfileEditor.py:121\nmsgid \"Kinetic resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Ladar\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:38\nmsgid \"Language (requires restart)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:120\nmsgid \"Large ship hold\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:77\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Lasts \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:112\nmsgid \"Launcher hardpoints\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:67\nmsgid \"Lead\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:94\n#: gui/builtinContextMenus/moduleAmmoChange.py:112\nmsgid \"Less Damage\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:343\nmsgid \"Level\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:79\n#, python-format\nmsgid \"Level %s\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemDependants.py:46 gui/characterEditor.py:591\n#: gui/characterEditor.py:616 gui/characterEditor.py:649\nmsgid \"Level {}\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:532\nmsgid \"Level {}d\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Light\"\nmsgstr \"\"\n\n#: service/market.py:266\nmsgid \"Limited Issue Ships\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Loaded Charges\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:271\nmsgid \"Loading previous fits...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Local Server\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:205\nmsgid \"Localized\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:34\nmsgid \"Lock Time\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:201\nmsgid \"Lock Times\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Lock range reduction\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:36\nmsgid \"Lock time\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:794\nmsgid \"Log In with EVE SSO\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:38\nmsgid \"Log file location:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:19\nmsgid \"Logging\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:38\nmsgid \"Login Authentication Method\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:82\nmsgid \"Long Range\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:61\nmsgid \"Low\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:20\nmsgid \"Low Security\"\nmsgstr \"\"\n\n#: graphs/style.py:56\nmsgid \"Magenta\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Magnetometric\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:114\nmsgid \"Maintenance bay\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:671\nmsgid \"Manage Characters\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Manual\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Manual proxy settings\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:180\nmsgid \"Market\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:23\nmsgid \"Market & Prices\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:30\nmsgid \"Market && Prices\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:99\nmsgid \"Market Group Selection\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:91\nmsgid \"Market Search && Recent Items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:39\nmsgid \"Market Search Delay (ms):\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:225\nmsgid \"Mass:\\t{:,.0f}kg\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:124\nmsgid \"Material bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:208\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:241\n#, python-format\nmsgid \"Max Warp Distance: %.1f AU\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:124\nmsgid \"Maximum speed\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:60\nmsgid \"Med\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:119\nmsgid \"Medium ship hold\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:58\nmsgid \"Meson\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:105\nmsgid \"Metaliminal Storm\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:46\nmsgid \"Microwave\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:123\nmsgid \"Mineral hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Minimal\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:39\nmsgid \"Mining Yield\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:59\nmsgid \"Minmatar (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:58\nmsgid \"Minmatar (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:147 eos/saveddata/damagePattern.py:148\n#: eos/saveddata/targetProfile.py:98\nmsgid \"Minmatar EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/targetProfile.py:77\nmsgid \"Minmatar Republic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\nmsgid \"Misc\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/misc.py:50\nmsgid \"Misc data\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"Missile flight range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:86 eos/saveddata/damagePattern.py:87\n#: eos/saveddata/damagePattern.py:88 eos/saveddata/damagePattern.py:89\nmsgid \"Missiles\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/damagePattern.py:150\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/damagePattern.py:152\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/damagePattern.py:154\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/damagePattern.py:156\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78\nmsgid \"Mission\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:28\nmsgid \"Mixed\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:86\nmsgid \"Mjolnir\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:32\nmsgid \"Mobility\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:83\nmsgid \"Mode:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\nmsgid \"Module\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:37\nmsgid \"Momentum\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/targetProfile.py:78\nmsgid \"Mordus Legion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:97\n#: gui/builtinContextMenus/moduleAmmoChange.py:115\nmsgid \"More Damage\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:52\nmsgid \"Multifrequency\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:408\nmsgid \"Multispectral\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Mutated Attributes\"\nmsgstr \"\"\n\n#: gui/itemStats.py:170\nmsgid \"Mutations\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:149\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/damagePattern.py:151\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/damagePattern.py:153\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/damagePattern.py:155\n#: eos/saveddata/damagePattern.py:156 eos/saveddata/damagePattern.py:157\n#: eos/saveddata/damagePattern.py:158 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:80 eos/saveddata/targetProfile.py:81\n#: eos/saveddata/targetProfile.py:82 eos/saveddata/targetProfile.py:83\n#: eos/saveddata/targetProfile.py:84 eos/saveddata/targetProfile.py:85\n#: eos/saveddata/targetProfile.py:86 eos/saveddata/targetProfile.py:87\n#: eos/saveddata/targetProfile.py:88 eos/saveddata/targetProfile.py:89\n#: eos/saveddata/targetProfile.py:90 eos/saveddata/targetProfile.py:91\n#: eos/saveddata/targetProfile.py:92 eos/saveddata/targetProfile.py:94\n#: eos/saveddata/targetProfile.py:95 eos/saveddata/targetProfile.py:96\n#: eos/saveddata/targetProfile.py:97 eos/saveddata/targetProfile.py:98\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\n#: eos/saveddata/targetProfile.py:230 eos/saveddata/targetProfile.py:231\n#: eos/saveddata/targetProfile.py:232\nmsgid \"NPC\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:30\n#: gui/builtinViewColumns/baseName.py:55\nmsgid \"Name\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:334\nmsgid \"Need at least one ESI character to export\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:117\nmsgid \"Need at least one ESI character to fetch\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:17\nmsgid \"Network\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:149\nmsgid \"Neutralizer resistance\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Neuts: cap per second\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount ({}-{})\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:45\nmsgid \"New Implant Set\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:51\nmsgid \"New fitting\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:58\nmsgid \"No\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:85\nmsgid \"No Profile\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:230\nmsgid \"No active fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"No changes to meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"No proxy\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\n#: gui/characterEditor.py:855\nmsgid \"None\"\nmsgstr \"\"\n\n#: graphs/style.py:80\nmsgid \"Normal\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:131\nmsgid \"Normal Subcaps\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:77\nmsgid \"Not Learned\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:399 service/character.py:322\nmsgid \"Not learned\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:87\nmsgid \"Notes\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:89\nmsgid \"Nova\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:77\nmsgid \"Nuclear\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:21\nmsgid \"Null Security\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Open &Dev Tools\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:150\nmsgid \"Open Character Editor\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitOpenNewTab.py:37\nmsgid \"Open Fit in New Tab\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:1010\nmsgid \"Open One Or More Character Files\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:834\nmsgid \"Open One Or More Fitting Files\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Wid&gets Inspect tool\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Widgets Inspect tool\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:136\nmsgid \"Open fittings in a new page by default\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipJump.py:35\nmsgid \"Open in Fitting Browser\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:227\nmsgid \"Open in new tab\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Optimize Prices\"\nmsgstr \"\"\n\n#: graphs/style.py:55\nmsgid \"Orange\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:122\nmsgid \"Ore hold\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:79 eos/saveddata/targetProfile.py:80\nmsgid \"Other\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:100 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:184\nmsgid \"Overmind\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:75\nmsgid \"Passive shield recharge\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:125\nmsgid \"Password:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsImport.py:40\nmsgid \"Paste {}\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:295\nmsgid \"Patterns exported to clipboard\"\nmsgstr \"\"\n\n#: gui/setEditor.py:210 gui/patternEditor.py:276\nmsgid \"Patterns successfully imported from clipboard\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:82\nmsgid \"Phased Plasma\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:128\nmsgid \"Planetary goods hold\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:721\nmsgid \"Please Wait...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:32\nmsgid \"Please see the pyfa wiki on GitHub for information regarding these options.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:315\nmsgid \"Please select an active fitting in the main window\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:758\nmsgid \"Please select another character or make a new one.\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:895\nmsgid \"Please verify path location pyfa's preferences.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphFitAmmoPicker.py:29\nmsgid \"Plot with Different Ammo...\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:70\nmsgid \"Plutonium\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Pod\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:109\nmsgid \"Port:\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:154\nmsgid \"PowerGrid\"\nmsgstr \"\"\n\n#: gui/preferenceDialog.py:31\nmsgid \"Preferences\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:59\nmsgid \"Pressing this button will cause all logs in memory to write to the log file:\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:155\n#: gui/builtinStatsViews/priceViewFull.py:40\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\nmsgid \"Price\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:41\nmsgid \"Pricing updates\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:265\n#, python-format\nmsgid \"Probe Size: %.3f\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:372\nmsgid \"Profiles exported to clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:352\nmsgid \"Profiles successfully imported from clipboard\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:230\nmsgid \"Project onto Active Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\nmsgid \"Project onto Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemProject.py:34\n#, python-brace-format\nmsgid \"Project {0} onto Fit\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:81\nmsgid \"Projected\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/projectedView.py:304\n#: gui/builtinAdditionPanes/projectedView.py:314\n#: gui/builtinAdditionPanes/projectedView.py:319\n#: gui/builtinAdditionPanes/projectedView.py:324\nmsgid \"Projected Item\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:74 eos/saveddata/damagePattern.py:75\n#: eos/saveddata/damagePattern.py:76 eos/saveddata/damagePattern.py:77\n#: eos/saveddata/damagePattern.py:78 eos/saveddata/damagePattern.py:79\n#: eos/saveddata/damagePattern.py:80 eos/saveddata/damagePattern.py:81\n#: eos/saveddata/damagePattern.py:82 eos/saveddata/damagePattern.py:83\n#: eos/saveddata/damagePattern.py:84 eos/saveddata/damagePattern.py:85\nmsgid \"Projectile Ammo\"\nmsgstr \"\"\n\n#: gui/itemStats.py:200\nmsgid \"Properties\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:19\nmsgid \"Propulsion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:78\nmsgid \"Proton\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:49\nmsgid \"Proxy settings\"\nmsgstr \"\"\n\n#: graphs/style.py:58\nmsgid \"Purple\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:222\nmsgid \"PvP Weather\"\nmsgstr \"\"\n\n#: gui/aboutData.py:49\nmsgid \"Pyfa (the Python Fitting Assistant) is an open-source standalone application able to create and simulate fittings for EVE-Online SciFi MMORPG with a very high degree of accuracy. Pyfa can run on all platforms where Python and wxWidgets are supported.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:44\nmsgid \"Pyfa Update checks\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:15\nmsgid \"Pyfa can automatically check and notify you of new releases. This feature is toggled in the Network settings. Here, you may allow pre-release notifications and view suppressed release notifications, if any.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:69\nmsgid \"Pyfa language selection disabled. Please check if .mo files have been generated.\\n\"\n\"Refer to locale/README.md for info.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:129\nmsgid \"Quafe hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of active items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of all items\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Radar\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:45\nmsgid \"Radio\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:126\nmsgid \"Radius\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:54\nmsgid \"Random stats\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:63\nmsgid \"Range\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:222\nmsgid \"Raw HP: \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:223\n#, python-format\nmsgid \"Raw: %d HP\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:652\nmsgid \"Re-enabling fitting restrictions for this fit will also remove any illegal items from the fit. Do you want to continue?\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:56\n#: gui/builtinShipBrowser/navigationPanel.py:129\nmsgid \"Recent Fits\"\nmsgstr \"\"\n\n#: gui/builtinMarketBrowser/marketTree.py:37\nmsgid \"Recently Used Items\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:43\nmsgid \"Recharge rates\"\nmsgstr \"\"\n\n#: graphs/style.py:52\nmsgid \"Red\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"Redo the most recent undone action\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:62\n#: gui/builtinItemStatsViews/itemAffectedBy.py:77\n#: gui/builtinItemStatsViews/itemCompare.py:79\nmsgid \"Refresh\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:68\nmsgid \"Refresh Skills\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:86\nmsgid \"Reinforced\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:62\nmsgid \"Reload ancillary RRs\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:48\nmsgid \"Remote Repairs\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:65\n#: gui/builtinStatsViews/outgoingViewFull.py:66\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Remote Reps\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:387\nmsgid \"Remove Character\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:71\nmsgid \"Remove Overides for Item\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemRemove.py:42\n#, python-brace-format\nmsgid \"Remove {item}{stack}\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:108\nmsgid \"Rename\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:118\nmsgid \"Reopen previous fits on startup\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:53\nmsgid \"Repair speed\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Replace items by cheaper alternatives\"\nmsgstr \"\"\n\n#: gui/itemStats.py:185\nmsgid \"Requirements\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:98\nmsgid \"Reset\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:76\nmsgid \"Reset Suppression\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:51\nmsgid \"Reset defaults\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/resistMode.py:41\nmsgid \"Resist Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:213\nmsgid \"Resist Multiplier: \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:47\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\nmsgid \"Resistances\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:84\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\nmsgid \"Resources\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:57\nmsgid \"Revert changes\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Revert to {}\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:63\nmsgid \"Rig\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:108 eos/saveddata/damagePattern.py:126\nmsgid \"Rogue Drone\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/targetProfile.py:231\nmsgid \"Rogue Drone Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:63 eos/saveddata/targetProfile.py:69\nmsgid \"Rogue Drones\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:34\nmsgid \"Run Time\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:368\nmsgid \"SSO Character Management\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:15 gui/ssoLogin.py:49\nmsgid \"SSO Login\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:45\nmsgid \"SSO Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:126\nmsgid \"Salvage hold\"\nmsgstr \"\"\n\n#: locale_test/getTextLocale.py:4\nmsgid \"Sample Title Text English\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/targetProfile.py:192\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:198\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:204\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:210\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:216\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:222\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:228\nmsgid \"Sansha\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:157 eos/saveddata/targetProfile.py:80\n#: gui/builtinContextMenus/envEffectAdd.py:124\nmsgid \"Sansha Incursion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:127\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:70\nmsgid \"Sanshas Nation\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:858\nmsgid \"Save Backup As...\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:117\nmsgid \"Save CSV file\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:114\nmsgid \"Save Character &As...\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:282\nmsgid \"Save Character As...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:48\n#: gui/mainFrame.py:465\nmsgid \"Save Fitting As...\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:130\nmsgid \"Save Overrides As...\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:27\nmsgid \"Save as New Implant Set\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:64\nmsgid \"Scan res.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:91\nmsgid \"Scorch Bomb\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:88\nmsgid \"Scourge\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:61\nmsgid \"Search fittings\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:356\n#, python-brace-format\nmsgid \"Sec Status: {0:.2f}\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:914\nmsgid \"Security Status is used in some CONCORD hull calculations\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:102 eos/saveddata/targetProfile.py:101\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:115\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:129\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:143\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:157\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:171\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:185\nmsgid \"Seeker\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:62\nmsgid \"Select a format\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:318\nmsgid \"Sending request and awaiting response\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:65\nmsgid \"Sensor str.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:122 eos/saveddata/targetProfile.py:92\nmsgid \"Sentinel\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:122\nmsgid \"Separate Racks\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:110 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:65 eos/saveddata/targetProfile.py:71\nmsgid \"Serpentis\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:64\nmsgid \"Service\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:907\nmsgid \"Set Security Status\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\nmsgid \"Set as Damage Pattern\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:53\nmsgid \"Set export destination\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Set {} as Damage Pattern\"\nmsgstr \"\"\n\n#: gui/setEditor.py:229\nmsgid \"Sets exported to clipboard\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:326\nmsgid \"Setting an Alpha clone does not replace the character's skills, but rather caps them to Alpha levels.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:20\nmsgid \"Sharpshooter\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:46\nmsgid \"Shield\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:49\nmsgid \"Shield (+T2 DCU)\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:38\nmsgid \"Shield Regeneration\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:42\n#: graphs/data/fitShieldRegen/graph.py:55\n#: graphs/data/fitShieldRegen/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:61\nmsgid \"Shield amount\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:62\nmsgid \"Shield regen\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:112\nmsgid \"Shield resistance\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:37\n#: gui/builtinStatsViews/outgoingViewFull.py:38\nmsgid \"Shield restored\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\nmsgid \"Shield/Armor Tank\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Shield: \"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:664\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57\nmsgid \"Ship\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/shipItem.py:111\nmsgid \"Ship Basic\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:48\nmsgid \"Ship groups\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:117\nmsgid \"Ship hold\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:100\nmsgid \"Short Range\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:126\nmsgid \"Show Rack Labels\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:151\nmsgid \"Show empty ship groups\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:130\nmsgid \"Show fitting tab tooltips\"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:71\nmsgid \"Show legend\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:52\nmsgid \"Show market shortcuts\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:140\nmsgid \"Show ship browser tooltip\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:93\nmsgid \"Shrapnel Bomb\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/boosterSideEffects.py:34\nmsgid \"Side Effects\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:88\nmsgid \"Signature\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:125\nmsgid \"Signature radius\\n\"\n\"Leave blank for infinitely big value\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"Signature radius increase\"\nmsgstr \"\"\n\n#: gui/aboutData.py:33\nmsgid \"Silk Icons Set by famfamfam.com - Creative Commons Attribution 2.5 License\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:342 gui/characterEditor.py:608\nmsgid \"Skill\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:160\nmsgid \"Skills\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:242\nmsgid \"Skills required:\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:104 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:118 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:132 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:146 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:160 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:174 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:188\nmsgid \"Sleeper\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:161 eos/saveddata/targetProfile.py:232\nmsgid \"Sleeper Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:158\nmsgid \"Sleepers\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:118\nmsgid \"Small ship hold\"\nmsgstr \"\"\n\n#: graphs/style.py:86\nmsgid \"Solid\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:35\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:86\nmsgid \"Speed\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Speed reduction\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/droneSplitStack.py:29\nmsgid \"Split {} Stack\"\nmsgstr \"Dividi {} Pila\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:169\nmsgid \"Spool up\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\nmsgid \"Spoolup\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:37\nmsgid \"Spoolup Cycles\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Stable: \"\nmsgstr \"Stabile: \"\n\n#: eos/saveddata/damagePattern.py:48\nmsgid \"Standard\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:46\nmsgid \"Starting cap amount\"\nmsgstr \"Quantità iniziale di condensatore\"\n\n#: graphs/data/fitShieldRegen/graph.py:46\nmsgid \"Starting shield amount\"\nmsgstr \"Quantità iniziale di scudo\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:22\nmsgid \"Statistics Panel\"\nmsgstr \"Pannello Statistiche\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:45\nmsgid \"Stick to Attacker\"\nmsgstr \"Fissa sull'Aggressore\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:44\nmsgid \"Stick to Target\"\nmsgstr \"Fissa al Bersaglio\"\n\n#: eos/saveddata/damagePattern.py:145 eos/saveddata/damagePattern.py:148\nmsgid \"Subcaps\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:136\n#, no-python-format\nmsgid \"Subcaps w/missiles 0% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:142\n#, no-python-format\nmsgid \"Subcaps w/missiles 100% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:139\n#, no-python-format\nmsgid \"Subcaps w/missiles 50% spool up\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:62\nmsgid \"Subsystem\"\nmsgstr \"Sottosistema\"\n\n#: gui/characterEditor.py:901\nmsgid \"Success\"\nmsgstr \"Successo\"\n\n#: gui/characterEditor.py:901\nmsgid \"Successfully fetched skills\"\nmsgstr \"Abilità acquisite con successo\"\n\n#: eos/saveddata/damagePattern.py:114 eos/saveddata/targetProfile.py:84\nmsgid \"Succubus (Sanshas Nation)\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Support\"\nmsgstr \"Supporto\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:48\n#, python-brace-format\nmsgid \"Suppressing {0} Notifications\"\nmsgstr \"Soppressione di {0} Notifiche\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:87\nmsgid \"Sustained\"\nmsgstr \"Sostenuto\"\n\n#: eos/saveddata/targetProfile.py:46 eos/saveddata/targetProfile.py:47\n#: eos/saveddata/targetProfile.py:48 eos/saveddata/targetProfile.py:49\n#: eos/saveddata/targetProfile.py:50 eos/saveddata/targetProfile.py:51\nmsgid \"T1 Resist\"\nmsgstr \"Resistenze T1\"\n\n#: eos/saveddata/targetProfile.py:52 eos/saveddata/targetProfile.py:53\n#: eos/saveddata/targetProfile.py:54 eos/saveddata/targetProfile.py:55\n#: eos/saveddata/targetProfile.py:56 eos/saveddata/targetProfile.py:57\n#: eos/saveddata/targetProfile.py:58 eos/saveddata/targetProfile.py:59\nmsgid \"T2 Resist\"\nmsgstr \"Resistenze T2\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"TDs: turret optimal range reduction\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"TPs: signature radius increase\"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:660 gui/builtinViewColumns/baseName.py:102\n#: gui/builtinContextMenus/shipModeChange.py:37\nmsgid \"Tactical Mode\"\nmsgstr \"Modalità Tattica\"\n\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/targetProfile.py:91\nmsgid \"Talos\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:75 graphs/gui/lists.py:359\nmsgid \"Target\"\nmsgstr \"Bersaglio\"\n\n#: gui/targetProfileEditor.py:86\nmsgid \"Target Profile\"\nmsgstr \"Profilo Bersaglio\"\n\n#: gui/targetProfileEditor.py:130\nmsgid \"Target Profile Editor\"\nmsgstr \"Editor Profilo Bersaglio\"\n\n#: gui/targetProfileEditor.py:73\nmsgid \"Target Profile name already in use, please choose another.\"\nmsgstr \"Nome del Profilo Bersaglio già in uso, sceglierne un altro.\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:33\nmsgid \"Target Resists\"\nmsgstr \"Resistenze Del Bersaglio\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Target distance traveled\"\nmsgstr \"Distanza percorsa dal bersaglio\"\n\n#: graphs/data/fitMobility/graph.py:45\nmsgid \"Target inertia factor\"\nmsgstr \"Fattore di inerzia del bersaglio\"\n\n#: graphs/data/fitMobility/graph.py:43\nmsgid \"Target mass\"\nmsgstr \"Massa del bersaglio\"\n\n#: graphs/data/fitEwarStats/graph.py:45\nmsgid \"Target resistance\"\nmsgstr \"Resistenze Del Bersaglio\"\n\n#: graphs/data/fitLockTime/graph.py:37 graphs/data/fitDamageStats/graph.py:71\nmsgid \"Target signature\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:35 graphs/data/fitDamageStats/graph.py:62\n#: graphs/data/fitDamageStats/graph.py:63\nmsgid \"Target signature radius\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:38 graphs/data/fitDamageStats/graph.py:60\n#: graphs/data/fitDamageStats/graph.py:61\n#: graphs/data/fitDamageStats/graph.py:70\nmsgid \"Target speed\"\nmsgstr \"Velocità del bersaglio\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:40\nmsgid \"Targeting && Misc\"\nmsgstr \"Bersaglio && Varie\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:62\nmsgid \"Targets\"\nmsgstr \"Bersagli\"\n\n#: eos/saveddata/damagePattern.py:60\nmsgid \"Tetryon\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:809\nmsgid \"Text skills training file\"\nmsgstr \"File di testo di addestramento di abilità\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:72\nmsgid \"The amount of spoolup to use by default on module which support it. Can be changed on a per-module basis\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:44\nmsgid \"The delay between a keystroke and the market search. Can help reduce lag when typing fast in the market search box.\"\nmsgstr \"Il ritardo tra la pressione del pulsante e la ricerca nel mercato. Può aiutare a ridurre il lag quando si digita velocemente nella casella di ricerca del mercato.\"\n\n#: gui/mainFrame.py:949\nmsgid \"The following error was generated\"\nmsgstr \"Si è verificato il seguente errore\"\n\n#: gui/mainFrame.py:893\nmsgid \"The following path is invalid or does not exist:\"\nmsgstr \"Il seguente percorso non è valido o non esiste:\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:64\nmsgid \"The source you choose will be tried first, but subsequent sources will be used if the preferred source fails. The system you choose will also be tried first, and if no data is available, global price will be used.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:53\nmsgid \"There is a release available which you have chosen to suppress. You can choose to reset notification suppression for this release, or download the new release from GitHub.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:463\nmsgid \"There was an error importing skills, please see log file\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:230\nmsgid \"There was an error validating characters' SSO token. Please try logging into the character again to reset the token.\"\nmsgstr \"Si è verificato un errore nel validare il token SSO del personaggio. Riprova ad accedere al personaggio per reimpostare il token.\"\n\n#: gui/esiFittings.py:213\nmsgid \"There was an issue starting up the localized server, try setting Login Authentication Method to Manual by going to Preferences -> EVE SS0 -> Login Authentication Method. If this doesn't fix the problem please file an issue on Github.\"\nmsgstr \"Si è verificato un problema nell'avvio del server localizzato, prova ad impostare il Metodo di Autenticazione dell'Accesso andando su Preferenze-> EVE SSO-> Metodo di Autenticazione dell'Accesso. Se questo non risolve il problema si prega di sottoporre il problema a GitHub.\"\n\n#: eos/saveddata/damagePattern.py:40\n#: gui/builtinContextMenus/moduleAmmoChange.py:25\nmsgid \"Thermal\"\nmsgstr \"Termico\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:86\n#: gui/targetProfileEditor.py:120\nmsgid \"Thermal resistance\"\nmsgstr \"Resistenza Termica\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:107\nmsgid \"This is a destructive action that will delete all cached prices out of the database.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"Questa è un'azione distruttiva che cancellerà tutti i prezzi salvati nel cache dal database.\\n\"\n\"Sei sicuro di volerlo fare?\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:97\nmsgid \"This is a destructive action that will delete all damage pattern profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"Questa è un'azione distruttiva che eliminerà tutti i profili di schema dei danni.\\n\"\n\"Sei sicuro di volerlo fare?\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:102\nmsgid \"This is a destructive action that will delete all target profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"Questa è un'azione distruttiva che eliminerà tutti i profili dei bersagli.\\n\"\n\"Sei sicuro di volerlo fare?\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:49\nmsgid \"This option goes through EVE SSO directly, but requires more configuration. Use this if pyfa.io is blocked for some reason, or if you do not wish to route data throguh pyfa.io.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:42\nmsgid \"This option prompts users to copy and paste information from the web application to allow for character login. Use this if having issues with the local server.\"\nmsgstr \"Questa opzione suggerisce all'utente di copiare e incollare le informazioni per l'accesso al personaggio dall'applicazione web. Usa questo se hai problemi con il server locale.\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:47\nmsgid \"This options routes SSO Logins through pyfa.io, allowing you to easily login without any configuration. When in doubt, use this option.\"\nmsgstr \"Quest'opzione dirige i Login SSO attraverso pyfa.io, permettendoti di accedere facilmente senza alcuna configurazione. In caso di dubbio, usare quest'opzione.\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:40\nmsgid \"This options starts a local webserver that the web application will call back to with information about the character login.\"\nmsgstr \"Quest'opzione avvia un webserver locale al quale la web application riferirà le informazioni sul login del personaggio.\"\n\n#: eos/saveddata/damagePattern.py:68\nmsgid \"Thorium\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:156\nmsgid \"Thukker\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:33 graphs/data/fitMobility/graph.py:41\n#: graphs/data/fitCapacitor/graph.py:34 graphs/data/fitCapacitor/graph.py:41\n#: graphs/data/fitRemoteReps/graph.py:51 graphs/data/fitRemoteReps/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:40\n#: graphs/data/fitShieldRegen/graph.py:54\n#: graphs/data/fitDamageStats/graph.py:59\n#: graphs/data/fitDamageStats/graph.py:68\nmsgid \"Time\"\nmsgstr \"Tempo\"\n\n#: eos/saveddata/damagePattern.py:80\nmsgid \"Titanium Sabot\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:70\nmsgid \"Toggle Names\"\nmsgstr \"Mostra/Nascondi Nomi\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:73\nmsgid \"Toggle View\"\nmsgstr \"Attiva/Disattiva Visualizzazione\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:75\nmsgid \"Toggle view mode\"\nmsgstr \"Attiva/Disattiva modalità anteprima\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/miningyieldViewFull.py:89\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Total\"\nmsgstr \"Totale\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:76\nmsgid \"Total Price Includes\"\nmsgstr \"Prezzo Totale Comprende\"\n\n#: graphs/data/fitRemoteReps/graph.py:54\nmsgid \"Total repaired\"\nmsgstr \"Totale riparato\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:67\nmsgid \"Total: \"\nmsgstr \"Totale: \"\n\n#: gui/itemStats.py:166\nmsgid \"Traits\"\nmsgstr \"Tratti\"\n\n#: eos/saveddata/damagePattern.py:104 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:186\nmsgid \"Triglavian\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/targetProfile.py:94\nmsgid \"Triglavian Entities\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:126\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Triglavian Invasion\"\nmsgstr \"Invasione dei Triglavian\"\n\n#: eos/saveddata/damagePattern.py:65\nmsgid \"Tungsten\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:111\nmsgid \"Turret hardpoints\"\nmsgstr \"Punti d'attacco delle torrette\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"Turret optimal range reduction\"\nmsgstr \"Riduzione della portata ottimale della torretta\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:32\nmsgid \"Type\"\nmsgstr \"Tipo\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:218\n#, python-brace-format\nmsgid \"Type: {0}\\n\"\nmsgstr \"Tipo:{0}\\n\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:222\nmsgid \"Type: {}\"\nmsgstr \"Tipo: {}\"\n\n#: eos/saveddata/damagePattern.py:49\nmsgid \"Ultraviolet\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"Undo the most recent action\"\nmsgstr \"Annulla l'azione più recente\"\n\n#: eos/saveddata/damagePattern.py:38\nmsgid \"Uniform\"\nmsgstr \"Uniforme\"\n\n#: eos/saveddata/targetProfile.py:42\nmsgid \"Uniform (25%)\"\nmsgstr \"Uniforme (25%)\"\n\n#: eos/saveddata/targetProfile.py:43\nmsgid \"Uniform (50%)\"\nmsgstr \"Uniforme (50%)\"\n\n#: eos/saveddata/targetProfile.py:44\nmsgid \"Uniform (75%)\"\nmsgstr \"Uniforme (75%)\"\n\n#: eos/saveddata/targetProfile.py:45\nmsgid \"Uniform (90%)\"\nmsgstr \"Uniforme (90%)\"\n\n#: gui/characterEditor.py:614\nmsgid \"Unlearn\"\nmsgstr \"Disapprendi\"\n\n#: gui/updateDialog.py:54\nmsgid \"Update Available\"\nmsgstr \"Aggiornamento Disponibile\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:14\nmsgid \"Updates\"\nmsgstr \"Aggiorna\"\n\n#: eos/saveddata/damagePattern.py:69\nmsgid \"Uranium\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/implantView.py:68\nmsgid \"Use Character Implants\"\nmsgstr \"Usa Impianti del Personaggio\"\n\n#: gui/builtinAdditionPanes/implantView.py:67\nmsgid \"Use Fit-specific Implants\"\nmsgstr \"Usa Impianti Specifici per l'Equipaggiamento\"\n\n#: graphs/data/fitCapacitor/graph.py:48\nmsgid \"Use capacitor simulator\"\nmsgstr \"Usa simulatore di condensatore\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:102\nmsgid \"Use character implants by default for new fits\"\nmsgstr \"Utilizza gli impianti del personaggio per i nuovi equipaggiamenti automaticamente\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:98\nmsgid \"Use global character\"\nmsgstr \"Utilizza personaggio globale\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:106\nmsgid \"Use global damage pattern\"\nmsgstr \"Usa schema di danno globale\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:121\nmsgid \"Username:\"\nmsgstr \"Nome Utente:\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:34\nmsgid \"Using Executable Path for Saved Fit Database and Settings\"\nmsgstr \"Utilizzo il Percorso dell'Eseguibile per il Database degli Equipaggiamenti Salvati e le Impostazioni\"\n\n#: gui/builtinContextMenus/itemVariationChange.py:49\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\nmsgid \"Variations\"\nmsgstr \"Variazioni\"\n\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/targetProfile.py:89\nmsgid \"Vengeance\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:53\nmsgid \"View Raw Data\"\nmsgstr \"Visualizza Dati Grezzi\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Volley\"\nmsgstr \"Raffica\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:22\nmsgid \"W-Space\"\nmsgstr \"Spazio-W\"\n\n#: gui/ssoLogin.py:62\nmsgid \"Waiting for character login through EVE Single Sign-On.\"\nmsgstr \"Aspettando il login del personaggio attraverso EVE Single Sign-On.\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:210\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:212\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:243\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:245\n#, python-format\nmsgid \"Warp Core Strength: %.1f\"\nmsgstr \"Forza del Nucleo di Curvatura: %.1f\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:89\nmsgid \"Warp Speed\"\nmsgstr \"Velocità di Curvatura\"\n\n#: graphs/data/fitWarpTime/graph.py:45\nmsgid \"Warp Time\"\nmsgstr \"Tempo di Curvatura\"\n\n#: graphs/data/fitWarpTime/graph.py:49\nmsgid \"Warp time\"\nmsgstr \"Tempo di Curvatura\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Weapon\"\nmsgstr \"Arma\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Webs: speed reduction\"\nmsgstr \"Ragnatela: riduzione della velocità\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:61\nmsgid \"When damage profile is Uniform, set Reactive Armor Hardener to match (old behavior).\"\nmsgstr \"Quando il profilo dei danni è uniforme, imposta Reactive Armor Hardener di conseguenza (vecchio funzionamento).\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:149\nmsgid \"When disabled, reloads charges just in selected modules. Action can be reversed by holding Ctrl or Alt key while changing charge.\"\nmsgstr \"Quando è disabilitato, ricarica le cariche solo nei moduli selezionati. L'azione può essere invertita tenendo premuto Ctrl o Alt mentre si cambiano le cariche.\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:54\nmsgid \"When enabled, skills will check their dependencies' requirements when their levels change and reset skills that no longer meet the requirement.\\n\"\n\"eg: Setting Drones from level V to IV will reset the Heavy Drone Operation skill, as that requires Drones V\"\nmsgstr \"Quando è abilitato, le abilità controlleranno la loro dipendenza da requisiti quando cambiano di livello e ripristineranno le abilità che non soddisfano più i requisiti.\\n\"\n\"es: Impostare Drones dal livello V a IV ripristinerà l'abilità Heavy Drone Operation, poiché richiede Drones V\"\n\n#: graphs/data/fitDamageStats/graph.py:69\nmsgid \"When set, uses attacker's exact damage stats at a given time\\n\"\n\"When not set, uses attacker's damage stats as shown in stats panel of main window\"\nmsgstr \"Quando impostato, utilizza le esatte statistiche del danno dell'attaccante in quel momento\\n\"\n\"Quando non impostato, utilizza le statistiche del danno dell'attaccante come mostrate nel pannello della finestra principale\"\n\n#: graphs/data/fitRemoteReps/graph.py:57\nmsgid \"When set, uses repairing ship's exact RR stats at a given time\\n\"\n\"When not set, uses repairing ship's RR stats as shown in stats panel of main window\"\nmsgstr \"Quando impostato, utilizza le esatte statistiche RR della navicella in riparazione in quel momento\\n\"\n\"Quando non impostato, utilizza le statistiche RR della navicella in riparazione come mostrate nel pannello delle statistiche nella finestra principale\"\n\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/targetProfile.py:85\nmsgid \"Worm (Guristas)\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:116\nmsgid \"Wormhole\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:50\nmsgid \"Xray\"\nmsgstr \"\"\n\n#: graphs/style.py:59\nmsgid \"Yellow\"\nmsgstr \"Giallo\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:56\nmsgid \"Yes\"\nmsgstr \"Sì\"\n\n#: gui/characterEditor.py:757\nmsgid \"You cannot link All 0 or All 5 characters to an EVE character.\"\nmsgstr \"Non puoi collegare tutti i 0 o tutti i 5 personaggi ad un personaggio in EVE.\"\n\n#: gui/characterEditor.py:76\nmsgid \"You must supply a name for the Character!\"\nmsgstr \"Devi fornire un nome per il personaggio!\"\n\n#: gui/setEditor.py:48\nmsgid \"You must supply a name for the Implant Set!\"\nmsgstr \"Devi fornire un nome per il Set d'Impianti!\"\n\n#: gui/patternEditor.py:51\nmsgid \"You must supply a name for your Damage Profile!\"\nmsgstr \"Devi fornire un nome per il tuo Profilo dei Danni!\"\n\n#: gui/targetProfileEditor.py:71\nmsgid \"You must supply a name for your Target Profile!\"\nmsgstr \"Devi fornire un nome per il tuo Profilo del Bersaglio!\"\n\n#: eos/saveddata/damagePattern.py:43\nmsgid \"[T2] Aurora\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:75\nmsgid \"[T2] Barrage\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:54\nmsgid \"[T2] Conflagration\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:53\nmsgid \"[T2] Gleam\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:85\nmsgid \"[T2] Hail\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:72\nmsgid \"[T2] Javelin\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:57\nmsgid \"[T2] Mystic\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:63\nmsgid \"[T2] Null\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:61\nmsgid \"[T2] Occult\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:84\nmsgid \"[T2] Quake\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:44\nmsgid \"[T2] Scorch\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:62\nmsgid \"[T2] Spike\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:74\nmsgid \"[T2] Tremor\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:73\nmsgid \"[T2] Void\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"em\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"exp\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"explosive\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"kin\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"kinetic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:38\nmsgid \"pyfa User Path:\"\nmsgstr \"pyfa Percorso Utente:\"\n\n#: gui/errorDialog.py:69\nmsgid \"pyfa error\"\nmsgstr \"errore di pyfa\"\n\n#: gui/errorDialog.py:76\nmsgid \"pyfa has experienced an unexpected issue. Below is a message that contains crucial \\n\"\n\"information about how this was triggered. Please contact the developers with the \\n\"\n\"information provided through the EVE Online forums or file a GitHub issue.\"\nmsgstr \"pyfa ha sperimentato un problema imprevisto. Il messaggio sottostante contiene informazioni cruciali sulla causa. Si prega di contattare gli sviluppatori con le informazioni fornite attraverso i forum di EVE Online o sottoponendo il problema a GitHub.\"\n\n#: gui/aboutData.py:31\nmsgid \"pyfa is released under GNU GPLv3 - see included LICENSE file\"\nmsgstr \"pyfa è rilasciato sotto GNU GPLv3 - vedi il file incluso con la LICENZA\"\n\n#: gui/propertyEditor.py:108\nmsgid \"pyfa override file\"\nmsgstr \"file di sovraccarico di pyfa\"\n\n#: gui/propertyEditor.py:131\nmsgid \"pyfa overrides\"\nmsgstr \"sovraccarico di pyfa\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"pyfa.io\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:47\nmsgid \"pyfa:\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"th\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"thermal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#, python-brace-format\nmsgid \"{0} Market Group\"\nmsgstr \"{0} Gruppo di Mercato\"\n\n#: gui/itemStats.py:87\n#, python-brace-format\nmsgid \"{context}Stats: {name}{debug_info}\"\nmsgstr \"{context}Statistiche:{name}{debug_info}\"\n\n#: gui/pyfa_gauge.py:347\n#, python-brace-format\nmsgid \"{{0:.{0}f}} left\"\nmsgstr \"{{0:.{0}f}} mancanti\"\n\n#: gui/pyfa_gauge.py:344\n#, python-brace-format\nmsgid \"{{0:.{0}f}} over\"\nmsgstr \"{{0:.{0}f}} in più\"\n\n#: gui/builtinContextMenus/moduleSpool.py:83\nmsgid \"{} (default)\"\nmsgstr \"{} (predefinito)\"\n\n#: gui/characterEditor.py:284\nmsgid \"{} Copy\"\nmsgstr \"{} Copia\"\n\n#: gui/builtinContextMenus/itemStats.py:38\nmsgid \"{} Stats\"\nmsgstr \"{} Statistiche\"\n\n#: gui/builtinViewColumns/baseName.py:104\nmsgid \"{} {} Slot\"\nmsgid_plural \"{} {} Slots\"\nmsgstr[0] \"\"\nmsgstr[1] \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:220\n#, no-python-format, python-brace-format\nmsgid \"{}% chance to be jammed\"\nmsgstr \"{}% probabilità di essere inceppato\"\n\n"
  },
  {
    "path": "locale/ja_JP/LC_MESSAGES/lang.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: pyfa\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2020-10-28 15:28+0300\\n\"\n\"PO-Revision-Date: 2022-11-04 22:34\\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: Japanese\\n\"\n\"Language: ja_JP\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\"X-Crowdin-Project: pyfa\\n\"\n\"X-Crowdin-Project-ID: 411502\\n\"\n\"X-Crowdin-Language: ja\\n\"\n\"X-Crowdin-File: /master/locale/lang.pot\\n\"\n\"X-Crowdin-File-ID: 68\\n\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:107\nmsgid \" DPS: \"\nmsgstr \" DPS: \"\n\n#: gui/builtinContextMenus/itemRemove.py:44\nmsgid \" Stack\"\nmsgstr \" スタック\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:100\nmsgid \" Volley: \"\nmsgstr \" 一斉射撃: \"\n\n#: gui/builtinItemStatsViews/itemProperties.py:98\n#, python-format\nmsgid \"%d attribute.\"\nmsgid_plural \"%d attributes.\"\nmsgstr[0] \"属性 %d\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"&Backup All Fittings\"\nmsgstr \"すべてのFitをバックアップ\"\n\n#: gui/mainMenuBar.py:104\nmsgid \"&Browse ESI Fittings\"\nmsgstr \"ESIでFitを参照\"\n\n#: gui/mainMenuBar.py:111\nmsgid \"&Character\"\nmsgstr \"キャラクター\"\n\n#: gui/mainMenuBar.py:144\nmsgid \"&Character Editor\"\nmsgstr \"キャラクター編集\"\n\n#: gui/mainMenuBar.py:70\nmsgid \"&Close All Tabs\"\nmsgstr \"すべてのタブを閉じる\"\n\n#: gui/mainMenuBar.py:69\nmsgid \"&Close Tab\"\nmsgstr \"タブを閉じる\"\n\n#: gui/mainMenuBar.py:150\nmsgid \"&Damage Pattern Editor\"\nmsgstr \"ダメージパターンエディター\"\n\n#: gui/mainMenuBar.py:143\nmsgid \"&Editors\"\nmsgstr \"エディター\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"&Export Fitting\"\nmsgstr \"Fitをエクスポート\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"&Export Skills Needed\"\nmsgstr \"エクスポートスキルが必要です\"\n\n#: gui/mainMenuBar.py:66 gui/propertyEditor.py:42\nmsgid \"&File\"\nmsgstr \"ファイル\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"&Forums\"\nmsgstr \"フォーラム\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"&From Clipboard\"\nmsgstr \"クリップボードから\"\n\n#: gui/mainMenuBar.py:135\nmsgid \"&Global\"\nmsgstr \"グローバル\"\n\n#: gui/mainMenuBar.py:96\nmsgid \"&Graphs\"\nmsgstr \"グラフ\"\n\n#: gui/mainMenuBar.py:159\nmsgid \"&Help\"\nmsgstr \"ヘルプ\"\n\n#: gui/mainMenuBar.py:147\nmsgid \"&Implant Set Editor\"\nmsgstr \"インプラントセットエディター\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"&Import Character File\"\nmsgstr \"キャラクターファイルをインポート\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"&Import Fittings\"\nmsgstr \"Fitをインポート\"\n\n#: gui/mainMenuBar.py:122\nmsgid \"&Manage ESI Characters\"\nmsgstr \"ESIキャラクタ管理\"\n\n#: gui/mainMenuBar.py:68\nmsgid \"&New Tab\"\nmsgstr \"新しいタブ\"\n\n#: gui/mainMenuBar.py:95\nmsgid \"&Optimize Fit Price\"\nmsgstr \"最適化価格\"\n\n#: gui/mainMenuBar.py:137\nmsgid \"&Preferences\"\nmsgstr \"設定\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"&Redo\"\nmsgstr \"リドゥ\"\n\n#: gui/mainMenuBar.py:115\nmsgid \"&Revert Character\"\nmsgstr \"キャラクターを元に戻す\"\n\n#: gui/mainMenuBar.py:113\nmsgid \"&Save Character\"\nmsgstr \"キャラクターを保存\"\n\n#: gui/mainMenuBar.py:153\nmsgid \"&Target Profile Editor\"\nmsgstr \"ターゲットプロファイルエディター\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"&To Clipboard\"\nmsgstr \"クリップボードにコピーする\"\n\n#: gui/mainFrame.py:688\nmsgid \"&Turn Overrides Off\"\nmsgstr \"オーバーライドをオフにする\"\n\n#: gui/mainMenuBar.py:131 gui/mainFrame.py:688\nmsgid \"&Turn Overrides On\"\nmsgstr \"オーバーライドをオンにする\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"&Undo\"\nmsgstr \"アンドゥ\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"&Wiki\"\nmsgstr \"Wiki\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:25\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:29\nmsgid \"(Cannot be changed while pyfa is running. Set via command line switches.)\"\nmsgstr \"(pyfaが実行中は変更できません。コマンドラインスイッチで設定してください。)\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:81\nmsgid \"0s\"\nmsgstr \"0秒\"\n\n#: gui/builtinContextMenus/fighterAbilities.py:33\nmsgid \"Abilities\"\nmsgstr \"アビリティ\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Abyssal\"\nmsgstr \"アビサル\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:123\nmsgid \"Abyssal Weather\"\nmsgstr \"アビサル環境\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:31\nmsgid \"Active\"\nmsgstr \"アクティブ\"\n\n#: gui/builtinViewColumns/abilities.py:37\nmsgid \"Active Abilities\"\nmsgstr \"アクティブなアビリティ\"\n\n#: gui/builtinViewColumns/sideEffects.py:37\nmsgid \"Active Side Effects\"\nmsgstr \"発動中の効果\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:76\nmsgid \"Active shield boost\"\nmsgstr \"アクティブシールドブースト\"\n\n#: gui/esiFittings.py:384\nmsgid \"Add Character\"\nmsgstr \"キャラクターの追加\"\n\n#: gui/esiFittings.py:217\nmsgid \"Add Character Error\"\nmsgstr \"キャラクターエラーを追加\"\n\n#: gui/builtinShipBrowser/fitItem.py:233\nmsgid \"Add Command Booster\"\nmsgstr \"コマンドブースターを追加\"\n\n#: gui/builtinContextMenus/fitAddCurrentlyOpen.py:29\nmsgid \"Add Currently Open Fit\"\nmsgstr \"現在開いているFitを追加\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:56\nmsgid \"Add Environmental Effect\"\nmsgstr \"環境効果を追加\"\n\n#: gui/builtinContextMenus/fitAddBrowse.py:22\nmsgid \"Add Fit...\"\nmsgstr \"Fitを追加...\"\n\n#: gui/fitBrowserLite.py:17\nmsgid \"Add Fits\"\nmsgstr \"Fitを追加\"\n\n#: gui/builtinContextMenus/targetProfile/adder.py:29\nmsgid \"Add Target Profile\"\nmsgstr \"ターゲットプロファイルを追加\"\n\n#: gui/builtinContextMenus/cargoAddAmmo.py:28\n#, python-brace-format\nmsgid \"Add {0} to Cargo (x1000)\"\nmsgstr \"{0} をカーゴに追加 (x1000)\"\n\n#: gui/builtinContextMenus/cargoAdd.py:33\nmsgid \"Add {} to Cargo\"\nmsgstr \"{} をカーゴに追加\"\n\n#: gui/builtinContextMenus/droneAddStack.py:40\nmsgid \"Add {} to Drone Bay{}\"\nmsgstr \"{} をドローンベイ {} に追加\"\n\n#: gui/additionsPane.py:45\nmsgid \"Additions\"\nmsgstr \"追加\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Additions Panel Copy/Paste\"\nmsgstr \"追加パネルのコピー/貼り付け\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:101\nmsgid \"Addr:\"\nmsgstr \"アドレス\"\n\n#: gui/itemStats.py:196\nmsgid \"Affected by\"\nmsgstr \"影響を受けた\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:226\n#, python-format\nmsgid \"Agility:\\t%.3fx\"\nmsgstr \"機敏性:\\t%.3fx\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:87\nmsgid \"Align time\"\nmsgstr \"軸合わせ時間\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:224\n#, python-format\nmsgid \"Align:\\t%.3fs\"\nmsgstr \"調整:\\t%.3fs\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/targetProfile.py:105\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:119\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:133\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:147\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:161\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:175\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:189\nmsgid \"All\"\nmsgstr \"すべて\"\n\n#: gui/aboutData.py:32\nmsgid \"All EVE-Online related materials are property of CCP hf.\"\nmsgstr \"すべてのEVE-Online関連資料はCCPの財産です。\"\n\n#: gui/mainFrame.py:838 gui/mainFrame.py:1013\nmsgid \"All Files\"\nmsgstr \"すべてのファイル\"\n\n#: gui/characterSelection.py:238\nmsgid \"All skill prerequisites have been met\"\nmsgstr \"すべてのスキルの必要条件が満たされています\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:38\nmsgid \"Allow pre-release notifications\"\nmsgstr \"プレリリース通知を許可\"\n\n#: graphs/gui/ctrlPanel.py:75\nmsgid \"Always show Y = 0\"\nmsgstr \"Y = 0 を常に表示\"\n\n#: eos/saveddata/targetProfile.py:53\nmsgid \"Amarr (Armor)\"\nmsgstr \"アマー(アーマー)\"\n\n#: eos/saveddata/targetProfile.py:52\nmsgid \"Amarr (Shield)\"\nmsgstr \"アマー(シールド)\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/targetProfile.py:95\nmsgid \"Amarr EDENCOM Entities\"\nmsgstr \"Amarr EDENCOM エンティティ\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/targetProfile.py:72\nmsgid \"Amarr Empire\"\nmsgstr \"アマー帝国\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:115\nmsgid \"Ammo hold\"\nmsgstr \"弾薬ホールド\"\n\n#: eos/saveddata/damagePattern.py:96 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:229\nmsgid \"Angel\"\nmsgstr \"エンジェル\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:123\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:66\nmsgid \"Angel Cartel\"\nmsgstr \"エンジェルカルテル\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:133\nmsgid \"Animate gauges\"\nmsgstr \"ゲージのアニメーション\"\n\n#: eos/saveddata/damagePattern.py:71\nmsgid \"Antimatter\"\nmsgstr \"アンチマター\"\n\n#: gui/builtinContextMenus/implantSetApply.py:25\nmsgid \"Apply Implant Set\"\nmsgstr \"インプラントセットを適用\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Apply Mutaplasmid\"\nmsgstr \"変異プラスミドを適用する\"\n\n#: gui/builtinContextMenus/graphDmgApplyProjected.py:23\nmsgid \"Apply Projected Items\"\nmsgstr \"計画されたアイテムを適用する\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:144\nmsgid \"Apply Proxy Settings\"\nmsgstr \"Proxy 設定を適用する\"\n\n#: gui/propertyEditor.py:146\nmsgid \"Are you sure you want to delete all overrides?\"\nmsgstr \"全ての入力を削除します。よろしいですか？\"\n\n#: gui/mainFrame.py:645\nmsgid \"Are you sure you wish to ignore fitting restrictions for the current fit? This could lead to wildly inaccurate results and possible errors.\"\nmsgstr \"現在のフィットに対するフィッティング制限を無視してもよろしいですか？これは大幅に不正確な結果やエラーにつながる可能性があります。\"\n\n#: eos/saveddata/targetProfile.py:47\nmsgid \"Armor\"\nmsgstr \"アーマー\"\n\n#: eos/saveddata/targetProfile.py:50\nmsgid \"Armor (+T2 DCU)\"\nmsgstr \"アーマー (+T2 DCU)\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:77\nmsgid \"Armor repair amount\"\nmsgstr \"アーマー船体回復量\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:113\nmsgid \"Armor resistance\"\nmsgstr \"アーマーレジスタンス\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:43\n#: gui/builtinStatsViews/outgoingViewFull.py:44\nmsgid \"Armor restored\"\nmsgstr \"アーマーを復元しました\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Armor: \"\nmsgstr \"アーマー: \"\n\n#: eos/saveddata/damagePattern.py:120 eos/saveddata/targetProfile.py:90\nmsgid \"Ashimmu (Blood Raiders)\"\nmsgstr \"アシッムー(ブラッドレイダー)\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\nmsgid \"Asteroid\"\nmsgstr \"アステロイド\"\n\n#: graphs/data/fitDamageStats/graph.py:74\nmsgid \"Attacker\"\nmsgstr \"アタッカー\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:56\n#: gui/builtinItemStatsViews/itemAttributes.py:44\nmsgid \"Attribute\"\nmsgstr \"属性\"\n\n#: gui/mainMenuBar.py:128\nmsgid \"Attribute &Overrides\"\nmsgstr \"属性の上書き\"\n\n#: gui/propertyEditor.py:28\nmsgid \"Attribute Editor\"\nmsgstr \"属性エディター\"\n\n#: gui/itemStats.py:177\nmsgid \"Attributes\"\nmsgstr \"属性\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:43\nmsgid \"Auto\"\nmsgstr \"自動\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:94\nmsgid \"Auto will use the same language pyfa uses if available, otherwise English\"\nmsgstr \"利用可能な場合、自動で同じ言語の pyfa が使用されます。それ以外の場合は英語で使用されます\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Auto-detected proxy settings\"\nmsgstr \"プロキシ設定を自動検出\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:136\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:158\nmsgid \"Auto-detected: \"\nmsgstr \"自動検出 \"\n\n#: graphs/gui/ctrlPanel.py:64\nmsgid \"Axis X:\"\nmsgstr \"X 軸\"\n\n#: graphs/gui/ctrlPanel.py:56\nmsgid \"Axis Y:\"\nmsgstr \"Y 軸\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:50\nmsgid \"Back\"\nmsgstr \"戻る\"\n\n#: gui/mainFrame.py:873\nmsgid \"Backing up {} fits to: {}\"\nmsgstr \"フィット {} を{} にバックアップします\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"Backup all fittings to a XML file\"\nmsgstr \"すべてのフィットをXMLファイルにバックアップする\"\n\n#: gui/mainFrame.py:872 gui/mainFrame.py:903\nmsgid \"Backup fits\"\nmsgstr \"フィットをバックアップします\"\n\n#: eos/saveddata/damagePattern.py:59\nmsgid \"Baryon\"\nmsgstr \"重粒子\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:47\nmsgid \"Base Value\"\nmsgstr \"基本値\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battlecruiser\"\nmsgstr \"巡洋戦艦\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battleship\"\nmsgstr \"戦艦\"\n\n#: gui/mainFrame.py:951\nmsgid \"Be aware that already processed fits were not saved\"\nmsgstr \"処理済みのフィットは保存されていないことに注意してください\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Bioluminescence\"\nmsgstr \"生物発光\"\n\n#: eos/saveddata/damagePattern.py:106 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/targetProfile.py:61 eos/saveddata/targetProfile.py:67\nmsgid \"Blood Raiders\"\nmsgstr \"ブラッドレイダー\"\n\n#: graphs/style.py:54\nmsgid \"Blue\"\nmsgstr \"青\"\n\n#: eos/saveddata/damagePattern.py:90 eos/saveddata/damagePattern.py:91\n#: eos/saveddata/damagePattern.py:92 eos/saveddata/damagePattern.py:93\nmsgid \"Bombs\"\nmsgstr \"ボム\"\n\n#: gui/builtinAdditionPanes/boosterView.py:215\nmsgid \"Booster\"\nmsgstr \"ブースター\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\n#: gui/builtinContextMenus/additionsExportAll.py:23\n#: gui/builtinContextMenus/additionsExportSelection.py:23\n#: gui/builtinContextMenus/additionsImport.py:24 gui/additionsPane.py:78\nmsgid \"Boosters\"\nmsgstr \"ブースター\"\n\n#: graphs/style.py:82\nmsgid \"Bright\"\nmsgstr \"ブライト\"\n\n#: gui/esiFittings.py:32\nmsgid \"Browse EVE Fittings\"\nmsgstr \"EVEのフィットを見る\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Bump distance\"\nmsgstr \"バンプ距離\"\n\n#: graphs/data/fitMobility/graph.py:38\nmsgid \"Bump speed\"\nmsgstr \"バンプ速度\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/targetProfile.py:81 eos/saveddata/targetProfile.py:82\n#: eos/saveddata/targetProfile.py:83 eos/saveddata/targetProfile.py:84\n#: eos/saveddata/targetProfile.py:85 eos/saveddata/targetProfile.py:86\n#: eos/saveddata/targetProfile.py:87 eos/saveddata/targetProfile.py:88\n#: eos/saveddata/targetProfile.py:89 eos/saveddata/targetProfile.py:90\n#: eos/saveddata/targetProfile.py:91 eos/saveddata/targetProfile.py:92\nmsgid \"Burner\"\nmsgstr \"バーナー\"\n\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/targetProfile.py:74\nmsgid \"CONCORD\"\nmsgstr \"コンコルド\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:153\nmsgid \"CPU\"\nmsgstr \"CPU\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:118\nmsgid \"CSV files\"\nmsgstr \"CSV ファイル\"\n\n#: eos/saveddata/targetProfile.py:55\nmsgid \"Caldari (Armor)\"\nmsgstr \"カルダリ(アーマー)\"\n\n#: eos/saveddata/targetProfile.py:54\nmsgid \"Caldari (Shield)\"\nmsgstr \"カルダリ(シールド)\"\n\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/targetProfile.py:96\nmsgid \"Caldari EDENCOM Entities\"\nmsgstr \"カルダリ EDENCOMエンティティ\"\n\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/targetProfile.py:73\nmsgid \"Caldari State\"\nmsgstr \"カルダリ連合\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:115\nmsgid \"Calibration\"\nmsgstr \"キャリブレーション\"\n\n#: graphs/data/fitCapacitor/graph.py:35 graphs/data/fitCapacitor/graph.py:36\n#: graphs/data/fitCapacitor/graph.py:38 graphs/data/fitCapacitor/graph.py:43\nmsgid \"Cap amount\"\nmsgstr \"キャパシタ容量\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Cap neutralized per second\"\nmsgstr \"キャップが1秒間に中和されます\"\n\n#: graphs/data/fitCapacitor/graph.py:39\nmsgid \"Cap regen\"\nmsgstr \"Cap 再生\"\n\n#: graphs/data/fitCapacitor/graph.py:32\n#: gui/builtinStatsViews/capacitorViewFull.py:37\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\nmsgid \"Capacitor\"\nmsgstr \"キャパシタ\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:139\nmsgid \"Capacitor delta:\"\nmsgstr \"キャパシタのデルタ:\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:31\n#: gui/builtinStatsViews/outgoingViewFull.py:32\nmsgid \"Capacitor restored\"\nmsgstr \"キャパシタが復元されました\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:57\nmsgid \"Capacitor stability\"\nmsgstr \"Capacitorの安定性\"\n\n#: eos/saveddata/damagePattern.py:76\nmsgid \"Carbonized Lead\"\nmsgstr \"炭化したリード\"\n\n#: gui/copySelectDialog.py:49 gui/copySelectDialog.py:57\n#: gui/builtinContextMenus/priceOptions.py:47\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:90\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:81\n#: gui/additionsPane.py:72\nmsgid \"Cargo\"\nmsgstr \"カーゴ\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:20\n#: gui/builtinContextMenus/additionsExportSelection.py:20\n#: gui/builtinContextMenus/additionsImport.py:21\nmsgid \"Cargo Items\"\nmsgstr \"貨物アイテム\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:158\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Cargo bay\"\nmsgstr \"カーゴベイ\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:229\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:254\nmsgid \"Cargohold: \"\nmsgstr \"カーゴホールド: \"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:167\nmsgid \"Carrier\"\nmsgstr \"艦載機母艦\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Caustic\"\nmsgstr \"苛性\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:47\nmsgid \"Cert Path:\"\nmsgstr \"証明書パス:\"\n\n#: gui/builtinContextMenus/skillAffectors.py:73\n#, python-format\nmsgid \"Change %s Skills\"\nmsgstr \"%s スキルを変更\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:92\nmsgid \"Change Amount\"\nmsgstr \"量を変更する\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\nmsgid \"Change Skills\"\nmsgstr \"スキルを変更\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:144\nmsgid \"Change charge in all modules of the same type\"\nmsgstr \"同じタイプのすべてのモジュールのチャージを変更する\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:34\n#, python-brace-format\nmsgid \"Change {0} Quantity\"\nmsgstr \"変更 {0} 個\"\n\n#: gui/builtinContextMenus/itemProjectionRange.py:34\nmsgid \"Change {} Range\"\nmsgstr \"変更 範囲 {}\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:31\nmsgid \"Changes require restart of pyfa to take effect.\"\nmsgstr \"変更を有効にするには、pyfaの再起動が必要です。\"\n\n#: gui/esiFittings.py:375 gui/builtinStatsViews/priceViewFull.py:57\n#: gui/characterEditor.py:90\nmsgid \"Character\"\nmsgstr \"キャラクター\"\n\n#: gui/characterEditor.py:137\nmsgid \"Character Editor\"\nmsgstr \"キャラクター編集\"\n\n#: gui/esiFittings.py:376\nmsgid \"Character ID\"\nmsgstr \"キャラクターID\"\n\n#: gui/characterEditor.py:78\nmsgid \"Character name already in use, please choose another.\"\nmsgstr \"キャラクター名が既に使われています。別の名前を指定してください。\"\n\n#: gui/characterEditor.py:771\nmsgid \"Character:\"\nmsgstr \"キャラクター:\"\n\n#: gui/characterSelection.py:47\nmsgid \"Character: \"\nmsgstr \"キャラクター: \"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:48\nmsgid \"Charge\"\nmsgstr \"チャージ\"\n\n#: gui/builtinViews/fittingView.py:664\nmsgid \"Citadel\"\nmsgstr \"シタデル\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:37\nmsgid \"Citadel System Security\"\nmsgstr \"シタデルシステムセキュリティ\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear All\"\nmsgstr \"全てをクリア\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear all overrides\"\nmsgstr \"全てのオーバーライドをクリア\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:97\n#: gui/builtinStatsViews/resistancesViewFull.py:169\nmsgid \"Click to toggle between effective HP and raw HP\"\nmsgstr \"クリックして効果HPと元HPを切り替える\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:102\nmsgid \"Click to toggle to Firepower View\"\nmsgstr \"クリックして火力表示に切り替え\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:115\nmsgid \"Click to toggle to Mining Yield\"\nmsgstr \"クリックしてマイニング効率に切り替える\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:76\nmsgid \"Client ID:\"\nmsgstr \"クライアントID:\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:85\nmsgid \"Client Secret:\"\nmsgstr \"クライアントシークレット：\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:114\nmsgid \"Color fitting view by slot\"\nmsgstr \"スロットごとの色フィットビュー\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"Combined ECM strength\"\nmsgstr \"複合ECM強度\"\n\n#: gui/additionsPane.py:84\nmsgid \"Command\"\nmsgstr \"コマンド\"\n\n#: gui/builtinAdditionPanes/commandView.py:201\nmsgid \"Command Fit\"\nmsgstr \"コマンドフィット\"\n\n#: gui/builtinContextMenus/commandFitAdd.py:51\nmsgid \"Command Fits\"\nmsgstr \"コマンドフィット\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:127\nmsgid \"Command center hold\"\nmsgstr \"コマンドセンターホールド\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:110\nmsgid \"Compact skills needed tooltip\"\nmsgstr \"コンパクトスキルはツールチップが必要です\"\n\n#: gui/itemStats.py:182\nmsgid \"Compare\"\nmsgstr \"比較\"\n\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:227\nmsgid \"Concord\"\nmsgstr \"Concord\"\n\n#: eos/saveddata/damagePattern.py:92\nmsgid \"Concussion Bomb\"\nmsgstr \"振動ボム\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:98\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:103\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:108\n#: gui/mainFrame.py:647 gui/mainFrame.py:653\nmsgid \"Confirm\"\nmsgstr \"確認\"\n\n#: gui/esiFittings.py:160 gui/propertyEditor.py:147\nmsgid \"Confirm Delete\"\nmsgstr \"削除の確認\"\n\n#: gui/esiFittings.py:129 gui/esiFittings.py:172 gui/esiFittings.py:345\nmsgid \"Connection error, please check your internet connection\"\nmsgstr \"接続エラー： インターネット接続を確認してください。\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:14\nmsgid \"Context Menus\"\nmsgstr \"コンテキストメニュー\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:117\nmsgid \"ContextMenu|ProjectedEffectManipulation|Black Hole\"\nmsgstr \"コンテキストメニュー|計画効果操作|ブラックホール\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:118\nmsgid \"ContextMenu|ProjectedEffectManipulation|Cataclysmic Variable\"\nmsgstr \"コンテキストメニュー|計画効果操作|特殊天体\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:144\nmsgid \"ContextMenu|ProjectedEffectManipulation|Effects\"\nmsgstr \"コンテキストメニュー|計画効果操作|効果\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:106\nmsgid \"ContextMenu|ProjectedEffectManipulation|Electrical\"\nmsgstr \"コンテキストメニュー|計画効果操作|電子系\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:107\nmsgid \"ContextMenu|ProjectedEffectManipulation|Exotic\"\nmsgstr \"コンテキストメニュー|計画効果操作|エキゾチック\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:115\nmsgid \"ContextMenu|ProjectedEffectManipulation|Firestorm\"\nmsgstr \"コンテキストメニュー|計画効果操作|ファイアストーム\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:108\nmsgid \"ContextMenu|ProjectedEffectManipulation|Gamma\"\nmsgstr \"コンテキストメニュー|計画効果操作|ガンマ\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:119\nmsgid \"ContextMenu|ProjectedEffectManipulation|Magnetar\"\nmsgstr \"コンテキストメニュー|計画効果操作|マグネター\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:113\nmsgid \"ContextMenu|ProjectedEffectManipulation|Matter\"\nmsgstr \"コンテキストメニュー|計画効果操作|マター\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:111\nmsgid \"ContextMenu|ProjectedEffectManipulation|Metaliminal\"\nmsgstr \"コンテキストメニュー|計画効果操作|メタリミナル\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:109\nmsgid \"ContextMenu|ProjectedEffectManipulation|Plasma\"\nmsgstr \"コンテキストメニュー|計画効果操作|プラズマ\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:120\nmsgid \"ContextMenu|ProjectedEffectManipulation|Pulsar\"\nmsgstr \"コンテキストメニュー|計画効果操作|パルサー\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:114\nmsgid \"ContextMenu|ProjectedEffectManipulation|Ray\"\nmsgstr \"コンテキストメニュー|計画効果操作|レイ\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:121\nmsgid \"ContextMenu|ProjectedEffectManipulation|Red Giant\"\nmsgstr \"コンテキストメニュー|計画効果操作|レッドジャイアント\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:125\nmsgid \"ContextMenu|ProjectedEffectManipulation|Sansha Incursion\"\nmsgstr \"コンテキストメニュー|計画効果操作|サンシャインカージョン\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:112\nmsgid \"ContextMenu|ProjectedEffectManipulation|Storm\"\nmsgstr \"コンテキストメニュー|計画効果操作|ストーム\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:143\nmsgid \"ContextMenu|ProjectedEffectManipulation|System Effects\"\nmsgstr \"コンテキストメニュー|計画効果操作|システムエフェクト\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:127\nmsgid \"ContextMenu|ProjectedEffectManipulation|Triglavian Invasion\"\nmsgstr \"コンテキストメニュー|計画効果操作|トリグラヴィアンの侵略\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:122\nmsgid \"ContextMenu|ProjectedEffectManipulation|Wolf Rayet\"\nmsgstr \"コンテキストメニュー|計画効果操作|ウォルフ・ライエ\"\n\n#: gui/builtinItemStatsViews/itemDescription.py:43\n#: gui/builtinItemStatsViews/itemTraits.py:25\n#: gui/builtinShipBrowser/fitItem.py:107\nmsgid \"Copy\"\nmsgstr \"コピー\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:39\nmsgid \"Copy All {}\"\nmsgstr \"すべてコピー {}\"\n\n#: gui/characterSelection.py:105\nmsgid \"Copy Missing Skills\"\nmsgstr \"不足しているスキルをコピー\"\n\n#: gui/builtinContextMenus/moduleMutatedExport.py:28\nmsgid \"Copy Module to Clipboard\"\nmsgstr \"モジュールをクリップボードにコピー\"\n\n#: gui/builtinContextMenus/additionsExportSelection.py:39\nmsgid \"Copy Selected {}\"\nmsgstr \"選択されたものをコピー\"\n\n#: gui/ssoLogin.py:20\nmsgid \"Copy and paste the block of text provided by pyfa.io\"\nmsgstr \"Pyfaのテキストをコピーして貼り付けます\"\n\n#: gui/setEditor.py:222 gui/patternEditor.py:290 gui/targetProfileEditor.py:366\nmsgid \"Could not import from clipboard\"\nmsgstr \"クリップボードからインポートできませんでした\"\n\n#: gui/targetProfileEditor.py:359\nmsgid \"Could not import from clipboard:\"\nmsgstr \"クリップボードからインポートできませんでした:\"\n\n#: gui/setEditor.py:218 gui/patternEditor.py:283\nmsgid \"Could not import from clipboard: unknown errors\"\nmsgstr \"クリップボードからインポートできませんでした: 不明なエラー\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Cruiser\"\nmsgstr \"巡洋艦\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/targetProfile.py:81\nmsgid \"Cruor (Blood Raiders)\"\nmsgstr \"カーソル(ブルッドレイダーズ)\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:175\nmsgid \"Current\"\nmsgstr \"現在\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:57\n#: gui/builtinItemStatsViews/itemAttributes.py:45\nmsgid \"Current Value\"\nmsgstr \"現在の値\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:63\nmsgid \"Custom Application\"\nmsgstr \"カスタムアプリケーション\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"Custom application\"\nmsgstr \"カスタムアプリケーション\"\n\n#: graphs/style.py:57\nmsgid \"Cyan\"\nmsgstr \"シアン\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"DPS\"\nmsgstr \"DPS\"\n\n#: gui/patternEditor.py:99\nmsgid \"Damage Pattern Editor\"\nmsgstr \"ダメージパターンエディター\"\n\n#: gui/patternEditor.py:65\nmsgid \"Damage Profile\"\nmsgstr \"ダメージプロファイル\"\n\n#: gui/patternEditor.py:53\nmsgid \"Damage Profile name already in use, please choose another.\"\nmsgstr \"ダメージプロファイル名は既に使われています。別の名前を指定してください。\"\n\n#: graphs/data/fitDamageStats/graph.py:56\nmsgid \"Damage Stats\"\nmsgstr \"ダメージ状態\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Damage inflicted\"\nmsgstr \"与えたダメージ:\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Damps: lock range reduction\"\nmsgstr \"リモートセンサーダンプナー: ロック範囲の減少\"\n\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/targetProfile.py:83\nmsgid \"Daredevil (Serpentis)\"\nmsgstr \"デアデビル(サーペンティス)\"\n\n#: graphs/style.py:81\nmsgid \"Dark\"\nmsgstr \"ダーク\"\n\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\nmsgid \"Dark Matter All Tiers\"\nmsgstr \"ダークマター全段階\"\n\n#: graphs/style.py:89\nmsgid \"Dash-dotted\"\nmsgstr \"点線の線\"\n\n#: graphs/style.py:87\nmsgid \"Dashed\"\nmsgstr \"点線\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:15\nmsgid \"Database\"\nmsgstr \"データベース\"\n\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\nmsgid \"Deadspace\"\nmsgstr \"デッドスペース\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:56\nmsgid \"Debug Logging Enabled\"\nmsgstr \"デバッグログを有効にする\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:58\nmsgid \"Default Market Prices:\"\nmsgstr \"デフォルトの市場価格:\"\n\n#: gui/propertyEditor.py:271\n#, python-format\nmsgid \"Default Value: %0.3f\"\nmsgstr \"デフォルト値: %0.3f\"\n\n#: gui/builtinContextMenus/shipModeChange.py:18\nmsgid \"Defense\"\nmsgstr \"防御力\"\n\n#: graphs/data/fitMobility/graph.py:44\nmsgid \"Defined in millions of kilograms\"\nmsgstr \"数百万キログラムで定義\"\n\n#: gui/builtinShipBrowser/fitItem.py:109\nmsgid \"Delete\"\nmsgstr \"削除\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:79\nmsgid \"Delete All Damage Pattern Profiles\"\nmsgstr \"すべてのダメージパターンプロファイルを削除\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:87\nmsgid \"Delete All Prices\"\nmsgstr \"すべての価格を削除\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:83\nmsgid \"Delete All Target Profiles\"\nmsgstr \"すべてのターゲットプロファイルを削除\"\n\n#: gui/esiFittings.py:66\nmsgid \"Delete all from Eve\"\nmsgstr \"Eveから全てを削除\"\n\n#: gui/esiFittings.py:65\nmsgid \"Delete from EVE\"\nmsgstr \"EVE から削除\"\n\n#: gui/itemStats.py:189\nmsgid \"Dependents\"\nmsgstr \" 依存\"\n\n#: eos/saveddata/damagePattern.py:79\nmsgid \"Depleted Uranium\"\nmsgstr \"劣化ウラン\"\n\n#: gui/itemStats.py:174\nmsgid \"Description\"\nmsgstr \"説明\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Destroyer\"\nmsgstr \"駆逐艦\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Destructible Beacons\"\nmsgstr \"破壊可能なビーコン\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Dev Tools\"\nmsgstr \"開発者ツール\"\n\n#: gui/mainMenuBar.py:101 gui/mainMenuBar.py:202\nmsgid \"Disable Fitting Re&strictions\"\nmsgstr \"絞り込みを無効にする\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Disabled\"\nmsgstr \"無効\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:28\nmsgid \"Disabling context menus can improve responsiveness.\\n\"\n\"You can hold {} key + right-click to show all menu items regardless of these settings.\"\nmsgstr \"コンテキストメニューを無効にすると、応答性が向上します。\\n\"\n\"これらの設定に関係なく、{} キーを押したまま右クリックしてすべてのメニュー項目を表示できます。\"\n\n#: graphs/data/fitMobility/graph.py:36 graphs/data/fitRemoteReps/graph.py:50\n#: graphs/data/fitRemoteReps/graph.py:58 graphs/data/fitWarpTime/graph.py:47\n#: graphs/data/fitWarpTime/graph.py:48 graphs/data/fitWarpTime/graph.py:51\n#: graphs/data/fitWarpTime/graph.py:52 graphs/data/fitDamageStats/graph.py:58\n#: graphs/data/fitDamageStats/graph.py:65 graphs/data/fitEwarStats/graph.py:34\n#: graphs/data/fitEwarStats/graph.py:44\nmsgid \"Distance\"\nmsgstr \"距離\"\n\n#: graphs/data/fitDamageStats/graph.py:66\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"オーバービュー上での攻撃者とターゲットの間の距離(表面から表面までの距離)\"\n\n#: graphs/data/fitDamageStats/graph.py:67\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\\n\"\n\"When set, places the target that far away from the attacker\\n\"\n\"When not set, attacker's weapons always hit the target\"\nmsgstr \"攻撃者とターゲットの表向きの距離(表面から表面までの距離)\\n\"\n\"ターベットが攻撃側より離れている場合、攻撃側の攻撃は当たらない\"\n\n#: graphs/data/fitRemoteReps/graph.py:59 graphs/data/fitRemoteReps/graph.py:60\nmsgid \"Distance between the repairing ship and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"表面上のリペア船と対象との距離(表面から表面)\"\n\n#: gui/esiFittings.py:159\nmsgid \"Do you really want to delete {} ({}) from EVE?\"\nmsgstr \"EVEから{} ({}) を削除してもよろしいですか？\"\n\n#: gui/updateDialog.py:102\nmsgid \"Don't remind me again for this release\"\nmsgstr \"今後このリリースを通知しない\"\n\n#: gui/characterEditor.py:789\nmsgid \"Don't see your EVE character in the list?\"\nmsgstr \"リストにEVEキャラクターが表示されませんか？\"\n\n#: graphs/style.py:88\nmsgid \"Dotted\"\nmsgstr \"点線\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:71\n#: gui/updateDialog.py:113\nmsgid \"Download\"\nmsgstr \"ダウンロード\"\n\n#: graphs/gui/lists.py:313\nmsgid \"Drag a fit into this list to graph it\"\nmsgstr \"グラフを描くには、このリストにフィットをドラッグしてください\"\n\n#: graphs/gui/lists.py:370\nmsgid \"Drag a fit into this list to have your fits graphed against it\"\nmsgstr \"グラフを描くには、このリストにフィットをドラッグしてください\"\n\n#: gui/builtinAdditionPanes/commandView.py:163\nmsgid \"Drag a fit to this area\"\nmsgstr \"このエリアにフィットをドラッグしてください\"\n\n#: gui/builtinAdditionPanes/projectedView.py:224\nmsgid \"Drag an item or fit, or use right-click menu for wormhole effects\"\nmsgstr \"アイテムをドラッグ・フィットするか、右クリックでワームホール効果を使用します\"\n\n#: eos/saveddata/damagePattern.py:112 eos/saveddata/targetProfile.py:82\nmsgid \"Dramiel (Angel)\"\nmsgstr \"ドラミエル(天使)\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:144\n#: eos/saveddata/damagePattern.py:147\nmsgid \"Dread\"\nmsgstr \"攻城艦\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/damagePattern.py:146\nmsgid \"Dread/Subcaps\"\nmsgstr \"ドレッド/サブキャップ\"\n\n#: eos/saveddata/damagePattern.py:98 eos/saveddata/targetProfile.py:103\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:117\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:131\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:145\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:159\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:173\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:187\nmsgid \"Drifter\"\nmsgstr \"ドリフター\"\n\n#: eos/saveddata/damagePattern.py:159 eos/saveddata/targetProfile.py:230\nmsgid \"Drifter Entities\"\nmsgstr \"ドリフターエンティティ\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Drone\"\nmsgstr \"ドローン\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:26\nmsgid \"Drone Mode\"\nmsgstr \"ドローンモード\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:157\nmsgid \"Drone bandwidth\"\nmsgstr \"ドローン帯域幅\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:155\nmsgid \"Drone bay\"\nmsgstr \"ドローンベイ\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:66\nmsgid \"Drone range\"\nmsgstr \"ドローン制御範囲\"\n\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/targetProfile.py:99\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:113\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:127\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:141\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:155\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:169\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:183\n#: gui/builtinContextMenus/priceOptions.py:40\n#: gui/builtinContextMenus/additionsExportAll.py:18\n#: gui/builtinContextMenus/additionsExportSelection.py:18\n#: gui/builtinContextMenus/additionsImport.py:19\n#: gui/builtinStatsViews/priceViewFull.py:58\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:77\n#: gui/additionsPane.py:66\nmsgid \"Drones\"\nmsgstr \"ドローン\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:113\nmsgid \"Drones active\"\nmsgstr \"ドローンが有効です\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:62\nmsgid \"Dump All Logs\"\nmsgstr \"すべてのログをダンプ\"\n\n#: gui/mainMenuBar.py:105\nmsgid \"E&xport to ESI\"\nmsgstr \"ESIへエクスポート\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"ECM: combined strength\"\nmsgstr \"ECM: 組み合わせ強度\"\n\n#: gui/mainFrame.py:837\nmsgid \"EFT text fitting files\"\nmsgstr \"EFT テキスト・フィッティングファイル\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:96\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"EHP\"\nmsgstr \"EHP\"\n\n#: eos/saveddata/damagePattern.py:39\n#: gui/builtinContextMenus/moduleAmmoChange.py:24\nmsgid \"EM\"\nmsgstr \"EM （ElectroMagnetic Damage/電磁場によるダメージ）\"\n\n#: gui/targetProfileEditor.py:119\nmsgid \"EM resistance\"\nmsgstr \"EMレジスタンス\"\n\n#: eos/saveddata/damagePattern.py:81\nmsgid \"EMP\"\nmsgstr \"EMP （electromagnetic pulse/電磁パルス）\"\n\n#: gui/esiFittings.py:347 gui/esiFittings.py:351 gui/esiFittings.py:359\nmsgid \"ERROR\"\nmsgstr \"エラー\"\n\n#: gui/mainFrame.py:1012\nmsgid \"EVE API XML character files\"\nmsgstr \"EVE API XML キャラクタファイル\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:76\nmsgid \"EVE Data:\"\nmsgstr \"EVEデータ:\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:49\nmsgid \"EVE IGB HTML fitting file\"\nmsgstr \"EVE IGB HTMLフィットファイル\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:16\n#: gui/characterEditor.py:162\nmsgid \"EVE SSO\"\nmsgstr \"EVE SSO（Single Sign On）\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:37\nmsgid \"EVE Servers (API && CREST import)\"\nmsgstr \"EVE サーバー (API && CREST import)\"\n\n#: gui/mainFrame.py:859\nmsgid \"EVE XML fitting file\"\nmsgstr \"EVE XML フィットファイル\"\n\n#: gui/mainFrame.py:466 gui/mainFrame.py:836\nmsgid \"EVE XML fitting files\"\nmsgstr \"EVE XML フィットファイル\"\n\n#: gui/mainFrame.py:808\nmsgid \"EVEMon skills training XML file\"\nmsgstr \"EVEMonスキルトレーニング XMLファイル\"\n\n#: gui/mainFrame.py:807\nmsgid \"EVEMon skills training file\"\nmsgstr \"EVEMonスキルトレーニングファイル\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"Effective DPS\"\nmsgstr \"有効なDPS\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:61\n#: gui/builtinStatsViews/resistancesViewFull.py:219\nmsgid \"Effective HP: \"\nmsgstr \"有効HP: \"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:151\nmsgid \"Effective capacity\"\nmsgstr \"有効キャパシタ\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Effective damage inflicted\"\nmsgstr \"有効ダメージ効果\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Effective volley\"\nmsgstr \"実効ボレー（ダメージ）\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:220\n#, python-format\nmsgid \"Effective: %d HP\"\nmsgstr \"有効HP %d\"\n\n#: gui/itemStats.py:192\nmsgid \"Effects\"\nmsgstr \"効果\"\n\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:107\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:109\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:194\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:196\nmsgid \"Electrical T0/T1/T2\"\nmsgstr \"電気T1/T2/T3\"\n\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\nmsgid \"Electrical T3 (Some T5 Rooms)\"\nmsgstr \"電気T3 (一部T5層)\"\n\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:121\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:123\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:200\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:202\nmsgid \"Electrical T4/T5/T6\"\nmsgstr \"電気T4/T5/T6\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:85\nmsgid \"Electromagnetic resistance\"\nmsgstr \"電磁ダメージ耐性\"\n\n#: eos/saveddata/damagePattern.py:90\nmsgid \"Electron Bomb\"\nmsgstr \"電子爆弾\"\n\n#: graphs/data/fitEwarStats/graph.py:33\nmsgid \"Electronic Warfare Stats\"\nmsgstr \"電子戦の状態\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:59\nmsgid \"Empty\"\nmsgstr \"空\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:105\nmsgid \"Empty Market View\"\nmsgstr \"空の市場 ビュー\"\n\n#: gui/multiSwitch.py:41\nmsgid \"Empty Tab\"\nmsgstr \"空のタブ\"\n\n#: gui/mainMenuBar.py:200\nmsgid \"Enable Fitting Re&strictions\"\nmsgstr \"フォット制限を有効にする\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:33\nmsgid \"Enable Network\"\nmsgstr \"ネットワークを有効化\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable all available meta buttons\"\nmsgstr \"利用可能なメタボタンをすべて有効にする\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:93\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:114\nmsgid \"Enable all meta buttons\"\nmsgstr \"すべてのメタボタンを有効にする\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\nmsgid \"Enable all meta buttons for a duration of search / recents\"\nmsgstr \"検索・履歴の間、全てのメタボタンを有効にする\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button\"\nmsgstr \"アイテム・メタボタンを有効にする\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button, disable others\"\nmsgstr \"アイテムのメタボタンを有効にし、他のメタボタンを無効にする\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable leftmost available meta button\"\nmsgstr \"一番左のメタボタンを有効にする\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:61\nmsgid \"Enable minimal format\"\nmsgstr \"最小フォーマットを有効にする\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Enabled\"\nmsgstr \"有効\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:50\nmsgid \"Enforce strict skill level requirements\"\nmsgstr \"厳格なスキルレベル要件を適用\"\n\n#: gui/characterEditor.py:281\nmsgid \"Enter a name for your new Character:\"\nmsgstr \"新しいキャラクタ名を入力してください。\"\n\n#: gui/builtinContextMenus/implantSetSave.py:51\nmsgid \"Enter a name for your new Implant Set:\"\nmsgstr \"新しいインプラントセットを入力してください。\"\n\n#: eos/saveddata/damagePattern.py:116 eos/saveddata/targetProfile.py:86\nmsgid \"Enyo\"\nmsgstr \"エンヨ\"\n\n#: gui/characterSelection.py:174 gui/setEditor.py:55 gui/mainFrame.py:896\n#: gui/characterEditor.py:83 gui/characterEditor.py:463\n#: gui/characterEditor.py:898 gui/patternEditor.py:58\n#: gui/targetProfileEditor.py:78\nmsgid \"Error\"\nmsgstr \"エラー\"\n\n#: gui/characterSelection.py:173 gui/characterEditor.py:897\nmsgid \"Error fetching skill information\"\nmsgstr \"スキル情報の取得中にエラーが発生しました。\"\n\n#: gui/errorDialog.py:68\nmsgid \"Error!\"\nmsgstr \"エラー!\"\n\n#: eos/saveddata/damagePattern.py:57 eos/saveddata/damagePattern.py:58\n#: eos/saveddata/damagePattern.py:59 eos/saveddata/damagePattern.py:60\n#: eos/saveddata/damagePattern.py:61\nmsgid \"Exotic Plasma\"\nmsgstr \"エキゾチックプラズマ\"\n\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:149\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:151\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:212\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:214\nmsgid \"Exotic T0/T1/T2\"\nmsgstr \"エキゾチックT0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\nmsgid \"Exotic T3 (Some T5 Rooms)\"\nmsgstr \"エキゾチック T3 (一部T5層)\"\n\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:163\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:165\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:218\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:220\nmsgid \"Exotic T4/T5/T6\"\nmsgstr \"エキゾチックT4/T5/T6\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:67\nmsgid \"Expand All\"\nmsgstr \"すべてを展開\"\n\n#: eos/saveddata/damagePattern.py:42\n#: gui/builtinContextMenus/moduleAmmoChange.py:26\nmsgid \"Explosive\"\nmsgstr \"爆発\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:88\n#: gui/targetProfileEditor.py:122\nmsgid \"Explosive resistance\"\nmsgstr \"Expレジスタンス\"\n\n#: gui/propertyEditor.py:39\nmsgid \"Export\"\nmsgstr \"エクスポート\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export All Fittings to &HTML\"\nmsgstr \"すべてのフィットをHTMLにエクスポート\"\n\n#: gui/mainFrame.py:946\nmsgid \"Export Error\"\nmsgstr \"エクスポートエラー\"\n\n#: gui/esiFittings.py:258\nmsgid \"Export Fit\"\nmsgstr \"フィットをエクスポート\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:23\nmsgid \"Export Fittings in a minimal HTML Version, just containing the fittings links without any visual styling\"\nmsgstr \"フィットを最小限の HTML バージョンでエクスポートします。視覚的スタイルのないフィッティングリンクを含みます。\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:57\nmsgid \"Export Item Stats\"\nmsgstr \"アイテム状態をエクスポート\"\n\n#: gui/esiFittings.py:263\nmsgid \"Export Loaded Charges\"\nmsgstr \"読み込まれたチャージをエクスポート\"\n\n#: gui/mainFrame.py:805\nmsgid \"Export Skills Needed As...\"\nmsgstr \"必要スキルをエクスポート\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"Export a fit to the clipboard\"\nmsgstr \"クリップボードにフィットをエクスポート\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\nmsgid \"Export boosters\"\nmsgstr \"ブースターをエクスポート\"\n\n#: gui/copySelectDialog.py:49\nmsgid \"Export cargo contents\"\nmsgstr \"貨物をエクスポート\"\n\n#: gui/copySelectDialog.py:57\nmsgid \"Export cargo hold contents\"\nmsgstr \"カーゴホールドをエクスポート\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Export charges loaded into modules\"\nmsgstr \"モジュールにロードされたチャージをエクスポート\"\n\n#: gui/esiFittings.py:245\nmsgid \"Export fit to EVE\"\nmsgstr \"フィットをEVEにエクスポート\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export fits to HTML file (set in Preferences)\"\nmsgstr \"フィットをHTMLにエクスポート (環境設定で設定)\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"Export fitting to another format\"\nmsgstr \"別形式でフィットをエクスポート\"\n\n#: gui/setEditor.py:149\nmsgid \"Export implant sets to clipboard\"\nmsgstr \"インプラントセットをクリップボードにエクスポート\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\nmsgid \"Export implants\"\nmsgstr \"インプラントをエクスポート\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Export mutated modules' stats\"\nmsgstr \"変更されたモジュール状態をエクスポート\"\n\n#: gui/patternEditor.py:172\nmsgid \"Export patterns to clipboard\"\nmsgstr \"パターンをクリップボードにエクスポート\"\n\n#: gui/targetProfileEditor.py:222\nmsgid \"Export profiles to clipboard\"\nmsgstr \"プロファイルをクリップボードにエクスポート\"\n\n#: gui/characterEditor.py:373\nmsgid \"Export skills from clipboard\"\nmsgstr \"クリップボードからスキルをエクスポート\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"Export skills needed for this fitting\"\nmsgstr \"このフィットに必要なスキルをエクスポート\"\n\n#: gui/mainFrame.py:827\nmsgid \"Exporting skills needed...\"\nmsgstr \"必要なスキルをエクスポートしています...\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:152\nmsgid \"Extra info in Additions panel tab names\"\nmsgstr \"追加パネルのタブ名の追加情報\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:90\nmsgid \"Extra stats\"\nmsgstr \"追加の状態\"\n\n#: gui/builtinContextMenus/factorReload.py:26\nmsgid \"Factor in Reload Time\"\nmsgstr \"リロード係数\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:44\nmsgid \"Factor in reload time when calculating capacitor usage, damage, and tank.\"\nmsgstr \"コンデンサ使用、損傷、およびタンクの計算されたリロード時間\"\n\n#: gui/esiFittings.py:328\nmsgid \"Failed to generate export data\"\nmsgstr \"エクスポートデータの生成に失敗しました\"\n\n#: gui/aboutData.py:34\nmsgid \"Fat Cow Icons by fatcow.com - Creative Commons Attribution 3.0 License\"\nmsgstr \"Fat Cow Icons by fatcow.com - Creative Commons Attribution 3.0 License\"\n\n#: gui/esiFittings.py:44\nmsgid \"Fetch Fits\"\nmsgstr \"フィットを取得\"\n\n#: gui/esiFittings.py:114\nmsgid \"Fetching fits, please wait...\"\nmsgstr \"フィットを取得中です。お待ちください...\"\n\n#: gui/mainMenuBar.py:81\nmsgid \"Fi&t\"\nmsgstr \"フィット\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:156\nmsgid \"Fighter bay\"\nmsgstr \"戦闘機ベイ\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:114\nmsgid \"Fighter squadrons active\"\nmsgstr \"軽戦闘機隊を有効\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:19\n#: gui/builtinContextMenus/additionsExportSelection.py:19\n#: gui/builtinContextMenus/additionsImport.py:20 gui/additionsPane.py:69\nmsgid \"Fighters\"\nmsgstr \"戦闘機\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Filament\"\nmsgstr \"フィラメント\"\n\n#: gui/builtinContextMenus/itemFill.py:32\nmsgid \"Fill With Module\"\nmsgstr \"モジュールを埋める\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\n#, python-brace-format\nmsgid \"Fill With {0}\"\nmsgstr \"{0} フィットする\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\nmsgid \"Fill with module\"\nmsgstr \"モジュールでフィットする\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:43\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\nmsgid \"Firepower\"\nmsgstr \"火力\"\n\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\nmsgid \"Firestorm T0/T1/T2\"\nmsgstr \"ファイアストームT0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:135\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:137\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:206\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:208\nmsgid \"Firestorm T3 (Some T5 Rooms)\"\nmsgstr \"ファイアストームT3 (一部T5層)\"\n\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\nmsgid \"Firestorm T4/T5/T6\"\nmsgstr \"ファイアストームT4/T5/T6\"\n\n#: graphs/gui/lists.py:306\nmsgid \"Fit\"\nmsgstr \"フィット\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:47\nmsgid \"Fitting Database:\"\nmsgstr \"フィットデータベース\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:27\nmsgid \"Fitting Engine\"\nmsgstr \"フィットエンジン\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57 gui/mainFrame.py:184\nmsgid \"Fittings\"\nmsgstr \"フィット\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:113\nmsgid \"Fleet hangar\"\nmsgstr \"フリートハンガー\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Formatting Tags\"\nmsgstr \"フォーマットタグ\"\n\n#: eos/saveddata/damagePattern.py:43 eos/saveddata/damagePattern.py:44\n#: eos/saveddata/damagePattern.py:45 eos/saveddata/damagePattern.py:46\n#: eos/saveddata/damagePattern.py:47 eos/saveddata/damagePattern.py:48\n#: eos/saveddata/damagePattern.py:49 eos/saveddata/damagePattern.py:50\n#: eos/saveddata/damagePattern.py:51 eos/saveddata/damagePattern.py:52\n#: eos/saveddata/damagePattern.py:53 eos/saveddata/damagePattern.py:54\nmsgid \"Frequency Crystals\"\nmsgstr \"周波数クリスタル\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Frigate\"\nmsgstr \"フリゲート\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:116\nmsgid \"Fuel bay\"\nmsgstr \"燃料ベイ\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Full\"\nmsgstr \"フル\"\n\n#: eos/saveddata/damagePattern.py:83\nmsgid \"Fusion\"\nmsgstr \"合成\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"GDs: missile flight range reduction\"\nmsgstr \"ミサイルの後続距離減少\"\n\n#: eos/saveddata/targetProfile.py:57\nmsgid \"Gallente (Armor)\"\nmsgstr \"ガレンテ(アーマー)\"\n\n#: eos/saveddata/targetProfile.py:56\nmsgid \"Gallente (Shield)\"\nmsgstr \"ガレンテ(シールド)\"\n\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/targetProfile.py:97\nmsgid \"Gallente EDENCOM Entities\"\nmsgstr \"ガレンテ EDENCOM エンティティ\"\n\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/targetProfile.py:75\nmsgid \"Gallente Federation\"\nmsgstr \"ガレンテ連邦\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:57\nmsgid \"Game Database:\"\nmsgstr \"ゲームデータベース:\"\n\n#: eos/saveddata/damagePattern.py:51\nmsgid \"Gamma\"\nmsgstr \"ガンマ\"\n\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\nmsgid \"Gamma T0/T1/T2\"\nmsgstr \"ガンマ T0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:177\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:179\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:224\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:226\nmsgid \"Gamma T3 (Some T5 Rooms)\"\nmsgstr \"ガンマT3 (一部T5層)\"\n\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Gamma T4/T5/T6\"\nmsgstr \"ガンマ T4/T5/T6\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:125\nmsgid \"Gas hold\"\nmsgstr \"ガス・ホールド\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:20\nmsgid \"General\"\nmsgstr \"一般\"\n\n#: gui/mainFrame.py:904\nmsgid \"Generating HTML file at: {}\"\nmsgstr \"HTMLファイルを生成中: {}\"\n\n#: eos/saveddata/damagePattern.py:39 eos/saveddata/damagePattern.py:40\n#: eos/saveddata/damagePattern.py:41 eos/saveddata/damagePattern.py:42\nmsgid \"Generic\"\nmsgstr \"一般\"\n\n#: gui/characterEditor.py:778\nmsgid \"Get Skills\"\nmsgstr \"スキルを入手する\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:68\nmsgid \"Global Default Spoolup Percentage:\"\nmsgstr \"グローバルデフォルト待機率:\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"Go to EVE Online Forum thread\"\nmsgstr \"EVEオンラインフォーラムに移動\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"Go to wiki on GitHub\"\nmsgstr \"GitHub の wiki に移動\"\n\n#: gui/characterSelection.py:102\nmsgid \"Grant Missing Skills\"\nmsgstr \"不足しているスキルを付与\"\n\n#: graphs/gui/frame.py:51\nmsgid \"Graphs\"\nmsgstr \"グラフ\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Gravimetric\"\nmsgstr \"重力計\"\n\n#: graphs/style.py:53\nmsgid \"Green\"\nmsgstr \"緑\"\n\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:125\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:68\nmsgid \"Guristas\"\nmsgstr \"ガリスタス\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:172\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"HP\"\nmsgstr \"HP\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:19\nmsgid \"HTML Export\"\nmsgstr \"HTMLエクスポート\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:20\nmsgid \"HTML Export (File > Export HTML) allows you to export your entire fitting database into an HTML file at the specified location. This file can be used to easily open your fits in a web-based fitting program\"\nmsgstr \"HTML エクスポート (ファイル > エクスポート HTML) はフィット全部をHTMLファイルにエクスポートすることができます。 このファイルは、ウェブベースのフィッティングプログラムで簡単にフィットを開くために使用できます\"\n\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/targetProfile.py:87\nmsgid \"Hawk\"\nmsgstr \"ホーク\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Heavy\"\nmsgstr \"重い\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:136\nmsgid \"Hide Recent Fits\"\nmsgstr \"最近のフィットを隠す\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:53\n#: gui/builtinShipBrowser/navigationPanel.py:147\nmsgid \"Hide empty ship groups\"\nmsgstr \"空の艦艇グループを非表示\"\n\n#: gui/builtinViewColumns/baseName.py:59\nmsgid \"High\"\nmsgstr \"高い\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:19\nmsgid \"High Security\"\nmsgstr \"高セキュリティ\"\n\n#: eos/saveddata/targetProfile.py:48\nmsgid \"Hull\"\nmsgstr \"船体\"\n\n#: eos/saveddata/targetProfile.py:51\nmsgid \"Hull (+T2 DCU)\"\nmsgstr \"船体（ハル） (+T2 DCU)\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:78\nmsgid \"Hull repair amount\"\nmsgstr \"船体回復量\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:114\nmsgid \"Hull resistance\"\nmsgstr \"船体レジスタンス\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:49\n#: gui/builtinStatsViews/outgoingViewFull.py:50\nmsgid \"Hull restored\"\nmsgstr \"船体を復元\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Hull: \"\nmsgstr \"船体: \"\n\n#: eos/saveddata/damagePattern.py:62 eos/saveddata/damagePattern.py:63\n#: eos/saveddata/damagePattern.py:64 eos/saveddata/damagePattern.py:65\n#: eos/saveddata/damagePattern.py:66 eos/saveddata/damagePattern.py:67\n#: eos/saveddata/damagePattern.py:68 eos/saveddata/damagePattern.py:69\n#: eos/saveddata/damagePattern.py:70 eos/saveddata/damagePattern.py:71\n#: eos/saveddata/damagePattern.py:72 eos/saveddata/damagePattern.py:73\nmsgid \"Hybrid Charges\"\nmsgstr \"ハイブリッドチャージ\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:35\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: eos/saveddata/targetProfile.py:293\nmsgid \"Ideal Target\"\nmsgstr \"理想的なターゲット\"\n\n#: gui/builtinContextMenus/graphDroneControlRange.py:23\nmsgid \"Ignore Drone Control Range\"\nmsgstr \"ドローン制御範囲を無視\"\n\n#: gui/builtinContextMenus/graphLockRange.py:23\nmsgid \"Ignore Lock Range\"\nmsgstr \"ロック範囲を無視\"\n\n#: gui/builtinContextMenus/graphDmgIgnoreResists.py:23\nmsgid \"Ignore Target Resists\"\nmsgstr \"ターゲットレジストを無視\"\n\n#: gui/setEditor.py:62\nmsgid \"Implant Set\"\nmsgstr \"インプラントセット\"\n\n#: gui/setEditor.py:122\nmsgid \"Implant Set Editor\"\nmsgstr \"インプラントセットエディター\"\n\n#: gui/setEditor.py:50\nmsgid \"Implant Set name already in use, please choose another.\"\nmsgstr \"インプラントセット名が既に使われています。別の名前を指定してください。\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\n#: gui/builtinContextMenus/additionsExportAll.py:21\n#: gui/builtinContextMenus/additionsExportAll.py:22\n#: gui/builtinContextMenus/additionsExportSelection.py:21\n#: gui/builtinContextMenus/additionsExportSelection.py:22\n#: gui/builtinContextMenus/additionsImport.py:22\n#: gui/builtinContextMenus/additionsImport.py:23 gui/characterEditor.py:161\n#: gui/additionsPane.py:75\nmsgid \"Implants\"\nmsgstr \"インプラント\"\n\n#: gui/builtinContextMenus/priceOptions.py:54\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:85\nmsgid \"Implants && Boosters\"\nmsgstr \"インプラント&ブースター\"\n\n#: gui/propertyEditor.py:38\nmsgid \"Import\"\nmsgstr \"インポート\"\n\n#: gui/mainFrame.py:946\nmsgid \"Import Error\"\nmsgstr \"インポートエラー\"\n\n#: gui/characterEditor.py:442\nmsgid \"Import Skills\"\nmsgstr \"スキルのインポート\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"Import a fit from the clipboard\"\nmsgstr \"クリップボードからフィットをエクスポート\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"Import characters into pyfa from file\"\nmsgstr \"ファイルから pyfaにキャラクターをインポート\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"Import fittings into pyfa\"\nmsgstr \"Pyfaにフィットをインポート\"\n\n#: gui/setEditor.py:148\nmsgid \"Import implant sets from clipboard\"\nmsgstr \"クリップボードからインプラントセットをインポート\"\n\n#: gui/propertyEditor.py:38 gui/propertyEditor.py:39\nmsgid \"Import overrides\"\nmsgstr \"オーバーライドをインポート\"\n\n#: gui/patternEditor.py:171\nmsgid \"Import patterns from clipboard\"\nmsgstr \"クリップボードからパターンをインポート\"\n\n#: gui/targetProfileEditor.py:221\nmsgid \"Import profiles from clipboard\"\nmsgstr \"クリップボードからプロファイルをインポート\"\n\n#: gui/propertyEditor.py:107\nmsgid \"Import pyfa override file\"\nmsgstr \"Pyfaのオーバーライドファイルをインポート\"\n\n#: gui/characterEditor.py:372\nmsgid \"Import skills from clipboard\"\nmsgstr \"クリップボードからスキルをエクスポート\"\n\n#: gui/esiFittings.py:64\nmsgid \"Import to pyfa\"\nmsgstr \"Pyfaにインポート\"\n\n#: gui/mainFrame.py:1019\nmsgid \"Importing Character...\"\nmsgstr \"キャラクターをインポート中...\"\n\n#: gui/mainFrame.py:844\nmsgid \"Importing fits\"\nmsgstr \"フィットをインポート中\"\n\n#: gui/characterEditor.py:440\nmsgid \"Importing skills into this character will set the skill levels as pending. To save the skills permanently, please click the Save button at the bottom of the window after importing\"\nmsgstr \"このキャラクターにスキルをインポートすると、スキルレベルが保留になります。 スキルを永久に保存するには、インポート後にウィンドウの下部にある保存ボタンをクリックしてください\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Include formatting tags to paste fit directly into corp bulletins, MOTD, etc.\"\nmsgstr \"フォーマットタグを含めてフィットをコープ掲示板、MOTD（Message Of The Day）、その他に貼り付ける\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:115\nmsgid \"Incoming damage pattern\"\nmsgstr \"受け取るダメージパターン\"\n\n#: gui/targetProfileEditor.py:50\nmsgid \"Incorrect formatting (decimals only)\"\nmsgstr \"フォーマットが正しくありません (小数点のみ)\"\n\n#: gui/targetProfileEditor.py:52\nmsgid \"Incorrect range (must be 0-100)\"\nmsgstr \"範囲が正しくありません(0-100でなければなりません)\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:121\nmsgid \"Industrial ship hold\"\nmsgstr \"工業用艦艇ホールド\"\n\n#: graphs/data/fitMobility/graph.py:46\nmsgid \"Inertia Modifier attribute value of the target ship\"\nmsgstr \"ターゲットの艦艇の慣性修正乗数\"\n\n#: eos/saveddata/damagePattern.py:87\nmsgid \"Inferno\"\nmsgstr \"焦熱地獄\"\n\n#: eos/saveddata/damagePattern.py:47\nmsgid \"Infrared\"\nmsgstr \"赤外線\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Interceptor\"\nmsgstr \"インターセプター\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:65\nmsgid \"Interested in helping with translations?\"\nmsgstr \"翻訳のヘルプに興味がありますか？\"\n\n#: gui/mainFrame.py:892\nmsgid \"Invalid Path\"\nmsgstr \"無効なパス\"\n\n#: gui/esiFittings.py:232\nmsgid \"Invalid Token\"\nmsgstr \"無効なトークン\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:94 eos/saveddata/targetProfile.py:95\n#: eos/saveddata/targetProfile.py:96 eos/saveddata/targetProfile.py:97\n#: eos/saveddata/targetProfile.py:98 eos/saveddata/targetProfile.py:230\n#: eos/saveddata/targetProfile.py:231 eos/saveddata/targetProfile.py:232\nmsgid \"Invasion\"\nmsgstr \"侵攻\"\n\n#: eos/saveddata/damagePattern.py:66\nmsgid \"Iridium\"\nmsgstr \"イリジウム\"\n\n#: eos/saveddata/damagePattern.py:64\nmsgid \"Iron\"\nmsgstr \"鉄\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:147\n#: gui/builtinContextMenus/itemRemove.py:43\n#: gui/builtinContextMenus/itemStats.py:38\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Item\"\nmsgstr \"アイテム\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:112\nmsgid \"Item Market Group Jump\"\nmsgstr \"アイテムマーケットグループジャンプ\"\n\n#: gui/itemStats.py:58\nmsgid \"Item stats\"\nmsgstr \"アイテムの統計\"\n\n#: eos/saveddata/damagePattern.py:118 eos/saveddata/targetProfile.py:88\nmsgid \"Jaguar\"\nmsgstr \"ジャガー\"\n\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/targetProfile.py:76\nmsgid \"Khanid\"\nmsgstr \"クーニッド\"\n\n#: eos/saveddata/damagePattern.py:41\n#: gui/builtinContextMenus/moduleAmmoChange.py:27\nmsgid \"Kinetic\"\nmsgstr \"貫通\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:87\n#: gui/targetProfileEditor.py:121\nmsgid \"Kinetic resistance\"\nmsgstr \"貫通耐性\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Ladar\"\nmsgstr \"レーダー\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:38\nmsgid \"Language (requires restart)\"\nmsgstr \"言語設定(要再起動)\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:120\nmsgid \"Large ship hold\"\nmsgstr \"大型艦艇ホールド\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:77\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Lasts \"\nmsgstr \"続く \"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:112\nmsgid \"Launcher hardpoints\"\nmsgstr \"ランチャーハードポイント\"\n\n#: eos/saveddata/damagePattern.py:67\nmsgid \"Lead\"\nmsgstr \"リード\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:94\n#: gui/builtinContextMenus/moduleAmmoChange.py:112\nmsgid \"Less Damage\"\nmsgstr \"ダメージ軽減\"\n\n#: gui/characterEditor.py:343\nmsgid \"Level\"\nmsgstr \"レベル\"\n\n#: gui/builtinContextMenus/skillAffectors.py:79\n#, python-format\nmsgid \"Level %s\"\nmsgstr \"レベル %s\"\n\n#: gui/builtinItemStatsViews/itemDependants.py:46 gui/characterEditor.py:591\n#: gui/characterEditor.py:616 gui/characterEditor.py:649\nmsgid \"Level {}\"\nmsgstr \"レベル {}\"\n\n#: gui/characterEditor.py:532\nmsgid \"Level {}d\"\nmsgstr \"レベル {}d\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Light\"\nmsgstr \"ライト\"\n\n#: service/market.py:266\nmsgid \"Limited Issue Ships\"\nmsgstr \"限定艦艇\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Loaded Charges\"\nmsgstr \"ロードされたチャージ\"\n\n#: gui/mainFrame.py:271\nmsgid \"Loading previous fits...\"\nmsgstr \"以前のフィットを読み込んでいます...\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Local Server\"\nmsgstr \"ローカルサーバ\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:205\nmsgid \"Localized\"\nmsgstr \"ローカライズ\"\n\n#: graphs/data/fitLockTime/graph.py:34\nmsgid \"Lock Time\"\nmsgstr \"ロックオン時間\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:201\nmsgid \"Lock Times\"\nmsgstr \"ロックオン時間\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Lock range reduction\"\nmsgstr \"ロック範囲の減少\"\n\n#: graphs/data/fitLockTime/graph.py:36\nmsgid \"Lock time\"\nmsgstr \"ロックオン時間\"\n\n#: gui/characterEditor.py:794\nmsgid \"Log In with EVE SSO\"\nmsgstr \"EVE SSOでログイン\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:38\nmsgid \"Log file location:\"\nmsgstr \"ログファイルの保存場所\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:19\nmsgid \"Logging\"\nmsgstr \"ロギング\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:38\nmsgid \"Login Authentication Method\"\nmsgstr \"認証方法\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:82\nmsgid \"Long Range\"\nmsgstr \"長距離\"\n\n#: gui/builtinViewColumns/baseName.py:61\nmsgid \"Low\"\nmsgstr \"低い\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:20\nmsgid \"Low Security\"\nmsgstr \"ローセキュリティ\"\n\n#: graphs/style.py:56\nmsgid \"Magenta\"\nmsgstr \"マゼンタ\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Magnetometric\"\nmsgstr \"磁気測定\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:114\nmsgid \"Maintenance bay\"\nmsgstr \"メンテナンスベイ\"\n\n#: gui/mainFrame.py:671\nmsgid \"Manage Characters\"\nmsgstr \"キャラクター管理\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Manual\"\nmsgstr \"手動\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Manual proxy settings\"\nmsgstr \"手動でプロキシ設定\"\n\n#: gui/mainFrame.py:180\nmsgid \"Market\"\nmsgstr \"マーケット\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:23\nmsgid \"Market & Prices\"\nmsgstr \"市場価格\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:30\nmsgid \"Market && Prices\"\nmsgstr \"市場価格\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:99\nmsgid \"Market Group Selection\"\nmsgstr \"マーケットグループの選択\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:91\nmsgid \"Market Search && Recent Items\"\nmsgstr \"マーケット検索&&最近の商品\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:39\nmsgid \"Market Search Delay (ms):\"\nmsgstr \"マーケット検索の遅延 (ミリ秒):\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:225\nmsgid \"Mass:\\t{:,.0f}kg\"\nmsgstr \"質量:\\t{:,.0f}kg\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:124\nmsgid \"Material bay\"\nmsgstr \"マテリアルベイ\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:208\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:241\n#, python-format\nmsgid \"Max Warp Distance: %.1f AU\"\nmsgstr \"最大ワープ距離: %.1f AU\"\n\n#: gui/targetProfileEditor.py:124\nmsgid \"Maximum speed\"\nmsgstr \"最高速度\"\n\n#: gui/builtinViewColumns/baseName.py:60\nmsgid \"Med\"\nmsgstr \"中スロット\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:119\nmsgid \"Medium ship hold\"\nmsgstr \"中型船ホールド\"\n\n#: eos/saveddata/damagePattern.py:58\nmsgid \"Meson\"\nmsgstr \"中間子\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:105\nmsgid \"Metaliminal Storm\"\nmsgstr \"金属嵐\"\n\n#: eos/saveddata/damagePattern.py:46\nmsgid \"Microwave\"\nmsgstr \"マイクロ波\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:123\nmsgid \"Mineral hold\"\nmsgstr \"ミネラルホールド\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Minimal\"\nmsgstr \"最少\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:39\nmsgid \"Mining Yield\"\nmsgstr \"採掘利率\"\n\n#: eos/saveddata/targetProfile.py:59\nmsgid \"Minmatar (Armor)\"\nmsgstr \"ミンマター(アーマー)\"\n\n#: eos/saveddata/targetProfile.py:58\nmsgid \"Minmatar (Shield)\"\nmsgstr \"ミンマター(シールド)\"\n\n#: eos/saveddata/damagePattern.py:147 eos/saveddata/damagePattern.py:148\n#: eos/saveddata/targetProfile.py:98\nmsgid \"Minmatar EDENCOM Entities\"\nmsgstr \"ミンマター EDENCOM エンティティ\"\n\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/targetProfile.py:77\nmsgid \"Minmatar Republic\"\nmsgstr \"ミンマター共和国\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\nmsgid \"Misc\"\nmsgstr \"その他\"\n\n#: gui/builtinViewColumns/misc.py:50\nmsgid \"Misc data\"\nmsgstr \"その他のデータ\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"Missile flight range reduction\"\nmsgstr \"ミサイルの後続距離減少\"\n\n#: eos/saveddata/damagePattern.py:86 eos/saveddata/damagePattern.py:87\n#: eos/saveddata/damagePattern.py:88 eos/saveddata/damagePattern.py:89\nmsgid \"Missiles\"\nmsgstr \"ミサイル\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/damagePattern.py:150\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/damagePattern.py:152\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/damagePattern.py:154\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/damagePattern.py:156\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78\nmsgid \"Mission\"\nmsgstr \"ミッション\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:28\nmsgid \"Mixed\"\nmsgstr \"混合\"\n\n#: eos/saveddata/damagePattern.py:86\nmsgid \"Mjolnir\"\nmsgstr \"ミョルニール\"\n\n#: graphs/data/fitMobility/graph.py:32\nmsgid \"Mobility\"\nmsgstr \"機動性\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:83\nmsgid \"Mode:\"\nmsgstr \"モード:\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\nmsgid \"Module\"\nmsgstr \"モジュール\"\n\n#: graphs/data/fitMobility/graph.py:37\nmsgid \"Momentum\"\nmsgstr \"惰性\"\n\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/targetProfile.py:78\nmsgid \"Mordus Legion\"\nmsgstr \"モーダス レギオン\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:97\n#: gui/builtinContextMenus/moduleAmmoChange.py:115\nmsgid \"More Damage\"\nmsgstr \"より多くのダメージ\"\n\n#: eos/saveddata/damagePattern.py:52\nmsgid \"Multifrequency\"\nmsgstr \"多周波\"\n\n#: eos/saveddata/fit.py:408\nmsgid \"Multispectral\"\nmsgstr \"マルチスペクトル\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Mutated Attributes\"\nmsgstr \"変異した属性\"\n\n#: gui/itemStats.py:170\nmsgid \"Mutations\"\nmsgstr \"突然変異\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:149\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/damagePattern.py:151\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/damagePattern.py:153\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/damagePattern.py:155\n#: eos/saveddata/damagePattern.py:156 eos/saveddata/damagePattern.py:157\n#: eos/saveddata/damagePattern.py:158 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:80 eos/saveddata/targetProfile.py:81\n#: eos/saveddata/targetProfile.py:82 eos/saveddata/targetProfile.py:83\n#: eos/saveddata/targetProfile.py:84 eos/saveddata/targetProfile.py:85\n#: eos/saveddata/targetProfile.py:86 eos/saveddata/targetProfile.py:87\n#: eos/saveddata/targetProfile.py:88 eos/saveddata/targetProfile.py:89\n#: eos/saveddata/targetProfile.py:90 eos/saveddata/targetProfile.py:91\n#: eos/saveddata/targetProfile.py:92 eos/saveddata/targetProfile.py:94\n#: eos/saveddata/targetProfile.py:95 eos/saveddata/targetProfile.py:96\n#: eos/saveddata/targetProfile.py:97 eos/saveddata/targetProfile.py:98\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\n#: eos/saveddata/targetProfile.py:230 eos/saveddata/targetProfile.py:231\n#: eos/saveddata/targetProfile.py:232\nmsgid \"NPC\"\nmsgstr \"NPC （Non Player Charator）\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:30\n#: gui/builtinViewColumns/baseName.py:55\nmsgid \"Name\"\nmsgstr \"名前\"\n\n#: gui/esiFittings.py:334\nmsgid \"Need at least one ESI character to export\"\nmsgstr \"エクスポートするには少なくとも一つのESIキャラクターが必要です\"\n\n#: gui/esiFittings.py:117\nmsgid \"Need at least one ESI character to fetch\"\nmsgstr \"取得するには少なくとも1つのESIキャラクターが必要です\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:17\nmsgid \"Network\"\nmsgstr \"ネットワーク\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:149\nmsgid \"Neutralizer resistance\"\nmsgstr \"ニュートライザへの耐性\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Neuts: cap per second\"\nmsgstr \"ニュート（ニュートラライザー）: キャップ/秒\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount ({}-{})\"\nmsgstr \"新しい金額 ({}-{})\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount:\"\nmsgstr \"新しい金額\"\n\n#: gui/builtinContextMenus/implantSetSave.py:45\nmsgid \"New Implant Set\"\nmsgstr \"新しいインプラントセット\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:51\nmsgid \"New fitting\"\nmsgstr \"新しいフィット\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:58\nmsgid \"No\"\nmsgstr \"いいえ\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:85\nmsgid \"No Profile\"\nmsgstr \"プロファイルがありません\"\n\n#: gui/characterSelection.py:230\nmsgid \"No active fit\"\nmsgstr \"有効なフィットがありません\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"No changes to meta buttons\"\nmsgstr \"メタボタンに変更はありません\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"No proxy\"\nmsgstr \"プロキシなし\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\n#: gui/characterEditor.py:855\nmsgid \"None\"\nmsgstr \"なし\"\n\n#: graphs/style.py:80\nmsgid \"Normal\"\nmsgstr \"通常\"\n\n#: eos/saveddata/damagePattern.py:131\nmsgid \"Normal Subcaps\"\nmsgstr \"標準サブキャップ\"\n\n#: gui/builtinContextMenus/skillAffectors.py:77\nmsgid \"Not Learned\"\nmsgstr \"未習得\"\n\n#: gui/characterEditor.py:399 service/character.py:322\nmsgid \"Not learned\"\nmsgstr \"未習得\"\n\n#: gui/additionsPane.py:87\nmsgid \"Notes\"\nmsgstr \"ノート\"\n\n#: eos/saveddata/damagePattern.py:89\nmsgid \"Nova\"\nmsgstr \"新星\"\n\n#: eos/saveddata/damagePattern.py:77\nmsgid \"Nuclear\"\nmsgstr \"原子力\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:21\nmsgid \"Null Security\"\nmsgstr \"ヌル セキュリティ\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Open &Dev Tools\"\nmsgstr \"開発ツールを開く\"\n\n#: gui/characterSelection.py:150\nmsgid \"Open Character Editor\"\nmsgstr \"キャラクター編集を開く\"\n\n#: gui/builtinContextMenus/fitOpenNewTab.py:37\nmsgid \"Open Fit in New Tab\"\nmsgstr \"新しいタブでフィットを開く\"\n\n#: gui/mainFrame.py:1010\nmsgid \"Open One Or More Character Files\"\nmsgstr \"1つ以上のキャラクターファイルを開く\"\n\n#: gui/mainFrame.py:834\nmsgid \"Open One Or More Fitting Files\"\nmsgstr \"1つ以上のフィットファイルを開く\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Wid&gets Inspect tool\"\nmsgstr \"ウィジェット調査画面を開く\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Widgets Inspect tool\"\nmsgstr \"ウィジェット調査画面を開く\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:136\nmsgid \"Open fittings in a new page by default\"\nmsgstr \"デフォルトでフィットを新しいページで開く\"\n\n#: gui/builtinContextMenus/shipJump.py:35\nmsgid \"Open in Fitting Browser\"\nmsgstr \"フィットブラウザで開く\"\n\n#: gui/builtinShipBrowser/fitItem.py:227\nmsgid \"Open in new tab\"\nmsgstr \"新しいタブで開く\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Optimize Prices\"\nmsgstr \"最適価格\"\n\n#: graphs/style.py:55\nmsgid \"Orange\"\nmsgstr \"オレンジ\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:122\nmsgid \"Ore hold\"\nmsgstr \"鉱石ホールド\"\n\n#: eos/saveddata/targetProfile.py:79 eos/saveddata/targetProfile.py:80\nmsgid \"Other\"\nmsgstr \"その他\"\n\n#: eos/saveddata/damagePattern.py:100 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:184\nmsgid \"Overmind\"\nmsgstr \"オーバーマインド\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:75\nmsgid \"Passive shield recharge\"\nmsgstr \"パッシブシールドリチャージ\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:125\nmsgid \"Password:\"\nmsgstr \"パスワード：\"\n\n#: gui/builtinContextMenus/additionsImport.py:40\nmsgid \"Paste {}\"\nmsgstr \"{} を貼り付け\"\n\n#: gui/patternEditor.py:295\nmsgid \"Patterns exported to clipboard\"\nmsgstr \"パターンをクリップボードにエクスポートしました\"\n\n#: gui/setEditor.py:210 gui/patternEditor.py:276\nmsgid \"Patterns successfully imported from clipboard\"\nmsgstr \"パターンをクリップボードからインポートしました\"\n\n#: eos/saveddata/damagePattern.py:82\nmsgid \"Phased Plasma\"\nmsgstr \"フェーズプラズマ弾\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:128\nmsgid \"Planetary goods hold\"\nmsgstr \"惑星製品ホールド\"\n\n#: gui/mainFrame.py:721\nmsgid \"Please Wait...\"\nmsgstr \"しばらくお待ちください...\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:32\nmsgid \"Please see the pyfa wiki on GitHub for information regarding these options.\"\nmsgstr \"これらのオプションについては、GitHubのpyfaのwikiをご覧ください。\"\n\n#: gui/esiFittings.py:315\nmsgid \"Please select an active fitting in the main window\"\nmsgstr \"メインウィンドウでアクティブなフィットを選択してください\"\n\n#: gui/characterEditor.py:758\nmsgid \"Please select another character or make a new one.\"\nmsgstr \"別のキャラクターを選択するか、新しいキャラクターを作成してください。\"\n\n#: gui/mainFrame.py:895\nmsgid \"Please verify path location pyfa's preferences.\"\nmsgstr \"Pyfaのパス設定を確認してください。\"\n\n#: gui/builtinContextMenus/graphFitAmmoPicker.py:29\nmsgid \"Plot with Different Ammo...\"\nmsgstr \"異なる弾薬を装填\"\n\n#: eos/saveddata/damagePattern.py:70\nmsgid \"Plutonium\"\nmsgstr \"プルトニウム\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Pod\"\nmsgstr \"ポッド\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:109\nmsgid \"Port:\"\nmsgstr \"ポート:\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:154\nmsgid \"PowerGrid\"\nmsgstr \"パワーグリッド\"\n\n#: gui/preferenceDialog.py:31\nmsgid \"Preferences\"\nmsgstr \"設定\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:59\nmsgid \"Pressing this button will cause all logs in memory to write to the log file:\"\nmsgstr \"このボタンを押すと、メモリ内のすべてのログがログファイルに書き込まれます:\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:155\n#: gui/builtinStatsViews/priceViewFull.py:40\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\nmsgid \"Price\"\nmsgstr \"価格\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:41\nmsgid \"Pricing updates\"\nmsgstr \"価格の更新\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:265\n#, python-format\nmsgid \"Probe Size: %.3f\"\nmsgstr \"プローブサイズ: %.3f\"\n\n#: gui/targetProfileEditor.py:372\nmsgid \"Profiles exported to clipboard\"\nmsgstr \"クリップボードにプロファイルをエクスポートしました\"\n\n#: gui/targetProfileEditor.py:352\nmsgid \"Profiles successfully imported from clipboard\"\nmsgstr \"プロファイルをクリップボードからインポートしました\"\n\n#: gui/builtinShipBrowser/fitItem.py:230\nmsgid \"Project onto Active Fit\"\nmsgstr \"アクティブフィットにプロジェクトを作成\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\nmsgid \"Project onto Fit\"\nmsgstr \"フィットにプロジェクトする\"\n\n#: gui/builtinContextMenus/itemProject.py:34\n#, python-brace-format\nmsgid \"Project {0} onto Fit\"\nmsgstr \"プロジェクト {0} をフィットに適用する\"\n\n#: gui/additionsPane.py:81\nmsgid \"Projected\"\nmsgstr \"プロジェクト\"\n\n#: gui/builtinAdditionPanes/projectedView.py:304\n#: gui/builtinAdditionPanes/projectedView.py:314\n#: gui/builtinAdditionPanes/projectedView.py:319\n#: gui/builtinAdditionPanes/projectedView.py:324\nmsgid \"Projected Item\"\nmsgstr \"計画されたアイテム\"\n\n#: eos/saveddata/damagePattern.py:74 eos/saveddata/damagePattern.py:75\n#: eos/saveddata/damagePattern.py:76 eos/saveddata/damagePattern.py:77\n#: eos/saveddata/damagePattern.py:78 eos/saveddata/damagePattern.py:79\n#: eos/saveddata/damagePattern.py:80 eos/saveddata/damagePattern.py:81\n#: eos/saveddata/damagePattern.py:82 eos/saveddata/damagePattern.py:83\n#: eos/saveddata/damagePattern.py:84 eos/saveddata/damagePattern.py:85\nmsgid \"Projectile Ammo\"\nmsgstr \"プロジェクタイル弾\"\n\n#: gui/itemStats.py:200\nmsgid \"Properties\"\nmsgstr \"プロパティ\"\n\n#: gui/builtinContextMenus/shipModeChange.py:19\nmsgid \"Propulsion\"\nmsgstr \"推進\"\n\n#: eos/saveddata/damagePattern.py:78\nmsgid \"Proton\"\nmsgstr \"陽子\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:49\nmsgid \"Proxy settings\"\nmsgstr \"プロキシ設定\"\n\n#: graphs/style.py:58\nmsgid \"Purple\"\nmsgstr \"紫\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:222\nmsgid \"PvP Weather\"\nmsgstr \"PvP模様\"\n\n#: gui/aboutData.py:49\nmsgid \"Pyfa (the Python Fitting Assistant) is an open-source standalone application able to create and simulate fittings for EVE-Online SciFi MMORPG with a very high degree of accuracy. Pyfa can run on all platforms where Python and wxWidgets are supported.\"\nmsgstr \"Pyfa(Python Fitting Assistant) は、非常に高精度でEVE-Online SciFi（Science Fiction）MMORPG用のフィットを作成・シミュレーションできるオープンソースのスタンドアロンアプリケーションです。 PyfaはPythonとwxWidgetがサポートされているすべてのプラットフォームで動作します。\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:44\nmsgid \"Pyfa Update checks\"\nmsgstr \"Pyfaアップデートのチェック\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:15\nmsgid \"Pyfa can automatically check and notify you of new releases. This feature is toggled in the Network settings. Here, you may allow pre-release notifications and view suppressed release notifications, if any.\"\nmsgstr \"Pyfaは自動的に新しいリリースを確認し、通知します。この機能はネットワーク設定で変更できます。 同じように、プレリリース通知を許可したり、リリース通知を抑制することもできます。\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:69\nmsgid \"Pyfa language selection disabled. Please check if .mo files have been generated.\\n\"\n\"Refer to locale/README.md for info.\"\nmsgstr \"言語の選択が無効です。.moファイルが生成されているかどうかを確認してください。\\n\"\n\"詳しくはlocale/README.mdを参照してください。\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:129\nmsgid \"Quafe hold\"\nmsgstr \"クァフェホールド\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of active items\"\nmsgstr \"アクティブなアイテムの数量\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of all items\"\nmsgstr \"すべてのアイテムの数量\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Radar\"\nmsgstr \"レーダー\"\n\n#: eos/saveddata/damagePattern.py:45\nmsgid \"Radio\"\nmsgstr \"ラジオ\"\n\n#: gui/targetProfileEditor.py:126\nmsgid \"Radius\"\nmsgstr \"半径\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:54\nmsgid \"Random stats\"\nmsgstr \"ランダムなステータス\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:63\nmsgid \"Range\"\nmsgstr \"射程範囲\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:222\nmsgid \"Raw HP: \"\nmsgstr \"元HP: \"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:223\n#, python-format\nmsgid \"Raw: %d HP\"\nmsgstr \"元: %d HP\"\n\n#: gui/mainFrame.py:652\nmsgid \"Re-enabling fitting restrictions for this fit will also remove any illegal items from the fit. Do you want to continue?\"\nmsgstr \"このフィット制限を再有効にすると、不正なアイテムもフィットから削除されます。続行しますか？\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:56\n#: gui/builtinShipBrowser/navigationPanel.py:129\nmsgid \"Recent Fits\"\nmsgstr \"最近のフィット\"\n\n#: gui/builtinMarketBrowser/marketTree.py:37\nmsgid \"Recently Used Items\"\nmsgstr \"最近使用したアイテム\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:43\nmsgid \"Recharge rates\"\nmsgstr \"リチャージ率\"\n\n#: graphs/style.py:52\nmsgid \"Red\"\nmsgstr \"赤\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"Redo the most recent undone action\"\nmsgstr \"直前の動作をやり直す\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:62\n#: gui/builtinItemStatsViews/itemAffectedBy.py:77\n#: gui/builtinItemStatsViews/itemCompare.py:79\nmsgid \"Refresh\"\nmsgstr \"更新\"\n\n#: gui/characterSelection.py:68\nmsgid \"Refresh Skills\"\nmsgstr \"スキル更新\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:86\nmsgid \"Reinforced\"\nmsgstr \"補強済み\"\n\n#: graphs/data/fitRemoteReps/graph.py:62\nmsgid \"Reload ancillary RRs\"\nmsgstr \"補助RRを再読み込み\"\n\n#: graphs/data/fitRemoteReps/graph.py:48\nmsgid \"Remote Repairs\"\nmsgstr \"リモートリペア\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:65\n#: gui/builtinStatsViews/outgoingViewFull.py:66\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Remote Reps\"\nmsgstr \"リモートリペア\"\n\n#: gui/esiFittings.py:387\nmsgid \"Remove Character\"\nmsgstr \"キャラクターを削除する\"\n\n#: gui/propertyEditor.py:71\nmsgid \"Remove Overides for Item\"\nmsgstr \"アイテムのオーバーライドを削除\"\n\n#: gui/builtinContextMenus/itemRemove.py:42\n#, python-brace-format\nmsgid \"Remove {item}{stack}\"\nmsgstr \"{item}{stack} を削除\"\n\n#: gui/builtinShipBrowser/fitItem.py:108\nmsgid \"Rename\"\nmsgstr \"名前を変更\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:118\nmsgid \"Reopen previous fits on startup\"\nmsgstr \"起動時に以前のFITを再開する\"\n\n#: graphs/data/fitRemoteReps/graph.py:53\nmsgid \"Repair speed\"\nmsgstr \"修復速度\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Replace items by cheaper alternatives\"\nmsgstr \"より安い価格のアイテムで交換する\"\n\n#: gui/itemStats.py:185\nmsgid \"Requirements\"\nmsgstr \"必要条件\"\n\n#: gui/builtinContextMenus/moduleSpool.py:98\nmsgid \"Reset\"\nmsgstr \"リセット\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:76\nmsgid \"Reset Suppression\"\nmsgstr \"ノイズ抑制\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:51\nmsgid \"Reset defaults\"\nmsgstr \"デフォルトにリセット\"\n\n#: gui/builtinContextMenus/resistMode.py:41\nmsgid \"Resist Mode\"\nmsgstr \"レジストモード\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:213\nmsgid \"Resist Multiplier: \"\nmsgstr \"レジスト倍率: \"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:47\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\nmsgid \"Resistances\"\nmsgstr \"レジスタンス\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:84\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\nmsgid \"Resources\"\nmsgstr \"リソース\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:57\nmsgid \"Revert changes\"\nmsgstr \"変更を元に戻す\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Revert to {}\"\nmsgstr \"{} に復元\"\n\n#: gui/builtinViewColumns/baseName.py:63\nmsgid \"Rig\"\nmsgstr \"リグ\"\n\n#: eos/saveddata/damagePattern.py:108 eos/saveddata/damagePattern.py:126\nmsgid \"Rogue Drone\"\nmsgstr \"ローグ・ドローン\"\n\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/targetProfile.py:231\nmsgid \"Rogue Drone Entities\"\nmsgstr \"ローグ・ドローンエンティティ\"\n\n#: eos/saveddata/targetProfile.py:63 eos/saveddata/targetProfile.py:69\nmsgid \"Rogue Drones\"\nmsgstr \"ローグ・ドローン\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:34\nmsgid \"Run Time\"\nmsgstr \"実行時間\"\n\n#: gui/esiFittings.py:368\nmsgid \"SSO Character Management\"\nmsgstr \"SSO キャラクター管理\"\n\n#: gui/ssoLogin.py:15 gui/ssoLogin.py:49\nmsgid \"SSO Login\"\nmsgstr \"SSO ログイン\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:45\nmsgid \"SSO Mode\"\nmsgstr \"SSO モード\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:126\nmsgid \"Salvage hold\"\nmsgstr \"サルベージホールド\"\n\n#: locale_test/getTextLocale.py:4\nmsgid \"Sample Title Text English\"\nmsgstr \"サンプルタイトルテキスト英語\"\n\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/targetProfile.py:192\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:198\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:204\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:210\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:216\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:222\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:228\nmsgid \"Sansha\"\nmsgstr \"サンシャ国\"\n\n#: eos/saveddata/damagePattern.py:157 eos/saveddata/targetProfile.py:80\n#: gui/builtinContextMenus/envEffectAdd.py:124\nmsgid \"Sansha Incursion\"\nmsgstr \"サンシャインカージョン（サンシャ侵攻）\"\n\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:127\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:70\nmsgid \"Sanshas Nation\"\nmsgstr \"サンシャ国\"\n\n#: gui/mainFrame.py:858\nmsgid \"Save Backup As...\"\nmsgstr \"バックアップを名前を付けて保存...\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:117\nmsgid \"Save CSV file\"\nmsgstr \"CSVファイルを保存\"\n\n#: gui/mainMenuBar.py:114\nmsgid \"Save Character &As...\"\nmsgstr \"名前を付けてキャラクターを保存...\"\n\n#: gui/characterEditor.py:282\nmsgid \"Save Character As...\"\nmsgstr \"名前を付けてキャラクターを保存...\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:48\n#: gui/mainFrame.py:465\nmsgid \"Save Fitting As...\"\nmsgstr \"名前を付けてフィットを保存...\"\n\n#: gui/propertyEditor.py:130\nmsgid \"Save Overrides As...\"\nmsgstr \"上書き保存...\"\n\n#: gui/builtinContextMenus/implantSetSave.py:27\nmsgid \"Save as New Implant Set\"\nmsgstr \"新規インプラントセットとして保存\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:64\nmsgid \"Scan res.\"\nmsgstr \"スキャン解像度\"\n\n#: eos/saveddata/damagePattern.py:91\nmsgid \"Scorch Bomb\"\nmsgstr \"スコーチボム\"\n\n#: eos/saveddata/damagePattern.py:88\nmsgid \"Scourge\"\nmsgstr \"スコージ\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:61\nmsgid \"Search fittings\"\nmsgstr \"フィットを検索\"\n\n#: gui/characterEditor.py:356\n#, python-brace-format\nmsgid \"Sec Status: {0:.2f}\"\nmsgstr \"セキュリティステータス: {0:.2f}\"\n\n#: gui/characterEditor.py:914\nmsgid \"Security Status is used in some CONCORD hull calculations\"\nmsgstr \"セキュリティステータスはCONCORD船体の計算で使用されています\"\n\n#: eos/saveddata/damagePattern.py:102 eos/saveddata/targetProfile.py:101\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:115\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:129\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:143\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:157\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:171\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:185\nmsgid \"Seeker\"\nmsgstr \"シーカー（探索者）\"\n\n#: gui/copySelectDialog.py:62\nmsgid \"Select a format\"\nmsgstr \"フォーマットを選択\"\n\n#: gui/esiFittings.py:318\nmsgid \"Sending request and awaiting response\"\nmsgstr \"リクエストを送信し、応答を待っています\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:65\nmsgid \"Sensor str.\"\nmsgstr \"センサー強度\"\n\n#: eos/saveddata/damagePattern.py:122 eos/saveddata/targetProfile.py:92\nmsgid \"Sentinel\"\nmsgstr \"センチネル（衛兵）\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:122\nmsgid \"Separate Racks\"\nmsgstr \"別々のラック\"\n\n#: eos/saveddata/damagePattern.py:110 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:65 eos/saveddata/targetProfile.py:71\nmsgid \"Serpentis\"\nmsgstr \"サーペンティス\"\n\n#: gui/builtinViewColumns/baseName.py:64\nmsgid \"Service\"\nmsgstr \"サービス\"\n\n#: gui/characterEditor.py:907\nmsgid \"Set Security Status\"\nmsgstr \"セキュリティ ステータスをセット\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\nmsgid \"Set as Damage Pattern\"\nmsgstr \"ダメージパターンとして設定\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:53\nmsgid \"Set export destination\"\nmsgstr \"エクスポート先を設定\"\n\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Set {} as Damage Pattern\"\nmsgstr \"ダメージパターンとして {} を設定する\"\n\n#: gui/setEditor.py:229\nmsgid \"Sets exported to clipboard\"\nmsgstr \"クリップボードにコピーしました\"\n\n#: gui/characterEditor.py:326\nmsgid \"Setting an Alpha clone does not replace the character's skills, but rather caps them to Alpha levels.\"\nmsgstr \"アルファ クローンを設定しても、キャラクターのスキルは置き換えられませんが、アルファ レベルに制限されます。\"\n\n#: gui/builtinContextMenus/shipModeChange.py:20\nmsgid \"Sharpshooter\"\nmsgstr \"狙撃技術\"\n\n#: eos/saveddata/targetProfile.py:46\nmsgid \"Shield\"\nmsgstr \"シールド\"\n\n#: eos/saveddata/targetProfile.py:49\nmsgid \"Shield (+T2 DCU)\"\nmsgstr \"シールド (+T2 DCU)\"\n\n#: graphs/data/fitShieldRegen/graph.py:38\nmsgid \"Shield Regeneration\"\nmsgstr \"シールド再生\"\n\n#: graphs/data/fitShieldRegen/graph.py:42\n#: graphs/data/fitShieldRegen/graph.py:55\n#: graphs/data/fitShieldRegen/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:61\nmsgid \"Shield amount\"\nmsgstr \"シールド容量\"\n\n#: graphs/data/fitShieldRegen/graph.py:62\nmsgid \"Shield regen\"\nmsgstr \"シールド再生\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:112\nmsgid \"Shield resistance\"\nmsgstr \"シールドレジスタンス\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:37\n#: gui/builtinStatsViews/outgoingViewFull.py:38\nmsgid \"Shield restored\"\nmsgstr \"シールドを復元\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\nmsgid \"Shield/Armor Tank\"\nmsgstr \"シールド/アーマータンク\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Shield: \"\nmsgstr \"シールド: \"\n\n#: gui/builtinViews/fittingView.py:664\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57\nmsgid \"Ship\"\nmsgstr \"艦艇\"\n\n#: gui/builtinShipBrowser/shipItem.py:111\nmsgid \"Ship Basic\"\nmsgstr \"基本艦艇\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:48\nmsgid \"Ship groups\"\nmsgstr \"艦艇グループ\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:117\nmsgid \"Ship hold\"\nmsgstr \"艦艇ホールド\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:100\nmsgid \"Short Range\"\nmsgstr \"短距離\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:126\nmsgid \"Show Rack Labels\"\nmsgstr \"ラックラベル（棚名）を表示\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:151\nmsgid \"Show empty ship groups\"\nmsgstr \"空の艦艇グループを表示\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:130\nmsgid \"Show fitting tab tooltips\"\nmsgstr \"フィットタブのツールチップを表示\"\n\n#: graphs/gui/ctrlPanel.py:71\nmsgid \"Show legend\"\nmsgstr \"凡例を表示\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:52\nmsgid \"Show market shortcuts\"\nmsgstr \"マーケットショートカットを表示\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:140\nmsgid \"Show ship browser tooltip\"\nmsgstr \"艦艇ブラウザのツールチップを表示\"\n\n#: eos/saveddata/damagePattern.py:93\nmsgid \"Shrapnel Bomb\"\nmsgstr \"榴散ボム\"\n\n#: gui/builtinContextMenus/boosterSideEffects.py:34\nmsgid \"Side Effects\"\nmsgstr \"サイドエフェクト\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:88\nmsgid \"Signature\"\nmsgstr \"シグネチャ\"\n\n#: gui/targetProfileEditor.py:125\nmsgid \"Signature radius\\n\"\n\"Leave blank for infinitely big value\"\nmsgstr \"シグネチャ半径\\n\"\n\"空白にすると無限に大きな値になります\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"Signature radius increase\"\nmsgstr \"シグネチャ半径増加\"\n\n#: gui/aboutData.py:33\nmsgid \"Silk Icons Set by famfamfam.com - Creative Commons Attribution 2.5 License\"\nmsgstr \"Famfamfam.comによるシルクアイコンセット - Creative Commons Attribution 2.5 License\"\n\n#: gui/characterEditor.py:342 gui/characterEditor.py:608\nmsgid \"Skill\"\nmsgstr \"スキル\"\n\n#: gui/characterEditor.py:160\nmsgid \"Skills\"\nmsgstr \"スキル\"\n\n#: gui/characterSelection.py:242\nmsgid \"Skills required:\"\nmsgstr \"必要なスキル:\"\n\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:104 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:118 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:132 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:146 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:160 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:174 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:188\nmsgid \"Sleeper\"\nmsgstr \"スリーパー\"\n\n#: eos/saveddata/damagePattern.py:161 eos/saveddata/targetProfile.py:232\nmsgid \"Sleeper Entities\"\nmsgstr \"スリーパーエンティティ\"\n\n#: eos/saveddata/damagePattern.py:158\nmsgid \"Sleepers\"\nmsgstr \"スリーパー\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:118\nmsgid \"Small ship hold\"\nmsgstr \"小型艦艇ホールド\"\n\n#: graphs/style.py:86\nmsgid \"Solid\"\nmsgstr \"ソリッド\"\n\n#: graphs/data/fitMobility/graph.py:35\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:86\nmsgid \"Speed\"\nmsgstr \"速度\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Speed reduction\"\nmsgstr \"速度減少\"\n\n#: gui/builtinContextMenus/droneSplitStack.py:29\nmsgid \"Split {} Stack\"\nmsgstr \"{} のスタックを分割\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:169\nmsgid \"Spool up\"\nmsgstr \"待機時間\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\nmsgid \"Spoolup\"\nmsgstr \"待機\"\n\n#: gui/builtinContextMenus/moduleSpool.py:37\nmsgid \"Spoolup Cycles\"\nmsgstr \"待機サイクル\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Stable: \"\nmsgstr \"安定: \"\n\n#: eos/saveddata/damagePattern.py:48\nmsgid \"Standard\"\nmsgstr \"標準\"\n\n#: graphs/data/fitCapacitor/graph.py:46\nmsgid \"Starting cap amount\"\nmsgstr \"開始上限額\"\n\n#: graphs/data/fitShieldRegen/graph.py:46\nmsgid \"Starting shield amount\"\nmsgstr \"シールド開始量\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:22\nmsgid \"Statistics Panel\"\nmsgstr \"状態パネル\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:45\nmsgid \"Stick to Attacker\"\nmsgstr \"攻撃者に近づく\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:44\nmsgid \"Stick to Target\"\nmsgstr \"ターゲットに近づく\"\n\n#: eos/saveddata/damagePattern.py:145 eos/saveddata/damagePattern.py:148\nmsgid \"Subcaps\"\nmsgstr \"サブキャップ\"\n\n#: eos/saveddata/damagePattern.py:136\n#, no-python-format\nmsgid \"Subcaps w/missiles 0% spool up\"\nmsgstr \"サブキャップ/ミサイル0%の待機時間\"\n\n#: eos/saveddata/damagePattern.py:142\n#, no-python-format\nmsgid \"Subcaps w/missiles 100% spool up\"\nmsgstr \"サブキャップ/ミサイル1000%の待機時間\"\n\n#: eos/saveddata/damagePattern.py:139\n#, no-python-format\nmsgid \"Subcaps w/missiles 50% spool up\"\nmsgstr \"サブキャップ/ミサイル50%の待機時間\"\n\n#: gui/builtinViewColumns/baseName.py:62\nmsgid \"Subsystem\"\nmsgstr \"サブシステム\"\n\n#: gui/characterEditor.py:901\nmsgid \"Success\"\nmsgstr \"成功\"\n\n#: gui/characterEditor.py:901\nmsgid \"Successfully fetched skills\"\nmsgstr \"スキルの取得に成功しました\"\n\n#: eos/saveddata/damagePattern.py:114 eos/saveddata/targetProfile.py:84\nmsgid \"Succubus (Sanshas Nation)\"\nmsgstr \"サキュバス (サンシャ国)\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Support\"\nmsgstr \"サポート\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:48\n#, python-brace-format\nmsgid \"Suppressing {0} Notifications\"\nmsgstr \"{0} 通知を抑制する\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:87\nmsgid \"Sustained\"\nmsgstr \"永続化\"\n\n#: eos/saveddata/targetProfile.py:46 eos/saveddata/targetProfile.py:47\n#: eos/saveddata/targetProfile.py:48 eos/saveddata/targetProfile.py:49\n#: eos/saveddata/targetProfile.py:50 eos/saveddata/targetProfile.py:51\nmsgid \"T1 Resist\"\nmsgstr \"T1レジスト\"\n\n#: eos/saveddata/targetProfile.py:52 eos/saveddata/targetProfile.py:53\n#: eos/saveddata/targetProfile.py:54 eos/saveddata/targetProfile.py:55\n#: eos/saveddata/targetProfile.py:56 eos/saveddata/targetProfile.py:57\n#: eos/saveddata/targetProfile.py:58 eos/saveddata/targetProfile.py:59\nmsgid \"T2 Resist\"\nmsgstr \"T2レジスト\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"TDs: turret optimal range reduction\"\nmsgstr \"タレット最適射程減少\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"TPs: signature radius increase\"\nmsgstr \"シグネチャ半径増加\"\n\n#: gui/builtinViews/fittingView.py:660 gui/builtinViewColumns/baseName.py:102\n#: gui/builtinContextMenus/shipModeChange.py:37\nmsgid \"Tactical Mode\"\nmsgstr \"戦術モード\"\n\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/targetProfile.py:91\nmsgid \"Talos\"\nmsgstr \"タロス\"\n\n#: graphs/data/fitDamageStats/graph.py:75 graphs/gui/lists.py:359\nmsgid \"Target\"\nmsgstr \"ターゲット\"\n\n#: gui/targetProfileEditor.py:86\nmsgid \"Target Profile\"\nmsgstr \"ターゲットプロファイル\"\n\n#: gui/targetProfileEditor.py:130\nmsgid \"Target Profile Editor\"\nmsgstr \"ターゲットプロファイルエディター\"\n\n#: gui/targetProfileEditor.py:73\nmsgid \"Target Profile name already in use, please choose another.\"\nmsgstr \"ダメージプロファイル名は既に使われています。別の名前を指定してください。\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:33\nmsgid \"Target Resists\"\nmsgstr \"ターゲットレジスト\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Target distance traveled\"\nmsgstr \"ターゲットとの距離\"\n\n#: graphs/data/fitMobility/graph.py:45\nmsgid \"Target inertia factor\"\nmsgstr \"ターゲット慣性係数\"\n\n#: graphs/data/fitMobility/graph.py:43\nmsgid \"Target mass\"\nmsgstr \"ターゲット質量\"\n\n#: graphs/data/fitEwarStats/graph.py:45\nmsgid \"Target resistance\"\nmsgstr \"ターゲットレジスト\"\n\n#: graphs/data/fitLockTime/graph.py:37 graphs/data/fitDamageStats/graph.py:71\nmsgid \"Target signature\"\nmsgstr \"ターゲットシグネチャ\"\n\n#: graphs/data/fitLockTime/graph.py:35 graphs/data/fitDamageStats/graph.py:62\n#: graphs/data/fitDamageStats/graph.py:63\nmsgid \"Target signature radius\"\nmsgstr \"ターゲットシグネチャ半径\"\n\n#: graphs/data/fitMobility/graph.py:38 graphs/data/fitDamageStats/graph.py:60\n#: graphs/data/fitDamageStats/graph.py:61\n#: graphs/data/fitDamageStats/graph.py:70\nmsgid \"Target speed\"\nmsgstr \"ターゲット速度\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:40\nmsgid \"Targeting && Misc\"\nmsgstr \"ターゲット設定\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:62\nmsgid \"Targets\"\nmsgstr \"ターゲット\"\n\n#: eos/saveddata/damagePattern.py:60\nmsgid \"Tetryon\"\nmsgstr \"テトリオン\"\n\n#: gui/mainFrame.py:809\nmsgid \"Text skills training file\"\nmsgstr \"テキストスキルのトレーニングファイル\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:72\nmsgid \"The amount of spoolup to use by default on module which support it. Can be changed on a per-module basis\"\nmsgstr \"モジュールでデフォルトで使用するスプールアップ量。モジュールごとに変更できます。\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:44\nmsgid \"The delay between a keystroke and the market search. Can help reduce lag when typing fast in the market search box.\"\nmsgstr \"キー入力とマーケット検索の間には遅延があります。マーケット検索ボックスを使う事で遅延を軽減できます。\"\n\n#: gui/mainFrame.py:949\nmsgid \"The following error was generated\"\nmsgstr \"次のエラーが発生しました：\"\n\n#: gui/mainFrame.py:893\nmsgid \"The following path is invalid or does not exist:\"\nmsgstr \"次のパスが無効または存在しません：\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:64\nmsgid \"The source you choose will be tried first, but subsequent sources will be used if the preferred source fails. The system you choose will also be tried first, and if no data is available, global price will be used.\"\nmsgstr \"選択したソースが最初に試行されますが、優先ソースが失敗した場合は後続のソースが使用されます。 選択したシステムも最初に試され、利用可能なデータがない場合はグローバル価格が使用されます。\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:53\nmsgid \"There is a release available which you have chosen to suppress. You can choose to reset notification suppression for this release, or download the new release from GitHub.\"\nmsgstr \"あなたが抑制することを選択した通知があります。 通知抑制をリセットするか、GitHub から新しいリリースをダウンロードする事で改善できます。\"\n\n#: gui/characterEditor.py:463\nmsgid \"There was an error importing skills, please see log file\"\nmsgstr \"スキルのインポートでエラーが発生しました。ログファイルを参照してください。\"\n\n#: gui/esiFittings.py:230\nmsgid \"There was an error validating characters' SSO token. Please try logging into the character again to reset the token.\"\nmsgstr \"キャラクターの SSO トークンの検証中にエラーが発生しました。再ログインしトークンをリセットしてください。\"\n\n#: gui/esiFittings.py:213\nmsgid \"There was an issue starting up the localized server, try setting Login Authentication Method to Manual by going to Preferences -> EVE SS0 -> Login Authentication Method. If this doesn't fix the problem please file an issue on Github.\"\nmsgstr \"ローカWEBサーバーを起動できませんでした。 「環境設定」→「EVE SS0」→「ログイン認証方法」から「ログイン認証方法」を選択して、ログイン認証方法を手動に設定してください。 問題を解決できない場合は、Github で報告してください\"\n\n#: eos/saveddata/damagePattern.py:40\n#: gui/builtinContextMenus/moduleAmmoChange.py:25\nmsgid \"Thermal\"\nmsgstr \"熱\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:86\n#: gui/targetProfileEditor.py:120\nmsgid \"Thermal resistance\"\nmsgstr \"熱レジスタンス\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:107\nmsgid \"This is a destructive action that will delete all cached prices out of the database.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"キャッシュされたすべての価格を削除します。\\n\"\n\"本当に実行しますか？\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:97\nmsgid \"This is a destructive action that will delete all damage pattern profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"全てのダメージパターンプロファイルを削除します。\\n\"\n\"本当に実行しますか？\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:102\nmsgid \"This is a destructive action that will delete all target profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"全てのターゲットプロファイルを削除します。\\n\"\n\"本当に実行しますか？\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:49\nmsgid \"This option goes through EVE SSO directly, but requires more configuration. Use this if pyfa.io is blocked for some reason, or if you do not wish to route data throguh pyfa.io.\"\nmsgstr \"このオプションは EVE SSO を使用しますが、設定が必要です。 何らかの理由でネットワークがブロックされているか、pyfa.ioへの通信が遮断されています。\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:42\nmsgid \"This option prompts users to copy and paste information from the web application to allow for character login. Use this if having issues with the local server.\"\nmsgstr \"このオプションは、ログインを許可するためにWebサイトからコピー＆ペーストします。 ローカルサーバーに問題がある場合に使用します。\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:47\nmsgid \"This options routes SSO Logins through pyfa.io, allowing you to easily login without any configuration. When in doubt, use this option.\"\nmsgstr \"このオプションは、EVE SSOに対し簡略化されたログインを実行します。不明な場合はこのオプションを使用してください。\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:40\nmsgid \"This options starts a local webserver that the web application will call back to with information about the character login.\"\nmsgstr \"このオプションは、EVE SSOにログインする場合に正規のOAuth2.0を使用し、ローカルWEBサーバへのコールバックを使用してログインを実行します。\"\n\n#: eos/saveddata/damagePattern.py:68\nmsgid \"Thorium\"\nmsgstr \"トリウム\"\n\n#: eos/saveddata/damagePattern.py:156\nmsgid \"Thukker\"\nmsgstr \"サッカー部族\"\n\n#: graphs/data/fitMobility/graph.py:33 graphs/data/fitMobility/graph.py:41\n#: graphs/data/fitCapacitor/graph.py:34 graphs/data/fitCapacitor/graph.py:41\n#: graphs/data/fitRemoteReps/graph.py:51 graphs/data/fitRemoteReps/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:40\n#: graphs/data/fitShieldRegen/graph.py:54\n#: graphs/data/fitDamageStats/graph.py:59\n#: graphs/data/fitDamageStats/graph.py:68\nmsgid \"Time\"\nmsgstr \"時間\"\n\n#: eos/saveddata/damagePattern.py:80\nmsgid \"Titanium Sabot\"\nmsgstr \"チタン製サボット弾\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:70\nmsgid \"Toggle Names\"\nmsgstr \"名前の切り替え\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:73\nmsgid \"Toggle View\"\nmsgstr \"表示を切り替え\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:75\nmsgid \"Toggle view mode\"\nmsgstr \"表示モードの切り替え\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/miningyieldViewFull.py:89\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Total\"\nmsgstr \"合計\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:76\nmsgid \"Total Price Includes\"\nmsgstr \"合計価格\"\n\n#: graphs/data/fitRemoteReps/graph.py:54\nmsgid \"Total repaired\"\nmsgstr \"修理合計額\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:67\nmsgid \"Total: \"\nmsgstr \"合計: \"\n\n#: gui/itemStats.py:166\nmsgid \"Traits\"\nmsgstr \"特性\"\n\n#: eos/saveddata/damagePattern.py:104 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:186\nmsgid \"Triglavian\"\nmsgstr \"トリグラヴィアン\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/targetProfile.py:94\nmsgid \"Triglavian Entities\"\nmsgstr \"トリグラヴィアンエンティティ\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:126\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Triglavian Invasion\"\nmsgstr \"トリグラヴィアンの侵略\"\n\n#: eos/saveddata/damagePattern.py:65\nmsgid \"Tungsten\"\nmsgstr \"タングステン\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:111\nmsgid \"Turret hardpoints\"\nmsgstr \"タレットハードポイント\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"Turret optimal range reduction\"\nmsgstr \"タレット最適射程減少\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:32\nmsgid \"Type\"\nmsgstr \"タイプ\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:218\n#, python-brace-format\nmsgid \"Type: {0}\\n\"\nmsgstr \"タイプ：{0}\\n\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:222\nmsgid \"Type: {}\"\nmsgstr \"タイプ: {}\"\n\n#: eos/saveddata/damagePattern.py:49\nmsgid \"Ultraviolet\"\nmsgstr \"紫外線\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"Undo the most recent action\"\nmsgstr \"直前の動作を取り消す\"\n\n#: eos/saveddata/damagePattern.py:38\nmsgid \"Uniform\"\nmsgstr \"均一\"\n\n#: eos/saveddata/targetProfile.py:42\nmsgid \"Uniform (25%)\"\nmsgstr \"均一(25%)\"\n\n#: eos/saveddata/targetProfile.py:43\nmsgid \"Uniform (50%)\"\nmsgstr \"均一(50%)\"\n\n#: eos/saveddata/targetProfile.py:44\nmsgid \"Uniform (75%)\"\nmsgstr \"均一(75%)\"\n\n#: eos/saveddata/targetProfile.py:45\nmsgid \"Uniform (90%)\"\nmsgstr \"均一(90%)\"\n\n#: gui/characterEditor.py:614\nmsgid \"Unlearn\"\nmsgstr \"学習を解除\"\n\n#: gui/updateDialog.py:54\nmsgid \"Update Available\"\nmsgstr \"アップデートが利用できます\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:14\nmsgid \"Updates\"\nmsgstr \"アップデート\"\n\n#: eos/saveddata/damagePattern.py:69\nmsgid \"Uranium\"\nmsgstr \"ウラン\"\n\n#: gui/builtinAdditionPanes/implantView.py:68\nmsgid \"Use Character Implants\"\nmsgstr \"キャラクターインプラントを使用\"\n\n#: gui/builtinAdditionPanes/implantView.py:67\nmsgid \"Use Fit-specific Implants\"\nmsgstr \"フィット固有のインプラントを使用\"\n\n#: graphs/data/fitCapacitor/graph.py:48\nmsgid \"Use capacitor simulator\"\nmsgstr \"キャパシタシュミレーターを使用\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:102\nmsgid \"Use character implants by default for new fits\"\nmsgstr \"新しいフィットにはデフォルトでキャラクターインプラントを使用\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:98\nmsgid \"Use global character\"\nmsgstr \"一般的なキャラクターを使用\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:106\nmsgid \"Use global damage pattern\"\nmsgstr \"一般的なダメージパターンを使用\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:121\nmsgid \"Username:\"\nmsgstr \"ユーザー名：\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:34\nmsgid \"Using Executable Path for Saved Fit Database and Settings\"\nmsgstr \"データベースと設定を保存するために、実行時パスを使用します\"\n\n#: gui/builtinContextMenus/itemVariationChange.py:49\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\nmsgid \"Variations\"\nmsgstr \"バリエーション\"\n\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/targetProfile.py:89\nmsgid \"Vengeance\"\nmsgstr \"復讐\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:53\nmsgid \"View Raw Data\"\nmsgstr \"生データの表示\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Volley\"\nmsgstr \"一斉射撃\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:22\nmsgid \"W-Space\"\nmsgstr \"ワームホールスペース\"\n\n#: gui/ssoLogin.py:62\nmsgid \"Waiting for character login through EVE Single Sign-On.\"\nmsgstr \"EVEシングルサインオンでを待機しています。\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:210\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:212\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:243\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:245\n#, python-format\nmsgid \"Warp Core Strength: %.1f\"\nmsgstr \"ワープコア強度: %.1f\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:89\nmsgid \"Warp Speed\"\nmsgstr \"ワープ速度\"\n\n#: graphs/data/fitWarpTime/graph.py:45\nmsgid \"Warp Time\"\nmsgstr \"ワープ時間\"\n\n#: graphs/data/fitWarpTime/graph.py:49\nmsgid \"Warp time\"\nmsgstr \"ワープ時間\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Weapon\"\nmsgstr \"武装\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Webs: speed reduction\"\nmsgstr \"ウェブ: スピードダウン\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:61\nmsgid \"When damage profile is Uniform, set Reactive Armor Hardener to match (old behavior).\"\nmsgstr \"ダメージプロファイルが均一な場合は、リアクティブアーマーハードナーを適用します\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:149\nmsgid \"When disabled, reloads charges just in selected modules. Action can be reversed by holding Ctrl or Alt key while changing charge.\"\nmsgstr \"無効にすると、選択されたモジュールだけにチャージをリロードします。チャージを変更しながら、Ctrl または Alt キーを押し続けることでアクションを元にもどすことができます。\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:54\nmsgid \"When enabled, skills will check their dependencies' requirements when their levels change and reset skills that no longer meet the requirement.\\n\"\n\"eg: Setting Drones from level V to IV will reset the Heavy Drone Operation skill, as that requires Drones V\"\nmsgstr \"有効にすると、レベルが変更されたときにスキルが依存関係の要件をチェックし、要件を満たさなくなったスキルをリセットします。\\n\"\n\"例: ドローンをレベル V から IV に設定すると、ドローン V が必要なヘビー ドローン オペレーション スキルがリセットされます。\"\n\n#: graphs/data/fitDamageStats/graph.py:69\nmsgid \"When set, uses attacker's exact damage stats at a given time\\n\"\n\"When not set, uses attacker's damage stats as shown in stats panel of main window\"\nmsgstr \"設定すると、特定の時間における攻撃者の正確なダメージ統計を使用します\\n\"\n\"設定されていない場合、メイン ウィンドウの統計パネルに表示される攻撃者のダメージ統計を使用します。\"\n\n#: graphs/data/fitRemoteReps/graph.py:57\nmsgid \"When set, uses repairing ship's exact RR stats at a given time\\n\"\n\"When not set, uses repairing ship's RR stats as shown in stats panel of main window\"\nmsgstr \"設定すると、特定の時点で修理中の船の正確な RR 統計を使用します\\n\"\n\"設定されていない場合、メイン ウィンドウの統計パネルに表示されるように、船の RR 統計の修復を使用します。\"\n\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/targetProfile.py:85\nmsgid \"Worm (Guristas)\"\nmsgstr \"ワーム(ガリスタス)\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:116\nmsgid \"Wormhole\"\nmsgstr \"ワームホール\"\n\n#: eos/saveddata/damagePattern.py:50\nmsgid \"Xray\"\nmsgstr \"X線\"\n\n#: graphs/style.py:59\nmsgid \"Yellow\"\nmsgstr \"黄色\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:56\nmsgid \"Yes\"\nmsgstr \"はい\"\n\n#: gui/characterEditor.py:757\nmsgid \"You cannot link All 0 or All 5 characters to an EVE character.\"\nmsgstr \"すべての0キャラクターまたはすべての5キャラクターをEVEにリンクすることはできません。\"\n\n#: gui/characterEditor.py:76\nmsgid \"You must supply a name for the Character!\"\nmsgstr \"キャラクター名を指定してください！\"\n\n#: gui/setEditor.py:48\nmsgid \"You must supply a name for the Implant Set!\"\nmsgstr \"インプラントセットの名前を指定してください！\"\n\n#: gui/patternEditor.py:51\nmsgid \"You must supply a name for your Damage Profile!\"\nmsgstr \"ダメージプロファイル名を指定してください！\"\n\n#: gui/targetProfileEditor.py:71\nmsgid \"You must supply a name for your Target Profile!\"\nmsgstr \"ターゲットプロファイル名を指定してくささい！\"\n\n#: eos/saveddata/damagePattern.py:43\nmsgid \"[T2] Aurora\"\nmsgstr \"[T2] オーロラ\"\n\n#: eos/saveddata/damagePattern.py:75\nmsgid \"[T2] Barrage\"\nmsgstr \"[T2] バラージ\"\n\n#: eos/saveddata/damagePattern.py:54\nmsgid \"[T2] Conflagration\"\nmsgstr \"[T2] コンフラグレーション\"\n\n#: eos/saveddata/damagePattern.py:53\nmsgid \"[T2] Gleam\"\nmsgstr \"[T2] グリーム\"\n\n#: eos/saveddata/damagePattern.py:85\nmsgid \"[T2] Hail\"\nmsgstr \"[T2] ヘイル\"\n\n#: eos/saveddata/damagePattern.py:72\nmsgid \"[T2] Javelin\"\nmsgstr \"[T2] ジャベリン\"\n\n#: eos/saveddata/damagePattern.py:57\nmsgid \"[T2] Mystic\"\nmsgstr \"[T2] ミスティック\"\n\n#: eos/saveddata/damagePattern.py:63\nmsgid \"[T2] Null\"\nmsgstr \"[T2] ヌル\"\n\n#: eos/saveddata/damagePattern.py:61\nmsgid \"[T2] Occult\"\nmsgstr \"[T2] オカルト\"\n\n#: eos/saveddata/damagePattern.py:84\nmsgid \"[T2] Quake\"\nmsgstr \"[T2] クェイク\"\n\n#: eos/saveddata/damagePattern.py:44\nmsgid \"[T2] Scorch\"\nmsgstr \"[T2] スコーチ\"\n\n#: eos/saveddata/damagePattern.py:62\nmsgid \"[T2] Spike\"\nmsgstr \"[T2] スパイク\"\n\n#: eos/saveddata/damagePattern.py:74\nmsgid \"[T2] Tremor\"\nmsgstr \"[T2] トレマー\"\n\n#: eos/saveddata/damagePattern.py:73\nmsgid \"[T2] Void\"\nmsgstr \"[T2] ボイド\"\n\n#: eos/utils/stats.py:123\nmsgid \"em\"\nmsgstr \"電磁場ダメージ\"\n\n#: eos/utils/stats.py:123\nmsgid \"exp\"\nmsgstr \"爆発ダメージ\"\n\n#: eos/utils/stats.py:123\nmsgid \"explosive\"\nmsgstr \"爆発\"\n\n#: eos/utils/stats.py:123\nmsgid \"kin\"\nmsgstr \"衝撃ダメージ\"\n\n#: eos/utils/stats.py:123\nmsgid \"kinetic\"\nmsgstr \"キネティック\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:38\nmsgid \"pyfa User Path:\"\nmsgstr \"pyfaユーザーパス:\"\n\n#: gui/errorDialog.py:69\nmsgid \"pyfa error\"\nmsgstr \"pyfaエラー\"\n\n#: gui/errorDialog.py:76\nmsgid \"pyfa has experienced an unexpected issue. Below is a message that contains crucial \\n\"\n\"information about how this was triggered. Please contact the developers with the \\n\"\n\"information provided through the EVE Online forums or file a GitHub issue.\"\nmsgstr \"Pyfa で内部エラーが発生しました。\\n\"\n\"以下は、重要な内容を含むメッセージです\\n\"\n\"これがどのように発生しかた、詳細情報を 開発者に連絡してください\\n\"\n\"EVE Online フォーラムを通じて提供される情報を参照するか、GitHub の問題を報告してください。\"\n\n#: gui/aboutData.py:31\nmsgid \"pyfa is released under GNU GPLv3 - see included LICENSE file\"\nmsgstr \"PyfaはGNU GPLv3の下でリリースされています - 含まれているLICENSEファイルを参照してください\"\n\n#: gui/propertyEditor.py:108\nmsgid \"pyfa override file\"\nmsgstr \"pyfaのファイルの上書き\"\n\n#: gui/propertyEditor.py:131\nmsgid \"pyfa overrides\"\nmsgstr \"pyfaのオーバーライド\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"pyfa.io\"\nmsgstr \"pyfa.io\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:47\nmsgid \"pyfa:\"\nmsgstr \"pyfa:\"\n\n#: eos/utils/stats.py:123\nmsgid \"th\"\nmsgstr \"熱ダメージ\"\n\n#: eos/utils/stats.py:123\nmsgid \"thermal\"\nmsgstr \"熱力学\"\n\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#, python-brace-format\nmsgid \"{0} Market Group\"\nmsgstr \"{0} マーケットグループ\"\n\n#: gui/itemStats.py:87\n#, python-brace-format\nmsgid \"{context}Stats: {name}{debug_info}\"\nmsgstr \"{context}状態: {name}{debug_info}\"\n\n#: gui/pyfa_gauge.py:347\n#, python-brace-format\nmsgid \"{{0:.{0}f}} left\"\nmsgstr \"{{0:.{0}f}} 残り\"\n\n#: gui/pyfa_gauge.py:344\n#, python-brace-format\nmsgid \"{{0:.{0}f}} over\"\nmsgstr \"{{0:.{0}f}} オーバー\"\n\n#: gui/builtinContextMenus/moduleSpool.py:83\nmsgid \"{} (default)\"\nmsgstr \"{} (デフォルト)\"\n\n#: gui/characterEditor.py:284\nmsgid \"{} Copy\"\nmsgstr \"{} コピー\"\n\n#: gui/builtinContextMenus/itemStats.py:38\nmsgid \"{} Stats\"\nmsgstr \"{} ステータス\"\n\n#: gui/builtinViewColumns/baseName.py:104\nmsgid \"{} {} Slot\"\nmsgid_plural \"{} {} Slots\"\nmsgstr[0] \"{} {} スロット\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:220\n#, no-python-format, python-brace-format\nmsgid \"{}% chance to be jammed\"\nmsgstr \"{}%の確率で妨害されます\"\n\n"
  },
  {
    "path": "locale/ko_KR/LC_MESSAGES/lang.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: pyfa\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2020-10-28 15:28+0300\\n\"\n\"PO-Revision-Date: 2021-11-03 23:22\\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: Korean\\n\"\n\"Language: ko_KR\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\"X-Crowdin-Project: pyfa\\n\"\n\"X-Crowdin-Project-ID: 411502\\n\"\n\"X-Crowdin-Language: ko\\n\"\n\"X-Crowdin-File: /master/locale/lang.pot\\n\"\n\"X-Crowdin-File-ID: 68\\n\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:107\nmsgid \" DPS: \"\nmsgstr \" 초당 피해량: \"\n\n#: gui/builtinContextMenus/itemRemove.py:44\nmsgid \" Stack\"\nmsgstr \" 모듈 묶기\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:100\nmsgid \" Volley: \"\nmsgstr \" 알파 샷: \"\n\n#: gui/builtinItemStatsViews/itemProperties.py:98\n#, python-format\nmsgid \"%d attribute.\"\nmsgid_plural \"%d attributes.\"\nmsgstr[0] \"%d 속성\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"&Backup All Fittings\"\nmsgstr \"&모든 피팅 백업\"\n\n#: gui/mainMenuBar.py:104\nmsgid \"&Browse ESI Fittings\"\nmsgstr \"&ESI 피팅 보기\"\n\n#: gui/mainMenuBar.py:111\nmsgid \"&Character\"\nmsgstr \"&캐릭터\"\n\n#: gui/mainMenuBar.py:144\nmsgid \"&Character Editor\"\nmsgstr \"&캐릭터 에디터\"\n\n#: gui/mainMenuBar.py:70\nmsgid \"&Close All Tabs\"\nmsgstr \"&모든 탭 닫기\"\n\n#: gui/mainMenuBar.py:69\nmsgid \"&Close Tab\"\nmsgstr \"&탭 닫기\"\n\n#: gui/mainMenuBar.py:150\nmsgid \"&Damage Pattern Editor\"\nmsgstr \"&데미지 패턴 에디터\"\n\n#: gui/mainMenuBar.py:143\nmsgid \"&Editors\"\nmsgstr \"&에디터\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"&Export Fitting\"\nmsgstr \"&피팅 내보내기\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"&Export Skills Needed\"\nmsgstr \"&필요한 스킬 내보내기\"\n\n#: gui/mainMenuBar.py:66 gui/propertyEditor.py:42\nmsgid \"&File\"\nmsgstr \"&파일\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"&Forums\"\nmsgstr \"&포럼\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"&From Clipboard\"\nmsgstr \"&클립보드에서\"\n\n#: gui/mainMenuBar.py:135\nmsgid \"&Global\"\nmsgstr \"&글로벌\"\n\n#: gui/mainMenuBar.py:96\nmsgid \"&Graphs\"\nmsgstr \"&그래프\"\n\n#: gui/mainMenuBar.py:159\nmsgid \"&Help\"\nmsgstr \"&도움말\"\n\n#: gui/mainMenuBar.py:147\nmsgid \"&Implant Set Editor\"\nmsgstr \"&임플란트 세트 에디터\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"&Import Character File\"\nmsgstr \"&캐릭터 파일 불러오기\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"&Import Fittings\"\nmsgstr \"&피팅 불러오기\"\n\n#: gui/mainMenuBar.py:122\nmsgid \"&Manage ESI Characters\"\nmsgstr \"&ESI 캐릭터 관리\"\n\n#: gui/mainMenuBar.py:68\nmsgid \"&New Tab\"\nmsgstr \"&새 탭\"\n\n#: gui/mainMenuBar.py:95\nmsgid \"&Optimize Fit Price\"\nmsgstr \"&피팅 가격 최적화\"\n\n#: gui/mainMenuBar.py:137\nmsgid \"&Preferences\"\nmsgstr \"&설정\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"&Redo\"\nmsgstr \"&다시하기\"\n\n#: gui/mainMenuBar.py:115\nmsgid \"&Revert Character\"\nmsgstr \"&캐릭터 되돌리기\"\n\n#: gui/mainMenuBar.py:113\nmsgid \"&Save Character\"\nmsgstr \"&캐릭터 저장\"\n\n#: gui/mainMenuBar.py:153\nmsgid \"&Target Profile Editor\"\nmsgstr \"타겟 프로필 에디터\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"&To Clipboard\"\nmsgstr \"&클립보드로\"\n\n#: gui/mainFrame.py:688\nmsgid \"&Turn Overrides Off\"\nmsgstr \"&오버라이드 끄기\"\n\n#: gui/mainMenuBar.py:131 gui/mainFrame.py:688\nmsgid \"&Turn Overrides On\"\nmsgstr \"&오버라이드 켜기\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"&Undo\"\nmsgstr \"&실행 취소\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"&Wiki\"\nmsgstr \"&위키\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:25\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:29\nmsgid \"(Cannot be changed while pyfa is running. Set via command line switches.)\"\nmsgstr \"(pyfa가 실행중인 동안에는 수정할 수 없습니다. 커맨드 라인 교체를 통해 설정하시기 바랍니다.)\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:81\nmsgid \"0s\"\nmsgstr \"0초\"\n\n#: gui/builtinContextMenus/fighterAbilities.py:33\nmsgid \"Abilities\"\nmsgstr \"스킬\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Abyssal\"\nmsgstr \"아비살\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:123\nmsgid \"Abyssal Weather\"\nmsgstr \"어비셜 환경\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:31\nmsgid \"Active\"\nmsgstr \"활성화\"\n\n#: gui/builtinViewColumns/abilities.py:37\nmsgid \"Active Abilities\"\nmsgstr \"활성화된 능력\"\n\n#: gui/builtinViewColumns/sideEffects.py:37\nmsgid \"Active Side Effects\"\nmsgstr \"활성화된 부작용\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:76\nmsgid \"Active shield boost\"\nmsgstr \"액티브 실드 부스트\"\n\n#: gui/esiFittings.py:384\nmsgid \"Add Character\"\nmsgstr \"캐릭터 추가\"\n\n#: gui/esiFittings.py:217\nmsgid \"Add Character Error\"\nmsgstr \"캐릭터 에러 추가\"\n\n#: gui/builtinShipBrowser/fitItem.py:233\nmsgid \"Add Command Booster\"\nmsgstr \"커맨드 부스트 추가\"\n\n#: gui/builtinContextMenus/fitAddCurrentlyOpen.py:29\nmsgid \"Add Currently Open Fit\"\nmsgstr \"현재 열린 핏 추가\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:56\nmsgid \"Add Environmental Effect\"\nmsgstr \"환경 효과 추가\"\n\n#: gui/builtinContextMenus/fitAddBrowse.py:22\nmsgid \"Add Fit...\"\nmsgstr \"핏 추가...\"\n\n#: gui/fitBrowserLite.py:17\nmsgid \"Add Fits\"\nmsgstr \"여러 핏 추가\"\n\n#: gui/builtinContextMenus/targetProfile/adder.py:29\nmsgid \"Add Target Profile\"\nmsgstr \"타겟 프로필 추가\"\n\n#: gui/builtinContextMenus/cargoAddAmmo.py:28\n#, python-brace-format\nmsgid \"Add {0} to Cargo (x1000)\"\nmsgstr \"{0} 를 카고에 추가 (x1000)\"\n\n#: gui/builtinContextMenus/cargoAdd.py:33\nmsgid \"Add {} to Cargo\"\nmsgstr \"{} 를 카고에 추가\"\n\n#: gui/builtinContextMenus/droneAddStack.py:40\nmsgid \"Add {} to Drone Bay{}\"\nmsgstr \"{} 를 드론 베이에 추가{}\"\n\n#: gui/additionsPane.py:45\nmsgid \"Additions\"\nmsgstr \"추가\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Additions Panel Copy/Paste\"\nmsgstr \"추가 패널 복사/붙여넣기\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:101\nmsgid \"Addr:\"\nmsgstr \"주소:\"\n\n#: gui/itemStats.py:196\nmsgid \"Affected by\"\nmsgstr \"다음에서 영향 받음\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:226\n#, python-format\nmsgid \"Agility:\\t%.3fx\"\nmsgstr \"기동성:\\t%.3fx\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:87\nmsgid \"Align time\"\nmsgstr \"정렬 소요 시간\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:224\n#, python-format\nmsgid \"Align:\\t%.3fs\"\nmsgstr \"정렬:       %.3f 초\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/targetProfile.py:105\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:119\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:133\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:147\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:161\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:175\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:189\nmsgid \"All\"\nmsgstr \"전체\"\n\n#: gui/aboutData.py:32\nmsgid \"All EVE-Online related materials are property of CCP hf.\"\nmsgstr \"모든 EVE-Online 관련 자료는 CCP hf의 자산입니다.\"\n\n#: gui/mainFrame.py:838 gui/mainFrame.py:1013\nmsgid \"All Files\"\nmsgstr \"모든 파일\"\n\n#: gui/characterSelection.py:238\nmsgid \"All skill prerequisites have been met\"\nmsgstr \"모든 스킬 필수조건이 충족되었습니다.\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:38\nmsgid \"Allow pre-release notifications\"\nmsgstr \"시험판 알림 허용\"\n\n#: graphs/gui/ctrlPanel.py:75\nmsgid \"Always show Y = 0\"\nmsgstr \"항상 Y = 0 표시\"\n\n#: eos/saveddata/targetProfile.py:53\nmsgid \"Amarr (Armor)\"\nmsgstr \"아마르(장갑)\"\n\n#: eos/saveddata/targetProfile.py:52\nmsgid \"Amarr (Shield)\"\nmsgstr \"아마르(실드)\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/targetProfile.py:95\nmsgid \"Amarr EDENCOM Entities\"\nmsgstr \"아마르 EDENCOM 객체\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/targetProfile.py:72\nmsgid \"Amarr Empire\"\nmsgstr \"아마르 제국\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:115\nmsgid \"Ammo hold\"\nmsgstr \"탄약고\"\n\n#: eos/saveddata/damagePattern.py:96 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:229\nmsgid \"Angel\"\nmsgstr \"엔젤\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:123\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:66\nmsgid \"Angel Cartel\"\nmsgstr \"엔젤 카르텔\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:133\nmsgid \"Animate gauges\"\nmsgstr \"게이지 애니메이션\"\n\n#: eos/saveddata/damagePattern.py:71\nmsgid \"Antimatter\"\nmsgstr \"반물질탄\"\n\n#: gui/builtinContextMenus/implantSetApply.py:25\nmsgid \"Apply Implant Set\"\nmsgstr \"임플란트 셋 적용\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Apply Mutaplasmid\"\nmsgstr \"뮤타플라스미드 적용\"\n\n#: gui/builtinContextMenus/graphDmgApplyProjected.py:23\nmsgid \"Apply Projected Items\"\nmsgstr \"예상 항목 적용\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:144\nmsgid \"Apply Proxy Settings\"\nmsgstr \"프록시 설정 적용\"\n\n#: gui/propertyEditor.py:146\nmsgid \"Are you sure you want to delete all overrides?\"\nmsgstr \"모든 오버라이드 설정을 지우겠습니까?\"\n\n#: gui/mainFrame.py:645\nmsgid \"Are you sure you wish to ignore fitting restrictions for the current fit? This could lead to wildly inaccurate results and possible errors.\"\nmsgstr \"현재 피팅에서 피팅 제한을 무시하시겠습니까? 계산 결과가 부정확해 질 수도 있습니다.\"\n\n#: eos/saveddata/targetProfile.py:47\nmsgid \"Armor\"\nmsgstr \"장갑\"\n\n#: eos/saveddata/targetProfile.py:50\nmsgid \"Armor (+T2 DCU)\"\nmsgstr \"장갑 (+T2 DCU)\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:77\nmsgid \"Armor repair amount\"\nmsgstr \"장갑 수리량\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:113\nmsgid \"Armor resistance\"\nmsgstr \"장갑 저항력\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:43\n#: gui/builtinStatsViews/outgoingViewFull.py:44\nmsgid \"Armor restored\"\nmsgstr \"장갑 회복\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Armor: \"\nmsgstr \"장갑: \"\n\n#: eos/saveddata/damagePattern.py:120 eos/saveddata/targetProfile.py:90\nmsgid \"Ashimmu (Blood Raiders)\"\nmsgstr \"아쉬무(블러드 레이더)\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\nmsgid \"Asteroid\"\nmsgstr \"소행성\"\n\n#: graphs/data/fitDamageStats/graph.py:74\nmsgid \"Attacker\"\nmsgstr \"공격자\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:56\n#: gui/builtinItemStatsViews/itemAttributes.py:44\nmsgid \"Attribute\"\nmsgstr \"속성\"\n\n#: gui/mainMenuBar.py:128\nmsgid \"Attribute &Overrides\"\nmsgstr \"속성 재정의\"\n\n#: gui/propertyEditor.py:28\nmsgid \"Attribute Editor\"\nmsgstr \"속성 에디터\"\n\n#: gui/itemStats.py:177\nmsgid \"Attributes\"\nmsgstr \"속성\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:43\nmsgid \"Auto\"\nmsgstr \"자동\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:94\nmsgid \"Auto will use the same language pyfa uses if available, otherwise English\"\nmsgstr \"자동으로 설정하면 가능할 경우 pyfa의 언어를 이용하고, 아닌 경우 영어를 사용합니다.\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Auto-detected proxy settings\"\nmsgstr \"프록시 자동 설정\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:136\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:158\nmsgid \"Auto-detected: \"\nmsgstr \"자동 감지:\"\n\n#: graphs/gui/ctrlPanel.py:64\nmsgid \"Axis X:\"\nmsgstr \"X축:\"\n\n#: graphs/gui/ctrlPanel.py:56\nmsgid \"Axis Y:\"\nmsgstr \"Y축:\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:50\nmsgid \"Back\"\nmsgstr \"돌아가기\"\n\n#: gui/mainFrame.py:873\nmsgid \"Backing up {} fits to: {}\"\nmsgstr \"{} 피팅을 다음에 백업:{}\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"Backup all fittings to a XML file\"\nmsgstr \"전체 피팅을 XML로 백업\"\n\n#: gui/mainFrame.py:872 gui/mainFrame.py:903\nmsgid \"Backup fits\"\nmsgstr \"피팅 백업\"\n\n#: eos/saveddata/damagePattern.py:59\nmsgid \"Baryon\"\nmsgstr \"바리온\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:47\nmsgid \"Base Value\"\nmsgstr \"기본값\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battlecruiser\"\nmsgstr \"배틀크루저\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battleship\"\nmsgstr \"배틀쉽\"\n\n#: gui/mainFrame.py:951\nmsgid \"Be aware that already processed fits were not saved\"\nmsgstr \"이미 처리된 핏들은 저장되지 않았음\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Bioluminescence\"\nmsgstr \"생물학적 발광\"\n\n#: eos/saveddata/damagePattern.py:106 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/targetProfile.py:61 eos/saveddata/targetProfile.py:67\nmsgid \"Blood Raiders\"\nmsgstr \"블러드 레이더\"\n\n#: graphs/style.py:54\nmsgid \"Blue\"\nmsgstr \"블루\"\n\n#: eos/saveddata/damagePattern.py:90 eos/saveddata/damagePattern.py:91\n#: eos/saveddata/damagePattern.py:92 eos/saveddata/damagePattern.py:93\nmsgid \"Bombs\"\nmsgstr \"밤\"\n\n#: gui/builtinAdditionPanes/boosterView.py:215\nmsgid \"Booster\"\nmsgstr \"부스터\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\n#: gui/builtinContextMenus/additionsExportAll.py:23\n#: gui/builtinContextMenus/additionsExportSelection.py:23\n#: gui/builtinContextMenus/additionsImport.py:24 gui/additionsPane.py:78\nmsgid \"Boosters\"\nmsgstr \"부스터\"\n\n#: graphs/style.py:82\nmsgid \"Bright\"\nmsgstr \"밝기\"\n\n#: gui/esiFittings.py:32\nmsgid \"Browse EVE Fittings\"\nmsgstr \"이브 피팅 살펴보기\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Bump distance\"\nmsgstr \"범핑 거리\"\n\n#: graphs/data/fitMobility/graph.py:38\nmsgid \"Bump speed\"\nmsgstr \"범핑 속도\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/targetProfile.py:81 eos/saveddata/targetProfile.py:82\n#: eos/saveddata/targetProfile.py:83 eos/saveddata/targetProfile.py:84\n#: eos/saveddata/targetProfile.py:85 eos/saveddata/targetProfile.py:86\n#: eos/saveddata/targetProfile.py:87 eos/saveddata/targetProfile.py:88\n#: eos/saveddata/targetProfile.py:89 eos/saveddata/targetProfile.py:90\n#: eos/saveddata/targetProfile.py:91 eos/saveddata/targetProfile.py:92\nmsgid \"Burner\"\nmsgstr \"버너\"\n\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/targetProfile.py:74\nmsgid \"CONCORD\"\nmsgstr \"콩코드\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:153\nmsgid \"CPU\"\nmsgstr \"CPU\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:118\nmsgid \"CSV files\"\nmsgstr \"CSV 파일\"\n\n#: eos/saveddata/targetProfile.py:55\nmsgid \"Caldari (Armor)\"\nmsgstr \"칼다리 (아머)\"\n\n#: eos/saveddata/targetProfile.py:54\nmsgid \"Caldari (Shield)\"\nmsgstr \"칼다리 (실드)\"\n\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/targetProfile.py:96\nmsgid \"Caldari EDENCOM Entities\"\nmsgstr \"칼다리 EDENCOM 객체\"\n\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/targetProfile.py:73\nmsgid \"Caldari State\"\nmsgstr \"칼다리 연합\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:115\nmsgid \"Calibration\"\nmsgstr \"보정\"\n\n#: graphs/data/fitCapacitor/graph.py:35 graphs/data/fitCapacitor/graph.py:36\n#: graphs/data/fitCapacitor/graph.py:38 graphs/data/fitCapacitor/graph.py:43\nmsgid \"Cap amount\"\nmsgstr \"캐패시터 용량\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Cap neutralized per second\"\nmsgstr \"초당 뉴트량\"\n\n#: graphs/data/fitCapacitor/graph.py:39\nmsgid \"Cap regen\"\nmsgstr \"캐패시터 회복량\"\n\n#: graphs/data/fitCapacitor/graph.py:32\n#: gui/builtinStatsViews/capacitorViewFull.py:37\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\nmsgid \"Capacitor\"\nmsgstr \"캐패시터\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:139\nmsgid \"Capacitor delta:\"\nmsgstr \"캐패시터 변동량:\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:31\n#: gui/builtinStatsViews/outgoingViewFull.py:32\nmsgid \"Capacitor restored\"\nmsgstr \"캐패시터 안정\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:57\nmsgid \"Capacitor stability\"\nmsgstr \"캐패시터 안정성\"\n\n#: eos/saveddata/damagePattern.py:76\nmsgid \"Carbonized Lead\"\nmsgstr \"탄화납\"\n\n#: gui/copySelectDialog.py:49 gui/copySelectDialog.py:57\n#: gui/builtinContextMenus/priceOptions.py:47\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:90\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:81\n#: gui/additionsPane.py:72\nmsgid \"Cargo\"\nmsgstr \"카고\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:20\n#: gui/builtinContextMenus/additionsExportSelection.py:20\n#: gui/builtinContextMenus/additionsImport.py:21\nmsgid \"Cargo Items\"\nmsgstr \"카고 아이템\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:158\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Cargo bay\"\nmsgstr \"화물 저장고\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:229\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:254\nmsgid \"Cargohold: \"\nmsgstr \"화물칸:\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:167\nmsgid \"Carrier\"\nmsgstr \"캐리어\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Caustic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:47\nmsgid \"Cert Path:\"\nmsgstr \"인증 경로:\"\n\n#: gui/builtinContextMenus/skillAffectors.py:73\n#, python-format\nmsgid \"Change %s Skills\"\nmsgstr \"%s 스킬 변경\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:92\nmsgid \"Change Amount\"\nmsgstr \"수량 변경\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\nmsgid \"Change Skills\"\nmsgstr \"스킬 변경\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:144\nmsgid \"Change charge in all modules of the same type\"\nmsgstr \"전체 모듈에 같은 종류의 차지로 변경\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:34\n#, python-brace-format\nmsgid \"Change {0} Quantity\"\nmsgstr \"수량 변경 {0}\"\n\n#: gui/builtinContextMenus/itemProjectionRange.py:34\nmsgid \"Change {} Range\"\nmsgstr \"사거리 변경 {}\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:31\nmsgid \"Changes require restart of pyfa to take effect.\"\nmsgstr \"변경 사항을 적용하려면 pyfa를 재시작해야 합니다.\"\n\n#: gui/esiFittings.py:375 gui/builtinStatsViews/priceViewFull.py:57\n#: gui/characterEditor.py:90\nmsgid \"Character\"\nmsgstr \"캐릭터\"\n\n#: gui/characterEditor.py:137\nmsgid \"Character Editor\"\nmsgstr \"캐릭터 에디터\"\n\n#: gui/esiFittings.py:376\nmsgid \"Character ID\"\nmsgstr \"캐릭터 ID\"\n\n#: gui/characterEditor.py:78\nmsgid \"Character name already in use, please choose another.\"\nmsgstr \"이미 사용중인 사용자 이름입니다. 다른 이름을 사용해주세요.\"\n\n#: gui/characterEditor.py:771\nmsgid \"Character:\"\nmsgstr \"캐릭터:\"\n\n#: gui/characterSelection.py:47\nmsgid \"Character: \"\nmsgstr \"캐릭터: \"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:48\nmsgid \"Charge\"\nmsgstr \"차지\"\n\n#: gui/builtinViews/fittingView.py:664\nmsgid \"Citadel\"\nmsgstr \"시타델\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:37\nmsgid \"Citadel System Security\"\nmsgstr \"시타델 시스템 시큐리티\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear All\"\nmsgstr \"전체 삭제\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear all overrides\"\nmsgstr \"모든 사용자 정의 속성 지우기\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:97\n#: gui/builtinStatsViews/resistancesViewFull.py:169\nmsgid \"Click to toggle between effective HP and raw HP\"\nmsgstr \"이곳을 클릭하여 EHP나 HP를 볼 수 있습니다.\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:102\nmsgid \"Click to toggle to Firepower View\"\nmsgstr \"클릭하여 공격 정보로 전환\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:115\nmsgid \"Click to toggle to Mining Yield\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:76\nmsgid \"Client ID:\"\nmsgstr \"클라이언트 ID:\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:85\nmsgid \"Client Secret:\"\nmsgstr \"클라이언트 비밀 키:\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:114\nmsgid \"Color fitting view by slot\"\nmsgstr \"슬롯에 색상 적용\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"Combined ECM strength\"\nmsgstr \"종합 ECM 강도\"\n\n#: gui/additionsPane.py:84\nmsgid \"Command\"\nmsgstr \"명령\"\n\n#: gui/builtinAdditionPanes/commandView.py:201\nmsgid \"Command Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/commandFitAdd.py:51\nmsgid \"Command Fits\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:127\nmsgid \"Command center hold\"\nmsgstr \"통제 센터 창고\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:110\nmsgid \"Compact skills needed tooltip\"\nmsgstr \"\"\n\n#: gui/itemStats.py:182\nmsgid \"Compare\"\nmsgstr \"비교\"\n\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:227\nmsgid \"Concord\"\nmsgstr \"콩코드\"\n\n#: eos/saveddata/damagePattern.py:92\nmsgid \"Concussion Bomb\"\nmsgstr \"충격폭탄\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:98\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:103\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:108\n#: gui/mainFrame.py:647 gui/mainFrame.py:653\nmsgid \"Confirm\"\nmsgstr \"확인\"\n\n#: gui/esiFittings.py:160 gui/propertyEditor.py:147\nmsgid \"Confirm Delete\"\nmsgstr \"삭제 확인\"\n\n#: gui/esiFittings.py:129 gui/esiFittings.py:172 gui/esiFittings.py:345\nmsgid \"Connection error, please check your internet connection\"\nmsgstr \"연결 오류: 인터넷 연결을 확인해주세요.\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:14\nmsgid \"Context Menus\"\nmsgstr \"컨텍스트 메뉴\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:117\nmsgid \"ContextMenu|ProjectedEffectManipulation|Black Hole\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:118\nmsgid \"ContextMenu|ProjectedEffectManipulation|Cataclysmic Variable\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:144\nmsgid \"ContextMenu|ProjectedEffectManipulation|Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:106\nmsgid \"ContextMenu|ProjectedEffectManipulation|Electrical\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:107\nmsgid \"ContextMenu|ProjectedEffectManipulation|Exotic\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:115\nmsgid \"ContextMenu|ProjectedEffectManipulation|Firestorm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:108\nmsgid \"ContextMenu|ProjectedEffectManipulation|Gamma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:119\nmsgid \"ContextMenu|ProjectedEffectManipulation|Magnetar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:113\nmsgid \"ContextMenu|ProjectedEffectManipulation|Matter\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:111\nmsgid \"ContextMenu|ProjectedEffectManipulation|Metaliminal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:109\nmsgid \"ContextMenu|ProjectedEffectManipulation|Plasma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:120\nmsgid \"ContextMenu|ProjectedEffectManipulation|Pulsar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:114\nmsgid \"ContextMenu|ProjectedEffectManipulation|Ray\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:121\nmsgid \"ContextMenu|ProjectedEffectManipulation|Red Giant\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:125\nmsgid \"ContextMenu|ProjectedEffectManipulation|Sansha Incursion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:112\nmsgid \"ContextMenu|ProjectedEffectManipulation|Storm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:143\nmsgid \"ContextMenu|ProjectedEffectManipulation|System Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:127\nmsgid \"ContextMenu|ProjectedEffectManipulation|Triglavian Invasion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:122\nmsgid \"ContextMenu|ProjectedEffectManipulation|Wolf Rayet\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemDescription.py:43\n#: gui/builtinItemStatsViews/itemTraits.py:25\n#: gui/builtinShipBrowser/fitItem.py:107\nmsgid \"Copy\"\nmsgstr \"복사\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:39\nmsgid \"Copy All {}\"\nmsgstr \"모두 복사 {}\"\n\n#: gui/characterSelection.py:105\nmsgid \"Copy Missing Skills\"\nmsgstr \"빠진 스킬 복사\"\n\n#: gui/builtinContextMenus/moduleMutatedExport.py:28\nmsgid \"Copy Module to Clipboard\"\nmsgstr \"모듈을 클립보드로 복사\"\n\n#: gui/builtinContextMenus/additionsExportSelection.py:39\nmsgid \"Copy Selected {}\"\nmsgstr \"선택 복사 {}\"\n\n#: gui/ssoLogin.py:20\nmsgid \"Copy and paste the block of text provided by pyfa.io\"\nmsgstr \"\"\n\n#: gui/setEditor.py:222 gui/patternEditor.py:290 gui/targetProfileEditor.py:366\nmsgid \"Could not import from clipboard\"\nmsgstr \"클립보드에서 불러올 수 없습니다.\"\n\n#: gui/targetProfileEditor.py:359\nmsgid \"Could not import from clipboard:\"\nmsgstr \"클립보드에서 불러올 수 없습니다. :\"\n\n#: gui/setEditor.py:218 gui/patternEditor.py:283\nmsgid \"Could not import from clipboard: unknown errors\"\nmsgstr \"클립보드에서 불러올 수 없습니다. : 알 수 없는 에러\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Cruiser\"\nmsgstr \"크루저\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/targetProfile.py:81\nmsgid \"Cruor (Blood Raiders)\"\nmsgstr \"크루오어(블러드 레이더)\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:175\nmsgid \"Current\"\nmsgstr \"현재\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:57\n#: gui/builtinItemStatsViews/itemAttributes.py:45\nmsgid \"Current Value\"\nmsgstr \"현재값\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:63\nmsgid \"Custom Application\"\nmsgstr \"사용자 어플리케이션\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"Custom application\"\nmsgstr \"\"\n\n#: graphs/style.py:57\nmsgid \"Cyan\"\nmsgstr \"청록\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"DPS\"\nmsgstr \"DPS\"\n\n#: gui/patternEditor.py:99\nmsgid \"Damage Pattern Editor\"\nmsgstr \"데미지 패턴 에디터\"\n\n#: gui/patternEditor.py:65\nmsgid \"Damage Profile\"\nmsgstr \"데미지 프로필\"\n\n#: gui/patternEditor.py:53\nmsgid \"Damage Profile name already in use, please choose another.\"\nmsgstr \"데미지 프로필 이름이 사용중입니다. 다른 이름을 선택하세요.\"\n\n#: graphs/data/fitDamageStats/graph.py:56\nmsgid \"Damage Stats\"\nmsgstr \"데미지 스탯\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Damage inflicted\"\nmsgstr \"받은 데미지\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Damps: lock range reduction\"\nmsgstr \"센서 약화: 타겟팅 거리 감소\"\n\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/targetProfile.py:83\nmsgid \"Daredevil (Serpentis)\"\nmsgstr \"데어데빌(서펜티스)\"\n\n#: graphs/style.py:81\nmsgid \"Dark\"\nmsgstr \"암흑\"\n\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\nmsgid \"Dark Matter All Tiers\"\nmsgstr \"암흑물질 모든 티어\"\n\n#: graphs/style.py:89\nmsgid \"Dash-dotted\"\nmsgstr \"\"\n\n#: graphs/style.py:87\nmsgid \"Dashed\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:15\nmsgid \"Database\"\nmsgstr \"데이터베이스\"\n\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\nmsgid \"Deadspace\"\nmsgstr \"데드스페이스\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:56\nmsgid \"Debug Logging Enabled\"\nmsgstr \"디버그 로깅 활성화\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:58\nmsgid \"Default Market Prices:\"\nmsgstr \"기본 시장 가격:\"\n\n#: gui/propertyEditor.py:271\n#, python-format\nmsgid \"Default Value: %0.3f\"\nmsgstr \"기본값: %0.3f\"\n\n#: gui/builtinContextMenus/shipModeChange.py:18\nmsgid \"Defense\"\nmsgstr \"방어\"\n\n#: graphs/data/fitMobility/graph.py:44\nmsgid \"Defined in millions of kilograms\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:109\nmsgid \"Delete\"\nmsgstr \"삭제\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:79\nmsgid \"Delete All Damage Pattern Profiles\"\nmsgstr \"모든 데미지 패턴 프로필 삭제\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:87\nmsgid \"Delete All Prices\"\nmsgstr \"모든 가격 삭제\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:83\nmsgid \"Delete All Target Profiles\"\nmsgstr \"모든 타겟 프로필 삭제\"\n\n#: gui/esiFittings.py:66\nmsgid \"Delete all from Eve\"\nmsgstr \"Eve에서 모두 삭제\"\n\n#: gui/esiFittings.py:65\nmsgid \"Delete from EVE\"\nmsgstr \"EVE에서 삭제\"\n\n#: gui/itemStats.py:189\nmsgid \"Dependents\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:79\nmsgid \"Depleted Uranium\"\nmsgstr \"열화 우라늄\"\n\n#: gui/itemStats.py:174\nmsgid \"Description\"\nmsgstr \"설명\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Destroyer\"\nmsgstr \"디스트로이어\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Destructible Beacons\"\nmsgstr \"파괴 가능한 신호기\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Dev Tools\"\nmsgstr \"개발자 도구\"\n\n#: gui/mainMenuBar.py:101 gui/mainMenuBar.py:202\nmsgid \"Disable Fitting Re&strictions\"\nmsgstr \"피팅 제한 비활성화\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Disabled\"\nmsgstr \"비활성화됨\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:28\nmsgid \"Disabling context menus can improve responsiveness.\\n\"\n\"You can hold {} key + right-click to show all menu items regardless of these settings.\"\nmsgstr \"메뉴를 비활성화하면 반응성을 높일수 있습니다.\\n\"\n\"{} 키를 누른 상태에서 우클릭을 하면 이 설정에 관계없이 모든 메뉴를 볼수 있습니다.\"\n\n#: graphs/data/fitMobility/graph.py:36 graphs/data/fitRemoteReps/graph.py:50\n#: graphs/data/fitRemoteReps/graph.py:58 graphs/data/fitWarpTime/graph.py:47\n#: graphs/data/fitWarpTime/graph.py:48 graphs/data/fitWarpTime/graph.py:51\n#: graphs/data/fitWarpTime/graph.py:52 graphs/data/fitDamageStats/graph.py:58\n#: graphs/data/fitDamageStats/graph.py:65 graphs/data/fitEwarStats/graph.py:34\n#: graphs/data/fitEwarStats/graph.py:44\nmsgid \"Distance\"\nmsgstr \"거리\"\n\n#: graphs/data/fitDamageStats/graph.py:66\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"공격자와 목표물의 거리가 오버뷰에서 표시됩니다. (표면 대 표면)\"\n\n#: graphs/data/fitDamageStats/graph.py:67\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\\n\"\n\"When set, places the target that far away from the attacker\\n\"\n\"When not set, attacker's weapons always hit the target\"\nmsgstr \"공격자와 목표물의 거리가 오버뷰에서 표시됩니다. (표면 대 표면)\\n\"\n\"활성화시, 목표물을 공격자로부터 멀리 떨어진곳에 배치합니다.\\n\"\n\"비활성화시, 공격자의 무기는 무조건 타겟을 타격합니다.\"\n\n#: graphs/data/fitRemoteReps/graph.py:59 graphs/data/fitRemoteReps/graph.py:60\nmsgid \"Distance between the repairing ship and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"로지쉽과 목표물의 거리가 오버뷰에 표시됩니다. (표면 대 표면)\"\n\n#: gui/esiFittings.py:159\nmsgid \"Do you really want to delete {} ({}) from EVE?\"\nmsgstr \"정말로 EVE에서 {} ({}) 을(를) 지우시겠습니까?\"\n\n#: gui/updateDialog.py:102\nmsgid \"Don't remind me again for this release\"\nmsgstr \"이 버전에 한해서 더 이상 알리지 않기\"\n\n#: gui/characterEditor.py:789\nmsgid \"Don't see your EVE character in the list?\"\nmsgstr \"당신의 EVE Online 캐릭터가 목록에서 보이지 않습니까?\"\n\n#: graphs/style.py:88\nmsgid \"Dotted\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:71\n#: gui/updateDialog.py:113\nmsgid \"Download\"\nmsgstr \"다운로드\"\n\n#: graphs/gui/lists.py:313\nmsgid \"Drag a fit into this list to graph it\"\nmsgstr \"그래프화 하려면 피팅을 이곳에 드래그하세요\"\n\n#: graphs/gui/lists.py:370\nmsgid \"Drag a fit into this list to have your fits graphed against it\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/commandView.py:163\nmsgid \"Drag a fit to this area\"\nmsgstr \"이곳에 피팅을 드래그하세요\"\n\n#: gui/builtinAdditionPanes/projectedView.py:224\nmsgid \"Drag an item or fit, or use right-click menu for wormhole effects\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:112 eos/saveddata/targetProfile.py:82\nmsgid \"Dramiel (Angel)\"\nmsgstr \"드라미엘(엔젤 카르텔)\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:144\n#: eos/saveddata/damagePattern.py:147\nmsgid \"Dread\"\nmsgstr \"드레드\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/damagePattern.py:146\nmsgid \"Dread/Subcaps\"\nmsgstr \"드레드노트/서브캐피탈\"\n\n#: eos/saveddata/damagePattern.py:98 eos/saveddata/targetProfile.py:103\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:117\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:131\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:145\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:159\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:173\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:187\nmsgid \"Drifter\"\nmsgstr \"드리프터\"\n\n#: eos/saveddata/damagePattern.py:159 eos/saveddata/targetProfile.py:230\nmsgid \"Drifter Entities\"\nmsgstr \"드리프터 객체\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Drone\"\nmsgstr \"드론\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:26\nmsgid \"Drone Mode\"\nmsgstr \"드론 모드\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:157\nmsgid \"Drone bandwidth\"\nmsgstr \"드론 대역폭\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:155\nmsgid \"Drone bay\"\nmsgstr \"드론 격납고\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:66\nmsgid \"Drone range\"\nmsgstr \"드론 통제 거리\"\n\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/targetProfile.py:99\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:113\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:127\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:141\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:155\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:169\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:183\n#: gui/builtinContextMenus/priceOptions.py:40\n#: gui/builtinContextMenus/additionsExportAll.py:18\n#: gui/builtinContextMenus/additionsExportSelection.py:18\n#: gui/builtinContextMenus/additionsImport.py:19\n#: gui/builtinStatsViews/priceViewFull.py:58\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:77\n#: gui/additionsPane.py:66\nmsgid \"Drones\"\nmsgstr \"드론\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:113\nmsgid \"Drones active\"\nmsgstr \"활성화된 드론\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:62\nmsgid \"Dump All Logs\"\nmsgstr \"모든 로그 지우기\"\n\n#: gui/mainMenuBar.py:105\nmsgid \"E&xport to ESI\"\nmsgstr \"ESI로 내보내기\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"ECM: combined strength\"\nmsgstr \"ECM: 총합 강도\"\n\n#: gui/mainFrame.py:837\nmsgid \"EFT text fitting files\"\nmsgstr \"EFT 텍스트 피팅 파일\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:96\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"EHP\"\nmsgstr \"실질 내구도\"\n\n#: eos/saveddata/damagePattern.py:39\n#: gui/builtinContextMenus/moduleAmmoChange.py:24\nmsgid \"EM\"\nmsgstr \"EM\"\n\n#: gui/targetProfileEditor.py:119\nmsgid \"EM resistance\"\nmsgstr \"EM 저항력\"\n\n#: eos/saveddata/damagePattern.py:81\nmsgid \"EMP\"\nmsgstr \"EMP\"\n\n#: gui/esiFittings.py:347 gui/esiFittings.py:351 gui/esiFittings.py:359\nmsgid \"ERROR\"\nmsgstr \"오류\"\n\n#: gui/mainFrame.py:1012\nmsgid \"EVE API XML character files\"\nmsgstr \"EVE API XML 캐릭터 파일\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:76\nmsgid \"EVE Data:\"\nmsgstr \"이브 데이터:\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:49\nmsgid \"EVE IGB HTML fitting file\"\nmsgstr \"EVE IGB HTML 피팅 파일\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:16\n#: gui/characterEditor.py:162\nmsgid \"EVE SSO\"\nmsgstr \"EVE SSO\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:37\nmsgid \"EVE Servers (API && CREST import)\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:859\nmsgid \"EVE XML fitting file\"\nmsgstr \"이브 XML 피팅 파일\"\n\n#: gui/mainFrame.py:466 gui/mainFrame.py:836\nmsgid \"EVE XML fitting files\"\nmsgstr \"이브 XML 피팅 파일들\"\n\n#: gui/mainFrame.py:808\nmsgid \"EVEMon skills training XML file\"\nmsgstr \"EVEMon 스킬 훈련 XML 파일\"\n\n#: gui/mainFrame.py:807\nmsgid \"EVEMon skills training file\"\nmsgstr \"EVEMon 스킬 훈련 파일\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"Effective DPS\"\nmsgstr \"유효 DPS\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:61\n#: gui/builtinStatsViews/resistancesViewFull.py:219\nmsgid \"Effective HP: \"\nmsgstr \"유효 HP: \"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:151\nmsgid \"Effective capacity\"\nmsgstr \"유효 캐퍼시티\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Effective damage inflicted\"\nmsgstr \"받은 유효 데미지\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Effective volley\"\nmsgstr \"유효 알파 샷\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:220\n#, python-format\nmsgid \"Effective: %d HP\"\nmsgstr \"실질 내구도: %d\"\n\n#: gui/itemStats.py:192\nmsgid \"Effects\"\nmsgstr \"효과\"\n\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:107\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:109\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:194\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:196\nmsgid \"Electrical T0/T1/T2\"\nmsgstr \"전기폭풍 T0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\nmsgid \"Electrical T3 (Some T5 Rooms)\"\nmsgstr \"전기폭풍 T3 (일부 T5 포켓 포함)\"\n\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:121\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:123\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:200\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:202\nmsgid \"Electrical T4/T5/T6\"\nmsgstr \"전기폭풍 T4/T5/T6\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:85\nmsgid \"Electromagnetic resistance\"\nmsgstr \"EM 저항력\"\n\n#: eos/saveddata/damagePattern.py:90\nmsgid \"Electron Bomb\"\nmsgstr \"전기폭탄\"\n\n#: graphs/data/fitEwarStats/graph.py:33\nmsgid \"Electronic Warfare Stats\"\nmsgstr \"전자전 스탯\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:59\nmsgid \"Empty\"\nmsgstr \"비어있음\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:105\nmsgid \"Empty Market View\"\nmsgstr \"\"\n\n#: gui/multiSwitch.py:41\nmsgid \"Empty Tab\"\nmsgstr \"빈 탭\"\n\n#: gui/mainMenuBar.py:200\nmsgid \"Enable Fitting Re&strictions\"\nmsgstr \"피팅 제한 활성화\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:33\nmsgid \"Enable Network\"\nmsgstr \"네트워크 사용 가능\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable all available meta buttons\"\nmsgstr \"모든 이용 가능한 버튼 활성화\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:93\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:114\nmsgid \"Enable all meta buttons\"\nmsgstr \"모든 메타 버튼 활성화\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\nmsgid \"Enable all meta buttons for a duration of search / recents\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button, disable others\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable leftmost available meta button\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:61\nmsgid \"Enable minimal format\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Enabled\"\nmsgstr \"활성화됨\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:50\nmsgid \"Enforce strict skill level requirements\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:281\nmsgid \"Enter a name for your new Character:\"\nmsgstr \"새 캐릭터의 이름 입력:\"\n\n#: gui/builtinContextMenus/implantSetSave.py:51\nmsgid \"Enter a name for your new Implant Set:\"\nmsgstr \"새 임플란트 세트의 이름 입력:\"\n\n#: eos/saveddata/damagePattern.py:116 eos/saveddata/targetProfile.py:86\nmsgid \"Enyo\"\nmsgstr \"엔요\"\n\n#: gui/characterSelection.py:174 gui/setEditor.py:55 gui/mainFrame.py:896\n#: gui/characterEditor.py:83 gui/characterEditor.py:463\n#: gui/characterEditor.py:898 gui/patternEditor.py:58\n#: gui/targetProfileEditor.py:78\nmsgid \"Error\"\nmsgstr \"오류\"\n\n#: gui/characterSelection.py:173 gui/characterEditor.py:897\nmsgid \"Error fetching skill information\"\nmsgstr \"스킬 정보를 불러오는 중 오류 발생\"\n\n#: gui/errorDialog.py:68\nmsgid \"Error!\"\nmsgstr \"오류!\"\n\n#: eos/saveddata/damagePattern.py:57 eos/saveddata/damagePattern.py:58\n#: eos/saveddata/damagePattern.py:59 eos/saveddata/damagePattern.py:60\n#: eos/saveddata/damagePattern.py:61\nmsgid \"Exotic Plasma\"\nmsgstr \"엑조틱 플라즈마\"\n\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:149\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:151\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:212\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:214\nmsgid \"Exotic T0/T1/T2\"\nmsgstr \"엑조틱 T0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\nmsgid \"Exotic T3 (Some T5 Rooms)\"\nmsgstr \"엑조틱 T3 (일부 T5 포켓 포함)\"\n\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:163\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:165\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:218\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:220\nmsgid \"Exotic T4/T5/T6\"\nmsgstr \"엑조틱 T4/T5/T6\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:67\nmsgid \"Expand All\"\nmsgstr \"모두 펼치기\"\n\n#: eos/saveddata/damagePattern.py:42\n#: gui/builtinContextMenus/moduleAmmoChange.py:26\nmsgid \"Explosive\"\nmsgstr \"폭발\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:88\n#: gui/targetProfileEditor.py:122\nmsgid \"Explosive resistance\"\nmsgstr \"폭발 저항력\"\n\n#: gui/propertyEditor.py:39\nmsgid \"Export\"\nmsgstr \"내보내기\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export All Fittings to &HTML\"\nmsgstr \"모든 피팅을 HTML로 내보내기\"\n\n#: gui/mainFrame.py:946\nmsgid \"Export Error\"\nmsgstr \"내보내기 오류\"\n\n#: gui/esiFittings.py:258\nmsgid \"Export Fit\"\nmsgstr \"피팅 내보내기\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:23\nmsgid \"Export Fittings in a minimal HTML Version, just containing the fittings links without any visual styling\"\nmsgstr \"장식 없이 최소한의 HTML로 피팅 내보내기\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:57\nmsgid \"Export Item Stats\"\nmsgstr \"아이템 스탯 내보내기\"\n\n#: gui/esiFittings.py:263\nmsgid \"Export Loaded Charges\"\nmsgstr \"장전된 차지 내보내기\"\n\n#: gui/mainFrame.py:805\nmsgid \"Export Skills Needed As...\"\nmsgstr \"필요 스킬 내보내기..\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"Export a fit to the clipboard\"\nmsgstr \"클립보드로 피팅 내보내기\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\nmsgid \"Export boosters\"\nmsgstr \"부스터 내보내기\"\n\n#: gui/copySelectDialog.py:49\nmsgid \"Export cargo contents\"\nmsgstr \"창고 물품 내보내기\"\n\n#: gui/copySelectDialog.py:57\nmsgid \"Export cargo hold contents\"\nmsgstr \"창고 내용물 내보내기\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Export charges loaded into modules\"\nmsgstr \"모듈로 장전된 차지 내보내기\"\n\n#: gui/esiFittings.py:245\nmsgid \"Export fit to EVE\"\nmsgstr \"EVE 클라이언트로 피팅 내보내기\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export fits to HTML file (set in Preferences)\"\nmsgstr \"HTML 파일로 피팅 내보내기 (환경 설정에서 설정)\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"Export fitting to another format\"\nmsgstr \"다른 포맷으로 피팅 내보내기\"\n\n#: gui/setEditor.py:149\nmsgid \"Export implant sets to clipboard\"\nmsgstr \"클립보드로 임플란트 내보내기\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\nmsgid \"Export implants\"\nmsgstr \"임플란트 내보내기\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Export mutated modules' stats\"\nmsgstr \"변이된 모듈 스탯 내보내기\"\n\n#: gui/patternEditor.py:172\nmsgid \"Export patterns to clipboard\"\nmsgstr \"클립보드로 패턴 내보내기\"\n\n#: gui/targetProfileEditor.py:222\nmsgid \"Export profiles to clipboard\"\nmsgstr \"클립보드로 프로필 내보내기\"\n\n#: gui/characterEditor.py:373\nmsgid \"Export skills from clipboard\"\nmsgstr \"클립보드로 스킬 내보내기\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"Export skills needed for this fitting\"\nmsgstr \"클립보드로 이 피팅에 필요한 스킬 내보내기\"\n\n#: gui/mainFrame.py:827\nmsgid \"Exporting skills needed...\"\nmsgstr \"필요한 스킬 내보내기..\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:152\nmsgid \"Extra info in Additions panel tab names\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:90\nmsgid \"Extra stats\"\nmsgstr \"추가 스탯\"\n\n#: gui/builtinContextMenus/factorReload.py:26\nmsgid \"Factor in Reload Time\"\nmsgstr \"재장전 시간 적용\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:44\nmsgid \"Factor in reload time when calculating capacitor usage, damage, and tank.\"\nmsgstr \"캐패시터 소모, 데미지, 탱킹에 재장전 시간 적용\"\n\n#: gui/esiFittings.py:328\nmsgid \"Failed to generate export data\"\nmsgstr \"내보내기 데이터 생성 실패\"\n\n#: gui/aboutData.py:34\nmsgid \"Fat Cow Icons by fatcow.com - Creative Commons Attribution 3.0 License\"\nmsgstr \"Fat Cow Icons by fatcow.com - Creative Commons Attribution 3.0 License\"\n\n#: gui/esiFittings.py:44\nmsgid \"Fetch Fits\"\nmsgstr \"피팅 가져오기\"\n\n#: gui/esiFittings.py:114\nmsgid \"Fetching fits, please wait...\"\nmsgstr \"피팅을 가져오는 중입니다, 잠시 기다려 주십시오...\"\n\n#: gui/mainMenuBar.py:81\nmsgid \"Fi&t\"\nmsgstr \"핏\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:156\nmsgid \"Fighter bay\"\nmsgstr \"파이터 격납고\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:114\nmsgid \"Fighter squadrons active\"\nmsgstr \"파이터 함대 적용\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:19\n#: gui/builtinContextMenus/additionsExportSelection.py:19\n#: gui/builtinContextMenus/additionsImport.py:20 gui/additionsPane.py:69\nmsgid \"Fighters\"\nmsgstr \"파이터\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Filament\"\nmsgstr \"필라멘트\"\n\n#: gui/builtinContextMenus/itemFill.py:32\nmsgid \"Fill With Module\"\nmsgstr \"이 모듈로 채우기\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\n#, python-brace-format\nmsgid \"Fill With {0}\"\nmsgstr \"{0} 로 채우기\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\nmsgid \"Fill with module\"\nmsgstr \"이 모듈로 채우기\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:43\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\nmsgid \"Firepower\"\nmsgstr \"화력\"\n\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\nmsgid \"Firestorm T0/T1/T2\"\nmsgstr \"화염폭풍 T0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:135\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:137\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:206\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:208\nmsgid \"Firestorm T3 (Some T5 Rooms)\"\nmsgstr \"화염폭풍 T3 (일부 T5 포켓 포함)\"\n\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\nmsgid \"Firestorm T4/T5/T6\"\nmsgstr \"화염폭풍 T4/T5/T6\"\n\n#: graphs/gui/lists.py:306\nmsgid \"Fit\"\nmsgstr \"피팅\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:47\nmsgid \"Fitting Database:\"\nmsgstr \"피팅 데이터베이스:\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:27\nmsgid \"Fitting Engine\"\nmsgstr \"피팅 엔진\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57 gui/mainFrame.py:184\nmsgid \"Fittings\"\nmsgstr \"피팅\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:113\nmsgid \"Fleet hangar\"\nmsgstr \"함대 격납고\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Formatting Tags\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:43 eos/saveddata/damagePattern.py:44\n#: eos/saveddata/damagePattern.py:45 eos/saveddata/damagePattern.py:46\n#: eos/saveddata/damagePattern.py:47 eos/saveddata/damagePattern.py:48\n#: eos/saveddata/damagePattern.py:49 eos/saveddata/damagePattern.py:50\n#: eos/saveddata/damagePattern.py:51 eos/saveddata/damagePattern.py:52\n#: eos/saveddata/damagePattern.py:53 eos/saveddata/damagePattern.py:54\nmsgid \"Frequency Crystals\"\nmsgstr \"프리퀀시 크리스탈\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Frigate\"\nmsgstr \"프리깃\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:116\nmsgid \"Fuel bay\"\nmsgstr \"연료 창고\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Full\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:83\nmsgid \"Fusion\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"GDs: missile flight range reduction\"\nmsgstr \"유도 방해: 미사일 체공시간 감소\"\n\n#: eos/saveddata/targetProfile.py:57\nmsgid \"Gallente (Armor)\"\nmsgstr \"갈란테 (장갑)\"\n\n#: eos/saveddata/targetProfile.py:56\nmsgid \"Gallente (Shield)\"\nmsgstr \"갈란테 (실드)\"\n\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/targetProfile.py:97\nmsgid \"Gallente EDENCOM Entities\"\nmsgstr \"갈란테 EDENCOM 객체\"\n\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/targetProfile.py:75\nmsgid \"Gallente Federation\"\nmsgstr \"갈란테 연합\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:57\nmsgid \"Game Database:\"\nmsgstr \"게임 데이터베이스:\"\n\n#: eos/saveddata/damagePattern.py:51\nmsgid \"Gamma\"\nmsgstr \"감마\"\n\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\nmsgid \"Gamma T0/T1/T2\"\nmsgstr \"감마 T0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:177\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:179\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:224\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:226\nmsgid \"Gamma T3 (Some T5 Rooms)\"\nmsgstr \"감마 T3 (일부 T5 포켓 포함)\"\n\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Gamma T4/T5/T6\"\nmsgstr \"감마 T4/T5/T6\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:125\nmsgid \"Gas hold\"\nmsgstr \"가스 창고\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:20\nmsgid \"General\"\nmsgstr \"일반\"\n\n#: gui/mainFrame.py:904\nmsgid \"Generating HTML file at: {}\"\nmsgstr \"이 경로에 HTML 파일 생성: {}\"\n\n#: eos/saveddata/damagePattern.py:39 eos/saveddata/damagePattern.py:40\n#: eos/saveddata/damagePattern.py:41 eos/saveddata/damagePattern.py:42\nmsgid \"Generic\"\nmsgstr \"일반적\"\n\n#: gui/characterEditor.py:778\nmsgid \"Get Skills\"\nmsgstr \"스킬 불러오기\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:68\nmsgid \"Global Default Spoolup Percentage:\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"Go to EVE Online Forum thread\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"Go to wiki on GitHub\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:102\nmsgid \"Grant Missing Skills\"\nmsgstr \"\"\n\n#: graphs/gui/frame.py:51\nmsgid \"Graphs\"\nmsgstr \"그래프\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Gravimetric\"\nmsgstr \"중력장\"\n\n#: graphs/style.py:53\nmsgid \"Green\"\nmsgstr \"녹색\"\n\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:125\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:68\nmsgid \"Guristas\"\nmsgstr \"구리스타스\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:172\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"HP\"\nmsgstr \"HP\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:19\nmsgid \"HTML Export\"\nmsgstr \"HTML로 내보내기\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:20\nmsgid \"HTML Export (File > Export HTML) allows you to export your entire fitting database into an HTML file at the specified location. This file can be used to easily open your fits in a web-based fitting program\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/targetProfile.py:87\nmsgid \"Hawk\"\nmsgstr \"호크\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Heavy\"\nmsgstr \"헤비\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:136\nmsgid \"Hide Recent Fits\"\nmsgstr \"최근 피팅 숨기기\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:53\n#: gui/builtinShipBrowser/navigationPanel.py:147\nmsgid \"Hide empty ship groups\"\nmsgstr \"비어있는 함선 그룹 숨기기\"\n\n#: gui/builtinViewColumns/baseName.py:59\nmsgid \"High\"\nmsgstr \"높은\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:19\nmsgid \"High Security\"\nmsgstr \"하이섹\"\n\n#: eos/saveddata/targetProfile.py:48\nmsgid \"Hull\"\nmsgstr \"선체\"\n\n#: eos/saveddata/targetProfile.py:51\nmsgid \"Hull (+T2 DCU)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:78\nmsgid \"Hull repair amount\"\nmsgstr \"선체 수리량\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:114\nmsgid \"Hull resistance\"\nmsgstr \"선체 저항\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:49\n#: gui/builtinStatsViews/outgoingViewFull.py:50\nmsgid \"Hull restored\"\nmsgstr \"선체 회복량\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Hull: \"\nmsgstr \"선체: \"\n\n#: eos/saveddata/damagePattern.py:62 eos/saveddata/damagePattern.py:63\n#: eos/saveddata/damagePattern.py:64 eos/saveddata/damagePattern.py:65\n#: eos/saveddata/damagePattern.py:66 eos/saveddata/damagePattern.py:67\n#: eos/saveddata/damagePattern.py:68 eos/saveddata/damagePattern.py:69\n#: eos/saveddata/damagePattern.py:70 eos/saveddata/damagePattern.py:71\n#: eos/saveddata/damagePattern.py:72 eos/saveddata/damagePattern.py:73\nmsgid \"Hybrid Charges\"\nmsgstr \"하이브리드 탄약\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:35\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: eos/saveddata/targetProfile.py:293\nmsgid \"Ideal Target\"\nmsgstr \"이상적인 목표\"\n\n#: gui/builtinContextMenus/graphDroneControlRange.py:23\nmsgid \"Ignore Drone Control Range\"\nmsgstr \"드론 통제거리 무시\"\n\n#: gui/builtinContextMenus/graphLockRange.py:23\nmsgid \"Ignore Lock Range\"\nmsgstr \"타겟팅 거리 무시\"\n\n#: gui/builtinContextMenus/graphDmgIgnoreResists.py:23\nmsgid \"Ignore Target Resists\"\nmsgstr \"대상 저항력 무시\"\n\n#: gui/setEditor.py:62\nmsgid \"Implant Set\"\nmsgstr \"임플란트 세트\"\n\n#: gui/setEditor.py:122\nmsgid \"Implant Set Editor\"\nmsgstr \"임플란트 세트 에디터\"\n\n#: gui/setEditor.py:50\nmsgid \"Implant Set name already in use, please choose another.\"\nmsgstr \"이미 사용중인 이름입니다.\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\n#: gui/builtinContextMenus/additionsExportAll.py:21\n#: gui/builtinContextMenus/additionsExportAll.py:22\n#: gui/builtinContextMenus/additionsExportSelection.py:21\n#: gui/builtinContextMenus/additionsExportSelection.py:22\n#: gui/builtinContextMenus/additionsImport.py:22\n#: gui/builtinContextMenus/additionsImport.py:23 gui/characterEditor.py:161\n#: gui/additionsPane.py:75\nmsgid \"Implants\"\nmsgstr \"임플란트\"\n\n#: gui/builtinContextMenus/priceOptions.py:54\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:85\nmsgid \"Implants && Boosters\"\nmsgstr \"임플란트 && 부스터\"\n\n#: gui/propertyEditor.py:38\nmsgid \"Import\"\nmsgstr \"가져오기\"\n\n#: gui/mainFrame.py:946\nmsgid \"Import Error\"\nmsgstr \"가져오기 오류\"\n\n#: gui/characterEditor.py:442\nmsgid \"Import Skills\"\nmsgstr \"스킬 가져오기\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"Import a fit from the clipboard\"\nmsgstr \"클립보드에서 피팅 가져오기\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"Import characters into pyfa from file\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"Import fittings into pyfa\"\nmsgstr \"pyfa로 피팅 불러오기\"\n\n#: gui/setEditor.py:148\nmsgid \"Import implant sets from clipboard\"\nmsgstr \"클립보드로 임플란트 불러오기\"\n\n#: gui/propertyEditor.py:38 gui/propertyEditor.py:39\nmsgid \"Import overrides\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:171\nmsgid \"Import patterns from clipboard\"\nmsgstr \"클립보드에서 패턴 불러오기\"\n\n#: gui/targetProfileEditor.py:221\nmsgid \"Import profiles from clipboard\"\nmsgstr \"클립보드에서 프로필 불러오기\"\n\n#: gui/propertyEditor.py:107\nmsgid \"Import pyfa override file\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:372\nmsgid \"Import skills from clipboard\"\nmsgstr \"클립보드에서 스킬 불러오기\"\n\n#: gui/esiFittings.py:64\nmsgid \"Import to pyfa\"\nmsgstr \"pyfa로 불러오기\"\n\n#: gui/mainFrame.py:1019\nmsgid \"Importing Character...\"\nmsgstr \"캐릭터 불러오기..\"\n\n#: gui/mainFrame.py:844\nmsgid \"Importing fits\"\nmsgstr \"패팅 불러오기\"\n\n#: gui/characterEditor.py:440\nmsgid \"Importing skills into this character will set the skill levels as pending. To save the skills permanently, please click the Save button at the bottom of the window after importing\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Include formatting tags to paste fit directly into corp bulletins, MOTD, etc.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:115\nmsgid \"Incoming damage pattern\"\nmsgstr \"들어오는 피해 분포\"\n\n#: gui/targetProfileEditor.py:50\nmsgid \"Incorrect formatting (decimals only)\"\nmsgstr \"포맷이 잘못되었습니다. (숫자만 입력 가능합니다.)\"\n\n#: gui/targetProfileEditor.py:52\nmsgid \"Incorrect range (must be 0-100)\"\nmsgstr \"범위를 벗어났습니다. (0-100 안의 값이여야 합니다.)\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:121\nmsgid \"Industrial ship hold\"\nmsgstr \"인더스트리얼 함선 창고\"\n\n#: graphs/data/fitMobility/graph.py:46\nmsgid \"Inertia Modifier attribute value of the target ship\"\nmsgstr \"대상 함선의 관성 계수\"\n\n#: eos/saveddata/damagePattern.py:87\nmsgid \"Inferno\"\nmsgstr \"인페르노\"\n\n#: eos/saveddata/damagePattern.py:47\nmsgid \"Infrared\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Interceptor\"\nmsgstr \"인터셉터\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:65\nmsgid \"Interested in helping with translations?\"\nmsgstr \"번역에 도움을 주고 싶으신가요?\"\n\n#: gui/mainFrame.py:892\nmsgid \"Invalid Path\"\nmsgstr \"잘못된 경로\"\n\n#: gui/esiFittings.py:232\nmsgid \"Invalid Token\"\nmsgstr \"유효하지 않은 토큰\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:94 eos/saveddata/targetProfile.py:95\n#: eos/saveddata/targetProfile.py:96 eos/saveddata/targetProfile.py:97\n#: eos/saveddata/targetProfile.py:98 eos/saveddata/targetProfile.py:230\n#: eos/saveddata/targetProfile.py:231 eos/saveddata/targetProfile.py:232\nmsgid \"Invasion\"\nmsgstr \"침공\"\n\n#: eos/saveddata/damagePattern.py:66\nmsgid \"Iridium\"\nmsgstr \"이리듐탄\"\n\n#: eos/saveddata/damagePattern.py:64\nmsgid \"Iron\"\nmsgstr \"강철탄\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:147\n#: gui/builtinContextMenus/itemRemove.py:43\n#: gui/builtinContextMenus/itemStats.py:38\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Item\"\nmsgstr \"아이템\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:112\nmsgid \"Item Market Group Jump\"\nmsgstr \"\"\n\n#: gui/itemStats.py:58\nmsgid \"Item stats\"\nmsgstr \"아이템 스탯\"\n\n#: eos/saveddata/damagePattern.py:118 eos/saveddata/targetProfile.py:88\nmsgid \"Jaguar\"\nmsgstr \"재규어\"\n\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/targetProfile.py:76\nmsgid \"Khanid\"\nmsgstr \"카니드\"\n\n#: eos/saveddata/damagePattern.py:41\n#: gui/builtinContextMenus/moduleAmmoChange.py:27\nmsgid \"Kinetic\"\nmsgstr \"키네틱\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:87\n#: gui/targetProfileEditor.py:121\nmsgid \"Kinetic resistance\"\nmsgstr \"키네틱 저항력\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Ladar\"\nmsgstr \"라이다\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:38\nmsgid \"Language (requires restart)\"\nmsgstr \"언어 (재시작 필요)\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:120\nmsgid \"Large ship hold\"\nmsgstr \"대형 함선 창고\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:77\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Lasts \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:112\nmsgid \"Launcher hardpoints\"\nmsgstr \"런처 슬롯\"\n\n#: eos/saveddata/damagePattern.py:67\nmsgid \"Lead\"\nmsgstr \"납탄\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:94\n#: gui/builtinContextMenus/moduleAmmoChange.py:112\nmsgid \"Less Damage\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:343\nmsgid \"Level\"\nmsgstr \"레벨\"\n\n#: gui/builtinContextMenus/skillAffectors.py:79\n#, python-format\nmsgid \"Level %s\"\nmsgstr \"%s 레벨\"\n\n#: gui/builtinItemStatsViews/itemDependants.py:46 gui/characterEditor.py:591\n#: gui/characterEditor.py:616 gui/characterEditor.py:649\nmsgid \"Level {}\"\nmsgstr \"레벨 {}\"\n\n#: gui/characterEditor.py:532\nmsgid \"Level {}d\"\nmsgstr \"레벨 {}d\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Light\"\nmsgstr \"\"\n\n#: service/market.py:266\nmsgid \"Limited Issue Ships\"\nmsgstr \"한정판 함선\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Loaded Charges\"\nmsgstr \"장착된 차지\"\n\n#: gui/mainFrame.py:271\nmsgid \"Loading previous fits...\"\nmsgstr \"이전 피팅 불러오기..\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Local Server\"\nmsgstr \"로컬 서버\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:205\nmsgid \"Localized\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:34\nmsgid \"Lock Time\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:201\nmsgid \"Lock Times\"\nmsgstr \"타겟팅 시간\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Lock range reduction\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:36\nmsgid \"Lock time\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:794\nmsgid \"Log In with EVE SSO\"\nmsgstr \"EVE SSO를 통해 로그인하기\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:38\nmsgid \"Log file location:\"\nmsgstr \"로그 파일 위치:\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:19\nmsgid \"Logging\"\nmsgstr \"로깅\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:38\nmsgid \"Login Authentication Method\"\nmsgstr \"로그인 인증 방법\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:82\nmsgid \"Long Range\"\nmsgstr \"장거리\"\n\n#: gui/builtinViewColumns/baseName.py:61\nmsgid \"Low\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:20\nmsgid \"Low Security\"\nmsgstr \"로우 시큐리티\"\n\n#: graphs/style.py:56\nmsgid \"Magenta\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Magnetometric\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:114\nmsgid \"Maintenance bay\"\nmsgstr \"함선 정비 격납고\"\n\n#: gui/mainFrame.py:671\nmsgid \"Manage Characters\"\nmsgstr \"캐릭터 관리\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Manual\"\nmsgstr \"수동\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Manual proxy settings\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:180\nmsgid \"Market\"\nmsgstr \"마켓\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:23\nmsgid \"Market & Prices\"\nmsgstr \"상점 & 가격\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:30\nmsgid \"Market && Prices\"\nmsgstr \"상점 && 가격\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:99\nmsgid \"Market Group Selection\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:91\nmsgid \"Market Search && Recent Items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:39\nmsgid \"Market Search Delay (ms):\"\nmsgstr \"마켓 검색 딜레이(ms):\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:225\nmsgid \"Mass:\\t{:,.0f}kg\"\nmsgstr \"질량: {:,.0f}kg\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:124\nmsgid \"Material bay\"\nmsgstr \"재료 창고\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:208\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:241\n#, python-format\nmsgid \"Max Warp Distance: %.1f AU\"\nmsgstr \"최대 워프 거리: %.1f AU\"\n\n#: gui/targetProfileEditor.py:124\nmsgid \"Maximum speed\"\nmsgstr \"최대 속도\"\n\n#: gui/builtinViewColumns/baseName.py:60\nmsgid \"Med\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:119\nmsgid \"Medium ship hold\"\nmsgstr \"중형 함소 창고\"\n\n#: eos/saveddata/damagePattern.py:58\nmsgid \"Meson\"\nmsgstr \"메손\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:105\nmsgid \"Metaliminal Storm\"\nmsgstr \"메타경계성 폭풍\"\n\n#: eos/saveddata/damagePattern.py:46\nmsgid \"Microwave\"\nmsgstr \"마이크로파\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:123\nmsgid \"Mineral hold\"\nmsgstr \"정제된 광물 창고\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Minimal\"\nmsgstr \"최소\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:39\nmsgid \"Mining Yield\"\nmsgstr \"채광 수익\"\n\n#: eos/saveddata/targetProfile.py:59\nmsgid \"Minmatar (Armor)\"\nmsgstr \"민마타 (장갑)\"\n\n#: eos/saveddata/targetProfile.py:58\nmsgid \"Minmatar (Shield)\"\nmsgstr \"민마타 (실드)\"\n\n#: eos/saveddata/damagePattern.py:147 eos/saveddata/damagePattern.py:148\n#: eos/saveddata/targetProfile.py:98\nmsgid \"Minmatar EDENCOM Entities\"\nmsgstr \"민마타 EDENCOM 객체\"\n\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/targetProfile.py:77\nmsgid \"Minmatar Republic\"\nmsgstr \"민마타 공화국\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\nmsgid \"Misc\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/misc.py:50\nmsgid \"Misc data\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"Missile flight range reduction\"\nmsgstr \"미사일 체공시간 감소\"\n\n#: eos/saveddata/damagePattern.py:86 eos/saveddata/damagePattern.py:87\n#: eos/saveddata/damagePattern.py:88 eos/saveddata/damagePattern.py:89\nmsgid \"Missiles\"\nmsgstr \"미사일\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/damagePattern.py:150\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/damagePattern.py:152\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/damagePattern.py:154\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/damagePattern.py:156\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78\nmsgid \"Mission\"\nmsgstr \"미션\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:28\nmsgid \"Mixed\"\nmsgstr \"혼합\"\n\n#: eos/saveddata/damagePattern.py:86\nmsgid \"Mjolnir\"\nmsgstr \"묠니르\"\n\n#: graphs/data/fitMobility/graph.py:32\nmsgid \"Mobility\"\nmsgstr \"기동성\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:83\nmsgid \"Mode:\"\nmsgstr \"모드:\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\nmsgid \"Module\"\nmsgstr \"모듈\"\n\n#: graphs/data/fitMobility/graph.py:37\nmsgid \"Momentum\"\nmsgstr \"추진력\"\n\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/targetProfile.py:78\nmsgid \"Mordus Legion\"\nmsgstr \"모르두 군단\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:97\n#: gui/builtinContextMenus/moduleAmmoChange.py:115\nmsgid \"More Damage\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:52\nmsgid \"Multifrequency\"\nmsgstr \"멀티프리퀀시\"\n\n#: eos/saveddata/fit.py:408\nmsgid \"Multispectral\"\nmsgstr \"다중스펙트럼\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Mutated Attributes\"\nmsgstr \"변이 속성\"\n\n#: gui/itemStats.py:170\nmsgid \"Mutations\"\nmsgstr \"변이\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:149\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/damagePattern.py:151\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/damagePattern.py:153\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/damagePattern.py:155\n#: eos/saveddata/damagePattern.py:156 eos/saveddata/damagePattern.py:157\n#: eos/saveddata/damagePattern.py:158 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:80 eos/saveddata/targetProfile.py:81\n#: eos/saveddata/targetProfile.py:82 eos/saveddata/targetProfile.py:83\n#: eos/saveddata/targetProfile.py:84 eos/saveddata/targetProfile.py:85\n#: eos/saveddata/targetProfile.py:86 eos/saveddata/targetProfile.py:87\n#: eos/saveddata/targetProfile.py:88 eos/saveddata/targetProfile.py:89\n#: eos/saveddata/targetProfile.py:90 eos/saveddata/targetProfile.py:91\n#: eos/saveddata/targetProfile.py:92 eos/saveddata/targetProfile.py:94\n#: eos/saveddata/targetProfile.py:95 eos/saveddata/targetProfile.py:96\n#: eos/saveddata/targetProfile.py:97 eos/saveddata/targetProfile.py:98\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\n#: eos/saveddata/targetProfile.py:230 eos/saveddata/targetProfile.py:231\n#: eos/saveddata/targetProfile.py:232\nmsgid \"NPC\"\nmsgstr \"NPC\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:30\n#: gui/builtinViewColumns/baseName.py:55\nmsgid \"Name\"\nmsgstr \"이름\"\n\n#: gui/esiFittings.py:334\nmsgid \"Need at least one ESI character to export\"\nmsgstr \"내보내기 위해서는 적어도 한개의 ESI 캐릭터가 필요합니다\"\n\n#: gui/esiFittings.py:117\nmsgid \"Need at least one ESI character to fetch\"\nmsgstr \"가져오기 위해서는 적어도 한개의 ESI 캐릭터가 필요합니다\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:17\nmsgid \"Network\"\nmsgstr \"네트워크\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:149\nmsgid \"Neutralizer resistance\"\nmsgstr \"뉴트럴라이저 저항력\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Neuts: cap per second\"\nmsgstr \"뉴트럴라이즈: 초당 캐패시터 뉴트량\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount ({}-{})\"\nmsgstr \"새 수량({}-{})\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount:\"\nmsgstr \"새 수량:\"\n\n#: gui/builtinContextMenus/implantSetSave.py:45\nmsgid \"New Implant Set\"\nmsgstr \"새 임플란트 세트\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:51\nmsgid \"New fitting\"\nmsgstr \"새 피팅\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:58\nmsgid \"No\"\nmsgstr \"ㄴ\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:85\nmsgid \"No Profile\"\nmsgstr \"프로필 없음\"\n\n#: gui/characterSelection.py:230\nmsgid \"No active fit\"\nmsgstr \"활성화된 피팅 없음\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"No changes to meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"No proxy\"\nmsgstr \"프록시 없음\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\n#: gui/characterEditor.py:855\nmsgid \"None\"\nmsgstr \"\"\n\n#: graphs/style.py:80\nmsgid \"Normal\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:131\nmsgid \"Normal Subcaps\"\nmsgstr \"일반 서브캐피탈\"\n\n#: gui/builtinContextMenus/skillAffectors.py:77\nmsgid \"Not Learned\"\nmsgstr \"아직 배우지 않음\"\n\n#: gui/characterEditor.py:399 service/character.py:322\nmsgid \"Not learned\"\nmsgstr \"아직 배우지 않음\"\n\n#: gui/additionsPane.py:87\nmsgid \"Notes\"\nmsgstr \"노트\"\n\n#: eos/saveddata/damagePattern.py:89\nmsgid \"Nova\"\nmsgstr \"노바\"\n\n#: eos/saveddata/damagePattern.py:77\nmsgid \"Nuclear\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:21\nmsgid \"Null Security\"\nmsgstr \"널 시큐리티\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Open &Dev Tools\"\nmsgstr \"개발 도구 열기\"\n\n#: gui/characterSelection.py:150\nmsgid \"Open Character Editor\"\nmsgstr \"캐릭터 에디터 열기\"\n\n#: gui/builtinContextMenus/fitOpenNewTab.py:37\nmsgid \"Open Fit in New Tab\"\nmsgstr \"새 탭에서 피팅 열기\"\n\n#: gui/mainFrame.py:1010\nmsgid \"Open One Or More Character Files\"\nmsgstr \"하나 혹은 그 이상의 캐릭터 파일 열기\"\n\n#: gui/mainFrame.py:834\nmsgid \"Open One Or More Fitting Files\"\nmsgstr \"하나 혹은 그 이상의 피팅 파일 열기\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Wid&gets Inspect tool\"\nmsgstr \"조사 도구 위젯 열기\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Widgets Inspect tool\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:136\nmsgid \"Open fittings in a new page by default\"\nmsgstr \"기본 설정으로 새 페이지에서 피팅 열기\"\n\n#: gui/builtinContextMenus/shipJump.py:35\nmsgid \"Open in Fitting Browser\"\nmsgstr \"피팅 브라우저에서 열기\"\n\n#: gui/builtinShipBrowser/fitItem.py:227\nmsgid \"Open in new tab\"\nmsgstr \"새 탭에서 열기\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Optimize Prices\"\nmsgstr \"가격 최적화\"\n\n#: graphs/style.py:55\nmsgid \"Orange\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:122\nmsgid \"Ore hold\"\nmsgstr \"광물 창고\"\n\n#: eos/saveddata/targetProfile.py:79 eos/saveddata/targetProfile.py:80\nmsgid \"Other\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:100 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:184\nmsgid \"Overmind\"\nmsgstr \"오버마인드\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:75\nmsgid \"Passive shield recharge\"\nmsgstr \"패시브 실드 회복\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:125\nmsgid \"Password:\"\nmsgstr \"비밀번호:\"\n\n#: gui/builtinContextMenus/additionsImport.py:40\nmsgid \"Paste {}\"\nmsgstr \"붙여넣기 {}\"\n\n#: gui/patternEditor.py:295\nmsgid \"Patterns exported to clipboard\"\nmsgstr \"패턴이 클립보드에 복사되었습니다\"\n\n#: gui/setEditor.py:210 gui/patternEditor.py:276\nmsgid \"Patterns successfully imported from clipboard\"\nmsgstr \"클립보드에서 패턴을 성공적으로 가져왔습니다\"\n\n#: eos/saveddata/damagePattern.py:82\nmsgid \"Phased Plasma\"\nmsgstr \"위상 플라즈마\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:128\nmsgid \"Planetary goods hold\"\nmsgstr \"행성 자원 창고\"\n\n#: gui/mainFrame.py:721\nmsgid \"Please Wait...\"\nmsgstr \"잠시만 기다려주십시오..\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:32\nmsgid \"Please see the pyfa wiki on GitHub for information regarding these options.\"\nmsgstr \"이 옵션에 대한 정보를 더 알고싶으시다면 GitHub의 pyfa wiki를 방문해주세요\"\n\n#: gui/esiFittings.py:315\nmsgid \"Please select an active fitting in the main window\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:758\nmsgid \"Please select another character or make a new one.\"\nmsgstr \"다른 캐릭터를 선택하거나 새롭게 만들어주세요\"\n\n#: gui/mainFrame.py:895\nmsgid \"Please verify path location pyfa's preferences.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphFitAmmoPicker.py:29\nmsgid \"Plot with Different Ammo...\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:70\nmsgid \"Plutonium\"\nmsgstr \"플루토늄\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Pod\"\nmsgstr \"캡슐\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:109\nmsgid \"Port:\"\nmsgstr \"포트:\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:154\nmsgid \"PowerGrid\"\nmsgstr \"파워그리드\"\n\n#: gui/preferenceDialog.py:31\nmsgid \"Preferences\"\nmsgstr \"설정\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:59\nmsgid \"Pressing this button will cause all logs in memory to write to the log file:\"\nmsgstr \"이 단추를 누르면 이제부터 모든 로그를 기록합니다.\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:155\n#: gui/builtinStatsViews/priceViewFull.py:40\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\nmsgid \"Price\"\nmsgstr \"가격\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:41\nmsgid \"Pricing updates\"\nmsgstr \"가격 업데이트\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:265\n#, python-format\nmsgid \"Probe Size: %.3f\"\nmsgstr \"프로브 크기: %.3f\"\n\n#: gui/targetProfileEditor.py:372\nmsgid \"Profiles exported to clipboard\"\nmsgstr \"프로필을 클립보드에 복사했습니다\"\n\n#: gui/targetProfileEditor.py:352\nmsgid \"Profiles successfully imported from clipboard\"\nmsgstr \"성공적으로 프로필을 클립보드에서 가져왔습니다\"\n\n#: gui/builtinShipBrowser/fitItem.py:230\nmsgid \"Project onto Active Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\nmsgid \"Project onto Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemProject.py:34\n#, python-brace-format\nmsgid \"Project {0} onto Fit\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:81\nmsgid \"Projected\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/projectedView.py:304\n#: gui/builtinAdditionPanes/projectedView.py:314\n#: gui/builtinAdditionPanes/projectedView.py:319\n#: gui/builtinAdditionPanes/projectedView.py:324\nmsgid \"Projected Item\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:74 eos/saveddata/damagePattern.py:75\n#: eos/saveddata/damagePattern.py:76 eos/saveddata/damagePattern.py:77\n#: eos/saveddata/damagePattern.py:78 eos/saveddata/damagePattern.py:79\n#: eos/saveddata/damagePattern.py:80 eos/saveddata/damagePattern.py:81\n#: eos/saveddata/damagePattern.py:82 eos/saveddata/damagePattern.py:83\n#: eos/saveddata/damagePattern.py:84 eos/saveddata/damagePattern.py:85\nmsgid \"Projectile Ammo\"\nmsgstr \"발사체 탄약\"\n\n#: gui/itemStats.py:200\nmsgid \"Properties\"\nmsgstr \"속성\"\n\n#: gui/builtinContextMenus/shipModeChange.py:19\nmsgid \"Propulsion\"\nmsgstr \"추진기\"\n\n#: eos/saveddata/damagePattern.py:78\nmsgid \"Proton\"\nmsgstr \"양성자\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:49\nmsgid \"Proxy settings\"\nmsgstr \"프록시 설정\"\n\n#: graphs/style.py:58\nmsgid \"Purple\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:222\nmsgid \"PvP Weather\"\nmsgstr \"\"\n\n#: gui/aboutData.py:49\nmsgid \"Pyfa (the Python Fitting Assistant) is an open-source standalone application able to create and simulate fittings for EVE-Online SciFi MMORPG with a very high degree of accuracy. Pyfa can run on all platforms where Python and wxWidgets are supported.\"\nmsgstr \"Pyfa (the Python Fitting Assistant) 는 굉장히 높은 정확도로 피팅을 만들고 시뮬레이션 할수있는 독립적 오픈소스 어플리케이션입니다. Pyfa는 Python과 wxWidget이 있다면 모든 플랫폼에서 동작합니다.\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:44\nmsgid \"Pyfa Update checks\"\nmsgstr \"Pyfa 업데이트 확인\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:15\nmsgid \"Pyfa can automatically check and notify you of new releases. This feature is toggled in the Network settings. Here, you may allow pre-release notifications and view suppressed release notifications, if any.\"\nmsgstr \"Pyfa는 자동적으로 최신 릴리즈를 체크하여 사용자에게 안내할수있습니다. 이것은 네트워크 설정에서 켜고 끌수 있습니다.\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:69\nmsgid \"Pyfa language selection disabled. Please check if .mo files have been generated.\\n\"\n\"Refer to locale/README.md for info.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:129\nmsgid \"Quafe hold\"\nmsgstr \"퀘이프 창고\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of active items\"\nmsgstr \"활성화된 아이템 개수\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of all items\"\nmsgstr \"모든 아이템 개수\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Radar\"\nmsgstr \"레이더\"\n\n#: eos/saveddata/damagePattern.py:45\nmsgid \"Radio\"\nmsgstr \"라디오파\"\n\n#: gui/targetProfileEditor.py:126\nmsgid \"Radius\"\nmsgstr \"반경\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:54\nmsgid \"Random stats\"\nmsgstr \"무작위 스탯\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:63\nmsgid \"Range\"\nmsgstr \"거리\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:222\nmsgid \"Raw HP: \"\nmsgstr \"실제 HP: \"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:223\n#, python-format\nmsgid \"Raw: %d HP\"\nmsgstr \"기초: %d HP\"\n\n#: gui/mainFrame.py:652\nmsgid \"Re-enabling fitting restrictions for this fit will also remove any illegal items from the fit. Do you want to continue?\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:56\n#: gui/builtinShipBrowser/navigationPanel.py:129\nmsgid \"Recent Fits\"\nmsgstr \"최근 피팅\"\n\n#: gui/builtinMarketBrowser/marketTree.py:37\nmsgid \"Recently Used Items\"\nmsgstr \"최근 사용된 아이템\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:43\nmsgid \"Recharge rates\"\nmsgstr \"재출전 시간\"\n\n#: graphs/style.py:52\nmsgid \"Red\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"Redo the most recent undone action\"\nmsgstr \"가장 최근의 작업을 취소합니다\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:62\n#: gui/builtinItemStatsViews/itemAffectedBy.py:77\n#: gui/builtinItemStatsViews/itemCompare.py:79\nmsgid \"Refresh\"\nmsgstr \"새로고침\"\n\n#: gui/characterSelection.py:68\nmsgid \"Refresh Skills\"\nmsgstr \"스킬 새로고침\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:86\nmsgid \"Reinforced\"\nmsgstr \"강화\"\n\n#: graphs/data/fitRemoteReps/graph.py:62\nmsgid \"Reload ancillary RRs\"\nmsgstr \"보조 원격 수리기 재탑재\"\n\n#: graphs/data/fitRemoteReps/graph.py:48\nmsgid \"Remote Repairs\"\nmsgstr \"원격 수리\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:65\n#: gui/builtinStatsViews/outgoingViewFull.py:66\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Remote Reps\"\nmsgstr \"원격 수리\"\n\n#: gui/esiFittings.py:387\nmsgid \"Remove Character\"\nmsgstr \"캐릭터 삭제\"\n\n#: gui/propertyEditor.py:71\nmsgid \"Remove Overides for Item\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemRemove.py:42\n#, python-brace-format\nmsgid \"Remove {item}{stack}\"\nmsgstr \"{item}{stack} 삭제\"\n\n#: gui/builtinShipBrowser/fitItem.py:108\nmsgid \"Rename\"\nmsgstr \"이름 변경\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:118\nmsgid \"Reopen previous fits on startup\"\nmsgstr \"시작시 이전에 열었던 피팅 다시 열기\"\n\n#: graphs/data/fitRemoteReps/graph.py:53\nmsgid \"Repair speed\"\nmsgstr \"수리 속도\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Replace items by cheaper alternatives\"\nmsgstr \"\"\n\n#: gui/itemStats.py:185\nmsgid \"Requirements\"\nmsgstr \"요구사항\"\n\n#: gui/builtinContextMenus/moduleSpool.py:98\nmsgid \"Reset\"\nmsgstr \"초기화\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:76\nmsgid \"Reset Suppression\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:51\nmsgid \"Reset defaults\"\nmsgstr \"기본값으로 되돌리기\"\n\n#: gui/builtinContextMenus/resistMode.py:41\nmsgid \"Resist Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:213\nmsgid \"Resist Multiplier: \"\nmsgstr \"저항력 증폭: \"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:47\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\nmsgid \"Resistances\"\nmsgstr \"저항력\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:84\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\nmsgid \"Resources\"\nmsgstr \"자원\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:57\nmsgid \"Revert changes\"\nmsgstr \"변경사항 취소\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Revert to {}\"\nmsgstr \"{}로 되돌리기\"\n\n#: gui/builtinViewColumns/baseName.py:63\nmsgid \"Rig\"\nmsgstr \"리그\"\n\n#: eos/saveddata/damagePattern.py:108 eos/saveddata/damagePattern.py:126\nmsgid \"Rogue Drone\"\nmsgstr \"로그 드론\"\n\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/targetProfile.py:231\nmsgid \"Rogue Drone Entities\"\nmsgstr \"로그 드론 엔티티\"\n\n#: eos/saveddata/targetProfile.py:63 eos/saveddata/targetProfile.py:69\nmsgid \"Rogue Drones\"\nmsgstr \"로그 드론\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:34\nmsgid \"Run Time\"\nmsgstr \"런타임\"\n\n#: gui/esiFittings.py:368\nmsgid \"SSO Character Management\"\nmsgstr \"SSO 캐릭터 관리\"\n\n#: gui/ssoLogin.py:15 gui/ssoLogin.py:49\nmsgid \"SSO Login\"\nmsgstr \"SSO 로그인\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:45\nmsgid \"SSO Mode\"\nmsgstr \"SSO 모드\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:126\nmsgid \"Salvage hold\"\nmsgstr \"샐비지 자원 창고\"\n\n#: locale_test/getTextLocale.py:4\nmsgid \"Sample Title Text English\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/targetProfile.py:192\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:198\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:204\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:210\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:216\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:222\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:228\nmsgid \"Sansha\"\nmsgstr \"산샤\"\n\n#: eos/saveddata/damagePattern.py:157 eos/saveddata/targetProfile.py:80\n#: gui/builtinContextMenus/envEffectAdd.py:124\nmsgid \"Sansha Incursion\"\nmsgstr \"산샤 침공\"\n\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:127\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:70\nmsgid \"Sanshas Nation\"\nmsgstr \"산샤 제국\"\n\n#: gui/mainFrame.py:858\nmsgid \"Save Backup As...\"\nmsgstr \"새 이름으로 백업 저장\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:117\nmsgid \"Save CSV file\"\nmsgstr \"CSV 파일로 저장하기\"\n\n#: gui/mainMenuBar.py:114\nmsgid \"Save Character &As...\"\nmsgstr \"캐릭터 저장하기..\"\n\n#: gui/characterEditor.py:282\nmsgid \"Save Character As...\"\nmsgstr \"새 이름으로 캐릭터 저장\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:48\n#: gui/mainFrame.py:465\nmsgid \"Save Fitting As...\"\nmsgstr \"새 이름으로 피팅 저장\"\n\n#: gui/propertyEditor.py:130\nmsgid \"Save Overrides As...\"\nmsgstr \"새 이름으로 오버라이드 저장\"\n\n#: gui/builtinContextMenus/implantSetSave.py:27\nmsgid \"Save as New Implant Set\"\nmsgstr \"새 임플란트 세트로 저장하기\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:64\nmsgid \"Scan res.\"\nmsgstr \"스캔 해상도\"\n\n#: eos/saveddata/damagePattern.py:91\nmsgid \"Scorch Bomb\"\nmsgstr \"스코치 폭탄\"\n\n#: eos/saveddata/damagePattern.py:88\nmsgid \"Scourge\"\nmsgstr \"스커지\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:61\nmsgid \"Search fittings\"\nmsgstr \"피팅 검색\"\n\n#: gui/characterEditor.py:356\n#, python-brace-format\nmsgid \"Sec Status: {0:.2f}\"\nmsgstr \"시큐리티 상태: {0:.2f}\"\n\n#: gui/characterEditor.py:914\nmsgid \"Security Status is used in some CONCORD hull calculations\"\nmsgstr \"시큐리티 상태는 CONCORD의 선체량 계산에 사용됩니다.\"\n\n#: eos/saveddata/damagePattern.py:102 eos/saveddata/targetProfile.py:101\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:115\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:129\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:143\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:157\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:171\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:185\nmsgid \"Seeker\"\nmsgstr \"씨커\"\n\n#: gui/copySelectDialog.py:62\nmsgid \"Select a format\"\nmsgstr \"포맷 선택\"\n\n#: gui/esiFittings.py:318\nmsgid \"Sending request and awaiting response\"\nmsgstr \"요청을 보내고 응답을 기다리는중\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:65\nmsgid \"Sensor str.\"\nmsgstr \"센서 강도\"\n\n#: eos/saveddata/damagePattern.py:122 eos/saveddata/targetProfile.py:92\nmsgid \"Sentinel\"\nmsgstr \"센티널\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:122\nmsgid \"Separate Racks\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:110 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:65 eos/saveddata/targetProfile.py:71\nmsgid \"Serpentis\"\nmsgstr \"서펜티스\"\n\n#: gui/builtinViewColumns/baseName.py:64\nmsgid \"Service\"\nmsgstr \"서비스\"\n\n#: gui/characterEditor.py:907\nmsgid \"Set Security Status\"\nmsgstr \"시큐리티 상태 설정\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\nmsgid \"Set as Damage Pattern\"\nmsgstr \"데미지 패턴 설정\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:53\nmsgid \"Set export destination\"\nmsgstr \"내보내기 경로 설정\"\n\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Set {} as Damage Pattern\"\nmsgstr \"\"\n\n#: gui/setEditor.py:229\nmsgid \"Sets exported to clipboard\"\nmsgstr \"설정을 클립보드에 내보냈습니다\"\n\n#: gui/characterEditor.py:326\nmsgid \"Setting an Alpha clone does not replace the character's skills, but rather caps them to Alpha levels.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:20\nmsgid \"Sharpshooter\"\nmsgstr \"저격모드\"\n\n#: eos/saveddata/targetProfile.py:46\nmsgid \"Shield\"\nmsgstr \"실드\"\n\n#: eos/saveddata/targetProfile.py:49\nmsgid \"Shield (+T2 DCU)\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:38\nmsgid \"Shield Regeneration\"\nmsgstr \"실드 회복\"\n\n#: graphs/data/fitShieldRegen/graph.py:42\n#: graphs/data/fitShieldRegen/graph.py:55\n#: graphs/data/fitShieldRegen/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:61\nmsgid \"Shield amount\"\nmsgstr \"실드량\"\n\n#: graphs/data/fitShieldRegen/graph.py:62\nmsgid \"Shield regen\"\nmsgstr \"실드 회복\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:112\nmsgid \"Shield resistance\"\nmsgstr \"실드 저항력\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:37\n#: gui/builtinStatsViews/outgoingViewFull.py:38\nmsgid \"Shield restored\"\nmsgstr \"실드 회복됨\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\nmsgid \"Shield/Armor Tank\"\nmsgstr \"실드/장갑 탱킹\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Shield: \"\nmsgstr \"실드: \"\n\n#: gui/builtinViews/fittingView.py:664\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57\nmsgid \"Ship\"\nmsgstr \"함선\"\n\n#: gui/builtinShipBrowser/shipItem.py:111\nmsgid \"Ship Basic\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:48\nmsgid \"Ship groups\"\nmsgstr \"함선 그룹\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:117\nmsgid \"Ship hold\"\nmsgstr \"함선 창고\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:100\nmsgid \"Short Range\"\nmsgstr \"단거리\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:126\nmsgid \"Show Rack Labels\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:151\nmsgid \"Show empty ship groups\"\nmsgstr \"비어있는 함선 그룹 보이기\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:130\nmsgid \"Show fitting tab tooltips\"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:71\nmsgid \"Show legend\"\nmsgstr \"범례 보기\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:52\nmsgid \"Show market shortcuts\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:140\nmsgid \"Show ship browser tooltip\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:93\nmsgid \"Shrapnel Bomb\"\nmsgstr \"세열폭탄\"\n\n#: gui/builtinContextMenus/boosterSideEffects.py:34\nmsgid \"Side Effects\"\nmsgstr \"부작용\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:88\nmsgid \"Signature\"\nmsgstr \"시그니처\"\n\n#: gui/targetProfileEditor.py:125\nmsgid \"Signature radius\\n\"\n\"Leave blank for infinitely big value\"\nmsgstr \"시그니처 반경을 무한하게 하려면 이 칸을 비우세요\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"Signature radius increase\"\nmsgstr \"시그니처 반경 증가\"\n\n#: gui/aboutData.py:33\nmsgid \"Silk Icons Set by famfamfam.com - Creative Commons Attribution 2.5 License\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:342 gui/characterEditor.py:608\nmsgid \"Skill\"\nmsgstr \"스킬\"\n\n#: gui/characterEditor.py:160\nmsgid \"Skills\"\nmsgstr \"스킬들\"\n\n#: gui/characterSelection.py:242\nmsgid \"Skills required:\"\nmsgstr \"필요한 스킬:\"\n\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:104 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:118 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:132 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:146 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:160 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:174 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:188\nmsgid \"Sleeper\"\nmsgstr \"슬리퍼\"\n\n#: eos/saveddata/damagePattern.py:161 eos/saveddata/targetProfile.py:232\nmsgid \"Sleeper Entities\"\nmsgstr \"슬리퍼 객체\"\n\n#: eos/saveddata/damagePattern.py:158\nmsgid \"Sleepers\"\nmsgstr \"슬리퍼들\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:118\nmsgid \"Small ship hold\"\nmsgstr \"소형 ㅎ마선 창고\"\n\n#: graphs/style.py:86\nmsgid \"Solid\"\nmsgstr \"고체\"\n\n#: graphs/data/fitMobility/graph.py:35\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:86\nmsgid \"Speed\"\nmsgstr \"속도\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Speed reduction\"\nmsgstr \"속도 저하\"\n\n#: gui/builtinContextMenus/droneSplitStack.py:29\nmsgid \"Split {} Stack\"\nmsgstr \"{}개로 분할하기\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:169\nmsgid \"Spool up\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\nmsgid \"Spoolup\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:37\nmsgid \"Spoolup Cycles\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Stable: \"\nmsgstr \"안정: \"\n\n#: eos/saveddata/damagePattern.py:48\nmsgid \"Standard\"\nmsgstr \"스탠다드\"\n\n#: graphs/data/fitCapacitor/graph.py:46\nmsgid \"Starting cap amount\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:46\nmsgid \"Starting shield amount\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:22\nmsgid \"Statistics Panel\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:45\nmsgid \"Stick to Attacker\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:44\nmsgid \"Stick to Target\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:145 eos/saveddata/damagePattern.py:148\nmsgid \"Subcaps\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:136\n#, no-python-format\nmsgid \"Subcaps w/missiles 0% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:142\n#, no-python-format\nmsgid \"Subcaps w/missiles 100% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:139\n#, no-python-format\nmsgid \"Subcaps w/missiles 50% spool up\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:62\nmsgid \"Subsystem\"\nmsgstr \"서브시스템\"\n\n#: gui/characterEditor.py:901\nmsgid \"Success\"\nmsgstr \"성공\"\n\n#: gui/characterEditor.py:901\nmsgid \"Successfully fetched skills\"\nmsgstr \"성공적으로 스킬을 불러왔습니다.\"\n\n#: eos/saveddata/damagePattern.py:114 eos/saveddata/targetProfile.py:84\nmsgid \"Succubus (Sanshas Nation)\"\nmsgstr \"서큐버스 (산샤 제국)\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Support\"\nmsgstr \"지원\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:48\n#, python-brace-format\nmsgid \"Suppressing {0} Notifications\"\nmsgstr \"{0}개의 알림 무시중\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:87\nmsgid \"Sustained\"\nmsgstr \"지속됨\"\n\n#: eos/saveddata/targetProfile.py:46 eos/saveddata/targetProfile.py:47\n#: eos/saveddata/targetProfile.py:48 eos/saveddata/targetProfile.py:49\n#: eos/saveddata/targetProfile.py:50 eos/saveddata/targetProfile.py:51\nmsgid \"T1 Resist\"\nmsgstr \"T1 저항력\"\n\n#: eos/saveddata/targetProfile.py:52 eos/saveddata/targetProfile.py:53\n#: eos/saveddata/targetProfile.py:54 eos/saveddata/targetProfile.py:55\n#: eos/saveddata/targetProfile.py:56 eos/saveddata/targetProfile.py:57\n#: eos/saveddata/targetProfile.py:58 eos/saveddata/targetProfile.py:59\nmsgid \"T2 Resist\"\nmsgstr \"T2 저항력\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"TDs: turret optimal range reduction\"\nmsgstr \"트래킹 교란: 터렛 최적사거리 감소\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"TPs: signature radius increase\"\nmsgstr \"타겟 지시: 시그니처 반경 증가\"\n\n#: gui/builtinViews/fittingView.py:660 gui/builtinViewColumns/baseName.py:102\n#: gui/builtinContextMenus/shipModeChange.py:37\nmsgid \"Tactical Mode\"\nmsgstr \"추진 모드\"\n\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/targetProfile.py:91\nmsgid \"Talos\"\nmsgstr \"탈로스\"\n\n#: graphs/data/fitDamageStats/graph.py:75 graphs/gui/lists.py:359\nmsgid \"Target\"\nmsgstr \"타겟\"\n\n#: gui/targetProfileEditor.py:86\nmsgid \"Target Profile\"\nmsgstr \"타겟 프로필\"\n\n#: gui/targetProfileEditor.py:130\nmsgid \"Target Profile Editor\"\nmsgstr \"타겟 프로필 편집기\"\n\n#: gui/targetProfileEditor.py:73\nmsgid \"Target Profile name already in use, please choose another.\"\nmsgstr \"해당 타겟 프로필 이름은 이미 사용중입니다.\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:33\nmsgid \"Target Resists\"\nmsgstr \"대상 저항력\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Target distance traveled\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:45\nmsgid \"Target inertia factor\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:43\nmsgid \"Target mass\"\nmsgstr \"타겟 질량\"\n\n#: graphs/data/fitEwarStats/graph.py:45\nmsgid \"Target resistance\"\nmsgstr \"타겟 저항력\"\n\n#: graphs/data/fitLockTime/graph.py:37 graphs/data/fitDamageStats/graph.py:71\nmsgid \"Target signature\"\nmsgstr \"타겟 시그니처\"\n\n#: graphs/data/fitLockTime/graph.py:35 graphs/data/fitDamageStats/graph.py:62\n#: graphs/data/fitDamageStats/graph.py:63\nmsgid \"Target signature radius\"\nmsgstr \"타겟 시그니처 크기\"\n\n#: graphs/data/fitMobility/graph.py:38 graphs/data/fitDamageStats/graph.py:60\n#: graphs/data/fitDamageStats/graph.py:61\n#: graphs/data/fitDamageStats/graph.py:70\nmsgid \"Target speed\"\nmsgstr \"타겟 속도\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:40\nmsgid \"Targeting && Misc\"\nmsgstr \"타겟팅 && 기타\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:62\nmsgid \"Targets\"\nmsgstr \"타겟\"\n\n#: eos/saveddata/damagePattern.py:60\nmsgid \"Tetryon\"\nmsgstr \"테트리온\"\n\n#: gui/mainFrame.py:809\nmsgid \"Text skills training file\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:72\nmsgid \"The amount of spoolup to use by default on module which support it. Can be changed on a per-module basis\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:44\nmsgid \"The delay between a keystroke and the market search. Can help reduce lag when typing fast in the market search box.\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:949\nmsgid \"The following error was generated\"\nmsgstr \"다음 오류가 발생했습니다.\"\n\n#: gui/mainFrame.py:893\nmsgid \"The following path is invalid or does not exist:\"\nmsgstr \"다음 경로가 유효하지 않거나 존재하지 않습니다:\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:64\nmsgid \"The source you choose will be tried first, but subsequent sources will be used if the preferred source fails. The system you choose will also be tried first, and if no data is available, global price will be used.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:53\nmsgid \"There is a release available which you have chosen to suppress. You can choose to reset notification suppression for this release, or download the new release from GitHub.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:463\nmsgid \"There was an error importing skills, please see log file\"\nmsgstr \"스킬을 가져오는데 실패했습니다. 로그 파일을 참고해주세요\"\n\n#: gui/esiFittings.py:230\nmsgid \"There was an error validating characters' SSO token. Please try logging into the character again to reset the token.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:213\nmsgid \"There was an issue starting up the localized server, try setting Login Authentication Method to Manual by going to Preferences -> EVE SS0 -> Login Authentication Method. If this doesn't fix the problem please file an issue on Github.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:40\n#: gui/builtinContextMenus/moduleAmmoChange.py:25\nmsgid \"Thermal\"\nmsgstr \"열\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:86\n#: gui/targetProfileEditor.py:120\nmsgid \"Thermal resistance\"\nmsgstr \"열 저항력\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:107\nmsgid \"This is a destructive action that will delete all cached prices out of the database.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:97\nmsgid \"This is a destructive action that will delete all damage pattern profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:102\nmsgid \"This is a destructive action that will delete all target profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:49\nmsgid \"This option goes through EVE SSO directly, but requires more configuration. Use this if pyfa.io is blocked for some reason, or if you do not wish to route data throguh pyfa.io.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:42\nmsgid \"This option prompts users to copy and paste information from the web application to allow for character login. Use this if having issues with the local server.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:47\nmsgid \"This options routes SSO Logins through pyfa.io, allowing you to easily login without any configuration. When in doubt, use this option.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:40\nmsgid \"This options starts a local webserver that the web application will call back to with information about the character login.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:68\nmsgid \"Thorium\"\nmsgstr \"토륨\"\n\n#: eos/saveddata/damagePattern.py:156\nmsgid \"Thukker\"\nmsgstr \"터커\"\n\n#: graphs/data/fitMobility/graph.py:33 graphs/data/fitMobility/graph.py:41\n#: graphs/data/fitCapacitor/graph.py:34 graphs/data/fitCapacitor/graph.py:41\n#: graphs/data/fitRemoteReps/graph.py:51 graphs/data/fitRemoteReps/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:40\n#: graphs/data/fitShieldRegen/graph.py:54\n#: graphs/data/fitDamageStats/graph.py:59\n#: graphs/data/fitDamageStats/graph.py:68\nmsgid \"Time\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:80\nmsgid \"Titanium Sabot\"\nmsgstr \"티타늄 사봇\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:70\nmsgid \"Toggle Names\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:73\nmsgid \"Toggle View\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:75\nmsgid \"Toggle view mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/miningyieldViewFull.py:89\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Total\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:76\nmsgid \"Total Price Includes\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:54\nmsgid \"Total repaired\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:67\nmsgid \"Total: \"\nmsgstr \"합계: \"\n\n#: gui/itemStats.py:166\nmsgid \"Traits\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:104 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:186\nmsgid \"Triglavian\"\nmsgstr \"트리글라비안\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/targetProfile.py:94\nmsgid \"Triglavian Entities\"\nmsgstr \"트리글라비안 객체\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:126\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Triglavian Invasion\"\nmsgstr \"트리글라비안 침공\"\n\n#: eos/saveddata/damagePattern.py:65\nmsgid \"Tungsten\"\nmsgstr \"텅스텐\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:111\nmsgid \"Turret hardpoints\"\nmsgstr \"터렛 하드포인트\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"Turret optimal range reduction\"\nmsgstr \"터렛 유효사거리 저하\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:32\nmsgid \"Type\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:218\n#, python-brace-format\nmsgid \"Type: {0}\\n\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:222\nmsgid \"Type: {}\"\nmsgstr \"타입: {}\"\n\n#: eos/saveddata/damagePattern.py:49\nmsgid \"Ultraviolet\"\nmsgstr \"울트라바이올렛\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"Undo the most recent action\"\nmsgstr \"가장 최근 작업 취소\"\n\n#: eos/saveddata/damagePattern.py:38\nmsgid \"Uniform\"\nmsgstr \"균등\"\n\n#: eos/saveddata/targetProfile.py:42\nmsgid \"Uniform (25%)\"\nmsgstr \"균등 (25%)\"\n\n#: eos/saveddata/targetProfile.py:43\nmsgid \"Uniform (50%)\"\nmsgstr \"균등 (50%)\"\n\n#: eos/saveddata/targetProfile.py:44\nmsgid \"Uniform (75%)\"\nmsgstr \"균등 (75%)\"\n\n#: eos/saveddata/targetProfile.py:45\nmsgid \"Uniform (90%)\"\nmsgstr \"균등 (90%)\"\n\n#: gui/characterEditor.py:614\nmsgid \"Unlearn\"\nmsgstr \"\"\n\n#: gui/updateDialog.py:54\nmsgid \"Update Available\"\nmsgstr \"업데이트 가능\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:14\nmsgid \"Updates\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:69\nmsgid \"Uranium\"\nmsgstr \"우랴늄\"\n\n#: gui/builtinAdditionPanes/implantView.py:68\nmsgid \"Use Character Implants\"\nmsgstr \"캐릭터 임플란트 사용\"\n\n#: gui/builtinAdditionPanes/implantView.py:67\nmsgid \"Use Fit-specific Implants\"\nmsgstr \"피팅에 지정된 임플란트 사용\"\n\n#: graphs/data/fitCapacitor/graph.py:48\nmsgid \"Use capacitor simulator\"\nmsgstr \"캐패시터 시뮬레이터 사용\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:102\nmsgid \"Use character implants by default for new fits\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:98\nmsgid \"Use global character\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:106\nmsgid \"Use global damage pattern\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:121\nmsgid \"Username:\"\nmsgstr \"사용자명:\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:34\nmsgid \"Using Executable Path for Saved Fit Database and Settings\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemVariationChange.py:49\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\nmsgid \"Variations\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/targetProfile.py:89\nmsgid \"Vengeance\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:53\nmsgid \"View Raw Data\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Volley\"\nmsgstr \"일제 사격\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:22\nmsgid \"W-Space\"\nmsgstr \"W-Space\"\n\n#: gui/ssoLogin.py:62\nmsgid \"Waiting for character login through EVE Single Sign-On.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:210\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:212\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:243\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:245\n#, python-format\nmsgid \"Warp Core Strength: %.1f\"\nmsgstr \"워프 코어 강도: %.1f\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:89\nmsgid \"Warp Speed\"\nmsgstr \"워프 속도\"\n\n#: graphs/data/fitWarpTime/graph.py:45\nmsgid \"Warp Time\"\nmsgstr \"워프 시간\"\n\n#: graphs/data/fitWarpTime/graph.py:49\nmsgid \"Warp time\"\nmsgstr \"워프 시간\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Weapon\"\nmsgstr \"무기\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Webs: speed reduction\"\nmsgstr \"웹: 속도 저하\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:61\nmsgid \"When damage profile is Uniform, set Reactive Armor Hardener to match (old behavior).\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:149\nmsgid \"When disabled, reloads charges just in selected modules. Action can be reversed by holding Ctrl or Alt key while changing charge.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:54\nmsgid \"When enabled, skills will check their dependencies' requirements when their levels change and reset skills that no longer meet the requirement.\\n\"\n\"eg: Setting Drones from level V to IV will reset the Heavy Drone Operation skill, as that requires Drones V\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:69\nmsgid \"When set, uses attacker's exact damage stats at a given time\\n\"\n\"When not set, uses attacker's damage stats as shown in stats panel of main window\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:57\nmsgid \"When set, uses repairing ship's exact RR stats at a given time\\n\"\n\"When not set, uses repairing ship's RR stats as shown in stats panel of main window\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/targetProfile.py:85\nmsgid \"Worm (Guristas)\"\nmsgstr \"웜 (구리스타스)\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:116\nmsgid \"Wormhole\"\nmsgstr \"웜홀\"\n\n#: eos/saveddata/damagePattern.py:50\nmsgid \"Xray\"\nmsgstr \"엑스레이\"\n\n#: graphs/style.py:59\nmsgid \"Yellow\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:56\nmsgid \"Yes\"\nmsgstr \"예\"\n\n#: gui/characterEditor.py:757\nmsgid \"You cannot link All 0 or All 5 characters to an EVE character.\"\nmsgstr \"이브 캐릭터에는 전체 스킬 0 혹은 5 캐릭터를 링크할 수 없습니다.\"\n\n#: gui/characterEditor.py:76\nmsgid \"You must supply a name for the Character!\"\nmsgstr \"이 캐릭터의 이름을 입력해주세요\"\n\n#: gui/setEditor.py:48\nmsgid \"You must supply a name for the Implant Set!\"\nmsgstr \"이 임플란트 세트의 이름을 입력해주세요\"\n\n#: gui/patternEditor.py:51\nmsgid \"You must supply a name for your Damage Profile!\"\nmsgstr \"이 데미지 프로필의 이름을 입력해주세요\"\n\n#: gui/targetProfileEditor.py:71\nmsgid \"You must supply a name for your Target Profile!\"\nmsgstr \"이 타겟 프로필의 이름을 입력해주세요\"\n\n#: eos/saveddata/damagePattern.py:43\nmsgid \"[T2] Aurora\"\nmsgstr \"[T2] 오로라\"\n\n#: eos/saveddata/damagePattern.py:75\nmsgid \"[T2] Barrage\"\nmsgstr \"[T2] 배러지\"\n\n#: eos/saveddata/damagePattern.py:54\nmsgid \"[T2] Conflagration\"\nmsgstr \"[T2] 컨플래그레이션\"\n\n#: eos/saveddata/damagePattern.py:53\nmsgid \"[T2] Gleam\"\nmsgstr \"[T2] 글림\"\n\n#: eos/saveddata/damagePattern.py:85\nmsgid \"[T2] Hail\"\nmsgstr \"[T2] 헤일\"\n\n#: eos/saveddata/damagePattern.py:72\nmsgid \"[T2] Javelin\"\nmsgstr \"[T2] 자벨린\"\n\n#: eos/saveddata/damagePattern.py:57\nmsgid \"[T2] Mystic\"\nmsgstr \"[T2] 미스틱\"\n\n#: eos/saveddata/damagePattern.py:63\nmsgid \"[T2] Null\"\nmsgstr \"[T2] 널\"\n\n#: eos/saveddata/damagePattern.py:61\nmsgid \"[T2] Occult\"\nmsgstr \"[T2] 오컬트\"\n\n#: eos/saveddata/damagePattern.py:84\nmsgid \"[T2] Quake\"\nmsgstr \"[T2] 퀘이크\"\n\n#: eos/saveddata/damagePattern.py:44\nmsgid \"[T2] Scorch\"\nmsgstr \"[T2] 스코치\"\n\n#: eos/saveddata/damagePattern.py:62\nmsgid \"[T2] Spike\"\nmsgstr \"[T2] 스파이크\"\n\n#: eos/saveddata/damagePattern.py:74\nmsgid \"[T2] Tremor\"\nmsgstr \"[T2] 트레머\"\n\n#: eos/saveddata/damagePattern.py:73\nmsgid \"[T2] Void\"\nmsgstr \"[T2] 보이드\"\n\n#: eos/utils/stats.py:123\nmsgid \"em\"\nmsgstr \"em\"\n\n#: eos/utils/stats.py:123\nmsgid \"exp\"\nmsgstr \"exp\"\n\n#: eos/utils/stats.py:123\nmsgid \"explosive\"\nmsgstr \"폭발\"\n\n#: eos/utils/stats.py:123\nmsgid \"kin\"\nmsgstr \"kin\"\n\n#: eos/utils/stats.py:123\nmsgid \"kinetic\"\nmsgstr \"키네틱\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:38\nmsgid \"pyfa User Path:\"\nmsgstr \"pyfa 사용자 경로:\"\n\n#: gui/errorDialog.py:69\nmsgid \"pyfa error\"\nmsgstr \"pyfa 에러\"\n\n#: gui/errorDialog.py:76\nmsgid \"pyfa has experienced an unexpected issue. Below is a message that contains crucial \\n\"\n\"information about how this was triggered. Please contact the developers with the \\n\"\n\"information provided through the EVE Online forums or file a GitHub issue.\"\nmsgstr \"\"\n\n#: gui/aboutData.py:31\nmsgid \"pyfa is released under GNU GPLv3 - see included LICENSE file\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:108\nmsgid \"pyfa override file\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:131\nmsgid \"pyfa overrides\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"pyfa.io\"\nmsgstr \"pyfa.io\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:47\nmsgid \"pyfa:\"\nmsgstr \"pyfa:\"\n\n#: eos/utils/stats.py:123\nmsgid \"th\"\nmsgstr \"th\"\n\n#: eos/utils/stats.py:123\nmsgid \"thermal\"\nmsgstr \"열\"\n\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#, python-brace-format\nmsgid \"{0} Market Group\"\nmsgstr \"{0} 거래소 그룹\"\n\n#: gui/itemStats.py:87\n#, python-brace-format\nmsgid \"{context}Stats: {name}{debug_info}\"\nmsgstr \"\"\n\n#: gui/pyfa_gauge.py:347\n#, python-brace-format\nmsgid \"{{0:.{0}f}} left\"\nmsgstr \"{{0:.{0}f}} 남음\"\n\n#: gui/pyfa_gauge.py:344\n#, python-brace-format\nmsgid \"{{0:.{0}f}} over\"\nmsgstr \"{{0:.{0}f}} 초과\"\n\n#: gui/builtinContextMenus/moduleSpool.py:83\nmsgid \"{} (default)\"\nmsgstr \"{} (기본)\"\n\n#: gui/characterEditor.py:284\nmsgid \"{} Copy\"\nmsgstr \"{} 복사\"\n\n#: gui/builtinContextMenus/itemStats.py:38\nmsgid \"{} Stats\"\nmsgstr \"{} 속성\"\n\n#: gui/builtinViewColumns/baseName.py:104\nmsgid \"{} {} Slot\"\nmsgid_plural \"{} {} Slots\"\nmsgstr[0] \"{} {} 슬롯\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:220\n#, no-python-format, python-brace-format\nmsgid \"{}% chance to be jammed\"\nmsgstr \"{}% 확률로 재밍당함\"\n\n"
  },
  {
    "path": "locale/lang.pot",
    "content": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same license as the PACKAGE package.\n# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n#\n#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: PACKAGE VERSION\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2024-02-27 16:27+0600\\n\"\n\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\"\n\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n\"Language: \\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=CHARSET\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:107\nmsgid \" DPS: \"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemRemove.py:44\nmsgid \" Stack\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:100\nmsgid \" Volley: \"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:98\n#, python-format\nmsgid \"%d attribute.\"\nmsgid_plural \"%d attributes.\"\nmsgstr[0] \"\"\nmsgstr[1] \"\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"&Backup All Fittings\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:104\nmsgid \"&Browse ESI Fittings\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:111\nmsgid \"&Character\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:144\nmsgid \"&Character Editor\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:70\nmsgid \"&Close All Tabs\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:69\nmsgid \"&Close Tab\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:150\nmsgid \"&Damage Pattern Editor\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:143\nmsgid \"&Editors\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"&Export Fitting\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"&Export Skills Needed\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:66 gui/propertyEditor.py:42\nmsgid \"&File\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"&Forums\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"&From Clipboard\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:135\nmsgid \"&Global\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:96\nmsgid \"&Graphs\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:159\nmsgid \"&Help\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:147\nmsgid \"&Implant Set Editor\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"&Import Character File\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"&Import Fittings\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:122\nmsgid \"&Manage ESI Characters\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:68\nmsgid \"&New Tab\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:95\nmsgid \"&Optimize Fit Price\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:137\nmsgid \"&Preferences\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"&Redo\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:115\nmsgid \"&Revert Character\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:113\nmsgid \"&Save Character\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:153\nmsgid \"&Target Profile Editor\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"&To Clipboard\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:688\nmsgid \"&Turn Overrides Off\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:688 gui/mainMenuBar.py:131\nmsgid \"&Turn Overrides On\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"&Undo\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"&Wiki\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:25\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:29\nmsgid \"\"\n\"(Cannot be changed while pyfa is running. Set via command line switches.)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:81\nmsgid \"0s\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fighterAbilities.py:33\nmsgid \"Abilities\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:190\n#: eos/saveddata/targetProfile.py:191 eos/saveddata/targetProfile.py:192\n#: eos/saveddata/targetProfile.py:193 eos/saveddata/targetProfile.py:194\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:196\n#: eos/saveddata/targetProfile.py:197 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\n#: eos/saveddata/targetProfile.py:230 eos/saveddata/targetProfile.py:231\n#: eos/saveddata/targetProfile.py:232 eos/saveddata/targetProfile.py:233\n#: eos/saveddata/targetProfile.py:234 eos/saveddata/targetProfile.py:235\n#: eos/saveddata/targetProfile.py:236 eos/saveddata/targetProfile.py:237\n#: eos/saveddata/damagePattern.py:104 eos/saveddata/damagePattern.py:105\n#: eos/saveddata/damagePattern.py:106 eos/saveddata/damagePattern.py:107\n#: eos/saveddata/damagePattern.py:108 eos/saveddata/damagePattern.py:109\n#: eos/saveddata/damagePattern.py:110 eos/saveddata/damagePattern.py:111\n#: eos/saveddata/damagePattern.py:112 eos/saveddata/damagePattern.py:113\nmsgid \"Abyssal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:123\nmsgid \"Abyssal Weather\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:31\nmsgid \"Active\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/abilities.py:37\nmsgid \"Active Abilities\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/sideEffects.py:37\nmsgid \"Active Side Effects\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:76\nmsgid \"Active shield boost\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:430\nmsgid \"Add Character\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:233\nmsgid \"Add Command Booster\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitAddCurrentlyOpen.py:29\nmsgid \"Add Currently Open Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:56\nmsgid \"Add Environmental Effect\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitAddBrowse.py:22\nmsgid \"Add Fit...\"\nmsgstr \"\"\n\n#: gui/fitBrowserLite.py:17\nmsgid \"Add Fits\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/targetProfile/adder.py:29\nmsgid \"Add Target Profile\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/cargoAddAmmo.py:31\n#, python-brace-format\nmsgid \"Add {0} to Cargo (x1000)\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/cargoAddAmmo.py:29\n#, python-brace-format\nmsgid \"Add {0} to Cargo (x8)\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/cargoAdd.py:33\nmsgid \"Add {} to Cargo\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/droneAddStack.py:40\nmsgid \"Add {} to Drone Bay{}\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:45\nmsgid \"Additions\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Additions Panel Copy/Paste\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:101\nmsgid \"Addr:\"\nmsgstr \"\"\n\n#: gui/itemStats.py:197\nmsgid \"Affected by\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:231\n#, python-format\nmsgid \"Agility:\\t%.3fx\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:87\nmsgid \"Align time\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:229\n#, python-format\nmsgid \"Align:\\t%.3fs\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:190\n#: eos/saveddata/targetProfile.py:197 eos/saveddata/damagePattern.py:104\nmsgid \"All\"\nmsgstr \"\"\n\n#: gui/aboutData.py:32\nmsgid \"All EVE-Online related materials are property of CCP hf.\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:843 gui/mainFrame.py:972\nmsgid \"All Files\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:236\nmsgid \"All skill prerequisites have been met\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:38\nmsgid \"Allow pre-release notifications\"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:75\nmsgid \"Always show Y = 0\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:53\nmsgid \"Amarr (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:52\nmsgid \"Amarr (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/damagePattern.py:152\nmsgid \"Amarr EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/damagePattern.py:161\nmsgid \"Amarr Empire\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:115\nmsgid \"Ammo hold\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:204\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:210\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:216\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:222\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:228\n#: eos/saveddata/targetProfile.py:231 eos/saveddata/targetProfile.py:234\n#: eos/saveddata/targetProfile.py:237 eos/saveddata/damagePattern.py:105\nmsgid \"Angel\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:66\n#: eos/saveddata/damagePattern.py:114 eos/saveddata/damagePattern.py:132\nmsgid \"Angel Cartel\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:133\nmsgid \"Animate gauges\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:80\nmsgid \"Antimatter\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetApply.py:25\nmsgid \"Apply Implant Set\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemMutations.py:36\nmsgid \"Apply Mutaplasmid\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgApplyProjected.py:23\nmsgid \"Apply Projected Items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:144\nmsgid \"Apply Proxy Settings\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:146\nmsgid \"Are you sure you want to delete all overrides?\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:645\nmsgid \"\"\n\"Are you sure you wish to ignore fitting restrictions for the current fit? \"\n\"This could lead to wildly inaccurate results and possible errors.\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:47\nmsgid \"Armor\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:50\nmsgid \"Armor (+T2 DCU)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:77\nmsgid \"Armor repair amount\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:113\nmsgid \"Armor resistance\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewFull.py:44\n#: gui/builtinStatsViews/outgoingViewMinimal.py:43\nmsgid \"Armor restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Armor: \"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:96 eos/saveddata/damagePattern.py:129\nmsgid \"Ashimmu\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\n#: eos/saveddata/damagePattern.py:114 eos/saveddata/damagePattern.py:115\n#: eos/saveddata/damagePattern.py:116 eos/saveddata/damagePattern.py:117\n#: eos/saveddata/damagePattern.py:118 eos/saveddata/damagePattern.py:119\nmsgid \"Asteroid\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:35\nmsgid \"Asteroid Abyssal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:32\nmsgid \"Asteroid Coherent\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:34\nmsgid \"Asteroid Complex\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:36\nmsgid \"Asteroid Mercoxit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:31\nmsgid \"Asteroid Simple\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:33\nmsgid \"Asteroid Variegated\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:74\nmsgid \"Attacker\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:51\n#: gui/builtinItemStatsViews/itemProperties.py:56\nmsgid \"Attribute\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:128\nmsgid \"Attribute &Overrides\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:28\nmsgid \"Attribute Editor\"\nmsgstr \"\"\n\n#: gui/itemStats.py:178\nmsgid \"Attributes\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:43\nmsgid \"Auto\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:94\nmsgid \"\"\n\"Auto will use the same language pyfa uses if available, otherwise English\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Auto-detected proxy settings\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:136\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:158\nmsgid \"Auto-detected: \"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"Auto-login (starts local server)\"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:64\nmsgid \"Axis X:\"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:56\nmsgid \"Axis Y:\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:50\nmsgid \"Back\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:875\nmsgid \"Backing up {} fits to: {}\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"Backup all fittings to a XML file\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:879 gui/mainFrame.py:910\nmsgid \"Backup fits\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:85\nmsgid \"Bantam\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:59\nmsgid \"Baryon\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:54\nmsgid \"Base Value\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:171\nmsgid \"Battlecruiser\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:171\nmsgid \"Battleship\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:937\nmsgid \"Be aware that already processed fits were not saved\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Bioluminescence\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:67\nmsgid \"BlastShot\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:61 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:133\nmsgid \"Blood Raiders\"\nmsgstr \"\"\n\n#: graphs/style.py:54\nmsgid \"Blue\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\nmsgid \"Bombs\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/boosterView.py:215\nmsgid \"Booster\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:78 gui/copySelectDialog.py:48\n#: gui/copySelectDialog.py:56 gui/builtinContextMenus/additionsImport.py:24\n#: gui/builtinContextMenus/additionsExportAll.py:23\n#: gui/builtinContextMenus/additionsExportSelection.py:23\nmsgid \"Boosters\"\nmsgstr \"\"\n\n#: graphs/style.py:82\nmsgid \"Bright\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:33\nmsgid \"Browse EVE Fittings\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Bump distance\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:38\nmsgid \"Bump speed\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:82 eos/saveddata/targetProfile.py:83\n#: eos/saveddata/targetProfile.py:84 eos/saveddata/targetProfile.py:85\n#: eos/saveddata/targetProfile.py:86 eos/saveddata/targetProfile.py:87\n#: eos/saveddata/targetProfile.py:88 eos/saveddata/targetProfile.py:89\n#: eos/saveddata/targetProfile.py:91 eos/saveddata/targetProfile.py:92\n#: eos/saveddata/targetProfile.py:93 eos/saveddata/targetProfile.py:94\n#: eos/saveddata/targetProfile.py:95 eos/saveddata/targetProfile.py:96\n#: eos/saveddata/targetProfile.py:97 eos/saveddata/targetProfile.py:98\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/damagePattern.py:120 eos/saveddata/damagePattern.py:121\n#: eos/saveddata/damagePattern.py:122 eos/saveddata/damagePattern.py:123\n#: eos/saveddata/damagePattern.py:124 eos/saveddata/damagePattern.py:125\n#: eos/saveddata/damagePattern.py:126 eos/saveddata/damagePattern.py:127\n#: eos/saveddata/damagePattern.py:128 eos/saveddata/damagePattern.py:129\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\nmsgid \"Burner\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:87\nmsgid \"Burst\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/damagePattern.py:163\nmsgid \"CONCORD\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:153\nmsgid \"CPU\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:129\nmsgid \"CSV files\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:55\nmsgid \"Caldari (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:54\nmsgid \"Caldari (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:104 eos/saveddata/damagePattern.py:153\n#: eos/saveddata/damagePattern.py:154\nmsgid \"Caldari EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:73 eos/saveddata/damagePattern.py:162\nmsgid \"Caldari State\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:115\nmsgid \"Calibration\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:35 graphs/data/fitCapacitor/graph.py:36\n#: graphs/data/fitCapacitor/graph.py:38 graphs/data/fitCapacitor/graph.py:43\nmsgid \"Cap amount\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Cap neutralized per second\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:39\nmsgid \"Cap regen\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:32\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinStatsViews/capacitorViewFull.py:37\nmsgid \"Capacitor\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:139\nmsgid \"Capacitor delta:\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewFull.py:32\n#: gui/builtinStatsViews/outgoingViewMinimal.py:31\nmsgid \"Capacitor restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:57\nmsgid \"Capacitor stability\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:85\nmsgid \"Carbonized Lead\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:72\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:81\n#: gui/copySelectDialog.py:49 gui/copySelectDialog.py:57\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:90\n#: gui/builtinContextMenus/priceOptions.py:47\nmsgid \"Cargo\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsImport.py:21\n#: gui/builtinContextMenus/additionsExportAll.py:20\n#: gui/builtinContextMenus/additionsExportSelection.py:20\nmsgid \"Cargo Items\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:158\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Cargo bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:234\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:259\nmsgid \"Cargohold: \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:172\nmsgid \"Carrier\"\nmsgstr \"\"\n\n#: eos/gamedata.py:254\nmsgid \"Caustic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:47\nmsgid \"Cert Path:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:73\n#, python-format\nmsgid \"Change %s Skills\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"Change Amount\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:35\nmsgid \"Change Selection Quantity\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\nmsgid \"Change Skills\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:144\nmsgid \"Change charge in all modules of the same type\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:36\n#, python-brace-format\nmsgid \"Change {0} Quantity\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemProjectionRange.py:34\nmsgid \"Change {} Range\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:31\nmsgid \"Changes require restart of pyfa to take effect.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:420 gui/characterEditor.py:91\n#: gui/builtinStatsViews/priceViewFull.py:57\nmsgid \"Character\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:138\nmsgid \"Character Editor\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:421\nmsgid \"Character ID\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:79\nmsgid \"Character name already in use, please choose another.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:775\nmsgid \"Character:\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:48\nmsgid \"Character: \"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:61\nmsgid \"Charge\"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:665\nmsgid \"Citadel\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:37\nmsgid \"Citadel System Security\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear All\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear all overrides\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:97\n#: gui/builtinStatsViews/resistancesViewFull.py:169\nmsgid \"Click to toggle between effective HP and raw HP\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:102\nmsgid \"Click to toggle to Firepower View\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:115\nmsgid \"Click to toggle to Mining Yield\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:114\nmsgid \"Color fitting view by slot\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"Combined ECM strength\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:84\nmsgid \"Command\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/commandView.py:201\nmsgid \"Command Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/commandFitAdd.py:50\nmsgid \"Command Fits\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:128\nmsgid \"Command center hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:110\nmsgid \"Compact skills needed tooltip\"\nmsgstr \"\"\n\n#: gui/itemStats.py:183\nmsgid \"Compare\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:199 eos/saveddata/targetProfile.py:202\n#: eos/saveddata/targetProfile.py:205 eos/saveddata/targetProfile.py:208\n#: eos/saveddata/targetProfile.py:211 eos/saveddata/targetProfile.py:214\n#: eos/saveddata/targetProfile.py:217 eos/saveddata/targetProfile.py:220\n#: eos/saveddata/targetProfile.py:223 eos/saveddata/targetProfile.py:226\n#: eos/saveddata/targetProfile.py:229 eos/saveddata/targetProfile.py:232\n#: eos/saveddata/targetProfile.py:235 eos/saveddata/damagePattern.py:106\nmsgid \"Concord\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:101\nmsgid \"Concussion Bomb\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:64 eos/saveddata/damagePattern.py:65\n#: eos/saveddata/damagePattern.py:66 eos/saveddata/damagePattern.py:67\n#: eos/saveddata/damagePattern.py:68 eos/saveddata/damagePattern.py:69\nmsgid \"Condenser Packs\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:98\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:103\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:108\n#: gui/mainFrame.py:647 gui/mainFrame.py:653\nmsgid \"Confirm\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:162 gui/propertyEditor.py:147\nmsgid \"Confirm Delete\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:130 gui/esiFittings.py:183 gui/esiFittings.py:390\nmsgid \"Connection error, please check your internet connection\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:14\nmsgid \"Context Menus\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:117\nmsgid \"ContextMenu|ProjectedEffectManipulation|Black Hole\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:118\nmsgid \"ContextMenu|ProjectedEffectManipulation|Cataclysmic Variable\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:144\nmsgid \"ContextMenu|ProjectedEffectManipulation|Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:106\nmsgid \"ContextMenu|ProjectedEffectManipulation|Electrical\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:107\nmsgid \"ContextMenu|ProjectedEffectManipulation|Exotic\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:115\nmsgid \"ContextMenu|ProjectedEffectManipulation|Firestorm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:108\nmsgid \"ContextMenu|ProjectedEffectManipulation|Gamma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:119\nmsgid \"ContextMenu|ProjectedEffectManipulation|Magnetar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:113\nmsgid \"ContextMenu|ProjectedEffectManipulation|Matter\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:111\nmsgid \"ContextMenu|ProjectedEffectManipulation|Metaliminal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:109\nmsgid \"ContextMenu|ProjectedEffectManipulation|Plasma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:120\nmsgid \"ContextMenu|ProjectedEffectManipulation|Pulsar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:114\nmsgid \"ContextMenu|ProjectedEffectManipulation|Ray\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:121\nmsgid \"ContextMenu|ProjectedEffectManipulation|Red Giant\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:125\nmsgid \"ContextMenu|ProjectedEffectManipulation|Sansha Incursion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:112\nmsgid \"ContextMenu|ProjectedEffectManipulation|Storm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:143\nmsgid \"ContextMenu|ProjectedEffectManipulation|System Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:122\nmsgid \"ContextMenu|ProjectedEffectManipulation|Wolf Rayet\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemTraits.py:30\n#: gui/builtinItemStatsViews/itemDescription.py:43\n#: gui/builtinShipBrowser/fitItem.py:107\nmsgid \"Copy\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:39\nmsgid \"Copy All {}\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:106\nmsgid \"Copy Missing Skills\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:109\nmsgid \"Copy Missing Skills (EVEMon)\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleMutatedExport.py:28\nmsgid \"Copy Module to Clipboard\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsExportSelection.py:39\nmsgid \"Copy Selected {}\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:290 gui/setEditor.py:222 gui/targetProfileEditor.py:366\nmsgid \"Could not import from clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:359\nmsgid \"Could not import from clipboard:\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:283 gui/setEditor.py:218\nmsgid \"Could not import from clipboard: unknown errors\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:170\nmsgid \"Cruiser\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:91 eos/saveddata/damagePattern.py:124\nmsgid \"Cruor\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:175\nmsgid \"Current\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:52\n#: gui/builtinItemStatsViews/itemProperties.py:57\nmsgid \"Current Value\"\nmsgstr \"\"\n\n#: graphs/style.py:57\nmsgid \"Cyan\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"DPS\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:99\nmsgid \"Damage Pattern Editor\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:65\nmsgid \"Damage Profile\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:53\nmsgid \"Damage Profile name already in use, please choose another.\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:56\nmsgid \"Damage Stats\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Damage inflicted\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Damps: lock range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:93 eos/saveddata/damagePattern.py:126\nmsgid \"Daredevil\"\nmsgstr \"\"\n\n#: graphs/style.py:81\nmsgid \"Dark\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\nmsgid \"Dark Matter All Tiers\"\nmsgstr \"\"\n\n#: graphs/style.py:89\nmsgid \"Dash-dotted\"\nmsgstr \"\"\n\n#: graphs/style.py:87\nmsgid \"Dashed\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:15\nmsgid \"Database\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\n#: eos/saveddata/damagePattern.py:132 eos/saveddata/damagePattern.py:133\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:135\n#: eos/saveddata/damagePattern.py:136 eos/saveddata/damagePattern.py:137\nmsgid \"Deadspace\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:56\nmsgid \"Debug Logging Enabled\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:58\nmsgid \"Default Market Prices:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:61\nmsgid \"Default SSO Server:\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:271\n#, python-format\nmsgid \"Default Value: %0.3f\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:18\nmsgid \"Defense\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:44\nmsgid \"Defined in millions of kilograms\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:109\nmsgid \"Delete\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:79\nmsgid \"Delete All Damage Pattern Profiles\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:87\nmsgid \"Delete All Prices\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:83\nmsgid \"Delete All Target Profiles\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:67\nmsgid \"Delete all from Eve\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:66\nmsgid \"Delete from EVE\"\nmsgstr \"\"\n\n#: gui/itemStats.py:190\nmsgid \"Dependents\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:88\nmsgid \"Depleted Uranium\"\nmsgstr \"\"\n\n#: gui/itemStats.py:175\nmsgid \"Description\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:170\nmsgid \"Destroyer\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Dev Tools\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:101 gui/mainMenuBar.py:202\nmsgid \"Disable Fitting Re&strictions\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Disabled\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:28\nmsgid \"\"\n\"Disabling context menus can improve responsiveness.\\n\"\n\"You can hold {} key + right-click to show all menu items regardless of these \"\n\"settings.\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:50 graphs/data/fitRemoteReps/graph.py:58\n#: graphs/data/fitMobility/graph.py:36 graphs/data/fitDamageStats/graph.py:58\n#: graphs/data/fitDamageStats/graph.py:65 graphs/data/fitWarpTime/graph.py:47\n#: graphs/data/fitWarpTime/graph.py:48 graphs/data/fitWarpTime/graph.py:51\n#: graphs/data/fitWarpTime/graph.py:52 graphs/data/fitEwarStats/graph.py:34\n#: graphs/data/fitEwarStats/graph.py:44\nmsgid \"Distance\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:66\nmsgid \"\"\n\"Distance between the attacker and the target, as seen in overview (surface-\"\n\"to-surface)\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:67\nmsgid \"\"\n\"Distance between the attacker and the target, as seen in overview (surface-\"\n\"to-surface)\\n\"\n\"When set, places the target that far away from the attacker\\n\"\n\"When not set, attacker's weapons always hit the target\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:59 graphs/data/fitRemoteReps/graph.py:60\nmsgid \"\"\n\"Distance between the repairing ship and the target, as seen in overview \"\n\"(surface-to-surface)\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:161\nmsgid \"Do you really want to delete {} ({}) from EVE?\"\nmsgstr \"\"\n\n#: gui/updateDialog.py:102\nmsgid \"Don't remind me again for this release\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:793\nmsgid \"Don't see your EVE character in the list?\"\nmsgstr \"\"\n\n#: graphs/style.py:88\nmsgid \"Dotted\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:71\n#: gui/updateDialog.py:113\nmsgid \"Download\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:313\nmsgid \"Drag a fit into this list to graph it\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:370\nmsgid \"Drag a fit into this list to have your fits graphed against it\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/commandView.py:163\nmsgid \"Drag a fit to this area\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/projectedView.py:224\nmsgid \"Drag an item or fit, or use right-click menu for wormhole effects\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:99\nmsgid \"Dragonfly\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:92 eos/saveddata/damagePattern.py:125\nmsgid \"Dramiel\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:139 eos/saveddata/damagePattern.py:153\n#: eos/saveddata/damagePattern.py:156\nmsgid \"Dread\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/damagePattern.py:155\nmsgid \"Dread/Subcaps\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/damagePattern.py:107\nmsgid \"Drifter\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:238 eos/saveddata/damagePattern.py:158\nmsgid \"Drifter Entities\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Drone\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:26\nmsgid \"Drone Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:157\nmsgid \"Drone bandwidth\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:155\nmsgid \"Drone bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:66\nmsgid \"Drone range\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:191 eos/saveddata/damagePattern.py:108\n#: gui/additionsPane.py:66\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:77\n#: gui/builtinStatsViews/priceViewFull.py:58\n#: gui/builtinContextMenus/additionsImport.py:19\n#: gui/builtinContextMenus/additionsExportAll.py:18\n#: gui/builtinContextMenus/additionsExportSelection.py:18\n#: gui/builtinContextMenus/priceOptions.py:40\nmsgid \"Drones\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:113\nmsgid \"Drones active\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:62\nmsgid \"Dump All Logs\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:105\nmsgid \"E&xport to ESI\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"ECM: combined strength\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:842\nmsgid \"EFT text fitting files\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:96\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"EHP\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:39\n#: gui/builtinContextMenus/moduleAmmoChange.py:25\nmsgid \"EM\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:119\nmsgid \"EM resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:90\nmsgid \"EMP\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:392 gui/esiFittings.py:396 gui/esiFittings.py:404\nmsgid \"ERROR\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:971\nmsgid \"EVE API XML character files\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:76\nmsgid \"EVE Data:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:49\nmsgid \"EVE IGB HTML fitting file\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:18\n#: gui/characterEditor.py:163\nmsgid \"EVE SSO\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:37\nmsgid \"EVE Servers (API && CREST import)\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:865\nmsgid \"EVE XML fitting file\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:466 gui/mainFrame.py:841\nmsgid \"EVE XML fitting files\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:813\nmsgid \"EVEMon skills training XML file\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:812\nmsgid \"EVEMon skills training file\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"Effective DPS\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/droneEhp.py:82\nmsgid \"Effective HP\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:61\n#: gui/builtinStatsViews/resistancesViewFull.py:219\nmsgid \"Effective HP: \"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/droneRegen.py:76\nmsgid \"Effective Shield Regeneration\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:151\nmsgid \"Effective capacity\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Effective damage inflicted\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Effective volley\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:220\n#, python-format\nmsgid \"Effective: %d HP\"\nmsgstr \"\"\n\n#: gui/itemStats.py:193\nmsgid \"Effects\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:114 eos/saveddata/targetProfile.py:115\n#: eos/saveddata/targetProfile.py:116 eos/saveddata/targetProfile.py:117\n#: eos/saveddata/targetProfile.py:118 eos/saveddata/targetProfile.py:119\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:202\n#: eos/saveddata/targetProfile.py:203 eos/saveddata/targetProfile.py:204\nmsgid \"Electrical T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\nmsgid \"Electrical T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:128 eos/saveddata/targetProfile.py:129\n#: eos/saveddata/targetProfile.py:130 eos/saveddata/targetProfile.py:131\n#: eos/saveddata/targetProfile.py:132 eos/saveddata/targetProfile.py:133\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:208\n#: eos/saveddata/targetProfile.py:209 eos/saveddata/targetProfile.py:210\nmsgid \"Electrical T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:85\nmsgid \"Electromagnetic resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:99\nmsgid \"Electron Bomb\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:33\nmsgid \"Electronic Warfare Stats\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:72\nmsgid \"Empty\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:105\nmsgid \"Empty Market View\"\nmsgstr \"\"\n\n#: gui/multiSwitch.py:41\nmsgid \"Empty Tab\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:200\nmsgid \"Enable Fitting Re&strictions\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:33\nmsgid \"Enable Network\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable all available meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:93\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:114\nmsgid \"Enable all meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\nmsgid \"Enable all meta buttons for a duration of search / recents\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button, disable others\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable leftmost available meta button\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:61\nmsgid \"Enable minimal format\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Enabled\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Enforce Token Expiration\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:50\nmsgid \"Enforce strict skill level requirements\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:282\nmsgid \"Enter a name for your new Character:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:51\nmsgid \"Enter a name for your new Implant Set:\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:82 eos/saveddata/damagePattern.py:120\nmsgid \"Enyo\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:900 gui/patternEditor.py:58 gui/characterEditor.py:84\n#: gui/characterEditor.py:465 gui/characterEditor.py:951 gui/setEditor.py:55\n#: gui/targetProfileEditor.py:78\nmsgid \"Error\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:950\nmsgid \"Error fetching skill information\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:68\nmsgid \"Error!\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:57 eos/saveddata/damagePattern.py:58\n#: eos/saveddata/damagePattern.py:59 eos/saveddata/damagePattern.py:60\n#: eos/saveddata/damagePattern.py:61\nmsgid \"Exotic Plasma\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:156 eos/saveddata/targetProfile.py:157\n#: eos/saveddata/targetProfile.py:158 eos/saveddata/targetProfile.py:159\n#: eos/saveddata/targetProfile.py:160 eos/saveddata/targetProfile.py:161\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:220\n#: eos/saveddata/targetProfile.py:221 eos/saveddata/targetProfile.py:222\nmsgid \"Exotic T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\nmsgid \"Exotic T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:170 eos/saveddata/targetProfile.py:171\n#: eos/saveddata/targetProfile.py:172 eos/saveddata/targetProfile.py:173\n#: eos/saveddata/targetProfile.py:174 eos/saveddata/targetProfile.py:175\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:226\n#: eos/saveddata/targetProfile.py:227 eos/saveddata/targetProfile.py:228\nmsgid \"Exotic T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:67\nmsgid \"Expand All\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:42\n#: gui/builtinContextMenus/moduleAmmoChange.py:27\nmsgid \"Explosive\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:88\n#: gui/targetProfileEditor.py:122\nmsgid \"Explosive resistance\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:39\nmsgid \"Export\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export All Fittings to &HTML\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:298\nmsgid \"Export Boosters\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:883\nmsgid \"Export Error\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:283\nmsgid \"Export Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:23\nmsgid \"\"\n\"Export Fittings in a minimal HTML Version, just containing the fittings \"\n\"links without any visual styling\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:293\nmsgid \"Export Implants\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:64\nmsgid \"Export Item Stats\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:288\nmsgid \"Export Loaded Charges\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:810\nmsgid \"Export Skills Needed As...\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"Export a fit to the clipboard\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\nmsgid \"Export boosters\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:49\nmsgid \"Export cargo contents\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:57\nmsgid \"Export cargo hold contents\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Export charges loaded into modules\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:270\nmsgid \"Export fit to EVE\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export fits to HTML file (set in Preferences)\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"Export fitting to another format\"\nmsgstr \"\"\n\n#: gui/setEditor.py:149\nmsgid \"Export implant sets to clipboard\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\nmsgid \"Export implants\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Export mutated modules' stats\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:172\nmsgid \"Export patterns to clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:222\nmsgid \"Export profiles to clipboard\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"Export skills needed for this fitting\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:374\nmsgid \"Export skills to clipboard\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:832\nmsgid \"Exporting skills needed...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:160\nmsgid \"Extra info in Additions panel tab names\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:90\nmsgid \"Extra stats\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/factorReload.py:26\nmsgid \"Factor in Reload Time\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:44\nmsgid \"\"\n\"Factor in reload time when calculating capacitor usage, damage, and tank.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:373\nmsgid \"Failed to generate export data\"\nmsgstr \"\"\n\n#: gui/aboutData.py:34\nmsgid \"Fat Cow Icons by fatcow.com - Creative Commons Attribution 3.0 License\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:45\nmsgid \"Fetch Fits\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:115\nmsgid \"Fetching fits, please wait...\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:81\nmsgid \"Fi&t\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:156\nmsgid \"Fighter bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:114\nmsgid \"Fighter squadrons active\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:69 gui/builtinContextMenus/additionsImport.py:20\n#: gui/builtinContextMenus/additionsExportAll.py:19\n#: gui/builtinContextMenus/additionsExportSelection.py:19\nmsgid \"Fighters\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Filament\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemFill.py:32\nmsgid \"Fill With Module\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\n#, python-brace-format\nmsgid \"Fill With {0}\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\nmsgid \"Fill with module\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinStatsViews/firepowerViewFull.py:43\nmsgid \"Firepower\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\nmsgid \"Firestorm T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:142 eos/saveddata/targetProfile.py:143\n#: eos/saveddata/targetProfile.py:144 eos/saveddata/targetProfile.py:145\n#: eos/saveddata/targetProfile.py:146 eos/saveddata/targetProfile.py:147\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:214\n#: eos/saveddata/targetProfile.py:215 eos/saveddata/targetProfile.py:216\nmsgid \"Firestorm T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\nmsgid \"Firestorm T4/T5/T6\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:306\nmsgid \"Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:47\nmsgid \"Fitting Database:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:27\nmsgid \"Fitting Engine\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:184 gui/builtinStatsViews/priceViewFull.py:57\n#: gui/builtinStatsViews/priceViewMinimal.py:57\nmsgid \"Fittings\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:113\nmsgid \"Fleet hangar\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Formatting Tags\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:43 eos/saveddata/damagePattern.py:44\n#: eos/saveddata/damagePattern.py:45 eos/saveddata/damagePattern.py:46\n#: eos/saveddata/damagePattern.py:47 eos/saveddata/damagePattern.py:48\n#: eos/saveddata/damagePattern.py:49 eos/saveddata/damagePattern.py:50\n#: eos/saveddata/damagePattern.py:51 eos/saveddata/damagePattern.py:52\n#: eos/saveddata/damagePattern.py:53 eos/saveddata/damagePattern.py:54\nmsgid \"Frequency Crystals\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:169\nmsgid \"Frigate\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:116\nmsgid \"Fuel bay\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Full\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:92\nmsgid \"Fusion\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"GDs: missile flight range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:57\nmsgid \"Gallente (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:56\nmsgid \"Gallente (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/damagePattern.py:155\nmsgid \"Gallente EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:75 eos/saveddata/damagePattern.py:164\nmsgid \"Gallente Federation\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:68\nmsgid \"GalvaSurge\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:57\nmsgid \"Game Database:\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:51\nmsgid \"Gamma\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:229\n#: eos/saveddata/targetProfile.py:230 eos/saveddata/targetProfile.py:231\nmsgid \"Gamma T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:184 eos/saveddata/targetProfile.py:185\n#: eos/saveddata/targetProfile.py:186 eos/saveddata/targetProfile.py:187\n#: eos/saveddata/targetProfile.py:188 eos/saveddata/targetProfile.py:189\n#: eos/saveddata/targetProfile.py:190 eos/saveddata/targetProfile.py:232\n#: eos/saveddata/targetProfile.py:233 eos/saveddata/targetProfile.py:234\nmsgid \"Gamma T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:191 eos/saveddata/targetProfile.py:192\n#: eos/saveddata/targetProfile.py:193 eos/saveddata/targetProfile.py:194\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:196\n#: eos/saveddata/targetProfile.py:197 eos/saveddata/targetProfile.py:235\n#: eos/saveddata/targetProfile.py:236 eos/saveddata/targetProfile.py:237\nmsgid \"Gamma T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:124\nmsgid \"Gas hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:20\nmsgid \"General\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:906\nmsgid \"Generating HTML file at: {}\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:39 eos/saveddata/damagePattern.py:40\n#: eos/saveddata/damagePattern.py:41 eos/saveddata/damagePattern.py:42\nmsgid \"Generic\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:782\nmsgid \"Get Skills\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:62\nmsgid \"Global Default Spoolup Percentage:\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"Go to EVE Online Forum thread\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"Go to wiki on GitHub\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:103\nmsgid \"Grant Missing Skills\"\nmsgstr \"\"\n\n#: graphs/gui/frame.py:51\nmsgid \"Graphs\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:428\nmsgid \"Gravimetric\"\nmsgstr \"\"\n\n#: graphs/style.py:53\nmsgid \"Green\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:68\n#: eos/saveddata/damagePattern.py:116 eos/saveddata/damagePattern.py:134\nmsgid \"Guristas\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/droneEhp.py:84\n#: gui/builtinStatsViews/resistancesViewFull.py:172\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"HP\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:19\nmsgid \"HTML Export\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:20\nmsgid \"\"\n\"HTML Export (File > Export HTML) allows you to export your entire fitting \"\n\"database into an HTML file at the specified location. This file can be used \"\n\"to easily open your fits in a web-based fitting program\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:84 eos/saveddata/damagePattern.py:121\nmsgid \"Hawk\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Heavy\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:136\nmsgid \"Hide Recent Fits\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:53\n#: gui/builtinShipBrowser/navigationPanel.py:147\nmsgid \"Hide empty ship groups\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:59\nmsgid \"High\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:19\nmsgid \"High Security\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:48\nmsgid \"Hull\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:51\nmsgid \"Hull (+T2 DCU)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:78\nmsgid \"Hull repair amount\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:114\nmsgid \"Hull resistance\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewFull.py:50\n#: gui/builtinStatsViews/outgoingViewMinimal.py:49\nmsgid \"Hull restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Hull: \"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:71 eos/saveddata/damagePattern.py:72\n#: eos/saveddata/damagePattern.py:73 eos/saveddata/damagePattern.py:74\n#: eos/saveddata/damagePattern.py:75 eos/saveddata/damagePattern.py:76\n#: eos/saveddata/damagePattern.py:77 eos/saveddata/damagePattern.py:78\n#: eos/saveddata/damagePattern.py:79 eos/saveddata/damagePattern.py:80\n#: eos/saveddata/damagePattern.py:81 eos/saveddata/damagePattern.py:82\nmsgid \"Hybrid Charges\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:35\nmsgid \"ID\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:123\nmsgid \"Ice hold\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:301\nmsgid \"Ideal Target\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:28\nmsgid \"If auto-login fails, copy and paste the token provided by pyfa.io\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDroneControlRange.py:23\nmsgid \"Ignore Drone Control Range\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphLockRange.py:23\nmsgid \"Ignore Lock Range\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgIgnoreResists.py:23\nmsgid \"Ignore Target Resists\"\nmsgstr \"\"\n\n#: gui/setEditor.py:62\nmsgid \"Implant Set\"\nmsgstr \"\"\n\n#: gui/setEditor.py:122\nmsgid \"Implant Set Editor\"\nmsgstr \"\"\n\n#: gui/setEditor.py:50\nmsgid \"Implant Set name already in use, please choose another.\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:75 gui/copySelectDialog.py:47\n#: gui/copySelectDialog.py:55 gui/characterEditor.py:162\n#: gui/builtinContextMenus/additionsImport.py:22\n#: gui/builtinContextMenus/additionsImport.py:23\n#: gui/builtinContextMenus/additionsExportAll.py:21\n#: gui/builtinContextMenus/additionsExportAll.py:22\n#: gui/builtinContextMenus/additionsExportSelection.py:21\n#: gui/builtinContextMenus/additionsExportSelection.py:22\nmsgid \"Implants\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:85\n#: gui/builtinContextMenus/priceOptions.py:54\nmsgid \"Implants && Boosters\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:38\nmsgid \"Import\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:856\nmsgid \"Import Error\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:443\nmsgid \"Import Skills\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"Import a fit from the clipboard\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"Import characters into pyfa from file\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"Import fittings into pyfa\"\nmsgstr \"\"\n\n#: gui/setEditor.py:148\nmsgid \"Import implant sets from clipboard\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:38 gui/propertyEditor.py:39\nmsgid \"Import overrides\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:171\nmsgid \"Import patterns from clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:221\nmsgid \"Import profiles from clipboard\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:107\nmsgid \"Import pyfa override file\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:373\nmsgid \"Import skills from clipboard\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:65\nmsgid \"Import to pyfa\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:978\nmsgid \"Importing Character...\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:852\nmsgid \"Importing fits\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:441\nmsgid \"\"\n\"Importing skills into this character will set the skill levels as pending. \"\n\"To save the skills permanently, please click the Save button at the bottom \"\n\"of the window after importing\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"\"\n\"Include formatting tags to paste fit directly into corp bulletins, MOTD, etc.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:152\nmsgid \"Include more information in names of mutated items\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:115\nmsgid \"Incoming damage pattern\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:50\nmsgid \"Incorrect formatting (decimals only)\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:52\nmsgid \"Incorrect range (must be 0-100)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:121\nmsgid \"Industrial ship hold\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:46\nmsgid \"Inertia Modifier attribute value of the target ship\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:96\nmsgid \"Inferno\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:47\nmsgid \"Infrared\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:89\nmsgid \"Inquisitor\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:169\nmsgid \"Interceptor\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:65\nmsgid \"Interested in helping with translations?\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:896\nmsgid \"Invalid Path\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:242\nmsgid \"Invalid Token\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:102 eos/saveddata/targetProfile.py:103\n#: eos/saveddata/targetProfile.py:104 eos/saveddata/targetProfile.py:105\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:238\n#: eos/saveddata/targetProfile.py:239 eos/saveddata/targetProfile.py:240\n#: eos/saveddata/damagePattern.py:139 eos/saveddata/damagePattern.py:140\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/damagePattern.py:146\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/damagePattern.py:152\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/damagePattern.py:154\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/damagePattern.py:156\n#: eos/saveddata/damagePattern.py:157 eos/saveddata/damagePattern.py:158\n#: eos/saveddata/damagePattern.py:159 eos/saveddata/damagePattern.py:160\nmsgid \"Invasion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:75\nmsgid \"Iridium\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:73\nmsgid \"Iron\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:164\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\n#: gui/builtinContextMenus/itemRemove.py:43\n#: gui/builtinContextMenus/itemStats.py:38\nmsgid \"Item\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:112\nmsgid \"Item Market Group Jump\"\nmsgstr \"\"\n\n#: gui/itemStats.py:59\nmsgid \"Item stats\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:86 eos/saveddata/damagePattern.py:122\nmsgid \"Jaguar\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/damagePattern.py:165\nmsgid \"Khanid\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:41\n#: gui/builtinContextMenus/moduleAmmoChange.py:28\nmsgid \"Kinetic\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:87\n#: gui/targetProfileEditor.py:121\nmsgid \"Kinetic resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:428\nmsgid \"Ladar\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:38\nmsgid \"Language (requires restart)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:120\nmsgid \"Large ship hold\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:77\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Lasts \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:112\nmsgid \"Launcher hardpoints\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:76\nmsgid \"Lead\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:107\n#: gui/builtinContextMenus/moduleAmmoChange.py:125\nmsgid \"Less Damage\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:344\nmsgid \"Level\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:79\n#, python-format\nmsgid \"Level %s\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:537 gui/characterEditor.py:595\n#: gui/characterEditor.py:620 gui/characterEditor.py:653\n#: gui/builtinItemStatsViews/itemDependants.py:46\nmsgid \"Level {}\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Light\"\nmsgstr \"\"\n\n#: service/market.py:271\nmsgid \"Limited Issue Ships\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Loaded Charges\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:271\nmsgid \"Loading previous fits...\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:205\nmsgid \"Localized\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:34\nmsgid \"Lock Time\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:206\nmsgid \"Lock Times\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Lock range reduction\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:36\nmsgid \"Lock time\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:798\nmsgid \"Log In with EVE SSO\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:38\nmsgid \"Log file location:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:19\nmsgid \"Logging\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:95\nmsgid \"Long Range\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:61\nmsgid \"Low\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:20\nmsgid \"Low Security\"\nmsgstr \"\"\n\n#: graphs/style.py:56\nmsgid \"Magenta\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:428\nmsgid \"Magnetometric\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:114\nmsgid \"Maintenance bay\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:671\nmsgid \"Manage Characters\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:100\nmsgid \"Mantis\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Manual proxy settings\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:180\nmsgid \"Market\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:23\nmsgid \"Market & Prices\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:30\nmsgid \"Market && Prices\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:99\nmsgid \"Market Group Selection\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:91\nmsgid \"Market Search && Recent Items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:39\nmsgid \"Market Search Delay (ms):\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:230\nmsgid \"Mass:\\t{:,.0f}kg\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:126\nmsgid \"Material bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:213\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:246\n#, python-format\nmsgid \"Max Warp Distance: %.1f AU\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:124\nmsgid \"Maximum speed\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:60\nmsgid \"Med\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:119\nmsgid \"Medium ship hold\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:65\nmsgid \"MesmerFlux\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:58\nmsgid \"Meson\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:105\nmsgid \"Metaliminal Storm\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:46\nmsgid \"Microwave\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:125\nmsgid \"Mineral hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Minimal\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:39\nmsgid \"Mining Yield\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:122\nmsgid \"Mining hold\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:59\nmsgid \"Minmatar (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:58\nmsgid \"Minmatar (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/damagePattern.py:156\n#: eos/saveddata/damagePattern.py:157\nmsgid \"Minmatar EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:77 eos/saveddata/damagePattern.py:166\nmsgid \"Minmatar Republic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinContextMenus/moduleAmmoChange.py:42 service/ammo.py:185\nmsgid \"Misc\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/droneRegen.py:52 gui/builtinViewColumns/misc.py:50\nmsgid \"Misc data\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"Missile flight range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\nmsgid \"Missiles\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/damagePattern.py:162 eos/saveddata/damagePattern.py:163\n#: eos/saveddata/damagePattern.py:164 eos/saveddata/damagePattern.py:165\n#: eos/saveddata/damagePattern.py:166 eos/saveddata/damagePattern.py:167\n#: eos/saveddata/damagePattern.py:168\nmsgid \"Mission\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:29\nmsgid \"Mixed\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:95\nmsgid \"Mjolnir\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:131\nmsgid \"Mobile depot hold\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:32\nmsgid \"Mobility\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:83\nmsgid \"Mode:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\nmsgid \"Module\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:37\nmsgid \"Momentum\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:38\nmsgid \"Moon Common\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:41\nmsgid \"Moon Exceptional\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:40\nmsgid \"Moon Rare\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:37\nmsgid \"Moon Ubiquitous\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:39\nmsgid \"Moon Uncommon\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:78 eos/saveddata/damagePattern.py:167\nmsgid \"Mordus Legion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:110\n#: gui/builtinContextMenus/moduleAmmoChange.py:128\nmsgid \"More Damage\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:52\nmsgid \"Multifrequency\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:434\nmsgid \"Multispectral\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Mutated Attributes\"\nmsgstr \"\"\n\n#: gui/itemStats.py:171\nmsgid \"Mutations\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:80 eos/saveddata/targetProfile.py:82\n#: eos/saveddata/targetProfile.py:83 eos/saveddata/targetProfile.py:84\n#: eos/saveddata/targetProfile.py:85 eos/saveddata/targetProfile.py:86\n#: eos/saveddata/targetProfile.py:87 eos/saveddata/targetProfile.py:88\n#: eos/saveddata/targetProfile.py:89 eos/saveddata/targetProfile.py:91\n#: eos/saveddata/targetProfile.py:92 eos/saveddata/targetProfile.py:93\n#: eos/saveddata/targetProfile.py:94 eos/saveddata/targetProfile.py:95\n#: eos/saveddata/targetProfile.py:96 eos/saveddata/targetProfile.py:97\n#: eos/saveddata/targetProfile.py:98 eos/saveddata/targetProfile.py:99\n#: eos/saveddata/targetProfile.py:100 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:190\n#: eos/saveddata/targetProfile.py:191 eos/saveddata/targetProfile.py:192\n#: eos/saveddata/targetProfile.py:193 eos/saveddata/targetProfile.py:194\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:196\n#: eos/saveddata/targetProfile.py:197 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\n#: eos/saveddata/targetProfile.py:230 eos/saveddata/targetProfile.py:231\n#: eos/saveddata/targetProfile.py:232 eos/saveddata/targetProfile.py:233\n#: eos/saveddata/targetProfile.py:234 eos/saveddata/targetProfile.py:235\n#: eos/saveddata/targetProfile.py:236 eos/saveddata/targetProfile.py:237\n#: eos/saveddata/targetProfile.py:238 eos/saveddata/targetProfile.py:239\n#: eos/saveddata/targetProfile.py:240 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/damagePattern.py:129 eos/saveddata/damagePattern.py:130\n#: eos/saveddata/damagePattern.py:131 eos/saveddata/damagePattern.py:132\n#: eos/saveddata/damagePattern.py:133 eos/saveddata/damagePattern.py:134\n#: eos/saveddata/damagePattern.py:135 eos/saveddata/damagePattern.py:136\n#: eos/saveddata/damagePattern.py:137 eos/saveddata/damagePattern.py:139\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:149\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/damagePattern.py:153\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/damagePattern.py:155\n#: eos/saveddata/damagePattern.py:156 eos/saveddata/damagePattern.py:157\n#: eos/saveddata/damagePattern.py:158 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/damagePattern.py:162 eos/saveddata/damagePattern.py:163\n#: eos/saveddata/damagePattern.py:164 eos/saveddata/damagePattern.py:165\n#: eos/saveddata/damagePattern.py:166 eos/saveddata/damagePattern.py:167\n#: eos/saveddata/damagePattern.py:168 eos/saveddata/damagePattern.py:169\n#: eos/saveddata/damagePattern.py:170\nmsgid \"NPC\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:55\n#: gui/builtinItemStatsViews/itemEffects.py:30\nmsgid \"Name\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:83\nmsgid \"Navitas\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:379\nmsgid \"Need at least one ESI character to export\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:118\nmsgid \"Need at least one ESI character to fetch\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:17\nmsgid \"Network\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:149\nmsgid \"Neutralizer resistance\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Neuts: cap per second\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:104\nmsgid \"New Amount ({}-{})\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:104\nmsgid \"New Amount:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:45\nmsgid \"New Implant Set\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:51\nmsgid \"New fitting\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:58\nmsgid \"No\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:85\nmsgid \"No Profile\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:228\nmsgid \"No active fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"No changes to meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"No proxy\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:161\n#: gui/characterEditor.py:864\nmsgid \"None\"\nmsgstr \"\"\n\n#: graphs/style.py:80\nmsgid \"Normal\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:140\nmsgid \"Normal Subcaps\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:77\nmsgid \"Not Learned\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:400 service/character.py:322\nmsgid \"Not learned\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:87\nmsgid \"Notes\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:98\nmsgid \"Nova\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:86\nmsgid \"Nuclear\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:21\nmsgid \"Null Security\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Open &Dev Tools\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:154\nmsgid \"Open Character Editor\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitOpenNewTab.py:37\nmsgid \"Open Fit in New Tab\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:969\nmsgid \"Open One Or More Character Files\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:839\nmsgid \"Open One Or More Fitting Files\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Wid&gets Inspect tool\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Widgets Inspect tool\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:136\nmsgid \"Open fittings in a new page by default\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipJump.py:35\nmsgid \"Open in Fitting Browser\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:227\nmsgid \"Open in new tab\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Optimize Prices\"\nmsgstr \"\"\n\n#: graphs/style.py:55\nmsgid \"Orange\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:79 eos/saveddata/targetProfile.py:80\nmsgid \"Other\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:115\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:129\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:143\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:157\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:171\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:185\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/damagePattern.py:109\nmsgid \"Overmind\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:75\nmsgid \"Passive shield recharge\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:125\nmsgid \"Password:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsImport.py:40\nmsgid \"Paste {}\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:295\nmsgid \"Patterns exported to clipboard\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:276 gui/setEditor.py:210\nmsgid \"Patterns successfully imported from clipboard\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:91\nmsgid \"Phased Plasma\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:129\nmsgid \"Planetary goods hold\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:721\nmsgid \"Please Wait...\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:35\nmsgid \"Please copy and paste the token provided by pyfa.io\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:31\nmsgid \"Please copy and paste the url when your authorization is completed\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:34\nmsgid \"\"\n\"Please see the pyfa wiki on GitHub for information regarding these options.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:358\nmsgid \"Please select an active fitting in the main window\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:762\nmsgid \"Please select another character or make a new one.\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:899\nmsgid \"Please verify path location pyfa's preferences.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphFitAmmoPicker.py:29\nmsgid \"Plot with Different Ammo...\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:79\nmsgid \"Plutonium\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:169\nmsgid \"Pod\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:109\nmsgid \"Port:\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:154\nmsgid \"PowerGrid\"\nmsgstr \"\"\n\n#: gui/preferenceDialog.py:31\nmsgid \"Preferences\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:59\nmsgid \"\"\n\"Pressing this button will cause all logs in memory to write to the log file:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinStatsViews/priceViewFull.py:40\n#: gui/builtinItemStatsViews/itemCompare.py:172\nmsgid \"Price\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:41\nmsgid \"Pricing updates\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:270\n#, python-format\nmsgid \"Probe Size: %.3f\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:372\nmsgid \"Profiles exported to clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:352\nmsgid \"Profiles successfully imported from clipboard\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:230\nmsgid \"Project onto Active Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\nmsgid \"Project onto Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemProject.py:34\n#, python-brace-format\nmsgid \"Project {0} onto Fit\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:81\nmsgid \"Projected\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/projectedView.py:304\n#: gui/builtinAdditionPanes/projectedView.py:314\n#: gui/builtinAdditionPanes/projectedView.py:319\n#: gui/builtinAdditionPanes/projectedView.py:324\nmsgid \"Projected Item\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:83 eos/saveddata/damagePattern.py:84\n#: eos/saveddata/damagePattern.py:85 eos/saveddata/damagePattern.py:86\n#: eos/saveddata/damagePattern.py:87 eos/saveddata/damagePattern.py:88\n#: eos/saveddata/damagePattern.py:89 eos/saveddata/damagePattern.py:90\n#: eos/saveddata/damagePattern.py:91 eos/saveddata/damagePattern.py:92\n#: eos/saveddata/damagePattern.py:93 eos/saveddata/damagePattern.py:94\nmsgid \"Projectile Ammo\"\nmsgstr \"\"\n\n#: gui/itemStats.py:201\nmsgid \"Properties\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:19\nmsgid \"Propulsion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:87\nmsgid \"Proton\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:49\nmsgid \"Proxy settings\"\nmsgstr \"\"\n\n#: graphs/style.py:58\nmsgid \"Purple\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:222\nmsgid \"PvP Weather\"\nmsgstr \"\"\n\n#: gui/aboutData.py:49\nmsgid \"\"\n\"Pyfa (the Python Fitting Assistant) is an open-source standalone application \"\n\"able to create and simulate fittings for EVE-Online SciFi MMORPG with a very \"\n\"high degree of accuracy. Pyfa can run on all platforms where Python and \"\n\"wxWidgets are supported.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:44\nmsgid \"Pyfa Update checks\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:15\nmsgid \"\"\n\"Pyfa can automatically check and notify you of new releases. This feature is \"\n\"toggled in the Network settings. Here, you may allow pre-release \"\n\"notifications and view suppressed release notifications, if any.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:69\nmsgid \"\"\n\"Pyfa language selection disabled. Please check if .mo files have been \"\n\"generated.\\n\"\n\"Refer to locale/README.md for info.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:130\nmsgid \"Quafe hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:161\nmsgid \"Quantity of active items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:161\nmsgid \"Quantity of all items\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleRahPattern.py:40\nmsgid \"RAH Damage Pattern\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:428\nmsgid \"Radar\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:45\nmsgid \"Radio\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:126\nmsgid \"Radius\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:53\nmsgid \"Random stats\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:63\nmsgid \"Range\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:222\nmsgid \"Raw HP: \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:223\n#, python-format\nmsgid \"Raw: %d HP\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:652\nmsgid \"\"\n\"Re-enabling fitting restrictions for this fit will also remove any illegal \"\n\"items from the fit. Do you want to continue?\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:56\n#: gui/builtinShipBrowser/navigationPanel.py:129\nmsgid \"Recent Fits\"\nmsgstr \"\"\n\n#: gui/builtinMarketBrowser/marketTree.py:37\nmsgid \"Recently Used Items\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:43\nmsgid \"Recharge rates\"\nmsgstr \"\"\n\n#: graphs/style.py:52\nmsgid \"Red\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"Redo the most recent undone action\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:77\n#: gui/builtinItemStatsViews/itemCompare.py:81\n#: gui/builtinItemStatsViews/itemAttributes.py:69\nmsgid \"Refresh\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:69\nmsgid \"Refresh Skills\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:86\nmsgid \"Reinforced\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:62\nmsgid \"Reload ancillary RRs\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:48\nmsgid \"Remote Repairs\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\n#: gui/builtinStatsViews/outgoingViewFull.py:66\n#: gui/builtinStatsViews/outgoingViewMinimal.py:65\nmsgid \"Remote Reps\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:433\nmsgid \"Remove Character\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:71\nmsgid \"Remove Overides for Item\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemRemove.py:42\n#, python-brace-format\nmsgid \"Remove {item}{stack}\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:108\nmsgid \"Rename\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:118\nmsgid \"Reopen previous fits on startup\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:53\nmsgid \"Repair speed\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Replace items by cheaper alternatives\"\nmsgstr \"\"\n\n#: gui/itemStats.py:186\nmsgid \"Requirements\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:98\nmsgid \"Reset\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:76\nmsgid \"Reset Suppression\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:50\nmsgid \"Reset defaults\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/resistMode.py:41\nmsgid \"Resist Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:213\nmsgid \"Resist Multiplier: \"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinStatsViews/resistancesViewFull.py:47\nmsgid \"Resistances\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinStatsViews/resourcesViewFull.py:84\nmsgid \"Resources\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:56\nmsgid \"Revert changes\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemMutations.py:36\nmsgid \"Revert to {}\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:63\nmsgid \"Rig\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:135\nmsgid \"Rogue Drone\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:239 eos/saveddata/damagePattern.py:160\nmsgid \"Rogue Drone Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:63 eos/saveddata/targetProfile.py:69\nmsgid \"Rogue Drones\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:34\nmsgid \"Run Time\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:413\nmsgid \"SSO Character Management\"\nmsgstr \"\"\n\n#: service/esi.py:126\nmsgid \"SSO Error\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:19\nmsgid \"SSO Login\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:127\nmsgid \"Salvage hold\"\nmsgstr \"\"\n\n#: locale_test/getTextLocale.py:4\nmsgid \"Sample Title Text English\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:230 eos/saveddata/targetProfile.py:233\n#: eos/saveddata/targetProfile.py:236 eos/saveddata/damagePattern.py:110\nmsgid \"Sansha\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:80 eos/saveddata/damagePattern.py:169\n#: gui/builtinContextMenus/envEffectAdd.py:124\nmsgid \"Sansha Incursion\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:70\n#: eos/saveddata/damagePattern.py:118 eos/saveddata/damagePattern.py:136\nmsgid \"Sanshas Nation\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:864\nmsgid \"Save Backup As...\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:128\nmsgid \"Save CSV file\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:114\nmsgid \"Save Character &As...\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:283\nmsgid \"Save Character As...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:48\n#: gui/mainFrame.py:465\nmsgid \"Save Fitting As...\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:130\nmsgid \"Save Overrides As...\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:27\nmsgid \"Save as New Implant Set\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:64\nmsgid \"Scan res.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:100\nmsgid \"Scorch Bomb\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:97\nmsgid \"Scourge\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:61\nmsgid \"Search fittings\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:357\n#, python-brace-format\nmsgid \"Sec Status: {0:.2f}\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:916\nmsgid \"Security Status is used in some CONCORD hull calculations\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:193 eos/saveddata/damagePattern.py:111\nmsgid \"Seeker\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:62\nmsgid \"Select a format\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:361\nmsgid \"Sending request and awaiting response\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:65\nmsgid \"Sensor str.\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:97 eos/saveddata/damagePattern.py:131\nmsgid \"Sentinel\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:122\nmsgid \"Separate Racks\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:65 eos/saveddata/targetProfile.py:71\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:137\nmsgid \"Serpentis\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:422\nmsgid \"Server\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:64\nmsgid \"Service\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:909\nmsgid \"Set Security Status\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\nmsgid \"Set as Damage Pattern\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:53\nmsgid \"Set export destination\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Set {} as Damage Pattern\"\nmsgstr \"\"\n\n#: gui/setEditor.py:229\nmsgid \"Sets exported to clipboard\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:327\nmsgid \"\"\n\"Setting an Alpha clone does not replace the character's skills, but rather \"\n\"caps them to Alpha levels.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:20\nmsgid \"Sharpshooter\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:46\nmsgid \"Shield\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:49\nmsgid \"Shield (+T2 DCU)\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:38\n#: gui/builtinViewColumns/droneRegen.py:78\nmsgid \"Shield Regeneration\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:42\n#: graphs/data/fitShieldRegen/graph.py:55\n#: graphs/data/fitShieldRegen/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:61\nmsgid \"Shield amount\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:62\nmsgid \"Shield regen\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:112\nmsgid \"Shield resistance\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewFull.py:38\n#: gui/builtinStatsViews/outgoingViewMinimal.py:37\nmsgid \"Shield restored\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\nmsgid \"Shield/Armor Tank\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Shield: \"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:665\n#: gui/builtinStatsViews/priceViewFull.py:57\n#: gui/builtinStatsViews/priceViewMinimal.py:57\nmsgid \"Ship\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/shipItem.py:111\nmsgid \"Ship Basic\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:48\nmsgid \"Ship groups\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:117\nmsgid \"Ship hold\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:113\nmsgid \"Short Range\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:126\nmsgid \"Show Rack Labels\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:151\nmsgid \"Show empty ship groups\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:130\nmsgid \"Show fitting tab tooltips\"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:71\nmsgid \"Show legend\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:52\nmsgid \"Show market shortcuts\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:140\nmsgid \"Show ship browser tooltip\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:102\nmsgid \"Shrapnel Bomb\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/boosterSideEffects.py:34\nmsgid \"Side Effects\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:88\nmsgid \"Signature\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:125\nmsgid \"\"\n\"Signature radius\\n\"\n\"Leave blank for infinitely big value\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"Signature radius increase\"\nmsgstr \"\"\n\n#: gui/aboutData.py:33\nmsgid \"\"\n\"Silk Icons Set by famfamfam.com - Creative Commons Attribution 2.5 License\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:343 gui/characterEditor.py:612\nmsgid \"Skill\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:161\nmsgid \"Skills\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:240\nmsgid \"Skills required:\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:66\nmsgid \"SlamBolt\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:79 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:196\n#: eos/saveddata/damagePattern.py:112\nmsgid \"Sleeper\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:240 eos/saveddata/damagePattern.py:159\nmsgid \"Sleeper Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:170\nmsgid \"Sleepers\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:118\nmsgid \"Small ship hold\"\nmsgstr \"\"\n\n#: graphs/style.py:86\nmsgid \"Solid\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:35\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:86\nmsgid \"Speed\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Speed reduction\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/droneSplitStack.py:29\nmsgid \"Split {} Stack\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:169\nmsgid \"Spool up\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\nmsgid \"Spoolup\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:37\nmsgid \"Spoolup Cycles\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Stable: \"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:48\nmsgid \"Standard\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:46\nmsgid \"Starting cap amount\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:46\nmsgid \"Starting shield amount\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:22\nmsgid \"Statistics Panel\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:45\nmsgid \"Stick to Attacker\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:44\nmsgid \"Stick to Target\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/damagePattern.py:157\nmsgid \"Subcaps\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:145\n#, no-python-format\nmsgid \"Subcaps w/missiles 0% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:151\n#, no-python-format\nmsgid \"Subcaps w/missiles 100% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:148\n#, no-python-format\nmsgid \"Subcaps w/missiles 50% spool up\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:62\nmsgid \"Subsystem\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:903\nmsgid \"Success\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:903\nmsgid \"Successfully fetched skills\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:94 eos/saveddata/damagePattern.py:127\nmsgid \"Succubus\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Support\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:48\n#, python-brace-format\nmsgid \"Suppressing {0} Notifications\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:87\nmsgid \"Sustained\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:46 eos/saveddata/targetProfile.py:47\n#: eos/saveddata/targetProfile.py:48 eos/saveddata/targetProfile.py:49\n#: eos/saveddata/targetProfile.py:50 eos/saveddata/targetProfile.py:51\nmsgid \"T1 Resist\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:52 eos/saveddata/targetProfile.py:53\n#: eos/saveddata/targetProfile.py:54 eos/saveddata/targetProfile.py:55\n#: eos/saveddata/targetProfile.py:56 eos/saveddata/targetProfile.py:57\n#: eos/saveddata/targetProfile.py:58 eos/saveddata/targetProfile.py:59\nmsgid \"T2 Resist\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"TDs: turret optimal range reduction\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"TPs: signature radius increase\"\nmsgstr \"\"\n\n#: eos/gamedata.py:254 gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Tachyon\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:105 gui/builtinViews/fittingView.py:661\n#: gui/builtinContextMenus/shipModeChange.py:37\nmsgid \"Tactical Mode\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:98 eos/saveddata/damagePattern.py:130\nmsgid \"Talos\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:75 graphs/gui/lists.py:359\nmsgid \"Target\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:86\nmsgid \"Target Profile\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:130\nmsgid \"Target Profile Editor\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:73\nmsgid \"Target Profile name already in use, please choose another.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:33\nmsgid \"Target Resists\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Target distance traveled\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:45\nmsgid \"Target inertia factor\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:43\nmsgid \"Target mass\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:45\nmsgid \"Target resistance\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:37 graphs/data/fitDamageStats/graph.py:71\nmsgid \"Target signature\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:35 graphs/data/fitDamageStats/graph.py:62\n#: graphs/data/fitDamageStats/graph.py:63\nmsgid \"Target signature radius\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:38 graphs/data/fitDamageStats/graph.py:60\n#: graphs/data/fitDamageStats/graph.py:61\n#: graphs/data/fitDamageStats/graph.py:70\nmsgid \"Target speed\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:40\nmsgid \"Targeting && Misc\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:62\nmsgid \"Targets\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:82 eos/saveddata/targetProfile.py:83\n#: eos/saveddata/targetProfile.py:84 eos/saveddata/targetProfile.py:85\n#: eos/saveddata/targetProfile.py:86 eos/saveddata/targetProfile.py:87\n#: eos/saveddata/targetProfile.py:88 eos/saveddata/targetProfile.py:89\n#: eos/saveddata/damagePattern.py:120 eos/saveddata/damagePattern.py:121\n#: eos/saveddata/damagePattern.py:122 eos/saveddata/damagePattern.py:123\nmsgid \"Team\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:60\nmsgid \"Tetryon\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:814\nmsgid \"Text skills training file\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:66\nmsgid \"\"\n\"The amount of spoolup to use by default on module which support it. Can be \"\n\"changed on a per-module basis\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:44\nmsgid \"\"\n\"The delay between a keystroke and the market search. Can help reduce lag \"\n\"when typing fast in the market search box.\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:935\nmsgid \"The following error was generated\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:897\nmsgid \"The following path is invalid or does not exist:\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:256\nmsgid \"The server took too long to response. Please try again in a moment.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:64\nmsgid \"\"\n\"The source you choose will be tried first, but subsequent sources will be \"\n\"used if the preferred source fails. The system you choose will also be tried \"\n\"first, and if no data is available, global price will be used.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:67\nmsgid \"The source you choose will be used on connection.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:53\nmsgid \"\"\n\"There is a release available which you have chosen to suppress. You can \"\n\"choose to reset notification suppression for this release, or download the \"\n\"new release from GitHub.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:465\nmsgid \"There was an error importing skills, please see log file\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:240\nmsgid \"\"\n\"There was an error validating characters' SSO token. Please try logging into \"\n\"the character again to reset the token.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:40\n#: gui/builtinContextMenus/moduleAmmoChange.py:26\nmsgid \"Thermal\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:86\n#: gui/targetProfileEditor.py:120\nmsgid \"Thermal resistance\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:49\nmsgid \"\"\n\"This allows the EVE SSO to callback to your local pyfa instance and complete \"\n\"the authentication process without manual intervention.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:107\nmsgid \"\"\n\"This is a destructive action that will delete all cached prices out of the \"\n\"database.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:97\nmsgid \"\"\n\"This is a destructive action that will delete all damage pattern profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:102\nmsgid \"\"\n\"This is a destructive action that will delete all target profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:42\nmsgid \"\"\n\"This option is a workaround in case you cannot log into EVE SSO due to \"\n\"'Signature has expired' error\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:77\nmsgid \"Thorium\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:168\nmsgid \"Thukker\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:40\n#: graphs/data/fitShieldRegen/graph.py:54 graphs/data/fitRemoteReps/graph.py:51\n#: graphs/data/fitRemoteReps/graph.py:56 graphs/data/fitMobility/graph.py:33\n#: graphs/data/fitMobility/graph.py:41 graphs/data/fitDamageStats/graph.py:59\n#: graphs/data/fitDamageStats/graph.py:68 graphs/data/fitCapacitor/graph.py:34\n#: graphs/data/fitCapacitor/graph.py:41\nmsgid \"Time\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:257\nmsgid \"Timeout\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:89\nmsgid \"Titanium Sabot\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:70\nmsgid \"Toggle Names\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:73\nmsgid \"Toggle View\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:77\nmsgid \"Toggle view mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/priceViewFull.py:58\n#: gui/builtinStatsViews/miningyieldViewFull.py:89\n#: gui/builtinStatsViews/priceViewMinimal.py:57\nmsgid \"Total\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:76\nmsgid \"Total Price Includes\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:54\nmsgid \"Total repaired\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:67\nmsgid \"Total: \"\nmsgstr \"\"\n\n#: gui/itemStats.py:167\nmsgid \"Traits\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:117\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:131\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:145\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:159\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:173\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:187\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/damagePattern.py:113\nmsgid \"Triglavian\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:102 eos/saveddata/damagePattern.py:139\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:149\nmsgid \"Triglavian Entities\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:126\nmsgid \"Triglavian Invasion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:74\nmsgid \"Tungsten\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:111\nmsgid \"Turret hardpoints\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"Turret optimal range reduction\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:32\nmsgid \"Type\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:223\n#, python-brace-format\nmsgid \"Type: {0}\\n\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:227\nmsgid \"Type: {}\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:49\nmsgid \"Ultraviolet\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"Undo the most recent action\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:38\nmsgid \"Uniform\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:42\nmsgid \"Uniform (25%)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:43\nmsgid \"Uniform (50%)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:44\nmsgid \"Uniform (75%)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:45\nmsgid \"Uniform (90%)\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:618\nmsgid \"Unlearn\"\nmsgstr \"\"\n\n#: gui/updateDialog.py:54\nmsgid \"Update Available\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:14\nmsgid \"Updates\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:78\nmsgid \"Uranium\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/implantView.py:68\nmsgid \"Use Character Implants\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/implantView.py:67\nmsgid \"Use Fit-specific Implants\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:48\nmsgid \"Use capacitor simulator\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:102\nmsgid \"Use character implants by default for new fits\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:98\nmsgid \"Use global character\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:106\nmsgid \"Use global damage pattern\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:157\nmsgid \"\"\n\"Use short mutaplasmid name and base item name instead of actual item name. \"\n\"Works if EVE data language is set to English.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:121\nmsgid \"Username:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:34\nmsgid \"Using Executable Path for Saved Fit Database and Settings\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinContextMenus/itemVariationChange.py:49\nmsgid \"Variations\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:88 eos/saveddata/damagePattern.py:123\nmsgid \"Vengeance\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:60\nmsgid \"View Raw Data\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Volley\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:22\nmsgid \"W-Space\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:25\nmsgid \"Waiting for character login through EVE Single Sign-On.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:215\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:217\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:248\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:250\n#, python-format\nmsgid \"Warp Core Strength: %.1f\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:89\nmsgid \"Warp Speed\"\nmsgstr \"\"\n\n#: graphs/data/fitWarpTime/graph.py:45\nmsgid \"Warp Time\"\nmsgstr \"\"\n\n#: graphs/data/fitWarpTime/graph.py:49\nmsgid \"Warp time\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Weapon\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Webs: speed reduction\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:149\nmsgid \"\"\n\"When disabled, reloads charges just in selected modules. Action can be \"\n\"reversed by holding Ctrl or Alt key while changing charge.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:54\nmsgid \"\"\n\"When enabled, skills will check their dependencies' requirements when their \"\n\"levels change and reset skills that no longer meet the requirement.\\n\"\n\"eg: Setting Drones from level V to IV will reset the Heavy Drone Operation \"\n\"skill, as that requires Drones V\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:69\nmsgid \"\"\n\"When set, uses attacker's exact damage stats at a given time\\n\"\n\"When not set, uses attacker's damage stats as shown in stats panel of main \"\n\"window\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:57\nmsgid \"\"\n\"When set, uses repairing ship's exact RR stats at a given time\\n\"\n\"When not set, uses repairing ship's RR stats as shown in stats panel of main \"\n\"window\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:95 eos/saveddata/damagePattern.py:128\nmsgid \"Worm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:116\nmsgid \"Wormhole\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:50\nmsgid \"Xray\"\nmsgstr \"\"\n\n#: graphs/style.py:59\nmsgid \"Yellow\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:56\nmsgid \"Yes\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:761\nmsgid \"You cannot link All 0 or All 5 characters to an EVE character.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:77\nmsgid \"You must supply a name for the Character!\"\nmsgstr \"\"\n\n#: gui/setEditor.py:48\nmsgid \"You must supply a name for the Implant Set!\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:51\nmsgid \"You must supply a name for your Damage Profile!\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:71\nmsgid \"You must supply a name for your Target Profile!\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:43\nmsgid \"[T2] Aurora\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:84\nmsgid \"[T2] Barrage\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:54\nmsgid \"[T2] Conflagration\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:69\nmsgid \"[T2] ElectroPunch\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:53\nmsgid \"[T2] Gleam\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:94\nmsgid \"[T2] Hail\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:81\nmsgid \"[T2] Javelin\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:57\nmsgid \"[T2] Mystic\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:72\nmsgid \"[T2] Null\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:61\nmsgid \"[T2] Occult\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:93\nmsgid \"[T2] Quake\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:44\nmsgid \"[T2] Scorch\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:71\nmsgid \"[T2] Spike\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:64\nmsgid \"[T2] StrikeSnipe\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:83\nmsgid \"[T2] Tremor\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:82\nmsgid \"[T2] Void\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"em\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"exp\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"explosive\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"kin\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"kinetic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:38\nmsgid \"pyfa User Path:\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:69\nmsgid \"pyfa error\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:82\nmsgid \"\"\n\"pyfa has experienced an unexpected issue. Below is a message that contains \"\n\"crucial \\n\"\n\"information about how this was triggered. Please contact the developers with \"\n\"the \\n\"\n\"information provided through the EVE Online forums or file a GitHub issue.\"\nmsgstr \"\"\n\n#: gui/aboutData.py:31\nmsgid \"pyfa is released under GNU GPLv3 - see included LICENSE file\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:108\nmsgid \"pyfa override file\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:131\nmsgid \"pyfa overrides\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:47\nmsgid \"pyfa:\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"th\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"thermal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#, python-brace-format\nmsgid \"{0} Market Group\"\nmsgstr \"\"\n\n#: gui/itemStats.py:88\n#, python-brace-format\nmsgid \"{context}Stats: {name}{debug_info}\"\nmsgstr \"\"\n\n#: gui/pyfa_gauge.py:347\n#, python-brace-format\nmsgid \"{{0:.{0}f}} left\"\nmsgstr \"\"\n\n#: gui/pyfa_gauge.py:344\n#, python-brace-format\nmsgid \"{{0:.{0}f}} over\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:83\nmsgid \"{} (default)\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:285\nmsgid \"{} Copy\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemStats.py:38\nmsgid \"{} Stats\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:107\nmsgid \"{} {} Slot\"\nmsgid_plural \"{} {} Slots\"\nmsgstr[0] \"\"\nmsgstr[1] \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:225\n#, no-python-format, python-brace-format\nmsgid \"{}% chance to be jammed\"\nmsgstr \"\"\n"
  },
  {
    "path": "locale/ru_RU/LC_MESSAGES/lang.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: pyfa\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2020-10-28 15:28+0300\\n\"\n\"PO-Revision-Date: 2021-09-11 14:48\\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: Russian\\n\"\n\"Language: ru_RU\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\\n\"\n\"X-Crowdin-Project: pyfa\\n\"\n\"X-Crowdin-Project-ID: 411502\\n\"\n\"X-Crowdin-Language: ru\\n\"\n\"X-Crowdin-File: /master/locale/lang.pot\\n\"\n\"X-Crowdin-File-ID: 68\\n\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:107\nmsgid \" DPS: \"\nmsgstr \" ДПС: \"\n\n#: gui/builtinContextMenus/itemRemove.py:44\nmsgid \" Stack\"\nmsgstr \" Стопка\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:100\nmsgid \" Volley: \"\nmsgstr \" Залп: \"\n\n#: gui/builtinItemStatsViews/itemProperties.py:98\n#, python-format\nmsgid \"%d attribute.\"\nmsgid_plural \"%d attributes.\"\nmsgstr[0] \"\"\nmsgstr[1] \"\"\nmsgstr[2] \"\"\nmsgstr[3] \"\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"&Backup All Fittings\"\nmsgstr \"&Сохранить Все Фиты\"\n\n#: gui/mainMenuBar.py:104\nmsgid \"&Browse ESI Fittings\"\nmsgstr \"&Просмотр ESI Фитов\"\n\n#: gui/mainMenuBar.py:111\nmsgid \"&Character\"\nmsgstr \"&Персонаж\"\n\n#: gui/mainMenuBar.py:144\nmsgid \"&Character Editor\"\nmsgstr \"&Редактор персонажа\"\n\n#: gui/mainMenuBar.py:70\nmsgid \"&Close All Tabs\"\nmsgstr \"&Закрыть Все Вкладки\"\n\n#: gui/mainMenuBar.py:69\nmsgid \"&Close Tab\"\nmsgstr \"&Закрыть вкладку\"\n\n#: gui/mainMenuBar.py:150\nmsgid \"&Damage Pattern Editor\"\nmsgstr \"&Редактор Шаблона Урона\"\n\n#: gui/mainMenuBar.py:143\nmsgid \"&Editors\"\nmsgstr \"&Редакторы\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"&Export Fitting\"\nmsgstr \"&Экспорт фитов\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"&Export Skills Needed\"\nmsgstr \"&Экспорт Необходимых Навыков\"\n\n#: gui/mainMenuBar.py:66 gui/propertyEditor.py:42\nmsgid \"&File\"\nmsgstr \"&Файл\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"&Forums\"\nmsgstr \"&Форумы\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"&From Clipboard\"\nmsgstr \"Из буфера обмена\"\n\n#: gui/mainMenuBar.py:135\nmsgid \"&Global\"\nmsgstr \"&Общее\"\n\n#: gui/mainMenuBar.py:96\nmsgid \"&Graphs\"\nmsgstr \"&Графики\"\n\n#: gui/mainMenuBar.py:159\nmsgid \"&Help\"\nmsgstr \"&Помощь\"\n\n#: gui/mainMenuBar.py:147\nmsgid \"&Implant Set Editor\"\nmsgstr \"&Редактор набора имплантов\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"&Import Character File\"\nmsgstr \"&Импорт Файла Персонажа\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"&Import Fittings\"\nmsgstr \"&Импорт Фитов\"\n\n#: gui/mainMenuBar.py:122\nmsgid \"&Manage ESI Characters\"\nmsgstr \"&Менеджер ESI Персонажей\"\n\n#: gui/mainMenuBar.py:68\nmsgid \"&New Tab\"\nmsgstr \"&Новая вкладка\"\n\n#: gui/mainMenuBar.py:95\nmsgid \"&Optimize Fit Price\"\nmsgstr \"&Оптимизировать Цену Фита\"\n\n#: gui/mainMenuBar.py:137\nmsgid \"&Preferences\"\nmsgstr \"&Параметры\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"&Redo\"\nmsgstr \"&Повторить\"\n\n#: gui/mainMenuBar.py:115\nmsgid \"&Revert Character\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:113\nmsgid \"&Save Character\"\nmsgstr \"&Сохранить Персонажа\"\n\n#: gui/mainMenuBar.py:153\nmsgid \"&Target Profile Editor\"\nmsgstr \"&Редактор профиля цели\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"&To Clipboard\"\nmsgstr \"&В буфер\"\n\n#: gui/mainFrame.py:688\nmsgid \"&Turn Overrides Off\"\nmsgstr \"&Выключить Переопределения\"\n\n#: gui/mainMenuBar.py:131 gui/mainFrame.py:688\nmsgid \"&Turn Overrides On\"\nmsgstr \"&Включить Переопределения\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"&Undo\"\nmsgstr \"&Отменить\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"&Wiki\"\nmsgstr \"&Вики\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:25\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:29\nmsgid \"(Cannot be changed while pyfa is running. Set via command line switches.)\"\nmsgstr \"(Нельзя изменить пока работает pyfa. Настройте через переключатели командной строки)\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:81\nmsgid \"0s\"\nmsgstr \"0с\"\n\n#: gui/builtinContextMenus/fighterAbilities.py:33\nmsgid \"Abilities\"\nmsgstr \"Способности\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Abyssal\"\nmsgstr \"Бездна\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:123\nmsgid \"Abyssal Weather\"\nmsgstr \"Погода бездны\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:31\nmsgid \"Active\"\nmsgstr \"Активный\"\n\n#: gui/builtinViewColumns/abilities.py:37\nmsgid \"Active Abilities\"\nmsgstr \"Активные способности\"\n\n#: gui/builtinViewColumns/sideEffects.py:37\nmsgid \"Active Side Effects\"\nmsgstr \"Активные побочные эффекты\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:76\nmsgid \"Active shield boost\"\nmsgstr \"Активное восстановление щита\"\n\n#: gui/esiFittings.py:384\nmsgid \"Add Character\"\nmsgstr \"Добавить Персонажа\"\n\n#: gui/esiFittings.py:217\nmsgid \"Add Character Error\"\nmsgstr \"Ошибка Добавления Персонажа\"\n\n#: gui/builtinShipBrowser/fitItem.py:233\nmsgid \"Add Command Booster\"\nmsgstr \"Добавить Флотовые Бонусы\"\n\n#: gui/builtinContextMenus/fitAddCurrentlyOpen.py:29\nmsgid \"Add Currently Open Fit\"\nmsgstr \"Добавить текущий открытый фит\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:56\nmsgid \"Add Environmental Effect\"\nmsgstr \"Добавить Эффекты Окружения\"\n\n#: gui/builtinContextMenus/fitAddBrowse.py:22\nmsgid \"Add Fit...\"\nmsgstr \"Добавить Фит...\"\n\n#: gui/fitBrowserLite.py:17\nmsgid \"Add Fits\"\nmsgstr \"Добавить Фиты\"\n\n#: gui/builtinContextMenus/targetProfile/adder.py:29\nmsgid \"Add Target Profile\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/cargoAddAmmo.py:28\n#, python-brace-format\nmsgid \"Add {0} to Cargo (x1000)\"\nmsgstr \"Добавить {0} в трюм (х1000)\"\n\n#: gui/builtinContextMenus/cargoAdd.py:33\nmsgid \"Add {} to Cargo\"\nmsgstr \"Добавить {} в Трюм\"\n\n#: gui/builtinContextMenus/droneAddStack.py:40\nmsgid \"Add {} to Drone Bay{}\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:45\nmsgid \"Additions\"\nmsgstr \"Дополнения\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Additions Panel Copy/Paste\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:101\nmsgid \"Addr:\"\nmsgstr \"Адрес:\"\n\n#: gui/itemStats.py:196\nmsgid \"Affected by\"\nmsgstr \"Влияние от\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:226\n#, python-format\nmsgid \"Agility:\\t%.3fx\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:87\nmsgid \"Align time\"\nmsgstr \"Время разгона\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:224\n#, python-format\nmsgid \"Align:\\t%.3fs\"\nmsgstr \"Разгон:\\t%.3fс\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/targetProfile.py:105\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:119\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:133\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:147\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:161\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:175\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:189\nmsgid \"All\"\nmsgstr \"Все\"\n\n#: gui/aboutData.py:32\nmsgid \"All EVE-Online related materials are property of CCP hf.\"\nmsgstr \"Все связанные с EVE Online материалы являются собственностью CCP hf.\"\n\n#: gui/mainFrame.py:838 gui/mainFrame.py:1013\nmsgid \"All Files\"\nmsgstr \"Все Файлы\"\n\n#: gui/characterSelection.py:238\nmsgid \"All skill prerequisites have been met\"\nmsgstr \"Все требования по навыкам выполнены\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:38\nmsgid \"Allow pre-release notifications\"\nmsgstr \"Разрешить пререлизные уведомления\"\n\n#: graphs/gui/ctrlPanel.py:75\nmsgid \"Always show Y = 0\"\nmsgstr \"Всегда показывать Y = 0\"\n\n#: eos/saveddata/targetProfile.py:53\nmsgid \"Amarr (Armor)\"\nmsgstr \"Амарр (Броня)\"\n\n#: eos/saveddata/targetProfile.py:52\nmsgid \"Amarr (Shield)\"\nmsgstr \"Амарр (Щит)\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/targetProfile.py:95\nmsgid \"Amarr EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/targetProfile.py:72\nmsgid \"Amarr Empire\"\nmsgstr \"Амаррская Империя\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:115\nmsgid \"Ammo hold\"\nmsgstr \"Отсек для боеприпасов\"\n\n#: eos/saveddata/damagePattern.py:96 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:229\nmsgid \"Angel\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:123\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:66\nmsgid \"Angel Cartel\"\nmsgstr \"Картель Ангелов\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:133\nmsgid \"Animate gauges\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:71\nmsgid \"Antimatter\"\nmsgstr \"Антиматерия\"\n\n#: gui/builtinContextMenus/implantSetApply.py:25\nmsgid \"Apply Implant Set\"\nmsgstr \"Применить Набор Имплантов\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Apply Mutaplasmid\"\nmsgstr \"Применить Мутаплазмид\"\n\n#: gui/builtinContextMenus/graphDmgApplyProjected.py:23\nmsgid \"Apply Projected Items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:144\nmsgid \"Apply Proxy Settings\"\nmsgstr \"Применить Настройки Прокси\"\n\n#: gui/propertyEditor.py:146\nmsgid \"Are you sure you want to delete all overrides?\"\nmsgstr \"Вы уверены, что хотите удалить все переопределения?\"\n\n#: gui/mainFrame.py:645\nmsgid \"Are you sure you wish to ignore fitting restrictions for the current fit? This could lead to wildly inaccurate results and possible errors.\"\nmsgstr \"Вы уверены, что хотите игнорировать ограничения для текущего фита? Это может привести и абсолютно некорректным результатам и возможным ошибкам.\"\n\n#: eos/saveddata/targetProfile.py:47\nmsgid \"Armor\"\nmsgstr \"Броня\"\n\n#: eos/saveddata/targetProfile.py:50\nmsgid \"Armor (+T2 DCU)\"\nmsgstr \"Броня (+Т2 DCU)\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:77\nmsgid \"Armor repair amount\"\nmsgstr \"Количество ремонтируемой брони\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:113\nmsgid \"Armor resistance\"\nmsgstr \"Сопротивление брони\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:43\n#: gui/builtinStatsViews/outgoingViewFull.py:44\nmsgid \"Armor restored\"\nmsgstr \"Броня восстановлена\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Armor: \"\nmsgstr \"Броня: \"\n\n#: eos/saveddata/damagePattern.py:120 eos/saveddata/targetProfile.py:90\nmsgid \"Ashimmu (Blood Raiders)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\nmsgid \"Asteroid\"\nmsgstr \"Астероид\"\n\n#: graphs/data/fitDamageStats/graph.py:74\nmsgid \"Attacker\"\nmsgstr \"Атакующий\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:56\n#: gui/builtinItemStatsViews/itemAttributes.py:44\nmsgid \"Attribute\"\nmsgstr \"Атрибут\"\n\n#: gui/mainMenuBar.py:128\nmsgid \"Attribute &Overrides\"\nmsgstr \"Переопределения &Атрибутов\"\n\n#: gui/propertyEditor.py:28\nmsgid \"Attribute Editor\"\nmsgstr \"Редактор Атрибутов\"\n\n#: gui/itemStats.py:177\nmsgid \"Attributes\"\nmsgstr \"Атрибуты\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:43\nmsgid \"Auto\"\nmsgstr \"Автоматически\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:94\nmsgid \"Auto will use the same language pyfa uses if available, otherwise English\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Auto-detected proxy settings\"\nmsgstr \"Автоопределение настроек прокси\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:136\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:158\nmsgid \"Auto-detected: \"\nmsgstr \"Автоопределенно: \"\n\n#: graphs/gui/ctrlPanel.py:64\nmsgid \"Axis X:\"\nmsgstr \"Ось X:\"\n\n#: graphs/gui/ctrlPanel.py:56\nmsgid \"Axis Y:\"\nmsgstr \"Ось Y:\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:50\nmsgid \"Back\"\nmsgstr \"Назад\"\n\n#: gui/mainFrame.py:873\nmsgid \"Backing up {} fits to: {}\"\nmsgstr \"Восстановление {} фитов в: {}\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"Backup all fittings to a XML file\"\nmsgstr \"Резервное копирование всех фитов в XML файл\"\n\n#: gui/mainFrame.py:872 gui/mainFrame.py:903\nmsgid \"Backup fits\"\nmsgstr \"Резервное копирование фитов\"\n\n#: eos/saveddata/damagePattern.py:59\nmsgid \"Baryon\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:47\nmsgid \"Base Value\"\nmsgstr \"Базовое Значение\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battlecruiser\"\nmsgstr \"Линейный крейсер\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battleship\"\nmsgstr \"Линкор\"\n\n#: gui/mainFrame.py:951\nmsgid \"Be aware that already processed fits were not saved\"\nmsgstr \"Имейте в виду, что уже обработанные фиты не будут сохранены\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Bioluminescence\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:106 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/targetProfile.py:61 eos/saveddata/targetProfile.py:67\nmsgid \"Blood Raiders\"\nmsgstr \"Союз Охотников за Кровью\"\n\n#: graphs/style.py:54\nmsgid \"Blue\"\nmsgstr \"Синий\"\n\n#: eos/saveddata/damagePattern.py:90 eos/saveddata/damagePattern.py:91\n#: eos/saveddata/damagePattern.py:92 eos/saveddata/damagePattern.py:93\nmsgid \"Bombs\"\nmsgstr \"Бомбы\"\n\n#: gui/builtinAdditionPanes/boosterView.py:215\nmsgid \"Booster\"\nmsgstr \"Боевой стимулятор\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\n#: gui/builtinContextMenus/additionsExportAll.py:23\n#: gui/builtinContextMenus/additionsExportSelection.py:23\n#: gui/builtinContextMenus/additionsImport.py:24 gui/additionsPane.py:78\nmsgid \"Boosters\"\nmsgstr \"Боевые стимуляторы\"\n\n#: graphs/style.py:82\nmsgid \"Bright\"\nmsgstr \"Ярко\"\n\n#: gui/esiFittings.py:32\nmsgid \"Browse EVE Fittings\"\nmsgstr \"Просмотр фитов EVE\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Bump distance\"\nmsgstr \"Расстояние до столкновения\"\n\n#: graphs/data/fitMobility/graph.py:38\nmsgid \"Bump speed\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/targetProfile.py:81 eos/saveddata/targetProfile.py:82\n#: eos/saveddata/targetProfile.py:83 eos/saveddata/targetProfile.py:84\n#: eos/saveddata/targetProfile.py:85 eos/saveddata/targetProfile.py:86\n#: eos/saveddata/targetProfile.py:87 eos/saveddata/targetProfile.py:88\n#: eos/saveddata/targetProfile.py:89 eos/saveddata/targetProfile.py:90\n#: eos/saveddata/targetProfile.py:91 eos/saveddata/targetProfile.py:92\nmsgid \"Burner\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/targetProfile.py:74\nmsgid \"CONCORD\"\nmsgstr \"КОНКОРД\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:153\nmsgid \"CPU\"\nmsgstr \"ЦПУ\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:118\nmsgid \"CSV files\"\nmsgstr \"CSV файлы\"\n\n#: eos/saveddata/targetProfile.py:55\nmsgid \"Caldari (Armor)\"\nmsgstr \"Калдари (Броня)\"\n\n#: eos/saveddata/targetProfile.py:54\nmsgid \"Caldari (Shield)\"\nmsgstr \"Калдари (Щит)\"\n\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/targetProfile.py:96\nmsgid \"Caldari EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/targetProfile.py:73\nmsgid \"Caldari State\"\nmsgstr \"Государство Калдари\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:115\nmsgid \"Calibration\"\nmsgstr \"Калибровка\"\n\n#: graphs/data/fitCapacitor/graph.py:35 graphs/data/fitCapacitor/graph.py:36\n#: graphs/data/fitCapacitor/graph.py:38 graphs/data/fitCapacitor/graph.py:43\nmsgid \"Cap amount\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Cap neutralized per second\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:39\nmsgid \"Cap regen\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:32\n#: gui/builtinStatsViews/capacitorViewFull.py:37\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\nmsgid \"Capacitor\"\nmsgstr \"Накопитель\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:139\nmsgid \"Capacitor delta:\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:31\n#: gui/builtinStatsViews/outgoingViewFull.py:32\nmsgid \"Capacitor restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:57\nmsgid \"Capacitor stability\"\nmsgstr \"Стабильность накопителя\"\n\n#: eos/saveddata/damagePattern.py:76\nmsgid \"Carbonized Lead\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:49 gui/copySelectDialog.py:57\n#: gui/builtinContextMenus/priceOptions.py:47\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:90\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:81\n#: gui/additionsPane.py:72\nmsgid \"Cargo\"\nmsgstr \"Груз\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:20\n#: gui/builtinContextMenus/additionsExportSelection.py:20\n#: gui/builtinContextMenus/additionsImport.py:21\nmsgid \"Cargo Items\"\nmsgstr \"Предметы в Трюме\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:158\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Cargo bay\"\nmsgstr \"Трюм\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:229\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:254\nmsgid \"Cargohold: \"\nmsgstr \"Трюм: \"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:167\nmsgid \"Carrier\"\nmsgstr \"КАР\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Caustic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:47\nmsgid \"Cert Path:\"\nmsgstr \"Путь к сертификату:\"\n\n#: gui/builtinContextMenus/skillAffectors.py:73\n#, python-format\nmsgid \"Change %s Skills\"\nmsgstr \"Изменить %s навыков\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:92\nmsgid \"Change Amount\"\nmsgstr \"Изменить количество\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\nmsgid \"Change Skills\"\nmsgstr \"Изменить Навыки\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:144\nmsgid \"Change charge in all modules of the same type\"\nmsgstr \"Изменить заряды во всех модулях того же типа\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:34\n#, python-brace-format\nmsgid \"Change {0} Quantity\"\nmsgstr \"Изменить количество {0}\"\n\n#: gui/builtinContextMenus/itemProjectionRange.py:34\nmsgid \"Change {} Range\"\nmsgstr \"Изменить дальность {}\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:31\nmsgid \"Changes require restart of pyfa to take effect.\"\nmsgstr \"Изменения требуют перезапуска pyfa для вступления в силу.\"\n\n#: gui/esiFittings.py:375 gui/builtinStatsViews/priceViewFull.py:57\n#: gui/characterEditor.py:90\nmsgid \"Character\"\nmsgstr \"Персонаж\"\n\n#: gui/characterEditor.py:137\nmsgid \"Character Editor\"\nmsgstr \"Редактор Персонажа\"\n\n#: gui/esiFittings.py:376\nmsgid \"Character ID\"\nmsgstr \"ID Персонажа\"\n\n#: gui/characterEditor.py:78\nmsgid \"Character name already in use, please choose another.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:771\nmsgid \"Character:\"\nmsgstr \"Персонаж:\"\n\n#: gui/characterSelection.py:47\nmsgid \"Character: \"\nmsgstr \"Персонаж: \"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:48\nmsgid \"Charge\"\nmsgstr \"Заряд\"\n\n#: gui/builtinViews/fittingView.py:664\nmsgid \"Citadel\"\nmsgstr \"Цитадель\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:37\nmsgid \"Citadel System Security\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear All\"\nmsgstr \"Очистить Всё\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear all overrides\"\nmsgstr \"Очистить все переопределения\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:97\n#: gui/builtinStatsViews/resistancesViewFull.py:169\nmsgid \"Click to toggle between effective HP and raw HP\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:102\nmsgid \"Click to toggle to Firepower View\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:115\nmsgid \"Click to toggle to Mining Yield\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:76\nmsgid \"Client ID:\"\nmsgstr \"ID клиента:\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:85\nmsgid \"Client Secret:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:114\nmsgid \"Color fitting view by slot\"\nmsgstr \"Цветной режим фита по слотам\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"Combined ECM strength\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:84\nmsgid \"Command\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/commandView.py:201\nmsgid \"Command Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/commandFitAdd.py:51\nmsgid \"Command Fits\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:127\nmsgid \"Command center hold\"\nmsgstr \"Отсек для командных центров\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:110\nmsgid \"Compact skills needed tooltip\"\nmsgstr \"\"\n\n#: gui/itemStats.py:182\nmsgid \"Compare\"\nmsgstr \"Сравнить\"\n\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:227\nmsgid \"Concord\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:92\nmsgid \"Concussion Bomb\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:98\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:103\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:108\n#: gui/mainFrame.py:647 gui/mainFrame.py:653\nmsgid \"Confirm\"\nmsgstr \"Подтвердить\"\n\n#: gui/esiFittings.py:160 gui/propertyEditor.py:147\nmsgid \"Confirm Delete\"\nmsgstr \"Подтвердить Удаление\"\n\n#: gui/esiFittings.py:129 gui/esiFittings.py:172 gui/esiFittings.py:345\nmsgid \"Connection error, please check your internet connection\"\nmsgstr \"Ошибка соединения, пожалуйста проверьте Ваше интернет соединение\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:14\nmsgid \"Context Menus\"\nmsgstr \"Контекстные меню\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:117\nmsgid \"ContextMenu|ProjectedEffectManipulation|Black Hole\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:118\nmsgid \"ContextMenu|ProjectedEffectManipulation|Cataclysmic Variable\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:144\nmsgid \"ContextMenu|ProjectedEffectManipulation|Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:106\nmsgid \"ContextMenu|ProjectedEffectManipulation|Electrical\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:107\nmsgid \"ContextMenu|ProjectedEffectManipulation|Exotic\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:115\nmsgid \"ContextMenu|ProjectedEffectManipulation|Firestorm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:108\nmsgid \"ContextMenu|ProjectedEffectManipulation|Gamma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:119\nmsgid \"ContextMenu|ProjectedEffectManipulation|Magnetar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:113\nmsgid \"ContextMenu|ProjectedEffectManipulation|Matter\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:111\nmsgid \"ContextMenu|ProjectedEffectManipulation|Metaliminal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:109\nmsgid \"ContextMenu|ProjectedEffectManipulation|Plasma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:120\nmsgid \"ContextMenu|ProjectedEffectManipulation|Pulsar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:114\nmsgid \"ContextMenu|ProjectedEffectManipulation|Ray\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:121\nmsgid \"ContextMenu|ProjectedEffectManipulation|Red Giant\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:125\nmsgid \"ContextMenu|ProjectedEffectManipulation|Sansha Incursion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:112\nmsgid \"ContextMenu|ProjectedEffectManipulation|Storm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:143\nmsgid \"ContextMenu|ProjectedEffectManipulation|System Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:127\nmsgid \"ContextMenu|ProjectedEffectManipulation|Triglavian Invasion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:122\nmsgid \"ContextMenu|ProjectedEffectManipulation|Wolf Rayet\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemDescription.py:43\n#: gui/builtinItemStatsViews/itemTraits.py:25\n#: gui/builtinShipBrowser/fitItem.py:107\nmsgid \"Copy\"\nmsgstr \"Копировать\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:39\nmsgid \"Copy All {}\"\nmsgstr \"Копировать Все {}\"\n\n#: gui/characterSelection.py:105\nmsgid \"Copy Missing Skills\"\nmsgstr \"Копировать Отсутствующие Навыки\"\n\n#: gui/builtinContextMenus/moduleMutatedExport.py:28\nmsgid \"Copy Module to Clipboard\"\nmsgstr \"Копировать Модули в Буфер\"\n\n#: gui/builtinContextMenus/additionsExportSelection.py:39\nmsgid \"Copy Selected {}\"\nmsgstr \"Копировать выбранное {}\"\n\n#: gui/ssoLogin.py:20\nmsgid \"Copy and paste the block of text provided by pyfa.io\"\nmsgstr \"Копировать и вставить блок текста предоставленный pyfa.io\"\n\n#: gui/setEditor.py:222 gui/patternEditor.py:290 gui/targetProfileEditor.py:366\nmsgid \"Could not import from clipboard\"\nmsgstr \"Не удалось импортировать из буфера\"\n\n#: gui/targetProfileEditor.py:359\nmsgid \"Could not import from clipboard:\"\nmsgstr \"Не удалось импортировать из буфера:\"\n\n#: gui/setEditor.py:218 gui/patternEditor.py:283\nmsgid \"Could not import from clipboard: unknown errors\"\nmsgstr \"Не удалось импортировать из буфера: неизвестные ошибки\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Cruiser\"\nmsgstr \"Крейсер\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/targetProfile.py:81\nmsgid \"Cruor (Blood Raiders)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:175\nmsgid \"Current\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:57\n#: gui/builtinItemStatsViews/itemAttributes.py:45\nmsgid \"Current Value\"\nmsgstr \"Текущее Значение\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:63\nmsgid \"Custom Application\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"Custom application\"\nmsgstr \"\"\n\n#: graphs/style.py:57\nmsgid \"Cyan\"\nmsgstr \"Голубой\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"DPS\"\nmsgstr \"ДПС\"\n\n#: gui/patternEditor.py:99\nmsgid \"Damage Pattern Editor\"\nmsgstr \"Редактор Шаблона Урона\"\n\n#: gui/patternEditor.py:65\nmsgid \"Damage Profile\"\nmsgstr \"Профиль Урона\"\n\n#: gui/patternEditor.py:53\nmsgid \"Damage Profile name already in use, please choose another.\"\nmsgstr \"Имя профиля урона уже используется, пожалуйста выберете другое.\"\n\n#: graphs/data/fitDamageStats/graph.py:56\nmsgid \"Damage Stats\"\nmsgstr \"Параметры Урона\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Damage inflicted\"\nmsgstr \"Нанесённый урон\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Damps: lock range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/targetProfile.py:83\nmsgid \"Daredevil (Serpentis)\"\nmsgstr \"\"\n\n#: graphs/style.py:81\nmsgid \"Dark\"\nmsgstr \"Темный\"\n\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\nmsgid \"Dark Matter All Tiers\"\nmsgstr \"\"\n\n#: graphs/style.py:89\nmsgid \"Dash-dotted\"\nmsgstr \"Штрих-пунктир\"\n\n#: graphs/style.py:87\nmsgid \"Dashed\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:15\nmsgid \"Database\"\nmsgstr \"База данных\"\n\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\nmsgid \"Deadspace\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:56\nmsgid \"Debug Logging Enabled\"\nmsgstr \"Сохранять отладочную информацию\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:58\nmsgid \"Default Market Prices:\"\nmsgstr \"Рыночные Цены По умолчанию:\"\n\n#: gui/propertyEditor.py:271\n#, python-format\nmsgid \"Default Value: %0.3f\"\nmsgstr \"Значение по умолчанию: %0.3f\"\n\n#: gui/builtinContextMenus/shipModeChange.py:18\nmsgid \"Defense\"\nmsgstr \"Защитный\"\n\n#: graphs/data/fitMobility/graph.py:44\nmsgid \"Defined in millions of kilograms\"\nmsgstr \"Определено в миллионах килограмм\"\n\n#: gui/builtinShipBrowser/fitItem.py:109\nmsgid \"Delete\"\nmsgstr \"Удалить\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:79\nmsgid \"Delete All Damage Pattern Profiles\"\nmsgstr \"Удалить Все Профили Урона\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:87\nmsgid \"Delete All Prices\"\nmsgstr \"Удалить Все Цены\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:83\nmsgid \"Delete All Target Profiles\"\nmsgstr \"Удалить Все Профили Целей\"\n\n#: gui/esiFittings.py:66\nmsgid \"Delete all from Eve\"\nmsgstr \"Удалить всё из EVE\"\n\n#: gui/esiFittings.py:65\nmsgid \"Delete from EVE\"\nmsgstr \"Удалить из EVE\"\n\n#: gui/itemStats.py:189\nmsgid \"Dependents\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:79\nmsgid \"Depleted Uranium\"\nmsgstr \"\"\n\n#: gui/itemStats.py:174\nmsgid \"Description\"\nmsgstr \"Описание\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Destroyer\"\nmsgstr \"Эсминец\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Destructible Beacons\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Dev Tools\"\nmsgstr \"Инструменты Разработчика\"\n\n#: gui/mainMenuBar.py:101 gui/mainMenuBar.py:202\nmsgid \"Disable Fitting Re&strictions\"\nmsgstr \"Отключить Ог&раничения Фита\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Disabled\"\nmsgstr \"Выкл\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:28\nmsgid \"Disabling context menus can improve responsiveness.\\n\"\n\"You can hold {} key + right-click to show all menu items regardless of these settings.\"\nmsgstr \"Отключение контекстных меню может улучшить производительность.\\n\"\n\"Вы можете зажать кнопку {} + ПКМ для показа всех пунктов меню независимо от этой настройки.\"\n\n#: graphs/data/fitMobility/graph.py:36 graphs/data/fitRemoteReps/graph.py:50\n#: graphs/data/fitRemoteReps/graph.py:58 graphs/data/fitWarpTime/graph.py:47\n#: graphs/data/fitWarpTime/graph.py:48 graphs/data/fitWarpTime/graph.py:51\n#: graphs/data/fitWarpTime/graph.py:52 graphs/data/fitDamageStats/graph.py:58\n#: graphs/data/fitDamageStats/graph.py:65 graphs/data/fitEwarStats/graph.py:34\n#: graphs/data/fitEwarStats/graph.py:44\nmsgid \"Distance\"\nmsgstr \"Дистанция\"\n\n#: graphs/data/fitDamageStats/graph.py:66\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"Дистанция между атакующим и целью, как показано в обзорной панели (поверхность-к-поверхности)\"\n\n#: graphs/data/fitDamageStats/graph.py:67\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\\n\"\n\"When set, places the target that far away from the attacker\\n\"\n\"When not set, attacker's weapons always hit the target\"\nmsgstr \"Дистанция между атакующим и целью, как показано в обзорной панели (поверхность-к-поверхности)\\n\"\n\"Когда задано, цель помещена на данную дистанцию от атакующего\\n\"\n\"Когда не установлено, оружие атакующего всегда попадает в цель\"\n\n#: graphs/data/fitRemoteReps/graph.py:59 graphs/data/fitRemoteReps/graph.py:60\nmsgid \"Distance between the repairing ship and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"Дистанция между ремонтирующим кораблём и целью, как показано в обзорной панели (поверхность-к-поверхности)\"\n\n#: gui/esiFittings.py:159\nmsgid \"Do you really want to delete {} ({}) from EVE?\"\nmsgstr \"Вы действительно хотите удалить {} ({}) из EVE?\"\n\n#: gui/updateDialog.py:102\nmsgid \"Don't remind me again for this release\"\nmsgstr \"Не напоминать мне снова об этом релизе\"\n\n#: gui/characterEditor.py:789\nmsgid \"Don't see your EVE character in the list?\"\nmsgstr \"Не видите вашего персонажа EVE в списке?\"\n\n#: graphs/style.py:88\nmsgid \"Dotted\"\nmsgstr \"Пунктир\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:71\n#: gui/updateDialog.py:113\nmsgid \"Download\"\nmsgstr \"Загрузить\"\n\n#: graphs/gui/lists.py:313\nmsgid \"Drag a fit into this list to graph it\"\nmsgstr \"Перетащите фит в этот список, чтобы построить график\"\n\n#: graphs/gui/lists.py:370\nmsgid \"Drag a fit into this list to have your fits graphed against it\"\nmsgstr \"Перетащите фит в этот список, чтобы построить график против него\"\n\n#: gui/builtinAdditionPanes/commandView.py:163\nmsgid \"Drag a fit to this area\"\nmsgstr \"Перетащите фит в эту область\"\n\n#: gui/builtinAdditionPanes/projectedView.py:224\nmsgid \"Drag an item or fit, or use right-click menu for wormhole effects\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:112 eos/saveddata/targetProfile.py:82\nmsgid \"Dramiel (Angel)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:144\n#: eos/saveddata/damagePattern.py:147\nmsgid \"Dread\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/damagePattern.py:146\nmsgid \"Dread/Subcaps\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:98 eos/saveddata/targetProfile.py:103\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:117\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:131\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:145\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:159\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:173\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:187\nmsgid \"Drifter\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:159 eos/saveddata/targetProfile.py:230\nmsgid \"Drifter Entities\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Drone\"\nmsgstr \"Дрон\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:26\nmsgid \"Drone Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:157\nmsgid \"Drone bandwidth\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:155\nmsgid \"Drone bay\"\nmsgstr \"Отсек для дронов\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:66\nmsgid \"Drone range\"\nmsgstr \"Дальность дронов\"\n\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/targetProfile.py:99\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:113\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:127\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:141\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:155\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:169\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:183\n#: gui/builtinContextMenus/priceOptions.py:40\n#: gui/builtinContextMenus/additionsExportAll.py:18\n#: gui/builtinContextMenus/additionsExportSelection.py:18\n#: gui/builtinContextMenus/additionsImport.py:19\n#: gui/builtinStatsViews/priceViewFull.py:58\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:77\n#: gui/additionsPane.py:66\nmsgid \"Drones\"\nmsgstr \"Дроны\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:113\nmsgid \"Drones active\"\nmsgstr \"Активные дроны\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:62\nmsgid \"Dump All Logs\"\nmsgstr \"Дамп Всех Логов\"\n\n#: gui/mainMenuBar.py:105\nmsgid \"E&xport to ESI\"\nmsgstr \"Э&кспорт в ESI\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"ECM: combined strength\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:837\nmsgid \"EFT text fitting files\"\nmsgstr \"Файлы текстовых фитов EFT\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:96\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"EHP\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:39\n#: gui/builtinContextMenus/moduleAmmoChange.py:24\nmsgid \"EM\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:119\nmsgid \"EM resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:81\nmsgid \"EMP\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:347 gui/esiFittings.py:351 gui/esiFittings.py:359\nmsgid \"ERROR\"\nmsgstr \"ОШИБКА\"\n\n#: gui/mainFrame.py:1012\nmsgid \"EVE API XML character files\"\nmsgstr \"EVE API XML файлы персонажа\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:76\nmsgid \"EVE Data:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:49\nmsgid \"EVE IGB HTML fitting file\"\nmsgstr \"EVE IGB HTML файл фита\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:16\n#: gui/characterEditor.py:162\nmsgid \"EVE SSO\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:37\nmsgid \"EVE Servers (API && CREST import)\"\nmsgstr \"Сервера EVE (API и CREST импорт)\"\n\n#: gui/mainFrame.py:859\nmsgid \"EVE XML fitting file\"\nmsgstr \"EVE XML файл фита\"\n\n#: gui/mainFrame.py:466 gui/mainFrame.py:836\nmsgid \"EVE XML fitting files\"\nmsgstr \"EVE XML файлы фитов\"\n\n#: gui/mainFrame.py:808\nmsgid \"EVEMon skills training XML file\"\nmsgstr \"XML файл изучения навыков EVEMon\"\n\n#: gui/mainFrame.py:807\nmsgid \"EVEMon skills training file\"\nmsgstr \"Файл изучения навыков EVEMon\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"Effective DPS\"\nmsgstr \"Эффективный ДПС\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:61\n#: gui/builtinStatsViews/resistancesViewFull.py:219\nmsgid \"Effective HP: \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:151\nmsgid \"Effective capacity\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Effective damage inflicted\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Effective volley\"\nmsgstr \"Эффективный залп\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:220\n#, python-format\nmsgid \"Effective: %d HP\"\nmsgstr \"\"\n\n#: gui/itemStats.py:192\nmsgid \"Effects\"\nmsgstr \"Эффекты\"\n\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:107\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:109\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:194\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:196\nmsgid \"Electrical T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\nmsgid \"Electrical T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:121\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:123\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:200\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:202\nmsgid \"Electrical T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:85\nmsgid \"Electromagnetic resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:90\nmsgid \"Electron Bomb\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:33\nmsgid \"Electronic Warfare Stats\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:59\nmsgid \"Empty\"\nmsgstr \"Пусто\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:105\nmsgid \"Empty Market View\"\nmsgstr \"\"\n\n#: gui/multiSwitch.py:41\nmsgid \"Empty Tab\"\nmsgstr \"Пустая Вкладка\"\n\n#: gui/mainMenuBar.py:200\nmsgid \"Enable Fitting Re&strictions\"\nmsgstr \"Включить Ог&раничения фита\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:33\nmsgid \"Enable Network\"\nmsgstr \"Включить Сеть\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable all available meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:93\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:114\nmsgid \"Enable all meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\nmsgid \"Enable all meta buttons for a duration of search / recents\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button, disable others\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable leftmost available meta button\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:61\nmsgid \"Enable minimal format\"\nmsgstr \"Включить минимальный формат\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Enabled\"\nmsgstr \"Включена\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:50\nmsgid \"Enforce strict skill level requirements\"\nmsgstr \"Обеспечить строгие требования к уровням навыков\"\n\n#: gui/characterEditor.py:281\nmsgid \"Enter a name for your new Character:\"\nmsgstr \"Введите имя для вашего нового Персонажа:\"\n\n#: gui/builtinContextMenus/implantSetSave.py:51\nmsgid \"Enter a name for your new Implant Set:\"\nmsgstr \"Введите имя для вашего нового Набора Имплантов:\"\n\n#: eos/saveddata/damagePattern.py:116 eos/saveddata/targetProfile.py:86\nmsgid \"Enyo\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:174 gui/setEditor.py:55 gui/mainFrame.py:896\n#: gui/characterEditor.py:83 gui/characterEditor.py:463\n#: gui/characterEditor.py:898 gui/patternEditor.py:58\n#: gui/targetProfileEditor.py:78\nmsgid \"Error\"\nmsgstr \"Ошибка\"\n\n#: gui/characterSelection.py:173 gui/characterEditor.py:897\nmsgid \"Error fetching skill information\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:68\nmsgid \"Error!\"\nmsgstr \"Ошибка!\"\n\n#: eos/saveddata/damagePattern.py:57 eos/saveddata/damagePattern.py:58\n#: eos/saveddata/damagePattern.py:59 eos/saveddata/damagePattern.py:60\n#: eos/saveddata/damagePattern.py:61\nmsgid \"Exotic Plasma\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:149\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:151\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:212\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:214\nmsgid \"Exotic T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\nmsgid \"Exotic T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:163\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:165\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:218\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:220\nmsgid \"Exotic T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:67\nmsgid \"Expand All\"\nmsgstr \"Развернуть Всё\"\n\n#: eos/saveddata/damagePattern.py:42\n#: gui/builtinContextMenus/moduleAmmoChange.py:26\nmsgid \"Explosive\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:88\n#: gui/targetProfileEditor.py:122\nmsgid \"Explosive resistance\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:39\nmsgid \"Export\"\nmsgstr \"Экспорт\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export All Fittings to &HTML\"\nmsgstr \"Экспортировать все фиты в &HTML\"\n\n#: gui/mainFrame.py:946\nmsgid \"Export Error\"\nmsgstr \"Ошибка Экспорта\"\n\n#: gui/esiFittings.py:258\nmsgid \"Export Fit\"\nmsgstr \"Экспорт фита\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:23\nmsgid \"Export Fittings in a minimal HTML Version, just containing the fittings links without any visual styling\"\nmsgstr \"Экспорт фитов в минимальной HTML версии, содержащей только ссылки на ыиты без какого либо визуального оформления\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:57\nmsgid \"Export Item Stats\"\nmsgstr \"Экспорт Параметров Предмета\"\n\n#: gui/esiFittings.py:263\nmsgid \"Export Loaded Charges\"\nmsgstr \"Экспорт Загруженных Зарядов\"\n\n#: gui/mainFrame.py:805\nmsgid \"Export Skills Needed As...\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"Export a fit to the clipboard\"\nmsgstr \"Экспортировать фит в буфер\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\nmsgid \"Export boosters\"\nmsgstr \"Экспорт бустеров\"\n\n#: gui/copySelectDialog.py:49\nmsgid \"Export cargo contents\"\nmsgstr \"Экспортировать содержимое трюма\"\n\n#: gui/copySelectDialog.py:57\nmsgid \"Export cargo hold contents\"\nmsgstr \"Экспортировать содержимое трюма\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Export charges loaded into modules\"\nmsgstr \"Экспорт зарядов загруженных в модули\"\n\n#: gui/esiFittings.py:245\nmsgid \"Export fit to EVE\"\nmsgstr \"Экспорт фита в EVE\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export fits to HTML file (set in Preferences)\"\nmsgstr \"Экспорт фитов в HTML файл (задано в Настройках)\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"Export fitting to another format\"\nmsgstr \"Экспорт фита в другой формат\"\n\n#: gui/setEditor.py:149\nmsgid \"Export implant sets to clipboard\"\nmsgstr \"Экспорт наборов имплантов в буфер\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\nmsgid \"Export implants\"\nmsgstr \"Экспорт имплантов\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Export mutated modules' stats\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:172\nmsgid \"Export patterns to clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:222\nmsgid \"Export profiles to clipboard\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:373\nmsgid \"Export skills from clipboard\"\nmsgstr \"Экспорт навыков из буфера\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"Export skills needed for this fitting\"\nmsgstr \"Экспорт необходимых для этого фита навыков\"\n\n#: gui/mainFrame.py:827\nmsgid \"Exporting skills needed...\"\nmsgstr \"Экспорт необходимых навыков...\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:152\nmsgid \"Extra info in Additions panel tab names\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:90\nmsgid \"Extra stats\"\nmsgstr \"Дополнительные параметры\"\n\n#: gui/builtinContextMenus/factorReload.py:26\nmsgid \"Factor in Reload Time\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:44\nmsgid \"Factor in reload time when calculating capacitor usage, damage, and tank.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:328\nmsgid \"Failed to generate export data\"\nmsgstr \"Не удалось создать файл экспорта\"\n\n#: gui/aboutData.py:34\nmsgid \"Fat Cow Icons by fatcow.com - Creative Commons Attribution 3.0 License\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:44\nmsgid \"Fetch Fits\"\nmsgstr \"Выгрузить фиты\"\n\n#: gui/esiFittings.py:114\nmsgid \"Fetching fits, please wait...\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:81\nmsgid \"Fi&t\"\nmsgstr \"Фи&т\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:156\nmsgid \"Fighter bay\"\nmsgstr \"Отсек для истребителей\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:114\nmsgid \"Fighter squadrons active\"\nmsgstr \"Активные отряды истребителей\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:19\n#: gui/builtinContextMenus/additionsExportSelection.py:19\n#: gui/builtinContextMenus/additionsImport.py:20 gui/additionsPane.py:69\nmsgid \"Fighters\"\nmsgstr \"Истребители\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Filament\"\nmsgstr \"Нить\"\n\n#: gui/builtinContextMenus/itemFill.py:32\nmsgid \"Fill With Module\"\nmsgstr \"Заполнить Модулем\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\n#, python-brace-format\nmsgid \"Fill With {0}\"\nmsgstr \"Заполнить {0}\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\nmsgid \"Fill with module\"\nmsgstr \"Заполнить модулем\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:43\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\nmsgid \"Firepower\"\nmsgstr \"Огневая мощь\"\n\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\nmsgid \"Firestorm T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:135\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:137\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:206\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:208\nmsgid \"Firestorm T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\nmsgid \"Firestorm T4/T5/T6\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:306\nmsgid \"Fit\"\nmsgstr \"Фит\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:47\nmsgid \"Fitting Database:\"\nmsgstr \"База Данных Фитов:\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:27\nmsgid \"Fitting Engine\"\nmsgstr \"Работа фита\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57 gui/mainFrame.py:184\nmsgid \"Fittings\"\nmsgstr \"Фит\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:113\nmsgid \"Fleet hangar\"\nmsgstr \"Отсек с общим доступом\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Formatting Tags\"\nmsgstr \"Теги Форматирования\"\n\n#: eos/saveddata/damagePattern.py:43 eos/saveddata/damagePattern.py:44\n#: eos/saveddata/damagePattern.py:45 eos/saveddata/damagePattern.py:46\n#: eos/saveddata/damagePattern.py:47 eos/saveddata/damagePattern.py:48\n#: eos/saveddata/damagePattern.py:49 eos/saveddata/damagePattern.py:50\n#: eos/saveddata/damagePattern.py:51 eos/saveddata/damagePattern.py:52\n#: eos/saveddata/damagePattern.py:53 eos/saveddata/damagePattern.py:54\nmsgid \"Frequency Crystals\"\nmsgstr \"Частотные кристаллы\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Frigate\"\nmsgstr \"Фрегат\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:116\nmsgid \"Fuel bay\"\nmsgstr \"Отсек для топлива\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Full\"\nmsgstr \"Полный\"\n\n#: eos/saveddata/damagePattern.py:83\nmsgid \"Fusion\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"GDs: missile flight range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:57\nmsgid \"Gallente (Armor)\"\nmsgstr \"Галленте (Броня)\"\n\n#: eos/saveddata/targetProfile.py:56\nmsgid \"Gallente (Shield)\"\nmsgstr \"Галленте (Щит)\"\n\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/targetProfile.py:97\nmsgid \"Gallente EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/targetProfile.py:75\nmsgid \"Gallente Federation\"\nmsgstr \"Галлентская Федерация\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:57\nmsgid \"Game Database:\"\nmsgstr \"База Данных Игры:\"\n\n#: eos/saveddata/damagePattern.py:51\nmsgid \"Gamma\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\nmsgid \"Gamma T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:177\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:179\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:224\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:226\nmsgid \"Gamma T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Gamma T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:125\nmsgid \"Gas hold\"\nmsgstr \"Отсек для газа\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:20\nmsgid \"General\"\nmsgstr \"Основное\"\n\n#: gui/mainFrame.py:904\nmsgid \"Generating HTML file at: {}\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:39 eos/saveddata/damagePattern.py:40\n#: eos/saveddata/damagePattern.py:41 eos/saveddata/damagePattern.py:42\nmsgid \"Generic\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:778\nmsgid \"Get Skills\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:68\nmsgid \"Global Default Spoolup Percentage:\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"Go to EVE Online Forum thread\"\nmsgstr \"Перейдите к теме на форуме EVE\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"Go to wiki on GitHub\"\nmsgstr \"Перейдите к вики на GitHub\"\n\n#: gui/characterSelection.py:102\nmsgid \"Grant Missing Skills\"\nmsgstr \"\"\n\n#: graphs/gui/frame.py:51\nmsgid \"Graphs\"\nmsgstr \"Графики\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Gravimetric\"\nmsgstr \"\"\n\n#: graphs/style.py:53\nmsgid \"Green\"\nmsgstr \"Зеленый\"\n\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:125\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:68\nmsgid \"Guristas\"\nmsgstr \"Организация «Гуристас»\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:172\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"HP\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:19\nmsgid \"HTML Export\"\nmsgstr \"Экспорт HTML\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:20\nmsgid \"HTML Export (File > Export HTML) allows you to export your entire fitting database into an HTML file at the specified location. This file can be used to easily open your fits in a web-based fitting program\"\nmsgstr \"HTML экспорт (Файл > Экспорт HTML) позволяет экспортировать всю базу данных фитов в HTML файл в заданном расположении. Этот файл может быть использован для простого открытия Ваших фитов в веб-приложениях фитинга\"\n\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/targetProfile.py:87\nmsgid \"Hawk\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Heavy\"\nmsgstr \"Тяжёлые\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:136\nmsgid \"Hide Recent Fits\"\nmsgstr \"Скрыть Недавние Фиты\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:53\n#: gui/builtinShipBrowser/navigationPanel.py:147\nmsgid \"Hide empty ship groups\"\nmsgstr \"Скрыть пустые группы кораблей\"\n\n#: gui/builtinViewColumns/baseName.py:59\nmsgid \"High\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:19\nmsgid \"High Security\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:48\nmsgid \"Hull\"\nmsgstr \"Корпус\"\n\n#: eos/saveddata/targetProfile.py:51\nmsgid \"Hull (+T2 DCU)\"\nmsgstr \"Корпус (+Т2 DCU)\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:78\nmsgid \"Hull repair amount\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:114\nmsgid \"Hull resistance\"\nmsgstr \"Сопротивляемость корпуса\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:49\n#: gui/builtinStatsViews/outgoingViewFull.py:50\nmsgid \"Hull restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Hull: \"\nmsgstr \"Корпус: \"\n\n#: eos/saveddata/damagePattern.py:62 eos/saveddata/damagePattern.py:63\n#: eos/saveddata/damagePattern.py:64 eos/saveddata/damagePattern.py:65\n#: eos/saveddata/damagePattern.py:66 eos/saveddata/damagePattern.py:67\n#: eos/saveddata/damagePattern.py:68 eos/saveddata/damagePattern.py:69\n#: eos/saveddata/damagePattern.py:70 eos/saveddata/damagePattern.py:71\n#: eos/saveddata/damagePattern.py:72 eos/saveddata/damagePattern.py:73\nmsgid \"Hybrid Charges\"\nmsgstr \"Гибридные заряды\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:35\nmsgid \"ID\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:293\nmsgid \"Ideal Target\"\nmsgstr \"Идеальная Цель\"\n\n#: gui/builtinContextMenus/graphDroneControlRange.py:23\nmsgid \"Ignore Drone Control Range\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphLockRange.py:23\nmsgid \"Ignore Lock Range\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgIgnoreResists.py:23\nmsgid \"Ignore Target Resists\"\nmsgstr \"\"\n\n#: gui/setEditor.py:62\nmsgid \"Implant Set\"\nmsgstr \"Набор Имплантов\"\n\n#: gui/setEditor.py:122\nmsgid \"Implant Set Editor\"\nmsgstr \"Редактор Набора Имплантов\"\n\n#: gui/setEditor.py:50\nmsgid \"Implant Set name already in use, please choose another.\"\nmsgstr \"Имя набора имплантов уже используется, пожалуйста выберете другое.\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\n#: gui/builtinContextMenus/additionsExportAll.py:21\n#: gui/builtinContextMenus/additionsExportAll.py:22\n#: gui/builtinContextMenus/additionsExportSelection.py:21\n#: gui/builtinContextMenus/additionsExportSelection.py:22\n#: gui/builtinContextMenus/additionsImport.py:22\n#: gui/builtinContextMenus/additionsImport.py:23 gui/characterEditor.py:161\n#: gui/additionsPane.py:75\nmsgid \"Implants\"\nmsgstr \"Имплантаты\"\n\n#: gui/builtinContextMenus/priceOptions.py:54\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:85\nmsgid \"Implants && Boosters\"\nmsgstr \"Импланты и Бустеры\"\n\n#: gui/propertyEditor.py:38\nmsgid \"Import\"\nmsgstr \"Импорт\"\n\n#: gui/mainFrame.py:946\nmsgid \"Import Error\"\nmsgstr \"Ошибка Импорта\"\n\n#: gui/characterEditor.py:442\nmsgid \"Import Skills\"\nmsgstr \"Импорт Навыков\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"Import a fit from the clipboard\"\nmsgstr \"Импорт фита из буфера\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"Import characters into pyfa from file\"\nmsgstr \"Импорт персонажа в pyfa из файла\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"Import fittings into pyfa\"\nmsgstr \"Импорт фитов в pyfa\"\n\n#: gui/setEditor.py:148\nmsgid \"Import implant sets from clipboard\"\nmsgstr \"Импорт наборов имплантов из буфера\"\n\n#: gui/propertyEditor.py:38 gui/propertyEditor.py:39\nmsgid \"Import overrides\"\nmsgstr \"Импорт переопределений\"\n\n#: gui/patternEditor.py:171\nmsgid \"Import patterns from clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:221\nmsgid \"Import profiles from clipboard\"\nmsgstr \"Импорт профилей из буфера\"\n\n#: gui/propertyEditor.py:107\nmsgid \"Import pyfa override file\"\nmsgstr \"Импорт файла переобределений pyfa\"\n\n#: gui/characterEditor.py:372\nmsgid \"Import skills from clipboard\"\nmsgstr \"Импорт навыков из буфера\"\n\n#: gui/esiFittings.py:64\nmsgid \"Import to pyfa\"\nmsgstr \"Импорт в pyfa\"\n\n#: gui/mainFrame.py:1019\nmsgid \"Importing Character...\"\nmsgstr \"Импортирование Персонажа...\"\n\n#: gui/mainFrame.py:844\nmsgid \"Importing fits\"\nmsgstr \"Импортирование фитов\"\n\n#: gui/characterEditor.py:440\nmsgid \"Importing skills into this character will set the skill levels as pending. To save the skills permanently, please click the Save button at the bottom of the window after importing\"\nmsgstr \"Импортирование навыков в этого персонажа временно установит уровни навыков. Для сохранения навыков на постоянной основе, пожалуйста, нажмите кнопку Сохранить внизу этого окна после импорта\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Include formatting tags to paste fit directly into corp bulletins, MOTD, etc.\"\nmsgstr \"Включить теги форматирования для вставки фита напрямую в корп. бюллетени, МОТД, и т. д.\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:115\nmsgid \"Incoming damage pattern\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:50\nmsgid \"Incorrect formatting (decimals only)\"\nmsgstr \"Неверное форматирование (только десятичные дроби)\"\n\n#: gui/targetProfileEditor.py:52\nmsgid \"Incorrect range (must be 0-100)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:121\nmsgid \"Industrial ship hold\"\nmsgstr \"Отсек для индустриальных кораблей\"\n\n#: graphs/data/fitMobility/graph.py:46\nmsgid \"Inertia Modifier attribute value of the target ship\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:87\nmsgid \"Inferno\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:47\nmsgid \"Infrared\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Interceptor\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:65\nmsgid \"Interested in helping with translations?\"\nmsgstr \"Заинтересованы в помощи с переводами?\"\n\n#: gui/mainFrame.py:892\nmsgid \"Invalid Path\"\nmsgstr \"Неверный Путь\"\n\n#: gui/esiFittings.py:232\nmsgid \"Invalid Token\"\nmsgstr \"Неверный Токен\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:94 eos/saveddata/targetProfile.py:95\n#: eos/saveddata/targetProfile.py:96 eos/saveddata/targetProfile.py:97\n#: eos/saveddata/targetProfile.py:98 eos/saveddata/targetProfile.py:230\n#: eos/saveddata/targetProfile.py:231 eos/saveddata/targetProfile.py:232\nmsgid \"Invasion\"\nmsgstr \"Вторжение\"\n\n#: eos/saveddata/damagePattern.py:66\nmsgid \"Iridium\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:64\nmsgid \"Iron\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:147\n#: gui/builtinContextMenus/itemRemove.py:43\n#: gui/builtinContextMenus/itemStats.py:38\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Item\"\nmsgstr \"Предмет\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:112\nmsgid \"Item Market Group Jump\"\nmsgstr \"\"\n\n#: gui/itemStats.py:58\nmsgid \"Item stats\"\nmsgstr \"Параметры предмета\"\n\n#: eos/saveddata/damagePattern.py:118 eos/saveddata/targetProfile.py:88\nmsgid \"Jaguar\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/targetProfile.py:76\nmsgid \"Khanid\"\nmsgstr \"Ханидское Королевство\"\n\n#: eos/saveddata/damagePattern.py:41\n#: gui/builtinContextMenus/moduleAmmoChange.py:27\nmsgid \"Kinetic\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:87\n#: gui/targetProfileEditor.py:121\nmsgid \"Kinetic resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Ladar\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:38\nmsgid \"Language (requires restart)\"\nmsgstr \"Язык (требуется перезапуск)\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:120\nmsgid \"Large ship hold\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:77\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Lasts \"\nmsgstr \"Хватит на \"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:112\nmsgid \"Launcher hardpoints\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:67\nmsgid \"Lead\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:94\n#: gui/builtinContextMenus/moduleAmmoChange.py:112\nmsgid \"Less Damage\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:343\nmsgid \"Level\"\nmsgstr \"Уровень\"\n\n#: gui/builtinContextMenus/skillAffectors.py:79\n#, python-format\nmsgid \"Level %s\"\nmsgstr \"Уровень %s\"\n\n#: gui/builtinItemStatsViews/itemDependants.py:46 gui/characterEditor.py:591\n#: gui/characterEditor.py:616 gui/characterEditor.py:649\nmsgid \"Level {}\"\nmsgstr \"Уровень {}\"\n\n#: gui/characterEditor.py:532\nmsgid \"Level {}d\"\nmsgstr \"Уровень {}d\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Light\"\nmsgstr \"\"\n\n#: service/market.py:266\nmsgid \"Limited Issue Ships\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Loaded Charges\"\nmsgstr \"Загруженные Заряды\"\n\n#: gui/mainFrame.py:271\nmsgid \"Loading previous fits...\"\nmsgstr \"Загрузка предыдущих фитов...\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Local Server\"\nmsgstr \"Локальный Сервер\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:205\nmsgid \"Localized\"\nmsgstr \"Местная\"\n\n#: graphs/data/fitLockTime/graph.py:34\nmsgid \"Lock Time\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:201\nmsgid \"Lock Times\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Lock range reduction\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:36\nmsgid \"Lock time\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:794\nmsgid \"Log In with EVE SSO\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:38\nmsgid \"Log file location:\"\nmsgstr \"Расположение файла логов:\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:19\nmsgid \"Logging\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:38\nmsgid \"Login Authentication Method\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:82\nmsgid \"Long Range\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:61\nmsgid \"Low\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:20\nmsgid \"Low Security\"\nmsgstr \"\"\n\n#: graphs/style.py:56\nmsgid \"Magenta\"\nmsgstr \"Фиолетовый\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Magnetometric\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:114\nmsgid \"Maintenance bay\"\nmsgstr \"Док-камера\"\n\n#: gui/mainFrame.py:671\nmsgid \"Manage Characters\"\nmsgstr \"Управление Персонажами\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Manual\"\nmsgstr \"Ручной\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Manual proxy settings\"\nmsgstr \"Ручные настройки прокси\"\n\n#: gui/mainFrame.py:180\nmsgid \"Market\"\nmsgstr \"Рынок\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:23\nmsgid \"Market & Prices\"\nmsgstr \"Рынок и Цены\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:30\nmsgid \"Market && Prices\"\nmsgstr \"Рынок и Цены\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:99\nmsgid \"Market Group Selection\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:91\nmsgid \"Market Search && Recent Items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:39\nmsgid \"Market Search Delay (ms):\"\nmsgstr \"Задержка Поиска по Рынку (мс):\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:225\nmsgid \"Mass:\\t{:,.0f}kg\"\nmsgstr \"Масса:\\t{:,.0f}кг\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:124\nmsgid \"Material bay\"\nmsgstr \"Отсек для минералов\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:208\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:241\n#, python-format\nmsgid \"Max Warp Distance: %.1f AU\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:124\nmsgid \"Maximum speed\"\nmsgstr \"Максимальная скорость\"\n\n#: gui/builtinViewColumns/baseName.py:60\nmsgid \"Med\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:119\nmsgid \"Medium ship hold\"\nmsgstr \"Отсек для средних кораблей\"\n\n#: eos/saveddata/damagePattern.py:58\nmsgid \"Meson\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:105\nmsgid \"Metaliminal Storm\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:46\nmsgid \"Microwave\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:123\nmsgid \"Mineral hold\"\nmsgstr \"Отсек для минералов\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Minimal\"\nmsgstr \"Минимум\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:39\nmsgid \"Mining Yield\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:59\nmsgid \"Minmatar (Armor)\"\nmsgstr \"Минматар (Броня)\"\n\n#: eos/saveddata/targetProfile.py:58\nmsgid \"Minmatar (Shield)\"\nmsgstr \"Минматар (Щит)\"\n\n#: eos/saveddata/damagePattern.py:147 eos/saveddata/damagePattern.py:148\n#: eos/saveddata/targetProfile.py:98\nmsgid \"Minmatar EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/targetProfile.py:77\nmsgid \"Minmatar Republic\"\nmsgstr \"Республика Минматар\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\nmsgid \"Misc\"\nmsgstr \"Прочее\"\n\n#: gui/builtinViewColumns/misc.py:50\nmsgid \"Misc data\"\nmsgstr \"Прочие данные\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"Missile flight range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:86 eos/saveddata/damagePattern.py:87\n#: eos/saveddata/damagePattern.py:88 eos/saveddata/damagePattern.py:89\nmsgid \"Missiles\"\nmsgstr \"Ракеты\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/damagePattern.py:150\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/damagePattern.py:152\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/damagePattern.py:154\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/damagePattern.py:156\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78\nmsgid \"Mission\"\nmsgstr \"Миссия\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:28\nmsgid \"Mixed\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:86\nmsgid \"Mjolnir\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:32\nmsgid \"Mobility\"\nmsgstr \"Подвижность\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:83\nmsgid \"Mode:\"\nmsgstr \"Режим:\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\nmsgid \"Module\"\nmsgstr \"Модуль\"\n\n#: graphs/data/fitMobility/graph.py:37\nmsgid \"Momentum\"\nmsgstr \"Импульс\"\n\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/targetProfile.py:78\nmsgid \"Mordus Legion\"\nmsgstr \"Легион Морду\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:97\n#: gui/builtinContextMenus/moduleAmmoChange.py:115\nmsgid \"More Damage\"\nmsgstr \"Больше Урона\"\n\n#: eos/saveddata/damagePattern.py:52\nmsgid \"Multifrequency\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:408\nmsgid \"Multispectral\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Mutated Attributes\"\nmsgstr \"\"\n\n#: gui/itemStats.py:170\nmsgid \"Mutations\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:149\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/damagePattern.py:151\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/damagePattern.py:153\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/damagePattern.py:155\n#: eos/saveddata/damagePattern.py:156 eos/saveddata/damagePattern.py:157\n#: eos/saveddata/damagePattern.py:158 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:80 eos/saveddata/targetProfile.py:81\n#: eos/saveddata/targetProfile.py:82 eos/saveddata/targetProfile.py:83\n#: eos/saveddata/targetProfile.py:84 eos/saveddata/targetProfile.py:85\n#: eos/saveddata/targetProfile.py:86 eos/saveddata/targetProfile.py:87\n#: eos/saveddata/targetProfile.py:88 eos/saveddata/targetProfile.py:89\n#: eos/saveddata/targetProfile.py:90 eos/saveddata/targetProfile.py:91\n#: eos/saveddata/targetProfile.py:92 eos/saveddata/targetProfile.py:94\n#: eos/saveddata/targetProfile.py:95 eos/saveddata/targetProfile.py:96\n#: eos/saveddata/targetProfile.py:97 eos/saveddata/targetProfile.py:98\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\n#: eos/saveddata/targetProfile.py:230 eos/saveddata/targetProfile.py:231\n#: eos/saveddata/targetProfile.py:232\nmsgid \"NPC\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:30\n#: gui/builtinViewColumns/baseName.py:55\nmsgid \"Name\"\nmsgstr \"Имя\"\n\n#: gui/esiFittings.py:334\nmsgid \"Need at least one ESI character to export\"\nmsgstr \"Необходим хотя бы один ESI персонаж для экспорта\"\n\n#: gui/esiFittings.py:117\nmsgid \"Need at least one ESI character to fetch\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:17\nmsgid \"Network\"\nmsgstr \"Сеть\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:149\nmsgid \"Neutralizer resistance\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Neuts: cap per second\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount ({}-{})\"\nmsgstr \"Новая количество ({}-{})\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount:\"\nmsgstr \"Новое количество:\"\n\n#: gui/builtinContextMenus/implantSetSave.py:45\nmsgid \"New Implant Set\"\nmsgstr \"Новый Набор Имплантов\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:51\nmsgid \"New fitting\"\nmsgstr \"Новый фит\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:58\nmsgid \"No\"\nmsgstr \"Нет\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:85\nmsgid \"No Profile\"\nmsgstr \"Нет Профиля\"\n\n#: gui/characterSelection.py:230\nmsgid \"No active fit\"\nmsgstr \"Нет активного фита\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"No changes to meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"No proxy\"\nmsgstr \"Нет прокси\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\n#: gui/characterEditor.py:855\nmsgid \"None\"\nmsgstr \"Пусто\"\n\n#: graphs/style.py:80\nmsgid \"Normal\"\nmsgstr \"Нормальный\"\n\n#: eos/saveddata/damagePattern.py:131\nmsgid \"Normal Subcaps\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:77\nmsgid \"Not Learned\"\nmsgstr \"Не Изучено\"\n\n#: gui/characterEditor.py:399 service/character.py:322\nmsgid \"Not learned\"\nmsgstr \"Не изучено\"\n\n#: gui/additionsPane.py:87\nmsgid \"Notes\"\nmsgstr \"Примечания\"\n\n#: eos/saveddata/damagePattern.py:89\nmsgid \"Nova\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:77\nmsgid \"Nuclear\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:21\nmsgid \"Null Security\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Open &Dev Tools\"\nmsgstr \"Открыть &Инструменты Разработчика\"\n\n#: gui/characterSelection.py:150\nmsgid \"Open Character Editor\"\nmsgstr \"Открыть Редактор Персонажа\"\n\n#: gui/builtinContextMenus/fitOpenNewTab.py:37\nmsgid \"Open Fit in New Tab\"\nmsgstr \"Открыть Фит в Новой Вкладке\"\n\n#: gui/mainFrame.py:1010\nmsgid \"Open One Or More Character Files\"\nmsgstr \"Открыть Один Или Несколько Файлов Персонажей\"\n\n#: gui/mainFrame.py:834\nmsgid \"Open One Or More Fitting Files\"\nmsgstr \"Открыть Один Или Несколько Файлов Фитов\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Wid&gets Inspect tool\"\nmsgstr \"Открыть Инструмент Проверки Ви&джетов\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Widgets Inspect tool\"\nmsgstr \"Открыть Инструмент Проверки Виджетов\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:136\nmsgid \"Open fittings in a new page by default\"\nmsgstr \"Открывать фиты в новой вкладке по умолчанию\"\n\n#: gui/builtinContextMenus/shipJump.py:35\nmsgid \"Open in Fitting Browser\"\nmsgstr \"Открыть в браузере фитов\"\n\n#: gui/builtinShipBrowser/fitItem.py:227\nmsgid \"Open in new tab\"\nmsgstr \"Открыть в новой вкладке\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Optimize Prices\"\nmsgstr \"Оптимизировать Цену\"\n\n#: graphs/style.py:55\nmsgid \"Orange\"\nmsgstr \"Оранжевый\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:122\nmsgid \"Ore hold\"\nmsgstr \"Отсек для руды\"\n\n#: eos/saveddata/targetProfile.py:79 eos/saveddata/targetProfile.py:80\nmsgid \"Other\"\nmsgstr \"Другое\"\n\n#: eos/saveddata/damagePattern.py:100 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:184\nmsgid \"Overmind\"\nmsgstr \"Надмозг\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:75\nmsgid \"Passive shield recharge\"\nmsgstr \"Пассивная перезарядка щита\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:125\nmsgid \"Password:\"\nmsgstr \"Пароль:\"\n\n#: gui/builtinContextMenus/additionsImport.py:40\nmsgid \"Paste {}\"\nmsgstr \"Вставить {}\"\n\n#: gui/patternEditor.py:295\nmsgid \"Patterns exported to clipboard\"\nmsgstr \"\"\n\n#: gui/setEditor.py:210 gui/patternEditor.py:276\nmsgid \"Patterns successfully imported from clipboard\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:82\nmsgid \"Phased Plasma\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:128\nmsgid \"Planetary goods hold\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:721\nmsgid \"Please Wait...\"\nmsgstr \"Пожалуйста, подождите...\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:32\nmsgid \"Please see the pyfa wiki on GitHub for information regarding these options.\"\nmsgstr \"Пожалуйста посмотрите pyfa вики на GitHub для информации относительно этих опций.\"\n\n#: gui/esiFittings.py:315\nmsgid \"Please select an active fitting in the main window\"\nmsgstr \"Пожалуйста, выберите активный фит в основном окне\"\n\n#: gui/characterEditor.py:758\nmsgid \"Please select another character or make a new one.\"\nmsgstr \"Пожалуйста, выберите другого персонажа или создайте нового.\"\n\n#: gui/mainFrame.py:895\nmsgid \"Please verify path location pyfa's preferences.\"\nmsgstr \"Пожалуйста, проверьте путь к настройкам pyfa.\"\n\n#: gui/builtinContextMenus/graphFitAmmoPicker.py:29\nmsgid \"Plot with Different Ammo...\"\nmsgstr \"Построить с другими патронами...\"\n\n#: eos/saveddata/damagePattern.py:70\nmsgid \"Plutonium\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Pod\"\nmsgstr \"Капсула\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:109\nmsgid \"Port:\"\nmsgstr \"Порт:\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:154\nmsgid \"PowerGrid\"\nmsgstr \"Реактор\"\n\n#: gui/preferenceDialog.py:31\nmsgid \"Preferences\"\nmsgstr \"Параметры\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:59\nmsgid \"Pressing this button will cause all logs in memory to write to the log file:\"\nmsgstr \"Нажатие этой кнопки приведёт к записи всех логов из памяти в файл:\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:155\n#: gui/builtinStatsViews/priceViewFull.py:40\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\nmsgid \"Price\"\nmsgstr \"Цена\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:41\nmsgid \"Pricing updates\"\nmsgstr \"Обновления цен\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:265\n#, python-format\nmsgid \"Probe Size: %.3f\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:372\nmsgid \"Profiles exported to clipboard\"\nmsgstr \"Профили экспортированы в буфер\"\n\n#: gui/targetProfileEditor.py:352\nmsgid \"Profiles successfully imported from clipboard\"\nmsgstr \"Профили успешно импортированы из буфера\"\n\n#: gui/builtinShipBrowser/fitItem.py:230\nmsgid \"Project onto Active Fit\"\nmsgstr \"Спроецировать на Активный Фит\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\nmsgid \"Project onto Fit\"\nmsgstr \"Спроецировать на Фит\"\n\n#: gui/builtinContextMenus/itemProject.py:34\n#, python-brace-format\nmsgid \"Project {0} onto Fit\"\nmsgstr \"Споецировать {0} на Фит\"\n\n#: gui/additionsPane.py:81\nmsgid \"Projected\"\nmsgstr \"Спроецированно\"\n\n#: gui/builtinAdditionPanes/projectedView.py:304\n#: gui/builtinAdditionPanes/projectedView.py:314\n#: gui/builtinAdditionPanes/projectedView.py:319\n#: gui/builtinAdditionPanes/projectedView.py:324\nmsgid \"Projected Item\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:74 eos/saveddata/damagePattern.py:75\n#: eos/saveddata/damagePattern.py:76 eos/saveddata/damagePattern.py:77\n#: eos/saveddata/damagePattern.py:78 eos/saveddata/damagePattern.py:79\n#: eos/saveddata/damagePattern.py:80 eos/saveddata/damagePattern.py:81\n#: eos/saveddata/damagePattern.py:82 eos/saveddata/damagePattern.py:83\n#: eos/saveddata/damagePattern.py:84 eos/saveddata/damagePattern.py:85\nmsgid \"Projectile Ammo\"\nmsgstr \"\"\n\n#: gui/itemStats.py:200\nmsgid \"Properties\"\nmsgstr \"Свойства\"\n\n#: gui/builtinContextMenus/shipModeChange.py:19\nmsgid \"Propulsion\"\nmsgstr \"Скоростной\"\n\n#: eos/saveddata/damagePattern.py:78\nmsgid \"Proton\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:49\nmsgid \"Proxy settings\"\nmsgstr \"Настройки прокси\"\n\n#: graphs/style.py:58\nmsgid \"Purple\"\nmsgstr \"Пурпурный\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:222\nmsgid \"PvP Weather\"\nmsgstr \"\"\n\n#: gui/aboutData.py:49\nmsgid \"Pyfa (the Python Fitting Assistant) is an open-source standalone application able to create and simulate fittings for EVE-Online SciFi MMORPG with a very high degree of accuracy. Pyfa can run on all platforms where Python and wxWidgets are supported.\"\nmsgstr \"Pyfa (Python Fitting Assistant) это отдельное приложение с открытом исходным кодом, которое может создавать и симулировать фиты для СайФай ММОРПГ EVE Online с высокой степенью точности. Pyfa может работать на всех платформах которые поддерживают Python и wxWidgets.\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:44\nmsgid \"Pyfa Update checks\"\nmsgstr \"Проверка Обновления Pyfa\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:15\nmsgid \"Pyfa can automatically check and notify you of new releases. This feature is toggled in the Network settings. Here, you may allow pre-release notifications and view suppressed release notifications, if any.\"\nmsgstr \"Pyfa может автоматически проверять и уведомлять о новых версиях. Эта функция может быть включена в Настойках сети. Здесь Вы можете разрешить пререлизные уведомления и просмотреть отключённые уведомления, если таковые имеются.\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:69\nmsgid \"Pyfa language selection disabled. Please check if .mo files have been generated.\\n\"\n\"Refer to locale/README.md for info.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:129\nmsgid \"Quafe hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of active items\"\nmsgstr \"Количество активных предметов\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of all items\"\nmsgstr \"Количество всех предметов\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Radar\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:45\nmsgid \"Radio\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:126\nmsgid \"Radius\"\nmsgstr \"Радиус\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:54\nmsgid \"Random stats\"\nmsgstr \"Случайные параметры\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:63\nmsgid \"Range\"\nmsgstr \"Дальность\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:222\nmsgid \"Raw HP: \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:223\n#, python-format\nmsgid \"Raw: %d HP\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:652\nmsgid \"Re-enabling fitting restrictions for this fit will also remove any illegal items from the fit. Do you want to continue?\"\nmsgstr \"Включение ограничений фита превидёт к удалению любых неподходящих предметов из фита. Вы хотите продолжить?\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:56\n#: gui/builtinShipBrowser/navigationPanel.py:129\nmsgid \"Recent Fits\"\nmsgstr \"Недавние Фиты\"\n\n#: gui/builtinMarketBrowser/marketTree.py:37\nmsgid \"Recently Used Items\"\nmsgstr \"Недавно Использованные Предметы\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:43\nmsgid \"Recharge rates\"\nmsgstr \"Скорость перезарядки\"\n\n#: graphs/style.py:52\nmsgid \"Red\"\nmsgstr \"Красный\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"Redo the most recent undone action\"\nmsgstr \"Повтор последнего отменённого действия\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:62\n#: gui/builtinItemStatsViews/itemAffectedBy.py:77\n#: gui/builtinItemStatsViews/itemCompare.py:79\nmsgid \"Refresh\"\nmsgstr \"Обновить\"\n\n#: gui/characterSelection.py:68\nmsgid \"Refresh Skills\"\nmsgstr \"Обновить Навыки\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:86\nmsgid \"Reinforced\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:62\nmsgid \"Reload ancillary RRs\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:48\nmsgid \"Remote Repairs\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:65\n#: gui/builtinStatsViews/outgoingViewFull.py:66\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Remote Reps\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:387\nmsgid \"Remove Character\"\nmsgstr \"Удалить Персонажа\"\n\n#: gui/propertyEditor.py:71\nmsgid \"Remove Overides for Item\"\nmsgstr \"Удалить Переопределения для Предмета\"\n\n#: gui/builtinContextMenus/itemRemove.py:42\n#, python-brace-format\nmsgid \"Remove {item}{stack}\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:108\nmsgid \"Rename\"\nmsgstr \"Переименовать\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:118\nmsgid \"Reopen previous fits on startup\"\nmsgstr \"Открывать предыдущие фиты при запуске\"\n\n#: graphs/data/fitRemoteReps/graph.py:53\nmsgid \"Repair speed\"\nmsgstr \"Скорость ремонта\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Replace items by cheaper alternatives\"\nmsgstr \"Заменить предметы более дешёвой альтернативой\"\n\n#: gui/itemStats.py:185\nmsgid \"Requirements\"\nmsgstr \"Требования\"\n\n#: gui/builtinContextMenus/moduleSpool.py:98\nmsgid \"Reset\"\nmsgstr \"Сбросить\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:76\nmsgid \"Reset Suppression\"\nmsgstr \"Сбросить заглушённое\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:51\nmsgid \"Reset defaults\"\nmsgstr \"Восстановить по умолчанию\"\n\n#: gui/builtinContextMenus/resistMode.py:41\nmsgid \"Resist Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:213\nmsgid \"Resist Multiplier: \"\nmsgstr \"Множитель сопротивления: \"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:47\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\nmsgid \"Resistances\"\nmsgstr \"Сопротивление урону (резисты)\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:84\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\nmsgid \"Resources\"\nmsgstr \"Ресурсы\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:57\nmsgid \"Revert changes\"\nmsgstr \"Отменить изменения\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Revert to {}\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:63\nmsgid \"Rig\"\nmsgstr \"Тюнинг-модуль\"\n\n#: eos/saveddata/damagePattern.py:108 eos/saveddata/damagePattern.py:126\nmsgid \"Rogue Drone\"\nmsgstr \"Восставшие дрон\"\n\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/targetProfile.py:231\nmsgid \"Rogue Drone Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:63 eos/saveddata/targetProfile.py:69\nmsgid \"Rogue Drones\"\nmsgstr \"Восставшие дроны\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:34\nmsgid \"Run Time\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:368\nmsgid \"SSO Character Management\"\nmsgstr \"SSO Менеджер Персонажей\"\n\n#: gui/ssoLogin.py:15 gui/ssoLogin.py:49\nmsgid \"SSO Login\"\nmsgstr \"SSO Логин\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:45\nmsgid \"SSO Mode\"\nmsgstr \"SSO режим\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:126\nmsgid \"Salvage hold\"\nmsgstr \"Отсек для сальвага\"\n\n#: locale_test/getTextLocale.py:4\nmsgid \"Sample Title Text English\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/targetProfile.py:192\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:198\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:204\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:210\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:216\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:222\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:228\nmsgid \"Sansha\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:157 eos/saveddata/targetProfile.py:80\n#: gui/builtinContextMenus/envEffectAdd.py:124\nmsgid \"Sansha Incursion\"\nmsgstr \"Вторжение Санши\"\n\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:127\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:70\nmsgid \"Sanshas Nation\"\nmsgstr \"Нация Санши\"\n\n#: gui/mainFrame.py:858\nmsgid \"Save Backup As...\"\nmsgstr \"Сохранить резервную копию как...\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:117\nmsgid \"Save CSV file\"\nmsgstr \"Сохранить CSV файл\"\n\n#: gui/mainMenuBar.py:114\nmsgid \"Save Character &As...\"\nmsgstr \"Сохранить Персонажа &как...\"\n\n#: gui/characterEditor.py:282\nmsgid \"Save Character As...\"\nmsgstr \"Сохранить Персонажа Как...\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:48\n#: gui/mainFrame.py:465\nmsgid \"Save Fitting As...\"\nmsgstr \"Сохранить фит как...\"\n\n#: gui/propertyEditor.py:130\nmsgid \"Save Overrides As...\"\nmsgstr \"Сохранить Переопределения Как...\"\n\n#: gui/builtinContextMenus/implantSetSave.py:27\nmsgid \"Save as New Implant Set\"\nmsgstr \"Сохраниь как Новый Набор Имплантов\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:64\nmsgid \"Scan res.\"\nmsgstr \"Разреш. сканера\"\n\n#: eos/saveddata/damagePattern.py:91\nmsgid \"Scorch Bomb\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:88\nmsgid \"Scourge\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:61\nmsgid \"Search fittings\"\nmsgstr \"Поиск фитов\"\n\n#: gui/characterEditor.py:356\n#, python-brace-format\nmsgid \"Sec Status: {0:.2f}\"\nmsgstr \"Статус Безопасности: {0:.2f}\"\n\n#: gui/characterEditor.py:914\nmsgid \"Security Status is used in some CONCORD hull calculations\"\nmsgstr \"Статус Безопасности используется в некоторых расчётах для корпусов КОНКОРДа\"\n\n#: eos/saveddata/damagePattern.py:102 eos/saveddata/targetProfile.py:101\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:115\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:129\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:143\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:157\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:171\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:185\nmsgid \"Seeker\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:62\nmsgid \"Select a format\"\nmsgstr \"Выберите формат\"\n\n#: gui/esiFittings.py:318\nmsgid \"Sending request and awaiting response\"\nmsgstr \"Отправка запроса и ожидание ответа\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:65\nmsgid \"Sensor str.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:122 eos/saveddata/targetProfile.py:92\nmsgid \"Sentinel\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:122\nmsgid \"Separate Racks\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:110 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:65 eos/saveddata/targetProfile.py:71\nmsgid \"Serpentis\"\nmsgstr \"Организация «Гуристас»\"\n\n#: gui/builtinViewColumns/baseName.py:64\nmsgid \"Service\"\nmsgstr \"Сервис\"\n\n#: gui/characterEditor.py:907\nmsgid \"Set Security Status\"\nmsgstr \"Установить Статус Безопасности\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\nmsgid \"Set as Damage Pattern\"\nmsgstr \"Установить как Профиль Урона\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:53\nmsgid \"Set export destination\"\nmsgstr \"Выбрать путь для экспорта\"\n\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Set {} as Damage Pattern\"\nmsgstr \"Установить {} как Профиль Урона\"\n\n#: gui/setEditor.py:229\nmsgid \"Sets exported to clipboard\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:326\nmsgid \"Setting an Alpha clone does not replace the character's skills, but rather caps them to Alpha levels.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:20\nmsgid \"Sharpshooter\"\nmsgstr \"Снайперский\"\n\n#: eos/saveddata/targetProfile.py:46\nmsgid \"Shield\"\nmsgstr \"Щит\"\n\n#: eos/saveddata/targetProfile.py:49\nmsgid \"Shield (+T2 DCU)\"\nmsgstr \"Щит (+Т2 DCU)\"\n\n#: graphs/data/fitShieldRegen/graph.py:38\nmsgid \"Shield Regeneration\"\nmsgstr \"Регенерация Щита\"\n\n#: graphs/data/fitShieldRegen/graph.py:42\n#: graphs/data/fitShieldRegen/graph.py:55\n#: graphs/data/fitShieldRegen/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:61\nmsgid \"Shield amount\"\nmsgstr \"Количество щита\"\n\n#: graphs/data/fitShieldRegen/graph.py:62\nmsgid \"Shield regen\"\nmsgstr \"Реген. щита\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:112\nmsgid \"Shield resistance\"\nmsgstr \"Сопротивление щита\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:37\n#: gui/builtinStatsViews/outgoingViewFull.py:38\nmsgid \"Shield restored\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\nmsgid \"Shield/Armor Tank\"\nmsgstr \"Щит/Броня Танк\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Shield: \"\nmsgstr \"Щит: \"\n\n#: gui/builtinViews/fittingView.py:664\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57\nmsgid \"Ship\"\nmsgstr \"Корабль\"\n\n#: gui/builtinShipBrowser/shipItem.py:111\nmsgid \"Ship Basic\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:48\nmsgid \"Ship groups\"\nmsgstr \"Группы кораблей\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:117\nmsgid \"Ship hold\"\nmsgstr \"Отсек для кораблей\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:100\nmsgid \"Short Range\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:126\nmsgid \"Show Rack Labels\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:151\nmsgid \"Show empty ship groups\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:130\nmsgid \"Show fitting tab tooltips\"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:71\nmsgid \"Show legend\"\nmsgstr \"Показать легенду\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:52\nmsgid \"Show market shortcuts\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:140\nmsgid \"Show ship browser tooltip\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:93\nmsgid \"Shrapnel Bomb\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/boosterSideEffects.py:34\nmsgid \"Side Effects\"\nmsgstr \"Побочные эффекты\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:88\nmsgid \"Signature\"\nmsgstr \"Сигнатура\"\n\n#: gui/targetProfileEditor.py:125\nmsgid \"Signature radius\\n\"\n\"Leave blank for infinitely big value\"\nmsgstr \"Радиус сигнатуры\\n\"\n\"Оставьте пустым для бесконечно большого числа\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"Signature radius increase\"\nmsgstr \"Увеличение радиуса сигнатуры\"\n\n#: gui/aboutData.py:33\nmsgid \"Silk Icons Set by famfamfam.com - Creative Commons Attribution 2.5 License\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:342 gui/characterEditor.py:608\nmsgid \"Skill\"\nmsgstr \"Навык\"\n\n#: gui/characterEditor.py:160\nmsgid \"Skills\"\nmsgstr \"Навыки\"\n\n#: gui/characterSelection.py:242\nmsgid \"Skills required:\"\nmsgstr \"Необходимые навыки:\"\n\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:104 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:118 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:132 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:146 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:160 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:174 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:188\nmsgid \"Sleeper\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:161 eos/saveddata/targetProfile.py:232\nmsgid \"Sleeper Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:158\nmsgid \"Sleepers\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:118\nmsgid \"Small ship hold\"\nmsgstr \"Отсек для малых кораблей\"\n\n#: graphs/style.py:86\nmsgid \"Solid\"\nmsgstr \"Сплошной\"\n\n#: graphs/data/fitMobility/graph.py:35\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:86\nmsgid \"Speed\"\nmsgstr \"Скорость\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Speed reduction\"\nmsgstr \"Снижение скорости\"\n\n#: gui/builtinContextMenus/droneSplitStack.py:29\nmsgid \"Split {} Stack\"\nmsgstr \"Разделить стопку {}\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:169\nmsgid \"Spool up\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\nmsgid \"Spoolup\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:37\nmsgid \"Spoolup Cycles\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Stable: \"\nmsgstr \"Стабильно: \"\n\n#: eos/saveddata/damagePattern.py:48\nmsgid \"Standard\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:46\nmsgid \"Starting cap amount\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:46\nmsgid \"Starting shield amount\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:22\nmsgid \"Statistics Panel\"\nmsgstr \"Панель статистики\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:45\nmsgid \"Stick to Attacker\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:44\nmsgid \"Stick to Target\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:145 eos/saveddata/damagePattern.py:148\nmsgid \"Subcaps\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:136\n#, no-python-format\nmsgid \"Subcaps w/missiles 0% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:142\n#, no-python-format\nmsgid \"Subcaps w/missiles 100% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:139\n#, no-python-format\nmsgid \"Subcaps w/missiles 50% spool up\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:62\nmsgid \"Subsystem\"\nmsgstr \"Подсистема\"\n\n#: gui/characterEditor.py:901\nmsgid \"Success\"\nmsgstr \"Успешно\"\n\n#: gui/characterEditor.py:901\nmsgid \"Successfully fetched skills\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:114 eos/saveddata/targetProfile.py:84\nmsgid \"Succubus (Sanshas Nation)\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Support\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:48\n#, python-brace-format\nmsgid \"Suppressing {0} Notifications\"\nmsgstr \"Заглушено {0} Уведомлений\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:87\nmsgid \"Sustained\"\nmsgstr \"Поддерживаемый\"\n\n#: eos/saveddata/targetProfile.py:46 eos/saveddata/targetProfile.py:47\n#: eos/saveddata/targetProfile.py:48 eos/saveddata/targetProfile.py:49\n#: eos/saveddata/targetProfile.py:50 eos/saveddata/targetProfile.py:51\nmsgid \"T1 Resist\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:52 eos/saveddata/targetProfile.py:53\n#: eos/saveddata/targetProfile.py:54 eos/saveddata/targetProfile.py:55\n#: eos/saveddata/targetProfile.py:56 eos/saveddata/targetProfile.py:57\n#: eos/saveddata/targetProfile.py:58 eos/saveddata/targetProfile.py:59\nmsgid \"T2 Resist\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"TDs: turret optimal range reduction\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"TPs: signature radius increase\"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:660 gui/builtinViewColumns/baseName.py:102\n#: gui/builtinContextMenus/shipModeChange.py:37\nmsgid \"Tactical Mode\"\nmsgstr \"Тактический режим\"\n\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/targetProfile.py:91\nmsgid \"Talos\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:75 graphs/gui/lists.py:359\nmsgid \"Target\"\nmsgstr \"Цель\"\n\n#: gui/targetProfileEditor.py:86\nmsgid \"Target Profile\"\nmsgstr \"Профиль Цели\"\n\n#: gui/targetProfileEditor.py:130\nmsgid \"Target Profile Editor\"\nmsgstr \"Редактор Профиля Цели\"\n\n#: gui/targetProfileEditor.py:73\nmsgid \"Target Profile name already in use, please choose another.\"\nmsgstr \"Имя профиля цели уже используется, пожалуйста выберете другое.\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:33\nmsgid \"Target Resists\"\nmsgstr \"Сопротивления цели\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Target distance traveled\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:45\nmsgid \"Target inertia factor\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:43\nmsgid \"Target mass\"\nmsgstr \"Масса цели\"\n\n#: graphs/data/fitEwarStats/graph.py:45\nmsgid \"Target resistance\"\nmsgstr \"Сопротивление цели\"\n\n#: graphs/data/fitLockTime/graph.py:37 graphs/data/fitDamageStats/graph.py:71\nmsgid \"Target signature\"\nmsgstr \"Сигнатура цели\"\n\n#: graphs/data/fitLockTime/graph.py:35 graphs/data/fitDamageStats/graph.py:62\n#: graphs/data/fitDamageStats/graph.py:63\nmsgid \"Target signature radius\"\nmsgstr \"Радиус сигнатуры цели\"\n\n#: graphs/data/fitMobility/graph.py:38 graphs/data/fitDamageStats/graph.py:60\n#: graphs/data/fitDamageStats/graph.py:61\n#: graphs/data/fitDamageStats/graph.py:70\nmsgid \"Target speed\"\nmsgstr \"Скорость цели\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:40\nmsgid \"Targeting && Misc\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:62\nmsgid \"Targets\"\nmsgstr \"Цели\"\n\n#: eos/saveddata/damagePattern.py:60\nmsgid \"Tetryon\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:809\nmsgid \"Text skills training file\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:72\nmsgid \"The amount of spoolup to use by default on module which support it. Can be changed on a per-module basis\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:44\nmsgid \"The delay between a keystroke and the market search. Can help reduce lag when typing fast in the market search box.\"\nmsgstr \"Задержка между нажатием кнопки и поиском по рынку. Может помочь снизить лаги при быстром наборе в поле поиска по рынку.\"\n\n#: gui/mainFrame.py:949\nmsgid \"The following error was generated\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:893\nmsgid \"The following path is invalid or does not exist:\"\nmsgstr \"Следующий путь неверен или не существует:\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:64\nmsgid \"The source you choose will be tried first, but subsequent sources will be used if the preferred source fails. The system you choose will also be tried first, and if no data is available, global price will be used.\"\nmsgstr \"Выбранный Вами источник будет попробован в первую очередь, но последующие источники будут использованы, если желаемый источник не сработает. Выбранная Вами система также будет испробована в первую очередь, при отсутствии данных будут использованы глобальные цены.\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:53\nmsgid \"There is a release available which you have chosen to suppress. You can choose to reset notification suppression for this release, or download the new release from GitHub.\"\nmsgstr \"Это релиз, который Вы решили заглушить. Вы можете сбросить заглушение уведомления для этого релиза либо загрузить новый релиз с GitHub.\"\n\n#: gui/characterEditor.py:463\nmsgid \"There was an error importing skills, please see log file\"\nmsgstr \"Произошла ошибка импорта навыков, пожалуйста, смотрите файл журнала\"\n\n#: gui/esiFittings.py:230\nmsgid \"There was an error validating characters' SSO token. Please try logging into the character again to reset the token.\"\nmsgstr \"Произошла ошибка проверки SSO токена персонажа. Пожалуйста попробуйте залогиниться за персонажа ещё раз, чтобы сбросить токен.\"\n\n#: gui/esiFittings.py:213\nmsgid \"There was an issue starting up the localized server, try setting Login Authentication Method to Manual by going to Preferences -> EVE SS0 -> Login Authentication Method. If this doesn't fix the problem please file an issue on Github.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:40\n#: gui/builtinContextMenus/moduleAmmoChange.py:25\nmsgid \"Thermal\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:86\n#: gui/targetProfileEditor.py:120\nmsgid \"Thermal resistance\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:107\nmsgid \"This is a destructive action that will delete all cached prices out of the database.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"Это действие приведёт к удалению всех кешированных цен из базы данных.\\n\"\n\"Вы уверены, что хотите продолжить?\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:97\nmsgid \"This is a destructive action that will delete all damage pattern profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"Это действие приведёт к удалению всех профилей урона.\\n\"\n\"Вы уверены, что хотите продолжить?\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:102\nmsgid \"This is a destructive action that will delete all target profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"Это действие приведёт к удалению всех профилей цели.\\n\"\n\"Вы уверены, что хотите продолжить?\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:49\nmsgid \"This option goes through EVE SSO directly, but requires more configuration. Use this if pyfa.io is blocked for some reason, or if you do not wish to route data throguh pyfa.io.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:42\nmsgid \"This option prompts users to copy and paste information from the web application to allow for character login. Use this if having issues with the local server.\"\nmsgstr \"Эта опция предлагает пользователям копировать и вставлять информацию в веб приложение для возможности логина персонажа. Используйте эту опцию если испытываете проблемы с локальным сервером.\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:47\nmsgid \"This options routes SSO Logins through pyfa.io, allowing you to easily login without any configuration. When in doubt, use this option.\"\nmsgstr \"Эта опция направляет SSO логин через pyfa.io, позволяя Вам проще логиниться без каких либо настроек. Если сомневаетесь, используйте эту опцию.\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:40\nmsgid \"This options starts a local webserver that the web application will call back to with information about the character login.\"\nmsgstr \"Эта опция запускает локальный сервер, к которому будет обращаться веб приложение за информацией о логине персонажа.\"\n\n#: eos/saveddata/damagePattern.py:68\nmsgid \"Thorium\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:156\nmsgid \"Thukker\"\nmsgstr \"Племя таккеров\"\n\n#: graphs/data/fitMobility/graph.py:33 graphs/data/fitMobility/graph.py:41\n#: graphs/data/fitCapacitor/graph.py:34 graphs/data/fitCapacitor/graph.py:41\n#: graphs/data/fitRemoteReps/graph.py:51 graphs/data/fitRemoteReps/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:40\n#: graphs/data/fitShieldRegen/graph.py:54\n#: graphs/data/fitDamageStats/graph.py:59\n#: graphs/data/fitDamageStats/graph.py:68\nmsgid \"Time\"\nmsgstr \"Время\"\n\n#: eos/saveddata/damagePattern.py:80\nmsgid \"Titanium Sabot\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:70\nmsgid \"Toggle Names\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:73\nmsgid \"Toggle View\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:75\nmsgid \"Toggle view mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/miningyieldViewFull.py:89\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Total\"\nmsgstr \"Итого\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:76\nmsgid \"Total Price Includes\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:54\nmsgid \"Total repaired\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:67\nmsgid \"Total: \"\nmsgstr \"Итого: \"\n\n#: gui/itemStats.py:166\nmsgid \"Traits\"\nmsgstr \"Особенности\"\n\n#: eos/saveddata/damagePattern.py:104 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:186\nmsgid \"Triglavian\"\nmsgstr \"Сообщество Триглава\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/targetProfile.py:94\nmsgid \"Triglavian Entities\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:126\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Triglavian Invasion\"\nmsgstr \"Вторжение Триглава\"\n\n#: eos/saveddata/damagePattern.py:65\nmsgid \"Tungsten\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:111\nmsgid \"Turret hardpoints\"\nmsgstr \"Точки монтажа орудий\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"Turret optimal range reduction\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:32\nmsgid \"Type\"\nmsgstr \"Тип\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:218\n#, python-brace-format\nmsgid \"Type: {0}\\n\"\nmsgstr \"Тип: {0}\\n\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:222\nmsgid \"Type: {}\"\nmsgstr \"Тип: {}\"\n\n#: eos/saveddata/damagePattern.py:49\nmsgid \"Ultraviolet\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"Undo the most recent action\"\nmsgstr \"Отменить последнее действие\"\n\n#: eos/saveddata/damagePattern.py:38\nmsgid \"Uniform\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:42\nmsgid \"Uniform (25%)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:43\nmsgid \"Uniform (50%)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:44\nmsgid \"Uniform (75%)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:45\nmsgid \"Uniform (90%)\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:614\nmsgid \"Unlearn\"\nmsgstr \"Забыть\"\n\n#: gui/updateDialog.py:54\nmsgid \"Update Available\"\nmsgstr \"Доступно Обновление\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:14\nmsgid \"Updates\"\nmsgstr \"Обновления\"\n\n#: eos/saveddata/damagePattern.py:69\nmsgid \"Uranium\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/implantView.py:68\nmsgid \"Use Character Implants\"\nmsgstr \"Использовать импланты персонажа\"\n\n#: gui/builtinAdditionPanes/implantView.py:67\nmsgid \"Use Fit-specific Implants\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:48\nmsgid \"Use capacitor simulator\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:102\nmsgid \"Use character implants by default for new fits\"\nmsgstr \"Использовать импланты персонажа по умолчанию для новых фитов\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:98\nmsgid \"Use global character\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:106\nmsgid \"Use global damage pattern\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:121\nmsgid \"Username:\"\nmsgstr \"Имя пользователя:\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:34\nmsgid \"Using Executable Path for Saved Fit Database and Settings\"\nmsgstr \"Использовать каталог запуска для сохраненной Базы Данных Фитов и Настроек\"\n\n#: gui/builtinContextMenus/itemVariationChange.py:49\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\nmsgid \"Variations\"\nmsgstr \"Варианты\"\n\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/targetProfile.py:89\nmsgid \"Vengeance\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:53\nmsgid \"View Raw Data\"\nmsgstr \"Просмотр Сырых Данных\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Volley\"\nmsgstr \"Залп\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:22\nmsgid \"W-Space\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:62\nmsgid \"Waiting for character login through EVE Single Sign-On.\"\nmsgstr \"Ожидание логина персонажа через EVE Single Sign-On.\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:210\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:212\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:243\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:245\n#, python-format\nmsgid \"Warp Core Strength: %.1f\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:89\nmsgid \"Warp Speed\"\nmsgstr \"Скорость Варпа\"\n\n#: graphs/data/fitWarpTime/graph.py:45\nmsgid \"Warp Time\"\nmsgstr \"Время Варпа\"\n\n#: graphs/data/fitWarpTime/graph.py:49\nmsgid \"Warp time\"\nmsgstr \"Время варпа\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Weapon\"\nmsgstr \"Оружие\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Webs: speed reduction\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:61\nmsgid \"When damage profile is Uniform, set Reactive Armor Hardener to match (old behavior).\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:149\nmsgid \"When disabled, reloads charges just in selected modules. Action can be reversed by holding Ctrl or Alt key while changing charge.\"\nmsgstr \"Когда отключено, перезаряжает заряды только в выбранных модулях. Действие может быть инвертировано зажатием кнопки Ctrl или Alt во время изменения заряда.\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:54\nmsgid \"When enabled, skills will check their dependencies' requirements when their levels change and reset skills that no longer meet the requirement.\\n\"\n\"eg: Setting Drones from level V to IV will reset the Heavy Drone Operation skill, as that requires Drones V\"\nmsgstr \"Если включено навыки будут проверять зависимые требования при изменении их уровня и сбрасывать навыки которые больше не удовлетворяют требованиям.\\n\"\n\"Например: Изменение навыка Дроны с уровня V на уровень IV сбросит навык Тяжёлые боевые дроны, т.к. он требует Дроны V\"\n\n#: graphs/data/fitDamageStats/graph.py:69\nmsgid \"When set, uses attacker's exact damage stats at a given time\\n\"\n\"When not set, uses attacker's damage stats as shown in stats panel of main window\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:57\nmsgid \"When set, uses repairing ship's exact RR stats at a given time\\n\"\n\"When not set, uses repairing ship's RR stats as shown in stats panel of main window\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/targetProfile.py:85\nmsgid \"Worm (Guristas)\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:116\nmsgid \"Wormhole\"\nmsgstr \"Червоточина\"\n\n#: eos/saveddata/damagePattern.py:50\nmsgid \"Xray\"\nmsgstr \"\"\n\n#: graphs/style.py:59\nmsgid \"Yellow\"\nmsgstr \"Жёлтый\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:56\nmsgid \"Yes\"\nmsgstr \"Да\"\n\n#: gui/characterEditor.py:757\nmsgid \"You cannot link All 0 or All 5 characters to an EVE character.\"\nmsgstr \"Вы не можете привязать All 0 и All 5 персонажей к персонажу EVE.\"\n\n#: gui/characterEditor.py:76\nmsgid \"You must supply a name for the Character!\"\nmsgstr \"Вы должны указать имя персонажа!\"\n\n#: gui/setEditor.py:48\nmsgid \"You must supply a name for the Implant Set!\"\nmsgstr \"Вы должны указать имя для Набора Имплантатов!\"\n\n#: gui/patternEditor.py:51\nmsgid \"You must supply a name for your Damage Profile!\"\nmsgstr \"Вы должны указать имя для вашего Профиля Урона!\"\n\n#: gui/targetProfileEditor.py:71\nmsgid \"You must supply a name for your Target Profile!\"\nmsgstr \"Вы должны указать имя для вашего Профиля Цели!\"\n\n#: eos/saveddata/damagePattern.py:43\nmsgid \"[T2] Aurora\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:75\nmsgid \"[T2] Barrage\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:54\nmsgid \"[T2] Conflagration\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:53\nmsgid \"[T2] Gleam\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:85\nmsgid \"[T2] Hail\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:72\nmsgid \"[T2] Javelin\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:57\nmsgid \"[T2] Mystic\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:63\nmsgid \"[T2] Null\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:61\nmsgid \"[T2] Occult\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:84\nmsgid \"[T2] Quake\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:44\nmsgid \"[T2] Scorch\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:62\nmsgid \"[T2] Spike\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:74\nmsgid \"[T2] Tremor\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:73\nmsgid \"[T2] Void\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"em\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"exp\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"explosive\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"kin\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"kinetic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:38\nmsgid \"pyfa User Path:\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:69\nmsgid \"pyfa error\"\nmsgstr \"ошибка pyfa\"\n\n#: gui/errorDialog.py:76\nmsgid \"pyfa has experienced an unexpected issue. Below is a message that contains crucial \\n\"\n\"information about how this was triggered. Please contact the developers with the \\n\"\n\"information provided through the EVE Online forums or file a GitHub issue.\"\nmsgstr \"pyfa испытала неожиданную проблему. Ниже находится сообщение, которое содержит критически важную \\n\"\n\"информацию о том, что её вызвало. Пожалуйста, передайте разработчикам предоставленную \\n\"\n\"информацию через форумы EVE online или заполните заявку на GitHub.\"\n\n#: gui/aboutData.py:31\nmsgid \"pyfa is released under GNU GPLv3 - see included LICENSE file\"\nmsgstr \"pyfa выпущена по GNU GPLv3 - смотрите прилагаемый файл LICENSE\"\n\n#: gui/propertyEditor.py:108\nmsgid \"pyfa override file\"\nmsgstr \"файл переопределений pyfa\"\n\n#: gui/propertyEditor.py:131\nmsgid \"pyfa overrides\"\nmsgstr \"переопределения pyfa\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"pyfa.io\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:47\nmsgid \"pyfa:\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"th\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"thermal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#, python-brace-format\nmsgid \"{0} Market Group\"\nmsgstr \"\"\n\n#: gui/itemStats.py:87\n#, python-brace-format\nmsgid \"{context}Stats: {name}{debug_info}\"\nmsgstr \"\"\n\n#: gui/pyfa_gauge.py:347\n#, python-brace-format\nmsgid \"{{0:.{0}f}} left\"\nmsgstr \"{{0:.{0}f}} осталось\"\n\n#: gui/pyfa_gauge.py:344\n#, python-brace-format\nmsgid \"{{0:.{0}f}} over\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:83\nmsgid \"{} (default)\"\nmsgstr \"{} (по умолчанию)\"\n\n#: gui/characterEditor.py:284\nmsgid \"{} Copy\"\nmsgstr \"{} Копировать\"\n\n#: gui/builtinContextMenus/itemStats.py:38\nmsgid \"{} Stats\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:104\nmsgid \"{} {} Slot\"\nmsgid_plural \"{} {} Slots\"\nmsgstr[0] \"\"\nmsgstr[1] \"\"\nmsgstr[2] \"\"\nmsgstr[3] \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:220\n#, no-python-format, python-brace-format\nmsgid \"{}% chance to be jammed\"\nmsgstr \"\"\n\n"
  },
  {
    "path": "locale/tr_TR/LC_MESSAGES/lang.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: pyfa\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2020-10-28 15:28+0300\\n\"\n\"PO-Revision-Date: 2021-05-18 17:34\\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: Turkish\\n\"\n\"Language: tr_TR\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Crowdin-Project: pyfa\\n\"\n\"X-Crowdin-Project-ID: 411502\\n\"\n\"X-Crowdin-Language: tr\\n\"\n\"X-Crowdin-File: /master/locale/lang.pot\\n\"\n\"X-Crowdin-File-ID: 68\\n\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:107\nmsgid \" DPS: \"\nmsgstr \" SHM: \"\n\n#: gui/builtinContextMenus/itemRemove.py:44\nmsgid \" Stack\"\nmsgstr \" Yığın\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:100\nmsgid \" Volley: \"\nmsgstr \" Yaylım Ateşi: \"\n\n#: gui/builtinItemStatsViews/itemProperties.py:98\n#, python-format\nmsgid \"%d attribute.\"\nmsgid_plural \"%d attributes.\"\nmsgstr[0] \"\"\nmsgstr[1] \"\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"&Backup All Fittings\"\nmsgstr \"&Tüm Kurulumları Yedekle\"\n\n#: gui/mainMenuBar.py:104\nmsgid \"&Browse ESI Fittings\"\nmsgstr \"&ESI Kurulumlarını Gezin\"\n\n#: gui/mainMenuBar.py:111\nmsgid \"&Character\"\nmsgstr \"&Karakter\"\n\n#: gui/mainMenuBar.py:144\nmsgid \"&Character Editor\"\nmsgstr \"&Karakter Düzenleyici\"\n\n#: gui/mainMenuBar.py:70\nmsgid \"&Close All Tabs\"\nmsgstr \"&Tüm Pencereleri Kapat\"\n\n#: gui/mainMenuBar.py:69\nmsgid \"&Close Tab\"\nmsgstr \"&Pencereyi Kapat\"\n\n#: gui/mainMenuBar.py:150\nmsgid \"&Damage Pattern Editor\"\nmsgstr \"&Zarar Şablonu Düzenle\"\n\n#: gui/mainMenuBar.py:143\nmsgid \"&Editors\"\nmsgstr \"&Düzenleyici\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"&Export Fitting\"\nmsgstr \"&Kurulumu Dışa Ver\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"&Export Skills Needed\"\nmsgstr \"&Gerekli Becerileri Dışa Ver\"\n\n#: gui/mainMenuBar.py:66 gui/propertyEditor.py:42\nmsgid \"&File\"\nmsgstr \"&Dosya\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"&Forums\"\nmsgstr \"&Forumlar\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"&From Clipboard\"\nmsgstr \"&Panodan Al\"\n\n#: gui/mainMenuBar.py:135\nmsgid \"&Global\"\nmsgstr \"&Küresel\"\n\n#: gui/mainMenuBar.py:96\nmsgid \"&Graphs\"\nmsgstr \"&Grafikler\"\n\n#: gui/mainMenuBar.py:159\nmsgid \"&Help\"\nmsgstr \"&Yardım\"\n\n#: gui/mainMenuBar.py:147\nmsgid \"&Implant Set Editor\"\nmsgstr \"&Implant Seti Düzenleyici\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"&Import Character File\"\nmsgstr \"&Karakter Dosyasını İçe Aktar\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"&Import Fittings\"\nmsgstr \"&Kurulumları İçe Aktar\"\n\n#: gui/mainMenuBar.py:122\nmsgid \"&Manage ESI Characters\"\nmsgstr \"&ESI Karakterlerini Düzenle\"\n\n#: gui/mainMenuBar.py:68\nmsgid \"&New Tab\"\nmsgstr \"&Yeni Pencere\"\n\n#: gui/mainMenuBar.py:95\nmsgid \"&Optimize Fit Price\"\nmsgstr \"&Kurulum Ücretini Optimize Et\"\n\n#: gui/mainMenuBar.py:137\nmsgid \"&Preferences\"\nmsgstr \"&Seçenekler\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"&Redo\"\nmsgstr \"&Yinele\"\n\n#: gui/mainMenuBar.py:115\nmsgid \"&Revert Character\"\nmsgstr \"&Karakteri Geri Al\"\n\n#: gui/mainMenuBar.py:113\nmsgid \"&Save Character\"\nmsgstr \"&Karakteri Kaydet\"\n\n#: gui/mainMenuBar.py:153\nmsgid \"&Target Profile Editor\"\nmsgstr \"&Hedef Şablonu Düzenle\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"&To Clipboard\"\nmsgstr \"&Panoya aktar\"\n\n#: gui/mainFrame.py:688\nmsgid \"&Turn Overrides Off\"\nmsgstr \"&Aşırı Yüklemeleri Kapat\"\n\n#: gui/mainMenuBar.py:131 gui/mainFrame.py:688\nmsgid \"&Turn Overrides On\"\nmsgstr \"&Aşırı Yüklemeleri Aç\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"&Undo\"\nmsgstr \"&Geri Al\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"&Wiki\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:25\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:29\nmsgid \"(Cannot be changed while pyfa is running. Set via command line switches.)\"\nmsgstr \"(Pyfa çalışırken değiştirilemez. Komut satırı Anahtarlarıyla ayarlayın.)\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:81\nmsgid \"0s\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fighterAbilities.py:33\nmsgid \"Abilities\"\nmsgstr \"Beceriler\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Abyssal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:123\nmsgid \"Abyssal Weather\"\nmsgstr \"Abyssal Şartlar\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:31\nmsgid \"Active\"\nmsgstr \"Aktif\"\n\n#: gui/builtinViewColumns/abilities.py:37\nmsgid \"Active Abilities\"\nmsgstr \"Aktif Beceriler\"\n\n#: gui/builtinViewColumns/sideEffects.py:37\nmsgid \"Active Side Effects\"\nmsgstr \"Aktif Yan Etkiler\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:76\nmsgid \"Active shield boost\"\nmsgstr \"Aktif Kalkan Arttırımı\"\n\n#: gui/esiFittings.py:384\nmsgid \"Add Character\"\nmsgstr \"Karakter Ekle\"\n\n#: gui/esiFittings.py:217\nmsgid \"Add Character Error\"\nmsgstr \"Karakter Ekleme Hatası\"\n\n#: gui/builtinShipBrowser/fitItem.py:233\nmsgid \"Add Command Booster\"\nmsgstr \"Komuta Arttırımı Ekle\"\n\n#: gui/builtinContextMenus/fitAddCurrentlyOpen.py:29\nmsgid \"Add Currently Open Fit\"\nmsgstr \"Mevcut Açık Kurulumu Ekle\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:56\nmsgid \"Add Environmental Effect\"\nmsgstr \"Çevresel Etki Ekle\"\n\n#: gui/builtinContextMenus/fitAddBrowse.py:22\nmsgid \"Add Fit...\"\nmsgstr \"Kurulum Ekle...\"\n\n#: gui/fitBrowserLite.py:17\nmsgid \"Add Fits\"\nmsgstr \"Kurulum Ekle\"\n\n#: gui/builtinContextMenus/targetProfile/adder.py:29\nmsgid \"Add Target Profile\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/cargoAddAmmo.py:28\n#, python-brace-format\nmsgid \"Add {0} to Cargo (x1000)\"\nmsgstr \"Kargoya {0} (x1000) Ekle\"\n\n#: gui/builtinContextMenus/cargoAdd.py:33\nmsgid \"Add {} to Cargo\"\nmsgstr \"Kargoya {} Ekle\"\n\n#: gui/builtinContextMenus/droneAddStack.py:40\nmsgid \"Add {} to Drone Bay{}\"\nmsgstr \"Dron Bölümü {} ekle {}\"\n\n#: gui/additionsPane.py:45\nmsgid \"Additions\"\nmsgstr \"Eklemeler\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Additions Panel Copy/Paste\"\nmsgstr \"Eklemeler Paneli Kopyala/Yapıştır\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:101\nmsgid \"Addr:\"\nmsgstr \"Adres:\"\n\n#: gui/itemStats.py:196\nmsgid \"Affected by\"\nmsgstr \"Etkileyen\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:226\n#, python-format\nmsgid \"Agility:\\t%.3fx\"\nmsgstr \"Atiklik:\\t%.3fx\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:87\nmsgid \"Align time\"\nmsgstr \"Hizalanma süresi\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:224\n#, python-format\nmsgid \"Align:\\t%.3fs\"\nmsgstr \"Hizalanma:\\t%.3fs\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/targetProfile.py:105\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:119\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:133\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:147\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:161\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:175\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:189\nmsgid \"All\"\nmsgstr \"Tümü\"\n\n#: gui/aboutData.py:32\nmsgid \"All EVE-Online related materials are property of CCP hf.\"\nmsgstr \"Tüm EVE-Online ile ilgili malzemeler CCP hf Aittir.\"\n\n#: gui/mainFrame.py:838 gui/mainFrame.py:1013\nmsgid \"All Files\"\nmsgstr \"Tüm Dosyalar\"\n\n#: gui/characterSelection.py:238\nmsgid \"All skill prerequisites have been met\"\nmsgstr \"Tüm Gerekli Beceri eğitimleri tamamlanmış\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:38\nmsgid \"Allow pre-release notifications\"\nmsgstr \"Yeni sürüm bildirimlerine izin ver\"\n\n#: graphs/gui/ctrlPanel.py:75\nmsgid \"Always show Y = 0\"\nmsgstr \"Her zaman Y = 0 göster\"\n\n#: eos/saveddata/targetProfile.py:53\nmsgid \"Amarr (Armor)\"\nmsgstr \"Amarr (Zırh)\"\n\n#: eos/saveddata/targetProfile.py:52\nmsgid \"Amarr (Shield)\"\nmsgstr \"Amarr (Kalkan)\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/targetProfile.py:95\nmsgid \"Amarr EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/targetProfile.py:72\nmsgid \"Amarr Empire\"\nmsgstr \"Amarr İmparatorluğu\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:115\nmsgid \"Ammo hold\"\nmsgstr \"Cephane Alanı\"\n\n#: eos/saveddata/damagePattern.py:96 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:229\nmsgid \"Angel\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:123\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:66\nmsgid \"Angel Cartel\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:133\nmsgid \"Animate gauges\"\nmsgstr \"İbreleri haraketli yap\"\n\n#: eos/saveddata/damagePattern.py:71\nmsgid \"Antimatter\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetApply.py:25\nmsgid \"Apply Implant Set\"\nmsgstr \"Implant seti uygula\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Apply Mutaplasmid\"\nmsgstr \"Mutaplasmid Uygula\"\n\n#: gui/builtinContextMenus/graphDmgApplyProjected.py:23\nmsgid \"Apply Projected Items\"\nmsgstr \"Öngörülen öğeleri uygula\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:144\nmsgid \"Apply Proxy Settings\"\nmsgstr \"Proxy Ayarlarını uygula\"\n\n#: gui/propertyEditor.py:146\nmsgid \"Are you sure you want to delete all overrides?\"\nmsgstr \"Tüm Aşırı yüklemeleri silmek istediğinize emin misiniz?\"\n\n#: gui/mainFrame.py:645\nmsgid \"Are you sure you wish to ignore fitting restrictions for the current fit? This could lead to wildly inaccurate results and possible errors.\"\nmsgstr \"Mevcut kurulumdaki sınırlamaları göz ardı etmek istediğinize emin misiniz? Bu aşırı tutarsız sonuçlar ve muhtemel hatalar doğurabilir.\"\n\n#: eos/saveddata/targetProfile.py:47\nmsgid \"Armor\"\nmsgstr \"Zırh\"\n\n#: eos/saveddata/targetProfile.py:50\nmsgid \"Armor (+T2 DCU)\"\nmsgstr \"Zırh (+T2 DCU)\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:77\nmsgid \"Armor repair amount\"\nmsgstr \"Zırh Tamir Miktarı\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:113\nmsgid \"Armor resistance\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:43\n#: gui/builtinStatsViews/outgoingViewFull.py:44\nmsgid \"Armor restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Armor: \"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:120 eos/saveddata/targetProfile.py:90\nmsgid \"Ashimmu (Blood Raiders)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\nmsgid \"Asteroid\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:74\nmsgid \"Attacker\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:56\n#: gui/builtinItemStatsViews/itemAttributes.py:44\nmsgid \"Attribute\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:128\nmsgid \"Attribute &Overrides\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:28\nmsgid \"Attribute Editor\"\nmsgstr \"\"\n\n#: gui/itemStats.py:177\nmsgid \"Attributes\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:43\nmsgid \"Auto\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:94\nmsgid \"Auto will use the same language pyfa uses if available, otherwise English\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Auto-detected proxy settings\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:136\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:158\nmsgid \"Auto-detected: \"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:64\nmsgid \"Axis X:\"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:56\nmsgid \"Axis Y:\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:50\nmsgid \"Back\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:873\nmsgid \"Backing up {} fits to: {}\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"Backup all fittings to a XML file\"\nmsgstr \"Tüm Kurulumları bir XML Dosyasına kaydet\"\n\n#: gui/mainFrame.py:872 gui/mainFrame.py:903\nmsgid \"Backup fits\"\nmsgstr \"Kurulumları Yedekle\"\n\n#: eos/saveddata/damagePattern.py:59\nmsgid \"Baryon\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:47\nmsgid \"Base Value\"\nmsgstr \"Temel Değer\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battlecruiser\"\nmsgstr \"Savaş Kruvazörü\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battleship\"\nmsgstr \"Savaş Gemisi\"\n\n#: gui/mainFrame.py:951\nmsgid \"Be aware that already processed fits were not saved\"\nmsgstr \"Uyarı, mevcut işlem yapılmış Kurulumlar kaydedilmedi\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Bioluminescence\"\nmsgstr \"Biyoışıldama\"\n\n#: eos/saveddata/damagePattern.py:106 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/targetProfile.py:61 eos/saveddata/targetProfile.py:67\nmsgid \"Blood Raiders\"\nmsgstr \"\"\n\n#: graphs/style.py:54\nmsgid \"Blue\"\nmsgstr \"Mavi\"\n\n#: eos/saveddata/damagePattern.py:90 eos/saveddata/damagePattern.py:91\n#: eos/saveddata/damagePattern.py:92 eos/saveddata/damagePattern.py:93\nmsgid \"Bombs\"\nmsgstr \"Bombalar\"\n\n#: gui/builtinAdditionPanes/boosterView.py:215\nmsgid \"Booster\"\nmsgstr \"Arttırıcı\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\n#: gui/builtinContextMenus/additionsExportAll.py:23\n#: gui/builtinContextMenus/additionsExportSelection.py:23\n#: gui/builtinContextMenus/additionsImport.py:24 gui/additionsPane.py:78\nmsgid \"Boosters\"\nmsgstr \"Arttırıcılar\"\n\n#: graphs/style.py:82\nmsgid \"Bright\"\nmsgstr \"Parlak\"\n\n#: gui/esiFittings.py:32\nmsgid \"Browse EVE Fittings\"\nmsgstr \"EVE kurulumlarını Gezin\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Bump distance\"\nmsgstr \"Toslama Mesafesi\"\n\n#: graphs/data/fitMobility/graph.py:38\nmsgid \"Bump speed\"\nmsgstr \"Toslama Hızı\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/targetProfile.py:81 eos/saveddata/targetProfile.py:82\n#: eos/saveddata/targetProfile.py:83 eos/saveddata/targetProfile.py:84\n#: eos/saveddata/targetProfile.py:85 eos/saveddata/targetProfile.py:86\n#: eos/saveddata/targetProfile.py:87 eos/saveddata/targetProfile.py:88\n#: eos/saveddata/targetProfile.py:89 eos/saveddata/targetProfile.py:90\n#: eos/saveddata/targetProfile.py:91 eos/saveddata/targetProfile.py:92\nmsgid \"Burner\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/targetProfile.py:74\nmsgid \"CONCORD\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:153\nmsgid \"CPU\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:118\nmsgid \"CSV files\"\nmsgstr \"CSV dosyaları\"\n\n#: eos/saveddata/targetProfile.py:55\nmsgid \"Caldari (Armor)\"\nmsgstr \"Caldari (Zırh)\"\n\n#: eos/saveddata/targetProfile.py:54\nmsgid \"Caldari (Shield)\"\nmsgstr \"Caldari (Kalkan)\"\n\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/targetProfile.py:96\nmsgid \"Caldari EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/targetProfile.py:73\nmsgid \"Caldari State\"\nmsgstr \"Caldari Devleti\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:115\nmsgid \"Calibration\"\nmsgstr \"Kalibrasyon\"\n\n#: graphs/data/fitCapacitor/graph.py:35 graphs/data/fitCapacitor/graph.py:36\n#: graphs/data/fitCapacitor/graph.py:38 graphs/data/fitCapacitor/graph.py:43\nmsgid \"Cap amount\"\nmsgstr \"Cap miktarı\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Cap neutralized per second\"\nmsgstr \"Saniyede boşaltılan Cap\"\n\n#: graphs/data/fitCapacitor/graph.py:39\nmsgid \"Cap regen\"\nmsgstr \"Cap Kazanımı\"\n\n#: graphs/data/fitCapacitor/graph.py:32\n#: gui/builtinStatsViews/capacitorViewFull.py:37\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\nmsgid \"Capacitor\"\nmsgstr \"Kapasitör (Cap)\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:139\nmsgid \"Capacitor delta:\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:31\n#: gui/builtinStatsViews/outgoingViewFull.py:32\nmsgid \"Capacitor restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:57\nmsgid \"Capacitor stability\"\nmsgstr \"Kapasitör Kararlılığı\"\n\n#: eos/saveddata/damagePattern.py:76\nmsgid \"Carbonized Lead\"\nmsgstr \"Karbonize Kurşun\"\n\n#: gui/copySelectDialog.py:49 gui/copySelectDialog.py:57\n#: gui/builtinContextMenus/priceOptions.py:47\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:90\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:81\n#: gui/additionsPane.py:72\nmsgid \"Cargo\"\nmsgstr \"Kargo\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:20\n#: gui/builtinContextMenus/additionsExportSelection.py:20\n#: gui/builtinContextMenus/additionsImport.py:21\nmsgid \"Cargo Items\"\nmsgstr \"Kargo Öğeleri\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:158\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Cargo bay\"\nmsgstr \"Kargo Bölümü\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:229\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:254\nmsgid \"Cargohold: \"\nmsgstr \"Kargo Alanı: \"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:167\nmsgid \"Carrier\"\nmsgstr \"Taşıyıcı\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Caustic\"\nmsgstr \"Aşındırıcı\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:47\nmsgid \"Cert Path:\"\nmsgstr \"Sertifika Yolu:\"\n\n#: gui/builtinContextMenus/skillAffectors.py:73\n#, python-format\nmsgid \"Change %s Skills\"\nmsgstr \"%s Becerisini değiştir\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:92\nmsgid \"Change Amount\"\nmsgstr \"Miktar Değiştir\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\nmsgid \"Change Skills\"\nmsgstr \"Becerileri Değiştir\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:144\nmsgid \"Change charge in all modules of the same type\"\nmsgstr \"Aynı Türdeki tüm modüllerdeki cephaneyi değiştir\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:34\n#, python-brace-format\nmsgid \"Change {0} Quantity\"\nmsgstr \"{0} Miktarı Değiştir\"\n\n#: gui/builtinContextMenus/itemProjectionRange.py:34\nmsgid \"Change {} Range\"\nmsgstr \"{} Menzili değiştir\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:31\nmsgid \"Changes require restart of pyfa to take effect.\"\nmsgstr \"Yapılan değişiklikler Pyfa'nın yeniden başlatılmasını gerektirir.\"\n\n#: gui/esiFittings.py:375 gui/builtinStatsViews/priceViewFull.py:57\n#: gui/characterEditor.py:90\nmsgid \"Character\"\nmsgstr \"Karakter\"\n\n#: gui/characterEditor.py:137\nmsgid \"Character Editor\"\nmsgstr \"Karakter Düzenleyici\"\n\n#: gui/esiFittings.py:376\nmsgid \"Character ID\"\nmsgstr \"Karakter ID\"\n\n#: gui/characterEditor.py:78\nmsgid \"Character name already in use, please choose another.\"\nmsgstr \"Karakter adı zaten kullanılıyor, lütfen bir başkasını seçin.\"\n\n#: gui/characterEditor.py:771\nmsgid \"Character:\"\nmsgstr \"Karakter:\"\n\n#: gui/characterSelection.py:47\nmsgid \"Character: \"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:48\nmsgid \"Charge\"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:664\nmsgid \"Citadel\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:37\nmsgid \"Citadel System Security\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear All\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear all overrides\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:97\n#: gui/builtinStatsViews/resistancesViewFull.py:169\nmsgid \"Click to toggle between effective HP and raw HP\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:102\nmsgid \"Click to toggle to Firepower View\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:115\nmsgid \"Click to toggle to Mining Yield\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:76\nmsgid \"Client ID:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:85\nmsgid \"Client Secret:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:114\nmsgid \"Color fitting view by slot\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"Combined ECM strength\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:84\nmsgid \"Command\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/commandView.py:201\nmsgid \"Command Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/commandFitAdd.py:51\nmsgid \"Command Fits\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:127\nmsgid \"Command center hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:110\nmsgid \"Compact skills needed tooltip\"\nmsgstr \"\"\n\n#: gui/itemStats.py:182\nmsgid \"Compare\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:227\nmsgid \"Concord\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:92\nmsgid \"Concussion Bomb\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:98\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:103\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:108\n#: gui/mainFrame.py:647 gui/mainFrame.py:653\nmsgid \"Confirm\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:160 gui/propertyEditor.py:147\nmsgid \"Confirm Delete\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:129 gui/esiFittings.py:172 gui/esiFittings.py:345\nmsgid \"Connection error, please check your internet connection\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:14\nmsgid \"Context Menus\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:117\nmsgid \"ContextMenu|ProjectedEffectManipulation|Black Hole\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:118\nmsgid \"ContextMenu|ProjectedEffectManipulation|Cataclysmic Variable\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:144\nmsgid \"ContextMenu|ProjectedEffectManipulation|Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:106\nmsgid \"ContextMenu|ProjectedEffectManipulation|Electrical\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:107\nmsgid \"ContextMenu|ProjectedEffectManipulation|Exotic\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:115\nmsgid \"ContextMenu|ProjectedEffectManipulation|Firestorm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:108\nmsgid \"ContextMenu|ProjectedEffectManipulation|Gamma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:119\nmsgid \"ContextMenu|ProjectedEffectManipulation|Magnetar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:113\nmsgid \"ContextMenu|ProjectedEffectManipulation|Matter\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:111\nmsgid \"ContextMenu|ProjectedEffectManipulation|Metaliminal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:109\nmsgid \"ContextMenu|ProjectedEffectManipulation|Plasma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:120\nmsgid \"ContextMenu|ProjectedEffectManipulation|Pulsar\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:114\nmsgid \"ContextMenu|ProjectedEffectManipulation|Ray\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:121\nmsgid \"ContextMenu|ProjectedEffectManipulation|Red Giant\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:125\nmsgid \"ContextMenu|ProjectedEffectManipulation|Sansha Incursion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:112\nmsgid \"ContextMenu|ProjectedEffectManipulation|Storm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:143\nmsgid \"ContextMenu|ProjectedEffectManipulation|System Effects\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:127\nmsgid \"ContextMenu|ProjectedEffectManipulation|Triglavian Invasion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:122\nmsgid \"ContextMenu|ProjectedEffectManipulation|Wolf Rayet\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemDescription.py:43\n#: gui/builtinItemStatsViews/itemTraits.py:25\n#: gui/builtinShipBrowser/fitItem.py:107\nmsgid \"Copy\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:39\nmsgid \"Copy All {}\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:105\nmsgid \"Copy Missing Skills\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleMutatedExport.py:28\nmsgid \"Copy Module to Clipboard\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsExportSelection.py:39\nmsgid \"Copy Selected {}\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:20\nmsgid \"Copy and paste the block of text provided by pyfa.io\"\nmsgstr \"\"\n\n#: gui/setEditor.py:222 gui/patternEditor.py:290 gui/targetProfileEditor.py:366\nmsgid \"Could not import from clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:359\nmsgid \"Could not import from clipboard:\"\nmsgstr \"\"\n\n#: gui/setEditor.py:218 gui/patternEditor.py:283\nmsgid \"Could not import from clipboard: unknown errors\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Cruiser\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/targetProfile.py:81\nmsgid \"Cruor (Blood Raiders)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:175\nmsgid \"Current\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:57\n#: gui/builtinItemStatsViews/itemAttributes.py:45\nmsgid \"Current Value\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:63\nmsgid \"Custom Application\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"Custom application\"\nmsgstr \"\"\n\n#: graphs/style.py:57\nmsgid \"Cyan\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"DPS\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:99\nmsgid \"Damage Pattern Editor\"\nmsgstr \"Zarar Şablonu Düzenle\"\n\n#: gui/patternEditor.py:65\nmsgid \"Damage Profile\"\nmsgstr \"Zarar Profili\"\n\n#: gui/patternEditor.py:53\nmsgid \"Damage Profile name already in use, please choose another.\"\nmsgstr \"Zarar Profil adı zaten kullanılıyor, lütfen bir başkasını seçin.\"\n\n#: graphs/data/fitDamageStats/graph.py:56\nmsgid \"Damage Stats\"\nmsgstr \"Zarar İstatistikleri\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Damage inflicted\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Damps: lock range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/targetProfile.py:83\nmsgid \"Daredevil (Serpentis)\"\nmsgstr \"\"\n\n#: graphs/style.py:81\nmsgid \"Dark\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\nmsgid \"Dark Matter All Tiers\"\nmsgstr \"\"\n\n#: graphs/style.py:89\nmsgid \"Dash-dotted\"\nmsgstr \"\"\n\n#: graphs/style.py:87\nmsgid \"Dashed\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:15\nmsgid \"Database\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\nmsgid \"Deadspace\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:56\nmsgid \"Debug Logging Enabled\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:58\nmsgid \"Default Market Prices:\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:271\n#, python-format\nmsgid \"Default Value: %0.3f\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:18\nmsgid \"Defense\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:44\nmsgid \"Defined in millions of kilograms\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:109\nmsgid \"Delete\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:79\nmsgid \"Delete All Damage Pattern Profiles\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:87\nmsgid \"Delete All Prices\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:83\nmsgid \"Delete All Target Profiles\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:66\nmsgid \"Delete all from Eve\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:65\nmsgid \"Delete from EVE\"\nmsgstr \"\"\n\n#: gui/itemStats.py:189\nmsgid \"Dependents\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:79\nmsgid \"Depleted Uranium\"\nmsgstr \"\"\n\n#: gui/itemStats.py:174\nmsgid \"Description\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Destroyer\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Destructible Beacons\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Dev Tools\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:101 gui/mainMenuBar.py:202\nmsgid \"Disable Fitting Re&strictions\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Disabled\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:28\nmsgid \"Disabling context menus can improve responsiveness.\\n\"\n\"You can hold {} key + right-click to show all menu items regardless of these settings.\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:36 graphs/data/fitRemoteReps/graph.py:50\n#: graphs/data/fitRemoteReps/graph.py:58 graphs/data/fitWarpTime/graph.py:47\n#: graphs/data/fitWarpTime/graph.py:48 graphs/data/fitWarpTime/graph.py:51\n#: graphs/data/fitWarpTime/graph.py:52 graphs/data/fitDamageStats/graph.py:58\n#: graphs/data/fitDamageStats/graph.py:65 graphs/data/fitEwarStats/graph.py:34\n#: graphs/data/fitEwarStats/graph.py:44\nmsgid \"Distance\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:66\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:67\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\\n\"\n\"When set, places the target that far away from the attacker\\n\"\n\"When not set, attacker's weapons always hit the target\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:59 graphs/data/fitRemoteReps/graph.py:60\nmsgid \"Distance between the repairing ship and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:159\nmsgid \"Do you really want to delete {} ({}) from EVE?\"\nmsgstr \"\"\n\n#: gui/updateDialog.py:102\nmsgid \"Don't remind me again for this release\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:789\nmsgid \"Don't see your EVE character in the list?\"\nmsgstr \"\"\n\n#: graphs/style.py:88\nmsgid \"Dotted\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:71\n#: gui/updateDialog.py:113\nmsgid \"Download\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:313\nmsgid \"Drag a fit into this list to graph it\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:370\nmsgid \"Drag a fit into this list to have your fits graphed against it\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/commandView.py:163\nmsgid \"Drag a fit to this area\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/projectedView.py:224\nmsgid \"Drag an item or fit, or use right-click menu for wormhole effects\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:112 eos/saveddata/targetProfile.py:82\nmsgid \"Dramiel (Angel)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:144\n#: eos/saveddata/damagePattern.py:147\nmsgid \"Dread\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/damagePattern.py:146\nmsgid \"Dread/Subcaps\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:98 eos/saveddata/targetProfile.py:103\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:117\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:131\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:145\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:159\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:173\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:187\nmsgid \"Drifter\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:159 eos/saveddata/targetProfile.py:230\nmsgid \"Drifter Entities\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Drone\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:26\nmsgid \"Drone Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:157\nmsgid \"Drone bandwidth\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:155\nmsgid \"Drone bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:66\nmsgid \"Drone range\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/targetProfile.py:99\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:113\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:127\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:141\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:155\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:169\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:183\n#: gui/builtinContextMenus/priceOptions.py:40\n#: gui/builtinContextMenus/additionsExportAll.py:18\n#: gui/builtinContextMenus/additionsExportSelection.py:18\n#: gui/builtinContextMenus/additionsImport.py:19\n#: gui/builtinStatsViews/priceViewFull.py:58\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:77\n#: gui/additionsPane.py:66\nmsgid \"Drones\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:113\nmsgid \"Drones active\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:62\nmsgid \"Dump All Logs\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:105\nmsgid \"E&xport to ESI\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"ECM: combined strength\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:837\nmsgid \"EFT text fitting files\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:96\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"EHP\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:39\n#: gui/builtinContextMenus/moduleAmmoChange.py:24\nmsgid \"EM\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:119\nmsgid \"EM resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:81\nmsgid \"EMP\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:347 gui/esiFittings.py:351 gui/esiFittings.py:359\nmsgid \"ERROR\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:1012\nmsgid \"EVE API XML character files\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:76\nmsgid \"EVE Data:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:49\nmsgid \"EVE IGB HTML fitting file\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:16\n#: gui/characterEditor.py:162\nmsgid \"EVE SSO\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:37\nmsgid \"EVE Servers (API && CREST import)\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:859\nmsgid \"EVE XML fitting file\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:466 gui/mainFrame.py:836\nmsgid \"EVE XML fitting files\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:808\nmsgid \"EVEMon skills training XML file\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:807\nmsgid \"EVEMon skills training file\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"Effective DPS\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:61\n#: gui/builtinStatsViews/resistancesViewFull.py:219\nmsgid \"Effective HP: \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:151\nmsgid \"Effective capacity\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Effective damage inflicted\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Effective volley\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:220\n#, python-format\nmsgid \"Effective: %d HP\"\nmsgstr \"\"\n\n#: gui/itemStats.py:192\nmsgid \"Effects\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:107\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:109\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:194\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:196\nmsgid \"Electrical T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\nmsgid \"Electrical T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:121\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:123\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:200\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:202\nmsgid \"Electrical T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:85\nmsgid \"Electromagnetic resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:90\nmsgid \"Electron Bomb\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:33\nmsgid \"Electronic Warfare Stats\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:59\nmsgid \"Empty\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:105\nmsgid \"Empty Market View\"\nmsgstr \"\"\n\n#: gui/multiSwitch.py:41\nmsgid \"Empty Tab\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:200\nmsgid \"Enable Fitting Re&strictions\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:33\nmsgid \"Enable Network\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable all available meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:93\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:114\nmsgid \"Enable all meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\nmsgid \"Enable all meta buttons for a duration of search / recents\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button, disable others\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable leftmost available meta button\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:61\nmsgid \"Enable minimal format\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Enabled\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:50\nmsgid \"Enforce strict skill level requirements\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:281\nmsgid \"Enter a name for your new Character:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:51\nmsgid \"Enter a name for your new Implant Set:\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:116 eos/saveddata/targetProfile.py:86\nmsgid \"Enyo\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:174 gui/setEditor.py:55 gui/mainFrame.py:896\n#: gui/characterEditor.py:83 gui/characterEditor.py:463\n#: gui/characterEditor.py:898 gui/patternEditor.py:58\n#: gui/targetProfileEditor.py:78\nmsgid \"Error\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:173 gui/characterEditor.py:897\nmsgid \"Error fetching skill information\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:68\nmsgid \"Error!\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:57 eos/saveddata/damagePattern.py:58\n#: eos/saveddata/damagePattern.py:59 eos/saveddata/damagePattern.py:60\n#: eos/saveddata/damagePattern.py:61\nmsgid \"Exotic Plasma\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:149\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:151\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:212\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:214\nmsgid \"Exotic T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\nmsgid \"Exotic T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:163\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:165\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:218\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:220\nmsgid \"Exotic T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:67\nmsgid \"Expand All\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:42\n#: gui/builtinContextMenus/moduleAmmoChange.py:26\nmsgid \"Explosive\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:88\n#: gui/targetProfileEditor.py:122\nmsgid \"Explosive resistance\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:39\nmsgid \"Export\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export All Fittings to &HTML\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:946\nmsgid \"Export Error\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:258\nmsgid \"Export Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:23\nmsgid \"Export Fittings in a minimal HTML Version, just containing the fittings links without any visual styling\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:57\nmsgid \"Export Item Stats\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:263\nmsgid \"Export Loaded Charges\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:805\nmsgid \"Export Skills Needed As...\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"Export a fit to the clipboard\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\nmsgid \"Export boosters\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:49\nmsgid \"Export cargo contents\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:57\nmsgid \"Export cargo hold contents\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Export charges loaded into modules\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:245\nmsgid \"Export fit to EVE\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export fits to HTML file (set in Preferences)\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"Export fitting to another format\"\nmsgstr \"\"\n\n#: gui/setEditor.py:149\nmsgid \"Export implant sets to clipboard\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\nmsgid \"Export implants\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Export mutated modules' stats\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:172\nmsgid \"Export patterns to clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:222\nmsgid \"Export profiles to clipboard\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:373\nmsgid \"Export skills from clipboard\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"Export skills needed for this fitting\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:827\nmsgid \"Exporting skills needed...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:152\nmsgid \"Extra info in Additions panel tab names\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:90\nmsgid \"Extra stats\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/factorReload.py:26\nmsgid \"Factor in Reload Time\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:44\nmsgid \"Factor in reload time when calculating capacitor usage, damage, and tank.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:328\nmsgid \"Failed to generate export data\"\nmsgstr \"\"\n\n#: gui/aboutData.py:34\nmsgid \"Fat Cow Icons by fatcow.com - Creative Commons Attribution 3.0 License\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:44\nmsgid \"Fetch Fits\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:114\nmsgid \"Fetching fits, please wait...\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:81\nmsgid \"Fi&t\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:156\nmsgid \"Fighter bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:114\nmsgid \"Fighter squadrons active\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:19\n#: gui/builtinContextMenus/additionsExportSelection.py:19\n#: gui/builtinContextMenus/additionsImport.py:20 gui/additionsPane.py:69\nmsgid \"Fighters\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Filament\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemFill.py:32\nmsgid \"Fill With Module\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\n#, python-brace-format\nmsgid \"Fill With {0}\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\nmsgid \"Fill with module\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:43\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\nmsgid \"Firepower\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\nmsgid \"Firestorm T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:135\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:137\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:206\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:208\nmsgid \"Firestorm T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\nmsgid \"Firestorm T4/T5/T6\"\nmsgstr \"\"\n\n#: graphs/gui/lists.py:306\nmsgid \"Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:47\nmsgid \"Fitting Database:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:27\nmsgid \"Fitting Engine\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57 gui/mainFrame.py:184\nmsgid \"Fittings\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:113\nmsgid \"Fleet hangar\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Formatting Tags\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:43 eos/saveddata/damagePattern.py:44\n#: eos/saveddata/damagePattern.py:45 eos/saveddata/damagePattern.py:46\n#: eos/saveddata/damagePattern.py:47 eos/saveddata/damagePattern.py:48\n#: eos/saveddata/damagePattern.py:49 eos/saveddata/damagePattern.py:50\n#: eos/saveddata/damagePattern.py:51 eos/saveddata/damagePattern.py:52\n#: eos/saveddata/damagePattern.py:53 eos/saveddata/damagePattern.py:54\nmsgid \"Frequency Crystals\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Frigate\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:116\nmsgid \"Fuel bay\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Full\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:83\nmsgid \"Fusion\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"GDs: missile flight range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:57\nmsgid \"Gallente (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:56\nmsgid \"Gallente (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/targetProfile.py:97\nmsgid \"Gallente EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/targetProfile.py:75\nmsgid \"Gallente Federation\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:57\nmsgid \"Game Database:\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:51\nmsgid \"Gamma\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\nmsgid \"Gamma T0/T1/T2\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:177\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:179\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:224\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:226\nmsgid \"Gamma T3 (Some T5 Rooms)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Gamma T4/T5/T6\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:125\nmsgid \"Gas hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:20\nmsgid \"General\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:904\nmsgid \"Generating HTML file at: {}\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:39 eos/saveddata/damagePattern.py:40\n#: eos/saveddata/damagePattern.py:41 eos/saveddata/damagePattern.py:42\nmsgid \"Generic\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:778\nmsgid \"Get Skills\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:68\nmsgid \"Global Default Spoolup Percentage:\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"Go to EVE Online Forum thread\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"Go to wiki on GitHub\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:102\nmsgid \"Grant Missing Skills\"\nmsgstr \"\"\n\n#: graphs/gui/frame.py:51\nmsgid \"Graphs\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Gravimetric\"\nmsgstr \"\"\n\n#: graphs/style.py:53\nmsgid \"Green\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:125\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:68\nmsgid \"Guristas\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:172\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"HP\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:19\nmsgid \"HTML Export\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:20\nmsgid \"HTML Export (File > Export HTML) allows you to export your entire fitting database into an HTML file at the specified location. This file can be used to easily open your fits in a web-based fitting program\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/targetProfile.py:87\nmsgid \"Hawk\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Heavy\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:136\nmsgid \"Hide Recent Fits\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:53\n#: gui/builtinShipBrowser/navigationPanel.py:147\nmsgid \"Hide empty ship groups\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:59\nmsgid \"High\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:19\nmsgid \"High Security\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:48\nmsgid \"Hull\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:51\nmsgid \"Hull (+T2 DCU)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:78\nmsgid \"Hull repair amount\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:114\nmsgid \"Hull resistance\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:49\n#: gui/builtinStatsViews/outgoingViewFull.py:50\nmsgid \"Hull restored\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Hull: \"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:62 eos/saveddata/damagePattern.py:63\n#: eos/saveddata/damagePattern.py:64 eos/saveddata/damagePattern.py:65\n#: eos/saveddata/damagePattern.py:66 eos/saveddata/damagePattern.py:67\n#: eos/saveddata/damagePattern.py:68 eos/saveddata/damagePattern.py:69\n#: eos/saveddata/damagePattern.py:70 eos/saveddata/damagePattern.py:71\n#: eos/saveddata/damagePattern.py:72 eos/saveddata/damagePattern.py:73\nmsgid \"Hybrid Charges\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:35\nmsgid \"ID\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:293\nmsgid \"Ideal Target\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDroneControlRange.py:23\nmsgid \"Ignore Drone Control Range\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphLockRange.py:23\nmsgid \"Ignore Lock Range\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgIgnoreResists.py:23\nmsgid \"Ignore Target Resists\"\nmsgstr \"\"\n\n#: gui/setEditor.py:62\nmsgid \"Implant Set\"\nmsgstr \"\"\n\n#: gui/setEditor.py:122\nmsgid \"Implant Set Editor\"\nmsgstr \"\"\n\n#: gui/setEditor.py:50\nmsgid \"Implant Set name already in use, please choose another.\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\n#: gui/builtinContextMenus/additionsExportAll.py:21\n#: gui/builtinContextMenus/additionsExportAll.py:22\n#: gui/builtinContextMenus/additionsExportSelection.py:21\n#: gui/builtinContextMenus/additionsExportSelection.py:22\n#: gui/builtinContextMenus/additionsImport.py:22\n#: gui/builtinContextMenus/additionsImport.py:23 gui/characterEditor.py:161\n#: gui/additionsPane.py:75\nmsgid \"Implants\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/priceOptions.py:54\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:85\nmsgid \"Implants && Boosters\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:38\nmsgid \"Import\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:946\nmsgid \"Import Error\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:442\nmsgid \"Import Skills\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"Import a fit from the clipboard\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"Import characters into pyfa from file\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"Import fittings into pyfa\"\nmsgstr \"\"\n\n#: gui/setEditor.py:148\nmsgid \"Import implant sets from clipboard\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:38 gui/propertyEditor.py:39\nmsgid \"Import overrides\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:171\nmsgid \"Import patterns from clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:221\nmsgid \"Import profiles from clipboard\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:107\nmsgid \"Import pyfa override file\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:372\nmsgid \"Import skills from clipboard\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:64\nmsgid \"Import to pyfa\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:1019\nmsgid \"Importing Character...\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:844\nmsgid \"Importing fits\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:440\nmsgid \"Importing skills into this character will set the skill levels as pending. To save the skills permanently, please click the Save button at the bottom of the window after importing\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Include formatting tags to paste fit directly into corp bulletins, MOTD, etc.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:115\nmsgid \"Incoming damage pattern\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:50\nmsgid \"Incorrect formatting (decimals only)\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:52\nmsgid \"Incorrect range (must be 0-100)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:121\nmsgid \"Industrial ship hold\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:46\nmsgid \"Inertia Modifier attribute value of the target ship\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:87\nmsgid \"Inferno\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:47\nmsgid \"Infrared\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Interceptor\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:65\nmsgid \"Interested in helping with translations?\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:892\nmsgid \"Invalid Path\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:232\nmsgid \"Invalid Token\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:94 eos/saveddata/targetProfile.py:95\n#: eos/saveddata/targetProfile.py:96 eos/saveddata/targetProfile.py:97\n#: eos/saveddata/targetProfile.py:98 eos/saveddata/targetProfile.py:230\n#: eos/saveddata/targetProfile.py:231 eos/saveddata/targetProfile.py:232\nmsgid \"Invasion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:66\nmsgid \"Iridium\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:64\nmsgid \"Iron\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:147\n#: gui/builtinContextMenus/itemRemove.py:43\n#: gui/builtinContextMenus/itemStats.py:38\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Item\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:112\nmsgid \"Item Market Group Jump\"\nmsgstr \"\"\n\n#: gui/itemStats.py:58\nmsgid \"Item stats\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:118 eos/saveddata/targetProfile.py:88\nmsgid \"Jaguar\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/targetProfile.py:76\nmsgid \"Khanid\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:41\n#: gui/builtinContextMenus/moduleAmmoChange.py:27\nmsgid \"Kinetic\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:87\n#: gui/targetProfileEditor.py:121\nmsgid \"Kinetic resistance\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Ladar\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:38\nmsgid \"Language (requires restart)\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:120\nmsgid \"Large ship hold\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:77\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Lasts \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:112\nmsgid \"Launcher hardpoints\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:67\nmsgid \"Lead\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:94\n#: gui/builtinContextMenus/moduleAmmoChange.py:112\nmsgid \"Less Damage\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:343\nmsgid \"Level\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:79\n#, python-format\nmsgid \"Level %s\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemDependants.py:46 gui/characterEditor.py:591\n#: gui/characterEditor.py:616 gui/characterEditor.py:649\nmsgid \"Level {}\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:532\nmsgid \"Level {}d\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Light\"\nmsgstr \"\"\n\n#: service/market.py:266\nmsgid \"Limited Issue Ships\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Loaded Charges\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:271\nmsgid \"Loading previous fits...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Local Server\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:205\nmsgid \"Localized\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:34\nmsgid \"Lock Time\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:201\nmsgid \"Lock Times\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Lock range reduction\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:36\nmsgid \"Lock time\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:794\nmsgid \"Log In with EVE SSO\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:38\nmsgid \"Log file location:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:19\nmsgid \"Logging\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:38\nmsgid \"Login Authentication Method\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:82\nmsgid \"Long Range\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:61\nmsgid \"Low\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:20\nmsgid \"Low Security\"\nmsgstr \"\"\n\n#: graphs/style.py:56\nmsgid \"Magenta\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Magnetometric\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:114\nmsgid \"Maintenance bay\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:671\nmsgid \"Manage Characters\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Manual\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Manual proxy settings\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:180\nmsgid \"Market\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:23\nmsgid \"Market & Prices\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:30\nmsgid \"Market && Prices\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:99\nmsgid \"Market Group Selection\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:91\nmsgid \"Market Search && Recent Items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:39\nmsgid \"Market Search Delay (ms):\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:225\nmsgid \"Mass:\\t{:,.0f}kg\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:124\nmsgid \"Material bay\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:208\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:241\n#, python-format\nmsgid \"Max Warp Distance: %.1f AU\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:124\nmsgid \"Maximum speed\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:60\nmsgid \"Med\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:119\nmsgid \"Medium ship hold\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:58\nmsgid \"Meson\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:105\nmsgid \"Metaliminal Storm\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:46\nmsgid \"Microwave\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:123\nmsgid \"Mineral hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Minimal\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:39\nmsgid \"Mining Yield\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:59\nmsgid \"Minmatar (Armor)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:58\nmsgid \"Minmatar (Shield)\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:147 eos/saveddata/damagePattern.py:148\n#: eos/saveddata/targetProfile.py:98\nmsgid \"Minmatar EDENCOM Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/targetProfile.py:77\nmsgid \"Minmatar Republic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\nmsgid \"Misc\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/misc.py:50\nmsgid \"Misc data\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"Missile flight range reduction\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:86 eos/saveddata/damagePattern.py:87\n#: eos/saveddata/damagePattern.py:88 eos/saveddata/damagePattern.py:89\nmsgid \"Missiles\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/damagePattern.py:150\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/damagePattern.py:152\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/damagePattern.py:154\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/damagePattern.py:156\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78\nmsgid \"Mission\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:28\nmsgid \"Mixed\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:86\nmsgid \"Mjolnir\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:32\nmsgid \"Mobility\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:83\nmsgid \"Mode:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\nmsgid \"Module\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:37\nmsgid \"Momentum\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/targetProfile.py:78\nmsgid \"Mordus Legion\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:97\n#: gui/builtinContextMenus/moduleAmmoChange.py:115\nmsgid \"More Damage\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:52\nmsgid \"Multifrequency\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:408\nmsgid \"Multispectral\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Mutated Attributes\"\nmsgstr \"\"\n\n#: gui/itemStats.py:170\nmsgid \"Mutations\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:149\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/damagePattern.py:151\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/damagePattern.py:153\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/damagePattern.py:155\n#: eos/saveddata/damagePattern.py:156 eos/saveddata/damagePattern.py:157\n#: eos/saveddata/damagePattern.py:158 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:80 eos/saveddata/targetProfile.py:81\n#: eos/saveddata/targetProfile.py:82 eos/saveddata/targetProfile.py:83\n#: eos/saveddata/targetProfile.py:84 eos/saveddata/targetProfile.py:85\n#: eos/saveddata/targetProfile.py:86 eos/saveddata/targetProfile.py:87\n#: eos/saveddata/targetProfile.py:88 eos/saveddata/targetProfile.py:89\n#: eos/saveddata/targetProfile.py:90 eos/saveddata/targetProfile.py:91\n#: eos/saveddata/targetProfile.py:92 eos/saveddata/targetProfile.py:94\n#: eos/saveddata/targetProfile.py:95 eos/saveddata/targetProfile.py:96\n#: eos/saveddata/targetProfile.py:97 eos/saveddata/targetProfile.py:98\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\n#: eos/saveddata/targetProfile.py:230 eos/saveddata/targetProfile.py:231\n#: eos/saveddata/targetProfile.py:232\nmsgid \"NPC\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:30\n#: gui/builtinViewColumns/baseName.py:55\nmsgid \"Name\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:334\nmsgid \"Need at least one ESI character to export\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:117\nmsgid \"Need at least one ESI character to fetch\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:17\nmsgid \"Network\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:149\nmsgid \"Neutralizer resistance\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Neuts: cap per second\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount ({}-{})\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:45\nmsgid \"New Implant Set\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:51\nmsgid \"New fitting\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:58\nmsgid \"No\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:85\nmsgid \"No Profile\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:230\nmsgid \"No active fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"No changes to meta buttons\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"No proxy\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\n#: gui/characterEditor.py:855\nmsgid \"None\"\nmsgstr \"\"\n\n#: graphs/style.py:80\nmsgid \"Normal\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:131\nmsgid \"Normal Subcaps\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/skillAffectors.py:77\nmsgid \"Not Learned\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:399 service/character.py:322\nmsgid \"Not learned\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:87\nmsgid \"Notes\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:89\nmsgid \"Nova\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:77\nmsgid \"Nuclear\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:21\nmsgid \"Null Security\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Open &Dev Tools\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:150\nmsgid \"Open Character Editor\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitOpenNewTab.py:37\nmsgid \"Open Fit in New Tab\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:1010\nmsgid \"Open One Or More Character Files\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:834\nmsgid \"Open One Or More Fitting Files\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Wid&gets Inspect tool\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Widgets Inspect tool\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:136\nmsgid \"Open fittings in a new page by default\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipJump.py:35\nmsgid \"Open in Fitting Browser\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:227\nmsgid \"Open in new tab\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Optimize Prices\"\nmsgstr \"\"\n\n#: graphs/style.py:55\nmsgid \"Orange\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:122\nmsgid \"Ore hold\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:79 eos/saveddata/targetProfile.py:80\nmsgid \"Other\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:100 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:184\nmsgid \"Overmind\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:75\nmsgid \"Passive shield recharge\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:125\nmsgid \"Password:\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/additionsImport.py:40\nmsgid \"Paste {}\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:295\nmsgid \"Patterns exported to clipboard\"\nmsgstr \"\"\n\n#: gui/setEditor.py:210 gui/patternEditor.py:276\nmsgid \"Patterns successfully imported from clipboard\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:82\nmsgid \"Phased Plasma\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:128\nmsgid \"Planetary goods hold\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:721\nmsgid \"Please Wait...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:32\nmsgid \"Please see the pyfa wiki on GitHub for information regarding these options.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:315\nmsgid \"Please select an active fitting in the main window\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:758\nmsgid \"Please select another character or make a new one.\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:895\nmsgid \"Please verify path location pyfa's preferences.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphFitAmmoPicker.py:29\nmsgid \"Plot with Different Ammo...\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:70\nmsgid \"Plutonium\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Pod\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:109\nmsgid \"Port:\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:154\nmsgid \"PowerGrid\"\nmsgstr \"\"\n\n#: gui/preferenceDialog.py:31\nmsgid \"Preferences\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:59\nmsgid \"Pressing this button will cause all logs in memory to write to the log file:\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:155\n#: gui/builtinStatsViews/priceViewFull.py:40\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\nmsgid \"Price\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:41\nmsgid \"Pricing updates\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:265\n#, python-format\nmsgid \"Probe Size: %.3f\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:372\nmsgid \"Profiles exported to clipboard\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:352\nmsgid \"Profiles successfully imported from clipboard\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:230\nmsgid \"Project onto Active Fit\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\nmsgid \"Project onto Fit\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemProject.py:34\n#, python-brace-format\nmsgid \"Project {0} onto Fit\"\nmsgstr \"\"\n\n#: gui/additionsPane.py:81\nmsgid \"Projected\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/projectedView.py:304\n#: gui/builtinAdditionPanes/projectedView.py:314\n#: gui/builtinAdditionPanes/projectedView.py:319\n#: gui/builtinAdditionPanes/projectedView.py:324\nmsgid \"Projected Item\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:74 eos/saveddata/damagePattern.py:75\n#: eos/saveddata/damagePattern.py:76 eos/saveddata/damagePattern.py:77\n#: eos/saveddata/damagePattern.py:78 eos/saveddata/damagePattern.py:79\n#: eos/saveddata/damagePattern.py:80 eos/saveddata/damagePattern.py:81\n#: eos/saveddata/damagePattern.py:82 eos/saveddata/damagePattern.py:83\n#: eos/saveddata/damagePattern.py:84 eos/saveddata/damagePattern.py:85\nmsgid \"Projectile Ammo\"\nmsgstr \"\"\n\n#: gui/itemStats.py:200\nmsgid \"Properties\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:19\nmsgid \"Propulsion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:78\nmsgid \"Proton\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:49\nmsgid \"Proxy settings\"\nmsgstr \"\"\n\n#: graphs/style.py:58\nmsgid \"Purple\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:222\nmsgid \"PvP Weather\"\nmsgstr \"\"\n\n#: gui/aboutData.py:49\nmsgid \"Pyfa (the Python Fitting Assistant) is an open-source standalone application able to create and simulate fittings for EVE-Online SciFi MMORPG with a very high degree of accuracy. Pyfa can run on all platforms where Python and wxWidgets are supported.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:44\nmsgid \"Pyfa Update checks\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:15\nmsgid \"Pyfa can automatically check and notify you of new releases. This feature is toggled in the Network settings. Here, you may allow pre-release notifications and view suppressed release notifications, if any.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:69\nmsgid \"Pyfa language selection disabled. Please check if .mo files have been generated.\\n\"\n\"Refer to locale/README.md for info.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:129\nmsgid \"Quafe hold\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of active items\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of all items\"\nmsgstr \"\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Radar\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:45\nmsgid \"Radio\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:126\nmsgid \"Radius\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:54\nmsgid \"Random stats\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:63\nmsgid \"Range\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:222\nmsgid \"Raw HP: \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:223\n#, python-format\nmsgid \"Raw: %d HP\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:652\nmsgid \"Re-enabling fitting restrictions for this fit will also remove any illegal items from the fit. Do you want to continue?\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:56\n#: gui/builtinShipBrowser/navigationPanel.py:129\nmsgid \"Recent Fits\"\nmsgstr \"\"\n\n#: gui/builtinMarketBrowser/marketTree.py:37\nmsgid \"Recently Used Items\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:43\nmsgid \"Recharge rates\"\nmsgstr \"\"\n\n#: graphs/style.py:52\nmsgid \"Red\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"Redo the most recent undone action\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:62\n#: gui/builtinItemStatsViews/itemAffectedBy.py:77\n#: gui/builtinItemStatsViews/itemCompare.py:79\nmsgid \"Refresh\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:68\nmsgid \"Refresh Skills\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:86\nmsgid \"Reinforced\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:62\nmsgid \"Reload ancillary RRs\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:48\nmsgid \"Remote Repairs\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:65\n#: gui/builtinStatsViews/outgoingViewFull.py:66\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Remote Reps\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:387\nmsgid \"Remove Character\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:71\nmsgid \"Remove Overides for Item\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemRemove.py:42\n#, python-brace-format\nmsgid \"Remove {item}{stack}\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/fitItem.py:108\nmsgid \"Rename\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:118\nmsgid \"Reopen previous fits on startup\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:53\nmsgid \"Repair speed\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Replace items by cheaper alternatives\"\nmsgstr \"\"\n\n#: gui/itemStats.py:185\nmsgid \"Requirements\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:98\nmsgid \"Reset\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:76\nmsgid \"Reset Suppression\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:51\nmsgid \"Reset defaults\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/resistMode.py:41\nmsgid \"Resist Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:213\nmsgid \"Resist Multiplier: \"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:47\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\nmsgid \"Resistances\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:84\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\nmsgid \"Resources\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:57\nmsgid \"Revert changes\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Revert to {}\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:63\nmsgid \"Rig\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:108 eos/saveddata/damagePattern.py:126\nmsgid \"Rogue Drone\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/targetProfile.py:231\nmsgid \"Rogue Drone Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:63 eos/saveddata/targetProfile.py:69\nmsgid \"Rogue Drones\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:34\nmsgid \"Run Time\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:368\nmsgid \"SSO Character Management\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:15 gui/ssoLogin.py:49\nmsgid \"SSO Login\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:45\nmsgid \"SSO Mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:126\nmsgid \"Salvage hold\"\nmsgstr \"\"\n\n#: locale_test/getTextLocale.py:4\nmsgid \"Sample Title Text English\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/targetProfile.py:192\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:198\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:204\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:210\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:216\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:222\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:228\nmsgid \"Sansha\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:157 eos/saveddata/targetProfile.py:80\n#: gui/builtinContextMenus/envEffectAdd.py:124\nmsgid \"Sansha Incursion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:127\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:70\nmsgid \"Sanshas Nation\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:858\nmsgid \"Save Backup As...\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:117\nmsgid \"Save CSV file\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:114\nmsgid \"Save Character &As...\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:282\nmsgid \"Save Character As...\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:48\n#: gui/mainFrame.py:465\nmsgid \"Save Fitting As...\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:130\nmsgid \"Save Overrides As...\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/implantSetSave.py:27\nmsgid \"Save as New Implant Set\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:64\nmsgid \"Scan res.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:91\nmsgid \"Scorch Bomb\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:88\nmsgid \"Scourge\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:61\nmsgid \"Search fittings\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:356\n#, python-brace-format\nmsgid \"Sec Status: {0:.2f}\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:914\nmsgid \"Security Status is used in some CONCORD hull calculations\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:102 eos/saveddata/targetProfile.py:101\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:115\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:129\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:143\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:157\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:171\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:185\nmsgid \"Seeker\"\nmsgstr \"\"\n\n#: gui/copySelectDialog.py:62\nmsgid \"Select a format\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:318\nmsgid \"Sending request and awaiting response\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:65\nmsgid \"Sensor str.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:122 eos/saveddata/targetProfile.py:92\nmsgid \"Sentinel\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:122\nmsgid \"Separate Racks\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:110 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:65 eos/saveddata/targetProfile.py:71\nmsgid \"Serpentis\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:64\nmsgid \"Service\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:907\nmsgid \"Set Security Status\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\nmsgid \"Set as Damage Pattern\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:53\nmsgid \"Set export destination\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Set {} as Damage Pattern\"\nmsgstr \"\"\n\n#: gui/setEditor.py:229\nmsgid \"Sets exported to clipboard\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:326\nmsgid \"Setting an Alpha clone does not replace the character's skills, but rather caps them to Alpha levels.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/shipModeChange.py:20\nmsgid \"Sharpshooter\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:46\nmsgid \"Shield\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:49\nmsgid \"Shield (+T2 DCU)\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:38\nmsgid \"Shield Regeneration\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:42\n#: graphs/data/fitShieldRegen/graph.py:55\n#: graphs/data/fitShieldRegen/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:61\nmsgid \"Shield amount\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:62\nmsgid \"Shield regen\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:112\nmsgid \"Shield resistance\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:37\n#: gui/builtinStatsViews/outgoingViewFull.py:38\nmsgid \"Shield restored\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\nmsgid \"Shield/Armor Tank\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Shield: \"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:664\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57\nmsgid \"Ship\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/shipItem.py:111\nmsgid \"Ship Basic\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:48\nmsgid \"Ship groups\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:117\nmsgid \"Ship hold\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:100\nmsgid \"Short Range\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:126\nmsgid \"Show Rack Labels\"\nmsgstr \"\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:151\nmsgid \"Show empty ship groups\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:130\nmsgid \"Show fitting tab tooltips\"\nmsgstr \"\"\n\n#: graphs/gui/ctrlPanel.py:71\nmsgid \"Show legend\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:52\nmsgid \"Show market shortcuts\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:140\nmsgid \"Show ship browser tooltip\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:93\nmsgid \"Shrapnel Bomb\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/boosterSideEffects.py:34\nmsgid \"Side Effects\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:88\nmsgid \"Signature\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:125\nmsgid \"Signature radius\\n\"\n\"Leave blank for infinitely big value\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"Signature radius increase\"\nmsgstr \"\"\n\n#: gui/aboutData.py:33\nmsgid \"Silk Icons Set by famfamfam.com - Creative Commons Attribution 2.5 License\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:342 gui/characterEditor.py:608\nmsgid \"Skill\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:160\nmsgid \"Skills\"\nmsgstr \"\"\n\n#: gui/characterSelection.py:242\nmsgid \"Skills required:\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:104 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:118 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:132 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:146 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:160 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:174 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:188\nmsgid \"Sleeper\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:161 eos/saveddata/targetProfile.py:232\nmsgid \"Sleeper Entities\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:158\nmsgid \"Sleepers\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:118\nmsgid \"Small ship hold\"\nmsgstr \"\"\n\n#: graphs/style.py:86\nmsgid \"Solid\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:35\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:86\nmsgid \"Speed\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Speed reduction\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/droneSplitStack.py:29\nmsgid \"Split {} Stack\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:169\nmsgid \"Spool up\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\nmsgid \"Spoolup\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:37\nmsgid \"Spoolup Cycles\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Stable: \"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:48\nmsgid \"Standard\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:46\nmsgid \"Starting cap amount\"\nmsgstr \"\"\n\n#: graphs/data/fitShieldRegen/graph.py:46\nmsgid \"Starting shield amount\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:22\nmsgid \"Statistics Panel\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:45\nmsgid \"Stick to Attacker\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:44\nmsgid \"Stick to Target\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:145 eos/saveddata/damagePattern.py:148\nmsgid \"Subcaps\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:136\n#, no-python-format\nmsgid \"Subcaps w/missiles 0% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:142\n#, no-python-format\nmsgid \"Subcaps w/missiles 100% spool up\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:139\n#, no-python-format\nmsgid \"Subcaps w/missiles 50% spool up\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:62\nmsgid \"Subsystem\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:901\nmsgid \"Success\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:901\nmsgid \"Successfully fetched skills\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:114 eos/saveddata/targetProfile.py:84\nmsgid \"Succubus (Sanshas Nation)\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Support\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:48\n#, python-brace-format\nmsgid \"Suppressing {0} Notifications\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:87\nmsgid \"Sustained\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:46 eos/saveddata/targetProfile.py:47\n#: eos/saveddata/targetProfile.py:48 eos/saveddata/targetProfile.py:49\n#: eos/saveddata/targetProfile.py:50 eos/saveddata/targetProfile.py:51\nmsgid \"T1 Resist\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:52 eos/saveddata/targetProfile.py:53\n#: eos/saveddata/targetProfile.py:54 eos/saveddata/targetProfile.py:55\n#: eos/saveddata/targetProfile.py:56 eos/saveddata/targetProfile.py:57\n#: eos/saveddata/targetProfile.py:58 eos/saveddata/targetProfile.py:59\nmsgid \"T2 Resist\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"TDs: turret optimal range reduction\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"TPs: signature radius increase\"\nmsgstr \"\"\n\n#: gui/builtinViews/fittingView.py:660 gui/builtinViewColumns/baseName.py:102\n#: gui/builtinContextMenus/shipModeChange.py:37\nmsgid \"Tactical Mode\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/targetProfile.py:91\nmsgid \"Talos\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:75 graphs/gui/lists.py:359\nmsgid \"Target\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:86\nmsgid \"Target Profile\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:130\nmsgid \"Target Profile Editor\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:73\nmsgid \"Target Profile name already in use, please choose another.\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:33\nmsgid \"Target Resists\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Target distance traveled\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:45\nmsgid \"Target inertia factor\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:43\nmsgid \"Target mass\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:45\nmsgid \"Target resistance\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:37 graphs/data/fitDamageStats/graph.py:71\nmsgid \"Target signature\"\nmsgstr \"\"\n\n#: graphs/data/fitLockTime/graph.py:35 graphs/data/fitDamageStats/graph.py:62\n#: graphs/data/fitDamageStats/graph.py:63\nmsgid \"Target signature radius\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:38 graphs/data/fitDamageStats/graph.py:60\n#: graphs/data/fitDamageStats/graph.py:61\n#: graphs/data/fitDamageStats/graph.py:70\nmsgid \"Target speed\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:40\nmsgid \"Targeting && Misc\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:62\nmsgid \"Targets\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:60\nmsgid \"Tetryon\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:809\nmsgid \"Text skills training file\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:72\nmsgid \"The amount of spoolup to use by default on module which support it. Can be changed on a per-module basis\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:44\nmsgid \"The delay between a keystroke and the market search. Can help reduce lag when typing fast in the market search box.\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:949\nmsgid \"The following error was generated\"\nmsgstr \"\"\n\n#: gui/mainFrame.py:893\nmsgid \"The following path is invalid or does not exist:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:64\nmsgid \"The source you choose will be tried first, but subsequent sources will be used if the preferred source fails. The system you choose will also be tried first, and if no data is available, global price will be used.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:53\nmsgid \"There is a release available which you have chosen to suppress. You can choose to reset notification suppression for this release, or download the new release from GitHub.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:463\nmsgid \"There was an error importing skills, please see log file\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:230\nmsgid \"There was an error validating characters' SSO token. Please try logging into the character again to reset the token.\"\nmsgstr \"\"\n\n#: gui/esiFittings.py:213\nmsgid \"There was an issue starting up the localized server, try setting Login Authentication Method to Manual by going to Preferences -> EVE SS0 -> Login Authentication Method. If this doesn't fix the problem please file an issue on Github.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:40\n#: gui/builtinContextMenus/moduleAmmoChange.py:25\nmsgid \"Thermal\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:86\n#: gui/targetProfileEditor.py:120\nmsgid \"Thermal resistance\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:107\nmsgid \"This is a destructive action that will delete all cached prices out of the database.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:97\nmsgid \"This is a destructive action that will delete all damage pattern profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:102\nmsgid \"This is a destructive action that will delete all target profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:49\nmsgid \"This option goes through EVE SSO directly, but requires more configuration. Use this if pyfa.io is blocked for some reason, or if you do not wish to route data throguh pyfa.io.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:42\nmsgid \"This option prompts users to copy and paste information from the web application to allow for character login. Use this if having issues with the local server.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:47\nmsgid \"This options routes SSO Logins through pyfa.io, allowing you to easily login without any configuration. When in doubt, use this option.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:40\nmsgid \"This options starts a local webserver that the web application will call back to with information about the character login.\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:68\nmsgid \"Thorium\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:156\nmsgid \"Thukker\"\nmsgstr \"\"\n\n#: graphs/data/fitMobility/graph.py:33 graphs/data/fitMobility/graph.py:41\n#: graphs/data/fitCapacitor/graph.py:34 graphs/data/fitCapacitor/graph.py:41\n#: graphs/data/fitRemoteReps/graph.py:51 graphs/data/fitRemoteReps/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:40\n#: graphs/data/fitShieldRegen/graph.py:54\n#: graphs/data/fitDamageStats/graph.py:59\n#: graphs/data/fitDamageStats/graph.py:68\nmsgid \"Time\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:80\nmsgid \"Titanium Sabot\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:70\nmsgid \"Toggle Names\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:73\nmsgid \"Toggle View\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:75\nmsgid \"Toggle view mode\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/miningyieldViewFull.py:89\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Total\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:76\nmsgid \"Total Price Includes\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:54\nmsgid \"Total repaired\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:67\nmsgid \"Total: \"\nmsgstr \"\"\n\n#: gui/itemStats.py:166\nmsgid \"Traits\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:104 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:186\nmsgid \"Triglavian\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/targetProfile.py:94\nmsgid \"Triglavian Entities\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:126\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Triglavian Invasion\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:65\nmsgid \"Tungsten\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:111\nmsgid \"Turret hardpoints\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"Turret optimal range reduction\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:32\nmsgid \"Type\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:218\n#, python-brace-format\nmsgid \"Type: {0}\\n\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:222\nmsgid \"Type: {}\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:49\nmsgid \"Ultraviolet\"\nmsgstr \"\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"Undo the most recent action\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:38\nmsgid \"Uniform\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:42\nmsgid \"Uniform (25%)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:43\nmsgid \"Uniform (50%)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:44\nmsgid \"Uniform (75%)\"\nmsgstr \"\"\n\n#: eos/saveddata/targetProfile.py:45\nmsgid \"Uniform (90%)\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:614\nmsgid \"Unlearn\"\nmsgstr \"\"\n\n#: gui/updateDialog.py:54\nmsgid \"Update Available\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:14\nmsgid \"Updates\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:69\nmsgid \"Uranium\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/implantView.py:68\nmsgid \"Use Character Implants\"\nmsgstr \"\"\n\n#: gui/builtinAdditionPanes/implantView.py:67\nmsgid \"Use Fit-specific Implants\"\nmsgstr \"\"\n\n#: graphs/data/fitCapacitor/graph.py:48\nmsgid \"Use capacitor simulator\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:102\nmsgid \"Use character implants by default for new fits\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:98\nmsgid \"Use global character\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:106\nmsgid \"Use global damage pattern\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:121\nmsgid \"Username:\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:34\nmsgid \"Using Executable Path for Saved Fit Database and Settings\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemVariationChange.py:49\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\nmsgid \"Variations\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/targetProfile.py:89\nmsgid \"Vengeance\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:53\nmsgid \"View Raw Data\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Volley\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:22\nmsgid \"W-Space\"\nmsgstr \"\"\n\n#: gui/ssoLogin.py:62\nmsgid \"Waiting for character login through EVE Single Sign-On.\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:210\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:212\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:243\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:245\n#, python-format\nmsgid \"Warp Core Strength: %.1f\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:89\nmsgid \"Warp Speed\"\nmsgstr \"\"\n\n#: graphs/data/fitWarpTime/graph.py:45\nmsgid \"Warp Time\"\nmsgstr \"\"\n\n#: graphs/data/fitWarpTime/graph.py:49\nmsgid \"Warp time\"\nmsgstr \"\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Weapon\"\nmsgstr \"\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Webs: speed reduction\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:61\nmsgid \"When damage profile is Uniform, set Reactive Armor Hardener to match (old behavior).\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:149\nmsgid \"When disabled, reloads charges just in selected modules. Action can be reversed by holding Ctrl or Alt key while changing charge.\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:54\nmsgid \"When enabled, skills will check their dependencies' requirements when their levels change and reset skills that no longer meet the requirement.\\n\"\n\"eg: Setting Drones from level V to IV will reset the Heavy Drone Operation skill, as that requires Drones V\"\nmsgstr \"\"\n\n#: graphs/data/fitDamageStats/graph.py:69\nmsgid \"When set, uses attacker's exact damage stats at a given time\\n\"\n\"When not set, uses attacker's damage stats as shown in stats panel of main window\"\nmsgstr \"\"\n\n#: graphs/data/fitRemoteReps/graph.py:57\nmsgid \"When set, uses repairing ship's exact RR stats at a given time\\n\"\n\"When not set, uses repairing ship's RR stats as shown in stats panel of main window\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/targetProfile.py:85\nmsgid \"Worm (Guristas)\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:116\nmsgid \"Wormhole\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:50\nmsgid \"Xray\"\nmsgstr \"\"\n\n#: graphs/style.py:59\nmsgid \"Yellow\"\nmsgstr \"\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:56\nmsgid \"Yes\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:757\nmsgid \"You cannot link All 0 or All 5 characters to an EVE character.\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:76\nmsgid \"You must supply a name for the Character!\"\nmsgstr \"\"\n\n#: gui/setEditor.py:48\nmsgid \"You must supply a name for the Implant Set!\"\nmsgstr \"\"\n\n#: gui/patternEditor.py:51\nmsgid \"You must supply a name for your Damage Profile!\"\nmsgstr \"\"\n\n#: gui/targetProfileEditor.py:71\nmsgid \"You must supply a name for your Target Profile!\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:43\nmsgid \"[T2] Aurora\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:75\nmsgid \"[T2] Barrage\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:54\nmsgid \"[T2] Conflagration\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:53\nmsgid \"[T2] Gleam\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:85\nmsgid \"[T2] Hail\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:72\nmsgid \"[T2] Javelin\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:57\nmsgid \"[T2] Mystic\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:63\nmsgid \"[T2] Null\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:61\nmsgid \"[T2] Occult\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:84\nmsgid \"[T2] Quake\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:44\nmsgid \"[T2] Scorch\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:62\nmsgid \"[T2] Spike\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:74\nmsgid \"[T2] Tremor\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:73\nmsgid \"[T2] Void\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"em\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"exp\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"explosive\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"kin\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"kinetic\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:38\nmsgid \"pyfa User Path:\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:69\nmsgid \"pyfa error\"\nmsgstr \"\"\n\n#: gui/errorDialog.py:76\nmsgid \"pyfa has experienced an unexpected issue. Below is a message that contains crucial \\n\"\n\"information about how this was triggered. Please contact the developers with the \\n\"\n\"information provided through the EVE Online forums or file a GitHub issue.\"\nmsgstr \"\"\n\n#: gui/aboutData.py:31\nmsgid \"pyfa is released under GNU GPLv3 - see included LICENSE file\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:108\nmsgid \"pyfa override file\"\nmsgstr \"\"\n\n#: gui/propertyEditor.py:131\nmsgid \"pyfa overrides\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"pyfa.io\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:47\nmsgid \"pyfa:\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"th\"\nmsgstr \"\"\n\n#: eos/utils/stats.py:123\nmsgid \"thermal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#, python-brace-format\nmsgid \"{0} Market Group\"\nmsgstr \"\"\n\n#: gui/itemStats.py:87\n#, python-brace-format\nmsgid \"{context}Stats: {name}{debug_info}\"\nmsgstr \"\"\n\n#: gui/pyfa_gauge.py:347\n#, python-brace-format\nmsgid \"{{0:.{0}f}} left\"\nmsgstr \"\"\n\n#: gui/pyfa_gauge.py:344\n#, python-brace-format\nmsgid \"{{0:.{0}f}} over\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/moduleSpool.py:83\nmsgid \"{} (default)\"\nmsgstr \"\"\n\n#: gui/characterEditor.py:284\nmsgid \"{} Copy\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/itemStats.py:38\nmsgid \"{} Stats\"\nmsgstr \"\"\n\n#: gui/builtinViewColumns/baseName.py:104\nmsgid \"{} {} Slot\"\nmsgid_plural \"{} {} Slots\"\nmsgstr[0] \"\"\nmsgstr[1] \"\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:220\n#, no-python-format, python-brace-format\nmsgid \"{}% chance to be jammed\"\nmsgstr \"\"\n\n"
  },
  {
    "path": "locale/zh_CN/LC_MESSAGES/lang.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: pyfa\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2020-10-28 15:28+0300\\n\"\n\"PO-Revision-Date: 2022-06-13 10:20\\n\"\n\"Last-Translator: \\n\"\n\"Language-Team: Chinese Simplified\\n\"\n\"Language: zh_CN\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"Plural-Forms: nplurals=1; plural=0;\\n\"\n\"X-Crowdin-Project: pyfa\\n\"\n\"X-Crowdin-Project-ID: 411502\\n\"\n\"X-Crowdin-Language: zh-CN\\n\"\n\"X-Crowdin-File: /master/locale/lang.pot\\n\"\n\"X-Crowdin-File-ID: 68\\n\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:107\nmsgid \" DPS: \"\nmsgstr \" 秒伤： \"\n\n#: gui/builtinContextMenus/itemRemove.py:44\nmsgid \" Stack\"\nmsgstr \"堆\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:100\nmsgid \" Volley: \"\nmsgstr \"齐射\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:98\n#, python-format\nmsgid \"%d attribute.\"\nmsgid_plural \"%d attributes.\"\nmsgstr[0] \"共%d个属性。\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"&Backup All Fittings\"\nmsgstr \"备份所有装配(&B)\"\n\n#: gui/mainMenuBar.py:104\nmsgid \"&Browse ESI Fittings\"\nmsgstr \"浏览游戏内装配(&B)\"\n\n#: gui/mainMenuBar.py:111\nmsgid \"&Character\"\nmsgstr \"角色(&C)\"\n\n#: gui/mainMenuBar.py:144\nmsgid \"&Character Editor\"\nmsgstr \"角色编辑器(&C)\"\n\n#: gui/mainMenuBar.py:70\nmsgid \"&Close All Tabs\"\nmsgstr \"关闭所有标签页(&C)\"\n\n#: gui/mainMenuBar.py:69\nmsgid \"&Close Tab\"\nmsgstr \"关闭标签页(&C)\"\n\n#: gui/mainMenuBar.py:150\nmsgid \"&Damage Pattern Editor\"\nmsgstr \"伤害模型编辑器(&D)\"\n\n#: gui/mainMenuBar.py:143\nmsgid \"&Editors\"\nmsgstr \"编辑器(&E)\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"&Export Fitting\"\nmsgstr \"导出装配(&E)\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"&Export Skills Needed\"\nmsgstr \"导出所需技能列表(&E)\"\n\n#: gui/mainMenuBar.py:66 gui/propertyEditor.py:42\nmsgid \"&File\"\nmsgstr \"文件(&F)\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"&Forums\"\nmsgstr \"论坛(&F)\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"&From Clipboard\"\nmsgstr \"从剪贴板导入(&F)\"\n\n#: gui/mainMenuBar.py:135\nmsgid \"&Global\"\nmsgstr \"全局设置(&G)\"\n\n#: gui/mainMenuBar.py:96\nmsgid \"&Graphs\"\nmsgstr \"图表(&G)\"\n\n#: gui/mainMenuBar.py:159\nmsgid \"&Help\"\nmsgstr \"帮助(&H)\"\n\n#: gui/mainMenuBar.py:147\nmsgid \"&Implant Set Editor\"\nmsgstr \"植入体配置编辑器(&I)\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"&Import Character File\"\nmsgstr \"导入角色文件(&I)\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"&Import Fittings\"\nmsgstr \"导入装配(&I)\"\n\n#: gui/mainMenuBar.py:122\nmsgid \"&Manage ESI Characters\"\nmsgstr \"管理游戏内角色(&M)\"\n\n#: gui/mainMenuBar.py:68\nmsgid \"&New Tab\"\nmsgstr \"新标签页(&N)\"\n\n#: gui/mainMenuBar.py:95\nmsgid \"&Optimize Fit Price\"\nmsgstr \"优化装配价格(&O)\"\n\n#: gui/mainMenuBar.py:137\nmsgid \"&Preferences\"\nmsgstr \"偏好设置(&P)\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"&Redo\"\nmsgstr \"恢复(&R)\"\n\n#: gui/mainMenuBar.py:115\nmsgid \"&Revert Character\"\nmsgstr \"还原角色(&R)\"\n\n#: gui/mainMenuBar.py:113\nmsgid \"&Save Character\"\nmsgstr \"保存角色(&S)\"\n\n#: gui/mainMenuBar.py:153\nmsgid \"&Target Profile Editor\"\nmsgstr \"目标属性编辑器(&T)\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"&To Clipboard\"\nmsgstr \"导出到剪贴板(&T)\"\n\n#: gui/mainFrame.py:688\nmsgid \"&Turn Overrides Off\"\nmsgstr \"启用自定义属性(&T)\"\n\n#: gui/mainMenuBar.py:131 gui/mainFrame.py:688\nmsgid \"&Turn Overrides On\"\nmsgstr \"启用自定义属性(&T)\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"&Undo\"\nmsgstr \"撤销(&R)\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"&Wiki\"\nmsgstr \"百科(&W)\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:25\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:29\nmsgid \"(Cannot be changed while pyfa is running. Set via command line switches.)\"\nmsgstr \"（无法在Pyfa运行时更改。请通过命令行开关设置。）\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:81\nmsgid \"0s\"\nmsgstr \"0秒\"\n\n#: gui/builtinContextMenus/fighterAbilities.py:33\nmsgid \"Abilities\"\nmsgstr \"铁骑技能\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Abyssal\"\nmsgstr \"深渊\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:123\nmsgid \"Abyssal Weather\"\nmsgstr \"深渊环境\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:31\nmsgid \"Active\"\nmsgstr \"激活\"\n\n#: gui/builtinViewColumns/abilities.py:37\nmsgid \"Active Abilities\"\nmsgstr \"铁骑技能\"\n\n#: gui/builtinViewColumns/sideEffects.py:37\nmsgid \"Active Side Effects\"\nmsgstr \"副作用\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:76\nmsgid \"Active shield boost\"\nmsgstr \"主动维修\"\n\n#: gui/esiFittings.py:384\nmsgid \"Add Character\"\nmsgstr \"添加角色\"\n\n#: gui/esiFittings.py:217\nmsgid \"Add Character Error\"\nmsgstr \"添加角色错误\"\n\n#: gui/builtinShipBrowser/fitItem.py:233\nmsgid \"Add Command Booster\"\nmsgstr \"添加指挥增效剂\"\n\n#: gui/builtinContextMenus/fitAddCurrentlyOpen.py:29\nmsgid \"Add Currently Open Fit\"\nmsgstr \"添加当前装配\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:56\nmsgid \"Add Environmental Effect\"\nmsgstr \"添加环境效果\"\n\n#: gui/builtinContextMenus/fitAddBrowse.py:22\nmsgid \"Add Fit...\"\nmsgstr \"添加装配...\"\n\n#: gui/fitBrowserLite.py:17\nmsgid \"Add Fits\"\nmsgstr \"添加装配\"\n\n#: gui/builtinContextMenus/targetProfile/adder.py:29\nmsgid \"Add Target Profile\"\nmsgstr \"添加目标属性\"\n\n#: gui/builtinContextMenus/cargoAddAmmo.py:28\n#, python-brace-format\nmsgid \"Add {0} to Cargo (x1000)\"\nmsgstr \"添加 {0} 到货舱(x1000)\"\n\n#: gui/builtinContextMenus/cargoAdd.py:33\nmsgid \"Add {} to Cargo\"\nmsgstr \"添加{}到货舱\"\n\n#: gui/builtinContextMenus/droneAddStack.py:40\nmsgid \"Add {} to Drone Bay{}\"\nmsgstr \"添加{}到无人机机库{}\"\n\n#: gui/additionsPane.py:45\nmsgid \"Additions\"\nmsgstr \"附加装备\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Additions Panel Copy/Paste\"\nmsgstr \"附加装备栏复制/粘贴\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:101\nmsgid \"Addr:\"\nmsgstr \"地址：\"\n\n#: gui/itemStats.py:196\nmsgid \"Affected by\"\nmsgstr \"影响因素\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:226\n#, python-format\nmsgid \"Agility:\\t%.3fx\"\nmsgstr \"灵活性：%.3fx\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:87\nmsgid \"Align time\"\nmsgstr \"起跳时间\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:224\n#, python-format\nmsgid \"Align:\\t%.3fs\"\nmsgstr \"起跳时间：%.3fs\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/targetProfile.py:105\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:119\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:133\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:147\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:161\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:175\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:189\nmsgid \"All\"\nmsgstr \"全部\"\n\n#: gui/aboutData.py:32\nmsgid \"All EVE-Online related materials are property of CCP hf.\"\nmsgstr \"所有 EvE Online 相关材料版权归CCP所有\"\n\n#: gui/mainFrame.py:838 gui/mainFrame.py:1013\nmsgid \"All Files\"\nmsgstr \"所有文件\"\n\n#: gui/characterSelection.py:238\nmsgid \"All skill prerequisites have been met\"\nmsgstr \"已达到所有技能要求\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:38\nmsgid \"Allow pre-release notifications\"\nmsgstr \"允许预发布版本更新通知\"\n\n#: graphs/gui/ctrlPanel.py:75\nmsgid \"Always show Y = 0\"\nmsgstr \"总是显示Y = 0\"\n\n#: eos/saveddata/targetProfile.py:53\nmsgid \"Amarr (Armor)\"\nmsgstr \"艾玛（护甲）\"\n\n#: eos/saveddata/targetProfile.py:52\nmsgid \"Amarr (Shield)\"\nmsgstr \"艾玛（护盾）\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/targetProfile.py:95\nmsgid \"Amarr EDENCOM Entities\"\nmsgstr \"艾玛EDENCOM实体\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/targetProfile.py:72\nmsgid \"Amarr Empire\"\nmsgstr \"艾玛帝国\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:115\nmsgid \"Ammo hold\"\nmsgstr \"弹药仓\"\n\n#: eos/saveddata/damagePattern.py:96 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:229\nmsgid \"Angel\"\nmsgstr \"天使\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:123\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:66\nmsgid \"Angel Cartel\"\nmsgstr \"天使联合企业\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:133\nmsgid \"Animate gauges\"\nmsgstr \"启用属性进度条动画\"\n\n#: eos/saveddata/damagePattern.py:71\nmsgid \"Antimatter\"\nmsgstr \"反物质\"\n\n#: gui/builtinContextMenus/implantSetApply.py:25\nmsgid \"Apply Implant Set\"\nmsgstr \"应用植入体配置\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Apply Mutaplasmid\"\nmsgstr \"使用突变质体\"\n\n#: gui/builtinContextMenus/graphDmgApplyProjected.py:23\nmsgid \"Apply Projected Items\"\nmsgstr \"应用远程效果物品\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:144\nmsgid \"Apply Proxy Settings\"\nmsgstr \"应用代理配置\"\n\n#: gui/propertyEditor.py:146\nmsgid \"Are you sure you want to delete all overrides?\"\nmsgstr \"您确定要删除所有自定义属性吗？\"\n\n#: gui/mainFrame.py:645\nmsgid \"Are you sure you wish to ignore fitting restrictions for the current fit? This could lead to wildly inaccurate results and possible errors.\"\nmsgstr \"您确定要忽略当前装配资源限制吗？这可能导致不准确或错误的结果。\"\n\n#: eos/saveddata/targetProfile.py:47\nmsgid \"Armor\"\nmsgstr \"装甲\"\n\n#: eos/saveddata/targetProfile.py:50\nmsgid \"Armor (+T2 DCU)\"\nmsgstr \"护甲（+T2损控）\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:77\nmsgid \"Armor repair amount\"\nmsgstr \"装甲修量\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:113\nmsgid \"Armor resistance\"\nmsgstr \"装甲抗性\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:43\n#: gui/builtinStatsViews/outgoingViewFull.py:44\nmsgid \"Armor restored\"\nmsgstr \"护甲修复量\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Armor: \"\nmsgstr \"装甲：\"\n\n#: eos/saveddata/damagePattern.py:120 eos/saveddata/targetProfile.py:90\nmsgid \"Ashimmu (Blood Raiders)\"\nmsgstr \"阿什姆级（血袭者）\"\n\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\nmsgid \"Asteroid\"\nmsgstr \"小行星\"\n\n#: graphs/data/fitDamageStats/graph.py:74\nmsgid \"Attacker\"\nmsgstr \"攻击者\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:56\n#: gui/builtinItemStatsViews/itemAttributes.py:44\nmsgid \"Attribute\"\nmsgstr \"属性\"\n\n#: gui/mainMenuBar.py:128\nmsgid \"Attribute &Overrides\"\nmsgstr \"自定义属性(&O)\"\n\n#: gui/propertyEditor.py:28\nmsgid \"Attribute Editor\"\nmsgstr \"属性编辑器\"\n\n#: gui/itemStats.py:177\nmsgid \"Attributes\"\nmsgstr \"属性\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:43\nmsgid \"Auto\"\nmsgstr \"自动\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:94\nmsgid \"Auto will use the same language pyfa uses if available, otherwise English\"\nmsgstr \"当 pyfa 界面语言可用时，“自动”将尝试使用相同的语言；否则使用英语。\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Auto-detected proxy settings\"\nmsgstr \"自动检测代理设置\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:136\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:158\nmsgid \"Auto-detected: \"\nmsgstr \"自动检测结果：\"\n\n#: graphs/gui/ctrlPanel.py:64\nmsgid \"Axis X:\"\nmsgstr \"X轴：\"\n\n#: graphs/gui/ctrlPanel.py:56\nmsgid \"Axis Y:\"\nmsgstr \"Y轴：\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:50\nmsgid \"Back\"\nmsgstr \"返回\"\n\n#: gui/mainFrame.py:873\nmsgid \"Backing up {} fits to: {}\"\nmsgstr \"正在备份{}个装配到：{}\"\n\n#: gui/mainMenuBar.py:73\nmsgid \"Backup all fittings to a XML file\"\nmsgstr \"备份所有装配到XML文件\"\n\n#: gui/mainFrame.py:872 gui/mainFrame.py:903\nmsgid \"Backup fits\"\nmsgstr \"备份装配\"\n\n#: eos/saveddata/damagePattern.py:59\nmsgid \"Baryon\"\nmsgstr \"重子\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:47\nmsgid \"Base Value\"\nmsgstr \"基础值\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battlecruiser\"\nmsgstr \"战巡\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:166\nmsgid \"Battleship\"\nmsgstr \"战列\"\n\n#: gui/mainFrame.py:951\nmsgid \"Be aware that already processed fits were not saved\"\nmsgstr \"请注意已处理的装配未作保存\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Bioluminescence\"\nmsgstr \"生物荧光\"\n\n#: eos/saveddata/damagePattern.py:106 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/targetProfile.py:61 eos/saveddata/targetProfile.py:67\nmsgid \"Blood Raiders\"\nmsgstr \"血袭者\"\n\n#: graphs/style.py:54\nmsgid \"Blue\"\nmsgstr \"蓝色\"\n\n#: eos/saveddata/damagePattern.py:90 eos/saveddata/damagePattern.py:91\n#: eos/saveddata/damagePattern.py:92 eos/saveddata/damagePattern.py:93\nmsgid \"Bombs\"\nmsgstr \"炸弹\"\n\n#: gui/builtinAdditionPanes/boosterView.py:215\nmsgid \"Booster\"\nmsgstr \"增效剂\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\n#: gui/builtinContextMenus/additionsExportAll.py:23\n#: gui/builtinContextMenus/additionsExportSelection.py:23\n#: gui/builtinContextMenus/additionsImport.py:24 gui/additionsPane.py:78\nmsgid \"Boosters\"\nmsgstr \"增效剂\"\n\n#: graphs/style.py:82\nmsgid \"Bright\"\nmsgstr \"亮色\"\n\n#: gui/esiFittings.py:32\nmsgid \"Browse EVE Fittings\"\nmsgstr \"浏览游戏内装配\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Bump distance\"\nmsgstr \"撞击距离\"\n\n#: graphs/data/fitMobility/graph.py:38\nmsgid \"Bump speed\"\nmsgstr \"撞击速度\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/targetProfile.py:81 eos/saveddata/targetProfile.py:82\n#: eos/saveddata/targetProfile.py:83 eos/saveddata/targetProfile.py:84\n#: eos/saveddata/targetProfile.py:85 eos/saveddata/targetProfile.py:86\n#: eos/saveddata/targetProfile.py:87 eos/saveddata/targetProfile.py:88\n#: eos/saveddata/targetProfile.py:89 eos/saveddata/targetProfile.py:90\n#: eos/saveddata/targetProfile.py:91 eos/saveddata/targetProfile.py:92\nmsgid \"Burner\"\nmsgstr \"燃烧者\"\n\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/targetProfile.py:74\nmsgid \"CONCORD\"\nmsgstr \"统合部\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:153\nmsgid \"CPU\"\nmsgstr \"CPU\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:118\nmsgid \"CSV files\"\nmsgstr \"逗号分隔符(CSV)文件\"\n\n#: eos/saveddata/targetProfile.py:55\nmsgid \"Caldari (Armor)\"\nmsgstr \"加达里（护甲）\"\n\n#: eos/saveddata/targetProfile.py:54\nmsgid \"Caldari (Shield)\"\nmsgstr \"加达里（护盾）\"\n\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/targetProfile.py:96\nmsgid \"Caldari EDENCOM Entities\"\nmsgstr \"加达里EDENCOM实体\"\n\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/targetProfile.py:73\nmsgid \"Caldari State\"\nmsgstr \"加达里合众国\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:115\nmsgid \"Calibration\"\nmsgstr \"校准\"\n\n#: graphs/data/fitCapacitor/graph.py:35 graphs/data/fitCapacitor/graph.py:36\n#: graphs/data/fitCapacitor/graph.py:38 graphs/data/fitCapacitor/graph.py:43\nmsgid \"Cap amount\"\nmsgstr \"电容量\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Cap neutralized per second\"\nmsgstr \"毁电速度\"\n\n#: graphs/data/fitCapacitor/graph.py:39\nmsgid \"Cap regen\"\nmsgstr \"电容回充\"\n\n#: graphs/data/fitCapacitor/graph.py:32\n#: gui/builtinStatsViews/capacitorViewFull.py:37\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\nmsgid \"Capacitor\"\nmsgstr \"电容\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:139\nmsgid \"Capacitor delta:\"\nmsgstr \"电容变化量：\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:31\n#: gui/builtinStatsViews/outgoingViewFull.py:32\nmsgid \"Capacitor restored\"\nmsgstr \"电容恢复量\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:57\nmsgid \"Capacitor stability\"\nmsgstr \"电容稳定性\"\n\n#: eos/saveddata/damagePattern.py:76\nmsgid \"Carbonized Lead\"\nmsgstr \"碳铅弹\"\n\n#: gui/copySelectDialog.py:49 gui/copySelectDialog.py:57\n#: gui/builtinContextMenus/priceOptions.py:47\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:90\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:81\n#: gui/additionsPane.py:72\nmsgid \"Cargo\"\nmsgstr \"货舱\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:20\n#: gui/builtinContextMenus/additionsExportSelection.py:20\n#: gui/builtinContextMenus/additionsImport.py:21\nmsgid \"Cargo Items\"\nmsgstr \"货舱物品\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:158\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Cargo bay\"\nmsgstr \"货舱\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:229\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:254\nmsgid \"Cargohold: \"\nmsgstr \"货舱：\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:167\nmsgid \"Carrier\"\nmsgstr \"航母\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Caustic\"\nmsgstr \"腐蚀\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:47\nmsgid \"Cert Path:\"\nmsgstr \"证书路径：\"\n\n#: gui/builtinContextMenus/skillAffectors.py:73\n#, python-format\nmsgid \"Change %s Skills\"\nmsgstr \"修改%s技能等级\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:92\nmsgid \"Change Amount\"\nmsgstr \"更改数量\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\nmsgid \"Change Skills\"\nmsgstr \"修改技能等级\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:144\nmsgid \"Change charge in all modules of the same type\"\nmsgstr \"同时更换所有同类型模块的弹药\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:34\n#, python-brace-format\nmsgid \"Change {0} Quantity\"\nmsgstr \"更改{0}数量\"\n\n#: gui/builtinContextMenus/itemProjectionRange.py:34\nmsgid \"Change {} Range\"\nmsgstr \"变更{}半径\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:31\nmsgid \"Changes require restart of pyfa to take effect.\"\nmsgstr \"变更将在重启Pyfa之后生效。\"\n\n#: gui/esiFittings.py:375 gui/builtinStatsViews/priceViewFull.py:57\n#: gui/characterEditor.py:90\nmsgid \"Character\"\nmsgstr \"角色\"\n\n#: gui/characterEditor.py:137\nmsgid \"Character Editor\"\nmsgstr \"角色编辑器\"\n\n#: gui/esiFittings.py:376\nmsgid \"Character ID\"\nmsgstr \"角色ID\"\n\n#: gui/characterEditor.py:78\nmsgid \"Character name already in use, please choose another.\"\nmsgstr \"角色名已占用，请使用其他名称。\"\n\n#: gui/characterEditor.py:771\nmsgid \"Character:\"\nmsgstr \"角色：\"\n\n#: gui/characterSelection.py:47\nmsgid \"Character: \"\nmsgstr \"角色：\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:48\nmsgid \"Charge\"\nmsgstr \"弹药\"\n\n#: gui/builtinViews/fittingView.py:664\nmsgid \"Citadel\"\nmsgstr \"堡垒\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:37\nmsgid \"Citadel System Security\"\nmsgstr \"堡垒星系安等\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear All\"\nmsgstr \"清除所有\"\n\n#: gui/propertyEditor.py:40\nmsgid \"Clear all overrides\"\nmsgstr \"清除所有自定义属性\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:97\n#: gui/builtinStatsViews/resistancesViewFull.py:169\nmsgid \"Click to toggle between effective HP and raw HP\"\nmsgstr \"点击切换有效HP和原始HP\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:102\nmsgid \"Click to toggle to Firepower View\"\nmsgstr \"点击切换到火力视图\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:115\nmsgid \"Click to toggle to Mining Yield\"\nmsgstr \"点击切换到矿物产出视图\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:76\nmsgid \"Client ID:\"\nmsgstr \"客户ID(Client ID)：\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:85\nmsgid \"Client Secret:\"\nmsgstr \"客户密钥(Client Secret)：\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:114\nmsgid \"Color fitting view by slot\"\nmsgstr \"用背景色区分槽位\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"Combined ECM strength\"\nmsgstr \"ECM综合强度\"\n\n#: gui/additionsPane.py:84\nmsgid \"Command\"\nmsgstr \"指挥效果\"\n\n#: gui/builtinAdditionPanes/commandView.py:201\nmsgid \"Command Fit\"\nmsgstr \"指挥装配\"\n\n#: gui/builtinContextMenus/commandFitAdd.py:51\nmsgid \"Command Fits\"\nmsgstr \"指挥装配\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:127\nmsgid \"Command center hold\"\nmsgstr \"指挥中心仓\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:110\nmsgid \"Compact skills needed tooltip\"\nmsgstr \"简洁技能需求提示\"\n\n#: gui/itemStats.py:182\nmsgid \"Compare\"\nmsgstr \"对比\"\n\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:227\nmsgid \"Concord\"\nmsgstr \"统合部\"\n\n#: eos/saveddata/damagePattern.py:92\nmsgid \"Concussion Bomb\"\nmsgstr \"震荡炸弹\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:98\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:103\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:108\n#: gui/mainFrame.py:647 gui/mainFrame.py:653\nmsgid \"Confirm\"\nmsgstr \"确认\"\n\n#: gui/esiFittings.py:160 gui/propertyEditor.py:147\nmsgid \"Confirm Delete\"\nmsgstr \"删除确认\"\n\n#: gui/esiFittings.py:129 gui/esiFittings.py:172 gui/esiFittings.py:345\nmsgid \"Connection error, please check your internet connection\"\nmsgstr \"连接错误，请检查您的网络连接\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:14\nmsgid \"Context Menus\"\nmsgstr \"右键菜单\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:117\nmsgid \"ContextMenu|ProjectedEffectManipulation|Black Hole\"\nmsgstr \"黑洞\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:118\nmsgid \"ContextMenu|ProjectedEffectManipulation|Cataclysmic Variable\"\nmsgstr \"激变变星\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:144\nmsgid \"ContextMenu|ProjectedEffectManipulation|Effects\"\nmsgstr \"效果光束\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:106\nmsgid \"ContextMenu|ProjectedEffectManipulation|Electrical\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:107\nmsgid \"ContextMenu|ProjectedEffectManipulation|Exotic\"\nmsgstr \"异种深渊\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:115\nmsgid \"ContextMenu|ProjectedEffectManipulation|Firestorm\"\nmsgstr \"火瀑深渊\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:108\nmsgid \"ContextMenu|ProjectedEffectManipulation|Gamma\"\nmsgstr \"伽玛深渊\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:119\nmsgid \"ContextMenu|ProjectedEffectManipulation|Magnetar\"\nmsgstr \"磁星\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:113\nmsgid \"ContextMenu|ProjectedEffectManipulation|Matter\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:111\nmsgid \"ContextMenu|ProjectedEffectManipulation|Metaliminal\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:109\nmsgid \"ContextMenu|ProjectedEffectManipulation|Plasma\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:120\nmsgid \"ContextMenu|ProjectedEffectManipulation|Pulsar\"\nmsgstr \"脉冲星\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:114\nmsgid \"ContextMenu|ProjectedEffectManipulation|Ray\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:121\nmsgid \"ContextMenu|ProjectedEffectManipulation|Red Giant\"\nmsgstr \"红巨星\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:125\nmsgid \"ContextMenu|ProjectedEffectManipulation|Sansha Incursion\"\nmsgstr \"萨沙入侵\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:112\nmsgid \"ContextMenu|ProjectedEffectManipulation|Storm\"\nmsgstr \"\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:143\nmsgid \"ContextMenu|ProjectedEffectManipulation|System Effects\"\nmsgstr \"星系效果\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:127\nmsgid \"ContextMenu|ProjectedEffectManipulation|Triglavian Invasion\"\nmsgstr \"三神裔入侵\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:122\nmsgid \"ContextMenu|ProjectedEffectManipulation|Wolf Rayet\"\nmsgstr \"沃尔夫-拉叶星\"\n\n#: gui/builtinItemStatsViews/itemDescription.py:43\n#: gui/builtinItemStatsViews/itemTraits.py:25\n#: gui/builtinShipBrowser/fitItem.py:107\nmsgid \"Copy\"\nmsgstr \"复制\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:39\nmsgid \"Copy All {}\"\nmsgstr \"复制所有{}\"\n\n#: gui/characterSelection.py:105\nmsgid \"Copy Missing Skills\"\nmsgstr \"复制所需技能\"\n\n#: gui/builtinContextMenus/moduleMutatedExport.py:28\nmsgid \"Copy Module to Clipboard\"\nmsgstr \"复制模块到剪贴板\"\n\n#: gui/builtinContextMenus/additionsExportSelection.py:39\nmsgid \"Copy Selected {}\"\nmsgstr \"拷贝选中的{}\"\n\n#: gui/ssoLogin.py:20\nmsgid \"Copy and paste the block of text provided by pyfa.io\"\nmsgstr \"请复制和粘贴pyfa.io提供的字符串\"\n\n#: gui/setEditor.py:222 gui/patternEditor.py:290 gui/targetProfileEditor.py:366\nmsgid \"Could not import from clipboard\"\nmsgstr \"无法从剪贴板导入\"\n\n#: gui/targetProfileEditor.py:359\nmsgid \"Could not import from clipboard:\"\nmsgstr \"无法从剪贴板导入：\"\n\n#: gui/setEditor.py:218 gui/patternEditor.py:283\nmsgid \"Could not import from clipboard: unknown errors\"\nmsgstr \"无法从剪贴板导入：未知错误\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Cruiser\"\nmsgstr \"巡洋\"\n\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/targetProfile.py:81\nmsgid \"Cruor (Blood Raiders)\"\nmsgstr \"凝血级（血袭者）\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:175\nmsgid \"Current\"\nmsgstr \"当前\"\n\n#: gui/builtinItemStatsViews/itemProperties.py:57\n#: gui/builtinItemStatsViews/itemAttributes.py:45\nmsgid \"Current Value\"\nmsgstr \"当前值\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:63\nmsgid \"Custom Application\"\nmsgstr \"自定义应用\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"Custom application\"\nmsgstr \"自定义应用\"\n\n#: graphs/style.py:57\nmsgid \"Cyan\"\nmsgstr \"青色\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"DPS\"\nmsgstr \"秒伤\"\n\n#: gui/patternEditor.py:99\nmsgid \"Damage Pattern Editor\"\nmsgstr \"伤害模型编辑器\"\n\n#: gui/patternEditor.py:65\nmsgid \"Damage Profile\"\nmsgstr \"伤害模型\"\n\n#: gui/patternEditor.py:53\nmsgid \"Damage Profile name already in use, please choose another.\"\nmsgstr \"伤害模型名已占用，请使用其他名称。\"\n\n#: graphs/data/fitDamageStats/graph.py:56\nmsgid \"Damage Stats\"\nmsgstr \"伤害属性\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Damage inflicted\"\nmsgstr \"造成伤害量\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Damps: lock range reduction\"\nmsgstr \"感应抑制：锁定半径减少百分比\"\n\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/targetProfile.py:83\nmsgid \"Daredevil (Serpentis)\"\nmsgstr \"夜魔侠级（天蛇）\"\n\n#: graphs/style.py:81\nmsgid \"Dark\"\nmsgstr \"深色\"\n\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\nmsgid \"Dark Matter All Tiers\"\nmsgstr \"暗物质全部级别\"\n\n#: graphs/style.py:89\nmsgid \"Dash-dotted\"\nmsgstr \"点线式\"\n\n#: graphs/style.py:87\nmsgid \"Dashed\"\nmsgstr \"线段式\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:15\nmsgid \"Database\"\nmsgstr \"数据库\"\n\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\nmsgid \"Deadspace\"\nmsgstr \"死亡空间\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:56\nmsgid \"Debug Logging Enabled\"\nmsgstr \"调试日志已开启\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:58\nmsgid \"Default Market Prices:\"\nmsgstr \"默认价格源：\"\n\n#: gui/propertyEditor.py:271\n#, python-format\nmsgid \"Default Value: %0.3f\"\nmsgstr \"默认值：%0.3f\"\n\n#: gui/builtinContextMenus/shipModeChange.py:18\nmsgid \"Defense\"\nmsgstr \"防御\"\n\n#: graphs/data/fitMobility/graph.py:44\nmsgid \"Defined in millions of kilograms\"\nmsgstr \"定义为百万千克\"\n\n#: gui/builtinShipBrowser/fitItem.py:109\nmsgid \"Delete\"\nmsgstr \"删除\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:79\nmsgid \"Delete All Damage Pattern Profiles\"\nmsgstr \"删除所有伤害模型配置\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:87\nmsgid \"Delete All Prices\"\nmsgstr \"删除所有价格缓存数据\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:83\nmsgid \"Delete All Target Profiles\"\nmsgstr \"删除所有目标属性配置\"\n\n#: gui/esiFittings.py:66\nmsgid \"Delete all from Eve\"\nmsgstr \"从 EvE 中删除全部装配\"\n\n#: gui/esiFittings.py:65\nmsgid \"Delete from EVE\"\nmsgstr \"删除游戏内装配\"\n\n#: gui/itemStats.py:189\nmsgid \"Dependents\"\nmsgstr \"依赖\"\n\n#: eos/saveddata/damagePattern.py:79\nmsgid \"Depleted Uranium\"\nmsgstr \"硬钼弹\"\n\n#: gui/itemStats.py:174\nmsgid \"Description\"\nmsgstr \"简介\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:165\nmsgid \"Destroyer\"\nmsgstr \"驱逐\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Destructible Beacons\"\nmsgstr \"可破坏信标\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Dev Tools\"\nmsgstr \"开发者工具\"\n\n#: gui/mainMenuBar.py:101 gui/mainMenuBar.py:202\nmsgid \"Disable Fitting Re&strictions\"\nmsgstr \"关闭装配资源限制(&S)\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Disabled\"\nmsgstr \"关闭\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:28\nmsgid \"Disabling context menus can improve responsiveness.\\n\"\n\"You can hold {} key + right-click to show all menu items regardless of these settings.\"\nmsgstr \"关闭右键菜单可提升响应速度。\\n\"\n\"如果按住{}键+右键单击，可以无视这些设置显示完整的右键菜单。\"\n\n#: graphs/data/fitMobility/graph.py:36 graphs/data/fitRemoteReps/graph.py:50\n#: graphs/data/fitRemoteReps/graph.py:58 graphs/data/fitWarpTime/graph.py:47\n#: graphs/data/fitWarpTime/graph.py:48 graphs/data/fitWarpTime/graph.py:51\n#: graphs/data/fitWarpTime/graph.py:52 graphs/data/fitDamageStats/graph.py:58\n#: graphs/data/fitDamageStats/graph.py:65 graphs/data/fitEwarStats/graph.py:34\n#: graphs/data/fitEwarStats/graph.py:44\nmsgid \"Distance\"\nmsgstr \"距离\"\n\n#: graphs/data/fitDamageStats/graph.py:66\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"进攻者与目标间的距离，如总览显示（表面到表面）\"\n\n#: graphs/data/fitDamageStats/graph.py:67\nmsgid \"Distance between the attacker and the target, as seen in overview (surface-to-surface)\\n\"\n\"When set, places the target that far away from the attacker\\n\"\n\"When not set, attacker's weapons always hit the target\"\nmsgstr \"进攻者与目标间的距离，如总览显示（表面到表面）\\n\"\n\"设置后，目标处于攻击者指定距离处\\n\"\n\"未设置时，攻击者的武器总能击中目标\"\n\n#: graphs/data/fitRemoteReps/graph.py:59 graphs/data/fitRemoteReps/graph.py:60\nmsgid \"Distance between the repairing ship and the target, as seen in overview (surface-to-surface)\"\nmsgstr \"遥修船与目标间的距离，如总览显示（表面到表面）\"\n\n#: gui/esiFittings.py:159\nmsgid \"Do you really want to delete {} ({}) from EVE?\"\nmsgstr \"真的要从游戏内删除 {} ({})吗？\"\n\n#: gui/updateDialog.py:102\nmsgid \"Don't remind me again for this release\"\nmsgstr \"不再提示此更新\"\n\n#: gui/characterEditor.py:789\nmsgid \"Don't see your EVE character in the list?\"\nmsgstr \"列表中没有你的EvE角色？\"\n\n#: graphs/style.py:88\nmsgid \"Dotted\"\nmsgstr \"虚线式\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:71\n#: gui/updateDialog.py:113\nmsgid \"Download\"\nmsgstr \"下载\"\n\n#: graphs/gui/lists.py:313\nmsgid \"Drag a fit into this list to graph it\"\nmsgstr \"拖拽装配到这里来绘图\"\n\n#: graphs/gui/lists.py:370\nmsgid \"Drag a fit into this list to have your fits graphed against it\"\nmsgstr \"拖拽受害者装配到这里，并用你的装配针对性绘图\"\n\n#: gui/builtinAdditionPanes/commandView.py:163\nmsgid \"Drag a fit to this area\"\nmsgstr \"拖拽装配到此处\"\n\n#: gui/builtinAdditionPanes/projectedView.py:224\nmsgid \"Drag an item or fit, or use right-click menu for wormhole effects\"\nmsgstr \"拖拽一个物品或装配以启用投射效果，或使用右键菜单选择一个虫洞环境效果\"\n\n#: eos/saveddata/damagePattern.py:112 eos/saveddata/targetProfile.py:82\nmsgid \"Dramiel (Angel)\"\nmsgstr \"德拉米尔级（天使）\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:144\n#: eos/saveddata/damagePattern.py:147\nmsgid \"Dread\"\nmsgstr \"无畏\"\n\n#: eos/saveddata/damagePattern.py:143 eos/saveddata/damagePattern.py:146\nmsgid \"Dread/Subcaps\"\nmsgstr \"无畏/常规\"\n\n#: eos/saveddata/damagePattern.py:98 eos/saveddata/targetProfile.py:103\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:117\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:131\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:145\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:159\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:173\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:187\nmsgid \"Drifter\"\nmsgstr \"流浪者\"\n\n#: eos/saveddata/damagePattern.py:159 eos/saveddata/targetProfile.py:230\nmsgid \"Drifter Entities\"\nmsgstr \"流浪者实体\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Drone\"\nmsgstr \"无人机\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:26\nmsgid \"Drone Mode\"\nmsgstr \"无人机模式\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:157\nmsgid \"Drone bandwidth\"\nmsgstr \"无人机带宽\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:155\nmsgid \"Drone bay\"\nmsgstr \"无人机仓库\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:66\nmsgid \"Drone range\"\nmsgstr \"无人机半径\"\n\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/targetProfile.py:99\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:113\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:127\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:141\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:155\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:169\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:183\n#: gui/builtinContextMenus/priceOptions.py:40\n#: gui/builtinContextMenus/additionsExportAll.py:18\n#: gui/builtinContextMenus/additionsExportSelection.py:18\n#: gui/builtinContextMenus/additionsImport.py:19\n#: gui/builtinStatsViews/priceViewFull.py:58\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:77\n#: gui/additionsPane.py:66\nmsgid \"Drones\"\nmsgstr \"无人机\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:113\nmsgid \"Drones active\"\nmsgstr \"激活的无人机\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:62\nmsgid \"Dump All Logs\"\nmsgstr \"将所有日志写入文件\"\n\n#: gui/mainMenuBar.py:105\nmsgid \"E&xport to ESI\"\nmsgstr \"导出到游戏(&X)\"\n\n#: graphs/data/fitEwarStats/graph.py:38\nmsgid \"ECM: combined strength\"\nmsgstr \"ECM：综合强度\"\n\n#: gui/mainFrame.py:837\nmsgid \"EFT text fitting files\"\nmsgstr \"EFT装配文本文件\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:96\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"EHP\"\nmsgstr \"有效HP\"\n\n#: eos/saveddata/damagePattern.py:39\n#: gui/builtinContextMenus/moduleAmmoChange.py:24\nmsgid \"EM\"\nmsgstr \"电磁\"\n\n#: gui/targetProfileEditor.py:119\nmsgid \"EM resistance\"\nmsgstr \"电磁抗性\"\n\n#: eos/saveddata/damagePattern.py:81\nmsgid \"EMP\"\nmsgstr \"电磁脉冲弹\"\n\n#: gui/esiFittings.py:347 gui/esiFittings.py:351 gui/esiFittings.py:359\nmsgid \"ERROR\"\nmsgstr \"错误\"\n\n#: gui/mainFrame.py:1012\nmsgid \"EVE API XML character files\"\nmsgstr \"EvE API XML角色文件\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:76\nmsgid \"EVE Data:\"\nmsgstr \"EVE 数据：\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:49\nmsgid \"EVE IGB HTML fitting file\"\nmsgstr \"EvE IGB 装配HTML网页文件\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:16\n#: gui/characterEditor.py:162\nmsgid \"EVE SSO\"\nmsgstr \"EvE单点登录(SSO)\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:37\nmsgid \"EVE Servers (API && CREST import)\"\nmsgstr \"连接到EvE服务器（API 和 CREST 导入）\"\n\n#: gui/mainFrame.py:859\nmsgid \"EVE XML fitting file\"\nmsgstr \"EvE装配XML文件\"\n\n#: gui/mainFrame.py:466 gui/mainFrame.py:836\nmsgid \"EVE XML fitting files\"\nmsgstr \"EvE装配XML文件\"\n\n#: gui/mainFrame.py:808\nmsgid \"EVEMon skills training XML file\"\nmsgstr \"EvEMon技能训练XML文件\"\n\n#: gui/mainFrame.py:807\nmsgid \"EVEMon skills training file\"\nmsgstr \"EvEMon技能训练文件\"\n\n#: graphs/data/fitDamageStats/graph.py:83\nmsgid \"Effective DPS\"\nmsgstr \"有效DPS\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:61\n#: gui/builtinStatsViews/resistancesViewFull.py:219\nmsgid \"Effective HP: \"\nmsgstr \"有效HP：\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:151\nmsgid \"Effective capacity\"\nmsgstr \"等效容量\"\n\n#: graphs/data/fitDamageStats/graph.py:85\nmsgid \"Effective damage inflicted\"\nmsgstr \"有效伤害量\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Effective volley\"\nmsgstr \"有效齐射伤害\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:220\n#, python-format\nmsgid \"Effective: %d HP\"\nmsgstr \"有效：%dHP\"\n\n#: gui/itemStats.py:192\nmsgid \"Effects\"\nmsgstr \"效果\"\n\n#: eos/saveddata/targetProfile.py:106 eos/saveddata/targetProfile.py:107\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:109\n#: eos/saveddata/targetProfile.py:110 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:112 eos/saveddata/targetProfile.py:194\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:196\nmsgid \"Electrical T0/T1/T2\"\nmsgstr \"电子深渊 T0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\nmsgid \"Electrical T3 (Some T5 Rooms)\"\nmsgstr \"电子 T3 （含部分T5关卡）\"\n\n#: eos/saveddata/targetProfile.py:120 eos/saveddata/targetProfile.py:121\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:123\n#: eos/saveddata/targetProfile.py:124 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:126 eos/saveddata/targetProfile.py:200\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:202\nmsgid \"Electrical T4/T5/T6\"\nmsgstr \"电子深渊 T4/T5/T6\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:85\nmsgid \"Electromagnetic resistance\"\nmsgstr \"电磁抗性\"\n\n#: eos/saveddata/damagePattern.py:90\nmsgid \"Electron Bomb\"\nmsgstr \"电子炸弹\"\n\n#: graphs/data/fitEwarStats/graph.py:33\nmsgid \"Electronic Warfare Stats\"\nmsgstr \"电子战属性\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:59\nmsgid \"Empty\"\nmsgstr \"空\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:105\nmsgid \"Empty Market View\"\nmsgstr \"空白搜索结果时\"\n\n#: gui/multiSwitch.py:41\nmsgid \"Empty Tab\"\nmsgstr \"空白标签页\"\n\n#: gui/mainMenuBar.py:200\nmsgid \"Enable Fitting Re&strictions\"\nmsgstr \"开启装配限制(&S)\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:33\nmsgid \"Enable Network\"\nmsgstr \"启用网络功能\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable all available meta buttons\"\nmsgstr \"启用所有可用衍生分类按钮\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:93\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:114\nmsgid \"Enable all meta buttons\"\nmsgstr \"启用所有衍生分类按钮\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\nmsgid \"Enable all meta buttons for a duration of search / recents\"\nmsgstr \"一段时间内启用所有衍生分类按钮\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button\"\nmsgstr \"启用该物品所在衍生分类按钮\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"Enable item's meta button, disable others\"\nmsgstr \"启用该物品所在衍生分类按钮，禁用其他按钮\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\nmsgid \"Enable leftmost available meta button\"\nmsgstr \"启用最左侧可用衍生分类按钮\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:61\nmsgid \"Enable minimal format\"\nmsgstr \"使用极简风格\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:46\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:81\nmsgid \"Enabled\"\nmsgstr \"打开\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:50\nmsgid \"Enforce strict skill level requirements\"\nmsgstr \"使用严格的技能等级检查\"\n\n#: gui/characterEditor.py:281\nmsgid \"Enter a name for your new Character:\"\nmsgstr \"请为新角色输入一个名称：\"\n\n#: gui/builtinContextMenus/implantSetSave.py:51\nmsgid \"Enter a name for your new Implant Set:\"\nmsgstr \"请为新植入体配置输入一个名称：\"\n\n#: eos/saveddata/damagePattern.py:116 eos/saveddata/targetProfile.py:86\nmsgid \"Enyo\"\nmsgstr \"恩尤\"\n\n#: gui/characterSelection.py:174 gui/setEditor.py:55 gui/mainFrame.py:896\n#: gui/characterEditor.py:83 gui/characterEditor.py:463\n#: gui/characterEditor.py:898 gui/patternEditor.py:58\n#: gui/targetProfileEditor.py:78\nmsgid \"Error\"\nmsgstr \"错误\"\n\n#: gui/characterSelection.py:173 gui/characterEditor.py:897\nmsgid \"Error fetching skill information\"\nmsgstr \"无法获取技能信息\"\n\n#: gui/errorDialog.py:68\nmsgid \"Error!\"\nmsgstr \"错误！\"\n\n#: eos/saveddata/damagePattern.py:57 eos/saveddata/damagePattern.py:58\n#: eos/saveddata/damagePattern.py:59 eos/saveddata/damagePattern.py:60\n#: eos/saveddata/damagePattern.py:61\nmsgid \"Exotic Plasma\"\nmsgstr \"异种等离子\"\n\n#: eos/saveddata/targetProfile.py:148 eos/saveddata/targetProfile.py:149\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:151\n#: eos/saveddata/targetProfile.py:152 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:154 eos/saveddata/targetProfile.py:212\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:214\nmsgid \"Exotic T0/T1/T2\"\nmsgstr \"异种深渊 T0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\nmsgid \"Exotic T3 (Some T5 Rooms)\"\nmsgstr \"异种 T3 （含部分T5关卡）\"\n\n#: eos/saveddata/targetProfile.py:162 eos/saveddata/targetProfile.py:163\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:165\n#: eos/saveddata/targetProfile.py:166 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:168 eos/saveddata/targetProfile.py:218\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:220\nmsgid \"Exotic T4/T5/T6\"\nmsgstr \"异种深渊 T4/T5/T6\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:67\nmsgid \"Expand All\"\nmsgstr \"展开所有\"\n\n#: eos/saveddata/damagePattern.py:42\n#: gui/builtinContextMenus/moduleAmmoChange.py:26\nmsgid \"Explosive\"\nmsgstr \"爆炸\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:88\n#: gui/targetProfileEditor.py:122\nmsgid \"Explosive resistance\"\nmsgstr \"爆炸抗性\"\n\n#: gui/propertyEditor.py:39\nmsgid \"Export\"\nmsgstr \"导出\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export All Fittings to &HTML\"\nmsgstr \"导出所有装配到网页\"\n\n#: gui/mainFrame.py:946\nmsgid \"Export Error\"\nmsgstr \"导出错误\"\n\n#: gui/esiFittings.py:258\nmsgid \"Export Fit\"\nmsgstr \"导出装配\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:23\nmsgid \"Export Fittings in a minimal HTML Version, just containing the fittings links without any visual styling\"\nmsgstr \"导出装配为极简版网页，仅保留装配链接，不包含样式设计\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:57\nmsgid \"Export Item Stats\"\nmsgstr \"导出物品属性\"\n\n#: gui/esiFittings.py:263\nmsgid \"Export Loaded Charges\"\nmsgstr \"导出已装填弹药\"\n\n#: gui/mainFrame.py:805\nmsgid \"Export Skills Needed As...\"\nmsgstr \"导出所需技能列表到...\"\n\n#: gui/mainMenuBar.py:87\nmsgid \"Export a fit to the clipboard\"\nmsgstr \"导出装配到剪贴板\"\n\n#: gui/copySelectDialog.py:48 gui/copySelectDialog.py:56\nmsgid \"Export boosters\"\nmsgstr \"导出增效剂\"\n\n#: gui/copySelectDialog.py:49\nmsgid \"Export cargo contents\"\nmsgstr \"导出货舱物品\"\n\n#: gui/copySelectDialog.py:57\nmsgid \"Export cargo hold contents\"\nmsgstr \"导出货舱物品信息\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Export charges loaded into modules\"\nmsgstr \"导出已装填到模块中的弹药信息\"\n\n#: gui/esiFittings.py:245\nmsgid \"Export fit to EVE\"\nmsgstr \"导出装配到游戏\"\n\n#: gui/mainMenuBar.py:74\nmsgid \"Export fits to HTML file (set in Preferences)\"\nmsgstr \"导出装配到HTML网页文件（通过偏好设置指定）\"\n\n#: gui/mainMenuBar.py:92\nmsgid \"Export fitting to another format\"\nmsgstr \"导出装配为其他格式\"\n\n#: gui/setEditor.py:149\nmsgid \"Export implant sets to clipboard\"\nmsgstr \"导出植入体配置到剪贴板\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\nmsgid \"Export implants\"\nmsgstr \"导出植入体\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Export mutated modules' stats\"\nmsgstr \"导出变异模块的属性\"\n\n#: gui/patternEditor.py:172\nmsgid \"Export patterns to clipboard\"\nmsgstr \"导出伤害模型到剪贴板\"\n\n#: gui/targetProfileEditor.py:222\nmsgid \"Export profiles to clipboard\"\nmsgstr \"导出目标属性到剪贴板\"\n\n#: gui/characterEditor.py:373\nmsgid \"Export skills from clipboard\"\nmsgstr \"导出技能列表到剪贴板\"\n\n#: gui/mainMenuBar.py:119\nmsgid \"Export skills needed for this fitting\"\nmsgstr \"导出使用本装配所需技能\"\n\n#: gui/mainFrame.py:827\nmsgid \"Exporting skills needed...\"\nmsgstr \"正在导出所需技能...\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:152\nmsgid \"Extra info in Additions panel tab names\"\nmsgstr \"附加装备标签名显示额外信息\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:90\nmsgid \"Extra stats\"\nmsgstr \"额外状态\"\n\n#: gui/builtinContextMenus/factorReload.py:26\nmsgid \"Factor in Reload Time\"\nmsgstr \"考虑换弹时间\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:44\nmsgid \"Factor in reload time when calculating capacitor usage, damage, and tank.\"\nmsgstr \"计算电容用量、伤害、防御时考虑换弹时间。\"\n\n#: gui/esiFittings.py:328\nmsgid \"Failed to generate export data\"\nmsgstr \"无法生成导出数据\"\n\n#: gui/aboutData.py:34\nmsgid \"Fat Cow Icons by fatcow.com - Creative Commons Attribution 3.0 License\"\nmsgstr \"胖奶牛系列图标来自 fatcow.com - 基于知识共享署名3.0许可使用\"\n\n#: gui/esiFittings.py:44\nmsgid \"Fetch Fits\"\nmsgstr \"获取装配\"\n\n#: gui/esiFittings.py:114\nmsgid \"Fetching fits, please wait...\"\nmsgstr \"正在获取装配，请稍候...\"\n\n#: gui/mainMenuBar.py:81\nmsgid \"Fi&t\"\nmsgstr \"装配(&T)\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:156\nmsgid \"Fighter bay\"\nmsgstr \"铁骑舰载机仓库\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:114\nmsgid \"Fighter squadrons active\"\nmsgstr \"激活的铁骑舰载机中队\"\n\n#: gui/builtinContextMenus/additionsExportAll.py:19\n#: gui/builtinContextMenus/additionsExportSelection.py:19\n#: gui/builtinContextMenus/additionsImport.py:20 gui/additionsPane.py:69\nmsgid \"Fighters\"\nmsgstr \"铁骑舰载机\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:209\nmsgid \"Filament\"\nmsgstr \"纤维\"\n\n#: gui/builtinContextMenus/itemFill.py:32\nmsgid \"Fill With Module\"\nmsgstr \"用该模块填满空白槽位\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\n#, python-brace-format\nmsgid \"Fill With {0}\"\nmsgstr \"用{0}填满\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:66\nmsgid \"Fill with module\"\nmsgstr \"用该模块填满空白槽位\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:43\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\nmsgid \"Firepower\"\nmsgstr \"火力\"\n\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\nmsgid \"Firestorm T0/T1/T2\"\nmsgstr \"火瀑深渊 T0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:134 eos/saveddata/targetProfile.py:135\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:137\n#: eos/saveddata/targetProfile.py:138 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:140 eos/saveddata/targetProfile.py:206\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:208\nmsgid \"Firestorm T3 (Some T5 Rooms)\"\nmsgstr \"火瀑 T3 （含部分T5关卡）\"\n\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\nmsgid \"Firestorm T4/T5/T6\"\nmsgstr \"火瀑深渊 T4/T5/T6\"\n\n#: graphs/gui/lists.py:306\nmsgid \"Fit\"\nmsgstr \"装配\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:47\nmsgid \"Fitting Database:\"\nmsgstr \"装配数据库：\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:27\nmsgid \"Fitting Engine\"\nmsgstr \"装配引擎\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57 gui/mainFrame.py:184\nmsgid \"Fittings\"\nmsgstr \"装配\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:113\nmsgid \"Fleet hangar\"\nmsgstr \"舰队机库\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Formatting Tags\"\nmsgstr \"格式化标签\"\n\n#: eos/saveddata/damagePattern.py:43 eos/saveddata/damagePattern.py:44\n#: eos/saveddata/damagePattern.py:45 eos/saveddata/damagePattern.py:46\n#: eos/saveddata/damagePattern.py:47 eos/saveddata/damagePattern.py:48\n#: eos/saveddata/damagePattern.py:49 eos/saveddata/damagePattern.py:50\n#: eos/saveddata/damagePattern.py:51 eos/saveddata/damagePattern.py:52\n#: eos/saveddata/damagePattern.py:53 eos/saveddata/damagePattern.py:54\nmsgid \"Frequency Crystals\"\nmsgstr \"频率晶体\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Frigate\"\nmsgstr \"护卫\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:116\nmsgid \"Fuel bay\"\nmsgstr \"燃料仓\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Full\"\nmsgstr \"完整\"\n\n#: eos/saveddata/damagePattern.py:83\nmsgid \"Fusion\"\nmsgstr \"聚变弹\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"GDs: missile flight range reduction\"\nmsgstr \"导航抑制：导弹飞行距离减少百分比\"\n\n#: eos/saveddata/targetProfile.py:57\nmsgid \"Gallente (Armor)\"\nmsgstr \"盖伦特（护甲）\"\n\n#: eos/saveddata/targetProfile.py:56\nmsgid \"Gallente (Shield)\"\nmsgstr \"盖伦特（护盾）\"\n\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/targetProfile.py:97\nmsgid \"Gallente EDENCOM Entities\"\nmsgstr \"盖伦特EDENCOM实体\"\n\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/targetProfile.py:75\nmsgid \"Gallente Federation\"\nmsgstr \"盖伦特联邦\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:57\nmsgid \"Game Database:\"\nmsgstr \"游戏数据库：\"\n\n#: eos/saveddata/damagePattern.py:51\nmsgid \"Gamma\"\nmsgstr \"伽玛\"\n\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\nmsgid \"Gamma T0/T1/T2\"\nmsgstr \"伽玛深渊 T0/T1/T2\"\n\n#: eos/saveddata/targetProfile.py:176 eos/saveddata/targetProfile.py:177\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:179\n#: eos/saveddata/targetProfile.py:180 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:182 eos/saveddata/targetProfile.py:224\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:226\nmsgid \"Gamma T3 (Some T5 Rooms)\"\nmsgstr \"伽玛 T3 （含部分T5关卡）\"\n\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\nmsgid \"Gamma T4/T5/T6\"\nmsgstr \"伽玛深渊 T4/T5/T6\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:125\nmsgid \"Gas hold\"\nmsgstr \"气体矿物仓库\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:20\nmsgid \"General\"\nmsgstr \"通用\"\n\n#: gui/mainFrame.py:904\nmsgid \"Generating HTML file at: {}\"\nmsgstr \"正在生成HTML网页到：{}\"\n\n#: eos/saveddata/damagePattern.py:39 eos/saveddata/damagePattern.py:40\n#: eos/saveddata/damagePattern.py:41 eos/saveddata/damagePattern.py:42\nmsgid \"Generic\"\nmsgstr \"通用\"\n\n#: gui/characterEditor.py:778\nmsgid \"Get Skills\"\nmsgstr \"获取技能列表\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:68\nmsgid \"Global Default Spoolup Percentage:\"\nmsgstr \"全局默认预热百分比：\"\n\n#: gui/mainMenuBar.py:161\nmsgid \"Go to EVE Online Forum thread\"\nmsgstr \"转到EvE Online论坛讨论贴\"\n\n#: gui/mainMenuBar.py:160\nmsgid \"Go to wiki on GitHub\"\nmsgstr \"转到GitHub上的百科页\"\n\n#: gui/characterSelection.py:102\nmsgid \"Grant Missing Skills\"\nmsgstr \"习得所需技能\"\n\n#: graphs/gui/frame.py:51\nmsgid \"Graphs\"\nmsgstr \"图表\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Gravimetric\"\nmsgstr \"引力\"\n\n#: graphs/style.py:53\nmsgid \"Green\"\nmsgstr \"绿色\"\n\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:125\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:68\nmsgid \"Guristas\"\nmsgstr \"古斯塔斯\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:172\n#: gui/builtinStatsViews/resistancesViewFull.py:187\nmsgid \"HP\"\nmsgstr \"生命值\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:19\nmsgid \"HTML Export\"\nmsgstr \"HTML导出\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:20\nmsgid \"HTML Export (File > Export HTML) allows you to export your entire fitting database into an HTML file at the specified location. This file can be used to easily open your fits in a web-based fitting program\"\nmsgstr \"HTML导出（文件>导出到所有装配到网页）可以导出你的所有装配为HTML网页，放在指定路径下。网页版装配应用可以很容易的打开该HTML网页\"\n\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/targetProfile.py:87\nmsgid \"Hawk\"\nmsgstr \"战鹰级\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Heavy\"\nmsgstr \"重型\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:136\nmsgid \"Hide Recent Fits\"\nmsgstr \"隐藏最近使用的装配\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:53\n#: gui/builtinShipBrowser/navigationPanel.py:147\nmsgid \"Hide empty ship groups\"\nmsgstr \"隐藏空的舰船类型\"\n\n#: gui/builtinViewColumns/baseName.py:59\nmsgid \"High\"\nmsgstr \"高\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:19\nmsgid \"High Security\"\nmsgstr \"高安\"\n\n#: eos/saveddata/targetProfile.py:48\nmsgid \"Hull\"\nmsgstr \"结构\"\n\n#: eos/saveddata/targetProfile.py:51\nmsgid \"Hull (+T2 DCU)\"\nmsgstr \"结构（+T2 损控）\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:78\nmsgid \"Hull repair amount\"\nmsgstr \"结构修量\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:114\nmsgid \"Hull resistance\"\nmsgstr \"结构抗性\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:49\n#: gui/builtinStatsViews/outgoingViewFull.py:50\nmsgid \"Hull restored\"\nmsgstr \"船体修复量\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Hull: \"\nmsgstr \"结构：\"\n\n#: eos/saveddata/damagePattern.py:62 eos/saveddata/damagePattern.py:63\n#: eos/saveddata/damagePattern.py:64 eos/saveddata/damagePattern.py:65\n#: eos/saveddata/damagePattern.py:66 eos/saveddata/damagePattern.py:67\n#: eos/saveddata/damagePattern.py:68 eos/saveddata/damagePattern.py:69\n#: eos/saveddata/damagePattern.py:70 eos/saveddata/damagePattern.py:71\n#: eos/saveddata/damagePattern.py:72 eos/saveddata/damagePattern.py:73\nmsgid \"Hybrid Charges\"\nmsgstr \"混合弹药\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:35\nmsgid \"ID\"\nmsgstr \"ID\"\n\n#: eos/saveddata/targetProfile.py:293\nmsgid \"Ideal Target\"\nmsgstr \"理想目标\"\n\n#: gui/builtinContextMenus/graphDroneControlRange.py:23\nmsgid \"Ignore Drone Control Range\"\nmsgstr \"忽略无人机控制半径\"\n\n#: gui/builtinContextMenus/graphLockRange.py:23\nmsgid \"Ignore Lock Range\"\nmsgstr \"忽略锁定半径\"\n\n#: gui/builtinContextMenus/graphDmgIgnoreResists.py:23\nmsgid \"Ignore Target Resists\"\nmsgstr \"忽略目标抗性\"\n\n#: gui/setEditor.py:62\nmsgid \"Implant Set\"\nmsgstr \"植入体配置\"\n\n#: gui/setEditor.py:122\nmsgid \"Implant Set Editor\"\nmsgstr \"植入体配置编辑器\"\n\n#: gui/setEditor.py:50\nmsgid \"Implant Set name already in use, please choose another.\"\nmsgstr \"植入体配置名已使用，请选择其他名称。\"\n\n#: gui/copySelectDialog.py:47 gui/copySelectDialog.py:55\n#: gui/builtinContextMenus/additionsExportAll.py:21\n#: gui/builtinContextMenus/additionsExportAll.py:22\n#: gui/builtinContextMenus/additionsExportSelection.py:21\n#: gui/builtinContextMenus/additionsExportSelection.py:22\n#: gui/builtinContextMenus/additionsImport.py:22\n#: gui/builtinContextMenus/additionsImport.py:23 gui/characterEditor.py:161\n#: gui/additionsPane.py:75\nmsgid \"Implants\"\nmsgstr \"植入体\"\n\n#: gui/builtinContextMenus/priceOptions.py:54\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:85\nmsgid \"Implants && Boosters\"\nmsgstr \"植入体和增效剂\"\n\n#: gui/propertyEditor.py:38\nmsgid \"Import\"\nmsgstr \"导入\"\n\n#: gui/mainFrame.py:946\nmsgid \"Import Error\"\nmsgstr \"导入错误\"\n\n#: gui/characterEditor.py:442\nmsgid \"Import Skills\"\nmsgstr \"导入技能\"\n\n#: gui/mainMenuBar.py:88\nmsgid \"Import a fit from the clipboard\"\nmsgstr \"从剪贴板导入装配\"\n\n#: gui/mainMenuBar.py:118\nmsgid \"Import characters into pyfa from file\"\nmsgstr \"从文件导入角色信息\"\n\n#: gui/mainMenuBar.py:91\nmsgid \"Import fittings into pyfa\"\nmsgstr \"从文件导入装配\"\n\n#: gui/setEditor.py:148\nmsgid \"Import implant sets from clipboard\"\nmsgstr \"从剪贴板导入植入体配置\"\n\n#: gui/propertyEditor.py:38 gui/propertyEditor.py:39\nmsgid \"Import overrides\"\nmsgstr \"导入自定义属性\"\n\n#: gui/patternEditor.py:171\nmsgid \"Import patterns from clipboard\"\nmsgstr \"从剪贴板导入伤害模型\"\n\n#: gui/targetProfileEditor.py:221\nmsgid \"Import profiles from clipboard\"\nmsgstr \"从剪贴板导入目标属性\"\n\n#: gui/propertyEditor.py:107\nmsgid \"Import pyfa override file\"\nmsgstr \"导入Pyfa属性自定义文件\"\n\n#: gui/characterEditor.py:372\nmsgid \"Import skills from clipboard\"\nmsgstr \"从剪贴板导入技能列表\"\n\n#: gui/esiFittings.py:64\nmsgid \"Import to pyfa\"\nmsgstr \"导入到Pyfa\"\n\n#: gui/mainFrame.py:1019\nmsgid \"Importing Character...\"\nmsgstr \"正在导入角色...\"\n\n#: gui/mainFrame.py:844\nmsgid \"Importing fits\"\nmsgstr \"正在导入装配\"\n\n#: gui/characterEditor.py:440\nmsgid \"Importing skills into this character will set the skill levels as pending. To save the skills permanently, please click the Save button at the bottom of the window after importing\"\nmsgstr \"导入技能到该角色将设置技能等级为等待状态。若需要永久保存技能，请在导入后点击窗口底部的保存按钮\"\n\n#: gui/copySelectDialog.py:59\nmsgid \"Include formatting tags to paste fit directly into corp bulletins, MOTD, etc.\"\nmsgstr \"包含适用于直接粘贴装配到聊天频道的格式化标签\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:115\nmsgid \"Incoming damage pattern\"\nmsgstr \"伤害分布\"\n\n#: gui/targetProfileEditor.py:50\nmsgid \"Incorrect formatting (decimals only)\"\nmsgstr \"格式无效（仅允许小数）\"\n\n#: gui/targetProfileEditor.py:52\nmsgid \"Incorrect range (must be 0-100)\"\nmsgstr \"范围无效（必须是 0-100）\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:121\nmsgid \"Industrial ship hold\"\nmsgstr \"工业舰船仓\"\n\n#: graphs/data/fitMobility/graph.py:46\nmsgid \"Inertia Modifier attribute value of the target ship\"\nmsgstr \"目标舰船的惯性修饰属性\"\n\n#: eos/saveddata/damagePattern.py:87\nmsgid \"Inferno\"\nmsgstr \"炼狱\"\n\n#: eos/saveddata/damagePattern.py:47\nmsgid \"Infrared\"\nmsgstr \"红外\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Interceptor\"\nmsgstr \"截击\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:65\nmsgid \"Interested in helping with translations?\"\nmsgstr \"有兴趣参与翻译 pyfa？\"\n\n#: gui/mainFrame.py:892\nmsgid \"Invalid Path\"\nmsgstr \"无效路径\"\n\n#: gui/esiFittings.py:232\nmsgid \"Invalid Token\"\nmsgstr \"无效登录信息\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:94 eos/saveddata/targetProfile.py:95\n#: eos/saveddata/targetProfile.py:96 eos/saveddata/targetProfile.py:97\n#: eos/saveddata/targetProfile.py:98 eos/saveddata/targetProfile.py:230\n#: eos/saveddata/targetProfile.py:231 eos/saveddata/targetProfile.py:232\nmsgid \"Invasion\"\nmsgstr \"入侵\"\n\n#: eos/saveddata/damagePattern.py:66\nmsgid \"Iridium\"\nmsgstr \"铱质\"\n\n#: eos/saveddata/damagePattern.py:64\nmsgid \"Iron\"\nmsgstr \"铁质\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:147\n#: gui/builtinContextMenus/itemRemove.py:43\n#: gui/builtinContextMenus/itemStats.py:38\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Item\"\nmsgstr \"物品\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:112\nmsgid \"Item Market Group Jump\"\nmsgstr \"切换物品分类时\"\n\n#: gui/itemStats.py:58\nmsgid \"Item stats\"\nmsgstr \"物品属性\"\n\n#: eos/saveddata/damagePattern.py:118 eos/saveddata/targetProfile.py:88\nmsgid \"Jaguar\"\nmsgstr \"美洲豹\"\n\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/targetProfile.py:76\nmsgid \"Khanid\"\nmsgstr \"卡尼迪\"\n\n#: eos/saveddata/damagePattern.py:41\n#: gui/builtinContextMenus/moduleAmmoChange.py:27\nmsgid \"Kinetic\"\nmsgstr \"动能\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:87\n#: gui/targetProfileEditor.py:121\nmsgid \"Kinetic resistance\"\nmsgstr \"动能抗性\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Ladar\"\nmsgstr \"光雷达\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:38\nmsgid \"Language (requires restart)\"\nmsgstr \"语言 (重启生效)\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:120\nmsgid \"Large ship hold\"\nmsgstr \"大型舰船仓\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:77\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Lasts \"\nmsgstr \"可维持\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:112\nmsgid \"Launcher hardpoints\"\nmsgstr \"发射器\"\n\n#: eos/saveddata/damagePattern.py:67\nmsgid \"Lead\"\nmsgstr \"铅质\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:94\n#: gui/builtinContextMenus/moduleAmmoChange.py:112\nmsgid \"Less Damage\"\nmsgstr \"更少伤害\"\n\n#: gui/characterEditor.py:343\nmsgid \"Level\"\nmsgstr \"技能等级\"\n\n#: gui/builtinContextMenus/skillAffectors.py:79\n#, python-format\nmsgid \"Level %s\"\nmsgstr \"等级%s\"\n\n#: gui/builtinItemStatsViews/itemDependants.py:46 gui/characterEditor.py:591\n#: gui/characterEditor.py:616 gui/characterEditor.py:649\nmsgid \"Level {}\"\nmsgstr \"等级{}\"\n\n#: gui/characterEditor.py:532\nmsgid \"Level {}d\"\nmsgstr \"等级{}d\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Light\"\nmsgstr \"轻型\"\n\n#: service/market.py:266\nmsgid \"Limited Issue Ships\"\nmsgstr \"限量版舰船\"\n\n#: gui/copySelectDialog.py:46 gui/copySelectDialog.py:53\nmsgid \"Loaded Charges\"\nmsgstr \"已装填弹药\"\n\n#: gui/mainFrame.py:271\nmsgid \"Loading previous fits...\"\nmsgstr \"正在打开之前的装配...\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Local Server\"\nmsgstr \"本地服务器\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:205\nmsgid \"Localized\"\nmsgstr \"局部\"\n\n#: graphs/data/fitLockTime/graph.py:34\nmsgid \"Lock Time\"\nmsgstr \"锁定时间\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:201\nmsgid \"Lock Times\"\nmsgstr \"锁定时间\"\n\n#: graphs/data/fitEwarStats/graph.py:39\nmsgid \"Lock range reduction\"\nmsgstr \"锁定半径减少百分比\"\n\n#: graphs/data/fitLockTime/graph.py:36\nmsgid \"Lock time\"\nmsgstr \"锁定时间\"\n\n#: gui/characterEditor.py:794\nmsgid \"Log In with EVE SSO\"\nmsgstr \"通过EVE登录\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:38\nmsgid \"Log file location:\"\nmsgstr \"日志文件路径：\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:19\nmsgid \"Logging\"\nmsgstr \"日志\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:38\nmsgid \"Login Authentication Method\"\nmsgstr \"登录鉴权模式\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:82\nmsgid \"Long Range\"\nmsgstr \"更长距离\"\n\n#: gui/builtinViewColumns/baseName.py:61\nmsgid \"Low\"\nmsgstr \"低\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:20\nmsgid \"Low Security\"\nmsgstr \"低安\"\n\n#: graphs/style.py:56\nmsgid \"Magenta\"\nmsgstr \"粉色\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Magnetometric\"\nmsgstr \"磁力计\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:114\nmsgid \"Maintenance bay\"\nmsgstr \"维护舱\"\n\n#: gui/mainFrame.py:671\nmsgid \"Manage Characters\"\nmsgstr \"管理角色\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:39\nmsgid \"Manual\"\nmsgstr \"手动\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"Manual proxy settings\"\nmsgstr \"手动配置代理\"\n\n#: gui/mainFrame.py:180\nmsgid \"Market\"\nmsgstr \"市场\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:23\nmsgid \"Market & Prices\"\nmsgstr \"市场和价格\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:30\nmsgid \"Market && Prices\"\nmsgstr \"市场和价格\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:99\nmsgid \"Market Group Selection\"\nmsgstr \"选择物品类别时\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:91\nmsgid \"Market Search && Recent Items\"\nmsgstr \"搜索和显示最近使用列表时\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:39\nmsgid \"Market Search Delay (ms):\"\nmsgstr \"市场搜索延迟（毫秒）：\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:225\nmsgid \"Mass:\\t{:,.0f}kg\"\nmsgstr \"质量：{:,.0f}kg\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:124\nmsgid \"Material bay\"\nmsgstr \"物料仓\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:208\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:241\n#, python-format\nmsgid \"Max Warp Distance: %.1f AU\"\nmsgstr \"最大跃迁距离：%.1f AU\"\n\n#: gui/targetProfileEditor.py:124\nmsgid \"Maximum speed\"\nmsgstr \"亚光速航速\"\n\n#: gui/builtinViewColumns/baseName.py:60\nmsgid \"Med\"\nmsgstr \"中\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:119\nmsgid \"Medium ship hold\"\nmsgstr \"中型舰船仓\"\n\n#: eos/saveddata/damagePattern.py:58\nmsgid \"Meson\"\nmsgstr \"介子\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:105\nmsgid \"Metaliminal Storm\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:46\nmsgid \"Microwave\"\nmsgstr \"微波\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:123\nmsgid \"Mineral hold\"\nmsgstr \"矿物仓\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Minimal\"\nmsgstr \"简洁\"\n\n#: gui/builtinStatsViews/miningyieldViewFull.py:39\nmsgid \"Mining Yield\"\nmsgstr \"矿物产出\"\n\n#: eos/saveddata/targetProfile.py:59\nmsgid \"Minmatar (Armor)\"\nmsgstr \"米玛塔尔(护甲）\"\n\n#: eos/saveddata/targetProfile.py:58\nmsgid \"Minmatar (Shield)\"\nmsgstr \"米玛塔尔(护盾）\"\n\n#: eos/saveddata/damagePattern.py:147 eos/saveddata/damagePattern.py:148\n#: eos/saveddata/targetProfile.py:98\nmsgid \"Minmatar EDENCOM Entities\"\nmsgstr \"米玛塔尔EDENCOM实体\"\n\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/targetProfile.py:77\nmsgid \"Minmatar Republic\"\nmsgstr \"米玛塔尔共和国\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\nmsgid \"Misc\"\nmsgstr \"杂项\"\n\n#: gui/builtinViewColumns/misc.py:50\nmsgid \"Misc data\"\nmsgstr \"杂项\"\n\n#: graphs/data/fitEwarStats/graph.py:41\nmsgid \"Missile flight range reduction\"\nmsgstr \"导弹射程减少百分比\"\n\n#: eos/saveddata/damagePattern.py:86 eos/saveddata/damagePattern.py:87\n#: eos/saveddata/damagePattern.py:88 eos/saveddata/damagePattern.py:89\nmsgid \"Missiles\"\nmsgstr \"导弹\"\n\n#: eos/saveddata/damagePattern.py:149 eos/saveddata/damagePattern.py:150\n#: eos/saveddata/damagePattern.py:151 eos/saveddata/damagePattern.py:152\n#: eos/saveddata/damagePattern.py:153 eos/saveddata/damagePattern.py:154\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/damagePattern.py:156\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78\nmsgid \"Mission\"\nmsgstr \"任务\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:28\nmsgid \"Mixed\"\nmsgstr \"混合\"\n\n#: eos/saveddata/damagePattern.py:86\nmsgid \"Mjolnir\"\nmsgstr \"雷神\"\n\n#: graphs/data/fitMobility/graph.py:32\nmsgid \"Mobility\"\nmsgstr \"机动性\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:83\nmsgid \"Mode:\"\nmsgstr \"模式\"\n\n#: gui/builtinContextMenus/moduleFill.py:24\nmsgid \"Module\"\nmsgstr \"模块\"\n\n#: graphs/data/fitMobility/graph.py:37\nmsgid \"Momentum\"\nmsgstr \"动量\"\n\n#: eos/saveddata/damagePattern.py:155 eos/saveddata/targetProfile.py:78\nmsgid \"Mordus Legion\"\nmsgstr \"莫德团\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:97\n#: gui/builtinContextMenus/moduleAmmoChange.py:115\nmsgid \"More Damage\"\nmsgstr \"更多伤害\"\n\n#: eos/saveddata/damagePattern.py:52\nmsgid \"Multifrequency\"\nmsgstr \"多频\"\n\n#: eos/saveddata/fit.py:408\nmsgid \"Multispectral\"\nmsgstr \"多谱式\"\n\n#: gui/copySelectDialog.py:54\nmsgid \"Mutated Attributes\"\nmsgstr \"已变异属性\"\n\n#: gui/itemStats.py:170\nmsgid \"Mutations\"\nmsgstr \"变质\"\n\n#: eos/saveddata/damagePattern.py:95 eos/saveddata/damagePattern.py:96\n#: eos/saveddata/damagePattern.py:97 eos/saveddata/damagePattern.py:98\n#: eos/saveddata/damagePattern.py:99 eos/saveddata/damagePattern.py:100\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/damagePattern.py:102\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/damagePattern.py:104\n#: eos/saveddata/damagePattern.py:105 eos/saveddata/damagePattern.py:106\n#: eos/saveddata/damagePattern.py:107 eos/saveddata/damagePattern.py:108\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:110\n#: eos/saveddata/damagePattern.py:111 eos/saveddata/damagePattern.py:112\n#: eos/saveddata/damagePattern.py:113 eos/saveddata/damagePattern.py:114\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/damagePattern.py:116\n#: eos/saveddata/damagePattern.py:117 eos/saveddata/damagePattern.py:118\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/damagePattern.py:120\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/damagePattern.py:122\n#: eos/saveddata/damagePattern.py:123 eos/saveddata/damagePattern.py:124\n#: eos/saveddata/damagePattern.py:125 eos/saveddata/damagePattern.py:126\n#: eos/saveddata/damagePattern.py:127 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/damagePattern.py:143\n#: eos/saveddata/damagePattern.py:144 eos/saveddata/damagePattern.py:145\n#: eos/saveddata/damagePattern.py:146 eos/saveddata/damagePattern.py:147\n#: eos/saveddata/damagePattern.py:148 eos/saveddata/damagePattern.py:149\n#: eos/saveddata/damagePattern.py:150 eos/saveddata/damagePattern.py:151\n#: eos/saveddata/damagePattern.py:152 eos/saveddata/damagePattern.py:153\n#: eos/saveddata/damagePattern.py:154 eos/saveddata/damagePattern.py:155\n#: eos/saveddata/damagePattern.py:156 eos/saveddata/damagePattern.py:157\n#: eos/saveddata/damagePattern.py:158 eos/saveddata/damagePattern.py:159\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/damagePattern.py:161\n#: eos/saveddata/targetProfile.py:60 eos/saveddata/targetProfile.py:61\n#: eos/saveddata/targetProfile.py:62 eos/saveddata/targetProfile.py:63\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:65\n#: eos/saveddata/targetProfile.py:66 eos/saveddata/targetProfile.py:67\n#: eos/saveddata/targetProfile.py:68 eos/saveddata/targetProfile.py:69\n#: eos/saveddata/targetProfile.py:70 eos/saveddata/targetProfile.py:71\n#: eos/saveddata/targetProfile.py:72 eos/saveddata/targetProfile.py:73\n#: eos/saveddata/targetProfile.py:74 eos/saveddata/targetProfile.py:75\n#: eos/saveddata/targetProfile.py:76 eos/saveddata/targetProfile.py:77\n#: eos/saveddata/targetProfile.py:78 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:80 eos/saveddata/targetProfile.py:81\n#: eos/saveddata/targetProfile.py:82 eos/saveddata/targetProfile.py:83\n#: eos/saveddata/targetProfile.py:84 eos/saveddata/targetProfile.py:85\n#: eos/saveddata/targetProfile.py:86 eos/saveddata/targetProfile.py:87\n#: eos/saveddata/targetProfile.py:88 eos/saveddata/targetProfile.py:89\n#: eos/saveddata/targetProfile.py:90 eos/saveddata/targetProfile.py:91\n#: eos/saveddata/targetProfile.py:92 eos/saveddata/targetProfile.py:94\n#: eos/saveddata/targetProfile.py:95 eos/saveddata/targetProfile.py:96\n#: eos/saveddata/targetProfile.py:97 eos/saveddata/targetProfile.py:98\n#: eos/saveddata/targetProfile.py:99 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:101 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:103 eos/saveddata/targetProfile.py:104\n#: eos/saveddata/targetProfile.py:105 eos/saveddata/targetProfile.py:106\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:108\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:110\n#: eos/saveddata/targetProfile.py:111 eos/saveddata/targetProfile.py:112\n#: eos/saveddata/targetProfile.py:113 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:115 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:117 eos/saveddata/targetProfile.py:118\n#: eos/saveddata/targetProfile.py:119 eos/saveddata/targetProfile.py:120\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:122\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:124\n#: eos/saveddata/targetProfile.py:125 eos/saveddata/targetProfile.py:126\n#: eos/saveddata/targetProfile.py:127 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:129 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:131 eos/saveddata/targetProfile.py:132\n#: eos/saveddata/targetProfile.py:133 eos/saveddata/targetProfile.py:134\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:136\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:138\n#: eos/saveddata/targetProfile.py:139 eos/saveddata/targetProfile.py:140\n#: eos/saveddata/targetProfile.py:141 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:143 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:145 eos/saveddata/targetProfile.py:146\n#: eos/saveddata/targetProfile.py:147 eos/saveddata/targetProfile.py:148\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:150\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:152\n#: eos/saveddata/targetProfile.py:153 eos/saveddata/targetProfile.py:154\n#: eos/saveddata/targetProfile.py:155 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:157 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:159 eos/saveddata/targetProfile.py:160\n#: eos/saveddata/targetProfile.py:161 eos/saveddata/targetProfile.py:162\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:164\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:166\n#: eos/saveddata/targetProfile.py:167 eos/saveddata/targetProfile.py:168\n#: eos/saveddata/targetProfile.py:169 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:171 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:173 eos/saveddata/targetProfile.py:174\n#: eos/saveddata/targetProfile.py:175 eos/saveddata/targetProfile.py:176\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:178\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:180\n#: eos/saveddata/targetProfile.py:181 eos/saveddata/targetProfile.py:182\n#: eos/saveddata/targetProfile.py:183 eos/saveddata/targetProfile.py:184\n#: eos/saveddata/targetProfile.py:185 eos/saveddata/targetProfile.py:186\n#: eos/saveddata/targetProfile.py:187 eos/saveddata/targetProfile.py:188\n#: eos/saveddata/targetProfile.py:189 eos/saveddata/targetProfile.py:191\n#: eos/saveddata/targetProfile.py:192 eos/saveddata/targetProfile.py:193\n#: eos/saveddata/targetProfile.py:194 eos/saveddata/targetProfile.py:195\n#: eos/saveddata/targetProfile.py:196 eos/saveddata/targetProfile.py:197\n#: eos/saveddata/targetProfile.py:198 eos/saveddata/targetProfile.py:199\n#: eos/saveddata/targetProfile.py:200 eos/saveddata/targetProfile.py:201\n#: eos/saveddata/targetProfile.py:202 eos/saveddata/targetProfile.py:203\n#: eos/saveddata/targetProfile.py:204 eos/saveddata/targetProfile.py:205\n#: eos/saveddata/targetProfile.py:206 eos/saveddata/targetProfile.py:207\n#: eos/saveddata/targetProfile.py:208 eos/saveddata/targetProfile.py:209\n#: eos/saveddata/targetProfile.py:210 eos/saveddata/targetProfile.py:211\n#: eos/saveddata/targetProfile.py:212 eos/saveddata/targetProfile.py:213\n#: eos/saveddata/targetProfile.py:214 eos/saveddata/targetProfile.py:215\n#: eos/saveddata/targetProfile.py:216 eos/saveddata/targetProfile.py:217\n#: eos/saveddata/targetProfile.py:218 eos/saveddata/targetProfile.py:219\n#: eos/saveddata/targetProfile.py:220 eos/saveddata/targetProfile.py:221\n#: eos/saveddata/targetProfile.py:222 eos/saveddata/targetProfile.py:223\n#: eos/saveddata/targetProfile.py:224 eos/saveddata/targetProfile.py:225\n#: eos/saveddata/targetProfile.py:226 eos/saveddata/targetProfile.py:227\n#: eos/saveddata/targetProfile.py:228 eos/saveddata/targetProfile.py:229\n#: eos/saveddata/targetProfile.py:230 eos/saveddata/targetProfile.py:231\n#: eos/saveddata/targetProfile.py:232\nmsgid \"NPC\"\nmsgstr \"NPC\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:30\n#: gui/builtinViewColumns/baseName.py:55\nmsgid \"Name\"\nmsgstr \"名称\"\n\n#: gui/esiFittings.py:334\nmsgid \"Need at least one ESI character to export\"\nmsgstr \"请为导出至少选择一个游戏内角色\"\n\n#: gui/esiFittings.py:117\nmsgid \"Need at least one ESI character to fetch\"\nmsgstr \"请为获取至少选择一个游戏内角色\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:17\nmsgid \"Network\"\nmsgstr \"网络\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:149\nmsgid \"Neutralizer resistance\"\nmsgstr \"电容中和器抗性\"\n\n#: graphs/data/fitEwarStats/graph.py:36\nmsgid \"Neuts: cap per second\"\nmsgstr \"毁电：毁电速度\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount ({}-{})\"\nmsgstr \"新数量 ({}-{})\"\n\n#: gui/builtinContextMenus/itemAmountChange.py:98\nmsgid \"New Amount:\"\nmsgstr \"新数量：\"\n\n#: gui/builtinContextMenus/implantSetSave.py:45\nmsgid \"New Implant Set\"\nmsgstr \"新建植入体配置\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:51\nmsgid \"New fitting\"\nmsgstr \"新装配\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:58\nmsgid \"No\"\nmsgstr \"否\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:85\nmsgid \"No Profile\"\nmsgstr \"无伤害模型\"\n\n#: gui/characterSelection.py:230\nmsgid \"No active fit\"\nmsgstr \"没有选中的装配\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:92\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:100\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:106\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:113\nmsgid \"No changes to meta buttons\"\nmsgstr \"不改变衍生分类按钮\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:87\nmsgid \"No proxy\"\nmsgstr \"无代理\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:71\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:79\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:87\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\n#: gui/characterEditor.py:855\nmsgid \"None\"\nmsgstr \"无\"\n\n#: graphs/style.py:80\nmsgid \"Normal\"\nmsgstr \"常规\"\n\n#: eos/saveddata/damagePattern.py:131\nmsgid \"Normal Subcaps\"\nmsgstr \"常规非旗舰\"\n\n#: gui/builtinContextMenus/skillAffectors.py:77\nmsgid \"Not Learned\"\nmsgstr \"未学习\"\n\n#: gui/characterEditor.py:399 service/character.py:322\nmsgid \"Not learned\"\nmsgstr \"未学习\"\n\n#: gui/additionsPane.py:87\nmsgid \"Notes\"\nmsgstr \"备注\"\n\n#: eos/saveddata/damagePattern.py:89\nmsgid \"Nova\"\nmsgstr \"星爆\"\n\n#: eos/saveddata/damagePattern.py:77\nmsgid \"Nuclear\"\nmsgstr \"核芯弹\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:21\nmsgid \"Null Security\"\nmsgstr \"零安\"\n\n#: gui/mainMenuBar.py:167\nmsgid \"Open &Dev Tools\"\nmsgstr \"打开开发者工具(&D)\"\n\n#: gui/characterSelection.py:150\nmsgid \"Open Character Editor\"\nmsgstr \"打开角色编辑器\"\n\n#: gui/builtinContextMenus/fitOpenNewTab.py:37\nmsgid \"Open Fit in New Tab\"\nmsgstr \"在新标签页打开装配\"\n\n#: gui/mainFrame.py:1010\nmsgid \"Open One Or More Character Files\"\nmsgstr \"打开角色文件\"\n\n#: gui/mainFrame.py:834\nmsgid \"Open One Or More Fitting Files\"\nmsgstr \"打开装配文件\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Wid&gets Inspect tool\"\nmsgstr \"打开控件检查工具(&G)\"\n\n#: gui/mainMenuBar.py:166\nmsgid \"Open Widgets Inspect tool\"\nmsgstr \"打开控件检查工具\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:136\nmsgid \"Open fittings in a new page by default\"\nmsgstr \"默认在新标签页打开装配\"\n\n#: gui/builtinContextMenus/shipJump.py:35\nmsgid \"Open in Fitting Browser\"\nmsgstr \"在装配浏览器中打开\"\n\n#: gui/builtinShipBrowser/fitItem.py:227\nmsgid \"Open in new tab\"\nmsgstr \"在新标签页打开\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Optimize Prices\"\nmsgstr \"优化价格\"\n\n#: graphs/style.py:55\nmsgid \"Orange\"\nmsgstr \"橘色\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:122\nmsgid \"Ore hold\"\nmsgstr \"矿石仓\"\n\n#: eos/saveddata/targetProfile.py:79 eos/saveddata/targetProfile.py:80\nmsgid \"Other\"\nmsgstr \"其他\"\n\n#: eos/saveddata/damagePattern.py:100 eos/saveddata/targetProfile.py:100\n#: eos/saveddata/targetProfile.py:107 eos/saveddata/targetProfile.py:114\n#: eos/saveddata/targetProfile.py:121 eos/saveddata/targetProfile.py:128\n#: eos/saveddata/targetProfile.py:135 eos/saveddata/targetProfile.py:142\n#: eos/saveddata/targetProfile.py:149 eos/saveddata/targetProfile.py:156\n#: eos/saveddata/targetProfile.py:163 eos/saveddata/targetProfile.py:170\n#: eos/saveddata/targetProfile.py:177 eos/saveddata/targetProfile.py:184\nmsgid \"Overmind\"\nmsgstr \"主宰\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:75\nmsgid \"Passive shield recharge\"\nmsgstr \"被动回充\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:125\nmsgid \"Password:\"\nmsgstr \"密码：\"\n\n#: gui/builtinContextMenus/additionsImport.py:40\nmsgid \"Paste {}\"\nmsgstr \"粘贴{}\"\n\n#: gui/patternEditor.py:295\nmsgid \"Patterns exported to clipboard\"\nmsgstr \"伤害模型已导出到剪贴板\"\n\n#: gui/setEditor.py:210 gui/patternEditor.py:276\nmsgid \"Patterns successfully imported from clipboard\"\nmsgstr \"从剪贴板导入伤害模型成功\"\n\n#: eos/saveddata/damagePattern.py:82\nmsgid \"Phased Plasma\"\nmsgstr \"定相等离子弹\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:128\nmsgid \"Planetary goods hold\"\nmsgstr \"星系物质仓\"\n\n#: gui/mainFrame.py:721\nmsgid \"Please Wait...\"\nmsgstr \"请稍候...\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:32\nmsgid \"Please see the pyfa wiki on GitHub for information regarding these options.\"\nmsgstr \"关于下列选项，详情请参考GitHub上的百科。\"\n\n#: gui/esiFittings.py:315\nmsgid \"Please select an active fitting in the main window\"\nmsgstr \"请在主窗口选择一个装配\"\n\n#: gui/characterEditor.py:758\nmsgid \"Please select another character or make a new one.\"\nmsgstr \"请选择另一角色或创建新角色。\"\n\n#: gui/mainFrame.py:895\nmsgid \"Please verify path location pyfa's preferences.\"\nmsgstr \"请确认Pyfa偏好保存位置。\"\n\n#: gui/builtinContextMenus/graphFitAmmoPicker.py:29\nmsgid \"Plot with Different Ammo...\"\nmsgstr \"使用不同的弹药...\"\n\n#: eos/saveddata/damagePattern.py:70\nmsgid \"Plutonium\"\nmsgstr \"锰质\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:164\nmsgid \"Pod\"\nmsgstr \"逃生舱\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:109\nmsgid \"Port:\"\nmsgstr \"端口：\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:154\nmsgid \"PowerGrid\"\nmsgstr \"PG\"\n\n#: gui/preferenceDialog.py:31\nmsgid \"Preferences\"\nmsgstr \"偏好设置\"\n\n#: gui/builtinPreferenceViews/pyfaLoggingPreferences.py:59\nmsgid \"Pressing this button will cause all logs in memory to write to the log file:\"\nmsgstr \"点击此按钮以将所有缓存的日志写入到日志文件：\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:155\n#: gui/builtinStatsViews/priceViewFull.py:40\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:99\nmsgid \"Price\"\nmsgstr \"价格\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:41\nmsgid \"Pricing updates\"\nmsgstr \"价格更新\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:265\n#, python-format\nmsgid \"Probe Size: %.3f\"\nmsgstr \"探测大小：%.3f\"\n\n#: gui/targetProfileEditor.py:372\nmsgid \"Profiles exported to clipboard\"\nmsgstr \"目标属性已导出到剪贴板\"\n\n#: gui/targetProfileEditor.py:352\nmsgid \"Profiles successfully imported from clipboard\"\nmsgstr \"已成功从剪贴板导入目标属性\"\n\n#: gui/builtinShipBrowser/fitItem.py:230\nmsgid \"Project onto Active Fit\"\nmsgstr \"施加远程效果到当前装配\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:61\nmsgid \"Project onto Fit\"\nmsgstr \"施加远程效果到装配\"\n\n#: gui/builtinContextMenus/itemProject.py:34\n#, python-brace-format\nmsgid \"Project {0} onto Fit\"\nmsgstr \"施加{0}远程效果到装配\"\n\n#: gui/additionsPane.py:81\nmsgid \"Projected\"\nmsgstr \"远程效果\"\n\n#: gui/builtinAdditionPanes/projectedView.py:304\n#: gui/builtinAdditionPanes/projectedView.py:314\n#: gui/builtinAdditionPanes/projectedView.py:319\n#: gui/builtinAdditionPanes/projectedView.py:324\nmsgid \"Projected Item\"\nmsgstr \"远程效果物品\"\n\n#: eos/saveddata/damagePattern.py:74 eos/saveddata/damagePattern.py:75\n#: eos/saveddata/damagePattern.py:76 eos/saveddata/damagePattern.py:77\n#: eos/saveddata/damagePattern.py:78 eos/saveddata/damagePattern.py:79\n#: eos/saveddata/damagePattern.py:80 eos/saveddata/damagePattern.py:81\n#: eos/saveddata/damagePattern.py:82 eos/saveddata/damagePattern.py:83\n#: eos/saveddata/damagePattern.py:84 eos/saveddata/damagePattern.py:85\nmsgid \"Projectile Ammo\"\nmsgstr \"射弹弹药\"\n\n#: gui/itemStats.py:200\nmsgid \"Properties\"\nmsgstr \"属性\"\n\n#: gui/builtinContextMenus/shipModeChange.py:19\nmsgid \"Propulsion\"\nmsgstr \"高速\"\n\n#: eos/saveddata/damagePattern.py:78\nmsgid \"Proton\"\nmsgstr \"质子弹\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:49\nmsgid \"Proxy settings\"\nmsgstr \"代理设置\"\n\n#: graphs/style.py:58\nmsgid \"Purple\"\nmsgstr \"紫色\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:222\nmsgid \"PvP Weather\"\nmsgstr \"PvP环境\"\n\n#: gui/aboutData.py:49\nmsgid \"Pyfa (the Python Fitting Assistant) is an open-source standalone application able to create and simulate fittings for EVE-Online SciFi MMORPG with a very high degree of accuracy. Pyfa can run on all platforms where Python and wxWidgets are supported.\"\nmsgstr \"Python装配助手（the Python Fitting Assistant, Pyfa）是一个开源独立应用，可用于为星战前线（EvE Online）创建和模拟非常准确的装配方案。Pyfa可在python和wxWidgets支持的所有平台运行。\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:44\nmsgid \"Pyfa Update checks\"\nmsgstr \"Pyfa更新检查\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:15\nmsgid \"Pyfa can automatically check and notify you of new releases. This feature is toggled in the Network settings. Here, you may allow pre-release notifications and view suppressed release notifications, if any.\"\nmsgstr \"Pyfa可以自动检查更新并提示。这个功能可在网络设置中开启。在这里你可以开启预发布版本更新通知，并查看未提示的版本更新（如果有的话）。\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:69\nmsgid \"Pyfa language selection disabled. Please check if .mo files have been generated.\\n\"\n\"Refer to locale/README.md for info.\"\nmsgstr \"Pyfa语言选择已禁用。请检查.mo 文件是否已生成。\\n\"\n\"请参阅locale/README.md获取信息。\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:129\nmsgid \"Quafe hold\"\nmsgstr \"酷菲(Quafe)仓\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of active items\"\nmsgstr \"激活的物品数量\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:153\nmsgid \"Quantity of all items\"\nmsgstr \"所有物品数量\"\n\n#: eos/saveddata/fit.py:402\nmsgid \"Radar\"\nmsgstr \"雷达\"\n\n#: eos/saveddata/damagePattern.py:45\nmsgid \"Radio\"\nmsgstr \"射频\"\n\n#: gui/targetProfileEditor.py:126\nmsgid \"Radius\"\nmsgstr \"信号半径\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:54\nmsgid \"Random stats\"\nmsgstr \"随机化属性\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:63\nmsgid \"Range\"\nmsgstr \"锁定范围\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:222\nmsgid \"Raw HP: \"\nmsgstr \"原始HP：\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:223\n#, python-format\nmsgid \"Raw: %d HP\"\nmsgstr \"原始：%dHP\"\n\n#: gui/mainFrame.py:652\nmsgid \"Re-enabling fitting restrictions for this fit will also remove any illegal items from the fit. Do you want to continue?\"\nmsgstr \"重新启用装配限制将删除所有无效物品。您要继续吗？\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:56\n#: gui/builtinShipBrowser/navigationPanel.py:129\nmsgid \"Recent Fits\"\nmsgstr \"最近使用的装配\"\n\n#: gui/builtinMarketBrowser/marketTree.py:37\nmsgid \"Recently Used Items\"\nmsgstr \"最近使用的物品\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:43\nmsgid \"Recharge rates\"\nmsgstr \"回充速度\"\n\n#: graphs/style.py:52\nmsgid \"Red\"\nmsgstr \"红色\"\n\n#: gui/mainMenuBar.py:84\nmsgid \"Redo the most recent undone action\"\nmsgstr \"恢复最近一次撤销的操作\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:62\n#: gui/builtinItemStatsViews/itemAffectedBy.py:77\n#: gui/builtinItemStatsViews/itemCompare.py:79\nmsgid \"Refresh\"\nmsgstr \"刷新\"\n\n#: gui/characterSelection.py:68\nmsgid \"Refresh Skills\"\nmsgstr \"刷新技能\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:86\nmsgid \"Reinforced\"\nmsgstr \"加强回充\"\n\n#: graphs/data/fitRemoteReps/graph.py:62\nmsgid \"Reload ancillary RRs\"\nmsgstr \"重新装填辅助遥修装置\"\n\n#: graphs/data/fitRemoteReps/graph.py:48\nmsgid \"Remote Repairs\"\nmsgstr \"遥修\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:65\n#: gui/builtinStatsViews/outgoingViewFull.py:66\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:104\nmsgid \"Remote Reps\"\nmsgstr \"遥修\"\n\n#: gui/esiFittings.py:387\nmsgid \"Remove Character\"\nmsgstr \"删除角色\"\n\n#: gui/propertyEditor.py:71\nmsgid \"Remove Overides for Item\"\nmsgstr \"删除物品的自定义属性\"\n\n#: gui/builtinContextMenus/itemRemove.py:42\n#, python-brace-format\nmsgid \"Remove {item}{stack}\"\nmsgstr \"移除 {item}{stack}\"\n\n#: gui/builtinShipBrowser/fitItem.py:108\nmsgid \"Rename\"\nmsgstr \"重命名\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:118\nmsgid \"Reopen previous fits on startup\"\nmsgstr \"重新启动时打开之前的装配\"\n\n#: graphs/data/fitRemoteReps/graph.py:53\nmsgid \"Repair speed\"\nmsgstr \"修复速度\"\n\n#: gui/copySelectDialog.py:50\nmsgid \"Replace items by cheaper alternatives\"\nmsgstr \"使用较便宜的物品替代更贵的物品\"\n\n#: gui/itemStats.py:185\nmsgid \"Requirements\"\nmsgstr \"技能需求\"\n\n#: gui/builtinContextMenus/moduleSpool.py:98\nmsgid \"Reset\"\nmsgstr \"重置\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:76\nmsgid \"Reset Suppression\"\nmsgstr \"重置版本更新提示\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:51\nmsgid \"Reset defaults\"\nmsgstr \"重置为默认值\"\n\n#: gui/builtinContextMenus/resistMode.py:41\nmsgid \"Resist Mode\"\nmsgstr \"抗性模式\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:213\nmsgid \"Resist Multiplier: \"\nmsgstr \"抗性倍率：\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:47\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:50\nmsgid \"Resistances\"\nmsgstr \"抗性\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:84\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:42\nmsgid \"Resources\"\nmsgstr \"装配资源\"\n\n#: gui/builtinItemStatsViews/itemMutator.py:57\nmsgid \"Revert changes\"\nmsgstr \"还原到初始状态\"\n\n#: gui/builtinContextMenus/moduleMutations.py:33\nmsgid \"Revert to {}\"\nmsgstr \"还原为{}\"\n\n#: gui/builtinViewColumns/baseName.py:63\nmsgid \"Rig\"\nmsgstr \"改装\"\n\n#: eos/saveddata/damagePattern.py:108 eos/saveddata/damagePattern.py:126\nmsgid \"Rogue Drone\"\nmsgstr \"自由无人机\"\n\n#: eos/saveddata/damagePattern.py:160 eos/saveddata/targetProfile.py:231\nmsgid \"Rogue Drone Entities\"\nmsgstr \"自由无人机实体\"\n\n#: eos/saveddata/targetProfile.py:63 eos/saveddata/targetProfile.py:69\nmsgid \"Rogue Drones\"\nmsgstr \"自由无人机\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:34\nmsgid \"Run Time\"\nmsgstr \"运行时长\"\n\n#: gui/esiFittings.py:368\nmsgid \"SSO Character Management\"\nmsgstr \"游戏内人物管理\"\n\n#: gui/ssoLogin.py:15 gui/ssoLogin.py:49\nmsgid \"SSO Login\"\nmsgstr \"通过EVE登录\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:45\nmsgid \"SSO Mode\"\nmsgstr \"单点登录(SSO)模式\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:126\nmsgid \"Salvage hold\"\nmsgstr \"打捞件仓\"\n\n#: locale_test/getTextLocale.py:4\nmsgid \"Sample Title Text English\"\nmsgstr \"\"\n\n#: eos/saveddata/damagePattern.py:101 eos/saveddata/targetProfile.py:192\n#: eos/saveddata/targetProfile.py:195 eos/saveddata/targetProfile.py:198\n#: eos/saveddata/targetProfile.py:201 eos/saveddata/targetProfile.py:204\n#: eos/saveddata/targetProfile.py:207 eos/saveddata/targetProfile.py:210\n#: eos/saveddata/targetProfile.py:213 eos/saveddata/targetProfile.py:216\n#: eos/saveddata/targetProfile.py:219 eos/saveddata/targetProfile.py:222\n#: eos/saveddata/targetProfile.py:225 eos/saveddata/targetProfile.py:228\nmsgid \"Sansha\"\nmsgstr \"萨沙\"\n\n#: eos/saveddata/damagePattern.py:157 eos/saveddata/targetProfile.py:80\n#: gui/builtinContextMenus/envEffectAdd.py:124\nmsgid \"Sansha Incursion\"\nmsgstr \"萨沙入侵\"\n\n#: eos/saveddata/damagePattern.py:109 eos/saveddata/damagePattern.py:127\n#: eos/saveddata/targetProfile.py:64 eos/saveddata/targetProfile.py:70\nmsgid \"Sanshas Nation\"\nmsgstr \"萨沙国度\"\n\n#: gui/mainFrame.py:858\nmsgid \"Save Backup As...\"\nmsgstr \"保存备份为...\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:117\nmsgid \"Save CSV file\"\nmsgstr \"保存为逗号分隔符(CSV)文件\"\n\n#: gui/mainMenuBar.py:114\nmsgid \"Save Character &As...\"\nmsgstr \"保存角色为...(&A)\"\n\n#: gui/characterEditor.py:282\nmsgid \"Save Character As...\"\nmsgstr \"保存角色为...\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:48\n#: gui/mainFrame.py:465\nmsgid \"Save Fitting As...\"\nmsgstr \"保存装配为...\"\n\n#: gui/propertyEditor.py:130\nmsgid \"Save Overrides As...\"\nmsgstr \"保存自定义属性为...\"\n\n#: gui/builtinContextMenus/implantSetSave.py:27\nmsgid \"Save as New Implant Set\"\nmsgstr \"保存为新的植入体配置\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:64\nmsgid \"Scan res.\"\nmsgstr \"扫描精度\"\n\n#: eos/saveddata/damagePattern.py:91\nmsgid \"Scorch Bomb\"\nmsgstr \"灼烧炸弹\"\n\n#: eos/saveddata/damagePattern.py:88\nmsgid \"Scourge\"\nmsgstr \"鞭挞\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:61\nmsgid \"Search fittings\"\nmsgstr \"搜索装配\"\n\n#: gui/characterEditor.py:356\n#, python-brace-format\nmsgid \"Sec Status: {0:.2f}\"\nmsgstr \"安全等级: {0:.2f}\"\n\n#: gui/characterEditor.py:914\nmsgid \"Security Status is used in some CONCORD hull calculations\"\nmsgstr \"安全等级会用于计算统合部船体属性\"\n\n#: eos/saveddata/damagePattern.py:102 eos/saveddata/targetProfile.py:101\n#: eos/saveddata/targetProfile.py:108 eos/saveddata/targetProfile.py:115\n#: eos/saveddata/targetProfile.py:122 eos/saveddata/targetProfile.py:129\n#: eos/saveddata/targetProfile.py:136 eos/saveddata/targetProfile.py:143\n#: eos/saveddata/targetProfile.py:150 eos/saveddata/targetProfile.py:157\n#: eos/saveddata/targetProfile.py:164 eos/saveddata/targetProfile.py:171\n#: eos/saveddata/targetProfile.py:178 eos/saveddata/targetProfile.py:185\nmsgid \"Seeker\"\nmsgstr \"探寻者\"\n\n#: gui/copySelectDialog.py:62\nmsgid \"Select a format\"\nmsgstr \"选择格式\"\n\n#: gui/esiFittings.py:318\nmsgid \"Sending request and awaiting response\"\nmsgstr \"正在发送请求和接收响应\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:65\nmsgid \"Sensor str.\"\nmsgstr \"传感器强度\"\n\n#: eos/saveddata/damagePattern.py:122 eos/saveddata/targetProfile.py:92\nmsgid \"Sentinel\"\nmsgstr \"哨兵级\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:122\nmsgid \"Separate Racks\"\nmsgstr \"分隔不同槽位类型\"\n\n#: eos/saveddata/damagePattern.py:110 eos/saveddata/damagePattern.py:128\n#: eos/saveddata/targetProfile.py:65 eos/saveddata/targetProfile.py:71\nmsgid \"Serpentis\"\nmsgstr \"天蛇\"\n\n#: gui/builtinViewColumns/baseName.py:64\nmsgid \"Service\"\nmsgstr \"服务\"\n\n#: gui/characterEditor.py:907\nmsgid \"Set Security Status\"\nmsgstr \"设置安全等级\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:41\nmsgid \"Set as Damage Pattern\"\nmsgstr \"设置为伤害模型\"\n\n#: gui/builtinPreferenceViews/pyfaHTMLExportPreferences.py:53\nmsgid \"Set export destination\"\nmsgstr \"设置导出路径\"\n\n#: gui/builtinContextMenus/ammoToDmgPattern.py:32\nmsgid \"Set {} as Damage Pattern\"\nmsgstr \"设置{}为伤害模型\"\n\n#: gui/setEditor.py:229\nmsgid \"Sets exported to clipboard\"\nmsgstr \"植入体配置已导出到剪贴板\"\n\n#: gui/characterEditor.py:326\nmsgid \"Setting an Alpha clone does not replace the character's skills, but rather caps them to Alpha levels.\"\nmsgstr \"设置为阿尔法克隆不会替换角色技能等级，但会设置技能等级上限为阿尔法状态。\"\n\n#: gui/builtinContextMenus/shipModeChange.py:20\nmsgid \"Sharpshooter\"\nmsgstr \"狙击\"\n\n#: eos/saveddata/targetProfile.py:46\nmsgid \"Shield\"\nmsgstr \"护盾\"\n\n#: eos/saveddata/targetProfile.py:49\nmsgid \"Shield (+T2 DCU)\"\nmsgstr \"护盾（+T2损控）\"\n\n#: graphs/data/fitShieldRegen/graph.py:38\nmsgid \"Shield Regeneration\"\nmsgstr \"护盾回充\"\n\n#: graphs/data/fitShieldRegen/graph.py:42\n#: graphs/data/fitShieldRegen/graph.py:55\n#: graphs/data/fitShieldRegen/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:61\nmsgid \"Shield amount\"\nmsgstr \"护盾量\"\n\n#: graphs/data/fitShieldRegen/graph.py:62\nmsgid \"Shield regen\"\nmsgstr \"护盾回充\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:112\nmsgid \"Shield resistance\"\nmsgstr \"护盾抗性\"\n\n#: gui/builtinStatsViews/outgoingViewMinimal.py:37\n#: gui/builtinStatsViews/outgoingViewFull.py:38\nmsgid \"Shield restored\"\nmsgstr \"护盾修复量\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:58\nmsgid \"Shield/Armor Tank\"\nmsgstr \"恢复\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:206\nmsgid \"Shield: \"\nmsgstr \"护盾：\"\n\n#: gui/builtinViews/fittingView.py:664\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/priceViewFull.py:57\nmsgid \"Ship\"\nmsgstr \"船体\"\n\n#: gui/builtinShipBrowser/shipItem.py:111\nmsgid \"Ship Basic\"\nmsgstr \"舰船基础\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:48\nmsgid \"Ship groups\"\nmsgstr \"舰船类型\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:117\nmsgid \"Ship hold\"\nmsgstr \"舰船仓\"\n\n#: gui/builtinContextMenus/moduleAmmoChange.py:100\nmsgid \"Short Range\"\nmsgstr \"更短距离\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:126\nmsgid \"Show Rack Labels\"\nmsgstr \"显示槽位类型标签\"\n\n#: gui/builtinShipBrowser/navigationPanel.py:151\nmsgid \"Show empty ship groups\"\nmsgstr \"显示空的舰船类型\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:130\nmsgid \"Show fitting tab tooltips\"\nmsgstr \"装配标签页显示预览\"\n\n#: graphs/gui/ctrlPanel.py:71\nmsgid \"Show legend\"\nmsgstr \"显示图例\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:52\nmsgid \"Show market shortcuts\"\nmsgstr \"显示市场快捷方式\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:140\nmsgid \"Show ship browser tooltip\"\nmsgstr \"船体列表显示预览\"\n\n#: eos/saveddata/damagePattern.py:93\nmsgid \"Shrapnel Bomb\"\nmsgstr \"榴霰炸弹\"\n\n#: gui/builtinContextMenus/boosterSideEffects.py:34\nmsgid \"Side Effects\"\nmsgstr \"副作用\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:88\nmsgid \"Signature\"\nmsgstr \"信号半径\"\n\n#: gui/targetProfileEditor.py:125\nmsgid \"Signature radius\\n\"\n\"Leave blank for infinitely big value\"\nmsgstr \"信号半径\\n\"\n\"保持为空表示信号半径无限大\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"Signature radius increase\"\nmsgstr \"信号半径增加量\"\n\n#: gui/aboutData.py:33\nmsgid \"Silk Icons Set by famfamfam.com - Creative Commons Attribution 2.5 License\"\nmsgstr \"技能系列图标来自 famfamfam.com - 基于知识共享署名2.5许可使用\"\n\n#: gui/characterEditor.py:342 gui/characterEditor.py:608\nmsgid \"Skill\"\nmsgstr \"技能\"\n\n#: gui/characterEditor.py:160\nmsgid \"Skills\"\nmsgstr \"技能列表\"\n\n#: gui/characterSelection.py:242\nmsgid \"Skills required:\"\nmsgstr \"所需技能：\"\n\n#: eos/saveddata/damagePattern.py:103 eos/saveddata/targetProfile.py:79\n#: eos/saveddata/targetProfile.py:104 eos/saveddata/targetProfile.py:111\n#: eos/saveddata/targetProfile.py:118 eos/saveddata/targetProfile.py:125\n#: eos/saveddata/targetProfile.py:132 eos/saveddata/targetProfile.py:139\n#: eos/saveddata/targetProfile.py:146 eos/saveddata/targetProfile.py:153\n#: eos/saveddata/targetProfile.py:160 eos/saveddata/targetProfile.py:167\n#: eos/saveddata/targetProfile.py:174 eos/saveddata/targetProfile.py:181\n#: eos/saveddata/targetProfile.py:188\nmsgid \"Sleeper\"\nmsgstr \"冬眠者\"\n\n#: eos/saveddata/damagePattern.py:161 eos/saveddata/targetProfile.py:232\nmsgid \"Sleeper Entities\"\nmsgstr \"冬眠者实体\"\n\n#: eos/saveddata/damagePattern.py:158\nmsgid \"Sleepers\"\nmsgstr \"冬眠者\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:118\nmsgid \"Small ship hold\"\nmsgstr \"小型舰船仓\"\n\n#: graphs/style.py:86\nmsgid \"Solid\"\nmsgstr \"实线\"\n\n#: graphs/data/fitMobility/graph.py:35\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:86\nmsgid \"Speed\"\nmsgstr \"亚光速航速\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Speed reduction\"\nmsgstr \"速度减缓百分比\"\n\n#: gui/builtinContextMenus/droneSplitStack.py:29\nmsgid \"Split {} Stack\"\nmsgstr \"分离\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:169\nmsgid \"Spool up\"\nmsgstr \"\"\n\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:76\nmsgid \"Spoolup\"\nmsgstr \"预热\"\n\n#: gui/builtinContextMenus/moduleSpool.py:37\nmsgid \"Spoolup Cycles\"\nmsgstr \"预热周期\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:170\nmsgid \"Stable: \"\nmsgstr \"稳定：\"\n\n#: eos/saveddata/damagePattern.py:48\nmsgid \"Standard\"\nmsgstr \"标准\"\n\n#: graphs/data/fitCapacitor/graph.py:46\nmsgid \"Starting cap amount\"\nmsgstr \"初始电容量\"\n\n#: graphs/data/fitShieldRegen/graph.py:46\nmsgid \"Starting shield amount\"\nmsgstr \"初始护盾量\"\n\n#: gui/builtinPreferenceViews/pyfaStatViewPreferences.py:22\nmsgid \"Statistics Panel\"\nmsgstr \"属性面板\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:45\nmsgid \"Stick to Attacker\"\nmsgstr \"紧贴攻击者\"\n\n#: gui/builtinContextMenus/graphDmgDroneMode.py:44\nmsgid \"Stick to Target\"\nmsgstr \"紧贴目标\"\n\n#: eos/saveddata/damagePattern.py:145 eos/saveddata/damagePattern.py:148\nmsgid \"Subcaps\"\nmsgstr \"非旗舰\"\n\n#: eos/saveddata/damagePattern.py:136\n#, no-python-format\nmsgid \"Subcaps w/missiles 0% spool up\"\nmsgstr \"非旗舰0%预热\"\n\n#: eos/saveddata/damagePattern.py:142\n#, no-python-format\nmsgid \"Subcaps w/missiles 100% spool up\"\nmsgstr \"非旗舰100%预热\"\n\n#: eos/saveddata/damagePattern.py:139\n#, no-python-format\nmsgid \"Subcaps w/missiles 50% spool up\"\nmsgstr \"非旗舰50%预热\"\n\n#: gui/builtinViewColumns/baseName.py:62\nmsgid \"Subsystem\"\nmsgstr \"子系统\"\n\n#: gui/characterEditor.py:901\nmsgid \"Success\"\nmsgstr \"成功\"\n\n#: gui/characterEditor.py:901\nmsgid \"Successfully fetched skills\"\nmsgstr \"成功获取到技能列表\"\n\n#: eos/saveddata/damagePattern.py:114 eos/saveddata/targetProfile.py:84\nmsgid \"Succubus (Sanshas Nation)\"\nmsgstr \"魔女级（萨沙）\"\n\n#: gui/builtinAdditionPanes/fighterView.py:62\nmsgid \"Support\"\nmsgstr \"支援\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:48\n#, python-brace-format\nmsgid \"Suppressing {0} Notifications\"\nmsgstr \"有{0}个未提示的版本更新\"\n\n#: gui/builtinStatsViews/rechargeViewFull.py:87\nmsgid \"Sustained\"\nmsgstr \"持续回充\"\n\n#: eos/saveddata/targetProfile.py:46 eos/saveddata/targetProfile.py:47\n#: eos/saveddata/targetProfile.py:48 eos/saveddata/targetProfile.py:49\n#: eos/saveddata/targetProfile.py:50 eos/saveddata/targetProfile.py:51\nmsgid \"T1 Resist\"\nmsgstr \"T1抗性\"\n\n#: eos/saveddata/targetProfile.py:52 eos/saveddata/targetProfile.py:53\n#: eos/saveddata/targetProfile.py:54 eos/saveddata/targetProfile.py:55\n#: eos/saveddata/targetProfile.py:56 eos/saveddata/targetProfile.py:57\n#: eos/saveddata/targetProfile.py:58 eos/saveddata/targetProfile.py:59\nmsgid \"T2 Resist\"\nmsgstr \"T2抗性\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"TDs: turret optimal range reduction\"\nmsgstr \"追踪抑制：炮台最佳射程百分比\"\n\n#: graphs/data/fitEwarStats/graph.py:42\nmsgid \"TPs: signature radius increase\"\nmsgstr \"标记：信号半径增加量\"\n\n#: gui/builtinViews/fittingView.py:660 gui/builtinViewColumns/baseName.py:102\n#: gui/builtinContextMenus/shipModeChange.py:37\nmsgid \"Tactical Mode\"\nmsgstr \"战术模式\"\n\n#: eos/saveddata/damagePattern.py:121 eos/saveddata/targetProfile.py:91\nmsgid \"Talos\"\nmsgstr \"塔洛斯级\"\n\n#: graphs/data/fitDamageStats/graph.py:75 graphs/gui/lists.py:359\nmsgid \"Target\"\nmsgstr \"目标\"\n\n#: gui/targetProfileEditor.py:86\nmsgid \"Target Profile\"\nmsgstr \"目标属性\"\n\n#: gui/targetProfileEditor.py:130\nmsgid \"Target Profile Editor\"\nmsgstr \"目标属性编辑器\"\n\n#: gui/targetProfileEditor.py:73\nmsgid \"Target Profile name already in use, please choose another.\"\nmsgstr \"目标属性名已使用，请选择其他名称。\"\n\n#: gui/builtinContextMenus/targetProfile/switcher.py:33\nmsgid \"Target Resists\"\nmsgstr \"目标抗性\"\n\n#: graphs/data/fitMobility/graph.py:39\nmsgid \"Target distance traveled\"\nmsgstr \"目标移动距离\"\n\n#: graphs/data/fitMobility/graph.py:45\nmsgid \"Target inertia factor\"\nmsgstr \"目标惯性系数\"\n\n#: graphs/data/fitMobility/graph.py:43\nmsgid \"Target mass\"\nmsgstr \"目标质量\"\n\n#: graphs/data/fitEwarStats/graph.py:45\nmsgid \"Target resistance\"\nmsgstr \"目标抗性\"\n\n#: graphs/data/fitLockTime/graph.py:37 graphs/data/fitDamageStats/graph.py:71\nmsgid \"Target signature\"\nmsgstr \"目标信号半径\"\n\n#: graphs/data/fitLockTime/graph.py:35 graphs/data/fitDamageStats/graph.py:62\n#: graphs/data/fitDamageStats/graph.py:63\nmsgid \"Target signature radius\"\nmsgstr \"目标信号半径\"\n\n#: graphs/data/fitMobility/graph.py:38 graphs/data/fitDamageStats/graph.py:60\n#: graphs/data/fitDamageStats/graph.py:61\n#: graphs/data/fitDamageStats/graph.py:70\nmsgid \"Target speed\"\nmsgstr \"目标速度\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:40\nmsgid \"Targeting && Misc\"\nmsgstr \"目标和杂项\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:62\nmsgid \"Targets\"\nmsgstr \"最大锁定数\"\n\n#: eos/saveddata/damagePattern.py:60\nmsgid \"Tetryon\"\nmsgstr \"四重子\"\n\n#: gui/mainFrame.py:809\nmsgid \"Text skills training file\"\nmsgstr \"技能列表文本文件\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:72\nmsgid \"The amount of spoolup to use by default on module which support it. Can be changed on a per-module basis\"\nmsgstr \"默认模块预热量。可以分模块单独设置\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:44\nmsgid \"The delay between a keystroke and the market search. Can help reduce lag when typing fast in the market search box.\"\nmsgstr \"按键与触发市场搜索的延迟。较大的值可以缓解在市场搜索框快速打字造成的卡顿。\"\n\n#: gui/mainFrame.py:949\nmsgid \"The following error was generated\"\nmsgstr \"Pyfa 遇到以下错误\"\n\n#: gui/mainFrame.py:893\nmsgid \"The following path is invalid or does not exist:\"\nmsgstr \"下述路径无效或不存在：\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:64\nmsgid \"The source you choose will be tried first, but subsequent sources will be used if the preferred source fails. The system you choose will also be tried first, and if no data is available, global price will be used.\"\nmsgstr \"Pyfa将优先使用指定的价格源，但指定价格源不可用时将使用其他价格源。同理，Pyfa将优先使用指定的星系，但星系价格不可用时将使用全局价格。\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:53\nmsgid \"There is a release available which you have chosen to suppress. You can choose to reset notification suppression for this release, or download the new release from GitHub.\"\nmsgstr \"当前有不提示的版本更新。你可以选择重置版本更新提示，或从GitHub下载版本更新。\"\n\n#: gui/characterEditor.py:463\nmsgid \"There was an error importing skills, please see log file\"\nmsgstr \"导入技能列表出错，详见日志文件\"\n\n#: gui/esiFittings.py:230\nmsgid \"There was an error validating characters' SSO token. Please try logging into the character again to reset the token.\"\nmsgstr \"验证EvE角色登录信息出错，请重试登录以刷新信息。\"\n\n#: gui/esiFittings.py:213\nmsgid \"There was an issue starting up the localized server, try setting Login Authentication Method to Manual by going to Preferences -> EVE SS0 -> Login Authentication Method. If this doesn't fix the problem please file an issue on Github.\"\nmsgstr \"无法启动本地服务器，请尝试转到偏好设置->EVE SSO->登录验证方法并设置为手动模式。如果仍然遇到问题，请在Github填写issue以报告该问题。\"\n\n#: eos/saveddata/damagePattern.py:40\n#: gui/builtinContextMenus/moduleAmmoChange.py:25\nmsgid \"Thermal\"\nmsgstr \"热能\"\n\n#: gui/builtinStatsViews/resistancesViewFull.py:86\n#: gui/targetProfileEditor.py:120\nmsgid \"Thermal resistance\"\nmsgstr \"热能抗性\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:107\nmsgid \"This is a destructive action that will delete all cached prices out of the database.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"本操作将永久删除所有价格缓存数据。\\n\"\n\"您确定要继续吗？\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:97\nmsgid \"This is a destructive action that will delete all damage pattern profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"本操作将永久删除所有伤害模型配置。\\n\"\n\"您确定要继续吗？\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:102\nmsgid \"This is a destructive action that will delete all target profiles.\\n\"\n\"Are you sure you want to do this?\"\nmsgstr \"本操作将永久删除所有目标属性配置。\\n\"\n\"您确定要继续吗？\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:49\nmsgid \"This option goes through EVE SSO directly, but requires more configuration. Use this if pyfa.io is blocked for some reason, or if you do not wish to route data throguh pyfa.io.\"\nmsgstr \"本选项将直接发送EvE单点登录请求，但这需要更多配置。如果pyfa.io无法访问，或你不想让pyfa.io处理登录请求，请使用该选项。\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:42\nmsgid \"This option prompts users to copy and paste information from the web application to allow for character login. Use this if having issues with the local server.\"\nmsgstr \"本选项将在角色登录时提示您复制和粘贴登录页相关信息。如果本地服务器出现问题，可使用该选项。\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:47\nmsgid \"This options routes SSO Logins through pyfa.io, allowing you to easily login without any configuration. When in doubt, use this option.\"\nmsgstr \"本选项将通过pyfa.io处理单点登录(SSO)请求，使你无需配置即可登录到EVE。不清除时可以使用该选项。\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:40\nmsgid \"This options starts a local webserver that the web application will call back to with information about the character login.\"\nmsgstr \"本选项将启动一个本地服务器以接收登录页返回的角色信息。\"\n\n#: eos/saveddata/damagePattern.py:68\nmsgid \"Thorium\"\nmsgstr \"钍质\"\n\n#: eos/saveddata/damagePattern.py:156\nmsgid \"Thukker\"\nmsgstr \"图克尔\"\n\n#: graphs/data/fitMobility/graph.py:33 graphs/data/fitMobility/graph.py:41\n#: graphs/data/fitCapacitor/graph.py:34 graphs/data/fitCapacitor/graph.py:41\n#: graphs/data/fitRemoteReps/graph.py:51 graphs/data/fitRemoteReps/graph.py:56\n#: graphs/data/fitShieldRegen/graph.py:40\n#: graphs/data/fitShieldRegen/graph.py:54\n#: graphs/data/fitDamageStats/graph.py:59\n#: graphs/data/fitDamageStats/graph.py:68\nmsgid \"Time\"\nmsgstr \"时间\"\n\n#: eos/saveddata/damagePattern.py:80\nmsgid \"Titanium Sabot\"\nmsgstr \"钛合金萨博弹\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:70\nmsgid \"Toggle Names\"\nmsgstr \"切换名称\"\n\n#: gui/builtinItemStatsViews/itemAffectedBy.py:73\nmsgid \"Toggle View\"\nmsgstr \"切换视图\"\n\n#: gui/builtinItemStatsViews/itemCompare.py:75\nmsgid \"Toggle view mode\"\nmsgstr \"切换显示模式\"\n\n#: gui/builtinStatsViews/priceViewMinimal.py:57\n#: gui/builtinStatsViews/miningyieldViewFull.py:89\n#: gui/builtinStatsViews/priceViewFull.py:58\nmsgid \"Total\"\nmsgstr \"总计\"\n\n#: gui/builtinPreferenceViews/pyfaMarketPreferences.py:76\nmsgid \"Total Price Includes\"\nmsgstr \"价格总计包括\"\n\n#: graphs/data/fitRemoteReps/graph.py:54\nmsgid \"Total repaired\"\nmsgstr \"修复总量\"\n\n#: gui/builtinStatsViews/capacitorViewFull.py:67\nmsgid \"Total: \"\nmsgstr \"总计：\"\n\n#: gui/itemStats.py:166\nmsgid \"Traits\"\nmsgstr \"特征\"\n\n#: eos/saveddata/damagePattern.py:104 eos/saveddata/targetProfile.py:102\n#: eos/saveddata/targetProfile.py:109 eos/saveddata/targetProfile.py:116\n#: eos/saveddata/targetProfile.py:123 eos/saveddata/targetProfile.py:130\n#: eos/saveddata/targetProfile.py:137 eos/saveddata/targetProfile.py:144\n#: eos/saveddata/targetProfile.py:151 eos/saveddata/targetProfile.py:158\n#: eos/saveddata/targetProfile.py:165 eos/saveddata/targetProfile.py:172\n#: eos/saveddata/targetProfile.py:179 eos/saveddata/targetProfile.py:186\nmsgid \"Triglavian\"\nmsgstr \"三神裔\"\n\n#: eos/saveddata/damagePattern.py:130 eos/saveddata/damagePattern.py:131\n#: eos/saveddata/damagePattern.py:134 eos/saveddata/damagePattern.py:137\n#: eos/saveddata/damagePattern.py:140 eos/saveddata/targetProfile.py:94\nmsgid \"Triglavian Entities\"\nmsgstr \"三神裔实体\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:126\n#: gui/builtinContextMenus/envEffectAdd.py:128\nmsgid \"Triglavian Invasion\"\nmsgstr \"三神裔入侵\"\n\n#: eos/saveddata/damagePattern.py:65\nmsgid \"Tungsten\"\nmsgstr \"钨质\"\n\n#: gui/builtinStatsViews/resourcesViewFull.py:111\nmsgid \"Turret hardpoints\"\nmsgstr \"炮台\"\n\n#: graphs/data/fitEwarStats/graph.py:40\nmsgid \"Turret optimal range reduction\"\nmsgstr \"炮台最佳射程减少百分比\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:32\nmsgid \"Type\"\nmsgstr \"类型\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:218\n#, python-brace-format\nmsgid \"Type: {0}\\n\"\nmsgstr \"扫描类型：{0}\\n\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:222\nmsgid \"Type: {}\"\nmsgstr \"扫描类型：{}\"\n\n#: eos/saveddata/damagePattern.py:49\nmsgid \"Ultraviolet\"\nmsgstr \"紫外\"\n\n#: gui/mainMenuBar.py:83\nmsgid \"Undo the most recent action\"\nmsgstr \"撤销最近一次操作\"\n\n#: eos/saveddata/damagePattern.py:38\nmsgid \"Uniform\"\nmsgstr \"均匀\"\n\n#: eos/saveddata/targetProfile.py:42\nmsgid \"Uniform (25%)\"\nmsgstr \"均匀(25%)\"\n\n#: eos/saveddata/targetProfile.py:43\nmsgid \"Uniform (50%)\"\nmsgstr \"均匀(50%)\"\n\n#: eos/saveddata/targetProfile.py:44\nmsgid \"Uniform (75%)\"\nmsgstr \"均匀(75%)\"\n\n#: eos/saveddata/targetProfile.py:45\nmsgid \"Uniform (90%)\"\nmsgstr \"均匀(90%)\"\n\n#: gui/characterEditor.py:614\nmsgid \"Unlearn\"\nmsgstr \"未学习\"\n\n#: gui/updateDialog.py:54\nmsgid \"Update Available\"\nmsgstr \"有更新可用\"\n\n#: gui/builtinPreferenceViews/pyfaUpdatePreferences.py:14\nmsgid \"Updates\"\nmsgstr \"更新\"\n\n#: eos/saveddata/damagePattern.py:69\nmsgid \"Uranium\"\nmsgstr \"钼质\"\n\n#: gui/builtinAdditionPanes/implantView.py:68\nmsgid \"Use Character Implants\"\nmsgstr \"使用角色植入体组\"\n\n#: gui/builtinAdditionPanes/implantView.py:67\nmsgid \"Use Fit-specific Implants\"\nmsgstr \"使用装配指定的植入体组\"\n\n#: graphs/data/fitCapacitor/graph.py:48\nmsgid \"Use capacitor simulator\"\nmsgstr \"使用电容模拟器\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:102\nmsgid \"Use character implants by default for new fits\"\nmsgstr \"新装配默认使用角色植入体组\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:98\nmsgid \"Use global character\"\nmsgstr \"使用全局角色\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:106\nmsgid \"Use global damage pattern\"\nmsgstr \"使用全局伤害分布配置\"\n\n#: gui/builtinPreferenceViews/pyfaNetworkPreferences.py:121\nmsgid \"Username:\"\nmsgstr \"用户名：\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:34\nmsgid \"Using Executable Path for Saved Fit Database and Settings\"\nmsgstr \"使用Pyfa可执行文件路径来保存装配数据库和偏好设置\"\n\n#: gui/builtinContextMenus/itemVariationChange.py:49\n#: gui/builtinPreferenceViews/pyfaContextMenuPreferences.py:51\nmsgid \"Variations\"\nmsgstr \"变种\"\n\n#: eos/saveddata/damagePattern.py:119 eos/saveddata/targetProfile.py:89\nmsgid \"Vengeance\"\nmsgstr \"复仇级\"\n\n#: gui/builtinItemStatsViews/itemAttributes.py:53\nmsgid \"View Raw Data\"\nmsgstr \"显示原始数据\"\n\n#: graphs/data/fitDamageStats/graph.py:84\nmsgid \"Volley\"\nmsgstr \"齐射伤害\"\n\n#: gui/builtinContextMenus/fitSystemSecurity.py:22\nmsgid \"W-Space\"\nmsgstr \"虫洞\"\n\n#: gui/ssoLogin.py:62\nmsgid \"Waiting for character login through EVE Single Sign-On.\"\nmsgstr \"正在等待角色通过EvE登录。\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:210\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:212\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:243\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:245\n#, python-format\nmsgid \"Warp Core Strength: %.1f\"\nmsgstr \"跃迁核心强度：%.1f\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:89\nmsgid \"Warp Speed\"\nmsgstr \"曲速航速\"\n\n#: graphs/data/fitWarpTime/graph.py:45\nmsgid \"Warp Time\"\nmsgstr \"曲速时长\"\n\n#: graphs/data/fitWarpTime/graph.py:49\nmsgid \"Warp time\"\nmsgstr \"曲速时长\"\n\n#: gui/builtinStatsViews/firepowerViewFull.py:67\nmsgid \"Weapon\"\nmsgstr \"武器\"\n\n#: graphs/data/fitEwarStats/graph.py:37\nmsgid \"Webs: speed reduction\"\nmsgstr \"网子：速度减缓百分比\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:61\nmsgid \"When damage profile is Uniform, set Reactive Armor Hardener to match (old behavior).\"\nmsgstr \"当伤害分布为均匀模式时，重置反应式装甲增强器（旧模式）。\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:149\nmsgid \"When disabled, reloads charges just in selected modules. Action can be reversed by holding Ctrl or Alt key while changing charge.\"\nmsgstr \"关闭该选项时，更换弹药仅更换选中的模块。按住Ctrl或Alt以更换所有同类型武器弹药。\"\n\n#: gui/builtinPreferenceViews/pyfaEnginePreferences.py:54\nmsgid \"When enabled, skills will check their dependencies' requirements when their levels change and reset skills that no longer meet the requirement.\\n\"\n\"eg: Setting Drones from level V to IV will reset the Heavy Drone Operation skill, as that requires Drones V\"\nmsgstr \"启用时，技能级别变化时将检查并移除未达等级要求的相关技能。\\n\"\n\"例如：将无人机从5级设置为4级将移除重型无人机操作技能，因为该技能要求无人机5级\"\n\n#: graphs/data/fitDamageStats/graph.py:69\nmsgid \"When set, uses attacker's exact damage stats at a given time\\n\"\n\"When not set, uses attacker's damage stats as shown in stats panel of main window\"\nmsgstr \"设置后，使用攻击者特定时间的特定伤害属性\\n\"\n\"未设置时，使用主窗口属性面板中攻击者伤害属性\"\n\n#: graphs/data/fitRemoteReps/graph.py:57\nmsgid \"When set, uses repairing ship's exact RR stats at a given time\\n\"\n\"When not set, uses repairing ship's RR stats as shown in stats panel of main window\"\nmsgstr \"设置后，使用后勤船特定时间的特定遥修属性\\n\"\n\"未设置时，使用主窗口属性面板中后勤船的遥修属性\"\n\n#: eos/saveddata/damagePattern.py:115 eos/saveddata/targetProfile.py:85\nmsgid \"Worm (Guristas)\"\nmsgstr \"潜龙级（古斯塔斯）\"\n\n#: gui/builtinContextMenus/envEffectAdd.py:116\nmsgid \"Wormhole\"\nmsgstr \"虫洞\"\n\n#: eos/saveddata/damagePattern.py:50\nmsgid \"Xray\"\nmsgstr \"X射线\"\n\n#: graphs/style.py:59\nmsgid \"Yellow\"\nmsgstr \"黄色\"\n\n#: gui/builtinItemStatsViews/itemEffects.py:56\nmsgid \"Yes\"\nmsgstr \"是\"\n\n#: gui/characterEditor.py:757\nmsgid \"You cannot link All 0 or All 5 characters to an EVE character.\"\nmsgstr \"你不能关联全0级或全5级到一个EvE角色。\"\n\n#: gui/characterEditor.py:76\nmsgid \"You must supply a name for the Character!\"\nmsgstr \"您必须填写一个角色名！\"\n\n#: gui/setEditor.py:48\nmsgid \"You must supply a name for the Implant Set!\"\nmsgstr \"您必须填写一个植入体配置名！\"\n\n#: gui/patternEditor.py:51\nmsgid \"You must supply a name for your Damage Profile!\"\nmsgstr \"您必须填写一个伤害模型名！\"\n\n#: gui/targetProfileEditor.py:71\nmsgid \"You must supply a name for your Target Profile!\"\nmsgstr \"您必须填写一个目标属性名！\"\n\n#: eos/saveddata/damagePattern.py:43\nmsgid \"[T2] Aurora\"\nmsgstr \"[T2] 极光\"\n\n#: eos/saveddata/damagePattern.py:75\nmsgid \"[T2] Barrage\"\nmsgstr \"[T2] 雷暴\"\n\n#: eos/saveddata/damagePattern.py:54\nmsgid \"[T2] Conflagration\"\nmsgstr \"[T2] 爆燃\"\n\n#: eos/saveddata/damagePattern.py:53\nmsgid \"[T2] Gleam\"\nmsgstr \"[T2] 微光\"\n\n#: eos/saveddata/damagePattern.py:85\nmsgid \"[T2] Hail\"\nmsgstr \"[T2] 冰雹\"\n\n#: eos/saveddata/damagePattern.py:72\nmsgid \"[T2] Javelin\"\nmsgstr \"[T2] 标枪\"\n\n#: eos/saveddata/damagePattern.py:57\nmsgid \"[T2] Mystic\"\nmsgstr \"[T2] 奥秘\"\n\n#: eos/saveddata/damagePattern.py:63\nmsgid \"[T2] Null\"\nmsgstr \"[T2] 虚空\"\n\n#: eos/saveddata/damagePattern.py:61\nmsgid \"[T2] Occult\"\nmsgstr \"[T2] 神秘\"\n\n#: eos/saveddata/damagePattern.py:84\nmsgid \"[T2] Quake\"\nmsgstr \"[T2] 地震\"\n\n#: eos/saveddata/damagePattern.py:44\nmsgid \"[T2] Scorch\"\nmsgstr \"[T2] 灼烧\"\n\n#: eos/saveddata/damagePattern.py:62\nmsgid \"[T2] Spike\"\nmsgstr \"[T2] 钉刺\"\n\n#: eos/saveddata/damagePattern.py:74\nmsgid \"[T2] Tremor\"\nmsgstr \"[T2] 战栗\"\n\n#: eos/saveddata/damagePattern.py:73\nmsgid \"[T2] Void\"\nmsgstr \"[T2] 涅槃\"\n\n#: eos/utils/stats.py:123\nmsgid \"em\"\nmsgstr \"电磁\"\n\n#: eos/utils/stats.py:123\nmsgid \"exp\"\nmsgstr \"爆炸\"\n\n#: eos/utils/stats.py:123\nmsgid \"explosive\"\nmsgstr \"爆炸\"\n\n#: eos/utils/stats.py:123\nmsgid \"kin\"\nmsgstr \"动能\"\n\n#: eos/utils/stats.py:123\nmsgid \"kinetic\"\nmsgstr \"动能\"\n\n#: gui/builtinPreferenceViews/pyfaDatabasePreferences.py:38\nmsgid \"pyfa User Path:\"\nmsgstr \"pyfa用户数据路径：\"\n\n#: gui/errorDialog.py:69\nmsgid \"pyfa error\"\nmsgstr \"Pyfa错误\"\n\n#: gui/errorDialog.py:76\nmsgid \"pyfa has experienced an unexpected issue. Below is a message that contains crucial \\n\"\n\"information about how this was triggered. Please contact the developers with the \\n\"\n\"information provided through the EVE Online forums or file a GitHub issue.\"\nmsgstr \"Pyfa遇到了未知问题。下方文本框显示了该问题如何发生的关键信息。\\n\"\n\"请通过EvE论坛或GitHub issue联系开发者，并提供下方文本框中的信息。\"\n\n#: gui/aboutData.py:31\nmsgid \"pyfa is released under GNU GPLv3 - see included LICENSE file\"\nmsgstr \"pyfa基于GNU通用公共许可证第三版(GPLv3)发布 - 详见应用目录下的LICENSE文件\"\n\n#: gui/propertyEditor.py:108\nmsgid \"pyfa override file\"\nmsgstr \"Pyfa属性自定义文件\"\n\n#: gui/propertyEditor.py:131\nmsgid \"pyfa overrides\"\nmsgstr \"Pyfa属性自定义文件\"\n\n#: gui/builtinPreferenceViews/pyfaEsiPreferences.py:46\nmsgid \"pyfa.io\"\nmsgstr \"pyfa.io\"\n\n#: gui/builtinPreferenceViews/pyfaGeneralPreferences.py:47\nmsgid \"pyfa:\"\nmsgstr \"pyfa:\"\n\n#: eos/utils/stats.py:123\nmsgid \"th\"\nmsgstr \"热能\"\n\n#: eos/utils/stats.py:123\nmsgid \"thermal\"\nmsgstr \"热能\"\n\n#: gui/builtinContextMenus/itemMarketJump.py:44\n#, python-brace-format\nmsgid \"{0} Market Group\"\nmsgstr \"{0}市场分类\"\n\n#: gui/itemStats.py:87\n#, python-brace-format\nmsgid \"{context}Stats: {name}{debug_info}\"\nmsgstr \"{context}属性：{name}{debug_info}\"\n\n#: gui/pyfa_gauge.py:347\n#, python-brace-format\nmsgid \"{{0:.{0}f}} left\"\nmsgstr \"剩余{{0:.{0}f}}\"\n\n#: gui/pyfa_gauge.py:344\n#, python-brace-format\nmsgid \"{{0:.{0}f}} over\"\nmsgstr \"超出{{0:.{0}f}}\"\n\n#: gui/builtinContextMenus/moduleSpool.py:83\nmsgid \"{} (default)\"\nmsgstr \"{}（默认值）\"\n\n#: gui/characterEditor.py:284\nmsgid \"{} Copy\"\nmsgstr \"复制{}\"\n\n#: gui/builtinContextMenus/itemStats.py:38\nmsgid \"{} Stats\"\nmsgstr \"{}属性\"\n\n#: gui/builtinViewColumns/baseName.py:104\nmsgid \"{} {} Slot\"\nmsgid_plural \"{} {} Slots\"\nmsgstr[0] \"{} {} 槽\"\n\n#: gui/builtinStatsViews/targetingMiscViewMinimal.py:220\n#, no-python-format, python-brace-format\nmsgid \"{}% chance to be jammed\"\nmsgstr \"{}%概率丢失目标\"\n\n"
  },
  {
    "path": "locale_test/getTextLocale.py",
    "content": "import gettext\r\ngettext.install('lang', './locale')\r\ngettext.translation('lang', './locale', languages=['zh_CH']).install(True)\r\nprint(_(\"Sample Title Text English\"))"
  },
  {
    "path": "pyfa.py",
    "content": "#!/usr/bin/env python3\n# ==============================================================================\n# Copyright (C) 2010 Diego Duclos\n#\n# This file is part of pyfa.\n#\n# pyfa 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# pyfa 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 pyfa.  If not, see <http://www.gnu.org/licenses/>.\n# ==============================================================================\n\n\nimport datetime\nimport os\nimport sys\nfrom optparse import AmbiguousOptionError, BadOptionError, OptionParser\n\nimport config\nfrom service.prereqsCheck import PreCheckException, PreCheckMessage, version_block, version_precheck\nfrom db_update import db_needs_update, update_db\n\n\n# ascii_text = '''\n# ++++++++++++++++++++++++++++++++++++++++++++++++++\n#\n#                             / _|\n#               _ __   _   _ | |\n#              | '_ \\ | | | ||  _|/ _` |\n#              | |_) || |_| || | | (_| |\n#              | .__/  \\__, ||_|  \\__,_|\n#              | |      __/ |\n#              |_|     |___/\n#\n# You are running a alpha/beta version of pyfa.\n#\n# ++++++++++++++++++++++++++++++++++++++++++++++++++\n# '''\n#\n# print(ascii_text)\n\n\nclass PassThroughOptionParser(OptionParser):\n    \"\"\"\n    An unknown option pass-through implementation of OptionParser.\n\n    OSX passes -psn_0_* argument, which is something that pyfa does not handle. See GH issue #423\n    \"\"\"\n\n    def _process_args(self, largs, rargs, values):\n        while rargs:\n            try:\n                OptionParser._process_args(self, largs, rargs, values)\n            except (BadOptionError, AmbiguousOptionError) as e:\n                # pyfalog.error(\"Bad startup option passed.\")\n                largs.append(e.opt_str)\n\n\n# Parse command line options\nusage = \"usage: %prog [--root]\"\nparser = PassThroughOptionParser(usage=usage)\nparser.add_option(\"-r\", \"--root\", action=\"store_true\", dest=\"rootsavedata\", help=\"if you want pyfa to store its data in root folder, use this option\", default=False)\nparser.add_option(\"-d\", \"--debug\", action=\"store_true\", dest=\"debug\", help=\"Set logger to debug level.\", default=False)\nparser.add_option(\"-t\", \"--title\", action=\"store\", dest=\"title\", help=\"Set Window Title\", default=None)\nparser.add_option(\"-s\", \"--savepath\", action=\"store\", dest=\"savepath\", help=\"Set the folder for savedata\", default=None)\nparser.add_option(\"-l\", \"--logginglevel\", action=\"store\", dest=\"logginglevel\", help=\"Set desired logging level [Critical|Error|Warning|Info|Debug]\", default=\"Error\")\nparser.add_option(\"-p\", \"--profile\", action=\"store\", dest=\"profile_path\", help=\"Set location to save profileing.\", default=None)\nparser.add_option(\"-i\", \"--language\", action=\"store\", dest=\"language\", help=\"Sets the language for pyfa. Overrides user's saved settings. Format: xx_YY (eg: en_US). If translation doesn't exist, defaults to en_US\", default=None)\n\n(options, args) = parser.parse_args()\n\nif __name__ == \"__main__\":\n\n    try:\n        # first and foremost - check required libraries\n        version_precheck()\n    except PreCheckException as ex:\n        # do not pass GO, go directly to jail (and then die =/)\n        PreCheckMessage(str(ex))\n        sys.exit()\n\n    # from here, we can assume we have the libraries that we need, including wx\n    import wx\n\n    from logbook import Logger\n\n    pyfalog = Logger(__name__)\n\n    from gui.errorDialog import ErrorHandler\n\n    # Replace the uncaught exception handler with our own handler.\n    sys.excepthook = ErrorHandler.HandleException\n\n    if options.rootsavedata is True:\n        config.saveInRoot = True\n\n    config.debug = options.debug\n    config.loggingLevel = config.LOGLEVEL_MAP.get(options.logginglevel.lower(), config.LOGLEVEL_MAP['error'])\n\n    config.language = options.language\n\n    config.defPaths(options.savepath)\n    config.defLogging()\n\n    with config.logging_setup.threadbound():\n\n        pyfalog.info(\"Starting Pyfa\")\n        pyfalog.info(version_block)\n\n        pyfalog.info(\"Writing log file to: {0}\", config.logPath)\n\n        if hasattr(sys, 'frozen'):\n            pyfalog.info(\"Running in a frozen state.\")\n        else:\n            pyfalog.info(\"Running in a thawed state.\")\n\n        if db_needs_update() is True:\n            update_db()\n\n        # Lets get to the good stuff, shall we?\n        import eos.db\n        import eos.events  # todo: move this to eos initialization?\n\n        # noinspection PyUnresolvedReferences\n        import service.prefetch  # noqa: F401\n\n        # Make sure the saveddata db exists\n        if not os.path.exists(config.savePath):\n            os.mkdir(config.savePath)\n\n        eos.db.saveddata_meta.create_all()\n        from gui.app import PyfaApp\n\n        # set title if it wasn't supplied by argument\n        if options.title is None:\n            options.title = \"pyfa %s - Python Fitting Assistant\" % (config.getVersion())\n\n        pyfa = PyfaApp(False)\n\n        from gui.mainFrame import MainFrame\n\n        mf = MainFrame(options.title)\n        ErrorHandler.SetParent(mf)\n\n        # Start ESI token validation, this helps avoid token expiry\n        try:\n            from service.esi import Esi\n            esi = Esi.getInstance()\n            esi.startTokenValidation()\n            pyfalog.info(\"ESI token validation started\")\n        except (KeyboardInterrupt, SystemExit):\n            raise\n        except Exception as e:\n            pyfalog.warning(f\"failed to start ESI token validation thread:\\n{e}\")\n\n        if options.profile_path:\n            profile_path = os.path.join(options.profile_path, 'pyfa-{}.profile'.format(datetime.datetime.now().strftime('%Y%m%d_%H%M%S')))\n            pyfalog.debug(\"Starting pyfa with a profiler, saving to {}\".format(profile_path))\n            import cProfile\n\n            cProfile.run('pyfa.MainLoop()', profile_path)\n        else:\n            pyfa.MainLoop()\n\n        # When main loop is over, threads have 5 seconds to comply...\n        import threading\n        from utils.timer import CountdownTimer\n\n        timer = CountdownTimer(1)\n        stoppableThreads = []\n        for t in threading.enumerate():\n            if t is not threading.main_thread() and hasattr(t, 'stop'):\n                stoppableThreads.append(t)\n                t.stop()\n        for t in stoppableThreads:\n            t.join(timeout=timer.remainder())\n\n        # Nah, just kidding, no way to terminate threads - just try to exit\n        sys.exit()\n"
  },
  {
    "path": "pyfa.spec",
    "content": "# -*- mode: python -*-\n\nimport os\nfrom itertools import chain\nimport subprocess\nimport requests.certs\nimport platform\n\nos_name = platform.system()\nblock_cipher = None\n\nadded_files = [\n     ('imgs/gui/*.png', 'imgs/gui'),\n     ('imgs/gui/*.gif', 'imgs/gui'),\n     ('imgs/icons/*.png', 'imgs/icons'),\n     ('imgs/renders/*.png', 'imgs/renders'),\n     ('service/jargon/*.yaml', 'service/jargon'),\n     ('locale', 'locale'),\n     (requests.certs.where(), '.'),  # is this needed anymore?\n     ('eve.db', '.'),\n     ('README.md', '.'),\n     ('LICENSE', '.'),\n     ('version.yml', '.'),\n]\n\nicon = None\npathex = []\nupx = True\ndebug = False\n\nif os_name == 'Windows':\n    added_files.extend([\n        ('dist_assets/win/pyfa.ico', '.'),\n        ('dist_assets/win/pyfa.exe.manifest', '.'),\n    ])\n\n    icon = 'dist_assets/win/pyfa.ico'\n\n    pathex.extend([\n         # Need this, see https://github.com/pyinstaller/pyinstaller/issues/1566\n         # To get this, download and install windows 10 SDK\n         # If not building on Windows 10, this might be optional\n         r'C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\\DLLs\\x86'\n    ])\n\nif os_name == 'Darwin':\n    added_files.extend([\n        ('dist_assets/win/pyfa.ico', '.'),  # osx only\n    ])\n\n    icon = 'dist_assets/mac/pyfa.icns'\n\nimport_these = [\n    'numpy.core._dtype_ctypes',  # https://github.com/pyinstaller/pyinstaller/issues/3982\n    'sqlalchemy.ext.baked',  # windows build doesn't launch without if when using sqlalchemy 1.3.x\n    'pkg_resources.py2_warn'  # issue 2156\n]\n\n# Walk directories that do dynamic importing\npaths = ('eos/db/migrations', 'service/conversions')\nfor root, folders, files in chain.from_iterable(os.walk(path) for path in paths):\n    for file_ in files:\n        if file_.endswith(\".py\") and not file_.startswith(\"_\"):\n            mod_name = \"{}.{}\".format(\n                root.replace(\"/\", \".\"),\n                file_.split(\".py\")[0],\n            )\n            import_these.append(mod_name)\n\na = Analysis(['pyfa.py'],\n             pathex= pathex,\n             binaries=[],\n             datas=added_files,\n             hiddenimports=import_these,\n             hookspath=['dist_assets/pyinstaller_hooks'],\n             runtime_hooks=[],\n             excludes=['Tkinter'],\n             win_no_prefer_redirects=False,\n             win_private_assemblies=False,\n             cipher=block_cipher)\n\npyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)\n\n\nexe = EXE(\n    pyz,\n    a.scripts,\n    exclude_binaries=True,\n    name='pyfa',\n    debug=debug,\n    strip=False,\n    upx=upx,\n    icon= icon,\n    # version='win-version-info.txt',\n    console=False,\n    contents_directory='app',\n)\n\ncoll = COLLECT(\n    exe,\n    a.binaries,\n    a.zipfiles,\n    a.datas,\n    strip=False,\n    upx=upx,\n    name='pyfa',\n)\n\nif platform.system() == 'Darwin':\n    info_plist = {\n        'NSHighResolutionCapable': 'True',\n        'NSPrincipalClass': 'NSApplication',\n        'CFBundleName': 'pyfa',\n        'CFBundleDisplayName': 'pyfa',\n        'CFBundleIdentifier': 'org.pyfaorg.pyfa',\n        'CFBundleVersion': '1.2.3',\n        'CFBundleShortVersionString': '1.2.3',\n    }\n    app = BUNDLE(exe,\n        name='pyfa.app',\n        icon=icon,\n        bundle_identifier=None,\n        info_plist=info_plist\n    )\n"
  },
  {
    "path": "requirements.txt",
    "content": "wxPython==4.2.1\nlogbook==1.7.0.post0\nnumpy==1.26.2\nmatplotlib==3.8.2\npython-dateutil==2.8.2\nrequests==2.31.0\nsqlalchemy==1.4.50\ncryptography==42.0.4\nmarkdown2==2.4.11\npackaging==23.2\nroman==4.1\nbeautifulsoup4==4.12.2\npyyaml==6.0.1\npython-jose==3.3.0\nrequests-cache==1.1.1\n"
  },
  {
    "path": "scripts/__init__.py",
    "content": ""
  },
  {
    "path": "scripts/compile_data.py",
    "content": "#!/usr/bin/env python\r\n\"\"\"\r\nThis script bootstraps Phobos from a supplied path and feeds it\r\ninformation regarding EVE data paths and where to dump data. It then imports\r\nsome other scripts and uses them to convert the json data into a SQLite\r\ndatabase and then compare the new database to the existing one, producing a\r\ndiff which can then be used to assist in the updating.\r\n\"\"\"\r\n\r\nimport sys\r\nimport os\r\n\r\nimport argparse\r\n\r\nparser = argparse.ArgumentParser()\r\nparser.add_argument(\"-d\", \"--dump\", dest=\"dump_path\", help=\"Location of Phobos JSON dump directory\", required=True)\r\n\r\nargs = parser.parse_args()\r\ndump_path = os.path.expanduser(args.dump_path)\r\nscript_path = os.path.dirname(__file__)\r\n\r\ndef header(text, subtext=None):\r\n    print()\r\n    print(\"* \"*30)\r\n    print(text.center(60))\r\n    if subtext:\r\n        print(subtext.center(60))\r\n    print(\"* \"*30)\r\n    print()\r\n\r\n### SQL Convert\r\nimport jsonToSql\r\n\r\ndb_file = os.path.join(dump_path, \"eve.db\")\r\nheader(\"Converting Data to SQL\", db_file)\r\n\r\nif os.path.isfile(db_file):\r\n    os.remove(db_file)\r\n\r\njsonToSql.main(\"sqlite:///\" + db_file, dump_path)\r\n\r\n### Diff generation\r\nimport itemDiff\r\n\r\ndiff_file = os.path.join(dump_path, \"diff.txt\")\r\nold_db = os.path.join(script_path, \"..\", \"eve.db\")\r\n\r\nheader(\"Generating DIFF\", diff_file)\r\nold_stdout = sys.stdout\r\nsys.stdout = open(diff_file, 'w')\r\nitemDiff.main(old=old_db, new=db_file)\r\nsys.stdout = old_stdout\r\n\r\nheader(\"Commiting changes for \", diff_file)\r\n\r\nfrom subprocess import call\r\n\r\nos.chdir(dump_path)\r\n\r\ncall([\"git.exe\", \"add\", \".\"])\r\ncall([\"git.exe\", \"commit\", \"-m\", \"Commit\"])\r\n\r\nprint(\"\\nAll done.\")"
  },
  {
    "path": "scripts/compile_lang.py",
    "content": "import os, glob\r\nimport msgfmt\r\n\r\nimport sys\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\nlocale_path = os.path.abspath(os.path.join(script_dir, '..', 'locale'))\r\n\r\nfor name in glob.iglob(locale_path + '/**'):\r\n    if not os.path.isfile(name):\r\n        path = os.path.join(locale_path, name, 'LC_MESSAGES', 'lang')\r\n        sys.argv[1:] = [path + '.po']\r\n        msgfmt.reset()\r\n        msgfmt.main()\r\n"
  },
  {
    "path": "scripts/conversion.py",
    "content": "# Developed for module tiericide, this script will quickly print out a market\r\n# conversion map based on patch notes, as well as database conversion mapping.\r\n\r\nimport argparse\r\nimport os.path\r\nimport sqlite3\r\nimport sys\r\n\r\n# Add eos root path to sys.path so we can import ourselves\r\npath = os.path.dirname(__file__)\r\nsys.path.append(os.path.realpath(os.path.join(path, \"..\")))\r\n\r\n# change to correct conversion\r\n\r\nrename_phrase = \" renamed to \"\r\nconversion_phrase = \" -> \"\r\n\r\ntext = \"\"\"\r\nVeldspar Mining Crystal I -> Simple Asteroid Mining Crystal Type A I\r\nScordite Mining Crystal I -> Simple Asteroid Mining Crystal Type A I\r\nPyroxeres Mining Crystal I -> Simple Asteroid Mining Crystal Type A I\r\nPlagioclase Mining Crystal I -> Simple Asteroid Mining Crystal Type A I\r\nVeldspar Mining Crystal II -> Simple Asteroid Mining Crystal Type A II\r\nScordite Mining Crystal II -> Simple Asteroid Mining Crystal Type A II\r\nPyroxeres Mining Crystal II -> Simple Asteroid Mining Crystal Type A II\r\nPlagioclase Mining Crystal II -> Simple Asteroid Mining Crystal Type A II\r\nOmber Mining Crystal I -> Coherent Asteroid Mining Crystal Type A I\r\nKernite Mining Crystal I -> Coherent Asteroid Mining Crystal Type A I\r\nJaspet Mining Crystal I -> Coherent Asteroid Mining Crystal Type A I\r\nHemorphite Mining Crystal I -> Coherent Asteroid Mining Crystal Type A I\r\nHedbergite Mining Crystal I -> Coherent Asteroid Mining Crystal Type A I\r\nOmber Mining Crystal II -> Coherent Asteroid Mining Crystal Type A II\r\nJaspet Mining Crystal II -> Coherent Asteroid Mining Crystal Type A II\r\nKernite Mining Crystal II -> Coherent Asteroid Mining Crystal Type A II\r\nHedbergite Mining Crystal II -> Coherent Asteroid Mining Crystal Type A II\r\nHemorphite Mining Crystal II -> Coherent Asteroid Mining Crystal Type A II\r\nGneiss Mining Crystal I -> Variegated Asteroid Mining Crystal Type A I\r\nDark Ochre Mining Crystal I -> Variegated Asteroid Mining Crystal Type A I\r\nCrokite Mining Crystal I -> Variegated Asteroid Mining Crystal Type A I\r\nGneiss Mining Crystal II -> Variegated Asteroid Mining Crystal Type A II\r\nDark Ochre Mining Crystal II -> Variegated Asteroid Mining Crystal Type A II\r\nCrokite Mining Crystal II -> Variegated Asteroid Mining Crystal Type A II\r\nBistot Mining Crystal I -> Complex Asteroid Mining Crystal Type A I\r\nArkonor Mining Crystal I -> Complex Asteroid Mining Crystal Type A I\r\nSpodumain Mining Crystal I -> Complex Asteroid Mining Crystal Type A I\r\nBistot Mining Crystal II -> Complex Asteroid Mining Crystal Type A II\r\nArkonor Mining Crystal II -> Complex Asteroid Mining Crystal Type A II\r\nSpodumain Mining Crystal II -> Complex Asteroid Mining Crystal Type A II\r\n    \"\"\"\r\n\r\ndef main(old, new):\r\n    # Open both databases and get their cursors\r\n    old_db = sqlite3.connect(os.path.expanduser(old))\r\n    old_cursor = old_db.cursor()\r\n    new_db = sqlite3.connect(os.path.expanduser(new))\r\n    new_cursor = new_db.cursor()\r\n\r\n    renames = {}\r\n    conversions = {}\r\n\r\n    for x in text.splitlines():\r\n        x = x.strip()\r\n        if not x:\r\n            continue\r\n        if conversion_phrase in x:\r\n            c = x.split(conversion_phrase)\r\n            container = conversions\r\n        elif rename_phrase in x:\r\n            c = x.split(rename_phrase)\r\n            container = renames\r\n        else:\r\n            print(\"Unknown format: {}\".format(x))\r\n            sys.exit()\r\n\r\n        old_name, new_name = c[0], c[1]\r\n        old_item, new_item = None, None\r\n\r\n        if \"Blueprint\" in old_name or \"Blueprint\" in new_name:\r\n            print(\"Blueprint: Skipping this line: %s\"%x)\r\n            continue\r\n\r\n        # gather item info\r\n        new_cursor.execute('SELECT \"typeID\" FROM \"invtypes\" WHERE \"typeName\" = ?', (new_name,))\r\n        for row in new_cursor:\r\n            new_item = row[0]\r\n            break\r\n\r\n        old_cursor.execute('SELECT \"typeID\" FROM \"invtypes\" WHERE \"typeName\" = ?', (old_name,))\r\n        for row in old_cursor:\r\n            old_item = row[0]\r\n            break\r\n\r\n        if not old_item:\r\n            print(\"Error finding old item in {} -> {}\".format(old_name, new_name))\r\n        if not new_item:\r\n            print(\"Error finding new item in {} -> {}\".format(old_name, new_name))\r\n\r\n        if not container.get((new_item,new_name), None):\r\n            container[(new_item,new_name)] = []\r\n\r\n\r\n        container[(new_item,new_name)].append((old_item, old_name))\r\n\r\n    print(\"    # Renamed items\")\r\n\r\n    for new, old in renames.items():\r\n        if len(old) != 1:\r\n            print(\"Incorrect length, key: {}, value: {}\".format(new, old))\r\n            sys.exit()\r\n        old = old[0]\r\n\r\n        print(\"    \\\"{}\\\": \\\"{}\\\",\".format(old[1], new[1]))\r\n\r\n    # Convert modules\r\n    print(\"\\n    # Converted items\")\r\n\r\n    for new, olds in conversions.items():\r\n        for old in olds:\r\n            print(\"    \\\"{}\\\": \\\"{}\\\",\".format(old[1], new[1]))\r\n\r\n    print()\r\n    print()\r\n\r\n    for new, old in conversions.items():\r\n        print(\"    {}: (  # {}\".format(new[0], new[1]))\r\n        for item in old:\r\n            print(\"        {},  # {}\".format(item[0], item[1]))\r\n        print(\"    ),\")\r\n\r\n\r\nif __name__ == \"__main__\":\r\n    parser = argparse.ArgumentParser()\r\n    parser.add_argument(\"-o\", \"--old\", type=str)\r\n    parser.add_argument(\"-n\", \"--new\", type=str)\r\n    args = parser.parse_args()\r\n\r\n    main(args.old, args.new)\r\n"
  },
  {
    "path": "scripts/dump_crowdin_progress.py",
    "content": "import requests\r\nimport os\r\nimport json\r\nimport wx\r\nimport sys\r\n\r\nkey = os.environ.get(\"CROWDIN_API_KEY\", None)\r\n\r\nif key is None or key == '':\r\n    # if building from a forked PR, this is normal. Secret veariables are generally unavailable in those circumstances\r\n    print(\"CROWDIN_API_KEY env variable not found, cannot fetch translation status.\")\r\n    sys.exit()\r\n\r\nparams = {\r\n    'json': '',\r\n    'key': key\r\n}\r\n\r\nresp = requests.get('https://api.crowdin.com/api/project/pyfa/status', params=params)\r\ndata = resp.json()\r\n\r\nif resp.status_code != 200:\r\n    print(\"Error fetching Crowdin progress. Error: {}\".format(data['error']['message']))\r\n    sys.exit()\r\n\r\nfor x in data:\r\n    x['code'] = x['code'].replace('-', '_')\r\n    lang = wx.Locale.FindLanguageInfo(x['code'])\r\n    if lang is None:\r\n        print('Cannot find a match for '+x['code'])\r\n        continue\r\n    x['canonical_name'] = lang.CanonicalName\r\n\r\ndata = {x['canonical_name']: x for x in data}\r\n\r\nwith open(\"locale/progress.json\", 'w') as file:\r\n    file.seek(0)\r\n    file.truncate()\r\n    json.dump(data, file)\r\n"
  },
  {
    "path": "scripts/dump_data.py",
    "content": "#!/usr/bin/env python\r\n\"\"\"\r\nThis script bootstraps Phobos from a supplied path and feeds it\r\ninformation regarding EVE data paths and where to dump data. It then imports\r\nsome other scripts and uses them to convert the json data into a SQLite\r\ndatabase and then compare the new database to the existing one, producing a\r\ndiff which can then be used to assist in the updating.\r\n\"\"\"\r\n\r\nimport sys\r\nimport os\r\nimport json\r\nimport re\r\nimport natsort\r\nfrom collections import OrderedDict\r\n\r\nfrom itertools import izip_longest\r\n\r\ntry:\r\n    major = sys.version_info.major\r\n    minor = sys.version_info.minor\r\nexcept AttributeError:\r\n    major = sys.version_info[0]\r\n    minor = sys.version_info[1]\r\nif major != 2 or minor < 7:\r\n    sys.stderr.write('This application requires Python 2.7 to run, but {0}.{1} was used\\n'.format(major, minor))\r\n    sys.exit()\r\n\r\nimport argparse\r\nimport os.path\r\n\r\nparser = argparse.ArgumentParser(description='This script extracts data from EVE client and writes it into JSON files')\r\nparser.add_argument(\r\n    '-e', '--eve', required=True, help='Path to EVE client\\'s folder')\r\nparser.add_argument(\r\n    '-p', '--phobos', required=True, help=\"Location of Phobos\")\r\nparser.add_argument(\r\n    '-s', '--server', default='tq', help='Server to pull data from. Default is \"tq\"',\r\n    choices=('tq', 'sisi', 'duality', 'thunderdome', 'serenity'))\r\nparser.add_argument(\r\n    '-j', '--json', required=True, help='Output folder for the JSON files')\r\nparser.add_argument(\r\n    '-t', '--translate', default='multi',\r\n    help='Attempt to translate strings into specified language. Default is \"multi\"',\r\n    choices=('de', 'en-us', 'es', 'fr', 'it', 'ja', 'ru', 'zh', 'multi'))\r\n\r\nargs = parser.parse_args()\r\n\r\n# Expand home directory\r\npath_eve = os.path.expanduser(args.eve)\r\npath_json = os.path.expanduser(args.json)\r\n\r\nsys.path.append(os.path.expanduser(args.phobos))\r\n\r\nfrom flow import FlowManager\r\nfrom miner import *\r\nfrom writer import *\r\nfrom util import ResourceBrowser, Translator\r\nfrom writer.base import BaseWriter\r\nfrom writer.json_writer import CustomEncoder\r\n\r\n\r\nclass PyfaJsonWriter(BaseWriter):\r\n    \"\"\"\r\n    Class, which stores fetched data on storage device\r\n    as JSON files.\r\n    \"\"\"\r\n\r\n    def __init__(self, folder, indent=None, group=None):\r\n        self.base_folder = folder\r\n        self.indent = indent\r\n        self.group = group\r\n\r\n    @staticmethod\r\n    def __grouper(iterable, n, fillvalue=None):\r\n        args = [iter(iterable)] * n\r\n        return izip_longest(fillvalue=fillvalue, *args)\r\n\r\n    def write(self, miner_name, container_name, container_data):\r\n        # Create folder structure to path, if not created yet\r\n        folder = os.path.join(self.base_folder, self.__secure_name(miner_name))\r\n        if not os.path.exists(folder):\r\n            os.makedirs(folder, mode=0o755)\r\n\r\n        if type(container_data) == dict:\r\n            container_data = OrderedDict(natsort.natsorted(container_data.items()))\r\n\r\n        if self.group is None:\r\n            filepath = os.path.join(folder, u'{}.json'.format(self.__secure_name(container_name)))\r\n            self.__write_file(container_data, filepath)\r\n        else:\r\n            for i, group in enumerate(PyfaJsonWriter.__grouper(container_data, self.group)):\r\n                filepath = os.path.join(folder, u'{}.{}.json'.format(self.__secure_name(container_name), i))\r\n                if type(container_data) in (dict, OrderedDict):\r\n                    data = dict((k, container_data[k]) for k in group if k is not None)\r\n                else:\r\n                    data = [k for k in group if k is not None]\r\n                self.__write_file(data, filepath)\r\n\r\n    def __write_file(self, data, filepath):\r\n        data_str = json.dumps(\r\n            data,\r\n            ensure_ascii=False,\r\n            cls=CustomEncoder,\r\n            indent=self.indent,\r\n            # We're handling sorting in customized encoder\r\n            sort_keys=False)\r\n        data_bytes = data_str.encode('utf8')\r\n        with open(filepath, 'wb') as f:\r\n            f.write(data_bytes)\r\n\r\n    def __secure_name(self, name):\r\n        \"\"\"\r\n        As we're writing to disk, we should get rid of all\r\n        filesystem-specific symbols.\r\n        \"\"\"\r\n        # Prefer safe way - replace any characters besides\r\n        # alphanumeric and few special characters with\r\n        # underscore\r\n        writer_safe_name = re.sub(r'[^\\w\\-.,() ]', '_', name, flags=re.UNICODE)\r\n        return writer_safe_name\r\n\r\n\r\npath_eve=path_eve\r\nserver_alias=args.server\r\nlanguage=args.translate\r\npath_json=path_json\r\n\r\nresource_browser = ResourceBrowser(eve_path=path_eve, server_alias=server_alias)\r\n\r\npickle_miner = PickleMiner(resbrowser=resource_browser)\r\ntrans = Translator(pickle_miner=pickle_miner)\r\nfsdlite_miner = FsdLiteMiner(resbrowser=resource_browser, translator=trans)\r\nfsdbinary_miner = FsdBinaryMiner(resbrowser=resource_browser, translator=trans)\r\nminers = [\r\n    MetadataMiner(resbrowser=resource_browser),\r\n    fsdlite_miner,\r\n    fsdbinary_miner,\r\n    TraitMiner(fsdlite_miner=fsdlite_miner, fsdbinary_miner=fsdbinary_miner, translator=trans),\r\n    pickle_miner]\r\n\r\nwriters = [\r\n    PyfaJsonWriter(path_json, indent=2, group=5000)]\r\n\r\nfilters = 'dogmaattributes,dogmaeffects,dogmaunits,dynamicitemattributes,marketgroups,metagroups,' \\\r\n          'typedogma,requiredskillsfortypes,clonegrades,dbuffcollections,evecategories,evegroups,' \\\r\n          'evetypes,traits,metadata'\r\n\r\nFlowManager(miners, writers).run(filter_string=filters, language=language)\r\n"
  },
  {
    "path": "scripts/dump_version.py",
    "content": "\"\"\"\r\nThis script is solely used when generating builds. It generates a version number automatically using\r\ngit tags as it's basis. Whenever a build is created, run this file beforehand and it should replace\r\nthe old version number with the new one in VERSION.YML\r\n\"\"\"\r\n\r\nimport yaml\r\nimport subprocess\r\nimport os\r\n\r\ndef rreplace(s, old, new, occurrence):\r\n    li = s.rsplit(old, occurrence)\r\n    return new.join(li)\r\n\r\n\r\nwith open(\"version.yml\", 'r+') as file:\r\n    data = yaml.load(file, Loader=yaml.SafeLoader)\r\n    file.seek(0)\r\n    file.truncate()\r\n    # todo: run Version() on the tag to ensure that it's of proper formatting - fail a test if not and prevent building\r\n    # python's versioning spec doesn't handle the same format git describe outputs, so convert it.\r\n    label = os.environ[\"PYFA_VERSION\"].split('-') if \"PYFA_VERSION\" in os.environ else subprocess.check_output([\"git\", \"describe\", \"--tags\"]).strip().decode().split('-')\r\n    label = '-'.join(label[:-2])+'+'+'-'.join(label[-2:]) if len(label) > 1 else label[0]\r\n    label = rreplace(label, '+', '-', label.count('+') - 1)\r\n    print(label)\r\n    data['version'] = label\r\n    yaml.dump(data, file, default_flow_style=False)\r\n\r\n"
  },
  {
    "path": "scripts/dynamicattributes.py",
    "content": "#!/usr/bin/env python2.7\r\n\r\n\"\"\"\r\nThis script will generate a dynamicItemAttributes.json file using res files\r\n\"\"\"\r\n\r\n\r\nimport argparse\r\nimport json\r\nimport os\r\nfrom shutil import copyfile\r\n\r\nparser = argparse.ArgumentParser(description='This script updates module icons for pyfa')\r\nparser.add_argument('-e', '--eve', required=True, type=str, help='path to eve\\'s ')\r\nparser.add_argument('-s', '--server', required=False, default='tq', type=str, help='which server to use (defaults to tq)')\r\nargs = parser.parse_args()\r\n\r\nLOADER_FILE = 'app:/bin/dynamicItemAttributesLoader.pyd'\r\nRES_FILE = 'res:/staticdata/dynamicitemattributes.fsdbinary'\r\n\r\nbinaryfile = os.path.split(RES_FILE)[1]\r\n\r\neve_path = os.path.join(args.eve, 'index_{}.txt'.format(args.server))\r\nwith open(eve_path, 'r') as f:\r\n    lines = f.readlines()\r\n    file_index = {x.split(',')[0]: x.split(',') for x in lines}\r\n\r\nresfileindex = file_index['app:/resfileindex.txt']\r\n\r\nres_cache = os.path.join(args.eve, 'ResFiles')\r\n\r\nwith open(os.path.join(res_cache, resfileindex[1]), 'r') as f:\r\n    lines = f.readlines()\r\n    res_index = {x.split(',')[0].lower(): x.split(',') for x in lines}\r\n\r\n# Need to copy the file to  our cuirrent directory\r\nattribute_loader_file = os.path.join(res_cache, file_index[LOADER_FILE][1])\r\nto_path = os.path.dirname(os.path.abspath(__file__))\r\ncopyfile(attribute_loader_file, os.path.join(os.path.dirname(os.path.abspath(__file__)), os.path.split(LOADER_FILE)[1]))\r\n\r\n# The loader expect it to be the correct filename, so copy trhe file as well\r\ndynattribute_file = os.path.join(res_cache, res_index[RES_FILE.lower()][1])\r\nto_path = os.path.dirname(os.path.abspath(__file__))\r\ncopyfile(dynattribute_file, os.path.join(os.path.dirname(os.path.abspath(__file__)), binaryfile))\r\n\r\nimport dynamicItemAttributesLoader\r\n\r\nattributes = dynamicItemAttributesLoader.load(os.path.join(to_path, binaryfile))\r\n\r\nattributes_obj = {}\r\n\r\n# convert top level to dict\r\nattributes = dict(attributes)\r\n\r\n# This is such a brute force method. todo: recursively generate this by inspecting the objects\r\nfor k, v in attributes.items():\r\n    attributes_obj[k] = {\r\n        'attributeIDs': dict(v.attributeIDs),\r\n        'inputOutputMapping': list(v.inputOutputMapping)\r\n    }\r\n\r\n    for i, x in enumerate(v.inputOutputMapping):\r\n        attributes_obj[k]['inputOutputMapping'][i] = {\r\n            'resultingType': x.resultingType,\r\n            'applicableTypes': list(x.applicableTypes)\r\n        }\r\n\r\n    for k2, v2 in v.attributeIDs.items():\r\n        attributes_obj[k]['attributeIDs'][k2] = {\r\n            'min': v2.min,\r\n            'max': v2.max\r\n        }\r\n\r\nwith open('dynamicattributes.json', 'w') as outfile:\r\n    json.dump(attributes_obj, outfile)\r\n"
  },
  {
    "path": "scripts/effectUsedBy.py",
    "content": "#!/usr/bin/env python3\r\n#======================================================================\r\n# Copyright (C) 2010 Anton Vorobyov\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as\r\n# published by the Free Software Foundation, either version 3 of\r\n# the License, or (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public\r\n# License along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n#======================================================================\r\n\"\"\"\r\nGo through all effects and fill them with 'used by' comments.\r\n\r\nThere're several big stages:\r\nStage 1. Gather all required data into 'global' dictionaries. We have\r\n2 dictionaries per grouping type, one which lists groups per typeid,\r\nand another which lists typeIDs per group.\r\nStage 2. Cycle through each effect.\r\nStage 2.1. Compose similar set of dictionaries like in stage 1, but\r\nthis time we take into consideration typeIDs affected by effect picked\r\nin stage 2.\r\nStage 2.2. Create several lists (1 per grouping type) which will keep\r\nIDs of these groups which will describe set of the typeIDs, and start\r\niterating. Each iteration one ID will be appended to any of the lists.\r\nStage 2.2.1. Compose score dictionaries per grouping type, and\r\ncalculate total score for given grouping type.\r\nStage 2.2.2. Pick grouping type with highest score, find winner group\r\ninside grouping type, append its ID to corresponding list created in\r\nstage 2.2. If score is less than certain value, stop iterating. If some\r\nitems are not covered by set of winners from lists, they'll be\r\npresented as single items.\r\nStage 2.3. Print results to file if anything has been changed.\r\n\r\nGrouping types used are:\r\nGroups (groupID of an item);\r\nCategories (categoryID of groupID of an item);\r\nBase types (variations, like they appear on eve's variation tab);\r\nMarket groups + variations (marketGroupID of an item, plus variations\r\nof all items from given market group, excluding items with\r\nmarketGroupID).\r\nType names (various combinations of words taken from typeName of item).\r\n\"\"\"\r\n\r\nimport copy\r\nimport itertools\r\nimport os.path\r\nimport re\r\nimport sqlite3\r\nfrom optparse import OptionParser\r\n\r\nscript_dir = os.path.dirname(__file__)\r\n\r\n# Form list of effects for processing\r\neffects_path = os.path.join(script_dir, \"..\", \"eos\", \"effects.py\")\r\n\r\nusage = \"usage: %prog --database=DB [--debug=DEBUG]\"\r\nparser = OptionParser(usage=usage)\r\nparser.add_option(\"-d\", \"--database\", help=\"path to eve cache data dump in \\\r\n    sqlite format, default to eve database file included in pyfa (../eve.db)\",\r\n    type=\"string\", default=os.path.join(script_dir, \"..\", \"eve.db\"))\r\nparser.add_option(\"-u\", \"--debug\", help=\"debug level, 0 by default\",\r\n                  type=\"int\", default=0)\r\n(options, args) = parser.parse_args()\r\n\r\n# Show debugging prints?\r\n# 0 - Don't show debugging stuff and perform actual run\r\n# 1 - Show only for first iteration\r\n# 2 - Show for all iterations\r\nDEBUG_LEVEL = options.debug\r\n\r\n# Ways to control process:\r\n# Adjust grouping type weights (more number - better chance to pick\r\n# this grouping type)\r\nGROUP_WEIGHT = 1.0\r\nCATEGORY_WEIGHT = 1.0\r\nBASETYPE_WEIGHT = 1.0\r\nMARKETGROUPWITHVARS_WEIGHT = 0.3\r\nTYPENAMECOMBS_WEIGHT = 1.0\r\n# If score drops below this value, remaining items will be listed\r\n# without any grouping\r\nLOWEST_SCORE = 0.7\r\n\r\n# Adjust scoring formulae\r\ndef calc_innerscore(affected_decribed, affected_undescribed, total,\r\n                    pereffect_totalaffected, weight=1.0):\r\n    \"\"\"Inner score calculation formula\"\"\"\r\n    # Percentage of items affected by effect out of total number of\r\n    # items in this group\r\n    coverage_total = (affected_decribed + affected_undescribed) / total\r\n    # Same, but only described/undescribed items are taken\r\n    coverage_described = affected_decribed / total\r\n    coverage_undescribed = affected_undescribed / total\r\n    # Already described items should have less weight\r\n    coverage_additionalfactor = coverage_undescribed + coverage_described * 0\r\n    # If group has just one item - it should have zero score\r\n    affected_total_factor = affected_decribed + affected_undescribed - 1\r\n    innerscore = (coverage_total ** 0.23) * coverage_additionalfactor * \\\r\n    affected_total_factor * weight\r\n    return innerscore\r\n\r\ndef calc_outerscore(innerscore_dict, pereffect_totalaffected, weight):\r\n    \"\"\"Outer score calculation formula\"\"\"\r\n    # Return just max of the inner scores, including weight factor\r\n    if float(len(innerscore_dict)):\r\n        outerscore = innerscore_dict[max(innerscore_dict, key=lambda a:\r\n        innerscore_dict.get(a))] * weight\r\n        return outerscore\r\n    else: return 0.0\r\n\r\ndef validate_string(s):\r\n    try:\r\n        s.encode('ascii')\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except Exception:\r\n        return False\r\n    else:\r\n        return True\r\n\r\n# Connect to database and set up cursor\r\ndb = sqlite3.connect(os.path.expanduser(options.database))\r\ncursor = db.cursor()\r\n\r\n# Force some of the items to make them published\r\nFORCEPUB_TYPES = (\"Ibis\", \"Impairor\", \"Velator\", \"Reaper\")\r\nOVERRIDES_TYPEPUB = 'UPDATE invtypes SET published = 1 WHERE typeName = ?'\r\nfor typename in FORCEPUB_TYPES:\r\n    cursor.execute(OVERRIDES_TYPEPUB, (typename,))\r\n# Publish t3 Dessy Modes\r\ncursor.execute(\"UPDATE invtypes SET published = 1 WHERE groupID = ?\", (1306,))\r\n\r\n# Queries to get raw data\r\nQUERY_ALLEFFECTS = 'SELECT effectID, effectName FROM dgmeffects'\r\n# Limit categories to Ships (6), Modules (7), Charges (8), Skills (16),\r\n# Drones (18), Implants (20), Subsystems (32), and groups to\r\n# Effect Beacons (920)\r\n# edit - remove the restrictions here - it's a wide open selection of all typeid's\r\n# didn't want to muck too much with the code, but wanted to get most of the new stuff\r\n# updated correctly - @blitzmann\r\nQUERY_PUBLISHEDTYPEIDS = 'SELECT it.typeID FROM invtypes AS it INNER JOIN \\\r\ninvgroups AS ig ON it.groupID = ig.groupID INNER JOIN invcategories AS ic ON \\\r\nig.categoryID = ic.categoryID'\r\nQUERY_TYPEID_GROUPID = 'SELECT groupID FROM invtypes WHERE typeID = ? LIMIT 1'\r\nQUERY_GROUPID_CATEGORYID = 'SELECT categoryID FROM invgroups WHERE \\\r\ngroupID = ? LIMIT 1'\r\nQUERY_TYPEID_PARENTTYPEID = 'SELECT variationParentTypeID FROM invtypes WHERE \\\r\ntypeID = ? LIMIT 1'\r\nQUERY_TYPEID_MARKETGROUPID = 'SELECT marketGroupID FROM invtypes WHERE \\\r\ntypeID = ? LIMIT 1'\r\nQUERY_TYPEID_TYPENAME = 'SELECT typeName FROM invtypes WHERE typeID = ? \\\r\nLIMIT 1'\r\nQUERY_MARKETGROUPID_PARENTGROUPID = 'SELECT parentGroupID FROM \\\r\ninvmarketgroups WHERE marketGroupID = ? LIMIT 1'\r\nQUERY_EFFECTID_TYPEID = 'SELECT typeID FROM dgmtypeeffects WHERE effectID = ?'\r\n# Queries for printing\r\nQUERY_GROUPID_GROUPNAME = 'SELECT name FROM invgroups WHERE groupID = ? \\\r\nLIMIT 1'\r\nQUERY_CATEGORYID_CATEGORYNAME = 'SELECT name FROM invcategories \\\r\nWHERE categoryID = ? LIMIT 1'\r\nQUERY_MARKETGROUPID_MARKETGROUPNAME = 'SELECT marketGroupName FROM \\\r\ninvmarketgroups WHERE marketGroupID = ? LIMIT 1'\r\n\r\n# Compose list of effects w/o symbols which eos doesn't take into\r\n# consideration, we'll use it to find proper effect IDs from file\r\n# names\r\nglobalmap_effectid_effectnamedb = {}\r\ncursor.execute(QUERY_ALLEFFECTS)\r\nfor row in cursor:\r\n    effectid = row[0]\r\n    effectnamedb = row[1]\r\n    globalmap_effectid_effectnamedb[effectid] = effectnamedb\r\n\r\n# Stage 1\r\n\r\n# Published types set\r\npublishedtypes = set()\r\ncursor.execute(QUERY_PUBLISHEDTYPEIDS)\r\nfor row in cursor:\r\n    publishedtypes.add(row[0])\r\n\r\n# Compose group maps\r\n# { groupid : set(typeid) }\r\nglobalmap_groupid_typeid = {}\r\n# { typeid : groupid }\r\nglobalmap_typeid_groupid = {}\r\nfor typeid in publishedtypes:\r\n    groupid = 0\r\n    cursor.execute(QUERY_TYPEID_GROUPID, (typeid,))\r\n    for row in cursor:\r\n        groupid = row[0]\r\n    if not groupid in globalmap_groupid_typeid:\r\n        globalmap_groupid_typeid[groupid] = set()\r\n    globalmap_groupid_typeid[groupid].add(typeid)\r\n    globalmap_typeid_groupid[typeid] = groupid\r\n\r\n# Category maps\r\n# { categoryid : set(typeid) }\r\nglobalmap_categoryid_typeid =  {}\r\n# { typeid : categoryid }\r\nglobalmap_typeid_categoryid =  {}\r\nfor typeid in publishedtypes:\r\n    categoryid = 0\r\n    cursor.execute(QUERY_GROUPID_CATEGORYID,\r\n                   (globalmap_typeid_groupid[typeid],))\r\n    for row in cursor:\r\n        categoryid = row[0]\r\n    if not categoryid in globalmap_categoryid_typeid:\r\n        globalmap_categoryid_typeid[categoryid] = set()\r\n    globalmap_categoryid_typeid[categoryid].add(typeid)\r\n    globalmap_typeid_categoryid[typeid] = categoryid\r\n\r\n# Base type maps\r\n# { basetypeid : set(typeid) }\r\nglobalmap_basetypeid_typeid =  {}\r\n# { typeid : basetypeid }\r\nglobalmap_typeid_basetypeid =  {}\r\nfor typeid in publishedtypes:\r\n    # Not all typeIDs in the database have baseTypeID, so assign some\r\n    # default value to it\r\n    basetypeid = 0\r\n    cursor.execute(QUERY_TYPEID_PARENTTYPEID, (typeid,))\r\n    for row in cursor:\r\n        basetypeid = row[0]\r\n    # If base type is not published or is not set in database, consider\r\n    # item as variation of self\r\n    if basetypeid not in publishedtypes:\r\n        basetypeid = typeid\r\n    if not basetypeid in globalmap_basetypeid_typeid:\r\n        globalmap_basetypeid_typeid[basetypeid] = set()\r\n    globalmap_basetypeid_typeid[basetypeid].add(typeid)\r\n    globalmap_typeid_basetypeid[typeid] = basetypeid\r\n\r\n# Market group maps - we won't use these for further processing, but\r\n# just as helper for composing other maps\r\n# { marketgroupid : set(typeid) }\r\nglobalmap_marketgroupid_typeid =  {}\r\n# { typeid : set(marketgroupid) }\r\nglobalmap_typeid_marketgroupid =  {}\r\nfor typeid in publishedtypes:\r\n    marketgroupid = 0\r\n    cursor.execute(QUERY_TYPEID_MARKETGROUPID, (typeid,))\r\n    for row in cursor:\r\n        marketgroupid = row[0]\r\n    if not marketgroupid:\r\n        continue\r\n    if not marketgroupid in globalmap_marketgroupid_typeid:\r\n        globalmap_marketgroupid_typeid[marketgroupid] = set()\r\n    globalmap_marketgroupid_typeid[marketgroupid].add(typeid)\r\n# Copy items to all parent market groups\r\nINITIALMARKETGROUPIDS = tuple(globalmap_marketgroupid_typeid)\r\nfor marketgroupid in INITIALMARKETGROUPIDS:\r\n    # Limit depths for case if database will refer to groups making\r\n    # the loop\r\n    cyclingmarketgroupid = marketgroupid\r\n    for depth in range(20):\r\n        cursor_parentmarket = db.cursor()\r\n        cursor_parentmarket.execute(QUERY_MARKETGROUPID_PARENTGROUPID,\r\n                                    (cyclingmarketgroupid,))\r\n        for row in cursor_parentmarket:\r\n            cyclingmarketgroupid = row[0]\r\n        if cyclingmarketgroupid:\r\n            if not cyclingmarketgroupid in globalmap_marketgroupid_typeid:\r\n                globalmap_marketgroupid_typeid[cyclingmarketgroupid] = set()\r\n            globalmap_marketgroupid_typeid[cyclingmarketgroupid].update\\\r\n            (globalmap_marketgroupid_typeid[marketgroupid])\r\n        else: break\r\n# Now, make a reverse map\r\nfor marketgroupid, typeidset in list(globalmap_marketgroupid_typeid.items()):\r\n    for typeid in typeidset:\r\n        if not typeid in globalmap_typeid_marketgroupid:\r\n            globalmap_typeid_marketgroupid[typeid] = set()\r\n        globalmap_typeid_marketgroupid[typeid].add(marketgroupid)\r\n\r\n# Combine market groups and variations\r\n# { marketgroupid : set(typeidwithvariations) }\r\nglobalmap_marketgroupid_typeidwithvariations = \\\r\ncopy.deepcopy(globalmap_marketgroupid_typeid)\r\n# { typeidwithvariations : set(marketgroupid) }\r\nglobalmap_typeidwithvariations_marketgroupid = {}\r\nfor marketgroupid in globalmap_marketgroupid_typeidwithvariations:\r\n    typestoadd = set()\r\n    for typeid in globalmap_marketgroupid_typeidwithvariations[marketgroupid]:\r\n        if typeid in globalmap_basetypeid_typeid:\r\n            for variationid in globalmap_basetypeid_typeid[typeid]:\r\n                # Do not include items which have market group, even if\r\n                # they're variation\r\n                if not variationid in globalmap_typeid_marketgroupid:\r\n                    typestoadd.add(variationid)\r\n    globalmap_marketgroupid_typeidwithvariations[marketgroupid].update\\\r\n    (typestoadd)\r\n# Make reverse map using simple way too\r\nfor marketgroupid, typeidwithvariationsset in \\\r\nlist(globalmap_marketgroupid_typeidwithvariations.items()):\r\n    for typeid in typeidwithvariationsset:\r\n        if not typeid in globalmap_typeidwithvariations_marketgroupid:\r\n            globalmap_typeidwithvariations_marketgroupid[typeid] = set()\r\n        globalmap_typeidwithvariations_marketgroupid[typeid].add(marketgroupid)\r\n\r\n# Item names map\r\n# We need to include category ID to avoid combining items from different\r\n# categories (e.g. skills and modules) and length of original name to\r\n# assess word coverage of various type name combinations\r\n# { ((typenamecomb), categoryid) : set(typeid) }\r\nglobalmap_typenamecombtuple_typeid =  {}\r\n# { typeid : (set((typenamecomb)), len(typename)) }\r\nglobalmap_typeid_typenamecombtuple =  {}\r\nfor typeid in publishedtypes:\r\n    typename = \"\"\r\n    cursor.execute(QUERY_TYPEID_TYPENAME, (typeid,))\r\n    for row in cursor:\r\n        typename = row[0]\r\n    # Split strings into separate words\r\n    typenamesplitted = []\r\n    # Start from the whole type name\r\n    remainingstring = typename\r\n    # We will pick word each iteration\r\n    iterate = True\r\n    while iterate:\r\n        # This regexp helps to split into words with spaces and dashes\r\n        # between them, for example: CX|-|1, Hardwiring| - |Inherent,\r\n        # Zainou| |'Snapshot'\r\n        separatingpattern_general = \\\r\n        \"((?P<left_part>[^ -]+)(?P<separator>[ -]+)(?P<right_part>([^ -].*)))\"\r\n        # This will help to split names like those used in implants,\r\n        # for example: ZET||500, EE||8\r\n        separatingpattern_series = \\\r\n        \"((?P<left_part>[A-Za-z]{2,4})(?P<right_part>[0-9]{1,4}.*))\"\r\n        # Check remainingstring using both criteria\r\n        matchobject_general = re.match(separatingpattern_general,\r\n                                       remainingstring)\r\n        matchobject_series = re.match(separatingpattern_series,\r\n                                      remainingstring)\r\n        # Now, we need to find which criterion satisfies us\r\n        usegeneral = False\r\n        useseries = False\r\n        # If remaining string meets both criteria\r\n        if matchobject_general and matchobject_series:\r\n            # We check which occurs first and pick it\r\n            shift_general = len(matchobject_general.group(\"left_part\"))\r\n            shift_series = len(matchobject_series.group(\"left_part\"))\r\n            if shift_general <= shift_series:\r\n                usegeneral = True\r\n            else:\r\n                useseries = True\r\n        # If only one criterion is met, just pick it\r\n        elif matchobject_general:\r\n            usegeneral = True\r\n        elif matchobject_series:\r\n            useseries = True\r\n        # Now, actually split string into word, separator and remaining\r\n        # string and append word to list of words of current typename\r\n        if usegeneral:\r\n            newword = matchobject_general.group(\"left_part\")\r\n            separator = matchobject_general.group(\"separator\")\r\n            remainingstring = matchobject_general.group(\"right_part\")\r\n            typenamesplitted.append(newword)\r\n        elif useseries:\r\n            newword = matchobject_series.group(\"left_part\")\r\n            separator = \"\"\r\n            remainingstring = matchobject_series.group(\"right_part\")\r\n            typenamesplitted.append(newword)\r\n        # If we didn't match any regexp, then we see last word - append\r\n        # it too and stop iterating\r\n        else:\r\n            typenamesplitted.append(remainingstring)\r\n            iterate = False\r\n    # Iterate through number of words which will be used to compose\r\n    # combinations\r\n    for wordnumindex in range(len(typenamesplitted)):\r\n        # Iterate through all possible combinations\r\n        for typenamecomb in itertools.combinations(typenamesplitted,\r\n                                                   wordnumindex + 1):\r\n            typenamecombtuple = (typenamecomb,\r\n                                 globalmap_typeid_categoryid[typeid])\r\n            if not typenamecombtuple in globalmap_typenamecombtuple_typeid:\r\n                globalmap_typenamecombtuple_typeid[typenamecombtuple] = set()\r\n            globalmap_typenamecombtuple_typeid[typenamecombtuple].add(typeid)\r\n            if not typeid in globalmap_typeid_typenamecombtuple:\r\n                globalmap_typeid_typenamecombtuple[typeid] = \\\r\n                (set(), len(typenamesplitted))\r\n            globalmap_typeid_typenamecombtuple[typeid][0].add(typenamecomb)\r\n\r\n# Stage 2\r\n\r\neffectids_eos = set()\r\n\r\nwith open(effects_path) as f:\r\n    for line in f:\r\n        m = re.match(r\"class Effect(\\d+)\\(\", line)\r\n        if m:\r\n            effectid = int(m.group(1))\r\n            effectids_eos.add(effectid)\r\n\r\n# Go through effect definitions\r\nfor effectid in effectids_eos:\r\n    # Stage 2.1\r\n    # Set of items which are affected by current effect\r\n    pereffectlist_usedbytypes = set()\r\n    if effectid not in globalmap_effectid_effectnamedb:\r\n        print(f\"Warning: effect {effectid} is defined in eos but not in database\")\r\n        continue\r\n    effectnamedb = globalmap_effectid_effectnamedb[effectid]\r\n    cursor.execute(QUERY_EFFECTID_TYPEID, (effectid,))\r\n    for row in cursor:\r\n        typeid = row[0]\r\n        if typeid in publishedtypes:\r\n            pereffectlist_usedbytypes.add(typeid)\r\n    # Number of items affected by current effect\r\n    pereffect_totalaffected = len(pereffectlist_usedbytypes)\r\n\r\n    # Compose per-group map of items which are affected by current\r\n    # effect\r\n    # { groupid : (set(typeid), describes) }\r\n    effectmap_groupid_typeid = {}\r\n    for typeid in pereffectlist_usedbytypes:\r\n        groupid = globalmap_typeid_groupid[typeid]\r\n        if not groupid in effectmap_groupid_typeid:\r\n            effectmap_groupid_typeid[groupid] = [set(), False]\r\n        effectmap_groupid_typeid[groupid][0].add(typeid)\r\n\r\n    # Now, per-category map of items\r\n    # { categoryid : (set(typeid), describes) }\r\n    effectmap_categoryid_typeid = {}\r\n    for typeid in pereffectlist_usedbytypes:\r\n        categoryid = globalmap_typeid_categoryid[typeid]\r\n        if not categoryid in effectmap_categoryid_typeid:\r\n            effectmap_categoryid_typeid[categoryid] = [set(), False]\r\n        effectmap_categoryid_typeid[categoryid][0].add(typeid)\r\n\r\n    # Per-base type map of variations\r\n    # { basetypeid : (set(typeid), describes) }\r\n    effectmap_basetypeid_typeid = {}\r\n    for typeid in pereffectlist_usedbytypes:\r\n        basetypeid = globalmap_typeid_basetypeid[typeid]\r\n        if not basetypeid in effectmap_basetypeid_typeid:\r\n            effectmap_basetypeid_typeid[basetypeid] = [set(), False]\r\n        effectmap_basetypeid_typeid[basetypeid][0].add(typeid)\r\n\r\n    # Per-market group map with item variations\r\n    # { marketgroupid : (set(typeidwithvariations), describes) }\r\n    effectmap_marketgroupid_typeidwithvars = {}\r\n    for typeid in pereffectlist_usedbytypes:\r\n        if typeid in globalmap_typeid_marketgroupid:\r\n            marketGroupIDs = globalmap_typeid_marketgroupid[typeid]\r\n        else:\r\n            marketGroupIDs = set()\r\n        for marketgroupid in marketGroupIDs:\r\n            if not marketgroupid in effectmap_marketgroupid_typeidwithvars:\r\n                effectmap_marketgroupid_typeidwithvars[marketgroupid] = \\\r\n                [set(), False]\r\n            effectmap_marketgroupid_typeidwithvars[marketgroupid][0].add\\\r\n            (typeid)\r\n\r\n    # Per-type name combination map\r\n    # { ((typenamecomb), categoryid) : (set(typeid), describes) }\r\n    effectmap_typenamecombtuple_typeid = {}\r\n    for typeid in pereffectlist_usedbytypes:\r\n        typenamecombs = globalmap_typeid_typenamecombtuple[typeid][0]\r\n        for typenamecomb in typenamecombs:\r\n            typenamecombtuple = (typenamecomb,\r\n                                 globalmap_typeid_categoryid[typeid])\r\n            if not typenamecombtuple in effectmap_typenamecombtuple_typeid:\r\n                effectmap_typenamecombtuple_typeid[typenamecombtuple] = \\\r\n                [set(), False]\r\n            effectmap_typenamecombtuple_typeid[typenamecombtuple][0].add\\\r\n            (typeid)\r\n\r\n    stopdebugprints = False\r\n    if DEBUG_LEVEL >= 1:\r\n        print((\"\\nEffect:\", effectnamedb))\r\n        print((\"Total items affected: {0}\".format(pereffect_totalaffected)))\r\n\r\n    # Stage 2.2\r\n    # This set holds all ids of already described items\r\n    effect_describedtypes = set()\r\n    # These lists contain ids of each grouping type which are used\r\n    # to describe items from the set above\r\n    describedbygroup = []\r\n    describedbycategory = []\r\n    describedbybasetype = []\r\n    describedbymarketgroupwithvars = []\r\n    describedbytypenamecomb = []\r\n\r\n    # Each iteration some group is picked which will be used\r\n    # to describe set of items\r\n    iterate = True\r\n    while iterate:\r\n        # Stage 2.2.1\r\n        # Stores scores for each group which describe set of items\r\n        groupscore = {}\r\n        for groupid in effectmap_groupid_typeid:\r\n            # Skip groups which are already used for item\r\n            # description (have 'describes' flag set to True)\r\n            describesflag = effectmap_groupid_typeid[groupid][1]\r\n            if not describesflag:\r\n                # Items from current group affected by current\r\n                # effect\r\n                affectedset = effectmap_groupid_typeid[groupid][0]\r\n                # Number of affected items from current group;\r\n                # Already described\r\n                affected_decribed = len(affectedset.intersection\r\n                                        (effect_describedtypes))\r\n                # Yet undescribed\r\n                affected_undescribed =  len(affectedset.difference\r\n                                            (effect_describedtypes))\r\n                # Total number of items from this group (not\r\n                # necessarily affected by current effect)\r\n                total = len(globalmap_groupid_typeid[groupid])\r\n                # Calculate inner score and push it into score\r\n                # dictionary for current grouping type\r\n                groupscore[groupid] = calc_innerscore\\\r\n                (affected_decribed, affected_undescribed, total,\r\n                 pereffect_totalaffected)\r\n                # Debug prints for inner data\r\n                if DEBUG_LEVEL >= 1 and not stopdebugprints:\r\n                    cursor.execute(QUERY_GROUPID_GROUPNAME, (groupid,))\r\n                    for row in cursor:\r\n                        groupName = row[0]\r\n                    coverage = (affected_decribed +\r\n                    affected_undescribed) / total * 100\r\n                    # If debug level is 1, print results only for\r\n                    # 1st iteration\r\n                    if DEBUG_LEVEL == 1:\r\n                        printstr = \"Group: {0}: {1}/{2} ({3:.3}%, inner \\\r\nscore: {4:.3})\"\r\n                        print((printstr.format(groupName,\r\n                              affected_undescribed, total, coverage,\r\n                              groupscore[groupid])))\r\n                    # If it's 2, print results for each\r\n                    # iteration, so we need to include number\r\n                    # of already described items\r\n                    if DEBUG_LEVEL == 2:\r\n                        printstr = \"Group: {0}: {1}+{2}/{3} ({4:.3}%, \\\r\ninner score: {5:.3})\"\r\n                        print((printstr.format(groupName,\r\n                              affected_undescribed, affected_decribed,\r\n                              total, coverage, groupscore[groupid])))\r\n        # Calculate outer score for this grouping type\r\n        groupouterscore = calc_outerscore(groupscore,\r\n                                          pereffect_totalaffected,\r\n                                          GROUP_WEIGHT)\r\n        # Debug print for outer data\r\n        if DEBUG_LEVEL >= 1 and not stopdebugprints:\r\n            printstr = \"Groups outer score: {0:.3}\"\r\n            print((printstr.format(groupouterscore)))\r\n\r\n        categoryscore = {}\r\n        for categoryid in effectmap_categoryid_typeid:\r\n            describesflag = effectmap_categoryid_typeid[categoryid][1]\r\n            if not describesflag:\r\n                affectedset = effectmap_categoryid_typeid[categoryid][0]\r\n                affected_decribed = len(affectedset.intersection\r\n                                        (effect_describedtypes))\r\n                affected_undescribed =  len(affectedset.difference\r\n                                            (effect_describedtypes))\r\n                total = len(globalmap_categoryid_typeid[categoryid])\r\n                categoryscore[categoryid] = calc_innerscore\\\r\n                (affected_decribed, affected_undescribed, total,\r\n                 pereffect_totalaffected)\r\n                if DEBUG_LEVEL >= 1 and not stopdebugprints:\r\n                    cursor.execute(QUERY_CATEGORYID_CATEGORYNAME,\r\n                                   (categoryid,))\r\n                    for row in cursor:\r\n                        categoryname = row[0]\r\n                    coverage = (affected_decribed +\r\n                    affected_undescribed) / total * 100\r\n                    if DEBUG_LEVEL == 1:\r\n                        printstr = \"Category: {0}: {1}/{2} ({3:.3}%, \\\r\ninner score: {4:.3})\"\r\n                        print((printstr.format(categoryname,\r\n                              affected_undescribed, total, coverage,\r\n                              categoryscore[categoryid])))\r\n                    if DEBUG_LEVEL == 2:\r\n                        printstr = \"Category: {0}: {1}+{2}/{3} ({4:.3}%, \\\r\ninner score: {5:.3})\"\r\n                        print((printstr.format(categoryname,\r\n                              affected_undescribed, affected_decribed,\r\n                              total, coverage, categoryscore[categoryid])))\r\n        categoryouterscore = calc_outerscore(categoryscore,\r\n                                             pereffect_totalaffected,\r\n                                             CATEGORY_WEIGHT)\r\n        if DEBUG_LEVEL >= 1 and not stopdebugprints:\r\n            printstr = \"Category outer score: {0:.3}\"\r\n            print((printstr.format(categoryouterscore)))\r\n\r\n        basetypescore = {}\r\n        for basetypeid in effectmap_basetypeid_typeid:\r\n            describesflag = effectmap_basetypeid_typeid[basetypeid][1]\r\n            if not describesflag:\r\n                affectedset = effectmap_basetypeid_typeid[basetypeid][0]\r\n                affected_decribed = len(affectedset.intersection\r\n                                        (effect_describedtypes))\r\n                affected_undescribed =  len(affectedset.difference\r\n                                            (effect_describedtypes))\r\n                total = len(globalmap_basetypeid_typeid[basetypeid])\r\n                basetypescore[basetypeid] = calc_innerscore\\\r\n                (affected_decribed, affected_undescribed, total,\r\n                 pereffect_totalaffected)\r\n                if DEBUG_LEVEL >= 1 and not stopdebugprints:\r\n                    cursor.execute(QUERY_TYPEID_TYPENAME, (basetypeid,))\r\n                    for row in cursor:\r\n                        basetypename = row[0]\r\n                    coverage = (affected_decribed +\r\n                    affected_undescribed) / total * 100\r\n                    if DEBUG_LEVEL == 1:\r\n                        printstr = \"Base item: {0}: {1}/{2} ({3:.3}%, \\\r\ninner score: {4:.3})\"\r\n                        print((printstr.format(basetypename,\r\n                              affected_undescribed, total, coverage,\r\n                              basetypescore[basetypeid])))\r\n                    if DEBUG_LEVEL == 2:\r\n                        printstr = \"Base item: {0}: {1}+{2}/{3} ({4:.3}%, \\\r\ninner score: {5:.3})\"\r\n                        print((printstr.format(basetypename,\r\n                              affected_undescribed, affected_decribed,\r\n                              total, coverage, basetypescore[basetypeid])))\r\n        basetypeouterscore = calc_outerscore(basetypescore,\r\n                                             pereffect_totalaffected,\r\n                                             BASETYPE_WEIGHT)\r\n        #Print outer data\r\n        if DEBUG_LEVEL >= 1 and not stopdebugprints:\r\n            printstr = \"Base item outer score: {0:.3}\"\r\n            print((printstr.format(basetypeouterscore)))\r\n\r\n        marketgroupwithvarsscore = {}\r\n        for marketgroupid in effectmap_marketgroupid_typeidwithvars:\r\n            describesflag = effectmap_marketgroupid_typeidwithvars\\\r\n            [marketgroupid][1]\r\n            if not describesflag:\r\n                affectedset = effectmap_marketgroupid_typeidwithvars\\\r\n                [marketgroupid][0]\r\n                affected_decribed = len(affectedset.intersection\r\n                                        (effect_describedtypes))\r\n                affected_undescribed =  len(affectedset.difference\r\n                                            (effect_describedtypes))\r\n                total = len(globalmap_marketgroupid_typeidwithvariations\r\n                            [marketgroupid])\r\n                marketgroupwithvarsscore[marketgroupid] = calc_innerscore\\\r\n                (affected_decribed, affected_undescribed, total,\r\n                 pereffect_totalaffected)\r\n                if DEBUG_LEVEL >= 1 and not stopdebugprints:\r\n                    cursor.execute(QUERY_MARKETGROUPID_MARKETGROUPNAME,\r\n                                   (marketgroupid,))\r\n                    for row in cursor:\r\n                        marketgroupname = row[0]\r\n                    # Prepend market group name with its parents\r\n                    # names\r\n                    prependparentid = marketgroupid\r\n                    #Limit depth in case if market groups form a loop\r\n                    for depth in range(20):\r\n                        cursor_parentmarket = db.cursor()\r\n                        cursor_parentmarket.execute\\\r\n                        (QUERY_MARKETGROUPID_PARENTGROUPID,\r\n                         (prependparentid,))\r\n                        for row in cursor_parentmarket:\r\n                            prependparentid = row[0]\r\n                        if prependparentid:\r\n                            cursor.execute\\\r\n                            (QUERY_MARKETGROUPID_MARKETGROUPNAME,\r\n                             (prependparentid,))\r\n                            for row in cursor:\r\n                                marketgroupname = \"{0} > {1}\".format\\\r\n                                (row[0],marketgroupname)\r\n                        else:\r\n                            break\r\n                    coverage = (affected_decribed +\r\n                    affected_undescribed) / total * 100\r\n                    if DEBUG_LEVEL == 1:\r\n                        printstr = \"Market group with variations: {0}: \\\r\n{1}/{2} ({3:.3}%, inner score: {4:.3})\"\r\n                        print((printstr.format(marketgroupname,\r\n                              affected_undescribed, total, coverage,\r\n                              marketgroupwithvarsscore[marketgroupid])))\r\n                    if DEBUG_LEVEL == 2:\r\n                        printstr = \"Market group with variations: {0}: \\\r\n{1}+{2}/{3} ({4:.3}%, inner score: {5:.3})\"\r\n                        print((printstr.format(marketgroupname,\r\n                              affected_undescribed,\r\n                              affected_decribed, total, coverage,\r\n                              marketgroupwithvarsscore[marketgroupid])))\r\n        marketgroupwithvarsouterscore = calc_outerscore\\\r\n        (marketgroupwithvarsscore, pereffect_totalaffected,\r\n         MARKETGROUPWITHVARS_WEIGHT)\r\n        if DEBUG_LEVEL >= 1 and not stopdebugprints:\r\n            printstr = \"Market group outer score: {0:.3}\"\r\n            print((printstr.format(marketgroupwithvarsouterscore)))\r\n\r\n        typenamecombscore = {}\r\n        for typenamecombtuple in effectmap_typenamecombtuple_typeid:\r\n            describesflag = effectmap_typenamecombtuple_typeid\\\r\n            [typenamecombtuple][1]\r\n            if not describesflag:\r\n                affectedset = effectmap_typenamecombtuple_typeid\\\r\n                [typenamecombtuple][0]\r\n                affected_decribed = len(affectedset.intersection\r\n                                        (effect_describedtypes))\r\n                affected_undescribed =  len(affectedset.difference\r\n                                            (effect_describedtypes))\r\n                total = len(globalmap_typenamecombtuple_typeid\r\n                            [typenamecombtuple])\r\n                # Type names are special: wee also need to consider\r\n                # how certain word combination covers full type\r\n                # name\r\n                averagecoverage = 0\r\n                itemsnamedlikethis = effectmap_typenamecombtuple_typeid\\\r\n                [typenamecombtuple][0]\r\n                for typeid in itemsnamedlikethis:\r\n                    # Add number of words in combination divided by\r\n                    # total number of words from any given item\r\n                    averagecoverage += len(typenamecombtuple[0]) / \\\r\n                    globalmap_typeid_typenamecombtuple[typeid][1]\r\n                # Then divide by number of items we checked, making\r\n                # it real average\r\n                averagecoverage = averagecoverage / len(itemsnamedlikethis)\r\n                # Pass average coverage as additional balancing\r\n                # factor with certain weight factor (80%)\r\n                typenamecombscore[typenamecombtuple] = \\\r\n                calc_innerscore(affected_decribed, affected_undescribed,\r\n                                total, pereffect_totalaffected,\r\n                                0.2 + averagecoverage*0.8)\r\n                if DEBUG_LEVEL >= 1 and not stopdebugprints:\r\n                    typenamecombprintable = \" \".join(typenamecombtuple[0])\r\n                    coverage = (affected_decribed +\r\n                                affected_undescribed) / total * 100\r\n                    if DEBUG_LEVEL == 1:\r\n                        printstr = \"Type name combination: \\\"{0}\\\": \\\r\n{1}/{2} ({3:.3}%, inner score: {4:.3})\"\r\n                        print((printstr.format(typenamecombprintable,\r\n                              affected_undescribed, total, coverage,\r\n                              typenamecombscore[typenamecombtuple])))\r\n                    if DEBUG_LEVEL == 2:\r\n                        printstr = \"Type name combination: \\\"{0}\\\": \\\r\n{1}+{2}/{3} ({4:.3}%, inner score: {5:.3})\"\r\n                        print((printstr.format(typenamecombprintable,\r\n                              affected_undescribed, affected_decribed,\r\n                              total, coverage,\r\n                              typenamecombscore[typenamecombtuple])))\r\n        typenamecombouterscore = calc_outerscore(typenamecombscore,\r\n                                                 pereffect_totalaffected,\r\n                                                 TYPENAMECOMBS_WEIGHT)\r\n        if DEBUG_LEVEL >= 1 and not stopdebugprints:\r\n            printstr = \"Type name combination outer score: {0:.3}\"\r\n            print((printstr.format(typenamecombouterscore)))\r\n\r\n        # Don't print anything after 1st iteration at 1st debugging\r\n        # level\r\n        if DEBUG_LEVEL == 1:\r\n            stopdebugprints = True\r\n\r\n        # Stage 2.2.2\r\n        # Pick max score from outer scores of all grouping types\r\n        maxouterscore = max(groupouterscore, categoryouterscore,\r\n                            basetypeouterscore,\r\n                            marketgroupwithvarsouterscore,\r\n                            typenamecombouterscore)\r\n        # Define lower limit for score, below which there will be\r\n        # no winners\r\n        if maxouterscore >= LOWEST_SCORE:\r\n            # If scores are similar, priorities are:\r\n            # category > group > name > market group > base type\r\n            if maxouterscore == categoryouterscore:\r\n                # Pick ID of category which has highest score among\r\n                # other categories\r\n                categorywinner = max(categoryscore, key=categoryscore.get)\r\n                # Add it to the list of categories which describe\r\n                # set of items\r\n                describedbycategory.append(categorywinner)\r\n                # Add all items described by winning category into\r\n                # set of described items\r\n                effect_describedtypes.update\\\r\n                (globalmap_categoryid_typeid[categorywinner])\r\n                # Set 'describes' flag to avoid processing of this\r\n                # category during following iterations\r\n                effectmap_categoryid_typeid[categorywinner][1] = True\r\n                if DEBUG_LEVEL >= 2:\r\n                    printstr = \"Category winner: {0}\"\r\n                    print((printstr.format(categorywinner)))\r\n            elif maxouterscore == groupouterscore:\r\n                groupwinner = max(groupscore, key=groupscore.get)\r\n                describedbygroup.append(groupwinner)\r\n                effect_describedtypes.update\\\r\n                (globalmap_groupid_typeid[groupwinner])\r\n                effectmap_groupid_typeid[groupwinner][1] = True\r\n                if DEBUG_LEVEL >= 2:\r\n                    printstr = \"Group winner: {0}\"\r\n                    print((printstr.format(groupwinner)))\r\n            elif maxouterscore == typenamecombouterscore:\r\n                typenamecombwinner = max(typenamecombscore,\r\n                                         key=typenamecombscore.get)\r\n                describedbytypenamecomb.append(typenamecombwinner)\r\n                effect_describedtypes.update\\\r\n                (globalmap_typenamecombtuple_typeid[typenamecombwinner])\r\n                effectmap_typenamecombtuple_typeid[typenamecombwinner]\\\r\n                [1] = True\r\n                if DEBUG_LEVEL >= 2:\r\n                    printstr = \"Named like winner: {0}\"\r\n                    print((printstr.format(typenamecombwinner)))\r\n            elif maxouterscore == marketgroupwithvarsouterscore:\r\n                marketgroupwithvarswinner = max(marketgroupwithvarsscore,\r\n                key=marketgroupwithvarsscore.get)\r\n                describedbymarketgroupwithvars.append\\\r\n                (marketgroupwithvarswinner)\r\n                effect_describedtypes.update\\\r\n                (globalmap_marketgroupid_typeidwithvariations\r\n                 [marketgroupwithvarswinner])\r\n                effectmap_marketgroupid_typeidwithvars\\\r\n                [marketgroupwithvarswinner][1] = True\r\n                if DEBUG_LEVEL >= 2:\r\n                    printstr = \"Market group with variations winner: {0}\"\r\n                    print((printstr.format(marketgroupwithvarswinner)))\r\n            elif maxouterscore == basetypeouterscore:\r\n                basetypewinner = max(basetypescore, key=basetypescore.get)\r\n                describedbybasetype.append(basetypewinner)\r\n                effect_describedtypes.update\\\r\n                (globalmap_basetypeid_typeid[basetypewinner])\r\n                effectmap_basetypeid_typeid[basetypewinner][1] = True\r\n                if DEBUG_LEVEL >= 2:\r\n                    printstr = \"Base item winner: {0}\"\r\n                    print((printstr.format(basetypewinner)))\r\n        # Stop if we have score less than some critical value,\r\n        # all undescribed items will be provided as plain list\r\n        else:\r\n            iterate = False\r\n            if DEBUG_LEVEL >= 2:\r\n                print(\"No winners this iteration\")\r\n        # Also stop if we described all items\r\n        if pereffectlist_usedbytypes.issubset(effect_describedtypes):\r\n            iterate = False\r\n        # Print separator for 2nd debugging level, to separate\r\n        # debug data of one iteration from another\r\n        if DEBUG_LEVEL >= 2:\r\n            print(\"---\")\r\n    singleitems = set(pereffectlist_usedbytypes).difference\\\r\n    (effect_describedtypes)\r\n    if DEBUG_LEVEL >= 1:\r\n        print(\"Effect will be described by:\")\r\n        print((\"Single item IDs:\", singleitems))\r\n        print((\"Group IDs:\", describedbygroup))\r\n        print((\"Category IDs:\", describedbycategory))\r\n        print((\"Base item IDs:\", describedbybasetype))\r\n        print((\"Market group with variations IDs:\",\r\n              describedbymarketgroupwithvars))\r\n        print((\"Type name combinations:\", describedbytypenamecomb))\r\n\r\n    # Stage 2.1\r\n\r\n    # These lists will contain IDs and some metadata in tuples\r\n    printing_types = []\r\n    printing_groups = []\r\n    printing_categories = []\r\n    printing_basetypes = []\r\n    printing_marketgroupswithvars = []\r\n    printing_typenamecombtuples = []\r\n\r\n    # Gather data for printing in the form of tuples, each tuple has\r\n    # grouping type ID, human-readable name and category name\r\n    for typeid in singleitems:\r\n        typename = \"\"\r\n        cursor.execute(QUERY_TYPEID_TYPENAME, (typeid,))\r\n        for row in cursor:\r\n            typename = row[0]\r\n        categoryname = \"\"\r\n        cursor.execute(QUERY_CATEGORYID_CATEGORYNAME,\r\n                       (globalmap_typeid_categoryid[typeid],))\r\n        for row in cursor:\r\n            categoryname = row[0]\r\n        printing_types.append((typeid, typename, categoryname))\r\n    for groupid in describedbygroup:\r\n        groupName = \"\"\r\n        cursor.execute(QUERY_GROUPID_GROUPNAME, (groupid,))\r\n        for row in cursor:\r\n            groupName = row[0]\r\n        categoryid = 0\r\n        cursor.execute(QUERY_GROUPID_CATEGORYID, (groupid,))\r\n        for row in cursor:\r\n            categoryid = row[0]\r\n        categoryname = \"\"\r\n        cursor.execute(QUERY_CATEGORYID_CATEGORYNAME, (categoryid,))\r\n        for row in cursor:\r\n            categoryname = row[0]\r\n        printing_groups.append((groupid, groupName, categoryname))\r\n    for categoryid in describedbycategory:\r\n        categoryname = \"\"\r\n        cursor.execute(QUERY_CATEGORYID_CATEGORYNAME, (categoryid,))\r\n        for row in cursor:\r\n            categoryname = row[0]\r\n        printing_categories.append((categoryid, categoryname))\r\n    for basetypeid in describedbybasetype:\r\n        basetypename = \"\"\r\n        cursor.execute(QUERY_TYPEID_TYPENAME, (basetypeid,))\r\n        for row in cursor:\r\n            basetypename = row[0]\r\n        categoryname = \"\"\r\n        cursor.execute(QUERY_CATEGORYID_CATEGORYNAME,\r\n                       (globalmap_typeid_categoryid[basetypeid],))\r\n        for row in cursor:\r\n            categoryname = row[0]\r\n        printing_basetypes.append((basetypeid, basetypename,\r\n                                   categoryname))\r\n    for marketgroupid in describedbymarketgroupwithvars:\r\n        cursor.execute(QUERY_MARKETGROUPID_MARKETGROUPNAME,\r\n                       (marketgroupid,))\r\n        for row in cursor:\r\n            marketgroupname = row[0]\r\n        # Prepend market group name with its parents names\r\n        prependparentid = marketgroupid\r\n        # Limit depth to avoid looping, as usual\r\n        for depth in range(20):\r\n            cursor_parentmarket = db.cursor()\r\n            cursor_parentmarket.execute(QUERY_MARKETGROUPID_PARENTGROUPID,\r\n                                        (prependparentid,))\r\n            for row in cursor_parentmarket:\r\n                prependparentid = row[0]\r\n            if prependparentid:\r\n                cursor.execute(QUERY_MARKETGROUPID_MARKETGROUPNAME,\r\n                               (prependparentid,))\r\n                for row in cursor:\r\n                    marketgroupname = \"{0} > {1}\".format(row[0],\r\n                                                         marketgroupname)\r\n            else:\r\n                break\r\n        printing_marketgroupswithvars.append((marketgroupid,\r\n                                              marketgroupname))\r\n    for typenamecombtuple in describedbytypenamecomb:\r\n        typenamecombprint = \" \".join(typenamecombtuple[0])\r\n        categoryname = \"\"\r\n        cursor.execute(QUERY_CATEGORYID_CATEGORYNAME,\r\n                       (typenamecombtuple[1],))\r\n        for row in cursor:\r\n            categoryname = row[0]\r\n        printing_typenamecombtuples.append((typenamecombtuple,\r\n                                            typenamecombprint,\r\n                                            categoryname))\r\n\r\n    # Use separate list per grouping type to ease grouping type\r\n    # sorting\r\n    printing_typelines = []\r\n    # Sort by item name first\r\n    printing_types = sorted(printing_types, key=lambda tuple: tuple[1])\r\n    # Then sort by category name\r\n    printing_types = sorted(printing_types, key=lambda tuple: tuple[2])\r\n    for type in printing_types:\r\n        # Append line for printing to list\r\n        catname = type[2]\r\n        typename = type[1]\r\n        printstr = \"{0}: {1}\".format(catname, typename)\r\n        if validate_string(printstr):\r\n            printing_typelines.append(printstr)\r\n    # Do the same for groups\r\n    printing_grouplines = []\r\n    printing_groups = sorted(printing_groups, key=lambda tuple: tuple[1])\r\n    printing_groups = sorted(printing_groups, key=lambda tuple: tuple[2])\r\n    for group in printing_groups:\r\n        catname = group[2]\r\n        groupname = group[1]\r\n        described = len(effectmap_groupid_typeid[group[0]][0])\r\n        total = len(globalmap_groupid_typeid[group[0]])\r\n        printstr = \"{0}s from group: {1} ({2} of {3})\".format(catname, groupname, described, total)\r\n        if validate_string(printstr):\r\n            printing_grouplines.append(printstr)\r\n    # Process categories\r\n    printing_categorylines = []\r\n    printing_categories = sorted(printing_categories,\r\n                                 key=lambda tuple: tuple[1])\r\n    for category in printing_categories:\r\n        catname = category[1]\r\n        described = len(effectmap_categoryid_typeid[category[0]][0])\r\n        total = len(globalmap_categoryid_typeid[category[0]])\r\n        printstr = \"Items from category: {0} ({1} of {2})\".format(catname, described, total)\r\n        if validate_string(printstr):\r\n            printing_categorylines.append(printstr)\r\n    # Process variations\r\n    printing_basetypelines = []\r\n    printing_basetypes = sorted(printing_basetypes,\r\n                                key=lambda tuple: tuple[1])\r\n    printing_basetypes = sorted(printing_basetypes,\r\n                                key=lambda tuple: tuple[2])\r\n    for basetype in printing_basetypes:\r\n        catname = basetype[2].lower()\r\n        basename = basetype[1]\r\n        described = len(effectmap_basetypeid_typeid[basetype[0]][0])\r\n        total = len(globalmap_basetypeid_typeid[basetype[0]])\r\n        printstr = \"Variations of {0}: {1} ({2} of {3})\".format(catname, basename, described, total)\r\n        if validate_string(printstr):\r\n            printing_basetypelines.append(printstr)\r\n    # Process market groups with variations\r\n    printing_marketgroupwithvarslines = []\r\n    printing_marketgroupswithvars = sorted(printing_marketgroupswithvars,\r\n                                           key=lambda tuple: tuple[1])\r\n    for marketgroup in printing_marketgroupswithvars:\r\n        marketgroupname = marketgroup[1]\r\n        described = len(effectmap_marketgroupid_typeidwithvars\r\n                        [marketgroup[0]][0])\r\n        total = len(globalmap_marketgroupid_typeidwithvariations\r\n                    [marketgroup[0]])\r\n        printstr = \"Items from market group: {0} ({1} of {2})\".format(marketgroupname, described, total)\r\n        if validate_string(printstr):\r\n            printing_marketgroupwithvarslines.append(printstr)\r\n    # Process type name combinations\r\n    printing_typenamecombtuplelines = []\r\n    printing_typenamecombtuples = sorted(printing_typenamecombtuples,\r\n                                         key=lambda tuple: tuple[1])\r\n    printing_typenamecombtuples = sorted(printing_typenamecombtuples,\r\n                                         key=lambda tuple: tuple[2])\r\n    for typenamecomb in printing_typenamecombtuples:\r\n        catname = typenamecomb[2]\r\n        namedlike = typenamecomb[1]\r\n        described = len(effectmap_typenamecombtuple_typeid\r\n                        [typenamecomb[0]][0])\r\n        total = len(globalmap_typenamecombtuple_typeid[typenamecomb[0]])\r\n        printstr = \"{0}s named like: {1} ({2} of {3})\".format(catname, namedlike, described, total)\r\n        if validate_string(printstr):\r\n            printing_typenamecombtuplelines.append(printstr)\r\n\r\n    # Compose single list of lines using custom sorting\r\n    commentlines = printing_categorylines + printing_grouplines + \\\r\n    printing_typenamecombtuplelines + printing_marketgroupwithvarslines + \\\r\n    printing_basetypelines + printing_typelines\r\n    # Prepend list with \"used by\"\r\n    if commentlines:\r\n        commentlines = [f\"{effectnamedb}\\n\\nUsed by:\"] + commentlines\r\n    # If effect isn't used, write it to file and to terminal\r\n    else:\r\n        commentlines = [\"Not used by any item\"]\r\n        print(f\"Warning: effect {effectid} {effectnamedb} is not used by any item\")\r\n    # Prepare docstring\r\n    docstring_new = \"\\n\".join(commentlines)\r\n    docstring_new = ['\"\"\"'] + docstring_new.splitlines() + ['\"\"\"']\r\n    docstring_new = [f'    {l}' if l else '' for l in docstring_new]\r\n    # If we're not debugging - write changes to the file\r\n    if DEBUG_LEVEL == 0:\r\n        with open(effects_path) as f:\r\n            data = f.read()\r\n        lines = data.splitlines()\r\n        effect_idx = None\r\n        docstart_idx = None\r\n        docend_idx = None\r\n        for lineidx, line in enumerate(lines):\r\n            if line.startswith(f'class Effect{effectid}('):\r\n                effect_idx = lineidx\r\n                docstart_idx = effect_idx + 1\r\n                # Remove docstring if it's there\r\n                if lines[docstart_idx].strip() == '\"\"\"':\r\n                    for docidx, docline in enumerate(lines[docstart_idx + 1:], start=docstart_idx + 1):\r\n                        if docline.strip() == '\"\"\"':\r\n                            docend_idx = docidx\r\n                            break\r\n                break\r\n        if docstart_idx is not None and docend_idx is not None:\r\n            docstring_old = lines[docstart_idx:docend_idx + 1]\r\n            if docstring_new == docstring_old:\r\n                continue\r\n            else:\r\n                lines = lines[:docstart_idx] + lines[docend_idx + 1:]\r\n        lines = lines[:effect_idx + 1] + docstring_new + lines[effect_idx + 1:]\r\n        if lines[-1].strip():\r\n            lines.append('')\r\n        with open(effects_path, 'w') as f:\r\n            f.write('\\n'.join(lines))\r\n    elif DEBUG_LEVEL >= 2:\r\n        print(\"Comment to write to file:\")\r\n        print((\"\\n\".join(commentlines)))\r\n"
  },
  {
    "path": "scripts/findNonMarket.py",
    "content": "#!/usr/bin/env python3\r\n\r\nimport copy\r\nimport os.path\r\nimport re\r\nimport sqlite3\r\n\r\nscript_dir = os.path.dirname(str(__file__, sys.getfilesystemencoding()))\r\n\r\n# Connect to database and set up cursor\r\ndb = sqlite3.connect(os.path.join(script_dir, \"..\", \"eve.db\"))\r\ncursor = db.cursor()\r\n\r\n# Queries to get raw data\r\nQUERY_ALLEFFECTS = 'SELECT effectID, effectName FROM dgmeffects'\r\n# Limit categories to\r\n# \\Modules (7), Charges (8), Drones (18),\r\n# Implants (20), Subsystems (32)\r\nQUERY_PUBLISHEDTYPEIDS = 'SELECT it.typeID FROM invtypes AS it INNER JOIN \\\r\ninvgroups AS ig ON it.groupID = ig.groupID INNER JOIN invcategories AS ic ON \\\r\nig.categoryID = ic.categoryID WHERE it.published = 1 AND ic.categoryID IN \\\r\n(7, 8, 18, 20, 32)'\r\nQUERY_TYPEID_GROUPID = 'SELECT groupID FROM invtypes WHERE typeID = ? LIMIT 1'\r\nQUERY_GROUPID_CATEGORYID = 'SELECT categoryID FROM invgroups WHERE \\\r\ngroupID = ? LIMIT 1'\r\nQUERY_TYPEID_PARENTTYPEID = 'SELECT parentTypeID FROM invmetatypes WHERE \\\r\ntypeID = ? LIMIT 1'\r\nQUERY_TYPEID_MARKETGROUPID = 'SELECT marketGroupID FROM invtypes WHERE \\\r\ntypeID = ? LIMIT 1'\r\nQUERY_TYPEID_TYPENAME = 'SELECT typeName FROM invtypes WHERE typeID = ? \\\r\nLIMIT 1'\r\nQUERY_MARKETGROUPID_PARENTGROUPID = 'SELECT parentGroupID FROM \\\r\ninvmarketgroups WHERE marketGroupID = ? LIMIT 1'\r\nQUERY_EFFECTID_TYPEID = 'SELECT typeID FROM dgmtypeeffects WHERE effectID = ?'\r\n# Queries for printing\r\nQUERY_GROUPID_GROUPNAME = 'SELECT groupName FROM invgroups WHERE groupID = ? \\\r\nLIMIT 1'\r\nQUERY_CATEGORYID_CATEGORYNAME = 'SELECT categoryName FROM invcategories \\\r\nWHERE categoryID = ? LIMIT 1'\r\nQUERY_MARKETGROUPID_MARKETGROUPNAME = 'SELECT marketGroupName FROM \\\r\ninvmarketgroups WHERE marketGroupID = ? LIMIT 1'\r\nQUERY_TYPEID_ATTRIBS = 'SELECT da.attributeName, dta.value FROM dgmattribs AS \\\r\nda INNER JOIN dgmtypeattribs AS dta ON dta.attributeID = da.attributeID WHERE \\\r\ndta.typeID = ?'\r\nQUERY_TYPEID_BASEATTRIBS = 'SELECT volume, mass, capacity FROM invtypes WHERE \\\r\ntypeID = ?'\r\nQUERY_TYPEID_METAGROUPID = 'SELECT metaGroupID FROM invmetatypes WHERE typeID = ?'\r\nQUERY_METAGROUPNAME_METAGROUPID = 'SELECT metaGroupName FROM invmetagroups WHERE metaGroupID = ?'\r\n\r\n# Compose list of effects w/o symbols which eos doesn't take into\r\n# consideration, we'll use it to find proper effect IDs from file\r\n# names\r\nglobalmap_effectnameeos_effectid = {}\r\nSTRIPSPEC = \"[^A-Za-z0-9]\"\r\ncursor.execute(QUERY_ALLEFFECTS)\r\nfor row in cursor:\r\n    effectid = row[0]\r\n    effectnamedb = row[1]\r\n    effectnameeos = re.sub(STRIPSPEC, \"\", effectnamedb)\r\n    # There may be different effects with the same name, so form\r\n    # sets of IDs\r\n    if not effectnameeos in globalmap_effectnameeos_effectid:\r\n        globalmap_effectnameeos_effectid[effectnameeos] = set()\r\n    globalmap_effectnameeos_effectid[effectnameeos].add(effectid)\r\n\r\n# Published types set\r\npublishedtypes = set()\r\ncursor.execute(QUERY_PUBLISHEDTYPEIDS)\r\nfor row in cursor:\r\n    publishedtypes.add(row[0])\r\n\r\n# Compose group maps\r\n# { groupid : set(typeid) }\r\nglobalmap_groupid_typeid = {}\r\n# { typeid : groupid }\r\nglobalmap_typeid_groupid = {}\r\nfor typeid in publishedtypes:\r\n    groupid = 0\r\n    cursor.execute(QUERY_TYPEID_GROUPID, (typeid,))\r\n    for row in cursor:\r\n        groupid = row[0]\r\n    if not groupid in globalmap_groupid_typeid:\r\n        globalmap_groupid_typeid[groupid] = set()\r\n    globalmap_groupid_typeid[groupid].add(typeid)\r\n    globalmap_typeid_groupid[typeid] = groupid\r\n\r\n# Category maps\r\n# { categoryid : set(typeid) }\r\nglobalmap_categoryid_typeid =  {}\r\n# { typeid : categoryid }\r\nglobalmap_typeid_categoryid =  {}\r\nfor typeid in publishedtypes:\r\n    categoryid = 0\r\n    cursor.execute(QUERY_GROUPID_CATEGORYID,\r\n                   (globalmap_typeid_groupid[typeid],))\r\n    for row in cursor:\r\n        categoryid = row[0]\r\n    if not categoryid in globalmap_categoryid_typeid:\r\n        globalmap_categoryid_typeid[categoryid] = set()\r\n    globalmap_categoryid_typeid[categoryid].add(typeid)\r\n    globalmap_typeid_categoryid[typeid] = categoryid\r\n\r\n# Base type maps\r\n# { basetypeid : set(typeid) }\r\nglobalmap_basetypeid_typeid =  {}\r\n# { typeid : basetypeid }\r\nglobalmap_typeid_basetypeid =  {}\r\nfor typeid in publishedtypes:\r\n    # Not all typeIDs in the database have baseTypeID, so assign some\r\n    # default value to it\r\n    basetypeid = 0\r\n    cursor.execute(QUERY_TYPEID_PARENTTYPEID, (typeid,))\r\n    for row in cursor:\r\n        basetypeid = row[0]\r\n    # If base type is not published or is not set in database, consider\r\n    # item as variation of self\r\n    if basetypeid not in publishedtypes:\r\n        basetypeid = typeid\r\n    if not basetypeid in globalmap_basetypeid_typeid:\r\n        globalmap_basetypeid_typeid[basetypeid] = set()\r\n    globalmap_basetypeid_typeid[basetypeid].add(typeid)\r\n    globalmap_typeid_basetypeid[typeid] = basetypeid\r\n\r\n# Market group maps - we won't use these for further processing, but\r\n# just as helper for composing other maps\r\n# { marketgroupid : set(typeid) }\r\nglobalmap_marketgroupid_typeid =  {}\r\n# { typeid : set(marketgroupid) }\r\nglobalmap_typeid_marketgroupid =  {}\r\nfor typeid in publishedtypes:\r\n    marketgroupid = 0\r\n    cursor.execute(QUERY_TYPEID_MARKETGROUPID, (typeid,))\r\n    for row in cursor:\r\n        marketgroupid = row[0]\r\n    if not marketgroupid:\r\n        continue\r\n    if not marketgroupid in globalmap_marketgroupid_typeid:\r\n        globalmap_marketgroupid_typeid[marketgroupid] = set()\r\n    globalmap_marketgroupid_typeid[marketgroupid].add(typeid)\r\n# Copy items to all parent market groups\r\nINITIALMARKETGROUPIDS = tuple(globalmap_marketgroupid_typeid)\r\nfor marketgroupid in INITIALMARKETGROUPIDS:\r\n    # Limit depths for case if database will refer to groups making\r\n    # the loop\r\n    cyclingmarketgroupid = marketgroupid\r\n    for depth in range(20):\r\n        cursor_parentmarket = db.cursor()\r\n        cursor_parentmarket.execute(QUERY_MARKETGROUPID_PARENTGROUPID,\r\n                                    (cyclingmarketgroupid,))\r\n        for row in cursor_parentmarket:\r\n            cyclingmarketgroupid = row[0]\r\n        if cyclingmarketgroupid:\r\n            if not cyclingmarketgroupid in globalmap_marketgroupid_typeid:\r\n                globalmap_marketgroupid_typeid[cyclingmarketgroupid] = set()\r\n            globalmap_marketgroupid_typeid[cyclingmarketgroupid].update\\\r\n            (globalmap_marketgroupid_typeid[marketgroupid])\r\n        else: break\r\n# Now, make a reverse map\r\nfor marketgroupid, typeidset in list(globalmap_marketgroupid_typeid.items()):\r\n    for typeid in typeidset:\r\n        if not typeid in globalmap_typeid_marketgroupid:\r\n            globalmap_typeid_marketgroupid[typeid] = set()\r\n        globalmap_typeid_marketgroupid[typeid].add(marketgroupid)\r\n\r\n# Combine market groups and variations\r\n# { marketgroupid : set(typeidwithvariations) }\r\nglobalmap_marketgroupid_typeidwithvariations = \\\r\ncopy.deepcopy(globalmap_marketgroupid_typeid)\r\n# { typeidwithvariations : set(marketgroupid) }\r\nglobalmap_typeidwithvariations_marketgroupid = {}\r\nfor marketgroupid in globalmap_marketgroupid_typeidwithvariations:\r\n    typestoadd = set()\r\n    for typeid in globalmap_marketgroupid_typeidwithvariations[marketgroupid]:\r\n        if typeid in globalmap_basetypeid_typeid:\r\n            for variationid in globalmap_basetypeid_typeid[typeid]:\r\n                # Do not include items which have market group, even if\r\n                # they're variation\r\n                if not variationid in globalmap_typeid_marketgroupid:\r\n                    typestoadd.add(variationid)\r\n    globalmap_marketgroupid_typeidwithvariations[marketgroupid].update\\\r\n    (typestoadd)\r\n# Make reverse map using simple way too\r\nfor marketgroupid, typeidwithvariationsset in \\\r\nlist(globalmap_marketgroupid_typeidwithvariations.items()):\r\n    for typeid in typeidwithvariationsset:\r\n        if not typeid in globalmap_typeidwithvariations_marketgroupid:\r\n            globalmap_typeidwithvariations_marketgroupid[typeid] = set()\r\n        globalmap_typeidwithvariations_marketgroupid[typeid].add(marketgroupid)\r\n\r\n\r\nnonmarket = set()\r\nfor typeid in publishedtypes:\r\n    if not typeid in globalmap_typeidwithvariations_marketgroupid:\r\n        nonmarket.add(typeid)\r\n\r\ndef getItemAttrs(typeid):\r\n    attrs = {}\r\n    cursor.execute(QUERY_TYPEID_ATTRIBS, (typeid,))\r\n    for row in cursor:\r\n        attrs[row[0]] = row[1]\r\n    cursor.execute(QUERY_TYPEID_BASEATTRIBS, (typeid,))\r\n    for row in cursor:\r\n        if row[0] is not None:\r\n            attrs[\"volume\"] = row[0]\r\n        if row[1] is not None:\r\n            attrs[\"mass\"] = row[1]\r\n        if row[2] is not None:\r\n            attrs[\"capacity\"] = row[2]\r\n    return attrs\r\n\r\ndef suggestMktGrp(typeid, mode=\"grp\"):\r\n    typecat = globalmap_typeid_categoryid[typeid]\r\n    catname = \"\"\r\n    cursor.execute(QUERY_CATEGORYID_CATEGORYNAME, (typecat,))\r\n    for row in cursor:\r\n        catname = row[0]\r\n    typename = \"\"\r\n    cursor.execute(QUERY_TYPEID_TYPENAME, (typeid,))\r\n    for row in cursor:\r\n        typename = row[0]\r\n    if catname.lower() == \"module\" and \"civilian\" in typename.lower():\r\n        return 760\r\n    attrs = getItemAttrs(typeid)\r\n    implantness = None\r\n    boosterness = None\r\n    cpu = None\r\n    power = None\r\n    droneBandwidthUsed = None\r\n    volume = None\r\n    if \"implantness\" in attrs:\r\n        implantness = attrs[\"implantness\"]\r\n    if \"boosterness\" in attrs:\r\n        boosterness = attrs[\"boosterness\"]\r\n    if \"cpu\" in attrs:\r\n        cpu = attrs[\"cpu\"]\r\n    if \"power\" in attrs:\r\n        power = attrs[\"power\"]\r\n    if \"droneBandwidthUsed\" in attrs:\r\n        droneBandwidthUsed = attrs[\"droneBandwidthUsed\"]\r\n    if \"volume\" in attrs:\r\n        volume = attrs[\"volume\"]\r\n    if mode == \"grp\":\r\n        grp = globalmap_typeid_groupid[typeid]\r\n        comrades = globalmap_groupid_typeid[grp]\r\n    elif mode == \"cat\":\r\n        cat = globalmap_typeid_categoryid[typeid]\r\n        comrades = globalmap_categoryid_typeid[cat]\r\n    mktgrps_w_cos = {}\r\n    for co in comrades:\r\n        marketgroupid = 0\r\n        cursor.execute(QUERY_TYPEID_MARKETGROUPID, (co,))\r\n        for row in cursor:\r\n            marketgroupid = row[0]\r\n        if not marketgroupid:\r\n            continue\r\n        if not marketgroupid in mktgrps_w_cos:\r\n            mktgrps_w_cos[marketgroupid] = 0.0\r\n        similarity_factor = 1.0\r\n        metagrp = 0\r\n        cursor.execute(QUERY_TYPEID_METAGROUPID, (co,))\r\n        for row in cursor:\r\n            metagrp = row[0]\r\n        if not metagrp in (0,1,2,14):\r\n            similarity_factor *= 0.01\r\n        if implantness or boosterness or cpu or power or droneBandwidthUsed or volume:\r\n            cgrpattrs = getItemAttrs(co)\r\n        if implantness:\r\n            if \"implantness\" in cgrpattrs:\r\n                if cgrpattrs[\"implantness\"] != implantness:\r\n                    similarity_factor *= 0.1\r\n            else:\r\n                similarity_factor *= 0.01\r\n        if boosterness:\r\n            if \"boosterness\" in cgrpattrs:\r\n                if cgrpattrs[\"boosterness\"] != boosterness:\r\n                    similarity_factor *= 0.1\r\n            else:\r\n                similarity_factor *= 0.01\r\n        if cpu:\r\n            if \"cpu\" in cgrpattrs and cgrpattrs[\"cpu\"]:\r\n                    fct = cpu / cgrpattrs[\"cpu\"]\r\n                    if fct > 1:\r\n                        fct = 1 / fct\r\n                    similarity_factor *= fct\r\n            else:\r\n                similarity_factor *= 0.01\r\n        if power:\r\n            if \"power\" in cgrpattrs and cgrpattrs[\"power\"]:\r\n                fct = power / cgrpattrs[\"power\"]\r\n                if fct > 1:\r\n                    fct = 1 / fct\r\n                similarity_factor *= fct\r\n            else:\r\n                similarity_factor *= 0.01\r\n        if droneBandwidthUsed:\r\n            if \"droneBandwidthUsed\" in cgrpattrs:\r\n                fct = droneBandwidthUsed / cgrpattrs[\"droneBandwidthUsed\"]\r\n                if fct > 1:\r\n                    fct = 1 / fct\r\n                similarity_factor *= fct\r\n            else:\r\n                similarity_factor *= 0.01\r\n        if volume:\r\n            if \"volume\" in cgrpattrs:\r\n                fct = volume / cgrpattrs[\"volume\"]\r\n                if fct > 1:\r\n                    fct = 1 / fct\r\n                similarity_factor *= fct\r\n            else:\r\n                similarity_factor *= 0.01\r\n        mktgrps_w_cos[marketgroupid] += similarity_factor\r\n    if mktgrps_w_cos:\r\n        winner = max(list(mktgrps_w_cos.keys()), key=lambda k: mktgrps_w_cos[k])\r\n    else:\r\n        winner = None\r\n    return winner\r\n\r\ndef suggestMetaGrp(typeid):\r\n    typename = \"\"\r\n    cursor.execute(QUERY_TYPEID_TYPENAME, (typeid,))\r\n    for row in cursor:\r\n        typename = row[0]\r\n    faction_affixes = (\"Arch Angel\", \"Domination\", \"Blood\", \"Guristas\", \"Sansha\", \"Sanshas\", \"Shadow\", \"Guardian\", \"Serpentis\",\r\n                       \"Caldari\", \"Imperial\", \"Gallente\", \"Federation\", \"Republic\",\r\n                       \"Ammatar\", \"Khanid\", \"Thukker\", \"Syndicate\", \"Sisters\", \"Legion\", \"ORE\",\r\n                       \"Nugoehuvi\")\r\n    deadspace_affixes = (\"Gistii\", \"Gistum\", \"Gist\",\r\n                         \"Corpii\", \"Corpum\", \"Corpus\",\r\n                         \"Pithi\", \"Pithum\", \"Pith\",\r\n                         \"Centii\", \"Centum\", \"Centus\",\r\n                         \"Coreli\", \"Corelum\", \"Core\")\r\n    storyline_names = {\"Akemon\", \"Michi\", \"Ogdin\", \"Pashan\", \"Shaqil\", \"Whelan Machorin\", \"Numon\"}\r\n    officer_names = (\"Ahremen\", \"Brokara\", \"Brynn\", \"Chelm\", \"Cormack\", \"Draclira\", \"Estamel\", \"Gotan\", \"Hakim\",\r\n                     \"Kaikka\", \"Mizuro\", \"Raysere\", \"Selynne\", \"Setele\", \"Tairei\", \"Thon\", \"Tuvan\", \"Vizan\")\r\n    storyline_pattern_general = \"'[A-Za-z ]+'\"\r\n    storyline_pattern_names = \"|\".join(\"{0}\".format(name) for name in storyline_names)\r\n    faction_pattern = \"({0}) \".format(\"|\".join(faction_affixes))\r\n    deadspace_pattern = \"({0}) \".format(\"|\".join(deadspace_affixes))\r\n    officer_pattern = \"({0}) \".format(\"|\".join(\"{0}'s\".format(name) for name in officer_names))\r\n\r\n    attrs = getItemAttrs(typeid)\r\n    if attrs.get(\"metaLevel\") is not None:\r\n        mlvl = attrs[\"metaLevel\"]\r\n        if mlvl in (0, 1, 2, 3, 4):\r\n            meta = 1\r\n        elif mlvl == 5:\r\n            meta = 2\r\n        elif mlvl in (6, 7):\r\n            meta = 3\r\n        elif mlvl in (8, 9):\r\n            meta = 4\r\n        elif mlvl in (11, 12, 13, 14):\r\n            if re.search(deadspace_pattern, typename):\r\n                meta = 6\r\n            else:\r\n                meta = 5\r\n        else:\r\n            meta = 1\r\n    elif re.search(officer_pattern, typename):\r\n        meta = 5\r\n    elif re.search(deadspace_pattern, typename):\r\n        meta = 6\r\n    elif re.search(faction_pattern, typename):\r\n        meta = 4\r\n    elif re.search(storyline_pattern_names, typename):\r\n        meta = 3\r\n    elif re.search(storyline_pattern_general, typename) and not \"Hardwiring\" in typename:\r\n        meta = 3\r\n    else:\r\n        meta = 1\r\n\r\n    return meta\r\n\r\n\r\nmap_typeid_stuff = {}\r\nmap_typeid_stuff2 = {}\r\n\r\nfor typeid in nonmarket:\r\n    typename = \"\"\r\n    cursor.execute(QUERY_TYPEID_TYPENAME, (typeid,))\r\n    for row in cursor:\r\n        typename = row[0]\r\n    grpname = \"\"\r\n    cursor.execute(QUERY_GROUPID_GROUPNAME, (globalmap_typeid_groupid[typeid],))\r\n    for row in cursor:\r\n        grpname = row[0]\r\n    mkt = suggestMktGrp(typeid)\r\n    if mkt is None:\r\n        mkt = suggestMktGrp(typeid, mode=\"cat\")\r\n    meta = suggestMetaGrp(typeid)\r\n    attrs = getItemAttrs(typeid)\r\n    if mkt:\r\n        map_typeid_stuff[typeid] = (mkt, meta)\r\n        marketgroupname = \"\"\r\n        cursor.execute(QUERY_MARKETGROUPID_MARKETGROUPNAME,\r\n                       (mkt,))\r\n        for row in cursor:\r\n            marketgroupname = row[0]\r\n        # Prepend market group name with its parents names\r\n        prependparentid = mkt\r\n        # Limit depth to avoid looping, as usual\r\n        for depth in range(20):\r\n            cursor_parentmarket = db.cursor()\r\n            cursor_parentmarket.execute(QUERY_MARKETGROUPID_PARENTGROUPID,\r\n                                        (prependparentid,))\r\n            for row in cursor_parentmarket:\r\n                prependparentid = row[0]\r\n            if prependparentid:\r\n                cursor_parentmarket2 = db.cursor()\r\n                cursor_parentmarket2.execute(QUERY_MARKETGROUPID_MARKETGROUPNAME,\r\n                               (prependparentid,))\r\n                for row in cursor_parentmarket2:\r\n                    marketgroupname = \"{0} > {1}\".format(row[0],\r\n                                                         marketgroupname)\r\n            else:\r\n                break\r\n    else:\r\n        marketgroupname = \"None\"\r\n\r\n    map_typeid_stuff2[typename] = (mkt, marketgroupname)\r\n\r\n\r\n    metagroupname = \"\"\r\n    cursor.execute(QUERY_METAGROUPNAME_METAGROUPID,\r\n                   (meta,))\r\n    for row in cursor:\r\n        metagroupname = row[0]\r\n\r\n    #print(\"---\\nItem: {0}\\nGroup: {1}\\nSuggested market group: {2} ({3})\\nMeta group: {4}\".format(typename, grpname, marketgroupname, mkt, metagroupname))\r\n\r\n#print(\"\\n\\nmap = {{ {0} }}\".format(\", \".join(\"{0}: ({1}, {2})\".format(key, map_typeid_stuff[key][0], map_typeid_stuff[key][1]) for key in sorted(map_typeid_stuff))))\r\nprint((\"---\\n{0}\".format(\"\\n\".join(\"\\\"{0}\\\": {1}, # {2}\".format(key, map_typeid_stuff2[key][0], map_typeid_stuff2[key][1]) for key in sorted(map_typeid_stuff2)))))\r\n"
  },
  {
    "path": "scripts/icons_update.py",
    "content": "#!/usr/bin/env python2.7\r\n\r\n\"\"\"\r\nThis script updates only market/item icons.\r\n\"\"\"\r\n\r\n\r\nimport argparse\r\nimport json\r\nimport os\r\nimport sqlite3\r\nfrom shutil import copyfile\r\n\r\nfrom PIL import Image\r\n\r\n\r\ndef get_full_alias(short_alias):\r\n    full_aliases = {\r\n        'tq': 'tranquility',\r\n        'sisi': 'singularity'}\r\n    return full_aliases.get(short_alias, short_alias)\r\n\r\n\r\nparser = argparse.ArgumentParser(description='This script updates module icons for pyfa')\r\nparser.add_argument('-e', '--eve', required=True, type=str, help='path to eve\\'s shared cache folder')\r\nparser.add_argument('-s', '--server', required=False, default='tq', type=str, help='which server to use (defaults to tq)')\r\nparser.add_argument('-i', '--icons', required=True, type=str, help='Path to iconids.json extracted by phobos')\r\nargs = parser.parse_args()\r\n\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\ndb_path = os.path.abspath(os.path.join(script_dir, '..', 'eve.db'))\r\nicons_dir = os.path.abspath(os.path.join(script_dir, '..', 'imgs', 'icons'))\r\nrender_dir = os.path.abspath(os.path.join(script_dir, '..', 'imgs', 'renders'))\r\n\r\ndb = sqlite3.connect(db_path)\r\ncursor = db.cursor()\r\n\r\nICON_SIZE = (16, 16)\r\nRENDER_SIZE = (32, 32)\r\n\r\nwith open(args.icons, 'r') as f:\r\n    icon_json = json.load(f)\r\n\r\neve_path = os.path.join(args.eve, 'index_{}.txt'.format(get_full_alias(args.server)))\r\nwith open(eve_path, 'r') as f:\r\n    lines = f.readlines()\r\n    file_index = {x.split(',')[0]: x.split(',') for x in lines}\r\n\r\nresfileindex = file_index['app:/resfileindex.txt']\r\n\r\nres_cache = os.path.join(args.eve, 'ResFiles')\r\n\r\nwith open(os.path.join(res_cache, resfileindex[1]), 'r') as f:\r\n    lines = f.readlines()\r\n    res_index = {x.split(',')[0].lower(): x.split(',') for x in lines}\r\n\r\n# Need to copy the file to  our cuirrent directory\r\ngraphics_loader_file = os.path.join(res_cache, file_index['app:/bin64/graphicIDsLoader.pyd'][1])\r\nto_path = os.path.dirname(os.path.abspath(__file__))\r\ncopyfile(graphics_loader_file, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'graphicIDsLoader.pyd'))\r\n\r\n# The loader expect it to be the correct filename, so copy trhe file as well\r\ngraphics_file = os.path.join(res_cache, res_index['res:/staticdata/graphicIDs.fsdbinary'.lower()][1])\r\nto_path = os.path.dirname(os.path.abspath(__file__))\r\ncopyfile(graphics_file, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'graphicIDs.fsdbinary'))\r\n\r\nimport graphicIDsLoader\r\n\r\ngraphics = graphicIDsLoader.load(os.path.join(to_path, 'graphicIDs.fsdbinary'))\r\n\r\ngraphics_py_ob = {}\r\nfor x, v in graphics.items():\r\n    if hasattr(v, 'iconInfo') and hasattr(v.iconInfo, 'folder'):\r\n        graphics_py_ob[x] = v.iconInfo.folder\r\n\r\n# Add children to market group list\r\n# {parent: {children}}\r\nmkt_tree = {}\r\nfor row in cursor.execute('select marketGroupID, parentGroupID from invmarketgroups'):\r\n    parent = row[1]\r\n    # We have all the root groups in the set we need anyway\r\n    if not parent:\r\n        continue\r\n    child = row[0]\r\n    children = mkt_tree.setdefault(parent, set())\r\n    children.add(child)\r\n\r\n# Traverse the tree we just composed to add all children for all needed roots\r\ndef get_children(parent):\r\n    children = set()\r\n    for child in mkt_tree.get(parent, ()):\r\n        children.add(child)\r\n        children.update(get_children(child))\r\n    return children\r\n\r\n\r\nquery_items = 'select distinct it.iconID from invtypes as it inner join invgroups as ig on it.groupID = ig.groupID where ig.categoryID != 2118'\r\nquery_groups = 'select distinct iconID from invgroups'\r\nquery_cats = 'select distinct iconID from invcategories'\r\nquery_market = 'select distinct iconID from invmarketgroups'\r\nquery_attrib = 'select distinct iconID from dgmattribs'\r\nquery_ships = 'select it.graphicID from invtypes as it inner join invgroups as ig on it.groupID = ig.groupID where ig.categoryID in (6, 65)'\r\n\r\nneeded = set()\r\nexisting = set()\r\nexport = {}\r\n\r\n\r\n# Get a list of needed icons based on the items / attributes / etc from the database\r\nfor query in (query_items, query_groups, query_cats, query_market, query_attrib):\r\n    for row in cursor.execute(query):\r\n        fname = row[0]\r\n        if fname is None:\r\n            continue\r\n        needed.add(fname)\r\n\r\n# Get a list of all the icons we currently have\r\nfor fname in os.listdir(icons_dir):\r\n    if not os.path.isfile(os.path.join(icons_dir, fname)):\r\n        continue\r\n    fname = os.path.splitext(fname)[0]\r\n    # Get rid of \"icon\" prefix as well\r\n    #fname = re.sub('^icon', '', fname)\r\n    existing.add(fname)\r\n\r\ndef crop_image(img):\r\n    w, h = img.size\r\n    if h == w:\r\n        return img\r\n    normal = min(h, w)\r\n    diff_w = w - normal\r\n    diff_h = h - normal\r\n    crop_top = diff_h // 2\r\n    crop_bot = diff_h // 2 + diff_h % 2\r\n    crop_left = diff_w // 2\r\n    crop_right = diff_w // 2 + diff_w % 2\r\n    box = (crop_left, crop_top, w - crop_right, h - crop_bot)\r\n    return img.crop(box)\r\n\r\n\r\ndef get_icon_file(res_path, size):\r\n    \"\"\"\r\n    Get the iconFile field value and find proper\r\n    icon for it. Return as PIL image object down-\r\n    scaled for use in pyfa.\r\n    \"\"\"\r\n    res_path = res_path.lower()\r\n    res_path = res_path.replace('\\\\', '/')\r\n    res_path = res_path.replace('//', '/')  #1703\r\n    if res_path not in res_index:\r\n        return None\r\n    res_icon = res_index[res_path]\r\n    icon_path = res_icon[1]\r\n\r\n    fullpath = os.path.join(res_cache, icon_path)\r\n\r\n    if not os.path.isfile(fullpath):\r\n        return None\r\n    img = Image.open(fullpath)\r\n\r\n    if size > img.size:\r\n        # if we are requesting a size that is bigger than the source, return None. See #1769\r\n        return None\r\n\r\n    img = crop_image(img)\r\n    img.thumbnail(size, Image.ANTIALIAS)\r\n\r\n    # Strip all additional image info (mostly for ICC color\r\n    # profiles, see issue #337)\r\n    img.info.clear()\r\n    return img\r\n\r\n\r\ntoremove = existing.difference(needed)\r\ntoupdate = existing.intersection(needed)\r\ntoadd = needed.difference(existing)\r\n\r\n\r\nif toremove:\r\n    print('Some icons are not used and will be removed:')\r\n    for fname in sorted(toremove):\r\n        fullname = '{}.png'.format(fname)\r\n        fullpath = os.path.join(icons_dir, fullname)\r\n        os.remove(fullpath)\r\n\r\nif toupdate:\r\n    print(('Updating {} icons...'.format(len(toupdate))))\r\n    missing = set()\r\n    for fname in sorted(toupdate):\r\n        icon = get_icon_file(fname)\r\n        if icon is None:\r\n            missing.add(fname)\r\n            continue\r\n        fullname = '{}.png'.format(fname)\r\n        fullpath = os.path.join(icons_dir, fullname)\r\n        icon.save(fullpath, 'png')\r\n    if missing:\r\n        print(('  {} icons are missing in export:'.format(len(missing))))\r\n        for fname in sorted(missing):\r\n            print(('    {}'.format(fname)))\r\n\r\nif toadd:\r\n    print(('Adding {} icons...'.format(len(toadd))))\r\n    missing = set()\r\n    for fname in sorted(toadd):\r\n        icon = icon_json.get(str(fname), None)\r\n        if icon is None:\r\n            print(\"Can't find iconID {}\".format(fname))\r\n            continue\r\n        key = icon['iconFile'].lower()\r\n\r\n        for i in range(2):\r\n            scale = i+1\r\n            icon = get_icon_file(key, tuple([x*scale for x in ICON_SIZE]))\r\n            if icon is None:\r\n                missing.add(fname)\r\n                continue\r\n            fullname = '{}@{}x.png'.format(fname, scale)\r\n            fullpath = os.path.join(icons_dir, fullname)\r\n            icon.save(fullpath, 'png')\r\n    if missing:\r\n        print(('  {} icons are missing in export:'.format(len(missing))))\r\n        for fname in sorted(missing):\r\n            print(('    {}'.format(fname)))\r\n\r\nprint(\"Doing renders\")\r\n\r\nneeded.clear()\r\nexisting.clear()\r\ntoremove.clear()\r\n\r\nfor row in cursor.execute(query_ships):\r\n    needed.add(row[0])\r\n\r\ntoremove = existing.difference(needed)\r\ntoupdate = existing.intersection(needed)\r\ntoadd = needed.difference(existing)\r\n\r\nif toadd:\r\n    print(('Adding {} renders...'.format(len(toadd))))\r\n    missing = set()\r\n    for fname in sorted(toadd):\r\n        try:\r\n            key = graphics_py_ob[int(fname)]\r\n        except KeyError:\r\n            print(\"Can't find graphicID {}\".format(fname))\r\n\r\n        key = \"{}/{}_64.png\".format(key, fname)\r\n\r\n        for i in range(2):\r\n            scale = i+1\r\n            icon = get_icon_file(key, tuple([x*scale for x in RENDER_SIZE]))\r\n            if icon is None:\r\n                missing.add(fname)\r\n                continue\r\n            fullname = '{}@{}x.png'.format(fname, scale)\r\n            fullpath = os.path.join(render_dir, fullname)\r\n            icon.save(fullpath, 'png')\r\n    if missing:\r\n        print(('  {} renders are missing in export:'.format(len(missing))))\r\n        for fname in sorted(missing):\r\n            print(('    {}'.format(fname)))\r\n"
  },
  {
    "path": "scripts/itemDiff.py",
    "content": "#!/usr/bin/env python3\r\n#===============================================================================\r\n# Copyright (C) 2010-2011 Anton Vorobyov\r\n#\r\n# This file is part of eos.\r\n#\r\n# eos is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU Lesser General Public License as published by\r\n# the Free Software Foundation, either version 2 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# eos is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU Lesser General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU Lesser General Public License\r\n# along with eos.  If not, see <http://www.gnu.org/licenses/>.\r\n#===============================================================================\r\n\r\n\r\n\"\"\"\r\nThis script is used to compare two different database versions.\r\nIt shows removed/changed/new items with list of changed effects,\r\nchanged attributes and effects which were renamed\r\n\"\"\"\r\n\r\nimport argparse\r\nimport os.path\r\nimport re\r\nimport sqlite3\r\n\r\nscript_dir = os.path.dirname(__file__)\r\ndefault_old = os.path.join(script_dir, \"..\", \"eve.db\")\r\n\r\ndef main(old, new, groups=True, effects=True, attributes=True, renames=True):\r\n    # Open both databases and get their cursors\r\n    old_db = sqlite3.connect(os.path.expanduser(old))\r\n    old_cursor = old_db.cursor()\r\n    new_db = sqlite3.connect(os.path.expanduser(new))\r\n    new_cursor = new_db.cursor()\r\n\r\n    # Force some of the items to make them published\r\n    FORCEPUB_TYPES = (\r\n        \"% Propulsion Mode\",\r\n        \"% Sharpshooter Mode\",\r\n        \"% Defense Mode\",\r\n        \"% Primary Mode\",\r\n        \"% Secondary Mode\",\r\n        \"% Tertiary Mode\",\r\n    )\r\n    OVERRIDES_TYPEPUB = 'UPDATE invtypes SET published = 1 WHERE typeName like ?'\r\n    for typename in FORCEPUB_TYPES:\r\n        old_cursor.execute(OVERRIDES_TYPEPUB, (typename,))\r\n        new_cursor.execute(OVERRIDES_TYPEPUB, (typename,))\r\n\r\n    # Initialization of few things used by both changed/renamed effects list\r\n    script_dir = os.path.dirname(__file__)\r\n    effectspath = os.path.join(script_dir, \"..\", \"eos\", \"effects.py\")\r\n    implemented = set()\r\n\r\n    with open(effectspath) as f:\r\n        for line in f:\r\n            for m in re.finditer(r'class Effect(?P<eid>\\d+)\\(BaseEffect\\):', line):\r\n                effectid = int(m.group('eid'))\r\n                implemented.add(effectid)\r\n\r\n    # Effects' names are used w/o any special symbols by eos\r\n    stripspec = \"[^A-Za-z0-9]\"\r\n\r\n    # Method to get data if effect is implemented in eos or not\r\n    def geteffst(effectid):\r\n        return effectid in implemented\r\n\r\n    def findrenames(ren_dict, query, strip=False):\r\n\r\n        old_namedata = {}\r\n        new_namedata = {}\r\n\r\n        for cursor, dictionary in ((old_cursor, old_namedata), (new_cursor, new_namedata)):\r\n            cursor.execute(query)\r\n            for row in cursor:\r\n                id = row[0]\r\n                name = row[1]\r\n                if strip is True:\r\n                    name = re.sub(stripspec, \"\", name)\r\n                dictionary[id] = name\r\n\r\n        for id in set(old_namedata.keys()).intersection(list(new_namedata.keys())):\r\n            oldname = old_namedata[id] if old_namedata[id] is not None else 'None'\r\n            newname = new_namedata[id] if new_namedata[id] is not None else 'None'\r\n            if oldname != newname:\r\n                ren_dict[id] = (oldname, newname)\r\n        return\r\n\r\n    def printrenames(ren_dict, title):\r\n        if len(ren_dict) > 0:\r\n            print('\\nRenamed ' + title + ':')\r\n            for id in sorted(ren_dict):\r\n                couple = ren_dict[id]\r\n                print((\"    \\\"{0}\\\": \\\"{1}\\\",\".format(couple[0], couple[1])))\r\n\r\n    groupcats = {}\r\n    def getgroupcat(grp):\r\n        \"\"\"Get group category from the new db\"\"\"\r\n        if grp in groupcats:\r\n            cat = groupcats[grp]\r\n        else:\r\n            query = 'SELECT categoryID FROM invgroups WHERE groupID = ?'\r\n            new_cursor.execute(query, (grp,))\r\n            cat = 0\r\n            for row in new_cursor:\r\n                cat = row[0]\r\n            groupcats[grp] = cat\r\n        return cat\r\n\r\n    itemnames = {}\r\n    def getitemname(item):\r\n        \"\"\"Get item name from the new db\"\"\"\r\n        if item in itemnames:\r\n            name = itemnames[item]\r\n        else:\r\n            query = 'SELECT typeName FROM invtypes WHERE typeID = ?'\r\n            new_cursor.execute(query, (item,))\r\n            name = \"\"\r\n            for row in new_cursor:\r\n                name = row[0]\r\n            if not name:\r\n                old_cursor.execute(query, (item,))\r\n                for row in old_cursor:\r\n                    name = row[0]\r\n            itemnames[item] = name\r\n        return name\r\n\r\n    groupnames = {}\r\n    def getgroupname(grp):\r\n        \"\"\"Get group name from the new db\"\"\"\r\n        if grp in groupnames:\r\n            name = groupnames[grp]\r\n        else:\r\n            query = 'SELECT name FROM invgroups WHERE groupID = ?'\r\n            new_cursor.execute(query, (grp,))\r\n            name = \"\"\r\n            for row in new_cursor:\r\n                name = row[0]\r\n            if not name:\r\n                old_cursor.execute(query, (grp,))\r\n                for row in old_cursor:\r\n                    name = row[0]\r\n            groupnames[grp] = name\r\n        return name\r\n\r\n    effectnames = {}\r\n    def geteffectname(effect):\r\n        \"\"\"Get effect name from the new db\"\"\"\r\n        if effect in effectnames:\r\n            name = effectnames[effect]\r\n        else:\r\n            query = 'SELECT effectName FROM dgmeffects WHERE effectID = ?'\r\n            new_cursor.execute(query, (effect,))\r\n            name = \"\"\r\n            for row in new_cursor:\r\n                name = row[0]\r\n            if not name:\r\n                old_cursor.execute(query, (effect,))\r\n                for row in old_cursor:\r\n                    name = row[0]\r\n            effectnames[effect] = name\r\n        return name\r\n\r\n    attrnames = {}\r\n    def getattrname(attr):\r\n        \"\"\"Get attribute name from the new db\"\"\"\r\n        if attr in attrnames:\r\n            name = attrnames[attr]\r\n        else:\r\n            query = 'SELECT attributeName FROM dgmattribs WHERE attributeID = ?'\r\n            new_cursor.execute(query, (attr,))\r\n            name = \"\"\r\n            for row in new_cursor:\r\n                name = row[0]\r\n            if not name:\r\n                old_cursor.execute(query, (attr,))\r\n                for row in old_cursor:\r\n                    name = row[0]\r\n            attrnames[attr] = name\r\n        return name\r\n\r\n    # State table\r\n    S = {\"unchanged\": 0,\r\n         \"removed\": 1,\r\n         \"changed\": 2,\r\n         \"added\": 3 }\r\n\r\n    if effects or attributes or groups:\r\n        # Format:\r\n        # Key: item id\r\n        # Value: [groupID, set(effects), {attribute id : value}]\r\n        old_itmdata = {}\r\n        new_itmdata = {}\r\n\r\n        for cursor, dictionary in ((old_cursor, old_itmdata), (new_cursor, new_itmdata)):\r\n            # Compose list of items we're interested in, filtered by category\r\n            query = 'SELECT it.typeID, it.groupID FROM invtypes AS it INNER JOIN invgroups AS ig ON it.groupID = ig.groupID INNER JOIN invcategories AS ic ON ig.categoryID = ic.categoryID WHERE it.published = 1 AND ic.name IN (\"Ship\", \"Module\", \"Charge\", \"Skill\", \"Drone\", \"Implant\", \"Subsystem\", \"Structure\", \"Structure Module\", \"Fighter\")'\r\n            cursor.execute(query)\r\n            for row in cursor:\r\n                itemid = row[0]\r\n                groupID = row[1]\r\n                # Initialize container for the data for each item with empty stuff besides groupID\r\n                dictionary[itemid] = [groupID, set(), {}]\r\n            # Add items filtered by group\r\n            query = 'SELECT it.typeID, it.groupID FROM invtypes AS it INNER JOIN invgroups AS ig ON it.groupID = ig.groupID WHERE it.published = 1 AND ig.name IN (\"Effect Beacon\", \"Ship Modifiers\", \"Mutaplasmids\", \"MassiveEnvironments\", \"Abyssal Hazards\", \"Non-Interactable Object\")'\r\n            cursor.execute(query)\r\n            for row in cursor:\r\n                itemid = row[0]\r\n                groupID = row[1]\r\n                dictionary[itemid] = [groupID, set(), {}]\r\n\r\n            if effects:\r\n                # Pull all eff\r\n                query = 'SELECT it.typeID, de.effectID FROM invtypes AS it INNER JOIN dgmtypeeffects AS dte ON dte.typeID = it.typeID INNER JOIN dgmeffects AS de ON de.effectID = dte.effectID WHERE it.published = 1'\r\n                cursor.execute(query)\r\n                for row in cursor:\r\n                    itemid = row[0]\r\n                    effectID = row[1]\r\n                    # Process only items we need\r\n                    if itemid in dictionary:\r\n                        # Add effect to the set\r\n                        effectSet = dictionary[itemid][1]\r\n                        effectSet.add(effectID)\r\n\r\n            if attributes:\r\n                # Add attribute data for other attributes\r\n                query = 'SELECT dta.typeID, dta.attributeID, dta.value FROM dgmtypeattribs AS dta'\r\n                cursor.execute(query)\r\n                for row in cursor:\r\n                    itemid = row[0]\r\n                    if itemid in dictionary:\r\n                        attrid = row[1]\r\n                        attrval = row[2]\r\n                        attrdict = dictionary[itemid][2]\r\n                        attrdict[attrid] = attrval\r\n\r\n        # Get set of IDs from both dictionaries\r\n        items_old = set(old_itmdata.keys())\r\n        items_new = set(new_itmdata.keys())\r\n\r\n        # Format:\r\n        # Key: item state\r\n        # Value: {item id: ((group state, old group, new group), {effect state: set(effects)}, {attribute state: {attributeID: (old value, new value)}})}\r\n        global_itmdata = {}\r\n\r\n        # Initialize it\r\n        for state in S:\r\n            global_itmdata[S[state]] = {}\r\n\r\n\r\n        # Fill all the data for removed items\r\n        for item in items_old.difference(items_new):\r\n            # Set item state to removed\r\n            state = S[\"removed\"]\r\n            # Set only old group for item\r\n            oldgroup = old_itmdata[item][0]\r\n            groupdata = (S[\"unchanged\"], oldgroup, None)\r\n            # Set old set of effects and mark all as unchanged\r\n            effectsdata = {S[\"unchanged\"]: set()}\r\n            if effects:\r\n                oldeffects = old_itmdata[item][1]\r\n                effectsdata[S[\"unchanged\"]].update(oldeffects)\r\n            # Set old set of attributes and mark all as unchanged\r\n            attrdata = {S[\"unchanged\"]: {}}\r\n            if attributes:\r\n                oldattrs = old_itmdata[item][2]\r\n                for attr in oldattrs:\r\n                    # NULL will mean there's no such attribute in db\r\n                    attrdata[S[\"unchanged\"]][attr] = (oldattrs[attr], \"NULL\")\r\n            # Fill global dictionary with data we've got\r\n            global_itmdata[state][item] = (groupdata, effectsdata, attrdata)\r\n\r\n\r\n        # Now, for added items\r\n        for item in items_new.difference(items_old):\r\n            # Set item state to added\r\n            state = S[\"added\"]\r\n            # Set only new group for item\r\n            newgroup = new_itmdata[item][0]\r\n            groupdata = (S[\"unchanged\"], None, newgroup)\r\n            # Set new set of effects and mark all as unchanged\r\n            effectsdata = {S[\"unchanged\"]: set()}\r\n            if effects:\r\n                neweffects = new_itmdata[item][1]\r\n                effectsdata[S[\"unchanged\"]].update(neweffects)\r\n            # Set new set of attributes and mark all as unchanged\r\n            attrdata = {S[\"unchanged\"]: {}}\r\n            if attributes:\r\n                newattrs = new_itmdata[item][2]\r\n                for attr in newattrs:\r\n                    # NULL will mean there's no such attribute in db\r\n                    attrdata[S[\"unchanged\"]][attr] = (\"NULL\", newattrs[attr])\r\n            # Fill global dictionary with data we've got\r\n            global_itmdata[state][item] = (groupdata, effectsdata, attrdata)\r\n\r\n        # Now, check all the items which exist in both databases\r\n        for item in items_old.intersection(items_new):\r\n            # Set group data for an item\r\n            oldgroup = old_itmdata[item][0]\r\n            newgroup = new_itmdata[item][0]\r\n            # If we're not asked to compare groups, mark them as unchanged anyway\r\n            groupdata = (S[\"changed\"] if oldgroup != newgroup and groups else S[\"unchanged\"], oldgroup, newgroup)\r\n            # Fill effects data into appropriate groups\r\n            effectsdata = {}\r\n            for state in S:\r\n                # We do not have changed effects whatsoever\r\n                if state != \"changed\":\r\n                    effectsdata[S[state]] = set()\r\n            if effects:\r\n                oldeffects = old_itmdata[item][1]\r\n                neweffects = new_itmdata[item][1]\r\n                effectsdata[S[\"unchanged\"]].update(oldeffects.intersection(neweffects))\r\n                effectsdata[S[\"removed\"]].update(oldeffects.difference(neweffects))\r\n                effectsdata[S[\"added\"]].update(neweffects.difference(oldeffects))\r\n            # Go through all attributes, filling global data dictionary\r\n            attrdata = {}\r\n            for state in S:\r\n                attrdata[S[state]] = {}\r\n            if attributes:\r\n                oldattrs = old_itmdata[item][2]\r\n                newattrs = new_itmdata[item][2]\r\n                for attr in set(oldattrs.keys()).union(list(newattrs.keys())):\r\n                    # NULL will mean there's no such attribute in db\r\n                    oldattr = oldattrs.get(attr, \"NULL\")\r\n                    newattr = newattrs.get(attr, \"NULL\")\r\n                    attrstate = S[\"unchanged\"]\r\n                    if oldattr == \"NULL\" and newattr != \"NULL\":\r\n                        attrstate = S[\"added\"]\r\n                    elif oldattr != \"NULL\" and newattr == \"NULL\":\r\n                        attrstate = S[\"removed\"]\r\n                    elif oldattr != newattr:\r\n                        attrstate = S[\"changed\"]\r\n                    attrdata[attrstate][attr] = (oldattr, newattr)\r\n            # Consider item as unchanged by default and set it to change when we see any changes in sub-items\r\n            state = S[\"unchanged\"]\r\n            if state == S[\"unchanged\"] and groupdata[0] != S[\"unchanged\"]:\r\n                state = S[\"changed\"]\r\n            if state == S[\"unchanged\"] and (len(effectsdata[S[\"removed\"]]) > 0 or len(effectsdata[S[\"added\"]]) > 0):\r\n                state = S[\"changed\"]\r\n            if state == S[\"unchanged\"] and (len(attrdata[S[\"removed\"]]) > 0 or len(attrdata[S[\"changed\"]]) > 0 or len(attrdata[S[\"added\"]]) > 0):\r\n                state = S[\"changed\"]\r\n            # Fill global dictionary with data we've got\r\n            global_itmdata[state][item] = (groupdata, effectsdata, attrdata)\r\n\r\n    # As eos uses names as unique IDs in lot of places, we have to keep track of name changes\r\n    if renames:\r\n        ren_effects = {}\r\n        query = 'SELECT effectID, effectName FROM dgmeffects'\r\n        findrenames(ren_effects, query, strip = True)\r\n\r\n        ren_attributes = {}\r\n        query = 'SELECT attributeID, attributeName FROM dgmattribs'\r\n        findrenames(ren_attributes, query)\r\n\r\n        ren_categories = {}\r\n        query = 'SELECT categoryID, name FROM invcategories'\r\n        findrenames(ren_categories, query)\r\n\r\n        ren_groups = {}\r\n        query = 'SELECT groupID, name FROM invgroups'\r\n        findrenames(ren_groups, query)\r\n\r\n        ren_marketgroups = {}\r\n        query = 'SELECT marketGroupID, marketGroupName FROM invmarketgroups'\r\n        findrenames(ren_marketgroups, query)\r\n\r\n        ren_items = {}\r\n        query = 'SELECT typeID, typeName FROM invtypes'\r\n        findrenames(ren_items, query)\r\n\r\n    try:\r\n        # Get db metadata\r\n        old_meta = {}\r\n        new_meta = {}\r\n        query = 'SELECT field_name, field_value FROM metadata WHERE field_name LIKE \"client_build\"'\r\n        old_cursor.execute(query)\r\n        for row in old_cursor:\r\n            old_meta[row[0]] = row[1]\r\n        new_cursor.execute(query)\r\n        for row in new_cursor:\r\n            new_meta[row[0]] = row[1]\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        pass\r\n    # Print jobs\r\n    print((\"Comparing databases:\\n{0} -> {1}\\n\".format(old_meta.get(\"client_build\"), new_meta.get(\"client_build\"))))\r\n\r\n    if renames:\r\n        title = 'effects'\r\n        printrenames(ren_effects, title)\r\n\r\n        title = 'attributes'\r\n        printrenames(ren_attributes, title)\r\n\r\n        title = 'categories'\r\n        printrenames(ren_categories, title)\r\n\r\n        title = 'groups'\r\n        printrenames(ren_groups, title)\r\n\r\n        title = 'market groups'\r\n        printrenames(ren_marketgroups, title)\r\n\r\n        title = 'items'\r\n        printrenames(ren_items, title)\r\n\r\n    print\r\n    print\r\n\r\n    if effects or attributes or groups:\r\n        # Print legend only when there're any interesting changes\r\n        if len(global_itmdata[S[\"removed\"]]) > 0 or len(global_itmdata[S[\"changed\"]]) > 0 or len(global_itmdata[S[\"added\"]]) > 0:\r\n            genleg = \"[+] - new item\\n[-] - removed item\\n[*] - changed item\\n\"\r\n            grpleg = \"(x => y) - group changes\\n\" if groups else \"\"\r\n            attreffleg = \"  [+] - effect or attribute has been added to item\\n  [-] - effect or attribute has been removed from item\\n\" if attributes or effects else \"\"\r\n            effleg = \"  [y] - effect is implemented\\n  [n] - effect is not implemented\\n\" if effects else \"\"\r\n            print((\"{0}{1}{2}{3}\\nItems:\".format(genleg, grpleg, attreffleg, effleg)))\r\n\r\n            # Make sure our states are sorted\r\n            stateorder = sorted(global_itmdata)\r\n\r\n            TG = {S[\"unchanged\"]: \"+\", S[\"changed\"]: \"*\",\r\n                  S[\"removed\"]: \"-\",\r\n                  S[\"added\"]: \"+\"}\r\n\r\n            # Cycle through states\r\n            for itmstate in stateorder:\r\n                # Skip unchanged items\r\n                if itmstate == S[\"unchanged\"]:\r\n                    continue\r\n                items = global_itmdata[itmstate]\r\n                # Sort by name first\r\n                itemorder = sorted(items, key=lambda item: getitemname(item))\r\n                # Then by group id\r\n                itemorder = sorted(itemorder, key=lambda item: items[item][0][2] or items[item][0][1])\r\n                # Then by category id\r\n                itemorder = sorted(itemorder, key=lambda item: getgroupcat(items[item][0][2] or items[item][0][1]))\r\n\r\n                for item in itemorder:\r\n                    groupdata = items[item][0]\r\n                    groupstr = \" ({0} => {1})\".format(getgroupname(groupdata[1]), getgroupname(groupdata[2])) if groupdata[0] == S[\"changed\"] else \"\"\r\n                    print((\"\\n[{0}] {1}{2}\".format(TG[itmstate], getitemname(item).encode('utf-8'), groupstr)))\r\n\r\n                    effdata = items[item][1]\r\n                    for effstate in stateorder:\r\n                        # Skip unchanged effect sets, but always include them for added or removed ships\r\n                        # Also, always skip empty data\r\n                        if (effstate == S[\"unchanged\"] and itmstate not in (S[\"removed\"], S[\"added\"])) or effstate not in effdata:\r\n                            continue\r\n                        effects = effdata[effstate]\r\n                        efforder = sorted(effects, key=lambda eff: geteffectname(eff))\r\n                        for eff in efforder:\r\n                            # Take tag from item if item was added or removed\r\n                            tag = TG[effstate] if itmstate not in (S[\"removed\"], S[\"added\"]) else TG[itmstate]\r\n                            print((\"  [{0}|{1}] {2}\".format(tag, \"y\" if geteffst(eff) else \"n\", geteffectname(eff))))\r\n\r\n                    attrdata = items[item][2]\r\n                    for attrstate in stateorder:\r\n                        # Skip unchanged and empty attribute sets, also skip attributes display for added and removed items\r\n                        if (attrstate == S[\"unchanged\"] and itmstate != S[\"added\"]) or itmstate in (S[\"removed\"], ) or attrstate not in attrdata:\r\n                            continue\r\n                        attrs = attrdata[attrstate]\r\n                        attrorder = sorted(attrs, key=lambda attr: getattrname(attr))\r\n                        for attr in attrorder:\r\n                            valline = \"\"\r\n                            if attrs[attr][0] == \"NULL\" or itmstate == S[\"added\"]:\r\n                                valline = \"{0}\".format(attrs[attr][1] or 0)\r\n                            elif attrs[attr][1] == \"NULL\":\r\n                                valline = \"{0}\".format(attrs[attr][0] or 0)\r\n                            else:\r\n                                valline = \"{0} => {1}\".format(attrs[attr][0] or 0, attrs[attr][1] or 0)\r\n                            print((\"  [{0}] {1}: {2}\".format(TG[attrstate], getattrname(attr), valline)))\r\n\r\nif __name__ == \"__main__\":\r\n    parser = argparse.ArgumentParser(description=\"Compare two databases generated from eve dump to find eos-related differences\")\r\n    parser.add_argument(\"-o\", \"--old\", type=str, help=\"path to old cache data dump, defaults to current pyfa eve.db\", default=default_old)\r\n    parser.add_argument(\"-n\", \"--new\", type=str, required=True, help=\"path to new cache data dump\")\r\n    parser.add_argument(\"-g\", \"--nogroups\", action=\"store_false\", default=True, dest=\"groups\", help=\"don't show changed groups\")\r\n    parser.add_argument(\"-e\", \"--noeffects\", action=\"store_false\", default=True, dest=\"effects\", help=\"don't show list of changed effects\")\r\n    parser.add_argument(\"-a\", \"--noattributes\", action=\"store_false\", default=True, dest=\"attributes\", help=\"don't show list of changed attributes\")\r\n    parser.add_argument(\"-r\", \"--norenames\", action=\"store_false\", default=True, dest=\"renames\", help=\"don't show list of renamed data\")\r\n    args = parser.parse_args()\r\n\r\n    main(args.old, args.new, args.groups, args.effects, args.attributes, args.renames)\r\n"
  },
  {
    "path": "scripts/msgfmt.py",
    "content": "#! /usr/bin/env python3\r\n# Written by Martin v. Löwis <loewis@informatik.hu-berlin.de>\r\n\r\n\"\"\"Generate binary message catalog from textual translation description.\r\n\r\nThis program converts a textual Uniforum-style message catalog (.po file) into\r\na binary GNU catalog (.mo file).  This is essentially the same function as the\r\nGNU msgfmt program, however, it is a simpler implementation.\r\n\r\nUsage: msgfmt.py [OPTIONS] filename.po\r\n\r\nOptions:\r\n    -o file\r\n    --output-file=file\r\n        Specify the output file to write to.  If omitted, output will go to a\r\n        file named filename.mo (based off the input file name).\r\n\r\n    -h\r\n    --help\r\n        Print this message and exit.\r\n\r\n    -V\r\n    --version\r\n        Display version information and exit.\r\n\"\"\"\r\n\r\nimport os\r\nimport sys\r\nimport ast\r\nimport getopt\r\nimport struct\r\nimport array\r\nfrom email.parser import HeaderParser\r\n\r\n__version__ = \"1.1\"\r\n\r\nMESSAGES = {}\r\n\r\n\r\ndef usage(code, msg=''):\r\n    print(__doc__, file=sys.stderr)\r\n    if msg:\r\n        print(msg, file=sys.stderr)\r\n    sys.exit(code)\r\n\r\n\r\ndef add(id, str, fuzzy):\r\n    \"Add a non-fuzzy translation to the dictionary.\"\r\n    global MESSAGES\r\n    if not fuzzy and str:\r\n        MESSAGES[id] = str\r\n\r\n\r\ndef generate():\r\n    \"Return the generated output.\"\r\n    global MESSAGES\r\n    # the keys are sorted in the .mo file\r\n    keys = sorted(MESSAGES.keys())\r\n    offsets = []\r\n    ids = strs = b''\r\n    for id in keys:\r\n        # For each string, we need size and file offset.  Each string is NUL\r\n        # terminated; the NUL does not count into the size.\r\n        offsets.append((len(ids), len(id), len(strs), len(MESSAGES[id])))\r\n        ids += id + b'\\0'\r\n        strs += MESSAGES[id] + b'\\0'\r\n    output = ''\r\n    # The header is 7 32-bit unsigned integers.  We don't use hash tables, so\r\n    # the keys start right after the index tables.\r\n    # translated string.\r\n    keystart = 7*4+16*len(keys)\r\n    # and the values start after the keys\r\n    valuestart = keystart + len(ids)\r\n    koffsets = []\r\n    voffsets = []\r\n    # The string table first has the list of keys, then the list of values.\r\n    # Each entry has first the size of the string, then the file offset.\r\n    for o1, l1, o2, l2 in offsets:\r\n        koffsets += [l1, o1+keystart]\r\n        voffsets += [l2, o2+valuestart]\r\n    offsets = koffsets + voffsets\r\n    output = struct.pack(\"Iiiiiii\",\r\n                         0x950412de,       # Magic\r\n                         0,                 # Version\r\n                         len(keys),         # # of entries\r\n                         7*4,               # start of key index\r\n                         7*4+len(keys)*8,   # start of value index\r\n                         0, 0)              # size and offset of hash table\r\n    try:\r\n        output += array.array(\"i\", offsets).tostring()\r\n    except AttributeError:\r\n        output += array.array(\"i\", offsets).tobytes()\r\n    output += ids\r\n    output += strs\r\n    return output\r\n\r\n\r\ndef reset():\r\n    \"Reset module state.\"\r\n    global MESSAGES\r\n    MESSAGES.clear()\r\n\r\n\r\ndef make(filename, outfile):\r\n    ID = 1\r\n    STR = 2\r\n\r\n    # Compute .mo name from .po name and arguments\r\n    if filename.endswith('.po'):\r\n        infile = filename\r\n    else:\r\n        infile = filename + '.po'\r\n    if outfile is None:\r\n        outfile = os.path.splitext(infile)[0] + '.mo'\r\n\r\n    try:\r\n        lines = open(infile, 'rb').readlines()\r\n    except IOError as msg:\r\n        print(msg, file=sys.stderr)\r\n        sys.exit(1)\r\n\r\n    section = None\r\n    fuzzy = 0\r\n\r\n    # Start off assuming Latin-1, so everything decodes without failure,\r\n    # until we know the exact encoding\r\n    encoding = 'latin-1'\r\n\r\n    # Parse the catalog\r\n    lno = 0\r\n    for l in lines:\r\n        l = l.decode(encoding)\r\n        lno += 1\r\n        # If we get a comment line after a msgstr, this is a new entry\r\n        if l[0] == '#' and section == STR:\r\n            add(msgid, msgstr, fuzzy)\r\n            section = None\r\n            fuzzy = 0\r\n        # Record a fuzzy mark\r\n        if l[:2] == '#,' and 'fuzzy' in l:\r\n            fuzzy = 1\r\n        # Skip comments\r\n        if l[0] == '#':\r\n            continue\r\n        # Now we are in a msgid section, output previous section\r\n        if l.startswith('msgid') and not l.startswith('msgid_plural'):\r\n            if section == STR:\r\n                add(msgid, msgstr, fuzzy)\r\n                if not msgid:\r\n                    # See whether there is an encoding declaration\r\n                    p = HeaderParser()\r\n                    charset = p.parsestr(msgstr.decode(encoding)).get_content_charset()\r\n                    if charset:\r\n                        encoding = charset\r\n            section = ID\r\n            l = l[5:]\r\n            msgid = msgstr = b''\r\n            is_plural = False\r\n        # This is a message with plural forms\r\n        elif l.startswith('msgid_plural'):\r\n            if section != ID:\r\n                print('msgid_plural not preceded by msgid on %s:%d' % (infile, lno),\r\n                      file=sys.stderr)\r\n                sys.exit(1)\r\n            l = l[12:]\r\n            msgid += b'\\0' # separator of singular and plural\r\n            is_plural = True\r\n        # Now we are in a msgstr section\r\n        elif l.startswith('msgstr'):\r\n            section = STR\r\n            if l.startswith('msgstr['):\r\n                if not is_plural:\r\n                    print('plural without msgid_plural on %s:%d' % (infile, lno),\r\n                          file=sys.stderr)\r\n                    sys.exit(1)\r\n                l = l.split(']', 1)[1]\r\n                if msgstr:\r\n                    msgstr += b'\\0' # Separator of the various plural forms\r\n            else:\r\n                if is_plural:\r\n                    print('indexed msgstr required for plural on  %s:%d' % (infile, lno),\r\n                          file=sys.stderr)\r\n                    sys.exit(1)\r\n                l = l[6:]\r\n        # Skip empty lines\r\n        l = l.strip()\r\n        if not l:\r\n            continue\r\n        l = ast.literal_eval(l)\r\n        if section == ID:\r\n            msgid += l.encode(encoding)\r\n        elif section == STR:\r\n            msgstr += l.encode(encoding)\r\n        else:\r\n            print('Syntax error on %s:%d' % (infile, lno), \\\r\n                  'before:', file=sys.stderr)\r\n            print(l, file=sys.stderr)\r\n            sys.exit(1)\r\n    # Add last entry\r\n    if section == STR:\r\n        add(msgid, msgstr, fuzzy)\r\n\r\n    # Compute output\r\n    output = generate()\r\n\r\n    try:\r\n        open(outfile,\"wb\").write(output)\r\n    except IOError as msg:\r\n        print(msg, file=sys.stderr)\r\n\r\n\r\ndef main():\r\n    try:\r\n        opts, args = getopt.getopt(sys.argv[1:], 'hVo:',\r\n                                   ['help', 'version', 'output-file='])\r\n    except getopt.error as msg:\r\n        usage(1, msg)\r\n\r\n    outfile = None\r\n    # parse options\r\n    for opt, arg in opts:\r\n        if opt in ('-h', '--help'):\r\n            usage(0)\r\n        elif opt in ('-V', '--version'):\r\n            print(\"msgfmt.py\", __version__)\r\n            sys.exit(0)\r\n        elif opt in ('-o', '--output-file'):\r\n            outfile = arg\r\n    # do it\r\n    if not args:\r\n        print('No input file given', file=sys.stderr)\r\n        print(\"Try `msgfmt --help' for more information.\", file=sys.stderr)\r\n        return\r\n\r\n    for filename in args:\r\n        make(filename, outfile)\r\n\r\n\r\nif __name__ == '__main__':\r\n    main()\r\n"
  },
  {
    "path": "scripts/osx-package.sh",
    "content": "#!/usr/bin/env bash\necho \"Pyfa version (ENV):\"\necho \"${PYFA_VERSION}\"\necho \"Pyfa version (YAML):\"\ncat version.yml\necho \"Building distributive...\"\npython3 -m PyInstaller -y --clean dist_assets/mac/pyfa.spec\necho \"Compressing distributive...\"\ncd dist\nzip -r \"pyfa-$PYFA_VERSION-mac.zip\" pyfa.app\nmd5 -r \"pyfa-$PYFA_VERSION-mac.zip\"\n"
  },
  {
    "path": "scripts/osx-setup.sh",
    "content": "#!/usr/bin/env bash\necho \"Python version:\"\npython3 --version\necho \"Upgrading pip...\"\npython3 -m pip install --upgrade pip\necho \"Installing app requirements...\"\npython3 -m pip install -r requirements.txt\necho \"Installing packaging tools...\"\npython3 -m pip install PyInstaller==6.2.0\n"
  },
  {
    "path": "scripts/osx-translations.sh",
    "content": "#!/usr/bin/env bash\nfind locale/ -type f -name \"*.po\" -exec msgen \"{}\" -o \"{}\" \\;\n"
  },
  {
    "path": "scripts/renders_update.py",
    "content": "#!/usr/bin/env python3\r\n\r\n\"\"\"\r\nThis script updates ship renders and removes unused ones.\r\n\"\"\"\r\n\r\n\r\nimport argparse\r\nimport os\r\nimport re\r\nimport sqlite3\r\n\r\nfrom PIL import Image\r\n\r\n\r\nparser = argparse.ArgumentParser(description='This script updates ship renders for pyfa')\r\nparser.add_argument('-r', '--renders', required=True, type=str, help='path to unpacked Renders folder from CCP\\'s image export')\r\nargs = parser.parse_args()\r\n\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\ndb_path = os.path.abspath(os.path.join(script_dir, '..', 'eve.db'))\r\nicons_dir = os.path.abspath(os.path.join(script_dir, '..', 'imgs', 'renders'))\r\nexport_dir = os.path.abspath(os.path.expanduser(args.renders))\r\n\r\n\r\ndb = sqlite3.connect(db_path)\r\ncursor = db.cursor()\r\n\r\nRENDER_SIZE = (32, 32)\r\n\r\n\r\nquery_ships = 'select it.typeID from invtypes as it inner join invgroups as ig on it.groupID = ig.groupID where ig.categoryID in (6, 65)'\r\n\r\n\r\nneeded = set()\r\nexisting = set()\r\nexport = set()\r\n\r\n\r\nfor row in cursor.execute(query_ships):\r\n    needed.add(row[0])\r\n\r\nfor container, filedir in (\r\n    (existing, icons_dir),\r\n    (export, export_dir)\r\n):\r\n    for fname in os.listdir(filedir):\r\n        if not os.path.isfile(os.path.join(filedir, fname)):\r\n            continue\r\n        m = re.match(r'^(?P<typeid>\\d+)\\.png', fname)\r\n        if not m:\r\n            continue\r\n        container.add(int(m.group('typeid')))\r\n\r\ntoremove = existing.difference(needed)\r\ntoupdate = existing.intersection(needed)\r\ntoadd = needed.difference(existing)\r\n\r\n\r\ndef crop_image(img):\r\n    w, h = img.size\r\n    if h == w:\r\n        return img\r\n    normal = min(h, w)\r\n    diff_w = w - normal\r\n    diff_h = h - normal\r\n    crop_top = diff_h // 2\r\n    crop_bot = diff_h // 2 + diff_h % 2\r\n    crop_left = diff_w // 2\r\n    crop_right = diff_w // 2 + diff_w % 2\r\n    box = (crop_left, crop_top, w - crop_right, h - crop_bot)\r\n    return img.crop(box)\r\n\r\n\r\ndef get_render(type_id):\r\n    fname = '{}.png'.format(type_id)\r\n    fullpath = os.path.join(export_dir, fname)\r\n    img = Image.open(fullpath)\r\n    if img.size != RENDER_SIZE:\r\n        img = crop_image(img)\r\n        img.thumbnail(RENDER_SIZE, Image.ANTIALIAS)\r\n    # Strip all additional image info (mostly for ICC color\r\n    # profiles, see issue #337)\r\n    img.info.clear()\r\n    return img\r\n\r\n\r\nif toremove:\r\n    print('Some renders are not used and will be removed:')\r\n    for type_id in sorted(toremove):\r\n        fullname = '{}.png'.format(type_id)\r\n        print(('  {}'.format(fullname)))\r\n        fullpath = os.path.join(icons_dir, fullname)\r\n        os.remove(fullpath)\r\n\r\nif toupdate:\r\n    print(('Updating {} renders...'.format(len(toupdate))))\r\n    missing = toupdate.difference(export)\r\n    toupdate.intersection_update(export)\r\n    for type_id in sorted(toupdate):\r\n        render = get_render(type_id)\r\n        fname = '{}.png'.format(type_id)\r\n        fullpath = os.path.join(icons_dir, fname)\r\n        render.save(fullpath, 'png')\r\n    if missing:\r\n        print(('  {} renders are missing in export:'.format(len(missing))))\r\n        for type_id in sorted(missing):\r\n            print(('    {}.png'.format(type_id)))\r\n\r\nif toadd:\r\n    print(('Adding {} renders...'.format(len(toadd))))\r\n    missing = toadd.difference(export)\r\n    toadd.intersection_update(export)\r\n    for type_id in sorted(toadd):\r\n        render = get_render(type_id)\r\n        fname = '{}.png'.format(type_id)\r\n        fullpath = os.path.join(icons_dir, fname)\r\n        render.save(fullpath, 'png')\r\n    if missing:\r\n        print(('  {} renders are missing in export:'.format(len(missing))))\r\n        for type_id in sorted(missing):\r\n            print(('    {}.png'.format(type_id)))\r\n"
  },
  {
    "path": "service/__init__.py",
    "content": ""
  },
  {
    "path": "service/ammo.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport math\r\nfrom collections import OrderedDict\r\n\r\nimport wx\r\n\r\nfrom eos.const import FittingHardpoint\r\nfrom eos.saveddata.module import Module\r\nfrom eos.utils.stats import DmgTypes\r\nfrom service.market import Market\r\n\r\n\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass Ammo:\r\n\r\n    instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls.instance is None:\r\n            cls.instance = Ammo()\r\n\r\n        return cls.instance\r\n\r\n    @staticmethod\r\n    def getModuleFlatAmmo(mod):\r\n        sMkt = Market.getInstance()\r\n        if mod is None or mod.isEmpty:\r\n            return set()\r\n        chargeSet = set()\r\n        # Do not try to grab it for t3d modes which can also be passed as part of selection\r\n        if isinstance(mod, Module):\r\n            for charge in mod.getValidCharges():\r\n                if sMkt.getPublicityByItem(charge):\r\n                    chargeSet.add(charge)\r\n        return chargeSet\r\n\r\n    @classmethod\r\n    def getModuleStructuredAmmo(cls, mod, ammo=None):\r\n        chargesFlat = cls.getModuleFlatAmmo(mod) if ammo is None else ammo\r\n        # Make sure we do not consider mining turrets as combat turrets\r\n        if mod.hardpoint == FittingHardpoint.TURRET and not mod.getModifiedItemAttr('miningAmount'):\r\n\r\n            def turretSorter(charge):\r\n                damage = 0\r\n                range_ = (mod.item.getAttribute('maxRange')) * \\\r\n                         (charge.getAttribute('weaponRangeMultiplier') or 1)\r\n                falloff = (mod.item.getAttribute('falloff') or 0) * \\\r\n                          (charge.getAttribute('fallofMultiplier') or 1)\r\n                for type_ in DmgTypes.names():\r\n                    d = charge.getAttribute('%sDamage' % type_, default=0)\r\n                    if d > 0:\r\n                        damage += d\r\n                # Take optimal and falloff as range factor\r\n                rangeFactor = range_ + falloff\r\n                return -rangeFactor, charge.typeName.rsplit()[-2:], damage, charge.name\r\n\r\n            all = OrderedDict()\r\n            sub = []\r\n            prevNameBase = None\r\n            prevRange = None\r\n            for charge in sorted(chargesFlat, key=turretSorter):\r\n                if 'civilian' in charge.typeName.lower():\r\n                    continue\r\n                currNameBase = ' '.join(charge.typeName.rsplit()[-2:])\r\n                currRange = charge.getAttribute('weaponRangeMultiplier')\r\n                if sub and (currRange != prevRange or currNameBase != prevNameBase):\r\n                    all[sub[0].name] = sub\r\n                    sub = []\r\n                sub.append(charge)\r\n                prevNameBase = currNameBase\r\n                prevRange = currRange\r\n            else:\r\n                if sub:\r\n                    all[sub[0].name] = sub\r\n            return 'ddTurret', all\r\n\r\n        elif mod.hardpoint == FittingHardpoint.MISSILE and mod.item.name != 'Festival Launcher':\r\n\r\n            def getChargeDamageInfo(charge):\r\n                # Set up data storage for missile damage stuff\r\n                damageMap = {}\r\n                totalDamage = 0\r\n                # Fill them with the data about charge\r\n                for damageType in DmgTypes.names():\r\n                    currentDamage = charge.getAttribute('{}Damage'.format(damageType)) or 0\r\n                    damageMap[damageType] = currentDamage\r\n                    totalDamage += currentDamage\r\n                # Detect type of ammo\r\n                chargeDamageType = None\r\n                for damageType in damageMap:\r\n                    # If all damage belongs to certain type purely, set appropriate\r\n                    # ammoType\r\n                    if damageMap[damageType] == totalDamage:\r\n                        chargeDamageType = damageType\r\n                        break\r\n                # Else consider ammo as mixed damage\r\n                if chargeDamageType is None:\r\n                    chargeDamageType = 'mixed'\r\n                return chargeDamageType, totalDamage\r\n\r\n            def missileSorter(charge):\r\n                # Get charge damage type and total damage\r\n                chargeDamageType, totalDamage = getChargeDamageInfo(charge)\r\n                # Find its position in sort list\r\n                try:\r\n                    position = DmgTypes.names().index(chargeDamageType)\r\n                # Put charges which have non-standard damage type after charges with\r\n                # standard damage type\r\n                except ValueError:\r\n                    position = math.inf\r\n                return position, totalDamage, charge.name\r\n\r\n            all = OrderedDict()\r\n            sub = []\r\n            prevType = None\r\n            for charge in sorted(chargesFlat, key=missileSorter):\r\n                currType = getChargeDamageInfo(charge)[0]\r\n                if sub and currType != prevType:\r\n                    all[prevType] = sub\r\n                    sub = []\r\n                sub.append(charge)\r\n                prevType = currType\r\n            else:\r\n                if sub:\r\n                    all[prevType] = sub\r\n            return 'ddMissile', all\r\n\r\n        elif mod.item.group.name == 'Frequency Mining Laser':\r\n\r\n            def crystalSorter(charge):\r\n                if charge.name.endswith(' II'):\r\n                    techLvl = 2\r\n                elif charge.name.endswith(' I'):\r\n                    techLvl = 1\r\n                else:\r\n                    techLvl = 0\r\n                if ' A ' in charge.name:\r\n                    type_ = 'A'\r\n                elif ' B ' in charge.name:\r\n                    type_ = 'B'\r\n                elif ' C ' in charge.name:\r\n                    type_ = 'C'\r\n                else:\r\n                    type_ = '0'\r\n                return type_, techLvl, charge.name\r\n\r\n            typeMap = {\r\n                253: 'a1',\r\n                254: 'a2',\r\n                255: 'a3',\r\n                256: 'a4',\r\n                257: 'a5',\r\n                258: 'a6',\r\n                259: 'r4',\r\n                260: 'r8',\r\n                261: 'r16',\r\n                262: 'r32',\r\n                263: 'r64',\r\n                859: 'err'}\r\n\r\n            prelim = {}\r\n            for charge in chargesFlat:\r\n                oreTypeList = charge.getAttribute('specializationAsteroidTypeList')\r\n                category = typeMap.get(oreTypeList, _t('Misc'))\r\n                prelim.setdefault(category, set()).add(charge)\r\n\r\n            final = OrderedDict()\r\n            for category, charges in prelim.items():\r\n                final[category] = sorted(charges, key=crystalSorter)\r\n\r\n            return 'miner', final\r\n\r\n        else:\r\n\r\n            def nameSorter(charge):\r\n                parts = charge.name.split(\" \")\r\n                return [int(p) if p.isdigit() else p for p in parts]\r\n\r\n            return 'general', {'general': sorted(chargesFlat, key=nameSorter)}\r\n"
  },
  {
    "path": "service/attribute.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport eos.db\r\n\r\n\r\nclass Attribute:\r\n    instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls.instance is None:\r\n            cls.instance = Attribute()\r\n\r\n        return cls.instance\r\n\r\n    @staticmethod\r\n    def getAttributeInfo(identity):\r\n        if isinstance(identity, (int, str)):\r\n            info = eos.db.getAttributeInfo(identity, eager=\"unit\")\r\n        elif isinstance(identity, (int, float)):\r\n            id_ = int(identity)\r\n            info = eos.db.getAttributeInfo(id_, eager=\"unit\")\r\n        else:\r\n            info = None\r\n        return info\r\n"
  },
  {
    "path": "service/character.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\nimport sys\r\nimport copy\r\nimport itertools\r\nimport json\r\n\r\nfrom logbook import Logger\r\nimport threading\r\nfrom codecs import open\r\nfrom xml.etree import ElementTree\r\nfrom xml.dom import minidom\r\nimport gzip\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\n\r\nimport config\r\nimport eos.db\r\nfrom service.esi import Esi\r\n\r\nfrom eos.saveddata.implant import Implant as es_Implant\r\nfrom eos.saveddata.character import Character as es_Character, Skill\r\nfrom eos.saveddata.module import Module as es_Module\r\nfrom eos.const import FittingSlot as es_Slot\r\nfrom eos.saveddata.fighter import Fighter as es_Fighter\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\nclass CharacterImportThread(threading.Thread):\r\n\r\n    def __init__(self, paths, callback):\r\n        threading.Thread.__init__(self)\r\n        self.name = \"CharacterImport\"\r\n        self.paths = paths\r\n        self.callback = callback\r\n        self.running = True\r\n\r\n    def run(self):\r\n        paths = self.paths\r\n        sCharacter = Character.getInstance()\r\n        all5_character = es_Character(\"All 5\", 5)\r\n        all_skill_ids = []\r\n        for skill in all5_character.skills:\r\n            # Parse out the skill item IDs to make searching it easier later on\r\n            all_skill_ids.append(skill.itemID)\r\n\r\n        for path in paths:\r\n            if not self.running:\r\n                break\r\n            try:\r\n                charFile = open(path, mode='r').read()\r\n                doc = minidom.parseString(charFile)\r\n                if doc.documentElement.tagName not in (\"SerializableCCPCharacter\", \"SerializableUriCharacter\"):\r\n                    pyfalog.error(\"Incorrect EVEMon XML sheet\")\r\n                    raise RuntimeError(\"Incorrect EVEMon XML sheet\")\r\n                name = doc.getElementsByTagName(\"name\")[0].firstChild.nodeValue\r\n                securitystatus = doc.getElementsByTagName(\"securityStatus\")[0].firstChild.nodeValue or 0\r\n                skill_els = doc.getElementsByTagName(\"skill\")\r\n                skills = []\r\n                for skill in skill_els:\r\n                    if int(skill.getAttribute(\"typeID\")) in all_skill_ids and (0 <= int(skill.getAttribute(\"level\")) <= 5):\r\n                        skills.append({\r\n                            \"typeID\": int(skill.getAttribute(\"typeID\")),\r\n                            \"level\": int(skill.getAttribute(\"level\")),\r\n                        })\r\n                    else:\r\n                        pyfalog.error(\r\n                                \"Attempted to import unknown skill {0} (ID: {1}) (Level: {2})\",\r\n                                skill.getAttribute(\"name\"),\r\n                                skill.getAttribute(\"typeID\"),\r\n                                skill.getAttribute(\"level\"),\r\n                        )\r\n                char = sCharacter.new(name + \" (EVEMon)\")\r\n                sCharacter.apiUpdateCharSheet(char.ID, skills, securitystatus)\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                pyfalog.error(\"Exception on character import:\")\r\n                pyfalog.error(e)\r\n                continue\r\n\r\n        wx.CallAfter(self.callback)\r\n\r\n    def stop(self):\r\n        self.running = False\r\n\r\n\r\nclass SkillBackupThread(threading.Thread):\r\n    def __init__(self, path, saveFmt, activeFit, callback):\r\n        threading.Thread.__init__(self)\r\n        self.name = \"SkillBackup\"\r\n        self.path = path\r\n        self.saveFmt = saveFmt\r\n        self.activeFit = activeFit\r\n        self.callback = callback\r\n        self.running = True\r\n\r\n    def run(self):\r\n        path = self.path\r\n        sCharacter = Character.getInstance()\r\n\r\n        backupData = None\r\n        if self.running:\r\n            if self.saveFmt == \"xml\" or self.saveFmt == \"emp\":\r\n                backupData = sCharacter.exportXml()\r\n            else:\r\n                backupData = sCharacter.exportText()\r\n\r\n        if self.running and backupData is not None:\r\n            if self.saveFmt == \"emp\":\r\n                with gzip.open(path, mode='wb') as backupFile:\r\n                    backupFile.write(backupData.encode())\r\n            else:\r\n                with open(path, mode='w', encoding='utf-8') as backupFile:\r\n                    backupFile.write(backupData)\r\n\r\n        wx.CallAfter(self.callback)\r\n\r\n    def stop(self):\r\n        self.running = False\r\n\r\n\r\nclass Character:\r\n    instance = None\r\n    skillReqsDict = {}\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls.instance is None:\r\n            cls.instance = Character()\r\n\r\n        return cls.instance\r\n\r\n    def __init__(self):\r\n        # Simply initializes default characters in case they aren't in the database yet\r\n        self.all0()\r\n        self.all5()\r\n\r\n    def exportText(self):\r\n        data = \"Pyfa exported plan for \\\"\" + self.skillReqsDict['charname'] + \"\\\"\\n\"\r\n        data += \"=\" * 79 + \"\\n\"\r\n        data += \"\\n\"\r\n        item = \"\"\r\n        try:\r\n            for s in self.skillReqsDict['skills']:\r\n                if item == \"\" or not item == s[\"item\"]:\r\n                    item = s[\"item\"]\r\n                    data += \"-\" * 79 + \"\\n\"\r\n                    data += \"Skills required for {}:\\n\".format(item)\r\n                data += \"{}{}: {}\\n\".format(\"    \" * s[\"indent\"], s[\"skill\"], int(s[\"level\"]))\r\n            data += \"-\" * 79 + \"\\n\"\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception:\r\n            pass\r\n\r\n        return data\r\n\r\n    def exportXml(self):\r\n        root = ElementTree.Element(\"plan\")\r\n        root.attrib[\"name\"] = \"Pyfa exported plan for \" + self.skillReqsDict['charname']\r\n        root.attrib[\"revision\"] = config.evemonMinVersion\r\n\r\n        sorts = ElementTree.SubElement(root, \"sorting\")\r\n        sorts.attrib[\"criteria\"] = \"None\"\r\n        sorts.attrib[\"order\"] = \"None\"\r\n        sorts.attrib[\"groupByPriority\"] = \"false\"\r\n\r\n        skillsSeen = set()\r\n\r\n        for s in self.skillReqsDict['skills']:\r\n            skillKey = str(s[\"skillID\"]) + \"::\" + s[\"skill\"] + \"::\" + str(int(s[\"level\"]))\r\n            if skillKey in skillsSeen:\r\n                pass  # Duplicate skills confuse EVEMon\r\n            else:\r\n                skillsSeen.add(skillKey)\r\n                entry = ElementTree.SubElement(root, \"entry\")\r\n                entry.attrib[\"skillID\"] = str(s[\"skillID\"])\r\n                entry.attrib[\"skill\"] = s[\"skill\"]\r\n                entry.attrib[\"level\"] = str(int(s[\"level\"]))\r\n                entry.attrib[\"priority\"] = \"3\"\r\n                entry.attrib[\"type\"] = \"Prerequisite\"\r\n                notes = ElementTree.SubElement(entry, \"notes\")\r\n                notes.text = entry.attrib[\"skill\"]\r\n\r\n        # tree = ElementTree.ElementTree(root)\r\n        data = ElementTree.tostring(root, 'utf-8')\r\n        prettydata = minidom.parseString(data).toprettyxml(indent=\"  \")\r\n\r\n        return prettydata\r\n\r\n    @staticmethod\r\n    def backupSkills(path, saveFmt, activeFit, callback):\r\n        thread = SkillBackupThread(path, saveFmt, activeFit, callback)\r\n        pyfalog.debug(\"Starting backup skills thread.\")\r\n        thread.start()\r\n\r\n    @staticmethod\r\n    def importCharacter(path, callback):\r\n        thread = CharacterImportThread(path, callback)\r\n        pyfalog.debug(\"Starting import character thread.\")\r\n        thread.start()\r\n\r\n    @staticmethod\r\n    def all0():\r\n        return es_Character.getAll0()\r\n\r\n    def all0ID(self):\r\n        return self.all0().ID\r\n\r\n    @staticmethod\r\n    def all5():\r\n        return es_Character.getAll5()\r\n\r\n    def all5ID(self):\r\n        return self.all5().ID\r\n\r\n    @staticmethod\r\n    def getAlphaCloneList():\r\n        return eos.db.getAlphaCloneList()\r\n\r\n    @staticmethod\r\n    def getCharacterList():\r\n        return eos.db.getCharacterList()\r\n\r\n    @staticmethod\r\n    def getCharacter(identity):\r\n        char = eos.db.getCharacter(identity)\r\n        return char\r\n\r\n    def saveCharacter(self, charID):\r\n        \"\"\"Save edited skills\"\"\"\r\n        if charID == self.all5ID() or charID == self.all0ID():\r\n            return\r\n        char = eos.db.getCharacter(charID)\r\n        char.saveLevels()\r\n\r\n    @staticmethod\r\n    def saveCharacterAs(charID, newName):\r\n        \"\"\"Save edited skills as a new character\"\"\"\r\n        char = eos.db.getCharacter(charID)\r\n        newChar = copy.deepcopy(char)\r\n        newChar.name = newName\r\n        eos.db.save(newChar)\r\n\r\n        # revert old char\r\n        char.revertLevels()\r\n        return newChar.ID\r\n\r\n    @staticmethod\r\n    def revertCharacter(charID):\r\n        \"\"\"Rollback edited skills\"\"\"\r\n        char = eos.db.getCharacter(charID)\r\n        char.revertLevels()\r\n\r\n    @staticmethod\r\n    def getSkillGroups():\r\n        cat = eos.db.getCategory(16)\r\n        groups = []\r\n        for grp in cat.groups:\r\n            if grp.published:\r\n                groups.append((grp.ID, grp.name))\r\n        return sorted(groups, key=lambda x: x[1])\r\n\r\n    @staticmethod\r\n    def getSkills(groupID):\r\n        group = eos.db.getGroup(groupID)\r\n        skills = []\r\n        for skill in group.items:\r\n            if skill.published is True:\r\n                skills.append((skill.ID, skill.name))\r\n        return sorted(skills, key=lambda x: x[1])\r\n\r\n    @staticmethod\r\n    def getSkillsByName(text):\r\n        items = eos.db.searchSkills(text)\r\n        skills = []\r\n        for skill in items:\r\n            if skill.published is True:\r\n                skills.append((skill.ID, skill.name))\r\n        return sorted(skills, key=lambda x: x[1])\r\n\r\n    @staticmethod\r\n    def setAlphaClone(char, cloneID):\r\n        char.alphaCloneID = cloneID\r\n        eos.db.commit()\r\n\r\n    @staticmethod\r\n    def setSecStatus(char, secStatus):\r\n        char.secStatus = secStatus\r\n        eos.db.commit()\r\n\r\n    @staticmethod\r\n    def getSkillDescription(itemID):\r\n        return eos.db.getItem(itemID).description\r\n\r\n    @staticmethod\r\n    def getGroupDescription(groupID):\r\n        return eos.db.getMarketGroup(groupID).description\r\n\r\n    @staticmethod\r\n    def getSkillLevel(charID, skillID):\r\n        skill = eos.db.getCharacter(charID).getSkill(skillID)\r\n        return float(skill.level) if skill.learned else _t(\"Not learned\"), skill.isDirty\r\n\r\n    @staticmethod\r\n    def getDirtySkills(charID):\r\n        return eos.db.getCharacter(charID).dirtySkills\r\n\r\n    @staticmethod\r\n    def getCharName(charID):\r\n        return eos.db.getCharacter(charID).name\r\n\r\n    @staticmethod\r\n    def new(name=\"New Character\"):\r\n        char = es_Character(name)\r\n        eos.db.save(char)\r\n        return char\r\n\r\n    @staticmethod\r\n    def rename(char, newName):\r\n        if char.name in (\"All 0\", \"All 5\"):\r\n            pyfalog.info(\"Cannot rename built in characters.\")\r\n        else:\r\n            char.name = newName\r\n            eos.db.commit()\r\n\r\n    @staticmethod\r\n    def copy(char):\r\n        newChar = copy.deepcopy(char)\r\n        eos.db.save(newChar)\r\n        return newChar\r\n\r\n    @staticmethod\r\n    def delete(char):\r\n        eos.db.remove(char)\r\n\r\n    @staticmethod\r\n    def getApiDetails(charID):\r\n        # todo: fix this (or get rid of?)\r\n        return \"\", \"\", \"\", []\r\n        char = eos.db.getCharacter(charID)\r\n        if char.chars is not None:\r\n            chars = json.loads(char.chars)\r\n        else:\r\n            chars = None\r\n        return char.apiID or \"\", char.apiKey or \"\", char.defaultChar or \"\", chars or []\r\n\r\n    @staticmethod\r\n    def getSsoCharacter(charID):\r\n        char = eos.db.getCharacter(charID)\r\n        sso = char.getSsoCharacter(config.getClientSecret())\r\n        return sso\r\n\r\n    @staticmethod\r\n    def setSsoCharacter(charID, ssoCharID):\r\n        char = eos.db.getCharacter(charID)\r\n        if ssoCharID is not None:\r\n            sso = eos.db.getSsoCharacter(ssoCharID, config.getClientSecret())\r\n            char.setSsoCharacter(sso, config.getClientSecret())\r\n        else:\r\n            char.setSsoCharacter(None, config.getClientSecret())\r\n        eos.db.commit()\r\n\r\n    def apiFetch(self, charID, callback):\r\n        thread = UpdateAPIThread(charID, (self.apiFetchCallback, callback))\r\n        thread.start()\r\n\r\n    def apiFetchCallback(self, guiCallback, e=None):\r\n        eos.db.commit()\r\n        wx.CallAfter(guiCallback, e)\r\n\r\n    @staticmethod\r\n    def apiUpdateCharSheet(charID, skills, securitystatus):\r\n        char = eos.db.getCharacter(charID)\r\n        char.apiUpdateCharSheet(skills, securitystatus)\r\n        eos.db.commit()\r\n\r\n    @classmethod\r\n    def changeLevel(cls, charID, skillID, level, persist=False, ifHigher=False):\r\n        char = eos.db.getCharacter(charID)\r\n        skill = char.getSkill(skillID)\r\n\r\n        if ifHigher and level < skill.level:\r\n            return\r\n\r\n        if isinstance(level, str) or level > 5 or level < 0:\r\n            skill.setLevel(None, persist)\r\n            eos.db.commit()\r\n        elif skill.level != level:\r\n            cls._trainSkillReqs(char, skill, persist)\r\n            skill.setLevel(level, persist)\r\n            eos.db.commit()\r\n\r\n    @classmethod\r\n    def _trainSkillReqs(cls, char, skill, persist):\r\n        for childSkillItem, neededSkillLevel in skill.item.requiredSkills.items():\r\n            childSkill = char.getSkill(childSkillItem.ID)\r\n            if childSkill.level < neededSkillLevel:\r\n                childSkill.setLevel(neededSkillLevel, persist)\r\n                cls._trainSkillReqs(char, childSkill, persist)\r\n\r\n    @staticmethod\r\n    def revertLevel(charID, skillID):\r\n        char = eos.db.getCharacter(charID)\r\n        skill = char.getSkill(skillID)\r\n        skill.revert()\r\n\r\n    @staticmethod\r\n    def saveSkill(charID, skillID):\r\n        char = eos.db.getCharacter(charID)\r\n        skill = char.getSkill(skillID)\r\n        skill.saveLevel()\r\n\r\n    @staticmethod\r\n    def addImplant(charID, itemID):\r\n        char = eos.db.getCharacter(charID)\r\n        if char.ro:\r\n            pyfalog.error(\"Trying to add implant to read-only character\")\r\n            return\r\n\r\n        implant = es_Implant(eos.db.getItem(itemID))\r\n        char.implants.makeRoom(implant)\r\n        char.implants.append(implant)\r\n        eos.db.commit()\r\n\r\n    @staticmethod\r\n    def removeImplant(charID, implant):\r\n        char = eos.db.getCharacter(charID)\r\n        char.implants.remove(implant)\r\n        eos.db.commit()\r\n\r\n    @staticmethod\r\n    def getImplants(charID):\r\n        char = eos.db.getCharacter(charID)\r\n        return char.implants\r\n\r\n    def checkRequirements(self, fit):\r\n        # toCheck = []\r\n        reqs = {}\r\n        for thing in itertools.chain(fit.modules, fit.drones, fit.fighters, (fit.ship,), fit.appliedImplants, fit.boosters):\r\n            if isinstance(thing, es_Module) and thing.slot == es_Slot.RIG:\r\n                continue\r\n            for attr in (\"item\", \"charge\"):\r\n                if attr == \"charge\" and isinstance(thing, es_Fighter):\r\n                    # Fighter Bombers are automatically charged with micro bombs.\r\n                    # These have skill requirements attached, but aren't used in EVE.\r\n                    continue\r\n                subThing = getattr(thing, attr, None)\r\n                subReqs = {}\r\n                if subThing is not None:\r\n                    if isinstance(thing, es_Fighter) and attr == \"charge\":\r\n                        continue\r\n                    self._checkRequirements(fit.character, subThing, subReqs)\r\n                    if subReqs:\r\n                        reqs[subThing] = subReqs\r\n\r\n        return reqs\r\n\r\n    def _checkRequirements(self, char, subThing, reqs):\r\n        for req, level in subThing.requiredSkills.items():\r\n            name = req.name\r\n            ID = req.ID\r\n            info = reqs.get(name)\r\n            currLevel, subs = info if info is not None else 0, {}\r\n            if level > currLevel and (char is None or char.getSkill(req).level < level):\r\n                reqs[name] = (level, ID, subs)\r\n                self._checkRequirements(char, req, subs)\r\n        return reqs\r\n\r\n\r\nclass UpdateAPIThread(threading.Thread):\r\n\r\n    def __init__(self, charID, callback):\r\n        threading.Thread.__init__(self)\r\n\r\n        self.name = \"CheckUpdate\"\r\n        self.callback = callback\r\n        self.charID = charID\r\n        self.running = True\r\n\r\n    def run(self):\r\n        try:\r\n            char = eos.db.getCharacter(self.charID)\r\n\r\n            sEsi = Esi.getInstance()\r\n            sChar = Character.getInstance()\r\n            ssoChar = sChar.getSsoCharacter(char.ID)\r\n\r\n            if not self.running:\r\n                self.callback[0](self.callback[1])\r\n                return\r\n            resp = sEsi.getSkills(ssoChar.ID)\r\n\r\n            if not self.running:\r\n                self.callback[0](self.callback[1])\r\n                return\r\n            # todo: check if alpha. if so, pop up a question if they want to apply it as alpha. Use threading events to set the answer?\r\n            char.clearSkills()\r\n            for skillRow in resp[\"skills\"]:\r\n                char.addSkill(Skill(char, skillRow[\"skill_id\"], skillRow[\"trained_skill_level\"]))\r\n\r\n            if not self.running:\r\n                self.callback[0](self.callback[1])\r\n                return\r\n            resp = sEsi.getSecStatus(ssoChar.ID)\r\n            char.secStatus = resp['security_status']\r\n            self.callback[0](self.callback[1])\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception as ex:\r\n            pyfalog.warn(ex)\r\n            self.callback[0](self.callback[1], sys.exc_info())\r\n\r\n    def stop(self):\r\n        self.running = False\r\n"
  },
  {
    "path": "service/const.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2019 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nfrom enum import Enum, IntEnum, unique, auto as autoId\r\n\r\n\r\n@unique\r\nclass EsiLoginMethod(IntEnum):\r\n    \"\"\"\r\n    Contains the method of ESI login\r\n    \"\"\"\r\n    SERVER = 0\r\n    MANUAL = 1\r\n\r\n\r\n@unique\r\nclass EsiSsoMode(IntEnum):\r\n    \"\"\"\r\n    Contains the mode of ESI sso mode\r\n    \"\"\"\r\n    AUTO = 0\r\n    CUSTOM = 1\r\n\r\n\r\nclass EsiEndpoints(Enum):\r\n    \"\"\"\r\n    Contains the endpoint paths for the ESI access\r\n    \"\"\"\r\n    CHAR = \"/v5/characters/{character_id}/\"\r\n    CHAR_SKILLS = \"/v4/characters/{character_id}/skills/\"\r\n    CHAR_FITTINGS = \"/v2/characters/{character_id}/fittings/\"\r\n    CHAR_DEL_FIT = \"/v1/characters/{character_id}/fittings/{fitting_id}/\"\r\n    DYNAMIC_ITEM = \"/v1/dogma/dynamic/items/{type_id}/{item_id}/\"\r\n\r\n\r\n@unique\r\nclass PortMultiBuyOptions(IntEnum):\r\n    \"\"\"\r\n    Contains different types of items for multibuy export\r\n    \"\"\"\r\n    IMPLANTS = 1\r\n    CARGO = 2\r\n    LOADED_CHARGES = 3\r\n    OPTIMIZE_PRICES = 4\r\n    BOOSTERS = 5\r\n\r\n\r\n@unique\r\nclass PortEftOptions(IntEnum):\r\n    \"\"\"\r\n    Contains different options for eft-export\r\n    \"\"\"\r\n    IMPLANTS = 1\r\n    MUTATIONS = 2\r\n    LOADED_CHARGES = 3\r\n    CARGO = 4\r\n    BOOSTERS = 5\r\n\r\n\r\n@unique\r\nclass PortEftRigSize(IntEnum):\r\n    \"\"\"\r\n    Contains different sizes of ship rigs\r\n    This enum is not actively used, but maybe useful someday.\r\n    \"\"\"\r\n    SMALL = 1\r\n    MEDIUM = 2\r\n    LARGE = 3\r\n    CAPITAL = 4\r\n\r\n\r\n@unique\r\nclass PortDnaOptions(IntEnum):\r\n    \"\"\"\r\n    Contains different types of items for DNA export\r\n    \"\"\"\r\n    FORMATTING = 1\r\n\r\n\r\n@unique\r\nclass GuiAttrGroup(IntEnum):\r\n    \"\"\"\r\n    Define the various groups of attributes.\r\n    This enum is used for GUI functions and getting redefined in\r\n    /gui/builtinItemStatsViews/attributeGrouping.py\r\n    \"\"\"\r\n    FITTING = autoId()\r\n    STRUCTURE = autoId()\r\n    SHIELD = autoId()\r\n    ARMOR = autoId()\r\n    TARGETING = autoId()\r\n    EWAR_RESISTS = autoId()\r\n    CAPACITOR = autoId()\r\n    SHARED_FACILITIES = autoId()\r\n    FIGHTER_FACILITIES = autoId()\r\n    ON_DEATH = autoId()\r\n    JUMP_SYSTEMS = autoId()\r\n    PROPULSIONS = autoId()\r\n    FIGHTERS = autoId()\r\n    SHIP_GROUP = autoId()\r\n\r\n\r\n@unique\r\nclass GraphDpsDroneMode(IntEnum):\r\n    auto = 1\r\n    followAttacker = 2\r\n    followTarget = 3\r\n\r\n\r\n@unique\r\nclass GraphCacheCleanupReason(IntEnum):\r\n    fitChanged = autoId()\r\n    fitRemoved = autoId()\r\n    profileChanged = autoId()\r\n    profileRemoved = autoId()\r\n    graphSwitched = autoId()\r\n    inputChanged = autoId()\r\n    optionChanged = autoId()\r\n    resistModeChanged = autoId()\r\n    hpEffectivityChanged = autoId()\r\n\r\n\r\n@unique\r\nclass TargetResistMode(IntEnum):\r\n    auto = autoId()\r\n    shield = autoId()\r\n    armor = autoId()\r\n    hull = autoId()\r\n    weightedAverage = autoId()\r\n\r\n\r\n@unique\r\nclass GraphColor(IntEnum):\r\n    red = autoId()\r\n    green = autoId()\r\n    blue = autoId()\r\n    yellow = autoId()\r\n    cyan = autoId()\r\n    magenta = autoId()\r\n    orange = autoId()\r\n    purple = autoId()\r\n\r\n\r\n@unique\r\nclass GraphLightness(IntEnum):\r\n    normal = autoId()\r\n    dark = autoId()\r\n    bright = autoId()\r\n\r\n\r\n@unique\r\nclass GraphLineStyle(IntEnum):\r\n    solid = autoId()\r\n    dashed = autoId()\r\n    dotted = autoId()\r\n    dashdotted = autoId()\r\n"
  },
  {
    "path": "service/conversions/__init__.py",
    "content": "\"\"\"\r\nThis module contains a list of item conversions that need to be done for pyfa.\r\n\r\nEach file in this module must contain a dictionary named CONVERSIONS in the\r\nformat of convertFrom: convertTo, with both key and value being a string of the\r\nitem's name. The name of the file is usually arbitrary unless it's used in logic\r\nelsewhere (in which case can be accessed with packs[name])\r\n\"\"\"\r\n\r\n\r\nfrom eos.utils.pyinst_support import iterNamespace\r\n\r\n\r\n# init parent dict\r\nall = {}\r\n# init container to store the separate conversion packs in case we need them\r\npacks = {}\r\n\r\nfor modName in iterNamespace(__name__, __path__):\r\n    conversionPack = __import__(modName, fromlist=\"dummy\")\r\n    all.update(conversionPack.CONVERSIONS)\r\n    modname_tail = modName.rsplit('.', 1)[-1]\r\n    packs[modname_tail] = conversionPack.CONVERSIONS\r\n"
  },
  {
    "path": "service/conversions/releaseApr2020.py",
    "content": "\"\"\"\r\nConversion pack for April 2020 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items, extracted via diff file\r\n    \"Adaptive Invulnerability Field I\": \"Adaptive Invulnerability Shield Hardener I\",\r\n    \"Gistum C-Type Adaptive Invulnerability Field\": \"Gistum C-Type Adaptive Invulnerability Shield Hardener\",\r\n    \"Adaptive Invulnerability Field II\": \"Adaptive Invulnerability Shield Hardener II\",\r\n    \"Explosive Deflection Field I\": \"Anti-Explosive Shield Hardener I\",\r\n    \"Kinetic Deflection Field I\": \"Anti-Kinetic Shield Hardener I\",\r\n    \"EM Ward Field I\": \"Anti-EM Shield Hardener I\",\r\n    \"Thermal Dissipation Field I\": \"Anti-Thermal Shield Hardener I\",\r\n    \"Explosive Deflection Field II\": \"Anti-Explosive Shield Hardener II\",\r\n    \"Kinetic Deflection Field II\": \"Anti-Kinetic Shield Hardener II\",\r\n    \"EM Ward Field II\": \"Anti-EM Shield Hardener II\",\r\n    \"Thermal Dissipation Field II\": \"Anti-Thermal Shield Hardener II\",\r\n    \"Gistum B-Type Adaptive Invulnerability Field\": \"Gistum B-Type Adaptive Invulnerability Shield Hardener\",\r\n    \"Gistum A-Type Adaptive Invulnerability Field\": \"Gistum A-Type Adaptive Invulnerability Shield Hardener\",\r\n    \"Pithum A-Type Adaptive Invulnerability Field\": \"Pithum A-Type Adaptive Invulnerability Shield Hardener\",\r\n    \"Pithum B-Type Adaptive Invulnerability Field\": \"Pithum B-Type Adaptive Invulnerability Shield Hardener\",\r\n    \"Pithum C-Type Adaptive Invulnerability Field\": \"Pithum C-Type Adaptive Invulnerability Shield Hardener\",\r\n    \"Limited Kinetic Deflection Field I\": \"Compact Anti-Kinetic Shield Hardener\",\r\n    \"Limited 'Anointed' EM Ward Field\": \"Compact Anti-EM Shield Hardener\",\r\n    \"Limited Adaptive Invulnerability Field I\": \"Compact Adaptive Invulnerability Shield Hardener\",\r\n    \"Limited Explosive Deflection Field I\": \"Compact Anti-Explosive Shield Hardener\",\r\n    \"Limited Thermal Dissipation Field I\": \"Compact Anti-Thermal Shield Hardener\",\r\n    \"Dread Guristas EM Ward Field\": \"Dread Guristas Anti-EM Shield Hardener\",\r\n    \"Dread Guristas Thermal Dissipation Field\": \"Dread Guristas Anti-Thermal Shield Hardener\",\r\n    \"Dread Guristas Explosive Deflection Field\": \"Dread Guristas Anti-Explosive Shield Hardener\",\r\n    \"Dread Guristas Kinetic Deflection Field\": \"Dread Guristas Anti-Kinetic Shield Hardener\",\r\n    \"Dread Guristas Adaptive Invulnerability Field\": \"Dread Guristas Adaptive Invulnerability Shield Hardener\",\r\n    \"Domination EM Ward Field\": \"Domination Anti-EM Shield Hardener\",\r\n    \"Domination Thermal Dissipation Field\": \"Domination Anti-Thermal Shield Hardener\",\r\n    \"Domination Explosive Deflection Field\": \"Domination Anti-Explosive Shield Hardener\",\r\n    \"Domination Kinetic Deflection Field\": \"Domination Anti-Kinetic Shield Hardener\",\r\n    \"Domination Adaptive Invulnerability Field\": \"Domination Adaptive Invulnerability Shield Hardener\",\r\n    \"Kaikka's Modified Kinetic Deflection Field\": \"Kaikka's Modified Anti-Kinetic Shield Hardener\",\r\n    \"Thon's Modified Kinetic Deflection Field\": \"Thon's Modified Anti-Kinetic Shield Hardener\",\r\n    \"Vepas's Modified Kinetic Deflection Field\": \"Vepas's Modified Anti-Kinetic Shield Hardener\",\r\n    \"Estamel's Modified Kinetic Deflection Field\": \"Estamel's Modified Anti-Kinetic Shield Hardener\",\r\n    \"Kaikka's Modified EM Ward Field\": \"Kaikka's Modified Anti-EM Shield Hardener\",\r\n    \"Thon's Modified EM Ward Field\": \"Thon's Modified Anti-EM Shield Hardener\",\r\n    \"Vepas's Modified EM Ward Field\": \"Vepas's Modified Anti-EM Shield Hardener\",\r\n    \"Estamel's Modified EM Ward Field\": \"Estamel's Modified Anti-EM Shield Hardener\",\r\n    \"Kaikka's Modified Explosive Deflection Field\": \"Kaikka's Modified Anti-Explosive Shield Hardener\",\r\n    \"Thon's Modified Explosive Deflection Field\": \"Thon's Modified Anti-Explosive Shield Hardener\",\r\n    \"Vepas's Modified Explosive Deflection Field\": \"Vepas's Modified Anti-Explosive Shield Hardener\",\r\n    \"Estamel's Modified Explosive Deflection Field\": \"Estamel's Modified Anti-Explosive Shield Hardener\",\r\n    \"Kaikka's Modified Thermal Dissipation Field\": \"Kaikka's Modified Anti-Thermal Shield Hardener\",\r\n    \"Thon's Modified Thermal Dissipation Field\": \"Thon's Modified Anti-Thermal Shield Hardener\",\r\n    \"Vepas's Modified Thermal Dissipation Field\": \"Vepas's Modified Anti-Thermal Shield Hardener\",\r\n    \"Estamel's Modified Thermal Dissipation Field\": \"Estamel's Modified Anti-Thermal Shield Hardener\",\r\n    \"Kaikka's Modified Adaptive Invulnerability Field\": \"Kaikka's Modified Adaptive Invulnerability Shield Hardener\",\r\n    \"Thon's Modified Adaptive Invulnerability Field\": \"Thon's Modified Adaptive Invulnerability Shield Hardener\",\r\n    \"Vepas's Modified Adaptive Invulnerability Field\": \"Vepas's Modified Adaptive Invulnerability Shield Hardener\",\r\n    \"Estamel's Modified Adaptive Invulnerability Field\": \"Estamel's Modified Adaptive Invulnerability Shield Hardener\",\r\n    \"Caldari Navy Kinetic Deflection Field\": \"Caldari Navy Anti-Kinetic Shield Hardener\",\r\n    \"Caldari Navy Explosive Deflection Field\": \"Caldari Navy Anti-Explosive Shield Hardener\",\r\n    \"Caldari Navy Thermal Dissipation Field\": \"Caldari Navy Anti-Thermal Shield Hardener\",\r\n    \"Caldari Navy Adaptive Invulnerability Field\": \"Caldari Navy Adaptive Invulnerability Shield Hardener\",\r\n    \"Caldari Navy EM Ward Field\": \"Caldari Navy Anti-EM Shield Hardener\",\r\n    \"Gist C-Type Kinetic Deflection Field\": \"Gist C-Type Anti-Kinetic Shield Hardener\",\r\n    \"Pith C-Type Kinetic Deflection Field\": \"Pith C-Type Anti-Kinetic Shield Hardener\",\r\n    \"Gist C-Type Explosive Deflection Field\": \"Gist C-Type Anti-Explosive Shield Hardener\",\r\n    \"Pith C-Type Explosive Deflection Field\": \"Pith C-Type Anti-Explosive Shield Hardener\",\r\n    \"Gist C-Type Thermal Dissipation Field\": \"Gist C-Type Anti-Thermal Shield Hardener\",\r\n    \"Pith C-Type Thermal Dissipation Field\": \"Pith C-Type Anti-Thermal Shield Hardener\",\r\n    \"Gist C-Type EM Ward Field\": \"Gist C-Type Anti-EM Shield Hardener\",\r\n    \"Pith C-Type EM Ward Field\": \"Pith C-Type Anti-EM Shield Hardener\",\r\n    \"Gist B-Type EM Ward Field\": \"Gist B-Type Anti-EM Shield Hardener\",\r\n    \"Pith B-Type EM Ward Field\": \"Pith B-Type Anti-EM Shield Hardener\",\r\n    \"Gist B-Type Thermal Dissipation Field\": \"Gist B-Type Anti-Thermal Shield Hardener\",\r\n    \"Pith B-Type Thermal Dissipation Field\": \"Pith B-Type Anti-Thermal Shield Hardener\",\r\n    \"Gist B-Type Explosive Deflection Field\": \"Gist B-Type Anti-Explosive Shield Hardener\",\r\n    \"Pith B-Type Explosive Deflection Field\": \"Pith B-Type Anti-Explosive Shield Hardener\",\r\n    \"Gist B-Type Kinetic Deflection Field\": \"Gist B-Type Anti-Kinetic Shield Hardener\",\r\n    \"Pith B-Type Kinetic Deflection Field\": \"Pith B-Type Anti-Kinetic Shield Hardener\",\r\n    \"Gist A-Type Kinetic Deflection Field\": \"Gist A-Type Anti-Kinetic Shield Hardener\",\r\n    \"Pith A-Type Kinetic Deflection Field\": \"Pith A-Type Anti-Kinetic Shield Hardener\",\r\n    \"Gist A-Type Explosive Deflection Field\": \"Gist A-Type Anti-Explosive Shield Hardener\",\r\n    \"Pith A-Type Explosive Deflection Field\": \"Pith A-Type Anti-Explosive Shield Hardener\",\r\n    \"Gist A-Type Thermal Dissipation Field\": \"Gist A-Type Anti-Thermal Shield Hardener\",\r\n    \"Pith A-Type Thermal Dissipation Field\": \"Pith A-Type Anti-Thermal Shield Hardener\",\r\n    \"Gist A-Type EM Ward Field\": \"Gist A-Type Anti-EM Shield Hardener\",\r\n    \"Pith A-Type EM Ward Field\": \"Pith A-Type Anti-EM Shield Hardener\",\r\n    \"Gist X-Type EM Ward Field\": \"Gist X-Type Anti-EM Shield Hardener\",\r\n    \"Pith X-Type EM Ward Field\": \"Pith X-Type Anti-EM Shield Hardener\",\r\n    \"Gist X-Type Thermal Dissipation Field\": \"Gist X-Type Anti-Thermal Shield Hardener\",\r\n    \"Pith X-Type Thermal Dissipation Field\": \"Pith X-Type Anti-Thermal Shield Hardener\",\r\n    \"Gist X-Type Explosive Deflection Field\": \"Gist X-Type Anti-Explosive Shield Hardener\",\r\n    \"Pith X-Type Explosive Deflection Field\": \"Pith X-Type Anti-Explosive Shield Hardener\",\r\n    \"Gist X-Type Kinetic Deflection Field\": \"Gist X-Type Anti-Kinetic Shield Hardener\",\r\n    \"Pith X-Type Kinetic Deflection Field\": \"Pith X-Type Anti-Kinetic Shield Hardener\",\r\n    \"'Nugget' Kinetic Deflection Field\": \"'Nugget' Anti-Kinetic Shield Hardener\",\r\n    \"'Desert Heat' Thermal Dissipation Field\": \"'Desert Heat' Anti-Thermal Shield Hardener\",\r\n    \"'Posse' Adaptive Invulnerability Field\": \"'Posse' Adaptive Invulnerability Shield Hardener\",\r\n    \"'Poacher' EM Ward Field\": \"'Poacher' Anti-EM Shield Hardener\",\r\n    \"'Snake Eyes' Explosive Deflection Field\": \"'Snake Eyes' Anti-Explosive Shield Hardener\",\r\n    \"Civilian Thermal Dissipation Field\": \"Civilian Anti-Thermal Shield Hardener\",\r\n    \"Civilian EM Ward Field\": \"Civilian Anti-EM Shield Hardener\",\r\n    \"Civilian Explosive Deflection Field\": \"Civilian Anti-Explosive Shield Hardener\",\r\n    \"Civilian Kinetic Deflection Field\": \"Civilian Anti-Kinetic Shield Hardener\"\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseApril2016.py",
    "content": "\"\"\"\r\nConversion pack for Citadel release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Capital Inefficient Armor Repair Unit\": \"CONCORD Capital Armor Repairer\",\r\n    \"Capital Neutron Saturation Injector I\": \"CONCORD Capital Shield Booster\",\r\n    \"Limited Mega Ion Siege Blaster I\": \"CONCORD Ion Siege Blaster\",\r\n    \"Dual 1000mm 'Scout' Accelerator Cannon\": \"CONCORD Dual 1000mm Railgun\",\r\n    \"Dual Modal Giga Pulse Laser I\": \"CONCORD Dual Giga Pulse Laser\",\r\n    \"Dual Giga Modal Laser I\": \"CONCORD Dual Giga Beam Laser\",\r\n    \"'Limos' XL Cruise Launcher I\": \"CONCORD XL Cruise Missile Launcher\",\r\n    \"Shock 'Limos' XL Torpedo Bay I\": \"CONCORD XL Torpedo Launcher\",\r\n    \"Quad 3500mm Gallium Cannon\": \"CONCORD Quad 3500mm Siege Artillery\",\r\n    \"6x2500mm Heavy Gallium Repeating Cannon\": \"CONCORD Hexa 2500mm Repeating Cannon\",\r\n    \"Capital Murky Remote Capacitor Transmitter\": \"CONCORD Capital Remote Capacitor Transmitter\",\r\n    \"Ion Siege Blaster Cannon I\": \"Ion Siege Blaster I\",\r\n    \"6x2500mm Repeating Cannon I\": \"Hexa 2500mm Repeating Cannon I\",\r\n    \"Templar\": \"Templar I\",\r\n    \"Dragonfly\": \"Dragonfly I\",\r\n    \"Firbolg\": \"Firbolg I\",\r\n    \"Einherji\": \"Einherji I\",\r\n    \"Gjallarhorn\": \"'Gjallarhorn' Explosive Doomsday\",\r\n    \"Drone Control Unit I\": \"Fighter Support Unit I\",\r\n    \"Judgement\": \"'Judgment' Electromagnetic Doomsday\",\r\n    \"Oblivion\": \"'Oblivion' Kinetic Doomsday\",\r\n    \"Aurora Ominae\": \"'Aurora Ominae' Thermal Doomsday\",\r\n    \"Advanced Drone Interfacing\": \"Fighter Hangar Management\",\r\n    \"Remote ECM Burst I\": \"ECM Jammer Burst Projector\",\r\n    \"Projected Electronic Counter Measures\": \"Burst Projector Operation\",\r\n    \"Cyclops\": \"Cyclops I\",\r\n    \"Fighter Bombers\": \"Heavy Fighters\",\r\n    \"Malleus\": \"Malleus I\",\r\n    \"Tyrfing\": \"Tyrfing I\",\r\n    \"Mantis\": \"Mantis I\",\r\n    \"XL Cruise Launcher I\": \"XL Cruise Missile Launcher I\",\r\n    \"Armor Resistance Phasing\": \"Resistance Phasing\",\r\n    \"Unit D-34343's Modified Drone Control Unit\": \"Unit D-34343's Modified Fighter Support Unit\",\r\n    \"Unit F-435454's Modified Drone Control Unit\": \"Unit F-435454's Modified Fighter Support Unit\",\r\n    \"Unit P-343554's Modified Drone Control Unit\": \"Unit P-343554's Modified Fighter Support Unit\",\r\n    \"Unit W-634's Modified Drone Control Unit\": \"Unit W-634's Modified Fighter Support Unit\",\r\n    \"Heavy Shadow Serpentis Stasis Grappler\": \"Shadow Serpentis Heavy Stasis Grappler\",\r\n    \"Heavy Domination Stasis Grappler\": \"Domination Heavy Stasis Grappler\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseAug2019.py",
    "content": "\"\"\"\r\nConversion pack for August 2019 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    'Gravid 1MN Afterburner MutaPlasmid': 'Gravid 1MN Afterburner Mutaplasmid',\r\n    'Low-grade Slave Alpha': 'Low-grade Amulet Alpha',\r\n    'Low-grade Slave Beta': 'Low-grade Amulet Beta',\r\n    'Low-grade Slave Gamma': 'Low-grade Amulet Gamma',\r\n    'Low-grade Slave Delta': 'Low-grade Amulet Delta',\r\n    'Low-grade Slave Epsilon': 'Low-grade Amulet Epsilon',\r\n    'Low-grade Slave Omega': 'Low-grade Amulet Omega',\r\n    'Mid-grade Slave Alpha': 'Mid-grade Amulet Alpha',\r\n    'Mid-grade Slave Beta': 'Mid-grade Amulet Beta',\r\n    'Mid-grade Slave Gamma': 'Mid-grade Amulet Gamma',\r\n    'Mid-grade Slave Delta': 'Mid-grade Amulet Delta',\r\n    'Mid-grade Slave Epsilon': 'Mid-grade Amulet Epsilon',\r\n    'Mid-grade Slave Omega': 'Mid-grade Amulet Omega',\r\n    'High-grade Slave Alpha': 'High-grade Amulet Alpha',\r\n    'High-grade Slave Beta': 'High-grade Amulet Beta',\r\n    'High-grade Slave Gamma': 'High-grade Amulet Gamma',\r\n    'High-grade Slave Delta': 'High-grade Amulet Delta',\r\n    'High-grade Slave Epsilon': 'High-grade Amulet Epsilon',\r\n    'High-grade Slave Omega': 'High-grade Amulet Omega'\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseAug2020.py",
    "content": "\"\"\"\r\nConversion pack for August 2020 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items, extracted via diff file\r\n    \"Basic Energized EM Membrane\": \"'Basic' EM Energized Membrane\",\r\n    \"Energized EM Membrane I\": \"EM Energized Membrane I\",\r\n    \"Energized EM Membrane II\": \"EM Energized Membrane II\",\r\n    \"Basic Energized Explosive Membrane\": \"'Basic' Explosive Energized Membrane\",\r\n    \"Energized Explosive Membrane I\": \"Explosive Energized Membrane I\",\r\n    \"Energized Explosive Membrane II\": \"Explosive Energized Membrane II\",\r\n    \"Basic Energized Armor Layering Membrane\": \"'Basic' Layered Energized Membrane\",\r\n    \"Energized Armor Layering Membrane I\": \"Layered Energized Membrane I\",\r\n    \"Energized Armor Layering Membrane II\": \"Layered Energized Membrane II\",\r\n    \"Basic Energized Kinetic Membrane\": \"'Basic' Kinetic Energized Membrane\",\r\n    \"Energized Kinetic Membrane I\": \"Kinetic Energized Membrane I\",\r\n    \"Energized Kinetic Membrane II\": \"Kinetic Energized Membrane II\",\r\n    \"Basic Energized Thermal Membrane\": \"'Basic' Thermal Energized Membrane\",\r\n    \"Energized Thermal Membrane I\": \"Thermal Energized Membrane I\",\r\n    \"Energized Thermal Membrane II\": \"Thermal Energized Membrane II\",\r\n    \"Basic Energized Adaptive Nano Membrane\": \"'Basic' Multispectrum Energized Membrane\",\r\n    \"Energized Adaptive Nano Membrane I\": \"Multispectrum Energized Membrane I\",\r\n    \"Energized Adaptive Nano Membrane II\": \"Multispectrum Energized Membrane II\",\r\n    \"Dark Blood Energized Adaptive Nano Membrane\": \"Dark Blood Multispectrum Energized Membrane\",\r\n    \"True Sansha Energized Adaptive Nano Membrane\": \"True Sansha Multispectrum Energized Membrane\",\r\n    \"Shadow Serpentis Energized Adaptive Nano Membrane\": \"Shadow Serpentis Multispectrum Energized Membrane\",\r\n    \"Dark Blood Energized Kinetic Membrane\": \"Dark Blood Kinetic Energized Membrane\",\r\n    \"True Sansha Energized Kinetic Membrane\": \"True Sansha Kinetic Energized Membrane\",\r\n    \"Shadow Serpentis Energized Kinetic Membrane\": \"Shadow Serpentis Kinetic Energized Membrane\",\r\n    \"Dark Blood Energized Explosive Membrane\": \"Dark Blood Explosive Energized Membrane\",\r\n    \"True Sansha Energized Explosive Membrane\": \"True Sansha Explosive Energized Membrane\",\r\n    \"Shadow Serpentis Energized Explosive Membrane\": \"Shadow Serpentis Explosive Energized Membrane\",\r\n    \"Dark Blood Energized EM Membrane\": \"Dark Blood EM Energized Membrane\",\r\n    \"True Sansha Energized EM Membrane\": \"True Sansha EM Energized Membrane\",\r\n    \"Shadow Serpentis Energized EM Membrane\": \"Shadow Serpentis EM Energized Membrane\",\r\n    \"Dark Blood Energized Thermal Membrane\": \"Dark Blood Thermal Energized Membrane\",\r\n    \"True Sansha Energized Thermal Membrane\": \"True Sansha Thermal Energized Membrane\",\r\n    \"Shadow Serpentis Energized Thermal Membrane\": \"Shadow Serpentis Thermal Energized Membrane\",\r\n    \"Brokara's Modified Energized Adaptive Nano Membrane\": \"Brokara's Modified Multispectrum Energized Membrane\",\r\n    \"Tairei's Modified Energized Adaptive Nano Membrane\": \"Tairei's Modified Multispectrum Energized Membrane\",\r\n    \"Selynne's Modified Energized Adaptive Nano Membrane\": \"Selynne's Modified Multispectrum Energized Membrane\",\r\n    \"Raysere's Modified Energized Adaptive Nano Membrane\": \"Raysere's Modified Multispectrum Energized Membrane\",\r\n    \"Vizan's Modified Energized Adaptive Nano Membrane\": \"Vizan's Modified Multispectrum Energized Membrane\",\r\n    \"Ahremen's Modified Energized Adaptive Nano Membrane\": \"Ahremen's Modified Multispectrum Energized Membrane\",\r\n    \"Chelm's Modified Energized Adaptive Nano Membrane\": \"Chelm's Modified Multispectrum Energized Membrane\",\r\n    \"Draclira's Modified Energized Adaptive Nano Membrane\": \"Draclira's Modified Multispectrum Energized Membrane\",\r\n    \"Brokara's Modified Energized Thermal Membrane\": \"Brokara's Modified Thermal Energized Membrane\",\r\n    \"Tairei's Modified Energized Thermal Membrane\": \"Tairei's Modified Thermal Energized Membrane\",\r\n    \"Selynne's Modified Energized Thermal Membrane\": \"Selynne's Modified Thermal Energized Membrane\",\r\n    \"Raysere's Modified Energized Thermal Membrane\": \"Raysere's Modified Thermal Energized Membrane\",\r\n    \"Vizan's Modified Energized Thermal Membrane\": \"Vizan's Modified Thermal Energized Membrane\",\r\n    \"Ahremen's Modified Energized Thermal Membrane\": \"Ahremen's Modified Thermal Energized Membrane\",\r\n    \"Chelm's Modified Energized Thermal Membrane\": \"Chelm's Modified Thermal Energized Membrane\",\r\n    \"Draclira's Modified Energized Thermal Membrane\": \"Draclira's Modified Thermal Energized Membrane\",\r\n    \"Brokara's Modified Energized EM Membrane\": \"Brokara's Modified EM Energized Membrane\",\r\n    \"Tairei's Modified Energized EM Membrane\": \"Tairei's Modified EM Energized Membrane\",\r\n    \"Selynne's Modified Energized EM Membrane\": \"Selynne's Modified EM Energized Membrane\",\r\n    \"Raysere's Modified Energized EM Membrane\": \"Raysere's Modified EM Energized Membrane\",\r\n    \"Vizan's Modified Energized EM Membrane\": \"Vizan's Modified EM Energized Membrane\",\r\n    \"Ahremen's Modified Energized EM Membrane\": \"Ahremen's Modified EM Energized Membrane\",\r\n    \"Chelm's Modified Energized EM Membrane\": \"Chelm's Modified EM Energized Membrane\",\r\n    \"Draclira's Modified Energized EM Membrane\": \"Draclira's Modified EM Energized Membrane\",\r\n    \"Brokara's Modified Energized Explosive Membrane\": \"Brokara's Modified Explosive Energized Membrane\",\r\n    \"Tairei's Modified Energized Explosive Membrane\": \"Tairei's Modified Explosive Energized Membrane\",\r\n    \"Selynne's Modified Energized Explosive Membrane\": \"Selynne's Modified Explosive Energized Membrane\",\r\n    \"Raysere's Modified Energized Explosive Membrane\": \"Raysere's Modified Explosive Energized Membrane\",\r\n    \"Vizan's Modified Energized Explosive Membrane\": \"Vizan's Modified Explosive Energized Membrane\",\r\n    \"Ahremen's Modified Energized Explosive Membrane\": \"Ahremen's Modified Explosive Energized Membrane\",\r\n    \"Chelm's Modified Energized Explosive Membrane\": \"Chelm's Modified Explosive Energized Membrane\",\r\n    \"Draclira's Modified Energized Explosive Membrane\": \"Draclira's Modified Explosive Energized Membrane\",\r\n    \"Brokara's Modified Energized Kinetic Membrane\": \"Brokara's Modified Kinetic Energized Membrane\",\r\n    \"Tairei's Modified Energized Kinetic Membrane\": \"Tairei's Modified Kinetic Energized Membrane\",\r\n    \"Selynne's Modified Energized Kinetic Membrane\": \"Selynne's Modified Kinetic Energized Membrane\",\r\n    \"Raysere's Modified Energized Kinetic Membrane\": \"Raysere's Modified Kinetic Energized Membrane\",\r\n    \"Vizan's Modified Energized Kinetic Membrane\": \"Vizan's Modified Kinetic Energized Membrane\",\r\n    \"Ahremen's Modified Energized Kinetic Membrane\": \"Ahremen's Modified Kinetic Energized Membrane\",\r\n    \"Chelm's Modified Energized Kinetic Membrane\": \"Chelm's Modified Kinetic Energized Membrane\",\r\n    \"Draclira's Modified Energized Kinetic Membrane\": \"Draclira's Modified Kinetic Energized Membrane\",\r\n    \"Brynn's Modified Energized Adaptive Nano Membrane\": \"Brynn's Modified Multispectrum Energized Membrane\",\r\n    \"Tuvan's Modified Energized Adaptive Nano Membrane\": \"Tuvan's Modified Multispectrum Energized Membrane\",\r\n    \"Setele's Modified Energized Adaptive Nano Membrane\": \"Setele's Modified Multispectrum Energized Membrane\",\r\n    \"Cormack's Modified Energized Adaptive Nano Membrane\": \"Cormack's Modified Multispectrum Energized Membrane\",\r\n    \"Brynn's Modified Energized Thermal Membrane\": \"Brynn's Modified Thermal Energized Membrane\",\r\n    \"Tuvan's Modified Energized Thermal Membrane\": \"Tuvan's Modified Thermal Energized Membrane\",\r\n    \"Setele's Modified Energized Thermal Membrane\": \"Setele's Modified Thermal Energized Membrane\",\r\n    \"Cormack's Modified Energized Thermal Membrane\": \"Cormack's Modified Thermal Energized Membrane\",\r\n    \"Brynn's Modified Energized EM Membrane\": \"Brynn's Modified EM Energized Membrane\",\r\n    \"Tuvan's Modified Energized EM Membrane\": \"Tuvan's Modified EM Energized Membrane\",\r\n    \"Setele's Modified Energized EM Membrane\": \"Setele's Modified EM Energized Membrane\",\r\n    \"Cormack's Modified Energized EM Membrane\": \"Cormack's Modified EM Energized Membrane\",\r\n    \"Brynn's Modified Energized Explosive Membrane\": \"Brynn's Modified Explosive Energized Membrane\",\r\n    \"Tuvan's Modified Energized Explosive Membrane\": \"Tuvan's Modified Explosive Energized Membrane\",\r\n    \"Setele's Modified Energized Explosive Membrane\": \"Setele's Modified Explosive Energized Membrane\",\r\n    \"Cormack's Modified Energized Explosive Membrane\": \"Cormack's Modified Explosive Energized Membrane\",\r\n    \"Brynn's Modified Energized Kinetic Membrane\": \"Brynn's Modified Kinetic Energized Membrane\",\r\n    \"Tuvan's Modified Energized Kinetic Membrane\": \"Tuvan's Modified Kinetic Energized Membrane\",\r\n    \"Setele's Modified Energized Kinetic Membrane\": \"Setele's Modified Kinetic Energized Membrane\",\r\n    \"Cormack's Modified Energized Kinetic Membrane\": \"Cormack's Modified Kinetic Energized Membrane\",\r\n    \"Imperial Navy Energized Thermal Membrane\": \"Imperial Navy Thermal Energized Membrane\",\r\n    \"Imperial Navy Energized EM Membrane\": \"Imperial Navy EM Energized Membrane\",\r\n    \"Imperial Navy Energized Explosive Membrane\": \"Imperial Navy Explosive Energized Membrane\",\r\n    \"Imperial Navy Energized Kinetic Membrane\": \"Imperial Navy Kinetic Energized Membrane\",\r\n    \"Imperial Navy Energized Adaptive Nano Membrane\": \"Imperial Navy Multispectrum Energized Membrane\",\r\n    \"Federation Navy Energized Thermal Membrane\": \"Federation Navy Thermal Energized Membrane\",\r\n    \"Federation Navy Energized EM Membrane\": \"Federation Navy EM Energized Membrane\",\r\n    \"Federation Navy Energized Explosive Membrane\": \"Federation Navy Explosive Energized Membrane\",\r\n    \"Federation Navy Energized Kinetic Membrane\": \"Federation Navy Kinetic Energized Membrane\",\r\n    \"Federation Navy Energized Adaptive Nano Membrane\": \"Federation Navy Multispectrum Energized Membrane\",\r\n    \"Prototype Energized Adaptive Nano Membrane I\": \"Compact Multispectrum Energized Membrane\",\r\n    \"Prototype Energized Kinetic Membrane I\": \"Compact Kinetic Energized Membrane\",\r\n    \"Prototype Energized Explosive Membrane I\": \"Compact Explosive Energized Membrane\",\r\n    \"Prototype Energized EM Membrane I\": \"Compact EM Energized Membrane\",\r\n    \"Prototype Energized Armor Layering Membrane I\": \"Compact Layered Energized Membrane\",\r\n    \"Prototype Energized Thermal Membrane I\": \"Compact Thermal Energized Membrane\",\r\n    \"Ammatar Navy Energized Adaptive Nano Membrane\": \"Ammatar Navy Multispectrum Energized Membrane\",\r\n    \"Ammatar Navy Energized Kinetic Membrane\": \"Ammatar Navy Kinetic Energized Membrane\",\r\n    \"Ammatar Navy Energized Explosive Membrane\": \"Ammatar Navy Explosive Energized Membrane\",\r\n    \"Ammatar Navy Energized EM Membrane\": \"Ammatar Navy EM Energized Membrane\",\r\n    \"Ammatar Navy Energized Thermal Membrane\": \"Ammatar Navy Thermal Energized Membrane\",\r\n    \"Corelum C-Type Energized Adaptive Nano Membrane\": \"Corelum C-Type Multispectrum Energized Membrane\",\r\n    \"Corelum C-Type Energized Kinetic Membrane\": \"Corelum C-Type Kinetic Energized Membrane\",\r\n    \"Corelum C-Type Energized Explosive Membrane\": \"Corelum C-Type Explosive Energized Membrane\",\r\n    \"Corelum C-Type Energized EM Membrane\": \"Corelum C-Type EM Energized Membrane\",\r\n    \"Corelum C-Type Energized Thermal Membrane\": \"Corelum C-Type Thermal Energized Membrane\",\r\n    \"Corelum B-Type Energized Adaptive Nano Membrane\": \"Corelum B-Type Multispectrum Energized Membrane\",\r\n    \"Corelum B-Type Energized Kinetic Membrane\": \"Corelum B-Type Kinetic Energized Membrane\",\r\n    \"Corelum B-Type Energized Explosive Membrane\": \"Corelum B-Type Explosive Energized Membrane\",\r\n    \"Corelum B-Type Energized EM Membrane\": \"Corelum B-Type EM Energized Membrane\",\r\n    \"Corelum B-Type Energized Thermal Membrane\": \"Corelum B-Type Thermal Energized Membrane\",\r\n    \"Corelum A-Type Energized Adaptive Nano Membrane\": \"Corelum A-Type Multispectrum Energized Membrane\",\r\n    \"Corelum A-Type Energized Kinetic Membrane\": \"Corelum A-Type Kinetic Energized Membrane\",\r\n    \"Corelum A-Type Energized Explosive Membrane\": \"Corelum A-Type Explosive Energized Membrane\",\r\n    \"Corelum A-Type Energized EM Membrane\": \"Corelum A-Type EM Energized Membrane\",\r\n    \"Corelum A-Type Energized Thermal Membrane\": \"Corelum A-Type Thermal Energized Membrane\",\r\n    \"Corpum C-Type Energized Adaptive Nano Membrane\": \"Corpum C-Type Multispectrum Energized Membrane\",\r\n    \"Centum C-Type Energized Adaptive Nano Membrane\": \"Centum C-Type Multispectrum Energized Membrane\",\r\n    \"Corpum C-Type Energized Kinetic Membrane\": \"Corpum C-Type Kinetic Energized Membrane\",\r\n    \"Centum C-Type Energized Kinetic Membrane\": \"Centum C-Type Kinetic Energized Membrane\",\r\n    \"Corpum C-Type Energized Explosive Membrane\": \"Corpum C-Type Explosive Energized Membrane\",\r\n    \"Centum C-Type Energized Explosive Membrane\": \"Centum C-Type Explosive Energized Membrane\",\r\n    \"Corpum C-Type Energized EM Membrane\": \"Corpum C-Type EM Energized Membrane\",\r\n    \"Centum C-Type Energized EM Membrane\": \"Centum C-Type EM Energized Membrane\",\r\n    \"Corpum C-Type Energized Thermal Membrane\": \"Corpum C-Type Thermal Energized Membrane\",\r\n    \"Centum C-Type Energized Thermal Membrane\": \"Centum C-Type Thermal Energized Membrane\",\r\n    \"Corpum B-Type Energized Adaptive Nano Membrane\": \"Corpum B-Type Multispectrum Energized Membrane\",\r\n    \"Centum B-Type Energized Adaptive Nano Membrane\": \"Centum B-Type Multispectrum Energized Membrane\",\r\n    \"Corpum B-Type Energized Kinetic Membrane\": \"Corpum B-Type Kinetic Energized Membrane\",\r\n    \"Centum B-Type Energized Kinetic Membrane\": \"Centum B-Type Kinetic Energized Membrane\",\r\n    \"Corpum B-Type Energized Explosive Membrane\": \"Corpum B-Type Explosive Energized Membrane\",\r\n    \"Centum B-Type Energized Explosive Membrane\": \"Centum B-Type Explosive Energized Membrane\",\r\n    \"Corpum B-Type Energized Thermal Membrane\": \"Corpum B-Type Thermal Energized Membrane\",\r\n    \"Centum B-Type Energized Thermal Membrane\": \"Centum B-Type Thermal Energized Membrane\",\r\n    \"Corpum A-Type Energized Thermal Membrane\": \"Corpum A-Type Thermal Energized Membrane\",\r\n    \"Centum A-Type Energized Thermal Membrane\": \"Centum A-Type Thermal Energized Membrane\",\r\n    \"Corpum A-Type Energized EM Membrane\": \"Corpum A-Type EM Energized Membrane\",\r\n    \"Centum A-Type Energized EM Membrane\": \"Centum A-Type EM Energized Membrane\",\r\n    \"Corpum A-Type Energized Explosive Membrane\": \"Corpum A-Type Explosive Energized Membrane\",\r\n    \"Centum A-Type Energized Explosive Membrane\": \"Centum A-Type Explosive Energized Membrane\",\r\n    \"Corpum A-Type Energized Kinetic Membrane\": \"Corpum A-Type Kinetic Energized Membrane\",\r\n    \"Centum A-Type Energized Kinetic Membrane\": \"Centum A-Type Kinetic Energized Membrane\",\r\n    \"Corpum A-Type Energized Adaptive Nano Membrane\": \"Corpum A-Type Multispectrum Energized Membrane\",\r\n    \"Centum A-Type Energized Adaptive Nano Membrane\": \"Centum A-Type Multispectrum Energized Membrane\",\r\n    \"Corpum B-Type Energized EM Membrane\": \"Corpum B-Type EM Energized Membrane\",\r\n    \"Centum B-Type Energized EM Membrane\": \"Centum B-Type EM Energized Membrane\",\r\n    \"'Pilfer' Energized Adaptive Nano Membrane I\": \"'Pilfer' Multispectrum Energized Membrane\",\r\n    \"'Moonshine' Energized Thermal Membrane I\": \"'Moonshine' Thermal Energized Membrane\",\r\n    \"'Mafia' Energized Kinetic Membrane I\": \"'Mafia' Kinetic Energized Membrane\",\r\n    \"Khanid Navy Energized Adaptive Nano Membrane\": \"Khanid Navy Multispectrum Energized Membrane\",\r\n    \"Khanid Navy Energized Kinetic Membrane\": \"Khanid Navy Kinetic Energized Membrane\",\r\n    \"Khanid Navy Energized Explosive Membrane\": \"Khanid Navy Explosive Energized Membrane\",\r\n    \"Khanid Navy Energized EM Membrane\": \"Khanid Navy EM Energized Membrane\",\r\n    \"Khanid Navy Energized Thermal Membrane\": \"Khanid Navy Thermal Energized Membrane\",\r\n    \"Large Compact Vorton projector\": \"Large Compact Vorton Projector\",\r\n    # Converted items\r\n    \"Experimental Energized Adaptive Nano Membrane I\": \"Compact Multispectrum Energized Membrane\",\r\n    \"Limited Energized Adaptive Nano Membrane I\": \"Compact Multispectrum Energized Membrane\",\r\n    \"Upgraded Energized Adaptive Nano Membrane I\": \"Compact Multispectrum Energized Membrane\",\r\n    \"Experimental Energized Armor Layering Membrane I\": \"Compact Layered Energized Membrane\",\r\n    \"Limited Energized Armor Layering Membrane I\": \"Compact Layered Energized Membrane\",\r\n    \"Upgraded Energized Armor Layering Membrane I\": \"Compact Layered Energized Membrane\",\r\n    \"Experimental Energized EM Membrane I\": \"Compact EM Energized Membrane\",\r\n    \"Limited Energized EM Membrane I\": \"Compact EM Energized Membrane\",\r\n    \"Upgraded Energized EM Membrane I\": \"Compact EM Energized Membrane\",\r\n    \"Experimental Energized Explosive Membrane I\": \"Compact Explosive Energized Membrane\",\r\n    \"Limited Energized Explosive Membrane I\": \"Compact Explosive Energized Membrane\",\r\n    \"Upgraded Energized Explosive Membrane I\": \"Compact Explosive Energized Membrane\",\r\n    \"Experimental Energized Kinetic Membrane I\": \"Compact Kinetic Energized Membrane\",\r\n    \"Limited Energized Kinetic Membrane I\": \"Compact Kinetic Energized Membrane\",\r\n    \"Upgraded Energized Kinetic Membrane I\": \"Compact Kinetic Energized Membrane\",\r\n    \"Experimental Energized Thermal Membrane I\": \"Compact Thermal Energized Membrane\",\r\n    \"Limited Energized Thermal Membrane I\": \"Compact Thermal Energized Membrane\",\r\n    \"Upgraded Energized Thermal Membrane I\": \"Compact Thermal Energized Membrane\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseAug2022.py",
    "content": "\"\"\"\r\nConversion pack for August 2022 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Basic Reactor Control Unit\": \"'Basic' Reactor Control Unit\",\r\n    \"Basic Co-Processor\": \"'Basic' Co-Processor\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseCarnyx.py",
    "content": "\"\"\"\r\nConversion pack for Carnyx Module Tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"1MN Microwarpdrive I\": \"5MN Microwarpdrive I\",\r\n    \"1MN Microwarpdrive II\": \"5MN Microwarpdrive II\",\r\n    \"Prototype 100MN Microwarpdrive I\": \"500MN Cold-Gas Enduring Microwarpdrive\",\r\n    \"Experimental 100MN Afterburner I\": \"100MN Monopropellant Enduring Afterburner\",\r\n    \"Upgraded 1MN Microwarpdrive I\": \"5MN Cold-Gas Enduring Microwarpdrive\",\r\n    \"Limited 1MN Microwarpdrive I\": \"5MN Y-T8 Compact Microwarpdrive\",\r\n    \"Experimental 10MN Microwarpdrive I\": \"50MN Cold-Gas Enduring Microwarpdrive\",\r\n    \"Limited 1MN Afterburner I\": \"1MN Y-S8 Compact Afterburner\",\r\n    \"Experimental 1MN Afterburner I\": \"1MN Monopropellant Enduring Afterburner\",\r\n    \"Experimental 10MN Afterburner I\": \"10MN Monopropellant Enduring Afterburner\",\r\n    \"Large Azeotropic Ward Salubrity I\": \"Large Azeotropic Restrained Shield Extender\",\r\n    \"Small Azeotropic Ward Salubrity I\": \"Small Azeotropic Restrained Shield Extender\",\r\n    \"Medium Azeotropic Ward Salubrity I\": \"Medium Azeotropic Restrained Shield Extender\",\r\n    \"Medium F-S9 Regolith Shield Induction\": \"Medium F-S9 Regolith Compact Shield Extender\",\r\n    \"Small F-S9 Regolith Shield Induction\": \"Small F-S9 Regolith Compact Shield Extender\",\r\n    \"Large F-S9 Regolith Shield Induction\": \"Large F-S9 Regolith Compact Shield Extender\",\r\n    \"1600mm Reinforced Steel Plates I\": \"1600mm Steel Plates I\",\r\n    \"100mm Reinforced Steel Plates I\": \"100mm Steel Plates I\",\r\n    \"200mm Reinforced Steel Plates I\": \"200mm Steel Plates I\",\r\n    \"400mm Reinforced Steel Plates I\": \"400mm Steel Plates I\",\r\n    \"800mm Reinforced Steel Plates I\": \"800mm Steel Plates I\",\r\n    \"400mm Reinforced Rolled Tungsten Plates I\": \"400mm Rolled Tungsten Compact Plates\",\r\n    \"400mm Reinforced Crystalline Carbonide Plates I\": \"400mm Crystalline Carbonide Restrained Plates\",\r\n    \"800mm Reinforced Rolled Tungsten Plates I\": \"800mm Rolled Tungsten Compact Plates\",\r\n    \"800mm Reinforced Crystalline Carbonide Plates I\": \"800mm Crystalline Carbonide Restrained Plates\",\r\n    \"1600mm Reinforced Rolled Tungsten Plates I\": \"1600mm Rolled Tungsten Compact Plates\",\r\n    \"1600mm Reinforced Crystalline Carbonide Plates I\": \"1600mm Crystalline Carbonide Restrained Plates\",\r\n    \"100mm Reinforced Rolled Tungsten Plates I\": \"100mm Rolled Tungsten Compact Plates\",\r\n    \"100mm Reinforced Crystalline Carbonide Plates I\": \"100mm Crystalline Carbonide Restrained Plates\",\r\n    \"200mm Reinforced Rolled Tungsten Plates I\": \"200mm Rolled Tungsten Compact Plates\",\r\n    \"200mm Reinforced Crystalline Carbonide Plates I\": \"200mm Crystalline Carbonide Restrained Plates\",\r\n    \"10MN Microwarpdrive I\": \"50MN Microwarpdrive I\",\r\n    \"100MN Microwarpdrive I\": \"500MN Microwarpdrive I\",\r\n    \"10MN Microwarpdrive II\": \"50MN Microwarpdrive II\",\r\n    \"100MN Microwarpdrive II\": \"500MN Microwarpdrive II\",\r\n    \"Domination 100MN Microwarpdrive\": \"Domination 500MN Microwarpdrive\",\r\n    \"Shadow Serpentis 100MN Microwarpdrive\": \"Shadow Serpentis 500MN Microwarpdrive\",\r\n    \"Domination 10MN Microwarpdrive\": \"Domination 50MN Microwarpdrive\",\r\n    \"Shadow Serpentis 10MN Microwarpdrive\": \"Shadow Serpentis 50MN Microwarpdrive\",\r\n    \"Domination 1MN Microwarpdrive\": \"Domination 5MN Microwarpdrive\",\r\n    \"Shadow Serpentis 1MN Microwarpdrive\": \"Shadow Serpentis 5MN Microwarpdrive\",\r\n    \"Mizuro's Modified 100MN Microwarpdrive\": \"Mizuro's Modified 500MN Microwarpdrive\",\r\n    \"Hakim's Modified 100MN Microwarpdrive\": \"Hakim's Modified 500MN Microwarpdrive\",\r\n    \"Gotan's Modified 100MN Microwarpdrive\": \"Gotan's Modified 500MN Microwarpdrive\",\r\n    \"Tobias' Modified 100MN Microwarpdrive\": \"Tobias' Modified 500MN Microwarpdrive\",\r\n    \"Brynn's Modified 100MN Microwarpdrive\": \"Brynn's Modified 500MN Microwarpdrive\",\r\n    \"Tuvan's Modified 100MN Microwarpdrive\": \"Tuvan's Modified 500MN Microwarpdrive\",\r\n    \"Setele's Modified 100MN Microwarpdrive\": \"Setele's Modified 500MN Microwarpdrive\",\r\n    \"Cormack's Modified 100MN Microwarpdrive\": \"Cormack's Modified 500MN Microwarpdrive\",\r\n    \"Republic Fleet 1MN Microwarpdrive\": \"Republic Fleet 5MN Microwarpdrive\",\r\n    \"Republic Fleet 10MN Microwarpdrive\": \"Republic Fleet 50MN Microwarpdrive\",\r\n    \"Republic Fleet 100MN Microwarpdrive\": \"Republic Fleet 500MN Microwarpdrive\",\r\n    \"Federation Navy 1MN Microwarpdrive\": \"Federation Navy 5MN Microwarpdrive\",\r\n    \"Federation Navy 10MN Microwarpdrive\": \"Federation Navy 50MN Microwarpdrive\",\r\n    \"Federation Navy 100MN Microwarpdrive\": \"Federation Navy 500MN Microwarpdrive\",\r\n    \"Coreli C-Type 1MN Microwarpdrive\": \"Coreli C-Type 5MN Microwarpdrive\",\r\n    \"Corelum C-Type 10MN Microwarpdrive\": \"Corelum C-Type 50MN Microwarpdrive\",\r\n    \"Core C-Type 100MN Microwarpdrive\": \"Core C-Type 500MN Microwarpdrive\",\r\n    \"Coreli B-Type 1MN Microwarpdrive\": \"Coreli B-Type 5MN Microwarpdrive\",\r\n    \"Corelum B-Type 10MN Microwarpdrive\": \"Corelum B-Type 50MN Microwarpdrive\",\r\n    \"Core B-Type 100MN Microwarpdrive\": \"Core B-Type 500MN Microwarpdrive\",\r\n    \"Coreli A-Type 1MN Microwarpdrive\": \"Coreli A-Type 5MN Microwarpdrive\",\r\n    \"Corelum A-Type 10MN Microwarpdrive\": \"Corelum A-Type 50MN Microwarpdrive\",\r\n    \"Core A-Type 100MN Microwarpdrive\": \"Core A-Type 500MN Microwarpdrive\",\r\n    \"Core X-Type 100MN Microwarpdrive\": \"Core X-Type 500MN Microwarpdrive\",\r\n    \"Gistii C-Type 1MN Microwarpdrive\": \"Gistii C-Type 5MN Microwarpdrive\",\r\n    \"Gistum C-Type 10MN Microwarpdrive\": \"Gistum C-Type 50MN Microwarpdrive\",\r\n    \"Gist C-Type 100MN Microwarpdrive\": \"Gist C-Type 500MN Microwarpdrive\",\r\n    \"Gistii B-Type 1MN Microwarpdrive\": \"Gistii B-Type 5MN Microwarpdrive\",\r\n    \"Gistum B-Type 10MN Microwarpdrive\": \"Gistum B-Type 50MN Microwarpdrive\",\r\n    \"Gist B-Type 100MN Microwarpdrive\": \"Gist B-Type 500MN Microwarpdrive\",\r\n    \"Gistii A-Type 1MN Microwarpdrive\": \"Gistii A-Type 5MN Microwarpdrive\",\r\n    \"Gistum A-Type 10MN Microwarpdrive\": \"Gistum A-Type 50MN Microwarpdrive\",\r\n    \"Gist A-Type 100MN Microwarpdrive\": \"Gist A-Type 500MN Microwarpdrive\",\r\n    \"Gist X-Type 100MN Microwarpdrive\": \"Gist X-Type 500MN Microwarpdrive\",\r\n    \"100mm Reinforced Steel Plates II\": \"100mm Steel Plates II\",\r\n    \"200mm Reinforced Steel Plates II\": \"200mm Steel Plates II\",\r\n    \"400mm Reinforced Steel Plates II\": \"400mm Steel Plates II\",\r\n    \"800mm Reinforced Steel Plates II\": \"800mm Steel Plates II\",\r\n    \"1600mm Reinforced Steel Plates II\": \"1600mm Steel Plates II\",\r\n    \"Micro 'Trapper' Shield Extender\": \"Small 'Trapper' Shield Extender\",\r\n    \"1MN Analog Booster Rockets\": \"1MN Analog Booster Afterburner\",\r\n    \"10MN Analog Booster Rockets\": \"10MN Analog Booster Afterburner\",\r\n    \"100MN Analog Booster Rockets\": \"100MN Analog Booster Afterburner\",\r\n    \"1MN Digital Booster Rockets\": \"5MN Digital Booster Microwarpdrive\",\r\n    \"10MN Digital Booster Rockets\": \"50MN Digital Booster Microwarpdrive\",\r\n    \"100MN Digital Booster Rockets\": \"500MN Digital Booster Microwarpdrive\",\r\n    \"Civilian Afterburner\": \"1MN Civilian Afterburner\",\r\n    \"'Abatis' 100mm Reinforced Steel Plates I\": \"'Abatis' 100mm Steel Plates\",\r\n    \"'Bailey' 1600mm Reinforced Steel Plates I\": \"'Bailey' 1600mm Steel Plates\",\r\n    \"'Chainmail' 200mm Reinforced Steel Plates I\": \"'Chainmail' 200mm Steel Plates\",\r\n    \"'Bastion' 400mm Reinforced Steel Plates I\": \"'Bastion' 400mm Steel Plates\",\r\n    \"'Citadella' 50mm Reinforced Steel Plates I\": \"'Citadella' 100mm Steel Plates\",\r\n    \"'Barbican' 800mm Reinforced Steel Plates I\": \"'Barbican' 800mm Steel Plates\",\r\n    \"Syndicate 100mm Reinforced Steel Plates\": \"Syndicate 100mm Steel Plates\",\r\n    \"Syndicate 1600mm Reinforced Steel Plates\": \"Syndicate 1600mm Steel Plates\",\r\n    \"Syndicate 200mm Reinforced Steel Plates\": \"Syndicate 200mm Steel Plates\",\r\n    \"Syndicate 400mm Reinforced Steel Plates\": \"Syndicate 400mm Steel Plates\",\r\n    \"Syndicate 800mm Reinforced Steel Plates\": \"Syndicate 800mm Steel Plates\",\r\n    \"Imperial Navy 100mm Reinforced Steel Plates\": \"Imperial Navy 100mm Steel Plates\",\r\n    \"Federation Navy 100mm Reinforced Steel Plates\": \"Federation Navy 100mm Steel Plates\",\r\n    \"Imperial Navy 1600mm Reinforced Steel Plates\": \"Imperial Navy 1600mm Steel Plates\",\r\n    \"Federation Navy 1600mm Reinforced Steel Plates\": \"Federation Navy 1600mm Steel Plates\",\r\n    \"Imperial Navy 200mm Reinforced Steel Plates\": \"Imperial Navy 200mm Steel Plates\",\r\n    \"Federation Navy 200mm Reinforced Steel Plates\": \"Federation Navy 200mm Steel Plates\",\r\n    \"Imperial Navy 400mm Reinforced Steel Plates\": \"Imperial Navy 400mm Steel Plates\",\r\n    \"Federation Navy 400mm Reinforced Steel Plates\": \"Federation Navy 400mm Steel Plates\",\r\n    \"Imperial Navy 800mm Reinforced Steel Plates\": \"Imperial Navy 800mm Steel Plates\",\r\n    \"Federation Navy 800mm Reinforced Steel Plates\": \"Federation Navy 800mm Steel Plates\",\r\n    \"Polarized Small Pulse Laser\": \"Polarized Small Focused Pulse Laser\",\r\n    # Converted items\r\n    \"Large Subordinate Screen Stabilizer I\": \"Large F-S9 Regolith Compact Shield Extender\",\r\n    \"Large Supplemental Barrier Emitter I\": \"Large Azeotropic Restrained Shield Extender\",\r\n    \"Medium Subordinate Screen Stabilizer I\": \"Medium F-S9 Regolith Compact Shield Extender\",\r\n    \"Medium Supplemental Barrier Emitter I\": \"Medium Azeotropic Restrained Shield Extender\",\r\n    \"Micro Azeotropic Ward Salubrity I\": \"Small 'Trapper' Shield Extender\",\r\n    \"Micro F-S9 Regolith Shield Induction\": \"Small 'Trapper' Shield Extender\",\r\n    \"Micro Shield Extender I\": \"Small 'Trapper' Shield Extender\",\r\n    \"Micro Shield Extender II\": \"Small 'Trapper' Shield Extender\",\r\n    \"Micro Subordinate Screen Stabilizer I\": \"Small 'Trapper' Shield Extender\",\r\n    \"Micro Supplemental Barrier Emitter I\": \"Small 'Trapper' Shield Extender\",\r\n    \"Small Subordinate Screen Stabilizer I\": \"Small F-S9 Regolith Compact Shield Extender\",\r\n    \"Small Supplemental Barrier Emitter I\": \"Small Azeotropic Restrained Shield Extender\",\r\n    \"100mm Reinforced Nanofiber Plates I\": \"100mm Crystalline Carbonide Restrained Plates\",\r\n    \"100mm Reinforced Titanium Plates I\": \"100mm Rolled Tungsten Compact Plates\",\r\n    \"1600mm Reinforced Nanofiber Plates I\": \"1600mm Crystalline Carbonide Restrained Plates\",\r\n    \"1600mm Reinforced Titanium Plates I\": \"1600mm Rolled Tungsten Compact Plates\",\r\n    \"200mm Reinforced Nanofiber Plates I\": \"200mm Crystalline Carbonide Restrained Plates\",\r\n    \"200mm Reinforced Titanium Plates I\": \"200mm Rolled Tungsten Compact Plates\",\r\n    \"400mm Reinforced Nanofiber Plates I\": \"400mm Crystalline Carbonide Restrained Plates\",\r\n    \"400mm Reinforced Titanium Plates I\": \"400mm Rolled Tungsten Compact Plates\",\r\n    \"50mm Reinforced Crystalline Carbonide Plates I\": \"'Citadella' 100mm Steel Plates\",\r\n    \"50mm Reinforced Nanofiber Plates I\": \"'Citadella' 100mm Steel Plates\",\r\n    \"50mm Reinforced Rolled Tungsten Plates I\": \"'Citadella' 100mm Steel Plates\",\r\n    \"50mm Reinforced Steel Plates I\": \"'Citadella' 100mm Steel Plates\",\r\n    \"50mm Reinforced Steel Plates II\": \"'Citadella' 100mm Steel Plates\",\r\n    \"50mm Reinforced Titanium Plates I\": \"'Citadella' 100mm Steel Plates\",\r\n    \"800mm Reinforced Nanofiber Plates I\": \"800mm Crystalline Carbonide Restrained Plates\",\r\n    \"800mm Reinforced Titanium Plates I\": \"800mm Rolled Tungsten Compact Plates\"\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseDec2021.py",
    "content": "CONVERSIONS = {\r\n    # Renamed items\r\n    \"Gas Cloud Harvester I\": \"Gas Cloud Scoop I\",\r\n    \"Gas Cloud Harvester II\": \"Gas Cloud Scoop II\",\r\n    \"'Crop' Gas Cloud Harvester\": \"'Crop' Gas Cloud Scoop\",\r\n    \"'Plow' Gas Cloud Harvester\": \"'Plow' Gas Cloud Scoop\",\r\n    \"Syndicate Gas Cloud Harvester\": \"Syndicate Gas Cloud Scoop\",\r\n    \"Mercoxit Mining Crystal I\": \"Mercoxit Asteroid Mining Crystal Type A I\",\r\n    \"Mercoxit Mining Crystal II\": \"Mercoxit Asteroid Mining Crystal Type A II\",\r\n    \"Ubiquitous Moon Ore Mining Crystal I\": \"Ubiquitous Moon Mining Crystal Type A I\",\r\n    \"Ubiquitous Moon Ore Mining Crystal II\": \"Ubiquitous Moon Mining Crystal Type A II\",\r\n    \"Common Moon Ore Mining Crystal I\": \"Common Moon Mining Crystal Type A I\",\r\n    \"Common Moon Ore Mining Crystal II\": \"Common Moon Mining Crystal Type A II\",\r\n    \"Uncommon Moon Ore Mining Crystal I\": \"Uncommon Moon Mining Crystal Type A I\",\r\n    \"Uncommon Moon Ore Mining Crystal II\": \"Uncommon Moon Mining Crystal Type A II\",\r\n    \"Rare Moon Ore Mining Crystal I\": \"Rare Moon Mining Crystal Type A I\",\r\n    \"Rare Moon Ore Mining Crystal II\": \"Rare Moon Mining Crystal Type A II\",\r\n    \"Exceptional Moon Ore Mining Crystal I\": \"Exceptional Moon Mining Crystal Type A I\",\r\n    \"Exceptional Moon Ore Mining Crystal II\": \"Exceptional Moon Mining Crystal Type A II\",\r\n    \"Industrial Core I\": \"Capital Industrial Core I\",\r\n    \"Industrial Core II\": \"Capital Industrial Core II\",\r\n    # Converted items\r\n    \"Veldspar Mining Crystal I\": \"Simple Asteroid Mining Crystal Type A I\",\r\n    \"Scordite Mining Crystal I\": \"Simple Asteroid Mining Crystal Type A I\",\r\n    \"Pyroxeres Mining Crystal I\": \"Simple Asteroid Mining Crystal Type A I\",\r\n    \"Plagioclase Mining Crystal I\": \"Simple Asteroid Mining Crystal Type A I\",\r\n    \"Veldspar Mining Crystal II\": \"Simple Asteroid Mining Crystal Type A II\",\r\n    \"Scordite Mining Crystal II\": \"Simple Asteroid Mining Crystal Type A II\",\r\n    \"Pyroxeres Mining Crystal II\": \"Simple Asteroid Mining Crystal Type A II\",\r\n    \"Plagioclase Mining Crystal II\": \"Simple Asteroid Mining Crystal Type A II\",\r\n    \"Omber Mining Crystal I\": \"Coherent Asteroid Mining Crystal Type A I\",\r\n    \"Kernite Mining Crystal I\": \"Coherent Asteroid Mining Crystal Type A I\",\r\n    \"Jaspet Mining Crystal I\": \"Coherent Asteroid Mining Crystal Type A I\",\r\n    \"Hemorphite Mining Crystal I\": \"Coherent Asteroid Mining Crystal Type A I\",\r\n    \"Hedbergite Mining Crystal I\": \"Coherent Asteroid Mining Crystal Type A I\",\r\n    \"Omber Mining Crystal II\": \"Coherent Asteroid Mining Crystal Type A II\",\r\n    \"Jaspet Mining Crystal II\": \"Coherent Asteroid Mining Crystal Type A II\",\r\n    \"Kernite Mining Crystal II\": \"Coherent Asteroid Mining Crystal Type A II\",\r\n    \"Hedbergite Mining Crystal II\": \"Coherent Asteroid Mining Crystal Type A II\",\r\n    \"Hemorphite Mining Crystal II\": \"Coherent Asteroid Mining Crystal Type A II\",\r\n    \"Gneiss Mining Crystal I\": \"Variegated Asteroid Mining Crystal Type A I\",\r\n    \"Dark Ochre Mining Crystal I\": \"Variegated Asteroid Mining Crystal Type A I\",\r\n    \"Crokite Mining Crystal I\": \"Variegated Asteroid Mining Crystal Type A I\",\r\n    \"Gneiss Mining Crystal II\": \"Variegated Asteroid Mining Crystal Type A II\",\r\n    \"Dark Ochre Mining Crystal II\": \"Variegated Asteroid Mining Crystal Type A II\",\r\n    \"Crokite Mining Crystal II\": \"Variegated Asteroid Mining Crystal Type A II\",\r\n    \"Bistot Mining Crystal I\": \"Complex Asteroid Mining Crystal Type A I\",\r\n    \"Arkonor Mining Crystal I\": \"Complex Asteroid Mining Crystal Type A I\",\r\n    \"Spodumain Mining Crystal I\": \"Complex Asteroid Mining Crystal Type A I\",\r\n    \"Bistot Mining Crystal II\": \"Complex Asteroid Mining Crystal Type A II\",\r\n    \"Arkonor Mining Crystal II\": \"Complex Asteroid Mining Crystal Type A II\",\r\n    \"Spodumain Mining Crystal II\": \"Complex Asteroid Mining Crystal Type A II\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseDecember15.py",
    "content": "\"\"\"\r\nConversion pack for December 2015 release (no release name)\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Medium 'Gremlin' Power Core Disruptor I\": \"Medium Gremlin Compact Energy Neutralizer\",\r\n    \"Medium Coaxial Remote Armor Repairer\": \"Medium Coaxial Compact Remote Armor Repairer\",\r\n    \"'Distributor' Tracking Disruptor I\": \"'Distributor' Guidance Disruptor I\",\r\n    \"Type-D Power Core Modification: Shield Flux\": \"Type-D Restrained Shield Flux Coil\",\r\n    \"Large Coaxial Remote Armor Repairer\": \"Large Coaxial Compact Remote Armor Repairer\",\r\n    \"Heavy 'Knave' Energy Drain\": \"Heavy Knave Scoped Energy Nosferatu\",\r\n    \"F-392 Baker Nunn Tracking Disruptor I\": \"Baker Nunn Enduring Tracking Disruptor I\",\r\n    \"'Ditch' Medium Energy Neutralizer I\": \"Medium 'Ditch' Energy Neutralizer\",\r\n    \"DDO Photometry Tracking Disruptor I\": \"DDO Scoped Tracking Disruptor I\",\r\n    \"Small S95a Remote Shield Booster\": \"Small S95a Scoped Remote Shield Booster\",\r\n    \"Large S95a Remote Shield Booster\": \"Large S95a Scoped Remote Shield Booster\",\r\n    \"'Abandon' Tracking Disruptor I\": \"C-IR Compact Guidance Disruptor I\",\r\n    \"500W Infectious Power System Malfunction\": \"Heavy Infectious Scoped Energy Neutralizer\",\r\n    \"Heavy 'Gremlin' Power Core Disruptor I\": \"Heavy Gremlin Compact Energy Neutralizer\",\r\n    \"Medium 'Solace' Remote Armor Repairer\": \"Medium Solace Scoped Remote Armor Repairer\",\r\n    \"Small Coaxial Remote Armor Repairer\": \"Small Coaxial Compact Remote Armor Repairer\",\r\n    \"Basic Shield Flux Coil\": \"'Basic' Shield Flux Coil\",\r\n    \"Large I-ax Remote Armor Repairer\": \"Large I-ax Enduring Remote Armor Repairer\",\r\n    \"Basic Shield Power Relay\": \"'Basic' Shield Power Relay\",\r\n    \"Capital Coaxial Remote Armor Repairer\": \"CONCORD Capital Remote Armor Repairer\",\r\n    \"Medium 'Ghoul' Energy Siphon I\": \"Medium Ghoul Compact Energy Nosferatu\",\r\n    \"Medium S95a Remote Shield Booster\": \"Medium S95a Scoped Remote Shield Booster\",\r\n    \"Mark I Generator Refitting: Shield Flux\": \"Mark I Compact Shield Flux Coil\",\r\n    \"Large 'Solace' Remote Armor Repairer\": \"Large Solace Scoped Remote Armor Repairer\",\r\n    \"Large Asymmetric Remote Shield Booster\": \"Large Asymmetric Enduring Remote Shield Booster\",\r\n    \"M51 Iterative Shield Regenerator\": \"M51 Benefactor Compact Shield Recharger\",\r\n    \"Small 'Knave' Energy Drain\": \"Small Knave Scoped Energy Nosferatu\",\r\n    \"Medium Murky Remote Shield Booster\": \"Medium Murky Compact Remote Shield Booster\",\r\n    \"Small Murky Remote Shield Booster\": \"Small Murky Compact Remote Shield Booster\",\r\n    \"Capital Murky Remote Shield Booster\": \"CONCORD Capital Remote Shield Booster\",\r\n    \"'Caltrop' Small Energy Neutralizer I\": \"Small 'Caltrop' Energy Neutralizer\",\r\n    \"Small I-ax Remote Armor Repairer\": \"Small I-ax Enduring Remote Armor Repairer\",\r\n    \"'Vrykolakas' Heavy Nosferatu I\": \"Heavy 'Vrykolakas' Energy Nosferatu\",\r\n    \"Heavy 'Ghoul' Energy Siphon I\": \"Heavy Ghoul Compact Energy Nosferatu\",\r\n    \"Small Asymmetric Remote Shield Booster\": \"Small Asymmetric Enduring Remote Shield Booster\",\r\n    \"Small 'Gremlin' Power Core Disruptor I\": \"Small Gremlin Compact Energy Neutralizer\",\r\n    \"'Strigoi' Medium Nosferatu I\": \"Medium 'Strigoi' Energy Nosferatu\",\r\n    \"'Upir' Small Nosferatu I\": \"Small 'Upir' Energy Nosferatu\",\r\n    \"Balmer Series Tracking Disruptor I\": \"Balmer Series Compact Tracking Disruptor I\",\r\n    \"Small 'Solace' Remote Armor Repairer\": \"Small Solace Scoped Remote Armor Repairer\",\r\n    \"'Moat' Heavy Energy Neutralizer I\": \"Heavy 'Moat' Energy Neutralizer\",\r\n    \"Small 'Ghoul' Energy Siphon I\": \"Small Ghoul Compact Energy Nosferatu\",\r\n    \"5W Infectious Power System Malfunction\": \"Small Infectious Scoped Energy Neutralizer\",\r\n    \"50W Infectious Power System Malfunction\": \"Medium Infectious Scoped Energy Neutralizer\",\r\n    \"Type-D Power Core Modification: Shield Power Relay\": \"Type-D Restrained Shield Power Relay\",\r\n    \"Micro Remote Shield Booster I\": \"'Micro' Remote Shield Booster\",\r\n    \"Medium I-ax Remote Armor Repairer\": \"Medium I-ax Enduring Remote Armor Repairer\",\r\n    \"Medium Asymmetric Remote Shield Booster\": \"Medium Asymmetric Enduring Remote Shield Booster\",\r\n    \"Large Murky Remote Shield Booster\": \"Large Murky Compact Remote Shield Booster\",\r\n    \"Medium 'Knave' Energy Drain\": \"Medium Knave Scoped Energy Nosferatu\",\r\n    \"Mark I Generator Refitting: Shield Power Relay\": \"Mark I Compact Shield Power Relay\",\r\n\r\n    # Converted items\r\n    \"Medium Unstable Power Fluctuator I\": \"Medium Gremlin Compact Energy Neutralizer\",\r\n    \"'Brotherhood' Small Remote Armor Repairer\": \"'Beatnik' Small Remote Armor Repairer\",\r\n    \"Beta Reactor Control: Shield Flux I\": \"Type-D Restrained Shield Flux Coil\",\r\n    \"E500 Prototype Energy Vampire\": \"Heavy Knave Scoped Energy Nosferatu\",\r\n    \"Heavy Rudimentary Energy Destabilizer I\": \"Heavy Infectious Scoped Energy Neutralizer\",\r\n    \"Heavy Unstable Power Fluctuator I\": \"Heavy Gremlin Compact Energy Neutralizer\",\r\n    \"Medium 'Arup' Remote Armor Repairer\": \"Medium Solace Scoped Remote Armor Repairer\",\r\n    \"Alpha Reactor Shield Flux\": \"'Basic' Shield Flux Coil\",\r\n    \"Marked Generator Refitting: Shield Flux\": \"'Basic' Shield Flux Coil\",\r\n    \"Partial Power Plant Manager: Shield Flux\": \"'Basic' Shield Flux Coil\",\r\n    \"Type-E Power Core Modification: Shield Flux\": \"'Basic' Shield Flux Coil\",\r\n    \"Alpha Reactor Shield Power Relay\": \"'Basic' Shield Power Relay\",\r\n    \"Marked Generator Refitting: Shield Power Relay\": \"'Basic' Shield Power Relay\",\r\n    \"Partial Power Plant Manager: Shield Power Relay\": \"'Basic' Shield Power Relay\",\r\n    \"Type-E Power Core Modification: Shield Power Relay\": \"'Basic' Shield Power Relay\",\r\n    \"Small 'Arup' Remote Armor Repairer\": \"Small Solace Scoped Remote Armor Repairer\",\r\n    \"Medium Diminishing Power System Drain I\": \"Medium Ghoul Compact Energy Nosferatu\",\r\n    \"Local Power Plant Manager: Reaction Shield Flux I\": \"Mark I Compact Shield Flux Coil\",\r\n    \"Large 'Arup' Remote Armor Repairer\": \"Large Solace Scoped Remote Armor Repairer\",\r\n    \"Passive Barrier Compensator I\": \"M51 Benefactor Compact Shield Recharger\",\r\n    \"'Benefactor' Ward Reconstructor\": \"M51 Benefactor Compact Shield Recharger\",\r\n    \"Supplemental Screen Generator I\": \"M51 Benefactor Compact Shield Recharger\",\r\n    \"E5 Prototype Energy Vampire\": \"Small Knave Scoped Energy Nosferatu\",\r\n    \"Medium 'Atonement' Remote Shield Booster\": \"Medium Murky Compact Remote Shield Booster\",\r\n    \"Small 'Atonement' Remote Shield Booster\": \"Small Murky Compact Remote Shield Booster\",\r\n    \"Heavy Diminishing Power System Drain I\": \"Heavy Ghoul Compact Energy Nosferatu\",\r\n    \"Small Unstable Power Fluctuator I\": \"Small Gremlin Compact Energy Neutralizer\",\r\n    \"Local Power Plant Manager: Reaction Shield Power Relay I\": \"Mark I Compact Shield Power Relay\",\r\n    \"'Pacifier' Large Remote Armor Repairer\": \"'Peace' Large Remote Armor Repairer\",\r\n    \"Small Diminishing Power System Drain I\": \"Small Ghoul Compact Energy Nosferatu\",\r\n    \"Small Rudimentary Energy Destabilizer I\": \"Small Infectious Scoped Energy Neutralizer\",\r\n    \"Medium Rudimentary Energy Destabilizer I\": \"Medium Infectious Scoped Energy Neutralizer\",\r\n    \"Beta Reactor Control: Shield Power Relay I\": \"Type-D Restrained Shield Power Relay\",\r\n    \"Micro Asymmetric Remote Shield Booster\": \"'Micro' Remote Shield Booster\",\r\n    \"Micro Murky Remote Shield Booster\": \"'Micro' Remote Shield Booster\",\r\n    \"Micro 'Atonement' Remote Shield Booster\": \"'Micro' Remote Shield Booster\",\r\n    \"Micro S95a Remote Shield Booster\": \"'Micro' Remote Shield Booster\",\r\n    \"Large 'Atonement' Remote Shield Booster\": \"Large Murky Compact Remote Shield Booster\",\r\n    \"E50 Prototype Energy Vampire\": \"Medium Knave Scoped Energy Nosferatu\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseEquinox.py",
    "content": "\"\"\"\r\nConversion pack for Equinox release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Imperial Navy Mjolnir Auto-Targeting Cruise Missile I\": \"Legion Mjolnir Auto-Targeting Cruise Missile\",\r\n    \"Caldari Navy Scourge Auto-Targeting Cruise Missile I\": \"Legion Scourge Auto-Targeting Cruise Missile\",\r\n    \"Federation Navy Inferno Auto-Targeting Cruise Missile I\": \"Legion Inferno Auto-Targeting Cruise Missile\",\r\n    \"Republic Fleet Nova Auto-Targeting Cruise Missile I\": \"Legion Nova Auto-Targeting Cruise Missile\",\r\n    \"Imperial Navy Mjolnir Auto-Targeting Heavy Missile I\": \"Legion Mjolnir Auto-Targeting Heavy Missile\",\r\n    \"Caldari Navy Scourge Auto-Targeting Heavy Missile I\": \"Legion Scourge Auto-Targeting Heavy Missile\",\r\n    \"Federation Navy Inferno Auto-Targeting Heavy Missile I\": \"Legion Inferno Auto-Targeting Heavy Missile\",\r\n    \"Republic Fleet Nova Auto-Targeting Heavy Missile I\": \"Legion Nova Auto-Targeting Heavy Missile\",\r\n    \"Imperial Navy Mjolnir Auto-Targeting Light Missile I\": \"Legion Mjolnir Auto-Targeting Light Missile\",\r\n    \"Caldari Navy Scourge Auto-Targeting Light Missile I\": \"Legion Scourge Auto-Targeting Light Missile\",\r\n    \"Federation Navy Inferno Auto-Targeting Light Missile I\": \"Legion Inferno Auto-Targeting Light Missile\",\r\n    \"Republic Fleet Nova Auto-Targeting Light Missile I\": \"Legion Nova Auto-Targeting Light Missile\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseFeb2016.py",
    "content": "\"\"\"\r\nConversion pack for January 2016 (YC118.1) release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Capital Coaxial Remote Armor Repairer Blueprint\": \"CONCORD Capital Remote Armor Repairer Blueprint\",\r\n    \"Capital Murky Remote Shield Booster Blueprint\": \"CONCORD Capital Remote Shield Booster Blueprint\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseFeb2018.py",
    "content": "\"\"\"\r\nConversion pack for ~ Feb 2018 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    \"Standup AXL Missile Launcher I\": \"Standup Anticapital Missile Launcher I\",\r\n    \"Standup ASML Missile Launcher I\": \"Standup Multirole Missile Launcher I\",\r\n    \"Standup Warp Scrambler I\": \"Standup Focused Warp Disruptor I\",\r\n    \"Standup M-Set Scan Resolution I\": \"Standup M-Set Enhanced Targeting System I\",\r\n    \"Standup M-Set Scan Resolution II\": \"Standup M-Set Enhanced Targeting System II\",\r\n    \"Standup AXL-S Missile\": \"Standup Super-heavy Torpedo\",\r\n    \"Standup AXL-C Missile\": \"Standup XL Cruise Missile\",\r\n    \"Standup ASML-LD Missile\": \"Standup Cruise Missile\",\r\n    \"Standup ASML-MD Missile\": \"Standup Heavy Missile\",\r\n    \"Standup ASML-SD Missile\": \"Standup Light Missile\",\r\n    \"Standup AM Guided Bomb\": \"Standup Heavy Guided Bomb\",\r\n    \"Standup AS Guided Bomb\": \"Standup Light Guided Bomb\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseFeb2020.py",
    "content": "\"\"\"\r\nConversion pack for February 2020 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Small Asymmetric Remote Capacitor Transmitter\": \"Small Radiative Scoped Remote Capacitor Transmitter\",\r\n    \"Small 'Regard' Remote Capacitor Transmitter\": \"Small Inductive Compact Remote Capacitor Transmitter\",\r\n    \"Medium Asymmetric Remote Capacitor Transmitter\": \"Medium Radiative Scoped Remote Capacitor Transmitter\",\r\n    \"Medium 'Regard' Remote Capacitor Transmitter\": \"Medium Inductive Compact Remote Capacitor Transmitter\",\r\n    \"Large Asymmetric Remote Capacitor Transmitter\": \"Large Radiative Scoped Remote Capacitor Transmitter\",\r\n    \"Large 'Regard' Remote Capacitor Transmitter\": \"Large Inductive Compact Remote Capacitor Transmitter\",\r\n    # Converted items\r\n    \"Small Partial E95a Remote Capacitor Transmitter\": \"Small Radiative Scoped Remote Capacitor Transmitter\",\r\n    \"Small Murky Remote Capacitor Transmitter\": \"Small Inductive Compact Remote Capacitor Transmitter\",\r\n    \"Medium Partial E95b Remote Capacitor Transmitter\": \"Medium Radiative Scoped Remote Capacitor Transmitter\",\r\n    \"Medium Murky Remote Capacitor Transmitter\": \"Medium Inductive Compact Remote Capacitor Transmitter\",\r\n    \"Large Partial E95c Remote Capacitor Transmitter\": \"Large Radiative Scoped Remote Capacitor Transmitter\",\r\n    \"Large Murky Remote Capacitor Transmitter\": \"Large Inductive Compact Remote Capacitor Transmitter\"\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseFeb2023.py",
    "content": "\"\"\"\r\nConversion pack for February 2023 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Restrained Interdiction Nullifier\": \"Enduring Interdiction Nullifier\",\r\n    \"Synthetic Hull Conversion Inertia Stabilizers\": \"Synthetic Hull Conversion Inertial Stabilizers\",\r\n    \"Tobias's Modified Torpedo Launcher\": \"Tobias' Modified Torpedo Launcher\",\r\n    \"Vepas's Modified Torpedo Launcher\": \"Vepas' Modified Torpedo Launcher\",\r\n    \"Vepas's Modified Kinetic Shield Hardener\": \"Vepas' Modified Kinetic Shield Hardener\",\r\n    \"Vepas's Modified EM Shield Hardener\": \"Vepas' Modified EM Shield Hardener\",\r\n    \"Vepas's Modified Explosive Shield Hardener\": \"Vepas' Modified Explosive Shield Hardener\",\r\n    \"Vepas's Modified Thermal Shield Hardener\": \"Vepas' Modified Thermal Shield Hardener\",\r\n    \"Vepas's Modified Multispectrum Shield Hardener\": \"Vepas' Modified Multispectrum Shield Hardener\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseInvasion.py",
    "content": "\"\"\"\r\nConversion pack for Invasion release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Light Veles Entropic Disintegrator\": \"Veles Light Entropic Disintegrator\",\r\n    \"Heavy Veles Entropic Disintegrator\": \"Veles Heavy Entropic Disintegrator\",\r\n    \"Supratidal Veles Entropic Disintegrator\": \"Veles Supratidal Entropic Disintegrator\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseJan2016.py",
    "content": "\"\"\"\r\nConversion pack for January 2016 (YC118.1) release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Micro' Remote Shield Booster\": \"'Micro' Remote Shield Booster\",\r\n    \"C-IR Compact Guidance Disruptor I\": \"C-IR Compact Guidance Disruptor\",\r\n    \"'Distributor' Guidance Disruptor I\": \"'Distributor' Guidance Disruptor\",\r\n    \"'Distributor' Guidance Disruptor I Blueprint\": \"'Distributor' Guidance Disruptor Blueprint\",\r\n    \"Highstroke Scoped Guidance Disruptor I\": \"Highstroke Scoped Guidance Disruptor\",\r\n    \"A-211 Enduring Guidance Disruptor I\": \"A-211 Enduring Guidance Disruptor\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseJan2020.py",
    "content": "\"\"\"\r\nConversion pack for January 2020 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    'Small C5-L Emergency Shield Overload I': 'Small C5-L Compact Shield Booster',\r\n    'Small Clarity Ward Booster I': 'Small Clarity Ward Enduring Shield Booster',\r\n    'Medium Clarity Ward Booster I': 'Medium Clarity Ward Enduring Shield Booster',\r\n    'Medium C5-L Emergency Shield Overload I': 'Medium C5-L Compact Shield Booster',\r\n    'Large Clarity Ward Booster I': 'Large Clarity Ward Enduring Shield Booster',\r\n    'Large C5-L Emergency Shield Overload I': 'Large C5-L Compact Shield Booster',\r\n    'X-Large Clarity Ward Booster I': 'X-Large Clarity Ward Enduring Shield Booster',\r\n    'X-Large C5-L Emergency Shield Overload I': 'X-Large C5-L Compact Shield Booster',\r\n    'Small I-a Polarized Armor Regenerator': 'Small I-a Enduring Armor Repairer',\r\n    'Small \\'Accommodation\\' Vestment Reconstructer I': 'Small ACM Compact Armor Repairer',\r\n    'Medium I-a Polarized Armor Regenerator': 'Medium I-a Enduring Armor Repairer',\r\n    'Medium \\'Accommodation\\' Vestment Reconstructer I': 'Medium ACM Compact Armor Repairer',\r\n    'Large I-a Polarized Armor Regenerator': 'Large I-a Enduring Armor Repairer',\r\n    'Large \\'Accommodation\\' Vestment Reconstructer I': 'Large ACM Compact Armor Repairer',\r\n    # Entries below were removed from DB, but CCP converted them to another item type\r\n    'Small Converse Deflection Catalyzer': 'Small Clarity Ward Enduring Shield Booster',\r\n    'Small Neutron Saturation Injector I': 'Small C5-L Compact Shield Booster',\r\n    'Medium Converse Deflection Catalyzer': 'Medium Clarity Ward Enduring Shield Booster',\r\n    'Medium Neutron Saturation Injector I': 'Medium C5-L Compact Shield Booster',\r\n    'Large Converse Deflection Catalyzer': 'Large Clarity Ward Enduring Shield Booster',\r\n    'Large Neutron Saturation Injector I': 'Large C5-L Compact Shield Booster',\r\n    'X-Large Converse Deflection Catalyzer': 'X-Large Clarity Ward Enduring Shield Booster',\r\n    'X-Large Neutron Saturation Injector I': 'X-Large C5-L Compact Shield Booster',\r\n    'Small Inefficient Armor Repair Unit': 'Small ACM Compact Armor Repairer',\r\n    'Small Automated Carapace Restoration': 'Small I-a Enduring Armor Repairer',\r\n    'Medium Inefficient Armor Repair Unit': 'Medium ACM Compact Armor Repairer',\r\n    'Medium Automated Carapace Restoration': 'Medium I-a Enduring Armor Repairer',\r\n    'Medium Nano Armor Repair Unit I': '\\'Meditation\\' Medium Armor Repairer I',\r\n    'Large Inefficient Armor Repair Unit': 'Large ACM Compact Armor Repairer',\r\n    'Large Automated Carapace Restoration': 'Large I-a Enduring Armor Repairer',\r\n    # This item was not mentioned, assuming conversion to storyline\r\n    'Large \\'Reprieve\\' Vestment Reconstructer I': '\\'Protest\\' Large Armor Repairer I'\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseJul2020.py",
    "content": "\"\"\"\r\nConversion pack for July 2020 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items, extracted via diff file\r\n    \"Basic EM Plating\": \"'Basic' EM Coating\",\r\n    \"EM Plating I\": \"EM Coating I\",\r\n    \"EM Plating II\": \"EM Coating II\",\r\n    \"Basic Explosive Plating\": \"'Basic' Explosive Coating\",\r\n    \"Explosive Plating I\": \"Explosive Coating I\",\r\n    \"Explosive Plating II\": \"Explosive Coating II\",\r\n    \"Basic Layered Plating\": \"'Basic' Layered Coating\",\r\n    \"Layered Plating I\": \"Layered Coating I\",\r\n    \"Layered Plating II\": \"Layered Coating II\",\r\n    \"Basic Kinetic Plating\": \"'Basic' Kinetic Coating\",\r\n    \"Kinetic Plating I\": \"Kinetic Coating I\",\r\n    \"Kinetic Plating II\": \"Kinetic Coating II\",\r\n    \"Basic Thermal Plating\": \"'Basic' Thermal Coating\",\r\n    \"Thermal Plating I\": \"Thermal Coating I\",\r\n    \"Thermal Plating II\": \"Thermal Coating II\",\r\n    \"Basic Adaptive Nano Plating\": \"'Basic' Multispectrum Coating\",\r\n    \"Adaptive Nano Plating I\": \"Multispectrum Coating I\",\r\n    \"Adaptive Nano Plating II\": \"Multispectrum Coating II\",\r\n    \"Domination Adaptive Nano Plating\": \"Domination Multispectrum Coating\",\r\n    \"True Sansha Adaptive Nano Plating\": \"True Sansha Multispectrum Coating\",\r\n    \"Dark Blood Adaptive Nano Plating\": \"Dark Blood Multispectrum Coating\",\r\n    \"Domination Kinetic Plating\": \"Domination Kinetic Coating\",\r\n    \"True Sansha Kinetic Plating\": \"True Sansha Kinetic Coating\",\r\n    \"Dark Blood Kinetic Plating\": \"Dark Blood Kinetic Coating\",\r\n    \"Domination Explosive Plating\": \"Domination Explosive Coating\",\r\n    \"True Sansha Explosive Plating\": \"True Sansha Explosive Coating\",\r\n    \"Dark Blood Explosive Plating\": \"Dark Blood Explosive Coating\",\r\n    \"Domination EM Plating\": \"Domination EM Coating\",\r\n    \"True Sansha EM Plating\": \"True Sansha EM Coating\",\r\n    \"Dark Blood EM Plating\": \"Dark Blood EM Coating\",\r\n    \"Domination Thermal Plating\": \"Domination Thermal Coating\",\r\n    \"True Sansha Thermal Plating\": \"True Sansha Thermal Coating\",\r\n    \"Dark Blood Thermal Plating\": \"Dark Blood Thermal Coating\",\r\n    \"Shadow Serpentis Adaptive Nano Plating\": \"Shadow Serpentis Multispectrum Coating\",\r\n    \"Shadow Serpentis Kinetic Plating\": \"Shadow Serpentis Kinetic Coating\",\r\n    \"Shadow Serpentis Explosive Plating\": \"Shadow Serpentis Explosive Coating\",\r\n    \"Shadow Serpentis EM Plating\": \"Shadow Serpentis EM Coating\",\r\n    \"Shadow Serpentis Thermal Plating\": \"Shadow Serpentis Thermal Coating\",\r\n    \"Mizuro's Modified Adaptive Nano Plating\": \"Mizuro's Modified Multispectrum Coating\",\r\n    \"Gotan's Modified Adaptive Nano Plating\": \"Gotan's Modified Multispectrum Coating\",\r\n    \"Mizuro's Modified Kinetic Plating\": \"Mizuro's Modified Kinetic Coating\",\r\n    \"Gotan's Modified Kinetic Plating\": \"Gotan's Modified Kinetic Coating\",\r\n    \"Mizuro's Modified Explosive Plating\": \"Mizuro's Modified Explosive Coating\",\r\n    \"Gotan's Modified Explosive Plating\": \"Gotan's Modified Explosive Coating\",\r\n    \"Mizuro's Modified EM Plating\": \"Mizuro's Modified EM Coating\",\r\n    \"Gotan's Modified EM Plating\": \"Gotan's Modified EM Coating\",\r\n    \"Mizuro's Modified Thermal Plating\": \"Mizuro's Modified Thermal Coating\",\r\n    \"Gotan's Modified Thermal Plating\": \"Gotan's Modified Thermal Coating\",\r\n    \"Brokara's Modified Adaptive Nano Plating\": \"Brokara's Modified Multispectrum Coating\",\r\n    \"Tairei's Modified Adaptive Nano Plating\": \"Tairei's Modified Multispectrum Coating\",\r\n    \"Selynne's Modified Adaptive Nano Plating\": \"Selynne's Modified Multispectrum Coating\",\r\n    \"Raysere's Modified Adaptive Nano Plating\": \"Raysere's Modified Multispectrum Coating\",\r\n    \"Vizan's Modified Adaptive Nano Plating\": \"Vizan's Modified Multispectrum Coating\",\r\n    \"Ahremen's Modified Adaptive Nano Plating\": \"Ahremen's Modified Multispectrum Coating\",\r\n    \"Chelm's Modified Adaptive Nano Plating\": \"Chelm's Modified Multispectrum Coating\",\r\n    \"Draclira's Modified Adaptive Nano Plating\": \"Draclira's Modified Multispectrum Coating\",\r\n    \"Brokara's Modified Kinetic Plating\": \"Brokara's Modified Kinetic Coating\",\r\n    \"Tairei's Modified Kinetic Plating\": \"Tairei's Modified Kinetic Coating\",\r\n    \"Selynne's Modified Kinetic Plating\": \"Selynne's Modified Kinetic Coating\",\r\n    \"Raysere's Modified Kinetic Plating\": \"Raysere's Modified Kinetic Coating\",\r\n    \"Vizan's Modified Kinetic Plating\": \"Vizan's Modified Kinetic Coating\",\r\n    \"Ahremen's Modified Kinetic Plating\": \"Ahremen's Modified Kinetic Coating\",\r\n    \"Chelm's Modified Kinetic Plating\": \"Chelm's Modified Kinetic Coating\",\r\n    \"Draclira's Modified Kinetic Plating\": \"Draclira's Modified Kinetic Coating\",\r\n    \"Brokara's Modified Explosive Plating\": \"Brokara's Modified Explosive Coating\",\r\n    \"Tairei's Modified Explosive Plating\": \"Tairei's Modified Explosive Coating\",\r\n    \"Selynne's Modified Explosive Plating\": \"Selynne's Modified Explosive Coating\",\r\n    \"Raysere's Modified Explosive Plating\": \"Raysere's Modified Explosive Coating\",\r\n    \"Vizan's Modified Explosive Plating\": \"Vizan's Modified Explosive Coating\",\r\n    \"Ahremen's Modified Explosive Plating\": \"Ahremen's Modified Explosive Coating\",\r\n    \"Chelm's Modified Explosive Plating\": \"Chelm's Modified Explosive Coating\",\r\n    \"Draclira's Modified Explosive Plating\": \"Draclira's Modified Explosive Coating\",\r\n    \"Brokara's Modified EM Plating\": \"Brokara's Modified EM Coating\",\r\n    \"Tairei's Modified EM Plating\": \"Tairei's Modified EM Coating\",\r\n    \"Selynne's Modified EM Plating\": \"Selynne's Modified EM Coating\",\r\n    \"Raysere's Modified EM Plating\": \"Raysere's Modified EM Coating\",\r\n    \"Vizan's Modified EM Plating\": \"Vizan's Modified EM Coating\",\r\n    \"Ahremen's Modified EM Plating\": \"Ahremen's Modified EM Coating\",\r\n    \"Chelm's Modified EM Plating\": \"Chelm's Modified EM Coating\",\r\n    \"Draclira's Modified EM Plating\": \"Draclira's Modified EM Coating\",\r\n    \"Brokara's Modified Thermal Plating\": \"Brokara's Modified Thermal Coating\",\r\n    \"Tairei's Modified Thermal Plating\": \"Tairei's Modified Thermal Coating\",\r\n    \"Selynne's Modified Thermal Plating\": \"Selynne's Modified Thermal Coating\",\r\n    \"Raysere's Modified Thermal Plating\": \"Raysere's Modified Thermal Coating\",\r\n    \"Vizan's Modified Thermal Plating\": \"Vizan's Modified Thermal Coating\",\r\n    \"Ahremen's Modified Thermal Plating\": \"Ahremen's Modified Thermal Coating\",\r\n    \"Chelm's Modified Thermal Plating\": \"Chelm's Modified Thermal Coating\",\r\n    \"Draclira's Modified Thermal Plating\": \"Draclira's Modified Thermal Coating\",\r\n    \"Brynn's Modified Adaptive Nano Plating\": \"Brynn's Modified Multispectrum Coating\",\r\n    \"Tuvan's Modified Adaptive Nano Plating\": \"Tuvan's Modified Multispectrum Coating\",\r\n    \"Setele's Modified Adaptive Nano Plating\": \"Setele's Modified Multispectrum Coating\",\r\n    \"Cormack's Modified Adaptive Nano Plating\": \"Cormack's Modified Multispectrum Coating\",\r\n    \"Brynn's Modified Thermal Plating\": \"Brynn's Modified Thermal Coating\",\r\n    \"Tuvan's Modified Thermal Plating\": \"Tuvan's Modified Thermal Coating\",\r\n    \"Setele's Modified Thermal Plating\": \"Setele's Modified Thermal Coating\",\r\n    \"Cormack's Modified Thermal Plating\": \"Cormack's Modified Thermal Coating\",\r\n    \"Brynn's Modified EM Plating\": \"Brynn's Modified EM Coating\",\r\n    \"Tuvan's Modified EM Plating\": \"Tuvan's Modified EM Coating\",\r\n    \"Setele's Modified EM Plating\": \"Setele's Modified EM Coating\",\r\n    \"Cormack's Modified EM Plating\": \"Cormack's Modified EM Coating\",\r\n    \"Brynn's Modified Explosive Plating\": \"Brynn's Modified Explosive Coating\",\r\n    \"Tuvan's Modified Explosive Plating\": \"Tuvan's Modified Explosive Coating\",\r\n    \"Setele's Modified Explosive Plating\": \"Setele's Modified Explosive Coating\",\r\n    \"Cormack's Modified Explosive Plating\": \"Cormack's Modified Explosive Coating\",\r\n    \"Brynn's Modified Kinetic Plating\": \"Brynn's Modified Kinetic Coating\",\r\n    \"Tuvan's Modified Kinetic Plating\": \"Tuvan's Modified Kinetic Coating\",\r\n    \"Setele's Modified Kinetic Plating\": \"Setele's Modified Kinetic Coating\",\r\n    \"Cormack's Modified Kinetic Plating\": \"Cormack's Modified Kinetic Coating\",\r\n    \"Imperial Navy Thermal Plating\": \"Imperial Navy Thermal Coating\",\r\n    \"Imperial Navy EM Plating\": \"Imperial Navy EM Coating\",\r\n    \"Imperial Navy Explosive Plating\": \"Imperial Navy Explosive Coating\",\r\n    \"Imperial Navy Kinetic Plating\": \"Imperial Navy Kinetic Coating\",\r\n    \"Imperial Navy Adaptive Nano Plating\": \"Imperial Navy Multispectrum Coating\",\r\n    \"Republic Fleet Thermal Plating\": \"Republic Fleet Thermal Coating\",\r\n    \"Republic Fleet EM Plating\": \"Republic Fleet EM Coating\",\r\n    \"Republic Fleet Explosive Plating\": \"Republic Fleet Explosive Coating\",\r\n    \"Republic Fleet Kinetic Plating\": \"Republic Fleet Kinetic Coating\",\r\n    \"Republic Fleet Adaptive Nano Plating\": \"Republic Fleet Multispectrum Coating\",\r\n    \"Upgraded Adaptive Nano Plating I\": \"Upgraded Multispectrum Coating I\",\r\n    \"Upgraded Kinetic Plating I\": \"Upgraded Kinetic Coating I\",\r\n    \"Upgraded Explosive Plating I\": \"Upgraded Explosive Coating I\",\r\n    \"Upgraded EM Plating I\": \"Upgraded EM Coating I\",\r\n    \"Upgraded Thermal Plating I\": \"Upgraded Thermal Coating I\",\r\n    \"Upgraded Layered Plating I\": \"Upgraded Layered Coating I\",\r\n    \"Ammatar Navy Kinetic Plating\": \"Ammatar Navy Kinetic Coating\",\r\n    \"Ammatar Navy Adaptive Nano Plating\": \"Ammatar Navy Multispectrum Coating\",\r\n    \"Ammatar Navy Explosive Plating\": \"Ammatar Navy Explosive Coating\",\r\n    \"Ammatar Navy EM Plating\": \"Ammatar Navy EM Coating\",\r\n    \"Federation Navy Adaptive Nano Plating\": \"Federation Navy Multispectrum Coating\",\r\n    \"Federation Navy Kinetic Plating\": \"Federation Navy Kinetic Coating\",\r\n    \"Federation Navy Explosive Plating\": \"Federation Navy Explosive Coating\",\r\n    \"Federation Navy EM Plating\": \"Federation Navy EM Coating\",\r\n    \"Federation Navy Thermal Plating\": \"Federation Navy Thermal Coating\",\r\n    \"Corpii C-Type Adaptive Nano Plating\": \"Corpii C-Type Multispectrum Coating\",\r\n    \"Centii C-Type Adaptive Nano Plating\": \"Centii C-Type Multispectrum Coating\",\r\n    \"Corpii B-Type Adaptive Nano Plating\": \"Corpii B-Type Multispectrum Coating\",\r\n    \"Centii B-Type Adaptive Nano Plating\": \"Centii B-Type Multispectrum Coating\",\r\n    \"Corpii A-Type Adaptive Nano Plating\": \"Corpii A-Type Multispectrum Coating\",\r\n    \"Centii A-Type Adaptive Nano Plating\": \"Centii A-Type Multispectrum Coating\",\r\n    \"Corpii C-Type Kinetic Plating\": \"Corpii C-Type Kinetic Coating\",\r\n    \"Centii C-Type Kinetic Plating\": \"Centii C-Type Kinetic Coating\",\r\n    \"Corpii C-Type Explosive Plating\": \"Corpii C-Type Explosive Coating\",\r\n    \"Centii C-Type Explosive Plating\": \"Centii C-Type Explosive Coating\",\r\n    \"Corpii C-Type EM Plating\": \"Corpii C-Type EM Coating\",\r\n    \"Centii C-Type EM Plating\": \"Centii C-Type EM Coating\",\r\n    \"Corpii C-Type Thermal Plating\": \"Corpii C-Type Thermal Coating\",\r\n    \"Centii C-Type Thermal Plating\": \"Centii C-Type Thermal Coating\",\r\n    \"Corpii B-Type Thermal Plating\": \"Corpii B-Type Thermal Coating\",\r\n    \"Centii B-Type Thermal Plating\": \"Centii B-Type Thermal Coating\",\r\n    \"Corpii B-Type Kinetic Plating\": \"Corpii B-Type Kinetic Coating\",\r\n    \"Centii B-Type Kinetic Plating\": \"Centii B-Type Kinetic Coating\",\r\n    \"Corpii B-Type Explosive Plating\": \"Corpii B-Type Explosive Coating\",\r\n    \"Centii B-Type Explosive Plating\": \"Centii B-Type Explosive Coating\",\r\n    \"Corpii B-Type EM Plating\": \"Corpii B-Type EM Coating\",\r\n    \"Centii B-Type EM Plating\": \"Centii B-Type EM Coating\",\r\n    \"Corpii A-Type Kinetic Plating\": \"Corpii A-Type Kinetic Coating\",\r\n    \"Centii A-Type Kinetic Plating\": \"Centii A-Type Kinetic Coating\",\r\n    \"Corpii A-Type Explosive Plating\": \"Corpii A-Type Explosive Coating\",\r\n    \"Centii A-Type Explosive Plating\": \"Centii A-Type Explosive Coating\",\r\n    \"Corpii A-Type EM Plating\": \"Corpii A-Type EM Coating\",\r\n    \"Centii A-Type EM Plating\": \"Centii A-Type EM Coating\",\r\n    \"Corpii A-Type Thermal Plating\": \"Corpii A-Type Thermal Coating\",\r\n    \"Centii A-Type Thermal Plating\": \"Centii A-Type Thermal Coating\",\r\n    \"Coreli C-Type Adaptive Nano Plating\": \"Coreli C-Type Multispectrum Coating\",\r\n    \"Coreli C-Type Kinetic Plating\": \"Coreli C-Type Kinetic Coating\",\r\n    \"Coreli C-Type Explosive Plating\": \"Coreli C-Type Explosive Coating\",\r\n    \"Coreli C-Type EM Plating\": \"Coreli C-Type EM Coating\",\r\n    \"Coreli C-Type Thermal Plating\": \"Coreli C-Type Thermal Coating\",\r\n    \"Coreli B-Type Adaptive Nano Plating\": \"Coreli B-Type Multispectrum Coating\",\r\n    \"Coreli B-Type Kinetic Plating\": \"Coreli B-Type Kinetic Coating\",\r\n    \"Coreli B-Type Explosive Plating\": \"Coreli B-Type Explosive Coating\",\r\n    \"Coreli B-Type EM Plating\": \"Coreli B-Type EM Coating\",\r\n    \"Coreli B-Type Thermal Plating\": \"Coreli B-Type Thermal Coating\",\r\n    \"Coreli A-Type Adaptive Nano Plating\": \"Coreli A-Type Multispectrum Coating\",\r\n    \"Coreli A-Type Kinetic Plating\": \"Coreli A-Type Kinetic Coating\",\r\n    \"Coreli A-Type Explosive Plating\": \"Coreli A-Type Explosive Coating\",\r\n    \"Coreli A-Type EM Plating\": \"Coreli A-Type EM Coating\",\r\n    \"Coreli A-Type Thermal Plating\": \"Coreli A-Type Thermal Coating\",\r\n    \"Khanid Navy Adaptive Nano Plating\": \"Khanid Navy Multispectrum Coating\",\r\n    \"Khanid Navy Kinetic Plating\": \"Khanid Navy Kinetic Coating\",\r\n    \"Khanid Navy Explosive Plating\": \"Khanid Navy Explosive Coating\",\r\n    \"Khanid Navy EM Plating\": \"Khanid Navy EM Coating\",\r\n    \"Khanid Navy Thermal Plating\": \"Khanid Navy Thermal Coating\",\r\n    \"Ammatar Navy Thermal Plating\": \"Ammatar Navy Thermal Coating\",\r\n    \"Low-Grade Mimesis Alpha\": \"Low-grade Mimesis Alpha\",\r\n    \"Low-Grade Mimesis Beta\": \"Low-grade Mimesis Beta\",\r\n    \"Low-Grade Mimesis Gamma\": \"Low-grade Mimesis Gamma\",\r\n    \"Low-Grade Mimesis Delta\": \"Low-grade Mimesis Delta\",\r\n    \"Low-Grade Mimesis Epsilon\": \"Low-grade Mimesis Epsilon\",\r\n    \"Low-Grade Mimesis Omega\": \"Low-grade Mimesis Omega\",\r\n    \"Mid-Grade Mimesis Alpha\": \"Mid-grade Mimesis Alpha\",\r\n    \"Mid-Grade Mimesis Beta\": \"Mid-grade Mimesis Beta\",\r\n    \"Mid-Grade Mimesis Gamma\": \"Mid-grade Mimesis Gamma\",\r\n    \"Mid-Grade Mimesis Delta\": \"Mid-grade Mimesis Delta\",\r\n    \"Mid-Grade Mimesis Epsilon\": \"Mid-grade Mimesis Epsilon\",\r\n    \"Mid-Grade Mimesis Omega\": \"Mid-grade Mimesis Omega\",\r\n    \"High-Grade Mimesis Alpha\": \"High-grade Mimesis Alpha\",\r\n    \"High-Grade Mimesis Beta\": \"High-grade Mimesis Beta\",\r\n    \"High-Grade Mimesis Delta\": \"High-grade Mimesis Delta\",\r\n    \"High-Grade Mimesis Epsilon\": \"High-grade Mimesis Epsilon\",\r\n    \"High-Grade Mimesis Gamma\": \"High-grade Mimesis Gamma\",\r\n    \"High-Grade Mimesis Omega\": \"High-grade Mimesis Omega\",\r\n    # Converted items\r\n    \"Limited Layered Plating I\": \"Upgraded Layered Coating I\",\r\n    \"'Scarab' Layered Plating I\": \"Upgraded Layered Coating I\",\r\n    \"'Grail' Layered Plating I\": \"Upgraded Layered Coating I\",\r\n    \"Limited Adaptive Nano Plating I\": \"Upgraded Multispectrum Coating I\",\r\n    \"'Collateral' Adaptive Nano Plating I\": \"Upgraded Multispectrum Coating I\",\r\n    \"'Refuge' Adaptive Nano Plating I\": \"Upgraded Multispectrum Coating I\",\r\n    \"Limited EM Plating I\": \"Upgraded EM Coating I\",\r\n    \"'Contour' EM Plating I\": \"Upgraded EM Coating I\",\r\n    \"'Spiegel' EM Plating I\": \"Upgraded EM Coating I\",\r\n    \"Limited Explosive Plating I\": \"Upgraded Explosive Coating I\",\r\n    \"Experimental Explosive Plating I\": \"Upgraded Explosive Coating I\",\r\n    \"'Aegis' Explosive Plating I\": \"Upgraded Explosive Coating I\",\r\n    \"Limited Kinetic Plating I\": \"Upgraded Kinetic Coating I\",\r\n    \"Experimental Kinetic Plating I\": \"Upgraded Kinetic Coating I\",\r\n    \"'Element' Kinetic Plating I\": \"Upgraded Kinetic Coating I\",\r\n    \"Limited Thermal Plating I\": \"Upgraded Thermal Coating I\",\r\n    \"Experimental Thermal Plating I\": \"Upgraded Thermal Coating I\",\r\n    \"Prototype Thermal Plating I\": \"Upgraded Thermal Coating I\"\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseJun2020.py",
    "content": "\"\"\"\r\nConversion pack for June 2020 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items, extracted via diff file\r\n    \"Basic EM Ward Amplifier\": \"'Basic' EM Shield Amplifier\",\r\n    \"Basic Thermal Dissipation Amplifier\": \"'Basic' Thermal Shield Amplifier\",\r\n    \"Basic Kinetic Deflection Amplifier\": \"'Basic' Kinetic Shield Amplifier\",\r\n    \"Basic Explosive Deflection Amplifier\": \"'Basic' Explosive Shield Amplifier\",\r\n    \"EM Ward Amplifier I\": \"EM Shield Amplifier I\",\r\n    \"Explosive Deflection Amplifier I\": \"Explosive Shield Amplifier I\",\r\n    \"Explosive Deflection Amplifier II\": \"Explosive Shield Amplifier II\",\r\n    \"Thermal Dissipation Amplifier I\": \"Thermal Shield Amplifier I\",\r\n    \"Thermal Dissipation Amplifier II\": \"Thermal Shield Amplifier II\",\r\n    \"Kinetic Deflection Amplifier I\": \"Kinetic Shield Amplifier I\",\r\n    \"Kinetic Deflection Amplifier II\": \"Kinetic Shield Amplifier II\",\r\n    \"EM Ward Amplifier II\": \"EM Shield Amplifier II\",\r\n    \"Upgraded Explosive Deflection Amplifier I\": \"Compact Explosive Shield Amplifier\",\r\n    \"Upgraded Thermal Dissipation Amplifier I\": \"Compact Thermal Shield Amplifier\",\r\n    \"Upgraded EM Ward Amplifier I\": \"Compact EM Shield Amplifier\",\r\n    \"Upgraded Kinetic Deflection Amplifier I\": \"Compact Kinetic Shield Amplifier\",\r\n    \"Domination Explosive Deflection Amplifier\": \"Domination Explosive Shield Amplifier\",\r\n    \"Dread Guristas Explosive Deflection Amplifier\": \"Dread Guristas Explosive Shield Amplifier\",\r\n    \"Domination Thermal Dissipation Amplifier\": \"Domination Thermal Shield Amplifier\",\r\n    \"Dread Guristas Thermal Dissipation Amplifier\": \"Dread Guristas Thermal Shield Amplifier\",\r\n    \"Domination Kinetic Deflection Amplifier\": \"Domination Kinetic Shield Amplifier\",\r\n    \"Dread Guristas Kinetic Deflection Amplifier\": \"Dread Guristas Kinetic Shield Amplifier\",\r\n    \"Domination EM Ward Amplifier\": \"Domination EM Shield Amplifier\",\r\n    \"Dread Guristas EM Ward Amplifier\": \"Dread Guristas EM Shield Amplifier\",\r\n    \"Hakim's Modified Explosive Deflection Amplifier\": \"Hakim's Modified Explosive Shield Amplifier\",\r\n    \"Tobias' Modified Explosive Deflection Amplifier\": \"Tobias' Modified Explosive Shield Amplifier\",\r\n    \"Hakim's Modified Thermal Dissipation Amplifier\": \"Hakim's Modified Thermal Shield Amplifier\",\r\n    \"Tobias' Modified Thermal Dissipation Amplifier\": \"Tobias' Modified Thermal Shield Amplifier\",\r\n    \"Hakim's Modified Kinetic Deflection Amplifier\": \"Hakim's Modified Kinetic Shield Amplifier\",\r\n    \"Tobias' Modified Kinetic Deflection Amplifier\": \"Tobias' Modified Kinetic Shield Amplifier\",\r\n    \"Hakim's Modified EM Ward Amplifier\": \"Hakim's Modified EM Shield Amplifier\",\r\n    \"Tobias' Modified EM Ward Amplifier\": \"Tobias' Modified EM Shield Amplifier\",\r\n    \"Kaikka's Modified Explosive Deflection Amplifier\": \"Kaikka's Modified Explosive Shield Amplifier\",\r\n    \"Thon's Modified Explosive Deflection Amplifier\": \"Thon's Modified Explosive Shield Amplifier\",\r\n    \"Vepas' Modified Explosive Deflection Amplifier\": \"Vepas' Modified Explosive Shield Amplifier\",\r\n    \"Estamel's Modified Explosive Deflection Amplifier\": \"Estamel's Modified Explosive Shield Amplifier\",\r\n    \"Kaikka's Modified Thermal Dissipation Amplifier\": \"Kaikka's Modified Thermal Shield Amplifier\",\r\n    \"Thon's Modified Thermal Dissipation Amplifier\": \"Thon's Modified Thermal Shield Amplifier\",\r\n    \"Vepas' Modified Thermal Dissipation Amplifier\": \"Vepas' Modified Thermal Shield Amplifier\",\r\n    \"Estamel's Modified Thermal Dissipation Amplifier\": \"Estamel's Modified Thermal Shield Amplifier\",\r\n    \"Kaikka's Modified Kinetic Deflection Amplifier\": \"Kaikka's Modified Kinetic Shield Amplifier\",\r\n    \"Thon's Modified Kinetic Deflection Amplifier\": \"Thon's Modified Kinetic Shield Amplifier\",\r\n    \"Vepas' Modified Kinetic Deflection Amplifier\": \"Vepas' Modified Kinetic Shield Amplifier\",\r\n    \"Estamel's Modified Kinetic Deflection Amplifier\": \"Estamel's Modified Kinetic Shield Amplifier\",\r\n    \"Kaikka's Modified EM Ward Amplifier\": \"Kaikka's Modified EM Shield Amplifier\",\r\n    \"Thon's Modified EM Ward Amplifier\": \"Thon's Modified EM Shield Amplifier\",\r\n    \"Vepas' Modified EM Ward Amplifier\": \"Vepas' Modified EM Shield Amplifier\",\r\n    \"Estamel's Modified EM Ward Amplifier\": \"Estamel's Modified EM Shield Amplifier\",\r\n    \"Caldari Navy EM Ward Amplifier\": \"Caldari Navy EM Shield Amplifier\",\r\n    \"Caldari Navy Kinetic Deflection Amplifier\": \"Caldari Navy Kinetic Shield Amplifier\",\r\n    \"Caldari Navy Thermal Dissipation Amplifier\": \"Caldari Navy Thermal Shield Amplifier\",\r\n    \"Caldari Navy Explosive Deflection Amplifier\": \"Caldari Navy Explosive Shield Amplifier\",\r\n    \"Republic Fleet EM Ward Amplifier\": \"Republic Fleet EM Shield Amplifier\",\r\n    \"Republic Fleet Kinetic Deflection Amplifier\": \"Republic Fleet Kinetic Shield Amplifier\",\r\n    \"Republic Fleet Thermal Dissipation Amplifier\": \"Republic Fleet Thermal Shield Amplifier\",\r\n    \"Republic Fleet Explosive Deflection Amplifier\": \"Republic Fleet Explosive Shield Amplifier\",\r\n    \"Pithum C-Type Explosive Deflection Amplifier\": \"Pithum C-Type Explosive Shield Amplifier\",\r\n    \"Pithum C-Type Thermal Dissipation Amplifier\": \"Pithum C-Type Thermal Shield Amplifier\",\r\n    \"Pithum C-Type Kinetic Deflection Amplifier\": \"Pithum C-Type Kinetic Shield Amplifier\",\r\n    \"Pithum C-Type EM Ward Amplifier\": \"Pithum C-Type EM Shield Amplifier\",\r\n    \"Pithum B-Type Explosive Deflection Amplifier\": \"Pithum B-Type Explosive Shield Amplifier\",\r\n    \"Pithum B-Type Thermal Dissipation Amplifier\": \"Pithum B-Type Thermal Shield Amplifier\",\r\n    \"Pithum B-Type Kinetic Deflection Amplifier\": \"Pithum B-Type Kinetic Shield Amplifier\",\r\n    \"Pithum B-Type EM Ward Amplifier\": \"Pithum B-Type EM Shield Amplifier\",\r\n    \"Pithum A-Type Explosive Deflection Amplifier\": \"Pithum A-Type Explosive Shield Amplifier\",\r\n    \"Pithum A-Type Thermal Dissipation Amplifier\": \"Pithum A-Type Thermal Shield Amplifier\",\r\n    \"Pithum A-Type Kinetic Deflection Amplifier\": \"Pithum A-Type Kinetic Shield Amplifier\",\r\n    \"Pithum A-Type EM Ward Amplifier\": \"Pithum A-Type EM Shield Amplifier\",\r\n    \"Gistum C-Type Explosive Deflection Amplifier\": \"Gistum C-Type Explosive Shield Amplifier\",\r\n    \"Gistum B-Type Explosive Deflection Amplifier\": \"Gistum B-Type Explosive Shield Amplifier\",\r\n    \"Gistum C-Type Thermal Dissipation Amplifier\": \"Gistum C-Type Thermal Shield Amplifier\",\r\n    \"Gistum B-Type Thermal Dissipation Amplifier\": \"Gistum B-Type Thermal Shield Amplifier\",\r\n    \"Gistum C-Type Kinetic Deflection Amplifier\": \"Gistum C-Type Kinetic Shield Amplifier\",\r\n    \"Gistum B-Type Kinetic Deflection Amplifier\": \"Gistum B-Type Kinetic Shield Amplifier\",\r\n    \"Gistum C-Type EM Ward Amplifier\": \"Gistum C-Type EM Shield Amplifier\",\r\n    \"Gistum B-Type EM Ward Amplifier\": \"Gistum B-Type EM Shield Amplifier\",\r\n    \"Gistum A-Type Explosive Deflection Amplifier\": \"Gistum A-Type Explosive Shield Amplifier\",\r\n    \"Gistum A-Type Thermal Dissipation Amplifier\": \"Gistum A-Type Thermal Shield Amplifier\",\r\n    \"Gistum A-Type Kinetic Deflection Amplifier\": \"Gistum A-Type Kinetic Shield Amplifier\",\r\n    \"Gistum A-Type EM Ward Amplifier\": \"Gistum A-Type EM Shield Amplifier\",\r\n    \"'Whiskey' Explosive Deflection Amplifier\": \"'Whiskey' Explosive Shield Amplifier\",\r\n    \"'High Noon' Thermal Dissipation Amplifier\": \"'High Noon' Thermal Shield Amplifier\",\r\n    \"'Cactus' Modified Kinetic Deflection Amplifier\": \"'Cactus' Modified Kinetic Shield Amplifier\",\r\n    \"'Prospector' EM Ward Amplifier\": \"'Prospector' EM Shield Amplifier\",\r\n    # Converted items\r\n    \"Supplemental EM Ward Amplifier\": \"'Basic' EM Shield Amplifier\",\r\n    \"Supplemental Explosive Deflection Amplifier\": \"'Basic' Explosive Shield Amplifier\",\r\n    \"Supplemental Kinetic Deflection Amplifier\": \"'Basic' Kinetic Shield Amplifier\",\r\n    \"Supplemental Thermal Dissipation Amplifier\": \"'Basic' Thermal Shield Amplifier\",\r\n    \"Dark Blood Tracking Disruptor\": \"'Investor' Tracking Disruptor I\"\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseMar2016.py",
    "content": "\"\"\"\r\nConversion pack for January 2016 (YC118.1) release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Basic Gyrostabilizer\": \"'Basic' Gyrostabilizer\",\r\n    \"Basic Damage Control\": \"'Basic' Damage Control\",\r\n    \"Micro Capacitor Battery I\": \"'Micro' Cap Battery\",\r\n    \"ECM Burst I\": \"Burst Jammer I\",\r\n    \"Small Capacitor Battery I\": \"Small Cap Battery I\",\r\n    \"Basic Heat Sink\": \"'Basic' Heat Sink\",\r\n    \"ECM - Ion Field Projector I\": \"Magnetometric ECM I\",\r\n    \"Basic Signal Amplifier\": \"'Basic' Signal Amplifier\",\r\n    \"Basic Tracking Enhancer\": \"'Basic' Tracking Enhancer\",\r\n    \"ECM - Spatial Destabilizer I\": \"Gravimetric ECM I\",\r\n    \"ECM - White Noise Generator I\": \"Radar ECM I\",\r\n    \"ECM - Multispectral Jammer I\": \"Multispectral ECM I\",\r\n    \"ECM - Phase Inverter I\": \"Ladar ECM I\",\r\n    \"Medium Capacitor Battery I\": \"Medium Cap Battery I\",\r\n    \"Large Capacitor Battery I\": \"Large Cap Battery I\",\r\n    \"ECM Burst II\": \"Burst Jammer II\",\r\n    \"Guristas Nova Citadel Cruise Missile\": \"Guristas Nova XL Cruise Missile\",\r\n    \"Guristas Scourge Citadel Cruise Missile\": \"Guristas Scourge XL Cruise Missile\",\r\n    \"Guristas Inferno Citadel Cruise Missile\": \"Guristas Inferno XL Cruise Missile\",\r\n    \"Guristas Mjolnir Citadel Cruise Missile\": \"Guristas Mjolnir XL Cruise Missile\",\r\n    \"ECM - Phase Inverter II\": \"Ladar ECM II\",\r\n    \"ECM - Ion Field Projector II\": \"Magnetometric ECM II\",\r\n    \"ECM - Multispectral Jammer II\": \"Multispectral ECM II\",\r\n    \"ECM - Spatial Destabilizer II\": \"Gravimetric ECM II\",\r\n    \"ECM - White Noise Generator II\": \"Radar ECM II\",\r\n    \"Small Capacitor Battery II\": \"Small Cap Battery II\",\r\n    \"Medium Capacitor Battery II\": \"Medium Cap Battery II\",\r\n    \"Large Capacitor Battery II\": \"Large Cap Battery II\",\r\n    \"'Limos' Citadel Cruise Launcher I\": \"'Limos' XL Cruise Launcher I\",\r\n    \"Shock 'Limos' Citadel Torpedo Bay I\": \"Shock 'Limos' XL Torpedo Bay I\",\r\n    \"X5 Prototype Engine Enervator\": \"X5 Enduring Stasis Webifier\",\r\n    \"Fleeting Propulsion Inhibitor I\": \"Fleeting Compact Stasis Webifier\",\r\n    \"Caldari Fuel Block\": \"Nitrogen Fuel Block\",\r\n    \"Minmatar Fuel Block\": \"Hydrogen Fuel Block\",\r\n    \"Amarr Fuel Block\": \"Helium Fuel Block\",\r\n    \"Gallente Fuel Block\": \"Oxygen Fuel Block\",\r\n    \"Small Ld-Acid Capacitor Battery I\": \"Small Compact Pb-Acid Cap Battery \",\r\n    \"Large Ld-Acid Capacitor Battery I\": \"Large Compact Pb-Acid Cap Battery\",\r\n    \"F-23 Reciprocal Remote Sensor Booster\": \"F-23 Compact Remote Sensor Booster\",\r\n    \"Coadjunct Linked Remote Sensor Booster\": \"Coadjunct Scoped Remote Sensor Booster\",\r\n    \"Linked Remote Sensor Booster\": \"Linked Enduring Sensor Booster\",\r\n    \"Low Frequency Sensor Suppressor I\": \"LFT Enduring Sensor Dampener\",\r\n    \"Kapteyn Sensor Array Inhibitor I\": \"Kapteyn Compact Sensor Dampener\",\r\n    \"Phased Muon Sensor Disruptor I\": \"Phased Muon Scoped Sensor Dampener\",\r\n    \"F-293 Nutation Remote Tracking Computer\": \"F-293 Scoped Remote Tracking Computer\",\r\n    \"Phase Switching Remote Tracking Computer\": \"P-S Compact Remote Tracking Computer\",\r\n    \"Alfven Surface Remote Tracking Computer\": \"Alfven Enduring Remote Tracking Computer\",\r\n    \"'Deluge' ECM Burst I\": \"Deluge Enduring Burst Jammer\",\r\n    \"'Rash' ECM Emission I\": \"Rash Compact Burst Jammer\",\r\n    \"'Cetus' ECM Shockwave I\": \"Cetus Scoped Burst Jammer\",\r\n    \"J5 Prototype Warp Disruptor I\": \"J5 Enduring Warp Disruptor\",\r\n    \"Faint Warp Disruptor I\": \"Faint Scoped Warp Disruptor\",\r\n    \"Initiated Warp Disruptor I\": \"Initiated Compact Warp Disruptor\",\r\n    \"J5b Phased Prototype Warp Scrambler I\": \"J5b Enduring Warp Scrambler\",\r\n    \"Faint Epsilon Warp Scrambler I\": \"Faint Epsilon Scoped Warp Scrambler\",\r\n    \"Initiated Harmonic Warp Scrambler I\": \"Initiated Compact Warp Scrambler\",\r\n    \"Internal Force Field Array I\": \"IFFA Compact Damage Control\",\r\n    \"Extruded Heat Sink I\": \"Extruded Compact Heat Sink\",\r\n    \"Counterbalanced Weapon Mounts I\": \"Counterbalanced Compact Gyrostabilizer\",\r\n    \"Medium Ld-Acid Capacitor Battery I\": \"Medium Compact Pb-Acid Cap Battery\",\r\n    \"Alumel-Wired Sensor Augmentation\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"F-90 Positional Sensor Subroutines\": \"F-90 Compact Sensor Booster\",\r\n    \"Optical Tracking Computer I\": \"Optical Compact Tracking Computer\",\r\n    \"F-12 Nonlinear Tracking Processor\": \"F-12 Enduring Tracking Computer\",\r\n    \"F-89 Synchronized Signal Amplifier\": \"F-89 Compact Signal Amplifier\",\r\n    \"Fourier Transform Tracking Program\": \"Fourier Compact Tracking Enhancer\",\r\n    \"Initiated Multispectral ECM I\": \"Initiated Enduring Multispectral ECM\",\r\n    \"Basic Magnetic Field Stabilizer\": \"'Basic' Magnetic Field Stabilizer\",\r\n    \"Magnetic Vortex Stabilizer I\": \"Vortex Compact Magnetic Field Stabilizer\",\r\n    \"Mizuro's Modified Warp Disruptor\": \"Mizuro's Modified Heavy Warp Disruptor\",\r\n    \"Hakim's Modified Warp Disruptor\": \"Hakim's Modified Heavy Warp Disruptor\",\r\n    \"Gotan's Modified Warp Disruptor\": \"Gotan's Modified Heavy Warp Disruptor\",\r\n    \"Tobias' Modified Warp Disruptor\": \"Tobias' Modified Heavy Warp Disruptor\",\r\n    \"Mizuro's Modified Warp Scrambler\": \"Mizuro's Modified Heavy Warp Scrambler\",\r\n    \"Hakim's Modified Warp Scrambler\": \"Hakim's Modified Heavy Warp Scrambler\",\r\n    \"Gotan's Modified Warp Scrambler\": \"Gotan's Modified Heavy Warp Scrambler\",\r\n    \"Tobias' Modified Warp Scrambler\": \"Tobias' Modified Heavy Warp Scrambler\",\r\n    \"Cross-linked Bolt Array I\": \"Crosslink Compact Ballistic Control System\",\r\n    \"Citadel Torpedo Battery\": \"XL Torpedo Battery\",\r\n    \"Mjolnir Citadel Torpedo\": \"Mjolnir XL Torpedo\",\r\n    \"Scourge Citadel Torpedo\": \"Scourge XL Torpedo\",\r\n    \"Inferno Citadel Torpedo\": \"Inferno XL Torpedo\",\r\n    \"Nova Citadel Torpedo\": \"Nova XL Torpedo\",\r\n    \"Peripheral Weapon Navigation Diameter\": \"Peripheral Compact Target Painter\",\r\n    \"Parallel Weapon Navigation Transmitter\": \"Parallel Enduring Target Painter\",\r\n    \"Phased Weapon Navigation Array Generation Extron\": \"Phased Scoped Target Painter\",\r\n    \"Induced Ion Field ECM I\": \"Morpheus Enduring Magnetometric ECM\",\r\n    \"Compulsive Ion Field ECM I\": \"Aergia Compact Magnetometric ECM\",\r\n    \"'Hypnos' Ion Field ECM I\": \"Hypnos Scoped Magnetometric ECM\",\r\n    \"Induced Multispectral ECM I\": \"Induced Compact Multispectral ECM\",\r\n    \"Compulsive Multispectral ECM I\": \"Compulsive Scoped Multispectral ECM\",\r\n    \"Languid Phase Inversion ECM I\": \"Languid Enduring Ladar ECM\",\r\n    \"Halting Phase Inversion ECM I\": \"Halting Compact Ladar ECM\",\r\n    \"Enfeebling Phase Inversion ECM I\": \"Enfeebling Scoped Ladar ECM\",\r\n    \"FZ-3a Disruptive Spatial Destabilizer ECM\": \"FZ-3a Enduring Gravimetric ECM\",\r\n    \"CZ-4 Concussive Spatial Destabilizer ECM\": \"CZ-4 Compact Gravimetric ECM\",\r\n    \"BZ-5 Neutralizing Spatial Destabilizer ECM\": \"BZ-5 Scoped Gravimetric ECM\",\r\n    \"'Gloom' White Noise ECM\": \"Gloom Enduring Radar ECM\",\r\n    \"'Shade' White Noise ECM\": \"Shade Compact Radar ECM\",\r\n    \"'Umbra' White Noise ECM\": \"Umbra Scoped Radar ECM\",\r\n    \"Dread Guristas ECM Multispectral Jammer\": \"Dread Guristas Multispectral ECM\",\r\n    \"Kaikka's Modified ECM Multispectral Jammer\": \"Kaikka's Modified Multispectral ECM\",\r\n    \"Thon's Modified ECM Multispectral Jammer\": \"Thon's Modified Multispectral ECM\",\r\n    \"Vepas' Modified ECM Multispectral Jammer\": \"Vepas' Modified Multispectral ECM\",\r\n    \"Estamel's Modified ECM Multispectral Jammer\": \"Estamel's Modified Multispectral ECM\",\r\n    \"Citadel Torpedo Launcher I\": \"XL Torpedo Launcher I\",\r\n    \"'Marshall' Ion Field Projector\": \"'Marshall' Magnetometric ECM\",\r\n    \"'Gambler' Phase Inverter\": \"'Gambler' Ladar ECM\",\r\n    \"'Plunderer' Spatial Destabilizer\": \"'Plunderer' Gravimetric ECM\",\r\n    \"'Heist' White Noise Generator\": \"'Heist' Radar ECM\",\r\n    \"'Ghost' ECM Burst\": \"'Ghost' Burst Jammer\",\r\n    \"'Full Duplex' Ballistic Targeting System\": \"'Full Duplex' Ballistic Control System\",\r\n    \"'Kindred' Stabilization Actuator I\": \"'Kindred' Gyrostabilizer\",\r\n    \"Process-Interruptive Warp Disruptor\": \"'Interruptive' Warp Disruptor\",\r\n    \"'Inception' Target Painter I\": \"'Inception' Target Painter\",\r\n    \"Citadel Torpedoes\": \"XL Torpedoes\",\r\n    \"'Shady' ECCM - Gravimetric I\": \"'Shady' Sensor Booster\",\r\n    \"'Monopoly' Magnetic Field Stabilizer I\": \"'Monopoly' Magnetic Field Stabilizer\",\r\n    \"'Bootleg' ECCM Projector I\": \"'Bootleg' Remote Sensor Booster\",\r\n    \"'Marketeer' Tracking Computer I\": \"'Marketeer' Tracking Computer\",\r\n    \"'Executive' Remote Sensor Dampener I\": \"'Executive' Remote Sensor Dampener\",\r\n    \"'Radical' Damage Control I\": \"'Radical' Damage Control\",\r\n    \"'Crucible' Small Capacitor Battery I\": \"'Crucible' Small Cap Battery\",\r\n    \"'Censer' Medium Capacitor Battery I\": \"'Censer' Medium Cap Battery\",\r\n    \"'Thurifer' Large Capacitor Battery I\": \"'Thurifer' Large Cap Battery\",\r\n    \"Guristas Citadel Torpedo Battery\": \"Guristas XL Torpedo Battery\",\r\n    \"Dread Guristas Citadel Torpedo Battery\": \"Dread Guristas XL Torpedo Battery\",\r\n    \"Legion ECM Ion Field Projector\": \"Legion Magnetometric ECM\",\r\n    \"Legion ECM Multispectral Jammer\": \"Legion Multispectral ECM\",\r\n    \"Legion ECM Phase Inverter\": \"Legion Ladar ECM\",\r\n    \"Legion ECM Spatial Destabilizer\": \"Legion Gravimetric ECM\",\r\n    \"Legion ECM White Noise Generator\": \"Legion Radar ECM\",\r\n    \"Guristas Nova Citadel Torpedo\": \"Guristas Nova XL Torpedo\",\r\n    \"Guristas Inferno Citadel Torpedo\": \"Guristas Inferno XL Torpedo\",\r\n    \"Guristas Scourge Citadel Torpedo\": \"Guristas Scourge XL Torpedo\",\r\n    \"Guristas Mjolnir Citadel Torpedo\": \"Guristas Mjolnir XL Torpedo\",\r\n    \"Citadel Cruise Missiles\": \"XL Cruise Missiles\",\r\n    \"Scourge Citadel Cruise Missile\": \"Scourge XL Cruise Missile\",\r\n    \"Nova Citadel Cruise Missile\": \"Nova XL Cruise Missile\",\r\n    \"Inferno Citadel Cruise Missile\": \"Inferno XL Cruise Missile\",\r\n    \"Mjolnir Citadel Cruise Missile\": \"Mjolnir XL Cruise Missile\",\r\n    \"Citadel Cruise Launcher I\": \"XL Cruise Launcher I\",\r\n\r\n    # Converted items\r\n    \"Muon Coil Bolt Array I\": \"Crosslink Compact Ballistic Control System\",\r\n    \"Multiphasic Bolt Array I\": \"Crosslink Compact Ballistic Control System\",\r\n    \"'Pandemonium' Ballistic Enhancement\": \"Crosslink Compact Ballistic Control System\",\r\n    \"Piercing ECCM Emitter I\": \"Coadjunct Scoped Remote Sensor Booster\",\r\n    \"1Z-3 Subversive ECM Eruption\": \"Cetus Scoped Burst Jammer\",\r\n    \"ECCM - Radar I\": \"Sensor Booster I\",\r\n    \"ECCM - Ladar I\": \"Sensor Booster I\",\r\n    \"ECCM - Magnetometric I\": \"Sensor Booster I\",\r\n    \"ECCM - Gravimetric I\": \"Sensor Booster I\",\r\n    \"ECCM - Omni I\": \"Sensor Booster I\",\r\n    \"Beta-Nought Tracking Mode\": \"'Basic' Tracking Enhancer\",\r\n    \"Azimuth Descalloping Tracking Enhancer\": \"'Basic' Tracking Enhancer\",\r\n    \"F-AQ Delay-Line Scan Tracking Subroutines\": \"'Basic' Tracking Enhancer\",\r\n    \"Beam Parallax Tracking Program\": \"'Basic' Tracking Enhancer\",\r\n    \"GLFF Containment Field\": \"'Basic' Damage Control\",\r\n    \"Interior Force Field Array\": \"'Basic' Damage Control\",\r\n    \"F84 Local Damage System\": \"'Basic' Damage Control\",\r\n    \"Systematic Damage Control\": \"'Basic' Damage Control\",\r\n    \"'Boss' Remote Sensor Booster\": \"'Bootleg' Remote Sensor Booster\",\r\n    \"'Entrepreneur' Remote Sensor Booster\": \"'Bootleg' Remote Sensor Booster\",\r\n    \"Fleeting Progressive Warp Scrambler I\": \"Faint Epsilon Scoped Warp Scrambler\",\r\n    \"ECCM Projector I\": \"Remote Sensor Booster I\",\r\n    \"Sigma-Nought Tracking Mode I\": \"Fourier Compact Tracking Enhancer\",\r\n    \"Auto-Gain Control Tracking Enhancer I\": \"Fourier Compact Tracking Enhancer\",\r\n    \"F-aQ Phase Code Tracking Subroutines\": \"Fourier Compact Tracking Enhancer\",\r\n    \"Monophonic Stabilization Actuator I\": \"'Kindred' Gyrostabilizer\",\r\n    \"Initiated Ion Field ECM I\": \"Hypnos Scoped Magnetometric ECM\",\r\n    \"Insulated Stabilizer Array\": \"'Basic' Magnetic Field Stabilizer\",\r\n    \"Linear Flux Stabilizer\": \"'Basic' Magnetic Field Stabilizer\",\r\n    \"Gauss Field Balancer\": \"'Basic' Magnetic Field Stabilizer\",\r\n    \"Magnetic Vortex Stabilizer\": \"'Basic' Magnetic Field Stabilizer\",\r\n    \"'Capitalist' Magnetic Field Stabilizer I\": \"'Monopoly' Magnetic Field Stabilizer\",\r\n    \"Emergency Damage Control I\": \"IFFA Compact Damage Control\",\r\n    \"F85 Peripheral Damage System I\": \"IFFA Compact Damage Control\",\r\n    \"Pseudoelectron Containment Field I\": \"IFFA Compact Damage Control\",\r\n    \"Micro Ld-Acid Capacitor Battery I\": \"'Micro' Cap Battery\",\r\n    \"Micro Ohm Capacitor Reserve I\": \"'Micro' Cap Battery\",\r\n    \"Micro F-4a Ld-Sulfate Capacitor Charge Unit\": \"'Micro' Cap Battery\",\r\n    \"Micro Peroxide Capacitor Power Cell\": \"'Micro' Cap Battery\",\r\n    \"Micro Capacitor Battery II\": \"'Micro' Cap Battery\",\r\n    \"Lateral Gyrostabilizer\": \"'Basic' Gyrostabilizer\",\r\n    \"F-M2 Weapon Inertial Suspensor\": \"'Basic' Gyrostabilizer\",\r\n    \"Hydraulic Stabilization Actuator\": \"'Basic' Gyrostabilizer\",\r\n    \"Stabilized Weapon Mounts\": \"'Basic' Gyrostabilizer\",\r\n    \"'Hypnos' Multispectral ECM I\": \"Compulsive Scoped Multispectral ECM\",\r\n    \"Fleeting Warp Disruptor I\": \"Faint Scoped Warp Disruptor\",\r\n    \"'Mangonel' Heat Sink I\": \"'Trebuchet' Heat Sink I\",\r\n    \"Heat Exhaust System\": \"'Basic' Heat Sink\",\r\n    \"C3S Convection Thermal Radiator\": \"'Basic' Heat Sink\",\r\n    \"'Boreas' Coolant System\": \"'Basic' Heat Sink\",\r\n    \"Stamped Heat Sink\": \"'Basic' Heat Sink\",\r\n    \"Extra Radar ECCM Scanning Array I\": \"F-90 Compact Sensor Booster\",\r\n    \"Extra Ladar ECCM Scanning Array I\": \"F-90 Compact Sensor Booster\",\r\n    \"Extra Gravimetric ECCM Scanning Array I\": \"F-90 Compact Sensor Booster\",\r\n    \"Extra Magnetometric ECCM Scanning Array I\": \"F-90 Compact Sensor Booster\",\r\n    \"Gravimetric Positional ECCM Sensor System I\": \"F-90 Compact Sensor Booster\",\r\n    \"Radar Positional ECCM Sensor System I\": \"F-90 Compact Sensor Booster\",\r\n    \"Omni Positional ECCM Sensor System I\": \"F-90 Compact Sensor Booster\",\r\n    \"Ladar Positional ECCM Sensor System I\": \"F-90 Compact Sensor Booster\",\r\n    \"Magnetometric Positional ECCM Sensor System I\": \"F-90 Compact Sensor Booster\",\r\n    \"Conjunctive Radar ECCM Scanning Array I\": \"F-90 Compact Sensor Booster\",\r\n    \"Conjunctive Ladar ECCM Scanning Array I\": \"F-90 Compact Sensor Booster\",\r\n    \"Conjunctive Gravimetric ECCM Scanning Array I\": \"F-90 Compact Sensor Booster\",\r\n    \"Conjunctive Magnetometric ECCM Scanning Array I\": \"F-90 Compact Sensor Booster\",\r\n    \"Supplemental Scanning CPU I\": \"F-90 Compact Sensor Booster\",\r\n    \"'Gonzo' Damage Control I\": \"'Radical' Damage Control\",\r\n    \"'Penumbra' White Noise ECM\": \"Umbra Scoped Radar ECM\",\r\n    \"ECCM - Omni II\": \"Sensor Booster II\",\r\n    \"ECCM - Gravimetric II\": \"Sensor Booster II\",\r\n    \"ECCM - Ladar II\": \"Sensor Booster II\",\r\n    \"ECCM - Magnetometric II\": \"Sensor Booster II\",\r\n    \"ECCM - Radar II\": \"Sensor Booster II\",\r\n    \"Scattering ECCM Projector I\": \"Linked Enduring Sensor Booster\",\r\n    \"Gravimetric Backup Array I\": \"Signal Amplifier I\",\r\n    \"Ladar Backup Array I\": \"Signal Amplifier I\",\r\n    \"Magnetometric Backup Array I\": \"Signal Amplifier I\",\r\n    \"Multi Sensor Backup Array I\": \"Signal Amplifier I\",\r\n    \"RADAR Backup Array I\": \"Signal Amplifier I\",\r\n    \"Large Ohm Capacitor Reserve I\": \"Large Compact Pb-Acid Cap Battery\",\r\n    \"Large F-4a Ld-Sulfate Capacitor Charge Unit\": \"Large Compact Pb-Acid Cap Battery\",\r\n    \"Large Peroxide Capacitor Power Cell\": \"Large Compact Pb-Acid Cap Battery\",\r\n    \"ECCM Projector II\": \"Remote Sensor Booster II\",\r\n    \"Cross-Lateral Gyrostabilizer I\": \"Counterbalanced Compact Gyrostabilizer\",\r\n    \"F-M3 Munition Inertial Suspensor\": \"Counterbalanced Compact Gyrostabilizer\",\r\n    \"Pneumatic Stabilization Actuator I\": \"Counterbalanced Compact Gyrostabilizer\",\r\n    \"'Langour' Drive Disruptor I\": \"X5 Enduring Stasis Webifier\",\r\n    \"Patterned Stasis Web I\": \"Fleeting Compact Stasis Webifier\",\r\n    \"'Tycoon' Remote Tracking Computer\": \"'Enterprise' Remote Tracking Computer\",\r\n    \"'Economist' Tracking Computer I\": \"'Marketeer' Tracking Computer\",\r\n    \"Gravimetric Backup Array II\": \"Signal Amplifier II\",\r\n    \"Ladar Backup Array II\": \"Signal Amplifier II\",\r\n    \"Magnetometric Backup Array II\": \"Signal Amplifier II\",\r\n    \"Multi Sensor Backup Array II\": \"Signal Amplifier II\",\r\n    \"RADAR Backup Array II\": \"Signal Amplifier II\",\r\n    \"Faint Phase Inversion ECM I\": \"Enfeebling Scoped Ladar ECM\",\r\n    \"'Prayer' Remote Tracking Computer\": \"P-S Compact Remote Tracking Computer\",\r\n    \"Partial Weapon Navigation\": \"Phased Scoped Target Painter\",\r\n    \"Basic RADAR Backup Array\": \"'Basic' Signal Amplifier\",\r\n    \"Basic Ladar Backup Array\": \"'Basic' Signal Amplifier\",\r\n    \"Basic Gravimetric Backup Array\": \"'Basic' Signal Amplifier\",\r\n    \"Basic Magnetometric Backup Array\": \"'Basic' Signal Amplifier\",\r\n    \"Basic Multi Sensor Backup Array\": \"'Basic' Signal Amplifier\",\r\n    \"Emergency Magnetometric Scanners\": \"'Basic' Signal Amplifier\",\r\n    \"Emergency Multi-Frequency Scanners\": \"'Basic' Signal Amplifier\",\r\n    \"Emergency RADAR Scanners\": \"'Basic' Signal Amplifier\",\r\n    \"Emergency Ladar Scanners\": \"'Basic' Signal Amplifier\",\r\n    \"Emergency Gravimetric Scanners\": \"'Basic' Signal Amplifier\",\r\n    \"Sealed RADAR Backup Cluster\": \"'Basic' Signal Amplifier\",\r\n    \"Sealed Magnetometric Backup Cluster\": \"'Basic' Signal Amplifier\",\r\n    \"Sealed Multi-Frequency Backup Cluster\": \"'Basic' Signal Amplifier\",\r\n    \"Sealed Ladar Backup Cluster\": \"'Basic' Signal Amplifier\",\r\n    \"Sealed Gravimetric Backup Cluster\": \"'Basic' Signal Amplifier\",\r\n    \"Surplus RADAR Reserve Array\": \"'Basic' Signal Amplifier\",\r\n    \"F-42 Reiterative RADAR Backup Sensors\": \"'Basic' Signal Amplifier\",\r\n    \"Surplus Magnetometric Reserve Array\": \"'Basic' Signal Amplifier\",\r\n    \"F-42 Reiterative Magnetometric Backup Sensors\": \"'Basic' Signal Amplifier\",\r\n    \"Surplus Multi-Frequency Reserve Array\": \"'Basic' Signal Amplifier\",\r\n    \"F-42 Reiterative Multi-Frequency Backup Sensors\": \"'Basic' Signal Amplifier\",\r\n    \"Surplus Ladar Reserve Array\": \"'Basic' Signal Amplifier\",\r\n    \"F-42 Reiterative Ladar Backup Sensors\": \"'Basic' Signal Amplifier\",\r\n    \"Surplus Gravimetric Reserve Array\": \"'Basic' Signal Amplifier\",\r\n    \"F-42 Reiterative Gravimetric Backup Sensors\": \"'Basic' Signal Amplifier\",\r\n    \"Amplitude Signal Enhancer\": \"'Basic' Signal Amplifier\",\r\n    \"'Acolyth' Signal Booster\": \"'Basic' Signal Amplifier\",\r\n    \"Type-E Discriminative Signal Augmentation\": \"'Basic' Signal Amplifier\",\r\n    \"F-90 Positional Signal Amplifier\": \"'Basic' Signal Amplifier\",\r\n    \"Gravimetric Firewall\": \"'Firewall' Signal Amplifier\",\r\n    \"Ladar Firewall\": \"'Firewall' Signal Amplifier\",\r\n    \"Magnetometric Firewall\": \"'Firewall' Signal Amplifier\",\r\n    \"Multi Sensor Firewall\": \"'Firewall' Signal Amplifier\",\r\n    \"RADAR Firewall\": \"'Firewall' Signal Amplifier\",\r\n    \"'Pacifier' Large Remote Armor Repairer\": \"'Peace' Large Remote Armor Repairer\",\r\n    \"Monopulse Tracking Mechanism I\": \"F-12 Enduring Tracking Computer\",\r\n    \"Alumel Radar ECCM Sensor Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Alumel Ladar ECCM Sensor Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Alumel Gravimetric ECCM Sensor Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Alumel Omni ECCM Sensor Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Alumel Magnetometric ECCM Sensor Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Supplemental Ladar ECCM Scanning Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Supplemental Gravimetric ECCM Scanning Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Supplemental Omni ECCM Scanning Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Supplemental Radar ECCM Scanning Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Supplemental Magnetometric ECCM Scanning Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Incremental Radar ECCM Scanning Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Incremental Ladar ECCM Scanning Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Incremental Gravimetric ECCM Scanning Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Incremental Magnetometric ECCM Scanning Array I\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Prototype ECCM Radar Sensor Cluster\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Prototype ECCM Ladar Sensor Cluster\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Prototype ECCM Gravimetric Sensor Cluster\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Prototype ECCM Omni Sensor Cluster\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Prototype ECCM Magnetometric Sensor Cluster\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Prototype Sensor Booster\": \"Alumel-Wired Enduring Sensor Booster\",\r\n    \"Thermal Exhaust System I\": \"Extruded Compact Heat Sink\",\r\n    \"C4S Coiled Circuit Thermal Radiator\": \"Extruded Compact Heat Sink\",\r\n    \"'Skadi' Coolant System I\": \"Extruded Compact Heat Sink\",\r\n    \"'Forger' ECCM - Magnetometric I\": \"'Shady' Sensor Booster\",\r\n    \"Insulated Stabilizer Array I\": \"Vortex Compact Magnetic Field Stabilizer\",\r\n    \"Linear Flux Stabilizer I\": \"Vortex Compact Magnetic Field Stabilizer\",\r\n    \"Gauss Field Balancer I\": \"Vortex Compact Magnetic Field Stabilizer\",\r\n    \"'Broker' Remote Sensor Dampener I\": \"'Executive' Remote Sensor Dampener\",\r\n    \"'Orion' Tracking CPU I\": \"Optical Compact Tracking Computer\",\r\n    \"Spot Pulsing ECCM I\": \"F-23 Compact Remote Sensor Booster\",\r\n    \"Phased Muon ECCM Caster I\": \"F-23 Compact Remote Sensor Booster\",\r\n    \"Connected Remote Sensor Booster\": \"F-23 Compact Remote Sensor Booster\",\r\n    \"Small Ohm Capacitor Reserve I\": \"Small Compact Pb-Acid Cap Battery\",\r\n    \"Small F-4a Ld-Sulfate Capacitor Charge Unit\": \"Small Compact Pb-Acid Cap Battery\",\r\n    \"Small Peroxide Capacitor Power Cell\": \"Small Compact Pb-Acid Cap Battery\",\r\n    \"FZ-3 Subversive Spatial Destabilizer ECM\": \"BZ-5 Scoped Gravimetric ECM\",\r\n    \"Medium Ohm Capacitor Reserve I\": \"Medium Compact Pb-Acid Cap Battery\",\r\n    \"Medium F-4a Ld-Sulfate Capacitor Charge Unit\": \"Medium Compact Pb-Acid Cap Battery\",\r\n    \"Medium Peroxide Capacitor Power Cell\": \"Medium Compact Pb-Acid Cap Battery\",\r\n    \"Ballistic 'Purge' Targeting System I\": \"'Full Duplex' Ballistic Control System\",\r\n    \"Protected Gravimetric Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Protected Ladar Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Protected Magnetometric Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Protected Multi-Frequency Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Protected RADAR Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Reserve Gravimetric Scanners\": \"F-89 Compact Signal Amplifier\",\r\n    \"Reserve Ladar Scanners\": \"F-89 Compact Signal Amplifier\",\r\n    \"Reserve Magnetometric Scanners\": \"F-89 Compact Signal Amplifier\",\r\n    \"Reserve Multi-Frequency Scanners\": \"F-89 Compact Signal Amplifier\",\r\n    \"Reserve RADAR Scanners\": \"F-89 Compact Signal Amplifier\",\r\n    \"Secure Gravimetric Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Secure Ladar Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Secure Magnetometric Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Secure Radar Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"F-43 Repetitive Gravimetric Backup Sensors\": \"F-89 Compact Signal Amplifier\",\r\n    \"F-43 Repetitive Ladar Backup Sensors\": \"F-89 Compact Signal Amplifier\",\r\n    \"F-43 Repetitive Magnetometric Backup Sensors\": \"F-89 Compact Signal Amplifier\",\r\n    \"F-43 Repetitive Multi-Frequency Backup Sensors\": \"F-89 Compact Signal Amplifier\",\r\n    \"F-43 Repetitive RADAR Backup Sensors\": \"F-89 Compact Signal Amplifier\",\r\n    \"Shielded Gravimetric Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Shielded Ladar Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Shielded Magnetometric Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Shielded Radar Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Surrogate Gravimetric Reserve Array I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Surrogate Ladar Reserve Array I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Surrogate Magnetometric Reserve Array I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Surrogate Multi-Frequency Reserve Array I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Surrogate RADAR Reserve Array I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Warded Gravimetric Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Warded Ladar Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Warded Magnetometric Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Warded Radar Backup Cluster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"'Mendicant' Signal Booster I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Wavelength Signal Enhancer I\": \"F-89 Compact Signal Amplifier\",\r\n    \"Type-D Attenuation Signal Augmentation\": \"F-89 Compact Signal Amplifier\",\r\n    \"Indirect Scanning Dampening Unit I\": \"Phased Muon Scoped Sensor Dampener\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseMar2020.py",
    "content": "\"\"\"\r\nConversion pack for March 2020 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Micro Electrochemical Capacitor Booster I\": \"'Seed' Micro Capacitor Booster I\",\r\n    \"Small Electrochemical Capacitor Booster I\": \"Small F-RX Compact Capacitor Booster\",\r\n    \"Medium Electrochemical Capacitor Booster I\": \"Medium F-RX Compact Capacitor Booster\",\r\n    \"Heavy Electrochemical Capacitor Booster I\": \"Heavy F-RX Compact Capacitor Booster\",\r\n    # Converted items\r\n    \"Micro Brief Capacitor Overcharge I\": \"'Seed' Micro Capacitor Booster I\",\r\n    \"Micro Tapered Capacitor Infusion I\": \"'Seed' Micro Capacitor Booster I\",\r\n    \"Micro F-RX Prototype Capacitor Boost\": \"'Seed' Micro Capacitor Booster I\",\r\n    \"Micro Capacitor Booster I\": \"'Seed' Micro Capacitor Booster I\",\r\n    \"Micro Capacitor Booster II\": \"'Seed' Micro Capacitor Booster I\",\r\n    \"Ammatar Navy Micro Capacitor Booster\": \"'Seed' Micro Capacitor Booster I\",\r\n    \"Dark Blood Micro Capacitor Booster\": \"'Seed' Micro Capacitor Booster I\",\r\n    \"True Sansha Micro Capacitor Booster\": \"'Seed' Micro Capacitor Booster I\",\r\n    \"Imperial Navy Micro Capacitor Booster\": \"'Seed' Micro Capacitor Booster I\",\r\n    \"Small Brief Capacitor Overcharge I\": \"Small F-RX Compact Capacitor Booster\",\r\n    \"Small Tapered Capacitor Infusion I\": \"Small F-RX Compact Capacitor Booster\",\r\n    \"Small F-RX Prototype Capacitor Boost\": \"Small F-RX Compact Capacitor Booster\",\r\n    \"Medium Brief Capacitor Overcharge I\": \"Medium F-RX Compact Capacitor Booster\",\r\n    \"Medium Tapered Capacitor Infusion I\": \"Medium F-RX Compact Capacitor Booster\",\r\n    \"Medium F-RX Prototype Capacitor Boost\": \"Medium F-RX Compact Capacitor Booster\",\r\n    \"Heavy Brief Capacitor Overcharge I\": \"Heavy F-RX Compact Capacitor Booster\",\r\n    \"Heavy Tapered Capacitor Infusion I\": \"Heavy F-RX Compact Capacitor Booster\",\r\n    \"Heavy F-RX Prototype Capacitor Boost\": \"Heavy F-RX Compact Capacitor Booster\"\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseMay2020.py",
    "content": "\"\"\"\r\nConversion pack for May 2020 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items, extracted via diff file\r\n    \"Adaptive Invulnerability Shield Hardener I\": \"Multispectrum Shield Hardener I\",\r\n    \"Gistum C-Type Adaptive Invulnerability Shield Hardener\": \"Gistum C-Type Multispectrum Shield Hardener\",\r\n    \"Adaptive Invulnerability Shield Hardener II\": \"Multispectrum Shield Hardener II\",\r\n    \"Anti-Explosive Shield Hardener I\": \"Explosive Shield Hardener I\",\r\n    \"Anti-Kinetic Shield Hardener I\": \"Kinetic Shield Hardener I\",\r\n    \"Anti-EM Shield Hardener I\": \"EM Shield Hardener I\",\r\n    \"Anti-Thermal Shield Hardener I\": \"Thermal Shield Hardener I\",\r\n    \"Anti-Explosive Shield Hardener II\": \"Explosive Shield Hardener II\",\r\n    \"Anti-Kinetic Shield Hardener II\": \"Kinetic Shield Hardener II\",\r\n    \"Anti-EM Shield Hardener II\": \"EM Shield Hardener II\",\r\n    \"Anti-Thermal Shield Hardener II\": \"Thermal Shield Hardener II\",\r\n    \"Gistum B-Type Adaptive Invulnerability Shield Hardener\": \"Gistum B-Type Multispectrum Shield Hardener\",\r\n    \"Gistum A-Type Adaptive Invulnerability Shield Hardener\": \"Gistum A-Type Multispectrum Shield Hardener\",\r\n    \"Pithum A-Type Adaptive Invulnerability Shield Hardener\": \"Pithum A-Type Multispectrum Shield Hardener\",\r\n    \"Pithum B-Type Adaptive Invulnerability Shield Hardener\": \"Pithum B-Type Multispectrum Shield Hardener\",\r\n    \"Pithum C-Type Adaptive Invulnerability Shield Hardener\": \"Pithum C-Type Multispectrum Shield Hardener\",\r\n    \"Compact Anti-Kinetic Shield Hardener\": \"Compact Kinetic Shield Hardener\",\r\n    \"Compact Anti-EM Shield Hardener\": \"Compact EM Shield Hardener\",\r\n    \"Compact Adaptive Invulnerability Shield Hardener\": \"Compact Multispectrum Shield Hardener\",\r\n    \"Compact Anti-Explosive Shield Hardener\": \"Compact Explosive Shield Hardener\",\r\n    \"Compact Anti-Thermal Shield Hardener\": \"Compact Thermal Shield Hardener\",\r\n    \"Armor Thermal Hardener I\": \"Thermal Armor Hardener I\",\r\n    \"Armor EM Hardener I\": \"EM Armor Hardener I\",\r\n    \"Armor Explosive Hardener I\": \"Explosive Armor Hardener I\",\r\n    \"Armor Kinetic Hardener I\": \"Kinetic Armor Hardener I\",\r\n    \"Armor EM Hardener II\": \"EM Armor Hardener II\",\r\n    \"Armor Kinetic Hardener II\": \"Kinetic Armor Hardener II\",\r\n    \"Armor Explosive Hardener II\": \"Explosive Armor Hardener II\",\r\n    \"Armor Thermal Hardener II\": \"Thermal Armor Hardener II\",\r\n    \"Dread Guristas Anti-EM Shield Hardener\": \"Dread Guristas EM Shield Hardener\",\r\n    \"Dread Guristas Anti-Thermal Shield Hardener\": \"Dread Guristas Thermal Shield Hardener\",\r\n    \"Dread Guristas Anti-Explosive Shield Hardener\": \"Dread Guristas Explosive Shield Hardener\",\r\n    \"Dread Guristas Anti-Kinetic Shield Hardener\": \"Dread Guristas Kinetic Shield Hardener\",\r\n    \"Dread Guristas Adaptive Invulnerability Shield Hardener\": \"Dread Guristas Multispectrum Shield Hardener\",\r\n    \"True Sansha Armor EM Hardener\": \"True Sansha EM Armor Hardener\",\r\n    \"Dark Blood Armor EM Hardener\": \"Dark Blood EM Armor Hardener\",\r\n    \"True Sansha Armor Explosive Hardener\": \"True Sansha Explosive Armor Hardener\",\r\n    \"Dark Blood Armor Explosive Hardener\": \"Dark Blood Explosive Armor Hardener\",\r\n    \"True Sansha Armor Kinetic Hardener\": \"True Sansha Kinetic Armor Hardener\",\r\n    \"Dark Blood Armor Kinetic Hardener\": \"Dark Blood Kinetic Armor Hardener\",\r\n    \"True Sansha Armor Thermal Hardener\": \"True Sansha Thermal Armor Hardener\",\r\n    \"Dark Blood Armor Thermal Hardener\": \"Dark Blood Thermal Armor Hardener\",\r\n    \"Domination Armor EM Hardener\": \"Domination EM Armor Hardener\",\r\n    \"Domination Armor Explosive Hardener\": \"Domination Explosive Armor Hardener\",\r\n    \"Domination Armor Kinetic Hardener\": \"Domination Kinetic Armor Hardener\",\r\n    \"Domination Armor Thermal Hardener\": \"Domination Thermal Armor Hardener\",\r\n    \"Domination Anti-EM Shield Hardener\": \"Domination EM Shield Hardener\",\r\n    \"Domination Anti-Thermal Shield Hardener\": \"Domination Thermal Shield Hardener\",\r\n    \"Domination Anti-Explosive Shield Hardener\": \"Domination Explosive Shield Hardener\",\r\n    \"Domination Anti-Kinetic Shield Hardener\": \"Domination Kinetic Shield Hardener\",\r\n    \"Domination Adaptive Invulnerability Shield Hardener\": \"Domination Multispectrum Shield Hardener\",\r\n    \"Shadow Serpentis Armor EM Hardener\": \"Shadow Serpentis EM Armor Hardener\",\r\n    \"Shadow Serpentis Armor Explosive Hardener\": \"Shadow Serpentis Explosive Armor Hardener\",\r\n    \"Shadow Serpentis Armor Kinetic Hardener\": \"Shadow Serpentis Kinetic Armor Hardener\",\r\n    \"Shadow Serpentis Armor Thermal Hardener\": \"Shadow Serpentis Thermal Armor Hardener\",\r\n    \"Kaikka's Modified Anti-Kinetic Shield Hardener\": \"Kaikka's Modified Kinetic Shield Hardener\",\r\n    \"Thon's Modified Anti-Kinetic Shield Hardener\": \"Thon's Modified Kinetic Shield Hardener\",\r\n    \"Vepas's Modified Anti-Kinetic Shield Hardener\": \"Vepas's Modified Kinetic Shield Hardener\",\r\n    \"Estamel's Modified Anti-Kinetic Shield Hardener\": \"Estamel's Modified Kinetic Shield Hardener\",\r\n    \"Kaikka's Modified Anti-EM Shield Hardener\": \"Kaikka's Modified EM Shield Hardener\",\r\n    \"Thon's Modified Anti-EM Shield Hardener\": \"Thon's Modified EM Shield Hardener\",\r\n    \"Vepas's Modified Anti-EM Shield Hardener\": \"Vepas's Modified EM Shield Hardener\",\r\n    \"Estamel's Modified Anti-EM Shield Hardener\": \"Estamel's Modified EM Shield Hardener\",\r\n    \"Kaikka's Modified Anti-Explosive Shield Hardener\": \"Kaikka's Modified Explosive Shield Hardener\",\r\n    \"Thon's Modified Anti-Explosive Shield Hardener\": \"Thon's Modified Explosive Shield Hardener\",\r\n    \"Vepas's Modified Anti-Explosive Shield Hardener\": \"Vepas's Modified Explosive Shield Hardener\",\r\n    \"Estamel's Modified Anti-Explosive Shield Hardener\": \"Estamel's Modified Explosive Shield Hardener\",\r\n    \"Kaikka's Modified Anti-Thermal Shield Hardener\": \"Kaikka's Modified Thermal Shield Hardener\",\r\n    \"Thon's Modified Anti-Thermal Shield Hardener\": \"Thon's Modified Thermal Shield Hardener\",\r\n    \"Vepas's Modified Anti-Thermal Shield Hardener\": \"Vepas's Modified Thermal Shield Hardener\",\r\n    \"Estamel's Modified Anti-Thermal Shield Hardener\": \"Estamel's Modified Thermal Shield Hardener\",\r\n    \"Kaikka's Modified Adaptive Invulnerability Shield Hardener\": \"Kaikka's Modified Multispectrum Shield Hardener\",\r\n    \"Thon's Modified Adaptive Invulnerability Shield Hardener\": \"Thon's Modified Multispectrum Shield Hardener\",\r\n    \"Vepas's Modified Adaptive Invulnerability Shield Hardener\": \"Vepas's Modified Multispectrum Shield Hardener\",\r\n    \"Estamel's Modified Adaptive Invulnerability Shield Hardener\": \"Estamel's Modified Multispectrum Shield Hardener\",\r\n    \"Brokara's Modified Armor EM Hardener\": \"Brokara's Modified EM Armor Hardener\",\r\n    \"Tairei's Modified Armor EM Hardener\": \"Tairei's Modified EM Armor Hardener\",\r\n    \"Selynne's Modified Armor EM Hardener\": \"Selynne's Modified EM Armor Hardener\",\r\n    \"Raysere's Modified Armor EM Hardener\": \"Raysere's Modified EM Armor Hardener\",\r\n    \"Vizan's Modified Armor EM Hardener\": \"Vizan's Modified EM Armor Hardener\",\r\n    \"Ahremen's Modified Armor EM Hardener\": \"Ahremen's Modified EM Armor Hardener\",\r\n    \"Chelm's Modified Armor EM Hardener\": \"Chelm's Modified EM Armor Hardener\",\r\n    \"Draclira's Modified Armor EM Hardener\": \"Draclira's Modified EM Armor Hardener\",\r\n    \"Brokara's Modified Armor Thermal Hardener\": \"Brokara's Modified Thermal Armor Hardener\",\r\n    \"Tairei's Modified Armor Thermal Hardener\": \"Tairei's Modified Thermal Armor Hardener\",\r\n    \"Selynne's Modified Armor Thermal Hardener\": \"Selynne's Modified Thermal Armor Hardener\",\r\n    \"Raysere's Modified Armor Thermal Hardener\": \"Raysere's Modified Thermal Armor Hardener\",\r\n    \"Vizan's Modified Armor Thermal Hardener\": \"Vizan's Modified Thermal Armor Hardener\",\r\n    \"Ahremen's Modified Armor Thermal Hardener\": \"Ahremen's Modified Thermal Armor Hardener\",\r\n    \"Chelm's Modified Armor Thermal Hardener\": \"Chelm's Modified Thermal Armor Hardener\",\r\n    \"Draclira's Modified Armor Thermal Hardener\": \"Draclira's Modified Thermal Armor Hardener\",\r\n    \"Brokara's Modified Armor Kinetic Hardener\": \"Brokara's Modified Kinetic Armor Hardener\",\r\n    \"Tairei's Modified Armor Kinetic Hardener\": \"Tairei's Modified Kinetic Armor Hardener\",\r\n    \"Selynne's Modified Armor Kinetic Hardener\": \"Selynne's Modified Kinetic Armor Hardener\",\r\n    \"Raysere's Modified Armor Kinetic Hardener\": \"Raysere's Modified Kinetic Armor Hardener\",\r\n    \"Vizan's Modified Armor Kinetic Hardener\": \"Vizan's Modified Kinetic Armor Hardener\",\r\n    \"Ahremen's Modified Armor Kinetic Hardener\": \"Ahremen's Modified Kinetic Armor Hardener\",\r\n    \"Chelm's Modified Armor Kinetic Hardener\": \"Chelm's Modified Kinetic Armor Hardener\",\r\n    \"Draclira's Modified Armor Kinetic Hardener\": \"Draclira's Modified Kinetic Armor Hardener\",\r\n    \"Brokara's Modified Armor Explosive Hardener\": \"Brokara's Modified Explosive Armor Hardener\",\r\n    \"Tairei's Modified Armor Explosive Hardener\": \"Tairei's Modified Explosive Armor Hardener\",\r\n    \"Selynne's Modified Armor Explosive Hardener\": \"Selynne's Modified Explosive Armor Hardener\",\r\n    \"Raysere's Modified Armor Explosive Hardener\": \"Raysere's Modified Explosive Armor Hardener\",\r\n    \"Vizan's Modified Armor Explosive Hardener\": \"Vizan's Modified Explosive Armor Hardener\",\r\n    \"Ahremen's Modified Armor Explosive Hardener\": \"Ahremen's Modified Explosive Armor Hardener\",\r\n    \"Chelm's Modified Armor Explosive Hardener\": \"Chelm's Modified Explosive Armor Hardener\",\r\n    \"Draclira's Modified Armor Explosive Hardener\": \"Draclira's Modified Explosive Armor Hardener\",\r\n    \"Brynn's Modified Armor EM Hardener\": \"Brynn's Modified EM Armor Hardener\",\r\n    \"Tuvan's Modified Armor EM Hardener\": \"Tuvan's Modified EM Armor Hardener\",\r\n    \"Setele's Modified Armor EM Hardener\": \"Setele's Modified EM Armor Hardener\",\r\n    \"Cormack's Modified Armor EM Hardener\": \"Cormack's Modified EM Armor Hardener\",\r\n    \"Brynn's Modified Armor Thermal Hardener\": \"Brynn's Modified Thermal Armor Hardener\",\r\n    \"Tuvan's Modified Armor Thermal Hardener\": \"Tuvan's Modified Thermal Armor Hardener\",\r\n    \"Setele's Modified Armor Thermal Hardener\": \"Setele's Modified Thermal Armor Hardener\",\r\n    \"Cormack's Modified Armor Thermal Hardener\": \"Cormack's Modified Thermal Armor Hardener\",\r\n    \"Brynn's Modified Armor Kinetic Hardener\": \"Brynn's Modified Kinetic Armor Hardener\",\r\n    \"Tuvan's Modified Armor Kinetic Hardener\": \"Tuvan's Modified Kinetic Armor Hardener\",\r\n    \"Setele's Modified Armor Kinetic Hardener\": \"Setele's Modified Kinetic Armor Hardener\",\r\n    \"Cormack's Modified Armor Kinetic Hardener\": \"Cormack's Modified Kinetic Armor Hardener\",\r\n    \"Brynn's Modified Armor Explosive Hardener\": \"Brynn's Modified Explosive Armor Hardener\",\r\n    \"Tuvan's Modified Armor Explosive Hardener\": \"Tuvan's Modified Explosive Armor Hardener\",\r\n    \"Setele's Modified Armor Explosive Hardener\": \"Setele's Modified Explosive Armor Hardener\",\r\n    \"Cormack's Modified Armor Explosive Hardener\": \"Cormack's Modified Explosive Armor Hardener\",\r\n    \"Imperial Navy Armor Thermal Hardener\": \"Imperial Navy Thermal Armor Hardener\",\r\n    \"Imperial Navy Armor Kinetic Hardener\": \"Imperial Navy Kinetic Armor Hardener\",\r\n    \"Imperial Navy Armor Explosive Hardener\": \"Imperial Navy Explosive Armor Hardener\",\r\n    \"Imperial Navy Armor EM Hardener\": \"Imperial Navy EM Armor Hardener\",\r\n    \"Republic Fleet Armor Thermal Hardener\": \"Republic Fleet Thermal Armor Hardener\",\r\n    \"Republic Fleet Armor Kinetic Hardener\": \"Republic Fleet Kinetic Armor Hardener\",\r\n    \"Republic Fleet Armor Explosive Hardener\": \"Republic Fleet Explosive Armor Hardener\",\r\n    \"Republic Fleet Armor EM Hardener\": \"Republic Fleet EM Armor Hardener\",\r\n    \"Experimental Armor EM Hardener I\": \"Experimental Enduring EM Armor Hardener I\",\r\n    \"Prototype Armor EM Hardener I\": \"Prototype Compact EM Armor Hardener I\",\r\n    \"Experimental Armor Explosive Hardener I\": \"Experimental Enduring Explosive Armor Hardener I\",\r\n    \"Prototype Armor Explosive Hardener I\": \"Prototype Compact Explosive Armor Hardener I\",\r\n    \"Experimental Armor Kinetic Hardener I\": \"Experimental Enduring Kinetic Armor Hardener I\",\r\n    \"Prototype Armor Kinetic Hardener I\": \"Prototype Compact Kinetic Armor Hardener I\",\r\n    \"Experimental Armor Thermal Hardener I\": \"Experimental Enduring Thermal Armor Hardener I\",\r\n    \"Prototype Armor Thermal Hardener I\": \"Prototype Compact Thermal Armor Hardener I\",\r\n    \"Caldari Navy Anti-Kinetic Shield Hardener\": \"Caldari Navy Kinetic Shield Hardener\",\r\n    \"Caldari Navy Anti-Explosive Shield Hardener\": \"Caldari Navy Explosive Shield Hardener\",\r\n    \"Caldari Navy Anti-Thermal Shield Hardener\": \"Caldari Navy Thermal Shield Hardener\",\r\n    \"Caldari Navy Adaptive Invulnerability Shield Hardener\": \"Caldari Navy Multispectrum Shield Hardener\",\r\n    \"Caldari Navy Anti-EM Shield Hardener\": \"Caldari Navy EM Shield Hardener\",\r\n    \"Ammatar Navy Armor EM Hardener\": \"Ammatar Navy EM Armor Hardener\",\r\n    \"Ammatar Navy Armor Explosive Hardener\": \"Ammatar Navy Explosive Armor Hardener\",\r\n    \"Ammatar Navy Armor Kinetic Hardener\": \"Ammatar Navy Kinetic Armor Hardener\",\r\n    \"Ammatar Navy Armor Thermal Hardener\": \"Ammatar Navy Thermal Armor Hardener\",\r\n    \"Federation Navy Armor EM Hardener\": \"Federation Navy EM Armor Hardener\",\r\n    \"Federation Navy Armor Explosive Hardener\": \"Federation Navy Explosive Armor Hardener\",\r\n    \"Federation Navy Armor Kinetic Hardener\": \"Federation Navy Kinetic Armor Hardener\",\r\n    \"Federation Navy Armor Thermal Hardener\": \"Federation Navy Thermal Armor Hardener\",\r\n    \"Corpus C-Type Armor EM Hardener\": \"Corpus C-Type EM Armor Hardener\",\r\n    \"Centus C-Type Armor EM Hardener\": \"Centus C-Type EM Armor Hardener\",\r\n    \"Corpus C-Type Armor Explosive Hardener\": \"Corpus C-Type Explosive Armor Hardener\",\r\n    \"Centus C-Type Armor Explosive Hardener\": \"Centus C-Type Explosive Armor Hardener\",\r\n    \"Corpus C-Type Armor Kinetic Hardener\": \"Corpus C-Type Kinetic Armor Hardener\",\r\n    \"Centus C-Type Armor Kinetic Hardener\": \"Centus C-Type Kinetic Armor Hardener\",\r\n    \"Corpus C-Type Armor Thermal Hardener\": \"Corpus C-Type Thermal Armor Hardener\",\r\n    \"Centus C-Type Armor Thermal Hardener\": \"Centus C-Type Thermal Armor Hardener\",\r\n    \"Corpus B-Type Armor EM Hardener\": \"Corpus B-Type EM Armor Hardener\",\r\n    \"Centus B-Type Armor EM Hardener\": \"Centus B-Type EM Armor Hardener\",\r\n    \"Corpus B-Type Armor Explosive Hardener\": \"Corpus B-Type Explosive Armor Hardener\",\r\n    \"Centus B-Type Armor Explosive Hardener\": \"Centus B-Type Explosive Armor Hardener\",\r\n    \"Corpus B-Type Armor Kinetic Hardener\": \"Corpus B-Type Kinetic Armor Hardener\",\r\n    \"Centus B-Type Armor Kinetic Hardener\": \"Centus B-Type Kinetic Armor Hardener\",\r\n    \"Corpus B-Type Armor Thermal Hardener\": \"Corpus B-Type Thermal Armor Hardener\",\r\n    \"Centus B-Type Armor Thermal Hardener\": \"Centus B-Type Thermal Armor Hardener\",\r\n    \"Corpus A-Type Armor Thermal Hardener\": \"Corpus A-Type Thermal Armor Hardener\",\r\n    \"Centus A-Type Armor Thermal Hardener\": \"Centus A-Type Thermal Armor Hardener\",\r\n    \"Corpus A-Type Armor Kinetic Hardener\": \"Corpus A-Type Kinetic Armor Hardener\",\r\n    \"Centus A-Type Armor Kinetic Hardener\": \"Centus A-Type Kinetic Armor Hardener\",\r\n    \"Corpus A-Type Armor Explosive Hardener\": \"Corpus A-Type Explosive Armor Hardener\",\r\n    \"Centus A-Type Armor Explosive Hardener\": \"Centus A-Type Explosive Armor Hardener\",\r\n    \"Corpus A-Type Armor EM Hardener\": \"Corpus A-Type EM Armor Hardener\",\r\n    \"Centus A-Type Armor EM Hardener\": \"Centus A-Type EM Armor Hardener\",\r\n    \"Corpus X-Type Armor EM Hardener\": \"Corpus X-Type EM Armor Hardener\",\r\n    \"Centus X-Type Armor EM Hardener\": \"Centus X-Type EM Armor Hardener\",\r\n    \"Corpus X-Type Armor Explosive Hardener\": \"Corpus X-Type Explosive Armor Hardener\",\r\n    \"Centus X-Type Armor Explosive Hardener\": \"Centus X-Type Explosive Armor Hardener\",\r\n    \"Corpus X-Type Armor Kinetic Hardener\": \"Corpus X-Type Kinetic Armor Hardener\",\r\n    \"Centus X-Type Armor Kinetic Hardener\": \"Centus X-Type Kinetic Armor Hardener\",\r\n    \"Corpus X-Type Armor Thermal Hardener\": \"Corpus X-Type Thermal Armor Hardener\",\r\n    \"Centus X-Type Armor Thermal Hardener\": \"Centus X-Type Thermal Armor Hardener\",\r\n    \"Core C-Type Armor EM Hardener\": \"Core C-Type EM Armor Hardener\",\r\n    \"Core C-Type Armor Explosive Hardener\": \"Core C-Type Explosive Armor Hardener\",\r\n    \"Core C-Type Armor Kinetic Hardener\": \"Core C-Type Kinetic Armor Hardener\",\r\n    \"Core C-Type Armor Thermal Hardener\": \"Core C-Type Thermal Armor Hardener\",\r\n    \"Core B-Type Armor EM Hardener\": \"Core B-Type EM Armor Hardener\",\r\n    \"Core B-Type Armor Explosive Hardener\": \"Core B-Type Explosive Armor Hardener\",\r\n    \"Core B-Type Armor Kinetic Hardener\": \"Core B-Type Kinetic Armor Hardener\",\r\n    \"Core B-Type Armor Thermal Hardener\": \"Core B-Type Thermal Armor Hardener\",\r\n    \"Core A-Type Armor EM Hardener\": \"Core A-Type EM Armor Hardener\",\r\n    \"Core A-Type Armor Explosive Hardener\": \"Core A-Type Explosive Armor Hardener\",\r\n    \"Core A-Type Armor Kinetic Hardener\": \"Core A-Type Kinetic Armor Hardener\",\r\n    \"Core A-Type Armor Thermal Hardener\": \"Core A-Type Thermal Armor Hardener\",\r\n    \"Core X-Type Armor EM Hardener\": \"Core X-Type EM Armor Hardener\",\r\n    \"Core X-Type Armor Explosive Hardener\": \"Core X-Type Explosive Armor Hardener\",\r\n    \"Core X-Type Armor Kinetic Hardener\": \"Core X-Type Kinetic Armor Hardener\",\r\n    \"Core X-Type Armor Thermal Hardener\": \"Core X-Type Thermal Armor Hardener\",\r\n    \"Gist C-Type Anti-Kinetic Shield Hardener\": \"Gist C-Type Kinetic Shield Hardener\",\r\n    \"Pith C-Type Anti-Kinetic Shield Hardener\": \"Pith C-Type Kinetic Shield Hardener\",\r\n    \"Gist C-Type Anti-Explosive Shield Hardener\": \"Gist C-Type Explosive Shield Hardener\",\r\n    \"Pith C-Type Anti-Explosive Shield Hardener\": \"Pith C-Type Explosive Shield Hardener\",\r\n    \"Gist C-Type Anti-Thermal Shield Hardener\": \"Gist C-Type Thermal Shield Hardener\",\r\n    \"Pith C-Type Anti-Thermal Shield Hardener\": \"Pith C-Type Thermal Shield Hardener\",\r\n    \"Gist C-Type Anti-EM Shield Hardener\": \"Gist C-Type EM Shield Hardener\",\r\n    \"Pith C-Type Anti-EM Shield Hardener\": \"Pith C-Type EM Shield Hardener\",\r\n    \"Gist B-Type Anti-EM Shield Hardener\": \"Gist B-Type EM Shield Hardener\",\r\n    \"Pith B-Type Anti-EM Shield Hardener\": \"Pith B-Type EM Shield Hardener\",\r\n    \"Gist B-Type Anti-Thermal Shield Hardener\": \"Gist B-Type Thermal Shield Hardener\",\r\n    \"Pith B-Type Anti-Thermal Shield Hardener\": \"Pith B-Type Thermal Shield Hardener\",\r\n    \"Gist B-Type Anti-Explosive Shield Hardener\": \"Gist B-Type Explosive Shield Hardener\",\r\n    \"Pith B-Type Anti-Explosive Shield Hardener\": \"Pith B-Type Explosive Shield Hardener\",\r\n    \"Gist B-Type Anti-Kinetic Shield Hardener\": \"Gist B-Type Kinetic Shield Hardener\",\r\n    \"Pith B-Type Anti-Kinetic Shield Hardener\": \"Pith B-Type Kinetic Shield Hardener\",\r\n    \"Gist A-Type Anti-Kinetic Shield Hardener\": \"Gist A-Type Kinetic Shield Hardener\",\r\n    \"Pith A-Type Anti-Kinetic Shield Hardener\": \"Pith A-Type Kinetic Shield Hardener\",\r\n    \"Gist A-Type Anti-Explosive Shield Hardener\": \"Gist A-Type Explosive Shield Hardener\",\r\n    \"Pith A-Type Anti-Explosive Shield Hardener\": \"Pith A-Type Explosive Shield Hardener\",\r\n    \"Gist A-Type Anti-Thermal Shield Hardener\": \"Gist A-Type Thermal Shield Hardener\",\r\n    \"Pith A-Type Anti-Thermal Shield Hardener\": \"Pith A-Type Thermal Shield Hardener\",\r\n    \"Gist A-Type Anti-EM Shield Hardener\": \"Gist A-Type EM Shield Hardener\",\r\n    \"Pith A-Type Anti-EM Shield Hardener\": \"Pith A-Type EM Shield Hardener\",\r\n    \"Gist X-Type Anti-EM Shield Hardener\": \"Gist X-Type EM Shield Hardener\",\r\n    \"Pith X-Type Anti-EM Shield Hardener\": \"Pith X-Type EM Shield Hardener\",\r\n    \"Gist X-Type Anti-Thermal Shield Hardener\": \"Gist X-Type Thermal Shield Hardener\",\r\n    \"Pith X-Type Anti-Thermal Shield Hardener\": \"Pith X-Type Thermal Shield Hardener\",\r\n    \"Gist X-Type Anti-Explosive Shield Hardener\": \"Gist X-Type Explosive Shield Hardener\",\r\n    \"Pith X-Type Anti-Explosive Shield Hardener\": \"Pith X-Type Explosive Shield Hardener\",\r\n    \"Gist X-Type Anti-Kinetic Shield Hardener\": \"Gist X-Type Kinetic Shield Hardener\",\r\n    \"Pith X-Type Anti-Kinetic Shield Hardener\": \"Pith X-Type Kinetic Shield Hardener\",\r\n    \"'Nugget' Anti-Kinetic Shield Hardener\": \"'Nugget' Kinetic Shield Hardener\",\r\n    \"'Desert Heat' Anti-Thermal Shield Hardener\": \"'Desert Heat' Thermal Shield Hardener\",\r\n    \"'Posse' Adaptive Invulnerability Shield Hardener\": \"'Posse' Multispectrum Shield Hardener\",\r\n    \"'Poacher' Anti-EM Shield Hardener\": \"'Poacher' EM Shield Hardener\",\r\n    \"'Snake Eyes' Anti-Explosive Shield Hardener\": \"'Snake Eyes' Explosive Shield Hardener\",\r\n    \"Large Anti-EM Pump I\": \"Large EM Armor Reinforcer I\",\r\n    \"Large Anti-Explosive Pump I\": \"Large Explosive Armor Reinforcer I\",\r\n    \"Large Anti-Kinetic Pump I\": \"Large Kinetic Armor Reinforcer I\",\r\n    \"Large Anti-Thermal Pump I\": \"Large Thermal Armor Reinforcer I\",\r\n    \"Large Anti-EM Screen Reinforcer I\": \"Large EM Shield Reinforcer I\",\r\n    \"Large Anti-Explosive Screen Reinforcer I\": \"Large Explosive Shield Reinforcer I\",\r\n    \"Large Anti-Kinetic Screen Reinforcer I\": \"Large Kinetic Shield Reinforcer I\",\r\n    \"Large Anti-Thermal Screen Reinforcer I\": \"Large Thermal Shield Reinforcer I\",\r\n    \"Large Anti-EM Pump II\": \"Large EM Armor Reinforcer II\",\r\n    \"Large Anti-Explosive Pump II\": \"Large Explosive Armor Reinforcer II\",\r\n    \"Large Anti-Kinetic Pump II\": \"Large Kinetic Armor Reinforcer II\",\r\n    \"Large Anti-Thermal Pump II\": \"Large Thermal Armor Reinforcer II\",\r\n    \"Large Anti-EM Screen Reinforcer II\": \"Large EM Shield Reinforcer II\",\r\n    \"Large Anti-Explosive Screen Reinforcer II\": \"Large Explosive Shield Reinforcer II\",\r\n    \"Large Anti-Kinetic Screen Reinforcer II\": \"Large Kinetic Shield Reinforcer II\",\r\n    \"Large Anti-Thermal Screen Reinforcer II\": \"Large Thermal Shield Reinforcer II\",\r\n    \"Khanid Navy Armor EM Hardener\": \"Khanid Navy EM Armor Hardener\",\r\n    \"Khanid Navy Armor Explosive Hardener\": \"Khanid Navy Explosive Armor Hardener\",\r\n    \"Khanid Navy Armor Kinetic Hardener\": \"Khanid Navy Kinetic Armor Hardener\",\r\n    \"Khanid Navy Armor Thermal Hardener\": \"Khanid Navy Thermal Armor Hardener\",\r\n    \"Civilian Anti-Thermal Shield Hardener\": \"Civilian Thermal Shield Hardener\",\r\n    \"Civilian Anti-EM Shield Hardener\": \"Civilian EM Shield Hardener\",\r\n    \"Civilian Anti-Explosive Shield Hardener\": \"Civilian Explosive Shield Hardener\",\r\n    \"Civilian Anti-Kinetic Shield Hardener\": \"Civilian Kinetic Shield Hardener\",\r\n    \"Small Anti-EM Pump I\": \"Small EM Armor Reinforcer I\",\r\n    \"Medium Anti-EM Pump I\": \"Medium EM Armor Reinforcer I\",\r\n    \"Capital Anti-EM Pump I\": \"Capital EM Armor Reinforcer I\",\r\n    \"Small Anti-EM Pump II\": \"Small EM Armor Reinforcer II\",\r\n    \"Medium Anti-EM Pump II\": \"Medium EM Armor Reinforcer II\",\r\n    \"Capital Anti-EM Pump II\": \"Capital EM Armor Reinforcer II\",\r\n    \"Small Anti-Explosive Pump I\": \"Small Explosive Armor Reinforcer I\",\r\n    \"Medium Anti-Explosive Pump I\": \"Medium Explosive Armor Reinforcer I\",\r\n    \"Capital Anti-Explosive Pump I\": \"Capital Explosive Armor Reinforcer I\",\r\n    \"Small Anti-Explosive Pump II\": \"Small Explosive Armor Reinforcer II\",\r\n    \"Medium Anti-Explosive Pump II\": \"Medium Explosive Armor Reinforcer II\",\r\n    \"Capital Anti-Explosive Pump II\": \"Capital Explosive Armor Reinforcer II\",\r\n    \"Small Anti-Kinetic Pump I\": \"Small Kinetic Armor Reinforcer I\",\r\n    \"Medium Anti-Kinetic Pump I\": \"Medium Kinetic Armor Reinforcer I\",\r\n    \"Capital Anti-Kinetic Pump I\": \"Capital Kinetic Armor Reinforcer I\",\r\n    \"Small Anti-Kinetic Pump II\": \"Small Kinetic Armor Reinforcer II\",\r\n    \"Medium Anti-Kinetic Pump II\": \"Medium Kinetic Armor Reinforcer II\",\r\n    \"Capital Anti-Kinetic Pump II\": \"Capital Kinetic Armor Reinforcer II\",\r\n    \"Small Anti-Thermal Pump I\": \"Small Thermal Armor Reinforcer I\",\r\n    \"Medium Anti-Thermal Pump I\": \"Medium Thermal Armor Reinforcer I\",\r\n    \"Capital Anti-Thermal Pump I\": \"Capital Thermal Armor Reinforcer I\",\r\n    \"Small Anti-Thermal Pump II\": \"Small Thermal Armor Reinforcer II\",\r\n    \"Medium Anti-Thermal Pump II\": \"Medium Thermal Armor Reinforcer II\",\r\n    \"Capital Anti-Thermal Pump II\": \"Capital Thermal Armor Reinforcer II\",\r\n    \"Small Anti-EM Screen Reinforcer I\": \"Small EM Shield Reinforcer I\",\r\n    \"Medium Anti-EM Screen Reinforcer I\": \"Medium EM Shield Reinforcer I\",\r\n    \"Capital Anti-EM Screen Reinforcer I\": \"Capital EM Shield Reinforcer I\",\r\n    \"Small Anti-EM Screen Reinforcer II\": \"Small EM Shield Reinforcer II\",\r\n    \"Medium Anti-EM Screen Reinforcer II\": \"Medium EM Shield Reinforcer II\",\r\n    \"Capital Anti-EM Screen Reinforcer II\": \"Capital EM Shield Reinforcer II\",\r\n    \"Small Anti-Explosive Screen Reinforcer I\": \"Small Explosive Shield Reinforcer I\",\r\n    \"Medium Anti-Explosive Screen Reinforcer I\": \"Medium Explosive Shield Reinforcer I\",\r\n    \"Capital Anti-Explosive Screen Reinforcer I\": \"Capital Explosive Shield Reinforcer I\",\r\n    \"Small Anti-Explosive Screen Reinforcer II\": \"Small Explosive Shield Reinforcer II\",\r\n    \"Medium Anti-Explosive Screen Reinforcer II\": \"Medium Explosive Shield Reinforcer II\",\r\n    \"Capital Anti-Explosive Screen Reinforcer II\": \"Capital Explosive Shield Reinforcer II\",\r\n    \"Small Anti-Kinetic Screen Reinforcer I\": \"Small Kinetic Shield Reinforcer I\",\r\n    \"Medium Anti-Kinetic Screen Reinforcer I\": \"Medium Kinetic Shield Reinforcer I\",\r\n    \"Capital Anti-Kinetic Screen Reinforcer I\": \"Capital Kinetic Shield Reinforcer I\",\r\n    \"Small Anti-Kinetic Screen Reinforcer II\": \"Small Kinetic Shield Reinforcer II\",\r\n    \"Medium Anti-Kinetic Screen Reinforcer II\": \"Medium Kinetic Shield Reinforcer II\",\r\n    \"Capital Anti-Kinetic Screen Reinforcer II\": \"Capital Kinetic Shield Reinforcer II\",\r\n    \"Small Anti-Thermal Screen Reinforcer I\": \"Small Thermal Shield Reinforcer I\",\r\n    \"Medium Anti-Thermal Screen Reinforcer I\": \"Medium Thermal Shield Reinforcer I\",\r\n    \"Capital Anti-Thermal Screen Reinforcer I\": \"Capital Thermal Shield Reinforcer I\",\r\n    \"Small Anti-Thermal Screen Reinforcer II\": \"Small Thermal Shield Reinforcer II\",\r\n    \"Medium Anti-Thermal Screen Reinforcer II\": \"Medium Thermal Shield Reinforcer II\",\r\n    \"Capital Anti-Thermal Screen Reinforcer II\": \"Capital Thermal Shield Reinforcer II\",\r\n    \"Enduring Adaptive Invulnerability Shield Hardener\": \"Enduring Multispectrum Shield Hardener\",\r\n    \"Enduring Anti-EM Shield Hardener\": \"Enduring EM Shield Hardener\",\r\n    \"Enduring Anti-Explosive Shield Hardener\": \"Enduring Explosive Shield Hardener\",\r\n    \"Enduring Anti-Kinetic Shield Hardener\": \"Enduring Kinetic Shield Hardener\",\r\n    \"Enduring Anti-Thermal Shield Hardener\": \"Enduring Thermal Shield Hardener\",\r\n    # Converted items\r\n    \"Upgraded Armor EM Hardener I\": \"Experimental Enduring EM Armor Hardener I\",\r\n    \"Upgraded Armor Explosive Hardener I\": \"Experimental Enduring Explosive Armor Hardener I\",\r\n    \"Upgraded Armor Kinetic Hardener I\": \"Experimental Enduring Kinetic Armor Hardener I\",\r\n    \"Upgraded Armor Thermal Hardener I\": \"Experimental Enduring Thermal Armor Hardener I\",\r\n    \"Limited Armor EM Hardener I\": \"Prototype Compact EM Armor Hardener I\",\r\n    \"Limited Armor Explosive Hardener I\": \"Prototype Compact Explosive Armor Hardener I\",\r\n    \"Limited Armor Kinetic Hardener I\": \"Prototype Compact Kinetic Armor Hardener I\",\r\n    \"Limited Armor Thermal Hardener I\": \"Prototype Compact Thermal Armor Hardener I\",\r\n\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseNov2016.py",
    "content": "\"\"\"\r\nConversion pack for Ascension release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Armored Warfare Mindlink\": \"Armored Command Mindlink\",\r\n    \"Siege Warfare Mindlink\": \"Shield Command Mindlink\",\r\n    \"Information Warfare Mindlink\": \"Information Command Mindlink\",\r\n    \"Skirmish Warfare Mindlink\": \"Skirmish Command Mindlink\",\r\n    \"Imperial Navy Warfare Mindlink\": \"Imperial Navy Command Mindlink\",\r\n    \"Federation Navy Warfare Mindlink\": \"Federation Navy Command Mindlink\",\r\n    \"Republic Fleet Warfare Mindlink\": \"Republic Fleet Command Mindlink\",\r\n    \"Caldari Navy Warfare Mindlink\": \"Caldari Navy Command Mindlink\",\r\n    \"Excavator Drone\": \"'Excavator' Mining Drone\"\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseNov2025.py",
    "content": "CONVERSIONS = {\r\n    \"Survey Scanner I\": \"Mining Survey Chipset I\",\r\n    \"Survey Scanner II\": \"Mining Survey Chipset II\",\r\n    \"ML-3 Scoped Survey Scanner\": \"ML-3 Compact Mining Survey Chipset\",\r\n    \"Gatling Afocal Maser I\": \"Gatling Afocal Laser I\",\r\n    \"Dual Afocal Pulse Maser I\": \"Dual Afocal Pulse Laser I\",\r\n    \"Dual Afocal Light Maser I\": \"Dual Afocal Light Laser I\",\r\n    \"Small Focused Afocal Pulse Maser I\": \"Small Focused Afocal Pulse Laser I\",\r\n    \"Small Focused Afocal Maser I\": \"Small Focused Afocal Laser I\",\r\n    \"Quad Afocal Light Maser I\": \"Quad Afocal Light Laser I\",\r\n    \"Focused Afocal Pulse Maser I\": \"Focused Afocal Pulse Laser I\",\r\n    \"Focused Afocal Medium Maser I\": \"Focused Afocal Medium Laser I\",\r\n    \"Heavy Afocal Pulse Maser I\": \"Heavy Afocal Pulse Laser I\",\r\n    \"Heavy Afocal Maser I\": \"Heavy Afocal Laser I\",\r\n    \"Dual Heavy Afocal Pulse Maser I\": \"Dual Heavy Afocal Pulse Laser I\",\r\n    \"Dual Afocal Heavy Maser I\": \"Dual Afocal Heavy Laser I\",\r\n    \"Mega Afocal Pulse Maser I\": \"Mega Afocal Pulse Laser I\",\r\n    \"Mega Afocal Maser I\": \"Mega Afocal Laser I\",\r\n    \"Tachyon Afocal Maser I\": \"Tachyon Afocal Laser I\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseOceanus.py",
    "content": "\"\"\"\r\nConversion pack for Oceanus Module Tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    \"Basic Capacitor Flux Coil\": \"'Basic' Capacitor Flux Coil\",\r\n    \"Basic LADAR Backup Array\": \"Basic Ladar Backup Array\",\r\n    \"LADAR Backup Array I\": \"Ladar Backup Array I\",\r\n    \"LADAR Backup Array II\": \"Ladar Backup Array II\",\r\n    \"'Regard' Remote Capacitor Transmitter\": \"Small 'Regard' Remote Capacitor Transmitter\",\r\n    \"Prototype Freight Sensors\": \"Enduring Cargo Scanner\",\r\n    \"PL-0 Shipment Probe\": \"Scoped Cargo Scanner\",\r\n    \"Reserve LADAR Scanners\": \"Reserve Ladar Scanners\",\r\n    \"Emergency LADAR Scanners\": \"Emergency Ladar Scanners\",\r\n    \"Protected LADAR Backup Cluster I\": \"Protected Ladar Backup Cluster I\",\r\n    \"Sealed LADAR Backup Cluster\": \"Sealed Ladar Backup Cluster\",\r\n    \"Surrogate LADAR Reserve Array I\": \"Surrogate Ladar Reserve Array I\",\r\n    \"F-43 Repetitive LADAR Backup Sensors\": \"F-43 Repetitive Ladar Backup Sensors\",\r\n    \"Surplus LADAR Reserve Array\": \"Surplus Ladar Reserve Array\",\r\n    \"F-42 Reiterative LADAR Backup Sensors\": \"F-42 Reiterative Ladar Backup Sensors\",\r\n    \"Rudimentary Ship Scanner I\": \"Compact Ship Scanner\",\r\n    \"Residual Survey Scanner I\": \"Scoped Survey Scanner\",\r\n    \"Upgraded 'Malkuth' Light Missile Launcher\": \"Compact Light Missile Launcher\",\r\n    \"Limited 'Limos' Light Missile Launcher\": \"Ample Light Missile Launcher\",\r\n    \"Beta Reactor Control: Capacitor Flux I\": \"Compact Capacitor Flux Coil\",\r\n    \"Type-D Power Core Modification: Capacitor Flux\": \"Restrained Capacitor Flux Coil\",\r\n    \"Type-D Power Core Modification: Reaction Control\": \"Compact Reactor Control Unit\",\r\n    \"LADAR Firewall\": \"Ladar Firewall\",\r\n    \"Interior Type-E Cargo Identifier\": \"Scoped Cargo Scanner\",\r\n    \"Ta3 Perfunctory Vessel Probe\": \"Compact Ship Scanner\",\r\n    \"Speculative Ship Identifier I\": \"Compact Ship Scanner\",\r\n    \"Practical Type-E Ship Probe\": \"Compact Ship Scanner\",\r\n    \"ML-3 Amphilotite Mining Probe\": \"Scoped Survey Scanner\",\r\n    \"Rock-Scanning Sensor Array I\": \"Scoped Survey Scanner\",\r\n    \"'Dactyl' Type-E Asteroid Analyzer\": \"Scoped Survey Scanner\",\r\n    \"Partial Power Plant Manager: Capacitor Flux\": \"'Basic' Capacitor Flux Coil\",\r\n    \"Alpha Reactor Control: Capacitor Flux\": \"'Basic' Capacitor Flux Coil\",\r\n    \"Type-E Power Core Modification: Capacitor Flux\": \"'Basic' Capacitor Flux Coil\",\r\n    \"Marked Generator Refitting: Capacitor Flux\": \"'Basic' Capacitor Flux Coil\",\r\n    \"Local Power Plant Manager: Capacitor Flux I\": \"Restrained Capacitor Flux Coil\",\r\n    \"Mark I Generator Refitting: Capacitor Flux\": \"Compact Capacitor Flux Coil\",\r\n    \"Nanoelectrical Co-Processor\": \"Basic Co-Processor\",\r\n    \"Nanomechanical CPU Enhancer\": \"Basic Co-Processor\",\r\n    \"Quantum Co-Processor\": \"Basic Co-Processor\",\r\n    \"Photonic CPU Enhancer\": \"Basic Co-Processor\",\r\n    \"Nanomechanical CPU Enhancer I\": \"Upgraded Co-Processor\",\r\n    \"Quantum Co-Processor I\": \"Upgraded Co-Processor\",\r\n    \"Photonic CPU Enhancer I\": \"Upgraded Co-Processor\",\r\n    \"Partial Power Plant Manager: Reaction Control\": \"Basic Reactor Control Unit\",\r\n    \"Alpha Reactor Control: Reaction Control\": \"Basic Reactor Control Unit\",\r\n    \"Marked Generator Refitting: Reaction Control\": \"Basic Reactor Control Unit\",\r\n    \"Local Power Plant Manager: Reaction Control I is now\": \"Compact Reactor Control Unit\",\r\n    \"Mark I Generator Refitting: Reaction Control\": \"Compact Reactor Control Unit\",\r\n    \"Beta Reactor Control: Reaction Control I\": \"Compact Reactor Control Unit\",\r\n    \"Micro B88 Core Augmentation\": \"Compact Micro Auxiliary Power Core\",\r\n    \"Micro K-Exhaust Core Augmentation\": \"Compact Micro Auxiliary Power Core\",\r\n    \"Micro 'Vigor' Core Augmentation\": \"Navy Micro Auxiliary Power Core\",\r\n    \"Prototype 'Arbalest' Light Missile Launcher\": \"Compact Light Missile Launcher\",\r\n    \"Experimental TE-2100 Light Missile Launcher\": \"Ample Light Missile Launcher\"\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseOct2020.py",
    "content": "\"\"\"\r\nConversion pack for October 2020 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"'Hypnos' Signal Distortion Amplifier I\": \"Hypnos Compact Signal Distortion Amplifier I\",\r\n    # Converted items\r\n    \"Initiated Signal Distortion Amplifier I\": \"Hypnos Compact Signal Distortion Amplifier I\",\r\n    \"Induced Signal Distortion Amplifier I\": \"Hypnos Compact Signal Distortion Amplifier I\",\r\n    \"Compulsive Signal Distortion Amplifier I\": \"Hypnos Compact Signal Distortion Amplifier I\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseOct2021.py",
    "content": "\"\"\"\r\nConversion pack for October 2021 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Quafe Zero\": \"Quafe Zero Classic\",\r\n    \"Exigent Sentry Drone Navigation Mutaplasmid\": \"Exigent Sentry Drone Precision Mutaplasmid\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseParallax.py",
    "content": "\"\"\"\r\nConversion pack for Parallax renames\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Basic Thermic Plating\": \"Basic Thermal Plating\",\r\n    \"Thermic Plating I\": \"Thermal Plating I\",\r\n    \"Thermic Plating II\": \"Thermal Plating II\",\r\n    \"Basic Thermic Dissipation Amplifier\": \"Basic Thermal Dissipation Amplifier\",\r\n    \"Thermic Dissipation Field I\": \"Thermal Dissipation Field I\",\r\n    \"Thermic Dissipation Field II\": \"Thermal Dissipation Field II\",\r\n    \"Thermic Dissipation Amplifier I\": \"Thermal Dissipation Amplifier I\",\r\n    \"Thermic Dissipation Amplifier II\": \"Thermal Dissipation Amplifier II\",\r\n    \"Supplemental Thermic Dissipation Amplifier\": \"Supplemental Thermal Dissipation Amplifier\",\r\n    \"Upgraded Thermic Dissipation Amplifier I\": \"Upgraded Thermal Dissipation Amplifier I\",\r\n    \"Limited Thermic Dissipation Field I\": \"Limited Thermal Dissipation Field I\",\r\n    \"Basic Energized Thermic Membrane\": \"Basic Energized Thermal Membrane\",\r\n    \"Energized Thermic Membrane I\": \"Energized Thermal Membrane I\",\r\n    \"Energized Thermic Membrane II\": \"Energized Thermal Membrane II\",\r\n    \"Armor Thermic Hardener I\": \"Armor Thermal Hardener I\",\r\n    \"Thermic Shield Compensation\": \"Thermal Shield Compensation\",\r\n    \"Armor Thermic Hardener II\": \"Armor Thermal Hardener II\",\r\n    \"Dread Guristas Thermic Dissipation Field\": \"Dread Guristas Thermal Dissipation Field\",\r\n    \"True Sansha Armor Thermic Hardener\": \"True Sansha Armor Thermal Hardener\",\r\n    \"Dark Blood Armor Thermic Hardener\": \"Dark Blood Armor Thermal Hardener\",\r\n    \"Domination Armor Thermic Hardener\": \"Domination Armor Thermal Hardener\",\r\n    \"Domination Thermic Dissipation Field\": \"Domination Thermal Dissipation Field\",\r\n    \"Domination Thermic Plating\": \"Domination Thermal Plating\",\r\n    \"True Sansha Thermic Plating\": \"True Sansha Thermal Plating\",\r\n    \"Dark Blood Thermic Plating\": \"Dark Blood Thermal Plating\",\r\n    \"Domination Thermic Dissipation Amplifier\": \"Domination Thermal Dissipation Amplifier\",\r\n    \"Dread Guristas Thermic Dissipation Amplifier\": \"Dread Guristas Thermal Dissipation Amplifier\",\r\n    \"Shadow Serpentis Thermic Plating\": \"Shadow Serpentis Thermal Plating\",\r\n    \"Shadow Serpentis Armor Thermic Hardener\": \"Shadow Serpentis Armor Thermal Hardener\",\r\n    \"Dark Blood Energized Thermic Membrane\": \"Dark Blood Energized Thermal Membrane\",\r\n    \"True Sansha Energized Thermic Membrane\": \"True Sansha Energized Thermal Membrane\",\r\n    \"Shadow Serpentis Energized Thermic Membrane\": \"Shadow Serpentis Energized Thermal Membrane\",\r\n    \"Mizuro's Modified Thermic Plating\": \"Mizuro's Modified Thermal Plating\",\r\n    \"Gotan's Modified Thermic Plating\": \"Gotan's Modified Thermal Plating\",\r\n    \"Hakim's Modified Thermic Dissipation Amplifier\": \"Hakim's Modified Thermal Dissipation Amplifier\",\r\n    \"Tobias' Modified Thermic Dissipation Amplifier\": \"Tobias' Modified Thermal Dissipation Amplifier\",\r\n    \"Kaikka's Modified Thermic Dissipation Amplifier\": \"Kaikka's Modified Thermal Dissipation Amplifier\",\r\n    \"Thon's Modified Thermic Dissipation Amplifier\": \"Thon's Modified Thermal Dissipation Amplifier\",\r\n    \"Vepas' Modified Thermic Dissipation Amplifier\": \"Vepas' Modified Thermal Dissipation Amplifier\",\r\n    \"Estamel's Modified Thermic Dissipation Amplifier\": \"Estamel's Modified Thermal Dissipation Amplifier\",\r\n    \"Kaikka's Modified Thermic Dissipation Field\": \"Kaikka's Modified Thermal Dissipation Field\",\r\n    \"Thon's Modified Thermic Dissipation Field\": \"Thon's Modified Thermal Dissipation Field\",\r\n    \"Vepas's Modified Thermic Dissipation Field\": \"Vepas's Modified Thermal Dissipation Field\",\r\n    \"Estamel's Modified Thermic Dissipation Field\": \"Estamel's Modified Thermal Dissipation Field\",\r\n    \"Brokara's Modified Thermic Plating\": \"Brokara's Modified Thermal Plating\",\r\n    \"Tairei's Modified Thermic Plating\": \"Tairei's Modified Thermal Plating\",\r\n    \"Selynne's Modified Thermic Plating\": \"Selynne's Modified Thermal Plating\",\r\n    \"Raysere's Modified Thermic Plating\": \"Raysere's Modified Thermal Plating\",\r\n    \"Vizan's Modified Thermic Plating\": \"Vizan's Modified Thermal Plating\",\r\n    \"Ahremen's Modified Thermic Plating\": \"Ahremen's Modified Thermal Plating\",\r\n    \"Chelm's Modified Thermic Plating\": \"Chelm's Modified Thermal Plating\",\r\n    \"Draclira's Modified Thermic Plating\": \"Draclira's Modified Thermal Plating\",\r\n    \"Brokara's Modified Energized Thermic Membrane\": \"Brokara's Modified Energized Thermal Membrane\",\r\n    \"Tairei's Modified Energized Thermic Membrane\": \"Tairei's Modified Energized Thermal Membrane\",\r\n    \"Selynne's Modified Energized Thermic Membrane\": \"Selynne's Modified Energized Thermal Membrane\",\r\n    \"Raysere's Modified Energized Thermic Membrane\": \"Raysere's Modified Energized Thermal Membrane\",\r\n    \"Vizan's Modified Energized Thermic Membrane\": \"Vizan's Modified Energized Thermal Membrane\",\r\n    \"Ahremen's Modified Energized Thermic Membrane\": \"Ahremen's Modified Energized Thermal Membrane\",\r\n    \"Chelm's Modified Energized Thermic Membrane\": \"Chelm's Modified Energized Thermal Membrane\",\r\n    \"Draclira's Modified Energized Thermic Membrane\": \"Draclira's Modified Energized Thermal Membrane\",\r\n    \"Brokara's Modified Armor Thermic Hardener\": \"Brokara's Modified Armor Thermal Hardener\",\r\n    \"Tairei's Modified Armor Thermic Hardener\": \"Tairei's Modified Armor Thermal Hardener\",\r\n    \"Selynne's Modified Armor Thermic Hardener\": \"Selynne's Modified Armor Thermal Hardener\",\r\n    \"Raysere's Modified Armor Thermic Hardener\": \"Raysere's Modified Armor Thermal Hardener\",\r\n    \"Vizan's Modified Armor Thermic Hardener\": \"Vizan's Modified Armor Thermal Hardener\",\r\n    \"Ahremen's Modified Armor Thermic Hardener\": \"Ahremen's Modified Armor Thermal Hardener\",\r\n    \"Chelm's Modified Armor Thermic Hardener\": \"Chelm's Modified Armor Thermal Hardener\",\r\n    \"Draclira's Modified Armor Thermic Hardener\": \"Draclira's Modified Armor Thermal Hardener\",\r\n    \"Brynn's Modified Thermic Plating\": \"Brynn's Modified Thermal Plating\",\r\n    \"Tuvan's Modified Thermic Plating\": \"Tuvan's Modified Thermal Plating\",\r\n    \"Setele's Modified Thermic Plating\": \"Setele's Modified Thermal Plating\",\r\n    \"Cormack's Modified Thermic Plating\": \"Cormack's Modified Thermal Plating\",\r\n    \"Brynn's Modified Energized Thermic Membrane\": \"Brynn's Modified Energized Thermal Membrane\",\r\n    \"Tuvan's Modified Energized Thermic Membrane\": \"Tuvan's Modified Energized Thermal Membrane\",\r\n    \"Setele's Modified Energized Thermic Membrane\": \"Setele's Modified Energized Thermal Membrane\",\r\n    \"Cormack's Modified Energized Thermic Membrane\": \"Cormack's Modified Energized Thermal Membrane\",\r\n    \"Brynn's Modified Armor Thermic Hardener\": \"Brynn's Modified Armor Thermal Hardener\",\r\n    \"Tuvan's Modified Armor Thermic Hardener\": \"Tuvan's Modified Armor Thermal Hardener\",\r\n    \"Setele's Modified Armor Thermic Hardener\": \"Setele's Modified Armor Thermal Hardener\",\r\n    \"Cormack's Modified Armor Thermic Hardener\": \"Cormack's Modified Armor Thermal Hardener\",\r\n    \"Shaqil's Modified Energized Thermic Membrane\": \"Shaqil's Modified Energized Thermal Membrane\",\r\n    \"Imperial Navy Thermic Plating\": \"Imperial Navy Thermal Plating\",\r\n    \"Republic Fleet Thermic Plating\": \"Republic Fleet Thermal Plating\",\r\n    \"Imperial Navy Armor Thermic Hardener\": \"Imperial Navy Armor Thermal Hardener\",\r\n    \"Republic Fleet Armor Thermic Hardener\": \"Republic Fleet Armor Thermal Hardener\",\r\n    \"Imperial Navy Energized Thermic Membrane\": \"Imperial Navy Energized Thermal Membrane\",\r\n    \"Federation Navy Energized Thermic Membrane\": \"Federation Navy Energized Thermal Membrane\",\r\n    \"Caldari Navy Thermic Dissipation Amplifier\": \"Caldari Navy Thermal Dissipation Amplifier\",\r\n    \"Republic Fleet Thermic Dissipation Amplifier\": \"Republic Fleet Thermal Dissipation Amplifier\",\r\n    \"Upgraded Thermic Plating I\": \"Upgraded Thermal Plating I\",\r\n    \"Limited Thermic Plating I\": \"Limited Thermal Plating I\",\r\n    \"Experimental Thermic Plating I\": \"Experimental Thermal Plating I\",\r\n    \"Prototype Thermic Plating I\": \"Prototype Thermal Plating I\",\r\n    \"Upgraded Armor Thermic Hardener I\": \"Upgraded Armor Thermal Hardener I\",\r\n    \"Limited Armor Thermic Hardener I\": \"Limited Armor Thermal Hardener I\",\r\n    \"Experimental Armor Thermic Hardener I\": \"Experimental Armor Thermal Hardener I\",\r\n    \"Prototype Armor Thermic Hardener I\": \"Prototype Armor Thermal Hardener I\",\r\n    \"Upgraded Energized Thermic Membrane I\": \"Upgraded Energized Thermal Membrane I\",\r\n    \"Limited Energized Thermic Membrane I\": \"Limited Energized Thermal Membrane I\",\r\n    \"Experimental Energized Thermic Membrane I\": \"Experimental Energized Thermal Membrane I\",\r\n    \"Prototype Energized Thermic Membrane I\": \"Prototype Energized Thermal Membrane I\",\r\n    \"Caldari Navy Thermic Dissipation Field\": \"Caldari Navy Thermal Dissipation Field\",\r\n    \"Ammatar Navy Armor Thermic Hardener\": \"Ammatar Navy Armor Thermal Hardener\",\r\n    \"Ammatar Navy Energized Thermic Membrane\": \"Ammatar Navy Energized Thermal Membrane\",\r\n    \"Federation Navy Thermic Plating\": \"Federation Navy Thermal Plating\",\r\n    \"Federation Navy Armor Thermic Hardener\": \"Federation Navy Armor Thermal Hardener\",\r\n    \"Corpii C-Type Thermic Plating\": \"Corpii C-Type Thermal Plating\",\r\n    \"Centii C-Type Thermic Plating\": \"Centii C-Type Thermal Plating\",\r\n    \"Corpii B-Type Thermic Plating\": \"Corpii B-Type Thermal Plating\",\r\n    \"Centii B-Type Thermic Plating\": \"Centii B-Type Thermal Plating\",\r\n    \"Corpii A-Type Thermic Plating\": \"Corpii A-Type Thermal Plating\",\r\n    \"Centii A-Type Thermic Plating\": \"Centii A-Type Thermal Plating\",\r\n    \"Coreli C-Type Thermic Plating\": \"Coreli C-Type Thermal Plating\",\r\n    \"Coreli B-Type Thermic Plating\": \"Coreli B-Type Thermal Plating\",\r\n    \"Coreli A-Type Thermic Plating\": \"Coreli A-Type Thermal Plating\",\r\n    \"Corelum C-Type Energized Thermic Membrane\": \"Corelum C-Type Energized Thermal Membrane\",\r\n    \"Corelum B-Type Energized Thermic Membrane\": \"Corelum B-Type Energized Thermal Membrane\",\r\n    \"Corelum A-Type Energized Thermic Membrane\": \"Corelum A-Type Energized Thermal Membrane\",\r\n    \"Corpum C-Type Energized Thermic Membrane\": \"Corpum C-Type Energized Thermal Membrane\",\r\n    \"Centum C-Type Energized Thermic Membrane\": \"Centum C-Type Energized Thermal Membrane\",\r\n    \"Corpum B-Type Energized Thermic Membrane\": \"Corpum B-Type Energized Thermal Membrane\",\r\n    \"Centum B-Type Energized Thermic Membrane\": \"Centum B-Type Energized Thermal Membrane\",\r\n    \"Corpum A-Type Energized Thermic Membrane\": \"Corpum A-Type Energized Thermal Membrane\",\r\n    \"Centum A-Type Energized Thermic Membrane\": \"Centum A-Type Energized Thermal Membrane\",\r\n    \"Corpus C-Type Armor Thermic Hardener\": \"Corpus C-Type Armor Thermal Hardener\",\r\n    \"Centus C-Type Armor Thermic Hardener\": \"Centus C-Type Armor Thermal Hardener\",\r\n    \"Corpus B-Type Armor Thermic Hardener\": \"Corpus B-Type Armor Thermal Hardener\",\r\n    \"Centus B-Type Armor Thermic Hardener\": \"Centus B-Type Armor Thermal Hardener\",\r\n    \"Corpus A-Type Armor Thermic Hardener\": \"Corpus A-Type Armor Thermal Hardener\",\r\n    \"Centus A-Type Armor Thermic Hardener\": \"Centus A-Type Armor Thermal Hardener\",\r\n    \"Corpus X-Type Armor Thermic Hardener\": \"Corpus X-Type Armor Thermal Hardener\",\r\n    \"Centus X-Type Armor Thermic Hardener\": \"Centus X-Type Armor Thermal Hardener\",\r\n    \"Core C-Type Armor Thermic Hardener\": \"Core C-Type Armor Thermal Hardener\",\r\n    \"Core B-Type Armor Thermic Hardener\": \"Core B-Type Armor Thermal Hardener\",\r\n    \"Core A-Type Armor Thermic Hardener\": \"Core A-Type Armor Thermal Hardener\",\r\n    \"Core X-Type Armor Thermic Hardener\": \"Core X-Type Armor Thermal Hardener\",\r\n    \"Pithum C-Type Thermic Dissipation Amplifier\": \"Pithum C-Type Thermal Dissipation Amplifier\",\r\n    \"Pithum B-Type Thermic Dissipation Amplifier\": \"Pithum B-Type Thermal Dissipation Amplifier\",\r\n    \"Pithum A-Type Thermic Dissipation Amplifier\": \"Pithum A-Type Thermal Dissipation Amplifier\",\r\n    \"Gistum C-Type Thermic Dissipation Amplifier\": \"Gistum C-Type Thermal Dissipation Amplifier\",\r\n    \"Gistum B-Type Thermic Dissipation Amplifier\": \"Gistum B-Type Thermal Dissipation Amplifier\",\r\n    \"Gistum A-Type Thermic Dissipation Amplifier\": \"Gistum A-Type Thermal Dissipation Amplifier\",\r\n    \"Gist C-Type Thermic Dissipation Field\": \"Gist C-Type Thermal Dissipation Field\",\r\n    \"Pith C-Type Thermic Dissipation Field\": \"Pith C-Type Thermal Dissipation Field\",\r\n    \"Gist B-Type Thermic Dissipation Field\": \"Gist B-Type Thermal Dissipation Field\",\r\n    \"Pith B-Type Thermic Dissipation Field\": \"Pith B-Type Thermal Dissipation Field\",\r\n    \"Gist A-Type Thermic Dissipation Field\": \"Gist A-Type Thermal Dissipation Field\",\r\n    \"Pith A-Type Thermic Dissipation Field\": \"Pith A-Type Thermal Dissipation Field\",\r\n    \"Gist X-Type Thermic Dissipation Field\": \"Gist X-Type Thermal Dissipation Field\",\r\n    \"Pith X-Type Thermic Dissipation Field\": \"Pith X-Type Thermal Dissipation Field\",\r\n    \"'High Noon' Thermic Dissipation Amplifier\": \"'High Noon' Thermal Dissipation Amplifier\",\r\n    \"'Desert Heat' Thermic Dissipation Field\": \"'Desert Heat' Thermal Dissipation Field\",\r\n    \"Thermic Armor Compensation\": \"Thermal Armor Compensation\",\r\n    \"'Moonshine' Energized Thermic Membrane I\": \"'Moonshine' Energized Thermal Membrane I\",\r\n    \"Large Anti-Thermic Pump I\": \"Large Anti-Thermal Pump I\",\r\n    \"Large Anti-Thermic Pump II\": \"Large Anti-Thermal Pump II\",\r\n    \"Khanid Navy Armor Thermic Hardener\": \"Khanid Navy Armor Thermal Hardener\",\r\n    \"Khanid Navy Energized Thermic Membrane\": \"Khanid Navy Energized Thermal Membrane\",\r\n    \"Khanid Navy Thermic Plating\": \"Khanid Navy Thermal Plating\",\r\n    \"Civilian Thermic Dissipation Field\": \"Civilian Thermal Dissipation Field\",\r\n    \"Small Anti-Thermic Pump I\": \"Small Anti-Thermal Pump I\",\r\n    \"Medium Anti-Thermic Pump I\": \"Medium Anti-Thermal Pump I\",\r\n    \"Capital Anti-Thermic Pump I\": \"Capital Anti-Thermal Pump I\",\r\n    \"Small Anti-Thermic Pump II\": \"Small Anti-Thermal Pump II\",\r\n    \"Medium Anti-Thermic Pump II\": \"Medium Anti-Thermal Pump II\",\r\n    \"Capital Anti-Thermic Pump II\": \"Capital Anti-Thermal Pump II\",\r\n    \"Ammatar Navy Thermic Plating\": \"Ammatar Navy Thermal Plating\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseProteus.py",
    "content": "\"\"\"\r\nConversion pack for Proteus Module Tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"Basic Capacitor Recharger\": \"'Basic' Capacitor Recharger\",\r\n    \"Basic Capacitor Power Relay\": \"'Basic' Capacitor Power Relay\",\r\n    \"Basic Overdrive Injector System\": \"'Basic' Overdrive Injector System\",\r\n    \"Basic Reinforced Bulkheads\": \"'Basic' Reinforced Bulkheads\",\r\n    \"Basic Nanofiber Internal Structure\": \"'Basic' Nanofiber Internal Structure\",\r\n    \"Basic Expanded Cargohold\": \"'Basic' Expanded Cargohold\",\r\n    \"Basic Inertia Stabilizers\": \"'Basic' Inertial Stabilizers\",\r\n    \"Inertia Stabilizers I\": \"Inertial Stabilizers I\",\r\n    \"Inertia Stabilizers II\": \"Inertial Stabilizers II\",\r\n    \"Basic Power Diagnostic System\": \"'Basic' Power Diagnostic System\",\r\n    \"Eutectic Capacitor Charge Array\": \"Eutectic Compact Cap Recharger\",\r\n    \"Cu Vapor Particle Bore Stream I\": \"Particle Bore Compact Mining Laser\",\r\n    \"Type-D Altered SS Expanded Cargo\": \"Type-D Restrained Expanded Cargo\",\r\n    \"Type-D Altered SS Inertial Stabilizers\": \"Type-D Restrained Inertial Stabilizers\",\r\n    \"Type-D Altered SS Nanofiber Structure\": \"Type-D Restrained Nanofiber Structure\",\r\n    \"Type-D Altered SS Overdrive Injector\": \"Type-D Restrained Overdrive Injector\",\r\n    \"Type-D Altered SS Reinforced Bulkheads\": \"Type-D Restrained Reinforced Bulkheads\",\r\n    \"Mark I Modified SS Reinforced Bulkheads\": \"Mark I Compact Reinforced Bulkheads\",\r\n    \"Type-D Power Core Modification: Capacitor Power Relay\": \"Type-D Restrained Capacitor Power Relay\",\r\n    \"Mark I Generator Refitting: Capacitor Power Relay\": \"Mark I Compact Capacitor Power Relay\",\r\n    \"Mark I Generator Refitting: Diagnostic System\": \"Mark I Compact Power Diagnostic System\",\r\n    \"Synthetic Hull Conversion Overdrive Injector I\": \"Synthetic Hull Conversion Overdrive Injector\",\r\n    \"Synthetic Hull Conversion Reinforced Bulkheads I\": \"Synthetic Hull Conversion Reinforced Bulkheads\",\r\n    \"Synthetic Hull Conversion Inertia Stabilizers I\": \"Synthetic Hull Conversion Inertia Stabilizers\",\r\n    \"Synthetic Hull Conversion Nanofiber Structure I\": \"Synthetic Hull Conversion Nanofiber Structure\",\r\n    \"Elara Mining Laser Upgrade\": \"Elara Restrained Mining Laser Upgrade\",\r\n    \"Carpo Mining Laser Upgrade\": \"'Carpo' Mining Laser Upgrade\",\r\n    \"Aoede Mining Laser Upgrade\": \"'Aoede' Mining Laser Upgrade\",\r\n    \"Frigoris Ice Harvester Upgrade\": \"Frigoris Restrained Ice Harvester Upgrade\",\r\n    \"Anguis Ice Harvester Upgrade\": \"'Anguis' Ice Harvester Upgrade\",\r\n    \"Ingenii Ice Harvester Upgrade\": \"'Ingenii' Ice Harvester Upgrade\",\r\n    \"Limited Expanded 'Archiver' Cargo I\": \"Limited Expanded 'Archiver' Cargo\",\r\n    \"EP-S Gaussian Excavation Pulse\": \"EP-S Gaussian Scoped Mining Laser\",\r\n\r\n    # Converted items\r\n    \"Alpha Reactor Control: Diagnostic System\": \"'Basic' Power Diagnostic System\",\r\n    \"Marked Generator Refitting: Diagnostic System\": \"'Basic' Power Diagnostic System\",\r\n    \"Partial Power Plant Manager: Diagnostic System\": \"'Basic' Power Diagnostic System\",\r\n    \"Type-E Power Core Modification: Diagnostic System\": \"'Basic' Power Diagnostic System\",\r\n    \"Type-E Power Core Modification: Reaction Control\": \"'Basic' Power Diagnostic System\",\r\n    \"Local Hull Conversion Reinforced Bulkheads I\": \"Type-D Restrained Reinforced Bulkheads\",\r\n    \"Beta Hull Mod Reinforced Bulkheads\": \"Mark I Compact Reinforced Bulkheads\",\r\n    \"Beta Hull Mod Inertial Stabilizers\": \"Type-D Restrained Inertial Stabilizers\",\r\n    \"Local Hull Conversion Inertial Stabilizers I\": \"Type-D Restrained Inertial Stabilizers\",\r\n    \"Mark I Modified SS Inertial Stabilizers\": \"Type-D Restrained Inertial Stabilizers\",\r\n    \"Marked Modified SS Inertial Stabilizers\": \"Type-D Restrained Inertial Stabilizers\",\r\n    \"Beta Reactor Control: Diagnostic System I\": \"Mark I Compact Power Diagnostic System\",\r\n    \"Local Power Plant Manager: Diagnostic System I\": \"Mark I Compact Power Diagnostic System\",\r\n    \"Type-D Power Core Modification: Diagnostic System\": \"Mark I Compact Power Diagnostic System\",\r\n    \"Alpha Hull Mod Expanded Cargo\": \"'Basic' Expanded Cargohold\",\r\n    \"Marked Modified SS Expanded Cargo\": \"'Basic' Expanded Cargohold\",\r\n    \"Partial Hull Conversion Expanded Cargo\": \"'Basic' Expanded Cargohold\",\r\n    \"Type-E Altered SS Expanded Cargo\": \"'Basic' Expanded Cargohold\",\r\n    \"AGM Capacitor Charge Array\": \"'Basic' Capacitor Recharger\",\r\n    \"F-a10 Buffer Capacitor Regenerator\": \"'Basic' Capacitor Recharger\",\r\n    \"Industrial Capacitor Recharger\": \"'Basic' Capacitor Recharger\",\r\n    \"Secondary Parallel Link-Capacitor\": \"'Basic' Capacitor Recharger\",\r\n    \"Beta Reactor Control: Capacitor Power Relay I\": \"Mark I Compact Capacitor Power Relay\",\r\n    \"Alpha Hull Mod Overdrive Injector\": \"'Basic' Overdrive Injector System\",\r\n    \"Marked Modified SS Overdrive Injector\": \"'Basic' Overdrive Injector System\",\r\n    \"Partial Hull Conversion Overdrive Injector\": \"'Basic' Overdrive Injector System\",\r\n    \"Type-E Altered SS Overdrive Injector\": \"'Basic' Overdrive Injector System\",\r\n    \"Erin Mining Laser Upgrade\": \"Elara Restrained Mining Laser Upgrade\",\r\n    \"Alpha Hull Mod Reinforced Bulkheads\": \"'Basic' Reinforced Bulkheads\",\r\n    \"Marked Modified SS Reinforced Bulkheads\": \"'Basic' Reinforced Bulkheads\",\r\n    \"Partial Hull Conversion Reinforced Bulkheads\": \"'Basic' Reinforced Bulkheads\",\r\n    \"Type-E Altered SS Reinforced Bulkheads\": \"'Basic' Reinforced Bulkheads\",\r\n    \"Alpha Hull Mod Nanofiber Structure\": \"'Basic' Nanofiber Internal Structure\",\r\n    \"Marked Modified SS Nanofiber Structure\": \"'Basic' Nanofiber Internal Structure\",\r\n    \"Partial Hull Conversion Nanofiber Structure\": \"'Basic' Nanofiber Internal Structure\",\r\n    \"Type-E Altered SS Nanofiber Structure\": \"'Basic' Nanofiber Internal Structure\",\r\n    \"Crisium Ice Harvester Upgrade\": \"Frigoris Restrained Ice Harvester Upgrade\",\r\n    \"Beta Hull Mod Nanofiber Structure\": \"Type-D Restrained Nanofiber Structure\",\r\n    \"Local Hull Conversion Nanofiber Structure I\": \"Type-D Restrained Nanofiber Structure\",\r\n    \"Mark I Modified SS Nanofiber Structure\": \"Type-D Restrained Nanofiber Structure\",\r\n    \"Local Power Plant Manager: Capacity Power Relay I\": \"Type-D Restrained Capacitor Power Relay\",\r\n    \"EP-R Argon Ion Basic Excavation Pulse\": \"Single Diode Basic Mining Laser\",\r\n    \"Rubin Basic Particle Bore Stream\": \"Single Diode Basic Mining Laser\",\r\n    \"Xenon Basic Drilling Beam\": \"Single Diode Basic Mining Laser\",\r\n    \"Barton Reactor Capacitor Recharger I\": \"Eutectic Compact Cap Recharger\",\r\n    \"F-b10 Nominal Capacitor Regenerator\": \"Eutectic Compact Cap Recharger\",\r\n    \"Fixed Parallel Link-Capacitor I\": \"Eutectic Compact Cap Recharger\",\r\n    \"Beta Hull Mod Expanded Cargo\": \"Type-D Restrained Expanded Cargo\",\r\n    \"Local Hull Conversion Expanded Cargo I\": \"Type-D Restrained Expanded Cargo\",\r\n    \"Mark I Modified SS Expanded Cargo\": \"Type-D Restrained Expanded Cargo\",\r\n    \"Dual Diode Mining Laser I\": \"EP-S Gaussian Scoped Mining Laser\",\r\n    \"Alpha Hull Mod Inertial Stabilizers\": \"'Basic' Inertial Stabilizers\",\r\n    \"Partial Hull Conversion Inertial Stabilizers\": \"'Basic' Inertial Stabilizers\",\r\n    \"Type-E Altered SS Inertial Stabilizers\": \"'Basic' Inertial Stabilizers\",\r\n    \"Alpha Reactor Control: Capacitor Power Relay\": \"'Basic' Capacitor Power Relay\",\r\n    \"Marked Generator Refitting: Capacitor Power Relay\": \"'Basic' Capacitor Power Relay\",\r\n    \"Partial Power Plant Manager: Capacity Power Relay\": \"'Basic' Capacitor Power Relay\",\r\n    \"Type-E Power Core Modification: Capacitor Power Relay\": \"'Basic' Capacitor Power Relay\",\r\n    \"XeCl Drilling Beam I\": \"Particle Bore Compact Mining Laser\",\r\n    \"Beta Hull Mod Overdrive Injector\": \"Type-D Restrained Overdrive Injector\",\r\n    \"Local Hull Conversion Overdrive Injector I\": \"Type-D Restrained Overdrive Injector\",\r\n    \"Mark I Modified SS Overdrive Injector\": \"Type-D Restrained Overdrive Injector\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseSep2020.py",
    "content": "\"\"\"\r\nConversion pack for September 2020 release\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"'Stalwart' Particle Field Magnifier\": \"Stalwart Restrained Shield Boost Amplifier\",\r\n    \"'Copasetic' Particle Field Acceleration\": \"Copasetic Compact Shield Boost Amplifier\",\r\n    # Converted items\r\n    \"5a Prototype Shield Support I\": \"Stalwart Restrained Shield Boost Amplifier\",\r\n    \"Ionic Field Accelerator I\": \"Copasetic Compact Shield Boost Amplifier\"\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseSep2023.py",
    "content": "\"\"\"\r\nActually renamed somewhere during summer, but updated only in september\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    # Renamed items\r\n    \"‘Atgeir’ Explosive Disruptive Lance\": \"'Atgeir' Explosive Disruptive Lance\",\r\n    \"‘Steel Yari’ Kinetic Disruptive Lance\": \"'Steel Yari' Kinetic Disruptive Lance\",\r\n    \"‘Sarissa’ Thermal Disruptive Lance\": \"'Sarissa' Thermal Disruptive Lance\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseSep2024.py",
    "content": "CONVERSIONS = {\r\n    # Renamed items\r\n    \"Large Rudimentary Concussion Bomb I\": \"'Concussion' Compact Large Graviton Smartbomb\",\r\n    \"Small Rudimentary Concussion Bomb I\": \"'Concussion' Compact Small Graviton Smartbomb\",\r\n    \"Large 'Vehemence' Shockwave Charge\": \"'Vehemence' Compact Large EMP Smartbomb\",\r\n    \"Small 'Vehemence' Shockwave Charge\": \"'Vehemence' Compact Small EMP Smartbomb\",\r\n    \"Medium Rudimentary Concussion Bomb I\": \"'Concussion' Compact Medium Graviton Smartbomb\",\r\n    \"Medium 'Vehemence' Shockwave Charge\": \"'Vehemence' Compact Medium EMP Smartbomb\",\r\n    \"Small 'Notos' Explosive Charge I\": \"'Notos' Compact Small Proton Smartbomb\",\r\n    \"Medium 'Notos' Explosive Charge I\": \"'Notos' Compact Medium Proton Smartbomb\",\r\n    \"Large 'Notos' Explosive Charge I\": \"'Notos' Compact Large Proton Smartbomb\",\r\n    \"Small YF-12a Smartbomb\": \"'YF-12a' Compact Small Plasma Smartbomb\",\r\n    \"Medium YF-12a Smartbomb\": \"'YF-12a' Compact Medium Plasma Smartbomb\",\r\n    \"Large YF-12a Smartbomb\": \"'YF-12a' Compact Large Plasma Smartbomb\",\r\n    \"Small Degenerative Concussion Bomb I\": \"'Degenerative' Small Proton Smartbomb\",\r\n    \"Small Degenerative Concussion Bomb I Blueprint\": \"'Degenerative' Small Proton Smartbomb Blueprint\",\r\n    \"Medium Degenerative Concussion Bomb I\": \"'Dwindling' Medium Proton Smartbomb\",\r\n    \"Medium Degenerative Concussion Bomb I Blueprint\": \"'Dwindling' Medium Proton Smartbomb Blueprint\",\r\n    \"Large Degenerative Concussion Bomb I\": \"'Regressive' Large Proton Smartbomb\",\r\n    \"Large Degenerative Concussion Bomb I Blueprint\": \"'Regressive' Large Proton Smartbomb Blueprint\",\r\n    \"'Pike' Small EMP Smartbomb I\": \"'Pike' Small EMP Smartbomb\",\r\n    \"'Lance' Medium EMP Smartbomb I\": \"'Lance' Medium EMP Smartbomb\",\r\n    \"'Warhammer' Large EMP Smartbomb I\": \"'Warhammer' Large EMP Smartbomb\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseSep2025.py",
    "content": "CONVERSIONS = {\r\n    \"'Cactus' Modified Kinetic Shield Amplifier\": \"'Cactus' Kinetic Shield Amplifier\",\r\n    \"Consortium Vorton Tuning system\": \"Consortium Vorton Tuning System\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/releaseTiamat.py",
    "content": "\"\"\"\r\nConversion pack for Tiamat Module Tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    \"Enduring Cargo Scanner\": \"Type-E Enduring Cargo Scanner\",\r\n    \"Scoped Cargo Scanner\": \"PL-0 Scoped Cargo Scanner\",\r\n    \"Compact Ship Scanner\": \"Ta3 Compact Ship Scanner\",\r\n    \"Scoped Survey Scanner\": \"ML-3 Scoped Survey Scanner\",\r\n    \"Compact Light Missile Launcher\": \"Arbalest Compact Light Missile Launcher\",\r\n    \"Ample Light Missile Launcher\": \"TE-2100 Ample Light Missile Launcher\",\r\n    \"Compact Capacitor Flux Coil\": \"Mark I Compact Capacitor Flux Coil\",\r\n    \"Restrained Capacitor Flux Coil\": \"Type-D Restrained Capacitor Flux Coil\",\r\n    \"Compact Reactor Control Unit\": \"Mark I Compact Reactor Control Unit\",\r\n    \"Upgraded Co-Processor\": \"Photonic Upgraded Co-Processor\",\r\n    \"Compact Micro Auxiliary Power Core\": \"Vigor Compact Micro Auxiliary Power Core\"\r\n}\r\n"
  },
  {
    "path": "service/conversions/skinnedShips.py",
    "content": "\"\"\"\r\nConversion pack for skinned ships to their base hull. Unlike other conversion\r\npacks, the name of this file is important as it is used in service.market to\r\nflag as unpublished\r\n\r\nSee GH issue #67 on why this is needed\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    \"Miasmos Amastris Edition\": \"Miasmos Quafe Ultra Edition\",\r\n    \"Miasmos Quafe Ultramarine Edition\": \"Miasmos Quafe Ultra Edition\",\r\n    \"Rattlesnake Victory Edition\": \"Rattlesnake\",\r\n    \"Aliastra Catalyst\": \"Catalyst\",\r\n    \"Inner Zone Shipping Catalyst\": \"Catalyst\",\r\n    \"Intaki Syndicate Catalyst\": \"Catalyst\",\r\n    \"InterBus Catalyst\": \"Catalyst\",\r\n    \"Quafe Catalyst\": \"Catalyst\",\r\n    \"Inner Zone Shipping Imicus\": \"Imicus\",\r\n    \"Nefantar Thrasher\": \"Thrasher\",\r\n    \"Sarum Magnate\": \"Magnate\",\r\n    \"Tash-Murkon Magnate\": \"Magnate\",\r\n    \"Sukuuvestaa Heron\": \"Heron\",\r\n    \"Vherokior Probe\": \"Probe\",\r\n}\r\n"
  },
  {
    "path": "service/conversions/trigDread.py",
    "content": "\"\"\"\r\nIn October 2019 we released triglavian dread preview builds, we had custom names for\r\nship itself and its gun. Here we make sure that legacy names are converted into proper ones.\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n    'Triglavian Dreadnought': 'Zirnitra',\r\n    'PLACEHOLDER TRIG DREAD': 'Zirnitra',\r\n    'XL Entropic Disintegrator': 'Ultratidal Entropic Disintegrator I',\r\n    'PLACEHOLDER TRIG XL WEAPON': 'Ultratidal Entropic Disintegrator I'\r\n}\r\n"
  },
  {
    "path": "service/crudeTests.py",
    "content": ""
  },
  {
    "path": "service/damagePattern.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport copy\r\n\r\nimport eos.db\r\nfrom eos.saveddata.damagePattern import DamagePattern as es_DamagePattern\r\n\r\n\r\nclass ImportError(Exception):\r\n    pass\r\n\r\n\r\nclass DamagePattern:\r\n    instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls.instance is None:\r\n            cls.instance = DamagePattern()\r\n\r\n        return cls.instance\r\n\r\n    @staticmethod\r\n    def getUserDamagePatternList():\r\n        return eos.db.getDamagePatternList()\r\n\r\n    @staticmethod\r\n    def getBuiltinDamagePatternList():\r\n        return es_DamagePattern.getBuiltinList()\r\n\r\n    @staticmethod\r\n    def getDamagePattern(name):\r\n        return eos.db.getDamagePattern(name)\r\n\r\n    @staticmethod\r\n    def newPattern(name):\r\n        p = es_DamagePattern(0, 0, 0, 0)\r\n        p.rawName = name\r\n        eos.db.save(p)\r\n        return p\r\n\r\n    @staticmethod\r\n    def renamePattern(p, newName):\r\n        p.rawName = newName\r\n        eos.db.save(p)\r\n\r\n    @staticmethod\r\n    def deletePattern(p):\r\n        eos.db.remove(p)\r\n\r\n    @staticmethod\r\n    def copyPattern(p):\r\n        newP = copy.deepcopy(p)\r\n        eos.db.save(newP)\r\n        return newP\r\n\r\n    @staticmethod\r\n    def saveChanges(p):\r\n        eos.db.save(p)\r\n\r\n    def importPatterns(self, text):\r\n        imports, num = es_DamagePattern.importPatterns(text)\r\n        lenImports = len(imports)\r\n\r\n        if lenImports == 0:\r\n            raise ImportError(\"No patterns found for import\")\r\n        if lenImports != num:\r\n            raise ImportError(\"%d patterns imported from clipboard; %d had errors\" % (num, num - lenImports))\r\n\r\n    def exportPatterns(self):\r\n        patterns = self.getUserDamagePatternList()\r\n        for i in range(len(patterns) - 1, -1, -1):\r\n            if patterns[i].name in (\"Uniform\", \"Selected Ammo\"):\r\n                del patterns[i]\r\n\r\n        patterns.sort(key=lambda p: p.fullName)\r\n        return es_DamagePattern.exportPatterns(*patterns)\r\n"
  },
  {
    "path": "service/esi.py",
    "content": "# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\nimport threading\r\nimport time\r\nimport base64\r\nimport json\r\nimport config\r\nimport re\r\n\r\nimport eos.db\r\nfrom service.const import EsiLoginMethod, EsiSsoMode\r\nfrom eos.saveddata.ssocharacter import SsoCharacter\r\nfrom service.esiAccess import APIException, GenericSsoError\r\nimport gui.globalEvents as GE\r\nfrom gui.ssoLogin import SsoLogin\r\nfrom service.server import StoppableHTTPServer, AuthHandler\r\nfrom service.settings import EsiSettings\r\nfrom service.esiAccess import EsiAccess\r\nimport gui.mainFrame\r\n\r\nfrom requests import Session\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\n\r\nclass EsiTokenValidationThread(threading.Thread):\r\n    def __init__(self, callback=None):\r\n        threading.Thread.__init__(self)\r\n        self.name = \"EsiTokenValidation\"\r\n        self.callback = callback\r\n        self.running = True\r\n\r\n    def run(self):\r\n        with config.logging_setup.threadbound():\r\n            try:\r\n                esi = Esi.getInstance()\r\n                chars = esi.getSsoCharacters()\r\n\r\n                for char in chars:\r\n                    if not self.running:\r\n                        return\r\n\r\n                    if char.is_token_expired():\r\n                        pyfalog.info(f\"Token expired for {char.characterName}, attempting refresh\")\r\n                        try:\r\n                            esi.refresh(char)\r\n                            eos.db.save(char)\r\n                            pyfalog.info(f\"Successfully refreshed token for {char.characterName}\")\r\n                        except Exception as e:\r\n                            pyfalog.error(f\"Failed to refresh token for {char.characterName}: {e}\")\r\n                    else:\r\n                        pyfalog.debug(f\"Token valid for {char.characterName}\")\r\n\r\n            except Exception as e:\r\n                pyfalog.error(f\"Error validating ESI tokens: {e}\")\r\n            finally:\r\n                if self.callback:\r\n                    wx.CallAfter(self.callback)\r\n\r\n    def stop(self):\r\n        self.running = False\r\n\r\n\r\nclass Esi(EsiAccess):\r\n    _instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = Esi()\r\n\r\n        return cls._instance\r\n\r\n    def __init__(self):\r\n        self.settings = EsiSettings.getInstance()\r\n\r\n        super().__init__()\r\n\r\n        # these will be set when needed\r\n        self.httpd = None\r\n        self.state = None\r\n        self.ssoTimer = None\r\n\r\n        self.implicitCharacter = None\r\n\r\n        # until I can get around to making proper caching and modifications to said cache, storee deleted fittings here\r\n        # so that we can easily hide them in the fitting browser\r\n        self.fittings_deleted = set()\r\n\r\n        # need these here to post events\r\n        import gui.mainFrame  # put this here to avoid loop\r\n        self.mainFrame = gui.mainFrame.MainFrame.getInstance()\r\n\r\n    def delSsoCharacter(self, id):\r\n        char = eos.db.getSsoCharacter(id, config.getClientSecret())\r\n\r\n        # There is an issue in which the SSO character is not removed from any linked characters - a reference to the\r\n        # sso character remains even though the SSO character is deleted which should have deleted the link. This is a\r\n        # work around until we can figure out why. Manually delete SSOCharacter from all of it's characters\r\n        for x in char.characters:\r\n            x._Character__ssoCharacters.remove(char)\r\n        eos.db.remove(char)\r\n        wx.PostEvent(self.mainFrame, GE.SsoLogout(charID=id))\r\n\r\n    def getSsoCharacters(self):\r\n        chars = eos.db.getSsoCharacters(config.getClientSecret())\r\n        return chars\r\n\r\n    def getSsoCharacter(self, id, server=None):\r\n        char = eos.db.getSsoCharacter(id, config.getClientSecret(), server)\r\n        eos.db.commit()\r\n        return char\r\n\r\n    def getSkills(self, id):\r\n        char = self.getSsoCharacter(id)\r\n        resp = super().getSkills(char)\r\n        return resp.json()\r\n\r\n    def getSecStatus(self, id):\r\n        char = self.getSsoCharacter(id)\r\n        resp = super().getSecStatus(char)\r\n        return resp.json()\r\n\r\n    def getFittings(self, id):\r\n        char = self.getSsoCharacter(id)\r\n        resp = super().getFittings(char)\r\n        return resp.json()\r\n\r\n    def postFitting(self, id, json_str):\r\n        # @todo: new fitting ID can be recovered from resp.data,\r\n        char = self.getSsoCharacter(id)\r\n        resp = super().postFitting(char, json_str)\r\n        return resp\r\n\r\n    def delFitting(self, id, fittingID):\r\n        char = self.getSsoCharacter(id)\r\n        super().delFitting(char, fittingID)\r\n        self.fittings_deleted.add(fittingID)\r\n\r\n    def login(self):\r\n        start_server = self.settings.get('loginMode') == EsiLoginMethod.SERVER and self.server_base.supports_auto_login\r\n        with gui.ssoLogin.SsoLogin(self.server_base, start_server) as dlg:\r\n            if dlg.ShowModal() == wx.ID_OK:\r\n                from gui.esiFittings import ESIExceptionHandler\r\n\r\n                try:\r\n                    if self.server_name == \"Serenity\":\r\n                        s = re.search(r'(?<=code=)[a-zA-Z0-9\\-_]*', dlg.ssoInfoCtrl.Value.strip())\r\n                        if s:\r\n                            # skip state verification and go directly through the auth code processing\r\n                            self.handleLogin(s.group(0))\r\n                        else:\r\n                            pass\r\n                            # todo: throw error\r\n                    else:\r\n                        self.handleServerRequest(json.loads(base64.b64decode(dlg.ssoInfoCtrl.Value.strip())))\r\n                except GenericSsoError as ex:\r\n                    pyfalog.error(ex)\r\n                    with wx.MessageDialog(\r\n                            self.mainFrame,\r\n                            str(ex),\r\n                            _t(\"SSO Error\"),\r\n                            wx.OK | wx.ICON_ERROR\r\n                    ) as dlg:\r\n                        dlg.ShowModal()\r\n                except APIException as ex:\r\n                    pyfalog.error(ex)\r\n                    ESIExceptionHandler(ex)\r\n                    pass\r\n\r\n\r\n    def stopServer(self):\r\n        pyfalog.debug(\"Stopping Server\")\r\n        if self.httpd:\r\n            self.httpd.stop()\r\n            self.httpd = None\r\n\r\n    def startServer(self, port):  # todo: break this out into two functions: starting the server, and getting the URI\r\n        pyfalog.debug(\"Starting server\")\r\n\r\n        # we need this to ensure that the previous get_request finishes, and then the socket will close\r\n        if self.httpd:\r\n            self.stopServer()\r\n            time.sleep(1)\r\n\r\n        self.httpd = StoppableHTTPServer(('localhost', port), AuthHandler)\r\n        port = self.httpd.socket.getsockname()[1]\r\n        self.serverThread = threading.Thread(target=self.httpd.serve, args=(self.handleServerRequest,))\r\n        self.serverThread.name = \"SsoCallbackServer\"\r\n        self.serverThread.daemon = True\r\n        self.serverThread.start()\r\n\r\n        return 'http://localhost:{}'.format(port)\r\n\r\n    def handleLogin(self, code):\r\n        auth_response, data = self.auth(code)\r\n\r\n        currentCharacter = self.getSsoCharacter(data['name'], self.server_base.name)\r\n\r\n        sub_split = data[\"sub\"].split(\":\")\r\n\r\n        if len(sub_split) != 3:\r\n            raise GenericSsoError(\"JWT sub does not contain the expected data. Contents: %s\" % data[\"sub\"])\r\n\r\n        cid = sub_split[-1]\r\n        if currentCharacter is None:\r\n            currentCharacter = SsoCharacter(cid, data['name'], config.getClientSecret(), self.server_base.name)\r\n\r\n        Esi.update_token(currentCharacter, auth_response)\r\n\r\n        eos.db.save(currentCharacter)\r\n        wx.PostEvent(self.mainFrame, GE.SsoLogin(character=currentCharacter))\r\n\r\n    # get (endpoint, char, data?)\r\n\r\n    def handleServerRequest(self, message):\r\n        if not message:\r\n            raise GenericSsoError(\"Could not parse out querystring parameters.\")\r\n\r\n        try:\r\n            state_enc = message['state']\r\n            state = json.loads(base64.b64decode(state_enc))['state']\r\n        except Exception:\r\n            raise GenericSsoError(\"There was a problem decoding state parameter.\")\r\n\r\n        if state != self.state:\r\n            pyfalog.warn(\"OAUTH state mismatch\")\r\n            raise GenericSsoError(\"OAUTH State Mismatch.\")\r\n\r\n        pyfalog.debug(\"Handling SSO login with: {0}\", message)\r\n\r\n        self.handleLogin(message['code'])\r\n\r\n    def startTokenValidation(self):\r\n        pyfalog.debug(\"Starting ESI token validation thread\")\r\n        tokenValidationThread = EsiTokenValidationThread()\r\n        tokenValidationThread.daemon = True\r\n        tokenValidationThread.start()\r\n"
  },
  {
    "path": "service/esiAccess.py",
    "content": "# noinspection PyPackageRequirements\r\nfrom collections import namedtuple\r\n\r\nimport requests\r\nfrom logbook import Logger\r\nimport uuid\r\nimport time\r\nimport config\r\nimport base64\r\nimport secrets\r\nimport hashlib\r\nimport json\r\nfrom jose import jwt\r\nfrom jose.exceptions import ExpiredSignatureError, JWTError, JWTClaimsError\r\nimport os\r\nimport datetime\r\nfrom service.const import EsiSsoMode, EsiEndpoints\r\nfrom service.settings import EsiSettings, NetworkSettings\r\n\r\nfrom datetime import timedelta\r\nfrom requests_cache import CachedSession\r\n\r\nfrom requests import Session\r\nfrom urllib.parse import urlencode\r\n\r\npyfalog = Logger(__name__)\r\n\r\nscopes = [\r\n    'esi-skills.read_skills.v1',\r\n    'esi-fittings.read_fittings.v1',\r\n    'esi-fittings.write_fittings.v1'\r\n]\r\n\r\nclass GenericSsoError(Exception):\r\n    \"\"\" Exception used for generic SSO errors that aren't directly related to an API call\r\n    \"\"\"\r\n    pass\r\n\r\nclass APIException(Exception):\r\n    \"\"\" Exception for API related errors \"\"\"\r\n\r\n    def __init__(self, url, code, json_response):\r\n        self.url = url\r\n        self.status_code = code\r\n        self.response = json_response\r\n        super(APIException, self).__init__(str(self))\r\n\r\n\r\n    def __str__(self):\r\n        if 'error_description' in self.response:\r\n            return 'HTTP Error %s: %s' % (self.status_code,\r\n                                          self.response['error_description'])\r\n        elif 'message' in self.response:\r\n            return 'HTTP Error %s: %s' % (self.status_code,\r\n                                          self.response['message'])\r\n        return 'HTTP Error %s' % self.status_code\r\n\r\n\r\nclass EsiAccess:\r\n    server_meta = {}\r\n    def __init__(self):\r\n        self.settings = EsiSettings.getInstance()\r\n        self.default_server_name = self.settings.get('server')\r\n        self.default_server_base = config.supported_servers[self.default_server_name]\r\n        # session request stuff\r\n        self._session = Session()\r\n        self._basicHeaders = {\r\n            'Accept': 'application/json',\r\n            'User-Agent': (\r\n                'pyfa v{}'.format(config.version)\r\n            )\r\n        }\r\n        self._session.headers.update(self._basicHeaders)\r\n        self._session.proxies = NetworkSettings.getInstance().getProxySettingsInRequestsFormat()\r\n\r\n        self.mem_cached_session = {}\r\n\r\n        # Set up cached session. This is only used for SSO meta data for now, but can be expanded to actually handle\r\n        # various ESI caching (using ETag, for example) in the future\r\n        self.cached_session = CachedSession(\r\n            os.path.join(config.savePath, config.ESI_CACHE),\r\n            backend=\"sqlite\",\r\n            cache_control=True,                # Use Cache-Control headers for expiration, if available\r\n            expire_after=timedelta(days=1),    # Otherwise expire responses after one day\r\n            stale_if_error=True,               # In case of request errors, use stale cache data if possible\r\n        )\r\n        self.cached_session.headers.update(self._basicHeaders)\r\n        self.cached_session.proxies = NetworkSettings.getInstance().getProxySettingsInRequestsFormat()\r\n        self.init(self.default_server_base)\r\n\r\n    def init(self, server_base):\r\n        self.server_base: config.ApiServer = server_base\r\n        self.server_name = self.server_base.name\r\n        try:\r\n            meta_call = self.cached_session.get(\"https://%s/.well-known/oauth-authorization-server\" % self.server_base.sso)\r\n        except:\r\n            # The http data of expire_after in evepc.163.com is -1\r\n            meta_call = requests.get(\"https://%s/.well-known/oauth-authorization-server\" % self.server_base.sso)\r\n\r\n        meta_call.raise_for_status()\r\n        self.server_meta = meta_call.json()\r\n\r\n        try:\r\n            jwks_call = self.cached_session.get(self.server_meta[\"jwks_uri\"])\r\n        except:\r\n            jwks_call = requests.get(self.server_meta[\"jwks_uri\"])\r\n\r\n        jwks_call.raise_for_status()\r\n        self.jwks = jwks_call.json()\r\n\r\n    @property\r\n    def sso_url(self):\r\n        return 'https://%s/v2' % self.server_base.sso\r\n\r\n    @property\r\n    def esi_url(self):\r\n        return 'https://%s' % self.server_base.esi\r\n\r\n    @property\r\n    def oauth_authorize(self):\r\n        return self.server_meta[\"authorization_endpoint\"]\r\n\r\n    @property\r\n    def oauth_token(self):\r\n        return self.server_meta[\"token_endpoint\"]\r\n\r\n    @property\r\n    def client_id(self):\r\n        return self.settings.get('clientID') or self.server_base.client_id\r\n\r\n    @staticmethod\r\n    def update_token(char, tokenResponse):\r\n        \"\"\" helper function to update token data from SSO response \"\"\"\r\n        char.accessToken = tokenResponse['access_token']\r\n        char.accessTokenExpires = datetime.datetime.fromtimestamp(time.time() + tokenResponse['expires_in'])\r\n        if 'refresh_token' in tokenResponse:\r\n            char.refreshToken = config.cipher.encrypt(tokenResponse['refresh_token'].encode())\r\n\r\n    def get_login_uri(self, redirect=None):\r\n        self.state = str(uuid.uuid4())\r\n\r\n        # Generate the PKCE code challenge\r\n        self.code_verifier = base64.urlsafe_b64encode(secrets.token_bytes(32))\r\n        m = hashlib.sha256()\r\n        m.update(self.code_verifier)\r\n        d = m.digest()\r\n        code_challenge = base64.urlsafe_b64encode(d).decode().replace(\"=\", \"\")\r\n\r\n        state_arg = {\r\n            'mode': self.settings.get('loginMode'),\r\n            'redirect': redirect,\r\n            'state': self.state\r\n        }\r\n\r\n        if(self.server_name==\"Serenity\"):\r\n            args = {\r\n                'response_type': 'code',\r\n                'redirect_uri': self.server_base.callback,\r\n                'client_id': self.client_id,\r\n                'scope': ' '.join(scopes),\r\n                'state': 'hilltech',\r\n                'device_id': 'eims'\r\n            }\r\n        else:\r\n            args = {\r\n                'response_type': 'code',\r\n                'redirect_uri': self.server_base.callback,\r\n                'client_id': self.client_id,\r\n                'scope': ' '.join(scopes),\r\n                'code_challenge': code_challenge,\r\n                'code_challenge_method': 'S256',\r\n                'state': base64.b64encode(bytes(json.dumps(state_arg), 'utf-8'))\r\n            }\r\n        return '%s?%s' % (\r\n            self.oauth_authorize,\r\n            urlencode(args)\r\n        )\r\n\r\n    def get_oauth_header(self, token):\r\n        \"\"\" Return the Bearer Authorization header required in oauth calls\r\n\r\n        :return: a dict with the authorization header\r\n        \"\"\"\r\n        return {'Authorization': 'Bearer %s' % token}\r\n\r\n    def auth(self, code):\r\n        values = {\r\n            'grant_type': 'authorization_code',\r\n            'code': code,\r\n            'client_id': self.client_id,\r\n            \"code_verifier\": self.code_verifier\r\n        }\r\n\r\n        res = self.token_call(values)\r\n        json_res = res.json()\r\n\r\n        decoded_jwt = self.validate_eve_jwt(json_res['access_token'])\r\n        return json_res, decoded_jwt\r\n\r\n    def refresh(self, ssoChar):\r\n        # todo: properly handle invalid refresh token\r\n        values = {\r\n            \"grant_type\": \"refresh_token\",\r\n            \"refresh_token\": config.cipher.decrypt(ssoChar.refreshToken).decode(),\r\n            \"client_id\": self.client_id,\r\n        }\r\n\r\n        res = self.token_call(values)\r\n        json_res = res.json()\r\n        self.update_token(ssoChar, json_res)\r\n        return json_res\r\n\r\n    def token_call(self, values):\r\n        headers = {\r\n            \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n            \"Host\": self.server_base.sso,\r\n        }\r\n\r\n        res = self._session.post(\r\n            self.server_meta[\"token_endpoint\"],\r\n            data=values,\r\n            headers=headers,\r\n        )\r\n\r\n        if res.status_code != 200:\r\n            raise APIException(\r\n                self.server_meta[\"token_endpoint\"],\r\n                res.status_code,\r\n                res.json()\r\n            )\r\n\r\n        return res\r\n\r\n    def validate_eve_jwt(self, jwt_token):\r\n        \"\"\"Validate a JWT token retrieved from the EVE SSO.\r\n\r\n        Ignores the `aud` claim in token due to avoid unexpected breaking\r\n        changes to ESI.\r\n\r\n        Args:\r\n            jwt_token: A JWT token originating from the EVE SSO\r\n        Returns\r\n            dict: The contents of the validated JWT token if there are no\r\n                  validation errors\r\n        \"\"\"\r\n\r\n        try:\r\n            jwk_sets = self.jwks[\"keys\"]\r\n        except KeyError as e:\r\n            raise GenericSsoError(\"Something went wrong when retrieving the JWK set. The returned \"\r\n                  \"payload did not have the expected key {}. \\nPayload returned \"\r\n                  \"from the SSO looks like: {}\".format(e, self.jwks))\r\n\r\n        jwk_set = next((item for item in jwk_sets if item[\"alg\"] == \"RS256\"))\r\n\r\n        try:\r\n            return jwt.decode(\r\n                jwt_token,\r\n                jwk_set,\r\n                algorithms=jwk_set[\"alg\"],\r\n                issuer=[self.server_base.sso, \"https://%s\" % self.server_base.sso],\r\n                # ignore \"aud\" claim: https://tweetfleet.slack.com/archives/C30KX8UUX/p1648495011905969\r\n                options={\"verify_aud\": False, \"verify_exp\": self.settings.get(\"enforceJwtExpiration\")}\r\n            )\r\n        except ExpiredSignatureError as e:\r\n            raise GenericSsoError(\"The JWT token has expired: {}\".format(str(e)))\r\n        except JWTError as e:\r\n            raise GenericSsoError(\"The JWT signature was invalid: {}\".format(str(e)))\r\n        except JWTClaimsError as e:\r\n            raise GenericSsoError(\"The issuer claim was not from login.eveonline.com or \"\r\n                \"https://login.eveonline.com: {}\".format(str(e)))\r\n\r\n    def _before_request(self, ssoChar):\r\n        if ssoChar:\r\n            self.init(config.supported_servers[ssoChar.server])\r\n        else:\r\n            self.init(self.default_server_base)\r\n\r\n        self._session.headers.clear()\r\n        self._session.headers.update(self._basicHeaders)\r\n        if ssoChar is None:\r\n            return\r\n\r\n        if ssoChar.is_token_expired():\r\n            pyfalog.info(\"Refreshing token for {}\".format(ssoChar.characterName))\r\n            self.refresh(ssoChar)\r\n\r\n        if ssoChar.accessToken is not None:\r\n            self._session.headers.update(self.get_oauth_header(ssoChar.accessToken))\r\n\r\n    def _after_request(self, resp):\r\n        if \"warning\" in resp.headers:\r\n            pyfalog.warn(\"{} - {}\".format(resp.headers[\"warning\"], resp.url))\r\n\r\n        if resp.status_code >= 400:\r\n            raise APIException(\r\n                resp.url,\r\n                resp.status_code,\r\n                resp.json()\r\n            )\r\n\r\n        return resp\r\n\r\n    def get(self, ssoChar, endpoint, **kwargs):\r\n        self._before_request(ssoChar)\r\n        endpoint = endpoint.format(**kwargs)\r\n        return self._after_request(self._session.get(\"{}{}?datasource={}\".format(self.esi_url, endpoint, self.server_name.lower())))\r\n\r\n    def post(self, ssoChar, endpoint, json, **kwargs):\r\n        self._before_request(ssoChar)\r\n        endpoint = endpoint.format(**kwargs)\r\n        return self._after_request(self._session.post(\"{}{}?datasource={}\".format(self.esi_url, endpoint, self.server_name.lower()), data=json))\r\n\r\n    def delete(self, ssoChar, endpoint, **kwargs):\r\n        self._before_request(ssoChar)\r\n        endpoint = endpoint.format(**kwargs)\r\n        return self._after_request(self._session.delete(\"{}{}?datasource={}\".format(self.esi_url, endpoint, self.server_name.lower())))\r\n\r\n    # todo: move these off to another class which extends this one. This class should only handle the low level\r\n    # authentication and\r\n    def getDynamicItem(self, typeID, itemID):\r\n        return self.get(None, EsiEndpoints.DYNAMIC_ITEM.value, type_id=typeID, item_id=itemID)\r\n\r\n    def getSkills(self, char):\r\n        return self.get(char, EsiEndpoints.CHAR_SKILLS.value, character_id=char.characterID)\r\n\r\n    def getSecStatus(self, char):\r\n        return self.get(char, EsiEndpoints.CHAR.value, character_id=char.characterID)\r\n\r\n    def getFittings(self, char):\r\n        return self.get(char, EsiEndpoints.CHAR_FITTINGS.value, character_id=char.characterID)\r\n\r\n    def postFitting(self, char, json_str):\r\n        # @todo: new fitting ID can be recovered from resp.data,\r\n        return self.post(char, EsiEndpoints.CHAR_FITTINGS.value, json_str, character_id=char.characterID)\r\n\r\n    def delFitting(self, char, fittingID):\r\n        return self.delete(char, EsiEndpoints.CHAR_DEL_FIT.value, character_id=char.characterID, fitting_id=fittingID)\r\n"
  },
  {
    "path": "service/eveapi.py",
    "content": ""
  },
  {
    "path": "service/fit.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport copy\r\nimport datetime\r\nfrom time import time\r\nfrom weakref import WeakSet\r\n\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom eos.const import FittingModuleState, ImplantLocation\r\nfrom eos.saveddata.character import Character as saveddata_Character\r\nfrom eos.saveddata.citadel import Citadel as es_Citadel\r\nfrom eos.saveddata.damagePattern import DamagePattern as es_DamagePattern\r\nfrom eos.saveddata.fit import Fit as FitType\r\nfrom eos.saveddata.ship import Ship as es_Ship\r\nfrom service.character import Character\r\nfrom service.damagePattern import DamagePattern\r\nfrom service.settings import SettingsProvider\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass DeferRecalc:\r\n    def __init__(self, fitID):\r\n        self.fitID = fitID\r\n        self.sFit = Fit.getInstance()\r\n\r\n    def __enter__(self):\r\n        self._recalc = self.sFit.recalc\r\n        self.sFit.recalc = lambda x: pyfalog.debug('Deferred Recalc')\r\n\r\n    def __exit__(self, *args):\r\n        self.sFit.recalc = self._recalc\r\n        self.sFit.recalc(self.fitID)\r\n\r\n\r\nclass Fit:\r\n    instance = None\r\n    processors = {}\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls.instance is None:\r\n            cls.instance = Fit()\r\n\r\n        return cls.instance\r\n\r\n    def __init__(self):\r\n        pyfalog.debug(\"Initialize Fit class\")\r\n        self.pattern = DamagePattern.getInstance().getDamagePattern(\"Uniform\")\r\n        self.targetProfile = None\r\n        self.character = saveddata_Character.getAll5()\r\n        self.booster = False\r\n        self._loadedFits = WeakSet()\r\n\r\n        serviceFittingDefaultOptions = {\r\n            \"useGlobalCharacter\": False,\r\n            \"useCharacterImplantsByDefault\": True,\r\n            \"useGlobalDamagePattern\": False,\r\n            \"defaultCharacter\": self.character.ID,\r\n            \"useGlobalForceReload\": False,\r\n            \"colorFitBySlot\": False,\r\n            \"rackSlots\": True,\r\n            \"rackLabels\": True,\r\n            \"compactSkills\": True,\r\n            \"showTooltip\": True,\r\n            \"showMarketShortcuts\": False,\r\n            \"enableGaugeAnimation\": True,\r\n            \"openFitInNew\": False,\r\n            \"priceSystem\": \"Jita\",\r\n            \"priceSource\": \"fuzzwork market\",\r\n            \"showShipBrowserTooltip\": True,\r\n            \"marketSearchDelay\": 250,\r\n            \"ammoChangeAll\": False,\r\n            \"additionsLabels\": 1,\r\n            \"expandedMutantNames\": False,\r\n        }\r\n\r\n        self.serviceFittingOptions = SettingsProvider.getInstance().getSettings(\r\n            \"pyfaServiceFittingOptions\", serviceFittingDefaultOptions)\r\n\r\n    @staticmethod\r\n    def getAllFits():\r\n        pyfalog.debug(\"Fetching all fits\")\r\n        fits = eos.db.getFitList()\r\n        return fits\r\n\r\n    @staticmethod\r\n    def getAllFitsLite():\r\n        fits = eos.db.getFitListLite()\r\n        shipMap = {f.shipID: None for f in fits}\r\n        for shipID in shipMap:\r\n            ship = eos.db.getItem(shipID)\r\n            if ship is not None:\r\n                shipMap[shipID] = (ship.name, ship.getShortName())\r\n        fitsToPurge = set()\r\n        for fit in fits:\r\n            try:\r\n                fit.shipName, fit.shipNameShort = shipMap[fit.shipID]\r\n            except (KeyError, TypeError):\r\n                fitsToPurge.add(fit)\r\n        for fit in fitsToPurge:\r\n            fits.remove(fit)\r\n        return fits\r\n\r\n    @staticmethod\r\n    def getFitsWithShip(shipID):\r\n        \"\"\" Lists fits of shipID, used with shipBrowser \"\"\"\r\n        pyfalog.debug(\"Fetching all fits for ship ID: {0}\", shipID)\r\n        fits = eos.db.getFitsWithShip(shipID)\r\n        names = []\r\n        for fit in fits:\r\n            names.append((fit.ID,\r\n                          fit.name,\r\n                          fit.booster,\r\n                          fit.modified or fit.created or datetime.datetime.fromtimestamp(fit.timestamp),\r\n                          fit.notes,\r\n                          fit.ship.item.graphicID))\r\n\r\n        return names\r\n\r\n    @staticmethod\r\n    def getRecentFits():\r\n        \"\"\" Fetches recently modified fits, used with shipBrowser \"\"\"\r\n        pyfalog.debug(\"Fetching recent fits\")\r\n        fits = eos.db.getRecentFits()\r\n        returnInfo = []\r\n\r\n        for fit in fits:\r\n            item = eos.db.getItem(fit[1])\r\n            returnInfo.append((fit[0], fit[2], fit[3] or fit[4] or datetime.datetime.fromtimestamp(fit[5]), item, fit[6]))\r\n            #                  ID      name    timestamps                                                   item  notes\r\n\r\n        return returnInfo\r\n\r\n    @staticmethod\r\n    def getFitsWithModules(typeIDs):\r\n        \"\"\" Lists fits flagged as booster \"\"\"\r\n        pyfalog.debug('Getting fits with modules')\r\n        fits = eos.db.getFitsWithModules(typeIDs)\r\n        return fits\r\n\r\n    @staticmethod\r\n    def countAllFits():\r\n        pyfalog.debug(\"Getting count of all fits.\")\r\n        return eos.db.countAllFits()\r\n\r\n    @staticmethod\r\n    def countAllFitsGroupedByShip():\r\n        count = eos.db.countFitGroupedByShip()\r\n        return count\r\n\r\n    @staticmethod\r\n    def countFitsWithShip(stuff):\r\n        pyfalog.debug(\"Getting count of all fits for: {0}\", stuff)\r\n        count = eos.db.countFitsWithShip(stuff)\r\n        return count\r\n\r\n    @staticmethod\r\n    def getModule(fitID, pos):\r\n        fit = eos.db.getFit(fitID)\r\n        return fit.modules[pos]\r\n\r\n    def newFit(self, shipID, name=None):\r\n        pyfalog.debug(\"Creating new fit for ID: {0}\", shipID)\r\n        try:\r\n            ship = es_Ship(eos.db.getItem(shipID))\r\n        except ValueError:\r\n            ship = es_Citadel(eos.db.getItem(shipID))\r\n        fit = FitType(ship)\r\n        fit.name = name if name is not None else \"New %s\" % fit.ship.item.name\r\n        fit.damagePattern = self.pattern\r\n        fit.targetProfile = self.targetProfile\r\n        fit.character = self.character\r\n        fit.booster = self.booster\r\n        useCharImplants = self.serviceFittingOptions[\"useCharacterImplantsByDefault\"]\r\n        fit.implantLocation = ImplantLocation.CHARACTER if useCharImplants else ImplantLocation.FIT\r\n        eos.db.save(fit)\r\n        self.recalc(fit)\r\n        self.fill(fit)\r\n        return fit.ID\r\n\r\n    @staticmethod\r\n    def deleteFit(fitID):\r\n        fit = eos.db.getFit(fitID)\r\n        pyfalog.debug(\"Fit::deleteFit - Deleting fit: {}\", fit)\r\n\r\n        # refresh any fits this fit is projected onto. Otherwise, if we have\r\n        # already loaded those fits, they will not reflect the changes\r\n\r\n        # A note on refreshFits: we collect the target fits in a set because\r\n        # if a target fit has the same fit for both projected and command,\r\n        # it will be refreshed first during the projected loop and throw an\r\n        # error during the command loop\r\n        refreshFits = set()\r\n        for projection in list(fit.projectedOnto.values()):\r\n            if projection.victim_fit and projection.victim_fit != fit and projection.victim_fit in eos.db.saveddata_session:  # GH issue #359\r\n                refreshFits.add(projection.victim_fit)\r\n\r\n        for booster in list(fit.boostedOnto.values()):\r\n            if booster.boosted_fit and booster.boosted_fit != fit and booster.boosted_fit in eos.db.saveddata_session:  # GH issue #359\r\n                refreshFits.add(booster.boosted_fit)\r\n\r\n        eos.db.remove(fit)\r\n\r\n        if fitID in Fit.processors:\r\n            del Fit.processors[fitID]\r\n\r\n        pyfalog.debug(\"    Need to refresh {} fits: {}\", len(refreshFits), refreshFits)\r\n        for fit in refreshFits:\r\n            eos.db.saveddata_session.refresh(fit)\r\n\r\n        eos.db.saveddata_session.commit()\r\n\r\n    @classmethod\r\n    def getCommandProcessor(cls, fitID):\r\n        if fitID not in cls.processors:\r\n            cls.processors[fitID] = wx.CommandProcessor(maxCommands=100)\r\n        return cls.processors[fitID]\r\n\r\n    @staticmethod\r\n    def copyFit(fitID):\r\n        pyfalog.debug(\"Creating copy of fit ID: {0}\", fitID)\r\n        fit = eos.db.getFit(fitID)\r\n        newFit = copy.deepcopy(fit)\r\n        eos.db.save(newFit)\r\n        return newFit.ID\r\n\r\n    @staticmethod\r\n    def clearFit(fitID):\r\n        pyfalog.debug(\"Clearing fit for fit ID: {0}\", fitID)\r\n        if fitID is None:\r\n            return None\r\n\r\n        fit = eos.db.getFit(fitID)\r\n        fit.clear()\r\n        return fit\r\n\r\n    @staticmethod\r\n    def editNotes(fitID, notes):\r\n        fit = eos.db.getFit(fitID)\r\n        if fit:\r\n            fit.notes = notes\r\n            eos.db.commit()\r\n\r\n    def toggleFactorReload(self, value=None):\r\n        self.serviceFittingOptions['useGlobalForceReload'] = value if value is not None else not self.serviceFittingOptions['useGlobalForceReload']\r\n        fitIDs = set()\r\n        for fit in set(self._loadedFits):\r\n            if fit is None:\r\n                continue\r\n            if fit.calculated:\r\n                fit.factorReload = self.serviceFittingOptions['useGlobalForceReload']\r\n                fit.clearFactorReloadDependentData()\r\n                fitIDs.add(fit.ID)\r\n        return fitIDs\r\n\r\n    def processOverrideToggle(self):\r\n        fitIDs = set()\r\n        for fit in set(self._loadedFits):\r\n            if fit is None:\r\n                continue\r\n            if fit.calculated:\r\n                self.recalc(fit)\r\n                fitIDs.add(fit.ID)\r\n        return fitIDs\r\n\r\n    def processTargetProfileChange(self):\r\n        fitIDs = set()\r\n        for fit in set(self._loadedFits):\r\n            if fit is None:\r\n                continue\r\n            if not fit.targetProfile:\r\n                continue\r\n            if fit.calculated:\r\n                self.recalc(fit)\r\n                fitIDs.add(fit.ID)\r\n        return fitIDs\r\n\r\n    def switchFit(self, fitID):\r\n        pyfalog.debug(\"Switching fit to fit ID: {0}\", fitID)\r\n        if fitID is None:\r\n            return None\r\n\r\n        fit = eos.db.getFit(fitID)\r\n\r\n        if self.serviceFittingOptions[\"useGlobalCharacter\"]:\r\n            if fit.character != self.character:\r\n                fit.calculated = False\r\n                fit.character = self.character\r\n\r\n        if self.serviceFittingOptions[\"useGlobalDamagePattern\"]:\r\n            if fit.damagePattern != self.pattern:\r\n                fit.calculated = False\r\n                fit.damagePattern = self.pattern\r\n\r\n        eos.db.commit()\r\n\r\n        if not fit.calculated:\r\n            self.recalc(fit)\r\n            self.fill(fit)\r\n\r\n    def getFit(self, fitID, projected=False, basic=False):\r\n        \"\"\"\r\n        Gets fit from database\r\n\r\n        Projected is a recursion flag that is set to reduce recursions into projected fits\r\n        Basic is a flag to simply return the fit without any other processing\r\n        \"\"\"\r\n        # pyfalog.debug(\"Getting fit for fit ID: {0}\", fitID)\r\n        if fitID is None:\r\n            return None\r\n        fit = eos.db.getFit(fitID)\r\n\r\n        if fit is None:\r\n            return None\r\n\r\n        self._loadedFits.add(fit)\r\n\r\n        if basic:\r\n            return fit\r\n\r\n        inited = getattr(fit, \"inited\", None)\r\n\r\n        if inited is None or inited is False:\r\n            if not projected:\r\n                for fitP in fit.projectedFits:\r\n                    self.getFit(fitP.ID, projected=True)\r\n                self.recalc(fit)\r\n                self.fill(fit)\r\n\r\n                # this will loop through modules and set their restriction flag (set in m.fit())\r\n                if fit.ignoreRestrictions:\r\n                    for mod in fit.modules:\r\n                        if not mod.isEmpty:\r\n                            mod.fits(fit)\r\n\r\n                # Check that the states of all modules are valid\r\n                self.checkStates(fit, None)\r\n\r\n            eos.db.commit()\r\n            fit.inited = True\r\n        return fit\r\n\r\n    @staticmethod\r\n    def searchFits(name):\r\n        pyfalog.debug(\"Searching for fit: {0}\", name)\r\n        results = eos.db.searchFits(name)\r\n        fits = []\r\n\r\n        for fit in sorted(results, key=lambda f: (f.ship.item.group.name, f.ship.item.name, f.name)):\r\n            fits.append((\r\n                fit.ID,\r\n                fit.name,\r\n                fit.ship.item.ID,\r\n                fit.ship.item.name,\r\n                fit.booster,\r\n                fit.modifiedCoalesce,\r\n                fit.notes))\r\n        return fits\r\n\r\n    def changeMutatedValuePrelim(self, mutator, value):\r\n        pyfalog.debug(\"Changing mutated value for {} / {}: {} => {}\".format(mutator.item, mutator.item.mutaplasmid, mutator.value, value))\r\n        if mutator.value != value:\r\n            mutator.value = value\r\n            eos.db.flush()\r\n        return mutator.value\r\n\r\n    def changeChar(self, fitID, charID):\r\n        pyfalog.debug(\"Changing character ({0}) for fit ID: {1}\", charID, fitID)\r\n        if fitID is None or charID is None:\r\n            if charID is not None:\r\n                self.character = Character.getInstance().all5()\r\n\r\n            return\r\n\r\n        fit = eos.db.getFit(fitID)\r\n        fit.character = self.character = eos.db.getCharacter(charID)\r\n        self.recalc(fit)\r\n        self.fill(fit)\r\n\r\n    @staticmethod\r\n    def getTargetProfile(fitID):\r\n        pyfalog.debug(\"Get target profile for fit ID: {0}\", fitID)\r\n        if fitID is None:\r\n            return\r\n\r\n        fit = eos.db.getFit(fitID)\r\n        return fit.targetProfile\r\n\r\n    def setTargetProfile(self, fitID, pattern):\r\n        pyfalog.debug(\"Set target resist for fit ID: {0}\", fitID)\r\n        if fitID is None:\r\n            return\r\n\r\n        fit = eos.db.getFit(fitID)\r\n        fit.targetProfile = pattern\r\n        eos.db.commit()\r\n\r\n        self.recalc(fit)\r\n\r\n    @staticmethod\r\n    def getDamagePattern(fitID):\r\n        pyfalog.debug(\"Get damage pattern for fit ID: {0}\", fitID)\r\n        if fitID is None:\r\n            return\r\n\r\n        fit = eos.db.getFit(fitID)\r\n        return fit.damagePattern\r\n\r\n    def setDamagePattern(self, fitID, pattern):\r\n        pyfalog.debug(\"Set damage pattern for fit ID: {0}\", fitID)\r\n        if fitID is None:\r\n            return\r\n\r\n        fit = eos.db.getFit(fitID)\r\n        fit.damagePattern = self.pattern = pattern\r\n        eos.db.commit()\r\n\r\n        self.recalc(fit)\r\n\r\n    def setAsPattern(self, fitID, ammo):\r\n        pyfalog.debug(\"Set as pattern for fit ID: {0}\", fitID)\r\n        if fitID is None:\r\n            return\r\n\r\n        sDP = DamagePattern.getInstance()\r\n        dp = sDP.getDamagePattern(\"Selected Ammo\")\r\n        if dp is None:\r\n            dp = es_DamagePattern()\r\n            dp.rawName = \"Selected Ammo\"\r\n\r\n        fit = eos.db.getFit(fitID)\r\n        for attr in (\"em\", \"thermal\", \"kinetic\", \"explosive\"):\r\n            setattr(dp, \"%sAmount\" % attr, ammo.getAttribute(\"%sDamage\" % attr) or 0)\r\n\r\n        fit.damagePattern = dp\r\n        self.recalc(fit)\r\n\r\n    def setRahPattern(self, fitID, module, pattern):\r\n        pyfalog.debug(\"Set as pattern for fit ID: {0}\", fitID)\r\n        if fitID is None:\r\n            return\r\n        module.rahPatternOverride = pattern\r\n        fit = eos.db.getFit(fitID)\r\n        self.recalc(fit)\r\n\r\n    def checkStates(self, fit, base):\r\n        pyfalog.debug(\"Check states for fit ID: {0}\", fit)\r\n        changedMods = {}\r\n        changedProjMods = {}\r\n        changedProjDrones = {}\r\n        for pos, mod in enumerate(fit.modules):\r\n            if mod is not base:\r\n                # fix for #529, where a module may be in incorrect state after CCP changes mechanics of module\r\n                canHaveState = mod.canHaveState(mod.state)\r\n                if canHaveState is not True:\r\n                    changedMods[pos] = mod.state\r\n                    mod.state = canHaveState\r\n                elif not mod.isValidState(mod.state):\r\n                    changedMods[pos] = mod.state\r\n                    mod.state = FittingModuleState.ONLINE\r\n\r\n        for pos, mod in enumerate(fit.projectedModules):\r\n            # fix for #529, where a module may be in incorrect state after CCP changes mechanics of module\r\n            canHaveState = mod.canHaveState(mod.state, fit)\r\n            if canHaveState is not True:\r\n                changedProjMods[pos] = mod.state\r\n                mod.state = canHaveState\r\n            elif not mod.isValidState(mod.state):\r\n                changedProjMods[pos] = mod.state\r\n                mod.state = FittingModuleState.OFFLINE\r\n\r\n        for pos, drone in enumerate(fit.projectedDrones):\r\n            if drone.amountActive > 0 and not drone.canBeApplied(fit):\r\n                changedProjDrones[pos] = drone.amountActive\r\n                drone.amountActive = 0\r\n\r\n        return changedMods, changedProjMods, changedProjDrones\r\n\r\n    @classmethod\r\n    def fitObjectIter(cls, fit, forceFitImplants=False):\r\n        yield fit.ship\r\n\r\n        for mod in fit.modules:\r\n            if not mod.isEmpty:\r\n                yield mod\r\n        implants = fit.implants if forceFitImplants else fit.appliedImplants\r\n        for container in (fit.drones, fit.fighters, implants, fit.boosters, fit.cargo):\r\n            for obj in container:\r\n                yield obj\r\n\r\n    @classmethod\r\n    def fitItemIter(cls, fit, forceFitImplants=False):\r\n        for fitobj in cls.fitObjectIter(fit, forceFitImplants):\r\n            yield fitobj.item\r\n            charge = getattr(fitobj, 'charge', None)\r\n            if charge:\r\n                yield charge\r\n\r\n    def refreshFit(self, fitID):\r\n        pyfalog.debug(\"Refresh fit for fit ID: {0}\", fitID)\r\n        if fitID is None:\r\n            return None\r\n\r\n        fit = eos.db.getFit(fitID)\r\n        eos.db.commit()\r\n        self.recalc(fit)\r\n        self.fill(fit)\r\n\r\n    def recalc(self, fit):\r\n        if isinstance(fit, int):\r\n            fit = self.getFit(fit)\r\n        start_time = time()\r\n        pyfalog.info(\"=\" * 10 + \"recalc: {0}\" + \"=\" * 10, fit.name)\r\n\r\n        fit.factorReload = self.serviceFittingOptions[\"useGlobalForceReload\"]\r\n        fit.clear()\r\n        fit.calculateModifiedAttributes()\r\n        pyfalog.info(\"=\" * 10 + \"recalc time: \" + str(time() - start_time) + \"=\" * 10)\r\n\r\n    def fill(self, fit):\r\n        if isinstance(fit, int):\r\n            fit = self.getFit(fit)\r\n        return fit.fill()\r\n"
  },
  {
    "path": "service/implantSet.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2016 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport copy\r\n\r\nimport eos.db\r\nfrom service.market import Market\r\nfrom eos.saveddata.implant import Implant as es_Implant\r\nfrom eos.saveddata.implantSet import ImplantSet as es_ImplantSet\r\n\r\n\r\nclass ImportError(Exception):\r\n    pass\r\n\r\n\r\nclass ImplantSets:\r\n    instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls.instance is None:\r\n            cls.instance = ImplantSets()\r\n\r\n        return cls.instance\r\n\r\n    @staticmethod\r\n    def getImplantSetList():\r\n        return eos.db.getImplantSetList(None)\r\n\r\n    @staticmethod\r\n    def getImplantSet(name):\r\n        return eos.db.getImplantSet(name)\r\n\r\n    @staticmethod\r\n    def getImplants(setID):\r\n        return eos.db.getImplantSet(setID).implants\r\n\r\n    @staticmethod\r\n    def addImplants(setID, *itemIDs):\r\n        implant_set = eos.db.getImplantSet(setID)\r\n        for itemID in itemIDs:\r\n            implant = es_Implant(eos.db.getItem(itemID))\r\n            implant_set.implants.makeRoom(implant)\r\n            implant_set.implants.append(implant)\r\n        eos.db.commit()\r\n\r\n    @staticmethod\r\n    def removeImplant(setID, implant):\r\n        eos.db.getImplantSet(setID).implants.remove(implant)\r\n        eos.db.commit()\r\n\r\n    @staticmethod\r\n    def newSet(name):\r\n        implant_set = es_ImplantSet()\r\n        implant_set.name = name\r\n        eos.db.save(implant_set)\r\n        return implant_set\r\n\r\n    @staticmethod\r\n    def renameSet(implant_set, newName):\r\n        implant_set.name = newName\r\n        eos.db.save(implant_set)\r\n\r\n    @staticmethod\r\n    def deleteSet(implant_set):\r\n        eos.db.remove(implant_set)\r\n\r\n    @staticmethod\r\n    def copySet(implant_set):\r\n        newS = copy.deepcopy(implant_set)\r\n        eos.db.save(newS)\r\n        return newS\r\n\r\n    @staticmethod\r\n    def saveChanges(implant_set):\r\n        eos.db.save(implant_set)\r\n\r\n    def importSets(self, text):\r\n        sMkt = Market.getInstance()\r\n        lines = text.splitlines()\r\n        newSets = []\r\n        errors = 0\r\n        current = None\r\n        lookup = {}\r\n\r\n        for i, line in enumerate(lines):\r\n            line = line.strip()\r\n            try:\r\n                if line == '' or line[0] == \"#\":  # comments / empty string\r\n                    continue\r\n                if line[:1] == \"[\" and line[-1:] == \"]\":\r\n                    current = es_ImplantSet(line[1:-1])\r\n                    newSets.append(current)\r\n                else:\r\n                    item = sMkt.getItem(line)\r\n                    current.implants.append(es_Implant(item))\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except:\r\n                errors += 1\r\n                continue\r\n\r\n        for implant_set in self.getImplantSetList():\r\n            lookup[implant_set.name] = implant_set\r\n\r\n        for implant_set in newSets:\r\n            if implant_set.name in lookup:\r\n                match = lookup[implant_set.name]\r\n                for implant in implant_set.implants:\r\n                    match.implants.append(es_Implant(implant.item))\r\n            else:\r\n                eos.db.save(implant_set)\r\n\r\n        eos.db.commit()\r\n\r\n        lenImports = len(newSets)\r\n        if lenImports == 0:\r\n            raise ImportError(\"No patterns found for import\")\r\n        if errors > 0:\r\n            raise ImportError(\"%d sets imported from clipboard; %d errors\" %\r\n                              (lenImports, errors))\r\n\r\n    def exportSets(self):\r\n        patterns = self.getImplantSetList()\r\n        patterns.sort(key=lambda p: p.name)\r\n        return es_ImplantSet.exportSets(*patterns)\r\n"
  },
  {
    "path": "service/jargon/__init__.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2018 Filip Sufitchi\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nfrom .jargon import Jargon\r\nfrom .loader import JargonLoader\r\n"
  },
  {
    "path": "service/jargon/defaults.yaml",
    "content": "# Default jargon definitions\n\n# Generic acronyms\nt1:\n  - 't1'\n  - ' I$'\nt2:\n  - 't2'\n  - ' II$'\n1:\n  - '1'\n  - ' I$'\n2:\n  - '2'\n  - ' II$'\n3:\n  - '3'\n  - ' III$'\n4:\n  - '4'\n  - ' IV$'\nmk:\n  - 'mk'\n  - 'mark'\nstd:\n  - 'std'\n  - 'standard'\nscan:\n  - 'scan'\n  - 'probe launcher'\nscanner:\n  - 'scanner'\n  - 'probe launcher'\n\n# Sizes\nsml:\n  - 'sml'\n  - 'small'\nhvy:\n  - 'hvy'\n  - 'heavy'\nlrg:\n  - 'lrg'\n  - 'large'\nxl:\n  - 'xl'\n  - 'x-large'\n\n# British vs american language fixes\narmour:\n  - 'armour'\n  - 'armor'\nneutraliser:  # Copied entry from \"Neutralization\" section\n  - 'neutraliser'\n  - 'neutralizer'\n  - 'neutralization'\n  - 'ev-\\d00'\nstabiliser:\n  - 'stabiliser'\n  - 'stabilizer'\nenergised:\n  - 'energised'\n  - 'energized'\neconomiser:\n  - 'economiser'\n  - 'economizer'\n\n# Damage types\nem:\n  - 'em'\n  - 'mjolnir (.+ )?(missile|rocket|torpedo)'  # Used in missile names\n  - 'electromagnetic'  # Used in doomsday names\n  - 'electron bomb'  # Used in bomb names\ntherm:\n  - 'therm'\n  - 'inferno (.+ )?(missile|rocket|torpedo)'  # Used in missile names\n  - 'plasma smartbomb'  # Used in smartbomb names\n  - 'scorch bomb'  # Used in bomb names\nthermal:\n  - 'thermal'\n  - 'inferno (.+ )?(missile|rocket|torpedo)'  # Used in missile names\n  - 'plasma smartbomb'  # Used in smartbomb names\n  - 'scorch bomb'  # Used in bomb names\nkin:\n  - 'kin'\n  - 'scourge (.+ )?(missile|rocket|torpedo)'  # Used in missile names\n  - 'concussion bomb'  # Used in bomb and smartbomb names\nkinet:\n  - 'kinet'\n  - 'scourge (.+ )?(missile|rocket|torpedo)'  # Used in missile names\n  - 'concussion bomb'  # Used in bomb and smartbomb names\nkinetic:\n  - 'kinetic'\n  - 'scourge (.+ )?(missile|rocket|torpedo)'  # Used in missile names\n  - 'concussion bomb'  # Used in bomb and smartbomb names\nexp:\n  - 'exp'\n  - 'nova (.+ )?(missile|rocket|torpedo)'  # Used in missile names\n  - 'proton smartbomb'  # Used in smartbomb names\n  - 'shrapnel bomb'  # Used in bomb names\nexpl:\n  - 'expl'\n  - 'nova (.+ )?(missile|rocket|torpedo)'  # Used in missile names\n  - 'proton smartbomb'  # Used in smartbomb names\n  - 'shrapnel bomb'  # Used in bomb names\nexplo:\n  - 'explo'\n  - 'nova (.+ )?(missile|rocket|torpedo)'  # Used in missile names\n  - 'proton smartbomb'  # Used in smartbomb names\n  - 'shrapnel bomb'  # Used in bomb names\nexplosive:\n  - 'explosive'\n  - 'nova (.+ )?(missile|rocket|torpedo)'  # Used in missile names\n  - 'proton smartbomb'  # Used in smartbomb names\n  - 'shrapnel bomb'  # Used in bomb names\n\n# Races\ncn:\n  - '(^| )cn'  # Checking only beginning of a word to remove unwanted spam\n  - 'caldari navy'\nrf:\n  - '(^| )rf'  # Checking only beginning of a word to remove unwanted spam\n  - 'republic fleet'\nin:\n  - '(^| )in'  # Checking only beginning of a word to remove unwanted spam\n  - 'imperial navy'\nfn:\n  - '(^| )fn'  # Checking only beginning of a word to remove unwanted spam\n  - 'federation navy'\nts:\n  - '(^| )ts'  # Checking only beginning of a word to remove unwanted spam\n  - 'true sansha'\n  - 'titanium sabot'\ndb:\n  - '(^| )db'  # Checking only beginning of a word to remove unwanted spam\n  - 'dark blood'\ndg:\n  - '(^| )dg'  # Checking only beginning of a word to remove unwanted spam\n  - 'dread guristas'\nss:\n  - '(^| )ss'  # Checking only beginning of a word to remove unwanted spam\n  - 'shadow serpentis'\n\n# Weapons\nac:\n  - 'ac'\n  - 'autocannon'\narty:\n  - 'arty'\n  - 'artillery'\nml:\n  - 'ml'\n  - 'missile (launcher|bay)'\nrl:\n  - 'rl'\n  - 'rocket (launcher|bay)'\nlml:\n  - 'lml'\n  - '(?<!rapid )light missile (launcher|bay)'\nrlml:\n  - 'rlml'\n  - 'rapid light missile (launcher|bay)'\nhaml:\n  - 'haml'\n  - 'heavy assault missile (launcher|bay)'\nhml:\n  - 'hml'\n  - '(?<!rapid )heavy missile (launcher|bay)'\nrhml:\n  - 'rhml'\n  - 'rapid heavy missile (launcher|bay)'\ntl:\n  - '(^| )tl'  # Checking only beginning of a word to remove unwanted spam\n  - '(?<!rapid )(?<!XL )torpedo (launcher|bay)'\n  - 'remote tracking computer'\n  - '(optimal range|tracking speed) script'\ncml:\n  - 'cml'\n  - '(?<!xl )cruise (missile )?(launcher|bay)'\nrtl:\n  - 'rtl'\n  - 'rapid torpedo (launcher|bay)'\n  - 'remote tracking computer'\n  - '(optimal range|tracking speed) script'\nxlcml:\n  - 'xlcml'\n  - 'xl cruise missile (launcher|bay)'\nxltl:\n  - 'xltl'\n  - 'xl torpedo (launcher|bay)'\ndd:\n  - 'dd'\n  - 'doomsday'\n  - 'lance$'\n  - 'reaper'\n  - 'bosonic'\n  - 'arcing vorton projector'\ndoomsday:\n  - 'doomsday'\n  - 'lance$'\n  - 'reaper'\n  - 'bosonic'\n  - 'arcing vorton projector'\n# Related entry in other section: \"em\" in \"Damage types\"\ngtfo:\n  - 'gravitational transportation field oscillator'\npanic:\n  - 'pulse activated nexus invulnerability core'\nsb:\n  - 'sb'\n  - 'smartbomb'\n  - '(?<!remote )shield booster'\n  - '(?<!remote )sensor booster'\n  - '(targeting range|scan resolution|eccm) script'\ndisco:\n  - 'disco'\n  - 'smartbomb'\nsbomb:\n  - 'sbomb'\n  - 'smartbomb'\n# Related entry in other section: \"therm\" in \"Damage types\"\n# Related entry in other section: \"thermal\" in \"Damage types\"\n# Related entry in other section: \"kin\" in \"Damage types\"\n# Related entry in other section: \"kinet\" in \"Damage types\"\n# Related entry in other section: \"kinetic\" in \"Damage types\"\n# Related entry in other section: \"exp\" in \"Damage types\"\n# Related entry in other section: \"expl\" in \"Damage types\"\n# Related entry in other section: \"explo\" in \"Damage types\"\n# Related entry in other section: \"explosive\" in \"Damage types\"\npdb:\n  - 'pdb'\n  - 'point defense battery'\nhaw:\n  - 'haw'\n  - 'quad 800mm repeating cannon'\n  - 'triple neutron blaster cannon'\n  - 'quad mega pulse laser'\n  - 'rapid torpedo (launcher|bay)'\n# Related entry in other section: \"pds\" in \"Power and capacitor upgrade modules\"\n\n# Weapon upgrades\ngs:\n  - '(^| )gs'  # Checking only beginning of a word to remove unwanted spam\n  - 'gyrostabilizer'\nmagstab:\n  - 'magstab'\n  - 'magnetic field stabilizer'\nmfs:\n  - 'mfs'\n  - 'magnetic field stabilizer'\nms:\n  - '(^| )ms'  # Checking only beginning of a word to remove unwanted spam\n  - 'magnetic field stabilizer'\nhs:\n  - 'hs'\n  - 'heat sink'\nheatsink:\n  - 'heatsink'\n  - 'heat sink'\nradsink:\n  - 'radsink'\n  - 'entropic radiation sink'\nrs:\n  - '(^| )rs'  # Checking only beginning of a word to remove unwanted spam\n  - 'entropic radiation sink'\nbcs:\n  - 'bcs'\n  - 'ballistic control system'\nbcu:\n  - 'bcu'\n  - 'ballistic control system'\nvts:\n  - 'vts'\n  - 'vorton tuning system'\ntc:\n  - 'tc'\n  - '(?<!remote )tracking computer'\n  - '(optimal range|tracking speed) script'\nte:  # No \"te\" since way too many item names have this letter combination\n  - '(?<!omnidirectional )tracking enhancer'\nrtc:\n  - 'rtc'\n  - 'remote tracking computer'\n  - '(optimal range|tracking speed) script'\n# Related entry in other section: \"tl\" in \"Weapons\"\n# Related entry in other section: \"rtl\" in \"Weapons\"\nmgc:\n  - 'mgc'\n  - 'missile guidance computer'\n  - 'missile (precision|range) script'\nmge:\n  - 'mge'\n  - 'missile guidance enhancer'\nsiege:\n  - 'siege'\n  - 'bastion module'\n  - 'industrial core'\n  - 'triage module'\n\n# Drone upgrades\ndda:\n  - 'dda'\n  - 'drone damage amplifier'\ndla:\n  - 'dla'\n  - 'drone link augmentor'\ndnc:\n  - 'dnc'\n  - 'drone navigation computer'\nfsu:\n  - 'fsu'\n  - 'fighter support unit'\ndte:\n  - 'dte'\n  - 'omnidirectional tracking enhancer'\note:\n  - '(^| )ote'  # Checking only beginning of a word to remove unwanted spam\n  - 'omnidirectional tracking enhancer'\nodte:\n  - 'odte'\n  - 'omnidirectional tracking enhancer'\ndtl:\n  - 'dtl'\n  - 'omnidirectional tracking link'\n  - '(optimal range|tracking speed) script'\notl:\n  - 'otl'\n  - 'omnidirectional tracking link'\n  - '(optimal range|tracking speed) script'\nodtl:\n  - 'odtl'\n  - 'omnidirectional tracking link'\n  - '(optimal range|tracking speed) script'\ndtc:\n  - 'dtc'\n  - 'omnidirectional tracking link'\n  - '(optimal range|tracking speed) script'\notc:\n  - 'otc'\n  - 'omnidirectional tracking link'\n  - '(optimal range|tracking speed) script'\nodtc:\n  - 'odtc'\n  - 'omnidirectional tracking link'\n  - '(optimal range|tracking speed) script'\nmlu:\n  - 'mlu'\n  - '(mining laser|harvester) upgrade'\n\n# Remote repair mods\nrr:\n  - '(^| )rr'  # Checking only beginning of a word to remove unwanted spam\n  - 'remote shield booster'\n  - 'remote (armor|hull) repairer'\n  - 'maintenance bot'\nsrr:\n  - 'srr'\n  - 'small (.+ )?remote shield booster'\n  - 'small (.+ )?remote (armor|hull) repairer'\n  - 'light (.+ )? maintenance bot'\nmrr:\n  - 'mrr'\n  - 'medium (.+ )?remote shield booster'\n  - 'medium (.+ )?remote (armor|hull) repairer'\n  - 'heavy mutadaptive (.+ )?remote armor repairer'\n  - 'medium (.+ )?maintenance bot'\nlrr:\n  - 'lrr'\n  - 'large (.+ )?remote shield booster'\n  - 'large (.+ )?remote (armor|hull) repairer'\n  - 'heavy (.+ )?maintenance bot'\ncrr:\n  - 'crr'\n  - 'capital (.+ )?remote shield booster'\n  - 'capital (.+ )?remote (armor|hull) repairer'\nrsb:\n  - 'rsb'\n  - 'remote shield booster'\n  - 'shield maintenance bot'\n  - 'remote sensor booster'\n  - '(targeting range|scan resolution|eccm) script'\nsrsb:\n  - 'srsb'\n  - 'small (.+ )?remote shield booster'\n  - 'light shield maintenance bot'\nmrsb:\n  - 'mrsb'\n  - 'medium (.+ )?remote shield booster'\n  - 'medium shield maintenance bot'\nlrsb:\n  - 'lrsb'\n  - 'large (.+ )?remote shield booster'\n  - 'heavy shield maintenance bot'\ncrsb:\n  - 'crsb'\n  - 'capital (.+ )?remote shield booster'\nrasb:\n  - 'rasb'\n  - 'ancillary remote shield booster'\nsrasb:\n  - 'srasb'\n  - 'small ancillary remote shield booster'\nmrasb:\n  - 'mrasb'\n  - 'medium ancillary remote shield booster'\nlrasb:\n  - 'lrasb'\n  - 'large ancillary remote shield booster'\ncrasb:\n  - 'crasb'\n  - 'capital ancillary remote shield booster'\narsb:\n  - 'arsb'\n  - 'ancillary remote shield booster'\nsarsb:\n  - 'sarsb'\n  - 'small ancillary remote shield booster'\nmarsb:\n  - 'marsb'\n  - 'medium ancillary remote shield booster'\nlarsb:\n  - 'larsb'\n  - 'large ancillary remote shield booster'\ncarsb:\n  - 'carsb'\n  - 'capital ancillary remote shield booster'\nrar:\n  - 'rar'\n  - 'remote armor repairer'\nsrar:\n  - 'srar'\n  - 'small (.+ )?remote armor repairer'\n  - 'light (.+ )?armor maintenance bot'\nmrar:\n  - 'mrar'\n  - 'medium (.+ )?remote armor repairer'\n  - 'heavy mutadaptive (.+ )?remote armor repairer'\n  - 'medium (.+ )?armor maintenance bot'\nlrar:\n  - 'lrar'\n  - 'large (.+ )?remote armor repairer'\n  - 'heavy (.+ )?armor maintenance bot'\ncrar:\n  - 'crar'\n  - 'capital (.+ )?remote armor repairer'\nraar:\n  - 'raar'\n  - 'ancillary remote armor repairer'\nsraar:\n  - 'sraar'\n  - 'small ancillary remote armor repairer'\nmraar:\n  - 'mraar'\n  - 'medium ancillary remote armor repairer'\nlraar:\n  - 'lraar'\n  - 'large ancillary remote armor repairer'\ncraar:\n  - 'craar'\n  - 'capital ancillary remote armor repairer'\net:\n  - '(^| )et'  # Checking only beginning of a word to remove unwanted spam\n  - 'remote capacitor transmitter'\nset:\n  - '(^| )set'  # Checking only beginning of a word to remove unwanted spam\n  - 'small (.+ )?remote capacitor transmitter'\nmet:\n  - '(^| )met'  # Checking only beginning of a word to remove unwanted spam\n  - 'medium (.+ )?remote capacitor transmitter'\nlet:\n  - '(^| )let'  # Checking only beginning of a word to remove unwanted spam\n  - 'large (.+ )?remote capacitor transmitter'\ncet:\n  - 'cet'\n  - 'capital (.+ )?remote capacitor transmitter'\nret:\n  - '(^| )ret'  # Checking only beginning of a word to remove unwanted spam\n  - 'remote capacitor transmitter'\nsret:\n  - 'sret'\n  - 'small (.+ )?remote capacitor transmitter'\nmret:\n  - 'mret'\n  - 'medium (.+ )?remote capacitor transmitter'\nlret:\n  - 'lret'\n  - 'large (.+ )?remote capacitor transmitter'\ncret:\n  - 'cret'\n  - 'capital (.+ )?remote capacitor transmitter'\nrct:\n  - 'rct'\n  - 'remote capacitor transmitter'\nsrct:\n  - 'srct'\n  - 'small (.+ )?remote capacitor transmitter'\nmrct:\n  - 'mrct'\n  - 'medium (.+ )?remote capacitor transmitter'\nlrct:\n  - 'lrct'\n  - 'large (.+ )?remote capacitor transmitter'\ncrct:\n  - 'crct'\n  - 'capital (.+ )?remote capacitor transmitter'\n\n\n# Shield modules\nse:  # No \"se\" due to spam of results containing it\n  - '(^| )se-'  # Include se- implants\n  - 'shield extender'\nsse:\n  - '(^| )sse'  # Checking only beginning of a word since \"compressed\" is often used\n  - 'small (.+ )?shield extender'\nmse:\n  - 'mse'\n  - 'medium (.+ )?shield extender'\nlse:\n  - '(^| )lse'  # Checking only beginning of a word since \"pulse\" is often used\n  - 'large (.+ )?shield extender'\ncse:\n  - 'cse'\n  - 'capital (.+ )?shield extender'\naif:\n  - 'aif'\n  - 'multispectrum shield hardener'\ninv:\n  - 'inv'\n  - 'multispectrum shield hardener'\ninvul:\n  - 'invul'\n  - 'multispectrum shield hardener'\ninvuln:\n  - 'invuln'\n  - 'multispectrum shield hardener'\ninvulnerability:\n  - 'invulnerability'\n  - 'multispectrum shield hardener'\n# Related entry in other section: \"sb\" in \"Weapons\"\nssb:\n  - 'ssb'\n  - 'small (.+ )?(?<!remote )shield booster'\nmsb:\n  - 'msb'\n  - 'medium (.+ )?(?<!remote )shield booster'\nlsb:\n  - 'lsb'\n  - '(?<!x-)large (.+ )?(?<!remote )shield booster'\nxlsb:\n  - 'xlsb'\n  - 'x-large (.+ )?(?<!remote )shield booster'\ncsb:\n  - 'csb'\n  - 'capital (.+ )?(?<!remote )shield booster'\nasb:\n  - 'asb'\n  - 'ancillary shield booster'\nsasb:\n  - 'sasb'\n  - 'small ancillary (.+ )?(?<!remote )shield booster'\nmasb:\n  - 'masb'\n  - 'medium ancillary (.+ )?(?<!remote )shield booster'\nlasb:\n  - 'lasb'\n  - '(?<!x-)large ancillary (.+ )?(?<!remote )shield booster'\nxlasb:\n  - 'xlasb'\n  - 'x-large ancillary (.+ )?(?<!remote )shield booster'\ncasb:\n  - 'casb'\n  - 'capital ancillary (.+ )?(?<!remote )shield booster'\nsba:\n  - 'sba'\n  - 'shield boost amplifier'\nspr:\n  - 'spr'\n  - 'shield power relay'\nshieldrech:\n  - 'shieldrech'\n  - 'shield recharger'\nanti:\n  - 'anti'\n  - '(shield|armor) reinforcer'\nanti\\-:\n  - 'anti-'\n  - '(shield|armor) reinforcer'\n\n# Armor modules\neanm:\n  - 'eanm'\n  - 'multispectrum energized membrane'\nenam:  # mistype of \"eanm\"\n  - 'enam'\n  - 'multispectrum energized membrane'\nmem:\n  - 'mem'\n  - 'multispectrum energized membrane'\nanp:\n  - 'anp'\n  - 'multispectrum coating'\nmc:\n  - 'mc'\n  - 'multispectrum coating'\nplating:\n  - 'plating'\n  - 'coating'\nrah:\n  - 'rah'\n  - 'reactive armor hardener'\nar:  # No \"ar\" since way too many item names have this letter combination, like \"artillery\"\n  - '(?<!remote )armor repairer'\nsar:\n  - '(^| )sar'  # Checking only beginning of a word to remove unwanted spam\n  - 'small (.+ )?(?<!remote )armor repairer'\nmar:  # No \"mar\" to remove few item groups with \"market\" and \"mark\"\n  - 'medium (.+ )?(?<!remote )armor repairer'\nlar:\n  - 'lar'\n  - 'large (.+ )?(?<!remote )armor repairer'\ncar:\n  - 'car'\n  - 'capital (.+ )?(?<!remote )armor repairer'\naar:\n  - 'aar'\n  - 'ancillary (.+ )?(?<!remote )armor repairer'\nsaar:\n  - 'saar'\n  - 'small ancillary (.+ )?(?<!remote )armor repairer'\nmaar:\n  - 'maar'\n  - 'medium ancillary (.+ )?(?<!remote )armor repairer'\nlaar:\n  - 'laar'\n  - 'large ancillary (.+ )?(?<!remote )armor repairer'\ncaar:\n  - 'caar'\n  - 'capital ancillary (.+ )?(?<!remote )armor repairer'\n25k:\n  - '25k'\n  - '25000'\n25kmm:\n  - '25kmm'\n  - '25000mm'\n25m:\n  - '25m'\n  - '25000mm'\n\n# Hull modules\ndc:\n  - 'dc'\n  - '(?<!assault )damage control'\ndcu:\n  - 'dcu'\n  - '(?<!assault )damage control'\nadc:\n  - 'adc'\n  - 'assault damage control'\nadcu:\n  - 'adcu'\n  - 'assault damage control'\nehe:\n  - 'ehe'\n  - 'emergency hull energizer'\ncehe:\n  - 'cehe'\n  - 'capital (.+ )?emergency hull energizer'\n\n# Propulsion modules and upgrades\n10k:\n  - '10k'\n  - '10000'\n10kmn:\n  - '10kmn'\n  - '10000mn'\n50k:\n  - '50k'\n  - '50000'\n50kmn:\n  - '50kmn'\n  - '50000mn'\nab:\n  - '(^| )ab'  # Checking only beginning of a word to remove unwanted spam\n  - 'afterburner'\nmwd:\n  - 'mwd'\n  - 'microwarpdrive'\nmjd:\n  - 'mjd'\n  - 'micro jump drive'\n  - 'micro jump field generator'\n  - 'micro jump unit'\nmmjd:\n  - 'mmjd'\n  - 'medium micro jump drive'\nlmjd:\n  - 'lmjd'\n  - 'large micro jump drive'\nmjfg:\n  - 'mjfg'\n  - 'micro jump field generator'\nboosh:\n  - 'boosh'\n  - 'micro jump field generator'\nod:\n  - '(^| )od'  # Checking only beginning of a word to remove unwanted spam\n  - 'overdrive injector'\nodi:\n  - '(^| )odi'  # Checking only beginning of a word to remove unwanted spam\n  - 'overdrive injector'\nistab:\n  - 'istab'\n  - 'inertial stabilizer'\nwcs:\n  - 'wcs'\n  - 'warp core stabilizer'\nwstab:\n  - 'wstab'\n  - 'warp core stabilizer'\njde:\n  - 'jde'\n  - 'jump drive economizer'\nzpme:\n  - 'zpme'\n  - 'zero-point mass entangler'\nsrs:\n  - 'srs'\n  - 'signature radius suppressor'\n\n# Tackling modules\npoint:\n  - '(^| )point'  # Checking only beginning of a word to remove unwanted spam like \"pinpoint\"\n  - '(?<!mobile small )(?<!mobile medium )(?<!mobile large )warp disruptor'\n# Related entry in other section: \"wd\" in \"Weapon disruption\"\nws:\n  - 'ws'\n  - '(?<!heavy )warp scrambler'\nhwd:\n  - 'hwd'\n  - 'heavy warp disruptor'\nhws:\n  - 'hws'\n  - 'heavy warp scrambler'\nwdfg:\n  - 'wdfg'\n  - 'warp disruption field generator'\n  - '^focused warp disruption script'\n  - '^focused warp scrambling script'\ninfinipoint:\n  - 'infinipoint'\n  - 'warp disruption field generator'\n  - '^focused warp disruption script'\n  - '^focused warp scrambling script'\ninfiniscram:\n  - 'infiniscram'\n  - 'warp disruption field generator'\n  - '^focused warp disruption script'\n  - '^focused warp scrambling script'\nbubble:\n  - 'bubble'\n  - 'interdiction sphere launcher'\n  - 'warp disrupt probe'\n  - 'warp disruption field generator'\n  - 'warp disruption (.+ )?projector'\n  - 'mobile (.+ )?warp disruptor'\nwebifier:\n  - 'webifier'\n  - 'grappler'\n  - 'sw-\\d00'\nwub:\n  - 'wub'\n  - 'stasis webification probe'\n  - 'interdiction sphere launcher'\nwubble:\n  - 'wubble'\n  - 'stasis webification probe'\n  - 'interdiction sphere launcher'\nweb:\n  - 'web'\n  - 'grappler'\n  - 'sw-\\d00'\nsw:\n  - 'sw'\n  - 'stasis webifier'\n  - 'stasis grappler'\nsg:\n  - 'sg'\n  - 'stasis grappler'\n\n# Neutralization\nneut:  # No \"neut\" to hide items with word like \"neutron\" in name\n  - 'neutralizer'\n  - 'neutralization'\n  - 'ev-\\d00'\n  - 'void bomb'\nneutralizer:\n  - 'neutralizer'\n  - 'neutralization'\n  - 'ev-\\d00'\n\n# ECM\necm:\n  - 'ecm'\n  - 'jammer'\n  - 'ec-\\d00'\n  - 'lockbreaker bomb'\njam:\n  - 'jam'\n  - 'ecm'\n  - 'ec-\\d00'\n  - 'lockbreaker bomb'\njamm:\n  - 'jamm'\n  - 'ecm'\n  - 'ec-\\d00'\n  - 'lockbreaker bomb'\njammer:\n  - 'jammer'\n  - 'ecm'\n  - 'ec-\\d00'\namarr:\n  - 'amarr'\n  - 'radar'\ncaldari:\n  - 'caldari'\n  - 'gravimetric'\ngallente:\n  - 'gallente'\n  - 'magnetometric'\nminmatar:\n  - 'minmatar'\n  - 'ladar'\nyellow:\n  - 'yellow'\n  - 'radar'\nblue:\n  - 'blue'\n  - 'gravimetric'\ngreen:\n  - 'green'\n  - 'magnetometric'\nred:\n  - 'red'\n  - 'ladar'\nsda:\n  - 'sda'\n  - 'signal distortion amplifier'\n\n# Damps\ndampener:\n  - 'dampener'\n  - 'sd-\\d00'\n  - '(targeting range|scan resolution) dampening script'\ndamp:\n  - 'damp'\n  - 'sd-\\d00'\nsd:\n  - '(^| )sd'  # Checking only beginning of a word to remove unwanted spam\n  - 'sensor dampener'\n  - '(targeting range|scan resolution) dampening script'\nrsd:\n  - 'rsd'\n  - 'sensor dampener'\n  - 'sd-\\d00'\n  - '(targeting range|scan resolution) dampening script'\n\n# Weapon disruption\ntd:\n  - 'td'\n  - 'tracking disrupt'\n  - 'weapon disrupt'\n  - '(optimal range|tracking speed) disruption script'\ngd:\n  - 'gd'\n  - 'guidance disrupt'\n  - 'weapon disrupt'\n  - 'missile (precision|range) disruption script'\nwd:\n  - 'wd'\n  - 'weapon disrupt'\n  - 'tracking disrupt'\n  - 'guidance disrupt'\n  - 'td-\\d00'\n  - '(?<!mobile small )(?<!mobile medium )(?<!mobile large )(?<!heavy )warp disruptor'\n\n# Target painting\ntp:\n  - '(^| )tp'  # Checking only beginning of a word to remove unwanted outpost rigs\n  - 'target painter'\n  - 'target illumination'\n  - 'tp-\\d00'\npaint:\n  - 'paint'\n  - 'target illumination'\npainter:\n  - 'painter'\n  - 'target illumination'\n\n# Power and capacitor upgrade modules\ncpr:\n  - 'cpr'\n  - 'capacitor power relay'\ncaprelay:\n  - 'caprelay'\n  - 'capacitor power relay'\ncaprech:\n  - 'caprech'\n  - 'cap recharger'\npds:\n  - 'pds'\n  - 'power diagnostic system'\n  - 'point defense battery'\npdu:\n  - 'pdu'\n  - 'power diagnostic system'\nrcu:\n  - 'rcu'\n  - 'reactor control unit'\n  - 'reactor control unit'\nrcs:\n  - 'rcs'\n  - 'reactor control unit'\nmapc:\n  - 'mapc'\n  - 'micro auxiliary power core'\ncb:\n  - 'cb'\n  - 'capacitor booster'\n  - 'command burst'\ninj:\n  - 'inj'\n  - 'capacitor booster'\ninjector:\n  - 'injector'\n  - 'capacitor booster'\n\n# Electronics and sensor upgrade modules\ncoproc:\n  - 'coproc'\n  - 'co-proc'\n# Related entry in other section: \"sb\" in \"Weapons\"\nsebo:\n  - 'sebo'\n  - '(?<!remote )sensor booster'\n  - '(targeting range|scan resolution|eccm) script'\n# Related entry in other section: \"rsb\" in \"Remote repair mods\"\nrsebo:\n  - 'rsebo'\n  - 'remote sensor booster'\n  - '(targeting range|scan resolution|eccm) script'\nresebo:\n  - 'resebo'\n  - 'remote sensor booster'\n  - '(targeting range|scan resolution|eccm) script'\nnsa:\n  - 'nsa'\n  - 'networked sensor array'\nisa:\n  - 'isa'\n  - 'integrated sensor array'\nsigamp:\n  - 'sigamp'\n  - 'signal amplifier'\nsa:  # No \"sa\" since too many item names have this letter combination, like \"sabot\"\n  - 'signal amplifier'\neccm:\n  - 'eccm'\n  - '(?<!remote )sensor booster'\n  - 'signal amplifier'\nreccm:\n  - 'reccm'\n  - 'remote sensor booster'\n  - 'eccm script'\n\n# Rigs\nacr:\n  - 'acr'\n  - 'ancillary current router'\nccc:\n  - 'ccc'\n  - 'capacitor control circuit'\nsmc:\n  - 'smc'\n  - 'semiconductor memory cell'\ncdfe:\n  - 'cdfe'\n  - 'core defense field extender'\ncp:\n  - 'cp'\n  - 'command processor'\nats:\n  - 'ats'\n  - 'auto targeting system'\n\n# Implants\nlg:\n  - 'lg'\n  - 'low-grade'\nmg:\n  - 'mg'\n  - 'mid-grade'\nhg:\n  - 'hg'\n  - 'high-grade'\nslave:\n  - 'slave'\n  - 'amulet'\n\n# Ammo\nlm:\n  - '(^| )lm'  # Checking only beginning of a word to remove unwanted spam\n  - 'light missile'\nhm:\n  - '(^| )hm'  # Checking only beginning of a word to remove a few unwanted results\n  - 'heavy missile'\nham:\n  - '(^| )ham'  # Checking only beginning of a word to remove a few unwanted results\n  - 'heavy assault missile'\ncm:\n  - '(^| )cm'  # Checking only beginning of a word to remove unwanted spam such as \"ECM\"\n  - 'cruise missile'\nxlcm:\n  - 'xlcm'\n  - 'xl cruise missile'\nfof:\n  - 'fof'\n  - 'auto-targeting (.+ )?missile'\ngbomb:\n  - 'gbomb'\n  - 'guided bomb'\nir:\n  - '(^| )ir'  # Checking only beginning of a word to remove a few unwanted results\n  - 'infrared'\nmw:\n  - 'mw'\n  - 'microwave'\nuw:\n  - 'uw'\n  - 'microwave'\nuv:\n  - '(^| )uv'  # Checking only beginning of a word to remove a few unwanted results\n  - 'ultraviolet'\nx\\-ray:\n  - 'x-ray'\n  - 'xray'\nmf:\n  - 'mf'\n  - 'multifrequency'\nam:\n  - '(^| )am'  # Checking only beginning of a word to remove spam of unwanted results\n  - 'antimatter'\ncl:\n  - '(^| )cl'  # Checking only beginning of a word to remove spam of unwanted results\n  - 'carbonized lead'\ndu:\n  - '(^| )du'  # Checking only beginning of a word to remove spam of unwanted results\n  - 'depleted uranium'\npp:\n  - '(^| )pp'  # Checking only beginning of a word to remove spam of unwanted results\n  - 'phased plasma'\n# Related entry in other section: \"em\" in \"Damage types\"\n# Related entry in other section: \"therm\" in \"Damage types\"\n# Related entry in other section: \"thermal\" in \"Damage types\"\n# Related entry in other section: \"kin\" in \"Damage types\"\n# Related entry in other section: \"kinet\" in \"Damage types\"\n# Related entry in other section: \"kinetic\" in \"Damage types\"\n# Related entry in other section: \"exp\" in \"Damage types\"\n# Related entry in other section: \"expl\" in \"Damage types\"\n# Related entry in other section: \"explo\" in \"Damage types\"\n# Related entry in other section: \"explosive\" in \"Damage types\"\n# Related entry in other section: \"neut\" in \"Neutralization\"\n# Related entry in other section: \"ecm\" in \"ECM\"\n# Related entry in other section: \"jam\" in \"ECM\"\n# Related entry in other section: \"jamm\" in \"ECM\"\nfvb:\n  - 'fvb'\n  - 'focused void bomb'\nflex:\n  - 'flex'\n  - 'resistance script'\ncharge:\n  - 'charge'\n  - 'cap booster \\d+'\nstick:\n  - 'stick'\n  - 'cap booster \\d+'\nncb:\n  - 'ncb'\n  - 'navy cap booster \\d+'\nnrp:\n  - 'nrp'\n  - 'nanite repair paste'\nnp:\n  - '(^| )np'  # Checking only beginning of a word to remove unwanted results\n  - 'nanite repair paste'\nlo:\n  - '(^| )lo'  # Checking only beginning of a word to remove some unwanted results, still spammy though\n  - 'liquid ozone'\n\n# Deployables\nmju:\n  - 'mju'\n  - 'micro jump unit'\nmmju:\n  - 'mmju'\n  - 'mobile micro jump unit'\n# Related entry in other section: \"mjd\" in \"Propulsion modules and upgrades\"\ness:\n  - 'encounter surveillance system'\nmtu:\n  - 'mtu'\n  - 'mobile tractor unit'\n# Related entry in other section: \"bubble\" in \"Tackle modules\"\n"
  },
  {
    "path": "service/jargon/header.yaml",
    "content": "# This is a Pyfa jargon file for user definitions.\n#\n# It is essentially a giant set of find/replace statements in order to translate\n# abbreviated Eve community terms into more useful full terms. It is intended\n# for translation of strings such as \"haml 2\" \"into \"Heavy Assault Missile Launcher II\"..\n#\n# These abbreviations are not case-sensitive. If abbreviations collide, the\n# later one is used.\n#\n# Abbreviations with spaces are not supported.\n#\n# Syntax:\n#\n#  abbreviation:\n#    - abbreviation\n#    - replacement 1\n#    - replacement 2\n#\n# If you do not want abbreviation to expand into itself, just do not add corresponding\n# entry. It might make sense for abbreviations like:\n#\n#  lse:\n#    - large shield extender\n#\n# If you add \"lse\" as first entry, it will return too many entries you do not want to see,\n# like all items which have word \"pulse\".\n#\n# The default jargon definitions are stored in pyfa/service/jargon/defaults.yaml. Definitions\n# stored in this file have priority. Should you wish to disable any of default definitions,\n# simply add entry like:\n#\n#  abbreviation:\n#    - abbreviation\n#\n\n"
  },
  {
    "path": "service/jargon/jargon.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2018 Filip Sufitchi\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nclass Jargon:\r\n\r\n    def __init__(self, rawdata: dict):\r\n        self._rawdata = rawdata\r\n\r\n        # copy the data to lowercase keys, ignore blank keys\r\n        self._data = {str(k).lower(): v for k, v in rawdata.items() if k}\r\n\r\n    def get(self, term: str) -> str:\r\n        return self._data.get(term.lower())\r\n\r\n    def get_rawdata(self) -> dict:\r\n        return self._rawdata\r\n\r\n    def apply(self, query_words):\r\n        parts = []\r\n        for word in query_words:\r\n            replacements = self.get(word)\r\n            if replacements:\r\n                parts.append('({})'.format('|'.join(replacements)))\r\n            else:\r\n                parts.append(word)\r\n        return parts\r\n"
  },
  {
    "path": "service/jargon/loader.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2018 Filip Sufitchi\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport os\r\nimport config\r\nimport yaml\r\n\r\nfrom .jargon import Jargon\r\nfrom .resources import DEFAULT_DATA, DEFAULT_HEADER\r\n\r\nUSER_JARGON_PATH = os.path.join(config.savePath, 'user_jargon.yaml') if config.savePath is not None else None\r\n\r\n\r\nclass JargonLoader:\r\n\r\n    def __init__(self):\r\n        self._user_jargon_mtime = 0  # type: int\r\n        self._jargon = None  # type: Jargon\r\n\r\n    def get_jargon(self) -> Jargon:\r\n        if self._is_stale():\r\n            self._load_jargon()\r\n        return self._jargon\r\n\r\n    def _is_stale(self):\r\n        return (not self._jargon or not self._user_jargon_mtime or\r\n                self.jargon_mtime != self._get_user_jargon_mtime())\r\n\r\n    def _load_jargon(self):\r\n        jargondata = yaml.load(DEFAULT_DATA, Loader=yaml.SafeLoader)\r\n        if USER_JARGON_PATH is not None and os.path.isfile(USER_JARGON_PATH):\r\n            with open(USER_JARGON_PATH) as f:\r\n                userdata = yaml.load(f, Loader=yaml.SafeLoader)\r\n            if userdata:\r\n                jargondata.update(userdata)\r\n        self.jargon_mtime = self._get_user_jargon_mtime()\r\n        self._jargon = Jargon(jargondata)\r\n\r\n    def _get_user_jargon_mtime(self) -> int:\r\n        if USER_JARGON_PATH is None or not os.path.isfile(USER_JARGON_PATH):\r\n            return 0\r\n        return os.stat(USER_JARGON_PATH).st_mtime\r\n\r\n    @staticmethod\r\n    def init_user_jargon(jargon_path):\r\n        if not os.path.exists(jargon_path):\r\n            with open(jargon_path, 'w') as f:\r\n                f.write(DEFAULT_HEADER)\r\n                f.write('\\n\\n')\r\n\r\n    _instance = None\r\n\r\n    @staticmethod\r\n    def instance():\r\n        if not JargonLoader._instance:\r\n            JargonLoader._instance = JargonLoader()\r\n        return JargonLoader._instance\r\n\r\n\r\nif USER_JARGON_PATH is not None:\r\n    JargonLoader.init_user_jargon(USER_JARGON_PATH)\r\n"
  },
  {
    "path": "service/jargon/resources.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2018 Filip Sufitchi\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nfrom importlib.resources import files\r\n\r\nPACKAGE_NAME = __name__.rsplit(\".\", maxsplit=1)[0]\r\n\r\nDEFAULT_DATA = files(PACKAGE_NAME).joinpath('defaults.yaml').open('r', encoding='utf8').read()\r\nDEFAULT_HEADER = files(PACKAGE_NAME).joinpath('header.yaml').open('r', encoding='utf8').read()\r\n"
  },
  {
    "path": "service/market.py",
    "content": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# ===============================================================================\r\n\r\nimport queue\r\nimport re\r\nimport threading\r\nfrom collections import OrderedDict\r\nfrom itertools import chain\r\n\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\nfrom sqlalchemy.sql import or_\r\n\r\nimport config\r\nimport eos.db\r\nfrom eos.gamedata import Category as types_Category, Group as types_Group, Item as types_Item, MarketGroup as types_MarketGroup, \\\r\n    MetaGroup as types_MetaGroup\r\nfrom service import conversions\r\nfrom service.jargon import JargonLoader\r\nfrom service.settings import SettingsProvider\r\nfrom utils.cjk import isStringCjk\r\n\r\npyfalog = Logger(__name__)\r\n_t = wx.GetTranslation\r\n\r\n# Event which tells threads dependent on Market that it's initialized\r\nmktRdy = threading.Event()\r\n\r\n\r\nclass RegexTokenizationError(Exception):\r\n    pass\r\n\r\n\r\nclass ShipBrowserWorkerThread(threading.Thread):\r\n    def __init__(self):\r\n        threading.Thread.__init__(self)\r\n        pyfalog.debug(\"Initialize ShipBrowserWorkerThread.\")\r\n        self.name = \"ShipBrowser\"\r\n        self.running = True\r\n\r\n    def run(self):\r\n        self.queue = queue.Queue()\r\n        self.cache = {}\r\n        # Wait for full market initialization (otherwise there's high risky\r\n        # this thread will attempt to init Market which is already being inited)\r\n        mktRdy.wait(5)\r\n        self.processRequests()\r\n\r\n    def processRequests(self):\r\n        queue = self.queue\r\n        cache = self.cache\r\n        sMkt = Market.getInstance()\r\n        while True:\r\n            if not self.running:\r\n                break\r\n            try:\r\n                id_, callback = queue.get()\r\n                set_ = cache.get(id_)\r\n                if set_ is None:\r\n                    set_ = sMkt.getShipList(id_)\r\n                    cache[id_] = set_\r\n\r\n                wx.CallAfter(callback, (id_, set_))\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                pyfalog.critical(\"Callback failed.\")\r\n                pyfalog.critical(e)\r\n            finally:\r\n                try:\r\n                    queue.task_done()\r\n                except (KeyboardInterrupt, SystemExit):\r\n                    raise\r\n                except Exception as e:\r\n                    pyfalog.critical(\"Queue task done failed.\")\r\n                    pyfalog.critical(e)\r\n\r\n    def stop(self):\r\n        self.running = False\r\n\r\n\r\nclass SearchWorkerThread(threading.Thread):\r\n\r\n    def __init__(self):\r\n        threading.Thread.__init__(self)\r\n        self.name = \"SearchWorker\"\r\n        self.jargonLoader = JargonLoader.instance()\r\n        # load the jargon while in an out-of-thread context, to spot any problems while in the main thread\r\n        self.jargonLoader.get_jargon()\r\n        self.jargonLoader.get_jargon().apply('test string'.split())\r\n        self.running = True\r\n\r\n    def run(self):\r\n        self.cv = threading.Condition()\r\n        self.searchRequest = None\r\n        self.processSearches()\r\n\r\n    def processSearches(self):\r\n        cv = self.cv\r\n\r\n        while True:\r\n            if not self.running:\r\n                break\r\n            cv.acquire()\r\n            while self.searchRequest is None:\r\n                cv.wait()\r\n\r\n            request, callback, filterName = self.searchRequest\r\n            self.searchRequest = None\r\n            cv.release()\r\n            sMkt = Market.getInstance()\r\n            if filterName == 'market':\r\n                # Rely on category data provided by eos as we don't hardcode them much in service\r\n                filters = [or_(\r\n                    types_Category.name.in_(sMkt.SEARCH_CATEGORIES),\r\n                    types_Group.name.in_(sMkt.SEARCH_GROUPS))]\r\n            # Used in implant editor\r\n            elif filterName == 'implants':\r\n                filters = [types_Category.name == 'Implant']\r\n            # Actually not everything, just market search + ships\r\n            elif filterName == 'everything':\r\n                filters = [\r\n                    or_(\r\n                        types_Category.name.in_(sMkt.FIT_CATEGORIES),\r\n                        types_Group.name.in_(sMkt.FIT_GROUPS)),\r\n                    or_(\r\n                        types_Category.name.in_(sMkt.SEARCH_CATEGORIES),\r\n                        types_Group.name.in_(sMkt.SEARCH_GROUPS))]\r\n            else:\r\n                filters = [None]\r\n\r\n            if request.strip().lower().startswith('re:'):\r\n                requestTokens = self._prepareRequestRegex(request[3:])\r\n            else:\r\n                requestTokens = self._prepareRequestNormal(request)\r\n            requestTokens = self.jargonLoader.get_jargon().apply(requestTokens)\r\n\r\n            all_results = set()\r\n            joinedTokens = ' '.join(requestTokens)\r\n            if (\r\n                (isStringCjk(joinedTokens) and len(joinedTokens) >= config.minItemSearchLengthCjk)\r\n                or len(joinedTokens) >= config.minItemSearchLength\r\n            ):\r\n                for filter_ in filters:\r\n                    filtered_results = eos.db.searchItemsRegex(\r\n                        requestTokens, where=filter_,\r\n                        join=(types_Item.group, types_Group.category),\r\n                        eager=(\"group.category\", \"metaGroup\"))\r\n                    all_results.update(filtered_results)\r\n\r\n            item_IDs = set()\r\n            # Return only published items, consult with Market service this time\r\n            for item in all_results:\r\n                if sMkt.getPublicityByItem(item):\r\n                    item_IDs.add(item.ID)\r\n            wx.CallAfter(callback, sorted(item_IDs))\r\n\r\n    def scheduleSearch(self, text, callback, filterName=None):\r\n        self.cv.acquire()\r\n        self.searchRequest = (text, callback, filterName)\r\n        self.cv.notify()\r\n        self.cv.release()\r\n\r\n    def stop(self):\r\n        self.running = False\r\n\r\n    def _prepareRequestNormal(self, request):\r\n        # Escape regexp-specific symbols, and un-escape whitespaces\r\n        request = re.escape(request)\r\n        request = re.sub(r'\\\\(?P<ws>\\s+)', r'\\g<ws>', request)\r\n        # Imitate wildcard search\r\n        request = re.sub(r'\\\\\\*', r'\\\\w*', request)\r\n        request = re.sub(r'\\\\\\?', r'\\\\w?', request)\r\n        tokens = request.split()\r\n        return tokens\r\n\r\n    def _prepareRequestRegex(self, request):\r\n        roundLvl = 0\r\n        squareLvl = 0\r\n        nextEscaped = False\r\n        tokens = []\r\n        currentToken = ''\r\n\r\n        def verifyErrors():\r\n            if squareLvl not in (0, 1):\r\n                raise RegexTokenizationError('Square braces level is {}'.format(squareLvl))\r\n            if roundLvl < 0:\r\n                raise RegexTokenizationError('Round braces level is {}'.format(roundLvl))\r\n\r\n        try:\r\n            for char in request:\r\n                thisEscaped = nextEscaped\r\n                nextEscaped = False\r\n                if thisEscaped:\r\n                    currentToken += char\r\n                elif char == '\\\\':\r\n                    currentToken += char\r\n                    nextEscaped = True\r\n                elif char == '[':\r\n                    currentToken += char\r\n                    squareLvl += 1\r\n                elif char == ']':\r\n                    currentToken += char\r\n                    squareLvl -= 1\r\n                elif char == '(' and squareLvl == 0:\r\n                    currentToken += char\r\n                    roundLvl += 1\r\n                elif char == ')' and squareLvl == 0:\r\n                    currentToken += char\r\n                    roundLvl -= 1\r\n                elif char.isspace() and roundLvl == squareLvl == 0:\r\n                    if currentToken:\r\n                        tokens.append(currentToken)\r\n                        currentToken = ''\r\n                else:\r\n                    currentToken += char\r\n                verifyErrors()\r\n            else:\r\n                if currentToken:\r\n                    tokens.append(currentToken)\r\n        # Treat request as normal string if regex tokenization fails\r\n        except RegexTokenizationError:\r\n            tokens = self._prepareRequestNormal(request)\r\n        return tokens\r\n\r\n\r\nclass Market:\r\n    instance = None\r\n\r\n    def __init__(self):\r\n\r\n        # Init recently used module storage\r\n        serviceMarketRecentlyUsedModules = {\"pyfaMarketRecentlyUsedModules\": []}\r\n\r\n        self.serviceMarketRecentlyUsedModules = SettingsProvider.getInstance().getSettings(\r\n                \"pyfaMarketRecentlyUsedModules\", serviceMarketRecentlyUsedModules)\r\n\r\n        # Thread which handles search\r\n        self.searchWorkerThread = SearchWorkerThread()\r\n        self.searchWorkerThread.daemon = True\r\n        self.searchWorkerThread.start()\r\n\r\n        # Ship browser helper thread\r\n        self.shipBrowserWorkerThread = ShipBrowserWorkerThread()\r\n        self.shipBrowserWorkerThread.daemon = True\r\n        self.shipBrowserWorkerThread.start()\r\n\r\n        # Items' group overrides\r\n        self.customGroups = set()\r\n        # Limited edition ships\r\n        self.les_grp = types_Group()\r\n        self.les_grp.ID = -1\r\n        self.les_grp.name = \"Limited Issue Ships\"\r\n        self.les_grp.displayName = _t(\"Limited Issue Ships\")\r\n        self.les_grp.published = True\r\n        ships = self.getCategory(\"Ship\")\r\n        self.les_grp.category = ships\r\n        self.les_grp.categoryID = ships.ID\r\n        self.les_grp.description = \"\"\r\n        self.les_grp.icon = None\r\n        self.ITEMS_FORCEGROUP = {\r\n            \"Capsule\"                     : self.getGroup(\"Shuttle\"),\r\n            \"Opux Luxury Yacht\"           : self.les_grp,  # One of those is wedding present at CCP fanfest, another was hijacked from ISD guy during an event\r\n            \"Silver Magnate\"              : self.les_grp,  # Amarr Championship prize\r\n            \"Gold Magnate\"                : self.les_grp,  # Amarr Championship prize\r\n            \"Armageddon Imperial Issue\"   : self.les_grp,  # Amarr Championship prize\r\n            \"Apocalypse Imperial Issue\"   : self.les_grp,  # Amarr Championship prize\r\n            \"Guardian-Vexor\"              : self.les_grp,  # Illegal rewards for the Gallente Frontier Tour Lines event arc\r\n            \"Megathron Federate Issue\"    : self.les_grp,  # Reward during Crielere event\r\n            \"Raven State Issue\"           : self.les_grp,  # AT4 prize\r\n            \"Tempest Tribal Issue\"        : self.les_grp,  # AT4 prize\r\n            \"Apotheosis\"                  : self.les_grp,  # 5th EVE anniversary present\r\n            \"Zephyr\"                      : self.les_grp,  # 2010 new year gift\r\n            \"Primae\"                      : self.les_grp,  # Promotion of planetary interaction\r\n            \"Council Diplomatic Shuttle\"  : self.les_grp,  # CSM X celebration\r\n            \"Freki\"                       : self.les_grp,  # AT7 prize\r\n            \"Mimir\"                       : self.les_grp,  # AT7 prize\r\n            \"Utu\"                         : self.les_grp,  # AT8 prize\r\n            \"Adrestia\"                    : self.les_grp,  # AT8 prize\r\n            \"Echelon\"                     : self.les_grp,  # 2011 new year gift\r\n            \"Malice\"                      : self.les_grp,  # AT9 prize\r\n            \"Vangel\"                      : self.les_grp,  # AT9 prize\r\n            \"Cambion\"                     : self.les_grp,  # AT10 prize\r\n            \"Etana\"                       : self.les_grp,  # AT10 prize\r\n            \"Chremoas\"                    : self.les_grp,  # AT11 prize :(\r\n            \"Moracha\"                     : self.les_grp,  # AT11 prize\r\n            \"Stratios Emergency Responder\": self.les_grp,  # Issued for Somer Blink lottery\r\n            \"Miasmos Quafe Ultra Edition\" : self.les_grp,  # Gift to people who purchased FF HD stream\r\n            \"InterBus Shuttle\"            : self.les_grp,\r\n            \"Leopard\"                     : self.les_grp,  # 2013 new year gift\r\n            \"Whiptail\"                    : self.les_grp,  # AT12 prize\r\n            \"Chameleon\"                   : self.les_grp,  # AT12 prize\r\n            \"Victorieux Luxury Yacht\"     : self.les_grp,  # Worlds Collide prize \\o/ chinese getting owned\r\n            \"Imp\"                         : self.les_grp,  # AT13 prize\r\n            \"Fiend\"                       : self.les_grp,  # AT13 prize\r\n            \"Caedes\"                      : self.les_grp,  # AT14 prize\r\n            \"Rabisu\"                      : self.les_grp,  # AT14 prize\r\n            \"Victor\"                      : self.les_grp,  # AT15 prize\r\n            \"Virtuoso\"                    : self.les_grp,  # AT15 prize\r\n            \"Hydra\"                       : self.les_grp,  # AT16 prize\r\n            \"Tiamat\"                      : self.les_grp,  # AT16 prize\r\n            \"Raiju\"                       : self.les_grp,  # AT17 prize\r\n            \"Laelaps\"                     : self.les_grp,  # AT17 prize\r\n            \"Boobook\"                     : self.les_grp,  # 19th EVE anniversary gift\r\n            \"Geri\"                        : self.les_grp,  # AT18 prize\r\n            \"Bestla\"                      : self.les_grp,  # AT18 prize\r\n            \"Metamorphosis\"               : self.les_grp,  # Seems to be anniversary gift\r\n            \"Shapash\"                     : self.les_grp,  # AT19 prize\r\n            \"Cybele\"                      : self.les_grp,  # AT19 prize\r\n            \"Sidewinder\"                  : self.les_grp,  # AT20 prize\r\n            \"Cobra\"                       : self.les_grp,  # AT20 prize\r\n            \"Python\"                      : self.les_grp,  # AT20 prize\r\n            \"Skua\"                        : self.les_grp,  # AT21 prize\r\n            \"Anhinga\"                     : self.les_grp,  # AT21 prize\r\n        }\r\n\r\n        self.ITEMS_FORCEGROUP_R = self.__makeRevDict(self.ITEMS_FORCEGROUP)\r\n        for grp, itemNames in self.ITEMS_FORCEGROUP_R.items():\r\n            grp.addItems = list(self.getItem(i) for i in itemNames)\r\n        self.customGroups.add(self.les_grp)\r\n\r\n        # List of items which are forcibly published or hidden\r\n        self.ITEMS_FORCEPUBLISHED = {\r\n            \"Data Subverter I\"                         : False,  # Not used in EVE, probably will appear with Dust link\r\n            \"QA Cross Protocol Analyzer\"               : False,  # QA modules used by CCP internally\r\n            \"QA Damage Module\"                         : False,\r\n            \"QA ECCM\"                                  : False,\r\n            \"QA Immunity Module\"                       : False,\r\n            \"QA Multiship Module - 10 Players\"         : False,\r\n            \"QA Multiship Module - 20 Players\"         : False,\r\n            \"QA Multiship Module - 40 Players\"         : False,\r\n            \"QA Multiship Module - 5 Players\"          : False,\r\n            \"QA Remote Armor Repair System - 5 Players\": False,\r\n            \"QA Shield Transporter - 5 Players\"        : False,\r\n            \"Goru's Shuttle\"                           : False,\r\n            \"Guristas Shuttle\"                         : False,\r\n            \"Mobile Decoy Unit\"                        : False,  # Seems to be left over test mod for deployables\r\n            \"Tournament Micro Jump Unit\"               : False,  # Normally seen only on tournament arenas\r\n        }\r\n\r\n        # do not publish ships that we convert\r\n        for name in conversions.packs['skinnedShips']:\r\n            self.ITEMS_FORCEPUBLISHED[name] = False\r\n\r\n        if config.debug:\r\n            # Publish Tactical Dessy Modes if in debug\r\n            # Cannot use GROUPS_FORCEPUBLISHED as this does not force items\r\n            # within group to be published, but rather for the group itself\r\n            # to show up on ship list\r\n            group = self.getGroup(\"Ship Modifiers\", eager=\"items\")\r\n            for item in group.items:\r\n                self.ITEMS_FORCEPUBLISHED[item.name] = True\r\n\r\n        # List of groups which are forcibly published\r\n        self.GROUPS_FORCEPUBLISHED = {\r\n            \"Prototype Exploration Ship\": False\r\n        }  # We moved the only ship from this group to other group anyway\r\n\r\n        # Dictionary of items with forced meta groups, uses following format:\r\n        # Item name: (metagroup name, parent type name)\r\n        self.ITEMS_FORCEDMETAGROUP = {\r\n            \"'Habitat' Miner I\": (\"Storyline\", \"Miner I\"),\r\n            \"'Wild' Miner I\": (\"Storyline\", \"Miner I\"),\r\n            \"Khanid Navy Torpedo Launcher\": (\"Faction\", \"Torpedo Launcher I\"),\r\n            \"Dread Guristas Standup Variable Spectrum ECM\": (\"Structure Faction\", \"Standup Variable Spectrum ECM I\"),\r\n            \"Dark Blood Standup Heavy Energy Neutralizer\": (\"Structure Faction\", \"Standup Heavy Energy Neutralizer I\")}\r\n        # Parent type name: set(item names)\r\n        self.ITEMS_FORCEDMETAGROUP_R = {}\r\n        for item, value in list(self.ITEMS_FORCEDMETAGROUP.items()):\r\n            parent = value[1]\r\n            if parent not in self.ITEMS_FORCEDMETAGROUP_R:\r\n                self.ITEMS_FORCEDMETAGROUP_R[parent] = set()\r\n            self.ITEMS_FORCEDMETAGROUP_R[parent].add(item)\r\n        # Dictionary of items with forced market group (service assumes they have no\r\n        # market group assigned in db, otherwise they'll appear in both original and forced groups)\r\n        self.ITEMS_FORCEDMARKETGROUP = {\r\n            \"Advanced Cerebral Accelerator\"             : 2487,  # Implants & Boosters > Booster > Cerebral Accelerators\r\n            \"Civilian Hobgoblin\"                        : 837,  # Drones > Combat Drones > Light Scout Drones\r\n            \"Civilian Light Missile Launcher\"           : 640,  # Ship Equipment > Turrets & Launchers > Missile Launchers > Light Missile Launchers\r\n            \"Civilian Scourge Light Missile\"            : 920,  # Ammunition & Charges > Missiles > Light Missiles > Standard Light Missiles\r\n            \"Civilian Small Remote Armor Repairer\"      : 1059,  # Ship Equipment > Hull & Armor > Remote Armor Repairers > Small\r\n            \"Civilian Small Remote Shield Booster\"      : 603,  # Ship Equipment > Shield > Remote Shield Boosters > Small\r\n            \"Hardwiring - Zainou 'Sharpshooter' ZMX10\"  : 1493,  # Implants & Boosters > Implants > Skill Hardwiring > Missile Implants > Implant Slot 06\r\n            \"Hardwiring - Zainou 'Sharpshooter' ZMX100\" : 1493,  # Implants & Boosters > Implants > Skill Hardwiring > Missile Implants > Implant Slot 06\r\n            \"Hardwiring - Zainou 'Sharpshooter' ZMX1000\": 1493,  # Implants & Boosters > Implants > Skill Hardwiring > Missile Implants > Implant Slot 06\r\n            \"Hardwiring - Zainou 'Sharpshooter' ZMX11\"  : 1493,  # Implants & Boosters > Implants > Skill Hardwiring > Missile Implants > Implant Slot 06\r\n            \"Hardwiring - Zainou 'Sharpshooter' ZMX110\" : 1493,  # Implants & Boosters > Implants > Skill Hardwiring > Missile Implants > Implant Slot 06\r\n            \"Hardwiring - Zainou 'Sharpshooter' ZMX1100\": 1493,  # Implants & Boosters > Implants > Skill Hardwiring > Missile Implants > Implant Slot 06\r\n            \"Prototype Cerebral Accelerator\"            : 2487,  # Implants & Boosters > Booster > Cerebral Accelerators\r\n            \"Prototype Iris Probe Launcher\"             : 712,  # Ship Equipment > Scanning Equipment > Scan Probe Launchers\r\n            \"Standard Cerebral Accelerator\"             : 2487,  # Implants & Boosters > Booster > Cerebral Accelerators\r\n        }\r\n\r\n        self.ITEMS_FORCEDMARKETGROUP_R = self.__makeRevDict(self.ITEMS_FORCEDMARKETGROUP)\r\n\r\n        self.FORCEDMARKETGROUP = {\r\n            685: False,   # Ship Equipment > Electronic Warfare > ECCM\r\n            681: False,   # Ship Equipment > Electronic Warfare > Sensor Backup Arrays\r\n            1639: False,  # Ship Equipment > Fleet Assistance > Command Processors\r\n            2527: True,   # Ship Equipment > Hull & Armor > Mutadaptive Remote Armor Repairers - has hasTypes set to 1 while actually having no types\r\n        }\r\n\r\n        # Misc definitions\r\n        # 0 is for items w/o meta group\r\n        self.META_MAP = OrderedDict([(\"faction\", frozenset((4, 3, 52))),\r\n                                     (\"complex\", frozenset((6,))),\r\n                                     (\"officer\", frozenset((5,)))])\r\n        nonNormalMetas = set(chain(*self.META_MAP.values()))\r\n        self.META_MAP[\"normal\"] = frozenset((0, *(mg.ID for mg in eos.db.getMetaGroups() if mg.ID not in nonNormalMetas)))\r\n        self.META_MAP.move_to_end(\"normal\", last=False)\r\n        self.META_MAP_REVERSE = {sv: k for k, v in self.META_MAP.items() for sv in v}\r\n        self.META_MAP_REVERSE_GROUPED = {}\r\n        i = 0\r\n        for mgids in self.META_MAP.values():\r\n            for mgid in mgids:\r\n                self.META_MAP_REVERSE_GROUPED[mgid] = i\r\n            i += 1\r\n        self.META_MAP_REVERSE_INDICES = self.__makeReverseMetaMapIndices()\r\n        self.SEARCH_CATEGORIES = (\r\n            \"Drone\",\r\n            \"Module\",\r\n            \"Subsystem\",\r\n            \"Charge\",\r\n            \"Implant\",\r\n            \"Deployable\",\r\n            \"Fighter\",\r\n            \"Structure\",\r\n            \"Structure Module\",\r\n        )\r\n        self.SEARCH_GROUPS = (\r\n            \"Ice Product\",\r\n            \"Cargo Container\",\r\n            \"Secure Cargo Container\",\r\n            \"Audit Log Secure Container\",\r\n            \"Freight Container\",\r\n            \"Jump Filaments\",\r\n            \"Triglavian Space Filaments\"\r\n        )\r\n        self.ROOT_MARKET_GROUPS = (9,  # Ship Equipment\r\n                                   1111,  # Rigs\r\n                                   157,  # Drones\r\n                                   11,  # Ammunition & Charges\r\n                                   1112,  # Subsystems\r\n                                   24,  # Implants & Boosters\r\n                                   404,  # Deployable Structures\r\n                                   2202,  # Structure Equipment\r\n                                   2203,  # Structure Modifications\r\n                                   2456  # Filaments\r\n                                   )\r\n        self.SHOWN_MARKET_GROUPS = eos.db.getMarketTreeNodeIds(self.ROOT_MARKET_GROUPS)\r\n        self.FIT_CATEGORIES = ['Ship']\r\n        self.FIT_GROUPS = ['Citadel', 'Engineering Complex', 'Refinery']\r\n        # Tell other threads that Market is at their service\r\n        mktRdy.set()\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls.instance is None:\r\n            cls.instance = Market()\r\n        return cls.instance\r\n\r\n    @staticmethod\r\n    def __makeRevDict(orig):\r\n        \"\"\"Creates reverse dictionary\"\"\"\r\n        rev = {}\r\n        for item, value in list(orig.items()):\r\n            if value not in rev:\r\n                rev[value] = set()\r\n            rev[value].add(item)\r\n        return rev\r\n\r\n    def __makeReverseMetaMapIndices(self):\r\n        revmap = {}\r\n        i = 0\r\n        for mgids in self.META_MAP.values():\r\n            for mgid in mgids:\r\n                revmap[mgid] = i\r\n            i += 1\r\n        return revmap\r\n\r\n    @staticmethod\r\n    def getItem(identity, *args, **kwargs):\r\n        \"\"\"Get item by its ID or name\"\"\"\r\n        try:\r\n            if isinstance(identity, types_Item):\r\n                item = identity\r\n            elif isinstance(identity, int):\r\n                item = eos.db.getItem(identity, *args, **kwargs)\r\n            elif isinstance(identity, str):\r\n                # We normally lookup with string when we are using import/export\r\n                # features. Check against overrides\r\n                identity = conversions.all.get(identity, identity)\r\n                item = eos.db.getItem(identity, *args, **kwargs)\r\n\r\n            elif isinstance(identity, float):\r\n                id_ = int(identity)\r\n                item = eos.db.getItem(id_, *args, **kwargs)\r\n            else:\r\n                raise TypeError(\"Need Item object, integer, float or string as argument\")\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            pyfalog.error(\"Could not get item: {0}\", identity)\r\n            raise\r\n\r\n        return item\r\n\r\n    @staticmethod\r\n    def getItems(itemIDs, eager=None):\r\n        items = eos.db.getItems(itemIDs, eager=eager)\r\n        return items\r\n\r\n    def getGroup(self, identity, *args, **kwargs):\r\n        \"\"\"Get group by its ID or name\"\"\"\r\n        if isinstance(identity, types_Group):\r\n            return identity\r\n        elif isinstance(identity, (int, float, str)):\r\n            if isinstance(identity, float):\r\n                identity = int(identity)\r\n            # Check custom groups\r\n            for cgrp in self.customGroups:\r\n                # During first comparison we need exact int, not float for matching\r\n                if cgrp.ID == identity or cgrp.name == identity:\r\n                    # Return first match\r\n                    return cgrp\r\n            # Return eos group if everything else returned nothing\r\n            return eos.db.getGroup(identity, *args, **kwargs)\r\n        else:\r\n            raise TypeError(\"Need Group object, integer, float or string as argument\")\r\n\r\n    @staticmethod\r\n    def getCategory(identity, *args, **kwargs):\r\n        \"\"\"Get category by its ID or name\"\"\"\r\n        if isinstance(identity, types_Category):\r\n            category = identity\r\n        elif isinstance(identity, (int, str)):\r\n            category = eos.db.getCategory(identity, *args, **kwargs)\r\n        elif isinstance(identity, float):\r\n            id_ = int(identity)\r\n            category = eos.db.getCategory(id_, *args, **kwargs)\r\n        else:\r\n            raise TypeError(\"Need Category object, integer, float or string as argument\")\r\n        return category\r\n\r\n    @staticmethod\r\n    def getMetaGroup(identity, *args, **kwargs):\r\n        \"\"\"Get meta group by its ID or name\"\"\"\r\n        if isinstance(identity, types_MetaGroup):\r\n            metaGroup = identity\r\n        elif isinstance(identity, (int, str)):\r\n            metaGroup = eos.db.getMetaGroup(identity, *args, **kwargs)\r\n        elif isinstance(identity, float):\r\n            id_ = int(identity)\r\n            metaGroup = eos.db.getMetaGroup(id_, *args, **kwargs)\r\n        else:\r\n            raise TypeError(\"Need MetaGroup object, integer, float or string as argument\")\r\n        return metaGroup\r\n\r\n    @staticmethod\r\n    def getMarketGroup(identity, *args, **kwargs):\r\n        \"\"\"Get market group by its ID\"\"\"\r\n        if isinstance(identity, types_MarketGroup):\r\n            marketGroup = identity\r\n        elif isinstance(identity, (int, float)):\r\n            id_ = int(identity)\r\n            marketGroup = eos.db.getMarketGroup(id_, *args, **kwargs)\r\n        else:\r\n            raise TypeError(\"Need MarketGroup object, integer or float as argument\")\r\n        return marketGroup\r\n\r\n    def getGroupByItem(self, item):\r\n        \"\"\"Get group by item\"\"\"\r\n        if item.typeName in self.ITEMS_FORCEGROUP:\r\n            group = self.ITEMS_FORCEGROUP[item.typeName]\r\n        else:\r\n            group = item.group\r\n        return group\r\n\r\n    def getCategoryByItem(self, item):\r\n        \"\"\"Get category by item\"\"\"\r\n        grp = self.getGroupByItem(item)\r\n        cat = grp.category\r\n        return cat\r\n\r\n    def getMetaGroupByItem(self, item):\r\n        \"\"\"Get meta group by item\"\"\"\r\n        # Check if item is in forced metagroup map\r\n        if item.name in self.ITEMS_FORCEDMETAGROUP:\r\n            metaGroupName = self.ITEMS_FORCEDMETAGROUP[item.name][0]\r\n            metaGroup = eos.db.getMetaGroup(metaGroupName)\r\n        # If no forced meta group is provided, try to use item's\r\n        # meta group if any\r\n        else:\r\n            metaGroup = item.metaGroup\r\n        return metaGroup\r\n\r\n    def getMetaGroupIdByItem(self, item, fallback=0):\r\n        \"\"\"Get meta group ID by item\"\"\"\r\n        id_ = getattr(self.getMetaGroupByItem(item), \"ID\", fallback)\r\n        return id_\r\n\r\n    def getMarketGroupByItem(self, item, parentcheck=True):\r\n        \"\"\"Get market group by item, its ID or name\"\"\"\r\n        # Check if we force market group for given item\r\n        if item.name in self.ITEMS_FORCEDMARKETGROUP:\r\n            mgid = self.ITEMS_FORCEDMARKETGROUP[item.name]\r\n            if mgid in self.SHOWN_MARKET_GROUPS:\r\n                return self.getMarketGroup(mgid)\r\n            else:\r\n                return None\r\n        # Check if item itself has market group\r\n        elif item.marketGroupID:\r\n            if item.marketGroupID in self.SHOWN_MARKET_GROUPS:\r\n                return item.marketGroup\r\n            else:\r\n                return None\r\n        elif parentcheck:\r\n            # If item doesn't have marketgroup, check if it has parent\r\n            # item and use its market group\r\n            parent = self.getParentItemByItem(item, selfparent=False)\r\n            if parent and parent.marketGroupID in self.SHOWN_MARKET_GROUPS:\r\n                return parent.marketGroup\r\n            else:\r\n                return None\r\n        else:\r\n            return None\r\n\r\n    def getParentItemByItem(self, item, selfparent=True):\r\n        \"\"\"Get parent item by item\"\"\"\r\n        parent = None\r\n        if item.name in self.ITEMS_FORCEDMETAGROUP:\r\n            parentName = self.ITEMS_FORCEDMETAGROUP[item.name][1]\r\n            parent = self.getItem(parentName)\r\n        if parent is None:\r\n            parent = item.varParent\r\n        # Consider self as parent if item has no parent in database\r\n        if parent is None and selfparent is True:\r\n            parent = item\r\n        return parent\r\n\r\n    def getVariationsByItems(self, items, alreadyparent=False):\r\n        \"\"\"Get item variations by item, its ID or name\"\"\"\r\n        # Set for IDs of parent items\r\n        parents = set()\r\n        # Set-container for variables\r\n        variations = set()\r\n        variations_limiter = set()\r\n\r\n        # if item belongs to these categories, use their group to find \"variations\"\r\n        categories = ['Drone', 'Fighter', 'Implant']\r\n\r\n        for item in items:\r\n            if item.category.ID == 20 and item.group.ID != 303:  # Implants not Boosters\r\n                implant_remove_list = set()\r\n                implant_remove_list.add(\"Low-Grade \")\r\n                implant_remove_list.add(\"Low-grade \")\r\n                implant_remove_list.add(\"Mid-Grade \")\r\n                implant_remove_list.add(\"Mid-grade \")\r\n                implant_remove_list.add(\"High-Grade \")\r\n                implant_remove_list.add(\"High-grade \")\r\n                implant_remove_list.add(\"Limited \")\r\n                implant_remove_list.add(\" - Advanced\")\r\n                implant_remove_list.add(\" - Basic\")\r\n                implant_remove_list.add(\" - Elite\")\r\n                implant_remove_list.add(\" - Improved\")\r\n                implant_remove_list.add(\" - Standard\")\r\n\r\n                for implant_prefix in (\"-6\", \"-7\", \"-8\", \"-9\", \"-10\"):\r\n                    for i in range(50):\r\n                        implant_remove_list.add(implant_prefix + str(\"%02d\" % i))\r\n\r\n                for text_to_remove in implant_remove_list:\r\n                    if text_to_remove in item.name:\r\n                        variations_limiter.add(item.name.replace(text_to_remove, \"\"))\r\n\r\n            # Get parent item\r\n            if alreadyparent is False:\r\n                parent = self.getParentItemByItem(item)\r\n            else:\r\n                parent = item\r\n            # Combine both in the same set\r\n            parents.add(parent)\r\n            # Check for overrides and add them if any\r\n            if parent.name in self.ITEMS_FORCEDMETAGROUP_R:\r\n                for _item in self.ITEMS_FORCEDMETAGROUP_R[parent.name]:\r\n                    i = self.getItem(_item)\r\n                    if i:\r\n                        variations.add(i)\r\n        # Add all parents to variations set\r\n        variations.update(parents)\r\n        # Add all variations of parents to the set\r\n        parentids = tuple(item.ID for item in parents)\r\n        groupids = tuple(item.group.ID for item in parents if item.category.name in categories)\r\n        variations_list = eos.db.getVariations(parentids, groupids)\r\n\r\n        if variations_limiter:\r\n            for limit in variations_limiter:\r\n                trimmed_variations_list = [variation_item for variation_item in variations_list if limit in variation_item.name]\r\n            if trimmed_variations_list:\r\n                variations_list = trimmed_variations_list\r\n\r\n        # If the items are boosters then filter variations to only include boosters for the same slot.\r\n        BOOSTER_GROUP_ID = 303\r\n        if all(map(lambda i: i.group.ID == BOOSTER_GROUP_ID, items)) and len(items) > 0:\r\n            # 'boosterness' is the database's attribute name for Booster Slot\r\n            reqSlot = next(items.__iter__()).getAttribute('boosterness')\r\n            # If the item and it's variation both have a marketGroupID it should match for the variation to be considered valid.\r\n            marketGroupID = [next(filter(None, map(lambda i: i.marketGroupID, items)), None), None]\r\n            matchSlotAndMktGrpID = lambda v: v.getAttribute('boosterness') == reqSlot and v.marketGroupID in marketGroupID\r\n            variations_list = list(filter(matchSlotAndMktGrpID, variations_list))\r\n\r\n        variations.update(variations_list)\r\n        return variations\r\n\r\n    def getGroupsByCategory(self, cat):\r\n        \"\"\"Get groups from given category\"\"\"\r\n        groups = set([grp for grp in cat.groups if self.getPublicityByGroup(grp)])\r\n\r\n        return groups\r\n\r\n    @staticmethod\r\n    def getMarketGroupChildren(mg):\r\n        \"\"\"Get the children marketGroups of marketGroup.\"\"\"\r\n        children = set()\r\n        for child in mg.children:\r\n            children.add(child)\r\n        return children\r\n\r\n    def getItemsByGroup(self, group):\r\n        \"\"\"Get items assigned to group\"\"\"\r\n        # Return only public items; also, filter out items\r\n        # which were forcibly set to other groups\r\n        groupItems = set(group.items)\r\n        if hasattr(group, 'addItems'):\r\n            groupItems.update(group.addItems)\r\n        items = set([\r\n            item for item in groupItems\r\n            if self.getPublicityByItem(item) and self.getGroupByItem(item) == group])\r\n        return items\r\n\r\n    def getItemsByMarketGroup(self, mg, vars_=True):\r\n        \"\"\"Get items in the given market group\"\"\"\r\n        result = set()\r\n        # Get items from eos market group\r\n        baseitms = set(mg.items)\r\n        # Add hardcoded items to set\r\n        if mg.ID in self.ITEMS_FORCEDMARKETGROUP_R:\r\n            forceditms = set(self.getItem(itmn) for itmn in self.ITEMS_FORCEDMARKETGROUP_R[mg.ID])\r\n            baseitms.update(forceditms)\r\n        if vars_:\r\n            parents = set()\r\n            for item in baseitms:\r\n                # Add one of the base market group items to result\r\n                result.add(item)\r\n                parent = self.getParentItemByItem(item, selfparent=False)\r\n                # If item has no parent, it's base item (or at least should be)\r\n                if parent is None:\r\n                    parents.add(item)\r\n            # Fetch variations only for parent items\r\n            variations = self.getVariationsByItems(parents, alreadyparent=True)\r\n            for variation in variations:\r\n                # Exclude items with their own explicitly defined market groups\r\n                if self.getMarketGroupByItem(variation, parentcheck=False) is None:\r\n                    result.add(variation)\r\n        else:\r\n            result = baseitms\r\n        # Get rid of unpublished items\r\n        result = set([item_ for item_ in result if self.getPublicityByItem(item_)])\r\n        return result\r\n\r\n    def marketGroupHasTypesCheck(self, mg):\r\n        \"\"\"If market group has any items, return true\"\"\"\r\n        if mg and mg.ID in self.ITEMS_FORCEDMARKETGROUP_R:\r\n            # This shouldn't occur normally but makes errors more mild when ITEMS_FORCEDMARKETGROUP is outdated.\r\n            if len(mg.children) > 0 and len(mg.items) == 0:\r\n                pyfalog.error((\"Market group \\\"{0}\\\" contains no items and has children. \"\r\n                    \"ITEMS_FORCEDMARKETGROUP is likely outdated and will need to be \"\r\n                    \"updated for {1} to display correctly.\").format(mg, self.ITEMS_FORCEDMARKETGROUP_R[mg.ID]))\r\n                return False\r\n            return True\r\n        elif len(mg.items) > 0 and len(mg.children) == 0:\r\n            return True\r\n        else:\r\n            return False\r\n\r\n    def marketGroupValidityCheck(self, mg):\r\n        \"\"\"Check market group validity\"\"\"\r\n        # The only known case when group can be invalid is\r\n        # when it's declared to have types, but it doesn't contain anything\r\n        if mg.ID in self.FORCEDMARKETGROUP:\r\n            return self.FORCEDMARKETGROUP[mg.ID]\r\n        if mg.hasTypes and not self.marketGroupHasTypesCheck(mg):\r\n            return False\r\n        else:\r\n            return True\r\n\r\n    def getIconByMarketGroup(self, mg):\r\n        \"\"\"Return icon associated to marketgroup\"\"\"\r\n        if mg.iconID:\r\n            return mg.iconID\r\n        else:\r\n            while mg and not mg.hasTypes:\r\n                mg = mg.parent\r\n            if not mg:\r\n                return \"\"\r\n            elif self.marketGroupHasTypesCheck(mg):\r\n                # Do not request variations to make process faster\r\n                # Pick random item and use its icon\r\n                items = self.getItemsByMarketGroup(mg, vars_=False)\r\n                try:\r\n                    item = items.pop()\r\n                except KeyError:\r\n                    return \"\"\r\n\r\n                return item.iconID if getattr(item, \"icon\", None) else \"\"\r\n            elif self.getMarketGroupChildren(mg) > 0:\r\n                kids = self.getMarketGroupChildren(mg)\r\n                mktGroups = self.getIconByMarketGroup(kids)\r\n                size = len(mktGroups)\r\n                return mktGroups.pop() if size > 0 else \"\"\r\n            else:\r\n                return \"\"\r\n\r\n    def getPublicityByItem(self, item):\r\n        \"\"\"Return if an item is published\"\"\"\r\n        if item.typeName in self.ITEMS_FORCEPUBLISHED:\r\n            pub = self.ITEMS_FORCEPUBLISHED[item.typeName]\r\n        else:\r\n            pub = item.published\r\n        return pub\r\n\r\n    def getPublicityByGroup(self, group):\r\n        \"\"\"Return if an group is published\"\"\"\r\n        if group.name in self.GROUPS_FORCEPUBLISHED:\r\n            pub = self.GROUPS_FORCEPUBLISHED[group.name]\r\n        else:\r\n            pub = group.published\r\n        return pub\r\n\r\n    def getMarketRoot(self):\r\n        \"\"\"\r\n        Get the root of the market tree.\r\n        Returns a list, where each element is a tuple containing:\r\n        the ID, the name and the icon of the group\r\n        \"\"\"\r\n        root = set()\r\n        for id_ in self.ROOT_MARKET_GROUPS:\r\n            mg = self.getMarketGroup(id_)\r\n            root.add(mg)\r\n\r\n        return root\r\n\r\n    def getShipRoot(self):\r\n        cat1 = self.getCategory(\"Ship\")\r\n        cat2 = self.getCategory(\"Structure\")\r\n        root = set(self.getGroupsByCategory(cat1) | self.getGroupsByCategory(cat2))\r\n\r\n        return root\r\n\r\n    def getShipList(self, grpid):\r\n        \"\"\"Get ships for given group id\"\"\"\r\n        grp = self.getGroup(grpid, eager=(\"items\", \"items.group\", \"items.marketGroup\"))\r\n        ships = self.getItemsByGroup(grp)\r\n        return ships\r\n\r\n    def getShipListDelayed(self, id_, callback):\r\n        \"\"\"Background version of getShipList\"\"\"\r\n        self.shipBrowserWorkerThread.queue.put((id_, callback))\r\n\r\n    def searchShips(self, name):\r\n        \"\"\"Find ships according to given text pattern\"\"\"\r\n        filter_ = types_Category.name.in_([\"Ship\", \"Structure\"])\r\n        results = eos.db.searchItems(name, where=filter_,\r\n                                     join=(types_Item.group, types_Group.category),\r\n                                     eager=(\"group.category\", \"metaGroup\"))\r\n        ships = set()\r\n        for item in results:\r\n            if self.getPublicityByItem(item):\r\n                ships.add(item)\r\n        return ships\r\n\r\n    def searchItems(self, name, callback, filterName=None):\r\n        \"\"\"Find items according to given text pattern\"\"\"\r\n        self.searchWorkerThread.scheduleSearch(name, callback, filterName)\r\n\r\n    @staticmethod\r\n    def getItemsWithOverrides():\r\n        overrides = eos.db.getAllOverrides()\r\n        items = set()\r\n        for x in overrides:\r\n            if x.item is None:\r\n                eos.db.saveddata_session.delete(x)\r\n                eos.db.commit()\r\n            else:\r\n                items.add(x.item)\r\n        return list(items)\r\n\r\n    @staticmethod\r\n    def directAttrRequest(items, attribs):\r\n        try:\r\n            itemIDs = tuple([i.ID for i in items])\r\n        except TypeError:\r\n            itemIDs = (items.ID,)\r\n        try:\r\n            attrIDs = tuple([i.ID for i in attribs])\r\n        except TypeError:\r\n            attrIDs = (attribs.ID,)\r\n        info = {}\r\n        for itemID, typeID, val in eos.db.directAttributeRequest(itemIDs, attrIDs):\r\n            info[itemID] = val\r\n\r\n        return info\r\n\r\n    def getImplantTree(self):\r\n        \"\"\"Return implant market group children\"\"\"\r\n        img = self.getMarketGroup(27)\r\n        return self.getMarketGroupChildren(img)\r\n\r\n    def filterItemsByMeta(self, items, metas):\r\n        \"\"\"Filter items by meta lvl\"\"\"\r\n        filtered = [item for item in items if self.getMetaGroupIdByItem(item) in metas]\r\n        return filtered\r\n\r\n    def getReplacements(self, identity):\r\n        item = self.getItem(identity)\r\n        # We already store needed type IDs in database\r\n        replTypeIDs = {int(i) for i in item.replacements.split(\",\") if i} if item.replacements is not None else {}\r\n        if not replTypeIDs:\r\n            return ()\r\n        # As replacements were generated without keeping track which items were published,\r\n        # filter them out here\r\n        items = []\r\n        for typeID in replTypeIDs:\r\n            item = self.getItem(typeID)\r\n            if not item:\r\n                continue\r\n            if self.getPublicityByItem(item):\r\n                items.append(item)\r\n        return items\r\n\r\n    def getRecentlyUsed(self):\r\n        recentlyUsedItems = []\r\n        for itemID in self.serviceMarketRecentlyUsedModules[\"pyfaMarketRecentlyUsedModules\"]:\r\n            item = self.getItem(itemID)\r\n            if item is None:\r\n                self.serviceMarketRecentlyUsedModules[\"pyfaMarketRecentlyUsedModules\"].remove(itemID)\r\n            recentlyUsedItems.append(item)\r\n        return recentlyUsedItems\r\n\r\n    def storeRecentlyUsed(self, itemID):\r\n        recentlyUsedModules = self.serviceMarketRecentlyUsedModules[\"pyfaMarketRecentlyUsedModules\"]\r\n        while itemID in recentlyUsedModules:\r\n            recentlyUsedModules.remove(itemID)\r\n        item = self.getItem(itemID)\r\n        if item.isAbyssal:\r\n            return\r\n        while len(recentlyUsedModules) >= 20:\r\n            recentlyUsedModules.pop(-1)\r\n        recentlyUsedModules.insert(0, itemID)\r\n\r\n    def itemSort(self, item, reverseMktGrp=False):\r\n        catname = self.getCategoryByItem(item).name\r\n        try:\r\n            mktgrpid = self.getMarketGroupByItem(item).ID\r\n        except AttributeError:\r\n            mktgrpid = -1\r\n            pyfalog.warning(\"unable to find market group for {}\".format(item.typeName))\r\n        if reverseMktGrp:\r\n            mktgrpid = -mktgrpid\r\n        parentname = self.getParentItemByItem(item).name\r\n        # Get position of market group\r\n        metagrpid = self.getMetaGroupIdByItem(item)\r\n        metatab = self.META_MAP_REVERSE_GROUPED.get(metagrpid)\r\n        metalvl = item.metaLevel or 0\r\n        return catname, mktgrpid, parentname, metatab, metalvl, item.name\r\n\r\n    def printAllItems(self):\r\n        items = set()\r\n\r\n        def handleMg(marketGroup, path=()):\r\n            marketGroup = self.getMarketGroup(marketGroup, eager=(\"items\", \"items.metaGroup\", \"children\"))\r\n            path = path + (marketGroup.name,)\r\n            print(' > '.join(path))\r\n            for item in self.getItemsByMarketGroup(marketGroup):\r\n                items.add(item.ID)\r\n            for mgc in self.getMarketGroupChildren(marketGroup):\r\n                handleMg(mgc, path=path)\r\n\r\n        for mg in self.ROOT_MARKET_GROUPS:\r\n            handleMg(mg)\r\n        print(sorted(items))\r\n\r\n\r\n"
  },
  {
    "path": "service/marketSources/__init__.py",
    "content": "__all__ = ['evetycoon', 'evemarketdata', 'fuzzwork', 'cevemarket']\r\n"
  },
  {
    "path": "service/marketSources/cevemarket.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2020 Copy Liu\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom xml.dom import minidom\r\n\r\nfrom logbook import Logger\r\n\r\nfrom eos.saveddata.price import PriceStatus\r\nfrom service.network import Network\r\nfrom service.price import Price\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\n\r\nclass CEveMarketBase:\r\n\r\n    @staticmethod\r\n    def fetchPrices(priceMap, fetchTimeout, system=None, serenity=False):\r\n        params = {'typeid': {typeID for typeID in priceMap}}\r\n        if system is not None:\r\n            params['usesystem'] = system\r\n        baseurl = 'https://www.ceve-market.org/api/marketstat' if serenity else 'https://www.ceve-market.org/tqapi/marketstat'\r\n        network = Network.getInstance()\r\n        data = network.get(url=baseurl, type=network.PRICES, params=params, timeout=fetchTimeout)\r\n        xml = minidom.parseString(data.text)\r\n        types = xml.getElementsByTagName('marketstat').item(0).getElementsByTagName('type')\r\n        # Cycle through all types we've got from request\r\n        for type_ in types:\r\n            # Get data out of each typeID details tree\r\n            typeID = int(type_.getAttribute('id'))\r\n            sell = type_.getElementsByTagName('sell').item(0)\r\n            # If price data wasn't there, skip the item\r\n            try:\r\n                percprice = float(sell.getElementsByTagName('percentile').item(0).firstChild.data)\r\n            except (TypeError, ValueError):\r\n                pyfalog.warning('Failed to get price for: {0}', type_)\r\n                continue\r\n            if percprice == 0 and system is not None:\r\n                continue\r\n            priceMap[typeID].update(PriceStatus.fetchSuccess, percprice)\r\n            del priceMap[typeID]\r\n\r\n\r\nclass CEveMarketTq(CEveMarketBase):\r\n\r\n    name = 'ceve-market.org (Tranquility)'\r\n    group = 'tranquility'\r\n\r\n    def __init__(self, priceMap, system, fetchTimeout):\r\n        # Try selected system first\r\n        self.fetchPrices(priceMap, max(2 * fetchTimeout / 3, 2), system, serenity=False)\r\n        # If price was not available - try globally\r\n        if priceMap:\r\n            self.fetchPrices(priceMap, max(fetchTimeout / 3, 2), serenity=False)\r\n\r\n\r\nclass CEveMarketCn(CEveMarketBase):\r\n\r\n    name = 'ceve-market.org (Serenity)'\r\n    group = 'serenity'\r\n\r\n    def __init__(self, priceMap, system, fetchTimeout):\r\n        # Try selected system first\r\n        self.fetchPrices(priceMap, max(2 * fetchTimeout / 3, 2), system, serenity=True)\r\n        # If price was not available - try globally\r\n        if priceMap:\r\n            self.fetchPrices(priceMap, max(fetchTimeout / 3, 2), serenity=True)\r\n\r\n\r\nPrice.register(CEveMarketCn)\r\nPrice.register(CEveMarketTq)\r\n"
  },
  {
    "path": "service/marketSources/evemarketdata.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom xml.dom import minidom\r\n\r\nfrom logbook import Logger\r\n\r\nfrom eos.saveddata.price import PriceStatus\r\nfrom service.network import Network\r\nfrom service.price import Price\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass EveMarketData:\r\n\r\n    name = 'eve-marketdata.com'\r\n    group = 'tranquility'\r\n\r\n    def __init__(self, priceMap, system, fetchTimeout):\r\n        # Try selected system first\r\n        self.fetchPrices(priceMap, max(2 * fetchTimeout / 3, 2), system)\r\n        # If price was not available - try globally\r\n        if priceMap:\r\n            self.fetchPrices(priceMap, max(fetchTimeout / 3, 2))\r\n\r\n    @staticmethod\r\n    def fetchPrices(priceMap, fetchTimeout, system=None):\r\n        params = {'type_ids': ','.join(str(typeID) for typeID in priceMap)}\r\n        if system is not None:\r\n            params['system_id'] = system\r\n        baseurl = 'https://eve-marketdata.com/api/item_prices.xml'\r\n        network = Network.getInstance()\r\n        data = network.get(url=baseurl, type=network.PRICES, params=params, timeout=fetchTimeout)\r\n        xml = minidom.parseString(data.text)\r\n        types = xml.getElementsByTagName('eve').item(0).getElementsByTagName('price')\r\n\r\n        # Cycle through all types we've got from request\r\n        for type_ in types:\r\n            # Get data out of each typeID details tree\r\n            typeID = int(type_.getAttribute('id'))\r\n\r\n            try:\r\n                price = float(type_.firstChild.data)\r\n            except (TypeError, ValueError):\r\n                pyfalog.warning('Failed to get price for: {0}', type_)\r\n                continue\r\n\r\n            # eve-marketdata returns 0 if price data doesn't even exist for the item\r\n            if price == 0:\r\n                continue\r\n            priceMap[typeID].update(PriceStatus.fetchSuccess, price)\r\n            del priceMap[typeID]\r\n\r\n\r\n# Price.register(EveMarketData)\r\n"
  },
  {
    "path": "service/marketSources/evetycoon.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nfrom logbook import Logger\r\n\r\nfrom eos.saveddata.price import PriceStatus\r\nfrom service.network import Network\r\nfrom service.price import Price\r\n\r\npyfalog = Logger(__name__)\r\n\r\nlocations = {\r\n    30000142: (10000002, 60003760),  # Jita 4-4 CNAP\r\n    30002187: (10000043, 60008494),  # Amarr VIII\r\n    30002659: (10000032, 60011866),  # Dodixie\r\n    30002510: (10000030, 60004588),  # Rens\r\n    30002053: (10000042, 60005686)}  # Hek\r\n\r\n\r\nclass EveTycoon:\r\n\r\n    name = 'evetycoon'\r\n    group = 'tranquility'\r\n\r\n    def __init__(self, priceMap, system, fetchTimeout):\r\n        # Try selected system first\r\n        self.fetchPrices(priceMap, max(2 * fetchTimeout / 3, 2), system)\r\n\r\n    @staticmethod\r\n    def fetchPrices(priceMap, fetchTimeout, system=None):\r\n        # Default to jita when system is not found\r\n        regionID, stationID = locations.get(system, locations[30000142])\r\n        baseurl = 'https://evetycoon.com/api/v1/market/stats'\r\n        network = Network.getInstance()\r\n        # Cycle through all types we've got from request\r\n        for typeID in tuple(priceMap):\r\n            url = f'{baseurl}/{regionID}/{typeID}'\r\n            resp = network.get(url=url, params={'locationId': stationID}, type=network.PRICES, timeout=fetchTimeout)\r\n            if resp.status_code != 200:\r\n                continue\r\n            price = resp.json()['sellAvgFivePercent']\r\n            # Price is 0 - no data\r\n            if price == 0:\r\n                continue\r\n            priceMap[typeID].update(PriceStatus.fetchSuccess, price)\r\n            del priceMap[typeID]\r\n\r\n\r\nPrice.register(EveTycoon)\r\n"
  },
  {
    "path": "service/marketSources/fuzzwork.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom logbook import Logger\r\n\r\nfrom eos.saveddata.price import PriceStatus\r\nfrom service.network import Network\r\nfrom service.price import Price\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nlocations = {\r\n    None: {},  # Universe\r\n    30000142: {'station': 60003760},  # Jita 4-4 CNAP\r\n    30002187: {'station': 60008494},  # Amarr VIII\r\n    30002659: {'station': 60011866},  # Dodixie\r\n    30002510: {'station': 60004588},  # Rens\r\n    30002053: {'station': 60005686}}  # Hek\r\n\r\n\r\nclass FuzzworkMarket:\r\n\r\n    name = 'fuzzwork market'\r\n    group = 'tranquility'\r\n\r\n    def __init__(self, priceMap, system, fetchTimeout):\r\n        # Try selected system first\r\n        self.fetchPrices(priceMap, max(2 * fetchTimeout / 3, 2), system)\r\n        # If price was not available - try globally\r\n        if priceMap:\r\n            self.fetchPrices(priceMap, max(fetchTimeout / 3, 2))\r\n\r\n    @staticmethod\r\n    def fetchPrices(priceMap, fetchTimeout, system=None):\r\n        params = {'types': ','.join(str(typeID) for typeID in priceMap)}\r\n        for k, v in locations.get(system, {}).items():\r\n            params[k] = v\r\n        baseurl = 'https://market.fuzzwork.co.uk/aggregates/'\r\n        network = Network.getInstance()\r\n        resp = network.get(url=baseurl, type=network.PRICES, params=params, timeout=fetchTimeout)\r\n        data = resp.json()\r\n        # Cycle through all types we've got from request\r\n        for typeID, typeData in data.items():\r\n            try:\r\n                typeID = int(typeID)\r\n                price = float(typeData['sell']['percentile'])\r\n            except (KeyError, TypeError):\r\n                continue\r\n            # Fuzzworks returns 0 when there's no data for item\r\n            if price == 0:\r\n                continue\r\n            if typeID not in priceMap:\r\n                continue\r\n            priceMap[typeID].update(PriceStatus.fetchSuccess, price)\r\n            del priceMap[typeID]\r\n\r\n\r\nPrice.register(FuzzworkMarket)\r\n"
  },
  {
    "path": "service/network.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport requests\r\nimport socket\r\nfrom logbook import Logger\r\n\r\nimport config\r\nfrom service.settings import NetworkSettings\r\n\r\npyfalog = Logger(__name__)\r\n\r\n# network timeout, otherwise pyfa hangs for a long while if no internet connection\r\ntimeout = 3\r\nsocket.setdefaulttimeout(timeout)\r\n\r\n\r\nclass Error(Exception):\r\n    def __init__(self, msg=None):\r\n        self.message = msg\r\n\r\n\r\nclass RequestError(Exception):\r\n    pass\r\n\r\n\r\nclass AuthenticationError(Exception):\r\n    pass\r\n\r\n\r\nclass ServerError(Exception):\r\n    pass\r\n\r\n\r\nclass TimeoutError(Exception):\r\n    pass\r\n\r\n\r\nclass Network:\r\n    # Request constants - every request must supply this, as it is checked if\r\n    # enabled or not via settings\r\n    ENABLED = 1\r\n    EVE = 2  # Mostly API, but also covers CREST requests. update: might be useless these days, this Network class needs to be reviewed\r\n    PRICES = 4\r\n    UPDATE = 8\r\n\r\n    _instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = Network()\r\n\r\n        return cls._instance\r\n\r\n    def get(self, url, type, **kwargs):\r\n        self.__networkAccessCheck(type)\r\n\r\n        headers = self.__getHeaders()\r\n        proxies = self.__getProxies()\r\n\r\n        try:\r\n            resp = requests.get(url, headers=headers, proxies=proxies, **kwargs)\r\n            resp.raise_for_status()\r\n            return resp\r\n        except requests.exceptions.HTTPError as error:\r\n            pyfalog.warning('HTTPError:')\r\n            pyfalog.warning(error)\r\n            if error.response.status_code == 404:\r\n                raise RequestError()\r\n            elif error.response.status_code == 403:\r\n                raise AuthenticationError()\r\n            elif error.response.status_code >= 500:\r\n                raise ServerError()\r\n            raise Error(error)\r\n        except requests.exceptions.Timeout:\r\n            raise TimeoutError()\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception as error:\r\n            raise Error(error)\r\n\r\n    def post(self, url, type, jsonData, **kwargs):\r\n        self.__networkAccessCheck(type)\r\n\r\n        headers = self.__getHeaders()\r\n        proxies = self.__getProxies()\r\n\r\n        try:\r\n            resp = requests.post(url, json=jsonData, headers=headers, proxies=proxies, **kwargs)\r\n            resp.raise_for_status()\r\n            return resp\r\n        except requests.exceptions.HTTPError as error:\r\n            pyfalog.warning('HTTPError:')\r\n            pyfalog.warning(error)\r\n            if error.response.status_code == 404:\r\n                raise RequestError()\r\n            elif error.response.status_code == 403:\r\n                raise AuthenticationError()\r\n            elif error.response.status_code >= 500:\r\n                raise ServerError()\r\n            raise Error(error)\r\n        except requests.exceptions.Timeout:\r\n            raise TimeoutError()\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception as error:\r\n            raise Error(error)\r\n\r\n    def __networkAccessCheck(self, type):\r\n        # Make sure request is enabled\r\n        access = NetworkSettings.getInstance().getAccess()\r\n        if not self.ENABLED & access or not type & access:\r\n            pyfalog.warning('Access not enabled - please enable in Preferences > Network')\r\n            raise Error('Access not enabled - please enable in Preferences > Network')\r\n\r\n    def __getHeaders(self):\r\n        versionString = '{0}'.format(config.version)\r\n        return {'User-Agent': 'pyfa {0} (python-requests {1})'.format(versionString, requests.__version__)}\r\n\r\n    def __getProxies(self):\r\n        # python-requests supports setting proxy for request as parameter to get() / post()\r\n        # in a form like: proxies = { 'http': 'http://10.10.1.10:3128', 'https': 'http://10.10.1.10:1080' }\r\n        # or with HTTP Basic auth support: proxies = {'http': 'http://user:pass@10.10.1.10:3128/'}\r\n        # then you do: requests.get('http://example.org', proxies=proxies)\r\n        return NetworkSettings.getInstance().getProxySettingsInRequestsFormat()\r\n"
  },
  {
    "path": "service/port/__init__.py",
    "content": "from .efs import EfsPort\r\nfrom .port import Port\r\n"
  },
  {
    "path": "service/port/dna.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport re\r\nfrom collections import OrderedDict\r\n\r\nfrom logbook import Logger\r\n\r\nfrom eos.const import FittingModuleState, FittingSlot\r\nfrom eos.saveddata.cargo import Cargo\r\nfrom eos.saveddata.citadel import Citadel\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom eos.saveddata.fit import Fit\r\nfrom eos.saveddata.module import Module\r\nfrom eos.saveddata.ship import Ship\r\nfrom gui.fitCommands.helpers import activeStateLimit\r\nfrom service.const import PortDnaOptions\r\nfrom service.fit import Fit as svcFit\r\nfrom service.market import Market\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\ndef importDna(string, fitName=None):\r\n    sMkt = Market.getInstance()\r\n    ids = list(map(int, re.findall(r'\\d+', string)))\r\n    for id_ in ids:\r\n        try:\r\n            try:\r\n                Ship(sMkt.getItem(id_))\r\n            except ValueError:\r\n                Citadel(sMkt.getItem(id_))\r\n            string = string[string.index(str(id_)):]\r\n            break\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            pyfalog.warning(\"Exception caught in importDna\")\r\n            pass\r\n    string = string[:string.index(\"::\") + 2]\r\n    info = string.split(\":\")\r\n    return processImportInfo(info, fitName, \";\")\r\n\r\ndef importDnaAlt(string, fitName=None):\r\n    sMkt = Market.getInstance()\r\n    ids = list(map(int, re.findall(r'\\d+', string)))\r\n    for id_ in ids:\r\n        try:\r\n            try:\r\n                Ship(sMkt.getItem(id_))\r\n            except ValueError:\r\n                Citadel(sMkt.getItem(id_))\r\n            string = string[string.index(str(id_)):]\r\n            break\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            pyfalog.warning(\"Exception caught in importDna\")\r\n            pass\r\n    info = string.split(\":\")\r\n    return processImportInfo(info, fitName, \"*\")\r\n\r\ndef processImportInfo(info, fitName, amountSeparator):\r\n    sMkt = Market.getInstance()\r\n    f = Fit()\r\n    try:\r\n        try:\r\n            f.ship = Ship(sMkt.getItem(int(info[0])))\r\n        except ValueError:\r\n            f.ship = Citadel(sMkt.getItem(int(info[0])))\r\n        if fitName is None:\r\n            f.name = \"{0} - DNA Imported\".format(f.ship.item.name)\r\n        else:\r\n            f.name = fitName\r\n    except UnicodeEncodeError:\r\n        def logtransform(s_):\r\n            if len(s_) > 10:\r\n                return s_[:10] + \"...\"\r\n            return s_\r\n\r\n        pyfalog.exception(\"Couldn't import ship data {0}\", [logtransform(s) for s in info])\r\n        return None\r\n\r\n    moduleList = []\r\n    for itemInfo in info[1:]:\r\n        if itemInfo:\r\n            if amountSeparator in itemInfo:\r\n                itemID, amount = itemInfo.split(amountSeparator)\r\n            else:\r\n                itemID = itemInfo\r\n                amount = 1\r\n            item = sMkt.getItem(int(itemID), eager=\"group.category\")\r\n\r\n            if item.category.name == \"Drone\":\r\n                d = Drone(item)\r\n                d.amount = int(amount)\r\n                f.drones.append(d)\r\n            elif item.category.name == \"Fighter\":\r\n                ft = Fighter(item)\r\n                ft.amount = int(amount) if ft.amount <= ft.fighterSquadronMaxSize else ft.fighterSquadronMaxSize\r\n                if ft.fits(f):\r\n                    f.fighters.append(ft)\r\n            elif item.category.name == \"Charge\":\r\n                c = Cargo(item)\r\n                c.amount = int(amount)\r\n                f.cargo.append(c)\r\n            else:\r\n                for i in range(int(amount)):\r\n                    try:\r\n                        m = Module(item)\r\n                    except (KeyboardInterrupt, SystemExit):\r\n                        raise\r\n                    except:\r\n                        pyfalog.warning(\"Exception caught in importDna\")\r\n                        continue\r\n                    # Add subsystems before modules to make sure T3 cruisers have subsystems installed\r\n                    if item.category.name == \"Subsystem\":\r\n                        if m.fits(f):\r\n                            f.modules.append(m)\r\n                    else:\r\n                        m.owner = f\r\n                        if m.isValidState(FittingModuleState.ACTIVE):\r\n                            m.state = activeStateLimit(m.item)\r\n                        moduleList.append(m)\r\n\r\n    # Recalc to get slot numbers correct for T3 cruisers\r\n    sFit = svcFit.getInstance()\r\n    sFit.recalc(f)\r\n    sFit.fill(f)\r\n\r\n    for module in moduleList:\r\n        if module.fits(f):\r\n            module.owner = f\r\n            if module.isValidState(FittingModuleState.ACTIVE):\r\n                module.state = activeStateLimit(module.item)\r\n            f.modules.append(module)\r\n\r\n    return f\r\n\r\n\r\ndef exportDna(fit, options, callback):\r\n    dna = str(fit.shipID)\r\n    subsystems = []  # EVE cares which order you put these in\r\n    mods = OrderedDict()\r\n    charges = OrderedDict()\r\n    for mod in fit.modules:\r\n        if not mod.isEmpty:\r\n            if mod.slot == FittingSlot.SUBSYSTEM:\r\n                subsystems.append(mod)\r\n                continue\r\n            if mod.itemID not in mods:\r\n                mods[mod.itemID] = 0\r\n            mods[mod.itemID] += 1\r\n\r\n            if mod.charge:\r\n                if mod.chargeID not in charges:\r\n                    charges[mod.chargeID] = 0\r\n                # `or 1` because some charges (ie scripts) are without qty\r\n                charges[mod.chargeID] += mod.numCharges or 1\r\n\r\n    for subsystem in sorted(subsystems, key=lambda mod_: mod_.getModifiedItemAttr(\"subSystemSlot\")):\r\n        dna += \":{0};1\".format(subsystem.itemID)\r\n\r\n    for mod in mods:\r\n        dna += \":{0};{1}\".format(mod, mods[mod])\r\n\r\n    for drone in fit.drones:\r\n        dna += \":{0};{1}\".format(drone.itemID, drone.amount)\r\n\r\n    for fighter in fit.fighters:\r\n        dna += \":{0};{1}\".format(fighter.itemID, fighter.amount)\r\n\r\n    for cargo in fit.cargo:\r\n        # DNA format is a simple/dumb format. As CCP uses the slot information of the item itself\r\n        # without designating slots in the DNA standard, we need to make sure we only include\r\n        # charges in the DNA export. If modules were included, the EVE Client will interpret these\r\n        # as being \"Fitted\" to whatever slot they are for, and it causes an corruption error in the\r\n        # client when trying to save the fit\r\n        if cargo.item.category.name == \"Charge\":\r\n            if cargo.item.ID not in charges:\r\n                charges[cargo.item.ID] = 0\r\n            charges[cargo.item.ID] += cargo.amount\r\n\r\n    for charge in charges:\r\n        dna += \":{0};{1}\".format(charge, charges[charge])\r\n\r\n    text = dna + \"::\"\r\n\r\n    if options[PortDnaOptions.FORMATTING]:\r\n        text = '<url=fitting:{}>{}</url>'.format(text, fit.name)\r\n\r\n    if callback:\r\n        callback(text)\r\n    else:\r\n        return text\r\n"
  },
  {
    "path": "service/port/efs.py",
    "content": "import json\r\nfrom math import log\r\nfrom numbers import Number\r\n\r\nfrom logbook import Logger\r\n\r\nimport eos.db\r\nfrom config import getVersion\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\nfrom eos.const import FittingModuleState, FittingHardpoint, FittingSlot\r\nfrom service.const import PortEftRigSize\r\nfrom eos.saveddata.module import Module\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.effectHandlerHelpers import HandledList\r\nfrom eos.db import gamedata_session, getCategory, getAttributeInfo, getGroup\r\nfrom eos.gamedata import Attribute, Effect, Group, Item, ItemEffect\r\nfrom eos.utils.spoolSupport import SpoolType, SpoolOptions\r\nfrom gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand\r\nfrom gui.fitCommands.calc.module.localRemove import CalcRemoveLocalModulesCommand\r\nfrom gui.fitCommands.calc.module.changeCharges import CalcChangeModuleChargesCommand\r\nfrom gui.fitCommands.helpers import ModuleInfo\r\n\r\n\r\npyfalog = Logger(__name__)\r\npyfaVersion = getVersion()\r\n\r\n\r\nclass EfsPort:\r\n    wepTestSet = {}\r\n    version = 0.06\r\n\r\n    @staticmethod\r\n    def attrDirectMap(values, target, source):\r\n        for val in values:\r\n            target[val] = source.getModifiedItemAttr(val)\r\n\r\n    @staticmethod\r\n    def getT2MwdSpeed(fit, sFit):\r\n        fitID = fit.ID\r\n        propID = None\r\n        shipHasMedSlots = fit.ship.getModifiedItemAttr(\"medSlots\") > 0\r\n        shipPower = fit.ship.getModifiedItemAttr(\"powerOutput\")\r\n        # Monitors have a 99% reduction to prop mod power requirements\r\n        if fit.ship.typeName == \"Monitor\":\r\n            shipPower *= 100\r\n        rigSize = fit.ship.getModifiedItemAttr(\"rigSize\")\r\n        if not shipHasMedSlots:\r\n            return None\r\n\r\n        filterVal = Item.groupID == getGroup(\"Propulsion Module\").ID\r\n        propMods = gamedata_session.query(Item).options().filter(filterVal).all()\r\n        mapPropData = lambda propName: \\\r\n                      next(map(lambda propMod: {\"id\": propMod.typeID, \"powerReq\": propMod.attributes[\"power\"].value},\r\n                               (filter(lambda mod: mod.typeName == propName, propMods))))\r\n        mwd5mn = mapPropData(\"5MN Microwarpdrive II\")\r\n        mwd50mn = mapPropData(\"50MN Microwarpdrive II\")\r\n        mwd500mn = mapPropData(\"500MN Microwarpdrive II\")\r\n        mwd50000mn = mapPropData(\"50000MN Microwarpdrive II\")\r\n        if rigSize == PortEftRigSize.SMALL or rigSize is None:\r\n            propID = mwd5mn[\"id\"] if shipPower > mwd5mn[\"powerReq\"] else None\r\n        elif rigSize == PortEftRigSize.MEDIUM:\r\n            propID = mwd50mn[\"id\"] if shipPower > mwd50mn[\"powerReq\"] else mwd5mn[\"id\"]\r\n        elif rigSize == PortEftRigSize.LARGE:\r\n            propID = mwd500mn[\"id\"] if shipPower > mwd500mn[\"powerReq\"] else mwd50mn[\"id\"]\r\n        elif rigSize == PortEftRigSize.CAPITAL:\r\n            propID = mwd50000mn[\"id\"] if shipPower > mwd50000mn[\"powerReq\"] else mwd500mn[\"id\"]\r\n\r\n        if propID is None:\r\n            return None\r\n        cmd = CalcAddLocalModuleCommand(fitID, ModuleInfo(itemID=propID))\r\n        cmd.Do()\r\n        if cmd.needsGuiRecalc:\r\n            sFit.recalc(fit)\r\n        fit = eos.db.getFit(fitID)\r\n        mwdPropSpeed = fit.maxSpeed\r\n        mwdPosition = list(filter(lambda mod: mod.item and mod.item.ID == propID, fit.modules))[0].position\r\n        cmd = CalcRemoveLocalModulesCommand(fitID, [mwdPosition])\r\n        cmd.Do()\r\n        if cmd.needsGuiRecalc:\r\n            sFit.recalc(fit)\r\n        fit = eos.db.getFit(fitID)\r\n        return mwdPropSpeed\r\n\r\n    @staticmethod\r\n    def getPropData(fit, sFit):\r\n        propMods = filter(lambda mod: mod.item and mod.item.group.name == \"Propulsion Module\", fit.modules)\r\n        activePropWBloomFilter = lambda mod: mod.state > 0 and \"signatureRadiusBonus\" in mod.item.attributes\r\n        propWithBloom = next(filter(activePropWBloomFilter, propMods), None)\r\n        if propWithBloom is not None:\r\n            oldPropState = propWithBloom.state\r\n            propWithBloom.state = FittingModuleState.ONLINE\r\n            sFit.recalc(fit)\r\n            sp = fit.maxSpeed\r\n            sig = fit.ship.getModifiedItemAttr(\"signatureRadius\")\r\n            propWithBloom.state = oldPropState\r\n            sFit.recalc(fit)\r\n            return {\"usingMWD\": True, \"unpropedSpeed\": sp, \"unpropedSig\": sig}\r\n        return {\r\n            \"usingMWD\": False,\r\n            \"unpropedSpeed\": fit.maxSpeed,\r\n            \"unpropedSig\": fit.ship.getModifiedItemAttr(\"signatureRadius\")\r\n        }\r\n\r\n    @staticmethod\r\n    def getModsInGroups(fit, modGroupNames):\r\n        matchingMods = list(filter(lambda mod: mod.item and mod.item.group.name in modGroupNames, fit.modules))\r\n        # Sort mods to prevent the order needlessly changing as pyfa updates.\r\n        matchingMods.sort(key=lambda mod: mod.item.ID)\r\n        matchingMods.sort(key=lambda mod: mod.item.group.ID)\r\n        return matchingMods\r\n\r\n    # Note this also includes data for any cap boosters as they \"repair\" cap.\r\n    @staticmethod\r\n    def getRepairData(fit, sFit):\r\n        modGroupNames = [\r\n            \"Shield Booster\", \"Armor Repair Unit\",\r\n            \"Ancillary Shield Booster\", \"Ancillary Armor Repairer\",\r\n            \"Hull Repair Unit\", \"Capacitor Booster\",\r\n        ]\r\n        repairMods = EfsPort.getModsInGroups(fit, modGroupNames)\r\n        repairs = [];\r\n        for mod in repairMods:\r\n            stats = {}\r\n            EfsPort.attrDirectMap([\"duration\", \"capacitorNeed\"], stats, mod)\r\n            if mod.item.group.name in [\"Armor Repair Unit\", \"Ancillary Armor Repairer\"]:\r\n                stats[\"type\"] = \"Armor Repairer\"\r\n                EfsPort.attrDirectMap([\"armorDamageAmount\"], stats, mod)\r\n                if mod.item.group.name == \"Ancillary Armor Repairer\":\r\n                    stats[\"numShots\"] = mod.numShots\r\n                    EfsPort.attrDirectMap([\"reloadTime\", \"chargedArmorDamageMultiplier\"], stats, mod)\r\n            elif mod.item.group.name in [\"Shield Booster\", \"Ancillary Shield Booster\"]:\r\n                stats[\"type\"] = \"Shield Booster\"\r\n                EfsPort.attrDirectMap([\"shieldBonus\"], stats, mod)\r\n                if mod.item.group.name == \"Ancillary Shield Booster\":\r\n                    stats[\"numShots\"] = mod.numShots\r\n                    EfsPort.attrDirectMap([\"reloadTime\"], stats, mod)\r\n                    c = mod.charge\r\n                    if c:\r\n                        sFit.recalc(fit)\r\n                        CalcChangeModuleChargesCommand(\r\n                            fit.ID,\r\n                            projected=False,\r\n                            chargeMap={mod.position: None},\r\n                            recalc=False).Do()\r\n                        sFit.recalc(fit)\r\n                        stats[\"unloadedCapacitorNeed\"] = mod.getModifiedItemAttr(\"capacitorNeed\")\r\n                        CalcChangeModuleChargesCommand(\r\n                            fit.ID,\r\n                            projected=False,\r\n                            chargeMap={mod.position: c.typeID},\r\n                            recalc=False).Do()\r\n                        sFit.recalc(fit)\r\n            elif mod.item.group.name == \"Capacitor Booster\":\r\n                # The capacitorNeed is negative, which provides the boost.\r\n                stats[\"type\"] = \"Capacitor Booster\"\r\n                stats[\"numShots\"] = mod.numShots\r\n                EfsPort.attrDirectMap([\"reloadTime\"], stats, mod)\r\n            repairs.append(stats)\r\n        return repairs\r\n\r\n    @staticmethod\r\n    def getOutgoingProjectionData(fit):\r\n        # This is a subset of module groups capable of projection and a superset of those currently used by efs\r\n        modGroupNames = [\r\n            \"Remote Shield Booster\", \"Warp Scrambler\", \"Stasis Web\", \"Remote Capacitor Transmitter\",\r\n            \"Energy Nosferatu\", \"Energy Neutralizer\", \"Burst Jammer\", \"ECM\", \"Sensor Dampener\",\r\n            \"Weapon Disruptor\", \"Remote Armor Repairer\", \"Target Painter\", \"Remote Hull Repairer\",\r\n            \"Burst Projectors\", \"Warp Disrupt Field Generator\", \"Armor Resistance Shift Hardener\",\r\n            \"Micro Jump Drive\", \"Ship Modifiers\", \"Stasis Grappler\", \"Ancillary Remote Shield Booster\",\r\n            \"Ancillary Remote Armor Repairer\", \"Titan Phenomena Generator\", \"Non-Repeating Hardeners\",\r\n            \"Mutadaptive Remote Armor Repairer\"\r\n        ]\r\n        projectedMods = EfsPort.getModsInGroups(fit, modGroupNames)\r\n        projections = []\r\n        for mod in projectedMods:\r\n            maxRangeDefault = 0\r\n            falloffDefault = 0\r\n            stats = {}\r\n            if mod.item.group.name in [\"Stasis Web\", \"Stasis Grappler\"]:\r\n                stats[\"type\"] = \"Stasis Web\"\r\n                stats[\"optimal\"] = mod.getModifiedItemAttr(\"maxRange\")\r\n                EfsPort.attrDirectMap([\"duration\", \"speedFactor\"], stats, mod)\r\n            elif mod.item.group.name == \"Weapon Disruptor\":\r\n                stats[\"type\"] = \"Weapon Disruptor\"\r\n                stats[\"optimal\"] = mod.getModifiedItemAttr(\"maxRange\")\r\n                stats[\"falloff\"] = mod.getModifiedItemAttr(\"falloffEffectiveness\")\r\n                EfsPort.attrDirectMap([\r\n                    \"trackingSpeedBonus\", \"maxRangeBonus\", \"falloffBonus\", \"aoeCloudSizeBonus\",\r\n                    \"aoeVelocityBonus\", \"missileVelocityBonus\", \"explosionDelayBonus\"\r\n                ], stats, mod)\r\n            elif mod.item.group.name == \"Energy Nosferatu\":\r\n                stats[\"type\"] = \"Energy Nosferatu\"\r\n                EfsPort.attrDirectMap([\"powerTransferAmount\", \"energyNeutralizerSignatureResolution\"], stats, mod)\r\n            elif mod.item.group.name == \"Energy Neutralizer\":\r\n                stats[\"type\"] = \"Energy Neutralizer\"\r\n                EfsPort.attrDirectMap([\r\n                    \"energyNeutralizerSignatureResolution\", \"entityCapacitorLevelModifierSmall\",\r\n                    \"entityCapacitorLevelModifierMedium\", \"entityCapacitorLevelModifierLarge\",\r\n                    \"energyNeutralizerAmount\"\r\n                ], stats, mod)\r\n            elif mod.item.group.name in [\"Remote Shield Booster\", \"Ancillary Remote Shield Booster\"]:\r\n                stats[\"type\"] = \"Remote Shield Booster\"\r\n                EfsPort.attrDirectMap([\"shieldBonus\"], stats, mod)\r\n            elif mod.item.group.name in [\r\n                    \"Remote Armor Repairer\", \"Ancillary Remote Armor Repairer\", \"Mutadaptive Remote Armor Repairer\"\r\n            ]:\r\n                stats[\"type\"] = \"Remote Armor Repairer\"\r\n                EfsPort.attrDirectMap([\"armorDamageAmount\"], stats, mod)\r\n            elif mod.item.group.name in [\"Remote Capacitor Transmitter\"]:\r\n                stats[\"type\"] = \"Remote Capacitor Transmitter\"\r\n                EfsPort.attrDirectMap([\"powerTransferAmount\"], stats, mod)\r\n            elif mod.item.group.name == \"Warp Scrambler\":\r\n                stats[\"type\"] = \"Warp Scrambler\"\r\n                EfsPort.attrDirectMap([\"activationBlockedStrenght\", \"warpScrambleStrength\"], stats, mod)\r\n            elif mod.item.group.name == \"Warp Disrupt Field Generator\":\r\n                maxRangeDefault = mod.getModifiedItemAttr(\"warpScrambleRange\")\r\n                stats[\"type\"] = \"Warp Scrambler\"\r\n                EfsPort.attrDirectMap([\"activationBlockedStrenght\", \"warpScrambleStrength\"], stats, mod)\r\n                if maxRangeDefault >= 30000:\r\n                    # We want this to be 0 for disruption scripts as we have no other way to tell scrams from points.\r\n                    stats[\"activationBlockedStrenght\"] = 0\r\n            elif mod.item.group.name == \"Target Painter\":\r\n                stats[\"type\"] = \"Target Painter\"\r\n                EfsPort.attrDirectMap([\"signatureRadiusBonus\"], stats, mod)\r\n            elif mod.item.group.name == \"Sensor Dampener\":\r\n                stats[\"type\"] = \"Sensor Dampener\"\r\n                EfsPort.attrDirectMap([\"maxTargetRangeBonus\", \"scanResolutionBonus\"], stats, mod)\r\n            elif mod.item.group.name == \"ECM\":\r\n                stats[\"type\"] = \"ECM\"\r\n                EfsPort.attrDirectMap([\r\n                    \"scanGravimetricStrengthBonus\", \"scanMagnetometricStrengthBonus\",\r\n                    \"scanRadarStrengthBonus\", \"scanLadarStrengthBonus\",\r\n                ], stats, mod)\r\n            elif mod.item.group.name == \"Burst Jammer\":\r\n                stats[\"type\"] = \"Burst Jammer\"\r\n                maxRangeDefault = mod.getModifiedItemAttr(\"ecmBurstRange\")\r\n                EfsPort.attrDirectMap([\r\n                    \"scanGravimetricStrengthBonus\", \"scanMagnetometricStrengthBonus\",\r\n                    \"scanRadarStrengthBonus\", \"scanLadarStrengthBonus\",\r\n                ], stats, mod)\r\n            elif mod.item.group.name == \"Micro Jump Drive\":\r\n                stats[\"type\"] = \"Micro Jump Drive\"\r\n                EfsPort.attrDirectMap([\"moduleReactivationDelay\"], stats, mod)\r\n            else:\r\n                pyfalog.error(\"Projected module {0} lacks efs export implementation\".format(mod.item.typeName))\r\n            if mod.getModifiedItemAttr(\"maxRange\", None) is None:\r\n                pyfalog.error(\"Projected module {0} has no maxRange\".format(mod.item.typeName))\r\n\r\n            # Burst jammer maxRange is 0 if the value is retrieved using mod.getModifiedItemAttr(\"maxRange\")\r\n            # Despite it is correct, it still pulls 0.0.\r\n            stats[\"optimal\"] = mod.getModifiedItemAttr(\"maxRange\", maxRangeDefault) if mod.item.group.name != \"Burst Jammer\" else mod.maxRange\r\n            stats[\"falloff\"] = mod.getModifiedItemAttr(\"falloffEffectiveness\", falloffDefault)\r\n            EfsPort.attrDirectMap([\"duration\", \"capacitorNeed\"], stats, mod)\r\n            projections.append(stats)\r\n        return projections\r\n\r\n    # Note that unless padTypeIDs is True all 0s will be removed from modTypeIDs in the return.\r\n    # They always are added initially for the sake of brevity, as this option may not be retained long term.\r\n    @staticmethod\r\n    def getModuleInfo(fit, padTypeIDs=False):\r\n        moduleNames = []\r\n        modTypeIDs = []\r\n        moduleNameSets = {FittingSlot.LOW: [], FittingSlot.MED: [], FittingSlot.HIGH: [], FittingSlot.RIG: [], FittingSlot.SUBSYSTEM: []}\r\n        modTypeIDSets = {FittingSlot.LOW: [], FittingSlot.MED: [], FittingSlot.HIGH: [], FittingSlot.RIG: [], FittingSlot.SUBSYSTEM: []}\r\n        for mod in fit.modules:\r\n            try:\r\n                if mod.item is not None:\r\n                    if mod.charge is not None:\r\n                        modTypeIDSets[mod.slot].append([mod.item.typeID, mod.charge.typeID])\r\n                        moduleNameSets[mod.slot].append(mod.item.typeName + \":  \" + mod.charge.typeName)\r\n                    else:\r\n                        modTypeIDSets[mod.slot].append(mod.item.typeID)\r\n                        moduleNameSets[mod.slot].append(mod.item.typeName)\r\n                else:\r\n                    modTypeIDSets[mod.slot].append(0)\r\n                    moduleNameSets[mod.slot].append(\"Empty Slot\")\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except:\r\n                pyfalog.error(\"Could not find name for module {0}\".format(vars(mod)))\r\n\r\n        for modInfo in [\r\n            [\"High Slots:\"], moduleNameSets[FittingSlot.HIGH], [\"\", \"Med Slots:\"], moduleNameSets[FittingSlot.MED],\r\n            [\"\", \"Low Slots:\"], moduleNameSets[FittingSlot.LOW], [\"\", \"Rig Slots:\"], moduleNameSets[FittingSlot.RIG]\r\n        ]:\r\n            moduleNames.extend(modInfo)\r\n        if len(moduleNameSets[FittingSlot.SUBSYSTEM]) > 0:\r\n            moduleNames.extend([\"\", \"Subsystems:\"])\r\n            moduleNames.extend(moduleNameSets[FittingSlot.SUBSYSTEM])\r\n\r\n        for slotType in [FittingSlot.HIGH, FittingSlot.MED, FittingSlot.LOW, FittingSlot.RIG, FittingSlot.SUBSYSTEM]:\r\n            if slotType is not FittingSlot.SUBSYSTEM or len(modTypeIDSets[slotType]) > 0:\r\n                modTypeIDs.extend([0, 0] if slotType is not FittingSlot.HIGH else [0])\r\n                modTypeIDs.extend(modTypeIDSets[slotType])\r\n\r\n        droneNames = []\r\n        droneIDs = []\r\n        fighterNames = []\r\n        fighterIDs = []\r\n        for drone in fit.drones:\r\n            if drone.amountActive > 0:\r\n                droneIDs.append(drone.item.typeID)\r\n                droneNames.append(\"%s x%s\" % (drone.item.typeName, drone.amount))\r\n        for fighter in fit.fighters:\r\n            if fighter.amount > 0:\r\n                fighterIDs.append(fighter.item.typeID)\r\n                fighterNames.append(\"%s x%s\" % (fighter.item.typeName, fighter.amount))\r\n        if len(droneNames) > 0:\r\n            modTypeIDs.extend([0, 0])\r\n            modTypeIDs.extend(droneIDs)\r\n            moduleNames.extend([\"\", \"Drones:\"])\r\n            moduleNames.extend(droneNames)\r\n        if len(fighterNames) > 0:\r\n            modTypeIDs.extend([0, 0])\r\n            modTypeIDs.extend(fighterIDs)\r\n            moduleNames.extend([\"\", \"Fighters:\"])\r\n            moduleNames.extend(fighterNames)\r\n        if len(fit.implants) > 0:\r\n            modTypeIDs.extend([0, 0])\r\n            moduleNames.extend([\"\", \"Implants:\"])\r\n            for implant in fit.implants:\r\n                modTypeIDs.append(implant.item.typeID)\r\n                moduleNames.append(implant.item.typeName)\r\n        if len(fit.boosters) > 0:\r\n            modTypeIDs.extend([0, 0])\r\n            moduleNames.extend([\"\", \"Boosters:\"])\r\n            for booster in fit.boosters:\r\n                modTypeIDs.append(booster.item.typeID)\r\n                moduleNames.append(booster.item.typeName)\r\n        if len(fit.commandFits) > 0:\r\n            modTypeIDs.extend([0, 0])\r\n            moduleNames.extend([\"\", \"Command Fits:\"])\r\n            for commandFit in fit.commandFits:\r\n                modTypeIDs.append(commandFit.ship.item.typeID)\r\n                moduleNames.append(commandFit.name)\r\n        if len(fit.projectedModules) > 0:\r\n            modTypeIDs.extend([0, 0])\r\n            moduleNames.extend([\"\", \"Projected Modules:\"])\r\n            for mod in fit.projectedModules:\r\n                modTypeIDs.append(mod.item.typeID)\r\n                moduleNames.append(mod.item.typeName)\r\n\r\n        if fit.character.name != \"All 5\":\r\n            modTypeIDs.extend([0, 0, 0])\r\n            moduleNames.extend([\"\", \"Character:\"])\r\n            moduleNames.append(fit.character.name)\r\n        if padTypeIDs is not True:\r\n            modTypeIDsUnpadded = [mod for mod in modTypeIDs if mod != 0]\r\n            modTypeIDs = modTypeIDsUnpadded\r\n        return {\"moduleNames\": moduleNames, \"modTypeIDs\": modTypeIDs}\r\n\r\n    @staticmethod\r\n    def getFighterAbilityData(fighterAttr, fighter, baseRef):\r\n        baseRefDam = baseRef + \"Damage\"\r\n        abilityName = \"RegularAttack\" if baseRef == \"fighterAbilityAttackMissile\" else \"MissileAttack\"\r\n        rangeSuffix = \"RangeOptimal\" if baseRef == \"fighterAbilityAttackMissile\" else \"Range\"\r\n        reductionRef = baseRef if baseRef == \"fighterAbilityAttackMissile\" else baseRefDam\r\n        damageReductionFactor = log(fighterAttr(reductionRef + \"ReductionFactor\")) / log(fighterAttr(reductionRef + \"ReductionSensitivity\"))\r\n        damTypes = [\"EM\", \"Therm\", \"Exp\", \"Kin\"]\r\n        abBaseDamage = sum(map(lambda damType: fighterAttr(baseRefDam + damType), damTypes))\r\n        abDamage = abBaseDamage * fighterAttr(baseRefDam + \"Multiplier\")\r\n        return {\r\n            \"name\": abilityName, \"volley\": abDamage * fighter.amount, \"explosionRadius\": fighterAttr(baseRef + \"ExplosionRadius\"),\r\n            \"explosionVelocity\": fighterAttr(baseRef + \"ExplosionVelocity\"), \"optimal\": fighterAttr(baseRef + rangeSuffix),\r\n            \"damageReductionFactor\": damageReductionFactor, \"rof\": fighterAttr(baseRef + \"Duration\"),\r\n        }\r\n\r\n    @staticmethod\r\n    def getWeaponSystemData(fit):\r\n        weaponSystems = []\r\n        groups = {}\r\n        # Export at maximum spool for consistency, spoolup data is exported anyway.\r\n        defaultSpoolValue = 1\r\n        spoolOptions = SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, True)\r\n        for mod in fit.modules:\r\n            if mod.getDps(spoolOptions=spoolOptions).total > 0:\r\n                # Group weapon + ammo combinations that occur more than once\r\n                keystr = str(mod.itemID) + \"-\" + str(mod.chargeID)\r\n                if keystr in groups:\r\n                    groups[keystr][1] += 1\r\n                else:\r\n                    groups[keystr] = [mod, 1]\r\n        for wepGroup in groups.values():\r\n            stats = wepGroup[0]\r\n            n = wepGroup[1]\r\n            tracking = 0\r\n            optimalSigRadius = 0\r\n            maxVelocity = 0\r\n            explosionDelay = 0\r\n            damageReductionFactor = 0\r\n            explosionRadius = 0\r\n            explosionVelocity = 0\r\n            aoeFieldRange = 0\r\n            typeing = 'None'\r\n            if stats.charge:\r\n                name = stats.item.typeName + \", \" + stats.charge.typeName\r\n            else:\r\n                name = stats.item.typeName\r\n            if stats.hardpoint == FittingHardpoint.TURRET:\r\n                tracking = stats.getModifiedItemAttr(\"trackingSpeed\")\r\n                optimalSigRadius = stats.getModifiedItemAttr('optimalSigRadius')\r\n                typeing = \"Turret\"\r\n            # Bombs share most attributes with missiles despite not needing the hardpoint\r\n            elif stats.hardpoint == FittingHardpoint.MISSILE or \"Bomb Launcher\" in stats.item.typeName:\r\n                maxVelocity = stats.getModifiedChargeAttr(\"maxVelocity\")\r\n                explosionDelay = stats.getModifiedChargeAttr(\"explosionDelay\")\r\n                damageReductionFactor = stats.getModifiedChargeAttr(\"aoeDamageReductionFactor\")\r\n                explosionRadius = stats.getModifiedChargeAttr(\"aoeCloudSize\")\r\n                explosionVelocity = stats.getModifiedChargeAttr(\"aoeVelocity\")\r\n                typeing = \"Missile\"\r\n            # AoE DDs can be treated like missiles with a damageReductionFactor of 0\r\n            elif stats.item.group.name == 'Super Weapon' and stats.maxRange:\r\n                explosionRadius = stats.getModifiedItemAttr(\"signatureRadius\")\r\n                typeing = \"Missile\"\r\n            elif stats.hardpoint == FittingHardpoint.NONE:\r\n                aoeFieldRange = stats.getModifiedItemAttr(\"empFieldRange\")\r\n                # This also covers non-bomb weapons with dps values and no hardpoints, most notably targeted doomsdays.\r\n                typeing = \"SmartBomb\"\r\n            # Targeted DDs are the only non drone/fighter weapon without an explicit max range\r\n            if stats.item.group.name == 'Super Weapon' and stats.maxRange is None:\r\n                maxRange = 300000\r\n            else:\r\n                maxRange = stats.maxRange\r\n\r\n            dps = stats.getDps(spoolOptions=spoolOptions)\r\n            dps_spread_dict = {'em': dps.em, 'therm': dps.thermal, 'kin': dps.kinetic, 'exp': dps.explosive, 'pure': dps.pure}\r\n            dps_spread_dict.update((x, y*n) for x, y in dps_spread_dict.items())\r\n\r\n            statDict = {\r\n                \"dps\": stats.getDps(spoolOptions=spoolOptions).total * n, \"capUse\": stats.capUse * n, \"falloff\": stats.falloff,\r\n                \"type\": typeing, \"name\": name, \"optimal\": maxRange,\r\n                \"numCharges\": stats.numCharges, \"numShots\": stats.numShots, \"reloadTime\": stats.reloadTime,\r\n                \"cycleTime\": stats.getCycleParameters().averageTime, \"volley\": stats.getVolley(spoolOptions=spoolOptions).total * n, \"tracking\": tracking,\r\n                \"maxVelocity\": maxVelocity, \"explosionDelay\": explosionDelay, \"damageReductionFactor\": damageReductionFactor,\r\n                \"explosionRadius\": explosionRadius, \"explosionVelocity\": explosionVelocity, \"aoeFieldRange\": aoeFieldRange,\r\n                \"damageMultiplierBonusMax\": stats.getModifiedItemAttr(\"damageMultiplierBonusMax\"),\r\n                \"damageMultiplierBonusPerCycle\": stats.getModifiedItemAttr(\"damageMultiplierBonusPerCycle\"),\r\n                \"dps_spread\": dps_spread_dict, \"optimalSigRadius\": optimalSigRadius\r\n            }\r\n            weaponSystems.append(statDict)\r\n        for drone in fit.drones:\r\n            if drone.getDps().total > 0 and drone.amountActive > 0:\r\n                droneAttr = drone.getModifiedItemAttr\r\n                # Drones are using the old tracking formula for trackingSpeed. This updates it to match turrets.\r\n                newTracking = droneAttr(\"trackingSpeed\") / (droneAttr(\"optimalSigRadius\") / 40000)\r\n                statDict = {\r\n                    \"dps\": drone.getDps().total, \"cycleTime\": drone.getCycleParameters().averageTime, \"type\": \"Drone\",\r\n                    \"optimal\": drone.maxRange, \"name\": drone.item.typeName, \"falloff\": drone.falloff,\r\n                    \"maxSpeed\": droneAttr(\"maxVelocity\"), \"tracking\": newTracking,\r\n                    \"volley\": drone.getVolley().total\r\n                }\r\n                weaponSystems.append(statDict)\r\n        for fighter in fit.fighters:\r\n            if fighter.getDps().total > 0 and fighter.amount > 0:\r\n                fighterAttr = fighter.getModifiedItemAttr\r\n                abilities = []\r\n                if \"fighterAbilityAttackMissileDamageEM\" in fighter.item.attributes.keys():\r\n                    baseRef = \"fighterAbilityAttackMissile\"\r\n                    ability = EfsPort.getFighterAbilityData(fighterAttr, fighter, baseRef)\r\n                    abilities.append(ability)\r\n                if \"fighterAbilityMissilesDamageEM\" in fighter.item.attributes.keys():\r\n                    baseRef = \"fighterAbilityMissiles\"\r\n                    ability = EfsPort.getFighterAbilityData(fighterAttr, fighter, baseRef)\r\n                    abilities.append(ability)\r\n                statDict = {\r\n                    \"dps\": fighter.getDps().total, \"type\": \"Fighter\", \"name\": fighter.item.typeName,\r\n                    \"maxSpeed\": fighterAttr(\"maxVelocity\"), \"abilities\": abilities,\r\n                    \"ehp\": fighterAttr(\"shieldCapacity\") / 0.8875 * fighter.amount,\r\n                    \"volley\": fighter.getVolley().total, \"signatureRadius\": fighterAttr(\"signatureRadius\")\r\n                }\r\n                weaponSystems.append(statDict)\r\n        return weaponSystems\r\n\r\n    @staticmethod\r\n    def getTestSet(setType):\r\n        def getT2ItemsWhere(additionalFilter, mustBeOffensive=False, category=\"Module\"):\r\n            # Used to obtain a smaller subset of items while still containing examples of each group.\r\n            T2_META_LEVEL = 5\r\n            categoryID = getCategory(category).categoryID\r\n            result = gamedata_session.query(Item).join(ItemEffect, Group, Attribute).\\\r\n                      filter(\r\n                          additionalFilter,\r\n                          Item.metaLevel == T2_META_LEVEL,\r\n                          Group.categoryID == categoryID,\r\n                      ).all()\r\n            if mustBeOffensive:\r\n                result = filter(lambda t: t.offensive is True, result)\r\n            return list(result)\r\n\r\n        def getChargeType(item, setType):\r\n            if setType == \"turret\":\r\n                return str(item.attributes[\"chargeGroup1\"].value) + \"-\" + str(item.attributes[\"chargeSize\"].value)\r\n            return str(item.attributes[\"chargeGroup1\"].value)\r\n\r\n        if setType in EfsPort.wepTestSet.keys():\r\n            return EfsPort.wepTestSet[setType]\r\n        else:\r\n            EfsPort.wepTestSet[setType] = []\r\n        modSet = EfsPort.wepTestSet[setType]\r\n\r\n        if setType == \"drone\":\r\n            ilist = getT2ItemsWhere(True, True, \"Drone\")\r\n            for item in ilist:\r\n                drone = Drone(item)\r\n                drone.amount = 1\r\n                drone.amountActive = 1\r\n                drone.itemModifiedAttributes.parent = drone\r\n                modSet.append(drone)\r\n            return modSet\r\n\r\n        turretFittedEffectID = gamedata_session.query(Effect).filter(Effect.name == \"turretFitted\").first().effectID\r\n        launcherFittedEffectID = gamedata_session.query(Effect).filter(Effect.name == \"launcherFitted\").first().effectID\r\n        if setType == \"launcher\":\r\n            effectFilter = ItemEffect.effectID == launcherFittedEffectID\r\n            reqOff = False\r\n        else:\r\n            effectFilter = ItemEffect.effectID == turretFittedEffectID\r\n            reqOff = True\r\n        ilist = getT2ItemsWhere(effectFilter, reqOff)\r\n        previousChargeTypes = []\r\n        # Get modules from item list\r\n        for item in ilist:\r\n            chargeType = getChargeType(item, setType)\r\n            # Only add turrets if we don\"t already have one with the same size and ammo type.\r\n            if setType == \"launcher\" or chargeType not in previousChargeTypes:\r\n                previousChargeTypes.append(chargeType)\r\n                mod = Module(item)\r\n                modSet.append(mod)\r\n\r\n        sMkt = Market.getInstance()\r\n        # Due to typed missile damage bonuses we\"ll need to add extra launchers to cover all four types.\r\n        additionalLaunchers = []\r\n        for mod in modSet:\r\n            clist = list(gamedata_session.query(Item).options().\r\n                    filter(Item.groupID == mod.getModifiedItemAttr(\"chargeGroup1\")).all())\r\n            mods = [mod]\r\n            charges = [clist[0]]\r\n            if setType == \"launcher\":\r\n                # We don\"t want variations of missiles we already have\r\n                prevCharges = list(sMkt.getVariationsByItems(charges))\r\n                testCharges = []\r\n                for charge in clist:\r\n                    if charge not in prevCharges:\r\n                        testCharges.append(charge)\r\n                        prevCharges += sMkt.getVariationsByItems([charge])\r\n                for c in testCharges:\r\n                    charges.append(c)\r\n                    additionalLauncher = Module(mod.item)\r\n                    mods.append(additionalLauncher)\r\n            for i in range(len(mods)):\r\n                mods[i].charge = charges[i]\r\n                mods[i].reloadForce = True\r\n                mods[i].state = 2\r\n                if setType == \"launcher\" and i > 0:\r\n                    additionalLaunchers.append(mods[i])\r\n        modSet += additionalLaunchers\r\n        return modSet\r\n\r\n    @staticmethod\r\n    def getWeaponBonusMultipliers(fit):\r\n        def sumDamage(attr):\r\n            totalDamage = 0\r\n            for damageType in [\"emDamage\", \"thermalDamage\", \"kineticDamage\", \"explosiveDamage\"]:\r\n                if attr(damageType) is not None:\r\n                    totalDamage += attr(damageType)\r\n            return totalDamage\r\n\r\n        def getCurrentMultipliers(tf):\r\n            fitMultipliers = {}\r\n            getDroneMulti = lambda d: sumDamage(d.getModifiedItemAttr) * d.getModifiedItemAttr(\"damageMultiplier\")\r\n            fitMultipliers[\"drones\"] = list(map(getDroneMulti, tf.drones))\r\n\r\n            getFitTurrets = lambda f: filter(lambda mod: mod.hardpoint == FittingHardpoint.TURRET, f.modules)\r\n            getTurretMulti = lambda mod: mod.getModifiedItemAttr(\"damageMultiplier\") / mod.getCycleParameters().averageTime\r\n            fitMultipliers[\"turrets\"] = list(map(getTurretMulti, getFitTurrets(tf)))\r\n\r\n            getFitLaunchers = lambda f: filter(lambda mod: mod.hardpoint == FittingHardpoint.MISSILE, f.modules)\r\n            getLauncherMulti = lambda mod: sumDamage(mod.getModifiedChargeAttr) / mod.getCycleParameters().averageTime\r\n            fitMultipliers[\"launchers\"] = list(map(getLauncherMulti, getFitLaunchers(tf)))\r\n            return fitMultipliers\r\n\r\n        multipliers = {\"turret\": 1, \"launcher\": 1, \"droneBandwidth\": 1}\r\n        drones = EfsPort.getTestSet(\"drone\")\r\n        launchers = EfsPort.getTestSet(\"launcher\")\r\n        turrets = EfsPort.getTestSet(\"turret\")\r\n        for weaponTypeSet in [turrets, launchers, drones]:\r\n            for mod in weaponTypeSet:\r\n                mod.owner = fit\r\n        turrets = list(filter(lambda mod: mod.getModifiedItemAttr(\"damageMultiplier\"), turrets))\r\n        launchers = list(filter(lambda mod: sumDamage(mod.getModifiedChargeAttr), launchers))\r\n\r\n        # Since the effect modules are fairly opaque a mock test fit is used to test the impact of traits.\r\n        # standin class used to prevent . notation causing issues when used as an arg\r\n        class standin:\r\n            pass\r\n        tf = standin()\r\n        tf.modules = HandledList(turrets + launchers)\r\n        tf.character = fit.character\r\n        tf.ship = fit.ship\r\n        tf.drones = HandledList(drones)\r\n        tf.fighters = HandledList([])\r\n        tf.boosters = HandledList([])\r\n        tf.extraAttributes = fit.extraAttributes\r\n        tf.mode = fit.mode\r\n        preTraitMultipliers = getCurrentMultipliers(tf)\r\n        for effect in fit.ship.item.effects.values():\r\n            if effect.isImplemented:\r\n                effect.handler(tf, tf.ship, [], None, effect=effect)\r\n        # Factor in mode effects for T3 Destroyers\r\n        if fit.mode is not None:\r\n            for effect in fit.mode.item.effects.values():\r\n                if effect.isImplemented:\r\n                    effect.handler(tf, fit.mode, [], None, effect=effect)\r\n        if fit.ship.item.groupID == getGroup(\"Strategic Cruiser\").ID:\r\n            subSystems = list(filter(lambda mod: mod.slot == FittingSlot.SUBSYSTEM and mod.item, fit.modules))\r\n            for sub in subSystems:\r\n                for effect in sub.item.effects.values():\r\n                    if effect.isImplemented:\r\n                        effect.handler(tf, sub, [], None, effect=effect)\r\n        postTraitMultipliers = getCurrentMultipliers(tf)\r\n        getMaxRatio = lambda dictA, dictB, key: max(map(lambda a, b: b / a, dictA[key], dictB[key]))\r\n        multipliers[\"turret\"] = round(getMaxRatio(preTraitMultipliers, postTraitMultipliers, \"turrets\"), 6)\r\n        multipliers[\"launcher\"] = round(getMaxRatio(preTraitMultipliers, postTraitMultipliers, \"launchers\"), 6)\r\n        multipliers[\"droneBandwidth\"] = round(getMaxRatio(preTraitMultipliers, postTraitMultipliers, \"drones\"), 6)\r\n        Fit.getInstance().recalc(fit)\r\n        return multipliers\r\n\r\n    @staticmethod\r\n    def getShipSize(groupID):\r\n        # Size groupings are somewhat arbitrary but allow for a more manageable number of top level groupings in a tree structure.\r\n        frigateGroupNames = [\"Frigate\", \"Shuttle\", \"Corvette\", \"Assault Frigate\", \"Covert Ops\", \"Interceptor\",\r\n                             \"Stealth Bomber\", \"Electronic Attack Ship\", \"Expedition Frigate\", \"Logistics Frigate\"]\r\n        destroyerGroupNames = [\"Destroyer\", \"Interdictor\", \"Tactical Destroyer\", \"Command Destroyer\"]\r\n        cruiserGroupNames = [\"Cruiser\", \"Heavy Assault Cruiser\", \"Logistics\", \"Force Recon Ship\",\r\n                             \"Heavy Interdiction Cruiser\", \"Combat Recon Ship\", \"Strategic Cruiser\"]\r\n        bcGroupNames = [\"Combat Battlecruiser\", \"Command Ship\", \"Attack Battlecruiser\"]\r\n        bsGroupNames = [\"Battleship\", \"Elite Battleship\", \"Black Ops\", \"Marauder\"]\r\n        capitalGroupNames = [\"Titan\", \"Dreadnought\", \"Freighter\", \"Carrier\", \"Supercarrier\",\r\n                             \"Capital Industrial Ship\", \"Jump Freighter\", \"Force Auxiliary\"]\r\n        indyGroupNames = [\"Hauler\", \"Deep Space Transport\", \"Blockade Runner\",\r\n                          \"Mining Barge\", \"Exhumer\", \"Industrial Command Ship\"]\r\n        miscGroupNames = [\"Capsule\", \"Prototype Exploration Ship\"]\r\n        shipSizes = [\r\n            {\"name\": \"Frigate\", \"groupIDs\": map(lambda s: getGroup(s).ID, frigateGroupNames)},\r\n            {\"name\": \"Destroyer\", \"groupIDs\": map(lambda s: getGroup(s).ID, destroyerGroupNames)},\r\n            {\"name\": \"Cruiser\", \"groupIDs\": map(lambda s: getGroup(s).ID, cruiserGroupNames)},\r\n            {\"name\": \"Battlecruiser\", \"groupIDs\": map(lambda s: getGroup(s).ID, bcGroupNames)},\r\n            {\"name\": \"Battleship\", \"groupIDs\": map(lambda s: getGroup(s).ID, bsGroupNames)},\r\n            {\"name\": \"Capital\", \"groupIDs\": map(lambda s: getGroup(s).ID, capitalGroupNames)},\r\n            {\"name\": \"Industrial\", \"groupIDs\": map(lambda s: getGroup(s).ID, indyGroupNames)},\r\n            {\"name\": \"Misc\", \"groupIDs\": map(lambda s: getGroup(s).ID, miscGroupNames)}\r\n        ]\r\n        for size in shipSizes:\r\n            if groupID in size[\"groupIDs\"]:\r\n                return size[\"name\"]\r\n        sizeNotFoundMsg = \"ShipSize not found for groupID: \" + str(groupID)\r\n        return sizeNotFoundMsg\r\n\r\n    @staticmethod\r\n    def exportEfs(fit, typeNotFitFlag, callback):\r\n        sFit = Fit.getInstance()\r\n        includeShipTypeData = typeNotFitFlag > 0\r\n        if includeShipTypeData:\r\n            fitName = fit.name\r\n        else:\r\n            fitName = fit.ship.name + \": \" + fit.name\r\n        pyfalog.info(\"Creating Eve Fleet Simulator data for: \" + fit.name)\r\n        fitModAttr = fit.ship.getModifiedItemAttr\r\n        propData = EfsPort.getPropData(fit, sFit)\r\n        mwdPropSpeed = fit.maxSpeed\r\n        if includeShipTypeData:\r\n            mwdPropSpeed = EfsPort.getT2MwdSpeed(fit, sFit)\r\n        projections = EfsPort.getOutgoingProjectionData(fit)\r\n        modInfo = EfsPort.getModuleInfo(fit)\r\n        moduleNames = modInfo[\"moduleNames\"]\r\n        modTypeIDs = modInfo[\"modTypeIDs\"]\r\n        weaponSystems = EfsPort.getWeaponSystemData(fit)\r\n\r\n\r\n        turretSlots = fitModAttr(\"turretSlotsLeft\") if fitModAttr(\"turretSlotsLeft\") is not None else 0\r\n        launcherSlots = fitModAttr(\"launcherSlotsLeft\") if fitModAttr(\"launcherSlotsLeft\") is not None else 0\r\n        droneBandwidth = fitModAttr(\"droneBandwidth\") if fitModAttr(\"droneBandwidth\") is not None else 0\r\n        weaponBonusMultipliers = EfsPort.getWeaponBonusMultipliers(fit)\r\n        effectiveTurretSlots = round(turretSlots * weaponBonusMultipliers[\"turret\"], 2)\r\n        effectiveLauncherSlots = round(launcherSlots * weaponBonusMultipliers[\"launcher\"], 2)\r\n        effectiveDroneBandwidth = round(droneBandwidth * weaponBonusMultipliers[\"droneBandwidth\"], 2)\r\n        # Assume a T2 siege module for dreads\r\n        if fit.ship.item.group.name == \"Dreadnought\":\r\n            effectiveTurretSlots *= 9.4\r\n            effectiveLauncherSlots *= 15\r\n        hullResonance = {\r\n            \"exp\": fitModAttr(\"explosiveDamageResonance\"), \"kin\": fitModAttr(\"kineticDamageResonance\"),\r\n            \"therm\": fitModAttr(\"thermalDamageResonance\"), \"em\": fitModAttr(\"emDamageResonance\")\r\n        }\r\n        armorResonance = {\r\n            \"exp\": fitModAttr(\"armorExplosiveDamageResonance\"), \"kin\": fitModAttr(\"armorKineticDamageResonance\"),\r\n            \"therm\": fitModAttr(\"armorThermalDamageResonance\"), \"em\": fitModAttr(\"armorEmDamageResonance\")\r\n        }\r\n        shieldResonance = {\r\n            \"exp\": fitModAttr(\"shieldExplosiveDamageResonance\"), \"kin\": fitModAttr(\"shieldKineticDamageResonance\"),\r\n            \"therm\": fitModAttr(\"shieldThermalDamageResonance\"), \"em\": fitModAttr(\"shieldEmDamageResonance\")\r\n        }\r\n\r\n        resonance = {\"hull\": hullResonance, \"armor\": armorResonance, \"shield\": shieldResonance}\r\n        shipSize = EfsPort.getShipSize(fit.ship.item.groupID)\r\n        # Export at maximum spool for consistency, spoolup data is exported anyway.\r\n        defaultSpoolValue = 1\r\n        spoolOptions = SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, True)\r\n\r\n        cargoIDs = []\r\n        for cargo in fit.cargo:\r\n            cargoIDs.append(cargo.itemID)\r\n\r\n        repairs = EfsPort.getRepairData(fit, sFit)\r\n\r\n        def roundNumbers(data, digits):\r\n            if isinstance(data, str):\r\n                return\r\n            if isinstance(data, dict):\r\n                for key in data:\r\n                    if isinstance(data[key], Number):\r\n                        data[key] = round(data[key], digits)\r\n                    else:\r\n                        roundNumbers(data[key], digits)\r\n            if isinstance(data, list) or isinstance(data, tuple):\r\n                for val in data:\r\n                    roundNumbers(val, digits)\r\n            if isinstance(data, Number):\r\n                rounded = round(data, digits)\r\n                if data != rounded:\r\n                    pyfalog.error(\"Error rounding numbers for EFS export, export may be inconsistent.\"\r\n                                  \"This suggests the format has been broken somewhere.\")\r\n            return\r\n\r\n        try:\r\n            dataDict = {\r\n                \"name\": fitName, \"ehp\": fit.ehp, \"droneDPS\": fit.getDroneDps().total,\r\n                \"droneVolley\": fit.getDroneVolley().total, \"hp\": fit.hp, \"maxTargets\": fit.maxTargets,\r\n                \"maxSpeed\": fit.maxSpeed, \"weaponVolley\": fit.getWeaponVolley(spoolOptions=spoolOptions).total,\r\n                \"totalVolley\": fit.getTotalVolley(spoolOptions=spoolOptions).total, \"maxTargetRange\": fit.maxTargetRange,\r\n                \"scanStrength\": fit.scanStrength, \"weaponDPS\": fit.getWeaponDps(spoolOptions=spoolOptions).total,\r\n                \"alignTime\": fit.alignTime, \"signatureRadius\": fitModAttr(\"signatureRadius\"), \"weapons\": weaponSystems,\r\n                \"scanRes\": fitModAttr(\"scanResolution\"), \"capUsed\": fit.capUsed, \"capRecharge\": fit.capRecharge,\r\n                \"capacitorCapacity\": fitModAttr(\"capacitorCapacity\"), \"rechargeRate\": fitModAttr(\"rechargeRate\"),\r\n                \"rigSlots\": fitModAttr(\"rigSlots\"), \"lowSlots\": fitModAttr(\"lowSlots\"),\r\n                \"midSlots\": fitModAttr(\"medSlots\"), \"highSlots\": fitModAttr(\"hiSlots\"),\r\n                \"turretSlots\": fitModAttr(\"turretSlotsLeft\"), \"launcherSlots\": fitModAttr(\"launcherSlotsLeft\"),\r\n                \"powerOutput\": fitModAttr(\"powerOutput\"), \"cpuOutput\": fitModAttr(\"cpuOutput\"),\r\n                \"rigSize\": fitModAttr(\"rigSize\"), \"effectiveTurrets\": effectiveTurretSlots,\r\n                \"effectiveLaunchers\": effectiveLauncherSlots, \"effectiveDroneBandwidth\": effectiveDroneBandwidth,\r\n                \"resonance\": resonance, \"typeID\": fit.shipID, \"groupID\": fit.ship.item.groupID, \"shipSize\": shipSize,\r\n                \"droneControlRange\": fitModAttr(\"droneControlRange\"), \"mass\": fitModAttr(\"mass\"),\r\n                \"shieldrechargetime\": fitModAttr(\"shieldRechargeRate\"), 'shipinertia': fitModAttr(\"agility\"),\r\n                \"energyWarfareResistance\": fitModAttr(\"energyWarfareResistance\"),\r\n                \"unpropedSpeed\": propData[\"unpropedSpeed\"], \"unpropedSig\": propData[\"unpropedSig\"],\r\n                \"usingMWD\": propData[\"usingMWD\"], \"mwdPropSpeed\": mwdPropSpeed, \"projections\": projections,\r\n                \"repairs\": repairs, \"modTypeIDs\": modTypeIDs, \"moduleNames\": moduleNames, \"cargoItemIDs\": cargoIDs,\r\n                \"pyfaVersion\": pyfaVersion, \"efsExportVersion\": EfsPort.version\r\n            }\r\n            # Recursively round any numbers in dicts to 6 decimal places.\r\n            # This prevents meaningless rounding errors from changing the output whenever pyfa changes.\r\n            roundNumbers(dataDict, 6)\r\n        except TypeError as e:\r\n            pyfalog.error(\"Error parsing fit:\" + str(fit))\r\n            pyfalog.error(e)\r\n            dataDict = {\"name\": fitName + \"Fit could not be correctly parsed\"}\r\n        export = json.dumps(dataDict, skipkeys=True)\r\n\r\n        if callback:\r\n            callback(export)\r\n        else:\r\n            return export\r\n"
  },
  {
    "path": "service/port/eft.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport re\r\n\r\nfrom logbook import Logger\r\n\r\nfrom eos.const import FittingModuleState, FittingSlot\r\nfrom eos.db.gamedata.queries import getDynamicItem\r\nfrom eos.saveddata.booster import Booster\r\nfrom eos.saveddata.cargo import Cargo\r\nfrom eos.saveddata.citadel import Citadel\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom eos.saveddata.fit import Fit\r\nfrom eos.saveddata.implant import Implant\r\nfrom eos.saveddata.module import Module\r\nfrom eos.saveddata.ship import Ship\r\nfrom gui.fitCommands.helpers import activeStateLimit\r\nfrom service.const import PortEftOptions\r\nfrom service.fit import Fit as svcFit\r\nfrom service.market import Market\r\nfrom service.port.muta import parseMutant, renderMutant\r\nfrom service.port.shared import fetchItem\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\nMODULE_CATS = ('Module', 'Subsystem', 'Structure Module')\r\nSLOT_ORDER = (FittingSlot.LOW, FittingSlot.MED, FittingSlot.HIGH, FittingSlot.RIG, FittingSlot.SUBSYSTEM, FittingSlot.SERVICE)\r\nOFFLINE_SUFFIX = '/offline'\r\nNAME_CHARS = r'[^,/\\[\\]]'  # Characters which are allowed to be used in name\r\n\r\n\r\nclass MutationExportData:\r\n\r\n    def __init__(self):\r\n        self.reference = 1\r\n        self.mutants = {}\r\n\r\n    def formatMutants(self):\r\n        mutationLines = []\r\n        if self.mutants:\r\n            for mutantReference in sorted(self.mutants):\r\n                mutant = self.mutants[mutantReference]\r\n                mutationLines.append(renderMutant(mutant, firstPrefix='[{}] '.format(mutantReference), prefix='  '))\r\n        return '\\n'.join(mutationLines)\r\n\r\n\r\ndef exportEft(fit, options, callback):\r\n\r\n    mutaData = MutationExportData()\r\n\r\n    # EFT formatted export is split in several sections, each section is\r\n    # separated from another using 2 blank lines. Sections might have several\r\n    # sub-sections, which are separated by 1 blank line\r\n    sections = []\r\n\r\n    header = '[{}, {}]'.format(fit.ship.item.typeName, fit.name)\r\n\r\n    # Section 1: modules, rigs, subsystems, services\r\n    moduleExport = exportModules(fit.modules, options, mutaData=mutaData)\r\n    if moduleExport:\r\n        sections.append(moduleExport)\r\n\r\n    # Section 2: drones, fighters\r\n    minionSection = []\r\n    droneExport = exportDrones(\r\n        fit.drones, exportMutants=options[PortEftOptions.MUTATIONS],\r\n        mutaData=mutaData, standAlone=False)\r\n    if droneExport:\r\n        minionSection.append(droneExport)\r\n    fighterExport = exportFighters(fit.fighters)\r\n    if fighterExport:\r\n        minionSection.append(fighterExport)\r\n    if minionSection:\r\n        sections.append('\\n\\n'.join(minionSection))\r\n\r\n    # Section 3: implants, boosters\r\n    charSection = []\r\n    if options[PortEftOptions.IMPLANTS]:\r\n        implantExport = exportImplants(fit.implants)\r\n        if implantExport:\r\n            charSection.append(implantExport)\r\n    if options[PortEftOptions.BOOSTERS]:\r\n        boosterExport = exportBoosters(fit.boosters)\r\n        if boosterExport:\r\n            charSection.append(boosterExport)\r\n    if charSection:\r\n        sections.append('\\n\\n'.join(charSection))\r\n\r\n    # Section 4: cargo\r\n    if options[PortEftOptions.CARGO]:\r\n        cargoExport = exportCargo(fit.cargo)\r\n        if cargoExport:\r\n            sections.append(cargoExport)\r\n\r\n    # Section 5: mutated items' details\r\n    if options[PortEftOptions.MUTATIONS]:\r\n        mutationExport = mutaData.formatMutants()\r\n        if mutationExport:\r\n            sections.append(mutationExport)\r\n\r\n    text = '{}\\n\\n{}'.format(header, '\\n\\n\\n'.join(sections))\r\n\r\n    if callback:\r\n        callback(text)\r\n    else:\r\n        return text\r\n\r\n\r\ndef exportModules(modules, options, mutaData=None):\r\n    if mutaData is None:\r\n        mutaData = MutationExportData()\r\n    modsBySlotType = {}\r\n    for module in modules:\r\n        modsBySlotType.setdefault(module.slot, []).append(module)\r\n    modSection = []\r\n    for slotType in SLOT_ORDER:\r\n        rackLines = []\r\n        rackModules = modsBySlotType.get(slotType, ())\r\n        for module in rackModules:\r\n            if module.item:\r\n                # if module was mutated, use base item name for export\r\n                if module.isMutated:\r\n                    modName = module.baseItem.typeName\r\n                else:\r\n                    modName = module.item.typeName\r\n                if module.isMutated and options[PortEftOptions.MUTATIONS]:\r\n                    mutaData.mutants[mutaData.reference] = module\r\n                    mutationSuffix = ' [{}]'.format(mutaData.reference)\r\n                    mutaData.reference += 1\r\n                else:\r\n                    mutationSuffix = ''\r\n                modOfflineSuffix = ' {}'.format(OFFLINE_SUFFIX) if module.state == FittingModuleState.OFFLINE else ''\r\n                if module.charge and options[PortEftOptions.LOADED_CHARGES]:\r\n                    rackLines.append('{}, {}{}{}'.format(\r\n                        modName, module.charge.typeName, modOfflineSuffix, mutationSuffix))\r\n                else:\r\n                    rackLines.append('{}{}{}'.format(modName, modOfflineSuffix, mutationSuffix))\r\n            else:\r\n                rackLines.append('[Empty {} slot]'.format(\r\n                    FittingSlot(slotType).name.capitalize() if slotType is not None else ''))\r\n        if rackLines:\r\n            modSection.append('\\n'.join(rackLines))\r\n    return '\\n\\n'.join(modSection)\r\n\r\n\r\ndef exportDrones(drones, exportMutants=True, mutaData=None, standAlone=True):\r\n\r\n    # Same as in drone additions panel\r\n    DRONE_ORDER = ('Light Scout Drones', 'Medium Scout Drones',\r\n                   'Heavy Attack Drones', 'Sentry Drones', 'Combat Utility Drones',\r\n                   'Electronic Warfare Drones', 'Logistic Drones', 'Mining Drones', 'Salvage Drones')\r\n\r\n    def getDroneName(drone):\r\n        if drone.isMutated:\r\n            return drone.baseItem.typeName\r\n        return drone.item.typeName\r\n\r\n    def droneSorter(drone):\r\n        if drone.isMutated:\r\n            item = drone.baseItem\r\n        else:\r\n            item = drone.item\r\n        groupName = Market.getInstance().getMarketGroupByItem(item).marketGroupName\r\n        return (DRONE_ORDER.index(groupName), drone.isMutated, drone.fullName)\r\n\r\n    if mutaData is None:\r\n        mutaData = MutationExportData()\r\n    sections = []\r\n    droneLines = []\r\n    for drone in sorted(drones, key=droneSorter):\r\n        if drone.isMutated and exportMutants:\r\n            mutaData.mutants[mutaData.reference] = drone\r\n            mutationSuffix = ' [{}]'.format(mutaData.reference)\r\n            mutaData.reference += 1\r\n        else:\r\n            mutationSuffix = ''\r\n        droneLines.append('{} x{}{}'.format(getDroneName(drone), drone.amount, mutationSuffix))\r\n    if droneLines:\r\n        sections.append('\\n'.join(droneLines))\r\n    if exportMutants and mutaData.mutants and standAlone:\r\n        sections.append(mutaData.formatMutants())\r\n    return '\\n\\n\\n'.join(sections)\r\n\r\n\r\ndef exportFighters(fighters):\r\n    # Same as in drone additions panel\r\n    FIGHTER_ORDER = (\r\n        'Light Fighter', 'Structure Light Fighter',\r\n        'Heavy Fighter', 'Structure Heavy Fighter',\r\n        'Support Fighter', 'Structure Support Fighter')\r\n\r\n    def fighterSorter(fighter):\r\n        groupName = Market.getInstance().getGroupByItem(fighter.item).name\r\n        return (FIGHTER_ORDER.index(groupName), fighter.item.typeName)\r\n\r\n    fighterLines = []\r\n    for fighter in sorted(fighters, key=fighterSorter):\r\n        fighterLines.append('{} x{}'.format(fighter.item.typeName, fighter.amount))\r\n    return '\\n'.join(fighterLines)\r\n\r\n\r\ndef exportImplants(implants):\r\n    implantLines = []\r\n    for implant in sorted(implants, key=lambda i: i.slot or 0):\r\n        implantLines.append(implant.item.typeName)\r\n    return '\\n'.join(implantLines)\r\n\r\n\r\ndef exportBoosters(boosters):\r\n    boosterLines = []\r\n    for booster in sorted(boosters, key=lambda b: b.slot or 0):\r\n        boosterLines.append(booster.item.typeName)\r\n    return '\\n'.join(boosterLines)\r\n\r\n\r\ndef exportCargo(cargos):\r\n    cargoLines = []\r\n    for cargo in sorted(cargos, key=lambda c: (c.item.group.category.name, c.item.group.name, c.item.typeName)):\r\n        cargoLines.append('{} x{}'.format(cargo.item.typeName, cargo.amount))\r\n    return '\\n'.join(cargoLines)\r\n\r\n\r\ndef importEft(lines):\r\n    lines = _importPrepare(lines)\r\n    try:\r\n        fit = _importCreateFit(lines)\r\n    except EftImportError:\r\n        return\r\n\r\n    aFit = AbstractFit()\r\n    aFit.mutations = importGetMutationData(lines)\r\n\r\n    stubPattern = r'^\\[.+?\\]$'\r\n    modulePattern = r'^(?P<typeName>{0}+?)(,\\s*(?P<chargeName>{0}+?))?(?P<offline>\\s*/(OFFLINE|offline))?(\\s*\\[(?P<mutation>\\d+?)\\])?$'.format(NAME_CHARS)\r\n    droneCargoPattern = r'^(?P<typeName>{}+?) x(?P<amount>\\d+?)(\\s*\\[(?P<mutation>\\d+?)\\])?$'.format(NAME_CHARS)\r\n\r\n    sections = []\r\n    for section in _importSectionIter(lines):\r\n        for line in section.lines:\r\n            # Stub line\r\n            if re.match(stubPattern, line):\r\n                section.itemSpecs.append(None)\r\n                continue\r\n            # Items with quantity specifier\r\n            m = re.match(droneCargoPattern, line)\r\n            if m:\r\n                try:\r\n                    itemSpec = MultiItemSpec(m.group('typeName'))\r\n                # Items which cannot be fetched are considered as stubs\r\n                except EftImportError:\r\n                    section.itemSpecs.append(None)\r\n                else:\r\n                    itemSpec.amount = int(m.group('amount'))\r\n                    section.itemSpecs.append(itemSpec)\r\n                    if m.group('mutation'):\r\n                        itemSpec.mutationIdx = int(m.group('mutation'))\r\n                continue\r\n            # All other items\r\n            m = re.match(modulePattern, line)\r\n            if m:\r\n                try:\r\n                    itemSpec = RegularItemSpec(m.group('typeName'), chargeName=m.group('chargeName'))\r\n                # Items which cannot be fetched are considered as stubs\r\n                except EftImportError:\r\n                    section.itemSpecs.append(None)\r\n                else:\r\n                    if m.group('offline'):\r\n                        itemSpec.offline = True\r\n                    if m.group('mutation'):\r\n                        itemSpec.mutationIdx = int(m.group('mutation'))\r\n                    section.itemSpecs.append(itemSpec)\r\n                continue\r\n        _clearTail(section.itemSpecs)\r\n        sections.append(section)\r\n\r\n    hasDroneBay = any(s.isDroneBay for s in sections)\r\n    hasFighterBay = any(s.isFighterBay for s in sections)\r\n    for section in sections:\r\n        if section.isModuleRack:\r\n            aFit.addModules(section.itemSpecs)\r\n        elif section.isImplantRack:\r\n            for itemSpec in section.itemSpecs:\r\n                aFit.addImplant(itemSpec)\r\n        elif section.isDroneBay:\r\n            for itemSpec in section.itemSpecs:\r\n                aFit.addDrone(itemSpec)\r\n        elif section.isFighterBay:\r\n            for itemSpec in section.itemSpecs:\r\n                aFit.addFighter(itemSpec)\r\n        elif section.isCargoHold:\r\n            for itemSpec in section.itemSpecs:\r\n                aFit.addCargo(itemSpec)\r\n        # Mix between different kinds of item specs (can happen when some\r\n        # blank lines are removed)\r\n        else:\r\n            for itemSpec in section.itemSpecs:\r\n                if itemSpec is None:\r\n                    continue\r\n                if itemSpec.isModule:\r\n                    aFit.addModule(itemSpec)\r\n                elif itemSpec.isImplant:\r\n                    aFit.addImplant(itemSpec)\r\n                elif itemSpec.isDrone and not hasDroneBay:\r\n                    aFit.addDrone(itemSpec)\r\n                elif itemSpec.isFighter and not hasFighterBay:\r\n                    aFit.addFighter(itemSpec)\r\n                elif itemSpec.isCargo:\r\n                    aFit.addCargo(itemSpec)\r\n\r\n    # Subsystems first because they modify slot amount\r\n    for i, m in enumerate(aFit.subsystems):\r\n        if m is None:\r\n            dummy = Module.buildEmpty(aFit.getSlotByContainer(aFit.subsystems))\r\n            dummy.owner = fit\r\n            fit.modules.replaceRackPosition(i, dummy)\r\n        elif m.fits(fit):\r\n            m.owner = fit\r\n            fit.modules.replaceRackPosition(i, m)\r\n    sFit = svcFit.getInstance()\r\n    sFit.recalc(fit)\r\n    sFit.fill(fit)\r\n\r\n    # Other stuff\r\n    for modRack in (\r\n        aFit.rigs,\r\n        aFit.services,\r\n        aFit.modulesHigh,\r\n        aFit.modulesMed,\r\n        aFit.modulesLow,\r\n    ):\r\n        for i, m in enumerate(modRack):\r\n            if m is None:\r\n                dummy = Module.buildEmpty(aFit.getSlotByContainer(modRack))\r\n                dummy.owner = fit\r\n                fit.modules.replaceRackPosition(i, dummy)\r\n            elif m.fits(fit):\r\n                m.owner = fit\r\n                if not m.isValidState(m.state):\r\n                    pyfalog.warning('service.port.eft.importEft: module {} cannot have state {}', m, m.state)\r\n                fit.modules.replaceRackPosition(i, m)\r\n    for implant in aFit.implants:\r\n        fit.implants.append(implant)\r\n    for booster in aFit.boosters:\r\n        fit.boosters.append(booster)\r\n    for drone in aFit.drones:\r\n        fit.drones.append(drone)\r\n    for fighter in aFit.fighters:\r\n        fit.fighters.append(fighter)\r\n    for cargo in aFit.cargo.values():\r\n        fit.cargo.append(cargo)\r\n\r\n    return fit\r\n\r\n\r\ndef importEftCfg(shipname, lines, progress):\r\n    \"\"\"Handle import from EFT config store file\"\"\"\r\n\r\n    # Check if we have such ship in database, bail if we don't\r\n    sMkt = Market.getInstance()\r\n    try:\r\n        sMkt.getItem(shipname)\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        return []  # empty list is expected\r\n\r\n    fits = []  # List for fits\r\n    fitIndices = []  # List for starting line numbers for each fit\r\n\r\n    for line in lines:\r\n        # Detect fit header\r\n        if line[:1] == \"[\" and line[-1:] == \"]\":\r\n            # Line index where current fit starts\r\n            startPos = lines.index(line)\r\n            fitIndices.append(startPos)\r\n\r\n    for i, startPos in enumerate(fitIndices):\r\n        if progress and progress.userCancelled:\r\n            return []\r\n        # End position is last file line if we're trying to get it for last fit,\r\n        # or start position of next fit minus 1\r\n        endPos = len(lines) if i == len(fitIndices) - 1 else fitIndices[i + 1]\r\n\r\n        # Finally, get lines for current fitting\r\n        fitLines = lines[startPos:endPos]\r\n\r\n        try:\r\n            # Create fit object\r\n            fitobj = Fit()\r\n            # Strip square brackets and pull out a fit name\r\n            fitobj.name = fitLines[0][1:-1]\r\n            # Assign ship to fitting\r\n            try:\r\n                fitobj.ship = Ship(sMkt.getItem(shipname))\r\n            except ValueError:\r\n                fitobj.ship = Citadel(sMkt.getItem(shipname))\r\n\r\n            moduleList = []\r\n            for x in range(1, len(fitLines)):\r\n                line = fitLines[x]\r\n                if not line:\r\n                    continue\r\n\r\n                # Parse line into some data we will need\r\n                misc = re.match(r\"(Drones|Implant|Booster)_(Active|Inactive)=(.+)\", line)\r\n                cargo = re.match(r\"Cargohold=(.+)\", line)\r\n                # 2017/03/27 NOTE: store description from EFT\r\n                description = re.match(r\"Description=(.+)\", line)\r\n\r\n                if misc:\r\n                    entityType = misc.group(1)\r\n                    entityState = misc.group(2)\r\n                    entityData = misc.group(3)\r\n                    if entityType == \"Drones\":\r\n                        droneData = re.match(r\"(.+),([0-9]+)\", entityData)\r\n                        # Get drone name and attempt to detect drone number\r\n                        droneName = droneData.group(1) if droneData else entityData\r\n                        droneAmount = int(droneData.group(2)) if droneData else 1\r\n                        # Bail if we can't get item or it's not from drone category\r\n                        try:\r\n                            droneItem = sMkt.getItem(droneName, eager=\"group.category\")\r\n                        except (KeyboardInterrupt, SystemExit):\r\n                            raise\r\n                        except:\r\n                            pyfalog.warning(\"Cannot get item.\")\r\n                            continue\r\n                        if droneItem.category.name == \"Drone\":\r\n                            # Add drone to the fitting\r\n                            d = Drone(droneItem)\r\n                            d.amount = droneAmount\r\n                            if entityState == \"Active\":\r\n                                d.amountActive = droneAmount\r\n                            elif entityState == \"Inactive\":\r\n                                d.amountActive = 0\r\n                            fitobj.drones.append(d)\r\n                        elif droneItem.category.name == \"Fighter\":  # EFT saves fighter as drones\r\n                            ft = Fighter(droneItem)\r\n                            ft.amount = int(droneAmount) if ft.amount <= ft.fighterSquadronMaxSize else ft.fighterSquadronMaxSize\r\n                            fitobj.fighters.append(ft)\r\n                        else:\r\n                            continue\r\n                    elif entityType == \"Implant\":\r\n                        # Bail if we can't get item or it's not from implant category\r\n                        try:\r\n                            implantItem = sMkt.getItem(entityData, eager=\"group.category\")\r\n                        except (KeyboardInterrupt, SystemExit):\r\n                            raise\r\n                        except:\r\n                            pyfalog.warning(\"Cannot get item.\")\r\n                            continue\r\n                        if implantItem.category.name != \"Implant\":\r\n                            continue\r\n                        # Add implant to the fitting\r\n                        imp = Implant(implantItem)\r\n                        if entityState == \"Active\":\r\n                            imp.active = True\r\n                        elif entityState == \"Inactive\":\r\n                            imp.active = False\r\n                        fitobj.implants.append(imp)\r\n                    elif entityType == \"Booster\":\r\n                        # Bail if we can't get item or it's not from implant category\r\n                        try:\r\n                            boosterItem = sMkt.getItem(entityData, eager=\"group.category\")\r\n                        except (KeyboardInterrupt, SystemExit):\r\n                            raise\r\n                        except:\r\n                            pyfalog.warning(\"Cannot get item.\")\r\n                            continue\r\n                        # All boosters have implant category\r\n                        if boosterItem.category.name != \"Implant\":\r\n                            continue\r\n                        # Add booster to the fitting\r\n                        b = Booster(boosterItem)\r\n                        if entityState == \"Active\":\r\n                            b.active = True\r\n                        elif entityState == \"Inactive\":\r\n                            b.active = False\r\n                        fitobj.boosters.append(b)\r\n                # If we don't have any prefixes, then it's a module\r\n                elif cargo:\r\n                    cargoData = re.match(r\"(.+),([0-9]+)\", cargo.group(1))\r\n                    cargoName = cargoData.group(1) if cargoData else cargo.group(1)\r\n                    cargoAmount = int(cargoData.group(2)) if cargoData else 1\r\n                    # Bail if we can't get item\r\n                    try:\r\n                        item = sMkt.getItem(cargoName)\r\n                    except (KeyboardInterrupt, SystemExit):\r\n                        raise\r\n                    except:\r\n                        pyfalog.warning(\"Cannot get item.\")\r\n                        continue\r\n                    # Add Cargo to the fitting\r\n                    c = Cargo(item)\r\n                    c.amount = cargoAmount\r\n                    fitobj.cargo.append(c)\r\n                # 2017/03/27 NOTE: store description from EFT\r\n                elif description:\r\n                    fitobj.notes = description.group(1).replace(\"|\", \"\\n\")\r\n                else:\r\n                    withCharge = re.match(r\"(.+),(.+)\", line)\r\n                    modName = withCharge.group(1) if withCharge else line\r\n                    chargeName = withCharge.group(2) if withCharge else None\r\n                    # If we can't get module item, skip it\r\n                    try:\r\n                        modItem = sMkt.getItem(modName)\r\n                    except (KeyboardInterrupt, SystemExit):\r\n                        raise\r\n                    except:\r\n                        pyfalog.warning(\"Cannot get item.\")\r\n                        continue\r\n\r\n                    # Create module\r\n                    m = Module(modItem)\r\n\r\n                    # Add subsystems before modules to make sure T3 cruisers have subsystems installed\r\n                    if modItem.category.name == \"Subsystem\":\r\n                        if m.fits(fitobj):\r\n                            fitobj.modules.append(m)\r\n                    else:\r\n                        m.owner = fitobj\r\n                        # Activate mod if it is activable\r\n                        if m.isValidState(FittingModuleState.ACTIVE):\r\n                            m.state = activeStateLimit(m.item)\r\n                        # Add charge to mod if applicable, on any errors just don't add anything\r\n                        if chargeName:\r\n                            try:\r\n                                chargeItem = sMkt.getItem(chargeName, eager=\"group.category\")\r\n                                if chargeItem.category.name == \"Charge\":\r\n                                    m.charge = chargeItem\r\n                            except (KeyboardInterrupt, SystemExit):\r\n                                raise\r\n                            except:\r\n                                pyfalog.warning(\"Cannot get item.\")\r\n                                pass\r\n                        # Append module to fit\r\n                        moduleList.append(m)\r\n\r\n            # Recalc to get slot numbers correct for T3 cruisers\r\n            sFit = svcFit.getInstance()\r\n            sFit.recalc(fitobj)\r\n            sFit.fill(fitobj)\r\n\r\n            for module in moduleList:\r\n                if module.fits(fitobj):\r\n                    fitobj.modules.append(module)\r\n\r\n            # Append fit to list of fits\r\n            fits.append(fitobj)\r\n\r\n            if progress:\r\n                progress.message = \"%s:\\n%s\" % (fitobj.ship.name, fitobj.name)\r\n\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        # Skip fit silently if we get an exception\r\n        except Exception as e:\r\n            pyfalog.error(\"Caught exception on fit.\")\r\n            pyfalog.error(e)\r\n            pass\r\n\r\n    return fits\r\n\r\n\r\ndef _importPrepare(lines):\r\n    for i in range(len(lines)):\r\n        lines[i] = lines[i].strip()\r\n    while lines and not lines[0]:\r\n        del lines[0]\r\n    while lines and not lines[-1]:\r\n        del lines[-1]\r\n    return lines\r\n\r\n\r\nmutantHeaderPattern = re.compile(r'^\\[(?P<ref>\\d+)\\](?P<tail>.*)')\r\n\r\n\r\ndef importGetMutationData(lines):\r\n    # Format: {ref: [lines]}\r\n    mutaLinesMap = {}\r\n    currentMutaRef = None\r\n    currentMutaLines = []\r\n    consumedIndices = set()\r\n\r\n    def completeMutaLines():\r\n        if currentMutaRef is not None and currentMutaLines:\r\n            mutaLinesMap[currentMutaRef] = currentMutaLines\r\n\r\n    for i, line in enumerate(lines):\r\n        m = mutantHeaderPattern.match(line)\r\n        # Start and reset at header line\r\n        if m:\r\n            completeMutaLines()\r\n            currentMutaRef = int(m.group('ref'))\r\n            currentMutaLines = []\r\n            currentMutaLines.append(m.group('tail'))\r\n            consumedIndices.add(i)\r\n        # Reset at blank line\r\n        elif not line:\r\n            completeMutaLines()\r\n            currentMutaRef = None\r\n            currentMutaLines = []\r\n        elif currentMutaRef is not None:\r\n            currentMutaLines.append(line)\r\n            consumedIndices.add(i)\r\n    else:\r\n        completeMutaLines()\r\n    # Clear mutant info from source\r\n    for i in sorted(consumedIndices, reverse=True):\r\n        del lines[i]\r\n    # Run parsing\r\n    data = {}\r\n    for ref, mutaLines in mutaLinesMap.items():\r\n        _, mutaType, mutaAttrs = parseMutant(mutaLines)\r\n        data[ref] = (mutaType, mutaAttrs)\r\n    return data\r\n\r\n\r\ndef _importSectionIter(lines):\r\n    section = Section()\r\n    for line in lines:\r\n        if not line:\r\n            if section.lines:\r\n                yield section\r\n                section = Section()\r\n        else:\r\n            section.lines.append(line)\r\n    if section.lines:\r\n        yield section\r\n\r\n\r\ndef _importCreateFit(lines):\r\n    \"\"\"Create fit and set top-level entity (ship or citadel).\"\"\"\r\n    fit = Fit()\r\n    header = lines.pop(0)\r\n    m = re.match(r'\\[(?P<shipType>[^,]+),\\s*(?P<fitName>.+)\\]', header)\r\n    if not m:\r\n        pyfalog.warning('service.port.eft.importEft: corrupted fit header')\r\n        raise EftImportError\r\n    shipType = m.group('shipType').strip()\r\n    fitName = m.group('fitName').strip()\r\n    try:\r\n        ship = fetchItem(shipType)\r\n        try:\r\n            fit.ship = Ship(ship)\r\n        except ValueError:\r\n            fit.ship = Citadel(ship)\r\n        fit.name = fitName\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        pyfalog.warning('service.port.eft.importEft: exception caught when parsing header')\r\n        raise EftImportError\r\n    return fit\r\n\r\n\r\ndef _clearTail(lst):\r\n    while lst and lst[-1] is None:\r\n        del lst[-1]\r\n\r\n\r\nclass EftImportError(Exception):\r\n    \"\"\"Exception class emitted and consumed by EFT importer internally.\"\"\"\r\n    ...\r\n\r\n\r\nclass Section:\r\n\r\n    def __init__(self):\r\n        self.lines = []\r\n        self.itemSpecs = []\r\n        self.__itemDataCats = None\r\n\r\n    @property\r\n    def itemDataCats(self):\r\n        if self.__itemDataCats is None:\r\n            cats = set()\r\n            for itemSpec in self.itemSpecs:\r\n                if itemSpec is None:\r\n                    continue\r\n                cats.add(itemSpec.item.category.name)\r\n            self.__itemDataCats = tuple(sorted(cats))\r\n        return self.__itemDataCats\r\n\r\n    @property\r\n    def isModuleRack(self):\r\n        return all(i is None or i.isModule for i in self.itemSpecs)\r\n\r\n    @property\r\n    def isImplantRack(self):\r\n        return all(i is not None and i.isImplant for i in self.itemSpecs)\r\n\r\n    @property\r\n    def isDroneBay(self):\r\n        return all(i is not None and i.isDrone for i in self.itemSpecs)\r\n\r\n    @property\r\n    def isFighterBay(self):\r\n        return all(i is not None and i.isFighter for i in self.itemSpecs)\r\n\r\n    @property\r\n    def isCargoHold(self):\r\n        return (\r\n            all(i is not None and i.isCargo for i in self.itemSpecs) and\r\n            not self.isDroneBay and not self.isFighterBay)\r\n\r\n\r\nclass BaseItemSpec:\r\n\r\n    def __init__(self, typeName):\r\n        item = fetchItem(typeName, eagerCat=True)\r\n        if item is None:\r\n            raise EftImportError\r\n        self.typeName = typeName\r\n        self.item = item\r\n\r\n    @property\r\n    def isModule(self):\r\n        return False\r\n\r\n    @property\r\n    def isImplant(self):\r\n        return False\r\n\r\n    @property\r\n    def isDrone(self):\r\n        return False\r\n\r\n    @property\r\n    def isFighter(self):\r\n        return False\r\n\r\n    @property\r\n    def isCargo(self):\r\n        return False\r\n\r\n\r\nclass RegularItemSpec(BaseItemSpec):\r\n\r\n    def __init__(self, typeName, chargeName=None):\r\n        super().__init__(typeName)\r\n        self.charge = self.__fetchCharge(chargeName)\r\n        self.offline = False\r\n        self.mutationIdx = None\r\n\r\n    def __fetchCharge(self, chargeName):\r\n        if chargeName:\r\n            charge = fetchItem(chargeName, eagerCat=True)\r\n            if not charge or charge.category.name != 'Charge':\r\n                charge = None\r\n        else:\r\n            charge = None\r\n        return charge\r\n\r\n    @property\r\n    def isModule(self):\r\n        return self.item.category.name in MODULE_CATS\r\n\r\n    @property\r\n    def isImplant(self):\r\n        return (\r\n            self.item.category.name == 'Implant' and (\r\n                'implantness' in self.item.attributes or\r\n                'boosterness' in self.item.attributes))\r\n\r\n\r\nclass MultiItemSpec(BaseItemSpec):\r\n\r\n    def __init__(self, typeName):\r\n        super().__init__(typeName)\r\n        self.amount = 0\r\n        self.mutationIdx = None\r\n\r\n    @property\r\n    def isDrone(self):\r\n        return self.item.category.name == 'Drone'\r\n\r\n    @property\r\n    def isFighter(self):\r\n        return self.item.category.name == 'Fighter'\r\n\r\n    @property\r\n    def isCargo(self):\r\n        return True\r\n\r\n\r\nclass AbstractFit:\r\n\r\n    def __init__(self):\r\n        # Modules\r\n        self.modulesHigh = []\r\n        self.modulesMed = []\r\n        self.modulesLow = []\r\n        self.rigs = []\r\n        self.subsystems = []\r\n        self.services = []\r\n        # Non-modules\r\n        self.implants = []\r\n        self.boosters = []\r\n        self.drones = []\r\n        self.fighters = []\r\n        self.cargo = {}  # Format: {item: Cargo}\r\n        # Other stuff\r\n        self.mutations = {}  # Format: {reference: (mutaplamid item, {attr ID: attr value})}\r\n\r\n    @property\r\n    def __slotContainerMap(self):\r\n        return {\r\n            FittingSlot.HIGH: self.modulesHigh,\r\n            FittingSlot.MED: self.modulesMed,\r\n            FittingSlot.LOW: self.modulesLow,\r\n            FittingSlot.RIG: self.rigs,\r\n            FittingSlot.SUBSYSTEM: self.subsystems,\r\n            FittingSlot.SERVICE: self.services}\r\n\r\n    def getContainerBySlot(self, slotType):\r\n        return self.__slotContainerMap.get(slotType)\r\n\r\n    def getSlotByContainer(self, container):\r\n        slotType = None\r\n        for k, v in self.__slotContainerMap.items():\r\n            if v is container:\r\n                slotType = k\r\n                break\r\n        return slotType\r\n\r\n    def addModules(self, itemSpecs):\r\n        modules = []\r\n        slotTypes = set()\r\n        for itemSpec in itemSpecs:\r\n            if itemSpec is None:\r\n                modules.append(None)\r\n                continue\r\n            m = self.__makeModule(itemSpec)\r\n            if m is None:\r\n                modules.append(None)\r\n                continue\r\n            modules.append(m)\r\n            slotTypes.add(m.slot)\r\n        _clearTail(modules)\r\n        # If all the modules have same slot type, put them to appropriate\r\n        # container with stubs\r\n        if len(slotTypes) == 1:\r\n            slotType = tuple(slotTypes)[0]\r\n            self.getContainerBySlot(slotType).extend(modules)\r\n        # Otherwise, put just modules\r\n        else:\r\n            for m in modules:\r\n                if m is None:\r\n                    continue\r\n                self.getContainerBySlot(m.slot).append(m)\r\n\r\n    def addModule(self, itemSpec):\r\n        if itemSpec is None:\r\n            return\r\n        m = self.__makeModule(itemSpec)\r\n        if m is not None:\r\n            self.getContainerBySlot(m.slot).append(m)\r\n\r\n    def __makeModule(self, itemSpec):\r\n        # Mutate item if needed\r\n        m = None\r\n        if itemSpec.mutationIdx in self.mutations:\r\n            mutaItem, mutaAttrs = self.mutations[itemSpec.mutationIdx]\r\n            mutaplasmid = getDynamicItem(mutaItem.ID)\r\n            if mutaplasmid:\r\n                try:\r\n                    m = Module(mutaplasmid.resultingItem, itemSpec.item, mutaplasmid)\r\n                except ValueError:\r\n                    pass\r\n                else:\r\n                    for attrID, mutator in m.mutators.items():\r\n                        if attrID in mutaAttrs:\r\n                            mutator.value = mutaAttrs[attrID]\r\n        # If we still don't have item (item is not mutated or we\r\n        # failed to construct mutated item), try to make regular item\r\n        if m is None:\r\n            try:\r\n                m = Module(itemSpec.item)\r\n            except ValueError:\r\n                return None\r\n\r\n        if itemSpec.charge is not None and m.isValidCharge(itemSpec.charge):\r\n            m.charge = itemSpec.charge\r\n        if itemSpec.offline and m.isValidState(FittingModuleState.OFFLINE):\r\n            m.state = FittingModuleState.OFFLINE\r\n        elif m.isValidState(FittingModuleState.ACTIVE):\r\n            m.state = activeStateLimit(m.item)\r\n        return m\r\n\r\n    def addImplant(self, itemSpec):\r\n        if itemSpec is None:\r\n            return\r\n        if 'implantness' in itemSpec.item.attributes:\r\n            self.implants.append(Implant(itemSpec.item))\r\n        elif 'boosterness' in itemSpec.item.attributes:\r\n            self.boosters.append(Booster(itemSpec.item))\r\n        else:\r\n            pyfalog.error('Failed to import implant: {}', itemSpec.typeName)\r\n\r\n    def addDrone(self, itemSpec):\r\n        if itemSpec is None:\r\n            return\r\n        drone = None\r\n        if itemSpec.mutationIdx in self.mutations:\r\n            mutaItem, mutaAttrs = self.mutations[itemSpec.mutationIdx]\r\n            mutaplasmid = getDynamicItem(mutaItem.ID)\r\n            if mutaplasmid:\r\n                try:\r\n                    drone = Drone(mutaplasmid.resultingItem, itemSpec.item, mutaplasmid)\r\n                except ValueError:\r\n                    pass\r\n                else:\r\n                    for attrID, mutator in drone.mutators.items():\r\n                        if attrID in mutaAttrs:\r\n                            mutator.value = mutaAttrs[attrID]\r\n        if drone is None:\r\n            try:\r\n                drone = Drone(itemSpec.item)\r\n            except ValueError:\r\n                return\r\n        drone.amount = itemSpec.amount\r\n        if drone.isMutated:\r\n            self.drones.append(drone)\r\n        else:\r\n            for fitDrone in self.drones:\r\n                if fitDrone.item.ID == itemSpec.item.ID:\r\n                    fitDrone.amount += drone.amount\r\n                    break\r\n            else:\r\n                self.drones.append(drone)\r\n\r\n    def addFighter(self, itemSpec):\r\n        if itemSpec is None:\r\n            return\r\n        fighter = Fighter(itemSpec.item)\r\n        fighter.amount = itemSpec.amount\r\n        self.fighters.append(fighter)\r\n\r\n    def addCargo(self, itemSpec):\r\n        if itemSpec is None:\r\n            return\r\n        if itemSpec.item not in self.cargo:\r\n            self.cargo[itemSpec.item] = Cargo(itemSpec.item)\r\n        self.cargo[itemSpec.item].amount += itemSpec.amount\r\n\r\n\r\ndef lineIter(text):\r\n    \"\"\"Iterate over non-blank lines.\"\"\"\r\n    for line in text.splitlines():\r\n        line = line.strip()\r\n        if line:\r\n            yield line\r\n\r\n\r\ndef parseAdditions(text, mutaData=None):\r\n    items = []\r\n    sMkt = Market.getInstance()\r\n    pattern = r'^(?P<typeName>{}+?)( x(?P<amount>\\d+?))?(\\s*\\[(?P<mutaref>\\d+?)\\])?$'.format(NAME_CHARS)\r\n    for line in lineIter(text):\r\n        m = re.match(pattern, line)\r\n        if not m:\r\n            continue\r\n        item = sMkt.getItem(m.group('typeName'))\r\n        if item is None:\r\n            continue\r\n        amount = m.group('amount')\r\n        amount = 1 if amount is None else int(amount)\r\n        mutaRef = int(m.group('mutaref')) if m.group('mutaref') else None\r\n        if mutaRef and mutaData and mutaRef in mutaData:\r\n            mutation = mutaData[mutaRef]\r\n        else:\r\n            mutation = None\r\n        items.append((item, amount, mutation))\r\n    return items\r\n\r\n\r\ndef isValidDroneImport(text):\r\n    lines = list(lineIter(text))\r\n    mutaData = importGetMutationData(lines)\r\n    text = '\\n'.join(lines)\r\n    pattern = r'x\\d+(\\s*\\[\\d+\\])?$'\r\n    for line in lineIter(text):\r\n        if not re.search(pattern, line):\r\n            return False, ()\r\n    itemData = parseAdditions(text, mutaData=mutaData)\r\n    if not itemData:\r\n        return False, ()\r\n    for item, amount, mutation in itemData:\r\n        if not item.isDrone:\r\n            return False, ()\r\n    return True, itemData\r\n\r\n\r\ndef isValidFighterImport(text):\r\n    pattern = r'x\\d+$'\r\n    for line in lineIter(text):\r\n        if not re.search(pattern, line):\r\n            return False, ()\r\n    itemData = parseAdditions(text)\r\n    if not itemData:\r\n        return False, ()\r\n    for item, amount, mutation in itemData:\r\n        if not item.isFighter:\r\n            return False, ()\r\n    return True, itemData\r\n\r\n\r\ndef isValidCargoImport(text):\r\n    pattern = r'x\\d+$'\r\n    for line in lineIter(text):\r\n        if not re.search(pattern, line):\r\n            return False, ()\r\n    itemData = parseAdditions(text)\r\n    if not itemData:\r\n        return False, ()\r\n    for item, amount, mutation in itemData:\r\n        if item.isAbyssal:\r\n            return False, ()\r\n    return True, itemData\r\n\r\n\r\ndef isValidImplantImport(text):\r\n    pattern = r'x\\d+$'\r\n    for line in lineIter(text):\r\n        if re.search(pattern, line):\r\n            return False, ()\r\n    itemData = parseAdditions(text)\r\n    if not itemData:\r\n        return False, ()\r\n    for item, amount, mutation in itemData:\r\n        if not item.isImplant:\r\n            return False, ()\r\n    return True, itemData\r\n\r\n\r\ndef isValidBoosterImport(text):\r\n    pattern = r'x\\d+$'\r\n    for line in lineIter(text):\r\n        if re.search(pattern, line):\r\n            return False, ()\r\n    itemData = parseAdditions(text)\r\n    if not itemData:\r\n        return False, ()\r\n    for item, amount, mutation in itemData:\r\n        if not item.isBooster:\r\n            return False, ()\r\n    return True, itemData\r\n"
  },
  {
    "path": "service/port/esi.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport json\r\nfrom collections import defaultdict\r\n\r\nfrom logbook import Logger\r\n\r\nfrom eos.const import FittingModuleState, FittingSlot\r\nfrom eos.saveddata.cargo import Cargo\r\nfrom eos.saveddata.citadel import Citadel\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom eos.saveddata.fit import Fit\r\nfrom eos.saveddata.module import Module\r\nfrom eos.saveddata.ship import Ship\r\nfrom gui.fitCommands.helpers import activeStateLimit\r\nfrom service.fit import Fit as svcFit\r\nfrom service.market import Market\r\n\r\n\r\nclass ESIExportException(Exception):\r\n    pass\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\nINV_FLAGS = {\r\n    FittingSlot.LOW: 11,\r\n    FittingSlot.MED: 19,\r\n    FittingSlot.HIGH: 27,\r\n    FittingSlot.RIG: 92,\r\n    FittingSlot.SUBSYSTEM: 125,\r\n    FittingSlot.SERVICE: 164\r\n}\r\n\r\nINV_FLAG_CARGOBAY = 5\r\nINV_FLAG_DRONEBAY = 87\r\nINV_FLAG_FIGHTER = 158\r\n\r\n\r\ndef exportESI(ofit, exportCharges, exportImplants, exportBoosters, callback):\r\n    # A few notes:\r\n    # max fit name length is 50 characters\r\n    # Most keys are created simply because they are required, but bogus data is okay\r\n\r\n    nested_dict = lambda: defaultdict(nested_dict)\r\n    fit = nested_dict()\r\n    sFit = svcFit.getInstance()\r\n\r\n    # max length is 50 characters\r\n    name = ofit.name[:47] + '...' if len(ofit.name) > 50 else ofit.name\r\n    fit['name'] = name\r\n    fit['ship_type_id'] = ofit.ship.item.ID\r\n\r\n    # 2017/03/29 NOTE: \"<\" or \"&lt;\" is Ignored\r\n    # fit['description'] = \"<pyfa:%d />\" % ofit.ID\r\n    fit['description'] = \"\" if ofit.notes is None else ofit.notes[:397] + '...' if len(ofit.notes) > 400 else ofit.notes\r\n    fit['items'] = []\r\n\r\n    slotNum = {}\r\n    charges = {}\r\n    for module in ofit.modules:\r\n        if module.isEmpty:\r\n            continue\r\n\r\n        item = nested_dict()\r\n        slot = module.slot\r\n\r\n        if slot == FittingSlot.SUBSYSTEM:\r\n            # Order of subsystem matters based on this attr. See GH issue #130\r\n            slot = int(module.getModifiedItemAttr(\"subSystemSlot\"))\r\n            item['flag'] = slot\r\n        else:\r\n            if slot not in slotNum:\r\n                slotNum[slot] = INV_FLAGS[slot]\r\n\r\n            item['flag'] = slotNum[slot]\r\n            slotNum[slot] += 1\r\n\r\n        item['quantity'] = 1\r\n        item['type_id'] = module.item.ID\r\n        fit['items'].append(item)\r\n\r\n        if module.charge and exportCharges:\r\n            if module.chargeID not in charges:\r\n                charges[module.chargeID] = 0\r\n            # `or 1` because some charges (ie scripts) are without qty\r\n            charges[module.chargeID] += module.numCharges or 1\r\n\r\n    for cargo in ofit.cargo:\r\n        item = nested_dict()\r\n        item['flag'] = INV_FLAG_CARGOBAY\r\n        item['quantity'] = cargo.amount\r\n        item['type_id'] = cargo.item.ID\r\n        fit['items'].append(item)\r\n\r\n    for chargeID, amount in list(charges.items()):\r\n        item = nested_dict()\r\n        item['flag'] = INV_FLAG_CARGOBAY\r\n        item['quantity'] = amount\r\n        item['type_id'] = chargeID\r\n        fit['items'].append(item)\r\n\r\n    for drone in ofit.drones:\r\n        item = nested_dict()\r\n        item['flag'] = INV_FLAG_DRONEBAY\r\n        item['quantity'] = drone.amount\r\n        item['type_id'] = drone.item.ID\r\n        fit['items'].append(item)\r\n\r\n    for fighter in ofit.fighters:\r\n        item = nested_dict()\r\n        item['flag'] = INV_FLAG_FIGHTER\r\n        item['quantity'] = fighter.amount\r\n        item['type_id'] = fighter.item.ID\r\n        fit['items'].append(item)\r\n\r\n    if exportImplants:\r\n        for implant in ofit.implants:\r\n            item = nested_dict()\r\n            item['flag'] = INV_FLAG_CARGOBAY\r\n            item['quantity'] = 1\r\n            item['type_id'] = implant.item.ID\r\n            fit['items'].append(item)\r\n\r\n    if exportBoosters:\r\n        for booster in ofit.boosters:\r\n            item = nested_dict()\r\n            item['flag'] = INV_FLAG_CARGOBAY\r\n            item['quantity'] = 1\r\n            item['type_id'] = booster.item.ID\r\n            fit['items'].append(item)\r\n\r\n    if len(fit['items']) == 0:\r\n        raise ESIExportException(\"Cannot export fitting: module list cannot be empty.\")\r\n\r\n    text = json.dumps(fit)\r\n\r\n    if callback:\r\n        callback(text)\r\n    else:\r\n        return text\r\n\r\n\r\ndef importESI(string):\r\n\r\n    sMkt = Market.getInstance()\r\n    fitobj = Fit()\r\n    refobj = json.loads(string)\r\n    items = refobj['items']\r\n    # \"<\" and \">\" is replace to \"&lt;\", \"&gt;\" by EVE client\r\n    fitobj.name = refobj['name']\r\n    # 2017/03/29: read description\r\n    fitobj.notes = refobj['description']\r\n\r\n    try:\r\n        ship = refobj['ship_type_id']\r\n        try:\r\n            fitobj.ship = Ship(sMkt.getItem(ship))\r\n        except ValueError:\r\n            fitobj.ship = Citadel(sMkt.getItem(ship))\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        pyfalog.warning(\"Caught exception in importESI\")\r\n        return None\r\n\r\n    items.sort(key=lambda k: k['flag'])\r\n\r\n    moduleList = []\r\n    for module in items:\r\n        try:\r\n            item = sMkt.getItem(module['type_id'], eager=\"group.category\")\r\n            if not item.published:\r\n                continue\r\n            if module['flag'] == INV_FLAG_DRONEBAY:\r\n                d = Drone(item)\r\n                d.amount = module['quantity']\r\n                fitobj.drones.append(d)\r\n            elif module['flag'] == INV_FLAG_CARGOBAY:\r\n                c = Cargo(item)\r\n                c.amount = module['quantity']\r\n                fitobj.cargo.append(c)\r\n            elif module['flag'] == INV_FLAG_FIGHTER:\r\n                fighter = Fighter(item)\r\n                fitobj.fighters.append(fighter)\r\n            else:\r\n                try:\r\n                    m = Module(item)\r\n                # When item can't be added to any slot (unknown item or just charge), ignore it\r\n                except ValueError:\r\n                    pyfalog.debug(\"Item can't be added to any slot (unknown item or just charge)\")\r\n                    continue\r\n                # Add subsystems before modules to make sure T3 cruisers have subsystems installed\r\n                if item.category.name == \"Subsystem\":\r\n                    if m.fits(fitobj):\r\n                        fitobj.modules.append(m)\r\n                else:\r\n                    if m.isValidState(FittingModuleState.ACTIVE):\r\n                        m.state = activeStateLimit(m.item)\r\n\r\n                    moduleList.append(m)\r\n\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            pyfalog.warning(\"Could not process module.\")\r\n            continue\r\n\r\n    # Recalc to get slot numbers correct for T3 cruisers\r\n    sFit = svcFit.getInstance()\r\n    sFit.recalc(fitobj)\r\n    sFit.fill(fitobj)\r\n\r\n    for module in moduleList:\r\n        if module.fits(fitobj):\r\n            fitobj.modules.append(module)\r\n\r\n    return fitobj\r\n"
  },
  {
    "path": "service/port/multibuy.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom service.const import PortMultiBuyOptions\r\nfrom service.price import Price as sPrc\r\n\r\n\r\ndef exportMultiBuy(fit, options, callback):\r\n    itemAmounts = {}\r\n\r\n    for module in fit.modules:\r\n        if module.item:\r\n            # Mutated items are of no use for multibuy\r\n            if module.isMutated:\r\n                continue\r\n            _addItem(itemAmounts, module.item)\r\n        if module.charge and options[PortMultiBuyOptions.LOADED_CHARGES]:\r\n            _addItem(itemAmounts, module.charge, module.numCharges)\r\n\r\n    for drone in fit.drones:\r\n        _addItem(itemAmounts, drone.item, drone.amount)\r\n\r\n    for fighter in fit.fighters:\r\n        _addItem(itemAmounts, fighter.item, fighter.amount)\r\n\r\n    if options[PortMultiBuyOptions.CARGO]:\r\n        for cargo in fit.cargo:\r\n            _addItem(itemAmounts, cargo.item, cargo.amount)\r\n\r\n    if options[PortMultiBuyOptions.IMPLANTS]:\r\n        for implant in fit.implants:\r\n            _addItem(itemAmounts, implant.item)\r\n\r\n    if options[PortMultiBuyOptions.BOOSTERS]:\r\n        for booster in fit.boosters:\r\n            _addItem(itemAmounts, booster.item)\r\n\r\n    if options[PortMultiBuyOptions.OPTIMIZE_PRICES]:\r\n\r\n        def formatCheaperExportCb(replacementsCheaper):\r\n            updatedAmounts = {}\r\n            for item, itemAmount in itemAmounts.items():\r\n                _addItem(updatedAmounts, replacementsCheaper.get(item, item), itemAmount)\r\n            string = _prepareString(fit.ship.item, updatedAmounts)\r\n            callback(string)\r\n\r\n        priceSvc = sPrc.getInstance()\r\n        priceSvc.findCheaperReplacements(itemAmounts, formatCheaperExportCb)\r\n    else:\r\n        string = _prepareString(fit.ship.item, itemAmounts)\r\n        if callback:\r\n            callback(string)\r\n        else:\r\n            return string\r\n\r\n\r\ndef _addItem(container, item, quantity=1):\r\n    if item not in container:\r\n        container[item] = 0\r\n    container[item] += quantity\r\n\r\n\r\ndef _prepareString(shipItem, itemAmounts):\r\n    exportLines = []\r\n    exportLines.append(shipItem.typeName)\r\n    for item in sorted(itemAmounts, key=lambda i: (i.group.category.name, i.group.name, i.name)):\r\n        count = itemAmounts[item]\r\n        if count == 1:\r\n            exportLines.append(item.typeName)\r\n        else:\r\n            exportLines.append('{} x{}'.format(item.typeName, count))\r\n\r\n    return \"\\n\".join(exportLines)\r\n"
  },
  {
    "path": "service/port/muta.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport re\r\n\r\nfrom eos.db.gamedata.queries import getAttributeInfo, getDynamicItem\r\nfrom eos.utils.float import floatUnerr\r\nfrom service.port.shared import fetchItem\r\nfrom service.esiAccess import EsiAccess\r\n\r\n\r\ndef renderMutant(mutant, firstPrefix='', prefix=''):\r\n    exportLines = []\r\n    exportLines.append('{}{}'.format(firstPrefix, mutant.baseItem.name))\r\n    exportLines.append('{}{}'.format(prefix, mutant.mutaplasmid.item.name))\r\n    exportLines.append('{}{}'.format(prefix, renderMutantAttrs(mutant)))\r\n    return '\\n'.join(exportLines)\r\n\r\n\r\ndef renderMutantAttrs(mutant):\r\n    mutatedAttrs = {}\r\n    for attrID, mutator in mutant.mutators.items():\r\n        attrName = getAttributeInfo(attrID).name\r\n        mutatedAttrs[attrName] = mutator.value\r\n    return ', '.join(\r\n        '{} {}'.format(a, floatUnerr(mutatedAttrs[a]))\r\n        for a in sorted(mutatedAttrs))\r\n\r\n\r\ndef parseMutant(lines):\r\n    # Fetch base item type\r\n    try:\r\n        baseItemName = lines[0]\r\n    except IndexError:\r\n        return None\r\n    baseItem = fetchItem(baseItemName.strip())\r\n    if baseItem is None:\r\n        return None, None, {}\r\n    # Fetch mutaplasmid item type and actual item\r\n    try:\r\n        mutaplasmidName = lines[1]\r\n    except IndexError:\r\n        return baseItem, None, {}\r\n    mutaplasmidItem = fetchItem(mutaplasmidName.strip())\r\n    if mutaplasmidItem is None:\r\n        return baseItem, None, {}\r\n    mutaplasmidItem = getDynamicItem(mutaplasmidItem.ID)\r\n    # Process mutated attribute values\r\n    try:\r\n        mutationsLine = lines[2]\r\n    except IndexError:\r\n        return baseItem, mutaplasmidItem, {}\r\n    mutations = parseMutantAttrs(mutationsLine)\r\n    return baseItem, mutaplasmidItem, mutations\r\n\r\n\r\ndef parseMutantAttrs(line):\r\n    mutations = {}\r\n    pairs = [p.strip() for p in line.split(',')]\r\n    for pair in pairs:\r\n        try:\r\n            attrName, value = pair.split(' ')\r\n        except ValueError:\r\n            continue\r\n        try:\r\n            value = float(value)\r\n        except (ValueError, TypeError):\r\n            continue\r\n        attrInfo = getAttributeInfo(attrName.strip())\r\n        if attrInfo is None:\r\n            continue\r\n        mutations[attrInfo.ID] = value\r\n    return mutations\r\n\r\n\r\ndef parseDynamicItemString(text):\r\n    m = re.search(r'<url=showinfo:(?P<typeid>\\d+)//(?P<itemid>\\d+)>.+</url>', text)\r\n    if m:\r\n        typeID = int(m.group('typeid'))\r\n        itemID = int(m.group('itemid'))\r\n        return typeID, itemID\r\n    return None\r\n\r\n\r\ndef fetchDynamicItem(dynamicItemData):\r\n    typeID, itemID = dynamicItemData\r\n    esiData = EsiAccess().getDynamicItem(typeID, itemID).json()\r\n    baseItemID = esiData['source_type_id']\r\n    mutaplasmidID = esiData['mutator_type_id']\r\n    attrs = {i['attribute_id']: i['value'] for i in esiData['dogma_attributes']}\r\n    baseItem = fetchItem(baseItemID)\r\n    mutaplasmid = getDynamicItem(mutaplasmidID)\r\n    return baseItem, mutaplasmid, attrs\r\n"
  },
  {
    "path": "service/port/port.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport re\r\nimport os\r\nimport threading\r\nimport xml.dom\r\nimport xml.parsers.expat\r\nfrom codecs import open\r\n\r\nfrom bs4 import UnicodeDammit\r\nfrom logbook import Logger\r\n\r\nfrom eos import db\r\nfrom eos.const import ImplantLocation\r\nfrom service.fit import Fit as svcFit\r\nfrom service.port.dna import exportDna, importDna, importDnaAlt\r\nfrom service.port.eft import (\r\n    exportEft, importEft, importEftCfg,\r\n    isValidDroneImport, isValidFighterImport, isValidCargoImport,\r\n    isValidImplantImport, isValidBoosterImport)\r\nfrom service.port.esi import exportESI, importESI\r\nfrom service.port.multibuy import exportMultiBuy\r\nfrom service.port.shipstats import exportFitStats\r\nfrom service.port.xml import importXml, exportXml\r\nfrom service.port.muta import parseMutant, parseDynamicItemString, fetchDynamicItem\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n# 2017/04/05 NOTE: simple validation, for xml file\r\nRE_XML_START = r'<\\?xml\\s+version=\"1.0\"[^<>]*\\?>'\r\n\r\n\r\nclass Port:\r\n    \"\"\"Service which houses all import/export format functions\"\"\"\r\n    instance = None\r\n    __tag_replace_flag = True\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls.instance is None:\r\n            cls.instance = Port()\r\n\r\n        return cls.instance\r\n\r\n    @classmethod\r\n    def set_tag_replace(cls, b):\r\n        cls.__tag_replace_flag = b\r\n\r\n    @classmethod\r\n    def is_tag_replace(cls):\r\n        # might there is a person who wants to hold tags.\r\n        # (item link in EVE client etc. When importing again to EVE)\r\n        return cls.__tag_replace_flag\r\n\r\n    @staticmethod\r\n    def backupFits(path, progress):\r\n        pyfalog.debug(\"Starting backup fits thread.\")\r\n\r\n        def backupFitsWorkerFunc(path, progress):\r\n            try:\r\n                backedUpFits = Port.exportXml(svcFit.getInstance().getAllFits(), progress)\r\n                if backedUpFits:\r\n                    progress.message = f'writing {path}'\r\n                    backupFile = open(path, \"w\", encoding=\"utf-8\")\r\n                    backupFile.write(backedUpFits)\r\n                    backupFile.close()\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                progress.error = f'{e}'\r\n            finally:\r\n                progress.current += 1\r\n                progress.workerWorking = False\r\n\r\n        threading.Thread(\r\n            target=backupFitsWorkerFunc,\r\n            args=(path, progress)\r\n        ).start()\r\n\r\n    @staticmethod\r\n    def importFitsThreaded(paths, progress):\r\n        \"\"\"\r\n        :param paths: fits data file path list.\r\n        :rtype: None\r\n        \"\"\"\r\n        pyfalog.debug(\"Starting import fits thread.\")\r\n\r\n        def importFitsFromFileWorkerFunc(paths, progress):\r\n            Port.importFitFromFiles(paths, progress)\r\n\r\n        threading.Thread(\r\n            target=importFitsFromFileWorkerFunc,\r\n            args=(paths, progress)\r\n        ).start()\r\n\r\n    @staticmethod\r\n    def importFitFromFiles(paths, progress=None):\r\n        \"\"\"\r\n        Imports fits from file(s). First processes all provided paths and stores\r\n        assembled fits into a list. This allows us to call back to the GUI as\r\n        fits are processed as well as when fits are being saved.\r\n        returns\r\n        \"\"\"\r\n\r\n        sFit = svcFit.getInstance()\r\n\r\n        fit_list = []\r\n        try:\r\n            for path in paths:\r\n                if progress:\r\n                    if progress and progress.userCancelled:\r\n                        progress.workerWorking = False\r\n                        return False, \"Cancelled by user\"\r\n                    msg = \"Processing file:\\n%s\" % path\r\n                    progress.message = msg\r\n                    pyfalog.debug(msg)\r\n\r\n                with open(path, \"rb\") as file_:\r\n                    srcString = file_.read()\r\n                    dammit = UnicodeDammit(srcString)\r\n                    srcString = dammit.unicode_markup\r\n\r\n                if len(srcString) == 0:  # ignore blank files\r\n                    pyfalog.debug(\"File is blank.\")\r\n                    continue\r\n\r\n                try:\r\n                    importType, makesNewFits, fitsImport = Port.importAuto(srcString, path, progress=progress)\r\n                    fit_list += fitsImport\r\n                except xml.parsers.expat.ExpatError:\r\n                    pyfalog.warning(\"Malformed XML in:\\n{0}\", path)\r\n                    msg = \"Malformed XML in %s\" % path\r\n                    if progress:\r\n                        progress.error = msg\r\n                        progress.workerWorking = False\r\n                    return False, msg\r\n\r\n            numFits = len(fit_list)\r\n            for idx, fit in enumerate(fit_list):\r\n                if progress and progress.userCancelled:\r\n                    progress.workerWorking = False\r\n                    return False, \"Cancelled by user\"\r\n                # Set some more fit attributes and save\r\n                fit.character = sFit.character\r\n                fit.damagePattern = sFit.pattern\r\n                fit.targetProfile = sFit.targetProfile\r\n                if len(fit.implants) > 0:\r\n                    fit.implantLocation = ImplantLocation.FIT\r\n                else:\r\n                    useCharImplants = sFit.serviceFittingOptions[\"useCharacterImplantsByDefault\"]\r\n                    fit.implantLocation = ImplantLocation.CHARACTER if useCharImplants else ImplantLocation.FIT\r\n                db.save(fit)\r\n                # IDs.append(fit.ID)\r\n                if progress:\r\n                    pyfalog.debug(\"Processing complete, saving fits to database: {0}/{1}\", idx + 1, numFits)\r\n                    progress.message = \"Processing complete, saving fits to database\\n(%d/%d) %s\" % (idx + 1, numFits, fit.ship.name)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception as e:\r\n            pyfalog.critical(\"Unknown exception processing: {0}\", paths)\r\n            pyfalog.critical(e)\r\n            if progress:\r\n                progress.error = f'{e}'\r\n                progress.workerWorking = False\r\n            return False, \"Unknown error while processing {}\\n\\n Error: {} {}\".format(\r\n                paths, type(e).__name__, getattr(e, 'message', ''))\r\n\r\n        if progress:\r\n            progress.cbArgs.append(fit_list[:])\r\n            progress.workerWorking = False\r\n        return True, fit_list\r\n\r\n    @staticmethod\r\n    def importFitFromBuffer(bufferStr, activeFit=None):\r\n        # type: (str, object) -> object\r\n        # TODO: catch the exception?\r\n        # activeFit is reserved?, bufferStr is unicode? (assume only clipboard string?\r\n        sFit = svcFit.getInstance()\r\n        importType, makesNewFits, importData = Port.importAuto(bufferStr, activeFit=activeFit)\r\n\r\n        if makesNewFits:\r\n            for fit in importData:\r\n                fit.character = sFit.character\r\n                fit.damagePattern = sFit.pattern\r\n                fit.targetProfile = sFit.targetProfile\r\n                if len(fit.implants) > 0:\r\n                    fit.implantLocation = ImplantLocation.FIT\r\n                else:\r\n                    useCharImplants = sFit.serviceFittingOptions[\"useCharacterImplantsByDefault\"]\r\n                    fit.implantLocation = ImplantLocation.CHARACTER if useCharImplants else ImplantLocation.FIT\r\n                db.save(fit)\r\n        return importType, importData\r\n\r\n    @classmethod\r\n    def importAuto(cls, string, path=None, activeFit=None, progress=None):\r\n        lines = string.splitlines()\r\n        # Get first line and strip space symbols of it to avoid possible detection errors\r\n        firstLine = ''\r\n        for line in lines:\r\n            line = line.strip()\r\n            if line:\r\n                firstLine = line\r\n                break\r\n\r\n        # If XML-style start of tag encountered, detect as XML\r\n        if re.search(RE_XML_START, firstLine):\r\n            return \"XML\", True, cls.importXml(string, progress)\r\n\r\n        # If JSON-style start, parse as CREST/JSON\r\n        if firstLine[0] == '{':\r\n            return \"JSON\", True, (cls.importESI(string),)\r\n\r\n        # If we've got source file name which is used to describe ship name\r\n        # and first line contains something like [setup name], detect as eft config file\r\n        if re.match(r\"^\\s*\\[.*\\]\", firstLine) and path is not None:\r\n            filename = os.path.split(path)[1]\r\n            shipName = filename.rsplit('.')[0]\r\n            return \"EFT Config\", True, cls.importEftCfg(shipName, lines, progress)\r\n\r\n        # If no file is specified and there's comma between brackets,\r\n        # consider that we have [ship, setup name] and detect like eft export format\r\n        if re.match(r\"^\\s*\\[.*,.*\\]\", firstLine):\r\n            return \"EFT\", True, (cls.importEft(lines),)\r\n\r\n        # Check if string is in DNA format\r\n        dnaPattern = r\"\\d+(:\\d+(;\\d+))*::\"\r\n        if re.match(dnaPattern, firstLine):\r\n            return \"DNA\", True, (cls.importDna(string),)\r\n        dnaChatPattern = r\"<url=fitting:(?P<dna>{})>(?P<fitName>[^<>]+)</url>\".format(dnaPattern)\r\n        m = re.search(dnaChatPattern, firstLine)\r\n        if m:\r\n            return \"DNA\", True, (cls.importDna(m.group(\"dna\"), fitName=m.group(\"fitName\")),)\r\n        m = re.search(r\"DNA:(?P<dna>\\d+(:\\d+(\\*\\d+)?)*)\", firstLine)\r\n        if m:\r\n            return \"DNA\", True, (cls.importDnaAlt(m.group(\"dna\")),)\r\n\r\n        if activeFit is not None:\r\n\r\n            # Try to import mutated item from network\r\n            dynData = parseDynamicItemString(string)\r\n            if dynData is not None:\r\n                itemData = fetchDynamicItem(dynData)\r\n                if itemData is not None:\r\n                    baseItem, mutaplasmidItem, mutations = itemData\r\n                    return \"FittingItem\", False, ((baseItem, mutaplasmidItem, mutations),)\r\n\r\n            # Try to import mutated module\r\n            try:\r\n                baseItem, mutaplasmidItem, mutations = parseMutant(lines)\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except:\r\n                pass\r\n            else:\r\n                if baseItem is not None:\r\n                    return \"FittingItem\", False, ((baseItem, mutaplasmidItem, mutations),)\r\n            # Try to import into one of additions panels\r\n            isDrone, droneData = isValidDroneImport(string)\r\n            if isDrone:\r\n                return \"AdditionsDrones\", False, (droneData,)\r\n            isFighter, fighterData = isValidFighterImport(string)\r\n            if isFighter:\r\n                return \"AdditionsFighters\", False, (fighterData,)\r\n            isImplant, implantData = isValidImplantImport(string)\r\n            if isImplant:\r\n                return \"AdditionsImplants\", False, (implantData,)\r\n            isBooster, boosterData = isValidBoosterImport(string)\r\n            if isBooster:\r\n                return \"AdditionsBoosters\", False, (boosterData,)\r\n            isCargo, cargoData = isValidCargoImport(string)\r\n            if isCargo:\r\n                return \"AdditionsCargo\", False, (cargoData,)\r\n\r\n    # EFT-related methods\r\n    @staticmethod\r\n    def importEft(lines):\r\n        return importEft(lines)\r\n\r\n    @staticmethod\r\n    def importEftCfg(shipname, lines, progress=None):\r\n        return importEftCfg(shipname, lines, progress)\r\n\r\n    @classmethod\r\n    def exportEft(cls, fit, options, callback=None):\r\n        return exportEft(fit, options, callback=callback)\r\n\r\n    # DNA-related methods\r\n    @staticmethod\r\n    def importDna(string, fitName=None):\r\n        return importDna(string, fitName=fitName)\r\n\r\n    @staticmethod\r\n    def importDnaAlt(string, fitName=None):\r\n        return importDnaAlt(string, fitName=fitName)\r\n\r\n    @staticmethod\r\n    def exportDna(fit, options, callback=None):\r\n        return exportDna(fit, options, callback=callback)\r\n\r\n    # ESI-related methods\r\n    @staticmethod\r\n    def importESI(string):\r\n        return importESI(string)\r\n\r\n    @staticmethod\r\n    def exportESI(fit, exportCharges, exportImplants, exportBoosters, callback=None):\r\n        return exportESI(fit, exportCharges, exportImplants, exportBoosters, callback=callback)\r\n\r\n    # XML-related methods\r\n    @staticmethod\r\n    def importXml(text, progress=None):\r\n        return importXml(text, progress)\r\n\r\n    @staticmethod\r\n    def exportXml(fits, progress=None, callback=None):\r\n        return exportXml(fits, progress, callback=callback)\r\n\r\n    # Multibuy-related methods\r\n    @staticmethod\r\n    def exportMultiBuy(fit, options, callback=None):\r\n        return exportMultiBuy(fit, options, callback=callback)\r\n\r\n    @staticmethod\r\n    def exportFitStats(fit, callback=None):\r\n        return exportFitStats(fit, callback=callback)\r\n"
  },
  {
    "path": "service/port/shared.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nfrom logbook import Logger\r\n\r\nfrom service.market import Market\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\ndef fetchItem(typeName, eagerCat=False):\r\n    sMkt = Market.getInstance()\r\n    eager = 'group.category' if eagerCat else None\r\n    try:\r\n        item = sMkt.getItem(typeName, eager=eager)\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        pyfalog.warning('service.port.shared: unable to fetch item \"{}\"'.format(typeName))\r\n        return None\r\n    if item is None:\r\n        return None\r\n    if sMkt.getPublicityByItem(item):\r\n        return item\r\n    else:\r\n        return None\r\n"
  },
  {
    "path": "service/port/shipstats.py",
    "content": "from functools import reduce\r\nfrom eos.saveddata.damagePattern import DamagePattern\r\nfrom eos.utils.stats import RRTypes, DmgTypes\r\nfrom gui.utils.numberFormatter import formatAmount\r\n\r\ntankTypes = RRTypes.names()\r\ndamageTypes = DmgTypes.names()\r\ndamagePatterns = [DamagePattern.oneType(damageType) for damageType in damageTypes]\r\ndamageTypeResonanceNames = [damageType.capitalize() + \"DamageResonance\" for damageType in damageTypes]\r\nresonanceNames = {tankTypes[0]: [tankTypes[0] + s for s in damageTypeResonanceNames],\r\n                  tankTypes[1]: [tankTypes[1] + s for s in damageTypeResonanceNames],\r\n                  tankTypes[2]: [s[0].lower() + s[1:] for s in damageTypeResonanceNames]}\r\n\r\n\r\ndef firepowerSection(fit):\r\n    \"\"\" Returns the text of the firepower section\"\"\"\r\n    totalDps = fit.getTotalDps().total\r\n    weaponDps = fit.getWeaponDps().total\r\n    droneDps = fit.getDroneDps().total\r\n    totalVolley = fit.getTotalVolley().total\r\n    firepower = [totalDps, weaponDps, droneDps, totalVolley]\r\n\r\n    firepowerStr = [formatAmount(dps, 3, 0, 0) for dps in firepower]\r\n    # showWeaponAndDroneDps = (weaponDps > 0) and (droneDps > 0)\r\n    if sum(firepower) == 0:\r\n        return \"\"\r\n\r\n    return \"DPS: {} (\".format(firepowerStr[0]) + \\\r\n           (\"Weapon: {}, Drone: {}, \".format(*firepowerStr[1:3])) + \\\r\n           (\"Volley: {})\\n\".format(firepowerStr[3]))\r\n\r\n\r\ndef tankSection(fit):\r\n    \"\"\" Returns the text of the tank section\"\"\"\r\n    ehp = [fit.ehp[tank] for tank in tankTypes] if fit.ehp is not None else [0, 0, 0]\r\n    ehp.append(sum(ehp))\r\n    ehpStr = [formatAmount(ehpVal, 3, 0, 9) for ehpVal in ehp]\r\n    resists = {tankType: [1 - fit.ship.getModifiedItemAttr(s) for s in resonanceNames[tankType]] for tankType in tankTypes}\r\n    ehpAgainstDamageType = [sum(pattern.calculateEhp(fit.ship).values()) for pattern in damagePatterns]\r\n    ehpAgainstDamageTypeStr = [formatAmount(ehpVal, 3, 0, 9) for ehpVal in ehpAgainstDamageType]\r\n\r\n    # not used for now.  maybe will be improved later\r\n    # def formattedOutput():\r\n    #     return \\\r\n    #         \"        {:>7} {:>7} {:>7} {:>7} {:>7}\\n\".format(\"TOTAL\", \"EM\", \"THERM\", \"KIN\", \"EXP\") + \\\r\n    #         \"EHP     {:>7} {:>7} {:>7} {:>7} {:>7}\\n\".format(ehpStr[3], *ehpAgainstDamageTypeStr) + \\\r\n    #         \"Shield  {:>7} {:>7.0%} {:>7.0%} {:>7.0%} {:>7.0%}\\n\".format(ehpStr[0], *resists[\"shield\"]) + \\\r\n    #         \"Armor   {:>7} {:>7.0%} {:>7.0%} {:>7.0%} {:>7.0%}\\n\".format(ehpStr[1], *resists[\"armor\"]) + \\\r\n    #         \"Hull    {:>7} {:>7.0%} {:>7.0%} {:>7.0%} {:>7.0%}\\n\".format(ehpStr[2], *resists[\"hull\"])\r\n\r\n    def generalOutput():\r\n        rowNames = [\"EHP\"]\r\n        rowNames.extend(RRTypes.names(postProcessor=lambda v: v.capitalize()))\r\n        colNames = DmgTypes.names(short=True, postProcessor=lambda v: \" \" + v.capitalize())\r\n        colNames[0] = colNames[0][1::]\r\n\r\n        outputScheme = []\r\n        for index, rowName in enumerate(rowNames):\r\n            row = rowName + \": {:>} (\"\r\n            subsValue = \" {:.0%},\" if index > 0 else \" {:>},\"\r\n\r\n            row += ''.join([(colName + \":\" + subsValue) for colName in colNames])\r\n            row = row[:-1:] + \")\\n\"\r\n\r\n            outputScheme.append(row)\r\n\r\n        return \\\r\n            outputScheme[0].format(ehpStr[3], *ehpAgainstDamageTypeStr) + \\\r\n            outputScheme[1].format(ehpStr[0], *resists[\"shield\"]) + \\\r\n            outputScheme[2].format(ehpStr[1], *resists[\"armor\"]) + \\\r\n            outputScheme[3].format(ehpStr[2], *resists[\"hull\"])\r\n\r\n        # return \\\r\n        #     \"EHP: {:>} (Em: {:>}, Th: {:>}, Kin: {:>}, Exp: {:>})\\n\".format(ehpStr[3], *ehpAgainstDamageTypeStr) + \\\r\n        #     \"Shield: {:>} (Em: {:.0%}, Th: {:.0%}, Kin: {:.0%}, Exp: {:.0%})\\n\".format(ehpStr[0], *resists[\"shield\"]) + \\\r\n        #     \"Armor: {:>} (Em: {:.0%}, Th: {:.0%}, Kin: {:.0%}, Exp: {:.0%})\\n\".format(ehpStr[1], *resists[\"armor\"]) + \\\r\n        #     \"Hull: {:>} (Em: {:.0%}, Th: {:.0%}, Kin: {:.0%}, Exp: {:.0%})\\n\".format(ehpStr[2], *resists[\"hull\"])\r\n\r\n    return generalOutput()\r\n\r\n\r\ndef _addFormattedColumn(value, name, header, linesList, repStr):\r\n    if value:\r\n        header += \"{:>7} \".format(name)\r\n        linesList = [line + \"{:>7} \".format(rep) for line, rep in zip(linesList, repStr)]\r\n\r\n    return header, linesList\r\n\r\ndef repsSection(fit):\r\n    \"\"\" Returns the text of the repairs section\"\"\"\r\n    selfRep = [fit.effectiveTank[tankType + \"Repair\"] for tankType in tankTypes]\r\n    sustainRep = [fit.effectiveSustainableTank[tankType + \"Repair\"] for tankType in tankTypes]\r\n    remoteRepObj = fit.getRemoteReps()\r\n    remoteRep = [remoteRepObj.shield, remoteRepObj.armor, remoteRepObj.hull]\r\n    shieldRegen = [fit.effectiveSustainableTank[\"passiveShield\"], 0, 0]\r\n    shieldRechargeModuleMultipliers = [module.item.attributes[\"shieldRechargeRateMultiplier\"].value for module in\r\n                                       fit.modules if\r\n                                       module.item and \"shieldRechargeRateMultiplier\" in module.item.attributes]\r\n    shieldRechargeMultiplierByModules = reduce(lambda x, y: x * y, shieldRechargeModuleMultipliers, 1)\r\n    if shieldRechargeMultiplierByModules >= 0.9:  # If the total affect of modules on the shield recharge is negative or insignificant, we don't care about it\r\n        shieldRegen[0] = 0\r\n    totalRep = list(zip(selfRep, remoteRep, shieldRegen))\r\n    totalRep = list(map(sum, totalRep))\r\n\r\n    selfRep.append(sum(selfRep))\r\n    sustainRep.append(sum(sustainRep))\r\n    remoteRep.append(sum(remoteRep))\r\n    shieldRegen.append(sum(shieldRegen))\r\n    totalRep.append(sum(totalRep))\r\n\r\n    totalSelfRep = selfRep[-1]\r\n    totalRemoteRep = remoteRep[-1]\r\n    totalShieldRegen = shieldRegen[-1]\r\n\r\n    text = \"\"\r\n\r\n    if sum(totalRep) > 0:  # Most commonly, there are no reps at all; then we skip this section\r\n        singleTypeRep = None\r\n        singleTypeRepName = None\r\n        if totalRemoteRep == 0 and totalShieldRegen == 0:  # Only self rep\r\n            singleTypeRep = selfRep[:-1]\r\n            singleTypeRepName = \"Self\"\r\n        if totalSelfRep == 0 and totalShieldRegen == 0:  # Only remote rep\r\n            singleTypeRep = remoteRep[:-1]\r\n            singleTypeRepName = \"Remote\"\r\n        if totalSelfRep == 0 and totalRemoteRep == 0:  # Only shield regen\r\n            singleTypeRep = shieldRegen[:-1]\r\n            singleTypeRepName = \"Regen\"\r\n        if singleTypeRep and sum(\r\n                x > 0 for x in singleTypeRep) == 1:  # Only one type of reps and only one tank type is repaired\r\n            index = next(i for i, v in enumerate(singleTypeRep) if v > 0)\r\n            if singleTypeRepName == \"Regen\":\r\n                text += \"Shield regeneration: {} EHP/s\".format(formatAmount(singleTypeRep[index], 3, 0, 9))\r\n            else:\r\n                text += \"{} {} repair: {} EHP/s\".format(singleTypeRepName, tankTypes[index],\r\n                                                        formatAmount(singleTypeRep[index], 3, 0, 9))\r\n            if (singleTypeRepName == \"Self\") and (sustainRep[index] != singleTypeRep[index]):\r\n                text += \" (Sustained: {} EHP/s)\".format(formatAmount(sustainRep[index], 3, 0, 9))\r\n            text += \"\\n\"\r\n        else:  # Otherwise show a table\r\n            selfRepStr = [formatAmount(rep, 3, 0, 9) for rep in selfRep]\r\n            sustainRepStr = [formatAmount(rep, 3, 0, 9) for rep in sustainRep]\r\n            remoteRepStr = [formatAmount(rep, 3, 0, 9) for rep in remoteRep]\r\n            shieldRegenStr = [formatAmount(rep, 3, 0, 9) if rep != 0 else \"\" for rep in shieldRegen]\r\n            totalRepStr = [formatAmount(rep, 3, 0, 9) for rep in totalRep]\r\n\r\n            lines = RRTypes.names(postProcessor=lambda v: v.capitalize())\r\n            lines.append(\"Total\")\r\n            lines = [\"{:<8}\".format(line) for line in lines]\r\n\r\n            showSelfRepColumn = totalSelfRep > 0\r\n            showSustainRepColumn = sustainRep != selfRep\r\n            showRemoteRepColumn = totalRemoteRep > 0\r\n            showShieldRegenColumn = totalShieldRegen > 0\r\n\r\n            header = \"REPS    \"\r\n            header, lines = _addFormattedColumn(\r\n                (showSelfRepColumn + showSustainRepColumn + showRemoteRepColumn + showShieldRegenColumn > 1),\r\n                \"TOTAL\", header, lines, totalRepStr)\r\n            header, lines = _addFormattedColumn(showSelfRepColumn, \"SELF\", header, lines, selfRepStr)\r\n            header, lines = _addFormattedColumn(showSustainRepColumn, \"SUST\", header, lines, sustainRepStr)\r\n            header, lines = _addFormattedColumn(showRemoteRepColumn, \"REMOTE\", header, lines, remoteRepStr)\r\n            header, lines = _addFormattedColumn(showShieldRegenColumn, \"REGEN\", header, lines, shieldRegenStr)\r\n\r\n            text += header + \"\\n\"\r\n            repsByTank = zip(totalRep, selfRep, sustainRep, remoteRep, shieldRegen)\r\n            for line in lines:\r\n                reps = next(repsByTank)\r\n                if sum(reps) > 0:\r\n                    text += line + \"\\n\"\r\n    return text\r\n\r\n\r\ndef miscSection(fit):\r\n    text = \"\"\r\n    text += \"Speed: {} m/s\\n\".format(formatAmount(fit.maxSpeed, 3, 0, 0))\r\n    text += \"Signature: {} m\\n\".format(formatAmount(fit.ship.getModifiedItemAttr(\"signatureRadius\"), 3, 0, 9))\r\n\r\n    text += \"Capacitor: {} GJ\".format(formatAmount(fit.ship.getModifiedItemAttr(\"capacitorCapacity\"), 3, 0, 9))\r\n    capState = fit.capState\r\n    if fit.capStable:\r\n        text += \" (Stable at {0:.0f}%)\".format(capState)\r\n    else:\r\n        text += \" (Lasts {})\".format(\"%ds\" % capState if capState <= 60 else \"%dm%ds\" % divmod(capState, 60))\r\n    text += \"\\n\"\r\n\r\n    text += \"Targeting range: {} km\\n\".format(formatAmount(fit.maxTargetRange / 1000, 3, 0, 0))\r\n    text += \"Scan resolution: {0:.0f} mm\\n\".format(fit.ship.getModifiedItemAttr(\"scanResolution\"))\r\n    text += \"Sensor strength: {}\\n\".format(formatAmount(fit.scanStrength, 3, 0, 0))\r\n\r\n    return text\r\n\r\n\r\ndef exportFitStats(fit, callback):\r\n    \"\"\"\r\n    Returns the text of the stats export of the given fit\r\n    \"\"\"\r\n    sections = filter(None, (firepowerSection(fit),  # Prune empty sections\r\n                             tankSection(fit),\r\n                             repsSection(fit),\r\n                             miscSection(fit)))\r\n\r\n    text = \"{} ({})\\n\".format(fit.name, fit.ship.item.typeName) + \"\\n\"\r\n    text += \"\\n\".join(sections)\r\n\r\n    if callback:\r\n        callback(text)\r\n    else:\r\n        return text\r\n"
  },
  {
    "path": "service/port/xml.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport re\r\nimport xml.dom\r\nimport xml.parsers.expat\r\n\r\nfrom logbook import Logger\r\n\r\nfrom eos.const import FittingModuleState, FittingSlot\r\nfrom eos.db import getDynamicItem\r\nfrom eos.saveddata.cargo import Cargo\r\nfrom eos.saveddata.citadel import Citadel\r\nfrom eos.saveddata.drone import Drone\r\nfrom eos.saveddata.fighter import Fighter\r\nfrom eos.saveddata.fit import Fit\r\nfrom eos.saveddata.module import Module\r\nfrom eos.saveddata.ship import Ship\r\nfrom gui.fitCommands.helpers import activeStateLimit\r\nfrom service.fit import Fit as svcFit\r\nfrom service.market import Market\r\nfrom service.port.muta import renderMutantAttrs, parseMutantAttrs\r\nfrom service.port.shared import fetchItem\r\nfrom utils.strfunctions import replace_ltgt, sequential_rep\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n# -- 170327 Ignored description --\r\nRE_LTGT = \"&(lt|gt);\"\r\nL_MARK = \"&lt;localized hint=&quot;\"\r\n# &lt;localized hint=&quot;([^\"]+)&quot;&gt;([^\\*]+)\\*&lt;\\/localized&gt;\r\nLOCALIZED_PATTERN = re.compile(r'<localized hint=\"([^\"]+)\">([^\\*]+)\\*</localized>')\r\n\r\n\r\nclass ExtractingError(Exception):\r\n    pass\r\n\r\n\r\ndef _extract_match(t):\r\n    m = LOCALIZED_PATTERN.match(t)\r\n    if m is None:\r\n        raise ExtractingError\r\n    # hint attribute, text content\r\n    return m.group(1), m.group(2)\r\n\r\n\r\ndef _resolve_ship(fitting, sMkt, b_localized):\r\n    # type: (xml.dom.minidom.Element, service.market.Market, bool) -> eos.saveddata.fit.Fit\r\n    \"\"\" NOTE: Since it is meaningless unless a correct ship object can be constructed,\r\n        process flow changed\r\n    \"\"\"\r\n    # ------ Confirm ship\r\n    # <localized hint=\"Maelstrom\">Maelstrom</localized>\r\n    shipType = fitting.getElementsByTagName(\"shipType\").item(0).getAttribute(\"value\")\r\n    anything = None\r\n    if b_localized:\r\n        try:\r\n            # expect an official name, emergency cache\r\n            shipType, anything = _extract_match(shipType)\r\n        except ExtractingError:\r\n            pass\r\n\r\n    limit = 2\r\n    ship = None\r\n    while True:\r\n        must_retry = False\r\n        try:\r\n            try:\r\n                ship = Ship(sMkt.getItem(shipType))\r\n            except ValueError:\r\n                ship = Citadel(sMkt.getItem(shipType))\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception as e:\r\n            pyfalog.warning(\"Caught exception on _resolve_ship\")\r\n            pyfalog.error(e)\r\n            limit -= 1\r\n            if limit == 0:\r\n                break\r\n            shipType = anything\r\n            must_retry = True\r\n        if not must_retry:\r\n            break\r\n\r\n    if ship is None:\r\n        raise Exception(\"cannot resolve ship type.\")\r\n\r\n    fitobj = Fit(ship=ship)\r\n    # ------ Confirm fit name\r\n    anything = fitting.getAttribute(\"name\")\r\n    # 2017/03/29 NOTE:\r\n    #    if fit name contained \"<\" or \">\" then reprace to named html entity by EVE client\r\n    # if re.search(RE_LTGT, anything):\r\n    if \"&lt;\" in anything or \"&gt;\" in anything:\r\n        anything = replace_ltgt(anything)\r\n    fitobj.name = anything\r\n\r\n    return fitobj\r\n\r\n\r\ndef _resolve_module(hardware, sMkt, b_localized):\r\n    # type: (xml.dom.minidom.Element, service.market.Market, bool) -> eos.saveddata.module.Module\r\n    moduleName = hardware.getAttribute(\"base_type\") or hardware.getAttribute(\"type\")\r\n    emergency = None\r\n    if b_localized:\r\n        try:\r\n            # expect an official name, emergency cache\r\n            moduleName, emergency = _extract_match(moduleName)\r\n        except ExtractingError:\r\n            pass\r\n\r\n    item = None\r\n    limit = 2\r\n    while True:\r\n        must_retry = False\r\n        try:\r\n            item = sMkt.getItem(moduleName, eager=\"group.category\")\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception as e:\r\n            pyfalog.warning(\"Caught exception on _resolve_module\")\r\n            pyfalog.error(e)\r\n            limit -= 1\r\n            if limit == 0:\r\n                break\r\n            moduleName = emergency\r\n            must_retry = True\r\n        if not must_retry:\r\n            break\r\n\r\n    mutaplasmidName = hardware.getAttribute(\"mutaplasmid\")\r\n    mutaplasmidItem = fetchItem(mutaplasmidName) if mutaplasmidName else None\r\n\r\n    mutatedAttrsText = hardware.getAttribute(\"mutated_attrs\")\r\n    mutatedAttrs = parseMutantAttrs(mutatedAttrsText) if mutatedAttrsText else None\r\n\r\n    return item, mutaplasmidItem, mutatedAttrs\r\n\r\n\r\ndef importXml(text, progress):\r\n    from .port import Port\r\n    sMkt = Market.getInstance()\r\n    doc = xml.dom.minidom.parseString(text)\r\n    # NOTE:\r\n    #   When L_MARK is included at this point,\r\n    #   Decided to be localized data\r\n    b_localized = L_MARK in text\r\n    fittings = doc.getElementsByTagName(\"fittings\").item(0)\r\n    fittings = fittings.getElementsByTagName(\"fitting\")\r\n    fit_list = []\r\n    failed = 0\r\n\r\n    for fitting in fittings:\r\n        if progress and progress.userCancelled:\r\n            return []\r\n\r\n        try:\r\n            fitobj = _resolve_ship(fitting, sMkt, b_localized)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            failed += 1\r\n            continue\r\n\r\n        # -- 170327 Ignored description --\r\n        # read description from exported xml. (EVE client, EFT)\r\n        description = fitting.getElementsByTagName(\"description\").item(0).getAttribute(\"value\")\r\n        if description is None:\r\n            description = \"\"\r\n        elif len(description):\r\n            # convert <br> to \"\\n\" and remove html tags.\r\n            if Port.is_tag_replace():\r\n                description = replace_ltgt(\r\n                    sequential_rep(description, r\"<(br|BR)>\", \"\\n\", r\"<[^<>]+>\", \"\")\r\n                )\r\n        fitobj.notes = description\r\n\r\n        hardwares = fitting.getElementsByTagName(\"hardware\")\r\n        moduleList = []\r\n        for hardware in hardwares:\r\n            try:\r\n                item, mutaItem, mutaAttrs = _resolve_module(hardware, sMkt, b_localized)\r\n                if not item or not item.published:\r\n                    continue\r\n\r\n                if item.category.name == \"Drone\":\r\n                    d = None\r\n                    if mutaItem:\r\n                        mutaplasmid = getDynamicItem(mutaItem.ID)\r\n                        if mutaplasmid:\r\n                            try:\r\n                                d = Drone(mutaplasmid.resultingItem, item, mutaplasmid)\r\n                            except ValueError:\r\n                                pass\r\n                            else:\r\n                                for attrID, mutator in d.mutators.items():\r\n                                    if attrID in mutaAttrs:\r\n                                        mutator.value = mutaAttrs[attrID]\r\n                    if d is None:\r\n                        d = Drone(item)\r\n                    d.amount = int(hardware.getAttribute(\"qty\"))\r\n                    fitobj.drones.append(d)\r\n                elif item.category.name == \"Fighter\":\r\n                    ft = Fighter(item)\r\n                    ft.amount = int(hardware.getAttribute(\"qty\")) if ft.amount <= ft.fighterSquadronMaxSize else ft.fighterSquadronMaxSize\r\n                    fitobj.fighters.append(ft)\r\n                elif hardware.getAttribute(\"slot\").lower() == \"cargo\":\r\n                    # although the eve client only support charges in cargo, third-party programs\r\n                    # may support items or \"refits\" in cargo. Support these by blindly adding all\r\n                    # cargo, not just charges\r\n                    c = Cargo(item)\r\n                    c.amount = int(hardware.getAttribute(\"qty\"))\r\n                    fitobj.cargo.append(c)\r\n                else:\r\n                    m = None\r\n                    try:\r\n                        if mutaItem:\r\n                            mutaplasmid = getDynamicItem(mutaItem.ID)\r\n                            if mutaplasmid:\r\n                                try:\r\n                                    m = Module(mutaplasmid.resultingItem, item, mutaplasmid)\r\n                                except ValueError:\r\n                                    pass\r\n                                else:\r\n                                    for attrID, mutator in m.mutators.items():\r\n                                        if attrID in mutaAttrs:\r\n                                            mutator.value = mutaAttrs[attrID]\r\n                        if m is None:\r\n                            m = Module(item)\r\n                    # When item can't be added to any slot (unknown item or just charge), ignore it\r\n                    except ValueError:\r\n                        pyfalog.warning(\"item can't be added to any slot (unknown item or just charge), ignore it\")\r\n                        continue\r\n                    # Add subsystems before modules to make sure T3 cruisers have subsystems installed\r\n                    if item.category.name == \"Subsystem\":\r\n                        if m.fits(fitobj):\r\n                            m.owner = fitobj\r\n                            fitobj.modules.append(m)\r\n                    else:\r\n                        if m.isValidState(FittingModuleState.ACTIVE):\r\n                            m.state = activeStateLimit(m.item)\r\n\r\n                        moduleList.append(m)\r\n\r\n            except KeyboardInterrupt:\r\n                pyfalog.warning(\"Keyboard Interrupt\")\r\n                continue\r\n\r\n        # Recalc to get slot numbers correct for T3 cruisers\r\n        sFit = svcFit.getInstance()\r\n        sFit.recalc(fitobj)\r\n        sFit.fill(fitobj)\r\n\r\n        for module in moduleList:\r\n            if module.fits(fitobj):\r\n                module.owner = fitobj\r\n                fitobj.modules.append(module)\r\n\r\n        fit_list.append(fitobj)\r\n        if progress:\r\n            progress.message = \"Processing %s\\n%s\" % (fitobj.ship.name, fitobj.name)\r\n\r\n    return fit_list\r\n\r\n\r\ndef exportXml(fits, progress, callback):\r\n    doc = xml.dom.minidom.Document()\r\n    fittings = doc.createElement(\"fittings\")\r\n    # fit count\r\n    fit_count = len(fits)\r\n    fittings.setAttribute(\"count\", \"%s\" % fit_count)\r\n    doc.appendChild(fittings)\r\n\r\n    def addMutantAttributes(node, mutant):\r\n        node.setAttribute(\"base_type\", mutant.baseItem.name)\r\n        node.setAttribute(\"mutaplasmid\", mutant.mutaplasmid.item.name)\r\n        node.setAttribute(\"mutated_attrs\", renderMutantAttrs(mutant))\r\n\r\n    for i, fit in enumerate(fits):\r\n        if progress:\r\n            if progress.userCancelled:\r\n                return None\r\n            processedFits = i + 1\r\n            progress.current = processedFits\r\n            progress.message = \"converting to xml (%s/%s) %s\" % (processedFits, fit_count, fit.ship.name)\r\n        try:\r\n            fitting = doc.createElement(\"fitting\")\r\n            fitting.setAttribute(\"name\", fit.name)\r\n            fittings.appendChild(fitting)\r\n            description = doc.createElement(\"description\")\r\n            # -- 170327 Ignored description --\r\n            try:\r\n                notes = fit.notes  # unicode\r\n\r\n                if notes:\r\n                    notes = notes[:397] + '...' if len(notes) > 400 else notes\r\n\r\n                description.setAttribute(\r\n                    \"value\", re.sub(\"(\\r|\\n|\\r\\n)+\", \"<br>\", notes) if notes is not None else \"\"\r\n                )\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                pyfalog.warning(\"read description is failed, msg=%s\\n\" % e.args)\r\n\r\n            fitting.appendChild(description)\r\n            shipType = doc.createElement(\"shipType\")\r\n            shipType.setAttribute(\"value\", fit.ship.name)\r\n            fitting.appendChild(shipType)\r\n\r\n            charges = {}\r\n            slotNum = {}\r\n            for module in fit.modules:\r\n                if module.isEmpty:\r\n                    continue\r\n\r\n                slot = module.slot\r\n\r\n                if slot == FittingSlot.SUBSYSTEM:\r\n                    # Order of subsystem matters based on this attr. See GH issue #130\r\n                    slotId = module.getModifiedItemAttr(\"subSystemSlot\") - 125\r\n                else:\r\n                    if slot not in slotNum:\r\n                        slotNum[slot] = 0\r\n\r\n                    slotId = slotNum[slot]\r\n                    slotNum[slot] += 1\r\n\r\n                hardware = doc.createElement(\"hardware\")\r\n                hardware.setAttribute(\"type\", module.item.name)\r\n                slotName = FittingSlot(slot).name.lower()\r\n                slotName = slotName if slotName != \"high\" else \"hi\"\r\n                hardware.setAttribute(\"slot\", \"%s slot %d\" % (slotName, slotId))\r\n                if module.isMutated:\r\n                    addMutantAttributes(hardware, module)\r\n\r\n                fitting.appendChild(hardware)\r\n\r\n                if module.charge:\r\n                    if module.charge.name not in charges:\r\n                        charges[module.charge.name] = 0\r\n                    # `or 1` because some charges (ie scripts) are without qty\r\n                    charges[module.charge.name] += module.numCharges or 1\r\n\r\n            for drone in fit.drones:\r\n                hardware = doc.createElement(\"hardware\")\r\n                hardware.setAttribute(\"qty\", \"%d\" % drone.amount)\r\n                hardware.setAttribute(\"slot\", \"drone bay\")\r\n                hardware.setAttribute(\"type\", drone.item.name)\r\n                if drone.isMutated:\r\n                    addMutantAttributes(hardware, drone)\r\n\r\n                fitting.appendChild(hardware)\r\n\r\n            for fighter in fit.fighters:\r\n                hardware = doc.createElement(\"hardware\")\r\n                hardware.setAttribute(\"qty\", \"%d\" % fighter.amount)\r\n                hardware.setAttribute(\"slot\", \"fighter bay\")\r\n                hardware.setAttribute(\"type\", fighter.item.name)\r\n                fitting.appendChild(hardware)\r\n\r\n            for cargo in fit.cargo:\r\n                if cargo.item.name not in charges:\r\n                    charges[cargo.item.name] = 0\r\n                charges[cargo.item.name] += cargo.amount\r\n\r\n            for name, qty in list(charges.items()):\r\n                hardware = doc.createElement(\"hardware\")\r\n                hardware.setAttribute(\"qty\", \"%d\" % qty)\r\n                hardware.setAttribute(\"slot\", \"cargo\")\r\n                hardware.setAttribute(\"type\", name)\r\n                fitting.appendChild(hardware)\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception as e:\r\n            pyfalog.error(\"Failed on fitID: %d, message: %s\" % e.message)\r\n            continue\r\n    text = doc.toprettyxml()\r\n\r\n    if callback:\r\n        callback(text)\r\n    else:\r\n        return text\r\n"
  },
  {
    "path": "service/precalcImplantSet.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport eos.db\r\nfrom eos.db.saveddata.implant import Implant\r\n\r\nfrom service.market import Market\r\n\r\n\r\nclass PrecalcedImplantSets:\r\n    instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls.instance is None:\r\n            cls.instance = PrecalcedImplantSets()\r\n        return cls.instance\r\n\r\n    @staticmethod\r\n    def getImplantSets():\r\n        return eos.db.getAllImplantSets()\r\n\r\n    @staticmethod\r\n    def getStructuredSets():\r\n        structured = {}\r\n        for implantSet in PrecalcedImplantSets.getImplantSets():\r\n            structured.setdefault(implantSet.setName, {})[implantSet.gradeName] = implantSet.implants\r\n        return structured\r\n\r\n    @staticmethod\r\n    def stringToImplants(string):\r\n        sMkt = Market.getInstance()\r\n        implants = []\r\n        for typeID in (int(tid) for tid in string.split(',')):\r\n            item = sMkt.getItem(typeID)\r\n            if item is None:\r\n                continue\r\n            try:\r\n                implant = Implant(item)\r\n            except ValueError:\r\n                continue\r\n            implants.append(implant)\r\n        return implants\r\n\r\n\r\n"
  },
  {
    "path": "service/prefetch.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport os\r\n\r\nimport config\r\nfrom eos import db\r\nfrom eos.db import migration\r\nfrom eos.db.saveddata.databaseRepair import DatabaseCleanup\r\n\r\nfrom logbook import Logger\r\n\r\npyfalog = Logger(__name__)\r\n\r\n# Make sure the saveddata db exists\r\nif config.savePath and not os.path.exists(config.savePath):\r\n    os.mkdir(config.savePath)\r\n\r\nif config.saveDB and os.path.isfile(config.saveDB):\r\n    # If database exists, run migration after init'd database\r\n    pyfalog.debug(\"Run database migration.\")\r\n    db.saveddata_meta.create_all()\r\n    migration.update(db.saveddata_engine)\r\n\r\n    # Finds and fixes database corruption issues.\r\n    pyfalog.debug(\"Starting database validation.\")\r\n    database_cleanup_instance = DatabaseCleanup()\r\n    database_cleanup_instance.OrphanedCharacterSkills(db.saveddata_engine)\r\n    database_cleanup_instance.OrphanedFitCharacterIDs(db.saveddata_engine)\r\n    database_cleanup_instance.OrphanedFitDamagePatterns(db.saveddata_engine)\r\n    database_cleanup_instance.NullDamagePatternNames(db.saveddata_engine)\r\n    database_cleanup_instance.NullTargetResistNames(db.saveddata_engine)\r\n    database_cleanup_instance.OrphanedFitIDItemID(db.saveddata_engine)\r\n    database_cleanup_instance.NullDamageTargetPatternValues(db.saveddata_engine)\r\n    database_cleanup_instance.DuplicateSelectedAmmoName(db.saveddata_engine)\r\n    pyfalog.debug(\"Completed database validation.\")\r\n\r\nelse:\r\n    # If database does not exist, do not worry about migration. Simply\r\n    # create and set version\r\n    pyfalog.debug(\"Existing database not found, creating new database.\")\r\n    db.saveddata_meta.create_all()\r\n    db.saveddata_engine.execute('PRAGMA user_version = {}'.format(migration.getAppVersion()))\r\n"
  },
  {
    "path": "service/prereqsCheck.py",
    "content": "import platform\r\nimport re\r\nimport sys\r\n\r\nversion_block = ''\r\n\r\n\r\nclass PreCheckException(Exception):\r\n    pass\r\n\r\n\r\nclass PreCheckMessage:\r\n    def __init__(self, msg):\r\n        # wx may not be installed, in which case print to console. For all other prechecks, should pop up a MessageDialog\r\n        try:\r\n            import wx\r\n            app = wx.App(False)\r\n            wx.MessageBox(msg, 'Error', wx.ICON_ERROR | wx.STAY_ON_TOP)\r\n            app.MainLoop()\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except:\r\n            pass\r\n        finally:\r\n            print(msg)\r\n\r\n\r\ndef version_precheck():\r\n    global version_block\r\n\r\n    version_block += \"\\nOS version: {}\".format(platform.platform())\r\n    version_block += \"\\nPython version: {}\".format(sys.version)\r\n\r\n    if sys.version_info < (3, 6):\r\n        msg = \"pyfa requires python 3.6\"\r\n        raise PreCheckException(msg)\r\n\r\n    try:\r\n        # the way that the version string is imported in wx is odd, causing us to have to split out the imports like this. :(\r\n        from wx.__version__ import VERSION, VERSION_STRING\r\n\r\n        if VERSION[0] < 4:\r\n            raise Exception()\r\n        if VERSION[3] != '':\r\n            if VERSION[3][0] == 'b' and int(VERSION[3][-1]) < 2:\r\n                raise Exception()\r\n\r\n        import wx\r\n        version_block += \"\\nwxPython version: {} ({})\".format(VERSION_STRING, wx.wxWidgets_version)\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        msg = \"pyfa requires wxPython v4.0.0b2+. You can download wxPython from https://wxpython.org/pages/downloads/\"\r\n        raise PreCheckException(msg)\r\n\r\n    try:\r\n        import sqlalchemy\r\n        saMatch = re.match(r\"([0-9]+).([0-9]+).([0-9]+)(([b\\.])([0-9]+))?\", sqlalchemy.__version__)\r\n        version_block += \"\\nSQLAlchemy version: {}\".format(sqlalchemy.__version__)\r\n\r\n        if (int(saMatch.group(1)), int(saMatch.group(2)), int(saMatch.group(3))) < (1, 0, 5):\r\n            raise Exception()\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        msg = \"pyfa requires SQLAlchemy v1.0.5+. You can download SQLAlchemy from https://www.sqlalchemy.org/download.html\"\r\n        raise PreCheckException(msg)\r\n\r\n    try:\r\n        import logbook\r\n        logVersion = logbook.__version__.split('.')\r\n        version_block += \"\\nLogbook version: {}\".format(logbook.__version__)\r\n\r\n        if int(logVersion[0]) < 1:\r\n            raise Exception()\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        raise PreCheckException(\"pyfa requires Logbook version 1.0.0+. You can download Logbook from https://pypi.python.org/pypi/Logbook\")\r\n\r\n    try:\r\n        import requests\r\n        version_block += \"\\nRequests version: {}\".format(requests.__version__)\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        msg = \"pyfa requires the requests module. You can download requests from https://pypi.python.org/pypi/requests\"\r\n        raise PreCheckException(msg)\r\n\r\n    try:\r\n        import dateutil\r\n        version_block += \"\\nDateutil version: {}\".format(dateutil.__version__)\r\n    except (KeyboardInterrupt, SystemExit):\r\n        raise\r\n    except:\r\n        msg = \"pyfa requires the python-dateutil module. You can download python-dateutil form https://pypi.python.org/pypi/python-dateutil\"\r\n        raise PreCheckException(msg)\r\n"
  },
  {
    "path": "service/price.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\n\r\nimport queue\r\nimport threading\r\nimport timeit\r\nfrom itertools import chain\r\n\r\nimport math\r\nimport wx\r\nfrom logbook import Logger\r\n\r\nfrom eos import db\r\nfrom eos.saveddata.price import PriceStatus\r\nfrom service.fit import Fit\r\nfrom service.market import Market\r\nfrom service.network import TimeoutError\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass Price:\r\n    instance = None\r\n\r\n    systemsList = {\r\n        \"Jita\": 30000142,\r\n        \"Amarr\": 30002187,\r\n        \"Dodixie\": 30002659,\r\n        \"Rens\": 30002510,\r\n        \"Hek\": 30002053\r\n    }\r\n\r\n    sources = {}\r\n\r\n    def __init__(self):\r\n        # Start price fetcher\r\n        self.priceWorkerThread = PriceWorkerThread()\r\n        self.priceWorkerThread.daemon = True\r\n        self.priceWorkerThread.start()\r\n\r\n    @classmethod\r\n    def register(cls, source):\r\n        cls.sources[source.name] = source\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls.instance is None:\r\n            cls.instance = Price()\r\n        return cls.instance\r\n\r\n    @classmethod\r\n    def fetchPrices(cls, prices, fetchTimeout, validityOverride):\r\n        \"\"\"Fetch all prices passed to this method\"\"\"\r\n\r\n        # Dictionary for our price objects\r\n        priceMap = {}\r\n        # Check all provided price objects, and add those we want to update to\r\n        # dictionary\r\n        for price in prices:\r\n            if not price.isValid(validityOverride):\r\n                priceMap[price.typeID] = price\r\n\r\n        if not priceMap:\r\n            return\r\n\r\n        # Compose list of items we're going to request\r\n        for typeID in tuple(priceMap):\r\n            # Get item object\r\n            item = db.getItem(typeID)\r\n            # We're not going to request items only with market group, as our current market\r\n            # sources do not provide any data for items not on the market\r\n            if item is None:\r\n                continue\r\n            if not item.marketGroupID:\r\n                priceMap[typeID].update(PriceStatus.notSupported)\r\n                del priceMap[typeID]\r\n                continue\r\n\r\n        if not priceMap:\r\n            return\r\n\r\n        sFit = Fit.getInstance()\r\n\r\n        if len(cls.sources.keys()) == 0:\r\n            pyfalog.warn('No price source can be found')\r\n            return\r\n\r\n        # attempt to find user's selected price source, otherwise get first one\r\n        sourceAll = list(cls.sources.keys())\r\n        sourcePrimary = sFit.serviceFittingOptions[\"priceSource\"] if sFit.serviceFittingOptions[\"priceSource\"] in sourceAll else sourceAll[0]\r\n        # When we have picked primary source, make sure to include only sources from the same group to avoid fetching\r\n        # tranquility data for serenity or vice versa\r\n        sourceAll = list(n for n, s in cls.sources.items() if s.group == cls.sources[sourcePrimary].group)\r\n\r\n        # Format: {source name: timeout weight}\r\n        sources = {sourcePrimary: len(sourceAll)}\r\n        for source in sourceAll:\r\n            if source == sourcePrimary:\r\n                continue\r\n            sources[source] = min(sources.values()) - 1\r\n\r\n        # Record timeouts as it will affect our final decision\r\n        timedOutSources = {}\r\n\r\n        remainingTime = fetchTimeout\r\n\r\n        for source in sorted(sources, key=sources.get, reverse=True):\r\n            timeBefore = timeit.default_timer()\r\n            pyfalog.info('Trying {}'.format(source))\r\n            timedOutSources[source] = False\r\n            # Time we allocate for a source depends on source weight and remaining time\r\n            sourceFetchTimeout = remainingTime * sources[source] / sum(sources.values())\r\n            try:\r\n                sourceCls = cls.sources.get(source)\r\n                sourceCls(priceMap, cls.systemsList[sFit.serviceFittingOptions[\"priceSystem\"]], sourceFetchTimeout)\r\n            except TimeoutError:\r\n                pyfalog.warning(\"Price fetch timeout for source {}\".format(source))\r\n                timedOutSources[source] = True\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                pyfalog.warn('Failed to fetch prices from price source {}: {}'.format(source, e))\r\n            # Sources remove price map items as they fetch info, if none remain then we're done\r\n            if not priceMap:\r\n                break\r\n            timeAfter = timeit.default_timer()\r\n            # Remove source so it doesn't affect time weights of sources we're going to use next\r\n            del sources[source]\r\n            remainingTime -= timeAfter - timeBefore\r\n            # No time remaining (should not happen) - mark remaining sources as timeout\r\n            if remainingTime <= 0:\r\n                for source in sources:\r\n                    timedOutSources[source] = True\r\n                break\r\n\r\n\r\n        # If we get to this point, then we've failed to get price with all our sources\r\n        # If all sources failed due to timeouts, set one status\r\n        if all(to is True for to in timedOutSources.values()):\r\n            for typeID in priceMap.keys():\r\n                priceMap[typeID].update(PriceStatus.fetchTimeout)\r\n        # If some sources failed due to any other reason, then it's definitely not network\r\n        # timeout and we just set another status\r\n        else:\r\n            for typeID in priceMap.keys():\r\n                priceMap[typeID].update(PriceStatus.fetchFail)\r\n\r\n    def getPriceNow(self, objitem):\r\n        \"\"\"Get price for provided typeID\"\"\"\r\n        sMkt = Market.getInstance()\r\n        item = sMkt.getItem(objitem)\r\n\r\n        return item.price.price\r\n\r\n    def getPrices(self, objitems, callback, fetchTimeout=30, waitforthread=False, validityOverride=None):\r\n        \"\"\"Get prices for multiple typeIDs\"\"\"\r\n        requests = []\r\n        sMkt = Market.getInstance()\r\n        for objitem in objitems:\r\n            item = sMkt.getItem(objitem)\r\n            requests.append(item.price)\r\n\r\n        def cb():\r\n            try:\r\n                callback(requests)\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                pyfalog.critical(\"Execution of callback from getPrices failed.\")\r\n                pyfalog.critical(e)\r\n            db.commit()\r\n\r\n        if waitforthread:\r\n            self.priceWorkerThread.setToWait(requests, cb)\r\n        else:\r\n            self.priceWorkerThread.trigger(requests, cb, fetchTimeout, validityOverride)\r\n\r\n    def clearPriceCache(self):\r\n        pyfalog.debug(\"Clearing Prices\")\r\n        db.clearPrices()\r\n\r\n    def findCheaperReplacements(self, items, callback, fetchTimeout=10):\r\n        sMkt = Market.getInstance()\r\n\r\n        replacementsAll = {}  # All possible item replacements\r\n        for item in items:\r\n            if item in replacementsAll:\r\n                continue\r\n            itemRepls = sMkt.getReplacements(item)\r\n            if itemRepls:\r\n                replacementsAll[item] = itemRepls\r\n        itemsToFetch = {i for i in chain(replacementsAll.keys(), *replacementsAll.values())}\r\n\r\n        def makeCheapMapCb(requests):\r\n            # Decide what we are going to replace\r\n            replacementsCheaper = {}  # Items which should be replaced\r\n            for replacee, replacers in replacementsAll.items():\r\n                replacer = min(replacers, key=lambda i: i.price.price or math.inf)\r\n                if (replacer.price.price or math.inf) < (replacee.price.price or math.inf):\r\n                    replacementsCheaper[replacee] = replacer\r\n            try:\r\n                callback(replacementsCheaper)\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                pyfalog.critical(\"Execution of callback from findCheaperReplacements failed.\")\r\n                pyfalog.critical(e)\r\n\r\n        # Prices older than 2 hours have to be refetched\r\n        validityOverride = 2 * 60 * 60\r\n        self.getPrices(itemsToFetch, makeCheapMapCb, fetchTimeout=fetchTimeout, validityOverride=validityOverride)\r\n\r\n\r\n\r\n\r\nclass PriceWorkerThread(threading.Thread):\r\n\r\n    def __init__(self):\r\n        threading.Thread.__init__(self)\r\n        self.name = \"PriceWorker\"\r\n        self.queue = queue.Queue()\r\n        self.wait = {}\r\n        self.running = True\r\n        pyfalog.debug(\"Initialize PriceWorkerThread.\")\r\n\r\n    def run(self):\r\n        queue = self.queue\r\n        while True:\r\n            if not self.running:\r\n                break\r\n            # Grab our data\r\n            callback, requests, fetchTimeout, validityOverride = queue.get()\r\n\r\n            # Grab prices, this is the time-consuming part\r\n            if len(requests) > 0:\r\n                Price.fetchPrices(requests, fetchTimeout, validityOverride)\r\n\r\n            wx.CallAfter(callback)\r\n            queue.task_done()\r\n\r\n            # After we fetch prices, go through the list of waiting items and call their callbacks\r\n            for price in requests:\r\n                callbacks = self.wait.pop(price.typeID, None)\r\n                if callbacks:\r\n                    for callback in callbacks:\r\n                        wx.CallAfter(callback)\r\n\r\n    def trigger(self, prices, callbacks, fetchTimeout, validityOverride):\r\n        self.queue.put((callbacks, prices, fetchTimeout, validityOverride))\r\n\r\n    def setToWait(self, prices, callback):\r\n        for price in prices:\r\n            callbacks = self.wait.setdefault(price.typeID, [])\r\n            callbacks.append(callback)\r\n\r\n    def stop(self):\r\n        self.running = False\r\n\r\n\r\n# Import market sources only to initialize price source modules, they register on their own\r\nfrom service.marketSources import evemarketdata, fuzzwork, cevemarket, evetycoon  # noqa: E402\r\n"
  },
  {
    "path": "service/pycrest/eve.py",
    "content": ""
  },
  {
    "path": "service/server.py",
    "content": "import http.server\r\nimport urllib.parse\r\nimport socket\r\nimport threading\r\nfrom logbook import Logger\r\nimport socketserver\r\nimport json\r\nimport traceback\r\n\r\nfrom service.esiAccess import APIException, GenericSsoError\r\n\r\npyfalog = Logger(__name__)\r\n\r\n# https://github.com/fuzzysteve/CREST-Market-Downloader/\r\nclass AuthHandler(http.server.BaseHTTPRequestHandler):\r\n    def do_OPTIONS(self):\r\n        self.send_response(200)\r\n        self.send_header('Access-Control-Allow-Origin', '*')\r\n        self.end_headers()\r\n\r\n    def do_GET(self):\r\n        if self.path == \"/favicon.ico\":\r\n            return\r\n\r\n        parsed_path = urllib.parse.urlparse(self.path)\r\n        parts = {k: \";\".join(v) for k, v in urllib.parse.parse_qs(parsed_path.query).items()}\r\n        is_success = False\r\n        try:\r\n            self.server.callback(parts)\r\n            pyfalog.info(\"Successfully logged into EVE.\")\r\n            is_success = True\r\n            self.send_response(200)\r\n            self.send_header('Access-Control-Allow-Origin', '*')\r\n            self.end_headers()\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except (GenericSsoError, APIException) as ex:\r\n            pyfalog.error(\"Error logging into EVE\")\r\n            pyfalog.error(ex)\r\n            self.send_response(400)\r\n            self.send_header('Access-Control-Allow-Origin', '*')\r\n            self.end_headers()\r\n            self.wfile.write(str.encode(str(ex)))\r\n        except Exception as ex:\r\n            pyfalog.error(\"Error logging into EVE\")\r\n            pyfalog.error(ex)\r\n            self.send_response(500)\r\n            self.send_header('Access-Control-Allow-Origin', '*')\r\n            self.end_headers()\r\n            self.wfile.write(str.encode(str(''.join(traceback.format_tb(ex.__traceback__)))))\r\n\r\n            # send error\r\n\r\n        if is_success:\r\n            self.server.stop()\r\n\r\n    def log_message(self, format, *args):\r\n        return\r\n\r\n\r\n# http://code.activestate.com/recipes/425210-simple-stoppable-server-using-socket-timeout/\r\nclass StoppableHTTPServer(socketserver.TCPServer):\r\n    def server_bind(self):\r\n        # Can't use HTTPServer due to reliance on socket.getfqdn() which seems to be bugged.\r\n        # See https://github.com/pyfa-org/Pyfa/issues/1560#issuecomment-390095101\r\n        socketserver.TCPServer.server_bind(self)\r\n        host, port = self.server_address[:2]\r\n        self.server_name = host\r\n        self.server_port = port\r\n\r\n        # self.settings = CRESTSettings.getInstance()\r\n\r\n        self.socket.settimeout(1)\r\n        self.run = True\r\n\r\n    def get_request(self):\r\n        while self.run:\r\n            try:\r\n                sock, addr = self.socket.accept()\r\n                sock.settimeout(None)\r\n                return sock, addr\r\n            except socket.timeout:\r\n                pyfalog.warning(\"Server timed out waiting for connection\")\r\n                pass\r\n\r\n    def stop(self):\r\n        pyfalog.warning(\"Setting pyfa server to stop.\")\r\n        self.run = False\r\n\r\n    def serve(self, callback=None):\r\n        self.callback = callback\r\n        while self.run:\r\n            try:\r\n                self.handle_request()\r\n            except TypeError:\r\n                pyfalog.debug(\"Caught exception in serve\")\r\n                pass\r\n\r\n        self.server_close()\r\n\r\n\r\nif __name__ == \"__main__\":\r\n    httpd = StoppableHTTPServer(('', 6461), AuthHandler)\r\n    t = threading.Thread(target=httpd.serve)\r\n    input(\"Press <RETURN> to stop server\\n\")\r\n    httpd.stop()\r\n"
  },
  {
    "path": "service/settings.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport pickle\r\nimport os.path\r\nimport urllib.request\r\nimport urllib.error\r\nimport urllib.parse\r\nimport json\r\nfrom collections import namedtuple\r\nimport wx\r\n\r\nfrom logbook import Logger\r\n\r\nimport config\r\nimport eos.config\r\nfrom service.const import GraphDpsDroneMode\r\n\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass SettingsProvider:\r\n    if config.savePath:\r\n        BASE_PATH = os.path.join(config.savePath, 'settings')\r\n    settings = {}\r\n    _instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = SettingsProvider()\r\n\r\n        return cls._instance\r\n\r\n    def __init__(self):\r\n        if hasattr(self, 'BASE_PATH'):\r\n            if not os.path.exists(self.BASE_PATH):\r\n                os.mkdir(self.BASE_PATH)\r\n\r\n    def getSettings(self, area, defaults=None):\r\n        # type: (basestring, dict) -> service.Settings\r\n        # NOTE: needed to change for tests\r\n        # TODO: Write to memory with mmap -> https://docs.python.org/2/library/mmap.html\r\n        settings_obj = self.settings.get(area)\r\n        if settings_obj is None:  # and hasattr(self, 'BASE_PATH'):\r\n            canonical_path = os.path.join(self.BASE_PATH, area) if hasattr(self, 'BASE_PATH') else \"\"\r\n            if not os.path.exists(canonical_path):  # path string or empty string.\r\n                info = {}\r\n                if defaults:\r\n                    info.update(defaults)\r\n            else:\r\n                try:\r\n                    with open(canonical_path, \"rb\") as f:\r\n                        info = pickle.load(f)\r\n                    for item in defaults:\r\n                        if item not in info:\r\n                            info[item] = defaults[item]\r\n                except (KeyboardInterrupt, SystemExit):\r\n                    raise\r\n                except:\r\n                    info = {}\r\n                    info.update(defaults)\r\n\r\n            self.settings[area] = settings_obj = Settings(canonical_path, info)\r\n        return settings_obj\r\n\r\n    def saveAll(self):\r\n        for settings in self.settings.values():\r\n            settings.save()\r\n\r\n\r\nclass Settings:\r\n    def __init__(self, location, info):\r\n        # type: (basestring, dict) -> None\r\n        # path string or empty string.\r\n        self.location = location\r\n        self.info = info\r\n\r\n    # def save(self):\r\n    #     f = open(self.location, \"wb\")\r\n    #     cPickle.dump(self.info, f, cPickle.HIGHEST_PROTOCOL)\r\n\r\n    def save(self):\r\n        # NOTE: needed to change for tests\r\n        if self.location is None or not self.location:\r\n            return\r\n        # NOTE: with + open -> file handle auto close\r\n        with open(self.location, \"wb\") as f:\r\n            pickle.dump(self.info, f, pickle.HIGHEST_PROTOCOL)\r\n\r\n    def __getitem__(self, k):\r\n        try:\r\n            return self.info[k]\r\n        except KeyError as e:\r\n            pyfalog.warning(\"Failed to get setting for '{0}'. Exception: {1}\", k, e)\r\n            return None\r\n\r\n    def __setitem__(self, k, v):\r\n        self.info[k] = v\r\n\r\n    def __iter__(self):\r\n        return self.info.__iter__()\r\n\r\n    def iterkeys(self):\r\n        return iter(self.info.keys())\r\n\r\n    def itervalues(self):\r\n        return iter(self.info.values())\r\n\r\n    def iteritems(self):\r\n        return iter(self.info.items())\r\n\r\n    def keys(self):\r\n        return list(self.info.keys())\r\n\r\n    def values(self):\r\n        return list(self.info.values())\r\n\r\n    def items(self):\r\n        return list(self.info.items())\r\n\r\n\r\nclass NetworkSettings:\r\n    _instance = None\r\n\r\n    # constants for serviceNetworkDefaultSettings[\"mode\"] parameter\r\n    PROXY_MODE_NONE = 0  # 0 - No proxy\r\n    PROXY_MODE_AUTODETECT = 1  # 1 - Auto-detected proxy settings\r\n    PROXY_MODE_MANUAL = 2  # 2 - Manual proxy settings\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = NetworkSettings()\r\n\r\n        return cls._instance\r\n\r\n    def __init__(self):\r\n\r\n        serviceNetworkDefaultSettings = {\r\n            \"mode\"    : self.PROXY_MODE_AUTODETECT,\r\n            \"type\"    : \"https\",\r\n            \"address\" : \"\",\r\n            \"port\"    : \"\",\r\n            \"access\"  : 15,\r\n            \"login\"   : None,\r\n            \"password\": None\r\n        }\r\n\r\n        self.serviceNetworkSettings = SettingsProvider.getInstance().getSettings(\r\n                \"pyfaServiceNetworkSettings\", serviceNetworkDefaultSettings)\r\n\r\n    def isEnabled(self, type):\r\n        if type & self.serviceNetworkSettings[\"access\"]:\r\n            return True\r\n        return False\r\n\r\n    def toggleAccess(self, type, toggle=True):\r\n        bitfield = self.serviceNetworkSettings[\"access\"]\r\n\r\n        if toggle:  # Turn bit on\r\n            self.serviceNetworkSettings[\"access\"] = type | bitfield\r\n        else:  # Turn bit off\r\n            self.serviceNetworkSettings[\"access\"] = ~type & bitfield\r\n\r\n    def getMode(self):\r\n        return self.serviceNetworkSettings[\"mode\"]\r\n\r\n    def getAddress(self):\r\n        return self.serviceNetworkSettings[\"address\"]\r\n\r\n    def getPort(self):\r\n        return self.serviceNetworkSettings[\"port\"]\r\n\r\n    def getType(self):\r\n        return self.serviceNetworkSettings[\"type\"]\r\n\r\n    def getAccess(self):\r\n        return self.serviceNetworkSettings[\"access\"]\r\n\r\n    def setMode(self, mode):\r\n        self.serviceNetworkSettings[\"mode\"] = mode\r\n\r\n    def setAddress(self, addr):\r\n        self.serviceNetworkSettings[\"address\"] = addr\r\n\r\n    def setPort(self, port):\r\n        self.serviceNetworkSettings[\"port\"] = port\r\n\r\n    def setType(self, type):\r\n        self.serviceNetworkSettings[\"type\"] = type\r\n\r\n    def setAccess(self, access):\r\n        self.serviceNetworkSettings[\"access\"] = access\r\n\r\n    @staticmethod\r\n    def autodetect():\r\n\r\n        proxy = None\r\n        proxydict = urllib.request.ProxyHandler().proxies\r\n\r\n        validPrefixes = (\"http\", \"https\")\r\n\r\n        for prefix in validPrefixes:\r\n            if prefix not in proxydict:\r\n                continue\r\n            proxyline = proxydict[prefix]\r\n            proto_pos = proxyline.find('://')\r\n            if proto_pos != -1:\r\n                proxyline = proxyline[proto_pos+3:]\r\n            # sometimes proxyline contains \"user:password@\" section before proxy address\r\n            # remove it if present, so later split by \":\" works\r\n            if '@' in proxyline:\r\n                userPass, proxyline = proxyline.split(\"@\")\r\n                # TODO: do something with user/password?\r\n            proxAddr, proxPort = proxyline.split(\":\")\r\n            proxPort = int(proxPort.rstrip(\"/\"))\r\n            proxy = (proxAddr, proxPort)\r\n            break\r\n\r\n        return proxy\r\n\r\n    def getProxySettings(self):\r\n\r\n        if self.getMode() == self.PROXY_MODE_NONE:\r\n            return None\r\n        if self.getMode() == self.PROXY_MODE_AUTODETECT:\r\n            return self.autodetect()\r\n        if self.getMode() == self.PROXY_MODE_MANUAL:\r\n            return self.getAddress(), int(self.getPort())\r\n\r\n    def getProxyAuthDetails(self):\r\n        if self.getMode() == self.PROXY_MODE_NONE:\r\n            return None\r\n        if (self.serviceNetworkSettings[\"login\"] is None) or (self.serviceNetworkSettings[\"password\"] is None):\r\n            return None\r\n        # in all other cases, return tuple of (login, password)\r\n        return self.serviceNetworkSettings[\"login\"], self.serviceNetworkSettings[\"password\"]\r\n\r\n    def setProxyAuthDetails(self, login, password):\r\n        if (login is None) or (password is None):\r\n            self.serviceNetworkSettings[\"login\"] = None\r\n            self.serviceNetworkSettings[\"password\"] = None\r\n            return\r\n        if login == \"\":  # empty login unsets proxy auth info\r\n            self.serviceNetworkSettings[\"login\"] = None\r\n            self.serviceNetworkSettings[\"password\"] = None\r\n            return\r\n        self.serviceNetworkSettings[\"login\"] = login\r\n        self.serviceNetworkSettings[\"password\"] = password\r\n\r\n    def getProxySettingsInRequestsFormat(self) -> dict:\r\n        proxies = {}\r\n        proxy_settings = self.getProxySettings()\r\n        if proxy_settings is not None:\r\n            # form proxy address in format \"http://host:port\r\n            proxy_host_port = '{}:{}'.format(proxy_settings[0], proxy_settings[1])\r\n            proxy_auth_details = self.getProxyAuthDetails()\r\n            user_pass = ''\r\n            if proxy_auth_details is not None:\r\n                # construct prefix in form \"user:password@\"\r\n                user_pass = '{}:{}@'.format(proxy_auth_details[0], proxy_auth_details[1])\r\n            proxies = {\r\n                'http': 'http://' + user_pass + proxy_host_port,\r\n                'https': 'http://' + user_pass + proxy_host_port\r\n            }\r\n        return proxies\r\n\r\n\r\nclass HTMLExportSettings:\r\n    \"\"\"\r\n    Settings used by the HTML export feature.\r\n    \"\"\"\r\n    _instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = HTMLExportSettings()\r\n\r\n        return cls._instance\r\n\r\n    def __init__(self):\r\n        serviceHTMLExportDefaultSettings = {\r\n            \"path\"   : config.savePath + os.sep + 'pyfaFits.html',\r\n            \"minimal\": False\r\n        }\r\n        self.serviceHTMLExportSettings = SettingsProvider.getInstance().getSettings(\r\n                \"pyfaServiceHTMLExportSettings\",\r\n                serviceHTMLExportDefaultSettings\r\n        )\r\n\r\n    def getMinimalEnabled(self):\r\n        return self.serviceHTMLExportSettings[\"minimal\"]\r\n\r\n    def setMinimalEnabled(self, minimal):\r\n        self.serviceHTMLExportSettings[\"minimal\"] = minimal\r\n\r\n    def getPath(self):\r\n        return self.serviceHTMLExportSettings[\"path\"]\r\n\r\n    def setPath(self, path):\r\n        self.serviceHTMLExportSettings[\"path\"] = path\r\n\r\n\r\nclass UpdateSettings:\r\n    \"\"\"\r\n    Settings used by update notification\r\n    \"\"\"\r\n    _instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = UpdateSettings()\r\n\r\n        return cls._instance\r\n\r\n    def __init__(self):\r\n        # Settings\r\n        # Updates are completely suppressed via network settings\r\n        # prerelease - If True, suppress prerelease notifications\r\n        # version    - Set to release tag that user does not want notifications for\r\n        serviceUpdateDefaultSettings = {\"prerelease\": True, 'version': None}\r\n        self.serviceUpdateSettings = SettingsProvider.getInstance().getSettings(\r\n                \"pyfaServiceUpdateSettings\",\r\n                serviceUpdateDefaultSettings\r\n        )\r\n\r\n    def get(self, type):\r\n        return self.serviceUpdateSettings[type]\r\n\r\n    def set(self, type, value):\r\n        self.serviceUpdateSettings[type] = value\r\n\r\n\r\nclass EsiSettings:\r\n    _instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = EsiSettings()\r\n\r\n        return cls._instance\r\n\r\n    def __init__(self):\r\n        # SSO Mode:\r\n        # 0 - pyfa.io\r\n        # 1 - custom application\r\n        # LoginMode:\r\n        # 0 - Server Start Up\r\n        # 1 - User copy and paste data from website to pyfa\r\n        defaults = {\r\n            \"ssoMode\": 0,\r\n            \"loginMode\": 0,\r\n            \"clientID\": \"\",\r\n            \"clientSecret\": \"\",\r\n            \"timeout\": 60,\r\n            \"server\": \"Tranquility\",\r\n            \"exportCharges\": True,\r\n            \"exportImplants\": True,\r\n            \"exportBoosters\": True,\r\n            \"enforceJwtExpiration\": True\r\n        }\r\n\r\n        self.settings = SettingsProvider.getInstance().getSettings(\r\n                \"pyfaServiceEsiSettings\",\r\n                defaults\r\n        )\r\n\r\n    def get(self, type):\r\n        return self.settings[type]\r\n\r\n    def set(self, type, value):\r\n        self.settings[type] = value\r\n\r\n    def keys(self):\r\n        return config.supported_servers.keys()\r\n\r\n\r\nclass StatViewSettings:\r\n    _instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = StatViewSettings()\r\n\r\n        return cls._instance\r\n\r\n    def __init__(self):\r\n        # mode\r\n        # 0 - Do not show\r\n        # 1 - Minimal/Text Only View\r\n        # 2 - Full View\r\n        serviceStatViewDefaultSettings = {\r\n            \"resources\"    : 2,\r\n            \"resistances\"  : 2,\r\n            \"recharge\"     : 2,\r\n            \"firepower\"    : 2,\r\n            \"capacitor\"    : 2,\r\n            \"targetingMisc\": 1,\r\n            \"price\"        : 2,\r\n            \"miningyield\"  : 2,\r\n            \"drones\"       : 2,\r\n            \"outgoing\"     : 2,\r\n            \"bombing\"      : 0,\r\n        }\r\n\r\n        self.serviceStatViewDefaultSettings = SettingsProvider.getInstance().getSettings(\"pyfaServiceStatViewSettings\", serviceStatViewDefaultSettings)\r\n\r\n    def get(self, type):\r\n        return self.serviceStatViewDefaultSettings[type]\r\n\r\n    def set(self, type, value):\r\n        self.serviceStatViewDefaultSettings[type] = value\r\n\r\n\r\nclass MarketPriceSettings:\r\n    _instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = MarketPriceSettings()\r\n\r\n        return cls._instance\r\n\r\n    def __init__(self):\r\n        # mode\r\n        # 0 - Do not add to total\r\n        # 1 - Add to total\r\n        PriceMenuDefaultSettings = {\r\n            \"drones\" : 1,\r\n            \"cargo\" : 1,\r\n            \"character\" : 0,\r\n            \"marketMGJumpMode\": 0,\r\n            \"marketMGEmptyMode\": 1,\r\n            \"marketMGSearchMode\": 0,\r\n            \"marketMGMarketSelectMode\": 0\r\n        }\r\n\r\n        self.PriceMenuDefaultSettings = SettingsProvider.getInstance().getSettings(\"pyfaPriceMenuSettings\",\r\n                                                                                     PriceMenuDefaultSettings)\r\n\r\n    def get(self, type):\r\n        return self.PriceMenuDefaultSettings[type]\r\n\r\n    def set(self, type, value):\r\n        self.PriceMenuDefaultSettings[type] = value\r\n\r\n\r\nclass ContextMenuSettings:\r\n    _instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = ContextMenuSettings()\r\n\r\n        return cls._instance\r\n\r\n    def __init__(self):\r\n        # mode\r\n        # 0 - Do not show\r\n        # 1 - Show\r\n        ContextMenuDefaultSettings = {\r\n            \"ammoPattern\"           : 1,\r\n            \"changeAffectingSkills\" : 1,\r\n            \"metaSwap\"              : 1,\r\n            \"project\"               : 1,\r\n            \"moduleFill\"            : 1,\r\n            \"spoolup\"               : 1,\r\n            \"additionsCopyPaste\"    : 1,\r\n            \"cargoFill\"             : 1,\r\n        }\r\n\r\n        self.ContextMenuDefaultSettings = SettingsProvider.getInstance().getSettings(\"pyfaContextMenuSettings\", ContextMenuDefaultSettings)\r\n\r\n    def get(self, type):\r\n        return self.ContextMenuDefaultSettings[type]\r\n\r\n    def set(self, type, value):\r\n        self.ContextMenuDefaultSettings[type] = value\r\n\r\n\r\nclass EOSSettings:\r\n        _instance = None\r\n\r\n        @classmethod\r\n        def getInstance(cls):\r\n            if cls._instance is None:\r\n                cls._instance = EOSSettings()\r\n\r\n            return cls._instance\r\n\r\n        def __init__(self):\r\n            self.EOSSettings = SettingsProvider.getInstance().getSettings(\"pyfaEOSSettings\", eos.config.settings)\r\n\r\n        def get(self, type):\r\n            return self.EOSSettings[type]\r\n\r\n        def set(self, type, value):\r\n            self.EOSSettings[type] = value\r\n\r\n\r\nclass GraphSettings:\r\n\r\n    _instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = GraphSettings()\r\n        return cls._instance\r\n\r\n    def __init__(self):\r\n        defaults = {\r\n            'mobileDroneMode': GraphDpsDroneMode.auto,\r\n            'ignoreDCR': False,\r\n            'ignoreResists': True,\r\n            'ignoreLockRange': True,\r\n            'applyProjected': True}\r\n        self.settings = SettingsProvider.getInstance().getSettings('graphSettings', defaults)\r\n\r\n    def get(self, type):\r\n        return self.settings[type]\r\n\r\n    def set(self, type, value):\r\n        self.settings[type] = value\r\n\r\n\r\nclass LocaleSettings:\r\n    _instance = None\r\n    DEFAULT = \"en_US\"\r\n\r\n    defaults = {\r\n        'locale': DEFAULT,\r\n        'eos_locale': 'Auto'  # flag for \"Default\" which is the same as the locale or, if not available, English\r\n    }\r\n\r\n    def __init__(self):\r\n        self.settings = SettingsProvider.getInstance().getSettings('localeSettings', self.defaults)\r\n\r\n        try:\r\n            with open(os.path.join(config.pyfaPath, 'locale', 'progress.json'), \"r\") as f:\r\n                self.progress_data = json.load(f)\r\n        except FileNotFoundError:\r\n            self.progress_data = {}\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls._instance is None:\r\n            cls._instance = LocaleSettings()\r\n        return cls._instance\r\n\r\n    def get_progress(self, lang):\r\n        if not self.progress_data:\r\n            return None\r\n        if lang == self.defaults['locale']:\r\n            return None\r\n        return self.progress_data.get(lang)\r\n\r\n    @classmethod\r\n    def supported_languages(cls):\r\n        \"\"\"Requires the application to be initialized, otherwise wx.Translation isn't set.\"\"\"\r\n        pyfalog.info(f'using \"{config.CATALOG}\" to fetch languages, relatively base path \"{os.getcwd()}\"')\r\n        return {x: wx.Locale.FindLanguageInfo(x) for x in wx.Translations.Get().GetAvailableTranslations(config.CATALOG)}\r\n\r\n    def get(self, key):\r\n        \"\"\"gets the raw value fo the setting\"\"\"\r\n        return self.settings[key]\r\n\r\n    def get_eos_locale(self):\r\n        \"\"\"gets the effective value of the setting\"\"\"\r\n        val = self.settings['eos_locale']\r\n        return val if val != self.defaults['eos_locale'] else self.settings['locale'].split(\"_\")[0]\r\n\r\n    def set(self, key, value):\r\n        if key == 'locale' and value not in self.supported_languages():\r\n            self.settings[key] = self.DEFAULT\r\n        self.settings[key] = value\r\n"
  },
  {
    "path": "service/targetProfile.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport copy\r\n\r\nfrom eos import db\r\nfrom eos.saveddata.targetProfile import TargetProfile as es_TargetProfile\r\n\r\n\r\nclass ImportError(Exception):\r\n    pass\r\n\r\n\r\nclass TargetProfile:\r\n    instance = None\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls.instance is None:\r\n            cls.instance = TargetProfile()\r\n\r\n        return cls.instance\r\n\r\n    @staticmethod\r\n    def getUserTargetProfileList():\r\n        return db.getTargetProfileList()\r\n\r\n    @staticmethod\r\n    def getBuiltinTargetProfileList():\r\n        return es_TargetProfile.getBuiltinList()\r\n\r\n    @staticmethod\r\n    def newPattern(name):\r\n        p = es_TargetProfile()\r\n        p.rawName = name\r\n        db.save(p)\r\n        return p\r\n\r\n    @staticmethod\r\n    def renamePattern(p, newName):\r\n        p.rawName = newName\r\n        db.save(p)\r\n\r\n    @staticmethod\r\n    def deletePattern(p):\r\n        db.remove(p)\r\n\r\n    @staticmethod\r\n    def copyPattern(p):\r\n        newP = copy.deepcopy(p)\r\n        db.save(newP)\r\n        return newP\r\n\r\n    @staticmethod\r\n    def saveChanges(p):\r\n        db.save(p)\r\n\r\n    def importPatterns(self, text):\r\n        imports, num = es_TargetProfile.importPatterns(text)\r\n        lenImports = len(imports)\r\n\r\n        if lenImports == 0:\r\n            raise ImportError(\"No patterns found for import\")\r\n        if lenImports != num:\r\n            raise ImportError(\"%d patterns imported from clipboard; %d had errors\" % (num, num - lenImports))\r\n\r\n    def exportPatterns(self):\r\n        patterns = self.getUserTargetProfileList()\r\n        patterns.sort(key=lambda p: p.fullName)\r\n        return es_TargetProfile.exportPatterns(*patterns)\r\n"
  },
  {
    "path": "service/update.py",
    "content": "# =============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n# This file is part of pyfa.\r\n#\r\n# pyfa is free software: you can redistribute it and/or modify\r\n# it under the terms of the GNU General Public License as published by\r\n# the Free Software Foundation, either version 3 of the License, or\r\n# (at your option) any later version.\r\n#\r\n# pyfa is distributed in the hope that it will be useful,\r\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n# GNU General Public License for more details.\r\n#\r\n# You should have received a copy of the GNU General Public License\r\n# along with pyfa.  If not, see <http://www.gnu.org/licenses/>.\r\n# =============================================================================\r\n\r\nimport calendar\r\nimport threading\r\n\r\n# noinspection PyPackageRequirements\r\nimport dateutil.parser\r\n# noinspection PyPackageRequirements\r\nimport wx\r\nfrom logbook import Logger\r\nfrom packaging.version import Version\r\n\r\nimport config\r\nfrom service.network import Network\r\nfrom service.settings import UpdateSettings\r\n\r\npyfalog = Logger(__name__)\r\n\r\n\r\nclass CheckUpdateThread(threading.Thread):\r\n    def __init__(self, callback):\r\n        threading.Thread.__init__(self)\r\n        self.name = \"CheckUpdate\"\r\n        self.callback = callback\r\n        self.settings = UpdateSettings.getInstance()\r\n        self.network = Network.getInstance()\r\n        self.running = True\r\n\r\n    def run(self):\r\n        network = Network.getInstance()\r\n\r\n        try:\r\n            try:\r\n                response = network.get(\r\n                    url='https://www.pyfa.io/update_check?pyfa_version={}&client_hash={}'.format(config.version, config.getClientSecret()),\r\n                    type=network.UPDATE, timeout=5)\r\n            except (KeyboardInterrupt, SystemExit):\r\n                raise\r\n            except Exception as e:\r\n                response = network.get(\r\n                    url='https://api.github.com/repos/pyfa-org/Pyfa/releases',\r\n                    type=network.UPDATE, timeout=5)\r\n\r\n            jsonResponse = response.json()\r\n            jsonResponse.sort(\r\n                key=lambda x: calendar.timegm(dateutil.parser.parse(x['published_at']).utctimetuple()),\r\n                reverse=True\r\n            )\r\n\r\n            for release in jsonResponse[:5]:\r\n                rVersion = Version(release['tag_name'])\r\n                cVersion = Version(config.version)\r\n\r\n                # Suppress pre releases if we're not already on a pre-release (if we are, we want to know about new ones)\r\n                if not cVersion.is_prerelease and rVersion.is_prerelease and self.settings.get('prerelease'):\r\n                    continue\r\n\r\n                # Handle use-case of updating to suppressed version\r\n                if self.settings.get('version') == 'v' + config.version:\r\n                    self.settings.set('version', None)\r\n\r\n                # Suppress version\r\n                if release['tag_name'] == self.settings.get('version'):\r\n                    break\r\n\r\n                if rVersion > cVersion:\r\n                    wx.CallAfter(self.callback, release, rVersion)\r\n                    break\r\n\r\n        except (KeyboardInterrupt, SystemExit):\r\n            raise\r\n        except Exception as e:\r\n            pyfalog.error(\"Caught exception in run\")\r\n            pyfalog.error(e)\r\n            pass\r\n\r\n    @staticmethod\r\n    def versiontuple(v):\r\n        return tuple(map(int, (v.split(\".\"))))\r\n\r\n    def stop(self):\r\n        self.running = False\r\n\r\n\r\nclass Update:\r\n    instance = None\r\n\r\n    @staticmethod\r\n    def CheckUpdate(callback):\r\n        thread = CheckUpdateThread(callback)\r\n        pyfalog.debug(\"Starting Check Update Thread.\")\r\n        thread.start()\r\n\r\n    @classmethod\r\n    def getInstance(cls):\r\n        if cls.instance is None:\r\n            cls.instance = Update()\r\n        return cls.instance\r\n"
  },
  {
    "path": "staticdata/fsd_built/categories.0.json",
    "content": "{\n  \"0\": {\n    \"categoryID\": 0, \n    \"categoryName_de\": \"#System\", \n    \"categoryName_en-us\": \"#System\", \n    \"categoryName_es\": \"#System\", \n    \"categoryName_fr\": \"#Système\", \n    \"categoryName_it\": \"#System\", \n    \"categoryName_ja\": \"#システム\", \n    \"categoryName_ko\": \"#항성계\", \n    \"categoryName_ru\": \"#Система\", \n    \"categoryName_zh\": \"#星系\", \n    \"categoryNameID\": 63539, \n    \"published\": 0\n  }, \n  \"1\": {\n    \"categoryID\": 1, \n    \"categoryName_de\": \"Besitzer\", \n    \"categoryName_en-us\": \"Owner\", \n    \"categoryName_es\": \"Propietario\", \n    \"categoryName_fr\": \"Propriétaire\", \n    \"categoryName_it\": \"Owner\", \n    \"categoryName_ja\": \"所有者\", \n    \"categoryName_ko\": \"소유자\", \n    \"categoryName_ru\": \"Владелец\", \n    \"categoryName_zh\": \"拥有者\", \n    \"categoryNameID\": 63540, \n    \"published\": 0\n  }, \n  \"2\": {\n    \"categoryID\": 2, \n    \"categoryName_de\": \"Interstellar\", \n    \"categoryName_en-us\": \"Celestial\", \n    \"categoryName_es\": \"Celestial\", \n    \"categoryName_fr\": \"Céleste\", \n    \"categoryName_it\": \"Celestial\", \n    \"categoryName_ja\": \"セレスチャル\", \n    \"categoryName_ko\": \"천체\", \n    \"categoryName_ru\": \"Небесное тело\", \n    \"categoryName_zh\": \"天体\", \n    \"categoryNameID\": 63541, \n    \"published\": 1\n  }, \n  \"3\": {\n    \"categoryID\": 3, \n    \"categoryName_de\": \"Station\", \n    \"categoryName_en-us\": \"Station\", \n    \"categoryName_es\": \"Estación\", \n    \"categoryName_fr\": \"Station\", \n    \"categoryName_it\": \"Station\", \n    \"categoryName_ja\": \"ステーション\", \n    \"categoryName_ko\": \"정거장\", \n    \"categoryName_ru\": \"Станция\", \n    \"categoryName_zh\": \"空间站\", \n    \"categoryNameID\": 63542, \n    \"published\": 0\n  }, \n  \"4\": {\n    \"categoryID\": 4, \n    \"categoryName_de\": \"Material\", \n    \"categoryName_en-us\": \"Material\", \n    \"categoryName_es\": \"Material\", \n    \"categoryName_fr\": \"Matériau\", \n    \"categoryName_it\": \"Material\", \n    \"categoryName_ja\": \"資源\", \n    \"categoryName_ko\": \"자원\", \n    \"categoryName_ru\": \"Материал\", \n    \"categoryName_zh\": \"材料\", \n    \"categoryNameID\": 63543, \n    \"iconID\": 22, \n    \"published\": 1\n  }, \n  \"5\": {\n    \"categoryID\": 5, \n    \"categoryName_de\": \"Zubehör\", \n    \"categoryName_en-us\": \"Accessories\", \n    \"categoryName_es\": \"Accesorios\", \n    \"categoryName_fr\": \"Accessoires\", \n    \"categoryName_it\": \"Accessories\", \n    \"categoryName_ja\": \"アクセサリー\", \n    \"categoryName_ko\": \"악세서리\", \n    \"categoryName_ru\": \"Вспомогательные предметы\", \n    \"categoryName_zh\": \"附件\", \n    \"categoryNameID\": 63560, \n    \"iconID\": 33, \n    \"published\": 1\n  }, \n  \"6\": {\n    \"categoryID\": 6, \n    \"categoryName_de\": \"Schiff\", \n    \"categoryName_en-us\": \"Ship\", \n    \"categoryName_es\": \"Nave\", \n    \"categoryName_fr\": \"Vaisseau\", \n    \"categoryName_it\": \"Ship\", \n    \"categoryName_ja\": \"艦船\", \n    \"categoryName_ko\": \"함선\", \n    \"categoryName_ru\": \"Корабль\", \n    \"categoryName_zh\": \"舰船\", \n    \"categoryNameID\": 63544, \n    \"published\": 1\n  }, \n  \"7\": {\n    \"categoryID\": 7, \n    \"categoryName_de\": \"Modul\", \n    \"categoryName_en-us\": \"Module\", \n    \"categoryName_es\": \"Módulo\", \n    \"categoryName_fr\": \"Module\", \n    \"categoryName_it\": \"Module\", \n    \"categoryName_ja\": \"モジュール\", \n    \"categoryName_ko\": \"모듈\", \n    \"categoryName_ru\": \"Модуль\", \n    \"categoryName_zh\": \"装备\", \n    \"categoryNameID\": 63545, \n    \"iconID\": 67, \n    \"published\": 1\n  }, \n  \"8\": {\n    \"categoryID\": 8, \n    \"categoryName_de\": \"Ladung\", \n    \"categoryName_en-us\": \"Charge\", \n    \"categoryName_es\": \"Carga\", \n    \"categoryName_fr\": \"Charge\", \n    \"categoryName_it\": \"Charge\", \n    \"categoryName_ja\": \"チャージ\", \n    \"categoryName_ko\": \"차지\", \n    \"categoryName_ru\": \"Заряд\", \n    \"categoryName_zh\": \"弹药\", \n    \"categoryNameID\": 63546, \n    \"published\": 1\n  }, \n  \"9\": {\n    \"categoryID\": 9, \n    \"categoryName_de\": \"Blueprint\", \n    \"categoryName_en-us\": \"Blueprint\", \n    \"categoryName_es\": \"Plano\", \n    \"categoryName_fr\": \"Plan de construction\", \n    \"categoryName_it\": \"Blueprint\", \n    \"categoryName_ja\": \"ブループリント\", \n    \"categoryName_ko\": \"블루프린트\", \n    \"categoryName_ru\": \"Чертеж\", \n    \"categoryName_zh\": \"蓝图\", \n    \"categoryNameID\": 63547, \n    \"iconID\": 21, \n    \"published\": 1\n  }, \n  \"10\": {\n    \"categoryID\": 10, \n    \"categoryName_de\": \"Handel\", \n    \"categoryName_en-us\": \"Trading\", \n    \"categoryName_es\": \"Comercio\", \n    \"categoryName_fr\": \"Commerce\", \n    \"categoryName_it\": \"Trading\", \n    \"categoryName_ja\": \"トレード\", \n    \"categoryName_ko\": \"거래\", \n    \"categoryName_ru\": \"Торговля\", \n    \"categoryName_zh\": \"贸易\", \n    \"categoryNameID\": 63548, \n    \"published\": 0\n  }, \n  \"11\": {\n    \"categoryID\": 11, \n    \"categoryName_de\": \"Einheit\", \n    \"categoryName_en-us\": \"Entity\", \n    \"categoryName_es\": \"Entidad\", \n    \"categoryName_fr\": \"Entité\", \n    \"categoryName_it\": \"Entity\", \n    \"categoryName_ja\": \"エンティティ\", \n    \"categoryName_ko\": \"객체\", \n    \"categoryName_ru\": \"Объект\", \n    \"categoryName_zh\": \"空间实体\", \n    \"categoryNameID\": 63549, \n    \"published\": 0\n  }, \n  \"14\": {\n    \"categoryID\": 14, \n    \"categoryName_de\": \"Bonus\", \n    \"categoryName_en-us\": \"Bonus\", \n    \"categoryName_es\": \"Bonificación\", \n    \"categoryName_fr\": \"Bonus\", \n    \"categoryName_it\": \"Bonus\", \n    \"categoryName_ja\": \"ボーナス\", \n    \"categoryName_ko\": \"보너스\", \n    \"categoryName_ru\": \"Бонус\", \n    \"categoryName_zh\": \"加成\", \n    \"categoryNameID\": 63550, \n    \"iconID\": 0, \n    \"published\": 0\n  }, \n  \"16\": {\n    \"categoryID\": 16, \n    \"categoryName_de\": \"Skill\", \n    \"categoryName_en-us\": \"Skill\", \n    \"categoryName_es\": \"Habilidad\", \n    \"categoryName_fr\": \"Compétence\", \n    \"categoryName_it\": \"Skill\", \n    \"categoryName_ja\": \"スキル\", \n    \"categoryName_ko\": \"스킬\", \n    \"categoryName_ru\": \"Навык\", \n    \"categoryName_zh\": \"技能\", \n    \"categoryNameID\": 63551, \n    \"iconID\": 33, \n    \"published\": 1\n  }, \n  \"17\": {\n    \"categoryID\": 17, \n    \"categoryName_de\": \"Bedarfsartikel\", \n    \"categoryName_en-us\": \"Commodity\", \n    \"categoryName_es\": \"Mercancía\", \n    \"categoryName_fr\": \"Marchandise\", \n    \"categoryName_it\": \"Commodity\", \n    \"categoryName_ja\": \"商品\", \n    \"categoryName_ko\": \"물품\", \n    \"categoryName_ru\": \"Товар\", \n    \"categoryName_zh\": \"常用物品\", \n    \"categoryNameID\": 63552, \n    \"iconID\": 0, \n    \"published\": 1\n  }, \n  \"18\": {\n    \"categoryID\": 18, \n    \"categoryName_de\": \"Drohne\", \n    \"categoryName_en-us\": \"Drone\", \n    \"categoryName_es\": \"Dron\", \n    \"categoryName_fr\": \"Drone\", \n    \"categoryName_it\": \"Drone\", \n    \"categoryName_ja\": \"ドローン\", \n    \"categoryName_ko\": \"드론\", \n    \"categoryName_ru\": \"Дрон\", \n    \"categoryName_zh\": \"无人机\", \n    \"categoryNameID\": 63553, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"sofBuildClass\": \"ship\"\n  }, \n  \"20\": {\n    \"categoryID\": 20, \n    \"categoryName_de\": \"Implantat\", \n    \"categoryName_en-us\": \"Implant\", \n    \"categoryName_es\": \"Implante\", \n    \"categoryName_fr\": \"Implant\", \n    \"categoryName_it\": \"Implant\", \n    \"categoryName_ja\": \"インプラント\", \n    \"categoryName_ko\": \"임플란트\", \n    \"categoryName_ru\": \"Имплантат\", \n    \"categoryName_zh\": \"植入体\", \n    \"categoryNameID\": 63554, \n    \"iconID\": 0, \n    \"published\": 1\n  }, \n  \"22\": {\n    \"categoryID\": 22, \n    \"categoryName_de\": \"Einsetzbar\", \n    \"categoryName_en-us\": \"Deployable\", \n    \"categoryName_es\": \"Desplegable\", \n    \"categoryName_fr\": \"Déployable\", \n    \"categoryName_it\": \"Deployable\", \n    \"categoryName_ja\": \"配置型ユニット\", \n    \"categoryName_ko\": \"전개형 구조물\", \n    \"categoryName_ru\": \"Сбрасываемые предметы\", \n    \"categoryName_zh\": \"可部署物品\", \n    \"categoryNameID\": 63555, \n    \"iconID\": 0, \n    \"published\": 1\n  }, \n  \"23\": {\n    \"categoryID\": 23, \n    \"categoryName_de\": \"Sternenbasis\", \n    \"categoryName_en-us\": \"Starbase\", \n    \"categoryName_es\": \"Base estelar\", \n    \"categoryName_fr\": \"Base stellaire\", \n    \"categoryName_it\": \"Starbase\", \n    \"categoryName_ja\": \"スターベース\", \n    \"categoryName_ko\": \"스타베이스\", \n    \"categoryName_ru\": \"ПОСы\", \n    \"categoryName_zh\": \"母星\", \n    \"categoryNameID\": 63556, \n    \"iconID\": 0, \n    \"published\": 1\n  }, \n  \"24\": {\n    \"categoryID\": 24, \n    \"categoryName_de\": \"Reaktion\", \n    \"categoryName_en-us\": \"Reaction\", \n    \"categoryName_es\": \"Reacción\", \n    \"categoryName_fr\": \"Réaction\", \n    \"categoryName_it\": \"Reaction\", \n    \"categoryName_ja\": \"化学反応\", \n    \"categoryName_ko\": \"합성\", \n    \"categoryName_ru\": \"Реакция\", \n    \"categoryName_zh\": \"化学反应\", \n    \"categoryNameID\": 63557, \n    \"iconID\": 0, \n    \"published\": 1\n  }, \n  \"25\": {\n    \"categoryID\": 25, \n    \"categoryName_de\": \"Asteroid\", \n    \"categoryName_en-us\": \"Asteroid\", \n    \"categoryName_es\": \"Asteroide\", \n    \"categoryName_fr\": \"Astéroïde\", \n    \"categoryName_it\": \"Asteroid\", \n    \"categoryName_ja\": \"アステロイド\", \n    \"categoryName_ko\": \"소행성\", \n    \"categoryName_ru\": \"Астероид\", \n    \"categoryName_zh\": \"小行星\", \n    \"categoryNameID\": 63558, \n    \"published\": 1\n  }, \n  \"26\": {\n    \"categoryID\": 26, \n    \"categoryName_de\": \"WeltRaum\", \n    \"categoryName_en-us\": \"WorldSpace\", \n    \"categoryName_es\": \"WorldSpace\", \n    \"categoryName_fr\": \"Espace planétaire\", \n    \"categoryName_it\": \"WorldSpace\", \n    \"categoryName_ja\": \"ワールドスペース\", \n    \"categoryName_ko\": \"월드스페이스\", \n    \"categoryName_ru\": \"WorldSpace\", \n    \"categoryName_zh\": \"内部空间\", \n    \"categoryNameID\": 63568, \n    \"published\": 0\n  }, \n  \"29\": {\n    \"categoryID\": 29, \n    \"categoryName_de\": \"Kurzbeschreibung\", \n    \"categoryName_en-us\": \"Abstract\", \n    \"categoryName_es\": \"Resumen\", \n    \"categoryName_fr\": \"Résumé\", \n    \"categoryName_it\": \"Abstract\", \n    \"categoryName_ja\": \"アブストラクト\", \n    \"categoryName_ko\": \"개요\", \n    \"categoryName_ru\": \"Общее\", \n    \"categoryName_zh\": \"抽象\", \n    \"categoryNameID\": 63559, \n    \"published\": 0\n  }, \n  \"30\": {\n    \"categoryID\": 30, \n    \"categoryName_de\": \"Bekleidung\", \n    \"categoryName_en-us\": \"Apparel\", \n    \"categoryName_es\": \"Indumentaria\", \n    \"categoryName_fr\": \"Équipement\", \n    \"categoryName_it\": \"Apparel\", \n    \"categoryName_ja\": \"アパレル\", \n    \"categoryName_ko\": \"의류\", \n    \"categoryName_ru\": \"Одежда\", \n    \"categoryName_zh\": \"服饰\", \n    \"categoryNameID\": 63572, \n    \"published\": 1\n  }, \n  \"32\": {\n    \"categoryID\": 32, \n    \"categoryName_de\": \"Untersystem\", \n    \"categoryName_en-us\": \"Subsystem\", \n    \"categoryName_es\": \"Subsistema\", \n    \"categoryName_fr\": \"Sous-système\", \n    \"categoryName_it\": \"Subsystem\", \n    \"categoryName_ja\": \"サブシステム\", \n    \"categoryName_ko\": \"서브시스템\", \n    \"categoryName_ru\": \"Подсистема\", \n    \"categoryName_zh\": \"子系统\", \n    \"categoryNameID\": 63562, \n    \"published\": 1\n  }, \n  \"34\": {\n    \"categoryID\": 34, \n    \"categoryName_de\": \"Alte Reliquien\", \n    \"categoryName_en-us\": \"Ancient Relics\", \n    \"categoryName_es\": \"Reliquias antiguas\", \n    \"categoryName_fr\": \"Reliques antiques\", \n    \"categoryName_it\": \"Ancient Relics\", \n    \"categoryName_ja\": \"古代の遺物\", \n    \"categoryName_ko\": \"고대 유물\", \n    \"categoryName_ru\": \"Древние устройства\", \n    \"categoryName_zh\": \"古文物\", \n    \"categoryNameID\": 63561, \n    \"published\": 1\n  }, \n  \"35\": {\n    \"categoryID\": 35, \n    \"categoryName_de\": \"Entzifferer\", \n    \"categoryName_en-us\": \"Decryptors\", \n    \"categoryName_es\": \"Desencriptadores\", \n    \"categoryName_fr\": \"Décrypteurs\", \n    \"categoryName_it\": \"Decryptors\", \n    \"categoryName_ja\": \"解読器\", \n    \"categoryName_ko\": \"해독기\", \n    \"categoryName_ru\": \"Файлы данных\", \n    \"categoryName_zh\": \"解码器\", \n    \"categoryNameID\": 63563, \n    \"published\": 1\n  }, \n  \"39\": {\n    \"categoryID\": 39, \n    \"categoryName_de\": \"Infrastruktur-Upgrades\", \n    \"categoryName_en-us\": \"Infrastructure Upgrades\", \n    \"categoryName_es\": \"Mejoras de infraestructuras\", \n    \"categoryName_fr\": \"Améliorations d'infrastructure\", \n    \"categoryName_it\": \"Infrastructure Upgrades\", \n    \"categoryName_ja\": \"領域施設強化\", \n    \"categoryName_ko\": \"인프라 업그레이드\", \n    \"categoryName_ru\": \"Расширения инфраструктуры\", \n    \"categoryName_zh\": \"基础设施升级件\", \n    \"categoryNameID\": 63565, \n    \"published\": 1\n  }, \n  \"40\": {\n    \"categoryID\": 40, \n    \"categoryName_de\": \"Souveränitätsstrukturen\", \n    \"categoryName_en-us\": \"Sovereignty Structures\", \n    \"categoryName_es\": \"Estructuras de soberanía\", \n    \"categoryName_fr\": \"Structures de souveraineté\", \n    \"categoryName_it\": \"Sovereignty Structures\", \n    \"categoryName_ja\": \"領有権管理設備\", \n    \"categoryName_ko\": \"소버린티 구조물\", \n    \"categoryName_ru\": \"Модули воздействия на право владения\", \n    \"categoryName_zh\": \"主权设施\", \n    \"categoryNameID\": 63564, \n    \"published\": 1\n  }, \n  \"41\": {\n    \"categoryID\": 41, \n    \"categoryName_de\": \"Planetare Industrie\", \n    \"categoryName_en-us\": \"Planetary Industry\", \n    \"categoryName_es\": \"Industria planetaria\", \n    \"categoryName_fr\": \"Industrie planétaire\", \n    \"categoryName_it\": \"Planetary Industry\", \n    \"categoryName_ja\": \"惑星インダストリー\", \n    \"categoryName_ko\": \"행성 개발\", \n    \"categoryName_ru\": \"Планетарная промышленность\", \n    \"categoryName_zh\": \"行星工业\", \n    \"categoryNameID\": 63569, \n    \"published\": 1\n  }, \n  \"42\": {\n    \"categoryID\": 42, \n    \"categoryName_de\": \"Planetarische Ressourcen\", \n    \"categoryName_en-us\": \"Planetary Resources\", \n    \"categoryName_es\": \"Recursos planetarios\", \n    \"categoryName_fr\": \"Ressources planétaires\", \n    \"categoryName_it\": \"Planetary Resources\", \n    \"categoryName_ja\": \"惑星資源\", \n    \"categoryName_ko\": \"행성 자원\", \n    \"categoryName_ru\": \"Планетарные ресурсы\", \n    \"categoryName_zh\": \"行星资源\", \n    \"categoryNameID\": 63566, \n    \"published\": 1\n  }, \n  \"43\": {\n    \"categoryID\": 43, \n    \"categoryName_de\": \"Planetarische Güter\", \n    \"categoryName_en-us\": \"Planetary Commodities\", \n    \"categoryName_es\": \"Mercancías planetarias\", \n    \"categoryName_fr\": \"Marchandises planétaires\", \n    \"categoryName_it\": \"Planetary Commodities\", \n    \"categoryName_ja\": \"惑星商品\", \n    \"categoryName_ko\": \"행성 생산품\", \n    \"categoryName_ru\": \"Планетарные товары\", \n    \"categoryName_zh\": \"行星商品\", \n    \"categoryNameID\": 63567, \n    \"published\": 1\n  }, \n  \"46\": {\n    \"categoryID\": 46, \n    \"categoryName_de\": \"Orbitale\", \n    \"categoryName_en-us\": \"Orbitals\", \n    \"categoryName_es\": \"Orbitales\", \n    \"categoryName_fr\": \"Orbitaux\", \n    \"categoryName_it\": \"Orbitals\", \n    \"categoryName_ja\": \"軌道施設\", \n    \"categoryName_ko\": \"궤도 시설\", \n    \"categoryName_ru\": \"Орбитальные станции\", \n    \"categoryName_zh\": \"轨道类\", \n    \"categoryNameID\": 63570, \n    \"published\": 1\n  }, \n  \"49\": {\n    \"categoryID\": 49, \n    \"categoryName_de\": \"Platzierbares\", \n    \"categoryName_en-us\": \"Placeables\", \n    \"categoryName_es\": \"Objetos colocables\", \n    \"categoryName_fr\": \"Éléments\", \n    \"categoryName_it\": \"Placeables\", \n    \"categoryName_ja\": \"配置可能\", \n    \"categoryName_ko\": \"배치물\", \n    \"categoryName_ru\": \"Декорации\", \n    \"categoryName_zh\": \"可放置物品\", \n    \"categoryNameID\": 63571, \n    \"published\": 0\n  }, \n  \"53\": {\n    \"categoryID\": 53, \n    \"categoryName_de\": \"Effekte\", \n    \"categoryName_en-us\": \"Effects\", \n    \"categoryName_es\": \"Efectos\", \n    \"categoryName_fr\": \"Effets\", \n    \"categoryName_it\": \"Effects\", \n    \"categoryName_ja\": \"効果\", \n    \"categoryName_ko\": \"효과\", \n    \"categoryName_ru\": \"Спецэффекты\", \n    \"categoryName_zh\": \"效果\", \n    \"categoryNameID\": 63573, \n    \"published\": 0\n  }, \n  \"54\": {\n    \"categoryID\": 54, \n    \"categoryName_de\": \"Beleuchtung\", \n    \"categoryName_en-us\": \"Lights\", \n    \"categoryName_es\": \"Luces\", \n    \"categoryName_fr\": \"Lumières\", \n    \"categoryName_it\": \"Lights\", \n    \"categoryName_ja\": \"ライト\", \n    \"categoryName_ko\": \"조명\", \n    \"categoryName_ru\": \"Освещение\", \n    \"categoryName_zh\": \"灯光\", \n    \"categoryNameID\": 63574, \n    \"published\": 0\n  }, \n  \"59\": {\n    \"categoryID\": 59, \n    \"categoryName_de\": \"Zellen\", \n    \"categoryName_en-us\": \"Cells\", \n    \"categoryName_es\": \"Celdas\", \n    \"categoryName_fr\": \"Cellules\", \n    \"categoryName_it\": \"Cells\", \n    \"categoryName_ja\": \"セル\", \n    \"categoryName_ko\": \"세포\", \n    \"categoryName_ru\": \"Клетки\", \n    \"categoryName_zh\": \"单元\", \n    \"categoryNameID\": 235965, \n    \"published\": 0\n  }, \n  \"63\": {\n    \"categoryID\": 63, \n    \"categoryName_de\": \"Sonderversionen\", \n    \"categoryName_en-us\": \"Special Edition Assets\", \n    \"categoryName_es\": \"Artículos de edición especial\", \n    \"categoryName_fr\": \"Actifs édition spéciale\", \n    \"categoryName_it\": \"Special Edition Assets\", \n    \"categoryName_ja\": \"特別版資産\", \n    \"categoryName_ko\": \"스페셜 에디션 아이템\", \n    \"categoryName_ru\": \"Предметы из особых изданий\", \n    \"categoryName_zh\": \"特别版用品\", \n    \"categoryNameID\": 285070, \n    \"published\": 1\n  }, \n  \"65\": {\n    \"categoryID\": 65, \n    \"categoryName_de\": \"Struktur\", \n    \"categoryName_en-us\": \"Structure\", \n    \"categoryName_es\": \"Estructura\", \n    \"categoryName_fr\": \"Structure\", \n    \"categoryName_it\": \"Structure\", \n    \"categoryName_ja\": \"ストラクチャ\", \n    \"categoryName_ko\": \"구조물\", \n    \"categoryName_ru\": \"Сооружения\", \n    \"categoryName_zh\": \"建筑\", \n    \"categoryNameID\": 308338, \n    \"published\": 1\n  }, \n  \"66\": {\n    \"categoryID\": 66, \n    \"categoryName_de\": \"Strukturmodul\", \n    \"categoryName_en-us\": \"Structure Module\", \n    \"categoryName_es\": \"Módulo de estructura\", \n    \"categoryName_fr\": \"Module de structure\", \n    \"categoryName_it\": \"Structure Module\", \n    \"categoryName_ja\": \"ストラクチャモジュール\", \n    \"categoryName_ko\": \"구조물 모듈\", \n    \"categoryName_ru\": \"Блоки сооружений\", \n    \"categoryName_zh\": \"建筑装备\", \n    \"categoryNameID\": 308340, \n    \"published\": 1\n  }, \n  \"87\": {\n    \"categoryID\": 87, \n    \"categoryName_de\": \"Jäger\", \n    \"categoryName_en-us\": \"Fighter\", \n    \"categoryName_es\": \"Caza\", \n    \"categoryName_fr\": \"Combattant\", \n    \"categoryName_it\": \"Fighter\", \n    \"categoryName_ja\": \"戦闘機\", \n    \"categoryName_ko\": \"파이터\", \n    \"categoryName_ru\": \"Истребители\", \n    \"categoryName_zh\": \"铁骑舰载机\", \n    \"categoryNameID\": 510368, \n    \"published\": 1\n  }, \n  \"91\": {\n    \"categoryID\": 91, \n    \"categoryName_de\": \"SKINs\", \n    \"categoryName_en-us\": \"SKINs\", \n    \"categoryName_es\": \"SKIN\", \n    \"categoryName_fr\": \"SKINS\", \n    \"categoryName_it\": \"SKINs\", \n    \"categoryName_ja\": \"SKIN\", \n    \"categoryName_ko\": \"SKIN\", \n    \"categoryName_ru\": \"Окраски\", \n    \"categoryName_zh\": \"涂装\", \n    \"categoryNameID\": 531338, \n    \"published\": 1\n  }, \n  \"2100\": {\n    \"categoryID\": 2100, \n    \"categoryName_de\": \"Expertensysteme\", \n    \"categoryName_en-us\": \"Expert Systems\", \n    \"categoryName_es\": \"Sistemas expertos\", \n    \"categoryName_fr\": \"Systèmes experts\", \n    \"categoryName_it\": \"Expert Systems\", \n    \"categoryName_ja\": \"エキスパートシステム\", \n    \"categoryName_ko\": \"전문가 시스템\", \n    \"categoryName_ru\": \"Экспертные системы\", \n    \"categoryName_zh\": \"专家系统\", \n    \"categoryNameID\": 573416, \n    \"published\": 1\n  }, \n  \"2107\": {\n    \"categoryID\": 2107, \n    \"categoryName_de\": \"Bergbau\", \n    \"categoryName_en-us\": \"Mining\", \n    \"categoryName_es\": \"Minería\", \n    \"categoryName_fr\": \"Extraction\", \n    \"categoryName_it\": \"Mining\", \n    \"categoryName_ja\": \"採掘\", \n    \"categoryName_ko\": \"채굴\", \n    \"categoryName_ru\": \"Бурение\", \n    \"categoryName_zh\": \"采矿\", \n    \"categoryNameID\": 587126, \n    \"published\": 0\n  }, \n  \"2118\": {\n    \"categoryID\": 2118, \n    \"categoryName_de\": \"Anpassung\", \n    \"categoryName_en-us\": \"Personalization\", \n    \"categoryName_es\": \"Personalización\", \n    \"categoryName_fr\": \"Personnalisation\", \n    \"categoryName_it\": \"Personalization\", \n    \"categoryName_ja\": \"カスタマイズ\", \n    \"categoryName_ko\": \"개인화\", \n    \"categoryName_ru\": \"Персонализация\", \n    \"categoryName_zh\": \"个性化定制\", \n    \"categoryNameID\": 631766, \n    \"published\": 1\n  }, \n  \"2143\": {\n    \"categoryID\": 2143, \n    \"categoryName_de\": \"Kolonie-Ressourcen\", \n    \"categoryName_en-us\": \"Colony Resources\", \n    \"categoryName_es\": \"Recursos de la colonia\", \n    \"categoryName_fr\": \"Ressources de colonie\", \n    \"categoryName_it\": \"Colony Resources\", \n    \"categoryName_ja\": \"コロニーのリソース\", \n    \"categoryName_ko\": \"콜로니 자원\", \n    \"categoryName_ru\": \"Ресурсы колоний\", \n    \"categoryName_zh\": \"殖民地资源\", \n    \"categoryNameID\": 709447, \n    \"iconID\": 24296, \n    \"published\": 1\n  }, \n  \"2152\": {\n    \"categoryID\": 2152, \n    \"categoryName_de\": \"QA- und Dev-Gruppen\", \n    \"categoryName_en-us\": \"QA and Dev Groups\", \n    \"categoryName_es\": \"Control de calidad y grupos de desarrolladores\", \n    \"categoryName_fr\": \"Groupes QA et Dev\", \n    \"categoryName_it\": \"QA and Dev Groups\", \n    \"categoryName_ja\": \"QAと開発者グループ\", \n    \"categoryName_ko\": \"QA and Dev Groups\", \n    \"categoryName_ru\": \"Группы разработки и КК\", \n    \"categoryName_zh\": \"质量保证和开发团队\", \n    \"categoryNameID\": 1025580, \n    \"published\": 0\n  }, \n  \"350001\": {\n    \"categoryID\": 350001, \n    \"categoryName_de\": \"Infanterie\", \n    \"categoryName_en-us\": \"Infantry\", \n    \"categoryName_es\": \"Infantería\", \n    \"categoryName_fr\": \"Infanterie\", \n    \"categoryName_it\": \"Infantry\", \n    \"categoryName_ja\": \"歩兵\", \n    \"categoryName_ko\": \"보병\", \n    \"categoryName_ru\": \"Пехотное\", \n    \"categoryName_zh\": \"Infantry\", \n    \"categoryNameID\": 267649, \n    \"published\": 0\n  }\n}"
  },
  {
    "path": "staticdata/fsd_built/dogmaattributes.0.json",
    "content": "{\n  \"2\": {\n    \"attributeID\": 2, \n    \"categoryID\": 9, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"Boolean to store status of online effect\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"isOnline\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3\": {\n    \"attributeID\": 3, \n    \"categoryID\": 7, \n    \"dataType\": 1, \n    \"defaultValue\": 0.0, \n    \"description\": \"current structure damage dealt to module\", \n    \"displayName_de\": \"Gegenstandsschaden\", \n    \"displayName_en-us\": \"Item Damage\", \n    \"displayName_es\": \"Daño de objeto\", \n    \"displayName_fr\": \"Objet endommagé\", \n    \"displayName_it\": \"Item Damage\", \n    \"displayName_ja\": \"アイテムダメージ\", \n    \"displayName_ko\": \"아이템 손상도\", \n    \"displayName_ru\": \"Повреждение предмета\", \n    \"displayName_zh\": \"物品损坏\", \n    \"displayNameID\": 233070, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1386, \n    \"name\": \"damage\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Modulschaden\", \n    \"tooltipDescription_en-us\": \"Module Damage\", \n    \"tooltipDescription_es\": \"Daño del módulo\", \n    \"tooltipDescription_fr\": \"Détérioration du module\", \n    \"tooltipDescription_it\": \"Module Damage\", \n    \"tooltipDescription_ja\": \"モジュールへのダメージ\", \n    \"tooltipDescription_ko\": \"모듈 피해량\", \n    \"tooltipDescription_ru\": \"Повреждение модулей\", \n    \"tooltipDescription_zh\": \"装备损耗\", \n    \"tooltipDescriptionID\": 317928, \n    \"tooltipTitleID\": 317927, \n    \"unitID\": 113\n  }, \n  \"4\": {\n    \"attributeID\": 4, \n    \"categoryID\": 4, \n    \"dataType\": 9, \n    \"defaultValue\": 0.0, \n    \"description\": \"Integer that describes the types mass\", \n    \"displayName_de\": \"Masse\", \n    \"displayName_en-us\": \"Mass\", \n    \"displayName_es\": \"Masa\", \n    \"displayName_fr\": \"Masse\", \n    \"displayName_it\": \"Mass\", \n    \"displayName_ja\": \"質量\", \n    \"displayName_ko\": \"질량\", \n    \"displayName_ru\": \"Масса\", \n    \"displayName_zh\": \"质量\", \n    \"displayNameID\": 233287, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 76, \n    \"name\": \"mass\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Bei aufsteigender Masse werden Beschleunigung und Wendegeschwindigkeit negativ beeinflusst\", \n    \"tooltipDescription_en-us\": \"Affects acceleration and turning speed negatively as the mass increases\", \n    \"tooltipDescription_es\": \"Afecta negativamente a la aceleración y a la velocidad de giro conforme aumenta la masa.\", \n    \"tooltipDescription_fr\": \"Diminue l'accélération et la vitesse dans les virages lorsque la masse augmente.\", \n    \"tooltipDescription_it\": \"Affects acceleration and turning speed negatively as the mass increases\", \n    \"tooltipDescription_ja\": \"数値が増えると加速／旋回速度が鈍ります\", \n    \"tooltipDescription_ko\": \"질량이 증가할수록 가속도 및 방향 전환 속도가 감소합니다.\", \n    \"tooltipDescription_ru\": \"Увеличение этой характеристики ухудшает приёмистость и маневренность корабля\", \n    \"tooltipDescription_zh\": \"质量越大，加速和转向就越慢\", \n    \"tooltipDescriptionID\": 295375, \n    \"tooltipTitleID\": 295374, \n    \"unitID\": 2\n  }, \n  \"6\": {\n    \"attributeID\": 6, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of charge used from the capacitor for a module activation.\", \n    \"displayName_de\": \"Aktivierungskosten\", \n    \"displayName_en-us\": \"Activation Cost\", \n    \"displayName_es\": \"Coste de activación\", \n    \"displayName_fr\": \"Coût énergétique d'activation\", \n    \"displayName_it\": \"Activation Cost\", \n    \"displayName_ja\": \"起動コスト\", \n    \"displayName_ko\": \"활성화 비용\", \n    \"displayName_ru\": \"Потребление энергии (за цикл)\", \n    \"displayName_zh\": \"启用耗电量\", \n    \"displayNameID\": 233007, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1400, \n    \"name\": \"capacitorNeed\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"8\": {\n    \"attributeID\": 8, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"tbd\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"minRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"9\": {\n    \"attributeID\": 9, \n    \"categoryID\": 4, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum hitpoints of an object.\", \n    \"displayName_de\": \"HP der Struktur\", \n    \"displayName_en-us\": \"Structure Hitpoints\", \n    \"displayName_es\": \"Vida estructura\", \n    \"displayName_fr\": \"PV de la structure\", \n    \"displayName_it\": \"Structure Hitpoints\", \n    \"displayName_ja\": \"ストラクチャのヒットポイント\", \n    \"displayName_ko\": \"내구도\", \n    \"displayName_ru\": \"Запас прочности корпуса\", \n    \"displayName_zh\": \"结构值\", \n    \"displayNameID\": 233553, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 67, \n    \"name\": \"hp\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die HP der Struktur regeneriert sich nicht von alleine, kann aber von Modulen oder Stationsdiensten repariert werden\", \n    \"tooltipDescription_en-us\": \"Structure hitpoints do not regenerate naturally but can be repaired by modules or station services\", \n    \"tooltipDescription_es\": \"Los puntos de vida de la estructura no se regeneran automáticamente, sino mediante módulos o servicios de la estación.\", \n    \"tooltipDescription_fr\": \"Les PV de la structure ne se régénèrent pas automatiquement, mais peuvent être réparés par des modules ou des stations.\", \n    \"tooltipDescription_it\": \"Structure hitpoints do not regenerate naturally but can be repaired by modules or station services\", \n    \"tooltipDescription_ja\": \"自動的には回復せず、モジュールやステーションサービスで修復されます\", \n    \"tooltipDescription_ko\": \"내구도는 자동으로 재생되지 않으며 모듈이나 정거장 서비스를 이용해 수리할 수 있습니다.\", \n    \"tooltipDescription_ru\": \"Запас прочности корпуса не восстанавливается естественным образом, но его можно восстановить с помощью модулей или станционных служб\", \n    \"tooltipDescription_zh\": \"结构不会自动恢复，不过可以用装备或空间站维修服务进行修理\", \n    \"tooltipDescriptionID\": 295348, \n    \"tooltipTitleID\": 295347, \n    \"unitID\": 113\n  }, \n  \"11\": {\n    \"attributeID\": 11, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"power output of power core\", \n    \"displayName_de\": \"Stromnetzleistung\", \n    \"displayName_en-us\": \"Powergrid Output\", \n    \"displayName_es\": \"Rendimiento sistema potencia\", \n    \"displayName_fr\": \"Puissance du réseau d'alimentation\", \n    \"displayName_it\": \"Powergrid Output\", \n    \"displayName_ja\": \"パワーグリッド出力\", \n    \"displayName_ko\": \"파워그리드\", \n    \"displayName_ru\": \"Мощность реактора\", \n    \"displayName_zh\": \"能量栅格输出\", \n    \"displayNameID\": 233410, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"powerOutput\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 107\n  }, \n  \"12\": {\n    \"attributeID\": 12, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The number of low power slots on the ship.\", \n    \"displayName_de\": \"Low Slots\", \n    \"displayName_en-us\": \"Low Slots\", \n    \"displayName_es\": \"Ranuras inferiores\", \n    \"displayName_fr\": \"Emplacements basse puissance\", \n    \"displayName_it\": \"Low Slots\", \n    \"displayName_ja\": \"ローパワースロット\", \n    \"displayName_ko\": \"로우 슬롯\", \n    \"displayName_ru\": \"Разъемы малой мощности\", \n    \"displayName_zh\": \"低能量槽\", \n    \"displayNameID\": 233279, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 295, \n    \"name\": \"lowSlots\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 122\n  }, \n  \"13\": {\n    \"attributeID\": 13, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"tbd\", \n    \"displayName_de\": \"Medium Slots\", \n    \"displayName_en-us\": \"Medium Slots\", \n    \"displayName_es\": \"Ranuras medias\", \n    \"displayName_fr\": \"Emplacements intermédiaires\", \n    \"displayName_it\": \"Medium Slots\", \n    \"displayName_ja\": \"ミディアムスロット\", \n    \"displayName_ko\": \"미디움 슬롯\", \n    \"displayName_ru\": \"Разъёмы средней мощности\", \n    \"displayName_zh\": \"中能量槽\", \n    \"displayNameID\": 233423, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 294, \n    \"name\": \"medSlots\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 122\n  }, \n  \"14\": {\n    \"attributeID\": 14, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"tbd\", \n    \"displayName_de\": \"High Slots\", \n    \"displayName_en-us\": \"High Slots\", \n    \"displayName_es\": \"Ranuras superiores\", \n    \"displayName_fr\": \"Emplacements haute puissance\", \n    \"displayName_it\": \"High Slots\", \n    \"displayName_ja\": \"ハイパワースロット\", \n    \"displayName_ko\": \"하이 슬롯\", \n    \"displayName_ru\": \"Разъёмы большой мощности\", \n    \"displayName_zh\": \"高能量槽\", \n    \"displayNameID\": 233229, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 293, \n    \"name\": \"hiSlots\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 122\n  }, \n  \"15\": {\n    \"attributeID\": 15, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Current load of power core\", \n    \"displayName_de\": \"Energielast\", \n    \"displayName_en-us\": \"Power Load\", \n    \"displayName_es\": \"Potencia de carga\", \n    \"displayName_fr\": \"Facteur de charge\", \n    \"displayName_it\": \"Power Load\", \n    \"displayName_ja\": \"パワー負荷\", \n    \"displayName_ko\": \"전력 사용량\", \n    \"displayName_ru\": \"Нагрузка\", \n    \"displayName_zh\": \"能量负荷\", \n    \"displayNameID\": 233414, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"powerLoad\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 107\n  }, \n  \"18\": {\n    \"attributeID\": 18, \n    \"categoryID\": 9, \n    \"chargeRechargeTimeID\": 55, \n    \"dataType\": 6, \n    \"defaultValue\": 0.0, \n    \"description\": \"charge of module\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1668, \n    \"maxAttributeID\": 482, \n    \"name\": \"charge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"19\": {\n    \"attributeID\": 19, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"tbd\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"powerToSpeed\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"20\": {\n    \"attributeID\": 20, \n    \"categoryID\": 28, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Factor by which topspeed increases.\", \n    \"displayName_de\": \"Höchstgeschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Maximum Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máxima\", \n    \"displayName_fr\": \"Bonus de vitesse maximale\", \n    \"displayName_it\": \"Maximum Velocity Bonus\", \n    \"displayName_ja\": \"最高速度ボーナス\", \n    \"displayName_ko\": \"최대 속도 보너스\", \n    \"displayName_ru\": \"Влияние на максимальную скорость\", \n    \"displayName_zh\": \"最大速度加成\", \n    \"displayNameID\": 233195, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"minAttributeID\": 2266, \n    \"name\": \"speedFactor\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 124\n  }, \n  \"21\": {\n    \"attributeID\": 21, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"tbd instance param\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warpFactor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"29\": {\n    \"attributeID\": 29, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"tbd\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warpInhibitor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"30\": {\n    \"attributeID\": 30, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"current power need\", \n    \"displayName_de\": \"Stromnetzbedarf\", \n    \"displayName_en-us\": \"Powergrid Usage\", \n    \"displayName_es\": \"Uso del sistema de potencia\", \n    \"displayName_fr\": \"Utilisation du réseau d'alimentation\", \n    \"displayName_it\": \"Powergrid Usage\", \n    \"displayName_ja\": \"パワーグリッドの使用量\", \n    \"displayName_ko\": \"파워그리드 사용량\", \n    \"displayName_ru\": \"Использование энергосети\", \n    \"displayName_zh\": \"能量栅格占用\", \n    \"displayNameID\": 233579, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 70, \n    \"name\": \"power\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 107\n  }, \n  \"31\": {\n    \"attributeID\": 31, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The number of hit points this module can take  \", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1383, \n    \"name\": \"maxArmor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"32\": {\n    \"attributeID\": 32, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The number of hit points when this module goes offline  \", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"breakPoint\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"37\": {\n    \"attributeID\": 37, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum velocity of ship\", \n    \"displayName_de\": \"Maximalgeschwindigkeit\", \n    \"displayName_en-us\": \"Maximum Velocity\", \n    \"displayName_es\": \"Velocidad máxima\", \n    \"displayName_fr\": \"Vitesse maximale\", \n    \"displayName_it\": \"Maximum Velocity\", \n    \"displayName_ja\": \"最高速度\", \n    \"displayName_ko\": \"최대 속도\", \n    \"displayName_ru\": \"Максимальная скорость\", \n    \"displayName_zh\": \"最大速度\", \n    \"displayNameID\": 233424, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"maxAttributeID\": 2033, \n    \"name\": \"maxVelocity\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Die maximale Geschwindigkeit, die dieses Schiff ohne Warpantrieb erreichen kann\", \n    \"tooltipDescription_en-us\": \"The maximum velocity that can be achieved in subwarp flight\", \n    \"tooltipDescription_es\": \"La velocidad máxima en vuelos de subwarp.\", \n    \"tooltipDescription_fr\": \"La vitesse maximale pouvant être atteinte en sous-warp.\", \n    \"tooltipDescription_it\": \"The maximum velocity that can be achieved in subwarp flight\", \n    \"tooltipDescription_ja\": \"サブワープ航行時に到達できる最高速度です\", \n    \"tooltipDescription_ko\": \"서브워프 비행시 낼 수 있는 최대 속도입니다.\", \n    \"tooltipDescription_ru\": \"Максимальная скорость, достижимая вне варп-режима\", \n    \"tooltipDescription_zh\": \"在非跃迁状态下能达到的最大飞行速度\", \n    \"tooltipDescriptionID\": 309803, \n    \"tooltipTitleID\": 309802, \n    \"unitID\": 11\n  }, \n  \"38\": {\n    \"attributeID\": 38, \n    \"categoryID\": 4, \n    \"dataType\": 9, \n    \"defaultValue\": 0.0, \n    \"description\": \"The cargo space allowed\", \n    \"displayName_de\": \"Kapazität\", \n    \"displayName_en-us\": \"Capacity\", \n    \"displayName_es\": \"Capacidad\", \n    \"displayName_fr\": \"Capacité\", \n    \"displayName_it\": \"Capacity\", \n    \"displayName_ja\": \"容量\", \n    \"displayName_ko\": \"적재량\", \n    \"displayName_ru\": \"Вместимость грузового отсека\", \n    \"displayName_zh\": \"容量\", \n    \"displayNameID\": 233010, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"capacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Das maximale Volumen an Gegenständen, das im Frachtraum transportiert werden kann\", \n    \"tooltipDescription_en-us\": \"The maximum volume of items that can be carried in the cargo hold\", \n    \"tooltipDescription_es\": \"El volumen máximo de objetos que pueden transportarse en la bodega.\", \n    \"tooltipDescription_fr\": \"Volume d'objets maximum pouvant être transportés dans la soute de chargement.\", \n    \"tooltipDescription_it\": \"The maximum volume of items that can be carried in the cargo hold\", \n    \"tooltipDescription_ja\": \"カーゴホールドに積んで運搬できる体積量です\", \n    \"tooltipDescription_ko\": \"화물실의 총 적재량입니다.\", \n    \"tooltipDescription_ru\": \"Объём, максимально допустимый к размещению в грузовом отсеке\", \n    \"tooltipDescription_zh\": \"货柜舱能够装载的最大体积\", \n    \"tooltipDescriptionID\": 295381, \n    \"tooltipTitleID\": 295380, \n    \"unitID\": 9\n  }, \n  \"39\": {\n    \"attributeID\": 39, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The damage this weapon deals\", \n    \"displayName_de\": \"Schadensreparaturbonus\", \n    \"displayName_en-us\": \"Damage Repaired Bonus\", \n    \"displayName_es\": \"Bonificación de daño reparado\", \n    \"displayName_fr\": \"Bonus de dégâts réparés\", \n    \"displayName_it\": \"Damage Repaired Bonus\", \n    \"displayName_ja\": \"ダメージリペアボーナス\", \n    \"displayName_ko\": \"수리 보너스\", \n    \"displayName_ru\": \"Влияние на ремонтируемый запас прочности\", \n    \"displayName_zh\": \"已维修损伤加成\", \n    \"displayNameID\": 233073, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"damageHP\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"47\": {\n    \"attributeID\": 47, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"The number of slots this module requires.  Only used for launchers, bays and turrets.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"slots\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"48\": {\n    \"attributeID\": 48, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"CPU output of ship\", \n    \"displayName_de\": \"CPU-Leistung\", \n    \"displayName_en-us\": \"CPU Output\", \n    \"displayName_es\": \"Rendimiento CPU\", \n    \"displayName_fr\": \"Puissance CPU\", \n    \"displayName_it\": \"CPU Output\", \n    \"displayName_ja\": \"CPU 出力\", \n    \"displayName_ko\": \"CPU\", \n    \"displayName_ru\": \"Мощность ЦПУ\", \n    \"displayName_zh\": \"CPU输出\", \n    \"displayNameID\": 233054, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1405, \n    \"name\": \"cpuOutput\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 106\n  }, \n  \"49\": {\n    \"attributeID\": 49, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"CPU load of ship\", \n    \"displayName_de\": \"CPU-Auslastung\", \n    \"displayName_en-us\": \"CPU Load\", \n    \"displayName_es\": \"Carga de la CPU\", \n    \"displayName_fr\": \"Charge CPU\", \n    \"displayName_it\": \"CPU Load\", \n    \"displayName_ja\": \"CPU 負荷\", \n    \"displayName_ko\": \"CPU 사용량\", \n    \"displayName_ru\": \"Нагрузка на ЦПУ\", \n    \"displayName_zh\": \"CPU载荷\", \n    \"displayNameID\": 233431, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1405, \n    \"name\": \"cpuLoad\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 106\n  }, \n  \"50\": {\n    \"attributeID\": 50, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"CPU need of module\", \n    \"displayName_de\": \"CPU-Auslastung\", \n    \"displayName_en-us\": \"CPU usage\", \n    \"displayName_es\": \"Uso de la CPU\", \n    \"displayName_fr\": \"Utilisation CPU\", \n    \"displayName_it\": \"CPU usage\", \n    \"displayName_ja\": \"CPUの使用量\", \n    \"displayName_ko\": \"CPU 사용량\", \n    \"displayName_ru\": \"Загрузка ЦПУ\", \n    \"displayName_zh\": \"CPU使用量\", \n    \"displayNameID\": 233049, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1405, \n    \"name\": \"cpu\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 106\n  }, \n  \"51\": {\n    \"attributeID\": 51, \n    \"categoryID\": 29, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Time in milliseconds between possible activations\", \n    \"displayName_de\": \"Feuerrate\", \n    \"displayName_en-us\": \"Rate of fire\", \n    \"displayName_es\": \"Cadencia de tiro\", \n    \"displayName_fr\": \"Cadence de tir\", \n    \"displayName_it\": \"Rate of fire\", \n    \"displayName_ja\": \"発射間隔\", \n    \"displayName_ko\": \"연사속도\", \n    \"displayName_ru\": \"Цикл выстрела\", \n    \"displayName_zh\": \"射击速度\", \n    \"displayNameID\": 233201, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1397, \n    \"name\": \"speed\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"52\": {\n    \"attributeID\": 52, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Substracted before damage application.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"damageResistance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"54\": {\n    \"attributeID\": 54, \n    \"categoryID\": 29, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distance below which range does not affect the to-hit equation.\", \n    \"displayName_de\": \"Optimale Reichweite\", \n    \"displayName_en-us\": \"Optimal Range\", \n    \"displayName_es\": \"Alcance óptimo\", \n    \"displayName_fr\": \"Portée optimale\", \n    \"displayName_it\": \"Optimal Range\", \n    \"displayName_ja\": \"最適射程距離\", \n    \"displayName_ko\": \"최적사거리\", \n    \"displayName_ru\": \"Оптимальная дальность\", \n    \"displayName_zh\": \"最佳射程\", \n    \"displayNameID\": 233316, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"maxRange\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"55\": {\n    \"attributeID\": 55, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of time taken to fully recharge the capacitor.\", \n    \"displayName_de\": \"Wiederaufladezeit des Energiespeichers\", \n    \"displayName_en-us\": \"Capacitor Recharge time\", \n    \"displayName_es\": \"Tiempo carga condensador\", \n    \"displayName_fr\": \"Temps de recharge du capaciteur\", \n    \"displayName_it\": \"Capacitor Recharge time\", \n    \"displayName_ja\": \"キャパシタリチャージ時間\", \n    \"displayName_ko\": \"캐패시터 충전 시간\", \n    \"displayName_ru\": \"Время восстановления заряда\", \n    \"displayName_zh\": \"电容回充时间\", \n    \"displayNameID\": 233357, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"rechargeRate\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Benötigte Zeit um den Energiespeicher wieder voll aufzuladen\", \n    \"tooltipDescription_en-us\": \"Amount of time taken to fully recharge the capacitor\", \n    \"tooltipDescription_es\": \"Cantidad de tiempo necesaria para cargar por completo el condensador.\", \n    \"tooltipDescription_fr\": \"Temps nécessaire à la recharge totale du capaciteur.\", \n    \"tooltipDescription_it\": \"Amount of time taken to fully recharge the capacitor\", \n    \"tooltipDescription_ja\": \"キャパシタのフル充電にかかる時間です\", \n    \"tooltipDescription_ko\": \"캐패시터를 전부 충전하기까지 걸리는 시간입니다.\", \n    \"tooltipDescription_ru\": \"Количество времени, требуемое для полной перезарядки бортового накопителя\", \n    \"tooltipDescription_zh\": \"电容恢复至最大值所需要的时间\", \n    \"tooltipDescriptionID\": 295217, \n    \"tooltipTitleID\": 295216, \n    \"unitID\": 101\n  }, \n  \"56\": {\n    \"attributeID\": 56, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"Number of charges consumed per activation\", \n    \"displayName_de\": \"Laderate je Zyklus\", \n    \"displayName_en-us\": \"Charges Per Cycle\", \n    \"displayName_es\": \"Cargas por ciclo\", \n    \"displayName_fr\": \"Charges par cycle\", \n    \"displayName_it\": \"Charges Per Cycle\", \n    \"displayName_ja\": \"サイクルあたりチャージ\", \n    \"displayName_ko\": \"주기당 충전량\", \n    \"displayName_ru\": \"Зарядов за цикл\", \n    \"displayName_zh\": \"单次消耗量\", \n    \"displayNameID\": 233609, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"chargeRate\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"61\": {\n    \"attributeID\": 61, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"GroupID of module targeted by this weapon\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"targetModule\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"63\": {\n    \"attributeID\": 63, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Something to do with accuracy.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"accuracyBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"64\": {\n    \"attributeID\": 64, \n    \"categoryID\": 29, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Damage multiplier.\", \n    \"displayName_de\": \"Schadensmodifikator\", \n    \"displayName_en-us\": \"Damage Modifier\", \n    \"displayName_es\": \"Modificador de daño\", \n    \"displayName_fr\": \"Modificateur de dommages\", \n    \"displayName_it\": \"Damage Modifier\", \n    \"displayName_ja\": \"ダメージ修正乗数\", \n    \"displayName_ko\": \"피해량 보정치\", \n    \"displayName_ru\": \"Модификатор урона\", \n    \"displayName_zh\": \"伤害量调整\", \n    \"displayNameID\": 233074, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1432, \n    \"name\": \"damageMultiplier\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 104\n  }, \n  \"65\": {\n    \"attributeID\": 65, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"HP bonus to armor.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1383, \n    \"name\": \"armorBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"66\": {\n    \"attributeID\": 66, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to duration.\", \n    \"displayName_de\": \"Laufzeitbonus\", \n    \"displayName_en-us\": \"Duration Bonus\", \n    \"displayName_es\": \"Bonificación de duración\", \n    \"displayName_fr\": \"Bonus de durée\", \n    \"displayName_it\": \"Duration Bonus\", \n    \"displayName_ja\": \"起動時間ボーナス\", \n    \"displayName_ko\": \"지속시간 보너스\", \n    \"displayName_ru\": \"Влияние на длительность\", \n    \"displayName_zh\": \"单次运转时间加成\", \n    \"displayNameID\": 233137, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"durationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"67\": {\n    \"attributeID\": 67, \n    \"categoryID\": 5, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Extra batteries to add capacitor.\", \n    \"displayName_de\": \"Energiespeicherbonus\", \n    \"displayName_en-us\": \"Capacitor Bonus\", \n    \"displayName_es\": \"Bonificación de condensador\", \n    \"displayName_fr\": \"Bonus de capaciteur\", \n    \"displayName_it\": \"Capacitor Bonus\", \n    \"displayName_ja\": \"キャパシタボーナス\", \n    \"displayName_ko\": \"캐패시터 보너스\", \n    \"displayName_ru\": \"Влияние на запас энергии\", \n    \"displayName_zh\": \"电容加成\", \n    \"displayNameID\": 233003, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"capacitorBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"68\": {\n    \"attributeID\": 68, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to shield.\", \n    \"displayName_de\": \"Schildbonus\", \n    \"displayName_en-us\": \"Shield Bonus\", \n    \"displayName_es\": \"Bonificación de escudo\", \n    \"displayName_fr\": \"Bonus de bouclier\", \n    \"displayName_it\": \"Shield Bonus\", \n    \"displayName_ja\": \"シールドボーナス\", \n    \"displayName_ko\": \"실드 보너스\", \n    \"displayName_ru\": \"Эффективность накачки щита\", \n    \"displayName_zh\": \"护盾加成\", \n    \"displayNameID\": 232934, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1384, \n    \"name\": \"shieldBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"69\": {\n    \"attributeID\": 69, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to rate/conversion ratio.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"rateBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"70\": {\n    \"attributeID\": 70, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The agility of the object.\", \n    \"displayName_de\": \"Trägheitsmodifikator\", \n    \"displayName_en-us\": \"Inertia Modifier\", \n    \"displayName_es\": \"Modificador de inercia\", \n    \"displayName_fr\": \"Modificateur d'inertie\", \n    \"displayName_it\": \"Inertia Modifier\", \n    \"displayName_ja\": \"慣性修正乗数\", \n    \"displayName_ko\": \"관성 계수\", \n    \"displayName_ru\": \"Влияние инертности конструкции\", \n    \"displayName_zh\": \"惯性调整\", \n    \"displayNameID\": 233606, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1401, \n    \"name\": \"agility\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Bei abnehmenden Wert werden Beschleunigung und Wendegeschwindigkeit positiv beeinflusst\", \n    \"tooltipDescription_en-us\": \"Affects acceleration and turning speed positively as the value decreases\", \n    \"tooltipDescription_es\": \"Afecta positivamente a la aceleración y a la velocidad de giro conforme se reduce el valor.\", \n    \"tooltipDescription_fr\": \"Augmente l'accélération et la vitesse dans les virages lorsque cette valeur diminue.\", \n    \"tooltipDescription_it\": \"Affects acceleration and turning speed positively as the value decreases\", \n    \"tooltipDescription_ja\": \"数値が減少すると加速・回転スピードに影響します\", \n    \"tooltipDescription_ko\": \"수치가 낮을수록 가속도 및 방향 전환 속도가 증가합니다.\", \n    \"tooltipDescription_ru\": \"Уменьшение этой характеристики повышает приёмистость и маневренность корабля\", \n    \"tooltipDescription_zh\": \"该数值越小，加速和转向就越快\", \n    \"tooltipDescriptionID\": 296181, \n    \"tooltipTitleID\": 296180, \n    \"unitID\": 104\n  }, \n  \"72\": {\n    \"attributeID\": 72, \n    \"categoryID\": 2, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to capacity (shield at least).\", \n    \"displayName_de\": \"HP-Bonus für Schilde\", \n    \"displayName_en-us\": \"Shield Hitpoint Bonus\", \n    \"displayName_es\": \"Bonif. de puntos de vida del escudo\", \n    \"displayName_fr\": \"Bonus de PV du bouclier\", \n    \"displayName_it\": \"Shield Hitpoint Bonus\", \n    \"displayName_ja\": \"シールドHPボーナス\", \n    \"displayName_ko\": \"실드 내구도 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности щитов\", \n    \"displayName_zh\": \"护盾值加成\", \n    \"displayNameID\": 233011, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 69, \n    \"name\": \"capacityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"73\": {\n    \"attributeID\": 73, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Length of activation time.\", \n    \"displayName_de\": \"Aktivierungszeit / -dauer\", \n    \"displayName_en-us\": \"Activation time / duration\", \n    \"displayName_es\": \"Tiempo de activación/duración\", \n    \"displayName_fr\": \"Délai / Durée d'activation\", \n    \"displayName_it\": \"Activation time / duration\", \n    \"displayName_ja\": \"起動（待機）時間\", \n    \"displayName_ko\": \"활성화 시간 / 지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"作用时间/单次运转时间\", \n    \"displayNameID\": 233136, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"duration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"75\": {\n    \"attributeID\": 75, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"DO NOT MESS WITH. How many hp are in one capacity unit\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"hpToCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"76\": {\n    \"attributeID\": 76, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum range at which the scanner can lock a target.\", \n    \"displayName_de\": \"Max. Zielaufschaltungsreichweite\", \n    \"displayName_en-us\": \"Maximum Targeting Range\", \n    \"displayName_es\": \"Distancia-objetivo máxima\", \n    \"displayName_fr\": \"Portée maximale du système de ciblage\", \n    \"displayName_it\": \"Maximum Targeting Range\", \n    \"displayName_ja\": \"最大ターゲット範囲\", \n    \"displayName_ko\": \"최대 타겟팅 거리\", \n    \"displayName_ru\": \"Максимальная дальность захвата целей\", \n    \"displayName_zh\": \"锁定范围上限\", \n    \"displayNameID\": 233329, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"maxAttributeID\": 797, \n    \"name\": \"maxTargetRange\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Die maximale Reichweite, in der Ziele aufgeschaltet und erfasst gehalten werden können\", \n    \"tooltipDescription_en-us\": \"The maximum range at which it is possible to acquire and hold target locks\", \n    \"tooltipDescription_es\": \"El alcance máximo en el que es posible adquirir y mantener objetivos fijados.\", \n    \"tooltipDescription_fr\": \"La portée maximale à laquelle il est possible d'acquérir et de maintenir le verrouillage de cible.\", \n    \"tooltipDescription_it\": \"The maximum range at which it is possible to acquire and hold target locks\", \n    \"tooltipDescription_ja\": \"ターゲットを捕捉・ロックできる最大範囲です\", \n    \"tooltipDescription_ko\": \"타겟을 확보하고 조준 완료할 수 있는 최대 거리입니다.\", \n    \"tooltipDescription_ru\": \"Максимальная дальность действия бортовых систем обнаружения целей\", \n    \"tooltipDescription_zh\": \"能够锁定目标的最大范围\", \n    \"tooltipDescriptionID\": 295342, \n    \"tooltipTitleID\": 295341, \n    \"unitID\": 1\n  }, \n  \"77\": {\n    \"attributeID\": 77, \n    \"categoryID\": 51, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"How much ore gets mined\", \n    \"displayName_de\": \"Bergbauertrag\", \n    \"displayName_en-us\": \"Mining amount\", \n    \"displayName_es\": \"Cantidad extraída\", \n    \"displayName_fr\": \"Minerai extrait\", \n    \"displayName_it\": \"Mining amount\", \n    \"displayName_ja\": \"採掘量\", \n    \"displayName_ko\": \"채굴 총량\", \n    \"displayName_ru\": \"Объем добычи (за цикл)\", \n    \"displayName_zh\": \"开采量\", \n    \"displayNameID\": 233349, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 22, \n    \"name\": \"miningAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"79\": {\n    \"attributeID\": 79, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"scanning speed in milliseconds\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 74, \n    \"name\": \"scanSpeed\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"80\": {\n    \"attributeID\": 80, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount to increase the maximum speed by.\", \n    \"displayName_de\": \"Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad\", \n    \"displayName_fr\": \"Bonus de vitesse\", \n    \"displayName_it\": \"Speed Bonus\", \n    \"displayName_ja\": \"速度ボーナス\", \n    \"displayName_ko\": \"속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость\", \n    \"displayName_zh\": \"速度加成\", \n    \"displayNameID\": 233200, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"speedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 11\n  }, \n  \"81\": {\n    \"attributeID\": 81, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Factor to modify the hp by.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"hpFactor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"82\": {\n    \"attributeID\": 82, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Modifier for the maximum structural strength.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"83\": {\n    \"attributeID\": 83, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"An amount to modify the structural damage by.\", \n    \"displayName_de\": \"Reparierte HP der Struktur\", \n    \"displayName_en-us\": \"Structure Hitpoints Repaired\", \n    \"displayName_es\": \"Puntos de vida de la estructura recuperados\", \n    \"displayName_fr\": \"PV de la structure réparés\", \n    \"displayName_it\": \"Structure Hitpoints Repaired\", \n    \"displayName_ja\": \"ストラクチャHP修復\", \n    \"displayName_ko\": \"내구도 수리량\", \n    \"displayName_ru\": \"Ремонтируемый запас прочности корпуса\", \n    \"displayName_zh\": \"结构值修复量\", \n    \"displayNameID\": 233487, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 80, \n    \"name\": \"structureDamageAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"84\": {\n    \"attributeID\": 84, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"An amount to modify the armor damage by.\", \n    \"displayName_de\": \"Reparierte HP der Panzerung\", \n    \"displayName_en-us\": \"Armor Hitpoints Repaired\", \n    \"displayName_es\": \"Puntos de vida del blindaje reparados\", \n    \"displayName_fr\": \"PV du blindage réparés\", \n    \"displayName_it\": \"Armor Hitpoints Repaired\", \n    \"displayName_ja\": \"アーマーHP修復\", \n    \"displayName_ko\": \"장갑 내구도 수리\", \n    \"displayName_ru\": \"Количество ремонтируемых единиц прочности брони\", \n    \"displayName_zh\": \"装甲值维修量\", \n    \"displayNameID\": 232960, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 80, \n    \"name\": \"armorDamageAmount\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"87\": {\n    \"attributeID\": 87, \n    \"categoryID\": 2, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum range for use of a shield transfer.\", \n    \"displayName_de\": \"Schildtransferreichweite\", \n    \"displayName_en-us\": \"shield Transfer Range\", \n    \"displayName_es\": \"Alcance de transferencia del escudo\", \n    \"displayName_fr\": \"Portée de transfert du bouclier\", \n    \"displayName_it\": \"shield Transfer Range\", \n    \"displayName_ja\": \"シールド転送可能範囲\", \n    \"displayName_ko\": \"실드 전송 사거리\", \n    \"displayName_ru\": \"Дальность дистанционной накачки щитов\", \n    \"displayName_zh\": \"护盾传输范围\", \n    \"displayNameID\": 232969, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"shieldTransferRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"88\": {\n    \"attributeID\": 88, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount to drain from shield.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1384, \n    \"name\": \"shieldDrainAmount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"89\": {\n    \"attributeID\": 89, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum range shield can be drained at.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shieldDrainRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"90\": {\n    \"attributeID\": 90, \n    \"categoryID\": 22, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of power to transfer.\", \n    \"displayName_de\": \"Energietransfermenge\", \n    \"displayName_en-us\": \"Energy transfer amount\", \n    \"displayName_es\": \"Cantidad de transferencia energética\", \n    \"displayName_fr\": \"Quantité d'énergie transférée\", \n    \"displayName_it\": \"Energy transfer amount\", \n    \"displayName_ja\": \"エネルギー転送量\", \n    \"displayName_ko\": \"에너지 전송 총량\", \n    \"displayName_ru\": \"Объём переданной энергии\", \n    \"displayName_zh\": \"能量转移量\", \n    \"displayNameID\": 233405, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1033, \n    \"name\": \"powerTransferAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"91\": {\n    \"attributeID\": 91, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum range to transfer power from.\", \n    \"displayName_de\": \"Transferreichweite\", \n    \"displayName_en-us\": \"Transfer range\", \n    \"displayName_es\": \"Alcance de transferencia\", \n    \"displayName_fr\": \"Portée de transfert\", \n    \"displayName_it\": \"Transfer range\", \n    \"displayName_ja\": \"転送可能範囲\", \n    \"displayName_ko\": \"이송 사거리\", \n    \"displayName_ru\": \"Дальность дистанционной накачки щитов\", \n    \"displayName_zh\": \"传输范围\", \n    \"displayNameID\": 233398, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"powerTransferRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"92\": {\n    \"attributeID\": 92, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The strength of the kinetic dampening field.  If high may nullify projectiles.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"kineticDampeningFieldStrength\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"93\": {\n    \"attributeID\": 93, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount to adjust a kinetic dampening field by.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"kineticDampeningFieldBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"95\": {\n    \"attributeID\": 95, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The strength of the energy reflection field. If high may reflect energy at shooter.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"energyReflectionStrength\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"96\": {\n    \"attributeID\": 96, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount to adjust a energy reflection strength by.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"energyReflectionBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"97\": {\n    \"attributeID\": 97, \n    \"categoryID\": 22, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"An amount to modify the power of the target by.\", \n    \"displayName_de\": \"Neutralisierungsmenge\", \n    \"displayName_en-us\": \"Neutralization Amount\", \n    \"displayName_es\": \"Cantidad de neutralización\", \n    \"displayName_fr\": \"Quantité de neutralisation\", \n    \"displayName_it\": \"Neutralization Amount\", \n    \"displayName_ja\": \"無効化量\", \n    \"displayName_ko\": \"뉴트럴라이저 수치\", \n    \"displayName_ru\": \"Нейтрализуемый запас энергии\", \n    \"displayName_zh\": \"能量中和值\", \n    \"displayNameID\": 233155, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"energyNeutralizerAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"98\": {\n    \"attributeID\": 98, \n    \"categoryID\": 22, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Optimal Range of Energy Neutralizer\", \n    \"displayName_de\": \"Neutralisierung - Optimale Reichweite\", \n    \"displayName_en-us\": \"Neutralization Optimal Range\", \n    \"displayName_es\": \"Alcance óptimo de neutralización\", \n    \"displayName_fr\": \"Portée optimale de neutralisation\", \n    \"displayName_it\": \"Neutralization Optimal Range\", \n    \"displayName_ja\": \"ニュートライザーの最適射程距離\", \n    \"displayName_ko\": \"뉴트럴라이제이션 최적사거리\", \n    \"displayName_ru\": \"Оптимальная дальность нейтрализации\", \n    \"displayName_zh\": \"最大能量中和范围\", \n    \"displayNameID\": 233157, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"energyNeutralizerRangeOptimal\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"99\": {\n    \"attributeID\": 99, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Range of broadcasted EMP field.\", \n    \"displayName_de\": \"Radius der Wirkungsreichweite\", \n    \"displayName_en-us\": \"Area of effect radius\", \n    \"displayName_es\": \"Radio de acción\", \n    \"displayName_fr\": \"Rayon de la zone d'effet\", \n    \"displayName_it\": \"Area of effect radius\", \n    \"displayName_ja\": \"有効範囲半径\", \n    \"displayName_ko\": \"유효 범위 반경\", \n    \"displayName_ru\": \"Радиус зоны действия\", \n    \"displayName_zh\": \"效果范围\", \n    \"displayNameID\": 233154, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"empFieldRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"101\": {\n    \"attributeID\": 101, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The number of remaining unused launcher slots.\", \n    \"displayName_de\": \"Montageplätze für Werfer\", \n    \"displayName_en-us\": \"Launcher Hardpoints\", \n    \"displayName_es\": \"Puntos montaje lanzador\", \n    \"displayName_fr\": \"Points de fixation pour lanceur\", \n    \"displayName_it\": \"Launcher Hardpoints\", \n    \"displayName_ja\": \"ランチャーハードポイント\", \n    \"displayName_ko\": \"런처 슬롯\", \n    \"displayName_ru\": \"Точки монтажа пусковых установок\", \n    \"displayName_zh\": \"发射器安装数\", \n    \"displayNameID\": 233626, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 168, \n    \"name\": \"launcherSlotsLeft\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Diese Montageplätze schränken die Anzahl an ausrüstbaren Lenkwaffenwerfer-Modulen ein\", \n    \"tooltipDescription_en-us\": \"These hardpoints limit the number of missile launcher modules that can be fitted\", \n    \"tooltipDescription_es\": \"Estos puntos de montaje limitan el número de módulos lanzamisiles que se pueden equipar.\", \n    \"tooltipDescription_fr\": \"Ces points de fixation limitent le nombre de modules de lance-missiles pouvant être équipés.\", \n    \"tooltipDescription_it\": \"These hardpoints limit the number of missile launcher modules that can be fitted\", \n    \"tooltipDescription_ja\": \"ミサイルランチャーモジュールの装備可能な数を示します\", \n    \"tooltipDescription_ko\": \"미사일 런처를 장착할 수 있는 최대 개수입니다.\", \n    \"tooltipDescription_ru\": \"Точки монтажа данного типа ограничивают количество пусковых установок, которыми может быть оснащён корабль\", \n    \"tooltipDescription_zh\": \"这个数字决定了舰船能够装配导弹发射器的数量\", \n    \"tooltipDescriptionID\": 295263, \n    \"tooltipTitleID\": 295262, \n    \"unitID\": 141\n  }, \n  \"102\": {\n    \"attributeID\": 102, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Remaining number of unused turret slots on the ship.\", \n    \"displayName_de\": \"Montageplätze für Geschütztürme\", \n    \"displayName_en-us\": \"Turret Hardpoints\", \n    \"displayName_es\": \"Puntos montaje torreta\", \n    \"displayName_fr\": \"Points de fixation de tourelle\", \n    \"displayName_it\": \"Turret Hardpoints\", \n    \"displayName_ja\": \"タレットハードポイント\", \n    \"displayName_ko\": \"터렛 슬롯\", \n    \"displayName_ru\": \"Точки монтажа орудийных установок\", \n    \"displayName_zh\": \"炮台安装数\", \n    \"displayNameID\": 233638, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 387, \n    \"name\": \"turretSlotsLeft\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Diese Montageplätze schränken die Anzahl an ausrüstbaren Waffen- und Bergbautürmen ein\", \n    \"tooltipDescription_en-us\": \"These hardpoints limit the number of gunnery and mining turrets that can be fitted\", \n    \"tooltipDescription_es\": \"Estos puntos de montaje limitan el número de torretas artilleras y mineras que se pueden equipar.\", \n    \"tooltipDescription_fr\": \"Ces points de fixation limitent le nombre de tourelles d'armement et d'extraction minière pouvant être équipées.\", \n    \"tooltipDescription_it\": \"These hardpoints limit the number of gunnery and mining turrets that can be fitted\", \n    \"tooltipDescription_ja\": \"ガンナリーおよび採掘タレットの装備可能な数を示します\", \n    \"tooltipDescription_ko\": \"터렛 및 채굴 레이저를 장착할 수 있는 최대 개수입니다.\", \n    \"tooltipDescription_ru\": \"Точки монтажа данного типа ограничивают количество орудий и буровых лазеров, которыми может быть оснащён корабль\", \n    \"tooltipDescription_zh\": \"这个数字决定了舰船能够装配炮台和采矿激光器的数量\", \n    \"tooltipDescriptionID\": 295261, \n    \"tooltipTitleID\": 295260, \n    \"unitID\": 141\n  }, \n  \"103\": {\n    \"attributeID\": 103, \n    \"categoryID\": 27, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum range objects can be warp scrambled from.\", \n    \"displayName_de\": \"Warpstörungsreichweite\", \n    \"displayName_en-us\": \"Warp Disruption Range\", \n    \"displayName_es\": \"Alcance de disrupción de warp\", \n    \"displayName_fr\": \"Portée de perturbation de warp\", \n    \"displayName_it\": \"Warp Disruption Range\", \n    \"displayName_ja\": \"ワープ妨害範囲\", \n    \"displayName_ko\": \"워프 디스럽션 사거리\", \n    \"displayName_ru\": \"Дальность постановки варп-помех\", \n    \"displayName_zh\": \"跃迁干扰距离\", \n    \"displayNameID\": 233140, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"warpScrambleRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"104\": {\n    \"attributeID\": 104, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Warp ability of a ship.  If greater than zero than the ship cannot warp.\", \n    \"displayName_de\": \"Warp-Störungsstatus\", \n    \"displayName_en-us\": \"Warp Scramble Status\", \n    \"displayName_es\": \"Estado de distorsión de warp\", \n    \"displayName_fr\": \"Statut de l'inhibition de warp\", \n    \"displayName_it\": \"Warp Scramble Status\", \n    \"displayName_ja\": \"ワープスクランブルステータス\", \n    \"displayName_ko\": \"워프 스크램블 수치\", \n    \"displayName_ru\": \"Снижение входящих варп-помех\", \n    \"displayName_zh\": \"跃迁干扰状态\", \n    \"displayNameID\": 233138, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warpScrambleStatus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"105\": {\n    \"attributeID\": 105, \n    \"categoryID\": 27, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount to modify ships warp scramble status by.\", \n    \"displayName_de\": \"Warp-Störungsstärke\", \n    \"displayName_en-us\": \"Warp Scramble Strength\", \n    \"displayName_es\": \"Intensidad de distorsión de warp\", \n    \"displayName_fr\": \"Force de l'inhibition de warp\", \n    \"displayName_it\": \"Warp Scramble Strength\", \n    \"displayName_ja\": \"ワープスクランブル強度\", \n    \"displayName_ko\": \"워프 스크램블 강도\", \n    \"displayName_ru\": \"Мощность глушения варп-двигателей\", \n    \"displayName_zh\": \"跃迁干扰强度\", \n    \"displayNameID\": 233133, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 111, \n    \"name\": \"warpScrambleStrength\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"106\": {\n    \"attributeID\": 106, \n    \"categoryID\": 10, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The remaining amount of unused drone bay slots on the ship.\", \n    \"displayName_de\": \"Drohnenhangar-Montageplätze\", \n    \"displayName_en-us\": \"Drone Bay Hardpoints\", \n    \"displayName_es\": \"Punto de montaje de muelle de drones\", \n    \"displayName_fr\": \"Points de fixation du hangar à drones\", \n    \"displayName_it\": \"Drone Bay Hardpoints\", \n    \"displayName_ja\": \"ドローンベイハードポイント\", \n    \"displayName_ko\": \"드론 격납고 슬롯\", \n    \"displayName_ru\": \"Точки монтажа дронов\", \n    \"displayName_zh\": \"无人机挂舱安装座\", \n    \"displayNameID\": 233104, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 138, \n    \"name\": \"droneBaySlotsLeft\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"107\": {\n    \"attributeID\": 107, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Range in meters of explosion effect area.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"explosionRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"108\": {\n    \"attributeID\": 108, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"the range in meters for an object to trigger detonation of missile. (own ship excluded)\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"detonationRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"109\": {\n    \"attributeID\": 109, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"damage multiplier vs. kinetic damagers.\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Struktur gegen Kinetikschaden\", \n    \"displayName_en-us\": \"Structure Kinetic Damage Resistance\", \n    \"displayName_es\": \"Resistencia cinética estructuras\", \n    \"displayName_fr\": \"Résistance de la structure aux dégâts cinétiques\", \n    \"displayName_it\": \"Structure Kinetic Damage Resistance\", \n    \"displayName_ja\": \"ストラクチャキネティックダメージレジスタンス\", \n    \"displayName_ko\": \"선체 키네틱 저항력\", \n    \"displayName_ru\": \"Сопротивляемость корпуса кинетическому урону\", \n    \"displayName_zh\": \"结构动能伤害抗性\", \n    \"displayNameID\": 233273, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1393, \n    \"maxAttributeID\": 2770, \n    \"name\": \"kineticDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"110\": {\n    \"attributeID\": 110, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"damage multiplier vs. thermal.\", \n    \"displayName_de\": \"Resistenz der Struktur gegen Thermalschaden\", \n    \"displayName_en-us\": \"Structure Thermal Damage Resistance\", \n    \"displayName_es\": \"Resistencia térmica estructuras\", \n    \"displayName_fr\": \"Résistance de la structure aux dégâts thermiques\", \n    \"displayName_it\": \"Structure Thermal Damage Resistance\", \n    \"displayName_ja\": \"ストラクチャサーマルダメージレジスタンス\", \n    \"displayName_ko\": \"선체 열 저항력\", \n    \"displayName_ru\": \"Сопротивляемость корпуса термическому урону\", \n    \"displayName_zh\": \"结构热能伤害抗性\", \n    \"displayNameID\": 233171, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1394, \n    \"maxAttributeID\": 2769, \n    \"name\": \"thermalDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"111\": {\n    \"attributeID\": 111, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"damage multiplier vs. explosive damagers.\", \n    \"displayName_de\": \"Resistenz der Struktur gegen Explosionsschaden\", \n    \"displayName_en-us\": \"Structure Explosive Damage Resistance\", \n    \"displayName_es\": \"Resistencia explosiva estructuras\", \n    \"displayName_fr\": \"Résistance de la structure aux dégâts explosifs\", \n    \"displayName_it\": \"Structure Explosive Damage Resistance\", \n    \"displayName_ja\": \"ストラクチャエクスプローシブダメージレジスタンス\", \n    \"displayName_ko\": \"선체 폭발 저항력\", \n    \"displayName_ru\": \"Сопротивляемость корпуса фугасному урону\", \n    \"displayName_zh\": \"结构爆炸伤害抗性\", \n    \"displayNameID\": 233176, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1395, \n    \"maxAttributeID\": 2771, \n    \"name\": \"explosiveDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"112\": {\n    \"attributeID\": 112, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Percentage of energy damage that is absorbed as available power.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"energyDamageAbsorptionFactor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"113\": {\n    \"attributeID\": 113, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Electro magnetic damage multiplier for shield and armor. Represented as \\\"% Resistance\\\" in the UI.\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Struktur gegen EM-Schaden\", \n    \"displayName_en-us\": \"Structure EM Damage Resistance\", \n    \"displayName_es\": \"Resistencia electrom. estructuras\", \n    \"displayName_fr\": \"Résistance de la structure aux dégâts électromagnétiques\", \n    \"displayName_it\": \"Structure EM Damage Resistance\", \n    \"displayName_ja\": \"ストラクチャEMダメージレジスタンス\", \n    \"displayName_ko\": \"선체 EM 저항력\", \n    \"displayName_ru\": \"Сопротивляемость корпуса ЭМ-урону\", \n    \"displayName_zh\": \"结构电磁伤害抗性\", \n    \"displayNameID\": 233151, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1396, \n    \"maxAttributeID\": 2768, \n    \"name\": \"emDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"114\": {\n    \"attributeID\": 114, \n    \"categoryID\": 29, \n    \"chargeRechargeTimeID\": 113, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"EM damage done.\", \n    \"displayName_de\": \"EM-Schaden\", \n    \"displayName_en-us\": \"EM damage\", \n    \"displayName_es\": \"Daño electromagnético\", \n    \"displayName_fr\": \"Dégâts EM\", \n    \"displayName_it\": \"EM damage\", \n    \"displayName_ja\": \"EM ダメージ\", \n    \"displayName_ko\": \"EM 피해량\", \n    \"displayName_ru\": \"ЭМ-урон\", \n    \"displayName_zh\": \"电磁伤害\", \n    \"displayNameID\": 233149, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1388, \n    \"name\": \"emDamage\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"116\": {\n    \"attributeID\": 116, \n    \"categoryID\": 29, \n    \"chargeRechargeTimeID\": 111, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Explosive damage done.\", \n    \"displayName_de\": \"Explosivschaden\", \n    \"displayName_en-us\": \"Explosive damage\", \n    \"displayName_es\": \"Daño explosivo\", \n    \"displayName_fr\": \"Dégâts explosifs\", \n    \"displayName_it\": \"Explosive damage\", \n    \"displayName_ja\": \"エクスプローシブダメージ\", \n    \"displayName_ko\": \"폭발 피해\", \n    \"displayName_ru\": \"Фугасный урон\", \n    \"displayName_zh\": \"爆炸伤害\", \n    \"displayNameID\": 233174, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1387, \n    \"name\": \"explosiveDamage\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"117\": {\n    \"attributeID\": 117, \n    \"categoryID\": 29, \n    \"chargeRechargeTimeID\": 109, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Kinetic damage done.\", \n    \"displayName_de\": \"Kinetikschaden\", \n    \"displayName_en-us\": \"Kinetic damage\", \n    \"displayName_es\": \"Daño cinético\", \n    \"displayName_fr\": \"Dégâts cinétiques\", \n    \"displayName_it\": \"Kinetic damage\", \n    \"displayName_ja\": \"キネティックダメージ\", \n    \"displayName_ko\": \"키네틱 피해량\", \n    \"displayName_ru\": \"Кинетический урон\", \n    \"displayName_zh\": \"动能伤害\", \n    \"displayNameID\": 233271, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1385, \n    \"name\": \"kineticDamage\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"118\": {\n    \"attributeID\": 118, \n    \"categoryID\": 29, \n    \"chargeRechargeTimeID\": 110, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Thermal damage done.\", \n    \"displayName_de\": \"Thermalschaden\", \n    \"displayName_en-us\": \"Thermal damage\", \n    \"displayName_es\": \"Daño térmico\", \n    \"displayName_fr\": \"Dégâts thermiques\", \n    \"displayName_it\": \"Thermal damage\", \n    \"displayName_ja\": \"サーマルダメージ\", \n    \"displayName_ko\": \"열 피해량\", \n    \"displayName_ru\": \"Термический урон\", \n    \"displayName_zh\": \"热能伤害\", \n    \"displayNameID\": 233178, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"thermalDamage\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"120\": {\n    \"attributeID\": 120, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier of range the relevant weapon.\", \n    \"displayName_de\": \"Reichweitenbonus\", \n    \"displayName_en-us\": \"Range bonus\", \n    \"displayName_es\": \"Bonificación de alcance\", \n    \"displayName_fr\": \"Bonus de portée\", \n    \"displayName_it\": \"Range bonus\", \n    \"displayName_ja\": \"範囲ボーナス\", \n    \"displayName_ko\": \"사거리 보너스\", \n    \"displayName_ru\": \"Влияние на дальность\", \n    \"displayName_zh\": \"范围加成\", \n    \"displayNameID\": 232987, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"weaponRangeMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"121\": {\n    \"attributeID\": 121, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to output of power core.\", \n    \"displayName_de\": \"Energieleistung-Bonus\", \n    \"displayName_en-us\": \"Power Output Bonus\", \n    \"displayName_es\": \"Bonificación de potencia de salida\", \n    \"displayName_fr\": \"Bonus de puissance énergétique\", \n    \"displayName_it\": \"Power Output Bonus\", \n    \"displayName_ja\": \"パワーグリッドボーナス\", \n    \"displayName_ko\": \"전력 출력 보너스\", \n    \"displayName_ru\": \"Влияние на мощность\", \n    \"displayName_zh\": \"能量输出加成\", \n    \"displayNameID\": 233409, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1384, \n    \"name\": \"powerOutputBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 107\n  }, \n  \"122\": {\n    \"attributeID\": 122, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of piercing the armor.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1383, \n    \"name\": \"armorPiercingChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"123\": {\n    \"attributeID\": 123, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of piercing the shield.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shieldPiercingChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"124\": {\n    \"attributeID\": 124, \n    \"categoryID\": 9, \n    \"dataType\": 7, \n    \"defaultValue\": 0.0, \n    \"description\": \"The main color of a ship type.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"mainColor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"125\": {\n    \"attributeID\": 125, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum range that something can be ship scanned from.\", \n    \"displayName_de\": \"Schiff-Scan-Reichweite\", \n    \"displayName_en-us\": \"Ship scanning range\", \n    \"displayName_es\": \"Alcance del escaneo de naves\", \n    \"displayName_fr\": \"Portée du balayage du vaisseau\", \n    \"displayName_it\": \"Ship scanning range\", \n    \"displayName_ja\": \"シップスキャン範囲\", \n    \"displayName_ko\": \"함선 스캔 사거리\", \n    \"displayName_ru\": \"Дальность досмотра оснастки\", \n    \"displayName_zh\": \"舰船扫描范围\", \n    \"displayNameID\": 233223, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"shipScanRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"126\": {\n    \"attributeID\": 126, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum range the cargo of a ship can be scanned from.\", \n    \"displayName_de\": \"Frachtscan-Reichweite\", \n    \"displayName_en-us\": \"Cargoscan range\", \n    \"displayName_es\": \"Alcance de escaneo de carga\", \n    \"displayName_fr\": \"Portée du scanner de marchandise\", \n    \"displayName_it\": \"Cargoscan range\", \n    \"displayName_ja\": \"カーゴスキャン範囲\", \n    \"displayName_ko\": \"화물 스캔 사거리\", \n    \"displayName_ru\": \"Дальность досмотра грузов\", \n    \"displayName_zh\": \"货柜扫描范围\", \n    \"displayNameID\": 233015, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"cargoScanRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"127\": {\n    \"attributeID\": 127, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"A temporary attribute for projectile/hybrid weapons to indicate which charges they have loaded when created in newbie ships ala ammo.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ammoLoaded\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"128\": {\n    \"attributeID\": 128, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The size of the charges that can fit in the turret/whatever.\", \n    \"displayName_de\": \"Ladungsgröße\", \n    \"displayName_en-us\": \"Charge size\", \n    \"displayName_es\": \"Tamaño de carga\", \n    \"displayName_fr\": \"Taille de la charge\", \n    \"displayName_it\": \"Charge size\", \n    \"displayName_ja\": \"チャージサイズ\", \n    \"displayName_ko\": \"탄약 크기\", \n    \"displayName_ru\": \"Размер заряда\", \n    \"displayName_zh\": \"弹药尺寸\", \n    \"displayNameID\": 233021, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1666, \n    \"name\": \"chargeSize\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 117\n  }, \n  \"129\": {\n    \"attributeID\": 129, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specifies the maximum numbers of passengers that the ship can have\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 413, \n    \"name\": \"maxPassengers\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"130\": {\n    \"attributeID\": 130, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multipler to adjust the thermal damage resonance of an object.\", \n    \"displayName_de\": \"Bonus auf Thermalschadensresistenz\", \n    \"displayName_en-us\": \"Thermal Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños térmicos\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts thermiques\", \n    \"displayName_it\": \"Thermal Damage Resistance Bonus\", \n    \"displayName_ja\": \"サーマルダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"열 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость термическому урону\", \n    \"displayName_zh\": \"热能伤害抗性加成\", \n    \"displayNameID\": 233170, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1394, \n    \"name\": \"thermalDamageResonanceMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"131\": {\n    \"attributeID\": 131, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier to the kinetic damage resonance of something.\", \n    \"displayName_de\": \"Bonus auf Kinetikschadensresistenz\", \n    \"displayName_en-us\": \"Kinetic Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños cinéticos\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts cinétiques\", \n    \"displayName_it\": \"Kinetic Damage Resistance Bonus\", \n    \"displayName_ja\": \"キネティックダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"키네틱 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость кинетическому урону\", \n    \"displayName_zh\": \"动能伤害抗性加成\", \n    \"displayNameID\": 233274, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1393, \n    \"name\": \"kineticDamageResonanceMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"132\": {\n    \"attributeID\": 132, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier to the explosive damage resistance of something.\", \n    \"displayName_de\": \"Bonus auf Explosionsschadensresistenz\", \n    \"displayName_en-us\": \"Explosive Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños explosivos\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts explosifs\", \n    \"displayName_it\": \"Explosive Damage Resistance Bonus\", \n    \"displayName_ja\": \"エクスプローシブダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"폭발 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость фугасному урону\", \n    \"displayName_zh\": \"爆炸伤害抗性加成\", \n    \"displayNameID\": 233177, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1395, \n    \"name\": \"explosiveDamageResonanceMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"133\": {\n    \"attributeID\": 133, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier to the EM damage resonance of something.\", \n    \"displayName_de\": \"Bonus auf EM-Schadensresistenz\", \n    \"displayName_en-us\": \"EM Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños electromagnéticos\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts électromagnétiques\", \n    \"displayName_it\": \"EM Damage Resistance Bonus\", \n    \"displayName_ja\": \"EMダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"EM 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость ЭМ-урону\", \n    \"displayName_zh\": \"电磁伤害抗性加成\", \n    \"displayNameID\": 233152, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1396, \n    \"name\": \"emDamageResonanceMultiplier\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 111\n  }, \n  \"134\": {\n    \"attributeID\": 134, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier to a recharge rate time.\", \n    \"displayName_de\": \"Schild-Laderatenbonus\", \n    \"displayName_en-us\": \"Shield recharge rate bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de carga del escudo\", \n    \"displayName_fr\": \"Bonus de vitesse de recharge du bouclier\", \n    \"displayName_it\": \"Shield recharge rate bonus\", \n    \"displayName_ja\": \"シールド自動回復効率ボーナス\", \n    \"displayName_ko\": \"실드 충전률 보너스\", \n    \"displayName_ru\": \"Влияние на скорость регенерации щитов\", \n    \"displayName_zh\": \"护盾回充速率加成\", \n    \"displayNameID\": 232972, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"shieldRechargeRateMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"135\": {\n    \"attributeID\": 135, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The size of the module, 1 = small, 2 = medium, 3 = large.  Used for turrets and projectile weapons but will work for any module that defines it.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"moduleSize\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"136\": {\n    \"attributeID\": 136, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This number is deducted from the %chance of the seeping to armor, to slow seep of damage through shield.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"uniformity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"137\": {\n    \"attributeID\": 137, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"One of the groups of launcher this charge can be loaded into.\", \n    \"displayName_de\": \"Benutzt mit (Werfergruppe)\", \n    \"displayName_en-us\": \"Used with (Launcher Group)\", \n    \"displayName_es\": \"Se usa con (grupo de lanzador)\", \n    \"displayName_fr\": \"Utilisé avec (groupe de lanceur)\", \n    \"displayName_it\": \"Used with (Launcher Group)\", \n    \"displayName_ja\": \"(ランチャーグループ)使用タイプ\", \n    \"displayName_ko\": \"(런처) 탄약\", \n    \"displayName_ru\": \"Используется с (группой модулей)\", \n    \"displayName_zh\": \"配套使用（发射器类别）\", \n    \"displayNameID\": 233275, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"launcherGroup\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"138\": {\n    \"attributeID\": 138, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- amount to the EM damage done.\", \n    \"displayName_de\": \"Bonus auf EM-Schaden\", \n    \"displayName_en-us\": \"EM Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño electromagnético\", \n    \"displayName_fr\": \"Bonus de dégâts électromagnétiques\", \n    \"displayName_it\": \"EM Damage Bonus\", \n    \"displayName_ja\": \"EMダメージボーナス\", \n    \"displayName_ko\": \"EM 피해량 보너스\", \n    \"displayName_ru\": \"Влияние на урон (за счёт ЭМ-составляющей)\", \n    \"displayName_zh\": \"电磁伤害加成\", \n    \"displayNameID\": 233150, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1388, \n    \"name\": \"emDamageBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"139\": {\n    \"attributeID\": 139, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- amount to the explosive damage done.\", \n    \"displayName_de\": \"Bonus auf Explosionsschaden\", \n    \"displayName_en-us\": \"Explosive Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño explosivo\", \n    \"displayName_fr\": \"Bonus de dégâts explosifs\", \n    \"displayName_it\": \"Explosive Damage Bonus\", \n    \"displayName_ja\": \"エクスプローシブダメージボーナス\", \n    \"displayName_ko\": \"폭발 피해 보너스\", \n    \"displayName_ru\": \"Влияние на фугасный урон\", \n    \"displayName_zh\": \"爆炸伤害加成\", \n    \"displayNameID\": 233175, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1387, \n    \"name\": \"explosiveDamageBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"140\": {\n    \"attributeID\": 140, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- amount to the kinetic damage done.\", \n    \"displayName_de\": \"Bonus auf Kinetikschaden\", \n    \"displayName_en-us\": \"Kinetic Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño cinético\", \n    \"displayName_fr\": \"Bonus de dégâts cinétiques\", \n    \"displayName_it\": \"Kinetic Damage Bonus\", \n    \"displayName_ja\": \"キネティックダメージボーナス\", \n    \"displayName_ko\": \"키네틱 피해량 보너스\", \n    \"displayName_ru\": \"Влияние на урон (за счёт кинетической составляющей)\", \n    \"displayName_zh\": \"动能伤害加成\", \n    \"displayNameID\": 233272, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1385, \n    \"name\": \"kineticDamageBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"141\": {\n    \"attributeID\": 141, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- bonus to the thermal damage done.\", \n    \"displayName_de\": \"Bonus auf Thermalschaden\", \n    \"displayName_en-us\": \"Thermal Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño térmico\", \n    \"displayName_fr\": \"Bonus de dégâts thermiques\", \n    \"displayName_it\": \"Thermal Damage Bonus\", \n    \"displayName_ja\": \"サーマルダメージボーナス\", \n    \"displayName_ko\": \"열 피해량 보너스\", \n    \"displayName_ru\": \"Повышение термического урона\", \n    \"displayName_zh\": \"热能伤害加成\", \n    \"displayNameID\": 233181, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"thermalDamageBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"142\": {\n    \"attributeID\": 142, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Range that an ECM burst has an effect within.\", \n    \"displayName_de\": \"ECM-Impulsradius\", \n    \"displayName_en-us\": \"ECM Burst Radius\", \n    \"displayName_es\": \"Radio de ráfaga ECM\", \n    \"displayName_fr\": \"Rayon salve CME\", \n    \"displayName_it\": \"ECM Burst Radius\", \n    \"displayName_ja\": \"ECM バースト半径\", \n    \"displayName_ko\": \"ECM 버스트 반경\", \n    \"displayName_ru\": \"Радиус импульса глушения захвата целей\", \n    \"displayName_zh\": \"ECM脉冲半径\", \n    \"displayNameID\": 233143, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"ecmBurstRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"143\": {\n    \"attributeID\": 143, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Range of the automated targeting systems hostile targeting area.\", \n    \"displayName_de\": \"Aufschaltungsreichweite\", \n    \"displayName_en-us\": \"Targeting range\", \n    \"displayName_es\": \"Distancia-objetivo\", \n    \"displayName_fr\": \"Portée du système de ciblage\", \n    \"displayName_it\": \"Targeting range\", \n    \"displayName_ja\": \"ターゲット範囲\", \n    \"displayName_ko\": \"타겟팅 사거리\", \n    \"displayName_ru\": \"Дальность захвата целей\", \n    \"displayName_zh\": \"锁定范围\", \n    \"displayNameID\": 233185, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"targetHostileRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"144\": {\n    \"attributeID\": 144, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier to the capacitors recharge rate.\", \n    \"displayName_de\": \"Bonus auf Aufladerate des Energiespeichers\", \n    \"displayName_en-us\": \"Capacitor recharge rate bonus\", \n    \"displayName_es\": \"Bonif. de ritmo de carga del condensador\", \n    \"displayName_fr\": \"Bonus de vitesse de recharge du capaciteur\", \n    \"displayName_it\": \"Capacitor recharge rate bonus\", \n    \"displayName_ja\": \"キャパシタ充電速度ボーナス\", \n    \"displayName_ko\": \"캐패시터 충전율 보너스\", \n    \"displayName_ru\": \"Влияние на скорость регенерации накопителя\", \n    \"displayName_zh\": \"电容回充速度加成\", \n    \"displayNameID\": 233009, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1400, \n    \"name\": \"capacitorRechargeRateMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"145\": {\n    \"attributeID\": 145, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multipier to power core output.\", \n    \"displayName_de\": \"Stromnetzbonus\", \n    \"displayName_en-us\": \"Powergrid bonus\", \n    \"displayName_es\": \"Bonificación de sistema de potencia\", \n    \"displayName_fr\": \"Bonus de réseau d'alimentation\", \n    \"displayName_it\": \"Powergrid bonus\", \n    \"displayName_ja\": \"パワーグリッドボーナス\", \n    \"displayName_ko\": \"파워그리드 보너스\", \n    \"displayName_ru\": \"Влияние на мощность реактора\", \n    \"displayName_zh\": \"能量输出加成\", \n    \"displayNameID\": 233408, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 70, \n    \"name\": \"powerOutputMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"146\": {\n    \"attributeID\": 146, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier to the capacity of a shield.\", \n    \"displayName_de\": \"HP-Bonus für Schilde\", \n    \"displayName_en-us\": \"Shield Hitpoint Bonus\", \n    \"displayName_es\": \"Bonificación de PV del escudo\", \n    \"displayName_fr\": \"Bonus de PV du bouclier\", \n    \"displayName_it\": \"Shield Hitpoint Bonus\", \n    \"displayName_ja\": \"シールドHPボーナス\", \n    \"displayName_ko\": \"실드 내구도 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности щитов\", \n    \"displayName_zh\": \"护盾值加成\", \n    \"displayNameID\": 232945, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1384, \n    \"name\": \"shieldCapacityMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"147\": {\n    \"attributeID\": 147, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Energiespeicherkapazität\", \n    \"displayName_en-us\": \"Capacitor Capacity Bonus\", \n    \"displayName_es\": \"Bonif. de capacidad del condensador\", \n    \"displayName_fr\": \"Bonus de charge de capaciteur\", \n    \"displayName_it\": \"Capacitor Capacity Bonus\", \n    \"displayName_ja\": \"キャパシタ容量ボーナス\", \n    \"displayName_ko\": \"캐패시터 용량 보너스\", \n    \"displayName_ru\": \"Влияние на запас энергии\", \n    \"displayName_zh\": \"电容容量加成\", \n    \"displayNameID\": 233006, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"capacitorCapacityMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"148\": {\n    \"attributeID\": 148, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier to the HP of a ships armor module.\", \n    \"displayName_de\": \"HP-Bonus für Panzerung\", \n    \"displayName_en-us\": \"Armor Hitpoint Bonus\", \n    \"displayName_es\": \"Bonif. de puntos de vida del blindaje\", \n    \"displayName_fr\": \"Bonus de PV du blindage\", \n    \"displayName_it\": \"Armor Hitpoint Bonus\", \n    \"displayName_ja\": \"アーマーHPボーナス\", \n    \"displayName_ko\": \"장갑 내구도 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности брони\", \n    \"displayName_zh\": \"装甲值加成\", \n    \"displayNameID\": 232967, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1383, \n    \"name\": \"armorHPMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"149\": {\n    \"attributeID\": 149, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier to the amount of cargo capacity for a ship.\", \n    \"displayName_de\": \"Frachtraumbonus\", \n    \"displayName_en-us\": \"Cargo capacity bonus\", \n    \"displayName_es\": \"Bonificación de capacidad de carga\", \n    \"displayName_fr\": \"Bonus de capacité de la soute\", \n    \"displayName_it\": \"Cargo capacity bonus\", \n    \"displayName_ja\": \"カーゴ容量ボーナス\", \n    \"displayName_ko\": \"화물 적재량 보너스\", \n    \"displayName_ru\": \"Повышение объёма грузового отсека\", \n    \"displayName_zh\": \"货柜容量加成\", \n    \"displayNameID\": 233014, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"cargoCapacityMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"150\": {\n    \"attributeID\": 150, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier to the ships structural HP.\", \n    \"displayName_de\": \"HP-Bonus für Struktur\", \n    \"displayName_en-us\": \"Structure Hitpoint Bonus\", \n    \"displayName_es\": \"Bonificación de puntos de vida de estructura\", \n    \"displayName_fr\": \"Bonus de PV de la structure\", \n    \"displayName_it\": \"Structure Hitpoint Bonus\", \n    \"displayName_ja\": \"ストラクチャHPボーナス\", \n    \"displayName_ko\": \"구조물 내구도 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности корпуса\", \n    \"displayName_zh\": \"结构值加成\", \n    \"displayNameID\": 233189, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 67, \n    \"name\": \"structureHPMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"151\": {\n    \"attributeID\": 151, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to the agility for a ship.\", \n    \"displayName_de\": \"Trägheitsmodifikator\", \n    \"displayName_en-us\": \"Inertia Modifier\", \n    \"displayName_es\": \"Modificador de inercia\", \n    \"displayName_fr\": \"Modificateur d'inertie\", \n    \"displayName_it\": \"Inertia Modifier\", \n    \"displayName_ja\": \"慣性乗数\", \n    \"displayName_ko\": \"관성 계수\", \n    \"displayName_ru\": \"Влияние инертности конструкции\", \n    \"displayName_zh\": \"惯性调整系数\", \n    \"displayNameID\": 232949, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1401, \n    \"name\": \"agilityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"152\": {\n    \"attributeID\": 152, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- a number to the max passengers.\", \n    \"displayName_de\": \"Maximaler Passagierbonus\", \n    \"displayName_en-us\": \"Maximum Passengers Bonus\", \n    \"displayName_es\": \"Bonificación máxima de pasajeros\", \n    \"displayName_fr\": \"Bonus de passagers maximum\", \n    \"displayName_it\": \"Maximum Passengers Bonus\", \n    \"displayName_ja\": \"最大乗客数ボーナス\", \n    \"displayName_ko\": \"최대 승객 보너스\", \n    \"displayName_ru\": \"Максимальное количество пассажиров\", \n    \"displayName_zh\": \"乘客数上限加成\", \n    \"displayNameID\": 233314, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxPassengersBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"153\": {\n    \"attributeID\": 153, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The power cost to warp per one kg per AU (floats do not have the resolution for meters).\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warpCapacitorNeed\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"154\": {\n    \"attributeID\": 154, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The distance at which to react when relevant objects come within range.\", \n    \"displayName_de\": \"Aktivierungsentfernung\", \n    \"displayName_en-us\": \"Activation proximity\", \n    \"displayName_es\": \"Proximidad de activación\", \n    \"displayName_fr\": \"Proximité d'activation\", \n    \"displayName_it\": \"Activation proximity\", \n    \"displayName_ja\": \"動作可能距離範囲\", \n    \"displayName_ko\": \"활성화 근접도\", \n    \"displayName_ru\": \"Дистанция включения\", \n    \"displayName_zh\": \"作用范围\", \n    \"displayNameID\": 233369, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"proximityRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"156\": {\n    \"attributeID\": 156, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The hull damage proportion at which an entity becomes incapacitated.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"incapacitationRatio\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"157\": {\n    \"attributeID\": 157, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The range at which this thing does it thing.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"orbitRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"158\": {\n    \"attributeID\": 158, \n    \"categoryID\": 29, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"distance from maximum range at which accuracy has fallen by half\", \n    \"displayName_de\": \"Präzisionsabfall\", \n    \"displayName_en-us\": \"Accuracy falloff\", \n    \"displayName_es\": \"Alcance efectivo de precisión\", \n    \"displayName_fr\": \"Distance de perte de précision\", \n    \"displayName_it\": \"Accuracy falloff\", \n    \"displayName_ja\": \"精度低下\", \n    \"displayName_ko\": \"명중률 유효사거리\", \n    \"displayName_ru\": \"Добавочная дальность\", \n    \"displayName_zh\": \"失准范围\", \n    \"displayNameID\": 233554, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"falloff\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"160\": {\n    \"attributeID\": 160, \n    \"categoryID\": 29, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Weapon accuracy\", \n    \"displayName_de\": \"Geschützturmnachführung\", \n    \"displayName_en-us\": \"Turret Tracking\", \n    \"displayName_es\": \"Rastreo de torreta\", \n    \"displayName_fr\": \"Suivi des tourelles\", \n    \"displayName_it\": \"Turret Tracking\", \n    \"displayName_ja\": \"タレット追跡\", \n    \"displayName_ko\": \"터렛 트래킹\", \n    \"displayName_ru\": \"Скорость наводки орудий\", \n    \"displayName_zh\": \"炮台跟踪速度\", \n    \"displayNameID\": 232935, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1398, \n    \"name\": \"trackingSpeed\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Höhere Werte verbessern die Genauigkeiten gegenüber kleinen und schnellen Zielen\", \n    \"tooltipDescription_en-us\": \"Higher values improve accuracy against small and fast targets\", \n    \"tooltipDescription_es\": \"Cuanto más alto sea el valor, mayor será la precisión contra objetivos pequeños y rápidos.\", \n    \"tooltipDescription_fr\": \"Des valeurs plus élevées améliorent la précision contre les petites cibles plus rapides.\", \n    \"tooltipDescription_it\": \"Higher values improve accuracy against small and fast targets\", \n    \"tooltipDescription_ja\": \"この値が高いと小型で機動力の高いターゲットに対する精度が向上する\", \n    \"tooltipDescription_ko\": \"값이 높을수록 작고 빠른 목표물을 더 잘 맞힙니다.\", \n    \"tooltipDescription_ru\": \"Увеличение этой характеристики приводит к повышению точности стрельбы по малым и быстрым целям\", \n    \"tooltipDescription_zh\": \"值越高，对小型和快速目标的命中率越高\", \n    \"tooltipDescriptionID\": 315539, \n    \"tooltipTitleID\": 315538\n  }, \n  \"161\": {\n    \"attributeID\": 161, \n    \"categoryID\": 4, \n    \"dataType\": 9, \n    \"defaultValue\": 0.0, \n    \"description\": \"Volume of things in cubic meters\", \n    \"displayName_de\": \"Volumen\", \n    \"displayName_en-us\": \"Volume\", \n    \"displayName_es\": \"Volumen\", \n    \"displayName_fr\": \"Volume\", \n    \"displayName_it\": \"Volume\", \n    \"displayName_ja\": \"体積\", \n    \"displayName_ko\": \"부피\", \n    \"displayName_ru\": \"Занимаемый объём\", \n    \"displayName_zh\": \"体积\", \n    \"displayNameID\": 233026, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 67, \n    \"name\": \"volume\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Den Platz, den dieses Objekt einnimmt, wenn es in einem Frachtraum oder Container platziert wird\", \n    \"tooltipDescription_en-us\": \"The space this object takes up when placed in a bay or container\", \n    \"tooltipDescription_es\": \"Espacio que ocupa este objeto cuando se coloca en una bodega o un contenedor.\", \n    \"tooltipDescription_fr\": \"L'espace occupé par cet objet dans une baie ou un conteneur.\", \n    \"tooltipDescription_it\": \"The space this object takes up when placed in a bay or container\", \n    \"tooltipDescription_ja\": \"ベイやコンテナに積んだとき空間に占める量です\", \n    \"tooltipDescription_ko\": \"격납고 또는 컨테이너에 넣었을 때 차지하는 부피입니다.\", \n    \"tooltipDescription_ru\": \"Объём, занимаемый этим объектом в отсеке или контейнере\", \n    \"tooltipDescription_zh\": \"该物体被放置在船舱或货柜中时占用的空间\", \n    \"tooltipDescriptionID\": 295379, \n    \"tooltipTitleID\": 295378, \n    \"unitID\": 9\n  }, \n  \"162\": {\n    \"attributeID\": 162, \n    \"categoryID\": 9, \n    \"dataType\": 9, \n    \"defaultValue\": 0.0, \n    \"description\": \"Radius of an object in meters\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"radius\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"163\": {\n    \"attributeID\": 163, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Where you want an effect to finish instantly.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"dummyDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"164\": {\n    \"attributeID\": 164, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The charisma of a character.\", \n    \"displayName_de\": \"Ausstrahlung\", \n    \"displayName_en-us\": \"Charisma\", \n    \"displayName_es\": \"Carisma\", \n    \"displayName_fr\": \"Charisme\", \n    \"displayName_it\": \"Charisma\", \n    \"displayName_ja\": \"カリスマ\", \n    \"displayName_ko\": \"카리스마\", \n    \"displayName_ru\": \"«Харизма»\", \n    \"displayName_zh\": \"魅力\", \n    \"displayNameID\": 233022, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1378, \n    \"name\": \"charisma\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"165\": {\n    \"attributeID\": 165, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The intelligence of a character.\", \n    \"displayName_de\": \"Intelligenz\", \n    \"displayName_en-us\": \"Intelligence\", \n    \"displayName_es\": \"Inteligencia\", \n    \"displayName_fr\": \"Intelligence\", \n    \"displayName_it\": \"Intelligence\", \n    \"displayName_ja\": \"知性\", \n    \"displayName_ko\": \"지능\", \n    \"displayName_ru\": \"«Интеллект»\", \n    \"displayName_zh\": \"智力\", \n    \"displayNameID\": 233262, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1380, \n    \"name\": \"intelligence\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"166\": {\n    \"attributeID\": 166, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The memory of a character.\", \n    \"displayName_de\": \"Gedächtnis\", \n    \"displayName_en-us\": \"Memory\", \n    \"displayName_es\": \"Memoria\", \n    \"displayName_fr\": \"Mémoire\", \n    \"displayName_it\": \"Memory\", \n    \"displayName_ja\": \"記憶力\", \n    \"displayName_ko\": \"기억력\", \n    \"displayName_ru\": \"«Память»\", \n    \"displayName_zh\": \"记忆\", \n    \"displayNameID\": 233342, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1381, \n    \"name\": \"memory\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"167\": {\n    \"attributeID\": 167, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The perception of a character.\", \n    \"displayName_de\": \"Auffassungsgabe\", \n    \"displayName_en-us\": \"Perception\", \n    \"displayName_es\": \"Percepción\", \n    \"displayName_fr\": \"Perception\", \n    \"displayName_it\": \"Perception\", \n    \"displayName_ja\": \"知覚\", \n    \"displayName_ko\": \"지각력\", \n    \"displayName_ru\": \"«Восприятие»\", \n    \"displayName_zh\": \"感知\", \n    \"displayNameID\": 233402, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1382, \n    \"name\": \"perception\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"168\": {\n    \"attributeID\": 168, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The willpower of a character.\", \n    \"displayName_de\": \"Willenskraft\", \n    \"displayName_en-us\": \"Willpower\", \n    \"displayName_es\": \"Voluntad\", \n    \"displayName_fr\": \"Volonté\", \n    \"displayName_it\": \"Willpower\", \n    \"displayName_ja\": \"精神力\", \n    \"displayName_ko\": \"정신력\", \n    \"displayName_ru\": \"«Сила воли»\", \n    \"displayName_zh\": \"毅力\", \n    \"displayNameID\": 232983, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1379, \n    \"name\": \"willpower\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"169\": {\n    \"attributeID\": 169, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplier to the agility of an object.\", \n    \"displayName_de\": \"Trägheitsmodifikator\", \n    \"displayName_en-us\": \"Inertia Modifier\", \n    \"displayName_es\": \"Modificador de inercia\", \n    \"displayName_fr\": \"Modificateur d'inertie\", \n    \"displayName_it\": \"Inertia Modifier\", \n    \"displayName_ja\": \"慣性修正乗数\", \n    \"displayName_ko\": \"관성 계수\", \n    \"displayName_ru\": \"Влияние инертности конструкции\", \n    \"displayName_zh\": \"惯性调整\", \n    \"displayNameID\": 233510, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1401, \n    \"name\": \"agilityMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"170\": {\n    \"attributeID\": 170, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to the charisma of a character specified by the player in character creation.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1378, \n    \"name\": \"customCharismaBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"171\": {\n    \"attributeID\": 171, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to the willpower of a character specified by the player in character creation.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1379, \n    \"name\": \"customWillpowerBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"172\": {\n    \"attributeID\": 172, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to the perception of a character specified by the player in character creation.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1382, \n    \"name\": \"customPerceptionBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"173\": {\n    \"attributeID\": 173, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to the memory of a character specified by the player in character creation.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1381, \n    \"name\": \"customMemoryBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"174\": {\n    \"attributeID\": 174, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to the intelligence of a character specified by the player in character creation.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1380, \n    \"name\": \"customIntelligenceBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"175\": {\n    \"attributeID\": 175, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- bonus to the charisma of a character.\", \n    \"displayName_de\": \"Ausstrahlung-Modifikator\", \n    \"displayName_en-us\": \"Charisma Modifier\", \n    \"displayName_es\": \"Modificador de carisma\", \n    \"displayName_fr\": \"Modificateur de charisme\", \n    \"displayName_it\": \"Charisma Modifier\", \n    \"displayName_ja\": \"カリスマ修正乗数\", \n    \"displayName_ko\": \"카리스마 보정치\", \n    \"displayName_ru\": \"Модификатор характеристики «Харизма»\", \n    \"displayName_zh\": \"魅力调整\", \n    \"displayNameID\": 233023, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1378, \n    \"name\": \"charismaBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"176\": {\n    \"attributeID\": 176, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- bonus to the intelligence of a character.\", \n    \"displayName_de\": \"Intelligenz-Modifikator\", \n    \"displayName_en-us\": \"Intelligence Modifier\", \n    \"displayName_es\": \"Modificador de inteligencia\", \n    \"displayName_fr\": \"Modificateur d'intelligence\", \n    \"displayName_it\": \"Intelligence Modifier\", \n    \"displayName_ja\": \"知性修正乗数\", \n    \"displayName_ko\": \"지능 보정치\", \n    \"displayName_ru\": \"Модификатор характеристики «Интеллект»\", \n    \"displayName_zh\": \"智力调整\", \n    \"displayNameID\": 233263, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1380, \n    \"name\": \"intelligenceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"177\": {\n    \"attributeID\": 177, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- bonus to the memory of a character.\", \n    \"displayName_de\": \"Gedächtnismodifikator\", \n    \"displayName_en-us\": \"Memory Modifier\", \n    \"displayName_es\": \"Modificador de memoria\", \n    \"displayName_fr\": \"Modificateur de mémoire\", \n    \"displayName_it\": \"Memory Modifier\", \n    \"displayName_ja\": \"メモリー修正乗数\", \n    \"displayName_ko\": \"기억력 보정치\", \n    \"displayName_ru\": \"Модификатор характеристики «Память»\", \n    \"displayName_zh\": \"记忆调整\", \n    \"displayNameID\": 233343, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1381, \n    \"name\": \"memoryBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"178\": {\n    \"attributeID\": 178, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- bonus to the perception of a character.\", \n    \"displayName_de\": \"Auffassungsgabe-Modifikator\", \n    \"displayName_en-us\": \"Perception Modifier\", \n    \"displayName_es\": \"Modificador de percepción\", \n    \"displayName_fr\": \"Modificateur de perception\", \n    \"displayName_it\": \"Perception Modifier\", \n    \"displayName_ja\": \"知覚修正乗数\", \n    \"displayName_ko\": \"지각력 보정치\", \n    \"displayName_ru\": \"Модификатор характеристики «Восприятие»\", \n    \"displayName_zh\": \"感知调整\", \n    \"displayNameID\": 233403, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1382, \n    \"name\": \"perceptionBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"179\": {\n    \"attributeID\": 179, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- bonus to the willpower of a character.\", \n    \"displayName_de\": \"Willenskraft-Modifikator\", \n    \"displayName_en-us\": \"Willpower Modifier\", \n    \"displayName_es\": \"Modificador de voluntad\", \n    \"displayName_fr\": \"Modificateur de volonté\", \n    \"displayName_it\": \"Willpower Modifier\", \n    \"displayName_ja\": \"精神力修正乗数\", \n    \"displayName_ko\": \"정신력 보정치\", \n    \"displayName_ru\": \"Модификатор характеристики «Сила воли»\", \n    \"displayName_zh\": \"毅力调整\", \n    \"displayNameID\": 232981, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1379, \n    \"name\": \"willpowerBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"180\": {\n    \"attributeID\": 180, \n    \"categoryID\": 7, \n    \"dataType\": 10, \n    \"defaultValue\": 0.0, \n    \"description\": \"Only refers to another dogma attribute.\", \n    \"displayName_de\": \"Primäres Attribut\", \n    \"displayName_en-us\": \"Primary attribute\", \n    \"displayName_es\": \"Atributo principal\", \n    \"displayName_fr\": \"Attribut principal\", \n    \"displayName_it\": \"Primary attribute\", \n    \"displayName_ja\": \"第1次属性\", \n    \"displayName_ko\": \"1차 특성\", \n    \"displayName_ru\": \"Первичная характеристика\", \n    \"displayName_zh\": \"主属性\", \n    \"displayNameID\": 233396, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"primaryAttribute\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 119\n  }, \n  \"181\": {\n    \"attributeID\": 181, \n    \"categoryID\": 7, \n    \"dataType\": 10, \n    \"defaultValue\": 0.0, \n    \"description\": \"Only refers to another dogma attribute.\", \n    \"displayName_de\": \"Sekundäres Attribut\", \n    \"displayName_en-us\": \"Secondary attribute\", \n    \"displayName_es\": \"Atributo secundario\", \n    \"displayName_fr\": \"Attribut secondaire\", \n    \"displayName_it\": \"Secondary attribute\", \n    \"displayName_ja\": \"第2次属性\", \n    \"displayName_ko\": \"2차 특성\", \n    \"displayName_ru\": \"Вторичная характеристика\", \n    \"displayName_zh\": \"副属性\", \n    \"displayNameID\": 233240, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"secondaryAttribute\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 119\n  }, \n  \"182\": {\n    \"attributeID\": 182, \n    \"categoryID\": 8, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The type ID of the skill that is required.\", \n    \"displayName_de\": \"Primärer Skill benötigt\", \n    \"displayName_en-us\": \"Primary Skill required\", \n    \"displayName_es\": \"Habilidad principal necesaria\", \n    \"displayName_fr\": \"Compétence principale requise\", \n    \"displayName_it\": \"Primary Skill required\", \n    \"displayName_ja\": \"第一必須スキル\", \n    \"displayName_ko\": \"1차 스킬 필요\", \n    \"displayName_ru\": \"Требуемый первичный навык\", \n    \"displayName_zh\": \"主技能需求\", \n    \"displayNameID\": 232927, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 33, \n    \"name\": \"requiredSkill1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"183\": {\n    \"attributeID\": 183, \n    \"categoryID\": 8, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The type ID of the skill that is required.\", \n    \"displayName_de\": \"Sekundärer Skill benötigt\", \n    \"displayName_en-us\": \"Secondary Skill required\", \n    \"displayName_es\": \"Habilidad secundaria necesaria\", \n    \"displayName_fr\": \"Compétence secondaire requise\", \n    \"displayName_it\": \"Secondary Skill required\", \n    \"displayName_ja\": \"第二必須スキル\", \n    \"displayName_ko\": \"2차 스킬 필요\", \n    \"displayName_ru\": \"Требуемый вторичный навык\", \n    \"displayName_zh\": \"副技能需求\", \n    \"displayNameID\": 232928, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 33, \n    \"name\": \"requiredSkill2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"184\": {\n    \"attributeID\": 184, \n    \"categoryID\": 8, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The type ID of the skill that is required.\", \n    \"displayName_de\": \"Tertiärer Skill benötigt\", \n    \"displayName_en-us\": \"Tertiary Skill required\", \n    \"displayName_es\": \"Habilidad terciaria necesaria\", \n    \"displayName_fr\": \"Compétence tertiaire requise\", \n    \"displayName_it\": \"Tertiary Skill required\", \n    \"displayName_ja\": \"第三必須スキル\", \n    \"displayName_ko\": \"3차 스킬 필요\", \n    \"displayName_ru\": \"Требуемый третичный навык\", \n    \"displayName_zh\": \"三级技能需求\", \n    \"displayNameID\": 232929, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 33, \n    \"name\": \"requiredSkill3\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"185\": {\n    \"attributeID\": 185, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The number of attribute points needed to be accrued to learn this skill.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributePoints\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"186\": {\n    \"attributeID\": 186, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplier to the warping power cost.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warpCapacitorNeedMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"187\": {\n    \"attributeID\": 187, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier to adjust the cost of repairs.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"repairCostMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"188\": {\n    \"attributeID\": 188, \n    \"categoryID\": 36, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of being able to resist a cargo scan.\", \n    \"displayName_de\": \"Widerstand gegen Fracht-Scans\", \n    \"displayName_en-us\": \"Cargo Scan Resistance\", \n    \"displayName_es\": \"Resistencia al escaneo de carga\", \n    \"displayName_fr\": \"Résistance au scan de la cargaison\", \n    \"displayName_it\": \"Cargo Scan Resistance\", \n    \"displayName_ja\": \"カーゴスキャンレジスタンス\", \n    \"displayName_ko\": \"화물 스캔 저항\", \n    \"displayName_ru\": \"Экранирование грузового отсека\", \n    \"displayName_zh\": \"货柜扫描抗性\", \n    \"displayNameID\": 600128, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 106, \n    \"name\": \"cargoScanResistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"189\": {\n    \"attributeID\": 189, \n    \"dataType\": 1, \n    \"defaultValue\": 0.0, \n    \"description\": \"On a targeted module, module can only be activated against a target from this type list.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"targetFilterTypelistID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"190\": {\n    \"attributeID\": 190, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum number of members that a CEO can manage within their corporation.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"corporationMemberLimit\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"191\": {\n    \"attributeID\": 191, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- modifier to the number of members that a CEO can manage within their corporation.\", \n    \"displayName_de\": \"Corporation-Mitgliedsbonus\", \n    \"displayName_en-us\": \"corporation Member Bonus\", \n    \"displayName_es\": \"Bonificación de miembro de la corporación\", \n    \"displayName_fr\": \"Bonus de membre de corporation\", \n    \"displayName_it\": \"corporation Member Bonus\", \n    \"displayName_ja\": \"コーポレーションメンバーボーナス\", \n    \"displayName_ko\": \"코퍼레이션 회원 보너스\", \n    \"displayName_ru\": \"Влияние на количество представителей корпорации\", \n    \"displayName_zh\": \"军团成员加成\", \n    \"displayNameID\": 233612, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"corporationMemberBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"192\": {\n    \"attributeID\": 192, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum number of locked targets that the character or their ships electronics can handle at any given time.  Both have individual limits which apply separately.\", \n    \"displayName_de\": \"Maximal erfassbare Ziele\", \n    \"displayName_en-us\": \"Maximum Locked Targets\", \n    \"displayName_es\": \"Objetivos fijados máximos\", \n    \"displayName_fr\": \"Cibles verrouillées maximum\", \n    \"displayName_it\": \"Maximum Locked Targets\", \n    \"displayName_ja\": \"最大ターゲットロック数\", \n    \"displayName_ko\": \"최대 타겟 수\", \n    \"displayName_ru\": \"Максимальное количество захваченных целей\", \n    \"displayName_zh\": \"目标锁定数上限加成\", \n    \"displayNameID\": 233309, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 109, \n    \"name\": \"maxLockedTargets\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die maximale Anzahl an Zielen, die gleichzeitig aufgeschaltet werden können\", \n    \"tooltipDescription_en-us\": \"The maximum number of targets that can be locked simultaneously\", \n    \"tooltipDescription_es\": \"N.º máx. de objetivos que se pueden fijar a la vez\", \n    \"tooltipDescription_fr\": \"Le nombre maximum de cibles pouvant être verrouillées simultanément.\", \n    \"tooltipDescription_it\": \"The maximum number of targets that can be locked simultaneously\", \n    \"tooltipDescription_ja\": \"同時にロックできるターゲットの最大数です\", \n    \"tooltipDescription_ko\": \"동시에 고정할 수 있는 최대 타겟 수입니다.\", \n    \"tooltipDescription_ru\": \"Максимальное число целей, одновременно сопровождаемых кораблём\", \n    \"tooltipDescription_zh\": \"可以同时锁定的目标数量上限\", \n    \"tooltipDescriptionID\": 295324, \n    \"tooltipTitleID\": 295323\n  }, \n  \"193\": {\n    \"attributeID\": 193, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum number of their targets that the character can attack at a given time.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxAttackTargets\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"194\": {\n    \"attributeID\": 194, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The resistance to target jamming.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"jammingResistance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"195\": {\n    \"attributeID\": 195, \n    \"categoryID\": 31, \n    \"dataType\": 9, \n    \"defaultValue\": 0.0, \n    \"description\": \"The race ID of the type.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"raceID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"196\": {\n    \"attributeID\": 196, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum amount of manufacture slots that can be used at a time.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"manufactureSlotLimit\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"197\": {\n    \"attributeID\": 197, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distance from thing to survey.\", \n    \"displayName_de\": \"Vermessungsscanreichweite\", \n    \"displayName_en-us\": \"Survey Scan Range\", \n    \"displayName_es\": \"Alcance del escaneo de prospección\", \n    \"displayName_fr\": \"Portée du balayage d'inspection\", \n    \"displayName_it\": \"Survey Scan Range\", \n    \"displayName_ja\": \"サーベイスキャン範囲\", \n    \"displayName_ko\": \"조사 스캔 거리\", \n    \"displayName_ru\": \"Дистанция сбора данных\", \n    \"displayName_zh\": \"测量扫描范围\", \n    \"displayNameID\": 233066, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"surveyScanRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"202\": {\n    \"attributeID\": 202, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Factor to adjust module cpu need by.\", \n    \"displayName_de\": \"CPU-Leistungsbonus\", \n    \"displayName_en-us\": \"CPU Output bonus\", \n    \"displayName_es\": \"Bonificación de rendimiento de la CPU\", \n    \"displayName_fr\": \"Bonus de puissance CPU\", \n    \"displayName_it\": \"CPU Output bonus\", \n    \"displayName_ja\": \"CPU 出力ボーナス\", \n    \"displayName_ko\": \"CPU 출력 보너스\", \n    \"displayName_ru\": \"Повышение мощности ЦПУ\", \n    \"displayName_zh\": \"CPU输出加成\", \n    \"displayNameID\": 233051, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1405, \n    \"name\": \"cpuMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"203\": {\n    \"attributeID\": 203, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Factor to scale mining laser durations by.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningDurationMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"204\": {\n    \"attributeID\": 204, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Typically scales the firing speed of a weapon.  Reducing speed means faster, strangely..\", \n    \"displayName_de\": \"Feuerraten-Bonus\", \n    \"displayName_en-us\": \"Rate of Fire Bonus\", \n    \"displayName_es\": \"Bonificación a la cadencia de tiro\", \n    \"displayName_fr\": \"Bonus de cadence de tir\", \n    \"displayName_it\": \"Rate of Fire Bonus\", \n    \"displayName_ja\": \"発射間隔ボーナス\", \n    \"displayName_ko\": \"연사속도 보너스\", \n    \"displayName_ru\": \"Уменьшение цикла выстрела\", \n    \"displayName_zh\": \"射击速度加成\", \n    \"displayNameID\": 233192, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1389, \n    \"name\": \"speedMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"205\": {\n    \"attributeID\": 205, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the accuracy of some targeted weapon.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"accuracyMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"207\": {\n    \"attributeID\": 207, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"The factor by which the amount mined by a mining laser is scaled.\", \n    \"displayName_de\": \"Bergbauertrag-Multiplikator\", \n    \"displayName_en-us\": \"Mining Amount Multiplier\", \n    \"displayName_es\": \"Multiplicador de cantidad extraída\", \n    \"displayName_fr\": \"Multiplicateur de minerai extrait\", \n    \"displayName_it\": \"Mining Amount Multiplier\", \n    \"displayName_ja\": \"採掘量乗数\", \n    \"displayName_ko\": \"채굴 총량 배수\", \n    \"displayName_ru\": \"Коэффициент объёма добычи\", \n    \"displayName_zh\": \"开采量倍增系数\", \n    \"displayNameID\": 233352, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningAmountMultiplier\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"208\": {\n    \"attributeID\": 208, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Radar strength.\", \n    \"displayName_de\": \"RADAR-Sensorstärke\", \n    \"displayName_en-us\": \"RADAR Sensor Strength\", \n    \"displayName_es\": \"Intensidad sensor radar\", \n    \"displayName_fr\": \"Puissance de détection radar\", \n    \"displayName_it\": \"RADAR Sensor Strength\", \n    \"displayName_ja\": \"電波センサー強度\", \n    \"displayName_ko\": \"레이더 센서 강도\", \n    \"displayName_ru\": \"Эффективность радарной системы\", \n    \"displayName_zh\": \"雷达感应强度\", \n    \"displayNameID\": 233420, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2031, \n    \"name\": \"scanRadarStrength\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Ein höherer Wert reduziert die Chance von ECM gestört zu werden und hilft der Erfassung von Sonden zu entgehen\", \n    \"tooltipDescription_en-us\": \"Larger values reduce the chance of being jammed by ECM and assist in avoiding detection by probes\", \n    \"tooltipDescription_es\": \"Los valores altos reducen las posibilidades de perturbación por parte de las ECM y de detección por parte de las sondas.\", \n    \"tooltipDescription_fr\": \"Les grandes valeurs réduisent les chances de brouillage par les CME et permettent d'éviter la détection par les sondes.\", \n    \"tooltipDescription_it\": \"Larger values reduce the chance of being jammed by ECM and assist in avoiding detection by probes\", \n    \"tooltipDescription_ja\": \"数値が大きいほどECMに妨害されにくくなり、プローブに探知されにくくなります\", \n    \"tooltipDescription_ko\": \"값이 클수록 ECM에 재밍될 확률이 감소하며 프로브의 탐지를 보다 잘 피할 수 있습니다.\", \n    \"tooltipDescription_ru\": \"Увеличение этой характеристики приводит к увеличению вероятности продолжения работы систем сопровождения целей под воздействием помех, а также к затруднению определения точных координат оснащённого ими объекта при помощи разведзондов\", \n    \"tooltipDescription_zh\": \"该数值越大，被电子干扰的几率越低，还有利于规避敌方探针扫描\", \n    \"tooltipDescriptionID\": 295233, \n    \"tooltipTitleID\": 295231, \n    \"unitID\": 120\n  }, \n  \"209\": {\n    \"attributeID\": 209, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Ladar strength.\", \n    \"displayName_de\": \"Ladar-Sensorstärke\", \n    \"displayName_en-us\": \"Ladar Sensor Strength\", \n    \"displayName_es\": \"Intensidad sensor lidar\", \n    \"displayName_fr\": \"Puissance de détection ladar\", \n    \"displayName_it\": \"Ladar Sensor Strength\", \n    \"displayName_ja\": \"光学センサー強度\", \n    \"displayName_ko\": \"라이다 센서 강도\", \n    \"displayName_ru\": \"Эффективность ладарной системы\", \n    \"displayName_zh\": \"光雷达感应强度\", \n    \"displayNameID\": 233419, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2030, \n    \"name\": \"scanLadarStrength\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Ein höherer Wert reduziert die Chance von ECM gestört zu werden und hilft der Erfassung von Sonden zu entgehen\", \n    \"tooltipDescription_en-us\": \"Larger values reduce the chance of being jammed by ECM and assist in avoiding detection by probes\", \n    \"tooltipDescription_es\": \"Los valores altos reducen las posibilidades de perturbación por parte de las ECM y de detección por parte de las sondas.\", \n    \"tooltipDescription_fr\": \"Les grandes valeurs réduisent les chances de brouillage par les CME et permettent d'éviter la détection par les sondes.\", \n    \"tooltipDescription_it\": \"Larger values reduce the chance of being jammed by ECM and assist in avoiding detection by probes\", \n    \"tooltipDescription_ja\": \"数値が大きいほどECMに妨害されにくくなり、プローブに探知されにくくなります\", \n    \"tooltipDescription_ko\": \"값이 클수록 ECM에 재밍될 확률이 감소하며 프로브의 탐지를 보다 잘 피할 수 있습니다.\", \n    \"tooltipDescription_ru\": \"Увеличение этой характеристики приводит к увеличению вероятности продолжения работы систем сопровождения целей под воздействием помех, а также к затруднению определения точных координат оснащённого ими объекта при помощи разведзондов\", \n    \"tooltipDescription_zh\": \"该数值越大，被电子干扰的几率越低，还有利于规避敌方探针扫描\", \n    \"tooltipDescriptionID\": 295229, \n    \"tooltipTitleID\": 295228, \n    \"unitID\": 120\n  }, \n  \"210\": {\n    \"attributeID\": 210, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Magnetometric strength.\", \n    \"displayName_de\": \"Magnetometrische Sensorstärke\", \n    \"displayName_en-us\": \"Magnetometric Sensor Strength\", \n    \"displayName_es\": \"Intensidad sensor magnetométrico\", \n    \"displayName_fr\": \"Puissance de détection magnétométrique\", \n    \"displayName_it\": \"Magnetometric Sensor Strength\", \n    \"displayName_ja\": \"磁気センサー強度\", \n    \"displayName_ko\": \"자기장 센서 강도\", \n    \"displayName_ru\": \"Эффективность магнитометрической системы\", \n    \"displayName_zh\": \"磁力感应强度\", \n    \"displayNameID\": 233421, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2029, \n    \"name\": \"scanMagnetometricStrength\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Ein höherer Wert reduziert die Chance von ECM gestört zu werden und hilft der Erfassung von Sonden zu entgehen\", \n    \"tooltipDescription_en-us\": \"Larger values reduce the chance of being jammed by ECM and assist in avoiding detection by probes\", \n    \"tooltipDescription_es\": \"Los valores altos reducen las posibilidades de perturbación por parte de las ECM y de detección por parte de las sondas.\", \n    \"tooltipDescription_fr\": \"Les grandes valeurs réduisent les chances de brouillage par les CME et permettent d'éviter la détection par les sondes.\", \n    \"tooltipDescription_it\": \"Larger values reduce the chance of being jammed by ECM and assist in avoiding detection by probes\", \n    \"tooltipDescription_ja\": \"数値が大きいほどECMに妨害されにくくなり、プローブに探知されにくくなります\", \n    \"tooltipDescription_ko\": \"값이 클수록 ECM에 재밍될 확률이 감소하며 프로브의 탐지를 보다 잘 피할 수 있습니다.\", \n    \"tooltipDescription_ru\": \"Увеличение этой характеристики приводит к увеличению вероятности продолжения работы систем сопровождения целей под воздействием помех, а также к затруднению определения точных координат оснащённого ими объекта при помощи разведзондов\", \n    \"tooltipDescription_zh\": \"该数值越大，被电子干扰的几率越低，还有利于规避敌方探针扫描\", \n    \"tooltipDescriptionID\": 295227, \n    \"tooltipTitleID\": 295226, \n    \"unitID\": 120\n  }, \n  \"211\": {\n    \"attributeID\": 211, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Gravimetric strength.\", \n    \"displayName_de\": \"Gravimetrische Sensorstärke\", \n    \"displayName_en-us\": \"Gravimetric Sensor Strength\", \n    \"displayName_es\": \"Intensidad sensor gravimétrico\", \n    \"displayName_fr\": \"Puissance de détection gravimétrique\", \n    \"displayName_it\": \"Gravimetric Sensor Strength\", \n    \"displayName_ja\": \"重力センサー強度\", \n    \"displayName_ko\": \"중력장 센서 강도\", \n    \"displayName_ru\": \"Эффективность гравиметрической системы\", \n    \"displayName_zh\": \"引力感应强度\", \n    \"displayNameID\": 233422, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2028, \n    \"name\": \"scanGravimetricStrength\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Ein höherer Wert reduziert die Chance von ECM gestört zu werden und hilft der Erfassung von Sonden zu entgehen\", \n    \"tooltipDescription_en-us\": \"Larger values reduce the chance of being jammed by ECM and assist in avoiding detection by probes\", \n    \"tooltipDescription_es\": \"Los valores altos reducen las posibilidades de perturbación por parte de las ECM y de detección por parte de las sondas.\", \n    \"tooltipDescription_fr\": \"Les grandes valeurs réduisent les chances de brouillage par les CME et permettent d'éviter la détection par les sondes.\", \n    \"tooltipDescription_it\": \"Larger values reduce the chance of being jammed by ECM and assist in avoiding detection by probes\", \n    \"tooltipDescription_ja\": \"数値が大きいほどECMに妨害されにくくなり、プローブに探知されにくくなります\", \n    \"tooltipDescription_ko\": \"값이 클수록 ECM에 재밍될 확률이 감소하며 프로브의 탐지를 보다 잘 피할 수 있습니다.\", \n    \"tooltipDescription_ru\": \"Увеличение этой характеристики приводит к увеличению вероятности продолжения работы систем сопровождения целей под воздействием помех, а также к затруднению определения точных координат оснащённого ими объекта при помощи разведзондов\", \n    \"tooltipDescription_zh\": \"该数值越大，被电子干扰的几率越低，还有利于规避敌方探针扫描\", \n    \"tooltipDescriptionID\": 295225, \n    \"tooltipTitleID\": 295224, \n    \"unitID\": 120\n  }, \n  \"212\": {\n    \"attributeID\": 212, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"The characters missile use efficiency, scales the damage missiles do.\", \n    \"displayName_de\": \"Raketenschaden-Bonus\", \n    \"displayName_en-us\": \"Missile Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño de misiles\", \n    \"displayName_fr\": \"Bonus de dégât des missiles\", \n    \"displayName_it\": \"Missile Damage Bonus\", \n    \"displayName_ja\": \"ミサイルダメージボーナス\", \n    \"displayName_ko\": \"미사일 피해 보너스\", \n    \"displayName_ru\": \"Влияние на урон БЧ ракет\", \n    \"displayName_zh\": \"导弹伤害加成\", \n    \"displayNameID\": 233359, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"missileDamageMultiplier\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 104\n  }, \n  \"213\": {\n    \"attributeID\": 213, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Additional percentage to the characters missile damage multiplier.\", \n    \"displayName_de\": \"Raketenschaden-Bonus\", \n    \"displayName_en-us\": \"Missile Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño de misiles\", \n    \"displayName_fr\": \"Bonus de dégâts des missiles\", \n    \"displayName_it\": \"Missile Damage Bonus\", \n    \"displayName_ja\": \"ミサイルダメージボーナス\", \n    \"displayName_ko\": \"미사일 피해 보너스\", \n    \"displayName_ru\": \"Влияние на урон БЧ ракет\", \n    \"displayName_zh\": \"导弹伤害加成\", \n    \"displayNameID\": 233360, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"missileDamageMultiplierBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"216\": {\n    \"attributeID\": 216, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Scales the capacitor need for fitted modules.\", \n    \"displayName_de\": \"Energiespeicher-Verbrauchsmultiplikator\", \n    \"displayName_en-us\": \"Capacitor Need Multiplier\", \n    \"displayName_es\": \"Mult. de necesidad del condensador\", \n    \"displayName_fr\": \"Multiplicateur des besoins énergétiques du capaciteur\", \n    \"displayName_it\": \"Capacitor Need Multiplier\", \n    \"displayName_ja\": \"キャパシタ消費乗数\", \n    \"displayName_ko\": \"캐패시터 요구량 조정\", \n    \"displayName_ru\": \"Снижение потребления энергии\", \n    \"displayName_zh\": \"电容需求倍增系数\", \n    \"displayNameID\": 233008, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"capacitorNeedMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"217\": {\n    \"attributeID\": 217, \n    \"categoryID\": 31, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The graphicID of the propulsion system.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"propulsionGraphicID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"218\": {\n    \"attributeID\": 218, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the time it takes a character to research a blueprint.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"blueprintResearchTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"219\": {\n    \"attributeID\": 219, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the time it takes to manufacture something.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"manufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"220\": {\n    \"attributeID\": 220, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus or penalty to the percentage time it takes to research a blueprint.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"blueprintResearchTimeMultiplierBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"221\": {\n    \"attributeID\": 221, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the time it takes a character to manufacture a blueprint.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"blueprintManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"222\": {\n    \"attributeID\": 222, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus or penalty to the percentage time it takes to manufacture from a blueprint.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"blueprintManufactureTimeMultiplierBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"223\": {\n    \"attributeID\": 223, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the time it takes to train skills with Charisma as the primary attribute.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"charismaSkillTrainingTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"224\": {\n    \"attributeID\": 224, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the time it takes to train skills with Intelligence as the primary attribute. \", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"intelligenceSkillTrainingTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"225\": {\n    \"attributeID\": 225, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the time it takes to train skills with Memory as the primary attribute.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"memorySkillTrainingTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"226\": {\n    \"attributeID\": 226, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the time it takes to train skills with Perception as the primary attribute.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"perceptionSkillTrainingTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"227\": {\n    \"attributeID\": 227, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the time it takes to train skills with Willpower as the primary attribute.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"willpowerSkillTrainingTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"228\": {\n    \"attributeID\": 228, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus or penalty to the percentage time it takes to train skills with Charisma as the primary attribute.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"charismaSkillTrainingTimeMultiplierBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"229\": {\n    \"attributeID\": 229, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus or penalty to the percentage time it takes to train skills with Intelligence as the primary attribute.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"intelligenceSkillTrainingTimeMultiplierBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"230\": {\n    \"attributeID\": 230, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus or penalty to the percentage time it takes to train skills with Memory as the primary attribute.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"memorySkillTrainingTimeMultiplierBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"231\": {\n    \"attributeID\": 231, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus or penalty to the percentage time it takes to train skills with Perception as the primary attribute.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"perceptionSkillTrainingTimeMultiplierBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"232\": {\n    \"attributeID\": 232, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus or penalty to the percentage time it takes to train skills with Willpower as the primary attribute.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"willpowerSkillTrainingTimeMultiplierBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"235\": {\n    \"attributeID\": 235, \n    \"categoryID\": 37, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Additional amount of locked targets that can be handled.\", \n    \"displayName_de\": \"Bonus für maximal aufgeschaltete Ziele\", \n    \"displayName_en-us\": \"Maximum Locked Targets Bonus\", \n    \"displayName_es\": \"Bonificación de objetivos fijados máx.\", \n    \"displayName_fr\": \"Bonus de cibles verrouillées maximum\", \n    \"displayName_it\": \"Maximum Locked Targets Bonus\", \n    \"displayName_ja\": \"最大ターゲットロック数ボーナス\", \n    \"displayName_ko\": \"최대 타겟 수 보너스\", \n    \"displayName_ru\": \"Влияние на макс. количество захваченных целей\", \n    \"displayName_zh\": \"目标锁定数上限加成\", \n    \"displayNameID\": 233631, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxLockedTargetsBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"236\": {\n    \"attributeID\": 236, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Additional amount of attack targets that can be handled.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxAttackTargetsBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"237\": {\n    \"attributeID\": 237, \n    \"categoryID\": 24, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the max target range of a ships electronics.\", \n    \"displayName_de\": \"Zielaufschaltungsreichweite-Bonus\", \n    \"displayName_en-us\": \"Targeting Range Bonus\", \n    \"displayName_es\": \"Bonificación de distancia-objetivo\", \n    \"displayName_fr\": \"Bonus de portée de visée\", \n    \"displayName_it\": \"Targeting Range Bonus\", \n    \"displayName_ja\": \"ターゲット範囲ボーナス\", \n    \"displayName_ko\": \"타겟팅 거리 사보너스\", \n    \"displayName_ru\": \"Влияние на дальность захвата целей\", \n    \"displayName_zh\": \"锁定范围加成\", \n    \"displayNameID\": 233333, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"maxTargetRangeMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"238\": {\n    \"attributeID\": 238, \n    \"categoryID\": 25, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- modifier to the gravimetric strength of an electronic system.\", \n    \"displayName_de\": \"Gravimetrische ECM-Zielstörsenderstärke\", \n    \"displayName_en-us\": \"Gravimetric ECM Jammer Strength\", \n    \"displayName_es\": \"Intensidad del perturbador ECM gravimétrico\", \n    \"displayName_fr\": \"Puissance gravimétrique CME\", \n    \"displayName_it\": \"Gravimetric ECM Jammer Strength\", \n    \"displayName_ja\": \"重力ECMジャマー強度\", \n    \"displayName_ko\": \"중력장 ECM 재머 강도\", \n    \"displayName_ru\": \"Сила действия помех на гравиметрические системы\", \n    \"displayName_zh\": \"引力ECM干扰强度\", \n    \"displayNameID\": 233255, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3226, \n    \"name\": \"scanGravimetricStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"239\": {\n    \"attributeID\": 239, \n    \"categoryID\": 25, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- modifier to the ladar strength of an electronic system.\", \n    \"displayName_de\": \"Ladar-ECM-Zielstörsenderstärke\", \n    \"displayName_en-us\": \"Ladar ECM Jammer Strength\", \n    \"displayName_es\": \"Intensidad del perturbador ECM lidar\", \n    \"displayName_fr\": \"Puissance de détection ladar CME\", \n    \"displayName_it\": \"Ladar ECM Jammer Strength\", \n    \"displayName_ja\": \"対光レーダーECMジャマーの強度\", \n    \"displayName_ko\": \"라이다 ECM 재머 강도\", \n    \"displayName_ru\": \"Сила действия помех на ладарные системы\", \n    \"displayName_zh\": \"光雷达ECM干扰强度\", \n    \"displayNameID\": 233249, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3228, \n    \"name\": \"scanLadarStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"240\": {\n    \"attributeID\": 240, \n    \"categoryID\": 25, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- modifier to the magnetometric strength of an electronic system.\", \n    \"displayName_de\": \"Magnetometrische ECM-Zielstörsenderstärke\", \n    \"displayName_en-us\": \"Magnetometric ECM Jammer Strength\", \n    \"displayName_es\": \"Intensidad del perturbador ECM magnetométrico\", \n    \"displayName_fr\": \"Puissance magnétométrique CME\", \n    \"displayName_it\": \"Magnetometric ECM Jammer Strength\", \n    \"displayName_ja\": \"磁気ECMジャマーの強度\", \n    \"displayName_ko\": \"자기 ECM 재머 강도\", \n    \"displayName_ru\": \"Сила действия помех на магнитометрические системы\", \n    \"displayName_zh\": \"磁力ECM干扰强度\", \n    \"displayNameID\": 233252, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3227, \n    \"name\": \"scanMagnetometricStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"241\": {\n    \"attributeID\": 241, \n    \"categoryID\": 25, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"+/- modifier to the radar strength of an electronic system.\", \n    \"displayName_de\": \"RADAR-ECM-Zielstörsenderstärke\", \n    \"displayName_en-us\": \"RADAR ECM Jammer Strength\", \n    \"displayName_es\": \"Intensidad del perturbador ECM del radar\", \n    \"displayName_fr\": \"Puissance de détection radar CME\", \n    \"displayName_it\": \"RADAR ECM Jammer Strength\", \n    \"displayName_ja\": \"対レーダーECMジャマーの強度\", \n    \"displayName_ko\": \"레이더 ECM 재머 강도\", \n    \"displayName_ru\": \"Сила действия помех на радарные системы\", \n    \"displayName_zh\": \"雷达ECM干扰强度\", \n    \"displayNameID\": 233248, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3229, \n    \"name\": \"scanRadarStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"242\": {\n    \"attributeID\": 242, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the time it takes to lock a target.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 104, \n    \"name\": \"scanSpeedMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"243\": {\n    \"attributeID\": 243, \n    \"categoryID\": 26, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the range at which something can reach.\", \n    \"displayName_de\": \"Maximaler Reichweitenmultiplikator\", \n    \"displayName_en-us\": \"Maximum Range Multiplier\", \n    \"displayName_es\": \"Multiplicador de alcance máximo\", \n    \"displayName_fr\": \"Multiplicateur de portée maximum\", \n    \"displayName_it\": \"Maximum Range Multiplier\", \n    \"displayName_ja\": \"最大範囲乗数\", \n    \"displayName_ko\": \"최대 사거리 배수\", \n    \"displayName_ru\": \"Коэффициент максимальной дальности\", \n    \"displayName_zh\": \"最大范围倍增系数\", \n    \"displayNameID\": 233320, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"maxRangeMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"244\": {\n    \"attributeID\": 244, \n    \"categoryID\": 26, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scale the tracking speed of a weapon.\", \n    \"displayName_de\": \"Nachführungsgeschwindigkeit-Multiplikator\", \n    \"displayName_en-us\": \"Tracking Speed Multiplier\", \n    \"displayName_es\": \"Multiplicador de velocidad de rastreo\", \n    \"displayName_fr\": \"Multiplicateur de vitesse de poursuite\", \n    \"displayName_it\": \"Tracking Speed Multiplier\", \n    \"displayName_ja\": \"追跡速度乗数\", \n    \"displayName_ko\": \"트래킹 속도 배수\", \n    \"displayName_ru\": \"Множитель скорости наводки\", \n    \"displayName_zh\": \"跟踪速度倍增系数\", \n    \"displayNameID\": 233163, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1398, \n    \"name\": \"trackingSpeedMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"245\": {\n    \"attributeID\": 245, \n    \"categoryID\": 31, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Graphic ID of the turrets for drone type ships.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"gfxTurretID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"246\": {\n    \"attributeID\": 246, \n    \"categoryID\": 31, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Graphic ID of the boosters for drone type ships.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"gfxBoosterID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"247\": {\n    \"attributeID\": 247, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 15000.0, \n    \"description\": \"The distance from a target an entity starts using its weapons.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"entityAttackRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"248\": {\n    \"attributeID\": 248, \n    \"categoryID\": 19, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The minimum value of any given unit of loot dropped by this entity.  Not the minimum value of all the loot, but of any given item dropped.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityLootValueMin\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"249\": {\n    \"attributeID\": 249, \n    \"categoryID\": 19, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum value of any loot dropped by this entity.  Thats for each unit of any given item of loot, not for the total value of all items of loot dropped.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityLootValueMax\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"250\": {\n    \"attributeID\": 250, \n    \"categoryID\": 19, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Deprecated. The minimum number of pieces of loot dropped by this entity.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityLootCountMin\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"251\": {\n    \"attributeID\": 251, \n    \"categoryID\": 19, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum number of pieces of loot dropped by this entity.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityLootCountMax\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"252\": {\n    \"attributeID\": 252, \n    \"categoryID\": 32, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"How much security status is modified by for killing this entity.  Depending on the entity, this may be a positive or negative amount.\\r\\nValue is a % movement of the character's current security towards the upper/lower limit.\", \n    \"displayName_de\": \"Sicherheitsstatus-Abschussanzahl\", \n    \"displayName_en-us\": \"Security Status Kill Amount\", \n    \"displayName_es\": \"Cantidad de estado de seguridad por asesinato\", \n    \"displayName_fr\": \"Statut de sécurité après destruction\", \n    \"displayName_it\": \"Security Status Kill Amount\", \n    \"displayName_ja\": \"破壊時セキュリティーステータス変動量\", \n    \"displayName_ko\": \"처치 시 시큐리티 수치 증가\", \n    \"displayName_ru\": \"Повышение СС за уничтожение\", \n    \"displayName_zh\": \"安全等级击毁数量\", \n    \"displayNameID\": 233166, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entitySecurityStatusKillBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"253\": {\n    \"attributeID\": 253, \n    \"categoryID\": 32, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of security status lost of aggressing agaisnt this entity first.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entitySecurityStatusAggressionBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"254\": {\n    \"attributeID\": 254, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"Minimum loot count that an entity can take from the NPC corp loot resource\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"minLootCount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"256\": {\n    \"attributeID\": 256, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum loot count that an entity can take from the NPC corp loot resource\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxLootCount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"257\": {\n    \"attributeID\": 257, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The range in m that the entity follows it's target.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityFollowRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"258\": {\n    \"attributeID\": 258, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Minimum value of each resource the entity is able to take as loot.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"minLootValue\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"259\": {\n    \"attributeID\": 259, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum value of each resource the entity is able to take as loot.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxLootValue\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"260\": {\n    \"attributeID\": 260, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The range in m when the entity starts attacking it's target.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"attackRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"261\": {\n    \"attributeID\": 261, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"How much the security status changes when this entity is killed.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"killStatusModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"262\": {\n    \"attributeID\": 262, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"How much the security status changes when this entity is attacked.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attackStatusModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"263\": {\n    \"attributeID\": 263, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of maximum shield HP on the item.\", \n    \"displayName_de\": \"Schildkapazität\", \n    \"displayName_en-us\": \"Shield Capacity\", \n    \"displayName_es\": \"Capacidad del escudo\", \n    \"displayName_fr\": \"Capacité du bouclier\", \n    \"displayName_it\": \"Shield Capacity\", \n    \"displayName_ja\": \"シールド容量\", \n    \"displayName_ko\": \"실드량\", \n    \"displayName_ru\": \"Запас прочности щитов\", \n    \"displayName_zh\": \"护盾容量\", \n    \"displayNameID\": 232968, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1384, \n    \"name\": \"shieldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die HP der Schilde laden sich mit der Zeit wieder auf und können durch den Einsatz von Modulen schneller regeneriert werden\", \n    \"tooltipDescription_en-us\": \"Shield hitpoints recharge over time and can be recovered more quickly with the use of modules\", \n    \"tooltipDescription_es\": \"Los puntos de vida del escudo se recargan con el tiempo y se pueden recuperar más rápido utilizando módulos.\", \n    \"tooltipDescription_fr\": \"Les PV du bouclier se rechargent avec le temps, un processus qui peut être encore amélioré grâce à l'utilisation de modules.\", \n    \"tooltipDescription_it\": \"Shield hitpoints recharge over time and can be recovered more quickly with the use of modules\", \n    \"tooltipDescription_ja\": \"時間経過で再充電し、モジュールを使用すればさらに素早く回復します\", \n    \"tooltipDescription_ko\": \"실드 내구도는 시간이 지나면 충전되며 모듈을 사용하면 더 빨리 회복됩니다.\", \n    \"tooltipDescription_ru\": \"Запас прочности силового поля восстанавливается со временем; с помощью модулей его можно восстановить быстрее\", \n    \"tooltipDescription_zh\": \"护盾会随时间自动恢复，使用装备还可以使恢复速度加快\", \n    \"tooltipDescriptionID\": 295211, \n    \"tooltipTitleID\": 295210, \n    \"unitID\": 113\n  }, \n  \"264\": {\n    \"attributeID\": 264, \n    \"categoryID\": 9, \n    \"chargeRechargeTimeID\": 479, \n    \"dataType\": 6, \n    \"defaultValue\": 0.0, \n    \"description\": \"DO NOT MESS WITH. Helper attribute for entities, stands in for the shield charge.\\r\\nThe amount of starting shield capacity of the NPC.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"maxAttributeID\": 263, \n    \"name\": \"shieldCharge\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"265\": {\n    \"attributeID\": 265, \n    \"categoryID\": 3, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The number of hit points on the entities armor.\", \n    \"displayName_de\": \"Panzerung-HP\", \n    \"displayName_en-us\": \"Armor Hitpoints\", \n    \"displayName_es\": \"Vida blindaje\", \n    \"displayName_fr\": \"PV du blindage\", \n    \"displayName_it\": \"Armor Hitpoints\", \n    \"displayName_ja\": \"アーマーヒットポイント\", \n    \"displayName_ko\": \"장갑 내구도\", \n    \"displayName_ru\": \"Запас прочности брони\", \n    \"displayName_zh\": \"装甲值\", \n    \"displayNameID\": 232963, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1383, \n    \"name\": \"armorHP\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die HP der Panzerung regeneriert sich nicht von alleine, kann aber von Modulen oder Stationsdiensten repariert werden\", \n    \"tooltipDescription_en-us\": \"Armor hitpoints do not regenerate naturally but can be repaired by modules or station services\", \n    \"tooltipDescription_es\": \"Los puntos de vida del blindaje no se regeneran automáticamente, sino mediante módulos o servicios de la estación.\", \n    \"tooltipDescription_fr\": \"Les PV du blindage ne se régénèrent pas automatiquement, mais peuvent être réparés par des modules ou des stations.\", \n    \"tooltipDescription_it\": \"Armor hitpoints do not regenerate naturally but can be repaired by modules or station services\", \n    \"tooltipDescription_ja\": \"自動的には回復せず、モジュールやステーションサービスで修復されます\", \n    \"tooltipDescription_ko\": \"장갑 내구도는 자동으로 재생되지 않으며 모듈이나 정거장 서비스를 이용해 수리할 수 있습니다.\", \n    \"tooltipDescription_ru\": \"Запас прочности брони не восстанавливается естественным образом, но его можно восстановить с помощью модулей или станционных служб\", \n    \"tooltipDescription_zh\": \"装甲不会自动恢复，不过可以用装备或空间站维修服务进行修理\", \n    \"tooltipDescriptionID\": 295209, \n    \"tooltipTitleID\": 295208, \n    \"unitID\": 113\n  }, \n  \"266\": {\n    \"attributeID\": 266, \n    \"categoryID\": 9, \n    \"dataType\": 1, \n    \"defaultValue\": 0.0, \n    \"description\": \"DO NOT MESS WITH. The amount of damage done to the entities armor hit points. Starting armor damage.\", \n    \"displayName_de\": \"Panzerungsschaden\", \n    \"displayName_en-us\": \"Armor Damage\", \n    \"displayName_es\": \"Daño de blindaje\", \n    \"displayName_fr\": \"Dégâts de blindage\", \n    \"displayName_it\": \"Armor Damage\", \n    \"displayName_ja\": \"アーマーダメージ\", \n    \"displayName_ko\": \"장갑 피해량\", \n    \"displayName_ru\": \"Урон, наносимый броне\", \n    \"displayName_zh\": \"装甲损伤\", \n    \"displayNameID\": 232959, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"armorDamage\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"267\": {\n    \"attributeID\": 267, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplies EM damage taken by Armor. \", \n    \"displayName_de\": \"Widerstandsfähigkeit der Panzerung gegen EM-Schaden\", \n    \"displayName_en-us\": \"Armor EM Damage Resistance\", \n    \"displayName_es\": \"Resistencia electrom. blindaje\", \n    \"displayName_fr\": \"Résistance du blindage aux dégâts EM\", \n    \"displayName_it\": \"Armor EM Damage Resistance\", \n    \"displayName_ja\": \"アーマーEMダメージレジスタンス\", \n    \"displayName_ko\": \"장갑 EM 저항력\", \n    \"displayName_ru\": \"Сопротивляемость брони ЭМ-урону\", \n    \"displayName_zh\": \"装甲电磁伤害抗性\", \n    \"displayNameID\": 233501, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1396, \n    \"maxAttributeID\": 1527, \n    \"name\": \"armorEmDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"268\": {\n    \"attributeID\": 268, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplies EXPLOSIVE damage taken by Armor. \", \n    \"displayName_de\": \"Panzerung-Explosivschadensresistenz\", \n    \"displayName_en-us\": \"Armor Explosive Damage Resistance\", \n    \"displayName_es\": \"Resistencia explosiva blindaje\", \n    \"displayName_fr\": \"Résistance du blindage aux dégâts explosifs\", \n    \"displayName_it\": \"Armor Explosive Damage Resistance\", \n    \"displayName_ja\": \"アーマーエクスプローシブダメージレジスタンス\", \n    \"displayName_ko\": \"장갑 폭발 저항력\", \n    \"displayName_ru\": \"Сопротивляемость брони фугасному урону\", \n    \"displayName_zh\": \"装甲爆炸伤害抗性\", \n    \"displayNameID\": 233502, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1395, \n    \"maxAttributeID\": 1527, \n    \"name\": \"armorExplosiveDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"269\": {\n    \"attributeID\": 269, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplies KINETIC damage taken by Armor. \", \n    \"displayName_de\": \"Kinetikschadensresistenz der Panzerung\", \n    \"displayName_en-us\": \"Armor Kinetic Damage Resistance\", \n    \"displayName_es\": \"Resistencia cinética blindaje\", \n    \"displayName_fr\": \"Résistance du blindage aux dégâts cinétiques\", \n    \"displayName_it\": \"Armor Kinetic Damage Resistance\", \n    \"displayName_ja\": \"アーマーキネティックダメージレジスタンス\", \n    \"displayName_ko\": \"장갑 키네틱 저항력\", \n    \"displayName_ru\": \"Сопротивляемость брони кинетическому урону\", \n    \"displayName_zh\": \"装甲动能伤害抗性\", \n    \"displayNameID\": 233503, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1393, \n    \"maxAttributeID\": 1527, \n    \"name\": \"armorKineticDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"270\": {\n    \"attributeID\": 270, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplies THERMAL damage taken by Armor. \", \n    \"displayName_de\": \"Thermalschadensresistenz der Panzerung\", \n    \"displayName_en-us\": \"Armor Thermal Damage Resistance\", \n    \"displayName_es\": \"Resistencia térmica blindaje\", \n    \"displayName_fr\": \"Résistance du blindage aux dégâts thermiques\", \n    \"displayName_it\": \"Armor Thermal Damage Resistance\", \n    \"displayName_ja\": \"アーマーサーマルダメージレジスタンス\", \n    \"displayName_ko\": \"장갑 열 저항력\", \n    \"displayName_ru\": \"Сопротивляемость брони термическому урону\", \n    \"displayName_zh\": \"装甲热能伤害抗性\", \n    \"displayNameID\": 233504, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1394, \n    \"maxAttributeID\": 1527, \n    \"name\": \"armorThermalDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"271\": {\n    \"attributeID\": 271, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplies EM damage taken by shield\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Schilde gegen EM-Schaden\", \n    \"displayName_en-us\": \"Shield EM Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño electromagnético del escudo\", \n    \"displayName_fr\": \"Résistance du bouclier aux dégâts EM\", \n    \"displayName_it\": \"Shield EM Damage Resistance\", \n    \"displayName_ja\": \"シールドEMダメージレジスタンス\", \n    \"displayName_ko\": \"실드 EM 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов ЭМ-урону\", \n    \"displayName_zh\": \"护盾电磁伤害抗性\", \n    \"displayNameID\": 233505, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1396, \n    \"maxAttributeID\": 1528, \n    \"name\": \"shieldEmDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"272\": {\n    \"attributeID\": 272, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplies EXPLOSIVE damage taken by Armor. \", \n    \"displayName_de\": \"Explosivschadensresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Explosive Damage Resistance\", \n    \"displayName_es\": \"Resistencia explosiva escudo\", \n    \"displayName_fr\": \"Résistance du bouclier aux dégâts explosifs\", \n    \"displayName_it\": \"Shield Explosive Damage Resistance\", \n    \"displayName_ja\": \"シールドエクスプローシブダメージレジスタンス\", \n    \"displayName_ko\": \"실드 폭발 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов фугасному урону\", \n    \"displayName_zh\": \"护盾爆炸伤害抗性\", \n    \"displayNameID\": 233506, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1395, \n    \"maxAttributeID\": 1528, \n    \"name\": \"shieldExplosiveDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"273\": {\n    \"attributeID\": 273, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplies KINETIC damage taken by Armor. \", \n    \"displayName_de\": \"Kinetikschadensresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Kinetic Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño cinético del escudo\", \n    \"displayName_fr\": \"Résistance du bouclier aux dégâts cinétiques\", \n    \"displayName_it\": \"Shield Kinetic Damage Resistance\", \n    \"displayName_ja\": \"シールドキネティックダメージレジスタンス\", \n    \"displayName_ko\": \"실드 키네틱 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов кинетическому урону\", \n    \"displayName_zh\": \"护盾动能伤害抗性\", \n    \"displayNameID\": 233507, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1393, \n    \"maxAttributeID\": 1528, \n    \"name\": \"shieldKineticDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"274\": {\n    \"attributeID\": 274, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplies THERMAL damage taken by Shield. \", \n    \"displayName_de\": \"Thermalschadensresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Thermal Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño térmico del escudo\", \n    \"displayName_fr\": \"Résistance du bouclier aux dégâts thermiques\", \n    \"displayName_it\": \"Shield Thermal Damage Resistance\", \n    \"displayName_ja\": \"シールドサーマルダメージレジスタンス\", \n    \"displayName_ko\": \"실드 열 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов термическому урону\", \n    \"displayName_zh\": \"护盾热能伤害抗性\", \n    \"displayNameID\": 233508, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1394, \n    \"maxAttributeID\": 1528, \n    \"name\": \"shieldThermalDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"275\": {\n    \"attributeID\": 275, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This attribute is a multiplier to the number of skill points required to train. Skill points required to train a skill = 250 * skillTimeConstant * sqrt(32)^(skillLevel - 1)\", \n    \"displayName_de\": \"Trainingszeit-Multiplikator\", \n    \"displayName_en-us\": \"Training time multiplier\", \n    \"displayName_es\": \"Multiplicador de tiempo de desarrollo\", \n    \"displayName_fr\": \"Multiplicateur du temps de formation\", \n    \"displayName_it\": \"Training time multiplier\", \n    \"displayName_ja\": \"トレーニング時間乗数\", \n    \"displayName_ko\": \"훈련시간 배수\", \n    \"displayName_ru\": \"Множитель\", \n    \"displayName_zh\": \"训练时间倍增系数\", \n    \"displayNameID\": 233205, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"skillTimeConstant\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"276\": {\n    \"attributeID\": 276, \n    \"categoryID\": 7, \n    \"dataType\": 1, \n    \"defaultValue\": 0.0, \n    \"description\": \"Total accumulated points for skill\", \n    \"displayName_de\": \"Skillpunkte\", \n    \"displayName_en-us\": \"Skill Points\", \n    \"displayName_es\": \"Puntos de habilidad\", \n    \"displayName_fr\": \"Points de compétence\", \n    \"displayName_it\": \"Skill Points\", \n    \"displayName_ja\": \"スキルポイント\", \n    \"displayName_ko\": \"스킬 포인트\", \n    \"displayName_ru\": \"Синхропакеты\", \n    \"displayName_zh\": \"技能点\", \n    \"displayNameID\": 233210, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 33, \n    \"name\": \"skillPoints\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"277\": {\n    \"attributeID\": 277, \n    \"categoryID\": 8, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Required skill level for skill 1\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"requiredSkill1Level\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"278\": {\n    \"attributeID\": 278, \n    \"categoryID\": 8, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Required skill level for skill 2\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"requiredSkill2Level\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"279\": {\n    \"attributeID\": 279, \n    \"categoryID\": 8, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Required skill level for skill 3\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"requiredSkill3Level\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"280\": {\n    \"attributeID\": 280, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Level of skill\", \n    \"displayName_de\": \"Level\", \n    \"displayName_en-us\": \"Level\", \n    \"displayName_es\": \"Nivel\", \n    \"displayName_fr\": \"Niveau\", \n    \"displayName_it\": \"Level\", \n    \"displayName_ja\": \"レベル\", \n    \"displayName_ko\": \"레벨\", \n    \"displayName_ru\": \"Уровень\", \n    \"displayName_zh\": \"等级\", \n    \"displayNameID\": 233212, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 33, \n    \"name\": \"skillLevel\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"281\": {\n    \"attributeID\": 281, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of milliseconds before the object explodes.\", \n    \"displayName_de\": \"Maximale Flugzeit\", \n    \"displayName_en-us\": \"Maximum Flight Time\", \n    \"displayName_es\": \"Tiempo de vuelo máximo\", \n    \"displayName_fr\": \"Temps de vol maximum\", \n    \"displayName_it\": \"Maximum Flight Time\", \n    \"displayName_ja\": \"最大航行時間\", \n    \"displayName_ko\": \"최대 비행 시간\", \n    \"displayName_ru\": \"Максимальный запас полётного времени\", \n    \"displayName_zh\": \"最长飞行时间\", \n    \"displayNameID\": 233173, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"explosionDelay\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"282\": {\n    \"attributeID\": 282, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier to the amount of charge storage space in a launcher.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"launcherCapacityMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"283\": {\n    \"attributeID\": 283, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This defines the total capacity of drones allowed in the drone bay of the ship\", \n    \"displayName_de\": \"Drohnenkapazität\", \n    \"displayName_en-us\": \"Drone Capacity\", \n    \"displayName_es\": \"Capacidad drones\", \n    \"displayName_fr\": \"Capacité du hangar à drones\", \n    \"displayName_it\": \"Drone Capacity\", \n    \"displayName_ja\": \"ドローン収容量\", \n    \"displayName_ko\": \"드론 적재량\", \n    \"displayName_ru\": \"Объём отсека для дронов\", \n    \"displayName_zh\": \"无人机容量\", \n    \"displayNameID\": 233107, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1084, \n    \"name\": \"droneCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Das maximale Volumen, das im Drohnenhangar transportiert werden kann\", \n    \"tooltipDescription_en-us\": \"The maximum volume that can be carried in the drone bay\", \n    \"tooltipDescription_es\": \"El volumen máximo que puede transportarse en el muelle de drones.\", \n    \"tooltipDescription_fr\": \"Volume maximum pouvant être transporté dans le hangar à drones.\", \n    \"tooltipDescription_it\": \"The maximum volume that can be carried in the drone bay\", \n    \"tooltipDescription_ja\": \"ドローンベイで運搬できる最大容量です\", \n    \"tooltipDescription_ko\": \"드론 격납고의 총 적재량입니다.\", \n    \"tooltipDescription_ru\": \"Максимальный объём дронов, единовременно находящихся в отсеке для дронов на корабле\", \n    \"tooltipDescription_zh\": \"无人机挂舱所能装载的最大无人机容量\", \n    \"tooltipDescriptionID\": 295326, \n    \"tooltipTitleID\": 295325, \n    \"unitID\": 9\n  }, \n  \"284\": {\n    \"attributeID\": 284, \n    \"categoryID\": 9, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Indicates whether the modules ranged effects exlude  members of the users gang.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"excludeGangMembers\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"285\": {\n    \"attributeID\": 285, \n    \"categoryID\": 9, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Indicates whether the modules ranged effects exlude  members of the users corporation.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"excludeCorporationMembers\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"286\": {\n    \"attributeID\": 286, \n    \"categoryID\": 9, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Indicates whether the modules ranged effects exclude ships hostile to the user.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"excludeHostiles\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"287\": {\n    \"attributeID\": 287, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, kDmgBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"kDmgBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"288\": {\n    \"attributeID\": 288, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, shipCPUBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipCPUBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"289\": {\n    \"attributeID\": 289, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, turretDamageBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"turretDamageBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"290\": {\n    \"attributeID\": 290, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, skillTurretDmgBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"skillTurretDmgBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"291\": {\n    \"attributeID\": 291, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, CpuskillBonus\", \n    \"displayName_de\": \"CPU-Skillbonus:\", \n    \"displayName_en-us\": \"CPU Skill Bonus\", \n    \"displayName_es\": \"Bonificación de habilidad de la CPU\", \n    \"displayName_fr\": \"Bonus de compétence CPU\", \n    \"displayName_it\": \"CPU Skill Bonus\", \n    \"displayName_ja\": \"CPUスキルボーナス\", \n    \"displayName_ko\": \"CPU 스킬 보너스\", \n    \"displayName_ru\": \"Влияние навыка на мощность ЦПУ\", \n    \"displayName_zh\": \"CPU技能加成\", \n    \"displayNameID\": 233061, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cpuskillBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"292\": {\n    \"attributeID\": 292, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, damageMultiplierBonus\", \n    \"displayName_de\": \"Schadensmultiplikatorbonus\", \n    \"displayName_en-us\": \"Damage Multiplier Bonus\", \n    \"displayName_es\": \"Bonificación de multiplicador de daño\", \n    \"displayName_fr\": \"Bonus de multiplicateur de dégâts\", \n    \"displayName_it\": \"Damage Multiplier Bonus\", \n    \"displayName_ja\": \"ダメージ乗数ボーナス\", \n    \"displayName_ko\": \"피해량 배수 보너스\", \n    \"displayName_ru\": \"Влияние на модификатор урона\", \n    \"displayName_zh\": \"伤害倍增系数加成\", \n    \"displayNameID\": 233075, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1432, \n    \"name\": \"damageMultiplierBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"293\": {\n    \"attributeID\": 293, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, rofBonus\", \n    \"displayName_de\": \"Feuerraten-Bonus\", \n    \"displayName_en-us\": \"Rate Of Fire Bonus\", \n    \"displayName_es\": \"Bonificación de cadencia de tiro\", \n    \"displayName_fr\": \"Bonus de cadence de tir\", \n    \"displayName_it\": \"Rate Of Fire Bonus\", \n    \"displayName_ja\": \"発射間隔ボーナス\", \n    \"displayName_ko\": \"연사속도 보너스\", \n    \"displayName_ru\": \"Влияние на цикл выстрела\", \n    \"displayName_zh\": \"射击速度加成\", \n    \"displayNameID\": 233283, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"rofBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"294\": {\n    \"attributeID\": 294, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, rangeSkillBonus\", \n    \"displayName_de\": \"Modifikator für optimale Reichweite\", \n    \"displayName_en-us\": \"Optimal Range Modifier\", \n    \"displayName_es\": \"Modificador de alcance óptimo\", \n    \"displayName_fr\": \"Modificateur de portée optimale\", \n    \"displayName_it\": \"Optimal Range Modifier\", \n    \"displayName_ja\": \"最適射程距離修正乗数\", \n    \"displayName_ko\": \"최적사거리 보정치\", \n    \"displayName_ru\": \"Модификатор оптимальной дальности\", \n    \"displayName_zh\": \"最佳射程调整\", \n    \"displayNameID\": 233643, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"rangeSkillBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"295\": {\n    \"attributeID\": 295, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, abPowerBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"abPowerBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"296\": {\n    \"attributeID\": 296, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, acPowerBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"acPowerBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"297\": {\n    \"attributeID\": 297, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, afPowerBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"afPowerBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"298\": {\n    \"attributeID\": 298, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, atPowerBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"atPowerBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"299\": {\n    \"attributeID\": 299, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, cbTRangeBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cbTRangeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"300\": {\n    \"attributeID\": 300, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, ccTRangeBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"ccTRangeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"301\": {\n    \"attributeID\": 301, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, cfTRangeBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cfTRangeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"302\": {\n    \"attributeID\": 302, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, ciTRangeBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"ciTRangeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"303\": {\n    \"attributeID\": 303, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, aiPowerBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"aiPowerBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"304\": {\n    \"attributeID\": 304, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, ctTRangeBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"ctTRangeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"305\": {\n    \"attributeID\": 305, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, gbCpuBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"gbCpuBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"306\": {\n    \"attributeID\": 306, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Autogenerated skill attribute, mMaxVelocityBonus\", \n    \"displayName_de\": \"Max. Geschwindigkeitsmodifikator\", \n    \"displayName_en-us\": \"Maximum Velocity Modifier\", \n    \"displayName_es\": \"Modificador de velocidad máxima\", \n    \"displayName_fr\": \"Modificateur de vitesse maximale\", \n    \"displayName_it\": \"Maximum Velocity Modifier\", \n    \"displayName_ja\": \"最高速度修正\", \n    \"displayName_ko\": \"최대 속도 보정치\", \n    \"displayName_ru\": \"Коэффициент скорости полного хода\", \n    \"displayName_zh\": \"最大速度调整系数\", \n    \"displayNameID\": 233340, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"maxVelocityModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"307\": {\n    \"attributeID\": 307, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, scannerDurationBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"scannerDurationBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"308\": {\n    \"attributeID\": 308, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, scanspeedBonus\", \n    \"displayName_de\": \"Scan-Geschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Scan Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de escaneo\", \n    \"displayName_fr\": \"Bonus de vitesse de balayage\", \n    \"displayName_it\": \"Scan Speed Bonus\", \n    \"displayName_ja\": \"スキャン速度ボーナス\", \n    \"displayName_ko\": \"스캔 속도 보너스\", \n    \"displayName_ru\": \"Бонус к скорости поиска\", \n    \"displayName_zh\": \"扫描速度加成\", \n    \"displayNameID\": 232978, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanspeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"309\": {\n    \"attributeID\": 309, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to Max Targeting Range\", \n    \"displayName_de\": \"Maximaler Zielerfassungsreichweite-Bonus\", \n    \"displayName_en-us\": \"Maximum Targeting Range Bonus\", \n    \"displayName_es\": \"Bonificación de distancia-objetivo máxima\", \n    \"displayName_fr\": \"Bonus de portée maximale du système de ciblage\", \n    \"displayName_it\": \"Maximum Targeting Range Bonus\", \n    \"displayName_ja\": \"最大ターゲット範囲ボーナス\", \n    \"displayName_ko\": \"최대 타겟팅 거리 보너스\", \n    \"displayName_ru\": \"Влияние на максимальную дальность захвата целей\", \n    \"displayName_zh\": \"最大锁定范围加成\", \n    \"displayNameID\": 233330, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"maxTargetRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"310\": {\n    \"attributeID\": 310, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, cpuNeedBonus\", \n    \"displayName_de\": \"CPU-Bedarfsbonus\", \n    \"displayName_en-us\": \"CPU Need Bonus\", \n    \"displayName_es\": \"Bonificación de necesidad de la CPU\", \n    \"displayName_fr\": \"Bonus de charge CPU\", \n    \"displayName_it\": \"CPU Need Bonus\", \n    \"displayName_ja\": \"CPU使用量ボーナス\", \n    \"displayName_ko\": \"CPU 요구량 보너스\", \n    \"displayName_ru\": \"Влияние на потребление мощности ЦПУ\", \n    \"displayName_zh\": \"CPU需求加成\", \n    \"displayNameID\": 233052, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cpuNeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"311\": {\n    \"attributeID\": 311, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, maxTarget Bonus\", \n    \"displayName_de\": \"Maximaler Zielerfassung-Bonus\", \n    \"displayName_en-us\": \"Maximum Target Bonus\", \n    \"displayName_es\": \"Bonificación de objetivos máximos\", \n    \"displayName_fr\": \"Bonus de cibles maximum\", \n    \"displayName_it\": \"Maximum Target Bonus\", \n    \"displayName_ja\": \"最大ターゲット数ボーナス\", \n    \"displayName_ko\": \"최대 타겟 보너스\", \n    \"displayName_ru\": \"Влияние на количество целей\", \n    \"displayName_zh\": \"锁定上限加成\", \n    \"displayNameID\": 233632, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxTargetBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"312\": {\n    \"attributeID\": 312, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, DurationBonus\", \n    \"displayName_de\": \"Laufzeitbonus\", \n    \"displayName_en-us\": \"Duration Bonus\", \n    \"displayName_es\": \"Bonificación de duración\", \n    \"displayName_fr\": \"Bonus de durée\", \n    \"displayName_it\": \"Duration Bonus\", \n    \"displayName_ja\": \"起動時間ボーナス\", \n    \"displayName_ko\": \"지속시간 보너스\", \n    \"displayName_ru\": \"Влияние на время цикла\", \n    \"displayName_zh\": \"单次运转时间加成\", \n    \"displayNameID\": 233142, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"durationSkillBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"313\": {\n    \"attributeID\": 313, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, PowerOutputBonus\", \n    \"displayName_de\": \"Energieleistung-Bonus\", \n    \"displayName_en-us\": \"Power Output Bonus\", \n    \"displayName_es\": \"Bonificación de potencia de salida\", \n    \"displayName_fr\": \"Bonus de puissance énergétique\", \n    \"displayName_it\": \"Power Output Bonus\", \n    \"displayName_ja\": \"パワーグリッドボーナス\", \n    \"displayName_ko\": \"전력 출력 보너스\", \n    \"displayName_ru\": \"Влияние на мощность\", \n    \"displayName_zh\": \"能量输出加成\", \n    \"displayNameID\": 233411, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"powerEngineeringOutputBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"314\": {\n    \"attributeID\": 314, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, CapRechargeBonus\", \n    \"displayName_de\": \"Verringerung der Aufladezeit des Energiespeichers\", \n    \"displayName_en-us\": \"Cap Recharge Time Reduction\", \n    \"displayName_es\": \"Reducción del tiempo de carga del condensador\", \n    \"displayName_fr\": \"Réduction du temps de recharge du capaciteur\", \n    \"displayName_it\": \"Cap Recharge Time Reduction\", \n    \"displayName_ja\": \"キャパシタリチャージ時間短縮\", \n    \"displayName_ko\": \"Cap 재충전 시간 감소\", \n    \"displayName_ru\": \"Уменьшение времени регенерации накопителя\", \n    \"displayName_zh\": \"电容回充时间缩减\", \n    \"displayNameID\": 233525, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"capRechargeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"315\": {\n    \"attributeID\": 315, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, velocityBonus\", \n    \"displayName_de\": \"Geschwindigkeitsmodifikator\", \n    \"displayName_en-us\": \"Velocity Modifier\", \n    \"displayName_es\": \"Modificador de velocidad\", \n    \"displayName_fr\": \"Modificateur de vitesse\", \n    \"displayName_it\": \"Velocity Modifier\", \n    \"displayName_ja\": \"速度修正乗数\", \n    \"displayName_ko\": \"속도 보정치\", \n    \"displayName_ru\": \"Модификатор скорости\", \n    \"displayName_zh\": \"速度调整\", \n    \"displayNameID\": 233426, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"velocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"316\": {\n    \"attributeID\": 316, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, corpMemberBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"corpMemberBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"317\": {\n    \"attributeID\": 317, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, capNeedBonus\", \n    \"displayName_de\": \"Energiespeicher-Verbrauchsbonus\", \n    \"displayName_en-us\": \"Capacitor Need Bonus\", \n    \"displayName_es\": \"Bonif. de necesidad del condensador\", \n    \"displayName_fr\": \"Bonus de besoins énergétiques du capaciteur\", \n    \"displayName_it\": \"Capacitor Need Bonus\", \n    \"displayName_ja\": \"キャパシタ消費ボーナス\", \n    \"displayName_ko\": \"캐패시터 요구량 보너스\", \n    \"displayName_ru\": \"Влияние на расход энергии\", \n    \"displayName_zh\": \"电容需求加成\", \n    \"displayNameID\": 233012, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"capNeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"318\": {\n    \"attributeID\": 318, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, speedFBonus\", \n    \"displayName_de\": \"Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad\", \n    \"displayName_fr\": \"Bonus de vitesse\", \n    \"displayName_it\": \"Speed Bonus\", \n    \"displayName_ja\": \"速度ボーナス\", \n    \"displayName_ko\": \"속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость\", \n    \"displayName_zh\": \"速度加成\", \n    \"displayNameID\": 233526, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"speedFBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"319\": {\n    \"attributeID\": 319, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, warpCapacitorNeedBonus\", \n    \"displayName_de\": \"Warp-Energiespeicherbedarf-Bonus\", \n    \"displayName_en-us\": \"Warp Capacitor Need Bonus\", \n    \"displayName_es\": \"Bonif. de necesidad del condensador de warp\", \n    \"displayName_fr\": \"Bonus des besoins énergétiques du capaciteur pour le warp\", \n    \"displayName_it\": \"Warp Capacitor Need Bonus\", \n    \"displayName_ja\": \"ワープキャパシタ消費ボーナス\", \n    \"displayName_ko\": \"워프 캐패시터 요구량 보너스\", \n    \"displayName_ru\": \"Влияние на потребление энергии варп-двигателем\", \n    \"displayName_zh\": \"跃迁电容需求加成\", \n    \"displayNameID\": 233050, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warpCapacitorNeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"320\": {\n    \"attributeID\": 320, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, powerUseBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"powerUseBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"321\": {\n    \"attributeID\": 321, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Stoßfeuerrate\", \n    \"displayName_en-us\": \"Burst Rate Of Fire\", \n    \"displayName_es\": \"Cadencia de tiro de ráfaga\", \n    \"displayName_fr\": \"Cadence de tir des salves\", \n    \"displayName_it\": \"Burst Rate Of Fire\", \n    \"displayName_ja\": \"バースト発射間隔\", \n    \"displayName_ko\": \"버스트 연사속도\", \n    \"displayName_ru\": \"Цикл выстрела для очередей\", \n    \"displayName_zh\": \"射击猝发速率\", \n    \"displayNameID\": 232999, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"burstSpeed\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"322\": {\n    \"attributeID\": 322, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Geschwindigkeitsschub-Änderung\", \n    \"displayName_en-us\": \"Burst Speed Mutator\", \n    \"displayName_es\": \"Mutador de velocidad de ráfaga\", \n    \"displayName_fr\": \"Modificateur de vitesse des salves\", \n    \"displayName_it\": \"Burst Speed Mutator\", \n    \"displayName_ja\": \"バースト速度変異値\", \n    \"displayName_ko\": \"버스트 속도 변동 수치\", \n    \"displayName_ru\": \"Модификатор скорости стрельбы\", \n    \"displayName_zh\": \"猝发速率增变量\", \n    \"displayNameID\": 233000, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"burstSpeedMutator\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"323\": {\n    \"attributeID\": 323, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, PowerNeedBonus\", \n    \"displayName_de\": \"Energieverbrauch-Bonus\", \n    \"displayName_en-us\": \"Power Need Bonus\", \n    \"displayName_es\": \"Bonificación de necesidad de potencia\", \n    \"displayName_fr\": \"Bonus d'utilisation d'énergie\", \n    \"displayName_it\": \"Power Need Bonus\", \n    \"displayName_ja\": \"必要エネルギー量ボーナス\", \n    \"displayName_ko\": \"전력 요구량 보너스\", \n    \"displayName_ru\": \"Влияние на требования к мощности реактора\", \n    \"displayName_zh\": \"能量需求加成\", \n    \"displayNameID\": 233415, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"powerNeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"324\": {\n    \"attributeID\": 324, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"barrageDmgMutator\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"325\": {\n    \"attributeID\": 325, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"barrageFalloffMutator\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"326\": {\n    \"attributeID\": 326, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"barrageDmgMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"327\": {\n    \"attributeID\": 327, \n    \"categoryID\": 4, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, hullHpBonus\", \n    \"displayName_de\": \"HP-Bonus\", \n    \"displayName_en-us\": \"Hitpoint Bonus\", \n    \"displayName_es\": \"Bonificación de puntos de vida\", \n    \"displayName_fr\": \"Bonus de PV\", \n    \"displayName_it\": \"Hitpoint Bonus\", \n    \"displayName_ja\": \"HPボーナス\", \n    \"displayName_ko\": \"내구도 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности\", \n    \"displayName_zh\": \"HP加成\", \n    \"displayNameID\": 233511, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 67, \n    \"name\": \"hullHpBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"328\": {\n    \"attributeID\": 328, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 75.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"barrageFalloff\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"329\": {\n    \"attributeID\": 329, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, GangRofBonus\", \n    \"displayName_de\": \"Feuerraten-Bonus für Flotten\", \n    \"displayName_en-us\": \"Fleet Rate of Fire Bonus\", \n    \"displayName_es\": \"Bonificación de cadencia de tiro de la flota\", \n    \"displayName_fr\": \"Bonus de cadence de tir de la flotte\", \n    \"displayName_it\": \"Fleet Rate of Fire Bonus\", \n    \"displayName_ja\": \"フリート発射間隔ボーナス\", \n    \"displayName_ko\": \"함대 연사속도 보너스\", \n    \"displayName_ru\": \"Влияние на цикл выстрела кораблей во флоте\", \n    \"displayName_zh\": \"舰队射击速度加成\", \n    \"displayNameID\": 233211, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"gangRofBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"330\": {\n    \"attributeID\": 330, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration of booster, after this duration the booster is destroyed\", \n    \"displayName_de\": \"Booster-Dauer\", \n    \"displayName_en-us\": \"Booster Duration\", \n    \"displayName_es\": \"Duración del potenciador\", \n    \"displayName_fr\": \"Durée du booster\", \n    \"displayName_it\": \"Booster Duration\", \n    \"displayName_ja\": \"ブースター持続時間\", \n    \"displayName_ko\": \"부스터 지속시간\", \n    \"displayName_ru\": \"Срок действия\", \n    \"displayName_zh\": \"增效剂时效\", \n    \"displayNameID\": 233547, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"boosterDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"331\": {\n    \"attributeID\": 331, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Whether an item is an implant or not\", \n    \"displayName_de\": \"Implantat Slot\", \n    \"displayName_en-us\": \"Implant Slot\", \n    \"displayName_es\": \"Ranura de implante\", \n    \"displayName_fr\": \"Emplacement d'implant\", \n    \"displayName_it\": \"Implant Slot\", \n    \"displayName_ja\": \"インプラントスロット\", \n    \"displayName_ko\": \"임플란트 슬롯\", \n    \"displayName_ru\": \"Разъём для имплантов\", \n    \"displayName_zh\": \"植入体槽位\", \n    \"displayNameID\": 233622, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2224, \n    \"name\": \"implantness\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 136\n  }, \n  \"332\": {\n    \"attributeID\": 332, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"burstDmg\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"333\": {\n    \"attributeID\": 333, \n    \"categoryID\": 9, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"burstDmgMutator\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"334\": {\n    \"attributeID\": 334, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, shipPowerBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipPowerBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"335\": {\n    \"attributeID\": 335, \n    \"categoryID\": 3, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, armorHpBonus\", \n    \"displayName_de\": \"HP-Bonus für Panzerung\", \n    \"displayName_en-us\": \"Armor Hitpoint Bonus\", \n    \"displayName_es\": \"Bonif. de puntos de vida del blindaje\", \n    \"displayName_fr\": \"Bonus de PV du blindage\", \n    \"displayName_it\": \"Armor Hitpoint Bonus\", \n    \"displayName_ja\": \"アーマーHPボーナス\", \n    \"displayName_ko\": \"장갑 내구도 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности брони\", \n    \"displayName_zh\": \"装甲值加成\", \n    \"displayNameID\": 232964, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1383, \n    \"name\": \"armorHpBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"336\": {\n    \"attributeID\": 336, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, uniformityBonus\", \n    \"displayName_de\": \"Einheitlichkeitsbonus\", \n    \"displayName_en-us\": \"Uniformity Bonus\", \n    \"displayName_es\": \"Bonificación de uniformidad\", \n    \"displayName_fr\": \"Bonus d'uniformité\", \n    \"displayName_it\": \"Uniformity Bonus\", \n    \"displayName_ja\": \"ユニフォーミティボーナス\", \n    \"displayName_ko\": \"일치 보너스\", \n    \"displayName_ru\": \"Бонус цельности\", \n    \"displayName_zh\": \"一致性加成\", \n    \"displayNameID\": 233147, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"uniformityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"337\": {\n    \"attributeID\": 337, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, shieldCapacityBonus\", \n    \"displayName_de\": \"Schildkapazitätsbonus\", \n    \"displayName_en-us\": \"Shield Capacity Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad del escudo\", \n    \"displayName_fr\": \"Bonus de capacité du bouclier\", \n    \"displayName_it\": \"Shield Capacity Bonus\", \n    \"displayName_ja\": \"シールド容量ボーナス\", \n    \"displayName_ko\": \"실드량 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности щитов\", \n    \"displayName_zh\": \"护盾容量加成\", \n    \"displayNameID\": 232970, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1384, \n    \"name\": \"shieldCapacityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"338\": {\n    \"attributeID\": 338, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, rechargeratebonus\", \n    \"displayName_de\": \"Aufladerate-Bonus\", \n    \"displayName_en-us\": \"Recharge Rate Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de carga\", \n    \"displayName_fr\": \"Bonus de vitesse de recharge\", \n    \"displayName_it\": \"Recharge Rate Bonus\", \n    \"displayName_ja\": \"リチャージレートボーナス\", \n    \"displayName_ko\": \"충전율 보너스\", \n    \"displayName_ru\": \"Влияние на скорость регенерации\", \n    \"displayName_zh\": \"回充速率加成\", \n    \"displayNameID\": 233578, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"rechargeratebonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"349\": {\n    \"attributeID\": 349, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, falloffBonus\", \n    \"displayName_de\": \"Reduktionsbonus\", \n    \"displayName_en-us\": \"Falloff Bonus\", \n    \"displayName_es\": \"Bonificación de alcance efectivo\", \n    \"displayName_fr\": \"Bonus de distance de perte\", \n    \"displayName_it\": \"Falloff Bonus\", \n    \"displayName_ja\": \"精度低下ボーナス\", \n    \"displayName_ko\": \"유효사거리 보너스\", \n    \"displayName_ru\": \"Влияние на добавочную дальность\", \n    \"displayName_zh\": \"失准范围加成\", \n    \"displayNameID\": 233180, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"falloffBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"350\": {\n    \"attributeID\": 350, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, skillTrainingTimeBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"skillTrainingTimeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"351\": {\n    \"attributeID\": 351, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, maxRangeBonus\", \n    \"displayName_de\": \"Optimale Reichweite-Bonus\", \n    \"displayName_en-us\": \"Optimal Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance óptimo\", \n    \"displayName_fr\": \"Bonus de portée optimale\", \n    \"displayName_it\": \"Optimal Range Bonus\", \n    \"displayName_ja\": \"最適射程距離ボーナス\", \n    \"displayName_ko\": \"최적사거리 보너스\", \n    \"displayName_ru\": \"Влияние на оптимальную дальность\", \n    \"displayName_zh\": \"最佳射程加成\", \n    \"displayNameID\": 233317, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"maxRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"352\": {\n    \"attributeID\": 352, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum amount of drones that a character can control at a given time.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxActiveDrones\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"353\": {\n    \"attributeID\": 353, \n    \"categoryID\": 10, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, maxActiveDroneBonus\", \n    \"displayName_de\": \"Maximal aktiver Drohnen-Bonus\", \n    \"displayName_en-us\": \"Maximum Active Drone Bonus\", \n    \"displayName_es\": \"Bonificación de drones activos máximos\", \n    \"displayName_fr\": \"Bonus au nombre maximum de drones actifs\", \n    \"displayName_it\": \"Maximum Active Drone Bonus\", \n    \"displayName_ja\": \"最大稼動ドローン数ボーナス\", \n    \"displayName_ko\": \"최대 활성화 드론 보너스\", \n    \"displayName_ru\": \"Влияние на максимальное количество контролируемых дронов\", \n    \"displayName_zh\": \"可控无人机数上限加成\", \n    \"displayNameID\": 233294, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxActiveDroneBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"354\": {\n    \"attributeID\": 354, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, maxDroneBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxDroneBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"355\": {\n    \"attributeID\": 355, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Percentage of pay from agent \", \n    \"displayName_de\": \"Verhandlungsmultiplikator\", \n    \"displayName_en-us\": \"Negotiation Multiplier\", \n    \"displayName_es\": \"Multiplicador de negociación\", \n    \"displayName_fr\": \"Multiplicateur de négociation\", \n    \"displayName_it\": \"Negotiation Multiplier\", \n    \"displayName_ja\": \"交渉乗数\", \n    \"displayName_ko\": \"협상 배수\", \n    \"displayName_ru\": \"Влияние на переговоры\", \n    \"displayName_zh\": \"谈判技巧倍增系数\", \n    \"displayNameID\": 233377, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"negotiationPercentage\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"356\": {\n    \"attributeID\": 356, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to Effective Standing towards Hostile NPC\", \n    \"displayName_de\": \"Diplomatiebonus\", \n    \"displayName_en-us\": \"Diplomacy Bonus\", \n    \"displayName_es\": \"Bonificación de diplomacia\", \n    \"displayName_fr\": \"Bonus de diplomatie\", \n    \"displayName_it\": \"Diplomacy Bonus\", \n    \"displayName_ja\": \"交渉術ボーナス\", \n    \"displayName_ko\": \"외교 보너스\", \n    \"displayName_ru\": \"Влияние дипломатии\", \n    \"displayName_zh\": \"外交学加成\", \n    \"displayNameID\": 233079, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"diplomacyBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"359\": {\n    \"attributeID\": 359, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 100.0, \n    \"description\": \"a percentage multiplyer to sec status recovery\", \n    \"displayName_de\": \"Fast Talk-Prozentsatz\", \n    \"displayName_en-us\": \"Fast Talk Percentage\", \n    \"displayName_es\": \"Porcentaje de conversación rápida\", \n    \"displayName_fr\": \"Pourcentage de persuasion\", \n    \"displayName_it\": \"Fast Talk Percentage\", \n    \"displayName_ja\": \"高速会話パーセンテージ\", \n    \"displayName_ko\": \"화술 배율\", \n    \"displayName_ru\": \"Процент от навыка «Отношения с представителями закона»\", \n    \"displayName_zh\": \"高级沟通技巧增变系数\", \n    \"displayNameID\": 233184, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"fastTalkPercentage\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"360\": {\n    \"attributeID\": 360, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to standing towards Friendly npcs\", \n    \"displayName_de\": \"Beziehungsbonus\", \n    \"displayName_en-us\": \"Connections Bonus\", \n    \"displayName_es\": \"Bonificación de conexiones\", \n    \"displayName_fr\": \"Bonus de relations\", \n    \"displayName_it\": \"Connections Bonus\", \n    \"displayName_ja\": \"コネクションボーナス\", \n    \"displayName_ko\": \"커넥션 보너스\", \n    \"displayName_ru\": \"Влияние отношений\", \n    \"displayName_zh\": \"关系加成\", \n    \"displayNameID\": 233032, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"connectionsBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"361\": {\n    \"attributeID\": 361, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"a bonus to standing towards npc with negativa security status\", \n    \"displayName_de\": \"Kriminelle Verbindungen-Bonus\", \n    \"displayName_en-us\": \"Criminal Connections Bonus\", \n    \"displayName_es\": \"Bonificación de conexiones criminales\", \n    \"displayName_fr\": \"Bonus de relations criminelles\", \n    \"displayName_it\": \"Criminal Connections Bonus\", \n    \"displayName_ja\": \"犯罪コネクションボーナス\", \n    \"displayName_ko\": \"범죄 커넥션 보너스\", \n    \"displayName_ru\": \"Влияние отношений с криминалитетом\", \n    \"displayName_zh\": \"犯罪关系加成\", \n    \"displayNameID\": 233063, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"criminalConnectionsBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"362\": {\n    \"attributeID\": 362, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 100.0, \n    \"description\": \"Bonus To standing gain towards non CONCORD npcs  \", \n    \"displayName_de\": \"Sozial-Bonus\", \n    \"displayName_en-us\": \"Social Bonus\", \n    \"displayName_es\": \"Bonificación social\", \n    \"displayName_fr\": \"Bonus social\", \n    \"displayName_it\": \"Social Bonus\", \n    \"displayName_ja\": \"ソーシャルボーナス\", \n    \"displayName_ko\": \"사회 커넥션 보너스\", \n    \"displayName_ru\": \"Влияние навыка «Развитие деловых отношений»\", \n    \"displayName_zh\": \"社会学加成\", \n    \"displayNameID\": 233203, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"socialBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"363\": {\n    \"attributeID\": 363, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Production time multiplier when manufacturing amarr tech   \", \n    \"displayName_de\": \"Amarr Tech\", \n    \"displayName_en-us\": \"Amarr Tech\", \n    \"displayName_es\": \"Tecnología amarriana\", \n    \"displayName_fr\": \"Technologie amarr\", \n    \"displayName_it\": \"Amarr Tech\", \n    \"displayName_ja\": \"アマー技術\", \n    \"displayName_ko\": \"아마르 기술\", \n    \"displayName_ru\": \"Амаррская технология\", \n    \"displayName_zh\": \"艾玛科技\", \n    \"displayNameID\": 232951, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"amarrTechTimePercent\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"364\": {\n    \"attributeID\": 364, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Production time multiplier when manufacturing Minmatar tech   \", \n    \"displayName_de\": \"Minmatar Tech\", \n    \"displayName_en-us\": \"Minmatar Tech\", \n    \"displayName_es\": \"Tecnología minmatariana\", \n    \"displayName_fr\": \"Technologie minmatar\", \n    \"displayName_it\": \"Minmatar Tech\", \n    \"displayName_ja\": \"ミンマターテクノロジー\", \n    \"displayName_ko\": \"민마타 기술\", \n    \"displayName_ru\": \"Минматарская технология\", \n    \"displayName_zh\": \"米玛塔尔科技\", \n    \"displayNameID\": 233355, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"minmatarTechTimePercent\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"365\": {\n    \"attributeID\": 365, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Production time multiplier when manufacturing Gallente tech   \", \n    \"displayName_de\": \"Gallente Tech\", \n    \"displayName_en-us\": \"Gallente Tech\", \n    \"displayName_es\": \"Tecnología gallente\", \n    \"displayName_fr\": \"Technologie gallente\", \n    \"displayName_it\": \"Gallente Tech\", \n    \"displayName_ja\": \"ガレンテテック\", \n    \"displayName_ko\": \"갈란테 기술\", \n    \"displayName_ru\": \"Галлентская технология\", \n    \"displayName_zh\": \"盖伦特科技\", \n    \"displayNameID\": 233209, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"gallenteTechTimePercent\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"366\": {\n    \"attributeID\": 366, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Production time multiplier when manufacturing caldari tech   \", \n    \"displayName_de\": \"Caldari Tech\", \n    \"displayName_en-us\": \"Caldari Tech\", \n    \"displayName_es\": \"Tecnología caldari\", \n    \"displayName_fr\": \"Technologie caldari\", \n    \"displayName_it\": \"Caldari Tech\", \n    \"displayName_ja\": \"カルダリテクノロジー\", \n    \"displayName_ko\": \"칼다리 기술\", \n    \"displayName_ru\": \"Калдарская технология\", \n    \"displayName_zh\": \"加达里科技\", \n    \"displayNameID\": 233001, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"caldariTechTimePercent\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"367\": {\n    \"attributeID\": 367, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Production time percentage\", \n    \"displayName_de\": \"Produktionszeit in Prozent\", \n    \"displayName_en-us\": \"Production Time Percentage\", \n    \"displayName_es\": \"Porcentaje de tiempo de producción\", \n    \"displayName_fr\": \"Pourcentage de temps de production\", \n    \"displayName_it\": \"Production Time Percentage\", \n    \"displayName_ja\": \"製造時間パーセント\", \n    \"displayName_ko\": \"소요 시간 백분율\", \n    \"displayName_ru\": \"Процент длительности производственных работ\", \n    \"displayName_zh\": \"生产时间百分比\", \n    \"displayNameID\": 233387, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"productionTimePercent\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"368\": {\n    \"attributeID\": 368, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Refining speed percentage\", \n    \"displayName_de\": \"Veredelungszeit in Prozent\", \n    \"displayName_en-us\": \"Refining Time Percentage\", \n    \"displayName_es\": \"Porcentaje de tiempo de refinado\", \n    \"displayName_fr\": \"Pourcentage de temps de raffinage\", \n    \"displayName_it\": \"Refining Time Percentage\", \n    \"displayName_ja\": \"精錬時間パーセント\", \n    \"displayName_ko\": \"정제 시간 백분율\", \n    \"displayName_ru\": \"Влияние на длительность переработки\", \n    \"displayName_zh\": \"精炼时间百分比\", \n    \"displayNameID\": 233336, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"refiningTimePercentage\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"369\": {\n    \"attributeID\": 369, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Manufacturing cost multiplyer\", \n    \"displayName_de\": \"Produktionskosten-Multiplikator\", \n    \"displayName_en-us\": \"Manufacture Cost Multiplier\", \n    \"displayName_es\": \"Multiplicador de coste de fabricación\", \n    \"displayName_fr\": \"Multiplicateur de coût de production\", \n    \"displayName_it\": \"Manufacture Cost Multiplier\", \n    \"displayName_ja\": \"製造コスト乗数\", \n    \"displayName_ko\": \"생산 비용 배수\", \n    \"displayName_ru\": \"Влияние на стоимость производственных работ\", \n    \"displayName_zh\": \"制造消耗倍增系数\", \n    \"displayNameID\": 233281, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"manufactureCostMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"370\": {\n    \"attributeID\": 370, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, amarrTechMutator\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"amarrTechMutator\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"371\": {\n    \"attributeID\": 371, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, caldariTechMutator\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"caldariTechMutator\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"372\": {\n    \"attributeID\": 372, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, gallenteTechMutator\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"gallenteTechMutator\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"373\": {\n    \"attributeID\": 373, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, productionTimeMutator\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"productionTimeMutator\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"374\": {\n    \"attributeID\": 374, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, minmatarTechMutator\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"minmatarTechMutator\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"375\": {\n    \"attributeID\": 375, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, productionCostMutator\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"productionCostMutator\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"376\": {\n    \"attributeID\": 376, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Refining time Multiplier\", \n    \"displayName_de\": \"Raffinierzeit-Multiplikator\", \n    \"displayName_en-us\": \"Refining time Multiplier\", \n    \"displayName_es\": \"Multiplicador de tiempo de refinado\", \n    \"displayName_fr\": \"Multiplicateur de temps de raffinage\", \n    \"displayName_it\": \"Refining time Multiplier\", \n    \"displayName_ja\": \"精錬時間乗数\", \n    \"displayName_ko\": \"정제 시간 배수\", \n    \"displayName_ru\": \"Коэффициент времени переработки\", \n    \"displayName_zh\": \"精炼时间倍增系数\", \n    \"displayNameID\": 233338, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"refiningTimePercent\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"377\": {\n    \"attributeID\": 377, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, refiningTimeMutator\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"refiningTimeMutator\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"378\": {\n    \"attributeID\": 378, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Refining yield percentage\", \n    \"displayName_de\": \"Raffinierertrag-Prozentsatz\", \n    \"displayName_en-us\": \"Refining Yield percentage\", \n    \"displayName_es\": \"Porcentaje de rendimiento de refinado\", \n    \"displayName_fr\": \"Refining Yield percentage\", \n    \"displayName_it\": \"Refining Yield percentage\", \n    \"displayName_ja\": \"精錬による収穫量（％）\", \n    \"displayName_ko\": \"정제 처리 백분율\", \n    \"displayName_ru\": \"Коэффициент выработки\", \n    \"displayName_zh\": \"精炼产量百分比\", \n    \"displayNameID\": 233335, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"refiningYieldPercentage\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"379\": {\n    \"attributeID\": 379, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, refiningYieldMutator\", \n    \"displayName_de\": \"Raffinierertrag-Änderung\", \n    \"displayName_en-us\": \"Refining Yield Mutator\", \n    \"displayName_es\": \"Mutador de rendimiento de refinado\", \n    \"displayName_fr\": \"Modificateur de rendement du raffinage\", \n    \"displayName_it\": \"Refining Yield Mutator\", \n    \"displayName_ja\": \"精錬量変異値\", \n    \"displayName_ko\": \"정제량 변동 수치\", \n    \"displayName_ru\": \"Модификатор выработки\", \n    \"displayName_zh\": \"提炼产量增变系数\", \n    \"displayNameID\": 233250, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"refiningYieldMutator\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"380\": {\n    \"attributeID\": 380, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Max active factories that a player can operate \", \n    \"displayName_de\": \"Maximal aktive Fabriken\", \n    \"displayName_en-us\": \"Maximum Active Factory\", \n    \"displayName_es\": \"Máximo de fábrica activa\", \n    \"displayName_fr\": \"Usine active maximum\", \n    \"displayName_it\": \"Maximum Active Factory\", \n    \"displayName_ja\": \"最大工場稼動数\", \n    \"displayName_ko\": \"최대 공장 수\", \n    \"displayName_ru\": \"Максимальное количество работающих заводов\", \n    \"displayName_zh\": \"活跃工厂数上限\", \n    \"displayNameID\": 233297, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxActiveFactory\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"383\": {\n    \"attributeID\": 383, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Max active factories\", \n    \"displayName_de\": \"Maximal aktive Fabriken\", \n    \"displayName_en-us\": \"Maximum Active Factories\", \n    \"displayName_es\": \"Máximo de fábricas activas\", \n    \"displayName_fr\": \"Usines actives maximum\", \n    \"displayName_it\": \"Maximum Active Factories\", \n    \"displayName_ja\": \"最大工場稼動数\", \n    \"displayName_ko\": \"최대 공장 수\", \n    \"displayName_ru\": \"Максимальное количество работающих заводов\", \n    \"displayName_zh\": \"活跃工厂数上限\", \n    \"displayNameID\": 233296, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxActiveFactories\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"384\": {\n    \"attributeID\": 384, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The max numbers of scientists that can work on CSO's research project.\", \n    \"displayName_de\": \"Maximale Forschungsgruppengröße\", \n    \"displayName_en-us\": \"Maximum Research Gang Size\", \n    \"displayName_es\": \"Tamaño máximo de equipo de investigación\", \n    \"displayName_fr\": \"Taille maximale du gang de recherche\", \n    \"displayName_it\": \"Maximum Research Gang Size\", \n    \"displayName_ja\": \"最大研究ギャングサイズ\", \n    \"displayName_ko\": \"최대 연구 인원 수\", \n    \"displayName_ru\": \"Максимальный размер исследовательской группы\", \n    \"displayName_zh\": \"研究团队规模上限\", \n    \"displayNameID\": 233322, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxResearchGangSize\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"385\": {\n    \"attributeID\": 385, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Research speed \", \n    \"displayName_de\": \"Produktionszeit-Forschungsgeschwindigkeit\", \n    \"displayName_en-us\": \"Production time research speed\", \n    \"displayName_es\": \"Velocidad de investigación de tiempo de producción\", \n    \"displayName_fr\": \"Vitesse de recherche dans le domaine de la production\", \n    \"displayName_it\": \"Production time research speed\", \n    \"displayName_ja\": \"生産時間研究速度\", \n    \"displayName_ko\": \"소요시간 연구 속도\", \n    \"displayName_ru\": \"Скорость ведения проектов повышения скорости производства\", \n    \"displayName_zh\": \"生产时间研究速度\", \n    \"displayNameID\": 233286, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"manufacturingTimeResearchSpeed\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"386\": {\n    \"attributeID\": 386, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Research cost percent\", \n    \"displayName_de\": \"Forschungskosten in Prozent\", \n    \"displayName_en-us\": \"Research Cost Percentage\", \n    \"displayName_es\": \"Porcentaje de coste de investigación\", \n    \"displayName_fr\": \"Pourcentage du coût de recherche\", \n    \"displayName_it\": \"Research Cost Percentage\", \n    \"displayName_ja\": \"研究コストパーセント\", \n    \"displayName_ko\": \"연구 비용 백분율\", \n    \"displayName_ru\": \"Влияние на стоимость научно-исследовательских работ\", \n    \"displayName_zh\": \"研究花费百分比\", \n    \"displayNameID\": 233295, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"researchCostPercent\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"387\": {\n    \"attributeID\": 387, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Blueprint copying speed\", \n    \"displayName_de\": \"Blueprint-Kopiergeschwindigkeit\", \n    \"displayName_en-us\": \"Blueprint copying speed\", \n    \"displayName_es\": \"Velocidad de copia de plano\", \n    \"displayName_fr\": \"Vitesse de copie du plan de construction\", \n    \"displayName_it\": \"Blueprint copying speed\", \n    \"displayName_ja\": \"ブループリントのコピー時間\", \n    \"displayName_ko\": \"블루프린트 복제 속도\", \n    \"displayName_ru\": \"Скорость копирования чертежей\", \n    \"displayName_zh\": \"蓝图复制速度\", \n    \"displayNameID\": 233045, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"copySpeedPercent\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"388\": {\n    \"attributeID\": 388, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"The % of Frigate assembly cost a player has to pay to assemble a frigate\", \n    \"displayName_de\": \"Fregatten-Konstruktionskosten\", \n    \"displayName_en-us\": \"Frigate construction cost\", \n    \"displayName_es\": \"Coste de construcción de fragatas\", \n    \"displayName_fr\": \"Coût de construction de frégate\", \n    \"displayName_it\": \"Frigate construction cost\", \n    \"displayName_ja\": \"フリゲート建造コスト\", \n    \"displayName_ko\": \"프리깃 건설 비용\", \n    \"displayName_ru\": \"Стоимость строительства фрегата\", \n    \"displayName_zh\": \"护卫舰建造花费\", \n    \"displayNameID\": 233206, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"frigateConstructionCost\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"389\": {\n    \"attributeID\": 389, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The % of cruiser assembly cost a player has to pay to assemble a cruiser\", \n    \"displayName_de\": \"Kreuzer-Konstruktionskosten\", \n    \"displayName_en-us\": \"Cruiser construction cost\", \n    \"displayName_es\": \"Coste de construcción de cruceros\", \n    \"displayName_fr\": \"Coût de construction de croiseur\", \n    \"displayName_it\": \"Cruiser construction cost\", \n    \"displayName_ja\": \"巡洋艦建造コスト\", \n    \"displayName_ko\": \"크루저 건설 비용\", \n    \"displayName_ru\": \"Стоимость строительства крейсера\", \n    \"displayName_zh\": \"巡洋舰建造花费\", \n    \"displayNameID\": 233065, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cruiserConstructionCost\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"392\": {\n    \"attributeID\": 392, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The % of industrial assembly cost a player has to pay to assemble a industrial\", \n    \"displayName_de\": \"Industrial-Konstruktionskosten\", \n    \"displayName_en-us\": \"Industrial construction cost\", \n    \"displayName_es\": \"Coste de construcción industrial\", \n    \"displayName_fr\": \"Coût de construction industrielle\", \n    \"displayName_it\": \"Industrial construction cost\", \n    \"displayName_ja\": \"輸送艦建造コスト\", \n    \"displayName_ko\": \"산업 건설 비용\", \n    \"displayName_ru\": \"Стоимость производства грузового корабля\", \n    \"displayName_zh\": \"工业舰建造花费\", \n    \"displayNameID\": 233260, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"industrialConstructionCost\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"393\": {\n    \"attributeID\": 393, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The % of battleship assembly cost a player has to pay to assemble a battleship\", \n    \"displayName_de\": \"Schlachtschiff-Konstruktionskosten\", \n    \"displayName_en-us\": \"Battleship construction cost\", \n    \"displayName_es\": \"Coste de construcción de acorazados\", \n    \"displayName_fr\": \"Coût de construction de cuirassé\", \n    \"displayName_it\": \"Battleship construction cost\", \n    \"displayName_ja\": \"戦艦建造コスト\", \n    \"displayName_ko\": \"배틀쉽 건설 비용\", \n    \"displayName_ru\": \"Стоимость строительства линкора\", \n    \"displayName_zh\": \"战列舰建造花费\", \n    \"displayNameID\": 232976, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"battleshipConstructionCost\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"394\": {\n    \"attributeID\": 394, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Titan construction time\", \n    \"displayName_de\": \"Titan-Konstruktionszeit\", \n    \"displayName_en-us\": \"Titan construction time\", \n    \"displayName_es\": \"Tiempo de construcción de titanes\", \n    \"displayName_fr\": \"Temps de construction de titan\", \n    \"displayName_it\": \"Titan construction time\", \n    \"displayName_ja\": \"タイタン建造時間\", \n    \"displayName_ko\": \"타이탄 건설 시간\", \n    \"displayName_ru\": \"Время строительства титана\", \n    \"displayName_zh\": \"泰坦建造时间\", \n    \"displayNameID\": 233168, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"titanConstructionTime\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"395\": {\n    \"attributeID\": 395, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Station construction time\", \n    \"displayName_de\": \"Stationsbauzeit\", \n    \"displayName_en-us\": \"Station construction time\", \n    \"displayName_es\": \"Tiempo de construcción de estaciones\", \n    \"displayName_fr\": \"Temps de construction de station\", \n    \"displayName_it\": \"Station construction time\", \n    \"displayName_ja\": \"ステーション建造時間\", \n    \"displayName_ko\": \"정거장 건설 시간\", \n    \"displayName_ru\": \"Время строительства станции\", \n    \"displayName_zh\": \"空间站建造时间\", \n    \"displayNameID\": 233190, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"stationConstructionTime\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"396\": {\n    \"attributeID\": 396, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Repair cost percent\", \n    \"displayName_de\": \"Reparaturkosten in Prozent\", \n    \"displayName_en-us\": \"Repair Cost Percentage\", \n    \"displayName_es\": \"Porcentaje de coste de reparación\", \n    \"displayName_fr\": \"Pourcentage du coût de réparation\", \n    \"displayName_it\": \"Repair Cost Percentage\", \n    \"displayName_ja\": \"リペアコストパーセント\", \n    \"displayName_ko\": \"수리 비용 백분율\", \n    \"displayName_ru\": \"Влияние на стоимость ремонта\", \n    \"displayName_zh\": \"维修消耗百分比\", \n    \"displayNameID\": 233327, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"repairCostPercent\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"397\": {\n    \"attributeID\": 397, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of making a research breakthrough when researching a higher tech level of a blueprint\", \n    \"displayName_de\": \"Durchbruch in Prozent\", \n    \"displayName_en-us\": \"Breakthrough Percentage\", \n    \"displayName_es\": \"Porcentaje de avances\", \n    \"displayName_fr\": \"Pourcentage d'avancée\", \n    \"displayName_it\": \"Breakthrough Percentage\", \n    \"displayName_ja\": \"ブレークスルーパーセント\", \n    \"displayName_ko\": \"연구 돌파 확률\", \n    \"displayName_ru\": \"Влияние на шанс прорыва\", \n    \"displayName_zh\": \"成就突破比例\", \n    \"displayNameID\": 233291, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reverseEngineeringChance\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"398\": {\n    \"attributeID\": 398, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"speed bonus when researching blueprint mineral need\", \n    \"displayName_de\": \"Mineralbedarfsforschungsgeschwindigkeit\", \n    \"displayName_en-us\": \"Mineral need research speed\", \n    \"displayName_es\": \"Velocidad de investigación de requisitos de minerales\", \n    \"displayName_fr\": \"Vitesse de recherche de besoin en minerai\", \n    \"displayName_it\": \"Mineral need research speed\", \n    \"displayName_ja\": \"無機物必要量研究速度\", \n    \"displayName_ko\": \"미네랄 요구량 연구 속도\", \n    \"displayName_ru\": \"Скорость ведения проектов повышения материалоэффективности производства\", \n    \"displayName_zh\": \"矿物需求研究速度\", \n    \"displayNameID\": 233348, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"mineralNeedResearchSpeed\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"399\": {\n    \"attributeID\": 399, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of upgrading a module to next tech level \", \n    \"displayName_de\": \"Chance auf Prototypentwicklung\", \n    \"displayName_en-us\": \"Prototyping Chance\", \n    \"displayName_es\": \"Probabilidad de prototipo\", \n    \"displayName_fr\": \"Chance de prototype\", \n    \"displayName_it\": \"Prototyping Chance\", \n    \"displayName_ja\": \"プロトタイプチャンス\", \n    \"displayName_ko\": \"업그레이드 확률\", \n    \"displayName_ru\": \"Вероятность создания образца\", \n    \"displayName_zh\": \"原型几率\", \n    \"displayNameID\": 233134, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"duplicatingChance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"400\": {\n    \"attributeID\": 400, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Missiles velocity multiplier\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"missileStandardVelocityPecent\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"401\": {\n    \"attributeID\": 401, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Damage Bonus for Cruise Missiles\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cruiseMissileVelocityPercent\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"402\": {\n    \"attributeID\": 402, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Heavy missile speed percent\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"heavyMissileSpeedPercent\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"403\": {\n    \"attributeID\": 403, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Rocket Dmg Percent\", \n    \"displayName_de\": \"Raketenschaden in Prozent\", \n    \"displayName_en-us\": \"Rocket Damage Percentage\", \n    \"displayName_es\": \"Porcentaje de daños de cohetes\", \n    \"displayName_fr\": \"Pourcentage de dégâts causés par les roquettes\", \n    \"displayName_it\": \"Rocket Damage Percentage\", \n    \"displayName_ja\": \"ロケットダメージパーセント\", \n    \"displayName_ko\": \"로켓 피해 백분율\", \n    \"displayName_ru\": \"Процент урона лёгких штурмовых ракет\", \n    \"displayName_zh\": \"火箭伤害百分比\", \n    \"displayNameID\": 233285, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"rocketDmgPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"404\": {\n    \"attributeID\": 404, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Torpedo velocity percent\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"torpedoVelocityPercent\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"405\": {\n    \"attributeID\": 405, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Defender velocity percent\", \n    \"displayName_de\": \"Prozent der Abfangraketengeschwindigkeit\", \n    \"displayName_en-us\": \"Defender Velocity Percentage\", \n    \"displayName_es\": \"Porcentaje de velocidad del defensor\", \n    \"displayName_fr\": \"Pourcentage de vitesse du défenseur\", \n    \"displayName_it\": \"Defender Velocity Percentage\", \n    \"displayName_ja\": \"ディフェンダー速度パーセント\", \n    \"displayName_ko\": \"디펜더 속도 %\", \n    \"displayName_ru\": \"Процент скорости противоракет\", \n    \"displayName_zh\": \"反弹道导弹速度百分比\", \n    \"displayNameID\": 233078, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"defenderVelocityPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"406\": {\n    \"attributeID\": 406, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 100.0, \n    \"description\": \"Missile FOF velocity percent\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"missileFOFVelocityPercent\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"407\": {\n    \"attributeID\": 407, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Max research gang size bonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"researchGangSizeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"408\": {\n    \"attributeID\": 408, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, battleshipConstructionTimeBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"battleshipConstructionTimeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"409\": {\n    \"attributeID\": 409, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, cruiserConstructionTimeBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cruiserConstructionTimeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"410\": {\n    \"attributeID\": 410, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, frigateConstructionTimeBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"frigateConstructionTimeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"411\": {\n    \"attributeID\": 411, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, industrialConstructionTimeBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"industrialConstructionTimeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"412\": {\n    \"attributeID\": 412, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, connectionBonusMutator\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"connectionBonusMutator\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"413\": {\n    \"attributeID\": 413, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, criminalConnectionsMutator\", \n    \"displayName_de\": \"Veränderung krimineller Verbindungen\", \n    \"displayName_en-us\": \"Criminal Connections Mutator\", \n    \"displayName_es\": \"Mutador de conexiones criminales\", \n    \"displayName_fr\": \"Modificateur de relations criminelles\", \n    \"displayName_it\": \"Criminal Connections Mutator\", \n    \"displayName_ja\": \"犯罪コネクション変異値\", \n    \"displayName_ko\": \"범죄 커넥션 변동 수치\", \n    \"displayName_ru\": \"Модификатор отношений с криминалитетом\", \n    \"displayName_zh\": \"犯罪关系增变量\", \n    \"displayNameID\": 233064, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"criminalConnectionsMutator\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"414\": {\n    \"attributeID\": 414, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, diplomacyMutator\", \n    \"displayName_de\": \"Diplomatie-Änderung\", \n    \"displayName_en-us\": \"Diplomacy Mutator\", \n    \"displayName_es\": \"Mutador de diplomacia\", \n    \"displayName_fr\": \"Modificateur de diplomatie\", \n    \"displayName_it\": \"Diplomacy Mutator\", \n    \"displayName_ja\": \"交渉術変異値\", \n    \"displayName_ko\": \"외교 변동 수치\", \n    \"displayName_ru\": \"Модификатор дипломатии\", \n    \"displayName_zh\": \"外交学增变系数\", \n    \"displayNameID\": 233080, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"diplomacyMutator\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"415\": {\n    \"attributeID\": 415, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, fastTalkMutator\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"fastTalkMutator\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"416\": {\n    \"attributeID\": 416, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 500.0, \n    \"description\": \"The distance at which the entity orbits, follows.. and more.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityFlyRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"417\": {\n    \"attributeID\": 417, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Max non  race corporationMembers\", \n    \"displayName_de\": \"Maximale Corporation-Mitglieder anderer Völker\", \n    \"displayName_en-us\": \"Maximum Non-Race Corporation Members\", \n    \"displayName_es\": \"Máximo de miembros de la corporación sin raza\", \n    \"displayName_fr\": \"Membres de race différente maximum dans la corporation\", \n    \"displayName_it\": \"Maximum Non-Race Corporation Members\", \n    \"displayName_ja\": \"最大非種族コーポレーションメンバー\", \n    \"displayName_ko\": \"코퍼레이션 회원 최대수\", \n    \"displayName_ru\": \"Максимальное число пилотов корпорации, имеющих гражданство иной сверхдержавы\", \n    \"displayName_zh\": \"非同族军团成员上限\", \n    \"displayNameID\": 233311, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxNonRaceCorporationMembers\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"418\": {\n    \"attributeID\": 418, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, nonRaceCorporationMembersBonus\", \n    \"displayName_de\": \"Bonus auf Corporation-Mitglieder anderer Völker\", \n    \"displayName_en-us\": \"Non-Race Corporation Members Bonus\", \n    \"displayName_es\": \"Bonificación de miembros de la corporación sin raza\", \n    \"displayName_fr\": \"Bonus de membres de race différente dans la corporation\", \n    \"displayName_it\": \"Non-Race Corporation Members Bonus\", \n    \"displayName_ja\": \"非種族コーポレーションメンバーボーナス\", \n    \"displayName_ko\": \"코퍼레이션 회원 보너스\", \n    \"displayName_ru\": \"Влияние на число членов корпорации, имеющих гражданство иной сверхдержавы\", \n    \"displayName_zh\": \"非同族军团成员加成\", \n    \"displayNameID\": 233378, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"nonRaceCorporationMembersBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"419\": {\n    \"attributeID\": 419, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 10000.0, \n    \"description\": \"Amount of skill points saved by clone\", \n    \"displayName_de\": \"Gesicherte Skill-Punkte\", \n    \"displayName_en-us\": \"Skill Points Saved\", \n    \"displayName_es\": \"Puntos de habilidad guardados\", \n    \"displayName_fr\": \"Points de compétences sauvés\", \n    \"displayName_it\": \"Skill Points Saved\", \n    \"displayName_ja\": \"保存スキルポイント\", \n    \"displayName_ko\": \"보유 스킬 포인트\", \n    \"displayName_ru\": \"Сохранямые СП\", \n    \"displayName_zh\": \"保留技能点数\", \n    \"displayNameID\": 233207, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 33, \n    \"name\": \"skillPointsSaved\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"420\": {\n    \"attributeID\": 420, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, trackingBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"trackingBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"421\": {\n    \"attributeID\": 421, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, shieldRechargerateBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shieldRechargerateBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"422\": {\n    \"attributeID\": 422, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"Authoring has been moved to FSD\\r\\nTech level of an item\", \n    \"displayName_de\": \"Tech-Level\", \n    \"displayName_en-us\": \"Tech Level\", \n    \"displayName_es\": \"Nivel de tecnología\", \n    \"displayName_fr\": \"Niveau technologique\", \n    \"displayName_it\": \"Tech Level\", \n    \"displayName_ja\": \"テックレベル\", \n    \"displayName_ko\": \"테크 레벨\", \n    \"displayName_ru\": \"Техуровень\", \n    \"displayName_zh\": \"科技等级\", \n    \"displayNameID\": 233636, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1446, \n    \"name\": \"techLevel\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 140\n  }, \n  \"423\": {\n    \"attributeID\": 423, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityDroneCount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"424\": {\n    \"attributeID\": 424, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, cpu OutputBonus\", \n    \"displayName_de\": \"CPU Leistungsbonus\", \n    \"displayName_en-us\": \"CPU Output Bonus\", \n    \"displayName_es\": \"Bonificación de rendimiento de la CPU\", \n    \"displayName_fr\": \"Bonus de puissance du CPU\", \n    \"displayName_it\": \"CPU Output Bonus\", \n    \"displayName_ja\": \"CPU出力ボーナス\", \n    \"displayName_ko\": \"CPU 출력 보너스\", \n    \"displayName_ru\": \"Повышение мощности ЦПУ\", \n    \"displayName_zh\": \"CPU输出加成\", \n    \"displayNameID\": 233056, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cpuOutputBonus2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"425\": {\n    \"attributeID\": 425, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, cpuOutputBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cpuOutputBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"426\": {\n    \"attributeID\": 426, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Drohnenschaden in Prozent\", \n    \"displayName_en-us\": \"Drone Damage Percentage\", \n    \"displayName_es\": \"Porcentaje de daños de drones\", \n    \"displayName_fr\": \"Pourcentage de dégâts causés par les drones\", \n    \"displayName_it\": \"Drone Damage Percentage\", \n    \"displayName_ja\": \"ドローンダメージパーセント\", \n    \"displayName_ko\": \"드론 피해 백분율\", \n    \"displayName_ru\": \"Процент урона дронов\", \n    \"displayName_zh\": \"无人机伤害百分比\", \n    \"displayNameID\": 233228, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"heavyDroneDamagePercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"427\": {\n    \"attributeID\": 427, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, heavyDroneDamageBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"heavyDroneDamageBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"428\": {\n    \"attributeID\": 428, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Mining drone speed percent\", \n    \"displayName_de\": \"Geschwindigkeitsbonus von Bergbaudrohnen\", \n    \"displayName_en-us\": \"Mining Drone Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de drones mineros\", \n    \"displayName_fr\": \"Bonus de vitesse des drones d'extraction\", \n    \"displayName_it\": \"Mining Drone Speed Bonus\", \n    \"displayName_ja\": \"採掘ドローン速度ボーナス\", \n    \"displayName_ko\": \"채굴 드론 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость буровых дронов\", \n    \"displayName_zh\": \"采矿无人机速度加成\", \n    \"displayNameID\": 233353, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"miningDroneAmountPercent\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"429\": {\n    \"attributeID\": 429, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, miningDroneSpeedBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"miningDroneSpeedBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"430\": {\n    \"attributeID\": 430, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scoutDroneVelocityPercent\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"431\": {\n    \"attributeID\": 431, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, scoutDroneVelocityBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scoutDroneVelocityBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"432\": {\n    \"attributeID\": 432, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, defenderVelocityBonus\", \n    \"displayName_de\": \"Drohnengeschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Drone Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de drones\", \n    \"displayName_fr\": \"Bonus de vitesse des drones\", \n    \"displayName_it\": \"Drone Velocity Bonus\", \n    \"displayName_ja\": \"ドローン速度ボーナス\", \n    \"displayName_ko\": \"드론 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость дронов\", \n    \"displayName_zh\": \"无人机速度加成\", \n    \"displayNameID\": 233077, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"defenderVelocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"433\": {\n    \"attributeID\": 433, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, heavyMissileDamageBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"heavyMissileDamageBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"434\": {\n    \"attributeID\": 434, \n    \"categoryID\": 51, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, miningAmountBonus\", \n    \"displayName_de\": \"Bergbauertrag-Bonus\", \n    \"displayName_en-us\": \"Mining Amount Bonus\", \n    \"displayName_es\": \"Bonificación por cantidad extraída\", \n    \"displayName_fr\": \"Bonus de minerai extrait\", \n    \"displayName_it\": \"Mining Amount Bonus\", \n    \"displayName_ja\": \"採掘量ボーナス\", \n    \"displayName_ko\": \"채굴 총량 보너스\", \n    \"displayName_ru\": \"Влияние на объём добычи\", \n    \"displayName_zh\": \"开采量加成\", \n    \"displayNameID\": 233350, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningAmountBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"435\": {\n    \"attributeID\": 435, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 3.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Max. aktive Kommando-Relais\", \n    \"displayName_en-us\": \"Maximum Active Command Relays\", \n    \"displayName_es\": \"Máx. de relés de mando activos\", \n    \"displayName_fr\": \"Relais de commandement actifs max.\", \n    \"displayName_it\": \"Maximum Active Command Relays\", \n    \"displayName_ja\": \"コマンドリレー最大稼働数\", \n    \"displayName_ko\": \"최대 지휘통신소 수\", \n    \"displayName_ru\": \"Максимальное количество активных командных ретрансляторов\", \n    \"displayName_zh\": \"最大活动指挥中继量\", \n    \"displayNameID\": 233628, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxGangModules\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"436\": {\n    \"attributeID\": 436, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"standingIncreasePercent\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"437\": {\n    \"attributeID\": 437, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, NegotiationBonus\", \n    \"displayName_de\": \"Verhandlungsbonus\", \n    \"displayName_en-us\": \"Negotiation Bonus\", \n    \"displayName_es\": \"Bonificación de negociación\", \n    \"displayName_fr\": \"Bonus de négociation\", \n    \"displayName_it\": \"Negotiation Bonus\", \n    \"displayName_ja\": \"交渉ボーナス\", \n    \"displayName_ko\": \"협상 보너스\", \n    \"displayName_ru\": \"Влияние навыка\", \n    \"displayName_zh\": \"谈判技巧加成\", \n    \"displayNameID\": 233584, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"negotiationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"438\": {\n    \"attributeID\": 438, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, socialMutator\", \n    \"displayName_de\": \"Sozial-Änderung\", \n    \"displayName_en-us\": \"Social Mutator\", \n    \"displayName_es\": \"Mutador social\", \n    \"displayName_fr\": \"Modificateur social\", \n    \"displayName_it\": \"Social Mutator\", \n    \"displayName_ja\": \"ソーシャル変異値\", \n    \"displayName_ko\": \"사회 커넥션 변동 수치\", \n    \"displayName_ru\": \"Модификатор деловых отношений\", \n    \"displayName_zh\": \"社会学增变系数\", \n    \"displayNameID\": 233202, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"socialMutator\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"439\": {\n    \"attributeID\": 439, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, targetingSpeedBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"targetingSpeedBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"440\": {\n    \"attributeID\": 440, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, manufacturingTimeBonus\", \n    \"displayName_de\": \"Produktionszeitbonus\", \n    \"displayName_en-us\": \"Manufacturing Time Bonus\", \n    \"displayName_es\": \"Bonificación de tiempo de fabricación\", \n    \"displayName_fr\": \"Bonus de temps de production\", \n    \"displayName_it\": \"Manufacturing Time Bonus\", \n    \"displayName_ja\": \"製造時間ボーナス\", \n    \"displayName_ko\": \"제조 시간 보너스\", \n    \"displayName_ru\": \"Влияние на скорость производства\", \n    \"displayName_zh\": \"制造时间加成\", \n    \"displayNameID\": 233284, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"manufacturingTimeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"441\": {\n    \"attributeID\": 441, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, TurretSpeeBonus\", \n    \"displayName_de\": \"Feuerraten-Bonus\", \n    \"displayName_en-us\": \"Rate of Fire Bonus\", \n    \"displayName_es\": \"Bonificación de cadencia de tiro\", \n    \"displayName_fr\": \"Bonus de cadence de tir\", \n    \"displayName_it\": \"Rate of Fire Bonus\", \n    \"displayName_ja\": \"発射間隔ボーナス\", \n    \"displayName_ko\": \"연사속도 보너스\", \n    \"displayName_ru\": \"Влияние на цикл выстрела\", \n    \"displayName_zh\": \"射击速度加成\", \n    \"displayNameID\": 233156, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"turretSpeeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"442\": {\n    \"attributeID\": 442, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"skill discount when selling to npc corps\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"barterDiscount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"443\": {\n    \"attributeID\": 443, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"price bonus when selling to npc corps\\r\\n\", \n    \"displayName_de\": \"Handelsprämie\", \n    \"displayName_en-us\": \"Trade premium\", \n    \"displayName_es\": \"Comercio prémium\", \n    \"displayName_fr\": \"Commission sur transaction\", \n    \"displayName_it\": \"Trade premium\", \n    \"displayName_ja\": \"トレードプレミアム\", \n    \"displayName_ko\": \"거래 보너스\", \n    \"displayName_ru\": \"Бонус к торговле\", \n    \"displayName_zh\": \"交换奖品\", \n    \"displayNameID\": 233161, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"tradePremium\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"444\": {\n    \"attributeID\": 444, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of being caught selling contraband on market. \", \n    \"displayName_de\": \"Chance auf erfolgreiches Schmuggeln\", \n    \"displayName_en-us\": \"Contraband fencing chance\", \n    \"displayName_es\": \"Probabilidad de tráfico de contrabando\", \n    \"displayName_fr\": \"Chance de passage en contrebande\", \n    \"displayName_it\": \"Contraband fencing chance\", \n    \"displayName_ja\": \"密輸品探知回避率\", \n    \"displayName_ko\": \"밀수품 판매 적발 확률\", \n    \"displayName_ru\": \"Шанс провезти контрабанду\", \n    \"displayName_zh\": \"违禁物侦获几率\", \n    \"displayNameID\": 233036, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"contrabandFencingChance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"445\": {\n    \"attributeID\": 445, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of being caught Transporting contraband. \", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"smugglingChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"446\": {\n    \"attributeID\": 446, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, tradePremiumBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"tradePremiumBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"447\": {\n    \"attributeID\": 447, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, smugglingChanceBonus\", \n    \"displayName_de\": \"Schmuggelchance-Bonus\", \n    \"displayName_en-us\": \"Smuggling Chance Bonus\", \n    \"displayName_es\": \"Bonificación de probabilidad de contrabando\", \n    \"displayName_fr\": \"Bonus de chance de contrebande\", \n    \"displayName_it\": \"Smuggling Chance Bonus\", \n    \"displayName_ja\": \"密輸成功率ボーナス\", \n    \"displayName_ko\": \"밀수확률 보너스\", \n    \"displayName_ru\": \"Влияние на шанс успешного провоза контрабанды\", \n    \"displayName_zh\": \"非法贩售几率加成\", \n    \"displayNameID\": 233204, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1196, \n    \"name\": \"smugglingChanceBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"448\": {\n    \"attributeID\": 448, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, fencingChanceBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"fencingChanceBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"449\": {\n    \"attributeID\": 449, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, BarterDiscountBonus\", \n    \"displayName_de\": \"Nachlassbonus für Tauschhandel\", \n    \"displayName_en-us\": \"Barter Discount Bonus\", \n    \"displayName_es\": \"Bonificación de descuento de trueques\", \n    \"displayName_fr\": \"Bonus de réduction du troc\", \n    \"displayName_it\": \"Barter Discount Bonus\", \n    \"displayName_ja\": \"バーター割引ボーナス\", \n    \"displayName_ko\": \"거래 할인 보너스\", \n    \"displayName_ru\": \"Скидка при обмене\", \n    \"displayName_zh\": \"交易折扣加成\", \n    \"displayNameID\": 232973, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"barterDiscountBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"450\": {\n    \"attributeID\": 450, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, manufacturingSlotBonus\", \n    \"displayName_de\": \"Produktionsslotbonus\", \n    \"displayName_en-us\": \"Manufacturing Slot Bonus\", \n    \"displayName_es\": \"Bonificación de ranura de fabricación\", \n    \"displayName_fr\": \"Bonus de créneau de production\", \n    \"displayName_it\": \"Manufacturing Slot Bonus\", \n    \"displayName_ja\": \"製造スロットボーナス\", \n    \"displayName_ko\": \"제조 슬롯 보너스\", \n    \"displayName_ru\": \"Влияние на количество производственных линий\", \n    \"displayName_zh\": \"制造槽位加成\", \n    \"displayNameID\": 233627, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"manufacturingSlotBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"451\": {\n    \"attributeID\": 451, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, manufactureCostBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"manufactureCostBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"452\": {\n    \"attributeID\": 452, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, CopySpeedBonus\", \n    \"displayName_de\": \"Kopiergeschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Copy Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad al copiar\", \n    \"displayName_fr\": \"Bonus de vitesse de copie\", \n    \"displayName_it\": \"Copy Speed Bonus\", \n    \"displayName_ja\": \"コピー速度ボーナス\", \n    \"displayName_ko\": \"복제 속도 보너스\", \n    \"displayName_ru\": \"Снижение расхода времени на копирование\", \n    \"displayName_zh\": \"复制速度加成\", \n    \"displayNameID\": 233044, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"copySpeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"453\": {\n    \"attributeID\": 453, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, blueprintmanufactureTimeBonus\", \n    \"displayName_de\": \"Blueprint-Produktionszeitbonus\", \n    \"displayName_en-us\": \"Blueprint Manufacture Time Bonus\", \n    \"displayName_es\": \"Bonificación de tiempo de fabricación de planos\", \n    \"displayName_fr\": \"Bonus de temps de fabrication de plan de construction\", \n    \"displayName_it\": \"Blueprint Manufacture Time Bonus\", \n    \"displayName_ja\": \"ブループリント製造時間ボーナス\", \n    \"displayName_ko\": \"블루프린트 제작 시간 보너스\", \n    \"displayName_ru\": \"Влияние на время производства по чертежу\", \n    \"displayName_zh\": \"蓝图制造时间加成\", \n    \"displayNameID\": 232980, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"blueprintmanufactureTimeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"454\": {\n    \"attributeID\": 454, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"mutaton\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"455\": {\n    \"attributeID\": 455, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, learningBonus\", \n    \"displayName_de\": \"Bildungsbonus\", \n    \"displayName_en-us\": \"Learning Bonus\", \n    \"displayName_es\": \"Bonificación de aprendizaje\", \n    \"displayName_fr\": \"Bonus de formation\", \n    \"displayName_it\": \"Learning Bonus\", \n    \"displayName_ja\": \"学習ボーナス\", \n    \"displayName_ko\": \"학습 보너스\", \n    \"displayName_ru\": \"Влияние навыков группы «Обучение»\", \n    \"displayName_zh\": \"能力学加成\", \n    \"displayNameID\": 233278, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"learningBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"456\": {\n    \"attributeID\": 456, \n    \"categoryID\": 19, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityEquipmentMin\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"457\": {\n    \"attributeID\": 457, \n    \"categoryID\": 19, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityEquipmentMax\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"458\": {\n    \"attributeID\": 458, \n    \"categoryID\": 10, \n    \"dataType\": 4, \n    \"defaultValue\": 20000.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximale Kontrollreichweite für Drohnen\", \n    \"displayName_en-us\": \"Maximum Drone Control Distance\", \n    \"displayName_es\": \"Distancia de control máx. de drones\", \n    \"displayName_fr\": \"Distance maximale de contrôle des drones\", \n    \"displayName_it\": \"Maximum Drone Control Distance\", \n    \"displayName_ja\": \"ドローン制御最大距離\", \n    \"displayName_ko\": \"최대 드론 통제 거리\", \n    \"displayName_ru\": \"Максимальная дистанция управления дронами\", \n    \"displayName_zh\": \"无人机最大控制距离\", \n    \"displayNameID\": 233109, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"droneControlDistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"459\": {\n    \"attributeID\": 459, \n    \"categoryID\": 10, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, droneRangeBonus\", \n    \"displayName_de\": \"Drohnenkontrollreichweite-Bonus\", \n    \"displayName_en-us\": \"Drone Control Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance de control de drones\", \n    \"displayName_fr\": \"Bonus de portée de contrôle des drones\", \n    \"displayName_it\": \"Drone Control Range Bonus\", \n    \"displayName_ja\": \"ドローン制御範囲ボーナス\", \n    \"displayName_ko\": \"드론 통제 사거리 보너스\", \n    \"displayName_ru\": \"Влияние на дальность управления дронами\", \n    \"displayName_zh\": \"无人机控制范围加成\", \n    \"displayNameID\": 233115, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"droneRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"460\": {\n    \"attributeID\": 460, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus für spezielle Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Классовый бонус\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 233239, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusMF\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"461\": {\n    \"attributeID\": 461, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, specialAbilityBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"specialAbilityBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"462\": {\n    \"attributeID\": 462, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusGF\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"463\": {\n    \"attributeID\": 463, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCF\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"464\": {\n    \"attributeID\": 464, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusAF\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"465\": {\n    \"attributeID\": 465, \n    \"categoryID\": 19, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"The maximum drops of same group (example: entity can only drop 1 of group: energy laser)\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityEquipmentGroupMax\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"466\": {\n    \"attributeID\": 466, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"The chance of an entity attacking the same person as its group members.  Scales delay in joining in on fights too.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityReactionFactor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"467\": {\n    \"attributeID\": 467, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximal aktive Labore\", \n    \"displayName_en-us\": \"Maximum Active Laboratories\", \n    \"displayName_es\": \"Máximo de laboratorios activos\", \n    \"displayName_fr\": \"Laboratoires actifs maximum\", \n    \"displayName_it\": \"Maximum Active Laboratories\", \n    \"displayName_ja\": \"最大研究所稼動数\", \n    \"displayName_ko\": \"최대 연구실 수\", \n    \"displayName_ru\": \"Максимальное количество работающих лабораторий\", \n    \"displayName_zh\": \"活跃实验室数上限\", \n    \"displayNameID\": 233307, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxLaborotorySlots\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"468\": {\n    \"attributeID\": 468, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, mineralNeedResearchBonus\", \n    \"displayName_de\": \"Mineralbedarfsforschung-Bonus\", \n    \"displayName_en-us\": \"Mineral Need Research Bonus\", \n    \"displayName_es\": \"Bonificación de investigación de requisitos de minerales\", \n    \"displayName_fr\": \"Bonus de recherche du besoin de minerai\", \n    \"displayName_it\": \"Mineral Need Research Bonus\", \n    \"displayName_ja\": \"無機物必要量研究ボーナス\", \n    \"displayName_ko\": \"미네랄 요구량 연구 보너스\", \n    \"displayName_ru\": \"Влияние на скорость ведения проектов повышения материалоэффективности производства\", \n    \"displayName_zh\": \"矿物需求研究加成\", \n    \"displayNameID\": 233347, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"mineralNeedResearchBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"469\": {\n    \"attributeID\": 469, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityBluePrintDropChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"470\": {\n    \"attributeID\": 470, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 600000.0, \n    \"description\": \"The number of milliseconds before the container replenishes the loot inside itself. There is a constant that will be automatically override this value if set to anything lower than 60 seconds.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"lootRespawnTime\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"471\": {\n    \"attributeID\": 471, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, laboratorySlotsBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"laboratorySlotsBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"472\": {\n    \"attributeID\": 472, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The type of station this platform can be used to build.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"stationTypeID\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"473\": {\n    \"attributeID\": 473, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, prototypingBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"prototypingBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"474\": {\n    \"attributeID\": 474, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, inventionBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"inventionBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"475\": {\n    \"attributeID\": 475, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Minimum attack delay time for entity.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityAttackDelayMin\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"476\": {\n    \"attributeID\": 476, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum attack delay time for entity.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityAttackDelayMax\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"478\": {\n    \"attributeID\": 478, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusAC\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"479\": {\n    \"attributeID\": 479, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of time taken to fully recharge the shield.\", \n    \"displayName_de\": \"Schildladezeit\", \n    \"displayName_en-us\": \"Shield recharge time\", \n    \"displayName_es\": \"Tiempo carga escudo\", \n    \"displayName_fr\": \"Temps de recharge du bouclier\", \n    \"displayName_it\": \"Shield recharge time\", \n    \"displayName_ja\": \"シールドリチャージ時間\", \n    \"displayName_ko\": \"실드 충전 시간\", \n    \"displayName_ru\": \"Влияние на время регенерации щитов\", \n    \"displayName_zh\": \"护盾回充时间\", \n    \"displayNameID\": 232971, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"shieldRechargeRate\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Benötigte Zeit, um die Schilde wieder voll aufzuladen\", \n    \"tooltipDescription_en-us\": \"Amount of time taken to fully recharge the shield\", \n    \"tooltipDescription_es\": \"Cantidad de tiempo necesaria para cargar por completo el escudo.\", \n    \"tooltipDescription_fr\": \"Temps nécessaire à la recharge totale du bouclier.\", \n    \"tooltipDescription_it\": \"Amount of time taken to fully recharge the shield\", \n    \"tooltipDescription_ja\": \"シールドのフル充電にかかる時間です\", \n    \"tooltipDescription_ko\": \"실드를 전부 충전하기까지 걸리는 시간입니다.\", \n    \"tooltipDescription_ru\": \"Количество времени, требуемое для полной перезарядки силового поля\", \n    \"tooltipDescription_zh\": \"护盾恢复至最大值所需要的时间\", \n    \"tooltipDescriptionID\": 295213, \n    \"tooltipTitleID\": 295212, \n    \"unitID\": 101\n  }, \n  \"480\": {\n    \"attributeID\": 480, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxEffectiveRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"481\": {\n    \"attributeID\": 481, \n    \"categoryID\": 32, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Reward for destroying this entity.\", \n    \"displayName_de\": \"Kopfgeld\", \n    \"displayName_en-us\": \"Bounty\", \n    \"displayName_es\": \"Recompensa\", \n    \"displayName_fr\": \"Prime\", \n    \"displayName_it\": \"Bounty\", \n    \"displayName_ja\": \"懸賞金\", \n    \"displayName_ko\": \"현상금\", \n    \"displayName_ru\": \"Награда за голову\", \n    \"displayName_zh\": \"赏金\", \n    \"displayNameID\": 233164, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityKillBounty\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"482\": {\n    \"attributeID\": 482, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacitor capacity\", \n    \"displayName_de\": \"Energiespeichergröße\", \n    \"displayName_en-us\": \"Capacitor Capacity\", \n    \"displayName_es\": \"Capacidad condensador\", \n    \"displayName_fr\": \"Charge de capaciteur\", \n    \"displayName_it\": \"Capacitor Capacity\", \n    \"displayName_ja\": \"キャパシタ容量\", \n    \"displayName_ko\": \"캐패시터 용량\", \n    \"displayName_ru\": \"Ёмкость накопителя\", \n    \"displayName_zh\": \"电容容量\", \n    \"displayNameID\": 233004, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1668, \n    \"name\": \"capacitorCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die maximale Energie des Energiespeichers\", \n    \"tooltipDescription_en-us\": \"The maximum energy stored in the capacitor\", \n    \"tooltipDescription_es\": \"La energía máxima almacenada en el condensador.\", \n    \"tooltipDescription_fr\": \"La quantité d'énergie maximale stockée dans le capaciteur.\", \n    \"tooltipDescription_it\": \"The maximum energy stored in the capacitor\", \n    \"tooltipDescription_ja\": \"キャパシタに貯められる最大エネルギー量です\", \n    \"tooltipDescription_ko\": \"캐패시터 최대 용량입니다.\", \n    \"tooltipDescription_ru\": \"Предельный заряд бортового накопителя\", \n    \"tooltipDescription_zh\": \"电容器的最大容量\", \n    \"tooltipDescriptionID\": 295334, \n    \"tooltipTitleID\": 295333, \n    \"unitID\": 114\n  }, \n  \"484\": {\n    \"attributeID\": 484, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"DO NOT MESS WITH This number is deducted from the %chance of the seeping to armor, to slow seep of damage through shield.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shieldUniformity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"485\": {\n    \"attributeID\": 485, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonus2AF\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"486\": {\n    \"attributeID\": 486, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusGC\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"487\": {\n    \"attributeID\": 487, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusCC\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"488\": {\n    \"attributeID\": 488, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipVelocityBonusMC\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"489\": {\n    \"attributeID\": 489, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusMC\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"490\": {\n    \"attributeID\": 490, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusMB\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"491\": {\n    \"attributeID\": 491, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusCB\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"492\": {\n    \"attributeID\": 492, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusAB\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"493\": {\n    \"attributeID\": 493, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusMI\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"494\": {\n    \"attributeID\": 494, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusAI\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"495\": {\n    \"attributeID\": 495, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusCI\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"496\": {\n    \"attributeID\": 496, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusGI\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"497\": {\n    \"attributeID\": 497, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"% chance of entity to shoot defender at incoming missile\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityDefenderChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"499\": {\n    \"attributeID\": 499, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"droneCapacityBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"500\": {\n    \"attributeID\": 500, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusGB\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"501\": {\n    \"attributeID\": 501, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonus2CB\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"502\": {\n    \"attributeID\": 502, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"Minimum number of drones the convoy can have for protection.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityConvoyDroneMin\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"503\": {\n    \"attributeID\": 503, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"Maximum number of convoy drones a convoy can have for proetcion.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityConvoyDroneMax\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"504\": {\n    \"attributeID\": 504, \n    \"categoryID\": 27, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of entity warp scrambling it's target.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityWarpScrambleChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"505\": {\n    \"attributeID\": 505, \n    \"categoryID\": 27, \n    \"dataType\": 5, \n    \"defaultValue\": 8000.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Laufzeit\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"起動時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"单次运转时间\", \n    \"displayNameID\": 233144, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"warpScrambleDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"506\": {\n    \"attributeID\": 506, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 20000.0, \n    \"description\": \"Cycle time for a missile launch, in milliseconds.\", \n    \"displayName_de\": \"Feuerrate\", \n    \"displayName_en-us\": \"Rate of fire\", \n    \"displayName_es\": \"Cadencia de tiro\", \n    \"displayName_fr\": \"Cadence de tir\", \n    \"displayName_it\": \"Rate of fire\", \n    \"displayName_ja\": \"発射間隔\", \n    \"displayName_ko\": \"연사속도\", \n    \"displayName_ru\": \"Цикл выстрела\", \n    \"displayName_zh\": \"射击速度\", \n    \"displayNameID\": 233548, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"missileLaunchDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"507\": {\n    \"attributeID\": 507, \n    \"categoryID\": 30, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The type of missiles the entity launches.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityMissileTypeID\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"508\": {\n    \"attributeID\": 508, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The speed that entities fly at when not chasing a target.\", \n    \"displayName_de\": \"Umkreisungsgeschwindigkeit\", \n    \"displayName_en-us\": \"Orbit Velocity\", \n    \"displayName_es\": \"Velocidad de órbita\", \n    \"displayName_fr\": \"Vitesse d'orbite\", \n    \"displayName_it\": \"Orbit Velocity\", \n    \"displayName_ja\": \"旋回速度\", \n    \"displayName_ko\": \"선회 속도\", \n    \"displayName_ru\": \"Скорость движения по орбите\", \n    \"displayName_zh\": \"环绕速度\", \n    \"displayNameID\": 233158, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityCruiseSpeed\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 10\n  }, \n  \"509\": {\n    \"attributeID\": 509, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distance from maximum range at which accuracy has fallen by half.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cargoScanFalloff\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"510\": {\n    \"attributeID\": 510, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distance from maximum range at which accuracy has fallen by half.\", \n    \"displayName_de\": \"Schiffsscan-Präzisionsabfall\", \n    \"displayName_en-us\": \"Ship Scan Falloff\", \n    \"displayName_es\": \"Alcance efectivo del escaneo de naves\", \n    \"displayName_fr\": \"Distance de perte du balayage du vaisseau\", \n    \"displayName_it\": \"Ship Scan Falloff\", \n    \"displayName_ja\": \"シップスキャン精度低下\", \n    \"displayName_ko\": \"함선 스캔 유효사거리\", \n    \"displayName_ru\": \"Добавочная дальность досмотра оснастки\", \n    \"displayName_zh\": \"舰船扫描失准范围\", \n    \"displayNameID\": 233224, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipScanFalloff\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"511\": {\n    \"attributeID\": 511, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of being able to resist a ship scan.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipScanResistance\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"512\": {\n    \"attributeID\": 512, \n    \"categoryID\": 28, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance that  an entity will use a Stasis Web on a target.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"modifyTargetSpeedChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"513\": {\n    \"attributeID\": 513, \n    \"categoryID\": 28, \n    \"dataType\": 5, \n    \"defaultValue\": 5000.0, \n    \"description\": \"Duration of entities Stasis Web \", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"modifyTargetSpeedDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"514\": {\n    \"attributeID\": 514, \n    \"categoryID\": 28, \n    \"dataType\": 4, \n    \"defaultValue\": 20000.0, \n    \"description\": \"Range of entities Stasis Web\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"modifyTargetSpeedRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"515\": {\n    \"attributeID\": 515, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"modifyTargetSpeedCapacitorNeed\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"516\": {\n    \"attributeID\": 516, \n    \"categoryID\": 9, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Benötigter Chassis-Typ\", \n    \"displayName_en-us\": \"Required chassis Type\", \n    \"displayName_es\": \"Tipo de chasis necesario\", \n    \"displayName_fr\": \"Type de châssis requis\", \n    \"displayName_it\": \"Required chassis Type\", \n    \"displayName_ja\": \"必須シャーシタイプ\", \n    \"displayName_ko\": \"필요 섀시 분류\", \n    \"displayName_ru\": \"Требуемый тип шасси\", \n    \"displayName_zh\": \"所需炮座类别\", \n    \"displayNameID\": 233024, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"chassisType\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"517\": {\n    \"attributeID\": 517, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Präzisionsabfallmodifikator\", \n    \"displayName_en-us\": \"Falloff Modifier\", \n    \"displayName_es\": \"Modificador de alcance efectivo\", \n    \"displayName_fr\": \"Modificateur de distance de perte\", \n    \"displayName_it\": \"Falloff Modifier\", \n    \"displayName_ja\": \"精度低下修正乗数\", \n    \"displayName_ko\": \"유효사거리 보정치\", \n    \"displayName_ru\": \"Модификатор добавочной дальности\", \n    \"displayName_zh\": \"失准范围调整\", \n    \"displayNameID\": 233183, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"fallofMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"518\": {\n    \"attributeID\": 518, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusMB2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"519\": {\n    \"attributeID\": 519, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"The percentage of capacitor capacity required to engage cloaking.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cloakingCapacitorNeedRatio\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"522\": {\n    \"attributeID\": 522, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"%chance of new asteroid releasing damage cloud each mining turn.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"damageCloudChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"524\": {\n    \"attributeID\": 524, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"DO NOT MESS WITH\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"armorUniformity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"525\": {\n    \"attributeID\": 525, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"DO NOT MESS WITH\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"structureUniformity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"526\": {\n    \"attributeID\": 526, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Forschung-Skill benötigt\", \n    \"displayName_en-us\": \"Research Skill Required\", \n    \"displayName_es\": \"Habilidad de investigación necesaria\", \n    \"displayName_fr\": \"Compétence de recherche requise\", \n    \"displayName_it\": \"Research Skill Required\", \n    \"displayName_ja\": \"必須研究スキル\", \n    \"displayName_ko\": \"연구 스킬 필요\", \n    \"displayName_ru\": \"Требуемый навык для исследований\", \n    \"displayName_zh\": \"需要研究技能\", \n    \"displayNameID\": 233301, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reqResearchSkill\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"527\": {\n    \"attributeID\": 527, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Benötigter Produktion-Skill\", \n    \"displayName_en-us\": \"Required Manufacturing Skill\", \n    \"displayName_es\": \"Habilidad de fabricación necesaria\", \n    \"displayName_fr\": \"Compétence de production requise\", \n    \"displayName_it\": \"Required Manufacturing Skill\", \n    \"displayName_ja\": \"必須製造スキル\", \n    \"displayName_ko\": \"필요 제조 스킬\", \n    \"displayName_ru\": \"Требуемый навык для производства\", \n    \"displayName_zh\": \"所需制造技能\", \n    \"displayNameID\": 233305, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reqManufacturingSkill\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"528\": {\n    \"attributeID\": 528, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Benötigter Produktionsskill-Level\", \n    \"displayName_en-us\": \"Required Manufacturing Skill Level\", \n    \"displayName_es\": \"Nivel de habilidad de fabricación necesario\", \n    \"displayName_fr\": \"Niveau de compétence de production requis\", \n    \"displayName_it\": \"Required Manufacturing Skill Level\", \n    \"displayName_ja\": \"必須製造スキルレベル\", \n    \"displayName_ko\": \"필요 제조 스킬 레벨\", \n    \"displayName_ru\": \"Требуемая степень освоения навыка производства\", \n    \"displayName_zh\": \"所需制造技能等级\", \n    \"displayNameID\": 233304, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reqManufacturingSkillLevel\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"529\": {\n    \"attributeID\": 529, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Benötigtes Forschung-Skill-Level\", \n    \"displayName_en-us\": \"Required Research Skill Level\", \n    \"displayName_es\": \"Nivel de habilidad de investigación necesario\", \n    \"displayName_fr\": \"Niveau de compétence de recherche requis\", \n    \"displayName_it\": \"Required Research Skill Level\", \n    \"displayName_ja\": \"必須研究スキルレベル\", \n    \"displayName_ko\": \"필요 연구 스킬 레벨\", \n    \"displayName_ru\": \"Требуемая степень навыка для исследований\", \n    \"displayName_zh\": \"所需研究技能等级\", \n    \"displayNameID\": 233299, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reqResearchSkillLevel\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"530\": {\n    \"attributeID\": 530, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Benötigtes Produktionswerkzeug\", \n    \"displayName_en-us\": \"Required Manufacturing Tool\", \n    \"displayName_es\": \"Herramienta de fabricación necesaria\", \n    \"displayName_fr\": \"Outil de production requis\", \n    \"displayName_it\": \"Required Manufacturing Tool\", \n    \"displayName_ja\": \"必須製造ツール\", \n    \"displayName_ko\": \"필요 생산 도구\", \n    \"displayName_ru\": \"Необходимые инструменты для производства\", \n    \"displayName_zh\": \"所需制造工具\", \n    \"displayNameID\": 233122, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reqManufacturingTool\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"531\": {\n    \"attributeID\": 531, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Benötigtes Forschungswerkzeug\", \n    \"displayName_en-us\": \"Required Research Tool\", \n    \"displayName_es\": \"Herramienta de investigación necesaria\", \n    \"displayName_fr\": \"Outil de recherche requis\", \n    \"displayName_it\": \"Required Research Tool\", \n    \"displayName_ja\": \"必須研究ツール\", \n    \"displayName_ko\": \"필요 연구 도구\", \n    \"displayName_ru\": \"Необходимые инструменты для исследований\", \n    \"displayName_zh\": \"所需研究工具\", \n    \"displayNameID\": 233298, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reqResearchTool\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"532\": {\n    \"attributeID\": 532, \n    \"categoryID\": 9, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reqResearchComponent\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"534\": {\n    \"attributeID\": 534, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Produktionsbonus\", \n    \"displayName_en-us\": \"Manufacturer Bonus\", \n    \"displayName_es\": \"Bonificación de fabricante\", \n    \"displayName_fr\": \"Bonus de producteur\", \n    \"displayName_it\": \"Manufacturer Bonus\", \n    \"displayName_ja\": \"製造者ボーナス\", \n    \"displayName_ko\": \"생산자 보너스\", \n    \"displayName_ru\": \"Влияние производителя\", \n    \"displayName_zh\": \"制造者加成\", \n    \"displayNameID\": 233282, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"Manufacturer_ID\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"535\": {\n    \"attributeID\": 535, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Modifikationstyp\", \n    \"displayName_en-us\": \"Modification Type\", \n    \"displayName_es\": \"Tipo de modificación\", \n    \"displayName_fr\": \"Type de modification\", \n    \"displayName_it\": \"Modification Type\", \n    \"displayName_ja\": \"修正タイプ\", \n    \"displayName_ko\": \"개조 유형\", \n    \"displayName_ru\": \"Тип модификации\", \n    \"displayName_zh\": \"修正类别\", \n    \"displayNameID\": 233261, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"installedMod\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"536\": {\n    \"attributeID\": 536, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reqResearchComponetAmount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"537\": {\n    \"attributeID\": 537, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Primäre Produktionskomponente A\", \n    \"displayName_en-us\": \"Primary Manufacture Componet A\", \n    \"displayName_es\": \"Componente A de fabricación primaria\", \n    \"displayName_fr\": \"Élément de production principal A\", \n    \"displayName_it\": \"Primary Manufacture Componet A\", \n    \"displayName_ja\": \"第一製造コンポーネント A\", \n    \"displayName_ko\": \"1차 제작 구성품 A\", \n    \"displayName_ru\": \"Первичный производственный компонент А\", \n    \"displayName_zh\": \"主要制造组件A\", \n    \"displayNameID\": 233110, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reqManufacturingComponent1Amount\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"538\": {\n    \"attributeID\": 538, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Sekundäre Produktionskomponente\", \n    \"displayName_en-us\": \"Secondary Manufacture Component\", \n    \"displayName_es\": \"Componente de fabricación secundaria\", \n    \"displayName_fr\": \"Composant de production secondaire\", \n    \"displayName_it\": \"Secondary Manufacture Component\", \n    \"displayName_ja\": \"二次製造コンポーネント\", \n    \"displayName_ko\": \"2차 제작 구성품\", \n    \"displayName_ru\": \"Вторичный производственный компонент\", \n    \"displayName_zh\": \"次级制造组件\", \n    \"displayNameID\": 233111, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reqManufacturingComponent2Amount\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"542\": {\n    \"attributeID\": 542, \n    \"categoryID\": 33, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"A relative strength that indicates how powerful this NPC entity is in combat.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityStrength\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"543\": {\n    \"attributeID\": 543, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, damageCloudChanceReduction\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"damageCloudChanceReduction\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"544\": {\n    \"attributeID\": 544, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of time before applications of the cloud's effect.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cloudEffectDelay\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"545\": {\n    \"attributeID\": 545, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of milliseconds a temporary cloud hangs around.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cloudDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"546\": {\n    \"attributeID\": 546, \n    \"categoryID\": 9, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The type of damage cloud generated by the asteroid.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"damageCloudType\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"547\": {\n    \"attributeID\": 547, \n    \"categoryID\": 37, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, missileVelocityBonus \", \n    \"displayName_de\": \"Raketengeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Missile Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de misiles\", \n    \"displayName_fr\": \"Bonus de vitesse des missiles\", \n    \"displayName_it\": \"Missile Velocity Bonus\", \n    \"displayName_ja\": \"ミサイル速度ボーナス\", \n    \"displayName_ko\": \"미사일 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость полёта ракет\", \n    \"displayName_zh\": \"导弹速度加成\", \n    \"displayNameID\": 233366, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"missileVelocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"548\": {\n    \"attributeID\": 548, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schildverstärkungsbonus\", \n    \"displayName_en-us\": \"Shield Boost Bonus\", \n    \"displayName_es\": \"Bonificación de potenciador de escudo\", \n    \"displayName_fr\": \"Bonus de booster de bouclier\", \n    \"displayName_it\": \"Shield Boost Bonus\", \n    \"displayName_ja\": \"シールドブーストボーナス\", \n    \"displayName_ko\": \"실드 부스트 보너스\", \n    \"displayName_ru\": \"Повышение эффективности накачки щитов\", \n    \"displayName_zh\": \"护盾回充加成\", \n    \"displayNameID\": 232955, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2104, \n    \"name\": \"shieldBoostMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"549\": {\n    \"attributeID\": 549, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Energiebonus\", \n    \"displayName_en-us\": \"Power Bonus\", \n    \"displayName_es\": \"Bonificación de potencia\", \n    \"displayName_fr\": \"Bonus de puissance\", \n    \"displayName_it\": \"Power Bonus\", \n    \"displayName_ja\": \"パワーボーナス\", \n    \"displayName_ko\": \"전력 보너스\", \n    \"displayName_ru\": \"Влияние на мощность\", \n    \"displayName_zh\": \"能量加成\", \n    \"displayNameID\": 233412, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"powerIncrease\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 107\n  }, \n  \"550\": {\n    \"attributeID\": 550, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, resistanceBonus\", \n    \"displayName_de\": \"Resistenzbonus\", \n    \"displayName_en-us\": \"Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia\", \n    \"displayName_fr\": \"Bonus de résistance\", \n    \"displayName_it\": \"Resistance Bonus\", \n    \"displayName_ja\": \"レジスタンスボーナス\", \n    \"displayName_ko\": \"저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость\", \n    \"displayName_zh\": \"抗性加成\", \n    \"displayNameID\": 233130, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"551\": {\n    \"attributeID\": 551, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"rocketVelocityPercent\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"552\": {\n    \"attributeID\": 552, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 100.0, \n    \"description\": \"Signature Radius is used for turret tracking and scanning.\", \n    \"displayName_de\": \"Signaturradius\", \n    \"displayName_en-us\": \"Signature Radius\", \n    \"displayName_es\": \"Radio señal\", \n    \"displayName_fr\": \"Rayon de signature\", \n    \"displayName_it\": \"Signature Radius\", \n    \"displayName_ja\": \"シグネチャ半径\", \n    \"displayName_ko\": \"시그니처 반경\", \n    \"displayName_ru\": \"Радиус сигнатуры\", \n    \"displayName_zh\": \"信号半径\", \n    \"displayNameID\": 233417, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1390, \n    \"name\": \"signatureRadius\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Ein geringerer Wert erhöht die benötigte Zeit, um dieses Ziel zu erfassen und hilft gegnerischer Feuerkraft und der Erfassung durch Sonden zu entgehen\", \n    \"tooltipDescription_en-us\": \"Smaller values increase the time to lock onto this target, and assist it in evading enemy firepower or detection by probes\", \n    \"tooltipDescription_es\": \"Los valores más bajos aumentan el tiempo necesario para fijar este objetivo y ayudan a evitar la detección de sondas y la potencia de fuego enemiga.\", \n    \"tooltipDescription_fr\": \"Les petites valeurs augmentent le temps nécessaire pour verrouiller cette cible, et permettent d'éviter la détection par les sondes et les vaisseaux ennemis.\", \n    \"tooltipDescription_it\": \"Smaller values increase the time to lock onto this target, and assist it in evading enemy firepower or detection by probes\", \n    \"tooltipDescription_ja\": \"数値が小さいほどこの艦船をターゲットするのにかかる時間が長くなり、敵の火器やプローブにより探知されにくくなります\", \n    \"tooltipDescription_ko\": \"수치가 낮을수록 타겟팅 소요시간이 증가하며 프로브 탐지 및 적 공격을 수월하게 회피할 수 있습니다.\", \n    \"tooltipDescription_ru\": \"Уменьшение этой характеристики приводит к уменьшению скорости внесения корабля в чужие списки сопровождаемых целей, а также к затруднению определения точных координат корабля при помощи разведзондов, и к уменьшению поражающего действия вооружения противника\", \n    \"tooltipDescription_zh\": \"该数值越小，锁定此目标所需的时间就越长，还有利于规避敌方探针扫描及火力打击\", \n    \"tooltipDescriptionID\": 295350, \n    \"tooltipTitleID\": 295349, \n    \"unitID\": 1\n  }, \n  \"553\": {\n    \"attributeID\": 553, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, maxGangSizeBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxGangSizeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"554\": {\n    \"attributeID\": 554, \n    \"categoryID\": 21, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, signatureRadiusBonus\", \n    \"displayName_de\": \"Signaturradius-Modifikator\", \n    \"displayName_en-us\": \"Signature Radius Modifier\", \n    \"displayName_es\": \"Modificador de radio de la señal\", \n    \"displayName_fr\": \"Modificateur de rayon de signature\", \n    \"displayName_it\": \"Signature Radius Modifier\", \n    \"displayName_ja\": \"シグネチャ半径乗数\", \n    \"displayName_ko\": \"시그니처 반경 보정치\", \n    \"displayName_ru\": \"Влияние на радиус сигнатуры\", \n    \"displayName_zh\": \"信号半径修正值\", \n    \"displayNameID\": 233219, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1390, \n    \"name\": \"signatureRadiusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"555\": {\n    \"attributeID\": 555, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, cloakVelocityBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cloakVelocityBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"556\": {\n    \"attributeID\": 556, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 60000.0, \n    \"description\": \"How long it takes to anchor or unanchor this object.\", \n    \"displayName_de\": \"Verankerungsverzögerung\", \n    \"displayName_en-us\": \"Anchoring Delay\", \n    \"displayName_es\": \"Demora de anclaje\", \n    \"displayName_fr\": \"Délai d'ancrage\", \n    \"displayName_it\": \"Anchoring Delay\", \n    \"displayName_ja\": \"係留遅延\", \n    \"displayName_ko\": \"위치 고정 소모 시간\", \n    \"displayName_ru\": \"Время анкеровки\", \n    \"displayName_zh\": \"锚定耗时\", \n    \"displayNameID\": 232952, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"anchoringDelay\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"557\": {\n    \"attributeID\": 557, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, max flightTimeBonus\", \n    \"displayName_de\": \"Flugzeitbonus\", \n    \"displayName_en-us\": \"Flight Time Bonus\", \n    \"displayName_es\": \"Bonificación de tiempo de vuelo\", \n    \"displayName_fr\": \"Bonus de temps de vol\", \n    \"displayName_it\": \"Flight Time Bonus\", \n    \"displayName_ja\": \"飛行時間ボーナス\", \n    \"displayName_ko\": \"비행 시간 보너스\", \n    \"displayName_ru\": \"Влияние на полётное время\", \n    \"displayName_zh\": \"飞行时间加成\", \n    \"displayNameID\": 233303, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxFlightTimeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"558\": {\n    \"attributeID\": 558, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, explosionRangeBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"explosionRangeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"559\": {\n    \"attributeID\": 559, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Inertia is a basic multiplier of agility and the mass of the ship, it determines how fast the ship can accelerate and how fast it can fly when orbiting.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1401, \n    \"name\": \"Inertia\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 2\n  }, \n  \"560\": {\n    \"attributeID\": 560, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The time targeting systems take to recalibrate after cloaking.\", \n    \"displayName_de\": \"Neukalibrierungszeit des Sensors\", \n    \"displayName_en-us\": \"Sensor Recalibration Time\", \n    \"displayName_es\": \"Tiempo de recalibración del sensor\", \n    \"displayName_fr\": \"Temps de recalibrage des capteurs\", \n    \"displayName_it\": \"Sensor Recalibration Time\", \n    \"displayName_ja\": \"センサー再キャリブレーション時間\", \n    \"displayName_ko\": \"센서 재교정 시간\", \n    \"displayName_ru\": \"Время перекалибровки сенсоров\", \n    \"displayName_zh\": \"感应器复校时间\", \n    \"displayNameID\": 233549, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 0, \n    \"name\": \"cloakingTargetingDelay\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"561\": {\n    \"attributeID\": 561, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"skill bonus attribute2 for gallente battleship\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusGB2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"562\": {\n    \"attributeID\": 562, \n    \"categoryID\": 32, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityFactionLoss\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"563\": {\n    \"attributeID\": 563, \n    \"categoryID\": 32, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entitySecurityMaxGain\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"564\": {\n    \"attributeID\": 564, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The resolution that the vessel can target other objects at.\", \n    \"displayName_de\": \"Scanauflösung\", \n    \"displayName_en-us\": \"Scan Resolution\", \n    \"displayName_es\": \"Resolución escaneo\", \n    \"displayName_fr\": \"Résolution du balayage\", \n    \"displayName_it\": \"Scan Resolution\", \n    \"displayName_ja\": \"スキャン分解能\", \n    \"displayName_ko\": \"스캔 정밀도\", \n    \"displayName_ru\": \"Разрешающая способность системы захвата целей\", \n    \"displayName_zh\": \"扫描分辨率\", \n    \"displayNameID\": 233418, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 74, \n    \"name\": \"scanResolution\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Ein höherer Wert erhöht die Geschwindigkeit der Zielerfassung\", \n    \"tooltipDescription_en-us\": \"Larger values increase target locking speed\", \n    \"tooltipDescription_es\": \"Cuanto más alto sea el valor, más rápido se fijarán los objetivos.\", \n    \"tooltipDescription_fr\": \"Les grandes valeurs augmentent la vitesse de verrouillage de la cible.\", \n    \"tooltipDescription_it\": \"Larger values increase target locking speed\", \n    \"tooltipDescription_ja\": \"数値が大きいほどターゲットロック速度が上がります\", \n    \"tooltipDescription_ko\": \"값이 클수록 타겟 고정 속도가 빨라집니다.\", \n    \"tooltipDescription_ru\": \"Увеличение этой характеристики приводит к увеличению скорости работы системы обнаружения и сопровождения целей\", \n    \"tooltipDescription_zh\": \"该数值越大，锁定目标的速度越快\", \n    \"tooltipDescriptionID\": 295223, \n    \"tooltipTitleID\": 295222, \n    \"unitID\": 102\n  }, \n  \"565\": {\n    \"attributeID\": 565, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Improves the targeting time of ships by boosting the Scan Resolution.\", \n    \"displayName_de\": \"Scanauflösungsbonus\", \n    \"displayName_en-us\": \"Scan Resolution Bonus\", \n    \"displayName_es\": \"Bonificación de resolución de escaneo\", \n    \"displayName_fr\": \"Bonus de résolution du balayage\", \n    \"displayName_it\": \"Scan Resolution Bonus\", \n    \"displayName_ja\": \"スキャン分解能ボーナス\", \n    \"displayName_ko\": \"스캔 정밀도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость захвата целей\", \n    \"displayName_zh\": \"扫描分辨率加成\", \n    \"displayNameID\": 233245, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 74, \n    \"name\": \"scanResolutionMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"566\": {\n    \"attributeID\": 566, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus for scan resolution\", \n    \"displayName_de\": \"Scanauflösungsbonus\", \n    \"displayName_en-us\": \"Scan Resolution Bonus\", \n    \"displayName_es\": \"Bonificación de resolución de escaneo\", \n    \"displayName_fr\": \"Bonus de résolution du balayage\", \n    \"displayName_it\": \"Scan Resolution Bonus\", \n    \"displayName_ja\": \"スキャン分解能ボーナス\", \n    \"displayName_ko\": \"스캔 정밀도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость захвата целей\", \n    \"displayName_zh\": \"扫描分辨率加成\", \n    \"displayNameID\": 232979, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 74, \n    \"name\": \"scanResolutionBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"567\": {\n    \"attributeID\": 567, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used to divide with mass to give a factor for speed boost modules\", \n    \"displayName_de\": \"Schub\", \n    \"displayName_en-us\": \"Thrust\", \n    \"displayName_es\": \"Impulso\", \n    \"displayName_fr\": \"Poussée\", \n    \"displayName_it\": \"Thrust\", \n    \"displayName_ja\": \"推進力\", \n    \"displayName_ko\": \"출력\", \n    \"displayName_ru\": \"Тяга\", \n    \"displayName_zh\": \"推力\", \n    \"displayNameID\": 233198, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 96, \n    \"name\": \"speedBoostFactor\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 125\n  }, \n  \"568\": {\n    \"attributeID\": 568, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusInterceptor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"569\": {\n    \"attributeID\": 569, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusCovertOps1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"570\": {\n    \"attributeID\": 570, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusBombers\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"571\": {\n    \"attributeID\": 571, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusGunships\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"573\": {\n    \"attributeID\": 573, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusdestroyers\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"575\": {\n    \"attributeID\": 575, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusBattlecruiser\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"579\": {\n    \"attributeID\": 579, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"testForEggert\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"580\": {\n    \"attributeID\": 580, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 5000.0, \n    \"description\": \"The maximum amount of time stalled before entity chase speed kicks in.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityChaseMaxDelay\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"581\": {\n    \"attributeID\": 581, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Chance that the max delay is waited before chase is engaged.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityChaseMaxDelayChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"582\": {\n    \"attributeID\": 582, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 5000.0, \n    \"description\": \"The maximum amount of time chase is ever engaged for.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityChaseMaxDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"583\": {\n    \"attributeID\": 583, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"The chance of engaging chase for the maximum duration.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityChaseMaxDurationChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"584\": {\n    \"attributeID\": 584, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 100000.0, \n    \"description\": \"The maximum distance an entity of this type can be led from its point of placement.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityMaxWanderRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"585\": {\n    \"attributeID\": 585, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusAB2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"586\": {\n    \"attributeID\": 586, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusGF2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"587\": {\n    \"attributeID\": 587, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusMF2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"588\": {\n    \"attributeID\": 588, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusCF2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"589\": {\n    \"attributeID\": 589, \n    \"categoryID\": 9, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Whether a station type is player ownable.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"isPlayerOwnable\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"590\": {\n    \"attributeID\": 590, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"gestaltBonus1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"591\": {\n    \"attributeID\": 591, \n    \"categoryID\": 10, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increases max velocity of all drone types.\", \n    \"displayName_de\": \"Drohnengeschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Drone Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de drones\", \n    \"displayName_fr\": \"Bonus de vitesse des drones\", \n    \"displayName_it\": \"Drone Velocity Bonus\", \n    \"displayName_ja\": \"ドローン速度ボーナス\", \n    \"displayName_ko\": \"드론 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость дронов\", \n    \"displayName_zh\": \"无人机速度加成\", \n    \"displayNameID\": 233114, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"droneMaxVelocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"592\": {\n    \"attributeID\": 592, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, cloakCapacitorBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cloakCapacitorBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"594\": {\n    \"attributeID\": 594, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, cloakCapacitor Bonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"Die\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"595\": {\n    \"attributeID\": 595, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"capBoostMultipler\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"596\": {\n    \"attributeID\": 596, \n    \"categoryID\": 37, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, explosionDelayBonus\", \n    \"displayName_de\": \"Flugzeitbonus\", \n    \"displayName_en-us\": \"Flight Time Bonus\", \n    \"displayName_es\": \"Bonificación de tiempo de vuelo\", \n    \"displayName_fr\": \"Bonus de temps de vol\", \n    \"displayName_it\": \"Flight Time Bonus\", \n    \"displayName_ja\": \"航行時間にボーナス\", \n    \"displayName_ko\": \"비행 시간 보너스\", \n    \"displayName_ru\": \"Влияние на полётное время\", \n    \"displayName_zh\": \"飞行时间加成\", \n    \"displayNameID\": 309768, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"explosionDelayBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"597\": {\n    \"attributeID\": 597, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 10.0, \n    \"description\": \"bonus for escort class frigates\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusEscorts\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"598\": {\n    \"attributeID\": 598, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusCB3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"600\": {\n    \"attributeID\": 600, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 3.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Warpgeschwindigkeitsmultiplikator\", \n    \"displayName_en-us\": \"Warp Speed Multiplier\", \n    \"displayName_es\": \"Multiplicador de velocidad de warp\", \n    \"displayName_fr\": \"Multiplicateur de vitesse de warp\", \n    \"displayName_it\": \"Warp Speed Multiplier\", \n    \"displayName_ja\": \"ワープ速度乗数\", \n    \"displayName_ko\": \"워프 속도 배수\", \n    \"displayName_ru\": \"Модификатор скорости движения в варп-режиме\", \n    \"displayName_zh\": \"跃迁速度倍增系数\", \n    \"displayNameID\": 232977, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warpSpeedMultiplier\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 104\n  }, \n  \"601\": {\n    \"attributeID\": 601, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, warpSpeedBonus\", \n    \"displayName_de\": \"Warp-Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Warp Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de warp\", \n    \"displayName_fr\": \"Bonus de vitesse de warp\", \n    \"displayName_it\": \"Warp Speed Bonus\", \n    \"displayName_ja\": \"ワープ速度ボーナス\", \n    \"displayName_ko\": \"워프 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость хода в варп-режиме\", \n    \"displayName_zh\": \"跃迁速度加成\", \n    \"displayNameID\": 233048, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"warpSpeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"602\": {\n    \"attributeID\": 602, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"One of the groups of launcher this charge can be loaded into.\", \n    \"displayName_de\": \"Benutzt mit (Werfergruppe)\", \n    \"displayName_en-us\": \"Used with (Launcher Group)\", \n    \"displayName_es\": \"Se usa con (grupo de lanzador)\", \n    \"displayName_fr\": \"Utilisé avec (groupe de lanceur)\", \n    \"displayName_it\": \"Used with (Launcher Group)\", \n    \"displayName_ja\": \"(ランチャーグループ)使用タイプ\", \n    \"displayName_ko\": \"(런처) 탄약\", \n    \"displayName_ru\": \"Используется с (группой модулей)\", \n    \"displayName_zh\": \"配套使用（发射器类别）\", \n    \"displayNameID\": 233276, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"launcherGroup2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"603\": {\n    \"attributeID\": 603, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"One of the groups of launcher this charge can be loaded into.\", \n    \"displayName_de\": \"Benutzt mit (Werfergruppe)\", \n    \"displayName_en-us\": \"Used with (Launcher Group)\", \n    \"displayName_es\": \"Se usa con (grupo de lanzador)\", \n    \"displayName_fr\": \"Utilisé avec (groupe de lanceur)\", \n    \"displayName_it\": \"Used with (Launcher Group)\", \n    \"displayName_ja\": \"(ランチャーグループ)使用タイプ\", \n    \"displayName_ko\": \"(런처) 탄약\", \n    \"displayName_ru\": \"Используется с (группой модулей)\", \n    \"displayName_zh\": \"配套使用（发射器类别）\", \n    \"displayNameID\": 233277, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"launcherGroup3\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"604\": {\n    \"attributeID\": 604, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"One of the groups of charge this launcher can be loaded with.\", \n    \"displayName_de\": \"Benutzt mit (Ladungsgruppe)\", \n    \"displayName_en-us\": \"Used with (Charge Group)\", \n    \"displayName_es\": \"Se usa con (grupo de carga)\", \n    \"displayName_fr\": \"Utilisé avec (groupe de charge)\", \n    \"displayName_it\": \"Used with (Charge Group)\", \n    \"displayName_ja\": \"(チャージグループ)使用タイプ\", \n    \"displayName_ko\": \"(차지) 사용\", \n    \"displayName_ru\": \"Используется с (группой зарядов)\", \n    \"displayName_zh\": \"配套使用（弹药类别）\", \n    \"displayNameID\": 233016, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"chargeGroup1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"605\": {\n    \"attributeID\": 605, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"One of the groups of charge this launcher can be loaded with.\", \n    \"displayName_de\": \"Benutzt mit (Ladungsgruppe)\", \n    \"displayName_en-us\": \"Used with (Charge Group)\", \n    \"displayName_es\": \"Se usa con (grupo de carga)\", \n    \"displayName_fr\": \"Utilisé avec (groupe de charge)\", \n    \"displayName_it\": \"Used with (Charge Group)\", \n    \"displayName_ja\": \"(チャージグループ)使用タイプ\", \n    \"displayName_ko\": \"(차지) 사용\", \n    \"displayName_ru\": \"Используется с (группой зарядов)\", \n    \"displayName_zh\": \"配套使用（弹药类别）\", \n    \"displayNameID\": 233017, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"chargeGroup2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"606\": {\n    \"attributeID\": 606, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"One of the groups of charge this launcher can be loaded with.\", \n    \"displayName_de\": \"Benutzt mit (Ladungsgruppe)\", \n    \"displayName_en-us\": \"Used with (Charge Group)\", \n    \"displayName_es\": \"Se usa con (grupo de carga)\", \n    \"displayName_fr\": \"Utilisé avec (groupe de charge)\", \n    \"displayName_it\": \"Used with (Charge Group)\", \n    \"displayName_ja\": \"(チャージグループ)使用タイプ\", \n    \"displayName_ko\": \"(차지) 사용\", \n    \"displayName_ru\": \"Используется с (группой зарядов)\", \n    \"displayName_zh\": \"配套使用（弹药类别）\", \n    \"displayNameID\": 233018, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"chargeGroup3\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"608\": {\n    \"attributeID\": 608, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Geschützturm-Energiebedarf\", \n    \"displayName_en-us\": \"Turret Power Need\", \n    \"displayName_es\": \"Potencia de torreta necesaria\", \n    \"displayName_fr\": \"Consommation de la tourelle\", \n    \"displayName_it\": \"Turret Power Need\", \n    \"displayName_ja\": \"タレット必要エネルギー量\", \n    \"displayName_ko\": \"터렛 전력 요구량\", \n    \"displayName_ru\": \"Изменение нагрузки орудий на реактор\", \n    \"displayName_zh\": \"炮塔能量需求\", \n    \"displayNameID\": 233413, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"powerNeedMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"609\": {\n    \"attributeID\": 609, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"One of the groups of charge this launcher can be loaded with.\", \n    \"displayName_de\": \"Benutzt mit (Ladungsgruppe)\", \n    \"displayName_en-us\": \"Used with (Charge Group)\", \n    \"displayName_es\": \"Se usa con (grupo de carga)\", \n    \"displayName_fr\": \"Utilisé avec (groupe de charge)\", \n    \"displayName_it\": \"Used with (Charge Group)\", \n    \"displayName_ja\": \"(チャージグループ)使用タイプ\", \n    \"displayName_ko\": \"(차지) 사용\", \n    \"displayName_ru\": \"Используется с (группой зарядов)\", \n    \"displayName_zh\": \"配套使用（弹药类别）\", \n    \"displayNameID\": 233019, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"chargeGroup4\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"610\": {\n    \"attributeID\": 610, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"One of the groups of charge this launcher can be loaded with.\", \n    \"displayName_de\": \"Benutzt mit (Ladungsgruppe)\", \n    \"displayName_en-us\": \"Used with (Charge Group)\", \n    \"displayName_es\": \"Se usa con (grupo de carga)\", \n    \"displayName_fr\": \"Utilisé avec (groupe de charge)\", \n    \"displayName_it\": \"Used with (Charge Group)\", \n    \"displayName_ja\": \"(チャージグループ)使用タイプ\", \n    \"displayName_ko\": \"(차지) 사용\", \n    \"displayName_ru\": \"Используется с (группой зарядов)\", \n    \"displayName_zh\": \"配套使用（弹药类别）\", \n    \"displayNameID\": 233020, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"chargeGroup5\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"611\": {\n    \"attributeID\": 611, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Laufzeitbonus\", \n    \"displayName_en-us\": \"Duration Bonus\", \n    \"displayName_es\": \"Bonificación de duración\", \n    \"displayName_fr\": \"Bonus de durée\", \n    \"displayName_it\": \"Duration Bonus\", \n    \"displayName_ja\": \"起動時間ボーナス\", \n    \"displayName_ko\": \"지속시간 보너스\", \n    \"displayName_ru\": \"Влияние на время цикла\", \n    \"displayName_zh\": \"单次运转时间加成\", \n    \"displayNameID\": 233141, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"durationMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"612\": {\n    \"attributeID\": 612, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Just for the UI to display base damage on shield.\", \n    \"displayName_de\": \"Schaden auf Basisschild\", \n    \"displayName_en-us\": \"Base Shield Damage\", \n    \"displayName_es\": \"Daño básico del escudo\", \n    \"displayName_fr\": \"Dégâts de bouclier de base\", \n    \"displayName_it\": \"Base Shield Damage\", \n    \"displayName_ja\": \"基本シールドダメージ\", \n    \"displayName_ko\": \"기본 실드 피해량\", \n    \"displayName_ru\": \"Базовый урон, наносимый щитам\", \n    \"displayName_zh\": \"护盾伤害基数\", \n    \"displayNameID\": 232975, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 69, \n    \"name\": \"baseShieldDamage\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"613\": {\n    \"attributeID\": 613, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Just for the UI to display base damage on armor.\", \n    \"displayName_de\": \"Schaden der Grundpanzerung\", \n    \"displayName_en-us\": \"Base Armor Damage\", \n    \"displayName_es\": \"Daño básico del blindaje\", \n    \"displayName_fr\": \"Dégâts de blindage de base\", \n    \"displayName_it\": \"Base Armor Damage\", \n    \"displayName_ja\": \"基本アーマーダメージ\", \n    \"displayName_ko\": \"기본 장갑 피해량\", \n    \"displayName_ru\": \"Базовый урон, наносимый броне\", \n    \"displayName_zh\": \"装甲伤害基数\", \n    \"displayNameID\": 232974, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 68, \n    \"name\": \"baseArmorDamage\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"614\": {\n    \"attributeID\": 614, \n    \"categoryID\": 4, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, cargoCapacityBonus\", \n    \"displayName_de\": \"Frachtraumbonus\", \n    \"displayName_en-us\": \"Cargo Capacity Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad de carga\", \n    \"displayName_fr\": \"Bonus de capacité de la soute\", \n    \"displayName_it\": \"Cargo Capacity Bonus\", \n    \"displayName_ja\": \"カーゴ容量ボーナス\", \n    \"displayName_ko\": \"화물 적재량 보너스\", \n    \"displayName_ru\": \"Повышение объёма грузового отсека\", \n    \"displayName_zh\": \"货柜容量加成\", \n    \"displayNameID\": 233013, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"cargoCapacityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"616\": {\n    \"attributeID\": 616, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schildverstärkungsabzug\", \n    \"displayName_en-us\": \"Shield Booster Penalty\", \n    \"displayName_es\": \"Penalización de potenciador de escudo\", \n    \"displayName_fr\": \"Pénalité de booster de bouclier\", \n    \"displayName_it\": \"Shield Booster Penalty\", \n    \"displayName_ja\": \"シールドブースターペナルティ\", \n    \"displayName_ko\": \"실드 부스터 페널티\", \n    \"displayName_ru\": \"Штраф к накачке щитов\", \n    \"displayName_zh\": \"护盾回充惩罚\", \n    \"displayNameID\": 232994, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterShieldBoostAmountPenalty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"619\": {\n    \"attributeID\": 619, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Skill bonus for cloaking targeting delay.\", \n    \"displayName_de\": \"Tarnungszielaufschaltungsverzögerung-Bonus\", \n    \"displayName_en-us\": \"Cloaking Targeting Delay Bonus\", \n    \"displayName_es\": \"Bonificación de demora de adquisición de objetivos durante camuflaje\", \n    \"displayName_fr\": \"Bonus de délai de ciblage en mode furtif\", \n    \"displayName_it\": \"Cloaking Targeting Delay Bonus\", \n    \"displayName_ja\": \"ターゲット捕捉遅延遮蔽ボーナス\", \n    \"displayName_ko\": \"클로킹 타겟팅 지연 보너스\", \n    \"displayName_ru\": \"Влияние на задержку включения захвата целей при демаскировке\", \n    \"displayName_zh\": \"隐形锁定延迟加成\", \n    \"displayNameID\": 233025, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cloakingTargetingDelayBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"620\": {\n    \"attributeID\": 620, \n    \"categoryID\": 29, \n    \"dataType\": 5, \n    \"defaultValue\": 1000.0, \n    \"description\": \"Prefered target signature. The base signature radius at which the turret's tracking speed is rated. \", \n    \"displayName_de\": \"Signaturauflösung\", \n    \"displayName_en-us\": \"Signature Resolution\", \n    \"displayName_es\": \"Resolución de señal\", \n    \"displayName_fr\": \"Résolution de la signature\", \n    \"displayName_it\": \"Signature Resolution\", \n    \"displayName_ja\": \"シグネチャ分解能\", \n    \"displayName_ko\": \"탄착 범위\", \n    \"displayName_ru\": \"Разрешающая способность при захвате целей\", \n    \"displayName_zh\": \"信号分辨率\", \n    \"displayNameID\": 233385, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"optimalSigRadius\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"621\": {\n    \"attributeID\": 621, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"Rated target transverse velocity at optimal range.\", \n    \"displayName_de\": \"Nachführungsgeschwindigkeit bei optimaler Reichweite\", \n    \"displayName_en-us\": \"Tracking Speed at Optimal Range\", \n    \"displayName_es\": \"Velocidad de rastreo en alcance óptimo\", \n    \"displayName_fr\": \"Vitesse de poursuite en portée optimale\", \n    \"displayName_it\": \"Tracking Speed at Optimal Range\", \n    \"displayName_ja\": \"最適射程距離における追跡速度\", \n    \"displayName_ko\": \"최적사거리에서의 트래킹 속도\", \n    \"displayName_ru\": \"Скорость наводки на оптимальной дальности\", \n    \"displayName_zh\": \"最佳距离内的跟踪速度\", \n    \"displayNameID\": 233072, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"trackingSpeedAtOptimal\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 10\n  }, \n  \"622\": {\n    \"attributeID\": 622, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Determines the maximum weight of a ship that, ships that are to heavy get denied of service by this attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"massLimit\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 2\n  }, \n  \"623\": {\n    \"attributeID\": 623, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"hot-fix for not allowing warpable cloaking modules on anything but covert-ops frigs\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cloakingSlotsLeftSuper\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"624\": {\n    \"attributeID\": 624, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, WarpSBonus\", \n    \"displayName_de\": \"Warp-Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Warp Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de warp\", \n    \"displayName_fr\": \"Bonus de vitesse de warp\", \n    \"displayName_it\": \"Warp Speed Bonus\", \n    \"displayName_ja\": \"ワープ速度ボーナス\", \n    \"displayName_ko\": \"워프 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость хода в варп-режиме\", \n    \"displayName_zh\": \"跃迁速度加成\", \n    \"displayNameID\": 233139, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"WarpSBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"625\": {\n    \"attributeID\": 625, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Flat Bonus To NPC Bountys\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"bountyBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"626\": {\n    \"attributeID\": 626, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Npc Bounty Multiplier\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"bountyMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"627\": {\n    \"attributeID\": 627, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, bountySkillBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"bountySkillBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"628\": {\n    \"attributeID\": 628, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, bountySkillMultiplyer\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"bountySkillMultiplyer\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"629\": {\n    \"attributeID\": 629, \n    \"categoryID\": 9, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"The cargo group that can be loaded into this container\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cargoGroup\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"630\": {\n    \"attributeID\": 630, \n    \"categoryID\": 3, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration between armor repair actions for entities.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityArmorRepairDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"631\": {\n    \"attributeID\": 631, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of armor repaired per cycle for entities.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityArmorRepairAmount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"632\": {\n    \"attributeID\": 632, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"interceptorGF\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"633\": {\n    \"attributeID\": 633, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Authoring has been moved to FSD\\r\\nThe ranking of the module within its tech level\", \n    \"displayName_de\": \"Meta-Level\", \n    \"displayName_en-us\": \"Meta Level\", \n    \"displayName_es\": \"Metanivel\", \n    \"displayName_fr\": \"Niveau méta\", \n    \"displayName_it\": \"Meta Level\", \n    \"displayName_ja\": \"メタレベル\", \n    \"displayName_ko\": \"메타 레벨\", \n    \"displayName_ru\": \"Метауровень\", \n    \"displayName_zh\": \"衍生等级\", \n    \"displayNameID\": 233633, \n    \"displayWhenZero\": 1, \n    \"highIsGood\": 1, \n    \"iconID\": 1446, \n    \"name\": \"metaLevelOld\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 140\n  }, \n  \"634\": {\n    \"attributeID\": 634, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 3.0, \n    \"description\": \"Maximum \\\"Thrust angle\\\" for an object in Radians, 0 to pi (3.14).\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"newAgility\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"635\": {\n    \"attributeID\": 635, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 3.0, \n    \"description\": \"Maximum turn angle of a ship in Radians, 0 to pi (3.14).\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"turnAngle\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"636\": {\n    \"attributeID\": 636, \n    \"categoryID\": 2, \n    \"dataType\": 4, \n    \"defaultValue\": 10000.0, \n    \"description\": \"How long between repeats.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityShieldBoostDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"637\": {\n    \"attributeID\": 637, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"How much the shield is boosted each duration.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityShieldBoostAmount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"638\": {\n    \"attributeID\": 638, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance that an entity will delay employing armor repair.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityArmorRepairDelayChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"639\": {\n    \"attributeID\": 639, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"The chance an entity will delay repeating use of its shield boosting effect if it has one.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityShieldBoostDelayChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"640\": {\n    \"attributeID\": 640, \n    \"categoryID\": 32, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"The chance an entity will respawn into his group if destroyed.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityGroupRespawnChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"643\": {\n    \"attributeID\": 643, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Delay after launch until a missile will do damage on impact.\", \n    \"displayName_de\": \"Bewaffnungszeit\", \n    \"displayName_en-us\": \"Arming Time\", \n    \"displayName_es\": \"Tiempo de colocación\", \n    \"displayName_fr\": \"Temps d'armement\", \n    \"displayName_it\": \"Arming Time\", \n    \"displayName_ja\": \"準備時間\", \n    \"displayName_ko\": \"타격 시간\", \n    \"displayName_ru\": \"Время приведения в готовность\", \n    \"displayName_zh\": \"待发状态启动时间\", \n    \"displayNameID\": 232958, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"armingTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"644\": {\n    \"attributeID\": 644, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Determines wether a missile launches aligned with the ship (0) or directly at the target (1).\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"aimedLaunch\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"645\": {\n    \"attributeID\": 645, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier for the missile's speed.\", \n    \"displayName_de\": \"Raketengeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Missile Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de misiles\", \n    \"displayName_fr\": \"Bonus de vitesse des missiles\", \n    \"displayName_it\": \"Missile Velocity Bonus\", \n    \"displayName_ja\": \"ミサイル速度ボーナス\", \n    \"displayName_ko\": \"미사일 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость полёта ракет\", \n    \"displayName_zh\": \"导弹速度加成\", \n    \"displayNameID\": 233364, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"missileEntityVelocityMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"646\": {\n    \"attributeID\": 646, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier for the missile's flight time.\", \n    \"displayName_de\": \"Raketenflugzeit-Bonus\", \n    \"displayName_en-us\": \"Missile Flight Time Bonus\", \n    \"displayName_es\": \"Bonificación de tiempo de vuelo de misiles\", \n    \"displayName_fr\": \"Bonus de temps de vol de missile\", \n    \"displayName_it\": \"Missile Flight Time Bonus\", \n    \"displayName_ja\": \"ミサイル飛行時間ボーナス\", \n    \"displayName_ko\": \"미사일 비행 시간 보너스\", \n    \"displayName_ru\": \"Влияние на полётное время ракет\", \n    \"displayName_zh\": \"导弹飞行时间加成\", \n    \"displayNameID\": 233363, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"missileEntityFlightTimeMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"647\": {\n    \"attributeID\": 647, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"missileEntityArmingTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"648\": {\n    \"attributeID\": 648, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schildabstimmung-Bonus\", \n    \"displayName_en-us\": \"Shield tuneup bonus\", \n    \"displayName_es\": \"Bonificación de ajuste del escudo\", \n    \"displayName_fr\": \"Bonus d'amélioration de bouclier\", \n    \"displayName_it\": \"Shield tuneup bonus\", \n    \"displayName_ja\": \"シールドチューンアップボーナス\", \n    \"displayName_ko\": \"실드 튠업 보너스\", \n    \"displayName_ru\": \"Влияние на доводку щита\", \n    \"displayName_zh\": \"护盾调整加成\", \n    \"displayNameID\": 232937, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shieldTUNEBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"649\": {\n    \"attributeID\": 649, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cloakingCpuNeedBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"650\": {\n    \"attributeID\": 650, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The distance that structures have to be from a control tower in order to work with it.\", \n    \"displayName_de\": \"Max. Strukturdistanz\", \n    \"displayName_en-us\": \"Maximum Structure Distance\", \n    \"displayName_es\": \"Distancia máxima de estructura\", \n    \"displayName_fr\": \"Distance maximum de la structure\", \n    \"displayName_it\": \"Maximum Structure Distance\", \n    \"displayName_ja\": \"最大建造物距離\", \n    \"displayName_ko\": \"최대 구조물 거리\", \n    \"displayName_ru\": \"Максимальное расстояние до башни управления\", \n    \"displayName_zh\": \"最大结构间距\", \n    \"displayNameID\": 233328, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxStructureDistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"651\": {\n    \"attributeID\": 651, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Range of broadcasted decloaking field.\", \n    \"displayName_de\": \"Wirkungsreichweite\", \n    \"displayName_en-us\": \"Area of effect\", \n    \"displayName_es\": \"Radio de acción\", \n    \"displayName_fr\": \"Zone d'effet\", \n    \"displayName_it\": \"Area of effect\", \n    \"displayName_ja\": \"有効範囲\", \n    \"displayName_ko\": \"유효 범위\", \n    \"displayName_ru\": \"Зона действия\", \n    \"displayName_zh\": \"效果范围\", \n    \"displayNameID\": 233076, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"decloakFieldRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"652\": {\n    \"attributeID\": 652, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Signaturabzug\", \n    \"displayName_en-us\": \"Signature Penalty\", \n    \"displayName_es\": \"Penalización de señal\", \n    \"displayName_fr\": \"Pénalité de signature\", \n    \"displayName_it\": \"Signature Penalty\", \n    \"displayName_ja\": \"シグネチャペナルティ\", \n    \"displayName_ko\": \"시그니처 반경 페널티\", \n    \"displayName_ru\": \"Штраф к радиусу сигнатуры\", \n    \"displayName_zh\": \"信号强度惩罚\", \n    \"displayNameID\": 233216, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"signatureRadiusMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"653\": {\n    \"attributeID\": 653, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Velocity of the damage cloud created on impact.\", \n    \"displayName_de\": \"Explosionsgeschwindigkeit\", \n    \"displayName_en-us\": \"Explosion Velocity\", \n    \"displayName_es\": \"Velocidad de explosión\", \n    \"displayName_fr\": \"Vitesse d'explosion\", \n    \"displayName_it\": \"Explosion Velocity\", \n    \"displayName_ja\": \"爆発速度\", \n    \"displayName_ko\": \"폭발속도\", \n    \"displayName_ru\": \"Скорость взрыва\", \n    \"displayName_zh\": \"爆炸速度\", \n    \"displayNameID\": 233562, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"aoeVelocity\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 10\n  }, \n  \"654\": {\n    \"attributeID\": 654, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Size of the damage cloud caused by impact.\", \n    \"displayName_de\": \"Explosionsradius\", \n    \"displayName_en-us\": \"Explosion Radius\", \n    \"displayName_es\": \"Radio de explosión\", \n    \"displayName_fr\": \"Rayon d'explosion\", \n    \"displayName_it\": \"Explosion Radius\", \n    \"displayName_ja\": \"爆発半径\", \n    \"displayName_ko\": \"폭발반경\", \n    \"displayName_ru\": \"Сигнатура взрыва\", \n    \"displayName_zh\": \"爆炸半径\", \n    \"displayNameID\": 232953, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1390, \n    \"name\": \"aoeCloudSize\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"655\": {\n    \"attributeID\": 655, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"aoeFalloff\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"656\": {\n    \"attributeID\": 656, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusAC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"657\": {\n    \"attributeID\": 657, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusCC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"658\": {\n    \"attributeID\": 658, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusGC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"659\": {\n    \"attributeID\": 659, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusMC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"660\": {\n    \"attributeID\": 660, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of kinetic damage that might be inflicted on collision.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"impactDamage\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"661\": {\n    \"attributeID\": 661, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Deprecated.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxDirectionalVelocity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"662\": {\n    \"attributeID\": 662, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Deprecated.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"minTargetVelDmgMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"663\": {\n    \"attributeID\": 663, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"minMissileVelDmgMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"664\": {\n    \"attributeID\": 664, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"A multiplier used for the missile impact damage calculations.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxMissileVelocity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"665\": {\n    \"attributeID\": 665, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 2500.0, \n    \"description\": \"The distance outside of which the entity activates their MWD equivalent.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityChaseMaxDistance\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"666\": {\n    \"attributeID\": 666, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"This module only fits on specific ship groups.  This is one of them.\", \n    \"displayName_de\": \"Eingeschränkter Schiffstyp\", \n    \"displayName_en-us\": \"Restricted Ship Type\", \n    \"displayName_es\": \"Tipo de nave restringida\", \n    \"displayName_fr\": \"Type de vaisseau limité\", \n    \"displayName_it\": \"Restricted Ship Type\", \n    \"displayName_ja\": \"制限船種\", \n    \"displayName_ko\": \"제한된 함선 유형\", \n    \"displayName_ru\": \"Ограничение по типу кораблей\", \n    \"displayName_zh\": \"受限船型\", \n    \"displayNameID\": 233371, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"moduleShipGroup2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"667\": {\n    \"attributeID\": 667, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"This module only fits on specific ship groups.  This is one of them.\", \n    \"displayName_de\": \"Eingeschränkter Schiffstyp\", \n    \"displayName_en-us\": \"Restricted Ship Type\", \n    \"displayName_es\": \"Tipo de nave restringida\", \n    \"displayName_fr\": \"Type de vaisseau limité\", \n    \"displayName_it\": \"Restricted Ship Type\", \n    \"displayName_ja\": \"制限船種\", \n    \"displayName_ko\": \"제한된 함선 유형\", \n    \"displayName_ru\": \"Ограничение по типу кораблей\", \n    \"displayName_zh\": \"受限船型\", \n    \"displayNameID\": 233373, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"moduleShipGroup3\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"668\": {\n    \"attributeID\": 668, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"This module only fits on specific ship groups.  This is one of them.\", \n    \"displayName_de\": \"Eingeschränkter Schiffstyp\", \n    \"displayName_en-us\": \"Restricted Ship Type\", \n    \"displayName_es\": \"Tipo de nave restringida\", \n    \"displayName_fr\": \"Type de vaisseau limité\", \n    \"displayName_it\": \"Restricted Ship Type\", \n    \"displayName_ja\": \"制限船種\", \n    \"displayName_ko\": \"제한된 함선 유형\", \n    \"displayName_ru\": \"Ограничение по типу кораблей\", \n    \"displayName_zh\": \"受限船型\", \n    \"displayNameID\": 233370, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"moduleShipGroup1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"669\": {\n    \"attributeID\": 669, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of time that has to be waited after the deactivation of this module until it can be reactivated.\", \n    \"displayName_de\": \"Verzögerung für erneute Aktivierung\", \n    \"displayName_en-us\": \"Reactivation Delay\", \n    \"displayName_es\": \"Demora de reactivación\", \n    \"displayName_fr\": \"Délai de réactivation\", \n    \"displayName_it\": \"Reactivation Delay\", \n    \"displayName_ja\": \"リアクション遅延\", \n    \"displayName_ko\": \"재활성화 준비 시간\", \n    \"displayName_ru\": \"Задержка повторного включения\", \n    \"displayName_zh\": \"重启延迟\", \n    \"displayNameID\": 233368, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"moduleReactivationDelay\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"670\": {\n    \"attributeID\": 670, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Wirkungsreichweite\", \n    \"displayName_en-us\": \"Area Of Effect Bonus\", \n    \"displayName_es\": \"Bonificación de radio de acción\", \n    \"displayName_fr\": \"Bonus de zone d'effet\", \n    \"displayName_it\": \"Area Of Effect Bonus\", \n    \"displayName_ja\": \"有効範囲ボーナス\", \n    \"displayName_ko\": \"유효 범위 보너스\", \n    \"displayName_ru\": \"Повышение радиуса действия объёмного эффекта\", \n    \"displayName_zh\": \"效果范围加成\", \n    \"displayNameID\": 232957, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"areaOfEffectBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"672\": {\n    \"attributeID\": 672, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Umkreisungsgeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Orbit Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de órbita\", \n    \"displayName_fr\": \"Bonus de vitesse en orbite\", \n    \"displayName_it\": \"Orbit Velocity Bonus\", \n    \"displayName_ja\": \"旋回速度ボーナス\", \n    \"displayName_ko\": \"선회 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость движения по орбите\", \n    \"displayName_zh\": \"环绕速度加成\", \n    \"displayNameID\": 233159, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityCruiseSpeedMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"673\": {\n    \"attributeID\": 673, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusGunship1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"675\": {\n    \"attributeID\": 675, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusGunship2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"676\": {\n    \"attributeID\": 676, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 60000.0, \n    \"description\": \"How long it takes to unanchor this object.\", \n    \"displayName_de\": \"Entankerungsverzögerung\", \n    \"displayName_en-us\": \"Unanchoring Delay\", \n    \"displayName_es\": \"Demora de desanclaje\", \n    \"displayName_fr\": \"Délai de détachement\", \n    \"displayName_it\": \"Unanchoring Delay\", \n    \"displayName_ja\": \"係留解除遅延\", \n    \"displayName_ko\": \"위치 고정 해제 시간\", \n    \"displayName_ru\": \"Время снятия с якоря\", \n    \"displayName_zh\": \"解锚耗时\", \n    \"displayNameID\": 233153, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"unanchoringDelay\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"677\": {\n    \"attributeID\": 677, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 60000.0, \n    \"description\": \"How long it takes to bring this object online.\", \n    \"displayName_de\": \"Einschaltverzögerung\", \n    \"displayName_en-us\": \"Onlining Delay\", \n    \"displayName_es\": \"Demora de conexión\", \n    \"displayName_fr\": \"Délai de mise en ligne\", \n    \"displayName_it\": \"Onlining Delay\", \n    \"displayName_ja\": \"オンライン化遅延\", \n    \"displayName_ko\": \"온라인 준비 시간\", \n    \"displayName_ru\": \"Время включения\", \n    \"displayName_zh\": \"上线耗时\", \n    \"displayNameID\": 233380, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"onliningDelay\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"678\": {\n    \"attributeID\": 678, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"first bonus for support cruisers\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusLogistics1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"679\": {\n    \"attributeID\": 679, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"second bonus for support cruisers\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusLogistics2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"680\": {\n    \"attributeID\": 680, \n    \"categoryID\": 2, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Radius of the force shield that this structure generates.\", \n    \"displayName_de\": \"Schildradius\", \n    \"displayName_en-us\": \"Shield Radius\", \n    \"displayName_es\": \"Radio del escudo\", \n    \"displayName_fr\": \"Rayon du bouclier\", \n    \"displayName_it\": \"Shield Radius\", \n    \"displayName_ja\": \"シールド半径\", \n    \"displayName_ko\": \"실드 반경\", \n    \"displayName_ru\": \"Радиус силового поля\", \n    \"displayName_zh\": \"护盾半径\", \n    \"displayNameID\": 232940, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shieldRadius\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"681\": {\n    \"attributeID\": 681, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"A type allowed to be placed in this container.\", \n    \"displayName_de\": \"Gelagerter Typ 1\", \n    \"displayName_en-us\": \"Stored Type 1\", \n    \"displayName_es\": \"Stored Type 1\", \n    \"displayName_fr\": \"Type stocké 1\", \n    \"displayName_it\": \"Stored Type 1\", \n    \"displayName_ja\": \"格納タイプ 1\", \n    \"displayName_ko\": \"보관 분류 1\", \n    \"displayName_ru\": \"Тип хранения 1\", \n    \"displayName_zh\": \"贮藏种类1\", \n    \"displayNameID\": 233057, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"typeContainerType1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"682\": {\n    \"attributeID\": 682, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"A type allowed to be placed in this container.\", \n    \"displayName_de\": \"Gelagerter Typ 2\", \n    \"displayName_en-us\": \"Stored Type 2\", \n    \"displayName_es\": \"Tipo de almacenaje 2\", \n    \"displayName_fr\": \"Type stocké 2\", \n    \"displayName_it\": \"Stored Type 2\", \n    \"displayName_ja\": \"格納タイプ 2\", \n    \"displayName_ko\": \"보관 분류 2\", \n    \"displayName_ru\": \"Тип хранения 2\", \n    \"displayName_zh\": \"贮藏种类1\", \n    \"displayNameID\": 233055, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"typeContainerType2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"683\": {\n    \"attributeID\": 683, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"A type allowed to be placed in this container.\", \n    \"displayName_de\": \"Gelagerter Typ 3\", \n    \"displayName_en-us\": \"Stored Type 3\", \n    \"displayName_es\": \"Tipo de almacenaje 3\", \n    \"displayName_fr\": \"Type stocké 3\", \n    \"displayName_it\": \"Stored Type 3\", \n    \"displayName_ja\": \"格納タイプ 3\", \n    \"displayName_ko\": \"보관 분류 3\", \n    \"displayName_ru\": \"Тип хранения 3\", \n    \"displayName_zh\": \"贮藏种类3\", \n    \"displayNameID\": 233053, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"typeContainerType3\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"684\": {\n    \"attributeID\": 684, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of storage type 1 that can be fitted inside this structure.\", \n    \"displayName_de\": \"Lagerkapazität 1\", \n    \"displayName_en-us\": \"Storage Capacity 1\", \n    \"displayName_es\": \"Capacidad de almacenamiento 1\", \n    \"displayName_fr\": \"Capacité de stockage 1\", \n    \"displayName_it\": \"Storage Capacity 1\", \n    \"displayName_ja\": \"ストレージ容量 1\", \n    \"displayName_ko\": \"구조물 적재량 1\", \n    \"displayName_ru\": \"Емкость хранилища 1\", \n    \"displayName_zh\": \"储藏容量1\", \n    \"displayNameID\": 233062, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"typeContainerCapacity1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"685\": {\n    \"attributeID\": 685, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of storage type 2 that can be fitted inside this structure.\", \n    \"displayName_de\": \"Lagerkapazität 2\", \n    \"displayName_en-us\": \"Storage Capacity 2\", \n    \"displayName_es\": \"Capacidad de almacenamiento 2\", \n    \"displayName_fr\": \"Capacité de stockage 2\", \n    \"displayName_it\": \"Storage Capacity 2\", \n    \"displayName_ja\": \"ストレージ容量 2\", \n    \"displayName_ko\": \"구조물 적재량 2\", \n    \"displayName_ru\": \"Емкость хранилища 2\", \n    \"displayName_zh\": \"储藏容量2\", \n    \"displayNameID\": 233060, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"typeContainerCapacity2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"686\": {\n    \"attributeID\": 686, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of storage type 3 that can be fitted inside this structure.\", \n    \"displayName_de\": \"Lagerkapazität 3\", \n    \"displayName_en-us\": \"Storage Capacity 3\", \n    \"displayName_es\": \"Capacidad de almacenamiento 3\", \n    \"displayName_fr\": \"Capacité de stockage 3\", \n    \"displayName_it\": \"Storage Capacity 3\", \n    \"displayName_ja\": \"ストレージ容量 3\", \n    \"displayName_ko\": \"구조물 적재량 3\", \n    \"displayName_ru\": \"Емкость хранилища 3\", \n    \"displayName_zh\": \"储藏容量3\", \n    \"displayNameID\": 233059, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"typeContainerCapacity3\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"687\": {\n    \"attributeID\": 687, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The number of units of a resource consumed per minute of operation.\", \n    \"displayName_de\": \"Betriebsverbrauchsrate\", \n    \"displayName_en-us\": \"Operation Consumption Rate\", \n    \"displayName_es\": \"Tasa de consumo operativa\", \n    \"displayName_fr\": \"Taux de consommation en activité\", \n    \"displayName_it\": \"Operation Consumption Rate\", \n    \"displayName_ja\": \"オペレーション消費率\", \n    \"displayName_ko\": \"작동 소모율\", \n    \"displayName_ru\": \"Темп рабочего потребления\", \n    \"displayName_zh\": \"运转消耗率\", \n    \"displayNameID\": 233383, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"operationConsumptionRate\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"688\": {\n    \"attributeID\": 688, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The number of units of a resource consumed per minute of reinforced mode.\", \n    \"displayName_de\": \"Verstärkte Verbrauchsrate\", \n    \"displayName_en-us\": \"Reinforced Consumption Rate\", \n    \"displayName_es\": \"Tasa de consumo reforzado\", \n    \"displayName_fr\": \"Taux de consommation renforcé\", \n    \"displayName_it\": \"Reinforced Consumption Rate\", \n    \"displayName_ja\": \"強化消費率\", \n    \"displayName_ko\": \"강화 소모율\", \n    \"displayName_ru\": \"Скорость расхода в режиме неуязвимости\", \n    \"displayName_zh\": \"增强状态消耗率\", \n    \"displayNameID\": 233332, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reinforcedConsumptionRate\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"689\": {\n    \"attributeID\": 689, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 2391.0, \n    \"description\": \"The graphicID used for the structure when it is in package form.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"packageGraphicID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"690\": {\n    \"attributeID\": 690, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 250.0, \n    \"description\": \"The radius of the structure when it is in package form.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"packageRadius\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"691\": {\n    \"attributeID\": 691, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of time after attacking a target that an entity will wait before switching to a new one.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"targetSwitchDelay\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"692\": {\n    \"attributeID\": 692, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusHeavyGunship1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"693\": {\n    \"attributeID\": 693, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusHeavyGunship2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"694\": {\n    \"attributeID\": 694, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reinforcement Modus-Typ\", \n    \"displayName_en-us\": \"Reinforced Mode Type\", \n    \"displayName_es\": \"Tipo de modo reforzado\", \n    \"displayName_fr\": \"Type de mode renforcé\", \n    \"displayName_it\": \"Reinforced Mode Type\", \n    \"displayName_ja\": \"リインフォースモードタイプ\", \n    \"displayName_ko\": \"강화 모드 분류\", \n    \"displayName_ru\": \"Тип в режиме неуязвимости\", \n    \"displayName_zh\": \"增强模式类别\", \n    \"displayNameID\": 233106, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceReinforced1Type\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"695\": {\n    \"attributeID\": 695, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reinforcement Modus-Typ\", \n    \"displayName_en-us\": \"Reinforced Mode Type\", \n    \"displayName_es\": \"Tipo de modo reforzado\", \n    \"displayName_fr\": \"Type de mode renforcé\", \n    \"displayName_it\": \"Reinforced Mode Type\", \n    \"displayName_ja\": \"リインフォースモードタイプ\", \n    \"displayName_ko\": \"강화 모드 분류\", \n    \"displayName_ru\": \"Тип в режиме неуязвимости\", \n    \"displayName_zh\": \"增强模式类别\", \n    \"displayNameID\": 233112, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceReinforced2Type\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"696\": {\n    \"attributeID\": 696, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reinforcement Modus-Typ\", \n    \"displayName_en-us\": \"Reinforced Mode Type\", \n    \"displayName_es\": \"Tipo de modo reforzado\", \n    \"displayName_fr\": \"Type de mode renforcé\", \n    \"displayName_it\": \"Reinforced Mode Type\", \n    \"displayName_ja\": \"リインフォースモードタイプ\", \n    \"displayName_ko\": \"강화 모드 분류\", \n    \"displayName_ru\": \"Тип в режиме неуязвимости\", \n    \"displayName_zh\": \"增强模式类别\", \n    \"displayNameID\": 233116, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceReinforced3Type\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"697\": {\n    \"attributeID\": 697, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reinforcement Modus-Typ\", \n    \"displayName_en-us\": \"Reinforced Mode Type\", \n    \"displayName_es\": \"Tipo de modo reforzado\", \n    \"displayName_fr\": \"Type de mode renforcé\", \n    \"displayName_it\": \"Reinforced Mode Type\", \n    \"displayName_ja\": \"リインフォースモードタイプ\", \n    \"displayName_ko\": \"강화 모드 분류\", \n    \"displayName_ru\": \"Тип в режиме неуязвимости\", \n    \"displayName_zh\": \"增强模式类别\", \n    \"displayNameID\": 233119, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceReinforced4Type\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"698\": {\n    \"attributeID\": 698, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reinforcement Modus-Typ\", \n    \"displayName_en-us\": \"Reinforced Mode Type\", \n    \"displayName_es\": \"Tipo de modo reforzado\", \n    \"displayName_fr\": \"Type de mode renforcé\", \n    \"displayName_it\": \"Reinforced Mode Type\", \n    \"displayName_ja\": \"リインフォースモードタイプ\", \n    \"displayName_ko\": \"강화 모드 분류\", \n    \"displayName_ru\": \"Тип в режиме неуязвимости\", \n    \"displayName_zh\": \"增强模式类别\", \n    \"displayNameID\": 233121, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceReinforced5Type\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"699\": {\n    \"attributeID\": 699, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reinforcement Modus-Anzahl\", \n    \"displayName_en-us\": \"Reinforced Mode Quantity\", \n    \"displayName_es\": \"Cantidad de modo reforzado\", \n    \"displayName_fr\": \"Quantité de mode renforcé\", \n    \"displayName_it\": \"Reinforced Mode Quantity\", \n    \"displayName_ja\": \"リインフォースモード数量\", \n    \"displayName_ko\": \"강화 모드 수량\", \n    \"displayName_ru\": \"Количество в режиме неуязвимости\", \n    \"displayName_zh\": \"增强模式数量\", \n    \"displayNameID\": 233105, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceReinforced1Quantity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"700\": {\n    \"attributeID\": 700, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reinforcement Modus-Anzahl\", \n    \"displayName_en-us\": \"Reinforced Mode Quantity\", \n    \"displayName_es\": \"Cantidad de modo reforzado\", \n    \"displayName_fr\": \"Quantité de mode renforcé\", \n    \"displayName_it\": \"Reinforced Mode Quantity\", \n    \"displayName_ja\": \"リインフォースモード数量\", \n    \"displayName_ko\": \"강화 모드 수량\", \n    \"displayName_ru\": \"Количество в режиме неуязвимости\", \n    \"displayName_zh\": \"增强模式数量\", \n    \"displayNameID\": 233108, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceReinforced2Quantity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"701\": {\n    \"attributeID\": 701, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reinforcement Modus-Anzahl\", \n    \"displayName_en-us\": \"Reinforced Mode Quantity\", \n    \"displayName_es\": \"Cantidad de modo reforzado\", \n    \"displayName_fr\": \"Quantité de mode renforcé\", \n    \"displayName_it\": \"Reinforced Mode Quantity\", \n    \"displayName_ja\": \"リインフォースモード数量\", \n    \"displayName_ko\": \"강화 모드 수량\", \n    \"displayName_ru\": \"Количество в режиме неуязвимости\", \n    \"displayName_zh\": \"增强模式数量\", \n    \"displayNameID\": 233113, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceReinforced3Quantity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"703\": {\n    \"attributeID\": 703, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reinforcement Modus-Anzahl\", \n    \"displayName_en-us\": \"Reinforced Mode Quantity\", \n    \"displayName_es\": \"Cantidad de modo reforzado\", \n    \"displayName_fr\": \"Quantité de mode renforcé\", \n    \"displayName_it\": \"Reinforced Mode Quantity\", \n    \"displayName_ja\": \"リインフォースモード数量\", \n    \"displayName_ko\": \"강화 모드 수량\", \n    \"displayName_ru\": \"Количество в режиме неуязвимости\", \n    \"displayName_zh\": \"增强模式数量\", \n    \"displayNameID\": 233118, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceReinforced4Quantity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"704\": {\n    \"attributeID\": 704, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reinforcement Modus-Anzahl\", \n    \"displayName_en-us\": \"Reinforced Mode Quantity\", \n    \"displayName_es\": \"Cantidad de modo reforzado\", \n    \"displayName_fr\": \"Quantité de mode renforcé\", \n    \"displayName_it\": \"Reinforced Mode Quantity\", \n    \"displayName_ja\": \"リインフォースモード数量\", \n    \"displayName_ko\": \"강화 모드 수량\", \n    \"displayName_ru\": \"Количество в режиме неуязвимости\", \n    \"displayName_zh\": \"增强模式数量\", \n    \"displayNameID\": 233120, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceReinforced5Quantity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"705\": {\n    \"attributeID\": 705, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Onlinemodus-Typ\", \n    \"displayName_en-us\": \"Online Mode Type\", \n    \"displayName_es\": \"Online Mode Type\", \n    \"displayName_fr\": \"Type de mode de connexion\", \n    \"displayName_it\": \"Online Mode Type\", \n    \"displayName_ja\": \"オンラインモードタイプ\", \n    \"displayName_ko\": \"온라인 모드 종류\", \n    \"displayName_ru\": \"Тип во включенном режиме\", \n    \"displayName_zh\": \"上线模式\", \n    \"displayNameID\": 233098, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"resourceOnline1Type\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"706\": {\n    \"attributeID\": 706, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Onlinemodus-Typ\", \n    \"displayName_en-us\": \"Online Mode Type\", \n    \"displayName_es\": \"Online Mode Type\", \n    \"displayName_fr\": \"Type de mode de connexion\", \n    \"displayName_it\": \"Online Mode Type\", \n    \"displayName_ja\": \"オンラインモードタイプ\", \n    \"displayName_ko\": \"온라인 모드 종류\", \n    \"displayName_ru\": \"Тип во включенном режиме\", \n    \"displayName_zh\": \"上线模式\", \n    \"displayNameID\": 233100, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceOnline2Type\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"707\": {\n    \"attributeID\": 707, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Onlinemodus-Typ\", \n    \"displayName_en-us\": \"Online Mode Type\", \n    \"displayName_es\": \"Tipo de modo en línea\", \n    \"displayName_fr\": \"Type de mode de connexion\", \n    \"displayName_it\": \"Online Mode Type\", \n    \"displayName_ja\": \"オンラインモードタイプ\", \n    \"displayName_ko\": \"온라인 모드 종류\", \n    \"displayName_ru\": \"Тип во включенном режиме\", \n    \"displayName_zh\": \"上线模式\", \n    \"displayNameID\": 233101, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceOnline3Type\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"708\": {\n    \"attributeID\": 708, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Onlinemodus-Typ\", \n    \"displayName_en-us\": \"Online Mode Type\", \n    \"displayName_es\": \"Online Mode Type\", \n    \"displayName_fr\": \"Type de mode de connexion\", \n    \"displayName_it\": \"Online Mode Type\", \n    \"displayName_ja\": \"オンラインモードタイプ\", \n    \"displayName_ko\": \"온라인 모드 종류\", \n    \"displayName_ru\": \"Тип во включенном режиме\", \n    \"displayName_zh\": \"上线模式\", \n    \"displayNameID\": 233103, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"resourceOnline4Type\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"709\": {\n    \"attributeID\": 709, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The type of material harvested.\", \n    \"displayName_de\": \"Abgebauter Typ\", \n    \"displayName_en-us\": \"Harvested Type\", \n    \"displayName_es\": \"Tipo recolectado\", \n    \"displayName_fr\": \"Type récolté\", \n    \"displayName_it\": \"Harvested Type\", \n    \"displayName_ja\": \"採掘タイプ\", \n    \"displayName_ko\": \"수확물 분류\", \n    \"displayName_ru\": \"Тип ресурса\", \n    \"displayName_zh\": \"采集类别\", \n    \"displayNameID\": 233215, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"harvesterType\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"710\": {\n    \"attributeID\": 710, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The quality of the material harvested.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"harvesterQuality\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"711\": {\n    \"attributeID\": 711, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"How many meters from the standard warp-in distance a moon can be anchored from.\", \n    \"displayName_de\": \"Mond-Verankerungsdistanz\", \n    \"displayName_en-us\": \"Moon Anchor Distance\", \n    \"displayName_es\": \"Distancia de anclaje a luna\", \n    \"displayName_fr\": \"Distance d'ancrage de lune\", \n    \"displayName_it\": \"Moon Anchor Distance\", \n    \"displayName_ja\": \"衛星係留距離\", \n    \"displayName_ko\": \"위성 정박 거리\", \n    \"displayName_ru\": \"Расстояние анкеровки от луны\", \n    \"displayName_zh\": \"卫星锚定距离\", \n    \"displayNameID\": 233374, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"moonAnchorDistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"712\": {\n    \"attributeID\": 712, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"How much a charge used by this object is damaged each time the object operates.\", \n    \"displayName_de\": \"Durch Ladung verursachter Schaden\", \n    \"displayName_en-us\": \"Charge Usage Damage\", \n    \"displayName_es\": \"Daño de uso de carga\", \n    \"displayName_fr\": \"Dégâts d'utilisation des charges\", \n    \"displayName_it\": \"Charge Usage Damage\", \n    \"displayName_ja\": \"チャージ消費ダメージ\", \n    \"displayName_ko\": \"차지 손상도\", \n    \"displayName_ru\": \"Повреждения зарядам\", \n    \"displayName_zh\": \"弹药损耗\", \n    \"displayNameID\": 233146, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"usageDamagePercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"713\": {\n    \"attributeID\": 713, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The type of resource needed to be consumed for each activation cycle of this structure.\", \n    \"displayName_de\": \"Verbrauchstyp\", \n    \"displayName_en-us\": \"Consumption Type\", \n    \"displayName_es\": \"Tipo de consumo\", \n    \"displayName_fr\": \"Type de consommation\", \n    \"displayName_it\": \"Consumption Type\", \n    \"displayName_ja\": \"消費タイプ\", \n    \"displayName_ko\": \"사용 연료\", \n    \"displayName_ru\": \"Тип потребляемого топлива\", \n    \"displayName_zh\": \"消耗类型\", \n    \"displayNameID\": 233034, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"consumptionType\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"714\": {\n    \"attributeID\": 714, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of the given resource type needed to be consumed for each activation cycle of this structure.\", \n    \"displayName_de\": \"Verbrauchsmenge\", \n    \"displayName_en-us\": \"Consumption Quantity\", \n    \"displayName_es\": \"Cantidad de consumo\", \n    \"displayName_fr\": \"Quantité consommée\", \n    \"displayName_it\": \"Consumption Quantity\", \n    \"displayName_ja\": \"消費量\", \n    \"displayName_ko\": \"소모량\", \n    \"displayName_ru\": \"Количество потребления\", \n    \"displayName_zh\": \"消耗量\", \n    \"displayNameID\": 233610, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 0, \n    \"name\": \"consumptionQuantity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 138\n  }, \n  \"715\": {\n    \"attributeID\": 715, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum distance at which the object can be used.\", \n    \"displayName_de\": \"Max. Bedienungsentfernung\", \n    \"displayName_en-us\": \"Maximum Operational Distance\", \n    \"displayName_es\": \"Distancia máxima de funcionamiento\", \n    \"displayName_fr\": \"Distance opérationnelle maximale\", \n    \"displayName_it\": \"Maximum Operational Distance\", \n    \"displayName_ja\": \"最大オペレーション範囲\", \n    \"displayName_ko\": \"최대 작동 거리\", \n    \"displayName_ru\": \"Максимальная рабочая дистанция\", \n    \"displayName_zh\": \"最大操控范围\", \n    \"displayNameID\": 233312, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxOperationalDistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"716\": {\n    \"attributeID\": 716, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum number of users that can be present within the operational range of the structure for it to be capable of operation.\", \n    \"displayName_de\": \"Max. gleichzeitige Nutzer\", \n    \"displayName_en-us\": \"Maximum Concurrent Operational Users\", \n    \"displayName_es\": \"Máximo de usuarios operativos simultáneos\", \n    \"displayName_fr\": \"Nombre max d'utilisateurs opérationnels simultanés\", \n    \"displayName_it\": \"Maximum Concurrent Operational Users\", \n    \"displayName_ja\": \"最大同時使用ユーザー数\", \n    \"displayName_ko\": \"최대 동시 작동 유저 수\", \n    \"displayName_ru\": \"Максимальное количество одновременно работающих пользователей\", \n    \"displayName_zh\": \"同时使用用户数上限\", \n    \"displayNameID\": 233313, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxOperationalUsers\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"717\": {\n    \"attributeID\": 717, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.5, \n    \"description\": \"The factor by which the structure modifies the using pilot's refining yield rate.\", \n    \"displayName_de\": \"Raffinierertrag-Multiplikator\", \n    \"displayName_en-us\": \"Refining Yield Multiplier\", \n    \"displayName_es\": \"Multiplicador de rendimiento de refinado\", \n    \"displayName_fr\": \"Multiplicateur de rendement de raffinage\", \n    \"displayName_it\": \"Refining Yield Multiplier\", \n    \"displayName_ja\": \"精錬量乗数\", \n    \"displayName_ko\": \"정제 처리 배수\", \n    \"displayName_ru\": \"Коэффициент выработки\", \n    \"displayName_zh\": \"提炼产量系数\", \n    \"displayNameID\": 233341, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"refiningYieldMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"719\": {\n    \"attributeID\": 719, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of time that is taken to refine the ore into the end product.  The structure is busy for the length of this process.\", \n    \"displayName_de\": \"Betriebsdauer\", \n    \"displayName_en-us\": \"Operational Duration\", \n    \"displayName_es\": \"Duración operativa\", \n    \"displayName_fr\": \"Durée opérationnelle\", \n    \"displayName_it\": \"Operational Duration\", \n    \"displayName_ja\": \"オペレーション期間\", \n    \"displayName_ko\": \"작동 지속시간\", \n    \"displayName_ru\": \"Длительность работы\", \n    \"displayName_zh\": \"运转持续时间\", \n    \"displayNameID\": 233382, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"operationalDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"720\": {\n    \"attributeID\": 720, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The capacity of the refinery container.\", \n    \"displayName_de\": \"Raffineriekapazität\", \n    \"displayName_en-us\": \"Refinery Capacity\", \n    \"displayName_es\": \"Capacidad de refinería\", \n    \"displayName_fr\": \"Capacité de raffinage\", \n    \"displayName_it\": \"Refinery Capacity\", \n    \"displayName_ja\": \"精錬所容量\", \n    \"displayName_ko\": \"정제소 적재량\", \n    \"displayName_ru\": \"Ёмкость перерабатывающего модуля\", \n    \"displayName_zh\": \"精炼能力\", \n    \"displayNameID\": 233351, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"refineryCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"721\": {\n    \"attributeID\": 721, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"The factor by which the character can effect the amount of time that the Refining Delay takes.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"refiningDelayMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"722\": {\n    \"attributeID\": 722, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 10000.0, \n    \"description\": \"The interval for fuel consumption of a control tower\", \n    \"displayName_de\": \"Starbase-Kontrollturm-Zeitraum\", \n    \"displayName_en-us\": \"Starbase Control Tower Period\", \n    \"displayName_es\": \"Periodo de torre de control de la base estelar\", \n    \"displayName_fr\": \"Période de tour de contrôle de base stellaire\", \n    \"displayName_it\": \"Starbase Control Tower Period\", \n    \"displayName_ja\": \"スターベースコントロールタワー周期\", \n    \"displayName_ko\": \"스타베이스 관제타워 시간\", \n    \"displayName_ru\": \"Продолжительность цикла энергопотребления\", \n    \"displayName_zh\": \"母星控制塔周期\", \n    \"displayNameID\": 233407, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"posControlTowerPeriod\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"723\": {\n    \"attributeID\": 723, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The chance that the customs official has of detecting contraband on board a scanned vessel\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"contrabandDetectionChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"724\": {\n    \"attributeID\": 724, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"A modifier to the chance of contraband detection success of police who scan the pilot's vessel.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"contrabandDetectionResistance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"725\": {\n    \"attributeID\": 725, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The chance that a passer by will be chosen as a target of a scan for contraband.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"contrabandScanChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"726\": {\n    \"attributeID\": 726, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Mond-Bergbauertrag\", \n    \"displayName_en-us\": \"Moon Mining Amount\", \n    \"displayName_es\": \"Cantidad extraída lunar\", \n    \"displayName_fr\": \"Quantité d'extraction lunaire\", \n    \"displayName_it\": \"Moon Mining Amount\", \n    \"displayName_ja\": \"衛星採掘量\", \n    \"displayName_ko\": \"위성 채굴 총량\", \n    \"displayName_ru\": \"Объем лунной добычи\", \n    \"displayName_zh\": \"卫星开采量\", \n    \"displayNameID\": 233430, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"moonMiningAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"727\": {\n    \"attributeID\": 727, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"destroyerROFpenality\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"728\": {\n    \"attributeID\": 728, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerLaserDamageBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"729\": {\n    \"attributeID\": 729, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusMD1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"732\": {\n    \"attributeID\": 732, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusD1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"733\": {\n    \"attributeID\": 733, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusD2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"734\": {\n    \"attributeID\": 734, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCD1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"735\": {\n    \"attributeID\": 735, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCD2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"738\": {\n    \"attributeID\": 738, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusGD1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"739\": {\n    \"attributeID\": 739, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusGD2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"740\": {\n    \"attributeID\": 740, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusMD2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"741\": {\n    \"attributeID\": 741, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusBC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"742\": {\n    \"attributeID\": 742, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusBC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"743\": {\n    \"attributeID\": 743, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCBC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"745\": {\n    \"attributeID\": 745, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCBC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"746\": {\n    \"attributeID\": 746, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusGBC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"747\": {\n    \"attributeID\": 747, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusGBC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"748\": {\n    \"attributeID\": 748, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusMBC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"749\": {\n    \"attributeID\": 749, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusMBC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"750\": {\n    \"attributeID\": 750, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerLaserOptimalBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"751\": {\n    \"attributeID\": 751, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Hybridposten-Optimum-Bonus\", \n    \"displayName_en-us\": \"Hybrid Sentry Optimal Bonus\", \n    \"displayName_es\": \"Bonificación de alcance óptimo de centinelas híbridos\", \n    \"displayName_fr\": \"Bonus optimal de sentinelle hybride\", \n    \"displayName_it\": \"Hybrid Sentry Optimal Bonus\", \n    \"displayName_ja\": \"ハイブリッドセントリー最適射程距離ボーナス\", \n    \"displayName_ko\": \"하이브리드 센트리 최적사거리 보너스\", \n    \"displayName_ru\": \"Влияние на оптимальную дальность гибридных стационарных орудий\", \n    \"displayName_zh\": \"混合岗哨炮最佳射程加成\", \n    \"displayNameID\": 233038, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerHybridOptimalBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"752\": {\n    \"attributeID\": 752, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerProjectileOptimalBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"753\": {\n    \"attributeID\": 753, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerProjectileFallOffBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"754\": {\n    \"attributeID\": 754, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerProjectileROFBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"755\": {\n    \"attributeID\": 755, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerMissileROFBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"756\": {\n    \"attributeID\": 756, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerMoonHarvesterCPUBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"757\": {\n    \"attributeID\": 757, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerSiloCapacityBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"758\": {\n    \"attributeID\": 758, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"destroyers attribute 1\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusDF1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"759\": {\n    \"attributeID\": 759, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"destroyer attribute 2\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusDF2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"760\": {\n    \"attributeID\": 760, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Laserposten-Umgebung-Bonus\", \n    \"displayName_en-us\": \"Laser Sentry Proximity Bonus\", \n    \"displayName_es\": \"Bonificación de proximidad de centinelas láser\", \n    \"displayName_fr\": \"Bonus de proximité de sentinelle laser\", \n    \"displayName_it\": \"Laser Sentry Proximity Bonus\", \n    \"displayName_ja\": \"レーザーセントリー近接ボーナス\", \n    \"displayName_ko\": \"레이저 센트리 근접 보너스\", \n    \"displayName_ru\": \"Влияние на дистанцию включения лазерных стационарных орудий\", \n    \"displayName_zh\": \"激光岗哨炮激活范围加成\", \n    \"displayNameID\": 233040, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerLaserProximityRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"761\": {\n    \"attributeID\": 761, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Projektil-Sentry-Umgebung-Bonus\", \n    \"displayName_en-us\": \"Projectile Sentry Proximity Bonus\", \n    \"displayName_es\": \"Bonificación de proximidad de centinela de proyectiles\", \n    \"displayName_fr\": \"Bonus de proximité de sentinelle à projectiles\", \n    \"displayName_it\": \"Projectile Sentry Proximity Bonus\", \n    \"displayName_ja\": \"プロジェクタイルセントリー近接ボーナス\", \n    \"displayName_ko\": \"발사체 센트리 근접 보너스\", \n    \"displayName_ru\": \"Влияние на дистанцию включения баллистических стационарных орудий\", \n    \"displayName_zh\": \"射弹岗哨炮激活范围加成\", \n    \"displayNameID\": 233042, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerProjectileProximityRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"762\": {\n    \"attributeID\": 762, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Hybridposten-Umgebung-Bonus\", \n    \"displayName_en-us\": \"Hybrid Sentry Proximity Bonus\", \n    \"displayName_es\": \"Bonificación de proximidad de centinelas híbridos\", \n    \"displayName_fr\": \"Bonus de proximité de sentinelle hybride\", \n    \"displayName_it\": \"Hybrid Sentry Proximity Bonus\", \n    \"displayName_ja\": \"ハイブリッドセントリー近接ボーナス\", \n    \"displayName_ko\": \"하이브리드 센트리 근접 보너스\", \n    \"displayName_ru\": \"Влияние на дистанцию включения гибридных стационарных орудий\", \n    \"displayName_zh\": \"混合岗哨炮激活范围加成\", \n    \"displayNameID\": 233039, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerHybridProximityRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"763\": {\n    \"attributeID\": 763, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum modules of same group that can be activated at same time, 0 = no limit, 1 = 1\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxGroupActive\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"764\": {\n    \"attributeID\": 764, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Zielstördauer-Bonus\", \n    \"displayName_en-us\": \"Target Jamming Duration Bonus\", \n    \"displayName_es\": \"Bonificación de duración de perturbación de objetivos\", \n    \"displayName_fr\": \"Bonus de durée de brouillage de la cible\", \n    \"displayName_it\": \"Target Jamming Duration Bonus\", \n    \"displayName_ja\": \"ターゲットジャミング持続時間ボーナス\", \n    \"displayName_ko\": \"타겟 재밍 지속시간 보너스\", \n    \"displayName_ru\": \"Влияние на время цикла модулей глушения захвата целей\", \n    \"displayName_zh\": \"目标干扰持续时间加成\", \n    \"displayNameID\": 233037, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerEwRofBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"765\": {\n    \"attributeID\": 765, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 10.0, \n    \"description\": \"Effective range of scanner in multiples of AUs\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"766\": {\n    \"attributeID\": 766, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerHybridDamageBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"767\": {\n    \"attributeID\": 767, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Tracking Speed Bonus\", \n    \"displayName_de\": \"Nachführungsgeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Tracking Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de rastreo\", \n    \"displayName_fr\": \"Bonus de vitesse de poursuite\", \n    \"displayName_it\": \"Tracking Speed Bonus\", \n    \"displayName_ja\": \"追跡速度ボーナス\", \n    \"displayName_ko\": \"트래킹 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость наводки\", \n    \"displayName_zh\": \"跟踪速度加成\", \n    \"displayNameID\": 233167, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1398, \n    \"name\": \"trackingSpeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"769\": {\n    \"attributeID\": 769, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Optimale Reichweite-Bonus\", \n    \"displayName_en-us\": \"Optimal Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance óptimo\", \n    \"displayName_fr\": \"Bonus de portée optimale\", \n    \"displayName_it\": \"Optimal Range Bonus\", \n    \"displayName_ja\": \"最適射程距離ボーナス\", \n    \"displayName_ko\": \"최적사거리 보너스\", \n    \"displayName_ru\": \"Влияние на оптимальную дальность\", \n    \"displayName_zh\": \"最佳射程加成\", \n    \"displayNameID\": 233318, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxRangeBonus2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"770\": {\n    \"attributeID\": 770, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus attribute to entity Target Switch Delay\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerEwTargetSwitchDelayBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"771\": {\n    \"attributeID\": 771, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"ammoCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"772\": {\n    \"attributeID\": 772, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityFlyRangeFactor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"773\": {\n    \"attributeID\": 773, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"ORE mining barge bonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusORE1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"774\": {\n    \"attributeID\": 774, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"ORE Mining barge bonus 2\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusORE2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"775\": {\n    \"attributeID\": 775, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"funky stuff for mining barges\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"miningCPUNeedBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"776\": {\n    \"attributeID\": 776, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Velocity %bonus for given missile group for missile batteries.\", \n    \"displayName_de\": \"Raketengeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Missile Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de misiles\", \n    \"displayName_fr\": \"Bonus de vitesse des missiles\", \n    \"displayName_it\": \"Missile Velocity Bonus\", \n    \"displayName_ja\": \"ミサイル速度ボーナス\", \n    \"displayName_ko\": \"미사일 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость полёта ракет\", \n    \"displayName_zh\": \"导弹速度加成\", \n    \"displayNameID\": 233186, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"structureMissileVelocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"777\": {\n    \"attributeID\": 777, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Damage %bonus for given missile group for missile batteries.\", \n    \"displayName_de\": \"Raketenschaden-Bonus\", \n    \"displayName_en-us\": \"Missile Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño de misiles\", \n    \"displayName_fr\": \"Bonus de dégât des missiles\", \n    \"displayName_it\": \"Missile Damage Bonus\", \n    \"displayName_ja\": \"ミサイルダメージボーナス\", \n    \"displayName_ko\": \"미사일 피해 보너스\", \n    \"displayName_ru\": \"Влияние на урон БЧ ракет\", \n    \"displayName_zh\": \"导弹伤害加成\", \n    \"displayNameID\": 233188, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"structureMissileDamageBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"778\": {\n    \"attributeID\": 778, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Exploision Delay (range) bonus for missile batteries\", \n    \"displayName_de\": \"Raketenexplosionsverzögerung-Bonus\", \n    \"displayName_en-us\": \"Missile Explosion Delay Bonus\", \n    \"displayName_es\": \"Bonificación de demora de explosión de misiles\", \n    \"displayName_fr\": \"Bonus de délai d'explosion des missiles\", \n    \"displayName_it\": \"Missile Explosion Delay Bonus\", \n    \"displayName_ja\": \"ミサイル爆発遅延ボーナス\", \n    \"displayName_ko\": \"미사일 폭발 지연 보너스\", \n    \"displayName_ru\": \"Влияние на задержку взрыва ракет\", \n    \"displayName_zh\": \"导弹爆炸延迟加成\", \n    \"displayNameID\": 233187, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"structureMissileExplosionDelayBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"779\": {\n    \"attributeID\": 779, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"For charges, hidden attribute used by sentry guns to modify target pick range.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityFlyRangeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"780\": {\n    \"attributeID\": 780, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Zyklusdauerbonus\", \n    \"displayName_en-us\": \"Cycle Time bonus\", \n    \"displayName_es\": \"Bonificación de tiempo de ciclo\", \n    \"displayName_fr\": \"Bonus de temps de cycle\", \n    \"displayName_it\": \"Cycle Time bonus\", \n    \"displayName_ja\": \"サイクル時間ボーナス\", \n    \"displayName_ko\": \"사이클 시간 보너스\", \n    \"displayName_ru\": \"Влияние на время цикла\", \n    \"displayName_zh\": \"循环时间加成\", \n    \"displayNameID\": 233230, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"iceHarvestCycleBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"781\": {\n    \"attributeID\": 781, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"The group at which the mining crystal is tuned to mine.\", \n    \"displayName_de\": \"Asteroiden-Spezialisierungsgruppe\", \n    \"displayName_en-us\": \"Asteroid Specialization Group\", \n    \"displayName_es\": \"Grupo de especialización asteroidal\", \n    \"displayName_fr\": \"Groupe de spécialisation en astéroïdes\", \n    \"displayName_it\": \"Asteroid Specialization Group\", \n    \"displayName_ja\": \"アステロイド専門グループ\", \n    \"displayName_ko\": \"특화 광석\", \n    \"displayName_ru\": \"Группа специализации на астероидах\", \n    \"displayName_zh\": \"专精矿种\", \n    \"displayNameID\": 233440, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"specializationAsteroidGroup\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"782\": {\n    \"attributeID\": 782, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount the yield is modified when mining the asteroid group this crystal is tuned for.\", \n    \"displayName_de\": \"Ertragsmodifikator für Asteroiden-Spezialisierung\", \n    \"displayName_en-us\": \"Asteroid Specialization Yield Modifier\", \n    \"displayName_es\": \"Modificador de rendimiento por especialización asteroidal\", \n    \"displayName_fr\": \"Modificateur de rendement de la spécialisation en astéroïdes\", \n    \"displayName_it\": \"Asteroid Specialization Yield Modifier\", \n    \"displayName_ja\": \"アステロイド専門採掘量修正乗数\", \n    \"displayName_ko\": \"특화 광석 채굴량 배수\", \n    \"displayName_ru\": \"Модификатор выработки для специализованности\", \n    \"displayName_zh\": \"专精矿种产量调整\", \n    \"displayNameID\": 233439, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"specializationAsteroidYieldMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"783\": {\n    \"attributeID\": 783, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The chance of damage to the crystal each time it is used.\", \n    \"displayName_de\": \"Flüchtigkeit\", \n    \"displayName_en-us\": \"Volatility\", \n    \"displayName_es\": \"Volatilidad\", \n    \"displayName_fr\": \"Volatilité\", \n    \"displayName_it\": \"Volatility\", \n    \"displayName_ja\": \"不安定性\", \n    \"displayName_ko\": \"손상 확률\", \n    \"displayName_ru\": \"Хрупкость\", \n    \"displayName_zh\": \"挥发度\", \n    \"displayNameID\": 233067, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"crystalVolatilityChance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die Wahrscheinlichkeit bei jedem Einsatz des Gegenstands, dass er abgenutzt wird und Schaden nimmt\", \n    \"tooltipDescription_en-us\": \"The probability of the item wearing down and taking damage every time it's used\", \n    \"tooltipDescription_es\": \"La probabilidad de que el objeto se desgaste y sufra daños cada vez que se usa.\", \n    \"tooltipDescription_fr\": \"La probabilité que l'objet s'use et subisse des dégâts à chaque utilisation\", \n    \"tooltipDescription_it\": \"The probability of the item wearing down and taking damage every time it's used\", \n    \"tooltipDescription_ja\": \"使用する度にアイテムが劣化してダメージを受ける確率\", \n    \"tooltipDescription_ko\": \"아이템을 사용했을 때 아이템이 손상될 확률 및 받는 피해량\", \n    \"tooltipDescription_ru\": \"Вероятность износа предмета и его повреждения при каждом использовании\", \n    \"tooltipDescription_zh\": \"该物品每次使用时存在的磨损和受损可能性\", \n    \"tooltipDescriptionID\": 707114, \n    \"unitID\": 127\n  }, \n  \"784\": {\n    \"attributeID\": 784, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of damage done if the crystal is damaged in the process of using it.\", \n    \"displayName_de\": \"Flüchtigkeitsschaden\", \n    \"displayName_en-us\": \"Volatility Damage\", \n    \"displayName_es\": \"Daño de volatilidad\", \n    \"displayName_fr\": \"Dégâts de volatilité\", \n    \"displayName_it\": \"Volatility Damage\", \n    \"displayName_ja\": \"不安定性ダメージ\", \n    \"displayName_ko\": \"손상도\", \n    \"displayName_ru\": \"Повреждения при использовании\", \n    \"displayName_zh\": \"挥发损耗\", \n    \"displayNameID\": 233068, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"crystalVolatilityDamage\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die Menge an Schaden, die der Gegenstand bei jedem Einsatz nehmen kann\", \n    \"tooltipDescription_en-us\": \"The amount of damage the item may take on each use\", \n    \"tooltipDescription_es\": \"La cantidad de daño que el objeto puede soportar en cada uso.\", \n    \"tooltipDescription_fr\": \"La quantité de dégâts que l'objet peut subir à chaque utilisation\", \n    \"tooltipDescription_it\": \"The amount of damage the item may take on each use\", \n    \"tooltipDescription_ja\": \"使用時にアイテムが受ける可能性があるダメージ量\", \n    \"tooltipDescription_ko\": \"아이템을 사용했을 때 받을 수 있는 최대 피해량\", \n    \"tooltipDescription_ru\": \"Показатель урона предмета при каждом использовании\", \n    \"tooltipDescription_zh\": \"该物品每次使用时可能承受的损坏程度\", \n    \"tooltipDescriptionID\": 707115, \n    \"unitID\": 113\n  }, \n  \"785\": {\n    \"attributeID\": 785, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The capacitor charge required to disengage this crystal from the unit it is installed in.\", \n    \"displayName_de\": \"Zu hohe Energiespeicher-Kosten\", \n    \"displayName_en-us\": \"Unfitting Capacitor Cost\", \n    \"displayName_es\": \"Coste de desequipar condensador\", \n    \"displayName_fr\": \"Coût de démontage du capaciteur\", \n    \"displayName_it\": \"Unfitting Capacitor Cost\", \n    \"displayName_ja\": \"キャパシタ装備解除コスト\", \n    \"displayName_ko\": \"피팅해제 캐패시터 소모량\", \n    \"displayName_ru\": \"Расход энергии на снятие\", \n    \"displayName_zh\": \"卸载电容消耗\", \n    \"displayNameID\": 233148, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"unfitCapCost\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"786\": {\n    \"attributeID\": 786, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Whether this tool causes damage to crystals with each use of them.\", \n    \"displayName_de\": \"Kristalle nehmen Schaden\", \n    \"displayName_en-us\": \"Crystals Take Damage\", \n    \"displayName_es\": \"Los cristales reciben daño.\", \n    \"displayName_fr\": \"Les cristaux subissent des dégâts\", \n    \"displayName_it\": \"Crystals Take Damage\", \n    \"displayName_ja\": \"クリスタル損耗\", \n    \"displayName_ko\": \"크리스탈 피해량\", \n    \"displayName_ru\": \"Кристаллы получают повреждения\", \n    \"displayName_zh\": \"晶体损耗\", \n    \"displayNameID\": 233613, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"crystalsGetDamaged\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"787\": {\n    \"attributeID\": 787, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Minimum scanning error\", \n    \"displayName_de\": \"Minimale Scan-Abweichung\", \n    \"displayName_en-us\": \"Minimum Scan Deviation\", \n    \"displayName_es\": \"Desviación mínima del escaneo\", \n    \"displayName_fr\": \"Déviation minimum du balayage\", \n    \"displayName_it\": \"Minimum Scan Deviation\", \n    \"displayName_ja\": \"最小スキャン誤差\", \n    \"displayName_ko\": \"최소 스캔 오차\", \n    \"displayName_ru\": \"Минимальное отклонение при поиске объектов\", \n    \"displayName_zh\": \"扫描偏差下限\", \n    \"displayNameID\": 233356, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"minScanDeviation\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"788\": {\n    \"attributeID\": 788, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum scan error\", \n    \"displayName_de\": \"Max. Scan-Abweichung\", \n    \"displayName_en-us\": \"Maximum Scan Deviation\", \n    \"displayName_es\": \"Desviación máxima del escaneo\", \n    \"displayName_fr\": \"Déviation maximum du balayage\", \n    \"displayName_it\": \"Maximum Scan Deviation\", \n    \"displayName_ja\": \"最大スキャン誤差\", \n    \"displayName_ko\": \"스캔 최대 오차\", \n    \"displayName_ru\": \"Максимальное отклонение при поиске зондами\", \n    \"displayName_zh\": \"扫描偏差上限\", \n    \"displayNameID\": 233324, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxScanDeviation\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"789\": {\n    \"attributeID\": 789, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Spezialkristall-Bergbauertrag\", \n    \"displayName_en-us\": \"Specialty Crystal Mining Amount\", \n    \"displayName_es\": \"Cantidad extraída con cristal especializado\", \n    \"displayName_fr\": \"Rendement d'extraction du cristal spécialisé\", \n    \"displayName_it\": \"Specialty Crystal Mining Amount\", \n    \"displayName_ja\": \"クリスタル特化採掘量\", \n    \"displayName_ko\": \"특수 크리스탈 채굴 총량\", \n    \"displayName_ru\": \"Объем добычи при использовании специальных кристаллов\", \n    \"displayName_zh\": \"专精晶体开采量\", \n    \"displayNameID\": 233428, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"specialtyMiningAmount\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"790\": {\n    \"attributeID\": 790, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The skill required to reprocess this ore type.\", \n    \"displayName_de\": \"Aufbereitung-Skill\", \n    \"displayName_en-us\": \"Reprocessing Skill\", \n    \"displayName_es\": \"Habilidad de reprocesamiento\", \n    \"displayName_fr\": \"Compétence de retraitement\", \n    \"displayName_it\": \"Reprocessing Skill\", \n    \"displayName_ja\": \"再処理スキル\", \n    \"displayName_ko\": \"재처리 스킬\", \n    \"displayName_ru\": \"Навык переработки\", \n    \"displayName_zh\": \"回收再生技能\", \n    \"displayNameID\": 233344, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reprocessingSkillType\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"791\": {\n    \"attributeID\": 791, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 3.0, \n    \"description\": \"Number of probes needed for an analyzis\", \n    \"displayName_de\": \"Sonden für Analyse\", \n    \"displayName_en-us\": \"Probes to Analyze\", \n    \"displayName_es\": \"Sondas para analizar\", \n    \"displayName_fr\": \"Sondes à analyser\", \n    \"displayName_it\": \"Probes to Analyze\", \n    \"displayName_ja\": \"解析プローブ\", \n    \"displayName_ko\": \"분석용 프로브\", \n    \"displayName_ru\": \"Зонды для анализа\", \n    \"displayName_zh\": \"分析探针\", \n    \"displayNameID\": 233280, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanAnalyzeCount\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"792\": {\n    \"attributeID\": 792, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerMissileVelocityBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"793\": {\n    \"attributeID\": 793, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Fixed Role Bonus on a ship.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusRole7\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"794\": {\n    \"attributeID\": 794, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 3.0, \n    \"description\": \"Number of probes to analyze\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"probesInGroup\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"795\": {\n    \"attributeID\": 795, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusABC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"796\": {\n    \"attributeID\": 796, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Attribute for adding mass to a ship via an afterburner or MWD.\", \n    \"displayName_de\": \"Vergrößerung der Masse\", \n    \"displayName_en-us\": \"Mass Addition\", \n    \"displayName_es\": \"Incorporación de masa\", \n    \"displayName_fr\": \"Ajout de masse\", \n    \"displayName_it\": \"Mass Addition\", \n    \"displayName_ja\": \"質量加算\", \n    \"displayName_ko\": \"질량 추가\", \n    \"displayName_ru\": \"Увеличение массы\", \n    \"displayName_zh\": \"质量增加值\", \n    \"displayNameID\": 233289, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 76, \n    \"name\": \"massAddition\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 2\n  }, \n  \"797\": {\n    \"attributeID\": 797, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 300000.0, \n    \"description\": \"The maximum possible target range.\", \n    \"displayName_de\": \"Theoretische max. Aufschaltreichweite\", \n    \"displayName_en-us\": \"Theoretical Maximum Targeting Range\", \n    \"displayName_es\": \"Distancia-objetivo máxima teórica\", \n    \"displayName_fr\": \"Portée théorique maximale du système de ciblage\", \n    \"displayName_it\": \"Theoretical Maximum Targeting Range\", \n    \"displayName_ja\": \"最大ターゲット範囲（理論値）\", \n    \"displayName_ko\": \"이론상 최대 타겟팅 거리\", \n    \"displayName_ru\": \"Теоретическая максимальная дальность захвата целей\", \n    \"displayName_zh\": \"锁定范围理论上限值\", \n    \"displayNameID\": 233574, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"maximumRangeCap\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"798\": {\n    \"attributeID\": 798, \n    \"categoryID\": 31, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"0: white (default)\\r\\n1: red (hostile NPC)\\r\\n2: blue (Neutral NPC)\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityBracketColour\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"799\": {\n    \"attributeID\": 799, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 2.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Talisman-Set-Bonus\", \n    \"displayName_en-us\": \"Talisman Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Talisman\", \n    \"displayName_fr\": \"Bonus de l'ensemble Talisman\", \n    \"displayName_it\": \"Talisman Set Bonus\", \n    \"displayName_ja\": \"タリスマンセットボーナス\", \n    \"displayName_ko\": \"탈리스만 세트 보너스\", \n    \"displayName_ru\": \"Влияние комплекта «Талисман»\", \n    \"displayName_zh\": \"护符套件加成\", \n    \"displayNameID\": 233233, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetBloodraider\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"800\": {\n    \"attributeID\": 800, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, contrabandDetectionChanceBonus\", \n    \"displayName_de\": \"Schmuggelwarenerkennung-Modifikator\", \n    \"displayName_en-us\": \"Contraband Detection Modifier\", \n    \"displayName_es\": \"Modificador de detección de contrabando\", \n    \"displayName_fr\": \"Modificateur de détection de contrebande\", \n    \"displayName_it\": \"Contraband Detection Modifier\", \n    \"displayName_ja\": \"密輸品探知修正乗数\", \n    \"displayName_ko\": \"밀수품 탐지 보정치\", \n    \"displayName_ru\": \"Модификатор обнаружения контрабанды\", \n    \"displayName_zh\": \"违禁物侦测几率调整\", \n    \"displayNameID\": 233035, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 0, \n    \"name\": \"contrabandDetectionChanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"801\": {\n    \"attributeID\": 801, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Modules with this attribute set to 1 can not be used in deadspace. Modules with this attribute set to 2 can not be used in deadspace even where \\\"disableModuleBlocking\\\" is selected\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"deadspaceUnsafe\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"802\": {\n    \"attributeID\": 802, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schlangen-Set-Bonus\", \n    \"displayName_en-us\": \"Snake Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Snake\", \n    \"displayName_fr\": \"Bonus de l'ensemble Snake\", \n    \"displayName_it\": \"Snake Set Bonus\", \n    \"displayName_ja\": \"スネークセットボーナス\", \n    \"displayName_ko\": \"스네이크 세트 보너스\", \n    \"displayName_ru\": \"Влияние комплекта «Снейк»\", \n    \"displayName_zh\": \"蝰蛇套件加成\", \n    \"displayNameID\": 233238, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetSerpentis\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"803\": {\n    \"attributeID\": 803, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Asklepian-Setbonus\", \n    \"displayName_en-us\": \"Asklepian Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Asklepian\", \n    \"displayName_fr\": \"Bonus d'ensemble Asklepian\", \n    \"displayName_it\": \"Asklepian Set Bonus\", \n    \"displayName_ja\": \"アスクレピアンセットボーナス\", \n    \"displayName_ko\": \"아스클레피안 세트 보너스\", \n    \"displayName_ru\": \"Влияние комплекта «Асклепий»\", \n    \"displayName_zh\": \"阿斯克雷套件加成\", \n    \"displayNameID\": 312550, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetSerpentis2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"804\": {\n    \"attributeID\": 804, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusInterceptor2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"805\": {\n    \"attributeID\": 805, \n    \"categoryID\": 7, \n    \"dataType\": 1, \n    \"defaultValue\": 0.0, \n    \"description\": \"Quantity contained.\", \n    \"displayName_de\": \"Menge\", \n    \"displayName_en-us\": \"Quantity\", \n    \"displayName_es\": \"Cantidad\", \n    \"displayName_fr\": \"Quantité\", \n    \"displayName_it\": \"Quantity\", \n    \"displayName_ja\": \"数量\", \n    \"displayName_ko\": \"수량\", \n    \"displayName_ru\": \"Количество\", \n    \"displayName_zh\": \"数量\", \n    \"displayNameID\": 233367, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"quantity\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"806\": {\n    \"attributeID\": 806, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, repairBonus\", \n    \"displayName_de\": \"Reparaturbonus\", \n    \"displayName_en-us\": \"Repair Bonus\", \n    \"displayName_es\": \"Bonificación de reparación\", \n    \"displayName_fr\": \"Bonus de réparation\", \n    \"displayName_it\": \"Repair Bonus\", \n    \"displayName_ja\": \"リペアボーナス\", \n    \"displayName_ko\": \"수리 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность ремонта\", \n    \"displayName_zh\": \"维修加成\", \n    \"displayNameID\": 233346, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1446, \n    \"name\": \"repairBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"807\": {\n    \"attributeID\": 807, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusIndustrial1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"808\": {\n    \"attributeID\": 808, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusIndustrial2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"809\": {\n    \"attributeID\": 809, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusAI2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"811\": {\n    \"attributeID\": 811, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusCI2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"813\": {\n    \"attributeID\": 813, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusGI2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"814\": {\n    \"attributeID\": 814, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusMI2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"815\": {\n    \"attributeID\": 815, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amarr Propulsion Attack Strength for Warp Scramblers etc.\", \n    \"displayName_de\": \"Fusionsstärke\", \n    \"displayName_en-us\": \"Fusion Strength\", \n    \"displayName_es\": \"Intensidad de fusión\", \n    \"displayName_fr\": \"Puissance de la fusion\", \n    \"displayName_it\": \"Fusion Strength\", \n    \"displayName_ja\": \"フュージョン強度\", \n    \"displayName_ko\": \"융합 강도\", \n    \"displayName_ru\": \"Сила воздействия на термоядерные двигатели\", \n    \"displayName_zh\": \"聚变强度\", \n    \"displayNameID\": 233379, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"propulsionFusionStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"816\": {\n    \"attributeID\": 816, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Caldari Propulsion Attack Strength for Warp Scramblers etc.\", \n    \"displayName_de\": \"Ionenstärke\", \n    \"displayName_en-us\": \"Ion Strength\", \n    \"displayName_es\": \"Intensidad iónica\", \n    \"displayName_fr\": \"Puissance de l'ion\", \n    \"displayName_it\": \"Ion Strength\", \n    \"displayName_ja\": \"イオン強度\", \n    \"displayName_ko\": \"이온 강도\", \n    \"displayName_ru\": \"Мощность ионной двигательной установки\", \n    \"displayName_zh\": \"离子强度\", \n    \"displayNameID\": 233376, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"propulsionIonStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"817\": {\n    \"attributeID\": 817, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Gallente Propulsion Attack Strength for Warp Scramblers etc.\", \n    \"displayName_de\": \"Magnetpulsstärke\", \n    \"displayName_en-us\": \"Magpulse Strength\", \n    \"displayName_es\": \"Intensidad del pulso electromagnético\", \n    \"displayName_fr\": \"Puissance du Magpulse\", \n    \"displayName_it\": \"Magpulse Strength\", \n    \"displayName_ja\": \"マグパルス強度\", \n    \"displayName_ko\": \"자기파 강도\", \n    \"displayName_ru\": \"Сила воздействия на магнитоимпульсные двигатели\", \n    \"displayName_zh\": \"磁脉冲强度\", \n    \"displayNameID\": 233375, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"propulsionMagpulseStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"818\": {\n    \"attributeID\": 818, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Minmatar Propulsion Attack Strength for Warp Scramblers etc.\", \n    \"displayName_de\": \"Plasma-Stärke\", \n    \"displayName_en-us\": \"Plasma Strength\", \n    \"displayName_es\": \"Intensidad plasmática\", \n    \"displayName_fr\": \"Puissance du plasma\", \n    \"displayName_it\": \"Plasma Strength\", \n    \"displayName_ja\": \"プラズマ強度\", \n    \"displayName_ko\": \"플라즈마 강도\", \n    \"displayName_ru\": \"Сила воздействия на плазменные двигатели\", \n    \"displayName_zh\": \"等离子强度\", \n    \"displayNameID\": 233372, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"propulsionPlasmaStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"823\": {\n    \"attributeID\": 823, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Effect for smartbombs, used to hit missiles only.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"hitsMissilesOnly\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"828\": {\n    \"attributeID\": 828, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Skill attribute for increasing strength of EW modules.\", \n    \"displayName_de\": \"EW-Stärkenmodifikator\", \n    \"displayName_en-us\": \"EW Strength Modifier\", \n    \"displayName_es\": \"Modificador de potencia de GE\", \n    \"displayName_fr\": \"Modificateur de puissance de guerre électronique\", \n    \"displayName_it\": \"EW Strength Modifier\", \n    \"displayName_ja\": \"EW 強度修正乗数\", \n    \"displayName_ko\": \"전자전 보정치\", \n    \"displayName_ru\": \"Модификатор мощности средств РЭБ\", \n    \"displayName_zh\": \"电子战强度调整\", \n    \"displayNameID\": 233243, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanSkillEwStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"829\": {\n    \"attributeID\": 829, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Skill attribute for increasing strength of Propulsion modules.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"propulsionSkillPropulsionStrengthBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"830\": {\n    \"attributeID\": 830, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"Bonus used on Unique Loot in level 10 Angel cartel Deadspace Complexes.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"bonusComplexAngel10\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"831\": {\n    \"attributeID\": 831, \n    \"categoryID\": 25, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used for target jam effects to reduce max locked targets of victem to a negative value to ensure the victem looses its targets, use extreme value\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"ewTargetJam\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"832\": {\n    \"attributeID\": 832, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Skill attribute for increasing effectiveness on Target Painters\", \n    \"displayName_de\": \"Zielmarkierungsbonus\", \n    \"displayName_en-us\": \"Target Painting Bonus\", \n    \"displayName_es\": \"Bonificación de revelación de objetivos\", \n    \"displayName_fr\": \"Bonus de marquage de cible\", \n    \"displayName_it\": \"Target Painting Bonus\", \n    \"displayName_ja\": \"ターゲットペインティングボーナス\", \n    \"displayName_ko\": \"타겟 지시 보너스\", \n    \"displayName_ru\": \"Влияние на подсветку цели\", \n    \"displayName_zh\": \"目标标记加成\", \n    \"displayNameID\": 233242, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanSkillTargetPaintStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"833\": {\n    \"attributeID\": 833, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kommando-Bonus\", \n    \"displayName_en-us\": \"Command Bonus\", \n    \"displayName_es\": \"Bonificación de mando\", \n    \"displayName_fr\": \"Bonus de commandement\", \n    \"displayName_it\": \"Command Bonus\", \n    \"displayName_ja\": \"コマンドボーナス\", \n    \"displayName_ko\": \"지휘 보너스\", \n    \"displayName_ru\": \"Мощность эффекта координации\", \n    \"displayName_zh\": \"指挥加成\", \n    \"displayNameID\": 233027, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"commandBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"834\": {\n    \"attributeID\": 834, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"wingCommandBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"837\": {\n    \"attributeID\": 837, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Used for stealth bombers to decrease power need on cruise launchers.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"stealthBomberLauncherPower\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"838\": {\n    \"attributeID\": 838, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kristall-Set-Bonus\", \n    \"displayName_en-us\": \"Crystal Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Crystal\", \n    \"displayName_fr\": \"Bonus de l'ensemble Crystal\", \n    \"displayName_it\": \"Crystal Set Bonus\", \n    \"displayName_ja\": \"クリスタルセットボーナス\", \n    \"displayName_ko\": \"크리스탈 세트 보너스\", \n    \"displayName_ru\": \"Влияние комплекта «Кристалл»\", \n    \"displayName_zh\": \"水晶套件加成\", \n    \"displayNameID\": 233234, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetGuristas\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"839\": {\n    \"attributeID\": 839, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusCovertOps2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"840\": {\n    \"attributeID\": 840, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"agentID to use when initiating NPC communications with this type.\", \n    \"displayName_de\": \"Agenten-ID\", \n    \"displayName_en-us\": \"Agent ID\", \n    \"displayName_es\": \"ID del agente\", \n    \"displayName_fr\": \"Identité de l'agent\", \n    \"displayName_it\": \"Agent ID\", \n    \"displayName_ja\": \"エージェント ID\", \n    \"displayName_ko\": \"에이전트 ID\", \n    \"displayName_ru\": \"ID агента\", \n    \"displayName_zh\": \"代理人ID\", \n    \"displayNameID\": 232948, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"agentID\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"841\": {\n    \"attributeID\": 841, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 100000.0, \n    \"description\": \"The range of the agent's communication sphere\", \n    \"displayName_de\": \"Agenten Komm.-Reichweite\", \n    \"displayName_en-us\": \"Agent Comm Range\", \n    \"displayName_es\": \"Alcance de la comunicación con el agente\", \n    \"displayName_fr\": \"Portée de comm de l'agent\", \n    \"displayName_it\": \"Agent Comm Range\", \n    \"displayName_ja\": \"エージェント通信範囲\", \n    \"displayName_ko\": \"에이전트 통신 거리\", \n    \"displayName_ru\": \"Дистанция выхода агента на связь\", \n    \"displayName_zh\": \"代理人通讯范围\", \n    \"displayNameID\": 232947, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"agentCommRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"842\": {\n    \"attributeID\": 842, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reaktionstyp 1\", \n    \"displayName_en-us\": \"Reaction Type 1\", \n    \"displayName_es\": \"Reacción de tipo 1\", \n    \"displayName_fr\": \"Type de réaction 1\", \n    \"displayName_it\": \"Reaction Type 1\", \n    \"displayName_ja\": \"リアクションタイプ 1\", \n    \"displayName_ko\": \"분자 반응식 유형 1\", \n    \"displayName_ru\": \"Тип реакции 1\", \n    \"displayName_zh\": \"反应种类 1\", \n    \"displayNameID\": 233365, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reactionGroup1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"843\": {\n    \"attributeID\": 843, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reaktionstyp 2\", \n    \"displayName_en-us\": \"Reaction Type 2\", \n    \"displayName_es\": \"Reacción de tipo 2\", \n    \"displayName_fr\": \"Type de réaction 2\", \n    \"displayName_it\": \"Reaction Type 2\", \n    \"displayName_ja\": \"リアクションタイプ 2\", \n    \"displayName_ko\": \"분자 반응식 유형 2\", \n    \"displayName_ru\": \"Тип реакции 2\", \n    \"displayName_zh\": \"反应种类 2\", \n    \"displayNameID\": 233358, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reactionGroup2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"844\": {\n    \"attributeID\": 844, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 5000.0, \n    \"description\": \"If the player comes within this range of this agent-in-space, an automatic communication window popup will occur.\", \n    \"displayName_de\": \"Reichweite für automatisches Agenten-Popup\", \n    \"displayName_en-us\": \"Agent Auto Popup Range\", \n    \"displayName_es\": \"Alcance del mensaje emergente automático del agente\", \n    \"displayName_fr\": \"Agent Auto Popup Range\", \n    \"displayName_it\": \"Agent Auto Popup Range\", \n    \"displayName_ja\": \"エージェント自動出現範囲\", \n    \"displayName_ko\": \"에이전트 자동 통신 사거리\", \n    \"displayName_ru\": \"Дистанция вывода сообщения агента\", \n    \"displayName_zh\": \"代理人自动弹出范围\", \n    \"displayNameID\": 232946, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"agentAutoPopupRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"845\": {\n    \"attributeID\": 845, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Hidden Attribute for tech 2 launcher damage bonus.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"hiddenLauncherDamageBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"846\": {\n    \"attributeID\": 846, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Scan-Stärke-Bonus\", \n    \"displayName_en-us\": \"Scan Strength Bonus\", \n    \"displayName_es\": \"Bonificación de intensidad del escaneo\", \n    \"displayName_fr\": \"Bonus de puissance du balayage\", \n    \"displayName_it\": \"Scan Strength Bonus\", \n    \"displayName_ja\": \"スキャン強度ボーナス\", \n    \"displayName_ko\": \"스캔 강도 보너스\", \n    \"displayName_ru\": \"Влияние на чувствительность зондов\", \n    \"displayName_zh\": \"扫描强度加成\", \n    \"displayNameID\": 233241, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"847\": {\n    \"attributeID\": 847, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increases velocity of missile explosion\", \n    \"displayName_de\": \"Explosionsgeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Explosion Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de explosión\", \n    \"displayName_fr\": \"Bonus de vitesse d'explosion\", \n    \"displayName_it\": \"Explosion Velocity Bonus\", \n    \"displayName_ja\": \"爆発速度ボーナス\", \n    \"displayName_ko\": \"폭발 속도 보너스\", \n    \"displayName_ru\": \"Повышение скорости взрыва\", \n    \"displayName_zh\": \"爆炸速度加成\", \n    \"displayNameID\": 232956, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"aoeVelocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"848\": {\n    \"attributeID\": 848, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Booster attribute to explosion radius of missiles vs. signature radius.\", \n    \"displayName_de\": \"Explosionsradius-Bonus\", \n    \"displayName_en-us\": \"Explosion Radius Bonus\", \n    \"displayName_es\": \"Bonificación de radio de explosión\", \n    \"displayName_fr\": \"Bonus de rayon d'explosion\", \n    \"displayName_it\": \"Explosion Radius Bonus\", \n    \"displayName_ja\": \"爆発半径ボーナス\", \n    \"displayName_ko\": \"폭발 반경 보너스\", \n    \"displayName_ru\": \"Снижение сигнатуры взрыва\", \n    \"displayName_zh\": \"爆炸半径加成\", \n    \"displayNameID\": 232954, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"aoeCloudSizeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"849\": {\n    \"attributeID\": 849, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Can use cargo in space or not, 0 = no, 1 = yes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"canUseCargoInSpace\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"850\": {\n    \"attributeID\": 850, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, relayCPUBonus\", \n    \"displayName_de\": \"Geschwaderkommando-Bonus\", \n    \"displayName_en-us\": \"Squadron Command Bonus\", \n    \"displayName_es\": \"Bonificación de mando de escuadrón\", \n    \"displayName_fr\": \"Bonus de commandement d'escadron\", \n    \"displayName_it\": \"Squadron Command Bonus\", \n    \"displayName_ja\": \"分隊司令部ボーナス\", \n    \"displayName_ko\": \"편대 지휘 보너스\", \n    \"displayName_ru\": \"Влияние на эффект координации эскадрильи\", \n    \"displayName_zh\": \"中队指挥加成\", \n    \"displayNameID\": 233191, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"squadronCommandBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"851\": {\n    \"attributeID\": 851, \n    \"categoryID\": 2, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to capacitor need for shield boosters.\", \n    \"displayName_de\": \"Energiespeicher-Verbrauchsbonus\", \n    \"displayName_en-us\": \"Capacitor Need Bonus\", \n    \"displayName_es\": \"Bonificación de necesidad del condensador\", \n    \"displayName_fr\": \"Bonus de besoins énergétiques du capaciteur\", \n    \"displayName_it\": \"Capacitor Need Bonus\", \n    \"displayName_ja\": \"キャパシタ消費ボーナス\", \n    \"displayName_ko\": \"캐패시터 요구량 보너스\", \n    \"displayName_ru\": \"Влияние на расход энергии\", \n    \"displayName_zh\": \"电容需求加成\", \n    \"displayNameID\": 232944, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shieldBoostCapacitorBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"852\": {\n    \"attributeID\": 852, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"siegeModeWarpStatus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"853\": {\n    \"attributeID\": 853, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Attribute on ship to make advanced command affect only ships that we want.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"advancedAgility\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"854\": {\n    \"attributeID\": 854, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If this module is in use and this attribute is 1, then assistance modules cannot be used on the ship.\", \n    \"displayName_de\": \"Verbietet Unterstützung\", \n    \"displayName_en-us\": \"Disallows Assistance\", \n    \"displayName_es\": \"Deshabilita la ayuda\", \n    \"displayName_fr\": \"Interdit l'assistance\", \n    \"displayName_it\": \"Disallows Assistance\", \n    \"displayName_ja\": \"アシスタントを却下\", \n    \"displayName_ko\": \"지원 불허\", \n    \"displayName_ru\": \"Запрещено получение внешней поддержки\", \n    \"displayName_zh\": \"不允许援助\", \n    \"displayNameID\": 261773, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"disallowAssistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"855\": {\n    \"attributeID\": 855, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Activating this module results in the temporary loss of all targets currently held or being locked.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"activationTargetLoss\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"857\": {\n    \"attributeID\": 857, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"aoeFalloffBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"858\": {\n    \"attributeID\": 858, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Affects the signature radius of the target in missile impact calculations.\", \n    \"displayName_de\": \"Explosionsradius-Bonus\", \n    \"displayName_en-us\": \"Explosion Radius Bonus\", \n    \"displayName_es\": \"Bonificación de radio de explosión\", \n    \"displayName_fr\": \"Bonus de rayon d'explosion\", \n    \"displayName_it\": \"Explosion Radius Bonus\", \n    \"displayName_ja\": \"爆発半径ボーナス\", \n    \"displayName_ko\": \"폭발 반경 보너스\", \n    \"displayName_ru\": \"Влияние на сигнатуру взрыва\", \n    \"displayName_zh\": \"爆炸半径加成\", \n    \"displayNameID\": 233361, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"missileEntityAoeCloudSizeMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"859\": {\n    \"attributeID\": 859, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Affects the velocity of the target in missile impact calculations.\", \n    \"displayName_de\": \"Explosionsgeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Explosion Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de explosión\", \n    \"displayName_fr\": \"Bonus de vitesse d'explosion\", \n    \"displayName_it\": \"Explosion Velocity Bonus\", \n    \"displayName_ja\": \"爆発速度ボーナス\", \n    \"displayName_ko\": \"폭발 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость взрыва\", \n    \"displayName_zh\": \"爆炸速度加成\", \n    \"displayNameID\": 233362, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"missileEntityAoeVelocityMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"860\": {\n    \"attributeID\": 860, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"missileEntityAoeFalloffMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"861\": {\n    \"attributeID\": 861, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"1 = ship can use jump drive\", \n    \"displayName_de\": \"Eingebauter Sprungantrieb\", \n    \"displayName_en-us\": \"Onboard Jump Drive\", \n    \"displayName_es\": \"Motor de salto integrado\", \n    \"displayName_fr\": \"Propulseur hyperspatial embarqué\", \n    \"displayName_it\": \"Onboard Jump Drive\", \n    \"displayName_ja\": \"オンボードジャンプドライブ\", \n    \"displayName_ko\": \"함내탑재형 점프 드라이브\", \n    \"displayName_ru\": \"Оснащён гипердвигателем\", \n    \"displayName_zh\": \"舰载跳跃引擎\", \n    \"displayNameID\": 233608, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"canJump\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"862\": {\n    \"attributeID\": 862, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The weighting given to this type and its chance of being picked for a grouping.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"usageWeighting\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"863\": {\n    \"attributeID\": 863, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Halo-Set-Bonus\", \n    \"displayName_en-us\": \"Halo Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Halo\", \n    \"displayName_fr\": \"Bonus de l'ensemble Halo\", \n    \"displayName_it\": \"Halo Set Bonus\", \n    \"displayName_ja\": \"ハロセットボーナス\", \n    \"displayName_ko\": \"헤일로 세트 보너스\", \n    \"displayName_ru\": \"Влияние комплекта «Гало»\", \n    \"displayName_zh\": \"圣光套件加成\", \n    \"displayNameID\": 233232, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetHalo\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"864\": {\n    \"attributeID\": 864, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Amulettsetbonus\", \n    \"displayName_en-us\": \"Amulet Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto de amuletos\", \n    \"displayName_fr\": \"Bonus de l'ensemble Amulette\", \n    \"displayName_it\": \"Amulet Set Bonus\", \n    \"displayName_ja\": \"アミュレットセットボーナス\", \n    \"displayName_ko\": \"아뮬렛 세트 보너스\", \n    \"displayName_ru\": \"Бонус комплекта «Амулет»\", \n    \"displayName_zh\": \"辟邪套件加成\", \n    \"displayNameID\": 318138, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetAmulet\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"865\": {\n    \"attributeID\": 865, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 100000.0, \n    \"description\": \"How many meters from the standard warp-in distance a planet can be anchored from.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"planetAnchorDistance\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"866\": {\n    \"attributeID\": 866, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"Type that is used for consumption from cargo hold when activating jump drive operation.\", \n    \"displayName_de\": \"Treibstoffbedarf des Sprungantriebs\", \n    \"displayName_en-us\": \"Jump Drive Fuel Need\", \n    \"displayName_es\": \"Necesidad de combustible para el motor de salto\", \n    \"displayName_fr\": \"Type de carburant utilisé par le propulseur hyperspatial\", \n    \"displayName_it\": \"Jump Drive Fuel Need\", \n    \"displayName_ja\": \"ジャンプドライブ必要燃料\", \n    \"displayName_ko\": \"점프 드라이브 연료 요구량\", \n    \"displayName_ru\": \"Потребление топлива гипердвигателем\", \n    \"displayName_zh\": \"跳跃引擎燃料需求\", \n    \"displayNameID\": 233268, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"jumpDriveConsumptionType\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die Treibstoffart die für den Sprungantrieb benötigt wird\", \n    \"tooltipDescription_en-us\": \"The type of fuel required to use the jump drive\", \n    \"tooltipDescription_es\": \"Tipo de combustible necesario para usar el motor de salto.\", \n    \"tooltipDescription_fr\": \"Type de carburant nécessaire pour utiliser le propulseur hyperspatial.\", \n    \"tooltipDescription_it\": \"The type of fuel required to use the jump drive\", \n    \"tooltipDescription_ja\": \"ジャンプドライブを使用するのに必要な燃料タイプです\", \n    \"tooltipDescription_ko\": \"점프 드라이브를 사용할 때 필요한 연료 종류입니다.\", \n    \"tooltipDescription_ru\": \"Тип топлива, расходуемого при работе бортового гипердвигателя\", \n    \"tooltipDescription_zh\": \"使用跳跃引擎所需的燃料种类\", \n    \"tooltipDescriptionID\": 295338, \n    \"tooltipTitleID\": 295337, \n    \"unitID\": 116\n  }, \n  \"867\": {\n    \"attributeID\": 867, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Range in light years the ship can maximum jump to.\", \n    \"displayName_de\": \"Max. Sprungreichweite\", \n    \"displayName_en-us\": \"Maximum Jump Range\", \n    \"displayName_es\": \"Alcance máximo de salto\", \n    \"displayName_fr\": \"Portée de saut maximum\", \n    \"displayName_it\": \"Maximum Jump Range\", \n    \"displayName_ja\": \"最大ジャンプ距離\", \n    \"displayName_ko\": \"최대 점프 거리\", \n    \"displayName_ru\": \"Максимальная дистанция гиперперехода\", \n    \"displayName_zh\": \"最大跳跃范围\", \n    \"displayNameID\": 233269, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"jumpDriveRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die maximale Distanz in Lichtjahren, die mit dem Sprungantrieb zurückgelegt werden kann\", \n    \"tooltipDescription_en-us\": \"Maximum distance in light years that can be travelled using the jump drive\", \n    \"tooltipDescription_es\": \"Distancia máx. en años luz que se puede viajar con el motor de salto.\", \n    \"tooltipDescription_fr\": \"Distance maximale en années-lumière pouvant être parcourue en utilisant le propulseur hyperspatial.\", \n    \"tooltipDescription_it\": \"Maximum distance in light years that can be travelled using the jump drive\", \n    \"tooltipDescription_ja\": \"ジャンプドライブで航行できる最大距離を光年で表示します\", \n    \"tooltipDescription_ko\": \"점프 드라이브를 사용하여 여행할 수 있는 광년 단위 최대 거리입니다.\", \n    \"tooltipDescription_ru\": \"Максимальная дистанция гиперперехода с помощью бортового двигателя, измеряемая в световых годах\", \n    \"tooltipDescription_zh\": \"使用跳跃引擎能达到的最大距离，以光年为单位\", \n    \"tooltipDescriptionID\": 295340, \n    \"tooltipTitleID\": 295339, \n    \"unitID\": 126\n  }, \n  \"868\": {\n    \"attributeID\": 868, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 2000.0, \n    \"description\": \"Number of units it consumes per light year.\", \n    \"displayName_de\": \"Verbrauchswert des Sprungantriebs\", \n    \"displayName_en-us\": \"Jump Drive Consumption Amount\", \n    \"displayName_es\": \"Consumo de motor de salto\", \n    \"displayName_fr\": \"Quantité consommée par le propulseur hyperspatial\", \n    \"displayName_it\": \"Jump Drive Consumption Amount\", \n    \"displayName_ja\": \"ジャンプドライブ消費量\", \n    \"displayName_ko\": \"점프 드라이브 소모량\", \n    \"displayName_ru\": \"Расход топлива при гиперпереходе\", \n    \"displayName_zh\": \"跳跃引擎燃料消耗量\", \n    \"displayNameID\": 233624, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 0, \n    \"name\": \"jumpDriveConsumptionAmount\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Treibstoffverbrauch pro Lichtjahr, wenn der Sprungantrieb aktiviert ist\", \n    \"tooltipDescription_en-us\": \"The amount of fuel consumed per light year when the jump drive is activated\", \n    \"tooltipDescription_es\": \"Consumo de combustible por año luz al activar el motor de salto.\", \n    \"tooltipDescription_fr\": \"La quantité de carburant consommé par année-lumière lorsque le propulseur interstellaire est activé\", \n    \"tooltipDescription_it\": \"The amount of fuel consumed per light year when the jump drive is activated\", \n    \"tooltipDescription_ja\": \"ジャンプドライブ起動時に消費される光年あたりの燃料量\", \n    \"tooltipDescription_ko\": \"함선이 점프 드라이브를 작동할 때 1광년마다 소비하는 연료량입니다.\", \n    \"tooltipDescription_ru\": \"Количество топлива, потребляемое гипердвигателем за каждый световой год пути\", \n    \"tooltipDescription_zh\": \"启动跳跃引擎后每跳跃一光年所消耗的燃料数量\", \n    \"tooltipDescriptionID\": 318051, \n    \"tooltipTitleID\": 318050, \n    \"unitID\": 138\n  }, \n  \"869\": {\n    \"attributeID\": 869, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 300000.0, \n    \"description\": \"The amount of time before the ship actually jumps.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"jumpDriveDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"870\": {\n    \"attributeID\": 870, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Jump range bonus for jump drive operation.\", \n    \"displayName_de\": \"Sprungantriebreichweite-Bonus\", \n    \"displayName_en-us\": \"Jump Drive Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance del motor de salto\", \n    \"displayName_fr\": \"Bonus de portée du propulseur hyperspatial\", \n    \"displayName_it\": \"Jump Drive Range Bonus\", \n    \"displayName_ja\": \"ジャンプドライブ距離ボーナス\", \n    \"displayName_ko\": \"점프 드라이브 사거리 보너스\", \n    \"displayName_ru\": \"Влияние на дистанцию гиперперехода\", \n    \"displayName_zh\": \"跳跃引擎范围加成\", \n    \"displayNameID\": 233270, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"jumpDriveRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"871\": {\n    \"attributeID\": 871, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Skill bonus attribute that decreases the duration before iniating a jump.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"jumpDriveDurationBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"872\": {\n    \"attributeID\": 872, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If this module is in use and this attribute is 1, then offensive modules cannot be used on the ship if they apply modifiers for the duration of their effect. If this is put on a ship or NPC with value of 1, then the ship or NPC are immune to offensive modifiers (target jamming, tracking disruption etc.)\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"disallowOffensiveModifiers\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"874\": {\n    \"attributeID\": 874, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"advancedCapitalAgility\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"884\": {\n    \"attributeID\": 884, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Gedankenverknüpfungsbonus\", \n    \"displayName_en-us\": \"Mindlink Bonus\", \n    \"displayName_es\": \"Bonificación de neuroenlace\", \n    \"displayName_fr\": \"Bonus de lien neural\", \n    \"displayName_it\": \"Mindlink Bonus\", \n    \"displayName_ja\": \"マインドリンクボーナス\", \n    \"displayName_ko\": \"마인드링크 보너스\", \n    \"displayName_ru\": \"Влияние импланта координации флота\", \n    \"displayName_zh\": \"思维网络加成\", \n    \"displayNameID\": 233345, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"mindlinkBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"885\": {\n    \"attributeID\": 885, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Verbrauchsquantitäts-Bonus\", \n    \"displayName_en-us\": \"Consumption Quantity Bonus\", \n    \"displayName_es\": \"Bonificación de cantidad de consumo\", \n    \"displayName_fr\": \"Bonus de quantité consommée\", \n    \"displayName_it\": \"Consumption Quantity Bonus\", \n    \"displayName_ja\": \"消費量ボーナス\", \n    \"displayName_ko\": \"소모량 보너스\", \n    \"displayName_ru\": \"Уменьшение количества расходуемого топлива\", \n    \"displayName_zh\": \"消耗量加成\", \n    \"displayNameID\": 233611, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"consumptionQuantityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 138\n  }, \n  \"886\": {\n    \"attributeID\": 886, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"freighterBonusA1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"887\": {\n    \"attributeID\": 887, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"freighterBonusA2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"888\": {\n    \"attributeID\": 888, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"freighterBonusC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"889\": {\n    \"attributeID\": 889, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"freighterBonusC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"890\": {\n    \"attributeID\": 890, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"freighterBonusG2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"891\": {\n    \"attributeID\": 891, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"freighterBonusG1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"892\": {\n    \"attributeID\": 892, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"freighterBonusM1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"893\": {\n    \"attributeID\": 893, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"freighterBonusM2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"894\": {\n    \"attributeID\": 894, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Testing for fuels for speed boosters.\", \n    \"displayName_de\": \"Geschwindigkeitserhöhung-Bonus\", \n    \"displayName_en-us\": \"Speed Boost Bonus\", \n    \"displayName_es\": \"Bonificación de potenciador de velocidad\", \n    \"displayName_fr\": \"Bonus d'amplification de vitesse\", \n    \"displayName_it\": \"Speed Boost Bonus\", \n    \"displayName_ja\": \"スピードブーストボーナス\", \n    \"displayName_ko\": \"속도 부스트 보너스\", \n    \"displayName_ru\": \"Влияние на ускорение\", \n    \"displayName_zh\": \"速度提升加成\", \n    \"displayNameID\": 233199, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"speedBoostBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"895\": {\n    \"attributeID\": 895, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus attribute for armor repair amount.\", \n    \"displayName_de\": \"Panzerungsreparatur-Bonus\", \n    \"displayName_en-us\": \"Armor Repair Bonus\", \n    \"displayName_es\": \"Bonificación de reparación del blindaje\", \n    \"displayName_fr\": \"Bonus de réparation du blindage\", \n    \"displayName_it\": \"Armor Repair Bonus\", \n    \"displayName_ja\": \"アーマーリペアボーナス\", \n    \"displayName_ko\": \"장갑 수리 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность ремонта брони\", \n    \"displayName_zh\": \"装甲维修加成\", \n    \"displayNameID\": 232961, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 80, \n    \"name\": \"armorDamageAmountBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"896\": {\n    \"attributeID\": 896, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Panzerungsreparaturdauer-Bonus\", \n    \"displayName_en-us\": \"Armor Repair Duration Bonus\", \n    \"displayName_es\": \"Bonificación de duración de reparación del blindaje\", \n    \"displayName_fr\": \"Bonus de durée de réparation du blindage\", \n    \"displayName_it\": \"Armor Repair Duration Bonus\", \n    \"displayName_ja\": \"アーマーリペア時間ボーナス\", \n    \"displayName_ko\": \"장갑 수리 지속시간 보너스\", \n    \"displayName_ru\": \"Влияние на время цикла ремонта брони\", \n    \"displayName_zh\": \"装甲维修周期加成\", \n    \"displayNameID\": 232962, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"armorDamageDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"897\": {\n    \"attributeID\": 897, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schildverstärkungsdauer-Bonus\", \n    \"displayName_en-us\": \"Shield Boost Duration Bonus\", \n    \"displayName_es\": \"Bonificación de duración del potenciador de escudo\", \n    \"displayName_fr\": \"Bonus de durée de booster de bouclier\", \n    \"displayName_it\": \"Shield Boost Duration Bonus\", \n    \"displayName_ja\": \"シールドブースト起動時間ボーナス\", \n    \"displayName_ko\": \"실드 부스트 지속시간 보너스\", \n    \"displayName_ru\": \"Влияние на время цикла накачки щита\", \n    \"displayName_zh\": \"护盾回充持续时间加成\", \n    \"displayNameID\": 232936, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"shieldBonusDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"898\": {\n    \"attributeID\": 898, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Minimum capacitor need for jump drive operation from full capacitor in modifier%.\", \n    \"displayName_de\": \"Energiespeicherbedarf des Sprungantriebs\", \n    \"displayName_en-us\": \"Jump Drive Capacitor Need\", \n    \"displayName_es\": \"Necesidad del condensador para el motor de salto\", \n    \"displayName_fr\": \"Besoins énergétiques du capaciteur pour le propulseur hyperspatial\", \n    \"displayName_it\": \"Jump Drive Capacitor Need\", \n    \"displayName_ja\": \"ジャンプドライブキャパシタ消費\", \n    \"displayName_ko\": \"점프 드라이브 캐패시터 요구량\", \n    \"displayName_ru\": \"Потребление энергии гипердвигателем\", \n    \"displayName_zh\": \"跳跃引擎电容需求\", \n    \"displayNameID\": 233266, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 90, \n    \"name\": \"jumpDriveCapacitorNeed\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Der Prozentanteil des Energiespeichers der verbraucht wird, wenn der Sprungantrieb aktiviert wird\", \n    \"tooltipDescription_en-us\": \"The percentage of total capacitor consumed when the jump drive is activated\", \n    \"tooltipDescription_es\": \"El porcentaje del consumo total del condensador al activar el motor de salto.\", \n    \"tooltipDescription_fr\": \"Pourcentage du capaciteur utilisé lorsque le propulseur hyperspatial est activé.\", \n    \"tooltipDescription_it\": \"The percentage of total capacitor consumed when the jump drive is activated\", \n    \"tooltipDescription_ja\": \"ジャンプドライブ起動時に消費されるキャパシタ総量の割合です\", \n    \"tooltipDescription_ko\": \"함선이 점프 드라이브를 작동할 때 소비하는 총 캐패시터 퍼센트입니다.\", \n    \"tooltipDescription_ru\": \"Процент от общего запаса энергии в бортовом накопителе, расходуемый при включении гипердвигателя\", \n    \"tooltipDescription_zh\": \"启动跳跃引擎时所消耗的电容总量百分比\", \n    \"tooltipDescriptionID\": 295346, \n    \"tooltipTitleID\": 295345, \n    \"unitID\": 127\n  }, \n  \"899\": {\n    \"attributeID\": 899, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Energiespeicherbedarf des Sprungantriebs\", \n    \"displayName_en-us\": \"Jump Drive Capacitor Need Bonus\", \n    \"displayName_es\": \"Bonificación de necesidad del condensador para el motor de salto\", \n    \"displayName_fr\": \"Bonus des besoins énergétiques du capaciteur pour le propulseur hyperspatial\", \n    \"displayName_it\": \"Jump Drive Capacitor Need Bonus\", \n    \"displayName_ja\": \"ジャンプドライブキャパシタ消費ボーナス\", \n    \"displayName_ko\": \"점프 드라이브 캐패시터 요구량 보너스\", \n    \"displayName_ru\": \"Влияние на потребление энергии гипердвигателем\", \n    \"displayName_zh\": \"跳跃引擎电容需求加成\", \n    \"displayNameID\": 233267, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 90, \n    \"name\": \"jumpDriveCapacitorNeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"901\": {\n    \"attributeID\": 901, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The difficulty in opening this object.\", \n    \"displayName_de\": \"Zugriffsschwierigkeit\", \n    \"displayName_en-us\": \"Access Difficulty\", \n    \"displayName_es\": \"Dificultad de acceso\", \n    \"displayName_fr\": \"Difficulté d'accès\", \n    \"displayName_it\": \"Access Difficulty\", \n    \"displayName_ja\": \"アクセス難度\", \n    \"displayName_ko\": \"잠금 해제 난이도\", \n    \"displayName_ru\": \"Сложность доступа\", \n    \"displayName_zh\": \"获取难度\", \n    \"displayNameID\": 232938, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"accessDifficulty\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"902\": {\n    \"attributeID\": 902, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to chance of opening a container.\", \n    \"displayName_de\": \"Zugriffsschwierigkeitsbonus\", \n    \"displayName_en-us\": \"Access Difficulty Bonus\", \n    \"displayName_es\": \"Bonificación de dificultad de acceso\", \n    \"displayName_fr\": \"Bonus de difficulté d'accès\", \n    \"displayName_it\": \"Access Difficulty Bonus\", \n    \"displayName_ja\": \"アクセス難度ボーナス\", \n    \"displayName_ko\": \"잠금 해제 보너스\", \n    \"displayName_ru\": \"Влияние на шанс доступа\", \n    \"displayName_zh\": \"获取成功率\", \n    \"displayNameID\": 232939, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"accessDifficultyBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"903\": {\n    \"attributeID\": 903, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Whether a spawn container should refill itself when there are no guards assigned to it.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"spawnWithoutGuardsToo\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"904\": {\n    \"attributeID\": 904, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"warcruiserCPUBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"905\": {\n    \"attributeID\": 905, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 10.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"tacklerBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"906\": {\n    \"attributeID\": 906, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Signifies that this module if activated, will prevent ejection from the ship it is fitted to and extend the log out ship removal timer.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"disallowEarlyDeactivation\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"907\": {\n    \"attributeID\": 907, \n    \"categoryID\": 40, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Indicates whether a ship type has a ship maintenance bay.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"hasShipMaintenanceBay\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"908\": {\n    \"attributeID\": 908, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The capacity of the hangar in a ship.\", \n    \"displayName_de\": \"Kapazität des Schiffwartungshangars\", \n    \"displayName_en-us\": \"Ship Maintenance Bay Capacity\", \n    \"displayName_es\": \"Capacidad de la plataforma de mantenimiento de naves\", \n    \"displayName_fr\": \"Capacité de la plateforme de maintenance du vaisseau\", \n    \"displayName_it\": \"Ship Maintenance Bay Capacity\", \n    \"displayName_ja\": \"船舶修理場容量\", \n    \"displayName_ko\": \"함선 정비 격납고 적재량\", \n    \"displayName_ru\": \"Объём док-камеры\", \n    \"displayName_zh\": \"舰船维护舱容量\", \n    \"displayNameID\": 233225, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"shipMaintenanceBayCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"909\": {\n    \"attributeID\": 909, \n    \"categoryID\": 9, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"Which group of modules that this ship limits the number of concurrent activations of.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxShipGroupActiveID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"910\": {\n    \"attributeID\": 910, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of modules belonging to the same group that can be active at the same time.\", \n    \"displayName_de\": \"Maximal aktive Gruppe\", \n    \"displayName_en-us\": \"Maximum Group Active\", \n    \"displayName_es\": \"Maximum Group Active\", \n    \"displayName_fr\": \"Groupes actifs maximum\", \n    \"displayName_it\": \"Maximum Group Active\", \n    \"displayName_ja\": \"最大稼動グループ数\", \n    \"displayName_ko\": \"최대 그룹 수\", \n    \"displayName_ru\": \"Максимальное количество включенных модулей этой группы\", \n    \"displayName_zh\": \"活跃组数上限\", \n    \"displayNameID\": 233326, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxShipGroupActive\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"911\": {\n    \"attributeID\": 911, \n    \"categoryID\": 40, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Whether this ship has fleet hangars.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"hasFleetHangars\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"912\": {\n    \"attributeID\": 912, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The capacity of the fleet hangar.\", \n    \"displayName_de\": \"Kapazität des Flottenhangars\", \n    \"displayName_en-us\": \"Fleet Hangar Capacity\", \n    \"displayName_es\": \"Capacidad del hangar de la flota\", \n    \"displayName_fr\": \"Capacité de hangar de flotte\", \n    \"displayName_it\": \"Fleet Hangar Capacity\", \n    \"displayName_ja\": \"フリートハンガー容量\", \n    \"displayName_ko\": \"함대 격납고 적재량\", \n    \"displayName_ru\": \"Объём отсека с общим доступом\", \n    \"displayName_zh\": \"舰队机库容量\", \n    \"displayNameID\": 233046, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"fleetHangarCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"913\": {\n    \"attributeID\": 913, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"gallenteNavyBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"915\": {\n    \"attributeID\": 915, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"caldariNavyBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"917\": {\n    \"attributeID\": 917, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"amarrNavyBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"919\": {\n    \"attributeID\": 919, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"republicFleetBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"921\": {\n    \"attributeID\": 921, \n    \"categoryID\": 9, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"oreCompression\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"924\": {\n    \"attributeID\": 924, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusBarge1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"925\": {\n    \"attributeID\": 925, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusBarge2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"926\": {\n    \"attributeID\": 926, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"ORE Mining Barge bonus 3\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusORE3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"927\": {\n    \"attributeID\": 927, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"CPU Penalty Reduction\", \n    \"displayName_de\": \"Reduktion des CPU-Nachteils\", \n    \"displayName_en-us\": \"CPU Penalty Reduction\", \n    \"displayName_es\": \"Reducción de penalización de CPU\", \n    \"displayName_fr\": \"Réduction de pénalité du CPU\", \n    \"displayName_it\": \"CPU Penalty Reduction\", \n    \"displayName_ja\": \"CPUペナルティの軽減\", \n    \"displayName_ko\": \"CPU 페널티 감소\", \n    \"displayName_ru\": \"Снижение влияния на потребление мощности ЦП\", \n    \"displayName_zh\": \"CPU惩罚降低\", \n    \"displayNameID\": 317701, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1405, \n    \"name\": \"miningUpgradeCPUReductionBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"928\": {\n    \"attributeID\": 928, \n    \"categoryID\": 25, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Target Jam multiplier on max locked targets for NPCs\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityTargetJam\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"929\": {\n    \"attributeID\": 929, \n    \"categoryID\": 25, \n    \"dataType\": 4, \n    \"defaultValue\": 30000.0, \n    \"description\": \"Duration of NPC effect\", \n    \"displayName_de\": \"ECM-Aktivierungszeit/dauer\", \n    \"displayName_en-us\": \"ECM Activation time / duration\", \n    \"displayName_es\": \"Duración/tiempo de activación de las ECM\", \n    \"displayName_fr\": \"Délai/Durée d'activation CME\", \n    \"displayName_it\": \"ECM Activation time / duration\", \n    \"displayName_ja\": \"ECM起動時間\", \n    \"displayName_ko\": \"ECM 활성화 시간 / 지속시간\", \n    \"displayName_ru\": \"Время цикла модулей глушения захвата целей\", \n    \"displayName_zh\": \"ECM启动时间/运转周期\", \n    \"displayNameID\": 312483, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"ECMDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"930\": {\n    \"attributeID\": 930, \n    \"categoryID\": 25, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of NPC effect to be activated each duration\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"ECMEntityChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"931\": {\n    \"attributeID\": 931, \n    \"categoryID\": 22, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of NPC effect to be activated each duration\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"energyNeutralizerEntityChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"932\": {\n    \"attributeID\": 932, \n    \"categoryID\": 24, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of NPC effect to be activated each duration\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entitySensorDampenDurationChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"933\": {\n    \"attributeID\": 933, \n    \"categoryID\": 26, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of NPC effect to be activated each duration\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"npcTrackingDisruptorActivationChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"935\": {\n    \"attributeID\": 935, \n    \"categoryID\": 21, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of NPC effect to be activated each duration\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityTargetPaintDurationChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"936\": {\n    \"attributeID\": 936, \n    \"categoryID\": 25, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Max Range for NPC Target Jam\", \n    \"displayName_de\": \"Optimale ECM-Reichweite\", \n    \"displayName_en-us\": \"ECM Optimal Range\", \n    \"displayName_es\": \"Alcance óptimo de las ECM\", \n    \"displayName_fr\": \"Portée optimale de neutralisation CME\", \n    \"displayName_it\": \"ECM Optimal Range\", \n    \"displayName_ja\": \"ECM最適射程距離\", \n    \"displayName_ko\": \"ECM 최적사거리\", \n    \"displayName_ru\": \"Оптимальная дальность глушения захвата целей\", \n    \"displayName_zh\": \"ECM最佳射程\", \n    \"displayNameID\": 312484, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"ECMRangeOptimal\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"937\": {\n    \"attributeID\": 937, \n    \"categoryID\": 22, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Range for NPC capacitor drain\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityCapacitorDrainMaxRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"938\": {\n    \"attributeID\": 938, \n    \"categoryID\": 24, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Range from target for when the NPC activates the effect\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entitySensorDampenMaxRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"940\": {\n    \"attributeID\": 940, \n    \"categoryID\": 26, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Max range from for NPC tracking disrupt\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityTrackingDisruptMaxRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"941\": {\n    \"attributeID\": 941, \n    \"categoryID\": 21, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Max Range for NPC Target Paint\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityTargetPaintMaxRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"942\": {\n    \"attributeID\": 942, \n    \"categoryID\": 22, \n    \"dataType\": 4, \n    \"defaultValue\": 30000.0, \n    \"description\": \"Duration of NPC Energy Neutralizer effect\", \n    \"displayName_de\": \"Neutralisierungsdauer\", \n    \"displayName_en-us\": \"Neutralization Duration\", \n    \"displayName_es\": \"Duración de neutralización\", \n    \"displayName_fr\": \"Durée de neutralisation\", \n    \"displayName_it\": \"Neutralization Duration\", \n    \"displayName_ja\": \"無効化持続時間\", \n    \"displayName_ko\": \"뉴트럴라이제이션 지속시간\", \n    \"displayName_ru\": \"Время цикла нейтрализации\", \n    \"displayName_zh\": \"中和持续时间\", \n    \"displayNameID\": 312361, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"energyNeutralizerDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"943\": {\n    \"attributeID\": 943, \n    \"categoryID\": 24, \n    \"dataType\": 4, \n    \"defaultValue\": 30000.0, \n    \"description\": \"Duration of NPC effect\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entitySensorDampenDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"944\": {\n    \"attributeID\": 944, \n    \"categoryID\": 26, \n    \"dataType\": 4, \n    \"defaultValue\": 30000.0, \n    \"description\": \"Duration of NPC effect\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityTrackingDisruptDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"945\": {\n    \"attributeID\": 945, \n    \"categoryID\": 21, \n    \"dataType\": 4, \n    \"defaultValue\": 30000.0, \n    \"description\": \"Duration of NPC effect\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityTargetPaintDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"946\": {\n    \"attributeID\": 946, \n    \"categoryID\": 22, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of capacitor drained by NPC from target\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityCapacitorDrainAmount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"947\": {\n    \"attributeID\": 947, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier on max target range and scan resolution of target ship done by NPC\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entitySensorDampenMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"948\": {\n    \"attributeID\": 948, \n    \"categoryID\": 26, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier on tracking speed and optimal range of player turrets done by NPC\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityTrackingDisruptMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"949\": {\n    \"attributeID\": 949, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier on signature radius of player ship done by NPC\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityTargetPaintMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"950\": {\n    \"attributeID\": 950, \n    \"categoryID\": 24, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Fall Off for NPC sensor dampen\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entitySensorDampenFallOff\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"951\": {\n    \"attributeID\": 951, \n    \"categoryID\": 26, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Fall Off for NPC Tracking Disrupt\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityTrackingDisruptFallOff\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"952\": {\n    \"attributeID\": 952, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Fall Off for NPC Capacitor Drain\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityCapacitorFallOff\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"953\": {\n    \"attributeID\": 953, \n    \"categoryID\": 25, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Fall Off for NPC Target Jam\", \n    \"displayName_de\": \"ECM-Präzisionsabfall-Reichweite\", \n    \"displayName_en-us\": \"ECM Falloff Range\", \n    \"displayName_es\": \"Alcance efectivo de las ECM\", \n    \"displayName_fr\": \"Portée optimale de déperdition CME\", \n    \"displayName_it\": \"ECM Falloff Range\", \n    \"displayName_ja\": \"ECM精度低下範囲\", \n    \"displayName_ko\": \"ECM 유효사거리\", \n    \"displayName_ru\": \"Добавочная дальность глушения захвата целей\", \n    \"displayName_zh\": \"ECM失准范围\", \n    \"displayNameID\": 312485, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"ECMRangeFalloff\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"954\": {\n    \"attributeID\": 954, \n    \"categoryID\": 21, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Fall Off for NPC Target Paint\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityTargetPaintFallOff\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"955\": {\n    \"attributeID\": 955, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"isCaldariNavy\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"956\": {\n    \"attributeID\": 956, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"damageModifierMultiplierBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"957\": {\n    \"attributeID\": 957, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cNavyModOncNavyShip\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"958\": {\n    \"attributeID\": 958, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, hardeningBonus\", \n    \"displayName_de\": \"Härtungsbonus\", \n    \"displayName_en-us\": \"Hardening Bonus\", \n    \"displayName_es\": \"Bonificación de endurecimiento\", \n    \"displayName_fr\": \"Bonus de renforcement\", \n    \"displayName_it\": \"Hardening Bonus\", \n    \"displayName_ja\": \"ハードニングボーナス\", \n    \"displayName_ko\": \"강화 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность\", \n    \"displayName_zh\": \"抗性加成\", \n    \"displayNameID\": 233214, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"hardeningBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"959\": {\n    \"attributeID\": 959, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityShieldBoostLargeDelayChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"960\": {\n    \"attributeID\": 960, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"caldariNavyBonusMultiplier2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"961\": {\n    \"attributeID\": 961, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"caldarNavyBonus2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"962\": {\n    \"attributeID\": 962, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusReconShip1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"963\": {\n    \"attributeID\": 963, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusReconShip2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"964\": {\n    \"attributeID\": 964, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1396, \n    \"name\": \"passiveEmDamageResonanceMultiplier\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 111\n  }, \n  \"965\": {\n    \"attributeID\": 965, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1394, \n    \"name\": \"passiveThermalDamageResonanceMultiplier\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 111\n  }, \n  \"966\": {\n    \"attributeID\": 966, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1393, \n    \"name\": \"passiveKineticDamageResonanceMultiplier\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 111\n  }, \n  \"967\": {\n    \"attributeID\": 967, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1395, \n    \"name\": \"passiveExplosiveDamageResonanceMultiplier\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 111\n  }, \n  \"968\": {\n    \"attributeID\": 968, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used for Probes.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"hasStasisWeb\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"969\": {\n    \"attributeID\": 969, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1396, \n    \"name\": \"activeEmDamageResonance\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 111\n  }, \n  \"970\": {\n    \"attributeID\": 970, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1394, \n    \"name\": \"activeThermalDamageResonance\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 111\n  }, \n  \"971\": {\n    \"attributeID\": 971, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1393, \n    \"name\": \"activeKineticDamageResonance\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 111\n  }, \n  \"972\": {\n    \"attributeID\": 972, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1395, \n    \"name\": \"activeExplosiveDamageResonance\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 111\n  }, \n  \"973\": {\n    \"attributeID\": 973, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Signaturradius-Bonus\", \n    \"displayName_en-us\": \"Signature radius bonus\", \n    \"displayName_es\": \"Bonificación de radio de la señal\", \n    \"displayName_fr\": \"Bonus de rayon de signature\", \n    \"displayName_it\": \"Signature radius bonus\", \n    \"displayName_ja\": \"シグネチャ半径ボーナス\", \n    \"displayName_ko\": \"시그니처 반경 보너스\", \n    \"displayName_ru\": \"Повышение радиуса сигнатуры\", \n    \"displayName_zh\": \"信号半径加成\", \n    \"displayNameID\": 233217, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"signatureRadiusBonusPercent\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"974\": {\n    \"attributeID\": 974, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Struktur gegen EM-Schaden\", \n    \"displayName_en-us\": \"Structure EM Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño electromagnético de estructura\", \n    \"displayName_fr\": \"Résistance de la structure aux dégâts électromagnétiques\", \n    \"displayName_it\": \"Structure EM Damage Resistance\", \n    \"displayName_ja\": \"ストラクチャEMダメージレジスタンス\", \n    \"displayName_ko\": \"선체 EM 저항력\", \n    \"displayName_ru\": \"Сопротивляемость корпуса ЭМ-урону\", \n    \"displayName_zh\": \"结构电磁伤害抗性\", \n    \"displayNameID\": 233497, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1396, \n    \"maxAttributeID\": 1529, \n    \"name\": \"hullEmDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"975\": {\n    \"attributeID\": 975, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Struktur gegen Explosionsschaden\", \n    \"displayName_en-us\": \"Structure Explosive Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño explosivo de estructura\", \n    \"displayName_fr\": \"Résistance de la structure aux dégâts explosifs\", \n    \"displayName_it\": \"Structure Explosive Damage Resistance\", \n    \"displayName_ja\": \"ストラクチャエクスプローシブダメージレジスタンス\", \n    \"displayName_ko\": \"선체 폭발 저항력\", \n    \"displayName_ru\": \"Сопротивляемость корпуса фугасному урону\", \n    \"displayName_zh\": \"结构爆炸伤害抗性\", \n    \"displayNameID\": 233498, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1395, \n    \"maxAttributeID\": 1529, \n    \"name\": \"hullExplosiveDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"976\": {\n    \"attributeID\": 976, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Struktur gegen Kinetikschaden\", \n    \"displayName_en-us\": \"Structure Kinetic Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño cinético de estructura\", \n    \"displayName_fr\": \"Résistance de la structure aux dégâts cinétiques\", \n    \"displayName_it\": \"Structure Kinetic Damage Resistance\", \n    \"displayName_ja\": \"ストラクチャキネティックダメージレジスタンス\", \n    \"displayName_ko\": \"선체 키네틱 저항력\", \n    \"displayName_ru\": \"Сопротивляемость корпуса кинетическому урону\", \n    \"displayName_zh\": \"结构动能伤害抗性\", \n    \"displayNameID\": 233499, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1393, \n    \"maxAttributeID\": 1529, \n    \"name\": \"hullKineticDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"977\": {\n    \"attributeID\": 977, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Struktur gegen Thermalschaden\", \n    \"displayName_en-us\": \"Structure Thermal Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño térmico de estructura\", \n    \"displayName_fr\": \"Résistance de la structure aux dégâts thermiques\", \n    \"displayName_it\": \"Structure Thermal Damage Resistance\", \n    \"displayName_ja\": \"ストラクチャサーマルダメージレジスタンス\", \n    \"displayName_ko\": \"선체 열 저항력\", \n    \"displayName_ru\": \"Сопротивляемость корпуса термическому урону\", \n    \"displayName_zh\": \"结构热能伤害抗性\", \n    \"displayNameID\": 233500, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1394, \n    \"maxAttributeID\": 1529, \n    \"name\": \"hullThermalDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"978\": {\n    \"attributeID\": 978, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum modules of same group that can be onlined at same time, 0 = no limit, 1 = 1\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxGroupOnline\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"979\": {\n    \"attributeID\": 979, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum amount of jump clones that the character may have in existence or ship may have stored.\", \n    \"displayName_de\": \"Maximale Anzahl der Sprungklone\", \n    \"displayName_en-us\": \"Maximum Jump Clones\", \n    \"displayName_es\": \"Clones de salto máximos\", \n    \"displayName_fr\": \"Nombre max. de clones hyperspatiaux\", \n    \"displayName_it\": \"Maximum Jump Clones\", \n    \"displayName_ja\": \"最大ジャンプクローン数\", \n    \"displayName_ko\": \"최대 점프 클론 수\", \n    \"displayName_ru\": \"Максимальное количество джамп-клонов\", \n    \"displayName_zh\": \"远距克隆体数上限\", \n    \"displayNameID\": 233434, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 34, \n    \"name\": \"maxJumpClones\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"980\": {\n    \"attributeID\": 980, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The number of clone jump slots that the ship offers.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"hasCloneJumpSlots\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"981\": {\n    \"attributeID\": 981, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If this module is active and the ship supports it, the ship can serve as a destination for clone jumps.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"allowsCloneJumpsWhenActive\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"982\": {\n    \"attributeID\": 982, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Defines whether a ship has the functionality to allow it to receive clone jumps and host jump clones.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"canReceiveCloneJumps\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"983\": {\n    \"attributeID\": 983, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Signaturradius-Modifizierer\", \n    \"displayName_en-us\": \"Signature Radius Modifier\", \n    \"displayName_es\": \"Modificador de radio de la señal\", \n    \"displayName_fr\": \"Multiplicateur de rayon de signature\", \n    \"displayName_it\": \"Signature Radius Modifier\", \n    \"displayName_ja\": \"シグネチャ半径乗数\", \n    \"displayName_ko\": \"시그니처 반경 보정치\", \n    \"displayName_ru\": \"Влияние на радиус сигнатуры\", \n    \"displayName_zh\": \"信号半径修正值\", \n    \"displayNameID\": 233220, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1390, \n    \"name\": \"signatureRadiusAdd\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"984\": {\n    \"attributeID\": 984, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf EM-Schadensresistenz\", \n    \"displayName_en-us\": \"EM Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños electromagnéticos\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts électromagnétiques\", \n    \"displayName_it\": \"EM Damage Resistance Bonus\", \n    \"displayName_ja\": \"EMダメージレジスタンスボーナス。\", \n    \"displayName_ko\": \"EM 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость ЭМ-урону\", \n    \"displayName_zh\": \"电磁伤害抗性加成\", \n    \"displayNameID\": 233124, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1396, \n    \"name\": \"emDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 124\n  }, \n  \"985\": {\n    \"attributeID\": 985, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Explosionsschadensresistenz\", \n    \"displayName_en-us\": \"Explosive Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños explosivos\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts explosifs\", \n    \"displayName_it\": \"Explosive Damage Resistance Bonus\", \n    \"displayName_ja\": \"エクスプローシブダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"폭발 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость фугасному урону\", \n    \"displayName_zh\": \"爆炸伤害抗性加成\", \n    \"displayNameID\": 233125, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1395, \n    \"name\": \"explosiveDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 124\n  }, \n  \"986\": {\n    \"attributeID\": 986, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Kinetikschadensresistenz\", \n    \"displayName_en-us\": \"Kinetic Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños cinéticos\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts cinétiques\", \n    \"displayName_it\": \"Kinetic Damage Resistance Bonus\", \n    \"displayName_ja\": \"キネティックダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"키네틱 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость кинетическому урону\", \n    \"displayName_zh\": \"动能伤害抗性加成\", \n    \"displayNameID\": 233126, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1393, \n    \"name\": \"kineticDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"987\": {\n    \"attributeID\": 987, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Thermalschadensresistenz\", \n    \"displayName_en-us\": \"Thermal Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños térmicos\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts thermiques\", \n    \"displayName_it\": \"Thermal Damage Resistance Bonus\", \n    \"displayName_ja\": \"サーマルダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"열 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость термическому урону\", \n    \"displayName_zh\": \"热能伤害抗性加成\", \n    \"displayNameID\": 233179, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1394, \n    \"name\": \"thermalDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 124\n  }, \n  \"988\": {\n    \"attributeID\": 988, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"hardeningbonus2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"989\": {\n    \"attributeID\": 989, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"volumePostPercent\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"990\": {\n    \"attributeID\": 990, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"activeEmResistanceBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"991\": {\n    \"attributeID\": 991, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"activeExplosiveResistanceBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"992\": {\n    \"attributeID\": 992, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"activeThermicResistanceBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"993\": {\n    \"attributeID\": 993, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"activeKineticResistanceBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"994\": {\n    \"attributeID\": 994, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Passiver Bonus auf EM-Schadensresistenz\", \n    \"displayName_en-us\": \"Passive EM Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños electromagnéticos pasivos\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts électromagnétiques passifs\", \n    \"displayName_it\": \"Passive EM Damage Resistance Bonus\", \n    \"displayName_ja\": \"パッシブEMダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"패시브 EM 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на пассивную сопротивляемость ЭМ-урону\", \n    \"displayName_zh\": \"被动电磁伤害抗性加成\", \n    \"displayNameID\": 233123, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1396, \n    \"name\": \"passiveEmDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"995\": {\n    \"attributeID\": 995, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Passiver Bonus auf Explosionsschadensresistenz\", \n    \"displayName_en-us\": \"Passive Explosive Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños explosivos pasivos\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts explosifs passifs\", \n    \"displayName_it\": \"Passive Explosive Damage Resistance Bonus\", \n    \"displayName_ja\": \"パッシブエクスプローシブダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"패시브 폭발 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на пассивную сопротивляемость фугасному урону\", \n    \"displayName_zh\": \"被动爆炸伤害抗性加成\", \n    \"displayNameID\": 233127, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1395, \n    \"name\": \"passiveExplosiveDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"996\": {\n    \"attributeID\": 996, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Passiver Bonus auf Kinetikschadensresistenz\", \n    \"displayName_en-us\": \"Passive Kinetic Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños cinéticos pasivos\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts cinétiques passifs\", \n    \"displayName_it\": \"Passive Kinetic Damage Resistance Bonus\", \n    \"displayName_ja\": \"パッシブキネティックダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"패시브 키네틱 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на пассивную сопротивляемость кинетическому урону\", \n    \"displayName_zh\": \"被动动能伤害抗性加成\", \n    \"displayNameID\": 233128, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1393, \n    \"name\": \"passiveKineticDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"997\": {\n    \"attributeID\": 997, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Passiver Bonus auf Thermalschadensresistenz\", \n    \"displayName_en-us\": \"Passive Thermal Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños térmicos pasivos\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts thermiques passifs\", \n    \"displayName_it\": \"Passive Thermal Damage Resistance Bonus\", \n    \"displayName_ja\": \"パッシブサーマルダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"패시브 열 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на пассивную сопротивляемость термическому урону\", \n    \"displayName_zh\": \"被动热能伤害抗性加成\", \n    \"displayNameID\": 233129, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1394, \n    \"name\": \"passiveThermicDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"998\": {\n    \"attributeID\": 998, \n    \"categoryID\": 9, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Can have research and manufacturing functionality\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"isRAMcompatible\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"999\": {\n    \"attributeID\": 999, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusCommandShips2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1000\": {\n    \"attributeID\": 1000, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusCommandShips1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1001\": {\n    \"attributeID\": 1001, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplier used to calculate amount of quantity used for jumping via portals based on mass of ship.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"jumpPortalConsumptionMassFactor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1002\": {\n    \"attributeID\": 1002, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 300000.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"jumpPortalDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"1003\": {\n    \"attributeID\": 1003, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusCommandShip1DONOTUSE\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1004\": {\n    \"attributeID\": 1004, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusCommandShip2DONOTUSE\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1005\": {\n    \"attributeID\": 1005, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Sprungportalaktivierungsgebühr\", \n    \"displayName_en-us\": \"Jump portal activation cost\", \n    \"displayName_es\": \"Coste de activación del portal de salto\", \n    \"displayName_fr\": \"Coût d'activation du portail hyperspatial\", \n    \"displayName_it\": \"Jump portal activation cost\", \n    \"displayName_ja\": \"ジャンプポータル起動コスト\", \n    \"displayName_ko\": \"점프 포탈 활성화 비용\", \n    \"displayName_ru\": \"Энергия на открытие гиперпортала\", \n    \"displayName_zh\": \"跳跃通道激活消耗\", \n    \"displayNameID\": 233427, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 90, \n    \"name\": \"jumpPortalCapacitorNeed\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"1006\": {\n    \"attributeID\": 1006, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityShieldBoostDelayChanceSmall\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1007\": {\n    \"attributeID\": 1007, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityShieldBoostDelayChanceMedium\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1008\": {\n    \"attributeID\": 1008, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityShieldBoostDelayChanceLarge\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1009\": {\n    \"attributeID\": 1009, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityArmorRepairDelayChanceSmall\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1010\": {\n    \"attributeID\": 1010, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityArmorRepairDelayChanceMedium\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1011\": {\n    \"attributeID\": 1011, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityArmorRepairDelayChanceLarge\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1012\": {\n    \"attributeID\": 1012, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusInterdictors1\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusInterdictors1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1013\": {\n    \"attributeID\": 1013, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusInterdictors2\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusInterdictors2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1014\": {\n    \"attributeID\": 1014, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If set, this module cannot be activated and made to autorepeat.\", \n    \"displayName_de\": \"Kann nicht automatisch wiederholt werden\", \n    \"displayName_en-us\": \"Cannot Auto Repeat\", \n    \"displayName_es\": \"No se puede repetir automáticamente.\", \n    \"displayName_fr\": \"Impossible de répéter automatiquement\", \n    \"displayName_it\": \"Cannot Auto Repeat\", \n    \"displayName_ja\": \"オートリピート不可\", \n    \"displayName_ko\": \"자동 반복 불가\", \n    \"displayName_ru\": \"Автоповтор недоступен\", \n    \"displayName_zh\": \"无法自动重复\", \n    \"displayNameID\": 233618, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"disallowRepeatingActivation\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1015\": {\n    \"attributeID\": 1015, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityShieldBoostDelayChanceSmallMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1016\": {\n    \"attributeID\": 1016, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityShieldBoostDelayChanceMediumMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1017\": {\n    \"attributeID\": 1017, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityShieldBoostDelayChanceLargeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1018\": {\n    \"attributeID\": 1018, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityArmorRepairDelayChanceSmallMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1019\": {\n    \"attributeID\": 1019, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityArmorRepairDelayChanceMediumMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1020\": {\n    \"attributeID\": 1020, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityArmorRepairDelayChanceLargeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1021\": {\n    \"attributeID\": 1021, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 15000.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"warpAccuracyMaxRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1022\": {\n    \"attributeID\": 1022, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"warpAccuracyFactor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1023\": {\n    \"attributeID\": 1023, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"warpAccuracyFactorMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1024\": {\n    \"attributeID\": 1024, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"warpAccuracyMaxRangeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1025\": {\n    \"attributeID\": 1025, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"warpAccuracyFactorPercentage\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1026\": {\n    \"attributeID\": 1026, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"warpAccuracyMaxRangePercentage\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1027\": {\n    \"attributeID\": 1027, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Gravimetrische Stärke\", \n    \"displayName_en-us\": \"Gravimetric Strength\", \n    \"displayName_es\": \"Fuerza gravimétrica\", \n    \"displayName_fr\": \"Puissance gravimétrique\", \n    \"displayName_it\": \"Gravimetric Strength\", \n    \"displayName_ja\": \"重力強度\", \n    \"displayName_ko\": \"중력장 강도\", \n    \"displayName_ru\": \"Эффективность гравиметрических систем\", \n    \"displayName_zh\": \"引力强度\", \n    \"displayNameID\": 233254, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2028, \n    \"name\": \"scanGravimetricStrengthPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1028\": {\n    \"attributeID\": 1028, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"LADAR-Stärke\", \n    \"displayName_en-us\": \"Ladar Strength\", \n    \"displayName_es\": \"Potencia lidar\", \n    \"displayName_fr\": \"Puissance ladar\", \n    \"displayName_it\": \"Ladar Strength\", \n    \"displayName_ja\": \"光学強度\", \n    \"displayName_ko\": \"라이다 강도\", \n    \"displayName_ru\": \"Эффективность ладарных систем\", \n    \"displayName_zh\": \"光雷达强度\", \n    \"displayNameID\": 233253, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2030, \n    \"name\": \"scanLadarStrengthPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1029\": {\n    \"attributeID\": 1029, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Magnetometrische Stärke\", \n    \"displayName_en-us\": \"Magnetometric Strength\", \n    \"displayName_es\": \"Fuerza magnetométrica\", \n    \"displayName_fr\": \"Puissance magnétométrique\", \n    \"displayName_it\": \"Magnetometric Strength\", \n    \"displayName_ja\": \"磁力測定強度\", \n    \"displayName_ko\": \"자기 강도\", \n    \"displayName_ru\": \"Эффективность магнитометрических систем\", \n    \"displayName_zh\": \"磁力强度\", \n    \"displayNameID\": 233251, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2029, \n    \"name\": \"scanMagnetometricStrengthPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1030\": {\n    \"attributeID\": 1030, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Radarstärke\", \n    \"displayName_en-us\": \"Radar Strength\", \n    \"displayName_es\": \"Potencia del radar\", \n    \"displayName_fr\": \"Puissance radar\", \n    \"displayName_it\": \"Radar Strength\", \n    \"displayName_ja\": \"電波強度\", \n    \"displayName_ko\": \"레이더 강도\", \n    \"displayName_ru\": \"Эффективность радарных систем\", \n    \"displayName_zh\": \"雷达强度\", \n    \"displayNameID\": 233247, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2031, \n    \"name\": \"scanRadarStrengthPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1031\": {\n    \"attributeID\": 1031, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 1.0, \n    \"description\": \"numeric classification for tower size\\r\\n\", \n    \"displayName_de\": \"Kontrollturmgröße\", \n    \"displayName_en-us\": \"Control Tower Size\", \n    \"displayName_es\": \"Tamaño de torre de control\", \n    \"displayName_fr\": \"Taille de la tour de contrôle\", \n    \"displayName_it\": \"Control Tower Size\", \n    \"displayName_ja\": \"コントロールタワーサイズ\", \n    \"displayName_ko\": \"관제타워 크기\", \n    \"displayName_ru\": \"Размер башни управления\", \n    \"displayName_zh\": \"控制塔尺寸\", \n    \"displayNameID\": 233043, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerSize\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 117\n  }, \n  \"1032\": {\n    \"attributeID\": 1032, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"The maximum security level at which the structure can be anchored. Used as a non-functional display attribute on some deployables.\", \n    \"displayName_de\": \"Beschränkt auf max. Sicherheitsstatus von\", \n    \"displayName_en-us\": \"Restricted To Security Level Of At Most\", \n    \"displayName_es\": \"Restringido a nivel de seguridad de como máximo\", \n    \"displayName_fr\": \"Limité au niveau de sécurité le plus élevé\", \n    \"displayName_it\": \"Restricted To Security Level Of At Most\", \n    \"displayName_ja\": \"セキュリティレベル上限設定\", \n    \"displayName_ko\": \"최대 보안 수준으로 제한됨\", \n    \"displayName_ru\": \"Степень соответствия нормам КОНКОРДа не более\", \n    \"displayName_zh\": \"仅限于安全等级不超过\", \n    \"displayNameID\": 233512, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"anchoringSecurityLevelMax\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1033\": {\n    \"attributeID\": 1033, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Whether the structure requires the anchorers alliance to hold sovereignty in the system for it to be anchorable.  Only enforced if the security level is 0.4 or less.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"anchoringRequiresSovereignty\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1034\": {\n    \"attributeID\": 1034, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 30000.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Verzögerung bei Reaktivierung des Tarnmoduls\", \n    \"displayName_en-us\": \"Cloak Reactivation Delay\", \n    \"displayName_es\": \"Demora de reactivación del camuflaje\", \n    \"displayName_fr\": \"Délai de réactivation du camouflage\", \n    \"displayName_it\": \"Cloak Reactivation Delay\", \n    \"displayName_ja\": \"クロークリアクティベーション遅延\", \n    \"displayName_ko\": \"클로킹 재활성화 준비 시간\", \n    \"displayName_ru\": \"Задержка повторного включения систем маскировки\", \n    \"displayName_zh\": \"隐身再入延迟\", \n    \"displayNameID\": 233518, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"covertOpsAndReconOpsCloakModuleDelay\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"1035\": {\n    \"attributeID\": 1035, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 20000.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"covertOpsStealthBomberTargettingDelay\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"1045\": {\n    \"attributeID\": 1045, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum speed that the tractor beam draws objects closer at.\", \n    \"displayName_de\": \"Maximale Traktorgeschwindigkeit\", \n    \"displayName_en-us\": \"Maximum Tractor Velocity\", \n    \"displayName_es\": \"Velocidad máx. del tractor\", \n    \"displayName_fr\": \"Vitesse de tractage maximale\", \n    \"displayName_it\": \"Maximum Tractor Velocity\", \n    \"displayName_ja\": \"最高トラクター速度\", \n    \"displayName_ko\": \"트랙터 최대 속도\", \n    \"displayName_ru\": \"Скорость перемещения грузов\", \n    \"displayName_zh\": \"最大牵引速度\", \n    \"displayNameID\": 233337, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"maxTractorVelocity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 10\n  }, \n  \"1047\": {\n    \"attributeID\": 1047, \n    \"categoryID\": 9, \n    \"dataType\": 3, \n    \"defaultValue\": 1.0, \n    \"description\": \"If set to 1 then this skill can not be trained on accounts that are marked as Alpha Clone. Any other value (although you should probably use 0) will result in all accounts being able to train this skill.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"canNotBeTrainedOnTrial\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1048\": {\n    \"attributeID\": 1048, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"disallowOffensiveModifierBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1073\": {\n    \"attributeID\": 1073, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Erlaubte Anzahl von Sprung-Klonen\", \n    \"displayName_en-us\": \"Number of Jump Clones Allowed\", \n    \"displayName_es\": \"N.º de clones de salto permitidos\", \n    \"displayName_fr\": \"Nombre de clones hyperspatiaux autorisés\", \n    \"displayName_it\": \"Number of Jump Clones Allowed\", \n    \"displayName_ja\": \"ジャンプクローン保持可能数\", \n    \"displayName_ko\": \"허용된 점프 클론 수\", \n    \"displayName_ru\": \"Допустимое количество джамп-клонов\", \n    \"displayName_zh\": \"远距克隆数量上限\", \n    \"displayNameID\": 233630, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxJumpClonesBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"1074\": {\n    \"attributeID\": 1074, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If set on a charge or module type, will prevent it from being activated in empire space.\", \n    \"displayName_de\": \"Im imperialen Raum gesperrt\", \n    \"displayName_en-us\": \"Banned in Empire Space\", \n    \"displayName_es\": \"Prohibido en el espacio imperial\", \n    \"displayName_fr\": \"Interdit dans l'espace de l'empire\", \n    \"displayName_it\": \"Banned in Empire Space\", \n    \"displayName_ja\": \"帝国領域で使用禁止\", \n    \"displayName_ko\": \"하이 시큐리티 사용 금지\", \n    \"displayName_ru\": \"Запрещена активация в системах с положительной СС\", \n    \"displayName_zh\": \"帝国区禁用\", \n    \"displayNameID\": 233640, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"disallowInEmpireSpace\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1075\": {\n    \"attributeID\": 1075, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If present on a type which is used like a missile, signifies that it should never do damage (whether it has any to do or not).\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"missileNeverDoesDamage\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1076\": {\n    \"attributeID\": 1076, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Geschwindigkeitsmodifikator\", \n    \"displayName_en-us\": \"Velocity Modifier\", \n    \"displayName_es\": \"Modificador de velocidad\", \n    \"displayName_fr\": \"Modificateur de vitesse\", \n    \"displayName_it\": \"Velocity Modifier\", \n    \"displayName_ja\": \"速度修正乗数\", \n    \"displayName_ko\": \"속도 보정치\", \n    \"displayName_ru\": \"Модификатор скорости\", \n    \"displayName_zh\": \"速度调整\", \n    \"displayNameID\": 233231, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"implantBonusVelocity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"1077\": {\n    \"attributeID\": 1077, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Drohnenmodule\", \n    \"displayName_en-us\": \"Drone Modules\", \n    \"displayName_es\": \"Módulos de drones\", \n    \"displayName_fr\": \"Modules de drone\", \n    \"displayName_it\": \"Drone Modules\", \n    \"displayName_ja\": \"ドローンモジュール\", \n    \"displayName_ko\": \"드론 모듈\", \n    \"displayName_ru\": \"Системы дронов\", \n    \"displayName_zh\": \"无人机装备\", \n    \"displayNameID\": 233300, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxDCUModules\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1079\": {\n    \"attributeID\": 1079, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, CapacitorCapacityBonus\", \n    \"displayName_de\": \"Energiespeicher-Modifikator\", \n    \"displayName_en-us\": \"Capacitor Modifier\", \n    \"displayName_es\": \"Modificador de condensador\", \n    \"displayName_fr\": \"Modificateur de capaciteur\", \n    \"displayName_it\": \"Capacitor Modifier\", \n    \"displayName_ja\": \"キャパシタ修正乗数\", \n    \"displayName_ko\": \"캐패시터 보정치\", \n    \"displayName_ru\": \"Модификатор емкости накопителя\", \n    \"displayName_zh\": \"电容量调整\", \n    \"displayNameID\": 233005, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"capacitorCapacityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1080\": {\n    \"attributeID\": 1080, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cpuPenaltySuperWeapon\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1081\": {\n    \"attributeID\": 1081, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cpuBonusSuperWeapon\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1082\": {\n    \"attributeID\": 1082, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"CPU-Abzug\", \n    \"displayName_en-us\": \"Cpu Penalty\", \n    \"displayName_es\": \"Penalización de la CPU\", \n    \"displayName_fr\": \"Pénalité CPU\", \n    \"displayName_it\": \"Cpu Penalty\", \n    \"displayName_ja\": \"CPU ペナルティ\", \n    \"displayName_ko\": \"CPU 페널티\", \n    \"displayName_ru\": \"Снижение мощности ЦПУ\", \n    \"displayName_zh\": \"CPU惩罚\", \n    \"displayNameID\": 233058, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 0, \n    \"name\": \"cpuPenaltyPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1083\": {\n    \"attributeID\": 1083, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"HP-Bonus für Panzerung\", \n    \"displayName_en-us\": \"Armor Hitpoint Bonus\", \n    \"displayName_es\": \"Bonif. de puntos de vida del blindaje\", \n    \"displayName_fr\": \"Bonus de PV du blindage\", \n    \"displayName_it\": \"Armor Hitpoint Bonus\", \n    \"displayName_ja\": \"アーマーHPボーナス\", \n    \"displayName_ko\": \"장갑 내구도 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности брони\", \n    \"displayName_zh\": \"装甲值加成\", \n    \"displayNameID\": 232965, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1383, \n    \"name\": \"armorHpBonus2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"1084\": {\n    \"attributeID\": 1084, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Geschwindigkeitsmodifikator\", \n    \"displayName_en-us\": \"Velocity Modifier\", \n    \"displayName_es\": \"Modificador de velocidad\", \n    \"displayName_fr\": \"Modificateur de vitesse\", \n    \"displayName_it\": \"Velocity Modifier\", \n    \"displayName_ja\": \"速度修正乗数\", \n    \"displayName_ko\": \"속도 보정치\", \n    \"displayName_ru\": \"Модификатор скорости\", \n    \"displayName_zh\": \"速度调整\", \n    \"displayNameID\": 233145, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"velocityBonus2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"1085\": {\n    \"attributeID\": 1085, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Module consumption mechanic uses fuel cargo. Ships that have this with value of 1 can have fuel cargo. Need fuelCargoCapacity set as well.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"hasFuelCargo\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1086\": {\n    \"attributeID\": 1086, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used for ships that are supposed to be able to use fuel.\", \n    \"displayName_de\": \"Frachtraumgröße für Treibstoff\", \n    \"displayName_en-us\": \"Fuel Cargo Capacity\", \n    \"displayName_es\": \"Capacidad de carga de combustible\", \n    \"displayName_fr\": \"Capacité du conteneur carburant\", \n    \"displayName_it\": \"Fuel Cargo Capacity\", \n    \"displayName_ja\": \"燃料カーゴ容量\", \n    \"displayName_ko\": \"연료 적재량\", \n    \"displayName_ru\": \"Ёмкость топливного отсека\", \n    \"displayName_zh\": \"燃料舱容量\", \n    \"displayNameID\": 233208, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"fuelCargoCapacity\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1087\": {\n    \"attributeID\": 1087, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Whether an item is a booster or not.\", \n    \"displayName_de\": \"Booster-Slot\", \n    \"displayName_en-us\": \"Booster Slot\", \n    \"displayName_es\": \"Ranura de potenciador\", \n    \"displayName_fr\": \"Emplacement de booster\", \n    \"displayName_it\": \"Booster Slot\", \n    \"displayName_ja\": \"ブースタースロット\", \n    \"displayName_ko\": \"부스터 슬롯\", \n    \"displayName_ru\": \"Разъём боевых стимуляторов\", \n    \"displayName_zh\": \"增效剂槽位\", \n    \"displayNameID\": 233607, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterness\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 136\n  }, \n  \"1088\": {\n    \"attributeID\": 1088, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Internally set expiry time for objects which expire, so that the client knows when.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"expiryTime\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1089\": {\n    \"attributeID\": 1089, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Chance auf Nebeneffekt\", \n    \"displayName_en-us\": \"Chance of Side Effect\", \n    \"displayName_es\": \"Probabilidad de efecto secundario\", \n    \"displayName_fr\": \"Chance d'effet secondaire\", \n    \"displayName_it\": \"Chance of Side Effect\", \n    \"displayName_ja\": \"副作用発生率\", \n    \"displayName_ko\": \"부작용 발생 확률\", \n    \"displayName_ru\": \"Шанс побочного эффекта\", \n    \"displayName_zh\": \"副作用几率\", \n    \"displayNameID\": 233519, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterEffectChance1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1090\": {\n    \"attributeID\": 1090, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterEffectChance2\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1091\": {\n    \"attributeID\": 1091, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterEffectChance3\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1092\": {\n    \"attributeID\": 1092, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterEffectChance4\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1093\": {\n    \"attributeID\": 1093, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterEffectChance5\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1094\": {\n    \"attributeID\": 1094, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Energiespeichergröße\", \n    \"displayName_en-us\": \"Capacitor Capacity Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad del condensador\", \n    \"displayName_fr\": \"Bonus de charge de capaciteur\", \n    \"displayName_it\": \"Capacitor Capacity Bonus\", \n    \"displayName_ja\": \"キャパシタ容量ボーナス\", \n    \"displayName_ko\": \"캐패시터 용량 보너스\", \n    \"displayName_ru\": \"Влияние на запас энергии\", \n    \"displayName_zh\": \"电容容量加成\", \n    \"displayNameID\": 233085, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayCapacitorCapacityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1095\": {\n    \"attributeID\": 1095, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schildverstärkungsbonus\", \n    \"displayName_en-us\": \"Shield Boost Bonus\", \n    \"displayName_es\": \"Bonificación de potenciador de escudo\", \n    \"displayName_fr\": \"Bonus de booster de bouclier\", \n    \"displayName_it\": \"Shield Boost Bonus\", \n    \"displayName_ja\": \"シールドブーストボーナス\", \n    \"displayName_ko\": \"실드 부스트 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность накачки щитов\", \n    \"displayName_zh\": \"护盾回充加成\", \n    \"displayNameID\": 233091, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayShieldBoostMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1096\": {\n    \"attributeID\": 1096, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schildkapazitätsbonus\", \n    \"displayName_en-us\": \"Shield Capacity Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad del escudo\", \n    \"displayName_fr\": \"Bonus de capacité du bouclier\", \n    \"displayName_it\": \"Shield Capacity Bonus\", \n    \"displayName_ja\": \"シールド容量ボーナス\", \n    \"displayName_ko\": \"실드량 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности щитов\", \n    \"displayName_zh\": \"护盾容量加成\", \n    \"displayNameID\": 233092, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayShieldCapacityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1097\": {\n    \"attributeID\": 1097, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Explosionsgeschwindigkeit\", \n    \"displayName_en-us\": \"Explosion Velocity\", \n    \"displayName_es\": \"Velocidad de explosión\", \n    \"displayName_fr\": \"Vitesse d'explosion\", \n    \"displayName_it\": \"Explosion Velocity\", \n    \"displayName_ja\": \"爆発速度\", \n    \"displayName_ko\": \"폭발속도\", \n    \"displayName_ru\": \"Скорость взрыва\", \n    \"displayName_zh\": \"爆炸速度\", \n    \"displayNameID\": 233082, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayAoeVelocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1098\": {\n    \"attributeID\": 1098, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Optimale Reichweite-Bonus\", \n    \"displayName_en-us\": \"Optimal Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance óptimo\", \n    \"displayName_fr\": \"Bonus de portée optimale\", \n    \"displayName_it\": \"Optimal Range Bonus\", \n    \"displayName_ja\": \"最適射程距離ボーナス\", \n    \"displayName_ko\": \"최적사거리 보너스\", \n    \"displayName_ru\": \"Влияние на оптимальную дальность\", \n    \"displayName_zh\": \"最佳射程加成\", \n    \"displayNameID\": 233090, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayRangeSkillBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1099\": {\n    \"attributeID\": 1099, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Nebeneffektabzug\", \n    \"displayName_en-us\": \"Side Effect Penalty\", \n    \"displayName_es\": \"Penalización de efecto secundario\", \n    \"displayName_fr\": \"Pénalité d'effet secondaire\", \n    \"displayName_it\": \"Side Effect Penalty\", \n    \"displayName_ja\": \"副作用ペナルティ\", \n    \"displayName_ko\": \"부작용 페널티\", \n    \"displayName_ru\": \"Штраф к силе побочного эффекта\", \n    \"displayName_zh\": \"副作用惩罚\", \n    \"displayNameID\": 232986, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterAttribute1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1100\": {\n    \"attributeID\": 1100, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterAttribute2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1101\": {\n    \"attributeID\": 1101, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterAttribute3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1102\": {\n    \"attributeID\": 1102, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterAttribute4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1103\": {\n    \"attributeID\": 1103, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterAttribute5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1104\": {\n    \"attributeID\": 1104, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximaler Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Maximum Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máxima\", \n    \"displayName_fr\": \"Bonus de vitesse maximale\", \n    \"displayName_it\": \"Maximum Velocity Bonus\", \n    \"displayName_ja\": \"最高速度ボーナス\", \n    \"displayName_ko\": \"최대 속도 보너스\", \n    \"displayName_ru\": \"Влияние на максимальную скорость\", \n    \"displayName_zh\": \"最大速度加成\", \n    \"displayNameID\": 233088, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayMaxVelocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1105\": {\n    \"attributeID\": 1105, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"HP-Nachteil der Panzerung\", \n    \"displayName_en-us\": \"Armor Hitpoint Penalty\", \n    \"displayName_es\": \"Penalización de puntos de vida del blindaje\", \n    \"displayName_fr\": \"Pénalité de PV du blindage\", \n    \"displayName_it\": \"Armor Hitpoint Penalty\", \n    \"displayName_ja\": \"アーマーHPペナルティ\", \n    \"displayName_ko\": \"장갑 내구도 페널티\", \n    \"displayName_ru\": \"Сокращение запаса прочности брони\", \n    \"displayName_zh\": \"装甲值惩罚\", \n    \"displayNameID\": 233084, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayArmorHpBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1106\": {\n    \"attributeID\": 1106, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Max. Geschwindigkeitsbonus für Lenkwaffen\", \n    \"displayName_en-us\": \"Missile Maximum Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máxima del misil\", \n    \"displayName_fr\": \"Bonus de vitesse maximale des missiles\", \n    \"displayName_it\": \"Missile Maximum Velocity Bonus\", \n    \"displayName_ja\": \"ミサイル最高速度ボーナス\", \n    \"displayName_ko\": \"미사일 최대 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость полёта ракет\", \n    \"displayName_zh\": \"导弹最大速度加成\", \n    \"displayNameID\": 233089, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayMissileMaxVelocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1107\": {\n    \"attributeID\": 1107, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Panzerungsreparatur-Bonus\", \n    \"displayName_en-us\": \"Armor Repaired Bonus\", \n    \"displayName_es\": \"Bonificación de blindaje reparado\", \n    \"displayName_fr\": \"Bonus de blindage réparé\", \n    \"displayName_it\": \"Armor Repaired Bonus\", \n    \"displayName_ja\": \"アーマーリペアボーナス\", \n    \"displayName_ko\": \"장갑 수리 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность ремонта брони\", \n    \"displayName_zh\": \"已维修装甲量加成\", \n    \"displayNameID\": 233083, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayArmorDamageAmountBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1108\": {\n    \"attributeID\": 1108, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reduktionsbonus\", \n    \"displayName_en-us\": \"falloff bonus\", \n    \"displayName_es\": \"bonificación de alcance efectivo\", \n    \"displayName_fr\": \"Bonus de distance de perte\", \n    \"displayName_it\": \"falloff bonus\", \n    \"displayName_ja\": \"精度低下ボーナス\", \n    \"displayName_ko\": \"유효사거리 보너스\", \n    \"displayName_ru\": \"Влияние на добавочную дальность\", \n    \"displayName_zh\": \"失准范围加成\", \n    \"displayNameID\": 233086, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayFalloffModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1109\": {\n    \"attributeID\": 1109, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Nachführungsgeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Tracking Speed bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de rastreo\", \n    \"displayName_fr\": \"Bonus de vitesse de poursuite\", \n    \"displayName_it\": \"Tracking Speed bonus\", \n    \"displayName_ja\": \"追跡速度ボーナス\", \n    \"displayName_ko\": \"트래킹 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость наводки\", \n    \"displayName_zh\": \"跟踪速度加成\", \n    \"displayNameID\": 233093, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayTrackingSpeedModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1110\": {\n    \"attributeID\": 1110, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Explosionsradius-Bonus\", \n    \"displayName_en-us\": \"Explosion Radius Bonus\", \n    \"displayName_es\": \"Bonificación de radio de explosión\", \n    \"displayName_fr\": \"Bonus de rayon d'explosion\", \n    \"displayName_it\": \"Explosion Radius Bonus\", \n    \"displayName_ja\": \"爆発半径ボーナス\", \n    \"displayName_ko\": \"폭발 반경 보너스\", \n    \"displayName_ru\": \"Влияние на сигнатуру взрыва\", \n    \"displayName_zh\": \"爆炸半径加成\", \n    \"displayNameID\": 233081, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayAoeCloudsizeModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1111\": {\n    \"attributeID\": 1111, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Optimale Reichweite-Bonus\", \n    \"displayName_en-us\": \"Optimal Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance óptimo\", \n    \"displayName_fr\": \"Bonus de portée optimale\", \n    \"displayName_it\": \"Optimal Range Bonus\", \n    \"displayName_ja\": \"最適射程距離ボーナス\", \n    \"displayName_ko\": \"최적사거리 보너스\", \n    \"displayName_ru\": \"Влияние на оптимальную дальность\", \n    \"displayName_zh\": \"最佳射程加成\", \n    \"displayNameID\": 233087, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"displayMaxRangeModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1112\": {\n    \"attributeID\": 1112, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Modifies base chance of successful invention\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"inventionPropabilityMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1113\": {\n    \"attributeID\": 1113, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Modifies the mineral efficiency of invented BPCs\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"inventionMEModifier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"1114\": {\n    \"attributeID\": 1114, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Modifies the time efficiency of invented BPCs\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"inventionTEModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1115\": {\n    \"attributeID\": 1115, \n    \"categoryID\": 9, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used to show usable decryptors when starting reverse engineering based on data interface\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"decryptorID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1116\": {\n    \"attributeID\": 1116, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The strength of the probe.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanProbeStrength\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1117\": {\n    \"attributeID\": 1117, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanStrengthSignatures\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1118\": {\n    \"attributeID\": 1118, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanStrengthDronesProbes\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1119\": {\n    \"attributeID\": 1119, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanStrengthScrap\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1120\": {\n    \"attributeID\": 1120, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanStrengthShips\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1121\": {\n    \"attributeID\": 1121, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanStrengthStructures\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1122\": {\n    \"attributeID\": 1122, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Max groups that a character can scan for with probes. Default is 0 and max groups will be 5 with a single skill adding 1 per skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxScanGroups\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1123\": {\n    \"attributeID\": 1123, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 60000.0, \n    \"description\": \"How long this probe has to scan until it can obtain results.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"1124\": {\n    \"attributeID\": 1124, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Modifies the max runs in a blueprint created through invention\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"inventionMaxRunModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1125\": {\n    \"attributeID\": 1125, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Negativ-Nebeneffekt-Chance-Bonus\", \n    \"displayName_en-us\": \"Negative Side Effect Chance Bonus\", \n    \"displayName_es\": \"Bonificación de probabilidad de efecto secundario negativo\", \n    \"displayName_fr\": \"Bonus de risque d'effet secondaire négatif\", \n    \"displayName_it\": \"Negative Side Effect Chance Bonus\", \n    \"displayName_ja\": \"副作用発生率ボーナス\", \n    \"displayName_ko\": \"불리한 부작용 확률 보너스\", \n    \"displayName_ru\": \"Снижение шанса появления побочного эффекта\", \n    \"displayName_zh\": \"副作用发生机率加成\", \n    \"displayNameID\": 232990, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterChanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1126\": {\n    \"attributeID\": 1126, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Nebeneffekt-Modifikator\", \n    \"displayName_en-us\": \"Side effect Modifier\", \n    \"displayName_es\": \"Modificador de efecto secundario\", \n    \"displayName_fr\": \"Modificateur d'effet secondaire\", \n    \"displayName_it\": \"Side effect Modifier\", \n    \"displayName_ja\": \"副作用修正乗数\", \n    \"displayName_ko\": \"부작용 보정치\", \n    \"displayName_ru\": \"Модификатор побочного эффекта\", \n    \"displayName_zh\": \"副作用调整\", \n    \"displayNameID\": 232988, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterAttributeModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1127\": {\n    \"attributeID\": 1127, \n    \"categoryID\": 9, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"Links blueprints to the data interface required to reverse engineer it\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"interfaceID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1128\": {\n    \"attributeID\": 1128, \n    \"categoryID\": 9, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"Datacore required to reverse engineer this blueprint\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"datacore1ID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1129\": {\n    \"attributeID\": 1129, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"Datacore required to reverse engineer this blueprint\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"datacore2ID\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1130\": {\n    \"attributeID\": 1130, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"ECM-Stärkebonus\", \n    \"displayName_en-us\": \"ECM Strength Bonus\", \n    \"displayName_es\": \"Bonificación de intensidad de contramedidas electrónicas\", \n    \"displayName_fr\": \"Bonus de puissance CME\", \n    \"displayName_it\": \"ECM Strength Bonus\", \n    \"displayName_ja\": \"ECM 強度ボーナス\", \n    \"displayName_ko\": \"ECM 강도 보너스\", \n    \"displayName_ru\": \"Увеличение мощности глушения захвата целей\", \n    \"displayName_zh\": \"ECM强度加成\", \n    \"displayNameID\": 233645, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"ecmStrengthBonusPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1131\": {\n    \"attributeID\": 1131, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Massenmodifikator\", \n    \"displayName_en-us\": \"Mass Modifier\", \n    \"displayName_es\": \"Modificador de masa\", \n    \"displayName_fr\": \"Modificateur de masse\", \n    \"displayName_it\": \"Mass Modifier\", \n    \"displayName_ja\": \"マスモディファイア\", \n    \"displayName_ko\": \"질량 보정치\", \n    \"displayName_ru\": \"Степень изменения массы\", \n    \"displayName_zh\": \"质量调整\", \n    \"displayNameID\": 233290, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 76, \n    \"name\": \"massBonusPercentage\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1132\": {\n    \"attributeID\": 1132, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Attribute on ships used for ship upgrades\", \n    \"displayName_de\": \"Kalibrierung\", \n    \"displayName_en-us\": \"Calibration\", \n    \"displayName_es\": \"Calibración\", \n    \"displayName_fr\": \"Étalonnage\", \n    \"displayName_it\": \"Calibration\", \n    \"displayName_ja\": \"キャリブレーション\", \n    \"displayName_ko\": \"교정치\", \n    \"displayName_ru\": \"Калибровка\", \n    \"displayName_zh\": \"校准值\", \n    \"displayNameID\": 233132, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2887, \n    \"name\": \"upgradeCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"1133\": {\n    \"attributeID\": 1133, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 6.0, \n    \"description\": \"Used to increase signature radius of entity when it activates Max Velocity. Used to fake MWD sig radius increase.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"entityMaxVelocitySignatureRadiusMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1134\": {\n    \"attributeID\": 1134, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxTargetRangeMultiplierSet\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1135\": {\n    \"attributeID\": 1135, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanResolutionMultiplierSet\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1136\": {\n    \"attributeID\": 1136, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Helper attribute for distribution dungeons.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanAllStrength\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"1137\": {\n    \"attributeID\": 1137, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The number of rig slots on the ship.\", \n    \"displayName_de\": \"Modifikationsslots\", \n    \"displayName_en-us\": \"Rig Slots\", \n    \"displayName_es\": \"Ranuras de complementos\", \n    \"displayName_fr\": \"Emplacements d'optimisation\", \n    \"displayName_it\": \"Rig Slots\", \n    \"displayName_ja\": \"リグスロット\", \n    \"displayName_ko\": \"리그 슬롯\", \n    \"displayName_ru\": \"Разъёмы для модификаторов\", \n    \"displayName_zh\": \"改装件安装座\", \n    \"displayNameID\": 233288, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3266, \n    \"name\": \"rigSlots\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 122\n  }, \n  \"1138\": {\n    \"attributeID\": 1138, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 10.0, \n    \"description\": \"used on rigs\", \n    \"displayName_de\": \"Nachteil\", \n    \"displayName_en-us\": \"Drawback\", \n    \"displayName_es\": \"Desventaja\", \n    \"displayName_fr\": \"Inconvénient\", \n    \"displayName_it\": \"Drawback\", \n    \"displayName_ja\": \"副作用\", \n    \"displayName_ko\": \"부작용\", \n    \"displayName_ru\": \"Штраф\", \n    \"displayName_zh\": \"缺陷\", \n    \"displayNameID\": 233094, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2887, \n    \"name\": \"drawback\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1139\": {\n    \"attributeID\": 1139, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 10.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Verringerung des Ausrüstungsnachteils\", \n    \"displayName_en-us\": \"Rig Drawback Reduction\", \n    \"displayName_es\": \"Reducción de desventaja del complemento\", \n    \"displayName_fr\": \"Réduction des inconvénients de modification\", \n    \"displayName_it\": \"Rig Drawback Reduction\", \n    \"displayName_ja\": \"リグ副作用緩和\", \n    \"displayName_ko\": \"리그 부작용 감소\", \n    \"displayName_ru\": \"Снижение штрафа от модификаторов\", \n    \"displayName_zh\": \"改装件缺陷减少值\", \n    \"displayNameID\": 233095, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"rigDrawbackBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1141\": {\n    \"attributeID\": 1141, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Panzerung-HP-Abzug\", \n    \"displayName_en-us\": \"Armor Hitpoint Penalty\", \n    \"displayName_es\": \"Penalización de puntos de vida de blindaje\", \n    \"displayName_fr\": \"Pénalité de PV du blindage\", \n    \"displayName_it\": \"Armor Hitpoint Penalty\", \n    \"displayName_ja\": \"アーマーヒットポイントペナルティ\", \n    \"displayName_ko\": \"장갑 내구도 페널티\", \n    \"displayName_ru\": \"Сокращение запаса прочности брони\", \n    \"displayName_zh\": \"装甲值惩罚\", \n    \"displayNameID\": 232985, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterArmorHPPenalty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1142\": {\n    \"attributeID\": 1142, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Abzug für Panzerungsreparatur\", \n    \"displayName_en-us\": \"Armor Repair Amount Penalty\", \n    \"displayName_es\": \"Penalización de cantidad de reparación de blindaje\", \n    \"displayName_fr\": \"Pénalité de montant de réparation de blindage\", \n    \"displayName_it\": \"Armor Repair Amount Penalty\", \n    \"displayName_ja\": \"アーマーリペア量ペナルティ\", \n    \"displayName_ko\": \"장갑 수리량 페널티\", \n    \"displayName_ru\": \"Штраф к эффективности ремонта брони\", \n    \"displayName_zh\": \"装甲维修量惩罚\", \n    \"displayNameID\": 233433, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterArmorRepairAmountPenalty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1143\": {\n    \"attributeID\": 1143, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schildkapazitätsabzug\", \n    \"displayName_en-us\": \"Shield Capacity Penalty\", \n    \"displayName_es\": \"Penalización de capacidad de escudo\", \n    \"displayName_fr\": \"Pénalité de capacité du bouclier\", \n    \"displayName_it\": \"Shield Capacity Penalty\", \n    \"displayName_ja\": \"シールド容量ペナルティ\", \n    \"displayName_ko\": \"실드량 페널티\", \n    \"displayName_ru\": \"Штраф к запасу прочности щитов\", \n    \"displayName_zh\": \"护盾容量惩罚\", \n    \"displayNameID\": 232995, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterShieldCapacityPenalty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1144\": {\n    \"attributeID\": 1144, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Geschützturm-Reichweitenoptimum Abzug\", \n    \"displayName_en-us\": \"Turret Optimal Range Penalty\", \n    \"displayName_es\": \"Penalización de alcance óptimo de torreta\", \n    \"displayName_fr\": \"Pénalité de portée optimale des tourelles\", \n    \"displayName_it\": \"Turret Optimal Range Penalty\", \n    \"displayName_ja\": \"タレット最適射程距離ペナルティ\", \n    \"displayName_ko\": \"터렛 최적사거리 페널티\", \n    \"displayName_ru\": \"Штраф к оптимальной дальности орудий\", \n    \"displayName_zh\": \"炮塔最佳射程惩罚\", \n    \"displayNameID\": 232997, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterTurretOptimalRangePenalty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1145\": {\n    \"attributeID\": 1145, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Geschützturm-Nachführung-Abzug\", \n    \"displayName_en-us\": \"Turret Tracking Penalty\", \n    \"displayName_es\": \"Penalización de rastreo de torreta\", \n    \"displayName_fr\": \"Pénalité de poursuite des tourelles\", \n    \"displayName_it\": \"Turret Tracking Penalty\", \n    \"displayName_ja\": \"タレット追跡ペナルティ\", \n    \"displayName_ko\": \"터렛 트래킹 페널티\", \n    \"displayName_ru\": \"Штраф к скорости наводки орудий\", \n    \"displayName_zh\": \"炮塔跟踪速度惩罚\", \n    \"displayNameID\": 232998, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterTurretTrackingPenalty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1146\": {\n    \"attributeID\": 1146, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Geschützturm-Präzisionsabfall\", \n    \"displayName_en-us\": \"Turret Falloff Penalty\", \n    \"displayName_es\": \"Penalización de alcance efectivo de torreta\", \n    \"displayName_fr\": \"Pénalité de distance de perte des tourelles\", \n    \"displayName_it\": \"Turret Falloff Penalty\", \n    \"displayName_ja\": \"タレット精度低下ペナルティ\", \n    \"displayName_ko\": \"터렛 유효사거리 페널티\", \n    \"displayName_ru\": \"Штраф к добавочной дальности орудий\", \n    \"displayName_zh\": \"炮塔失准范围惩罚\", \n    \"displayNameID\": 232996, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterTurretFalloffPenalty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1147\": {\n    \"attributeID\": 1147, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Explosionsgeschwindigkeit-Abzug\", \n    \"displayName_en-us\": \"Explosion Velocity Penalty\", \n    \"displayName_es\": \"Penalización de velocidad de explosión\", \n    \"displayName_fr\": \"Pénalité de vitesse d'explosion\", \n    \"displayName_it\": \"Explosion Velocity Penalty\", \n    \"displayName_ja\": \"爆発速度ペナルティ\", \n    \"displayName_ko\": \"폭발속도 페널티\", \n    \"displayName_ru\": \"Штраф к скорости взрыва\", \n    \"displayName_zh\": \"爆炸速度惩罚\", \n    \"displayNameID\": 232984, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterAOEVelocityPenalty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1148\": {\n    \"attributeID\": 1148, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Raketengeschwindigkeit-Abzug\", \n    \"displayName_en-us\": \"Missile Velocity Penalty\", \n    \"displayName_es\": \"Penalización de velocidad de misiles\", \n    \"displayName_fr\": \"Pénalité de vitesse des missiles\", \n    \"displayName_it\": \"Missile Velocity Penalty\", \n    \"displayName_ja\": \"ミサイル速度ペナルティ\", \n    \"displayName_ko\": \"미사일 속도 페널티\", \n    \"displayName_ru\": \"Штраф к скорости ракет\", \n    \"displayName_zh\": \"导弹速度惩罚\", \n    \"displayNameID\": 232993, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterMissileVelocityPenalty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1149\": {\n    \"attributeID\": 1149, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Abzug für Lenkwaffenexplosionsradius\", \n    \"displayName_en-us\": \"Missile Explosion Radius Penalty\", \n    \"displayName_es\": \"Penalización de radio de explosión de misiles\", \n    \"displayName_fr\": \"Pénalité de rayon d'explosion des missiles\", \n    \"displayName_it\": \"Missile Explosion Radius Penalty\", \n    \"displayName_ja\": \"ミサイル爆発半径ペナルティ\", \n    \"displayName_ko\": \"미사일 폭발반경 페널티\", \n    \"displayName_ru\": \"Штраф к сигнатуре взрыва ракет\", \n    \"displayName_zh\": \"导弹爆炸半径惩罚\", \n    \"displayNameID\": 232992, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterMissileAOECloudPenalty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1150\": {\n    \"attributeID\": 1150, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Energiespeichergrößen-Abzug\", \n    \"displayName_en-us\": \"Capacitor Capacity Penalty\", \n    \"displayName_es\": \"Penalización de capacidad del condensador\", \n    \"displayName_fr\": \"Pénalité de charge de capaciteur\", \n    \"displayName_it\": \"Capacitor Capacity Penalty\", \n    \"displayName_ja\": \"キャパシタ容量ペナルティ\", \n    \"displayName_ko\": \"캐패시터 용량 페널티\", \n    \"displayName_ru\": \"Штраф к ёмкости накопителя\", \n    \"displayName_zh\": \"电容容量惩罚\", \n    \"displayNameID\": 232989, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterCapacitorCapacityPenalty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1151\": {\n    \"attributeID\": 1151, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Geschwindigkeitsabzug\", \n    \"displayName_en-us\": \"Velocity Penalty\", \n    \"displayName_es\": \"Penalización de velocidad\", \n    \"displayName_fr\": \"Pénalité de vitesse\", \n    \"displayName_it\": \"Velocity Penalty\", \n    \"displayName_ja\": \"速度ペナルティ\", \n    \"displayName_ko\": \"속도 페널티\", \n    \"displayName_ru\": \"Штраф к скорости\", \n    \"displayName_zh\": \"速度惩罚\", \n    \"displayNameID\": 232991, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"boosterMaxVelocityPenalty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1152\": {\n    \"attributeID\": 1152, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"How much the upgrades installed on this ship are using of its upgrade capacity.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"upgradeLoad\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1153\": {\n    \"attributeID\": 1153, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"How much of the upgrade capacity is used when this is fitted to a ship.\", \n    \"displayName_de\": \"Kalibrierungskosten\", \n    \"displayName_en-us\": \"Calibration cost\", \n    \"displayName_es\": \"Coste de calibración\", \n    \"displayName_fr\": \"Coût d'étalonnage\", \n    \"displayName_it\": \"Calibration cost\", \n    \"displayName_ja\": \"キャリブレーションコスト\", \n    \"displayName_ko\": \"교정 비용\", \n    \"displayName_ru\": \"Стоимость калибровки\", \n    \"displayName_zh\": \"校准值消耗\", \n    \"displayNameID\": 233432, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2887, \n    \"name\": \"upgradeCost\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1154\": {\n    \"attributeID\": 1154, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"How many rigs can by fitted to this ship.\", \n    \"displayName_de\": \"Modifikationsslots\", \n    \"displayName_en-us\": \"Rig Slots\", \n    \"displayName_es\": \"Ranuras complementos\", \n    \"displayName_fr\": \"Emplacements d'optimisation\", \n    \"displayName_it\": \"Rig Slots\", \n    \"displayName_ja\": \"アップグレードハードポイント\", \n    \"displayName_ko\": \"리그 슬롯\", \n    \"displayName_ru\": \"Разъёмы для надстроек\", \n    \"displayName_zh\": \"改装件槽位\", \n    \"displayNameID\": 233639, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3266, \n    \"name\": \"upgradeSlotsLeft\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 122\n  }, \n  \"1155\": {\n    \"attributeID\": 1155, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"How much the datacore costs in RPs when being bought from research agents (not used anymore)\", \n    \"displayName_de\": \"RP-Kosten\", \n    \"displayName_en-us\": \"RP Cost\", \n    \"displayName_es\": \"Coste de PI\", \n    \"displayName_fr\": \"Coût en PR\", \n    \"displayName_it\": \"RP Cost\", \n    \"displayName_ja\": \"RP コスト\", \n    \"displayName_ko\": \"RP 비용\", \n    \"displayName_ru\": \"Стоимость в баллах исследований\", \n    \"displayName_zh\": \"研究点数消耗\", \n    \"displayNameID\": 233293, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"researchPointCost\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"1156\": {\n    \"attributeID\": 1156, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Max. Scan-Abweichungsmodifikator\", \n    \"displayName_en-us\": \"Maximum Scan Deviation Modifier\", \n    \"displayName_es\": \"Modificador de desviación máxima del escaneo\", \n    \"displayName_fr\": \"Modificateur de déviation max du balayage\", \n    \"displayName_it\": \"Maximum Scan Deviation Modifier\", \n    \"displayName_ja\": \"最大スキャン誤差修正乗数\", \n    \"displayName_ko\": \"최대 스캔 오차 보정치\", \n    \"displayName_ru\": \"Влияние на максимальное отклонение при поиске зондами\", \n    \"displayName_zh\": \"扫描偏差上限调整\", \n    \"displayNameID\": 233325, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxScanDeviationModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1157\": {\n    \"attributeID\": 1157, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"commandBonus2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1158\": {\n    \"attributeID\": 1158, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Attribute to disallow targetting.\", \n    \"displayName_de\": \"Nicht aufschaltbar\", \n    \"displayName_en-us\": \"Untargetable\", \n    \"displayName_es\": \"Inalcanzable\", \n    \"displayName_fr\": \"Ciblage impossible\", \n    \"displayName_it\": \"Untargetable\", \n    \"displayName_ja\": \"ターゲット不能\", \n    \"displayName_ko\": \"타겟팅 불가\", \n    \"displayName_ru\": \"Не может быть целью\", \n    \"displayName_zh\": \"无法锁定\", \n    \"displayNameID\": 233047, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"untargetable\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1159\": {\n    \"attributeID\": 1159, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"HP-Bonus für Panzerung\", \n    \"displayName_en-us\": \"Armor Hitpoint Bonus\", \n    \"displayName_es\": \"Bonif. de puntos de vida del blindaje\", \n    \"displayName_fr\": \"Bonus de PV du blindage\", \n    \"displayName_it\": \"Armor Hitpoint Bonus\", \n    \"displayName_ja\": \"アーマーHPボーナス\", \n    \"displayName_ko\": \"장갑 내구도 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности брони\", \n    \"displayName_zh\": \"装甲值加成\", \n    \"displayNameID\": 232966, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1383, \n    \"name\": \"armorHPBonusAdd\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"1160\": {\n    \"attributeID\": 1160, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Zugriffsschwierigkeitsbonus-Modifikator\", \n    \"displayName_en-us\": \"Access Difficulty Bonus Modifier\", \n    \"displayName_es\": \"Modificador de bonificación de la dificultad de acceso\", \n    \"displayName_fr\": \"Modificateur de bonus de difficulté d'accès\", \n    \"displayName_it\": \"Access Difficulty Bonus Modifier\", \n    \"displayName_ja\": \"アクセス難度ボーナス修正乗数\", \n    \"displayName_ko\": \"잠금 해제 보너스 보정치\", \n    \"displayName_ru\": \"Модификатор влияния на сложность доступа\", \n    \"displayName_zh\": \"获取成功率调整\", \n    \"displayNameID\": 232941, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"accessDifficultyBonusModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1161\": {\n    \"attributeID\": 1161, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used for the scan frequency probe to give results on scan strength types instead of location. 0 = false, 1 = true\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanFrequencyResult\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1162\": {\n    \"attributeID\": 1162, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 7200000.0, \n    \"description\": \"The amount of milliseconds before the wreck dissapears. Note: this only applies to NPC wrecks or empty player wrecks.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"explosionDelayWreck\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1163\": {\n    \"attributeID\": 1163, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"canCloak\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1164\": {\n    \"attributeID\": 1164, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Afterburner and Microwarpdrive Max Velocity Bonus\", \n    \"displayName_de\": \"Bonus auf die Höchstgeschwindigkeit von Nachbrennern und Mikrowarpantrieben\", \n    \"displayName_en-us\": \"Afterburner and Microwarpdrive Maximum Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máxima del posquemador y el motor de microwarp\", \n    \"displayName_fr\": \"Bonus de vitesse maximale du propulseur de microwarp et du système de post-combustion\", \n    \"displayName_it\": \"Afterburner and Microwarpdrive Maximum Velocity Bonus\", \n    \"displayName_ja\": \"アフターバーナー/マイクロワープドライブ最高速度ボーナス\", \n    \"displayName_ko\": \"애프터버너 및 마이크로 워프 드라이브 최대 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость форсажных ускорителей и микроварп-ускорителей\", \n    \"displayName_zh\": \"加力燃烧器和微型跃迁推进器最大速度加成\", \n    \"displayNameID\": 233194, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"speedFactorBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1165\": {\n    \"attributeID\": 1165, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Minimum distance where a starbase structure can be anchored at from the control tower shield extremity in meters.\", \n    \"displayName_de\": \"Minimale Verankerungsentfernung vom Starbase-Schild\", \n    \"displayName_en-us\": \"Minimum Anchoring Distance From Starbase Shield\", \n    \"displayName_es\": \"Distancia mín. de anclaje desde escudo de base estelar\", \n    \"displayName_fr\": \"Distance minimum d'ancrage depuis le bouclier de la base stellaire\", \n    \"displayName_it\": \"Minimum Anchoring Distance From Starbase Shield\", \n    \"displayName_ja\": \"スターベースシールドからの最小係留距離\", \n    \"displayName_ko\": \"(스타베이스 실드 기준)위치 고정 최소 거리\", \n    \"displayName_ru\": \"Минимальная дистанция анкеровки от силового поля\", \n    \"displayName_zh\": \"锚定离母星护盾最短距离\", \n    \"displayNameID\": 233041, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"controlTowerMinimumDistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"1167\": {\n    \"attributeID\": 1167, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If a starbase structure has this attribute = 1 then it can be controlled by owners with infrastructure tactical officer skill and corp role.\", \n    \"displayName_de\": \"Vom Spieler kontrollierbar\", \n    \"displayName_en-us\": \"Player Controllable\", \n    \"displayName_es\": \"Controlable por el jugador\", \n    \"displayName_fr\": \"Contrôlable par le joueur\", \n    \"displayName_it\": \"Player Controllable\", \n    \"displayName_ja\": \"プレイヤー操作可\", \n    \"displayName_ko\": \"조작가능 플레이어\", \n    \"displayName_ru\": \"Управляется игроком\", \n    \"displayName_zh\": \"玩家可控\", \n    \"displayNameID\": 233634, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 413, \n    \"name\": \"posPlayerControlStructure\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1168\": {\n    \"attributeID\": 1168, \n    \"categoryID\": 9, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"Whether an object is incapacitated or not. Boolean.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"isIncapacitated\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1169\": {\n    \"attributeID\": 1169, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Sensor strength all types\", \n    \"displayName_de\": \"Allgemeine Sensorstärke\", \n    \"displayName_en-us\": \"Generic Sensor Strength\", \n    \"displayName_es\": \"Intensidad de los sensores genéricos\", \n    \"displayName_fr\": \"Puissance de détection standard\", \n    \"displayName_it\": \"Generic Sensor Strength\", \n    \"displayName_ja\": \"標準センサー強度\", \n    \"displayName_ko\": \"일반 센서 강도\", \n    \"displayName_ru\": \"Мощность общих сенсоров\", \n    \"displayName_zh\": \"通用感应器强度\", \n    \"displayNameID\": 233256, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanGenericStrength\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 120\n  }, \n  \"1170\": {\n    \"attributeID\": 1170, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of armor healed by structure repair effects\", \n    \"displayName_de\": \"Panzerungsreparaturmenge\", \n    \"displayName_en-us\": \"Armor Repair Amount\", \n    \"displayName_es\": \"Cantidad de reparación del blindaje\", \n    \"displayName_fr\": \"Niveau de réparation du blindage\", \n    \"displayName_it\": \"Armor Repair Amount\", \n    \"displayName_ja\": \"アーマーリペア量\", \n    \"displayName_ko\": \"장갑 수리량\", \n    \"displayName_ru\": \"Эффективность ремонта брони\", \n    \"displayName_zh\": \"装甲维修量\", \n    \"displayNameID\": 233071, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"structureArmorRepairAmount\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1171\": {\n    \"attributeID\": 1171, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of shield healed by structure repair effects\", \n    \"displayName_de\": \"Schildreparaturmenge\", \n    \"displayName_en-us\": \"Shield Repair Amount\", \n    \"displayName_es\": \"Cantidad de reparación del escudo\", \n    \"displayName_fr\": \"Niveau de réparation du bouclier\", \n    \"displayName_it\": \"Shield Repair Amount\", \n    \"displayName_ja\": \"シールドリペア量\", \n    \"displayName_ko\": \"실드 회복량\", \n    \"displayName_ru\": \"Эффективность накачки щитов\", \n    \"displayName_zh\": \"护盾修复量\", \n    \"displayNameID\": 233069, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"structureShieldRepairAmount\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1172\": {\n    \"attributeID\": 1172, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Value modified by remote starbase structure repair effects (should be 0 unless the structure repairs itself)\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"structureArmorBoostValue\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1173\": {\n    \"attributeID\": 1173, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Value modified by remote starbase structure repair effects (should be 0 unless the structure repairs itself)\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"structureShieldBoostValue\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1174\": {\n    \"attributeID\": 1174, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"How many starbase structures a character control.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"posStructureControlAmount\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1175\": {\n    \"attributeID\": 1175, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatHi\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1176\": {\n    \"attributeID\": 1176, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatMed\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1177\": {\n    \"attributeID\": 1177, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatLow\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1178\": {\n    \"attributeID\": 1178, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatCapacityHi\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1179\": {\n    \"attributeID\": 1179, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatDissipationRateHi\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1180\": {\n    \"attributeID\": 1180, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatAbsorbtionRateModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1181\": {\n    \"attributeID\": 1181, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Überladedauer-Modifikator\", \n    \"displayName_en-us\": \"Overload Duration Modifier\", \n    \"displayName_es\": \"Modificador de duración de sobrecarga\", \n    \"displayName_fr\": \"Modificateur de durée de surcharge\", \n    \"displayName_it\": \"Overload Duration Modifier\", \n    \"displayName_ja\": \"オーバーロード持続時間修正乗数\", \n    \"displayName_ko\": \"과부하 지속시간 조정장치\", \n    \"displayName_ru\": \"Влияние перегрузки на время цикла\", \n    \"displayName_zh\": \"超载持续时间调整\", \n    \"displayNameID\": 233390, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"overloadDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1182\": {\n    \"attributeID\": 1182, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatAbsorbtionRateHi\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1183\": {\n    \"attributeID\": 1183, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatAbsorbtionRateMed\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1184\": {\n    \"attributeID\": 1184, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatAbsorbtionRateLow\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1185\": {\n    \"attributeID\": 1185, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Whether the structure requires the onliner's alliance to hold sovereignty in the system for it to be onlineable.\", \n    \"displayName_de\": \"Benötigtes Souveränitätslevel\", \n    \"displayName_en-us\": \"Required Sovereignty Level\", \n    \"displayName_es\": \"Nivel de soberanía necesario\", \n    \"displayName_fr\": \"Niveau de souveraineté requis\", \n    \"displayName_it\": \"Required Sovereignty Level\", \n    \"displayName_ja\": \"必須領有権レベル\", \n    \"displayName_ko\": \"필요 소버린티 레벨\", \n    \"displayName_ru\": \"Требуемый уровень суверенитета\", \n    \"displayName_zh\": \"所需主权等级\", \n    \"displayNameID\": 233381, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"onliningRequiresSovereigntyLevel\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1190\": {\n    \"attributeID\": 1190, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus attribute for capacitor need of EW and propulsion jamming.\", \n    \"displayName_de\": \"EW-Energiespeicherbedarf-Bonus\", \n    \"displayName_en-us\": \"EW Capacitor Need Bonus\", \n    \"displayName_es\": \"Bonificación de necesidad del condensador de GE\", \n    \"displayName_fr\": \"Bonus des besoins énergétiques du capaciteur de GE\", \n    \"displayName_it\": \"EW Capacitor Need Bonus\", \n    \"displayName_ja\": \"EW キャパシタ消費ボーナス\", \n    \"displayName_ko\": \"전자전 캐패시터 요구치 보너스\", \n    \"displayName_ru\": \"Повышение потребление энергии средствами РЭБ\", \n    \"displayName_zh\": \"电子战设备电容需求加成\", \n    \"displayNameID\": 233172, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"ewCapacitorNeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1191\": {\n    \"attributeID\": 1191, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Modifikator der maximal aktiven Drohnen\", \n    \"displayName_en-us\": \"Maximum Active Drone Modifier\", \n    \"displayName_es\": \"Máximo de modificadores de drones activos\", \n    \"displayName_fr\": \"Modificateur de drones actifs maximum\", \n    \"displayName_it\": \"Maximum Active Drone Modifier\", \n    \"displayName_ja\": \"最大稼動ドローン乗数\", \n    \"displayName_ko\": \"최대 드론 보정치\", \n    \"displayName_ru\": \"Влияние на максимальное количество контролируемых дронов\", \n    \"displayName_zh\": \"可控无人机数上限调整系数\", \n    \"displayNameID\": 233302, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxDronePercentageBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1192\": {\n    \"attributeID\": 1192, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus for CPU requirement of Triage Modules.\", \n    \"displayName_de\": \"CPU-Bedarf-Bonus für Triage\", \n    \"displayName_en-us\": \"Triage CPU Need Bonus\", \n    \"displayName_es\": \"Bonificación de necesidad de la CPU de triaje\", \n    \"displayName_fr\": \"Bonus d'utilisation du CPU pour le triage\", \n    \"displayName_it\": \"Triage CPU Need Bonus\", \n    \"displayName_ja\": \"トリアージCPU必要量ボーナス\", \n    \"displayName_ko\": \"트리아지 CPU 요구치 보너스\", \n    \"displayName_ru\": \"Влияние на потребность реконфигураторов ремонтного профиля в мощностях ЦПУ.\", \n    \"displayName_zh\": \"会战型紧急修复增强设备CPU需求加成\", \n    \"displayNameID\": 233160, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"triageCpuNeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1193\": {\n    \"attributeID\": 1193, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to duration of modules requiring projected ECM.\", \n    \"displayName_de\": \"Bonus auf die Wirkungsdauer des Pulsgenerators\", \n    \"displayName_en-us\": \"Burst Projector Duration Bonus\", \n    \"displayName_es\": \"Bonificación de duración del proyector de estallido\", \n    \"displayName_fr\": \"de bonus à la durée du projecteur à salves\", \n    \"displayName_it\": \"Burst Projector Duration Bonus\", \n    \"displayName_ja\": \"バーストプロジェクターの持続時間ボーナス\", \n    \"displayName_ko\": \"버스트 프로젝터 지속시간 보너스\", \n    \"displayName_ru\": \"Влияние на длительность проецируемых объёмных помех\", \n    \"displayName_zh\": \"脉冲波投射器运转周期加成\", \n    \"displayNameID\": 233384, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"projECMDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1194\": {\n    \"attributeID\": 1194, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus for CPU requirement of projected electronic counter measures.\", \n    \"displayName_de\": \"CPU-Bedarf-Bonus für projektierte ECM-Systeme\", \n    \"displayName_en-us\": \"Projected ECM CPU Need Bonus\", \n    \"displayName_es\": \"Bonificación por necesidad de la CPU en ECM proyectadas\", \n    \"displayName_fr\": \"Bonus d'utilisation du CPU pour les CME projetées\", \n    \"displayName_it\": \"Projected ECM CPU Need Bonus\", \n    \"displayName_ja\": \"プロジェクタイル ECM CPU 必要量ボーナス\", \n    \"displayName_ko\": \"강화 ECM CPU 요구량 보너스\", \n    \"displayName_ru\": \"Влияние на потребление вычислительной мощности проекторами подавления захвата целей\", \n    \"displayName_zh\": \"投射型ECM装备CPU需求加成\", \n    \"displayNameID\": 233386, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"projECMCpuNeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1195\": {\n    \"attributeID\": 1195, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"How many structures in this group can be anchored for the same alliance per solar system.  0 means there is no limit.\", \n    \"displayName_de\": \"Maximale Ankermenge pro Sonnensystem\", \n    \"displayName_en-us\": \"Maximum Anchoring Amount per Solar System\", \n    \"displayName_es\": \"Cantidad máxima de anclajes por sistema solar\", \n    \"displayName_fr\": \"Ancrages maximum par système solaire\", \n    \"displayName_it\": \"Maximum Anchoring Amount per Solar System\", \n    \"displayName_ja\": \"ソーラーシステムごとの最大係留量\", \n    \"displayName_ko\": \"항성계 당 최대 설치량\", \n    \"displayName_ru\": \"Макс. количество развёрнутых сооружений этого типа в системе\", \n    \"displayName_zh\": \"每星系锚定数上限\", \n    \"displayNameID\": 233406, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"posAnchoredPerSolarSystemAmount\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1196\": {\n    \"attributeID\": 1196, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatDissipationRateMed\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1198\": {\n    \"attributeID\": 1198, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatDissipationRateLow\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1199\": {\n    \"attributeID\": 1199, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatCapacityMed\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1200\": {\n    \"attributeID\": 1200, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatCapacityLow\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1205\": {\n    \"attributeID\": 1205, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Feuerrate-Überlade-Bonus\", \n    \"displayName_en-us\": \"Overload rate of fire bonus\", \n    \"displayName_es\": \"Bonificación de cadencia de tiro de sobrecarga\", \n    \"displayName_fr\": \"Bonus de cadence de tir en surcharge\", \n    \"displayName_it\": \"Overload rate of fire bonus\", \n    \"displayName_ja\": \"オーバーロード発射間隔ボーナス\", \n    \"displayName_ko\": \"과부하 시 연사속도 보너스\", \n    \"displayName_ru\": \"Влияние перегрузки на скорострельность\", \n    \"displayName_zh\": \"超载射击速度加成\", \n    \"displayNameID\": 233394, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1386, \n    \"name\": \"overloadRofBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1206\": {\n    \"attributeID\": 1206, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Überladedauer-Bonus\", \n    \"displayName_en-us\": \"Overload duration bonus\", \n    \"displayName_es\": \"Bonificación de duración de sobrecarga\", \n    \"displayName_fr\": \"Bonus de durée de surcharge\", \n    \"displayName_it\": \"Overload duration bonus\", \n    \"displayName_ja\": \"オーバーロード起動時間ボーナス\", \n    \"displayName_ko\": \"과부하 시 지속시간 보너스\", \n    \"displayName_ru\": \"Влияние перегрузки на время цикла\", \n    \"displayName_zh\": \"超载持续时间加成\", \n    \"displayNameID\": 233395, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1386, \n    \"name\": \"overloadSelfDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1207\": {\n    \"attributeID\": 1207, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"isGlobal\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1208\": {\n    \"attributeID\": 1208, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Härtung-Überlade-Bonus\", \n    \"displayName_en-us\": \"Overload hardening bonus\", \n    \"displayName_es\": \"Bonificación de endurecimiento de sobrecarga\", \n    \"displayName_fr\": \"Bonus de renforcement de surcharge\", \n    \"displayName_it\": \"Overload hardening bonus\", \n    \"displayName_ja\": \"オーバーロードハードニングボーナス\", \n    \"displayName_ko\": \"과부하 시 강화 보너스\", \n    \"displayName_ru\": \"Влияние на усиление от перегрузки\", \n    \"displayName_zh\": \"超载增强器加成\", \n    \"displayNameID\": 233131, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"overloadHardeningBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1209\": {\n    \"attributeID\": 1209, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplier to CPU need of modules requireing Bomb Deployment\", \n    \"displayName_de\": \"CPU-Bonus bei Bombeneinsatz\", \n    \"displayName_en-us\": \"Bomb Deployment CPU Bonus\", \n    \"displayName_es\": \"Bonificación de CPU de despliegue de bombas\", \n    \"displayName_fr\": \"Bonus CPU de déploiement de bombe\", \n    \"displayName_it\": \"Bomb Deployment CPU Bonus\", \n    \"displayName_ja\": \"ボムディプロイメント CPU ボーナス\", \n    \"displayName_ko\": \"폭탄 CPU 보너스\", \n    \"displayName_ru\": \"Влияние на потребность бомбомётов в мощностях ЦПУ\", \n    \"displayName_zh\": \"炸弹投放CPU加成\", \n    \"displayNameID\": 232982, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"bombDeploymentCpuNeedMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1210\": {\n    \"attributeID\": 1210, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schaden-Überlade-Bonus\", \n    \"displayName_en-us\": \"Overload damage bonus\", \n    \"displayName_es\": \"Bonificación de daño de sobrecarga\", \n    \"displayName_fr\": \"Bonus de dégâts de surcharge\", \n    \"displayName_it\": \"Overload damage bonus\", \n    \"displayName_ja\": \"オーバーロードダメージボーナス\", \n    \"displayName_ko\": \"과부하 시 피해량 보너스\", \n    \"displayName_ru\": \"Влияние перегрузки на урон\", \n    \"displayName_zh\": \"超载伤害加成\", \n    \"displayNameID\": 233389, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"overloadDamageModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1211\": {\n    \"attributeID\": 1211, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Hitzeschaden\", \n    \"displayName_en-us\": \"Heat Damage\", \n    \"displayName_es\": \"Daño por calor\", \n    \"displayName_fr\": \"Dégâts thermiques\", \n    \"displayName_it\": \"Heat Damage\", \n    \"displayName_ja\": \"ヒートダメージ\", \n    \"displayName_ko\": \"과부하 피해\", \n    \"displayName_ru\": \"Повреждения от перегрузки\", \n    \"displayName_zh\": \"超载损耗\", \n    \"displayNameID\": 233226, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1386, \n    \"name\": \"heatDamage\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Der Schaden, den das Modul an sich selbst verursacht, wenn es durch Überlastung überhitzt\", \n    \"tooltipDescription_en-us\": \"The damage the module does to itself when it overheats due to Overloading\", \n    \"tooltipDescription_es\": \"El daño que el módulo se hace a sí mismo cuando se sobrecalienta debido a una sobrecarga.\", \n    \"tooltipDescription_fr\": \"Les dégâts que le module s'inflige à lui-même lorsqu'il surchauffe en raison d'une surcharge\", \n    \"tooltipDescription_it\": \"The damage the module does to itself when it overheats due to Overloading\", \n    \"tooltipDescription_ja\": \"オーバーロードによってオーバーヒートした際にモジュールが受けるダメージ\", \n    \"tooltipDescription_ko\": \"모듈이 과부하로 받는 자체 피해량\", \n    \"tooltipDescription_ru\": \"Показатель повреждения модуля при перегреве в режиме перегрузки\", \n    \"tooltipDescription_zh\": \"装备因过载导致过热时产生的自损\", \n    \"tooltipDescriptionID\": 707110, \n    \"tooltipTitleID\": 707111, \n    \"unitID\": 113\n  }, \n  \"1212\": {\n    \"attributeID\": 1212, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Benötigtes Thermodynamik-Level\", \n    \"displayName_en-us\": \"Required Thermodynamics Level\", \n    \"displayName_es\": \"Nivel de Termodinámica necesario\", \n    \"displayName_fr\": \"Niveau thermodynamique requis\", \n    \"displayName_it\": \"Required Thermodynamics Level\", \n    \"displayName_ja\": \"必須熱力学レベル\", \n    \"displayName_ko\": \"열역학 요구 레벨\", \n    \"displayName_ru\": \"Необходимый уровень навыка «Термодинамика»\", \n    \"displayName_zh\": \"所需热力学等级\", \n    \"displayNameID\": 233635, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 33, \n    \"name\": \"requiredThermoDynamicsSkill\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 140\n  }, \n  \"1213\": {\n    \"attributeID\": 1213, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Hitzeschaden-Abzug\", \n    \"displayName_en-us\": \"Heat damage penalty\", \n    \"displayName_es\": \"Penalización de daño por calor\", \n    \"displayName_fr\": \"Pénalité de dégâts thermiques\", \n    \"displayName_it\": \"Heat damage penalty\", \n    \"displayName_ja\": \"ヒートダメージペナルティ\", \n    \"displayName_ko\": \"과부하 피해 페널티\", \n    \"displayName_ru\": \"Штраф к повреждениям от перегрузки\", \n    \"displayName_zh\": \"超载伤害惩罚\", \n    \"displayNameID\": 233227, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"heatDamageBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1214\": {\n    \"attributeID\": 1214, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 15000.0, \n    \"description\": \"The maximum distance from the control tower, at which structures can be controlled.\", \n    \"displayName_de\": \"Maximale Kontrollreichweite\", \n    \"displayName_en-us\": \"Maximum Control Distance\", \n    \"displayName_es\": \"Distancia de control máxima\", \n    \"displayName_fr\": \"Distance de contrôle maximale\", \n    \"displayName_it\": \"Maximum Control Distance\", \n    \"displayName_ja\": \"最大コントロールレンジ\", \n    \"displayName_ko\": \"최대 통제 거리\", \n    \"displayName_ru\": \"Максимальная дальность управления\", \n    \"displayName_zh\": \"最大控制距离\", \n    \"displayNameID\": 233435, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"posStructureControlDistanceMax\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"1216\": {\n    \"attributeID\": 1216, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Reduction of CPU need of shield transporters.\", \n    \"displayName_de\": \"CPU-Bedarf-Bonus für Schildtransport\", \n    \"displayName_en-us\": \"Shield Transport CPU Need Bonus\", \n    \"displayName_es\": \"Bonificación de necesidad de la CPU de transporte del escudo\", \n    \"displayName_fr\": \"Bonus d'utilisation du CPU pour le transport de bouclier\", \n    \"displayName_it\": \"Shield Transport CPU Need Bonus\", \n    \"displayName_ja\": \"シールドトランスポートCPU消費ボーナス\", \n    \"displayName_ko\": \"실드 전송기 CPU 요구량 보너스\", \n    \"displayName_ru\": \"Влияние на потребность установок дистанционной накачки щитов в мощностях ЦПУ\", \n    \"displayName_zh\": \"护盾转移装备CPU需求加成\", \n    \"displayNameID\": 232943, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shieldTransportCpuNeedBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1218\": {\n    \"attributeID\": 1218, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Reduction of power grid needs of energy transfer arrays\", \n    \"displayName_de\": \"Energiebedarf der Energieübertragungsanlage\", \n    \"displayName_en-us\": \"Energy Transfer Array Power Need\", \n    \"displayName_es\": \"Requisitos de potencia de matriz de transferencia energética\", \n    \"displayName_fr\": \"Consommation du module de transfert d'énergie\", \n    \"displayName_it\": \"Energy Transfer Array Power Need\", \n    \"displayName_ja\": \"エネルギートランスファーアレイ必要エネルギー量\", \n    \"displayName_ko\": \"에너지 전송 시설 전력 요구량\", \n    \"displayName_ru\": \"Требования к мощности реактора для модулей передачи энергии\", \n    \"displayName_zh\": \"能量转移阵列能量需求\", \n    \"displayNameID\": 233400, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"powerTransferPowerNeedBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1219\": {\n    \"attributeID\": 1219, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to drone armor repair amount\", \n    \"displayName_de\": \"Drohnenpanzerungsschadensmenge-Bonus\", \n    \"displayName_en-us\": \"Drone Armor Damage Amount Bonus\", \n    \"displayName_es\": \"Bonificación de cantidad de daño del blindaje de dron\", \n    \"displayName_fr\": \"Bonus de dégâts au blindage des drones\", \n    \"displayName_it\": \"Drone Armor Damage Amount Bonus\", \n    \"displayName_ja\": \"ドローンアーマーダメージ量ボーナス\", \n    \"displayName_ko\": \"드론 장갑 피해량 보너스\", \n    \"displayName_ru\": \"Влияние на урон орудий дронов по броне\", \n    \"displayName_zh\": \"无人机装甲伤害加成\", \n    \"displayNameID\": 233096, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"droneArmorDamageAmountBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1220\": {\n    \"attributeID\": 1220, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to drone shield transport amount\", \n    \"displayName_de\": \"Bonus auf Schildtransportmenge von Drohnen\", \n    \"displayName_en-us\": \"Drone Shield Transport Amount Bonus\", \n    \"displayName_es\": \"Bonificación de cantidad de transporte de escudo de drones\", \n    \"displayName_fr\": \"Bonus de quantité de transport de boucliers de drone\", \n    \"displayName_it\": \"Drone Shield Transport Amount Bonus\", \n    \"displayName_ja\": \"ドローンシールドトランスポート転送量ボーナス\", \n    \"displayName_ko\": \"드론 실드 전송량 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность накачки щитов дронами\", \n    \"displayName_zh\": \"无人机护盾传输量加成\", \n    \"displayNameID\": 233117, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"droneShieldBonusBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1221\": {\n    \"attributeID\": 1221, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Delay in seconds; until you can jump again.\", \n    \"displayName_de\": \"Sprungverzögerungsdauer\", \n    \"displayName_en-us\": \"Jump Delay Duration\", \n    \"displayName_es\": \"Duración de demora de salto\", \n    \"displayName_fr\": \"Durée du délai de saut\", \n    \"displayName_it\": \"Jump Delay Duration\", \n    \"displayName_ja\": \"ジャンプ遅延時間\", \n    \"displayName_ko\": \"점프 재사용 대기시간\", \n    \"displayName_ru\": \"Длительность задержки гиперперехода\", \n    \"displayName_zh\": \"跳跃延迟时间\", \n    \"displayNameID\": 233265, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"jumpDelayDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 123\n  }, \n  \"1222\": {\n    \"attributeID\": 1222, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Überlade-Bonus für optimale Reichweite\", \n    \"displayName_en-us\": \"Overload optimal range bonus\", \n    \"displayName_es\": \"Bonificación de alcance óptimo de sobrecarga\", \n    \"displayName_fr\": \"Bonus de portée optimale de surcharge\", \n    \"displayName_it\": \"Overload optimal range bonus\", \n    \"displayName_ja\": \"オーバーロード最適射程距離ボーナス\", \n    \"displayName_ko\": \"과부하 시 최적사거리 보너스\", \n    \"displayName_ru\": \"Влияние перегрузки на оптимальную дальность\", \n    \"displayName_zh\": \"超载最佳射程加成\", \n    \"displayNameID\": 233393, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"overloadRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1223\": {\n    \"attributeID\": 1223, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Überladungs-Geschwindigkeits-Bonus\", \n    \"displayName_en-us\": \"Overload Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de sobrecarga\", \n    \"displayName_fr\": \"Bonus de vitesse de surcharge\", \n    \"displayName_it\": \"Overload Speed Bonus\", \n    \"displayName_ja\": \"オーバーロード速度ボーナス\", \n    \"displayName_ko\": \"과부하 시 속도 보너스\", \n    \"displayName_ru\": \"Влияние перегрузки на скорость\", \n    \"displayName_zh\": \"超载速度加成\", \n    \"displayNameID\": 233399, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"overloadSpeedFactorBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1224\": {\n    \"attributeID\": 1224, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatGenerationMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1225\": {\n    \"attributeID\": 1225, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"ECM-Überlade-Bonus\", \n    \"displayName_en-us\": \"Overload ECM Bonus\", \n    \"displayName_es\": \"Bonificación de sobrecarga de ECM\", \n    \"displayName_fr\": \"Bonus de surcharge CME\", \n    \"displayName_it\": \"Overload ECM Bonus\", \n    \"displayName_ja\": \"オーバーロード ECM ボーナス\", \n    \"displayName_ko\": \"과부하 시 ECM 보너스\", \n    \"displayName_ru\": \"Влияние перегрузки на силу глушения захвата целей\", \n    \"displayName_zh\": \"超载ECM加成\", \n    \"displayNameID\": 233392, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"overloadECMStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1226\": {\n    \"attributeID\": 1226, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"ECCM-Überlade-Bonus\", \n    \"displayName_en-us\": \"Overload ECCM Bonus\", \n    \"displayName_es\": \"Bonificación de sobrecarga de ECCM\", \n    \"displayName_fr\": \"Bonus de surcharge CCME\", \n    \"displayName_it\": \"Overload ECCM Bonus\", \n    \"displayName_ja\": \"オーバーロード ECCM ボーナス\", \n    \"displayName_ko\": \"과부하 시 ECCM 보너스\", \n    \"displayName_ru\": \"Влияние перегрузки на силу защиты от РЭБ\", \n    \"displayName_zh\": \"超载ECCM加成\", \n    \"displayNameID\": 233391, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"overloadECCMStrenghtBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1227\": {\n    \"attributeID\": 1227, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to signatureRadiusBonus\", \n    \"displayName_de\": \"Modifikation des Bonus auf den Signatur-Radius\", \n    \"displayName_en-us\": \"Modification of Signature Radius Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de radio de la señal\", \n    \"displayName_fr\": \"Bonus de modification de rayon de signature\", \n    \"displayName_it\": \"Modification of Signature Radius Bonus\", \n    \"displayName_ja\": \"シグネチャ半径ボーナス修正値\", \n    \"displayName_ko\": \"시그니처 반경 보너스 조정\", \n    \"displayName_ru\": \"Снижение штрафа к радиусу сигнатуры\", \n    \"displayName_zh\": \"信号半径加成修正\", \n    \"displayNameID\": 233218, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"signatureRadiusBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1228\": {\n    \"attributeID\": 1228, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplier affecting signatureRadiusMultiplier\", \n    \"displayName_de\": \"Signaturradius-Multiplikator\", \n    \"displayName_en-us\": \"Signature Radius Multiplier\", \n    \"displayName_es\": \"Multiplicador de radio de la señal\", \n    \"displayName_fr\": \"Multiplicateur de rayon de signature\", \n    \"displayName_it\": \"Signature Radius Multiplier\", \n    \"displayName_ja\": \"シグネチャ半径修正乗数\", \n    \"displayName_ko\": \"시그니처 반경 배수\", \n    \"displayName_ru\": \"Множитель радиуса сигнатуры\", \n    \"displayName_zh\": \"信号半径倍增系数\", \n    \"displayNameID\": 233213, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"signatureRadiusMultiplierMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1229\": {\n    \"attributeID\": 1229, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Hitzeschaden-Modifikator\", \n    \"displayName_en-us\": \"Heat damage modifier\", \n    \"displayName_es\": \"Modificador de daño por calor\", \n    \"displayName_fr\": \"Modificateur de dégâts thermiques\", \n    \"displayName_it\": \"Heat damage modifier\", \n    \"displayName_ja\": \"ヒートダメージ修正乗数\", \n    \"displayName_ko\": \"열 피해량 보정치\", \n    \"displayName_ru\": \"Множитель повреждений от перегрузки\", \n    \"displayName_zh\": \"超载伤害量调整\", \n    \"displayNameID\": 233169, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"thermodynamicsHeatDamage\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1230\": {\n    \"attributeID\": 1230, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reparatur-Überlade-Bonus\", \n    \"displayName_en-us\": \"Overload Repair Bonus\", \n    \"displayName_es\": \"Bonificación de reparación de sobrecarga\", \n    \"displayName_fr\": \"Bonus de réparation de surcharge\", \n    \"displayName_it\": \"Overload Repair Bonus\", \n    \"displayName_ja\": \"オーバーロードリペアボーナス\", \n    \"displayName_ko\": \"과부하 시 수리 보너스\", \n    \"displayName_ru\": \"Влияние перегрузки на эффективность ремонтных систем\", \n    \"displayName_zh\": \"超载维修加成\", \n    \"displayNameID\": 233388, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"overloadArmorDamageAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1231\": {\n    \"attributeID\": 1231, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schildbooster-Überlade-Bonus\", \n    \"displayName_en-us\": \"Overload Shield Boost Bonus\", \n    \"displayName_es\": \"Bonificación de potenciador de escudo de sobrecarga\", \n    \"displayName_fr\": \"Bonus de booster de bouclier en surcharge\", \n    \"displayName_it\": \"Overload Shield Boost Bonus\", \n    \"displayName_ja\": \"オーバーロードシールドブーストボーナス\", \n    \"displayName_ko\": \"과부하 시 실드 부스트 보너스\", \n    \"displayName_ru\": \"Влияние перегрузки на накачку щитов\", \n    \"displayName_zh\": \"超载护盾回充加成\", \n    \"displayNameID\": 233397, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"overloadShieldBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1233\": {\n    \"attributeID\": 1233, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 10000.0, \n    \"description\": \"Secondary cargo space allowed, meant to supplement capacity. This is currently used exclusively for Strontium storage on starbases.\", \n    \"displayName_de\": \"Strontium Bay\", \n    \"displayName_en-us\": \"Strontium Bay\", \n    \"displayName_es\": \"Plataforma de estroncio\", \n    \"displayName_fr\": \"Baie de strontium\", \n    \"displayName_it\": \"Strontium Bay\", \n    \"displayName_ja\": \"ストロンチウムベイ\", \n    \"displayName_ko\": \"스트론튬 창고\", \n    \"displayName_ru\": \"Отсек для стронция\", \n    \"displayName_zh\": \"锶储藏库\", \n    \"displayNameID\": 233425, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"capacitySecondary\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"1234\": {\n    \"attributeID\": 1234, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Survey Scanner Range Bonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"surveyScannerRangeBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1235\": {\n    \"attributeID\": 1235, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Cargo Scanner Range Bonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"cargoScannerRangeBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1236\": {\n    \"attributeID\": 1236, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"commandBonusEffective\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"commandBonusEffective\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1237\": {\n    \"attributeID\": 1237, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"commandBonusAdd\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"commandBonusAdd\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1238\": {\n    \"attributeID\": 1238, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"commandBonusEffectiveAdd\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"commandBonusEffectiveAdd\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1239\": {\n    \"attributeID\": 1239, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"shipBonusORECapital1\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusORECapital1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1240\": {\n    \"attributeID\": 1240, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"shipBonusORECapital2\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusORECapital2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1243\": {\n    \"attributeID\": 1243, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"shipBonusORECapital3\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusORECapital3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1244\": {\n    \"attributeID\": 1244, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"shipBonusORECapital4\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusORECapital4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1245\": {\n    \"attributeID\": 1245, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Stops the module from being activated if the ship is aligning to warp.\", \n    \"displayName_de\": \"Aktivierung beim Warpen nicht zulassen\", \n    \"displayName_en-us\": \"Disallow Activation In Warp\", \n    \"displayName_es\": \"Desautorizar activación en warp\", \n    \"displayName_fr\": \"Interdire l'activation en warp\", \n    \"displayName_it\": \"Disallow Activation In Warp\", \n    \"displayName_ja\": \"ワープ時起動不可\", \n    \"displayName_ko\": \"워프 중 활성화 금지\", \n    \"displayName_ru\": \"Запрещено включение в варп-режиме\", \n    \"displayName_zh\": \"跃迁中无法激活\", \n    \"displayNameID\": 233617, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"disallowActivateOnWarp\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1246\": {\n    \"attributeID\": 1246, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusHeavyInterdictors1\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusHeavyInterdictors1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1247\": {\n    \"attributeID\": 1247, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusHeavyInterdictors2\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusHeavyInterdictors2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1249\": {\n    \"attributeID\": 1249, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusElectronicAttackShip1\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusElectronicAttackShip1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1250\": {\n    \"attributeID\": 1250, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusElectronicAttackShip2\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusElectronicAttackShip2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1251\": {\n    \"attributeID\": 1251, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Security Clearance Level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"securityClearance\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1252\": {\n    \"attributeID\": 1252, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Verwendet geheime Technologie\", \n    \"displayName_en-us\": \"Uses Covert Cynosural Field Technology\", \n    \"displayName_es\": \"Usa tecnología encubierta de campo cinosural.\", \n    \"displayName_fr\": \"Utilise une technologie furtive\", \n    \"displayName_it\": \"Uses Covert Cynosural Field Technology\", \n    \"displayName_ja\": \"コバート技術を使用\", \n    \"displayName_ko\": \"코버트 기술 사용\", \n    \"displayName_ru\": \"Используется диверсионная маскировка\", \n    \"displayName_zh\": \"使用隐秘诱导力场科技\", \n    \"displayNameID\": 233623, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"isCovert\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1253\": {\n    \"attributeID\": 1253, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"jumpHarmonics\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1254\": {\n    \"attributeID\": 1254, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann keine Sprungtore benutzen\", \n    \"displayName_en-us\": \"Cannot Use Stargates\", \n    \"displayName_es\": \"No puede usar portales estelares.\", \n    \"displayName_fr\": \"Utilisation des portails stellaires impossible\", \n    \"displayName_it\": \"Cannot Use Stargates\", \n    \"displayName_ja\": \"スターゲートの使用不可\", \n    \"displayName_ko\": \"스타게이트 사용 불가\", \n    \"displayName_ru\": \"Не в состоянии пройти через гиперворота\", \n    \"displayName_zh\": \"不能使用星门\", \n    \"displayNameID\": 233002, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"canNotUseStargates\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1255\": {\n    \"attributeID\": 1255, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"droneDamageBonus\", \n    \"displayName_de\": \"Drohnenschadensbonus\", \n    \"displayName_en-us\": \"Drone Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño de dron\", \n    \"displayName_fr\": \"Bonus aux dégâts causés par les drones\", \n    \"displayName_it\": \"Drone Damage Bonus\", \n    \"displayName_ja\": \"ドローンダメージボーナス\", \n    \"displayName_ko\": \"드론 피해 보너스\", \n    \"displayName_ru\": \"Влияние на урон дронов\", \n    \"displayName_zh\": \"无人机伤害加成\", \n    \"displayNameID\": 278712, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 10934, \n    \"name\": \"droneDamageBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"1256\": {\n    \"attributeID\": 1256, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"droneHPBonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"droneHPBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1257\": {\n    \"attributeID\": 1257, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusBlackOps1\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusBlackOps1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1258\": {\n    \"attributeID\": 1258, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusBlackOps2\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusBlackOps2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1259\": {\n    \"attributeID\": 1259, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Hitzedämpfung\", \n    \"displayName_en-us\": \"Heat Attenuation\", \n    \"displayName_es\": \"Atenuación del calor\", \n    \"displayName_fr\": \"Atténuation de la chaleur\", \n    \"displayName_it\": \"Heat Attenuation\", \n    \"displayName_ja\": \"熱減少\", \n    \"displayName_ko\": \"열 감쇠\", \n    \"displayName_ru\": \"Рассеяние тепла\", \n    \"displayName_zh\": \"热量发散\", \n    \"displayNameID\": 233221, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatAttenuationHi\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1261\": {\n    \"attributeID\": 1261, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatAttenuationMed\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1262\": {\n    \"attributeID\": 1262, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatAttenuationLow\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1263\": {\n    \"attributeID\": 1263, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"towerHPOnlineMutator\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1264\": {\n    \"attributeID\": 1264, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 10.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"brokenRepairCostMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1265\": {\n    \"attributeID\": 1265, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusViolators1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1266\": {\n    \"attributeID\": 1266, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusViolators2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1267\": {\n    \"attributeID\": 1267, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 10.0, \n    \"description\": \"dictates how many hitpoints you can repair per minute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"moduleRepairRate\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1268\": {\n    \"attributeID\": 1268, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusViolatorsRole1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1269\": {\n    \"attributeID\": 1269, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusViolatorsRole2\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusViolatorsRole2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1270\": {\n    \"attributeID\": 1270, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Afterburner and Microwarpdrive Thrust Bonus\", \n    \"displayName_de\": \"Schub-Bonus für Microwarpdrive- und Afterburner-Module\", \n    \"displayName_en-us\": \"Afterburner and Microwarpdrive Thrust Bonus\", \n    \"displayName_es\": \"Bonificación de impulso del posquemador y el motor de microwarp\", \n    \"displayName_fr\": \"Bonus de poussée d'unité de post-combustion et de propulseur de microwarp\", \n    \"displayName_it\": \"Afterburner and Microwarpdrive Thrust Bonus\", \n    \"displayName_ja\": \"アフターバーナー / マイクロワープドライブ推進力ボーナス\", \n    \"displayName_ko\": \"애프터버너 및 마이크로 워프 드라이브 출력 보너스\", \n    \"displayName_ru\": \"Влияние на тягу форсажных ускорителей и микроварп-ускорителей\", \n    \"displayName_zh\": \"加力燃烧器和微型跃迁推进器推力加成\", \n    \"displayNameID\": 233197, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 96, \n    \"name\": \"speedBoostFactorBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1271\": {\n    \"attributeID\": 1271, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Drohnen-Bandbreite\", \n    \"displayName_en-us\": \"Drone Bandwidth\", \n    \"displayName_es\": \"Ancho banda drones\", \n    \"displayName_fr\": \"Bande passante drone\", \n    \"displayName_it\": \"Drone Bandwidth\", \n    \"displayName_ja\": \"ドローン帯域幅\", \n    \"displayName_ko\": \"드론 대역폭\", \n    \"displayName_ru\": \"Пропускная способность канала телеуправления\", \n    \"displayName_zh\": \"无人机带宽\", \n    \"displayNameID\": 233097, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2987, \n    \"name\": \"droneBandwidth\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Schränkt die Anzahl und Größe der Drohnen ein, gleichzeitig kontrolliert werden können\", \n    \"tooltipDescription_en-us\": \"Limits the number and size of drones that can be controlled simultaneously\", \n    \"tooltipDescription_es\": \"Limita el número y el tamaño de los drones que se pueden controlar simultáneamente.\", \n    \"tooltipDescription_fr\": \"Limite le nombre et la taille des drones pouvant être contrôlés simultanément.\", \n    \"tooltipDescription_it\": \"Limits the number and size of drones that can be controlled simultaneously\", \n    \"tooltipDescription_ja\": \"同時に制御できるドローンの数とサイズです\", \n    \"tooltipDescription_ko\": \"동시에 조종할 수 있는 드론의 숫자와 크기가 제한됩니다.\", \n    \"tooltipDescription_ru\": \"Ограничивает количество и размер дронов, которыми может единовременно управлять пилот корабля\", \n    \"tooltipDescription_zh\": \"带宽决定了能同时控制的无人机数量及尺寸\", \n    \"tooltipDescriptionID\": 295312, \n    \"tooltipTitleID\": 295311, \n    \"unitID\": 128\n  }, \n  \"1272\": {\n    \"attributeID\": 1272, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Benötigte Bandbreite\", \n    \"displayName_en-us\": \"Bandwidth Needed\", \n    \"displayName_es\": \"Ancho de banda necesario\", \n    \"displayName_fr\": \"Bande passante requise\", \n    \"displayName_it\": \"Bandwidth Needed\", \n    \"displayName_ja\": \"帯域幅が必要\", \n    \"displayName_ko\": \"필요 대역폭\", \n    \"displayName_ru\": \"Требуемая пропускная способность\", \n    \"displayName_zh\": \"带宽需求\", \n    \"displayNameID\": 233102, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2987, \n    \"name\": \"droneBandwidthUsed\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 128\n  }, \n  \"1273\": {\n    \"attributeID\": 1273, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"droneBandwidthLoad\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1274\": {\n    \"attributeID\": 1274, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bergbau-Unterstützungsbonus\", \n    \"displayName_en-us\": \"Assisted Mining Bonus\", \n    \"displayName_es\": \"Bonificación de extracción asistida\", \n    \"displayName_fr\": \"Bonus d'extraction assistée\", \n    \"displayName_it\": \"Assisted Mining Bonus\", \n    \"displayName_ja\": \"支援付き採掘ボーナス\", \n    \"displayName_ko\": \"채굴 보조 보너스\", \n    \"displayName_ru\": \"Влияние поддержки добычи\", \n    \"displayName_zh\": \"协助采矿加成\", \n    \"displayNameID\": 233354, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"miningTargetMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"1275\": {\n    \"attributeID\": 1275, \n    \"categoryID\": 10, \n    \"dataType\": 3, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"droneIsAgressive\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1276\": {\n    \"attributeID\": 1276, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"nonBrokenModuleRepairCostMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1277\": {\n    \"attributeID\": 1277, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.5, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBrokenModuleRepairCostMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1278\": {\n    \"attributeID\": 1278, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"droneIsChaotic\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1279\": {\n    \"attributeID\": 1279, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusViolatorsRole3\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusViolatorsRole3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1280\": {\n    \"attributeID\": 1280, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusInterceptorRole\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1281\": {\n    \"attributeID\": 1281, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Just for the UI to display the ship warp speed.\", \n    \"displayName_de\": \"Warpgeschwindigkeit\", \n    \"displayName_en-us\": \"Ship Warp Speed\", \n    \"displayName_es\": \"Velocidad warp\", \n    \"displayName_fr\": \"Vitesse de warp du vaisseau\", \n    \"displayName_it\": \"Ship Warp Speed\", \n    \"displayName_ja\": \"シップワープ速度\", \n    \"displayName_ko\": \"함선 워프 속도\", \n    \"displayName_ru\": \"Скорость хода в варп-режиме\", \n    \"displayName_zh\": \"舰船跃迁速度\", \n    \"displayNameID\": 233486, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3759, \n    \"name\": \"baseWarpSpeed\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die Maximalgeschwindigkeit, die im Warp erreicht werden kann\", \n    \"tooltipDescription_en-us\": \"The maximum speed that can be reached in warp\", \n    \"tooltipDescription_es\": \"La velocidad máxima que se puede alcanzar en warp.\", \n    \"tooltipDescription_fr\": \"La vitesse maximale pouvant être atteinte en warp.\", \n    \"tooltipDescription_it\": \"The maximum speed that can be reached in warp\", \n    \"tooltipDescription_ja\": \"ワープ時に到達できる最高速度です\", \n    \"tooltipDescription_ko\": \"워프 시 최대 속도입니다.\", \n    \"tooltipDescription_ru\": \"Максимальная скорость, достижимая в варп-режиме\", \n    \"tooltipDescription_zh\": \"跃迁时的最大速度\", \n    \"tooltipDescriptionID\": 295336, \n    \"tooltipTitleID\": 295335, \n    \"unitID\": 144\n  }, \n  \"1282\": {\n    \"attributeID\": 1282, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Nomad set bonus attribute\", \n    \"displayName_de\": \"Nomad Set-Bonus\", \n    \"displayName_en-us\": \"Nomad Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Nomad\", \n    \"displayName_fr\": \"Bonus de l'ensemble Nomad\", \n    \"displayName_it\": \"Nomad Set Bonus\", \n    \"displayName_ja\": \"ノマッドセットボーナス\", \n    \"displayName_ko\": \"노마드 세트 보너스\", \n    \"displayName_ru\": \"Влияние комплекта «Номад»\", \n    \"displayName_zh\": \"游牧者套件加成\", \n    \"displayNameID\": 233259, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetThukker\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1283\": {\n    \"attributeID\": 1283, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"fightersAttackAndFollow\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1284\": {\n    \"attributeID\": 1284, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Virtue set bonus attribute\", \n    \"displayName_de\": \"Virtue Set-Bonus\", \n    \"displayName_en-us\": \"Virtue Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Virtue\", \n    \"displayName_fr\": \"Bonus de l'ensemble Virtue\", \n    \"displayName_it\": \"Virtue Set Bonus\", \n    \"displayName_ja\": \"バーチュセットボーナス\", \n    \"displayName_ko\": \"버츄 세트 보너스\", \n    \"displayName_ru\": \"Влияние комплекта «Вёрчу»\", \n    \"displayName_zh\": \"美德套件加成\", \n    \"displayNameID\": 233257, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetSisters\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1285\": {\n    \"attributeID\": 1285, \n    \"categoryID\": 8, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The type ID of the skill that is required.\", \n    \"displayName_de\": \"Quaternary-Skill benötigt\", \n    \"displayName_en-us\": \"Quaternary Skill required\", \n    \"displayName_es\": \"Habilidad cuaternaria necesaria\", \n    \"displayName_fr\": \"Compétence quaternaire requise\", \n    \"displayName_it\": \"Quaternary Skill required\", \n    \"displayName_ja\": \"第四必須スキル\", \n    \"displayName_ko\": \"4차 스킬 필요\", \n    \"displayName_ru\": \"Требуемый четвертичный навык\", \n    \"displayName_zh\": \"四级技能需求\", \n    \"displayNameID\": 232930, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 33, \n    \"name\": \"requiredSkill4\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1286\": {\n    \"attributeID\": 1286, \n    \"categoryID\": 8, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Required skill level for skill 4\", \n    \"displayName_de\": \"Benötigter Skill 5 Level\", \n    \"displayName_en-us\": \"Level 5 required\", \n    \"displayName_es\": \"Nivel 5 necesario\", \n    \"displayName_fr\": \"compNiv5Requise\", \n    \"displayName_it\": \"Level 5 required\", \n    \"displayName_ja\": \"第五必須スキルレベル\", \n    \"displayName_ko\": \"레벨 5 요구\", \n    \"displayName_ru\": \"Необходимые навыки 5 уровня\", \n    \"displayName_zh\": \"所需技能等级\", \n    \"displayNameID\": 232931, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"requiredSkill4Level\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1287\": {\n    \"attributeID\": 1287, \n    \"categoryID\": 8, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Required skill level for skill 5\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"requiredSkill5Level\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1288\": {\n    \"attributeID\": 1288, \n    \"categoryID\": 8, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Required skill level for skill 6\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"requiredSkill6Level\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1289\": {\n    \"attributeID\": 1289, \n    \"categoryID\": 8, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The type ID of the skill that is required.\", \n    \"displayName_de\": \"Quinary-Skill benötigt\", \n    \"displayName_en-us\": \"Quinary Skill required\", \n    \"displayName_es\": \"Habilidad quinaria necesaria\", \n    \"displayName_fr\": \"Compétence quinaire requise\", \n    \"displayName_it\": \"Quinary Skill required\", \n    \"displayName_ja\": \"第五必須スキル\", \n    \"displayName_ko\": \"5차 스킬 필요\", \n    \"displayName_ru\": \"Требуемый пятеричный навык\", \n    \"displayName_zh\": \"五级技能需求\", \n    \"displayNameID\": 232932, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"requiredSkill5\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1290\": {\n    \"attributeID\": 1290, \n    \"categoryID\": 8, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The type ID of the skill that is required.\", \n    \"displayName_de\": \"Senary-Skill benötigt\", \n    \"displayName_en-us\": \"Senary Skill required\", \n    \"displayName_es\": \"Habilidad senaria necesaria\", \n    \"displayName_fr\": \"Compétence sénaire requise\", \n    \"displayName_it\": \"Senary Skill required\", \n    \"displayName_ja\": \"第六必須スキル\", \n    \"displayName_ko\": \"6차 스킬 필요\", \n    \"displayName_ru\": \"Требуемый шестеричный навык\", \n    \"displayName_zh\": \"六级技能需求\", \n    \"displayNameID\": 232933, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"requiredSkill6\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1291\": {\n    \"attributeID\": 1291, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Edge set bonus attribute\", \n    \"displayName_de\": \"Edge Set-Bonus\", \n    \"displayName_en-us\": \"Edge Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Edge\", \n    \"displayName_fr\": \"Bonus de l'ensemble Edge\", \n    \"displayName_it\": \"Edge Set Bonus\", \n    \"displayName_ja\": \"エッジセットボーナス\", \n    \"displayName_ko\": \"엣지 세트 보너스\", \n    \"displayName_ru\": \"Влияние комплекта «Эдж»\", \n    \"displayName_zh\": \"强势套件加成\", \n    \"displayNameID\": 233258, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetSyndicate\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1292\": {\n    \"attributeID\": 1292, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Harvest set bonus attribute\", \n    \"displayName_de\": \"Harvest Set-Bonus\", \n    \"displayName_en-us\": \"Harvest Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Harvest\", \n    \"displayName_fr\": \"Bonus de l'ensemble Harvest\", \n    \"displayName_it\": \"Harvest Set Bonus\", \n    \"displayName_ja\": \"ハーベストセットボーナス\", \n    \"displayName_ko\": \"하베스트 세트 보너스\", \n    \"displayName_ru\": \"Влияние комплекта «Харвест»\", \n    \"displayName_zh\": \"采集套件加成\", \n    \"displayNameID\": 233236, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetORE\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1293\": {\n    \"attributeID\": 1293, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Centurion set bonus attribute\", \n    \"displayName_de\": \"Centurion Set-Bonus\", \n    \"displayName_en-us\": \"Centurion Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Centurion\", \n    \"displayName_fr\": \"Bonus de l'ensemble Centurion\", \n    \"displayName_it\": \"Centurion Set Bonus\", \n    \"displayName_ja\": \"センチュリオンセットボーナス\", \n    \"displayName_ko\": \"센츄리온 세트 보너스\", \n    \"displayName_ru\": \"Влияние комплекта «Центурион»\", \n    \"displayName_zh\": \"百夫长套件加成\", \n    \"displayNameID\": 233235, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetMordus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1294\": {\n    \"attributeID\": 1294, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf den Verbrauch von Nanite-Reparaturpaste\", \n    \"displayName_en-us\": \"Nanite Repair Paste Consumption Bonus\", \n    \"displayName_es\": \"Bonificación de consumo de fluido reparador de nanobots\", \n    \"displayName_fr\": \"Bonus d'utilisation des nanites de réparation\", \n    \"displayName_it\": \"Nanite Repair Paste Consumption Bonus\", \n    \"displayName_ja\": \"ナノマシンリペアペイスト使用ボーナス\", \n    \"displayName_ko\": \"나노기기 수리용액 소모량 보너스\", \n    \"displayName_ru\": \"Влияние на расход ремонтной нанопасты\", \n    \"displayName_zh\": \"纳米体修复粘合剂消耗加成\", \n    \"displayNameID\": 233563, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBrokenRepairCostMultiplierBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"1295\": {\n    \"attributeID\": 1295, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Leistung von Repair-Modulen\", \n    \"displayName_en-us\": \"Module Repair Rate Bonus\", \n    \"displayName_es\": \"Bonificación de índice de reparación de los módulos\", \n    \"displayName_fr\": \"Bonus de fréquence de réparation du module\", \n    \"displayName_it\": \"Module Repair Rate Bonus\", \n    \"displayName_ja\": \"モジュールリペア速度ボーナス\", \n    \"displayName_ko\": \"모듈 수리율 보너스\", \n    \"displayName_ru\": \"Влияние на скорость ремонта модулей\", \n    \"displayName_zh\": \"装备维修速率加成\", \n    \"displayNameID\": 233429, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"moduleRepairRateBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1296\": {\n    \"attributeID\": 1296, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Verbrauchsquantitäts-Bonus\", \n    \"displayName_en-us\": \"Consumption Quantity Bonus\", \n    \"displayName_es\": \"Bonificación de cantidad de consumo\", \n    \"displayName_fr\": \"Bonus de quantité consommée\", \n    \"displayName_it\": \"Consumption Quantity Bonus\", \n    \"displayName_ja\": \"消費量ボーナス\", \n    \"displayName_ko\": \"소모량 보너스\", \n    \"displayName_ru\": \"Уменьшение количества расходуемого топлива\", \n    \"displayName_zh\": \"消耗量加成\", \n    \"displayNameID\": 233033, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"consumptionQuantityBonusPercentage\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1297\": {\n    \"attributeID\": 1297, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"droneFocusFire\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1298\": {\n    \"attributeID\": 1298, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann nur eingebaut werden\", \n    \"displayName_en-us\": \"Can only be fitted to\", \n    \"displayName_es\": \"Solo se puede equipar en\", \n    \"displayName_fr\": \"Montage uniquement possible sur\", \n    \"displayName_it\": \"Can only be fitted to\", \n    \"displayName_ja\": \"装着可能対象：\", \n    \"displayName_ko\": \"피팅 가능한 대상\", \n    \"displayName_ru\": \"Можно оснастить только:\", \n    \"displayName_zh\": \"只能装配在\", \n    \"displayNameID\": 233514, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup01\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"1299\": {\n    \"attributeID\": 1299, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 233515, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup02\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"1300\": {\n    \"attributeID\": 1300, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 233516, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup03\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"1301\": {\n    \"attributeID\": 1301, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 233517, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup04\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"1302\": {\n    \"attributeID\": 1302, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann nur eingebaut werden\", \n    \"displayName_en-us\": \"Can only be fitted to\", \n    \"displayName_es\": \"Solo se puede equipar en\", \n    \"displayName_fr\": \"Montage uniquement possible sur\", \n    \"displayName_it\": \"Can only be fitted to\", \n    \"displayName_ja\": \"装着可能対象：\", \n    \"displayName_ko\": \"피팅 가능한 대상\", \n    \"displayName_ru\": \"Можно оснастить только:\", \n    \"displayName_zh\": \"只能装配在\", \n    \"displayNameID\": 233521, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipType1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1303\": {\n    \"attributeID\": 1303, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 233522, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipType2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1304\": {\n    \"attributeID\": 1304, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 233523, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipType3\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1305\": {\n    \"attributeID\": 1305, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 233524, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipType4\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1306\": {\n    \"attributeID\": 1306, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Additive bonus to maxRangeMultiplier\", \n    \"displayName_de\": \"Maximaler Reichweitenmultiplikator-Bonus\", \n    \"displayName_en-us\": \"Maximum Range Multiplier Bonus\", \n    \"displayName_es\": \"Bonificación de multiplicador de alcance máximo\", \n    \"displayName_fr\": \"Bonus de multiplicateur de portée maximum\", \n    \"displayName_it\": \"Maximum Range Multiplier Bonus\", \n    \"displayName_ja\": \"最大範囲乗数ボーナス\", \n    \"displayName_ko\": \"최대 사거리 배수 보너스\", \n    \"displayName_ru\": \"Влияние на коэффициент максимальной дальности\", \n    \"displayName_zh\": \"最大范围倍增系数加成\", \n    \"displayNameID\": 233321, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxRangeMultiplierBonusAdditive\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1307\": {\n    \"attributeID\": 1307, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Additive bonus to trackingSpeedMultiplier\", \n    \"displayName_de\": \"Multiplikator-Bonus der Nachführgeschwindigkeit\", \n    \"displayName_en-us\": \"Tracking Speed Multiplier Bonus\", \n    \"displayName_es\": \"Bonificación de multiplicador de velocidad de rastreo\", \n    \"displayName_fr\": \"Bonus de multiplicateur de vitesse de poursuite\", \n    \"displayName_it\": \"Tracking Speed Multiplier Bonus\", \n    \"displayName_ja\": \"追跡速度乗数ボーナス\", \n    \"displayName_ko\": \"트래킹 속도 배수 보너스\", \n    \"displayName_ru\": \"Влияние на множитель скорости наводки\", \n    \"displayName_zh\": \"跟踪速度倍增系数加成\", \n    \"displayNameID\": 233162, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"trackingSpeedMultiplierBonusAdditive\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1308\": {\n    \"attributeID\": 1308, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Additive bonus to maxTargetRangeMultiplier\", \n    \"displayName_de\": \"Maximaler Zielerfassungsreichweite-Bonus\", \n    \"displayName_en-us\": \"Maximum Targeting Range Bonus\", \n    \"displayName_es\": \"Bonificación de distancia-objetivo máx.\", \n    \"displayName_fr\": \"Bonus de portée maximale du système de ciblage\", \n    \"displayName_it\": \"Maximum Targeting Range Bonus\", \n    \"displayName_ja\": \"最大ターゲット範囲ボーナス\", \n    \"displayName_ko\": \"최대 타겟팅 거리 보너스\", \n    \"displayName_ru\": \"Влияние на максимальную дальность обнаружения целей\", \n    \"displayName_zh\": \"最大锁定范围加成\", \n    \"displayNameID\": 233334, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxTargetRangeMultiplierBonusAdditive\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1309\": {\n    \"attributeID\": 1309, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Additive bonus to scanResolutionMultiplier\", \n    \"displayName_de\": \"Scanauflösungsbonus\", \n    \"displayName_en-us\": \"Scan Resolution Bonus\", \n    \"displayName_es\": \"Bonificación de resolución de escaneo\", \n    \"displayName_fr\": \"Bonus de résolution du balayage\", \n    \"displayName_it\": \"Scan Resolution Bonus\", \n    \"displayName_ja\": \"スキャン分解能ボーナス\", \n    \"displayName_ko\": \"스캔 정밀도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость захвата целей\", \n    \"displayName_zh\": \"扫描分辨率加成\", \n    \"displayNameID\": 233244, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"scanResolutionMultiplierBonusAdditive\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1310\": {\n    \"attributeID\": 1310, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"commandBonusHidden\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"commandBonusHidden\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1311\": {\n    \"attributeID\": 1311, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusJumpFreighter1\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusJumpFreighter1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1312\": {\n    \"attributeID\": 1312, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusJumpFreighter2\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusJumpFreighter2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1313\": {\n    \"attributeID\": 1313, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to maxTargetRangeBonus\", \n    \"displayName_de\": \"Modifikation des max. Zielerfassungsreichweite-Bonus\", \n    \"displayName_en-us\": \"Modification of Maximum Targeting Range Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de distancia-objetivo máxima\", \n    \"displayName_fr\": \"Modification du bonus de portée maximale du système de ciblage\", \n    \"displayName_it\": \"Modification of Maximum Targeting Range Bonus\", \n    \"displayName_ja\": \"最大ターゲット範囲ボーナス乗数\", \n    \"displayName_ko\": \"최대 타겟팅 거리 보너스 조정\", \n    \"displayName_ru\": \"Изменение влияния на максимальную дальность захвата целей\", \n    \"displayName_zh\": \"最大锁定范围加成修正\", \n    \"displayNameID\": 233331, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"maxTargetRangeBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1314\": {\n    \"attributeID\": 1314, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to scanResolutionBonus\", \n    \"displayName_de\": \"Modifikation des Bonus auf die Scanauflösung\", \n    \"displayName_en-us\": \"Modification of Scan Resolution Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de resolución de escaneo\", \n    \"displayName_fr\": \"Bonus de modification de résolution de scan\", \n    \"displayName_it\": \"Modification of Scan Resolution Bonus\", \n    \"displayName_ja\": \"スキャン分解能ボーナス修正値\", \n    \"displayName_ko\": \"스캔 정밀도 보너스 조정\", \n    \"displayName_ru\": \"Модификатор влияния на скорость захвата целей\", \n    \"displayName_zh\": \"扫描分辨率加成修正\", \n    \"displayNameID\": 233246, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 74, \n    \"name\": \"scanResolutionBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1315\": {\n    \"attributeID\": 1315, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to maxRangeBonus\", \n    \"displayName_de\": \"Modifikation des Bonus auf die optimale Reichweite\", \n    \"displayName_en-us\": \"Modification of Optimal Range Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de alcance óptimo\", \n    \"displayName_fr\": \"Bonus de modification de portée optimale\", \n    \"displayName_it\": \"Modification of Optimal Range Bonus\", \n    \"displayName_ja\": \"最適射程距離ボーナス修正値\", \n    \"displayName_ko\": \"최적사거리 보너스 조정\", \n    \"displayName_ru\": \"Модификатор влияния на оптимальную дальность\", \n    \"displayName_zh\": \"最佳射程加成修正\", \n    \"displayNameID\": 233319, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"maxRangeBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1316\": {\n    \"attributeID\": 1316, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to trackingSpeedBonus\", \n    \"displayName_de\": \"Modifikation des Bonus auf die Nachführgeschwindigkeit\", \n    \"displayName_en-us\": \"Modification of Tracking Speed Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de velocidad de rastreo\", \n    \"displayName_fr\": \"Bonus de modification de vitesse de poursuite\", \n    \"displayName_it\": \"Modification of Tracking Speed Bonus\", \n    \"displayName_ja\": \"追跡速度ボーナス修正値\", \n    \"displayName_ko\": \"트래킹 속도 보너스 조정\", \n    \"displayName_ru\": \"Модификатор влияния на скорость наводки\", \n    \"displayName_zh\": \"跟踪速度加成修正\", \n    \"displayNameID\": 233165, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1398, \n    \"name\": \"trackingSpeedBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1317\": {\n    \"attributeID\": 1317, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"maxRangeHidden\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxRangeHidden\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"1318\": {\n    \"attributeID\": 1318, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"warpScrambleStrengthHidden\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"warpScrambleStrengthHidden\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1319\": {\n    \"attributeID\": 1319, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"capacitorNeedHidden\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"capacitorNeedHidden\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1320\": {\n    \"attributeID\": 1320, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"ECM Command-Bonus\", \n    \"displayName_en-us\": \"ECM Command Bonus\", \n    \"displayName_es\": \"Bonificación de mando de ECM\", \n    \"displayName_fr\": \"Bonus de commandement CME\", \n    \"displayName_it\": \"ECM Command Bonus\", \n    \"displayName_ja\": \"ECM コマンドボーナス\", \n    \"displayName_ko\": \"ECM 지휘 보너스\", \n    \"displayName_ru\": \"Эффект координации: влияние на эффективность глушения захвата целей\", \n    \"displayName_zh\": \"ECM指挥加成\", \n    \"displayNameID\": 233028, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"commandBonusECM\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1321\": {\n    \"attributeID\": 1321, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Remote Sensor Dampening Command Bonus\", \n    \"displayName_de\": \"Remote Sensor Dampening Command-Bonus\", \n    \"displayName_en-us\": \"Remote Sensor Dampening Command Bonus\", \n    \"displayName_es\": \"Bonificación de mando de atenuación de sensores remotos\", \n    \"displayName_fr\": \"Bonus de commandement d'atténuation de détection à distance\", \n    \"displayName_it\": \"Remote Sensor Dampening Command Bonus\", \n    \"displayName_ja\": \"リモートセンサーダンパー向けコマンドボーナス\", \n    \"displayName_ko\": \"원격 센서 댐프너 지휘 보너스\", \n    \"displayName_ru\": \"Эффект координации: влияние на эффективность подавления захвата целей\", \n    \"displayName_zh\": \"远距感应抑阻指挥加成\", \n    \"displayNameID\": 233029, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"commandBonusRSD\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1322\": {\n    \"attributeID\": 1322, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Tracking Disruption Command Bonus\", \n    \"displayName_de\": \"Tracking Disruption Command-Bonus\", \n    \"displayName_en-us\": \"Tracking Disruption Command Bonus\", \n    \"displayName_es\": \"Bonificación de mando de disrupción de rastreo\", \n    \"displayName_fr\": \"Bonus de commandement de perturbation de poursuite\", \n    \"displayName_it\": \"Tracking Disruption Command Bonus\", \n    \"displayName_ja\": \"追跡妨害器用コマンドボーナス\", \n    \"displayName_ko\": \"트래킹 디스럽션 지휘 보너스\", \n    \"displayName_ru\": \"Эффект координации: влияние на эффективность помех системам наводки\", \n    \"displayName_zh\": \"索敌扰断指挥加成\", \n    \"displayNameID\": 233030, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"commandBonusTD\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1323\": {\n    \"attributeID\": 1323, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Target Painting Command Bonus\", \n    \"displayName_de\": \"Target Painting Command-Bonus\", \n    \"displayName_en-us\": \"Target Painting Command Bonus\", \n    \"displayName_es\": \"Bonificación de mando de revelación de objetivos\", \n    \"displayName_fr\": \"Bonus de commandement de marquage de cible\", \n    \"displayName_it\": \"Target Painting Command Bonus\", \n    \"displayName_ja\": \"ターゲットペインティング用コマンドボーナス\", \n    \"displayName_ko\": \"타겟 페인터 지휘 보너스\", \n    \"displayName_ru\": \"Эффект координации: влияние на эффективность подсветки целей\", \n    \"displayName_zh\": \"目标标记指挥加成\", \n    \"displayNameID\": 233031, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"commandBonusTP\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1324\": {\n    \"attributeID\": 1324, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to massBonusPercentage\", \n    \"displayName_de\": \"Modifikation der Verringerung der Masse\", \n    \"displayName_en-us\": \"Modification of Mass Reduction\", \n    \"displayName_es\": \"Modificación de reducción de masa\", \n    \"displayName_fr\": \"Modification de réduction de masse\", \n    \"displayName_it\": \"Modification of Mass Reduction\", \n    \"displayName_ja\": \"質量低下修正値\", \n    \"displayName_ko\": \"질량 감소 조정\", \n    \"displayName_ru\": \"Модификатор уменьшения массы\", \n    \"displayName_zh\": \"质量减少量修正\", \n    \"displayNameID\": 233292, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 76, \n    \"name\": \"massBonusPercentageBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1325\": {\n    \"attributeID\": 1325, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Modification of Afterburner and Microwarpdrive Thrust Bonus\", \n    \"displayName_de\": \"Modifikation des Schub-Bonus für MIcrowarpdrive- und Afterburner-Module.\", \n    \"displayName_en-us\": \"Modification of Afterburner and Microwarpdrive Thrust Bonus\", \n    \"displayName_es\": \"Mod. de bonificación del impulso de posquemador y motor de microwarp\", \n    \"displayName_fr\": \"Bonus de modification de poussée de post-combustion et de propulseur de microwarp\", \n    \"displayName_it\": \"Modification of Afterburner and Microwarpdrive Thrust Bonus\", \n    \"displayName_ja\": \"アフターバーナー/マイクロワープドライブ推進力ボーナス修正値\", \n    \"displayName_ko\": \"애프터버너 및 마이크로 워프 드라이브 출력 보너스 조정\", \n    \"displayName_ru\": \"Изменение влияния на тягу форсажных ускорителей и микроварп-ускорителей\", \n    \"displayName_zh\": \"加力燃烧器和微型跃迁推进器推力加成修正\", \n    \"displayNameID\": 233196, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 96, \n    \"name\": \"speedBoostFactorBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1326\": {\n    \"attributeID\": 1326, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Modification of Afterburner and Microwarpdrive Max Velocity Bonus\", \n    \"displayName_de\": \"Modifikation des Höchstgeschwindigkeitsbonus für Nachbrenner und Mikrowarpantriebe\", \n    \"displayName_en-us\": \"Modification of Afterburner and Microwarpdrive Maximum Velocity Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de velocidad máxima del posquemador y el motor de microwarp\", \n    \"displayName_fr\": \"Modification du bonus de vitesse maximale du propulseur de microwarp et du système de post-combustion\", \n    \"displayName_it\": \"Modification of Afterburner and Microwarpdrive Maximum Velocity Bonus\", \n    \"displayName_ja\": \"アフターバーナー/マイクロワープドライブ最高速度ボーナスの修正値\", \n    \"displayName_ko\": \"애프터버너 및 마이크로 워프 드라이브 최대 속도 보너스 조정\", \n    \"displayName_ru\": \"Изменение влияния на скорость форсажных ускорителей и микроварп-ускорителей\", \n    \"displayName_zh\": \"加力燃烧器和微型跃迁推进器最大速度加成修正\", \n    \"displayNameID\": 233193, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"speedFactorBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1327\": {\n    \"attributeID\": 1327, \n    \"categoryID\": 27, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Warp Scramble Range Bonus\", \n    \"displayName_de\": \"Bonus auf die Reichweite von Warpunterbrechern\", \n    \"displayName_en-us\": \"Warp Scrambler Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance de distorsionador de warp\", \n    \"displayName_fr\": \"Bonus de portée de l'inhibiteur de warp\", \n    \"displayName_it\": \"Warp Scrambler Range Bonus\", \n    \"displayName_ja\": \"ワープスクランブル範囲ボーナス\", \n    \"displayName_ko\": \"워프 스크램블 사거리 보너스\", \n    \"displayName_ru\": \"Влияние на дальность действия варп-глушителя\", \n    \"displayName_zh\": \"跃迁扰频器范围加成\", \n    \"displayNameID\": 233135, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"warpScrambleRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"1328\": {\n    \"attributeID\": 1328, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplier on droneBandwidth. The default value should be 0 to ensure that CONCORD NPCs can set the bandwidth of a target ship to 0.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2987, \n    \"name\": \"droneBandwidthMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1329\": {\n    \"attributeID\": 1329, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Drone Bandwidth Bonus (additive)\", \n    \"displayName_de\": \"Drohnen-Bandbreitenbonus\", \n    \"displayName_en-us\": \"Drone Bandwidth Bonus\", \n    \"displayName_es\": \"Bonificación de ancho de banda de drones\", \n    \"displayName_fr\": \"Bonus de bande passante de drone\", \n    \"displayName_it\": \"Drone Bandwidth Bonus\", \n    \"displayName_ja\": \"ドローン帯域幅ボーナス\", \n    \"displayName_ko\": \"드론 대역폭 보너스\", \n    \"displayName_ru\": \"Влияние на пропускную способность канала телеуправления\", \n    \"displayName_zh\": \"无人机带宽加成\", \n    \"displayNameID\": 233099, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"droneBandwidthBonusAdd\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 128\n  }, \n  \"1330\": {\n    \"attributeID\": 1330, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"isHacking\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1331\": {\n    \"attributeID\": 1331, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"isArcheology\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1332\": {\n    \"attributeID\": 1332, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1399.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Modifikation des Präzisionsabfall-Bonus\", \n    \"displayName_en-us\": \"Modification of Falloff Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de alcance efectivo\", \n    \"displayName_fr\": \"Modification de bonus de distance de perte\", \n    \"displayName_it\": \"Modification of Falloff Bonus\", \n    \"displayName_ja\": \"精度低下ボーナス修正値\", \n    \"displayName_ko\": \"유효사거리 보너스 조정\", \n    \"displayName_ru\": \"Модификатор влияния на добавочную дальность\", \n    \"displayName_zh\": \"失准范围加成修正\", \n    \"displayNameID\": 233182, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"falloffBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1333\": {\n    \"attributeID\": 1333, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxVelocityLimited\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1334\": {\n    \"attributeID\": 1334, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximale Geschwindigkeitsbegrenzung\", \n    \"displayName_en-us\": \"Maximum Velocity Limitation\", \n    \"displayName_es\": \"Limitación de velocidad máxima\", \n    \"displayName_fr\": \"Limitation de vitesse maximale\", \n    \"displayName_it\": \"Maximum Velocity Limitation\", \n    \"displayName_ja\": \"最高速度リミット\", \n    \"displayName_ko\": \"최대 속도 제한\", \n    \"displayName_ru\": \"Ограничение скорости полного хода / скорости полёта\", \n    \"displayName_zh\": \"最大速度限制\", \n    \"displayNameID\": 233339, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxVelocityActivationLimit\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 10\n  }, \n  \"1335\": {\n    \"attributeID\": 1335, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"defenderRaceID\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1336\": {\n    \"attributeID\": 1336, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The remaining number of unused clone vats on the ship that are available for installation of jump clones.\", \n    \"displayName_de\": \"Unbenutzte Klonbehälter\", \n    \"displayName_en-us\": \"Unused Clone Vats\", \n    \"displayName_es\": \"Contenedores de clonación sin usar\", \n    \"displayName_fr\": \"Cuves de clone non utilisées\", \n    \"displayName_it\": \"Unused Clone Vats\", \n    \"displayName_ja\": \"未使用のクローンバット\", \n    \"displayName_ko\": \"미사용 점프 클론 격납고\", \n    \"displayName_ru\": \"Свободные баки с клонами\", \n    \"displayName_zh\": \"未使用克隆舱\", \n    \"displayNameID\": 233264, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 34, \n    \"name\": \"jumpClonesLeft\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1337\": {\n    \"attributeID\": 1337, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"captureProximityRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1339\": {\n    \"attributeID\": 1339, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"factionDefenderID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1340\": {\n    \"attributeID\": 1340, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"factionOffenderID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1341\": {\n    \"attributeID\": 1341, \n    \"categoryID\": 33, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"factionID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1349\": {\n    \"attributeID\": 1349, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used for blocking activation of modules\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"activationBlocked\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1350\": {\n    \"attributeID\": 1350, \n    \"categoryID\": 27, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"activationBlockedStrenght\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1351\": {\n    \"attributeID\": 1351, \n    \"categoryID\": 4, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"cargo typeID allowed in structures\", \n    \"displayName_de\": \"Erlaubter Frachttyp\", \n    \"displayName_en-us\": \"Allowed Cargo Type\", \n    \"displayName_es\": \"Tipo de carga permitido\", \n    \"displayName_fr\": \"Type de marchandise autorisé\", \n    \"displayName_it\": \"Allowed Cargo Type\", \n    \"displayName_ja\": \"使用できるカーゴタイプ\", \n    \"displayName_ko\": \"허가된 화물 유형\", \n    \"displayName_ru\": \"Допустимый тип грузов\", \n    \"displayName_zh\": \"允许物品类型\", \n    \"displayNameID\": 233436, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"posCargobayAcceptType\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1352\": {\n    \"attributeID\": 1352, \n    \"categoryID\": 4, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"cargo bay container group ID\", \n    \"displayName_de\": \"Erlaubte Frachtgruppe\", \n    \"displayName_en-us\": \"Allowed Cargo Group\", \n    \"displayName_es\": \"Grupo de carga permitido\", \n    \"displayName_fr\": \"Groupe de marchandises autorisé\", \n    \"displayName_it\": \"Allowed Cargo Group\", \n    \"displayName_ja\": \"使用できるカーゴグループ\", \n    \"displayName_ko\": \"허가된 화물 그룹\", \n    \"displayName_ru\": \"Допустимая группа грузов\", \n    \"displayName_zh\": \"允许物品组\", \n    \"displayNameID\": 233437, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"posCargobayAcceptGroup\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"1353\": {\n    \"attributeID\": 1353, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Missile Damage Modifier. Smaller is better (Don't use less than 0.5)\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"aoeDamageReductionFactor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1354\": {\n    \"attributeID\": 1354, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"aoeDamageReductionSensitivity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1355\": {\n    \"attributeID\": 1355, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"bonus to range of tractor beams\", \n    \"displayName_de\": \"Reichweitenbonus für Traktorstrahl\", \n    \"displayName_en-us\": \"Tractor Beam Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance del rayo tractor\", \n    \"displayName_fr\": \"Bonus de portée du rayon de tractage\", \n    \"displayName_it\": \"Tractor Beam Range Bonus\", \n    \"displayName_ja\": \"トラクタービーム範囲ボーナス\", \n    \"displayName_ko\": \"트랙터 빔 사거리 보너스\", \n    \"displayName_ru\": \"Влияние на дальность действия гравизахвата\", \n    \"displayName_zh\": \"牵引光束范围加成\", \n    \"displayNameID\": 233438, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusTractorBeamRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1356\": {\n    \"attributeID\": 1356, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusICS1\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1357\": {\n    \"attributeID\": 1357, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusTractorBeamVelocity\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1358\": {\n    \"attributeID\": 1358, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusICS2\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1359\": {\n    \"attributeID\": 1359, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusSurveyScannerRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1360\": {\n    \"attributeID\": 1360, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusHPExtender1\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1361\": {\n    \"attributeID\": 1361, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteIndustrialCovertCloakBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1366\": {\n    \"attributeID\": 1366, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3756, \n    \"name\": \"subSystemSlot\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1367\": {\n    \"attributeID\": 1367, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Subsystem-Slots\", \n    \"displayName_en-us\": \"Subsystem Slots\", \n    \"displayName_es\": \"Ranuras de subsistema\", \n    \"displayName_fr\": \"Emplacements sous-système\", \n    \"displayName_it\": \"Subsystem Slots\", \n    \"displayName_ja\": \"サブシステムスロット\", \n    \"displayName_ko\": \"서브시스템 슬롯\", \n    \"displayName_ru\": \"Разъёмы подсистем\", \n    \"displayName_zh\": \"子系统槽位\", \n    \"displayNameID\": 233509, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3756, \n    \"name\": \"maxSubSystems\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1368\": {\n    \"attributeID\": 1368, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Geschützturm-Montageplatz-Modifikator\", \n    \"displayName_en-us\": \"Turret Hardpoint Modifier\", \n    \"displayName_es\": \"Modificador de punto de montaje de torreta\", \n    \"displayName_fr\": \"Modificateur de point de fixation de tourelle\", \n    \"displayName_it\": \"Turret Hardpoint Modifier\", \n    \"displayName_ja\": \"タレットハードポイントモディファイヤー\", \n    \"displayName_ko\": \"터렛 하드포인트 보정치\", \n    \"displayName_ru\": \"Влияние на количество точек монтажа орудийных установок\", \n    \"displayName_zh\": \"炮塔安装数调整\", \n    \"displayNameID\": 233637, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 361, \n    \"name\": \"turretHardPointModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"1369\": {\n    \"attributeID\": 1369, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Werfer-Montageplatz-Modifikator\", \n    \"displayName_en-us\": \"Launcher Hardpoint Modifier\", \n    \"displayName_es\": \"Modificador de punto de montaje de lanzador\", \n    \"displayName_fr\": \"Modificateur de point de fixation pour lanceur\", \n    \"displayName_it\": \"Launcher Hardpoint Modifier\", \n    \"displayName_ja\": \"ランチャーハードポイントモディファイヤー\", \n    \"displayName_ko\": \"런처 하드포인트 보정치\", \n    \"displayName_ru\": \"Влияние на количество точек монтажа пусковых установок\", \n    \"displayName_zh\": \"发射器安装数调整\", \n    \"displayNameID\": 233625, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 169, \n    \"name\": \"launcherHardPointModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"1370\": {\n    \"attributeID\": 1370, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is the lowest scan range value in AUs for probes under the revised probing system\", \n    \"displayName_de\": \"Basis-Scanreichweite\", \n    \"displayName_en-us\": \"Base Scan Range\", \n    \"displayName_es\": \"Alcance de escaneo base\", \n    \"displayName_fr\": \"Portée de base du balayage\", \n    \"displayName_it\": \"Base Scan Range\", \n    \"displayName_ja\": \"基本スキャン範囲\", \n    \"displayName_ko\": \"기본 스캔 사거리\", \n    \"displayName_ru\": \"Базовая дальность поиска\", \n    \"displayName_zh\": \"扫描范围基数\", \n    \"displayNameID\": 233597, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"baseScanRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 135\n  }, \n  \"1371\": {\n    \"attributeID\": 1371, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is the highest sensor strength in points for probes under the revised probing system\", \n    \"displayName_de\": \"Basis-Sensorstärke\", \n    \"displayName_en-us\": \"Base Sensor Strength\", \n    \"displayName_es\": \"Intensidad del sensor base\", \n    \"displayName_fr\": \"Puissance de détection de base\", \n    \"displayName_it\": \"Base Sensor Strength\", \n    \"displayName_ja\": \"基本センサー強度\", \n    \"displayName_ko\": \"센서 강도\", \n    \"displayName_ru\": \"Базовая эффективность сенсорных систем\", \n    \"displayName_zh\": \"扫描强度基数\", \n    \"displayNameID\": 233442, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"baseSensorStrength\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 120\n  }, \n  \"1372\": {\n    \"attributeID\": 1372, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is the lowest maximum scan deviation in AU for probes under the revised probing system\", \n    \"displayName_de\": \"Maximale Basis-Abweichung\", \n    \"displayName_en-us\": \"Base Maximum Deviation\", \n    \"displayName_es\": \"Desviación máx. base\", \n    \"displayName_fr\": \"Déviation de base maximum\", \n    \"displayName_it\": \"Base Maximum Deviation\", \n    \"displayName_ja\": \"基本最大誤差\", \n    \"displayName_ko\": \"기본 최대 오차\", \n    \"displayName_ru\": \"Базовый предел отклонения\", \n    \"displayName_zh\": \"最大偏离基数\", \n    \"displayNameID\": 233598, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"baseMaxScanDeviation\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 135\n  }, \n  \"1373\": {\n    \"attributeID\": 1373, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is the multiplier/divisor for probe range increases and associated values under the revised probing system\", \n    \"displayName_de\": \"Vergrößerungsfaktor Scanreichweite\", \n    \"displayName_en-us\": \"Scan Range Increment Factor\", \n    \"displayName_es\": \"Factor de incremento del alcance de escaneo\", \n    \"displayName_fr\": \"Facteur d'augmentation de portée du balayage\", \n    \"displayName_it\": \"Scan Range Increment Factor\", \n    \"displayName_ja\": \"スキャン範囲増加乗数\", \n    \"displayName_ko\": \"스캔 사거리 영향 요인\", \n    \"displayName_ru\": \"Шаг дальности поиска разведзондами\", \n    \"displayName_zh\": \"扫描范围增加比例\", \n    \"displayNameID\": 233441, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rangeFactor\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1374\": {\n    \"attributeID\": 1374, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"High Slot-Modifikator\", \n    \"displayName_en-us\": \"High Slot Modifier\", \n    \"displayName_es\": \"Modificador de ranura superior\", \n    \"displayName_fr\": \"Modificateur d'emplacement supérieur\", \n    \"displayName_it\": \"High Slot Modifier\", \n    \"displayName_ja\": \"ハイスロット乗数\", \n    \"displayName_ko\": \"하이 슬롯 보정치\", \n    \"displayName_ru\": \"Влияние на количество разъёмов большой мощности\", \n    \"displayName_zh\": \"高槽数调整\", \n    \"displayNameID\": 233619, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 293, \n    \"name\": \"hiSlotModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"1375\": {\n    \"attributeID\": 1375, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Medium Slot-Modifikator\", \n    \"displayName_en-us\": \"Medium Slot Modifier\", \n    \"displayName_es\": \"Modificador de ranura media\", \n    \"displayName_fr\": \"Modificateur d'emplacement intermédiaire\", \n    \"displayName_it\": \"Medium Slot Modifier\", \n    \"displayName_ja\": \"ミディアムスロット乗数\", \n    \"displayName_ko\": \"미드 슬롯 보정치\", \n    \"displayName_ru\": \"Влияние на количество разъёмов средней мощности\", \n    \"displayName_zh\": \"中槽数调整\", \n    \"displayNameID\": 233621, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 294, \n    \"name\": \"medSlotModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"1376\": {\n    \"attributeID\": 1376, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Low-Slot-Modifikator\", \n    \"displayName_en-us\": \"Low Slot Modifier\", \n    \"displayName_es\": \"Modificador de ranura inferior\", \n    \"displayName_fr\": \"Modificateur d'emplacement inférieur\", \n    \"displayName_it\": \"Low Slot Modifier\", \n    \"displayName_ja\": \"ロースロットモディファイヤー\", \n    \"displayName_ko\": \"로우 슬롯 보정치\", \n    \"displayName_ru\": \"Влияние на количество разъёмов малой мощности\", \n    \"displayName_zh\": \"低槽数调整\", \n    \"displayNameID\": 233620, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 295, \n    \"name\": \"lowSlotModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"1377\": {\n    \"attributeID\": 1377, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"CPU output of ship\", \n    \"displayName_de\": \"CPU-Leistung\", \n    \"displayName_en-us\": \"CPU Output\", \n    \"displayName_es\": \"Rendimiento de la CPU\", \n    \"displayName_fr\": \"Puissance CPU\", \n    \"displayName_it\": \"CPU Output\", \n    \"displayName_ja\": \"CPU 出力\", \n    \"displayName_ko\": \"CPU 출력\", \n    \"displayName_ru\": \"Мощность ЦПУ\", \n    \"displayName_zh\": \"CPU输出\", \n    \"displayNameID\": 233443, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1405, \n    \"name\": \"cpuOutputAdd\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 106\n  }, \n  \"1378\": {\n    \"attributeID\": 1378, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"power output of power core\", \n    \"displayName_de\": \"Stromnetzleistung\", \n    \"displayName_en-us\": \"powergrid Output\", \n    \"displayName_es\": \"Rendimiento del sistema de potencia\", \n    \"displayName_fr\": \"Puissance réseau d'alimentation\", \n    \"displayName_it\": \"powergrid Output\", \n    \"displayName_ja\": \"パワーグリッド出力\", \n    \"displayName_ko\": \"파워그리드 출력\", \n    \"displayName_ru\": \"Мощность реактора\", \n    \"displayName_zh\": \"能量栅格输出量\", \n    \"displayNameID\": 233444, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"powerOutputAdd\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 107\n  }, \n  \"1379\": {\n    \"attributeID\": 1379, \n    \"categoryID\": 4, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum velocity of ship\", \n    \"displayName_de\": \"Maximalgeschwindigkeit\", \n    \"displayName_en-us\": \"Maximum Velocity\", \n    \"displayName_es\": \"Velocidad máxima\", \n    \"displayName_fr\": \"Vitesse maximale\", \n    \"displayName_it\": \"Maximum Velocity\", \n    \"displayName_ja\": \"最高速度\", \n    \"displayName_ko\": \"최대 속도\", \n    \"displayName_ru\": \"Максимальная скорость\", \n    \"displayName_zh\": \"最大速度\", \n    \"displayNameID\": 233445, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"maxVelocityAdd\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 11\n  }, \n  \"1380\": {\n    \"attributeID\": 1380, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Auf Schiffstyp festgelegt\", \n    \"displayName_en-us\": \"Restricted to Ship Type\", \n    \"displayName_es\": \"Restringido al tipo de nave\", \n    \"displayName_fr\": \"Limité au type de vaisseau\", \n    \"displayName_it\": \"Restricted to Ship Type\", \n    \"displayName_ja\": \"船の制限\", \n    \"displayName_ko\": \"함선 유형으로 제한\", \n    \"displayName_ru\": \"Ограничено типом корабля\", \n    \"displayName_zh\": \"受限于船型\", \n    \"displayNameID\": 233496, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"fitsToShipType\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1381\": {\n    \"attributeID\": 1381, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Target System Class for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetSystemClass\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1382\": {\n    \"attributeID\": 1382, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum amount of time a wormhole will stay open\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeMaxStableTime\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"1383\": {\n    \"attributeID\": 1383, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum amount of mass a wormhole can transit before collapsing\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeMaxStableMass\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 2\n  }, \n  \"1384\": {\n    \"attributeID\": 1384, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of mass a wormhole regenerates per cycle\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeMassRegeneration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 2\n  }, \n  \"1385\": {\n    \"attributeID\": 1385, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum amount of mass that can transit a wormhole in one go\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeMaxJumpMass\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 2\n  }, \n  \"1386\": {\n    \"attributeID\": 1386, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target region 1 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetRegion1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1387\": {\n    \"attributeID\": 1387, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target region 2 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetRegion2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1388\": {\n    \"attributeID\": 1388, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target region 3 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetRegion3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1389\": {\n    \"attributeID\": 1389, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target region 4 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetRegion4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1390\": {\n    \"attributeID\": 1390, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target region 5 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetRegion5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1391\": {\n    \"attributeID\": 1391, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target region 6 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetRegion6\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1392\": {\n    \"attributeID\": 1392, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target region 7 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetRegion7\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1393\": {\n    \"attributeID\": 1393, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target region 8 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetRegion8\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1394\": {\n    \"attributeID\": 1394, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target region 9 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetRegion9\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1395\": {\n    \"attributeID\": 1395, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target constellation 1 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetConstellation1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1396\": {\n    \"attributeID\": 1396, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target constellation 2 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetConstellation2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1397\": {\n    \"attributeID\": 1397, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target constellation 3 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetConstellation3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1398\": {\n    \"attributeID\": 1398, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target constellation 4 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetConstellation4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1399\": {\n    \"attributeID\": 1399, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target constellation 5 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetConstellation5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1400\": {\n    \"attributeID\": 1400, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target constellation 6 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetConstellation6\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1401\": {\n    \"attributeID\": 1401, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target constellation 7 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetConstellation7\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1402\": {\n    \"attributeID\": 1402, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target constellation 8 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetConstellation8\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1403\": {\n    \"attributeID\": 1403, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target constellation 9 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetConstellation9\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1404\": {\n    \"attributeID\": 1404, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target system 1 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetSystem1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1405\": {\n    \"attributeID\": 1405, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target system 2 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetSystem2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1406\": {\n    \"attributeID\": 1406, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target system 3 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetSystem3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1407\": {\n    \"attributeID\": 1407, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target system 4 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetSystem4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1408\": {\n    \"attributeID\": 1408, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target system 5 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetSystem5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1409\": {\n    \"attributeID\": 1409, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target system 6 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetSystem6\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1410\": {\n    \"attributeID\": 1410, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target system 7 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetSystem7\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1411\": {\n    \"attributeID\": 1411, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target system 8 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetSystem8\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1412\": {\n    \"attributeID\": 1412, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Specific target system 9 for wormholes\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetSystem9\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1413\": {\n    \"attributeID\": 1413, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If this is 1 then the probe can scan for ships, otherwise it can't.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"probeCanScanShips\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1414\": {\n    \"attributeID\": 1414, \n    \"categoryID\": 12, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The evasive maneuver level of the type. this will control what types of evasive maneuvers a NPC ship will use.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_ShouldUseEvasiveManeuver\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1416\": {\n    \"attributeID\": 1416, \n    \"categoryID\": 12, \n    \"dataType\": 5, \n    \"defaultValue\": 60000.0, \n    \"description\": \"This controls the time that must pass between one target switch and another!\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_TargetSwitchTimer\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"1417\": {\n    \"attributeID\": 1417, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"color\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1418\": {\n    \"attributeID\": 1418, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Panzerung-EM-Schadensresistenz\", \n    \"displayName_en-us\": \"Armor Em Damage Resistance\", \n    \"displayName_es\": \"Resistencia del blindaje a daños electromagnéticos\", \n    \"displayName_fr\": \"Résistance du blindage aux dégâts EM\", \n    \"displayName_it\": \"Armor Em Damage Resistance\", \n    \"displayName_ja\": \"アーマー EM ダメージレジスタンス\", \n    \"displayName_ko\": \"장갑 EM 저항력\", \n    \"displayName_ru\": \"Сопротивляемость брони ЭМ-урону\", \n    \"displayName_zh\": \"装甲电磁伤害抗性\", \n    \"displayNameID\": 233488, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1396, \n    \"name\": \"passiveArmorEmDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"1419\": {\n    \"attributeID\": 1419, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Panzerung gegen Thermalschaden\", \n    \"displayName_en-us\": \"Armor Thermal Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño térmico del blindaje\", \n    \"displayName_fr\": \"Résistance thermique du blindage\", \n    \"displayName_it\": \"Armor Thermal Damage Resistance\", \n    \"displayName_ja\": \"アーマーサーマルダメージレジスタンス\", \n    \"displayName_ko\": \"장갑 열 저항력\", \n    \"displayName_ru\": \"Сопротивляемость брони термическому урону\", \n    \"displayName_zh\": \"装甲热能伤害抗性\", \n    \"displayNameID\": 233491, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1394, \n    \"name\": \"passiveArmorThermalDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"1420\": {\n    \"attributeID\": 1420, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kinetikschadensresistenz der Panzerung\", \n    \"displayName_en-us\": \"Armor Kinetic Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño cinético del blindaje\", \n    \"displayName_fr\": \"Résistance du blindage aux dégâts cinétiques\", \n    \"displayName_it\": \"Armor Kinetic Damage Resistance\", \n    \"displayName_ja\": \"アーマーキネティックダメージレジスタンス\", \n    \"displayName_ko\": \"장갑 키네틱 저항력\", \n    \"displayName_ru\": \"Сопротивляемость брони кинетическому урону\", \n    \"displayName_zh\": \"装甲动能伤害抗性\", \n    \"displayNameID\": 233490, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1393, \n    \"name\": \"passiveArmorKineticDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"1421\": {\n    \"attributeID\": 1421, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Panzerung-Explosivschadensresistenz\", \n    \"displayName_en-us\": \"Armor Explosive Damage Resistance\", \n    \"displayName_es\": \"Resistencia del blindaje a daños explosivos\", \n    \"displayName_fr\": \"Résistance du blindage aux dégâts explosifs\", \n    \"displayName_it\": \"Armor Explosive Damage Resistance\", \n    \"displayName_ja\": \"アーマーエクスプローシブダメージレジスタンス\", \n    \"displayName_ko\": \"장갑 폭발 저항력\", \n    \"displayName_ru\": \"Сопротивляемость брони фугасному урону\", \n    \"displayName_zh\": \"装甲爆炸伤害抗性\", \n    \"displayNameID\": 233489, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1395, \n    \"name\": \"passiveArmorExplosiveDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"1422\": {\n    \"attributeID\": 1422, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Explosivschadensresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Explosive Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño explosivo del escudo\", \n    \"displayName_fr\": \"Résistance du bouclier aux dégâts explosifs\", \n    \"displayName_it\": \"Shield Explosive Damage Resistance\", \n    \"displayName_ja\": \"シールドエクスプローシブダメージレジスタンス\", \n    \"displayName_ko\": \"실드 폭발 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов фугасному урону\", \n    \"displayName_zh\": \"护盾爆炸伤害抗性\", \n    \"displayNameID\": 233493, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1395, \n    \"name\": \"passiveShieldExplosiveDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"1423\": {\n    \"attributeID\": 1423, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"EM-Schadensresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Em Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño electromagnético del escudo\", \n    \"displayName_fr\": \"Résistance du bouclier aux dégâts EM\", \n    \"displayName_it\": \"Shield Em Damage Resistance\", \n    \"displayName_ja\": \"シールド EM ダメージレジスタンス\", \n    \"displayName_ko\": \"실드 EM 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов ЭМ-урону\", \n    \"displayName_zh\": \"护盾电磁伤害抗性\", \n    \"displayNameID\": 233492, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1396, \n    \"name\": \"passiveShieldEmDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"1424\": {\n    \"attributeID\": 1424, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kinetikschadensresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Kinetic Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño cinético del escudo\", \n    \"displayName_fr\": \"Résistance du bouclier aux dégâts cinétiques\", \n    \"displayName_it\": \"Shield Kinetic Damage Resistance\", \n    \"displayName_ja\": \"シールドキネティックダメージレジスタンス\", \n    \"displayName_ko\": \"실드 키네틱 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов кинетическому урону\", \n    \"displayName_zh\": \"护盾动能伤害抗性\", \n    \"displayNameID\": 233494, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1393, \n    \"name\": \"passiveShieldKineticDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"1425\": {\n    \"attributeID\": 1425, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Thermalschadensresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Thermal Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño térmico del escudo\", \n    \"displayName_fr\": \"Résistance du bouclier aux dégâts thermiques\", \n    \"displayName_it\": \"Shield Thermal Damage Resistance\", \n    \"displayName_ja\": \"シールドサーマルダメージレジスタンス\", \n    \"displayName_ko\": \"실드 열 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов термическому урону\", \n    \"displayName_zh\": \"护盾热能伤害抗性\", \n    \"displayNameID\": 233495, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1394, \n    \"name\": \"passiveShieldThermalDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"1426\": {\n    \"attributeID\": 1426, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Struktur gegen EM-Schaden\", \n    \"displayName_en-us\": \"Structure EM Damage Resistance\", \n    \"displayName_es\": \"Resistencia de estructuras a daños electromagnéticos\", \n    \"displayName_fr\": \"Résistance de la structure aux dégâts électromagnétiques\", \n    \"displayName_it\": \"Structure EM Damage Resistance\", \n    \"displayName_ja\": \"ストラクチャEMダメージレジスタンス\", \n    \"displayName_ko\": \"선체 EM 저항력\", \n    \"displayName_ru\": \"Сопротивляемость корпуса ЭМ-урону\", \n    \"displayName_zh\": \"结构电磁伤害抗性\", \n    \"displayNameID\": 233446, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"passiveHullEmDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1427\": {\n    \"attributeID\": 1427, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Struktur gegen Explosionsschaden\", \n    \"displayName_en-us\": \"Structure Explosive Damage Resistance\", \n    \"displayName_es\": \"Resistencia de estructuras a daños explosivos\", \n    \"displayName_fr\": \"Résistance de la structure aux dégâts explosifs\", \n    \"displayName_it\": \"Structure Explosive Damage Resistance\", \n    \"displayName_ja\": \"ストラクチャエクスプローシブダメージレジスタンス\", \n    \"displayName_ko\": \"선체 폭발 저항력\", \n    \"displayName_ru\": \"Сопротивляемость корпуса фугасному урону\", \n    \"displayName_zh\": \"结构爆炸伤害抗性\", \n    \"displayNameID\": 233447, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"passiveHullExplosiveDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1428\": {\n    \"attributeID\": 1428, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Struktur gegen Kinetikschaden\", \n    \"displayName_en-us\": \"Structure Kinetic Damage Resistance\", \n    \"displayName_es\": \"Resistencia de estructuras a daños cinéticos\", \n    \"displayName_fr\": \"Résistance de la structure aux dégâts cinétiques\", \n    \"displayName_it\": \"Structure Kinetic Damage Resistance\", \n    \"displayName_ja\": \"ストラクチャキネティックダメージレジスタンス\", \n    \"displayName_ko\": \"선체 키네틱 저항력\", \n    \"displayName_ru\": \"Сопротивляемость корпуса кинетическому урону\", \n    \"displayName_zh\": \"结构动能伤害抗性\", \n    \"displayNameID\": 233448, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"passiveHullKineticDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1429\": {\n    \"attributeID\": 1429, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Struktur gegen Thermalschaden\", \n    \"displayName_en-us\": \"Structure Thermal Damage Resistance\", \n    \"displayName_es\": \"Resistencia de estructuras a daños térmicos\", \n    \"displayName_fr\": \"Résistance de la structure aux dégâts thermiques\", \n    \"displayName_it\": \"Structure Thermal Damage Resistance\", \n    \"displayName_ja\": \"ストラクチャサーマルダメージレジスタンス\", \n    \"displayName_ko\": \"선체 열 저항력\", \n    \"displayName_ru\": \"Сопротивляемость корпуса термическому урону\", \n    \"displayName_zh\": \"结构热能伤害抗性\", \n    \"displayNameID\": 233449, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"passiveHullThermalDamageResonance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1430\": {\n    \"attributeID\": 1430, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"lightColor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1431\": {\n    \"attributeID\": 1431, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrCore\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1432\": {\n    \"attributeID\": 1432, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrElectronic\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1433\": {\n    \"attributeID\": 1433, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrDefensive\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1434\": {\n    \"attributeID\": 1434, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrOffensive\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1435\": {\n    \"attributeID\": 1435, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrPropulsion\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1436\": {\n    \"attributeID\": 1436, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallenteCore\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1437\": {\n    \"attributeID\": 1437, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallenteElectronic\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1438\": {\n    \"attributeID\": 1438, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallenteDefensive\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1439\": {\n    \"attributeID\": 1439, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallenteOffensive\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1440\": {\n    \"attributeID\": 1440, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallentePropulsion\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1441\": {\n    \"attributeID\": 1441, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariCore\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1442\": {\n    \"attributeID\": 1442, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariElectronic\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1443\": {\n    \"attributeID\": 1443, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariDefensive\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1444\": {\n    \"attributeID\": 1444, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariOffensive\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1445\": {\n    \"attributeID\": 1445, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariPropulsion\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1446\": {\n    \"attributeID\": 1446, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarCore\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1447\": {\n    \"attributeID\": 1447, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarElectronic\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1448\": {\n    \"attributeID\": 1448, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarDefensive\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1449\": {\n    \"attributeID\": 1449, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarOffensive\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1450\": {\n    \"attributeID\": 1450, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarPropulsion\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1451\": {\n    \"attributeID\": 1451, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"This sets the priority for assisting this npc with remote-reps. NPCs with a higher value will be assisted before NPCs with a lower priority.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcAssistancePriority\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1453\": {\n    \"attributeID\": 1453, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"the chance of the NPC remote reapiring it's comrads.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcRemoteArmorRepairChance\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1454\": {\n    \"attributeID\": 1454, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 10000.0, \n    \"description\": \"How long NPC take to remote repair ther comerad in MS.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcRemoteArmorRepairDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"1455\": {\n    \"attributeID\": 1455, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"the amount of armor that is repaired per cycle to each target\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcRemoteArmorRepairAmount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1456\": {\n    \"attributeID\": 1456, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 0.25, \n    \"description\": \"How damaged does a teammate's armor need to be before it will be repaired.\\r\\n0.1 means: Must be below 90% armor to get repairs\\r\\n0.9 means: Must be below 10% armor to get repairs\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcRemoteArmorRepairThreshold\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1457\": {\n    \"attributeID\": 1457, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is the distribution ID of the target wormhole distribution\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"wormholeTargetDistribution\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1458\": {\n    \"attributeID\": 1458, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 20000.0, \n    \"description\": \"Duration of shield boost effect\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcRemoteShieldBoostDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"1459\": {\n    \"attributeID\": 1459, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Chance of the remote shield boosting effect being used\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcRemoteShieldBoostChance\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"1460\": {\n    \"attributeID\": 1460, \n    \"categoryID\": 20, \n    \"dataType\": 4, \n    \"defaultValue\": 50.0, \n    \"description\": \"How many shields points does the activation of the effect bestow upon the target\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcRemoteShieldBoostAmount\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 120\n  }, \n  \"1462\": {\n    \"attributeID\": 1462, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 0.75, \n    \"description\": \"How damaged does a teammates shield need to be before it'll be repaired.\\r\\n0.1 means: Must be below 90% shields to get repairs\\r\\n0.9 means: Must be below 10% shields to get repairs\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcRemoteShieldBoostThreshold\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"1464\": {\n    \"attributeID\": 1464, \n    \"categoryID\": 20, \n    \"dataType\": 4, \n    \"defaultValue\": 5000.0, \n    \"description\": \"Maximum distance to a friendly NPC so that remote repairs may be performed on it.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcAssistanceRange\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"1465\": {\n    \"attributeID\": 1465, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"EM damage resistance bonus for armor\", \n    \"displayName_de\": \"Panzerung-EM-Resistenzbonus\", \n    \"displayName_en-us\": \"Armor EM resistance bonus\", \n    \"displayName_es\": \"Bonificación de resistencia electromagnética del blindaje\", \n    \"displayName_fr\": \"Bonus de résistance EM du blindage\", \n    \"displayName_it\": \"Armor EM resistance bonus\", \n    \"displayName_ja\": \"アーマー EM レジスタンスボーナス\", \n    \"displayName_ko\": \"장갑 EM 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость брони ЭМ-урону\", \n    \"displayName_zh\": \"装甲电磁抗性加成\", \n    \"displayNameID\": 233450, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"armorEmDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"1466\": {\n    \"attributeID\": 1466, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Kinetic damage resistance bonus for armor\", \n    \"displayName_de\": \"Panzerung-Kinetikresistenz-Bonus\", \n    \"displayName_en-us\": \"Armor kinetic resistance bonus\", \n    \"displayName_es\": \"Bonificación de resistencia cinética del blindaje\", \n    \"displayName_fr\": \"Bonus de résistance cinétique du blindage\", \n    \"displayName_it\": \"Armor kinetic resistance bonus\", \n    \"displayName_ja\": \"アーマーキネティックレジスタンスボーナス\", \n    \"displayName_ko\": \"장갑 키네틱 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость брони кинетическому урону\", \n    \"displayName_zh\": \"装甲动能抗性加成\", \n    \"displayNameID\": 233451, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"armorKineticDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"1467\": {\n    \"attributeID\": 1467, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Thermal damage resistance bonus for armor\", \n    \"displayName_de\": \"Panzerung-Thermalresistenz-Bonus\", \n    \"displayName_en-us\": \"Armor thermal resistance bonus\", \n    \"displayName_es\": \"Bonificación de resistencia térmica del blindaje\", \n    \"displayName_fr\": \"Bonus de résistance thermique du blindage\", \n    \"displayName_it\": \"Armor thermal resistance bonus\", \n    \"displayName_ja\": \"アーマーサーマルレジスタンスボーナス\", \n    \"displayName_ko\": \"장갑 열 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость брони термическому урону\", \n    \"displayName_zh\": \"装甲热能抗性加成\", \n    \"displayNameID\": 233452, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"armorThermalDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"1468\": {\n    \"attributeID\": 1468, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Explosive damage resistance bonus for armor\", \n    \"displayName_de\": \"Panzerung-Explosivresistenz-Bonus\", \n    \"displayName_en-us\": \"Armor explosive resistance bonus\", \n    \"displayName_es\": \"Bonificación de resistencia explosiva del blindaje\", \n    \"displayName_fr\": \"Bonus de résistance explosive du blindage\", \n    \"displayName_it\": \"Armor explosive resistance bonus\", \n    \"displayName_ja\": \"アーマーエクスプローシブレジスタンスボーナス\", \n    \"displayName_ko\": \"장갑 폭발 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость брони фугасному урону\", \n    \"displayName_zh\": \"装甲爆炸抗性加成\", \n    \"displayNameID\": 233453, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"armorExplosiveDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"1469\": {\n    \"attributeID\": 1469, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Velocity multiplier for missiles\", \n    \"displayName_de\": \"Raketengeschwindigkeits-Multiplikator\", \n    \"displayName_en-us\": \"Missile velocity multiplier\", \n    \"displayName_es\": \"Multiplicador de velocidad de misiles\", \n    \"displayName_fr\": \"Multiplicateur de vitesse des missiles\", \n    \"displayName_it\": \"Missile velocity multiplier\", \n    \"displayName_ja\": \"ミサイル速度乗数\", \n    \"displayName_ko\": \"미사일 속도 배수\", \n    \"displayName_ru\": \"Множитель скорости ракет\", \n    \"displayName_zh\": \"导弹速度倍增系数\", \n    \"displayNameID\": 233454, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"missileVelocityMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1470\": {\n    \"attributeID\": 1470, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum velocity multiplier\", \n    \"displayName_de\": \"Max. Geschwindigkeits-Multiplikator\", \n    \"displayName_en-us\": \"Maximum velocity multiplier\", \n    \"displayName_es\": \"Multiplicador de velocidad máxima\", \n    \"displayName_fr\": \"Multiplicateur de vitesse maximale\", \n    \"displayName_it\": \"Maximum velocity multiplier\", \n    \"displayName_ja\": \"最高速度乗数\", \n    \"displayName_ko\": \"최대 속도 배수\", \n    \"displayName_ru\": \"Множитель максимальной скорости\", \n    \"displayName_zh\": \"最大速率倍增系数\", \n    \"displayNameID\": 233455, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxVelocityMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1471\": {\n    \"attributeID\": 1471, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Mass multiplier\", \n    \"displayName_de\": \"Masse-Multiplikator\", \n    \"displayName_en-us\": \"Mass multiplier\", \n    \"displayName_es\": \"Multiplicador de masa\", \n    \"displayName_fr\": \"Multiplicateur de masse\", \n    \"displayName_it\": \"Mass multiplier\", \n    \"displayName_ja\": \"質量乗数\", \n    \"displayName_ko\": \"질량 배수\", \n    \"displayName_ru\": \"Множитель массы\", \n    \"displayName_zh\": \"质量倍增系数\", \n    \"displayNameID\": 233456, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"siegeMassMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1472\": {\n    \"attributeID\": 1472, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Drone control range multiplier\", \n    \"displayName_de\": \"Kontrollreichweite-Multiplikator\", \n    \"displayName_en-us\": \"Control range multiplier\", \n    \"displayName_es\": \"Multiplicador de alcance de control\", \n    \"displayName_fr\": \"Multiplicateur de portée de contrôle\", \n    \"displayName_it\": \"Control range multiplier\", \n    \"displayName_ja\": \"制御範囲乗数\", \n    \"displayName_ko\": \"통제 거리 배수\", \n    \"displayName_ru\": \"Множитель дальности управления\", \n    \"displayName_zh\": \"控制距离倍增系数\", \n    \"displayNameID\": 233457, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"droneRangeMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1473\": {\n    \"attributeID\": 1473, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Grav ECM strength multiplier\", \n    \"displayName_de\": \"Gravimetrische-Stärke-Multiplikator\", \n    \"displayName_en-us\": \"Gravimetric strength multiplier\", \n    \"displayName_es\": \"Multiplicador de fuerza gravimétrica\", \n    \"displayName_fr\": \"Multiplicateur de puissance gravimétrique\", \n    \"displayName_it\": \"Gravimetric strength multiplier\", \n    \"displayName_ja\": \"重力強度乗数\", \n    \"displayName_ko\": \"중력장 강도 배수\", \n    \"displayName_ru\": \"Множитель мощности гравиметрического сигнала\", \n    \"displayName_zh\": \"引力强度倍增系数\", \n    \"displayNameID\": 233458, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanGravimetricStrengthMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1474\": {\n    \"attributeID\": 1474, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Ladar ECM strength multiplier\", \n    \"displayName_de\": \"LADAR-Stärke-Multiplikator\", \n    \"displayName_en-us\": \"Ladar strength multiplier\", \n    \"displayName_es\": \"Multiplicador de potencia lidar\", \n    \"displayName_fr\": \"Multiplicateur de puissance ladar\", \n    \"displayName_it\": \"Ladar strength multiplier\", \n    \"displayName_ja\": \"光学強度乗数\", \n    \"displayName_ko\": \"라이다 강도 배수\", \n    \"displayName_ru\": \"Множитель мощности ладарного сигнала\", \n    \"displayName_zh\": \"光雷达强度倍增系数\", \n    \"displayNameID\": 233459, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanLadarStrengthMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1475\": {\n    \"attributeID\": 1475, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Magnetometric ECM strength multiplier\", \n    \"displayName_de\": \"Magnetometrische-Stärke-Multiplikator\", \n    \"displayName_en-us\": \"Magnetometric strength multiplier\", \n    \"displayName_es\": \"Multiplicador de fuerza magnetométrica\", \n    \"displayName_fr\": \"Multiplicateur de puissance magnométrique\", \n    \"displayName_it\": \"Magnetometric strength multiplier\", \n    \"displayName_ja\": \"磁力測定強度乗数\", \n    \"displayName_ko\": \"자기 강도 배수\", \n    \"displayName_ru\": \"Множитель мощности магнитометрического сигнала\", \n    \"displayName_zh\": \"磁力强度倍增系数\", \n    \"displayNameID\": 233460, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanMagnetometricStrengthMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1476\": {\n    \"attributeID\": 1476, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Radar ECM strength multiplier\", \n    \"displayName_de\": \"Radarstärke-Multiplikator\", \n    \"displayName_en-us\": \"Radar strength multiplier\", \n    \"displayName_es\": \"Multiplicador de potencia del radar\", \n    \"displayName_fr\": \"Multiplicateur de puissance radar\", \n    \"displayName_it\": \"Radar strength multiplier\", \n    \"displayName_ja\": \"電波強度乗数\", \n    \"displayName_ko\": \"레이더 강도 배수\", \n    \"displayName_ru\": \"Множитель мощности радарного сигнала\", \n    \"displayName_zh\": \"雷达强度倍增系数\", \n    \"displayNameID\": 233461, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanRadarStrengthMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1477\": {\n    \"attributeID\": 1477, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Target painter effectiveness multiplier\", \n    \"displayName_de\": \"Target-Painter-Multiplikator\", \n    \"displayName_en-us\": \"Target painter multiplier\", \n    \"displayName_es\": \"Multiplicador de revelador de objetivo\", \n    \"displayName_fr\": \"Multiplicateur de marqueur de cible\", \n    \"displayName_it\": \"Target painter multiplier\", \n    \"displayName_ja\": \"ターゲットペインター乗数\", \n    \"displayName_ko\": \"타겟 페인터 배수\", \n    \"displayName_ru\": \"Множитель подсветки цели\", \n    \"displayName_zh\": \"目标标记装置倍增系数\", \n    \"displayNameID\": 233462, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"signatureRadiusBonusMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1478\": {\n    \"attributeID\": 1478, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Sensor dampener range reduction multiplier\", \n    \"displayName_de\": \"Dämpfer-Reichweiteverringerungs-Multiplikator\", \n    \"displayName_en-us\": \"Dampening range reduction multiplier\", \n    \"displayName_es\": \"Multiplicador de reducción del alcance de atenuación\", \n    \"displayName_fr\": \"Multiplicateur de réduction de portée d'atténuation\", \n    \"displayName_it\": \"Dampening range reduction multiplier\", \n    \"displayName_ja\": \"ダンプナー範囲縮小乗数\", \n    \"displayName_ko\": \"감쇠 시거리 감소 배수\", \n    \"displayName_ru\": \"Множитель уменьшения дальности захвата целей\", \n    \"displayName_zh\": \"弱化范围缩减系数\", \n    \"displayNameID\": 233463, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxTargetRangeBonusMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1479\": {\n    \"attributeID\": 1479, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Sensor dampener scan resolution amount multiplier\", \n    \"displayName_de\": \"Multiplikator für Scanauflösung-Abzug\", \n    \"displayName_en-us\": \"Scan resolution reduction multiplier\", \n    \"displayName_es\": \"Multiplicador de reducción de resolución de escaneo\", \n    \"displayName_fr\": \"Multiplicateur de réduction de résolution de balayage\", \n    \"displayName_it\": \"Scan resolution reduction multiplier\", \n    \"displayName_ja\": \"スキャン分解能低減乗数\", \n    \"displayName_ko\": \"스캔 정밀도 감소 배수\", \n    \"displayName_ru\": \"Множитель уменьшения скорости захвата целей\", \n    \"displayName_zh\": \"扫描分辨率衰减系数\", \n    \"displayNameID\": 233464, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanResolutionBonusMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1480\": {\n    \"attributeID\": 1480, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Tracking disruptor tracking amount multiplier\", \n    \"displayName_de\": \"Multiplikator des Abzugs bei Nachführung\", \n    \"displayName_en-us\": \"Tracking penalty multiplier\", \n    \"displayName_es\": \"Multiplicador de penalización de rastreo\", \n    \"displayName_fr\": \"Multiplicateur de pénalité de poursuite\", \n    \"displayName_it\": \"Tracking penalty multiplier\", \n    \"displayName_ja\": \"追跡ペナルティ乗数\", \n    \"displayName_ko\": \"트래킹 페널티 배수\", \n    \"displayName_ru\": \"Множитель уменьшения скорости наводки\", \n    \"displayName_zh\": \"跟踪惩罚倍增系数\", \n    \"displayNameID\": 233465, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"trackingSpeedBonusMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1481\": {\n    \"attributeID\": 1481, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Tracking disruptor optimal range penalty multiplier\", \n    \"displayName_de\": \"Multiplikator für Optimale-Reichweite-Abzug\", \n    \"displayName_en-us\": \"Optimal range penalty multiplier\", \n    \"displayName_es\": \"Multiplicador de penalización del alcance óptimo\", \n    \"displayName_fr\": \"Multiplicateur de pénalité de portée optimale\", \n    \"displayName_it\": \"Optimal range penalty multiplier\", \n    \"displayName_ja\": \"最適射程距離ペナルティ乗数\", \n    \"displayName_ko\": \"최적사거리 페널티 배수\", \n    \"displayName_ru\": \"Множитель уменьшения оптимальной дальности\", \n    \"displayName_zh\": \"最佳射距惩罚倍增系数\", \n    \"displayNameID\": 233466, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxRangeBonusMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1482\": {\n    \"attributeID\": 1482, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplys the damage multiplier\", \n    \"displayName_de\": \"Schadensmultiplikator\", \n    \"displayName_en-us\": \"Damage multiplier multiplier\", \n    \"displayName_es\": \"Multiplicador de daño\", \n    \"displayName_fr\": \"Multiplicateur de multiplicateur de dégâts\", \n    \"displayName_it\": \"Damage multiplier multiplier\", \n    \"displayName_ja\": \"ダメージ乗数\", \n    \"displayName_ko\": \"데미지 배수\", \n    \"displayName_ru\": \"Влияние на множитель урона\", \n    \"displayName_zh\": \"伤害倍增系数增量\", \n    \"displayNameID\": 233467, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"damageMultiplierMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1483\": {\n    \"attributeID\": 1483, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplier to missiles ability to hit fast targets\", \n    \"displayName_de\": \"Explosionsgeschwindigkeit-Multiplikator\", \n    \"displayName_en-us\": \"Explosion Velocity Multiplier\", \n    \"displayName_es\": \"Multiplicador de velocidad de explosión\", \n    \"displayName_fr\": \"Multiplicateur de vitesse d'explosion\", \n    \"displayName_it\": \"Explosion Velocity Multiplier\", \n    \"displayName_ja\": \"爆発速度乗数\", \n    \"displayName_ko\": \"폭발 속도 배수\", \n    \"displayName_ru\": \"Влияние на скорость взрыва\", \n    \"displayName_zh\": \"爆炸速度倍增系数\", \n    \"displayNameID\": 233468, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"aoeVelocityMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1484\": {\n    \"attributeID\": 1484, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum drone velocity multiplier\", \n    \"displayName_de\": \"Drohnengeschwindigkeits-Multiplikator\", \n    \"displayName_en-us\": \"Drone velocity multiplier\", \n    \"displayName_es\": \"Multiplicador de velocidad de drones\", \n    \"displayName_fr\": \"Multiplicateur de vitesse de drone\", \n    \"displayName_it\": \"Drone velocity multiplier\", \n    \"displayName_ja\": \"ドローン速度乗数\", \n    \"displayName_ko\": \"드론 속도 배수\", \n    \"displayName_ru\": \"Множитель скорости дронов\", \n    \"displayName_zh\": \"无人机速率倍增系数\", \n    \"displayNameID\": 233469, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxDroneVelocityMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1485\": {\n    \"attributeID\": 1485, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Damage multiplier for heat\", \n    \"displayName_de\": \"Hitzeschaden-Multiplikator\", \n    \"displayName_en-us\": \"Heat damage multiplier\", \n    \"displayName_es\": \"Multiplicador de daño por calor\", \n    \"displayName_fr\": \"Multiplicateur de dégâts thermiques\", \n    \"displayName_it\": \"Heat damage multiplier\", \n    \"displayName_ja\": \"ヒートダメージ乗数\", \n    \"displayName_ko\": \"열 피해 배수\", \n    \"displayName_ru\": \"Множитель повреждений от перегрузки\", \n    \"displayName_zh\": \"超载伤害倍增系数\", \n    \"displayNameID\": 233470, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"heatDamageMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1486\": {\n    \"attributeID\": 1486, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplier to all overload bonuses\", \n    \"displayName_de\": \"Überladungsbonus-Multiplikator\", \n    \"displayName_en-us\": \"Overload bonus multiplier\", \n    \"displayName_es\": \"Multiplicador de bonificación de sobrecarga\", \n    \"displayName_fr\": \"Multiplicateur de bonus de surcharge\", \n    \"displayName_it\": \"Overload bonus multiplier\", \n    \"displayName_ja\": \"オーバーロードボーナス乗数\", \n    \"displayName_ko\": \"과부하 보너스 배수\", \n    \"displayName_ru\": \"Множитель усиления при перегрузке\", \n    \"displayName_zh\": \"超载加成倍增系数\", \n    \"displayNameID\": 233471, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"overloadBonusMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1487\": {\n    \"attributeID\": 1487, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Smart bomb range multiplier\", \n    \"displayName_de\": \"Reichweite-Multiplikator für Smart Bombs\", \n    \"displayName_en-us\": \"Smart bomb range multiplier\", \n    \"displayName_es\": \"Multiplicador de alcance de bomba inteligente\", \n    \"displayName_fr\": \"Multiplicateur de portée de bombe intelligente\", \n    \"displayName_it\": \"Smart bomb range multiplier\", \n    \"displayName_ja\": \"スマートボム範囲乗数\", \n    \"displayName_ko\": \"스마트폭탄 사거리 배수\", \n    \"displayName_ru\": \"Множитель дальности действия импульсных излучателей\", \n    \"displayName_zh\": \"立体炸弹范围倍增系数\", \n    \"displayNameID\": 233472, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"empFieldRangeMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1488\": {\n    \"attributeID\": 1488, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Damage multiplier for smart bombs\", \n    \"displayName_de\": \"Schadens-Multiplikator für Smart Bombs\", \n    \"displayName_en-us\": \"Smart bomb damage multiplier\", \n    \"displayName_es\": \"Multiplicador de daño de la bomba inteligente\", \n    \"displayName_fr\": \"Multiplicateur de dégâts de bombe intelligente\", \n    \"displayName_it\": \"Smart bomb damage multiplier\", \n    \"displayName_ja\": \"スマートボムダメージ乗数\", \n    \"displayName_ko\": \"스마트폭탄 피해량 배수\", \n    \"displayName_ru\": \"Множитель урона импульсными излучателями\", \n    \"displayName_zh\": \"立体炸弹伤害倍增系数\", \n    \"displayNameID\": 233473, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"smartbombDamageMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1489\": {\n    \"attributeID\": 1489, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"EM resistance bonus for shields\", \n    \"displayName_de\": \"EM-Resistenz der Schilde\", \n    \"displayName_en-us\": \"Shield EM Resistance\", \n    \"displayName_es\": \"Resistencia electromagnética del escudo\", \n    \"displayName_fr\": \"Résistance EM du bouclier\", \n    \"displayName_it\": \"Shield EM Resistance\", \n    \"displayName_ja\": \"シールド EM レジスタンス\", \n    \"displayName_ko\": \"실드 EM 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов ЭМ-урону\", \n    \"displayName_zh\": \"护盾电磁抗性\", \n    \"displayNameID\": 233474, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shieldEmDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1490\": {\n    \"attributeID\": 1490, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Explosive resistance bonus for shields\", \n    \"displayName_de\": \"Explosivresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Explosive Resistance\", \n    \"displayName_es\": \"Resistencia explosiva del escudo\", \n    \"displayName_fr\": \"Résistance explosive du bouclier\", \n    \"displayName_it\": \"Shield Explosive Resistance\", \n    \"displayName_ja\": \"シールドエクスプローシブレジスタンス\", \n    \"displayName_ko\": \"실드 폭발 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов фугасному урону\", \n    \"displayName_zh\": \"护盾爆炸抗性\", \n    \"displayNameID\": 233475, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shieldExplosiveDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1491\": {\n    \"attributeID\": 1491, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Kinetic resistance bonus for shields\", \n    \"displayName_de\": \"Kinetkresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Kinetic Resistance\", \n    \"displayName_es\": \"Resistencia cinética del escudo\", \n    \"displayName_fr\": \"Résistance cinétique du bouclier\", \n    \"displayName_it\": \"Shield Kinetic Resistance\", \n    \"displayName_ja\": \"シールドキネティックレジスタンス\", \n    \"displayName_ko\": \"실드 키네틱 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов кинетическому урону\", \n    \"displayName_zh\": \"护盾动能抗性\", \n    \"displayNameID\": 233476, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shieldKineticDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1492\": {\n    \"attributeID\": 1492, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Thermal resistance bonus for shields\", \n    \"displayName_de\": \"Thermalresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Thermal Resistance\", \n    \"displayName_es\": \"Resistencia térmica del escudo\", \n    \"displayName_fr\": \"Résistance thermique du bouclier\", \n    \"displayName_it\": \"Shield Thermal Resistance\", \n    \"displayName_ja\": \"シールドサーマルレジスタンス\", \n    \"displayName_ko\": \"실드 열 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов термическому урону\", \n    \"displayName_zh\": \"护盾热能抗性\", \n    \"displayNameID\": 233477, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shieldThermalDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1493\": {\n    \"attributeID\": 1493, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Damage multiplier for small weapons\", \n    \"displayName_de\": \"Multiplikator für Schaden leichter Waffen (small weapon damage multiplier)\", \n    \"displayName_en-us\": \"Small weapon damage multiplier\", \n    \"displayName_es\": \"Multiplicador de daño de armas de pequeño calibre\", \n    \"displayName_fr\": \"Multiplicateur de dégâts de petite arme\", \n    \"displayName_it\": \"Small weapon damage multiplier\", \n    \"displayName_ja\": \"小型兵器ダメージ乗数\", \n    \"displayName_ko\": \"소형 무기 피해량 배수\", \n    \"displayName_ru\": \"Множитель урона малыми орудиями\", \n    \"displayName_zh\": \"小型武器伤害倍增系数\", \n    \"displayNameID\": 233478, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"smallWeaponDamageMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1494\": {\n    \"attributeID\": 1494, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Damage multiplier for medium weapons\", \n    \"displayName_de\": \"Medium-Waffenschaden-Multiplikator\", \n    \"displayName_en-us\": \"Medium weapon damage multiplier\", \n    \"displayName_es\": \"Multiplicador de daño de armas de calibre medio\", \n    \"displayName_fr\": \"Multiplicateur de dégâts d'arme intermédiaire\", \n    \"displayName_it\": \"Medium weapon damage multiplier\", \n    \"displayName_ja\": \"中型兵器ダメージ乗数\", \n    \"displayName_ko\": \"중형 무기 피해량 배수\", \n    \"displayName_ru\": \"Множитель урона средними орудиями\", \n    \"displayName_zh\": \"中型武器伤害倍增系数\", \n    \"displayNameID\": 233479, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"mediumWeaponDamageMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1495\": {\n    \"attributeID\": 1495, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Armor repair amount multiplier\", \n    \"displayName_de\": \"Reparaturmengen-Multiplikator\", \n    \"displayName_en-us\": \"Repair amount multiplier\", \n    \"displayName_es\": \"Multiplicador de cantidad de reparación\", \n    \"displayName_fr\": \"Multiplicateur de quantité réparée\", \n    \"displayName_it\": \"Repair amount multiplier\", \n    \"displayName_ja\": \"修復量乗数\", \n    \"displayName_ko\": \"수리량 배수\", \n    \"displayName_ru\": \"Множитель эффективности ремонта\", \n    \"displayName_zh\": \"修复量倍增系数\", \n    \"displayNameID\": 233480, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"armorDamageAmountMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1496\": {\n    \"attributeID\": 1496, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Shield transfer amount multiplier\", \n    \"displayName_de\": \"Schildreparatur-Multiplikator\", \n    \"displayName_en-us\": \"Shield repair multiplier\", \n    \"displayName_es\": \"Multiplicador de reparación del escudo\", \n    \"displayName_fr\": \"Multiplicateur de réparation de bouclier\", \n    \"displayName_it\": \"Shield repair multiplier\", \n    \"displayName_ja\": \"シールドリペア乗数\", \n    \"displayName_ko\": \"실드 수리 배수\", \n    \"displayName_ru\": \"Влияние на эффективность накачки щитов\", \n    \"displayName_zh\": \"护盾维修倍增系数\", \n    \"displayNameID\": 233481, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shieldBonusMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1497\": {\n    \"attributeID\": 1497, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Shield repair multiplier for remote repair\", \n    \"displayName_de\": \"Schild-Transfermengen-Multiplikator\", \n    \"displayName_en-us\": \"Shield transfer amount multiplier\", \n    \"displayName_es\": \"Multiplicador de cantidad de transferencia del escudo\", \n    \"displayName_fr\": \"Multiplicateur de volume de transfert de bouclier\", \n    \"displayName_it\": \"Shield transfer amount multiplier\", \n    \"displayName_ja\": \"シールド転送量乗数\", \n    \"displayName_ko\": \"실드 전송 총량 배수\", \n    \"displayName_ru\": \"Влияние на эффективность дистанционной накачки щитов\", \n    \"displayName_zh\": \"护盾传输量倍增系数\", \n    \"displayNameID\": 233482, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shieldBonusMultiplierRemote\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1498\": {\n    \"attributeID\": 1498, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Repair amount multiplier for remote repairers\", \n    \"displayName_de\": \"Fernreparaturmengen-Multiplikator\", \n    \"displayName_en-us\": \"Remote repair amount multiplier\", \n    \"displayName_es\": \"Multiplicador de cantidad de reparación remota\", \n    \"displayName_fr\": \"Multiplicateur de quantité réparée à distance\", \n    \"displayName_it\": \"Remote repair amount multiplier\", \n    \"displayName_ja\": \"リモートリペア量乗数\", \n    \"displayName_ko\": \"원격 수리 총량 배수\", \n    \"displayName_ru\": \"Множитель эффективности дистанционного ремонта\", \n    \"displayName_zh\": \"远距维修量倍增系数\", \n    \"displayNameID\": 233483, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"armorDamageAmountMultiplierRemote\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1499\": {\n    \"attributeID\": 1499, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacitor capacity multiplier\", \n    \"displayName_de\": \"Energiespeicher-Kapazitäts-Multiplikator\", \n    \"displayName_en-us\": \"Capacitor capacity multiplier\", \n    \"displayName_es\": \"Multiplicador de capacidad del condensador\", \n    \"displayName_fr\": \"Multiplicateur de charge de capaciteur\", \n    \"displayName_it\": \"Capacitor capacity multiplier\", \n    \"displayName_ja\": \"キャパシタ容量乗数\", \n    \"displayName_ko\": \"캐패시터 배수\", \n    \"displayName_ru\": \"Множитель ёмкости накопителя\", \n    \"displayName_zh\": \"电容量倍增系数\", \n    \"displayNameID\": 233484, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"capacitorCapacityMultiplierSystem\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1500\": {\n    \"attributeID\": 1500, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacitor recharge rate multiplier\", \n    \"displayName_de\": \"Energiespeicher-Auflade-Multiplikator\", \n    \"displayName_en-us\": \"Capacitor recharge multiplier\", \n    \"displayName_es\": \"Multiplicador de carga del condensador\", \n    \"displayName_fr\": \"Multiplicateur de recharge du capaciteur\", \n    \"displayName_it\": \"Capacitor recharge multiplier\", \n    \"displayName_ja\": \"キャパシタリチャージ乗数\", \n    \"displayName_ko\": \"캐패시터 충전 배수\", \n    \"displayName_ru\": \"Множитель скорости регенерации накопителя\", \n    \"displayName_zh\": \"电容回充倍增系数\", \n    \"displayNameID\": 233485, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rechargeRateMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1501\": {\n    \"attributeID\": 1501, \n    \"categoryID\": 20, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"The maximum number of targets that can be repaired at once.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcRemoteArmorRepairMaxTargets\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1502\": {\n    \"attributeID\": 1502, \n    \"categoryID\": 20, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"The maximum number of targets that can be shield boosted at once\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcRemoteShieldBoostMaxTargets\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1503\": {\n    \"attributeID\": 1503, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusStrategicCruiserAmarr1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1504\": {\n    \"attributeID\": 1504, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusStrategicCruiserCaldari1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1505\": {\n    \"attributeID\": 1505, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusStrategicCruiserGallente1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1506\": {\n    \"attributeID\": 1506, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusStrategicCruiserMinmatar1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1507\": {\n    \"attributeID\": 1507, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrDefensive2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1508\": {\n    \"attributeID\": 1508, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrElectronic2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1509\": {\n    \"attributeID\": 1509, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrCore2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1510\": {\n    \"attributeID\": 1510, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariOffensive2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1511\": {\n    \"attributeID\": 1511, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrOffensive2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1512\": {\n    \"attributeID\": 1512, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrPropulsion2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1513\": {\n    \"attributeID\": 1513, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariPropulsion2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1514\": {\n    \"attributeID\": 1514, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariElectronic2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1515\": {\n    \"attributeID\": 1515, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariCore2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1516\": {\n    \"attributeID\": 1516, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariDefensive2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1517\": {\n    \"attributeID\": 1517, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallenteDefensive2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1518\": {\n    \"attributeID\": 1518, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallenteElectronic2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1519\": {\n    \"attributeID\": 1519, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallenteCore2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1520\": {\n    \"attributeID\": 1520, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallentePropulsion2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1521\": {\n    \"attributeID\": 1521, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallenteOffensive2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1522\": {\n    \"attributeID\": 1522, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarOffensive2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1523\": {\n    \"attributeID\": 1523, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarPropulsion2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1524\": {\n    \"attributeID\": 1524, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarElectronic2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1525\": {\n    \"attributeID\": 1525, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarCore2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1526\": {\n    \"attributeID\": 1526, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarDefensive2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1527\": {\n    \"attributeID\": 1527, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Maximum value for armor resonances. Default = 1.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"armorMaxDamageResonance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1528\": {\n    \"attributeID\": 1528, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Maximum value for shield resonances. Default = 1.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shieldMaxDamageResonance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1529\": {\n    \"attributeID\": 1529, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Maximum value for hull resonances. Default = 1.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"hullMaxDamageResonance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1530\": {\n    \"attributeID\": 1530, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"This was created by accident and should be ignored\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"hullMaxDamageResonanceOld\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1531\": {\n    \"attributeID\": 1531, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrOffensive3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1532\": {\n    \"attributeID\": 1532, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallenteOffensive3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1533\": {\n    \"attributeID\": 1533, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariOffensive3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1534\": {\n    \"attributeID\": 1534, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarOffensive3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1535\": {\n    \"attributeID\": 1535, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1536\": {\n    \"attributeID\": 1536, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"ECM Range-Bonus\", \n    \"displayName_en-us\": \"ECM Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance de ECM\", \n    \"displayName_fr\": \"Bonus de portée CME\", \n    \"displayName_it\": \"ECM Range Bonus\", \n    \"displayName_ja\": \"ECM 範囲ボーナス\", \n    \"displayName_ko\": \"ECM 사거리 보너스\", \n    \"displayName_ru\": \"Бонус к дальности глушения захвата целей\", \n    \"displayName_zh\": \"ECM范围加成\", \n    \"displayNameID\": 233513, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ecmRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1537\": {\n    \"attributeID\": 1537, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusReconShip3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1538\": {\n    \"attributeID\": 1538, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warpBubbleImmune\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1539\": {\n    \"attributeID\": 1539, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warpBubbleImmuneModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1540\": {\n    \"attributeID\": 1540, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"stealthBomberLauncherPower2\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1541\": {\n    \"attributeID\": 1541, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"jumpHarmonicsModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1544\": {\n    \"attributeID\": 1544, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Max. erlaubte Modulzahl dieser Gruppe\", \n    \"displayName_en-us\": \"Max Modules Of This Group Allowed\", \n    \"displayName_es\": \"Módulos máx. permitidos de este grupo\", \n    \"displayName_fr\": \"Modules de ce groupe max. autorisés\", \n    \"displayName_it\": \"Max Modules Of This Group Allowed\", \n    \"displayName_ja\": \"このグループに含められるモジュール最大数\", \n    \"displayName_ko\": \"해당 모듈 유형 최대 장착 개수\", \n    \"displayName_ru\": \"Максимально допустимое количество модулей данной группы\", \n    \"displayName_zh\": \"该武器组所允许的最大装备数量\", \n    \"displayNameID\": 233629, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"maxGroupFitted\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1547\": {\n    \"attributeID\": 1547, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Rig-Größe\", \n    \"displayName_en-us\": \"Rig Size\", \n    \"displayName_es\": \"Tamaño de complemento\", \n    \"displayName_fr\": \"Taille d'amélioration\", \n    \"displayName_it\": \"Rig Size\", \n    \"displayName_ja\": \"リグサイズ\", \n    \"displayName_ko\": \"리그 크기\", \n    \"displayName_ru\": \"Размер модификатора\", \n    \"displayName_zh\": \"改装件尺寸\", \n    \"displayNameID\": 233520, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2887, \n    \"name\": \"rigSize\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 117\n  }, \n  \"1549\": {\n    \"attributeID\": 1549, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"special fuel bay capacity\", \n    \"displayName_de\": \"Fassungsvermögen des Hangars für Treibstoffe\", \n    \"displayName_en-us\": \"Fuel Bay Capacity\", \n    \"displayName_es\": \"Capacidad del almacén de combustible\", \n    \"displayName_fr\": \"Capacité de la cuve de carburant\", \n    \"displayName_it\": \"Fuel Bay Capacity\", \n    \"displayName_ja\": \"燃料ベイの容量\", \n    \"displayName_ko\": \"연료실 적재량\", \n    \"displayName_ru\": \"Вместимость топливного отсека\", \n    \"displayName_zh\": \"燃料舱容量\", \n    \"displayNameID\": 233533, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialFuelBayCapacity\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Das maximale Volumen, das vom Treibstoffhangar transportiert werden kann\", \n    \"tooltipDescription_en-us\": \"The maximum volume that can be carried in the fuel bay\", \n    \"tooltipDescription_es\": \"El volumen máximo que puede transportarse en almacén de combustible.\", \n    \"tooltipDescription_fr\": \"Volume maximum pouvant être transporté dans la cuve de carburant.\", \n    \"tooltipDescription_it\": \"The maximum volume that can be carried in the fuel bay\", \n    \"tooltipDescription_ja\": \"燃料ベイに格納できる最大量\", \n    \"tooltipDescription_ko\": \"연료실의 총 적재량입니다.\", \n    \"tooltipDescription_ru\": \"Максимальный объём топлива в бортовом топливном отсеке\", \n    \"tooltipDescription_zh\": \"燃料舱能装载的最大体积\", \n    \"tooltipDescriptionID\": 312095, \n    \"tooltipTitleID\": 312094, \n    \"unitID\": 9\n  }, \n  \"1550\": {\n    \"attributeID\": 1550, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"implantSetImperialNavy\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1551\": {\n    \"attributeID\": 1551, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of days that this PLEX adds to your account\", \n    \"displayName_de\": \"Tage zum Abonnement hinzugefügt\", \n    \"displayName_en-us\": \"Days added to subscription\", \n    \"displayName_es\": \"Días añadidos a la suscripción\", \n    \"displayName_fr\": \"Jours d'abonnement supplémentaires\", \n    \"displayName_it\": \"Days added to subscription\", \n    \"displayName_ja\": \"登録追加日数\", \n    \"displayName_ko\": \"계정기간에 추가일수\", \n    \"displayName_ru\": \"Срок в днях, на который продлена подписка\", \n    \"displayName_zh\": \"游戏时间增加天数\", \n    \"displayNameID\": 233605, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"numDays\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1552\": {\n    \"attributeID\": 1552, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"implantSetCaldariNavy\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1553\": {\n    \"attributeID\": 1553, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"implantSetFederationNavy\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1554\": {\n    \"attributeID\": 1554, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"implantSetRepublicFleet\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1555\": {\n    \"attributeID\": 1555, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fwLpKill\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1556\": {\n    \"attributeID\": 1556, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of general mining hold\", \n    \"displayName_de\": \"Bergbaufassungsvermögen\", \n    \"displayName_en-us\": \"Mining Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de minería\", \n    \"displayName_fr\": \"Capacité de la soute d'extraction\", \n    \"displayName_it\": \"Mining Hold Capacity\", \n    \"displayName_ja\": \"採掘ホールド容量\", \n    \"displayName_ko\": \"채굴 저장고 적재량\", \n    \"displayName_ru\": \"Объём отсека для руды\", \n    \"displayName_zh\": \"矿舱容量\", \n    \"displayNameID\": 233539, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"generalMiningHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Das maximale Volumen, das im Bergbaufrachtraum gelagert werden kann\", \n    \"tooltipDescription_en-us\": \"The total volume that can be stored in the mining hold\", \n    \"tooltipDescription_es\": \"El volumen total que puede almacenarse en la bodega de minería.\", \n    \"tooltipDescription_fr\": \"Volume total pouvant être stocké dans la soute d'extraction\", \n    \"tooltipDescription_it\": \"The total volume that can be stored in the mining hold\", \n    \"tooltipDescription_ja\": \"採掘ホールドに積載できる総量\", \n    \"tooltipDescription_ko\": \"채굴 저장고에 보관할 수 있는 최대 용량\", \n    \"tooltipDescription_ru\": \"Максимальный объём, допустимый к размещению в бортовом отсеке для руды\", \n    \"tooltipDescription_zh\": \"矿舱的容量\", \n    \"tooltipDescriptionID\": 295316, \n    \"tooltipTitleID\": 295315, \n    \"unitID\": 9\n  }, \n  \"1557\": {\n    \"attributeID\": 1557, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of gas-only hold\", \n    \"displayName_de\": \"Gasfassungsvermögen\", \n    \"displayName_en-us\": \"Gas Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de gas\", \n    \"displayName_fr\": \"Capacité de la soute à carburant\", \n    \"displayName_it\": \"Gas Hold Capacity\", \n    \"displayName_ja\": \"ガスの収容容量\", \n    \"displayName_ko\": \"가스 저장고 적재량\", \n    \"displayName_ru\": \"Вместимость газового отсека\", \n    \"displayName_zh\": \"气舱容量\", \n    \"displayNameID\": 233534, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialGasHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Das maximale Volumen, das im Gasfrachtraum gelagert werden kann\", \n    \"tooltipDescription_en-us\": \"The total volume that can be stored in the gas hold\", \n    \"tooltipDescription_es\": \"El volumen total que puede almacenarse en la bodega de gas.\", \n    \"tooltipDescription_fr\": \"Volume total pouvant être stocké dans la soute à gaz\", \n    \"tooltipDescription_it\": \"The total volume that can be stored in the gas hold\", \n    \"tooltipDescription_ja\": \"ガスホールドに積載できる総量\", \n    \"tooltipDescription_ko\": \"가스 저장고에 보관할 수 있는 최대 용량\", \n    \"tooltipDescription_ru\": \"Максимальный объём, допустимый к размещению в газовом отсеке\", \n    \"tooltipDescription_zh\": \"气云舱的容量\", \n    \"tooltipDescriptionID\": 592043, \n    \"tooltipTitleID\": 592042, \n    \"unitID\": 9\n  }, \n  \"1558\": {\n    \"attributeID\": 1558, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of mineral-only hold\", \n    \"displayName_de\": \"Mineralienfassungsvermögen\", \n    \"displayName_en-us\": \"Mineral Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de minerales\", \n    \"displayName_fr\": \"Capacité de la soute à minéraux\", \n    \"displayName_it\": \"Mineral Hold Capacity\", \n    \"displayName_ja\": \"無機物の収容容量\", \n    \"displayName_ko\": \"미네랄 저장고 적재량\", \n    \"displayName_ru\": \"Объём отсека для минералов\", \n    \"displayName_zh\": \"矿物舱容量\", \n    \"displayNameID\": 233538, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialMineralHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Das maximale Volumen, das im Mineralienfrachtraum gelagert werden kann\", \n    \"tooltipDescription_en-us\": \"The total volume that can be stored in the mineral hold\", \n    \"tooltipDescription_es\": \"El volumen total que puede almacenarse en la bodega de minerales.\", \n    \"tooltipDescription_fr\": \"Volume total pouvant être stocké dans la soute à minéraux.\", \n    \"tooltipDescription_it\": \"The total volume that can be stored in the mineral hold\", \n    \"tooltipDescription_ja\": \"無機物ホールドに積載できる総量です\", \n    \"tooltipDescription_ko\": \"미네랄 저장고에 보관할 수 있는 최대 용량입니다.\", \n    \"tooltipDescription_ru\": \"Максимальный объём, допустимый к размещению в бортовом отсеке для минералов\", \n    \"tooltipDescription_zh\": \"矿物舱能装载的总体积\", \n    \"tooltipDescriptionID\": 295318, \n    \"tooltipTitleID\": 295317, \n    \"unitID\": 9\n  }, \n  \"1559\": {\n    \"attributeID\": 1559, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of special salvage-only hold\", \n    \"displayName_de\": \"Altmaterial-Fassungsvermögen\", \n    \"displayName_en-us\": \"Salvage Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de restos\", \n    \"displayName_fr\": \"Capacité de la soute de récupération\", \n    \"displayName_it\": \"Salvage Hold Capacity\", \n    \"displayName_ja\": \"サルベージの収容容量\", \n    \"displayName_ko\": \"인양품 저장고 적재량\", \n    \"displayName_ru\": \"Объём отсека для демонтированных компонентов\", \n    \"displayName_zh\": \"打捞舱容量\", \n    \"displayNameID\": 233540, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialSalvageHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"1560\": {\n    \"attributeID\": 1560, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of ship-only hold\", \n    \"displayName_de\": \"Fassungsvermögen des Schiffsfrachtraums\", \n    \"displayName_en-us\": \"Ship Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de la nave\", \n    \"displayName_fr\": \"Capacité de la soute à vaisseaux\", \n    \"displayName_it\": \"Ship Hold Capacity\", \n    \"displayName_ja\": \"船の収容容量\", \n    \"displayName_ko\": \"함선 격납고 적재량\", \n    \"displayName_ru\": \"Объём отсека для кораблей\", \n    \"displayName_zh\": \"舰船舱容量\", \n    \"displayNameID\": 233541, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialShipHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"1561\": {\n    \"attributeID\": 1561, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of frigate/destroyer hold\", \n    \"displayName_de\": \"Fassungsvermögen eines kleinen Schiffes\", \n    \"displayName_en-us\": \"Small Ship Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de una nave pequeña\", \n    \"displayName_fr\": \"Capacité de soute petit vaisseau\", \n    \"displayName_it\": \"Small Ship Hold Capacity\", \n    \"displayName_ja\": \"小型艦の収容容量\", \n    \"displayName_ko\": \"소형 함선 격납고 적재량\", \n    \"displayName_ru\": \"Объём отсека для малых кораблей\", \n    \"displayName_zh\": \"小型舰船舱容量\", \n    \"displayNameID\": 233542, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialSmallShipHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"1562\": {\n    \"attributeID\": 1562, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of cruiser/battlecruiser ship hold\", \n    \"displayName_de\": \"Fassungsvermögen des mittleren Schiffsfrachtraums\", \n    \"displayName_en-us\": \"Medium Ship Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de una nave mediana\", \n    \"displayName_fr\": \"Capacité de soute vaisseau intermédiaire\", \n    \"displayName_it\": \"Medium Ship Hold Capacity\", \n    \"displayName_ja\": \"中型艦の収容容量\", \n    \"displayName_ko\": \"중형 함선 격납고 적재량\", \n    \"displayName_ru\": \"Объём отсека для средних кораблей\", \n    \"displayName_zh\": \"中型舰船舱容量\", \n    \"displayNameID\": 233537, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialMediumShipHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"1563\": {\n    \"attributeID\": 1563, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of battleship hold\", \n    \"displayName_de\": \"Fassungsvermögen des großen Schiffsfrachtraums\", \n    \"displayName_en-us\": \"Large Ship Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de una nave grande\", \n    \"displayName_fr\": \"Capacité de soute grand vaisseau\", \n    \"displayName_it\": \"Large Ship Hold Capacity\", \n    \"displayName_ja\": \"大型艦の収容容量\", \n    \"displayName_ko\": \"대형 함선 격납고 적재량\", \n    \"displayName_ru\": \"Объём отсека для больших кораблей\", \n    \"displayName_zh\": \"大型舰船舱容量\", \n    \"displayNameID\": 233536, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialLargeShipHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"1564\": {\n    \"attributeID\": 1564, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of industrial ship hold\", \n    \"displayName_de\": \"Fassungsvermögen des Frachtraums für Handelssschiffe\", \n    \"displayName_en-us\": \"Industrial Ship Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de una nave industrial\", \n    \"displayName_fr\": \"Capacité de soute vaisseau industriel\", \n    \"displayName_it\": \"Industrial Ship Hold Capacity\", \n    \"displayName_ja\": \"輸送艦の収容容量\", \n    \"displayName_ko\": \"인더스트리얼 격납고 적재량\", \n    \"displayName_ru\": \"Вместимость грузового отсека для промышленных кораблей\", \n    \"displayName_zh\": \"工业舰舱容量\", \n    \"displayNameID\": 233535, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialIndustrialShipHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"1565\": {\n    \"attributeID\": 1565, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"+ / - modifier to a ship radar strength\", \n    \"displayName_de\": \"RADAR Stärkebonus\", \n    \"displayName_en-us\": \"RADAR strength bonus\", \n    \"displayName_es\": \"Bonificación de potencia del radar\", \n    \"displayName_fr\": \"Bonus de puissance radar\", \n    \"displayName_it\": \"RADAR strength bonus\", \n    \"displayName_ja\": \"電波強度ボーナス\", \n    \"displayName_ko\": \"레이더 강도 보너스\", \n    \"displayName_ru\": \"Влияние на мощность радарного сигнала\", \n    \"displayName_zh\": \"雷达强度加成\", \n    \"displayNameID\": 233527, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanRadarStrengthModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"1566\": {\n    \"attributeID\": 1566, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"+ / - modifier to a ship ladar strength\", \n    \"displayName_de\": \"Ladar-Stärkebonus\", \n    \"displayName_en-us\": \"Ladar strength bonus\", \n    \"displayName_es\": \"Bonificación de potencia lidar\", \n    \"displayName_fr\": \"Bonus de puissance ladar\", \n    \"displayName_it\": \"Ladar strength bonus\", \n    \"displayName_ja\": \"光学強度ボーナス\", \n    \"displayName_ko\": \"라이다 강도 보너스\", \n    \"displayName_ru\": \"Влияние на мощность ладарного сигнала\", \n    \"displayName_zh\": \"光雷达强度加成\", \n    \"displayNameID\": 233528, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanLadarStrengthModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"1567\": {\n    \"attributeID\": 1567, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"+ / - modifier to a ship gravimetric strength\", \n    \"displayName_de\": \"Gravimetrischer Stärkebonus\", \n    \"displayName_en-us\": \"Gravimetric strength bonus\", \n    \"displayName_es\": \"Bonificación de fuerza gravimétrica\", \n    \"displayName_fr\": \"Bonus de puissance gravimétrique\", \n    \"displayName_it\": \"Gravimetric strength bonus\", \n    \"displayName_ja\": \"重力強度ボーナス\", \n    \"displayName_ko\": \"중력장 강도 보너스\", \n    \"displayName_ru\": \"Влияние на мощность гравиметрического сигнала\", \n    \"displayName_zh\": \"引力计强度加成\", \n    \"displayNameID\": 233529, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanGravimetricStrengthModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"1568\": {\n    \"attributeID\": 1568, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"+ / - modifier to a ship magnetometric strength\", \n    \"displayName_de\": \"Magnometrischer Stärkebonus\", \n    \"displayName_en-us\": \"Magnetometric strength bonus\", \n    \"displayName_es\": \"Bonificación de fuerza magnetométrica\", \n    \"displayName_fr\": \"Bonus de puissance magnétométrique\", \n    \"displayName_it\": \"Magnetometric strength bonus\", \n    \"displayName_ja\": \"磁力測定強度ボーナス\", \n    \"displayName_ko\": \"자기 강도 보너스\", \n    \"displayName_ru\": \"Влияние на мощность магнитометрического сигнала\", \n    \"displayName_zh\": \"磁力计强度加成\", \n    \"displayNameID\": 233530, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanMagnetometricStrengthModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"1569\": {\n    \"attributeID\": 1569, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"implantSetLGImperialNavy\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1570\": {\n    \"attributeID\": 1570, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"implantSetLGFederationNavy\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1571\": {\n    \"attributeID\": 1571, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"implantSetLGCaldariNavy\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1572\": {\n    \"attributeID\": 1572, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"implantSetLGRepublicFleet\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1573\": {\n    \"attributeID\": 1573, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"special ammo hold capacity\", \n    \"displayName_de\": \"Munitionskapazität\", \n    \"displayName_en-us\": \"Ammo Hold Capacity\", \n    \"displayName_es\": \"Capacidad del arsenal\", \n    \"displayName_fr\": \"Capacité de la soute à munitions\", \n    \"displayName_it\": \"Ammo Hold Capacity\", \n    \"displayName_ja\": \"弾薬の収容容量\", \n    \"displayName_ko\": \"탄약고 적재량\", \n    \"displayName_ru\": \"Объём отсека для боеприпасов\", \n    \"displayName_zh\": \"弹药舱容量\", \n    \"displayNameID\": 233532, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialAmmoHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Das Gesamtvolumen an Munition, das im Munitionsfrachtraum des Schiffs gelagert werden kann\", \n    \"tooltipDescription_en-us\": \"The total volume of charges that can be stored in the ship's ammo hold\", \n    \"tooltipDescription_es\": \"El volumen total de cargas que pueden almacenarse en el arsenal de la nave.\", \n    \"tooltipDescription_fr\": \"Volume total de munitions pouvant être transporté dans la soute à munitions du vaisseau.\", \n    \"tooltipDescription_it\": \"The total volume of charges that can be stored in the ship's ammo hold\", \n    \"tooltipDescription_ja\": \"艦船の弾薬ホールドに積載できる弾薬の総量です\", \n    \"tooltipDescription_ko\": \"탄약고의 총 적재량입니다.\", \n    \"tooltipDescription_ru\": \"Максимальный объём боеприпасов и зарядов, допустимый к размещению в бортовом отсеке для боеприпасов\", \n    \"tooltipDescription_zh\": \"舰船的弹药舱所能装载的弹药总体积\", \n    \"tooltipDescriptionID\": 295255, \n    \"tooltipTitleID\": 295254, \n    \"unitID\": 9\n  }, \n  \"1574\": {\n    \"attributeID\": 1574, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Alliance Tournament Ship Bonus\", \n    \"displayName_de\": \"Bonus für spezielle Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Классовый бонус\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 233543, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusATC1\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1575\": {\n    \"attributeID\": 1575, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Alliance Tournament Ship Bonus\", \n    \"displayName_de\": \"Bonus für spezielle Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Классовый бонус\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 233544, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusATC2\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1576\": {\n    \"attributeID\": 1576, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Alliance Tournament Frigate Bonus\", \n    \"displayName_de\": \"Bonus für spezielle Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Классовый бонус\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 233545, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusATF1\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1577\": {\n    \"attributeID\": 1577, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Alliance Tournament Frigate Bonus\", \n    \"displayName_de\": \"Bonus für spezielle Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Классовый бонус\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 233546, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusATF2\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1578\": {\n    \"attributeID\": 1578, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusCovertOps3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1579\": {\n    \"attributeID\": 1579, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"effectDeactivationDelay\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1580\": {\n    \"attributeID\": 1580, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": -1.0, \n    \"description\": \"The maximum number of defense bunkers this infrastructure Hub can support.\", \n    \"displayName_de\": \"Bunker mit maximaler Verteidigung\", \n    \"displayName_en-us\": \"Maximum Defense Bunkers\", \n    \"displayName_es\": \"Máx. de búnkeres defensivos\", \n    \"displayName_fr\": \"Bunkers de défense maximum\", \n    \"displayName_it\": \"Maximum Defense Bunkers\", \n    \"displayName_ja\": \"最大防衛バンカー\", \n    \"displayName_ko\": \"최대 방어 벙커\", \n    \"displayName_ru\": \"Максимальное количество защитных бункеров\", \n    \"displayName_zh\": \"防御堡垒上限\", \n    \"displayNameID\": 233550, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxDefenseBunkers\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1581\": {\n    \"attributeID\": 1581, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusAssaultShips1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1582\": {\n    \"attributeID\": 1582, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 30000.0, \n    \"description\": \"The number of milliseconds before the container replenishes the loot inside itself. This special tutorial attribute will allow re-spawning of items in distribution dungeons bypassing restrictions present. 10 second minimum (10000 ms).\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"specialTutorialLootRespawnTime\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"1583\": {\n    \"attributeID\": 1583, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The required minimum military development index level\", \n    \"displayName_de\": \"Erforderlicher Entwicklungsindex (Militär)\", \n    \"displayName_en-us\": \"Required Development Index Level (Military)\", \n    \"displayName_es\": \"Nivel de índice de desarrollo necesario (militar)\", \n    \"displayName_fr\": \"Niveau d'index de développement requis (militaire)\", \n    \"displayName_it\": \"Required Development Index Level (Military)\", \n    \"displayName_ja\": \"必要な開発インデックスレベル（軍事）\", \n    \"displayName_ko\": \"개발 지수 요구 레벨 (군사)\", \n    \"displayName_ru\": \"Требуемый индекс развития (военный)\", \n    \"displayName_zh\": \"发展指数等级需求（军事）\", \n    \"displayNameID\": 233615, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"devIndexMilitary\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 140\n  }, \n  \"1584\": {\n    \"attributeID\": 1584, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The minimum required industrial development index level\", \n    \"displayName_de\": \"Erforderlicher Entwicklungsindex (Industrie)\", \n    \"displayName_en-us\": \"Required Development Index Level (Industrial)\", \n    \"displayName_es\": \"Nivel de índice de desarrollo necesario (industrial)\", \n    \"displayName_fr\": \"Niveau d'index de développement requis (industriel)\", \n    \"displayName_it\": \"Required Development Index Level (Industrial)\", \n    \"displayName_ja\": \"必要な開発インデックスレベル（工業）\", \n    \"displayName_ko\": \"개발 지수 요구 레벨 (산업)\", \n    \"displayName_ru\": \"Требуемый индекс развития (промышленный)\", \n    \"displayName_zh\": \"发展指数等级需求（工业）\", \n    \"displayNameID\": 233614, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"devIndexIndustrial\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 140\n  }, \n  \"1585\": {\n    \"attributeID\": 1585, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The required ISK to be present in the Economics development index.\", \n    \"displayName_de\": \"Erforderlicher Entwicklungsindex (Wirtschaft)\", \n    \"displayName_en-us\": \"Required Development Index (economic)\", \n    \"displayName_es\": \"Índice de desarrollo necesario (económico)\", \n    \"displayName_fr\": \"Indice de développement requis (économie)\", \n    \"displayName_it\": \"Required Development Index (economic)\", \n    \"displayName_ja\": \"必要な開発インデックス（経済）\", \n    \"displayName_ko\": \"개발 지수 요구량 (경제)\", \n    \"displayName_ru\": \"Требуемый индекс развития (экономический)\", \n    \"displayName_zh\": \"发展指数需求（经济）\", \n    \"displayNameID\": 233551, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"devIndexEconomic\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1586\": {\n    \"attributeID\": 1586, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The required ISK to be present in the research and development\\r\\ndevelopment index.\", \n    \"displayName_de\": \"Erforderlicher Entwicklungsindex (Forschung und Entwicklung)\", \n    \"displayName_en-us\": \"Required Development Index (Research & Development)\", \n    \"displayName_es\": \"Índice de desarrollo necesario (I+D)\", \n    \"displayName_fr\": \"Indice de développement requis (recherche et développement)\", \n    \"displayName_it\": \"Required Development Index (Research & Development)\", \n    \"displayName_ja\": \"必要な開発インデックス（研究開発）\", \n    \"displayName_ko\": \"개발 지수 요구량 (연구 및 개발)\", \n    \"displayName_ru\": \"Требуемый индекс развития (наука и разработки)\", \n    \"displayName_zh\": \"发展指数需求（研发）\", \n    \"displayNameID\": 233552, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"devIndexResearchDevelopment\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1590\": {\n    \"attributeID\": 1590, \n    \"categoryID\": 7, \n    \"dataType\": 2, \n    \"defaultValue\": -1.0, \n    \"description\": \"The minimum distance the object can be anchored, \\\"from what\\\" depends on the object.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"anchorDistanceMin\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"1591\": {\n    \"attributeID\": 1591, \n    \"categoryID\": 7, \n    \"dataType\": 2, \n    \"defaultValue\": 250000.0, \n    \"description\": \"the maximum distance it can be anchored at, \\\"from what\\\" depends on the object in question\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"anchorDistanceMax\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"1595\": {\n    \"attributeID\": 1595, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Infrastrukturupgrade erforderlich\", \n    \"displayName_en-us\": \"Requires Infrastructure Upgrade\", \n    \"displayName_es\": \"Requiere mejorar la infraestructura\", \n    \"displayName_fr\": \"Requiert une amélioration d'infrastructure.\", \n    \"displayName_it\": \"Requires Infrastructure Upgrade\", \n    \"displayName_ja\": \"インフラストラクチャのアップグレードが必要\", \n    \"displayName_ko\": \"인프라스트럭처 업그레이드 요구량\", \n    \"displayName_ru\": \"Требуется расширение центра инфраструктуры\", \n    \"displayName_zh\": \"需要基础设施升级件\", \n    \"displayNameID\": 233555, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"requiresIHubUpgrade\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1597\": {\n    \"attributeID\": 1597, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The number of seconds that sovereignty has to have been claimed for to Install this upgrade\", \n    \"displayName_de\": \"Minimale Souveränitätszeit zur Installierung des Upgrades\", \n    \"displayName_en-us\": \"Minimum Sovereignty Period to Install Upgrade\", \n    \"displayName_es\": \"Periodo mínimo de soberanía para instalar mejora\", \n    \"displayName_fr\": \"Période de souveraineté minimum pour installer l'amélioration\", \n    \"displayName_it\": \"Minimum Sovereignty Period to Install Upgrade\", \n    \"displayName_ja\": \"アップグレード装着までの最短領有権期間\", \n    \"displayName_ko\": \"업그레이드 설치를 위한 최소 소버린티 기간\", \n    \"displayName_ru\": \"Минимальный срок владения для установки расширения\", \n    \"displayName_zh\": \"升级安装最短主权期限制\", \n    \"displayNameID\": 233558, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"sovUpgradeSovereigntyHeldFor\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 129\n  }, \n  \"1598\": {\n    \"attributeID\": 1598, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The typeID of the upgrade that prevents this type from being installed.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"sovUpgradeBlockingUpgradeID\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1599\": {\n    \"attributeID\": 1599, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"The typeID of the upgrade that is required for this upgrade to be installed. \", \n    \"displayName_de\": \"Voraussetzung: installiertes Upgrade\", \n    \"displayName_en-us\": \"Prerequisite Installed Upgrade\", \n    \"displayName_es\": \"Mejora requerida instalada\", \n    \"displayName_fr\": \"Amélioration installée prérequise\", \n    \"displayName_it\": \"Prerequisite Installed Upgrade\", \n    \"displayName_ja\": \"必須アップグレード\", \n    \"displayName_ko\": \"사전에 필요한 업그레이드\", \n    \"displayName_ru\": \"Требуемые расширения\", \n    \"displayName_zh\": \"先决升级安装\", \n    \"displayNameID\": 233559, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"sovUpgradeRequiredUpgradeID\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1600\": {\n    \"attributeID\": 1600, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The required level of outpost upgrade required to install this upgrade\", \n    \"displayName_de\": \"Benötigtes System-Außenposten-Upgrade-Level\", \n    \"displayName_en-us\": \"Required System Oupost Upgrade Level\", \n    \"displayName_es\": \"Nivel de mejora del puesto necesario\", \n    \"displayName_fr\": \"Niveau d'amélioration d'avant-poste système requis\", \n    \"displayName_it\": \"Required System Oupost Upgrade Level\", \n    \"displayName_ja\": \"必要なシステムアウトポストアップグレードレベル\", \n    \"displayName_ko\": \"시스템 전초기지 업그레이드 레벨 요구량\", \n    \"displayName_ru\": \"Требуемый уровень модернизации станции\", \n    \"displayName_zh\": \"星系哨站升级等级需求\", \n    \"displayNameID\": 233557, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"sovUpgradeRequiredOutpostUpgradeLevel\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1601\": {\n    \"attributeID\": 1601, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"This attribute specifies a typeID which must be active in an IH for the given structure to be onlined\", \n    \"displayName_de\": \"Einschaltung benötigt Infrastruktur-Upgrade\", \n    \"displayName_en-us\": \"Onlining Requires Infrastructure Upgrade\", \n    \"displayName_es\": \"Requiere mejorar la infraestructura para conectarse\", \n    \"displayName_fr\": \"La mise en ligne nécessite une amélioration d'infrastructure\", \n    \"displayName_it\": \"Onlining Requires Infrastructure Upgrade\", \n    \"displayName_ja\": \"オンライン処理にはインフラストラクチャのアップグレードが必要\", \n    \"displayName_ko\": \"인프라스트럭처 업그레이드가 있어야 온라인이 가능합니다.\", \n    \"displayName_ru\": \"Расширение инфраструктуры (требуется для включения)\", \n    \"displayName_zh\": \"上线需要基础设施升级支持\", \n    \"displayNameID\": 233556, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"onliningRequiresSovUpgrade1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1603\": {\n    \"attributeID\": 1603, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"[DEPRECATED] The sum of this attribute on the claim markers, Infrastructure hub, and each upgrade is the systems base cost. \", \n    \"displayName_de\": \"Tägliche Betriebskosten\", \n    \"displayName_en-us\": \"Daily Upkeep Cost\", \n    \"displayName_es\": \"Coste de mantenimiento diario\", \n    \"displayName_fr\": \"Coût d'entretien journalier\", \n    \"displayName_it\": \"Daily Upkeep Cost\", \n    \"displayName_ja\": \"1 日の維持費\", \n    \"displayName_ko\": \"일일 유지비용\", \n    \"displayName_ru\": \"Ежедневное содержание\", \n    \"displayName_zh\": \"每日维护费用\", \n    \"displayNameID\": 233560, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"sovBillSystemCostDEPRECATED\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 133\n  }, \n  \"1606\": {\n    \"attributeID\": 1606, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Obsolete attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"distributionID_blood\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1607\": {\n    \"attributeID\": 1607, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Obsolete attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"distributionID_angel\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1608\": {\n    \"attributeID\": 1608, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Obsolete attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionID_guristas\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1609\": {\n    \"attributeID\": 1609, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Obsolete attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"distributionID_serpentis\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1610\": {\n    \"attributeID\": 1610, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Obsolete attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"distributionID_drones\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1611\": {\n    \"attributeID\": 1611, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Obsolete attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"distributionID_sanshas\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1612\": {\n    \"attributeID\": 1612, \n    \"categoryID\": 7, \n    \"dataType\": 2, \n    \"defaultValue\": 172800.0, \n    \"description\": \"The number of seconds that the structure will be in reinforcement time\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"reinforcementDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"1613\": {\n    \"attributeID\": 1613, \n    \"categoryID\": 7, \n    \"dataType\": 2, \n    \"defaultValue\": 10800.0, \n    \"description\": \"The number of seconds that the reinforcement exit time will be adjusted by. exitTime +- attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"reinforcementVariance\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"1614\": {\n    \"attributeID\": 1614, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Obsolete attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"distributionID_mordus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1615\": {\n    \"attributeID\": 1615, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The minimum required sovereignty index level\", \n    \"displayName_de\": \"Erforderlicher Entwicklungsindexlevel (Strategisch)\", \n    \"displayName_en-us\": \"Required Development Index Level (Strategic)\", \n    \"displayName_es\": \"Nivel de índice de desarrollo necesario (estratégico)\", \n    \"displayName_fr\": \"Niveau d'index de développement requis (stratégique)\", \n    \"displayName_it\": \"Required Development Index Level (Strategic)\", \n    \"displayName_ja\": \"必要な開発インデックスレベル（戦略）\", \n    \"displayName_ko\": \"개발 지수 요구 레벨 (전략)\", \n    \"displayName_ru\": \"Требуемый индекс развития (стратегический)\", \n    \"displayName_zh\": \"发展指数需求（战略）\", \n    \"displayNameID\": 233616, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"devIndexSovereignty\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 140\n  }, \n  \"1616\": {\n    \"attributeID\": 1616, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Obsolete attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1619\": {\n    \"attributeID\": 1619, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf  Stasis Web von Drohnen\", \n    \"displayName_en-us\": \"Drone Stasis Web Bonus\", \n    \"displayName_es\": \"Bonificación de red ralentizadora de drones\", \n    \"displayName_fr\": \"Bonus de stase de drone\", \n    \"displayName_it\": \"Drone Stasis Web Bonus\", \n    \"displayName_ja\": \"ドローンステイシスウェブボーナス\", \n    \"displayName_ko\": \"드론 스테이시스 웹 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность стазис-индукторов дронов\", \n    \"displayName_zh\": \"无人机停滞缠绕光束加成\", \n    \"displayNameID\": 233561, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"webSpeedFactorBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1623\": {\n    \"attributeID\": 1623, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonus3AF\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1624\": {\n    \"attributeID\": 1624, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonus3CF\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1625\": {\n    \"attributeID\": 1625, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonus3GF\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1626\": {\n    \"attributeID\": 1626, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonus3MF\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1631\": {\n    \"attributeID\": 1631, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Transport capacity (bandwidth) in m3 per hour.\", \n    \"displayName_de\": \"Logistische Kapazität\", \n    \"displayName_en-us\": \"Logistical Capacity\", \n    \"displayName_es\": \"Capacidad logística\", \n    \"displayName_fr\": \"Capacité logistique\", \n    \"displayName_it\": \"Logistical Capacity\", \n    \"displayName_ja\": \"輸送容量\", \n    \"displayName_ko\": \"보급 적재량\", \n    \"displayName_ru\": \"Логистическая емкость\", \n    \"displayName_zh\": \"运能\", \n    \"displayNameID\": 233564, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"logisticalCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 134\n  }, \n  \"1632\": {\n    \"attributeID\": 1632, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"This type can only be found/used/created on a planet matching this type ID.\", \n    \"displayName_de\": \"Planetentypeinschränkung\", \n    \"displayName_en-us\": \"Planet Type Restriction\", \n    \"displayName_es\": \"Restricción de tipo de planeta\", \n    \"displayName_fr\": \"Restriction de type de planète\", \n    \"displayName_it\": \"Planet Type Restriction\", \n    \"displayName_ja\": \"惑星タイプの制限\", \n    \"displayName_ko\": \"행성 분류 제한\", \n    \"displayName_ru\": \"Ограничение на тип планеты\", \n    \"displayName_zh\": \"行星类型限制\", \n    \"displayNameID\": 233565, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"planetRestriction\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1633\": {\n    \"attributeID\": 1633, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Megawatts per kilometer\", \n    \"displayName_de\": \"Energielast (pro km)\", \n    \"displayName_en-us\": \"Power Load (per km)\", \n    \"displayName_es\": \"Potencia de carga (por kilómetro)\", \n    \"displayName_fr\": \"Facteur de charge (par km)\", \n    \"displayName_it\": \"Power Load (per km)\", \n    \"displayName_ja\": \"パワーロード（km あたり）\", \n    \"displayName_ko\": \"전력 사용량(Km당)\", \n    \"displayName_ru\": \"Загрузка реактора (на км)\", \n    \"displayName_zh\": \"能量载荷（每千米）\", \n    \"displayNameID\": 233566, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"powerLoadPerKm\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 107\n  }, \n  \"1634\": {\n    \"attributeID\": 1634, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"CPU Usage per kilometer\", \n    \"displayName_de\": \"CPU-Auslastung (pro km)\", \n    \"displayName_en-us\": \"CPU Usage (per km)\", \n    \"displayName_es\": \"Uso de la CPU (por kilómetro)\", \n    \"displayName_fr\": \"Utilisation CPU (par km)\", \n    \"displayName_it\": \"CPU Usage (per km)\", \n    \"displayName_ja\": \"CPU 使用率（km あたり）\", \n    \"displayName_ko\": \"CPU 사용량(Km당)\", \n    \"displayName_ru\": \"Загрузка ЦПУ (на км)\", \n    \"displayName_zh\": \"CPU使用量（每千米）\", \n    \"displayNameID\": 233567, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"cpuLoadPerKm\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 106\n  }, \n  \"1635\": {\n    \"attributeID\": 1635, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used to calculate cpu load multiplier for PI links\", \n    \"displayName_de\": \"CPU-Auslastungsstufenmodifikator\", \n    \"displayName_en-us\": \"CPU Load Level Modifier\", \n    \"displayName_es\": \"Modificador de nivel de carga de la CPU\", \n    \"displayName_fr\": \"Modificateur de niveau de charge CPU\", \n    \"displayName_it\": \"CPU Load Level Modifier\", \n    \"displayName_ja\": \"CPU 負荷レベル修正乗数\", \n    \"displayName_ko\": \"CPU 요구량 보정치\", \n    \"displayName_ru\": \"Модификатор уровня загрузки ЦПУ\", \n    \"displayName_zh\": \"CPU载荷等级调节因子\", \n    \"displayNameID\": 233568, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"cpuLoadLevelModifier\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1636\": {\n    \"attributeID\": 1636, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Power load multiplier for PI link levels\", \n    \"displayName_de\": \"Energielaststufenmodifikator\", \n    \"displayName_en-us\": \"Power Load Level Modifier\", \n    \"displayName_es\": \"Modificador de nivel de la potencia de carga\", \n    \"displayName_fr\": \"Modificateur de niveau de charge de puissance\", \n    \"displayName_it\": \"Power Load Level Modifier\", \n    \"displayName_ja\": \"パワーロードレベル修正乗数\", \n    \"displayName_ko\": \"파워그리드 요구량 보정치\", \n    \"displayName_ru\": \"Модификатор уровня загрузки реактора\", \n    \"displayName_zh\": \"能量载荷等级调节因子\", \n    \"displayNameID\": 233569, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"powerLoadLevelModifier\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1638\": {\n    \"attributeID\": 1638, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Base importation tax (ISK per m3 of volume) for commodities imported to pin.\", \n    \"displayName_de\": \"Einfuhrsteuer\", \n    \"displayName_en-us\": \"Import Tax\", \n    \"displayName_es\": \"Impuestos de importación\", \n    \"displayName_fr\": \"Taxe d'importation\", \n    \"displayName_it\": \"Import Tax\", \n    \"displayName_ja\": \"輸入税\", \n    \"displayName_ko\": \"수입 관세\", \n    \"displayName_ru\": \"Налог на импорт\", \n    \"displayName_zh\": \"进口税\", \n    \"displayNameID\": 233570, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"importTax\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 133\n  }, \n  \"1639\": {\n    \"attributeID\": 1639, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Base export tax (ISK per m3 of volume) on commodities exported from a planet via this pin.\", \n    \"displayName_de\": \"Ausfuhrsteuer\", \n    \"displayName_en-us\": \"Export Tax\", \n    \"displayName_es\": \"Impuestos de exportación\", \n    \"displayName_fr\": \"Taxe d'exportation\", \n    \"displayName_it\": \"Export Tax\", \n    \"displayName_ja\": \"輸出税\", \n    \"displayName_ko\": \"수출 관세\", \n    \"displayName_ru\": \"Налог на экспорт\", \n    \"displayName_zh\": \"出口税\", \n    \"displayNameID\": 233571, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"exportTax\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 133\n  }, \n  \"1640\": {\n    \"attributeID\": 1640, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Cost multiplier per m3 volume of this commodity when importing to a planet\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"importTaxMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"1641\": {\n    \"attributeID\": 1641, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Export tax multiplier when exporting this commodity off a planet.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"exportTaxMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"1642\": {\n    \"attributeID\": 1642, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 100.0, \n    \"description\": \"Base amount (in units) of commodities extracted by an extractor pin.\", \n    \"displayName_de\": \"Extraktionsmenge\", \n    \"displayName_en-us\": \"Extraction Quantity\", \n    \"displayName_es\": \"Cantidad de extracción\", \n    \"displayName_fr\": \"Volume d'extraction\", \n    \"displayName_it\": \"Extraction Quantity\", \n    \"displayName_ja\": \"抽出量\", \n    \"displayName_ko\": \"채굴 수량\", \n    \"displayName_ru\": \"Количество экстракции\", \n    \"displayName_zh\": \"采集量\", \n    \"displayNameID\": 233572, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"pinExtractionQuantity\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1643\": {\n    \"attributeID\": 1643, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 300.0, \n    \"description\": \"Base cycle time (in seconds) of an extractor pin.\", \n    \"displayName_de\": \"Zyklusdauer\", \n    \"displayName_en-us\": \"Cycle Time\", \n    \"displayName_es\": \"Tiempo de ciclo\", \n    \"displayName_fr\": \"Temps de cycle\", \n    \"displayName_it\": \"Cycle Time\", \n    \"displayName_ja\": \"サイクル時間\", \n    \"displayName_ko\": \"사이클 시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"运转周期\", \n    \"displayNameID\": 233573, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"pinCycleTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"1644\": {\n    \"attributeID\": 1644, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 10.0, \n    \"description\": \"This is the radius that the depletion at this pin effects\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"extractorDepletionRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"1645\": {\n    \"attributeID\": 1645, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is the amount that is added to the depletion of a resource on a planet\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"extractorDepletionRate\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1646\": {\n    \"attributeID\": 1646, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of CC-only hold\", \n    \"displayName_de\": \"Frachtraumkapazität der Kommandozentrale\", \n    \"displayName_en-us\": \"Command Center Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega del centro de mando\", \n    \"displayName_fr\": \"Capacité de la soute du centre de commandement\", \n    \"displayName_it\": \"Command Center Hold Capacity\", \n    \"displayName_ja\": \"司令基地の収容容量\", \n    \"displayName_ko\": \"통제센터 저장고 적재량\", \n    \"displayName_ru\": \"Объём отсека для центра управления\", \n    \"displayName_zh\": \"指挥中心储备能力\", \n    \"displayNameID\": 233575, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialCommandCenterHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Das maximale Volumen, das im Frachtraum der Kommandozentrale gelagert werden kann\", \n    \"tooltipDescription_en-us\": \"The total volume that can be stored in the command center hold\", \n    \"tooltipDescription_es\": \"El volumen total que puede almacenarse en la bodega del centro de mando.\", \n    \"tooltipDescription_fr\": \"Volume total pouvant être stocké dans le centre de commandement.\", \n    \"tooltipDescription_it\": \"The total volume that can be stored in the command center hold\", \n    \"tooltipDescription_ja\": \"司令基地ホールドに積載できる総量です\", \n    \"tooltipDescription_ko\": \"통제센터 저장고에 보관할 수 있는 최대 용량입니다.\", \n    \"tooltipDescription_ru\": \"Максимальный объём, допустимый к размещению в бортовом отсеке для центра управления\", \n    \"tooltipDescription_zh\": \"指挥中心舱能装载的总体积\", \n    \"tooltipDescriptionID\": 295320, \n    \"tooltipTitleID\": 295319, \n    \"unitID\": 9\n  }, \n  \"1647\": {\n    \"attributeID\": 1647, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"This attribute deactivates the booster after the character's age reaches a certain amount\", \n    \"displayName_de\": \"Max. Pilotenalter\", \n    \"displayName_en-us\": \"Maximum Pilot Age\", \n    \"displayName_es\": \"Edad máx. del piloto\", \n    \"displayName_fr\": \"Âge maximum du pilote\", \n    \"displayName_it\": \"Maximum Pilot Age\", \n    \"displayName_ja\": \"パイロット年齢上限\", \n    \"displayName_ko\": \"사용 가능한 파일럿의 최대 연령\", \n    \"displayName_ru\": \"Максимальный возраст пилота\", \n    \"displayName_zh\": \"最大飞行员年龄\", \n    \"displayNameID\": 233576, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"boosterMaxCharAgeHours\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 129\n  }, \n  \"1648\": {\n    \"attributeID\": 1648, \n    \"categoryID\": 12, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"This controls how L1 AI target switches\\r\\nWhen disabled AI_ChanceToNotTargetSwitch, AI_ShouldUseEffectMultiplier, and AI_ShouldUseSignatureRadius are disabled also.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_ShouldUseTargetSwitching\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1649\": {\n    \"attributeID\": 1649, \n    \"categoryID\": 12, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Should use secondary effect on other targets?\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_ShouldUseSecondaryTarget\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1650\": {\n    \"attributeID\": 1650, \n    \"categoryID\": 12, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Should this type use signature radius\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_ShouldUseSignatureRadius\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1651\": {\n    \"attributeID\": 1651, \n    \"categoryID\": 12, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"A percentage chance to not change targets 0.0 - 1.0. 1.0 they will never change targets 0.0 they will always change targets\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_ChanceToNotTargetSwitch\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1652\": {\n    \"attributeID\": 1652, \n    \"categoryID\": 12, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Should the entity watch for effects when choosing targets\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_ShouldUseEffectMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1653\": {\n    \"attributeID\": 1653, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of Planetary Commodities hold\", \n    \"displayName_de\": \"Planetarische Güter-Lagerkapazität\", \n    \"displayName_en-us\": \"Planetary Commodities Hold Capacity\", \n    \"displayName_es\": \"Capacidad de bodega de mercancías planetarias\", \n    \"displayName_fr\": \"Capacité de la soute de marchandises planétaires\", \n    \"displayName_it\": \"Planetary Commodities Hold Capacity\", \n    \"displayName_ja\": \"惑星商品の収容容量\", \n    \"displayName_ko\": \"행성 생산품 창고 적재량\", \n    \"displayName_ru\": \"Объём отсека для продукции наземных баз\", \n    \"displayName_zh\": \"行星资源物品储备能力\", \n    \"displayNameID\": 233577, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialPlanetaryCommoditiesHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Das maximale Volumen, das im Frachtraum für planetare Güter gelagert werden kann\", \n    \"tooltipDescription_en-us\": \"The total volume that can be stored in the planetary commodities hold\", \n    \"tooltipDescription_es\": \"El volumen total que se puede almacenar en la bodega de mercancías planetarias.\", \n    \"tooltipDescription_fr\": \"Volume total pouvant être stocké dans la soute de marchandises planétaires.\", \n    \"tooltipDescription_it\": \"The total volume that can be stored in the planetary commodities hold\", \n    \"tooltipDescription_ja\": \"惑星商品ホールドに積載できる総量です\", \n    \"tooltipDescription_ko\": \"행성 생산품 창고에 저장할 수 있는 최대 용량입니다.\", \n    \"tooltipDescription_ru\": \"Максимальный объём, допустимый к размещению в бортовом отсеке для продукции наземных баз\", \n    \"tooltipDescription_zh\": \"行星资源物品舱能装载的总体积\", \n    \"tooltipDescriptionID\": 295322, \n    \"tooltipTitleID\": 295321, \n    \"unitID\": 9\n  }, \n  \"1654\": {\n    \"attributeID\": 1654, \n    \"categoryID\": 12, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Can not be attacked by doomsday devices\", \n    \"displayName_de\": \"Immun gegen Angriffe von Superwaffen\", \n    \"displayName_en-us\": \"Immune to super weapon attacks\", \n    \"displayName_es\": \"Inmune a los ataques de superarmas\", \n    \"displayName_fr\": \"Immunité contre les attaques de super armes\", \n    \"displayName_it\": \"Immune to super weapon attacks\", \n    \"displayName_ja\": \"超兵器の攻撃の影響を受けない\", \n    \"displayName_ko\": \"수퍼무기 공격에 면역\", \n    \"displayName_ru\": \"Неуязвим к орудиям Судного дня\", \n    \"displayName_zh\": \"不受超级武器伤害\", \n    \"displayNameID\": 233580, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_ImmuneToSuperWeapon\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1655\": {\n    \"attributeID\": 1655, \n    \"categoryID\": 12, \n    \"dataType\": 5, \n    \"defaultValue\": -1.0, \n    \"description\": \"The Preferred signature radius for attack. If it is 0 or below it uses the ships signature radius instead.\", \n    \"displayName_de\": \"Bevorzugter Signaturradius\", \n    \"displayName_en-us\": \"Preferred Signature Radius\", \n    \"displayName_es\": \"Radio de la señal preferido\", \n    \"displayName_fr\": \"Rayon de signature préféré\", \n    \"displayName_it\": \"Preferred Signature Radius\", \n    \"displayName_ja\": \"推奨シグネチャ半径\", \n    \"displayName_ko\": \"선호 시그니처 반경\", \n    \"displayName_ru\": \"Предпочтительный радиус сигнатуры\", \n    \"displayName_zh\": \"首选信号半径\", \n    \"displayNameID\": 233581, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_PreferredSignatureRadius\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"1656\": {\n    \"attributeID\": 1656, \n    \"categoryID\": 12, \n    \"dataType\": 5, \n    \"defaultValue\": 0.699999988079071, \n    \"description\": \"Tanking modifier applied to drones if their owner is tanking. 1.0 is no modifier\", \n    \"displayName_de\": \"Modifikator für das Tanken bei Drohnen\", \n    \"displayName_en-us\": \"Drone Tanking Modifier\", \n    \"displayName_es\": \"Modif. de tanquerización de drones\", \n    \"displayName_fr\": \"Modificateur de protection de drone\", \n    \"displayName_it\": \"Drone Tanking Modifier\", \n    \"displayName_ja\": \"ドローンタンキング修正乗数\", \n    \"displayName_ko\": \"드론 방어 보정치\", \n    \"displayName_ru\": \"Модификатор танковки дронов\", \n    \"displayName_zh\": \"无人机抗性调节值\", \n    \"displayNameID\": 233582, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_TankingModifierDrone\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1657\": {\n    \"attributeID\": 1657, \n    \"categoryID\": 12, \n    \"dataType\": 5, \n    \"defaultValue\": 0.699999988079071, \n    \"description\": \"Tanking modifier applied to ships. 1.0 is no modifier.\", \n    \"displayName_de\": \"Modifikator für das Tanken\", \n    \"displayName_en-us\": \"Tanking Modifier\", \n    \"displayName_es\": \"Modificador de tanquerización\", \n    \"displayName_fr\": \"Modificateur de protection\", \n    \"displayName_it\": \"Tanking Modifier\", \n    \"displayName_ja\": \"タンキング修正乗数\", \n    \"displayName_ko\": \"방어 보정치\", \n    \"displayName_ru\": \"Модификатор танковки\", \n    \"displayName_zh\": \"抗性调节值\", \n    \"displayNameID\": 233583, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_TankingModifier\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1658\": {\n    \"attributeID\": 1658, \n    \"categoryID\": 23, \n    \"dataType\": 2, \n    \"defaultValue\": 300000.0, \n    \"description\": \"The current duration for the remote ECM ( this is recalculated each time it is activated )\", \n    \"displayName_de\": \"Dauer der NPC-Remote-ECM\", \n    \"displayName_en-us\": \"NPC Remote ECM Duration\", \n    \"displayName_es\": \"Duración de ECM remotas de PNJ\", \n    \"displayName_fr\": \"Durée de CME à distance PNJ\", \n    \"displayName_it\": \"NPC Remote ECM Duration\", \n    \"displayName_ja\": \"NPC リモート ECM 時間\", \n    \"displayName_ko\": \"NPC 원격 ECM 지속시간\", \n    \"displayName_ru\": \"Время цикла систем РЭБ NPC\", \n    \"displayName_zh\": \"NPC远程ECM持续时间\", \n    \"displayNameID\": 233585, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityRemoteECMDuration\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1659\": {\n    \"attributeID\": 1659, \n    \"categoryID\": 23, \n    \"dataType\": 5, \n    \"defaultValue\": 10000.0, \n    \"description\": \"Lower cap, so even if more players are added to the bubble remote ECM duration will not go below this value\", \n    \"displayName_de\": \"Minimaldauer der NPC-Remote-ECM\", \n    \"displayName_en-us\": \"NPC Remote ECM Minimum Duration\", \n    \"displayName_es\": \"Duración mín. de ECM remotas de PNJ\", \n    \"displayName_fr\": \"Durée minimum de CME à distance PNJ\", \n    \"displayName_it\": \"NPC Remote ECM Minimum Duration\", \n    \"displayName_ja\": \"NPC リモート ECM 最短時間\", \n    \"displayName_ko\": \"NPC 원격 ECM 최소지속시간\", \n    \"displayName_ru\": \"Минимальное время цикла систем РЭБ NPC\", \n    \"displayName_zh\": \"NPC远程ECM最短持续时间\", \n    \"displayNameID\": 233586, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityRemoteECMMinDuration\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1660\": {\n    \"attributeID\": 1660, \n    \"categoryID\": 23, \n    \"dataType\": 5, \n    \"defaultValue\": 0.8999999761581421, \n    \"description\": \"The scaling factor used for the NPC remote ECM\", \n    \"displayName_de\": \"Skalierungsfaktor der Dauer der NPC-Remote-ECM\", \n    \"displayName_en-us\": \"NPC Remote ECM Duration Scaling Factor\", \n    \"displayName_es\": \"Factor de ajuste de duración de ECM remotas de PNJ\", \n    \"displayName_fr\": \"Facteur d'échelle de durée de CME à distance PNJ\", \n    \"displayName_it\": \"NPC Remote ECM Duration Scaling Factor\", \n    \"displayName_ja\": \"NPC リモート ECM 時間乗数\", \n    \"displayName_ko\": \"NPC 원격 ECM 지속시간 규모 요인\", \n    \"displayName_ru\": \"Коэффициент времени цикла систем РЭБ NPC\", \n    \"displayName_zh\": \"NPC远程ECM持续时间比例因数\", \n    \"displayNameID\": 233587, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityRemoteECMDurationScale\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1661\": {\n    \"attributeID\": 1661, \n    \"categoryID\": 23, \n    \"dataType\": 5, \n    \"defaultValue\": 300000.0, \n    \"description\": \"The base time between ECM bursts\", \n    \"displayName_de\": \"Grunddauer der NPC-Remote-ECM\", \n    \"displayName_en-us\": \"NPC remote ECM base duration\", \n    \"displayName_es\": \"Duración base de ECM remotas de PNJ\", \n    \"displayName_fr\": \"Durée de base de CME à distance PNJ\", \n    \"displayName_it\": \"NPC remote ECM base duration\", \n    \"displayName_ja\": \"NPC リモート ECM ベース時間\", \n    \"displayName_ko\": \"NPC 원격 ECM 기지 지속시간\", \n    \"displayName_ru\": \"Базовое время цикла систем РЭБ NPC\", \n    \"displayName_zh\": \"NPC远程ECM基础持续时间\", \n    \"displayNameID\": 233588, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityRemoteECMBaseDuration\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1662\": {\n    \"attributeID\": 1662, \n    \"categoryID\": 23, \n    \"dataType\": 4, \n    \"defaultValue\": 8.0, \n    \"description\": \"The number of players in each step of scaling of remote ECM\", \n    \"displayName_de\": \"Zusätzliche Spielerskalierung der NPC-Remote-ECM\", \n    \"displayName_en-us\": \"NPC remote ECM Extra Player Scale\", \n    \"displayName_es\": \"Ajuste de jugador adicional de ECM remotas de PNJ\", \n    \"displayName_fr\": \"Échelle de joueur supplémentaire CME à distance PNJ\", \n    \"displayName_it\": \"NPC remote ECM Extra Player Scale\", \n    \"displayName_ja\": \"NPC リモート ECM エクストラプレイヤースケール\", \n    \"displayName_ko\": \"NPC 원격 ECM 추가 플레이어 규모\", \n    \"displayName_ru\": \"Коэффициент систем РЭБ NPC за кол-во игроков\", \n    \"displayName_zh\": \"NPC远程ECM额外玩家比例\", \n    \"displayNameID\": 233589, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityRemoteECMExtraPlayerScale\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1663\": {\n    \"attributeID\": 1663, \n    \"categoryID\": 23, \n    \"dataType\": 4, \n    \"defaultValue\": 40.0, \n    \"description\": \"The base number of players, where the scaling of the remote ECM should start\", \n    \"displayName_de\": \"Angestrebte Spieleranzahl der NPC-Remote-ECM\", \n    \"displayName_en-us\": \"NPC remote ECM intended number of players\", \n    \"displayName_es\": \"N.º de jugadores previsto de ECM remotas de PNJ\", \n    \"displayName_fr\": \"Nombre de joueurs prévu CME à distance PNJ\", \n    \"displayName_it\": \"NPC remote ECM intended number of players\", \n    \"displayName_ja\": \"NPC リモート ECM 想定プレイヤー数\", \n    \"displayName_ko\": \"NPC 원격 ECM 플레이어 목표인원\", \n    \"displayName_ru\": \"Установленное количество пилотов для систем РЭБ NPC\", \n    \"displayName_zh\": \"NPC远程ECM应有玩家数\", \n    \"displayNameID\": 233590, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityRemoteECMIntendedNumPlayers\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1664\": {\n    \"attributeID\": 1664, \n    \"categoryID\": 23, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Chance that the NPC remote ECM fires\", \n    \"displayName_de\": \"NPC-Remote-ECM-Wahrscheinlichkeit\", \n    \"displayName_en-us\": \"NPC remote ECM chance\", \n    \"displayName_es\": \"Probabilidad de ECM remotas de PNJ\", \n    \"displayName_fr\": \"Chance de CME à distance PNJ\", \n    \"displayName_it\": \"NPC remote ECM chance\", \n    \"displayName_ja\": \"NPC リモート ECM チャンス\", \n    \"displayName_ko\": \"NPC 원격 ECM 확률\", \n    \"displayName_ru\": \"Шанс действия систем РЭБ NPC\", \n    \"displayName_zh\": \"NPC远程ECM机率\", \n    \"displayNameID\": 233591, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityRemoteECMChanceOfActivation\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1669\": {\n    \"attributeID\": 1669, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus 1 for ORE Industrials\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusOreIndustrial1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1670\": {\n    \"attributeID\": 1670, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus 2 for ORE Industrials\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusOreIndustrial2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1671\": {\n    \"attributeID\": 1671, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus applied to all NPCs in the same group. Used by the NPCGroupShieldAssist effect. Negative values is a bonus so e.g. -20 is a 20% bonus\", \n    \"displayName_de\": \"Schildwiderstand für NPC-Gruppen\", \n    \"displayName_en-us\": \"NPC group shield resistance bonus\", \n    \"displayName_es\": \"Bonificación de resistencia de escudo del grupo PNJ\", \n    \"displayName_fr\": \"Bonus de résistance de bouclier de groupe PNJ\", \n    \"displayName_it\": \"NPC group shield resistance bonus\", \n    \"displayName_ja\": \"NPC グループシールドレジスタンスボーナス\", \n    \"displayName_ko\": \"NPC 그룹 실드 저항 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость щитов группы NPC\", \n    \"displayName_zh\": \"NPC群体护盾抗性加成\", \n    \"displayNameID\": 233594, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityGroupShieldResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"1672\": {\n    \"attributeID\": 1672, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 10000.0, \n    \"description\": \"Duration for the NPCGroupShieldAssist effect\", \n    \"displayName_de\": \"Schildwiderstandsdauer für NPC-Gruppen\", \n    \"displayName_en-us\": \"NPC group shield resistance duration\", \n    \"displayName_es\": \"Duración de la resistencia de escudo del grupo PNJ\", \n    \"displayName_fr\": \"Durée de résistance de bouclier de groupe PNJ\", \n    \"displayName_it\": \"NPC group shield resistance duration\", \n    \"displayName_ja\": \"NPC グループシールドレジスタンス時間\", \n    \"displayName_ko\": \"NPC 그룹 실드 저항 지속시간\", \n    \"displayName_ru\": \"Длительность сопротивляемости щитов группы NPC\", \n    \"displayName_zh\": \"NPC群体护盾抗性持续时间\", \n    \"displayNameID\": 233592, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityGroupShieldResistanceDuration\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1673\": {\n    \"attributeID\": 1673, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Activation chance of the NPCGroupShieldAssist effect\", \n    \"displayName_de\": \"Aktivierungschance des Schildwiderstandes für NPC-Gruppen\", \n    \"displayName_en-us\": \"NPC group shield resistance activation chance\", \n    \"displayName_es\": \"Probabilidad de activación de la resistencia de escudo del grupo PNJ\", \n    \"displayName_fr\": \"Chance d'activation de résistance de bouclier de groupe PNJ\", \n    \"displayName_it\": \"NPC group shield resistance activation chance\", \n    \"displayName_ja\": \"NPC グループシールドレジスタンス起動チャンス\", \n    \"displayName_ko\": \"NPC 그룹 실드 저항 활성화 확률\", \n    \"displayName_ru\": \"Вероятность активации сопротивляемости щитов группы NPC\", \n    \"displayName_zh\": \"NPC群体护盾防御机率\", \n    \"displayNameID\": 233593, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityGroupShieldResistanceActivationChance\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1674\": {\n    \"attributeID\": 1674, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"amount of speed increase by NPCGroupSpeedAssist effect. Negative values is a bonus so e.g. -20 is a 20% bonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityGroupSpeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"1675\": {\n    \"attributeID\": 1675, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of propulsion jamming assist. Used by NPCGroupPropJamAssist. Negative values is a bonus so e.g. -20 is a 20% bonus\", \n    \"displayName_de\": \"Bonus bei Störmodulen für Antriebssysteme für NPC-Gruppen\", \n    \"displayName_en-us\": \"NPC group propulsion jamming bonus\", \n    \"displayName_es\": \"Bonif. de perturbación de propulsión de grupo PNJ\", \n    \"displayName_fr\": \"Bonus de brouillage de propulsion de groupe PNJ\", \n    \"displayName_it\": \"NPC group propulsion jamming bonus\", \n    \"displayName_ja\": \"NPC グループ推進力ジャミングボーナス\", \n    \"displayName_ko\": \"NPC 그룹 추진기 재밍 보너스\", \n    \"displayName_ru\": \"Влияние на шанс ограничения подвижности группой NPC\", \n    \"displayName_zh\": \"NPC群体推进干扰加成\", \n    \"displayNameID\": 233595, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityGroupPropJamBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"1676\": {\n    \"attributeID\": 1676, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of armor resistance bonus. Used by NPCGroupArmorAssist. Negative values is a bonus so e.g. -20 is a 20% bonus\", \n    \"displayName_de\": \"Panzerung-Resistenzbonus für NPC-Gruppen\", \n    \"displayName_en-us\": \"NPC group armor resistance bonus\", \n    \"displayName_es\": \"Bonificación de resistencia de blindaje del grupo PNJ\", \n    \"displayName_fr\": \"Bonus de résistance de blindage de groupe PNJ\", \n    \"displayName_it\": \"NPC group armor resistance bonus\", \n    \"displayName_ja\": \"NPC グループアーマーレジスタンスボーナス\", \n    \"displayName_ko\": \"NPC 그룹 장갑 저항 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость брони группы NPC\", \n    \"displayName_zh\": \"NPC群体装甲抗性加成\", \n    \"displayNameID\": 233596, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityGroupArmorResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"1677\": {\n    \"attributeID\": 1677, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 10000.0, \n    \"description\": \"Duration of NPCGroupArmorAssist effect.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityGroupSpeedDuration\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1678\": {\n    \"attributeID\": 1678, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Activation chance for NPCGroupSpeedAssist effect.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityGroupSpeedActivationChance\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1679\": {\n    \"attributeID\": 1679, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 10000.0, \n    \"description\": \"Duration of NPCGroupPropJamAssist effect.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityGroupPropJamDuration\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1680\": {\n    \"attributeID\": 1680, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Activation chance of NPCGroupPropJamAssist effect.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityGroupPropJamActivationChance\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1681\": {\n    \"attributeID\": 1681, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 10000.0, \n    \"description\": \"Duration of NPCGroupArmorAssist effect.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityGroupArmorResistanceDuration\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1682\": {\n    \"attributeID\": 1682, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Activation chance for NPCGroupArmorAssist effect.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityGroupArmorResistanceActivationChance\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1683\": {\n    \"attributeID\": 1683, \n    \"dataType\": 5, \n    \"defaultValue\": 0.012000000104308128, \n    \"description\": \"\", \n    \"displayName_de\": \"Abklingfaktor\", \n    \"displayName_en-us\": \"decay factor\", \n    \"displayName_es\": \"factor de deterioro\", \n    \"displayName_fr\": \"facteur de décomposition\", \n    \"displayName_it\": \"decay factor\", \n    \"displayName_ja\": \"劣化乗数\", \n    \"displayName_ko\": \"폐기 요인\", \n    \"displayName_ru\": \"фактор ослабления\", \n    \"displayName_zh\": \"老化因子\", \n    \"displayNameID\": 233602, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ecuDecayFactor\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1684\": {\n    \"attributeID\": 1684, \n    \"dataType\": 4, \n    \"defaultValue\": 9.199999809265137, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximales Volumen\", \n    \"displayName_en-us\": \"Maximum Volume\", \n    \"displayName_es\": \"Volumen máximo\", \n    \"displayName_fr\": \"Volume maximal\", \n    \"displayName_it\": \"Maximum Volume\", \n    \"displayName_ja\": \"最大容量\", \n    \"displayName_ko\": \"최대 볼륨\", \n    \"displayName_ru\": \"Максимальный объём\", \n    \"displayName_zh\": \"最大体积\", \n    \"displayNameID\": 233600, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ecuMaxVolume\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1685\": {\n    \"attributeID\": 1685, \n    \"dataType\": 0, \n    \"defaultValue\": 0.5, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ecuOverlapFactor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1686\": {\n    \"attributeID\": 1686, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Damage reduction for system effects\", \n    \"displayName_de\": \"Systemeffekt-Schadensreduktion\", \n    \"displayName_en-us\": \"System effect damage reduction\", \n    \"displayName_es\": \"Reducción de daño por los efectos del sistema\", \n    \"displayName_fr\": \"Réduction de dégâts d'effet système\", \n    \"displayName_it\": \"System effect damage reduction\", \n    \"displayName_ja\": \"システムエフェクトダメージ軽減\", \n    \"displayName_ko\": \"시스템 효과 피해 감소\", \n    \"displayName_ru\": \"Снижение урона общесистемным эффектом\", \n    \"displayName_zh\": \"星系影响伤害减少\", \n    \"displayNameID\": 233599, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"systemEffectDamageReduction\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"1687\": {\n    \"attributeID\": 1687, \n    \"dataType\": 5, \n    \"defaultValue\": 0.800000011920929, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ecuNoiseFactor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1688\": {\n    \"attributeID\": 1688, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Second Stock Bonus on Pirate Faction Ships.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusRole8\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1689\": {\n    \"attributeID\": 1689, \n    \"dataType\": 5, \n    \"defaultValue\": 0.30000001192092896, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ecuAreaOfInfluence\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1690\": {\n    \"attributeID\": 1690, \n    \"dataType\": 5, \n    \"defaultValue\": 110.0, \n    \"description\": \"CPU cost of extractor head\", \n    \"displayName_de\": \"Extraktorkopf-CPU\", \n    \"displayName_en-us\": \"Extractor head CPU\", \n    \"displayName_es\": \"CPU del cabezal de extracción\", \n    \"displayName_fr\": \"CPU de tête d'extracteur\", \n    \"displayName_it\": \"Extractor head CPU\", \n    \"displayName_ja\": \"抽出ヘッド CPU\", \n    \"displayName_ko\": \"자원추출기 처리부 CPU\", \n    \"displayName_ru\": \"Нагрузка экстракторов на ЦПУ\", \n    \"displayName_zh\": \"采集点CPU\", \n    \"displayNameID\": 233601, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ecuExtractorHeadCPU\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 106\n  }, \n  \"1691\": {\n    \"attributeID\": 1691, \n    \"dataType\": 5, \n    \"defaultValue\": 500.0, \n    \"description\": \"Power cost for a extractor head\", \n    \"displayName_de\": \"Extraktorkopf-Leistung\", \n    \"displayName_en-us\": \"Extractor head Power\", \n    \"displayName_es\": \"Potencia del cabezal de extracción\", \n    \"displayName_fr\": \"Puissance de tête d'extracteur\", \n    \"displayName_it\": \"Extractor head Power\", \n    \"displayName_ja\": \"抽出ヘッドパワー\", \n    \"displayName_ko\": \"자원추출기 처리부 전력\", \n    \"displayName_ru\": \"Нагрузка экстракторов на питание\", \n    \"displayName_zh\": \"采集点能量\", \n    \"displayNameID\": 233603, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ecuExtractorHeadPower\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 107\n  }, \n  \"1692\": {\n    \"attributeID\": 1692, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Authoring has been moved to FSD.\\r\\nmeta group of type\\r\\n\\r\\n3: Story-line (Cosmos)\\r\\n4: Faction\\r\\n5: Officer (rare asteroid NPCs)\\r\\n6: Deadspace\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"metaGroupID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1695\": {\n    \"attributeID\": 1695, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Angel space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDAngel01\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1696\": {\n    \"attributeID\": 1696, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Angel space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDAngel02\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1697\": {\n    \"attributeID\": 1697, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Angel space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDAngel03\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1698\": {\n    \"attributeID\": 1698, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Angel space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDAngel04\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1699\": {\n    \"attributeID\": 1699, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Angel space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDAngel05\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1700\": {\n    \"attributeID\": 1700, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Angel space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDAngel06\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1701\": {\n    \"attributeID\": 1701, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Angel space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDAngel07\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1702\": {\n    \"attributeID\": 1702, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Angel space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDAngel08\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1703\": {\n    \"attributeID\": 1703, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Angel space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDAngel09\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1704\": {\n    \"attributeID\": 1704, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Angel space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDAngel10\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1705\": {\n    \"attributeID\": 1705, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Blood Raider space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDBlood01\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1706\": {\n    \"attributeID\": 1706, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Blood Raider space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDBlood02\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1707\": {\n    \"attributeID\": 1707, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Blood Raider space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDBlood03\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1708\": {\n    \"attributeID\": 1708, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Blood Raider space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDBlood04\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1709\": {\n    \"attributeID\": 1709, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Blood Raider space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDBlood05\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1710\": {\n    \"attributeID\": 1710, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Blood Raider space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDBlood06\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1711\": {\n    \"attributeID\": 1711, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Blood Raider space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDBlood07\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1712\": {\n    \"attributeID\": 1712, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Blood Raider space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDBlood08\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1713\": {\n    \"attributeID\": 1713, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Blood Raider space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDBlood09\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1714\": {\n    \"attributeID\": 1714, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Blood Raider space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDBlood10\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1715\": {\n    \"attributeID\": 1715, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Guristas space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDGurista01\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1716\": {\n    \"attributeID\": 1716, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Guristas space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDGurista02\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1717\": {\n    \"attributeID\": 1717, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Guristas space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDGurista03\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1718\": {\n    \"attributeID\": 1718, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Guristas space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDGurista04\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1719\": {\n    \"attributeID\": 1719, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Guristas space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDGurista05\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1720\": {\n    \"attributeID\": 1720, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Guristas space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDGurista06\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1721\": {\n    \"attributeID\": 1721, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Guristas space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDGurista07\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1722\": {\n    \"attributeID\": 1722, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Guristas space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDGurista08\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1723\": {\n    \"attributeID\": 1723, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Guristas space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDGurista09\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1724\": {\n    \"attributeID\": 1724, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Guristas space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDGurista10\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1725\": {\n    \"attributeID\": 1725, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Rogue Drone space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDRogueDrone01\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1726\": {\n    \"attributeID\": 1726, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Rogue Drone space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDRogueDrone02\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1727\": {\n    \"attributeID\": 1727, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Rogue Drone space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDRogueDrone03\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1728\": {\n    \"attributeID\": 1728, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Rogue Drone space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDRogueDrone04\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1729\": {\n    \"attributeID\": 1729, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Rogue Drone space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDRogueDrone05\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1730\": {\n    \"attributeID\": 1730, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Rogue Drone space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDRogueDrone06\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1731\": {\n    \"attributeID\": 1731, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Rogue Drone space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDRogueDrone07\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1732\": {\n    \"attributeID\": 1732, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Rogue Drone space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDRogueDrone08\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1733\": {\n    \"attributeID\": 1733, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Rogue Drone space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDRogueDrone09\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1734\": {\n    \"attributeID\": 1734, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Rogue Drone space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDRogueDrone10\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1735\": {\n    \"attributeID\": 1735, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Sansha space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSansha01\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1736\": {\n    \"attributeID\": 1736, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Sansha space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSansha02\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1737\": {\n    \"attributeID\": 1737, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Sansha space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSansha03\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1738\": {\n    \"attributeID\": 1738, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Sansha space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSansha04\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1739\": {\n    \"attributeID\": 1739, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Sansha space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSansha05\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1740\": {\n    \"attributeID\": 1740, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Sansha space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSansha06\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1741\": {\n    \"attributeID\": 1741, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Sansha space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSansha07\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1742\": {\n    \"attributeID\": 1742, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Sansha space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSansha08\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1743\": {\n    \"attributeID\": 1743, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Sansha space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSansha09\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1744\": {\n    \"attributeID\": 1744, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Sansha space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSansha10\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1745\": {\n    \"attributeID\": 1745, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Serpentis space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSerpentis01\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1746\": {\n    \"attributeID\": 1746, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Serpentis space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSerpentis02\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1747\": {\n    \"attributeID\": 1747, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Serpentis space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSerpentis03\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1748\": {\n    \"attributeID\": 1748, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Serpentis space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSerpentis04\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1749\": {\n    \"attributeID\": 1749, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Serpentis space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSerpentis05\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1750\": {\n    \"attributeID\": 1750, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Serpentis space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSerpentis06\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1751\": {\n    \"attributeID\": 1751, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Serpentis space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSerpentis07\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1752\": {\n    \"attributeID\": 1752, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Serpentis space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSerpentis08\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1753\": {\n    \"attributeID\": 1753, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Serpentis space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSerpentis09\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1754\": {\n    \"attributeID\": 1754, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for sov upgrades in Serpentis space\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionIDSerpentis10\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1755\": {\n    \"attributeID\": 1755, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for global sov upgrades\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionID01\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1756\": {\n    \"attributeID\": 1756, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for global sov upgrades\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionID02\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1757\": {\n    \"attributeID\": 1757, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for global sov upgrades\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionID03\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1758\": {\n    \"attributeID\": 1758, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for global sov upgrades\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionID04\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1759\": {\n    \"attributeID\": 1759, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for global sov upgrades\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionID05\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1760\": {\n    \"attributeID\": 1760, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for global sov upgrades\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionID06\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1761\": {\n    \"attributeID\": 1761, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for global sov upgrades\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionID07\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1762\": {\n    \"attributeID\": 1762, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for global sov upgrades\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionID08\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1763\": {\n    \"attributeID\": 1763, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for global sov upgrades\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionID09\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1764\": {\n    \"attributeID\": 1764, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distribution ID for global sov upgrades\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"distributionID10\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1766\": {\n    \"attributeID\": 1766, \n    \"categoryID\": 31, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"This attribute is used on entities to link them to a player ship group. This is then used to determine which overview icon they should get, among other things\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityOverviewShipGroupId\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"1768\": {\n    \"attributeID\": 1768, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The value of this attribute is a graphicsID which controls the color scheme of this type. It is used to apply said color scheme to items of other types whose gfx representation is tied in with the attribute holder. Example: Turrets on ships.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"typeColorScheme\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"1770\": {\n    \"attributeID\": 1770, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of material bay\", \n    \"displayName_de\": \"Kapazität des Spezialmaterialien-Hangars\", \n    \"displayName_en-us\": \"Special material bay capacity\", \n    \"displayName_es\": \"Capacidad especial de la plataforma de materiales\", \n    \"displayName_fr\": \"Capacité de la baie à matériel spécial\", \n    \"displayName_it\": \"Special material bay capacity\", \n    \"displayName_ja\": \"特殊資源ベイの容量\", \n    \"displayName_ko\": \"특수 자원 저장소 적재량\", \n    \"displayName_ru\": \"Объём отсека для особых материалов\", \n    \"displayName_zh\": \"特殊材料仓容量\", \n    \"displayNameID\": 233641, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"specialMaterialBayCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"1771\": {\n    \"attributeID\": 1771, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"Type of object which this object transforms into.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"constructionType\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1772\": {\n    \"attributeID\": 1772, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to chance of opening a container (for skills).\", \n    \"displayName_de\": \"Zugriffsschwierigkeitsbonus\", \n    \"displayName_en-us\": \"Access Difficulty Bonus\", \n    \"displayName_es\": \"Bonificación de dificultad de acceso\", \n    \"displayName_fr\": \"Bonus de difficulté d'accès\", \n    \"displayName_it\": \"Access Difficulty Bonus\", \n    \"displayName_ja\": \"アクセス難度ボーナス\", \n    \"displayName_ko\": \"잠금 해제 보너스\", \n    \"displayName_ru\": \"Влияние на сложность доступа\", \n    \"displayName_zh\": \"获取成功率\", \n    \"displayNameID\": 233642, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"accessDifficultyBonusAbsolutePercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1773\": {\n    \"attributeID\": 1773, \n    \"categoryID\": 7, \n    \"dataType\": 0, \n    \"defaultValue\": 2.0, \n    \"description\": \"Used to describe what sex a given item is meant for.\\r\\n\\r\\n1 = Male,\\r\\n2 = Unisex,\\r\\n3 = Female\", \n    \"displayName_de\": \"Geschlecht\", \n    \"displayName_en-us\": \"Gender\", \n    \"displayName_es\": \"Sexo\", \n    \"displayName_fr\": \"Sexe\", \n    \"displayName_it\": \"Gender\", \n    \"displayName_ja\": \"性別\", \n    \"displayName_ko\": \"성별\", \n    \"displayName_ru\": \"Пол\", \n    \"displayName_zh\": \"性别\", \n    \"displayNameID\": 233644, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"gender\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 142\n  }, \n  \"1775\": {\n    \"attributeID\": 1775, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Verbrauchsquantitäts-Bonus\", \n    \"displayName_en-us\": \"Consumption Quantity Bonus\", \n    \"displayName_es\": \"Bonificación de cantidad de consumo\", \n    \"displayName_fr\": \"Bonus de quantité consommée\", \n    \"displayName_it\": \"Consumption Quantity Bonus\", \n    \"displayName_ja\": \"消費量ボーナス\", \n    \"displayName_ko\": \"소모량 보너스\", \n    \"displayName_ru\": \"Уменьшение количества расходуемого топлива\", \n    \"displayName_zh\": \"消耗量加成\", \n    \"displayNameID\": 233646, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"consumptionQuantityBonusPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1778\": {\n    \"attributeID\": 1778, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is a fake attribute for show info purposes.\", \n    \"displayName_de\": \"Produktionskostenbonus\", \n    \"displayName_en-us\": \"Manufacture Cost Bonus\", \n    \"displayName_es\": \"Bonificación de coste de fabricación\", \n    \"displayName_fr\": \"Bonus de coût de production\", \n    \"displayName_it\": \"Manufacture Cost Bonus\", \n    \"displayName_ja\": \"製造コストボーナス\", \n    \"displayName_ko\": \"생산 비용 보너스\", \n    \"displayName_ru\": \"Уменьшение расходов на производство\", \n    \"displayName_zh\": \"制造花费加成\", \n    \"displayNameID\": 233647, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"manufactureCostBonusShowInfo\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1780\": {\n    \"attributeID\": 1780, \n    \"dataType\": 5, \n    \"defaultValue\": 0.10000000149011612, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcCustomsOfficeTaxRate\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1781\": {\n    \"attributeID\": 1781, \n    \"dataType\": 5, \n    \"defaultValue\": 0.10000000149011612, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"defaultCustomsOfficeTaxRate\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1782\": {\n    \"attributeID\": 1782, \n    \"categoryID\": 10, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Genehmigte Drohnengruppe\", \n    \"displayName_en-us\": \"Allowed Drone Group\", \n    \"displayName_es\": \"Grupo de drones permitido\", \n    \"displayName_fr\": \"Groupe de drones autorisé\", \n    \"displayName_it\": \"Allowed Drone Group\", \n    \"displayName_ja\": \"ドローングループを許可\", \n    \"displayName_ko\": \"드론 그룹 허용\", \n    \"displayName_ru\": \"Разрешенная группа дронов\", \n    \"displayName_zh\": \"允许的无人机组别\", \n    \"displayNameID\": 263173, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"allowedDroneGroup1\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"1783\": {\n    \"attributeID\": 1783, \n    \"categoryID\": 10, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Genehmigte Drohnengruppe\", \n    \"displayName_en-us\": \"Allowed Drone Group\", \n    \"displayName_es\": \"Grupo de drones permitido\", \n    \"displayName_fr\": \"Groupe de drones autorisé\", \n    \"displayName_it\": \"Allowed Drone Group\", \n    \"displayName_ja\": \"ドローングループを許可\", \n    \"displayName_ko\": \"드론 그룹 허용\", \n    \"displayName_ru\": \"Разрешенная группа дронов\", \n    \"displayName_zh\": \"允许的无人机组别\", \n    \"displayNameID\": 263174, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"allowedDroneGroup2\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"1785\": {\n    \"attributeID\": 1785, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Capital Sized Vessel\", \n    \"displayName_en-us\": \"Capital Sized Vessel\", \n    \"displayName_es\": \"Nave de tamaño capital\", \n    \"displayName_fr\": \"Vaisseau de taille capitale\", \n    \"displayName_it\": \"Capital Sized Vessel\", \n    \"displayName_ja\": \"母艦級艦船\", \n    \"displayName_ko\": \"캐피탈 크기 함선\", \n    \"displayName_ru\": \"Корабль КБТ-класса\", \n    \"displayName_zh\": \"旗舰级舰船\", \n    \"displayNameID\": 263205, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"isCapitalSize\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1786\": {\n    \"attributeID\": 1786, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Used by Battlecruisers for large turret powergrid reduction\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"bcLargeTurretPower\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1787\": {\n    \"attributeID\": 1787, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Used by Battlecruisers for large turret CPU reduction\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"bcLargeTurretCPU\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1788\": {\n    \"attributeID\": 1788, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Used by Battlecruisers for large turret capacitor reduction\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"bcLargeTurretCap\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1790\": {\n    \"attributeID\": 1790, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Used by Battlecruisers for Siege Missile CPU reduction\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"bcSiegeMissileCPU\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1791\": {\n    \"attributeID\": 1791, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Used by Battlecruisers for siege missile powergrid reduction\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"bcSiegeMissilePower\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1792\": {\n    \"attributeID\": 1792, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusBC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1793\": {\n    \"attributeID\": 1793, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusBC4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1794\": {\n    \"attributeID\": 1794, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to booster effect.\", \n    \"displayName_de\": \"Effektbonus\", \n    \"displayName_en-us\": \"Effect Bonus\", \n    \"displayName_es\": \"Bonificación de efecto\", \n    \"displayName_fr\": \"Bonus d'effet\", \n    \"displayName_it\": \"Effect Bonus\", \n    \"displayName_ja\": \"効果ボーナス\", \n    \"displayName_ko\": \"효과 보너스\", \n    \"displayName_ru\": \"Бонус эффекта\", \n    \"displayName_zh\": \"效果加成\", \n    \"displayNameID\": 263696, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"skillBonusBooster\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1795\": {\n    \"attributeID\": 1795, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 10000.0, \n    \"description\": \"reload time (ms)\", \n    \"displayName_de\": \"Aufladezeit\", \n    \"displayName_en-us\": \"Reload Time\", \n    \"displayName_es\": \"Tiempo de recarga\", \n    \"displayName_fr\": \"Temps de recharge\", \n    \"displayName_it\": \"Reload Time\", \n    \"displayName_ja\": \"リロード時間\", \n    \"displayName_ko\": \"재장전 시간\", \n    \"displayName_ru\": \"Время перезарядки\", \n    \"displayName_zh\": \"重新装填时间\", \n    \"displayNameID\": 263842, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1397, \n    \"name\": \"reloadTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"1797\": {\n    \"attributeID\": 1797, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"This item of clothing covers multiple areas of the body, so the category of clothes specified by this attribute is no longer mandatory\", \n    \"displayName_de\": \"Benötigt keinen Kleidungstyp\", \n    \"displayName_en-us\": \"Does Not Require Clothing Type\", \n    \"displayName_es\": \"No requiere tipo de ropa\", \n    \"displayName_fr\": \"Ne nécessite pas de type de vêtement\", \n    \"displayName_it\": \"Does Not Require Clothing Type\", \n    \"displayName_ja\": \"衣服タイプの指定なし\", \n    \"displayName_ko\": \"의상 분류 필요 없음\", \n    \"displayName_ru\": \"Тип одежды не требуется\", \n    \"displayName_zh\": \"不要求服饰类别\", \n    \"displayNameID\": 263911, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"clothingAlsoCoversCategory\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1798\": {\n    \"attributeID\": 1798, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"When set to non-zero on a module with an assistance effect, the module cannot be activated against a target that has a positive disallowOffensiveModifiers attribute\", \n    \"displayName_de\": \"Gegen EW-immune Ziele verbieten\", \n    \"displayName_en-us\": \"Disallow against EW-immune target\", \n    \"displayName_es\": \"Desconectar contra objetivo inmune a electromagnético\", \n    \"displayName_fr\": \"Interdire contre les cibles immunisées contre la guerre électronique\", \n    \"displayName_it\": \"Disallow against EW-immune target\", \n    \"displayName_ja\": \"EW 免疫ターゲットを却下\", \n    \"displayName_ko\": \"EW-면역 타겟 공격 불허\", \n    \"displayName_ru\": \"Запрещено применение по целям с иммунитетом к системам РЭБ\", \n    \"displayName_zh\": \"不允许针对免疫电子战的目标\", \n    \"displayNameID\": 263914, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"disallowAgainstEwImmuneTarget\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1799\": {\n    \"attributeID\": 1799, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Genolution Set Bonus\", \n    \"displayName_en-us\": \"Genolution Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Genolution\", \n    \"displayName_fr\": \"Bonus d'ensemble Génolution\", \n    \"displayName_it\": \"Genolution Set Bonus\", \n    \"displayName_ja\": \"ジェノリューションセットボーナス\", \n    \"displayName_ko\": \"제놀루션 세트 보너스\", \n    \"displayName_ru\": \"Бонус от комплекта «Генолюция»\", \n    \"displayName_zh\": \"格鲁汀套装加成\", \n    \"displayNameID\": 263930, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"implantSetChristmas\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1803\": {\n    \"attributeID\": 1803, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"reduction in MicroWarp Drive signature\", \n    \"displayName_de\": \"Bonus auf Signaturradiusabzug und Energiespeicherverbrauch von Mikrowarpantrieben\", \n    \"displayName_en-us\": \"MWD sig penalty and cap need bonus\", \n    \"displayName_es\": \"Bonificación de necesidad del condensador y penalización de señal del MMC\", \n    \"displayName_fr\": \"Bonus de pénalité de signature et de besoins énergétiques du PMW\", \n    \"displayName_it\": \"MWD sig penalty and cap need bonus\", \n    \"displayName_ja\": \"MWDのシグネチャペナルティとキャパシタ消費軽減ボーナス\", \n    \"displayName_ko\": \"MWD 시그니처 페널티 및 캐패시터 사용량 보너스\", \n    \"displayName_ru\": \"Уменьшение потребления накопителя и влияния микроварп-ускорителя на радиус сигнатуры\", \n    \"displayName_zh\": \"微型跃迁推进器信号半径惩罚和电容消耗加成\", \n    \"displayNameID\": 595366, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"MWDSignatureRadiusBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1804\": {\n    \"attributeID\": 1804, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of Quafe hold\", \n    \"displayName_de\": \"Quafe-Fassungsvermögen\", \n    \"displayName_en-us\": \"Quafe Hold Capacity\", \n    \"displayName_es\": \"Capacidad de bodega de Quafe\", \n    \"displayName_fr\": \"Capacité de la soute à Quafe\", \n    \"displayName_it\": \"Quafe Hold Capacity\", \n    \"displayName_ja\": \"クァフェホールド容量\", \n    \"displayName_ko\": \"퀘이프 저장고 적재량\", \n    \"displayName_ru\": \"Ёмкость отсека для «Квейф»\", \n    \"displayName_zh\": \"酷菲货舱容量\", \n    \"displayNameID\": 267679, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"specialQuafeHoldCapacity\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"1806\": {\n    \"attributeID\": 1806, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is a display-only attribute for showinfo\", \n    \"displayName_de\": \"Erfordert Souveränität\", \n    \"displayName_en-us\": \"Requires Sovereignty\", \n    \"displayName_es\": \"Requiere soberanía\", \n    \"displayName_fr\": \"Souveraineté requise\", \n    \"displayName_it\": \"Requires Sovereignty\", \n    \"displayName_ja\": \"領有権必要\", \n    \"displayName_ko\": \"소버린티가 필요합니다.\", \n    \"displayName_ru\": \"Требуется право владения\", \n    \"displayName_zh\": \"需要主权\", \n    \"displayNameID\": 276943, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"requiresSovereigntyDisplayOnly\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1808\": {\n    \"attributeID\": 1808, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"nosReflector\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"1809\": {\n    \"attributeID\": 1809, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"neutReflector\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"1811\": {\n    \"attributeID\": 1811, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Chance of reflecting NOS/neut effect back on attacker\", \n    \"displayName_de\": \"Capacitor Angriff Reflektionschance\", \n    \"displayName_en-us\": \"Capacitor Attack Reflect Chance\", \n    \"displayName_es\": \"Probabilidad de reflejo de ataque del condensador\", \n    \"displayName_fr\": \"Chance de renvoi d'attaque de capaciteur\", \n    \"displayName_it\": \"Capacitor Attack Reflect Chance\", \n    \"displayName_ja\": \"キャパシタ攻撃成功率\", \n    \"displayName_ko\": \"캐패시터 공격 반사 기회\", \n    \"displayName_ru\": \"Шанс отражения атаки накопителем\", \n    \"displayName_zh\": \"电容攻击反射几率\", \n    \"displayNameID\": 277617, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"capAttackReflector\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"1812\": {\n    \"attributeID\": 1812, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Turret damage is reduced when shooting at targets with a sig radius below this value.\", \n    \"displayName_de\": \"Damage Reduction Threshold\", \n    \"displayName_en-us\": \"Damage Reduction Threshold\", \n    \"displayName_es\": \"Límite de reducción de daño\", \n    \"displayName_fr\": \"Seuil de réduction des dégâts\", \n    \"displayName_it\": \"Damage Reduction Threshold\", \n    \"displayName_ja\": \"ダメージ減少境界値\", \n    \"displayName_ko\": \"피해 감소 한계치\", \n    \"displayName_ru\": \"Порог снижения урона\", \n    \"displayName_zh\": \"伤害减免阀值\", \n    \"displayNameID\": 278346, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"turretDamageScalingRadius\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"1813\": {\n    \"attributeID\": 1813, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This attribute is used by the effect which sets titans' turrets to reduce damage below a certain target signature radius.\", \n    \"displayName_de\": \"Schadensverändernder Radius der Geschütztürme\", \n    \"displayName_en-us\": \"Turret Damage Scaling Radius\", \n    \"displayName_es\": \"Radio de escala de daño de torretas\", \n    \"displayName_fr\": \"Rayon d'échelle des dégâts de tourelle\", \n    \"displayName_it\": \"Turret Damage Scaling Radius\", \n    \"displayName_ja\": \"タレットダメージスケール半径\", \n    \"displayName_ko\": \"터렛 피해량 조절 범위\", \n    \"displayName_ru\": \"Радиус уменьшения наносимых повреждений\", \n    \"displayName_zh\": \"炮台伤害调整范围\", \n    \"displayNameID\": 278371, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"titanBonusScalingRadius\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"1814\": {\n    \"attributeID\": 1814, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"nosReflectAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"1815\": {\n    \"attributeID\": 1815, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"neutReflectAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"1816\": {\n    \"attributeID\": 1816, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Neutralizer Reflektionswert\", \n    \"displayName_en-us\": \"Neutralizer Reflect Amount\", \n    \"displayName_es\": \"Cantidad de reflejo del neutralizador\", \n    \"displayName_fr\": \"Quantité renvoyée par le neutraliseur\", \n    \"displayName_it\": \"Neutralizer Reflect Amount\", \n    \"displayName_ja\": \"ニュートラライザー残量\", \n    \"displayName_ko\": \"뉴트럴라이저 적용값\", \n    \"displayName_ru\": \"Количество отражаемого воздействия при нейтрализации энергии\", \n    \"displayName_zh\": \"中和器反射量\", \n    \"displayNameID\": 278486, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"neutReflectAmountBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"1817\": {\n    \"attributeID\": 1817, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Energy Leech Reflektionswert\", \n    \"displayName_en-us\": \"Energy Leech Reflect Amount\", \n    \"displayName_es\": \"Cantidad de reflejo de la absorción energética\", \n    \"displayName_fr\": \"Quantité renvoyée par la sangsue énergétique\", \n    \"displayName_it\": \"Energy Leech Reflect Amount\", \n    \"displayName_ja\": \"エネルギー吸引残量\", \n    \"displayName_ko\": \"에너지 흡수 적용값\", \n    \"displayName_ru\": \"Количество отражаемого воздействия при паразитной подзарядке\", \n    \"displayName_zh\": \"掠能器反射量\", \n    \"displayNameID\": 278487, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"nosReflectAmountBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"1818\": {\n    \"attributeID\": 1818, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"aurumConversionRate\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1820\": {\n    \"attributeID\": 1820, \n    \"categoryID\": 7, \n    \"dataType\": 2, \n    \"defaultValue\": 10000000.0, \n    \"description\": \"The base cost of hiring an ally into a war\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"baseDefenderAllyCost\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 133\n  }, \n  \"1821\": {\n    \"attributeID\": 1821, \n    \"categoryID\": 7, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Alliierten-Kosten-Modifikator\", \n    \"displayName_en-us\": \"Ally Cost Modifier Percentage Per Level\", \n    \"displayName_es\": \"Porcentaje de modificador de costes de aliados por niveles\", \n    \"displayName_fr\": \"Pourcentage du modificateur de coût d'allié par niveau\", \n    \"displayName_it\": \"Ally Cost Modifier Percentage Per Level\", \n    \"displayName_ja\": \"援助要請費用修正\", \n    \"displayName_ko\": \"레벨별 동맹 비용 비율\", \n    \"displayName_ru\": \"Модификатор стоимости альянса за каждую степень\", \n    \"displayName_zh\": \"每等级盟军费用乘数百分比\", \n    \"displayNameID\": 279694, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"skillAllyCostModifierBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1822\": {\n    \"attributeID\": 1822, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Reduction in energy turret capacitor use\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieSETCapBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1823\": {\n    \"attributeID\": 1823, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Energy turret damage bonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieSETDamageBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1824\": {\n    \"attributeID\": 1824, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to tracking disruptor effectiveness\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieWeaponDisruptionBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1825\": {\n    \"attributeID\": 1825, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to armor resistances\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieArmorResistanceBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1826\": {\n    \"attributeID\": 1826, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Small Hybrid Turret optimal range bonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieSHTOptimalBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1827\": {\n    \"attributeID\": 1827, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to kinetic missile damage\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieMissileKinDamageBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1828\": {\n    \"attributeID\": 1828, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"ECM Strength Bonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieECMStrengthBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1829\": {\n    \"attributeID\": 1829, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Shield resistance bonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieShieldResistBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1830\": {\n    \"attributeID\": 1830, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to Small Hybrid Turret damage\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieSHTDamageBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1831\": {\n    \"attributeID\": 1831, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to drone damage, HP and mining yield\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieDroneBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1832\": {\n    \"attributeID\": 1832, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to sensor damper effectiveness\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieDampStrengthBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1833\": {\n    \"attributeID\": 1833, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to armor repair amount\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieArmorRepBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1834\": {\n    \"attributeID\": 1834, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to target painter effectiveness\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieTargetPainterStrengthBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1835\": {\n    \"attributeID\": 1835, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to ship velocity\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieShipVelocityBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1836\": {\n    \"attributeID\": 1836, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to Small Projectile Turret damage\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieSPTDamageBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1837\": {\n    \"attributeID\": 1837, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to shield booster repair amount\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieShieldBoostBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1838\": {\n    \"attributeID\": 1838, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to optimal range of Codebreakers and Analyzers\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miniProfessionRangeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1839\": {\n    \"attributeID\": 1839, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 10000.0, \n    \"description\": \"The delay in ms until the damage is done to the target. (Allows some FX to be played)\", \n    \"displayName_de\": \"Verzögerung bei Schaden\", \n    \"displayName_en-us\": \"Damage Delay\", \n    \"displayName_es\": \"Demora de daño\", \n    \"displayName_fr\": \"Délai de dégâts\", \n    \"displayName_it\": \"Damage Delay\", \n    \"displayName_ja\": \"ダメージ遅延\", \n    \"displayName_ko\": \"피해 지연\", \n    \"displayName_ru\": \"Задержка урона\", \n    \"displayName_zh\": \"伤害延迟\", \n    \"displayNameID\": 285425, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"damageDelayDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"1840\": {\n    \"attributeID\": 1840, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"energyTransferAmountBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1842\": {\n    \"attributeID\": 1842, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"ORE Mining frigate bonus 1\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningFrigatesBonusOreMiningYield\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1843\": {\n    \"attributeID\": 1843, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"ORE Mining frigate bonus 2\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusOREfrig2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1844\": {\n    \"attributeID\": 1844, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"A scaling factor used by DUST to determine how accurate a single shot from an orbital strike is.\", \n    \"displayName_de\": \"Orbitalschlagpräzision\", \n    \"displayName_en-us\": \"Orbital Strike Accuracy\", \n    \"displayName_es\": \"Precisión de asalto orbital\", \n    \"displayName_fr\": \"Précision de frappe orbitale\", \n    \"displayName_it\": \"Orbital Strike Accuracy\", \n    \"displayName_ja\": \"軌道攻撃精度\", \n    \"displayName_ko\": \"궤도 타격 정확도\", \n    \"displayName_ru\": \"Точность орбитального удара\", \n    \"displayName_zh\": \"轨道轰炸准确性\", \n    \"displayNameID\": 283248, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"orbitalStrikeAccuracy\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1845\": {\n    \"attributeID\": 1845, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"A scaling factor used by DUST to determine how much damage a single shot from an orbital strike does.\", \n    \"displayName_de\": \"Orbitalschlagschaden\", \n    \"displayName_en-us\": \"Orbital Strike Damage\", \n    \"displayName_es\": \"Daño de asalto orbital\", \n    \"displayName_fr\": \"Dégâts de frappe orbitale\", \n    \"displayName_it\": \"Orbital Strike Damage\", \n    \"displayName_ja\": \"軌道攻撃ダメージ\", \n    \"displayName_ko\": \"궤도 타격 피해\", \n    \"displayName_ru\": \"Урон орбитального удара\", \n    \"displayName_zh\": \"轨道轰炸伤害\", \n    \"displayNameID\": 283249, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"orbitalStrikeDamage\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1846\": {\n    \"attributeID\": 1846, \n    \"categoryID\": 9, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"The second cargo group that can be loaded into this container\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"cargoGroup2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1847\": {\n    \"attributeID\": 1847, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, 902\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"902\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1848\": {\n    \"attributeID\": 1848, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, 902\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"902\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1849\": {\n    \"attributeID\": 1849, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Indicates the percentage amount redistributed each cycle for resistance shift modules\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"resistanceShiftAmount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1851\": {\n    \"attributeID\": 1851, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus for Sensor Strength\", \n    \"displayName_de\": \"Bonus für Sensorstärke\", \n    \"displayName_en-us\": \"Sensor Strength Bonus\", \n    \"displayName_es\": \"Bonificación de intensidad del sensor\", \n    \"displayName_fr\": \"Bonus de puissance de détection\", \n    \"displayName_it\": \"Sensor Strength Bonus\", \n    \"displayName_ja\": \"センサー強度ボーナス\", \n    \"displayName_ko\": \"센서 강도 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность систем захвата целей\", \n    \"displayName_zh\": \"感应强度加成\", \n    \"displayNameID\": 283692, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"sensorStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"1852\": {\n    \"attributeID\": 1852, \n    \"dataType\": 3, \n    \"defaultValue\": 1.0, \n    \"description\": \"This attribute is not needed by default. You only need to add it if you want to stop something from being jettisoned.\\r\\n\\r\\nThe primary case for this was Station Containers.\\r\\n\\r\\n0 = Cannot be jettisoned.\\r\\n1 = Can be jettisoned.\", \n    \"displayName_de\": \"Kann abgeworfen werden\", \n    \"displayName_en-us\": \"Can Be Jettisoned\", \n    \"displayName_es\": \"Se puede expulsar.\", \n    \"displayName_fr\": \"Peut être largué dans l'espace\", \n    \"displayName_it\": \"Can Be Jettisoned\", \n    \"displayName_ja\": \"船外投棄可能\", \n    \"displayName_ko\": \"사출 가능\", \n    \"displayName_ru\": \"Разрешается сбрасывать\", \n    \"displayName_zh\": \"可以被投弃\", \n    \"displayNameID\": 283852, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"canBeJettisoned\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1854\": {\n    \"attributeID\": 1854, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is a devhax attribute that prevents you from e-warping on logon or logoff\", \n    \"displayName_de\": \"Stabile Abschaltung\", \n    \"displayName_en-us\": \"Stable Shutdown\", \n    \"displayName_es\": \"Desconexión estable\", \n    \"displayName_fr\": \"Fermeture stable\", \n    \"displayName_it\": \"Stable Shutdown\", \n    \"displayName_ja\": \"安定シャットダウン\", \n    \"displayName_ko\": \"안정적인 종료\", \n    \"displayName_ru\": \"Стабильное выключение\", \n    \"displayName_zh\": \"稳定关闭\", \n    \"displayNameID\": 285427, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"doesNotEmergencyWarp\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1855\": {\n    \"attributeID\": 1855, \n    \"categoryID\": 12, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"NPC'S with this attribute wont shoot drones with signature radius less than this value.\", \n    \"displayName_de\": \"Drohnen mit geringerer Größe ignorieren\", \n    \"displayName_en-us\": \"Ignore Drones Below This Size\", \n    \"displayName_es\": \"Ignorar drones por debajo de este tamaño\", \n    \"displayName_fr\": \"Ignorer les drones de taille inférieure\", \n    \"displayName_it\": \"Ignore Drones Below This Size\", \n    \"displayName_ja\": \"このサイズより小さいドローンを無視\", \n    \"displayName_ko\": \"해당 크기 미만의 드론 무시\", \n    \"displayName_ru\": \"Игнорировать дронов с размером меньше данного\", \n    \"displayName_zh\": \"忽略这个规格以下的无人机\", \n    \"displayNameID\": 286332, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_IgnoreDronesBelowSignatureRadius\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"1856\": {\n    \"attributeID\": 1856, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reduktion des Masseabzugs\", \n    \"displayName_en-us\": \"Mass Penalty Reduction\", \n    \"displayName_es\": \"Reducción de penalización en masa\", \n    \"displayName_fr\": \"Réduction de pénalité de masse\", \n    \"displayName_it\": \"Mass Penalty Reduction\", \n    \"displayName_ja\": \"質量ペナルティ軽減\", \n    \"displayName_ko\": \"대량 페널티 감소\", \n    \"displayName_ru\": \"Снижение штрафа за массу\", \n    \"displayName_zh\": \"质量惩罚降低\", \n    \"displayNameID\": 286444, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"massPenaltyReduction\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1857\": {\n    \"attributeID\": 1857, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in small energy turret tracking\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieSETTracking\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1858\": {\n    \"attributeID\": 1858, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in Small Energy Turret optimal Range\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieSETOptimal\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1859\": {\n    \"attributeID\": 1859, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in Nosferatu drain amount\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieNosDrain\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1860\": {\n    \"attributeID\": 1860, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in Energy Neutralizer drain amount\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieNeutDrain\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1861\": {\n    \"attributeID\": 1861, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in Statis Webifier speed reduction\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieWebAmount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1862\": {\n    \"attributeID\": 1862, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in Light Missile velocity\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieLightMissileVelocity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1863\": {\n    \"attributeID\": 1863, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in Rocket velocity\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieRocketVelocity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1864\": {\n    \"attributeID\": 1864, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in Drone MWD speed\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieDroneMWDspeed\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1865\": {\n    \"attributeID\": 1865, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieSHTTracking\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1866\": {\n    \"attributeID\": 1866, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieSHTFalloff\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1867\": {\n    \"attributeID\": 1867, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in Small Projectile Turret tracking\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieSPTTracking\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1868\": {\n    \"attributeID\": 1868, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in Small Projectile Turret falloff\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieSPTFalloff\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1869\": {\n    \"attributeID\": 1869, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in Small Projectile Turret optimal range\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"rookieSPTOptimal\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1870\": {\n    \"attributeID\": 1870, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"covertCloakCPUAdd\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1871\": {\n    \"attributeID\": 1871, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"covertCloakCPUPenalty\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1872\": {\n    \"attributeID\": 1872, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"Can be fitted to\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 286652, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup05\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"1879\": {\n    \"attributeID\": 1879, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"Can be fitted to\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 286660, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup06\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"1880\": {\n    \"attributeID\": 1880, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 286662, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup07\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"1881\": {\n    \"attributeID\": 1881, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 286661, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup08\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"1882\": {\n    \"attributeID\": 1882, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareLinkCPUAdd\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1883\": {\n    \"attributeID\": 1883, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareLinkCPUPenalty\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1886\": {\n    \"attributeID\": 1886, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplier applied to armorDamageAmount when consuming a collection of charges.\", \n    \"displayName_de\": \"Verstärkter Reparaturmultiplikator\", \n    \"displayName_en-us\": \"Boosted repair multiplier\", \n    \"displayName_es\": \"Multiplicador de reparación potenciado\", \n    \"displayName_fr\": \"Multiplicateur de réparation boostée\", \n    \"displayName_it\": \"Boosted repair multiplier\", \n    \"displayName_ja\": \"ブースト時リペア乗数\", \n    \"displayName_ko\": \"부스터로 인한 수리값 배수\", \n    \"displayName_ru\": \"Множитель восстановления прочности под воздействием усиления\", \n    \"displayName_zh\": \"增强模式时修复量增量倍数\", \n    \"displayNameID\": 286772, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"chargedArmorDamageMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1887\": {\n    \"attributeID\": 1887, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusAD1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1888\": {\n    \"attributeID\": 1888, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusAD2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1889\": {\n    \"attributeID\": 1889, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusABC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1890\": {\n    \"attributeID\": 1890, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"This will make the item non-destructible upon podding.  ONLY FOR IMPLANTS AND BOOSTERS\", \n    \"displayName_de\": \"Unzerstörbar\", \n    \"displayName_en-us\": \"Non-Destructible\", \n    \"displayName_es\": \"Indestructible\", \n    \"displayName_fr\": \"Non destructible\", \n    \"displayName_it\": \"Non-Destructible\", \n    \"displayName_ja\": \"破壊不可\", \n    \"displayName_ko\": \"파괴 불가\", \n    \"displayName_ru\": \"Неуничтожаемый\", \n    \"displayName_zh\": \"无法摧毁\", \n    \"displayNameID\": 286891, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"nondestructible\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1891\": {\n    \"attributeID\": 1891, \n    \"categoryID\": 9, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Tells if this type (ship) can be placed in the maintenance bay of a capital industrial ship.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"allowedInCapIndustrialMaintenanceBay\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1892\": {\n    \"attributeID\": 1892, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"the average armor amount repaired per second\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityArmorRepairAmountPerSecond\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"1893\": {\n    \"attributeID\": 1893, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"the average shield amount regenerated per second\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityShieldBoostAmountPerSecond\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"1894\": {\n    \"attributeID\": 1894, \n    \"categoryID\": 7, \n    \"dataType\": 2, \n    \"defaultValue\": 1.0, \n    \"description\": \"represents the capacity level of an entity\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityCapacitorLevel\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 109\n  }, \n  \"1895\": {\n    \"attributeID\": 1895, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"modifier to an entity capacitor level to represent energy drain for small ships\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityCapacitorLevelModifierSmall\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"1896\": {\n    \"attributeID\": 1896, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"modifier to an entity capacitor level to represent energy drain for medium ships\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityCapacitorLevelModifierMedium\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"1897\": {\n    \"attributeID\": 1897, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"modifier to an entity capacitor level to represent energy drain for large ships\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entityCapacitorLevelModifierLarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"1904\": {\n    \"attributeID\": 1904, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"ISK fee per tag to be paid when turning in a tag for a security-status gain\", \n    \"displayName_de\": \"Verarbeitungsgebühr\", \n    \"displayName_en-us\": \"Processing Fee\", \n    \"displayName_es\": \"Tasa de procesamiento\", \n    \"displayName_fr\": \"Frais de traitement\", \n    \"displayName_it\": \"Processing Fee\", \n    \"displayName_ja\": \"処理料\", \n    \"displayName_ko\": \"처리 요금\", \n    \"displayName_ru\": \"Плата за обработку\", \n    \"displayName_zh\": \"手续费\", \n    \"displayNameID\": 287808, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2512, \n    \"name\": \"securityProcessingFee\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 133\n  }, \n  \"1905\": {\n    \"attributeID\": 1905, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Max. Scan-Abweichungsmodifikator\", \n    \"displayName_en-us\": \"Maximum Scan Deviation Modifier\", \n    \"displayName_es\": \"Modificador de desviación máxima del escaneo\", \n    \"displayName_fr\": \"Modificateur de déviation max du balayage\", \n    \"displayName_it\": \"Maximum Scan Deviation Modifier\", \n    \"displayName_ja\": \"最大スキャン誤差修正乗数\", \n    \"displayName_ko\": \"최대 스캔 오차 보정치\", \n    \"displayName_ru\": \"Влияние на максимальное отклонение при поиске зондами\", \n    \"displayName_zh\": \"扫描偏差上限调整\", \n    \"displayNameID\": 288161, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxScanDeviationModifierModule\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"1906\": {\n    \"attributeID\": 1906, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Laufzeitbonus\", \n    \"displayName_en-us\": \"Duration Bonus\", \n    \"displayName_es\": \"Bonificación de duración\", \n    \"displayName_fr\": \"Bonus de durée\", \n    \"displayName_it\": \"Duration Bonus\", \n    \"displayName_ja\": \"起動時間ボーナス\", \n    \"displayName_ko\": \"지속시간 보너스\", \n    \"displayName_ru\": \"Влияние на длительность\", \n    \"displayName_zh\": \"单次运转时间加成\", \n    \"displayNameID\": 288163, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"scanDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"1907\": {\n    \"attributeID\": 1907, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Scan-Stärke-Bonus\", \n    \"displayName_en-us\": \"Scan Strength Bonus\", \n    \"displayName_es\": \"Bonificación de intensidad del escaneo\", \n    \"displayName_fr\": \"Bonus de puissance du balayage\", \n    \"displayName_it\": \"Scan Strength Bonus\", \n    \"displayName_ja\": \"スキャン強度ボーナス\", \n    \"displayName_ko\": \"스캔 강도 보너스\", \n    \"displayName_ru\": \"Влияние на чувствительность зондов\", \n    \"displayName_zh\": \"扫描强度加成\", \n    \"displayNameID\": 288258, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanStrengthBonusModule\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"1908\": {\n    \"attributeID\": 1908, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Wormhole signature strength.\", \n    \"displayName_de\": \"Wurmloch-Signaturstärke\", \n    \"displayName_en-us\": \"Wormhole Signature Strength\", \n    \"displayName_es\": \"Intensidad de la señal de agujero de gusano\", \n    \"displayName_fr\": \"Puissance de signature de trou de ver\", \n    \"displayName_it\": \"Wormhole Signature Strength\", \n    \"displayName_ja\": \"ワームホールシグネチャ強度\", \n    \"displayName_ko\": \"웜홀 신호 강도\", \n    \"displayName_ru\": \"Мощность сигнатуры червоточины\", \n    \"displayName_zh\": \"虫洞信号强度\", \n    \"displayNameID\": 288257, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanWormholeStrength\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 120\n  }, \n  \"1909\": {\n    \"attributeID\": 1909, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The coherence of a virus.\", \n    \"displayName_de\": \"Viruskohärenz\", \n    \"displayName_en-us\": \"Virus Coherence\", \n    \"displayName_es\": \"Coherencia del virus\", \n    \"displayName_fr\": \"Résistance virale\", \n    \"displayName_it\": \"Virus Coherence\", \n    \"displayName_ja\": \"ウイルスコヒーレンス\", \n    \"displayName_ko\": \"바이러스 결합도\", \n    \"displayName_ru\": \"Целостность вируса\", \n    \"displayName_zh\": \"病毒同步率\", \n    \"displayNameID\": 288364, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"virusCoherence\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1910\": {\n    \"attributeID\": 1910, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The strength attribute for a Virus\", \n    \"displayName_de\": \"Virusstärke\", \n    \"displayName_en-us\": \"Virus Strength\", \n    \"displayName_es\": \"Intensidad del virus\", \n    \"displayName_fr\": \"Puissance du virus\", \n    \"displayName_it\": \"Virus Strength\", \n    \"displayName_ja\": \"ウイルス強度\", \n    \"displayName_ko\": \"바이러스 침투력\", \n    \"displayName_ru\": \"Опасность вируса\", \n    \"displayName_zh\": \"病毒强度\", \n    \"displayNameID\": 288365, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"virusStrength\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1911\": {\n    \"attributeID\": 1911, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The number of utility element slots a virus has.\", \n    \"displayName_de\": \"Element-Slots für Virusprogramm\", \n    \"displayName_en-us\": \"Virus Utility Element Slots\", \n    \"displayName_es\": \"Ranuras de elementos de utilidades víricas\", \n    \"displayName_fr\": \"Emplacements d'élément d'utilitaire de virus\", \n    \"displayName_it\": \"Virus Utility Element Slots\", \n    \"displayName_ja\": \"ウイルスユーティリティ\", \n    \"displayName_ko\": \"유틸리티 슬롯\", \n    \"displayName_ru\": \"Программные разъёмы вируса\", \n    \"displayName_zh\": \"病毒功能元槽位\", \n    \"displayNameID\": 288366, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"virusElementSlots\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1912\": {\n    \"attributeID\": 1912, \n    \"dataType\": 4, \n    \"defaultValue\": 20.0, \n    \"description\": \"The number of mini containers that are spewed out from this type, if it supports spewing.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"spewContainerCount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 138\n  }, \n  \"1913\": {\n    \"attributeID\": 1913, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"Default junk loot to spawn into a mini container that does not contain anything fancy from a loot table.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"defaultJunkLootTypeID\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1914\": {\n    \"attributeID\": 1914, \n    \"dataType\": 5, \n    \"defaultValue\": 65.0, \n    \"description\": \"The speed at which mini containers fly away from a spew container\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"spewVelocity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 10\n  }, \n  \"1915\": {\n    \"attributeID\": 1915, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Adds to the virus coherence of profession modules\", \n    \"displayName_de\": \"Virenkohärenzbonus\", \n    \"displayName_en-us\": \"Virus Coherence Bonus\", \n    \"displayName_es\": \"Bonificación de coherencia del virus\", \n    \"displayName_fr\": \"Bonus de résistance virale\", \n    \"displayName_it\": \"Virus Coherence Bonus\", \n    \"displayName_ja\": \"ウイルスコヒーレンスボーナス\", \n    \"displayName_ko\": \"바이러스 결합도 보너스\", \n    \"displayName_ru\": \"Влияние на целостность вируса\", \n    \"displayName_zh\": \"病毒同步率加成\", \n    \"displayNameID\": 289256, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"virusCoherenceBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1916\": {\n    \"attributeID\": 1916, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Stays with characters across clone changes. ONLY FOR IMPLANTS AND BOOSTERS.\", \n    \"displayName_de\": \"Folgt Sprungklonen\", \n    \"displayName_en-us\": \"Follows Jump Clones\", \n    \"displayName_es\": \"Sigue a los clones de salto\", \n    \"displayName_fr\": \"Suit les clones hyperspatiaux\", \n    \"displayName_it\": \"Follows Jump Clones\", \n    \"displayName_ja\": \"ジャンプクローンをフォロー\", \n    \"displayName_ko\": \"점프 클론 추적\", \n    \"displayName_ru\": \"Сохраняется при переходе в джамп-клонов\", \n    \"displayName_zh\": \"跟随远距克隆\", \n    \"displayNameID\": 289181, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"followsJumpClones\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1917\": {\n    \"attributeID\": 1917, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"If present, will add the given value to the automatic computed lifetime of MiniContainers with regards to the time required to take them and the amount of containers scattered out into space.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"spewContainerLifeExtension\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"1918\": {\n    \"attributeID\": 1918, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Analysator-Virusstärkebonus\", \n    \"displayName_en-us\": \"Analyzer Virus Strength Bonus\", \n    \"displayName_es\": \"Bonificación de analizador de intensidad del virus\", \n    \"displayName_fr\": \"Bonus de puissance du virus d'analyseur\", \n    \"displayName_it\": \"Analyzer Virus Strength Bonus\", \n    \"displayName_ja\": \"アナライザーウイルス強度ボーナス\", \n    \"displayName_ko\": \"분석기 바이러스 침투력 보너스\", \n    \"displayName_ru\": \"Влияние на опасность вируса анализатора\", \n    \"displayName_zh\": \"分析仪病毒强度加成\", \n    \"displayNameID\": 289116, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"virusStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1919\": {\n    \"attributeID\": 1919, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"tierDifficulty\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1920\": {\n    \"attributeID\": 1920, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"If set to True on a module, the module will not be allowed to activate whilst the ship is inside a starbase forcefield\", \n    \"displayName_de\": \"Aktivierung und Kraftfeld nicht zulassen\", \n    \"displayName_en-us\": \"Disallow activation in forcefield\", \n    \"displayName_es\": \"Desautorizar activación en campo de fuerza\", \n    \"displayName_fr\": \"Interdire l'activation dans un champ de force\", \n    \"displayName_it\": \"Disallow activation in forcefield\", \n    \"displayName_ja\": \"フォースフィールド内では起動不可\", \n    \"displayName_ko\": \"포스필드 내 활성화 금지\", \n    \"displayName_ru\": \"Запрещено включение в силовом поле\", \n    \"displayName_zh\": \"力场中无法激活\", \n    \"displayNameID\": 289390, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"disallowActivateInForcefield\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1921\": {\n    \"attributeID\": 1921, \n    \"dataType\": 5, \n    \"defaultValue\": 24.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Abkühlungsphase nach Klonsprung\", \n    \"displayName_en-us\": \"Clone Jump Cool Down\", \n    \"displayName_es\": \"Tiempo de espera de salto de clon\", \n    \"displayName_fr\": \"Refroidissement de saut de clone\", \n    \"displayName_it\": \"Clone Jump Cool Down\", \n    \"displayName_ja\": \"クローンジャンプクールダウン\", \n    \"displayName_ko\": \"클론 점프 쿨 다운\", \n    \"displayName_ru\": \"Срок ожидания между переходами в джамп-клонов\", \n    \"displayName_zh\": \"远距克隆间歇期\", \n    \"displayNameID\": 289977, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"cloneJumpCoolDown\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1922\": {\n    \"attributeID\": 1922, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Stärke von taktischen Netzwerken\", \n    \"displayName_en-us\": \"Warfare Link Strength Bonus\", \n    \"displayName_es\": \"Bonificación de intensidad del enlace de guerra\", \n    \"displayName_fr\": \"Bonus de puissance de liaison tactique\", \n    \"displayName_it\": \"Warfare Link Strength Bonus\", \n    \"displayName_ja\": \"艦隊支援システム強度ボーナス\", \n    \"displayName_ko\": \"전쟁 링크 침투력 보너스\", \n    \"displayName_ru\": \"Влияние на силу эффекта командного модуля\", \n    \"displayName_zh\": \"作战网络强度加成\", \n    \"displayNameID\": 289994, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareLinkBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1923\": {\n    \"attributeID\": 1923, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Role bonus for Marauders.\", \n    \"displayName_de\": \"Reaktivierungsbonus\", \n    \"displayName_en-us\": \"Reactivation Bonus\", \n    \"displayName_es\": \"Bonificación de reactivación\", \n    \"displayName_fr\": \"Bonus de réactivation\", \n    \"displayName_it\": \"Reactivation Bonus\", \n    \"displayName_ja\": \"再起動ボーナス\", \n    \"displayName_ko\": \"재활성화 보너스\", \n    \"displayName_ru\": \"Сокращение задержки повторного включения\", \n    \"displayName_zh\": \"重新激活加成\", \n    \"displayNameID\": 290057, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusMarauder\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1924\": {\n    \"attributeID\": 1924, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusCommandShips3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1925\": {\n    \"attributeID\": 1925, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Imperiumssteuer-Umwandler\", \n    \"displayName_en-us\": \"Empire Tax Modifier\", \n    \"displayName_es\": \"Modificador de impuestos imperiales\", \n    \"displayName_fr\": \"Modificateur de taxe d'empire\", \n    \"displayName_it\": \"Empire Tax Modifier\", \n    \"displayName_ja\": \"国税修正乗数\", \n    \"displayName_ko\": \"세율 보정치\", \n    \"displayName_ru\": \"Изменение госпошлины\", \n    \"displayName_zh\": \"帝国税率系数\", \n    \"displayNameID\": 292213, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"piTaxReductionModifer\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1926\": {\n    \"attributeID\": 1926, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"piTaxReduction\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1927\": {\n    \"attributeID\": 1927, \n    \"categoryID\": 8, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"Defines whether an entity can be hacked or not.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"hackable\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1928\": {\n    \"attributeID\": 1928, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of Raw Material stolen from active Moon Harvester Arrays each cycle.\", \n    \"displayName_de\": \"Absaugmenge für Rohmaterialien\", \n    \"displayName_en-us\": \"Raw Material Siphon Amount\", \n    \"displayName_es\": \"Cantidad de materia prima extraída con sifón\", \n    \"displayName_fr\": \"Quantité de matière brute siphonnée\", \n    \"displayName_it\": \"Raw Material Siphon Amount\", \n    \"displayName_ja\": \"未精製資源吸い出し量\", \n    \"displayName_ko\": \"원자재 사이펀 양\", \n    \"displayName_ru\": \"Объем реквизиции необработанного сырья\", \n    \"displayName_zh\": \"原材料虹吸量\", \n    \"displayNameID\": 292210, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"siphonRawMaterial\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 138\n  }, \n  \"1929\": {\n    \"attributeID\": 1929, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of Processed Materials stolen from active Simple Reactor Array every cycle.\", \n    \"displayName_de\": \"Absaugmenge für veredelte Rohstoffe\", \n    \"displayName_en-us\": \"Processed Material Siphon Amount\", \n    \"displayName_es\": \"Cantidad de materiales procesados extraídos con sifón\", \n    \"displayName_fr\": \"Quantité de matériau raffiné siphonné\", \n    \"displayName_it\": \"Processed Material Siphon Amount\", \n    \"displayName_ja\": \"1次加工品吸い出し量\", \n    \"displayName_ko\": \"가공 자원 사이펀 양\", \n    \"displayName_ru\": \"Объем реквизиции обработанного сырья\", \n    \"displayName_zh\": \"加工材料虹吸量\", \n    \"displayNameID\": 292211, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"siphonProMaterial\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 138\n  }, \n  \"1930\": {\n    \"attributeID\": 1930, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of stolen materials that is destroyed.\", \n    \"displayName_de\": \"Beim Stehlen zerstörte Menge\", \n    \"displayName_en-us\": \"Amount Destroyed On Steal\", \n    \"displayName_es\": \"Cantidad destruida al robar\", \n    \"displayName_fr\": \"Quantité détruite par vol\", \n    \"displayName_it\": \"Amount Destroyed On Steal\", \n    \"displayName_ja\": \"吸い出し時減損量\", \n    \"displayName_ko\": \"훔칠 때 파괴되는 양\", \n    \"displayName_ru\": \"Объем потерь при реквизиции\", \n    \"displayName_zh\": \"虹吸摧毁量\", \n    \"displayNameID\": 292212, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"siphonWasteAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1932\": {\n    \"attributeID\": 1932, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Ascendancy Set Bonus\", \n    \"displayName_en-us\": \"Ascendancy Set bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Ascendancy\", \n    \"displayName_fr\": \"Bonus d'ascendant\", \n    \"displayName_it\": \"Ascendancy Set bonus\", \n    \"displayName_ja\": \"アセンダンシーセットボーナス\", \n    \"displayName_ko\": \"어센던시 설정 보너스\", \n    \"displayName_ru\": \"Влияние комплекта «Асенданси»\", \n    \"displayName_zh\": \"统御套装加成\", \n    \"displayNameID\": 292381, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"implantSetWarpSpeed\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1933\": {\n    \"attributeID\": 1933, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of Polymer Materials stolen from active Polymer Reactor Array every cycle. \", \n    \"displayName_de\": \"Absaugmenge für Polymer-Materialien\", \n    \"displayName_en-us\": \"Polymer Material Siphon Amount\", \n    \"displayName_es\": \"Cantidad de materiales poliméricos extraídos con sifón\", \n    \"displayName_fr\": \"Quantité de siphon de matériau de polymère\", \n    \"displayName_it\": \"Polymer Material Siphon Amount\", \n    \"displayName_ja\": \"ポリマー素材吸出量\", \n    \"displayName_ko\": \"중합체 자원 사이펀 양\", \n    \"displayName_ru\": \"Объем реквизиции полимерных материалов\", \n    \"displayName_zh\": \"聚合物材料虹吸量\", \n    \"displayNameID\": 293846, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"siphonPolyMaterial\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1934\": {\n    \"attributeID\": 1934, \n    \"dataType\": 3, \n    \"defaultValue\": 1.0, \n    \"description\": \"If module is offensive should it deactivate on disconnect. Default to 1\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"deactivateIfOffensive\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1935\": {\n    \"attributeID\": 1935, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Effektivität der Überlastung\", \n    \"displayName_en-us\": \"Overload Effectiveness Bonus\", \n    \"displayName_es\": \"Bonificación de eficacia de sobrecarga\", \n    \"displayName_fr\": \"Bonus d'efficacité de surcharge\", \n    \"displayName_it\": \"Overload Effectiveness Bonus\", \n    \"displayName_ja\": \"効果ボーナスをオーバーロード\", \n    \"displayName_ko\": \"과부하 효율 보너스\", \n    \"displayName_ru\": \"Влияние перегрузки на эффективность\", \n    \"displayName_zh\": \"过载效果加成\", \n    \"displayNameID\": 294308, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"overloadTrackingModuleStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1936\": {\n    \"attributeID\": 1936, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Effektivität der Überlastung\", \n    \"displayName_en-us\": \"Overload Effectiveness Bonus\", \n    \"displayName_es\": \"Bonificación de eficacia de sobrecarga\", \n    \"displayName_fr\": \"Bonus d'efficacité de surcharge\", \n    \"displayName_it\": \"Overload Effectiveness Bonus\", \n    \"displayName_ja\": \"効果ボーナスをオーバーロード\", \n    \"displayName_ko\": \"과부하 효율 보너스\", \n    \"displayName_ru\": \"Влияние перегрузки на эффективность\", \n    \"displayName_zh\": \"过载效果加成\", \n    \"displayNameID\": 294330, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"overloadSensorModuleStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1937\": {\n    \"attributeID\": 1937, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Effektivität der Überlastung\", \n    \"displayName_en-us\": \"Overload Effectiveness Bonus\", \n    \"displayName_es\": \"Bonificación de eficacia de sobrecarga\", \n    \"displayName_fr\": \"Bonus d'efficacité de surcharge\", \n    \"displayName_it\": \"Overload Effectiveness Bonus\", \n    \"displayName_ja\": \"効果ボーナスをオーバーロード\", \n    \"displayName_ko\": \"과부하 효율 보너스\", \n    \"displayName_ru\": \"Влияние перегрузки на эффективность\", \n    \"displayName_zh\": \"过载效果加成\", \n    \"displayNameID\": 294345, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"overloadPainterStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1938\": {\n    \"attributeID\": 1938, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Modifies miningAmountBonus\", \n    \"displayName_de\": \"Bonus auf den Bergbauertrag-Bonus\", \n    \"displayName_en-us\": \"Mining Amount Bonus Bonus\", \n    \"displayName_es\": \"Bonificación de cantidad extraída\", \n    \"displayName_fr\": \"Bonus de minerai extrait\", \n    \"displayName_it\": \"Mining Amount Bonus Bonus\", \n    \"displayName_ja\": \"採掘量ボーナスボーナス\", \n    \"displayName_ko\": \"채굴량 보너스 보너스\", \n    \"displayName_ru\": \"Влияние на объём добычи\", \n    \"displayName_zh\": \"开采量加成\", \n    \"displayNameID\": 294777, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningAmountBonusBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1939\": {\n    \"attributeID\": 1939, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus for refining ore. Used for station improvements\", \n    \"displayName_de\": \"Bonus auf die Erz-Aufbereitungseffizienz\", \n    \"displayName_en-us\": \"Ore Refining Efficiency Bonus\", \n    \"displayName_es\": \"Bonificación de eficiencia de refinería de menas\", \n    \"displayName_fr\": \"Bonus d'efficacité du raffinage de minerai\", \n    \"displayName_it\": \"Ore Refining Efficiency Bonus\", \n    \"displayName_ja\": \"鉱石精錬効率ボーナス\", \n    \"displayName_ko\": \"광물 정제 효율 보너스\", \n    \"displayName_ru\": \"Повышение эффективности переработки руды\", \n    \"displayName_zh\": \"矿石提炼效率加成\", \n    \"displayNameID\": 295037, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"stationOreRefiningBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"1942\": {\n    \"attributeID\": 1942, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusExpedition1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1943\": {\n    \"attributeID\": 1943, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusExpedition2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1944\": {\n    \"attributeID\": 1944, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 295181, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipType5\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"1945\": {\n    \"attributeID\": 1945, \n    \"categoryID\": 5, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"NOS override allows a nosferatu module to drain the target capacitor below the current ships capacitor level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"nosOverride\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1946\": {\n    \"attributeID\": 1946, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": -1.0, \n    \"description\": \"The minimum security level at which the structure can be anchored.\", \n    \"displayName_de\": \"Beschränkt auf min. Sicherheitsstatus von\", \n    \"displayName_en-us\": \"Restricted To Security Level Of At Least\", \n    \"displayName_es\": \"Restringido a nivel de seguridad de al menos\", \n    \"displayName_fr\": \"Limité au niveau de sécurité le plus faible\", \n    \"displayName_it\": \"Restricted To Security Level Of At Least\", \n    \"displayName_ja\": \"少なくとも以下のセキュリティレベルに制限\", \n    \"displayName_ko\": \"최소 보안 수준으로 제한됩니다.\", \n    \"displayName_ru\": \"Требуется степень соответствия нормам КОНКОРДа не менее\", \n    \"displayName_zh\": \"仅限于安全等级不低于\", \n    \"displayNameID\": 295400, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"anchoringSecurityLevelMin\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1949\": {\n    \"attributeID\": 1949, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Überhitzungsbonus\", \n    \"displayName_en-us\": \"Overheat Bonus\", \n    \"displayName_es\": \"Bonificación de sobrecalentamiento\", \n    \"displayName_fr\": \"Bonus de surchauffe\", \n    \"displayName_it\": \"Overheat Bonus\", \n    \"displayName_ja\": \"オーバーヒートボーナス\", \n    \"displayName_ko\": \"오버히트 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность работы при перегрузке\", \n    \"displayName_zh\": \"过载损伤降低\", \n    \"displayNameID\": 295540, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusOverheatDST\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1950\": {\n    \"attributeID\": 1950, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Warpgeschwindigkeitsanstieg\", \n    \"displayName_en-us\": \"Warp Speed Increase\", \n    \"displayName_es\": \"Aumento de velocidad de warp\", \n    \"displayName_fr\": \"Augmentation de la vitesse de warp\", \n    \"displayName_it\": \"Warp Speed Increase\", \n    \"displayName_ja\": \"ワープ速度上昇\", \n    \"displayName_ko\": \"워프 속력 증가\", \n    \"displayName_ru\": \"Влияние на скорость хода в варп-режиме\", \n    \"displayName_zh\": \"跃迁速度提高\", \n    \"displayNameID\": 295688, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warpSpeedAdd\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1951\": {\n    \"attributeID\": 1951, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Shares cost bonus with other structures in this set\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industryStructureCostBonusSet\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1952\": {\n    \"attributeID\": 1952, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Build cost multiplier\", \n    \"displayName_de\": \"Fertigungskosten-Multiplikator\", \n    \"displayName_en-us\": \"Build Cost Multiplier\", \n    \"displayName_es\": \"Multiplicador de coste de construcción\", \n    \"displayName_fr\": \"Multiplicateur de coût de construction\", \n    \"displayName_it\": \"Build Cost Multiplier\", \n    \"displayName_ja\": \"製造コスト乗数\", \n    \"displayName_ko\": \"건설 비용 배수\", \n    \"displayName_ru\": \"Коэффициент стоимости постройки\", \n    \"displayName_zh\": \"建造成本系数\", \n    \"displayNameID\": 295803, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industryStructureCostBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1954\": {\n    \"attributeID\": 1954, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplies the job cost for this blueprint type by the specified value\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industryJobCostMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1955\": {\n    \"attributeID\": 1955, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is a bookkeeping attribute for blueprints, which will hopefully be deprecated by the end of 2014\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industryBlueprintRank\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1956\": {\n    \"attributeID\": 1956, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"This item of clothing does not allow the category specified to be equipped with this item. It will be removed\", \n    \"displayName_de\": \"Benötigt keinen Kleidungstyp\", \n    \"displayName_en-us\": \"Does Not Require Clothing Type\", \n    \"displayName_es\": \"No requiere tipo de ropa.\", \n    \"displayName_fr\": \"Ne nécessite pas de type de vêtement\", \n    \"displayName_it\": \"Does Not Require Clothing Type\", \n    \"displayName_ja\": \"衣服タイプの指定なし\", \n    \"displayName_ko\": \"의상 분류 필요 없음\", \n    \"displayName_ru\": \"Тип одежды не требуется\", \n    \"displayName_zh\": \"不要求服饰类别\", \n    \"displayNameID\": 296095, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"clothingRemovesCategory\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1957\": {\n    \"attributeID\": 1957, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"When evaluating if the character is dressed well enough, this item will be evaluated as it's not equiped\", \n    \"displayName_de\": \"Benötigt anderen Kleidungstyp\", \n    \"displayName_en-us\": \"Requires Other Clothing Types\", \n    \"displayName_es\": \"Requiere otros tipos de ropa.\", \n    \"displayName_fr\": \"Nécessite d'autres types de vêtement\", \n    \"displayName_it\": \"Requires Other Clothing Types\", \n    \"displayName_ja\": \"他の衣服タイプを指定する\", \n    \"displayName_ko\": \"기타 의상 분류 필요함\", \n    \"displayName_ru\": \"Требуются другие типы одежды\", \n    \"displayName_zh\": \"需要其他服饰类别\", \n    \"displayNameID\": 296096, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"clothingRuleException\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1958\": {\n    \"attributeID\": 1958, \n    \"categoryID\": 7, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"if set to 1 the ship is immune to directional scan\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"dscanImmune\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1959\": {\n    \"attributeID\": 1959, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Speed bonus when doing invention or reverse engineering\", \n    \"displayName_de\": \"Erfindungs-/Nachkonstruktionsgeschwindigkeit\", \n    \"displayName_en-us\": \"Invention/reverse engineering speed\", \n    \"displayName_es\": \"Velocidad de invención/ingeniería inversa\", \n    \"displayName_fr\": \"Vitesse d'invention/de rétro-ingénierie\", \n    \"displayName_it\": \"Invention/reverse engineering speed\", \n    \"displayName_ja\": \"発明／リバースエンジニアリング速度\", \n    \"displayName_ko\": \"인벤션/역설계 속도\", \n    \"displayName_ru\": \"Скорость модернизации/инженерного ретроанализа\", \n    \"displayName_zh\": \"发明/逆向工程速度\", \n    \"displayNameID\": 296254, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"inventionReverseEngineeringResearchSpeed\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1961\": {\n    \"attributeID\": 1961, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"A bonus to all industry job times for the advanced industry skill\", \n    \"displayName_de\": \"Bonus auf die Dauer von Industrieaufträgen\", \n    \"displayName_en-us\": \"Industry Job Length Bonus\", \n    \"displayName_es\": \"Bonificación de duración de trabajos de industria\", \n    \"displayName_fr\": \"Bonus de temps pour un travail industriel\", \n    \"displayName_it\": \"Industry Job Length Bonus\", \n    \"displayName_ja\": \"生産ジョブの長さに対するボーナス\", \n    \"displayName_ko\": \"산업 직업 유지 기간 보너스\", \n    \"displayName_ru\": \"Влияние на срок исполнения промышленного проекта\", \n    \"displayName_zh\": \"工业项目长度加成\", \n    \"displayNameID\": 296255, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"advancedIndustrySkillIndustryJobTimeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1966\": {\n    \"attributeID\": 1966, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Energiekriegsführungsmodifizierer\", \n    \"displayName_en-us\": \"Energy warfare modifier\", \n    \"displayName_es\": \"Modificador de guerra de energía\", \n    \"displayName_fr\": \"Modificateur de guerre d'énergie\", \n    \"displayName_it\": \"Energy warfare modifier\", \n    \"displayName_ja\": \"エネルギー艦船乗数\", \n    \"displayName_ko\": \"에너지전 보정치\", \n    \"displayName_ru\": \"Влияние на работу дистанционных систем перераспределения заряда накопителя\", \n    \"displayName_zh\": \"能量战系数\", \n    \"displayNameID\": 296291, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"energyWarfareStrengthMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1967\": {\n    \"attributeID\": 1967, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Explosionsradius-Multiplikator\", \n    \"displayName_en-us\": \"Explosion radius multiplier\", \n    \"displayName_es\": \"Multiplicador de radio de explosión\", \n    \"displayName_fr\": \"Multiplicateur du rayon d'explosion\", \n    \"displayName_it\": \"Explosion radius multiplier\", \n    \"displayName_ja\": \"爆発半径乗数\", \n    \"displayName_ko\": \"폭발반경 배수\", \n    \"displayName_ru\": \"Влияние на сигнатуру взрыва\", \n    \"displayName_zh\": \"爆炸半径系数\", \n    \"displayNameID\": 296298, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"aoeCloudSizeMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1968\": {\n    \"attributeID\": 1968, \n    \"categoryID\": 21, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Zielmarkierung-Effektivitätsmultiplikator\", \n    \"displayName_en-us\": \"Target painter effectiveness multiplier\", \n    \"displayName_es\": \"Multiplicador de eficacia de reveladores de objetivo\", \n    \"displayName_fr\": \"Multiplicateur d'efficacité du marqueur de cible\", \n    \"displayName_it\": \"Target painter effectiveness multiplier\", \n    \"displayName_ja\": \"ターゲットペインターの効果乗数\", \n    \"displayName_ko\": \"타겟 페인터 효율성 배수\", \n    \"displayName_ru\": \"Влияние на эффективность действия систем подсветки целей\", \n    \"displayName_zh\": \"目标标记装置效果系数\", \n    \"displayNameID\": 296300, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"targetPainterStrengthMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1969\": {\n    \"attributeID\": 1969, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Stasisnetz-Stärkemultiplikator\", \n    \"displayName_en-us\": \"Stasis Webifier strength multiplier\", \n    \"displayName_es\": \"Multiplicador de intensidad de red ralentizadora\", \n    \"displayName_fr\": \"Multiplicateur de la force du générateur de stase\", \n    \"displayName_it\": \"Stasis Webifier strength multiplier\", \n    \"displayName_ja\": \"ステイシスウェビファイア強度乗数\", \n    \"displayName_ko\": \"스테이시스 웹 생성기 강도 배수\", \n    \"displayName_ru\": \"Влияние на эффективность стазис-индукторов\", \n    \"displayName_zh\": \"停滞缠绕光束强度系数\", \n    \"displayNameID\": 296302, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"stasisWebStrengthMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1970\": {\n    \"attributeID\": 1970, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Security status restriction, preventing ships from entering high sec and modules from being activated.\", \n    \"displayName_de\": \"Im Hochsicherheitsraum gesperrt\", \n    \"displayName_en-us\": \"Banned in High Sec Space\", \n    \"displayName_es\": \"Prohibido en espacio de seguridad alta\", \n    \"displayName_fr\": \"Banni en espace de haute sécurité\", \n    \"displayName_it\": \"Banned in High Sec Space\", \n    \"displayName_ja\": \"ハイセク宙域では禁止\", \n    \"displayName_ko\": \"하이 시큐리티 출입 금지 구역\", \n    \"displayName_ru\": \"Под запретом в системах с высокой СС\", \n    \"displayName_zh\": \"禁止进入高安全星系\", \n    \"displayNameID\": 296756, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"disallowInHighSec\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"1971\": {\n    \"attributeID\": 1971, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier for jump fatigue distance\", \n    \"displayName_de\": \"Sprungerschöpfungsmultiplikator\", \n    \"displayName_en-us\": \"Jump Fatigue Multiplier\", \n    \"displayName_es\": \"Multiplicador de fatiga de salto\", \n    \"displayName_fr\": \"Multiplicateur de l'épuisement de saut\", \n    \"displayName_it\": \"Jump Fatigue Multiplier\", \n    \"displayName_ja\": \"ジャンプ疲労乗数\", \n    \"displayName_ko\": \"점프 피로도 배수\", \n    \"displayName_ru\": \"Множитель усталости от гиперперехода\", \n    \"displayName_zh\": \"跳跃疲劳系数\", \n    \"displayNameID\": 296837, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"jumpFatigueMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1972\": {\n    \"attributeID\": 1972, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Multiplier for jump fatigue distance, applied to characters going through a bridge provided by this type.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"jumpThroughFatigueMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"1973\": {\n    \"attributeID\": 1973, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": -1000.0, \n    \"description\": \"If greater than zero than the ship cannot activate gates. Set this to 0 on a type if you want it to be gate scramble-able.\", \n    \"displayName_de\": \"Tor-Unterbrechungsstatus\", \n    \"displayName_en-us\": \"Gate Scramble Status\", \n    \"displayName_es\": \"Estado de inhibición de portales\", \n    \"displayName_fr\": \"Statut du brouillage de portail\", \n    \"displayName_it\": \"Gate Scramble Status\", \n    \"displayName_ja\": \"ゲートスクランブルステータス\", \n    \"displayName_ko\": \"게이트 스크램블러 상태\", \n    \"displayName_ru\": \"Состояние глушения связи с гиперворотами\", \n    \"displayName_zh\": \"星门扰频状态\", \n    \"displayNameID\": 297045, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"gateScrambleStatus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1974\": {\n    \"attributeID\": 1974, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"Amount to modify ships gate scramble status by.\", \n    \"displayName_de\": \"Tor-Unterbrechungsstärke\", \n    \"displayName_en-us\": \"Gate Scramble Strength\", \n    \"displayName_es\": \"Intensidad de inhibición de portales\", \n    \"displayName_fr\": \"Puissance du brouillage de portail\", \n    \"displayName_it\": \"Gate Scramble Strength\", \n    \"displayName_ja\": \"ゲートスクランブル強度\", \n    \"displayName_ko\": \"게이트 스크램블러 강도\", \n    \"displayName_ru\": \"Мощность глушения связи с гиперворотами\", \n    \"displayName_zh\": \"星门扰频强度\", \n    \"displayNameID\": 297046, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"gateScrambleStrength\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1975\": {\n    \"attributeID\": 1975, \n    \"dataType\": 3, \n    \"defaultValue\": 1.0, \n    \"description\": \"Dogma helper version of basic attribute, used to set published flag.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"published\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1978\": {\n    \"attributeID\": 1978, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Display name is misleading, this attribute is used only for Shield and Armor, but for convenience sake only this one is used.\", \n    \"displayName_de\": \"Globale Resistenzreduktion\", \n    \"displayName_en-us\": \"Global Resistance Reduction\", \n    \"displayName_es\": \"Reducción de la resistencia global\", \n    \"displayName_fr\": \"Réduction de résistance globale\", \n    \"displayName_it\": \"Global Resistance Reduction\", \n    \"displayName_ja\": \"グローバルレジスタンス低減\", \n    \"displayName_ko\": \"글로벌 저항력 감소\", \n    \"displayName_ru\": \"Снижение общей сопротивляемости\", \n    \"displayName_zh\": \"全体抗性减效\", \n    \"displayNameID\": 297080, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"resistanceKiller\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1979\": {\n    \"attributeID\": 1979, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"resistanceKillerHull\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1980\": {\n    \"attributeID\": 1980, \n    \"categoryID\": 31, \n    \"dataType\": 2, \n    \"defaultValue\": 1.0, \n    \"description\": \"Controls how quickly an asteroid radius increases as its quantity grows.\", \n    \"displayName_de\": \"Asteroidradius-Multiplizierer\", \n    \"displayName_en-us\": \"Asteroid radius size multiplier\", \n    \"displayName_es\": \"Multiplicador del radio del asteroide\", \n    \"displayName_fr\": \"Multiplicateur de la taille du rayon de l'astéroïde\", \n    \"displayName_it\": \"Asteroid radius size multiplier\", \n    \"displayName_ja\": \"アステロイド半径乗数\", \n    \"displayName_ko\": \"소행성 크기 배수\", \n    \"displayName_ru\": \"Множитель радиуса астероидов\", \n    \"displayName_zh\": \"小行星半径系数\", \n    \"displayNameID\": 297117, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"asteroidRadiusGrowthFactor\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1981\": {\n    \"attributeID\": 1981, \n    \"categoryID\": 31, \n    \"dataType\": 2, \n    \"defaultValue\": 90.0, \n    \"description\": \"Sets the radius of the asteroid ball when it has a quantity of 1 unit\", \n    \"displayName_de\": \"Asteroideneinheitenradius\", \n    \"displayName_en-us\": \"Asteroid unit radius\", \n    \"displayName_es\": \"Radio de unidad de asteroide\", \n    \"displayName_fr\": \"Rayon de l'unité d'astéroïde\", \n    \"displayName_it\": \"Asteroid unit radius\", \n    \"displayName_ja\": \"アステロイドユニット半径\", \n    \"displayName_ko\": \"소행성 유닛 반경\", \n    \"displayName_ru\": \"Радиус астероида\", \n    \"displayName_zh\": \"小行星单位半径\", \n    \"displayNameID\": 297127, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"asteroidRadiusUnitSize\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"1982\": {\n    \"attributeID\": 1982, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Skill bonus per level to manufacturing time efficiency. Only applies to skills required to manufacture the blueprint.\", \n    \"displayName_de\": \"Fertigungszeitbonus\", \n    \"displayName_en-us\": \"Manufacturing Time Bonus\", \n    \"displayName_es\": \"Bonificación de tiempo de fabricación\", \n    \"displayName_fr\": \"Bonus de temps de production\", \n    \"displayName_it\": \"Manufacturing Time Bonus\", \n    \"displayName_ja\": \"製造時間ボーナス\", \n    \"displayName_ko\": \"제조 시간 보너스\", \n    \"displayName_ru\": \"Влияние на скорость производства\", \n    \"displayName_zh\": \"制造时间加成\", \n    \"displayNameID\": 297540, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"manufactureTimePerLevel\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"1983\": {\n    \"attributeID\": 1983, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"freighterBonusO1\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1984\": {\n    \"attributeID\": 1984, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"freighterBonusO2\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"1985\": {\n    \"attributeID\": 1985, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Time in milliseconds that it takes to switch stances.\", \n    \"displayName_de\": \"Abklingzeit zwischen dem Moduswechsel\", \n    \"displayName_en-us\": \"Cooldown between mode switching\", \n    \"displayName_es\": \"Espera entre cambios de modo\", \n    \"displayName_fr\": \"Refroidissement entre deux modes\", \n    \"displayName_it\": \"Cooldown between mode switching\", \n    \"displayName_ja\": \"モードを切り替える間の冷却\", \n    \"displayName_ko\": \"모드 전환 대기시간\", \n    \"displayName_ru\": \"Время до переключения режима\", \n    \"displayName_zh\": \"模式切换冷却时间\", \n    \"displayNameID\": 297806, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"stanceSwitchTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"1986\": {\n    \"attributeID\": 1986, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTacticalDestroyerAmarr1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1987\": {\n    \"attributeID\": 1987, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTacticalDestroyerAmarr2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1988\": {\n    \"attributeID\": 1988, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTacticalDestroyerAmarr3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1989\": {\n    \"attributeID\": 1989, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusT3ProbeCPU\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1990\": {\n    \"attributeID\": 1990, \n    \"categoryID\": 29, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeMaxRangePostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1991\": {\n    \"attributeID\": 1991, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeMaxTargetRangePostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1992\": {\n    \"attributeID\": 1992, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeRadarStrengthPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1993\": {\n    \"attributeID\": 1993, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeScanResPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1994\": {\n    \"attributeID\": 1994, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeLadarStrengthPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1995\": {\n    \"attributeID\": 1995, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeGravimetricStrengthPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1996\": {\n    \"attributeID\": 1996, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeMagnetometricStrengthPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1997\": {\n    \"attributeID\": 1997, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeEmResistancePostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1998\": {\n    \"attributeID\": 1998, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeExplosiveResistancePostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"1999\": {\n    \"attributeID\": 1999, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeThermicResistancePostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2000\": {\n    \"attributeID\": 2000, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeKineticResistancePostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2001\": {\n    \"attributeID\": 2001, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeSignatureRadiusPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2002\": {\n    \"attributeID\": 2002, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeAgilityPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2003\": {\n    \"attributeID\": 2003, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeVelocityPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2004\": {\n    \"attributeID\": 2004, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTacticalDestroyerMinmatar1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2005\": {\n    \"attributeID\": 2005, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTacticalDestroyerMinmatar2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2006\": {\n    \"attributeID\": 2006, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTacticalDestroyerMinmatar3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2007\": {\n    \"attributeID\": 2007, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"modeMWDSigPenaltyPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2008\": {\n    \"attributeID\": 2008, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"modeTrackingPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2009\": {\n    \"attributeID\": 2009, \n    \"categoryID\": 33, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used for NPCs to replicate cooldown functionality for the super weapon.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entitySuperWeaponDuration\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2010\": {\n    \"attributeID\": 2010, \n    \"categoryID\": 33, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used for NPCs to replicate damage for the super weapon.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entitySuperWeaponEmDamage\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2011\": {\n    \"attributeID\": 2011, \n    \"categoryID\": 33, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used for NPCs to replicate damage for the super weapon.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entitySuperWeaponKineticDamage\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2012\": {\n    \"attributeID\": 2012, \n    \"categoryID\": 33, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used for NPCs to replicate damage for the super weapon.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entitySuperWeaponThermalDamage\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2013\": {\n    \"attributeID\": 2013, \n    \"categoryID\": 33, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used for NPCs to replicate damage for the super weapon.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entitySuperWeaponExplosiveDamage\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2014\": {\n    \"attributeID\": 2014, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusGC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2015\": {\n    \"attributeID\": 2015, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTacticalDestroyerCaldari1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2016\": {\n    \"attributeID\": 2016, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTacticalDestroyerCaldari2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2017\": {\n    \"attributeID\": 2017, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTacticalDestroyerCaldari3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2018\": {\n    \"attributeID\": 2018, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Autogenerated skill attribute, 2015\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"2015\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2019\": {\n    \"attributeID\": 2019, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"When set to 1 this attribute allows Spawn Containers to refill and relock. \", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"allowRefills\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2020\": {\n    \"attributeID\": 2020, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusAT\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2021\": {\n    \"attributeID\": 2021, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entosisDurationMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2023\": {\n    \"attributeID\": 2023, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1399.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Explosionsradius-Bonusmodifikator\", \n    \"displayName_en-us\": \"Modification of Explosion Radius Bonus\", \n    \"displayName_es\": \"Mod. de bonificación de radio de explosión\", \n    \"displayName_fr\": \"Bonus de modification de rayon d'explosion\", \n    \"displayName_it\": \"Modification of Explosion Radius Bonus\", \n    \"displayName_ja\": \"爆発半径ボーナスの変更\", \n    \"displayName_ko\": \"폭발 반경 보너스 개조\", \n    \"displayName_ru\": \"Изменение влияния на сигнатуру взрыва\", \n    \"displayName_zh\": \"爆炸半径加成修正\", \n    \"displayNameID\": 309645, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"aoeCloudSizeBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2024\": {\n    \"attributeID\": 2024, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1399.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Explosionsgeschwindigkeit-Bonusmodifikator\", \n    \"displayName_en-us\": \"Modification of Explosion Velocity Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de velocidad de explosión\", \n    \"displayName_fr\": \"Bonus de modification de vitesse d'explosion\", \n    \"displayName_it\": \"Modification of Explosion Velocity Bonus\", \n    \"displayName_ja\": \"爆発速度ボーナスの変更\", \n    \"displayName_ko\": \"폭발 속도 보너스 개조\", \n    \"displayName_ru\": \"Изменение влияния на скорость взрыва\", \n    \"displayName_zh\": \"爆炸速度加成修正\", \n    \"displayNameID\": 309646, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"aoeVelocityBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2025\": {\n    \"attributeID\": 2025, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1399.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Lenkwaffengeschwindigkeit-Bonusmodifikator\", \n    \"displayName_en-us\": \"Modification of Missile Velocity Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de velocidad de misiles\", \n    \"displayName_fr\": \"Bonus de modification de vitesse de missile\", \n    \"displayName_it\": \"Modification of Missile Velocity Bonus\", \n    \"displayName_ja\": \"ミサイル速度ボーナスの変更\", \n    \"displayName_ko\": \"미사일 속도 보너스 개조\", \n    \"displayName_ru\": \"Изменение влияния на скорость полёта ракет\", \n    \"displayName_zh\": \"导弹速度加成修正\", \n    \"displayNameID\": 309647, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"missileVelocityBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2026\": {\n    \"attributeID\": 2026, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1399.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Flugdauer-Bonusmodifikator\", \n    \"displayName_en-us\": \"Modification of Flight Time Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de tiempo de vuelo\", \n    \"displayName_fr\": \"Bonus de modification du temps de vol\", \n    \"displayName_it\": \"Modification of Flight Time Bonus\", \n    \"displayName_ja\": \"航行時間ボーナスの変更\", \n    \"displayName_ko\": \"비행 시간 보너스 개조\", \n    \"displayName_ru\": \"Изменение влияния на запас полётного времени ракет\", \n    \"displayName_zh\": \"飞行时间加成修正\", \n    \"displayNameID\": 309648, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"explosionDelayBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2027\": {\n    \"attributeID\": 2027, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTacticalDestroyerGallente1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2028\": {\n    \"attributeID\": 2028, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTacticalDestroyerGallente2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2029\": {\n    \"attributeID\": 2029, \n    \"categoryID\": 9, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTacticalDestroyerGallente3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2030\": {\n    \"attributeID\": 2030, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"modeArmorRepDurationPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2031\": {\n    \"attributeID\": 2031, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"modeMWDVelocityPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2032\": {\n    \"attributeID\": 2032, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"modeMWDCapPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2033\": {\n    \"attributeID\": 2033, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 1000000.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"speedLimit\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 11\n  }, \n  \"2034\": {\n    \"attributeID\": 2034, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximaler Schildschaden (pro Sekunde)\", \n    \"displayName_en-us\": \"Shield Damage Limit (per second)\", \n    \"displayName_es\": \"Límite de daño de escudo (por seg.)\", \n    \"displayName_fr\": \"Limite aux dégâts du bouclier (par seconde)\", \n    \"displayName_it\": \"Shield Damage Limit (per second)\", \n    \"displayName_ja\": \"シールドダメージの上限（毎秒）\", \n    \"displayName_ko\": \"초당 실드 피해 한계\", \n    \"displayName_ru\": \"Порог эффективности вражеского огня по щитам (в секунду)\", \n    \"displayName_zh\": \"护盾伤害上限（每秒）\", \n    \"displayNameID\": 309810, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shieldDamageLimit\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2035\": {\n    \"attributeID\": 2035, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximaler Panzerungsschaden (pro Sekunde)\", \n    \"displayName_en-us\": \"Armor Damage Limit (per second)\", \n    \"displayName_es\": \"Límite de daño de blindaje (por seg.)\", \n    \"displayName_fr\": \"Limite aux dégâts du blindage (par seconde)\", \n    \"displayName_it\": \"Armor Damage Limit (per second)\", \n    \"displayName_ja\": \"アーマーダメージの上限（毎秒）\", \n    \"displayName_ko\": \"초당 장갑 피해 한계\", \n    \"displayName_ru\": \"Порог эффективности вражеского огня по броне (в секунду)\", \n    \"displayName_zh\": \"装甲伤害上限（每秒）\", \n    \"displayNameID\": 309811, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"armorDamageLimit\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2036\": {\n    \"attributeID\": 2036, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximaler Strukturenschaden (pro Sekunde)\", \n    \"displayName_en-us\": \"Structure Damage Limit (per second)\", \n    \"displayName_es\": \"Límite de daño de estructura (por seg.)\", \n    \"displayName_fr\": \"Limite des dégâts de structure (par seconde)\", \n    \"displayName_it\": \"Structure Damage Limit (per second)\", \n    \"displayName_ja\": \"ストラクチャダメージの上限（毎秒）\", \n    \"displayName_ko\": \"초당 구조물 피해 한계\", \n    \"displayName_ru\": \"Порог эффективности вражеского огня по корпусу (в секунду)\", \n    \"displayName_zh\": \"结构伤害上限（每秒）\", \n    \"displayNameID\": 309812, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureDamageLimit\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2037\": {\n    \"attributeID\": 2037, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximale Schildreparatur (pro Sekunde)\", \n    \"displayName_en-us\": \"Shield Repair Limit (per second)\", \n    \"displayName_es\": \"Límite de reparación de escudo (por seg.)\", \n    \"displayName_fr\": \"Limite de réparation du bouclier (par seconde)\", \n    \"displayName_it\": \"Shield Repair Limit (per second)\", \n    \"displayName_ja\": \"シールドリペアの上限（毎秒）\", \n    \"displayName_ko\": \"초당 실드 수리 한계\", \n    \"displayName_ru\": \"Порог восстановления щитов (в секунду)\", \n    \"displayName_zh\": \"护盾恢复上限（每秒）\", \n    \"displayNameID\": 309813, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shieldRepairLimit\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2038\": {\n    \"attributeID\": 2038, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximale Panzerungsreparatur (pro Sekunde)\", \n    \"displayName_en-us\": \"Armor Repair Limit (per second)\", \n    \"displayName_es\": \"Límite de reparación de blindaje (por seg.)\", \n    \"displayName_fr\": \"Limite de réparation du blindage (par seconde)\", \n    \"displayName_it\": \"Armor Repair Limit (per second)\", \n    \"displayName_ja\": \"アーマーリペアの上限（毎秒）\", \n    \"displayName_ko\": \"초당 장갑 수리 한계\", \n    \"displayName_ru\": \"Порог восстановления брони (в секунду)\", \n    \"displayName_zh\": \"装甲维修上限（每秒）\", \n    \"displayNameID\": 309814, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"armorRepairLimit\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2039\": {\n    \"attributeID\": 2039, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximale Strukturreparatur (pro Sekunde)\", \n    \"displayName_en-us\": \"Structure Repair Limit (per second)\", \n    \"displayName_es\": \"Límite de reparación de estructuras (por seg.)\", \n    \"displayName_fr\": \"Limite de réparation de structure (par seconde)\", \n    \"displayName_it\": \"Structure Repair Limit (per second)\", \n    \"displayName_ja\": \"ストラクチャリペアの上限（毎秒）\", \n    \"displayName_ko\": \"초당 구조물 수리 한계\", \n    \"displayName_ru\": \"Порог восстановления корпуса (в секунду)\", \n    \"displayName_zh\": \"结构维修上限（每秒）\", \n    \"displayNameID\": 309815, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureRepairLimit\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2041\": {\n    \"attributeID\": 2041, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entosisCPUAdd\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2042\": {\n    \"attributeID\": 2042, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entosisCPUPenalty\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2043\": {\n    \"attributeID\": 2043, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusCBC\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2044\": {\n    \"attributeID\": 2044, \n    \"categoryID\": 29, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"distance from maximum range at which effectiveness has fallen by half\", \n    \"displayName_de\": \"Präzisionsabfall-Effektivität\", \n    \"displayName_en-us\": \"Effectiveness Falloff\", \n    \"displayName_es\": \"Alcance efectivo de eficacia\", \n    \"displayName_fr\": \"Déperdition d'efficacité\", \n    \"displayName_it\": \"Effectiveness Falloff\", \n    \"displayName_ja\": \"効力減少\", \n    \"displayName_ko\": \"효과 유효사거리\", \n    \"displayName_ru\": \"Добавочная дальность действия\", \n    \"displayName_zh\": \"效果失准范围\", \n    \"displayNameID\": 310053, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"falloffEffectiveness\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2045\": {\n    \"attributeID\": 2045, \n    \"categoryID\": 36, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Resistance against Energy Neutralizing and Nosferatu\", \n    \"displayName_de\": \"Widerstand gegen Energiespeicherangriffe\", \n    \"displayName_en-us\": \"Capacitor Warfare Resistance\", \n    \"displayName_es\": \"Resistencia guerra condensadores\", \n    \"displayName_fr\": \"Résistance à la guerre de capaciteur\", \n    \"displayName_it\": \"Capacitor Warfare Resistance\", \n    \"displayName_ja\": \"キャパシタ戦闘レジスタンス\", \n    \"displayName_ko\": \"캐패시터 저항\", \n    \"displayName_ru\": \"Сопротивление накопителя нейтрализирующему воздействию\", \n    \"displayName_zh\": \"电容战抗性\", \n    \"displayNameID\": 310054, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1400, \n    \"name\": \"energyWarfareResistance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Verringert die Energiespeicherentleerung durch feindliche Energieneutralisierer und Nosferatus\", \n    \"tooltipDescription_en-us\": \"Decreases the capacitor drained by hostile energy neutralizers and nosferatus\", \n    \"tooltipDescription_es\": \"Reduce el condensador drenado por los neutralizadores energéticos y nosferatus hostiles.\", \n    \"tooltipDescription_fr\": \"Réduit le capaciteur drainé par les neutraliseurs d'énergie et les Nosferatus hostiles\", \n    \"tooltipDescription_it\": \"Decreases the capacitor drained by hostile energy neutralizers and nosferatus\", \n    \"tooltipDescription_ja\": \"敵のニュートラライザーやノスフェラトゥによって減らされるキャパシタを減少させる\", \n    \"tooltipDescription_ko\": \"적이 에너지 뉴트럴라이저 및 노스페라투로 흡수할 수 있는 캐패시터 용량이 감소합니다.\", \n    \"tooltipDescription_ru\": \"Снижает объём энергии, выкачиваемой вражескими нейтрализаторами заряда и модулями паразитной подзарядки\", \n    \"tooltipDescription_zh\": \"减少敌对能量中和器和掠能器吸取的电容\", \n    \"tooltipDescriptionID\": 895866, \n    \"tooltipTitleID\": 895865, \n    \"unitID\": 108\n  }, \n  \"2046\": {\n    \"attributeID\": 2046, \n    \"categoryID\": 33, \n    \"dataType\": 5, \n    \"defaultValue\": 250000.0, \n    \"description\": \"Used for chance based accuracy hit calculation for entity super weapon.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entitySuperWeaponMaxRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2047\": {\n    \"attributeID\": 2047, \n    \"categoryID\": 33, \n    \"dataType\": 5, \n    \"defaultValue\": 250000.0, \n    \"description\": \"Used for chance based accuracy hit calculation for entity super weapon.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entitySuperWeaponFallOff\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2048\": {\n    \"attributeID\": 2048, \n    \"categoryID\": 33, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Used for chance based accuracy hit calculation for entity super weapon.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entitySuperWeaponTrackingSpeed\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2049\": {\n    \"attributeID\": 2049, \n    \"categoryID\": 33, \n    \"dataType\": 5, \n    \"defaultValue\": 20.0, \n    \"description\": \"Used for chance based accuracy hit calculation for entity super weapon.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"entitySuperWeaponOptimalSignatureRadius\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2055\": {\n    \"attributeID\": 2055, \n    \"categoryID\": 38, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This defines the total capacity of fighters allowed in the fighter bay of the ship\", \n    \"displayName_de\": \"Jägerhangarkapazität\", \n    \"displayName_en-us\": \"Fighter Hangar Capacity\", \n    \"displayName_es\": \"Capacidad del hangar de cazas\", \n    \"displayName_fr\": \"Capacité du hangar de chasseur\", \n    \"displayName_it\": \"Fighter Hangar Capacity\", \n    \"displayName_ja\": \"戦闘機ハンガー容量\", \n    \"displayName_ko\": \"파이터 격납고 크기\", \n    \"displayName_ru\": \"Объём отсека для истребителей\", \n    \"displayName_zh\": \"铁骑舰载机挂舱容量\", \n    \"displayNameID\": 310095, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1084, \n    \"name\": \"fighterCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"2056\": {\n    \"attributeID\": 2056, \n    \"categoryID\": 1, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Dienstmodul-Slots\", \n    \"displayName_en-us\": \"Service Slots\", \n    \"displayName_es\": \"Ranuras de servicio\", \n    \"displayName_fr\": \"Emplacements de service\", \n    \"displayName_it\": \"Service Slots\", \n    \"displayName_ja\": \"サービススロット\", \n    \"displayName_ko\": \"서비스 슬롯\", \n    \"displayName_ru\": \"Служебные разъёмы\", \n    \"displayName_zh\": \"服务槽位\", \n    \"displayNameID\": 310103, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"serviceSlots\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 122\n  }, \n  \"2058\": {\n    \"attributeID\": 2058, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"This item of clothing covers multiple areas of the body, so the category of clothes specified by this attribute is no longer mandatory\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"clothingAlsoCoversCategory2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2059\": {\n    \"attributeID\": 2059, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusCommandDestroyer1\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2060\": {\n    \"attributeID\": 2060, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusCommandDestroyer2\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2061\": {\n    \"attributeID\": 2061, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusCommandDestroyer3\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2063\": {\n    \"attributeID\": 2063, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"This item of clothing does not allow the category specified to be equipped with this item. It will be removed\", \n    \"displayName_de\": \"Benötigt keinen Kleidungstyp\", \n    \"displayName_en-us\": \"Does Not Require Clothing Type\", \n    \"displayName_es\": \"No requiere tipo de ropa.\", \n    \"displayName_fr\": \"Ne nécessite pas de type de vêtement\", \n    \"displayName_it\": \"Does Not Require Clothing Type\", \n    \"displayName_ja\": \"衣服タイプの指定なし\", \n    \"displayName_ko\": \"의상 분류 필요 없음\", \n    \"displayName_ru\": \"Тип одежды не требуется\", \n    \"displayName_zh\": \"不要求服饰类别\", \n    \"displayNameID\": 310113, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"clothingRemovesCategory2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2064\": {\n    \"attributeID\": 2064, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"role bonus for command destroyers\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusCD\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2065\": {\n    \"attributeID\": 2065, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装備可能：\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 310115, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup09\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2066\": {\n    \"attributeID\": 2066, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"distance jumped on mjd activation in meters\", \n    \"displayName_de\": \"Sprungdistanz\", \n    \"displayName_en-us\": \"Jump Distance\", \n    \"displayName_es\": \"Distancia de salto\", \n    \"displayName_fr\": \"Distance de saut\", \n    \"displayName_it\": \"Jump Distance\", \n    \"displayName_ja\": \"ジャンプ距離\", \n    \"displayName_ko\": \"점프 거리\", \n    \"displayName_ru\": \"Дальность гиперперехода\", \n    \"displayName_zh\": \"跳跃距离\", \n    \"displayNameID\": 310230, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"mjdJumpRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipTitleID\": 310231, \n    \"unitID\": 1\n  }, \n  \"2067\": {\n    \"attributeID\": 2067, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"range effected by mjfg scoop\", \n    \"displayName_de\": \"Wirkungsbereichradius\", \n    \"displayName_en-us\": \"Area Effect Radius\", \n    \"displayName_es\": \"Radio de acción\", \n    \"displayName_fr\": \"Rayon de la zone d'effet\", \n    \"displayName_it\": \"Area Effect Radius\", \n    \"displayName_ja\": \"エリア効果半径\", \n    \"displayName_ko\": \"유효 반경\", \n    \"displayName_ru\": \"Радиус области действия\", \n    \"displayName_zh\": \"范围效果半径\", \n    \"displayNameID\": 310232, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"mjfgRadius\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipTitleID\": 310233, \n    \"unitID\": 1\n  }, \n  \"2069\": {\n    \"attributeID\": 2069, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusElectronicAttackShip3\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusElectronicAttackShip3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2070\": {\n    \"attributeID\": 2070, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"shipBonusAC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2071\": {\n    \"attributeID\": 2071, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Strength at which objects are pushed away from the bumping module point of impact\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"bumpingStrength\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2072\": {\n    \"attributeID\": 2072, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to Gravimetric Strength bonus\", \n    \"displayName_de\": \"Modifikation des Bonus auf gravimetrische Stärke\", \n    \"displayName_en-us\": \"Modification of Gravimetric Strength Bonus\", \n    \"displayName_es\": \"Bonificación de modificación de fuerza gravimétrica\", \n    \"displayName_fr\": \"Modification du bonus à la puissance gravimétrique\", \n    \"displayName_it\": \"Modification of Gravimetric Strength Bonus\", \n    \"displayName_ja\": \"重力強度ボーナス修正値\", \n    \"displayName_ko\": \"중력장 강도 보너스 개조\", \n    \"displayName_ru\": \"Изменение силы глушения гравиметрических сенсоров\", \n    \"displayName_zh\": \"引力强度加成调整系数\", \n    \"displayNameID\": 310202, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3226, \n    \"name\": \"scanGravimetricStrengthBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2073\": {\n    \"attributeID\": 2073, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to Lader Strength bonus\", \n    \"displayName_de\": \"Modifikation des Bonus auf Ladar-Stärke\", \n    \"displayName_en-us\": \"Modification of Ladar Strength Bonus\", \n    \"displayName_es\": \"Bonificación de modificación de potencia lidar\", \n    \"displayName_fr\": \"Modification du bonus à la puissance ladar\", \n    \"displayName_it\": \"Modification of Ladar Strength Bonus\", \n    \"displayName_ja\": \"光学強度ボーナス修正値\", \n    \"displayName_ko\": \"라이다 강도 보너스 개조\", \n    \"displayName_ru\": \"Изменение силы глушения ладарных сенсоров\", \n    \"displayName_zh\": \"光雷达强度加成调整系数\", \n    \"displayNameID\": 310203, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3228, \n    \"name\": \"scanLadarStrengthBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2074\": {\n    \"attributeID\": 2074, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to Magnetometric Strength bonus\", \n    \"displayName_de\": \"Modifikation des Bonus auf magnetometrische Stärke\", \n    \"displayName_en-us\": \"Modification of Magnetometric Strength Bonus\", \n    \"displayName_es\": \"Bonificación de modificación de fuerza magnetométrica\", \n    \"displayName_fr\": \"Modification du bonus à la puissance magnétométrique\", \n    \"displayName_it\": \"Modification of Magnetometric Strength Bonus\", \n    \"displayName_ja\": \"磁気測定強度ボーナス修正値\", \n    \"displayName_ko\": \"자기 강도 보너스 개조\", \n    \"displayName_ru\": \"Изменение силы глушения магнитометрических сенсоров\", \n    \"displayName_zh\": \"磁力强度加成调整系数\", \n    \"displayNameID\": 310204, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3227, \n    \"name\": \"scanMagnetometricStrengthBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2075\": {\n    \"attributeID\": 2075, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to Radar Strength bonus\", \n    \"displayName_de\": \"Modifikation des Bonus auf Radar-Stärke\", \n    \"displayName_en-us\": \"Modification of Radar Strength Bonus\", \n    \"displayName_es\": \"Bonificación de modificación de fuerza del radar\", \n    \"displayName_fr\": \"Modification du bonus à la puissance du radar\", \n    \"displayName_it\": \"Modification of Radar Strength Bonus\", \n    \"displayName_ja\": \"電波強度ボーナス修正値\", \n    \"displayName_ko\": \"레이더 강도 보너스 개조\", \n    \"displayName_ru\": \"Изменение силы глушения радарных сенсоров\", \n    \"displayName_zh\": \"雷达强度加成调整系数\", \n    \"displayNameID\": 310205, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3229, \n    \"name\": \"scanRadarStrengthBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2076\": {\n    \"attributeID\": 2076, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"One of the groups of launcher this charge can be loaded into.\", \n    \"displayName_de\": \"Benutzt mit (Werfergruppe)\", \n    \"displayName_en-us\": \"Used with (Launcher Group)\", \n    \"displayName_es\": \"Se usa con (grupo de lanzador)\", \n    \"displayName_fr\": \"Utilisé avec (groupe de lanceur)\", \n    \"displayName_it\": \"Used with (Launcher Group)\", \n    \"displayName_ja\": \"（ランチャーグループ）と使用\", \n    \"displayName_ko\": \"(런처) 탄약\", \n    \"displayName_ru\": \"Используется с (группой модулей)\", \n    \"displayName_zh\": \"配套使用（发射器类别）\", \n    \"displayNameID\": 310214, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"launcherGroup4\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2077\": {\n    \"attributeID\": 2077, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"One of the groups of launcher this charge can be loaded into.\", \n    \"displayName_de\": \"Benutzt mit (Werfergruppe)\", \n    \"displayName_en-us\": \"Used with (Launcher Group)\", \n    \"displayName_es\": \"Se usa con (grupo de lanzador)\", \n    \"displayName_fr\": \"Utilisé avec (groupe de lanceur)\", \n    \"displayName_it\": \"Used with (Launcher Group)\", \n    \"displayName_ja\": \"（ランチャーグループ）と使用\", \n    \"displayName_ko\": \"(런처) 탄약\", \n    \"displayName_ru\": \"Используется с (группой модулей)\", \n    \"displayName_zh\": \"配套使用（发射器类别）\", \n    \"displayNameID\": 310215, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"launcherGroup5\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2078\": {\n    \"attributeID\": 2078, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"One of the groups of launcher this charge can be loaded into.\", \n    \"displayName_de\": \"Benutzt mit (Werfergruppe)\", \n    \"displayName_en-us\": \"Used with (Launcher Group)\", \n    \"displayName_es\": \"Se usa con (grupo de lanzador)\", \n    \"displayName_fr\": \"Utilisé avec (groupe de lanceur)\", \n    \"displayName_it\": \"Used with (Launcher Group)\", \n    \"displayName_ja\": \"（ランチャーグループ）と使用\", \n    \"displayName_ko\": \"(런처) 탄약\", \n    \"displayName_ru\": \"Используется с (группой модулей)\", \n    \"displayName_zh\": \"配套使用（发射器类别）\", \n    \"displayNameID\": 310216, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"launcherGroup6\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2079\": {\n    \"attributeID\": 2079, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Sets Em damage taken by Armor. \", \n    \"displayName_de\": \"Widerstandsfähigkeit der Panzerung gegen EM-Schaden festlegen\", \n    \"displayName_en-us\": \"Set Armor EM Damage Resistance\", \n    \"displayName_es\": \"Establecer resistencia de blindajes a daños electromagnéticos\", \n    \"displayName_fr\": \"Définir la résistance du blindage aux dégâts EM\", \n    \"displayName_it\": \"Set Armor EM Damage Resistance\", \n    \"displayName_ja\": \"アーマーのEMダメージレジスタンスを設定する\", \n    \"displayName_ko\": \"장갑 EM 저항력 설정\", \n    \"displayName_ru\": \"Повышение сопротивляемости брони ЭМ-урону\", \n    \"displayName_zh\": \"套件装甲电磁伤害抗性\", \n    \"displayNameID\": 310218, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"armorEmDamageResonancePostAssignment\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2080\": {\n    \"attributeID\": 2080, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Sets Explosive damage taken by Armor. \", \n    \"displayName_de\": \"Widerstandsfähigkeit der Panzerung gegen Explosionsschaden festlegen\", \n    \"displayName_en-us\": \"Set Armor Explosive Damage Resistance\", \n    \"displayName_es\": \"Establecer resistencia de blindajes a daños explosivos\", \n    \"displayName_fr\": \"Définir la résistance du blindage aux dégâts explosifs\", \n    \"displayName_it\": \"Set Armor Explosive Damage Resistance\", \n    \"displayName_ja\": \"アーマーのエクスプローシブダメージレジスタンスを設定する\", \n    \"displayName_ko\": \"장갑 폭발 저항력 설정\", \n    \"displayName_ru\": \"Повышение сопротивляемости брони фугасному урону\", \n    \"displayName_zh\": \"套件装甲爆炸伤害抗性\", \n    \"displayNameID\": 310219, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"armorExplosiveDamageResonancePostAssignment\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2081\": {\n    \"attributeID\": 2081, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Sets Kinetic damage taken by Armor. \", \n    \"displayName_de\": \"Widerstandsfähigkeit der Panzerung gegen Kinetikschaden festlegen\", \n    \"displayName_en-us\": \"Set Armor Kinetic Damage Resistance\", \n    \"displayName_es\": \"Establecer resistencia de blindajes a daños cinéticos\", \n    \"displayName_fr\": \"Définir la résistance du blindage aux dégâts cinétiques\", \n    \"displayName_it\": \"Set Armor Kinetic Damage Resistance\", \n    \"displayName_ja\": \"アーマーのキネティックダメージレジスタンスを設定する\", \n    \"displayName_ko\": \"장갑 키네틱 저항력 설정\", \n    \"displayName_ru\": \"Повышение сопротивляемости брони кинетическому урону\", \n    \"displayName_zh\": \"套件装甲动能伤害抗性\", \n    \"displayNameID\": 310220, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"armorKineticDamageResonancePostAssignment\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2082\": {\n    \"attributeID\": 2082, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Sets Thermal damage taken by Armor. \", \n    \"displayName_de\": \"Widerstandsfähigkeit der Panzerung gegen Thermalschaden festlegen\", \n    \"displayName_en-us\": \"Set Armor Thermal Damage Resistance\", \n    \"displayName_es\": \"Establecer resistencia de blindajes a daños térmicos\", \n    \"displayName_fr\": \"Définir la résistance du blindage aux dégâts thermiques\", \n    \"displayName_it\": \"Set Armor Thermal Damage Resistance\", \n    \"displayName_ja\": \"アーマーのサーマルダメージレジスタンスを設定する\", \n    \"displayName_ko\": \"장갑 열 저항력 설정\", \n    \"displayName_ru\": \"Повышение сопротивляемости брони термическому урону\", \n    \"displayName_zh\": \"套件装甲热能伤害抗性\", \n    \"displayNameID\": 310221, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"armorThermalDamageResonancePostAssignment\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2083\": {\n    \"attributeID\": 2083, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Sets Em damage taken by Shields. \", \n    \"displayName_de\": \"Widerstandsfähigkeit der Schilde gegen EM-Schaden festlegen\", \n    \"displayName_en-us\": \"Set Shield EM Damage Resistance\", \n    \"displayName_es\": \"Establecer resistencia de escudos a daños electromagnéticos\", \n    \"displayName_fr\": \"Définir la résistance du bouclier aux dégâts EM\", \n    \"displayName_it\": \"Set Shield EM Damage Resistance\", \n    \"displayName_ja\": \"シールドのEMダメージレジスタンスを設定する\", \n    \"displayName_ko\": \"실드 EM 저항력 설정\", \n    \"displayName_ru\": \"Повышение сопротивляемости щитов ЭМ-урону\", \n    \"displayName_zh\": \"套件护盾电磁伤害抗性\", \n    \"displayNameID\": 310222, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shieldEmDamageResonancePostAssignment\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2084\": {\n    \"attributeID\": 2084, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Sets Explosive damage taken by shields. \", \n    \"displayName_de\": \"Widerstandsfähigkeit der Schilde gegen Explosionsschaden festlegen\", \n    \"displayName_en-us\": \"Set Shield Explosive Damage Resistance\", \n    \"displayName_es\": \"Establecer resistencia de escudos a daños explosivos\", \n    \"displayName_fr\": \"Définir la résistance du bouclier aux dégâts explosifs\", \n    \"displayName_it\": \"Set Shield Explosive Damage Resistance\", \n    \"displayName_ja\": \"シールドのエクスプローシブダメージレジスタンスを設定する\", \n    \"displayName_ko\": \"실드 폭발 저항력 설정\", \n    \"displayName_ru\": \"Повышение сопротивляемости щитов фугасному урону\", \n    \"displayName_zh\": \"套件护盾爆炸伤害抗性\", \n    \"displayNameID\": 310223, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shieldExplosiveDamageResonancePostAssignment\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2085\": {\n    \"attributeID\": 2085, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Sets kinetic damage taken by Shields. \", \n    \"displayName_de\": \"Widerstandsfähigkeit der Schilde gegen Kinetikschaden festlegen\", \n    \"displayName_en-us\": \"Set Shield Kinetic Damage Resistance\", \n    \"displayName_es\": \"Establecer resistencia de escudos a daños cinéticos\", \n    \"displayName_fr\": \"Définir la résistance du bouclier aux dégâts cinétiques\", \n    \"displayName_it\": \"Set Shield Kinetic Damage Resistance\", \n    \"displayName_ja\": \"シールドのキネティックダメージレジスタンスを設定する\", \n    \"displayName_ko\": \"실드 키네틱 저항력 설정\", \n    \"displayName_ru\": \"Повышение сопротивляемости щитов кинетическому урону\", \n    \"displayName_zh\": \"套件护盾动能伤害抗性\", \n    \"displayNameID\": 310224, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shieldKineticDamageResonancePostAssignment\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2086\": {\n    \"attributeID\": 2086, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Sets Thermal damage taken by Shields. \", \n    \"displayName_de\": \"Widerstandsfähigkeit der Schilde gegen Thermalschaden festlegen\", \n    \"displayName_en-us\": \"Set Shield Thermal Damage Resistance\", \n    \"displayName_es\": \"Establecer resistencia de escudos a daños térmicos\", \n    \"displayName_fr\": \"Définir la résistance du bouclier aux dégâts thermiques\", \n    \"displayName_it\": \"Set Shield Thermal Damage Resistance\", \n    \"displayName_ja\": \"シールドのサーマルダメージレジスタンスを設定する\", \n    \"displayName_ko\": \"실드 열 저항력 설정\", \n    \"displayName_ru\": \"Повышение сопротивляемости щитов термическому урону\", \n    \"displayName_zh\": \"套件护盾热能伤害抗性\", \n    \"displayNameID\": 310225, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shieldThermalDamageResonancePostAssignment\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2087\": {\n    \"attributeID\": 2087, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Sets Em damage taken by Hull. \", \n    \"displayName_de\": \"Widerstandsfähigkeit des Rumpfs gegen EM-Schaden festlegen\", \n    \"displayName_en-us\": \"Set Hull EM Damage Resistance\", \n    \"displayName_es\": \"Establecer resistencia del casco a daños electromagnéticos\", \n    \"displayName_fr\": \"Définir la résistance de la coque aux dégâts EM\", \n    \"displayName_it\": \"Set Hull EM Damage Resistance\", \n    \"displayName_ja\": \"船体EMダメージレジスタンスを設定する\", \n    \"displayName_ko\": \"선체 EM 저항력 설정\", \n    \"displayName_ru\": \"Повышение сопротивляемости корпуса ЭМ-урону\", \n    \"displayName_zh\": \"套件结构电磁伤害抗性\", \n    \"displayNameID\": 310226, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"emDamageResonancePostAssignment\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2088\": {\n    \"attributeID\": 2088, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Sets Explosive damage taken by Hull. \", \n    \"displayName_de\": \"Widerstandsfähigkeit des Rumpfs gegen Explosionsschaden festlegen\", \n    \"displayName_en-us\": \"Set Hull Explosive Damage Resistance\", \n    \"displayName_es\": \"Establecer resistencia del casco a daños explosivos\", \n    \"displayName_fr\": \"Définir la résistance de la coque aux dégâts explosifs\", \n    \"displayName_it\": \"Set Hull Explosive Damage Resistance\", \n    \"displayName_ja\": \"船体エクスプローシブダメージレジスタンスを設定する\", \n    \"displayName_ko\": \"선체 폭발 저항력 설정\", \n    \"displayName_ru\": \"Повышение сопротивляемости корпуса фугасному урону\", \n    \"displayName_zh\": \"套件结构爆炸伤害抗性\", \n    \"displayNameID\": 310227, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"explosiveDamageResonancePostAssignment\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2089\": {\n    \"attributeID\": 2089, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Sets Thermal damage taken by Hull. \", \n    \"displayName_de\": \"Widerstandsfähigkeit des Rumpfs gegen Thermalschaden festlegen\", \n    \"displayName_en-us\": \"Set Hull Thermal Damage Resistance\", \n    \"displayName_es\": \"Establecer resistencia del casco a daños térmicos\", \n    \"displayName_fr\": \"Définir la résistance de la coque aux dégâts thermiques\", \n    \"displayName_it\": \"Set Hull Thermal Damage Resistance\", \n    \"displayName_ja\": \"船体サーマルダメージレジスタンスを設定する\", \n    \"displayName_ko\": \"선체 열 저항력 설정\", \n    \"displayName_ru\": \"Заданная сопротивляемость корпуса термическому урону\", \n    \"displayName_zh\": \"套件结构热能伤害抗性\", \n    \"displayNameID\": 310228, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"thermalDamageResonancePostAssignment\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2090\": {\n    \"attributeID\": 2090, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Sets Kinetic damage taken by Hull. \", \n    \"displayName_de\": \"Widerstandsfähigkeit des Rumpfs gegen Kinetikschaden festlegen\", \n    \"displayName_en-us\": \"Set Hull Kinetic Damage Resistance\", \n    \"displayName_es\": \"Establecer resistencia del casco a daños cinéticos\", \n    \"displayName_fr\": \"Définir la résistance de la coque aux dégâts cinétiques\", \n    \"displayName_it\": \"Set Hull Kinetic Damage Resistance\", \n    \"displayName_ja\": \"船体キネティックダメージレジスタンスを設定する\", \n    \"displayName_ko\": \"선체 키네틱 저항력 설정\", \n    \"displayName_ru\": \"Повышение сопротивляемости корпуса кинетическому урону\", \n    \"displayName_zh\": \"套件结构动能伤害抗性\", \n    \"displayNameID\": 310229, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"kineticDamageResonancePostAssignment\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2091\": {\n    \"attributeID\": 2091, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2092\": {\n    \"attributeID\": 2092, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusLogiFrig1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2093\": {\n    \"attributeID\": 2093, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusLogiFrig2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2094\": {\n    \"attributeID\": 2094, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of time that a fighter can have a micro warp drive active.\", \n    \"displayName_de\": \"Mikrowarpantriebsdauer\", \n    \"displayName_en-us\": \"Micro Warp Drive Duration\", \n    \"displayName_es\": \"Duración del motor de microwarp\", \n    \"displayName_fr\": \"Durée du propulseur de microwarp\", \n    \"displayName_it\": \"Micro Warp Drive Duration\", \n    \"displayName_ja\": \"マイクロワープドライブ持続時間\", \n    \"displayName_ko\": \"마이크로 워프 드라이브 지속시간\", \n    \"displayName_ru\": \"Продолжительность эффекта микроварп-ускорителя\", \n    \"displayName_zh\": \"微型跃迁引擎持续时间\", \n    \"displayNameID\": 310291, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"fighterMicroWarpDriveDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2095\": {\n    \"attributeID\": 2095, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"High-sec bonus on structure rigs.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureRigBonus1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2096\": {\n    \"attributeID\": 2096, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"High-sec bonus on structure rigs.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureRigBonus2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2097\": {\n    \"attributeID\": 2097, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"High-sec bonus on structure rigs.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureRigBonus3\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2098\": {\n    \"attributeID\": 2098, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"High-sec bonus on structure rigs.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureRigBonus4\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2099\": {\n    \"attributeID\": 2099, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"High-sec bonus on structure rigs.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureRigBonus5\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2100\": {\n    \"attributeID\": 2100, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"High-sec bonus on structure rigs.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureRigBonus6\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2101\": {\n    \"attributeID\": 2101, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"High-sec bonus on structure rigs.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureRigBonus7\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2102\": {\n    \"attributeID\": 2102, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ignoreCloakVelocityPenalty\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2103\": {\n    \"attributeID\": 2103, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être installé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装備可能：\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 310348, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipType6\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"2104\": {\n    \"attributeID\": 2104, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of targets affected by the structure doomsday beam.\", \n    \"displayName_de\": \"Anzahl an Doomsday-Zielen\", \n    \"displayName_en-us\": \"Number of Doomsday Targets\", \n    \"displayName_es\": \"N.º de objetivos apocalípticos\", \n    \"displayName_fr\": \"Nombre de cibles d'annihilation\", \n    \"displayName_it\": \"Number of Doomsday Targets\", \n    \"displayName_ja\": \"ドゥームズデイ標的数\", \n    \"displayName_ko\": \"둠스데이 타겟 수\", \n    \"displayName_ru\": \"Число целей орудий Судного дня\", \n    \"displayName_zh\": \"末日武器目标数量\", \n    \"displayNameID\": 312283, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"lightningWeaponTargetAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 138\n  }, \n  \"2105\": {\n    \"attributeID\": 2105, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum distance between two possible targets for the structure doomsday.\", \n    \"displayName_de\": \"Maximale Zielsprungreichweite\", \n    \"displayName_en-us\": \"Maximum Target Jump Range\", \n    \"displayName_es\": \"Alcance máx. de salto de objetivo\", \n    \"displayName_fr\": \"Portée maximale de saut vers cible\", \n    \"displayName_it\": \"Maximum Target Jump Range\", \n    \"displayName_ja\": \"最大ターゲットジャンプ距離\", \n    \"displayName_ko\": \"최대 타겟 점프 거리\", \n    \"displayName_ru\": \"Максимальная дистанция переноса от цели к цели\", \n    \"displayName_zh\": \"最大目标跳跃范围\", \n    \"displayNameID\": 312297, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"lightningWeaponTargetRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2106\": {\n    \"attributeID\": 2106, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Damage lost per target hit\", \n    \"displayName_de\": \"Schadensreduktion pro Zielsprung\", \n    \"displayName_en-us\": \"Damage Reduction per Target Jump\", \n    \"displayName_es\": \"Reducción de daño por salto de objetivo\", \n    \"displayName_fr\": \"Réduction des dégâts par saut vers cible\", \n    \"displayName_it\": \"Damage Reduction per Target Jump\", \n    \"displayName_ja\": \"ターゲットジャンプ毎にダメージ減少\", \n    \"displayName_ko\": \"타겟 점프에 따른 피해 감소\", \n    \"displayName_ru\": \"Снижение урона при переходе на следующую цель\", \n    \"displayName_zh\": \"每次目标跳跃伤害减少\", \n    \"displayNameID\": 312296, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"lightningWeaponDamageLossTarget\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"2107\": {\n    \"attributeID\": 2107, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Length of activation time.\", \n    \"displayName_de\": \"Mikrosprungantriebsdauer\", \n    \"displayName_en-us\": \"Micro Jump Drive Duration\", \n    \"displayName_es\": \"Duración del motor de microsalto\", \n    \"displayName_fr\": \"Durée du propulseur hyperspatial\", \n    \"displayName_it\": \"Micro Jump Drive Duration\", \n    \"displayName_ja\": \"マイクロジャンプドライブ持続時間\", \n    \"displayName_ko\": \"마이크로 점프 드라이브 지속시간\", \n    \"displayName_ru\": \"Время цикла маневрового гипердвигателя\", \n    \"displayName_zh\": \"微型跳跃引擎持续时间\", \n    \"displayNameID\": 310355, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"fighterMicroJumpDriveDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2108\": {\n    \"attributeID\": 2108, \n    \"categoryID\": 7, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"Fuel consumed by the structure service module\", \n    \"displayName_de\": \"Treibstoff für Dienstmodul benötigt\", \n    \"displayName_en-us\": \"Service Module Fuel Need\", \n    \"displayName_es\": \"Necesidad de combustible para módulo de servicio\", \n    \"displayName_fr\": \"Besoin en carburant pour le module de service\", \n    \"displayName_it\": \"Service Module Fuel Need\", \n    \"displayName_ja\": \"サービスモジュールの必要燃料\", \n    \"displayName_ko\": \"서비스 모듈 연료 필요\", \n    \"displayName_ru\": \"Потребность служебного модуля в топливе\", \n    \"displayName_zh\": \"服务装备燃料需求\", \n    \"displayNameID\": 310373, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"serviceModuleFuelConsumptionGroup\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2109\": {\n    \"attributeID\": 2109, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Fuel consumed at the beginning of each hour to keep a service module online.\", \n    \"displayName_de\": \"Treibstoff für Dienstmodulzyklus benötigt\", \n    \"displayName_en-us\": \"Service Module Cycle Fuel Need\", \n    \"displayName_es\": \"Necesidad de combustible para ciclo de módulo de servicio\", \n    \"displayName_fr\": \"Besoin en carburant pour le cycle du module de service\", \n    \"displayName_it\": \"Service Module Cycle Fuel Need\", \n    \"displayName_ja\": \"サービスモジュールのサイクルあたりの必要燃料\", \n    \"displayName_ko\": \"서비스 모듈 사이클 연료 필요\", \n    \"displayName_ru\": \"Потребность служебного модуля в топливе при работе\", \n    \"displayName_zh\": \"服务装备周期燃料需求\", \n    \"displayNameID\": 310374, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"serviceModuleFuelAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 138\n  }, \n  \"2110\": {\n    \"attributeID\": 2110, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Fuel consumed to online the service module.\", \n    \"displayName_de\": \"Treibstoff für Dienstmodul-Onlineschaltung benötigt\", \n    \"displayName_en-us\": \"Service Module Online Fuel Need\", \n    \"displayName_es\": \"Necesidad de combustible para módulo de servicio conectado\", \n    \"displayName_fr\": \"Besoin en carburant pour le module de service actif\", \n    \"displayName_it\": \"Service Module Online Fuel Need\", \n    \"displayName_ja\": \"サービスモジュールのオンライン時の必要燃料\", \n    \"displayName_ko\": \"서비스 모듈 온라인 연료 필요\", \n    \"displayName_ru\": \"Потребность служебного модуля в топливе при включении\", \n    \"displayName_zh\": \"服务装备启用燃料需求\", \n    \"displayNameID\": 310375, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"serviceModuleFuelOnlineAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 138\n  }, \n  \"2111\": {\n    \"attributeID\": 2111, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of hours of vulnerability each week required. Applies only to categoryStructure.\", \n    \"displayName_de\": \"Wöchentliche Verwundbarkeitszeit\", \n    \"displayName_en-us\": \"Weekly Vulnerability\", \n    \"displayName_es\": \"Vulnerabilidad semanal\", \n    \"displayName_fr\": \"Weekly Vulnerability\", \n    \"displayName_it\": \"Weekly Vulnerability\", \n    \"displayName_ja\": \"週次の脆弱性\", \n    \"displayName_ko\": \"주간 취약성\", \n    \"displayName_ru\": \"Еженедельный интервал уязвимости\", \n    \"displayName_zh\": \"每周可被攻击时间\", \n    \"displayNameID\": 312202, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"vulnerabilityRequired\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 129\n  }, \n  \"2112\": {\n    \"attributeID\": 2112, \n    \"categoryID\": 36, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Resistance against Remote Sensor Dampeners.\", \n    \"displayName_de\": \"Widerstand gegen Sensorbeeinflussung\", \n    \"displayName_en-us\": \"Sensor Warfare Resistance\", \n    \"displayName_es\": \"Resistencia a la guerra de sensores\", \n    \"displayName_fr\": \"Résistance à la guerre de détecteur\", \n    \"displayName_it\": \"Sensor Warfare Resistance\", \n    \"displayName_ja\": \"センサー戦闘レジスタンス\", \n    \"displayName_ko\": \"센서전 저항\", \n    \"displayName_ru\": \"Сопротивление воздействию помех на захват целей\", \n    \"displayName_zh\": \"感应战抗性\", \n    \"displayNameID\": 311127, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 74, \n    \"name\": \"sensorDampenerResistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2113\": {\n    \"attributeID\": 2113, \n    \"categoryID\": 36, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Resistance against Remote Weapon Disruptors.\", \n    \"displayName_de\": \"Widerstand gegen Waffenstörung\", \n    \"displayName_en-us\": \"Weapon Disruption Resistance\", \n    \"displayName_es\": \"Resistencia disrupción armas\", \n    \"displayName_fr\": \"Résistance de perturbation d'armement\", \n    \"displayName_it\": \"Weapon Disruption Resistance\", \n    \"displayName_ja\": \"兵器妨害レジスタンス\", \n    \"displayName_ko\": \"무기 교란 저항\", \n    \"displayName_ru\": \"Сопротивление воздействию помех на наводку вооружения\", \n    \"displayName_zh\": \"武器干扰抗性\", \n    \"displayNameID\": 311128, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1398, \n    \"name\": \"weaponDisruptionResistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Verringert die Effekte feindlicher Waffenstörungsmodule\", \n    \"tooltipDescription_en-us\": \"Decreases the effects of hostile weapon disruption modules\", \n    \"tooltipDescription_es\": \"Reduce los efectos de los módulos de disrupción de armas hostiles.\", \n    \"tooltipDescription_fr\": \"Réduit les effets des modules de perturbation d'armement hostiles\", \n    \"tooltipDescription_it\": \"Decreases the effects of hostile weapon disruption modules\", \n    \"tooltipDescription_ja\": \"敵の兵器妨害モジュールの効果を減少させる\", \n    \"tooltipDescription_ko\": \"적의 무기 교란 모듈의 효과가 감소합니다.\", \n    \"tooltipDescription_ru\": \"Снижает эффективность вражеских подавителей орудий\", \n    \"tooltipDescription_zh\": \"削弱敌对武器扰断装备的效果\", \n    \"tooltipDescriptionID\": 895868, \n    \"tooltipTitleID\": 895867, \n    \"unitID\": 108\n  }, \n  \"2114\": {\n    \"attributeID\": 2114, \n    \"categoryID\": 36, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Resistance against Target Painters\", \n    \"displayName_de\": \"Widerstand gegen Zielmarkierungen\", \n    \"displayName_en-us\": \"Target Painter Resistance\", \n    \"displayName_es\": \"Resistencia a reveladores de objetivo\", \n    \"displayName_fr\": \"Résistance de Marqueur de cible\", \n    \"displayName_it\": \"Target Painter Resistance\", \n    \"displayName_ja\": \"ターゲットぺインター・レジスタンス\", \n    \"displayName_ko\": \"타겟 페인터 저항\", \n    \"displayName_ru\": \"Сопротивление воздействию систем подсветки целей\", \n    \"displayName_zh\": \"目标标记抗性\", \n    \"displayNameID\": 311129, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1390, \n    \"name\": \"targetPainterResistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2115\": {\n    \"attributeID\": 2115, \n    \"categoryID\": 36, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Resistance against Stasis Webifiers\", \n    \"displayName_de\": \"Widerstand gegen Stasisnetze\", \n    \"displayName_en-us\": \"Stasis Webifier Resistance\", \n    \"displayName_es\": \"Resistencia redes ralentizadoras\", \n    \"displayName_fr\": \"Résistance de Générateur de stase\", \n    \"displayName_it\": \"Stasis Webifier Resistance\", \n    \"displayName_ja\": \"ステイシスウェビファイヤー・レジスタンス\", \n    \"displayName_ko\": \"스테이시스 웹 저항력\", \n    \"displayName_ru\": \"Сопротивление воздействию генераторов стазис-поля\", \n    \"displayName_zh\": \"停滞缠绕抗性\", \n    \"displayNameID\": 311130, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1389, \n    \"name\": \"stasisWebifierResistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Verringert den Einfluss feindlicher Stasisnetze auf die Geschwindigkeit\", \n    \"tooltipDescription_en-us\": \"Decreases the impact on speed from hostile stasis webifiers\", \n    \"tooltipDescription_es\": \"Reduce el impacto en la velocidad de las redes ralentizadoras hostiles.\", \n    \"tooltipDescription_fr\": \"Réduit l'impact des générateurs de stase hostiles sur la vitesse\", \n    \"tooltipDescription_it\": \"Decreases the impact on speed from hostile stasis webifiers\", \n    \"tooltipDescription_ja\": \"敵のステイシスウェビファイヤーの速度への影響を減少させる\", \n    \"tooltipDescription_ko\": \"적이 스테이시스 웹 생성기로 함선 속도에 미치는 영향이 감소합니다.\", \n    \"tooltipDescription_ru\": \"Уменьшает влияние вражеских стазис-индукторов на скорость корабля\", \n    \"tooltipDescription_zh\": \"减少敌对停滞缠绕光束对速度的影响\", \n    \"tooltipDescriptionID\": 895864, \n    \"tooltipTitleID\": 895863, \n    \"unitID\": 108\n  }, \n  \"2116\": {\n    \"attributeID\": 2116, \n    \"categoryID\": 36, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Impedance against Remote Repair (shield, armor, hull and energy).\", \n    \"displayName_de\": \"Fernlogistikimpedanz\", \n    \"displayName_en-us\": \"Remote Logistics Impedance\", \n    \"displayName_es\": \"Impedancia logística remota\", \n    \"displayName_fr\": \"Impédance logistique à distance\", \n    \"displayName_it\": \"Remote Logistics Impedance\", \n    \"displayName_ja\": \"リモート輸送インピーダンス\", \n    \"displayName_ko\": \"원격 지원 임피던스\", \n    \"displayName_ru\": \"Сопротивление дистанционному ремонту брони/накачке щитов\", \n    \"displayName_zh\": \"远程后勤阻扰\", \n    \"displayNameID\": 311131, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 80, \n    \"name\": \"remoteRepairImpedance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2118\": {\n    \"attributeID\": 2118, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Shield EM Damage Resistance\", \n    \"displayName_de\": \"Widerstandsfähigkeit der Schilde gegen EM-Schaden\", \n    \"displayName_en-us\": \"Shield EM Damage Resistance\", \n    \"displayName_es\": \"Resistencia electrom. escudo\", \n    \"displayName_fr\": \"Résistance du bouclier aux dégâts EM\", \n    \"displayName_it\": \"Shield EM Damage Resistance\", \n    \"displayName_ja\": \"シールド ― EMダメージレジスタンス\", \n    \"displayName_ko\": \"실드 EM 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов ЭМ-урону\", \n    \"displayName_zh\": \"护盾电磁伤害抗性\", \n    \"displayNameID\": 311783, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1396, \n    \"name\": \"fighterAbilityEvasiveManeuversEmResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"2119\": {\n    \"attributeID\": 2119, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Shield Thermal Damage Resistance\", \n    \"displayName_de\": \"Thermalschadensresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Thermal Damage Resistance\", \n    \"displayName_es\": \"Resistencia térmica escudo\", \n    \"displayName_fr\": \"Résistance du bouclier aux dégâts thermiques\", \n    \"displayName_it\": \"Shield Thermal Damage Resistance\", \n    \"displayName_ja\": \"シールド ― サーマルダメージレジスタンス\", \n    \"displayName_ko\": \"실드 열 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов термическому урону\", \n    \"displayName_zh\": \"护盾热能伤害抗性\", \n    \"displayNameID\": 311784, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1394, \n    \"name\": \"fighterAbilityEvasiveManeuversThermResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"2120\": {\n    \"attributeID\": 2120, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Shield Kinetic Damage Resistance\", \n    \"displayName_de\": \"Kinetikschadensresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Kinetic Damage Resistance\", \n    \"displayName_es\": \"Resistencia cinética escudo\", \n    \"displayName_fr\": \"Résistance du bouclier aux dégâts cinétiques\", \n    \"displayName_it\": \"Shield Kinetic Damage Resistance\", \n    \"displayName_ja\": \"シールド ― キネティックダメージレジスタンス\", \n    \"displayName_ko\": \"실드 키네틱 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов кинетическому урону\", \n    \"displayName_zh\": \"护盾动能伤害抗性\", \n    \"displayNameID\": 311785, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1393, \n    \"name\": \"fighterAbilityEvasiveManeuversKinResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"2121\": {\n    \"attributeID\": 2121, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Shield Explosive Damage Resistance\", \n    \"displayName_de\": \"Explosivschadensresistenz der Schilde\", \n    \"displayName_en-us\": \"Shield Explosive Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño explosivo del escudo\", \n    \"displayName_fr\": \"Résistance du bouclier aux dégâts explosifs\", \n    \"displayName_it\": \"Shield Explosive Damage Resistance\", \n    \"displayName_ja\": \"シールド ― エクスプローシブダメージレジスタンス\", \n    \"displayName_ko\": \"실드 폭발 저항력\", \n    \"displayName_ru\": \"Сопротивляемость щитов фугасному урону\", \n    \"displayName_zh\": \"护盾爆炸伤害抗性\", \n    \"displayNameID\": 311786, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1395, \n    \"name\": \"fighterAbilityEvasiveManeuversExpResonance\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"2123\": {\n    \"attributeID\": 2123, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration\", \n    \"displayName_de\": \"Dauer\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"持続時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"持续时间\", \n    \"displayNameID\": 311758, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"fighterAbilityEvasiveManeuversDuration\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"2125\": {\n    \"attributeID\": 2125, \n    \"categoryID\": 34, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Explosion Radius\", \n    \"displayName_de\": \"Explosionsradius\", \n    \"displayName_en-us\": \"Explosion Radius\", \n    \"displayName_es\": \"Radio de explosión\", \n    \"displayName_fr\": \"Rayon d'explosion\", \n    \"displayName_it\": \"Explosion Radius\", \n    \"displayName_ja\": \"爆発半径\", \n    \"displayName_ko\": \"폭발반경\", \n    \"displayName_ru\": \"Сигнатура взрыва\", \n    \"displayName_zh\": \"爆炸半径\", \n    \"displayNameID\": 311788, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"fighterAbilityMissilesExplosionRadius\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2126\": {\n    \"attributeID\": 2126, \n    \"categoryID\": 34, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Explosion Velocity\", \n    \"displayName_de\": \"Explosionsgeschwindigkeit\", \n    \"displayName_en-us\": \"Explosion Velocity\", \n    \"displayName_es\": \"Velocidad de explosión\", \n    \"displayName_fr\": \"Vitesse d'explosion\", \n    \"displayName_it\": \"Explosion Velocity\", \n    \"displayName_ja\": \"爆発速度\", \n    \"displayName_ko\": \"폭발속도\", \n    \"displayName_ru\": \"Скорость взрыва\", \n    \"displayName_zh\": \"爆炸速度\", \n    \"displayNameID\": 311787, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"fighterAbilityMissilesExplosionVelocity\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 10\n  }, \n  \"2127\": {\n    \"attributeID\": 2127, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityMissilesDamageReductionFactor\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"2128\": {\n    \"attributeID\": 2128, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityMissilesDamageReductionSensitivity\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"2130\": {\n    \"attributeID\": 2130, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Damage Multiplier\", \n    \"displayName_de\": \"Schadensmultiplikator\", \n    \"displayName_en-us\": \"Damage Multiplier\", \n    \"displayName_es\": \"Multiplicador de daño\", \n    \"displayName_fr\": \"Multiplicateur de dégâts\", \n    \"displayName_it\": \"Damage Multiplier\", \n    \"displayName_ja\": \"ダメージ乗数\", \n    \"displayName_ko\": \"데미지 배수\", \n    \"displayName_ru\": \"Множитель урона\", \n    \"displayName_zh\": \"伤害倍增系数\", \n    \"displayNameID\": 311769, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1432, \n    \"name\": \"fighterAbilityMissilesDamageMultiplier\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 104\n  }, \n  \"2131\": {\n    \"attributeID\": 2131, \n    \"categoryID\": 34, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"EM Damage\", \n    \"displayName_de\": \"EM-Schaden (pro Jäger)\", \n    \"displayName_en-us\": \"EM Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño electromagnético (por caza)\", \n    \"displayName_fr\": \"Dégâts EM (par chasseur)\", \n    \"displayName_it\": \"EM Damage (Per Fighter)\", \n    \"displayName_ja\": \"EMダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"EM 피해량 (파이터 당)\", \n    \"displayName_ru\": \"ЭМ-урон (каждого истребителя)\", \n    \"displayName_zh\": \"电磁伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 311778, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1388, \n    \"name\": \"fighterAbilityMissilesDamageEM\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2132\": {\n    \"attributeID\": 2132, \n    \"categoryID\": 34, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Thermal Damage\", \n    \"displayName_de\": \"Thermalschaden (pro Jäger)\", \n    \"displayName_en-us\": \"Thermal Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño térmico (por caza)\", \n    \"displayName_fr\": \"Dégâts thermiques (par chasseur)\", \n    \"displayName_it\": \"Thermal Damage (Per Fighter)\", \n    \"displayName_ja\": \"サーマルダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"열 피해량 (파이터 당)\", \n    \"displayName_ru\": \"Термический урон (каждого истребителя)\", \n    \"displayName_zh\": \"热能伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 311782, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"fighterAbilityMissilesDamageTherm\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2133\": {\n    \"attributeID\": 2133, \n    \"categoryID\": 34, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Kinetic Damage\", \n    \"displayName_de\": \"Kinetikschaden (pro Jäger)\", \n    \"displayName_en-us\": \"Kinetic Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño cinético (por caza)\", \n    \"displayName_fr\": \"Dégâts cinétiques (par chasseur)\", \n    \"displayName_it\": \"Kinetic Damage (Per Fighter)\", \n    \"displayName_ja\": \"キネティックダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"키네틱 피해량 (파이터 당)\", \n    \"displayName_ru\": \"Кинетический урон (каждого истребителя)\", \n    \"displayName_zh\": \"动能伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 311781, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1385, \n    \"name\": \"fighterAbilityMissilesDamageKin\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2134\": {\n    \"attributeID\": 2134, \n    \"categoryID\": 34, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Explosive Damage\", \n    \"displayName_de\": \"Explosionsschaden (pro Jäger)\", \n    \"displayName_en-us\": \"Explosive Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño explosivo (por caza)\", \n    \"displayName_fr\": \"Dégâts explosifs (par chasseur)\", \n    \"displayName_it\": \"Explosive Damage (Per Fighter)\", \n    \"displayName_ja\": \"エクスプローシブダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"폭발 피해량 (파이터 당)\", \n    \"displayName_ru\": \"Фугасный урон (каждого истребителя)\", \n    \"displayName_zh\": \"爆炸伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 311779, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1387, \n    \"name\": \"fighterAbilityMissilesDamageExp\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2135\": {\n    \"attributeID\": 2135, \n    \"categoryID\": 36, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Impedance against Remote assistance (sensor boosters, tracking computers and ECCM).\", \n    \"displayName_de\": \"Elektronische Fernunterstützungsimpedanz\", \n    \"displayName_en-us\": \"Remote Electronic Assistance Impedance\", \n    \"displayName_es\": \"Impedancia de asistencia electrónica remota\", \n    \"displayName_fr\": \"Impédance du soutient électronique à distance\", \n    \"displayName_it\": \"Remote Electronic Assistance Impedance\", \n    \"displayName_ja\": \"リモート電子アシスタンスのインピーダンス\", \n    \"displayName_ko\": \"원격 전자 지원 임피던스\", \n    \"displayName_ru\": \"Сопротивление радиоэлектронной поддержке\", \n    \"displayName_zh\": \"远程电子协助阻抗\", \n    \"displayNameID\": 311135, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 74, \n    \"name\": \"remoteAssistanceImpedance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2136\": {\n    \"attributeID\": 2136, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxTargetRangeBonusInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2137\": {\n    \"attributeID\": 2137, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanResolutionBonusInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2138\": {\n    \"attributeID\": 2138, \n    \"categoryID\": 36, \n    \"dataType\": 10, \n    \"defaultValue\": 0.0, \n    \"description\": \"Attribute ID of the resistance type v's this Ewar module.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"remoteResistanceID\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 119\n  }, \n  \"2139\": {\n    \"attributeID\": 2139, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxRangeBonusInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2140\": {\n    \"attributeID\": 2140, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"falloffBonusInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2141\": {\n    \"attributeID\": 2141, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"trackingSpeedBonusInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2142\": {\n    \"attributeID\": 2142, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"aoeCloudSizeBonusInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2143\": {\n    \"attributeID\": 2143, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"aoeVelocityBonusInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2144\": {\n    \"attributeID\": 2144, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"explosionDelayBonusInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"2145\": {\n    \"attributeID\": 2145, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"missileVelocityBonusInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2147\": {\n    \"attributeID\": 2147, \n    \"categoryID\": 21, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"signatureRadiusBonusInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2148\": {\n    \"attributeID\": 2148, \n    \"categoryID\": 28, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"speedFactorInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2149\": {\n    \"attributeID\": 2149, \n    \"categoryID\": 34, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Optimal Range\", \n    \"displayName_de\": \"Optimale Reichweite\", \n    \"displayName_en-us\": \"Optimal Range\", \n    \"displayName_es\": \"Alcance óptimo\", \n    \"displayName_fr\": \"Portée optimale\", \n    \"displayName_it\": \"Optimal Range\", \n    \"displayName_ja\": \"最適射程距離\", \n    \"displayName_ko\": \"최적사거리\", \n    \"displayName_ru\": \"Оптимальная дальность\", \n    \"displayName_zh\": \"最佳射程\", \n    \"displayNameID\": 311772, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"fighterAbilityMissilesRange\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2150\": {\n    \"attributeID\": 2150, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used by Fighter Logic.\\r\\nDON'T CHANGE THE DEFAULT VALUE FROM 0\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"fighterSquadronSize\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2151\": {\n    \"attributeID\": 2151, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 100.0, \n    \"description\": \"Maximum Velocity Bonus\", \n    \"displayName_de\": \"Maximaler Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Maximum Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máxima\", \n    \"displayName_fr\": \"Bonus de vitesse maximale\", \n    \"displayName_it\": \"Maximum Velocity Bonus\", \n    \"displayName_ja\": \"最高速度ボーナス\", \n    \"displayName_ko\": \"최대 속도 보너스\", \n    \"displayName_ru\": \"Влияние на максимальную скорость\", \n    \"displayName_zh\": \"最大速度加成\", \n    \"displayNameID\": 311765, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"fighterAbilityAfterburnerSpeedBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 124\n  }, \n  \"2152\": {\n    \"attributeID\": 2152, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum Velocity Bonus\", \n    \"displayName_de\": \"Maximaler Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Maximum Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máxima\", \n    \"displayName_fr\": \"Bonus de vitesse maximale\", \n    \"displayName_it\": \"Maximum Velocity Bonus\", \n    \"displayName_ja\": \"最高速度ボーナス\", \n    \"displayName_ko\": \"최대 속도 보너스\", \n    \"displayName_ru\": \"Влияние на максимальную скорость\", \n    \"displayName_zh\": \"最大速度加成\", \n    \"displayNameID\": 311767, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"fighterAbilityMicroWarpDriveSpeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2153\": {\n    \"attributeID\": 2153, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Signature Radius Bonus\", \n    \"displayName_de\": \"Signaturradius-Bonus\", \n    \"displayName_en-us\": \"Signature Radius Bonus\", \n    \"displayName_es\": \"Bonificación de radio de la señal\", \n    \"displayName_fr\": \"Bonus de rayon de signature\", \n    \"displayName_it\": \"Signature Radius Bonus\", \n    \"displayName_ja\": \"シグネチャ半径ボーナス\", \n    \"displayName_ko\": \"시그니처 반경 보너스\", \n    \"displayName_ru\": \"Влияние на радиус сигнатуры\", \n    \"displayName_zh\": \"信号半径加成\", \n    \"displayNameID\": 311797, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"fighterAbilityMicroWarpDriveSignatureRadiusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2154\": {\n    \"attributeID\": 2154, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Jump Range\", \n    \"displayName_de\": \"Sprungreichweite\", \n    \"displayName_en-us\": \"Jump Range\", \n    \"displayName_es\": \"Alcance de salto\", \n    \"displayName_fr\": \"Portée de saut\", \n    \"displayName_it\": \"Jump Range\", \n    \"displayName_ja\": \"ジャンプ距離\", \n    \"displayName_ko\": \"점프 거리\", \n    \"displayName_ru\": \"Расстояние гиперперехода\", \n    \"displayName_zh\": \"跳跃范围\", \n    \"displayNameID\": 311798, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"fighterAbilityMicroJumpDriveDistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2155\": {\n    \"attributeID\": 2155, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration\", \n    \"displayName_de\": \"Dauer\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"持続時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"持续时间\", \n    \"displayNameID\": 311762, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"fighterAbilityMicroJumpDriveDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2156\": {\n    \"attributeID\": 2156, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Signature Radius Bonus\", \n    \"displayName_de\": \"Signaturradius-Bonus\", \n    \"displayName_en-us\": \"Signature Radius Bonus\", \n    \"displayName_es\": \"Bonificación de radio de la señal\", \n    \"displayName_fr\": \"Bonus de rayon de signature\", \n    \"displayName_it\": \"Signature Radius Bonus\", \n    \"displayName_ja\": \"シグネチャ半径ボーナス\", \n    \"displayName_ko\": \"시그니처 반경 보너스\", \n    \"displayName_ru\": \"Влияние на радиус сигнатуры\", \n    \"displayName_zh\": \"信号半径加成\", \n    \"displayNameID\": 311796, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"fighterAbilityMicroJumpDriveSignatureRadiusBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2157\": {\n    \"attributeID\": 2157, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration\", \n    \"displayName_de\": \"Dauer\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"持続時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"持续时间\", \n    \"displayNameID\": 311761, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"fighterAbilityMicroWarpDriveDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2158\": {\n    \"attributeID\": 2158, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration\", \n    \"displayName_de\": \"Dauer\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"持続時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"持续时间\", \n    \"displayNameID\": 311756, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"fighterAbilityAfterburnerDuration\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"2170\": {\n    \"attributeID\": 2170, \n    \"categoryID\": 34, \n    \"dataType\": 10, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityMissilesResistanceID\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 119\n  }, \n  \"2171\": {\n    \"attributeID\": 2171, \n    \"categoryID\": 34, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"EM Damage\", \n    \"displayName_de\": \"EM-Schaden (pro Jäger)\", \n    \"displayName_en-us\": \"EM Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño electromagnético (por caza)\", \n    \"displayName_fr\": \"Dégâts EM (par chasseur)\", \n    \"displayName_it\": \"EM Damage (Per Fighter)\", \n    \"displayName_ja\": \"EMダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"EM 피해량 (파이터 당)\", \n    \"displayName_ru\": \"ЭМ-урон (каждого истребителя)\", \n    \"displayName_zh\": \"电磁伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 311544, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1388, \n    \"name\": \"fighterAbilityAttackTurretDamageEM\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2172\": {\n    \"attributeID\": 2172, \n    \"categoryID\": 34, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Thermal Damage\", \n    \"displayName_de\": \"Thermalschaden (pro Jäger)\", \n    \"displayName_en-us\": \"Thermal Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño térmico (por caza)\", \n    \"displayName_fr\": \"Dégâts thermiques (par chasseur)\", \n    \"displayName_it\": \"Thermal Damage (Per Fighter)\", \n    \"displayName_ja\": \"サーマルダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"열 피해량 (파이터 당)\", \n    \"displayName_ru\": \"Термический урон (каждого истребителя)\", \n    \"displayName_zh\": \"热能伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 311549, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"fighterAbilityAttackTurretDamageTherm\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2173\": {\n    \"attributeID\": 2173, \n    \"categoryID\": 34, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Kinetic Damage\", \n    \"displayName_de\": \"Kinetikschaden (pro Jäger)\", \n    \"displayName_en-us\": \"Kinetic Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño cinético (por caza)\", \n    \"displayName_fr\": \"Dégâts cinétiques (par chasseur)\", \n    \"displayName_it\": \"Kinetic Damage (Per Fighter)\", \n    \"displayName_ja\": \"キネティックダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"키네틱 피해량 (파이터 당)\", \n    \"displayName_ru\": \"Кинетический урон (каждого истребителя)\", \n    \"displayName_zh\": \"动能伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 311546, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1385, \n    \"name\": \"fighterAbilityAttackTurretDamageKin\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2174\": {\n    \"attributeID\": 2174, \n    \"categoryID\": 34, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Explosive Damage\", \n    \"displayName_de\": \"Explosionsschaden (pro Jäger)\", \n    \"displayName_en-us\": \"Explosive Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño explosivo (por caza)\", \n    \"displayName_fr\": \"Dégâts explosifs (par chasseur)\", \n    \"displayName_it\": \"Explosive Damage (Per Fighter)\", \n    \"displayName_ja\": \"エクスプローシブダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"폭발 피해량 (파이터 당)\", \n    \"displayName_ru\": \"Фугасный урон (каждого истребителя)\", \n    \"displayName_zh\": \"爆炸伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 311545, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1387, \n    \"name\": \"fighterAbilityAttackTurretDamageExp\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2175\": {\n    \"attributeID\": 2175, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Optimal Range\", \n    \"displayName_de\": \"Optimale Reichweite\", \n    \"displayName_en-us\": \"Optimal range\", \n    \"displayName_es\": \"Alcance óptimo\", \n    \"displayName_fr\": \"Portée optimale\", \n    \"displayName_it\": \"Optimal range\", \n    \"displayName_ja\": \"最適射程距離\", \n    \"displayName_ko\": \"최적사거리\", \n    \"displayName_ru\": \"Оптимальная дальность\", \n    \"displayName_zh\": \"最佳射程\", \n    \"displayNameID\": 311552, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"fighterAbilityAttackTurretRangeOptimal\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2176\": {\n    \"attributeID\": 2176, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Accuracy Falloff\", \n    \"displayName_de\": \"Präzisionsreduktion\", \n    \"displayName_en-us\": \"Accuracy Falloff\", \n    \"displayName_es\": \"Alcance efectivo de precisión\", \n    \"displayName_fr\": \"Perte de précision\", \n    \"displayName_it\": \"Accuracy Falloff\", \n    \"displayName_ja\": \"精度低下\", \n    \"displayName_ko\": \"명중률 유효사거리\", \n    \"displayName_ru\": \"Добавочная дальность\", \n    \"displayName_zh\": \"失准范围\", \n    \"displayNameID\": 311551, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"fighterAbilityAttackTurretRangeFalloff\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2177\": {\n    \"attributeID\": 2177, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Rate of fire\", \n    \"displayName_de\": \"Feuerrate\", \n    \"displayName_en-us\": \"Rate of fire\", \n    \"displayName_es\": \"Cadencia de tiro\", \n    \"displayName_fr\": \"Cadence de tir\", \n    \"displayName_it\": \"Rate of fire\", \n    \"displayName_ja\": \"射撃速度\", \n    \"displayName_ko\": \"연사속도\", \n    \"displayName_ru\": \"Цикл выстрела\", \n    \"displayName_zh\": \"射击速度\", \n    \"displayNameID\": 311550, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1397, \n    \"name\": \"fighterAbilityAttackTurretDuration\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"2178\": {\n    \"attributeID\": 2178, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Damage Multiplier\", \n    \"displayName_de\": \"Schadensmultiplikator\", \n    \"displayName_en-us\": \"Damage Multiplier\", \n    \"displayName_es\": \"Multiplicador de daño\", \n    \"displayName_fr\": \"Multiplicateur de dégâts\", \n    \"displayName_it\": \"Damage Multiplier\", \n    \"displayName_ja\": \"ダメージ乗数\", \n    \"displayName_ko\": \"데미지 배수\", \n    \"displayName_ru\": \"Множитель урона\", \n    \"displayName_zh\": \"伤害倍增系数\", \n    \"displayNameID\": 311548, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1432, \n    \"name\": \"fighterAbilityAttackTurretDamageMultiplier\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 104\n  }, \n  \"2179\": {\n    \"attributeID\": 2179, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Signature Resolution\", \n    \"displayName_de\": \"Signaturauflösung\", \n    \"displayName_en-us\": \"Signature Resolution\", \n    \"displayName_es\": \"Resolución de señal\", \n    \"displayName_fr\": \"Résolution de la signature\", \n    \"displayName_it\": \"Signature Resolution\", \n    \"displayName_ja\": \"シグネチャ解像度\", \n    \"displayName_ko\": \"신호 정밀도\", \n    \"displayName_ru\": \"Разрешающая способность системы захвата целей\", \n    \"displayName_zh\": \"信号分辨率\", \n    \"displayNameID\": 311789, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityAttackTurretSignatureResolution\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2180\": {\n    \"attributeID\": 2180, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Tracking Speed / Accuracy\", \n    \"displayName_de\": \"Nachführungsgeschwindigkeit / Genauigkeit\", \n    \"displayName_en-us\": \"Tracking Speed / Accuracy\", \n    \"displayName_es\": \"Velocidad/Precisión de rastreo\", \n    \"displayName_fr\": \"Vitesse de poursuite / Précision\", \n    \"displayName_it\": \"Tracking Speed / Accuracy\", \n    \"displayName_ja\": \"トラッキング速度/精度\", \n    \"displayName_ko\": \"트래킹 속도 / 명중률\", \n    \"displayName_ru\": \"Скорость наводки орудий/Точность\", \n    \"displayName_zh\": \"跟踪速度 / 准确度\", \n    \"displayNameID\": 311553, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1398, \n    \"name\": \"fighterAbilityAttackTurretTrackingSpeed\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 112\n  }, \n  \"2182\": {\n    \"attributeID\": 2182, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Rate of fire\", \n    \"displayName_de\": \"Feuerrate\", \n    \"displayName_en-us\": \"Rate of fire\", \n    \"displayName_es\": \"Cadencia de tiro\", \n    \"displayName_fr\": \"Cadence de tir\", \n    \"displayName_it\": \"Rate of fire\", \n    \"displayName_ja\": \"射撃速度\", \n    \"displayName_ko\": \"연사속도\", \n    \"displayName_ru\": \"Цикл выстрела\", \n    \"displayName_zh\": \"射击速度\", \n    \"displayNameID\": 311763, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1397, \n    \"name\": \"fighterAbilityMissilesDuration\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"2183\": {\n    \"attributeID\": 2183, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration\", \n    \"displayName_de\": \"Dauer\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"持続時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"持续时间\", \n    \"displayNameID\": 311760, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"fighterAbilityStasisWebifierDuration\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"2184\": {\n    \"attributeID\": 2184, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum Velocity Bonus\", \n    \"displayName_de\": \"Maximaler Geschwindigkeitsbonus (pro Jäger)\", \n    \"displayName_en-us\": \"Maximum Velocity Bonus (Per Fighter)\", \n    \"displayName_es\": \"Bonificación de velocidad máx. (por caza)\", \n    \"displayName_fr\": \"Bonus de vitesse maximale (par chasseur)\", \n    \"displayName_it\": \"Maximum Velocity Bonus (Per Fighter)\", \n    \"displayName_ja\": \"最高速度ボーナス（戦闘機ごと）\", \n    \"displayName_ko\": \"최대 속도 보너스 (파이터 당)\", \n    \"displayName_ru\": \"Влияние на максимальную скорость (каждого истребителя)\", \n    \"displayName_zh\": \"最大速度加成（每架铁骑舰载机）\", \n    \"displayNameID\": 311768, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1389, \n    \"name\": \"fighterAbilityStasisWebifierSpeedPenalty\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 124\n  }, \n  \"2185\": {\n    \"attributeID\": 2185, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityStasisWebifierSpeedPenaltyInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2186\": {\n    \"attributeID\": 2186, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Optimal Range\", \n    \"displayName_de\": \"Optimale Reichweite\", \n    \"displayName_en-us\": \"Optimal Range\", \n    \"displayName_es\": \"Alcance óptimo\", \n    \"displayName_fr\": \"Portée optimale\", \n    \"displayName_it\": \"Optimal Range\", \n    \"displayName_ja\": \"最適射程距離\", \n    \"displayName_ko\": \"최적사거리\", \n    \"displayName_ru\": \"Оптимальная дальность\", \n    \"displayName_zh\": \"最佳射程\", \n    \"displayNameID\": 311773, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"fighterAbilityStasisWebifierOptimalRange\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2187\": {\n    \"attributeID\": 2187, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Effectiveness Falloff\", \n    \"displayName_de\": \"Präzisionsabfall-Effektivität\", \n    \"displayName_en-us\": \"Effectiveness Falloff\", \n    \"displayName_es\": \"Alcance efectivo de eficacia\", \n    \"displayName_fr\": \"Déperdition d'efficacité\", \n    \"displayName_it\": \"Effectiveness Falloff\", \n    \"displayName_ja\": \"効力減少\", \n    \"displayName_ko\": \"효과 유효사거리\", \n    \"displayName_ru\": \"Добавочная дальность действия\", \n    \"displayName_zh\": \"效果失准范围\", \n    \"displayNameID\": 311777, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"fighterAbilityStasisWebifierFalloffRange\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2188\": {\n    \"attributeID\": 2188, \n    \"categoryID\": 34, \n    \"dataType\": 10, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityStasisWebifierResistanceID\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 119\n  }, \n  \"2189\": {\n    \"attributeID\": 2189, \n    \"categoryID\": 38, \n    \"dataType\": 5, \n    \"defaultValue\": 0.05000000074505806, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"fighterAbilityAntiFighterMissileResistance\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2203\": {\n    \"attributeID\": 2203, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration\", \n    \"displayName_de\": \"Dauer\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"持続時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"持续时间\", \n    \"displayNameID\": 311799, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"fighterAbilityWarpDisruptionDuration\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"2204\": {\n    \"attributeID\": 2204, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Optimal Range\", \n    \"displayName_de\": \"Optimale Reichweite\", \n    \"displayName_en-us\": \"Optimal Range\", \n    \"displayName_es\": \"Alcance óptimo\", \n    \"displayName_fr\": \"Portée optimale\", \n    \"displayName_it\": \"Optimal Range\", \n    \"displayName_ja\": \"最適射程距離\", \n    \"displayName_ko\": \"최적사거리\", \n    \"displayName_ru\": \"Оптимальная дальность\", \n    \"displayName_zh\": \"最佳射程\", \n    \"displayNameID\": 311774, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"fighterAbilityWarpDisruptionRange\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2205\": {\n    \"attributeID\": 2205, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Warp Disruption Strength\", \n    \"displayName_de\": \"Warpstörstärke (pro Jäger)\", \n    \"displayName_en-us\": \"Warp Disruption Strength (Per Fighter)\", \n    \"displayName_es\": \"Fuerza de disrupción de warp (por caza)\", \n    \"displayName_fr\": \"Puissance de perturbation de warp (par chasseur)\", \n    \"displayName_it\": \"Warp Disruption Strength (Per Fighter)\", \n    \"displayName_ja\": \"ワープ妨害強度（戦闘機ごと）\", \n    \"displayName_ko\": \"워프 디스럽션 강도 (파이터 당)\", \n    \"displayName_ru\": \"Мощность варп-помех (каждого истребителя)\", \n    \"displayName_zh\": \"跃迁干扰强度（每架铁骑舰载机）\", \n    \"displayNameID\": 311801, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 111, \n    \"name\": \"fighterAbilityWarpDisruptionPointStrength\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"2206\": {\n    \"attributeID\": 2206, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityWarpDisruptionPointStrengthInterim\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2207\": {\n    \"attributeID\": 2207, \n    \"categoryID\": 34, \n    \"dataType\": 10, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityEnergyNeutralizerResistanceID\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 119\n  }, \n  \"2208\": {\n    \"attributeID\": 2208, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration\", \n    \"displayName_de\": \"Dauer\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"持続時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"持续时间\", \n    \"displayNameID\": 311795, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"fighterAbilityEnergyNeutralizerDuration\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"2209\": {\n    \"attributeID\": 2209, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Optimal Range\", \n    \"displayName_de\": \"Optimale Reichweite\", \n    \"displayName_en-us\": \"Optimal Range\", \n    \"displayName_es\": \"Alcance óptimo\", \n    \"displayName_fr\": \"Portée optimale\", \n    \"displayName_it\": \"Optimal Range\", \n    \"displayName_ja\": \"最適射程距離\", \n    \"displayName_ko\": \"최적사거리\", \n    \"displayName_ru\": \"Оптимальная дальность\", \n    \"displayName_zh\": \"最佳射程\", \n    \"displayNameID\": 311771, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"fighterAbilityEnergyNeutralizerOptimalRange\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2210\": {\n    \"attributeID\": 2210, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Effectiveness Falloff\", \n    \"displayName_de\": \"Präzisionsabfall-Effektivität\", \n    \"displayName_en-us\": \"Effectiveness Falloff\", \n    \"displayName_es\": \"Alcance efectivo de eficacia\", \n    \"displayName_fr\": \"Déperdition d'efficacité\", \n    \"displayName_it\": \"Effectiveness Falloff\", \n    \"displayName_ja\": \"効力減少\", \n    \"displayName_ko\": \"효과 유효사거리\", \n    \"displayName_ru\": \"Добавочная дальность действия\", \n    \"displayName_zh\": \"效果失准范围\", \n    \"displayNameID\": 311776, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"fighterAbilityEnergyNeutralizerFalloffRange\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2211\": {\n    \"attributeID\": 2211, \n    \"categoryID\": 34, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Energy Amount Neutralized\", \n    \"displayName_de\": \"Menge an neutralisierter Energie (pro Jäger)\", \n    \"displayName_en-us\": \"Energy Amount Neutralized (Per Fighter)\", \n    \"displayName_es\": \"Cantidad de energía neutralizada (por caza)\", \n    \"displayName_fr\": \"Total de l'énergie neutralisée (par chasseur)\", \n    \"displayName_it\": \"Energy Amount Neutralized (Per Fighter)\", \n    \"displayName_ja\": \"無効になるエネルギー量（戦闘機ごと）\", \n    \"displayName_ko\": \"뉴트럴라이즈된 에너지 총량 (파이터 당)\", \n    \"displayName_ru\": \"Нейтрализуемый запас энергии (каждым истребителем)\", \n    \"displayName_zh\": \"能量中和值（每架铁骑舰载机）\", \n    \"displayNameID\": 311794, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"fighterAbilityEnergyNeutralizerAmount\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 114\n  }, \n  \"2212\": {\n    \"attributeID\": 2212, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterSquadronIsLight\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2213\": {\n    \"attributeID\": 2213, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterSquadronIsSupport\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2214\": {\n    \"attributeID\": 2214, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterSquadronIsHeavy\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2215\": {\n    \"attributeID\": 2215, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Staffelgröße\", \n    \"displayName_en-us\": \"Squadron Size\", \n    \"displayName_es\": \"Tamaño del escuadrón\", \n    \"displayName_fr\": \"Taille de l'escadron\", \n    \"displayName_it\": \"Squadron Size\", \n    \"displayName_ja\": \"艦隊のサイズ\", \n    \"displayName_ko\": \"편대 크기\", \n    \"displayName_ru\": \"Размер отряда истребителей\", \n    \"displayName_zh\": \"中队大小\", \n    \"displayNameID\": 312129, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterSquadronMaxSize\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2216\": {\n    \"attributeID\": 2216, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"This defines the total number of fighter launch tubes on the ship.\", \n    \"displayName_de\": \"Jägerstaffel-Startrohre\", \n    \"displayName_en-us\": \"Fighter Squadron Launch Tubes\", \n    \"displayName_es\": \"Tubos de lanzamiento de escuadrones de cazas\", \n    \"displayName_fr\": \"Tubes de lancement des escadrons de chasseurs\", \n    \"displayName_it\": \"Fighter Squadron Launch Tubes\", \n    \"displayName_ja\": \"戦闘機部隊離陸用トンネル\", \n    \"displayName_ko\": \"파이터 편대 사출관\", \n    \"displayName_ru\": \"Взлётные полосы истребителей\", \n    \"displayName_zh\": \"铁骑舰载机中队发射管\", \n    \"displayNameID\": 311174, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2677, \n    \"name\": \"fighterTubes\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2217\": {\n    \"attributeID\": 2217, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of Light Fighters the ship can launch.\", \n    \"displayName_de\": \"Limit für Leichte Jägerstaffeln\", \n    \"displayName_en-us\": \"Light Fighter Squadron Limit\", \n    \"displayName_es\": \"Límite de escuadrones de cazas ligeros\", \n    \"displayName_fr\": \"Limite d'escadrons de chasseurs légers\", \n    \"displayName_it\": \"Light Fighter Squadron Limit\", \n    \"displayName_ja\": \"軽量級戦闘機部隊の制限\", \n    \"displayName_ko\": \"라이트 파이터 편대 한계\", \n    \"displayName_ru\": \"Ограничение по отрядам лёгких истребителей\", \n    \"displayName_zh\": \"轻型铁骑舰载机中队限制\", \n    \"displayNameID\": 311175, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2987, \n    \"name\": \"fighterLightSlots\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2218\": {\n    \"attributeID\": 2218, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of Support Fighters the ship can launch.\", \n    \"displayName_de\": \"Limit für Unterstützungsjägerstaffeln\", \n    \"displayName_en-us\": \"Support Fighter Squadron Limit\", \n    \"displayName_es\": \"Límite de escuadrones de cazas de apoyo\", \n    \"displayName_fr\": \"Limite d'escadrons de chasseurs de soutien\", \n    \"displayName_it\": \"Support Fighter Squadron Limit\", \n    \"displayName_ja\": \"支援戦闘機部隊の制限\", \n    \"displayName_ko\": \"서포트 파이터 편대 한계\", \n    \"displayName_ru\": \"Ограничение по отрядам истребителей поддержки\", \n    \"displayName_zh\": \"后勤铁骑舰载机中队限制\", \n    \"displayNameID\": 311176, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2987, \n    \"name\": \"fighterSupportSlots\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2219\": {\n    \"attributeID\": 2219, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of Heavy Fighters the ship can launch.Heavy \", \n    \"displayName_de\": \"Limit für Schwere Jägerstaffeln\", \n    \"displayName_en-us\": \"Heavy Fighter Squadrons Limit\", \n    \"displayName_es\": \"Límite de escuadrones de cazas pesados\", \n    \"displayName_fr\": \"Limite d'escadrons de chasseurs lourds\", \n    \"displayName_it\": \"Heavy Fighter Squadrons Limit\", \n    \"displayName_ja\": \"重量級戦闘機部隊の制限\", \n    \"displayName_ko\": \"헤비 파이터 편대 한계\", \n    \"displayName_ru\": \"Ограничение по отрядам тяжёлых истребителей\", \n    \"displayName_zh\": \"重型铁骑舰载机中队限制\", \n    \"displayNameID\": 311177, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2987, \n    \"name\": \"fighterHeavySlots\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2220\": {\n    \"attributeID\": 2220, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration\", \n    \"displayName_de\": \"Dauer\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"持続時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"持续时间\", \n    \"displayNameID\": 311757, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"fighterAbilityECMDuration\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"2221\": {\n    \"attributeID\": 2221, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Optimal Range\", \n    \"displayName_de\": \"Optimale Reichweite\", \n    \"displayName_en-us\": \"Optimal Range\", \n    \"displayName_es\": \"Alcance óptimo\", \n    \"displayName_fr\": \"Portée optimale\", \n    \"displayName_it\": \"Optimal Range\", \n    \"displayName_ja\": \"最適射程距離\", \n    \"displayName_ko\": \"최적사거리\", \n    \"displayName_ru\": \"Оптимальная дальность\", \n    \"displayName_zh\": \"最佳射程\", \n    \"displayNameID\": 311770, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"fighterAbilityECMRangeOptimal\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2222\": {\n    \"attributeID\": 2222, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Effectiveness Falloff\", \n    \"displayName_de\": \"Präzisionsabfall-Effektivität\", \n    \"displayName_en-us\": \"Effectiveness Falloff\", \n    \"displayName_es\": \"Alcance efectivo de eficacia\", \n    \"displayName_fr\": \"Déperdition d'efficacité\", \n    \"displayName_it\": \"Effectiveness Falloff\", \n    \"displayName_ja\": \"効力減少\", \n    \"displayName_ko\": \"효과 유효사거리\", \n    \"displayName_ru\": \"Добавочная дальность действия\", \n    \"displayName_zh\": \"效果失准范围\", \n    \"displayNameID\": 311775, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"fighterAbilityECMRangeFalloff\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2223\": {\n    \"attributeID\": 2223, \n    \"categoryID\": 38, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Orbitale Reichweite\", \n    \"displayName_en-us\": \"Orbit Range\", \n    \"displayName_es\": \"Alcance orbital\", \n    \"displayName_fr\": \"Portée en orbite\", \n    \"displayName_it\": \"Orbit Range\", \n    \"displayName_ja\": \"旋回範囲\", \n    \"displayName_ko\": \"선회 거리\", \n    \"displayName_ru\": \"Радиус орбиты\", \n    \"displayName_zh\": \"环绕距离\", \n    \"displayNameID\": 312490, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"fighterSquadronOrbitRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2224\": {\n    \"attributeID\": 2224, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum Velocity Bonus\", \n    \"displayName_de\": \"Maximaler Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Maximum Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máxima\", \n    \"displayName_fr\": \"Bonus de vitesse maximale\", \n    \"displayName_it\": \"Maximum Velocity Bonus\", \n    \"displayName_ja\": \"最高速度ボーナス\", \n    \"displayName_ko\": \"최대 속도 보너스\", \n    \"displayName_ru\": \"Влияние на максимальную скорость\", \n    \"displayName_zh\": \"最大速度加成\", \n    \"displayNameID\": 311766, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"fighterAbilityEvasiveManeuversSpeedBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 124\n  }, \n  \"2225\": {\n    \"attributeID\": 2225, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Signaturradius-Reduktion\", \n    \"displayName_en-us\": \"Signature Radius Reduction\", \n    \"displayName_es\": \"Reducción de radio de la señal\", \n    \"displayName_fr\": \"Réduction de rayon de signature\", \n    \"displayName_it\": \"Signature Radius Reduction\", \n    \"displayName_ja\": \"シグネチャ半径縮小\", \n    \"displayName_ko\": \"시그니처 반경 감소\", \n    \"displayName_ru\": \"Уменьшение размера сигнатуры\", \n    \"displayName_zh\": \"信号半径降低\", \n    \"displayNameID\": 312563, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"fighterAbilityEvasiveManeuversSignatureRadiusBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"2226\": {\n    \"attributeID\": 2226, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Damage Multiplier\", \n    \"displayName_de\": \"Schadensmultiplikator\", \n    \"displayName_en-us\": \"Damage Multiplier\", \n    \"displayName_es\": \"Multiplicador de daño\", \n    \"displayName_fr\": \"Multiplicateur de dégâts\", \n    \"displayName_it\": \"Damage Multiplier\", \n    \"displayName_ja\": \"ダメージ乗数\", \n    \"displayName_ko\": \"데미지 배수\", \n    \"displayName_ru\": \"Множитель урона\", \n    \"displayName_zh\": \"伤害倍增系数\", \n    \"displayNameID\": 311557, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1432, \n    \"name\": \"fighterAbilityAttackMissileDamageMultiplier\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 104\n  }, \n  \"2227\": {\n    \"attributeID\": 2227, \n    \"categoryID\": 34, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"EM Damage\", \n    \"displayName_de\": \"EM-Schaden (pro Jäger)\", \n    \"displayName_en-us\": \"EM Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño electromagnético (por caza)\", \n    \"displayName_fr\": \"Dégâts EM (par chasseur)\", \n    \"displayName_it\": \"EM Damage (Per Fighter)\", \n    \"displayName_ja\": \"EMダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"EM 피해량 (파이터 당)\", \n    \"displayName_ru\": \"ЭМ-урон (каждого истребителя)\", \n    \"displayName_zh\": \"电磁伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 311554, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1388, \n    \"name\": \"fighterAbilityAttackMissileDamageEM\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2228\": {\n    \"attributeID\": 2228, \n    \"categoryID\": 34, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Thermal Damage\", \n    \"displayName_de\": \"Thermalschaden (pro Jäger)\", \n    \"displayName_en-us\": \"Thermal Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño térmico (por caza)\", \n    \"displayName_fr\": \"Dégâts thermiques (par chasseur)\", \n    \"displayName_it\": \"Thermal Damage (Per Fighter)\", \n    \"displayName_ja\": \"サーマルダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"열 피해량 (파이터 당)\", \n    \"displayName_ru\": \"Термический урон (каждого истребителя)\", \n    \"displayName_zh\": \"热能伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 311558, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"fighterAbilityAttackMissileDamageTherm\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2229\": {\n    \"attributeID\": 2229, \n    \"categoryID\": 34, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Kinetic Damage\", \n    \"displayName_de\": \"Kinetikschaden (pro Jäger)\", \n    \"displayName_en-us\": \"Kinetic Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño cinético (por caza)\", \n    \"displayName_fr\": \"Dégâts cinétiques (par chasseur)\", \n    \"displayName_it\": \"Kinetic Damage (Per Fighter)\", \n    \"displayName_ja\": \"キネティックダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"키네틱 피해량 (파이터 당)\", \n    \"displayName_ru\": \"Кинетический урон (каждого истребителя)\", \n    \"displayName_zh\": \"动能伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 311556, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1385, \n    \"name\": \"fighterAbilityAttackMissileDamageKin\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2230\": {\n    \"attributeID\": 2230, \n    \"categoryID\": 34, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Explosive Damage\", \n    \"displayName_de\": \"Explosionsschaden (pro Jäger)\", \n    \"displayName_en-us\": \"Explosive Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño explosivo (por caza)\", \n    \"displayName_fr\": \"Dégâts explosifs (par chasseur)\", \n    \"displayName_it\": \"Explosive Damage (Per Fighter)\", \n    \"displayName_ja\": \"エクスプローシブダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"폭발 피해량 (파이터 당)\", \n    \"displayName_ru\": \"Фугасный урон (каждого истребителя)\", \n    \"displayName_zh\": \"爆炸伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 311555, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1387, \n    \"name\": \"fighterAbilityAttackMissileDamageExp\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2231\": {\n    \"attributeID\": 2231, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityAttackMissileReductionFactor\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"2232\": {\n    \"attributeID\": 2232, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityAttackMissileReductionSensitivity\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"2233\": {\n    \"attributeID\": 2233, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Rate of fire\", \n    \"displayName_de\": \"Feuerrate\", \n    \"displayName_en-us\": \"Rate of fire\", \n    \"displayName_es\": \"Cadencia de tiro\", \n    \"displayName_fr\": \"Cadence de tir\", \n    \"displayName_it\": \"Rate of fire\", \n    \"displayName_ja\": \"射撃速度\", \n    \"displayName_ko\": \"연사속도\", \n    \"displayName_ru\": \"Цикл выстрела\", \n    \"displayName_zh\": \"射击速度\", \n    \"displayNameID\": 311559, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1397, \n    \"name\": \"fighterAbilityAttackMissileDuration\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"2234\": {\n    \"attributeID\": 2234, \n    \"categoryID\": 34, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Explosion Radius\", \n    \"displayName_de\": \"Explosionsradius\", \n    \"displayName_en-us\": \"Explosion Radius\", \n    \"displayName_es\": \"Radio de explosión\", \n    \"displayName_fr\": \"Rayon d'explosion\", \n    \"displayName_it\": \"Explosion Radius\", \n    \"displayName_ja\": \"爆発半径\", \n    \"displayName_ko\": \"폭발반경\", \n    \"displayName_ru\": \"Сигнатура взрыва\", \n    \"displayName_zh\": \"爆炸半径\", \n    \"displayNameID\": 311560, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"fighterAbilityAttackMissileExplosionRadius\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2235\": {\n    \"attributeID\": 2235, \n    \"categoryID\": 34, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Explosion Velocity\", \n    \"displayName_de\": \"Explosionsgeschwindigkeit\", \n    \"displayName_en-us\": \"Explosion Velocity\", \n    \"displayName_es\": \"Velocidad de explosión\", \n    \"displayName_fr\": \"Vitesse d'explosion\", \n    \"displayName_it\": \"Explosion Velocity\", \n    \"displayName_ja\": \"爆発速度\", \n    \"displayName_ko\": \"폭발속도\", \n    \"displayName_ru\": \"Скорость взрыва\", \n    \"displayName_zh\": \"爆炸速度\", \n    \"displayNameID\": 311561, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"fighterAbilityAttackMissileExplosionVelocity\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 10\n  }, \n  \"2236\": {\n    \"attributeID\": 2236, \n    \"categoryID\": 34, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Optimal Range\", \n    \"displayName_de\": \"Optimale Reichweite\", \n    \"displayName_en-us\": \"Optimal range\", \n    \"displayName_es\": \"Alcance óptimo\", \n    \"displayName_fr\": \"Portée optimale\", \n    \"displayName_it\": \"Optimal range\", \n    \"displayName_ja\": \"最適射程距離\", \n    \"displayName_ko\": \"최적사거리\", \n    \"displayName_ru\": \"Оптимальная дальность\", \n    \"displayName_zh\": \"最佳射程\", \n    \"displayNameID\": 311563, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"fighterAbilityAttackMissileRangeOptimal\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2237\": {\n    \"attributeID\": 2237, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Accuracy Falloff\", \n    \"displayName_de\": \"Präzisionsreduktion\", \n    \"displayName_en-us\": \"Accuracy Falloff\", \n    \"displayName_es\": \"Alcance efectivo de precisión\", \n    \"displayName_fr\": \"Perte de précision\", \n    \"displayName_it\": \"Accuracy Falloff\", \n    \"displayName_ja\": \"精度低下\", \n    \"displayName_ko\": \"명중률 유효사거리\", \n    \"displayName_ru\": \"Добавочная дальность\", \n    \"displayName_zh\": \"失准范围\", \n    \"displayNameID\": 311562, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"fighterAbilityAttackMissileRangeFalloff\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2238\": {\n    \"attributeID\": 2238, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration\", \n    \"displayName_de\": \"Dauer\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"持続時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"持续时间\", \n    \"displayNameID\": 311759, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"fighterAbilityTackleDuration\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"2239\": {\n    \"attributeID\": 2239, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Range\", \n    \"displayName_de\": \"Reichweite\", \n    \"displayName_en-us\": \"Range\", \n    \"displayName_es\": \"Alcance\", \n    \"displayName_fr\": \"Portée\", \n    \"displayName_it\": \"Range\", \n    \"displayName_ja\": \"範囲\", \n    \"displayName_ko\": \"거리\", \n    \"displayName_ru\": \"Расстояние\", \n    \"displayName_zh\": \"范围\", \n    \"displayNameID\": 311800, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"fighterAbilityTackleRange\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"2242\": {\n    \"attributeID\": 2242, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum Velocity Bonus\", \n    \"displayName_de\": \"Maximaler Geschwindigkeitsbonus (pro Jäger)\", \n    \"displayName_en-us\": \"Maximum Velocity Bonus (Per Fighter)\", \n    \"displayName_es\": \"Bonificación de velocidad máxima (por caza)\", \n    \"displayName_fr\": \"de bonus à la vitesse maximale (par chasseur)\", \n    \"displayName_it\": \"Maximum Velocity Bonus (Per Fighter)\", \n    \"displayName_ja\": \"最高速度ボーナス（戦闘機ごと）\", \n    \"displayName_ko\": \"최대 속도 보너스 (파이터 당)\", \n    \"displayName_ru\": \"Влияние на максимальную скорость (каждого истребителя)\", \n    \"displayName_zh\": \"最大速度加成（每架铁骑舰载机）\", \n    \"displayNameID\": 311802, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"fighterAbilityTackleWebSpeedPenalty\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 124\n  }, \n  \"2243\": {\n    \"attributeID\": 2243, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityTackleWebSpeedPenaltyInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2244\": {\n    \"attributeID\": 2244, \n    \"categoryID\": 38, \n    \"dataType\": 5, \n    \"defaultValue\": 0.10000000149011612, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"fighterAbilityAntiCapitalMissileResistance\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2246\": {\n    \"attributeID\": 2246, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Gravimetric ECM Jammer Strength\", \n    \"displayName_de\": \"Gravimetrische ECM-Störstärke (pro Jäger)\", \n    \"displayName_en-us\": \"Gravimetric ECM Jammer Strength (Per Fighter)\", \n    \"displayName_es\": \"Intensidad del perturbador ECM gravimétrico (por caza)\", \n    \"displayName_fr\": \"Puissance gravimétrique CME (par chasseur)\", \n    \"displayName_it\": \"Gravimetric ECM Jammer Strength (Per Fighter)\", \n    \"displayName_ja\": \"重力ECMジャマー強度（戦闘機ごと）\", \n    \"displayName_ko\": \"중력장 ECM 재머 강도 (파이터 당)\", \n    \"displayName_ru\": \"Сила действия помех на гравиметрические системы (каждого истребителя)\", \n    \"displayName_zh\": \"引力ECM干扰器强度（每架铁骑舰载机）\", \n    \"displayNameID\": 311790, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3226, \n    \"name\": \"fighterAbilityECMStrengthGravimetric\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"2247\": {\n    \"attributeID\": 2247, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Ladar ECM Jammer Strength\", \n    \"displayName_de\": \"Ladar-ECM-Störstärke (pro Jäger)\", \n    \"displayName_en-us\": \"Ladar ECM Jammer Strength (Per Fighter)\", \n    \"displayName_es\": \"Intensidad del perturbador ECM del lidar (por caza)\", \n    \"displayName_fr\": \"Puissance de détection ladar CME (par chasseur)\", \n    \"displayName_it\": \"Ladar ECM Jammer Strength (Per Fighter)\", \n    \"displayName_ja\": \"光学ECMジャマー強度（戦闘機ごと）\", \n    \"displayName_ko\": \"라이다 ECM 재머 강도 (파이터 당)\", \n    \"displayName_ru\": \"Сила действия помех на ладарные системы (каждого истребителя)\", \n    \"displayName_zh\": \"光雷达ECM干扰器强度（每架铁骑舰载机）\", \n    \"displayNameID\": 311791, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3228, \n    \"name\": \"fighterAbilityECMStrengthLadar\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"2248\": {\n    \"attributeID\": 2248, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Magnetometric ECM Jammer Strength\", \n    \"displayName_de\": \"Magnetometrische ECM-Störstärke (pro Jäger)\", \n    \"displayName_en-us\": \"Magnetometric ECM Jammer Strength (Per Fighter)\", \n    \"displayName_es\": \"Intensidad del perturbador ECM magnetométrico (por caza)\", \n    \"displayName_fr\": \"Puissance de détection magnétométrique CME (par chasseur)\", \n    \"displayName_it\": \"Magnetometric ECM Jammer Strength (Per Fighter)\", \n    \"displayName_ja\": \"磁気ECMジャマー強度（戦闘機ごと）\", \n    \"displayName_ko\": \"자기 ECM 재머 강도 (파이터 당)\", \n    \"displayName_ru\": \"Сила действия помех на магнитометрические системы (каждого истребителя)\", \n    \"displayName_zh\": \"磁力ECM干扰器强度（每架铁骑舰载机）\", \n    \"displayNameID\": 311792, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3227, \n    \"name\": \"fighterAbilityECMStrengthMagnetometric\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"2249\": {\n    \"attributeID\": 2249, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Radar ECM Jammer Strength\", \n    \"displayName_de\": \"Radar-ECM-Störstärke (pro Jäger)\", \n    \"displayName_en-us\": \"Radar ECM Jammer Strength (Per Fighter)\", \n    \"displayName_es\": \"Intensidad del perturbador ECM del radar (por caza)\", \n    \"displayName_fr\": \"Puissance de détection radar CME (par chasseur)\", \n    \"displayName_it\": \"Radar ECM Jammer Strength (Per Fighter)\", \n    \"displayName_ja\": \"レーダーECMジャマー強度（戦闘機ごと）\", \n    \"displayName_ko\": \"레이더 ECM 재머 강도 (파이터 당)\", \n    \"displayName_ru\": \"Сила действия помех на радарные системы (каждого истребителя)\", \n    \"displayName_zh\": \"雷达ECM干扰器强度（每架铁骑舰载机）\", \n    \"displayNameID\": 311793, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3229, \n    \"name\": \"fighterAbilityECMStrengthRadar\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"2250\": {\n    \"attributeID\": 2250, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityECMTargetSuccess\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2251\": {\n    \"attributeID\": 2251, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityECMTargetJam\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2252\": {\n    \"attributeID\": 2252, \n    \"categoryID\": 34, \n    \"dataType\": 10, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityECMResistanceID\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 119\n  }, \n  \"2253\": {\n    \"attributeID\": 2253, \n    \"categoryID\": 36, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Resistance to ECM. 0 gives Immunity.\", \n    \"displayName_de\": \"ECM-Resistenz\", \n    \"displayName_en-us\": \"ECM Resistance\", \n    \"displayName_es\": \"Resistencia a las ECM\", \n    \"displayName_fr\": \"Résistance CME\", \n    \"displayName_it\": \"ECM Resistance\", \n    \"displayName_ja\": \"ECMレジスタンス\", \n    \"displayName_ko\": \"ECM 저항력\", \n    \"displayName_ru\": \"Сопротивление воздействию помех на захват целей\", \n    \"displayName_zh\": \"ECM抗性\", \n    \"displayNameID\": 315615, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 109, \n    \"name\": \"ECMResistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2255\": {\n    \"attributeID\": 2255, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanGravimetricStrengthPercentInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2256\": {\n    \"attributeID\": 2256, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanLadarStrengthPercentInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2257\": {\n    \"attributeID\": 2257, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanMagnetometricStrengthPercentInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2258\": {\n    \"attributeID\": 2258, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanRadarStrengthPercentInterim\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2259\": {\n    \"attributeID\": 2259, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Neutralisationsradius beim Aufwärmen\", \n    \"displayName_en-us\": \"Warm-up Neutralization Radius\", \n    \"displayName_es\": \"Radio de neutralización del calentamiento\", \n    \"displayName_fr\": \"Échauffement – rayon de signature de neutralisation\", \n    \"displayName_it\": \"Warm-up Neutralization Radius\", \n    \"displayName_ja\": \"無効化半径の拡大\", \n    \"displayName_ko\": \"가동 전 뉴트럴라이제이션 반경\", \n    \"displayName_ru\": \"Радиус эффекта нейтрализации накопителя при разогреве\", \n    \"displayName_zh\": \"预热中和半径\", \n    \"displayNameID\": 312113, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"doomsdayEnergyNeutRadius\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2260\": {\n    \"attributeID\": 2260, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Neutralisationswert beim Aufwärmen\", \n    \"displayName_en-us\": \"Warm-up Neutralization Amount\", \n    \"displayName_es\": \"Cantidad de neutralización del calentamiento\", \n    \"displayName_fr\": \"Échauffement – capacité de neutralisation\", \n    \"displayName_it\": \"Warm-up Neutralization Amount\", \n    \"displayName_ja\": \"無効化量の上昇\", \n    \"displayName_ko\": \"가동 전 뉴트럴라이제이션 수치\", \n    \"displayName_ru\": \"Энергия, нейтрализуемая при разогреве\", \n    \"displayName_zh\": \"预热中和量\", \n    \"displayNameID\": 312114, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"doomsdayEnergyNeutAmount\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2261\": {\n    \"attributeID\": 2261, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Neutralisationssignaturradius beim Aufwärmen\", \n    \"displayName_en-us\": \"Warm-up Neutralization Signature Radius\", \n    \"displayName_es\": \"Radio de la señal de neutralización del calentamiento\", \n    \"displayName_fr\": \"Échauffement – rayon de signature de neutralisation\", \n    \"displayName_it\": \"Warm-up Neutralization Signature Radius\", \n    \"displayName_ja\": \"無効化シグネチャ半径の拡大\", \n    \"displayName_ko\": \"가동 전 뉴트럴라이제이션 시그니처 반경\", \n    \"displayName_ru\": \"Сигнатура поля нейтрализации накопителя при разогреве\", \n    \"displayName_zh\": \"预热中和信号半径\", \n    \"displayNameID\": 312112, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"doomsdayEnergyNeutSignatureRadius\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2262\": {\n    \"attributeID\": 2262, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Aufwärmdauer\", \n    \"displayName_en-us\": \"Warm-up Duration\", \n    \"displayName_es\": \"Duración del calentamiento\", \n    \"displayName_fr\": \"Durée de l'échauffement\", \n    \"displayName_it\": \"Warm-up Duration\", \n    \"displayName_ja\": \"起動時間\", \n    \"displayName_ko\": \"가동 전 준비시간\", \n    \"displayName_ru\": \"Время разогрева\", \n    \"displayName_zh\": \"预热持续时间\", \n    \"displayNameID\": 312111, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"doomsdayWarningDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2263\": {\n    \"attributeID\": 2263, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Strahlradius\", \n    \"displayName_en-us\": \"Beam Radius\", \n    \"displayName_es\": \"Radio del rayo\", \n    \"displayName_fr\": \"Rayon du faisceau\", \n    \"displayName_it\": \"Beam Radius\", \n    \"displayName_ja\": \"ビーム半径\", \n    \"displayName_ko\": \"빔 반경\", \n    \"displayName_ru\": \"Радиус луча\", \n    \"displayName_zh\": \"集束激光半径\", \n    \"displayNameID\": 312108, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"doomsdayDamageRadius\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2264\": {\n    \"attributeID\": 2264, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Strahldauer\", \n    \"displayName_en-us\": \"Beam Duration\", \n    \"displayName_es\": \"Duración del rayo\", \n    \"displayName_fr\": \"Durée du faisceau\", \n    \"displayName_it\": \"Beam Duration\", \n    \"displayName_ja\": \"ビーム持続時間\", \n    \"displayName_ko\": \"빔 지속시간\", \n    \"displayName_ru\": \"Продолжительность ведения огня лучом\", \n    \"displayName_zh\": \"集束激光持续时间\", \n    \"displayNameID\": 312109, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"doomsdayDamageDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2265\": {\n    \"attributeID\": 2265, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schadenszyklus\", \n    \"displayName_en-us\": \"Beam Damage Cycle\", \n    \"displayName_es\": \"Ciclo de daño del rayo\", \n    \"displayName_fr\": \"Cycle de dégâts du faisceau\", \n    \"displayName_it\": \"Beam Damage Cycle\", \n    \"displayName_ja\": \"ビームダメージサイクル\", \n    \"displayName_ko\": \"빔 피해량 사이클\", \n    \"displayName_ru\": \"Период атаки лучом\", \n    \"displayName_zh\": \"集束激光伤害周期\", \n    \"displayNameID\": 312110, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"doomsdayDamageCycleTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2266\": {\n    \"attributeID\": 2266, \n    \"categoryID\": 28, \n    \"dataType\": 5, \n    \"defaultValue\": -99.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"speedFactorFloor\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2267\": {\n    \"attributeID\": 2267, \n    \"categoryID\": 36, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf den Widerstand des Energiespeichers\", \n    \"displayName_en-us\": \"Capacitor Warfare Resistance Bonus\", \n    \"displayName_es\": \"Bonif. de resistencia a la guerra de condensadores\", \n    \"displayName_fr\": \"Bonus de résistance à la guerre de capaciteur\", \n    \"displayName_it\": \"Capacitor Warfare Resistance Bonus\", \n    \"displayName_ja\": \"キャパシタ戦闘レジスタンスボーナス\", \n    \"displayName_ko\": \"캐패시터전 저항 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивление накопителя нейтрализирующему воздействию\", \n    \"displayName_zh\": \"电容战抗性加成\", \n    \"displayNameID\": 311565, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 89, \n    \"name\": \"energyWarfareResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2268\": {\n    \"attributeID\": 2268, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distance which tethering will engage / disengage piloted ships.\", \n    \"displayName_de\": \"Maximale Anbindereichweite\", \n    \"displayName_en-us\": \"Maximum tethering range\", \n    \"displayName_es\": \"Alcance máximo de amarre\", \n    \"displayName_fr\": \"Maximum tethering range\", \n    \"displayName_it\": \"Maximum tethering range\", \n    \"displayName_ja\": \"テザリング最大範囲\", \n    \"displayName_ko\": \"최대 테더링 거리\", \n    \"displayName_ru\": \"Максимальное расстояние швартовки\", \n    \"displayName_zh\": \"最大驻留范围\", \n    \"displayNameID\": 312203, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"tetheringRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2269\": {\n    \"attributeID\": 2269, \n    \"categoryID\": 6, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"isPointTargeted\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"2270\": {\n    \"attributeID\": 2270, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"0=None\\r\\n1=Anti-Fighter\\r\\n2=General\\r\\n3=Ewar\\r\\n4=TorpedoBomber\\r\\n5=AOEBomber\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterSquadronRole\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2271\": {\n    \"attributeID\": 2271, \n    \"categoryID\": 41, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"EM Damage when the ship dies\", \n    \"displayName_de\": \"EM-Schaden\", \n    \"displayName_en-us\": \"EM Damage\", \n    \"displayName_es\": \"Daño electromagnético\", \n    \"displayName_fr\": \"Dégâts électromagnétiques\", \n    \"displayName_it\": \"EM Damage\", \n    \"displayName_ja\": \"EMダメージ\", \n    \"displayName_ko\": \"EM 피해량\", \n    \"displayName_ru\": \"ЭМ-урон\", \n    \"displayName_zh\": \"电磁伤害\", \n    \"displayNameID\": 312170, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1388, \n    \"name\": \"onDeathDamageEM\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2272\": {\n    \"attributeID\": 2272, \n    \"categoryID\": 41, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Thermal Damage when the ship dies\", \n    \"displayName_de\": \"Thermalschaden\", \n    \"displayName_en-us\": \"Thermal Damage\", \n    \"displayName_es\": \"Daño térmico\", \n    \"displayName_fr\": \"Dégâts thermiques\", \n    \"displayName_it\": \"Thermal Damage\", \n    \"displayName_ja\": \"サーマルダメージ\", \n    \"displayName_ko\": \"열 피해량\", \n    \"displayName_ru\": \"Термический урон\", \n    \"displayName_zh\": \"热能伤害\", \n    \"displayNameID\": 312173, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1386, \n    \"name\": \"onDeathDamageTherm\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2273\": {\n    \"attributeID\": 2273, \n    \"categoryID\": 41, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Kinetic Damage when the ship dies\", \n    \"displayName_de\": \"Kinetikschaden\", \n    \"displayName_en-us\": \"Kinetic Damage\", \n    \"displayName_es\": \"Daño cinético\", \n    \"displayName_fr\": \"Dégâts cinétiques\", \n    \"displayName_it\": \"Kinetic Damage\", \n    \"displayName_ja\": \"キネティックダメージ\", \n    \"displayName_ko\": \"키네틱 피해량\", \n    \"displayName_ru\": \"Кинетический урон\", \n    \"displayName_zh\": \"动能伤害\", \n    \"displayNameID\": 312172, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1385, \n    \"name\": \"onDeathDamageKin\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2274\": {\n    \"attributeID\": 2274, \n    \"categoryID\": 41, \n    \"dataType\": 8, \n    \"defaultValue\": 0.0, \n    \"description\": \"Explosive Damage when the ship dies\", \n    \"displayName_de\": \"Explosivschaden\", \n    \"displayName_en-us\": \"Explosive Damage\", \n    \"displayName_es\": \"Daño explosivo\", \n    \"displayName_fr\": \"Dégâts explosifs\", \n    \"displayName_it\": \"Explosive Damage\", \n    \"displayName_ja\": \"エクスプローシブダメージ\", \n    \"displayName_ko\": \"폭발 피해량\", \n    \"displayName_ru\": \"Фугасный урон\", \n    \"displayName_zh\": \"爆炸伤害\", \n    \"displayNameID\": 312171, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1387, \n    \"name\": \"onDeathDamageExp\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2275\": {\n    \"attributeID\": 2275, \n    \"categoryID\": 41, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Range of the explosion when the ship dies.\", \n    \"displayName_de\": \"Explosionsreichweite\", \n    \"displayName_en-us\": \"Explosion Range\", \n    \"displayName_es\": \"Alcance de explosión\", \n    \"displayName_fr\": \"Portée de l'explosion\", \n    \"displayName_it\": \"Explosion Range\", \n    \"displayName_ja\": \"爆発範囲\", \n    \"displayName_ko\": \"폭발 사거리\", \n    \"displayName_ru\": \"Радиус распространения взрыва\", \n    \"displayName_zh\": \"爆炸范围\", \n    \"displayNameID\": 312175, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"onDeathAOERadius\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2276\": {\n    \"attributeID\": 2276, \n    \"categoryID\": 41, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Signature Radius of Explosion (cloud factor) when ship dies\", \n    \"displayName_de\": \"Explosionssignaturradius\", \n    \"displayName_en-us\": \"Explosion Signature Radius\", \n    \"displayName_es\": \"Radio de la señal de la explosión\", \n    \"displayName_fr\": \"Rayon de signature d'explosion\", \n    \"displayName_it\": \"Explosion Signature Radius\", \n    \"displayName_ja\": \"爆発シグネチャ半径\", \n    \"displayName_ko\": \"폭발 시그니처 반경\", \n    \"displayName_ru\": \"Сигнатура взрыва\", \n    \"displayName_zh\": \"爆炸信号半径\", \n    \"displayNameID\": 312174, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"onDeathSignatureRadius\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2277\": {\n    \"attributeID\": 2277, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to Arcving Vorton Projector\", \n    \"displayName_de\": \"Zusätzliche Doomsday-Sekundärziele\", \n    \"displayName_en-us\": \"Additional doomsday secondary targets\", \n    \"displayName_es\": \"Objetivos secundarios apocalípticos adicionales\", \n    \"displayName_fr\": \"Additional doomsday secondary targets\", \n    \"displayName_it\": \"Additional doomsday secondary targets\", \n    \"displayName_ja\": \"ドゥームズデイの副次的ターゲットが増加\", \n    \"displayName_ko\": \"추가 둠스데이 2차 타겟\", \n    \"displayName_ru\": \"Вторичные цели орудий Судного дня\", \n    \"displayName_zh\": \"附加末日武器次要目标\", \n    \"displayNameID\": 312201, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureRigDoomsdayTargetAmountBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 138\n  }, \n  \"2278\": {\n    \"attributeID\": 2278, \n    \"categoryID\": 7, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"Reduction in damage lost per target on the Arcing Vorton Projector\", \n    \"displayName_de\": \"Bonus auf die Schadensreduktion der Sekundärziele von Doomsday-Waffen.\", \n    \"displayName_en-us\": \"Bonus to doomsday secondary target damage reduction\", \n    \"displayName_es\": \"Bonificación a la reducción de daño del objetivo secundario apocalíptico\", \n    \"displayName_fr\": \"Bonus to doomsday secondary target damage reduction\", \n    \"displayName_it\": \"Bonus to doomsday secondary target damage reduction\", \n    \"displayName_ja\": \"ドゥームズデイの副次的ターゲットダメージが減少\", \n    \"displayName_ko\": \"둠스데이 2차 타겟 피해 감소 보너스\", \n    \"displayName_ru\": \"Влияние на снижение действия орудий Судного дня на вторичные цели\", \n    \"displayName_zh\": \"末日武器次要目标伤害衰减加成\", \n    \"displayNameID\": 312200, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureRigDoomsdayDamageLossTargetBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"2279\": {\n    \"attributeID\": 2279, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Radius of the AOE Effect\", \n    \"displayName_de\": \"AoE-Reichweite\", \n    \"displayName_en-us\": \"AOE Range\", \n    \"displayName_es\": \"Alcance del área de efecto\", \n    \"displayName_fr\": \"Portée de l'effet de zone\", \n    \"displayName_it\": \"AOE Range\", \n    \"displayName_ja\": \"AOE範囲\", \n    \"displayName_ko\": \"광역 사거리\", \n    \"displayName_ru\": \"Радиус действия объёмного эффекта\", \n    \"displayName_zh\": \"AOE范围\", \n    \"displayNameID\": 312180, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"doomsdayAOERange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2280\": {\n    \"attributeID\": 2280, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration of the AOE Effect\", \n    \"displayName_de\": \"AoE-Dauer\", \n    \"displayName_en-us\": \"AOE Duration\", \n    \"displayName_es\": \"Duración del área de efecto\", \n    \"displayName_fr\": \"Durée de l'effet de zone\", \n    \"displayName_it\": \"AOE Duration\", \n    \"displayName_ja\": \"AOE持続時間\", \n    \"displayName_ko\": \"광역 지속시간\", \n    \"displayName_ru\": \"Время действия объёмного эффекта\", \n    \"displayName_zh\": \"AOE持续时间\", \n    \"displayNameID\": 312179, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"doomsdayAOEDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2281\": {\n    \"attributeID\": 2281, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Signature Radius of the AOE Effect\", \n    \"displayName_de\": \"AoE-Signaturradius\", \n    \"displayName_en-us\": \"AOE Signature Radius\", \n    \"displayName_es\": \"Radio de la señal del área de efecto\", \n    \"displayName_fr\": \"Rayon de signature de l'effet de zone\", \n    \"displayName_it\": \"AOE Signature Radius\", \n    \"displayName_ja\": \"AOEシグネチャ半径\", \n    \"displayName_ko\": \"광역 시그니처 반경\", \n    \"displayName_ru\": \"Сигнатура объёмного эффекта\", \n    \"displayName_zh\": \"AOE信号半径\", \n    \"displayNameID\": 312181, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"doomsdayAOESignatureRadius\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2282\": {\n    \"attributeID\": 2282, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Modifikation des Sensorstärke-Bonus\", \n    \"displayName_en-us\": \"Modification of Sensor Strength Bonus\", \n    \"displayName_es\": \"Mod. de bonificación de intensidad del sensor\", \n    \"displayName_fr\": \"Modification du bonus à la puissance de détection\", \n    \"displayName_it\": \"Modification of Sensor Strength Bonus\", \n    \"displayName_ja\": \"センサー強度ボーナスが変化\", \n    \"displayName_ko\": \"센서 강도 보너스 개조\", \n    \"displayName_ru\": \"Изменение влияния на эффективность систем захвата целей\", \n    \"displayName_zh\": \"感应强度加成修正\", \n    \"displayNameID\": 311929, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 3226, \n    \"name\": \"sensorStrengthBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2283\": {\n    \"attributeID\": 2283, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtA1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2284\": {\n    \"attributeID\": 2284, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtA2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2285\": {\n    \"attributeID\": 2285, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtA3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2286\": {\n    \"attributeID\": 2286, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2287\": {\n    \"attributeID\": 2287, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2288\": {\n    \"attributeID\": 2288, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2289\": {\n    \"attributeID\": 2289, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtG1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2290\": {\n    \"attributeID\": 2290, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtG2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2291\": {\n    \"attributeID\": 2291, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtG3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2292\": {\n    \"attributeID\": 2292, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtM1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2293\": {\n    \"attributeID\": 2293, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtM2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2294\": {\n    \"attributeID\": 2294, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtM3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2298\": {\n    \"attributeID\": 2298, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Ship Role Bonus. Not multiplied by skills.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusRole1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2299\": {\n    \"attributeID\": 2299, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Ship Role Bonus. Not multiplied by skills.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusRole2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2300\": {\n    \"attributeID\": 2300, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Ship Role Bonus. Not multiplied by skills.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusRole3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2301\": {\n    \"attributeID\": 2301, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Ship Role Bonus. Not multiplied by skills.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusRole4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2302\": {\n    \"attributeID\": 2302, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Ship Role Bonus. Not multiplied by skills.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusRole5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2303\": {\n    \"attributeID\": 2303, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Ship Role Bonus. Not multiplied by skills.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusRole6\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2304\": {\n    \"attributeID\": 2304, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Torpedo Velocity Bonus Percentage\", \n    \"displayName_de\": \"Torpedo-Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Torpedo Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de torpedo\", \n    \"displayName_fr\": \"de bonus à la vitesse des torpilles\", \n    \"displayName_it\": \"Torpedo Velocity Bonus\", \n    \"displayName_ja\": \"トルピード速度ボーナス\", \n    \"displayName_ko\": \"토피도 속도 보너스\", \n    \"displayName_ru\": \"Повышение скорости полёта торпед\", \n    \"displayName_zh\": \"鱼雷速度加成\", \n    \"displayNameID\": 311930, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"siegeTorpedoVelocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2305\": {\n    \"attributeID\": 2305, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"XL Launcher ROF Bonus Percentage\", \n    \"displayName_de\": \"XL-Werfer-Feuerratebonus\", \n    \"displayName_en-us\": \"XL Launcher ROF Bonus\", \n    \"displayName_es\": \"Bonificación de cadencia de tiro de lanzador XL\", \n    \"displayName_fr\": \"de bonus au lanceur de tir XL\", \n    \"displayName_it\": \"XL Launcher ROF Bonus\", \n    \"displayName_ja\": \"XLランチャーROFボーナス\", \n    \"displayName_ko\": \"XL 런처 ROF 보너스\", \n    \"displayName_ru\": \"Сокращение цикла выстрела сверхбольших пусковых установок\", \n    \"displayName_zh\": \"超大型发射器射速加成\", \n    \"displayNameID\": 311931, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"siegeLauncherROFBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2306\": {\n    \"attributeID\": 2306, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Siege Missile Damage Bonus Percentage\", \n    \"displayName_de\": \"Schadensbonus für Belagerungslenkwaffen\", \n    \"displayName_en-us\": \"Siege Missile Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño de misiles\", \n    \"displayName_fr\": \"Bonus de dégâts des missiles de siège\", \n    \"displayName_it\": \"Siege Missile Damage Bonus\", \n    \"displayName_ja\": \"シージミサイルダメージボーナス\", \n    \"displayName_ko\": \"공성 미사일 피해 보너스\", \n    \"displayName_ru\": \"Увеличение урона от осадных ракет\", \n    \"displayName_zh\": \"会战型导弹伤害加成\", \n    \"displayNameID\": 311932, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"siegeMissileDamageBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2307\": {\n    \"attributeID\": 2307, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Turret Damage Bonus Percentage\", \n    \"displayName_de\": \"Geschützturmschadensbonus\", \n    \"displayName_en-us\": \"Turret Damage Bonus\", \n    \"displayName_es\": \"Turret Damage Bonus\", \n    \"displayName_fr\": \"de bonus aux dégâts des tourelles\", \n    \"displayName_it\": \"Turret Damage Bonus\", \n    \"displayName_ja\": \"タレットダメージボーナス\", \n    \"displayName_ko\": \"Turret Damage Bonus\", \n    \"displayName_ru\": \"Повышение урона орудийных установок\", \n    \"displayName_zh\": \"炮台伤害加成\", \n    \"displayNameID\": 311933, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1432, \n    \"name\": \"siegeTurretDamageBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2308\": {\n    \"attributeID\": 2308, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryA1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2309\": {\n    \"attributeID\": 2309, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryA2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2310\": {\n    \"attributeID\": 2310, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryA3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2311\": {\n    \"attributeID\": 2311, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2312\": {\n    \"attributeID\": 2312, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2313\": {\n    \"attributeID\": 2313, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2314\": {\n    \"attributeID\": 2314, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryG1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2315\": {\n    \"attributeID\": 2315, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryG2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2316\": {\n    \"attributeID\": 2316, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryG3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2317\": {\n    \"attributeID\": 2317, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryM1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2318\": {\n    \"attributeID\": 2318, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryM2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2319\": {\n    \"attributeID\": 2319, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryM3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2320\": {\n    \"attributeID\": 2320, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryA4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2321\": {\n    \"attributeID\": 2321, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryC4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2322\": {\n    \"attributeID\": 2322, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryG4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2323\": {\n    \"attributeID\": 2323, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryM4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2324\": {\n    \"attributeID\": 2324, \n    \"categoryID\": 34, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityLaunchBombType\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"2325\": {\n    \"attributeID\": 2325, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"EM-Schaden (pro Jäger)\", \n    \"displayName_en-us\": \"EM Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño electromagnético (por caza)\", \n    \"displayName_fr\": \"Dégâts EM (par chasseur)\", \n    \"displayName_it\": \"EM Damage (Per Fighter)\", \n    \"displayName_ja\": \"EMダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"EM 피해량 (파이터 당)\", \n    \"displayName_ru\": \"ЭМ-урон (каждого истребителя)\", \n    \"displayName_zh\": \"电磁伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 312041, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityKamikazeDamageEM\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2326\": {\n    \"attributeID\": 2326, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Thermalschaden (pro Jäger)\", \n    \"displayName_en-us\": \"Thermal Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño térmico (por caza)\", \n    \"displayName_fr\": \"Dégâts thermiques (par chasseur)\", \n    \"displayName_it\": \"Thermal Damage (Per Fighter)\", \n    \"displayName_ja\": \"サーマルダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"열 피해량 (파이터 당)\", \n    \"displayName_ru\": \"Термический урон (каждого истребителя)\", \n    \"displayName_zh\": \"热能伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 312042, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityKamikazeDamageTherm\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2327\": {\n    \"attributeID\": 2327, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kinetikschaden (pro Jäger)\", \n    \"displayName_en-us\": \"Kinetic Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño cinético (por caza)\", \n    \"displayName_fr\": \"Dégâts cinétiques (par chasseur)\", \n    \"displayName_it\": \"Kinetic Damage (Per Fighter)\", \n    \"displayName_ja\": \"キネティックダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"키네틱 피해량 (파이터 당)\", \n    \"displayName_ru\": \"Кинетический урон (каждого истребителя)\", \n    \"displayName_zh\": \"动能伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 312043, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityKamikazeDamageKin\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2328\": {\n    \"attributeID\": 2328, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Explosionsschaden (pro Jäger)\", \n    \"displayName_en-us\": \"Explosive Damage (Per Fighter)\", \n    \"displayName_es\": \"Daño explosivo (por caza)\", \n    \"displayName_fr\": \"Dégâts explosifs (par chasseur)\", \n    \"displayName_it\": \"Explosive Damage (Per Fighter)\", \n    \"displayName_ja\": \"エクスプローシブダメージ（戦闘機ごと）\", \n    \"displayName_ko\": \"폭발 피해량 (파이터 당)\", \n    \"displayName_ru\": \"Фугасный урон (каждого истребителя)\", \n    \"displayName_zh\": \"爆炸伤害（每架铁骑舰载机）\", \n    \"displayNameID\": 312044, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityKamikazeDamageExp\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 113\n  }, \n  \"2329\": {\n    \"attributeID\": 2329, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityKamikazeSignatureRadius\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2330\": {\n    \"attributeID\": 2330, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 500.0, \n    \"description\": \"Range at which the fighters Explode from the target\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityKamikazeRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2333\": {\n    \"attributeID\": 2333, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureRoleBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2334\": {\n    \"attributeID\": 2334, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Dogma attribute that specifies if the item should have the structure icon or not.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureItemVisualFlag\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2335\": {\n    \"attributeID\": 2335, \n    \"categoryID\": 38, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to fighter hitpoint (%)\", \n    \"displayName_de\": \"Jäger-Schildbonus\", \n    \"displayName_en-us\": \"Fighter Shield Bonus\", \n    \"displayName_es\": \"Bonificación de escudo de caza\", \n    \"displayName_fr\": \"de bonus au bouclier (chasseur)\", \n    \"displayName_it\": \"Fighter Shield Bonus\", \n    \"displayName_ja\": \"戦闘機シールドボーナス\", \n    \"displayName_ko\": \"파이터 실드 보너스\", \n    \"displayName_ru\": \"Повышение прочности щитов истребителей\", \n    \"displayName_zh\": \"铁骑舰载机护盾加成\", \n    \"displayNameID\": 312063, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1384, \n    \"name\": \"fighterBonusShieldCapacityPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"2336\": {\n    \"attributeID\": 2336, \n    \"categoryID\": 38, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to fighter Velocity (%)\", \n    \"displayName_de\": \"Jäger-Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Fighter Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de caza\", \n    \"displayName_fr\": \"de bonus à la vitesse (chasseur)\", \n    \"displayName_it\": \"Fighter Velocity Bonus\", \n    \"displayName_ja\": \"戦闘機速度ボーナス\", \n    \"displayName_ko\": \"파이터 속도 보너스\", \n    \"displayName_ru\": \"Повышение скорости полёта истребителей\", \n    \"displayName_zh\": \"铁骑舰载机速度加成\", \n    \"displayNameID\": 312064, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"fighterBonusVelocityPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 109\n  }, \n  \"2337\": {\n    \"attributeID\": 2337, \n    \"categoryID\": 38, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to fighter ROF (%)\", \n    \"displayName_de\": \"Jäger-Feuerratebonus\", \n    \"displayName_en-us\": \"Fighter ROF Bonus\", \n    \"displayName_es\": \"Bonificación de cadencia de tiro de cazas\", \n    \"displayName_fr\": \"de bonus à la cadence de tir (chasseur)\", \n    \"displayName_it\": \"Fighter ROF Bonus\", \n    \"displayName_ja\": \"戦闘機ROFボーナス\", \n    \"displayName_ko\": \"파이터 연사속도 보너스\", \n    \"displayName_ru\": \"Сокращение цикла выстрела истребителей\", \n    \"displayName_zh\": \"铁骑舰载机射速加成\", \n    \"displayNameID\": 312065, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1389, \n    \"name\": \"fighterBonusROFPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"2338\": {\n    \"attributeID\": 2338, \n    \"categoryID\": 38, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to fighter shield recharge (%)\", \n    \"displayName_de\": \"Jäger-Schildladebonus\", \n    \"displayName_en-us\": \"Fighter Shield Recharge Bonus\", \n    \"displayName_es\": \"Bonificación de recarga de escudo de caza\", \n    \"displayName_fr\": \"de bonus à la recharge de bouclier (chasseur)\", \n    \"displayName_it\": \"Fighter Shield Recharge Bonus\", \n    \"displayName_ja\": \"戦闘機シールド再チャージボーナス\", \n    \"displayName_ko\": \"파이터 실드 충전 보너스\", \n    \"displayName_ru\": \"Повышение скорости регенерации щитов истребителей\", \n    \"displayName_zh\": \"铁骑舰载机护盾回充加成\", \n    \"displayNameID\": 312066, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"fighterBonusShieldRechargePercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 111\n  }, \n  \"2339\": {\n    \"attributeID\": 2339, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureServiceRoleBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2340\": {\n    \"attributeID\": 2340, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Gräße des Jägerhangars\", \n    \"displayName_en-us\": \"Bonus to Fighter Hangar size\", \n    \"displayName_es\": \"Bonificación de tamaño del hangar de cazas\", \n    \"displayName_fr\": \"de bonus à la taille du hangar à chasseurs\", \n    \"displayName_it\": \"Bonus to Fighter Hangar size\", \n    \"displayName_ja\": \"戦闘機のハンガーサイズが増加\", \n    \"displayName_ko\": \"파이터 격납고 크기 보너스\", \n    \"displayName_ru\": \"Влияние на размер отсека истребителей\", \n    \"displayName_zh\": \"铁骑舰载机挂舱容量加成\", \n    \"displayNameID\": 312289, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"skillBonusFighterHangarSize\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"2342\": {\n    \"attributeID\": 2342, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Fernreparatur-Impedanzbonus\", \n    \"displayName_en-us\": \"Remote Repair Impedance Bonus\", \n    \"displayName_es\": \"Bonificación de impedancia de reparación remota\", \n    \"displayName_fr\": \"de bonus à l'impédance de réparation à distance\", \n    \"displayName_it\": \"Remote Repair Impedance Bonus\", \n    \"displayName_ja\": \"リモートリペアのインピーダンスボーナス\", \n    \"displayName_ko\": \"원격 수리 임피던스 모듈\", \n    \"displayName_ru\": \"Ослабление получаемого дистанционного ремонта\", \n    \"displayName_zh\": \"远程维修阻扰加成\", \n    \"displayNameID\": 312067, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 80, \n    \"name\": \"remoteRepairImpedanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2343\": {\n    \"attributeID\": 2343, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If this ship attribute is NOT 0 then they will be prevented from activating the structure tethering.\", \n    \"displayName_de\": \"Anbinden nicht erlauben\", \n    \"displayName_en-us\": \"Disallow Tethering\", \n    \"displayName_es\": \"Desautorizar amarre\", \n    \"displayName_fr\": \"Interdire l'accostage\", \n    \"displayName_it\": \"Disallow Tethering\", \n    \"displayName_ja\": \"テザリングを禁止\", \n    \"displayName_ko\": \"테더링 불허\", \n    \"displayName_ru\": \"Швартовка запрещена\", \n    \"displayName_zh\": \"不允许驻留\", \n    \"displayNameID\": 312093, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"disallowTethering\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"2344\": {\n    \"attributeID\": 2344, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Capital-Fernunterstützungsdauer (Schilde / Panzerung / Rumpf / Energie)\", \n    \"displayName_en-us\": \"Capital Remote Logistics Duration Bonus (Shield / Armor / Hull / Energy)\", \n    \"displayName_es\": \"Bonificación de duración de logística remota capital (escudo/blindaje/casco/energía)\", \n    \"displayName_fr\": \"de bonus à la durée de support logistique à distance pour les vaisseaux capitaux (bouclier / blindage / coque / énergie)\", \n    \"displayName_it\": \"Capital Remote Logistics Duration Bonus (Shield / Armor / Hull / Energy)\", \n    \"displayName_ja\": \"キャピタル級リモート輸送時間ボーナス（シールド/アーマー/船体/エネルギー）\", \n    \"displayName_ko\": \"캐피탈 원격 로지스틱스 함선 지속시간 보너스 (실드/장갑/선체/에너지)\", \n    \"displayName_ru\": \"Сокращение времени цикла систем дистанционного восстановления щитов/брони/корпуса/энергии для КБТ\", \n    \"displayName_zh\": \"旗舰远程后勤支援持续时间加成 (护盾/装甲/结构/能量)\", \n    \"displayNameID\": 312082, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"siegeRemoteLogisticsDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2345\": {\n    \"attributeID\": 2345, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Capital-Fernunterstützungsleistung (Schilde / Panzerung / Rumpf / Energie)\", \n    \"displayName_en-us\": \"Capital Remote Logistics Amount Bonus (Shield / Armor / Hull / Energy)\", \n    \"displayName_es\": \"Bonificación de la cantidad de logística remota capital (escudo/blindaje/casco/energía)\", \n    \"displayName_fr\": \"de bonus à la qualité du support logistique à distance pour les vaisseaux capitaux (bouclier / blindage / coque / énergie)\", \n    \"displayName_it\": \"Capital Remote Logistics Amount Bonus (Shield / Armor / Hull / Energy)\", \n    \"displayName_ja\": \"キャピタル級リモート輸送量ボーナス（シールド/アーマー/船体/エネルギー）\", \n    \"displayName_ko\": \"캐피탈 원격 로지스틱스 함선 총 보너스 (실드/장갑/선체/에너지)\", \n    \"displayName_ru\": \"Повышение эффективности систем дистанционного восстановления щитов/брони/корпуса/энергии для КБТ\", \n    \"displayName_zh\": \"旗舰远程后勤支援维修量加成 (护盾/装甲/结构/能量)\", \n    \"displayNameID\": 312083, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"siegeRemoteLogisticsAmountBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2346\": {\n    \"attributeID\": 2346, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Armor Repairer / Shield Booster Duration Bonus\", \n    \"displayName_de\": \"Bonus auf die Dauer von Panzerungreparatur / Schildboostern\", \n    \"displayName_en-us\": \"Armor Repairer / Shield Booster Duration Bonus\", \n    \"displayName_es\": \"Bonificación de duración de potenciador de escudo/reparador de blindaje\", \n    \"displayName_fr\": \"de bonus à la durée du réparateur de blindage / booster de bouclier\", \n    \"displayName_it\": \"Armor Repairer / Shield Booster Duration Bonus\", \n    \"displayName_ja\": \"アーマーリペアラ/シールドブースターの有効時間ボーナス\", \n    \"displayName_ko\": \"장갑 수리장치 / 실드 부스터 지속시간 보너스\", \n    \"displayName_ru\": \"Сокращение времени цикла бортовых систем ремонта брони / накачки щитов\", \n    \"displayName_zh\": \"装甲维修器/护盾回充增量器运转周期加成\", \n    \"displayNameID\": 312084, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 2104, \n    \"name\": \"siegeLocalLogisticsDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2347\": {\n    \"attributeID\": 2347, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Armor Repairer / Shield Booster Amount Bonus\", \n    \"displayName_de\": \"Bonus auf die Leistung von Panzerungreparatur / Schildboostern\", \n    \"displayName_en-us\": \"Armor Repairer / Shield Booster Amount Bonus\", \n    \"displayName_es\": \"Bonificación de cantidad de potenciadores de escudo/reparadores de blindaje\", \n    \"displayName_fr\": \"de bonus à la qualité du réparateur de blindage / booster de bouclier\", \n    \"displayName_it\": \"Armor Repairer / Shield Booster Amount Bonus\", \n    \"displayName_ja\": \"アーマーリペアラ/シールドブースターの量ボーナス\", \n    \"displayName_ko\": \"장갑 수리장치 / 실드 부스터량 보너스\", \n    \"displayName_ru\": \"Повышение эффективности бортовых систем ремонта брони / накачки щитов\", \n    \"displayName_zh\": \"装甲维修量/护盾回充增量加成\", \n    \"displayNameID\": 312085, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2104, \n    \"name\": \"siegeLocalLogisticsAmountBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2348\": {\n    \"attributeID\": 2348, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Capital-Fernunterstützungsreichweite (Schilde / Panzerung / Rumpf / Energie)\", \n    \"displayName_en-us\": \"Capital Remote Logistics Range Bonus (Shield / Armor / Hull / Energy)\", \n    \"displayName_es\": \"Bonificación del alcance de logística remota capital (escudo/blindaje/casco/energía)\", \n    \"displayName_fr\": \"de bonus à la portée de support logistique à distance pour les vaisseaux capitaux (bouclier / blindage / coque / énergie)\", \n    \"displayName_it\": \"Capital Remote Logistics Range Bonus (Shield / Armor / Hull / Energy)\", \n    \"displayName_ja\": \"キャピタル級リモート輸送範囲ボーナス（シールド/アーマー/船体/エネルギー）\", \n    \"displayName_ko\": \"캐피탈 원격 로지스틱스 함선 거리 보너스 (실드/장갑/선체/에너지)\", \n    \"displayName_ru\": \"Повышение дальности действия систем дистанционного восстановления щитов/брони/корпуса/энергии для КБТ\", \n    \"displayName_zh\": \"旗舰远程后勤支援距离加成 (护盾/装甲/结构/能量)\", \n    \"displayNameID\": 312086, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"siegeRemoteLogisticsRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2349\": {\n    \"attributeID\": 2349, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Dauer\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"持続時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"持续时间\", \n    \"displayNameID\": 312087, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"fighterAbilityLaunchBombDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2351\": {\n    \"attributeID\": 2351, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Resistenzbonus für Sensordämpfer\", \n    \"displayName_en-us\": \"Sensor Dampener Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia del atenuador de sensor\", \n    \"displayName_fr\": \"de bonus à la résistance de l'atténuateur de détection\", \n    \"displayName_it\": \"Sensor Dampener Resistance Bonus\", \n    \"displayName_ja\": \"センサーダンプナーのレジスタンスボーナス\", \n    \"displayName_ko\": \"센서 댐프너 저항 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивление подавлению захвата целей\", \n    \"displayName_zh\": \"感应抑阻器抗性加成\", \n    \"displayNameID\": 312089, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 74, \n    \"name\": \"sensorDampenerResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2352\": {\n    \"attributeID\": 2352, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Fernunterstützung-Impedanzbonus\", \n    \"displayName_en-us\": \"Remote Assistance Impedance Bonus\", \n    \"displayName_es\": \"Bonificación de impedancia de asistencia remota\", \n    \"displayName_fr\": \"de bonus à l'impédance de réparation à distance\", \n    \"displayName_it\": \"Remote Assistance Impedance Bonus\", \n    \"displayName_ja\": \"リモートアシスタンスのインピーダンスボーナス\", \n    \"displayName_ko\": \"원격 지원 임피던스 보너스\", \n    \"displayName_ru\": \"Снижение эффективности дистанционной поддержки\", \n    \"displayName_zh\": \"远程协助阻扰加成\", \n    \"displayNameID\": 312090, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 74, \n    \"name\": \"remoteAssistanceImpedanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2353\": {\n    \"attributeID\": 2353, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Resistenzbonus gegen Waffenstörung\", \n    \"displayName_en-us\": \"Weapon Disruption Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a la disrupción de armas\", \n    \"displayName_fr\": \"de bonus à la résistance de perturbation d'armement\", \n    \"displayName_it\": \"Weapon Disruption Resistance Bonus\", \n    \"displayName_ja\": \"兵器妨害レジスタンスのボーナス\", \n    \"displayName_ko\": \"무기 교란 저항 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивление помехам на системы наводки\", \n    \"displayName_zh\": \"武器干扰抗性加成\", \n    \"displayNameID\": 312091, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1398, \n    \"name\": \"weaponDisruptionResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2354\": {\n    \"attributeID\": 2354, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If this ship attribute is NOT 0 then they will be prevented from docking in stations or structures.\", \n    \"displayName_de\": \"Andocken nicht erlauben\", \n    \"displayName_en-us\": \"Disallow Docking\", \n    \"displayName_es\": \"Desautorizar acoplamiento\", \n    \"displayName_fr\": \"Interdire l'amarrage\", \n    \"displayName_it\": \"Disallow Docking\", \n    \"displayName_ja\": \"ドッキングを禁止\", \n    \"displayName_ko\": \"도킹 불허\", \n    \"displayName_ru\": \"В активном состоянии запрещён вход в док\", \n    \"displayName_zh\": \"不允许停靠\", \n    \"displayNameID\": 312092, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"disallowDocking\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"2355\": {\n    \"attributeID\": 2355, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Hochsicherheits-Bonusmultiplikator\", \n    \"displayName_en-us\": \"High Security Bonus Multiplier\", \n    \"displayName_es\": \"Multiplicador de bonificación de seguridad alta\", \n    \"displayName_fr\": \"High Security Bonus Multiplier\", \n    \"displayName_it\": \"High Security Bonus Multiplier\", \n    \"displayName_ja\": \"高セキュリティボーナス乗数\", \n    \"displayName_ko\": \"하이 시큐리티 보너스 배수\", \n    \"displayName_ru\": \"Изменение влияния в планетных системах метрополии («хай-сек»)\", \n    \"displayName_zh\": \"高安加成系数\", \n    \"displayNameID\": 312232, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"hiSecModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2356\": {\n    \"attributeID\": 2356, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Niedersicherheits-Bonusmultiplikator\", \n    \"displayName_en-us\": \"Low Security Bonus Multiplier\", \n    \"displayName_es\": \"Multiplicador de bonificación de seguridad baja\", \n    \"displayName_fr\": \"Low Security Bonus Multiplier\", \n    \"displayName_it\": \"Low Security Bonus Multiplier\", \n    \"displayName_ja\": \"低セキュリティボーナス乗数\", \n    \"displayName_ko\": \"로우 시큐리티 보너스 배수\", \n    \"displayName_ru\": \"Изменение влияния в планетных системах фронтира («лоу-сек»)\", \n    \"displayName_zh\": \"低安加成系数\", \n    \"displayNameID\": 312233, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"lowSecModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2357\": {\n    \"attributeID\": 2357, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Nullsicherheits- und Wurmloch-Bonusmultiplikator\", \n    \"displayName_en-us\": \"Nullsec and Wormhole Bonus Multiplier\", \n    \"displayName_es\": \"Multiplicador de bonificación de seguridad nula y agujero de gusano\", \n    \"displayName_fr\": \"Nullsec and Wormhole Bonus Multiplier\", \n    \"displayName_it\": \"Nullsec and Wormhole Bonus Multiplier\", \n    \"displayName_ja\": \"0.0セキュリティおよびワームホールボーナス乗数\", \n    \"displayName_ko\": \"널 시큐리티와 웜홀 보너스 배수\", \n    \"displayName_ru\": \"Изменение влияния в «нулях» и w-пространстве\", \n    \"displayName_zh\": \"0.0和虫洞加成系数\", \n    \"displayNameID\": 312234, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"nullSecModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2358\": {\n    \"attributeID\": 2358, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"securityModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2359\": {\n    \"attributeID\": 2359, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierA1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2360\": {\n    \"attributeID\": 2360, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierA2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2361\": {\n    \"attributeID\": 2361, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierA3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2362\": {\n    \"attributeID\": 2362, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierA4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2363\": {\n    \"attributeID\": 2363, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2364\": {\n    \"attributeID\": 2364, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2365\": {\n    \"attributeID\": 2365, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2366\": {\n    \"attributeID\": 2366, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierC4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2367\": {\n    \"attributeID\": 2367, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierG1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2368\": {\n    \"attributeID\": 2368, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierG2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2369\": {\n    \"attributeID\": 2369, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierG3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2370\": {\n    \"attributeID\": 2370, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierG4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2371\": {\n    \"attributeID\": 2371, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierM1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2372\": {\n    \"attributeID\": 2372, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierM2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2373\": {\n    \"attributeID\": 2373, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierM3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2374\": {\n    \"attributeID\": 2374, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierM4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2375\": {\n    \"attributeID\": 2375, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierA1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2376\": {\n    \"attributeID\": 2376, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierA2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2377\": {\n    \"attributeID\": 2377, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierA3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2378\": {\n    \"attributeID\": 2378, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierA4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2379\": {\n    \"attributeID\": 2379, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierA5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2380\": {\n    \"attributeID\": 2380, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2381\": {\n    \"attributeID\": 2381, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2382\": {\n    \"attributeID\": 2382, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2383\": {\n    \"attributeID\": 2383, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierC4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2384\": {\n    \"attributeID\": 2384, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierC5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2385\": {\n    \"attributeID\": 2385, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierG1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2386\": {\n    \"attributeID\": 2386, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierG2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2387\": {\n    \"attributeID\": 2387, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierG3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2388\": {\n    \"attributeID\": 2388, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierG4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2389\": {\n    \"attributeID\": 2389, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierG5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2390\": {\n    \"attributeID\": 2390, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierM1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2391\": {\n    \"attributeID\": 2391, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierM2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2392\": {\n    \"attributeID\": 2392, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierM3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2393\": {\n    \"attributeID\": 2393, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierM4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2394\": {\n    \"attributeID\": 2394, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSupercarrierM5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2395\": {\n    \"attributeID\": 2395, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Prevents module activation when the ship or structure is currently invulnerable.\", \n    \"displayName_de\": \"Kann nur benutzt werden, während die Struktur verwundbar ist.\", \n    \"displayName_en-us\": \"Only usable while structure is vulnerable\", \n    \"displayName_es\": \"Solo se puede usar mientras la estructura es vulnerable.\", \n    \"displayName_fr\": \"Only usable while structure is vulnerable\", \n    \"displayName_it\": \"Only usable while structure is vulnerable\", \n    \"displayName_ja\": \"ストラクチャが脆弱になっている間のみ使用可能\", \n    \"displayName_ko\": \"구조물이 취약할 때만 사용할 수 있습니다.\", \n    \"displayName_ru\": \"Не работает в режиме неуязвимости\", \n    \"displayName_zh\": \"只能在建筑可被攻击时使用\", \n    \"displayNameID\": 312182, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"disallowWhenInvulnerable\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"2396\": {\n    \"attributeID\": 2396, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装備可能：\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可装配至\", \n    \"displayNameID\": 312096, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup10\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2397\": {\n    \"attributeID\": 2397, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Aktivierungszeit / -dauer\", \n    \"displayName_en-us\": \"Activation time / duration\", \n    \"displayName_es\": \"Tiempo de activación/duración\", \n    \"displayName_fr\": \"Délai/Durée d'activation\", \n    \"displayName_it\": \"Activation time / duration\", \n    \"displayName_ja\": \"有効時間/持続時間\", \n    \"displayName_ko\": \"활성화 시간 / 지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"作用时间/单次运转时间\", \n    \"displayNameID\": 312097, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"durationWeaponDisruptionBurstProjector\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2398\": {\n    \"attributeID\": 2398, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Aktivierungszeit / -dauer\", \n    \"displayName_en-us\": \"Activation time / duration\", \n    \"displayName_es\": \"Tiempo de activación/duración\", \n    \"displayName_fr\": \"Délai/Durée d'activation\", \n    \"displayName_it\": \"Activation time / duration\", \n    \"displayName_ja\": \"有効時間/持続時間\", \n    \"displayName_ko\": \"활성화 시간 / 지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"作用时间/单次运转时间\", \n    \"displayNameID\": 312098, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"durationECMJammerBurstProjector\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2399\": {\n    \"attributeID\": 2399, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Aktivierungszeit / -dauer\", \n    \"displayName_en-us\": \"Activation time / duration\", \n    \"displayName_es\": \"Tiempo de activación/duración\", \n    \"displayName_fr\": \"Délai/Durée d'activation\", \n    \"displayName_it\": \"Activation time / duration\", \n    \"displayName_ja\": \"有効時間/持続時間\", \n    \"displayName_ko\": \"활성화 시간 / 지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"作用时间/单次运转时间\", \n    \"displayNameID\": 312099, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"durationSensorDampeningBurstProjector\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2400\": {\n    \"attributeID\": 2400, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Aktivierungszeit / -dauer\", \n    \"displayName_en-us\": \"Activation time / duration\", \n    \"displayName_es\": \"Tiempo de activación/duración\", \n    \"displayName_fr\": \"Délai/Durée d'activation\", \n    \"displayName_it\": \"Activation time / duration\", \n    \"displayName_ja\": \"有効時間/持続時間\", \n    \"displayName_ko\": \"활성화 시간 / 지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"作用时间/单次运转时间\", \n    \"displayNameID\": 312100, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"durationTargetIlluminationBurstProjector\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2401\": {\n    \"attributeID\": 2401, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 10000.0, \n    \"description\": \"Duration of one cycle of the kamikaze ability\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"fighterAbilityKamikazeDuration\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"2402\": {\n    \"attributeID\": 2402, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Modifikation des Bonus auf EM-Schadensresistenz\", \n    \"displayName_en-us\": \"Modification of EM Damage Resistance Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de resistencia a daños electromagnéticos\", \n    \"displayName_fr\": \"modification du bonus de résistance aux dégâts électromagnétiques\", \n    \"displayName_it\": \"Modification of EM Damage Resistance Bonus\", \n    \"displayName_ja\": \"EMダメージのレジスタンスボーナスを修正\", \n    \"displayName_ko\": \"EM 저항력 보너스 강화\", \n    \"displayName_ru\": \"Изменение влияния на сопротивляемость ЭМ-урону\", \n    \"displayName_zh\": \"电磁伤害抗性加成调整系数\", \n    \"displayNameID\": 312101, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1396, \n    \"name\": \"emDamageResistanceBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2403\": {\n    \"attributeID\": 2403, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Modifikation des Bonus auf Explosionsschadensresistenz\", \n    \"displayName_en-us\": \"Modification of Explosive Damage Resistance Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de resistencia a daños explosivos\", \n    \"displayName_fr\": \"modification du bonus de résistance aux dégâts explositfs\", \n    \"displayName_it\": \"Modification of Explosive Damage Resistance Bonus\", \n    \"displayName_ja\": \"エクスプローシブダメージのレジスタンスボーナスを修正\", \n    \"displayName_ko\": \"폭발 저항력 보너스 강화\", \n    \"displayName_ru\": \"Изменение влияния на сопротивляемость фугасному урону\", \n    \"displayName_zh\": \"爆炸伤害抗性加成调整系数\", \n    \"displayNameID\": 312102, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1395, \n    \"name\": \"explosiveDamageResistanceBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2404\": {\n    \"attributeID\": 2404, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Modifikation des Bonus auf Kinetikschadensresistenz\", \n    \"displayName_en-us\": \"Modification of Kinetic Damage Resistance Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de resistencia a daños cinéticos\", \n    \"displayName_fr\": \"modification du bonus de résistance aux dégâts cinétiques\", \n    \"displayName_it\": \"Modification of Kinetic Damage Resistance Bonus\", \n    \"displayName_ja\": \"キネティックダメージのレジスタンスボーナスを修正\", \n    \"displayName_ko\": \"키네틱 저항력 보너스 강화\", \n    \"displayName_ru\": \"Изменение влияния на сопротивляемость кинетическому урону\", \n    \"displayName_zh\": \"动能伤害抗性加成调整系数\", \n    \"displayNameID\": 312103, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1393, \n    \"name\": \"kineticDamageResistanceBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2405\": {\n    \"attributeID\": 2405, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Modifikation des Bonus auf Thermalschadensresistenz\", \n    \"displayName_en-us\": \"Modification of Thermal Damage Resistance Bonus\", \n    \"displayName_es\": \"Modificación de bonificación de resistencia a daños térmicos\", \n    \"displayName_fr\": \"modification du bonus de résistance aux dégâts thermiques\", \n    \"displayName_it\": \"Modification of Thermal Damage Resistance Bonus\", \n    \"displayName_ja\": \"サーマルダメージのレジスタンスボーナスを修正\", \n    \"displayName_ko\": \"열 저항력 보너스 강화\", \n    \"displayName_ru\": \"Изменение влияния на сопротивляемость термическому урону\", \n    \"displayName_zh\": \"热能伤害抗性加成调整系数\", \n    \"displayNameID\": 312104, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1394, \n    \"name\": \"thermalDamageResistanceBonusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2406\": {\n    \"attributeID\": 2406, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanA1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2407\": {\n    \"attributeID\": 2407, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanA2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2408\": {\n    \"attributeID\": 2408, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanA3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2409\": {\n    \"attributeID\": 2409, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanA4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2410\": {\n    \"attributeID\": 2410, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2411\": {\n    \"attributeID\": 2411, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2412\": {\n    \"attributeID\": 2412, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2413\": {\n    \"attributeID\": 2413, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanC4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2414\": {\n    \"attributeID\": 2414, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanG1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2415\": {\n    \"attributeID\": 2415, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanG2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2416\": {\n    \"attributeID\": 2416, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanG3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2417\": {\n    \"attributeID\": 2417, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanG4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2418\": {\n    \"attributeID\": 2418, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanM1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2419\": {\n    \"attributeID\": 2419, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanM2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2420\": {\n    \"attributeID\": 2420, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanM3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2421\": {\n    \"attributeID\": 2421, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanM4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2422\": {\n    \"attributeID\": 2422, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The last allowed injection date.  After this date the booster can no longer be consumed. Formatted YYYY.MM.DD HH:MM:SS\", \n    \"displayName_de\": \"Ablaufdatum\", \n    \"displayName_en-us\": \"Expiry Date\", \n    \"displayName_es\": \"Fecha de caducidad\", \n    \"displayName_fr\": \"Date d'expiration\", \n    \"displayName_it\": \"Expiry Date\", \n    \"displayName_ja\": \"期限\", \n    \"displayName_ko\": \"만료 일자\", \n    \"displayName_ru\": \"Срок годности\", \n    \"displayName_zh\": \"有效期\", \n    \"displayNameID\": 312107, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"boosterLastInjectionDatetime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 143\n  }, \n  \"2423\": {\n    \"attributeID\": 2423, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Titan skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusTitanC5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2424\": {\n    \"attributeID\": 2424, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Zielmarkierungsresistenz\", \n    \"displayName_en-us\": \"Target Painter Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia del revelador de objetivo\", \n    \"displayName_fr\": \"de bonus à la résistance au marquage de cible\", \n    \"displayName_it\": \"Target Painter Resistance Bonus\", \n    \"displayName_ja\": \"ターゲットぺインターのレジスタンスボーナス\", \n    \"displayName_ko\": \"타겟 페인터 저항력 보너스\", \n    \"displayName_ru\": \"Ослабление воздействия систем подсветки целей\", \n    \"displayName_zh\": \"目标标记装置抗性加成\", \n    \"displayNameID\": 312116, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"targetPainterResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2425\": {\n    \"attributeID\": 2425, \n    \"categoryID\": 34, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Warp Disruption Strength\", \n    \"displayName_de\": \"Warpstörungsstärke\", \n    \"displayName_en-us\": \"Warp Disruption Strength\", \n    \"displayName_es\": \"Intensidad de la disrupción de warp\", \n    \"displayName_fr\": \"Puissance de perturbation de warp\", \n    \"displayName_it\": \"Warp Disruption Strength\", \n    \"displayName_ja\": \"ワープ妨害強度\", \n    \"displayName_ko\": \"워프 디스럽션 강도\", \n    \"displayName_ru\": \"Мощность варп-помех\", \n    \"displayName_zh\": \"跃迁干扰强度\", \n    \"displayNameID\": 312117, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityTackleWarpDisruptionPointStrength\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2426\": {\n    \"attributeID\": 2426, \n    \"categoryID\": 38, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Auftankdauer\", \n    \"displayName_en-us\": \"Refueling Duration\", \n    \"displayName_es\": \"Duración de repostaje\", \n    \"displayName_fr\": \"Durée du ravitaillement\", \n    \"displayName_it\": \"Refueling Duration\", \n    \"displayName_ja\": \"エネルギー補給時間\", \n    \"displayName_ko\": \"연료 보급 지속시간\", \n    \"displayName_ru\": \"Время дозаправки\", \n    \"displayName_zh\": \"重新装填周期\", \n    \"displayNameID\": 312128, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"fighterRefuelingTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2427\": {\n    \"attributeID\": 2427, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Length of No Jump Or Cloak time.\", \n    \"displayName_de\": \"Dauer der Sprung-/Andock-/Anbindungs- und Tarnsperre\", \n    \"displayName_en-us\": \"Jump/Dock/Tether/Cloak restriction duration\", \n    \"displayName_es\": \"Duración de restricciones de salto/acoplamiento/amarre/camuflaje\", \n    \"displayName_fr\": \"Durée de restriction de saut, d'amarrage, d'accostage et de camouflage\", \n    \"displayName_it\": \"Jump/Dock/Tether/Cloak restriction duration\", \n    \"displayName_ja\": \"ジャンプおよび遮蔽の制限時間\", \n    \"displayName_ko\": \"점프/도크/테더링/클로킹 제한 지속시간\", \n    \"displayName_ru\": \"Длительность запрета на прыжки/стыковку/швартовку/маскировку\", \n    \"displayName_zh\": \"跳跃/停靠/驻留/隐形限制持续时间\", \n    \"displayNameID\": 312125, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"doomsdayNoJumpOrCloakDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2428\": {\n    \"attributeID\": 2428, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Length of Immobility time.\", \n    \"displayName_de\": \"Unbeweglichkeitsdauer\", \n    \"displayName_en-us\": \"Immobility Duration\", \n    \"displayName_es\": \"Duración de inmovilidad\", \n    \"displayName_fr\": \"Durée d'immobilité\", \n    \"displayName_it\": \"Immobility Duration\", \n    \"displayName_ja\": \"移動不可の時間\", \n    \"displayName_ko\": \"이동불가 지속시간\", \n    \"displayName_ru\": \"Срок ограничения подвижности\", \n    \"displayName_zh\": \"无法移动持续时间\", \n    \"displayNameID\": 312126, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"doomsdayImmobilityDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2429\": {\n    \"attributeID\": 2429, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"1: Fixed Cylinder (Beam)\\r\\n2: Cylinder moving in an arc (Slash)\\r\\n3: Fixed Cone\\r\\n4: Projected Sphere\", \n    \"displayName_de\": \"Form des Superwaffeneffekts\", \n    \"displayName_en-us\": \"Shape of Superweapon Effect\", \n    \"displayName_es\": \"Efecto de forma de superarma\", \n    \"displayName_fr\": \"Forme de l'effet de super-arme\", \n    \"displayName_it\": \"Shape of Superweapon Effect\", \n    \"displayName_ja\": \"スーパーウェポン効果の形状\", \n    \"displayName_ko\": \"슈퍼웨폰 효과의 형태\", \n    \"displayName_ru\": \"Форма области поражения орудия Судного дня\", \n    \"displayName_zh\": \"超级武器效果形状\", \n    \"displayNameID\": 312130, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"doomsdayAOEShape\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2430\": {\n    \"attributeID\": 2430, \n    \"categoryID\": 39, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Determines whether the maxRange attribute is a fixed length or a maximum length of the effect\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"doomsdayRangeIsFixed\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2431\": {\n    \"attributeID\": 2431, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Max. erlaubte Modulzahl dieses Typs\", \n    \"displayName_en-us\": \"Max Modules Of This Type Allowed\", \n    \"displayName_es\": \"Máx. de módulos de este tipo permitidos\", \n    \"displayName_fr\": \"Modules de ce type max. autorisés\", \n    \"displayName_it\": \"Max Modules Of This Type Allowed\", \n    \"displayName_ja\": \"可能な最大モジュール数\", \n    \"displayName_ko\": \"해당 모듈 유형의 최대 허용 수\", \n    \"displayName_ru\": \"Максимально допустимое количество модулей данного типа\", \n    \"displayName_zh\": \"该类型装备使用上限\", \n    \"displayNameID\": 312364, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxTypeFitted\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2432\": {\n    \"attributeID\": 2432, \n    \"categoryID\": 34, \n    \"dataType\": 10, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterAbilityKamikazeResistanceID\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 119\n  }, \n  \"2433\": {\n    \"attributeID\": 2433, \n    \"categoryID\": 38, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"fighterAbilityKamikazeResistance\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2434\": {\n    \"attributeID\": 2434, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus für maximal aufgeschaltete Ziele\", \n    \"displayName_en-us\": \"Maximum Locked Targets Bonus\", \n    \"displayName_es\": \"Bonificación de objetivos fijados máximos\", \n    \"displayName_fr\": \"Maximum Locked Targets Bonus\", \n    \"displayName_it\": \"Maximum Locked Targets Bonus\", \n    \"displayName_ja\": \"ターゲット補足数ボーナス\", \n    \"displayName_ko\": \"최대 타겟 수 보너스\", \n    \"displayName_ru\": \"Влияние на количество единовременно сопровождаемых целей\", \n    \"displayName_zh\": \"目标锁定数上限加成\", \n    \"displayNameID\": 312223, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 109, \n    \"name\": \"structureRigMaxTargetBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"2435\": {\n    \"attributeID\": 2435, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Scanauflösungsbonus\", \n    \"displayName_en-us\": \"Scan Resolution Bonus\", \n    \"displayName_es\": \"Bonificación de resolución de escaneo\", \n    \"displayName_fr\": \"Scan Resolution Bonus\", \n    \"displayName_it\": \"Scan Resolution Bonus\", \n    \"displayName_ja\": \"スキャン解像度ボーナス\", \n    \"displayName_ko\": \"스캔 정밀도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость захвата целей\", \n    \"displayName_zh\": \"扫描分辨率加成\", \n    \"displayNameID\": 312224, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 74, \n    \"name\": \"structureRigScanResBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"2436\": {\n    \"attributeID\": 2436, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Verteidigungsbatterie-Reichweitenbonus\", \n    \"displayName_en-us\": \"Point Defense Battery Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance de la batería de defensa de puntos\", \n    \"displayName_fr\": \"Point Defense Battery Range Bonus\", \n    \"displayName_it\": \"Point Defense Battery Range Bonus\", \n    \"displayName_ja\": \"地点防衛バッテリーの範囲ボーナス\", \n    \"displayName_ko\": \"거점 방어 포탑 사거리 보너스\", \n    \"displayName_ru\": \"Влияние на радиус действия систем точечной обороны\", \n    \"displayName_zh\": \"定点防卫炮塔范围加成\", \n    \"displayNameID\": 312225, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"structureRigPDRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"2437\": {\n    \"attributeID\": 2437, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Verteidigungsbatterie-Energiespeicher-Nutzungsbonus\", \n    \"displayName_en-us\": \"Point Defense Battery Capacitor Use Bonus\", \n    \"displayName_es\": \"Bonificación de uso del condensador de la batería de defensa de puntos\", \n    \"displayName_fr\": \"Point Defense Battery Capacitor Use Bonus\", \n    \"displayName_it\": \"Point Defense Battery Capacitor Use Bonus\", \n    \"displayName_ja\": \"地点防衛バッテリーのキャパシタ消費量ボーナス\", \n    \"displayName_ko\": \"거점 방어 포탑 캐패시터 사용 보너스\", \n    \"displayName_ru\": \"Влияние на расход энергии системами точечной обороны\", \n    \"displayName_zh\": \"定点防卫炮塔电容消耗加成\", \n    \"displayNameID\": 312226, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1400, \n    \"name\": \"structureRigPDCapUseBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2438\": {\n    \"attributeID\": 2438, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Explosionsgeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Explosion Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de explosión\", \n    \"displayName_fr\": \"Explosion Velocity Bonus\", \n    \"displayName_it\": \"Explosion Velocity Bonus\", \n    \"displayName_ja\": \"爆発速度ボーナス\", \n    \"displayName_ko\": \"폭발 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость взрыва\", \n    \"displayName_zh\": \"爆炸速度加成\", \n    \"displayNameID\": 312227, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"structureRigMissileExploVeloBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2439\": {\n    \"attributeID\": 2439, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Lenkwaffengeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Missile Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de misiles\", \n    \"displayName_fr\": \"Missile Velocity Bonus\", \n    \"displayName_it\": \"Missile Velocity Bonus\", \n    \"displayName_ja\": \"ミサイル速度ボーナス\", \n    \"displayName_ko\": \"미사일 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость полёта ракет\", \n    \"displayName_zh\": \"导弹速度加成\", \n    \"displayNameID\": 312228, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"structureRigMissileVelocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2440\": {\n    \"attributeID\": 2440, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Optimale Reichweite-Bonus\", \n    \"displayName_en-us\": \"Optimal Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance óptimo\", \n    \"displayName_fr\": \"Optimal Range Bonus\", \n    \"displayName_it\": \"Optimal Range Bonus\", \n    \"displayName_ja\": \"最適射程距離ボーナス\", \n    \"displayName_ko\": \"최적사거리 보너스\", \n    \"displayName_ru\": \"Влияние на оптимальную дальность\", \n    \"displayName_zh\": \"最佳射程加成\", \n    \"displayNameID\": 312229, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"structureRigEwarOptimalBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2441\": {\n    \"attributeID\": 2441, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reduktionsbonus\", \n    \"displayName_en-us\": \"Falloff Bonus\", \n    \"displayName_es\": \"Bonificación de alcance efectivo\", \n    \"displayName_fr\": \"Falloff Bonus\", \n    \"displayName_it\": \"Falloff Bonus\", \n    \"displayName_ja\": \"精度低下範囲ボーナス\", \n    \"displayName_ko\": \"유효사거리 보너스\", \n    \"displayName_ru\": \"Влияние на добавочную дальность\", \n    \"displayName_zh\": \"失准范围加成\", \n    \"displayNameID\": 312230, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1399, \n    \"name\": \"structureRigEwarFalloffBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2442\": {\n    \"attributeID\": 2442, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Energiespeichernutzung\", \n    \"displayName_en-us\": \"Capacitor Use Bonus\", \n    \"displayName_es\": \"Bonificación de uso del condensador\", \n    \"displayName_fr\": \"Capacitor Use Bonus\", \n    \"displayName_it\": \"Capacitor Use Bonus\", \n    \"displayName_ja\": \"キャパシタ消費量ボーナス\", \n    \"displayName_ko\": \"캐패시터 사용 보너스\", \n    \"displayName_ru\": \"Влияние на расход энергии\", \n    \"displayName_zh\": \"电容消耗加成\", \n    \"displayNameID\": 312231, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1400, \n    \"name\": \"structureRigEwarCapUseBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2444\": {\n    \"attributeID\": 2444, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.5, \n    \"description\": \"\", \n    \"displayName_de\": \"Aufbereitungsertrag für Asteroidengürtel-Erze\", \n    \"displayName_en-us\": \"Refining yield for Asteroid Belt Ores\", \n    \"displayName_es\": \"Rendimiento de refinado para menas de cinturones de asteroides\", \n    \"displayName_fr\": \"Rendement de raffinage pour les minerais des ceintures d'astéroïdes\", \n    \"displayName_it\": \"Refining yield for Asteroid Belt Ores\", \n    \"displayName_ja\": \"ベルドスパー、スコダイト、パイロゼリーズ、プラジオクレイス、オンバー、ケルナイトの精錬による収穫物\", \n    \"displayName_ko\": \"소행성 벨트 광물의 정제 처리\", \n    \"displayName_ru\": \"Объём переработки руды из скоплений астероидов\", \n    \"displayName_zh\": \"小行星带矿石精炼产出\", \n    \"displayNameID\": 312236, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"refiningYieldNormalOres\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"2445\": {\n    \"attributeID\": 2445, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.5, \n    \"description\": \"\", \n    \"displayName_de\": \"Aufbereitungsertrag für Monderze\", \n    \"displayName_en-us\": \"Refining yield for Moon Ores\", \n    \"displayName_es\": \"Rendimiento de refinado para menas lunares\", \n    \"displayName_fr\": \"Rendement de raffinage pour les minerais lunaires\", \n    \"displayName_it\": \"Refining yield for Moon Ores\", \n    \"displayName_ja\": \"アーコナー、ビストット、クロカイト、ダークオークル、ナエス、メロコキサイト、スポンデュメイン、ヘッドバーガイト、ヘモファイト、ジャスペットの精錬による収穫物\", \n    \"displayName_ko\": \"위성 광물의 정제 처리\", \n    \"displayName_ru\": \"Объём переработки руды со спутников\", \n    \"displayName_zh\": \"卫星矿石精炼产出\", \n    \"displayNameID\": 312237, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"refiningYieldMoonOres\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"2446\": {\n    \"attributeID\": 2446, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Aufbereitungsertrag für Clear Icicle und White Glaze\", \n    \"displayName_en-us\": \"Refining yield for Clear Icicle and White Glaze\", \n    \"displayName_es\": \"Rendimiento de refinado para carámbano blanco y cristal níveo\", \n    \"displayName_fr\": \"Refining yield for Clear Icicle and White Glaze\", \n    \"displayName_it\": \"Refining yield for Clear Icicle and White Glaze\", \n    \"displayName_ja\": \"クリアアイシクル、ホワイトグレイズの精錬による収穫物\", \n    \"displayName_ko\": \"아이시클과 화이트 글레이즈의 정제 처리\", \n    \"displayName_ru\": \"Коэффициент выработки для льда Clear Icicle и White Glaze\", \n    \"displayName_zh\": \"清冰锥和白釉冰提炼产出\", \n    \"displayNameID\": 312238, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"refiningYieldCalAmarrIce\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"2447\": {\n    \"attributeID\": 2447, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Aufbereitungsertrag für Blue Ice und Glacial Mass\", \n    \"displayName_en-us\": \"Refining yield for Blue Ice and Glacial Mass\", \n    \"displayName_es\": \"Rendimiento de refinado para hielo azul y masa glacial\", \n    \"displayName_fr\": \"Refining yield for Blue Ice and Glacial Mass\", \n    \"displayName_it\": \"Refining yield for Blue Ice and Glacial Mass\", \n    \"displayName_ja\": \"ブルーアイス、スムーズグレイシャル塊の精錬による収穫物\", \n    \"displayName_ko\": \"블루 아이스와 글레이셜 매스의 정제 처리\", \n    \"displayName_ru\": \"Коэффициент выработки для льда Blue Ice и Glacial Mass\", \n    \"displayName_zh\": \"蓝冰矿和聚合冰体提炼产出\", \n    \"displayNameID\": 312239, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"refiningYieldGalMinIce\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"2448\": {\n    \"attributeID\": 2448, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.5, \n    \"description\": \"\", \n    \"displayName_de\": \"Aufbereitungsertrag für Eis\", \n    \"displayName_en-us\": \"Refining yield for Ice\", \n    \"displayName_es\": \"Rendimiento de refinado para hielo\", \n    \"displayName_fr\": \"Rendement de raffinage pour la glace\", \n    \"displayName_it\": \"Refining yield for Ice\", \n    \"displayName_ja\": \"グレアクラスト、ダークグリッター、ジェリダス、クリスタロスの精錬による収穫物\", \n    \"displayName_ko\": \"아이스의 정제 처리\", \n    \"displayName_ru\": \"Объём переработки льда\", \n    \"displayName_zh\": \"冰矿精炼产出\", \n    \"displayNameID\": 312240, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"refiningYieldIce\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"2449\": {\n    \"attributeID\": 2449, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Explosionsradius-Bonus für Lenkbomben\", \n    \"displayName_en-us\": \"Guided Bomb Explosion Radius Bonus\", \n    \"displayName_es\": \"Bonificación de radio de explosión de bomba guiada\", \n    \"displayName_fr\": \"Bonus au rayon d'explosion de la bombe ciblée\", \n    \"displayName_it\": \"Guided Bomb Explosion Radius Bonus\", \n    \"displayName_ja\": \"誘導爆弾爆発半径ボーナス\", \n    \"displayName_ko\": \"유도폭탄 폭발 반경 보너스\", \n    \"displayName_ru\": \"Влияние на сигнатуру взрыва ракет объёмного взрыва\", \n    \"displayName_zh\": \"制导炸弹爆炸半径加成\", \n    \"displayNameID\": 312282, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"structureRigMissileExplosionRadiusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2450\": {\n    \"attributeID\": 2450, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"When set True, skill can no longer be injected or trained. Characters will be reimbursed with free SP for any obsolete skills in the skill queue upon logon.\", \n    \"displayName_de\": \"Skill ist veraltet\", \n    \"displayName_en-us\": \"Skill is obsolete\", \n    \"displayName_es\": \"Habilidad obsoleta\", \n    \"displayName_fr\": \"La compétence est obsolète.\", \n    \"displayName_it\": \"Skill is obsolete\", \n    \"displayName_ja\": \"スキルがサポートされていません\", \n    \"displayName_ko\": \"구식 스킬\", \n    \"displayName_ru\": \"Навык неактуален\", \n    \"displayName_zh\": \"技能已过时\", \n    \"displayNameID\": 312290, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"isSkillIObsolete\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2451\": {\n    \"attributeID\": 2451, \n    \"categoryID\": 22, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Signature Resolution of Energy Neutralizer\", \n    \"displayName_de\": \"Neutralisierung-Signaturauflösung\", \n    \"displayName_en-us\": \"Neutralization Signature Resolution\", \n    \"displayName_es\": \"Resolución de señal de neutralización\", \n    \"displayName_fr\": \"Résolution de signature de neutralisation\", \n    \"displayName_it\": \"Neutralization Signature Resolution\", \n    \"displayName_ja\": \"無効化シグネチャ解像度\", \n    \"displayName_ko\": \"뉴트럴라이제이션 신호 정밀도\", \n    \"displayName_ru\": \"Размер сигнатуры нейтрализации\", \n    \"displayName_zh\": \"能量中和信号分辨率\", \n    \"displayNameID\": 312359, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1390, \n    \"name\": \"energyNeutralizerSignatureResolution\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2452\": {\n    \"attributeID\": 2452, \n    \"categoryID\": 22, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Falloff Range of Energy Neutralizer\", \n    \"displayName_de\": \"Neutralisierung-Präzisionsabfall\", \n    \"displayName_en-us\": \"Neutralization Falloff Range\", \n    \"displayName_es\": \"Alcance efectivo de neutralización\", \n    \"displayName_fr\": \"Portée de perte de neutralisation\", \n    \"displayName_it\": \"Neutralization Falloff Range\", \n    \"displayName_ja\": \"無効化精度低下範囲\", \n    \"displayName_ko\": \"뉴트럴라이제이션 유효사거리\", \n    \"displayName_ru\": \"Добавочная дальность нейтрализации\", \n    \"displayName_zh\": \"能量中和失准范围\", \n    \"displayNameID\": 312360, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"energyNeutralizerRangeFalloff\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2453\": {\n    \"attributeID\": 2453, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If this ship attribute is NOT 0 then they will be prevented from using their Jump Drive (Capitals, Blackops Battleships)\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"disallowDriveJumping\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"2454\": {\n    \"attributeID\": 2454, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"if this ship attribute is NOT 0 then they will be prevented from cloaking\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"disallowCloaking\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"2455\": {\n    \"attributeID\": 2455, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"cynosuralFieldSpawnRadius\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2456\": {\n    \"attributeID\": 2456, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Schildkapazität\", \n    \"displayName_en-us\": \"Shield Capacity Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad del escudo\", \n    \"displayName_fr\": \"Bonus de capacité du bouclier\", \n    \"displayName_it\": \"Shield Capacity Bonus\", \n    \"displayName_ja\": \"シールド容量ボーナス\", \n    \"displayName_ko\": \"실드량 보너스\", \n    \"displayName_ru\": \"Повышение запаса прочности щитов\", \n    \"displayName_zh\": \"护盾容量加成\", \n    \"displayNameID\": 312549, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1384, \n    \"name\": \"shieldCapacityBonus2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2457\": {\n    \"attributeID\": 2457, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reparaturbonus für Panzerung\", \n    \"displayName_en-us\": \"Armor Repair Bonus\", \n    \"displayName_es\": \"Bonificación de reparación del blindaje\", \n    \"displayName_fr\": \"Bonus de réparation du blindage\", \n    \"displayName_it\": \"Armor Repair Bonus\", \n    \"displayName_ja\": \"アーマーリペアボーナス\", \n    \"displayName_ko\": \"장갑 수리 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность ремонта брони\", \n    \"displayName_zh\": \"装甲维修加成\", \n    \"displayNameID\": 312551, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 80, \n    \"name\": \"armorRepairBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2458\": {\n    \"attributeID\": 2458, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bergbauzyklus-Zeitmodifikator\", \n    \"displayName_en-us\": \"Mining Cycle Time Modifier\", \n    \"displayName_es\": \"Modificador de tiempo de ciclo minero\", \n    \"displayName_fr\": \"Modificateur de temps du cycle d'extraction minière\", \n    \"displayName_it\": \"Mining Cycle Time Modifier\", \n    \"displayName_ja\": \"採掘サイクル時間乗数\", \n    \"displayName_ko\": \"채굴 사이클 시간 보정치\", \n    \"displayName_ru\": \"Влияние на время цикла буровых модулей\", \n    \"displayName_zh\": \"采矿循环周期调节值\", \n    \"displayNameID\": 312574, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"miningDurationRoleBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2459\": {\n    \"attributeID\": 2459, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum amount of skill points that the character can have before the item is unusable\", \n    \"displayName_de\": \"Charakter-Skillpunktlimit\", \n    \"displayName_en-us\": \"Character Skill Point Limit\", \n    \"displayName_es\": \"Límite de puntos de habilidad del personaje\", \n    \"displayName_fr\": \"Limite de points de compétence du personnage\", \n    \"displayName_it\": \"Character Skill Point Limit\", \n    \"displayName_ja\": \"キャラクターのスキルポイント制限\", \n    \"displayName_ko\": \"캐릭터 스킬 포인트 한계\", \n    \"displayName_ru\": \"Предел по запасу СП пилота\", \n    \"displayName_zh\": \"人物角色技能点上限\", \n    \"displayNameID\": 312582, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxCharacterSkillPointLimit\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2460\": {\n    \"attributeID\": 2460, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"third bonus for support cruisers\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"eliteBonusLogistics3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2461\": {\n    \"attributeID\": 2461, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The amount of skill points contained in this item\", \n    \"displayName_de\": \"Skillpunkte\", \n    \"displayName_en-us\": \"Skill Points\", \n    \"displayName_es\": \"Puntos de habilidad\", \n    \"displayName_fr\": \"Points de compétence\", \n    \"displayName_it\": \"Skill Points\", \n    \"displayName_ja\": \"スキルポイント\", \n    \"displayName_ko\": \"스킬 포인트\", \n    \"displayName_ru\": \"Синхропакеты\", \n    \"displayName_zh\": \"技能点\", \n    \"displayNameID\": 312621, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"containedSkillPoints\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2462\": {\n    \"attributeID\": 2462, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusRepairRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2463\": {\n    \"attributeID\": 2463, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装備可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 312626, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipType7\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"2464\": {\n    \"attributeID\": 2464, \n    \"categoryID\": 37, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"Tells if this type (ship) can be affected by the Rorqual Invulnerability Module\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"affectedByIndustrialInvulnModule\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2467\": {\n    \"attributeID\": 2467, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"special corpse hold capacity\", \n    \"displayName_de\": \"Leichenfassungsvermögen\", \n    \"displayName_en-us\": \"Corpse Hold Capacity\", \n    \"displayName_es\": \"Capacidad del depósito de cadáveres\", \n    \"displayName_fr\": \"Capacité de la soute à cadavres\", \n    \"displayName_it\": \"Corpse Hold Capacity\", \n    \"displayName_ja\": \"死体貯蔵庫容量\", \n    \"displayName_ko\": \"사체 저장고 적재량\", \n    \"displayName_ru\": \"Объём отсека для трупов\", \n    \"displayName_zh\": \"尸体舱容量\", \n    \"displayNameID\": 312782, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialCorpseHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Das Gesamtvolumen an Leichen, das im Leichenfrachtraum des Schiffs gelagert werden kann\", \n    \"tooltipDescription_en-us\": \"The total volume of corpses that can be stored in the ship's corpse hold\", \n    \"tooltipDescription_es\": \"El volumen total de cadáveres que pueden almacenarse en el depósito de la nave.\", \n    \"tooltipDescription_fr\": \"Volume total de cadavres pouvant être transportés dans la soute à cadavres du vaisseau.\", \n    \"tooltipDescription_it\": \"The total volume of corpses that can be stored in the ship's corpse hold\", \n    \"tooltipDescription_ja\": \"この艦の死体貯蔵庫に保管できる死体の総量です\", \n    \"tooltipDescription_ko\": \"사체 저장고의 총 적재량입니다.\", \n    \"tooltipDescription_ru\": \"Максимальный объём трупов, допустимый к размещению в бортовом отсеке для трупов\", \n    \"tooltipDescription_zh\": \"舰船的尸体舱所能装载的尸体总体积\", \n    \"tooltipDescriptionID\": 312784, \n    \"tooltipTitleID\": 312783, \n    \"unitID\": 9\n  }, \n  \"2468\": {\n    \"attributeID\": 2468, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareBuff1ID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2469\": {\n    \"attributeID\": 2469, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareBuff1Value\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2470\": {\n    \"attributeID\": 2470, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareBuff2ID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2471\": {\n    \"attributeID\": 2471, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareBuff2Value\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2472\": {\n    \"attributeID\": 2472, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareBuff3ID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2473\": {\n    \"attributeID\": 2473, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareBuff3Value\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2474\": {\n    \"attributeID\": 2474, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusICS3\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2475\": {\n    \"attributeID\": 2475, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusICS4\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2476\": {\n    \"attributeID\": 2476, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314965, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup11\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2477\": {\n    \"attributeID\": 2477, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314966, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup12\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2478\": {\n    \"attributeID\": 2478, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314967, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup13\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2479\": {\n    \"attributeID\": 2479, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314968, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup14\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2480\": {\n    \"attributeID\": 2480, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314969, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup15\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2481\": {\n    \"attributeID\": 2481, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314970, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup16\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2482\": {\n    \"attributeID\": 2482, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314971, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup17\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2483\": {\n    \"attributeID\": 2483, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314972, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup18\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2484\": {\n    \"attributeID\": 2484, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314973, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup19\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2485\": {\n    \"attributeID\": 2485, \n    \"categoryID\": 1, \n    \"dataType\": 12, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314974, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipGroup20\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 115\n  }, \n  \"2486\": {\n    \"attributeID\": 2486, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314975, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipType8\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"2487\": {\n    \"attributeID\": 2487, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314976, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipType9\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"2488\": {\n    \"attributeID\": 2488, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 314977, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipType10\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"2489\": {\n    \"attributeID\": 2489, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMiningAmount\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"2490\": {\n    \"attributeID\": 2490, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMiningDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2491\": {\n    \"attributeID\": 2491, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorRemoteArmorRepairDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2492\": {\n    \"attributeID\": 2492, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorRemoteArmorRepairRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2493\": {\n    \"attributeID\": 2493, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorRemoteArmorRepairFalloff\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2494\": {\n    \"attributeID\": 2494, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorRemoteArmorRepairDischarge\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2495\": {\n    \"attributeID\": 2495, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorRemoteShieldBoostDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2496\": {\n    \"attributeID\": 2496, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorRemoteShieldBoostRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2497\": {\n    \"attributeID\": 2497, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorRemoteShieldBoostFalloff\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2498\": {\n    \"attributeID\": 2498, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorRemoteShieldBoostDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2499\": {\n    \"attributeID\": 2499, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorWebifierDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2500\": {\n    \"attributeID\": 2500, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorWebifierRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2501\": {\n    \"attributeID\": 2501, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorWebifierFalloff\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2502\": {\n    \"attributeID\": 2502, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorWebifierDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2503\": {\n    \"attributeID\": 2503, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorWarpDisruptDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2504\": {\n    \"attributeID\": 2504, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorWarpDisruptRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2505\": {\n    \"attributeID\": 2505, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorWarpDisruptDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2506\": {\n    \"attributeID\": 2506, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorWarpScrambleDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2507\": {\n    \"attributeID\": 2507, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorWarpScrambleRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2508\": {\n    \"attributeID\": 2508, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorWarpScrambleDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2509\": {\n    \"attributeID\": 2509, \n    \"categoryID\": 42, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorWarpScrambleStrength\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2510\": {\n    \"attributeID\": 2510, \n    \"categoryID\": 42, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorWarpDisruptStrength\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2511\": {\n    \"attributeID\": 2511, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcGuidanceDisruptorDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2512\": {\n    \"attributeID\": 2512, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcGuidanceDisruptorRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2513\": {\n    \"attributeID\": 2513, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcGuidanceDisruptorFalloff\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2514\": {\n    \"attributeID\": 2514, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcGuidanceDisruptorDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2515\": {\n    \"attributeID\": 2515, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcTrackingDisruptorDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2516\": {\n    \"attributeID\": 2516, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcTrackingDisruptorRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2517\": {\n    \"attributeID\": 2517, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcTrackingDisruptorFalloff\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2518\": {\n    \"attributeID\": 2518, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcTrackingDisruptorDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2519\": {\n    \"attributeID\": 2519, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorEnergyNeutralizerDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2520\": {\n    \"attributeID\": 2520, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorEnergyNeutralizerRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2521\": {\n    \"attributeID\": 2521, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorEnergyNeutralizerFalloff\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2522\": {\n    \"attributeID\": 2522, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorEnergyNeutralizerDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2523\": {\n    \"attributeID\": 2523, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorTargetPainterDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2524\": {\n    \"attributeID\": 2524, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorTargetPainterRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2525\": {\n    \"attributeID\": 2525, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorTargetPainterFalloff\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2526\": {\n    \"attributeID\": 2526, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorTargetPainterDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2527\": {\n    \"attributeID\": 2527, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorSensorDampenerDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2528\": {\n    \"attributeID\": 2528, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorSensorDampenerRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2529\": {\n    \"attributeID\": 2529, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorSensorDampenerFalloff\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2530\": {\n    \"attributeID\": 2530, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorSensorDampenerDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2531\": {\n    \"attributeID\": 2531, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorECMDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2532\": {\n    \"attributeID\": 2532, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorECMRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2533\": {\n    \"attributeID\": 2533, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorECMFalloff\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2534\": {\n    \"attributeID\": 2534, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorECMDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2535\": {\n    \"attributeID\": 2535, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Applied modifier duration\", \n    \"displayName_de\": \"Modifikatordauer\", \n    \"displayName_en-us\": \"Modifier duration\", \n    \"displayName_es\": \"Duración del modificador\", \n    \"displayName_fr\": \"Modificateur de durée\", \n    \"displayName_it\": \"Modifier duration\", \n    \"displayName_ja\": \"乗数持続時間\", \n    \"displayName_ko\": \"효과 지속시간\", \n    \"displayName_ru\": \"Длительность модификатора\", \n    \"displayName_zh\": \"系数持续时间\", \n    \"displayNameID\": 315396, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"buffDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2536\": {\n    \"attributeID\": 2536, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareBuff4ID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2537\": {\n    \"attributeID\": 2537, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareBuff4Value\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2538\": {\n    \"attributeID\": 2538, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nShip Modules, Ship Rigs, Personal Deployables, Implants, Cargo Containers\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeEquipmentManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2539\": {\n    \"attributeID\": 2539, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nShip Modules, Ship Rigs, Personal Deployables, Implants, Cargo Containers\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeEquipmentManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2540\": {\n    \"attributeID\": 2540, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nAmmunition, Charges, Scripts\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAmmoManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2541\": {\n    \"attributeID\": 2541, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nAmmunition, Charges, Scripts\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAmmoManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2542\": {\n    \"attributeID\": 2542, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following: Drones, Fighters\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeDroneManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2543\": {\n    \"attributeID\": 2543, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nDrones, Fighters\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeDroneManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2544\": {\n    \"attributeID\": 2544, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nT1 Frigates, T1 Destroyers, Shuttles\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeBasSmallShipManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2545\": {\n    \"attributeID\": 2545, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nT1 Frigates, T1 Destroyers, Shuttles\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeBasSmallShipManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2546\": {\n    \"attributeID\": 2546, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nT1 Cruisers, T1 Battlecruisers, Industrial Ships,    Mining Barges\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeBasMediumShipManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2547\": {\n    \"attributeID\": 2547, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nT1 Cruisers, T1 Battlecruisers, Industrial Ships,    Mining Barges\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeBasMediumShipManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2548\": {\n    \"attributeID\": 2548, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nT1 Battleships, T1 Freighters,                                     Industrial Command Ships\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeBasLargeShipManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2549\": {\n    \"attributeID\": 2549, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nT1 Battleships, T1 Freighters,                                     Industrial Command Ships\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeBasLargeShipManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2550\": {\n    \"attributeID\": 2550, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nT2 Frigates, T2 Destroyers, T3 Destroyers\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAdvSmallShipManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2551\": {\n    \"attributeID\": 2551, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nT2 Frigates, T2 Destroyers, T3 Destroyers\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAdvSmallShipManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2552\": {\n    \"attributeID\": 2552, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nT2 Cruisers, T2 Battlecruisers, T2 Haulers, Exhumers, T3 Cruisers,T3 Subsystems\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAdvMediumShipManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2553\": {\n    \"attributeID\": 2553, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nT2 Cruisers, T2 Battlecruisers, T2 Haulers, Exhumers, T3 Cruisers,T3 Subsystems\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAdvMediumShipManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2555\": {\n    \"attributeID\": 2555, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nT2 Battleships, Jump Freighters\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAdvLargeShipManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2556\": {\n    \"attributeID\": 2556, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nT2 Battleships, Jump Freighters\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAdvLargeShipManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2557\": {\n    \"attributeID\": 2557, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nT2 Components, Tools, Data Interfaces, T3 Components\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAdvCompManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2558\": {\n    \"attributeID\": 2558, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nT2 Components, Tools, Data Interfaces, T3 Components\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAdvCompManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2559\": {\n    \"attributeID\": 2559, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nCapital Construction Components\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeBasCapCompManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2560\": {\n    \"attributeID\": 2560, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nCapital Construction Components\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeBasCapCompManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2561\": {\n    \"attributeID\": 2561, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nStructure Components, Structure Modules,          Upwell Structures, Starbase Structures, Fuel Blocks\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeStructureManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2562\": {\n    \"attributeID\": 2562, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nStructure Components, Structure Modules,          Upwell Structures, Starbase Structures, Fuel Blocks\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeStructureManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2563\": {\n    \"attributeID\": 2563, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease cost requirement for manufacturing the following:\\r\\nInvention\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeInventionCostMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2564\": {\n    \"attributeID\": 2564, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nInvention\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeInventionTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2565\": {\n    \"attributeID\": 2565, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease cost requirement for manufacturing the following:\\r\\nMaterial Efficiency Blueprint Research\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeMEResearchCostMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2566\": {\n    \"attributeID\": 2566, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nMaterial Efficiency Blueprint Research\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeMEResearchTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2567\": {\n    \"attributeID\": 2567, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease cost requirement for manufacturing the following:\\r\\nTime Efficiency Blueprint Research\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeTEResearchCostMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2568\": {\n    \"attributeID\": 2568, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nTime Efficiency Blueprint Research\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeTEResearchTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2569\": {\n    \"attributeID\": 2569, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease cost requirement for manufacturing the following:\\r\\nBlueprint Copying\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeBPCopyCostMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2570\": {\n    \"attributeID\": 2570, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nBlueprint Copying\\r\\n\\r\\n\\r\\n\\r\\n\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeBPCopyTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2571\": {\n    \"attributeID\": 2571, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Stärkebonus auf Kommandostrahlen\", \n    \"displayName_en-us\": \"Command Burst Strength Bonus\", \n    \"displayName_es\": \"Bonificación de potencia de estallido de mando\", \n    \"displayName_fr\": \"Bonus à la puissance des salves de commandement\", \n    \"displayName_it\": \"Command Burst Strength Bonus\", \n    \"displayName_ja\": \"コマンドバーストの強度ボーナス\", \n    \"displayName_ko\": \"커맨드 버스트 강도 보너스\", \n    \"displayName_ru\": \"Влияние на мощность импульсных оптимизаторов\", \n    \"displayName_zh\": \"指挥脉冲波强度加成\", \n    \"displayNameID\": 315417, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"commandBurstStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2572\": {\n    \"attributeID\": 2572, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Stärkebonus auf Kommandostrahlen\", \n    \"displayName_en-us\": \"Command Burst Strength Bonus\", \n    \"displayName_es\": \"Bonificación de potencia de estallido de mando\", \n    \"displayName_fr\": \"Bonus à la puissance des salves de commandement\", \n    \"displayName_it\": \"Command Burst Strength Bonus\", \n    \"displayName_ja\": \"コマンドバーストの強度ボーナス\", \n    \"displayName_ko\": \"커맨드 버스트 강도 보너스\", \n    \"displayName_ru\": \"Влияние на мощность импульсных оптимизаторов\", \n    \"displayName_zh\": \"指挥脉冲波强度加成\", \n    \"displayNameID\": 315419, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"commandStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2573\": {\n    \"attributeID\": 2573, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Nachladegeschwindigkeit\", \n    \"displayName_en-us\": \"Reload Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de recarga\", \n    \"displayName_fr\": \"Bonus à la vitesse de recharge\", \n    \"displayName_it\": \"Reload Speed Bonus\", \n    \"displayName_ja\": \"リロード速度ボーナス\", \n    \"displayName_ko\": \"재장전 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость перезарядки\", \n    \"displayName_zh\": \"装填速度加成\", \n    \"displayNameID\": 315420, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"reloadTimeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2574\": {\n    \"attributeID\": 2574, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die effektive Reichweite von Kommandostrahlen\", \n    \"displayName_en-us\": \"Command Burst Effect Range Bonus\", \n    \"displayName_es\": \"Bonif. de alcance de efecto del estallido de mando\", \n    \"displayName_fr\": \"Bonus à la portée des effets des salves de commandement\", \n    \"displayName_it\": \"Command Burst Effect Range Bonus\", \n    \"displayName_ja\": \"コマンドバーストの効果範囲ボーナス\", \n    \"displayName_ko\": \"커맨드 버스트 사거리 보너스\", \n    \"displayName_ru\": \"Влияние на радиус действия импульсных оптимизаторов\", \n    \"displayName_zh\": \"指挥脉冲波效果范围加成\", \n    \"displayNameID\": 315421, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusCommandBurstAoERange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2575\": {\n    \"attributeID\": 2575, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nCapital Ships\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeCapShipManufactureMaterialMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2576\": {\n    \"attributeID\": 2576, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nCapital Ships\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeCapShipManufactureTimeMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2577\": {\n    \"attributeID\": 2577, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusICS5\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2578\": {\n    \"attributeID\": 2578, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusDroneMiningYield\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2579\": {\n    \"attributeID\": 2579, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusDroneIceHarvestingSpeed\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2580\": {\n    \"attributeID\": 2580, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialBonusDroneDamage\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2581\": {\n    \"attributeID\": 2581, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 2.0, \n    \"description\": \"Determines the maximum security class that a module can be onlined within. Used for structure modules.\\r\\n\\r\\n0=Nullsec\\r\\n1=Lowsec\\r\\n2=Highsec\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"onlineMaxSecurityClass\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2582\": {\n    \"attributeID\": 2582, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusORECapital5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2583\": {\n    \"attributeID\": 2583, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Schaden und HP von Drohnen\", \n    \"displayName_en-us\": \"Drone Damage and Hitpoints Bonus\", \n    \"displayName_es\": \"Bonificación de daño y puntos de vida de drones\", \n    \"displayName_fr\": \"Bonus aux dégâts et aux points de vie des drones\", \n    \"displayName_it\": \"Drone Damage and Hitpoints Bonus\", \n    \"displayName_ja\": \"ドローンのダメージおよびHPボーナス\", \n    \"displayName_ko\": \"드론 피해와 내구도 보너스\", \n    \"displayName_ru\": \"Влияние на прочность и урон дронов\", \n    \"displayName_zh\": \"无人机伤害和HP加成\", \n    \"displayNameID\": 315447, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCoreBonusDroneDamageHP\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2584\": {\n    \"attributeID\": 2584, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf maximale Geschwindigkeit von Drohnen\", \n    \"displayName_en-us\": \"Drone Maximum Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máx. de drones\", \n    \"displayName_fr\": \"Bonus à la vitesse maximale des drones\", \n    \"displayName_it\": \"Drone Maximum Velocity Bonus\", \n    \"displayName_ja\": \"ドローンの最高速度ボーナス\", \n    \"displayName_ko\": \"드론 최대 속도 보너스\", \n    \"displayName_ru\": \"Влияние на повышение скорости дронов\", \n    \"displayName_zh\": \"无人机最大速度加成\", \n    \"displayNameID\": 315448, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCoreBonusDroneVelocity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2585\": {\n    \"attributeID\": 2585, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf den Erzertrag von Drohnen\", \n    \"displayName_en-us\": \"Drone Ore Mining Yield Bonus\", \n    \"displayName_es\": \"Bonificación de extracción de menas de drones\", \n    \"displayName_fr\": \"Bonus au rendement minier des drones d'extraction\", \n    \"displayName_it\": \"Drone Ore Mining Yield Bonus\", \n    \"displayName_ja\": \"ドローンの鉱石採掘量ボーナス\", \n    \"displayName_ko\": \"드론 광물 채굴 생산량 보너스\", \n    \"displayName_ru\": \"Влияние на добычу дронами\", \n    \"displayName_zh\": \"无人机矿石开采量加成\", \n    \"displayNameID\": 315449, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCoreBonusDroneMining\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2586\": {\n    \"attributeID\": 2586, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Eisschürfgeschwindigkeit von Drohnen\", \n    \"displayName_en-us\": \"Drone Ice Harvesting Speed Bonus\", \n    \"displayName_es\": \"Bonif. de velocidad de recolección de hielo de dron\", \n    \"displayName_fr\": \"Bonus à la vitesse de collecte de glace des drones\", \n    \"displayName_it\": \"Drone Ice Harvesting Speed Bonus\", \n    \"displayName_ja\": \"ドローンのアイス採掘速度ボーナス\", \n    \"displayName_ko\": \"드론 아이스 채굴 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость добычи льда дронами\", \n    \"displayName_zh\": \"无人机冰矿开采速度加成\", \n    \"displayNameID\": 315450, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCoreBonusDroneIceHarvesting\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2587\": {\n    \"attributeID\": 2587, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Stärkebonus auf Bergbauvorarbeiterstrahlen\", \n    \"displayName_en-us\": \"Mining Foreman Burst Strength Bonus\", \n    \"displayName_es\": \"Bonificación de fuerza de estallido de capataz minero\", \n    \"displayName_fr\": \"Bonus à la puissance des salves de contremaîtrise minière\", \n    \"displayName_it\": \"Mining Foreman Burst Strength Bonus\", \n    \"displayName_ja\": \"採掘支援バーストの強度ボーナス\", \n    \"displayName_ko\": \"채광 버스트 강도 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность импульсных оптимизаторов добычи\", \n    \"displayName_zh\": \"开采先锋脉冲波强度加成\", \n    \"displayNameID\": 315451, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCoreBonusMiningBurstStrength\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2588\": {\n    \"attributeID\": 2588, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Reichweite von Kommando- und Bergbauvorarbeiterstrahlen\", \n    \"displayName_en-us\": \"Command and Mining Foreman Burst Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance del estallido de mando y de capataz minero\", \n    \"displayName_fr\": \"Bonus à la portée des salves de contremaîtrise minière et des salves de commandement\", \n    \"displayName_it\": \"Command and Mining Foreman Burst Range Bonus\", \n    \"displayName_ja\": \"指揮および採掘支援バーストの範囲ボーナス\", \n    \"displayName_ko\": \"지휘 및 채광 버스트 사거리 보너스\", \n    \"displayName_ru\": \"Влияние на радиус действия импульсных оптимизаторов (боевых и добывающих)\", \n    \"displayName_zh\": \"指挥和开采先锋脉冲波范围加成\", \n    \"displayNameID\": 315452, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCoreBonusCommandBurstRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2589\": {\n    \"attributeID\": 2589, \n    \"categoryID\": 29, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeDamageBonusPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2590\": {\n    \"attributeID\": 2590, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeEwarResistancePostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2591\": {\n    \"attributeID\": 2591, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Bonus that affects all ships being produced - for XL eng rigs\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAllShipsManufactureTimeMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2592\": {\n    \"attributeID\": 2592, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"bonus that affects material of all ships being manufactured, for XL rigs\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAllShipsManufactureMaterialMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2593\": {\n    \"attributeID\": 2593, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Bonus on Time decrease for engineering rigs\", \n    \"displayName_de\": \"Zeitreduktionsbonus\", \n    \"displayName_en-us\": \"Time Reduction Bonus\", \n    \"displayName_es\": \"Bonificación de reducción de tiempo\", \n    \"displayName_fr\": \"Bonus de réduction de temps\", \n    \"displayName_it\": \"Time Reduction Bonus\", \n    \"displayName_ja\": \"時間削減ボーナス\", \n    \"displayName_ko\": \"시간 감소 보너스\", \n    \"displayName_ru\": \"Влияние на снижение затрат времени\", \n    \"displayName_zh\": \"时间削减加成\", \n    \"displayNameID\": 315521, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"attributeEngRigTimeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2594\": {\n    \"attributeID\": 2594, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus on Material decrease for engineering rigs\", \n    \"displayName_de\": \"Materialreduktionsbonus\", \n    \"displayName_en-us\": \"Material Reduction Bonus\", \n    \"displayName_es\": \"Bonificación de reducción de materiales\", \n    \"displayName_fr\": \"Bonus de réduction de matériel\", \n    \"displayName_it\": \"Material Reduction Bonus\", \n    \"displayName_ja\": \"材料削減ボーナス\", \n    \"displayName_ko\": \"재료 감소 보너스\", \n    \"displayName_ru\": \"Влияние на снижение расхода материалов\", \n    \"displayName_zh\": \"材料削减加成\", \n    \"displayNameID\": 315520, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"attributeEngRigMatBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2595\": {\n    \"attributeID\": 2595, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Bonus on Cost decrease for engineering rigs\", \n    \"displayName_de\": \"Kostenreduktionsbonus\", \n    \"displayName_en-us\": \"Cost Reduction Bonus\", \n    \"displayName_es\": \"Bonificación de reducción del coste\", \n    \"displayName_fr\": \"Bonus de réduction de coût\", \n    \"displayName_it\": \"Cost Reduction Bonus\", \n    \"displayName_ja\": \"コスト削減ボーナス\", \n    \"displayName_ko\": \"비용 감소 보너스\", \n    \"displayName_ru\": \"Влияние на снижение стоимости\", \n    \"displayName_zh\": \"成本削减加成\", \n    \"displayNameID\": 315519, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"attributeEngRigCostBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2596\": {\n    \"attributeID\": 2596, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareBuff1Multiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2597\": {\n    \"attributeID\": 2597, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareBuff2Multiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2598\": {\n    \"attributeID\": 2598, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareBuff3Multiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2599\": {\n    \"attributeID\": 2599, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warfareBuff4Multiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2600\": {\n    \"attributeID\": 2600, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Material bonus for Engineering Complexes Structures\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"strEngMatBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2601\": {\n    \"attributeID\": 2601, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Cost bonus for Engineering Complexes Structures\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"strEngCostBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2602\": {\n    \"attributeID\": 2602, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Time bonus for Engineering Complexes Structures\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"strEngTimeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2603\": {\n    \"attributeID\": 2603, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximaler Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Maximum Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máxima\", \n    \"displayName_fr\": \"Bonus de vitesse maximale\", \n    \"displayName_it\": \"Maximum Velocity Bonus\", \n    \"displayName_ja\": \"最高速度ボーナス\", \n    \"displayName_ko\": \"최대 속도 보너스\", \n    \"displayName_ru\": \"Влияние на максимальную скорость\", \n    \"displayName_zh\": \"最大速度加成\", \n    \"displayNameID\": 315527, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"maxVelocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2604\": {\n    \"attributeID\": 2604, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Reichweite von Capital-Schildfernboostern\", \n    \"displayName_en-us\": \"Capital Remote Shield Booster Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance del potenciador de escudo remoto capital\", \n    \"displayName_fr\": \"Bonus à la portée du booster de bouclier à distance capital I\", \n    \"displayName_it\": \"Capital Remote Shield Booster Range Bonus\", \n    \"displayName_ja\": \"キャピタルリモートシールドブースターの範囲ボーナス\", \n    \"displayName_ko\": \"캐피탈 원격 실드 부스터 사거리 보너스\", \n    \"displayName_ru\": \"Влияние на дальность действия сверхбольших дистанционных систем накачки щита\", \n    \"displayName_zh\": \"旗舰级远程护盾回充增量器距离加成\", \n    \"displayNameID\": 315528, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"industrialCoreRemoteLogisticsRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2605\": {\n    \"attributeID\": 2605, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Dauer und den Energiespeicherverbrauch von Capital-Schildfernboostern\", \n    \"displayName_en-us\": \"Capital Remote Shield Booster Duration and Capacitor Use Bonus\", \n    \"displayName_es\": \"Bonificación de duración del potenciador de escudo remoto capital y uso del condensador\", \n    \"displayName_fr\": \"Bonus à la durée du booster de bouclier à distance et à l'économie de capaciteur\", \n    \"displayName_it\": \"Capital Remote Shield Booster Duration and Capacitor Use Bonus\", \n    \"displayName_ja\": \"キャピタルリモートシールドブースターの持続時間とキャパシタ消費量ボーナス\", \n    \"displayName_ko\": \"캐피탈 원격 실드 부스터 지속시간 및 캐패시터 보너스\", \n    \"displayName_ru\": \"Влияние на цикл и потребление энергии сверхбольшими дистанционными системами накачки щита\", \n    \"displayName_zh\": \"旗舰级远程护盾回充增量器持续时间和电容消耗加成\", \n    \"displayNameID\": 315529, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"industrialCoreRemoteLogisticsDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2606\": {\n    \"attributeID\": 2606, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Dauer von Schildboostern\", \n    \"displayName_en-us\": \"Shield Booster Duration Bonus\", \n    \"displayName_es\": \"Bonificación de duración del potenciador de escudo\", \n    \"displayName_fr\": \"Bonus à la durée de booster de bouclier\", \n    \"displayName_it\": \"Shield Booster Duration Bonus\", \n    \"displayName_ja\": \"シールドブースターの持続時間ボーナス\", \n    \"displayName_ko\": \"실드 부스터 지속시간 보너스\", \n    \"displayName_ru\": \"Влияние на время цикла накачки щита\", \n    \"displayName_zh\": \"护盾回充增量器持续时间加成\", \n    \"displayNameID\": 315530, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 0, \n    \"name\": \"industrialCoreLocalLogisticsDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2607\": {\n    \"attributeID\": 2607, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Leistung von Schildboostern\", \n    \"displayName_en-us\": \"Shield Booster Amount Bonus\", \n    \"displayName_es\": \"Bonificación de cantidad de potenciadores de escudo\", \n    \"displayName_fr\": \"Bonus à la quantité de booster de bouclier\", \n    \"displayName_it\": \"Shield Booster Amount Bonus\", \n    \"displayName_ja\": \"シールドブースターの容量ボーナス\", \n    \"displayName_ko\": \"실드 부스터 총 보너스\", \n    \"displayName_ru\": \"Влияние на время цикла накачки щита\", \n    \"displayName_zh\": \"护盾回充增量器回充量加成\", \n    \"displayNameID\": 315531, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"industrialCoreLocalLogisticsAmountBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2608\": {\n    \"attributeID\": 2608, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Minimale Geschwindigkeitsbegrenzung\", \n    \"displayName_en-us\": \"Minimum Velocity Limitation\", \n    \"displayName_es\": \"Limitación de velocidad mínima\", \n    \"displayName_fr\": \"Limitation de vitesse minimale\", \n    \"displayName_it\": \"Minimum Velocity Limitation\", \n    \"displayName_ja\": \"最低速度制限\", \n    \"displayName_ko\": \"최소 속도 제한\", \n    \"displayName_ru\": \"Ограничение по минимальной скорости\", \n    \"displayName_zh\": \"最小速度限制\", \n    \"displayNameID\": 315546, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"minVelocityActivationLimit\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 10\n  }, \n  \"2609\": {\n    \"attributeID\": 2609, \n    \"categoryID\": 39, \n    \"dataType\": 10, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"doomsdayEnergyNeutResistanceID\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 119\n  }, \n  \"2610\": {\n    \"attributeID\": 2610, \n    \"categoryID\": 7, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"Pilot's Crimewatch sec status. Copied from character stats when boarding a ship.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"pilotSecurityStatus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2612\": {\n    \"attributeID\": 2612, \n    \"categoryID\": 12, \n    \"dataType\": 5, \n    \"defaultValue\": 1.2999999523162842, \n    \"description\": \"Tanking modifier applied to fighters if their owner is tanking. 1.0 is no modifier\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AI_TankingModifierFighter\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2613\": {\n    \"attributeID\": 2613, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"chargeRateMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2614\": {\n    \"attributeID\": 2614, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMicroWarpDriveDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2615\": {\n    \"attributeID\": 2615, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMicroWarpDriveDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2616\": {\n    \"attributeID\": 2616, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMicroWarpDriveMassAddition\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 2\n  }, \n  \"2617\": {\n    \"attributeID\": 2617, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMicroWarpDriveSignatureRadiusBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2618\": {\n    \"attributeID\": 2618, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMicroWarpDriveSpeedFactor\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 124\n  }, \n  \"2619\": {\n    \"attributeID\": 2619, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMicroWarpDriveSpeedBoostFactor\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 125\n  }, \n  \"2620\": {\n    \"attributeID\": 2620, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"concordRoleBonusSecGain\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2621\": {\n    \"attributeID\": 2621, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"maxAttributeID\": 2623, \n    \"name\": \"inverseCappedSecStatus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2622\": {\n    \"attributeID\": 2622, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"maxAttributeID\": 2624, \n    \"name\": \"concordTankBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2623\": {\n    \"attributeID\": 2623, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"constantZero\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2624\": {\n    \"attributeID\": 2624, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 50.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"constantFifty\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2627\": {\n    \"attributeID\": 2627, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusBlackOps3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2628\": {\n    \"attributeID\": 2628, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusBlackOps4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2629\": {\n    \"attributeID\": 2629, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorEnergyNosferatuDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2630\": {\n    \"attributeID\": 2630, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorEnergyNosferatuDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2631\": {\n    \"attributeID\": 2631, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorEnergyNosferatuFalloff\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2632\": {\n    \"attributeID\": 2632, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorEnergyNosferatuRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2633\": {\n    \"attributeID\": 2633, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorArmorRepairerDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2634\": {\n    \"attributeID\": 2634, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorArmorRepairerDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2635\": {\n    \"attributeID\": 2635, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorArmorRepairerAmount\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2636\": {\n    \"attributeID\": 2636, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2637\": {\n    \"attributeID\": 2637, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2638\": {\n    \"attributeID\": 2638, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeRemoteRepairImpedanceModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2639\": {\n    \"attributeID\": 2639, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeRemoteAssistanceImpedanceModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2640\": {\n    \"attributeID\": 2640, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeSensorDampenerResistanceModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2641\": {\n    \"attributeID\": 2641, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeWeaponDisruptionResistanceModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2642\": {\n    \"attributeID\": 2642, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeECMResistanceModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2643\": {\n    \"attributeID\": 2643, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeMaxVelocityModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2644\": {\n    \"attributeID\": 2644, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeWarpScrambleStatusModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2645\": {\n    \"attributeID\": 2645, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeDisallowTetheringModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2646\": {\n    \"attributeID\": 2646, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeMassModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2647\": {\n    \"attributeID\": 2647, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeLocalLogisticsAmountModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2648\": {\n    \"attributeID\": 2648, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeLocalLogisticsDurationModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2649\": {\n    \"attributeID\": 2649, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeTurretDamageModifier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2653\": {\n    \"attributeID\": 2653, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Thukker-Materialreduktionsbonus für verbesserte Capital-Komponenten\", \n    \"displayName_en-us\": \"Thukker Enhanced Capital Component Material Reduction Bonus\", \n    \"displayName_es\": \"Bonificación de reducción de materiales de componentes capitales thukkers mejorados\", \n    \"displayName_fr\": \"Bonus augmenté de productivité matérielle pour la construction de composants capitaux thukker\", \n    \"displayName_it\": \"Thukker Enhanced Capital Component Material Reduction Bonus\", \n    \"displayName_ja\": \"サッカー強化キャピタル部品資源削減ボーナス\", \n    \"displayName_ko\": \"터커 강화 캐피탈 부품 재료 감소 보너스\", \n    \"displayName_ru\": \"«Таккерское» влияние на снижение расхода материалов при производстве компонентов КБТ\", \n    \"displayName_zh\": \"图克尔加强型旗舰组件材料减耗加成\", \n    \"displayNameID\": 315673, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"attributeThukkerEngRigMatBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2654\": {\n    \"attributeID\": 2654, \n    \"categoryID\": 31, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of Turrets to fit for entity type ships\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"gfxTurretCount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2655\": {\n    \"attributeID\": 2655, \n    \"categoryID\": 31, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Type ID of the launcher for entity type ships\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"gfxLauncherID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2656\": {\n    \"attributeID\": 2656, \n    \"categoryID\": 31, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of Launchers to fit for entity type ships\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"gfxLauncherCount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2657\": {\n    \"attributeID\": 2657, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"special booster hold capacity\", \n    \"displayName_de\": \"Boosterkapazität\", \n    \"displayName_en-us\": \"Booster Hold Capacity\", \n    \"displayName_es\": \"Capacidad de bodega de potenciadores\", \n    \"displayName_fr\": \"Capacité de la soute à boosters\", \n    \"displayName_it\": \"Booster Hold Capacity\", \n    \"displayName_ja\": \"ブースターホールド容量\", \n    \"displayName_ko\": \"부스터 저장고 적재량\", \n    \"displayName_ru\": \"Вместимость отсека для боевых стимуляторов\", \n    \"displayName_zh\": \"增效剂舱容量\", \n    \"displayNameID\": 315714, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialBoosterHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Das Gesamtvolumen an Pharmazeutika, das im Boosterfrachtraum des Schiffs gelagert werden kann\", \n    \"tooltipDescription_en-us\": \"The total volume of pharmaceuticals that can be stored in the ship's booster hold\", \n    \"tooltipDescription_es\": \"El volumen total de fármacos que pueden almacenarse en la bodega de potenciadores de la nave.\", \n    \"tooltipDescription_fr\": \"Volume total de drogues pharmaceutiques pouvant être transportées dans la soute à boosters du vaisseau.\", \n    \"tooltipDescription_it\": \"The total volume of pharmaceuticals that can be stored in the ship's booster hold\", \n    \"tooltipDescription_ja\": \"艦船のブースターホールドに積載できる医薬品の総量\", \n    \"tooltipDescription_ko\": \"부스터 창고의 총 적재량입니다.\", \n    \"tooltipDescription_ru\": \"Максимальный объём биоактивных веществ, допустимый к размещению в бортовом отсеке для боевых стимуляторов\", \n    \"tooltipDescription_zh\": \"舰船的增效剂舱所能装载的药物总体积\", \n    \"tooltipDescriptionID\": 315716, \n    \"tooltipTitleID\": 315715, \n    \"unitID\": 9\n  }, \n  \"2658\": {\n    \"attributeID\": 2658, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease material requirement for manufacturing the following:\\r\\nT2 Capital Construction Components\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAdvCapCompManufactureMaterialMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2659\": {\n    \"attributeID\": 2659, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decrease time requirement for manufacturing the following:\\r\\nT2 Capital Construction Components\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"attributeAdvCapCompManufactureTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2660\": {\n    \"attributeID\": 2660, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Skill attribute that reduces time for reactions\\r\\n jobs\", \n    \"displayName_de\": \"Reaktionszeitbonus\", \n    \"displayName_en-us\": \"Reaction Time Bonus\", \n    \"displayName_es\": \"Bonificación de tiempo de reacción\", \n    \"displayName_fr\": \"Bonus de temps de réaction\", \n    \"displayName_it\": \"Reaction Time Bonus\", \n    \"displayName_ja\": \"反応速度ボーナス\", \n    \"displayName_ko\": \"반응로 작업 시간 보너스\", \n    \"displayName_ru\": \"Влияние на время реакции\", \n    \"displayName_zh\": \"反应时间加成\", \n    \"displayNameID\": 315743, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"reactionTimeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2661\": {\n    \"attributeID\": 2661, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase number of available/simultaneous reaction slots\", \n    \"displayName_de\": \"Reaktionsslotbonus\", \n    \"displayName_en-us\": \"Reaction Slot Bonus\", \n    \"displayName_es\": \"Bonificación de ranura de reacción\", \n    \"displayName_fr\": \"Bonus de créneau de réaction\", \n    \"displayName_it\": \"Reaction Slot Bonus\", \n    \"displayName_ja\": \"反応スロットボーナス\", \n    \"displayName_ko\": \"반응로 작업 슬롯 보너스\", \n    \"displayName_ru\": \"Влияние на разъёмы реакции\", \n    \"displayName_zh\": \"反应槽位加成\", \n    \"displayNameID\": 315744, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"reactionSlotBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"2662\": {\n    \"attributeID\": 2662, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Scales the time for reaction\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"reactionTimeMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2664\": {\n    \"attributeID\": 2664, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Maximum amount of Reactions slots that can be used at a time\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"reactionSlotLimit\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2665\": {\n    \"attributeID\": 2665, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Ausrüstungsreduktion für Nosferatu und Neutralizer\", \n    \"displayName_en-us\": \"Nosferatu and Neutralizer fitting reduction\", \n    \"displayName_es\": \"Reducción de equipamiento de nosferatu y neutralizador\", \n    \"displayName_fr\": \"Réduction d'équipement Nosferatu et Neutraliseur\", \n    \"displayName_it\": \"Nosferatu and Neutralizer fitting reduction\", \n    \"displayName_ja\": \"ノスフェラトゥとニュートラライザーの装備要件軽減\", \n    \"displayName_ko\": \"노스페라투와 뉴트럴라이저 피팅 감소\", \n    \"displayName_ru\": \"Сокращение потребности устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда в мощностях при монтаже\", \n    \"displayName_zh\": \"掠能器和能量中和器装配需求降低\", \n    \"displayNameID\": 315745, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"subsystemEnergyNeutFittingReduction\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2666\": {\n    \"attributeID\": 2666, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Ausrüstungsreduktion für mittleren Hybridwaffenturm\", \n    \"displayName_en-us\": \"Medium Hybrid Turret fitting reduction\", \n    \"displayName_es\": \"Reducción de equipamiento de torreta híbrida mediana\", \n    \"displayName_fr\": \"Réduction d'équipement de tourelle hybride intermédiaire\", \n    \"displayName_it\": \"Medium Hybrid Turret fitting reduction\", \n    \"displayName_ja\": \"中型ハイブリッドタレットの装備要件軽減\", \n    \"displayName_ko\": \"중형 하이브리드 터렛 피팅 감소\", \n    \"displayName_ru\": \"Сокращение потребности средних гибридных орудий в мощностях при монтаже\", \n    \"displayName_zh\": \"中型混合炮台装配需求降低\", \n    \"displayNameID\": 315746, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"subsystemMHTFittingReduction\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2667\": {\n    \"attributeID\": 2667, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Ausrüstungsreduktion für mittleren Projektilwaffenturm\", \n    \"displayName_en-us\": \"Medium Projectile Turret fitting reduction\", \n    \"displayName_es\": \"Reducción de equipamiento de torreta de proyectiles mediana\", \n    \"displayName_fr\": \"Réduction d'équipement de tourelle à projectiles intermédiaire\", \n    \"displayName_it\": \"Medium Projectile Turret fitting reduction\", \n    \"displayName_ja\": \"中型プロジェクタイルタレットの装備要件軽減\", \n    \"displayName_ko\": \"중형 발사체 터렛 피팅 감소\", \n    \"displayName_ru\": \"Сокращение потребности средних баллистических орудий в мощностях при монтаже\", \n    \"displayName_zh\": \"中型射弹炮台装配需求降低\", \n    \"displayNameID\": 315747, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"subsystemMPTFittingReduction\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2668\": {\n    \"attributeID\": 2668, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Ausrüstungsreduktion für mittleren Energiewaffenturm\", \n    \"displayName_en-us\": \"Medium Energy Turret fitting reduction\", \n    \"displayName_es\": \"Reducción de equipamiento de torreta de energía mediana\", \n    \"displayName_fr\": \"Réduction d'équipement de tourelle à énergie intermédiaire\", \n    \"displayName_it\": \"Medium Energy Turret fitting reduction\", \n    \"displayName_ja\": \"中型エネルギータレットの装備要件軽減\", \n    \"displayName_ko\": \"중형 에너지 터렛 피팅 감소\", \n    \"displayName_ru\": \"Сокращение потребности средних лазерных орудий в мощностях при монтаже\", \n    \"displayName_zh\": \"中型能量炮台装配需求降低\", \n    \"displayNameID\": 315748, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"subsystemMETFittingReduction\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2669\": {\n    \"attributeID\": 2669, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Ausrüstungsreduktion für mittleren Lenkwaffenwerfer\", \n    \"displayName_en-us\": \"Medium Missile Launcher fitting reduction\", \n    \"displayName_es\": \"Reducción de equipamiento de lanzamisiles mediano\", \n    \"displayName_fr\": \"Réduction d'équipement de lance-missiles intermédiaire\", \n    \"displayName_it\": \"Medium Missile Launcher fitting reduction\", \n    \"displayName_ja\": \"中型ミサイルランチャーの装備要件軽減\", \n    \"displayName_ko\": \"중형 미사일 런처 피팅 감소\", \n    \"displayName_ru\": \"Сокращение потребности ракетных установок кораблей крейсерского тоннажа в мощностях при монтаже\", \n    \"displayName_zh\": \"中型导弹发射器装配需求降低\", \n    \"displayNameID\": 315749, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"subsystemMMissileFittingReduction\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2670\": {\n    \"attributeID\": 2670, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Ausrüstungsreduktion für mittleren Schildfernbooster\", \n    \"displayName_en-us\": \"Medium Remote Shield Booster fitting reduction\", \n    \"displayName_es\": \"Reducción de equipamiento de potenciador de escudo remoto mediano\", \n    \"displayName_fr\": \"Réduction d'équipement de booster de bouclier à distance intermédiaire\", \n    \"displayName_it\": \"Medium Remote Shield Booster fitting reduction\", \n    \"displayName_ja\": \"中型リモートシールドブースターの装備要件軽減\", \n    \"displayName_ko\": \"중형 원격 실드 부스터 피팅 감소\", \n    \"displayName_ru\": \"Сокращение потребности средних установок дистанционной накачки щитов в мощностях при монтаже\", \n    \"displayName_zh\": \"中型远程护盾回充增量器装配需求降低\", \n    \"displayNameID\": 315750, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"subsystemMRSBFittingReduction\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2671\": {\n    \"attributeID\": 2671, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Ausrüstungsreduktion für mittleres Panzerungs-Fernreparatursystem\", \n    \"displayName_en-us\": \"Medium Remote Armor Repairer fitting reduction\", \n    \"displayName_es\": \"Reducción de equipamiento de reparador de blindaje remoto mediano\", \n    \"displayName_fr\": \"Réduction d'équipement de réparateur de blindage à distance intermédiaire\", \n    \"displayName_it\": \"Medium Remote Armor Repairer fitting reduction\", \n    \"displayName_ja\": \"中型リモートアーマーリペアラの装備要件軽減\", \n    \"displayName_ko\": \"중형 원격 장갑수리 장치 피팅 감소\", \n    \"displayName_ru\": \"Сокращение потребности средних установок дистанционного ремонта брони в мощностях при монтаже\", \n    \"displayName_zh\": \"中型远程装甲维修器装配需求降低\", \n    \"displayNameID\": 315751, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"subsystemMRARFittingReduction\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2673\": {\n    \"attributeID\": 2673, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMiningMaxRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2674\": {\n    \"attributeID\": 2674, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMiningDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2675\": {\n    \"attributeID\": 2675, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"special subsystem hold capacity\", \n    \"displayName_de\": \"Fassungsvermögen des Subsystems\", \n    \"displayName_en-us\": \"Subsystem Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega del subsistema\", \n    \"displayName_fr\": \"Capacité de la soute du sous-système\", \n    \"displayName_it\": \"Subsystem Hold Capacity\", \n    \"displayName_ja\": \"サブシステムホールド容量\", \n    \"displayName_ko\": \"서브시스템 저장고 적재량\", \n    \"displayName_ru\": \"Вместимость отсека для подсистем\", \n    \"displayName_zh\": \"子系统舱容量\", \n    \"displayNameID\": 315775, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialSubsystemHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Das Gesamtvolumen an Subsystemen, das im Subsystemhangar des Schiffs gelagert werden kann.\", \n    \"tooltipDescription_en-us\": \"The total volume of subsystems that can be stored in the ship's subsystem hold\", \n    \"tooltipDescription_es\": \"El volumen total de subsistemas que pueden almacenarse en la bodega de subsistemas de la nave.\", \n    \"tooltipDescription_fr\": \"Volume total de sous-systèmes pouvant être entreposés dans la soute à sous-systèmes du vaisseau.\", \n    \"tooltipDescription_it\": \"The total volume of subsystems that can be stored in the ship's subsystem hold\", \n    \"tooltipDescription_ja\": \"艦船のサブシステムホールドに積載できるサブシステムの総量\", \n    \"tooltipDescription_ko\": \"서브시스템 저장고의 총 적재량입니다.\", \n    \"tooltipDescription_ru\": \"Максимальный объём подсистем, допустимый к размещению в этом бортовом отсеке\", \n    \"tooltipDescription_zh\": \"舰船的子系统舱所能装载的子系统总体积\", \n    \"tooltipDescriptionID\": 317687, \n    \"tooltipTitleID\": 317686, \n    \"unitID\": 9\n  }, \n  \"2676\": {\n    \"attributeID\": 2676, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusStrategicCruiserCaldari2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2677\": {\n    \"attributeID\": 2677, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusStrategicCruiserAmarr2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2678\": {\n    \"attributeID\": 2678, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusStrategicCruiserGallente2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2679\": {\n    \"attributeID\": 2679, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusStrategicCruiserMinmatar2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2680\": {\n    \"attributeID\": 2680, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrDefensive3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2681\": {\n    \"attributeID\": 2681, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusAmarrCore3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2682\": {\n    \"attributeID\": 2682, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariDefensive3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2683\": {\n    \"attributeID\": 2683, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusCaldariCore3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2684\": {\n    \"attributeID\": 2684, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallenteDefensive3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2685\": {\n    \"attributeID\": 2685, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusGallenteCore3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2686\": {\n    \"attributeID\": 2686, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarDefensive3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2687\": {\n    \"attributeID\": 2687, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMinmatarCore3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2688\": {\n    \"attributeID\": 2688, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"HP-Bonus für Struktur\", \n    \"displayName_en-us\": \"Structure Hitpoint Bonus\", \n    \"displayName_es\": \"Bonificación de puntos de vida de estructura\", \n    \"displayName_fr\": \"Bonus de points de vie de structure\", \n    \"displayName_it\": \"Structure Hitpoint Bonus\", \n    \"displayName_ja\": \"ストラクチャHPボーナス\", \n    \"displayName_ko\": \"구조물 내구도 보너스\", \n    \"displayName_ru\": \"Увеличение запаса прочности корпуса\", \n    \"displayName_zh\": \"结构值加成\", \n    \"displayNameID\": 315792, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureHPBonusAdd\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2689\": {\n    \"attributeID\": 2689, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Frachtraumbonus\", \n    \"displayName_en-us\": \"Cargo Capacity Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad de carga\", \n    \"displayName_fr\": \"Bonus de capacité de la soute\", \n    \"displayName_it\": \"Cargo Capacity Bonus\", \n    \"displayName_ja\": \"カーゴ容量ボーナス\", \n    \"displayName_ko\": \"화물 적재량 보너스\", \n    \"displayName_ru\": \"Повышение объёма грузового отсека\", \n    \"displayName_zh\": \"货柜舱容量加成\", \n    \"displayNameID\": 315793, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"cargoCapacityAdd\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"2690\": {\n    \"attributeID\": 2690, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Zusätzlicher Trägheitsmodifikator\", \n    \"displayName_en-us\": \"Additional Inertia Modifier\", \n    \"displayName_es\": \"Modificador de inercia adicional\", \n    \"displayName_fr\": \"Modificateur d'inertie supplémentaire\", \n    \"displayName_it\": \"Additional Inertia Modifier\", \n    \"displayName_ja\": \"追加慣性乗数\", \n    \"displayName_ko\": \"추가 관성 계수\", \n    \"displayName_ru\": \"Модификатор влияния инертности конструкции.\", \n    \"displayName_zh\": \"附加惯性调整系数\", \n    \"displayNameID\": 315809, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"agilityBonusAdd\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2691\": {\n    \"attributeID\": 2691, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"mediumRemoteRepFittingMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2692\": {\n    \"attributeID\": 2692, \n    \"categoryID\": 1, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reduzierung der Kommandostrahlen-Ausrüstung\", \n    \"displayName_en-us\": \"Command Burst fitting reduction\", \n    \"displayName_es\": \"Reducción de equipamiento del estallido de mando\", \n    \"displayName_fr\": \"Réduction d'équipement d'explosion de commandement\", \n    \"displayName_it\": \"Command Burst fitting reduction\", \n    \"displayName_ja\": \"コマンドバーストの装備要件軽減\", \n    \"displayName_ko\": \"커맨드 버스트 피팅 감소\", \n    \"displayName_ru\": \"Сокращение потребности импульсных оптимизаторов в мощностях при монтаже\", \n    \"displayName_zh\": \"指挥脉冲波装配需求降低\", \n    \"displayNameID\": 315828, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemCommandBurstFittingReduction\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2693\": {\n    \"attributeID\": 2693, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Präzisionsabfall für Schildfernbooster\", \n    \"displayName_en-us\": \"Remote Shield Booster Falloff Bonus\", \n    \"displayName_es\": \"Bonificación de alcance efectivo del potenciador de escudo remoto\", \n    \"displayName_fr\": \"Bonus de perte de puissance de booster de bouclier à distance\", \n    \"displayName_it\": \"Remote Shield Booster Falloff Bonus\", \n    \"displayName_ja\": \"リモートシールドブースター性能低下ボーナス\", \n    \"displayName_ko\": \"원격 실드 부스터 유효사거리 보너스\", \n    \"displayName_ru\": \"Влияние на добавочную дальность действия установок дистанционной накачки щитов\", \n    \"displayName_zh\": \"远程护盾回充增量器失准范围加成\", \n    \"displayNameID\": 315830, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"remoteShieldBoosterFalloffBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2694\": {\n    \"attributeID\": 2694, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Präzisionsabfall für Panzerungs-Fernreparatursystem\", \n    \"displayName_en-us\": \"Remote Armor Repairer Falloff Bonus\", \n    \"displayName_es\": \"Bonificación de alcance efectivo del reparador de blindaje remoto\", \n    \"displayName_fr\": \"Bonus de perte de puissance de réparateurs de blindage à distance\", \n    \"displayName_it\": \"Remote Armor Repairer Falloff Bonus\", \n    \"displayName_ja\": \"リモートアーマーリペアラ精度低下ボーナス\", \n    \"displayName_ko\": \"원격 장갑수리 장치 유효사거리 보너스\", \n    \"displayName_ru\": \"Влияние на добавочную дальность действия установок дистанционного ремонта брони\", \n    \"displayName_zh\": \"远程装甲维修器失准范围加成\", \n    \"displayNameID\": 315831, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"remoteArmorRepairerFalloffBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2695\": {\n    \"attributeID\": 2695, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf optimale Reichweite für Panzerungs-Fernreparatursystem\", \n    \"displayName_en-us\": \"Remote Armor Repairer Optimal Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance óptimo del reparador de blindaje remoto\", \n    \"displayName_fr\": \"Bonus de portée optimale de réparateurs de blindage à distance\", \n    \"displayName_it\": \"Remote Armor Repairer Optimal Range Bonus\", \n    \"displayName_ja\": \"リモートアーマーリペアラ最適範囲ボーナス\", \n    \"displayName_ko\": \"원격 장갑수리 최적사거리 보너스\", \n    \"displayName_ru\": \"Влияние на оптимальную дальность действия установок дистанционного ремонта брони\", \n    \"displayName_zh\": \"远程装甲维修器最佳射程加成\", \n    \"displayNameID\": 315832, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"remoteArmorRepairerOptimalBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2696\": {\n    \"attributeID\": 2696, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"Indicates that a module or subsystem has been phased out. Primarily used by saved fittings.\", \n    \"displayName_de\": \"Modul oder Subsystem ist veraltet.\", \n    \"displayName_en-us\": \"Module or subsystem is obsolete\", \n    \"displayName_es\": \"Módulo o subsistema obsoleto\", \n    \"displayName_fr\": \"Module ou sous-système obsolète\", \n    \"displayName_it\": \"Module or subsystem is obsolete\", \n    \"displayName_ja\": \"旧式のモジュールかサブシステム\", \n    \"displayName_ko\": \"구식 모듈 또는 서브시스템\", \n    \"displayName_ru\": \"Модуль или подсистема считаются устаревшими\", \n    \"displayName_zh\": \"装备或子系统过时了\", \n    \"displayNameID\": 315833, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"moduleIsObsolete\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2697\": {\n    \"attributeID\": 2697, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximale Scanreichweite\", \n    \"displayName_en-us\": \"Maximum Scan Range\", \n    \"displayName_es\": \"Alcance de escaneo máximo\", \n    \"displayName_fr\": \"Portée du balayage maximum\", \n    \"displayName_it\": \"Maximum Scan Range\", \n    \"displayName_ja\": \"最大スキャン範囲\", \n    \"displayName_ko\": \"최대 스캔 거리\", \n    \"displayName_ru\": \"Радиус сбора данных\", \n    \"displayName_zh\": \"最大扫描范围\", \n    \"displayNameID\": 315916, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"maxScanRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2698\": {\n    \"attributeID\": 2698, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 10800.0, \n    \"description\": \"Delay for exploding moon mining chunk into asteroid field\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"autoFractureDelay\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"2699\": {\n    \"attributeID\": 2699, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"0: Mission/NPE Ore\\r\\n1: Standard Ore/Ice\\r\\n2: +5% Ore\\r\\n3: +10% Ore\\r\\n4: High Quality Ice or Extracted Ore\\r\\n5: Jackpot Moon Ore\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"asteroidMetaLevel\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2700\": {\n    \"attributeID\": 2700, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 200000.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximale FOF-Zielerfassungsreichweite\", \n    \"displayName_en-us\": \"Maximum Auto-Targeting Range\", \n    \"displayName_es\": \"Distancia máx. de adquisición automática de objetivos\", \n    \"displayName_fr\": \"Portée de ciblage maximum des missiles FoF\", \n    \"displayName_it\": \"Maximum Auto-Targeting Range\", \n    \"displayName_ja\": \"最大自動捕捉範囲\", \n    \"displayName_ko\": \"최대 FOF 타겟 사거리\", \n    \"displayName_ru\": \"Максимальная дальность автонаведения\", \n    \"displayName_zh\": \"最大自动锁定距离\", \n    \"displayNameID\": 315920, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"maxFOFTargetRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2701\": {\n    \"attributeID\": 2701, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reduktion der Scandauer der Vermessungssonde\", \n    \"displayName_en-us\": \"Reduction to Survey Probe Scan Time\", \n    \"displayName_es\": \"Reducción del tiempo de escáner de sondas de prospección\", \n    \"displayName_fr\": \"Réduction du temps de balayage de sonde d'exploration\", \n    \"displayName_it\": \"Reduction to Survey Probe Scan Time\", \n    \"displayName_ja\": \"衛星調査プローブスキャン時間の削減\", \n    \"displayName_ko\": \"조사 프로브 스캔 시간 감소\", \n    \"displayName_ru\": \"Сокращение расхода времени на сбор данных при луноразведке\", \n    \"displayName_zh\": \"测量探针扫描时间减少\", \n    \"displayNameID\": 315994, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"surveyProbeDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2704\": {\n    \"attributeID\": 2704, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Defines relation over moon spew volume vs time to drill/create spew\", \n    \"displayName_de\": \"Förderungsertrag-Multiplikator\", \n    \"displayName_en-us\": \"Extraction Yield Multiplier\", \n    \"displayName_es\": \"Multiplicador de rendimiento de extracción\", \n    \"displayName_fr\": \"Multiplicateur du rendement d'extraction\", \n    \"displayName_it\": \"Extraction Yield Multiplier\", \n    \"displayName_ja\": \"抽出量乗数\", \n    \"displayName_ko\": \"추출량 배수\", \n    \"displayName_ru\": \"Множитель объёма извлечения\", \n    \"displayName_zh\": \"开采量系数\", \n    \"displayNameID\": 316906, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"moonYieldMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2705\": {\n    \"attributeID\": 2705, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Radius of asteroid field created by moon chunk\", \n    \"displayName_de\": \"Multiplikator des Mond-Asteroidenfeldradius\", \n    \"displayName_en-us\": \"Moon Asteroid Field Radius Multiplier\", \n    \"displayName_es\": \"Multiplicador del radio de campos de asteroides lunares\", \n    \"displayName_fr\": \"Multiplicateur du rayon de champ d'astéroïdes lunaires\", \n    \"displayName_it\": \"Moon Asteroid Field Radius Multiplier\", \n    \"displayName_ja\": \"衛星アステロイドフィールド半径乗数\", \n    \"displayName_ko\": \"위성 소행성 필드 크기 배수\", \n    \"displayName_ru\": \"Множитель радиуса скопления астероидов\", \n    \"displayName_zh\": \"卫星小行星带半径系数\", \n    \"displayNameID\": 316907, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"moonAsteroidFieldRadius\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2706\": {\n    \"attributeID\": 2706, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Decay time for asteroid created from moon spew\", \n    \"displayName_de\": \"Verfallzeit des Mondasteroiden\", \n    \"displayName_en-us\": \"Moon Asteroid Decay Time\", \n    \"displayName_es\": \"Velocidad de descomposición de asteroides lunares\", \n    \"displayName_fr\": \"Durée d'effritement des astéroïdes lunaires\", \n    \"displayName_it\": \"Moon Asteroid Decay Time\", \n    \"displayName_ja\": \"衛星アステロイド崩壊時間\", \n    \"displayName_ko\": \"위성 소행성 풍화 시간\", \n    \"displayName_ru\": \"Время распада астероидов\", \n    \"displayName_zh\": \"卫星小行星衰减时间\", \n    \"displayNameID\": 316908, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"moonAsteroidDecayTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"2707\": {\n    \"attributeID\": 2707, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Rig Bonus that affects fracture delay for moon chunk\", \n    \"displayName_de\": \"Bonus auf Mondbrockenstabilität\", \n    \"displayName_en-us\": \"Chunk Stability Bonus\", \n    \"displayName_es\": \"Bonificación de estabilidad de los fragmentos\", \n    \"displayName_fr\": \"Bonus de stabilité de monolithe\", \n    \"displayName_it\": \"Chunk Stability Bonus\", \n    \"displayName_ja\": \"岩塊安定性ボーナス\", \n    \"displayName_ko\": \"파편 안정성 보너스\", \n    \"displayName_ru\": \"Бонус к устойчивости породы\", \n    \"displayName_zh\": \"区块稳定性加成\", \n    \"displayNameID\": 316998, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"moonRigFractureDelayBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2708\": {\n    \"attributeID\": 2708, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Moon rig bonus that delays spew asteroid decay\", \n    \"displayName_de\": \"Bonus auf Verfall abgebauter Asteroiden\", \n    \"displayName_en-us\": \"Extracted Asteroid Decay Bonus\", \n    \"displayName_es\": \"Bonificación de deterioro del asteroide extraído\", \n    \"displayName_fr\": \"Bonus d'effritement des astéroïdes extraits\", \n    \"displayName_it\": \"Extracted Asteroid Decay Bonus\", \n    \"displayName_ja\": \"抽出されたアステロイドの崩壊ボーナス\", \n    \"displayName_ko\": \"추출된 소행성 풍화 보너스\", \n    \"displayName_ru\": \"Бонус к распаду извлечённых астероидов\", \n    \"displayName_zh\": \"开采小行星衰减加成\", \n    \"displayNameID\": 316997, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"moonRigAsteroidDecayBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2709\": {\n    \"attributeID\": 2709, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Rig Bonus that affects spew asteroid belt radius from moon extraction\", \n    \"displayName_de\": \"Bonus auf Radius der Mond-Asteroidengürtel\", \n    \"displayName_en-us\": \"Moon Asteroid Belt Radius Bonus\", \n    \"displayName_es\": \"Bonificación de radio del cinturón de asteroides lunar\", \n    \"displayName_fr\": \"Bonus du rayon de ceinture d'astéroïdes lunaires\", \n    \"displayName_it\": \"Moon Asteroid Belt Radius Bonus\", \n    \"displayName_ja\": \"衛星アステロイドベルト半径ボーナス\", \n    \"displayName_ko\": \"위성 소행성 벨트 반경 보너스\", \n    \"displayName_ru\": \"Бонус к радиусу скопления астероидов\", \n    \"displayName_zh\": \"卫星小行星带半径加成\", \n    \"displayNameID\": 316999, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"moonRigSpewRadiusBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2710\": {\n    \"attributeID\": 2710, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Moon rig bonus that increases volume of moon spew in relation to extraction time\", \n    \"displayName_de\": \"Bonus auf Mondabbauvolumen\", \n    \"displayName_en-us\": \"Moon Extraction Volume Bonus\", \n    \"displayName_es\": \"Bonificación de volumen de extracción lunar\", \n    \"displayName_fr\": \"Bonus de volume d'extraction lunaire\", \n    \"displayName_it\": \"Moon Extraction Volume Bonus\", \n    \"displayName_ja\": \"衛星抽出量ボーナス\", \n    \"displayName_ko\": \"위성 추출량 보너스\", \n    \"displayName_ru\": \"Бонус к объёму извлекаемой породы\", \n    \"displayName_zh\": \"卫星开采体积加成\", \n    \"displayNameID\": 316996, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"moonRigSpewVolumeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2711\": {\n    \"attributeID\": 2711, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"Reference for grouping ores in visual displays. All variants of one ore should have the same BasicType ID\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"oreBasicType\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 116\n  }, \n  \"2713\": {\n    \"attributeID\": 2713, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Time Bonus for refinery rigs\", \n    \"displayName_de\": \"Zeitbonus\", \n    \"displayName_en-us\": \"Time Bonus\", \n    \"displayName_es\": \"Bonificación de tiempo\", \n    \"displayName_fr\": \"Bonus de temps\", \n    \"displayName_it\": \"Time Bonus\", \n    \"displayName_ja\": \"時間ボーナス\", \n    \"displayName_ko\": \"시간 보너스\", \n    \"displayName_ru\": \"Дополнительное время\", \n    \"displayName_zh\": \"时间加成\", \n    \"displayNameID\": 316847, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"RefRigTimeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2714\": {\n    \"attributeID\": 2714, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Refinery rig material bonus\", \n    \"displayName_de\": \"Materialreduktionsbonus\", \n    \"displayName_en-us\": \"Material Reduction Bonus\", \n    \"displayName_es\": \"Bonificación de reducción de materiales\", \n    \"displayName_fr\": \"Bonus de réduction de matériel\", \n    \"displayName_it\": \"Material Reduction Bonus\", \n    \"displayName_ja\": \"資源減少ボーナス\", \n    \"displayName_ko\": \"재료 감소 보너스\", \n    \"displayName_ru\": \"Влияние на снижение расхода материалов\", \n    \"displayName_zh\": \"材料削减加成\", \n    \"displayNameID\": 316848, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"RefRigMatBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2715\": {\n    \"attributeID\": 2715, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Hybrid Reactions Time Multiplier\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"reactionHybTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2716\": {\n    \"attributeID\": 2716, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Hybrid reaction material multiplier\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"reactionHybMatMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2717\": {\n    \"attributeID\": 2717, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"composite reaction time multiplier\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"reactionCompTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2718\": {\n    \"attributeID\": 2718, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"composite reaction material multiplier\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"reactionCompMatMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2719\": {\n    \"attributeID\": 2719, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"biochemical reaction time multiplier\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"reactionBioTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2720\": {\n    \"attributeID\": 2720, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"biochemical reaction material multiplier\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"reactionBioMatMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2721\": {\n    \"attributeID\": 2721, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Time bonus for Refinery Structures\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"strReactionTimeMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2722\": {\n    \"attributeID\": 2722, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"strRefiningYieldBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2723\": {\n    \"attributeID\": 2723, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorShieldBoosterAmount\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"2724\": {\n    \"attributeID\": 2724, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorShieldBoosterDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2725\": {\n    \"attributeID\": 2725, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorShieldBoosterDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2727\": {\n    \"attributeID\": 2727, \n    \"categoryID\": 31, \n    \"dataType\": 5, \n    \"defaultValue\": 16255.0, \n    \"description\": \"max visual size for asteroids to fit moon chunk\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"asteroidMaxRadius \", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"2728\": {\n    \"attributeID\": 2728, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 48.0, \n    \"description\": \"This attribute doesn't directly impact the asteroid decay, but is used to expose the decay time to the show-info window\", \n    \"displayName_de\": \"Ungefähre Lebensdauer erschaffener Asteroiden\", \n    \"displayName_en-us\": \"Approximate lifetime of spawned asteroids\", \n    \"displayName_es\": \"Vida útil aproximada de asteroides generados\", \n    \"displayName_fr\": \"Durée de vie approximative des astéroïdes créés\", \n    \"displayName_it\": \"Approximate lifetime of spawned asteroids\", \n    \"displayName_ja\": \"出現したアステロイドの推定残存時間\", \n    \"displayName_ko\": \"신규 소행성의 생명력 근사값\", \n    \"displayName_ru\": \"Приблизительный срок эксплуатации созданных астероидов\", \n    \"displayName_zh\": \"生成的小行星的大约生命周期\", \n    \"displayNameID\": 317005, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"moonAsteroidDecayDisplayValue\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 129\n  }, \n  \"2729\": {\n    \"attributeID\": 2729, \n    \"categoryID\": 7, \n    \"dataType\": 1, \n    \"defaultValue\": 0.0, \n    \"description\": \"Timestamp specifying when a module can next be activated\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"nextActivationTime\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 123\n  }, \n  \"2730\": {\n    \"attributeID\": 2730, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"BehaviorSiegeMissileDamageModifier\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2731\": {\n    \"attributeID\": 2731, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusCovertOps4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2732\": {\n    \"attributeID\": 2732, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"stealthBomberLauncherCPU\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2733\": {\n    \"attributeID\": 2733, \n    \"categoryID\": 29, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schadensmultiplikatorbonus pro Zyklus\", \n    \"displayName_en-us\": \"Damage Multiplier Bonus Per Cycle\", \n    \"displayName_es\": \"Bonificación de multiplicador de daño por ciclo\", \n    \"displayName_fr\": \"Bonus de multiplicateur de dégâts par cycle\", \n    \"displayName_it\": \"Damage Multiplier Bonus Per Cycle\", \n    \"displayName_ja\": \"サイクルあたりのダメージ乗数ボーナス\", \n    \"displayName_ko\": \"사이클당 피해량 배수 보너스\", \n    \"displayName_ru\": \"Увеличение множителя урона за цикл\", \n    \"displayName_zh\": \"每循环伤害倍增系数加成\", \n    \"displayNameID\": 317056, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1432, \n    \"name\": \"damageMultiplierBonusPerCycle\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"2734\": {\n    \"attributeID\": 2734, \n    \"categoryID\": 29, \n    \"dataType\": 5, \n    \"defaultValue\": 0.5, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximaler Schadensmultiplikatorbonus\", \n    \"displayName_en-us\": \"Maximum Damage Multiplier Bonus\", \n    \"displayName_es\": \"Bonificación de multiplicador de daño máximo\", \n    \"displayName_fr\": \"Bonus de multiplicateur de dégâts maximum\", \n    \"displayName_it\": \"Maximum Damage Multiplier Bonus\", \n    \"displayName_ja\": \"最大ダメージ乗数ボーナス\", \n    \"displayName_ko\": \"최대 피해량 배수 보너스\", \n    \"displayName_ru\": \"Максимальное увеличение множителя урона\", \n    \"displayName_zh\": \"最大伤害系数加成\", \n    \"displayNameID\": 317057, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1432, \n    \"name\": \"damageMultiplierBonusMax\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"2735\": {\n    \"attributeID\": 2735, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcStructureStasisWebificationBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2736\": {\n    \"attributeID\": 2736, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcStructureEnergyWarfareBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2737\": {\n    \"attributeID\": 2737, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of Light Fighters the structure can launch.\", \n    \"displayName_de\": \"Standup-Limit für Leichte Jägerstaffeln\", \n    \"displayName_en-us\": \"Standup Light Fighter Squadron Limit\", \n    \"displayName_es\": \"Límite de escuadrón de cazas ligeros Standup\", \n    \"displayName_fr\": \"Limite d'escadrons de chasseurs légers Standup\", \n    \"displayName_it\": \"Standup Light Fighter Squadron Limit\", \n    \"displayName_ja\": \"スタンドアップ軽戦闘機分隊制限\", \n    \"displayName_ko\": \"스탠드업 라이트 파이터 편대 제한\", \n    \"displayName_ru\": \"Ограничение по отрядам лёгких истребителей\", \n    \"displayName_zh\": \"屹立轻型铁骑舰载机中队限制\", \n    \"displayNameID\": 317097, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2987, \n    \"name\": \"fighterStandupLightSlots\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2738\": {\n    \"attributeID\": 2738, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of Support Fighters the structure can launch.\", \n    \"displayName_de\": \"Standup-Limit für Unterstützungsjägerstaffeln\", \n    \"displayName_en-us\": \"Standup Support Fighter Squadron Limit\", \n    \"displayName_es\": \"Límite de escuadrón de cazas de apoyo Standup\", \n    \"displayName_fr\": \"Limite d'escadrons de chasseurs de soutien Standup\", \n    \"displayName_it\": \"Standup Support Fighter Squadron Limit\", \n    \"displayName_ja\": \"スタンドアップサポート戦闘機分隊制限\", \n    \"displayName_ko\": \"스탠드업 서포트 파이터 편대 제한\", \n    \"displayName_ru\": \"Ограничение по отрядам истребителей поддержки\", \n    \"displayName_zh\": \"屹立后勤铁骑舰载机中队限制\", \n    \"displayNameID\": 317098, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2987, \n    \"name\": \"fighterStandupSupportSlots\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2739\": {\n    \"attributeID\": 2739, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of Heavy Fighters the structure can launch.\", \n    \"displayName_de\": \"Standup-Limit für Schwere Jägerstaffeln\", \n    \"displayName_en-us\": \"Standup Heavy Fighter Squadrons Limit\", \n    \"displayName_es\": \"Límite de escuadrón de cazas pesados Standup\", \n    \"displayName_fr\": \"Limite d'escadrons de chasseurs lourds Standup\", \n    \"displayName_it\": \"Standup Heavy Fighter Squadrons Limit\", \n    \"displayName_ja\": \"スタンドアップ重戦闘機分隊制限\", \n    \"displayName_ko\": \"스탠드업 헤비 파이터 편대 제한\", \n    \"displayName_ru\": \"Ограничение по отрядам тяжёлых истребителей\", \n    \"displayName_zh\": \"屹立重型铁骑舰载机中队限制\", \n    \"displayNameID\": 317099, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2987, \n    \"name\": \"fighterStandupHeavySlots\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2740\": {\n    \"attributeID\": 2740, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterSquadronIsStandupLight\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2741\": {\n    \"attributeID\": 2741, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterSquadronIsStandupSupport\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2742\": {\n    \"attributeID\": 2742, \n    \"categoryID\": 38, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fighterSquadronIsStandupHeavy\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2743\": {\n    \"attributeID\": 2743, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"structureFullPowerStateHitpointMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2744\": {\n    \"attributeID\": 2744, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"This attribute is authored on structure service modules and when the service module is online will be used to overwrite a hitpoint multiplier attribute on the structure.\", \n    \"displayName_de\": \"Schild im Modus „Volle Leistung“ und HP-Multiplikator für Panzerungen\", \n    \"displayName_en-us\": \"Full Power Mode Shield and Armor Hitpoint Multiplier\", \n    \"displayName_es\": \"Multiplicador de puntos de vida en blindaje y escudo en potencia máx.\", \n    \"displayName_fr\": \"Multiplicateur de points de vie des boucliers et du blindage en mode performance énergétique\", \n    \"displayName_it\": \"Full Power Mode Shield and Armor Hitpoint Multiplier\", \n    \"displayName_ja\": \"フルパワーモード時のシールドとアーマーヒットポイントの乗数\", \n    \"displayName_ko\": \"풀 파워 모드 실드 및 장갑 내구도 배수\", \n    \"displayName_ru\": \"Щит в режиме полной мощности и коэффициент запаса прочности брони\", \n    \"displayName_zh\": \"全能量模式护盾和装甲值系数\", \n    \"displayNameID\": 317693, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"serviceModuleFullPowerStateHitpointMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Wenn mindestens ein Dienstmodul auf einer Upwell-Struktur online ist, werden die HP seines Schilds und seiner Panzerung um diesen Faktor erhöht.\", \n    \"tooltipDescription_en-us\": \"If at least one service module is online on an Upwell Structure, its shield and armor hitpoints will be increased by this factor\", \n    \"tooltipDescription_es\": \"Si hay al menos un módulo de servicio en línea en una estructura de Upwell, los puntos de vida del escudo y del blindaje aumentarán el valor especificado.\", \n    \"tooltipDescription_fr\": \"Si au moins un module de service est activé sur une structure Upwell, les points de vie de ses boucliers et de son blindage seront multipliés par ce facteur.\", \n    \"tooltipDescription_it\": \"If at least one service module is online on an Upwell Structure, its shield and armor hitpoints will be increased by this factor\", \n    \"tooltipDescription_ja\": \"アップウェルストラクチャで1つ以上のモジュールがオンラインになっている場合、シールドとアーマーのヒットポイントが上昇する\", \n    \"tooltipDescription_ko\": \"업웰 구조물에서 최소한 한 개의 서비스 모듈이 온라인인 경우 그 실드 및 장갑 내구도가 이 계수에 따라 증가\", \n    \"tooltipDescription_ru\": \"Если на сооружении консорциума «Апвел» есть хотя бы один работающий модуль технического обслуживания, эффективность щита и запас прочности брони будут увеличены на это значение.\", \n    \"tooltipDescription_zh\": \"如果昇威建筑至少启用了一个服务装备，它的护盾和装甲值将按此系数增加\", \n    \"tooltipDescriptionID\": 317695, \n    \"tooltipTitleID\": 317694, \n    \"unitID\": 104\n  }, \n  \"2745\": {\n    \"attributeID\": 2745, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Dauer\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"持続時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Длительность\", \n    \"displayName_zh\": \"持续时间\", \n    \"displayNameID\": 317645, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"durationTargetWarpableBeacon\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2746\": {\n    \"attributeID\": 2746, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Schadensresistenz aktiviert\", \n    \"displayName_en-us\": \"Activated Damage Resistance\", \n    \"displayName_es\": \"Resistencia al daño activada\", \n    \"displayName_fr\": \"Résistance aux dégâts activée\", \n    \"displayName_it\": \"Activated Damage Resistance\", \n    \"displayName_ja\": \"起動済みのダメージレジスタンス\", \n    \"displayName_ko\": \"데미지 저항 활성화\", \n    \"displayName_ru\": \"Активирована сопротивляемость урону\", \n    \"displayName_zh\": \"已激活伤害抗性\", \n    \"displayNameID\": 317651, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"resistanceMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"2747\": {\n    \"attributeID\": 2747, \n    \"categoryID\": 28, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Percent bonus for Stasis Webifiers maximum range\", \n    \"displayName_de\": \"Maximaler Reichweitenbonus von Stasisnetzen\", \n    \"displayName_en-us\": \"Stasis Webifier Maximum Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance máx. de red ralentizadora\", \n    \"displayName_fr\": \"Bonus de portée max. du générateur de stase\", \n    \"displayName_it\": \"Stasis Webifier Maximum Range Bonus\", \n    \"displayName_ja\": \"ステイシスウェビファイヤーの最大範囲ボーナス\", \n    \"displayName_ko\": \"스테이시스 웹 생성기 사거리 보너스\", \n    \"displayName_ru\": \"Влияние на макс. дальность действия стазис-индуктора\", \n    \"displayName_zh\": \"停滞缠绕光束最大范围加成\", \n    \"displayNameID\": 317685, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"stasisWebRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"2748\": {\n    \"attributeID\": 2748, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximaler Zielerfassungsreichweite-Bonus\", \n    \"displayName_en-us\": \"Maximum Targeting Range Bonus\", \n    \"displayName_es\": \"Bonificación de distancia-objetivo máx.\", \n    \"displayName_fr\": \"Bonus de portée de ciblage maximale\", \n    \"displayName_it\": \"Maximum Targeting Range Bonus\", \n    \"displayName_ja\": \"最大ターゲット範囲ボーナス\", \n    \"displayName_ko\": \"최대 타겟팅 거리 보너스\", \n    \"displayName_ru\": \"Бонус максимальной дальности наведения\", \n    \"displayName_zh\": \"最大锁定范围加成\", \n    \"displayNameID\": 317688, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"structureRigMaxTargetRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"2749\": {\n    \"attributeID\": 2749, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die Feuerrate von Lenkbombenwerfern und Pulsprojektoren\", \n    \"displayName_en-us\": \"Bonus to the Rate of Fire of Guided Bomb Launchers and Burst Projectors\", \n    \"displayName_es\": \"Bonificación a la cadencia de tiro de lanzabombas guiados y proyectores de estallido\", \n    \"displayName_fr\": \"Bonus à la cadence de tir des lanceurs de bombes ciblées et des projecteurs à salves\", \n    \"displayName_it\": \"Bonus to the Rate of Fire of Guided Bomb Launchers and Burst Projectors\", \n    \"displayName_ja\": \"誘導ボムランチャーとバーストプロジェクターの発射間隔へのボーナス\", \n    \"displayName_ko\": \"유도 폭탄 런처와 버스트 프로젝터의 연사속도 보너스\", \n    \"displayName_ru\": \"Бонус к скорострельности бомбометателей с системой наведения и проекторов объёмных помех\", \n    \"displayName_zh\": \"制导炸弹发射器和脉冲波投射器的射速加成\", \n    \"displayNameID\": 317692, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1397, \n    \"name\": \"structureAoERoFRoleBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2750\": {\n    \"attributeID\": 2750, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Missile damage attribute used by structures as a workaround for implementing Standup BCS stacking penalties\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"hiddenMissileDamageMultiplier\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 104\n  }, \n  \"2751\": {\n    \"attributeID\": 2751, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Armor hitpoint attribute used by structures as a workaround for implementing Standup layered plating stacking penalties\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"hiddenArmorHPMultiplier\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 104\n  }, \n  \"2752\": {\n    \"attributeID\": 2752, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusFlagCruisers1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2753\": {\n    \"attributeID\": 2753, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reduktion der Ausrüstungsvoraussetzungen für AB, MWD, MJD\", \n    \"displayName_en-us\": \"Reduction in AB, MWD, MJD fitting requirements\", \n    \"displayName_es\": \"Reducción de requisitos de equipamiento de PQ, MMC, MMS\", \n    \"displayName_fr\": \"Abaissement des prérequis de montage de la PC, du PMW et du PMS\", \n    \"displayName_it\": \"Reduction in AB, MWD, MJD fitting requirements\", \n    \"displayName_ja\": \"アフターバーナーやマイクロワープドライブ、マイクロジャンプドライブの装備要件軽減\", \n    \"displayName_ko\": \"AB, MWD, MJD 피팅 요구량 감소\", \n    \"displayName_ru\": \"Уменьшение нагрузки двигательных установок на ЦП/реактор\", \n    \"displayName_zh\": \"加力燃烧器、微型跃迁推进器和微型跳跃引擎装配需求降低\", \n    \"displayNameID\": 317707, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 70, \n    \"name\": \"flagCruiserFittingBonusPropMods\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2754\": {\n    \"attributeID\": 2754, \n    \"categoryID\": 36, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Entosis-Unterstützungsimpedanz\", \n    \"displayName_en-us\": \"Entosis Assistance Impedance\", \n    \"displayName_es\": \"Impedancia de asistencia de entosis\", \n    \"displayName_fr\": \"Impédance de l'assistance Entosis\", \n    \"displayName_it\": \"Entosis Assistance Impedance\", \n    \"displayName_ja\": \"エントーシスアシスタントインピーダンス\", \n    \"displayName_ko\": \"엔토시스 지원 임피던스\", \n    \"displayName_ru\": \"Ослабление получаемой поддержки из-за энтоза\", \n    \"displayName_zh\": \"侵噬链接协助阻抗\", \n    \"displayNameID\": 317711, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"entosisAssistanceImpedanceMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Unterstützungsimpedanz bei aktivem Entosis-Netzwerk\", \n    \"tooltipDescription_en-us\": \"Assistance Impedance while running an Entosis Link\", \n    \"tooltipDescription_es\": \"Impedancia de asistencia al usar un enlace de entosis.\", \n    \"tooltipDescription_fr\": \"Impédance de l'assistance lors de l'exploitation d'une liaison Entosis\", \n    \"tooltipDescription_it\": \"Assistance Impedance while running an Entosis Link\", \n    \"tooltipDescription_ja\": \"エントーシスリンク起動時のアシスタントインピーダンス\", \n    \"tooltipDescription_ko\": \"엔토시스 링크 작동 중 지원 임피던스\", \n    \"tooltipDescription_ru\": \"Во время работы энтоз-передатчика возможности поддержки ограничены\", \n    \"tooltipDescription_zh\": \"使用侵噬链接时的协助阻抗\", \n    \"tooltipDescriptionID\": 317734, \n    \"tooltipTitleID\": 317733, \n    \"unitID\": 108\n  }, \n  \"2755\": {\n    \"attributeID\": 2755, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Stärkeanpassung der Zielmarkierung\", \n    \"displayName_en-us\": \"Modification of Target Painter strength\", \n    \"displayName_es\": \"Modificación de la intensidad del revelador de objetivo\", \n    \"displayName_fr\": \"Modification de la force du marqueur de cible\", \n    \"displayName_it\": \"Modification of Target Painter strength\", \n    \"displayName_ja\": \"ターゲットペインターの強度修正値\", \n    \"displayName_ko\": \"타겟 페인터 강도 조정\", \n    \"displayName_ru\": \"Изменение эффективности подсветки целей\", \n    \"displayName_zh\": \"目标标记装置强度调整\", \n    \"displayNameID\": 317715, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"targetPainterStrengthModifierFlagCruisers\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2756\": {\n    \"attributeID\": 2756, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf die optimale Reichweite der Zielmarkierung\", \n    \"displayName_en-us\": \"Bonus to Target Painter optimal range\", \n    \"displayName_es\": \"Bonificación al alcance óptimo del revelador de objetivo\", \n    \"displayName_fr\": \"Bonus à la portée optimale du marqueur de cible\", \n    \"displayName_it\": \"Bonus to Target Painter optimal range\", \n    \"displayName_ja\": \"ターゲットペインターの最適射程距離へのボーナス\", \n    \"displayName_ko\": \"타겟 페인터 최적사거리 보너스\", \n    \"displayName_ru\": \"Увеличение оптимальной дальности подсветки целей\", \n    \"displayName_zh\": \"目标标记装置最佳射程加成\", \n    \"displayNameID\": 317716, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"targetPainterRangeModifierFlagCruisers\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2757\": {\n    \"attributeID\": 2757, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Verringerung der Ausrüstungsanforderungen für Zielmarkierung und Scansondenwerfer\", \n    \"displayName_en-us\": \"Reduction in Target Painter and Scan Probe Launcher fitting requirements\", \n    \"displayName_es\": \"Reducción de los requisitos de equipamiento para el revelador de objetivo y el lanzasondas de escaneo\", \n    \"displayName_fr\": \"Réduction des prérequis de montage du marqueur de cible et du lanceur de sonde\", \n    \"displayName_it\": \"Reduction in Target Painter and Scan Probe Launcher fitting requirements\", \n    \"displayName_ja\": \"ターゲットペインターとスキャンプローブランチャーの装備要件軽減\", \n    \"displayName_ko\": \"타켓 지시기 및 스캔 프로브 런처 피팅 요구조건 감소\", \n    \"displayName_ru\": \"Уменьшение нагрузки систем подсветки и ПУ разведзондов на ЦП/реактор\", \n    \"displayName_zh\": \"目标标记装置和扫描探针发射器装配需求降低\", \n    \"displayNameID\": 317717, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 70, \n    \"name\": \"flagCruiserFittingBonusPainterProbes\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2758\": {\n    \"attributeID\": 2758, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar en\", \n    \"displayName_fr\": \"Peut être équipé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装備可能：\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 317722, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipType11\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"2759\": {\n    \"attributeID\": 2759, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": -1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"typeListId\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2760\": {\n    \"attributeID\": 2760, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"sets the weather effect type for abyssal deadspace keys\", \n    \"displayName_de\": \"Abgrundumgebung\", \n    \"displayName_en-us\": \"Abyssal Environment\", \n    \"displayName_es\": \"Ambiente abisal\", \n    \"displayName_fr\": \"Environnement abyssal\", \n    \"displayName_it\": \"Abyssal Environment\", \n    \"displayName_ja\": \"アビサル環境\", \n    \"displayName_ko\": \"어비설 환경\", \n    \"displayName_ru\": \"Пространство бездны\", \n    \"displayName_zh\": \"深渊环境\", \n    \"displayNameID\": 317898, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"weatherID\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"2761\": {\n    \"attributeID\": 2761, \n    \"categoryID\": 7, \n    \"dataType\": 1, \n    \"defaultValue\": 1.0, \n    \"description\": \"sets the difficulty tier for abyssal deadspace keys\", \n    \"displayName_de\": \"Schwierigkeitsrang\", \n    \"displayName_en-us\": \"Difficulty Tier\", \n    \"displayName_es\": \"Nivel de dificultad\", \n    \"displayName_fr\": \"Niveau de difficulté\", \n    \"displayName_it\": \"Difficulty Tier\", \n    \"displayName_ja\": \"難易度\", \n    \"displayName_ko\": \"난이도 티어\", \n    \"displayName_ru\": \"Класс сложности\", \n    \"displayName_zh\": \"难度等级\", \n    \"displayNameID\": 317897, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2893, \n    \"name\": \"difficultyTier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Schwierigkeitsrang\", \n    \"tooltipDescription_en-us\": \"Difficulty Tier\", \n    \"tooltipDescription_es\": \"Nivel de dificultad\", \n    \"tooltipDescription_fr\": \"Niveau de difficulté\", \n    \"tooltipDescription_it\": \"Difficulty Tier\", \n    \"tooltipDescription_ja\": \"難易度\", \n    \"tooltipDescription_ko\": \"난이도 티어\", \n    \"tooltipDescription_ru\": \"Класс сложности\", \n    \"tooltipDescription_zh\": \"难度等级\", \n    \"tooltipDescriptionID\": 317914, \n    \"tooltipTitleID\": 317913\n  }, \n  \"2762\": {\n    \"attributeID\": 2762, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus für besondere Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Классовый бонус\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 317757, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusPF1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2763\": {\n    \"attributeID\": 2763, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus für besondere Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Классовый бонус\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 317758, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusPF2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2764\": {\n    \"attributeID\": 2764, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus für besondere Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Классовый бонус\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 317759, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusPC1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2765\": {\n    \"attributeID\": 2765, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus für besondere Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Классовый бонус\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 317760, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusPC2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2766\": {\n    \"attributeID\": 2766, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus für besondere Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Классовый бонус\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 317761, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusPBS1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2767\": {\n    \"attributeID\": 2767, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus für besondere Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Классовый бонус\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 317762, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusPBS2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2768\": {\n    \"attributeID\": 2768, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"emDamageResonanceMax\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2769\": {\n    \"attributeID\": 2769, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"thermalDamageResonanceMax\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2770\": {\n    \"attributeID\": 2770, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"kineticDamageResonanceMax\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2771\": {\n    \"attributeID\": 2771, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"explosiveDamageResonanceMax\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2772\": {\n    \"attributeID\": 2772, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf alle HP und die Energiespeicherkapazität\", \n    \"displayName_en-us\": \"Bonus to all hitpoints and capacitor capacity\", \n    \"displayName_es\": \"Bonificación a todos los puntos de vida y capacidad del condensador\", \n    \"displayName_fr\": \"Augmente tous les PV et la capacité du capaciteur\", \n    \"displayName_it\": \"Bonus to all hitpoints and capacitor capacity\", \n    \"displayName_ja\": \"全てのヒットポイントとキャパシタ容量へのボーナス\", \n    \"displayName_ko\": \"전체 내구도 및 캐패시터 적재량 보너스\", \n    \"displayName_ru\": \"Бонус к общей прочности и объёму накопителя\", \n    \"displayName_zh\": \"护盾、装甲、结构值和电容量加成\", \n    \"displayNameID\": 317877, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"conversionRigHPCapBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2773\": {\n    \"attributeID\": 2773, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Zeitanforderungen für die Fertigung von T-1-Schiffen\", \n    \"displayName_en-us\": \"Bonus to T1 Ship Manufacturing Job Time Requirements\", \n    \"displayName_es\": \"Bonificación de requisitos de tiempo de fabricación de naves T1\", \n    \"displayName_fr\": \"Bonus de productivité horaire pour les tâches de production de vaisseaux T1\", \n    \"displayName_it\": \"Bonus to T1 Ship Manufacturing Job Time Requirements\", \n    \"displayName_ja\": \"T1艦船製造ジョブの必要時間へのボーナス\", \n    \"displayName_ko\": \"테크 I 함선 제조 작업 시간효율성 보너스\", \n    \"displayName_ru\": \"Снижение расхода времени на производство кораблей первой техкатегории\", \n    \"displayName_zh\": \"一级科技舰船制造项目时间需求加成\", \n    \"displayNameID\": 317878, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"attributeT1ShipManufactureTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2774\": {\n    \"attributeID\": 2774, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Zeitanforderungen für die Fertigung von T-2-Schiffen\", \n    \"displayName_en-us\": \"Bonus to T2 Ship Manufacturing Job Time Requirements\", \n    \"displayName_es\": \"Bonificación de requisitos de tiempo de fabricación de naves T2\", \n    \"displayName_fr\": \"Bonus de temps requis pour les tâches de production de vaisseaux T2\", \n    \"displayName_it\": \"Bonus to T2 Ship Manufacturing Job Time Requirements\", \n    \"displayName_ja\": \"T2艦船製造ジョブの必要時間へのボーナス\", \n    \"displayName_ko\": \"테크 II 함선 제조 작업 시간효율성 보너스\", \n    \"displayName_ru\": \"Снижение расхода времени на производство кораблей второй техкатегории\", \n    \"displayName_zh\": \"二级科技舰船制造项目时间需求加成\", \n    \"displayNameID\": 317879, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"attributeT2ShipManufactureTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2775\": {\n    \"attributeID\": 2775, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Zeitanforderungen für die Fertigung fortschrittlicher Komponenten\", \n    \"displayName_en-us\": \"Bonus to Advanced Component Manufacturing Job Time Requirements\", \n    \"displayName_es\": \"Bonif. de requisitos de tiempo de fabricación de componentes avanzados\", \n    \"displayName_fr\": \"Bonus de productivité horaire pour les tâches de production de composants avancés\", \n    \"displayName_it\": \"Bonus to Advanced Component Manufacturing Job Time Requirements\", \n    \"displayName_ja\": \"高性能部品製造ジョブの必要時間へのボーナス\", \n    \"displayName_ko\": \"상급 부품 제조 작업 시간효율성 보너스\", \n    \"displayName_ru\": \"Снижение расхода времени на производство усовершенствованных компонентов\", \n    \"displayName_zh\": \"高级组件制造项目时间需求加成\", \n    \"displayNameID\": 317880, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"attributeAdvCompManufactureTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2776\": {\n    \"attributeID\": 2776, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Zeitanforderungen für die Fertigung von Capital-Komponenten\", \n    \"displayName_en-us\": \"Bonus to Capital Component Manufacturing Job Time Requirements\", \n    \"displayName_es\": \"Bonificación de requisitos de tiempo de fabricación de componentes capitales\", \n    \"displayName_fr\": \"Bonus de productivité horaire pour les tâches de production de composants capitaux\", \n    \"displayName_it\": \"Bonus to Capital Component Manufacturing Job Time Requirements\", \n    \"displayName_ja\": \"キャピタル部品製造ジョブの必要時間へのボーナス\", \n    \"displayName_ko\": \"캐피탈 부품 제조 작업 시간효율성 보너스\", \n    \"displayName_ru\": \"Снижение расхода времени на производство флагманских компонентов\", \n    \"displayName_zh\": \"旗舰组件制造项目时间需求加成\", \n    \"displayNameID\": 317881, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"attributeCapCompManufactureTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2777\": {\n    \"attributeID\": 2777, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Zeitanforderungen für die Fertigung von Ausrüstung\", \n    \"displayName_en-us\": \"Bonus to Equipment Manufacturing Job Time Requirements\", \n    \"displayName_es\": \"Bonificación de requisitos de tiempo de fabricación de equipo\", \n    \"displayName_fr\": \"Bonus de productivité horaire pour les tâches de production d'équipement\", \n    \"displayName_it\": \"Bonus to Equipment Manufacturing Job Time Requirements\", \n    \"displayName_ja\": \"装備製造ジョブの必要時間へのボーナス\", \n    \"displayName_ko\": \"장비 제조 작업 시간효율성 보너스\", \n    \"displayName_ru\": \"Снижение расхода времени на производство оборудования\", \n    \"displayName_zh\": \"装备制造项目时间需求加成\", \n    \"displayNameID\": 317882, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"attributeEquipmentManufactureTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2778\": {\n    \"attributeID\": 2778, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Zeitanforderungen für ME-Forschungsauftrag\", \n    \"displayName_en-us\": \"Bonus to ME Research Job Time Requirements\", \n    \"displayName_es\": \"Bonificación de requisitos de tiempo de investigación de EM\", \n    \"displayName_fr\": \"Bonus de productivité horaire pour les missions de recherche en ME\", \n    \"displayName_it\": \"Bonus to ME Research Job Time Requirements\", \n    \"displayName_ja\": \"ME研究ジョブの必要時間へのボーナス\", \n    \"displayName_ko\": \"ME 연구 작업 시간 요구 조건 보너스\", \n    \"displayName_ru\": \"Снижение расхода времени на исследования материалоэффективности\", \n    \"displayName_zh\": \"材料效率研究项目时间需求加成\", \n    \"displayNameID\": 317883, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"attributeMEResearchTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2779\": {\n    \"attributeID\": 2779, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Zeitanforderungen für ZE-Forschungsauftrag\", \n    \"displayName_en-us\": \"Bonus to TE Research Job Time Requirements\", \n    \"displayName_es\": \"Bonificación a los requisitos de tiempo de trabajos de investigación de ET\", \n    \"displayName_fr\": \"Bonus de productivité horaire pour les missions de recherche en TE\", \n    \"displayName_it\": \"Bonus to TE Research Job Time Requirements\", \n    \"displayName_ja\": \"TE研究ジョブの必要時間へのボーナス\", \n    \"displayName_ko\": \"TE 연구 작업 시간 요구 조건 보너스\", \n    \"displayName_ru\": \"Снижение расхода времени на исследования по повышению скорости производства\", \n    \"displayName_zh\": \"时间效率研究项目时间需求加成\", \n    \"displayNameID\": 317884, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"attributeTEResearchTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2780\": {\n    \"attributeID\": 2780, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Zeitanforderungen für Blaupausenkopieauftrag\", \n    \"displayName_en-us\": \"Bonus to Blueprint Copy Job Time Requirements\", \n    \"displayName_es\": \"Bonificación de requisitos de tiempo de la copia de planos\", \n    \"displayName_fr\": \"Bonus de productivité horaire pour les missions de copies de plan de construction\", \n    \"displayName_it\": \"Bonus to Blueprint Copy Job Time Requirements\", \n    \"displayName_ja\": \"ブループリントコピージョブの必要時間へのボーナス\", \n    \"displayName_ko\": \"블루프린트 복제 작업 시간 요구 조건 보너스\", \n    \"displayName_ru\": \"Снижение расхода времени на создание копии чертежа\", \n    \"displayName_zh\": \"蓝图拷贝项目时间需求加成\", \n    \"displayNameID\": 317885, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"attributeCopyTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2781\": {\n    \"attributeID\": 2781, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Bonus auf Zeitanforderungen für Erfindungsauftrag\", \n    \"displayName_en-us\": \"Bonus to Invention Job Time Requirements\", \n    \"displayName_es\": \"Bonificación de requisitos de tiempo en invenciones\", \n    \"displayName_fr\": \"Bonus de productivité horaire pour les missions d'invention\", \n    \"displayName_it\": \"Bonus to Invention Job Time Requirements\", \n    \"displayName_ja\": \"発明ジョブの必要時間へのボーナス\", \n    \"displayName_ko\": \"인벤션 작업 시간 요구 조건 보너스\", \n    \"displayName_ru\": \"Снижение расхода времени на создание изобретения\", \n    \"displayName_zh\": \"发明项目时间需求加成\", \n    \"displayNameID\": 317886, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"attributeInventionTime\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2782\": {\n    \"attributeID\": 2782, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reduktion der ISK-Kosten für ME- und ZE- sowie Kopieauftrag\", \n    \"displayName_en-us\": \"Reduction in ME, TE, and Copy Job ISK Costs\", \n    \"displayName_es\": \"Reducc. de costes en ISK en trabajos de EM, ET y copias\", \n    \"displayName_fr\": \"Réduction des coûts en ISK pour les missions de recherche en ME et en TE et les missions de copie de plans\", \n    \"displayName_it\": \"Reduction in ME, TE, and Copy Job ISK Costs\", \n    \"displayName_ja\": \"MEやTE、コピージョブにおけるISKコストの削減\", \n    \"displayName_ko\": \"ME, TE 및 복제 작업 ISK 비용 감소\", \n    \"displayName_ru\": \"Снижение расхода ISK на создание копий, исследования по повышению скорости производства и материалоэффективности\", \n    \"displayName_zh\": \"材料效率研究、时间效率研究和拷贝项目星币花费降低\", \n    \"displayNameID\": 317887, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"attributeResearchCosts\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2783\": {\n    \"attributeID\": 2783, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reduktion der ISK-Kosten für Erfindungsauftrag\", \n    \"displayName_en-us\": \"Reduction in Invention Job ISK Costs\", \n    \"displayName_es\": \"Reducc. de costes en ISK en trabajos de invención\", \n    \"displayName_fr\": \"Réduction des coûts en ISK pour les missions d'invention\", \n    \"displayName_it\": \"Reduction in Invention Job ISK Costs\", \n    \"displayName_ja\": \"発明ジョブにおけるISKコストの削減\", \n    \"displayName_ko\": \"인벤션 작업 ISK 비용 감소\", \n    \"displayName_ru\": \"Снижение расхода ISK на создание изобретений\", \n    \"displayName_zh\": \"发明项目星币花费降低\", \n    \"displayNameID\": 317888, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"attributeInventionCosts\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2784\": {\n    \"attributeID\": 2784, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is the total number of Drones that the Entity has in it's cargo hold ready to be deployed. Once it has deployed this many drones, then it no longer has any more.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcDroneCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2785\": {\n    \"attributeID\": 2785, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is the total number of Drones controlled by this Entity that can be active in space at any given time.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcDroneBandwidth\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2786\": {\n    \"attributeID\": 2786, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Used by Behavior NPCs to work out minimum orbit range. If the npc has an effect with a shorter range, it will use the effects range instead.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"npcBehaviorMaximumCombatOrbitRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2787\": {\n    \"attributeID\": 2787, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is used to connect the alliance logos to the monuments that were placed as part of the outpost and conquerable station phaseout process in 2018\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"monumentAllianceID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2788\": {\n    \"attributeID\": 2788, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Dauer\", \n    \"displayName_en-us\": \"Duration\", \n    \"displayName_es\": \"Duración\", \n    \"displayName_fr\": \"Durée\", \n    \"displayName_it\": \"Duration\", \n    \"displayName_ja\": \"持続時間\", \n    \"displayName_ko\": \"지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"持续时间\", \n    \"displayNameID\": 317981, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"panicDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2789\": {\n    \"attributeID\": 2789, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Warpgeschwindigkeits- und Beschleunigungsbonus\", \n    \"displayName_en-us\": \"Warp Speed and Acceleration Bonus\", \n    \"displayName_es\": \"Bonificación de aceleración y velocidad de warp\", \n    \"displayName_fr\": \"Bonus à la vitesse de warp et à l'accélération de warp\", \n    \"displayName_it\": \"Warp Speed and Acceleration Bonus\", \n    \"displayName_ja\": \"ワープ速度と加速度ボーナス\", \n    \"displayName_ko\": \"위프 속도 및 가속도 보너스\", \n    \"displayName_ru\": \"Бонус к скорости хода и разгона в варп-режиме\", \n    \"displayName_zh\": \"跃迁速度和加速加成\", \n    \"displayNameID\": 317982, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipRoleBonusWarpSpeed\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2790\": {\n    \"attributeID\": 2790, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Distance which players can deposit cargo into a structure\", \n    \"displayName_de\": \"Maximale Frachtdepot-Reichweite\", \n    \"displayName_en-us\": \"Maximum cargo deposit range\", \n    \"displayName_es\": \"Alcance máx. del depósito de carga\", \n    \"displayName_fr\": \"Portée maximale de la soute\", \n    \"displayName_it\": \"Maximum cargo deposit range\", \n    \"displayName_ja\": \"カーゴデポジットの最大範囲\", \n    \"displayName_ko\": \"최대 화물 적재 거리\", \n    \"displayName_ru\": \"Максимальная дальность действия хранилища грузов\", \n    \"displayName_zh\": \"最大货柜存放距离\", \n    \"displayNameID\": 317983, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"cargoDeliveryRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2791\": {\n    \"attributeID\": 2791, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Kann nicht entfernt werden\", \n    \"displayName_en-us\": \"Cannot be Unfit\", \n    \"displayName_es\": \"No se puede desequipar.\", \n    \"displayName_fr\": \"Ne peut être démonté\", \n    \"displayName_it\": \"Cannot be Unfit\", \n    \"displayName_ja\": \"取り外せません\", \n    \"displayName_ko\": \"피팅 해제 불가능\", \n    \"displayName_ru\": \"Нельзя демонтировать\", \n    \"displayName_zh\": \"不能卸载\", \n    \"displayNameID\": 317984, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"cannotBeUnfit\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"2792\": {\n    \"attributeID\": 2792, \n    \"categoryID\": 4, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"Module type ID to pre-fit into service slot 0\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"preFitServiceSlot0\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2793\": {\n    \"attributeID\": 2793, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Additional units of fuel that are consumed on each jump through a jump portal, not subject to any of the mass or distance multipliers\", \n    \"displayName_de\": \"Treibstoffverbrauch für Sprungportal hinzugefügt\", \n    \"displayName_en-us\": \"Added Jump Portal Fuel Consumption\", \n    \"displayName_es\": \"Consumo de combustible de portal de salto adicional\", \n    \"displayName_fr\": \"Consommation de carburant supplémentaire par portail sauté\", \n    \"displayName_it\": \"Added Jump Portal Fuel Consumption\", \n    \"displayName_ja\": \"追加のジャンプポータル燃料消費量\", \n    \"displayName_ko\": \"추가된 점프 포털 연료 소모량\", \n    \"displayName_ru\": \"Дополнительный расход топлива в гиперпорталах\", \n    \"displayName_zh\": \"额外跳跃通道燃料消耗\", \n    \"displayNameID\": 318003, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"jumpPortalAdditionalConsumption\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die Menge an zusätzlichem Treibstoff, die mit jedem Sprung verbraucht wird\", \n    \"tooltipDescription_en-us\": \"The amount of additional fuel consumed with each jump\", \n    \"tooltipDescription_es\": \"La cantidad de combustible adicional que se consume con cada salto.\", \n    \"tooltipDescription_fr\": \"La quantité de carburant supplémentaire consommé à chaque saut\", \n    \"tooltipDescription_it\": \"The amount of additional fuel consumed with each jump\", \n    \"tooltipDescription_ja\": \"ジャンプごとの追加燃料消費量\", \n    \"tooltipDescription_ko\": \"각각의 점프에 추가적으로 소모되는 연료량\", \n    \"tooltipDescription_ru\": \"Количество дополнительного топлива, расходуемого на каждый прыжок\", \n    \"tooltipDescription_zh\": \"每次跳跃额外消耗的燃料数量\", \n    \"tooltipDescriptionID\": 318005, \n    \"tooltipTitleID\": 318004, \n    \"unitID\": 138\n  }, \n  \"2794\": {\n    \"attributeID\": 2794, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Aktivierungsverzögerung\", \n    \"displayName_en-us\": \"Activation Delay\", \n    \"displayName_es\": \"Demora de activación\", \n    \"displayName_fr\": \"Retard de l'activation\", \n    \"displayName_it\": \"Activation Delay\", \n    \"displayName_ja\": \"起動ディレイ\", \n    \"displayName_ko\": \"작동 준비 시간\", \n    \"displayName_ru\": \"Задержка перед активацией\", \n    \"displayName_zh\": \"激活延迟\", \n    \"displayNameID\": 318006, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"cynoJammerActivationDelay\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"2795\": {\n    \"attributeID\": 2795, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Aktivierungsverzögerung\", \n    \"displayName_en-us\": \"Activation Delay\", \n    \"displayName_es\": \"Demora de activación\", \n    \"displayName_fr\": \"Retard de l'activation\", \n    \"displayName_it\": \"Activation Delay\", \n    \"displayName_ja\": \"起動遅延\", \n    \"displayName_ko\": \"작동 준비 시간\", \n    \"displayName_ru\": \"Задержка перед активацией\", \n    \"displayName_zh\": \"激活延迟\", \n    \"displayNameID\": 318007, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"cynoJammerActivationDelay\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2796\": {\n    \"attributeID\": 2796, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Reparaturmultiplikatorbonus pro Zyklus\", \n    \"displayName_en-us\": \"Repair Multiplier Bonus Per Cycle\", \n    \"displayName_es\": \"Bonificación de multiplicador de reparación por ciclo\", \n    \"displayName_fr\": \"Bonus de multiplicateur de réparations par cycle\", \n    \"displayName_it\": \"Repair Multiplier Bonus Per Cycle\", \n    \"displayName_ja\": \"サイクルあたりのリペア乗数ボーナス\", \n    \"displayName_ko\": \"사이클당 수리량 배수 보너스\", \n    \"displayName_ru\": \"Увеличение множителя эффективности ремонта за цикл\", \n    \"displayName_zh\": \"每循环维修倍增系数加成\", \n    \"displayNameID\": 318013, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 80, \n    \"name\": \"repairMultiplierBonusPerCycle\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"2797\": {\n    \"attributeID\": 2797, \n    \"categoryID\": 20, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximaler Reparaturmultiplikatorbonus\", \n    \"displayName_en-us\": \"Maximum Repair Multiplier Bonus\", \n    \"displayName_es\": \"Bonificación máx. de multiplicador de reparación\", \n    \"displayName_fr\": \"Bonus de multiplicateur de réparations maximum\", \n    \"displayName_it\": \"Maximum Repair Multiplier Bonus\", \n    \"displayName_ja\": \"最大リペア乗数ボーナス\", \n    \"displayName_ko\": \"최대 수리량 배수 보너스\", \n    \"displayName_ru\": \"Максимальное увеличение множителя эффективности ремонта\", \n    \"displayName_zh\": \"最大维修倍增系数加成\", \n    \"displayNameID\": 318012, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 80, \n    \"name\": \"repairMultiplierBonusMax\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"2798\": {\n    \"attributeID\": 2798, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Maximale Sprungmasse\", \n    \"displayName_en-us\": \"Maximum Jump Mass\", \n    \"displayName_es\": \"Masa máx. de salto\", \n    \"displayName_fr\": \"Masse de saut maximum\", \n    \"displayName_it\": \"Maximum Jump Mass\", \n    \"displayName_ja\": \"最大ジャンプ質量\", \n    \"displayName_ko\": \"최대 점프 질량\", \n    \"displayName_ru\": \"Максимальная масса для гиперпрыжка\", \n    \"displayName_zh\": \"最大跳跃质量\", \n    \"displayNameID\": 318014, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"gateMaxJumpMass\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 2\n  }, \n  \"2799\": {\n    \"attributeID\": 2799, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Precursor Destroyer Skill Attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusPD1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2800\": {\n    \"attributeID\": 2800, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Precursor Destroyer Skill Attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusPD2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2801\": {\n    \"attributeID\": 2801, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Precursor Battlecruiser Skill Attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusPBC1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2802\": {\n    \"attributeID\": 2802, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Precursor Battlecruiser Skill Attribute\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusPBC2\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2803\": {\n    \"attributeID\": 2803, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Sets how much ore gets mined\", \n    \"displayName_de\": \"Bergbauertrag\", \n    \"displayName_en-us\": \"Mining amount\", \n    \"displayName_es\": \"Cantidad extraída\", \n    \"displayName_fr\": \"Minerai extrait\", \n    \"displayName_it\": \"Mining amount\", \n    \"displayName_ja\": \"採掘量\", \n    \"displayName_ko\": \"채굴 총량\", \n    \"displayName_ru\": \"Объём добычи\", \n    \"displayName_zh\": \"开采量\", \n    \"displayNameID\": 318019, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningAmountSet\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"2804\": {\n    \"attributeID\": 2804, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"serviceModuleFullPowerStateArmorPlatingMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2805\": {\n    \"attributeID\": 2805, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structurePowerStateArmorPlatingMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2806\": {\n    \"attributeID\": 2806, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"Attribute defining usage count for penaltyless skill injections\", \n    \"displayName_de\": \"Skill-Injektionen ohne Abzug möglich\", \n    \"displayName_en-us\": \"Penaltyless Skill Injections Allowed\", \n    \"displayName_es\": \"Inyecciones de habilidades sin penalización permitidas\", \n    \"displayName_fr\": \"Injections de compétence autorisées sans pénalité\", \n    \"displayName_it\": \"Penaltyless Skill Injections Allowed\", \n    \"displayName_ja\": \"ペナルティレススキルインジェクションの許可数\", \n    \"displayName_ko\": \"페널티 없이 스킬 주입 가능\", \n    \"displayName_ru\": \"Разрешено использование СП-инъекторов без снижения эффективности\", \n    \"displayName_zh\": \"可不受技能惩罚地使用注射器的数量\", \n    \"displayNameID\": 318063, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"NonDiminishingSkillInjectorUses\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2807\": {\n    \"attributeID\": 2807, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Verringerte Verzögerung für erneute Aktivierung\", \n    \"displayName_en-us\": \"Reactivation Delay Reduction\", \n    \"displayName_es\": \"Reducción de la demora de reactivación\", \n    \"displayName_fr\": \"Réduction du délai de réactivation\", \n    \"displayName_it\": \"Reactivation Delay Reduction\", \n    \"displayName_ja\": \"再起動遅延の減少\", \n    \"displayName_ko\": \"재작동 준비 시간 감소\", \n    \"displayName_ru\": \"Уменьшение задержки перед повторной активацией\", \n    \"displayName_zh\": \"重启延时降低\", \n    \"displayNameID\": 318064, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"reactivationDelayBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2808\": {\n    \"attributeID\": 2808, \n    \"categoryID\": 7, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"TotalArmorRepairOnTarget\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2809\": {\n    \"attributeID\": 2809, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"TotalShieldRepairOnTarget\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2810\": {\n    \"attributeID\": 2810, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"TotalHullRepairOnTarget\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2811\": {\n    \"attributeID\": 2811, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"TotalCapTransferOnTarget\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"2812\": {\n    \"attributeID\": 2812, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration of npcBehaviorSmartBombDuration effect\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorSmartBombDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2814\": {\n    \"attributeID\": 2814, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The capacitor discharge for the npcBehaviorSmartBomb effect\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"behaviorSmartBombDischarge\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2815\": {\n    \"attributeID\": 2815, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The capacitor discharge amount for the npcBehaviorMicroJumpAttackDischarge effect\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMicroJumpAttackDischarge\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"2816\": {\n    \"attributeID\": 2816, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The range in meters for the npcBehaviorMicroJumpAttackRange effect\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMicroJumpAttackRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2818\": {\n    \"attributeID\": 2818, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The length of the jump induced by the npcBehaviorMicroJumpAttack effect in meters\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMicroJumpAttackJumpDistance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"2819\": {\n    \"attributeID\": 2819, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The duration of the npcBehaviorMicroJumpAttack effect from the time the effect is activated on a ship, until the ship jumps\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorMicroJumpAttackDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2820\": {\n    \"attributeID\": 2820, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to HAW turret damage\", \n    \"displayName_de\": \"Schadensbonus auf extrem schwenkbare Geschützturme\", \n    \"displayName_en-us\": \"High Angle Turret Damage Bonus\", \n    \"displayName_es\": \"Bonif. de daño de torreta de ángulo alto\", \n    \"displayName_fr\": \"Bonus de dégâts des tourelles à tir incliné\", \n    \"displayName_it\": \"High Angle Turret Damage Bonus\", \n    \"displayName_ja\": \"高角度タレットダメージボーナス\", \n    \"displayName_ko\": \"고각 터렛 피해 보너스\", \n    \"displayName_ru\": \"Увеличение урона от зенитных турелей\", \n    \"displayName_zh\": \"高角炮台伤害加成\", \n    \"displayNameID\": 318080, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1432, \n    \"name\": \"siegeHAWTurretDamageBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2821\": {\n    \"attributeID\": 2821, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to HAW Missile Launcher Rate of Fire\", \n    \"displayName_de\": \"Bonus auf schnelle Torpedowerfer\", \n    \"displayName_en-us\": \"Rapid Torpedo Launcher Bonus\", \n    \"displayName_es\": \"Bonificación del lanzatorpedos rápido\", \n    \"displayName_fr\": \"Bonus de rapidité des lance-torpilles\", \n    \"displayName_it\": \"Rapid Torpedo Launcher Bonus\", \n    \"displayName_ja\": \"ラピッドトルピードランチャーボーナス\", \n    \"displayName_ko\": \"급속 토피도 발사기 보너스\", \n    \"displayName_ru\": \"Улучшение пусковой установки скорострельных торпед\", \n    \"displayName_zh\": \"快速鱼雷发射器加成\", \n    \"displayNameID\": 318079, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"siegeHAWMissileROFBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2822\": {\n    \"attributeID\": 2822, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Length of jam duration\", \n    \"displayName_de\": \"Störungsdauer\", \n    \"displayName_en-us\": \"Jam Duration\", \n    \"displayName_es\": \"Duración de perturbación\", \n    \"displayName_fr\": \"Durée du brouillage\", \n    \"displayName_it\": \"Jam Duration\", \n    \"displayName_ja\": \"ジャミング持続時間\", \n    \"displayName_ko\": \"재밍 지속시간\", \n    \"displayName_ru\": \"Продолжительность помех\", \n    \"displayName_zh\": \"干扰持续时间\", \n    \"displayNameID\": 318103, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ecmJamDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"2823\": {\n    \"attributeID\": 2823, \n    \"categoryID\": 29, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Modifier for damageMultiplierBonusMax used by Triglavians\", \n    \"displayName_de\": \"Maximaler Schadensbonusmultiplikator-Modifier\", \n    \"displayName_en-us\": \"Maximum Damage Bonus Multiplier Modifier\", \n    \"displayName_es\": \"Modificador de multiplicador de bonificación de daño máx.\", \n    \"displayName_fr\": \"Modificateur de multiplicateur de bonus de dégâts maximum\", \n    \"displayName_it\": \"Maximum Damage Bonus Multiplier Modifier\", \n    \"displayName_ja\": \"最大ダメージボーナス乗数モディファイヤー\", \n    \"displayName_ko\": \"최대 피해량 보너스 계수\", \n    \"displayName_ru\": \"Модификатор множителя бонуса максимального урона\", \n    \"displayName_zh\": \"最大伤害加成系数调整\", \n    \"displayNameID\": 318123, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"damageMultiplierBonusMaxModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2824\": {\n    \"attributeID\": 2824, \n    \"categoryID\": 29, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Modifier for Triglavian ramp-up value\", \n    \"displayName_de\": \"Schadensmultiplikatorbonus pro Zyklus-Modifier\", \n    \"displayName_en-us\": \"Damage Multiplier Bonus Per Cycle Modifier\", \n    \"displayName_es\": \"Bonif. de multiplicador de daño por modificador de ciclo\", \n    \"displayName_fr\": \"Modificateur de bonus de multiplicateur de dégâts par cycle\", \n    \"displayName_it\": \"Damage Multiplier Bonus Per Cycle Modifier\", \n    \"displayName_ja\": \"サイクルモディファイヤーあたりのダメージ乗数ボーナス\", \n    \"displayName_ko\": \"사이클 계수에 따른 피해량 보너스\", \n    \"displayName_ru\": \"Модификатор бонуса к множителю урона за цикл\", \n    \"displayName_zh\": \"每循环伤害系数加成调整\", \n    \"displayNameID\": 318124, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"damageMultiplierBonusPerCycleModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2825\": {\n    \"attributeID\": 2825, \n    \"categoryID\": 7, \n    \"dataType\": 0, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Implantatsetbonus\", \n    \"displayName_en-us\": \"Implant Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto de implantes\", \n    \"displayName_fr\": \"Bonus de l'ensemble Implant\", \n    \"displayName_it\": \"Implant Set Bonus\", \n    \"displayName_ja\": \"インプラントセットボーナス\", \n    \"displayName_ko\": \"임플란트 세트 보너스\", \n    \"displayName_ru\": \"Бонус комплекта имплантатов\", \n    \"displayName_zh\": \"植入体套装加成\", \n    \"displayNameID\": 318125, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"setBonusMimesis\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"2826\": {\n    \"attributeID\": 2826, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayName_de\": \"Verwendet industrielle Anziehungsfeld-Technologie\", \n    \"displayName_en-us\": \"Uses Industrial Cynosural Field Technology\", \n    \"displayName_es\": \"Usa tecnología industrial de campo cinosural\", \n    \"displayName_fr\": \"Utilise la technologie de champ cynosural industriel\", \n    \"displayName_it\": \"Uses Industrial Cynosural Field Technology\", \n    \"displayName_ja\": \"工業サイノシュラルフィールド技術の使用回数\", \n    \"displayName_ko\": \"인더스트리얼 사이노슈럴 필드 기술 사용\", \n    \"displayName_ru\": \"Используется технология промышленных приводных маяков\", \n    \"displayName_zh\": \"使用工业诱导力场科技\", \n    \"displayNameID\": 318133, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"isIndustrialCyno\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"2827\": {\n    \"attributeID\": 2827, \n    \"categoryID\": 31, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"The item with this attribute set to 1 keeps track of when added to space, and puts that on the slim item, but if it was before downtime the slim item value gets set to -1. Created for supporting long animations upon adding to space.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"hasLongAnimationWhenAddedToSpaceScene\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"2828\": {\n    \"attributeID\": 2828, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"skill bonus for trig dread\", \n    \"displayName_de\": \"Bonus für besondere Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Усиление особого умения\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 318140, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusPDread1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"2829\": {\n    \"attributeID\": 2829, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Triglavian Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtPC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2830\": {\n    \"attributeID\": 2830, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Triglavian Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtPC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2831\": {\n    \"attributeID\": 2831, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtPC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"2832\": {\n    \"attributeID\": 2832, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"The maximum number of ships that can be jumped per activation\", \n    \"displayName_de\": \"Maximale Schiffe für Sprung\", \n    \"displayName_en-us\": \"Maximum Ship Jump cap\", \n    \"displayName_es\": \"Límite máx. de salto de nave\", \n    \"displayName_fr\": \"Limite max. de sauts de vaisseau\", \n    \"displayName_it\": \"Maximum Ship Jump cap\", \n    \"displayName_ja\": \"艦船の最大ジャンプ能力\", \n    \"displayName_ko\": \"최대 점프 횟수\", \n    \"displayName_ru\": \"Максимальное количество кораблей для прыжка\", \n    \"displayName_zh\": \"最大舰船跳跃数量\", \n    \"displayNameID\": 318141, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"mjdShipJumpCap\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"3015\": {\n    \"attributeID\": 3015, \n    \"categoryID\": 2, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"Shield HP Bonus used for nirvana implants\", \n    \"displayName_de\": \"HP-Bonus für Schilde\", \n    \"displayName_en-us\": \"Shield Hitpoint Bonus\", \n    \"displayName_es\": \"Bonif. de puntos de vida del escudo\", \n    \"displayName_fr\": \"Bonus de points de vie du bouclier\", \n    \"displayName_it\": \"Shield Hitpoint Bonus\", \n    \"displayName_ja\": \"シールドHPボーナス\", \n    \"displayName_ko\": \"실드 내구도 보너스\", \n    \"displayName_ru\": \"Бонус к запасу прочности щитов\", \n    \"displayName_zh\": \"护盾值加成\", \n    \"displayNameID\": 555494, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1384, \n    \"name\": \"shieldHpBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3017\": {\n    \"attributeID\": 3017, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Implant Set Nirvana\", \n    \"displayName_de\": \"Nirvana Set-Bonus\", \n    \"displayName_en-us\": \"Nirvana Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Nirvana\", \n    \"displayName_fr\": \"Bonus de l'ensemble Nirvana\", \n    \"displayName_it\": \"Nirvana Set Bonus\", \n    \"displayName_ja\": \"ニルヴァーナセットボーナス\", \n    \"displayName_ko\": \"니르바나 세트 보너스\", \n    \"displayName_ru\": \"Бонус комплекта «Нирвана»\", \n    \"displayName_zh\": \"极乐套装加成\", \n    \"displayNameID\": 555503, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ImplantSetNirvana\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"3020\": {\n    \"attributeID\": 3020, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Fregattenflucht-Hangar\", \n    \"displayName_en-us\": \"Frigate Escape Bay\", \n    \"displayName_es\": \"Plataforma escape fragata\", \n    \"displayName_fr\": \"Hangar à frégate de secours\", \n    \"displayName_it\": \"Frigate Escape Bay\", \n    \"displayName_ja\": \"フリゲート脱出ベイ\", \n    \"displayName_ko\": \"프리깃 비상 격납고\", \n    \"displayName_ru\": \"Отсек спасательного фрегата\", \n    \"displayName_zh\": \"护卫舰逃生舱\", \n    \"displayNameID\": 561201, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"frigateEscapeBayCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 138\n  }, \n  \"3023\": {\n    \"attributeID\": 3023, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayName_de\": \"Savior Set-Bonus\", \n    \"displayName_en-us\": \"Savior Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Savior\", \n    \"displayName_fr\": \"Bonus de l'ensemble Sauveur\", \n    \"displayName_it\": \"Savior Set Bonus\", \n    \"displayName_ja\": \"セイビアーセットボーナス\", \n    \"displayName_ko\": \"세이비어 세트 보너스\", \n    \"displayName_ru\": \"Бонус комплекта «Спаситель»\", \n    \"displayName_zh\": \"救世套装加成\", \n    \"displayNameID\": 559060, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetSavior\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"3024\": {\n    \"attributeID\": 3024, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Bonus für Fernreparatur-Durchlaufzeit und Energiespeicherkosten\", \n    \"displayName_en-us\": \"Remote Rep Cycle Time and Capacitor Cost Bonus\", \n    \"displayName_es\": \"Bonificación al coste de condensador y tiempo de ciclo de reparador remoto\", \n    \"displayName_fr\": \"Bonus de temps de cycle et de coût en capaciteur de la réparation à distance\", \n    \"displayName_it\": \"Remote Rep Cycle Time and Capacitor Cost Bonus\", \n    \"displayName_ja\": \"リモートリペアのサイクル時間とキャパシタ消費ボーナス\", \n    \"displayName_ko\": \"원격 수리 사이클 시간 및 캐패시터 사용량 보너스\", \n    \"displayName_ru\": \"Бонус ко врем. цикла и потр. энергии для дист. ремонта\", \n    \"displayName_zh\": \"远程维修装备单次运转时间和电容器消耗加成\", \n    \"displayNameID\": 559061, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"remoteRepDurationCapBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3025\": {\n    \"attributeID\": 3025, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"ActiveSystemJump\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3026\": {\n    \"attributeID\": 3026, \n    \"dataType\": 4, \n    \"defaultValue\": 561098.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"FilamentDescriptionMessageID\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3027\": {\n    \"attributeID\": 3027, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayName_de\": \"Hydra Set-Bonus\", \n    \"displayName_en-us\": \"Hydra Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Hydra\", \n    \"displayName_fr\": \"Bonus de l'ensemble Hydra\", \n    \"displayName_it\": \"Hydra Set Bonus\", \n    \"displayName_ja\": \"ハイドラセットボーナス\", \n    \"displayName_ko\": \"히드라 세트 보너스\", \n    \"displayName_ru\": \"Бонус набора «Гидра»\", \n    \"displayName_zh\": \"九头蛇套件加成\", \n    \"displayNameID\": 562541, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 0, \n    \"name\": \"implantSetHydra\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"3028\": {\n    \"attributeID\": 3028, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Drohnen-Nachführungsgeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Drone Tracking Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de rastreo de drones\", \n    \"displayName_fr\": \"Bonus de vitesse de poursuite des drones\", \n    \"displayName_it\": \"Drone Tracking Speed Bonus\", \n    \"displayName_ja\": \"ドローン追跡速度ボーナス\", \n    \"displayName_ko\": \"드론 트래킹 속도 보너스\", \n    \"displayName_ru\": \"Бонус к скорости наведения дронов\", \n    \"displayName_zh\": \"无人机跟踪速度加成\", \n    \"displayNameID\": 562542, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1398, \n    \"name\": \"hydraDroneTrackingBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3029\": {\n    \"attributeID\": 3029, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Bonus auf optimale Reichweite und Präzisionsabfall-Reichweite vom Drohnen\", \n    \"displayName_en-us\": \"Drone Optimal and Falloff Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcances efectivo y óptimo de drones\", \n    \"displayName_fr\": \"Bonus de portée optimale et de déperdition des drones\", \n    \"displayName_it\": \"Drone Optimal and Falloff Range Bonus\", \n    \"displayName_ja\": \"ドローンの最適射程距離と精度低下範囲ボーナス\", \n    \"displayName_ko\": \"드론 최적사거리 및 유효사거리 보너스\", \n    \"displayName_ru\": \"Бонус к оптимальной и добавочной дальности дронов\", \n    \"displayName_zh\": \"无人机最佳射程和失准范围加成\", \n    \"displayNameID\": 562543, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"hydraDroneRangeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3030\": {\n    \"attributeID\": 3030, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Lenkwaffenflugdauer-Bonus\", \n    \"displayName_en-us\": \"Missile Flight Time Bonus\", \n    \"displayName_es\": \"Bonificación de tiempo de vuelo de misiles\", \n    \"displayName_fr\": \"Bonus de temps de vol des missiles\", \n    \"displayName_it\": \"Missile Flight Time Bonus\", \n    \"displayName_ja\": \"ミサイル飛行時間ボーナス\", \n    \"displayName_ko\": \"미사일 비행 시간 보너스\", \n    \"displayName_ru\": \"Бонус к времени полёта ракет\", \n    \"displayName_zh\": \"导弹飞行时间加成\", \n    \"displayNameID\": 562544, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"hydraMissileFlightTimeBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3031\": {\n    \"attributeID\": 3031, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Lenkwaffenexplosionsgeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Missile Explosion Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de explosión de misiles\", \n    \"displayName_fr\": \"Bonus de vitesse d'explosion des missiles\", \n    \"displayName_it\": \"Missile Explosion Velocity Bonus\", \n    \"displayName_ja\": \"ミサイル爆発速度ボーナス\", \n    \"displayName_ko\": \"미사일 폭발 속도 보너스\", \n    \"displayName_ru\": \"Бонус к скорости распространения взрыва ракет\", \n    \"displayName_zh\": \"导弹爆炸速度加成\", \n    \"displayNameID\": 562545, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1389, \n    \"name\": \"hydraMissileExplosionVelocityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3034\": {\n    \"attributeID\": 3034, \n    \"categoryID\": 6, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplier for maximum number of targets that can be locked.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1004, \n    \"name\": \"maxLockedTargetsMultiplier\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3035\": {\n    \"attributeID\": 3035, \n    \"categoryID\": 27, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Warp Scramble Strength Bonus\", \n    \"displayName_de\": \"Bonus auf Warp-Störungsstärke\", \n    \"displayName_en-us\": \"Warp Scramble Strength Bonus\", \n    \"displayName_es\": \"Bonificación de fuerza de distorsión de warp\", \n    \"displayName_fr\": \"Bonus de puissance d'inhibition de warp\", \n    \"displayName_it\": \"Warp Scramble Strength Bonus\", \n    \"displayName_ja\": \"ワープスクランブル強度ボーナス\", \n    \"displayName_ko\": \"워프 스크램블 강도 보너스\", \n    \"displayName_ru\": \"Влияние на мощность глушения варп-двигателей\", \n    \"displayName_zh\": \"跃迁干扰强度加成\", \n    \"displayNameID\": 600129, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 111, \n    \"name\": \"warpScrambleStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 139\n  }, \n  \"3036\": {\n    \"attributeID\": 3036, \n    \"categoryID\": 29, \n    \"dataType\": 2, \n    \"defaultValue\": 1.0, \n    \"description\": \"The maximum distance from the original target from which additional targets can receive arc damage\", \n    \"displayName_de\": \"Vorton-Bogenreichweite\", \n    \"displayName_en-us\": \"Vorton Arc Range\", \n    \"displayName_es\": \"Alcance del arco vortónico\", \n    \"displayName_fr\": \"Portée d'arc de vortons\", \n    \"displayName_it\": \"Vorton Arc Range\", \n    \"displayName_ja\": \"ヴォートンアークの射程\", \n    \"displayName_ko\": \"보르톤 아크 범위\", \n    \"displayName_ru\": \"Дальность вортонной дуги\", \n    \"displayName_zh\": \"电弧范围\", \n    \"displayNameID\": 564027, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 24252, \n    \"name\": \"VortonArcRange\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Die maximale Entfernung, die die Bogenkette vom ursprünglichen Ziel ausgehend erreichen kann\", \n    \"tooltipDescription_en-us\": \"The maximum distance the arc chain can reach from the original target\", \n    \"tooltipDescription_es\": \"La distancia máxima que puede alcanzar la cadena de arco desde el objetivo original.\", \n    \"tooltipDescription_fr\": \"La distance maximum que les chaînes d'arc peuvent atteindre depuis la cible d'origine\", \n    \"tooltipDescription_it\": \"The maximum distance the arc chain can reach from the original target\", \n    \"tooltipDescription_ja\": \"アークチェーン発射地点から最初のターゲットに届く最大距離\", \n    \"tooltipDescription_ko\": \"아크 체인이 주 대상으로부터 날아갈 수 있는 범위\", \n    \"tooltipDescription_ru\": \"Максимальное расстояние от первоначальной цели, которое может преодолеть электрическая цепь\", \n    \"tooltipDescription_zh\": \"电弧链从第一个目标开始所能波及的最远距离\", \n    \"tooltipDescriptionID\": 564029, \n    \"tooltipTitleID\": 564028, \n    \"unitID\": 1\n  }, \n  \"3037\": {\n    \"attributeID\": 3037, \n    \"categoryID\": 29, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"Maximum number of arc targets hit.\", \n    \"displayName_de\": \"Bogenkettenziele\", \n    \"displayName_en-us\": \"Arc Chain Targets\", \n    \"displayName_es\": \"Objetivos de cadena de arco\", \n    \"displayName_fr\": \"Cibles de chaîne d'arc\", \n    \"displayName_it\": \"Arc Chain Targets\", \n    \"displayName_ja\": \"アークチェーンのターゲット数\", \n    \"displayName_ko\": \"아크 체인 타겟\", \n    \"displayName_ru\": \"Цели электрической цепи\", \n    \"displayName_zh\": \"电弧链目标\", \n    \"displayNameID\": 564030, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 24252, \n    \"name\": \"VortonArcTargets\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Die maximale Anzahl an Zielen, die von Vorton-Bögen getroffen werden kann\", \n    \"tooltipDescription_en-us\": \"The maximum number of targets hit by Vorton Arcs\", \n    \"tooltipDescription_es\": \"El número máximo de objetivos alcanzados por arcos vortónicos.\", \n    \"tooltipDescription_fr\": \"Le nombre maximum de cibles touchées par les arcs de vortons\", \n    \"tooltipDescription_it\": \"The maximum number of targets hit by Vorton Arcs\", \n    \"tooltipDescription_ja\": \"ヴォートンアークを受ける最大ターゲット数\", \n    \"tooltipDescription_ko\": \"보르톤 아크의 최대 타겟 수\", \n    \"tooltipDescription_ru\": \"Максимальное число целей, которые могут поразить вортонные дуги\", \n    \"tooltipDescription_zh\": \"电弧所能击中的目标数上限\", \n    \"tooltipDescriptionID\": 564032, \n    \"tooltipTitleID\": 564031\n  }, \n  \"3038\": {\n    \"attributeID\": 3038, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"Referenced by code to know that cynosural fields will fail in the same park as this type\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"isCynoJammer\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3039\": {\n    \"attributeID\": 3039, \n    \"dataType\": 2, \n    \"defaultValue\": 1.0, \n    \"description\": \"Controls how much of the NpcBehaviorSmartBomb effect's damage gets applied to entities\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"behaviorSmartBombEntityDamageMultiplier\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3041\": {\n    \"attributeID\": 3041, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusUF1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3042\": {\n    \"attributeID\": 3042, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusUF2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3043\": {\n    \"attributeID\": 3043, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusUC1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3044\": {\n    \"attributeID\": 3044, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusUC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3045\": {\n    \"attributeID\": 3045, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusUB1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3046\": {\n    \"attributeID\": 3046, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusUB2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3050\": {\n    \"attributeID\": 3050, \n    \"dataType\": 4, \n    \"defaultValue\": 2.0, \n    \"description\": \"The amount of fleets needed for a single pvp filament match \", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"AmountOfFleetsPerMatch\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3051\": {\n    \"attributeID\": 3051, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 1000.0, \n    \"description\": \"The range players in fleet need to be within fleet member doing an action\", \n    \"displayName_de\": \"Wirkungsbereichradius\", \n    \"displayName_en-us\": \"Area Effect Radius\", \n    \"displayName_es\": \"Radio de acción\", \n    \"displayName_fr\": \"Rayon de la zone d'effet\", \n    \"displayName_it\": \"Area Effect Radius\", \n    \"displayName_ja\": \"有効範囲半径\", \n    \"displayName_ko\": \"유효 반경\", \n    \"displayName_ru\": \"Радиус действия\", \n    \"displayName_zh\": \"范围效果半径\", \n    \"displayNameID\": 564554, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"FleetMemberPickupRadius\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipTitleID\": 564555, \n    \"unitID\": 1\n  }, \n  \"3052\": {\n    \"attributeID\": 3052, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"Amount of players in fleet needed to be valid\", \n    \"displayName_de\": \"Anzahl benötigter Schiffe\", \n    \"displayName_en-us\": \"Number Of Ships required\", \n    \"displayName_es\": \"N.º de naves necesarias\", \n    \"displayName_fr\": \"Nombre de vaisseaux requis\", \n    \"displayName_it\": \"Number Of Ships required\", \n    \"displayName_ja\": \"必要艦船数\", \n    \"displayName_ko\": \"필요한 함선 수\", \n    \"displayName_ru\": \"Необходимое количество кораблей\", \n    \"displayName_zh\": \"所需舰船数量\", \n    \"displayNameID\": 564556, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"FleetMembersNeeded\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"3093\": {\n    \"attributeID\": 3093, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"A dummy attribute for brute-forcing the system-wide effects info bubble bonus tooltip to appear on a player's HUD.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"showSystemInfoBubble\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3095\": {\n    \"attributeID\": 3095, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Bonus für Sondenstärke\", \n    \"displayName_en-us\": \"Probe Strength Bonus\", \n    \"displayName_es\": \"Bonificación de intensidad de la sonda\", \n    \"displayName_fr\": \"Bonus de puissance des sondes\", \n    \"displayName_it\": \"Probe Strength Bonus\", \n    \"displayName_ja\": \"プローブ強度ボーナス\", \n    \"displayName_ko\": \"프로브 강도 보너스\", \n    \"displayName_ru\": \"Увеличение чувствительности зондов\", \n    \"displayName_zh\": \"探针强度加成\", \n    \"displayNameID\": 568981, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"scanProbeStrengthBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"3096\": {\n    \"attributeID\": 3096, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"locationListID\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3097\": {\n    \"attributeID\": 3097, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"lightYearDistanceMax\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3098\": {\n    \"attributeID\": 3098, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"armorRepairDurationBonus\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3099\": {\n    \"attributeID\": 3099, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shieldBoosterDurationBonus\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3101\": {\n    \"attributeID\": 3101, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"Describes which type of deed fits in this structure\", \n    \"displayName_de\": \"Quantumkern-Typ\", \n    \"displayName_en-us\": \"Quantum Core Type\", \n    \"displayName_es\": \"Tipo de núcleo cuántico\", \n    \"displayName_fr\": \"Type de réacteur quantique\", \n    \"displayName_it\": \"Quantum Core Type\", \n    \"displayName_ja\": \"クアンタムコアタイプ\", \n    \"displayName_ko\": \"양자코어 종류\", \n    \"displayName_ru\": \"Тип квантового ядра\", \n    \"displayName_zh\": \"量子芯类型\", \n    \"displayNameID\": 569361, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"structureRequiresDeedType\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 116\n  }, \n  \"3102\": {\n    \"attributeID\": 3102, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"when authored alongside the effectTractorBeamCan it will determine if it only tractors corpses instead of wrecks and cans\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"onlyTractorCorpses\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3104\": {\n    \"attributeID\": 3104, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Amount of fuel consumed by tactical capsuleer recloner\", \n    \"displayName_de\": \"Verbrauchsmenge\", \n    \"displayName_en-us\": \"Consumption Quantity\", \n    \"displayName_es\": \"Cantidad de consumo\", \n    \"displayName_fr\": \"Quantité consommée\", \n    \"displayName_it\": \"Consumption Quantity\", \n    \"displayName_ja\": \"消費量\", \n    \"displayName_ko\": \"소모량\", \n    \"displayName_ru\": \"Количество потребляемого топлива\", \n    \"displayName_zh\": \"消耗量\", \n    \"displayNameID\": 571980, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"reclonerFuelQuantity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 138\n  }, \n  \"3105\": {\n    \"attributeID\": 3105, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"Type of fuel consumed by tactical capsuleer recloner\", \n    \"displayName_de\": \"Kloner-Verbrauchstyp\", \n    \"displayName_en-us\": \"Recloner Consumption Type\", \n    \"displayName_es\": \"Tipo de consumo del reclonador\", \n    \"displayName_fr\": \"Type de consommation du clonage\", \n    \"displayName_it\": \"Recloner Consumption Type\", \n    \"displayName_ja\": \"リクローナー消費タイプ\", \n    \"displayName_ko\": \"복제기 사용 연료\", \n    \"displayName_ru\": \"Тип топлива, потребляемого тактическим клонировщиком\", \n    \"displayName_zh\": \"克隆重制体消耗类型\", \n    \"displayNameID\": 571979, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"reclonerFuelType\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipTitleID\": 572380, \n    \"unitID\": 116\n  }, \n  \"3107\": {\n    \"attributeID\": 3107, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"Rapture Implant Set Bonus\", \n    \"displayName_de\": \"Begeisterungsset-Bonus\", \n    \"displayName_en-us\": \"Rapture Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto Rapture\", \n    \"displayName_fr\": \"Bonus de l'ensemble Rapture\", \n    \"displayName_it\": \"Rapture Set Bonus\", \n    \"displayName_ja\": \"ラプチャーセットボーナス\", \n    \"displayName_ko\": \"랩쳐 세트 보너스\", \n    \"displayName_ru\": \"Бонус комплекта «Экстаз»\", \n    \"displayName_zh\": \"销魂套装加成\", \n    \"displayNameID\": 573152, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ImplantSetRapture\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"3108\": {\n    \"attributeID\": 3108, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bastion effect bonus to missile rate of fire\", \n    \"displayName_de\": \"Feuerraten-Bonus für Lenkwaffen\", \n    \"displayName_en-us\": \"Missile Rate of Fire Bonus\", \n    \"displayName_es\": \"Bonificación de cadencia de tiro de misiles\", \n    \"displayName_fr\": \"Bonus de cadence de tir des missiles\", \n    \"displayName_it\": \"Missile Rate of Fire Bonus\", \n    \"displayName_ja\": \"ミサイル発射間隔ボーナス\", \n    \"displayName_ko\": \"미사일 연사속도 보너스\", \n    \"displayName_ru\": \"Уменьшение цикла выстрела ракетами\", \n    \"displayName_zh\": \"导弹射速加成\", \n    \"displayNameID\": 575757, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"bastionMissileROFBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3109\": {\n    \"attributeID\": 3109, \n    \"categoryID\": 37, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bastion effect bonus to turret rate of fire\", \n    \"displayName_de\": \"Feuerraten-Bonus für Geschütztürme\", \n    \"displayName_en-us\": \"Turret Rate of Fire Bonus\", \n    \"displayName_es\": \"Bonificación de cadencia de tiro de torreta\", \n    \"displayName_fr\": \"Bonus de cadence de tir de tourelle\", \n    \"displayName_it\": \"Turret Rate of Fire Bonus\", \n    \"displayName_ja\": \"タレット発射間隔ボーナス\", \n    \"displayName_ko\": \"터렛 연사속도 보너스\", \n    \"displayName_ru\": \"Уменьшение цикла выстрела турелей\", \n    \"displayName_zh\": \"炮台射速加成\", \n    \"displayNameID\": 575758, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1397, \n    \"name\": \"bastionTurretROFBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3110\": {\n    \"attributeID\": 3110, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Salvage drone access difficult bonus attribute for salvage drone specialization skill\", \n    \"displayName_de\": \"Zugriffsschwierigkeitsbonus\", \n    \"displayName_en-us\": \"Access Difficulty Bonus\", \n    \"displayName_es\": \"Bonificación de dificultad de acceso\", \n    \"displayName_fr\": \"Bonus de difficulté d'accès\", \n    \"displayName_it\": \"Access Difficulty Bonus\", \n    \"displayName_ja\": \"アクセス難度ボーナス\", \n    \"displayName_ko\": \"잠금 해제 보너스\", \n    \"displayName_ru\": \"Снижение сложности доступа\", \n    \"displayName_zh\": \"获取成功率\", \n    \"displayNameID\": 575834, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"specAccessDifficultyBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 121\n  }, \n  \"3113\": {\n    \"attributeID\": 3113, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"the passive bonus to signature radius from signature suppressors\", \n    \"displayName_de\": \"Signaturradius-Bonus\", \n    \"displayName_en-us\": \"Signature Radius Bonus\", \n    \"displayName_es\": \"Bonificación de radio de la señal\", \n    \"displayName_fr\": \"Bonus de rayon de signature\", \n    \"displayName_it\": \"Signature Radius Bonus\", \n    \"displayName_ja\": \"シグネチャ半径ボーナス\", \n    \"displayName_ko\": \"시그니처 반경 보너스\", \n    \"displayName_ru\": \"Увеличение радиуса сигнатуры\", \n    \"displayName_zh\": \"信号半径加成\", \n    \"displayNameID\": 576047, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"signatureSuppressorSignatureRadiusBonusPassive\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 108\n  }, \n  \"3114\": {\n    \"attributeID\": 3114, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus to signature radius granted by signature suppressor activation\", \n    \"displayName_de\": \"Aktiver Signaturradius-Bonus\", \n    \"displayName_en-us\": \"Active Signature Radius Bonus\", \n    \"displayName_es\": \"Bonificación de radio de la señal activa\", \n    \"displayName_fr\": \"Bonus de rayon de signature actif\", \n    \"displayName_it\": \"Active Signature Radius Bonus\", \n    \"displayName_ja\": \"有効なシグネチャ半径ボーナス\", \n    \"displayName_ko\": \"액티브 시그니처 반경 보너스\", \n    \"displayName_ru\": \"Увеличение текущего радиуса сигнатуры\", \n    \"displayName_zh\": \"主动信号半径加成\", \n    \"displayNameID\": 576048, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1390, \n    \"name\": \"signatureSuppressorSignatureRadiusBonusActive\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 108\n  }, \n  \"3115\": {\n    \"attributeID\": 3115, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Length of activation time.\", \n    \"displayName_de\": \"Aktivierungszeit / -dauer\", \n    \"displayName_en-us\": \"Activation time / duration\", \n    \"displayName_es\": \"Tiempo de activación/duración\", \n    \"displayName_fr\": \"Délai / Durée d'activation\", \n    \"displayName_it\": \"Activation time / duration\", \n    \"displayName_ja\": \"起動（待機）時間\", \n    \"displayName_ko\": \"활성화 시간 / 지속시간\", \n    \"displayName_ru\": \"Время цикла\", \n    \"displayName_zh\": \"作用时间/单次运转时间\", \n    \"displayNameID\": 576795, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"durationHighisGood\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"3117\": {\n    \"attributeID\": 3117, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If this ship attribute is > 0 then ship is immune from remote decloak pings\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"cloakStabilizationStrength\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"3118\": {\n    \"attributeID\": 3118, \n    \"categoryID\": 7, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"Duration of the cloak-stabilization dbuff provided by a cloak module\", \n    \"displayName_de\": \"Tarnmoduldauer stabilisieren\", \n    \"displayName_en-us\": \"Stabilize Cloak Duration\", \n    \"displayName_es\": \"Estabilizar duración de camuflaje\", \n    \"displayName_fr\": \"Durée de stabilisation de camouflage\", \n    \"displayName_it\": \"Stabilize Cloak Duration\", \n    \"displayName_ja\": \"クローク持続時間を安定させる\", \n    \"displayName_ko\": \"클로킹 안정화 지속시간\", \n    \"displayName_ru\": \"Стабилизировать длительность маскировки\", \n    \"displayName_zh\": \"稳定隐形持续时间\", \n    \"displayNameID\": 580047, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"stabilizeCloakDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 3\n  }, \n  \"3120\": {\n    \"attributeID\": 3120, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"modifies warp bubble immuntiy \", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"warpBubbleImmuneBonus\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3123\": {\n    \"attributeID\": 3123, \n    \"categoryID\": 7, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"If set to 1 on a module, that module can be activated whilst under gate cloak. (Does NOT include any other cloak mode)\", \n    \"displayName_de\": \"Erlaubt Aktivierung während eines getarnten Sprungtor-Sprungs\", \n    \"displayName_en-us\": \"Allows activation whilst cloaked from a stargate jump\", \n    \"displayName_es\": \"Permite la activación mientras se está camuflado por un salto interestelar\", \n    \"displayName_fr\": \"Permet l’activation sous l’effet du camouflage suite à un saut de portail stellaire\", \n    \"displayName_it\": \"Allows activation whilst cloaked from a stargate jump\", \n    \"displayName_ja\": \"スターゲートジャンプでクローク状態からの起動を可能にする\", \n    \"displayName_ko\": \"스타게이트 점프로 인한 클로킹 중 활성화 가능\", \n    \"displayName_ru\": \"Можно активировать в режиме маскировки, который включается при прыжке через звёздные врата\", \n    \"displayName_zh\": \"跳跃星门后隐身状态下可以使用\", \n    \"displayNameID\": 581826, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 2106, \n    \"name\": \"canActivateInGateCloak\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 137\n  }, \n  \"3124\": {\n    \"attributeID\": 3124, \n    \"categoryID\": 10, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Reduktion der Drohnen-Bandbreite\", \n    \"displayName_en-us\": \"Drone Bandwidth Penalty\", \n    \"displayName_es\": \"Penalización de ancho de banda de drones\", \n    \"displayName_fr\": \"Pénalité de bande passante de drone\", \n    \"displayName_it\": \"Drone Bandwidth Penalty\", \n    \"displayName_ja\": \"ドローン帯域幅ペナルティ\", \n    \"displayName_ko\": \"드론 대역폭 페널티\", \n    \"displayName_ru\": \"Сужение канала управления дронами\", \n    \"displayName_zh\": \"无人机带宽惩罚\", \n    \"displayNameID\": 581949, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 2987, \n    \"name\": \"droneBandwidthPercentage\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"3125\": {\n    \"attributeID\": 3125, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Grants the ability to open Jump Portals\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"enableOpenJumpPortal\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3126\": {\n    \"attributeID\": 3126, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Grants the ability to perform conduit jumps\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"enablePerformConduitJump\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3130\": {\n    \"attributeID\": 3130, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"Type that is used for consumption from cargo hold when activating group jump drive operation.\", \n    \"displayName_de\": \"Treibstoffbedarf des Gruppensprungs\", \n    \"displayName_en-us\": \"Group Jump Fuel Need\", \n    \"displayName_es\": \"Necesidad de combustible para salto conductivo\", \n    \"displayName_fr\": \"Carburant requis pour le saut de groupe\", \n    \"displayName_it\": \"Group Jump Fuel Need\", \n    \"displayName_ja\": \"グループジャンプ必要燃料\", \n    \"displayName_ko\": \"그룹 점프 연료 사용량\", \n    \"displayName_ru\": \"Потребление топлива при групповом прыжке\", \n    \"displayName_zh\": \"团队跳跃燃料需求\", \n    \"displayNameID\": 583318, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"groupJumpConsumptionType\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die Treibstoffart, die für den Gruppensprungantrieb benötigt wird\", \n    \"tooltipDescription_en-us\": \"The type of fuel required to use the group jump drive\", \n    \"tooltipDescription_es\": \"Tipo de combustible necesario para usar motor de salto conductivo.\", \n    \"tooltipDescription_fr\": \"Le type de carburant requis à utiliser dans le propulseur interstellaire de groupe\", \n    \"tooltipDescription_it\": \"The type of fuel required to use the group jump drive\", \n    \"tooltipDescription_ja\": \"グループジャンプドライブを使用するのに必要な燃料タイプです\", \n    \"tooltipDescription_ko\": \"그룹 점프 드라이브 사용 연료\", \n    \"tooltipDescription_ru\": \"Тип топлива для гипердвигателя во время группового прыжка\", \n    \"tooltipDescription_zh\": \"使用团队跳跃引擎所需的燃料种类\", \n    \"tooltipDescriptionID\": 583320, \n    \"tooltipTitleID\": 583319, \n    \"unitID\": 116\n  }, \n  \"3131\": {\n    \"attributeID\": 3131, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Number of units needed to conduit jump\", \n    \"displayName_de\": \"Verbrauch des Gruppensprungs\", \n    \"displayName_en-us\": \"Conduit Jump Consumption Amount\", \n    \"displayName_es\": \"Consumo de salto conductivo\", \n    \"displayName_fr\": \"Quantité consommée par le saut de groupe\", \n    \"displayName_it\": \"Conduit Jump Consumption Amount\", \n    \"displayName_ja\": \"コンジットジャンプ消費量\", \n    \"displayName_ko\": \"점프 필드 연료 소모량\", \n    \"displayName_ru\": \"Расход топлива при групповом прыжке\", \n    \"displayName_zh\": \"导管跳跃消耗量\", \n    \"displayNameID\": 583321, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"conduitJumpDriveConsumptionAmount\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Für den Gruppensprung benötigte Anzahl an Einheiten\", \n    \"tooltipDescription_en-us\": \"Number of units needed to conduit jump\", \n    \"tooltipDescription_es\": \"Unidades necesarias para salto conductivo\", \n    \"tooltipDescription_fr\": \"Nombre d’unités requises pour le saut de groupe\", \n    \"tooltipDescription_it\": \"Number of units needed to conduit jump\", \n    \"tooltipDescription_ja\": \"コンジットジャンプに必要なユニット数\", \n    \"tooltipDescription_ko\": \"점프 필드 활성화 시 소모 연료\", \n    \"tooltipDescription_ru\": \"Количество ед. для группового прыжка\", \n    \"tooltipDescription_zh\": \"导管跳跃需要的单位数量\", \n    \"tooltipDescriptionID\": 583323, \n    \"tooltipTitleID\": 583322, \n    \"unitID\": 138\n  }, \n  \"3132\": {\n    \"attributeID\": 3132, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This is used to connect the corporation logos to monuments\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"monumentCorporationID\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3133\": {\n    \"attributeID\": 3133, \n    \"categoryID\": 7, \n    \"dataType\": 1, \n    \"defaultValue\": 0.0, \n    \"description\": \"How many passengers can be carried in a Conduit Jump\", \n    \"displayName_de\": \"Passagieranzahl für den Gruppensprung\", \n    \"displayName_en-us\": \"Conduit Jump Passenger Count\", \n    \"displayName_es\": \"Recuento de pasajeros de salto conductivo\", \n    \"displayName_fr\": \"Compteur de passagers du saut de groupe\", \n    \"displayName_it\": \"Conduit Jump Passenger Count\", \n    \"displayName_ja\": \"コンジットジャンプ同乗者カウント\", \n    \"displayName_ko\": \"점프 필드 최대 인원\", \n    \"displayName_ru\": \"Количество пассажиров при групповом прыжке\", \n    \"displayName_zh\": \"导管跳跃乘客数量\", \n    \"displayNameID\": 583421, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"conduitJumpPassengerCount\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Maximale Anzahl an Passagieren, die in einem Gruppensprung von einem Ankerschiff mitgenommen werden können.\", \n    \"tooltipDescription_en-us\": \"Maximum number of passengers carried along with the anchor ship in a Conduit Jump\", \n    \"tooltipDescription_es\": \"Número máximo de pasajeros transportados junto con la nave-ancla en un salto conductivo.\", \n    \"tooltipDescription_fr\": \"Nombre maximal de passagers emmenés avec le vaisseau d'ancrage lors d'un saut de groupe\", \n    \"tooltipDescription_it\": \"Maximum number of passengers carried along with the anchor ship in a Conduit Jump\", \n    \"tooltipDescription_ja\": \"コンジットジャンプで、係留艦に同行できる艦船の最大数\", \n    \"tooltipDescription_ko\": \"점프 필드 전개 시 이동 가능한 최대 인원\", \n    \"tooltipDescription_ru\": \"Максимальное количество пассажиров при групповом прыжке\", \n    \"tooltipDescription_zh\": \"在导管跳跃中锚船所能承载的乘客的最大数量\", \n    \"tooltipDescriptionID\": 583438, \n    \"tooltipTitleID\": 583422\n  }, \n  \"3134\": {\n    \"attributeID\": 3134, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"bonus to stabilize cloak duration\", \n    \"displayName_de\": \"Bonus auf die Tarnmoduldauer\", \n    \"displayName_en-us\": \"Stabilized Cloak Duration Bonus\", \n    \"displayName_es\": \"Bonif. de duración estable de camuflaje\", \n    \"displayName_fr\": \"Bonus de durée de stabilisation de camouflage\", \n    \"displayName_it\": \"Stabilized Cloak Duration Bonus\", \n    \"displayName_ja\": \"安定化クローク持続時間ボーナス\", \n    \"displayName_ko\": \"클로킹 안정화 보너스\", \n    \"displayName_ru\": \"Бонус к стабилизированной длительности маскировки\", \n    \"displayName_zh\": \"隐形稳定持续时间加成\", \n    \"displayNameID\": 583816, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"stabilizeCloakDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3136\": {\n    \"attributeID\": 3136, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of ice-only hold\", \n    \"displayName_de\": \"Eisfassungsvermögen\", \n    \"displayName_en-us\": \"Ice Hold Capacity\", \n    \"displayName_es\": \"Capacidad de bodega de hielo\", \n    \"displayName_fr\": \"Capacité de la soute à glace\", \n    \"displayName_it\": \"Ice Hold Capacity\", \n    \"displayName_ja\": \"アイスホールド容量\", \n    \"displayName_ko\": \"아이스 저장고 적재량\", \n    \"displayName_ru\": \"Объём отсека для льда\", \n    \"displayName_zh\": \"冰矿舱容量\", \n    \"displayNameID\": 584247, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialIceHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Das maximale Volumen, das im Eisfrachtraum gelagert werden kann\", \n    \"tooltipDescription_en-us\": \"The total volume that can be stored in the ice hold\", \n    \"tooltipDescription_es\": \"El volumen total que puede almacenarse en la bodega de hielo.\", \n    \"tooltipDescription_fr\": \"Volume total pouvant être stocké dans la soute à glace\", \n    \"tooltipDescription_it\": \"The total volume that can be stored in the ice hold\", \n    \"tooltipDescription_ja\": \"アイスホールドに積載できる総量\", \n    \"tooltipDescription_ko\": \"아이스 저장고에 보관할 수 있는 최대 용량\", \n    \"tooltipDescription_ru\": \"Максимальный объём, допустимый к размещению в бортовом отсеке для льда\", \n    \"tooltipDescription_zh\": \"冰矿舱的容量\", \n    \"tooltipDescriptionID\": 584249, \n    \"tooltipTitleID\": 584248, \n    \"unitID\": 9\n  }, \n  \"3148\": {\n    \"attributeID\": 3148, \n    \"categoryID\": 51, \n    \"dataType\": 13, \n    \"defaultValue\": 0.0, \n    \"description\": \"The ID of a typelist of asteroid typeIDs that a mining crystal can affect\", \n    \"displayName_de\": \"Gültige Zieltypen\", \n    \"displayName_en-us\": \"Valid target types\", \n    \"displayName_es\": \"Tipos de objetivo válidos\", \n    \"displayName_fr\": \"Types de cible valides\", \n    \"displayName_it\": \"Valid target types\", \n    \"displayName_ja\": \"有効なターゲットタイプ\", \n    \"displayName_ko\": \"유효한 타겟팅 대상\", \n    \"displayName_ru\": \"Доступные типы целей\", \n    \"displayName_zh\": \"无效的目标类型\", \n    \"displayNameID\": 593750, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"specializationAsteroidTypeList\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"3153\": {\n    \"attributeID\": 3153, \n    \"categoryID\": 51, \n    \"dataType\": 2, \n    \"defaultValue\": 1.0, \n    \"description\": \"This multiplier is applied to the Mining Volume of the actor (module, drone etc.) to calculate the potential wasted volume per cycle\", \n    \"displayName_de\": \"Rückstandsvolumen-Multiplikator\", \n    \"displayName_en-us\": \"Residue Volume Multiplier\", \n    \"displayName_es\": \"Multiplicador de volumen de residuos\", \n    \"displayName_fr\": \"Multiplicateur de volume de résidus\", \n    \"displayName_it\": \"Residue Volume Multiplier\", \n    \"displayName_ja\": \"残留物体積乗数\", \n    \"displayName_ko\": \"손실 배수\", \n    \"displayName_ru\": \"Коэффициент объёма отходов\", \n    \"displayName_zh\": \"残渣体积系数\", \n    \"displayNameID\": 589052, \n    \"displayWhenZero\": 1, \n    \"highIsGood\": 0, \n    \"name\": \"miningWastedVolumeMultiplier\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 104\n  }, \n  \"3154\": {\n    \"attributeID\": 3154, \n    \"categoryID\": 51, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"The probability of volume getting wasted every cycle\", \n    \"displayName_de\": \"Rückstandswahrscheinlichkeit\", \n    \"displayName_en-us\": \"Residue Probability\", \n    \"displayName_es\": \"Probabilidad de residuos\", \n    \"displayName_fr\": \"Probabilité de résidus\", \n    \"displayName_it\": \"Residue Probability\", \n    \"displayName_ja\": \"残留物率\", \n    \"displayName_ko\": \"손실 확률\", \n    \"displayName_ru\": \"Шанс получения отходов\", \n    \"displayName_zh\": \"残渣几率\", \n    \"displayNameID\": 589053, \n    \"displayWhenZero\": 1, \n    \"highIsGood\": 0, \n    \"name\": \"miningWasteProbability\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 121\n  }, \n  \"3157\": {\n    \"attributeID\": 3157, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"gallenteIndustrialBonusIceHoldCapacity\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3158\": {\n    \"attributeID\": 3158, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusGasHold\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3159\": {\n    \"attributeID\": 3159, \n    \"categoryID\": 51, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"Attribute added to the waste multiplier (mainly used in mining crystals)\", \n    \"displayName_de\": \"Rückstandsvolumen-Multiplikator-Bonus\", \n    \"displayName_en-us\": \"Residue Volume Multiplier Bonus\", \n    \"displayName_es\": \"Bonificación de multiplicador de volumen de residuos\", \n    \"displayName_fr\": \"Bonus au multiplicateur de volume de résidus\", \n    \"displayName_it\": \"Residue Volume Multiplier Bonus\", \n    \"displayName_ja\": \"残留物体積乗数ボーナス\", \n    \"displayName_ko\": \"손실량 배수 보너스\", \n    \"displayName_ru\": \"Прибавка к коэффициенту объёма отходов\", \n    \"displayName_zh\": \"残渣体积系数加成\", \n    \"displayNameID\": 591643, \n    \"displayWhenZero\": 1, \n    \"highIsGood\": 0, \n    \"name\": \"specializationCrystalMiningWastedVolumeMultiplierBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 205\n  }, \n  \"3160\": {\n    \"attributeID\": 3160, \n    \"categoryID\": 51, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"Attribute added to the waste probability (mainly used in mining crystals)\", \n    \"displayName_de\": \"Rückstandswahrscheinlichkeits-Bonus\", \n    \"displayName_en-us\": \"Residue Probability Bonus\", \n    \"displayName_es\": \"Bonificación de probabilidad de residuos\", \n    \"displayName_fr\": \"Bonus à la probabilité de résidus\", \n    \"displayName_it\": \"Residue Probability Bonus\", \n    \"displayName_ja\": \"残留物率ボーナス\", \n    \"displayName_ko\": \"손실 확률 보너스\", \n    \"displayName_ru\": \"Прибавка к шансу получения отходов\", \n    \"displayName_zh\": \"残渣几率加成\", \n    \"displayNameID\": 591644, \n    \"displayWhenZero\": 1, \n    \"highIsGood\": 0, \n    \"name\": \"specializationCrystalMiningWasteProbabilityBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 205\n  }, \n  \"3161\": {\n    \"attributeID\": 3161, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"The amount the mining duration is modified when mining the asteroid group this crystal is tuned for.\", \n    \"displayName_de\": \"Dauermultiplikator für Asteroiden-Spezialisierung\", \n    \"displayName_en-us\": \"Asteroid Specialization Duration Multiplier\", \n    \"displayName_es\": \"Multiplicador de duración de especialización de asteroides\", \n    \"displayName_fr\": \"Multiplicateur de durée de la spécialisation en astéroïdes\", \n    \"displayName_it\": \"Asteroid Specialization Duration Multiplier\", \n    \"displayName_ja\": \"アステロイドスペシャリゼーション継続時間乗数\", \n    \"displayName_ko\": \"소행성 특화 지속시간 배수\", \n    \"displayName_ru\": \"Коэффициент длительности при специализации на астероидах\", \n    \"displayName_zh\": \"小行星矿专精运转周期系数\", \n    \"displayNameID\": 587593, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"specializationAsteroidDurationMultiplier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 104\n  }, \n  \"3164\": {\n    \"attributeID\": 3164, \n    \"categoryID\": 19, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"A attribute meant to over write the chance of loot dropping from a ship, so a setting of 0 will lead to no loot dropping from the player ship.\", \n    \"displayName_de\": \"Beutechance überschreiben\", \n    \"displayName_en-us\": \"Drop Chance Overwrite\", \n    \"displayName_es\": \"Sobrescribir probabilidad de botín\", \n    \"displayName_fr\": \"Écraser les chances de récupération\", \n    \"displayName_it\": \"Drop Chance Overwrite\", \n    \"displayName_ja\": \"ドロップ率の上書き\", \n    \"displayName_ko\": \"Drop Chance Overwrite\", \n    \"displayName_ru\": \"Изменение шанса выпадения добычи\", \n    \"displayName_zh\": \"掉率改写\", \n    \"displayNameID\": 588129, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"dropChanceOverwrite\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Chance auf Beute von Spielerschiff überschreiben, Wert 0 = keine Beute\", \n    \"tooltipDescription_en-us\": \"Overwriting loot chance of drop from player ship, value 0 = no loot dropped\", \n    \"tooltipDescription_es\": \"Sobrescribe la probabilidad de la nave del jugador de soltar algún botín (valor 0 = ningún botín).\", \n    \"tooltipDescription_fr\": \"Écrasez les chances de récupération de butin sur le vaisseau d'un autre joueur. Une valeur égale à 0 signifie qu'aucun butin n'est récupérable\", \n    \"tooltipDescription_it\": \"Overwriting loot chance of drop from player ship, value 0 = no loot dropped\", \n    \"tooltipDescription_ja\": \"プレイヤー艦のドロップ率を上書き。値が0の場合、戦利品のドロップなし\", \n    \"tooltipDescription_ko\": \"Overwriting loot chance of drop from player ship, value 0 = no loot dropped\", \n    \"tooltipDescription_ru\": \"Изменяет шанс выпадения добычи из корабля игрока. 0 = добыча не выпадает\", \n    \"tooltipDescription_zh\": \"改写玩家爆船的掉率，0=无掉落\", \n    \"tooltipDescriptionID\": 588131, \n    \"tooltipTitleID\": 588130\n  }, \n  \"3165\": {\n    \"attributeID\": 3165, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Bonus für Sondenstärke\", \n    \"displayName_en-us\": \"Probe Strength Bonus\", \n    \"displayName_es\": \"Bonificación de potencia de sonda\", \n    \"displayName_fr\": \"Bonus de puissance des sondes\", \n    \"displayName_it\": \"Probe Strength Bonus\", \n    \"displayName_ja\": \"プローブ強度ボーナス\", \n    \"displayName_ko\": \"프로브 강도 보너스\", \n    \"displayName_ru\": \"Увеличение чувствительности зондов\", \n    \"displayName_zh\": \"探针强度加成\", \n    \"displayNameID\": 588464, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipRoleBonusScanProbeBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 105\n  }, \n  \"3166\": {\n    \"attributeID\": 3166, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"expeditionFrigateBonusMiningLaserDuration\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"3167\": {\n    \"attributeID\": 3167, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"expeditionFrigateBonusIceHarvestingDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3168\": {\n    \"attributeID\": 3168, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"expeditionFrigateBonusGasHarvestingDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3169\": {\n    \"attributeID\": 3169, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"expeditionFrigateBonusArmorResistance\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"3170\": {\n    \"attributeID\": 3170, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"expeditionFrigateBonusLightDronesDamage_DEPRICATED\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3171\": {\n    \"attributeID\": 3171, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \" expeditionFrigateBonusMediumDronesDamage_DEPRICATED\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3172\": {\n    \"attributeID\": 3172, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipRoleBonusDroneOreMiningCycleTime\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3173\": {\n    \"attributeID\": 3173, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipRoleBonusDroneIceMiningCycleTime\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3176\": {\n    \"attributeID\": 3176, \n    \"categoryID\": 6, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"A attribute that prevents the ship or entity from flashing yellow when he has the player locked and is applying effects on the player.\", \n    \"displayName_de\": \"Ziel heimlich aufschalten\", \n    \"displayName_en-us\": \"Target Lock Silently\", \n    \"displayName_es\": \"Fijar objetivo silenciosamente\", \n    \"displayName_fr\": \"Verrouiller furtivement la cible\", \n    \"displayName_it\": \"Target Lock Silently\", \n    \"displayName_ja\": \"サイレントターゲットロック\", \n    \"displayName_ko\": \"Target Lock Silently\", \n    \"displayName_ru\": \"Незаметный захват цели\", \n    \"displayName_zh\": \"暗中锁定目标\", \n    \"displayNameID\": 588475, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"targetLockSilently\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Used to prevent the ship or entity from yellow flashing to the player when the ship or entity has the player locked and if applying an effect on the player.\", \n    \"tooltipDescription_en-us\": \"Used to prevent the ship or entity from yellow flashing to the player when the ship or entity has the player locked and if applying an effect on the player.\", \n    \"tooltipDescription_es\": \"Evita que las naves o entidades parpadeen en amarillo cuando han fijado al jugador como objetivo o se le está aplicando algún efecto.\", \n    \"tooltipDescription_fr\": \"Used to prevent the ship or entity from yellow flashing to the player when the ship or entity has the player locked and if applying an effect on the player.\", \n    \"tooltipDescription_it\": \"Used to prevent the ship or entity from yellow flashing to the player when the ship or entity has the player locked and if applying an effect on the player.\", \n    \"tooltipDescription_ja\": \"艦船などがプレイヤーにロックを行ったりエフェクトを適用している際に、その艦船などがプレイヤーに対して黄色点滅状態になるのを防ぐために使用されます。\", \n    \"tooltipDescription_ko\": \"Used to prevent the ship or entity from yellow flashing to the player when the ship or entity has the player locked and if applying an effect on the player.\", \n    \"tooltipDescription_ru\": \"Used to prevent the ship or entity from yellow flashing to the player when the ship or entity has the player locked and if applying an effect on the player.\", \n    \"tooltipDescription_zh\": \"防止舰船或其他实体因锁定玩家或对玩家施放效果而闪黄。\", \n    \"tooltipDescriptionID\": 588477, \n    \"tooltipTitleID\": 588476\n  }, \n  \"3177\": {\n    \"attributeID\": 3177, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipRoleBonusOreMiningYield\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3178\": {\n    \"attributeID\": 3178, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipRoleBonusIceHarvestingDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3179\": {\n    \"attributeID\": 3179, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipRoleBonusDroneDamage\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3180\": {\n    \"attributeID\": 3180, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipRoleBonusDroneHitPoints\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3181\": {\n    \"attributeID\": 3181, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningBargeBonusOreMiningYield\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3182\": {\n    \"attributeID\": 3182, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"miningBargeBonusIceHarvestingDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3183\": {\n    \"attributeID\": 3183, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"miningBargeBonusGasHarvestingDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3184\": {\n    \"attributeID\": 3184, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningBargeBonusOreMiningRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3185\": {\n    \"attributeID\": 3185, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningBargeBonusIceHarvestingRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3187\": {\n    \"attributeID\": 3187, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningBargeBonusGeneralMiningHoldCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3188\": {\n    \"attributeID\": 3188, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningBargeBonusShieldCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3189\": {\n    \"attributeID\": 3189, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningBargeBonusArmorHP\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3190\": {\n    \"attributeID\": 3190, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"expeditionFrigateBonusSignatureRadius\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3191\": {\n    \"attributeID\": 3191, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"expeditionFrigateBonusOreMiningYield\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3192\": {\n    \"attributeID\": 3192, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"expeditionFrigateBonusShieldResistance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3193\": {\n    \"attributeID\": 3193, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"exhumersBonusOreMiningDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3194\": {\n    \"attributeID\": 3194, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"exhumersBonusIceHarvestingDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3195\": {\n    \"attributeID\": 3195, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"exhumersBonusSingatureRadius\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3197\": {\n    \"attributeID\": 3197, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"exhumersBonusOreMiningYield\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3198\": {\n    \"attributeID\": 3198, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"exhumersBonusGeneralMiningHoldCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3199\": {\n    \"attributeID\": 3199, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"exhumersBonusShieldResistance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3200\": {\n    \"attributeID\": 3200, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"exhumersBonusArmorResistance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3201\": {\n    \"attributeID\": 3201, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"exhumersBonusLightDroneDamage\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3202\": {\n    \"attributeID\": 3202, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"exhumersBonusMediumDronesDamage\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3203\": {\n    \"attributeID\": 3203, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCommandBonusDroneDamage\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3204\": {\n    \"attributeID\": 3204, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCommandBonusFuelConsuptionCompactIndustrialCore\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3205\": {\n    \"attributeID\": 3205, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCommandBonusMiningForemanBurstRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3206\": {\n    \"attributeID\": 3206, \n    \"categoryID\": 28, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus added to stasis webifier range\", \n    \"displayName_de\": \"Maximaler Reichweitenbonus von Stasisnetzen\", \n    \"displayName_en-us\": \"Stasis Webifier Maximum Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance máx. de red ralentizadora\", \n    \"displayName_fr\": \"Bonus de portée max. du générateur de stase\", \n    \"displayName_it\": \"Stasis Webifier Maximum Range Bonus\", \n    \"displayName_ja\": \"ステイシスウェビファイヤーの最大範囲ボーナス\", \n    \"displayName_ko\": \"스테이시스 웹 생성기 사거리 보너스\", \n    \"displayName_ru\": \"Бонус к макс. дальности стазис-индуктора\", \n    \"displayName_zh\": \"停滞缠绕光束最大范围加成\", \n    \"displayNameID\": 589016, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"stasisWebRangeAdd\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"3208\": {\n    \"attributeID\": 3208, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCommandBonusGasHoldCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3209\": {\n    \"attributeID\": 3209, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCommandBonusIceHoldCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3210\": {\n    \"attributeID\": 3210, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"minmatarIndustrialBonusGasHoldCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3211\": {\n    \"attributeID\": 3211, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCommandBonusShipCargoCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3212\": {\n    \"attributeID\": 3212, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCommandBonusGeneralMiningHoldCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3213\": {\n    \"attributeID\": 3213, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"expeditionFrigateBonusLightDronesDamage\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3214\": {\n    \"attributeID\": 3214, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"expeditionFrigateBonusMediumDroneDamage\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3221\": {\n    \"attributeID\": 3221, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCommandBonusDroneOreMiningYield\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3222\": {\n    \"attributeID\": 3222, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"industrialCommandBonusDroneIceHarvestingCycleTime\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3223\": {\n    \"attributeID\": 3223, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"capitalIndustrialShipBonusDroneOreMiningYield\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3224\": {\n    \"attributeID\": 3224, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"capitalIndustrialShipBonusDroneIceCycleTime\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3225\": {\n    \"attributeID\": 3225, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipRoleBonusGasHarvesterDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3226\": {\n    \"attributeID\": 3226, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"exhumersBonusGasHarvestingDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3227\": {\n    \"attributeID\": 3227, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Capacity of asteroid-only hold\", \n    \"displayName_de\": \"Asteroidenfassungsvermögen\", \n    \"displayName_en-us\": \"Asteroid Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de asteroides\", \n    \"displayName_fr\": \"Capacité de la soute à astéroïdes\", \n    \"displayName_it\": \"Asteroid Hold Capacity\", \n    \"displayName_ja\": \"アステロイドホールド容量\", \n    \"displayName_ko\": \"소행성 저장고 적재량\", \n    \"displayName_ru\": \"Объём отсека для астероидов\", \n    \"displayName_zh\": \"小行星矿石舱容量\", \n    \"displayNameID\": 591098, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialAsteroidHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Das maximale Volumen, das im Asteroidenfrachtraum gelagert werden kann\", \n    \"tooltipDescription_en-us\": \"The total volume that can be stored in the Asteroid Hold\", \n    \"tooltipDescription_es\": \"El volumen total que puede almacenarse en la bodega de asteroides.\", \n    \"tooltipDescription_fr\": \"Volume total pouvant être stocké dans la soute à astéroïdes\", \n    \"tooltipDescription_it\": \"The total volume that can be stored in the Asteroid Hold\", \n    \"tooltipDescription_ja\": \"アステロイドホールドに積載できる総量\", \n    \"tooltipDescription_ko\": \"소행성 저장고에 보관할 수 있는 최대 용량\", \n    \"tooltipDescription_ru\": \"Максимальный объём, допустимый к размещению в бортовом отсеке для астероидов\", \n    \"tooltipDescription_zh\": \"小行星矿石舱的容量\", \n    \"tooltipDescriptionID\": 591100, \n    \"tooltipTitleID\": 591099, \n    \"unitID\": 9\n  }, \n  \"3228\": {\n    \"attributeID\": 3228, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipRoleBonusStripMinerActivationCost\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3229\": {\n    \"attributeID\": 3229, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipRoleBonusIceHarvesterActivationCost\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3230\": {\n    \"attributeID\": 3230, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipRoleBonusOreMiningDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3231\": {\n    \"attributeID\": 3231, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipRoleBonusGeneralMiningHoldCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3233\": {\n    \"attributeID\": 3233, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"capitalIndustrialShipBonusDroneHitPoints\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3235\": {\n    \"attributeID\": 3235, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"industrialCommandBonusDroneHitPoints\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3236\": {\n    \"attributeID\": 3236, \n    \"categoryID\": 51, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"If set to true, this results in no mining waste.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"ignoreMiningWaste\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3237\": {\n    \"attributeID\": 3237, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"miningFrigateBonusGasCloudHarvestingDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3239\": {\n    \"attributeID\": 3239, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipRoleBonusGasHarvestingYield\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3240\": {\n    \"attributeID\": 3240, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"miningFrigateBonusIceHarvestingDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3241\": {\n    \"attributeID\": 3241, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"gallenteIndustrialBonusMiningHoldCapacity\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3242\": {\n    \"attributeID\": 3242, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipRoleBonusDroneOreMiningYield\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3246\": {\n    \"attributeID\": 3246, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Optimale Reichweite\", \n    \"displayName_en-us\": \"Optimal Range\", \n    \"displayName_es\": \"Alcance óptimo\", \n    \"displayName_fr\": \"Portée optimale\", \n    \"displayName_it\": \"Optimal Range\", \n    \"displayName_ja\": \"最適射程距離\", \n    \"displayName_ko\": \"최적사거리\", \n    \"displayName_ru\": \"Оптимальная дальность\", \n    \"displayName_zh\": \"最佳射程\", \n    \"displayNameID\": 593073, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"pointDefenseRange\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"3250\": {\n    \"attributeID\": 3250, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"eliteBonusHeavyInterdictors3\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"eliteBonusHeavyInterdictors3\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3255\": {\n    \"attributeID\": 3255, \n    \"dataType\": 13, \n    \"defaultValue\": 0.0, \n    \"description\": \"The ID of a typelist describing which types of item this module can compress\", \n    \"displayName_de\": \"Komprimierbare Gegenstände\", \n    \"displayName_en-us\": \"Compressible Items\", \n    \"displayName_es\": \"Objetos comprimibles\", \n    \"displayName_fr\": \"Objets compressés\", \n    \"displayName_it\": \"Compressible Items\", \n    \"displayName_ja\": \"圧縮可能なアイテム\", \n    \"displayName_ko\": \"압축 가능한 아이템\", \n    \"displayName_ru\": \"Сжимаемые ресурсы\", \n    \"displayName_zh\": \"可压缩\", \n    \"displayNameID\": 594759, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"compressibleItemsTypeList\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"3257\": {\n    \"attributeID\": 3257, \n    \"categoryID\": 27, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Bonus added to warp scrambler range\", \n    \"displayName_de\": \"Bonus auf die optimale Reichweite von Warpunterbrechern\", \n    \"displayName_en-us\": \"Warp Scrambler Optimal Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance óptimo del distorsionador de warp\", \n    \"displayName_fr\": \"Bonus de portée optimale d'inhibiteur de warp\", \n    \"displayName_it\": \"Warp Scrambler Optimal Range Bonus\", \n    \"displayName_ja\": \"ワープスクランブラーの最適射程距離ボーナス\", \n    \"displayName_ko\": \"워프 스크램블러 최적사거리 보너스\", \n    \"displayName_ru\": \"Влияние на оптимальную дальность действия варп-глушителя\", \n    \"displayName_zh\": \"跃迁扰频器最佳射程加成\", \n    \"displayNameID\": 595177, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"scramblerRangeAdd\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"3258\": {\n    \"attributeID\": 3258, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Rumpf-Schadensresistenzbonus\", \n    \"displayName_en-us\": \"Hull Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños en el casco\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts de la coque\", \n    \"displayName_it\": \"Hull Damage Resistance Bonus\", \n    \"displayName_ja\": \"船体ダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"선체 저항력 보너스\", \n    \"displayName_ru\": \"Увеличение сопротивляемости корпуса\", \n    \"displayName_zh\": \"结构伤害抗性加成\", \n    \"displayNameID\": 595367, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"hullDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 124\n  }, \n  \"3260\": {\n    \"attributeID\": 3260, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Bonus auf die Gasdekompressionseffizienz\", \n    \"displayName_en-us\": \"Gas Decompression Efficiency Bonus\", \n    \"displayName_es\": \"Bonificación de eficiencia de la descompresión de gas\", \n    \"displayName_fr\": \"Bonus d'efficience de la décompression de gaz\", \n    \"displayName_it\": \"Gas Decompression Efficiency Bonus\", \n    \"displayName_ja\": \"ガス減圧効率ボーナス\", \n    \"displayName_ko\": \"가스 압축해제 효율 보너스\", \n    \"displayName_ru\": \"Бонус к эффективности декомпрессии газа\", \n    \"displayName_zh\": \"气云解压效率加成\", \n    \"displayNameID\": 595397, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"GasDecompressionEfficiencyBonus\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"3261\": {\n    \"attributeID\": 3261, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"structureGasDecompressionEfficiencyBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"3262\": {\n    \"attributeID\": 3262, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.800000011920929, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"gasDecompressionBaseEfficiency\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"3263\": {\n    \"attributeID\": 3263, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"fleetCompressionLogisticsRangeBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3265\": {\n    \"attributeID\": 3265, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"An effect can check this to indicate that module activation requires ship to have an active Industrial Core module.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"activationRequiresActiveIndustrialCore\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3266\": {\n    \"attributeID\": 3266, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"battleshipPlateHPBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3267\": {\n    \"attributeID\": 3267, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"battleshipExtenderHPBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3268\": {\n    \"attributeID\": 3268, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"battleshipBulkheadHPModifierBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3317\": {\n    \"attributeID\": 3317, \n    \"dataType\": 13, \n    \"defaultValue\": 0.0, \n    \"description\": \"Pointer to type-list that describes which beacons a ship's jump drive can connect to\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"jumpDriveTargetBeaconTypelistID\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3318\": {\n    \"attributeID\": 3318, \n    \"dataType\": 10, \n    \"defaultValue\": 0.0, \n    \"description\": \"This attribute enables a ship to open a Jump Portal. Its value specifies a dogma attribute ID that a passenger ship must possess in order to travel through that Jump Portal.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"jumpPortalPassengerRequiredAttributeID\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 119\n  }, \n  \"3319\": {\n    \"attributeID\": 3319, \n    \"dataType\": 0, \n    \"defaultValue\": 1.0, \n    \"description\": \"Set this attribute on a ship to declare that the ship is an eligible passenger to travel through a Titan Jump Portal\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"isTitanJumpPortalPassenger\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3320\": {\n    \"attributeID\": 3320, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"Set this attribute on a ship to declare that the ship is an eligible passenger to travel through a BlackOps Jump Portal\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"isBlackOpsJumpPortalPassenger\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3321\": {\n    \"attributeID\": 3321, \n    \"dataType\": 10, \n    \"defaultValue\": 0.0, \n    \"description\": \"This attribute enables a ship to activate a Jump Conduit. Its value specifies a dogma attribute ID that a passenger ship must possess in order to be carried though that Jump Conduit.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"jumpConduitPassengerRequiredAttributeID\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 119\n  }, \n  \"3322\": {\n    \"attributeID\": 3322, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"Set this attribute on a ship to declare that the ship is an eligible passenger to be carried through a BlackOps Jump Conduit\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"isBlackOpsJumpConduitPassenger\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3324\": {\n    \"attributeID\": 3324, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"Set this attribute on a ship to declare that the ship is an eligible passenger to be carried through an Industrial Jump Conduit.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"isIndustrialJumpConduitPassenger\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3325\": {\n    \"attributeID\": 3325, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"Set this attribute on a ship to declare that the ship is an eligible passenger to travel through an Industrial Jump Portal\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"isIndustrialJumpPortalPassenger\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"3326\": {\n    \"attributeID\": 3326, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"capitalIndustrialCommandBonusDroneDamage\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3327\": {\n    \"attributeID\": 3327, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"capitalIndustrialShipBonusMiningForemanBurstRange\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3328\": {\n    \"attributeID\": 3328, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"subsystemBonusMassAddition\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"3353\": {\n    \"attributeID\": 3353, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Drohnen-Nachführungsgeschwindigkeits-Bonus\", \n    \"displayName_en-us\": \"Drone Tracking Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de rastreo del dron\", \n    \"displayName_fr\": \"Bonus de vitesse de poursuite des drones\", \n    \"displayName_it\": \"Drone Tracking Speed Bonus\", \n    \"displayName_ja\": \"ドローン追跡速度ボーナス\", \n    \"displayName_ko\": \"드론 트래킹 속도 보너스\", \n    \"displayName_ru\": \"Бонус к скорости наведения дронов\", \n    \"displayName_zh\": \"无人机跟踪速度加成\", \n    \"displayNameID\": 598958, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1398, \n    \"name\": \"droneTrackingBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3354\": {\n    \"attributeID\": 3354, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"DPS-Schwelle zum Unterbrechen der Schildreparatur\", \n    \"displayName_en-us\": \"DPS threshold to pause shield repair\", \n    \"displayName_es\": \"Límite DPS para detener la reparación del escudo\", \n    \"displayName_fr\": \"Seuil de DPS pour interrompre la réparation du bouclier\", \n    \"displayName_it\": \"DPS threshold to pause shield repair\", \n    \"displayName_ja\": \"シールド修復を停止させるDPSしきい値\", \n    \"displayName_ko\": \"실드 수리가 멈추는 기준 피해량\", \n    \"displayName_ru\": \"Порог урона/сек. для приостановки восстановления щитов\", \n    \"displayName_zh\": \"停止护盾维修的DPS阈值\", \n    \"displayNameID\": 598991, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"pauseShieldRepairDpsThreshold\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"3355\": {\n    \"attributeID\": 3355, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"DPS-Schwelle zum Unterbrechen der Panzerungsreparatur\", \n    \"displayName_en-us\": \"DPS threshold to pause armor repair\", \n    \"displayName_es\": \"Límite DPS para detener la reparación del blindaje\", \n    \"displayName_fr\": \"Seuil de DPS pour interrompre la réparation du blindage\", \n    \"displayName_it\": \"DPS threshold to pause armor repair\", \n    \"displayName_ja\": \"アーマー修復を停止させるDPSしきい値\", \n    \"displayName_ko\": \"장갑 수리가 멈추는 기준 피해량\", \n    \"displayName_ru\": \"Порог урона/сек. для приостановки восстановления брони\", \n    \"displayName_zh\": \"停止装甲维修的DPS阈值\", \n    \"displayNameID\": 598992, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"pauseArmorRepairDpsThreshold\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"3356\": {\n    \"attributeID\": 3356, \n    \"categoryID\": 4, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"DPS-Schwelle zum Unterbrechen der Rumpfreparatur\", \n    \"displayName_en-us\": \"DPS threshold to pause hull repair\", \n    \"displayName_es\": \"Límite DPS para detener la reparación del casco.\", \n    \"displayName_fr\": \"Seuil de DPS pour interrompre la réparation de la coque\", \n    \"displayName_it\": \"DPS threshold to pause hull repair\", \n    \"displayName_ja\": \"船体修復を停止させるDPSしきい値\", \n    \"displayName_ko\": \"선체 수리가 멈추는 기준 피해량\", \n    \"displayName_ru\": \"Порог урона/сек. для приостановки восстановления корпуса\", \n    \"displayName_zh\": \"停止结构维修的DPS阈值\", \n    \"displayNameID\": 598993, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"pauseHullRepairDpsThreshold\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"3422\": {\n    \"attributeID\": 3422, \n    \"categoryID\": 36, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Widerstandsbonus gegen Stasisnetze\", \n    \"displayName_en-us\": \"Stasis Webifier Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a redes ralentizadoras\", \n    \"displayName_fr\": \"Bonus de résistance du générateur de stase\", \n    \"displayName_it\": \"Stasis Webifier Resistance Bonus\", \n    \"displayName_ja\": \"ステイシスウェビファイヤーレジスタンスボーナス\", \n    \"displayName_ko\": \"스테이시스 웹 생성기 저항 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость стазис-индукторов\", \n    \"displayName_zh\": \"停滞缠绕抗性加成\", \n    \"displayNameID\": 600127, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1389, \n    \"name\": \"stasisWebifierResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"3429\": {\n    \"attributeID\": 3429, \n    \"categoryID\": 3, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Bonus auf Schadensresistenz von Panzerungen\", \n    \"displayName_en-us\": \"Armor Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños en el blindaje\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts du blindage\", \n    \"displayName_it\": \"Armor Damage Resistance Bonus\", \n    \"displayName_ja\": \"アーマーダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"장갑 피해 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость брони\", \n    \"displayName_zh\": \"装甲伤害抗性加成\", \n    \"displayNameID\": 600536, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"armorDamageResistanceBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 124\n  }, \n  \"5041\": {\n    \"attributeID\": 5041, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusBattlecruiserHeavyMissileExplosionRadius\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5042\": {\n    \"attributeID\": 5042, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusBattlecruiserHeavyAssaultMissileExplosionRadius\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5044\": {\n    \"attributeID\": 5044, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipBonusCBC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5045\": {\n    \"attributeID\": 5045, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusCBC2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5046\": {\n    \"attributeID\": 5046, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipBonusGBC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5048\": {\n    \"attributeID\": 5048, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipRoleBonusScanProbeLauncherCPU\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5205\": {\n    \"attributeID\": 5205, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusABC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5206\": {\n    \"attributeID\": 5206, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"It is a Boolean Value that defaults to false. If true, it will only allow players to Hack if they belong to the Faction that is an enemy of the Occupier of the Star System.\", \n    \"displayName_de\": \"Nur Angreifer aus dem Fraktionskrieg zulassen\", \n    \"displayName_en-us\": \"Allow Only Factional Warfare Attackers\", \n    \"displayName_es\": \"Permitir solo atacantes de la guerra de facciones\", \n    \"displayName_fr\": \"N'autoriser que les assaillants de la guerre de faction\", \n    \"displayName_it\": \"Allow Only Factional Warfare Attackers\", \n    \"displayName_ja\": \"国家間戦争の攻撃側のみが利用可能\", \n    \"displayName_ko\": \"팩션 전쟁 공격 측 입장 가능\", \n    \"displayName_ru\": \"Допускать только нападающую сторону МВ\", \n    \"displayName_zh\": \"只允许势力战争攻击方\", \n    \"displayNameID\": 635862, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"allowOnlyFwAttackers\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 137\n  }, \n  \"5207\": {\n    \"attributeID\": 5207, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipBonusMBC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5214\": {\n    \"attributeID\": 5214, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtA4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5215\": {\n    \"attributeID\": 5215, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtG4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5216\": {\n    \"attributeID\": 5216, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtG5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5218\": {\n    \"attributeID\": 5218, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerAmarr1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5219\": {\n    \"attributeID\": 5219, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerAmarr2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5220\": {\n    \"attributeID\": 5220, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerAmarr3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5221\": {\n    \"attributeID\": 5221, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerAmarr4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5222\": {\n    \"attributeID\": 5222, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerAmarr5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5223\": {\n    \"attributeID\": 5223, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerAmarr6\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5224\": {\n    \"attributeID\": 5224, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerAmarr7\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5225\": {\n    \"attributeID\": 5225, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerCaldari1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5226\": {\n    \"attributeID\": 5226, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerCaldari5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5227\": {\n    \"attributeID\": 5227, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerCaldari4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5228\": {\n    \"attributeID\": 5228, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerCaldari2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5229\": {\n    \"attributeID\": 5229, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerCaldari3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5230\": {\n    \"attributeID\": 5230, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerGallente1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5231\": {\n    \"attributeID\": 5231, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerGallente5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5232\": {\n    \"attributeID\": 5232, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerGallente2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5233\": {\n    \"attributeID\": 5233, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerGallente3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5234\": {\n    \"attributeID\": 5234, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerGallente4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5235\": {\n    \"attributeID\": 5235, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerMinmatar1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5236\": {\n    \"attributeID\": 5236, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerMinmatar2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5237\": {\n    \"attributeID\": 5237, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerMinmatar3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5238\": {\n    \"attributeID\": 5238, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerMinmatar4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5239\": {\n    \"attributeID\": 5239, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusNavyDestroyerMinmatar5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5240\": {\n    \"attributeID\": 5240, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"skill bonus attribute3 for gallente battleship\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusGB3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5248\": {\n    \"attributeID\": 5248, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusDreadnoughtM4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5265\": {\n    \"attributeID\": 5265, \n    \"categoryID\": 9, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"All players will be flagged as suspect when looting a wreck with this attribute.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"flagAllAsSuspectOnLootWreck\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5318\": {\n    \"attributeID\": 5318, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Ship Bonus used for Alliance Tournament Ships\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusAT2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5319\": {\n    \"attributeID\": 5319, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Ship Bonus used for Alliance Tournament Ships\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusAT3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5325\": {\n    \"attributeID\": 5325, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Mobile Depot Hold Capacity\", \n    \"displayName_de\": \"Hangarkapazität für Mobile Depots\", \n    \"displayName_en-us\": \"Mobile Depot Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de almacenes móviles\", \n    \"displayName_fr\": \"Capacité de la soute à dépôts mobiles\", \n    \"displayName_it\": \"Mobile Depot Hold Capacity\", \n    \"displayName_ja\": \"移動式貯蔵ホールド容量\", \n    \"displayName_ko\": \"이동식 저장고 적재량\", \n    \"displayName_ru\": \"Объём отсека для автономных постов снабжения\", \n    \"displayName_zh\": \"移动式仓库舱容量\", \n    \"displayNameID\": 651789, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialMobileDepotHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Das Gesamtvolumen an Mobilen Depots, das im Hangar des Schiffs für Mobile Depots gelagert werden kann.\", \n    \"tooltipDescription_en-us\": \"The total volume of mobile depots that can be stored in the ship's mobile depot hold\", \n    \"tooltipDescription_es\": \"El volumen total de almacenes móviles que pueden almacenarse en la bodega de almacenes móviles de la nave.\", \n    \"tooltipDescription_fr\": \"Volume total de dépôts mobiles pouvant être stockés dans la soute à dépôts mobiles du vaisseau\", \n    \"tooltipDescription_it\": \"The total volume of mobile depots that can be stored in the ship's mobile depot hold\", \n    \"tooltipDescription_ja\": \"艦船の移動式貯蔵ホールドに積載できる移動式貯蔵庫の総量\", \n    \"tooltipDescription_ko\": \"함선에 적재할 수 있는 이동식 저장고의 총 부피입니다.\", \n    \"tooltipDescription_ru\": \"Общее количество автономных постов снабжения, которые можно разместить в соответствующем отсеке корабля\", \n    \"tooltipDescription_zh\": \"舰船的移动式仓库舱可容纳的移动式仓库总容量\", \n    \"tooltipDescriptionID\": 651791, \n    \"tooltipTitleID\": 651790, \n    \"unitID\": 9\n  }, \n  \"5412\": {\n    \"attributeID\": 5412, \n    \"categoryID\": 39, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Length of time for applied debuffs to persist on a target\", \n    \"displayName_de\": \"Dauer des angewendeten Debuffs\", \n    \"displayName_en-us\": \"Applied Debuff Duration\", \n    \"displayName_es\": \"Duración del perjuicio aplicado\", \n    \"displayName_fr\": \"Durée du malus appliqué\", \n    \"displayName_it\": \"Applied Debuff Duration\", \n    \"displayName_ja\": \"有効なデバフ持続時間\", \n    \"displayName_ko\": \"적용된 디버프 지속 시간\", \n    \"displayName_ru\": \"Длительность наложенного ослабления\", \n    \"displayName_zh\": \"施加的减益效果持续时间\", \n    \"displayNameID\": 660832, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"doomsdayAppliedDBuffDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"5417\": {\n    \"attributeID\": 5417, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Lancer Dreadnought skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusAdvancedDreadnought1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5418\": {\n    \"attributeID\": 5418, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Lancer Dreadnoughts skill level\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusAdvancedDreadnought2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5419\": {\n    \"attributeID\": 5419, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"disruptionLanceSkillBoostCapacitorCost\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"5425\": {\n    \"attributeID\": 5425, \n    \"categoryID\": 39, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Verweigert Tarnung, solange ausgerüstet\", \n    \"displayName_en-us\": \"Disallow Cloaking While Fit\", \n    \"displayName_es\": \"Desautorizar camuflaje mientras esté equipado\", \n    \"displayName_fr\": \"Désactive le camouflage si équipé\", \n    \"displayName_it\": \"Disallow Cloaking While Fit\", \n    \"displayName_ja\": \"装備中は遮蔽使用不可\", \n    \"displayName_ko\": \"해당 모듈 피팅 시 클로킹 불가\", \n    \"displayName_ru\": \"Маскировка не работает, если модуль установлен\", \n    \"displayName_zh\": \"装配时不允许隐形\", \n    \"displayNameID\": 662925, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2106, \n    \"name\": \"disruptionLanceDisallowCloaking\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"5426\": {\n    \"attributeID\": 5426, \n    \"categoryID\": 7, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"An effect can check this to indicate that module activation requires ship to have an active Industrial Core module.\", \n    \"displayName_de\": \"Erfordert aktives Belagerungsmodul\", \n    \"displayName_en-us\": \"Requires Active Siege Module\", \n    \"displayName_es\": \"Requiere módulo de asedio activo\", \n    \"displayName_fr\": \"Nécessite un module de siège actif\", \n    \"displayName_it\": \"Requires Active Siege Module\", \n    \"displayName_ja\": \"起動状態のシージモジュールが必要\", \n    \"displayName_ko\": \"시즈 모듈 활성화 필요\", \n    \"displayName_ru\": \"Требуется активный осадный модуль\", \n    \"displayName_zh\": \"需要主动会战装备\", \n    \"displayNameID\": 662927, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 2851, \n    \"name\": \"activationRequiresActiveSiegeModule\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 137\n  }, \n  \"5429\": {\n    \"attributeID\": 5429, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"warpDistanceXAxis\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5430\": {\n    \"attributeID\": 5430, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"warpDistanceYAxis\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5431\": {\n    \"attributeID\": 5431, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"warpDistanceZAxis\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5432\": {\n    \"attributeID\": 5432, \n    \"dataType\": 5, \n    \"defaultValue\": 149599993856.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"warpItemActivationLimit\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5469\": {\n    \"attributeID\": 5469, \n    \"categoryID\": 52, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Alliance Tournament Ship Overheat Bonus\", \n    \"displayName_de\": \"Überhitzungsbonus\", \n    \"displayName_en-us\": \"Overheat Bonus\", \n    \"displayName_es\": \"Bonificación de sobrecalentamiento\", \n    \"displayName_fr\": \"Bonus de surchauffe\", \n    \"displayName_it\": \"Overheat Bonus\", \n    \"displayName_ja\": \"オーバーヒートボーナス\", \n    \"displayName_ko\": \"과부하 보너스\", \n    \"displayName_ru\": \"Повышение эффективности при перегрузке\", \n    \"displayName_zh\": \"过载损伤降低\", \n    \"displayNameID\": 665013, \n    \"displayWhenZero\": 1, \n    \"highIsGood\": 1, \n    \"name\": \"roleBonusOverheatATHAC\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"5470\": {\n    \"attributeID\": 5470, \n    \"categoryID\": 6, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"Tracking Speed Bonus\", \n    \"displayName_de\": \"Zielverfolgungsgeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Tracking Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de rastreo\", \n    \"displayName_fr\": \"Bonus de vitesse de poursuite\", \n    \"displayName_it\": \"Tracking Speed Bonus\", \n    \"displayName_ja\": \"追跡速度ボーナス\", \n    \"displayName_ko\": \"트래킹 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость слежения\", \n    \"displayName_zh\": \"跟踪速度加成\", \n    \"displayNameID\": 665059, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1398, \n    \"name\": \"shipBonusTrackingATC1\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"5561\": {\n    \"attributeID\": 5561, \n    \"categoryID\": 9, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"If set on a charge or module type, will prevent it from being activated in hazard system\", \n    \"displayName_de\": \"Kann nicht in Zarzakh verwendet werden \", \n    \"displayName_en-us\": \"Unusable in Zarzakh \", \n    \"displayName_es\": \"Inutilizable en Zarzakh \", \n    \"displayName_fr\": \"Inutilisable à Zarzakh \", \n    \"displayName_it\": \"Unusable in Zarzakh \", \n    \"displayName_ja\": \"ザルザクでは使用不可 \", \n    \"displayName_ko\": \"자르자크에서 사용 불가 \", \n    \"displayName_ru\": \"Нельзя использовать в Zarzakh \", \n    \"displayName_zh\": \"无法在扎尔扎克使用 \", \n    \"displayNameID\": 669819, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 25803, \n    \"name\": \"disallowInHazardSystem\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 137\n  }, \n  \"5592\": {\n    \"attributeID\": 5592, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorTargetRepairImpedanceRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"5593\": {\n    \"attributeID\": 5593, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \" behaviorTargetRepairImpedanceDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"5594\": {\n    \"attributeID\": 5594, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorTargetInertiaRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"5595\": {\n    \"attributeID\": 5595, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \" behaviorTargetInertiaDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"5599\": {\n    \"attributeID\": 5599, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"if the module is disallowed in low sec (empire space), if it also have this attribute, it will allow that module to be used in low sec system if the systems is fully corrupted\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"allowInFullyCorruptedLowSec\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5600\": {\n    \"attributeID\": 5600, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"if the module is disallowed in high sec (by disallowInEmpireSpace or disallowInHighSec), if it also have this attribute, the module can be used in high sec system ONLY WHEN the systems is fully corrupted\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"allowInFullyCorruptedHighSec\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"5602\": {\n    \"attributeID\": 5602, \n    \"categoryID\": 9, \n    \"dataType\": 0, \n    \"defaultValue\": 1.0, \n    \"description\": \"to allow capture point proximity sensors to also detect non-interactives (like NPCs/entities) \", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"captureProximityInteractivesOnly\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5603\": {\n    \"attributeID\": 5603, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"used for alliance tournament ships 2023, plate mass reduction\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusATF3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5604\": {\n    \"attributeID\": 5604, \n    \"categoryID\": 7, \n    \"dataType\": 0, \n    \"defaultValue\": 0.0, \n    \"description\": \"Alliance Tournament Ship Bonus\", \n    \"displayName_de\": \"Bonus für besondere Fähigkeit\", \n    \"displayName_en-us\": \"Special Ability Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad especial\", \n    \"displayName_fr\": \"Bonus d'aptitude particulière\", \n    \"displayName_it\": \"Special Ability Bonus\", \n    \"displayName_ja\": \"特殊能力ボーナス\", \n    \"displayName_ko\": \"특수 능력 보너스\", \n    \"displayName_ru\": \"Усиление особого умения\", \n    \"displayName_zh\": \"特殊能力加成\", \n    \"displayNameID\": 696793, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusATC3\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"5617\": {\n    \"attributeID\": 5617, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Only used by UI, price is not stored as a type_dogma value\", \n    \"displayName_de\": \"Geschätzter Preis\", \n    \"displayName_en-us\": \"Estimated Price\", \n    \"displayName_es\": \"Precio estimado\", \n    \"displayName_fr\": \"Estimation du prix\", \n    \"displayName_it\": \"Estimated Price\", \n    \"displayName_ja\": \"推定価格\", \n    \"displayName_ko\": \"예상 가격\", \n    \"displayName_ru\": \"Примерная цена\", \n    \"displayName_zh\": \"预估价格\", \n    \"displayNameID\": 706662, \n    \"displayWhenZero\": 1, \n    \"highIsGood\": 1, \n    \"iconID\": 2512, \n    \"name\": \"Estimated ISK Price\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Der geschätzte durchschnittliche Marktpreis des Gegenstands\", \n    \"tooltipDescription_en-us\": \"The estimated average market price of the item\", \n    \"tooltipDescription_es\": \"El precio de mercado promedio estimado del objeto.\", \n    \"tooltipDescription_fr\": \"Le prix moyen estimé de l'objet sur le marché\", \n    \"tooltipDescription_it\": \"The estimated average market price of the item\", \n    \"tooltipDescription_ja\": \"このアイテムの推定平均マーケット価格\", \n    \"tooltipDescription_ko\": \"아이템의 예상 평균 거래소 가격\", \n    \"tooltipDescription_ru\": \"Приблизительная средняя рыночная стоимость товара\", \n    \"tooltipDescription_zh\": \"该物品的预估市场均价\", \n    \"tooltipDescriptionID\": 706664, \n    \"tooltipTitleID\": 706663, \n    \"unitID\": 133\n  }, \n  \"5618\": {\n    \"attributeID\": 5618, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Clone grade level restriction (Value is always zero, only used for UI purposes)\", \n    \"displayName_de\": \"Klonklassen-Beschränkung\", \n    \"displayName_en-us\": \"Clone Grade Restriction\", \n    \"displayName_es\": \"Restricción de clon de grado\", \n    \"displayName_fr\": \"Restriction de grade de clone\", \n    \"displayName_it\": \"Clone Grade Restriction\", \n    \"displayName_ja\": \"クローングレード制限\", \n    \"displayName_ko\": \"클론 그레이드 제한\", \n    \"displayName_ru\": \"Ограничение ур. клонов\", \n    \"displayName_zh\": \"克隆等级限制\", \n    \"displayNameID\": 707124, \n    \"displayWhenZero\": 1, \n    \"highIsGood\": 0, \n    \"iconID\": 25874, \n    \"name\": \"cloneGradeRestriction\", \n    \"published\": 1, \n    \"stackable\": 0\n  }, \n  \"5646\": {\n    \"attributeID\": 5646, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Infrastructure Hold Capacity\", \n    \"displayName_de\": \"Infrastrukturhangarkapazität\", \n    \"displayName_en-us\": \"Infrastructure Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de infraestructuras\", \n    \"displayName_fr\": \"Capacité de la baie d'infrastructure\", \n    \"displayName_it\": \"Infrastructure Hold Capacity\", \n    \"displayName_ja\": \"インフラホールド容量\", \n    \"displayName_ko\": \"구조물 격납고 적재량\", \n    \"displayName_ru\": \"Вместимость логистического отсека\", \n    \"displayName_zh\": \"基础设施舱容量\", \n    \"displayNameID\": 709012, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialColonyResourcesHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Das Gesamtvolumen an Infrastruktur-bezogenen Gegenständen, die im Infrastruktur-Hangar des Schiffes gelagert werden können. <br><br>Diese Gegenstände umfassen: <br>Kolonie-Reagenzien, Upwell-Strukturen, Strukturmodifikationen, Strukturmodule, Standup-Jäger, Strukturmunition, Quantumkerne, orbitale Skyhooks, Zollamtgerüste, Souveränitätsstrukturen, Souveränitäts-Upgrades, Mondmaterialien, Treibstoffblöcke, planetarische Güter und raffinierte Eisprodukte.\", \n    \"tooltipDescription_en-us\": \"The total volume of infrastructure related items that can be stored in the ship's infrastructure hold. <br><br>These items include;<br>Colony Reagents, Upwell Structures, Structure Rigs, Structure Modules, Standup Fighters, Structure Ammo, Quantum Cores, Orbital Skyhooks, Custom Gantrys, Sovereignty Structures, Sovereignty Upgrades, Moon Materials, Fuel Blocks, Planetary Commodities and Refined Ice Products.\", \n    \"tooltipDescription_es\": \"El volumen total de objetos relacionados con infraestructuras que pueden almacenarse en la bodega de la nave. <br><br>Estos objetos incluyen:<br>reactivos de colonia, estructuras de Upwell, complementos de estructura, módulos de estructuras, cazas Standup, munición de estructura, núcleos cuánticos, ganchos orbitales, andamiajes de Aduana, estructuras de soberanía, mejoras de soberanía, materiales lunares, bloques de combustible, mercancías planetarias y productos de hielo refinados.\", \n    \"tooltipDescription_fr\": \"Le volume total des articles liés à l'infrastructure qui peuvent être stockés dans la baie d'infrastructure du vaisseau. <br><br>Ces articles comprennent : <br>Réactifs de colonie, Structures Upwell, Modules d'optimisation de structure, Modules de structure, Chasseurs Standup, Munitions de structure, Réacteurs quantiques, Grappins orbitaux, Grues de bureau de douane, Structures de souveraineté, Améliorations de souveraineté, Matériaux lunaires, Blocs de carburant, Marchandises planétaires et Produits de glace raffinée.\", \n    \"tooltipDescription_it\": \"The total volume of infrastructure related items that can be stored in the ship's infrastructure hold. <br><br>These items include;<br>Colony Reagents, Upwell Structures, Structure Rigs, Structure Modules, Standup Fighters, Structure Ammo, Quantum Cores, Orbital Skyhooks, Custom Gantrys, Sovereignty Structures, Sovereignty Upgrades, Moon Materials, Fuel Blocks, Planetary Commodities and Refined Ice Products.\", \n    \"tooltipDescription_ja\": \"艦船のインフラホールドに収容できるインフラ関連アイテムの合計体積。<br><br>以下のアイテムが含まれる：<br>コロニーの反応試剤、アップウェルストラクチャ、ストラクチャ用リグ、ストラクチャ用モジュール、スタンドアップ戦闘機、ストラクチャ用弾薬、クアンタムコア、軌道スカイフック、税関ガントリー、領有権管理設備、領有権用アップグレード、衛星資源、燃料ブロック、惑星商品、アイス精錬品。\", \n    \"tooltipDescription_ko\": \"구조물 격납고에 적재할 수 있는 인프라 관련 아이템의 양입니다.<br><br>적재 가능 아이템:<br>콜로니 촉매, 업웰 구조물, 구조물 리그, 구조물 모듈, 스탠드업 파이터, 구조물 탄약, 양자코어, 궤도 스카이훅, 세관 사무소 갠트리, 소버린티 구조물, 소버린티 업그레이드, 위성 자원, 연료 블록, 행성 생산품, 정제 아이스 가공품\", \n    \"tooltipDescription_ru\": \"Максимальная вместимость логистического отсека корабля, где хранятся грузы инфраструктурного значения. <br><br>К таким грузам относятся:<br>реагенты из колоний, сооружения «Апвелл», модули, надстройки и боеприпасы для сооружений, истребители на базе «Стационар», квантовые ядра, орбитальные подъёмники, каркасы для отделений таможни, объекты системы суверенитета, улучшения штаба владений, материалы со спутников, топливные блоки, планетарные товары и продукты переработки льда.\", \n    \"tooltipDescription_zh\": \"舰船的基础设施舱所能装载的基础设施相关物品的总体积。 <br><br>这些物品包括：<br>殖民试剂、昇威建筑、建筑改装件、建筑装备、屹立铁骑舰载机、建筑弹药、量子芯、轨道天钩、定制框架，主权建筑、主权升级件、卫星材料、燃料块、行星货物和精炼冰矿产物。\", \n    \"tooltipDescriptionID\": 709014, \n    \"tooltipTitleID\": 709013, \n    \"unitID\": 9\n  }, \n  \"5647\": {\n    \"attributeID\": 5647, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusUH1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5648\": {\n    \"attributeID\": 5648, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusUH2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5649\": {\n    \"attributeID\": 5649, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusUFreighter1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5650\": {\n    \"attributeID\": 5650, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusUFreighter2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5651\": {\n    \"attributeID\": 5651, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"upwellFreightercloakCPUPenalty\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5654\": {\n    \"attributeID\": 5654, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusUFreighter3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5655\": {\n    \"attributeID\": 5655, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"upwellFreighterCapitalFlexHardenerFittingCapBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5657\": {\n    \"attributeID\": 5657, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorRemoteCapacitorTransmitterDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"5658\": {\n    \"attributeID\": 5658, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorRemoteCapacitorTransmitterRange\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"5659\": {\n    \"attributeID\": 5659, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorRemoteCapacitorTransmitterFalloff\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 1\n  }, \n  \"5660\": {\n    \"attributeID\": 5660, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorRemoteCapacitorTransmitterDischarge\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 114\n  }, \n  \"5681\": {\n    \"attributeID\": 5681, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Gruppenpassagierbonus\", \n    \"displayName_en-us\": \"Conduit Passenger Bonus\", \n    \"displayName_es\": \"Bonificación de pasajeros de conducto\", \n    \"displayName_fr\": \"Bonus de passager de saut\", \n    \"displayName_it\": \"Conduit Passenger Bonus\", \n    \"displayName_ja\": \"コンジットジャンプ同乗者ボーナス\", \n    \"displayName_ko\": \"점프 필드 대상 보너스\", \n    \"displayName_ru\": \"Бонус к пассажирам при прыжке\", \n    \"displayName_zh\": \"导管乘客加成\", \n    \"displayNameID\": 713460, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"conduitPassengerBonusPercent\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"5682\": {\n    \"attributeID\": 5682, \n    \"dataType\": 0, \n    \"defaultValue\": 1.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"isCarrierJumpConduitPassenger\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5683\": {\n    \"attributeID\": 5683, \n    \"categoryID\": 5, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Capital-MJD-Energiespeicher-Bonus\", \n    \"displayName_en-us\": \"Capital MJD Capacitor Bonus\", \n    \"displayName_es\": \"Bonificación de condensador MMS capital\", \n    \"displayName_fr\": \"Bonus de capaciteur de PMS capital\", \n    \"displayName_it\": \"Capital MJD Capacitor Bonus\", \n    \"displayName_ja\": \"キャピタルマイクロジャンプドライブ・キャパシタボーナス\", \n    \"displayName_ko\": \"캐피탈 마이크로 점프 드라이브 캐패시터 용량 보너스\", \n    \"displayName_ru\": \"Бонус к накопителям МГД для КБТ\", \n    \"displayName_zh\": \"旗舰级微型跳跃引擎电容加成\", \n    \"displayNameID\": 719588, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1668, \n    \"name\": \"capitalMJDCapReductionBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"5686\": {\n    \"attributeID\": 5686, \n    \"categoryID\": 17, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"The maximum number of capital ships that can be jumped per activation\", \n    \"displayName_de\": \"Maximale Anzahl an gesprungenen Capital-Schiffen\", \n    \"displayName_en-us\": \"Maximum Capital Ships Jumped\", \n    \"displayName_es\": \"Naves capitales máximas que han saltado\", \n    \"displayName_fr\": \"Maximum de vaisseaux capitaux lors du saut\", \n    \"displayName_it\": \"Maximum Capital Ships Jumped\", \n    \"displayName_ja\": \"最大主力艦ジャンプ数\", \n    \"displayName_ko\": \"최대 캐피탈 함선 점프\", \n    \"displayName_ru\": \"Максимум КБТ для прыжка\", \n    \"displayName_zh\": \"跳跃的旗舰数量上限\", \n    \"displayNameID\": 720852, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"mjdCapitalShipJumpCap\", \n    \"published\": 1, \n    \"stackable\": 1\n  }, \n  \"5687\": {\n    \"attributeID\": 5687, \n    \"categoryID\": 27, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"Attribute for MJD/MJFG modules which determines how long ships are warp scrambled for after having been jumped. If set to zero, no warp scrambling will occur.  Value is in milliseconds\", \n    \"displayName_de\": \"Warpunterbrechungsdauer\", \n    \"displayName_en-us\": \"Warp Scramble Duration\", \n    \"displayName_es\": \"Duración de la distorsión de warp\", \n    \"displayName_fr\": \"Durée de l'inhibition de warp\", \n    \"displayName_it\": \"Warp Scramble Duration\", \n    \"displayName_ja\": \"ワープスクランブル継続時間\", \n    \"displayName_ko\": \"워프 스크램블 지속 시간\", \n    \"displayName_ru\": \"Длительность глушения варп-двигателей\", \n    \"displayName_zh\": \"跃迁扰频持续时间\", \n    \"displayNameID\": 720944, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 111, \n    \"name\": \"mjdPostActivationScramDuration\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 101\n  }, \n  \"5688\": {\n    \"attributeID\": 5688, \n    \"categoryID\": 7, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Erfordert Souveränitätshub-Upgrade\", \n    \"displayName_en-us\": \"Requires Sovereignty Hub Upgrade\", \n    \"displayName_es\": \"Requiere mejora del centro de soberanía\", \n    \"displayName_fr\": \"Nécessite l'amélioration du pôle de souveraineté\", \n    \"displayName_it\": \"Requires Sovereignty Hub Upgrade\", \n    \"displayName_ja\": \"領有権ハブのアップグレードが必要\", \n    \"displayName_ko\": \"필요 소버린티 허브 업그레이드\", \n    \"displayName_ru\": \"Требуется улучшение штаба владений\", \n    \"displayName_zh\": \"需要使用主权中心升级件\", \n    \"displayNameID\": 720951, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"requiresSovHubUpgrade\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"5693\": {\n    \"attributeID\": 5693, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Kapazität des Mondmaterial-Ertragshangars\", \n    \"displayName_en-us\": \"Moon Material Output Bay Capacity\", \n    \"displayName_es\": \"Capacidad de la plataforma de producción de material lunar\", \n    \"displayName_fr\": \"Capacité de la baie de production de matériau lunaire\", \n    \"displayName_it\": \"Moon Material Output Bay Capacity\", \n    \"displayName_ja\": \"衛星資源産出ベイ容量\", \n    \"displayName_ko\": \"위성 자원 저장소 적재량\", \n    \"displayName_ru\": \"Вместимость отсека для материалов со спутников\", \n    \"displayName_zh\": \"卫星材料输出舱容量\", \n    \"displayNameID\": 721129, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"outputMoonMaterialBayCapacity\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 9\n  }, \n  \"5694\": {\n    \"attributeID\": 5694, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"While this value is > 0 for a ship, that ship cannot be moved by Micro Jump effects. This includes Micro Jump Drives and Micro Jump Field Generators. \", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"microJumpBlocked\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5700\": {\n    \"attributeID\": 5700, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"description\": \"For use with the Networked Sensor Array dogma effect, moduleBonusNetworkedSensorArray [6567]. If this value is set to 1, prevent activation of a Capital Micro Jump Drive or Capital Micro Jump Field Generator.\", \n    \"displayName_de\": \"Aktivierung des Capital-Mikrosprungs verbieten\", \n    \"displayName_en-us\": \"Disallow Capital Micro Jump Activation\", \n    \"displayName_es\": \"Desautorizar activación de microsalto capital\", \n    \"displayName_fr\": \"Interdire l'activation du micro-saut capital\", \n    \"displayName_it\": \"Disallow Capital Micro Jump Activation\", \n    \"displayName_ja\": \"キャピタル・マイクロジャンプの起動不可\", \n    \"displayName_ko\": \"캐피탈 마이크로 점프 드라이브 사용 금지\", \n    \"displayName_ru\": \"Запрет на активацию маневрового гипердвигателя КБТ\", \n    \"displayName_zh\": \"禁止激活旗舰级微型跳跃\", \n    \"displayNameID\": 722777, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 20971, \n    \"name\": \"networkedSensorArrayDisallowCapitalMicroJump\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 137\n  }, \n  \"5701\": {\n    \"attributeID\": 5701, \n    \"categoryID\": 4, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"description\": \"Module type ID to pre-fit as structure core\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"preFitStructureCore\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5705\": {\n    \"attributeID\": 5705, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \" upwellHaulersMediumMissileFittingBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5727\": {\n    \"attributeID\": 5727, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Alliance Tournament XX Frigate Bonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"maxAttributeID\": 5732, \n    \"name\": \"ATFrigDmgBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5728\": {\n    \"attributeID\": 5728, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ATInverseSecStatus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5729\": {\n    \"attributeID\": 5729, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ShipBonusAllShieldResistAT1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5731\": {\n    \"attributeID\": 5731, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"maxAttributeID\": 5732, \n    \"name\": \"ATNegSecStatusLocalShieldArmorBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5732\": {\n    \"attributeID\": 5732, \n    \"dataType\": 5, \n    \"defaultValue\": 100.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"constantHundred\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5733\": {\n    \"attributeID\": 5733, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusATprobDuration\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5734\": {\n    \"attributeID\": 5734, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"maxAttributeID\": 5732, \n    \"name\": \"ATBurstJammerStrengthBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5735\": {\n    \"attributeID\": 5735, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Schadenseffektdauer\", \n    \"displayName_en-us\": \"Damage effect duration\", \n    \"displayName_es\": \"Duración del efecto de daño\", \n    \"displayName_fr\": \"Durée de l'effet de dégâts\", \n    \"displayName_it\": \"Damage effect duration\", \n    \"displayName_ja\": \"ダメージ発生時間\", \n    \"displayName_ko\": \"피해 효과 지속시간\", \n    \"displayName_ru\": \"Длительность эффекта урона\", \n    \"displayName_zh\": \"伤害效果持续时间\", \n    \"displayNameID\": 727532, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1392, \n    \"name\": \"dotDuration\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"5736\": {\n    \"attributeID\": 5736, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Maximaler Schaden pro Sekunde\", \n    \"displayName_en-us\": \"Maximum damage per second\", \n    \"displayName_es\": \"Daño por segundo máximo\", \n    \"displayName_fr\": \"Dégâts maximum par seconde\", \n    \"displayName_it\": \"Maximum damage per second\", \n    \"displayName_ja\": \"最大秒間ダメージ\", \n    \"displayName_ko\": \"최대 초당 피해량\", \n    \"displayName_ru\": \"Максимальный урон в секунду\", \n    \"displayName_zh\": \"每秒最大伤害\", \n    \"displayNameID\": 727533, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1387, \n    \"name\": \"dotMaxDamagePerTick\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 113\n  }, \n  \"5737\": {\n    \"attributeID\": 5737, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Maximaler Prozentsatz des Ziel-HP-Schadens pro Sekunde\", \n    \"displayName_en-us\": \"Maximum percentage of target HP damaged per second\", \n    \"displayName_es\": \"Porcentaje máximo de PV del objetivo dañados por segundo\", \n    \"displayName_fr\": \"Pourcentage maximal de PV de dégâts de la cible par seconde\", \n    \"displayName_it\": \"Maximum percentage of target HP damaged per second\", \n    \"displayName_ja\": \"ターゲットのHPに与える秒間割合ダメージの上限（％）\", \n    \"displayName_ko\": \"초당 목표의 내구도 비례 최대 피해량\", \n    \"displayName_ru\": \"Максимальный процент урона по врагу в секунду.\", \n    \"displayName_zh\": \"每秒对目标HP造成的最大百分比伤害\", \n    \"displayNameID\": 727534, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1387, \n    \"name\": \"dotMaxHPPercentagePerTick\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"5739\": {\n    \"attributeID\": 5739, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ATfrigHTdmgBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5740\": {\n    \"attributeID\": 5740, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ATfrigSMdmgBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5741\": {\n    \"attributeID\": 5741, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ATfrigPTdmgBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5742\": {\n    \"attributeID\": 5742, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ATfrigETdmgBonus\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"5743\": {\n    \"attributeID\": 5743, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"maxAttributeID\": 5732, \n    \"name\": \"ATcruiserStasisWebifierBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5744\": {\n    \"attributeID\": 5744, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"maxAttributeID\": 5732, \n    \"name\": \"ATcruiserScramblerDisruptorBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5745\": {\n    \"attributeID\": 5745, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"The ID of a typeList that defines the whitelist of types that can be valid targets for this module\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"validTargetWhitelist\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5746\": {\n    \"attributeID\": 5746, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ATfrigDroneBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5747\": {\n    \"attributeID\": 5747, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ShipBonusMC3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5748\": {\n    \"attributeID\": 5748, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"ATcruiserDroneBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5749\": {\n    \"attributeID\": 5749, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayName_de\": \"Maximaler Prozentsatz des Bonus auf Ziel-HP-Schaden pro Sekunde\", \n    \"displayName_en-us\": \"Maximum percentage of target HP damaged per second bonus\", \n    \"displayName_es\": \"Bonificación de porcentaje máximo de PV del objetivo dañados por segundo\", \n    \"displayName_fr\": \"Pourcentage maximal de bonus de PV de dégâts de la cible par seconde\", \n    \"displayName_it\": \"Maximum percentage of target HP damaged per second bonus\", \n    \"displayName_ja\": \"ターゲットのHPに与える秒間割合ダメージの上限（％）へのボーナス\", \n    \"displayName_ko\": \"목표 내구도 비례 최대 초당 피해량 증가\", \n    \"displayName_ru\": \"Бонус к максимальному проценту урона по врагу в секунду\", \n    \"displayName_zh\": \"每秒对目标HP造成的最大百分比伤害加成\", \n    \"displayNameID\": 871401, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1387, \n    \"name\": \"dotMaxHPPercentagePerTickBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 124\n  }, \n  \"5750\": {\n    \"attributeID\": 5750, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayName_de\": \"Maximaler Bonus auf Schaden pro Sekunde\", \n    \"displayName_en-us\": \"Maximum damage per second bonus\", \n    \"displayName_es\": \"Bonificación de daño por segundo máximo\", \n    \"displayName_fr\": \"Bonus de dégâts maximum par seconde\", \n    \"displayName_it\": \"Maximum damage per second bonus\", \n    \"displayName_ja\": \"最大秒間ダメージへのボーナス\", \n    \"displayName_ko\": \"최대 초당 피해량 증가\", \n    \"displayName_ru\": \"Бонус к максимальному урону в секунду\", \n    \"displayName_zh\": \"每秒最大伤害加成\", \n    \"displayNameID\": 871402, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1387, \n    \"name\": \"dotMaxDamagePerTickBonus\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 124\n  }, \n  \"5754\": {\n    \"attributeID\": 5754, \n    \"categoryID\": 4, \n    \"dataType\": 1, \n    \"defaultValue\": 0.0, \n    \"description\": \"the loot tableID that will drop once the structure is destroyed\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"structureDropLootTableID\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5759\": {\n    \"attributeID\": 5759, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"attribute that, along with aspectRatioHeight, describes the proportions of videos/images in a puzzle\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"aspectRatioWidth\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5760\": {\n    \"attributeID\": 5760, \n    \"dataType\": 4, \n    \"defaultValue\": 1.0, \n    \"description\": \"attribute that, along with aspectRatioWidth, describes the proportions of videos/images in a puzzle\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"aspectRatioHeight\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5767\": {\n    \"attributeID\": 5767, \n    \"categoryID\": 17, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipBonusSiegeSpeedMultiplier\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5770\": {\n    \"attributeID\": 5770, \n    \"categoryID\": 4, \n    \"dataType\": 0, \n    \"defaultValue\": 1.0, \n    \"description\": \"Set's whether or not a structure will automatically repair itself.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"CanHaveAutoRepair\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 137\n  }, \n  \"5771\": {\n    \"attributeID\": 5771, \n    \"categoryID\": 4, \n    \"dataType\": 0, \n    \"defaultValue\": 1.0, \n    \"description\": \"Can a structure have armor phases\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"CanHaveArmorPhases\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 137\n  }, \n  \"5772\": {\n    \"attributeID\": 5772, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusCommandShips4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5783\": {\n    \"attributeID\": 5783, \n    \"categoryID\": 7, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Aktivierungsverzögerung\", \n    \"displayName_en-us\": \"Activation Delay\", \n    \"displayName_es\": \"Demora de activación\", \n    \"displayName_fr\": \"Retard de l'activation\", \n    \"displayName_it\": \"Activation Delay\", \n    \"displayName_ja\": \"起動遅延\", \n    \"displayName_ko\": \"작동 준비 시간\", \n    \"displayName_ru\": \"Задержка перед активацией\", \n    \"displayName_zh\": \"激活延迟\", \n    \"displayNameID\": 1010371, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"filamentSpoolupTimeSeconds\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"unitID\": 3\n  }, \n  \"5787\": {\n    \"attributeID\": 5787, \n    \"dataType\": 0, \n    \"defaultValue\": 1.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBloodRaiderCapitalNosSignatureReductionMultiplyer\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5792\": {\n    \"attributeID\": 5792, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"fourth bonus for support cruisers\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"eliteBonusLogistics4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5796\": {\n    \"attributeID\": 5796, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 2147483648000.0, \n    \"description\": \"Maximum range (in metres) that a ship's Directional Scanner can reach\", \n    \"displayName_de\": \"Maximale Reichweite für Richtungsscan\", \n    \"displayName_en-us\": \"Maximum Directional Scan Range\", \n    \"displayName_es\": \"Alcance de escaneo direccional máximo\", \n    \"displayName_fr\": \"Portée maximale du scanner directionnel\", \n    \"displayName_it\": \"Maximum Directional Scan Range\", \n    \"displayName_ja\": \"指向性スキャンの最大範囲\", \n    \"displayName_ko\": \"최대 전방위 스캔 범위\", \n    \"displayName_ru\": \"Макс. дальность пеленгатора\", \n    \"displayName_zh\": \"最大定向扫描范围\", \n    \"displayNameID\": 1011405, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1391, \n    \"name\": \"maxDirectionalScanRange\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Die maximale Reichweite, in der dieses Schiff seinen Richtungsscanner einsetzen kann\", \n    \"tooltipDescription_en-us\": \"The maximum range at which this ship can operate its directional scanner\", \n    \"tooltipDescription_es\": \"El alcance máximo en el que esta nave puede operar su escáner direccional.\", \n    \"tooltipDescription_fr\": \"La portée maximale à laquelle ce vaisseau peut utiliser son scanner directionnel\", \n    \"tooltipDescription_it\": \"The maximum range at which this ship can operate its directional scanner\", \n    \"tooltipDescription_ja\": \"この艦船が指向性スキャナーを操作できる最大範囲\", \n    \"tooltipDescription_ko\": \"함선이 운용할 수 있는 전방위 스캐너의 최대사거리\", \n    \"tooltipDescription_ru\": \"Макс. дальность действия пеленгатора на этом корабле\", \n    \"tooltipDescription_zh\": \"舰船可通过定向扫描仪扫描的最大范围\", \n    \"tooltipDescriptionID\": 1011407, \n    \"tooltipTitleID\": 1011406, \n    \"unitID\": 1\n  }, \n  \"5798\": {\n    \"attributeID\": 5798, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"implantSetHackingVirusCoherenceOmegaSetBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5799\": {\n    \"attributeID\": 5799, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Bonus auf Virenkohärenz\", \n    \"displayName_en-us\": \"Virus Coherence Bonus\", \n    \"displayName_es\": \"Bonificación a la coherencia del virus\", \n    \"displayName_fr\": \"Bonus de résistance virale\", \n    \"displayName_it\": \"Virus Coherence Bonus\", \n    \"displayName_ja\": \"ウイルスコヒーレンスボーナス\", \n    \"displayName_ko\": \"바이러스 결합도 보너스\", \n    \"displayName_ru\": \"Усиление целостности вируса\", \n    \"displayName_zh\": \"病毒同步率加成\", \n    \"displayNameID\": 1011492, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2856, \n    \"name\": \"implantSetHackingVirusCoherenceModifier\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Bonus auf Virenkohärenz für Daten- und Reliktanalysegeräte\", \n    \"tooltipDescription_en-us\": \"Bonus to Virus Coherence for Data and Relic Analyzers\", \n    \"tooltipDescription_es\": \"Bonificación a la coherencia del virus para analizadores de reliquias y datos.\", \n    \"tooltipDescription_fr\": \"Bonus à la résistance virale pour les analyseurs de données et de reliques\", \n    \"tooltipDescription_it\": \"Bonus to Virus Coherence for Data and Relic Analyzers\", \n    \"tooltipDescription_ja\": \"データ・遺物アナライザーのウイルスコヒーレンスへのボーナス\", \n    \"tooltipDescription_ko\": \"데이터 및 유물 분석기의 바이러스 결합도 보너스\", \n    \"tooltipDescription_ru\": \"Бонус к целостн. вируса для анализ. данных и артефактов\", \n    \"tooltipDescription_zh\": \"数据分析仪和遗迹分析仪的病毒同步率加成\", \n    \"tooltipDescriptionID\": 1011494, \n    \"tooltipTitleID\": 1011493, \n    \"unitID\": 139\n  }, \n  \"5800\": {\n    \"attributeID\": 5800, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This doesn't actually do anything... It's just to show the omega set bonus % in the client without also showing the real dogma value at 1.0x on the implants.\", \n    \"displayName_de\": \"Wedge-Implantatsetbonus\", \n    \"displayName_en-us\": \"Wedge Implant Set Bonus\", \n    \"displayName_es\": \"Bonificación de conjunto de implantes Wedge\", \n    \"displayName_fr\": \"Bonus de l'ensemble d'implants Wedge\", \n    \"displayName_it\": \"Wedge Implant Set Bonus\", \n    \"displayName_ja\": \"ウェッジインプラントセットボーナス\", \n    \"displayName_ko\": \"웨지 임플란트 세트 보너스\", \n    \"displayName_ru\": \"Бонус комплекта имплантов «Клин»\", \n    \"displayName_zh\": \"分裂植入体系列加成\", \n    \"displayNameID\": 1011575, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 2856, \n    \"name\": \"implantSetHackingVirusCoherenceOmegaSetBonusFAKE\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Bonus für die sekundären Effekte aller anderen eingebauten Implantate, die zum Wedge-Set gehören. \", \n    \"tooltipDescription_en-us\": \"Bonus provided to the secondary effects of all other implants that belong to the Wedge set that are currently plugged in. \", \n    \"tooltipDescription_es\": \"Bonificación proporcionada a los efectos secundarios de todos los demás implantes que pertenecen al conjunto Wedge y que están conectados actualmente. \", \n    \"tooltipDescription_fr\": \"Bonus accordé aux effets secondaires de tous les autres implants appartenant à l'ensemble Wedge qui sont actuellement connectés. \", \n    \"tooltipDescription_it\": \"Bonus provided to the secondary effects of all other implants that belong to the Wedge set that are currently plugged in. \", \n    \"tooltipDescription_ja\": \"現在装着中の、ウェッジセットに含まれるその他の全インプラントの第2効果に適用されるボーナス。 \", \n    \"tooltipDescription_ko\": \"현재 장착한 다른 웨지 세트에 해당하는 임플란트의 보조 효과에 보너스가 제공됩니다. \", \n    \"tooltipDescription_ru\": \"Бонус к дополнительным эффектам всех других действующих имплантов из комплекта «Клин». \", \n    \"tooltipDescription_zh\": \"为当前已插入的“分裂”系列的其他所有植入体提供次要效果加成。 \", \n    \"tooltipDescriptionID\": 1011577, \n    \"tooltipTitleID\": 1011576, \n    \"unitID\": 105\n  }, \n  \"5804\": {\n    \"attributeID\": 5804, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"to keep track of what is the current damage multiplier bonus for a weapon\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"damageMultiplierBonusCurrent\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5818\": {\n    \"attributeID\": 5818, \n    \"dataType\": 2, \n    \"defaultValue\": 0.0, \n    \"description\": \"to keep track of when is the damage multiplier bonus reaches its max value. This value is in blue time\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"damageMultiplierBonusMaxTimestamp\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5820\": {\n    \"attributeID\": 5820, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusOreDestroyer1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5821\": {\n    \"attributeID\": 5821, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusOreDestroyer2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5822\": {\n    \"attributeID\": 5822, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusOreDestroyer3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5939\": {\n    \"attributeID\": 5939, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSoEECS1\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5940\": {\n    \"attributeID\": 5940, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSoEECS2\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5941\": {\n    \"attributeID\": 5941, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSoEECS3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5942\": {\n    \"attributeID\": 5942, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSoEECS4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5943\": {\n    \"attributeID\": 5943, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusSoEECS5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5944\": {\n    \"attributeID\": 5944, \n    \"categoryID\": 40, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Expedition Hold Capacity\", \n    \"displayName_de\": \"Expeditionshangarkapazität\", \n    \"displayName_en-us\": \"Expedition Hold Capacity\", \n    \"displayName_es\": \"Capacidad de la bodega de expedición\", \n    \"displayName_fr\": \"Capacité de la soute d'expédition\", \n    \"displayName_it\": \"Expedition Hold Capacity\", \n    \"displayName_ja\": \"探査用ホールド容量\", \n    \"displayName_ko\": \"탐사 저장고 적재량\", \n    \"displayName_ru\": \"Вместимость экспедиционного отсека\", \n    \"displayName_zh\": \"远征货舱容量\", \n    \"displayNameID\": 1017844, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 71, \n    \"name\": \"specialExpeditionHoldCapacity\", \n    \"published\": 1, \n    \"stackable\": 0, \n    \"tooltipDescription_de\": \"Das Gesamtvolumen von erkundungsbezogenen Gegenständen, die typischerweise aus kosmischen Signaturen stammen und im Expeditionshangar des Schiffes gelagert werden können, sowie andere Gegenstände, die für eine erweiterte Expedition benötigt werden. <br><br>Dazu zählen Gegenstände wie:<br>Datenkerne, Altmaterial, stationierbare Strukturen, Waren, Bekleidung, SKINs, Scansonden, Kommandostrahlenladungen, Energiespeicher-Booster-Ladungen und Gas.\", \n    \"tooltipDescription_en-us\": \"The total volume of exploration related items typically found from cosmic signatures that can be stored in the ship's expedition hold, and other items needed for an extended expedition. <br><br>This includes item such as;<br>Datacores, Salvage, Deployables, Commodities, Apparel, SKINs, Scanner Probes, Command Burst Charges, Capacitor Booster Charges and Gas\", \n    \"tooltipDescription_es\": \"El volumen total de los objetos relacionados con la exploración que suelen encontrarse en señales cósmicas y que pueden almacenarse en la bodega de expedición de la nave, junto con otros artículos necesarios para una expedición prolongada. <br><br>Esto incluye objetos como:<br>núcleos de datos, restos, estructuras desplegables, bienes comerciales, indumentaria, SKIN, sondas escáner, cargas de estallido de mando, cargas de potenciador de condensador y gas.\", \n    \"tooltipDescription_fr\": \"Le volume total d'objets liés à l'exploration, généralement issus de signatures cosmiques et pouvant être stockés dans la soute d'expédition du vaisseau, ainsi que d'autres objets nécessaires pour une expédition prolongée. <br><br>Ceci inclut des objets tels que :<br>des banques de données, des récupérations, des structures déployables, des marchandises, des tenues, des SKINS, des sondes de balayage, des charges de salve de commandement, des charges de booster de capaciteur et du gaz\", \n    \"tooltipDescription_it\": \"The total volume of exploration related items typically found from cosmic signatures that can be stored in the ship's expedition hold, and other items needed for an extended expedition. <br><br>This includes item such as;<br>Datacores, Salvage, Deployables, Commodities, Apparel, SKINs, Scanner Probes, Command Burst Charges, Capacitor Booster Charges and Gas\", \n    \"tooltipDescription_ja\": \"宇宙のシグネチャで入手することが多い探査用ホールドに収容可能な探検関連アイテムと、長期探査に必要なその他のアイテムの総容量。<br><br>以下のアイテムを収容できる：<br>データコア、サルベージ品、配置可能物、加工品、アパレル、SKIN、スキャナープローブ、コマンドバーストチャージ、キャパシタブースターチャージ、ガス\", \n    \"tooltipDescription_ko\": \"함선의 탐사 저장고 최대 적재량입니다. 코즈믹 시그니처 탐사 활동으로 획득할 수 있는 아이템과 탐사 활동에 필요한 아이템을 보관할 수 있습니다.<br><br>다음 아이템이 보관됩니다:<br>데이터코어, 샐비지, 전개물, 물자, 의상, SKIN, 스캔 프로브, 커맨드 버스트 차지, 캐패시터 부스터 차지, 가스\", \n    \"tooltipDescription_ru\": \"Общий объём предметов, полученных в ходе изучения космических сигнатур и иной исследовательской деятельности, а также предметов для продолжительных экспедиций, которые можно хранить в экспедиционном отсеке корабля. <br><br>К таким предметам относятся<br>инфоблоки, демонтированные компоненты, полевые блоки, товары, одежда, аксессуары, окраски, разведзонды, газ, заряды импульсных оптимизаторов и заряды системы пополнения накопителя.\", \n    \"tooltipDescription_zh\": \"探索相关物品的总体积，特别是那些通过空间信号发现、可以储存在舰船远征货舱的物品，以及延长远征时间所需的其他物品。 <br><br>其中包括以下物品：<br>数据核心、打捞物、可部署设备、常见物品、服饰、涂装、扫描探针、指挥脉冲波弹药、电容注电器装料和气体\", \n    \"tooltipDescriptionID\": 1017846, \n    \"tooltipTitleID\": 1017845, \n    \"unitID\": 9\n  }, \n  \"5945\": {\n    \"attributeID\": 5945, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusGasCloudScoopCPUreductionSOEECSrole\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5948\": {\n    \"attributeID\": 5948, \n    \"categoryID\": 1, \n    \"dataType\": 11, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Kann eingebaut werden in\", \n    \"displayName_en-us\": \"Can be fitted to\", \n    \"displayName_es\": \"Se puede equipar con\", \n    \"displayName_fr\": \"Peut être installé sur\", \n    \"displayName_it\": \"Can be fitted to\", \n    \"displayName_ja\": \"装着可能対象：\", \n    \"displayName_ko\": \"피팅 가능한 대상:\", \n    \"displayName_ru\": \"Устанавливается на\", \n    \"displayName_zh\": \"可以装配至\", \n    \"displayNameID\": 1017934, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1443, \n    \"name\": \"canFitShipType12\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 116\n  }, \n  \"5949\": {\n    \"attributeID\": 5949, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"This doesn't actually do anything... It's just to show the dbuff % increases in the client which currently doesn't display this and we rely on the module descriptions to inform players. \", \n    \"displayName_de\": \"Bonus auf die effektive Stärke von Kommandostrahlen\", \n    \"displayName_en-us\": \"Command Burst Effect Strength Bonus\", \n    \"displayName_es\": \"Bonificación de potencia de efecto de estallido de mando\", \n    \"displayName_fr\": \"Bonus de puissance des effets des salves de commandement\", \n    \"displayName_it\": \"Command Burst Effect Strength Bonus\", \n    \"displayName_ja\": \"コマンドバーストの効果強度ボーナス\", \n    \"displayName_ko\": \"커맨드 버스트 효과 강화 보너스\", \n    \"displayName_ru\": \"Повышение эффективности импульсных оптимизаторов\", \n    \"displayName_zh\": \"指挥脉冲波效果强度加成\", \n    \"displayNameID\": 1017959, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 1444, \n    \"name\": \"commandBurstDbuffEffectStrengthFAKE\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Bonus auf die Effektstärke von Kommandostrahlenladungen, die von diesem Modul gestartet werden.\", \n    \"tooltipDescription_en-us\": \"Bonus to the effect strength of command burst charges launched from this module.\", \n    \"tooltipDescription_es\": \"Bonificación a la intensidad del efecto de las cargas de estallido de mando que se lancen desde este módulo.\", \n    \"tooltipDescription_fr\": \"Bonus à la puissance de l'effet des charges de salve de commandement lancées depuis ce module.\", \n    \"tooltipDescription_it\": \"Bonus to the effect strength of command burst charges launched from this module.\", \n    \"tooltipDescription_ja\": \"このモジュールから発射されるコマンドバーストチャージの効果にボーナス。\", \n    \"tooltipDescription_ko\": \"해당 모듈로 발사하는 커맨드 버스트의 효과가 강화됩니다.\", \n    \"tooltipDescription_ru\": \"Повышение эффективности зарядов импульсного оптимизатора, выпущенных этим модулем.\", \n    \"tooltipDescription_zh\": \"由此装备发射的指挥脉冲波弹药的效果强度提高\", \n    \"tooltipDescriptionID\": 1017961, \n    \"tooltipTitleID\": 1017960, \n    \"unitID\": 105\n  }, \n  \"5950\": {\n    \"attributeID\": 5950, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Role Bonus for ORE Executive Issue Ships for mining hold amount.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"oreExecutiveRoleBonusMiningHoldAmount\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5952\": {\n    \"attributeID\": 5952, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusGasCloudDurationRoleBonusOreMiningDestroyer\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5953\": {\n    \"attributeID\": 5953, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusOreDestroyer4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5954\": {\n    \"attributeID\": 5954, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"oreExecutiveRoleBonusSalvageDroneAdditionalAccessDifficulty\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5955\": {\n    \"attributeID\": 5955, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"OreMiningFrigateExecutiveShieldBoosterShipBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5956\": {\n    \"attributeID\": 5956, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"shipBonusCBC4\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5958\": {\n    \"attributeID\": 5958, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"qaMaxDroneControl\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5960\": {\n    \"attributeID\": 5960, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusAB3\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5961\": {\n    \"attributeID\": 5961, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeRemoteRepairCapacitorCostPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5962\": {\n    \"attributeID\": 5962, \n    \"categoryID\": 7, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeRemoteRepairBonusPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5964\": {\n    \"attributeID\": 5964, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Reduces the cycle time and capacitor cost of Armor Repairer modules for the bastion module. \", \n    \"displayName_de\": \"Bonus auf die Dauer von Panzerungreparatur / Schildboostern und Energiespeicher\", \n    \"displayName_en-us\": \"Armor Repairer Duration and Capacitor Bonus\", \n    \"displayName_es\": \"Bonificación de condensador y duración de potenciador de escudo/reparador de blindaje\", \n    \"displayName_fr\": \"Bonus de durée et de capaciteur du réparateur de blindage / booster de bouclier\", \n    \"displayName_it\": \"Armor Repairer Duration and Capacitor Bonus\", \n    \"displayName_ja\": \"アーマーリペアラ/シールドブースターの有効時間とキャパシタボーナス\", \n    \"displayName_ko\": \"장갑수리 장치 / 실드 부스터 지속시간 및 캐패시터 보너스\", \n    \"displayName_ru\": \"Бонус к расходу энергии накопителя и длительности работы установки ремонта брони / модуля накачки щитов\", \n    \"displayName_zh\": \"装甲维修器/护盾回充增量器的持续时间和电容器加成\", \n    \"displayNameID\": 1018792, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"bastionModeArmorRepairCapDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Verringert die Zykluszeit und den Energiespeicherverbrauch von Panzerungsreparatursystemen und Schildboostern, um die Reparaturleistung zu verbessern. \", \n    \"tooltipDescription_en-us\": \"Reduces the cycle time and capacitor cost of Armor Repairers improving repair throughput. \", \n    \"tooltipDescription_es\": \"Reduce el tiempo de ciclo y el coste del condensador de los reparadores de blindaje y los potenciadores de escudo que mejoran el rendimiento de reparación. \", \n    \"tooltipDescription_fr\": \"Réduit le temps de cycle et le coût de capaciteur des réparateurs de blindage et des boosters de bouclier afin d'améliorer le débit de réparation. \", \n    \"tooltipDescription_it\": \"Reduces the cycle time and capacitor cost of Armor Repairers improving repair throughput. \", \n    \"tooltipDescription_ja\": \"アーマーリペアラとシールドブースターのサイクル時間とキャパシタ消費量を減少させ、リペア能力を向上させる。 \", \n    \"tooltipDescription_ko\": \"장갑수리 장치 및 실드 부스터의 사이클 시간 및 캐패시터 사용량이 감소해 수리 효과가 증가합니다. \", \n    \"tooltipDescription_ru\": \"Уменьшает время цикла и расход энергии накопителя для установок ремонта брони и модулей накачки щитов, повышая общую эффективность ремонта. \", \n    \"tooltipDescription_zh\": \"降低装甲维修器和护盾回充增量器的循环时间和电容器成本，从而提升维修吞吐量。 \", \n    \"tooltipDescriptionID\": 1018794, \n    \"tooltipTitleID\": 1018793, \n    \"unitID\": 105\n  }, \n  \"5967\": {\n    \"attributeID\": 5967, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Kritische Erfolgswahrscheinlichkeit\", \n    \"displayName_en-us\": \"Critical Success Chance\", \n    \"displayName_es\": \"Probabilidad de éxito crítico\", \n    \"displayName_fr\": \"Probabilité de succès critiques\", \n    \"displayName_it\": \"Critical Success Chance\", \n    \"displayName_ja\": \"クリティカル率\", \n    \"displayName_ko\": \"대량 채굴 확률\", \n    \"displayName_ru\": \"Вероятность крит. удара\", \n    \"displayName_zh\": \"暴击成功率\", \n    \"displayNameID\": 1019273, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 22, \n    \"maxAttributeID\": 5968, \n    \"minAttributeID\": 2623, \n    \"name\": \"miningCritChance\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"5968\": {\n    \"attributeID\": 5968, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"constantOne\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5969\": {\n    \"attributeID\": 5969, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Bonusertrag bei kritischem Erfolg\", \n    \"displayName_en-us\": \"Critical Success Bonus Yield\", \n    \"displayName_es\": \"Beneficio extra de éxito crítico\", \n    \"displayName_fr\": \"Bonus de rendement de succès critique\", \n    \"displayName_it\": \"Critical Success Bonus Yield\", \n    \"displayName_ja\": \"クリティカル発生時のボーナス産出量\", \n    \"displayName_ko\": \"대량 채굴 산출량\", \n    \"displayName_ru\": \"Дополнительная добыча при крит. ударе\", \n    \"displayName_zh\": \"成功暴击额外收益\", \n    \"displayNameID\": 1019275, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 22, \n    \"minAttributeID\": 2623, \n    \"name\": \"miningCritBonusYield\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 127\n  }, \n  \"5970\": {\n    \"attributeID\": 5970, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorCommandBurstDuration\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 101\n  }, \n  \"5971\": {\n    \"attributeID\": 5971, \n    \"categoryID\": 42, \n    \"dataType\": 4, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorCommandBurstRange\", \n    \"published\": 0, \n    \"stackable\": 0, \n    \"unitID\": 1\n  }, \n  \"5972\": {\n    \"attributeID\": 5972, \n    \"categoryID\": 42, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"behaviorCommandBurstDischarge\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5978\": {\n    \"attributeID\": 5978, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"integratedMiningScanner\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5979\": {\n    \"attributeID\": 5979, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"maxAttributeID\": 5985, \n    \"name\": \"miningScannerUpgrade\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"5981\": {\n    \"attributeID\": 5981, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierA5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5982\": {\n    \"attributeID\": 5982, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierC5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5983\": {\n    \"attributeID\": 5983, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierG5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5984\": {\n    \"attributeID\": 5984, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusCarrierM5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5985\": {\n    \"attributeID\": 5985, \n    \"dataType\": 5, \n    \"defaultValue\": 2.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"constantTwo\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5986\": {\n    \"attributeID\": 5986, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Role bonus for the Pioneer and Pioneer Executive Issue for mining yield amount. \", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipMiningBonusYieldOreDestroyerRoleBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"5988\": {\n    \"attributeID\": 5988, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Armor Repairer / Shield Booster Capacitor Need Bonus\", \n    \"displayName_de\": \"Energiespeicherverbrauchsbonus für Panzerungsreparatursystem / Schildbooster\", \n    \"displayName_en-us\": \"Armor Repairer / Shield Booster Capacitor Need Bonus\", \n    \"displayName_es\": \"Bonificación de necesidad del condensador de potenciadores de escudo/reparadores de blindaje\", \n    \"displayName_fr\": \"Bonus de consommation de capaciteur du réparateur de blindage / booster de bouclier\", \n    \"displayName_it\": \"Armor Repairer / Shield Booster Capacitor Need Bonus\", \n    \"displayName_ja\": \"アーマーリペアラ/シールドブースターのキャパシタ消費ボーナス\", \n    \"displayName_ko\": \"장갑수리 장치 / 실드 부스터 캐패시터 요구량 보너스\", \n    \"displayName_ru\": \"Снижение расхода энергии на установку ремонта брони / модуль накачки щитов\", \n    \"displayName_zh\": \"装甲维修器/护盾回充增量器电容需求加成\", \n    \"displayNameID\": 1021728, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 2104, \n    \"name\": \"siegeLocalLogisticsCapacitorNeedBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"6042\": {\n    \"attributeID\": 6042, \n    \"dataType\": 1, \n    \"defaultValue\": 0.0, \n    \"description\": \"Set when a ship is connected to a PhaseStabilizer\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"phaseStabilizerConnected\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"6048\": {\n    \"attributeID\": 6048, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Role Bonus for ORE Executive Issue Ships for critical hit chance\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipRoleBonusOREExecutiveIssueMiningCriticalHitChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6049\": {\n    \"attributeID\": 6049, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Bonus auf kritische Erfolgswahrscheinlichkeit beim Bergbau\", \n    \"displayName_en-us\": \"Mining Critical Success Chance Bonus\", \n    \"displayName_es\": \"Bonificación de probabilidad de éxito crítico de minería\", \n    \"displayName_fr\": \"Bonus de probabilité de succès critique d'extraction minière\", \n    \"displayName_it\": \"Mining Critical Success Chance Bonus\", \n    \"displayName_ja\": \"採掘のクリティカル率ボーナス\", \n    \"displayName_ko\": \"대량 채굴 확률 보너스\", \n    \"displayName_ru\": \"Повышение вероятности крит. удара при бурении\", \n    \"displayName_zh\": \"采矿暴击成功率加成\", \n    \"displayNameID\": 1022755, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 22, \n    \"name\": \"miningCritChanceBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"6050\": {\n    \"attributeID\": 6050, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Bonusertrag für kritische Erfolge beim Bergbau\", \n    \"displayName_en-us\": \"Mining Critical Success Yield Bonus\", \n    \"displayName_es\": \"Bonificación de extracción de éxito crítico de minería\", \n    \"displayName_fr\": \"Bonus au rendement de succès critique d'extraction minière\", \n    \"displayName_it\": \"Mining Critical Success Yield Bonus\", \n    \"displayName_ja\": \"採掘のクリティカル発生時の産出量ボーナス\", \n    \"displayName_ko\": \"대량 채굴 산출량 보너스\", \n    \"displayName_ru\": \"Прибавка к добыче за крит. удар\", \n    \"displayName_zh\": \"采矿成功暴击额外收益\", \n    \"displayNameID\": 1022758, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"iconID\": 22, \n    \"name\": \"miningCritBonusYieldBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"6053\": {\n    \"attributeID\": 6053, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayName_de\": \"Rückstandswahrscheinlichkeits-Reduktion\", \n    \"displayName_en-us\": \"Residue Probability Reduction\", \n    \"displayName_es\": \"Reducción de probabilidad de residuos\", \n    \"displayName_fr\": \"Réduction de la probabilité de résidus\", \n    \"displayName_it\": \"Residue Probability Reduction\", \n    \"displayName_ja\": \"残留物率減少\", \n    \"displayName_ko\": \"손실 확률 감소\", \n    \"displayName_ru\": \"Снижение вероятности получения отходов\", \n    \"displayName_zh\": \"产生残渣几率降低\", \n    \"displayNameID\": 1022814, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"miningWasteProbabilityBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"6054\": {\n    \"attributeID\": 6054, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AnhingaLargeMissilePowerFittingBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6055\": {\n    \"attributeID\": 6055, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"AnhingaLargeMissileCpuFittingBonus\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6057\": {\n    \"attributeID\": 6057, \n    \"categoryID\": 2, \n    \"dataType\": 5, \n    \"defaultValue\": 1.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeShieldRechargePostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6062\": {\n    \"attributeID\": 6062, \n    \"categoryID\": 51, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Role Bonus for Perseverance Ice Mining Critical Hit Role bonus\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipRoleBonusPerseveranceIceMiningCriticalHitChance\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6067\": {\n    \"attributeID\": 6067, \n    \"categoryID\": 9, \n    \"dataType\": 5, \n    \"defaultValue\": 5.0, \n    \"description\": \"\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonus1AF\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6078\": {\n    \"attributeID\": 6078, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in Light Missile velocity\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeLightMissileMaxVelocityBonusPostDivSkua\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6079\": {\n    \"attributeID\": 6079, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Increase in Rocket velocity\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeRocketMissileMaxVelocityBonusPostDivSkua\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6080\": {\n    \"attributeID\": 6080, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeAnhingaMissileFlightTimePostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6081\": {\n    \"attributeID\": 6081, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeAnhingaMissileMaxVelocityPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6082\": {\n    \"attributeID\": 6082, \n    \"categoryID\": 30, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"modeAnhingaCruiseLauncherTorpedoLauncherRapidHeavyLauncherROFPostDiv\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6108\": {\n    \"attributeID\": 6108, \n    \"categoryID\": 51, \n    \"dataType\": 3, \n    \"defaultValue\": 0.0, \n    \"description\": \"If set to true, this results in no mining crits when mining this typeID\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"name\": \"ignoreMiningCrits\", \n    \"published\": 0, \n    \"stackable\": 0\n  }, \n  \"6112\": {\n    \"attributeID\": 6112, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Gallente Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryG5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6113\": {\n    \"attributeID\": 6113, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Caldari Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryC5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6114\": {\n    \"attributeID\": 6114, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Amarr Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryA5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6116\": {\n    \"attributeID\": 6116, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Multiplied by Minmatar Carrier skill level.\", \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"shipBonusForceAuxiliaryM5\", \n    \"published\": 0, \n    \"stackable\": 1\n  }, \n  \"6118\": {\n    \"attributeID\": 6118, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"expeditionCommandBurstProbeStrengthBonusCharID\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"6119\": {\n    \"attributeID\": 6119, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 1, \n    \"name\": \"expeditionCommandBurstProbeDeviationBonusCharID\", \n    \"published\": 0, \n    \"stackable\": 1, \n    \"unitID\": 105\n  }, \n  \"6187\": {\n    \"attributeID\": 6187, \n    \"categoryID\": 37, \n    \"dataType\": 5, \n    \"defaultValue\": 0.0, \n    \"description\": \"Reduces the cycle time and capacitor cost of Shield Booster modules for the bastion module. \", \n    \"displayName_de\": \"Shield Booster Duration and Capacitor Bonus\", \n    \"displayName_en-us\": \"Shield Booster Duration and Capacitor Bonus\", \n    \"displayName_es\": \"Shield Booster Duration and Capacitor Bonus\", \n    \"displayName_fr\": \"Shield Booster Duration and Capacitor Bonus\", \n    \"displayName_it\": \"Shield Booster Duration and Capacitor Bonus\", \n    \"displayName_ja\": \"Shield Booster Duration and Capacitor Bonus\", \n    \"displayName_ko\": \"Shield Booster Duration and Capacitor Bonus\", \n    \"displayName_ru\": \"Shield Booster Duration and Capacitor Bonus\", \n    \"displayName_zh\": \"Shield Booster Duration and Capacitor Bonus\", \n    \"displayNameID\": 1043350, \n    \"displayWhenZero\": 0, \n    \"highIsGood\": 0, \n    \"iconID\": 1392, \n    \"name\": \"bastionModeShieldBoosterCapDurationBonus\", \n    \"published\": 1, \n    \"stackable\": 1, \n    \"tooltipDescription_de\": \"Reduces the cycle time and capacitor cost of Shield Boosters improving repair throughput. \", \n    \"tooltipDescription_en-us\": \"Reduces the cycle time and capacitor cost of Shield Boosters improving repair throughput. \", \n    \"tooltipDescription_es\": \"Reduces the cycle time and capacitor cost of Shield Boosters improving repair throughput. \", \n    \"tooltipDescription_fr\": \"Reduces the cycle time and capacitor cost of Shield Boosters improving repair throughput. \", \n    \"tooltipDescription_it\": \"Reduces the cycle time and capacitor cost of Shield Boosters improving repair throughput. \", \n    \"tooltipDescription_ja\": \"Reduces the cycle time and capacitor cost of Shield Boosters improving repair throughput. \", \n    \"tooltipDescription_ko\": \"Reduces the cycle time and capacitor cost of Shield Boosters improving repair throughput. \", \n    \"tooltipDescription_ru\": \"Reduces the cycle time and capacitor cost of Shield Boosters improving repair throughput. \", \n    \"tooltipDescription_zh\": \"Reduces the cycle time and capacitor cost of Shield Boosters improving repair throughput. \", \n    \"tooltipDescriptionID\": 1043352, \n    \"tooltipTitleID\": 1043351, \n    \"unitID\": 105\n  }\n}"
  },
  {
    "path": "staticdata/fsd_built/dogmaeffects.0.json",
    "content": "{\n  \"4\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 4, \n    \"effectName\": \"shieldBoosting\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ShieldBoosting\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"9\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 2, \n    \"effectID\": 9, \n    \"effectName\": \"missileLaunching\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MissileDeployment\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"10\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 2, \n    \"durationAttributeID\": 51, \n    \"effectCategory\": 2, \n    \"effectID\": 10, \n    \"effectName\": \"targetAttack\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 158, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"trackingSpeedAttributeID\": 160\n  }, \n  \"11\": {\n    \"description_de\": \"Benötigt einen Low Power Slot\", \n    \"description_en-us\": \"Requires a low power slot\", \n    \"description_es\": \"Requiere una ranura de potencia inferior.\", \n    \"description_fr\": \"Nécessite un emplacement basse puissance\", \n    \"description_it\": \"Requires a low power slot\", \n    \"description_ja\": \"ローパワースロットが必要\", \n    \"description_ko\": \"로우 슬롯 전용 모듈\", \n    \"description_ru\": \"Требуется разъём малой мощности\", \n    \"description_zh\": \"需要低能量槽\", \n    \"descriptionID\": 107004, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Low power\", \n    \"displayName_en-us\": \"Low power\", \n    \"displayName_es\": \"Baja potencia\", \n    \"displayName_fr\": \"Basse puissance\", \n    \"displayName_it\": \"Low power\", \n    \"displayName_ja\": \"ローパワー\", \n    \"displayName_ko\": \"로우 슬롯\", \n    \"displayName_ru\": \"Разъёмы малой мощности\", \n    \"displayName_zh\": \"低能量\", \n    \"displayNameID\": 109441, \n    \"effectCategory\": 0, \n    \"effectID\": 11, \n    \"effectName\": \"loPower\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 295, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"12\": {\n    \"description_de\": \"Benötigt einen High Power Slot\", \n    \"description_en-us\": \"Requires a high power slot\", \n    \"description_es\": \"Requiere una ranura de potencia superior.\", \n    \"description_fr\": \"Nécessite un emplacement haute puissance\", \n    \"description_it\": \"Requires a high power slot\", \n    \"description_ja\": \"ハイパワースロットが必要\", \n    \"description_ko\": \"하이 슬롯 전용 모듈\", \n    \"description_ru\": \"Требуется разъём высокой мощности\", \n    \"description_zh\": \"需要高能量槽\", \n    \"descriptionID\": 107005, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"High power\", \n    \"displayName_en-us\": \"High power\", \n    \"displayName_es\": \"Alta potencia\", \n    \"displayName_fr\": \"Haute puissance\", \n    \"displayName_it\": \"High power\", \n    \"displayName_ja\": \"ハイパワー\", \n    \"displayName_ko\": \"하이 슬롯\", \n    \"displayName_ru\": \"Разъёмы большой мощности\", \n    \"displayName_zh\": \"高能量\", \n    \"displayNameID\": 109442, \n    \"effectCategory\": 0, \n    \"effectID\": 12, \n    \"effectName\": \"hiPower\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 293, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"13\": {\n    \"description_de\": \"Benötigt einen Medium Power Slot\", \n    \"description_en-us\": \"Requires a medium power slot\", \n    \"description_es\": \"Requiere una ranura de potencia media.\", \n    \"description_fr\": \"Nécessite un emplacement de puissance moyenne\", \n    \"description_it\": \"Requires a medium power slot\", \n    \"description_ja\": \"ミディアムパワースロットが必要\", \n    \"description_ko\": \"미드 슬롯 전용 모듈\", \n    \"description_ru\": \"Требуется разъём средней мощности\", \n    \"description_zh\": \"需要中能量槽\", \n    \"descriptionID\": 107006, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Medium power\", \n    \"displayName_en-us\": \"Medium power\", \n    \"displayName_es\": \"Media potencia\", \n    \"displayName_fr\": \"Moyenne puissance\", \n    \"displayName_it\": \"Medium power\", \n    \"displayName_ja\": \"ミディアムパワー\", \n    \"displayName_ko\": \"미드 슬롯\", \n    \"displayName_ru\": \" Разъёмы средней мощности\", \n    \"displayName_zh\": \"中级能量\", \n    \"displayNameID\": 109443, \n    \"effectCategory\": 0, \n    \"effectID\": 13, \n    \"effectName\": \"medPower\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 294, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"16\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 16, \n    \"effectName\": \"online\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"17\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 17, \n    \"effectName\": \"mining\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Mining\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"18\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 18, \n    \"effectName\": \"shieldTransfer\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ShieldTransfer\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 87, \n    \"rangeChance\": 0\n  }, \n  \"21\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 21, \n    \"effectName\": \"shieldCapacityBonusOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 72, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"25\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 25, \n    \"effectName\": \"capacitorCapacityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 67, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"26\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 26, \n    \"effectName\": \"structureRepair\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.StructureRepair\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"27\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 27, \n    \"effectName\": \"armorRepair\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ArmorRepair\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"34\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 2, \n    \"durationAttributeID\": 51, \n    \"effectCategory\": 2, \n    \"effectID\": 34, \n    \"effectName\": \"projectileFired\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 158, \n    \"guid\": \"effects.ProjectileFired\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"trackingSpeedAttributeID\": 160\n  }, \n  \"38\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 2, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 38, \n    \"effectName\": \"empWave\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.EMPWave\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 99, \n    \"rangeChance\": 0\n  }, \n  \"39\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 39, \n    \"effectName\": \"warpDisrupt\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpDisrupt\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"40\": {\n    \"description_de\": \"Benötigt einen Montageplatz für Werfer\", \n    \"description_en-us\": \"Requires a launcher hardpoint\", \n    \"description_es\": \"Requiere un punto de montaje de lanzador.\", \n    \"description_fr\": \"Nécessite un point de fixation de lanceur\", \n    \"description_it\": \"Requires a launcher hardpoint\", \n    \"description_ja\": \"ランチャーハードポイントが必要です\", \n    \"description_ko\": \"런처 하드포인트 요구\", \n    \"description_ru\": \"Требуется точка монтажа пусковых установок\", \n    \"description_zh\": \"需要发射器挂点\", \n    \"descriptionID\": 571924, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Werfer\", \n    \"displayName_en-us\": \"Launcher\", \n    \"displayName_es\": \"Lanzador\", \n    \"displayName_fr\": \"Lanceur\", \n    \"displayName_it\": \"Launcher\", \n    \"displayName_ja\": \"ランチャー\", \n    \"displayName_ko\": \"런처\", \n    \"displayName_ru\": \"Пусковая установка\", \n    \"displayName_zh\": \"发射器\", \n    \"displayNameID\": 571925, \n    \"effectCategory\": 0, \n    \"effectID\": 40, \n    \"effectName\": \"launcherFitted\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 168, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"42\": {\n    \"description_de\": \"Benötigt einen Montageplatz für Geschütztürme\", \n    \"description_en-us\": \"Requires a turret hardpoint\", \n    \"description_es\": \"Requiere un punto de montaje de torreta.\", \n    \"description_fr\": \"Nécessite un point de fixation de tourelle\", \n    \"description_it\": \"Requires a turret hardpoint\", \n    \"description_ja\": \"タレットハードポイントが必要です\", \n    \"description_ko\": \"터렛 하드포인트 요구\", \n    \"description_ru\": \"Требуется точка монтажа турелей\", \n    \"description_zh\": \"需要炮台挂点\", \n    \"descriptionID\": 571926, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Geschützturm\", \n    \"displayName_en-us\": \"Turret\", \n    \"displayName_es\": \"Torreta\", \n    \"displayName_fr\": \"Tourelle\", \n    \"displayName_it\": \"Turret\", \n    \"displayName_ja\": \"タレット\", \n    \"displayName_ko\": \"터렛\", \n    \"displayName_ru\": \"Турель\", \n    \"displayName_zh\": \"炮台\", \n    \"displayNameID\": 571927, \n    \"effectCategory\": 0, \n    \"effectID\": 42, \n    \"effectName\": \"turretFitted\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 1432, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"46\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 46, \n    \"effectName\": \"shipScan\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 510, \n    \"guid\": \"effects.ShipScan\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 125, \n    \"rangeChance\": 0\n  }, \n  \"47\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 47, \n    \"effectName\": \"cargoScan\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.CargoScan\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 126, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"48\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 48, \n    \"effectName\": \"powerBooster\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"50\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 50, \n    \"effectName\": \"modifyShieldRechargeRate\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 479, \n        \"modifyingAttributeID\": 134, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"51\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 51, \n    \"effectName\": \"modifyPowerRechargeRate\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 144, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"54\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 54, \n    \"effectName\": \"targetPassively\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"55\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 55, \n    \"effectName\": \"targetHostiles\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"56\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 56, \n    \"effectName\": \"powerOutputMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 11, \n        \"modifyingAttributeID\": 145, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"57\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 57, \n    \"effectName\": \"shieldCapacityMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 146, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"58\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 58, \n    \"effectName\": \"capacitorCapacityMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 147, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"59\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 59, \n    \"effectName\": \"cargoCapacityMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 149, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"60\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 60, \n    \"effectName\": \"structureHPMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 150, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"61\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 61, \n    \"effectName\": \"agilityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 2690, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"63\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 63, \n    \"effectName\": \"armorHPMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 148, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"67\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 2, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 67, \n    \"effectName\": \"miningLaser\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"70\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 70, \n    \"effectName\": \"agilityMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 169, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"73\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 73, \n    \"effectName\": \"repairCostMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 187, \n        \"modifyingAttributeID\": 187, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"81\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 81, \n    \"effectName\": \"surveyScan\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.SurveyScan\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 197, \n    \"rangeChance\": 0\n  }, \n  \"82\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 82, \n    \"effectName\": \"corporationMemberLimitBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 190, \n        \"modifyingAttributeID\": 191, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"87\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 87, \n    \"effectName\": \"cpuUsageMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 202, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"88\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 88, \n    \"effectName\": \"miningDurationMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 54, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 203, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"89\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 89, \n    \"effectName\": \"projectileWeaponSpeedMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 55, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"91\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 91, \n    \"effectName\": \"energyWeaponDamageMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 64, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"92\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 92, \n    \"effectName\": \"projectileWeaponDamageMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 55, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 64, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"93\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 93, \n    \"effectName\": \"hybridWeaponDamageMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 64, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"95\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 95, \n    \"effectName\": \"energyWeaponSpeedMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"96\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 96, \n    \"effectName\": \"hybridWeaponSpeedMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"97\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 97, \n    \"effectName\": \"turretWeaponAccuracyMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 55, \n        \"modifiedAttributeID\": 205, \n        \"modifyingAttributeID\": 205, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 205, \n        \"modifyingAttributeID\": 205, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 205, \n        \"modifyingAttributeID\": 205, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"100\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 100, \n    \"effectName\": \"hybridWeaponAccuracyMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 205, \n        \"modifyingAttributeID\": 205, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"101\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 2, \n    \"durationAttributeID\": 51, \n    \"effectCategory\": 1, \n    \"effectID\": 101, \n    \"effectName\": \"useMissiles\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"102\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 102, \n    \"effectName\": \"mineLaying\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"103\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"effectCategory\": 1, \n    \"effectID\": 103, \n    \"effectName\": \"defenderMissileLaunching\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"104\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"effectCategory\": 1, \n    \"effectID\": 104, \n    \"effectName\": \"fofMissileLaunching\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MissileDeployment\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"105\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 105, \n    \"effectName\": \"shieldResonanceMultiplyOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 130, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 131, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 133, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 132, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"106\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 106, \n    \"effectName\": \"miningAmountMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 54, \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 207, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"107\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 107, \n    \"effectName\": \"characterMissileDamageMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 212, \n        \"modifyingAttributeID\": 213, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"109\": {\n    \"description_de\": \"Skaliert den Energiespeicherbedarf von allen eingebauten Geschütztürmen.\", \n    \"description_en-us\": \"Scales the capacitor need for all the fitted turret weapons.\", \n    \"description_es\": \"Ajusta la necesidad del condensador de todas las armas de torreta equipadas.\", \n    \"description_fr\": \"Échelonne les besoins énergétiques du capaciteur pour chaque tourelle installée.\", \n    \"description_it\": \"Scales the capacitor need for all the fitted turret weapons.\", \n    \"description_ja\": \"装備されたすべてのタレット武器についてキャパシタの必要量を拡大。\", \n    \"description_ko\": \"피팅된 모든 터렛 무기에 필요한 캐패시터를 측정합니다.\", \n    \"description_ru\": \"Scales the capacitor need for all the fitted turret weapons.\", \n    \"description_zh\": \"按照比例修正所有已装载的炮台武器电容需求。\", \n    \"descriptionID\": 107039, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"turretWeaponCapacitorMultiply\", \n    \"displayName_en-us\": \"turretWeaponCapacitorMultiply\", \n    \"displayName_es\": \"turretWeaponCapacitorMultiply\", \n    \"displayName_fr\": \"turretWeaponCapacitorMultiply\", \n    \"displayName_it\": \"turretWeaponCapacitorMultiply\", \n    \"displayName_ja\": \"タレット兵器キャパシタ増加\", \n    \"displayName_ko\": \"터렛 무기 캐패시터 변동\", \n    \"displayName_ru\": \"turretWeaponCapacitorMultiply\", \n    \"displayName_zh\": \"炮台武器电容修正值\", \n    \"displayNameID\": 109444, \n    \"effectCategory\": 0, \n    \"effectID\": 109, \n    \"effectName\": \"turretWeaponCapacitorNeedMultiply\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 55, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 216, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 216, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 216, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"110\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 110, \n    \"effectName\": \"characterBlueprintResearchTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 218, \n        \"modifyingAttributeID\": 220, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"111\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 111, \n    \"effectName\": \"characterBlueprintManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 221, \n        \"modifyingAttributeID\": 222, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"112\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 112, \n    \"effectName\": \"characterCharismaSkillTrainingTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 223, \n        \"modifyingAttributeID\": 228, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"113\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 113, \n    \"effectName\": \"characterIntelligenceSkillTrainingTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 224, \n        \"modifyingAttributeID\": 229, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"114\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 114, \n    \"effectName\": \"characterMemorySkillTrainingTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 225, \n        \"modifyingAttributeID\": 230, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"115\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 115, \n    \"effectName\": \"characterPerceptionSkillTrainingTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 226, \n        \"modifyingAttributeID\": 231, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"116\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 116, \n    \"effectName\": \"characterWillpowerSkillTrainingTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 227, \n        \"modifyingAttributeID\": 232, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"118\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 118, \n    \"effectName\": \"electronicAttributeModifyOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 237, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 79, \n        \"modifyingAttributeID\": 242, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 192, \n        \"modifyingAttributeID\": 235, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"127\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 127, \n    \"effectName\": \"torpedoLaunching\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TorpedoDeployment\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"132\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 132, \n    \"effectName\": \"skillEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 280, \n        \"modifyingAttributeID\": 276, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 280, \n        \"modifyingAttributeID\": 275, \n        \"operation\": 9\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"146\": {\n    \"description_de\": \"Boost des barrageDmgMultiplier mit PreMul des skillLevel.\", \n    \"description_en-us\": \"Boost of damageMultiplier by PreMul of skillLevel\", \n    \"description_es\": \"Boost of damageMultiplier by PreMul of skillLevel\", \n    \"description_fr\": \"Boost of damageMultiplier by PreMul of skillLevel\", \n    \"description_it\": \"Boost of damageMultiplier by PreMul of skillLevel\", \n    \"description_ja\": \"スキルレベルのプレマルによるダメージ乗数のブースト\", \n    \"description_ko\": \"스킬 레벨의 변동 전 수치에 따른 데미지 변동 증폭입니다.\", \n    \"description_ru\": \"Boost of damageMultiplier by PreMul of skillLevel\", \n    \"description_zh\": \"伤害乘数乘以原始技能等级后得到的加成值\", \n    \"descriptionID\": 107055, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"DamageBonus\", \n    \"displayName_en-us\": \"DamageBonus\", \n    \"displayName_es\": \"DamageBonus\", \n    \"displayName_fr\": \"DamageBonus\", \n    \"displayName_it\": \"DamageBonus\", \n    \"displayName_ja\": \"ダメージボーナス\", \n    \"displayName_ko\": \"데미지 보너스\", \n    \"displayName_ru\": \"DamageBonus\", \n    \"displayName_zh\": \"伤害加成\", \n    \"displayNameID\": 109445, \n    \"effectCategory\": 0, \n    \"effectID\": 146, \n    \"effectName\": \"damageMultiplierSkillBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 292, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"152\": {\n    \"description_de\": \"Boost des damageMultiplierBonus mit PreMul des skillLevel\", \n    \"description_en-us\": \"Boost of damageMultiplierBonus by PreMul of skillLevel\", \n    \"description_es\": \"Boost of damageMultiplierBonus by PreMul of skillLevel\", \n    \"description_fr\": \"Boost of damageMultiplierBonus by PreMul of skillLevel\", \n    \"description_it\": \"Boost of damageMultiplierBonus by PreMul of skillLevel\", \n    \"description_ja\": \"スキルレベルのプレマルによるダメージ乗数ボーナスのブースト\", \n    \"description_ko\": \"스킬 레벨의 변동 전 수치에 따른 데미지 변동 보너스 증폭입니다.\", \n    \"description_ru\": \"Boost of damageMultiplierBonus by PreMul of skillLevel\", \n    \"description_zh\": \"伤害乘数加成乘以原始技能等级后得到的加成值\", \n    \"descriptionID\": 107056, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"SkillBoostDamageMultiplierBonus\", \n    \"displayName_en-us\": \"SkillBoostDamageMultiplierBonus\", \n    \"displayName_es\": \"SkillBoostDamageMultiplierBonus\", \n    \"displayName_fr\": \"SkillBoostDamageMultiplierBonus\", \n    \"displayName_it\": \"SkillBoostDamageMultiplierBonus\", \n    \"displayName_ja\": \"スキルブーストダメージ乗数ボーナス\", \n    \"displayName_ko\": \"SkillBoostDamageMultiplierBonus\", \n    \"displayName_ru\": \"SkillBoostDamageMultiplierBonus\", \n    \"displayName_zh\": \"技能增加伤害修正值加成\", \n    \"displayNameID\": 109446, \n    \"effectCategory\": 0, \n    \"effectID\": 152, \n    \"effectName\": \"skillBoostDamageMultiplierBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 292, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"157\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 157, \n    \"effectName\": \"largeHybridTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringLargeHybridTurret\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"159\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 159, \n    \"effectName\": \"mediumEnergyTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringMediumEnergyTurret\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"160\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 160, \n    \"effectName\": \"mediumHybridTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringMediumHybridTurret\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"161\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 161, \n    \"effectName\": \"mediumProjectileTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringMediumProjectileTurret\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"162\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 162, \n    \"effectName\": \"largeEnergyTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringLargeEnergyTurret\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"163\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 163, \n    \"effectName\": \"rapidFiringSkillBoostRofBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 293, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"167\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 167, \n    \"effectName\": \"sharpshooterSkillBoostRangeSkillBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 294, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"172\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 172, \n    \"effectName\": \"smallEnergyTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringSmallEnergyTurret\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"173\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 173, \n    \"effectName\": \"smallHybridTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringSmallHybridTurret\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"174\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 174, \n    \"effectName\": \"smallProjectileTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringSmallProjectileTurret\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"187\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 187, \n    \"effectName\": \"caldariCruiserSkillBoostCcTRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 300, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"189\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 189, \n    \"effectName\": \"caldariFrigateSkillBoostCfTRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 301, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"204\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 204, \n    \"effectName\": \"signatureAnalysisSkillBoostScanspeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 308, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"205\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 205, \n    \"effectName\": \"signatureAnalysisScanspeedBonusPostPercentScanSpeedLocationShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 79, \n        \"modifyingAttributeID\": 308, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"206\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 206, \n    \"effectName\": \"longRangeTargetingSkillBoostMaxTargetRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 309, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"208\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 208, \n    \"effectName\": \"propulsionJammingSkillBoostDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 66, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"211\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 211, \n    \"effectName\": \"sensorUpgradesSkillBoostCpuNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 310, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"212\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 212, \n    \"effectName\": \"sensorUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringSensorUpgrades\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6, \n        \"skillTypeID\": 3432\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"213\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 213, \n    \"effectName\": \"targetingSkillBoostMaxTargetBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 311, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"214\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 214, \n    \"effectName\": \"targetingMaxTargetBonusModAddMaxLockedTargetsLocationChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 192, \n        \"modifyingAttributeID\": 311, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"216\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 216, \n    \"effectName\": \"electronicWarfareSkillBoostDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 312, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"218\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 218, \n    \"effectName\": \"engineeringSkillBoostPowerOutputBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 313, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"220\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 220, \n    \"effectName\": \"energyManagementSkillBoostCapRechargeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 314, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"222\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 222, \n    \"effectName\": \"navigationSkillBoostVelocityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 315, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"223\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 223, \n    \"effectName\": \"navigationVelocityBonusPostPercentMaxVelocityLocationShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 315, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"225\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 225, \n    \"effectName\": \"accerationControlSkillBoostCapNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 317, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"227\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 227, \n    \"effectName\": \"accerationControlCapNeedBonusPostPercentCapacitorNeedLocationShipGroupAfterburner\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 46, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"228\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 228, \n    \"effectName\": \"accerationControlSkillBoostSpeedFBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 318, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"230\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 230, \n    \"effectName\": \"afterburnerDurationBonusPostPercentDurationLocationShipModulesRequiringAfterburner\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"232\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 232, \n    \"effectName\": \"evasiveManuveringSkillBoostAgilityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 151, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"234\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 234, \n    \"effectName\": \"warpdriveoperationSkillBoostWarpCapacitorNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 319, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"235\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 235, \n    \"effectName\": \"warpdriveoperationWarpCapacitorNeedBonusPostPercentWarpCapacitorNeedLocationShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 153, \n        \"modifyingAttributeID\": 319, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"239\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 239, \n    \"effectName\": \"corporationManagementSkillBoostCorporationMemberBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 191, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"242\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 242, \n    \"effectName\": \"accerationControlSpeedFBonusPostPercentSpeedFactorLocationShipGroupAfterburner\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 46, \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 318, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"243\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 243, \n    \"effectName\": \"highSpeedManuveringSkillBoostCapacitorNeedMultiplier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 317, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"244\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 244, \n    \"effectName\": \"highSpeedManuveringCapacitorNeedMultiplierPostPercentCapacitorNeedLocationShipModulesRequiringHighSpeedManuvering\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"246\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 246, \n    \"effectName\": \"sensorUpgradesSkillBoostPowerNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 323, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"251\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 251, \n    \"effectName\": \"hullUpgradesSkillBoostHullHpBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 327, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"253\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 253, \n    \"effectName\": \"shadowBarrageDmgMultiplierWithDamageMultiplierPostPercentBarrageDmgMutator\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 326, \n        \"modifyingAttributeID\": 64, \n        \"operation\": -1\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 326, \n        \"modifyingAttributeID\": 324, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"254\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 254, \n    \"effectName\": \"shadowBarrageFalloffWithFalloffPostPercentBarrageFalloffMutator\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 328, \n        \"modifyingAttributeID\": 158, \n        \"operation\": -1\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 328, \n        \"modifyingAttributeID\": 325, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"263\": {\n    \"description_de\": \"Sperrfeuer-Angriff - Angriff mit barrageDmgMultiplier als Multiplikator.\", \n    \"description_en-us\": \"Barrage Attack, Attack with barrageDmgMultiplier as a damage multiplier\", \n    \"description_es\": \"Barrage Attack, Attack with barrageDmgMultiplier as a damage multiplier\", \n    \"description_fr\": \"Barrage Attack, Attack with barrageDmgMultiplier as a damage multiplier\", \n    \"description_it\": \"Barrage Attack, Attack with barrageDmgMultiplier as a damage multiplier\", \n    \"description_ja\": \"バラージ攻撃、ダメージ乗数としてバラージダメージ乗数を使用する攻撃\", \n    \"description_ko\": \"버라지 공격으로 버라지 데미지 변동을 데미지 변동으로 반영해 공격합니다.\", \n    \"description_ru\": \"Barrage Attack, Attack with barrageDmgMultiplier as a damage multiplier\", \n    \"description_zh\": \"弹幕攻击，以弹幕伤害乘数作为伤害乘数进行攻击\", \n    \"descriptionID\": 107101, \n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"displayName_de\": \"Barrage Attack\", \n    \"displayName_en-us\": \"Barrage Attack\", \n    \"displayName_es\": \"Ataque descarga\", \n    \"displayName_fr\": \"Attaque de barrage\", \n    \"displayName_it\": \"Barrage Attack\", \n    \"displayName_ja\": \"バラージ攻撃\", \n    \"displayName_ko\": \"버라지 공격\", \n    \"displayName_ru\": \"Barrage Attack\", \n    \"displayName_zh\": \"弹幕攻击\", \n    \"displayNameID\": 109454, \n    \"durationAttributeID\": 51, \n    \"effectCategory\": 2, \n    \"effectID\": 263, \n    \"effectName\": \"barrage\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 328, \n    \"guid\": \"effects.Barrage\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"trackingSpeedAttributeID\": 160\n  }, \n  \"267\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 267, \n    \"effectName\": \"amarrCruiserSkillBoostPowerOutputBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 121, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"270\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 270, \n    \"effectName\": \"hullUpgradesSkillBoostArmorHpBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 335, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"271\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 271, \n    \"effectName\": \"hullUpgradesArmorHpBonusPostPercentHpLocationShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 335, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"272\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 272, \n    \"effectName\": \"repairSystemsDurationBonusPostPercentDurationLocationShipModulesRequiringRepairSystems\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 312, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"273\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 273, \n    \"effectName\": \"shieldUpgradesPowerNeedBonusPostPercentPowerLocationShipModulesRequiringShieldUpgrades\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 323, \n        \"operation\": 6, \n        \"skillTypeID\": 3425\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"277\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 277, \n    \"effectName\": \"tacticalshieldManipulationSkillBoostUniformityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 336, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"279\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 279, \n    \"effectName\": \"shieldEmmisionSystemsCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringShieldEmmisionSystems\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"280\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 280, \n    \"effectName\": \"shieldManagementSkillBoostShieldCapacityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 337, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"283\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 283, \n    \"effectName\": \"shieldoperationSkillBoostRechargeratebonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 338, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"287\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 287, \n    \"effectName\": \"controlledBurstsCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringGunnery\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"289\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 289, \n    \"effectName\": \"motionPredictionTrackingSpeedMultiplierPostPercentTrackingSpeedLocationShipModulesRequiringGunnery\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 244, \n        \"operation\": 4, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"290\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 290, \n    \"effectName\": \"sharpshooterRangeSkillBonusPostPercentMaxRangeLocationShipModulesRequiringGunnery\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"297\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 297, \n    \"effectName\": \"skillBoostFalloffBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 349, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"298\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 298, \n    \"effectName\": \"surgicalStrikeFalloffBonusPostPercentFalloffLocationShipModulesRequiringGunnery\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"302\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 302, \n    \"effectName\": \"empathyCharismaBonusModAddCharismaLocationChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 164, \n        \"modifyingAttributeID\": 175, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"304\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 304, \n    \"effectName\": \"instantRecallMemoryBonusModAddMemoryLocationChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 166, \n        \"modifyingAttributeID\": 177, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"306\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 306, \n    \"effectName\": \"analyticalMindIntelligenceBonusModAddIntelligenceLocationChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 165, \n        \"modifyingAttributeID\": 176, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"308\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 308, \n    \"effectName\": \"ironWillWillpowerBonusModAddWillpowerLocationChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 168, \n        \"modifyingAttributeID\": 179, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"310\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 310, \n    \"effectName\": \"spatialAwarenessPerceptionBonusModAddPerceptionLocationChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 167, \n        \"modifyingAttributeID\": 178, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"315\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 315, \n    \"effectName\": \"dronesSkillBoostMaxActiveDroneBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 353, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"316\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 316, \n    \"effectName\": \"dronesMaxActiveDroneBonusModAddMaxActiveLocationChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 352, \n        \"modifyingAttributeID\": 353, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"317\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 317, \n    \"effectName\": \"amarrTechSkillBoostAmarrTechMutator\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 370, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"318\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 318, \n    \"effectName\": \"amarrTechAmarrTechMutatorPostPercentAmarrTechTimePercentLocationChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 363, \n        \"modifyingAttributeID\": 370, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"319\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 319, \n    \"effectName\": \"caldariTechSkillBoostCaldariTechMutator\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 371, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"320\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 320, \n    \"effectName\": \"caldariTechCaldariTechMutatorPostPercentCaldariTechTimePercentLocationChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 366, \n        \"modifyingAttributeID\": 371, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"321\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 321, \n    \"effectName\": \"gallenteTechSkillBoostGallenteTechMutator\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 372, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"322\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 322, \n    \"effectName\": \"gallenteTechGallenteTechMutatorPostPercentGallenteTechTimePercentLocationChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 365, \n        \"modifyingAttributeID\": 372, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"331\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 331, \n    \"effectName\": \"refineryEfficiencySkillBoostRefiningYieldMutator\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 379, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"334\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 334, \n    \"effectName\": \"cSOTrainingSkillBoostResearchGangSizeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 407, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"335\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 335, \n    \"effectName\": \"cSOTrainingResearchGangSizeBonusModAddMaxResearchGangSizeShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 384, \n        \"modifyingAttributeID\": 407, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"336\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 336, \n    \"effectName\": \"battleshipConstructionSkillBoostBattleshipConstructionTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 408, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"337\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 337, \n    \"effectName\": \"battleshipConstructionBattleshipConstructionTimeBonusPostPercentBattleshipConstructionTimeChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 393, \n        \"modifyingAttributeID\": 408, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"338\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 338, \n    \"effectName\": \"cruiserConstructionSkillBoostCruiserConstructionTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 409, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"339\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 339, \n    \"effectName\": \"cruiserConstructionCruiserConstructionTimeBonusPostPercentCruiserConstructionTimeChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 389, \n        \"modifyingAttributeID\": 409, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"340\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 340, \n    \"effectName\": \"frigateConstructionSkillBoostFrigateConstructionTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 410, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"341\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 341, \n    \"effectName\": \"frigateConstructionFrigateConstructionTimeBonusPostPercentFrigateConstructionTimeChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 388, \n        \"modifyingAttributeID\": 410, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"342\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 342, \n    \"effectName\": \"industrialConstructionSkillBoostIndustrialConstructionTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 411, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"343\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 343, \n    \"effectName\": \"industrialConstructionIndustrialConstructionTimeBonusPostPercentIndustrialConstructionTimeChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 392, \n        \"modifyingAttributeID\": 411, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"344\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 344, \n    \"effectName\": \"connectionsSkillBoostConnectionBonusMutator\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 412, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"346\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 346, \n    \"effectName\": \"criminalConnectionsSkillBoostCriminalConnectionsMutator\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 413, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"348\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 348, \n    \"effectName\": \"diplomacySkillBoostDiplomacyMutator\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 414, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"349\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 349, \n    \"effectName\": \"diplomacyDiplomacyMutatorModAddDiplomacyBonusChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 356, \n        \"modifyingAttributeID\": 414, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"350\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 350, \n    \"effectName\": \"fasttalkSkillBoostFastTalkMutator\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 415, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"352\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 352, \n    \"effectName\": \"fasttalkFastTalkMutatorPostPercentFastTalkPercentageChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 359, \n        \"modifyingAttributeID\": 415, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"368\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 368, \n    \"effectName\": \"gallenteFrigateSkillBoostCpuOutputBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 424, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"389\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 389, \n    \"effectName\": \"astrogeologySkillBoostMiningAmountBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 434, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"391\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 391, \n    \"effectName\": \"astrogeologyMiningAmountBonusPostPercentMiningAmountLocationShipModulesRequiringMining\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 434, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"392\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 392, \n    \"effectName\": \"mechanicHullHpBonusPostPercentHpShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"394\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 394, \n    \"effectName\": \"navigationVelocityBonusPostPercentMaxVelocityShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 315, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"395\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 395, \n    \"effectName\": \"evasiveManeuveringAgilityBonusPostPercentAgilityShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 151, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"396\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 396, \n    \"effectName\": \"energyGridUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringEnergyGridUpgrades\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6, \n        \"skillTypeID\": 3424\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"397\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 397, \n    \"effectName\": \"electronicsCpuOutputBonusPostPercentCpuOutputLocationShipGroupComputer\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 48, \n        \"modifyingAttributeID\": 424, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"399\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 399, \n    \"effectName\": \"connectionsConnectionBonusMutatorModAddConnectionsBonusChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 360, \n        \"modifyingAttributeID\": 412, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"402\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 402, \n    \"effectName\": \"criminalConnectionsCriminalConnectionsMutatorModAddCriminalConnectionsBonusChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 361, \n        \"modifyingAttributeID\": 413, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"403\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 403, \n    \"effectName\": \"negotiationSkillBoostNegotiationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 437, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"404\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 404, \n    \"effectName\": \"negotiationNegotiationBonusPostPercentNegotiationPercentageChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 355, \n        \"modifyingAttributeID\": 437, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"406\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 406, \n    \"effectName\": \"socialSkillBoostSocialMutator\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 438, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"407\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 407, \n    \"effectName\": \"socialSocialMutatorPostPercentSocialBonusChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 362, \n        \"modifyingAttributeID\": 438, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"408\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 408, \n    \"effectName\": \"largeProjectileTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringLargeProjectileTurret\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"412\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 412, \n    \"effectName\": \"industrySkillBoostManufacturingTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 440, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"413\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 413, \n    \"effectName\": \"gunnerySkillBoostTurretSpeeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 441, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"414\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 414, \n    \"effectName\": \"gunneryTurretSpeeBonusPostPercentSpeedLocationShipModulesRequiringGunnery\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 441, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"415\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 415, \n    \"effectName\": \"tradeSkillBoostTradePremiumBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 446, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"416\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 416, \n    \"effectName\": \"tradeTradePremiumBonusPostPercentTradePremiumChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 443, \n        \"modifyingAttributeID\": 446, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"417\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 417, \n    \"effectName\": \"smugglingSkillBoostSmugglingChanceBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 447, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"425\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 425, \n    \"effectName\": \"industryManufacturingTimeBonusPostPercentManufactureTimeMultiplierChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 219, \n        \"modifyingAttributeID\": 440, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"430\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 430, \n    \"effectName\": \"scienceSkillBoostCopySpeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 452, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"431\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 431, \n    \"effectName\": \"scienceCopySpeedBonusPostPercentCopySpeedPercentChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 387, \n        \"modifyingAttributeID\": 452, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"432\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 432, \n    \"effectName\": \"researchSkillBoostBlueprintmanufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 453, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"433\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 433, \n    \"effectName\": \"researchBlueprintmanufactureTimeBonusPostPercentProductionTimeResearchSpeedChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 385, \n        \"modifyingAttributeID\": 453, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"435\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 435, \n    \"effectName\": \"refineryEfficiencyRefiningYieldMutatorPostPercentRefiningYieldPercentageChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 378, \n        \"modifyingAttributeID\": 379, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"436\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 436, \n    \"effectName\": \"missileLauncherOperationSpeedBonusPostPercentSpeedLocationShipModulesRequiringMissileLauncherOperation\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 80, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"445\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 445, \n    \"effectName\": \"energyManagementCapacitorBonusPostPercentCapacityLocationShipGroupCapacitor\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 67, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"446\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 446, \n    \"effectName\": \"shieldManagementShieldCapacityBonusPostPercentCapacityLocationShipGroupShield\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 337, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"448\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 448, \n    \"effectName\": \"scoutDroneOperationSkillBoostDroneRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 459, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"453\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 453, \n    \"effectName\": \"minmatarFrigateSkillLevelPreMulShipBonusMFShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 460, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"456\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 456, \n    \"effectName\": \"shipTargetRangeBonusMF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"460\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 460, \n    \"effectName\": \"caldariFrigateSkillLevelPreMulShipBonusCFShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 463, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"464\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 464, \n    \"effectName\": \"shipShieldCapBonusCF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"468\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 468, \n    \"effectName\": \"gallenteFrigateSkillLevelPreMulShipBonusGFShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 462, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"476\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 476, \n    \"effectName\": \"amarrFrigateSkillLevelPreMulShipBonusAFShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 464, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"481\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 481, \n    \"effectName\": \"metallurgySkillBoostMineralNeedResearchBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 468, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"485\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 485, \n    \"effectName\": \"capacitorRechargeTimeBonusPostPercentPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 314, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"486\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 486, \n    \"effectName\": \"shieldOperationRechargeratebonusPostPercentRechargeRateLocationShipGroupShield\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 479, \n        \"modifyingAttributeID\": 338, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"490\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 490, \n    \"effectName\": \"engineeringPowerEngineeringOutputBonusPostPercentPowerOutputLocationShipGroupPowerCore\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 11, \n        \"modifyingAttributeID\": 313, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"494\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 494, \n    \"effectName\": \"warpDriveOperationWarpCapacitorNeedBonusPostPercentWarpCapacitorNeedLocationShipGroupPropulsion\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 153, \n        \"modifyingAttributeID\": 319, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"498\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 498, \n    \"effectName\": \"inventionSkillBoostInventionBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 474, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"500\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 500, \n    \"effectName\": \"amarrCruiserSkillLevelPreMulShipBonusACShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 478, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"504\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 504, \n    \"effectName\": \"scoutDroneOperationDroneRangeBonusModAddDroneControlDistanceChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 458, \n        \"modifyingAttributeID\": 459, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"506\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 506, \n    \"effectName\": \"fuelConservationCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringAfterburner\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"507\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 507, \n    \"effectName\": \"longRangeTargetingMaxTargetRangeBonusPostPercentMaxTargetRangeLocationShipGroupElectronic\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 309, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"508\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 508, \n    \"effectName\": \"shipPDmgBonusMF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"510\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 510, \n    \"effectName\": \"amarrFrigateSkillLevelPreMulShipBonus2AFShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 485, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"511\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 511, \n    \"effectName\": \"shipEnergyTCapNeedBonusAF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"512\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 512, \n    \"effectName\": \"shipSHTDmgBonusGF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"514\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 514, \n    \"effectName\": \"shipSETDmgBonusAF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"516\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 516, \n    \"effectName\": \"shipTCapNeedBonusAC\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"517\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 517, \n    \"effectName\": \"gallenteCruiserSkillLevelPreMulShipBonusGCShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 486, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"520\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 520, \n    \"effectName\": \"caldariCruiserSkillLevelPreMulShipBonusCCShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 487, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"521\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 521, \n    \"effectName\": \"shipHRangeBonusCC\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"524\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 524, \n    \"effectName\": \"minmatarCruiserSkillLevelPreMulShipBonusMCShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 489, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"526\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 526, \n    \"effectName\": \"minmatarIndustrialSkillLevelPreMulShipBonusMIShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 493, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"527\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 527, \n    \"effectName\": \"shipVelocityBonusMI\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 493, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"529\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 529, \n    \"effectName\": \"shipCargoBonusAI\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 494, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"530\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 530, \n    \"effectName\": \"caldariIndustrialSkillLevelPreMulShipBonusCIShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 495, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"532\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 532, \n    \"effectName\": \"gallenteIndustrialSkillLevelPreMulShipBonusGIShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 496, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"536\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 536, \n    \"effectName\": \"cpuMultiplierPostMulCpuOutputShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 48, \n        \"modifyingAttributeID\": 202, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"538\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 538, \n    \"effectName\": \"amarrBattleshipSkillLevelPostMulShipBonusABShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 492, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"541\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 541, \n    \"effectName\": \"caldariBattleshipSkillLevelPreMulShipBonusCBShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 491, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"542\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 542, \n    \"effectName\": \"shipCapNeedBonusAB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"548\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 548, \n    \"effectName\": \"minmatarBattleshipSkillLevelPreMulShipBonusMBShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 490, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"549\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 549, \n    \"effectName\": \"shipPTDmgBonusMB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"550\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107253, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"shipHTDmgBonus\", \n    \"displayName_en-us\": \"shipHTDmgBonus\", \n    \"displayName_es\": \"shipHTDmgBonus\", \n    \"displayName_fr\": \"shipHTDmgBonus\", \n    \"displayName_it\": \"shipHTDmgBonus\", \n    \"displayName_ja\": \"艦船HTダメージボーナス\", \n    \"displayName_ko\": \"함선 열 데미지 보너스\", \n    \"displayName_ru\": \"shipHTDmgBonus\", \n    \"displayName_zh\": \"舰船混合炮台伤害加成\", \n    \"displayNameID\": 109475, \n    \"effectCategory\": 0, \n    \"effectID\": 550, \n    \"effectName\": \"shipHTDmgBonusGB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 500, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"553\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 553, \n    \"effectName\": \"shipHTTrackingBonusGB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 500, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"556\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 556, \n    \"effectName\": \"caldariBattleshipSkillLevelPreMulShipBonus2CBShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 501, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"558\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 558, \n    \"effectName\": \"metallurgyMineralNeedResearchBonusPostPercentMineralNeedResearchSpeedChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 398, \n        \"modifyingAttributeID\": 468, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"562\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107258, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"ShipHTDmgBonusfixedGC\", \n    \"displayName_en-us\": \"ShipHTDmgBonusfixedGC\", \n    \"displayName_es\": \"ShipHTDmgBonusfixedGC\", \n    \"displayName_fr\": \"ShipHTDmgBonusfixedGC\", \n    \"displayName_it\": \"ShipHTDmgBonusfixedGC\", \n    \"displayName_ja\": \"艦船HTダメージボーナスGC固定\", \n    \"displayName_ko\": \"ShipHTDmgBonusfixedGC\", \n    \"displayName_ru\": \"ShipHTDmgBonusfixedGC\", \n    \"displayName_zh\": \"舰船炮台伤害加成固定GC\", \n    \"displayNameID\": 109476, \n    \"effectCategory\": 0, \n    \"effectID\": 562, \n    \"effectName\": \"shipHTDmgBonusfixedGC\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"563\": {\n    \"description_de\": \"Versucht, das Ziel vom Warpen abzuhalten.\", \n    \"description_en-us\": \"Attempts to prevent the target from warping.\", \n    \"description_es\": \"Intenta impedir que el objetivo warpee.\", \n    \"description_fr\": \"Essaie d'empêcher la cible de warper.\", \n    \"description_it\": \"Attempts to prevent the target from warping.\", \n    \"description_ja\": \"ターゲットのワープ阻止を試みる。\", \n    \"description_ko\": \"타겟의 워프를 막기 위한 시도입니다.\", \n    \"description_ru\": \"Attempts to prevent the target from warping.\", \n    \"description_zh\": \"阻止目标进行跃迁。\", \n    \"descriptionID\": 108709, \n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"displayName_de\": \"Warp Scramble\", \n    \"displayName_en-us\": \"Warp Scramble\", \n    \"displayName_es\": \"Distorsión de warp\", \n    \"displayName_fr\": \"Inhibition de warp\", \n    \"displayName_it\": \"Warp Scramble\", \n    \"displayName_ja\": \"ワープスクランブル\", \n    \"displayName_ko\": \"워프 스크램블\", \n    \"displayName_ru\": \"Warp Scramble\", \n    \"displayName_zh\": \"跃迁干扰\", \n    \"displayNameID\": 109962, \n    \"distribution\": 1, \n    \"durationAttributeID\": 505, \n    \"effectCategory\": 2, \n    \"effectID\": 563, \n    \"effectName\": \"warpScrambleForEntity\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpScramble\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }\n    ], \n    \"npcUsageChanceAttributeID\": 504, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 103, \n    \"rangeChance\": 0\n  }, \n  \"566\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 566, \n    \"effectName\": \"laboratoryOperationSkillLevelModAddMaxLaborotorySlotsChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 467, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"568\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 568, \n    \"effectName\": \"massProductionSkillLevelModAddManufactureSlotLimitChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 196, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"569\": {\n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"missileLaunching\", \n    \"displayName_en-us\": \"missileLaunching\", \n    \"displayName_es\": \"missileLaunching\", \n    \"displayName_fr\": \"missileLaunching\", \n    \"displayName_it\": \"missileLaunching\", \n    \"displayName_ja\": \"ミサイル発射\", \n    \"displayName_ko\": \"미사일 발사\", \n    \"displayName_ru\": \"missileLaunching\", \n    \"displayName_zh\": \"导弹发射\", \n    \"displayNameID\": 109477, \n    \"durationAttributeID\": 506, \n    \"effectCategory\": 2, \n    \"effectID\": 569, \n    \"effectName\": \"missileLaunchingForEntity\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MissileDeployment\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"571\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 571, \n    \"effectName\": \"reverseEngineeringInventionBonusModAddReverseEngineeringChanceLocationChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 397, \n        \"modifyingAttributeID\": 474, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"575\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 515, \n    \"displayName_de\": \"modifyTargetSpeed\", \n    \"displayName_en-us\": \"modifyTargetSpeed\", \n    \"displayName_es\": \"modifyTargetSpeed\", \n    \"displayName_fr\": \"modifyTargetSpeed\", \n    \"displayName_it\": \"modifyTargetSpeed\", \n    \"displayName_ja\": \"ターゲット速度を修正\", \n    \"displayName_ko\": \"타겟 속도 변경\", \n    \"displayName_ru\": \"modifyTargetSpeed\", \n    \"displayName_zh\": \"修正目标速度\", \n    \"displayNameID\": 109964, \n    \"distribution\": 2, \n    \"durationAttributeID\": 513, \n    \"effectCategory\": 2, \n    \"effectID\": 575, \n    \"effectName\": \"modifyTargetSpeed2\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ModifyTargetSpeed\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }\n    ], \n    \"npcUsageChanceAttributeID\": 512, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 514, \n    \"rangeChance\": 0\n  }, \n  \"581\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 581, \n    \"effectName\": \"weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringGunnery\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6, \n        \"skillTypeID\": 55033\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"582\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 582, \n    \"effectName\": \"rapidFiringRofBonusPostPercentSpeedLocationShipModulesRequiringGunnery\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 293, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"583\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 583, \n    \"effectName\": \"amarrIndustrialSkillLevelPreMulShipBonusAI2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 494, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"584\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 584, \n    \"effectName\": \"surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringGunnery\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"586\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"displayName_de\": \"Decrease Target Speed\", \n    \"displayName_en-us\": \"Decrease Target Speed\", \n    \"displayName_es\": \"Disminución de la velocidad del objetivo\", \n    \"displayName_fr\": \"Réduit la vitesse de la cible\", \n    \"displayName_it\": \"Decrease Target Speed\", \n    \"displayName_ja\": \"ターゲット速度を減速\", \n    \"displayName_ko\": \"타겟 속도 감소\", \n    \"displayName_ru\": \"Decrease Target Speed\", \n    \"displayName_zh\": \"降低目标速度\", \n    \"displayNameID\": 109478, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 586, \n    \"effectName\": \"decreaseTargetSpeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ModifyTargetSpeed\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"587\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 587, \n    \"effectName\": \"surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupEnergyWeapon\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"588\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 588, \n    \"effectName\": \"surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupProjectileWeapon\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 55, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"589\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 589, \n    \"effectName\": \"surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupHybridWeapon\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"590\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 590, \n    \"effectName\": \"energyPulseWeaponsDurationBonusPostPercentDurationLocationShipModulesRequiringEnergyPulseWeapons\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 3421\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"592\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 592, \n    \"effectName\": \"targetArmorRepair\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.RemoteArmourRepair\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"596\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 596, \n    \"effectName\": \"ammoInfluenceRange\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 120, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"598\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 598, \n    \"effectName\": \"ammoSpeedMultiplier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"599\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 599, \n    \"effectName\": \"ammoFallofMultiplier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 517, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"600\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 600, \n    \"effectName\": \"ammoTrackingMultiplier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 244, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"602\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 602, \n    \"effectName\": \"shipPTurretSpeedBonusMC\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"604\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 604, \n    \"effectName\": \"shipPTspeedBonusMB2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 518, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"605\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 605, \n    \"effectName\": \"minmatarBattleshipSkillLevelPreMulShipBonusMB2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 518, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"607\": {\n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Cloaking\", \n    \"displayName_en-us\": \"Cloaking\", \n    \"displayName_es\": \"Camuflaje\", \n    \"displayName_fr\": \"Camouflage\", \n    \"displayName_it\": \"Cloaking\", \n    \"displayName_ja\": \"遮蔽\", \n    \"displayName_ko\": \"클로킹\", \n    \"displayName_ru\": \"Cloaking\", \n    \"displayName_zh\": \"隐身\", \n    \"displayNameID\": 109481, \n    \"distribution\": 2, \n    \"effectCategory\": 1, \n    \"effectID\": 607, \n    \"effectName\": \"cloaking\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Cloaking\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 306, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"611\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 611, \n    \"effectName\": \"gallenteBattleshipSkillLevelPreMulShipBonusGBShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 500, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"623\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 623, \n    \"effectName\": \"miningDroneOperationMiningAmountBonusPostPercentMiningDroneAmountPercentChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 434, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"627\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 627, \n    \"effectName\": \"powerIncrease\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 11, \n        \"modifyingAttributeID\": 549, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"648\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107291, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"deepCoreMiningCPUReduction\", \n    \"displayName_en-us\": \"deepCoreMiningCPUReduction\", \n    \"displayName_es\": \"deepCoreMiningCPUReduction\", \n    \"displayName_fr\": \"deepCoreMiningCPUReduction\", \n    \"displayName_it\": \"deepCoreMiningCPUReduction\", \n    \"displayName_ja\": \"ディープコア採掘CPU減少\", \n    \"displayName_ko\": \"딥코어 채굴 CPU 감소\", \n    \"displayName_ru\": \"deepCoreMiningCPUReduction\", \n    \"displayName_zh\": \"深核采矿CPU减少\", \n    \"displayNameID\": 109484, \n    \"effectCategory\": 0, \n    \"effectID\": 648, \n    \"effectName\": \"shipSpecialityMining\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6, \n        \"skillTypeID\": 11395\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"649\": {\n    \"description_de\": \"Dieses Objekt im All verankern.\", \n    \"description_en-us\": \"Anchoring this object in space.\", \n    \"description_es\": \"Anclando este objeto en el espacio.\", \n    \"description_fr\": \"Ancrage de cet objet dans l'espace.\", \n    \"description_it\": \"Anchoring this object in space.\", \n    \"description_ja\": \"このオブジェクトを宙域に係留。\", \n    \"description_ko\": \"이 물체를 우주에 위치 고정합니다.\", \n    \"description_ru\": \"Anchoring this object in space.\", \n    \"description_zh\": \"在太空中锚定这个物体。\", \n    \"descriptionID\": 107292, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"anchoring\", \n    \"displayName_en-us\": \"anchoring\", \n    \"displayName_es\": \"anclando\", \n    \"displayName_fr\": \"ancrage en cours\", \n    \"displayName_it\": \"anchoring\", \n    \"displayName_ja\": \"係留\", \n    \"displayName_ko\": \"위치 고정 중\", \n    \"displayName_ru\": \"anchoring\", \n    \"displayName_zh\": \"锚定\", \n    \"displayNameID\": 109485, \n    \"distribution\": 2, \n    \"durationAttributeID\": 556, \n    \"effectCategory\": 1, \n    \"effectID\": 649, \n    \"effectName\": \"anchorDrop\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.AnchorDrop\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"650\": {\n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"unanchoring\", \n    \"displayName_en-us\": \"unanchoring\", \n    \"displayName_es\": \"desanclando\", \n    \"displayName_fr\": \"détachement en cours\", \n    \"displayName_it\": \"unanchoring\", \n    \"displayName_ja\": \"未係留\", \n    \"displayName_ko\": \"위치 고정 해제 중\", \n    \"displayName_ru\": \"unanchoring\", \n    \"displayName_zh\": \"取消锚定\", \n    \"displayNameID\": 109486, \n    \"distribution\": 2, \n    \"durationAttributeID\": 556, \n    \"effectCategory\": 1, \n    \"effectID\": 650, \n    \"effectName\": \"anchorLift\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.AnchorLift\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"651\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 651, \n    \"effectName\": \"cloakingSkillBoostCloakVelocityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 555, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"657\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107295, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"AgilityMultiplierEffect\", \n    \"displayName_en-us\": \"AgilityMultiplierEffect\", \n    \"displayName_es\": \"AgilityMultiplierEffect\", \n    \"displayName_fr\": \"AgilityMultiplierEffect\", \n    \"displayName_it\": \"AgilityMultiplierEffect\", \n    \"displayName_ja\": \"機動乗数効果\", \n    \"displayName_ko\": \"기동성 변동 효과\", \n    \"displayName_ru\": \"AgilityMultiplierEffect\", \n    \"displayName_zh\": \"敏捷乘数效果\", \n    \"displayNameID\": 109488, \n    \"effectCategory\": 4, \n    \"effectID\": 657, \n    \"effectName\": \"agilityMultiplierEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 169, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"660\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 660, \n    \"effectName\": \"missileEMDmgBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"661\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 661, \n    \"effectName\": \"missileExplosiveDmgBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"662\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 662, \n    \"effectName\": \"missileThermalDmgBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"663\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 663, \n    \"effectName\": \"heavyMissilesSkillBoostMaxflightTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 557, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"668\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 668, \n    \"effectName\": \"missileKineticDmgBonus2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"670\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107303, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"antiWarpScrambling\", \n    \"displayName_en-us\": \"antiWarpScrambling\", \n    \"displayName_es\": \"antiWarpScrambling\", \n    \"displayName_fr\": \"antiWarpScrambling\", \n    \"displayName_it\": \"antiWarpScrambling\", \n    \"displayName_ja\": \"アンチワープスクランブル\", \n    \"displayName_ko\": \"대 워프 스크램블러\", \n    \"displayName_ru\": \"antiWarpScrambling\", \n    \"displayName_zh\": \"反跃迁干扰\", \n    \"displayNameID\": 109490, \n    \"effectCategory\": 4, \n    \"effectID\": 670, \n    \"effectName\": \"antiWarpScramblingPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"672\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 672, \n    \"effectName\": \"weaponUpgradesSkillBoostCpu\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"675\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 675, \n    \"effectName\": \"weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringEnergyPulseWeapons\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6, \n        \"skillTypeID\": 3421\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"677\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 677, \n    \"effectName\": \"weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringMissileLauncherOperation\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"682\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 682, \n    \"effectName\": \"gallenteBattleshipSkillLevelPreMulShipBonusGB2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 561, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"698\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 698, \n    \"effectName\": \"signatureAnalysisSkillLevelPreMulScanResolutionBonusSelf\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 566, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"699\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 699, \n    \"effectName\": \"signatureAnalysisScanResolutionBonusPostPercentScanResolutionShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 566, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"703\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 703, \n    \"effectName\": \"interceptorsSkillLevelPreMulEliteBonusInterceptorShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 568, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"704\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 704, \n    \"effectName\": \"covertOpsSkillLevelPreMulEliteBonusCoverOpsShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 569, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"706\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 706, \n    \"effectName\": \"covertOpsWarpResistance\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 21, \n        \"modifyingAttributeID\": 569, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"707\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 707, \n    \"effectName\": \"bomberRocketRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 570, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"708\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 708, \n    \"effectName\": \"bomberLightsRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 570, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"709\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 709, \n    \"effectName\": \"interceptorSignatoreRadiusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 568, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"713\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 713, \n    \"effectName\": \"stealthActive\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ElectronicAttributeModifyActivate\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 554, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"726\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 726, \n    \"effectName\": \"shipBonusCargo2GI\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 496, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"727\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 727, \n    \"effectName\": \"shipBonusCargoCI\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 495, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"728\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 728, \n    \"effectName\": \"shipBonusCargoMI\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 493, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"729\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 729, \n    \"effectName\": \"shipBonusVelocityGI\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 496, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"730\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 730, \n    \"effectName\": \"shipBonusVelocityCI\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 495, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"732\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107327, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"ShipVelocityBonusAI\", \n    \"displayName_en-us\": \"ShipVelocityBonusAI\", \n    \"displayName_es\": \"ShipVelocityBonusAI\", \n    \"displayName_fr\": \"ShipVelocityBonusAI\", \n    \"displayName_it\": \"ShipVelocityBonusAI\", \n    \"displayName_ja\": \"艦船速度ボーナスAI\", \n    \"displayName_ko\": \"함선 속도 보너스 AI\", \n    \"displayName_ru\": \"ShipVelocityBonusAI\", \n    \"displayName_zh\": \"舰船速度加成AI\", \n    \"displayNameID\": 109493, \n    \"effectCategory\": 0, \n    \"effectID\": 732, \n    \"effectName\": \"shipVelocityBonusAI\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 494, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"734\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 734, \n    \"effectName\": \"amarrBattleshipSkillLevelPreMulShipBonusAB2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 585, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"736\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 736, \n    \"effectName\": \"shipBonusCapCapAB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 585, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"744\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 744, \n    \"effectName\": \"surveyScanspeedBonusPostPercentDurationLocationShipModulesRequiringElectronics\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 308, \n        \"operation\": 6, \n        \"skillTypeID\": 3426\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"751\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 751, \n    \"effectName\": \"gallenteFrigateSkillLevelPreMulShipBonusGF2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"gallenteFrigateSkillLevelPreMulShipBonusGF2Ship\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 586, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"754\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 754, \n    \"effectName\": \"shipHybridDamageBonusCF\", \n    \"electronicChance\": 0, \n    \"guid\": \"shipHybridDamageBonusCF\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"757\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 757, \n    \"effectName\": \"shipETDamageAF\", \n    \"electronicChance\": 0, \n    \"guid\": \"shipETDamageAF\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"760\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 760, \n    \"effectName\": \"shipBonusSmallMissileRoFCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"shipMissileSpeedBonusCF\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 507, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 509, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"761\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 761, \n    \"effectName\": \"caldariFrigateSkillLevelPreMulShipBonusCF2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 588, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"762\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 762, \n    \"effectName\": \"minmatarFrigateSkillLevelPreMulShipBonusMF2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 587, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"763\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 763, \n    \"effectName\": \"missileDMGBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 212, \n        \"modifyingAttributeID\": 213, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"768\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 768, \n    \"effectName\": \"hypereuclideanNavigationCloakVelocityBonusModAddSpeedFactorLocationShipModulesRequiringCloaking\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 555, \n        \"operation\": 2, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"784\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 784, \n    \"effectName\": \"missileBombardmentMaxFlightTimeBonusPostPercentExplosionDelayOwnerCharModulesRequiringMissileLauncherOperation\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 557, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"793\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 793, \n    \"effectName\": \"escortHullUpgradeCpu Bonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 597, \n        \"operation\": 6, \n        \"skillTypeID\": 3394\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"796\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 796, \n    \"effectName\": \"escortShieldUpgradeCpu Bonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 597, \n        \"operation\": 6, \n        \"skillTypeID\": 3425\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"797\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 797, \n    \"effectName\": \"caldariBattleshipSkillLevelPreMulShipBonusCB3Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"caldariBattleshipSkillLevelPreMulShipBonusCB3Ship\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 598, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"804\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 804, \n    \"effectName\": \"ammoInfluenceCapNeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"834\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 834, \n    \"effectName\": \"ammoInfluenceCapRecharge\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 144, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"835\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 835, \n    \"effectName\": \"freightSkillBoostCargoCapacityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 614, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"836\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 836, \n    \"effectName\": \"skillFreightBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 614, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"838\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 838, \n    \"effectName\": \"ammoInfluenceShipVelocity\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 306, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"848\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 848, \n    \"effectName\": \"cloakingTargetingDelayBonusPostPercentCloakingTargetingDelayBonusForShipModulesRequiringCloaking\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"850\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 850, \n    \"effectName\": \"cloakingSkillBoostCloakingTargetingDelayBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 619, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"854\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 854, \n    \"effectName\": \"cloakingScanResolutionMultiplier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 565, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"856\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 856, \n    \"effectName\": \"warpSkillSpeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 624, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"857\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 857, \n    \"effectName\": \"bountyHuntingSkillBoostBountySkillBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 627, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"858\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 858, \n    \"effectName\": \"bountyhunterskill\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 625, \n        \"modifyingAttributeID\": 627, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"874\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 874, \n    \"effectName\": \"shipProjectileOptimalBonuseMF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"876\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 636, \n    \"effectCategory\": 1, \n    \"effectID\": 876, \n    \"effectName\": \"shieldBoostingForEntities\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ShieldBoosting\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"878\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 630, \n    \"effectCategory\": 1, \n    \"effectID\": 878, \n    \"effectName\": \"armorRepairForEntities\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ArmorRepair\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"882\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 882, \n    \"effectName\": \"shipHybridRangeBonusCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"887\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 887, \n    \"effectName\": \"shipETspeedBonusAB2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 585, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"889\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 889, \n    \"effectName\": \"missileLauncherSpeedMultiplier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"891\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 891, \n    \"effectName\": \"shipCruiseMissileVelocityBonusCB3\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 598, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"892\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 892, \n    \"effectName\": \"shipTorpedosVelocityBonusCB3\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 598, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"896\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 896, \n    \"effectName\": \"covertOpsCpuBonus1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 649, \n        \"operation\": 4, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"898\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 898, \n    \"effectName\": \"shipMissileKineticDamageCF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"899\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 899, \n    \"effectName\": \"shipMissileKineticDamageCC\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"900\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 900, \n    \"effectName\": \"shipDroneScoutThermalDamageGF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"901\": {\n    \"description_de\": \"Dies ist ein Online-Effekt für Strukturen.\", \n    \"description_en-us\": \"this is the online effect for structures\", \n    \"description_es\": \"El efecto de activación de las estructuras.\", \n    \"description_fr\": \"il s'agit de l'effet de connexion pour les structures\", \n    \"description_it\": \"this is the online effect for structures\", \n    \"description_ja\": \"これはストラクチャに対するオンライン効果です\", \n    \"description_ko\": \"구조물을 위한 작동 효과입니다.\", \n    \"description_ru\": \"this is the online effect for structures\", \n    \"description_zh\": \"这能起到启用建筑的效果\", \n    \"descriptionID\": 107376, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"online\", \n    \"displayName_en-us\": \"online\", \n    \"displayName_es\": \"con conexión\", \n    \"displayName_fr\": \"connecté\", \n    \"displayName_it\": \"online\", \n    \"displayName_ja\": \"オンライン\", \n    \"displayName_ko\": \"온라인\", \n    \"displayName_ru\": \"online\", \n    \"displayName_zh\": \"启用\", \n    \"displayNameID\": 109496, \n    \"effectCategory\": 1, \n    \"effectID\": 901, \n    \"effectName\": \"onlineForStructures\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.StructureOnline\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"903\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 903, \n    \"effectName\": \"ammoInfluenceSignatureRadius\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 652, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"904\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 904, \n    \"effectName\": \"ammoInfluenceShieldCapacity\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 146, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"907\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 907, \n    \"effectName\": \"shipLaserRofAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"909\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 909, \n    \"effectName\": \"shipArmorHpAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"912\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 912, \n    \"effectName\": \"shipMissileLauncherRofCC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"918\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 918, \n    \"effectName\": \"shipDronesMaxGC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 352, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"919\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 919, \n    \"effectName\": \"shipHybridTrackingGC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"926\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 926, \n    \"effectName\": \"amarrCruiserSkillLevelPreMulShipBonusAC2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 656, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"927\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 927, \n    \"effectName\": \"caldariCruiserSkillLevelPreMulShipBonusCC2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 657, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"928\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 928, \n    \"effectName\": \"gallenteCruiserSkillLevelPreMulShipBonusGC2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 658, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"929\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 929, \n    \"effectName\": \"minmatarCruiserSkillLevelPreMulShipBonusMC2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 659, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"958\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 958, \n    \"effectName\": \"shipArmorEmResistanceAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"959\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 959, \n    \"effectName\": \"shipArmorExplosiveResistanceAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"960\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 960, \n    \"effectName\": \"shipArmorKineticResistanceAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"961\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 961, \n    \"effectName\": \"shipArmorThermalResistanceAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"968\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 968, \n    \"effectName\": \"shipProjectileDmgMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"980\": {\n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Cloaking\", \n    \"displayName_en-us\": \"Cloaking\", \n    \"displayName_es\": \"Camuflaje\", \n    \"displayName_fr\": \"Camouflage\", \n    \"displayName_it\": \"Cloaking\", \n    \"displayName_ja\": \"遮蔽\", \n    \"displayName_ko\": \"클로킹\", \n    \"displayName_ru\": \"Cloaking\", \n    \"displayName_zh\": \"隐身\", \n    \"displayNameID\": 109497, \n    \"distribution\": 2, \n    \"effectCategory\": 1, \n    \"effectID\": 980, \n    \"effectName\": \"cloakingWarpSafe\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.CloakingCovertOps\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 306, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"987\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 987, \n    \"effectName\": \"gunshipSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 673, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"988\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 988, \n    \"effectName\": \"gunshipSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 675, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"989\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 989, \n    \"effectName\": \"eliteBonusGunshipHybridOptimal1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"991\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 991, \n    \"effectName\": \"eliteBonusGunshipLaserOptimal1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"996\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 996, \n    \"effectName\": \"eliteBonusGunshipHybridTracking2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 675, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"998\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 998, \n    \"effectName\": \"eliteBonusGunshipProjectileFalloff2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 675, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"999\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 999, \n    \"effectName\": \"eliteBonusGunshipShieldBoost2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 675, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1001\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1001, \n    \"effectName\": \"eliteBonusGunshipCapRecharge2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 675, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1003\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1003, \n    \"effectName\": \"selfT2SmallLaserPulseDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12213\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1004\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1004, \n    \"effectName\": \"selfT2SmallLaserBeamDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 11083\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1005\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1005, \n    \"effectName\": \"selfT2SmallHybridBlasterDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12210\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1006\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1006, \n    \"effectName\": \"selfT2SmallHybridRailDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 11082\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1007\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1007, \n    \"effectName\": \"selfT2SmallProjectileACDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 11084\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1008\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1008, \n    \"effectName\": \"selfT2SmallProjectileArtyDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12201\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1009\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1009, \n    \"effectName\": \"selfT2MediumLaserPulseDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12214\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1010\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1010, \n    \"effectName\": \"selfT2MediumLaserBeamDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12204\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1011\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1011, \n    \"effectName\": \"selfT2MediumHybridBlasterDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12211\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1012\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1012, \n    \"effectName\": \"selfT2MediumHybridRailDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12206\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1013\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1013, \n    \"effectName\": \"selfT2MediumProjectileACDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12208\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1014\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1014, \n    \"effectName\": \"selfT2MediumProjectileArtyDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12202\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1015\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1015, \n    \"effectName\": \"selfT2LargeLaserPulseDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12215\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1016\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1016, \n    \"effectName\": \"selfT2LargeLaserBeamDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12205\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1017\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1017, \n    \"effectName\": \"selfT2LargeHybridBlasterDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12212\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1018\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1018, \n    \"effectName\": \"selfT2LargeHybridRailDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12207\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1019\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1019, \n    \"effectName\": \"selfT2LargeProjectileACDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12209\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1020\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1020, \n    \"effectName\": \"selfT2LargeProjectileArtyDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 12203\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1021\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1021, \n    \"effectName\": \"eliteBonusGunshipHybridDmg2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 675, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1022\": {\n    \"description_de\": \"Dieses Objekt im All verankern.\", \n    \"description_en-us\": \"Anchoring this object in space.\", \n    \"description_es\": \"Anclando este objeto en el espacio.\", \n    \"description_fr\": \"Ancrage de cet objet dans l'espace.\", \n    \"description_it\": \"Anchoring this object in space.\", \n    \"description_ja\": \"このオブジェクトを宙域に係留。\", \n    \"description_ko\": \"이 물체를 우주에 위치 고정합니다.\", \n    \"description_ru\": \"Anchoring this object in space.\", \n    \"description_zh\": \"在太空中锚定这个物体。\", \n    \"descriptionID\": 107436, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"anchoring\", \n    \"displayName_en-us\": \"anchoring\", \n    \"displayName_es\": \"anclando\", \n    \"displayName_fr\": \"ancrage en cours\", \n    \"displayName_it\": \"anchoring\", \n    \"displayName_ja\": \"係留\", \n    \"displayName_ko\": \"위치 고정 중\", \n    \"displayName_ru\": \"anchoring\", \n    \"displayName_zh\": \"锚定\", \n    \"displayNameID\": 109498, \n    \"distribution\": 2, \n    \"effectCategory\": 1, \n    \"effectID\": 1022, \n    \"effectName\": \"anchorDropForStructures\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.AnchorDrop\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"1023\": {\n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"unanchoring\", \n    \"displayName_en-us\": \"unanchoring\", \n    \"displayName_es\": \"desanclando\", \n    \"displayName_fr\": \"détachement en cours\", \n    \"displayName_it\": \"unanchoring\", \n    \"displayName_ja\": \"未係留\", \n    \"displayName_ko\": \"위치 고정 해제 중\", \n    \"displayName_ru\": \"unanchoring\", \n    \"displayName_zh\": \"取消锚定\", \n    \"displayNameID\": 109499, \n    \"distribution\": 2, \n    \"effectCategory\": 1, \n    \"effectID\": 1023, \n    \"effectName\": \"anchorLiftForStructures\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.AnchorLift\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"1024\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1024, \n    \"effectName\": \"shipMissileHeavyVelocityBonusCC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1025\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1025, \n    \"effectName\": \"shipMissileLightVelocityBonusCC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1030\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1030, \n    \"effectName\": \"remoteArmorSystemsCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringRemoteArmorSystems\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1033\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1033, \n    \"effectName\": \"eliteBonusLogisticRemoteArmorRepairCapNeed1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 678, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1034\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1034, \n    \"effectName\": \"eliteBonusLogisticRemoteArmorRepairCapNeed2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 679, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1035\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1035, \n    \"effectName\": \"eliteBonusLogisticShieldTransferCapNeed2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 679, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1036\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1036, \n    \"effectName\": \"eliteBonusLogisticShieldTransferCapNeed1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 678, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1046\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1046, \n    \"effectName\": \"shipRemoteArmorRangeGC1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1047\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1047, \n    \"effectName\": \"shipRemoteArmorRangeAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1048\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1048, \n    \"effectName\": \"shipShieldTransferRangeCC1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1049\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1049, \n    \"effectName\": \"shipShieldTransferRangeMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1052\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1052, \n    \"effectName\": \"logisticSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 678, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1053\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1053, \n    \"effectName\": \"logisticSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 679, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1056\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1056, \n    \"effectName\": \"eliteBonusHeavyGunshipHybridOptimal1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1057\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1057, \n    \"effectName\": \"eliteBonusHeavyGunshipProjectileOptimal1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1058\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1058, \n    \"effectName\": \"eliteBonusHeavyGunshipLaserOptimal1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1060\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1060, \n    \"effectName\": \"eliteBonusHeavyGunshipProjectileFallOff1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1061\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1061, \n    \"effectName\": \"eliteBonusHeavyGunshipHybridDmg2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1062\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1062, \n    \"effectName\": \"eliteBonusHeavyGunshipLaserDmg2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1063\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1063, \n    \"effectName\": \"eliteBonusHeavyGunshipProjectileTracking2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1077\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1077, \n    \"effectName\": \"warshipSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 693, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1079\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1079, \n    \"effectName\": \"warshipSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 692, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1080\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1080, \n    \"effectName\": \"eliteBonusHeavyGunshipHybridFallOff1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1081\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1081, \n    \"effectName\": \"eliteBonusHeavyGunshipHeavyMissileFlightTime1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1082\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1082, \n    \"effectName\": \"eliteBonusHeavyGunshipLightMissileFlightTime1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1084\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1084, \n    \"effectName\": \"eliteBonusHeavyGunshipDroneControlRange1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 458, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1086\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"displayName_de\": \"projectileFired\", \n    \"displayName_en-us\": \"projectileFired\", \n    \"displayName_es\": \"projectileFired\", \n    \"displayName_fr\": \"projectileFired\", \n    \"displayName_it\": \"projectileFired\", \n    \"displayName_ja\": \"プロジェクタイル発射\", \n    \"displayName_ko\": \"발사체 발포\", \n    \"displayName_ru\": \"projectileFired\", \n    \"displayName_zh\": \"射弹已发射\", \n    \"displayNameID\": 109500, \n    \"distribution\": 1, \n    \"durationAttributeID\": 51, \n    \"effectCategory\": 2, \n    \"effectID\": 1086, \n    \"effectName\": \"projectileFiredForEntities\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 158, \n    \"guid\": \"effects.ProjectileFiredForEntities\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"trackingSpeedAttributeID\": 160\n  }, \n  \"1087\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1087, \n    \"effectName\": \"eliteBonusHeavyGunshipProjectileDmg2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1099\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1099, \n    \"effectName\": \"shipProjectileTrackingMF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1108\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1108, \n    \"effectName\": \"controlTowerAmarrLaserDMGBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 430, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 728, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1109\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1109, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusBC1Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 741, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1111\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1111, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusBC2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 742, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1129\": {\n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Force Unanchor\", \n    \"displayName_en-us\": \"Force Unanchor\", \n    \"displayName_es\": \"Desanclaje forzado\", \n    \"displayName_fr\": \"Forcer le détachement\", \n    \"displayName_it\": \"Force Unanchor\", \n    \"displayName_ja\": \"強制未係留\", \n    \"displayName_ko\": \"포스 설치 해제 중\", \n    \"displayName_ru\": \"Force Unanchor\", \n    \"displayName_zh\": \"强行解除锚定\", \n    \"displayNameID\": 109501, \n    \"distribution\": 2, \n    \"durationAttributeID\": 676, \n    \"effectCategory\": 2, \n    \"effectID\": 1129, \n    \"effectName\": \"structureUnanchorForced\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 76, \n    \"rangeChance\": 0\n  }, \n  \"1130\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1130, \n    \"effectName\": \"controlTowerAmarrLaserOptimalBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 430, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 750, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1131\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1131, \n    \"effectName\": \"controlTowerSiloCapacityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 404, \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 757, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1133\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1133, \n    \"effectName\": \"controlTowerMinmatarProjectileOptimalBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 426, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 752, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1134\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1134, \n    \"effectName\": \"controlTowerMinmatarProjectileFallOffBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 426, \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 753, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1137\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1137, \n    \"effectName\": \"controlTowerMinmatarProjectileRofBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 426, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 754, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1139\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1139, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusDF2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 759, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1140\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1140, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusDF1Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 758, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1152\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1152, \n    \"effectName\": \"controlTowerGallenteHybridDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 449, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 766, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1156\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 1156, \n    \"effectName\": \"controlTowerTrackingArrayHybridOptimalBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 449, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 769, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"1157\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 1157, \n    \"effectName\": \"controlTowerTrackingArrayLaserOptimalBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 430, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 769, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"1158\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 1158, \n    \"effectName\": \"controlTowerTrackingArrayProjectileOptimalBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 426, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 769, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"1159\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 1159, \n    \"effectName\": \"controlTowerTrackingArrayProjectileTrackingBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 426, \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"1160\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 1160, \n    \"effectName\": \"controlTowerTrackingArrayHybridTrackingBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 449, \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"1161\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 1161, \n    \"effectName\": \"controlTowerTrackingArrayLaserTrackingBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 430, \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"1173\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1173, \n    \"effectName\": \"ammoInfluenceEntityFlyRange\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 416, \n        \"modifyingAttributeID\": 779, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1176\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1176, \n    \"effectName\": \"accerationControlSkillAb&MwdSpeedBoost\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 46, \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 318, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 475, \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 318, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1179\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1179, \n    \"effectName\": \"eliteBonusGunshipLaserDamage2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 675, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1181\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1181, \n    \"effectName\": \"eliteBonusLogisticEnergyTransferCapNeed1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 67, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 678, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1182\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1182, \n    \"effectName\": \"shipEnergyTransferRange1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 67, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1183\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1183, \n    \"effectName\": \"eliteBonusLogisticEnergyTransferCapNeed2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 67, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 679, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1184\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1184, \n    \"effectName\": \"shipEnergyTransferRange2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 67, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1185\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1185, \n    \"effectName\": \"structureStealthEmitterArraySigDecrease\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 554, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1188\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1188, \n    \"effectName\": \"miningBargeSkillLevelPostMulShipBonusORE2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 774, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1190\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1190, \n    \"effectName\": \"iceHarvestCycleTimeModulesRequiringIceHarvesting\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 780, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1191\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1191, \n    \"effectName\": \"iceHarvestCycleTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 780, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1192\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1192, \n    \"effectName\": \"controlTowerCaldariEwTargetSwitchDelayBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 439, \n        \"modifiedAttributeID\": 691, \n        \"modifyingAttributeID\": 770, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1199\": {\n    \"description_de\": \"Kampf\", \n    \"description_en-us\": \"Combat\", \n    \"description_es\": \"Combate.\", \n    \"description_fr\": \"Combat\", \n    \"description_it\": \"Combat\", \n    \"description_ja\": \"戦闘\", \n    \"description_ko\": \"전투\", \n    \"description_ru\": \"Combat\", \n    \"description_zh\": \"战斗\", \n    \"descriptionID\": 107523, \n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"displayName_de\": \"targetAttack\", \n    \"displayName_en-us\": \"targetAttack\", \n    \"displayName_es\": \"targetAttack\", \n    \"displayName_fr\": \"targetAttack\", \n    \"displayName_it\": \"targetAttack\", \n    \"displayName_ja\": \"ターゲット攻撃\", \n    \"displayName_ko\": \"타겟 공격\", \n    \"displayName_ru\": \"targetAttack\", \n    \"displayName_zh\": \"目标攻击\", \n    \"displayNameID\": 109504, \n    \"distribution\": 2, \n    \"durationAttributeID\": 51, \n    \"effectCategory\": 2, \n    \"effectID\": 1199, \n    \"effectName\": \"targetAttackForStructures\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 158, \n    \"guid\": \"effects.ProjectileFiredForEntities\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"trackingSpeedAttributeID\": 160\n  }, \n  \"1200\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107524, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"MiningInfoMultiplier\", \n    \"displayName_en-us\": \"MiningInfoMultiplier\", \n    \"displayName_es\": \"MiningInfoMultiplier\", \n    \"displayName_fr\": \"MiningInfoMultiplier\", \n    \"displayName_it\": \"MiningInfoMultiplier\", \n    \"displayName_ja\": \"採掘情報乗数\", \n    \"displayName_ko\": \"채굴 정보 변동\", \n    \"displayName_ru\": \"MiningInfoMultiplier\", \n    \"displayName_zh\": \"采矿信息乘数\", \n    \"displayNameID\": 109505, \n    \"effectCategory\": 0, \n    \"effectID\": 1200, \n    \"effectName\": \"miningCrystalsMiningAtributesAdjustments\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 782, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3153, \n        \"modifyingAttributeID\": 3159, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3154, \n        \"modifyingAttributeID\": 3160, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"1203\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1203, \n    \"effectName\": \"controlTowerCaldariMissileVelocityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 417, \n        \"modifiedAttributeID\": 645, \n        \"modifyingAttributeID\": 792, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1210\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1210, \n    \"effectName\": \"controlTowerCaldariMissileRofBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 417, \n        \"modifiedAttributeID\": 506, \n        \"modifyingAttributeID\": 755, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1212\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1212, \n    \"effectName\": \"crystalMiningamountInfo2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 789, \n        \"modifyingAttributeID\": 77, \n        \"operation\": -1\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1215\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1215, \n    \"effectName\": \"shipEnergyDrainAmountAF1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1218\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1218, \n    \"effectName\": \"shipBonusPirateSmallHybridDmg\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1219\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1219, \n    \"effectName\": \"shipEnergyVampireTransferAmountBonusAB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1220\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107535, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"shipEnergyVampireTransferAmountBonusAB\", \n    \"displayName_en-us\": \"shipEnergyVampireTransferAmountBonusAB\", \n    \"displayName_es\": \"shipEnergyVampireTransferAmountBonusAB\", \n    \"displayName_fr\": \"shipEnergyVampireTransferAmountBonusAB\", \n    \"displayName_it\": \"shipEnergyVampireTransferAmountBonusAB\", \n    \"displayName_ja\": \"艦船エネルギーヴァンパイア転送量ボーナスAB\", \n    \"displayName_ko\": \"함선 에너지 뱀파이어 전송량 보너스 AB\", \n    \"displayName_ru\": \"shipEnergyVampireTransferAmountBonusAB\", \n    \"displayName_zh\": \"舰船能量吸食转移量加成AB\", \n    \"displayNameID\": 109506, \n    \"effectCategory\": 0, \n    \"effectID\": 1220, \n    \"effectName\": \"shipEnergyVampireTransferAmountBonusAc\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"1221\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1221, \n    \"effectName\": \"shipStasisWebRangeBonusMB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1222\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1222, \n    \"effectName\": \"shipStasisWebRangeBonusMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1228\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1228, \n    \"effectName\": \"shipProjectileTrackingGF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1230\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1230, \n    \"effectName\": \"shipMissileVelocityPirateFactionFrigate\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1232\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1232, \n    \"effectName\": \"shipProjectileRofPirateCruiser\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1233\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1233, \n    \"effectName\": \"shipHybridDmgPirateCruiser\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1234\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1234, \n    \"effectName\": \"shipMissileVelocityPirateFactionLight\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1239\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1239, \n    \"effectName\": \"shipProjectileRofPirateBattleship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1240\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1240, \n    \"effectName\": \"shipHybridDmgPirateBattleship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1244\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1244, \n    \"effectName\": \"smugglingModifier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 445, \n        \"modifyingAttributeID\": 447, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1255\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1255, \n    \"effectName\": \"setBonusBloodraider\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 300, \n        \"modifiedAttributeID\": 66, \n        \"modifyingAttributeID\": 799, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1256\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1256, \n    \"effectName\": \"setBonusBloodraiderNosferatu\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 3423\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1257\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1257, \n    \"effectName\": \"blackMarketTradingSkillBoostContrabandDetectionChanceBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 800, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1258\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1258, \n    \"effectName\": \"skillBoostContrabandDetectionChanceBonusEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 723, \n        \"modifyingAttributeID\": 800, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1261\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1261, \n    \"effectName\": \"setBonusSerpentis\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 300, \n        \"modifiedAttributeID\": 315, \n        \"modifyingAttributeID\": 802, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1262\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1262, \n    \"effectName\": \"setBonusSerpentis2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 300, \n        \"modifiedAttributeID\": 803, \n        \"modifyingAttributeID\": 447, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1264\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1264, \n    \"effectName\": \"interceptor2HybridTracking\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 804, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1268\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1268, \n    \"effectName\": \"interceptor2LaserTracking\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 804, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1279\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1279, \n    \"effectName\": \"interceptors2SkillLevelPreMulEliteBonusInterceptorShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 804, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1281\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1281, \n    \"effectName\": \"structuralAnalysisEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 806, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1282\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1282, \n    \"effectName\": \"eliteIndustrial1SkillLevelPreMulEliteBonusEliteIndustrialShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 807, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1283\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1283, \n    \"effectName\": \"eliteIndustrial2SkillLevelPreMulEliteBonusEliteIndustrialShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 808, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1290\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1290, \n    \"effectName\": \"amarrIndustrialSkillLevelPreMulShipBonusAI22Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 809, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1291\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1291, \n    \"effectName\": \"caldariIndustrialSkillLevelPreMulShipBonusCI2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 811, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1292\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1292, \n    \"effectName\": \"gallenteIndustrialSkillLevelPreMulShipBonusGI2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 813, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1293\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1293, \n    \"effectName\": \"minmatarIndustrialSkillLevelPreMulShipBonusMI2Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 814, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1318\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1318, \n    \"effectName\": \"ewSkillScanStrengthBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6, \n        \"skillTypeID\": 3427\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6, \n        \"skillTypeID\": 3427\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6, \n        \"skillTypeID\": 3427\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6, \n        \"skillTypeID\": 3427\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1321\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1321, \n    \"effectName\": \"ewSkillScanStrengthBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 828, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1330\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1330, \n    \"effectName\": \"propulsionSkillPropulsionStrengthBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 829, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1360\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1360, \n    \"effectName\": \"ewSkillRsdCapNeedBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 3433\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1361\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1361, \n    \"effectName\": \"ewSkillTdCapNeedBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1370\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1370, \n    \"effectName\": \"ewSkillTpCapNeedBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 19921\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1372\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1372, \n    \"effectName\": \"ewSkillEwCapNeedSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1373\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1373, \n    \"effectName\": \"ewSkillTargetPaintingStrengthBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 832, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1387\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107601, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"logisticsCPUReduction\", \n    \"displayName_en-us\": \"logisticsCPUReduction\", \n    \"displayName_es\": \"logisticsCPUReduction\", \n    \"displayName_fr\": \"logisticsCPUReduction\", \n    \"displayName_it\": \"logisticsCPUReduction\", \n    \"displayName_ja\": \"ロジスティックCPU減少\", \n    \"displayName_ko\": \"지원 CPU 감소\", \n    \"displayName_ru\": \"logisticsCPUReduction\", \n    \"displayName_zh\": \"后勤CPU减少\", \n    \"displayNameID\": 109514, \n    \"effectCategory\": 0, \n    \"effectID\": 1387, \n    \"effectName\": \"leadershipCpuBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"1395\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1395, \n    \"effectName\": \"shieldBoostAmplifierPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 548, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1397\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1397, \n    \"effectName\": \"setBonusGuristas\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 300, \n        \"modifiedAttributeID\": 548, \n        \"modifyingAttributeID\": 838, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1405\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1405, \n    \"effectName\": \"covertOpsSkillLevelPreMulEliteBonusCoverOpsShip2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 839, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1409\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1409, \n    \"effectName\": \"systemScanDurationSkillAstrometrics\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1410\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1410, \n    \"effectName\": \"propulsionSkillCapNeedBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1412\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1412, \n    \"effectName\": \"shipBonusHybridOptimalCB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1434\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1434, \n    \"effectName\": \"caldariShipEwStrengthCB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3427\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3427\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3427\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3427\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1441\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1441, \n    \"effectName\": \"caldariShipEwOptimalRangeCB3\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 598, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1442\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1442, \n    \"effectName\": \"caldariShipEwOptimalRangeCC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1443\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1443, \n    \"effectName\": \"caldariShipEwCapacitorNeedCC\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1445\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1445, \n    \"effectName\": \"ewSkillRsdMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 3433\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1446\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1446, \n    \"effectName\": \"ewSkillTpMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 19921\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1448\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1448, \n    \"effectName\": \"ewSkillTdMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1449\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1449, \n    \"effectName\": \"ewSkillRsdFallOffBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 3433\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1450\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1450, \n    \"effectName\": \"ewSkillTpFallOffBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 19921\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1451\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1451, \n    \"effectName\": \"ewSkillTdFallOffBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1452\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1452, \n    \"effectName\": \"ewSkillEwMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1453\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1453, \n    \"effectName\": \"ewSkillEwFallOffBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1467\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1467, \n    \"effectName\": \"missileSkillAoeVelocityBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 847, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1472\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1472, \n    \"effectName\": \"missileSkillAoeCloudSizeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1473\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1473, \n    \"effectName\": \"missileSkillAoeCloudSizeBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 848, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1483\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 1483, \n    \"effectName\": \"contrabandMasking\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 723, \n        \"modifyingAttributeID\": 800, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 554, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1495\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107633, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"multiRelayEffect\", \n    \"displayName_en-us\": \"multiRelayEffect\", \n    \"displayName_es\": \"multiRelayEffect\", \n    \"displayName_fr\": \"multiRelayEffect\", \n    \"displayName_it\": \"multiRelayEffect\", \n    \"displayName_ja\": \"マルチリレー効果\", \n    \"displayName_ko\": \"복합 중계 효과\", \n    \"displayName_ru\": \"multiRelayEffect\", \n    \"displayName_zh\": \"多重中继效果\", \n    \"displayNameID\": 109516, \n    \"effectCategory\": 4, \n    \"effectID\": 1495, \n    \"effectName\": \"flagshipmultiRelayEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 763, \n        \"modifyingAttributeID\": 435, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"1499\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1499, \n    \"effectName\": \"shieldOperationSkillBoostCapacitorNeedBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 851, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1500\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1500, \n    \"effectName\": \"shieldOperationSkillBoostCapacitorNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 851, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1549\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 1549, \n    \"effectName\": \"ewTargetPaint\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 158, \n    \"guid\": \"effects.TargetPaint\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 554, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 1\n  }, \n  \"1550\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1550, \n    \"effectName\": \"ewSkillTargetPaintingStrengthBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 832, \n        \"operation\": 6, \n        \"skillTypeID\": 19921\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1551\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1551, \n    \"effectName\": \"minmatarShipEwTargetPainterMF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 19921\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1577\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1577, \n    \"effectName\": \"haloSetBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 863, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1579\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1579, \n    \"effectName\": \"setBonusSansha\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 335, \n        \"modifyingAttributeID\": 864, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1581\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1581, \n    \"effectName\": \"jumpDriveSkillsRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 867, \n        \"modifyingAttributeID\": 870, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1582\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1582, \n    \"effectName\": \"jumpDriveSkillsRangeBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 870, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1585\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1585, \n    \"effectName\": \"capitalTurretSkillLaserDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 20327\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1586\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1586, \n    \"effectName\": \"capitalTurretSkillProjectileDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 21667\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1587\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1587, \n    \"effectName\": \"capitalTurretSkillHybridDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 21666\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1588\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1588, \n    \"effectName\": \"capitalLauncherSkillCitadelKineticDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1590\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1590, \n    \"effectName\": \"missileSkillAoeVelocityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1592\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1592, \n    \"effectName\": \"capitalLauncherSkillCitadelEmDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1593\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1593, \n    \"effectName\": \"capitalLauncherSkillCitadelExplosiveDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1594\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1594, \n    \"effectName\": \"capitalLauncherSkillCitadelThermalDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1595\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1595, \n    \"effectName\": \"missileSkillWarheadUpgradesEmDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1596\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1596, \n    \"effectName\": \"missileSkillWarheadUpgradesExplosiveDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1597\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1597, \n    \"effectName\": \"missileSkillWarheadUpgradesKineticDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1614\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1614, \n    \"effectName\": \"skillAdvancedSpaceshipAgilityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 853, \n        \"modifyingAttributeID\": 151, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1615\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1615, \n    \"effectName\": \"shipAdvancedSpaceshipCommandAgilityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 853, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1616\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1616, \n    \"effectName\": \"skillCapitalShipsAdvancedAgility\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 874, \n        \"modifyingAttributeID\": 151, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1617\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1617, \n    \"effectName\": \"shipCapitalAgilityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 874, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1634\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1634, \n    \"effectName\": \"capitalShieldOperationSkillCapacitorNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 851, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1635\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1635, \n    \"effectName\": \"capitalRepairSystemsSkillDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 312, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1638\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1638, \n    \"effectName\": \"skillAdvancedWeaponUpgradesPowerNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 323, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 323, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 323, \n        \"operation\": 6, \n        \"skillTypeID\": 55033\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1643\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107681, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Panzerungkommando-Mind-Link\", \n    \"displayName_en-us\": \"ArmoredCommandMindlink\", \n    \"displayName_es\": \"ArmoredCommandMindlink\", \n    \"displayName_fr\": \"Lien neural de commandement blindé\", \n    \"displayName_it\": \"ArmoredCommandMindlink\", \n    \"displayName_ja\": \"ArmoredCommandMindlink\", \n    \"displayName_ko\": \"장갑 버스트 마인드링크\", \n    \"displayName_ru\": \"Имплант оптимизации брони\", \n    \"displayName_zh\": \"装甲指挥思维网络芯片\", \n    \"displayNameID\": 109521, \n    \"effectCategory\": 0, \n    \"effectID\": 1643, \n    \"effectName\": \"armoredCommandMindlink\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"1644\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107682, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Gefechtkommando-Mind-Link\", \n    \"displayName_en-us\": \"SkirmishCommandMindlink\", \n    \"displayName_es\": \"SkirmishCommandMindlink\", \n    \"displayName_fr\": \"Lien neural de commandement tactique\", \n    \"displayName_it\": \"SkirmishCommandMindlink\", \n    \"displayName_ja\": \"SkirmishCommandMindlink\", \n    \"displayName_ko\": \"스커미시 통제 마인드 링크\", \n    \"displayName_ru\": \"Имплант оптимизации маневрирования\", \n    \"displayName_zh\": \"游击战指挥思维网络芯片\", \n    \"displayNameID\": 109522, \n    \"effectCategory\": 0, \n    \"effectID\": 1644, \n    \"effectName\": \"skirmishCommandMindlink\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"1645\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107683, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Schildkommando-Mind-Link\", \n    \"displayName_en-us\": \"ShieldCommandMindlink\", \n    \"displayName_es\": \"ShieldCommandMindlink\", \n    \"displayName_fr\": \"Lien neural de commandement de boucliers\", \n    \"displayName_it\": \"ShieldCommandMindlink\", \n    \"displayName_ja\": \"ShieldCommandMindlink\", \n    \"displayName_ko\": \"쉴드 통제 마인드 링크\", \n    \"displayName_ru\": \"Имплант оптимизации щитов\", \n    \"displayName_zh\": \"护盾指挥思维网络芯片\", \n    \"displayNameID\": 109523, \n    \"effectCategory\": 0, \n    \"effectID\": 1645, \n    \"effectName\": \"shieldCommandMindlink\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"1646\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107684, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Informationkommando-Mind-Link\", \n    \"displayName_en-us\": \"InformationCommandMindlink\", \n    \"displayName_es\": \"InformationCommandMindlink\", \n    \"displayName_fr\": \"Lien neural de commandement électronique\", \n    \"displayName_it\": \"InformationCommandMindlink\", \n    \"displayName_ja\": \"InformationCommandMindlink\", \n    \"displayName_ko\": \"정보전 버스트 마인드링크\", \n    \"displayName_ru\": \"Имплант оптимизации РЭБ\", \n    \"displayName_zh\": \"护盾指挥思维网络芯片\", \n    \"displayNameID\": 109524, \n    \"effectCategory\": 0, \n    \"effectID\": 1646, \n    \"effectName\": \"informationCommandMindlink\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"1650\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1650, \n    \"effectName\": \"skillSiegeModuleConsumptionQuantityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 714, \n        \"modifyingAttributeID\": 885, \n        \"operation\": 3, \n        \"skillTypeID\": 22043\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1651\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1651, \n    \"effectName\": \"skillCynosural&SiegeConsumQuantityBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 885, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1657\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1657, \n    \"effectName\": \"missileSkillWarheadUpgradesThermalDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1659\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1659, \n    \"effectName\": \"freighterA1SkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 886, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1660\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1660, \n    \"effectName\": \"freighterA2SkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 887, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1661\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1661, \n    \"effectName\": \"freighterC1SkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 888, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1663\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1663, \n    \"effectName\": \"freighterC2SkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 889, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1664\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1664, \n    \"effectName\": \"freighterG1SkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 891, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1665\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1665, \n    \"effectName\": \"freighterG2SkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 890, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1666\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1666, \n    \"effectName\": \"freighterM1SkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 892, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1667\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1667, \n    \"effectName\": \"freighterM2SkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 893, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1668\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1668, \n    \"effectName\": \"freighterCargoBonusA2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 887, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1669\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1669, \n    \"effectName\": \"freighterCargoBonusC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 889, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1670\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1670, \n    \"effectName\": \"freighterCargoBonusG2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 890, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1671\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1671, \n    \"effectName\": \"freighterCargoBonusM2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 893, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1672\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1672, \n    \"effectName\": \"freighterMaxVelocityBonusA1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 886, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1673\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1673, \n    \"effectName\": \"freighterMaxVelocityBonusC1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 888, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1674\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1674, \n    \"effectName\": \"freighterMaxVelocityBonusG1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 891, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1675\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1675, \n    \"effectName\": \"freighterMaxVelocityBonusM1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 892, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1720\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 1720, \n    \"effectName\": \"shieldBoostAmplifier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 548, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 548, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1722\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1722, \n    \"effectName\": \"jumpDriveSkillsCapacitorNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 898, \n        \"modifyingAttributeID\": 899, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1723\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1723, \n    \"effectName\": \"jumpDriveSkillsCapacitorNeedBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 899, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1730\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1730, \n    \"effectName\": \"droneDmgBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1738\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 1738, \n    \"effectName\": \"doHacking\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TargetScan\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"1752\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 1752, \n    \"effectName\": \"entityEwTestEffectJam\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 192, \n        \"modifyingAttributeID\": 831, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1763\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1763, \n    \"effectName\": \"missileSkillRapidLauncherRoF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 293, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1764\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1764, \n    \"effectName\": \"missileSkillMissileProjectileVelocityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1765\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1765, \n    \"effectName\": \"missileSkillMissileProjectileVelocityBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1773\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1773, \n    \"effectName\": \"shipBonusSHTFalloffGF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1804\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1804, \n    \"effectName\": \"shipArmorEMResistanceAF1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1805\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1805, \n    \"effectName\": \"shipArmorTHResistanceAF1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1806\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1806, \n    \"effectName\": \"shipArmorKNResistanceAF1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1807\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1807, \n    \"effectName\": \"shipArmorEXResistanceAF1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1812\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1812, \n    \"effectName\": \"shipShieldEMResistanceCC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1813\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1813, \n    \"effectName\": \"shipShieldThermalResistanceCC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1814\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1814, \n    \"effectName\": \"shipShieldKineticResistanceCC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1815\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1815, \n    \"effectName\": \"shipShieldExplosiveResistanceCC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1816\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1816, \n    \"effectName\": \"shipShieldEMResistanceCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1817\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1817, \n    \"effectName\": \"shipShieldThermalResistanceCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1819\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1819, \n    \"effectName\": \"shipShieldKineticResistanceCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1820\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1820, \n    \"effectName\": \"shipShieldExplosiveResistanceCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1838\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1838, \n    \"effectName\": \"eliteBargeSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 924, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1839\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1839, \n    \"effectName\": \"eliteBargeSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 925, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1848\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1848, \n    \"effectName\": \"miningForemanMindlink\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1849\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1849, \n    \"effectName\": \"miningBargeSkillLevelPostMulShipBonusORE3Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 926, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1851\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107746, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"SelfRof\", \n    \"displayName_en-us\": \"SelfRof\", \n    \"displayName_es\": \"SelfRof\", \n    \"displayName_fr\": \"SelfRof\", \n    \"displayName_it\": \"SelfRof\", \n    \"displayName_ja\": \"SelfRof\", \n    \"displayName_ko\": \"SelfRof\", \n    \"displayName_ru\": \"SelfRof\", \n    \"displayName_zh\": \"自身发射速率\", \n    \"displayNameID\": 109539, \n    \"effectCategory\": 0, \n    \"effectID\": 1851, \n    \"effectName\": \"selfRof\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"1862\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1862, \n    \"effectName\": \"shipMissileEMDamageCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1863\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1863, \n    \"effectName\": \"shipMissileThermalDamageCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1864\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1864, \n    \"effectName\": \"shipMissileExplosiveDamageCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1878\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 1, \n    \"durationAttributeID\": 943, \n    \"effectCategory\": 2, \n    \"effectID\": 1878, \n    \"effectName\": \"entitySensorDampen\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 950, \n    \"guid\": \"effects.ElectronicAttributeModifyTarget\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 237, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 79, \n        \"modifyingAttributeID\": 242, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 192, \n        \"modifyingAttributeID\": 235, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 565, \n        \"operation\": 0\n      }\n    ], \n    \"npcActivationChanceAttributeID\": 932, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 938, \n    \"rangeChance\": 1\n  }, \n  \"1879\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 1, \n    \"durationAttributeID\": 945, \n    \"effectCategory\": 2, \n    \"effectID\": 1879, \n    \"effectName\": \"entityTargetPaint\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 954, \n    \"guid\": \"effects.TargetPaint\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 554, \n        \"operation\": 6\n      }\n    ], \n    \"npcActivationChanceAttributeID\": 935, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 941, \n    \"rangeChance\": 1\n  }, \n  \"1882\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 1882, \n    \"effectName\": \"miningYieldMultiplyPercent\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 434, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1885\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1885, \n    \"effectName\": \"shipCruiseLauncherROFBonus2CB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 506, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1886\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1886, \n    \"effectName\": \"shipSiegeLauncherROFBonus2CB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 508, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1895\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1895, \n    \"effectName\": \"miningUpgradeCPUReductionBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 927, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1896\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1896, \n    \"effectName\": \"eliteBargeBonusIceHarvestingCycleTimeBarge3\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 925, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1897\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1897, \n    \"effectName\": \"shieldCompensationSkillBoostHardeningBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 958, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1908\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1908, \n    \"effectName\": \"reconShipSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 962, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1909\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1909, \n    \"effectName\": \"reconShipSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 963, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1910\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1910, \n    \"effectName\": \"eliteBonusVampireDrainAmount2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 963, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1911\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1911, \n    \"effectName\": \"eliteReconBonusGravimetricStrength2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 963, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1912\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1912, \n    \"effectName\": \"eliteReconBonusMagnetometricStrength2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 963, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1913\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1913, \n    \"effectName\": \"eliteReconBonusRadarStrength2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 963, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1914\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1914, \n    \"effectName\": \"eliteReconBonusLadarStrength2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 963, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1921\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1921, \n    \"effectName\": \"eliteReconStasisWebBonus2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 963, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1922\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1922, \n    \"effectName\": \"eliteReconScramblerRangeBonus2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 963, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1943\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107783, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"EM Resistance Modifier\", \n    \"displayName_en-us\": \"EM Resistance Modifier\", \n    \"displayName_es\": \"Modificador de resistencia electromagnética\", \n    \"displayName_fr\": \"Modificateur de résistance EM\", \n    \"displayName_it\": \"EM Resistance Modifier\", \n    \"displayName_ja\": \"EMレジスタンス修正乗数\", \n    \"displayName_ko\": \"EM 저항력 보정치\", \n    \"displayName_ru\": \"EM Resistance Modifier\", \n    \"displayName_zh\": \"EM抗性乘数\", \n    \"displayNameID\": 109540, \n    \"effectCategory\": 0, \n    \"effectID\": 1943, \n    \"effectName\": \"ammoEMResistOther\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 133, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"1959\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 1959, \n    \"effectName\": \"armorReinforcerMassAdd\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 4, \n        \"modifyingAttributeID\": 796, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1962\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 1962, \n    \"effectName\": \"signatureRadiusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 973, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1964\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1964, \n    \"effectName\": \"shipBonusShieldTransferCapneed1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1969\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1969, \n    \"effectName\": \"shipBonusRemoteArmorRepairCapNeedGC1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"1996\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 1996, \n    \"effectName\": \"caldariShipEwCapacitorNeedCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2000\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 2000, \n    \"effectName\": \"droneRangeBonusAdd\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 458, \n        \"modifyingAttributeID\": 459, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2008\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2008, \n    \"effectName\": \"cynosuralDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 21603\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2010\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2010, \n    \"effectName\": \"propulsionDroneJammingStrength\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 829, \n        \"operation\": 6, \n        \"skillTypeID\": 23599\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2013\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2013, \n    \"effectName\": \"droneMaxVelocityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 591, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2014\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2014, \n    \"effectName\": \"droneMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2015\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2015, \n    \"effectName\": \"droneDurabilityShieldCapBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2016\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2016, \n    \"effectName\": \"droneDurabilityArmorHPBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2017\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2017, \n    \"effectName\": \"droneDurabilityHPBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2018\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2018, \n    \"effectName\": \"damageRepairedSkillBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 39, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2019\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2019, \n    \"effectName\": \"repairDroneShieldBonusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 39, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2020\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2020, \n    \"effectName\": \"repairDroneArmorDamageAmountBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 39, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2029\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 2029, \n    \"effectName\": \"addToSignatureRadius2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 983, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2041\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 2041, \n    \"effectName\": \"modifyArmorResonancePostPercent\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2052\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 2052, \n    \"effectName\": \"modifyShieldResonancePostPercent\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2053\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2053, \n    \"effectName\": \"emShieldCompensationHardeningBonusGroupShieldAmp\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 295, \n        \"modifiedAttributeID\": 984, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2054\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2054, \n    \"effectName\": \"explosiveShieldCompensationHardeningBonusGroupShieldAmp\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 295, \n        \"modifiedAttributeID\": 985, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2055\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2055, \n    \"effectName\": \"kineticShieldCompensationHardeningBonusGroupShieldAmp\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 295, \n        \"modifiedAttributeID\": 986, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2056\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2056, \n    \"effectName\": \"thermalShieldCompensationHardeningBonusGroupShieldAmp\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 295, \n        \"modifiedAttributeID\": 987, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2105\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2105, \n    \"effectName\": \"emArmorCompensationHardeningBonusGroupArmorCoating\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 98, \n        \"modifiedAttributeID\": 984, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2106\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2106, \n    \"effectName\": \"explosiveArmorCompensationHardeningBonusGroupArmorCoating\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 98, \n        \"modifiedAttributeID\": 985, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2107\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2107, \n    \"effectName\": \"kineticArmorCompensationHardeningBonusGroupArmorCoating\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 98, \n        \"modifiedAttributeID\": 986, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2108\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2108, \n    \"effectName\": \"thermicArmorCompensationHardeningBonusGroupArmorCoating\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 98, \n        \"modifiedAttributeID\": 987, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2109\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2109, \n    \"effectName\": \"emArmorCompensationHardeningBonusGroupEnergized\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 326, \n        \"modifiedAttributeID\": 984, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2110\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2110, \n    \"effectName\": \"explosiveArmorCompensationHardeningBonusGroupEnergized\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 326, \n        \"modifiedAttributeID\": 985, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2111\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2111, \n    \"effectName\": \"kineticArmorCompensationHardeningBonusGroupEnergized\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 326, \n        \"modifiedAttributeID\": 986, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2112\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2112, \n    \"effectName\": \"thermicArmorCompensationHardeningBonusGroupEnergized\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 326, \n        \"modifiedAttributeID\": 987, \n        \"modifyingAttributeID\": 958, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2130\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2130, \n    \"effectName\": \"smallHybridMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2131\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2131, \n    \"effectName\": \"smallEnergyMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2132\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2132, \n    \"effectName\": \"smallProjectileMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2133\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2133, \n    \"effectName\": \"energyTransferArrayMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 67, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 769, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2134\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2134, \n    \"effectName\": \"shieldTransporterMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 41, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1697, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2135\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2135, \n    \"effectName\": \"armorRepairProjectorMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 325, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1698, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2143\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2143, \n    \"effectName\": \"minmatarShipEwTargetPainterMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 379, \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2148\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2148, \n    \"effectName\": \"droneDamageBonusRequringDrones\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2152\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 1002, \n    \"effectCategory\": 1, \n    \"effectID\": 2152, \n    \"effectName\": \"jumpPortalGeneration\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.JumpPortal\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 852, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2155\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2155, \n    \"effectName\": \"eliteBonusCommandShipProjectileDamageCS1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1000, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2156\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2156, \n    \"effectName\": \"eliteBonusCommandShipProjectileFalloffCS2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2157\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2157, \n    \"effectName\": \"eliteBonusCommandShipLaserDamageCS1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1000, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2158\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2158, \n    \"effectName\": \"eliteBonusCommandShipLaserROFCS2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2160\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2160, \n    \"effectName\": \"eliteBonusCommandShipHybridFalloffCS2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2161\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2161, \n    \"effectName\": \"eliteBonusCommandShipHybridOptimalCS1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1000, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2179\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2179, \n    \"effectName\": \"shipBonusDroneHitpointsGC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2181\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2181, \n    \"effectName\": \"shipBonusDroneHitpointsFixedAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2186\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2186, \n    \"effectName\": \"shipBonusDroneHitpointsGB2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 561, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 561, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 561, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2187\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2187, \n    \"effectName\": \"shipBonusDroneDamageMultiplierGB2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 561, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2188\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2188, \n    \"effectName\": \"shipBonusDroneDamageMultiplierGC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2189\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2189, \n    \"effectName\": \"shipBonusDroneDamageMultiplierAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2192\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 636, \n    \"effectCategory\": 1, \n    \"effectID\": 2192, \n    \"effectName\": \"entityShieldBoostingSmall\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ShieldBoosting\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 1006, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2193\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 636, \n    \"effectCategory\": 1, \n    \"effectID\": 2193, \n    \"effectName\": \"entityShieldBoostingMedium\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ShieldBoosting\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 1007, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2194\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 636, \n    \"effectCategory\": 1, \n    \"effectID\": 2194, \n    \"effectName\": \"entityShieldBoostingLarge\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ShieldBoosting\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 1008, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2195\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 630, \n    \"effectCategory\": 1, \n    \"effectID\": 2195, \n    \"effectName\": \"entityArmorRepairingSmall\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ArmorRepair\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 1009, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2196\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 630, \n    \"effectCategory\": 1, \n    \"effectID\": 2196, \n    \"effectName\": \"entityArmorRepairingMedium\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ArmorRepair\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 1010, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2197\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 630, \n    \"effectCategory\": 1, \n    \"effectID\": 2197, \n    \"effectName\": \"entityArmorRepairingLarge\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ArmorRepair\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 1011, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2200\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2200, \n    \"effectName\": \"eliteBonusInterdictorsMissileKineticDamage1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1012, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2201\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2201, \n    \"effectName\": \"eliteBonusInterdictorsProjectileFalloff1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 1012, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2215\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2215, \n    \"effectName\": \"shipBonusPirateFrigateProjDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2231\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 2231, \n    \"effectName\": \"scanStrengthBonusPercentActivate\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ScanStrengthBonusActivate\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1027, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1029, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1030, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1028, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2232\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 2232, \n    \"effectName\": \"scanStrengthBonusPercentOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1027, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1029, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1030, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1028, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2246\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 2246, \n    \"effectName\": \"scanStrengthTargetPercentBonus\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 158, \n    \"guid\": \"\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1027, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1029, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1028, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1030, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 1\n  }, \n  \"2249\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2249, \n    \"effectName\": \"shipBonusDroneMiningAmountAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2250\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2250, \n    \"effectName\": \"shipBonusDroneMiningAmountGC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2251\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2251, \n    \"effectName\": \"commandshipMultiRelayEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 763, \n        \"modifyingAttributeID\": 435, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 978, \n        \"modifyingAttributeID\": 435, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2252\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2252, \n    \"effectName\": \"covertOpsAndReconOpsCloakModuleDelayBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 669, \n        \"modifyingAttributeID\": 1034, \n        \"operation\": 7, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2253\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2253, \n    \"effectName\": \"covertOpsStealthBomberTargettingDelayBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 560, \n        \"modifyingAttributeID\": 1035, \n        \"operation\": 7, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2255\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 2255, \n    \"effectName\": \"tractorBeamCan\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TractorBeam\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2296\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2296, \n    \"effectName\": \"modifyArmorResonancePassivePostPercentPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 994, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 995, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 996, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 997, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2297\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2297, \n    \"effectName\": \"modifyShieldResonancePassivePostPercentPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 994, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 995, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 996, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 997, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2298\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2298, \n    \"effectName\": \"scanStrengthBonusPercentPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ScanStrengthBonusActivate\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1027, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1029, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1030, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1028, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2302\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 2302, \n    \"effectName\": \"damageControl\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 267, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 268, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 269, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 270, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 271, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 272, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 273, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 274, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2305\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2305, \n    \"effectName\": \"eliteReconBonusEnergyNeutAmount2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 963, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2311\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2311, \n    \"effectName\": \"skillADDmaxJumpClones\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 979, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2312\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2312, \n    \"effectName\": \"disallowOffensiveActChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 872, \n        \"modifyingAttributeID\": 1048, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2354\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2354, \n    \"effectName\": \"capitalRemoteArmorRepairerCapNeedBonusSkill\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2355\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2355, \n    \"effectName\": \"capitalRemoteShieldTransferCapNeedBonusSkill\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2356\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2356, \n    \"effectName\": \"capitalRemoteEnergyTransferCapNeedBonusSkill\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 24572\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2402\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2402, \n    \"effectName\": \"skillSuperWeaponDmgBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 24563\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 24563\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 24563\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 24563\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2411\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2411, \n    \"effectName\": \"cloneVatMaxJumpCloneBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1073, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2413\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 2, \n    \"effectID\": 2413, \n    \"effectName\": \"snowBallLaunching\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MissileDeployment\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2422\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 107959, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Max Velocity Bonus\", \n    \"displayName_en-us\": \"Max Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máxima\", \n    \"displayName_fr\": \"Bonus de vitesse maximale\", \n    \"displayName_it\": \"Max Velocity Bonus\", \n    \"displayName_ja\": \"最高速度ボーナス\", \n    \"displayName_ko\": \"최대 속도 보너스\", \n    \"displayName_ru\": \"Max Velocity Bonus\", \n    \"displayName_zh\": \"最大速度加成\", \n    \"displayNameID\": 109543, \n    \"effectCategory\": 0, \n    \"effectID\": 2422, \n    \"effectName\": \"implantVelocityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1076, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"2426\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2426, \n    \"effectName\": \"skillInterdictorEliteBonus1SkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1012, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2427\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2427, \n    \"effectName\": \"skillInterdictorEliteBonus2SkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1013, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2431\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2431, \n    \"effectName\": \"energyManagementSkillBoostCapacitorCapacityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1079, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2432\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2432, \n    \"effectName\": \"energyManagementCapacitorCapacityBonusPostPercentPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 1079, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2444\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2444, \n    \"effectName\": \"minerCpuUsageMultiplyPercent2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 1082, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2445\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 2445, \n    \"effectName\": \"iceMinerCpuUsagePercent\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 1082, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2451\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2451, \n    \"effectName\": \"commandShipSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1000, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2452\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2452, \n    \"effectName\": \"commandShipSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 999, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2456\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2456, \n    \"effectName\": \"miningUpgradeCPUPenaltyReductionModulesRequiringMiningUpgradePercent\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1082, \n        \"modifyingAttributeID\": 927, \n        \"operation\": 6, \n        \"skillTypeID\": 22578\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2465\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2465, \n    \"effectName\": \"shipBonusArmorResistAB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2479\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 2479, \n    \"effectName\": \"iceHarvestCycleTimeModulesRequiringIceHarvestingOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 780, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2481\": {\n    \"description_de\": \"Versucht, das Ziel vom Warpen abzuhalten.\", \n    \"description_en-us\": \"Attempts to prevent the target from warping.\", \n    \"description_es\": \"Intenta impedir que el objetivo warpee.\", \n    \"description_fr\": \"Essaie d'empêcher la cible de warper.\", \n    \"description_it\": \"Attempts to prevent the target from warping.\", \n    \"description_ja\": \"ターゲットのワープ阻止を試みる。\", \n    \"description_ko\": \"타겟의 워프를 막기 위한 시도입니다.\", \n    \"description_ru\": \"Attempts to prevent the target from warping.\", \n    \"description_zh\": \"阻止目标进行跃迁。\", \n    \"descriptionID\": 107988, \n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"displayName_de\": \"Warp Scramble\", \n    \"displayName_en-us\": \"Warp Scramble\", \n    \"displayName_es\": \"Distorsión de warp\", \n    \"displayName_fr\": \"Inhibition de warp\", \n    \"displayName_it\": \"Warp Scramble\", \n    \"displayName_ja\": \"ワープスクランブル\", \n    \"displayName_ko\": \"워프 스크램블\", \n    \"displayName_ru\": \"Warp Scramble\", \n    \"displayName_zh\": \"跃迁干扰\", \n    \"displayNameID\": 109546, \n    \"distribution\": 1, \n    \"durationAttributeID\": 505, \n    \"effectCategory\": 2, \n    \"effectID\": 2481, \n    \"effectName\": \"warpScrambleForStructure\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpScramble\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }\n    ], \n    \"npcUsageChanceAttributeID\": 504, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 103, \n    \"rangeChance\": 0\n  }, \n  \"2485\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2485, \n    \"effectName\": \"implantArmorHpBonus2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1083, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2488\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2488, \n    \"effectName\": \"implantVelocityBonus2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1084, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2489\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2489, \n    \"effectName\": \"shipBonusRemoteTrackingComputerFalloffMC\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 209, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2490\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2490, \n    \"effectName\": \"shipBonusRemoteTrackingComputerFalloffGC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 209, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2491\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2491, \n    \"effectName\": \"ewSkillEcmBurstRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 142, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2492\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2492, \n    \"effectName\": \"ewSkillEcmBurstCapNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2503\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2503, \n    \"effectName\": \"shipHTTrackingBonusGB2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 561, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2504\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2504, \n    \"effectName\": \"shipBonusHybridTrackingGF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2561\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2561, \n    \"effectName\": \"eliteBonusAssaultShipMissileVelocity1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2580\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2580, \n    \"effectName\": \"neurotoxinRecoverySkillBoostChanceBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1125, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2589\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2589, \n    \"effectName\": \"modifyBoosterEffectChanceWithBoosterChanceBonusPostPercent\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1089, \n        \"modifyingAttributeID\": 1125, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1090, \n        \"modifyingAttributeID\": 1125, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1091, \n        \"modifyingAttributeID\": 1125, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1092, \n        \"modifyingAttributeID\": 1125, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1093, \n        \"modifyingAttributeID\": 1125, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2590\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2590, \n    \"effectName\": \"naniteControlSkillBoostBoosterAttributeModifier\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1126, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2602\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2602, \n    \"effectName\": \"shipBonusEmShieldResistanceCB2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2603\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2603, \n    \"effectName\": \"shipBonusExplosiveShieldResistanceCB2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2604\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2604, \n    \"effectName\": \"shipBonusKineticShieldResistanceCB2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2605\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2605, \n    \"effectName\": \"shipBonusThermicShieldResistanceCB2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2611\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2611, \n    \"effectName\": \"eliteBonusGunshipProjectileDamage1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2644\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 2644, \n    \"effectName\": \"increaseSignatureRadiusOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 554, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2645\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 2645, \n    \"effectName\": \"scanResolutionMultiplierOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 565, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2646\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 2646, \n    \"effectName\": \"maxTargetRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 309, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2647\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2647, \n    \"effectName\": \"eliteBonusHeavyGunshipHeavyMissileLauncherRof2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2648\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2648, \n    \"effectName\": \"eliteBonusHeavyGunshipHeavyAssaultMissileLauncherRof2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2649\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2649, \n    \"effectName\": \"eliteBonusHeavyGunshipAssaultMissileLauncherRof2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2656\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2656, \n    \"effectName\": \"scanStrengthBonusSkillLevelIncrease\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 846, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2662\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 2662, \n    \"effectName\": \"entityEnvironmentalEffectDamageTest\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.EMPWave\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 930, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 99, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2663\": {\n    \"description_de\": \"Muss in einen leeren Modifikationsslot eingebaut werden.\", \n    \"description_en-us\": \"Must be installed into an open rig slot\", \n    \"description_es\": \"Debe instalarse en una ranura de complemento abierta.\", \n    \"description_fr\": \"Doit être installé sur un emplacement d'optimisation libre\", \n    \"description_it\": \"Must be installed into an open rig slot\", \n    \"description_ja\": \"リグの空いているスロットに設置する必要あり\", \n    \"description_ko\": \"반드시 열려있는 리그 슬롯에 설치되어야 합니다.\", \n    \"description_ru\": \"Устанавливается в свободный разъём для тюнинг-модулей\", \n    \"description_zh\": \"必须安装在一个空的改装件槽位中\", \n    \"descriptionID\": 108049, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Rig Slot\", \n    \"displayName_en-us\": \"Rig Slot\", \n    \"displayName_es\": \"Ranura de complemento\", \n    \"displayName_fr\": \"Emplacement de module d'optimisation\", \n    \"displayName_it\": \"Rig Slot\", \n    \"displayName_ja\": \"リグスロット\", \n    \"displayName_ko\": \"리그 슬롯\", \n    \"displayName_ru\": \"Разъёмы для тюнинг-модулей\", \n    \"displayName_zh\": \"改装件插槽\", \n    \"displayNameID\": 109565, \n    \"effectCategory\": 0, \n    \"effectID\": 2663, \n    \"effectName\": \"rigSlot\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 3266, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"2670\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 2670, \n    \"effectName\": \"sensorBoosterActivePercentage\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ElectronicAttributeModifyActivate\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 566, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 309, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1027, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1029, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1030, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1028, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2688\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2688, \n    \"effectName\": \"capNeedBonusEffectLasers\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2689\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2689, \n    \"effectName\": \"capNeedBonusEffectHybrids\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2690\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2690, \n    \"effectName\": \"cpuNeedBonusEffectLasers\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2691\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2691, \n    \"effectName\": \"cpuNeedBonusEffectHybrid\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2692\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2692, \n    \"effectName\": \"cpuNeedBonusEffectProjectile\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 55, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2693\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2693, \n    \"effectName\": \"falloffBonusEffectLasers\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2694\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2694, \n    \"effectName\": \"falloffBonusEffectHybrids\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2695\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2695, \n    \"effectName\": \"falloffBonusEffectProjectiles\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 55, \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2696\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2696, \n    \"effectName\": \"maxRangeBonusEffectLasers\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2697\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2697, \n    \"effectName\": \"maxRangeBonusEffectHybrids\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2698\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2698, \n    \"effectName\": \"maxRangeBonusEffectProjectiles\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 55, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2706\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2706, \n    \"effectName\": \"drawbackPowerNeedLasers\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2707\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2707, \n    \"effectName\": \"drawbackPowerNeedHybrids\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2708\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2708, \n    \"effectName\": \"drawbackPowerNeedProjectiles\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 55, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2712\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2712, \n    \"effectName\": \"drawbackArmorHP\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2713\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2713, \n    \"effectName\": \"drawbackCPUOutput\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 48, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2714\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2714, \n    \"effectName\": \"drawbackCPUNeedLaunchers\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2716\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2716, \n    \"effectName\": \"drawbackSigRad\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2717\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2717, \n    \"effectName\": \"drawbackAgility\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2718\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2718, \n    \"effectName\": \"drawbackShieldCapacity\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2725\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2725, \n    \"effectName\": \"rigDrawbackSkillEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1139, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2726\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 2, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 2726, \n    \"effectName\": \"miningClouds\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.CloudMining\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2727\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2727, \n    \"effectName\": \"gasCloudHarvestingMaxGroupSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 737, \n        \"modifiedAttributeID\": 763, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2734\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2734, \n    \"effectName\": \"shipECMScanStrengthBonusCF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2735\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108092, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Armor Hitpoint Penalty\", \n    \"displayName_en-us\": \"Armor Hitpoint Penalty\", \n    \"displayName_es\": \"Penalización de puntos de vida del blindaje\", \n    \"displayName_fr\": \"Pénalité de PV du blindage\", \n    \"displayName_it\": \"Armor Hitpoint Penalty\", \n    \"displayName_ja\": \"アーマーヒットポイントペナルティ\", \n    \"displayName_ko\": \"장갑 내구도 페널티\", \n    \"displayName_ru\": \"Armor Hitpoint Penalty\", \n    \"displayName_zh\": \"装甲强度值惩罚\", \n    \"displayNameID\": 109567, \n    \"effectCategory\": 0, \n    \"effectID\": 2735, \n    \"effectName\": \"boosterArmorHpPenalty\", \n    \"electronicChance\": 0, \n    \"fittingUsageChanceAttributeID\": 1091, \n    \"guid\": \"None\", \n    \"iconID\": 1383, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1141, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2736\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108093, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Armor Repairer Penalty\", \n    \"displayName_en-us\": \"Armor Repairer Penalty\", \n    \"displayName_es\": \"Penalización de reparador de blindaje\", \n    \"displayName_fr\": \"Pénalité de réparateur de blindage\", \n    \"displayName_it\": \"Armor Repairer Penalty\", \n    \"displayName_ja\": \"アーマーリペアペナルティ\", \n    \"displayName_ko\": \"장갑 수리장치 페널티\", \n    \"displayName_ru\": \"Armor Repairer Penalty\", \n    \"displayName_zh\": \"装甲维修器惩罚\", \n    \"displayNameID\": 109568, \n    \"effectCategory\": 0, \n    \"effectID\": 2736, \n    \"effectName\": \"boosterArmorRepairAmountPenalty\", \n    \"electronicChance\": 0, \n    \"fittingUsageChanceAttributeID\": 1091, \n    \"iconID\": 80, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 62, \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1142, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1199, \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1142, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"2737\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108094, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Shield Capacity Penalty\", \n    \"displayName_en-us\": \"Shield Capacity Penalty\", \n    \"displayName_es\": \"Penalización de capacidad de escudo\", \n    \"displayName_fr\": \"Pénalité de capacité du bouclier\", \n    \"displayName_it\": \"Shield Capacity Penalty\", \n    \"displayName_ja\": \"シールド容量ペナルティ\", \n    \"displayName_ko\": \"실드량 페널티\", \n    \"displayName_ru\": \"Shield Capacity Penalty\", \n    \"displayName_zh\": \"护盾容量值惩罚\", \n    \"displayNameID\": 109569, \n    \"effectCategory\": 0, \n    \"effectID\": 2737, \n    \"effectName\": \"boosterShieldCapacityPenalty\", \n    \"electronicChance\": 0, \n    \"fittingUsageChanceAttributeID\": 1089, \n    \"guid\": \"None\", \n    \"iconID\": 1384, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1143, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2739\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108096, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Abzug auf die Optimale Reichweite von Geschütztürmen\", \n    \"displayName_en-us\": \"Turret Optimal Range Penalty\", \n    \"displayName_es\": \"Penalización de alcance óptimo de torreta\", \n    \"displayName_fr\": \"Pénalité de portée optimale des tourelles\", \n    \"displayName_it\": \"Turret Optimal Range Penalty\", \n    \"displayName_ja\": \"タレット最適射程距離ペナルティ\", \n    \"displayName_ko\": \"터렛 최적사거리 페널티\", \n    \"displayName_ru\": \"Сокращение оптимальной дальности ведения орудийного огня\", \n    \"displayName_zh\": \"炮台最佳射程惩罚\", \n    \"displayNameID\": 109571, \n    \"effectCategory\": 0, \n    \"effectID\": 2739, \n    \"effectName\": \"boosterTurretOptimalRangePenalty\", \n    \"electronicChance\": 0, \n    \"fittingUsageChanceAttributeID\": 1092, \n    \"iconID\": 1391, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1144, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"2741\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108097, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Geschützturm-Präzisionsabfall\", \n    \"displayName_en-us\": \"Turret Falloff Penalty\", \n    \"displayName_es\": \"Penalización de alcance efectivo de torreta\", \n    \"displayName_fr\": \"Pénalité de distance de perte des tourelles\", \n    \"displayName_it\": \"Turret Falloff Penalty\", \n    \"displayName_ja\": \"タレット精度低下ペナルティ\", \n    \"displayName_ko\": \"터렛 유효사거리 페널티\", \n    \"displayName_ru\": \"Штраф к эффективной дальности действия\", \n    \"displayName_zh\": \"炮台失准范围惩罚\", \n    \"displayNameID\": 109572, \n    \"effectCategory\": 0, \n    \"effectID\": 2741, \n    \"effectName\": \"boosterTurretFalloffPenalty\", \n    \"electronicChance\": 0, \n    \"fittingUsageChanceAttributeID\": 1093, \n    \"guid\": \"None\", \n    \"iconID\": 1399, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 1146, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2745\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108099, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Capacitor Capacity Penalty\", \n    \"displayName_en-us\": \"Capacitor Capacity Penalty\", \n    \"displayName_es\": \"Penalización de capacidad del condensador\", \n    \"displayName_fr\": \"Pénalité de charge de capaciteur\", \n    \"displayName_it\": \"Capacitor Capacity Penalty\", \n    \"displayName_ja\": \"キャパシタ容量ペナルティ\", \n    \"displayName_ko\": \"캐패시터 용량 페널티\", \n    \"displayName_ru\": \"Capacitor Capacity Penalty\", \n    \"displayName_zh\": \"电容容量惩罚\", \n    \"displayNameID\": 109574, \n    \"effectCategory\": 0, \n    \"effectID\": 2745, \n    \"effectName\": \"boosterCapacitorCapacityPenalty\", \n    \"electronicChance\": 0, \n    \"fittingUsageChanceAttributeID\": 1090, \n    \"guid\": \"None\", \n    \"iconID\": 1400, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 1150, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2746\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108100, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Max Velocity Penalty\", \n    \"displayName_en-us\": \"Max Velocity Penalty\", \n    \"displayName_es\": \"Penalización de velocidad máxima\", \n    \"displayName_fr\": \"Pénalité de vitesse max\", \n    \"displayName_it\": \"Max Velocity Penalty\", \n    \"displayName_ja\": \"最高速度ペナルティ\", \n    \"displayName_ko\": \"최대 속도 페널티\", \n    \"displayName_ru\": \"Max Velocity Penalty\", \n    \"displayName_zh\": \"最大速度惩罚\", \n    \"displayNameID\": 109575, \n    \"effectCategory\": 0, \n    \"effectID\": 2746, \n    \"effectName\": \"boosterMaxVelocityPenalty\", \n    \"electronicChance\": 0, \n    \"fittingUsageChanceAttributeID\": 1090, \n    \"guid\": \"None\", \n    \"iconID\": 1389, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1151, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2747\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108101, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Turret Tracking Penalty\", \n    \"displayName_en-us\": \"Turret Tracking Penalty\", \n    \"displayName_es\": \"Penalización de rastreo de torreta\", \n    \"displayName_fr\": \"Pénalité de suivi des tourelles\", \n    \"displayName_it\": \"Turret Tracking Penalty\", \n    \"displayName_ja\": \"タレット追跡ペナルティ\", \n    \"displayName_ko\": \"터렛 트래킹 페널티\", \n    \"displayName_ru\": \"Turret Tracking Penalty\", \n    \"displayName_zh\": \"炮台跟踪惩罚\", \n    \"displayNameID\": 109576, \n    \"effectCategory\": 0, \n    \"effectID\": 2747, \n    \"effectName\": \"boosterTurretTrackingPenalty\", \n    \"electronicChance\": 0, \n    \"fittingUsageChanceAttributeID\": 1092, \n    \"guid\": \"None\", \n    \"iconID\": 1398, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1145, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2748\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108102, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Missile Velocity Penalty\", \n    \"displayName_en-us\": \"Missile Velocity Penalty\", \n    \"displayName_es\": \"Penalización de velocidad de misil\", \n    \"displayName_fr\": \"Pénalité de vitesse des missiles\", \n    \"displayName_it\": \"Missile Velocity Penalty\", \n    \"displayName_ja\": \"ミサイル速度ペナルティ\", \n    \"displayName_ko\": \"미사일 속도 페널티\", \n    \"displayName_ru\": \"Missile Velocity Penalty\", \n    \"displayName_zh\": \"导弹飞行速度惩罚\", \n    \"displayNameID\": 109577, \n    \"effectCategory\": 0, \n    \"effectID\": 2748, \n    \"effectName\": \"boosterMissileVelocityPenalty\", \n    \"electronicChance\": 0, \n    \"fittingUsageChanceAttributeID\": 1093, \n    \"guid\": \"None\", \n    \"iconID\": 1389, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1148, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2749\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108103, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Explosion Velocity Penalty\", \n    \"displayName_en-us\": \"Explosion Velocity Penalty\", \n    \"displayName_es\": \"Penalización de velocidad de explosión\", \n    \"displayName_fr\": \"Pénalité de vitesse d'explosion\", \n    \"displayName_it\": \"Explosion Velocity Penalty\", \n    \"displayName_ja\": \"爆発速度ペナルティ\", \n    \"displayName_ko\": \"폭발속도 페널티\", \n    \"displayName_ru\": \"Explosion Velocity Penalty\", \n    \"displayName_zh\": \"爆炸速度惩罚\", \n    \"displayNameID\": 109578, \n    \"effectCategory\": 0, \n    \"effectID\": 2749, \n    \"effectName\": \"boosterMissileExplosionVelocityPenalty\", \n    \"electronicChance\": 0, \n    \"fittingUsageChanceAttributeID\": 1093, \n    \"guid\": \"None\", \n    \"iconID\": 1389, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 1147, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2756\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2756, \n    \"effectName\": \"shipBonusECMStrengthBonusCC\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2757\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 2757, \n    \"effectName\": \"salvaging\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Salvaging\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2760\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2760, \n    \"effectName\": \"boosterModifyBoosterArmorPenalties\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1141, \n        \"modifyingAttributeID\": 1126, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1142, \n        \"modifyingAttributeID\": 1126, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2763\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2763, \n    \"effectName\": \"boosterModifyBoosterShieldPenalty\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 616, \n        \"modifyingAttributeID\": 1126, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1143, \n        \"modifyingAttributeID\": 1126, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2766\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2766, \n    \"effectName\": \"boosterModifyBoosterMaxVelocityAndCapacitorPenalty\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1150, \n        \"modifyingAttributeID\": 1126, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1151, \n        \"modifyingAttributeID\": 1126, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2776\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2776, \n    \"effectName\": \"boosterModifyBoosterMissilePenalty\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1147, \n        \"modifyingAttributeID\": 1126, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1149, \n        \"modifyingAttributeID\": 1126, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1148, \n        \"modifyingAttributeID\": 1126, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2778\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2778, \n    \"effectName\": \"boosterModifyBoosterTurretPenalty\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1146, \n        \"modifyingAttributeID\": 1126, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1145, \n        \"modifyingAttributeID\": 1126, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1144, \n        \"modifyingAttributeID\": 1126, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2791\": {\n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Lenkwaffen-Explosionsradius-Nachteil\", \n    \"displayName_en-us\": \"Missile Explosion Radius Penalty\", \n    \"displayName_es\": \"Penalización de radio de explosión de misiles\", \n    \"displayName_fr\": \"Pénalité de rayon d'explosion des missiles\", \n    \"displayName_it\": \"Missile Explosion Radius Penalty\", \n    \"displayName_ja\": \"ミサイル爆発半径ペナルティ\", \n    \"displayName_ko\": \"미사일 폭발반경 페널티\", \n    \"displayName_ru\": \"Отрицательное влияние на разброс при поражении целей ракетами\", \n    \"displayName_zh\": \"导弹爆炸半径惩罚\", \n    \"displayNameID\": 314723, \n    \"effectCategory\": 0, \n    \"effectID\": 2791, \n    \"effectName\": \"boosterMissileExplosionCloudPenaltyFixed\", \n    \"electronicChance\": 0, \n    \"fittingUsageChanceAttributeID\": 1093, \n    \"iconID\": 1390, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 1149, \n        \"operation\": 6, \n        \"skillTypeID\": 3452\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2792\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2792, \n    \"effectName\": \"modifyArmorResonancePostPercentPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2794\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2794, \n    \"effectName\": \"salvagingAccessDifficultyBonusEffectPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 902, \n        \"modifyingAttributeID\": 902, \n        \"operation\": 2, \n        \"skillTypeID\": 25863\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2795\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2795, \n    \"effectName\": \"modifyShieldResonancePostPercentPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2796\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2796, \n    \"effectName\": \"massReductionBonusPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 4, \n        \"modifyingAttributeID\": 1131, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2797\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2797, \n    \"effectName\": \"projectileWeaponSpeedMultiplyPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 55, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2798\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2798, \n    \"effectName\": \"projectileWeaponDamageMultiplyPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 55, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 64, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2799\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2799, \n    \"effectName\": \"missileLauncherSpeedMultiplierPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2801\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2801, \n    \"effectName\": \"energyWeaponSpeedMultiplyPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2802\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2802, \n    \"effectName\": \"hybridWeaponDamageMultiplyPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 64, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2803\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2803, \n    \"effectName\": \"energyWeaponDamageMultiplyPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 64, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2804\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2804, \n    \"effectName\": \"hybridWeaponSpeedMultiplyPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2805\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2805, \n    \"effectName\": \"shipBonusLargeEnergyWeaponDamageAB2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 585, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2809\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2809, \n    \"effectName\": \"shipMissileAssaultMissileVelocityBonusCC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2810\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2810, \n    \"effectName\": \"eliteBonusHeavyGunshipAssaultMissileFlightTime1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2812\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2812, \n    \"effectName\": \"caldariShipECMBurstOptimalRangeCB3\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 142, \n        \"modifyingAttributeID\": 598, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2820\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2820, \n    \"effectName\": \"maxScanDeviationSelfSkillModifier\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1156, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2837\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 2837, \n    \"effectName\": \"armorHPBonusAdd\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1159, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2846\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2846, \n    \"effectName\": \"skillBoostTrackingSpeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 767, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2847\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2847, \n    \"effectName\": \"trackingSpeedBonusPassiveRequiringGunneryTrackingSpeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2848\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2848, \n    \"effectName\": \"accessDifficultyBonusModifierRequiringArchaelogy\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 902, \n        \"modifyingAttributeID\": 1160, \n        \"operation\": 6, \n        \"skillTypeID\": 13278\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2849\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2849, \n    \"effectName\": \"accessDifficultyBonusModifierRequiringHacking\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 902, \n        \"modifyingAttributeID\": 1160, \n        \"operation\": 6, \n        \"skillTypeID\": 21718\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2850\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2850, \n    \"effectName\": \"durationBonusForGroupAfterburner\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 46, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2851\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2851, \n    \"effectName\": \"missileDMGBonusPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 212, \n        \"modifyingAttributeID\": 213, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2852\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2852, \n    \"effectName\": \"maxTargetingRangeBonusPremulPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 237, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2853\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2853, \n    \"effectName\": \"cloakingTargetingDelayBonusLRSMCloakingPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 560, \n        \"modifyingAttributeID\": 619, \n        \"operation\": 6, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2857\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 2857, \n    \"effectName\": \"cynosuralGeneration\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 852, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1163, \n        \"modifyingAttributeID\": 1163, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2858\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 2858, \n    \"effectName\": \"cloneJumpAccepting\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 852, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1163, \n        \"modifyingAttributeID\": 1163, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"2865\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108178, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Max Velocity Bonus\", \n    \"displayName_en-us\": \"Max Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máxima\", \n    \"displayName_fr\": \"Bonus de vitesse maximale\", \n    \"displayName_it\": \"Max Velocity Bonus\", \n    \"displayName_ja\": \"最高速度ボーナス\", \n    \"displayName_ko\": \"최대 속도 보너스\", \n    \"displayName_ru\": \"Max Velocity Bonus\", \n    \"displayName_zh\": \"最大速度加成\", \n    \"displayNameID\": 109590, \n    \"effectCategory\": 4, \n    \"effectID\": 2865, \n    \"effectName\": \"velocityBonusOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1076, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2866\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2866, \n    \"effectName\": \"biologyTimeBonusFixed\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 330, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2867\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2867, \n    \"effectName\": \"sentryDroneDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2868\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2868, \n    \"effectName\": \"armorDamageAmountBonusCapitalArmorRepairers\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 806, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2872\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2872, \n    \"effectName\": \"missileVelocityBonusDefender\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 547, \n        \"operation\": 6, \n        \"skillTypeID\": 3323\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2881\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2881, \n    \"effectName\": \"missileEMDmgBonusCruise3\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2882\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2882, \n    \"effectName\": \"missileExplosiveDmgBonusCruise3\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2883\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2883, \n    \"effectName\": \"missileKineticDmgBonusCruise3\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2884\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2884, \n    \"effectName\": \"missileThermalDmgBonusCruise3\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2885\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2885, \n    \"effectName\": \"gasHarvestingCycleTimeModulesRequiringGasCloudHarvesting\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 25544\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2886\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2886, \n    \"effectName\": \"setMaxLockedTargets\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 192, \n        \"modifyingAttributeID\": 235, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2887\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2887, \n    \"effectName\": \"missileEMDmgBonusRocket\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2888\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2888, \n    \"effectName\": \"missileExplosiveDmgBonusRocket\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2889\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2889, \n    \"effectName\": \"missileKineticDmgBonusRocket\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2890\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2890, \n    \"effectName\": \"missileThermalDmgBonusRocket\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2891\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2891, \n    \"effectName\": \"missileEMDmgBonusStandard\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2892\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2892, \n    \"effectName\": \"missileExplosiveDmgBonusStandard\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2893\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2893, \n    \"effectName\": \"missileKineticDmgBonusStandard\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2894\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2894, \n    \"effectName\": \"missileThermalDmgBonusStandard\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2899\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2899, \n    \"effectName\": \"missileEMDmgBonusHeavy\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2900\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2900, \n    \"effectName\": \"missileExplosiveDmgBonusHeavy\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2901\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2901, \n    \"effectName\": \"missileKineticDmgBonusHeavy\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2902\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2902, \n    \"effectName\": \"missileThermalDmgBonusHeavy\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2903\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2903, \n    \"effectName\": \"missileEMDmgBonusHAM\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2904\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2904, \n    \"effectName\": \"missileExplosiveDmgBonusHAM\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2905\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2905, \n    \"effectName\": \"missileKineticDmgBonusHAM\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2906\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2906, \n    \"effectName\": \"missileThermalDmgBonusHAM\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2907\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2907, \n    \"effectName\": \"missileEMDmgBonusTorpedo\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2908\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2908, \n    \"effectName\": \"missileExplosiveDmgBonusTorpedo\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2909\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2909, \n    \"effectName\": \"missileKineticDmgBonusTorpedo\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2910\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2910, \n    \"effectName\": \"missileThermalDmgBonusTorpedo\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2911\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2911, \n    \"effectName\": \"dataminerModuleDurationReduction\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 538, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2918\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2918, \n    \"effectName\": \"posStructureControlAmountBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1174, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2967\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2967, \n    \"effectName\": \"skillTriageModuleConsumptionQuantityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 714, \n        \"modifyingAttributeID\": 885, \n        \"operation\": 3, \n        \"skillTypeID\": 27906\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2971\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 2971, \n    \"effectName\": \"bombLaunching\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MissileDeployment\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2974\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2974, \n    \"effectName\": \"skillRemoteECMDurationBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1193, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2979\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2979, \n    \"effectName\": \"\\tskillRemoteHullRepairSystemsCapNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 27902\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2980\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2980, \n    \"effectName\": \"skillCapitalRemoteHullRepairSystemsCapNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 27936\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"2982\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 2982, \n    \"effectName\": \"skillRemoteECMDurationBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 1193, \n        \"operation\": 6, \n        \"skillTypeID\": 27911\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2397, \n        \"modifyingAttributeID\": 1193, \n        \"operation\": 6, \n        \"skillTypeID\": 27911\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2399, \n        \"modifyingAttributeID\": 1193, \n        \"operation\": 6, \n        \"skillTypeID\": 27911\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2400, \n        \"modifyingAttributeID\": 1193, \n        \"operation\": 6, \n        \"skillTypeID\": 27911\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2398, \n        \"modifyingAttributeID\": 1193, \n        \"operation\": 6, \n        \"skillTypeID\": 27911\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3001\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3001, \n    \"effectName\": \"overloadRofBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1205, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3002\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3002, \n    \"effectName\": \"overloadSelfDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 1206, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3024\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3024, \n    \"effectName\": \"eliteBonusCoverOpsBombExplosiveDmg1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 569, \n        \"operation\": 6, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3025\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3025, \n    \"effectName\": \"overloadSelfDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1210, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3026\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3026, \n    \"effectName\": \"eliteBonusCoverOpsBombKineticDmg1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 569, \n        \"operation\": 6, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3027\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3027, \n    \"effectName\": \"eliteBonusCoverOpsBombThermalDmg1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 569, \n        \"operation\": 6, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3028\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3028, \n    \"effectName\": \"eliteBonusCoverOpsBombEmDmg1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 569, \n        \"operation\": 6, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3029\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3029, \n    \"effectName\": \"overloadSelfEmHardeningBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 984, \n        \"modifyingAttributeID\": 1208, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3030\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3030, \n    \"effectName\": \"overloadSelfThermalHardeningBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 987, \n        \"modifyingAttributeID\": 1208, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3031\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3031, \n    \"effectName\": \"overloadSelfExplosiveHardeningBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 985, \n        \"modifyingAttributeID\": 1208, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3032\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3032, \n    \"effectName\": \"overloadSelfKineticHardeningBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 986, \n        \"modifyingAttributeID\": 1208, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3035\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3035, \n    \"effectName\": \"overloadSelfHardeningInvulnerabilityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 984, \n        \"modifyingAttributeID\": 1208, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 985, \n        \"modifyingAttributeID\": 1208, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 986, \n        \"modifyingAttributeID\": 1208, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 987, \n        \"modifyingAttributeID\": 1208, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3036\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3036, \n    \"effectName\": \"skillBombDeploymentModuleReactivationDelayBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 669, \n        \"modifyingAttributeID\": 2807, \n        \"operation\": 6, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3046\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3046, \n    \"effectName\": \"modifyMaxVelocityOfShipPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 306, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3047\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3047, \n    \"effectName\": \"structureHPMultiplyPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 150, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3061\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3061, \n    \"effectName\": \"heatDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1213, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3160\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3160, \n    \"effectName\": \"controlTowerGenericHullResistanceBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 838, \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 838, \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 838, \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 838, \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 839, \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 839, \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 839, \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 839, \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 439, \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 439, \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 439, \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 439, \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 837, \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 837, \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 837, \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 837, \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 449, \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 449, \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 449, \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 449, \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 707, \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 707, \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 707, \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 707, \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 430, \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 430, \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 430, \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 430, \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 417, \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 417, \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 417, \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 417, \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 426, \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 426, \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 426, \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 426, \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 443, \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 443, \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 443, \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 443, \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 440, \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 440, \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 440, \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 440, \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 441, \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 441, \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 441, \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 441, \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3169\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3169, \n    \"effectName\": \"shieldTransportCpuNeedBonusEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 1216, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3172\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3172, \n    \"effectName\": \"droneArmorDamageBonusEffect\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1219, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3173\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3173, \n    \"effectName\": \"droneShieldBonusBonusEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1220, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3174\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3174, \n    \"effectName\": \"overloadSelfRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1222, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3175\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3175, \n    \"effectName\": \"overloadSelfSpeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 1223, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3182\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3182, \n    \"effectName\": \"overloadSelfECMStrenghtBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 1225, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 1225, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 1225, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 1225, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3189\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3189, \n    \"effectName\": \"overloadSelfECCMStrenghtBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1027, \n        \"modifyingAttributeID\": 1226, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1028, \n        \"modifyingAttributeID\": 1226, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1029, \n        \"modifyingAttributeID\": 1226, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1030, \n        \"modifyingAttributeID\": 1226, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3195\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3195, \n    \"effectName\": \"thermodynamicsSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1229, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3196\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3196, \n    \"effectName\": \"thermodynamicsSkillDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1229, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3200\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3200, \n    \"effectName\": \"overloadSelfArmorDamageAmountDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1230, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 1206, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3201\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 3201, \n    \"effectName\": \"overloadSelfShieldBonusDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1231, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 1206, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3212\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3212, \n    \"effectName\": \"missileSkillFoFAoeCloudSizeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6, \n        \"skillTypeID\": 3322\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3234\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3234, \n    \"effectName\": \"shipRocketExplosiveDmgAF\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3235\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3235, \n    \"effectName\": \"shipRocketKineticDmgAF\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3236\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3236, \n    \"effectName\": \"shipRocketThermalDmgAF\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3237\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3237, \n    \"effectName\": \"shipRocketEmDmgAF\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3241\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3241, \n    \"effectName\": \"eliteBonusGunshipArmorEmResistance1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3242\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3242, \n    \"effectName\": \"eliteBonusGunshipArmorThermalResistance1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3243\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3243, \n    \"effectName\": \"eliteBonusGunshipArmorKineticResistance1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3244\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3244, \n    \"effectName\": \"eliteBonusGunshipArmorExplosiveResistance1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3249\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3249, \n    \"effectName\": \"shipCapRecharge2AF\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3254\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3254, \n    \"effectName\": \"tacticalShieldManipulationBonus2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 484, \n        \"modifyingAttributeID\": 336, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3261\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3261, \n    \"effectName\": \"shipCommandBonusEffectiveMultiplierOreCapital2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1236, \n        \"modifyingAttributeID\": 1240, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3262\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3262, \n    \"effectName\": \"oreCapitalShipSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1239, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3263\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3263, \n    \"effectName\": \"oreCapitalShipSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1240, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3264\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3264, \n    \"effectName\": \"skillCapitalIndustrialReconfigurationConsumptionQuantityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 714, \n        \"modifyingAttributeID\": 885, \n        \"operation\": 3, \n        \"skillTypeID\": 28585\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3267\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3267, \n    \"effectName\": \"shipConsumptionQuantityBonusIndustrialReconfigurationORECapital1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 714, \n        \"modifyingAttributeID\": 1239, \n        \"operation\": 6, \n        \"skillTypeID\": 28585\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3268\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3268, \n    \"effectName\": \"miningDirectorBonusCommandBonusEffective\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 833, \n        \"modifyingAttributeID\": 1236, \n        \"operation\": 6, \n        \"skillTypeID\": 22552\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3297\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3297, \n    \"effectName\": \"shipEnergyNeutralizerTransferAmountBonusAB\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3298\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3298, \n    \"effectName\": \"shipEnergyNeutralizerTransferAmountBonusAC\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3299\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3299, \n    \"effectName\": \"shipEnergyNeutralizerTransferAmountBonusAF\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3308\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3308, \n    \"effectName\": \"oreCapitalShipShieldTransferRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1243, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3311\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3311, \n    \"effectName\": \"oreCapitalShipSkillMultiplier3\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1243, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3313\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3313, \n    \"effectName\": \"cloneVatMaxJumpCloneBonusSkillNew\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 979, \n        \"modifyingAttributeID\": 1073, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3321\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3321, \n    \"effectName\": \"shipBonusORECapShipDroneDmgBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1244, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3326\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3326, \n    \"effectName\": \"shipBonusORECapShipDroneArmorHPAndShieldHPAndHpBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1244, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1244, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 1244, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3327\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3327, \n    \"effectName\": \"oreCapitalShipSkillMultiplier4\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1244, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3331\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3331, \n    \"effectName\": \"eliteBonusCommandShipArmorHP1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1000, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3335\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3335, \n    \"effectName\": \"shipArmorEmResistanceMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3336\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3336, \n    \"effectName\": \"shipArmorExplosiveResistanceMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3339\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3339, \n    \"effectName\": \"shipArmorKineticResistanceMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3340\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3340, \n    \"effectName\": \"shipArmorThermalResistanceMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3343\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3343, \n    \"effectName\": \"eliteBonusHeavyInterdictorsProjectileFalloff1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 1246, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3344\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3344, \n    \"effectName\": \"heavyInterdictorsSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1246, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3345\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3345, \n    \"effectName\": \"heavyInterdictorsSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1247, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3355\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3355, \n    \"effectName\": \"eliteBonusHeavyInterdictorHeavyMissileVelocityBonus1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1246, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3356\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3356, \n    \"effectName\": \"eliteBonusHeavyInterdictorHeavyAssaultMissileVelocityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1246, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3357\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3357, \n    \"effectName\": \"eliteBonusHeavyInterdictorLightMissileVelocityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1246, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3358\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3358, \n    \"effectName\": \"electronicAttackShipsSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1249, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3359\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3359, \n    \"effectName\": \"electronicAttackShipsSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1250, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3366\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3366, \n    \"effectName\": \"shipRemoteSensorDampenerCapNeedGF\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3367\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3367, \n    \"effectName\": \"eliteBonusElectronicAttackShipWarpScramblerMaxRange1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1249, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3369\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3369, \n    \"effectName\": \"eliteBonusElectronicAttackShipECMOptimalRange1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1249, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3370\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3370, \n    \"effectName\": \"eliteBonusElectronicAttackShipStasisWebMaxRange1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1249, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3371\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3371, \n    \"effectName\": \"eliteBonusElectronicAttackShipWarpScramblerCapNeed2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1250, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3374\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3374, \n    \"effectName\": \"eliteBonusElectronicAttackShipSignatureRadius2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 1250, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3379\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3379, \n    \"effectName\": \"implantHardwiringABcapacitorNeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3380\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 3380, \n    \"effectName\": \"warpDisruptSphere\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpDisruptFieldGenerating\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 103, \n    \"rangeChance\": 0\n  }, \n  \"3392\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3392, \n    \"effectName\": \"eliteBonusBlackOpsLargeEnergyTurretTracking1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3403\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3403, \n    \"effectName\": \"eliteBonusBlackOpsCloakVelocity2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 306, \n        \"modifyingAttributeID\": 1258, \n        \"operation\": 0, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3404\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3404, \n    \"effectName\": \"blackOpsSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1257, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3405\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3405, \n    \"effectName\": \"blackOpsSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1258, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3406\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3406, \n    \"effectName\": \"eliteBonusBlackOpsMaxVelocity1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3408\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3408, \n    \"effectName\": \"violatorsSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1265, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3409\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3409, \n    \"effectName\": \"violatorsSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1266, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3415\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3415, \n    \"effectName\": \"eliteBonusViolatorsLargeEnergyTurretDamageRole1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3416\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3416, \n    \"effectName\": \"eliteBonusViolatorsLargeHybridTurretDamageRole1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3417\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3417, \n    \"effectName\": \"eliteBonusViolatorsLargeProjectileTurretDamageRole1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3424\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3424, \n    \"effectName\": \"eliteBonusViolatorsLargeHybridTurretTracking1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1265, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3425\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3425, \n    \"effectName\": \"eliteBonusViolatorsLargeProjectileTurretTracking1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1265, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3427\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3427, \n    \"effectName\": \"eliteBonusViolatorsTractorBeamMaxRangeRole2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1269, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3439\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3439, \n    \"effectName\": \"eliteBonusViolatorsEwTargetPainting1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 1265, \n        \"operation\": 6, \n        \"skillTypeID\": 19921\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3447\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3447, \n    \"effectName\": \"shipBonusPTFalloffMB1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3466\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3466, \n    \"effectName\": \"eliteBonusElectronicAttackShipRechargeRate2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 1250, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3467\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3467, \n    \"effectName\": \"eliteBonusElectronicAttackShipCapacitorCapacity2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 1250, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3468\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3468, \n    \"effectName\": \"eliteBonusHeavyInterdictorsWarpDisruptFieldGeneratorWarpScrambleRange2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 899, \n        \"modifiedAttributeID\": 103, \n        \"modifyingAttributeID\": 1247, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3473\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3473, \n    \"effectName\": \"eliteBonusViolatorsTractorBeamMaxTractorVelocityRole3\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 1045, \n        \"modifyingAttributeID\": 1279, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3478\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3478, \n    \"effectName\": \"shipLaserDamagePirateBattleship\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3480\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3480, \n    \"effectName\": \"shipTrackingBonusAB\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 585, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3483\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3483, \n    \"effectName\": \"shipBonusMediumEnergyTurretDamagePirateFaction\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3484\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3484, \n    \"effectName\": \"shipBonusMediumEnergyTurretTrackingAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3487\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3487, \n    \"effectName\": \"shipBonusSmallEnergyTurretDamagePirateFaction\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3489\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3489, \n    \"effectName\": \"shipBonusSmallEnergyTurretTracking2AF\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3493\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3493, \n    \"effectName\": \"rorqualCargoScanRangeBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 47, \n        \"modifiedAttributeID\": 126, \n        \"modifyingAttributeID\": 1235, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3494\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3494, \n    \"effectName\": \"rorqualSurveyScannerRangeBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 49, \n        \"modifiedAttributeID\": 197, \n        \"modifyingAttributeID\": 1234, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3495\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3495, \n    \"effectName\": \"shipCapPropulsionJamming\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1280, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3496\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3496, \n    \"effectName\": \"setBonusThukker\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 300, \n        \"modifiedAttributeID\": 151, \n        \"modifyingAttributeID\": 1282, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3498\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3498, \n    \"effectName\": \"setBonusSisters\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 300, \n        \"modifiedAttributeID\": 846, \n        \"modifyingAttributeID\": 1284, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3499\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3499, \n    \"effectName\": \"setBonusSyndicate\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 300, \n        \"modifiedAttributeID\": 1126, \n        \"modifyingAttributeID\": 1291, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3500\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3500, \n    \"effectName\": \"miningLaserMaxRangeMultBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 54, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 243, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3513\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3513, \n    \"effectName\": \"setBonusMordus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 300, \n        \"modifiedAttributeID\": 294, \n        \"modifyingAttributeID\": 1293, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3514\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3514, \n    \"effectName\": \"Interceptor2WarpScrambleRange\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 804, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3519\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3519, \n    \"effectName\": \"weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringBombLauncher\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 862, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3520\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3520, \n    \"effectName\": \"skillAdvancedWeaponUpgradesPowerNeedBonusBombLaunchers\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 323, \n        \"operation\": 6, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3521\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3521, \n    \"effectName\": \"skillNaniteOperationRepairCost\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1277, \n        \"modifyingAttributeID\": 1294, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3522\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3522, \n    \"effectName\": \"skillNaniteOperationRepairCostLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1294, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3524\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3524, \n    \"effectName\": \"skillNaniteInterfacingRepairTimeLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1295, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3526\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3526, \n    \"effectName\": \"cynosuralTheoryConsumptionBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 714, \n        \"modifyingAttributeID\": 1296, \n        \"operation\": 6, \n        \"skillTypeID\": 21603\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3527\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3527, \n    \"effectName\": \"skillConsumptionQuantityBonusPercentageSkillLevel\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1296, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3528\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3528, \n    \"effectName\": \"drawbackCapacitorRecharge\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3530\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3530, \n    \"effectName\": \"eliteBonusBlackOpsAgiliy1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3532\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3532, \n    \"effectName\": \"skillJumpDriveConsumptionAmountBonusPercentage\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 868, \n        \"modifyingAttributeID\": 1296, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3557\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 3557, \n    \"effectName\": \"gunneryMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3561\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3561, \n    \"effectName\": \"ewSkillTrackingDisruptionTrackingSpeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 767, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3568\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3568, \n    \"effectName\": \"eliteBonusLogisticsTrackingLinkMaxRangeBonus1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 209, \n        \"modifiedAttributeID\": 351, \n        \"modifyingAttributeID\": 678, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3569\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3569, \n    \"effectName\": \"eliteBonusLogisticsTrackingLinkMaxRangeBonus2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 209, \n        \"modifiedAttributeID\": 351, \n        \"modifyingAttributeID\": 679, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3570\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3570, \n    \"effectName\": \"eliteBonusLogisticsTrackingLinkTrackingSpeedBonus2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 209, \n        \"modifiedAttributeID\": 767, \n        \"modifyingAttributeID\": 679, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3571\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3571, \n    \"effectName\": \"eliteBonusLogisticsTrackingLinkTrackingSpeedBonus1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 209, \n        \"modifiedAttributeID\": 767, \n        \"modifyingAttributeID\": 678, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3586\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3586, \n    \"effectName\": \"ewSkillSignalSuppressionScanResolutionBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 566, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3587\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3587, \n    \"effectName\": \"shipBonusEwRemoteSensorDampenerMaxTargetRangeBonusGC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 309, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3588\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3588, \n    \"effectName\": \"shipBonusEwRemoteSensorDampenerMaxTargetRangeBonusGF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 309, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3589\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3589, \n    \"effectName\": \"shipBonusEwRemoteSensorDampenerScanResolutionBonusGF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 566, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3590\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3590, \n    \"effectName\": \"shipBonusEwRemoteSensorDampenerScanResolutionBonusGC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 566, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3591\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3591, \n    \"effectName\": \"ewSkillSignalSuppressionMaxTargetRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 309, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3592\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3592, \n    \"effectName\": \"eliteBonusJumpFreighterHullHP1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 1311, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3593\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3593, \n    \"effectName\": \"eliteBonusJumpFreighterJumpDriveConsumptionAmount2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 868, \n        \"modifyingAttributeID\": 1312, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3595\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3595, \n    \"effectName\": \"jumpFreightersSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1311, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3596\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3596, \n    \"effectName\": \"jumpFreightersSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1312, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3597\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3597, \n    \"effectName\": \"scriptSensorBoosterScanResolutionBonusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 566, \n        \"modifyingAttributeID\": 1314, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3598\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3598, \n    \"effectName\": \"scriptSensorBoosterMaxTargetRangeBonusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 309, \n        \"modifyingAttributeID\": 1313, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3599\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3599, \n    \"effectName\": \"scriptTrackingComputerTrackingSpeedBonusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 767, \n        \"modifyingAttributeID\": 1316, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3600\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3600, \n    \"effectName\": \"scriptTrackingComputerMaxRangeBonusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 351, \n        \"modifyingAttributeID\": 1315, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3601\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3601, \n    \"effectName\": \"scriptWarpDisruptionFieldGeneratorSetDisallowInEmpireandHazardSpace\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1074, \n        \"modifyingAttributeID\": 1074, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5561, \n        \"modifyingAttributeID\": 5561, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3602\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3602, \n    \"effectName\": \"scriptDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3615\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3615, \n    \"effectName\": \"scriptWarpDisruptionFieldGeneratorSetScriptCapacitorNeedHidden\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1319, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3617\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3617, \n    \"effectName\": \"scriptSignatureRadiusBonusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 1227, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3618\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3618, \n    \"effectName\": \"scriptMassBonusPercentageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1131, \n        \"modifyingAttributeID\": 1324, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3619\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3619, \n    \"effectName\": \"scriptSpeedBoostFactorBonusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1270, \n        \"modifyingAttributeID\": 1325, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3620\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3620, \n    \"effectName\": \"scriptSpeedFactorBonusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1164, \n        \"modifyingAttributeID\": 1326, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3648\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3648, \n    \"effectName\": \"scriptWarpScrambleRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 103, \n        \"modifyingAttributeID\": 1327, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3649\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3649, \n    \"effectName\": \"eliteBonusViolatorsLargeEnergyTurretDamage1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1265, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3650\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3650, \n    \"effectName\": \"ewGroupRsdMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3651\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3651, \n    \"effectName\": \"ewGroupTpMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 379, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3652\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3652, \n    \"effectName\": \"ewGroupTdMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 291, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3653\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3653, \n    \"effectName\": \"ewGroupEcmBurstMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3655\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 3655, \n    \"effectName\": \"gunneryMaxRangeBonusOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3656\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 3656, \n    \"effectName\": \"gunneryTrackingSpeedBonusOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3657\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 3657, \n    \"effectName\": \"shipScanResolutionBonusOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 566, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3659\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 3659, \n    \"effectName\": \"shipMaxTargetRangeBonusOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 309, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3660\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 3660, \n    \"effectName\": \"shipMaxLockedTargetsBonusAddOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 192, \n        \"modifyingAttributeID\": 235, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3661\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 2, \n    \"effectID\": 3661, \n    \"effectName\": \"targetDroneBandwidthMultiplier\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1271, \n        \"modifyingAttributeID\": 1328, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"3668\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3668, \n    \"effectName\": \"miningLaserRangeBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 54, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3669\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3669, \n    \"effectName\": \"frequencyMiningLaserMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 483, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3670\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3670, \n    \"effectName\": \"stripMinerMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 464, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3671\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3671, \n    \"effectName\": \"gasHarvesterMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 737, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3672\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3672, \n    \"effectName\": \"setBonusOre\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 300, \n        \"modifiedAttributeID\": 351, \n        \"modifyingAttributeID\": 1292, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3674\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 1002, \n    \"effectCategory\": 1, \n    \"effectID\": 3674, \n    \"effectName\": \"jumpPortalGenerationBO\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.JumpPortalBO\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 852, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3677\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3677, \n    \"effectName\": \"shipBonusLargeEnergyTurretMaxRangeAB2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 585, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3678\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3678, \n    \"effectName\": \"eliteBonusJumpFreighterShieldHP1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1311, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3679\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3679, \n    \"effectName\": \"eliteBonusJumpFreighterArmorHP1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1311, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3680\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3680, \n    \"effectName\": \"freighterAgilityBonusC1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 888, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3681\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3681, \n    \"effectName\": \"freighterAgilityBonusM1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 892, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3682\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3682, \n    \"effectName\": \"freighterAgilityBonusG1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 891, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3683\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3683, \n    \"effectName\": \"freighterAgilityBonusA1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 886, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3686\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3686, \n    \"effectName\": \"scriptTrackingComputerFalloffBonusBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 1, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 349, \n        \"modifyingAttributeID\": 1332, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3698\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 6, \n    \"effectID\": 3698, \n    \"effectName\": \"dungeonMaxTargetingRangeShip\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 1, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 309, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3703\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3703, \n    \"effectName\": \"shipMissileLauncherSpeedBonusMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3705\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3705, \n    \"effectName\": \"shipHybridTurretROFBonusGC2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3706\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3706, \n    \"effectName\": \"shipBonusProjectileTrackingMC2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3710\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 929, \n    \"effectCategory\": 2, \n    \"effectID\": 3710, \n    \"effectName\": \"concordTargetJam\", \n    \"electronicChance\": 1, \n    \"falloffAttributeID\": 953, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 192, \n        \"modifyingAttributeID\": 928, \n        \"operation\": 4\n      }\n    ], \n    \"npcActivationChanceAttributeID\": 930, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 936, \n    \"rangeChance\": 0\n  }, \n  \"3713\": {\n    \"description_de\": \"Versucht, das Ziel vom Warpen abzuhalten.\", \n    \"description_en-us\": \"Attempts to prevent the target from warping.\", \n    \"description_es\": \"Intenta impedir que el objetivo warpee.\", \n    \"description_fr\": \"Essaie d'empêcher la cible de warper.\", \n    \"description_it\": \"Attempts to prevent the target from warping.\", \n    \"description_ja\": \"ターゲットのワープ阻止を試みる。\", \n    \"description_ko\": \"타겟의 워프를 막기 위한 시도입니다.\", \n    \"description_ru\": \"Attempts to prevent the target from warping.\", \n    \"description_zh\": \"阻止目标进行跃迁。\", \n    \"descriptionID\": 108711, \n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"displayName_de\": \"Warp Scramble\", \n    \"displayName_en-us\": \"Warp Scramble\", \n    \"displayName_es\": \"Distorsión de warp\", \n    \"displayName_fr\": \"Inhibition de warp\", \n    \"displayName_it\": \"Warp Scramble\", \n    \"displayName_ja\": \"ワープスクランブル\", \n    \"displayName_ko\": \"워프 스크램블\", \n    \"displayName_ru\": \"Warp Scramble\", \n    \"displayName_zh\": \"跃迁干扰\", \n    \"displayNameID\": 109963, \n    \"distribution\": 1, \n    \"durationAttributeID\": 505, \n    \"effectCategory\": 2, \n    \"effectID\": 3713, \n    \"effectName\": \"concordWarpScramble\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpScramble\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }\n    ], \n    \"npcUsageChanceAttributeID\": 504, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 103, \n    \"rangeChance\": 0\n  }, \n  \"3714\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 515, \n    \"displayName_de\": \"modifyTargetSpeed\", \n    \"displayName_en-us\": \"modifyTargetSpeed\", \n    \"displayName_es\": \"modifyTargetSpeed\", \n    \"displayName_fr\": \"modifyTargetSpeed\", \n    \"displayName_it\": \"modifyTargetSpeed\", \n    \"displayName_ja\": \"ターゲット速度を修正\", \n    \"displayName_ko\": \"타겟 속도 변경\", \n    \"displayName_ru\": \"modifyTargetSpeed\", \n    \"displayName_zh\": \"修正目标速度\", \n    \"displayNameID\": 109965, \n    \"distribution\": 2, \n    \"durationAttributeID\": 513, \n    \"effectCategory\": 2, \n    \"effectID\": 3714, \n    \"effectName\": \"concordModifyTargetSpeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ModifyTargetSpeed\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }\n    ], \n    \"npcUsageChanceAttributeID\": 512, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 514, \n    \"rangeChance\": 0\n  }, \n  \"3723\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3723, \n    \"effectName\": \"skillNaniteInterfacingRepairTime2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1267, \n        \"modifyingAttributeID\": 1295, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3726\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108718, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"AgilityMultiplierEffectPassive\", \n    \"displayName_en-us\": \"AgilityMultiplierEffectPassive\", \n    \"displayName_es\": \"AgilityMultiplierEffectPassive\", \n    \"displayName_fr\": \"AgilityMultiplierEffectPassive\", \n    \"displayName_it\": \"AgilityMultiplierEffectPassive\", \n    \"displayName_ja\": \"機動乗数効果防御\", \n    \"displayName_ko\": \"패시브 기동성 변동 효과\", \n    \"displayName_ru\": \"AgilityMultiplierEffectPassive\", \n    \"displayName_zh\": \"敏捷乘数效果被动性\", \n    \"displayNameID\": 109967, \n    \"effectCategory\": 0, \n    \"effectID\": 3726, \n    \"effectName\": \"agilityMultiplierEffectPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 151, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"3727\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 108719, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Max Velocity Bonus\", \n    \"displayName_en-us\": \"Max Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máxima\", \n    \"displayName_fr\": \"Bonus de vitesse maximale\", \n    \"displayName_it\": \"Max Velocity Bonus\", \n    \"displayName_ja\": \"最高速度ボーナス\", \n    \"displayName_ko\": \"최대 속도 보너스\", \n    \"displayName_ru\": \"Max Velocity Bonus\", \n    \"displayName_zh\": \"最大速度加成\", \n    \"displayNameID\": 109968, \n    \"effectCategory\": 0, \n    \"effectID\": 3727, \n    \"effectName\": \"velocityBonusPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1076, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"3739\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3739, \n    \"effectName\": \"zColinOrcaTractorRangeBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1355, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3740\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3740, \n    \"effectName\": \"zColinOrcaTractorVelocityBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 1045, \n        \"modifyingAttributeID\": 1357, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3741\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3741, \n    \"effectName\": \"industrialCommandShipSkillLevelMultiplierICS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1356, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3742\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3742, \n    \"effectName\": \"cargoAndOreHoldCapacityBonusICS1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 1356, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1556, \n        \"modifyingAttributeID\": 1356, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3743\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3743, \n    \"effectName\": \"industrialCommandShipSkillLevelMultiplierICS2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1358, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3744\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3744, \n    \"effectName\": \"miningForemanBurstBonusICS2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1358, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1358, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1358, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1358, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1358, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3745\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3745, \n    \"effectName\": \"zColinOrcaSurveyScannerBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 49, \n        \"modifiedAttributeID\": 197, \n        \"modifyingAttributeID\": 1359, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3753\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3753, \n    \"effectName\": \"eliteIndustrialExtenderSkillBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1360, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3755\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3755, \n    \"effectName\": \"zColinSkillTransportCovertCloakMod\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1361, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3765\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3765, \n    \"effectName\": \"covertOpsStealthBomberSiegeMissileLauncherPowerNeedBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 508, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 837, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3766\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3766, \n    \"effectName\": \"interceptorMWDSignatureRadiusBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 568, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3767\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3767, \n    \"effectName\": \"eliteBonusCommandShipsHeavyMissileExplosionVelocityCS2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3771\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3771, \n    \"effectName\": \"armorHPBonusAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1159, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3772\": {\n    \"description_de\": \"Benötigt einen Subsystem-Slot in einem Tech III-Schiff.\", \n    \"description_en-us\": \"Must be installed into an available subsystem slot on a Tech III ship.\", \n    \"description_es\": \"Debe instalarse en una ranura de subsistema disponible en una nave de T3.\", \n    \"description_fr\": \"Doit être installé sur un emplacement de sous-système disponible sur un vaisseau Tech III.\", \n    \"description_it\": \"Must be installed into an available subsystem slot on a Tech III ship.\", \n    \"description_ja\": \"T3船の空きサブシステムスロットに取り付ける。\", \n    \"description_ko\": \"테크 III 함선에 있는 가용한 서브시스템 슬롯에 설치되어야 합니다.\", \n    \"description_ru\": \"Must be installed into an available subsystem slot on a Tech III ship.\", \n    \"description_zh\": \"必须装在三级科技舰船的一个子系统槽上。\", \n    \"descriptionID\": 109022, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Sub System\", \n    \"displayName_en-us\": \"Sub System\", \n    \"displayName_es\": \"Subsistema\", \n    \"displayName_fr\": \"Sous-système\", \n    \"displayName_it\": \"Sub System\", \n    \"displayName_ja\": \"サブシステム\", \n    \"displayName_ko\": \"서브시스템\", \n    \"displayName_ru\": \"Sub System\", \n    \"displayName_zh\": \"子系统\", \n    \"displayNameID\": 110114, \n    \"effectCategory\": 0, \n    \"effectID\": 3772, \n    \"effectName\": \"subSystem\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 3756, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3773\": {\n    \"description_de\": \"Dieses Objekt im All verankern.\", \n    \"description_en-us\": \"Anchoring this object in space.\", \n    \"description_es\": \"Anclando este objeto en el espacio.\", \n    \"description_fr\": \"Ancrage de cet objet dans l'espace.\", \n    \"description_it\": \"Anchoring this object in space.\", \n    \"description_ja\": \"このオブジェクトを宙域に係留。\", \n    \"description_ko\": \"이 물체를 우주에 위치 고정합니다.\", \n    \"description_ru\": \"Anchoring this object in space.\", \n    \"description_zh\": \"在太空中锚定这个物体。\", \n    \"descriptionID\": 108746, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3773, \n    \"effectName\": \"hardPointModifierEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"3774\": {\n    \"description_de\": \"Dieses Objekt im All verankern.\", \n    \"description_en-us\": \"Anchoring this object in space.\", \n    \"description_es\": \"Anclando este objeto en el espacio.\", \n    \"description_fr\": \"Ancrage de cet objet dans l'espace.\", \n    \"description_it\": \"Anchoring this object in space.\", \n    \"description_ja\": \"このオブジェクトを宙域に係留。\", \n    \"description_ko\": \"이 물체를 우주에 위치 고정합니다.\", \n    \"description_ru\": \"Anchoring this object in space.\", \n    \"description_zh\": \"在太空中锚定这个物体。\", \n    \"descriptionID\": 108747, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3774, \n    \"effectName\": \"slotModifier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3782\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3782, \n    \"effectName\": \"powerOutputAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 11, \n        \"modifyingAttributeID\": 11, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3783\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3783, \n    \"effectName\": \"cpuOutputAddCpuOutputPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 48, \n        \"modifyingAttributeID\": 48, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3784\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3784, \n    \"effectName\": \"maxVelocityAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 37, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3791\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 3791, \n    \"effectName\": \"modifyHullResonancePostPercent\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3793\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 3793, \n    \"effectName\": \"probeLaunching\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MissileDeployment\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3794\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 6, \n    \"effectID\": 3794, \n    \"effectName\": \"dungeonMaxVelocityModifier\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 1, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 306, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3795\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 6, \n    \"effectID\": 3795, \n    \"effectName\": \"dungeonMiningLaserDurationBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 1, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3796\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 6, \n    \"effectID\": 3796, \n    \"effectName\": \"dungeonTurretTrackingBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 1, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3797\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3797, \n    \"effectName\": \"droneBandwidthAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1271, \n        \"modifyingAttributeID\": 1271, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3799\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3799, \n    \"effectName\": \"droneCapacityAdddroneCapacityPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 283, \n        \"modifyingAttributeID\": 283, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3806\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3806, \n    \"effectName\": \"scanStrengthAddPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 211, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 209, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 208, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 210, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3807\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3807, \n    \"effectName\": \"maxTargetRangeAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 76, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3808\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3808, \n    \"effectName\": \"signatureRadiusAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 552, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3809\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3809, \n    \"effectName\": \"scanResolutionAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 564, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3810\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3810, \n    \"effectName\": \"capacityAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 2689, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3811\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3811, \n    \"effectName\": \"capacitorCapacityAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 482, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3831\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3831, \n    \"effectName\": \"shieldCapacityAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 263, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3832\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3832, \n    \"effectName\": \"subsystemSkillLevelAmarrDefensive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 954, \n        \"modifiedAttributeID\": 1433, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3833\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3833, \n    \"effectName\": \"subsystemSkillLevelCaldariDefensive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 954, \n        \"modifiedAttributeID\": 1443, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3834\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3834, \n    \"effectName\": \"subsystemSkillLevelGallenteDefensive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 954, \n        \"modifiedAttributeID\": 1438, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3835\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3835, \n    \"effectName\": \"subsystemSkillLevelMinmatarDefensive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 954, \n        \"modifiedAttributeID\": 1448, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3836\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3836, \n    \"effectName\": \"subsystemSkillLevelMinmatarElectronic\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 955, \n        \"modifiedAttributeID\": 1447, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3837\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3837, \n    \"effectName\": \"subsystemSkillLevelGallenteElectronic\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 955, \n        \"modifiedAttributeID\": 1437, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3838\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3838, \n    \"effectName\": \"subsystemSkillLevelCaldariElectronic\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 955, \n        \"modifiedAttributeID\": 1442, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3839\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3839, \n    \"effectName\": \"subsystemSkillLevelAmarrElectronic\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 955, \n        \"modifiedAttributeID\": 1432, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3840\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3840, \n    \"effectName\": \"subsystemSkillLevelAmarrEngineering\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 958, \n        \"modifiedAttributeID\": 1431, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3841\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3841, \n    \"effectName\": \"subsystemSkillLevelCaldariEngineering\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 958, \n        \"modifiedAttributeID\": 1441, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3842\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3842, \n    \"effectName\": \"subsystemSkillLevelGallenteEngineering\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 958, \n        \"modifiedAttributeID\": 1436, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3843\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3843, \n    \"effectName\": \"subsystemSkillLevelMinmatarEngineering\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 958, \n        \"modifiedAttributeID\": 1446, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3844\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3844, \n    \"effectName\": \"subsystemSkillLevelMinmatarOffensive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 956, \n        \"modifiedAttributeID\": 1449, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3845\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3845, \n    \"effectName\": \"subsystemSkillLevelGallenteOffensive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 956, \n        \"modifiedAttributeID\": 1439, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3846\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3846, \n    \"effectName\": \"subsystemSkillLevelCaldariOffensive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 956, \n        \"modifiedAttributeID\": 1444, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3847\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3847, \n    \"effectName\": \"subsystemSkillLevelAmarrOffensive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 956, \n        \"modifiedAttributeID\": 1434, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3848\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3848, \n    \"effectName\": \"subsystemSkillLevelAmarrPropulsion\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 957, \n        \"modifiedAttributeID\": 1435, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3849\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3849, \n    \"effectName\": \"subsystemSkillLevelCaldariPropulsion\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 957, \n        \"modifiedAttributeID\": 1445, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3850\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3850, \n    \"effectName\": \"subsystemSkillLevelGallentePropulsion\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 957, \n        \"modifiedAttributeID\": 1440, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3851\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3851, \n    \"effectName\": \"subsystemSkillLevelMinmatarPropulsion\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 957, \n        \"modifiedAttributeID\": 1450, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3852\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"durationAttributeID\": 1454, \n    \"effectCategory\": 2, \n    \"effectID\": 3852, \n    \"effectName\": \"NPCRemoteArmorRepair\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.RemoteArmourRepair\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 1453, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3853\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3853, \n    \"effectName\": \"rechargeRateAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 55, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3855\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"durationAttributeID\": 1458, \n    \"effectCategory\": 2, \n    \"effectID\": 3855, \n    \"effectName\": \"NPCRemoteShieldBoost\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ShieldTransfer\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 1459, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3856\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3856, \n    \"effectName\": \"shieldRechargeRateAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 479, \n        \"modifyingAttributeID\": 479, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3857\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3857, \n    \"effectName\": \"subsystemBonusAmarrPropulsionMaxVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1435, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3859\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3859, \n    \"effectName\": \"subsystemBonusCaldariPropulsionMaxVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1445, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3860\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3860, \n    \"effectName\": \"subsystemBonusMinmatarPropulsionMaxVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1450, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3861\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3861, \n    \"effectName\": \"subsystemBonusMinmatarPropulsionAfterburnerSpeedFactor\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 1450, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3863\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3863, \n    \"effectName\": \"subsystemBonusCaldariPropulsionAfterburnerSpeedFactor\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 1445, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3864\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3864, \n    \"effectName\": \"subsystemBonusAmarrPropulsionAfterburnerSpeedFactor\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 1435, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3865\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3865, \n    \"effectName\": \"subsystemBonusAmarrPropulsion2Agility\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 1512, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3866\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3866, \n    \"effectName\": \"subsystemBonusCaldariPropulsion2Agility\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 1513, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3867\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3867, \n    \"effectName\": \"subsystemBonusGallentePropulsion2Agility\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 1520, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3868\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3868, \n    \"effectName\": \"subsystemBonusMinmatarPropulsion2Agility\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 1523, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3869\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3869, \n    \"effectName\": \"subsystemBonusMinmatarPropulsion2MWDPenalty\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 1523, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3870\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3870, \n    \"effectName\": \"subsystemBonusGallentePropulsionMWDPenalty\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 1440, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3872\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3872, \n    \"effectName\": \"subsystemBonusAmarrPropulsion2MWDPenalty\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 1512, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3875\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3875, \n    \"effectName\": \"subsystemBonusGallentePropulsionABMWDCapNeed\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 46, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1440, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3886\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3886, \n    \"effectName\": \"subsystemBonusGallenteElectronicCPU\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 48, \n        \"modifyingAttributeID\": 1437, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3887\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3887, \n    \"effectName\": \"subsystemBonusCaldariElectronicCPU\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 48, \n        \"modifyingAttributeID\": 1442, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3893\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3893, \n    \"effectName\": \"subsystemBonusMinmatarCoreScanStrengthLADAR\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1446, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3895\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3895, \n    \"effectName\": \"subsystemBonusGallenteCoreScanStrengthMagnetometric\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1436, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3897\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3897, \n    \"effectName\": \"subsystemBonusCaldariCoreScanStrengthGravimetric\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1441, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3900\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3900, \n    \"effectName\": \"subsystemBonusAmarrCoreScanStrengthRADAR\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1431, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3908\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3908, \n    \"effectName\": \"subsystemBonusAmarrDefensiveArmorResistance\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3922\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3922, \n    \"effectName\": \"subsystemBonusGallenteDefensiveArmorResistance\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3930\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3930, \n    \"effectName\": \"subsystemBonusMinmatarDefensiveArmorResistance\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3949\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3949, \n    \"effectName\": \"subsystemBonusMinmatarDefensiveShieldResistance\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3955\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3955, \n    \"effectName\": \"subsystemBonusCaldariDefensiveShieldResistance\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3959\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3959, \n    \"effectName\": \"subsystemBonusAmarrDefensiveArmorRepairAmount\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3961\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3961, \n    \"effectName\": \"subsystemBonusGallenteDefensiveArmorRepairAmount\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3962\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3962, \n    \"effectName\": \"subsystemBonusMinmatarDefensiveShieldArmorRepairAmount\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3964\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3964, \n    \"effectName\": \"subsystemBonusCaldariDefensiveShieldBoostAmount\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3976\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3976, \n    \"effectName\": \"subsystemBonusCaldariDefensiveShieldHP\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3979\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3979, \n    \"effectName\": \"subsystemBonusMinmatarDefensiveShieldArmorHP\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3980\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3980, \n    \"effectName\": \"subsystemBonusGallenteDefensiveArmorHP\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3982\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 3982, \n    \"effectName\": \"subsystemBonusAmarrDefensiveArmorHP\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3992\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 3992, \n    \"effectName\": \"systemShieldHP\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 146, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3993\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 3993, \n    \"effectName\": \"systemTargetingRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 237, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3995\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 3995, \n    \"effectName\": \"systemSignatureRadius\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 652, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3996\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 3996, \n    \"effectName\": \"systemArmorEmResistance\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 1465, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3997\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 3997, \n    \"effectName\": \"systemArmorExplosiveResistance\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 1468, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3998\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 3998, \n    \"effectName\": \"systemArmorKineticResistance\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 1466, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"3999\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 3999, \n    \"effectName\": \"systemArmorThermalResistance\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 1467, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4002\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4002, \n    \"effectName\": \"systemMissileVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1469, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4003\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4003, \n    \"effectName\": \"systemMaxVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1470, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4016\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4016, \n    \"effectName\": \"systemDamageMultiplierGunnery\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4017\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4017, \n    \"effectName\": \"systemDamageThermalMissiles\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4018\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4018, \n    \"effectName\": \"systemDamageEmMissiles\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4019\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4019, \n    \"effectName\": \"systemDamageExplosiveMissiles\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4020\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4020, \n    \"effectName\": \"systemDamageKineticMissiles\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4021\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4021, \n    \"effectName\": \"systemDamageDrones\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4022\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4022, \n    \"effectName\": \"systemTracking\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 244, \n        \"operation\": 4, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4023\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4023, \n    \"effectName\": \"systemAoeVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 1483, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4033\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4033, \n    \"effectName\": \"systemHeatDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1485, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4034\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4034, \n    \"effectName\": \"systemOverloadArmor\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1230, \n        \"modifyingAttributeID\": 1486, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4035\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4035, \n    \"effectName\": \"systemOverloadDamageModifier\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1210, \n        \"modifyingAttributeID\": 1486, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4036\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4036, \n    \"effectName\": \"systemOverloadDurationBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1181, \n        \"modifyingAttributeID\": 1486, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4037\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4037, \n    \"effectName\": \"systemOverloadEccmStrength\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1226, \n        \"modifyingAttributeID\": 1486, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4038\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4038, \n    \"effectName\": \"systemOverloadEcmStrength\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1225, \n        \"modifyingAttributeID\": 1486, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4039\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4039, \n    \"effectName\": \"systemOverloadHardening\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1208, \n        \"modifyingAttributeID\": 1486, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4040\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4040, \n    \"effectName\": \"systemOverloadRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1222, \n        \"modifyingAttributeID\": 1486, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4041\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4041, \n    \"effectName\": \"systemOverloadRof\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1205, \n        \"modifyingAttributeID\": 1486, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4042\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4042, \n    \"effectName\": \"systemOverloadSelfDuration\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1486, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4043\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4043, \n    \"effectName\": \"systemOverloadShieldBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1231, \n        \"modifyingAttributeID\": 1486, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4044\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4044, \n    \"effectName\": \"systemOverloadSpeedFactor\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1223, \n        \"modifyingAttributeID\": 1486, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4045\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4045, \n    \"effectName\": \"systemSmartBombRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 72, \n        \"modifiedAttributeID\": 99, \n        \"modifyingAttributeID\": 1487, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4046\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4046, \n    \"effectName\": \"systemSmartBombEmDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 72, \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4047\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4047, \n    \"effectName\": \"systemSmartBombThermalDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 72, \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4048\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4048, \n    \"effectName\": \"systemSmartBombKineticDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 72, \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4049\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4049, \n    \"effectName\": \"systemSmartBombExplosiveDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 72, \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4054\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4054, \n    \"effectName\": \"systemSmallEnergyDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4055\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4055, \n    \"effectName\": \"systemSmallProjectileDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4056\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4056, \n    \"effectName\": \"systemSmallHybridDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4057\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4057, \n    \"effectName\": \"systemRocketEmDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4058\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4058, \n    \"effectName\": \"systemRocketExplosiveDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4059\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4059, \n    \"effectName\": \"systemRocketKineticDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4060\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4060, \n    \"effectName\": \"systemRocketThermalDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4061\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4061, \n    \"effectName\": \"systemStandardMissileThermalDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4062\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4062, \n    \"effectName\": \"systemStandardMissileEmDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4063\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4063, \n    \"effectName\": \"systemStandardMissileExplosiveDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4086\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4086, \n    \"effectName\": \"systemArmorRepairAmount\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1495, \n        \"operation\": 4, \n        \"skillTypeID\": 3393\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1495, \n        \"operation\": 4, \n        \"skillTypeID\": 21803\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4088\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4088, \n    \"effectName\": \"systemArmorRemoteRepairAmount\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1498, \n        \"operation\": 4, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1498, \n        \"operation\": 4, \n        \"skillTypeID\": 24568\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4089\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4089, \n    \"effectName\": \"systemShieldRemoteRepairAmount\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1497, \n        \"operation\": 4, \n        \"skillTypeID\": 3422\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1497, \n        \"operation\": 4, \n        \"skillTypeID\": 24571\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4090\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4090, \n    \"effectName\": \"systemCapacitorCapacity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 1499, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4091\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4091, \n    \"effectName\": \"systemCapacitorRecharge\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 1500, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4093\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4093, \n    \"effectName\": \"subsystemBonusAmarrOffensiveEnergyWeaponDamageMultiplier\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4104\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4104, \n    \"effectName\": \"subsystemBonusCaldariOffensiveHybridWeaponMaxRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4106\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4106, \n    \"effectName\": \"subsystemBonusGallenteOffensiveHybridWeaponFalloff\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4109\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4109, \n    \"effectName\": \"subsystemBonusGallenteOffensiveHybridWeaponDamageMultiplier\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4111\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4111, \n    \"effectName\": \"subsystemBonusMinmatarOffensiveProjectileWeaponROF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4114\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4114, \n    \"effectName\": \"subsystemBonusMinmatarOffensiveProjectileWeaponFalloff\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4115\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4115, \n    \"effectName\": \"subsystemBonusMinmatarOffensiveProjectileWeaponMaxRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4120\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4120, \n    \"effectName\": \"subsystemBonusCaldariOffensiveHeavyMissileLauncherROF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4121\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4121, \n    \"effectName\": \"subsystemBonusCaldariOffensiveHeavyAssaultMissileLauncherROF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4122\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4122, \n    \"effectName\": \"subsystemBonusCaldariOffensive1LauncherROF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4135\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4135, \n    \"effectName\": \"systemShieldEmResistance\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 1489, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4136\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4136, \n    \"effectName\": \"systemShieldExplosiveResistance\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 1490, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4137\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4137, \n    \"effectName\": \"systemShieldKineticResistance\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 1491, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4138\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4138, \n    \"effectName\": \"systemShieldThermalResistance\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 1492, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4152\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4152, \n    \"effectName\": \"subsystemBonusAmarrEngineeringHeatDamageReduction\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1431, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4153\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4153, \n    \"effectName\": \"subsystemBonusCaldariEngineeringHeatDamageReduction\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1441, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4154\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4154, \n    \"effectName\": \"subsystemBonusGallenteEngineeringHeatDamageReduction\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1436, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4155\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4155, \n    \"effectName\": \"subsystemBonusMinmatarEngineeringHeatDamageReduction\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1446, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4156\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4156, \n    \"effectName\": \"subsystemBonusMinmatarEngineeringCapacitorCapacity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 1446, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4158\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4158, \n    \"effectName\": \"subsystemBonusCaldariCoreCapacitorCapacity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 1441, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4159\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4159, \n    \"effectName\": \"subsystemBonusAmarrCoreCapacitorCapacity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 1431, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4160\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4160, \n    \"effectName\": \"massAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 4, \n        \"modifyingAttributeID\": 4, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4161\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4161, \n    \"effectName\": \"baseMaxScanDeviationModifierRequiringAstrometrics\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1372, \n        \"modifyingAttributeID\": 1156, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4162\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4162, \n    \"effectName\": \"baseSensorStrengthModifierRequiringAstrometrics\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 846, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4165\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4165, \n    \"effectName\": \"shipBonusScanProbeStrengthCF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4166\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4166, \n    \"effectName\": \"shipBonusScanProbeStrengthMF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4167\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4167, \n    \"effectName\": \"shipBonusScanProbeStrengthGF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4168\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4168, \n    \"effectName\": \"eliteBonusCoverOpsScanProbeStrength2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 839, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4185\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4185, \n    \"effectName\": \"subsystemBonusAmarrOffensiveEnergyWeaponCapacitorNeed\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4187\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4187, \n    \"effectName\": \"shipBonusStrategicCruiserAmarrHeatDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1503, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4188\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4188, \n    \"effectName\": \"shipBonusStrategicCruiserCaldariHeatDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1504, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4189\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4189, \n    \"effectName\": \"shipBonusStrategicCruiserGallenteHeatDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1505, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4190\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4190, \n    \"effectName\": \"shipBonusStrategicCruiserMinmatarHeatDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1506, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4191\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4191, \n    \"effectName\": \"strategicCruiserAmarrSkillLevel1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1503, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4192\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4192, \n    \"effectName\": \"strategicCruiserCaldariSkillLevel1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1504, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4193\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4193, \n    \"effectName\": \"strategicCruiserGallenteSkillLevel1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1505, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4194\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4194, \n    \"effectName\": \"strategicCruiserMinmatarSkillLevel1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1506, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4195\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4195, \n    \"effectName\": \"subsystemSkillLevelAmarrDefensive2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 954, \n        \"modifiedAttributeID\": 1507, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4196\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4196, \n    \"effectName\": \"subsystemSkillLevelCaldariDefensive2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 954, \n        \"modifiedAttributeID\": 1516, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4197\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4197, \n    \"effectName\": \"subsystemSkillLevelGallenteDefensive2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 954, \n        \"modifiedAttributeID\": 1517, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4198\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4198, \n    \"effectName\": \"subsystemSkillLevelMinmatarDefensive2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 954, \n        \"modifiedAttributeID\": 1526, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4199\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4199, \n    \"effectName\": \"subsystemSkillLevelMinmatarElectronic2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 955, \n        \"modifiedAttributeID\": 1524, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4200\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4200, \n    \"effectName\": \"subsystemSkillLevelGallenteElectronic2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 955, \n        \"modifiedAttributeID\": 1518, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4201\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4201, \n    \"effectName\": \"subsystemSkillLevelCaldariElectronic2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 955, \n        \"modifiedAttributeID\": 1514, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4202\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4202, \n    \"effectName\": \"subsystemSkillLevelAmarrElectronic2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 955, \n        \"modifiedAttributeID\": 1508, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4203\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4203, \n    \"effectName\": \"subsystemSkillLevelAmarrEngineering2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 958, \n        \"modifiedAttributeID\": 1509, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4204\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4204, \n    \"effectName\": \"subsystemSkillLevelCaldariEngineering2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 958, \n        \"modifiedAttributeID\": 1515, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4205\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4205, \n    \"effectName\": \"subsystemSkillLevelGallenteEngineering2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 958, \n        \"modifiedAttributeID\": 1519, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4206\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4206, \n    \"effectName\": \"subsystemSkillLevelMinmatarEngineering2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 958, \n        \"modifiedAttributeID\": 1525, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4207\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4207, \n    \"effectName\": \"subsystemSkillLevelMinmatarOffensive2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 956, \n        \"modifiedAttributeID\": 1522, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4208\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4208, \n    \"effectName\": \"subsystemSkillLevelGallenteOffensive2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 956, \n        \"modifiedAttributeID\": 1521, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4209\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4209, \n    \"effectName\": \"subsystemSkillLevelCaldariOffensive2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 956, \n        \"modifiedAttributeID\": 1510, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4210\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4210, \n    \"effectName\": \"subsystemSkillLevelAmarrOffensive2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 956, \n        \"modifiedAttributeID\": 1511, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4211\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4211, \n    \"effectName\": \"subsystemSkillLevelAmarrPropulsion2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 957, \n        \"modifiedAttributeID\": 1512, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4212\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4212, \n    \"effectName\": \"subsystemSkillLevelCaldariPropulsion2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 957, \n        \"modifiedAttributeID\": 1513, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4213\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4213, \n    \"effectName\": \"subsystemSkillLevelGallentePropulsion2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 957, \n        \"modifiedAttributeID\": 1520, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4214\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4214, \n    \"effectName\": \"subsystemSkillLevelMinmatarPropulsion2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 957, \n        \"modifiedAttributeID\": 1523, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4215\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4215, \n    \"effectName\": \"subsystemBonusAmarrOffensive2EnergyWeaponCapacitorNeed\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4216\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4216, \n    \"effectName\": \"subsystemBonusAmarrCore2EnergyVampireAmount\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 1509, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4217\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4217, \n    \"effectName\": \"subsystemBonusAmarrCore2EnergyDestabilizerAmount\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 1509, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4240\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4240, \n    \"effectName\": \"modifyArmorResonancePassivePreAssignment\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 1419, \n        \"operation\": -1\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 1418, \n        \"operation\": -1\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 1421, \n        \"operation\": -1\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 1420, \n        \"operation\": -1\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4247\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4247, \n    \"effectName\": \"modifyShieldResonancePassivePreAssignment\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 1423, \n        \"operation\": -1\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 1422, \n        \"operation\": -1\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 1424, \n        \"operation\": -1\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 1425, \n        \"operation\": -1\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4248\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4248, \n    \"effectName\": \"subsystemBonusCaldariOffensive2MissileLauncherKineticDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1510, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1510, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1510, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4250\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4250, \n    \"effectName\": \"subsystemBonusGallenteOffensiveDroneDamageHP\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4251\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4251, \n    \"effectName\": \"subsystemBonusMinmatarOffensive2ProjectileWeaponDamageMultiplier\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1522, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4253\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4253, \n    \"effectName\": \"subsystemBonusMinmatarOffensive2ProjectileWeaponROF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1522, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4256\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4256, \n    \"effectName\": \"subsystemBonusMinmatarOffensive2MissileLauncherROF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1522, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1522, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1522, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4257\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4257, \n    \"effectName\": \"subsystemBonusMinmatarOffensiveAssaultMissileLauncherROF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4258\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4258, \n    \"effectName\": \"subsystemBonusMinmatarOffensiveHeavyMissileLauncherROF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4259\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4259, \n    \"effectName\": \"subsystemBonusMinmatarOffensiveHeavyAssaultMissileLauncherROF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4260\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4260, \n    \"effectName\": \"subsystemBonusAmarrEngineeringPowerOutput\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 11, \n        \"modifyingAttributeID\": 1431, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4261\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4261, \n    \"effectName\": \"subsystemBonusCaldariEngineeringPowerOutput\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 11, \n        \"modifyingAttributeID\": 1441, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4262\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4262, \n    \"effectName\": \"subsystemBonusGallenteEngineeringPowerOutput\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 11, \n        \"modifyingAttributeID\": 1436, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4263\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4263, \n    \"effectName\": \"subsystemBonusMinmatarEngineeringPowerOutput\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 11, \n        \"modifyingAttributeID\": 1446, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4264\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4264, \n    \"effectName\": \"subsystemBonusMinmatarCoreCapacitorRecharge\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 1446, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4265\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4265, \n    \"effectName\": \"subsystemBonusGallenteCoreCapacitorRecharge\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 1436, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4266\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4266, \n    \"effectName\": \"subsystemBonusCaldariEngineeringCapacitorRecharge\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 1441, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4267\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4267, \n    \"effectName\": \"subsystemBonusAmarrEngineeringCapacitorRecharge\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 1431, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4269\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4269, \n    \"effectName\": \"subsystemBonusAmarrCore3ScanResolution\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 2681, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4270\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4270, \n    \"effectName\": \"subsystemBonusMinmatarCore3ScanResolution\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 2687, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4271\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4271, \n    \"effectName\": \"subsystemBonusCaldariCore2MaxTargetingRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 1515, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4272\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4272, \n    \"effectName\": \"subsystemBonusGallenteCore2MaxTargetingRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 1519, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4273\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4273, \n    \"effectName\": \"subsystemBonusGallenteCore2WarpScrambleRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1519, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4274\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4274, \n    \"effectName\": \"subsystemBonusMinmatarCore2StasisWebifierRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1525, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4275\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4275, \n    \"effectName\": \"subsystemBonusCaldariPropulsion2WarpSpeed\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 1513, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4277\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4277, \n    \"effectName\": \"subsystemBonusGallentePropulsionWarpCapacitor\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 153, \n        \"modifyingAttributeID\": 1440, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4278\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4278, \n    \"effectName\": \"subsystemBonusGallentePropulsion2WarpSpeed\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 1520, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4280\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4280, \n    \"effectName\": \"systemAgility\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 169, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4281\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4281, \n    \"effectName\": \"modifyShipAgilityPassivePreAssignment\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 70, \n        \"operation\": -1\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4282\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4282, \n    \"effectName\": \"subsystemBonusGallenteOffensive2HybridWeaponDamageMultiplier\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1521, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4283\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4283, \n    \"effectName\": \"subsystemBonusCaldariOffensive2HybridWeaponDamageMultiplier\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1510, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4286\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4286, \n    \"effectName\": \"subsystemBonusAmarrOffensive2RemoteArmorRepairCapUse\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4288\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4288, \n    \"effectName\": \"subsystemBonusGallenteOffensive2RemoteArmorRepairCapUse\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1521, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4290\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4290, \n    \"effectName\": \"subsystemBonusMinmatarOffensive2RemoteRepCapUse\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1522, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1522, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4292\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4292, \n    \"effectName\": \"subsystemBonusCaldariOffensive2RemoteShieldBoosterCapUse\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1510, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4317\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4317, \n    \"effectName\": \"subsystemBonusGallenteEngineeringDroneHP\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1436, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1436, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 1436, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4320\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4320, \n    \"effectName\": \"subsystemBonusGallenteEngineering2DroneMWD\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1519, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4321\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4321, \n    \"effectName\": \"subsystemBonusCaldariCore2ECMStrengthRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1515, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 1515, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 1515, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 1515, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 1515, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4322\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4322, \n    \"effectName\": \"subsystemBonusAmarrOffensiveDroneDamageMultiplier\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4327\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4327, \n    \"effectName\": \"subsystemBonusAmarrOffensive3DroneDamageHP\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1531, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1531, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 1531, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1531, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4329\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4329, \n    \"effectName\": \"subsystemBonusGallenteOffensive3DroneDamageMultiplier\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1532, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4330\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4330, \n    \"effectName\": \"subsystemBonusAmarrOffensive3EnergyWeaponMaxRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1531, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4331\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4331, \n    \"effectName\": \"subsystemBonusCaldariOffensive3HMLHAMVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1533, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1533, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4332\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4332, \n    \"effectName\": \"subsystemBonusCaldariOffensive3HeavyMissileVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1533, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4334\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4334, \n    \"effectName\": \"subsystemBonusCaldariOffensive3EwStrengthGrav\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 1533, \n        \"operation\": 6, \n        \"skillTypeID\": 3427\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4335\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4335, \n    \"effectName\": \"subsystemBonusCaldariOffensive3EwStrengthLadar\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 1533, \n        \"operation\": 6, \n        \"skillTypeID\": 3427\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4336\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4336, \n    \"effectName\": \"subsystemBonusCaldariOffensive3EwStrengthMagn\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 1533, \n        \"operation\": 6, \n        \"skillTypeID\": 3427\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4337\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4337, \n    \"effectName\": \"subsystemBonusCaldariOffensive3EwStrengthRadar\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 1533, \n        \"operation\": 6, \n        \"skillTypeID\": 3427\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4338\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4338, \n    \"effectName\": \"subsystemSkillLevelAmarrOffensive3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 956, \n        \"modifiedAttributeID\": 1531, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4339\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4339, \n    \"effectName\": \"subsystemSkillLevelCaldariOffensive3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 956, \n        \"modifiedAttributeID\": 1533, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4341\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4341, \n    \"effectName\": \"subsystemSkillLevelGallenteOffensive3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 956, \n        \"modifiedAttributeID\": 1532, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4342\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4342, \n    \"effectName\": \"subsystemBonusMinmatarCore2MaxTargetingRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 1525, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4343\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4343, \n    \"effectName\": \"subsystemBonusAmarrCore2MaxTargetingRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 1509, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4344\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4344, \n    \"effectName\": \"subsystemBonusMinmatarDefensiveSignatureRadius\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4347\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4347, \n    \"effectName\": \"subsystemBonusGallenteOffensive3TurretTracking\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1532, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4350\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4350, \n    \"effectName\": \"subsystemSkillLevelMinmatarOffensive3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 956, \n        \"modifiedAttributeID\": 1534, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4351\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4351, \n    \"effectName\": \"subsystemBonusMinmatarOffensive3TurretTracking\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1534, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4357\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4357, \n    \"effectName\": \"caldariCruiserSkillLevelPreMulShipBonusCC3Ship\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1535, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4358\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 4358, \n    \"effectName\": \"ecmRangeBonusModuleEffect\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1536, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4359\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4359, \n    \"effectName\": \"subsystemBonusAmarrOffensiveHeavyMissileLauncherROF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4360\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4360, \n    \"effectName\": \"subsystemBonusAmarrOffensiveMissileLauncherROF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4361\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4361, \n    \"effectName\": \"subsystemBonusAmarrOffensiveHeavyAssaultMissileLauncherROF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4362\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4362, \n    \"effectName\": \"subsystemBonusAmarrOffensive2MissileDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4363\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4363, \n    \"effectName\": \"subsystemBonusAmarrOffensive2HAMThermalDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4364\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4364, \n    \"effectName\": \"subsystemBonusAmarrOffensive2HAMKineticDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4365\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4365, \n    \"effectName\": \"subsystemBonusAmarrOffensive2HAMExplosiveDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1511, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4366\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4366, \n    \"effectName\": \"shipBonusMediumHybridDmgCC2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4369\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4369, \n    \"effectName\": \"subsystemBonusWarpBubbleImmune\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1538, \n        \"modifyingAttributeID\": 1539, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4370\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4370, \n    \"effectName\": \"caldariShipEwFalloffRangeCC2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4372\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4372, \n    \"effectName\": \"caldariShipEwFalloffRangeCB3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 598, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4373\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4373, \n    \"effectName\": \"subSystemBonusAmarrOffensiveCommandBursts\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1434, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4374\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4374, \n    \"effectName\": \"subSystemBonusCaldariDefensiveSiegeWarfare\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4375\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4375, \n    \"effectName\": \"subSystemBonusGallenteDefensiveInformationWarfare\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4376\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4376, \n    \"effectName\": \"subSystemBonusMinmatarDefensiveSkirmishWarfare\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4377\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4377, \n    \"effectName\": \"shipBonusTorpedoVelocityGF2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4378\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4378, \n    \"effectName\": \"shipBonusTorpedoVelocityMF2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4379\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4379, \n    \"effectName\": \"shipBonusTorpedoVelocity2AF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4380\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4380, \n    \"effectName\": \"shipBonusTorpedoVelocityCF2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4384\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4384, \n    \"effectName\": \"eliteReconBonusHeavyMissileVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 962, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4385\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4385, \n    \"effectName\": \"eliteReconBonusHeavyAssaultMissileVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 962, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4389\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4389, \n    \"effectName\": \"subSystemBonusAmarrElectronicScanProbeStrength\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 1432, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4390\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4390, \n    \"effectName\": \"subSystemBonusCaldariElectronicScanProbeStrength\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 1442, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4391\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4391, \n    \"effectName\": \"subSystemBonusGallenteElectronicScanProbeStrength\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 1437, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4392\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4392, \n    \"effectName\": \"subSystemBonusMinmatarElectronicScanProbeStrength\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 1447, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4393\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4393, \n    \"effectName\": \"shipBonusEliteCover2TorpedoThermalDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 839, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4394\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4394, \n    \"effectName\": \"shipBonusEliteCover2TorpedoEMDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 839, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4395\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4395, \n    \"effectName\": \"shipBonusEliteCover2TorpedoExplosiveDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 839, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4396\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4396, \n    \"effectName\": \"shipBonusEliteCover2TorpedoKineticDamage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 839, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4397\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4397, \n    \"effectName\": \"shipBonusGFTorpedoExplosionVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4398\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4398, \n    \"effectName\": \"shipBonusMF1TorpedoExplosionVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4399\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4399, \n    \"effectName\": \"shipBonusCF1TorpedoExplosionVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4400\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4400, \n    \"effectName\": \"shipBonusAF1TorpedoExplosionVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4401\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4401, \n    \"effectName\": \"subSystemBonusAmarrElectronic2TractorBeamVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 1045, \n        \"modifyingAttributeID\": 1508, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4402\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4402, \n    \"effectName\": \"subSystemBonusCaldariElectronic2TractorBeamVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 1045, \n        \"modifyingAttributeID\": 1514, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4403\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4403, \n    \"effectName\": \"subSystemBonusGallenteElectronic2TractorBeamVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 1045, \n        \"modifyingAttributeID\": 1518, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4404\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4404, \n    \"effectName\": \"subSystemBonusMinmatarElectronic2TractorBeamVelocity\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 1045, \n        \"modifyingAttributeID\": 1524, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4405\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4405, \n    \"effectName\": \"subSystemBonusMinmatarElectronic2TractorBeamRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1524, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4406\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4406, \n    \"effectName\": \"subSystemBonusGallenteElectronic2TractorBeamRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1518, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4407\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4407, \n    \"effectName\": \"subSystemBonusCaldariElectronic2TractorBeamRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1514, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4408\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4408, \n    \"effectName\": \"subSystemBonusAmarrElectronic2TractorBeamRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1508, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4409\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4409, \n    \"effectName\": \"signatureRadiusPreAssignment\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 552, \n        \"operation\": -1\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4410\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4410, \n    \"effectName\": \"subsystemBonusScanProbeLauncherCPU\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 481, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4412\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4412, \n    \"effectName\": \"subsystemBonusJumpHarmonics\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1253, \n        \"modifyingAttributeID\": 1541, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4413\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4413, \n    \"effectName\": \"shipBonusGF1TorpedoFlightTime\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4415\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4415, \n    \"effectName\": \"shipBonusMF1TorpedoFlightTime\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4416\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4416, \n    \"effectName\": \"shipBonusCF1TorpedoFlightTime\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4417\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4417, \n    \"effectName\": \"shipBonusAF1TorpedoFlightTime\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4451\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4451, \n    \"effectName\": \"ScanRadarStrengthModifierEffect\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1565, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4452\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4452, \n    \"effectName\": \"ScanLadarStrengthModifierEffect\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1566, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4453\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4453, \n    \"effectName\": \"ScanGravimetricStrengthModifierEffect\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1567, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4454\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4454, \n    \"effectName\": \"ScanMagnetometricStrengthModifierEffect\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1568, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4456\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4456, \n    \"effectName\": \"federationsetbonus3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1029, \n        \"modifyingAttributeID\": 1553, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4457\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4457, \n    \"effectName\": \"imperialsetbonus3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1030, \n        \"modifyingAttributeID\": 1550, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4458\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4458, \n    \"effectName\": \"republicsetbonus3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1028, \n        \"modifyingAttributeID\": 1554, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4459\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4459, \n    \"effectName\": \"caldarisetbonus3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1027, \n        \"modifyingAttributeID\": 1552, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4460\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4460, \n    \"effectName\": \"imperialsetLGbonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1565, \n        \"modifyingAttributeID\": 1569, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4461\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4461, \n    \"effectName\": \"federationsetLGbonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1568, \n        \"modifyingAttributeID\": 1570, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4462\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4462, \n    \"effectName\": \"caldarisetLGbonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1567, \n        \"modifyingAttributeID\": 1571, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4463\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4463, \n    \"effectName\": \"republicsetLGbonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1566, \n        \"modifyingAttributeID\": 1572, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4464\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4464, \n    \"effectName\": \"shipProjectileRofMF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4471\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4471, \n    \"effectName\": \"shipBonusStasisMF2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4472\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4472, \n    \"effectName\": \"shipProjectileDmgMC\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4473\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4473, \n    \"effectName\": \"shipVelocityBonusATC1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1574, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4474\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4474, \n    \"effectName\": \"shipMTMaxRangeBonusATC\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1575, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4475\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4475, \n    \"effectName\": \"shipMTFalloffBonusATC\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 1575, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4476\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4476, \n    \"effectName\": \"shipMTFalloffBonusATF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 1577, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4477\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4477, \n    \"effectName\": \"shipMTMaxRangeBonusATF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1577, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4478\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4478, \n    \"effectName\": \"shipBonusAfterburnerCapNeedATF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 46, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1576, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4479\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4479, \n    \"effectName\": \"shipBonusSurveyProbeExplosionDelaySkillSurveyCovertOps3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 1578, \n        \"operation\": 6, \n        \"skillTypeID\": 3551\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4480\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4480, \n    \"effectName\": \"covertOpsSkillLevelPreMulEliteBonusCoverOpsShip3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1578, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4482\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4482, \n    \"effectName\": \"shipETOptimalRange2AF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4484\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4484, \n    \"effectName\": \"shipPTurretFalloffBonusGB\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 500, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4485\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4485, \n    \"effectName\": \"shipBonusStasisWebSpeedFactorMB\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4489\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 4489, \n    \"effectName\": \"superWeaponAmarr\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.SuperWeaponAmarr\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"4490\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 4490, \n    \"effectName\": \"superWeaponCaldari\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.SuperWeaponCaldari\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"4491\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 4491, \n    \"effectName\": \"superWeaponGallente\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.SuperWeaponGallente\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"4492\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 4492, \n    \"effectName\": \"superWeaponMinmatar\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.SuperWeaponMinmatar\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"4510\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4510, \n    \"effectName\": \"shipStasisWebStrengthBonusMC2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4512\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4512, \n    \"effectName\": \"shipPTurretFalloffBonusGC\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4513\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4513, \n    \"effectName\": \"shipStasisWebStrengthBonusMF2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4515\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4515, \n    \"effectName\": \"shipFalloffBonusMF\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4516\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4516, \n    \"effectName\": \"shipHTurretFalloffBonusGC\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4527\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 4527, \n    \"effectName\": \"gunneryFalloffBonusOnline\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4555\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4555, \n    \"effectName\": \"\\tcapitalLauncherSkillCruiseCitadelEmDamage1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4556\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4556, \n    \"effectName\": \"capitalLauncherSkillCruiseCitadelExplosiveDamage1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4557\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4557, \n    \"effectName\": \"capitalLauncherSkillCruiseCitadelKineticDamage1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4558\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4558, \n    \"effectName\": \"capitalLauncherSkillCruiseCitadelThermalDamage1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4559\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 4559, \n    \"effectName\": \"gunneryMaxRangeFalloffTrackingSpeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TurretWeaponRangeTrackingSpeedMultiplyActivate\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4575\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 4575, \n    \"effectName\": \"industrialCoreEffect2\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.SiegeMode\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 852, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 4, \n        \"modifyingAttributeID\": 1471, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2354, \n        \"modifyingAttributeID\": 2354, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2343, \n        \"modifyingAttributeID\": 2343, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1973, \n        \"modifyingAttributeID\": 1974, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2116, \n        \"modifyingAttributeID\": 2342, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2135, \n        \"modifyingAttributeID\": 2352, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2112, \n        \"modifyingAttributeID\": 2351, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2253, \n        \"modifyingAttributeID\": 2253, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 565, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2607, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2606, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2605, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2605, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2604, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2604, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2583, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 2583, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 2583, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2583, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2584, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 2585, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2586, \n        \"operation\": 6, \n        \"skillTypeID\": 43702\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2587, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2587, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2587, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2587, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2588, \n        \"operation\": 6, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4576\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4576, \n    \"effectName\": \"eliteBonusLogisticsTrackingLinkFalloffBonus1\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 209, \n        \"modifiedAttributeID\": 349, \n        \"modifyingAttributeID\": 678, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4577\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4577, \n    \"effectName\": \"eliteBonusLogisticsTrackingLinkFalloffBonus2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 209, \n        \"modifiedAttributeID\": 349, \n        \"modifyingAttributeID\": 679, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4579\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4579, \n    \"effectName\": \"droneRigStasisWebSpeedFactorBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 1619, \n        \"operation\": 6, \n        \"skillTypeID\": 12305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4598\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4598, \n    \"effectName\": \"amarrFrigateSkillLevelPreMulShipBonus3AFShip\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1623, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4599\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4599, \n    \"effectName\": \"caldariFrigateSkillLevelPreMulShipBonus3CFShip\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1624, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4600\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4600, \n    \"effectName\": \"gallenteFrigateSkillLevelPreMulShipBonus3GFShip\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1625, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4601\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4601, \n    \"effectName\": \"minmatarFrigateSkillLevelPreMulShipBonus3MFShip\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1626, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4619\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4619, \n    \"effectName\": \"shipBonusDroneDamageGF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4620\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4620, \n    \"effectName\": \"shipBonusWarpScramblerMaxRangeGF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4621\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4621, \n    \"effectName\": \"shipBonusHeatDamageATF1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1576, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4622\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4622, \n    \"effectName\": \"shipBonusSmallHybridMaxRangeATF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1577, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4623\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4623, \n    \"effectName\": \"shipBonusSmallHybridTrackingSpeedATF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1577, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4624\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4624, \n    \"effectName\": \"shipBonusHybridTrackingATC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1575, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4625\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4625, \n    \"effectName\": \"shipBonusHybridFalloffATC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 1575, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4626\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4626, \n    \"effectName\": \"shipBonusWarpScramblerMaxRangeGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4635\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4635, \n    \"effectName\": \"eliteBonusMaraudersCruiseAndTorpedoDamageRole1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4636\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4636, \n    \"effectName\": \"shipBonusAoeVelocityCruiseAndTorpedoCB2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4637\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4637, \n    \"effectName\": \"shipCruiseAndTorpedoVelocityBonusCB3\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 598, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 598, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4640\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4640, \n    \"effectName\": \"shipArmorEMAndExpAndkinAndThmResistanceAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4643\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4643, \n    \"effectName\": \"shipHeavyAssaultMissileEMAndExpAndKinAndThmDmgAC1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4645\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4645, \n    \"effectName\": \"eliteBonusHeavyGunshipHeavyAndHeavyAssaultAndAssaultMissileLauncherROF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4648\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4648, \n    \"effectName\": \"eliteBonusBlackOpsECMGravAndLadarAndMagnetometricAndRadarStrength1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4649\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4649, \n    \"effectName\": \"shipCruiseAndSiegeLauncherROFBonus2CB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 506, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 508, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4656\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"durationAttributeID\": 1658, \n    \"effectCategory\": 1, \n    \"effectID\": 4656, \n    \"effectName\": \"NPCRemoteECM\", \n    \"electronicChance\": 1, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"npcUsageChanceAttributeID\": 1664, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4665\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4665, \n    \"effectName\": \"oreIndustrialSkillLevelPostMulShipBonusOreIndustrial1Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1669, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4666\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4666, \n    \"effectName\": \"oreIndustrialSkillLevelPostMulShipBonusOreIndustrial2Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1670, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4667\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4667, \n    \"effectName\": \"shipBonusNoctisSalvageCycle\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 1669, \n        \"operation\": 6, \n        \"skillTypeID\": 25863\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4668\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4668, \n    \"effectName\": \"shipBonusNoctisTractorCycle\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 1669, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4669\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4669, \n    \"effectName\": \"shipBonusNoctisTractorVelocity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 1045, \n        \"modifyingAttributeID\": 1670, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4670\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4670, \n    \"effectName\": \"shipBonusNoctisTractorRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 650, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1670, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4686\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"durationAttributeID\": 1672, \n    \"effectCategory\": 1, \n    \"effectID\": 4686, \n    \"effectName\": \"NPCGroupShieldAssist\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ElectronicAttributeModifyActivate\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 1673, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4687\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"durationAttributeID\": 1677, \n    \"effectCategory\": 1, \n    \"effectID\": 4687, \n    \"effectName\": \"NPCGroupSpeedAssist\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ElectronicAttributeModifyActivate\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 1678, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4688\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"durationAttributeID\": 1679, \n    \"effectCategory\": 1, \n    \"effectID\": 4688, \n    \"effectName\": \"NPCGroupPropJamAssist\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ElectronicAttributeModifyActivate\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 1680, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4689\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"durationAttributeID\": 1681, \n    \"effectCategory\": 1, \n    \"effectID\": 4689, \n    \"effectName\": \"NPCGroupArmorAssist\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ElectronicAttributeModifyActivate\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 1682, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4728\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4728, \n    \"effectName\": \"OffensiveDefensiveReduction\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4760\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4760, \n    \"effectName\": \"subsystemBonusCaldariPropulsionWarpCapacitor\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 153, \n        \"modifyingAttributeID\": 1445, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4769\": {\n    \"description_de\": \"Dieses Objekt im All verankern.\", \n    \"description_en-us\": \"Anchoring this object in space.\", \n    \"description_es\": \"Anclando este objeto en el espacio.\", \n    \"description_fr\": \"Ancrage de cet objet dans l'espace.\", \n    \"description_it\": \"Anchoring this object in space.\", \n    \"description_ja\": \"このオブジェクトを宙域に係留。\", \n    \"description_ko\": \"이 물체를 우주에 위치 고정합니다.\", \n    \"description_ru\": \"Постановка объекта на якорь в космосе.\", \n    \"description_zh\": \"正在太空中锚定这个物体。\", \n    \"descriptionID\": 109403, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"anchoring\", \n    \"displayName_en-us\": \"anchoring\", \n    \"displayName_es\": \"anclando\", \n    \"displayName_fr\": \"ancrage en cours\", \n    \"displayName_it\": \"anchoring\", \n    \"displayName_ja\": \"係留\", \n    \"displayName_ko\": \"위치 고정 중\", \n    \"displayName_ru\": \"постановка на якорь\", \n    \"displayName_zh\": \"正在锚定\", \n    \"displayNameID\": 110339, \n    \"distribution\": 2, \n    \"effectCategory\": 1, \n    \"effectID\": 4769, \n    \"effectName\": \"anchorDropOrbital\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.AnchorDrop\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"4770\": {\n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"unanchoring\", \n    \"displayName_en-us\": \"unanchoring\", \n    \"displayName_es\": \"desanclando\", \n    \"displayName_fr\": \"détachement en cours\", \n    \"displayName_it\": \"unanchoring\", \n    \"displayName_ja\": \"未係留\", \n    \"displayName_ko\": \"위치 고정 해제 중\", \n    \"displayName_ru\": \"снятие с якоря\", \n    \"displayName_zh\": \"正在解锚\", \n    \"displayNameID\": 110340, \n    \"distribution\": 2, \n    \"effectCategory\": 1, \n    \"effectID\": 4770, \n    \"effectName\": \"anchorLiftOrbital\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.AnchorLift\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"4771\": {\n    \"description_de\": \"Dies ist ein Online-Effekt für Strukturen.\", \n    \"description_en-us\": \"this is the online effect for structures\", \n    \"description_es\": \"El efecto de activación de las estructuras.\", \n    \"description_fr\": \"il s'agit de l'effet de connexion pour les structures\", \n    \"description_it\": \"this is the online effect for structures\", \n    \"description_ja\": \"これはストラクチャに対するオンライン効果です\", \n    \"description_ko\": \"구조물을 위한 작동 효과입니다.\", \n    \"description_ru\": \"это — онлайн-эффект для зданий\", \n    \"description_zh\": \"这能起到启用建筑的效果\", \n    \"descriptionID\": 109404, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"online\", \n    \"displayName_en-us\": \"online\", \n    \"displayName_es\": \"con conexión\", \n    \"displayName_fr\": \"connecté\", \n    \"displayName_it\": \"online\", \n    \"displayName_ja\": \"オンライン\", \n    \"displayName_ko\": \"온라인\", \n    \"displayName_ru\": \"онлайн\", \n    \"displayName_zh\": \"在线\", \n    \"displayNameID\": 110341, \n    \"effectCategory\": 1, \n    \"effectID\": 4771, \n    \"effectName\": \"onlineOrbital\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.StructureOnline\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"4773\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 4773, \n    \"effectName\": \"hackOrbital\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TargetScan\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4775\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4775, \n    \"effectName\": \"shipEnergyNeutralizerTransferAmountBonusAF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4782\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4782, \n    \"effectName\": \"shipBonusSmallEnergyWeaponOptimalRangeATF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1577, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4789\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4789, \n    \"effectName\": \"shipBonusSmallEnergyTurretDamageATF1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1576, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4793\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4793, \n    \"effectName\": \"shipBonusMissileLauncherHeavyROFATC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1574, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4794\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4794, \n    \"effectName\": \"shipBonusMissileLauncherAssaultROFATC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1574, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4795\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4795, \n    \"effectName\": \"shipBonusMissileLauncherHeavyAssaultROFATC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1574, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4799\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4799, \n    \"effectName\": \"eliteBonusBlackOpsECMBurstGravAndLadarAndMagnetoAndRadar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4801\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4801, \n    \"effectName\": \"salvagingAccessDifficultyBonusMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 902, \n        \"modifyingAttributeID\": 1772, \n        \"operation\": 0, \n        \"skillTypeID\": 25863\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4802\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4802, \n    \"effectName\": \"hackingAccessDifficultyBonusMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 902, \n        \"modifyingAttributeID\": 1772, \n        \"operation\": 0, \n        \"skillTypeID\": 21718\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4803\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4803, \n    \"effectName\": \"archaeologyAccessDifficultyBonusMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 902, \n        \"modifyingAttributeID\": 1772, \n        \"operation\": 0, \n        \"skillTypeID\": 13278\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4804\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4804, \n    \"effectName\": \"dataMiningSkillBoostAccessDifficultyBonusAbsolutePercent\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1772, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4809\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 4809, \n    \"effectName\": \"ecmGravimetricStrengthBonusPercent\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 1130, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4810\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 4810, \n    \"effectName\": \"ecmLadarStrengthBonusPercent\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 1130, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4811\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 4811, \n    \"effectName\": \"ecmMagnetometricStrengthBonusPercent\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 1130, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4812\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 4812, \n    \"effectName\": \"ecmRadarStrengthBonusPercent\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 1130, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4813\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4813, \n    \"effectName\": \"skillConsumptionQuantityBonusPercentSkillLevel\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1775, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4814\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4814, \n    \"effectName\": \"jumpPortalConsumptionBonusPercentSkill\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 714, \n        \"modifyingAttributeID\": 1775, \n        \"operation\": 6, \n        \"skillTypeID\": 24562\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4817\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4817, \n    \"effectName\": \"salvagerModuleDurationReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1122, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4820\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263322, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4820, \n    \"effectName\": \"bcLargeEnergyTurretPowerNeedBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 1786, \n        \"operation\": 0, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4821\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263324, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4821, \n    \"effectName\": \"bcLargeHybridTurretPowerNeedBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 1786, \n        \"operation\": 0, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4822\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263325, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4822, \n    \"effectName\": \"bcLargeProjectileTurretPowerNeedBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 1786, \n        \"operation\": 0, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4823\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263326, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4823, \n    \"effectName\": \"bcLargeEnergyTurretCPUNeedBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 1787, \n        \"operation\": 0, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4824\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263327, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4824, \n    \"effectName\": \"bcLargeHybridTurretCPUNeedBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 1787, \n        \"operation\": 0, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4825\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263333, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4825, \n    \"effectName\": \"bcLargeProjectileTurretCPUNeedBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 1787, \n        \"operation\": 0, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4826\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263334, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4826, \n    \"effectName\": \"bcLargeEnergyTurretCapacitorNeedBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1788, \n        \"operation\": 0, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4827\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263335, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4827, \n    \"effectName\": \"bcLargeHybridTurretCapacitorNeedBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1788, \n        \"operation\": 0, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4850\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263533, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4850, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusBC3Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1792, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4852\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263535, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4852, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusBC4Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1793, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4867\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263931, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4867, \n    \"effectName\": \"setBonusChristmasPowergrid\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1730, \n        \"modifiedAttributeID\": 313, \n        \"modifyingAttributeID\": 1799, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4868\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263932, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4868, \n    \"effectName\": \"setBonusChristmasCapacitorCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1730, \n        \"modifiedAttributeID\": 1079, \n        \"modifyingAttributeID\": 1799, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4869\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263933, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4869, \n    \"effectName\": \"setBonusChristmasCPUOutput\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1730, \n        \"modifiedAttributeID\": 424, \n        \"modifyingAttributeID\": 1799, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4871\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 263935, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4871, \n    \"effectName\": \"setBonusChristmasCapacitorRecharge2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1730, \n        \"modifiedAttributeID\": 314, \n        \"modifyingAttributeID\": 1799, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4894\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 264986, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4894, \n    \"effectName\": \"maxRangeHiddenPreAssignmentWarpScrambleRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 1, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1317, \n        \"modifyingAttributeID\": 103, \n        \"operation\": -1\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4896\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 264990, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4896, \n    \"effectName\": \"shipBonusDroneHitpointsGF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4897\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 264991, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4897, \n    \"effectName\": \"shipBonusDroneArmorHitpointsGF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4898\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 264992, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4898, \n    \"effectName\": \"shipBonusDroneShieldHitpointsGF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 2, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4901\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 264995, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4901, \n    \"effectName\": \"shipMissileSpeedBonusAF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4902\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 264996, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4902, \n    \"effectName\": \"MWDSignatureRadiusRoleBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 1803, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4906\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 267598, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4906, \n    \"effectName\": \"systemDamageFighters\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4908\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 4908, \n    \"effectName\": \"modifyShieldArmorHullResonancePostPercent\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4910\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 267654, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4910, \n    \"effectName\": \"setWeaponSpeedToValue\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 1, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4911\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4911, \n    \"effectName\": \"modifyShieldRechargeRatePassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 479, \n        \"modifyingAttributeID\": 134, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4912\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 267655, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 4912, \n    \"effectName\": \"damageMultiplierMultiplierActivation\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4913\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 267656, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 4913, \n    \"effectName\": \"missileDamageMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 212, \n        \"modifyingAttributeID\": 64, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4918\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 4918, \n    \"effectName\": \"setMassAndAgilityAndSpeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 4, \n        \"modifyingAttributeID\": 622, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 169, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1333, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4921\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 4921, \n    \"effectName\": \"microJumpDrive\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MicroJumpDriveEngage\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"4923\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 277330, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4923, \n    \"effectName\": \"skillMJDdurationBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 4385\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4928\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 4928, \n    \"effectName\": \"adaptiveArmorHardener\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ArmorHardening\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"4930\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 278191, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4930, \n    \"effectName\": \"scriptConsumptionQuantityBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 1, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 714, \n        \"modifyingAttributeID\": 885, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4933\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 278359, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4933, \n    \"effectName\": \"shipSETDmgBonus2AF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4934\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 278360, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4934, \n    \"effectName\": \"shipArmorRepairingGF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4936\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 4936, \n    \"effectName\": \"fueledShieldBoosting\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ShieldBoosting\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"4941\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 278506, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4941, \n    \"effectName\": \"shipHybridDamageBonusCF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4942\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 4942, \n    \"effectName\": \"targetBreaker\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TargetBreaker\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"4945\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 279042, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4945, \n    \"effectName\": \"skillTargetBreakerDurationBonus2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1154, \n        \"modifiedAttributeID\": 3115, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4946\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 279043, \n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"effectCategory\": 0, \n    \"effectID\": 4946, \n    \"effectName\": \"skillTargetBreakerCapNeedBonus2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1154, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4950\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 279222, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4950, \n    \"effectName\": \"shipBonusShieldBoosterMB1a\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4951\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4951, \n    \"effectName\": \"shieldBoostAmplifierPassiveBooster\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 548, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 548, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4961\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 4961, \n    \"effectName\": \"systemShieldRepairAmountShieldSkills\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1496, \n        \"operation\": 4, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1496, \n        \"operation\": 4, \n        \"skillTypeID\": 21802\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4967\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4967, \n    \"effectName\": \"shieldBoosterDurationBonusShieldSkills\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 312, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 312, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4970\": {\n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Shield Booster Penalty\", \n    \"displayName_en-us\": \"Shield Booster Penalty\", \n    \"displayName_es\": \"Penalización de potenciador de escudo\", \n    \"displayName_fr\": \"Pénalité de booster de bouclier\", \n    \"displayName_it\": \"Shield Booster Penalty\", \n    \"displayName_ja\": \"シールドブースターペナルティ\", \n    \"displayName_ko\": \"실드 부스터 페널티\", \n    \"displayName_ru\": \"Shield Booster Penalty\", \n    \"displayName_zh\": \"护盾回充增效器惩罚\", \n    \"displayNameID\": 279259, \n    \"effectCategory\": 0, \n    \"effectID\": 4970, \n    \"effectName\": \"boosterShieldBoostAmountPenaltyShieldSkills\", \n    \"electronicChance\": 0, \n    \"fittingUsageChanceAttributeID\": 1089, \n    \"guid\": \"\", \n    \"iconID\": 1384, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 616, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 616, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"4972\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 279265, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4972, \n    \"effectName\": \"eliteBonusAssaultShipLightMissileROF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 509, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4973\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 279266, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4973, \n    \"effectName\": \"eliteBonusAssaultShipRocketROF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 507, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4974\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 279281, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4974, \n    \"effectName\": \"eliteBonusMarauderShieldBonus2a\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1266, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4975\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 279282, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4975, \n    \"effectName\": \"shipBonusMissileKineticlATF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1577, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4976\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 279316, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4976, \n    \"effectName\": \"skillReactiveArmorHardenerDurationBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1150, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 32797\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4984\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 279695, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4984, \n    \"effectName\": \"skillWarAllyCostModifier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1820, \n        \"modifyingAttributeID\": 1821, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4985\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 279696, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4985, \n    \"effectName\": \"relationsAllyCostSkillBoost\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1821, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4989\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 279782, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4989, \n    \"effectName\": \"missileSkillAoeCloudSizeBonusAllIncludingCapitals\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4990\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280524, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4990, \n    \"effectName\": \"shipEnergyTCapNeedBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1822, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4991\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280635, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4991, \n    \"effectName\": \"shipSETDmgBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1823, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4994\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280638, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4994, \n    \"effectName\": \"shipArmorEMResistanceRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 1825, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4995\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280639, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4995, \n    \"effectName\": \"shipArmorEXResistanceRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 1825, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4996\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280640, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4996, \n    \"effectName\": \"shipArmorKNResistanceRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 1825, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4997\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280641, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4997, \n    \"effectName\": \"shipArmorTHResistanceRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 1825, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"4999\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280643, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 4999, \n    \"effectName\": \"shipHybridRangeBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1826, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5000\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280644, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5000, \n    \"effectName\": \"shipMissileKineticDamageRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1827, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5008\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280650, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5008, \n    \"effectName\": \"shipShieldEMResistanceRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 1829, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5009\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280651, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5009, \n    \"effectName\": \"shipShieldExplosiveResistanceRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 1829, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5011\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280653, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5011, \n    \"effectName\": \"shipShieldKineticResistanceRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 1829, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5012\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280654, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5012, \n    \"effectName\": \"shipShieldThermalResistanceRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 1829, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5013\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280669, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5013, \n    \"effectName\": \"shipSHTDmgBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1830, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5014\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280670, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5014, \n    \"effectName\": \"shipBonusDroneDamageMultiplierRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1831, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5015\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280671, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5015, \n    \"effectName\": \"shipBonusEwRemoteSensorDampenerMaxTargetRangeBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 309, \n        \"modifyingAttributeID\": 1832, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5016\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280672, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5016, \n    \"effectName\": \"shipBonusEwRemoteSensorDampenerScanResolutionBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 566, \n        \"modifyingAttributeID\": 1832, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5017\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280673, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5017, \n    \"effectName\": \"shipArmorRepairingRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1833, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5018\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280675, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5018, \n    \"effectName\": \"shipVelocityBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1835, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5019\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280676, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5019, \n    \"effectName\": \"minmatarShipEwTargetPainterRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 1834, \n        \"operation\": 6, \n        \"skillTypeID\": 19921\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5020\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280679, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5020, \n    \"effectName\": \"shipSPTDmgBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1836, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5021\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280680, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5021, \n    \"effectName\": \"shipShieldBoostRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1837, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5028\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5028, \n    \"effectName\": \"shipECMScanStrengthBonusRookie\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 1828, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 1828, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 1828, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 1828, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5029\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280686, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5029, \n    \"effectName\": \"shipBonusDroneMiningAmountRole\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 2578, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5030\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280688, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5030, \n    \"effectName\": \"shipBonusMiningDroneAmountPercentRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 428, \n        \"modifyingAttributeID\": 1831, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5035\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5035, \n    \"effectName\": \"shipBonusDroneHitpointsRookie\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 1831, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1831, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1831, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5036\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280738, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5036, \n    \"effectName\": \"shipBonusSalvageCycleAF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 25863\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5045\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280747, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5045, \n    \"effectName\": \"shipBonusSalvageCycleCF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 25863\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5048\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280750, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5048, \n    \"effectName\": \"shipBonusSalvageCycleGF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 25863\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5051\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280753, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5051, \n    \"effectName\": \"shipBonusSalvageCycleMF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 25863\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5052\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 280930, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5052, \n    \"effectName\": \"baseDefenderAllyCostCharAssignment\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1820, \n        \"modifyingAttributeID\": 1820, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5055\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 281017, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5055, \n    \"effectName\": \"iceHarvesterDurationMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 780, \n        \"operation\": 4, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5056\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 281018, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5056, \n    \"effectName\": \"iceHarvesterCapacitorNeedMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 780, \n        \"operation\": 4, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5058\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 281020, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5058, \n    \"effectName\": \"miningYieldMultiplyPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 207, \n        \"operation\": 4, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5059\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 281021, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5059, \n    \"effectName\": \"shipBonusIceHarvesterDurationORE3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 926, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5066\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5066, \n    \"effectName\": \"shipBonusTargetPainterOptimalMF1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 19921\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5067\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 281040, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5067, \n    \"effectName\": \"miningBargeBonusGeneralMiningHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1556, \n        \"modifyingAttributeID\": 3187, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5068\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 281041, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5068, \n    \"effectName\": \"miningBargeBonusShieldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 3188, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5069\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 281042, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5069, \n    \"effectName\": \"deepcoreMiningBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 1, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 434, \n        \"operation\": 6, \n        \"skillTypeID\": 11395\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"5079\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5079, \n    \"effectName\": \"shipMissileKineticDamageCF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5080\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5080, \n    \"effectName\": \"shipMissileVelocityCF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5081\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5081, \n    \"effectName\": \"maxTargetingRangeBonusPostPercentPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 309, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5087\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5087, \n    \"effectName\": \"shipBonusDroneHitpointsGF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5090\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5090, \n    \"effectName\": \"shipShieldBoostMF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5103\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5103, \n    \"effectName\": \"shipBonusShieldTransferCapNeedCF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5104\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5104, \n    \"effectName\": \"shipBonusShieldTransferBoostAmountCF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5105\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5105, \n    \"effectName\": \"shipBonusShieldTransferCapNeedMF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5106\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5106, \n    \"effectName\": \"shipBonusShieldTransferBoostAmountMF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5107\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5107, \n    \"effectName\": \"shipBonusRemoteArmorRepairCapNeedGF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5108\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5108, \n    \"effectName\": \"shipBonusRemoteArmorRepairAmountGF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5109\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5109, \n    \"effectName\": \"shipBonusRemoteArmorRepairCapNeedAF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5110\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5110, \n    \"effectName\": \"shipBonusRemoteArmorRepairAmount2AF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5111\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5111, \n    \"effectName\": \"shipBonusDroneTrackingGF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5119\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5119, \n    \"effectName\": \"shipBonusScanProbeStrength2AF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5121\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5121, \n    \"effectName\": \"energyTransferArrayTransferAmountBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 67, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 1840, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5122\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5122, \n    \"effectName\": \"shipBonusShieldTransferCapneedMC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5123\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5123, \n    \"effectName\": \"shipBonusRemoteArmorRepairCapNeedAC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5124\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5124, \n    \"effectName\": \"shipBonusRemoteArmorRepairAmountAC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5125\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 282561, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5125, \n    \"effectName\": \"shipBonusRemoteArmorRepairAmountGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5126\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 282562, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5126, \n    \"effectName\": \"shipBonusShieldTransferBoostAmountCC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5127\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 282563, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5127, \n    \"effectName\": \"shipBonusShieldTransferBoostAmountMC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5128\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 282643, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5128, \n    \"effectName\": \"shipBonusEwRemoteSensorDampenerOptimalBonusGC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5129\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 282644, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5129, \n    \"effectName\": \"minmatarShipEwTargetPainterMC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 379, \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5131\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5131, \n    \"effectName\": \"shipMissileRofCC\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5132\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 282855, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5132, \n    \"effectName\": \"shipPTurretFalloffBonusMC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5133\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 282856, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5133, \n    \"effectName\": \"shipHTDamageBonusCC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5136\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 282859, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5136, \n    \"effectName\": \"shipMETCDamageBonusAC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5137\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 282883, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5137, \n    \"effectName\": \"miningFrigateSkillLevelOreMiningYieldBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1842, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5138\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 282884, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5138, \n    \"effectName\": \"miningFrigateSkillLevelPostMulShipBonusORE2frig\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1843, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5139\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 282885, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5139, \n    \"effectName\": \"miningFrigateBonusOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 1842, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5142\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 282895, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5142, \n    \"effectName\": \"GasCloudHarvesterYieldMultiplyPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 737, \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 207, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5153\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 283118, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5153, \n    \"effectName\": \"shipMissileVelocityPirateFactionRocket\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5162\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 283267, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5162, \n    \"effectName\": \"skillReactiveArmorHardenerCapNeedBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 1, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1150, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 32797\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5163\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 5163, \n    \"effectName\": \"salvageDroneEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Salvaging\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"5165\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 283392, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5165, \n    \"effectName\": \"shipBonusDroneMWDboostrole\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5168\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 283611, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5168, \n    \"effectName\": \"droneSalvageBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 902, \n        \"modifyingAttributeID\": 902, \n        \"operation\": 2, \n        \"skillTypeID\": 3440\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5170\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 283613, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5170, \n    \"effectName\": \"droneSalvageSkillBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 902, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5172\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 283693, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5172, \n    \"effectName\": \"sensorIntegritySkillLevelPreMulSensorStrengthBonusSelf\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1851, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5180\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 283786, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5180, \n    \"effectName\": \"sensorCompensationSensorStrengthBonusGravimetric\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1851, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5181\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 283787, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5181, \n    \"effectName\": \"sensorCompensationSensorStrengthBonusLadar\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1851, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5182\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 283788, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5182, \n    \"effectName\": \"sensorCompensationSensorStrengthBonusMagnetometric\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1851, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5183\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 283789, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5183, \n    \"effectName\": \"sensorCompensationSensorStrengthBonusRadar\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1851, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5185\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 283927, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5185, \n    \"effectName\": \"shipEnergyVampireAmountBonusFixedAF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5187\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 283929, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5187, \n    \"effectName\": \"shipBonusEwRemoteSensorDampenerFalloffBonusGC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5188\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 285226, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5188, \n    \"effectName\": \"trackingSpeedBonusEffectHybrids\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 74, \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5189\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 285291, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5189, \n    \"effectName\": \"trackingSpeedBonusEffectLasers\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 53, \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5190\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 285292, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5190, \n    \"effectName\": \"trackingSpeedBonusEffectProjectiles\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 55, \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5191\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 285428, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5191, \n    \"effectName\": \"spaceAnchorEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1854, \n        \"modifyingAttributeID\": 1854, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5200\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286445, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5200, \n    \"effectName\": \"armorUpgradesSkillBoostMassPenaltyReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1856, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5201\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286446, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5201, \n    \"effectName\": \"armorUpgradesMassPenaltyReductionBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 329, \n        \"modifiedAttributeID\": 796, \n        \"modifyingAttributeID\": 1856, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5205\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286525, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5205, \n    \"effectName\": \"shipSETTrackingBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1857, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5206\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286526, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5206, \n    \"effectName\": \"shipSETOptimalBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1858, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5207\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286527, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5207, \n    \"effectName\": \"shipNOSTransferAmountBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 1859, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5208\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286528, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5208, \n    \"effectName\": \"shipNeutDestabilizationAmountBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 1860, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5209\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286529, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5209, \n    \"effectName\": \"shipWebVelocityBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 1861, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5212\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286532, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5212, \n    \"effectName\": \"shipDroneMWDSpeedBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1864, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5213\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286533, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5213, \n    \"effectName\": \"shipRocketMaxVelocityBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1863, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5214\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286534, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5214, \n    \"effectName\": \"shipLightMissileMaxVelocityBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1862, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5215\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286535, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5215, \n    \"effectName\": \"shipSHTTrackingSpeedBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1865, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5216\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286536, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5216, \n    \"effectName\": \"shipSHTFalloffBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 1866, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5217\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286538, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5217, \n    \"effectName\": \"shipSPTTrackingSpeedBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1867, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5218\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286539, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5218, \n    \"effectName\": \"shipSPTFalloffBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 1868, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5219\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически генерируемый эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286540, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5219, \n    \"effectName\": \"shipSPTOptimalRangeBonusRookie\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1869, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5220\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286574, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5220, \n    \"effectName\": \"shipProjectileDmgPirateCruiser\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5221\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286575, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5221, \n    \"effectName\": \"shipHeavyAssaultMissileEMDmgPirateCruiser\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5222\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286576, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5222, \n    \"effectName\": \"shipHeavyAssaultMissileKinDmgPirateCruiser\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5223\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286577, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5223, \n    \"effectName\": \"shipHeavyAssaultMissileThermDmgPirateCruiser\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5224\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286578, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5224, \n    \"effectName\": \"shipHeavyAssaultMissileExpDmgPirateCruiser\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5225\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286579, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5225, \n    \"effectName\": \"shipHeavyMissileEMDmgPirateCruiser\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5226\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286580, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5226, \n    \"effectName\": \"shipHeavyMissileExpDmgPirateCruiser\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5227\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286581, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5227, \n    \"effectName\": \"shipHeavyMissileKinDmgPirateCruiser\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5228\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286582, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5228, \n    \"effectName\": \"shipHeavyMissileThermDmgPirateCruiser\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5229\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5229, \n    \"effectName\": \"shipScanProbeStrengthBonusPirateCruiser\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 1688, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5230\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 5230, \n    \"effectName\": \"modifyActiveShieldResonancePostPercent\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ModifyShieldResonance\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5231\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 5231, \n    \"effectName\": \"modifyActiveArmorResonancePostPercent\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ArmorHardening\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5234\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5234, \n    \"effectName\": \"shipSmallMissileExpDmgCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5237\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5237, \n    \"effectName\": \"shipSmallMissileKinDmgCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5240\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5240, \n    \"effectName\": \"shipSmallMissileThermDmgCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5243\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5243, \n    \"effectName\": \"shipSmallMissileEMDmgCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5259\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286647, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5259, \n    \"effectName\": \"reconShipCloakCpuBonus1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 962, \n        \"operation\": 6, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5260\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286648, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5260, \n    \"effectName\": \"covertOpsCloakCpuPercentBonus1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 569, \n        \"operation\": 6, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5261\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286649, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5261, \n    \"effectName\": \"CovertCloakCPUAddition\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 1870, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5262\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286650, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5262, \n    \"effectName\": \"covertOpsCloakCpuPenalty\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1870, \n        \"modifyingAttributeID\": 1871, \n        \"operation\": 2, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5263\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286651, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5263, \n    \"effectName\": \"covertCynoCpuPenalty\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1870, \n        \"modifyingAttributeID\": 1871, \n        \"operation\": 2, \n        \"skillTypeID\": 21603\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5264\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286695, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5264, \n    \"effectName\": \"warfareLinkCPUAddition\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 1882, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5265\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286696, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5265, \n    \"effectName\": \"warfareLinkCpuPenalty\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1882, \n        \"modifyingAttributeID\": 1883, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5266\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286699, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5266, \n    \"effectName\": \"blockadeRunnerCloakCpuPercentBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 1361, \n        \"operation\": 6, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5267\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286730, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5267, \n    \"effectName\": \"drawbackRepairSystemsPGNeed\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5268\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286731, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5268, \n    \"effectName\": \"drawbackCapRepPGNeed\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5275\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 5275, \n    \"effectName\": \"fueledArmorRepair\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ArmorRepair\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"5276\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286777, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5276, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusAD1Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1887, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5277\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286778, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5277, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusAD2Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1888, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5278\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286779, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5278, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusCD1Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 734, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5279\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286780, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5279, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusCD2Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 735, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5280\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286781, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5280, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusGD1Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 738, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5281\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286782, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5281, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusGD2Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 739, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5282\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286783, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5282, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusMD1Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 729, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5283\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286784, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5283, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusMD2Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 740, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5284\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286785, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5284, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusABC1Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 795, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5285\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286786, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5285, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusABC2Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1889, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5286\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286787, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5286, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusCBC1Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 743, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5287\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286788, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5287, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusCBC2Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 745, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5288\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286789, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5288, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusGBC1Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 747, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5289\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286790, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5289, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusGBC2Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 746, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5290\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286791, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5290, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusMBC1Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 748, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5291\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286792, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5291, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusMBC2Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 749, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5293\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286797, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5293, \n    \"effectName\": \"shipLaserCapNeed2AD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1887, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5294\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286798, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5294, \n    \"effectName\": \"shipLaserTracking2AD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1888, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5295\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286799, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5295, \n    \"effectName\": \"shipBonusDroneDamageMultiplierAD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1887, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5300\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5300, \n    \"effectName\": \"shipBonusDroneHitpointsAD1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1887, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 1887, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1887, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5303\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286810, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5303, \n    \"effectName\": \"shipHybridRange1CD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 734, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5304\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286811, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5304, \n    \"effectName\": \"shipHybridTrackingCD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5305\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286812, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5305, \n    \"effectName\": \"shipBonusFrigateSizedMissileKineticDamageCD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 734, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5306\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286813, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5306, \n    \"effectName\": \"shipRocketKineticDmgCD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 734, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5307\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286814, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5307, \n    \"effectName\": \"shipBonusAoeVelocityRocketsCD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5308\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286815, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5308, \n    \"effectName\": \"shipBonusAoeVelocityStandardMissilesCD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5309\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286816, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5309, \n    \"effectName\": \"shipHybridFallOff1GD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 738, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5310\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286817, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5310, \n    \"effectName\": \"shipHybridTracking1GD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 739, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5311\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286833, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5311, \n    \"effectName\": \"shipBonusDroneDamageMultiplierGD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 738, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5316\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5316, \n    \"effectName\": \"shipBonusDroneHitpointsGD1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 738, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 738, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 738, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5317\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286849, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5317, \n    \"effectName\": \"shipProjectileDamageMD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 729, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5318\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286850, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5318, \n    \"effectName\": \"shipProjectileTracking1MD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 740, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5319\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286851, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5319, \n    \"effectName\": \"shipBonusFrigateSizedLightMissileExplosiveDamageMD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 729, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5320\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286852, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5320, \n    \"effectName\": \"shipRocketExplosiveDmgMD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 729, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5321\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286853, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5321, \n    \"effectName\": \"shipBonusMWDSignatureRadiusMD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 740, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5322\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286854, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5322, \n    \"effectName\": \"shipArmorEMResistance1ABC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5323\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286855, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5323, \n    \"effectName\": \"shipArmorExplosiveResistance1ABC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5324\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286856, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5324, \n    \"effectName\": \"shipArmorKineticResistance1ABC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5325\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286857, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5325, \n    \"effectName\": \"shipArmorThermResistance1ABC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5326\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286858, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5326, \n    \"effectName\": \"shipBonusDroneDamageMultiplierABC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1889, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5331\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5331, \n    \"effectName\": \"shipBonusDroneHitpointsABC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 1889, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1889, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1889, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5332\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286862, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5332, \n    \"effectName\": \"shipLaserCapABC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5333\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286863, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5333, \n    \"effectName\": \"shipLaserDamageBonusABC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1889, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5334\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286864, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5334, \n    \"effectName\": \"shipHybridOptimal1CBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5335\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286865, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5335, \n    \"effectName\": \"shipShieldEmResistance1CBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5336\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286866, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5336, \n    \"effectName\": \"shipShieldExplosiveResistance1CBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5337\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286867, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5337, \n    \"effectName\": \"shipShieldKineticResistance1CBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5338\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286868, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5338, \n    \"effectName\": \"shipShieldThermalResistance1CBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5339\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286869, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5339, \n    \"effectName\": \"shipBonusHeavyAssaultMissileKineticDamageCBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5340\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286870, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5340, \n    \"effectName\": \"shipBonusHeavyMissileKineticDamageCBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5341\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286871, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5341, \n    \"effectName\": \"shipHybridDmg1GBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5342\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286872, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5342, \n    \"effectName\": \"shipArmorRepairing1GBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 746, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5343\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286873, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5343, \n    \"effectName\": \"shipBonusDroneDamageMultiplierGBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5348\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5348, \n    \"effectName\": \"shipBonusDroneHitpointsGBC1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5349\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286877, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5349, \n    \"effectName\": \"shipBonusHeavyMissileLauncherRofMBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 749, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5350\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286878, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5350, \n    \"effectName\": \"shipBonusHeavyAssaultMissileLauncherRofMBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 749, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5351\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286879, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5351, \n    \"effectName\": \"shipShieldBoost1MBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 748, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5352\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286880, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5352, \n    \"effectName\": \"shipBonusProjectileDamageMBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 748, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5353\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286881, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5353, \n    \"effectName\": \"shipProjectileRof1MBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 749, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5354\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286882, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5354, \n    \"effectName\": \"shipLargeLaserCapABC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5355\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286883, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5355, \n    \"effectName\": \"shipLargeLaserDamageBonusABC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1889, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5356\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286884, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5356, \n    \"effectName\": \"shipHybridRangeBonusCBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5357\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286885, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5357, \n    \"effectName\": \"shipHybridDamageBonusCBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5358\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286886, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5358, \n    \"effectName\": \"shipLargeHybridTrackingBonusGBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5359\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286887, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5359, \n    \"effectName\": \"shipHybridDamageBonusGBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 746, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5360\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286888, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5360, \n    \"effectName\": \"shipProjectileRofBonusMBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 748, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5361\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286889, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5361, \n    \"effectName\": \"shipProjectileFalloffBonusMBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 749, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5364\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5364, \n    \"effectName\": \"armorAllRepairSystemsAmountBonusPassive\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 895, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 895, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5365\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286951, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5365, \n    \"effectName\": \"eliteBonusViolatorsRepairSystemsArmorDamageAmount2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1266, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5366\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286952, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5366, \n    \"effectName\": \"shipBonusRepairSystemsBonusATC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1575, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5367\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 286953, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5367, \n    \"effectName\": \"shipBonusRepairSystemsArmorRepairAmountGB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 561, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5370\": {\n    \"description_de\": \"Reparatureffekt für die Panzerung von NPC-Einheiten\", \n    \"description_en-us\": \"Entity armor repair effect for tanking NPCs\", \n    \"description_es\": \"Efecto de reparación del blindaje de la entidad para PNJ tanquerizadores.\", \n    \"description_fr\": \"Effet de réparation de blindage d'entité pour la protection des PNJ\", \n    \"description_it\": \"Entity armor repair effect for tanking NPCs\", \n    \"description_ja\": \"エンティティのアーマーリペア効果（タンキングNPC用)\", \n    \"description_ko\": \"NPC를 탱킹하여 얻는 개체 장갑 수리 효과입니다.\", \n    \"description_ru\": \"Модификатор темпов ремонта брони объекта (для танкующих NPC)\", \n    \"description_zh\": \"防御型NPC的装甲维修效果\", \n    \"descriptionID\": 287044, \n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 630, \n    \"effectCategory\": 1, \n    \"effectID\": 5370, \n    \"effectName\": \"entityArmorRepairing\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5371\": {\n    \"description_de\": \"Schildverstärkungseffekt für die Panzerung von NPC-Einheiten\", \n    \"description_en-us\": \"Entity shield boosting effect for tanking NPCs\", \n    \"description_es\": \"Efecto de potenciación del escudo de la entidad para PNJ tanquerizadores.\", \n    \"description_fr\": \"Effet de boost de bouclier d'entité pour la protection des PNJ\", \n    \"description_it\": \"Entity shield boosting effect for tanking NPCs\", \n    \"description_ja\": \"エンティティのシールドブースト効果（タンキングNPC用)\", \n    \"description_ko\": \"NPC를 탱킹하여 얻는 개체 실드 부스트 효과입니다.\", \n    \"description_ru\": \"Модификатор темпов накачки силового щита объекта (для танкующих NPC)\", \n    \"description_zh\": \"防御型NPC的护盾回充增量效果\", \n    \"descriptionID\": 287045, \n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 636, \n    \"effectCategory\": 1, \n    \"effectID\": 5371, \n    \"effectName\": \"entityShieldBoosting\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5372\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 287336, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5372, \n    \"effectName\": \"damageCloudChanceReductionFixed\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 522, \n        \"modifyingAttributeID\": 543, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5373\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 287337, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5373, \n    \"effectName\": \"deepCoreMiningSkillBoostDamageCloudChanceReductionMul\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 543, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5378\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 287980, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5378, \n    \"effectName\": \"shipHeavyMissileAOECloudSizeCBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5379\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 287981, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5379, \n    \"effectName\": \"shipHeavyAssaultMissileAOECloudSizeCBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5380\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 287982, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5380, \n    \"effectName\": \"shipHybridTrackingGBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 746, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5381\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288000, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5381, \n    \"effectName\": \"shipEnergyTrackingABC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5382\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288066, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5382, \n    \"effectName\": \"shipBonusMETOptimalAC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5383\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288067, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5383, \n    \"effectName\": \"shipMissileEMDamageCC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5384\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288068, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5384, \n    \"effectName\": \"shipMissileThermDamageCC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5385\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288069, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5385, \n    \"effectName\": \"shipMissileExpDamageCC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5386\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288070, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5386, \n    \"effectName\": \"shipMissileKinDamageCC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5387\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288071, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5387, \n    \"effectName\": \"shipHeavyAssaultMissileAOECloudSizeCC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5388\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288072, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5388, \n    \"effectName\": \"shipHeavyMissileAOECloudSizeCC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5389\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288073, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5389, \n    \"effectName\": \"shipBonusDroneTrackingGC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5397\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288162, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 5397, \n    \"effectName\": \"baseMaxScanDeviationModifierModuleOnline2None\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1372, \n        \"modifyingAttributeID\": 1905, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5398\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288164, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 5398, \n    \"effectName\": \"systemScanDurationModuleModifier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 1906, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5399\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 5399, \n    \"effectName\": \"baseSensorStrengthModifierModule\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 1907, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5402\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288186, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5402, \n    \"effectName\": \"shipMissileHeavyAssaultVelocityABC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1889, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5403\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288187, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5403, \n    \"effectName\": \"shipMissileHeavyVelocityABC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1889, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5410\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5410, \n    \"effectName\": \"shipLaserCap1ABC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1889, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5411\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288200, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5411, \n    \"effectName\": \"shipMissileVelocityCD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 734, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5417\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288240, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5417, \n    \"effectName\": \"shipBonusDroneDamageMultiplierAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5418\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288241, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5418, \n    \"effectName\": \"shipBonusDroneArmorHitPointsAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5419\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288242, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5419, \n    \"effectName\": \"shipBonusDroneShieldHitPointsAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5420\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288243, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5420, \n    \"effectName\": \"shipBonusDroneStructureHitPointsAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5421\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288244, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5421, \n    \"effectName\": \"shipBonusEnergyNeutRangeAB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 98, \n        \"modifyingAttributeID\": 585, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5422\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288245, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5422, \n    \"effectName\": \"shipBonusEnergyVampireRangeAB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 91, \n        \"modifyingAttributeID\": 585, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5424\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288247, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5424, \n    \"effectName\": \"shipLargeHybridTurretRofGB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 500, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5427\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288250, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5427, \n    \"effectName\": \"shipBonusDroneTrackingGB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 500, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5428\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288251, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5428, \n    \"effectName\": \"shipBonusDroneOptimalRangeGB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 500, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5429\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288252, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5429, \n    \"effectName\": \"shipBonusMissileAoeVelocityMB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 518, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5430\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288253, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5430, \n    \"effectName\": \"shipBonusAoeVelocityCruiseMissilesMB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 518, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5431\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288259, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5431, \n    \"effectName\": \"shipBonusLargeEnergyTurretTrackingAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5433\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5433, \n    \"effectName\": \"hackingSkillVirusBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1909, \n        \"modifyingAttributeID\": 1915, \n        \"operation\": 2, \n        \"skillTypeID\": 21718\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5435\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5435, \n    \"effectName\": \"dataMiningSkillLevelVirusCoherenceBonusModifier2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1915, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5437\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288851, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5437, \n    \"effectName\": \"archaeologySkillVirusBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1909, \n        \"modifyingAttributeID\": 1915, \n        \"operation\": 2, \n        \"skillTypeID\": 13278\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5440\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 288868, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5440, \n    \"effectName\": \"systemStandardMissileKineticDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5444\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289030, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5444, \n    \"effectName\": \"shipTorpedoAOECloudSize1CB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5445\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289031, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5445, \n    \"effectName\": \"shipCruiseMissileAOECloudSize1CB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5456\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289088, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5456, \n    \"effectName\": \"shipCruiseMissileROFCB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 506, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5457\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289089, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5457, \n    \"effectName\": \"shipTorpedoROFCB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 508, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5459\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289118, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5459, \n    \"effectName\": \"hackingVirusStrengthBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1910, \n        \"modifyingAttributeID\": 1918, \n        \"operation\": 2, \n        \"skillTypeID\": 21718\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5460\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5460, \n    \"effectName\": \"minigameVirusStrengthBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1910, \n        \"modifyingAttributeID\": 1918, \n        \"operation\": 2, \n        \"skillTypeID\": 13278\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1910, \n        \"modifyingAttributeID\": 1918, \n        \"operation\": 2, \n        \"skillTypeID\": 21718\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5461\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 5461, \n    \"effectName\": \"shieldOperationRechargeratebonusPostPercentOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 479, \n        \"modifyingAttributeID\": 338, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5468\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5468, \n    \"effectName\": \"shipBonusAgilityCI2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 811, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5469\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5469, \n    \"effectName\": \"shipBonusAgilityMI2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 814, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5470\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289295, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5470, \n    \"effectName\": \"shipBonusAgilityGI2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 813, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5471\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289296, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5471, \n    \"effectName\": \"shipBonusAgilityAI2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 809, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5476\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289366, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5476, \n    \"effectName\": \"shipBonusOreCapacityGI2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1556, \n        \"modifyingAttributeID\": 813, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5477\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289367, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5477, \n    \"effectName\": \"shipBonusAmmoBayMI2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1573, \n        \"modifyingAttributeID\": 814, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5478\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289368, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5478, \n    \"effectName\": \"shipBonusPICommoditiesHoldGI2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1653, \n        \"modifyingAttributeID\": 813, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5479\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289369, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5479, \n    \"effectName\": \"shipBonusMineralBayGI2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1558, \n        \"modifyingAttributeID\": 813, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5480\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289400, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5480, \n    \"effectName\": \"setBonusChristmasBonusVelocity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1730, \n        \"modifiedAttributeID\": 1076, \n        \"modifyingAttributeID\": 1799, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5482\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289402, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5482, \n    \"effectName\": \"setBonusChristmasAgilityBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1730, \n        \"modifiedAttributeID\": 151, \n        \"modifyingAttributeID\": 1799, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5483\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289403, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5483, \n    \"effectName\": \"setBonusChristmasShieldCapacityBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1730, \n        \"modifiedAttributeID\": 337, \n        \"modifyingAttributeID\": 1799, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5484\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289404, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5484, \n    \"effectName\": \"setBonusChristmasArmorHPBonus2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1730, \n        \"modifiedAttributeID\": 1083, \n        \"modifyingAttributeID\": 1799, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5485\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289411, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5485, \n    \"effectName\": \"shipSPTOptimalBonusMF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5486\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5486, \n    \"effectName\": \"shipBonusProjectileDamageMBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 749, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5496\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289694, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5496, \n    \"effectName\": \"eliteBonusCommandShipHAMRoFCS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1000, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5497\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289695, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5497, \n    \"effectName\": \"eliteBonusCommandShipHMRoFCS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1000, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5498\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289696, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5498, \n    \"effectName\": \"eliteBonusCommandShipsHeavyAssaultMissileExplosionVelocityCS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5499\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289697, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5499, \n    \"effectName\": \"eliteBonusCommandShipsHeavyAssaultMissileExplosionRadiusCS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5500\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289698, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5500, \n    \"effectName\": \"eliteBonusCommandShipsHeavyMissileExplosionRadiusCS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5501\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289699, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5501, \n    \"effectName\": \"eliteBonusCommandShipMediumHybridDamageCS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5502\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289700, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5502, \n    \"effectName\": \"eliteBonusCommandShipMediumHybridTrackingCS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1000, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5503\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289701, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5503, \n    \"effectName\": \"eliteBonusCommandShipDroneTrackingCS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5504\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289702, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5504, \n    \"effectName\": \"eliteBonusCommandShipHeavyDroneVelocityCS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5505\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289703, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5505, \n    \"effectName\": \"eliteBonusCommandShipMediumHybridRoFCS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1000, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5514\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5514, \n    \"effectName\": \"eliteBonusCommandShipHeavyAssaultMissileDamageCS2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5521\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5521, \n    \"effectName\": \"eliteBonusCommandShipHeavyMissileDamageCS2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5527\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 289980, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5527, \n    \"effectName\": \"skillJumpCloneCooldownReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1921, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 3\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5539\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290016, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5539, \n    \"effectName\": \"shipBonusHMLKineticDamageAC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5540\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290017, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5540, \n    \"effectName\": \"shipBonusHMLEMDamageAC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5541\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290018, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5541, \n    \"effectName\": \"shipBonusHMLThermDamageAC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5542\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290019, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5542, \n    \"effectName\": \"shipBonusHMLExploDamageAC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5552\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290047, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5552, \n    \"effectName\": \"shipBonusHMLVelocityEliteBonusHeavyGunship1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5553\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290048, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5553, \n    \"effectName\": \"shipBonusHAMVelocityEliteBonusHeavyGunship1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5554\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290049, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5554, \n    \"effectName\": \"shipBonusArmorRepAmountGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5555\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290050, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5555, \n    \"effectName\": \"shipBonusHeavyDroneSpeedGC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5556\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290051, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5556, \n    \"effectName\": \"shipBonusHeavyDRoneTrackingGC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5557\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290052, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5557, \n    \"effectName\": \"shipBonusSentryDroneOptimalRangeEliteBonusHeavyGunship2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5558\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290053, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5558, \n    \"effectName\": \"shipBonusSentryDroneTrackingEliteBonusHeavyGunship2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5559\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290054, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5559, \n    \"effectName\": \"shipBonusShieldBoostAmountMC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5560\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290058, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5560, \n    \"effectName\": \"roleBonusMarauderMJDRReactivationDelayBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1189, \n        \"modifiedAttributeID\": 669, \n        \"modifyingAttributeID\": 1923, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5561\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290059, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5561, \n    \"effectName\": \"subSystemBonusAmarrDefensiveInformationWarfare\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5563\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290061, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5563, \n    \"effectName\": \"subSystemBonusAmarrDefensiveSkirmishWarfare\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1433, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5564\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290062, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5564, \n    \"effectName\": \"subSystemBonusCaldariOffensiveCommandBursts\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1444, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5566\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290064, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5566, \n    \"effectName\": \"subSystemBonusCaldariDefensiveSkirmishWarfare\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1443, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5567\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290065, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5567, \n    \"effectName\": \"subSystemBonusGallenteDefensiveSkirmishWarfare\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1438, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5568\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290066, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5568, \n    \"effectName\": \"subSystemBonusGallenteOffensiveCommandBursts\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1439, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5569\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290067, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5569, \n    \"effectName\": \"subSystemBonusMinmatarDefensiveSiegeWarfare\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1448, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5570\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290068, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5570, \n    \"effectName\": \"subSystemBonusMinmatarOffensiveCommandBursts\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5571\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290069, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5571, \n    \"effectName\": \"commandShipSkillMultiplier3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1924, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5572\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290070, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5572, \n    \"effectName\": \"eliteBonusCommandShipArmoredCS3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5573\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290071, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5573, \n    \"effectName\": \"eliteBonusCommandShipSiegeCS3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5574\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290072, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5574, \n    \"effectName\": \"eliteBonusCommandShipSkirmishCS3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5575\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290073, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5575, \n    \"effectName\": \"eliteBonusCommandShipInformationCS3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1924, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5607\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290195, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5607, \n    \"effectName\": \"capacitorEmissionSystemskill\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6, \n        \"skillTypeID\": 3423\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5610\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5610, \n    \"effectName\": \"shipBonusLargeEnergyTurretMaxRangeAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5611\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5611, \n    \"effectName\": \"shipBonusHTFalloffGB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 561, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5614\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290373, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5614, \n    \"effectName\": \"piCustomsOfficeTaxReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1926, \n        \"modifyingAttributeID\": 1925, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5615\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290374, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5615, \n    \"effectName\": \"piTaxReductionModifierSkillModifier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1925, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5618\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290378, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5618, \n    \"effectName\": \"shipBonusRHMLROF2CB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1245, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5619\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290379, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5619, \n    \"effectName\": \"shipBonusRHMLROFCB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1245, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5620\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290380, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5620, \n    \"effectName\": \"shipBonusRHMLROFMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1245, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5621\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290381, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5621, \n    \"effectName\": \"shipBonusCruiseROFMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 506, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5622\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290382, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5622, \n    \"effectName\": \"shipBonusTorpedoROFMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 508, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5628\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290388, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5628, \n    \"effectName\": \"shipBonusCruiseMissileEMDmgMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5629\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290389, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5629, \n    \"effectName\": \"shipBonusCruiseMissileThermDmgMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5630\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290390, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5630, \n    \"effectName\": \"shipBonusCruiseMissileKineticDmgMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5631\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290391, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5631, \n    \"effectName\": \"shipBonusCruiseMissileExploDmgMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5632\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290392, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5632, \n    \"effectName\": \"shipBonusTorpedoMissileExploDmgMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5633\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290393, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5633, \n    \"effectName\": \"shipBonusTorpedoMissileEMDmgMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5634\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290394, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5634, \n    \"effectName\": \"shipBonusTorpedoMissileThermDmgMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5635\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290395, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5635, \n    \"effectName\": \"shipBonusTorpedoMissileKineticDmgMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5636\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290396, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5636, \n    \"effectName\": \"shipBonusHeavyMissileEMDmgMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5637\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290397, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5637, \n    \"effectName\": \"shipBonusHeavyMissileThermDmgMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5638\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290398, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5638, \n    \"effectName\": \"shipBonusHeavyMissileKineticDmgMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5639\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290399, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5639, \n    \"effectName\": \"shipBonusHeavyMissileExploDmgMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5644\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 290548, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5644, \n    \"effectName\": \"shipBonusMissileVelocityCC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5647\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 292040, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5647, \n    \"effectName\": \"covertOpsCloakCPUPercentRoleBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5650\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5650, \n    \"effectName\": \"shipArmorResistanceAF1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5657\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5657, \n    \"effectName\": \"Interceptor2ShieldResist\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 804, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 804, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 804, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 804, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5673\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 292181, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5673, \n    \"effectName\": \"interceptor2ProjectileDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 804, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5676\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5676, \n    \"effectName\": \"shipBonusSmallMissileExplosionRadiusCD2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5688\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 292303, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5688, \n    \"effectName\": \"shipBonusMissileVelocityAD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1888, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5695\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5695, \n    \"effectName\": \"eliteBonusInterdictorsArmorResist1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 1012, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 1012, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 1012, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 1012, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5715\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 292349, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5715, \n    \"effectName\": \"setWarpSpeedMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 601, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5717\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 292382, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5717, \n    \"effectName\": \"implantSetWarpSpeed\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 300, \n        \"modifiedAttributeID\": 624, \n        \"modifyingAttributeID\": 1932, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5721\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 292652, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5721, \n    \"effectName\": \"shipBonusMETOptimalRangePirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5722\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 292712, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5722, \n    \"effectName\": \"shipHybridOptimalGD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 738, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5723\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5723, \n    \"effectName\": \"eliteBonusInterdictorsMWDSigRadius2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 1013, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5724\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5724, \n    \"effectName\": \"shipSHTOptimalBonusGF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5725\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 292751, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5725, \n    \"effectName\": \"shipBonusRemoteRepairAmountPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5726\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 292752, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5726, \n    \"effectName\": \"shipBonusLETOptimalRangePirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5733\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 293410, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5733, \n    \"effectName\": \"eliteBonusMaraudersHeavyMissileDamageExpRole1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5734\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 293411, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5734, \n    \"effectName\": \"eliteBonusMaraudersHeavyMissileDamageKinRole1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5735\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 293412, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5735, \n    \"effectName\": \"eliteBonusMaraudersHeavyMissileDamageEMRole1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5736\": {\n    \"description_de\": \"Automatisch generierter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматический эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 293413, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5736, \n    \"effectName\": \"eliteBonusMaraudersHeavyMissileDamageThermRole1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1268, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5737\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 294015, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5737, \n    \"effectName\": \"shipScanProbeStrengthBonusPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5738\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 294016, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5738, \n    \"effectName\": \"shipBonusRemoteRepairRangePirateFaction2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1688, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 1688, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5754\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 5754, \n    \"effectName\": \"overloadSelfTrackingModuleBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 351, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 349, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 767, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5757\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 5757, \n    \"effectName\": \"overloadSelfSensorModuleBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 309, \n        \"modifyingAttributeID\": 1936, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 566, \n        \"modifyingAttributeID\": 1936, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1027, \n        \"modifyingAttributeID\": 1936, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1028, \n        \"modifyingAttributeID\": 1936, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1029, \n        \"modifyingAttributeID\": 1936, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1030, \n        \"modifyingAttributeID\": 1936, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5758\": {\n    \"description_de\": \"Bonus auf die Effektivität der Überlastung\", \n    \"description_en-us\": \"Overload Effectiveness Bonus\", \n    \"description_es\": \"Bonificación de efectividad de sobrecarga.\", \n    \"description_fr\": \"Bonus d'efficacité de surcharge\", \n    \"description_it\": \"Overload Effectiveness Bonus\", \n    \"description_ja\": \"オーバーロード効果ボーナス\", \n    \"description_ko\": \"과부하 효율 보너스\", \n    \"description_ru\": \"Влияние предельного режима на эффективность действия\", \n    \"description_zh\": \"过载效果加成\", \n    \"descriptionID\": 294333, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 5758, \n    \"effectName\": \"overloadSelfPainterBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 1937, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5768\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 1, \n    \"effectCategory\": 2, \n    \"effectID\": 5768, \n    \"effectName\": \"EssWarpScramble\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.BeamCollecting\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5769\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 294466, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5769, \n    \"effectName\": \"repairDroneHullBonusBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 83, \n        \"modifyingAttributeID\": 39, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5778\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 294515, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5778, \n    \"effectName\": \"shipMissileRoFMF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5779\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 294516, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5779, \n    \"effectName\": \"shipBonusSPTFalloffMF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5789\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 294778, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 5789, \n    \"effectName\": \"miningAmountBonusBonusActivation\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 434, \n        \"modifyingAttributeID\": 1938, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5793\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5793, \n    \"effectName\": \"ewSkillTrackingDisruptionRangeDisruptionBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 351, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 349, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5795\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5795, \n    \"effectName\": \"shipBonusEwWeaponDisruptionStrengthRookie\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 767, \n        \"modifyingAttributeID\": 1824, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 349, \n        \"modifyingAttributeID\": 1824, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 351, \n        \"modifyingAttributeID\": 1824, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 848, \n        \"modifyingAttributeID\": 1824, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 847, \n        \"modifyingAttributeID\": 1824, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 596, \n        \"modifyingAttributeID\": 1824, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 547, \n        \"modifyingAttributeID\": 1824, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5802\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295041, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5802, \n    \"effectName\": \"shipBonusAfterburnerSpeedFactor2CB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5803\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295042, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5803, \n    \"effectName\": \"shipBonusSentryDroneDamageMultiplierPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5804\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295043, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5804, \n    \"effectName\": \"shipBonusHeavyDroneDamageMultiplierPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5805\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295044, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5805, \n    \"effectName\": \"shipBonusSentryDroneHPPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5806\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295045, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5806, \n    \"effectName\": \"shipBonusSentryDroneArmorHpPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5807\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295046, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5807, \n    \"effectName\": \"shipBonusSentryDroneShieldHpPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5808\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295047, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5808, \n    \"effectName\": \"shipBonusHeavyDroneShieldHpPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5809\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295048, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5809, \n    \"effectName\": \"shipBonusHeavyDroneArmorHpPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5810\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295049, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5810, \n    \"effectName\": \"shipBonusHeavyDroneHPPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5811\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295050, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5811, \n    \"effectName\": \"shipBonusKineticMissileDamageGB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 561, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5812\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295051, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5812, \n    \"effectName\": \"shipBonusThermalMissileDamageGB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 561, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5813\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295052, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5813, \n    \"effectName\": \"shipBonusAfterburnerSpeedFactorCF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5814\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295053, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5814, \n    \"effectName\": \"shipBonusKineticMissileDamageGF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5815\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295054, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5815, \n    \"effectName\": \"shipBonusThermalMissileDamageGF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5816\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295055, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5816, \n    \"effectName\": \"shipBonusLightDroneDamageMultiplierPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5817\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295056, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5817, \n    \"effectName\": \"shipBonusLightDroneHPPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5818\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295057, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5818, \n    \"effectName\": \"shipBonusLightDroneArmorHPPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5819\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295058, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5819, \n    \"effectName\": \"shipBonusLightDroneShieldHPPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5820\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295060, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5820, \n    \"effectName\": \"shipBonusAfterburnerSpeedFactorCC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5821\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295061, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5821, \n    \"effectName\": \"shipBonusMediumDroneDamageMultiplierPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5822\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295062, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5822, \n    \"effectName\": \"shipBonusMediumDroneHPPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5823\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295063, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5823, \n    \"effectName\": \"shipBonusMediumDroneArmorHPPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5824\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295064, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5824, \n    \"effectName\": \"shipBonusMediumDroneShieldHPPirateFaction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5825\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295065, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5825, \n    \"effectName\": \"shipBonusKineticMissileDamageGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5826\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295066, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5826, \n    \"effectName\": \"shipBonusThermalMissileDamageGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5827\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295067, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5827, \n    \"effectName\": \"shipBonusTDOptimalBonusAF1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5829\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295077, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5829, \n    \"effectName\": \"shipBonusMiningDurationORE3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 926, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5832\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5832, \n    \"effectName\": \"shipBonusMiningIceHarvestingRangeORE2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 774, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 774, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5839\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5839, \n    \"effectName\": \"eliteBargeShieldResistance1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 924, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 924, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 924, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 924, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5840\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295084, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5840, \n    \"effectName\": \"eliteBargeBonusMiningDurationBarge2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 925, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5850\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295177, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5850, \n    \"effectName\": \"expeditionFrigateSkillLevelPostMulEliteBonusExpedition1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1942, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5851\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295178, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5851, \n    \"effectName\": \"expeditionFrigateSkillLevelSignatureRadius\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3190, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5852\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295179, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5852, \n    \"effectName\": \"expeditionFrigateBonusOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 3191, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5853\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295180, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5853, \n    \"effectName\": \"expeditionFrigateBonusSignatureRadius\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 3190, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5854\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5854, \n    \"effectName\": \"shipBonusNosferatuOverride\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 1945, \n        \"modifyingAttributeID\": 1945, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5862\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295401, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5862, \n    \"effectName\": \"shipMissileEMDamageCB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5863\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295402, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5863, \n    \"effectName\": \"shipMissileKinDamageCB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5864\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295403, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5864, \n    \"effectName\": \"shipMissileThermDamageCB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5865\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295404, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5865, \n    \"effectName\": \"shipMissileExploDamageCB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5866\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295405, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5866, \n    \"effectName\": \"shipBonusWarpScrambleMaxRangeGB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 500, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5867\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295406, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5867, \n    \"effectName\": \"shipBonusMissileExplosionDelayPirateFaction2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 1688, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5868\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295482, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5868, \n    \"effectName\": \"drawbackCargoCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5869\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295517, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5869, \n    \"effectName\": \"eliteIndustrialWarpSpeedBonus1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 807, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5870\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295518, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5870, \n    \"effectName\": \"shipBonusShieldBoostCI2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 811, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5871\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295519, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5871, \n    \"effectName\": \"shipBonusShieldBoostMI2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 814, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5872\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295520, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5872, \n    \"effectName\": \"shipBonusArmorRepairAI2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 809, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5873\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295521, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5873, \n    \"effectName\": \"shipBonusArmorRepairGI2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 813, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5874\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295530, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5874, \n    \"effectName\": \"eliteIndustrialFleetCapacity1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 912, \n        \"modifyingAttributeID\": 807, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5881\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5881, \n    \"effectName\": \"eliteIndustrialShieldResists2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 808, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 808, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 808, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 808, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5888\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5888, \n    \"effectName\": \"eliteIndustrialArmorResists2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 808, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 808, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 808, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 808, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5889\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295541, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5889, \n    \"effectName\": \"eliteIndustrialABHeatBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1223, \n        \"modifyingAttributeID\": 1949, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5890\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295542, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5890, \n    \"effectName\": \"eliteIndustrialMWDHeatBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1223, \n        \"modifyingAttributeID\": 1949, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5891\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295543, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5891, \n    \"effectName\": \"eliteIndustrialArmorHardenerHeatBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1208, \n        \"modifyingAttributeID\": 1949, \n        \"operation\": 6, \n        \"skillTypeID\": 3394\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5892\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295544, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5892, \n    \"effectName\": \"eliteIndustrialReactiveArmorHardenerHeatBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1949, \n        \"operation\": 6, \n        \"skillTypeID\": 3394\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5893\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295545, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5893, \n    \"effectName\": \"eliteIndustrialShieldHardenerHeatBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1208, \n        \"modifyingAttributeID\": 1949, \n        \"operation\": 6, \n        \"skillTypeID\": 3420\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5896\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5896, \n    \"effectName\": \"eliteIndustrialShieldBoosterHeatBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1231, \n        \"modifyingAttributeID\": 1949, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1949, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5899\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5899, \n    \"effectName\": \"eliteIndustrialArmorRepairHeatBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1230, \n        \"modifyingAttributeID\": 1949, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1949, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5900\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 295689, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 5900, \n    \"effectName\": \"warpSpeedAddition\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 1950, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5901\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5901, \n    \"effectName\": \"roleBonusBulkheadCPU\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 78, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 310, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5903\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296258, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5903, \n    \"effectName\": \"advancedIndustryManufacturingTimeBonusPostPercent\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 219, \n        \"modifyingAttributeID\": 1961, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5906\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296261, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5906, \n    \"effectName\": \"advancedIndustryCopyTimeBonusPostPercent\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 387, \n        \"modifyingAttributeID\": 1961, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5907\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296262, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5907, \n    \"effectName\": \"advancedIndustryInventionTimeBonusPostPercent\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1959, \n        \"modifyingAttributeID\": 1961, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5908\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296263, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5908, \n    \"effectName\": \"advancedIndustrySkillBoostAdvancedIndustrySkillIndustryJobTimeBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1961, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5909\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5909, \n    \"effectName\": \"advancedIndustryManufactureTimeResearchTimeBonusPostPercent\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 385, \n        \"modifyingAttributeID\": 1961, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5910\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5910, \n    \"effectName\": \"advancedIndustryMaterialResearchTimeBonusPostPercent\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 398, \n        \"modifyingAttributeID\": 1961, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5911\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 5911, \n    \"effectName\": \"onlineJumpDriveConsumptionAmountBonusPercentage\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 868, \n        \"modifyingAttributeID\": 1296, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5912\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296289, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5912, \n    \"effectName\": \"systemRemoteCapTransmitterAmount\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 67, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 1840, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5913\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296290, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5913, \n    \"effectName\": \"systemArmorHP\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 148, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5914\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296292, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5914, \n    \"effectName\": \"systemEnergyNeutMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 1966, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5915\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296293, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5915, \n    \"effectName\": \"systemEnergyVampireMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 1966, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5916\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296294, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5916, \n    \"effectName\": \"systemDamageExplosiveBombs\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5917\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296295, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5917, \n    \"effectName\": \"systemDamageKineticBombs\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5918\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296296, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5918, \n    \"effectName\": \"systemDamageThermalBombs\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5919\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296297, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5919, \n    \"effectName\": \"systemDamageEMBombs\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5920\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296299, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5920, \n    \"effectName\": \"systemAoeCloudSize\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 1967, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5921\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296301, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5921, \n    \"effectName\": \"systemTargetPainterMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 1968, \n        \"operation\": 4, \n        \"skillTypeID\": 19921\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5922\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296303, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5922, \n    \"effectName\": \"systemWebifierStrengthMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 1969, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5923\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296308, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5923, \n    \"effectName\": \"systemNeutBombs\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5924\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296309, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5924, \n    \"effectName\": \"systemGravimetricECMBomb\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5925\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296310, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5925, \n    \"effectName\": \"systemLadarECMBomb\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5926\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296311, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5926, \n    \"effectName\": \"systemMagnetrometricECMBomb\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5927\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296312, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5927, \n    \"effectName\": \"systemRadarECMBomb\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 1488, \n        \"operation\": 4, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5928\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"displayName_de\": \"Warpunterbrechung\", \n    \"displayName_en-us\": \"Warp Scramble\", \n    \"displayName_es\": \"Distorsión de warp\", \n    \"displayName_fr\": \"Inhibition de warp\", \n    \"displayName_it\": \"Warp Scramble\", \n    \"displayName_ja\": \"ワープスクランブル\", \n    \"displayName_ko\": \"워프 스크램블\", \n    \"displayName_ru\": \"Глушение варп-двигателя\", \n    \"displayName_zh\": \"跃迁干扰\", \n    \"displayNameID\": 296315, \n    \"distribution\": 1, \n    \"durationAttributeID\": 505, \n    \"effectCategory\": 2, \n    \"effectID\": 5928, \n    \"effectName\": \"warpScrambleTargetMWDBlockActivationForEntity\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpScramble\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1349, \n        \"modifyingAttributeID\": 1350, \n        \"operation\": 2, \n        \"skillTypeID\": 3454\n      }, \n      {\n        \"domain\": \"target\", \n        \"effectID\": 6441, \n        \"func\": \"EffectStopper\"\n      }, \n      {\n        \"domain\": \"target\", \n        \"effectID\": 6442, \n        \"func\": \"EffectStopper\"\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1349, \n        \"modifyingAttributeID\": 1350, \n        \"operation\": 2, \n        \"skillTypeID\": 4385\n      }\n    ], \n    \"npcUsageChanceAttributeID\": 504, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 103, \n    \"rangeChance\": 0\n  }, \n  \"5929\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296371, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 5929, \n    \"effectName\": \"systemDroneTracking\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 244, \n        \"operation\": 4, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5931\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5931, \n    \"effectName\": \"entitySelfVelocityMultiply\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1470, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5933\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5933, \n    \"effectName\": \"entitySelfCruiseSpeedMultiply\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 508, \n        \"modifyingAttributeID\": 1470, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5934\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 5934, \n    \"effectName\": \"warpScrambleBlockMWDWithNPCEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpScramble\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1349, \n        \"modifyingAttributeID\": 1350, \n        \"operation\": 2, \n        \"skillTypeID\": 3454\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1470, \n        \"modifyingAttributeID\": 1470, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"target\", \n        \"effectID\": 6441, \n        \"func\": \"EffectStopper\"\n      }, \n      {\n        \"domain\": \"target\", \n        \"effectID\": 6442, \n        \"func\": \"EffectStopper\"\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"5938\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5938, \n    \"effectName\": \"shipBonusSmallMissileExplosionRadiusCF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5939\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296616, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5939, \n    \"effectName\": \"shipRocketRoFBonusAF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 507, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5940\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296617, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5940, \n    \"effectName\": \"eliteBonusInterdictorsSHTRoF1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1012, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5944\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 296803, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5944, \n    \"effectName\": \"shipMissileLauncherRoFAD1Fixed\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 1887, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5945\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"effectCategory\": 1, \n    \"effectID\": 5945, \n    \"effectName\": \"cloakingPrototype\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.CloakingPrototype\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 306, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"5951\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297040, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5951, \n    \"effectName\": \"drawbackWarpSpeed\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5956\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297050, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5956, \n    \"effectName\": \"shipMETDamageBonusAC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5957\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297051, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5957, \n    \"effectName\": \"eliteBonusHeavyInterdictorsMETOptimal\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1246, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5958\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297052, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5958, \n    \"effectName\": \"shipHybridTrackingGC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5959\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297053, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5959, \n    \"effectName\": \"eliteBonusHeavyInterdictorsHybridOptimal1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1246, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5983\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5983, \n    \"effectName\": \"resistanceKillerShieldAll\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5986\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5986, \n    \"effectName\": \"resistanceKillerArmorAll\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5994\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5994, \n    \"effectName\": \"resistanceKillerHullAll\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 1979, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 1979, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 1979, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 1979, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5995\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5995, \n    \"effectName\": \"resistanceKillerShieldArmorAll\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 1978, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5996\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297305, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5996, \n    \"effectName\": \"freighterO1SkillLevel\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1983, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5997\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297306, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5997, \n    \"effectName\": \"freighterO2SkillLevel\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1984, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"5998\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297385, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 5998, \n    \"effectName\": \"freighterSMACapacityBonusO1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 908, \n        \"modifyingAttributeID\": 1983, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6001\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297728, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6001, \n    \"effectName\": \"freighterAgilityBonus2O2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 1984, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6003\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297977, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6003, \n    \"effectName\": \"tacticalDestroyerAmarrSkillLevel1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1986, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6004\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297978, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6004, \n    \"effectName\": \"tacticalDestroyerAmarrSkillLevel2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1987, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6005\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297979, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6005, \n    \"effectName\": \"tacticalDestroyerAmarrSkillLevel3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1988, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6006\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297980, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6006, \n    \"effectName\": \"shipSETDamageAmarrTacticalDestroyer1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1986, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6007\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297981, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6007, \n    \"effectName\": \"shipSETCapNeedAmarrTacticalDestroyer2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1987, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6008\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297982, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6008, \n    \"effectName\": \"shipHeatDamageAmarrTacticalDestroyer3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1988, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6009\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297983, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6009, \n    \"effectName\": \"probeLauncherCPUPercentRoleBonusT3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 1989, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6010\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6010, \n    \"effectName\": \"shipModeMaxTargetRangePostDiv\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 1991, \n        \"operation\": 5\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6011\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 297998, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6011, \n    \"effectName\": \"shipModeSETOptimalRangePostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1990, \n        \"operation\": 5, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6012\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6012, \n    \"effectName\": \"shipModeScanStrengthPostDiv\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ScanStrengthBonusActivate\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1995, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1996, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1992, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1994, \n        \"operation\": 5\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6014\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6014, \n    \"effectName\": \"modeSigRadiusPostDiv\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 2001, \n        \"operation\": 5\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6015\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6015, \n    \"effectName\": \"modeArmorResonancePostDiv\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 1997, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 1998, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 2000, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 1999, \n        \"operation\": 5\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6016\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6016, \n    \"effectName\": \"modeAgilityPostDiv\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 2002, \n        \"operation\": 5\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6017\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6017, \n    \"effectName\": \"modeVelocityPostDiv\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2003, \n        \"operation\": 5\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6020\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 298694, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6020, \n    \"effectName\": \"shipBonusEnergyNeutOptimalRS3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1537, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6021\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 298695, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6021, \n    \"effectName\": \"shipBonusEnergyNosOptimalRS3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1537, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6022\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 298696, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6022, \n    \"effectName\": \"reconShipSkillMultiplier3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1537, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6025\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 298703, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6025, \n    \"effectName\": \"eliteReconBonusMHTOptimalRange1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 962, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6027\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 298705, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6027, \n    \"effectName\": \"eliteReconBonusMPTdamage1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 962, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6032\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 299386, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6032, \n    \"effectName\": \"remoteCapacitorTransmitterPowerNeedBonusEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 67, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 1218, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6033\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305001, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6033, \n    \"effectName\": \"tacticalDestroyerMinmatarSkillLevel1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2004, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6034\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305002, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6034, \n    \"effectName\": \"tacticalDestroyerMinmatarSkillLevel2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2005, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6035\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305003, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6035, \n    \"effectName\": \"tacticalDestroyerMinmatarSkillLevel3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2006, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6036\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305004, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6036, \n    \"effectName\": \"shipHeatDamageMinmatarTacticalDestroyer3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 2006, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6037\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305005, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6037, \n    \"effectName\": \"shipSPTDamageMinmatarTacticalDestroyer1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2004, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6038\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305006, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6038, \n    \"effectName\": \"shipSPTOptimalMinmatarTacticalDestroyer2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2005, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6039\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305019, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6039, \n    \"effectName\": \"shipModeSPTTrackingPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 2008, \n        \"operation\": 5, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6040\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305020, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6040, \n    \"effectName\": \"modeMWDSigRadiusPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 2007, \n        \"operation\": 5, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6041\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6041, \n    \"effectName\": \"modeShieldResonancePostDiv\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 1997, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 1998, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 2000, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 1999, \n        \"operation\": 5\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6042\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2009, \n    \"effectCategory\": 2, \n    \"effectID\": 6042, \n    \"effectName\": \"entitySuperWeapon\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TurboLaser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6043\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305576, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6043, \n    \"effectName\": \"subsystemBonusCaldariDefensiveShieldRechargeRate\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 479, \n        \"modifyingAttributeID\": 1516, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6044\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305725, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6044, \n    \"effectName\": \"gallenteCruiserSkillLevelPreMulShipBonusGC3Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2014, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6045\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305726, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6045, \n    \"effectName\": \"shipBonusSentryDamageMultiplierGC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2014, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6046\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305727, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6046, \n    \"effectName\": \"shipBonusSentryHPGC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 2014, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6047\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305728, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6047, \n    \"effectName\": \"shipBonusSentryArmorHPGC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 2014, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6048\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305729, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6048, \n    \"effectName\": \"shipBonusSentryShieldHPGC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2014, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6051\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305732, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6051, \n    \"effectName\": \"shipBonusLightDroneDamageMultiplierGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6052\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305733, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6052, \n    \"effectName\": \"shipBonusMediumDroneDamageMultiplierGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6053\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305734, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6053, \n    \"effectName\": \"shipBonusHeavyDroneDamageMultiplierGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6054\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305759, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6054, \n    \"effectName\": \"shipBonusHeavyDroneHPGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6055\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305760, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6055, \n    \"effectName\": \"shipBonusHeavyDroneArmorHPGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6056\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305761, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6056, \n    \"effectName\": \"shipBonusHeavyDroneShieldHPGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6057\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305762, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6057, \n    \"effectName\": \"shipBonusMediumDroneShieldHPGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6058\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305763, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6058, \n    \"effectName\": \"shipBonusMediumDroneArmorHPGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6059\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305764, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6059, \n    \"effectName\": \"shipBonusMediumDroneHPGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6060\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305765, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6060, \n    \"effectName\": \"shipBonusLightDroneHPGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6061\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305766, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6061, \n    \"effectName\": \"shipBonusLightDroneArmorHPGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6062\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 305767, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6062, \n    \"effectName\": \"shipBonusLightDroneShieldHPGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6063\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6063, \n    \"effectName\": \"entosisLink\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.EntosisBeam\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6076\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 308771, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6076, \n    \"effectName\": \"shipModeMissileVelocityPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1990, \n        \"operation\": 5, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6077\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 308776, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6077, \n    \"effectName\": \"shipHeatDamageCaldariTacticalDestroyer3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 2017, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6078\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 308777, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6078, \n    \"effectName\": \"tacticalDestroyerCaldariSkillLevel1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2015, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6079\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 308778, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6079, \n    \"effectName\": \"tacticalDestroyerCaldariSkillLevel2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2016, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6080\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 308779, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6080, \n    \"effectName\": \"tacticalDestroyerCaldariSkillLevel3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2017, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6083\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6083, \n    \"effectName\": \"shipSmallMissileDmgPirateFaction\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6085\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 308782, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6085, \n    \"effectName\": \"shipMissileRoFCaldariTacticalDestroyer1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2015, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6088\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 308783, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6088, \n    \"effectName\": \"shipBonusHeavyAssaultMissileAllDamageMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6093\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 308787, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6093, \n    \"effectName\": \"shipBonusHeavyMissileAllDamageMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6096\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6096, \n    \"effectName\": \"shipBonusLightMissileAllDamageMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6098\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309258, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6098, \n    \"effectName\": \"shipMissileReloadTimeCaldariTacticalDestroyer2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1795, \n        \"modifyingAttributeID\": 2016, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6104\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6104, \n    \"effectName\": \"entosisDurationMultiply\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2021, \n        \"operation\": 4, \n        \"skillTypeID\": 24242\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2754, \n        \"modifyingAttributeID\": 2754, \n        \"operation\": 7, \n        \"skillTypeID\": 24242\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6110\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309518, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 6110, \n    \"effectName\": \"missileVelocityBonusOnline\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 547, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6111\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309519, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 6111, \n    \"effectName\": \"missileExplosionDelayBonusOnline\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 596, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6112\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309520, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 6112, \n    \"effectName\": \"missileAOECloudSizeBonusOnline\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6113\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309521, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 6113, \n    \"effectName\": \"missileAOEVelocityBonusOnline\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6128\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309650, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6128, \n    \"effectName\": \"scriptMissileGuidanceComputerAOECloudSizeBonusBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 848, \n        \"modifyingAttributeID\": 2023, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6129\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309651, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6129, \n    \"effectName\": \"scriptMissileGuidanceComputerAOEVelocityBonusBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 847, \n        \"modifyingAttributeID\": 2024, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6130\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309652, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6130, \n    \"effectName\": \"scriptMissileGuidanceComputerMissileVelocityBonusBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 547, \n        \"modifyingAttributeID\": 2025, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6131\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309653, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6131, \n    \"effectName\": \"scriptMissileGuidanceComputerExplosionDelayBonusBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 596, \n        \"modifyingAttributeID\": 2026, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6135\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6135, \n    \"effectName\": \"missileGuidanceComputerBonus4\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TurretWeaponRangeTrackingSpeedMultiplyActivate\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 547, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 596, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6144\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 6144, \n    \"effectName\": \"overloadSelfMissileGuidanceBonus5\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 306, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 847, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 848, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 596, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 547, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6145\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6145, \n    \"effectName\": \"tacticalDestroyerGallenteSkillLevel1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2027, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6146\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6146, \n    \"effectName\": \"tacticalDestroyerGallenteSkillLevel2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2028, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6147\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6147, \n    \"effectName\": \"tacticalDestroyerGallenteSkillLevel3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2029, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6148\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6148, \n    \"effectName\": \"shipHeatDamageGallenteTacticalDestroyer3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 2029, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6149\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6149, \n    \"effectName\": \"shipSHTRoFGallenteTacticalDestroyer1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2027, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6150\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6150, \n    \"effectName\": \"shipSHTTrackingGallenteTacticalDestroyer2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 2028, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6151\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6151, \n    \"effectName\": \"modeHullResonancePostDiv\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 1997, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 1998, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 2000, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 1999, \n        \"operation\": 5\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6152\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6152, \n    \"effectName\": \"shipModeSHTOptimalRangePostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1990, \n        \"operation\": 5, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6153\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6153, \n    \"effectName\": \"modeMWDCapPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2032, \n        \"operation\": 5, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6154\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6154, \n    \"effectName\": \"modeMWDBoostPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 2031, \n        \"operation\": 5, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6155\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309673, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6155, \n    \"effectName\": \"modeArmorRepDurationPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2030, \n        \"operation\": 5, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6163\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309804, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6163, \n    \"effectName\": \"passiveSpeedLimit\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2033, \n        \"modifyingAttributeID\": 2033, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6164\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309805, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 6164, \n    \"effectName\": \"systemMaxVelocityPercentage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6165\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"durationAttributeID\": 1454, \n    \"effectCategory\": 1, \n    \"effectID\": 6165, \n    \"effectName\": \"behaviorNpcRemoteArmorRepair\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6166\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6166, \n    \"effectName\": \"shipBonusWDFGnullPenalties\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1131, \n        \"modifyingAttributeID\": 2020, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1270, \n        \"modifyingAttributeID\": 2020, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1164, \n        \"modifyingAttributeID\": 2020, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6170\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309860, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6170, \n    \"effectName\": \"entosisCPUPenalty\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2041, \n        \"modifyingAttributeID\": 2042, \n        \"operation\": 2, \n        \"skillTypeID\": 24242\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6171\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309861, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6171, \n    \"effectName\": \"entosisCPUAddition\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2041, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6172\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309894, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6172, \n    \"effectName\": \"battlecruiserMETRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2043, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 2043, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6173\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309895, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6173, \n    \"effectName\": \"battlecruiserMHTRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2043, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 2043, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6174\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309896, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6174, \n    \"effectName\": \"battlecruiserMPTRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2043, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 2043, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6175\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309897, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6175, \n    \"effectName\": \"battlecruiserMissileRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2043, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6176\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309898, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6176, \n    \"effectName\": \"battlecruiserDroneSpeed\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2043, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6177\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 309899, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6177, \n    \"effectName\": \"shipHybridDmg1CBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6178\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6178, \n    \"effectName\": \"shipBonusProjectileTrackingMBC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 749, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6184\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6184, \n    \"effectName\": \"shipModuleRemoteCapacitorTransmitter\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.EnergyTransfer\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"6185\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6185, \n    \"effectName\": \"shipModuleRemoteHullRepairer\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.RemoteHullRepair\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"6186\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6186, \n    \"effectName\": \"shipModuleRemoteShieldBooster\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.ShieldTransfer\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"6187\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6187, \n    \"effectName\": \"energyNeutralizerFalloff\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.EnergyDestabilization\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2045\n  }, \n  \"6188\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6188, \n    \"effectName\": \"shipModuleRemoteArmorRepairer\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.RemoteArmourRepair\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"6195\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6195, \n    \"effectName\": \"expeditionFrigateBonusShieldResistance\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 3192, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 3192, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 3192, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 3192, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6197\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6197, \n    \"effectName\": \"energyNosferatuFalloff\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.EnergyVampire\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2045\n  }, \n  \"6201\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6201, \n    \"effectName\": \"doomsdaySlash\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6208\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6208, \n    \"effectName\": \"microJumpPortalDrive\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MicroJumpFieldEngage\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6209\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310107, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6209, \n    \"effectName\": \"commandDestroyerSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2059, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6210\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310108, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6210, \n    \"effectName\": \"commandDestroyerSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2060, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6211\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310109, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6211, \n    \"effectName\": \"commandDestroyerSkillMultiplier3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2061, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6214\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310114, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6214, \n    \"effectName\": \"roleBonusCDLinksPGReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2064, \n        \"operation\": 6, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6216\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6216, \n    \"effectName\": \"structureEnergyNeutralizerFalloff\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2045\n  }, \n  \"6222\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6222, \n    \"effectName\": \"structureWarpScrambleBlockMWDWithNPCEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1349, \n        \"modifyingAttributeID\": 1350, \n        \"operation\": 2, \n        \"skillTypeID\": 3454\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1470, \n        \"modifyingAttributeID\": 1470, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6223\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6223, \n    \"effectName\": \"structureTargetMaxTargetRangeAndScanResolutionBonusAssistance\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 158, \n    \"guid\": \"\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 309, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 566, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 1\n  }, \n  \"6225\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6225, \n    \"effectName\": \"structureTargetGunneryMaxRangeFalloffTrackingSpeedBonusAssistance\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 158, \n    \"guid\": \"effects.TurretWeaponRangeTrackingSpeedMultiplyTarget\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6, \n        \"skillTypeID\": 3300\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 1\n  }, \n  \"6226\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6226, \n    \"effectName\": \"structureMissileGuidanceComputerBonus4\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 158, \n    \"guid\": \"\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 547, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 596, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 1\n  }, \n  \"6230\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310167, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6230, \n    \"effectName\": \"shipBonusEnergyNeutOptimalRS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 962, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6232\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310169, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6232, \n    \"effectName\": \"shipBonusEnergyNeutFalloffRS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 963, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6233\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310170, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6233, \n    \"effectName\": \"shipBonusEnergyNeutFalloffRS3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 1537, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6234\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6234, \n    \"effectName\": \"shipBonusEnergyNosOptimalRS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 962, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6237\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6237, \n    \"effectName\": \"shipBonusEnergyNosFalloffRS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 963, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6238\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6238, \n    \"effectName\": \"shipBonusEnergyNosFalloffRS3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 1537, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6241\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6241, \n    \"effectName\": \"shipBonusEnergyNeutFalloffAD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 1887, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6242\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6242, \n    \"effectName\": \"shipBonusEnergyNeutOptimalAD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1888, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6245\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6245, \n    \"effectName\": \"shipBonusEnergyNosOptimalAD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1888, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6246\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6246, \n    \"effectName\": \"shipBonusEnergyNosFalloffAD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 1887, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6253\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310176, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6253, \n    \"effectName\": \"shipBonusEnergyNeutOptimalAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6256\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310179, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6256, \n    \"effectName\": \"shipBonusEnergyNeutFalloffAB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 585, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6257\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310180, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6257, \n    \"effectName\": \"shipBonusEnergyNosOptimalAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6260\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310183, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6260, \n    \"effectName\": \"shipBonusEnergyNosFalloffAB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 585, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6267\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6267, \n    \"effectName\": \"shipBonusEnergyNeutOptimalEAF1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1249, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6272\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6272, \n    \"effectName\": \"shipBonusEnergyNeutFalloffEAF3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2069, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6273\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6273, \n    \"effectName\": \"shipBonusEnergyNosOptimalEAF1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1249, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6278\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6278, \n    \"effectName\": \"shipBonusEnergyNosFalloffEAF3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2069, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6279\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6279, \n    \"effectName\": \"electronicAttackShipsSkillMultiplier3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2069, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6281\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6281, \n    \"effectName\": \"shipBonusEnergyNeutOptimalAF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6285\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6285, \n    \"effectName\": \"shipBonusEnergyNeutFalloffAF3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 1623, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6287\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6287, \n    \"effectName\": \"shipBonusEnergyNosOptimalAF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6291\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6291, \n    \"effectName\": \"shipBonusEnergyNosFalloffAF3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 1623, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6293\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310185, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6293, \n    \"effectName\": \"amarrCruiserSkillLevelPreMulShipBonusAC3Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2070, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6294\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310186, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6294, \n    \"effectName\": \"shipBonusEnergyNeutOptimalAC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6299\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310191, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6299, \n    \"effectName\": \"shipBonusEnergyNeutFalloffAC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2070, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6300\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310192, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6300, \n    \"effectName\": \"shipBonusEnergyNosOptimalAC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6301\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310193, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6301, \n    \"effectName\": \"shipBonusNosOptimalFalloffAC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6305\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310197, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6305, \n    \"effectName\": \"shipBonusEnergyNosFalloffAC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2070, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6306\": {\n    \"description_de\": \"Benötigt einen Dienstmodul-Slot.\", \n    \"description_en-us\": \"Requires a service slot.\", \n    \"description_es\": \"Requiere una ranura de servicio.\", \n    \"description_fr\": \"Nécessite un emplacement de service.\", \n    \"description_it\": \"Requires a service slot.\", \n    \"description_ja\": \"サービススロットが1つ必要です。\", \n    \"description_ko\": \"서비스 슬롯이 필요합니다.\", \n    \"description_ru\": \"Устанавливается в служебный разъём\", \n    \"description_zh\": \"需要一个服务槽位\", \n    \"descriptionID\": 310198, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Dienstmodul-Slot\", \n    \"displayName_en-us\": \"Service Slot\", \n    \"displayName_es\": \"Ranura de servicio\", \n    \"displayName_fr\": \"Emplacement de service\", \n    \"displayName_it\": \"Service Slot\", \n    \"displayName_ja\": \"サービススロット\", \n    \"displayName_ko\": \"서비스 슬롯\", \n    \"displayName_ru\": \"Служебный разъём\", \n    \"displayName_zh\": \"服务槽位\", \n    \"displayNameID\": 310206, \n    \"effectCategory\": 0, \n    \"effectID\": 6306, \n    \"effectName\": \"serviceSlot\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6307\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6307, \n    \"effectName\": \"shipBonusThermMissileDmgMD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 729, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6308\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6308, \n    \"effectName\": \"shipBonusEMMissileDmgMD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 729, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6309\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6309, \n    \"effectName\": \"shipBonusKineticMissileDmgMD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 729, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6310\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6310, \n    \"effectName\": \"shipBonusExplosiveMissileDmgMD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 729, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6315\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310199, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6315, \n    \"effectName\": \"eliteBonusCommandDestroyerSkirmish1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6316\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310200, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6316, \n    \"effectName\": \"eliteBonusCommandDestroyerShield1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6317\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310201, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6317, \n    \"effectName\": \"eliteBonusCommandDestroyerMJFGspool2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2060, \n        \"operation\": 6, \n        \"skillTypeID\": 4385\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6318\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310207, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6318, \n    \"effectName\": \"shipBonusEMShieldResistanceMD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 740, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6319\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310208, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6319, \n    \"effectName\": \"shipBonusKineticShieldResistanceMD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 740, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6320\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310209, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6320, \n    \"effectName\": \"shipBonusThermalShieldResistanceMD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 740, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6321\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310210, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6321, \n    \"effectName\": \"shipBonusExplosiveShieldResistanceMD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 740, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6322\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6322, \n    \"effectName\": \"scriptscanGravimetricStrengthBonusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 2072, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6323\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6323, \n    \"effectName\": \"scriptscanLadarStrengthBonusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 2073, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6324\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6324, \n    \"effectName\": \"scriptscanMagnetometricStrengthBonusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 2074, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6325\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6325, \n    \"effectName\": \"scriptscanRadarStrengthBonusBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 2075, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6326\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6326, \n    \"effectName\": \"shipBonusThermalMissileDamageCD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 734, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6327\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6327, \n    \"effectName\": \"shipBonusEMMissileDamageCD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 734, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6328\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6328, \n    \"effectName\": \"shipBonusKineticMissileDamageCD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 734, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6329\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6329, \n    \"effectName\": \"shipBonusExplosiveMissileDamageCD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 734, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6330\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6330, \n    \"effectName\": \"shipBonusShieldEMResistanceCD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6331\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6331, \n    \"effectName\": \"shipBonusShieldThermalResistanceCD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6332\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6332, \n    \"effectName\": \"shipBonusShieldKineticResistanceCD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6333\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6333, \n    \"effectName\": \"shipBonusShieldExplosiveResistanceCD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6334\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6334, \n    \"effectName\": \"eliteBonusCommandDestroyerInfo1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6335\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6335, \n    \"effectName\": \"shipBonusKineticArmorResistanceAD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 1888, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6336\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6336, \n    \"effectName\": \"shipBonusThermalArmorResistanceAD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 1888, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6337\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6337, \n    \"effectName\": \"shipBonusEMArmorResistanceAD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 1888, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6338\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6338, \n    \"effectName\": \"shipBonusExplosiveArmorResistanceAD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 1888, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6339\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6339, \n    \"effectName\": \"eliteBonusCommandDestroyerArmored1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6340\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6340, \n    \"effectName\": \"shipBonusKineticArmorResistanceGD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 739, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6341\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6341, \n    \"effectName\": \"shipBonusEMArmorResistanceGD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 739, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6342\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6342, \n    \"effectName\": \"shipBonusThermalArmorResistanceGD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 739, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6343\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6343, \n    \"effectName\": \"shipBonusExplosiveArmorResistanceGD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 739, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6348\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6348, \n    \"effectName\": \"setFixedResonance\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 2083, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 2084, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 2085, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 2086, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 2079, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 2080, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 2081, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 2082, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 2087, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 2088, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 2090, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 2089, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6350\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6350, \n    \"effectName\": \"shipSmallMissileKinDmgCF3\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1624, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1624, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6351\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310259, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6351, \n    \"effectName\": \"shipMissileKinDamageCC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1535, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6352\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310260, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6352, \n    \"effectName\": \"roleBonusWDRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6353\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310261, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6353, \n    \"effectName\": \"roleBonusWDCapCPU\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6354\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6354, \n    \"effectName\": \"shipBonusEwWeaponDisruptionStrengthAF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 767, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 349, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 351, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 848, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 847, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 596, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 547, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6355\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310262, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6355, \n    \"effectName\": \"roleBonusECMCapCPU\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6356\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310263, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6356, \n    \"effectName\": \"roleBonusECMRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6357\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310264, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6357, \n    \"effectName\": \"shipBonusJustScramblerRangeGF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 3449\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6358\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310265, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6358, \n    \"effectName\": \"roleBonusJustScramblerStrength\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 105, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 2, \n        \"skillTypeID\": 3449\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6359\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310266, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6359, \n    \"effectName\": \"shipBonusAoeVelocityRocketsMF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6360\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6360, \n    \"effectName\": \"shipRocketEMThermKinDmgMF2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6361\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6361, \n    \"effectName\": \"shipRocketExpDmgMF3\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1626, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6362\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6362, \n    \"effectName\": \"roleBonusStasisRange\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6368\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6368, \n    \"effectName\": \"shieldTransporterFalloffBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 41, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1697, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6369\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6369, \n    \"effectName\": \"shipShieldTransferFalloffMC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6370\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6370, \n    \"effectName\": \"shipShieldTransferFalloffCC1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6371\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6371, \n    \"effectName\": \"shipRemoteArmorFalloffGC1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6372\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6372, \n    \"effectName\": \"shipRemoteArmorFalloffAC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6373\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6373, \n    \"effectName\": \"armorRepairProjectorFalloffBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 325, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1698, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6374\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6374, \n    \"effectName\": \"droneHullRepairBonusEffect\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 83, \n        \"modifyingAttributeID\": 1219, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6375\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6375, \n    \"effectName\": \"logiFrigSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2092, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6376\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6376, \n    \"effectName\": \"logiFrigSkillMultiplier2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2093, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6377\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6377, \n    \"effectName\": \"eliteBonusLogiFrigArmorRepSpeedCap1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2092, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2092, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6378\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6378, \n    \"effectName\": \"eliteBonusLogiFrigShieldRepSpeedCap1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2092, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2092, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6379\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6379, \n    \"effectName\": \"eliteBonusLogiFrigArmorHP2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 2093, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6380\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6380, \n    \"effectName\": \"eliteBonusLogiFrigShieldHP2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2093, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6381\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6381, \n    \"effectName\": \"eliteBonusLogiFrigSignature2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 2093, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6384\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 6384, \n    \"effectName\": \"overloadSelfMissileGuidanceModuleBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 547, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 596, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 847, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 848, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6385\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 310309, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6385, \n    \"effectName\": \"ignoreCloakVelocityPenalty\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 306, \n        \"modifyingAttributeID\": 2102, \n        \"operation\": 7, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6386\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6386, \n    \"effectName\": \"ewSkillGuidanceDisruptionBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 848, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 847, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 596, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 547, \n        \"modifyingAttributeID\": 828, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6395\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6395, \n    \"effectName\": \"shipBonusEwWeaponDisruptionStrengthAC1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 767, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 349, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 351, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 848, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 847, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 596, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 547, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6, \n        \"skillTypeID\": 3434\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6396\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6396, \n    \"effectName\": \"skillStructureMissileDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1548, \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1548, \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1548, \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1548, \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6400\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6400, \n    \"effectName\": \"skillStructureElectronicSystemsCapNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1441, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1442, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1332, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6401\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6401, \n    \"effectName\": \"skillStructureEngineeringSystemsCapNeedBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1329, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1330, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 317, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6402\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6402, \n    \"effectName\": \"structureRigAoeVelocityBonusSingleTargetMissiles\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 2438, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 2438, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6403\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6403, \n    \"effectName\": \"structureRigVelocityBonusSingleTargetMissiles\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2439, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2439, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6404\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6404, \n    \"effectName\": \"structureRigNeutralizerMaxRangeFalloffEffectiveness\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1329, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2440, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1329, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2441, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6405\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6405, \n    \"effectName\": \"structureRigNeutralizerCapacitorNeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1329, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2442, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6406\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6406, \n    \"effectName\": \"structureRigEWMaxRangeFalloff\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1332, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2440, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1332, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2441, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1332, \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 2441, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1719, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2440, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1719, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2441, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1719, \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 2441, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6407\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6407, \n    \"effectName\": \"structureRigEWCapacitorNeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1332, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2442, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1719, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2442, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6408\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6408, \n    \"effectName\": \"structureRigMaxTargets\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 192, \n        \"modifyingAttributeID\": 2434, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6409\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6409, \n    \"effectName\": \"structureRigSensorResolution\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 2435, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6410\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6410, \n    \"effectName\": \"structureRigExplosionRadiusBonusAoEMissiles\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1548, \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 2449, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6411\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6411, \n    \"effectName\": \"structureRigVelocityBonusAoeMissiles\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1548, \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2439, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6412\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6412, \n    \"effectName\": \"structureRigPDBmaxRange\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1330, \n        \"modifiedAttributeID\": 99, \n        \"modifyingAttributeID\": 2436, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6413\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6413, \n    \"effectName\": \"structureRigPDBCapacitorNeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1330, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2437, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6414\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6414, \n    \"effectName\": \"structureRigFighterHP\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 32339\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 32339\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 32339\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6415\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6415, \n    \"effectName\": \"structureRigFighterMaxVelocity\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 591, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 591, \n        \"operation\": 6, \n        \"skillTypeID\": 32339\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6417\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6417, \n    \"effectName\": \"structureRigDoomsdayDamageLoss\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1333, \n        \"modifiedAttributeID\": 2106, \n        \"modifyingAttributeID\": 2278, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6422\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6422, \n    \"effectName\": \"remoteSensorDampFalloff\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.SensorDampening\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6423\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6423, \n    \"effectName\": \"shipModuleGuidanceDisruptor\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.ElectronicAttributeModifyTarget\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2113\n  }, \n  \"6424\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6424, \n    \"effectName\": \"shipModuleTrackingDisruptor\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.TrackingDisruption\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2113\n  }, \n  \"6425\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6425, \n    \"effectName\": \"remoteTargetPaintFalloff\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.TargetPaint\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6426\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6426, \n    \"effectName\": \"remoteWebifierFalloff\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.ModifyTargetSpeed\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6427\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6427, \n    \"effectName\": \"remoteSensorBoostFalloff\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.ElectronicAttributeModifyTarget\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6428\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6428, \n    \"effectName\": \"shipModuleRemoteTrackingComputer\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.TurretWeaponRangeTrackingSpeedMultiplyTarget\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2135\n  }, \n  \"6431\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2182, \n    \"effectCategory\": 2, \n    \"effectID\": 6431, \n    \"effectName\": \"fighterAbilityMissiles\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2149, \n    \"rangeChance\": 0\n  }, \n  \"6434\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2208, \n    \"effectCategory\": 2, \n    \"effectID\": 6434, \n    \"effectName\": \"fighterAbilityEnergyNeutralizer\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2210, \n    \"guid\": \"effects.EnergyDestabilization\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2209, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2045\n  }, \n  \"6435\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2183, \n    \"effectCategory\": 2, \n    \"effectID\": 6435, \n    \"effectName\": \"fighterAbilityStasisWebifier\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2187, \n    \"guid\": \"effects.ModifyTargetSpeed\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2186, \n    \"rangeChance\": 0\n  }, \n  \"6436\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2203, \n    \"effectCategory\": 2, \n    \"effectID\": 6436, \n    \"effectName\": \"fighterAbilityWarpDisruption\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpDisrupt\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2204, \n    \"rangeChance\": 0\n  }, \n  \"6437\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2220, \n    \"effectCategory\": 2, \n    \"effectID\": 6437, \n    \"effectName\": \"fighterAbilityECM\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2222, \n    \"guid\": \"effects.ElectronicAttributeModifyTarget\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2221, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2253\n  }, \n  \"6439\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2123, \n    \"effectCategory\": 1, \n    \"effectID\": 6439, \n    \"effectName\": \"fighterAbilityEvasiveManeuvers\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6440\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2158, \n    \"effectCategory\": 1, \n    \"effectID\": 6440, \n    \"effectName\": \"fighterAbilityAfterburner\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Afterburner\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6441\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2157, \n    \"effectCategory\": 1, \n    \"effectID\": 6441, \n    \"effectName\": \"fighterAbilityMicroWarpDrive\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MicroWarpDrive\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6442\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2155, \n    \"effectCategory\": 1, \n    \"effectID\": 6442, \n    \"effectName\": \"fighterAbilityMicroJumpDrive\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MicroJumpDriveEngage\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2154, \n    \"rangeChance\": 0\n  }, \n  \"6443\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 2, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6443, \n    \"effectName\": \"pointDefense\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.PointDefense\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 99, \n    \"rangeChance\": 0\n  }, \n  \"6445\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6445, \n    \"effectName\": \"tractorBeamShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6446\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 2, \n    \"effectID\": 6446, \n    \"effectName\": \"structureBumpingModule\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6447\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 2, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6447, \n    \"effectName\": \"lightningWeapon\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6448\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 6448, \n    \"effectName\": \"structureMissileGuidanceEnhancer\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 596, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 596, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 547, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 547, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6449\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 6449, \n    \"effectName\": \"structureBallisticControlSystem\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2750, \n        \"modifyingAttributeID\": 213, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1327, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1562, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6450\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6450, \n    \"effectName\": \"structureMissileGuidanceComputerBonus5\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6, \n        \"skillTypeID\": 37796\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 6, \n        \"skillTypeID\": 37796\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 596, \n        \"operation\": 6, \n        \"skillTypeID\": 37796\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 547, \n        \"operation\": 6, \n        \"skillTypeID\": 37796\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6451\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 6451, \n    \"effectName\": \"structureScanResolutionActivePercentage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 566, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6464\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2238, \n    \"effectCategory\": 2, \n    \"effectID\": 6464, \n    \"effectName\": \"fighterAbilityTackle\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpScramble\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2239, \n    \"rangeChance\": 0\n  }, \n  \"6465\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2233, \n    \"effectCategory\": 2, \n    \"effectID\": 6465, \n    \"effectName\": \"fighterAbilityAttackM\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2237, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2236, \n    \"rangeChance\": 0\n  }, \n  \"6470\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6470, \n    \"effectName\": \"remoteECMFalloff\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.ElectronicAttributeModifyTarget\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2253\n  }, \n  \"6472\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6472, \n    \"effectName\": \"doomsdayBeamDOT\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6473\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6473, \n    \"effectName\": \"doomsdayConeDOT\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6474\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6474, \n    \"effectName\": \"doomsdayHOG\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6475\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6475, \n    \"effectName\": \"structureRigDoomsdayTargetAmountBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1333, \n        \"modifiedAttributeID\": 2104, \n        \"modifyingAttributeID\": 2277, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6476\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6476, \n    \"effectName\": \"doomsdayAOEWeb\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6477\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6477, \n    \"effectName\": \"doomsdayAOENeut\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6478\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 2400, \n    \"effectCategory\": 1, \n    \"effectID\": 6478, \n    \"effectName\": \"doomsdayAOEPaint\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6479\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 2397, \n    \"effectCategory\": 1, \n    \"effectID\": 6479, \n    \"effectName\": \"doomsdayAOETrack\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6480\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6480, \n    \"effectName\": \"doomsdayAOEGuide\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6481\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 2399, \n    \"effectCategory\": 1, \n    \"effectID\": 6481, \n    \"effectName\": \"doomsdayAOEDamp\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6482\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6482, \n    \"effectName\": \"doomsdayAOEBubble\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6484\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6484, \n    \"effectName\": \"emergencyHullEnergizer\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Invulnerability\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6485\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2349, \n    \"effectCategory\": 1, \n    \"effectID\": 6485, \n    \"effectName\": \"fighterAbilityLaunchBomb\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6487\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 6487, \n    \"effectName\": \"modifyEnergyWarfareResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2045, \n        \"modifyingAttributeID\": 2267, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6488\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6488, \n    \"effectName\": \"scriptSensorBoosterSensorStrengthBonusBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1030, \n        \"modifyingAttributeID\": 2282, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1029, \n        \"modifyingAttributeID\": 2282, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1028, \n        \"modifyingAttributeID\": 2282, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1027, \n        \"modifyingAttributeID\": 2282, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6489\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6489, \n    \"effectName\": \"skillMultiplierShipBonusDreadnoughtAmarr\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2283, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2284, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2285, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5214, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6492\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6492, \n    \"effectName\": \"skillMultiplierShipBonusDreadnoughtCaldari\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2286, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2287, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2288, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6495\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6495, \n    \"effectName\": \"skillMultiplierShipBonusDreadnoughtGallente\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2289, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2290, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2291, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5215, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5216, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6498\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6498, \n    \"effectName\": \"skillMultiplierShipBonusDreadnoughtMinmatar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2292, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2293, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2294, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5248, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6501\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6501, \n    \"effectName\": \"shipBonusDreadnoughtA1DamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 20327\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6502\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6502, \n    \"effectName\": \"shipBonusDreadnoughtA2ArmorResists\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 2284, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 2284, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 2284, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 2284, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6503\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6503, \n    \"effectName\": \"shipBonusDreadnoughtA3CapNeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2285, \n        \"operation\": 6, \n        \"skillTypeID\": 20327\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6504\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6504, \n    \"effectName\": \"shipBonusDreadnoughtC1DamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6505\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6505, \n    \"effectName\": \"shipBonusDreadnoughtC2ShieldResists\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 2287, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 2287, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 2287, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 2287, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6506\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6506, \n    \"effectName\": \"shipBonusDreadnoughtG1DamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6, \n        \"skillTypeID\": 21666\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6507\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6507, \n    \"effectName\": \"shipBonusDreadnoughtG2ROFBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2290, \n        \"operation\": 6, \n        \"skillTypeID\": 21666\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6508\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6508, \n    \"effectName\": \"shipBonusDreadnoughtG3RepairTime\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2291, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6509\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6509, \n    \"effectName\": \"shipBonusDreadnoughtM1DamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2292, \n        \"operation\": 6, \n        \"skillTypeID\": 21667\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6510\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6510, \n    \"effectName\": \"shipBonusDreadnoughtM2ROFBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2293, \n        \"operation\": 6, \n        \"skillTypeID\": 21667\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6511\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6511, \n    \"effectName\": \"shipBonusDreadnoughtM3RepairTime\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2293, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6513\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 2398, \n    \"effectCategory\": 1, \n    \"effectID\": 6513, \n    \"effectName\": \"doomsdayAOEECM\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2253\n  }, \n  \"6514\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6514, \n    \"effectName\": \"skillMultiplierShipBonusForceAuxiliaryAmarr\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2308, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2309, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2310, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2320, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 6114, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6517\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6517, \n    \"effectName\": \"skillMultiplierShipBonusForceAuxiliaryCaldari\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2311, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2312, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2313, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2321, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 6113, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6520\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6520, \n    \"effectName\": \"skillMultiplierShipBonusForceAuxiliaryGallente\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2314, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2315, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2316, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2322, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 6112, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6523\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6523, \n    \"effectName\": \"skillMultiplierShipBonusForceAuxiliaryMinmatar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2317, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2318, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2319, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2323, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 6116, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6526\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6526, \n    \"effectName\": \"shipBonusForceAuxiliaryA1RemoteRepairAndCapAmount\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2308, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 2308, \n        \"operation\": 6, \n        \"skillTypeID\": 24572\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6527\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6527, \n    \"effectName\": \"shipBonusForceAuxiliaryA2ArmorResists\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 2309, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 2309, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 2309, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 2309, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6533\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6533, \n    \"effectName\": \"shipBonusForceAuxiliaryA4WarfareLinksBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2320, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2320, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2320, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2320, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2320, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2320, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2320, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2320, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2320, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2320, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6534\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6534, \n    \"effectName\": \"shipBonusForceAuxiliaryM4WarfareLinksBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2323, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2323, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2323, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2323, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2323, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2323, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2323, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2323, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2323, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2323, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6535\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6535, \n    \"effectName\": \"shipBonusForceAuxiliaryG4WarfareLinksBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2322, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2322, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2322, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2322, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2322, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2322, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2322, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2322, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2322, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2322, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6536\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6536, \n    \"effectName\": \"shipBonusForceAuxiliaryC4WarfareLinksBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2321, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2321, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2321, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2321, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2321, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2321, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2321, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2321, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2321, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2321, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6537\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6537, \n    \"effectName\": \"shipBonusRole1CommandBurstCPUBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6545\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6545, \n    \"effectName\": \"shipBonusForceAuxiliaryC1RemoteBoostAndCapAmount\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2311, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 2311, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6546\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6546, \n    \"effectName\": \"shipBonusForceAuxiliaryC2ShieldResists\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 2312, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 2312, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 2312, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 2312, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6548\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6548, \n    \"effectName\": \"shipBonusForceAuxiliaryG1RemoteCycleTime\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2314, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2314, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6549\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6549, \n    \"effectName\": \"shipBonusForceAuxiliaryG2LocalRepairAmount\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2315, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2315, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6551\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6551, \n    \"effectName\": \"shipBonusForceAuxiliaryM1RemoteDuration\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2317, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2317, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6552\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6552, \n    \"effectName\": \"shipBonusForceAuxiliaryM2LocalBoostAmount\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2318, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2318, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6554\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2401, \n    \"effectCategory\": 2, \n    \"effectID\": 6554, \n    \"effectName\": \"fighterAbilityKamikaze\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6555\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 6555, \n    \"effectName\": \"moduleBonusDroneNavigationComputer\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6556\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 6556, \n    \"effectName\": \"moduleBonusDroneDamageAmplifier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1255, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 1255, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 1255, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 1255, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6557\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6557, \n    \"effectName\": \"moduleBonusOmnidirectionalTrackingLink\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2236, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2175, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2149, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2237, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2176, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2180, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2234, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2235, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2125, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2126, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6558\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 5, \n    \"effectID\": 6558, \n    \"effectName\": \"moduleBonusOmnidirectionalTrackingLinkOverload\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 351, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 349, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 767, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 848, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 847, \n        \"modifyingAttributeID\": 1935, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6559\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 6559, \n    \"effectName\": \"moduleBonusOmnidirectionalTrackingEnhancer\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2236, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2175, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2149, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2237, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2176, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2180, \n        \"modifyingAttributeID\": 767, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2234, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2235, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2125, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2126, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6560\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6560, \n    \"effectName\": \"skillBonusFighters\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6561\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6561, \n    \"effectName\": \"skillBonusLightFighters\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2603, \n        \"operation\": 6, \n        \"skillTypeID\": 40572\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6562\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6562, \n    \"effectName\": \"skillBonusSupportFightersShield\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 337, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6563\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6563, \n    \"effectName\": \"skillBonusHeavyFighters\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 32339\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 32339\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 32339\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6565\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6565, \n    \"effectName\": \"citadelRigBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2278, \n        \"modifyingAttributeID\": 2333, \n        \"operation\": 6, \n        \"skillTypeID\": 26252\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2435, \n        \"modifyingAttributeID\": 2333, \n        \"operation\": 6, \n        \"skillTypeID\": 26252\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2436, \n        \"modifyingAttributeID\": 2333, \n        \"operation\": 6, \n        \"skillTypeID\": 26252\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2437, \n        \"modifyingAttributeID\": 2333, \n        \"operation\": 6, \n        \"skillTypeID\": 26252\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2438, \n        \"modifyingAttributeID\": 2333, \n        \"operation\": 6, \n        \"skillTypeID\": 26252\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2439, \n        \"modifyingAttributeID\": 2333, \n        \"operation\": 6, \n        \"skillTypeID\": 26252\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2440, \n        \"modifyingAttributeID\": 2333, \n        \"operation\": 6, \n        \"skillTypeID\": 26252\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2441, \n        \"modifyingAttributeID\": 2333, \n        \"operation\": 6, \n        \"skillTypeID\": 26252\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2442, \n        \"modifyingAttributeID\": 2333, \n        \"operation\": 6, \n        \"skillTypeID\": 26252\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2449, \n        \"modifyingAttributeID\": 2333, \n        \"operation\": 6, \n        \"skillTypeID\": 26252\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6566\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 6566, \n    \"effectName\": \"moduleBonusFighterSupportUnit\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2233, \n        \"modifyingAttributeID\": 2337, \n        \"operation\": 4, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2177, \n        \"modifyingAttributeID\": 2337, \n        \"operation\": 4, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2182, \n        \"modifyingAttributeID\": 2337, \n        \"operation\": 4, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2336, \n        \"operation\": 4, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2335, \n        \"operation\": 4, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 479, \n        \"modifyingAttributeID\": 2338, \n        \"operation\": 4, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6567\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6567, \n    \"effectName\": \"moduleBonusNetworkedSensorArray\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ElectronicAttributeModifyActivate\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 291, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 379, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 566, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1027, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1029, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1030, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1028, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2354, \n        \"modifyingAttributeID\": 2354, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2343, \n        \"modifyingAttributeID\": 2343, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1027, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1029, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1030, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1028, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1349, \n        \"modifyingAttributeID\": 5700, \n        \"operation\": 2, \n        \"skillTypeID\": 83464\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6568\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6568, \n    \"effectName\": \"citadelServiceFuelBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1321, \n        \"modifiedAttributeID\": 2109, \n        \"modifyingAttributeID\": 2339, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1321, \n        \"modifiedAttributeID\": 2110, \n        \"modifyingAttributeID\": 2339, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6569\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6569, \n    \"effectName\": \"skillMultiplierFighterHangarSize\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2340, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6570\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6570, \n    \"effectName\": \"skillBonusFighterHangarManagement\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2055, \n        \"modifyingAttributeID\": 2340, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6571\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6571, \n    \"effectName\": \"skillBonusCapitalAutocannonSpecialization\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 41403\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6572\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6572, \n    \"effectName\": \"skillBonusCapitalArtillerySpecialization\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 41404\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6573\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6573, \n    \"effectName\": \"skillBonusCapitalBlasterSpecialization\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 41405\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6574\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6574, \n    \"effectName\": \"skillBonusCapitalRailgunSpecialization\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 41406\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6575\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6575, \n    \"effectName\": \"skillBonusCapitalPulseLaserSpecialization\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 41407\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6576\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6576, \n    \"effectName\": \"skillBonusCapitalBeamLaserSpecialization\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 41408\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6577\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6577, \n    \"effectName\": \"skillBonusXLCruiseMissileSpecialization\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 293, \n        \"operation\": 6, \n        \"skillTypeID\": 41410\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6578\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6578, \n    \"effectName\": \"skillBonusXLTorpedoSpecialization\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 293, \n        \"operation\": 6, \n        \"skillTypeID\": 41409\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6580\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6580, \n    \"effectName\": \"shipBonusRole2LogisticDroneRepAmountBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3439\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3439\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 83, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3439\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6581\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6581, \n    \"effectName\": \"moduleBonusTriageModule\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TriageMode\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2116, \n        \"modifyingAttributeID\": 2342, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2135, \n        \"modifyingAttributeID\": 2352, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2112, \n        \"modifyingAttributeID\": 2351, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2253, \n        \"modifyingAttributeID\": 2253, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1255, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1255, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1255, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1255, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 852, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2354, \n        \"modifyingAttributeID\": 2354, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2343, \n        \"modifyingAttributeID\": 2343, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 4, \n        \"modifyingAttributeID\": 1471, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1672, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 208, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 291, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 379, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1190, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2345, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2345, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 2345, \n        \"operation\": 6, \n        \"skillTypeID\": 24572\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 83, \n        \"modifyingAttributeID\": 2345, \n        \"operation\": 6, \n        \"skillTypeID\": 27936\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2344, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2344, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2344, \n        \"operation\": 6, \n        \"skillTypeID\": 24572\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2344, \n        \"operation\": 6, \n        \"skillTypeID\": 27936\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2348, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2348, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2348, \n        \"operation\": 6, \n        \"skillTypeID\": 24572\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2348, \n        \"operation\": 6, \n        \"skillTypeID\": 27936\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2348, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2348, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2348, \n        \"operation\": 6, \n        \"skillTypeID\": 24572\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2348, \n        \"operation\": 6, \n        \"skillTypeID\": 27936\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 565, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 192, \n        \"modifyingAttributeID\": 235, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2347, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2347, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2346, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2346, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1973, \n        \"modifyingAttributeID\": 1974, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6582\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6582, \n    \"effectName\": \"moduleBonusSiegeModule\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.SiegeMode\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2135, \n        \"modifyingAttributeID\": 2352, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2112, \n        \"modifyingAttributeID\": 2351, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2113, \n        \"modifyingAttributeID\": 2353, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2253, \n        \"modifyingAttributeID\": 2253, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 852, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2354, \n        \"modifyingAttributeID\": 2354, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2343, \n        \"modifyingAttributeID\": 2343, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 4, \n        \"modifyingAttributeID\": 1471, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2347, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2347, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2346, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2346, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2304, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2306, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2306, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2306, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2306, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2306, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2306, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2306, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2306, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2306, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2306, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2306, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2306, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 524, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2305, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1674, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2305, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2307, \n        \"operation\": 6, \n        \"skillTypeID\": 21666\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2307, \n        \"operation\": 6, \n        \"skillTypeID\": 20327\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2307, \n        \"operation\": 6, \n        \"skillTypeID\": 21667\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1973, \n        \"modifyingAttributeID\": 1974, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2116, \n        \"modifyingAttributeID\": 2342, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2307, \n        \"operation\": 6, \n        \"skillTypeID\": 52998\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1673, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2821, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6583\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6583, \n    \"effectName\": \"skillMultiplierShipBonusCarrierAmarr\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2359, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2360, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2361, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2362, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5981, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6584\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6584, \n    \"effectName\": \"skillMultiplierShipBonusCarrierCaldari\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2363, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2364, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2365, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2366, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5982, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6585\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6585, \n    \"effectName\": \"skillMultiplierShipBonusCarrierGallente\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2367, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2368, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2369, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2370, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5983, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6586\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6586, \n    \"effectName\": \"skillMultiplierShipBonusCarrierMinmatar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2371, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2372, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2373, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2374, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5984, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6587\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6587, \n    \"effectName\": \"skillMultiplierShipBonusSupercarrierAmarr\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2375, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2376, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2377, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2378, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2379, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6588\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6588, \n    \"effectName\": \"skillMultiplierShipBonusSupercarrierCaldari\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2380, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2381, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2382, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2383, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2384, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6589\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6589, \n    \"effectName\": \"skillMultiplierShipBonusSupercarrierGallente\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2385, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2386, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2387, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2388, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2389, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6590\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6590, \n    \"effectName\": \"skillMultiplierShipBonusSupercarrierMinmatar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2390, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2391, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2392, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2393, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2394, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6591\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6591, \n    \"effectName\": \"shipBonusSupercarrierA3WarpStrength\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 2377, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6592\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6592, \n    \"effectName\": \"shipBonusSupercarrierC3WarpStrength\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 2382, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6593\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6593, \n    \"effectName\": \"shipBonusSupercarrierG3WarpStrength\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 2387, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6594\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6594, \n    \"effectName\": \"shipBonusSupercarrierM3WarpStrength\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 2392, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6595\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6595, \n    \"effectName\": \"shipBonusCarrierA4WarfareLinksBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2362, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2362, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2362, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2362, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2362, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2362, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2362, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2362, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2362, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2362, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6596\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6596, \n    \"effectName\": \"shipBonusCarrierC4WarfareLinksBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2366, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2366, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2366, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2366, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2366, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2366, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2366, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2366, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2366, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2366, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6597\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6597, \n    \"effectName\": \"shipBonusCarrierG4WarfareLinksBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2370, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2370, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2370, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2370, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2370, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2370, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2370, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2370, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2370, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2370, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6598\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6598, \n    \"effectName\": \"shipBonusCarrierM4WarfareLinksBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2374, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2374, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2374, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2374, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2374, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2374, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2374, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2374, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2374, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2374, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6599\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6599, \n    \"effectName\": \"shipBonusCarrierA1ArmorResists\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 2359, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 2359, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 2359, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 2359, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6600\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6600, \n    \"effectName\": \"shipBonusCarrierC1ShieldResists\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 2363, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 2363, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 2363, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 2363, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6601\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6601, \n    \"effectName\": \"shipBonusCarrierG1FighterDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 2367, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 2367, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 2367, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6602\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6602, \n    \"effectName\": \"shipBonusCarrierM1FighterDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 2371, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 2371, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 2371, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6603\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6603, \n    \"effectName\": \"shipBonusSupercarrierA1FighterDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 2375, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 2375, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 2375, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6604\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6604, \n    \"effectName\": \"shipBonusSupercarrierC1FighterDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 2380, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 2380, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 2380, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6605\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6605, \n    \"effectName\": \"shipBonusSupercarrierG1FighterDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 2385, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 2385, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 2385, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6606\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6606, \n    \"effectName\": \"shipBonusSupercarrierM1FighterDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 2390, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 2390, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 2390, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6607\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6607, \n    \"effectName\": \"shipBonusSupercarrierA5WarfareLinksBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2379, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2379, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2379, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2379, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2379, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2379, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2379, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2379, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2379, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2379, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6608\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6608, \n    \"effectName\": \"shipBonusSupercarrierC5WarfareLinksBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2384, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2384, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2384, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2384, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2384, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2384, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2384, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2384, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2384, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2384, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6609\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6609, \n    \"effectName\": \"shipBonusSupercarrierG5WarfareLinksBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2389, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2389, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2389, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2389, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2389, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2389, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2389, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2389, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2389, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2389, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6610\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6610, \n    \"effectName\": \"shipBonusSupercarrierM5WarfareLinksBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2394, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2394, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2394, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2394, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2394, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2394, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2394, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2394, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2394, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2394, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6611\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6611, \n    \"effectName\": \"shipBonusSupercarrierC2AfterburnerBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 2381, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6612\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6612, \n    \"effectName\": \"shipBonusSupercarrierA2FighterApplicationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2235, \n        \"modifyingAttributeID\": 2376, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2126, \n        \"modifyingAttributeID\": 2376, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6613\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6613, \n    \"effectName\": \"shipBonusSupercarrierRole1NumWarfareLinks\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 763, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 978, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6614\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6614, \n    \"effectName\": \"shipBonusSupercarrierRole2ArmorShieldModuleBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 72, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3425\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1159, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3394\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6615\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6615, \n    \"effectName\": \"shipBonusSupercarrierA4BurstProjectorBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2397, \n        \"modifyingAttributeID\": 2378, \n        \"operation\": 6, \n        \"skillTypeID\": 27911\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6616\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6616, \n    \"effectName\": \"shipBonusSupercarrierC4BurstProjectorBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2398, \n        \"modifyingAttributeID\": 2383, \n        \"operation\": 6, \n        \"skillTypeID\": 27911\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6617\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6617, \n    \"effectName\": \"shipBonusSupercarrierG4BurstProjectorBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2399, \n        \"modifyingAttributeID\": 2388, \n        \"operation\": 6, \n        \"skillTypeID\": 27911\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6618\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6618, \n    \"effectName\": \"shipBonusSupercarrierM4BurstProjectorBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2400, \n        \"modifyingAttributeID\": 2393, \n        \"operation\": 6, \n        \"skillTypeID\": 27911\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6619\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6619, \n    \"effectName\": \"shipBonusCarrierRole1NumWarfareLinks\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 763, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 978, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6620\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6620, \n    \"effectName\": \"shipBonusDreadnoughtC3ReloadBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1795, \n        \"modifyingAttributeID\": 2288, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6621\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6621, \n    \"effectName\": \"shipBonusSupercarrierA2ArmorResists\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 2376, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 2376, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 2376, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 2376, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6622\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6622, \n    \"effectName\": \"shipBonusSupercarrierC2ShieldResists\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 2381, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 2381, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 2381, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 2381, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6623\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6623, \n    \"effectName\": \"shipBonusSupercarrierG2FighterHitpoints\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2386, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6624\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6624, \n    \"effectName\": \"shipBonusSupercarrierM2FighterVelocity\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2391, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6625\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6625, \n    \"effectName\": \"shipBonusCarrierA2SupportFighterBonusRange\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2209, \n        \"modifyingAttributeID\": 2360, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2223, \n        \"modifyingAttributeID\": 2360, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6626\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6626, \n    \"effectName\": \"shipBonusCarrierC2SupportFighterBonusRange\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2221, \n        \"modifyingAttributeID\": 2364, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2223, \n        \"modifyingAttributeID\": 2364, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6627\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6627, \n    \"effectName\": \"shipBonusCarrierG2SupportFighterBonusRange\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2204, \n        \"modifyingAttributeID\": 2368, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2223, \n        \"modifyingAttributeID\": 2368, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6628\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6628, \n    \"effectName\": \"shipBonusCarrierM2SupportFighterBonusRange\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2186, \n        \"modifyingAttributeID\": 2372, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2223, \n        \"modifyingAttributeID\": 2372, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6629\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6629, \n    \"effectName\": \"scriptResistanceBonusBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 984, \n        \"modifyingAttributeID\": 2402, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 985, \n        \"modifyingAttributeID\": 2403, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 986, \n        \"modifyingAttributeID\": 2404, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 987, \n        \"modifyingAttributeID\": 2405, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6630\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6630, \n    \"effectName\": \"skillMultiplierShipBonusTitanAmarr\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2406, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2407, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2408, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2409, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6631\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6631, \n    \"effectName\": \"skillMultiplierShipBonusTitanCaldari\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2410, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2411, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2412, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2413, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2423, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6632\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6632, \n    \"effectName\": \"skillMultiplierShipBonusTitanGallente\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2414, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2415, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2416, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2417, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6633\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6633, \n    \"effectName\": \"skillMultiplierShipBonusTitanMinmatar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2418, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2419, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2420, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2421, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6634\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6634, \n    \"effectName\": \"shipBonusTitanA1DamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2406, \n        \"operation\": 6, \n        \"skillTypeID\": 20327\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6635\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6635, \n    \"effectName\": \"shipBonusTitanC1KinDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2410, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2410, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6636\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6636, \n    \"effectName\": \"shipBonusTitanG1DamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2414, \n        \"operation\": 6, \n        \"skillTypeID\": 21666\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6637\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6637, \n    \"effectName\": \"shipBonusTitanM1DamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2418, \n        \"operation\": 6, \n        \"skillTypeID\": 21667\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6638\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6638, \n    \"effectName\": \"shipBonusTitanC2ROFBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 524, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2411, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1674, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2411, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6639\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6639, \n    \"effectName\": \"shipBonusSupercarrierA4FighterApplicationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2234, \n        \"modifyingAttributeID\": 2378, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2125, \n        \"modifyingAttributeID\": 2378, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6640\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6640, \n    \"effectName\": \"shipBonusRole1NumWarfareLinks\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 763, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 978, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6641\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6641, \n    \"effectName\": \"shipBonusRole2ArmorPlates&ShieldExtendersBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 72, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3425\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1159, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3394\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6642\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6642, \n    \"effectName\": \"skillBonusDoomsdayRapidFiring\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 293, \n        \"operation\": 6, \n        \"skillTypeID\": 24563\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6647\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6647, \n    \"effectName\": \"shipBonusTitanA3WarpStrength\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 2408, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6648\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6648, \n    \"effectName\": \"shipBonusTitanC3WarpStrength\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 2412, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6649\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6649, \n    \"effectName\": \"shipBonusTitanG3WarpStrength\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 2416, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6650\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6650, \n    \"effectName\": \"shipBonusTitanM3WarpStrength\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 2420, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6651\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6651, \n    \"effectName\": \"shipModuleAncillaryRemoteArmorRepairer\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.RemoteArmourRepair\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"6652\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6652, \n    \"effectName\": \"shipModuleAncillaryRemoteShieldBooster\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.ShieldTransfer\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"6653\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6653, \n    \"effectName\": \"shipBonusTitanA2CapNeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2407, \n        \"operation\": 6, \n        \"skillTypeID\": 20327\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6654\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6654, \n    \"effectName\": \"shipBonusTitanG2ROFBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2415, \n        \"operation\": 6, \n        \"skillTypeID\": 21666\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6655\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6655, \n    \"effectName\": \"shipBonusTitanM2ROFBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2419, \n        \"operation\": 6, \n        \"skillTypeID\": 21667\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6656\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6656, \n    \"effectName\": \"shipBonusRole3XLTorpdeoVelocityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2300, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6657\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6657, \n    \"effectName\": \"shipBonusTitanC5AllDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2423, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2423, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2423, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2423, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2423, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2423, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6658\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6658, \n    \"effectName\": \"moduleBonusBastionModule\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.SiegeMode\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2116, \n        \"modifyingAttributeID\": 2342, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2135, \n        \"modifyingAttributeID\": 2352, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2112, \n        \"modifyingAttributeID\": 2351, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2113, \n        \"modifyingAttributeID\": 2353, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2114, \n        \"modifyingAttributeID\": 2424, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1027, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1029, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1030, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1028, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 852, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2354, \n        \"modifyingAttributeID\": 2354, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2343, \n        \"modifyingAttributeID\": 2343, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 895, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 548, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 547, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 547, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 547, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 3109, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 3109, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 3109, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 3108, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 3108, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 3108, \n        \"operation\": 6, \n        \"skillTypeID\": 20213\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 3108, \n        \"operation\": 6, \n        \"skillTypeID\": 20212\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 267, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 269, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 268, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 270, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 974, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 975, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 976, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 977, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 271, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 273, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 272, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 274, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 3109, \n        \"operation\": 6, \n        \"skillTypeID\": 47872\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 47872\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 6187, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 6187, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 5964, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5964, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6660\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6660, \n    \"effectName\": \"higgsWarpBubbleImmuneRemoval\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1538, \n        \"modifyingAttributeID\": 1539, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6661\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6661, \n    \"effectName\": \"shipBonusCarrierM3FighterVelocity\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2373, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6662\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6662, \n    \"effectName\": \"shipBonusCarrierG3FighterHitpoints\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2369, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6663\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6663, \n    \"effectName\": \"skillBonusDroneInterfacing\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 434, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6664\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6664, \n    \"effectName\": \"skillBonusDroneSharpshooting\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2236, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2175, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2149, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6665\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6665, \n    \"effectName\": \"skillBonusDroneDurability\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 337, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 335, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 337, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6666\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6666, \n    \"effectName\": \"skillMultiplierMaxVelocityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2603, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6667\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6667, \n    \"effectName\": \"skillBonusDroneNavigation\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2603, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2603, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6669\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6669, \n    \"effectName\": \"moduleBonusCapitalDroneDurabilityEnhancer\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 48, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6670\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6670, \n    \"effectName\": \"moduleBonusCapitalDroneScopeChip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 48, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2236, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2175, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2149, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6671\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6671, \n    \"effectName\": \"moduleBonusCapitalDroneSpeedAugmentor\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 48, \n        \"modifyingAttributeID\": 1138, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 591, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 591, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6672\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6672, \n    \"effectName\": \"structureCombatRigSecurityModification\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2278, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2435, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2436, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2437, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2438, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2439, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2440, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2441, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2442, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2449, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2748, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6673\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6673, \n    \"effectName\": \"structureReprocessingRigSecurityModification\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 717, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6674\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6674, \n    \"effectName\": \"structureRigAsteroidOreYield\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1322, \n        \"modifiedAttributeID\": 2444, \n        \"modifyingAttributeID\": 717, \n        \"operation\": -1\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6675\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6675, \n    \"effectName\": \"structureRigMoonOreYield\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1322, \n        \"modifiedAttributeID\": 2445, \n        \"modifyingAttributeID\": 717, \n        \"operation\": -1\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6676\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6676, \n    \"effectName\": \"structureRigCalAmarrIceYield\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1322, \n        \"modifiedAttributeID\": 2446, \n        \"modifyingAttributeID\": 717, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6677\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6677, \n    \"effectName\": \"structureRigGalMinIceYield\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1322, \n        \"modifiedAttributeID\": 2447, \n        \"modifyingAttributeID\": 717, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6678\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6678, \n    \"effectName\": \"structureRigIceYield\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1322, \n        \"modifiedAttributeID\": 2448, \n        \"modifyingAttributeID\": 717, \n        \"operation\": -1\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6679\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6679, \n    \"effectName\": \"skillStructureDoomsdayDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1333, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6681\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6681, \n    \"effectName\": \"shipBonusRole3NumWarfareLinks\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 763, \n        \"modifyingAttributeID\": 2300, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 978, \n        \"modifyingAttributeID\": 2300, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6682\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6682, \n    \"effectName\": \"structureModuleEffectStasisWebifier\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6683\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6683, \n    \"effectName\": \"structureModuleEffectTargetPainter\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6684\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6684, \n    \"effectName\": \"structureModuleEffectRemoteSensorDampener\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6685\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6685, \n    \"effectName\": \"structureModuleEffectECM\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2253\n  }, \n  \"6686\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6686, \n    \"effectName\": \"structureModuleEffectWeaponDisruption\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2044, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2113\n  }, \n  \"6687\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6687, \n    \"effectName\": \"npcEntityRemoteArmorRepairer\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.RemoteArmorRepairDrone\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"6688\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6688, \n    \"effectName\": \"npcEntityRemoteShieldBooster\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ShieldTransfer\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"6689\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6689, \n    \"effectName\": \"npcEntityRemoteHullRepairer\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.RemoteArmorRepairDrone\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"6690\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6690, \n    \"effectName\": \"remoteWebifierEntity\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ModifyTargetSpeed\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6691\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 942, \n    \"effectCategory\": 2, \n    \"effectID\": 6691, \n    \"effectName\": \"entityEnergyNeutralizerFalloff\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.EnergyDestabilization\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 931, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 98, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2045\n  }, \n  \"6692\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6692, \n    \"effectName\": \"remoteTargetPaintEntity\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TargetPaint\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6693\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6693, \n    \"effectName\": \"remoteSensorDampEntity\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ElectronicAttributeModifyTarget\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6694\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 1, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6694, \n    \"effectName\": \"npcEntityWeaponDisruptor\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ElectronicAttributeModifyTarget\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2113\n  }, \n  \"6695\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 1, \n    \"durationAttributeID\": 929, \n    \"effectCategory\": 2, \n    \"effectID\": 6695, \n    \"effectName\": \"entityECMFalloff\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ElectronicAttributeModifyTarget\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 930, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 936, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2253\n  }, \n  \"6696\": {\n    \"disallowAutoRepeat\": 0, \n    \"distribution\": 2, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6696, \n    \"effectName\": \"starbaseEnergyNeutralizerFalloff\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.EnergyDestabilization\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 98, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2045\n  }, \n  \"6697\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 312493, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6697, \n    \"effectName\": \"rigDrawbackReductionArmor\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 773, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1232, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6698\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 312494, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6698, \n    \"effectName\": \"rigDrawbackReductionAstronautics\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 782, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1308, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6699\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6699, \n    \"effectName\": \"rigDrawbackReductionDrones\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 778, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6700\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6700, \n    \"effectName\": \"rigDrawbackReductionElectronic\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1234, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 786, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1233, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6701\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6701, \n    \"effectName\": \"rigDrawbackReductionProjectile\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 777, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6702\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6702, \n    \"effectName\": \"rigDrawbackReductionEnergyWeapon\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 775, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6703\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6703, \n    \"effectName\": \"rigDrawbackReductionHybrid\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 776, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6704\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6704, \n    \"effectName\": \"rigDrawbackReductionLauncher\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 779, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6705\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6705, \n    \"effectName\": \"rigDrawbackReductionShield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 774, \n        \"modifiedAttributeID\": 1138, \n        \"modifyingAttributeID\": 1139, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6706\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6706, \n    \"effectName\": \"setBonusAsklepian\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2457, \n        \"modifyingAttributeID\": 803, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6708\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 312552, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6708, \n    \"effectName\": \"armorRepairAmountBonusSubcap\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2457, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6709\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6709, \n    \"effectName\": \"shipBonusRole1CapitalHybridDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 21666\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6710\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6710, \n    \"effectName\": \"shipBonusDreadnoughtM1WebStrengthBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 2292, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6711\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6711, \n    \"effectName\": \"shipBonusRole3CapitalHybridDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2300, \n        \"operation\": 6, \n        \"skillTypeID\": 21666\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6712\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6712, \n    \"effectName\": \"shipBonusTitanM1WebStrengthBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 2418, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6713\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6713, \n    \"effectName\": \"shipBonusSupercarrierM1BurstProjectorWebBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 2390, \n        \"operation\": 6, \n        \"skillTypeID\": 27911\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6714\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6714, \n    \"effectName\": \"ECMBurstJammer\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ECMBurst\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 142, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2253\n  }, \n  \"6715\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6715, \n    \"effectName\": \"ECMBurstJammerQA\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ECMBurst\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 142, \n    \"rangeChance\": 0\n  }, \n  \"6716\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6716, \n    \"effectName\": \"pacifierDebuffQA\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ECMBurst\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 142, \n    \"rangeChance\": 0\n  }, \n  \"6717\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 312575, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6717, \n    \"effectName\": \"roleBonusIceOreMiningDurationCap\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2458, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2458, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2458, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2458, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6718\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6718, \n    \"effectName\": \"logisticSkillMultiplier3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2460, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6719\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 2788, \n    \"effectCategory\": 1, \n    \"effectID\": 6719, \n    \"effectName\": \"moduleBonusIndustrialInvulnerability\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6720\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 312622, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6720, \n    \"effectName\": \"shipBonusDroneRepairMC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 83, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6721\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 312623, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6721, \n    \"effectName\": \"eliteBonusLogisticRemoteArmorRepairOptimalFalloff1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 678, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 678, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6722\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 312624, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6722, \n    \"effectName\": \"roleBonusRemoteArmorRepairOptimalFalloff\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2462, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2462, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6723\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 312625, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6723, \n    \"effectName\": \"shipBonusCloakCpuMC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6724\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6724, \n    \"effectName\": \"eliteBonusLogisticRemoteArmorRepairDuration3\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2460, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6725\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 312627, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6725, \n    \"effectName\": \"shipBonusSETFalloffAF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6726\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 312628, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6726, \n    \"effectName\": \"shipBonusCloakCpuMF1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6727\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 312629, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6727, \n    \"effectName\": \"eliteBonusCoverOpsNOSNeutFalloff1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 569, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 569, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6730\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6730, \n    \"effectName\": \"moduleBonusMicrowarpdrive\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MicroWarpDrive\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6731\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6731, \n    \"effectName\": \"moduleBonusAfterburner\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Afterburner\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6732\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6732, \n    \"effectName\": \"moduleBonusWarfareLinkArmor\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6733\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6733, \n    \"effectName\": \"moduleBonusWarfareLinkShield\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6734\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6734, \n    \"effectName\": \"moduleBonusWarfareLinkSkirmish\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6735\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6735, \n    \"effectName\": \"moduleBonusWarfareLinkInfo\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6736\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6736, \n    \"effectName\": \"moduleBonusWarfareLinkMining\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6737\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6737, \n    \"effectName\": \"chargeBonusWarfareCharge\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2468, \n        \"modifyingAttributeID\": 2468, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2596, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2470, \n        \"modifyingAttributeID\": 2470, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2597, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2472, \n        \"modifyingAttributeID\": 2472, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2598, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2536, \n        \"modifyingAttributeID\": 2536, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2599, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6739\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6739, \n    \"effectName\": \"industrialCommandShipSkillLevelMultiplierICS3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2474, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6740\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6740, \n    \"effectName\": \"industrialCommandShipSkillLevelMultiplierICS4\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2475, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6741\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2494, \n    \"durationAttributeID\": 2491, \n    \"effectCategory\": 2, \n    \"effectID\": 6741, \n    \"effectName\": \"npcBehaviorRemoteArmorRepairer\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2493, \n    \"guid\": \"effects.RemoteArmourRepair\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2492, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"6742\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2498, \n    \"durationAttributeID\": 2495, \n    \"effectCategory\": 2, \n    \"effectID\": 6742, \n    \"effectName\": \"npcBehaviorRemoteShieldBooster\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2497, \n    \"guid\": \"effects.ShieldTransfer\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2496, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"6743\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2502, \n    \"durationAttributeID\": 2499, \n    \"effectCategory\": 2, \n    \"effectID\": 6743, \n    \"effectName\": \"npcBehaviorWebifier\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2501, \n    \"guid\": \"effects.ModifyTargetSpeed\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2500, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2115\n  }, \n  \"6744\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2505, \n    \"durationAttributeID\": 2503, \n    \"effectCategory\": 2, \n    \"effectID\": 6744, \n    \"effectName\": \"behaviorWarpDisrupt\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpDisrupt\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 2510, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2504, \n    \"rangeChance\": 0\n  }, \n  \"6745\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2508, \n    \"durationAttributeID\": 2506, \n    \"effectCategory\": 2, \n    \"effectID\": 6745, \n    \"effectName\": \"behaviorWarpScramble\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpScramble\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 2509, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1349, \n        \"modifyingAttributeID\": 2509, \n        \"operation\": 2, \n        \"skillTypeID\": 3454\n      }, \n      {\n        \"domain\": \"target\", \n        \"effectID\": 6441, \n        \"func\": \"EffectStopper\"\n      }, \n      {\n        \"domain\": \"target\", \n        \"effectID\": 6442, \n        \"func\": \"EffectStopper\"\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2507, \n    \"rangeChance\": 0\n  }, \n  \"6746\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2514, \n    \"durationAttributeID\": 2511, \n    \"effectCategory\": 2, \n    \"effectID\": 6746, \n    \"effectName\": \"npcBehaviorGuidanceDisruptor\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2513, \n    \"guid\": \"effects.ElectronicAttributeModifyTarget\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2512, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2113\n  }, \n  \"6747\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2518, \n    \"durationAttributeID\": 2515, \n    \"effectCategory\": 2, \n    \"effectID\": 6747, \n    \"effectName\": \"npcBehaviorTrackingDisruptor\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2517, \n    \"guid\": \"effects.TrackingDisruption\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2516, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2113\n  }, \n  \"6752\": {\n    \"description_de\": \"Effekt Drifter-Kontrolle für NPE-NPCs.\", \n    \"description_en-us\": \"Drifter Controlled effect for NPE NPCs.\", \n    \"description_es\": \"Efecto controlado de drifter para PNJ de EJN.\", \n    \"description_fr\": \"Effet réservé aux PNJ de la NPE sous contrôle drifter .\", \n    \"description_it\": \"Drifter Controlled effect for NPE NPCs.\", \n    \"description_ja\": \"NPE NPCのためのドリフター支配下効果。\", \n    \"description_ko\": \"NPE NPC를 위한 드리프터 컨트롤 효과입니다.\", \n    \"description_ru\": \"Эффект управления Скитальцами для NPC учебных курсов.\", \n    \"description_zh\": \"新手期NPC被流浪者控制的效果。\", \n    \"descriptionID\": 315016, \n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 636, \n    \"effectCategory\": 1, \n    \"effectID\": 6752, \n    \"effectName\": \"entityDrifterControlled\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.DrifterControlled\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6753\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6753, \n    \"effectName\": \"moduleTitanEffectGenerator\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6754\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2526, \n    \"durationAttributeID\": 2523, \n    \"effectCategory\": 2, \n    \"effectID\": 6754, \n    \"effectName\": \"behaviorTargetPainter\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2525, \n    \"guid\": \"effects.TargetPaint\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2524, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2114\n  }, \n  \"6755\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2530, \n    \"durationAttributeID\": 2527, \n    \"effectCategory\": 2, \n    \"effectID\": 6755, \n    \"effectName\": \"behaviorSensorDampener\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2529, \n    \"guid\": \"effects.SensorDampening\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2528, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2112\n  }, \n  \"6756\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2522, \n    \"durationAttributeID\": 2519, \n    \"effectCategory\": 2, \n    \"effectID\": 6756, \n    \"effectName\": \"npcBehaviorEnergyNeutralizer\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2521, \n    \"guid\": \"effects.EnergyDestabilization\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2520, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2045\n  }, \n  \"6757\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2534, \n    \"durationAttributeID\": 2531, \n    \"effectCategory\": 2, \n    \"effectID\": 6757, \n    \"effectName\": \"behaviorECM\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2533, \n    \"guid\": \"effects.ElectronicAttributeModifyTarget\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2532, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2253\n  }, \n  \"6759\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6759, \n    \"effectName\": \"engComplexServiceFuelBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1415, \n        \"modifiedAttributeID\": 2109, \n        \"modifyingAttributeID\": 2339, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1415, \n        \"modifiedAttributeID\": 2110, \n        \"modifyingAttributeID\": 2339, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6762\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6762, \n    \"effectName\": \"miningDroneSpecBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 434, \n        \"operation\": 6, \n        \"skillTypeID\": 22541\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2603, \n        \"operation\": 6, \n        \"skillTypeID\": 22541\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6763\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315400, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6763, \n    \"effectName\": \"iceHarvestingDroneOperationDurationBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 293, \n        \"operation\": 6, \n        \"skillTypeID\": 43702\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6764\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6764, \n    \"effectName\": \"iceHarvestingDroneSpecBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 293, \n        \"operation\": 6, \n        \"skillTypeID\": 43703\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2603, \n        \"operation\": 6, \n        \"skillTypeID\": 43703\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6765\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315410, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6765, \n    \"effectName\": \"spatialPhenomenaGenerationDurationBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 43728\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6766\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6766, \n    \"effectName\": \"commandProcessorEffect\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 978, \n        \"modifyingAttributeID\": 435, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 763, \n        \"modifyingAttributeID\": 435, \n        \"operation\": 2, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6768\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6768, \n    \"effectName\": \"areaOfEffectSkillBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 670, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6769\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6769, \n    \"effectName\": \"commandBurstAoEBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 670, \n        \"operation\": 6, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6770\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6770, \n    \"effectName\": \"armoredCommandDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6771\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6771, \n    \"effectName\": \"shieldCommandDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6772\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6772, \n    \"effectName\": \"informationCommandDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6773\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6773, \n    \"effectName\": \"skirmishCommandDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6774\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6774, \n    \"effectName\": \"miningForemanDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6775\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6775, \n    \"effectName\": \"commandBurstStrengthSkillBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2572, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6776\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6776, \n    \"effectName\": \"armoredCommandStrengthBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6777\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6777, \n    \"effectName\": \"shieldCommandStrengthBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6778\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6778, \n    \"effectName\": \"informationCommandStrengthBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 20495\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6779\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6779, \n    \"effectName\": \"skirmishCommandStrengthBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 3349\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6780\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6780, \n    \"effectName\": \"miningForemanStrengthBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6781\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6781, \n    \"effectName\": \"reloadTimeSkillBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2573, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6782\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6782, \n    \"effectName\": \"commandBurstReloadTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1795, \n        \"modifyingAttributeID\": 2573, \n        \"operation\": 6, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6783\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6783, \n    \"effectName\": \"commandBurstAoERoleBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2574, \n        \"operation\": 6, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6785\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6785, \n    \"effectName\": \"industrialCommandShipSkillLevelMultiplierICS5\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2577, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6786\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6786, \n    \"effectName\": \"shieldCommandBurstBonusICS3\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2474, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2474, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2474, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2474, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2474, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6787\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6787, \n    \"effectName\": \"shipBonusDroneHPDamageMiningICS4\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2475, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 2475, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 2475, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2475, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 2475, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6788\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6788, \n    \"effectName\": \"shipBonusDroneIceHarvestingICS5\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2577, \n        \"operation\": 6, \n        \"skillTypeID\": 43702\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6789\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6789, \n    \"effectName\": \"industrialBonusDroneDamage\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2580, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6790\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6790, \n    \"effectName\": \"shipBonusDroneIceHarvestingRole\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2579, \n        \"operation\": 6, \n        \"skillTypeID\": 43702\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6791\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6791, \n    \"effectName\": \"oreCapitalShipSkillMultiplier5\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2582, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6792\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6792, \n    \"effectName\": \"shipBonusDroneHPDamageMiningORECapital4\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1244, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1244, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 1244, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1244, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 1244, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6793\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6793, \n    \"effectName\": \"miningForemanBurstBonusORECapital2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1240, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1240, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1240, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1240, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1240, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6794\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6794, \n    \"effectName\": \"shieldCommandBurstBonusORECapital3\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 1243, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 1243, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 1243, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 1243, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 1243, \n        \"operation\": 6, \n        \"skillTypeID\": 3350\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6795\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6795, \n    \"effectName\": \"shipBonusDroneIceHarvestingORECapital5\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2582, \n        \"operation\": 6, \n        \"skillTypeID\": 43702\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6796\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6796, \n    \"effectName\": \"shipModeSHTDamagePostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2589, \n        \"operation\": 5, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6797\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6797, \n    \"effectName\": \"shipModeSPTDamagePostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2589, \n        \"operation\": 5, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6798\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6798, \n    \"effectName\": \"shipModeSETDamagePostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2589, \n        \"operation\": 5, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6799\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6799, \n    \"effectName\": \"shipModeSmallMissileDamagePostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2589, \n        \"operation\": 5, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2589, \n        \"operation\": 5, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2589, \n        \"operation\": 5, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2589, \n        \"operation\": 5, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2589, \n        \"operation\": 5, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2589, \n        \"operation\": 5, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2589, \n        \"operation\": 5, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2589, \n        \"operation\": 5, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6800\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6800, \n    \"effectName\": \"modeDampTDResistsPostDiv\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2112, \n        \"modifyingAttributeID\": 2590, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2113, \n        \"modifyingAttributeID\": 2590, \n        \"operation\": 5\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6801\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6801, \n    \"effectName\": \"modeMWDandABBoostPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 2003, \n        \"operation\": 5, \n        \"skillTypeID\": 3454\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 2003, \n        \"operation\": 5, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6805\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von Ausrüstung\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of equipment\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar equipo.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production d'équipement (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of equipment\", \n    \"description_ja\": \"ストラクチャリグ 装置の製造に対して材料効果\", \n    \"description_ko\": \"장비 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве оборудования\", \n    \"description_zh\": \"建筑改装件对制造设备的材料影响效果\", \n    \"descriptionID\": 315454, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6805, \n    \"effectName\": \"rigEquipmentManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2538, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6806\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von Ausrüstung\", \n    \"description_en-us\": \"Structure Rig Time effect on Manufacturing of equipment\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al fabricar equipo.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de la production d'équipement (Structure)\", \n    \"description_it\": \"Structure Rig Time effect on Manufacturing of equipment\", \n    \"description_ja\": \"ストラクチャリグ 装置の製造に対して時間効果\", \n    \"description_ko\": \"장비 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве оборудования\", \n    \"description_zh\": \"建筑改装件对制造设备的时间影响效果\", \n    \"descriptionID\": 315459, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6806, \n    \"effectName\": \"rigEquipmentManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2539, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6807\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6807, \n    \"effectName\": \"invulnerabilityCoreDurationBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 44067\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2788, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 44067\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6808\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von Munition\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of ammo\", \n    \"description_es\": \"Efecto de material de complementos de estructura en la fabricación de munición.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production d'équipement (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of ammo\", \n    \"description_ja\": \"ストラクチャリグ 弾薬の製造に対して材料効果\", \n    \"description_ko\": \"탄약 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве боеприпасов и зарядов\", \n    \"description_zh\": \"建筑改装件对制造弹药的材料影响效果\", \n    \"descriptionID\": 315455, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6808, \n    \"effectName\": \"rigAmmoManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2540, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6809\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von Munition\", \n    \"description_en-us\": \"Structure Rig Time effect on Manufacturing of ammo\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al fabricar munición.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de la production de munitions (Structure)\", \n    \"description_it\": \"Structure Rig Time effect on Manufacturing of ammo\", \n    \"description_ja\": \"ストラクチャリグ 弾薬の製造に対して時間効果\", \n    \"description_ko\": \"탄약 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве боеприпасов и зарядов\", \n    \"description_zh\": \"建筑改装件对制造弹药的时间影响效果\", \n    \"descriptionID\": 315456, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6809, \n    \"effectName\": \"rigAmmoManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2541, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6810\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von Drohnen\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of drones\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar drones.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de drones (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of drones\", \n    \"description_ja\": \"ストラクチャリグ ドローンの製造に対して材料効果\", \n    \"description_ko\": \"드론 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве дронов\", \n    \"description_zh\": \"建筑改装件对制造无人机的材料影响效果\", \n    \"descriptionID\": 315457, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6810, \n    \"effectName\": \"rigDroneManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2542, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6811\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von Drohnen\", \n    \"description_en-us\": \"Structure Rig Time effect on Manufacturing of drones\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructura al fabricar drones.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de la production de drones (Structure)\", \n    \"description_it\": \"Structure Rig Time effect on Manufacturing of drones\", \n    \"description_ja\": \"ストラクチャリグ ドローンの製造に対して時間効果\", \n    \"description_ko\": \"드론 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве дронов\", \n    \"description_zh\": \"建筑改装件对制造无人机的时间影响效果\", \n    \"descriptionID\": 315458, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6811, \n    \"effectName\": \"rigDroneManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2543, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6812\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von kleinen Schiffen\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of small Ships\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar naves pequeñas.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de petits vaisseaux (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of small Ships\", \n    \"description_ja\": \"ストラクチャリグ 小型艦船の製造に対して材料効果\", \n    \"description_ko\": \"소형 함선 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве кораблей малого тоннажа\", \n    \"description_zh\": \"建筑改装件对制造小型舰船的材料影响效果\", \n    \"descriptionID\": 315484, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6812, \n    \"effectName\": \"rigSmallshipManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2544, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6813\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von kleinen Schiffen\", \n    \"description_en-us\": \"Structure Rig time effect on Manufacturing of small ships\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al fabricar naves pequeñas.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de la production de petits vaisseaux (Structure)\", \n    \"description_it\": \"Structure Rig time effect on Manufacturing of small ships\", \n    \"description_ja\": \"ストラクチャリグ 小型艦船の製造に対して時間効果\", \n    \"description_ko\": \"소형 함선 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве кораблей малого тоннажа\", \n    \"description_zh\": \"建筑改装件对制造小型舰船的时间影响效果\", \n    \"descriptionID\": 315485, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6813, \n    \"effectName\": \"rigSmallshipManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2545, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6814\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von mittelgroßen Schiffen\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of medium ships\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar naves medianas.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de vaisseaux intermédiaires (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of medium ships\", \n    \"description_ja\": \"ストラクチャリグ 中型艦船の製造に対して材料効果\", \n    \"description_ko\": \"중형 함선 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве кораблей крейсерского тоннажа\", \n    \"description_zh\": \"建筑改装件对制造中型舰船的材料影响效果\", \n    \"descriptionID\": 315486, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6814, \n    \"effectName\": \"rigMediumshipManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2546, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6815\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von mittelgroßen Schiffen\", \n    \"description_en-us\": \"Structure Rig time effect on Manufacturing of medium ships\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al fabricar naves medianas.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de la production de vaisseaux intermédiaires (Structure)\", \n    \"description_it\": \"Structure Rig time effect on Manufacturing of medium ships\", \n    \"description_ja\": \"ストラクチャリグ 中型艦船の製造に対して時間効果\", \n    \"description_ko\": \"중형 함선 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве кораблей крейсерского тоннажа\", \n    \"description_zh\": \"建筑改装件对制造中型舰船的时间影响效果\", \n    \"descriptionID\": 315487, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6815, \n    \"effectName\": \"rigMediumshipsManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2547, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6816\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von großen Schiffen\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of large ships\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar naves grandes.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de grands vaisseaux (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of large ships\", \n    \"description_ja\": \"ストラクチャリグ 大型艦船の製造に対して材料効果\", \n    \"description_ko\": \"대형 함선 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве кораблей линейного тоннажа\", \n    \"description_zh\": \"建筑改装件对制造大型舰船的材料影响效果\", \n    \"descriptionID\": 315488, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6816, \n    \"effectName\": \"rigLargeshipManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2548, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6817\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von großen Schiffen\", \n    \"description_en-us\": \"Structure Rig time effect on Manufacturing of large ships\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al fabricar naves grandes.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de la production de grands vaisseaux (Structure)\", \n    \"description_it\": \"Structure Rig time effect on Manufacturing of large ships\", \n    \"description_ja\": \"ストラクチャリグ 大型艦船の製造に対して時間効果\", \n    \"description_ko\": \"대형 함선 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве кораблей линейного тоннажа\", \n    \"description_zh\": \"建筑改装件对制造大型舰船的时间影响效果\", \n    \"descriptionID\": 315489, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6817, \n    \"effectName\": \"rigLargeshipManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2549, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6818\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von fortschrittlichen kleinen Schiffen\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of advanced small ships\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar naves pequeñas con tecnología avanzada.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de petits vaisseaux avancés (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of advanced small ships\", \n    \"description_ja\": \"ストラクチャリグ 高性能な小型艦船の製造に対して材料効果\", \n    \"description_ko\": \"상급 소형 함선 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве улучшенных кораблей малого тоннажа\", \n    \"description_zh\": \"建筑改装件对制造高级小型舰船的材料影响效果\", \n    \"descriptionID\": 315490, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6818, \n    \"effectName\": \"rigAdvSmshipManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2550, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6819\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von fortschrittlichen kleinen Schiffen\", \n    \"description_en-us\": \"Structure Rig Time effect on Manufacturing of advanced small ships\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al fabricar naves pequeñas con tecnología avanzada.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de la production de petits vaisseaux avancés (Structure)\", \n    \"description_it\": \"Structure Rig Time effect on Manufacturing of advanced small ships\", \n    \"description_ja\": \"ストラクチャリグ 高性能な小型艦船の製造に対して時間効果\", \n    \"description_ko\": \"상급 소형 함선 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве улучшенных кораблей малого тоннажа\", \n    \"description_zh\": \"建筑改装件对制造高级小型舰船的时间影响效果\", \n    \"descriptionID\": 315491, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6819, \n    \"effectName\": \"rigAdvSmshipManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2551, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6820\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von fortschrittlichen mittelgroßen Schiffen\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of advanced medium ships\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar naves medianas con tecnología avanzada.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de vaisseaux intermédiaires avancés (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of advanced medium ships\", \n    \"description_ja\": \"ストラクチャリグ 高性能な中型艦船の製造に対して材料効果\", \n    \"description_ko\": \"상급 중형 함선 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве улучшенных кораблей крейсерского тоннажа\", \n    \"description_zh\": \"建筑改装件对制造高级中型舰船的材料影响效果\", \n    \"descriptionID\": 315492, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6820, \n    \"effectName\": \"rigAdvMedShipManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2552, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6821\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von fortschrittlichen mittelgroßen Schiffen\", \n    \"description_en-us\": \"Structure Rig Time effect on Manufacturing of advanced medium ships\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al fabricar naves medianas con tecnología avanzada.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de la production de vaisseaux intermédiaires avancés (Structure)\", \n    \"description_it\": \"Structure Rig Time effect on Manufacturing of advanced medium ships\", \n    \"description_ja\": \"ストラクチャリグ 高性能な中型艦船の製造に対して時間効果\", \n    \"description_ko\": \"상급 중형 함선 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве улучшенных кораблей крейсерского тоннажа\", \n    \"description_zh\": \"建筑改装件对制造高级中型舰船的时间影响效果\", \n    \"descriptionID\": 315493, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6821, \n    \"effectName\": \"rigAdvMedShipManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2553, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6822\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von fortschrittlichen großen Schiffen\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of advanced large ships\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar naves grandes con tecnología avanzada.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de grands vaisseaux avancés (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of advanced large ships\", \n    \"description_ja\": \"ストラクチャリグ 高性能な大型艦船の製造に対して材料効果\", \n    \"description_ko\": \"상급 대형 함선 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве улучшенных кораблей линейного тоннажа\", \n    \"description_zh\": \"建筑改装件对制造高级大型舰船的材料影响效果\", \n    \"descriptionID\": 315494, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6822, \n    \"effectName\": \"rigAdvLarShipManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2555, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6823\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von fortschrittlichen großen Schiffen\", \n    \"description_en-us\": \"Structure Rig Time effect on Manufacturing of advanced large ships\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al fabricar naves grandes con tecnología avanzada.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de la production de grands vaisseaux avancés (Structure)\", \n    \"description_it\": \"Structure Rig Time effect on Manufacturing of advanced large ships\", \n    \"description_ja\": \"ストラクチャリグ 高性能な大型艦船の製造に対して時間効果\", \n    \"description_ko\": \"상급 대형 함선 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве улучшенных кораблей линейного тоннажа\", \n    \"description_zh\": \"建筑改装件对制造高级大型舰船的时间影响效果\", \n    \"descriptionID\": 315495, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6823, \n    \"effectName\": \"rigAdvLarShipManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2556, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6824\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von fortschrittlichen Komponenten\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of advanced components\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar componentes con tecnología avanzada.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de composants avancés (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of advanced components\", \n    \"description_ja\": \"ストラクチャリグ 高性能なコンポーネントの製造に対して材料効果\", \n    \"description_ko\": \"상급 부품 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве улучшенных компонентов\", \n    \"description_zh\": \"建筑改装件对制造高级组件的材料影响效果\", \n    \"descriptionID\": 315496, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6824, \n    \"effectName\": \"rigAdvComponentManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2557, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6825\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von Ausrüstung\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of equipment\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar equipo.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production d'équipement (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of equipment\", \n    \"description_ja\": \"ストラクチャリグ 装置の製造に対して材料効果\", \n    \"description_ko\": \"장비 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве оборудования\", \n    \"description_zh\": \"建筑改装件对制造设备的材料影响效果\", \n    \"descriptionID\": 315497, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6825, \n    \"effectName\": \"rigAdvComponentManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2558, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6826\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von gewöhnlichen Komponenten für Capital-Schiffe\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of Basic Capital Components\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar componentes capitales con tecnología básica.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de composants basiques avancés de vaisseaux capitaux (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of Basic Capital Components\", \n    \"description_ja\": \"ストラクチャリグ 標準的なキャピタルコンポーネントの製造に対して材料効果\", \n    \"description_ko\": \"기본 캐피탈 부품 제조에 영향을 미치는 구조물 리그 자원입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве базовых компонентов КБТ\", \n    \"description_zh\": \"建筑改装件对制造基础旗舰组件的材料影响效果\", \n    \"descriptionID\": 315498, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6826, \n    \"effectName\": \"rigBasCapCompManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2559, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6827\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von gewöhnlichen Komponenten für Capital-Schiffe\", \n    \"description_en-us\": \"Structure Rig Time effect on Manufacturing of basic capital components\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al fabricar componentes capitales con tecnología básica.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de la production de composants basiques avancés de vaisseaux capitaux (Structure)\", \n    \"description_it\": \"Structure Rig Time effect on Manufacturing of basic capital components\", \n    \"description_ja\": \"ストラクチャリグ 標準的なキャピタルコンポーネントの製造に対して時間効果\", \n    \"description_ko\": \"기본 캐피탈 부품 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве базовых компонентов КБТ\", \n    \"description_zh\": \"建筑改装件对制造基础旗舰组件的时间影响效果\", \n    \"descriptionID\": 315499, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6827, \n    \"effectName\": \"rigBasCapCompManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2560, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6828\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von Strukturen\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of structures\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar estructuras.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de structures (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of structures\", \n    \"description_ja\": \"ストラクチャリグ ストラクチャの製造に対して材料効果\", \n    \"description_ko\": \"구조물 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве сооружений\", \n    \"description_zh\": \"建筑改装件对制造建筑的材料影响效果\", \n    \"descriptionID\": 315500, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6828, \n    \"effectName\": \"rigStructureManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2561, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6829\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von Strukturen\", \n    \"description_en-us\": \"Structure Rig time effect on Manufacturing of structures\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al fabricar estructuras.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de la production de structures (Structure)\", \n    \"description_it\": \"Structure Rig time effect on Manufacturing of structures\", \n    \"description_ja\": \"ストラクチャリグ ストラクチャの製造に対して時間効果\", \n    \"description_ko\": \"구조물 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве сооружений\", \n    \"description_zh\": \"建筑改装件对制造建筑的时间影响效果\", \n    \"descriptionID\": 315501, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6829, \n    \"effectName\": \"rigStructureManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2562, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6830\": {\n    \"description_de\": \"Struktur-Modifikation-Kosteneffekt für Erfindungen\", \n    \"description_en-us\": \"Structure Rig Cost effect on Invention\", \n    \"description_es\": \"Efecto de coste de complementos para estructuras al inventar.\", \n    \"description_fr\": \"Optimisation – Coût de copie d'invention (Structure)\", \n    \"description_it\": \"Structure Rig Cost effect on Invention\", \n    \"description_ja\": \"ストラクチャリグ 発明に対して費用効果\", \n    \"description_ko\": \"인벤션의 비용을 감소시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: снижение стоимости модернизации\", \n    \"description_zh\": \"建筑改装件对发明的成本影响效果\", \n    \"descriptionID\": 315502, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6830, \n    \"effectName\": \"rigInventionCostBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2563, \n        \"modifyingAttributeID\": 2595, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6831\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für Erfindungen\", \n    \"description_en-us\": \"Structure Rig Time effect on Invention\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al inventar.\", \n    \"description_fr\": \"Optimisation – Productivité horaire d'invention (Structure)\", \n    \"description_it\": \"Structure Rig Time effect on Invention\", \n    \"description_ja\": \"ストラクチャリグ 発明に対して時間効果\", \n    \"description_ko\": \"인벤션의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: снижение затрат времени на модернизацию\", \n    \"description_zh\": \"建筑改装件对发明的时间影响效果\", \n    \"descriptionID\": 315503, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6831, \n    \"effectName\": \"rigInventionTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2564, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6832\": {\n    \"description_de\": \"Struktur-Modifikation-Kosteneffekt für Materialeffizienzforschungen\", \n    \"description_en-us\": \"Structure Rig Cost effect on ME Research\", \n    \"description_es\": \"Efecto de coste de complementos para estructuras al investigar EM.\", \n    \"description_fr\": \"Optimisation – Coût de copie de recherche en EM (Structure)\", \n    \"description_it\": \"Structure Rig Cost effect on ME Research\", \n    \"description_ja\": \"ストラクチャリグ ME研究に対して費用効果\", \n    \"description_ko\": \"자원효율성 연구의 비용을 절감시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: снижение стоимости проектов повышения материалоэффективности\", \n    \"description_zh\": \"建筑改装件对材料效率研究的成本影响效果\", \n    \"descriptionID\": 315504, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6832, \n    \"effectName\": \"rigMEResearchCostBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2565, \n        \"modifyingAttributeID\": 2595, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6833\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von Ausrüstung\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of equipment\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar equipo.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production d'équipement (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of equipment\", \n    \"description_ja\": \"ストラクチャリグ 装置の製造に対して材料効果\", \n    \"description_ko\": \"장비 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве оборудования\", \n    \"description_zh\": \"建筑改装件对制造设备的材料影响效果\", \n    \"descriptionID\": 315505, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6833, \n    \"effectName\": \"rigMEResearchTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2566, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6834\": {\n    \"description_de\": \"Struktur-Modifikation-Kosteneffekt für Zeiteffizienzforschungen\", \n    \"description_en-us\": \"Structure Rig Cost effect on TE Research\", \n    \"description_es\": \"Efecto de coste de complementos para estructuras al investigar ET\", \n    \"description_fr\": \"Optimisation – Coût de copie de recherche en PH (Structure)\", \n    \"description_it\": \"Structure Rig Cost effect on TE Research\", \n    \"description_ja\": \"ストラクチャリグ TE研究に対して費用効果\", \n    \"description_ko\": \"시간효율성 연구의 비용을 절감시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: снижение стоимости проектов повышения скорости производства\", \n    \"description_zh\": \"建筑改装件对时间效率研究的成本影响效果\", \n    \"descriptionID\": 315506, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6834, \n    \"effectName\": \"rigTEResearchCostBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2567, \n        \"modifyingAttributeID\": 2595, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6835\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für Zeiteffizienzforschungen\", \n    \"description_en-us\": \"Structure Rig Time effect on TE Research\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al investigar ET.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de recherche en PH (Structure)\", \n    \"description_it\": \"Structure Rig Time effect on TE Research\", \n    \"description_ja\": \"ストラクチャリグ TE研究に対して時間効果\", \n    \"description_ko\": \"시간효율성 연구의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: снижение затрат времени на проекты повышения скорости производства\", \n    \"description_zh\": \"建筑改装件对时间效率研究的时间影响效果\", \n    \"descriptionID\": 315507, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6835, \n    \"effectName\": \"rigTEResearchTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2568, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6836\": {\n    \"description_de\": \"Struktur-Modifikation-Kosteneffekt für Kopierungen\", \n    \"description_en-us\": \"Structure Rig Cost effect on Copying\", \n    \"description_es\": \"Efecto de coste de complementos para estructuras al copiar.\", \n    \"description_fr\": \"Optimisation – Coût de copie (Structure)\", \n    \"description_it\": \"Structure Rig Cost effect on Copying\", \n    \"description_ja\": \"ストラクチャリグ 複製に対して費用効果\", \n    \"description_ko\": \"복제의 비용을 감소시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: снижение стоимости копирования чертежей\", \n    \"description_zh\": \"建筑改装件对拷贝的成本影响效果\", \n    \"descriptionID\": 315508, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6836, \n    \"effectName\": \"rigCopyCostBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2569, \n        \"modifyingAttributeID\": 2595, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6837\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für Kopierungen\", \n    \"description_en-us\": \"Structure Rig Time effect on Copying\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al copiar.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de copie (Structure)\", \n    \"description_it\": \"Structure Rig Time effect on Copying\", \n    \"description_ja\": \"ストラクチャリグ 複製に対して時間用効果\", \n    \"description_ko\": \"복제의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: снижение затрат времени на копирование чертежей\", \n    \"description_zh\": \"建筑改装件对拷贝的时间影响效果\", \n    \"descriptionID\": 315509, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6837, \n    \"effectName\": \"rigCopyTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2570, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6838\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von Capital-Schiffen\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of Capital ships\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar naves capitales.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de vaisseaux capitaux (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of Capital ships\", \n    \"description_ja\": \"ストラクチャリグ 母艦級艦船の製造に対して材料効果\", \n    \"description_ko\": \"캐피탈 함선 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве КБТ\", \n    \"description_zh\": \"建筑改装件对制造旗舰的材料影响效果\", \n    \"descriptionID\": 315510, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6838, \n    \"effectName\": \"rigCapShipManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2575, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6839\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von Capital-Schiffen\", \n    \"description_en-us\": \"Structure Rig Time effect on Manufacturing of Capital Ships\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al fabricar naves capitales.\", \n    \"description_fr\": \"Optimisation – Productivité horaire de la production de vaisseaux capitaux (Structure)\", \n    \"description_it\": \"Structure Rig Time effect on Manufacturing of Capital Ships\", \n    \"description_ja\": \"ストラクチャリグ 母艦級艦船の製造に対して時間効果\", \n    \"description_ko\": \"캐피탈 함선 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве КБТ\", \n    \"description_zh\": \"建筑改装件对制造旗舰的时间影响效果\", \n    \"descriptionID\": 315511, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6839, \n    \"effectName\": \"rigCapShipManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2576, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6840\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von allen Schiffen\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of all ships\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar cualquier nave.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de tous les vaisseaux (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of all ships\", \n    \"description_ja\": \"ストラクチャリグ すべての艦船の製造に対して材料効果\", \n    \"description_ko\": \"모든 함선 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве всех кораблей\", \n    \"description_zh\": \"建筑改装件对制造所有舰船的材料影响效果\", \n    \"descriptionID\": 315512, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6840, \n    \"effectName\": \"rigAllShipManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2592, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6841\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von allen Schiffen\", \n    \"description_en-us\": \"rig time bonus on manufacture of all ships\", \n    \"description_es\": \"Bonificación de tiempo de complementos al fabricar cualquier nave\", \n    \"description_fr\": \"Optimisation – Bonus horaire à la production de tous les vaisseaux\", \n    \"description_it\": \"rig time bonus on manufacture of all ships\", \n    \"description_ja\": \"すべての艦船の製造に対してリグ時間ボーナス\", \n    \"description_ko\": \"모든 함선 제작의 시간효율성을 향상시키는 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве всех кораблей\", \n    \"description_zh\": \"建筑改装件对制造所有舰船的时间影响效果\", \n    \"descriptionID\": 315513, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6841, \n    \"effectName\": \"rigAllShipManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2591, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6842\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6842, \n    \"effectName\": \"structureEngineeringRigSecurityModification\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2595, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2653, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6843\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6843, \n    \"effectName\": \"skillMultiplierMissileVelocityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 547, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6844\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6844, \n    \"effectName\": \"skillMultiplierDefenderMissileVelocity\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 547, \n        \"operation\": 6, \n        \"skillTypeID\": 3323\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6845\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6845, \n    \"effectName\": \"shipBonusCommandDestroyerRole1DefenderBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 669, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 3323\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6846\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2515, \n    \"effectCategory\": 2, \n    \"effectID\": 6846, \n    \"effectName\": \"npcEntityTrackingDisruptor\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ElectronicAttributeModifyTarget\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"npcActivationChanceAttributeID\": 933, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2516, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2113\n  }, \n  \"6848\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 1319, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6848, \n    \"effectName\": \"shipModuleFocusedWarpScramblingScript\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpScramble\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1349, \n        \"modifyingAttributeID\": 1350, \n        \"operation\": 2, \n        \"skillTypeID\": 3454\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1349, \n        \"modifyingAttributeID\": 1350, \n        \"operation\": 2, \n        \"skillTypeID\": 4385\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1470, \n        \"modifyingAttributeID\": 1470, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"target\", \n        \"effectID\": 6441, \n        \"func\": \"EffectStopper\"\n      }, \n      {\n        \"domain\": \"target\", \n        \"effectID\": 6442, \n        \"func\": \"EffectStopper\"\n      }, \n      {\n        \"domain\": \"target\", \n        \"effectID\": 4921, \n        \"func\": \"EffectStopper\"\n      }, \n      {\n        \"domain\": \"target\", \n        \"effectID\": 6208, \n        \"func\": \"EffectStopper\"\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1973, \n        \"modifyingAttributeID\": 1974, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 103, \n    \"rangeChance\": 0\n  }, \n  \"6849\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 1319, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 6849, \n    \"effectName\": \"shipModuleFocusedWarpDisruptionScript\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarpDisrupt\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1470, \n        \"modifyingAttributeID\": 1470, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1973, \n        \"modifyingAttributeID\": 1974, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 103, \n    \"rangeChance\": 0\n  }, \n  \"6851\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6851, \n    \"effectName\": \"shipBonusRole3CapitalEnergyDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2300, \n        \"operation\": 6, \n        \"skillTypeID\": 20327\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6852\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6852, \n    \"effectName\": \"shipBonusTitanM1WebRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2418, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6853\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6853, \n    \"effectName\": \"shipBonusTitanA1EnergyWarfareAmountBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 2406, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 2406, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6855\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6855, \n    \"effectName\": \"shipBonusDreadnoughtA1EnergyWarfareAmountBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6856\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6856, \n    \"effectName\": \"shipBonusDreadnoughtM1WebRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2292, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6857\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6857, \n    \"effectName\": \"shipBonusForceAuxiliaryA1NosferatuRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2308, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2308, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6858\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6858, \n    \"effectName\": \"shipBonusForceAuxiliaryA1NosferatuDrainAmount\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 2308, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6859\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6859, \n    \"effectName\": \"shipBonusRole4NosferatuCPUBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2301, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6860\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6860, \n    \"effectName\": \"shipBonusRole5RemoteArmorRepairPowergridBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2302, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6861\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6861, \n    \"effectName\": \"shipBonusRole5CapitalRemoteArmorRepairPowergridBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2302, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6862\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6862, \n    \"effectName\": \"shipBonusForceAuxiliaryM1RemoteArmorRepairDuration\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2317, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6864\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2614, \n    \"durationAttributeID\": 2615, \n    \"effectCategory\": 1, \n    \"effectID\": 6864, \n    \"effectName\": \"npcBehaviorMicroWarpDrive\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MicroWarpDrive\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6865\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315647, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6865, \n    \"effectName\": \"eliteBonusCoverOpsWarpVelocity1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 569, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6866\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6866, \n    \"effectName\": \"shipBonusSmallMissileFlightTimeCF1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6867\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6867, \n    \"effectName\": \"shipBonusSPTRoFMF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6868\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6868, \n    \"effectName\": \"roleBonusConcordSecGain\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 359, \n        \"modifyingAttributeID\": 2620, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6869\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6869, \n    \"effectName\": \"concordIntermediateSecStatus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2621, \n        \"modifyingAttributeID\": 2610, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6870\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6870, \n    \"effectName\": \"concordAssignTankBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2622, \n        \"modifyingAttributeID\": 2621, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6871\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6871, \n    \"effectName\": \"concordSecStatusTankBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2622, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2622, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6872\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6872, \n    \"effectName\": \"eliteReconStasisWebBonus1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 962, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6873\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315648, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6873, \n    \"effectName\": \"eliteBonusReconWarpVelocity3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 1537, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6874\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6874, \n    \"effectName\": \"shipBonusMedMissileFlightTimeCC2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 657, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6875\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6875, \n    \"effectName\": \"blackOpsSkillMultiplier3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2627, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6876\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6876, \n    \"effectName\": \"blackOpsSkillMultiplier4\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2628, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6877\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315649, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6877, \n    \"effectName\": \"eliteBonusBlackOpsWarpVelocity1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6878\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6878, \n    \"effectName\": \"eliteBonusBlackOpsScramblerRange4\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2628, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6879\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6879, \n    \"effectName\": \"eliteBonusBlackOpsWebRange3\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2627, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6880\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6880, \n    \"effectName\": \"shipBonusLauncherRoF2CB\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1245, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 506, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 508, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 501, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6881\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6881, \n    \"effectName\": \"shipBonusLargeMissileFlightTimeCB1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 491, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6882\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2629, \n    \"durationAttributeID\": 2630, \n    \"effectCategory\": 2, \n    \"effectID\": 6882, \n    \"effectName\": \"npcBehaviorEnergyNosferatu\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 2631, \n    \"guid\": \"effects.EnergyVampire\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2632, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2045\n  }, \n  \"6883\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6883, \n    \"effectName\": \"shipBonusForceAuxiliaryM2LocalRepairAmount\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2318, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2318, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6884\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2634, \n    \"durationAttributeID\": 2633, \n    \"effectCategory\": 1, \n    \"effectID\": 6884, \n    \"effectName\": \"npcBehaviorArmorRepairer\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ArmorRepair\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6885\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2637, \n    \"durationAttributeID\": 2636, \n    \"effectCategory\": 1, \n    \"effectID\": 6885, \n    \"effectName\": \"npcBehaviorSiege\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.SiegeMode\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2116, \n        \"modifyingAttributeID\": 2638, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2135, \n        \"modifyingAttributeID\": 2639, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2112, \n        \"modifyingAttributeID\": 2640, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2113, \n        \"modifyingAttributeID\": 2641, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2253, \n        \"modifyingAttributeID\": 2642, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2643, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 2644, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2343, \n        \"modifyingAttributeID\": 2645, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 4, \n        \"modifyingAttributeID\": 2646, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2635, \n        \"modifyingAttributeID\": 2647, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2633, \n        \"modifyingAttributeID\": 2648, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2723, \n        \"modifyingAttributeID\": 2647, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2725, \n        \"modifyingAttributeID\": 2648, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2649, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 212, \n        \"modifyingAttributeID\": 2730, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6887\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von gewöhnlichen Komponenten für Capital-Schiffe\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of Basic Capital Components\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar componentes capitales con tecnología básica.\", \n    \"description_fr\": \"Optimisation – Productivité matérielle de la production de composants basiques avancés de vaisseaux capitaux (Structure)\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of Basic Capital Components\", \n    \"description_ja\": \"基本キャピタル部品の製造に及ぼす、ストラクチャリグの資源の効果\", \n    \"description_ko\": \"기본 캐피탈 부품 제조에 영향을 미치는 구조물 리그 자원입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве базовых компонентов КБТ\", \n    \"description_zh\": \"建筑改装件对制造基础旗舰组件的材料影响效果\", \n    \"descriptionID\": 315674, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6887, \n    \"effectName\": \"rigThukkerBasCapCompManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2559, \n        \"modifyingAttributeID\": 2653, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6888\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von fortschrittlichen Capital-Komponenten\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of advanced capital components\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar componentes capitales con tecnología avanzada.\", \n    \"description_fr\": \"Productivité matérielle du module d'optimisation de structure sur la production de composants capitaux avancés\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of advanced capital components\", \n    \"description_ja\": \"高性能キャピタル部品の製造に及ぼす、ストラクチャリグの資源の効果\", \n    \"description_ko\": \"상급 캐피탈 부품 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве усовершенствованных компонентов КБТ\", \n    \"description_zh\": \"建筑改装件对制造高级旗舰组件的材料影响效果\", \n    \"descriptionID\": 315717, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6888, \n    \"effectName\": \"rigAdvCapComponentManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2658, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6889\": {\n    \"description_de\": \"Struktur-Modifikation-Zeiteffekt für die Herstellung von fortschrittlichen Capital-Komponenten\", \n    \"description_en-us\": \"Structure Rig Time effect on Manufacturing of advanced capital components\", \n    \"description_es\": \"Efecto de tiempo de complementos para estructuras al fabricar componentes capitales con tecnología avanzada.\", \n    \"description_fr\": \"Productivité horaire du module d'optimisation de structure sur la production de composants capitaux avancés\", \n    \"description_it\": \"Structure Rig Time effect on Manufacturing of advanced capital components\", \n    \"description_ja\": \"高性能キャピタル部品の製造に及ぼす、ストラクチャリグの時間的効果\", \n    \"description_ko\": \"상급 캐피탈 부품 제조의 시간효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия времени при производстве усовершенствованных компонентов КБТ\", \n    \"description_zh\": \"建筑改装件对制造高级旗舰组件的时间影响效果\", \n    \"descriptionID\": 315718, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6889, \n    \"effectName\": \"rigAdvCapComponentManufactureTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2659, \n        \"modifyingAttributeID\": 2593, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6890\": {\n    \"description_de\": \"Struktur-Modifikation-Materialeffekt für die Herstellung von fortschrittlichen Capital-Komponenten\", \n    \"description_en-us\": \"Structure Rig Material effect on Manufacturing of Advanced Capital Components\", \n    \"description_es\": \"Efecto de material de complementos para estructuras al fabricar componentes capitales con tecnología avanzada.\", \n    \"description_fr\": \"Productivité matérielle du module d'optimisation de structure sur la production de composants capitaux avancés\", \n    \"description_it\": \"Structure Rig Material effect on Manufacturing of Advanced Capital Components\", \n    \"description_ja\": \"高性能キャピタル部品の製造に及ぼす、ストラクチャリグの資源の効果\", \n    \"description_ko\": \"상급 캐피탈 부품 제조의 자원효율성을 향상시키는 구조물 리그입니다.\", \n    \"description_ru\": \"Эффект модификатора сооружений: экономия материалов при производстве усовершенствованных компонентов КБТ\", \n    \"description_zh\": \"建筑改装件对制造高级旗舰组件的材料影响效果\", \n    \"descriptionID\": 315719, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6890, \n    \"effectName\": \"rigThukkerAdvCapCompManufactureMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2658, \n        \"modifyingAttributeID\": 2653, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6891\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6891, \n    \"effectName\": \"reactionTimeBonusPostPercentManufactureTimeMultiplierChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2662, \n        \"modifyingAttributeID\": 2660, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6892\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6892, \n    \"effectName\": \"reactionSkillBoostManufacturingTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2660, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6893\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6893, \n    \"effectName\": \"massReactionSkillLevelModAddReactionSlotLimitChar\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2664, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6894\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315752, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6894, \n    \"effectName\": \"subsystemEnergyNeutFittingReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2665, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2665, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2665, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2665, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6895\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315753, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6895, \n    \"effectName\": \"subsystemMETFittingReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2668, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2668, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6896\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315754, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6896, \n    \"effectName\": \"subsystemMHTFittingReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2666, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2666, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6897\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315755, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6897, \n    \"effectName\": \"subsystemMPTFittingReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2667, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2667, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6898\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315756, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6898, \n    \"effectName\": \"subsystemMRARFittingReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2691, \n        \"modifyingAttributeID\": 2671, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6899\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315757, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6899, \n    \"effectName\": \"subsystemMRSBFittingReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2691, \n        \"modifyingAttributeID\": 2670, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6900\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315758, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6900, \n    \"effectName\": \"subsystemMMissileFittingReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2669, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2669, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2669, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2669, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2669, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2669, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6901\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2674, \n    \"distribution\": 2, \n    \"durationAttributeID\": 2490, \n    \"effectCategory\": 2, \n    \"effectID\": 6901, \n    \"effectName\": \"npcBehaviorMiningLaser\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2673, \n    \"rangeChance\": 0\n  }, \n  \"6902\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6902, \n    \"effectName\": \"shipModuleNonRepeatingShieldHardener\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ModifyShieldResonance\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6903\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 6903, \n    \"effectName\": \"shipModuleNonRepeatingArmorHardener\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ArmorHardening\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6904\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6904, \n    \"effectName\": \"strategicCruiserMinmatarSkillLevel2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2679, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6905\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6905, \n    \"effectName\": \"strategicCruiserAmarrSkillLevel2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2677, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6906\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6906, \n    \"effectName\": \"strategicCruiserCaldariSkillLevel2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2676, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6907\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6907, \n    \"effectName\": \"strategicCruiserGallenteSkillLevel2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2678, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6908\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6908, \n    \"effectName\": \"shipBonusStrategicCruiserCaldariNaniteRepairTime2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1267, \n        \"modifyingAttributeID\": 2676, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6909\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6909, \n    \"effectName\": \"shipBonusStrategicCruiserAmarrNaniteRepairTime2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1267, \n        \"modifyingAttributeID\": 2677, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6910\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6910, \n    \"effectName\": \"shipBonusStrategicCruiserGallenteNaniteRepairTime2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1267, \n        \"modifyingAttributeID\": 2678, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6911\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6911, \n    \"effectName\": \"shipBonusStrategicCruiserMinmatarNaniteRepairTime2\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1267, \n        \"modifyingAttributeID\": 2679, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6912\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6912, \n    \"effectName\": \"subsystemSkillLevelAmarrDefensive3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 954, \n        \"modifiedAttributeID\": 2680, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6913\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6913, \n    \"effectName\": \"subsystemSkillLevelAmarrEngineering3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 958, \n        \"modifiedAttributeID\": 2681, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6914\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6914, \n    \"effectName\": \"subsystemSkillLevelCaldariEngineering3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 958, \n        \"modifiedAttributeID\": 2683, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6915\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6915, \n    \"effectName\": \"subsystemSkillLevelCaldariDefensive3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 954, \n        \"modifiedAttributeID\": 2682, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6916\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6916, \n    \"effectName\": \"subsystemSkillLevelGallenteEngineering3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 958, \n        \"modifiedAttributeID\": 2685, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6917\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6917, \n    \"effectName\": \"subsystemSkillLevelGallenteDefensive3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 954, \n        \"modifiedAttributeID\": 2684, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6918\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6918, \n    \"effectName\": \"subsystemSkillLevelMinmatarEngineering3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 958, \n        \"modifiedAttributeID\": 2687, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6919\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6919, \n    \"effectName\": \"subsystemSkillLevelMinmatarDefensive3\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 954, \n        \"modifiedAttributeID\": 2686, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6920\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6920, \n    \"effectName\": \"structureHPBonusAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 2688, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6921\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6921, \n    \"effectName\": \"subSystemBonusAmarrDefensive2ScanProbeStrength\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 1507, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6923\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6923, \n    \"effectName\": \"subsystemBonusMinmatarOffensive1HMLHAMVelo\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1449, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6924\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6924, \n    \"effectName\": \"subsystemBonusMinmatarOffensive3MissileExpVelo\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 1534, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6925\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6925, \n    \"effectName\": \"subsystemBonusGallenteOffensive2DroneVeloTracking\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1521, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 1521, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6926\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6926, \n    \"effectName\": \"subsystemBonusAmarrPropulsionWarpCapacitor\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 153, \n        \"modifyingAttributeID\": 1435, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6927\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6927, \n    \"effectName\": \"subsystemBonusMinmatarPropulsionWarpCapacitor\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 153, \n        \"modifyingAttributeID\": 1450, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6928\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6928, \n    \"effectName\": \"subsystemBonusCaldariPropulsion2PropModHeatBenefit\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1223, \n        \"modifyingAttributeID\": 1513, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1223, \n        \"modifyingAttributeID\": 1513, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6929\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6929, \n    \"effectName\": \"subsystemBonusGallentePropulsion2PropModHeatBenefit\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1223, \n        \"modifyingAttributeID\": 1520, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1223, \n        \"modifyingAttributeID\": 1520, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6930\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6930, \n    \"effectName\": \"subsystemBonusAmarrCore2EnergyResistance\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2045, \n        \"modifyingAttributeID\": 1509, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6931\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6931, \n    \"effectName\": \"subsystemBonusMinmatarCore2EnergyResistance\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2045, \n        \"modifyingAttributeID\": 1525, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6932\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6932, \n    \"effectName\": \"subsystemBonusGallenteCore2EnergyResistance\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2045, \n        \"modifyingAttributeID\": 1519, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6933\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6933, \n    \"effectName\": \"subsystemBonusCaldariCore2EnergyResistance\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2045, \n        \"modifyingAttributeID\": 1515, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6934\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6934, \n    \"effectName\": \"shipMaxLockedTargetsBonusAddPassive\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 192, \n        \"modifyingAttributeID\": 235, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6935\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315818, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6935, \n    \"effectName\": \"subsystemBonusAmarrCore3EnergyWarHeatBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 2681, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 2681, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6936\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6936, \n    \"effectName\": \"subsystemBonusMinmatarCore3StasisWebHeatBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 1222, \n        \"modifyingAttributeID\": 2687, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6937\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6937, \n    \"effectName\": \"subsystemBonusGallenteCore3WarpScramHeatBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 1222, \n        \"modifyingAttributeID\": 2685, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6938\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6938, \n    \"effectName\": \"subsystemBonusCaldariCore3ECMHeatBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 1225, \n        \"modifyingAttributeID\": 2683, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6939\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315819, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6939, \n    \"effectName\": \"subsystemBonusAmarrDefensive2HardenerHeat\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1208, \n        \"modifyingAttributeID\": 1507, \n        \"operation\": 6, \n        \"skillTypeID\": 3394\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1507, \n        \"operation\": 6, \n        \"skillTypeID\": 3394\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6940\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315820, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6940, \n    \"effectName\": \"subsystemBonusGallenteDefensive2HardenerHeat\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1208, \n        \"modifyingAttributeID\": 1517, \n        \"operation\": 6, \n        \"skillTypeID\": 3394\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1517, \n        \"operation\": 6, \n        \"skillTypeID\": 3394\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6941\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315821, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6941, \n    \"effectName\": \"subsystemBonusCaldariDefensive2HardenerHeat\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1208, \n        \"modifyingAttributeID\": 1516, \n        \"operation\": 6, \n        \"skillTypeID\": 3420\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6942\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315822, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6942, \n    \"effectName\": \"subsystemBonusMinmatarDefensive2HardenerHeat\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1208, \n        \"modifyingAttributeID\": 1526, \n        \"operation\": 6, \n        \"skillTypeID\": 3420\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1208, \n        \"modifyingAttributeID\": 1526, \n        \"operation\": 6, \n        \"skillTypeID\": 3394\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1526, \n        \"operation\": 6, \n        \"skillTypeID\": 3394\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6943\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315823, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6943, \n    \"effectName\": \"subsystemBonusAmarrDefensive3ArmorRepHeat\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1230, \n        \"modifyingAttributeID\": 2680, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 2680, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6944\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315824, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6944, \n    \"effectName\": \"subsystemBonusGallenteDefensive3ArmorRepHeat\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1230, \n        \"modifyingAttributeID\": 2684, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 2684, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6945\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315825, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6945, \n    \"effectName\": \"subsystemBonusCaldariDefensive3ShieldBoostHeat\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1231, \n        \"modifyingAttributeID\": 2682, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 2682, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6946\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315826, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6946, \n    \"effectName\": \"subsystemBonusMinmatarDefensive3LocalRepHeat\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1231, \n        \"modifyingAttributeID\": 2686, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 2686, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1230, \n        \"modifyingAttributeID\": 2686, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 2686, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6947\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6947, \n    \"effectName\": \"subSystemBonusCaldariDefensive2ScanProbeStrength\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 1516, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6949\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6949, \n    \"effectName\": \"subSystemBonusGallenteDefensive2ScanProbeStrength\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 1517, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6951\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6951, \n    \"effectName\": \"subSystemBonusMinmatarDefensive2ScanProbeStrength\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 1526, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6953\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315827, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6953, \n    \"effectName\": \"mediumRemoteRepFittingAdjustment\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2691, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2691, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6954\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315829, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6954, \n    \"effectName\": \"subsystemBonusCommandBurstFittingReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2692, \n        \"operation\": 6, \n        \"skillTypeID\": 3348\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2692, \n        \"operation\": 6, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6955\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6955, \n    \"effectName\": \"subsystemRemoteShieldBoostFalloffBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 41, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2693, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1697, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2693, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6956\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6956, \n    \"effectName\": \"subsystemRemoteArmorRepairerOptimalBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 325, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2695, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1698, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2695, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6957\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6957, \n    \"effectName\": \"subsystemRemoteArmorRepairerFalloffBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 325, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2694, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1698, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2694, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6958\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6958, \n    \"effectName\": \"subsystemBonusAmarrOffensive3RemoteArmorRepairHeat\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1531, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1230, \n        \"modifyingAttributeID\": 1531, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6959\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6959, \n    \"effectName\": \"subsystemBonusGallenteOffensive3RemoteArmorRepairHeat\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1532, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1230, \n        \"modifyingAttributeID\": 1532, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6960\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6960, \n    \"effectName\": \"subsystemBonusCaldariOffensive3RemoteShieldBoosterHeat\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1533, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1231, \n        \"modifyingAttributeID\": 1533, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6961\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6961, \n    \"effectName\": \"subsystemBonusMinmatarOffensive3RemoteRepHeat\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1534, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1534, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1230, \n        \"modifyingAttributeID\": 1534, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1231, \n        \"modifyingAttributeID\": 1534, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6962\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6962, \n    \"effectName\": \"subsystemBonusAmarrPropulsion2WarpSpeed\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 1512, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6963\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6963, \n    \"effectName\": \"subsystemBonusMinmatarPropulsion2WarpSpeed\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 1523, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6964\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6964, \n    \"effectName\": \"subsystemBonusGallentePropulsionWarpSpeed\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 1440, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6965\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный модификатор\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 315995, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 6965, \n    \"effectName\": \"surveyProbeExplosionDelayOnline\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 2701, \n        \"operation\": 6, \n        \"skillTypeID\": 3551\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6969\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6969, \n    \"effectName\": \"rigReactionHybTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2715, \n        \"modifyingAttributeID\": 2713, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6970\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6970, \n    \"effectName\": \"rigReactionHybMatBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2716, \n        \"modifyingAttributeID\": 2714, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6971\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6971, \n    \"effectName\": \"rigReactionCompTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2717, \n        \"modifyingAttributeID\": 2713, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6973\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6973, \n    \"effectName\": \"rigReactionCompMatBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2718, \n        \"modifyingAttributeID\": 2714, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6974\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6974, \n    \"effectName\": \"rigReactionBioTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2719, \n        \"modifyingAttributeID\": 2713, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6975\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6975, \n    \"effectName\": \"rigReactionBioMatBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2720, \n        \"modifyingAttributeID\": 2714, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6976\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6976, \n    \"effectName\": \"structureReactionRigSecurityModification\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2714, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2713, \n        \"modifyingAttributeID\": 2358, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6977\": {\n    \"description_de\": \"erhöht das Volumen von Asteroiden, die durch Anbohren des Mondes entstehen\", \n    \"description_en-us\": \"increases volume of asteroids created from moon drill\", \n    \"description_es\": \"Aumenta el volumen de los asteroides formados con la perforación lunar.\", \n    \"description_fr\": \"augmente les éléments issus du forage lunaire sur les astéroïdes\", \n    \"description_it\": \"increases volume of asteroids created from moon drill\", \n    \"description_ja\": \"衛星ドリルで生産できるアステロイドの量を増やす\", \n    \"description_ko\": \"위성 드릴로 생성되는 소행성의 부피 증가\", \n    \"description_ru\": \"увеличивает количество астероидов, создаваемых в процессе бурения спутника\", \n    \"description_zh\": \"提高卫星钻探生成小行星的体积\", \n    \"descriptionID\": 316899, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Bonus auf Bohrervolumen\", \n    \"displayName_en-us\": \"Drill Volume Bonus\", \n    \"displayName_es\": \"Bonificación de volumen de perforación\", \n    \"displayName_fr\": \"Bonus de volume de forage\", \n    \"displayName_it\": \"Drill Volume Bonus\", \n    \"displayName_ja\": \"ドリル採掘量ボーナス\", \n    \"displayName_ko\": \"드릴 부피 보너스\", \n    \"displayName_ru\": \"Бонус к объёму бурения\", \n    \"displayName_zh\": \"钻探体积加成\", \n    \"displayNameID\": 316898, \n    \"effectCategory\": 0, \n    \"effectID\": 6977, \n    \"effectName\": \"rigMoonSpewVolBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2704, \n        \"modifyingAttributeID\": 2710, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6978\": {\n    \"description_de\": \"Bonus auf Radius des Mondbohrers\", \n    \"description_en-us\": \"moon drill spew radius bonus\", \n    \"description_es\": \"Bonificación al radio de difusión de la perforación lunar.\", \n    \"description_fr\": \"Bonus du rayon de rejet de forage lunaire\", \n    \"description_it\": \"moon drill spew radius bonus\", \n    \"description_ja\": \"衛星ドリル噴出半径ボーナス\", \n    \"description_ko\": \"위성 드릴 스퓨 반경 보너스\", \n    \"description_ru\": \"бонус к радиусу разброса при бурении спутника\", \n    \"description_zh\": \"卫星钻探喷涌半径加成\", \n    \"descriptionID\": 316901, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Bonus auf Radius der Mond-Asteroidengürtel\", \n    \"displayName_en-us\": \"Moon Asteroid Belt Radius Bonus\", \n    \"displayName_es\": \"Bonificación de radio del cinturón de asteroides lunar\", \n    \"displayName_fr\": \"Bonus du rayon de ceinture d'astéroïdes lunaires\", \n    \"displayName_it\": \"Moon Asteroid Belt Radius Bonus\", \n    \"displayName_ja\": \"衛星アステロイドベルト半径ボーナス\", \n    \"displayName_ko\": \"위성 소행성 벨트 반경 보너스\", \n    \"displayName_ru\": \"Бонус к радиусу скопления астероидов\", \n    \"displayName_zh\": \"卫星小行星带半径加成\", \n    \"displayNameID\": 316900, \n    \"effectCategory\": 0, \n    \"effectID\": 6978, \n    \"effectName\": \"rigMoonSpewRadBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2705, \n        \"modifyingAttributeID\": 2709, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6979\": {\n    \"description_de\": \"Verzögerung, um Mondteile abzutrennen\", \n    \"description_en-us\": \"Delay to fracture moon chunk\", \n    \"description_es\": \"Demora en la fracturación del fragmento lunar.\", \n    \"description_fr\": \"Délai supplémentaire avant la fracture d'un morceau de lune\", \n    \"description_it\": \"Delay to fracture moon chunk\", \n    \"description_ja\": \"衛星の岩塊を破砕する間隔\", \n    \"description_ko\": \"위성 파편 분열 지연\", \n    \"description_ru\": \"Задержка раскола породы спутника\", \n    \"description_zh\": \"碎裂卫星区块延时\", \n    \"descriptionID\": 316903, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Bonus auf Verzögerung der Asteroidenförderung\", \n    \"displayName_en-us\": \"Asteroid extraction delay Bonus\", \n    \"displayName_es\": \"Bonificación de demora en la extracción de asteroides\", \n    \"displayName_fr\": \"Bonus du délai d'extraction d'astéroïdes\", \n    \"displayName_it\": \"Asteroid extraction delay Bonus\", \n    \"displayName_ja\": \"アステロイド抽出速度ボーナス\", \n    \"displayName_ko\": \"소행성 추출 지연 보너스\", \n    \"displayName_ru\": \"Бонус к задержке при извлечении ресурсов из астероидов\", \n    \"displayName_zh\": \"小行星开采延时加成\", \n    \"displayNameID\": 316902, \n    \"effectCategory\": 0, \n    \"effectID\": 6979, \n    \"effectName\": \"rigMoonFractureDelay\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2698, \n        \"modifyingAttributeID\": 2707, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6980\": {\n    \"description_de\": \"Bonus auf Verfall von Mondasteroiden\", \n    \"description_en-us\": \"Moon asteroid decay Bonus\", \n    \"description_es\": \"Bonificación de deterioro de asteroides lunares.\", \n    \"description_fr\": \"Bonus d'effritement des astéroïdes lunaires\", \n    \"description_it\": \"Moon asteroid decay Bonus\", \n    \"description_ja\": \"衛星アステロイド崩壊ボーナス\", \n    \"description_ko\": \"위성 소행성 풍화 보너스\", \n    \"description_ru\": \"Бонус к распаду астероидов\", \n    \"description_zh\": \"卫星小行星衰减加成\", \n    \"descriptionID\": 316905, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Bonus auf Verfall von Mondasteroiden\", \n    \"displayName_en-us\": \"Moon asteroid decay Bonus\", \n    \"displayName_es\": \"Bonificación de deterioro de asteroides lunares.\", \n    \"displayName_fr\": \"Bonus d'effritement des astéroïdes lunaires\", \n    \"displayName_it\": \"Moon asteroid decay Bonus\", \n    \"displayName_ja\": \"衛星アステロイド崩壊ボーナス\", \n    \"displayName_ko\": \"위성 소행성 풍화 보너스\", \n    \"displayName_ru\": \"Бонус к распаду астероидов\", \n    \"displayName_zh\": \"卫星小行星衰减加成\", \n    \"displayNameID\": 316904, \n    \"effectCategory\": 0, \n    \"effectID\": 6980, \n    \"effectName\": \"rigMoonAsteroidDecayBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2706, \n        \"modifyingAttributeID\": 2708, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"6981\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6981, \n    \"effectName\": \"shipBonusTitanG1KinThermDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2414, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2414, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2414, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2414, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6982\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6982, \n    \"effectName\": \"shipBonusTitanG2EMExplosiveDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2415, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2415, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2415, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2415, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"6983\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6983, \n    \"effectName\": \"shipBonusTitanC1ShieldResists\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 2410, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 2410, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 2410, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 2410, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6984\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6984, \n    \"effectName\": \"shipBonusRole4FighterDamageAndHitpoints\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 2301, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 2301, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 2301, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2301, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6985\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6985, \n    \"effectName\": \"shipBonusDreadnoughtG1KinThermDamageBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6986\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6986, \n    \"effectName\": \"shipBonusForceAuxiliaryG1RemoteShieldBoostAmount\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2314, \n        \"operation\": 6, \n        \"skillTypeID\": 24571\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6987\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6987, \n    \"effectName\": \"shipBonusRole2LogisticDroneRepAmountAndHitpointBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3439\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3439\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 83, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3439\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3439\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3439\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3439\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6988\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6988, \n    \"effectName\": \"refineryServiceFuelBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1322, \n        \"modifiedAttributeID\": 2109, \n        \"modifyingAttributeID\": 2339, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1322, \n        \"modifiedAttributeID\": 2110, \n        \"modifyingAttributeID\": 2339, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6989\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6989, \n    \"effectName\": \"refineryRefiningYieldBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1322, \n        \"modifiedAttributeID\": 2444, \n        \"modifyingAttributeID\": 2722, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1322, \n        \"modifiedAttributeID\": 2448, \n        \"modifyingAttributeID\": 2722, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1322, \n        \"modifiedAttributeID\": 2445, \n        \"modifyingAttributeID\": 2722, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6990\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2724, \n    \"durationAttributeID\": 2725, \n    \"effectCategory\": 1, \n    \"effectID\": 6990, \n    \"effectName\": \"npcBehaviorShieldBooster\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.ShieldBoosting\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6991\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6991, \n    \"effectName\": \"asteroidDecayTimeDisplayUpdate\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2728, \n        \"modifyingAttributeID\": 2706, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6992\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6992, \n    \"effectName\": \"roleBonusMHTDamage1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6993\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317018, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6993, \n    \"effectName\": \"roleBonus2BoosterPenaltyReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1147, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1149, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1148, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1146, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1145, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1144, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1141, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1142, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1150, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1151, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 616, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 303, \n        \"modifiedAttributeID\": 1143, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6994\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317019, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6994, \n    \"effectName\": \"eliteReconBonusMHTDamage1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 962, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6995\": {\n    \"description_de\": \"Haupteffekt atomarer Strahlenkanone\", \n    \"description_en-us\": \"Atomic Beam Cannon main effect\", \n    \"description_es\": \"Efecto principal del cañón de energía atómica.\", \n    \"description_fr\": \"Effet principal du Canon à Rayons Atomique\", \n    \"description_it\": \"Atomic Beam Cannon main effect\", \n    \"description_ja\": \"アトミックビームキャノンの主な効果\", \n    \"description_ko\": \"원자 빔 캐넌 주요 효과\", \n    \"description_ru\": \"Основной эффект атомно-лучевой пушки\", \n    \"description_zh\": \"原子集束加农炮主效果\", \n    \"descriptionID\": 317020, \n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 2, \n    \"durationAttributeID\": 51, \n    \"effectCategory\": 2, \n    \"effectID\": 6995, \n    \"effectName\": \"targetDisintegratorAttack\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TriglavianBeam,effects.AttackMode\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"trackingSpeedAttributeID\": 160\n  }, \n  \"6996\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317021, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6996, \n    \"effectName\": \"eliteReconBonusArmorRepAmount3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1537, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6997\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317022, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6997, \n    \"effectName\": \"eliteCovertOpsBonusArmorRepAmount4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2731, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6998\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6998, \n    \"effectName\": \"covertOpsSkillLevelPreMulEliteBonusCoverOpsShip4\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2731, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"6999\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 6999, \n    \"effectName\": \"covertOpsStealthBomberSiegeMissileLauncherCPUNeedBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 508, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2732, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7000\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7000, \n    \"effectName\": \"shipBonusSHTFalloffGF1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7001\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317023, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7001, \n    \"effectName\": \"roleBonusTorpRoF1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 508, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7002\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317024, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7002, \n    \"effectName\": \"roleBonusBombLauncherPWGCPU3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2300, \n        \"operation\": 6, \n        \"skillTypeID\": 28073\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2300, \n        \"operation\": 6, \n        \"skillTypeID\": 28073\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7003\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317025, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7003, \n    \"effectName\": \"eliteBonusCovertOpsSHTDamage3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1578, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7004\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7004, \n    \"effectName\": \"npcStructureEwarBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1441, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2735, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1329, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2736, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1329, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 2736, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7008\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317605, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7008, \n    \"effectName\": \"structureFullPowerStateHitpointModifier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2743, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 2743, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7009\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317606, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 7009, \n    \"effectName\": \"serviceModuleFullPowerHitpointPostAssign\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2743, \n        \"modifyingAttributeID\": 2744, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2805, \n        \"modifyingAttributeID\": 2804, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7010\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 2745, \n    \"effectCategory\": 1, \n    \"effectID\": 7010, \n    \"effectName\": \"doomsdayTargetedWarpableBeacon\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7012\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 7012, \n    \"effectName\": \"moduleBonusAssaultDamageControl\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Invulnerability\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 2746, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 2746, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 2746, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 2746, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 2746, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 2746, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 2746, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 2746, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 974, \n        \"modifyingAttributeID\": 2746, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 975, \n        \"modifyingAttributeID\": 2746, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 976, \n        \"modifyingAttributeID\": 2746, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 977, \n        \"modifyingAttributeID\": 2746, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7013\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7013, \n    \"effectName\": \"eliteBonusGunshipKineticMissileDamage1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7014\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7014, \n    \"effectName\": \"eliteBonusGunshipThermalMissileDamage1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7015\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7015, \n    \"effectName\": \"eliteBonusGunshipEMMissileDamage1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7016\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7016, \n    \"effectName\": \"eliteBonusGunshipExplosiveMissileDamage1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7017\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7017, \n    \"effectName\": \"eliteBonusGunshipExplosionVelocity2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 675, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7018\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7018, \n    \"effectName\": \"shipSETROFAF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7020\": {\n    \"description_de\": \"Stasisnetz erhöht maximale Reichweite\", \n    \"description_en-us\": \"Stasis Webifier increase max range\", \n    \"description_es\": \"Aumenta el alcance máximo de la red ralentizadora.\", \n    \"description_fr\": \"Portée maximale du générateur de stase\", \n    \"description_it\": \"Stasis Webifier increase max range\", \n    \"description_ja\": \"ステイシスウェビファイヤーは、最大範囲を向上させる\", \n    \"description_ko\": \"스테이시스 웹 생성기 사거리 증가\", \n    \"description_ru\": \"Увеличение макс. дальности стазис-индуктора\", \n    \"description_zh\": \"停滞缠绕光束增加最大范围\", \n    \"descriptionID\": 317684, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7020, \n    \"effectName\": \"remoteWebifierMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2747, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7021\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7021, \n    \"effectName\": \"structureRigMaxTargetRange\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 2748, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7022\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 7022, \n    \"effectName\": \"structureShieldCapacityBonusOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 72, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7023\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 7023, \n    \"effectName\": \"structureShieldResonanceBonusPostPercent\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7024\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7024, \n    \"effectName\": \"shipBonusDroneTrackingEliteGunship2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 675, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7026\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7026, \n    \"effectName\": \"scriptStandupWarpScram\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1327, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1350, \n        \"modifyingAttributeID\": 1350, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7027\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 7027, \n    \"effectName\": \"structureCapacitorCapacityBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 67, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7028\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 7028, \n    \"effectName\": \"structureModifyPowerRechargeRate\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 144, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7029\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 7029, \n    \"effectName\": \"structureArmorHPBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2751, \n        \"modifyingAttributeID\": 335, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7030\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7030, \n    \"effectName\": \"structureAoERoFRoleBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1328, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2749, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1331, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2749, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1331, \n        \"modifiedAttributeID\": 2400, \n        \"modifyingAttributeID\": 2749, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1331, \n        \"modifiedAttributeID\": 2397, \n        \"modifyingAttributeID\": 2749, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1331, \n        \"modifiedAttributeID\": 2398, \n        \"modifyingAttributeID\": 2749, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1331, \n        \"modifiedAttributeID\": 2399, \n        \"modifyingAttributeID\": 2749, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1331, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2749, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7031\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7031, \n    \"effectName\": \"shipBonusHeavyMissileKineticDamageCBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7032\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7032, \n    \"effectName\": \"shipBonusHeavyMissileThermalDamageCBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7033\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7033, \n    \"effectName\": \"shipBonusHeavyMissileEMDamageCBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7034\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7034, \n    \"effectName\": \"shipBonusHeavyMissileExplosiveDamageCBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7035\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7035, \n    \"effectName\": \"shipBonusHeavyAssaultMissileExplosiveDamageCBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7036\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7036, \n    \"effectName\": \"shipBonusHeavyAssaultMissileEMDamageCBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7037\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7037, \n    \"effectName\": \"shipBonusHeavyAssaultMissileThermalDamageCBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7038\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7038, \n    \"effectName\": \"shipBonusHeavyAssaultMissileKineticDamageCBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7039\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7039, \n    \"effectName\": \"structureHiddenMissileDamageMultiplier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2750, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2750, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2750, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1547, \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2750, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2750, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2750, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2750, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1546, \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2750, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7040\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7040, \n    \"effectName\": \"structureHiddenArmorHPMultiplier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 2751, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1968, \n        \"modifiedAttributeID\": 335, \n        \"modifyingAttributeID\": 2805, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7041\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7041, \n    \"effectName\": \"flagCruiserSkillMultiplier1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2752, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7042\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317702, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7042, \n    \"effectName\": \"shipArmorHitPointsAC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 478, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7043\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317703, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7043, \n    \"effectName\": \"shipShieldHitpointsCC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 487, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7044\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317704, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7044, \n    \"effectName\": \"shipAgilityBonusGC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 486, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7045\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317705, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7045, \n    \"effectName\": \"shipSignatureRadiusMC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7046\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317706, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7046, \n    \"effectName\": \"eliteBonusFlagCruiserAllResistances1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 2752, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 2752, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 2752, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 2752, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 2752, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 2752, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 2752, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 2752, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 2752, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 2752, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 2752, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 2752, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7047\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317708, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7047, \n    \"effectName\": \"roleBonusFlagCruiserModuleFittingReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 46, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2753, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 46, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2753, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1189, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2753, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1189, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2753, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 481, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2757, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 481, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2757, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 379, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2757, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 379, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2757, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7050\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 7050, \n    \"effectName\": \"aoe_beacon_bioluminescence_cloud\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"7051\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 7051, \n    \"effectName\": \"aoe_beacon_caustic_cloud\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"7052\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317714, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7052, \n    \"effectName\": \"roleBonusFlagCruiserTargetPainterModifications\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 379, \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 2755, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 379, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2756, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7053\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 7053, \n    \"effectName\": \"aoe_beacon_pulse_01\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"7055\": {\n    \"description_de\": \"Schadensbonus % für große Waffen\", \n    \"description_en-us\": \"Large Weapons Damage % Bonus\", \n    \"description_es\": \"% de bonificación al daño de armas de gran calibre.\", \n    \"description_fr\": \"% de bonus de dégâts des armes lourdes\", \n    \"description_it\": \"Large Weapons Damage % Bonus\", \n    \"description_ja\": \"大型兵器ダメージボーナス（%）\", \n    \"description_ko\": \"대형 무기 피해 % 보너스\", \n    \"description_ru\": \"Бонус к урону от больших орудий в %\", \n    \"description_zh\": \"大型武器伤害百分比加成\", \n    \"descriptionID\": 317724, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7055, \n    \"effectName\": \"shipLargeWeaponsDamageBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3307\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7057\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 7057, \n    \"effectName\": \"aoe_beacon_point_defense\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TriGlavianBS01a\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"7058\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 7058, \n    \"effectName\": \"aoe_beacon_filament_cloud\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"7059\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 7059, \n    \"effectName\": \"weather_caustic_toxin\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"7060\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 7060, \n    \"effectName\": \"weather_darkness\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"7061\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 7061, \n    \"effectName\": \"weather_electric_storm\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"7062\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 7062, \n    \"effectName\": \"weather_infernal\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"7063\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 7063, \n    \"effectName\": \"weather_xenon_gas\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"7064\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 7064, \n    \"effectName\": \"weather_basic\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"7065\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317763, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7065, \n    \"effectName\": \"precursorFrigateSkillLevelPreMulShipBonusPF1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2762, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7066\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317764, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7066, \n    \"effectName\": \"precursorFrigateSkillLevelPreMulShipBonusPF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2763, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7067\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317765, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7067, \n    \"effectName\": \"precursorCruiserSkillLevelPreMulShipBonusPC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2764, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7068\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317766, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7068, \n    \"effectName\": \"precursorCruiserSkillLevelPreMulShipBonusPC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2765, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7069\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317767, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7069, \n    \"effectName\": \"precursorBattleShipSkillLevelPreMulShipBonusPBS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2766, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7070\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317768, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7070, \n    \"effectName\": \"precursorBattleshipSkillLevelPreMulShipBonusPBS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2767, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7071\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7071, \n    \"effectName\": \"smallPrecursorTurretDmgBonusRequiredSkill\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 47870\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7072\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7072, \n    \"effectName\": \"mediumPrecursorTurretDmgBonusRequiredSkill\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 47871\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7073\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7073, \n    \"effectName\": \"largePrecursorTurretDmgBonusRequiredSkill\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 47872\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7074\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7074, \n    \"effectName\": \"smallDisintegratorSkillDmgBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 47873\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7075\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7075, \n    \"effectName\": \"mediumDisintegratorSkillDmgBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 47874\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7076\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7076, \n    \"effectName\": \"largeDisintegratorSkillDmgBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 47875\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7077\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317769, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 7077, \n    \"effectName\": \"disintegratorWeaponDamageMultiply\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1986, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 64, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7078\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317770, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 7078, \n    \"effectName\": \"disintegratorWeaponSpeedMultiply\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1986, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7079\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7079, \n    \"effectName\": \"shipPCBSSPeedBonusPCBS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2766, \n        \"operation\": 6, \n        \"skillTypeID\": 47872\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7080\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7080, \n    \"effectName\": \"shipPCBSDmgBonusPCBS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2767, \n        \"operation\": 6, \n        \"skillTypeID\": 47872\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7085\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7085, \n    \"effectName\": \"shipbonusPCTDamagePC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2764, \n        \"operation\": 6, \n        \"skillTypeID\": 47871\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7086\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7086, \n    \"effectName\": \"shipbonusPCTTrackingPC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 2765, \n        \"operation\": 6, \n        \"skillTypeID\": 47871\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7087\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7087, \n    \"effectName\": \"shipbonusPCTOptimalPF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2763, \n        \"operation\": 6, \n        \"skillTypeID\": 47870\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7088\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7088, \n    \"effectName\": \"shipbonusPCTDamagePF1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2762, \n        \"operation\": 6, \n        \"skillTypeID\": 47870\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7091\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317871, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7091, \n    \"effectName\": \"shipBonusNosNeutCapNeedRoleBonus2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3423\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7092\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317872, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7092, \n    \"effectName\": \"shipBonusRemoteRepCapNeedRoleBonus2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7093\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317873, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7093, \n    \"effectName\": \"shipBonusSmartbombCapNeedRoleBonus2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3421\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7094\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 317874, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7094, \n    \"effectName\": \"shipBonusRemoteRepMaxRangeRoleBonus1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 24568\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7097\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7097, \n    \"effectName\": \"surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupPrecursorTurret\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1986, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7098\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7098, \n    \"effectName\": \"structureConversionRigBasicBonuses\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 2772, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 2772, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2772, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 2772, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 2748, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 192, \n        \"modifyingAttributeID\": 2434, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1330, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2437, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1330, \n        \"modifiedAttributeID\": 99, \n        \"modifyingAttributeID\": 2436, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 2435, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1330, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2437, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1330, \n        \"modifiedAttributeID\": 99, \n        \"modifyingAttributeID\": 2436, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 2435, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1635, \n        \"modifiedAttributeID\": 2434, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1635, \n        \"modifiedAttributeID\": 2748, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1635, \n        \"modifiedAttributeID\": 2435, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1634, \n        \"modifiedAttributeID\": 2437, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1634, \n        \"modifiedAttributeID\": 2436, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7099\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7099, \n    \"effectName\": \"structureConversionRigManufacturingMaterialBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2600, \n        \"modifyingAttributeID\": 2594, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1850, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1851, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1852, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1853, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1854, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1855, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1856, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1857, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1858, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1859, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1860, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1861, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1862, \n        \"modifiedAttributeID\": 2594, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7100\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7100, \n    \"effectName\": \"structureConversionRigT1ShipManTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2545, \n        \"modifyingAttributeID\": 2773, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2547, \n        \"modifyingAttributeID\": 2773, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2549, \n        \"modifyingAttributeID\": 2773, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2576, \n        \"modifyingAttributeID\": 2773, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1853, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1854, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1855, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1859, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7101\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7101, \n    \"effectName\": \"structureConversionRigT2ShipManTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2551, \n        \"modifyingAttributeID\": 2774, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2553, \n        \"modifyingAttributeID\": 2774, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2556, \n        \"modifyingAttributeID\": 2774, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1856, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1857, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1858, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7102\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7102, \n    \"effectName\": \"structureConversionRigT2CompManTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2558, \n        \"modifyingAttributeID\": 2775, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2659, \n        \"modifyingAttributeID\": 2775, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1860, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7103\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7103, \n    \"effectName\": \"structureConversionRigCapCompManTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2560, \n        \"modifyingAttributeID\": 2776, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1861, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7104\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7104, \n    \"effectName\": \"structureConversionRigEquipManTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2539, \n        \"modifyingAttributeID\": 2777, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1850, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7105\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7105, \n    \"effectName\": \"structureConversionRigMETimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2566, \n        \"modifyingAttributeID\": 2778, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1864, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7106\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7106, \n    \"effectName\": \"structureConversionRigTETimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2568, \n        \"modifyingAttributeID\": 2779, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1865, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7107\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7107, \n    \"effectName\": \"structureConversionRigCopyTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2570, \n        \"modifyingAttributeID\": 2780, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1866, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7108\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7108, \n    \"effectName\": \"structureConversionRigInventionTimeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2564, \n        \"modifyingAttributeID\": 2781, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1863, \n        \"modifiedAttributeID\": 2593, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7109\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7109, \n    \"effectName\": \"structureConversionRigInventionCostBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2563, \n        \"modifyingAttributeID\": 2783, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1863, \n        \"modifiedAttributeID\": 2595, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7110\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7110, \n    \"effectName\": \"structureConversionRigResearchCostBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2565, \n        \"modifyingAttributeID\": 2782, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2567, \n        \"modifyingAttributeID\": 2782, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2569, \n        \"modifyingAttributeID\": 2782, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1864, \n        \"modifiedAttributeID\": 2595, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1865, \n        \"modifiedAttributeID\": 2595, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1866, \n        \"modifiedAttributeID\": 2595, \n        \"modifyingAttributeID\": 2623, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7111\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 7111, \n    \"effectName\": \"systemSmallPrecursorTurretDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 47870\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7112\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7112, \n    \"effectName\": \"shipBonusNeutCapNeedRoleBonus2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7116\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7116, \n    \"effectName\": \"eliteBonusReconScanProbeStrength2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 963, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7117\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7117, \n    \"effectName\": \"roleBonusWarpSpeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 2789, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7118\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7118, \n    \"effectName\": \"eliteBonusCovertOps3PCTdamagePerCycle\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2733, \n        \"modifyingAttributeID\": 1578, \n        \"operation\": 2, \n        \"skillTypeID\": 47870\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7119\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7119, \n    \"effectName\": \"eliteBonusReconShip3PCTdamagePerCycle\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2733, \n        \"modifyingAttributeID\": 1537, \n        \"operation\": 2, \n        \"skillTypeID\": 47871\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7120\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 7120, \n    \"effectName\": \"structureCynoJammerOnline\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7124\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 604, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 7124, \n    \"effectName\": \"moduleStasisImpedence\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2115, \n        \"modifyingAttributeID\": 2115, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7142\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 7142, \n    \"effectName\": \"massEntanglerEffect5\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 4, \n        \"modifyingAttributeID\": 1131, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2603, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1349, \n        \"modifyingAttributeID\": 1350, \n        \"operation\": 2, \n        \"skillTypeID\": 3454\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 1164, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 567, \n        \"modifyingAttributeID\": 1270, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7150\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7150, \n    \"effectName\": \"precursorDestroyerSkillLevelPreMulShipBonusPD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2799, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7151\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7151, \n    \"effectName\": \"precursorDestroyerSkillLevelPreMulShipBonusPD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2800, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7152\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7152, \n    \"effectName\": \"precursorBattlecruiserSkillLevelPreMulShipBonusPBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2801, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7153\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7153, \n    \"effectName\": \"precursorBattlecruiserSkillLevelPreMulShipBonusPBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2802, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7154\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7154, \n    \"effectName\": \"shipBonusPD1DisintegratorDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2799, \n        \"operation\": 6, \n        \"skillTypeID\": 47870\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7155\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7155, \n    \"effectName\": \"shipBonusPBC1DisintegratorDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2801, \n        \"operation\": 6, \n        \"skillTypeID\": 47871\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7156\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7156, \n    \"effectName\": \"smallDisintegratorMaxRangeBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 47870\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7157\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7157, \n    \"effectName\": \"shipBonusPD2DisintegratorMaxRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2800, \n        \"operation\": 6, \n        \"skillTypeID\": 47870\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7158\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7158, \n    \"effectName\": \"shipArmorKineticResistancePBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 2802, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7159\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7159, \n    \"effectName\": \"shipArmorThermalResistancePBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 2802, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7160\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7160, \n    \"effectName\": \"shipArmorEMResistancePBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 2802, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7161\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7161, \n    \"effectName\": \"shipArmorExplosiveResistancePBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 2802, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7162\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7162, \n    \"effectName\": \"shipRoleDisintegratorMaxRangeCBC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2043, \n        \"operation\": 6, \n        \"skillTypeID\": 47871\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7165\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318029, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7165, \n    \"effectName\": \"miningAmountOverride\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 2803, \n        \"operation\": 7, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7166\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 2, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 2, \n    \"effectID\": 7166, \n    \"effectName\": \"ShipModuleRemoteArmorMutadaptiveRepairer\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TriglavianBeam,effects.AttackMode\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 1, \n    \"published\": 1, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"7167\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318052, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7167, \n    \"effectName\": \"shipBonusRemoteCapacitorTransferRangeRole1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 67, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7168\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318053, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7168, \n    \"effectName\": \"shipBonusMutadaptiveRemoteRepairRangeRole3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 2018, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2300, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7169\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318054, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7169, \n    \"effectName\": \"shipBonusMutadaptiveRepAmountPC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 2018, \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2764, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7170\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318055, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7170, \n    \"effectName\": \"shipBonusMutadaptiveRepCapNeedPC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 2018, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 2765, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7171\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318056, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7171, \n    \"effectName\": \"shipBonusMutadaptiveRemoteRepRangePC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 2018, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2764, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7172\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318057, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7172, \n    \"effectName\": \"shipBonusMutadaptiveRemoteRepCapNeedeliteBonusLogisitics1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 2018, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 678, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7173\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318058, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7173, \n    \"effectName\": \"shipBonusMutadaptiveRemoteRepAmounteliteBonusLogisitics2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 2018, \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 679, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7176\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7176, \n    \"effectName\": \"skillBonusDroneInterfacingNotFighters\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7177\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7177, \n    \"effectName\": \"skillBonusDroneDurabilityNotFighters\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 337, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 335, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7179\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 7179, \n    \"effectName\": \"stripMinerDurationMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 464, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 203, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7180\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 7180, \n    \"effectName\": \"miningDurationMultiplierOnline\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 54, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 203, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7183\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318075, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7183, \n    \"effectName\": \"implantWarpScrambleRangeBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1327, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7184\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318076, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7184, \n    \"effectName\": \"shipBonusMediumDroneHProle8\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 1688, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7185\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318077, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7185, \n    \"effectName\": \"shipBonusMediumDroneShieldHProle8\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1688, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7186\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318078, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7186, \n    \"effectName\": \"shipBonusMediumDroneArmorHProle8\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1688, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7187\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2815, \n    \"durationAttributeID\": 2819, \n    \"effectCategory\": 2, \n    \"effectID\": 7187, \n    \"effectName\": \"npcBehaviorMicroJumpAttack\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 2816, \n    \"rangeChance\": 0\n  }, \n  \"7188\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2814, \n    \"durationAttributeID\": 2812, \n    \"effectCategory\": 3, \n    \"effectID\": 7188, \n    \"effectName\": \"npcBehaviorSmartBomb\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 99, \n    \"rangeChance\": 0\n  }, \n  \"7193\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 7193, \n    \"effectName\": \"systemMiningCycleTimeBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 203, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7202\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318089, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 7202, \n    \"effectName\": \"systemDroneSpeedBonusPercent\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 591, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7203\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318090, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 7203, \n    \"effectName\": \"systemDroneDamageBonusPercent\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1255, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7204\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7204, \n    \"effectName\": \"shipArmorEMResistancePF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 2763, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7205\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7205, \n    \"effectName\": \"shipArmorKinResistancePF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 2763, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7206\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7206, \n    \"effectName\": \"shipArmorThermResistancePF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 2763, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7207\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7207, \n    \"effectName\": \"shipArmorExpResistancePF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 2763, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7209\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7209, \n    \"effectName\": \"shipPCTOptimalBonusEliteGunship2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 675, \n        \"operation\": 6, \n        \"skillTypeID\": 47870\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7210\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7210, \n    \"effectName\": \"shipBonusCommandDestroyerRole2DefenderBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 669, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3323\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7211\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7211, \n    \"effectName\": \"shipDmgMultiMaxEliteHeavyGunship1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2734, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 47871\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7216\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7216, \n    \"effectName\": \"shipDmgMultiMaxEliteGunship1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2734, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6, \n        \"skillTypeID\": 47870\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7223\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318104, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 7223, \n    \"effectName\": \"systemAgilityBonusPercentItem\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 70, \n        \"modifyingAttributeID\": 151, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7227\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 7227, \n    \"effectName\": \"\\tsystemHullHPBonusPercentItem\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 327, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7228\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7228, \n    \"effectName\": \"shipMediumPrecursorWeaponOptimalEliteHeavyGunship2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6, \n        \"skillTypeID\": 47871\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7230\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7230, \n    \"effectName\": \"shipBonusDroneTrackingGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7231\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Automatically generated effect\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 318119, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7231, \n    \"effectName\": \"shipBonusArmorRepAmountGC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2014, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7232\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7232, \n    \"effectName\": \"modifyDamageMultiplierBonusMax\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1986, \n        \"modifiedAttributeID\": 2734, \n        \"modifyingAttributeID\": 2823, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7233\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7233, \n    \"effectName\": \"modifyDamageMultiplierBonusPerCycle\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1986, \n        \"modifiedAttributeID\": 2733, \n        \"modifyingAttributeID\": 2824, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"7234\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7234, \n    \"effectName\": \"implantSetMimesis\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 300, \n        \"modifiedAttributeID\": 2823, \n        \"modifyingAttributeID\": 2825, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 300, \n        \"modifiedAttributeID\": 2824, \n        \"modifyingAttributeID\": 2825, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"7235\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 2, \n    \"effectID\": 7235, \n    \"effectName\": \"aoeDamageMultiplier\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"targetID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 292, \n        \"modifyingAttributeID\": 64, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"7236\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 7236, \n    \"effectName\": \"systemWarpSpeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7237\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 7237, \n    \"effectName\": \"systemWarpSpeedBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 601, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7238\": {\n    \"description_de\": \"Precursor XL Waffenschaden-Modifier nach Skillstufe\", \n    \"description_en-us\": \"precursor XL weapon damage modifier by skill level\", \n    \"description_es\": \"Modificador de daño de armas precursoras XL según nivel de habilidad.\", \n    \"description_fr\": \"modificateur de dégâts d'armes XL de précursion par niveau de compétence\", \n    \"description_it\": \"precursor XL weapon damage modifier by skill level\", \n    \"description_ja\": \"スキルレベルに応じた、プリカーサー超大型兵器のダメージモディファイヤー\", \n    \"description_ko\": \"스킬 레벨에 따른 프리커서 XL 무기 피해 계수\", \n    \"description_ru\": \"Модификатор урона сверхбольшого оружия Предтечей по уровню навыка\", \n    \"description_zh\": \"先驱者超大型武器每级技能伤害调整系数\", \n    \"descriptionID\": 318139, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7238, \n    \"effectName\": \"shipBonusDreadnoughtPC1DamageMultMax\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2830, \n        \"operation\": 6, \n        \"skillTypeID\": 52998\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7239\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7239, \n    \"effectName\": \"shipBonusDreadnoughtPC2ArmorResists\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 2829, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 2829, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 2829, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 2829, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7240\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7240, \n    \"effectName\": \"shipBonusDreadnoughtPC3WeaponSpeed\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 2831, \n        \"operation\": 6, \n        \"skillTypeID\": 52998\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7241\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7241, \n    \"effectName\": \"skillMultiplierShipBonusDreadnoughtPrecursor\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2830, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2829, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2831, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7242\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7242, \n    \"effectName\": \"capitalPrecursorTurretDmgBonusRequiredSkill\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 52998\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"7247\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7247, \n    \"effectName\": \"shipBonusHAMHMLAoeVelocityMC\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"7248\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 7248, \n    \"effectName\": \"shipPBonusROFMF\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"8011\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8011, \n    \"effectName\": \"shieldHpBonusPostPercentHpLocationShip\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 3015, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8013\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8013, \n    \"effectName\": \"setBonusNirvana\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 3015, \n        \"modifyingAttributeID\": 3017, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8017\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8017, \n    \"effectName\": \"saviorSetBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 3024, \n        \"modifyingAttributeID\": 3023, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8018\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8018, \n    \"effectName\": \"subcapRemoteArmorShieldRepDurationCapBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3024, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3024, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 3024, \n        \"operation\": 6, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 3024, \n        \"operation\": 6, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"8020\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8020, \n    \"effectName\": \"systemWarpSpeedAddition\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 1950, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8021\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8021, \n    \"effectName\": \"hydraSetBonus\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 3028, \n        \"modifyingAttributeID\": 3027, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 3029, \n        \"modifyingAttributeID\": 3027, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 3030, \n        \"modifyingAttributeID\": 3027, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 3031, \n        \"modifyingAttributeID\": 3027, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8023\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8023, \n    \"effectName\": \"hydraDroneTrackingEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 3028, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8024\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8024, \n    \"effectName\": \"hydraDroneRangeEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 3029, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 3029, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8025\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8025, \n    \"effectName\": \"hydraMissileFlightTimeEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 3030, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8026\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8026, \n    \"effectName\": \"hydraMissileExplosionVelocityEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 3031, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8029\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8029, \n    \"effectName\": \"roleBonus7CapBoosterGroupRestriction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 76, \n        \"modifiedAttributeID\": 1544, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 76, \n        \"modifiedAttributeID\": 978, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8031\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8031, \n    \"effectName\": \"systemMaxTargets\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 192, \n        \"modifyingAttributeID\": 3034, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8032\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 563154, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8032, \n    \"effectName\": \"systemWarpScrambleStrengthBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 105, \n        \"modifyingAttributeID\": 3035, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8033\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 563155, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8033, \n    \"effectName\": \"systemEcmRangeMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 201, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1536, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8034\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8034, \n    \"effectName\": \"smallUpwellWeaponDmgBonusRequiredSkill\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 55034\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8035\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8035, \n    \"effectName\": \"mediumUpwellWeaponDmgBonusRequiredSkill\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 55035\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8036\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8036, \n    \"effectName\": \"largeUpwellWeaponDmgBonusRequiredSkill\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 54826\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8037\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 2, \n    \"durationAttributeID\": 51, \n    \"effectCategory\": 2, \n    \"effectID\": 8037, \n    \"effectName\": \"ChainLightning\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.AttackMode\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"8039\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8039, \n    \"effectName\": \"upwellSkillaoeVelocityaoeCloudSizeBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 6, \n        \"skillTypeID\": 55033\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 848, \n        \"operation\": 6, \n        \"skillTypeID\": 55033\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8040\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8040, \n    \"effectName\": \"upwellSkillaoeVelocityaoeCloudSizeBonusSkilllevel\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 848, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 847, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8041\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8041, \n    \"effectName\": \"upwellSkillDamageMuliplierBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 4060, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8042\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8042, \n    \"effectName\": \"upwellSkillSpeedBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 441, \n        \"operation\": 6, \n        \"skillTypeID\": 55033\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8044\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8044, \n    \"effectName\": \"smallVortonProjectorSkillDmgBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 54827\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8045\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8045, \n    \"effectName\": \" mediumVortonProjectorSkillDmgBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 54828\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8046\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8046, \n    \"effectName\": \"largeVortonProjectorSkillDmgBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 54829\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8047\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8047, \n    \"effectName\": \"shipBonusUF1shieldResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 3041, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 3041, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 3041, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 3041, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8048\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8048, \n    \"effectName\": \"shipBonusUF2damage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 3042, \n        \"operation\": 6, \n        \"skillTypeID\": 55034\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8049\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8049, \n    \"effectName\": \"upwellFrigateSkillLevelPreMulShipBonusUF1UF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3041, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3042, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8050\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8050, \n    \"effectName\": \"upwellCruiserSkillLevelPreMulShipBonusUC1UC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3043, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3044, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8051\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8051, \n    \"effectName\": \"upwellBattleshipSkillLevelPreMulShipBonusUB1UB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3045, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3046, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8052\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8052, \n    \"effectName\": \"shipBonusUC2ShieldResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 3044, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 3044, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 3044, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 3044, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8053\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8053, \n    \"effectName\": \"shipBonusUC1maxRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 3043, \n        \"operation\": 6, \n        \"skillTypeID\": 55035\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8054\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8054, \n    \"effectName\": \"shipBonusUB1upwellDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 3045, \n        \"operation\": 6, \n        \"skillTypeID\": 54826\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8056\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8056, \n    \"effectName\": \"shipBonusUB2upwellROF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 3046, \n        \"operation\": 6, \n        \"skillTypeID\": 54826\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8057\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 8057, \n    \"effectName\": \"vortonWeaponDamageSpeedMultiply\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 4060, \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 64, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 4060, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 204, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8062\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8062, \n    \"effectName\": \"ammoAOEvelocityMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 847, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8063\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8063, \n    \"effectName\": \"systemShowInfoBubbleBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3093, \n        \"modifyingAttributeID\": 3093, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8064\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8064, \n    \"effectName\": \"vortonProjectorOptimalRangeBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 55033\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8065\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8065, \n    \"effectName\": \"vortonProjectorSkillRangeBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 55033\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8066\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8066, \n    \"effectName\": \"vortonProjectorDamageBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 55033\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8068\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8068, \n    \"effectName\": \"shipShieldResistanceBonusMBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 748, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 748, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 748, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 748, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8070\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8070, \n    \"effectName\": \"eliteBonusCommandShipsHeavyHAMvelocityCS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8071\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8071, \n    \"effectName\": \" eliteBonusCommandShipDroneRangeCS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1000, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8072\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8072, \n    \"effectName\": \"shipArmorResistanceBonusGBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 746, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 746, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 746, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 746, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8073\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8073, \n    \"effectName\": \"eliteBonusCommandShipShieldHPCS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1000, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8074\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8074, \n    \"effectName\": \"shipBonusPC2maxRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2765, \n        \"operation\": 6, \n        \"skillTypeID\": 47871\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8075\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8075, \n    \"effectName\": \"systemHullEmResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8076\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8076, \n    \"effectName\": \"systemHullThermalResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8077\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8077, \n    \"effectName\": \"systemHullKineticResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8078\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8078, \n    \"effectName\": \"systemHullExplosiveResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8079\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8079, \n    \"effectName\": \"systemVirusCoherenceBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1909, \n        \"modifyingAttributeID\": 1915, \n        \"operation\": 2, \n        \"skillTypeID\": 13278\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1909, \n        \"modifyingAttributeID\": 1915, \n        \"operation\": 2, \n        \"skillTypeID\": 21718\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8080\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8080, \n    \"effectName\": \"systemProbeStrengthBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 3095, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8081\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8081, \n    \"effectName\": \"systemDisallowCloaking\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2454, \n        \"modifyingAttributeID\": 2454, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8082\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8082, \n    \"effectName\": \"systemScanResolutionBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 566, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8083\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8083, \n    \"effectName\": \"systemArmorRepairerDurationBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3098, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3098, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8084\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8084, \n    \"effectName\": \"systemShieldBoosterDurationBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3099, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3099, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8085\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8085, \n    \"effectName\": \"systemFighterExplosionRadius\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2234, \n        \"modifyingAttributeID\": 1967, \n        \"operation\": 4, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2125, \n        \"modifyingAttributeID\": 1967, \n        \"operation\": 4, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8088\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"distribution\": 2, \n    \"durationAttributeID\": 51, \n    \"effectCategory\": 2, \n    \"effectID\": 8088, \n    \"effectName\": \"EntityChainLightning\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.AttackMode\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"8091\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8091, \n    \"effectName\": \"shipBonusForceAuxiliaryG5CapBoosterStrength\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 87, \n        \"modifiedAttributeID\": 67, \n        \"modifyingAttributeID\": 6112, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8092\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8092, \n    \"effectName\": \"shipBonusForceAuxiliaryM2CapBoosterStrength\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 87, \n        \"modifiedAttributeID\": 67, \n        \"modifyingAttributeID\": 2318, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8093\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 1, \n    \"effectID\": 8093, \n    \"effectName\": \"cloneRespawnBay\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.VisualModuleEffect\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8094\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8094, \n    \"effectName\": \"shipBonusHybridROFGD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 738, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8095\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8095, \n    \"effectName\": \"eliteBonusInterdictors1massAddition\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 329, \n        \"modifiedAttributeID\": 796, \n        \"modifyingAttributeID\": 1012, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8096\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8096, \n    \"effectName\": \"shipBonusKinMissileDamageCD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8097\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8097, \n    \"effectName\": \"eliteBonusInterdictors1ShieldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 1012, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8098\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8098, \n    \"effectName\": \"shipBonusArmorHPAD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 1888, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8099\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8099, \n    \"effectName\": \"systemHeatDamageBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationModifier\", \n        \"modifiedAttributeID\": 1211, \n        \"modifyingAttributeID\": 1229, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8100\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8100, \n    \"effectName\": \"shipBonusECMJamDroneDurationCF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2822, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8101\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8101, \n    \"effectName\": \"roleBonusDroneDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2091, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8102\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8102, \n    \"effectName\": \"shipBonusRole1DroneHitpointsDroneControlRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 458, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8103\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8103, \n    \"effectName\": \"setBonusRapture\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 314, \n        \"modifyingAttributeID\": 3107, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8104\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8104, \n    \"effectName\": \"salvageDroneSpecBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2603, \n        \"operation\": 6, \n        \"skillTypeID\": 57164\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 902, \n        \"modifyingAttributeID\": 3110, \n        \"operation\": 2, \n        \"skillTypeID\": 57164\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8105\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8105, \n    \"effectName\": \"skillMultiplierAccessDifficultyBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3110, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8106\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8106, \n    \"effectName\": \"shipPTdamageBonusMB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 518, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8107\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8107, \n    \"effectName\": \"shipBonusLETcapNeedAB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 585, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8108\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 8108, \n    \"effectName\": \"signatureRadiusBonusOnline\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 3113, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8109\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 3115, \n    \"effectCategory\": 1, \n    \"effectID\": 8109, \n    \"effectName\": \"targetSpectrumBreakerBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Invulnerability\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 3114, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8111\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8111, \n    \"effectName\": \"systemElectricalStorm\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 1489, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 984, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1909, \n        \"modifyingAttributeID\": 1915, \n        \"operation\": 2, \n        \"skillTypeID\": 21718\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1909, \n        \"modifyingAttributeID\": 1915, \n        \"operation\": 2, \n        \"skillTypeID\": 13278\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 3095, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2454, \n        \"modifyingAttributeID\": 2454, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 55, \n        \"modifyingAttributeID\": 1500, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 1465, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8112\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8112, \n    \"effectName\": \"systemExoticStorm\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 600, \n        \"modifyingAttributeID\": 601, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 1491, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 986, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 566, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3098, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3098, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3099, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3099, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 203, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 1466, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8113\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8113, \n    \"effectName\": \"systemGammaStorm\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 1490, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 985, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1498, \n        \"operation\": 4, \n        \"skillTypeID\": 16069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1498, \n        \"operation\": 4, \n        \"skillTypeID\": 24568\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 146, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1497, \n        \"operation\": 4, \n        \"skillTypeID\": 3422\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1497, \n        \"operation\": 4, \n        \"skillTypeID\": 24571\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 482, \n        \"modifyingAttributeID\": 1499, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 652, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 1468, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8114\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 8114, \n    \"effectName\": \"systemPlasmaStorm\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 1467, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 3300\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 244, \n        \"operation\": 4, \n        \"skillTypeID\": 3300\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 1492, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 148, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 1967, \n        \"operation\": 4, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 244, \n        \"operation\": 4, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 987, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2234, \n        \"modifyingAttributeID\": 1967, \n        \"operation\": 4, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2125, \n        \"modifyingAttributeID\": 1967, \n        \"operation\": 4, \n        \"skillTypeID\": 23069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8117\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 3115, \n    \"effectCategory\": 1, \n    \"effectID\": 8117, \n    \"effectName\": \"interdictionNullifierBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Invulnerability\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1538, \n        \"modifyingAttributeID\": 3120, \n        \"operation\": -1\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8119\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 8119, \n    \"effectName\": \"industrialCompactCoreEffect2\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.SiegeMode\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 852, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 4, \n        \"modifyingAttributeID\": 1471, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2354, \n        \"modifyingAttributeID\": 2354, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2343, \n        \"modifyingAttributeID\": 2343, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1973, \n        \"modifyingAttributeID\": 1974, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2116, \n        \"modifyingAttributeID\": 2342, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2135, \n        \"modifyingAttributeID\": 2352, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2112, \n        \"modifyingAttributeID\": 2351, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2253, \n        \"modifyingAttributeID\": 2253, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2583, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 2583, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 2583, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2583, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2584, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 2585, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2586, \n        \"operation\": 6, \n        \"skillTypeID\": 43702\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2587, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2587, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2587, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2587, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2588, \n        \"operation\": 6, \n        \"skillTypeID\": 3348\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2607, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2606, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8120\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8120, \n    \"effectName\": \"interceptorNullificationRoleBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 1, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 4117, \n        \"modifiedAttributeID\": 309, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 4117, \n        \"modifiedAttributeID\": 669, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 4117, \n        \"modifiedAttributeID\": 3115, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 4117, \n        \"modifiedAttributeID\": 565, \n        \"modifyingAttributeID\": 2300, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8121\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 8121, \n    \"effectName\": \"warpCoreStabilizerActive\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Invulnerability\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8123\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 8123, \n    \"effectName\": \"droneBandWidthPenaltyOnline\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1271, \n        \"modifyingAttributeID\": 3124, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8128\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8128, \n    \"effectName\": \"miningLaserRangeBonusLRSM\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 351, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8129\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8129, \n    \"effectName\": \"shipBonusCloakVelocityBonusGF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 306, \n        \"modifyingAttributeID\": 462, \n        \"operation\": 6, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8130\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8130, \n    \"effectName\": \"shipBonusWarpCapacityNeedGF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 153, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8131\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8131, \n    \"effectName\": \"shipBonusWarpCapacitorNeedAF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 153, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8132\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8132, \n    \"effectName\": \"shipBonusScanProbeDeviationA2F\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1372, \n        \"modifyingAttributeID\": 485, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8133\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8133, \n    \"effectName\": \"shipBonusCloakVelocityMF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 306, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8134\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8134, \n    \"effectName\": \"shipBonusWarpCapacitorNeedCF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 153, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8135\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8135, \n    \"effectName\": \"shipBonusScanProbeDeviationCF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1372, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8136\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8136, \n    \"effectName\": \"shipBonusWarpCapacitorNeedMF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 153, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8151\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8151, \n    \"effectName\": \"shipBonusCloakedVelocityRole1\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 306, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 0, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"8152\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8152, \n    \"effectName\": \"eliteBonusEnergyDrainAmountBlackOps2\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 1258, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 1258, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8153\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8153, \n    \"effectName\": \"eliteBonusDroneArmorShieldTransferBonusBlops1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8154\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8154, \n    \"effectName\": \"eliteBonusDroneTrackingOptimalBlackOps2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1258, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1258, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8155\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8155, \n    \"effectName\": \"eliteBonusLPTtrackingBlackOps1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8156\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8156, \n    \"effectName\": \"eliteBonusLPTfalloffBlackOps2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 1258, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8157\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8157, \n    \"effectName\": \"eliteBonusShieldResistancesBlackOps2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 1258, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 1258, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 1258, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 1258, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8158\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8158, \n    \"effectName\": \"stabilizeCloakDurationBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 3118, \n        \"modifyingAttributeID\": 3134, \n        \"operation\": 6, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8199\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8199, \n    \"effectName\": \"gallenteIndustrialBonusIceHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3136, \n        \"modifyingAttributeID\": 3157, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8200\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8200, \n    \"effectName\": \"gasHoldCapacityBonusEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1557, \n        \"modifyingAttributeID\": 3158, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8206\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8206, \n    \"effectName\": \"specializationAsteroidDurationMultiplierEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"otherID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3161, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8208\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8208, \n    \"effectName\": \"shipRoleBonusScanProbeStrength\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 3165, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8209\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8209, \n    \"effectName\": \"expeditionFrigateBonusMiningLaserDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3166, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8210\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8210, \n    \"effectName\": \"expeditionFrigateBonusIceHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3167, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8211\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8211, \n    \"effectName\": \"expeditionFrigateBonusGasHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3168, \n        \"operation\": 6, \n        \"skillTypeID\": 25544\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8212\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8212, \n    \"effectName\": \"expeditionFrigateSkillLevelMiningLaserDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3166, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8213\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8213, \n    \"effectName\": \"expeditionFrigateSkillLevelIceHarvestingrDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3167, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8214\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8214, \n    \"effectName\": \"expeditionFrigateSkillLevelGasHarvestingrDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3168, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8215\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8215, \n    \"effectName\": \"expeditionFrigateBonusArmorResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 3169, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 3169, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 3169, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 3169, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8216\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8216, \n    \"effectName\": \"expeditionFrigateSkillLevelArmorResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3169, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8217\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8217, \n    \"effectName\": \"expeditionFrigateBonusLightDronesDamage_DEPRICATED\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 3170, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8218\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8218, \n    \"effectName\": \"expeditionFrigateSkillLevelLightDronesDamage_DEPRICATED\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3170, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8219\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8219, \n    \"effectName\": \"expeditionFrigateSkillLevelMediumDronesDamage_DEPRICATED\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3171, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"8220\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8220, \n    \"effectName\": \"expeditionFrigateBonusMediumDronesDamage_DEPRICATED\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 3171, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8221\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8221, \n    \"effectName\": \"shipRoleBonusDroneOreMiningCycleTime\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3172, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8222\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8222, \n    \"effectName\": \"shipRoleBonusDroneIceMiningCycleTime\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3173, \n        \"operation\": 6, \n        \"skillTypeID\": 43702\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8223\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8223, \n    \"effectName\": \"shipRoleBonusOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 3177, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8224\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8224, \n    \"effectName\": \"shipRoleBonusIceHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3178, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8225\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8225, \n    \"effectName\": \"shipRoleBonusDroneDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 3179, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8226\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8226, \n    \"effectName\": \"shipRoleBonusDroneHitPoints\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 3180, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 3180, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 3180, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8227\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8227, \n    \"effectName\": \"miningBargeBonusOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 3181, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8228\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8228, \n    \"effectName\": \"miningBargeBonusIceHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3182, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8229\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8229, \n    \"effectName\": \"miningBargeBonusGasHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3183, \n        \"operation\": 6, \n        \"skillTypeID\": 25544\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8230\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8230, \n    \"effectName\": \"miningBargeBonusOreMiningRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 3184, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8231\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8231, \n    \"effectName\": \"miningBargeBonusIceHarvestingRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 3185, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8232\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8232, \n    \"effectName\": \"miningBargeSkillLevelOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3181, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8233\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8233, \n    \"effectName\": \"miningBargeSkillLevelIceHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3182, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8234\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8234, \n    \"effectName\": \"miningBargeSkillLevelGasHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3183, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8235\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8235, \n    \"effectName\": \"miningBargeSkillLevelOreMiningRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3184, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8236\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8236, \n    \"effectName\": \"miningBargeSkillLevelIceHarvestingRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3185, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8237\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8237, \n    \"effectName\": \"miningBargeBonusArmorHP\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 3189, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8239\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8239, \n    \"effectName\": \"expeditionFrigateSkillLevelShieldResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3192, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8240\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8240, \n    \"effectName\": \"miningBargeSkillLevelGeneralMiningHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3187, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8241\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8241, \n    \"effectName\": \"miningBargeSkillLevelShieldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3188, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8242\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8242, \n    \"effectName\": \"miningBargeSkillLevelArmorHP\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3189, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8243\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8243, \n    \"effectName\": \"exhumersBonusOreMiningDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3193, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8244\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8244, \n    \"effectName\": \"exhumersBonusIceHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3194, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8245\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8245, \n    \"effectName\": \"exhumersBonusSignatureRadius\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 3195, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8246\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8246, \n    \"effectName\": \"exhumersSkillLevelOreMiningDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3193, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8247\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8247, \n    \"effectName\": \"exhumersSkillLevelIceharvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3194, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8248\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8248, \n    \"effectName\": \"exhumersSkillLevelSingatureRadius\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3195, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8249\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8249, \n    \"effectName\": \"exhumersBonusOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 3197, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8250\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8250, \n    \"effectName\": \"exhumersSkillLevelOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3197, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8251\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8251, \n    \"effectName\": \"exhumersBonusGeneralMiningHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1556, \n        \"modifyingAttributeID\": 3198, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8252\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8252, \n    \"effectName\": \"exhumersSkillLevelGeneralMiningHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3198, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8253\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8253, \n    \"effectName\": \"exhumersBonusShieldResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 3199, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 3199, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 3199, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 3199, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8254\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8254, \n    \"effectName\": \"exhumersBonusArmorResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 3200, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 3200, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 3200, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 3200, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8255\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8255, \n    \"effectName\": \"exhumersSkillLevelShieldResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3199, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8256\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8256, \n    \"effectName\": \"exhumersSkillLevelArmorResistance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3200, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8257\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8257, \n    \"effectName\": \"exhumersBonusLightDronesDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 3201, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8258\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8258, \n    \"effectName\": \"exhumersBonusMediumDronesDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 3202, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8259\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8259, \n    \"effectName\": \"exhumersSkillLevelLightDronesDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3201, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8260\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8260, \n    \"effectName\": \"exhumersSkillLevelMediumDronesDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3202, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8261\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8261, \n    \"effectName\": \"industrialCommandBonusDroneDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 3203, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8262\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8262, \n    \"effectName\": \"industrialCommandSkillLevelDroneDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3203, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8263\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8263, \n    \"effectName\": \"industrialCommandBonusFuelConsuptionCompactIndustrialCore\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 714, \n        \"modifyingAttributeID\": 3204, \n        \"operation\": 6, \n        \"skillTypeID\": 58956\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8264\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8264, \n    \"effectName\": \"industrialCommandBonusMiningForemanBurstRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 3205, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8265\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8265, \n    \"effectName\": \"industrialCommandSkillLevelFuelConsuptionCompactIndustrialCore\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3204, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8266\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8266, \n    \"effectName\": \"industrialCommandSkillLevelMiningForemanBurstRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3205, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8267\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8267, \n    \"effectName\": \"weaponDisruptorResistanceBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2113, \n        \"modifyingAttributeID\": 2353, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8268\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8268, \n    \"effectName\": \"nosferatuDurationBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8269\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8269, \n    \"effectName\": \"stasisWebifierMaxRangeAddPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 3206, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8270\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8270, \n    \"effectName\": \"capacitorWarfareResistanceBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2045, \n        \"modifyingAttributeID\": 2267, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8271\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8271, \n    \"effectName\": \"industrialCommandBonusGasHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1557, \n        \"modifyingAttributeID\": 3208, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8272\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8272, \n    \"effectName\": \"industrialCommandBonusIceHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3136, \n        \"modifyingAttributeID\": 3209, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8273\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8273, \n    \"effectName\": \"industrialCommandSkillLevelGasHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3208, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8274\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8274, \n    \"effectName\": \"industrialCommandSkillLevelIceHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3209, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8275\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8275, \n    \"effectName\": \"minmatarIndustrialBonusGasHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1557, \n        \"modifyingAttributeID\": 3210, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8276\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8276, \n    \"effectName\": \"minmatarIndustrialSkillLevelGasHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3210, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8277\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8277, \n    \"effectName\": \"gallenteIndustrialSkillLevelIceHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3157, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8278\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8278, \n    \"effectName\": \"industrialCommandBonusGeneralMiningHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1556, \n        \"modifyingAttributeID\": 3212, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8279\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8279, \n    \"effectName\": \"industrialCommandBonusShipHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 38, \n        \"modifyingAttributeID\": 3211, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8280\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8280, \n    \"effectName\": \"industrialCommandSkillLevelGeneralMiningHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3212, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8281\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8281, \n    \"effectName\": \"industrialCommandSkillLevelShipCargoCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3211, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8282\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8282, \n    \"effectName\": \"expeditionFrigateSkillLevelLightDronesDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3213, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8283\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8283, \n    \"effectName\": \"expeditionFrigateBonusLightDronesDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 3213, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8284\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8284, \n    \"effectName\": \"expeditionFrigateBonusMediumDronesDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 3214, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8285\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8285, \n    \"effectName\": \"expeditionFrigateSkillLevelMediumDronesDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3214, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8291\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8291, \n    \"effectName\": \"afterburnerSpeedBoostBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 318, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8292\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8292, \n    \"effectName\": \"industrialCommandSkillLevelDroneOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3221, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8293\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8293, \n    \"effectName\": \"industrialCommandSkillLevelDroneIceHarvestingCycleTime\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3222, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8294\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8294, \n    \"effectName\": \"industrialCommandBonusDroneOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 3221, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8295\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8295, \n    \"effectName\": \"industrialCommandBonusDroneIceHarvestingCycleTime\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3222, \n        \"operation\": 6, \n        \"skillTypeID\": 43702\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8296\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8296, \n    \"effectName\": \"capitalIndustrialShipBonusDroneOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 3223, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8297\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8297, \n    \"effectName\": \"capitalIndustrialShipBonusDroneIceCycleTime\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3224, \n        \"operation\": 6, \n        \"skillTypeID\": 43702\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8298\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8298, \n    \"effectName\": \"capitalIndustrialShipSkillLevelDroneOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3223, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8299\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8299, \n    \"effectName\": \"capitalIndustrialShipSkillLevelDroneIceHarvestingCycleTime\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3224, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8300\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8300, \n    \"effectName\": \"shipRoleBonusGasHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3225, \n        \"operation\": 6, \n        \"skillTypeID\": 25544\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8301\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8301, \n    \"effectName\": \"exhumersBonusGasHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3226, \n        \"operation\": 6, \n        \"skillTypeID\": 25544\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8302\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8302, \n    \"effectName\": \"exhumersSkillLevelGasHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3226, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8303\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8303, \n    \"effectName\": \"shipRoleBonusStripMinerActivationCost\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 3228, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8304\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8304, \n    \"effectName\": \"shipRoleBonusIceHarvestingActivationCost\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 3229, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8305\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8305, \n    \"effectName\": \"shipRoleBonusOreMiningDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3230, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8306\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8306, \n    \"effectName\": \"industrialReconfigurationBonusConsumptionQuantity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 714, \n        \"modifyingAttributeID\": 885, \n        \"operation\": 3, \n        \"skillTypeID\": 58956\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8307\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8307, \n    \"effectName\": \"industrialReconfigurationSkillLevelConsumptionQuantity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 885, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8308\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8308, \n    \"effectName\": \"shipRoleBonusGeneralMiningHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1556, \n        \"modifyingAttributeID\": 3231, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8309\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8309, \n    \"effectName\": \"capitalIndustrialShipBonusDroneHitPoints\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 3233, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 3233, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 3233, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8310\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8310, \n    \"effectName\": \"capitalIndustrialShipSkillLevelDroneHitPoints\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3233, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8311\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8311, \n    \"effectName\": \"industrialCommandBonusDroneHitPoints\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 3235, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 3235, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 3235, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8312\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8312, \n    \"effectName\": \"industrialCommandSkillLevelDroneHitPoints\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3235, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8313\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8313, \n    \"effectName\": \"miningFrigateBonusGasCloudHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3237, \n        \"operation\": 6, \n        \"skillTypeID\": 25544\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8314\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8314, \n    \"effectName\": \"miningFrigateSkillLevelGasCloudHarvesting\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3237, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8315\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8315, \n    \"effectName\": \"shipRoleBonusGasHarvestingYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 3239, \n        \"operation\": 6, \n        \"skillTypeID\": 25544\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8316\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8316, \n    \"effectName\": \"expeditionFrigateSkillLevelOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3191, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8317\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8317, \n    \"effectName\": \"miningFrigateBonusIceHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 3240, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8318\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8318, \n    \"effectName\": \"miningFrigateSkillLevelIceHarvestingDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3240, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8322\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8322, \n    \"effectName\": \"gallenteIndustrialSkillLevelMiningHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3241, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8323\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8323, \n    \"effectName\": \"gallenteIndustrialBonusMiningHoldCapacity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1556, \n        \"modifyingAttributeID\": 3241, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8324\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8324, \n    \"effectName\": \"shipRoleBonusDroneOreMiningYield\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 3242, \n        \"operation\": 6, \n        \"skillTypeID\": 3438\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8327\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8327, \n    \"effectName\": \"relicAnalyzerRangeBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 13278\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8328\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8328, \n    \"effectName\": \"relicVirusStrengthBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1910, \n        \"modifyingAttributeID\": 1918, \n        \"operation\": 2, \n        \"skillTypeID\": 13278\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8329\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8329, \n    \"effectName\": \"signatureRadiusBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 973, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8360\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8360, \n    \"effectName\": \"shipBonusMissileReloadTimeGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1795, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8362\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8362, \n    \"effectName\": \"shipBonusWarpDisruptionFieldGeneratorSignatureRadius\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 899, \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 3250, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8364\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 8364, \n    \"effectName\": \"industrialItemCompression\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8365\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8365, \n    \"effectName\": \"mwdCapUseAndSigBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 1803, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 1803, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8366\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8366, \n    \"effectName\": \"modifyHullResonancePostPercentpassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 3258, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 3258, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 3258, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 3258, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8367\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8367, \n    \"effectName\": \"warpScramblerMaxRangeAddPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 3257, \n        \"operation\": 2, \n        \"skillTypeID\": 3449\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8369\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8369, \n    \"effectName\": \"refineryGasDecompressionEfficiencyBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"structureID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1322, \n        \"modifiedAttributeID\": 3262, \n        \"modifyingAttributeID\": 3261, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8372\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8372, \n    \"effectName\": \"fleetCompressionLogisticsRangeBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 3263, \n        \"operation\": 6, \n        \"skillTypeID\": 62450\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 3263, \n        \"operation\": 6, \n        \"skillTypeID\": 62451\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8373\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8373, \n    \"effectName\": \"fleetCompressionLogisticsSkillLevelBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3263, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8377\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8377, \n    \"effectName\": \"BattleshipRoleBonusArmorPlate&ShieldExtenderHP\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 38, \n        \"modifiedAttributeID\": 72, \n        \"modifyingAttributeID\": 3267, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 329, \n        \"modifiedAttributeID\": 1159, \n        \"modifyingAttributeID\": 3266, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 78, \n        \"modifiedAttributeID\": 150, \n        \"modifyingAttributeID\": 3268, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8467\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 8467, \n    \"effectName\": \"modifyJumpConduitPassengerRequired\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3321, \n        \"modifyingAttributeID\": 3321, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8468\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8468, \n    \"effectName\": \"subsystemBonusBlackOpsJumpPassenger\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3320, \n        \"modifyingAttributeID\": 3320, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3322, \n        \"modifyingAttributeID\": 3322, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8469\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8469, \n    \"effectName\": \"bombDeploymentSkillReactivationDelayBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2807, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8470\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8470, \n    \"effectName\": \"capitalIndustrialCommandBonusDroneDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 3326, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8471\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8471, \n    \"effectName\": \"capitalIndustrialShipSkillLevelDroneDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3326, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8472\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8472, \n    \"effectName\": \"capitalIndustrialShipBonusMiningForemanBurstRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 3327, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8473\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8473, \n    \"effectName\": \"capitalIndustrialShipSkillLevelMiningForemanBurstRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3327, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8474\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8474, \n    \"effectName\": \"subsystemBonusMassAddition\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 329, \n        \"modifiedAttributeID\": 796, \n        \"modifyingAttributeID\": 3328, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8477\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8477, \n    \"effectName\": \"droneTrackingBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 3353, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8478\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8478, \n    \"effectName\": \"miningAndIceHarvestingCycleTimeBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 780, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 780, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8479\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8479, \n    \"effectName\": \"droneOptimalFalloffBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 294, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 349, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8517\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8517, \n    \"effectName\": \"stasisWebifierResistanceBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2115, \n        \"modifyingAttributeID\": 3422, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8518\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8518, \n    \"effectName\": \"cargoScanResistanceAssign\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 188, \n        \"modifyingAttributeID\": 188, \n        \"operation\": 7\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8519\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8519, \n    \"effectName\": \"warpScrambleStrengthBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 105, \n        \"modifyingAttributeID\": 3035, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8590\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8590, \n    \"effectName\": \"launcherReloadTimeBonusPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1795, \n        \"modifyingAttributeID\": 2573, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"8594\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 8594, \n    \"effectName\": \"modifyArmorDamageResistanceBonusPostPercentPassive\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 3429, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 3429, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 3429, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 3429, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11055\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11055, \n    \"effectName\": \"shipBonusBattlecruiserHeavyMissileAoeVelocityMBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 748, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11056\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11056, \n    \"effectName\": \"shipBonusBattlecruiserHeavyAssaultMissileAoeVelocityMBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 748, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11057\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11057, \n    \"effectName\": \"shipBonusShieldBoostCapacitorCBC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5044, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11058\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11058, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusCBC3Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5044, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11059\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11059, \n    \"effectName\": \"shipBonusMediumHybridTrackingCBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11060\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11060, \n    \"effectName\": \"shipBonusDroneWebStrengthAndHitpointsGBC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 5046, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 5046, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 5046, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 5046, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11061\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11061, \n    \"effectName\": \"roleBonusMHTRangeCBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5045, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 5045, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11062\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11062, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusCBC3Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5046, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11063\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11063, \n    \"effectName\": \"shipBonusMediumEnergyWeaponDamageABC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5205, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11064\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11064, \n    \"effectName\": \"shipBonusMediumEnergyWeaponRangeABC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11065\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11065, \n    \"effectName\": \"shipBonusArmorHitpointsABC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11066\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11066, \n    \"effectName\": \"shipBonusDroneTrackingABC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 1889, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11067\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11067, \n    \"effectName\": \"battlecruiserMETRange2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5045, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 5045, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11068\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11068, \n    \"effectName\": \"shipMissileRoFMF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11069\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11069, \n    \"effectName\": \"shipRoleBonusScanProbeLauncherCPU\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 5048, \n        \"operation\": 6, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11070\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11070, \n    \"effectName\": \"shipBonusMissileDamageCF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 463, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11071\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11071, \n    \"effectName\": \"shipBonusSETCapNeedBonusAF \", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11072\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11072, \n    \"effectName\": \"shipBonusSmallHybridDamageGF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11358\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11358, \n    \"effectName\": \"shipBonusBattlecruiserSignatureRadiusMBC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 552, \n        \"modifyingAttributeID\": 5207, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11359\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11359, \n    \"effectName\": \"shipBonusShieldBoostFittingCBC4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 5956, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 5956, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11360\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11360, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusABC3Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5205, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11362\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11362, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusMBC3Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5207, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11373\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11373, \n    \"effectName\": \"shipBonusDreadnoughtM1ArmorBoostAmount&ShieldBoostAmount\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2292, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 2292, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11374\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11374, \n    \"effectName\": \"shipBonusDreadnoughtA4EnergyWarfareRangeAmountBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5214, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 5214, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11376\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11376, \n    \"effectName\": \"shipBonusDreadnoughtG1OptimalRangeBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6, \n        \"skillTypeID\": 21666\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11380\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11380, \n    \"effectName\": \"shipBonusDreadnoughtG1ArmorBoostAmount\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11381\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11381, \n    \"effectName\": \"shipBonusWarpScramblerRangeBonusG5\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5216, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11382\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect ( copy )\", \n    \"description_es\": \"Efecto generado automáticamente (copia)\", \n    \"description_fr\": \"Automatically generated effect ( copy )\", \n    \"description_it\": \"Automatically generated effect ( copy )\", \n    \"description_ja\": \"自動生成効果（コピー）\", \n    \"description_ko\": \"자동 생성 효과 (복제)\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 638155, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11382, \n    \"effectName\": \"shipBonusDreadnoughtC1EwTargetPainter\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 379, \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11387\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11387, \n    \"effectName\": \"shipHybridDamageBonusGalNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5230, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11388\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 638201, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11388, \n    \"effectName\": \"shipBonusArmorRepairGalNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 5232, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11390\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 638262, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11390, \n    \"effectName\": \"armorUpgradesMassPenaltyReductionBonusGalNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 329, \n        \"modifiedAttributeID\": 796, \n        \"modifyingAttributeID\": 5233, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11391\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11391, \n    \"effectName\": \"shipHybridDamageBonusCalNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5225, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11392\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11392, \n    \"effectName\": \"shipHybridRangeBonusCalNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5228, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11393\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11393, \n    \"effectName\": \"shipHybridRangeBonusGalNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5234, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11394\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 638276, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11394, \n    \"effectName\": \"shipHybridFallOffGalNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 5231, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11395\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 638278, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11395, \n    \"effectName\": \"shipBonusShieldBoosterCalNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 5229, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11396\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11396, \n    \"effectName\": \"shipHybridRangeBonus2CalNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5227, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11397\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11397, \n    \"effectName\": \"shipHybridFallOffCalNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 5226, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11398\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 638286, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11398, \n    \"effectName\": \"shipProjectileDamageMinNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5235, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11399\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11399, \n    \"effectName\": \"shipProjectileRofMinNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 5236, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11400\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11400, \n    \"effectName\": \"shipBonusMWDSignatureRadiusMinNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 554, \n        \"modifyingAttributeID\": 5237, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11401\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Automatically generated effect\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 638392, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11401, \n    \"effectName\": \"shipProjectileRangeBonusMinNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5238, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11402\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect ( copy )\", \n    \"description_es\": \"Efecto generado automáticamente (copia)\", \n    \"description_fr\": \"Automatically generated effect ( copy )\", \n    \"description_it\": \"Automatically generated effect ( copy )\", \n    \"description_ja\": \"自動生成効果（コピー）\", \n    \"description_ko\": \"자동 생성 효과 (복제)\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 638289, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11402, \n    \"effectName\": \"shipProjectileFallOffMinNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 5239, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11404\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11404, \n    \"effectName\": \"shipArmorHpAmaNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 5218, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11405\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11405, \n    \"effectName\": \"shipBonusSmallEnergyTurretDamageAmaNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5219, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11406\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11406, \n    \"effectName\": \"shipLaserCap1AmaNavyIssue\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5220, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11407\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11407, \n    \"effectName\": \"shipNeutCap1AmaNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5221, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11408\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11408, \n    \"effectName\": \"shipEnergyNeutralizerTransferAmountBonusAmaNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"guid\": \"None\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 97, \n        \"modifyingAttributeID\": 5222, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0, \n    \"sfxName\": \"None\"\n  }, \n  \"11409\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11409, \n    \"effectName\": \"shipBonusSmallEnergyWeaponOptimalRangeAmaNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5223, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11410\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11410, \n    \"effectName\": \"shipBonusSETFalloffAmaNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"iconID\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 5224, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11411\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11411, \n    \"effectName\": \"shipMissileDmgMC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 659, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11412\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11412, \n    \"effectName\": \"shipBonusShieldArmorResonanceMC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11413\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11413, \n    \"effectName\": \"eliteBonusHeavyGunshipMissileExplosionVelocity1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11414\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11414, \n    \"effectName\": \"eliteBonusShieldBoosterAmount1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11415\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11415, \n    \"effectName\": \"eliteBonusHybridTracking1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11416\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11416, \n    \"effectName\": \"shipBonusHybridFalloffGC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 658, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11417\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11417, \n    \"effectName\": \"shipBonusArmorPlateMassGC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 329, \n        \"modifiedAttributeID\": 796, \n        \"modifyingAttributeID\": 2014, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11418\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11418, \n    \"effectName\": \"gallenteBattleshipSkillLevelPreMulShipBonusGB3Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5240, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11419\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11419, \n    \"effectName\": \"shipBonusDroneTrackingGB2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 561, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11420\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11420, \n    \"effectName\": \"shipBonusRepairAmountGB3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 5240, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11421\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11421, \n    \"effectName\": \"shipBonusTorpedoDamageAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11422\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11422, \n    \"effectName\": \"shipBonusCruiseMissileDamageAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11423\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11423, \n    \"effectName\": \"shipBonusHeavyMissileDamageAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11424\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11424, \n    \"effectName\": \"shipBonusLargeEnergyTurretDamageAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11425\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11425, \n    \"effectName\": \"shipBonusDroneHitpointsAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11426\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11426, \n    \"effectName\": \"shipBonusDroneDamageAB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 492, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11428\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11428, \n    \"effectName\": \"shipBonusCruiseMissileExplosionVelocityMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11429\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11429, \n    \"effectName\": \"shipBonusTorpedoMissileExplosionVelocityMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11430\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11430, \n    \"effectName\": \"shipBonusLargeProjectileTrackingMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3308\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11431\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11431, \n    \"effectName\": \"shipBonusShieldHpCF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 588, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11432\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11432, \n    \"effectName\": \"shipBonusArmorRepairEliteGunship2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 675, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11445\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 11445, \n    \"effectName\": \"systemSensorStrengthBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1851, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1851, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1851, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1851, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11446\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11446, \n    \"effectName\": \"shipBonusDreadnoughtG4DamageBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5215, \n        \"operation\": 6, \n        \"skillTypeID\": 21666\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11447\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11447, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusCaldariNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5225, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5228, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5229, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11448\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11448, \n    \"effectName\": \" destroyerSkillLevelPreMulShipBonusMinmatarDestroyerNavy\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5235, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5236, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5237, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11449\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11449, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusAmarrNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5218, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5219, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5220, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5221, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5222, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11450\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11450, \n    \"effectName\": \"shipBonusSETOptimalAmarNavyDestroyer6\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5223, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11451\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11451, \n    \"effectName\": \"destroyerSkillLevelPreMulShipBonusGallenteNavyDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5230, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5232, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5233, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11452\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11452, \n    \"effectName\": \"shipBonusWarpScramblerStrengthG5\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 105, \n        \"modifyingAttributeID\": 5216, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11453\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2674, \n    \"distribution\": 2, \n    \"durationAttributeID\": 2490, \n    \"effectCategory\": 2, \n    \"effectID\": 11453, \n    \"effectName\": \"npcBehaviorFakeMiningLaser\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.Laser\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 2673, \n    \"rangeChance\": 0\n  }, \n  \"11454\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11454, \n    \"effectName\": \"shipBonusGrapplerFalloffM4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1672, \n        \"modifiedAttributeID\": 2044, \n        \"modifyingAttributeID\": 5248, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11512\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11512, \n    \"effectName\": \"eliteBonusGunshipLightMissileAndRocketROF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 509, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 507, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11513\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11513, \n    \"effectName\": \"shipBonusMissileDamageMF2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 587, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11514\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11514, \n    \"effectName\": \"shipBonusArmorRepairAmountMF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 460, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11515\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11515, \n    \"effectName\": \"shipBonusArmorRepairAmountMC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11516\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11516, \n    \"effectName\": \"shipBonusShieldBoostAmountMC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 489, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11517\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11517, \n    \"effectName\": \"shipBonusStasisWebDroneHitpointsAT\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 2020, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 2020, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 2020, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11518\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11518, \n    \"effectName\": \"shipBonusStasisWebDroneVelocityAT2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 5318, \n        \"operation\": 6, \n        \"skillTypeID\": 3435\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11519\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11519, \n    \"effectName\": \"shipBonusStasisWebDroneWebStrengthAT3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 5319, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11528\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11528, \n    \"effectName\": \"covopsCloakCPURole1Bonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 11579\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11529\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11529, \n    \"effectName\": \"shipRole8BonusCoreProbeStrength\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 1688, \n        \"operation\": 6, \n        \"skillTypeID\": 3402\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11530\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11530, \n    \"effectName\": \"shipRole6BonusCoreProbeDeviation\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1372, \n        \"modifyingAttributeID\": 2303, \n        \"operation\": 6, \n        \"skillTypeID\": 3402\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11531\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11531, \n    \"effectName\": \"probeLauncherCPURole1Bonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 481, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11532\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11532, \n    \"effectName\": \"dataMinerCPURole1Bonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 538, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11691\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 11691, \n    \"effectName\": \"debuffLance\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 1, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11695\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11695, \n    \"effectName\": \"skillMultiplierShipBonusLancerDreadnought\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5417, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5418, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11696\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11696, \n    \"effectName\": \"shipBonusDreadnoughtC1HybridTracking\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 2286, \n        \"operation\": 6, \n        \"skillTypeID\": 21666\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11697\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11697, \n    \"effectName\": \"shipBonusDreadnoughtC2HybridOptimalRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2287, \n        \"operation\": 6, \n        \"skillTypeID\": 21666\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11698\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11698, \n    \"effectName\": \"shipBonusDisruptionLanceDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 5417, \n        \"operation\": 6, \n        \"skillTypeID\": 77739\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 5417, \n        \"operation\": 6, \n        \"skillTypeID\": 77739\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 5417, \n        \"operation\": 6, \n        \"skillTypeID\": 77739\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 5417, \n        \"operation\": 6, \n        \"skillTypeID\": 77739\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11699\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11699, \n    \"effectName\": \"skillDisruptionLanceCapacitorUsePremultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5419, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11700\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11700, \n    \"effectName\": \"skillDisruptionLanceCapacitorUseBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5419, \n        \"operation\": 6, \n        \"skillTypeID\": 77739\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11701\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11701, \n    \"effectName\": \"shipBonusDisruptionLanceRange\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5418, \n        \"operation\": 6, \n        \"skillTypeID\": 77739\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11702\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11702, \n    \"effectName\": \"eliteBonusMarauderArmourBonus2a\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 1266, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11704\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11704, \n    \"effectName\": \"shipBonusDreadnoughtM2CapitalProjectileFalloff\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 2293, \n        \"operation\": 6, \n        \"skillTypeID\": 21667\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11705\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11705, \n    \"effectName\": \"shipBonusDreadnoughtA1MissileDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2283, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11706\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11706, \n    \"effectName\": \"shipBonusDreadnoughtA2MissileExplosionRadius\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 2284, \n        \"operation\": 6, \n        \"skillTypeID\": 32435\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 2284, \n        \"operation\": 6, \n        \"skillTypeID\": 21668\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 2284, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11707\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11707, \n    \"effectName\": \"shipBonusDreadnoughtG1HullResonance\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 113, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 111, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 109, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 110, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11714\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11714, \n    \"effectName\": \"disruptionLanceDisallowCloaking\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2454, \n        \"modifyingAttributeID\": 5425, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11716\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 2009, \n    \"effectCategory\": 2, \n    \"effectID\": 11716, \n    \"effectName\": \"entitySuperWeaponLanceAllRaces\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11743\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11743, \n    \"effectName\": \"shipProjectileTrackingGD\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 738, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11745\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 664920, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11745, \n    \"effectName\": \"shipShieldEmResistanceGuristasAlligatorCBC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11746\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 664921, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11746, \n    \"effectName\": \"shipShieldThermalResistanceGuristasAlligatorCBC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11747\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 664922, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11747, \n    \"effectName\": \"shipShieldKineticResistanceGuristasAlligatorCBC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11748\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 664923, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11748, \n    \"effectName\": \"shipShieldExplosiveResistanceGuristasAlligatorCBC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11750\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 664926, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11750, \n    \"effectName\": \"shipBonusHeavyAssaultMissileKineticDamageGuristasAlligatorGBC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11751\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 664927, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11751, \n    \"effectName\": \"shipBonusHeavyAssaultMissileThermalDamageGuristasAlligatorGBC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11752\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 664928, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11752, \n    \"effectName\": \"shipBonusHeavyMissileKineticDamageGuristasAlligatorGBC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11753\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 664929, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11753, \n    \"effectName\": \"shipBonusHeavyMissileThermalDamageGuristasAlligatorGBC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3324\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11763\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 665011, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11763, \n    \"effectName\": \"shipBonusProjectileTurretFalloffBonusGBC\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11764\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 665012, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11764, \n    \"effectName\": \"shipRoleBonusProjectileRofPirateBattlecruiser\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11765\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 665014, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11765, \n    \"effectName\": \"shipMWDHeatBonusATShip\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1223, \n        \"modifyingAttributeID\": 5469, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11766\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 665015, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11766, \n    \"effectName\": \"shipABHeatBonusATShip\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1223, \n        \"modifyingAttributeID\": 5469, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11767\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11767, \n    \"effectName\": \"shipBonusHybridTrackingATC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 692, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11774\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11774, \n    \"effectName\": \"cockroachQAHullHPBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 793, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11919\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11919, \n    \"effectName\": \"shipBonusDestroyerMD1Falloff\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 729, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11938\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11938, \n    \"effectName\": \"shipShieldEMResistanceCD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11939\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11939, \n    \"effectName\": \"shipShieldThermalResistanceCD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11940\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11940, \n    \"effectName\": \"shipShieldKineticResistanceCD2 \", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11941\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11941, \n    \"effectName\": \"shipShieldExplosiveResistanceCD2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 735, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11942\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11942, \n    \"effectName\": \"shipBonusKineticMissileDamageGD\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 738, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11943\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11943, \n    \"effectName\": \"shipBonusThermalMissileDamageGD\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 738, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11944\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11944, \n    \"effectName\": \"shipBonusTitanG2ProjectileFalloff\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 2415, \n        \"operation\": 6, \n        \"skillTypeID\": 21667\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11945\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11945, \n    \"effectName\": \"shipBonusTitanG1ProjectileTracking\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 2414, \n        \"operation\": 6, \n        \"skillTypeID\": 21667\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11946\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 11946, \n    \"effectName\": \"systemSmallUpwellTurretDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1493, \n        \"operation\": 4, \n        \"skillTypeID\": 55034\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11947\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 11947, \n    \"effectName\": \"systemUpwellAoeCloudSize\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 1967, \n        \"operation\": 4, \n        \"skillTypeID\": 55033\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11948\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 11948, \n    \"effectName\": \"systemUpwellDamageMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 1482, \n        \"operation\": 4, \n        \"skillTypeID\": 55033\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11953\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 7, \n    \"effectID\": 11953, \n    \"effectName\": \"systemUpwellAoeVelocity\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 1483, \n        \"operation\": 4, \n        \"skillTypeID\": 55033\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11986\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 2, \n    \"effectID\": 11986, \n    \"effectName\": \"behaviorTargetRepairImpedance\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TargetPaint\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11992\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11992, \n    \"effectName\": \"shipBonusArmorPlateMassAT\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 329, \n        \"modifiedAttributeID\": 796, \n        \"modifyingAttributeID\": 5603, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11993\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 696792, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11993, \n    \"effectName\": \"shipBonusRepairSystemsBonusATC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 2014, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11994\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11994, \n    \"effectName\": \"shipBonusHybridFalloffATC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 693, \n        \"operation\": 6, \n        \"skillTypeID\": 3304\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11995\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 696810, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11995, \n    \"effectName\": \"shipBonusHeatAfterburnerATGF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1223, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 3450\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"11996\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 696813, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11996, \n    \"effectName\": \"shipBonusMWDHeatATGF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1223, \n        \"modifyingAttributeID\": 586, \n        \"operation\": 6, \n        \"skillTypeID\": 3454\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11997\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 696932, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11997, \n    \"effectName\": \"shipBonusArmorRepATGF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 673, \n        \"operation\": 6, \n        \"skillTypeID\": 3393\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11998\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11998, \n    \"effectName\": \"shipBonusSmallHybridMaxRangeATF3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 675, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"11999\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 11999, \n    \"effectName\": \"shipBonusSmallHybridTrackingSpeedATF3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 675, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12002\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 2637, \n    \"durationAttributeID\": 2636, \n    \"effectCategory\": 1, \n    \"effectID\": 12002, \n    \"effectName\": \"npcBehaviorIndustrialCore\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.SiegeMode\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2643, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 2644, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 4, \n        \"modifyingAttributeID\": 2646, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2116, \n        \"modifyingAttributeID\": 2638, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2135, \n        \"modifyingAttributeID\": 2639, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2112, \n        \"modifyingAttributeID\": 2640, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2253, \n        \"modifyingAttributeID\": 2642, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2723, \n        \"modifyingAttributeID\": 2647, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2725, \n        \"modifyingAttributeID\": 2648, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2495, \n        \"modifyingAttributeID\": 2605, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2498, \n        \"modifyingAttributeID\": 2605, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2496, \n        \"modifyingAttributeID\": 2604, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2497, \n        \"modifyingAttributeID\": 2604, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12003\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12003, \n    \"effectName\": \"vortonTurretSpeeBonusPostPercentSpeedLocationShipModulesRequiringVortonProjectorOperation\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 441, \n        \"operation\": 6, \n        \"skillTypeID\": 55033\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12022\": {\n    \"disallowAutoRepeat\": 0, \n    \"durationAttributeID\": 2788, \n    \"effectCategory\": 1, \n    \"effectID\": 12022, \n    \"effectName\": \"Super Shield Visual Effect\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.SuperDefenseShield\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12038\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 708589, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12038, \n    \"effectName\": \"shipBonusSPTFalloffMF3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 1626, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12047\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12047, \n    \"effectName\": \"upwellHaulerSkillLevelPreMulShipBonusUH1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5647, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12049\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12049, \n    \"effectName\": \"upwellHaulerSkillLevelPreMulShipBonusUH2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5648, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12050\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709075, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12050, \n    \"effectName\": \"shipBonusColonyResourcesHoldCapacityUH1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5646, \n        \"modifyingAttributeID\": 5647, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12051\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709076, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12051, \n    \"effectName\": \"shipMissileEMDamageUH2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 5648, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12052\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709077, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12052, \n    \"effectName\": \" shipMissileThermalDamageUH2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 5648, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12053\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709079, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12053, \n    \"effectName\": \"shipMissileExplosiveDamageUH2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 5648, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12054\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709080, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12054, \n    \"effectName\": \"shipMissileKineticDamageUH2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 5648, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12055\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12055, \n    \"effectName\": \"upwellFreighterSkillLevelPreMulShipBonusUFreighter1\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5649, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12056\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12056, \n    \"effectName\": \"upwellFreighterSkillLevelPreMulShipBonusUFreighter2\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5650, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12057\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709133, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12057, \n    \"effectName\": \"shipBonusColonyResourcesHoldCapacityUFreighter1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5646, \n        \"modifyingAttributeID\": 5649, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12058\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709134, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12058, \n    \"effectName\": \"shipMissileEMDamageUFreighter2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 5650, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12060\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709135, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12060, \n    \"effectName\": \" shipMissileThermalDamageUFreighter2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 5650, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12061\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709136, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12061, \n    \"effectName\": \"shipMissileExplosiveDamageUFreighter2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 5650, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12062\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709137, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12062, \n    \"effectName\": \"shipMissileKineticDamageUFreighter2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 5650, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12063\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709142, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12063, \n    \"effectName\": \"shipRoleBonusUpwellFreighterCloakCPUPenalty\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 330, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 5651, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12069\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709567, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12069, \n    \"effectName\": \"shipBonusAutoTargetingMissilesUFreighter3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 5654, \n        \"operation\": 6, \n        \"skillTypeID\": 3322\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 5654, \n        \"operation\": 6, \n        \"skillTypeID\": 3322\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 5654, \n        \"operation\": 6, \n        \"skillTypeID\": 3322\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 5654, \n        \"operation\": 6, \n        \"skillTypeID\": 3322\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12070\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12070, \n    \"effectName\": \"upwellFreighterSkillLevelPreMulShipBonusUFreighter3\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5654, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12071\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"Automatically generated effect\", \n    \"descriptionID\": 709571, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12071, \n    \"effectName\": \"shipRoleBonusUpwellFreighterCapitalFlexHardenerFittingCapBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1700, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 5655, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1700, \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5655, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12072\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12072, \n    \"effectName\": \"eliteIndustrialUpwellNeutNosHeatBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1949, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 1206, \n        \"modifyingAttributeID\": 1949, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12073\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 5660, \n    \"durationAttributeID\": 5657, \n    \"effectCategory\": 2, \n    \"effectID\": 12073, \n    \"effectName\": \"npcBehaviorRemoteCapacitorTransmitter\", \n    \"electronicChance\": 0, \n    \"falloffAttributeID\": 5659, \n    \"guid\": \"effects.EnergyTransfer\", \n    \"isAssistance\": 1, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 5658, \n    \"rangeChance\": 1, \n    \"resistanceAttributeID\": 2116\n  }, \n  \"12097\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12097, \n    \"effectName\": \"skillConduitPassengerBonusPercentLevel\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5681, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12098\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12098, \n    \"effectName\": \"jumpPortalPassengerBonusPercentSkill\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 3133, \n        \"modifyingAttributeID\": 5681, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12101\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12101, \n    \"effectName\": \"capitalMJDCapReductionSkillMultiplier\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5683, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12102\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12102, \n    \"effectName\": \"capitalMJDSkillCapReductionBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5683, \n        \"operation\": 6, \n        \"skillTypeID\": 83464\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12126\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 12126, \n    \"effectName\": \"microJumpPortalDriveCapital\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MicroJumpFieldEngageCapital\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"12127\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 723567, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12127, \n    \"effectName\": \"shipRoleBonusUpwellHaulersMediumMissileFittingBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 5705, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 5705, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 5705, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 771, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 5705, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 510, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 5705, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 511, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 5705, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12165\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12165, \n    \"effectName\": \"ATFrigDmgBonus\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5727, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5727, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5727, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 5727, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 5727, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 5727, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 5727, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 5727, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 5727, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 5727, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 5727, \n        \"operation\": 6, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12166\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12166, \n    \"effectName\": \"ATAssignShieldArmorBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5727, \n        \"modifyingAttributeID\": 2621, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12167\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12167, \n    \"effectName\": \"ATNegativeToPositiveSecStatus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5728, \n        \"modifyingAttributeID\": 2610, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12168\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12168, \n    \"effectName\": \"ATIntermediateSecStatus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2621, \n        \"modifyingAttributeID\": 5728, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12170\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12170, \n    \"effectName\": \"shipShieldThermalResistanceAT1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 5729, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12171\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12171, \n    \"effectName\": \"shipShieldKineticResistanceAT1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 5729, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12172\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12172, \n    \"effectName\": \"shipShieldEMResistanceAT1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 5729, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12173\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12173, \n    \"effectName\": \"shipShieldExplosiveResistanceAT1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 5729, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12174\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 2, \n    \"effectID\": 12174, \n    \"effectName\": \"dotMissileLaunching\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.MissileDeployment\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 1, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12176\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12176, \n    \"effectName\": \"shipBonusAllShieldresistATCC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 1535, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 1535, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 1535, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 1535, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12179\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12179, \n    \"effectName\": \"ShipBonusAllShieldResistATCF1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 1624, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 1624, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 1624, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 1624, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12180\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12180, \n    \"effectName\": \"roleBonusATCruiserMJDFittingReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1189, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2753, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1189, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2753, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12181\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12181, \n    \"effectName\": \"ATcruiserTackleBonus1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 65, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5743, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12182\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12182, \n    \"effectName\": \"ATcruiserAssignSecStatBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5744, \n        \"modifyingAttributeID\": 2621, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5743, \n        \"modifyingAttributeID\": 2621, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12183\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12183, \n    \"effectName\": \"shipBonusATpropDuration\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 475, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 5733, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 46, \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 5733, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12184\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12184, \n    \"effectName\": \"shipBonusATAllShieldResistCB3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 598, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 598, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 598, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 598, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12185\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12185, \n    \"effectName\": \"shipBonusBurstJammer ATB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 142, \n        \"modifyingAttributeID\": 5734, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 241, \n        \"modifyingAttributeID\": 5734, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 238, \n        \"modifyingAttributeID\": 5734, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 239, \n        \"modifyingAttributeID\": 5734, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 80, \n        \"modifiedAttributeID\": 240, \n        \"modifyingAttributeID\": 5734, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12186\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12186, \n    \"effectName\": \"ATAssignBurstJammerStrengthBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5734, \n        \"modifyingAttributeID\": 2621, \n        \"operation\": 4\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12188\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12188, \n    \"effectName\": \"shipRoleBonusSPTDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12189\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12189, \n    \"effectName\": \"shipRoleBonusMPTDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12190\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12190, \n    \"effectName\": \"shipRoleBonusRocketDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12191\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12191, \n    \"effectName\": \"shipRoleBonusHAMDamage\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 117, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 116, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 114, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 2299, \n        \"operation\": 6, \n        \"skillTypeID\": 25719\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12192\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12192, \n    \"effectName\": \"stasisWebifierResistanceBonusMD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2115, \n        \"modifyingAttributeID\": 729, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12193\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12193, \n    \"effectName\": \"stasisWebifierResistanceBonusMBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2115, \n        \"modifyingAttributeID\": 748, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12194\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12194, \n    \"effectName\": \"shipBonusShieldBoostCD1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 734, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12195\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12195, \n    \"effectName\": \"shipBonusShieldBoostCBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12199\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12199, \n    \"effectName\": \"ATfrigNegSecStatusDmgBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5742, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5741, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5740, \n        \"operation\": 6, \n        \"skillTypeID\": 20315\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5739, \n        \"operation\": 6, \n        \"skillTypeID\": 3301\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12200\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12200, \n    \"effectName\": \"ATfrigMissileDamageBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 118, \n        \"modifyingAttributeID\": 5727, \n        \"operation\": 6, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12202\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12202, \n    \"effectName\": \"ATcruiserTackleBonus2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 52, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5744, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12203\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12203, \n    \"effectName\": \"ATfrigDroneBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 5746, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 5746, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5746, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 5746, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12212\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12212, \n    \"effectName\": \"minmatarCruiserSkillLevelPreMulShipBonusMC3Ship\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5747, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12213\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 870991, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12213, \n    \"effectName\": \"shipBonusMPTFalloffMC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 5747, \n        \"operation\": 6, \n        \"skillTypeID\": 3305\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12214\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12214, \n    \"effectName\": \"AtcruiserDroneBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 5748, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 5748, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5748, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 5748, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12215\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12215, \n    \"effectName\": \"skillDotMaxHPPercentagePerTickBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5749, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12216\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12216, \n    \"effectName\": \"skillDotMaxDamagePerTickBonusSkillLevel\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5750, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12217\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12217, \n    \"effectName\": \"skillDotMaxHPPercentagePerTickBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5737, \n        \"modifyingAttributeID\": 5749, \n        \"operation\": 6, \n        \"skillTypeID\": 86260\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12218\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12218, \n    \"effectName\": \"skillDotMaxDamagePerTickBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5736, \n        \"modifyingAttributeID\": 5750, \n        \"operation\": 6, \n        \"skillTypeID\": 86260\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12219\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12219, \n    \"effectName\": \"skillDotPodVelocityBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 20, \n        \"operation\": 6, \n        \"skillTypeID\": 86260\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12220\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12220, \n    \"effectName\": \"skillDotLauncherRoFBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 293, \n        \"operation\": 6, \n        \"skillTypeID\": 86260\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12221\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12221, \n    \"effectName\": \"skillDotDurationBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5735, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 86260\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12244\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12244, \n    \"effectName\": \"shipBonusRole1CapitalProjectileDamageBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 2298, \n        \"operation\": 6, \n        \"skillTypeID\": 21667\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12245\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12245, \n    \"effectName\": \"shipBonusDreadnoughtG1FalloffBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 2289, \n        \"operation\": 6, \n        \"skillTypeID\": 21667\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12246\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12246, \n    \"effectName\": \"shipBonusRoleAngelDreadMoveWhileSieged\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 515, \n        \"modifiedAttributeID\": 20, \n        \"modifyingAttributeID\": 5767, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12249\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1009573, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12249, \n    \"effectName\": \"shipBonusDroneDamageHeavyMediumLightMultiplierGBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12250\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12250, \n    \"effectName\": \"shipBonusSentryDroneDamageAndSentryHPMultiplierGBC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5046, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 5046, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 5046, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 5046, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12251\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1009574, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12251, \n    \"effectName\": \"shipBonusDroneHPHeavyMediumLightGBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12252\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12252, \n    \"effectName\": \"eliteBonusCommandShipDroneTrackingHeavyMediumLightCS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 3441\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 33699\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 999, \n        \"operation\": 6, \n        \"skillTypeID\": 24241\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12253\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12253, \n    \"effectName\": \"eliteBonusCommandShipDroneTrackingSentryCS4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 5772, \n        \"operation\": 6, \n        \"skillTypeID\": 23594\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12254\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1009575, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12254, \n    \"effectName\": \"commandShipSkillMultiplier4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5772, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12267\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1010664, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12267, \n    \"effectName\": \"shipBloodRaiderCapitalNosNeutralizationSignatureResolutionReduction\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 2451, \n        \"modifyingAttributeID\": 5787, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12274\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12274, \n    \"effectName\": \"logisticSkillMultiplier4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5792, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12275\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12275, \n    \"effectName\": \"shipBonusArmorPlateMassEliteBonusLogistics4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 329, \n        \"modifiedAttributeID\": 796, \n        \"modifyingAttributeID\": 5792, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12276\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12276, \n    \"effectName\": \"shipBonusShieldExtenderSigEliteBonusLogistics4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 38, \n        \"modifiedAttributeID\": 983, \n        \"modifyingAttributeID\": 5792, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12277\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12277, \n    \"effectName\": \" shipBonusRemoteSensorBoosterTargetingRangeSensorStrengthEliteBonusLogistics4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 290, \n        \"modifiedAttributeID\": 1027, \n        \"modifyingAttributeID\": 5792, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 290, \n        \"modifiedAttributeID\": 1028, \n        \"modifyingAttributeID\": 5792, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 290, \n        \"modifiedAttributeID\": 1029, \n        \"modifyingAttributeID\": 5792, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 290, \n        \"modifiedAttributeID\": 1030, \n        \"modifyingAttributeID\": 5792, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 290, \n        \"modifiedAttributeID\": 309, \n        \"modifyingAttributeID\": 5792, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12278\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12278, \n    \"effectName\": \" shipBonusArmorPlateHitpointAmountEliteBonusLogistics4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 329, \n        \"modifiedAttributeID\": 1159, \n        \"modifyingAttributeID\": 5792, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12279\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12279, \n    \"effectName\": \" shipBonusShieldExtenderCapacityBonusEliteBonusLogistics4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 38, \n        \"modifiedAttributeID\": 72, \n        \"modifyingAttributeID\": 5792, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12283\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12283, \n    \"effectName\": \"implantSetHackingVirusCoheranceEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5799, \n        \"modifyingAttributeID\": 5798, \n        \"operation\": 0, \n        \"skillTypeID\": 3411\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12284\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12284, \n    \"effectName\": \"implantSetHackingVirusCoheranceModifierEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 538, \n        \"modifiedAttributeID\": 1909, \n        \"modifyingAttributeID\": 5799, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12286\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12286, \n    \"effectName\": \"shipLPWRangeBonusPCBS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2766, \n        \"operation\": 6, \n        \"skillTypeID\": 47872\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12287\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12287, \n    \"effectName\": \"shipLPWTrackingBonusPCBS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 2767, \n        \"operation\": 6, \n        \"skillTypeID\": 47872\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12288\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12288, \n    \"effectName\": \"eliteBonusViolatorsLPWDmgMultiMax1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2734, \n        \"modifyingAttributeID\": 1265, \n        \"operation\": 6, \n        \"skillTypeID\": 47872\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12296\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1015638, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12296, \n    \"effectName\": \"shipLaserCapABC3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5205, \n        \"operation\": 6, \n        \"skillTypeID\": 3306\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12326\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12326, \n    \"effectName\": \"oreDestroyerSkillLevelPreMulShipBonusOreDestroyerShip1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5820, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12327\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12327, \n    \"effectName\": \"oreDestroyerSkillLevelPreMulShipBonusOreDestroyerShip2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5821, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12328\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12328, \n    \"effectName\": \"oreDestroyerSkillLevelPreMulShipBonusOreDestroyerShip3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5822, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12329\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1016660, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12329, \n    \"effectName\": \"shipMiningYieldBonusOreDestroyer1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 5820, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12330\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1016661, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12330, \n    \"effectName\": \"shipMiningRangeBonusOreDestroyer2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5821, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12331\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1016662, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12331, \n    \"effectName\": \"shipGasCloudDurationBonusOreDestroyer3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 5822, \n        \"operation\": 6, \n        \"skillTypeID\": 25544\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12529\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12529, \n    \"effectName\": \"shipBonusArmorResistsUniformSOEABC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 267, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 268, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 269, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 270, \n        \"modifyingAttributeID\": 795, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12530\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12530, \n    \"effectName\": \"expeditionCommandDurationBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 66, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12531\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12531, \n    \"effectName\": \"expeditionCommandStrengthBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2572, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12532\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12532, \n    \"effectName\": \"ExpeditionCommandSkillLevelPreMulShipBonusExpeditionCommandShip1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5939, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12533\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12533, \n    \"effectName\": \"ExpeditionCommandSkillLevelPreMulShipBonusExpeditionCommandShip2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5940, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12534\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12534, \n    \"effectName\": \"ExpeditionCommandSkillLevelPreMulShipBonusExpeditionCommandShip3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5941, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12535\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12535, \n    \"effectName\": \"ExpeditionCommandSkillLevelPreMulShipBonusExpeditionCommandShip4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5942, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12536\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12536, \n    \"effectName\": \"ExpeditionCommandSkillLevelPreMulShipBonusExpeditionCommandShip5\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5943, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12537\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12537, \n    \"effectName\": \"shipBonusAnalyzerRangeECS1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 538, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5939, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12538\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12538, \n    \"effectName\": \"shipBonusGasCloudScoopDurationECS2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 5940, \n        \"operation\": 6, \n        \"skillTypeID\": 25544\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12539\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12539, \n    \"effectName\": \"shipBonusExplorationCommandStrengthDurationECS3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 5941, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 5941, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 5941, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 5941, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 5941, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12540\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12540, \n    \"effectName\": \"shipBonusArmorCommandStrengthDurationECS4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 5942, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 5942, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 5942, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 5942, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 5942, \n        \"operation\": 6, \n        \"skillTypeID\": 20494\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12541\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12541, \n    \"effectName\": \"shipBonusGasCloudScoopCPUreductionSOEECSrole\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 5945, \n        \"operation\": 6, \n        \"skillTypeID\": 25544\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12542\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1017865, \n    \"disallowAutoRepeat\": 0, \n    \"displayName_de\": \"Expeditionskommando-Mind-Link\", \n    \"displayName_en-us\": \"expeditionCommandMindlink\", \n    \"displayName_es\": \"Enlace mental de mando de expedición\", \n    \"displayName_fr\": \"expeditionCommandMindlink\", \n    \"displayName_it\": \"expeditionCommandMindlink\", \n    \"displayName_ja\": \"探査コマンドマインドリンク\", \n    \"displayName_ko\": \"expeditionCommandMindlink\", \n    \"displayName_ru\": \"expeditionCommandMindlink\", \n    \"displayName_zh\": \"远征指挥思维网络芯片\", \n    \"displayNameID\": 1017866, \n    \"effectCategory\": 0, \n    \"effectID\": 12542, \n    \"effectName\": \"expeditionCommandMindlink\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 884, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 1, \n    \"rangeChance\": 0\n  }, \n  \"12543\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12543, \n    \"effectName\": \"shipBonusRole6ExpeditionBurstDurationSOEECS\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2303, \n        \"operation\": 6, \n        \"skillTypeID\": 89611\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12552\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12552, \n    \"effectName\": \"shipRoleBonusOREExecutiveIssueMiningHoldAmount\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 1556, \n        \"modifyingAttributeID\": 5950, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12554\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12554, \n    \"effectName\": \"shipDroneHPandDamageOreDestroyer2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 5821, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 9, \n        \"modifyingAttributeID\": 5821, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 265, \n        \"modifyingAttributeID\": 5821, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 263, \n        \"modifyingAttributeID\": 5821, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12555\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12555, \n    \"effectName\": \"shipBonusShieldAllResistancesOreDestroyer3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 271, \n        \"modifyingAttributeID\": 5822, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 272, \n        \"modifyingAttributeID\": 5822, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 273, \n        \"modifyingAttributeID\": 5822, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 274, \n        \"modifyingAttributeID\": 5822, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12556\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12556, \n    \"effectName\": \"eliteBonusCommandDestroyerMining1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2535, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2469, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2471, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2473, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2537, \n        \"modifyingAttributeID\": 2059, \n        \"operation\": 6, \n        \"skillTypeID\": 22536\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12557\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12557, \n    \"effectName\": \"shipBonusGasCloudDurationRoleBonusOreMiningDestroyer\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 5952, \n        \"operation\": 6, \n        \"skillTypeID\": 25544\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12558\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12558, \n    \"effectName\": \" oreDestroyerSkillLevelPreMulShipBonusOreDestroyerShip4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5953, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12559\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12559, \n    \"effectName\": \"shipShieldBoosterBonusOreExecutiveDestroyer4\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 5953, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12560\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12560, \n    \"effectName\": \" oreExecutiveRoleBonusSalvageDroneAdditionalAccessDifficultyRoleBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 902, \n        \"modifyingAttributeID\": 5954, \n        \"operation\": 2, \n        \"skillTypeID\": 3440\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12562\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12562, \n    \"effectName\": \"miningFrigateSkillLevelPreMulShipBonusOreFrigateShieldBoosterbonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5955, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12563\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12563, \n    \"effectName\": \"shipShieldBoosterBonusOreExecutiveFrigate\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 5955, \n        \"operation\": 6, \n        \"skillTypeID\": 3416\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12564\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12564, \n    \"effectName\": \"battlecruiserSkillLevelPreMulShipBonusCBC4Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5956, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12565\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12565, \n    \"effectName\": \"shipBonusDroneTrackingSpeedGBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 160, \n        \"modifyingAttributeID\": 747, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12566\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12566, \n    \"effectName\": \"shipBonusDroneMWDboostrole6\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 2303, \n        \"operation\": 6, \n        \"skillTypeID\": 3436\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12567\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12567, \n    \"effectName\": \"shipBonusSmallProjectileFalloffRole6\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 158, \n        \"modifyingAttributeID\": 2303, \n        \"operation\": 6, \n        \"skillTypeID\": 3302\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12568\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12568, \n    \"effectName\": \"eliteBonusJustWarpScramblerRangeBonusBlops1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 1257, \n        \"operation\": 6, \n        \"skillTypeID\": 3449\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12569\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12569, \n    \"effectName\": \" eliteBonusJustWarpScramblerStrengthBonusBlops3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 105, \n        \"modifyingAttributeID\": 2627, \n        \"operation\": 2, \n        \"skillTypeID\": 3449\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12572\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12572, \n    \"effectName\": \"moduleQADroneControlModuleEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 352, \n        \"modifyingAttributeID\": 5958, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12573\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12573, \n    \"effectName\": \"shipBonusLargeEnergyTurretCapReductionAB3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5960, \n        \"operation\": 6, \n        \"skillTypeID\": 3309\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12574\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12574, \n    \"effectName\": \"amarrBattleshipSkillLevelPreMulShipBonusAB3Ship\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5960, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12575\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12575, \n    \"effectName\": \"modeRemoteArmorRepairCapacitorCostPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5961, \n        \"operation\": 5, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12576\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12576, \n    \"effectName\": \"modeRemoteShieldRepairCapacitorCostPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5961, \n        \"operation\": 5, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12577\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12577, \n    \"effectName\": \"modeRemoteRepairAmountArmorPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 84, \n        \"modifyingAttributeID\": 5962, \n        \"operation\": 5, \n        \"skillTypeID\": 16069\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12578\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12578, \n    \"effectName\": \"modeRemoteRepairAmountShieldPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 68, \n        \"modifyingAttributeID\": 5962, \n        \"operation\": 5, \n        \"skillTypeID\": 3422\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12579\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12579, \n    \"effectName\": \" shipBonusArmorPlateMassGB3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 329, \n        \"modifiedAttributeID\": 796, \n        \"modifyingAttributeID\": 5240, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12586\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 5972, \n    \"distribution\": 2, \n    \"durationAttributeID\": 5970, \n    \"effectCategory\": 1, \n    \"effectID\": 12586, \n    \"effectName\": \"behaviorModuleBonusWarfareLinkMiningFake\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.WarfareLinkMining\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 5971, \n    \"rangeChance\": 0\n  }, \n  \"12591\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 12591, \n    \"effectName\": \"miningSensorArrayScannerUpgrade\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 5979, \n        \"modifyingAttributeID\": 5979, \n        \"operation\": 2\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12592\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12592, \n    \"effectName\": \"shipBonusCarrierA5SupportFighterBonusEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2211, \n        \"modifyingAttributeID\": 5981, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12593\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12593, \n    \"effectName\": \"shipBonusCarrierC5SupportFighterBonusEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2246, \n        \"modifyingAttributeID\": 5982, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2247, \n        \"modifyingAttributeID\": 5982, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2248, \n        \"modifyingAttributeID\": 5982, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2249, \n        \"modifyingAttributeID\": 5982, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12594\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12594, \n    \"effectName\": \"shipBonusCarrierG5SupportFighterBonusSpeed\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2151, \n        \"modifyingAttributeID\": 5983, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12595\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12595, \n    \"effectName\": \"shipBonusCarrierM5SupportFighterBonusEffect\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2184, \n        \"modifyingAttributeID\": 5984, \n        \"operation\": 6, \n        \"skillTypeID\": 40573\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12596\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1021646, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12596, \n    \"effectName\": \"shipMiningBonusYieldOreDestroyerRoleBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 5986, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12597\": {\n    \"disallowAutoRepeat\": 0, \n    \"dischargeAttributeID\": 6, \n    \"durationAttributeID\": 73, \n    \"effectCategory\": 1, \n    \"effectID\": 12597, \n    \"effectName\": \"moduleBonusIntegratedSensorArray\", \n    \"electronicChance\": 0, \n    \"guid\": \"effects.TriageMode\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 104, \n        \"modifyingAttributeID\": 105, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 564, \n        \"modifyingAttributeID\": 566, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1027, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1029, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1030, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1028, \n        \"operation\": 6\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2354, \n        \"modifyingAttributeID\": 2354, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 2343, \n        \"modifyingAttributeID\": 2343, \n        \"operation\": 2\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 211, \n        \"modifyingAttributeID\": 1027, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 210, \n        \"modifyingAttributeID\": 1029, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 208, \n        \"modifyingAttributeID\": 1030, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 209, \n        \"modifyingAttributeID\": 1028, \n        \"operation\": 6, \n        \"skillTypeID\": 23069\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 76, \n        \"modifyingAttributeID\": 237, \n        \"operation\": 4\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 797, \n        \"modifyingAttributeID\": 797, \n        \"operation\": 7\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2346, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 73, \n        \"modifyingAttributeID\": 2346, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5988, \n        \"operation\": 6, \n        \"skillTypeID\": 21802\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 6, \n        \"modifyingAttributeID\": 5988, \n        \"operation\": 6, \n        \"skillTypeID\": 21803\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12739\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1022431, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12739, \n    \"effectName\": \"shipBonusEnergyNeutOptimalAC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 71, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12740\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1022434, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12740, \n    \"effectName\": \"shipBonusEnergyNosOptimalAC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 68, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 656, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12753\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12753, \n    \"effectName\": \"shipRoleBonusOREExecutiveIssueMiningCriticalHitChanceBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5967, \n        \"modifyingAttributeID\": 6048, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12754\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12754, \n    \"effectName\": \"miningCritChanceSkillBoostLevelBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 6049, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12755\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12755, \n    \"effectName\": \"miningCritChanceSkillPostPercentLRSMBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5967, \n        \"modifyingAttributeID\": 6049, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5967, \n        \"modifyingAttributeID\": 6049, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12756\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12756, \n    \"effectName\": \"miningCritYieldSkillBoostLevelBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 6050, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12757\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12757, \n    \"effectName\": \"miningCritYieldSkillPostPercentLRSMBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5969, \n        \"modifyingAttributeID\": 6050, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5969, \n        \"modifyingAttributeID\": 6050, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12758\": {\n    \"description_de\": \"Automatisch erzeugter Effekt\", \n    \"description_en-us\": \"Automatically generated effect\", \n    \"description_es\": \"Efecto generado automáticamente.\", \n    \"description_fr\": \"Effet généré automatiquement\", \n    \"description_it\": \"Automatically generated effect\", \n    \"description_ja\": \"自動生成効果\", \n    \"description_ko\": \"자동 생성 효과\", \n    \"description_ru\": \"Автоматически созданный эффект\", \n    \"description_zh\": \"自动生成效果\", \n    \"descriptionID\": 1022818, \n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12758, \n    \"effectName\": \"shipRoleBonusAnhingaLargeMissilePowerFittingBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1245, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 6054, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 506, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 6054, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 508, \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 6054, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12759\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 12759, \n    \"effectName\": \"miningCritChanceBonusOreIceOnline\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5967, \n        \"modifyingAttributeID\": 6049, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5967, \n        \"modifyingAttributeID\": 6049, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12760\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 12760, \n    \"effectName\": \"miningCritBonusYieldBonusOreIceOnline\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5969, \n        \"modifyingAttributeID\": 6050, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5969, \n        \"modifyingAttributeID\": 6050, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12761\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 4, \n    \"effectID\": 12761, \n    \"effectName\": \"miningWasteChanceBonusOreIceOnline\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 3154, \n        \"modifyingAttributeID\": 6053, \n        \"operation\": 6, \n        \"skillTypeID\": 3386\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 3154, \n        \"modifyingAttributeID\": 6053, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 3154, \n        \"modifyingAttributeID\": 6053, \n        \"operation\": 6, \n        \"skillTypeID\": 25544\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12764\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12764, \n    \"effectName\": \"shipRoleBonusAnhingaLargeMissileCpuFittingBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1245, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 6055, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 506, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 6055, \n        \"operation\": 0\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 508, \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 6055, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12765\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12765, \n    \"effectName\": \"shipBonusTorpedoAndCruiseMissileExplosionVelocityMB\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 490, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12766\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12766, \n    \"effectName\": \"shipBonusTorpedoAndCruiseMissileExplosionRadiusCBC1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 654, \n        \"modifyingAttributeID\": 743, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12767\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12767, \n    \"effectName\": \"tacticalBonusSkuaDefensiveShieldRechargeRate\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 479, \n        \"modifyingAttributeID\": 6057, \n        \"operation\": 5\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12771\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12771, \n    \"effectName\": \"shipRoleBonusPerseveranceIceMiningCriticalHitChanceBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5967, \n        \"modifyingAttributeID\": 6062, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12772\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12772, \n    \"effectName\": \"shipIceMiningCriticalHitChanceBonusOreDestroyer1\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5967, \n        \"modifyingAttributeID\": 5820, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12773\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12773, \n    \"effectName\": \"shipIceMiningCriticalHitYieldBonusOreDestroyer2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 5969, \n        \"modifyingAttributeID\": 5821, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12774\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12774, \n    \"effectName\": \"shipIceMiningRangeBonusOreDestroyer3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 5822, \n        \"operation\": 6, \n        \"skillTypeID\": 16281\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12777\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12777, \n    \"effectName\": \"roleBonusCDLinksPGCPUReductionSkua\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 30, \n        \"modifyingAttributeID\": 2064, \n        \"operation\": 6, \n        \"skillTypeID\": 3348\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 50, \n        \"modifyingAttributeID\": 2064, \n        \"operation\": 6, \n        \"skillTypeID\": 3348\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12781\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12781, \n    \"effectName\": \"shipETOptimalRange1AF\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 464, \n        \"operation\": 6, \n        \"skillTypeID\": 3303\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12790\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12790, \n    \"effectName\": \"shipBonusTorpedoAndCruiseMissileExplosionVelocityCBC2\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6, \n        \"skillTypeID\": 3325\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 653, \n        \"modifyingAttributeID\": 745, \n        \"operation\": 6, \n        \"skillTypeID\": 3326\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12794\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12794, \n    \"effectName\": \"shipRocketMaxVelocityBonusPostDivSkua\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 6079, \n        \"operation\": 5, \n        \"skillTypeID\": 3320\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12795\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12795, \n    \"effectName\": \"shipLightMissileMaxVelocityBonusPostDivSkua\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 6078, \n        \"operation\": 5, \n        \"skillTypeID\": 3321\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12796\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12796, \n    \"effectName\": \"shipModeMissileFlightTimePostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 281, \n        \"modifyingAttributeID\": 6080, \n        \"operation\": 5, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12798\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12798, \n    \"effectName\": \"shipModeMissileVelocityPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 37, \n        \"modifyingAttributeID\": 6081, \n        \"operation\": 5, \n        \"skillTypeID\": 3319\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12799\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12799, \n    \"effectName\": \"shipModeAnhingaCruiseLauncherTorpedoLauncherRapidHeavyLauncherROFPostDiv\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 506, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 6082, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1245, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 6082, \n        \"operation\": 5\n      }, \n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 508, \n        \"modifiedAttributeID\": 51, \n        \"modifyingAttributeID\": 6082, \n        \"operation\": 5\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12801\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12801, \n    \"effectName\": \"miningAmountMultiplierSkillBonusPreMul\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"itemID\", \n        \"func\": \"ItemModifier\", \n        \"modifiedAttributeID\": 434, \n        \"modifyingAttributeID\": 280, \n        \"operation\": 0\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12802\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12802, \n    \"effectName\": \"MutatedMiningDroneOperationMiningAmountBonusPostPercentMiningDroneAmountPercentChar\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 77, \n        \"modifyingAttributeID\": 434, \n        \"operation\": 6, \n        \"skillTypeID\": 60515\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12811\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12811, \n    \"effectName\": \"eliteBonusStasisGrapplerMaxRangeBlackOps3\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 1672, \n        \"modifiedAttributeID\": 54, \n        \"modifyingAttributeID\": 2627, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12834\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12834, \n    \"effectName\": \"shipBonusForceAuxiliaryG5CapAmount\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 90, \n        \"modifyingAttributeID\": 6112, \n        \"operation\": 6, \n        \"skillTypeID\": 24572\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12835\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12835, \n    \"effectName\": \"shipBonusForceAuxiliaryC5CapBoosterStrength\", \n    \"electronicChance\": 0, \n    \"guid\": \"\", \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 87, \n        \"modifiedAttributeID\": 67, \n        \"modifyingAttributeID\": 6113, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12836\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12836, \n    \"effectName\": \"shipBonusForceAuxiliaryA5CapBoosterStrength\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 87, \n        \"modifiedAttributeID\": 67, \n        \"modifyingAttributeID\": 6114, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12837\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12837, \n    \"effectName\": \"shipBonusForceAuxiliaryM5CapBoosterStrength\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationGroupModifier\", \n        \"groupID\": 87, \n        \"modifiedAttributeID\": 67, \n        \"modifyingAttributeID\": 6116, \n        \"operation\": 6\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12838\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12838, \n    \"effectName\": \"expeditionCommandBurstProbeStrengthBonusCharIDEffectPassivePostMul\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1371, \n        \"modifyingAttributeID\": 6118, \n        \"operation\": 4, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12839\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12839, \n    \"effectName\": \"expeditionCommandBurstProbeDeviationBonusCharIDEffectPassivePostMul\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 1372, \n        \"modifyingAttributeID\": 6119, \n        \"operation\": 4, \n        \"skillTypeID\": 3412\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeAttributeID\": 54, \n    \"rangeChance\": 0\n  }, \n  \"12844\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12844, \n    \"effectName\": \"skillBonusAmarrFighters\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92397\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92397\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92397\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12846\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12846, \n    \"effectName\": \"skillBonusCaldariFighters\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92400\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92400\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92400\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12847\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12847, \n    \"effectName\": \"skillBonusGallenteFighters\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92398\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92398\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92398\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12848\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12848, \n    \"effectName\": \"skillBonusMinmatarFighters\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2226, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92399\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2178, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92399\n      }, \n      {\n        \"domain\": \"charID\", \n        \"func\": \"OwnerRequiredSkillModifier\", \n        \"modifiedAttributeID\": 2130, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92399\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }, \n  \"12862\": {\n    \"disallowAutoRepeat\": 0, \n    \"effectCategory\": 0, \n    \"effectID\": 12862, \n    \"effectName\": \"extralargeDisintegratorSkillDmgBonus\", \n    \"electronicChance\": 0, \n    \"isAssistance\": 0, \n    \"isOffensive\": 0, \n    \"isWarpSafe\": 0, \n    \"modifierInfo\": [\n      {\n        \"domain\": \"shipID\", \n        \"func\": \"LocationRequiredSkillModifier\", \n        \"modifiedAttributeID\": 64, \n        \"modifyingAttributeID\": 292, \n        \"operation\": 6, \n        \"skillTypeID\": 92541\n      }\n    ], \n    \"propulsionChance\": 0, \n    \"published\": 0, \n    \"rangeChance\": 0\n  }\n}"
  },
  {
    "path": "staticdata/fsd_built/dogmaunits.0.json",
    "content": "{\n  \"1\": {\n    \"description_de\": \"Meter\", \n    \"description_en-us\": \"Meter\", \n    \"description_es\": \"Metro.\", \n    \"description_fr\": \"Mètre\", \n    \"description_it\": \"Meter\", \n    \"description_ja\": \"メートル\", \n    \"description_ko\": \"m\", \n    \"description_ru\": \"метр\", \n    \"description_zh\": \"米\", \n    \"descriptionID\": 77965, \n    \"displayName_de\": \"m\", \n    \"displayName_en-us\": \"m\", \n    \"displayName_es\": \"m\", \n    \"displayName_fr\": \"m\", \n    \"displayName_it\": \"m\", \n    \"displayName_ja\": \"m\", \n    \"displayName_ko\": \"m\", \n    \"displayName_ru\": \"м\", \n    \"displayName_zh\": \"m\", \n    \"displayNameID\": 78005, \n    \"name\": \"Length\"\n  }, \n  \"2\": {\n    \"description_de\": \"Kilogramm\", \n    \"description_en-us\": \"Kilogram\", \n    \"description_es\": \"Kilogramo.\", \n    \"description_fr\": \"Kilogramme\", \n    \"description_it\": \"Kilogram\", \n    \"description_ja\": \"キログラム\", \n    \"description_ko\": \"kg\", \n    \"description_ru\": \"килограмм\", \n    \"description_zh\": \"千克\", \n    \"descriptionID\": 77966, \n    \"displayName_de\": \"kg\", \n    \"displayName_en-us\": \"kg\", \n    \"displayName_es\": \"kg\", \n    \"displayName_fr\": \"kg\", \n    \"displayName_it\": \"kg\", \n    \"displayName_ja\": \"kg\", \n    \"displayName_ko\": \"kg\", \n    \"displayName_ru\": \"кг\", \n    \"displayName_zh\": \"kg\", \n    \"displayNameID\": 78006, \n    \"name\": \"Mass\"\n  }, \n  \"3\": {\n    \"description_de\": \"Sekunde\", \n    \"description_en-us\": \"Second\", \n    \"description_es\": \"Segundo.\", \n    \"description_fr\": \"Seconde\", \n    \"description_it\": \"Second\", \n    \"description_ja\": \"秒\", \n    \"description_ko\": \"s\", \n    \"description_ru\": \"секунда\", \n    \"description_zh\": \"秒\", \n    \"descriptionID\": 77967, \n    \"displayName_de\": \"s\", \n    \"displayName_en-us\": \"sec\", \n    \"displayName_es\": \"s\", \n    \"displayName_fr\": \"sec\", \n    \"displayName_it\": \"sec\", \n    \"displayName_ja\": \"sec\", \n    \"displayName_ko\": \"초\", \n    \"displayName_ru\": \"сек.\", \n    \"displayName_zh\": \"s\", \n    \"displayNameID\": 78007, \n    \"name\": \"Time\"\n  }, \n  \"4\": {\n    \"description_de\": \"Ampere\", \n    \"description_en-us\": \"Ampere\", \n    \"description_es\": \"Amperio.\", \n    \"description_fr\": \"Ampère\", \n    \"description_it\": \"Ampere\", \n    \"description_ja\": \"アンペア\", \n    \"description_ko\": \"A\", \n    \"description_ru\": \"ампер\", \n    \"description_zh\": \"安培\", \n    \"descriptionID\": 77968, \n    \"displayName_de\": \"A\", \n    \"displayName_en-us\": \"A\", \n    \"displayName_es\": \"A\", \n    \"displayName_fr\": \"A\", \n    \"displayName_it\": \"A\", \n    \"displayName_ja\": \"A\", \n    \"displayName_ko\": \"A\", \n    \"displayName_ru\": \"А\", \n    \"displayName_zh\": \"A\", \n    \"displayNameID\": 78008, \n    \"name\": \"Electric Current\"\n  }, \n  \"5\": {\n    \"description_de\": \"Kelvin\", \n    \"description_en-us\": \"Kelvin\", \n    \"description_es\": \"Kelvin.\", \n    \"description_fr\": \"Kelvin\", \n    \"description_it\": \"Kelvin\", \n    \"description_ja\": \"ケルビン\", \n    \"description_ko\": \"K\", \n    \"description_ru\": \"кельвин\", \n    \"description_zh\": \"开尔文\", \n    \"descriptionID\": 77969, \n    \"displayName_de\": \"K\", \n    \"displayName_en-us\": \"K\", \n    \"displayName_es\": \"K\", \n    \"displayName_fr\": \"K\", \n    \"displayName_it\": \"K\", \n    \"displayName_ja\": \"K\", \n    \"displayName_ko\": \"K\", \n    \"displayName_ru\": \"К\", \n    \"displayName_zh\": \"K\", \n    \"displayNameID\": 78009, \n    \"name\": \"Temperature\"\n  }, \n  \"6\": {\n    \"description_de\": \"Mol\", \n    \"description_en-us\": \"Mole\", \n    \"description_es\": \"Mole.\", \n    \"description_fr\": \"Mole\", \n    \"description_it\": \"Mole\", \n    \"description_ja\": \"モル\", \n    \"description_ko\": \"mol\", \n    \"description_ru\": \"моль\", \n    \"description_zh\": \"摩尔\", \n    \"descriptionID\": 77970, \n    \"displayName_de\": \"mol\", \n    \"displayName_en-us\": \"mol\", \n    \"displayName_es\": \"mol\", \n    \"displayName_fr\": \"mol\", \n    \"displayName_it\": \"mol\", \n    \"displayName_ja\": \"mol\", \n    \"displayName_ko\": \"mol\", \n    \"displayName_ru\": \"моль\", \n    \"displayName_zh\": \"mol\", \n    \"displayNameID\": 78010, \n    \"name\": \"Amount Of Substance\"\n  }, \n  \"7\": {\n    \"description_de\": \"Candela\", \n    \"description_en-us\": \"Candela\", \n    \"description_es\": \"Candela.\", \n    \"description_fr\": \"Candela\", \n    \"description_it\": \"Candela\", \n    \"description_ja\": \"カンデラ\", \n    \"description_ko\": \"cd\", \n    \"description_ru\": \"кандела\", \n    \"description_zh\": \"坎德拉\", \n    \"descriptionID\": 77971, \n    \"displayName_de\": \"cd\", \n    \"displayName_en-us\": \"cd\", \n    \"displayName_es\": \"cd\", \n    \"displayName_fr\": \"cd\", \n    \"displayName_it\": \"cd\", \n    \"displayName_ja\": \"cd\", \n    \"displayName_ko\": \"cd\", \n    \"displayName_ru\": \"кд\", \n    \"displayName_zh\": \"cd\", \n    \"displayNameID\": 78011, \n    \"name\": \"Luminous Intensity\"\n  }, \n  \"8\": {\n    \"description_de\": \"Quadratmeter\", \n    \"description_en-us\": \"Square meter\", \n    \"description_es\": \"Metro cuadrado.\", \n    \"description_fr\": \"Mètre carré\", \n    \"description_it\": \"Square meter\", \n    \"description_ja\": \"平方メートル\", \n    \"description_ko\": \"m²\", \n    \"description_ru\": \"квадратный метр\", \n    \"description_zh\": \"平方米\", \n    \"descriptionID\": 77972, \n    \"displayName_de\": \"m2\", \n    \"displayName_en-us\": \"m2\", \n    \"displayName_es\": \"m²\", \n    \"displayName_fr\": \"m2\", \n    \"displayName_it\": \"m2\", \n    \"displayName_ja\": \"m2\", \n    \"displayName_ko\": \"m²\", \n    \"displayName_ru\": \"m2\", \n    \"displayName_zh\": \"m2\", \n    \"displayNameID\": 78012, \n    \"name\": \"Area\"\n  }, \n  \"9\": {\n    \"description_de\": \"Kubikmeter\", \n    \"description_en-us\": \"Cubic meter\", \n    \"description_es\": \"Metro cúbico.\", \n    \"description_fr\": \"Mètre cube\", \n    \"description_it\": \"Cubic meter\", \n    \"description_ja\": \"立方メートル\", \n    \"description_ko\": \"m³\", \n    \"description_ru\": \"кубический метр\", \n    \"description_zh\": \"立方米\", \n    \"descriptionID\": 77973, \n    \"displayName_de\": \"m3\", \n    \"displayName_en-us\": \"m3\", \n    \"displayName_es\": \"m³\", \n    \"displayName_fr\": \"m³\", \n    \"displayName_it\": \"m3\", \n    \"displayName_ja\": \"m3\", \n    \"displayName_ko\": \"m³\", \n    \"displayName_ru\": \"м^3\", \n    \"displayName_zh\": \"m3\", \n    \"displayNameID\": 78013, \n    \"name\": \"Volume\"\n  }, \n  \"10\": {\n    \"description_de\": \"Meter pro Sekunde\", \n    \"description_en-us\": \"Meter per second\", \n    \"description_es\": \"Metro por segundo.\", \n    \"description_fr\": \"Mètre par seconde\", \n    \"description_it\": \"Meter per second\", \n    \"description_ja\": \"メートル毎秒\", \n    \"description_ko\": \"m/s\", \n    \"description_ru\": \"метр в секунду\", \n    \"description_zh\": \"米/秒\", \n    \"descriptionID\": 77974, \n    \"displayName_de\": \"m/s\", \n    \"displayName_en-us\": \"m/sec\", \n    \"displayName_es\": \"m/s\", \n    \"displayName_fr\": \"m/sec\", \n    \"displayName_it\": \"m/sec\", \n    \"displayName_ja\": \"m/sec\", \n    \"displayName_ko\": \"m/s\", \n    \"displayName_ru\": \"м/с\", \n    \"displayName_zh\": \"m/s\", \n    \"displayNameID\": 78014, \n    \"name\": \"Speed\"\n  }, \n  \"11\": {\n    \"description_de\": \"Meter pro Quadratsekunde\", \n    \"description_en-us\": \"Meter per second squared\", \n    \"description_es\": \"Metro por segundo al cuadrado.\", \n    \"description_fr\": \"Mètre par seconde carrée\", \n    \"description_it\": \"Meter per second squared\", \n    \"description_ja\": \"メートル毎秒毎秒\", \n    \"description_ko\": \"m/s²\", \n    \"description_ru\": \"метр в секунду в квадрате\", \n    \"description_zh\": \"米/平方秒\", \n    \"descriptionID\": 77975, \n    \"displayName_de\": \"m/s\", \n    \"displayName_en-us\": \"m/sec\", \n    \"displayName_es\": \"m/s\", \n    \"displayName_fr\": \"m/sec\", \n    \"displayName_it\": \"m/sec\", \n    \"displayName_ja\": \"m/sec\", \n    \"displayName_ko\": \"m/s\", \n    \"displayName_ru\": \"м/с\", \n    \"displayName_zh\": \"m/s\", \n    \"displayNameID\": 78015, \n    \"name\": \"Acceleration\"\n  }, \n  \"12\": {\n    \"description_de\": \"Inverser Meter\", \n    \"description_en-us\": \"Reciprocal meter\", \n    \"description_es\": \"Metro recíproco.\", \n    \"description_fr\": \"Mètre inverse\", \n    \"description_it\": \"Reciprocal meter\", \n    \"description_ja\": \"毎メートル\", \n    \"description_ko\": \"m-1\", \n    \"description_ru\": \"обратный метр\", \n    \"description_zh\": \"米倒数\", \n    \"descriptionID\": 77976, \n    \"displayName_de\": \"m-1\", \n    \"displayName_en-us\": \"m-1\", \n    \"displayName_es\": \"m-1\", \n    \"displayName_fr\": \"m-1\", \n    \"displayName_it\": \"m-1\", \n    \"displayName_ja\": \"m-1\", \n    \"displayName_ko\": \"m-1\", \n    \"displayName_ru\": \"м-1\", \n    \"displayName_zh\": \"m-1\", \n    \"displayNameID\": 78016, \n    \"name\": \"Wave Number\"\n  }, \n  \"13\": {\n    \"description_de\": \"Kilogramm pro Kubikmeter\", \n    \"description_en-us\": \"Kilogram per cubic meter\", \n    \"description_es\": \"Kilogramo por metro cúbico.\", \n    \"description_fr\": \"Kilogramme par mètre cubique\", \n    \"description_it\": \"Kilogram per cubic meter\", \n    \"description_ja\": \"キログラム毎立方メートル\", \n    \"description_ko\": \"kg/m³\", \n    \"description_ru\": \"килограмм на кубический метр\", \n    \"description_zh\": \"千克/立方米\", \n    \"descriptionID\": 77977, \n    \"displayName_de\": \"kg/m3\", \n    \"displayName_en-us\": \"kg/m3\", \n    \"displayName_es\": \"kg/m³\", \n    \"displayName_fr\": \"kg/m³\", \n    \"displayName_it\": \"kg/m3\", \n    \"displayName_ja\": \"kg/m3\", \n    \"displayName_ko\": \"kg/m³\", \n    \"displayName_ru\": \"кг/м^3\", \n    \"displayName_zh\": \"kg/m3\", \n    \"displayNameID\": 78017, \n    \"name\": \"Mass Density\"\n  }, \n  \"14\": {\n    \"description_de\": \"Kubikmeter pro Kilogramm\", \n    \"description_en-us\": \"Cubic meter per kilogram\", \n    \"description_es\": \"Metro cúbico por kilogramo.\", \n    \"description_fr\": \"Mètre cubique par kilogramme\", \n    \"description_it\": \"Cubic meter per kilogram\", \n    \"description_ja\": \"立方メートル毎キログラム\", \n    \"description_ko\": \"m³/kg\", \n    \"description_ru\": \"кубический метр на килограмм\", \n    \"description_zh\": \"立方米/千克\", \n    \"descriptionID\": 77978, \n    \"displayName_de\": \"m3/kg\", \n    \"displayName_en-us\": \"m3/kg\", \n    \"displayName_es\": \"m³/kg\", \n    \"displayName_fr\": \"m³/kg\", \n    \"displayName_it\": \"m3/kg\", \n    \"displayName_ja\": \"m3/kg\", \n    \"displayName_ko\": \"m³/kg\", \n    \"displayName_ru\": \"м^3/кг\", \n    \"displayName_zh\": \"m3/kg\", \n    \"displayNameID\": 78018, \n    \"name\": \"Specific Volume\"\n  }, \n  \"15\": {\n    \"description_de\": \"Ampere pro Quadratmeter\", \n    \"description_en-us\": \"Ampere per square meter\", \n    \"description_es\": \"Amperio por metro cuadrado.\", \n    \"description_fr\": \"Ampère par mètre carré\", \n    \"description_it\": \"Ampere per square meter\", \n    \"description_ja\": \"アンペア毎平方メートル\", \n    \"description_ko\": \"A/m²\", \n    \"description_ru\": \"ампер на квадратный метр\", \n    \"description_zh\": \"安培/平方米\", \n    \"descriptionID\": 77979, \n    \"displayName_de\": \"A/m2\", \n    \"displayName_en-us\": \"A/m2\", \n    \"displayName_es\": \"A/m²\", \n    \"displayName_fr\": \"A/m2\", \n    \"displayName_it\": \"A/m2\", \n    \"displayName_ja\": \"A/m2\", \n    \"displayName_ko\": \"A/m²\", \n    \"displayName_ru\": \"A/м^2\", \n    \"displayName_zh\": \"A/m2\", \n    \"displayNameID\": 78019, \n    \"name\": \"Current Density\"\n  }, \n  \"16\": {\n    \"description_de\": \"Ampere pro Meter\", \n    \"description_en-us\": \"Ampere per meter\", \n    \"description_es\": \"Amperio por metro.\", \n    \"description_fr\": \"Ampère par mètre\", \n    \"description_it\": \"Ampere per meter\", \n    \"description_ja\": \"アンペア毎メートル\", \n    \"description_ko\": \"A/m\", \n    \"description_ru\": \"ампер на метр\", \n    \"description_zh\": \"安培/米\", \n    \"descriptionID\": 77980, \n    \"displayName_de\": \"A/m\", \n    \"displayName_en-us\": \"A/m\", \n    \"displayName_es\": \"A/m\", \n    \"displayName_fr\": \"A/m\", \n    \"displayName_it\": \"A/m\", \n    \"displayName_ja\": \"A/m\", \n    \"displayName_ko\": \"A/m\", \n    \"displayName_ru\": \"A/м\", \n    \"displayName_zh\": \"A/m\", \n    \"displayNameID\": 78020, \n    \"name\": \"Magnetic Field Strength\"\n  }, \n  \"17\": {\n    \"description_de\": \"Mol pro Kubikmeter\", \n    \"description_en-us\": \"Mole per cubic meter\", \n    \"description_es\": \"Mole por metro cúbico.\", \n    \"description_fr\": \"Mole par mètre cubique\", \n    \"description_it\": \"Mole per cubic meter\", \n    \"description_ja\": \"モル毎立方メートル\", \n    \"description_ko\": \"mol/m³\", \n    \"description_ru\": \"моль на кубический метр\", \n    \"description_zh\": \"摩尔/立方米\", \n    \"descriptionID\": 77981, \n    \"displayName_de\": \"mol/m3\", \n    \"displayName_en-us\": \"mol/m3\", \n    \"displayName_es\": \"mol/m³\", \n    \"displayName_fr\": \"mol/m³\", \n    \"displayName_it\": \"mol/m3\", \n    \"displayName_ja\": \"mol/m3\", \n    \"displayName_ko\": \"mol/m³\", \n    \"displayName_ru\": \"моль/м^3\", \n    \"displayName_zh\": \"mol/m3\", \n    \"displayNameID\": 78021, \n    \"name\": \"Amount-Of-Substance Concentration\"\n  }, \n  \"18\": {\n    \"description_de\": \"Candela pro Quadratmeter\", \n    \"description_en-us\": \"Candela per square meter\", \n    \"description_es\": \"Candela por metro cuadrado.\", \n    \"description_fr\": \"Candela par mètre carré\", \n    \"description_it\": \"Candela per square meter\", \n    \"description_ja\": \"カンデラ毎平方メートル\", \n    \"description_ko\": \"cd/m²\", \n    \"description_ru\": \"кандела на квадратный метр\", \n    \"description_zh\": \"坎德拉/平方米\", \n    \"descriptionID\": 77982, \n    \"displayName_de\": \"cd/m2\", \n    \"displayName_en-us\": \"cd/m2\", \n    \"displayName_es\": \"cd/m²\", \n    \"displayName_fr\": \"cd/m2\", \n    \"displayName_it\": \"cd/m2\", \n    \"displayName_ja\": \"cd/m2\", \n    \"displayName_ko\": \"cd/m²\", \n    \"displayName_ru\": \"кд/м^2\", \n    \"displayName_zh\": \"cd/m2\", \n    \"displayNameID\": 78022, \n    \"name\": \"Luminance\"\n  }, \n  \"19\": {\n    \"description_de\": \"Kilogramm pro Kilogramm, was durch die Nummer 1 dargestellt werden kann\", \n    \"description_en-us\": \"Kilogram per kilogram, which may be represented by the number 1\", \n    \"description_es\": \"Kilogramo por kilogramo, que puede representarse con el número 1.\", \n    \"description_fr\": \"Kilogramme par kilogramme, ce qui peut être représenté par le chiffre 1\", \n    \"description_it\": \"Kilogram per kilogram, which may be represented by the number 1\", \n    \"description_ja\": \"キログラム毎キログラム。数値 1 で表すことができます\", \n    \"description_ko\": \"kg/kg, 숫자 1로 표현되기도 합니다.\", \n    \"description_ru\": \"килограмм на килограмм (иногда обозначается цифрой 1)\", \n    \"description_zh\": \"千克/千克，可用数字1表示\", \n    \"descriptionID\": 77983, \n    \"displayName_de\": \"kg/kg = 1\", \n    \"displayName_en-us\": \"kg/kg = 1\", \n    \"displayName_es\": \"kg/kg = 1\", \n    \"displayName_fr\": \"kg/kg = 1\", \n    \"displayName_it\": \"kg/kg = 1\", \n    \"displayName_ja\": \"kg/kg = 1\", \n    \"displayName_ko\": \"kg/kg = 1\", \n    \"displayName_ru\": \"кг/кг = 1\", \n    \"displayName_zh\": \"kg/kg = 1\", \n    \"displayNameID\": 78023, \n    \"name\": \"Mass Fraction\"\n  }, \n  \"101\": {\n    \"displayName_de\": \"s\", \n    \"displayName_en-us\": \"s\", \n    \"displayName_es\": \"s\", \n    \"displayName_fr\": \"s\", \n    \"displayName_it\": \"s\", \n    \"displayName_ja\": \"s\", \n    \"displayName_ko\": \"s\", \n    \"displayName_ru\": \"c\", \n    \"displayName_zh\": \"s\", \n    \"displayNameID\": 78024, \n    \"name\": \"Milliseconds\"\n  }, \n  \"102\": {\n    \"displayName_de\": \"mm\", \n    \"displayName_en-us\": \"mm\", \n    \"displayName_es\": \"mm\", \n    \"displayName_fr\": \"mm\", \n    \"displayName_it\": \"mm\", \n    \"displayName_ja\": \"mm\", \n    \"displayName_ko\": \"mm\", \n    \"displayName_ru\": \"мм\", \n    \"displayName_zh\": \"mm\", \n    \"displayNameID\": 78025, \n    \"name\": \"Millimeters\"\n  }, \n  \"103\": {\n    \"name\": \"MegaPascals\"\n  }, \n  \"104\": {\n    \"description_de\": \"Zeigt an, dass die Einheit ein Multiplikator ist.\", \n    \"description_en-us\": \"Indicates that the unit is a multiplier.\", \n    \"description_es\": \"Indica que la unidad es un multiplicador.\", \n    \"description_fr\": \"Indique que l'unité est un multiplicateur.\", \n    \"description_it\": \"Indicates that the unit is a multiplier.\", \n    \"description_ja\": \"乗数の単位を表します。\", \n    \"description_ko\": \"단위는 승수를 나타냅니다.\", \n    \"description_ru\": \"Указывает на то, что величина является множителем.\", \n    \"description_zh\": \"表明该单位是乘数。\", \n    \"descriptionID\": 77984, \n    \"displayName_de\": \"x\", \n    \"displayName_en-us\": \"x\", \n    \"displayName_es\": \"x\", \n    \"displayName_fr\": \"x\", \n    \"displayName_it\": \"x\", \n    \"displayName_ja\": \"x\", \n    \"displayName_ko\": \"x\", \n    \"displayName_ru\": \"х\", \n    \"displayName_zh\": \"x\", \n    \"displayNameID\": 78026, \n    \"name\": \"Multiplier\"\n  }, \n  \"105\": {\n    \"displayName_de\": \"%\", \n    \"displayName_en-us\": \"%\", \n    \"displayName_es\": \"%\", \n    \"displayName_fr\": \"%\", \n    \"displayName_it\": \"%\", \n    \"displayName_ja\": \"%\", \n    \"displayName_ko\": \"%\", \n    \"displayName_ru\": \"%\", \n    \"displayName_zh\": \"%\", \n    \"displayNameID\": 78027, \n    \"name\": \"Percentage\"\n  }, \n  \"106\": {\n    \"displayName_de\": \"tf\", \n    \"displayName_en-us\": \"tf\", \n    \"displayName_es\": \"tf\", \n    \"displayName_fr\": \"tf\", \n    \"displayName_it\": \"tf\", \n    \"displayName_ja\": \"tf\", \n    \"displayName_ko\": \"tf\", \n    \"displayName_ru\": \"Tф\", \n    \"displayName_zh\": \"tf\", \n    \"displayNameID\": 78028, \n    \"name\": \"Teraflops\"\n  }, \n  \"107\": {\n    \"displayName_de\": \"MW\", \n    \"displayName_en-us\": \"MW\", \n    \"displayName_es\": \"MW\", \n    \"displayName_fr\": \"MW\", \n    \"displayName_it\": \"MW\", \n    \"displayName_ja\": \"MW\", \n    \"displayName_ko\": \"MW\", \n    \"displayName_ru\": \"МВт\", \n    \"displayName_zh\": \"MW\", \n    \"displayNameID\": 78029, \n    \"name\": \"MegaWatts\"\n  }, \n  \"108\": {\n    \"description_de\": \"Für Resistenzen verwendet.\\r\\n0,0 = 100%\\r\\n1,0 = 0%\", \n    \"description_en-us\": \"Used for resistance.\\r\\n0.0 = 100% 1.0 = 0%\", \n    \"description_es\": \"Se usa en la resistencia.\\n\\n0,0 = 100% 1,0 = 0%\", \n    \"description_fr\": \"Utilisé pour la résistance. 0,0 = 100% 1,0 = 0 %\", \n    \"description_it\": \"Used for resistance.\\r\\n0.0 = 100% 1.0 = 0%\", \n    \"description_ja\": \"抵抗で使用。\\n0.0 = 100% 1.0 = 0%\", \n    \"description_ko\": \"저항력 표기에 사용됩니다.<br>0.0 = 100% 1.0 = 0%\", \n    \"description_ru\": \"Используется для обозначения силы сопротивления.\\n0.0 = 100%\\n1.0 = 0%\", \n    \"description_zh\": \"用于抗性。0.0 = 100% 1.0 = 0%\", \n    \"descriptionID\": 77985, \n    \"displayName_de\": \"%\", \n    \"displayName_en-us\": \"%\", \n    \"displayName_es\": \"%\", \n    \"displayName_fr\": \"%\", \n    \"displayName_it\": \"%\", \n    \"displayName_ja\": \"%\", \n    \"displayName_ko\": \"%\", \n    \"displayName_ru\": \"%\", \n    \"displayName_zh\": \"%\", \n    \"displayNameID\": 78030, \n    \"name\": \"Inverse Absolute Percent\"\n  }, \n  \"109\": {\n    \"description_de\": \"Für Multiplikatoren verwendet, um Prozent anzuzeigen.1,1 = +10%0,9 = -10%\", \n    \"description_en-us\": \"Used for multipliers displayed as %1.1 = +10%0.9 = -10%\", \n    \"description_es\": \"Se usa en los multiplicadores que se muestran como %1,1 = +10 %0,9 = -10 %.\", \n    \"description_fr\": \"Utilisé pour les multiplicateurs affichés en %. 1,1 = +10 %, 0,9 = -10 %\", \n    \"description_it\": \"Used for multipliers displayed as %1.1 = +10%0.9 = -10%\", \n    \"description_ja\": \"% として表示される乗数で使用：1.1＝+10%、0.9＝-10%\", \n    \"description_ko\": \"%로 나타낸 승수 표기에 사용됩니다. 1.1 = +10%, 0.9 = -10%\", \n    \"description_ru\": \"Используется для множителей в виде %. 1,1 = +10%; 0,9 = -10%\", \n    \"description_zh\": \"用于乘数，显示为 %1.1 = +10%0.9 = -10%\", \n    \"descriptionID\": 77986, \n    \"displayName_de\": \"%\", \n    \"displayName_en-us\": \"%\", \n    \"displayName_es\": \"%\", \n    \"displayName_fr\": \"%\", \n    \"displayName_it\": \"%\", \n    \"displayName_ja\": \"%\", \n    \"displayName_ko\": \"%\", \n    \"displayName_ru\": \"%\", \n    \"displayName_zh\": \"%\", \n    \"displayNameID\": 78031, \n    \"name\": \"Modifier Percent\"\n  }, \n  \"111\": {\n    \"description_de\": \"Für die Modifikation von Schadensresistenzen verwendet. Schadensresistenzbonus.\\r\\n0,1 = 90%\\r\\n0,9 = 10%\", \n    \"description_en-us\": \"Used to modify damage resistance. Damage resistance bonus.\\r\\n0.1 = 90%\\r\\n0.9 = 10%\", \n    \"description_es\": \"Se usa para modificar la resistencia al daño. Bonificación de resistencia a daños.\\n\\n0,1 = 90 %.\\n\\n0,9 = 10 %.\", \n    \"description_fr\": \"Utilisé pour modifier la résistance aux dégâts. Bonus de résistance aux dégâts. 0,1 = 90% 0,9 = 10%\", \n    \"description_it\": \"Used to modify damage resistance. Damage resistance bonus.\\r\\n0.1 = 90%\\r\\n0.9 = 10%\", \n    \"description_ja\": \"ダメージレジスタンスを変更するときに使用。ダメージレジスタンスボーナス。\\r\\n0.1 = 90%\\n0.9 = 0%\", \n    \"description_ko\": \"피해 저항력 변경에 사용됩니다. 피해 저항력 보너스.<br>0.1 = 90%<br>0.9 = 10%\", \n    \"description_ru\": \"Используется для указания изменений сопротивляемости различным видам ущерба. Бонус к сопротивляемости различным видам ущерба.\\n0.1 = 90%\\n0.9 = 10%\", \n    \"description_zh\": \"用来调整伤害抗性。伤害抗性加成。0.1 = 90%\\n0.9 = 10%\", \n    \"descriptionID\": 77987, \n    \"displayName_de\": \"%\", \n    \"displayName_en-us\": \"%\", \n    \"displayName_es\": \"%\", \n    \"displayName_fr\": \"%\", \n    \"displayName_it\": \"%\", \n    \"displayName_ja\": \"%\", \n    \"displayName_ko\": \"%\", \n    \"displayName_ru\": \"%\", \n    \"displayName_zh\": \"%\", \n    \"displayNameID\": 78032, \n    \"name\": \"Inversed Modifier Percent\"\n  }, \n  \"112\": {\n    \"description_de\": \"Rotationsgeschwindigkeit.\", \n    \"description_en-us\": \"Rotation speed.\", \n    \"description_es\": \"Velocidad de rotación.\", \n    \"description_fr\": \"Vitesse de rotation.\", \n    \"description_it\": \"Rotation speed.\", \n    \"description_ja\": \"回転速度。\", \n    \"description_ko\": \"회전속도.\", \n    \"description_ru\": \"Скорость вращения.\", \n    \"description_zh\": \"转速。\", \n    \"descriptionID\": 77988, \n    \"displayName_de\": \"rad/s\", \n    \"displayName_en-us\": \"rad/sec\", \n    \"displayName_es\": \"rad/s\", \n    \"displayName_fr\": \"rad/sec\", \n    \"displayName_it\": \"rad/sec\", \n    \"displayName_ja\": \"rad/sec\", \n    \"displayName_ko\": \"rad/초\", \n    \"displayName_ru\": \"рад/с\", \n    \"displayName_zh\": \"r/s\", \n    \"displayNameID\": 78033, \n    \"name\": \"Radians/Second\"\n  }, \n  \"113\": {\n    \"displayName_de\": \"HP\", \n    \"displayName_en-us\": \"HP\", \n    \"displayName_es\": \"PV\", \n    \"displayName_fr\": \"PV\", \n    \"displayName_it\": \"HP\", \n    \"displayName_ja\": \"HP\", \n    \"displayName_ko\": \"HP\", \n    \"displayName_ru\": \"ед.\", \n    \"displayName_zh\": \"HP\", \n    \"displayNameID\": 78034, \n    \"name\": \"Hitpoints\"\n  }, \n  \"114\": {\n    \"description_de\": \"Gigajoule\", \n    \"description_en-us\": \"Giga Joule\", \n    \"description_es\": \"Gigajulio.\", \n    \"description_fr\": \"Gigajoule\", \n    \"description_it\": \"Giga Joule\", \n    \"description_ja\": \"ギガジュール\", \n    \"description_ko\": \"GJ\", \n    \"description_ru\": \"гигаджоуль\", \n    \"description_zh\": \"千兆焦耳\", \n    \"descriptionID\": 77989, \n    \"displayName_de\": \"GJ\", \n    \"displayName_en-us\": \"GJ\", \n    \"displayName_es\": \"GJ\", \n    \"displayName_fr\": \"GJ\", \n    \"displayName_it\": \"GJ\", \n    \"displayName_ja\": \"GJ\", \n    \"displayName_ko\": \"GJ\", \n    \"displayName_ru\": \"ГДж\", \n    \"displayName_zh\": \"GJ\", \n    \"displayNameID\": 78035, \n    \"name\": \"capacitor units\"\n  }, \n  \"115\": {\n    \"displayName_de\": \"groupID\", \n    \"displayName_en-us\": \"groupID\", \n    \"displayName_es\": \"groupID\", \n    \"displayName_fr\": \"groupID\", \n    \"displayName_it\": \"groupID\", \n    \"displayName_ja\": \"グループ ID\", \n    \"displayName_ko\": \"그룹ID\", \n    \"displayName_ru\": \"groupID\", \n    \"displayName_zh\": \"组别ID\", \n    \"displayNameID\": 78036, \n    \"name\": \"groupID\"\n  }, \n  \"116\": {\n    \"displayName_de\": \"typeID\", \n    \"displayName_en-us\": \"typeID\", \n    \"displayName_es\": \"typeID\", \n    \"displayName_fr\": \"typeID\", \n    \"displayName_it\": \"typeID\", \n    \"displayName_ja\": \"タイプ ID\", \n    \"displayName_ko\": \"타입ID\", \n    \"displayName_ru\": \"typeID\", \n    \"displayName_zh\": \"类别ID\", \n    \"displayNameID\": 78037, \n    \"name\": \"typeID\"\n  }, \n  \"117\": {\n    \"description_de\": \"1=small 2=medium 3=large 4=x-large\", \n    \"description_en-us\": \"1=small 2=medium 3=large 4=x-large\", \n    \"description_es\": \"1=pequeño 2=mediano 3=grande 4=extragrande\", \n    \"description_fr\": \"1=small 2=medium 3=large 4=x-large\", \n    \"description_it\": \"1=small 2=medium 3=large 4=x-large\", \n    \"description_ja\": \"1=小型 2=中型 3=大型 4=超大型\", \n    \"description_ko\": \"1=소형 2=중형 3=대형 4=초대형\", \n    \"description_ru\": \"1=малый 2=средний 3=большой 4=оч. большой\", \n    \"description_zh\": \"1=小型 2=中型 3=大型 4=超大型\", \n    \"descriptionID\": 318074, \n    \"displayName_de\": \"1=small 2=medium 3=l\", \n    \"displayName_en-us\": \"1=small 2=medium 3=l\", \n    \"displayName_es\": \"1=pequeño 2=mediano 3=grande\", \n    \"displayName_fr\": \"1 = petit 2 = intermédiaire 3 = l\", \n    \"displayName_it\": \"1=small 2=medium 3=l\", \n    \"displayName_ja\": \"1=小 2=中 3=大\", \n    \"displayName_ko\": \"1= 소형 2= 중형 3= 대형\", \n    \"displayName_ru\": \"1=малые 2=средние 3=б\", \n    \"displayName_zh\": \"1=小型  2=中型  3=大型\", \n    \"displayNameID\": 78038, \n    \"name\": \"Sizeclass\"\n  }, \n  \"118\": {\n    \"displayName_de\": \"Ore units\", \n    \"displayName_en-us\": \"Ore units\", \n    \"displayName_es\": \"Unidades de mena\", \n    \"displayName_fr\": \"Unités de minérai\", \n    \"displayName_it\": \"Ore units\", \n    \"displayName_ja\": \"鉱石ユニット\", \n    \"displayName_ko\": \"광물 개수\", \n    \"displayName_ru\": \"ед. руды\", \n    \"displayName_zh\": \"矿石单位\", \n    \"displayNameID\": 78039, \n    \"name\": \"Ore units\"\n  }, \n  \"119\": {\n    \"displayName_de\": \"attributeID\", \n    \"displayName_en-us\": \"attributeID\", \n    \"displayName_es\": \"attributeID\", \n    \"displayName_fr\": \"attributeID\", \n    \"displayName_it\": \"attributeID\", \n    \"displayName_ja\": \"属性 ID\", \n    \"displayName_ko\": \"분류ID\", \n    \"displayName_ru\": \"attributeID\", \n    \"displayName_zh\": \"属性ID\", \n    \"displayNameID\": 78040, \n    \"name\": \"attributeID\"\n  }, \n  \"120\": {\n    \"displayName_de\": \"Punkte\", \n    \"displayName_en-us\": \"points\", \n    \"displayName_es\": \"puntos\", \n    \"displayName_fr\": \"points\", \n    \"displayName_it\": \"points\", \n    \"displayName_ja\": \"ポイント\", \n    \"displayName_ko\": \"포인트\", \n    \"displayName_ru\": \"ед.\", \n    \"displayName_zh\": \"点\", \n    \"displayNameID\": 78041, \n    \"name\": \"attributePoints\"\n  }, \n  \"121\": {\n    \"description_de\": \"Für echte Prozentzahlen verwendet; die Zahl 5 ist beispielsweise 5%.\", \n    \"description_en-us\": \"Used for real percentages, i.e. the number 5 is 5%\", \n    \"description_es\": \"Se usa en porcentajes reales. Por ejemplo, el número 5 es un 5 %.\", \n    \"description_fr\": \"Utilisé pour les pourcentages réels (ex. : le nombre 5 est 5 %)\", \n    \"description_it\": \"Used for real percentages, i.e. the number 5 is 5%\", \n    \"description_ja\": \"実際のパーセンテージで使用（数値 5 は 5%）\", \n    \"description_ko\": \"실제 백분율 표기에 사용됩니다. 예를 들어, 숫자 5는 5%가 됩니다.\", \n    \"description_ru\": \"Используется для обозначения процентов (например, число 5 соответствует 5%)\", \n    \"description_zh\": \"用于真实百分比，比如数字5表示5%\", \n    \"descriptionID\": 77990, \n    \"displayName_de\": \"%\", \n    \"displayName_en-us\": \"%\", \n    \"displayName_es\": \"%\", \n    \"displayName_fr\": \"%\", \n    \"displayName_it\": \"%\", \n    \"displayName_ja\": \"%\", \n    \"displayName_ko\": \"%\", \n    \"displayName_ru\": \"%\", \n    \"displayName_zh\": \"%\", \n    \"displayNameID\": 78042, \n    \"name\": \"realPercent\"\n  }, \n  \"122\": {\n    \"name\": \"Fitting slots\"\n  }, \n  \"123\": {\n    \"description_de\": \"Zeigt Sekunden direkt an.\", \n    \"description_en-us\": \"Shows seconds directly\", \n    \"description_es\": \"Indica directamente los segundos.\", \n    \"description_fr\": \"Indique directement les secondes\", \n    \"description_it\": \"Shows seconds directly\", \n    \"description_ja\": \"秒を表します\", \n    \"description_ko\": \"초를 그대로 나타냅니다.\", \n    \"description_ru\": \"Показывает дату и время в виде количества секунд\", \n    \"description_zh\": \"直接显示秒\", \n    \"descriptionID\": 77991, \n    \"displayName_de\": \"s\", \n    \"displayName_en-us\": \"sec\", \n    \"displayName_es\": \"s\", \n    \"displayName_fr\": \"sec\", \n    \"displayName_it\": \"sec\", \n    \"displayName_ja\": \"sec\", \n    \"displayName_ko\": \"초\", \n    \"displayName_ru\": \"сек.\", \n    \"displayName_zh\": \"s\", \n    \"displayNameID\": 78043, \n    \"name\": \"trueTime\"\n  }, \n  \"124\": {\n    \"description_de\": \"Für relative Prozentzahlen verwendet, welche als % angezeigt werden.\", \n    \"description_en-us\": \"Used for relative percentages displayed as %\", \n    \"description_es\": \"Se usa en los porcentajes relativos como %.\", \n    \"description_fr\": \"Utilisé pour les pourcentages relatifs affichés comme %\", \n    \"description_it\": \"Used for relative percentages displayed as %\", \n    \"description_ja\": \"% として表示される相対的なパーセンテージで使用\", \n    \"description_ko\": \"%로 표시된 상대적 백분율 표기에 사용됩니다.\", \n    \"description_ru\": \"Используется для обозначения относительных долей, выражаемых в процентах\", \n    \"description_zh\": \"用于相对百分比，显示为 %\", \n    \"descriptionID\": 77992, \n    \"displayName_de\": \"%\", \n    \"displayName_en-us\": \"%\", \n    \"displayName_es\": \"%\", \n    \"displayName_fr\": \"%\", \n    \"displayName_it\": \"%\", \n    \"displayName_ja\": \"%\", \n    \"displayName_ko\": \"%\", \n    \"displayName_ru\": \"%\", \n    \"displayName_zh\": \"%\", \n    \"displayNameID\": 78044, \n    \"name\": \"Modifier Relative Percent\"\n  }, \n  \"125\": {\n    \"displayName_de\": \"N\", \n    \"displayName_en-us\": \"N\", \n    \"displayName_es\": \"N\", \n    \"displayName_fr\": \"N\", \n    \"displayName_it\": \"N\", \n    \"displayName_ja\": \"N\", \n    \"displayName_ko\": \"N\", \n    \"displayName_ru\": \"Н\", \n    \"displayName_zh\": \"N\", \n    \"displayNameID\": 78045, \n    \"name\": \"Newton\"\n  }, \n  \"126\": {\n    \"displayName_de\": \"Lj\", \n    \"displayName_en-us\": \"ly\", \n    \"displayName_es\": \"años luz\", \n    \"displayName_fr\": \"a.l.\", \n    \"displayName_it\": \"ly\", \n    \"displayName_ja\": \"ly\", \n    \"displayName_ko\": \"ly\", \n    \"displayName_ru\": \"св. г.\", \n    \"displayName_zh\": \"光年\", \n    \"displayNameID\": 78046, \n    \"name\": \"Light Year\"\n  }, \n  \"127\": {\n    \"description_de\": \"0,0 = 0%; 1,0 = 100%\", \n    \"description_en-us\": \"0.0 = 0% 1.0 = 100%\", \n    \"description_es\": \"0,0 = 0% 1,0 = 100%\", \n    \"description_fr\": \"0,0 = 0% 1,0 = 100%\", \n    \"description_it\": \"0.0 = 0% 1.0 = 100%\", \n    \"description_ja\": \"0.0 = 0% 1.0 = 100%\", \n    \"description_ko\": \"0.0 = 0% 1.0 = 100%\", \n    \"description_ru\": \"0.0 = 0%\\n1.0 = 100%\", \n    \"description_zh\": \"0.0 = 0% 1.0 = 100%\", \n    \"descriptionID\": 77993, \n    \"displayName_de\": \"%\", \n    \"displayName_en-us\": \"%\", \n    \"displayName_es\": \"%\", \n    \"displayName_fr\": \"%\", \n    \"displayName_it\": \"%\", \n    \"displayName_ja\": \"%\", \n    \"displayName_ko\": \"%\", \n    \"displayName_ru\": \"%\", \n    \"displayName_zh\": \"%\", \n    \"displayNameID\": 78047, \n    \"name\": \"Absolute Percent\"\n  }, \n  \"128\": {\n    \"description_de\": \"Megabit pro Sekunde\", \n    \"description_en-us\": \"Mega bits per second\", \n    \"description_es\": \"Megabits por segundo.\", \n    \"description_fr\": \"Mégabits par seconde\", \n    \"description_it\": \"Mega bits per second\", \n    \"description_ja\": \"メガビット毎秒\", \n    \"description_ko\": \"MB/s\", \n    \"description_ru\": \"мегабит в секунду\", \n    \"description_zh\": \"兆比特/秒\", \n    \"descriptionID\": 77994, \n    \"displayName_de\": \"Mbit/s\", \n    \"displayName_en-us\": \"Mbit/sec\", \n    \"displayName_es\": \"Mbit/s\", \n    \"displayName_fr\": \"Mbit/sec\", \n    \"displayName_it\": \"Mbit/sec\", \n    \"displayName_ja\": \"Mbit/sec\", \n    \"displayName_ko\": \"Mbit/s\", \n    \"displayName_ru\": \"Мбит/с\", \n    \"displayName_zh\": \"Mbit/s\", \n    \"displayNameID\": 78048, \n    \"name\": \"Drone bandwidth\"\n  }, \n  \"129\": {\n    \"description_de\": \"Stunden\", \n    \"description_en-us\": \"Hours\", \n    \"description_es\": \"Horas.\", \n    \"description_fr\": \"Heures\", \n    \"description_it\": \"Hours\", \n    \"description_ja\": \"時間\", \n    \"description_ko\": \"h\", \n    \"description_ru\": \"часы\", \n    \"description_zh\": \"小时\", \n    \"descriptionID\": 77995, \n    \"name\": \"Hours\"\n  }, \n  \"133\": {\n    \"description_de\": \"ISK\", \n    \"description_en-us\": \"ISK\", \n    \"description_es\": \"ISK.\", \n    \"description_fr\": \"ISK\", \n    \"description_it\": \"ISK\", \n    \"description_ja\": \"ISK\", \n    \"description_ko\": \"ISK\", \n    \"description_ru\": \"ISK\", \n    \"description_zh\": \"星币\", \n    \"descriptionID\": 77996, \n    \"displayName_de\": \"ISK\", \n    \"displayName_en-us\": \"ISK\", \n    \"displayName_es\": \"ISK\", \n    \"displayName_fr\": \"ISK\", \n    \"displayName_it\": \"ISK\", \n    \"displayName_ja\": \"ISK\", \n    \"displayName_ko\": \"ISK\", \n    \"displayName_ru\": \"ISK\", \n    \"displayName_zh\": \"星币\", \n    \"displayNameID\": 78049, \n    \"name\": \"Money\"\n  }, \n  \"134\": {\n    \"description_de\": \"Bandbreite für PI\", \n    \"description_en-us\": \"Bandwidth for PI\", \n    \"description_es\": \"Ancho de banda para la IP.\", \n    \"description_fr\": \"Bande passante pour IP\", \n    \"description_it\": \"Bandwidth for PI\", \n    \"description_ja\": \"PI の帯域幅\", \n    \"description_ko\": \"PI 대역폭\", \n    \"description_ru\": \"Пропускная способность канала (для PI)\", \n    \"description_zh\": \"行星互动的带宽\", \n    \"descriptionID\": 77997, \n    \"displayName_de\": \"m3/Stunde\", \n    \"displayName_en-us\": \"m3/hour\", \n    \"displayName_es\": \"m³/hora\", \n    \"displayName_fr\": \"m³/heure\", \n    \"displayName_it\": \"m3/hour\", \n    \"displayName_ja\": \"m3/hour\", \n    \"displayName_ko\": \"m³/시간\", \n    \"displayName_ru\": \"м^3/ч\", \n    \"displayName_zh\": \"立方米/时\", \n    \"displayNameID\": 78050, \n    \"name\": \"Logistical Capacity\"\n  }, \n  \"135\": {\n    \"description_de\": \"Für Entfernungen verwendet; 1 AE = Entfernung zwischen Erde und Sonne.\", \n    \"description_en-us\": \"Used to denote distance, 1AU = The distance from the Earth to the Sun.\", \n    \"description_es\": \"Se usa para indicar distancias. 1 UA equivale a la distancia entre la Tierra y el Sol.\", \n    \"description_fr\": \"Utilisé pour indiquer la distance, 1 UA = la distance entre la Terre et le Soleil.\", \n    \"description_it\": \"Used to denote distance, 1AU = The distance from the Earth to the Sun.\", \n    \"description_ja\": \"距離を表すときに使用。1 AU = 地球から太陽までの距離。\", \n    \"description_ko\": \"거리 표기에 사용됩니다. 1AU = 지구에서 태양까지의 거리\", \n    \"description_ru\": \"Используется для обозначения расстояний. 1 астрономическая единица (AU) эквивалентна расстоянию от Земли до Солнца.\", \n    \"description_zh\": \"表示距离，1AU等于地球到太阳的距离。\", \n    \"descriptionID\": 77998, \n    \"displayName_de\": \"AE\", \n    \"displayName_en-us\": \"AU\", \n    \"displayName_es\": \"UA\", \n    \"displayName_fr\": \"UA\", \n    \"displayName_it\": \"AU\", \n    \"displayName_ja\": \"AU\", \n    \"displayName_ko\": \"AU\", \n    \"displayName_ru\": \"а. е.\", \n    \"displayName_zh\": \"AU\", \n    \"displayNameID\": 78051, \n    \"name\": \"Astronomical Unit\"\n  }, \n  \"136\": {\n    \"description_de\": \"Slotzahlen-Prefix für diverse Zwecke\", \n    \"description_en-us\": \"Slot number prefix for various purposes\", \n    \"description_es\": \"Prefijo del número de ranura para varios propósitos.\", \n    \"description_fr\": \"Préfixe d'emplacement utilisé dans diverses situations\", \n    \"description_it\": \"Slot number prefix for various purposes\", \n    \"description_ja\": \"汎用スロットの番号プレフィックス\", \n    \"description_ko\": \"다양한 용도로 사용되는 접두사용 슬롯 번호\", \n    \"description_ru\": \"Префикс номера разъема для различных целей\", \n    \"description_zh\": \"用于多种场合的槽位数字前缀\", \n    \"descriptionID\": 77999, \n    \"displayName_de\": \"Slot\", \n    \"displayName_en-us\": \"Slot\", \n    \"displayName_es\": \"Ranura\", \n    \"displayName_fr\": \"Emplacement\", \n    \"displayName_it\": \"Slot\", \n    \"displayName_ja\": \"スロット\", \n    \"displayName_ko\": \"슬롯\", \n    \"displayName_ru\": \"Разъем\", \n    \"displayName_zh\": \"槽位\", \n    \"displayNameID\": 78052, \n    \"name\": \"Slot\"\n  }, \n  \"137\": {\n    \"description_de\": \"Für die Darstellung Bool'scher Flaggen 1=True 0=False\", \n    \"description_en-us\": \"For displaying boolean flags 1=True 0=False\", \n    \"description_es\": \"Para mostrar marcas binarias. 1=Verdadero, 0=Falso.\", \n    \"description_fr\": \"For displaying boolean flags 1=True 0=False\", \n    \"description_it\": \"For displaying boolean flags 1=True 0=False\", \n    \"description_ja\": \"ブール値フラグの表示\", \n    \"description_ko\": \"참과 거짓 표기에 사용. 1=참, 0=거짓\", \n    \"description_ru\": \"Для отображения булевых флагов 1=Истина 0=Ложь\", \n    \"description_zh\": \"用于显示布尔标记 1=True 0=False\", \n    \"descriptionID\": 78000, \n    \"displayName_de\": \"1=True 0=False\", \n    \"displayName_en-us\": \"1=True 0=False\", \n    \"displayName_es\": \"1=Verdadero 0=Falso\", \n    \"displayName_fr\": \"1 = vrai 0 = faux\", \n    \"displayName_it\": \"1=True 0=False\", \n    \"displayName_ja\": \"1=True 0=False\", \n    \"displayName_ko\": \"1= 참 0= 거짓\", \n    \"displayName_ru\": \"1=True 0=False\", \n    \"displayName_zh\": \"1=True 0=False\", \n    \"displayNameID\": 78053, \n    \"name\": \"Boolean\"\n  }, \n  \"138\": {\n    \"description_de\": \"Einheiten von etwas, beispielsweise Treibstoff\", \n    \"description_en-us\": \"Units of something, for example fuel\", \n    \"description_es\": \"Unidades de algún elemento, como combustible.\", \n    \"description_fr\": \"Unités de quelque chose (ex. : de carburant)\", \n    \"description_it\": \"Units of something, for example fuel\", \n    \"description_ja\": \"何かの単位。例えば燃料など。\", \n    \"description_ko\": \"연료 등의 항목에 사용되는 단위\", \n    \"description_ru\": \"Единицы чего-либо (например, топлива)\", \n    \"description_zh\": \"某样物品的单位，比如燃料\", \n    \"descriptionID\": 78001, \n    \"displayName_de\": \"Einheiten\", \n    \"displayName_en-us\": \"units\", \n    \"displayName_es\": \"unidades\", \n    \"displayName_fr\": \"unités\", \n    \"displayName_it\": \"units\", \n    \"displayName_ja\": \"単位\", \n    \"displayName_ko\": \"개\", \n    \"displayName_ru\": \"ед.\", \n    \"displayName_zh\": \"单位\", \n    \"displayNameID\": 78054, \n    \"name\": \"Units\"\n  }, \n  \"139\": {\n    \"description_de\": \"Zwingt ein Plus-Zeichen für positive Werter\", \n    \"description_en-us\": \"Forces a plus sign for positive values\", \n    \"description_es\": \"Añade un signo más (+) a los valores positivos.\", \n    \"description_fr\": \"Force un signe plus pour les valeurs positives\", \n    \"description_it\": \"Forces a plus sign for positive values\", \n    \"description_ja\": \"正の値に+記号を強制\", \n    \"description_ko\": \"양수값 표기를 위해 더하기 부호 사용\", \n    \"description_ru\": \"Принудительно присваивает положительное значение\", \n    \"description_zh\": \"用于正值的加号\", \n    \"descriptionID\": 78002, \n    \"displayName_de\": \"+\", \n    \"displayName_en-us\": \"+\", \n    \"displayName_es\": \"+\", \n    \"displayName_fr\": \"+\", \n    \"displayName_it\": \"+\", \n    \"displayName_ja\": \"+\", \n    \"displayName_ko\": \"+\", \n    \"displayName_ru\": \"+\", \n    \"displayName_zh\": \"+\", \n    \"displayNameID\": 78055, \n    \"name\": \"Bonus\"\n  }, \n  \"140\": {\n    \"description_de\": \"Für alles, was durch Stufen getrennt ist\", \n    \"description_en-us\": \"For anything which is divided by levels\", \n    \"description_es\": \"Para todo lo que se divida en niveles.\", \n    \"description_fr\": \"Pour tout ce qui est divisé en niveaux\", \n    \"description_it\": \"For anything which is divided by levels\", \n    \"description_ja\": \"レベルにより分けられているもの\", \n    \"description_ko\": \"레벨로 나뉘어지는 항목에 사용\", \n    \"description_ru\": \"Для всего, что может быть разделено на уровни\", \n    \"description_zh\": \"用于那些以等级划分的事物\", \n    \"descriptionID\": 78003, \n    \"displayName_de\": \"Stufe\", \n    \"displayName_en-us\": \"Level\", \n    \"displayName_es\": \"Nivel\", \n    \"displayName_fr\": \"Niveau\", \n    \"displayName_it\": \"Level\", \n    \"displayName_ja\": \"レベル\", \n    \"displayName_ko\": \"레벨\", \n    \"displayName_ru\": \"Уровень\", \n    \"displayName_zh\": \"等级\", \n    \"displayNameID\": 78056, \n    \"name\": \"Level\"\n  }, \n  \"141\": {\n    \"description_de\": \"Für diverse Zählungen in Verbindung mit Geschützturm-, Werfer- und anderen Waffenmontageplätzen\", \n    \"description_en-us\": \"For various counts to do with turret, launcher and rig hardpoints\", \n    \"description_es\": \"Se usa en varios conceptos relacionados con los puntos de montaje de torretas, lanzadores y complementos.\", \n    \"description_fr\": \"Pour diverses mesures liées aux points de fixation des tourelles, des lanceurs et des améliorations.\", \n    \"description_it\": \"For various counts to do with turret, launcher and rig hardpoints\", \n    \"description_ja\": \"タレット、ランチャー、およびリグハードポイントで行う多様なカウント\", \n    \"description_ko\": \"터렛, 런처, 리그 슬롯 항목에 사용\", \n    \"description_ru\": \"Для счетчиков, связанных с турелями, ракетными установками и тюнинг-модулями\", \n    \"description_zh\": \"用于各种炮塔、发射器以及改装件的装配点数量\", \n    \"descriptionID\": 78004, \n    \"displayName_de\": \"Montageplätze\", \n    \"displayName_en-us\": \"hardpoints\", \n    \"displayName_es\": \"puntos de montaje\", \n    \"displayName_fr\": \"points de fixation\", \n    \"displayName_it\": \"hardpoints\", \n    \"displayName_ja\": \"ハードポイント\", \n    \"displayName_ko\": \"슬롯\", \n    \"displayName_ru\": \"точки монтажа\", \n    \"displayName_zh\": \"安装座\", \n    \"displayNameID\": 78057, \n    \"name\": \"Hardpoints\"\n  }, \n  \"142\": {\n    \"displayName_de\": \"0=Weiblich 1=Männlich 2=Geschlechtsneutral\", \n    \"displayName_en-us\": \"1=Male 2=Unisex 3=Female\", \n    \"displayName_es\": \"1=Hombre 2=Unisex 3=Mujer\", \n    \"displayName_fr\": \"1 = masculin 2 = unisexe 3 = féminin\", \n    \"displayName_it\": \"1=Male 2=Unisex 3=Female\", \n    \"displayName_ja\": \"1= 男性 2=ユニセックス 3=女性\", \n    \"displayName_ko\": \"1=남성 2=공용 3=여성\", \n    \"displayName_ru\": \"0=жен. 1=муж. 2=унисекс\", \n    \"displayName_zh\": \"1=男性 2=中性 3=女性\", \n    \"displayNameID\": 78058, \n    \"name\": \"Sex\"\n  }, \n  \"143\": {\n    \"description_de\": \"Datum und Uhrzeit\", \n    \"description_en-us\": \"Date and time\", \n    \"description_es\": \"La fecha y la hora.\", \n    \"description_fr\": \"Date et heure\", \n    \"description_it\": \"Date and time\", \n    \"description_ja\": \"日時\", \n    \"description_ko\": \"날짜 및 시간\", \n    \"description_ru\": \"Дата и время\", \n    \"description_zh\": \"日期和时间\", \n    \"descriptionID\": 312106, \n    \"name\": \"Datetime\"\n  }, \n  \"144\": {\n    \"description_de\": \"AE pro Sekunde\", \n    \"description_en-us\": \"AU per second\", \n    \"description_es\": \"UA por segundo.\", \n    \"description_fr\": \"UA par seconde\", \n    \"description_it\": \"AU per second\", \n    \"description_ja\": \"天文単位毎秒\", \n    \"description_ko\": \"AU/s\", \n    \"description_ru\": \"а. е. в секунду\", \n    \"description_zh\": \"AU每秒\", \n    \"descriptionID\": 561538, \n    \"displayName_de\": \"AE/s\", \n    \"displayName_en-us\": \"AU/s\", \n    \"displayName_es\": \"UA/s\", \n    \"displayName_fr\": \"UA/s\", \n    \"displayName_it\": \"AU/s\", \n    \"displayName_ja\": \"AU/秒\", \n    \"displayName_ko\": \"AU/s\", \n    \"displayName_ru\": \"а. е./сек.\", \n    \"displayName_zh\": \"AU/s\", \n    \"displayNameID\": 561537, \n    \"name\": \"Warp speed\"\n  }, \n  \"205\": {\n    \"description_de\": \"Bei in % angezeigten Multiplikatoren bedeutet 10 +10 %, -10 -10 % und 3,6 +3,6 %\", \n    \"description_en-us\": \"Used for multipliers displayed as % 10 is +10% -10 is -10% 3.6 is +3.6%\", \n    \"description_es\": \"Se usa en los multiplicadores que aparecen como %. 10 es +10 %; -10 es -10 %; 3,6 es +3,6 %.\", \n    \"description_fr\": \"Utilisé pour les multiplicateurs affichés en %. 10 correspond à +10 %, -10 à -10 %, 3,6 à +3,6 %\", \n    \"description_it\": \"Used for multipliers displayed as % 10 is +10% -10 is -10% 3.6 is +3.6%\", \n    \"description_ja\": \"% として表示される乗数で使用：10＝+10%、-10＝-10%、3.6＝+3.6%\", \n    \"description_ko\": \"%로 나타낸 승수 표기에 사용됩니다. 10 = +10%, -10 = -10%, 3.6 = +3.6%\", \n    \"description_ru\": \"Используется для множителей в виде %. 10 = +10%; -10 = -10%; 3,6 = +3,6%\", \n    \"description_zh\": \"用于乘数，显示为 % 10 is +10% -10 is -10% 3.6 is +3.6%\", \n    \"descriptionID\": 592242, \n    \"displayName_de\": \"%\", \n    \"displayName_en-us\": \"%\", \n    \"displayName_es\": \"%\", \n    \"displayName_fr\": \"%\", \n    \"displayName_it\": \"%\", \n    \"displayName_ja\": \"%\", \n    \"displayName_ko\": \"%\", \n    \"displayName_ru\": \"%\", \n    \"displayName_zh\": \"%\", \n    \"displayNameID\": 592243, \n    \"name\": \"modifier realPercent\"\n  }\n}"
  },
  {
    "path": "staticdata/fsd_built/dynamicitemattributes.0.json",
    "content": "{\n  \"47297\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"20\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"554\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5975, \n          12052, \n          12076, \n          14118, \n          14120, \n          15751, \n          15764, \n          19315, \n          19321, \n          19327, \n          19339, \n          19345, \n          19351, \n          21478, \n          35659, \n          35660, \n          84964, \n          84965\n        ], \n        \"resultingType\": 47408\n      }\n    ]\n  }, \n  \"47299\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"20\": {\n        \"max\": 1.034999966621399, \n        \"min\": 0.9700000286102295\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"554\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5945, \n          12054, \n          12084, \n          14114, \n          14116, \n          14492, \n          14494, \n          14496, \n          14498, \n          14508, \n          14510, \n          14512, \n          14514, \n          15755, \n          15768, \n          19317, \n          19323, \n          19329, \n          19335, \n          19341, \n          19347, \n          19353, \n          19359, \n          21480, \n          35661, \n          35662\n        ], \n        \"resultingType\": 47745\n      }\n    ]\n  }, \n  \"47699\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.7999999523162842, \n        \"min\": 1.399999976158142\n      }, \n      \"20\": {\n        \"highIsGood\": 0, \n        \"max\": 1.034999966621399, \n        \"min\": 0.9700000286102295\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          28514, \n          41038, \n          14652, \n          14650, \n          526, \n          527, \n          17500, \n          14648, \n          14654, \n          14262, \n          17559, \n          14264, \n          4025, \n          14266, \n          4027, \n          14268, \n          14270\n        ], \n        \"resultingType\": 47702\n      }\n    ]\n  }, \n  \"47700\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.5, \n        \"min\": 0.8999999761581421\n      }, \n      \"20\": {\n        \"highIsGood\": 0, \n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          28514, \n          15419, \n          41038, \n          14652, \n          14650, \n          526, \n          527, \n          17500, \n          14648, \n          14654, \n          14262, \n          17559, \n          14264, \n          4025, \n          14266, \n          4027, \n          14268, \n          14270\n        ], \n        \"resultingType\": 47702\n      }\n    ]\n  }, \n  \"47701\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.0, \n        \"min\": 1.0\n      }, \n      \"20\": {\n        \"highIsGood\": 0, \n        \"max\": 1.0700000524520874, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          28514, \n          15419, \n          41038, \n          14652, \n          14650, \n          526, \n          527, \n          17500, \n          14648, \n          14654, \n          14262, \n          17559, \n          14264, \n          4025, \n          14266, \n          4027, \n          14268, \n          14270\n        ], \n        \"resultingType\": 47702\n      }\n    ]\n  }, \n  \"47729\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.7999999523162842, \n        \"min\": 1.399999976158142\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          447, \n          5439, \n          5441, \n          5443, \n          5445, \n          448, \n          14256, \n          14258, \n          14260, \n          14252, \n          14254, \n          41061, \n          28518, \n          15433, \n          21512, \n          15887, \n          15893\n        ], \n        \"resultingType\": 47732\n      }\n    ]\n  }, \n  \"47730\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.5, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          447, \n          5439, \n          5441, \n          5443, \n          5445, \n          448, \n          14256, \n          14258, \n          14260, \n          14252, \n          14254, \n          41061, \n          28518, \n          15433, \n          21512, \n          15887, \n          15893\n        ], \n        \"resultingType\": 47732\n      }\n    ]\n  }, \n  \"47731\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.0, \n        \"min\": 1.0\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          447, \n          5439, \n          5441, \n          5443, \n          5445, \n          448, \n          14256, \n          14258, \n          14260, \n          14252, \n          14254, \n          41061, \n          28518, \n          15433, \n          21512, \n          15887, \n          15893\n        ], \n        \"resultingType\": 47732\n      }\n    ]\n  }, \n  \"47733\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.7999999523162842, \n        \"min\": 1.399999976158142\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3242, \n          5403, \n          5399, \n          21510, \n          5405, \n          3244, \n          41062, \n          15889, \n          15891, \n          5401, \n          14242, \n          14244, \n          14246, \n          14248, \n          15431, \n          14250, \n          28516\n        ], \n        \"resultingType\": 47736\n      }\n    ]\n  }, \n  \"47734\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.5, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3242, \n          5403, \n          5399, \n          21510, \n          5405, \n          3244, \n          41062, \n          15889, \n          15891, \n          5401, \n          14242, \n          14244, \n          14246, \n          14248, \n          15431, \n          14250, \n          28516\n        ], \n        \"resultingType\": 47736\n      }\n    ]\n  }, \n  \"47735\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.0, \n        \"min\": 1.0\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3242, \n          5403, \n          5399, \n          21510, \n          5405, \n          3244, \n          41062, \n          15889, \n          15891, \n          5401, \n          14242, \n          14244, \n          14246, \n          14248, \n          15431, \n          14250, \n          28516\n        ], \n        \"resultingType\": 47736\n      }\n    ]\n  }, \n  \"47737\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"20\": {\n        \"max\": 1.034999966621399, \n        \"min\": 0.9700000286102295\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"554\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          434, \n          440, \n          5971, \n          5973, \n          14122, \n          14124, \n          15747, \n          15759, \n          19313, \n          19319, \n          19325, \n          19337, \n          19343, \n          19349, \n          21476, \n          35658, \n          84962, \n          84963\n        ], \n        \"resultingType\": 47740\n      }\n    ]\n  }, \n  \"47738\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"20\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"554\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          434, \n          440, \n          5971, \n          5973, \n          14122, \n          14124, \n          15747, \n          15759, \n          19313, \n          19319, \n          19325, \n          19337, \n          19343, \n          19349, \n          21476, \n          35658, \n          84963, \n          84962\n        ], \n        \"resultingType\": 47740\n      }\n    ]\n  }, \n  \"47739\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"20\": {\n        \"max\": 1.0700000524520874, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"554\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          434, \n          440, \n          5971, \n          5973, \n          14122, \n          14124, \n          15747, \n          15759, \n          19313, \n          19319, \n          19325, \n          19337, \n          19343, \n          19349, \n          21476, \n          35658, \n          84962, \n          84963\n        ], \n        \"resultingType\": 47740\n      }\n    ]\n  }, \n  \"47741\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"20\": {\n        \"max\": 1.0700000524520874, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"554\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5975, \n          12052, \n          12076, \n          14118, \n          14120, \n          15751, \n          15764, \n          19315, \n          19321, \n          19327, \n          19339, \n          19345, \n          19351, \n          21478, \n          35659, \n          35660, \n          84964, \n          84965\n        ], \n        \"resultingType\": 47408\n      }\n    ]\n  }, \n  \"47742\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"20\": {\n        \"max\": 1.034999966621399, \n        \"min\": 0.9700000286102295\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"554\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5975, \n          12052, \n          12076, \n          14118, \n          14120, \n          15751, \n          15764, \n          19315, \n          19321, \n          19327, \n          19339, \n          19345, \n          19351, \n          21478, \n          35659, \n          35660, \n          84964, \n          84965\n        ], \n        \"resultingType\": 47408\n      }\n    ]\n  }, \n  \"47743\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"20\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"554\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5945, \n          12054, \n          12084, \n          14114, \n          14116, \n          14492, \n          14494, \n          14496, \n          14498, \n          14508, \n          14510, \n          14512, \n          14514, \n          15755, \n          15768, \n          19317, \n          19323, \n          19329, \n          19335, \n          19341, \n          19347, \n          19353, \n          19359, \n          21480, \n          35661, \n          35662\n        ], \n        \"resultingType\": 47745\n      }\n    ]\n  }, \n  \"47744\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"20\": {\n        \"max\": 1.0700000524520874, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"554\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5945, \n          12054, \n          12084, \n          14114, \n          14116, \n          14492, \n          14494, \n          14496, \n          14498, \n          14508, \n          14510, \n          14512, \n          14514, \n          15755, \n          15768, \n          19317, \n          19323, \n          19329, \n          19335, \n          19341, \n          19347, \n          19353, \n          19359, \n          21480, \n          35661, \n          35662\n        ], \n        \"resultingType\": 47745\n      }\n    ]\n  }, \n  \"47746\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"20\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          439, \n          438, \n          21470, \n          21857, \n          6003, \n          6001, \n          18692, \n          18686, \n          18680, \n          14110, \n          15761, \n          18670, \n          18664, \n          18658, \n          15749, \n          14112, \n          84967, \n          84966, \n          85025, \n          85031\n        ], \n        \"resultingType\": 47749\n      }\n    ]\n  }, \n  \"47747\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"20\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          439, \n          438, \n          21470, \n          21857, \n          6003, \n          6001, \n          18692, \n          18686, \n          18680, \n          14110, \n          15761, \n          18670, \n          18664, \n          18658, \n          15749, \n          14112, \n          84967, \n          84966, \n          85025, \n          85031\n        ], \n        \"resultingType\": 47749\n      }\n    ]\n  }, \n  \"47748\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"20\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          439, \n          438, \n          21470, \n          21857, \n          6003, \n          6001, \n          18692, \n          18686, \n          18680, \n          14110, \n          15761, \n          18670, \n          18664, \n          18658, \n          15749, \n          14112, \n          84966, \n          84967, \n          85025, \n          85031\n        ], \n        \"resultingType\": 47749\n      }\n    ]\n  }, \n  \"47750\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"20\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          6005, \n          12056, \n          12058, \n          14106, \n          14108, \n          15753, \n          15766, \n          18660, \n          18666, \n          18672, \n          18682, \n          18688, \n          18694, \n          21472, \n          35656, \n          84969, \n          84968, \n          85026, \n          85032\n        ], \n        \"resultingType\": 47753\n      }\n    ]\n  }, \n  \"47751\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"20\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          6005, \n          12056, \n          12058, \n          14106, \n          14108, \n          15753, \n          15766, \n          18660, \n          18666, \n          18672, \n          18682, \n          18688, \n          18694, \n          21472, \n          35656, \n          84969, \n          84968, \n          85026, \n          85032\n        ], \n        \"resultingType\": 47753\n      }\n    ]\n  }, \n  \"47752\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"20\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          6005, \n          12056, \n          12058, \n          14106, \n          14108, \n          15753, \n          15766, \n          18660, \n          18666, \n          18672, \n          18682, \n          18688, \n          18694, \n          21472, \n          35656, \n          84969, \n          84968, \n          85026, \n          85032\n        ], \n        \"resultingType\": 47753\n      }\n    ]\n  }, \n  \"47754\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"20\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5955, \n          12066, \n          12068, \n          14102, \n          14104, \n          14484, \n          14486, \n          14488, \n          14490, \n          14500, \n          14502, \n          14504, \n          14506, \n          15757, \n          15770, \n          18662, \n          18668, \n          18674, \n          18676, \n          18684, \n          18690, \n          18696, \n          18698, \n          19491, \n          21474, \n          35657\n        ], \n        \"resultingType\": 47757\n      }\n    ]\n  }, \n  \"47755\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"20\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5955, \n          12066, \n          12068, \n          14102, \n          14104, \n          14484, \n          14486, \n          14488, \n          14490, \n          14500, \n          14502, \n          14504, \n          14506, \n          15757, \n          15770, \n          18662, \n          18668, \n          18674, \n          18676, \n          18684, \n          18690, \n          18696, \n          18698, \n          19491, \n          21474, \n          35657\n        ], \n        \"resultingType\": 47757\n      }\n    ]\n  }, \n  \"47756\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"20\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5955, \n          12066, \n          12068, \n          14102, \n          14104, \n          14484, \n          14486, \n          14488, \n          14490, \n          14500, \n          14502, \n          14504, \n          14506, \n          15757, \n          15770, \n          18662, \n          18668, \n          18674, \n          18676, \n          18684, \n          18690, \n          18696, \n          18698, \n          19491, \n          21474, \n          35657\n        ], \n        \"resultingType\": 47757\n      }\n    ]\n  }, \n  \"47766\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.949999988079071\n      }, \n      \"84\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23795, \n          22887, \n          15741, \n          19009, \n          19007, \n          19005, \n          19015, \n          19013, \n          19011, \n          19003, \n          19001, \n          18999, \n          13964, \n          13962, \n          15744, \n          17548, \n          28556, \n          17494, \n          14069, \n          523, \n          1183, \n          13963, \n          4529, \n          4531, \n          4535, \n          4533, \n          84970, \n          84971\n        ], \n        \"resultingType\": 47769\n      }\n    ]\n  }, \n  \"47767\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"84\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23795, \n          22887, \n          15741, \n          19009, \n          19007, \n          19005, \n          19015, \n          19013, \n          19011, \n          19003, \n          19001, \n          18999, \n          13964, \n          13962, \n          15744, \n          17548, \n          28556, \n          17494, \n          14069, \n          523, \n          1183, \n          13963, \n          4529, \n          4533, \n          84971, \n          84970\n        ], \n        \"resultingType\": 47769\n      }\n    ]\n  }, \n  \"47768\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.925000011920929\n      }, \n      \"84\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23795, \n          22887, \n          15741, \n          19009, \n          19007, \n          19005, \n          19015, \n          19013, \n          19011, \n          19003, \n          19001, \n          18999, \n          13964, \n          13962, \n          15744, \n          17548, \n          28556, \n          17494, \n          14069, \n          523, \n          1183, \n          13963, \n          4529, \n          4533, \n          84970, \n          84971\n        ], \n        \"resultingType\": 47769\n      }\n    ]\n  }, \n  \"47770\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.949999988079071\n      }, \n      \"84\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3528, \n          3530, \n          13958, \n          13959, \n          13960, \n          14068, \n          15742, \n          15745, \n          17493, \n          17547, \n          19017, \n          19019, \n          19021, \n          19023, \n          19025, \n          19027, \n          19029, \n          19031, \n          19033, \n          22889, \n          23797, \n          28549, \n          4569, \n          4571, \n          4575, \n          4573, \n          84973, \n          84972\n        ], \n        \"resultingType\": 47773\n      }\n    ]\n  }, \n  \"47771\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"84\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3528, \n          3530, \n          13958, \n          13959, \n          13960, \n          14068, \n          15742, \n          15745, \n          17493, \n          17547, \n          19017, \n          19019, \n          19021, \n          19023, \n          19025, \n          19027, \n          19029, \n          19031, \n          19033, \n          22889, \n          23797, \n          28549, \n          4569, \n          4573, \n          84972, \n          84973\n        ], \n        \"resultingType\": 47773\n      }\n    ]\n  }, \n  \"47772\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.925000011920929\n      }, \n      \"84\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3528, \n          3530, \n          13958, \n          13959, \n          13960, \n          14068, \n          15742, \n          15745, \n          17493, \n          17547, \n          19017, \n          19019, \n          19021, \n          19023, \n          19025, \n          19027, \n          19029, \n          19031, \n          19033, \n          22889, \n          23797, \n          28549, \n          4569, \n          4573, \n          84973, \n          84972\n        ], \n        \"resultingType\": 47773\n      }\n    ]\n  }, \n  \"47774\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.949999988079071\n      }, \n      \"84\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3538, \n          3540, \n          4609, \n          4611, \n          4613, \n          4615, \n          4621, \n          13955, \n          13956, \n          13957, \n          14067, \n          14552, \n          14554, \n          14848, \n          14849, \n          14850, \n          14851, \n          14852, \n          14853, \n          14854, \n          14855, \n          15160, \n          15161, \n          15162, \n          15163, \n          15743, \n          15746, \n          17492, \n          17546, \n          19035, \n          19036, \n          19037, \n          19038, \n          19039, \n          19040, \n          19041, \n          19042, \n          19043, \n          19044, \n          19045, \n          19046, \n          22891, \n          23799, \n          28544\n        ], \n        \"resultingType\": 47777\n      }\n    ]\n  }, \n  \"47775\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"84\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3538, \n          3540, \n          4609, \n          4611, \n          4613, \n          4615, \n          4621, \n          13955, \n          13956, \n          13957, \n          14067, \n          14552, \n          14554, \n          14848, \n          14849, \n          14850, \n          14851, \n          14852, \n          14853, \n          14854, \n          14855, \n          15160, \n          15161, \n          15162, \n          15163, \n          15743, \n          15746, \n          17492, \n          17546, \n          19035, \n          19036, \n          19037, \n          19038, \n          19039, \n          19040, \n          19041, \n          19042, \n          19043, \n          19044, \n          19045, \n          19046, \n          22891, \n          23799, \n          28544\n        ], \n        \"resultingType\": 47777\n      }\n    ]\n  }, \n  \"47776\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.925000011920929\n      }, \n      \"84\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3538, \n          3540, \n          4609, \n          4611, \n          4613, \n          4615, \n          4621, \n          13955, \n          13956, \n          13957, \n          14067, \n          14552, \n          14554, \n          14848, \n          14849, \n          14850, \n          14851, \n          14852, \n          14853, \n          14854, \n          14855, \n          15160, \n          15161, \n          15162, \n          15163, \n          15743, \n          15746, \n          17492, \n          17546, \n          19035, \n          19036, \n          19037, \n          19038, \n          19039, \n          19040, \n          19041, \n          19042, \n          19043, \n          19044, \n          19045, \n          19046, \n          22891, \n          23799, \n          28544\n        ], \n        \"resultingType\": 47777\n      }\n    ]\n  }, \n  \"47778\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"68\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          399, \n          400, \n          6437, \n          6439, \n          6441, \n          6443, \n          13951, \n          13952, \n          15898, \n          15902, \n          19169, \n          19171, \n          19173, \n          19175, \n          19177, \n          19179, \n          20617, \n          84999, \n          84998\n        ], \n        \"resultingType\": 47781\n      }\n    ]\n  }, \n  \"47779\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"68\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          399, \n          400, \n          6437, \n          6439, \n          6441, \n          6443, \n          13951, \n          13952, \n          15898, \n          15902, \n          19169, \n          19171, \n          19173, \n          19175, \n          19177, \n          19179, \n          20617, \n          84999, \n          84998\n        ], \n        \"resultingType\": 47781\n      }\n    ]\n  }, \n  \"47780\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"68\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          399, \n          400, \n          6437, \n          6439, \n          6441, \n          6443, \n          13951, \n          13952, \n          15898, \n          15902, \n          19169, \n          19171, \n          19173, \n          19175, \n          19177, \n          19179, \n          20617, \n          84999, \n          84998\n        ], \n        \"resultingType\": 47781\n      }\n    ]\n  }, \n  \"47782\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"68\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10836, \n          10850, \n          10866, \n          10868, \n          10870, \n          10872, \n          13949, \n          13950, \n          15899, \n          15903, \n          19181, \n          19183, \n          19185, \n          19187, \n          19189, \n          19191, \n          20619, \n          85000, \n          85001\n        ], \n        \"resultingType\": 47785\n      }\n    ]\n  }, \n  \"47783\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"68\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10836, \n          10850, \n          10866, \n          10868, \n          10870, \n          10872, \n          13949, \n          13950, \n          15899, \n          15903, \n          19181, \n          19183, \n          19185, \n          19187, \n          19189, \n          19191, \n          20619, \n          85000, \n          85001\n        ], \n        \"resultingType\": 47785\n      }\n    ]\n  }, \n  \"47784\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"68\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10836, \n          10850, \n          10866, \n          10868, \n          10870, \n          10872, \n          13949, \n          13950, \n          15899, \n          15903, \n          19181, \n          19183, \n          19185, \n          19187, \n          19189, \n          19191, \n          20619, \n          85000, \n          85001\n        ], \n        \"resultingType\": 47785\n      }\n    ]\n  }, \n  \"47786\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"68\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10838, \n          10858, \n          10874, \n          10876, \n          10878, \n          10880, \n          13947, \n          13948, \n          14597, \n          14599, \n          14700, \n          14701, \n          14702, \n          14703, \n          15900, \n          15904, \n          19193, \n          19194, \n          19199, \n          19200, \n          19201, \n          19203, \n          19205, \n          19207, \n          20621\n        ], \n        \"resultingType\": 47789\n      }\n    ]\n  }, \n  \"47787\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"68\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10838, \n          10858, \n          10874, \n          10876, \n          10878, \n          10880, \n          13947, \n          13948, \n          14597, \n          14599, \n          14700, \n          14701, \n          14702, \n          14703, \n          15900, \n          15904, \n          19193, \n          19194, \n          19199, \n          19200, \n          19201, \n          19203, \n          19205, \n          19207, \n          20621\n        ], \n        \"resultingType\": 47789\n      }\n    ]\n  }, \n  \"47788\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"68\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10838, \n          10858, \n          10874, \n          10876, \n          10878, \n          10880, \n          13947, \n          13948, \n          14597, \n          14599, \n          14700, \n          14701, \n          14702, \n          14703, \n          15900, \n          15904, \n          19193, \n          19194, \n          19199, \n          19200, \n          19201, \n          19203, \n          19205, \n          19207, \n          20621\n        ], \n        \"resultingType\": 47789\n      }\n    ]\n  }, \n  \"47790\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"68\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10882, \n          10884, \n          10886, \n          10888, \n          13953, \n          13954, \n          14601, \n          14603, \n          14704, \n          14705, \n          14706, \n          14707, \n          15897, \n          15901, \n          19195, \n          19196, \n          19197, \n          19198, \n          19202, \n          19204, \n          19206, \n          19208, \n          20623, \n          10840, \n          10842\n        ], \n        \"resultingType\": 47793\n      }\n    ]\n  }, \n  \"47791\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"68\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10882, \n          10884, \n          10886, \n          10888, \n          13953, \n          13954, \n          14601, \n          14603, \n          14704, \n          14705, \n          14706, \n          14707, \n          15897, \n          15901, \n          19195, \n          19196, \n          19197, \n          19198, \n          19202, \n          19204, \n          19206, \n          19208, \n          20623, \n          10840, \n          10842\n        ], \n        \"resultingType\": 47793\n      }\n    ]\n  }, \n  \"47792\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"68\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10882, \n          10884, \n          10886, \n          10888, \n          13953, \n          13954, \n          14601, \n          14603, \n          14704, \n          14705, \n          14706, \n          14707, \n          15897, \n          15901, \n          19195, \n          19196, \n          19197, \n          19198, \n          19202, \n          19204, \n          19206, \n          19208, \n          20623, \n          10840, \n          10842\n        ], \n        \"resultingType\": 47793\n      }\n    ]\n  }, \n  \"47797\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"72\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"983\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31922, \n          31924, \n          20627, \n          20625, \n          8427, \n          8521, \n          377, \n          380, \n          8401, \n          8481, \n          28742\n        ], \n        \"resultingType\": 47800\n      }\n    ]\n  }, \n  \"47798\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"72\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"983\": {\n        \"max\": 1.5, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31922, \n          31924, \n          20627, \n          20625, \n          8427, \n          8521, \n          377, \n          380, \n          8401, \n          8481, \n          28742\n        ], \n        \"resultingType\": 47800\n      }\n    ]\n  }, \n  \"47799\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"72\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"983\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31922, \n          31924, \n          20627, \n          20625, \n          8427, \n          8521, \n          377, \n          380, \n          8401, \n          8481, \n          28742\n        ], \n        \"resultingType\": 47800\n      }\n    ]\n  }, \n  \"47801\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"72\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"983\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31926, \n          16144, \n          20629, \n          8433, \n          8517, \n          3829, \n          3831, \n          8397, \n          8477, \n          31928, \n          28746, \n          19489\n        ], \n        \"resultingType\": 47804\n      }\n    ]\n  }, \n  \"47802\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"72\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"983\": {\n        \"max\": 1.5, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31926, \n          16144, \n          20629, \n          8433, \n          8517, \n          3829, \n          3831, \n          8397, \n          8477, \n          31928, \n          28746, \n          19489\n        ], \n        \"resultingType\": 47804\n      }\n    ]\n  }, \n  \"47803\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"72\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"983\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31926, \n          16144, \n          20629, \n          8433, \n          8517, \n          3829, \n          3831, \n          8397, \n          8477, \n          31928, \n          28746, \n          19489\n        ], \n        \"resultingType\": 47804\n      }\n    ]\n  }, \n  \"47805\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"72\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"983\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31930, \n          16146, \n          20631, \n          8419, \n          8529, \n          3839, \n          3841, \n          8409, \n          8489, \n          31932, \n          28744\n        ], \n        \"resultingType\": 47808\n      }\n    ]\n  }, \n  \"47806\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"72\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"983\": {\n        \"max\": 1.5, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31930, \n          16146, \n          20631, \n          8419, \n          8529, \n          3839, \n          3841, \n          8409, \n          8489, \n          31932, \n          28744\n        ], \n        \"resultingType\": 47808\n      }\n    ]\n  }, \n  \"47807\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"72\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"983\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31930, \n          16146, \n          20631, \n          8419, \n          8529, \n          3839, \n          3841, \n          8409, \n          8489, \n          31932, \n          28744\n        ], \n        \"resultingType\": 47808\n      }\n    ]\n  }, \n  \"47809\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"796\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"1159\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23783, \n          23791, \n          11343, \n          11345, \n          11339, \n          11341, \n          11293, \n          20345, \n          31898, \n          31896, \n          28778, \n          23787, \n          11351, \n          11353, \n          11347, \n          11349, \n          11295, \n          20347, \n          31906, \n          31904, \n          28782\n        ], \n        \"resultingType\": 47812\n      }\n    ]\n  }, \n  \"47810\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"796\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"1159\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23783, \n          23791, \n          11343, \n          11345, \n          11339, \n          11341, \n          11293, \n          20345, \n          31898, \n          31896, \n          28778, \n          23787, \n          11351, \n          11353, \n          11347, \n          11349, \n          11295, \n          20347, \n          31906, \n          31904, \n          28782\n        ], \n        \"resultingType\": 47812\n      }\n    ]\n  }, \n  \"47811\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"796\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"1159\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23783, \n          23791, \n          11343, \n          11345, \n          11339, \n          11341, \n          11293, \n          20345, \n          31898, \n          31896, \n          28778, \n          23787, \n          11351, \n          11353, \n          11347, \n          11349, \n          11295, \n          20347, \n          31906, \n          31904, \n          28782\n        ], \n        \"resultingType\": 47812\n      }\n    ]\n  }, \n  \"47813\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"796\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"1159\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23789, \n          11311, \n          11313, \n          11307, \n          11309, \n          11297, \n          20349, \n          31910, \n          31908, \n          28784, \n          23793, \n          11319, \n          11321, \n          11315, \n          11317, \n          11299, \n          20351, \n          31918, \n          31916, \n          28786\n        ], \n        \"resultingType\": 47817\n      }\n    ]\n  }, \n  \"47814\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"796\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"1159\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23789, \n          11311, \n          11313, \n          11307, \n          11309, \n          11297, \n          20349, \n          31910, \n          31908, \n          28784, \n          23793, \n          11319, \n          11321, \n          11315, \n          11317, \n          11299, \n          20351, \n          31918, \n          31916, \n          28786\n        ], \n        \"resultingType\": 47817\n      }\n    ]\n  }, \n  \"47815\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"796\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"1159\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23789, \n          11311, \n          11313, \n          11307, \n          11309, \n          11297, \n          20349, \n          31910, \n          31908, \n          28784, \n          23793, \n          11319, \n          11321, \n          11315, \n          11317, \n          11299, \n          20351, \n          31918, \n          31916, \n          28786\n        ], \n        \"resultingType\": 47817\n      }\n    ]\n  }, \n  \"47816\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"796\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"1159\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23785, \n          11327, \n          11329, \n          11323, \n          11325, \n          11279, \n          20353, \n          31902, \n          31900, \n          28780\n        ], \n        \"resultingType\": 47820\n      }\n    ]\n  }, \n  \"47818\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"796\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"1159\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23785, \n          11327, \n          11329, \n          11323, \n          11325, \n          11279, \n          20353, \n          31902, \n          31900, \n          28780\n        ], \n        \"resultingType\": 47820\n      }\n    ]\n  }, \n  \"47819\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"796\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"1159\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23785, \n          11327, \n          11329, \n          11323, \n          11325, \n          11279, \n          20353, \n          31902, \n          31900, \n          28780\n        ], \n        \"resultingType\": 47820\n      }\n    ]\n  }, \n  \"47821\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"97\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          533, \n          4471, \n          4473, \n          4475, \n          4477, \n          13003, \n          14160, \n          14162, \n          15794, \n          15800, \n          23815, \n          37622, \n          37623, \n          37624, \n          84991\n        ], \n        \"resultingType\": 47824\n      }\n    ]\n  }, \n  \"47822\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"97\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          533, \n          4471, \n          4473, \n          4475, \n          4477, \n          13003, \n          14160, \n          14162, \n          15794, \n          15800, \n          23815, \n          37622, \n          37623, \n          37624, \n          84991\n        ], \n        \"resultingType\": 47824\n      }\n    ]\n  }, \n  \"47823\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"97\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          533, \n          4471, \n          4473, \n          4475, \n          4477, \n          13003, \n          14160, \n          14162, \n          15794, \n          15800, \n          23815, \n          37622, \n          37623, \n          37624, \n          84991\n        ], \n        \"resultingType\": 47824\n      }\n    ]\n  }, \n  \"47825\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"97\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12265, \n          12267, \n          14164, \n          14166, \n          15796, \n          15802, \n          16465, \n          16467, \n          16469, \n          16471, \n          23817, \n          37625, \n          37626, \n          37627, \n          84992\n        ], \n        \"resultingType\": 47828\n      }\n    ]\n  }, \n  \"47826\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"97\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12265, \n          12267, \n          14164, \n          14166, \n          15796, \n          15802, \n          16465, \n          16467, \n          16469, \n          16471, \n          23817, \n          37625, \n          37626, \n          37627, \n          84992\n        ], \n        \"resultingType\": 47828\n      }\n    ]\n  }, \n  \"47827\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"97\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12265, \n          12267, \n          14164, \n          14166, \n          15796, \n          15802, \n          16465, \n          16467, \n          16469, \n          16471, \n          23817, \n          37625, \n          37626, \n          37627, \n          84992\n        ], \n        \"resultingType\": 47828\n      }\n    ]\n  }, \n  \"47829\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"97\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12269, \n          12271, \n          14168, \n          14170, \n          14832, \n          14834, \n          14836, \n          14838, \n          14840, \n          14842, \n          14844, \n          14846, \n          15798, \n          15804, \n          16473, \n          16475, \n          16477, \n          16479, \n          23819, \n          37628, \n          37629, \n          37630, \n          37631\n        ], \n        \"resultingType\": 47832\n      }\n    ]\n  }, \n  \"47830\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"97\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12269, \n          12271, \n          14168, \n          14170, \n          14832, \n          14834, \n          14836, \n          14838, \n          14840, \n          14842, \n          14844, \n          14846, \n          15798, \n          15804, \n          16473, \n          16475, \n          16477, \n          16479, \n          23819, \n          37628, \n          37629, \n          37630, \n          37631\n        ], \n        \"resultingType\": 47832\n      }\n    ]\n  }, \n  \"47831\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"97\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12269, \n          12271, \n          14168, \n          14170, \n          14832, \n          14834, \n          14836, \n          14838, \n          14840, \n          14842, \n          14844, \n          14846, \n          15798, \n          15804, \n          16473, \n          16475, \n          16477, \n          16479, \n          23819, \n          37628, \n          37629, \n          37630, \n          37631\n        ], \n        \"resultingType\": 47832\n      }\n    ]\n  }, \n  \"47835\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"68\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"1795\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          32772, \n          88716\n        ], \n        \"resultingType\": 47836\n      }\n    ]\n  }, \n  \"47837\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"68\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"1795\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          4391, \n          88715\n        ], \n        \"resultingType\": 47838\n      }\n    ]\n  }, \n  \"47839\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"68\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"1795\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          32780, \n          88714\n        ], \n        \"resultingType\": 47840\n      }\n    ]\n  }, \n  \"47841\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"84\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"1795\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          33076, \n          88721\n        ], \n        \"resultingType\": 47842\n      }\n    ]\n  }, \n  \"47843\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"84\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"1795\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          33101, \n          88720\n        ], \n        \"resultingType\": 47844\n      }\n    ]\n  }, \n  \"47845\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"84\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"1795\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          33103, \n          88719\n        ], \n        \"resultingType\": 47846\n      }\n    ]\n  }, \n  \"48416\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"90\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          530, \n          5137, \n          5141, \n          13001, \n          14148, \n          14150, \n          15875, \n          15881, \n          19101, \n          19103, \n          19105, \n          23821, \n          84989\n        ], \n        \"resultingType\": 48419\n      }\n    ]\n  }, \n  \"48417\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"90\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          530, \n          5137, \n          5141, \n          13001, \n          14148, \n          14150, \n          15875, \n          15881, \n          19101, \n          19103, \n          19105, \n          23821, \n          84989\n        ], \n        \"resultingType\": 48419\n      }\n    ]\n  }, \n  \"48418\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"90\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          530, \n          5137, \n          5141, \n          13001, \n          14148, \n          14150, \n          15875, \n          15881, \n          19101, \n          19103, \n          19105, \n          23821, \n          84989\n        ], \n        \"resultingType\": 48419\n      }\n    ]\n  }, \n  \"48420\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"90\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12257, \n          12259, \n          14156, \n          14158, \n          15877, \n          15883, \n          16505, \n          16507, \n          19107, \n          19109, \n          19111, \n          23824, \n          84993, \n          84741\n        ], \n        \"resultingType\": 48423\n      }\n    ]\n  }, \n  \"48421\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"90\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12257, \n          12259, \n          14156, \n          14158, \n          15877, \n          15883, \n          16505, \n          16507, \n          19107, \n          19109, \n          19111, \n          23824, \n          84993, \n          84741\n        ], \n        \"resultingType\": 48423\n      }\n    ]\n  }, \n  \"48422\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"90\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12257, \n          12259, \n          14156, \n          14158, \n          15877, \n          15883, \n          16505, \n          16507, \n          19107, \n          19109, \n          19111, \n          23824, \n          84993, \n          84741\n        ], \n        \"resultingType\": 48423\n      }\n    ]\n  }, \n  \"48424\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"90\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12261, \n          12263, \n          14152, \n          14154, \n          14816, \n          14818, \n          14820, \n          14822, \n          14824, \n          14826, \n          14828, \n          14830, \n          15879, \n          15885, \n          16497, \n          16499, \n          19113, \n          19115, \n          19117, \n          19119, \n          23829\n        ], \n        \"resultingType\": 48427\n      }\n    ]\n  }, \n  \"48425\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"90\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12261, \n          12263, \n          14152, \n          14154, \n          14816, \n          14818, \n          14820, \n          14822, \n          14824, \n          14826, \n          14828, \n          14830, \n          15879, \n          15885, \n          16497, \n          16499, \n          19113, \n          19115, \n          19117, \n          19119, \n          23829\n        ], \n        \"resultingType\": 48427\n      }\n    ]\n  }, \n  \"48426\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"90\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12261, \n          12263, \n          14152, \n          14154, \n          14816, \n          14818, \n          14820, \n          14822, \n          14824, \n          14826, \n          14828, \n          14830, \n          15879, \n          15885, \n          16497, \n          16499, \n          19113, \n          19115, \n          19117, \n          19119, \n          23829\n        ], \n        \"resultingType\": 48427\n      }\n    ]\n  }, \n  \"48428\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"67\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"2267\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1185, \n          3488, \n          4787, \n          23801, \n          41212, \n          41213, \n          41214, \n          522\n        ], \n        \"resultingType\": 48431\n      }\n    ]\n  }, \n  \"48429\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"67\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"2267\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1185, \n          3488, \n          4787, \n          23801, \n          41212, \n          41213, \n          41214, \n          522\n        ], \n        \"resultingType\": 48431\n      }\n    ]\n  }, \n  \"48430\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"67\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"2267\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1185, \n          3488, \n          4787, \n          23801, \n          41212, \n          41213, \n          41214, \n          522\n        ], \n        \"resultingType\": 48431\n      }\n    ]\n  }, \n  \"48432\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"67\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"2267\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2018, \n          3496, \n          6073, \n          23803, \n          41215, \n          41216, \n          41217\n        ], \n        \"resultingType\": 48435\n      }\n    ]\n  }, \n  \"48433\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"67\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"2267\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2018, \n          3496, \n          6073, \n          23803, \n          41215, \n          41216, \n          41217\n        ], \n        \"resultingType\": 48435\n      }\n    ]\n  }, \n  \"48434\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"67\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"2267\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2018, \n          3496, \n          6073, \n          23803, \n          41215, \n          41216, \n          41217\n        ], \n        \"resultingType\": 48435\n      }\n    ]\n  }, \n  \"48436\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"67\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"2267\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2020, \n          3504, \n          4871, \n          23805, \n          41218, \n          41219, \n          41220\n        ], \n        \"resultingType\": 48439\n      }\n    ]\n  }, \n  \"48437\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"67\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"2267\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2020, \n          3504, \n          4871, \n          23805, \n          41218, \n          41219, \n          41220\n        ], \n        \"resultingType\": 48439\n      }\n    ]\n  }, \n  \"48438\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"67\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"2267\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2020, \n          3504, \n          4871, \n          23805, \n          41218, \n          41219, \n          41220\n        ], \n        \"resultingType\": 48439\n      }\n    ]\n  }, \n  \"49723\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"64\": {\n        \"max\": 1.0080000162124634, \n        \"min\": 0.9950000047683716\n      }, \n      \"204\": {\n        \"max\": 1.0099999904632568, \n        \"min\": 0.9850000143051147\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          9944, \n          10188, \n          10190, \n          11101, \n          11103, \n          11105, \n          11107, \n          11109, \n          11111, \n          11113, \n          11115, \n          13945, \n          15144, \n          15146, \n          15148, \n          15150, \n          15416, \n          15895, \n          22917, \n          22919, \n          44113, \n          44114\n        ], \n        \"resultingType\": 49722\n      }\n    ]\n  }, \n  \"49724\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"64\": {\n        \"max\": 1.0140000581741333, \n        \"min\": 0.9890000224113464\n      }, \n      \"204\": {\n        \"max\": 1.0149999856948853, \n        \"min\": 0.9800000190734863\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          9944, \n          10188, \n          10190, \n          11101, \n          11103, \n          11105, \n          11107, \n          11109, \n          11111, \n          11113, \n          11115, \n          13945, \n          15144, \n          15146, \n          15148, \n          15150, \n          15416, \n          15895, \n          22917, \n          22919, \n          44113, \n          44114\n        ], \n        \"resultingType\": 49722\n      }\n    ]\n  }, \n  \"49725\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"64\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9800000190734863\n      }, \n      \"204\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.9750000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          9944, \n          10188, \n          10190, \n          11101, \n          11103, \n          11105, \n          11107, \n          11109, \n          11111, \n          11113, \n          11115, \n          13945, \n          15144, \n          15146, \n          15148, \n          15150, \n          15416, \n          15895, \n          22917, \n          22919, \n          44113, \n          44114\n        ], \n        \"resultingType\": 49722\n      }\n    ]\n  }, \n  \"49727\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"64\": {\n        \"max\": 1.0080000162124634, \n        \"min\": 0.9950000047683716\n      }, \n      \"204\": {\n        \"max\": 1.0099999904632568, \n        \"min\": 0.9850000143051147\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1893, \n          2363, \n          2364, \n          5845, \n          5846, \n          5849, \n          5854, \n          5855, \n          5856, \n          5857, \n          5858, \n          13941, \n          13943, \n          14800, \n          14802, \n          14804, \n          14806, \n          14808, \n          14810, \n          14812, \n          14814, \n          15397, \n          15435, \n          15808, \n          15810, \n          23900, \n          23902, \n          44111, \n          88265\n        ], \n        \"resultingType\": 49726\n      }\n    ]\n  }, \n  \"49728\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"64\": {\n        \"max\": 1.0140000581741333, \n        \"min\": 0.9890000224113464\n      }, \n      \"204\": {\n        \"max\": 1.0149999856948853, \n        \"min\": 0.9800000190734863\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1893, \n          2363, \n          2364, \n          5845, \n          5846, \n          5849, \n          5854, \n          5855, \n          5856, \n          5857, \n          5858, \n          13941, \n          13943, \n          14800, \n          14802, \n          14804, \n          14806, \n          14808, \n          14810, \n          14812, \n          14814, \n          15397, \n          15435, \n          15808, \n          15810, \n          23900, \n          23902, \n          44111, \n          88265\n        ], \n        \"resultingType\": 49726\n      }\n    ]\n  }, \n  \"49729\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"64\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9800000190734863\n      }, \n      \"204\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.9750000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1893, \n          2363, \n          2364, \n          5845, \n          5846, \n          5849, \n          5854, \n          5855, \n          5856, \n          5857, \n          5858, \n          13941, \n          13943, \n          14800, \n          14802, \n          14804, \n          14806, \n          14808, \n          14810, \n          14812, \n          14814, \n          15397, \n          15435, \n          15808, \n          15810, \n          23900, \n          23902, \n          44111, \n          88265\n        ], \n        \"resultingType\": 49726\n      }\n    ]\n  }, \n  \"49731\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"64\": {\n        \"max\": 1.0080000162124634, \n        \"min\": 0.9950000047683716\n      }, \n      \"204\": {\n        \"max\": 1.0099999904632568, \n        \"min\": 0.9850000143051147\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          518, \n          519, \n          520, \n          5913, \n          5915, \n          5917, \n          5919, \n          5929, \n          5931, \n          5933, \n          5935, \n          13939, \n          14536, \n          14538, \n          14540, \n          14542, \n          15447, \n          15806, \n          21486, \n          21488, \n          44112\n        ], \n        \"resultingType\": 49730\n      }\n    ]\n  }, \n  \"49732\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"64\": {\n        \"max\": 1.0140000581741333, \n        \"min\": 0.9890000224113464\n      }, \n      \"204\": {\n        \"max\": 1.0149999856948853, \n        \"min\": 0.9800000190734863\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          518, \n          519, \n          520, \n          5913, \n          5915, \n          5917, \n          5919, \n          5929, \n          5931, \n          5933, \n          5935, \n          13939, \n          14536, \n          14538, \n          14540, \n          14542, \n          15447, \n          15806, \n          21486, \n          21488, \n          44112\n        ], \n        \"resultingType\": 49730\n      }\n    ]\n  }, \n  \"49733\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"64\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9800000190734863\n      }, \n      \"204\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.9750000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          518, \n          519, \n          520, \n          5913, \n          5915, \n          5917, \n          5919, \n          5929, \n          5931, \n          5933, \n          5935, \n          13939, \n          14536, \n          14538, \n          14540, \n          14542, \n          15447, \n          15806, \n          21486, \n          21488, \n          44112\n        ], \n        \"resultingType\": 49730\n      }\n    ]\n  }, \n  \"49735\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"64\": {\n        \"max\": 1.0080000162124634, \n        \"min\": 0.9950000047683716\n      }, \n      \"204\": {\n        \"max\": 1.0099999904632568, \n        \"min\": 0.9850000143051147\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          47908, \n          47909, \n          47911, \n          52244, \n          52242\n        ], \n        \"resultingType\": 49734\n      }\n    ]\n  }, \n  \"49736\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"64\": {\n        \"max\": 1.0140000581741333, \n        \"min\": 0.9890000224113464\n      }, \n      \"204\": {\n        \"max\": 1.0149999856948853, \n        \"min\": 0.9800000190734863\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          47908, \n          47909, \n          47911, \n          52242, \n          52244\n        ], \n        \"resultingType\": 49734\n      }\n    ]\n  }, \n  \"49737\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"64\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9800000190734863\n      }, \n      \"204\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.9750000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          47908, \n          47909, \n          47911, \n          52242, \n          52244\n        ], \n        \"resultingType\": 49734\n      }\n    ]\n  }, \n  \"49739\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"204\": {\n        \"max\": 1.0099999904632568, \n        \"min\": 0.9850000143051147\n      }, \n      \"213\": {\n        \"max\": 1.0080000162124634, \n        \"min\": 0.9950000047683716\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12274, \n          13935, \n          13937, \n          14528, \n          14530, \n          14532, \n          14534, \n          14684, \n          14686, \n          14688, \n          14690, \n          15681, \n          15683, \n          16457, \n          16459, \n          16461, \n          16463, \n          21482, \n          21484, \n          22291, \n          28563, \n          46270, \n          47447, \n          47448\n        ], \n        \"resultingType\": 49738\n      }\n    ]\n  }, \n  \"49740\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"204\": {\n        \"max\": 1.0149999856948853, \n        \"min\": 0.9800000190734863\n      }, \n      \"213\": {\n        \"max\": 1.0140000581741333, \n        \"min\": 0.9890000224113464\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12274, \n          13935, \n          13937, \n          14528, \n          14530, \n          14532, \n          14534, \n          14684, \n          14686, \n          14688, \n          14690, \n          15681, \n          15683, \n          16457, \n          16459, \n          16461, \n          16463, \n          21482, \n          21484, \n          22291, \n          28563, \n          46270, \n          47447, \n          47448\n        ], \n        \"resultingType\": 49738\n      }\n    ]\n  }, \n  \"49741\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"204\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.9750000238418579\n      }, \n      \"213\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9800000190734863\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12274, \n          13935, \n          13937, \n          14528, \n          14530, \n          14532, \n          14534, \n          14684, \n          14686, \n          14688, \n          14690, \n          15681, \n          15683, \n          16457, \n          16459, \n          16461, \n          16463, \n          21482, \n          21484, \n          22291, \n          28563, \n          46270, \n          47447, \n          47448\n        ], \n        \"resultingType\": 49738\n      }\n    ]\n  }, \n  \"52224\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"974\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }, \n      \"975\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }, \n      \"976\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }, \n      \"977\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2048, \n          521, \n          5839, \n          41210, \n          41200, \n          41201, \n          41202, \n          41203, \n          41204, \n          41205, \n          41206, \n          41208, \n          23418, \n          41211, \n          2046, \n          41207\n        ], \n        \"resultingType\": 52227\n      }\n    ]\n  }, \n  \"52225\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"974\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }, \n      \"975\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }, \n      \"976\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }, \n      \"977\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2048, \n          521, \n          5839, \n          41210, \n          41200, \n          41201, \n          41202, \n          41203, \n          41204, \n          41205, \n          41206, \n          41208, \n          23418, \n          41211, \n          2046, \n          41207\n        ], \n        \"resultingType\": 52227\n      }\n    ]\n  }, \n  \"52226\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"974\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"975\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"976\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"977\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2048, \n          521, \n          5839, \n          41210, \n          41200, \n          41201, \n          41202, \n          41203, \n          41204, \n          41205, \n          41206, \n          41208, \n          23418, \n          41211, \n          2046, \n          41207\n        ], \n        \"resultingType\": 52227\n      }\n    ]\n  }, \n  \"52228\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"highIsGood\": 1, \n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }, \n      \"974\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }, \n      \"975\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }, \n      \"976\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }, \n      \"977\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          47254, \n          47255, \n          47256, \n          47257, \n          47258, \n          84961\n        ], \n        \"resultingType\": 52230\n      }\n    ]\n  }, \n  \"52229\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"highIsGood\": 1, \n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"974\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }, \n      \"975\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }, \n      \"976\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }, \n      \"977\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          47254, \n          47255, \n          47256, \n          47257, \n          47258, \n          84961\n        ], \n        \"resultingType\": 52230\n      }\n    ]\n  }, \n  \"52231\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"highIsGood\": 1, \n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"974\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"975\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"976\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"977\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          47254, \n          47255, \n          47256, \n          47257, \n          47258, \n          84961\n        ], \n        \"resultingType\": 52230\n      }\n    ]\n  }, \n  \"56269\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.7999999523162842, \n        \"min\": 1.399999976158142\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40750, \n          40756, \n          40752, \n          40754, \n          40758, \n          40764, \n          40762, \n          14664, \n          14666, \n          14668, \n          14670\n        ], \n        \"resultingType\": 56303\n      }\n    ]\n  }, \n  \"56270\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.5, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40750, \n          40756, \n          40752, \n          40754, \n          40758, \n          40764, \n          40762, \n          14664, \n          14666, \n          14668, \n          14670\n        ], \n        \"resultingType\": 56303\n      }\n    ]\n  }, \n  \"56271\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.0, \n        \"min\": 1.0\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40750, \n          40756, \n          40752, \n          40754, \n          40758, \n          40764, \n          40762, \n          14664, \n          14666, \n          14668, \n          14670\n        ], \n        \"resultingType\": 56303\n      }\n    ]\n  }, \n  \"56272\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.5, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40730, \n          40733, \n          40731, \n          40732, \n          40734, \n          40737, \n          40736, \n          14656, \n          14658, \n          14660, \n          14662\n        ], \n        \"resultingType\": 56304\n      }\n    ]\n  }, \n  \"56273\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.0, \n        \"min\": 1.0\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40730, \n          40733, \n          40731, \n          40732, \n          40734, \n          40737, \n          40736, \n          14656, \n          14658, \n          14660, \n          14662\n        ], \n        \"resultingType\": 56304\n      }\n    ]\n  }, \n  \"56274\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.7999999523162842, \n        \"min\": 1.399999976158142\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40730, \n          40733, \n          40731, \n          40732, \n          40734, \n          40737, \n          40736, \n          14656, \n          14658, \n          14660, \n          14662\n        ], \n        \"resultingType\": 56304\n      }\n    ]\n  }, \n  \"56275\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"20\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41236, \n          41238, \n          41237, \n          41239, \n          41240, \n          41241\n        ], \n        \"resultingType\": 56305\n      }\n    ]\n  }, \n  \"56276\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"20\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41236, \n          41238, \n          41237, \n          41239, \n          41240, \n          41241\n        ], \n        \"resultingType\": 56305\n      }\n    ]\n  }, \n  \"56277\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"20\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41236, \n          41238, \n          41237, \n          41239, \n          41240, \n          41241\n        ], \n        \"resultingType\": 56305\n      }\n    ]\n  }, \n  \"56278\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"20\": {\n        \"max\": 1.034999966621399, \n        \"min\": 0.9700000286102295\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"554\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41249, \n          41252, \n          41251, \n          41250, \n          41253, \n          41254, \n          41255\n        ], \n        \"resultingType\": 56306\n      }\n    ]\n  }, \n  \"56279\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"20\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"554\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41249, \n          41252, \n          41251, \n          41250, \n          41253, \n          41254, \n          41255\n        ], \n        \"resultingType\": 56306\n      }\n    ]\n  }, \n  \"56280\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"20\": {\n        \"max\": 1.0700000524520874, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"554\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41249, \n          41252, \n          41251, \n          41250, \n          41253, \n          41254, \n          41255\n        ], \n        \"resultingType\": 56306\n      }\n    ]\n  }, \n  \"56281\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.949999988079071\n      }, \n      \"84\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20701, \n          41499, \n          41498, \n          41500, \n          3534, \n          41501, \n          41502\n        ], \n        \"resultingType\": 56307\n      }\n    ]\n  }, \n  \"56282\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"84\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20701, \n          41499, \n          41498, \n          41500, \n          3534, \n          41501, \n          41502\n        ], \n        \"resultingType\": 56307\n      }\n    ]\n  }, \n  \"56283\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.925000011920929\n      }, \n      \"84\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20701, \n          41499, \n          41498, \n          41500, \n          3534, \n          41501, \n          41502\n        ], \n        \"resultingType\": 56307\n      }\n    ]\n  }, \n  \"56284\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"84\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"1795\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41503, \n          88718\n        ], \n        \"resultingType\": 56308\n      }\n    ]\n  }, \n  \"56285\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"68\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20703, \n          41505, \n          41506, \n          41507, \n          3542, \n          41510, \n          41509, \n          41508\n        ], \n        \"resultingType\": 56309\n      }\n    ]\n  }, \n  \"56286\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"68\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20703, \n          41505, \n          41506, \n          41507, \n          3542, \n          41510, \n          41509, \n          41508\n        ], \n        \"resultingType\": 56309\n      }\n    ]\n  }, \n  \"56287\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"68\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20703, \n          41505, \n          41506, \n          41507, \n          3542, \n          41510, \n          41509, \n          41508\n        ], \n        \"resultingType\": 56309\n      }\n    ]\n  }, \n  \"56288\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"68\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"1795\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41504, \n          88713\n        ], \n        \"resultingType\": 56310\n      }\n    ]\n  }, \n  \"56289\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"90\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40665, \n          40666, \n          40667, \n          40668, \n          40670, \n          40669\n        ], \n        \"resultingType\": 56311\n      }\n    ]\n  }, \n  \"56290\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"90\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40665, \n          40666, \n          40667, \n          40668, \n          40670, \n          40669\n        ], \n        \"resultingType\": 56311\n      }\n    ]\n  }, \n  \"56291\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"90\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40665, \n          40666, \n          40667, \n          40668, \n          40670, \n          40669\n        ], \n        \"resultingType\": 56311\n      }\n    ]\n  }, \n  \"56292\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"97\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40659, \n          40660, \n          40661, \n          40664, \n          40663, \n          40662\n        ], \n        \"resultingType\": 56312\n      }\n    ]\n  }, \n  \"56293\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"97\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40659, \n          40660, \n          40661, \n          40664, \n          40663, \n          40662\n        ], \n        \"resultingType\": 56312\n      }\n    ]\n  }, \n  \"56294\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"97\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40659, \n          40660, \n          40661, \n          40664, \n          40663, \n          40662\n        ], \n        \"resultingType\": 56312\n      }\n    ]\n  }, \n  \"56299\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"2306\": {\n        \"max\": 1.0099999904632568, \n        \"min\": 0.9943000078201294\n      }, \n      \"2307\": {\n        \"max\": 1.0080000162124634, \n        \"min\": 0.9950000047683716\n      }, \n      \"2346\": {\n        \"max\": 0.949999988079071, \n        \"min\": 1.024999976158142\n      }, \n      \"2347\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.949999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20280, \n          4292, \n          88266\n        ], \n        \"resultingType\": 56313\n      }\n    ]\n  }, \n  \"56300\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"2306\": {\n        \"max\": 1.0267000198364258, \n        \"min\": 0.9732999801635742\n      }, \n      \"2307\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9800000190734863\n      }, \n      \"2346\": {\n        \"max\": 0.8999999761581421, \n        \"min\": 1.100000023841858\n      }, \n      \"2347\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20280, \n          4292, \n          88266\n        ], \n        \"resultingType\": 56313\n      }\n    ]\n  }, \n  \"56301\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"2306\": {\n        \"max\": 1.0187000036239624, \n        \"min\": 0.9729999899864197\n      }, \n      \"2307\": {\n        \"max\": 1.0140000581741333, \n        \"min\": 0.9800000190734863\n      }, \n      \"2346\": {\n        \"max\": 0.925000011920929, \n        \"min\": 1.0499999523162842\n      }, \n      \"2347\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20280, \n          4292, \n          88266\n        ], \n        \"resultingType\": 56313\n      }\n    ]\n  }, \n  \"60460\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"37\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"64\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"158\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"160\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"263\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"265\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2203, \n          2205, \n          28264, \n          31864, \n          28262, \n          2454, \n          2456, \n          28276, \n          28274, \n          31880, \n          2464, \n          2466, \n          28280, \n          31872, \n          28278, \n          2486, \n          2488, \n          28304, \n          31888, \n          28302\n        ], \n        \"resultingType\": 60478\n      }\n    ]\n  }, \n  \"60461\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"64\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 1.0\n      }, \n      \"158\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"160\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"263\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"265\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2203, \n          2205, \n          28264, \n          31864, \n          28262, \n          2454, \n          2456, \n          28276, \n          28274, \n          31880, \n          2464, \n          2466, \n          28280, \n          31872, \n          28278, \n          2486, \n          2488, \n          28304, \n          31888, \n          28302\n        ], \n        \"resultingType\": 60478\n      }\n    ]\n  }, \n  \"60462\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"64\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"158\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"160\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"263\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"265\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2203, \n          2205, \n          28264, \n          31864, \n          28262, \n          2454, \n          2456, \n          28276, \n          28274, \n          31880, \n          2464, \n          2466, \n          28280, \n          31872, \n          28278, \n          2486, \n          2488, \n          28304, \n          31888, \n          28302\n        ], \n        \"resultingType\": 60478\n      }\n    ]\n  }, \n  \"60463\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"37\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"64\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"158\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"160\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"263\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"265\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2444, \n          2446, \n          28288, \n          28286, \n          31884, \n          2193, \n          2195, \n          28292, \n          31870, \n          28290, \n          2476, \n          2478, \n          28268, \n          28266, \n          31892, \n          1201, \n          2436, \n          28308, \n          28306, \n          31876\n        ], \n        \"resultingType\": 60480\n      }\n    ]\n  }, \n  \"60464\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"64\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 1.0\n      }, \n      \"158\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"160\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"263\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"265\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2444, \n          2446, \n          28288, \n          28286, \n          31884, \n          2193, \n          2195, \n          28292, \n          31870, \n          28290, \n          2476, \n          2478, \n          28268, \n          28266, \n          31892, \n          1201, \n          2436, \n          28308, \n          28306, \n          31876\n        ], \n        \"resultingType\": 60480\n      }\n    ]\n  }, \n  \"60465\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"64\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"158\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"160\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"263\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"265\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2444, \n          2446, \n          28288, \n          28286, \n          31884, \n          2193, \n          2195, \n          28292, \n          31870, \n          28290, \n          2476, \n          2478, \n          28268, \n          28266, \n          31892, \n          1201, \n          2436, \n          28308, \n          28306, \n          31876\n        ], \n        \"resultingType\": 60480\n      }\n    ]\n  }, \n  \"60466\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"64\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"158\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"160\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"263\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"265\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2444, \n          2446, \n          28288, \n          28286, \n          31884, \n          2193, \n          2195, \n          28292, \n          31870, \n          28290, \n          2476, \n          2478, \n          28268, \n          28266, \n          31892, \n          1201, \n          2436, \n          28308, \n          28306, \n          31876\n        ], \n        \"resultingType\": 60480\n      }\n    ]\n  }, \n  \"60467\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"64\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"158\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"160\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"263\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"265\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23561, \n          28211, \n          31886, \n          23525, \n          28213, \n          31868, \n          23563, \n          28215, \n          31894, \n          23559, \n          28209, \n          31878\n        ], \n        \"resultingType\": 60481\n      }\n    ]\n  }, \n  \"60468\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"64\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 1.0\n      }, \n      \"158\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"160\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"263\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"265\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23561, \n          28211, \n          31886, \n          23525, \n          28213, \n          31868, \n          23563, \n          28215, \n          31894, \n          23559, \n          28209, \n          31878\n        ], \n        \"resultingType\": 60481\n      }\n    ]\n  }, \n  \"60469\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"64\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"158\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"160\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"263\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"265\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23561, \n          28211, \n          31886, \n          23525, \n          28213, \n          31868, \n          23563, \n          28215, \n          31894, \n          23559, \n          28209, \n          31878\n        ], \n        \"resultingType\": 60481\n      }\n    ]\n  }, \n  \"60470\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"64\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"158\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"160\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"263\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"265\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23561, \n          28211, \n          31886, \n          23525, \n          28213, \n          31868, \n          23563, \n          28215, \n          31894, \n          23559, \n          28209, \n          31878\n        ], \n        \"resultingType\": 60481\n      }\n    ]\n  }, \n  \"60471\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"64\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"158\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"160\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"263\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"265\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2203, \n          2205, \n          28264, \n          31864, \n          28262, \n          2454, \n          2456, \n          28276, \n          28274, \n          31880, \n          2464, \n          2466, \n          28280, \n          31872, \n          28278, \n          2486, \n          2488, \n          28304, \n          31888, \n          28302\n        ], \n        \"resultingType\": 60478\n      }\n    ]\n  }, \n  \"60472\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"37\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"64\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"158\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"160\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"263\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"265\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2183, \n          2185, \n          28272, \n          28270, \n          31882, \n          2173, \n          2175, \n          28284, \n          28282, \n          31866, \n          15510, \n          21640, \n          28296, \n          28294, \n          31890, \n          15508, \n          21638, \n          28300, \n          28298, \n          31874\n        ], \n        \"resultingType\": 60479\n      }\n    ]\n  }, \n  \"60473\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"64\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 1.0\n      }, \n      \"158\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"160\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"263\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"265\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2183, \n          2185, \n          28272, \n          28270, \n          31882, \n          2173, \n          2175, \n          28284, \n          28282, \n          31866, \n          15510, \n          21640, \n          28296, \n          28294, \n          31890, \n          15508, \n          21638, \n          28300, \n          28298, \n          31874\n        ], \n        \"resultingType\": 60479\n      }\n    ]\n  }, \n  \"60474\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"64\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"158\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"160\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"263\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"265\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2183, \n          2185, \n          28272, \n          28270, \n          31882, \n          2173, \n          2175, \n          28284, \n          28282, \n          31866, \n          15510, \n          21640, \n          28296, \n          28294, \n          31890, \n          15508, \n          21638, \n          28300, \n          28298, \n          31874\n        ], \n        \"resultingType\": 60479\n      }\n    ]\n  }, \n  \"60475\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"64\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"158\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 1.0\n      }, \n      \"160\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"263\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"265\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2183, \n          2185, \n          28272, \n          28270, \n          31882, \n          2173, \n          2175, \n          28284, \n          28282, \n          31866, \n          15510, \n          21640, \n          28296, \n          28294, \n          31890, \n          15508, \n          21638, \n          28300, \n          28298, \n          31874\n        ], \n        \"resultingType\": 60479\n      }\n    ]\n  }, \n  \"60476\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.699999988079071\n      }, \n      \"1255\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          4393, \n          4405, \n          41034, \n          33846, \n          33842, \n          33844, \n          33848, \n          32919, \n          32921, \n          32923, \n          32925\n        ], \n        \"resultingType\": 60482\n      }\n    ]\n  }, \n  \"60477\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.699999988079071\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.699999988079071\n      }, \n      \"2335\": {\n        \"max\": 1.0119999647140503, \n        \"min\": 0.9879999756813049\n      }, \n      \"2336\": {\n        \"max\": 1.0119999647140503, \n        \"min\": 0.9879999756813049\n      }, \n      \"2337\": {\n        \"max\": 1.1319999694824219, \n        \"min\": 0.9909999966621399\n      }, \n      \"2338\": {\n        \"max\": 1.0119999647140503, \n        \"min\": 0.9879999756813049\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          24283, \n          41415, \n          41414, \n          41417, \n          32951, \n          32953, \n          32955, \n          32957, \n          88264\n        ], \n        \"resultingType\": 60483\n      }\n    ]\n  }, \n  \"78622\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"64\": {\n        \"max\": 1.0140000581741333, \n        \"min\": 0.9890000224113464\n      }, \n      \"204\": {\n        \"max\": 1.0149999856948853, \n        \"min\": 0.9800000190734863\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          54973, \n          54975, \n          54974, \n          78740, \n          78741\n        ], \n        \"resultingType\": 78621\n      }\n    ]\n  }, \n  \"78623\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"64\": {\n        \"max\": 1.0080000162124634, \n        \"min\": 0.9950000047683716\n      }, \n      \"204\": {\n        \"max\": 1.0099999904632568, \n        \"min\": 0.9850000143051147\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          54973, \n          54975, \n          54974, \n          78740, \n          78741\n        ], \n        \"resultingType\": 78621\n      }\n    ]\n  }, \n  \"78624\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"64\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9800000190734863\n      }, \n      \"204\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.9750000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          54973, \n          54975, \n          54974, \n          78741, \n          78740\n        ], \n        \"resultingType\": 78621\n      }\n    ]\n  }, \n  \"84398\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"99\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"114\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8799999952316284\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3993, \n          3995, \n          14188, \n          14190, \n          15963, \n          28545, \n          15947, \n          9678, \n          23868, \n          14784, \n          14786, \n          14790, \n          14788, \n          14792, \n          14796, \n          14798, \n          14794\n        ], \n        \"resultingType\": 84434\n      }\n    ]\n  }, \n  \"84399\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"99\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"118\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8799999952316284\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3987, \n          3989, \n          14206, \n          15955, \n          15152, \n          15158, \n          15156, \n          15154, \n          9808, \n          84496\n        ], \n        \"resultingType\": 84435\n      }\n    ]\n  }, \n  \"84400\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"99\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"114\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8799999952316284\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3953, \n          3955, \n          23866, \n          9734, \n          14192, \n          14194, \n          15961, \n          28550, \n          15945\n        ], \n        \"resultingType\": 84438\n      }\n    ]\n  }, \n  \"84401\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"99\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"118\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8799999952316284\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3947, \n          3949, \n          9800, \n          15953, \n          14220, \n          84498\n        ], \n        \"resultingType\": 84439\n      }\n    ]\n  }, \n  \"84402\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"99\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"117\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8799999952316284\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3941, \n          3943, \n          9728, \n          15929, \n          14210, \n          84497\n        ], \n        \"resultingType\": 84440\n      }\n    ]\n  }, \n  \"84403\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"99\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"116\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8799999952316284\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3937, \n          3939, \n          9762, \n          21536, \n          15937, \n          14222\n        ], \n        \"resultingType\": 84441\n      }\n    ]\n  }, \n  \"84404\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"99\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"114\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8799999952316284\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1563, \n          1565, \n          9680, \n          23864, \n          15941, \n          14200, \n          15957, \n          28557, \n          14202\n        ], \n        \"resultingType\": 84442\n      }\n    ]\n  }, \n  \"84405\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"99\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"118\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8799999952316284\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1557, \n          1559, \n          9784, \n          15949, \n          14228, \n          84500\n        ], \n        \"resultingType\": 84443\n      }\n    ]\n  }, \n  \"84406\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"99\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"117\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8799999952316284\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          15925, \n          1551, \n          1553, \n          14214, \n          9670, \n          84499\n        ], \n        \"resultingType\": 84444\n      }\n    ]\n  }, \n  \"84407\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"99\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"116\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8799999952316284\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1547, \n          1549, \n          9744, \n          14226, \n          15935, \n          21534\n        ], \n        \"resultingType\": 84445\n      }\n    ]\n  }, \n  \"84408\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"99\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"117\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8799999952316284\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3981, \n          3983, \n          9668, \n          15931, \n          14204, \n          14698, \n          14692, \n          14694, \n          14696, \n          84495\n        ], \n        \"resultingType\": 84436\n      }\n    ]\n  }, \n  \"84409\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"99\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"116\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8799999952316284\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3977, \n          3979, \n          14208, \n          15939, \n          9772, \n          21538, \n          14544, \n          14548, \n          14546, \n          14550\n        ], \n        \"resultingType\": 84437\n      }\n    ]\n  }, \n  \"84410\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"99\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"114\": {\n        \"max\": 1.0800000429153442, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1563, \n          1565, \n          9680, \n          23864, \n          15941, \n          14200, \n          15957, \n          28557, \n          14202\n        ], \n        \"resultingType\": 84442\n      }\n    ]\n  }, \n  \"84411\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"99\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"118\": {\n        \"max\": 1.0800000429153442, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1557, \n          1559, \n          9784, \n          15949, \n          14228, \n          84500\n        ], \n        \"resultingType\": 84443\n      }\n    ]\n  }, \n  \"84412\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"99\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"117\": {\n        \"max\": 1.0800000429153442, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          15925, \n          1551, \n          1553, \n          14214, \n          9670, \n          84499\n        ], \n        \"resultingType\": 84444\n      }\n    ]\n  }, \n  \"84413\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"99\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"116\": {\n        \"max\": 1.0800000429153442, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1547, \n          1549, \n          9744, \n          14226, \n          15935, \n          21534\n        ], \n        \"resultingType\": 84445\n      }\n    ]\n  }, \n  \"84414\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"99\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"117\": {\n        \"max\": 1.0800000429153442, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3981, \n          3983, \n          9668, \n          15931, \n          14204, \n          14698, \n          14692, \n          14694, \n          14696, \n          84495\n        ], \n        \"resultingType\": 84436\n      }\n    ]\n  }, \n  \"84415\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"99\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"116\": {\n        \"max\": 1.0800000429153442, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3977, \n          3979, \n          14208, \n          15939, \n          9772, \n          21538, \n          14544, \n          14548, \n          14546, \n          14550\n        ], \n        \"resultingType\": 84437\n      }\n    ]\n  }, \n  \"84416\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"99\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"114\": {\n        \"max\": 1.0800000429153442, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3993, \n          3995, \n          14188, \n          14190, \n          15963, \n          28545, \n          15947, \n          9678, \n          23868, \n          14784, \n          14786, \n          14790, \n          14788, \n          14792, \n          14796, \n          14798, \n          14794\n        ], \n        \"resultingType\": 84434\n      }\n    ]\n  }, \n  \"84417\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"99\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"118\": {\n        \"max\": 1.0800000429153442, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3987, \n          3989, \n          14206, \n          15955, \n          15152, \n          15158, \n          15156, \n          15154, \n          9808, \n          84496\n        ], \n        \"resultingType\": 84435\n      }\n    ]\n  }, \n  \"84418\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"99\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"114\": {\n        \"max\": 1.0800000429153442, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3953, \n          3955, \n          23866, \n          9734, \n          14192, \n          14194, \n          15961, \n          28550, \n          15945\n        ], \n        \"resultingType\": 84438\n      }\n    ]\n  }, \n  \"84419\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"99\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"118\": {\n        \"max\": 1.0800000429153442, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3947, \n          3949, \n          9800, \n          15953, \n          14220, \n          84498\n        ], \n        \"resultingType\": 84439\n      }\n    ]\n  }, \n  \"84420\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"99\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"117\": {\n        \"max\": 1.0800000429153442, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3941, \n          3943, \n          9728, \n          15929, \n          14210, \n          84497\n        ], \n        \"resultingType\": 84440\n      }\n    ]\n  }, \n  \"84421\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"99\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"116\": {\n        \"max\": 1.0800000429153442, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3937, \n          3939, \n          9762, \n          21536, \n          15937, \n          14222\n        ], \n        \"resultingType\": 84441\n      }\n    ]\n  }, \n  \"84422\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"99\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.699999988079071\n      }, \n      \"114\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3993, \n          3995, \n          14188, \n          14190, \n          15963, \n          28545, \n          15947, \n          9678, \n          23868, \n          14784, \n          14786, \n          14790, \n          14788, \n          14792, \n          14796, \n          14798, \n          14794\n        ], \n        \"resultingType\": 84434\n      }\n    ]\n  }, \n  \"84423\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"99\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.699999988079071\n      }, \n      \"118\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3987, \n          3989, \n          14206, \n          15955, \n          15152, \n          15158, \n          15156, \n          15154, \n          9808, \n          84496\n        ], \n        \"resultingType\": 84435\n      }\n    ]\n  }, \n  \"84424\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"99\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.699999988079071\n      }, \n      \"114\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3953, \n          3955, \n          23866, \n          9734, \n          14192, \n          14194, \n          15961, \n          28550, \n          15945\n        ], \n        \"resultingType\": 84438\n      }\n    ]\n  }, \n  \"84425\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"99\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.699999988079071\n      }, \n      \"118\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3947, \n          3949, \n          9800, \n          15953, \n          14220, \n          84498\n        ], \n        \"resultingType\": 84439\n      }\n    ]\n  }, \n  \"84426\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"99\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.699999988079071\n      }, \n      \"117\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3941, \n          3943, \n          9728, \n          15929, \n          14210, \n          84497\n        ], \n        \"resultingType\": 84440\n      }\n    ]\n  }, \n  \"84427\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"99\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.699999988079071\n      }, \n      \"116\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3937, \n          3939, \n          9762, \n          21536, \n          15937, \n          14222\n        ], \n        \"resultingType\": 84441\n      }\n    ]\n  }, \n  \"84428\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"99\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.699999988079071\n      }, \n      \"114\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1563, \n          1565, \n          9680, \n          23864, \n          15941, \n          14200, \n          15957, \n          28557, \n          14202\n        ], \n        \"resultingType\": 84442\n      }\n    ]\n  }, \n  \"84429\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"99\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.699999988079071\n      }, \n      \"118\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1557, \n          1559, \n          9784, \n          15949, \n          14228, \n          84500\n        ], \n        \"resultingType\": 84443\n      }\n    ]\n  }, \n  \"84430\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"99\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.699999988079071\n      }, \n      \"117\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          15925, \n          1551, \n          1553, \n          14214, \n          9670, \n          84499\n        ], \n        \"resultingType\": 84444\n      }\n    ]\n  }, \n  \"84431\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"99\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.699999988079071\n      }, \n      \"116\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1547, \n          1549, \n          9744, \n          14226, \n          15935, \n          21534\n        ], \n        \"resultingType\": 84445\n      }\n    ]\n  }, \n  \"84432\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"99\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.699999988079071\n      }, \n      \"117\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3981, \n          3983, \n          9668, \n          15931, \n          14204, \n          14698, \n          14692, \n          14694, \n          14696, \n          84495\n        ], \n        \"resultingType\": 84436\n      }\n    ]\n  }, \n  \"84433\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"99\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.699999988079071\n      }, \n      \"116\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3977, \n          3979, \n          14208, \n          15939, \n          9772, \n          21538, \n          14544, \n          14548, \n          14546, \n          14550\n        ], \n        \"resultingType\": 84437\n      }\n    ]\n  }, \n  \"85438\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"796\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"1159\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23783, \n          23791, \n          11343, \n          11345, \n          11339, \n          11341, \n          11293, \n          20345, \n          31898, \n          31896, \n          28778, \n          23787, \n          11351, \n          11353, \n          11347, \n          11349, \n          11295, \n          20347, \n          31906, \n          31904, \n          28782\n        ], \n        \"resultingType\": 47812\n      }\n    ]\n  }, \n  \"85439\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"796\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"1159\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23783, \n          23791, \n          11343, \n          11345, \n          11339, \n          11341, \n          11293, \n          20345, \n          31898, \n          31896, \n          28778, \n          23787, \n          11351, \n          11353, \n          11347, \n          11349, \n          11295, \n          20347, \n          31906, \n          31904, \n          28782\n        ], \n        \"resultingType\": 47812\n      }\n    ]\n  }, \n  \"85440\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"796\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"1159\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23783, \n          23791, \n          11343, \n          11345, \n          11339, \n          11341, \n          11293, \n          20345, \n          31898, \n          31896, \n          28778, \n          23787, \n          11351, \n          11353, \n          11347, \n          11349, \n          11295, \n          20347, \n          31906, \n          31904, \n          28782\n        ], \n        \"resultingType\": 47812\n      }\n    ]\n  }, \n  \"85441\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"73\": {\n        \"max\": 1.037500023841858, \n        \"min\": 0.9375\n      }, \n      \"84\": {\n        \"max\": 1.125, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23795, \n          22887, \n          15741, \n          19009, \n          19007, \n          19005, \n          19015, \n          19013, \n          19011, \n          19003, \n          19001, \n          18999, \n          13964, \n          13962, \n          15744, \n          17548, \n          28556, \n          17494, \n          14069, \n          523, \n          1183, \n          13963, \n          4529, \n          4531, \n          4535, \n          4533, \n          84970, \n          84971\n        ], \n        \"resultingType\": 47769\n      }\n    ]\n  }, \n  \"85442\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"84\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23795, \n          22887, \n          15741, \n          19009, \n          19007, \n          19005, \n          19015, \n          19013, \n          19011, \n          19003, \n          19001, \n          18999, \n          13964, \n          13962, \n          15744, \n          17548, \n          28556, \n          17494, \n          14069, \n          523, \n          1183, \n          13963, \n          4529, \n          4533, \n          84971, \n          84970\n        ], \n        \"resultingType\": 47769\n      }\n    ]\n  }, \n  \"85443\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.824999988079071\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.9125000238418579\n      }, \n      \"84\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23795, \n          22887, \n          15741, \n          19009, \n          19007, \n          19005, \n          19015, \n          19013, \n          19011, \n          19003, \n          19001, \n          18999, \n          13964, \n          13962, \n          15744, \n          17548, \n          28556, \n          17494, \n          14069, \n          523, \n          1183, \n          13963, \n          4529, \n          4533, \n          84970, \n          84971\n        ], \n        \"resultingType\": 47769\n      }\n    ]\n  }, \n  \"85445\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"84\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"1795\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          33076, \n          88721\n        ], \n        \"resultingType\": 47842\n      }\n    ]\n  }, \n  \"85446\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"796\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"1159\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23789, \n          11311, \n          11313, \n          11307, \n          11309, \n          11297, \n          20349, \n          31910, \n          31908, \n          28784, \n          23793, \n          11319, \n          11321, \n          11315, \n          11317, \n          11299, \n          20351, \n          31918, \n          31916, \n          28786\n        ], \n        \"resultingType\": 47817\n      }\n    ]\n  }, \n  \"85447\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"796\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"1159\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23789, \n          11311, \n          11313, \n          11307, \n          11309, \n          11297, \n          20349, \n          31910, \n          31908, \n          28784, \n          23793, \n          11319, \n          11321, \n          11315, \n          11317, \n          11299, \n          20351, \n          31918, \n          31916, \n          28786\n        ], \n        \"resultingType\": 47817\n      }\n    ]\n  }, \n  \"85448\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"796\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"1159\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23789, \n          11311, \n          11313, \n          11307, \n          11309, \n          11297, \n          20349, \n          31910, \n          31908, \n          28784, \n          23793, \n          11319, \n          11321, \n          11315, \n          11317, \n          11299, \n          20351, \n          31918, \n          31916, \n          28786\n        ], \n        \"resultingType\": 47817\n      }\n    ]\n  }, \n  \"85449\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"73\": {\n        \"max\": 1.037500023841858, \n        \"min\": 0.9375\n      }, \n      \"84\": {\n        \"max\": 1.125, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3528, \n          3530, \n          13958, \n          13959, \n          13960, \n          14068, \n          15742, \n          15745, \n          17493, \n          17547, \n          19017, \n          19019, \n          19021, \n          19023, \n          19025, \n          19027, \n          19029, \n          19031, \n          19033, \n          22889, \n          23797, \n          28549, \n          4569, \n          4571, \n          4575, \n          4573, \n          84973, \n          84972\n        ], \n        \"resultingType\": 47773\n      }\n    ]\n  }, \n  \"85450\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.824999988079071\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.9125000238418579\n      }, \n      \"84\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3528, \n          3530, \n          13958, \n          13959, \n          13960, \n          14068, \n          15742, \n          15745, \n          17493, \n          17547, \n          19017, \n          19019, \n          19021, \n          19023, \n          19025, \n          19027, \n          19029, \n          19031, \n          19033, \n          22889, \n          23797, \n          28549, \n          4569, \n          4573, \n          84973, \n          84972\n        ], \n        \"resultingType\": 47773\n      }\n    ]\n  }, \n  \"85451\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"84\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"1795\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          33101, \n          88720\n        ], \n        \"resultingType\": 47844\n      }\n    ]\n  }, \n  \"85452\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"84\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3528, \n          3530, \n          13958, \n          13959, \n          13960, \n          14068, \n          15742, \n          15745, \n          17493, \n          17547, \n          19017, \n          19019, \n          19021, \n          19023, \n          19025, \n          19027, \n          19029, \n          19031, \n          19033, \n          22889, \n          23797, \n          28549, \n          4569, \n          4573, \n          84972, \n          84973\n        ], \n        \"resultingType\": 47773\n      }\n    ]\n  }, \n  \"85453\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"796\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"1159\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23785, \n          11327, \n          11329, \n          11323, \n          11325, \n          11279, \n          20353, \n          31902, \n          31900, \n          28780\n        ], \n        \"resultingType\": 47820\n      }\n    ]\n  }, \n  \"85454\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"796\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"1159\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23785, \n          11327, \n          11329, \n          11323, \n          11325, \n          11279, \n          20353, \n          31902, \n          31900, \n          28780\n        ], \n        \"resultingType\": 47820\n      }\n    ]\n  }, \n  \"85455\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"73\": {\n        \"max\": 1.037500023841858, \n        \"min\": 0.9375\n      }, \n      \"84\": {\n        \"max\": 1.125, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3538, \n          3540, \n          4609, \n          4611, \n          4613, \n          4615, \n          4621, \n          13955, \n          13956, \n          13957, \n          14067, \n          14552, \n          14554, \n          14848, \n          14849, \n          14850, \n          14851, \n          14852, \n          14853, \n          14854, \n          14855, \n          15160, \n          15161, \n          15162, \n          15163, \n          15743, \n          15746, \n          17492, \n          17546, \n          19035, \n          19036, \n          19037, \n          19038, \n          19039, \n          19040, \n          19041, \n          19042, \n          19043, \n          19044, \n          19045, \n          19046, \n          22891, \n          23799, \n          28544\n        ], \n        \"resultingType\": 47777\n      }\n    ]\n  }, \n  \"85456\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"796\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"1159\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23785, \n          11327, \n          11329, \n          11323, \n          11325, \n          11279, \n          20353, \n          31902, \n          31900, \n          28780\n        ], \n        \"resultingType\": 47820\n      }\n    ]\n  }, \n  \"85457\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"84\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3538, \n          3540, \n          4609, \n          4611, \n          4613, \n          4615, \n          4621, \n          13955, \n          13956, \n          13957, \n          14067, \n          14552, \n          14554, \n          14848, \n          14849, \n          14850, \n          14851, \n          14852, \n          14853, \n          14854, \n          14855, \n          15160, \n          15161, \n          15162, \n          15163, \n          15743, \n          15746, \n          17492, \n          17546, \n          19035, \n          19036, \n          19037, \n          19038, \n          19039, \n          19040, \n          19041, \n          19042, \n          19043, \n          19044, \n          19045, \n          19046, \n          22891, \n          23799, \n          28544\n        ], \n        \"resultingType\": 47777\n      }\n    ]\n  }, \n  \"85458\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.824999988079071\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.9125000238418579\n      }, \n      \"84\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3538, \n          3540, \n          4609, \n          4611, \n          4613, \n          4615, \n          4621, \n          13955, \n          13956, \n          13957, \n          14067, \n          14552, \n          14554, \n          14848, \n          14849, \n          14850, \n          14851, \n          14852, \n          14853, \n          14854, \n          14855, \n          15160, \n          15161, \n          15162, \n          15163, \n          15743, \n          15746, \n          17492, \n          17546, \n          19035, \n          19036, \n          19037, \n          19038, \n          19039, \n          19040, \n          19041, \n          19042, \n          19043, \n          19044, \n          19045, \n          19046, \n          22891, \n          23799, \n          28544\n        ], \n        \"resultingType\": 47777\n      }\n    ]\n  }, \n  \"85459\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"84\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"1795\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          33103, \n          88719\n        ], \n        \"resultingType\": 47846\n      }\n    ]\n  }, \n  \"85460\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"73\": {\n        \"max\": 1.037500023841858, \n        \"min\": 0.9375\n      }, \n      \"84\": {\n        \"max\": 1.125, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20701, \n          41499, \n          41498, \n          41500, \n          3534, \n          41501, \n          41502\n        ], \n        \"resultingType\": 56307\n      }\n    ]\n  }, \n  \"85461\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"84\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20701, \n          41499, \n          41498, \n          41500, \n          3534, \n          41501, \n          41502\n        ], \n        \"resultingType\": 56307\n      }\n    ]\n  }, \n  \"85462\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.824999988079071\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.9125000238418579\n      }, \n      \"84\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20701, \n          41499, \n          41498, \n          41500, \n          3534, \n          41501, \n          41502\n        ], \n        \"resultingType\": 56307\n      }\n    ]\n  }, \n  \"85463\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"84\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"1795\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41503, \n          88718\n        ], \n        \"resultingType\": 56308\n      }\n    ]\n  }, \n  \"85464\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"20\": {\n        \"max\": 1.125, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          439, \n          438, \n          21470, \n          21857, \n          6003, \n          6001, \n          18692, \n          18686, \n          18680, \n          14110, \n          15761, \n          18670, \n          18664, \n          18658, \n          15749, \n          14112, \n          84967, \n          84966, \n          85025, \n          85031\n        ], \n        \"resultingType\": 47749\n      }\n    ]\n  }, \n  \"85465\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"20\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          439, \n          438, \n          21470, \n          21857, \n          6003, \n          6001, \n          18692, \n          18686, \n          18680, \n          14110, \n          15761, \n          18670, \n          18664, \n          18658, \n          15749, \n          14112, \n          84967, \n          84966, \n          85025, \n          85031\n        ], \n        \"resultingType\": 47749\n      }\n    ]\n  }, \n  \"85466\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"20\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8999999761581421\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          439, \n          438, \n          21470, \n          21857, \n          6003, \n          6001, \n          18692, \n          18686, \n          18680, \n          14110, \n          15761, \n          18670, \n          18664, \n          18658, \n          15749, \n          14112, \n          84966, \n          84967, \n          85025, \n          85031\n        ], \n        \"resultingType\": 47749\n      }\n    ]\n  }, \n  \"85467\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"20\": {\n        \"max\": 1.0850000381469727, \n        \"min\": 0.925000011920929\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"554\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          434, \n          440, \n          5971, \n          5973, \n          14122, \n          14124, \n          15747, \n          15759, \n          19313, \n          19319, \n          19325, \n          19337, \n          19343, \n          19349, \n          21476, \n          35658, \n          84962, \n          84963\n        ], \n        \"resultingType\": 47740\n      }\n    ]\n  }, \n  \"85468\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"20\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9599999785423279\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"554\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          434, \n          440, \n          5971, \n          5973, \n          14122, \n          14124, \n          15747, \n          15759, \n          19313, \n          19319, \n          19325, \n          19337, \n          19343, \n          19349, \n          21476, \n          35658, \n          84962, \n          84963\n        ], \n        \"resultingType\": 47740\n      }\n    ]\n  }, \n  \"85469\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"20\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"554\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          434, \n          440, \n          5971, \n          5973, \n          14122, \n          14124, \n          15747, \n          15759, \n          19313, \n          19319, \n          19325, \n          19337, \n          19343, \n          19349, \n          21476, \n          35658, \n          84963, \n          84962\n        ], \n        \"resultingType\": 47740\n      }\n    ]\n  }, \n  \"85470\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"20\": {\n        \"max\": 1.125, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          6005, \n          12056, \n          12058, \n          14106, \n          14108, \n          15753, \n          15766, \n          18660, \n          18666, \n          18672, \n          18682, \n          18688, \n          18694, \n          21472, \n          35656, \n          84969, \n          84968, \n          85026, \n          85032\n        ], \n        \"resultingType\": 47753\n      }\n    ]\n  }, \n  \"85471\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"20\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          6005, \n          12056, \n          12058, \n          14106, \n          14108, \n          15753, \n          15766, \n          18660, \n          18666, \n          18672, \n          18682, \n          18688, \n          18694, \n          21472, \n          35656, \n          84969, \n          84968, \n          85026, \n          85032\n        ], \n        \"resultingType\": 47753\n      }\n    ]\n  }, \n  \"85472\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"20\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8999999761581421\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          6005, \n          12056, \n          12058, \n          14106, \n          14108, \n          15753, \n          15766, \n          18660, \n          18666, \n          18672, \n          18682, \n          18688, \n          18694, \n          21472, \n          35656, \n          84969, \n          84968, \n          85026, \n          85032\n        ], \n        \"resultingType\": 47753\n      }\n    ]\n  }, \n  \"85473\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"20\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"554\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5975, \n          12052, \n          12076, \n          14118, \n          14120, \n          15751, \n          15764, \n          19315, \n          19321, \n          19327, \n          19339, \n          19345, \n          19351, \n          21478, \n          35659, \n          35660, \n          84964, \n          84965\n        ], \n        \"resultingType\": 47408\n      }\n    ]\n  }, \n  \"85474\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"20\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9599999785423279\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"554\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5975, \n          12052, \n          12076, \n          14118, \n          14120, \n          15751, \n          15764, \n          19315, \n          19321, \n          19327, \n          19339, \n          19345, \n          19351, \n          21478, \n          35659, \n          35660, \n          84964, \n          84965\n        ], \n        \"resultingType\": 47408\n      }\n    ]\n  }, \n  \"85475\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"20\": {\n        \"max\": 1.0850000381469727, \n        \"min\": 0.925000011920929\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"554\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5975, \n          12052, \n          12076, \n          14118, \n          14120, \n          15751, \n          15764, \n          19315, \n          19321, \n          19327, \n          19339, \n          19345, \n          19351, \n          21478, \n          35659, \n          35660, \n          84964, \n          84965\n        ], \n        \"resultingType\": 47408\n      }\n    ]\n  }, \n  \"85476\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"20\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8999999761581421\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5955, \n          12066, \n          12068, \n          14102, \n          14104, \n          14484, \n          14486, \n          14488, \n          14490, \n          14500, \n          14502, \n          14504, \n          14506, \n          15757, \n          15770, \n          18662, \n          18668, \n          18674, \n          18676, \n          18684, \n          18690, \n          18696, \n          18698, \n          19491, \n          21474, \n          35657\n        ], \n        \"resultingType\": 47757\n      }\n    ]\n  }, \n  \"85477\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"20\": {\n        \"max\": 1.125, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5955, \n          12066, \n          12068, \n          14102, \n          14104, \n          14484, \n          14486, \n          14488, \n          14490, \n          14500, \n          14502, \n          14504, \n          14506, \n          15757, \n          15770, \n          18662, \n          18668, \n          18674, \n          18676, \n          18684, \n          18690, \n          18696, \n          18698, \n          19491, \n          21474, \n          35657\n        ], \n        \"resultingType\": 47757\n      }\n    ]\n  }, \n  \"85478\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"20\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5955, \n          12066, \n          12068, \n          14102, \n          14104, \n          14484, \n          14486, \n          14488, \n          14490, \n          14500, \n          14502, \n          14504, \n          14506, \n          15757, \n          15770, \n          18662, \n          18668, \n          18674, \n          18676, \n          18684, \n          18690, \n          18696, \n          18698, \n          19491, \n          21474, \n          35657\n        ], \n        \"resultingType\": 47757\n      }\n    ]\n  }, \n  \"85479\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"20\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9599999785423279\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"554\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5945, \n          12054, \n          12084, \n          14114, \n          14116, \n          14492, \n          14494, \n          14496, \n          14498, \n          14508, \n          14510, \n          14512, \n          14514, \n          15755, \n          15768, \n          19317, \n          19323, \n          19329, \n          19335, \n          19341, \n          19347, \n          19353, \n          19359, \n          21480, \n          35661, \n          35662\n        ], \n        \"resultingType\": 47745\n      }\n    ]\n  }, \n  \"85480\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"20\": {\n        \"max\": 1.0850000381469727, \n        \"min\": 0.925000011920929\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"554\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5945, \n          12054, \n          12084, \n          14114, \n          14116, \n          14492, \n          14494, \n          14496, \n          14498, \n          14508, \n          14510, \n          14512, \n          14514, \n          15755, \n          15768, \n          19317, \n          19323, \n          19329, \n          19335, \n          19341, \n          19347, \n          19353, \n          19359, \n          21480, \n          35661, \n          35662\n        ], \n        \"resultingType\": 47745\n      }\n    ]\n  }, \n  \"85481\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"20\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"554\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          5945, \n          12054, \n          12084, \n          14114, \n          14116, \n          14492, \n          14494, \n          14496, \n          14498, \n          14508, \n          14510, \n          14512, \n          14514, \n          15755, \n          15768, \n          19317, \n          19323, \n          19329, \n          19335, \n          19341, \n          19347, \n          19353, \n          19359, \n          21480, \n          35661, \n          35662\n        ], \n        \"resultingType\": 47745\n      }\n    ]\n  }, \n  \"85482\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"20\": {\n        \"max\": 1.125, \n        \"min\": 0.949999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41236, \n          41238, \n          41237, \n          41239, \n          41240, \n          41241\n        ], \n        \"resultingType\": 56305\n      }\n    ]\n  }, \n  \"85483\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"20\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41236, \n          41238, \n          41237, \n          41239, \n          41240, \n          41241\n        ], \n        \"resultingType\": 56305\n      }\n    ]\n  }, \n  \"85484\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"20\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8999999761581421\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41236, \n          41238, \n          41237, \n          41239, \n          41240, \n          41241\n        ], \n        \"resultingType\": 56305\n      }\n    ]\n  }, \n  \"85485\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"20\": {\n        \"max\": 1.0850000381469727, \n        \"min\": 0.925000011920929\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"554\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41249, \n          41252, \n          41251, \n          41250, \n          41253, \n          41254, \n          41255\n        ], \n        \"resultingType\": 56306\n      }\n    ]\n  }, \n  \"85486\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"20\": {\n        \"max\": 1.034999966621399, \n        \"min\": 0.9700000286102295\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"554\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41249, \n          41252, \n          41251, \n          41250, \n          41253, \n          41254, \n          41255\n        ], \n        \"resultingType\": 56306\n      }\n    ]\n  }, \n  \"85487\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"20\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"554\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41249, \n          41252, \n          41251, \n          41250, \n          41253, \n          41254, \n          41255\n        ], \n        \"resultingType\": 56306\n      }\n    ]\n  }, \n  \"85488\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"974\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"975\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"976\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"977\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2048, \n          521, \n          5839, \n          41210, \n          41200, \n          41201, \n          41202, \n          41203, \n          41204, \n          41205, \n          41206, \n          41208, \n          23418, \n          41211, \n          2046, \n          41207\n        ], \n        \"resultingType\": 52227\n      }\n    ]\n  }, \n  \"85489\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.600000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"974\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }, \n      \"975\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }, \n      \"976\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }, \n      \"977\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2048, \n          521, \n          5839, \n          41210, \n          41200, \n          41201, \n          41202, \n          41203, \n          41204, \n          41205, \n          41206, \n          41208, \n          23418, \n          41211, \n          2046, \n          41207\n        ], \n        \"resultingType\": 52227\n      }\n    ]\n  }, \n  \"85490\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"73\": {\n        \"highIsGood\": 1, \n        \"max\": 1.1124999523162842, \n        \"min\": 0.925000011920929\n      }, \n      \"974\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"975\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"976\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"977\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          47254, \n          47255, \n          47256, \n          47257, \n          47258, \n          84961\n        ], \n        \"resultingType\": 52230\n      }\n    ]\n  }, \n  \"85491\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"974\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.75\n      }, \n      \"975\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.75\n      }, \n      \"976\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.75\n      }, \n      \"977\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2048, \n          521, \n          5839, \n          41210, \n          41200, \n          41201, \n          41202, \n          41203, \n          41204, \n          41205, \n          41206, \n          41208, \n          23418, \n          41211, \n          2046, \n          41207\n        ], \n        \"resultingType\": 52227\n      }\n    ]\n  }, \n  \"85492\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"73\": {\n        \"highIsGood\": 1, \n        \"max\": 1.1749999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"974\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.75\n      }, \n      \"975\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.75\n      }, \n      \"976\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.75\n      }, \n      \"977\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          47254, \n          47255, \n          47256, \n          47257, \n          47258, \n          84961\n        ], \n        \"resultingType\": 52230\n      }\n    ]\n  }, \n  \"85493\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.600000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"73\": {\n        \"highIsGood\": 1, \n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"974\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }, \n      \"975\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }, \n      \"976\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }, \n      \"977\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          47254, \n          47255, \n          47256, \n          47257, \n          47258, \n          84961\n        ], \n        \"resultingType\": 52230\n      }\n    ]\n  }, \n  \"85494\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"67\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }, \n      \"2267\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1185, \n          3488, \n          4787, \n          23801, \n          41212, \n          41213, \n          41214, \n          522\n        ], \n        \"resultingType\": 48431\n      }\n    ]\n  }, \n  \"85495\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"67\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }, \n      \"2267\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1185, \n          3488, \n          4787, \n          23801, \n          41212, \n          41213, \n          41214, \n          522\n        ], \n        \"resultingType\": 48431\n      }\n    ]\n  }, \n  \"85496\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"67\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"2267\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1185, \n          3488, \n          4787, \n          23801, \n          41212, \n          41213, \n          41214, \n          522\n        ], \n        \"resultingType\": 48431\n      }\n    ]\n  }, \n  \"85497\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"97\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          533, \n          4471, \n          4473, \n          4475, \n          4477, \n          13003, \n          14160, \n          14162, \n          15794, \n          15800, \n          23815, \n          37622, \n          37623, \n          37624, \n          84991\n        ], \n        \"resultingType\": 47824\n      }\n    ]\n  }, \n  \"85498\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.75\n      }, \n      \"97\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          533, \n          4471, \n          4473, \n          4475, \n          4477, \n          13003, \n          14160, \n          14162, \n          15794, \n          15800, \n          23815, \n          37622, \n          37623, \n          37624, \n          84991\n        ], \n        \"resultingType\": 47824\n      }\n    ]\n  }, \n  \"85499\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"97\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          533, \n          4471, \n          4473, \n          4475, \n          4477, \n          13003, \n          14160, \n          14162, \n          15794, \n          15800, \n          23815, \n          37622, \n          37623, \n          37624, \n          84991\n        ], \n        \"resultingType\": 47824\n      }\n    ]\n  }, \n  \"85500\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"90\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          530, \n          5137, \n          5141, \n          13001, \n          14148, \n          14150, \n          15875, \n          15881, \n          19101, \n          19103, \n          19105, \n          23821, \n          84989\n        ], \n        \"resultingType\": 48419\n      }\n    ]\n  }, \n  \"85501\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"90\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          530, \n          5137, \n          5141, \n          13001, \n          14148, \n          14150, \n          15875, \n          15881, \n          19101, \n          19103, \n          19105, \n          23821, \n          84989\n        ], \n        \"resultingType\": 48419\n      }\n    ]\n  }, \n  \"85502\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"90\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          530, \n          5137, \n          5141, \n          13001, \n          14148, \n          14150, \n          15875, \n          15881, \n          19101, \n          19103, \n          19105, \n          23821, \n          84989\n        ], \n        \"resultingType\": 48419\n      }\n    ]\n  }, \n  \"85504\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"67\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }, \n      \"2267\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2018, \n          3496, \n          6073, \n          23803, \n          41215, \n          41216, \n          41217\n        ], \n        \"resultingType\": 48435\n      }\n    ]\n  }, \n  \"85506\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"67\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"2267\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2018, \n          3496, \n          6073, \n          23803, \n          41215, \n          41216, \n          41217\n        ], \n        \"resultingType\": 48435\n      }\n    ]\n  }, \n  \"85507\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"67\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }, \n      \"2267\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2018, \n          3496, \n          6073, \n          23803, \n          41215, \n          41216, \n          41217\n        ], \n        \"resultingType\": 48435\n      }\n    ]\n  }, \n  \"85508\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"97\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12265, \n          12267, \n          14164, \n          14166, \n          15796, \n          15802, \n          16465, \n          16467, \n          16469, \n          16471, \n          23817, \n          37625, \n          37626, \n          37627, \n          84992\n        ], \n        \"resultingType\": 47828\n      }\n    ]\n  }, \n  \"85509\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.75\n      }, \n      \"97\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12265, \n          12267, \n          14164, \n          14166, \n          15796, \n          15802, \n          16465, \n          16467, \n          16469, \n          16471, \n          23817, \n          37625, \n          37626, \n          37627, \n          84992\n        ], \n        \"resultingType\": 47828\n      }\n    ]\n  }, \n  \"85510\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"97\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12265, \n          12267, \n          14164, \n          14166, \n          15796, \n          15802, \n          16465, \n          16467, \n          16469, \n          16471, \n          23817, \n          37625, \n          37626, \n          37627, \n          84992\n        ], \n        \"resultingType\": 47828\n      }\n    ]\n  }, \n  \"85511\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"90\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12257, \n          12259, \n          14156, \n          14158, \n          15877, \n          15883, \n          16505, \n          16507, \n          19107, \n          19109, \n          19111, \n          23824, \n          84993, \n          84741\n        ], \n        \"resultingType\": 48423\n      }\n    ]\n  }, \n  \"85512\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"90\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12257, \n          12259, \n          14156, \n          14158, \n          15877, \n          15883, \n          16505, \n          16507, \n          19107, \n          19109, \n          19111, \n          23824, \n          84993, \n          84741\n        ], \n        \"resultingType\": 48423\n      }\n    ]\n  }, \n  \"85513\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"90\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12257, \n          12259, \n          14156, \n          14158, \n          15877, \n          15883, \n          16505, \n          16507, \n          19107, \n          19109, \n          19111, \n          23824, \n          84993, \n          84741\n        ], \n        \"resultingType\": 48423\n      }\n    ]\n  }, \n  \"85514\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"67\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"2267\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2020, \n          3504, \n          4871, \n          23805, \n          41218, \n          41219, \n          41220\n        ], \n        \"resultingType\": 48439\n      }\n    ]\n  }, \n  \"85515\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"67\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }, \n      \"2267\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2020, \n          3504, \n          4871, \n          23805, \n          41218, \n          41219, \n          41220\n        ], \n        \"resultingType\": 48439\n      }\n    ]\n  }, \n  \"85516\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"67\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }, \n      \"2267\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2020, \n          3504, \n          4871, \n          23805, \n          41218, \n          41219, \n          41220\n        ], \n        \"resultingType\": 48439\n      }\n    ]\n  }, \n  \"85517\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"97\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12269, \n          12271, \n          14168, \n          14170, \n          14832, \n          14834, \n          14836, \n          14838, \n          14840, \n          14842, \n          14844, \n          14846, \n          15798, \n          15804, \n          16473, \n          16475, \n          16477, \n          16479, \n          23819, \n          37628, \n          37629, \n          37630, \n          37631\n        ], \n        \"resultingType\": 47832\n      }\n    ]\n  }, \n  \"85518\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.75\n      }, \n      \"97\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12269, \n          12271, \n          14168, \n          14170, \n          14832, \n          14834, \n          14836, \n          14838, \n          14840, \n          14842, \n          14844, \n          14846, \n          15798, \n          15804, \n          16473, \n          16475, \n          16477, \n          16479, \n          23819, \n          37628, \n          37629, \n          37630, \n          37631\n        ], \n        \"resultingType\": 47832\n      }\n    ]\n  }, \n  \"85519\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"90\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12261, \n          12263, \n          14152, \n          14154, \n          14816, \n          14818, \n          14820, \n          14822, \n          14824, \n          14826, \n          14828, \n          14830, \n          15879, \n          15885, \n          16497, \n          16499, \n          19113, \n          19115, \n          19117, \n          19119, \n          23829\n        ], \n        \"resultingType\": 48427\n      }\n    ]\n  }, \n  \"85520\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"90\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12261, \n          12263, \n          14152, \n          14154, \n          14816, \n          14818, \n          14820, \n          14822, \n          14824, \n          14826, \n          14828, \n          14830, \n          15879, \n          15885, \n          16497, \n          16499, \n          19113, \n          19115, \n          19117, \n          19119, \n          23829\n        ], \n        \"resultingType\": 48427\n      }\n    ]\n  }, \n  \"85521\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"97\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12269, \n          12271, \n          14168, \n          14170, \n          14832, \n          14834, \n          14836, \n          14838, \n          14840, \n          14842, \n          14844, \n          14846, \n          15798, \n          15804, \n          16473, \n          16475, \n          16477, \n          16479, \n          23819, \n          37628, \n          37629, \n          37630, \n          37631\n        ], \n        \"resultingType\": 47832\n      }\n    ]\n  }, \n  \"85522\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"90\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12261, \n          12263, \n          14152, \n          14154, \n          14816, \n          14818, \n          14820, \n          14822, \n          14824, \n          14826, \n          14828, \n          14830, \n          15879, \n          15885, \n          16497, \n          16499, \n          19113, \n          19115, \n          19117, \n          19119, \n          23829\n        ], \n        \"resultingType\": 48427\n      }\n    ]\n  }, \n  \"85523\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"97\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40659, \n          40660, \n          40661, \n          40664, \n          40663, \n          40662\n        ], \n        \"resultingType\": 56312\n      }\n    ]\n  }, \n  \"85524\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.75\n      }, \n      \"97\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40659, \n          40660, \n          40661, \n          40664, \n          40663, \n          40662\n        ], \n        \"resultingType\": 56312\n      }\n    ]\n  }, \n  \"85525\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"97\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40659, \n          40660, \n          40661, \n          40664, \n          40663, \n          40662\n        ], \n        \"resultingType\": 56312\n      }\n    ]\n  }, \n  \"85526\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"90\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40665, \n          40666, \n          40667, \n          40668, \n          40670, \n          40669\n        ], \n        \"resultingType\": 56311\n      }\n    ]\n  }, \n  \"85527\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"90\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40665, \n          40666, \n          40667, \n          40668, \n          40670, \n          40669\n        ], \n        \"resultingType\": 56311\n      }\n    ]\n  }, \n  \"85528\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"90\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40665, \n          40666, \n          40667, \n          40668, \n          40670, \n          40669\n        ], \n        \"resultingType\": 56311\n      }\n    ]\n  }, \n  \"85529\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"68\": {\n        \"max\": 1.125, \n        \"min\": 0.925000011920929\n      }, \n      \"73\": {\n        \"max\": 1.037500023841858, \n        \"min\": 0.9375\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          399, \n          400, \n          6437, \n          6439, \n          6441, \n          6443, \n          13951, \n          13952, \n          15898, \n          15902, \n          19169, \n          19171, \n          19173, \n          19175, \n          19177, \n          19179, \n          20617, \n          84999, \n          84998\n        ], \n        \"resultingType\": 47781\n      }\n    ]\n  }, \n  \"85530\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"72\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }, \n      \"983\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31922, \n          31924, \n          20627, \n          20625, \n          8427, \n          8521, \n          377, \n          380, \n          8401, \n          8481, \n          28742\n        ], \n        \"resultingType\": 47800\n      }\n    ]\n  }, \n  \"85531\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"68\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.125, \n        \"min\": 0.875\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          399, \n          400, \n          6437, \n          6439, \n          6441, \n          6443, \n          13951, \n          13952, \n          15898, \n          15902, \n          19169, \n          19171, \n          19173, \n          19175, \n          19177, \n          19179, \n          20617, \n          84999, \n          84998\n        ], \n        \"resultingType\": 47781\n      }\n    ]\n  }, \n  \"85532\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"72\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"983\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31922, \n          31924, \n          20627, \n          20625, \n          8427, \n          8521, \n          377, \n          380, \n          8401, \n          8481, \n          28742\n        ], \n        \"resultingType\": 47800\n      }\n    ]\n  }, \n  \"85533\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"68\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.824999988079071\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.9125000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          399, \n          400, \n          6437, \n          6439, \n          6441, \n          6443, \n          13951, \n          13952, \n          15898, \n          15902, \n          19169, \n          19171, \n          19173, \n          19175, \n          19177, \n          19179, \n          20617, \n          84999, \n          84998\n        ], \n        \"resultingType\": 47781\n      }\n    ]\n  }, \n  \"85534\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"72\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }, \n      \"983\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31922, \n          31924, \n          20627, \n          20625, \n          8427, \n          8521, \n          377, \n          380, \n          8401, \n          8481, \n          28742\n        ], \n        \"resultingType\": 47800\n      }\n    ]\n  }, \n  \"85535\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"68\": {\n        \"max\": 1.125, \n        \"min\": 0.925000011920929\n      }, \n      \"73\": {\n        \"max\": 1.037500023841858, \n        \"min\": 0.9375\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10836, \n          10850, \n          10866, \n          10868, \n          10870, \n          10872, \n          13949, \n          13950, \n          15899, \n          15903, \n          19181, \n          19183, \n          19185, \n          19187, \n          19189, \n          19191, \n          20619, \n          85000, \n          85001\n        ], \n        \"resultingType\": 47785\n      }\n    ]\n  }, \n  \"85536\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"68\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.824999988079071\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.9125000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10836, \n          10850, \n          10866, \n          10868, \n          10870, \n          10872, \n          13949, \n          13950, \n          15899, \n          15903, \n          19181, \n          19183, \n          19185, \n          19187, \n          19189, \n          19191, \n          20619, \n          85000, \n          85001\n        ], \n        \"resultingType\": 47785\n      }\n    ]\n  }, \n  \"85537\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"68\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.125, \n        \"min\": 0.875\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10836, \n          10850, \n          10866, \n          10868, \n          10870, \n          10872, \n          13949, \n          13950, \n          15899, \n          15903, \n          19181, \n          19183, \n          19185, \n          19187, \n          19189, \n          19191, \n          20619, \n          85000, \n          85001\n        ], \n        \"resultingType\": 47785\n      }\n    ]\n  }, \n  \"85538\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"72\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"983\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31926, \n          16144, \n          20629, \n          8433, \n          8517, \n          3829, \n          3831, \n          8397, \n          8477, \n          31928, \n          28746, \n          19489\n        ], \n        \"resultingType\": 47804\n      }\n    ]\n  }, \n  \"85539\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"72\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }, \n      \"983\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31926, \n          16144, \n          20629, \n          8433, \n          8517, \n          3829, \n          3831, \n          8397, \n          8477, \n          31928, \n          28746, \n          19489\n        ], \n        \"resultingType\": 47804\n      }\n    ]\n  }, \n  \"85540\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"72\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }, \n      \"983\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31926, \n          16144, \n          20629, \n          8433, \n          8517, \n          3829, \n          3831, \n          8397, \n          8477, \n          31928, \n          28746, \n          19489\n        ], \n        \"resultingType\": 47804\n      }\n    ]\n  }, \n  \"85541\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"68\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"1795\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          32772, \n          88716\n        ], \n        \"resultingType\": 47836\n      }\n    ]\n  }, \n  \"85542\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"68\": {\n        \"max\": 1.125, \n        \"min\": 0.925000011920929\n      }, \n      \"73\": {\n        \"max\": 1.037500023841858, \n        \"min\": 0.9375\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10838, \n          10858, \n          10874, \n          10876, \n          10878, \n          10880, \n          13947, \n          13948, \n          14597, \n          14599, \n          14700, \n          14701, \n          14702, \n          14703, \n          15900, \n          15904, \n          19193, \n          19194, \n          19199, \n          19200, \n          19201, \n          19203, \n          19205, \n          19207, \n          20621\n        ], \n        \"resultingType\": 47789\n      }\n    ]\n  }, \n  \"85543\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"68\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.824999988079071\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.9125000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10838, \n          10858, \n          10874, \n          10876, \n          10878, \n          10880, \n          13947, \n          13948, \n          14597, \n          14599, \n          14700, \n          14701, \n          14702, \n          14703, \n          15900, \n          15904, \n          19193, \n          19194, \n          19199, \n          19200, \n          19201, \n          19203, \n          19205, \n          19207, \n          20621\n        ], \n        \"resultingType\": 47789\n      }\n    ]\n  }, \n  \"85544\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"72\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"983\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31930, \n          16146, \n          20631, \n          8419, \n          8529, \n          3839, \n          3841, \n          8409, \n          8489, \n          31932, \n          28744\n        ], \n        \"resultingType\": 47808\n      }\n    ]\n  }, \n  \"85545\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"68\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.125, \n        \"min\": 0.875\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10838, \n          10858, \n          10874, \n          10876, \n          10878, \n          10880, \n          13947, \n          13948, \n          14597, \n          14599, \n          14700, \n          14701, \n          14702, \n          14703, \n          15900, \n          15904, \n          19193, \n          19194, \n          19199, \n          19200, \n          19201, \n          19203, \n          19205, \n          19207, \n          20621\n        ], \n        \"resultingType\": 47789\n      }\n    ]\n  }, \n  \"85546\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"72\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.925000011920929\n      }, \n      \"983\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31930, \n          16146, \n          20631, \n          8419, \n          8529, \n          3839, \n          3841, \n          8409, \n          8489, \n          31932, \n          28744\n        ], \n        \"resultingType\": 47808\n      }\n    ]\n  }, \n  \"85547\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"72\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }, \n      \"983\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          31930, \n          16146, \n          20631, \n          8419, \n          8529, \n          3839, \n          3841, \n          8409, \n          8489, \n          31932, \n          28744\n        ], \n        \"resultingType\": 47808\n      }\n    ]\n  }, \n  \"85548\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"68\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"1795\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          4391, \n          88715\n        ], \n        \"resultingType\": 47838\n      }\n    ]\n  }, \n  \"85549\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"68\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.125, \n        \"min\": 0.875\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10882, \n          10884, \n          10886, \n          10888, \n          13953, \n          13954, \n          14601, \n          14603, \n          14704, \n          14705, \n          14706, \n          14707, \n          15897, \n          15901, \n          19195, \n          19196, \n          19197, \n          19198, \n          19202, \n          19204, \n          19206, \n          19208, \n          20623, \n          10840, \n          10842\n        ], \n        \"resultingType\": 47793\n      }\n    ]\n  }, \n  \"85550\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"68\": {\n        \"max\": 1.125, \n        \"min\": 0.925000011920929\n      }, \n      \"73\": {\n        \"max\": 1.037500023841858, \n        \"min\": 0.9375\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10882, \n          10884, \n          10886, \n          10888, \n          13953, \n          13954, \n          14601, \n          14603, \n          14704, \n          14705, \n          14706, \n          14707, \n          15897, \n          15901, \n          19195, \n          19196, \n          19197, \n          19198, \n          19202, \n          19204, \n          19206, \n          19208, \n          20623, \n          10840, \n          10842\n        ], \n        \"resultingType\": 47793\n      }\n    ]\n  }, \n  \"85551\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"68\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.824999988079071\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.9125000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10882, \n          10884, \n          10886, \n          10888, \n          13953, \n          13954, \n          14601, \n          14603, \n          14704, \n          14705, \n          14706, \n          14707, \n          15897, \n          15901, \n          19195, \n          19196, \n          19197, \n          19198, \n          19202, \n          19204, \n          19206, \n          19208, \n          20623, \n          10840, \n          10842\n        ], \n        \"resultingType\": 47793\n      }\n    ]\n  }, \n  \"85552\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"68\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"1795\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          32780, \n          88714\n        ], \n        \"resultingType\": 47840\n      }\n    ]\n  }, \n  \"85553\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.25, \n        \"min\": 0.824999988079071\n      }, \n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"68\": {\n        \"max\": 1.125, \n        \"min\": 0.925000011920929\n      }, \n      \"73\": {\n        \"max\": 1.037500023841858, \n        \"min\": 0.9375\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20703, \n          41505, \n          41506, \n          41507, \n          3542, \n          41510, \n          41509, \n          41508\n        ], \n        \"resultingType\": 56309\n      }\n    ]\n  }, \n  \"85554\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"68\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"1795\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41504, \n          88713\n        ], \n        \"resultingType\": 56310\n      }\n    ]\n  }, \n  \"85555\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.699999988079071\n      }, \n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"68\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.824999988079071\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.9125000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20703, \n          41505, \n          41506, \n          41507, \n          3542, \n          41510, \n          41509, \n          41508\n        ], \n        \"resultingType\": 56309\n      }\n    ]\n  }, \n  \"85556\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.4500000476837158, \n        \"min\": 0.550000011920929\n      }, \n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"68\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.125, \n        \"min\": 0.875\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20703, \n          41505, \n          41506, \n          41507, \n          3542, \n          41510, \n          41509, \n          41508\n        ], \n        \"resultingType\": 56309\n      }\n    ]\n  }, \n  \"85557\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.899999976158142, \n        \"min\": 1.2000000476837158\n      }, \n      \"20\": {\n        \"highIsGood\": 0, \n        \"max\": 1.0499999523162842, \n        \"min\": 0.9599999785423279\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          28514, \n          41038, \n          14652, \n          14650, \n          526, \n          527, \n          17500, \n          14648, \n          14654, \n          14262, \n          17559, \n          14264, \n          4025, \n          14266, \n          4027, \n          14268, \n          14270\n        ], \n        \"resultingType\": 47702\n      }\n    ]\n  }, \n  \"85558\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 3.0, \n        \"min\": 0.8500000238418579\n      }, \n      \"20\": {\n        \"highIsGood\": 0, \n        \"max\": 1.149999976158142, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          28514, \n          15419, \n          41038, \n          14652, \n          14650, \n          526, \n          527, \n          17500, \n          14648, \n          14654, \n          14262, \n          17559, \n          14264, \n          4025, \n          14266, \n          4027, \n          14268, \n          14270\n        ], \n        \"resultingType\": 47702\n      }\n    ]\n  }, \n  \"85559\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.25, \n        \"min\": 0.949999988079071\n      }, \n      \"20\": {\n        \"highIsGood\": 0, \n        \"max\": 1.0850000381469727, \n        \"min\": 0.925000011920929\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          28514, \n          15419, \n          41038, \n          14652, \n          14650, \n          526, \n          527, \n          17500, \n          14648, \n          14654, \n          14262, \n          17559, \n          14264, \n          4025, \n          14266, \n          4027, \n          14268, \n          14270\n        ], \n        \"resultingType\": 47702\n      }\n    ]\n  }, \n  \"85640\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.899999976158142, \n        \"min\": 1.2000000476837158\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3242, \n          5403, \n          5399, \n          21510, \n          5405, \n          3244, \n          41062, \n          15889, \n          15891, \n          5401, \n          14242, \n          14244, \n          14246, \n          14248, \n          15431, \n          14250, \n          28516\n        ], \n        \"resultingType\": 47736\n      }\n    ]\n  }, \n  \"85641\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.75, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3242, \n          5403, \n          5399, \n          21510, \n          5405, \n          3244, \n          41062, \n          15889, \n          15891, \n          5401, \n          14242, \n          14244, \n          14246, \n          14248, \n          15431, \n          14250, \n          28516\n        ], \n        \"resultingType\": 47736\n      }\n    ]\n  }, \n  \"85642\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          3242, \n          5403, \n          5399, \n          21510, \n          5405, \n          3244, \n          41062, \n          15889, \n          15891, \n          5401, \n          14242, \n          14244, \n          14246, \n          14248, \n          15431, \n          14250, \n          28516\n        ], \n        \"resultingType\": 47736\n      }\n    ]\n  }, \n  \"85643\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.899999976158142, \n        \"min\": 1.2000000476837158\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          447, \n          5439, \n          5441, \n          5443, \n          5445, \n          448, \n          14256, \n          14258, \n          14260, \n          14252, \n          14254, \n          41061, \n          28518, \n          15433, \n          21512, \n          15887, \n          15893\n        ], \n        \"resultingType\": 47732\n      }\n    ]\n  }, \n  \"85644\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          447, \n          5439, \n          5441, \n          5443, \n          5445, \n          448, \n          14256, \n          14258, \n          14260, \n          14252, \n          14254, \n          41061, \n          28518, \n          15433, \n          21512, \n          15887, \n          15893\n        ], \n        \"resultingType\": 47732\n      }\n    ]\n  }, \n  \"85645\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.75, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          447, \n          5439, \n          5441, \n          5443, \n          5445, \n          448, \n          14256, \n          14258, \n          14260, \n          14252, \n          14254, \n          41061, \n          28518, \n          15433, \n          21512, \n          15887, \n          15893\n        ], \n        \"resultingType\": 47732\n      }\n    ]\n  }, \n  \"85646\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.899999976158142, \n        \"min\": 1.2000000476837158\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40750, \n          40756, \n          40752, \n          40754, \n          40758, \n          40764, \n          40762, \n          14664, \n          14666, \n          14668, \n          14670\n        ], \n        \"resultingType\": 56303\n      }\n    ]\n  }, \n  \"85647\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40750, \n          40756, \n          40752, \n          40754, \n          40758, \n          40764, \n          40762, \n          14664, \n          14666, \n          14668, \n          14670\n        ], \n        \"resultingType\": 56303\n      }\n    ]\n  }, \n  \"85648\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.75, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40750, \n          40756, \n          40752, \n          40754, \n          40758, \n          40764, \n          40762, \n          14664, \n          14666, \n          14668, \n          14670\n        ], \n        \"resultingType\": 56303\n      }\n    ]\n  }, \n  \"85649\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.899999976158142, \n        \"min\": 1.2000000476837158\n      }, \n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40730, \n          40733, \n          40731, \n          40732, \n          40734, \n          40737, \n          40736, \n          14656, \n          14658, \n          14660, \n          14662\n        ], \n        \"resultingType\": 56304\n      }\n    ]\n  }, \n  \"85650\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"54\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40730, \n          40733, \n          40731, \n          40732, \n          40734, \n          40737, \n          40736, \n          14656, \n          14658, \n          14660, \n          14662\n        ], \n        \"resultingType\": 56304\n      }\n    ]\n  }, \n  \"85651\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 2.75, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          40730, \n          40733, \n          40731, \n          40732, \n          40734, \n          40737, \n          40736, \n          14656, \n          14658, \n          14660, \n          14662\n        ], \n        \"resultingType\": 56304\n      }\n    ]\n  }, \n  \"85652\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"204\": {\n        \"max\": 1.0125000476837158, \n        \"min\": 0.9825000166893005\n      }, \n      \"213\": {\n        \"max\": 1.0110000371932983, \n        \"min\": 0.9929999709129333\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12274, \n          13935, \n          13937, \n          14528, \n          14530, \n          14532, \n          14534, \n          14684, \n          14686, \n          14688, \n          14690, \n          15681, \n          15683, \n          16457, \n          16459, \n          16461, \n          16463, \n          21482, \n          21484, \n          22291, \n          28563, \n          46270, \n          47447, \n          47448\n        ], \n        \"resultingType\": 49738\n      }\n    ]\n  }, \n  \"85653\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"204\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9775000214576721\n      }, \n      \"213\": {\n        \"max\": 1.0169999599456787, \n        \"min\": 0.9850000143051147\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12274, \n          13935, \n          13937, \n          14528, \n          14530, \n          14532, \n          14534, \n          14684, \n          14686, \n          14688, \n          14690, \n          15681, \n          15683, \n          16457, \n          16459, \n          16461, \n          16463, \n          21482, \n          21484, \n          22291, \n          28563, \n          46270, \n          47447, \n          47448\n        ], \n        \"resultingType\": 49738\n      }\n    ]\n  }, \n  \"85654\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"204\": {\n        \"max\": 1.0299999713897705, \n        \"min\": 0.9700000286102295\n      }, \n      \"213\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.9750000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12274, \n          13935, \n          13937, \n          14528, \n          14530, \n          14532, \n          14534, \n          14684, \n          14686, \n          14688, \n          14690, \n          15681, \n          15683, \n          16457, \n          16459, \n          16461, \n          16463, \n          21482, \n          21484, \n          22291, \n          28563, \n          46270, \n          47447, \n          47448\n        ], \n        \"resultingType\": 49738\n      }\n    ]\n  }, \n  \"85655\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"64\": {\n        \"max\": 1.0110000371932983, \n        \"min\": 0.9929999709129333\n      }, \n      \"204\": {\n        \"max\": 1.0125000476837158, \n        \"min\": 0.9825000166893005\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          47908, \n          47909, \n          47911, \n          52244, \n          52242\n        ], \n        \"resultingType\": 49734\n      }\n    ]\n  }, \n  \"85656\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"64\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.9750000238418579\n      }, \n      \"204\": {\n        \"max\": 1.0299999713897705, \n        \"min\": 0.9700000286102295\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          47908, \n          47909, \n          47911, \n          52242, \n          52244\n        ], \n        \"resultingType\": 49734\n      }\n    ]\n  }, \n  \"85657\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"64\": {\n        \"max\": 1.0169999599456787, \n        \"min\": 0.9850000143051147\n      }, \n      \"204\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9775000214576721\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          47908, \n          47909, \n          47911, \n          52242, \n          52244\n        ], \n        \"resultingType\": 49734\n      }\n    ]\n  }, \n  \"85660\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"64\": {\n        \"max\": 1.0110000371932983, \n        \"min\": 0.9929999709129333\n      }, \n      \"204\": {\n        \"max\": 1.0125000476837158, \n        \"min\": 0.9825000166893005\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          518, \n          519, \n          520, \n          5913, \n          5915, \n          5917, \n          5919, \n          5929, \n          5931, \n          5933, \n          5935, \n          13939, \n          14536, \n          14538, \n          14540, \n          14542, \n          15447, \n          15806, \n          21486, \n          21488, \n          44112\n        ], \n        \"resultingType\": 49730\n      }\n    ]\n  }, \n  \"85661\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"64\": {\n        \"max\": 1.0169999599456787, \n        \"min\": 0.9850000143051147\n      }, \n      \"204\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9775000214576721\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          518, \n          519, \n          520, \n          5913, \n          5915, \n          5917, \n          5919, \n          5929, \n          5931, \n          5933, \n          5935, \n          13939, \n          14536, \n          14538, \n          14540, \n          14542, \n          15447, \n          15806, \n          21486, \n          21488, \n          44112\n        ], \n        \"resultingType\": 49730\n      }\n    ]\n  }, \n  \"85662\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"64\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.9750000238418579\n      }, \n      \"204\": {\n        \"max\": 1.0299999713897705, \n        \"min\": 0.9700000286102295\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          518, \n          519, \n          520, \n          5913, \n          5915, \n          5917, \n          5919, \n          5929, \n          5931, \n          5933, \n          5935, \n          13939, \n          14536, \n          14538, \n          14540, \n          14542, \n          15447, \n          15806, \n          21486, \n          21488, \n          44112\n        ], \n        \"resultingType\": 49730\n      }\n    ]\n  }, \n  \"85663\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"64\": {\n        \"max\": 1.0110000371932983, \n        \"min\": 0.9929999709129333\n      }, \n      \"204\": {\n        \"max\": 1.0125000476837158, \n        \"min\": 0.9825000166893005\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1893, \n          2363, \n          2364, \n          5845, \n          5846, \n          5849, \n          5854, \n          5855, \n          5856, \n          5857, \n          5858, \n          13941, \n          13943, \n          14800, \n          14802, \n          14804, \n          14806, \n          14808, \n          14810, \n          14812, \n          14814, \n          15397, \n          15435, \n          15808, \n          15810, \n          23900, \n          23902, \n          44111, \n          88265\n        ], \n        \"resultingType\": 49726\n      }\n    ]\n  }, \n  \"85664\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"64\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.9750000238418579\n      }, \n      \"204\": {\n        \"max\": 1.0299999713897705, \n        \"min\": 0.9700000286102295\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1893, \n          2363, \n          2364, \n          5845, \n          5846, \n          5849, \n          5854, \n          5855, \n          5856, \n          5857, \n          5858, \n          13941, \n          13943, \n          14800, \n          14802, \n          14804, \n          14806, \n          14808, \n          14810, \n          14812, \n          14814, \n          15397, \n          15435, \n          15808, \n          15810, \n          23900, \n          23902, \n          44111, \n          88265\n        ], \n        \"resultingType\": 49726\n      }\n    ]\n  }, \n  \"85665\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"64\": {\n        \"max\": 1.0169999599456787, \n        \"min\": 0.9850000143051147\n      }, \n      \"204\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9775000214576721\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          1893, \n          2363, \n          2364, \n          5845, \n          5846, \n          5849, \n          5854, \n          5855, \n          5856, \n          5857, \n          5858, \n          13941, \n          13943, \n          14800, \n          14802, \n          14804, \n          14806, \n          14808, \n          14810, \n          14812, \n          14814, \n          15397, \n          15435, \n          15808, \n          15810, \n          23900, \n          23902, \n          44111, \n          88265\n        ], \n        \"resultingType\": 49726\n      }\n    ]\n  }, \n  \"85666\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"64\": {\n        \"max\": 1.0110000371932983, \n        \"min\": 0.9929999709129333\n      }, \n      \"204\": {\n        \"max\": 1.0125000476837158, \n        \"min\": 0.9825000166893005\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          9944, \n          10188, \n          10190, \n          11101, \n          11103, \n          11105, \n          11107, \n          11109, \n          11111, \n          11113, \n          11115, \n          13945, \n          15144, \n          15146, \n          15148, \n          15150, \n          15416, \n          15895, \n          22917, \n          22919, \n          44113, \n          44114\n        ], \n        \"resultingType\": 49722\n      }\n    ]\n  }, \n  \"85667\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"64\": {\n        \"max\": 1.0169999599456787, \n        \"min\": 0.9850000143051147\n      }, \n      \"204\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9775000214576721\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          9944, \n          10188, \n          10190, \n          11101, \n          11103, \n          11105, \n          11107, \n          11109, \n          11111, \n          11113, \n          11115, \n          13945, \n          15144, \n          15146, \n          15148, \n          15150, \n          15416, \n          15895, \n          22917, \n          22919, \n          44113, \n          44114\n        ], \n        \"resultingType\": 49722\n      }\n    ]\n  }, \n  \"85668\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"64\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.9750000238418579\n      }, \n      \"204\": {\n        \"max\": 1.0299999713897705, \n        \"min\": 0.9700000286102295\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          9944, \n          10188, \n          10190, \n          11101, \n          11103, \n          11105, \n          11107, \n          11109, \n          11111, \n          11113, \n          11115, \n          13945, \n          15144, \n          15146, \n          15148, \n          15150, \n          15416, \n          15895, \n          22917, \n          22919, \n          44113, \n          44114\n        ], \n        \"resultingType\": 49722\n      }\n    ]\n  }, \n  \"85669\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"2306\": {\n        \"max\": 1.0140000581741333, \n        \"min\": 0.9850000143051147\n      }, \n      \"2307\": {\n        \"max\": 1.0110000371932983, \n        \"min\": 0.987500011920929\n      }, \n      \"2346\": {\n        \"max\": 0.9375, \n        \"min\": 1.037500023841858\n      }, \n      \"2347\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.925000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20280, \n          4292, \n          88266\n        ], \n        \"resultingType\": 56313\n      }\n    ]\n  }, \n  \"85670\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"2306\": {\n        \"max\": 1.0219999551773071, \n        \"min\": 0.9725000262260437\n      }, \n      \"2307\": {\n        \"max\": 1.0169999599456787, \n        \"min\": 0.9800000190734863\n      }, \n      \"2346\": {\n        \"max\": 0.9125000238418579, \n        \"min\": 1.0750000476837158\n      }, \n      \"2347\": {\n        \"max\": 1.1749999523162842, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20280, \n          4292, \n          88266\n        ], \n        \"resultingType\": 56313\n      }\n    ]\n  }, \n  \"85671\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.524999976158142, \n        \"min\": 0.7749999761581421\n      }, \n      \"2306\": {\n        \"max\": 1.0299999713897705, \n        \"min\": 0.9700000286102295\n      }, \n      \"2307\": {\n        \"max\": 1.0225000381469727, \n        \"min\": 0.9775000214576721\n      }, \n      \"2346\": {\n        \"max\": 0.875, \n        \"min\": 1.125\n      }, \n      \"2347\": {\n        \"max\": 1.225000023841858, \n        \"min\": 0.7749999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          20280, \n          4292, \n          88266\n        ], \n        \"resultingType\": 56313\n      }\n    ]\n  }, \n  \"85672\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.274999976158142, \n        \"min\": 0.8999999761581421\n      }, \n      \"64\": {\n        \"max\": 1.0110000371932983, \n        \"min\": 0.9929999709129333\n      }, \n      \"204\": {\n        \"max\": 1.0125000476837158, \n        \"min\": 0.9825000166893005\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          54973, \n          54975, \n          54974, \n          78740, \n          78741\n        ], \n        \"resultingType\": 78621\n      }\n    ]\n  }, \n  \"85673\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.75\n      }, \n      \"64\": {\n        \"max\": 1.024999976158142, \n        \"min\": 0.9750000238418579\n      }, \n      \"204\": {\n        \"max\": 1.0299999713897705, \n        \"min\": 0.9700000286102295\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          54973, \n          54975, \n          54974, \n          78741, \n          78740\n        ], \n        \"resultingType\": 78621\n      }\n    ]\n  }, \n  \"85674\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.824999988079071\n      }, \n      \"64\": {\n        \"max\": 1.0169999599456787, \n        \"min\": 0.9850000143051147\n      }, \n      \"204\": {\n        \"max\": 1.0199999809265137, \n        \"min\": 0.9775000214576721\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          54973, \n          54975, \n          54974, \n          78740, \n          78741\n        ], \n        \"resultingType\": 78621\n      }\n    ]\n  }, \n  \"85675\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"37\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"64\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.6499999761581421\n      }, \n      \"158\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"160\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"263\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"265\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2203, \n          2205, \n          28264, \n          31864, \n          28262, \n          2454, \n          2456, \n          28276, \n          28274, \n          31880, \n          2464, \n          2466, \n          28280, \n          31872, \n          28278, \n          2486, \n          2488, \n          28304, \n          31888, \n          28302\n        ], \n        \"resultingType\": 60478\n      }\n    ]\n  }, \n  \"85676\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"37\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"64\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.6499999761581421\n      }, \n      \"158\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"160\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"263\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6000000238418579\n      }, \n      \"265\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2203, \n          2205, \n          28264, \n          31864, \n          28262, \n          2454, \n          2456, \n          28276, \n          28274, \n          31880, \n          2464, \n          2466, \n          28280, \n          31872, \n          28278, \n          2486, \n          2488, \n          28304, \n          31888, \n          28302\n        ], \n        \"resultingType\": 60478\n      }\n    ]\n  }, \n  \"85677\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"37\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"64\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.6499999761581421\n      }, \n      \"158\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"160\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"263\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6000000238418579\n      }, \n      \"265\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2203, \n          2205, \n          28264, \n          31864, \n          28262, \n          2454, \n          2456, \n          28276, \n          28274, \n          31880, \n          2464, \n          2466, \n          28280, \n          31872, \n          28278, \n          2486, \n          2488, \n          28304, \n          31888, \n          28302\n        ], \n        \"resultingType\": 60478\n      }\n    ]\n  }, \n  \"85678\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"37\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"64\": {\n        \"max\": 1.25, \n        \"min\": 0.8999999761581421\n      }, \n      \"158\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"160\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"263\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6000000238418579\n      }, \n      \"265\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2203, \n          2205, \n          28264, \n          31864, \n          28262, \n          2454, \n          2456, \n          28276, \n          28274, \n          31880, \n          2464, \n          2466, \n          28280, \n          31872, \n          28278, \n          2486, \n          2488, \n          28304, \n          31888, \n          28302\n        ], \n        \"resultingType\": 60478\n      }\n    ]\n  }, \n  \"85679\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"37\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"64\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.6499999761581421\n      }, \n      \"158\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"160\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"263\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"265\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2183, \n          2185, \n          28272, \n          28270, \n          31882, \n          2173, \n          2175, \n          28284, \n          28282, \n          31866, \n          15510, \n          21640, \n          28296, \n          28294, \n          31890, \n          15508, \n          21638, \n          28300, \n          28298, \n          31874\n        ], \n        \"resultingType\": 60479\n      }\n    ]\n  }, \n  \"85680\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"37\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"64\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.6499999761581421\n      }, \n      \"158\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"160\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"263\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6000000238418579\n      }, \n      \"265\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2183, \n          2185, \n          28272, \n          28270, \n          31882, \n          2173, \n          2175, \n          28284, \n          28282, \n          31866, \n          15510, \n          21640, \n          28296, \n          28294, \n          31890, \n          15508, \n          21638, \n          28300, \n          28298, \n          31874\n        ], \n        \"resultingType\": 60479\n      }\n    ]\n  }, \n  \"85681\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"37\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"64\": {\n        \"max\": 1.25, \n        \"min\": 0.8999999761581421\n      }, \n      \"158\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"160\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"263\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6000000238418579\n      }, \n      \"265\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2183, \n          2185, \n          28272, \n          28270, \n          31882, \n          2173, \n          2175, \n          28284, \n          28282, \n          31866, \n          15510, \n          21640, \n          28296, \n          28294, \n          31890, \n          15508, \n          21638, \n          28300, \n          28298, \n          31874\n        ], \n        \"resultingType\": 60479\n      }\n    ]\n  }, \n  \"85682\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"37\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"64\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.6499999761581421\n      }, \n      \"158\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"160\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"263\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6000000238418579\n      }, \n      \"265\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2183, \n          2185, \n          28272, \n          28270, \n          31882, \n          2173, \n          2175, \n          28284, \n          28282, \n          31866, \n          15510, \n          21640, \n          28296, \n          28294, \n          31890, \n          15508, \n          21638, \n          28300, \n          28298, \n          31874\n        ], \n        \"resultingType\": 60479\n      }\n    ]\n  }, \n  \"85685\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"37\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"64\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.6499999761581421\n      }, \n      \"158\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"160\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"263\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"265\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2444, \n          2446, \n          28288, \n          28286, \n          31884, \n          2193, \n          2195, \n          28292, \n          31870, \n          28290, \n          2476, \n          2478, \n          28268, \n          28266, \n          31892, \n          1201, \n          2436, \n          28308, \n          28306, \n          31876\n        ], \n        \"resultingType\": 60480\n      }\n    ]\n  }, \n  \"85686\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"37\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"64\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.6499999761581421\n      }, \n      \"158\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"160\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"263\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6000000238418579\n      }, \n      \"265\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2444, \n          2446, \n          28288, \n          28286, \n          31884, \n          2193, \n          2195, \n          28292, \n          31870, \n          28290, \n          2476, \n          2478, \n          28268, \n          28266, \n          31892, \n          1201, \n          2436, \n          28308, \n          28306, \n          31876\n        ], \n        \"resultingType\": 60480\n      }\n    ]\n  }, \n  \"85687\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"37\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"64\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.6499999761581421\n      }, \n      \"158\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"160\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"263\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6000000238418579\n      }, \n      \"265\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2444, \n          2446, \n          28288, \n          28286, \n          31884, \n          2193, \n          2195, \n          28292, \n          31870, \n          28290, \n          2476, \n          2478, \n          28268, \n          28266, \n          31892, \n          1201, \n          2436, \n          28308, \n          28306, \n          31876\n        ], \n        \"resultingType\": 60480\n      }\n    ]\n  }, \n  \"85688\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"37\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"64\": {\n        \"max\": 1.25, \n        \"min\": 0.8999999761581421\n      }, \n      \"158\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"160\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"263\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6000000238418579\n      }, \n      \"265\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          2444, \n          2446, \n          28288, \n          28286, \n          31884, \n          2193, \n          2195, \n          28292, \n          31870, \n          28290, \n          2476, \n          2478, \n          28268, \n          28266, \n          31892, \n          1201, \n          2436, \n          28308, \n          28306, \n          31876\n        ], \n        \"resultingType\": 60480\n      }\n    ]\n  }, \n  \"85690\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"37\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"64\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.6499999761581421\n      }, \n      \"158\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"160\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"263\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"265\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23561, \n          28211, \n          31886, \n          23525, \n          28213, \n          31868, \n          23563, \n          28215, \n          31894, \n          23559, \n          28209, \n          31878\n        ], \n        \"resultingType\": 60481\n      }\n    ]\n  }, \n  \"85691\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"37\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"64\": {\n        \"max\": 1.25, \n        \"min\": 0.8999999761581421\n      }, \n      \"158\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"160\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"263\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6000000238418579\n      }, \n      \"265\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23561, \n          28211, \n          31886, \n          23525, \n          28213, \n          31868, \n          23563, \n          28215, \n          31894, \n          23559, \n          28209, \n          31878\n        ], \n        \"resultingType\": 60481\n      }\n    ]\n  }, \n  \"85692\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"64\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.6499999761581421\n      }, \n      \"158\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"160\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"263\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6000000238418579\n      }, \n      \"265\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23561, \n          28211, \n          31886, \n          23525, \n          28213, \n          31868, \n          23563, \n          28215, \n          31894, \n          23559, \n          28209, \n          31878\n        ], \n        \"resultingType\": 60481\n      }\n    ]\n  }, \n  \"85693\": {\n    \"attributeIDs\": {\n      \"9\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"37\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"54\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"64\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.6499999761581421\n      }, \n      \"158\": {\n        \"max\": 1.350000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"160\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }, \n      \"263\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6000000238418579\n      }, \n      \"265\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.6499999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          23561, \n          28211, \n          31886, \n          23525, \n          28213, \n          31868, \n          23563, \n          28215, \n          31894, \n          23559, \n          28209, \n          31878\n        ], \n        \"resultingType\": 60481\n      }\n    ]\n  }, \n  \"85696\": {\n    \"attributeIDs\": {\n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.6499999761581421\n      }, \n      \"1255\": {\n        \"max\": 1.25, \n        \"min\": 0.75\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          4393, \n          4405, \n          41034, \n          33846, \n          33842, \n          33844, \n          33848, \n          32919, \n          32921, \n          32923, \n          32925\n        ], \n        \"resultingType\": 60482\n      }\n    ]\n  }, \n  \"85698\": {\n    \"attributeIDs\": {\n      \"30\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.6499999761581421\n      }, \n      \"50\": {\n        \"max\": 1.5499999523162842, \n        \"min\": 0.6499999761581421\n      }, \n      \"2335\": {\n        \"max\": 1.0149999856948853, \n        \"min\": 0.9850000143051147\n      }, \n      \"2336\": {\n        \"max\": 1.0149999856948853, \n        \"min\": 0.9850000143051147\n      }, \n      \"2337\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.9900000095367432\n      }, \n      \"2338\": {\n        \"max\": 1.0149999856948853, \n        \"min\": 0.9850000143051147\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          24283, \n          41415, \n          41414, \n          41417, \n          32951, \n          32953, \n          32955, \n          32957, \n          88264\n        ], \n        \"resultingType\": 60483\n      }\n    ]\n  }, \n  \"90457\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9750000238418579\n      }, \n      \"77\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3154\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"5967\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"5969\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          483, \n          5239, \n          5245, \n          482, \n          22923, \n          5233, \n          21841, \n          28750\n        ], \n        \"resultingType\": 90460\n      }\n    ]\n  }, \n  \"90458\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }, \n      \"77\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"3154\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"5967\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.75\n      }, \n      \"5969\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          483, \n          5239, \n          5245, \n          482, \n          22923, \n          5233, \n          21841, \n          28750\n        ], \n        \"resultingType\": 90460\n      }\n    ]\n  }, \n  \"90459\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"3153\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"3154\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"5967\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.6499999761581421\n      }, \n      \"5969\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          483, \n          5239, \n          5245, \n          482, \n          22923, \n          5233, \n          21841, \n          28750\n        ], \n        \"resultingType\": 90460\n      }\n    ]\n  }, \n  \"90466\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9750000238418579\n      }, \n      \"77\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3154\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"5967\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"5969\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          17912\n        ], \n        \"resultingType\": 90467\n      }\n    ]\n  }, \n  \"90468\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }, \n      \"77\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"3154\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"5967\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.75\n      }, \n      \"5969\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          17912\n        ], \n        \"resultingType\": 90467\n      }\n    ]\n  }, \n  \"90469\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"3153\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"3154\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"5967\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.6499999761581421\n      }, \n      \"5969\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          17912\n        ], \n        \"resultingType\": 90467\n      }\n    ]\n  }, \n  \"90470\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9750000238418579\n      }, \n      \"77\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3154\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"5967\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"5969\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          18068\n        ], \n        \"resultingType\": 90474\n      }\n    ]\n  }, \n  \"90471\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"3153\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"3154\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"5967\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.6499999761581421\n      }, \n      \"5969\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          18068\n        ], \n        \"resultingType\": 90474\n      }\n    ]\n  }, \n  \"90472\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }, \n      \"77\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"3154\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"5967\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.75\n      }, \n      \"5969\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          18068\n        ], \n        \"resultingType\": 90474\n      }\n    ]\n  }, \n  \"90480\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9750000238418579\n      }, \n      \"77\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"5967\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"5969\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12108, \n          28748\n        ], \n        \"resultingType\": 90483\n      }\n    ]\n  }, \n  \"90481\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }, \n      \"77\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"5967\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.75\n      }, \n      \"5969\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12108, \n          28748\n        ], \n        \"resultingType\": 90483\n      }\n    ]\n  }, \n  \"90482\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"5967\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.6499999761581421\n      }, \n      \"5969\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          12108, \n          28748\n        ], \n        \"resultingType\": 90483\n      }\n    ]\n  }, \n  \"90484\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9750000238418579\n      }, \n      \"77\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3154\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"5967\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"5969\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          24305\n        ], \n        \"resultingType\": 90487\n      }\n    ]\n  }, \n  \"90485\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }, \n      \"77\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"3154\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"5967\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.75\n      }, \n      \"5969\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          24305\n        ], \n        \"resultingType\": 90487\n      }\n    ]\n  }, \n  \"90486\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"3153\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"3154\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"5967\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.6499999761581421\n      }, \n      \"5969\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          24305\n        ], \n        \"resultingType\": 90487\n      }\n    ]\n  }, \n  \"90489\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9750000238418579\n      }, \n      \"77\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"5967\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"5969\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          17482, \n          28754\n        ], \n        \"resultingType\": 90493\n      }\n    ]\n  }, \n  \"90490\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }, \n      \"77\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"5967\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.75\n      }, \n      \"5969\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          17482, \n          28754\n        ], \n        \"resultingType\": 90493\n      }\n    ]\n  }, \n  \"90491\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"5967\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.6499999761581421\n      }, \n      \"5969\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          17482, \n          28754\n        ], \n        \"resultingType\": 90493\n      }\n    ]\n  }, \n  \"90495\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9750000238418579\n      }, \n      \"77\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"5967\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"5969\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          87562\n        ], \n        \"resultingType\": 90498\n      }\n    ]\n  }, \n  \"90496\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }, \n      \"77\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"5967\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.75\n      }, \n      \"5969\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          87562\n        ], \n        \"resultingType\": 90498\n      }\n    ]\n  }, \n  \"90497\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"5967\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.6499999761581421\n      }, \n      \"5969\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          87562\n        ], \n        \"resultingType\": 90498\n      }\n    ]\n  }, \n  \"90499\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9750000238418579\n      }, \n      \"77\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3154\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"5967\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"5969\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          37450, \n          37451, \n          37452\n        ], \n        \"resultingType\": 90502\n      }\n    ]\n  }, \n  \"90500\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }, \n      \"77\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"3154\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"5967\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.75\n      }, \n      \"5969\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          37450, \n          37451, \n          37452\n        ], \n        \"resultingType\": 90502\n      }\n    ]\n  }, \n  \"90501\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"3153\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"3154\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"5967\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.6499999761581421\n      }, \n      \"5969\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          37450, \n          37451, \n          37452\n        ], \n        \"resultingType\": 90502\n      }\n    ]\n  }, \n  \"90521\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9750000238418579\n      }, \n      \"77\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3154\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"5967\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"5969\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          16278, \n          22229, \n          28752\n        ], \n        \"resultingType\": 90524\n      }\n    ]\n  }, \n  \"90522\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }, \n      \"77\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"3154\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }, \n      \"5967\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.75\n      }, \n      \"5969\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          16278, \n          22229, \n          28752\n        ], \n        \"resultingType\": 90524\n      }\n    ]\n  }, \n  \"90523\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"3153\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"3154\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }, \n      \"5967\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.6499999761581421\n      }, \n      \"5969\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          16278, \n          22229, \n          28752\n        ], \n        \"resultingType\": 90524\n      }\n    ]\n  }, \n  \"90526\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9750000238418579\n      }, \n      \"77\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3154\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          25266, \n          25540, \n          25542, \n          25812, \n          28788\n        ], \n        \"resultingType\": 90529\n      }\n    ]\n  }, \n  \"90527\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }, \n      \"77\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"3154\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          25266, \n          25540, \n          25542, \n          25812, \n          28788\n        ], \n        \"resultingType\": 90529\n      }\n    ]\n  }, \n  \"90528\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"3153\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"3154\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          25266, \n          25540, \n          25542, \n          25812, \n          28788\n        ], \n        \"resultingType\": 90529\n      }\n    ]\n  }, \n  \"90590\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"30\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"50\": {\n        \"max\": 1.25, \n        \"min\": 0.949999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8500000238418579\n      }, \n      \"73\": {\n        \"max\": 1.0499999523162842, \n        \"min\": 0.9750000238418579\n      }, \n      \"77\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.949999988079071\n      }, \n      \"3154\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          60313, \n          60314, \n          60315\n        ], \n        \"resultingType\": 90593\n      }\n    ]\n  }, \n  \"90591\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.800000011920929\n      }, \n      \"30\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"50\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"54\": {\n        \"max\": 1.25, \n        \"min\": 0.800000011920929\n      }, \n      \"73\": {\n        \"max\": 1.0750000476837158, \n        \"min\": 0.949999988079071\n      }, \n      \"77\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.8999999761581421\n      }, \n      \"3153\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8500000238418579\n      }, \n      \"3154\": {\n        \"max\": 1.2000000476837158, \n        \"min\": 0.800000011920929\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          60313, \n          60314, \n          60315\n        ], \n        \"resultingType\": 90593\n      }\n    ]\n  }, \n  \"90592\": {\n    \"attributeIDs\": {\n      \"6\": {\n        \"max\": 1.399999976158142, \n        \"min\": 0.6000000238418579\n      }, \n      \"30\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"50\": {\n        \"max\": 1.5, \n        \"min\": 0.800000011920929\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"3153\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"3154\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          60313, \n          60314, \n          60315\n        ], \n        \"resultingType\": 90593\n      }\n    ]\n  }, \n  \"90609\": {\n    \"attributeIDs\": {\n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"3153\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"3154\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          10246, \n          10250, \n          43694\n        ], \n        \"resultingType\": 90614\n      }\n    ]\n  }, \n  \"90611\": {\n    \"attributeIDs\": {\n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"3153\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"3154\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          43699, \n          43700, \n          43701\n        ], \n        \"resultingType\": 90618\n      }\n    ]\n  }, \n  \"90619\": {\n    \"attributeIDs\": {\n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"3153\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"3154\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          41030\n        ], \n        \"resultingType\": 90621\n      }\n    ]\n  }, \n  \"90620\": {\n    \"attributeIDs\": {\n      \"37\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.699999988079071\n      }, \n      \"54\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.75\n      }, \n      \"73\": {\n        \"max\": 1.100000023841858, \n        \"min\": 0.8999999761581421\n      }, \n      \"77\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.8500000238418579\n      }, \n      \"3153\": {\n        \"max\": 1.149999976158142, \n        \"min\": 0.800000011920929\n      }, \n      \"3154\": {\n        \"max\": 1.2999999523162842, \n        \"min\": 0.699999988079071\n      }\n    }, \n    \"inputOutputMapping\": [\n      {\n        \"applicableTypes\": [\n          43681\n        ], \n        \"resultingType\": 90622\n      }\n    ]\n  }\n}"
  },
  {
    "path": "staticdata/fsd_built/groups.0.json",
    "content": "{\n  \"0\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 0, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 0, \n    \"groupName_de\": \"#System\", \n    \"groupName_en-us\": \"#System\", \n    \"groupName_es\": \"#System\", \n    \"groupName_fr\": \"#Système\", \n    \"groupName_it\": \"#System\", \n    \"groupName_ja\": \"#システム\", \n    \"groupName_ko\": \"#항성계\", \n    \"groupName_ru\": \"#Система\", \n    \"groupName_zh\": \"#星系\", \n    \"groupNameID\": 63576, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 1, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1, \n    \"groupName_de\": \"Charakter\", \n    \"groupName_en-us\": \"Character\", \n    \"groupName_es\": \"Personaje\", \n    \"groupName_fr\": \"Personnage\", \n    \"groupName_it\": \"Character\", \n    \"groupName_ja\": \"キャラクター\", \n    \"groupName_ko\": \"캐릭터\", \n    \"groupName_ru\": \"Персонаж\", \n    \"groupName_zh\": \"人物角色\", \n    \"groupNameID\": 63577, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"2\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 1, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2, \n    \"groupName_de\": \"Corporation\", \n    \"groupName_en-us\": \"Corporation\", \n    \"groupName_es\": \"Corporación\", \n    \"groupName_fr\": \"Corporation\", \n    \"groupName_it\": \"Corporation\", \n    \"groupName_ja\": \"コーポレーション\", \n    \"groupName_ko\": \"코퍼레이션\", \n    \"groupName_ru\": \"Корпорация\", \n    \"groupName_zh\": \"军团\", \n    \"groupNameID\": 63578, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"3\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 3, \n    \"groupName_de\": \"Region\", \n    \"groupName_en-us\": \"Region\", \n    \"groupName_es\": \"Región\", \n    \"groupName_fr\": \"Région\", \n    \"groupName_it\": \"Region\", \n    \"groupName_ja\": \"リージョン\", \n    \"groupName_ko\": \"지역\", \n    \"groupName_ru\": \"Сектор\", \n    \"groupName_zh\": \"星域\", \n    \"groupNameID\": 63579, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4, \n    \"groupName_de\": \"Konstellation\", \n    \"groupName_en-us\": \"Constellation\", \n    \"groupName_es\": \"Constelación\", \n    \"groupName_fr\": \"Constellation\", \n    \"groupName_it\": \"Constellation\", \n    \"groupName_ja\": \"コンステレーション\", \n    \"groupName_ko\": \"성좌\", \n    \"groupName_ru\": \"Созвездие\", \n    \"groupName_zh\": \"星座\", \n    \"groupNameID\": 63580, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5, \n    \"groupName_de\": \"Sonnensystem\", \n    \"groupName_en-us\": \"Solar System\", \n    \"groupName_es\": \"Sistema solar\", \n    \"groupName_fr\": \"Système solaire\", \n    \"groupName_it\": \"Solar System\", \n    \"groupName_ja\": \"ソーラーシステム\", \n    \"groupName_ko\": \"항성계\", \n    \"groupName_ru\": \"Планетная система\", \n    \"groupName_zh\": \"星系\", \n    \"groupNameID\": 63581, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"6\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 6, \n    \"groupName_de\": \"Sonne\", \n    \"groupName_en-us\": \"Sun\", \n    \"groupName_es\": \"Dom.\", \n    \"groupName_fr\": \"Soleil\", \n    \"groupName_it\": \"Sun\", \n    \"groupName_ja\": \"恒星\", \n    \"groupName_ko\": \"항성\", \n    \"groupName_ru\": \"Звезда\", \n    \"groupName_zh\": \"恒星\", \n    \"groupNameID\": 63582, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"7\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 7, \n    \"groupName_de\": \"Planet\", \n    \"groupName_en-us\": \"Planet\", \n    \"groupName_es\": \"Planeta\", \n    \"groupName_fr\": \"Planète\", \n    \"groupName_it\": \"Planet\", \n    \"groupName_ja\": \"惑星\", \n    \"groupName_ko\": \"행성\", \n    \"groupName_ru\": \"Планета\", \n    \"groupName_zh\": \"行星\", \n    \"groupNameID\": 63583, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"8\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 8, \n    \"groupName_de\": \"Mond\", \n    \"groupName_en-us\": \"Moon\", \n    \"groupName_es\": \"Luna\", \n    \"groupName_fr\": \"Lune\", \n    \"groupName_it\": \"Moon\", \n    \"groupName_ja\": \"衛星\", \n    \"groupName_ko\": \"위성\", \n    \"groupName_ru\": \"Луна\", \n    \"groupName_zh\": \"卫星\", \n    \"groupNameID\": 63584, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"9\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 9, \n    \"groupName_de\": \"Asteroidengürtel\", \n    \"groupName_en-us\": \"Asteroid Belt\", \n    \"groupName_es\": \"Cinturón de asteroides\", \n    \"groupName_fr\": \"Ceinture d'astéroïdes\", \n    \"groupName_it\": \"Asteroid Belt\", \n    \"groupName_ja\": \"アステロイドベルト\", \n    \"groupName_ko\": \"소행성 벨트\", \n    \"groupName_ru\": \"Пояс астероидов\", \n    \"groupName_zh\": \"小行星带\", \n    \"groupNameID\": 63585, \n    \"iconID\": 15, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"10\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 10, \n    \"groupName_de\": \"Sprungtor\", \n    \"groupName_en-us\": \"Stargate\", \n    \"groupName_es\": \"Portal estelar\", \n    \"groupName_fr\": \"Portail stellaire\", \n    \"groupName_it\": \"Stargate\", \n    \"groupName_ja\": \"スターゲート\", \n    \"groupName_ko\": \"스타게이트\", \n    \"groupName_ru\": \"Гиперворота\", \n    \"groupName_zh\": \"星门\", \n    \"groupNameID\": 63586, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"11\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 11, \n    \"groupName_de\": \"ALTER Asteroid\", \n    \"groupName_en-us\": \"Asteroid OLD\", \n    \"groupName_es\": \"Asteroid OLD\", \n    \"groupName_fr\": \"Astéroïde ANCIEN\", \n    \"groupName_it\": \"Asteroid OLD\", \n    \"groupName_ja\": \"アステロイド旧式\", \n    \"groupName_ko\": \"소행성 OLD\", \n    \"groupName_ru\": \"Asteroid OLD\", \n    \"groupName_zh\": \"小行星OLD\", \n    \"groupNameID\": 63587, \n    \"iconID\": 15, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"12\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 12, \n    \"groupName_de\": \"Frachtcontainer\", \n    \"groupName_en-us\": \"Cargo Container\", \n    \"groupName_es\": \"Contenedor de carga\", \n    \"groupName_fr\": \"Conteneur de fret\", \n    \"groupName_it\": \"Cargo Container\", \n    \"groupName_ja\": \"カーゴコンテナ\", \n    \"groupName_ko\": \"화물 컨테이너\", \n    \"groupName_ru\": \"Грузовой контейнер\", \n    \"groupName_zh\": \"货柜\", \n    \"groupNameID\": 64289, \n    \"iconID\": 16, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"13\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 13, \n    \"groupName_de\": \"Ring\", \n    \"groupName_en-us\": \"Ring\", \n    \"groupName_es\": \"Anillo\", \n    \"groupName_fr\": \"Anneau\", \n    \"groupName_it\": \"Ring\", \n    \"groupName_ja\": \"リング\", \n    \"groupName_ko\": \"링\", \n    \"groupName_ru\": \"Кольцо\", \n    \"groupName_zh\": \"环状星体\", \n    \"groupNameID\": 63588, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"14\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 14, \n    \"groupName_de\": \"Biomasse\", \n    \"groupName_en-us\": \"Biomass\", \n    \"groupName_es\": \"Biomasa\", \n    \"groupName_fr\": \"Biomasse\", \n    \"groupName_it\": \"Biomass\", \n    \"groupName_ja\": \"バイオマス\", \n    \"groupName_ko\": \"바이오매스\", \n    \"groupName_ru\": \"Биомасса\", \n    \"groupName_zh\": \"生物质\", \n    \"groupNameID\": 63589, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"15\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 3, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 15, \n    \"groupName_de\": \"Station\", \n    \"groupName_en-us\": \"Station\", \n    \"groupName_es\": \"Estación\", \n    \"groupName_fr\": \"Station\", \n    \"groupName_it\": \"Station\", \n    \"groupName_ja\": \"ステーション\", \n    \"groupName_ko\": \"정거장\", \n    \"groupName_ru\": \"Станция\", \n    \"groupName_zh\": \"空间站\", \n    \"groupNameID\": 63590, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"16\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 3, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 16, \n    \"groupName_de\": \"Stationsdienste\", \n    \"groupName_en-us\": \"Station Services\", \n    \"groupName_es\": \"Servicios de la estación\", \n    \"groupName_fr\": \"Services de la station\", \n    \"groupName_it\": \"Station Services\", \n    \"groupName_ja\": \"ステーションサービス\", \n    \"groupName_ko\": \"정거장 서비스\", \n    \"groupName_ru\": \"Станционные службы\", \n    \"groupName_zh\": \"空间站设施\", \n    \"groupNameID\": 63591, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"17\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 17, \n    \"groupName_de\": \"Geld\", \n    \"groupName_en-us\": \"Money\", \n    \"groupName_es\": \"Dinero\", \n    \"groupName_fr\": \"Argent\", \n    \"groupName_it\": \"Money\", \n    \"groupName_ja\": \"通貨\", \n    \"groupName_ko\": \"화폐\", \n    \"groupName_ru\": \"Деньги\", \n    \"groupName_zh\": \"钱\", \n    \"groupNameID\": 63592, \n    \"iconID\": 21, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"18\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 18, \n    \"groupName_de\": \"Mineralien\", \n    \"groupName_en-us\": \"Mineral\", \n    \"groupName_es\": \"Mineral\", \n    \"groupName_fr\": \"Minéral\", \n    \"groupName_it\": \"Mineral\", \n    \"groupName_ja\": \"無機物\", \n    \"groupName_ko\": \"광물\", \n    \"groupName_ru\": \"Минералы\", \n    \"groupName_zh\": \"矿物\", \n    \"groupNameID\": 63593, \n    \"iconID\": 22, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"19\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 1, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 19, \n    \"groupName_de\": \"Fraktion\", \n    \"groupName_en-us\": \"Faction\", \n    \"groupName_es\": \"Facción\", \n    \"groupName_fr\": \"Faction\", \n    \"groupName_it\": \"Faction\", \n    \"groupName_ja\": \"勢力\", \n    \"groupName_ko\": \"팩션\", \n    \"groupName_ru\": \"Государство/организация\", \n    \"groupName_zh\": \"势力\", \n    \"groupNameID\": 63594, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"20\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 20, \n    \"groupName_de\": \"Droge\", \n    \"groupName_en-us\": \"Drug\", \n    \"groupName_es\": \"Sustancia\", \n    \"groupName_fr\": \"Drogue\", \n    \"groupName_it\": \"Drug\", \n    \"groupName_ja\": \"薬物\", \n    \"groupName_ko\": \"약물\", \n    \"groupName_ru\": \"Наркотик\", \n    \"groupName_zh\": \"药品\", \n    \"groupNameID\": 63595, \n    \"iconID\": 31, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"23\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 5, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 23, \n    \"groupName_de\": \"Klon\", \n    \"groupName_en-us\": \"Clone\", \n    \"groupName_es\": \"Clon\", \n    \"groupName_fr\": \"Clone\", \n    \"groupName_it\": \"Clone\", \n    \"groupName_ja\": \"クローン\", \n    \"groupName_ko\": \"클론\", \n    \"groupName_ru\": \"Клон\", \n    \"groupName_zh\": \"克隆\", \n    \"groupNameID\": 64284, \n    \"iconID\": 34, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"24\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 5, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 24, \n    \"groupName_de\": \"Beleg\", \n    \"groupName_en-us\": \"Voucher\", \n    \"groupName_es\": \"Cupón\", \n    \"groupName_fr\": \"Coupon\", \n    \"groupName_it\": \"Voucher\", \n    \"groupName_ja\": \"バウチャー\", \n    \"groupName_ko\": \"추천서\", \n    \"groupName_ru\": \"Ваучер\", \n    \"groupName_zh\": \"授权卷\", \n    \"groupNameID\": 63596, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"25\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 25, \n    \"groupName_de\": \"Fregatte\", \n    \"groupName_en-us\": \"Frigate\", \n    \"groupName_es\": \"Fragata\", \n    \"groupName_fr\": \"Frégate\", \n    \"groupName_it\": \"Frigate\", \n    \"groupName_ja\": \"フリゲート\", \n    \"groupName_ko\": \"프리깃\", \n    \"groupName_ru\": \"Фрегат\", \n    \"groupName_zh\": \"护卫舰\", \n    \"groupNameID\": 63597, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"26\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 26, \n    \"groupName_de\": \"Kreuzer\", \n    \"groupName_en-us\": \"Cruiser\", \n    \"groupName_es\": \"Crucero\", \n    \"groupName_fr\": \"Croiseur\", \n    \"groupName_it\": \"Cruiser\", \n    \"groupName_ja\": \"巡洋艦\", \n    \"groupName_ko\": \"크루저\", \n    \"groupName_ru\": \"Крейсер\", \n    \"groupName_zh\": \"巡洋舰\", \n    \"groupNameID\": 63598, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"27\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 27, \n    \"groupName_de\": \"Schlachtschiff\", \n    \"groupName_en-us\": \"Battleship\", \n    \"groupName_es\": \"Acorazado\", \n    \"groupName_fr\": \"Cuirassé\", \n    \"groupName_it\": \"Battleship\", \n    \"groupName_ja\": \"戦艦\", \n    \"groupName_ko\": \"배틀쉽\", \n    \"groupName_ru\": \"Линкор\", \n    \"groupName_zh\": \"战列舰\", \n    \"groupNameID\": 63599, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"28\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 28, \n    \"groupName_de\": \"Transporter\", \n    \"groupName_en-us\": \"Hauler\", \n    \"groupName_es\": \"Nave de mercancías\", \n    \"groupName_fr\": \"Cargo\", \n    \"groupName_it\": \"Hauler\", \n    \"groupName_ja\": \"ハウラー\", \n    \"groupName_ko\": \"운반선\", \n    \"groupName_ru\": \"Перевозчик\", \n    \"groupName_zh\": \"运载舰\", \n    \"groupNameID\": 63600, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"29\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 29, \n    \"groupName_de\": \"Kapsel\", \n    \"groupName_en-us\": \"Capsule\", \n    \"groupName_es\": \"Cápsula\", \n    \"groupName_fr\": \"Capsule\", \n    \"groupName_it\": \"Capsule\", \n    \"groupName_ja\": \"カプセル\", \n    \"groupName_ko\": \"캡슐\", \n    \"groupName_ru\": \"Капсула\", \n    \"groupName_zh\": \"太空舱\", \n    \"groupNameID\": 63601, \n    \"iconID\": 73, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"30\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 30, \n    \"groupName_de\": \"Titan\", \n    \"groupName_en-us\": \"Titan\", \n    \"groupName_es\": \"Titán\", \n    \"groupName_fr\": \"Titan\", \n    \"groupName_it\": \"Titan\", \n    \"groupName_ja\": \"タイタン\", \n    \"groupName_ko\": \"타이탄\", \n    \"groupName_ru\": \"Титан\", \n    \"groupName_zh\": \"泰坦\", \n    \"groupNameID\": 63602, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"31\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 31, \n    \"groupName_de\": \"Shuttle\", \n    \"groupName_en-us\": \"Shuttle\", \n    \"groupName_es\": \"Lanzadera\", \n    \"groupName_fr\": \"Navette\", \n    \"groupName_it\": \"Shuttle\", \n    \"groupName_ja\": \"シャトル\", \n    \"groupName_ko\": \"셔틀\", \n    \"groupName_ru\": \"Личный катер\", \n    \"groupName_zh\": \"穿梭机\", \n    \"groupNameID\": 63603, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"32\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 1, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 32, \n    \"groupName_de\": \"Allianz\", \n    \"groupName_en-us\": \"Alliance\", \n    \"groupName_es\": \"Alianza\", \n    \"groupName_fr\": \"Alliance\", \n    \"groupName_it\": \"Alliance\", \n    \"groupName_ja\": \"アライアンス\", \n    \"groupName_ko\": \"얼라이언스\", \n    \"groupName_ru\": \"Альянс\", \n    \"groupName_zh\": \"联盟\", \n    \"groupNameID\": 63604, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"38\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 38, \n    \"groupName_de\": \"Schilderweiterung\", \n    \"groupName_en-us\": \"Shield Extender\", \n    \"groupName_es\": \"Extensor de escudo\", \n    \"groupName_fr\": \"Extenseur de bouclier\", \n    \"groupName_it\": \"Shield Extender\", \n    \"groupName_ja\": \"シールドエクステンダー\", \n    \"groupName_ko\": \"실드 확장장치\", \n    \"groupName_ru\": \"Расширитель щита\", \n    \"groupName_zh\": \"护盾扩展装置\", \n    \"groupNameID\": 63605, \n    \"iconID\": 82, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"39\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 39, \n    \"groupName_de\": \"Schildauflader\", \n    \"groupName_en-us\": \"Shield Recharger\", \n    \"groupName_es\": \"Cargador de escudo\", \n    \"groupName_fr\": \"Rechargeur de bouclier\", \n    \"groupName_it\": \"Shield Recharger\", \n    \"groupName_ja\": \"シールドリチャージャー\", \n    \"groupName_ko\": \"실드 회복장치\", \n    \"groupName_ru\": \"Система подзарядки щита\", \n    \"groupName_zh\": \"护盾回充设备\", \n    \"groupNameID\": 63606, \n    \"iconID\": 26451, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"40\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 40, \n    \"groupName_de\": \"Schild-Booster\", \n    \"groupName_en-us\": \"Shield Booster\", \n    \"groupName_es\": \"Potenciador de escudo\", \n    \"groupName_fr\": \"Booster de bouclier\", \n    \"groupName_it\": \"Shield Booster\", \n    \"groupName_ja\": \"シールドブースター\", \n    \"groupName_ko\": \"실드 부스터\", \n    \"groupName_ru\": \"Установка накачки силового поля\", \n    \"groupName_zh\": \"护盾回充增量器\", \n    \"groupNameID\": 63607, \n    \"iconID\": 84, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"41\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 41, \n    \"groupName_de\": \"Remote Shield Booster\", \n    \"groupName_en-us\": \"Remote Shield Booster\", \n    \"groupName_es\": \"Potenciador de escudo remoto\", \n    \"groupName_fr\": \"Booster de bouclier à distance\", \n    \"groupName_it\": \"Remote Shield Booster\", \n    \"groupName_ja\": \"リモートシールドブースター\", \n    \"groupName_ko\": \"원격 실드 부스터\", \n    \"groupName_ru\": \"Установка дистанционной накачки силовых полей\", \n    \"groupName_zh\": \"远程护盾回充增量器\", \n    \"groupNameID\": 63608, \n    \"iconID\": 86, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"43\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 43, \n    \"groupName_de\": \"Energiespeicher-Auflader\", \n    \"groupName_en-us\": \"Capacitor Recharger\", \n    \"groupName_es\": \"Cargadores del condensador\", \n    \"groupName_fr\": \"Rechargeur de capaciteur\", \n    \"groupName_it\": \"Capacitor Recharger\", \n    \"groupName_ja\": \"キャパシタリチャージャー\", \n    \"groupName_ko\": \"캐패시터 충전기\", \n    \"groupName_ru\": \"Система подзарядки конденсатора\", \n    \"groupName_zh\": \"电容器回充设备\", \n    \"groupNameID\": 63609, \n    \"iconID\": 26457, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"46\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 46, \n    \"groupName_de\": \"Schiffsantrieb-Module\", \n    \"groupName_en-us\": \"Propulsion Module\", \n    \"groupName_es\": \"Módulo de propulsión\", \n    \"groupName_fr\": \"Module de propulsion\", \n    \"groupName_it\": \"Propulsion Module\", \n    \"groupName_ja\": \"推進力モジュール\", \n    \"groupName_ko\": \"추진 모듈\", \n    \"groupName_ru\": \"Движительные модули\", \n    \"groupName_zh\": \"推进装备\", \n    \"groupNameID\": 63610, \n    \"iconID\": 96, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"47\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 47, \n    \"groupName_de\": \"Frachtscanner\", \n    \"groupName_en-us\": \"Cargo Scanner\", \n    \"groupName_es\": \"Escáner de carga\", \n    \"groupName_fr\": \"Scanner de soute\", \n    \"groupName_it\": \"Cargo Scanner\", \n    \"groupName_ja\": \"カーゴスキャナー\", \n    \"groupName_ko\": \"화물 스캐너\", \n    \"groupName_ru\": \"Комплекс для досмотра грузов\", \n    \"groupName_zh\": \"货柜舱扫描设备\", \n    \"groupNameID\": 63611, \n    \"iconID\": 106, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"48\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 48, \n    \"groupName_de\": \"Schiffsscanner\", \n    \"groupName_en-us\": \"Ship Scanner\", \n    \"groupName_es\": \"Escáner de nave\", \n    \"groupName_fr\": \"Scanner du vaisseau\", \n    \"groupName_it\": \"Ship Scanner\", \n    \"groupName_ja\": \"シップスキャナー\", \n    \"groupName_ko\": \"함선 스캐너\", \n    \"groupName_ru\": \"Сканер кораблей\", \n    \"groupName_zh\": \"船只扫描设备\", \n    \"groupNameID\": 63612, \n    \"iconID\": 107, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"49\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 49, \n    \"groupName_de\": \"Bergbauvermessungs-Chipsatz\", \n    \"groupName_en-us\": \"Mining Survey Chipset\", \n    \"groupName_es\": \"Chipset de prospección de minería\", \n    \"groupName_fr\": \"Puce d'arpentage d'extraction minière\", \n    \"groupName_it\": \"Mining Survey Chipset\", \n    \"groupName_ja\": \"採掘調査用チップセット\", \n    \"groupName_ko\": \"채굴 조사 칩셋\", \n    \"groupName_ru\": \"Считывающий буровой чип\", \n    \"groupName_zh\": \"采矿调查芯片组\", \n    \"groupNameID\": 63613, \n    \"iconID\": 107, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"52\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 52, \n    \"groupName_de\": \"Warp-Störer\", \n    \"groupName_en-us\": \"Warp Scrambler\", \n    \"groupName_es\": \"distorsionador de warp\", \n    \"groupName_fr\": \"Inhibiteur de warp\", \n    \"groupName_it\": \"Warp Scrambler\", \n    \"groupName_ja\": \"ワープスクランブラー\", \n    \"groupName_ko\": \"워프 스크램블러\", \n    \"groupName_ru\": \"Варп-глушитель\", \n    \"groupName_zh\": \"跃迁扰乱设备\", \n    \"groupNameID\": 63614, \n    \"iconID\": 111, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"53\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 53, \n    \"groupName_de\": \"Energiewaffe\", \n    \"groupName_en-us\": \"Energy Weapon\", \n    \"groupName_es\": \"Arma de energía\", \n    \"groupName_fr\": \"Arme à énergie\", \n    \"groupName_it\": \"Energy Weapon\", \n    \"groupName_ja\": \"エネルギー兵器\", \n    \"groupName_ko\": \"에너지 무기\", \n    \"groupName_ru\": \"Лазерное орудие\", \n    \"groupName_zh\": \"能量武器\", \n    \"groupNameID\": 63615, \n    \"iconID\": 355, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"54\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 54, \n    \"groupName_de\": \"Bergbaulaser\", \n    \"groupName_en-us\": \"Mining Laser\", \n    \"groupName_es\": \"Láser minero\", \n    \"groupName_fr\": \"Laser d'extraction\", \n    \"groupName_it\": \"Mining Laser\", \n    \"groupName_ja\": \"採掘レーザー\", \n    \"groupName_ko\": \"채굴 레이저\", \n    \"groupName_ru\": \"Буровой лазер\", \n    \"groupName_zh\": \"采矿激光器\", \n    \"groupNameID\": 63616, \n    \"iconID\": 138, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"55\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 55, \n    \"groupName_de\": \"Projektilwaffe\", \n    \"groupName_en-us\": \"Projectile Weapon\", \n    \"groupName_es\": \"Arma de proyectiles\", \n    \"groupName_fr\": \"Arme à projectiles\", \n    \"groupName_it\": \"Projectile Weapon\", \n    \"groupName_ja\": \"プロジェクタイル兵器\", \n    \"groupName_ko\": \"발사체 무기\", \n    \"groupName_ru\": \"Баллистическое орудие\", \n    \"groupName_zh\": \"射弹武器\", \n    \"groupNameID\": 63617, \n    \"iconID\": 384, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"56\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 56, \n    \"groupName_de\": \"Raketenwerfer\", \n    \"groupName_en-us\": \"Missile Launcher\", \n    \"groupName_es\": \"Lanzamisiles\", \n    \"groupName_fr\": \"Lance-missiles\", \n    \"groupName_it\": \"Missile Launcher\", \n    \"groupName_ja\": \"ミサイルランチャー\", \n    \"groupName_ko\": \"미사일 런처\", \n    \"groupName_ru\": \"Ракетная установка\", \n    \"groupName_zh\": \"导弹发射器\", \n    \"groupNameID\": 63618, \n    \"iconID\": 168, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"57\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 57, \n    \"groupName_de\": \"Schildenergie-Relais\", \n    \"groupName_en-us\": \"Shield Power Relay\", \n    \"groupName_es\": \"Relé de potencia de escudo\", \n    \"groupName_fr\": \"Relais d’alimentation de bouclier\", \n    \"groupName_it\": \"Shield Power Relay\", \n    \"groupName_ja\": \"シールドパワーリレー\", \n    \"groupName_ko\": \"실드 릴레이\", \n    \"groupName_ru\": \"Модуль передачи мощности на щит\", \n    \"groupName_zh\": \"护盾能源继电器\", \n    \"groupNameID\": 63619, \n    \"iconID\": 26450, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"59\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 59, \n    \"groupName_de\": \"Kreiselregler\", \n    \"groupName_en-us\": \"Gyrostabilizer\", \n    \"groupName_es\": \"Giroestabilizador\", \n    \"groupName_fr\": \"Gyrostabilisateur\", \n    \"groupName_it\": \"Gyrostabilizer\", \n    \"groupName_ja\": \"回転制御機\", \n    \"groupName_ko\": \"자이로 안정기\", \n    \"groupName_ru\": \"Гиростабилизатор\", \n    \"groupName_zh\": \"回转稳定设备\", \n    \"groupNameID\": 63620, \n    \"iconID\": 26452, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"60\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 60, \n    \"groupName_de\": \"Schadenskontrolle\", \n    \"groupName_en-us\": \"Damage Control\", \n    \"groupName_es\": \"Control de daños\", \n    \"groupName_fr\": \"Contrôle des dégâts\", \n    \"groupName_it\": \"Damage Control\", \n    \"groupName_ja\": \"ダメージ制御\", \n    \"groupName_ko\": \"피해 수복\", \n    \"groupName_ru\": \"Модуль боевой живучести\", \n    \"groupName_zh\": \"损伤控制\", \n    \"groupNameID\": 63621, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"61\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 61, \n    \"groupName_de\": \"Energiespeicher-Batterie\", \n    \"groupName_en-us\": \"Capacitor Battery\", \n    \"groupName_es\": \"Batería de condensador\", \n    \"groupName_fr\": \"Batterie de capaciteur\", \n    \"groupName_it\": \"Capacitor Battery\", \n    \"groupName_ja\": \"キャパシタバッテリー\", \n    \"groupName_ko\": \"캐패시터 배터리\", \n    \"groupName_ru\": \"Батарея конденсатора\", \n    \"groupName_zh\": \"电容器电池\", \n    \"groupNameID\": 63622, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"62\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 62, \n    \"groupName_de\": \"Panzerungsreparatureinheit\", \n    \"groupName_en-us\": \"Armor Repair Unit\", \n    \"groupName_es\": \"Unidad de reparación de blindaje\", \n    \"groupName_fr\": \"Unité de réparation d'armure\", \n    \"groupName_it\": \"Armor Repair Unit\", \n    \"groupName_ja\": \"アーマーリペアユニット\", \n    \"groupName_ko\": \"장갑수리 장치\", \n    \"groupName_ru\": \"Установка ремонта брони\", \n    \"groupName_zh\": \"装甲维修组件\", \n    \"groupNameID\": 63623, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"63\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 63, \n    \"groupName_de\": \"Hüllenreparatureinheit\", \n    \"groupName_en-us\": \"Hull Repair Unit\", \n    \"groupName_es\": \"Unidad de reparación de casco\", \n    \"groupName_fr\": \"Unité de réparation de coque\", \n    \"groupName_it\": \"Hull Repair Unit\", \n    \"groupName_ja\": \"船体リペアユニット\", \n    \"groupName_ko\": \"선체수리 장치\", \n    \"groupName_ru\": \"Система ремонта корпуса\", \n    \"groupName_zh\": \"船体维修组件\", \n    \"groupNameID\": 63624, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"65\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 65, \n    \"groupName_de\": \"Stasis Web\", \n    \"groupName_en-us\": \"Stasis Web\", \n    \"groupName_es\": \"Red ralentizadora\", \n    \"groupName_fr\": \"Stase\", \n    \"groupName_it\": \"Stasis Web\", \n    \"groupName_ja\": \"ステイシスウェブ\", \n    \"groupName_ko\": \"스테이시스 웹 생성기\", \n    \"groupName_ru\": \"Генератор стазис-поля\", \n    \"groupName_zh\": \"能量滞停光束网\", \n    \"groupNameID\": 63625, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"67\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 67, \n    \"groupName_de\": \"Remote Capacitor Transmitter\", \n    \"groupName_en-us\": \"Remote Capacitor Transmitter\", \n    \"groupName_es\": \"Transmisor de condensador remoto\", \n    \"groupName_fr\": \"Transmetteur de capaciteur à distance\", \n    \"groupName_it\": \"Remote Capacitor Transmitter\", \n    \"groupName_ja\": \"リモートキャパシタトランスミッター\", \n    \"groupName_ko\": \"원격 캐패시터 전송기\", \n    \"groupName_ru\": \"Установка дистанционного энергоснабжения\", \n    \"groupName_zh\": \"远程电容传输装置\", \n    \"groupNameID\": 63626, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"68\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 68, \n    \"groupName_de\": \"Energie-Nosferatu\", \n    \"groupName_en-us\": \"Energy Nosferatu\", \n    \"groupName_es\": \"Nosferatu de energía\", \n    \"groupName_fr\": \"Nosferatu à énergie\", \n    \"groupName_it\": \"Energy Nosferatu\", \n    \"groupName_ja\": \"エネルギーノスフェラトゥ\", \n    \"groupName_ko\": \"에너지 노스페라투\", \n    \"groupName_ru\": \"Устройства паразитной подзарядки\", \n    \"groupName_zh\": \"掠能器\", \n    \"groupNameID\": 63627, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"71\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 71, \n    \"groupName_de\": \"Energieneutralisierer\", \n    \"groupName_en-us\": \"Energy Neutralizer\", \n    \"groupName_es\": \"Neutralizador energético\", \n    \"groupName_fr\": \"Neutraliseur d'énergie\", \n    \"groupName_it\": \"Energy Neutralizer\", \n    \"groupName_ja\": \"エネルギーニュートライザー\", \n    \"groupName_ko\": \"에너지 뉴트럴라이저\", \n    \"groupName_ru\": \"Дистанционные нейтрализаторы заряда\", \n    \"groupName_zh\": \"能量中和器\", \n    \"groupNameID\": 63628, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"72\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 72, \n    \"groupName_de\": \"Smart Bomb\", \n    \"groupName_en-us\": \"Smart Bomb\", \n    \"groupName_es\": \"Bomba inteligente\", \n    \"groupName_fr\": \"Bombe de proximité\", \n    \"groupName_it\": \"Smart Bomb\", \n    \"groupName_ja\": \"スマートボム\", \n    \"groupName_ko\": \"스마트폭탄\", \n    \"groupName_ru\": \"Импульсный излучатель\", \n    \"groupName_zh\": \"立体炸弹\", \n    \"groupNameID\": 63629, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"74\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 74, \n    \"groupName_de\": \"Hybridwaffe\", \n    \"groupName_en-us\": \"Hybrid Weapon\", \n    \"groupName_es\": \"Arma híbrida\", \n    \"groupName_fr\": \"Arme hybride\", \n    \"groupName_it\": \"Hybrid Weapon\", \n    \"groupName_ja\": \"ハイブリッド兵器\", \n    \"groupName_ko\": \"하이브리드 무기\", \n    \"groupName_ru\": \"Гибридное орудие\", \n    \"groupName_zh\": \"混合武器\", \n    \"groupNameID\": 63630, \n    \"iconID\": 370, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"76\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 76, \n    \"groupName_de\": \"Energiespeicher-Booster\", \n    \"groupName_en-us\": \"Capacitor Booster\", \n    \"groupName_es\": \"Potenciador de condensador\", \n    \"groupName_fr\": \"Booster de capaciteur\", \n    \"groupName_it\": \"Capacitor Booster\", \n    \"groupName_ja\": \"キャパシタブースター\", \n    \"groupName_ko\": \"캐패시터 부스터\", \n    \"groupName_ru\": \"Система подкачки конденсатора\", \n    \"groupName_zh\": \"电容注电器\", \n    \"groupNameID\": 63631, \n    \"iconID\": 1031, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"77\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 77, \n    \"groupName_de\": \"Schildhärter\", \n    \"groupName_en-us\": \"Shield Hardener\", \n    \"groupName_es\": \"Endurecedor de escudo\", \n    \"groupName_fr\": \"Renforcement de bouclier\", \n    \"groupName_it\": \"Shield Hardener\", \n    \"groupName_ja\": \"シールドハードナー\", \n    \"groupName_ko\": \"실드 강화장치\", \n    \"groupName_ru\": \"Система настройки щита\", \n    \"groupName_zh\": \"护盾强化设备\", \n    \"groupNameID\": 63632, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"78\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 78, \n    \"groupName_de\": \"Verstärkte Schotten\", \n    \"groupName_en-us\": \"Reinforced Bulkhead\", \n    \"groupName_es\": \"Mamparo reforzado\", \n    \"groupName_fr\": \"Cloison renforcée\", \n    \"groupName_it\": \"Reinforced Bulkhead\", \n    \"groupName_ja\": \"強化隔壁\", \n    \"groupName_ko\": \"강화 선체 격벽\", \n    \"groupName_ru\": \"Усиленная переборка\", \n    \"groupName_zh\": \"加强型舱隔壁\", \n    \"groupNameID\": 63633, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"80\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 80, \n    \"groupName_de\": \"Burst-Störsender\", \n    \"groupName_en-us\": \"Burst Jammer\", \n    \"groupName_es\": \"Perturbador de ráfaga\", \n    \"groupName_fr\": \"Brouilleur Burst\", \n    \"groupName_it\": \"Burst Jammer\", \n    \"groupName_ja\": \"バーストジャマー\", \n    \"groupName_ko\": \"버스트 재머\", \n    \"groupName_ru\": \"Генератор импульсных помех\", \n    \"groupName_zh\": \"脉冲干扰器\", \n    \"groupNameID\": 63634, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"82\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 82, \n    \"groupName_de\": \"Passives Aufschaltungssystem\", \n    \"groupName_en-us\": \"Passive Targeting System\", \n    \"groupName_es\": \"Sistema de adquisición pasiva de objetivos\", \n    \"groupName_fr\": \"Système de ciblage passif\", \n    \"groupName_it\": \"Passive Targeting System\", \n    \"groupName_ja\": \"パッシブターゲットシステム\", \n    \"groupName_ko\": \"패시브 타겟팅 시스템\", \n    \"groupName_ru\": \"Пассивная система целеуказания\", \n    \"groupName_zh\": \"被动锁定系统\", \n    \"groupNameID\": 63635, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"83\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 83, \n    \"groupName_de\": \"Projektilmunition\", \n    \"groupName_en-us\": \"Projectile Ammo\", \n    \"groupName_es\": \"Munición de proyectiles\", \n    \"groupName_fr\": \"Munition de projectile\", \n    \"groupName_it\": \"Projectile Ammo\", \n    \"groupName_ja\": \"プロジェクタイル弾\", \n    \"groupName_ko\": \"발사체 탄약\", \n    \"groupName_ru\": \"Снаряды\", \n    \"groupName_zh\": \"射弹弹药\", \n    \"groupNameID\": 64402, \n    \"iconID\": 1296, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"85\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 85, \n    \"groupName_de\": \"Hybrid-Ladung\", \n    \"groupName_en-us\": \"Hybrid Charge\", \n    \"groupName_es\": \"Carga híbrida\", \n    \"groupName_fr\": \"Charge hybride\", \n    \"groupName_it\": \"Hybrid Charge\", \n    \"groupName_ja\": \"ハイブリッド弾\", \n    \"groupName_ko\": \"하이브리드 탄약\", \n    \"groupName_ru\": \"Гибридные заряды\", \n    \"groupName_zh\": \"混合弹药\", \n    \"groupNameID\": 63637, \n    \"iconID\": 1325, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"86\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 86, \n    \"groupName_de\": \"Frequenzkristall\", \n    \"groupName_en-us\": \"Frequency Crystal\", \n    \"groupName_es\": \"Cristal de frecuencia\", \n    \"groupName_fr\": \"Cristal à fréquence\", \n    \"groupName_it\": \"Frequency Crystal\", \n    \"groupName_ja\": \"フリーケンシークリスタル\", \n    \"groupName_ko\": \"프리퀀시 크리스탈\", \n    \"groupName_ru\": \"Частотный кристалл\", \n    \"groupName_zh\": \"频率晶体\", \n    \"groupNameID\": 63638, \n    \"iconID\": 1142, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"87\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 87, \n    \"groupName_de\": \"Energiespeicher-Boosterladung\", \n    \"groupName_en-us\": \"Capacitor Booster Charge\", \n    \"groupName_es\": \"Carga de potenciador de condensador\", \n    \"groupName_fr\": \"Charge de booster de capaciteur\", \n    \"groupName_it\": \"Capacitor Booster Charge\", \n    \"groupName_ja\": \"キャパシタブースターチャージ\", \n    \"groupName_ko\": \"캐패시터 부스터 차지\", \n    \"groupName_ru\": \"Заряд системы пополнения накопителя\", \n    \"groupName_zh\": \"电容注电器装料\", \n    \"groupNameID\": 63639, \n    \"iconID\": 1033, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"88\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 88, \n    \"groupName_de\": \"Abfangraketen\", \n    \"groupName_en-us\": \"Defender Missiles\", \n    \"groupName_es\": \"Misiles de defensa\", \n    \"groupName_fr\": \"Missiles antibalistiques\", \n    \"groupName_it\": \"Defender Missiles\", \n    \"groupName_ja\": \"防衛ミサイル\", \n    \"groupName_ko\": \"디펜더 미사일\", \n    \"groupName_ru\": \"Противоракеты\", \n    \"groupName_zh\": \"反弹道导弹基础学\", \n    \"groupNameID\": 63640, \n    \"iconID\": 192, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"89\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 89, \n    \"groupName_de\": \"Torpedo\", \n    \"groupName_en-us\": \"Torpedo\", \n    \"groupName_es\": \"Torpedo\", \n    \"groupName_fr\": \"Torpille\", \n    \"groupName_it\": \"Torpedo\", \n    \"groupName_ja\": \"トルピード\", \n    \"groupName_ko\": \"토피도\", \n    \"groupName_ru\": \"Торпеда\", \n    \"groupName_zh\": \"鱼雷\", \n    \"groupNameID\": 63641, \n    \"iconID\": 1349, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"90\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 90, \n    \"groupName_de\": \"Bombe\", \n    \"groupName_en-us\": \"Bomb\", \n    \"groupName_es\": \"Bomba\", \n    \"groupName_fr\": \"Bombe\", \n    \"groupName_it\": \"Bomb\", \n    \"groupName_ja\": \"ボム\", \n    \"groupName_ko\": \"폭탄\", \n    \"groupName_ru\": \"Бомба\", \n    \"groupName_zh\": \"炸弹\", \n    \"groupNameID\": 63642, \n    \"iconID\": 3278, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"92\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 92, \n    \"groupName_de\": \"Mine\", \n    \"groupName_en-us\": \"Mine\", \n    \"groupName_es\": \"Minería\", \n    \"groupName_fr\": \"Mine\", \n    \"groupName_it\": \"Mine\", \n    \"groupName_ja\": \"機雷\", \n    \"groupName_ko\": \"채굴\", \n    \"groupName_ru\": \"Мина\", \n    \"groupName_zh\": \"悬浮雷\", \n    \"groupNameID\": 63643, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"94\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 10, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 94, \n    \"groupName_de\": \"Handeln\", \n    \"groupName_en-us\": \"Trading\", \n    \"groupName_es\": \"Comercio\", \n    \"groupName_fr\": \"Commerce\", \n    \"groupName_it\": \"Trading\", \n    \"groupName_ja\": \"トレード\", \n    \"groupName_ko\": \"거래\", \n    \"groupName_ru\": \"Торговля\", \n    \"groupName_zh\": \"贸易\", \n    \"groupNameID\": 63644, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"95\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 10, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 95, \n    \"groupName_de\": \"Handlungssitzung\", \n    \"groupName_en-us\": \"Trade Session\", \n    \"groupName_es\": \"Sesión comercial\", \n    \"groupName_fr\": \"Session de commerce\", \n    \"groupName_it\": \"Trade Session\", \n    \"groupName_ja\": \"トレードセッション\", \n    \"groupName_ko\": \"거래 세션\", \n    \"groupName_ru\": \"Сеанс торговли\", \n    \"groupName_zh\": \"贸易市场\", \n    \"groupNameID\": 63645, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"96\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 96, \n    \"groupName_de\": \"Automatisiertes Aufschaltungssystem\", \n    \"groupName_en-us\": \"Automated Targeting System\", \n    \"groupName_es\": \"Sistema de adquisición automatizada de objetivos\", \n    \"groupName_fr\": \"Système de ciblage automatisé\", \n    \"groupName_it\": \"Automated Targeting System\", \n    \"groupName_ja\": \"全自動ターゲットシステム\", \n    \"groupName_ko\": \"오토 타겟팅 시스템\", \n    \"groupName_ru\": \"Автоматическая система целеуказания\", \n    \"groupName_zh\": \"自动锁定系统\", \n    \"groupNameID\": 63646, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"97\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 97, \n    \"groupName_de\": \"Nähe-Drohne\", \n    \"groupName_en-us\": \"Proximity Drone\", \n    \"groupName_es\": \"Dron de proximidad\", \n    \"groupName_fr\": \"Drone de proximité\", \n    \"groupName_it\": \"Proximity Drone\", \n    \"groupName_ja\": \"プロキシミティードローン\", \n    \"groupName_ko\": \"근접 드론\", \n    \"groupName_ru\": \"Дрон Proximity\", \n    \"groupName_zh\": \"近距离采矿无人机\", \n    \"groupNameID\": 63647, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"98\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 98, \n    \"groupName_de\": \"Panzerungsbeschichtung\", \n    \"groupName_en-us\": \"Armor Coating\", \n    \"groupName_es\": \"Recubrimiento de blindaje\", \n    \"groupName_fr\": \"Surcouche de blindage\", \n    \"groupName_it\": \"Armor Coating\", \n    \"groupName_ja\": \"アーマーコーティング\", \n    \"groupName_ko\": \"장갑 코팅\", \n    \"groupName_ru\": \"Защитное покрытие брони\", \n    \"groupName_zh\": \"装甲附甲\", \n    \"groupNameID\": 63648, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"99\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 99, \n    \"groupName_de\": \"Sentry-Gun\", \n    \"groupName_en-us\": \"Sentry Gun\", \n    \"groupName_es\": \"Torreta centinela\", \n    \"groupName_fr\": \"Canon de sentinelle\", \n    \"groupName_it\": \"Sentry Gun\", \n    \"groupName_ja\": \"セントリーガン\", \n    \"groupName_ko\": \"센트리 포탑\", \n    \"groupName_ru\": \"Автоматическое орудие\", \n    \"groupName_zh\": \"岗哨炮\", \n    \"groupNameID\": 63649, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"100\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 100, \n    \"groupName_de\": \"Kampfdrohne\", \n    \"groupName_en-us\": \"Combat Drone\", \n    \"groupName_es\": \"Dron de combate\", \n    \"groupName_fr\": \"Drone de combat\", \n    \"groupName_it\": \"Combat Drone\", \n    \"groupName_ja\": \"戦闘用ドローン\", \n    \"groupName_ko\": \"전투 드론\", \n    \"groupName_ru\": \"Боевой дрон\", \n    \"groupName_zh\": \"战斗无人机\", \n    \"groupNameID\": 63650, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"101\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 101, \n    \"groupName_de\": \"Bergbaudrohne\", \n    \"groupName_en-us\": \"Mining Drone\", \n    \"groupName_es\": \"Dron minero\", \n    \"groupName_fr\": \"Drone d'extraction\", \n    \"groupName_it\": \"Mining Drone\", \n    \"groupName_ja\": \"採掘専門ドローン\", \n    \"groupName_ko\": \"채굴 드론\", \n    \"groupName_ru\": \"Буровой дрон\", \n    \"groupName_zh\": \"采矿无人机\", \n    \"groupNameID\": 63651, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"104\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 104, \n    \"groupName_de\": \"Klon-Blueprint\", \n    \"groupName_en-us\": \"Clone Blueprint\", \n    \"groupName_es\": \"Plano de clon\", \n    \"groupName_fr\": \"Plan de construction Clone\", \n    \"groupName_it\": \"Clone Blueprint\", \n    \"groupName_ja\": \"クローンブループリント\", \n    \"groupName_ko\": \"클론 블루프린트\", \n    \"groupName_ru\": \"Чертеж клона\", \n    \"groupName_zh\": \"克隆蓝图\", \n    \"groupNameID\": 63652, \n    \"iconID\": 34, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"105\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 105, \n    \"groupName_de\": \"Fregatten-Blueprint\", \n    \"groupName_en-us\": \"Frigate Blueprint\", \n    \"groupName_es\": \"Plano de fragata\", \n    \"groupName_fr\": \"Plan de construction Frégate\", \n    \"groupName_it\": \"Frigate Blueprint\", \n    \"groupName_ja\": \"フリゲートブループリント\", \n    \"groupName_ko\": \"프리깃 블루프린트\", \n    \"groupName_ru\": \"Чертежи фрегата\", \n    \"groupName_zh\": \"护卫舰蓝图\", \n    \"groupNameID\": 63653, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"106\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 106, \n    \"groupName_de\": \"Kreuzer-Blueprint\", \n    \"groupName_en-us\": \"Cruiser Blueprint\", \n    \"groupName_es\": \"Plano de crucero\", \n    \"groupName_fr\": \"Plan de construction Croiseur\", \n    \"groupName_it\": \"Cruiser Blueprint\", \n    \"groupName_ja\": \"巡洋艦ブループリント\", \n    \"groupName_ko\": \"크루저 블루프린트\", \n    \"groupName_ru\": \"Чертежи крейсера\", \n    \"groupName_zh\": \"巡洋舰蓝图\", \n    \"groupNameID\": 63654, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"107\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 107, \n    \"groupName_de\": \"Schlachtschiff-Blueprint\", \n    \"groupName_en-us\": \"Battleship Blueprint\", \n    \"groupName_es\": \"Plano de acorazado\", \n    \"groupName_fr\": \"Plan de construction Cuirassé\", \n    \"groupName_it\": \"Battleship Blueprint\", \n    \"groupName_ja\": \"戦艦ブループリント\", \n    \"groupName_ko\": \"배틀쉽 블루프린트\", \n    \"groupName_ru\": \"Чертежи линкора\", \n    \"groupName_zh\": \"战列舰蓝图\", \n    \"groupNameID\": 63655, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"108\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 108, \n    \"groupName_de\": \"Transporter-Blaupause\", \n    \"groupName_en-us\": \"Hauler Blueprint\", \n    \"groupName_es\": \"Plano de nave de mercancías\", \n    \"groupName_fr\": \"Plan de construction Cargo\", \n    \"groupName_it\": \"Hauler Blueprint\", \n    \"groupName_ja\": \"ハウラー設計図\", \n    \"groupName_ko\": \"운반선 블루프린트\", \n    \"groupName_ru\": \"Hauler Blueprint\", \n    \"groupName_zh\": \"运载舰蓝图\", \n    \"groupNameID\": 63656, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"109\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 109, \n    \"groupName_de\": \"Kapsel-Blueprint\", \n    \"groupName_en-us\": \"Capsule Blueprint\", \n    \"groupName_es\": \"Plano de cápsula\", \n    \"groupName_fr\": \"Plan de construction Capsule\", \n    \"groupName_it\": \"Capsule Blueprint\", \n    \"groupName_ja\": \"カプセルブループリント\", \n    \"groupName_ko\": \"캡슐 블루프린트\", \n    \"groupName_ru\": \"Чертежи капсулы\", \n    \"groupName_zh\": \"太空舱蓝图\", \n    \"groupNameID\": 63657, \n    \"iconID\": 73, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"110\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 110, \n    \"groupName_de\": \"Titan-Blueprint\", \n    \"groupName_en-us\": \"Titan Blueprint\", \n    \"groupName_es\": \"Plano de titán\", \n    \"groupName_fr\": \"Plan de construction Titan\", \n    \"groupName_it\": \"Titan Blueprint\", \n    \"groupName_ja\": \"タイタンブループリント\", \n    \"groupName_ko\": \"타이탄 블루프린트\", \n    \"groupName_ru\": \"Чертежи титана\", \n    \"groupName_zh\": \"泰坦蓝图\", \n    \"groupNameID\": 63658, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"111\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 111, \n    \"groupName_de\": \"Shuttle-Blueprint\", \n    \"groupName_en-us\": \"Shuttle Blueprint\", \n    \"groupName_es\": \"Plano de lanzadera\", \n    \"groupName_fr\": \"Plan de construction Navette\", \n    \"groupName_it\": \"Shuttle Blueprint\", \n    \"groupName_ja\": \"シャトルブループリント\", \n    \"groupName_ko\": \"셔틀 블루프린트\", \n    \"groupName_ru\": \"Чертежи личного катера\", \n    \"groupName_zh\": \"穿梭机蓝图\", \n    \"groupNameID\": 63659, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"118\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 118, \n    \"groupName_de\": \"Schilderweiterungs-Blueprint\", \n    \"groupName_en-us\": \"Shield Extender Blueprint\", \n    \"groupName_es\": \"Plano de extensor de escudo\", \n    \"groupName_fr\": \"Plan de construction Extenseur de bouclier\", \n    \"groupName_it\": \"Shield Extender Blueprint\", \n    \"groupName_ja\": \"シールドエクステンダーブループリント\", \n    \"groupName_ko\": \"실드 확장장치 블루프린트\", \n    \"groupName_ru\": \"Чертеж расширителя щита\", \n    \"groupName_zh\": \"护盾扩展装置蓝图\", \n    \"groupNameID\": 63660, \n    \"iconID\": 82, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"119\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 119, \n    \"groupName_de\": \"Schildauflader-Blueprint\", \n    \"groupName_en-us\": \"Shield Recharger Blueprint\", \n    \"groupName_es\": \"Plano de cargador de escudo\", \n    \"groupName_fr\": \"Plan de construction Rechargeur de bouclier\", \n    \"groupName_it\": \"Shield Recharger Blueprint\", \n    \"groupName_ja\": \"シールドリチャージャーブループリント\", \n    \"groupName_ko\": \"실드 회복장치 블루프린트\", \n    \"groupName_ru\": \"Чертеж системы подзарядки щита\", \n    \"groupName_zh\": \"护盾回充器蓝图\", \n    \"groupNameID\": 63661, \n    \"iconID\": 26451, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"120\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 120, \n    \"groupName_de\": \"Schild-Booster-Blueprint\", \n    \"groupName_en-us\": \"Shield Booster Blueprint\", \n    \"groupName_es\": \"Plano de potenciador de escudo\", \n    \"groupName_fr\": \"Plan de construction Booster de bouclier\", \n    \"groupName_it\": \"Shield Booster Blueprint\", \n    \"groupName_ja\": \"シールドブースターブループリント\", \n    \"groupName_ko\": \"실드 부스터 블루프린트\", \n    \"groupName_ru\": \"Чертежи установки накачки силового поля\", \n    \"groupName_zh\": \"护盾回充增量器蓝图\", \n    \"groupNameID\": 63662, \n    \"iconID\": 84, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"121\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 121, \n    \"groupName_de\": \"Remote Shield Booster Blueprint\", \n    \"groupName_en-us\": \"Remote Shield Booster Blueprint\", \n    \"groupName_es\": \"Plano de potenciador de escudo remoto\", \n    \"groupName_fr\": \"Plan de construction Booster de bouclier à distance\", \n    \"groupName_it\": \"Remote Shield Booster Blueprint\", \n    \"groupName_ja\": \"リモートシールドブースターブループリント\", \n    \"groupName_ko\": \"원격 실드 부스터 블루프린트\", \n    \"groupName_ru\": \"Чертежи установки дистанционной накачки силовых полей\", \n    \"groupName_zh\": \"远程护盾回充增量器蓝图\", \n    \"groupNameID\": 63663, \n    \"iconID\": 86, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"123\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 123, \n    \"groupName_de\": \"Energiespeicherauflader-Blueprint\", \n    \"groupName_en-us\": \"Capacitor Recharger Blueprint\", \n    \"groupName_es\": \"Plano de cargadores del condensador\", \n    \"groupName_fr\": \"Plan de construction Rechargeur de capaciteur\", \n    \"groupName_it\": \"Capacitor Recharger Blueprint\", \n    \"groupName_ja\": \"キャパシタリチャージャーブループリント\", \n    \"groupName_ko\": \"캐피시터 충전기 블루프린트\", \n    \"groupName_ru\": \"Чертеж системы подзарядки конденсатора\", \n    \"groupName_zh\": \"电容回充器蓝图\", \n    \"groupNameID\": 63664, \n    \"iconID\": 26457, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"126\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 126, \n    \"groupName_de\": \"Propulsion Module Blueprint\", \n    \"groupName_en-us\": \"Propulsion Module Blueprint\", \n    \"groupName_es\": \"Plano de módulo de propulsión\", \n    \"groupName_fr\": \"Plan de construction Module de propulsion\", \n    \"groupName_it\": \"Propulsion Module Blueprint\", \n    \"groupName_ja\": \"推進力モジュールブループリント\", \n    \"groupName_ko\": \"추진 모듈 블루프린트\", \n    \"groupName_ru\": \"Propulsion Module Blueprint\", \n    \"groupName_zh\": \"推进装备蓝图\", \n    \"groupNameID\": 63665, \n    \"iconID\": 96, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"127\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 127, \n    \"groupName_de\": \"Frachtscanner-Blueprint\", \n    \"groupName_en-us\": \"Cargo Scanner Blueprint\", \n    \"groupName_es\": \"Plano de escáner de carga\", \n    \"groupName_fr\": \"Plan de construction Scanner de soute\", \n    \"groupName_it\": \"Cargo Scanner Blueprint\", \n    \"groupName_ja\": \"カーゴスキャナーブループリント\", \n    \"groupName_ko\": \"화물 스캐너 블루프린트\", \n    \"groupName_ru\": \"Чертежи комплекса для досмотра грузов\", \n    \"groupName_zh\": \"货柜扫描器蓝图\", \n    \"groupNameID\": 63666, \n    \"iconID\": 106, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"128\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 128, \n    \"groupName_de\": \"Schiffsscanner-Blueprint\", \n    \"groupName_en-us\": \"Ship Scanner Blueprint\", \n    \"groupName_es\": \"Plano de escáner de naves\", \n    \"groupName_fr\": \"Plan de construction Scanner de vaisseau\", \n    \"groupName_it\": \"Ship Scanner Blueprint\", \n    \"groupName_ja\": \"シップスキャナーブループリント\", \n    \"groupName_ko\": \"함선 스캐너 블루프린트\", \n    \"groupName_ru\": \"Чертеж сканера кораблей\", \n    \"groupName_zh\": \"船体扫描设备蓝图\", \n    \"groupNameID\": 63667, \n    \"iconID\": 107, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"129\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 129, \n    \"groupName_de\": \"Bauplan für Bergbauvermessungs-Chipsatz\", \n    \"groupName_en-us\": \"Mining Survey Chipset Blueprint\", \n    \"groupName_es\": \"Plano de chipset de prospección de minería\", \n    \"groupName_fr\": \"Plan de construction Puce d'arpentage d'extraction minière\", \n    \"groupName_it\": \"Mining Survey Chipset Blueprint\", \n    \"groupName_ja\": \"採掘調査用チップセット設計図\", \n    \"groupName_ko\": \"채굴 조사 칩셋 블루프린트\", \n    \"groupName_ru\": \"Чертёж считывающего бурового чипа\", \n    \"groupName_zh\": \"采矿调查芯片组蓝图\", \n    \"groupNameID\": 63668, \n    \"iconID\": 107, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"130\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 130, \n    \"groupName_de\": \"ECM-Blueprint\", \n    \"groupName_en-us\": \"ECM Blueprint\", \n    \"groupName_es\": \"Plano de ECM\", \n    \"groupName_fr\": \"Plan de construction CME\", \n    \"groupName_it\": \"ECM Blueprint\", \n    \"groupName_ja\": \"ECMブループリント\", \n    \"groupName_ko\": \"ECM 블루프린트\", \n    \"groupName_ru\": \"Чертеж модуля РЭБ\", \n    \"groupName_zh\": \"ECM发生器蓝图\", \n    \"groupNameID\": 63669, \n    \"iconID\": 109, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"131\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 131, \n    \"groupName_de\": \"ECCM-Blueprint\", \n    \"groupName_en-us\": \"ECCM Blueprint\", \n    \"groupName_es\": \"Plano de ECCM\", \n    \"groupName_fr\": \"Plan de construction CCME\", \n    \"groupName_it\": \"ECCM Blueprint\", \n    \"groupName_ja\": \"ECCMブループリント\", \n    \"groupName_ko\": \"ECCM 블루프린트\", \n    \"groupName_ru\": \"Чертеж модуля ПРЭБ\", \n    \"groupName_zh\": \"ECCM发生器蓝图\", \n    \"groupNameID\": 63670, \n    \"iconID\": 110, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"132\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 132, \n    \"groupName_de\": \"Warp-Störer-Blueprint\", \n    \"groupName_en-us\": \"Warp Scrambler Blueprint\", \n    \"groupName_es\": \"Plano de distorsionador de warp\", \n    \"groupName_fr\": \"Plan de construction Inhibiteur de warp\", \n    \"groupName_it\": \"Warp Scrambler Blueprint\", \n    \"groupName_ja\": \"ワープスクランブラーブループリント\", \n    \"groupName_ko\": \"워프 스크램블러 블루프린트\", \n    \"groupName_ru\": \"Чертежи варп-глушителя\", \n    \"groupName_zh\": \"跃迁扰乱设备蓝图\", \n    \"groupNameID\": 63671, \n    \"iconID\": 111, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"133\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 133, \n    \"groupName_de\": \"Energiewaffen-Blueprint\", \n    \"groupName_en-us\": \"Energy Weapon Blueprint\", \n    \"groupName_es\": \"Plano de arma de energía\", \n    \"groupName_fr\": \"Plan de construction Arme à énergie\", \n    \"groupName_it\": \"Energy Weapon Blueprint\", \n    \"groupName_ja\": \"エネルギー兵器設計図\", \n    \"groupName_ko\": \"에너지 무기 블루프린트\", \n    \"groupName_ru\": \"Чертежи лазерного орудия\", \n    \"groupName_zh\": \"能量武器蓝图\", \n    \"groupNameID\": 63672, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"134\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 134, \n    \"groupName_de\": \"Bergbaulaser-Blueprint\", \n    \"groupName_en-us\": \"Mining Laser Blueprint\", \n    \"groupName_es\": \"Plano de láser minero\", \n    \"groupName_fr\": \"Plan de construction Laser d'extraction\", \n    \"groupName_it\": \"Mining Laser Blueprint\", \n    \"groupName_ja\": \"採掘レーザー設計図\", \n    \"groupName_ko\": \"채굴 레이저 블루프린트\", \n    \"groupName_ru\": \"Чертежи бурового лазера\", \n    \"groupName_zh\": \"采矿激光器蓝图\", \n    \"groupNameID\": 63673, \n    \"iconID\": 138, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"135\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 135, \n    \"groupName_de\": \"Projektilwaffen-Blueprint\", \n    \"groupName_en-us\": \"Projectile Weapon Blueprint\", \n    \"groupName_es\": \"Plano de arma de proyectiles\", \n    \"groupName_fr\": \"Plan de construction Arme à projectiles\", \n    \"groupName_it\": \"Projectile Weapon Blueprint\", \n    \"groupName_ja\": \"プロジェクタイル兵器ブループリント\", \n    \"groupName_ko\": \"발사체 무기 블루프린트\", \n    \"groupName_ru\": \"Чертежи баллистического орудия\", \n    \"groupName_zh\": \"射弹武器蓝图\", \n    \"groupNameID\": 63674, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"136\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 136, \n    \"groupName_de\": \"Raketenwerfer-Blueprint\", \n    \"groupName_en-us\": \"Missile Launcher Blueprint\", \n    \"groupName_es\": \"Plano de lanzamisiles\", \n    \"groupName_fr\": \"Plan de construction Lance-missiles\", \n    \"groupName_it\": \"Missile Launcher Blueprint\", \n    \"groupName_ja\": \"ミサイルランチャーブループリント\", \n    \"groupName_ko\": \"미사일 런처 블루프린트\", \n    \"groupName_ru\": \"Чертежи ракетной установки\", \n    \"groupName_zh\": \"导弹发射器蓝图\", \n    \"groupNameID\": 63675, \n    \"iconID\": 168, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"137\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 137, \n    \"groupName_de\": \"Energiemanager-Blueprint\", \n    \"groupName_en-us\": \"Power Manager Blueprint\", \n    \"groupName_es\": \"Plano de gerente de potencia\", \n    \"groupName_fr\": \"Plan de construction Gestionnaire d'énergie\", \n    \"groupName_it\": \"Power Manager Blueprint\", \n    \"groupName_ja\": \"パワーマネージャーブループリント\", \n    \"groupName_ko\": \"전력 관리장치 블루프린트\", \n    \"groupName_ru\": \"Чертеж системы управления питанием\", \n    \"groupName_zh\": \"能源管理蓝图\", \n    \"groupNameID\": 63676, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"139\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 139, \n    \"groupName_de\": \"Waffenkunde Upgrade Blaupause\", \n    \"groupName_en-us\": \"Gunnery Upgrade Blueprint\", \n    \"groupName_es\": \"Plano de mejora de artillería\", \n    \"groupName_fr\": \"Plan de construction Amélioration d'armement\", \n    \"groupName_it\": \"Gunnery Upgrade Blueprint\", \n    \"groupName_ja\": \"銃器アップグレードのブループリント\", \n    \"groupName_ko\": \"터렛 업그레이드 블루프린트\", \n    \"groupName_ru\": \"Чертежи пакетов усиления орудий\", \n    \"groupName_zh\": \"射击学升级件蓝图\", \n    \"groupNameID\": 63677, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"140\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 140, \n    \"groupName_de\": \"Schadenskontrolle-Blueprint\", \n    \"groupName_en-us\": \"Damage Control Blueprint\", \n    \"groupName_es\": \"Plano de control de daños\", \n    \"groupName_fr\": \"Plan de construction Contrôle des dégâts\", \n    \"groupName_it\": \"Damage Control Blueprint\", \n    \"groupName_ja\": \"ダメージコントロールブループリント\", \n    \"groupName_ko\": \"데미지 컨트롤 블루프린트\", \n    \"groupName_ru\": \"Чертеж модуля боевой живучести\", \n    \"groupName_zh\": \"损伤控制装备蓝图\", \n    \"groupNameID\": 63678, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"141\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 141, \n    \"groupName_de\": \"Energiespeicher-Batterie-Blueprint\", \n    \"groupName_en-us\": \"Capacitor Battery Blueprint\", \n    \"groupName_es\": \"Plano de batería de condensador\", \n    \"groupName_fr\": \"Plan de construction Batterie de capaciteur\", \n    \"groupName_it\": \"Capacitor Battery Blueprint\", \n    \"groupName_ja\": \"キャパシタバッテリーブループリント\", \n    \"groupName_ko\": \"캐패시터 배터리 블루프린트\", \n    \"groupName_ru\": \"Чертеж батареи конденсатора\", \n    \"groupName_zh\": \"电容器电池蓝图\", \n    \"groupNameID\": 63679, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"142\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 142, \n    \"groupName_de\": \"Panzerungsreparatureinheit-Blueprint\", \n    \"groupName_en-us\": \"Armor Repair Unit Blueprint\", \n    \"groupName_es\": \"Plano de unidad de reparación de blindaje\", \n    \"groupName_fr\": \"Plan de construction Unité de réparation d'armure\", \n    \"groupName_it\": \"Armor Repair Unit Blueprint\", \n    \"groupName_ja\": \"アーマーリペアユニットブループリント\", \n    \"groupName_ko\": \"장갑수리 장치 블루프린트\", \n    \"groupName_ru\": \"Чертежи установки ремонта брони\", \n    \"groupName_zh\": \"装甲维修组件蓝图\", \n    \"groupNameID\": 63680, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"143\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 143, \n    \"groupName_de\": \"Hüllenreparatureinheit-Blueprint\", \n    \"groupName_en-us\": \"Hull Repair Unit Blueprint\", \n    \"groupName_es\": \"Plano de unidad de reparación de casco\", \n    \"groupName_fr\": \"Plan de construction Unité de réparation de coque\", \n    \"groupName_it\": \"Hull Repair Unit Blueprint\", \n    \"groupName_ja\": \"船体リペアユニットブループリント\", \n    \"groupName_ko\": \"선체수리 장치 블루프린트\", \n    \"groupName_ru\": \"Чертеж системы ремонта корпуса\", \n    \"groupName_zh\": \"船体维修组件蓝图\", \n    \"groupNameID\": 63681, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"145\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 145, \n    \"groupName_de\": \"Stasis-Web-Blueprint\", \n    \"groupName_en-us\": \"Stasis Web Blueprint\", \n    \"groupName_es\": \"Plano de red ralentizadora\", \n    \"groupName_fr\": \"Plan de construction Sentinelle de stase\", \n    \"groupName_it\": \"Stasis Web Blueprint\", \n    \"groupName_ja\": \"ステイシスウェブブループリント\", \n    \"groupName_ko\": \"스테이시스 웹 생성기 블루프린트\", \n    \"groupName_ru\": \"Чертежи генератора стазис-поля\", \n    \"groupName_zh\": \"停滞缠绕光束蓝图\", \n    \"groupNameID\": 63682, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"147\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 147, \n    \"groupName_de\": \"Remote Capacitor Transmitter Blueprint\", \n    \"groupName_en-us\": \"Remote Capacitor Transmitter Blueprint\", \n    \"groupName_es\": \"Plano de transmisor de condensador remoto\", \n    \"groupName_fr\": \"Plan de construction Transmetteur de capaciteur à distance\", \n    \"groupName_it\": \"Remote Capacitor Transmitter Blueprint\", \n    \"groupName_ja\": \"リモートキャパシタトランスミッターブループリント\", \n    \"groupName_ko\": \"원격 캐패시터 전송기 블루프린트\", \n    \"groupName_ru\": \"Чертежи установки дистанционного энергоснабжения\", \n    \"groupName_zh\": \"远程电容传输装置蓝图\", \n    \"groupNameID\": 63683, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"148\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 148, \n    \"groupName_de\": \"Nosferatu-Blaupause\", \n    \"groupName_en-us\": \"Energy Nosferatu Blueprint\", \n    \"groupName_es\": \"Plano de nosferatu de energía\", \n    \"groupName_fr\": \"Plan de construction Nosferatu à énergie\", \n    \"groupName_it\": \"Energy Nosferatu Blueprint\", \n    \"groupName_ja\": \"エネルギーノスフェラトゥ設計図\", \n    \"groupName_ko\": \"에너지 노스페라투 블루프린트\", \n    \"groupName_ru\": \"Чертежи устройств паразитной подзарядки\", \n    \"groupName_zh\": \"掠能器蓝图\", \n    \"groupNameID\": 63684, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"151\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 151, \n    \"groupName_de\": \"EEnergieneutralisierer-Blaupause\", \n    \"groupName_en-us\": \"Energy Neutralizer Blueprint\", \n    \"groupName_es\": \"Plano de neutralizador energético\", \n    \"groupName_fr\": \"Plan de construction Neutraliseur d'énergie\", \n    \"groupName_it\": \"Energy Neutralizer Blueprint\", \n    \"groupName_ja\": \"エネルギーニュートラライザー設計図\", \n    \"groupName_ko\": \"에너지 뉴트럴라이저 블루프린트\", \n    \"groupName_ru\": \"Чертежи дистанционных нейтрализаторов заряда\", \n    \"groupName_zh\": \"能量中和器蓝图\", \n    \"groupNameID\": 63685, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"152\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 152, \n    \"groupName_de\": \"Smart-Bomb-Blueprint\", \n    \"groupName_en-us\": \"Smart Bomb Blueprint\", \n    \"groupName_es\": \"Plano de bomba inteligente\", \n    \"groupName_fr\": \"Plan de construction Bombe de proximité\", \n    \"groupName_it\": \"Smart Bomb Blueprint\", \n    \"groupName_ja\": \"スマートボムブループリント\", \n    \"groupName_ko\": \"스마트폭탄 블루프린트\", \n    \"groupName_ru\": \"Чертеж импульсного излучателя\", \n    \"groupName_zh\": \"立体炸弹蓝图\", \n    \"groupNameID\": 63686, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"154\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 154, \n    \"groupName_de\": \"Hybridwaffen-Blueprint\", \n    \"groupName_en-us\": \"Hybrid Weapon Blueprint\", \n    \"groupName_es\": \"Plano de arma híbrida\", \n    \"groupName_fr\": \"Plan de construction Arme hybride\", \n    \"groupName_it\": \"Hybrid Weapon Blueprint\", \n    \"groupName_ja\": \"ハイブリッド兵器ブループリント\", \n    \"groupName_ko\": \"하이브리드 무기 블루프린트\", \n    \"groupName_ru\": \"Чертежи гибридного орудия\", \n    \"groupName_zh\": \"混合武器蓝图\", \n    \"groupNameID\": 63687, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"156\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 156, \n    \"groupName_de\": \"Energiespeicher-Booster-Blueprint\", \n    \"groupName_en-us\": \"Capacitor Booster Blueprint\", \n    \"groupName_es\": \"Plano de potenciador de condensador\", \n    \"groupName_fr\": \"Plan de construction Booster de capaciteur\", \n    \"groupName_it\": \"Capacitor Booster Blueprint\", \n    \"groupName_ja\": \"キャパシタブースターブループリント\", \n    \"groupName_ko\": \"캐패시터 부스터 블루프린트\", \n    \"groupName_ru\": \"Чертежи системы пополнения накопителя\", \n    \"groupName_zh\": \"电容注电器蓝图\", \n    \"groupNameID\": 63688, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"157\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 157, \n    \"groupName_de\": \"Schildhärter-Blueprint\", \n    \"groupName_en-us\": \"Shield Hardener Blueprint\", \n    \"groupName_es\": \"Plano de endurecedor de escudo\", \n    \"groupName_fr\": \"Plan de construction Renforcement de bouclier\", \n    \"groupName_it\": \"Shield Hardener Blueprint\", \n    \"groupName_ja\": \"シールドハードナーブループリント\", \n    \"groupName_ko\": \"실드 강화장치 블루프린트\", \n    \"groupName_ru\": \"Чертеж системы настройки щита\", \n    \"groupName_zh\": \"护盾增强系统蓝图\", \n    \"groupNameID\": 63689, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"158\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 158, \n    \"groupName_de\": \"Hüllenmodifikationen-Blueprint\", \n    \"groupName_en-us\": \"Hull Mods Blueprint\", \n    \"groupName_es\": \"Plano de modificaciones de casco\", \n    \"groupName_fr\": \"Plan de construction Modification de coque\", \n    \"groupName_it\": \"Hull Mods Blueprint\", \n    \"groupName_ja\": \"船体改良ブループリント\", \n    \"groupName_ko\": \"선체 모듈 블루프린트\", \n    \"groupName_ru\": \"Чертеж модуля модернизации корпуса\", \n    \"groupName_zh\": \"船体蓝图\", \n    \"groupNameID\": 63690, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"160\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 160, \n    \"groupName_de\": \"Burst-Störsender Blaupause\", \n    \"groupName_en-us\": \"Burst Jammer Blueprint\", \n    \"groupName_es\": \"Plano de perturbador de ráfaga\", \n    \"groupName_fr\": \"Plan de construction Brouilleur Burst\", \n    \"groupName_it\": \"Burst Jammer Blueprint\", \n    \"groupName_ja\": \"バーストジャマーのブループリント\", \n    \"groupName_ko\": \"버스트 재머 블루프린트\", \n    \"groupName_ru\": \"Чертежи генераторов импульсных помех\", \n    \"groupName_zh\": \"脉冲干扰器蓝图\", \n    \"groupNameID\": 63691, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"161\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 161, \n    \"groupName_de\": \"Passives-Aufschaltungssystem-Blueprint\", \n    \"groupName_en-us\": \"Passive Targeting System Blueprint\", \n    \"groupName_es\": \"Plano de sistema de adquisición pasiva de objetivos\", \n    \"groupName_fr\": \"Plan de construction Système de ciblage\", \n    \"groupName_it\": \"Passive Targeting System Blueprint\", \n    \"groupName_ja\": \"パッシブターゲットシステムブループリント\", \n    \"groupName_ko\": \"패시브 타겟팅 시스템 블루프린트\", \n    \"groupName_ru\": \"Чертеж пассивной системы целеуказания\", \n    \"groupName_zh\": \"被动锁定系统蓝图\", \n    \"groupNameID\": 63692, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"162\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 162, \n    \"groupName_de\": \"Automatisiertes-Aufschaltungssystem-Blueprint\", \n    \"groupName_en-us\": \"Automated Targeting System Blueprint\", \n    \"groupName_es\": \"Plano de sistema de adquisición automatizada de objetivos\", \n    \"groupName_fr\": \"Plan de construction Système de ciblage automatique\", \n    \"groupName_it\": \"Automated Targeting System Blueprint\", \n    \"groupName_ja\": \"全自動ターゲットシステムブループリント\", \n    \"groupName_ko\": \"오토 타겟팅 시스템 블루프린트\", \n    \"groupName_ru\": \"Чертеж автоматической системы целеуказания\", \n    \"groupName_zh\": \"自动锁定系统蓝图\", \n    \"groupNameID\": 63693, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"163\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 163, \n    \"groupName_de\": \"Panzerungsbeschichtung-Blueprint\", \n    \"groupName_en-us\": \"Armor Coating Blueprint\", \n    \"groupName_es\": \"Plano de recubrimiento de blindaje\", \n    \"groupName_fr\": \"Plan de construction Surcouche de blindage\", \n    \"groupName_it\": \"Armor Coating Blueprint\", \n    \"groupName_ja\": \"アーマーコーティング設計図\", \n    \"groupName_ko\": \"장갑 코팅 블루프린트\", \n    \"groupName_ru\": \"Чертеж защитного покрытия брони\", \n    \"groupName_zh\": \"装甲附甲蓝图\", \n    \"groupNameID\": 63694, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"165\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 165, \n    \"groupName_de\": \"Projektilmunition-Blueprint\", \n    \"groupName_en-us\": \"Projectile Ammo Blueprint\", \n    \"groupName_es\": \"Plano de munición de proyectiles\", \n    \"groupName_fr\": \"Plan de construction Munition de projectile\", \n    \"groupName_it\": \"Projectile Ammo Blueprint\", \n    \"groupName_ja\": \"プロジェクタイル弾ブループリント\", \n    \"groupName_ko\": \"발사체 탄약 블루프린트\", \n    \"groupName_ru\": \"Чертеж снаряда\", \n    \"groupName_zh\": \"射弹弹药蓝图\", \n    \"groupNameID\": 63695, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"166\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 166, \n    \"groupName_de\": \"Raketen-Blueprint\", \n    \"groupName_en-us\": \"Missile Blueprint\", \n    \"groupName_es\": \"Plano de misil\", \n    \"groupName_fr\": \"Plan de construction Missiles\", \n    \"groupName_it\": \"Missile Blueprint\", \n    \"groupName_ja\": \"ミサイルブループリント\", \n    \"groupName_ko\": \"미사일 블루프린트\", \n    \"groupName_ru\": \"Чертежи ракеты\", \n    \"groupName_zh\": \"导弹蓝图\", \n    \"groupNameID\": 63696, \n    \"iconID\": 182, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"167\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 167, \n    \"groupName_de\": \"Blueprint einer Hybrid-Ladung\", \n    \"groupName_en-us\": \"Hybrid Charge Blueprint\", \n    \"groupName_es\": \"Plano de carga híbrida\", \n    \"groupName_fr\": \"Plan de construction Charge hybride\", \n    \"groupName_it\": \"Hybrid Charge Blueprint\", \n    \"groupName_ja\": \"ハイブリッド弾のブループリント\", \n    \"groupName_ko\": \"하이브리드 탄약 블루프린트\", \n    \"groupName_ru\": \"Чертеж гибридных зарядов\", \n    \"groupName_zh\": \"混合弹药蓝图\", \n    \"groupNameID\": 63697, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"168\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 168, \n    \"groupName_de\": \"Frequenzkristall-Blueprint\", \n    \"groupName_en-us\": \"Frequency Crystal Blueprint\", \n    \"groupName_es\": \"Plano de cristal de frecuencia\", \n    \"groupName_fr\": \"Plan de construction Cristal de fréquence\", \n    \"groupName_it\": \"Frequency Crystal Blueprint\", \n    \"groupName_ja\": \"フリーケンシークリスタルブループリント\", \n    \"groupName_ko\": \"프리퀀시 크리스탈 블루프린트\", \n    \"groupName_ru\": \"Чертеж частотного кристалла\", \n    \"groupName_zh\": \"频率晶体蓝图\", \n    \"groupNameID\": 63698, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"169\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 169, \n    \"groupName_de\": \"Energiespeicher-Boosterladungs-Blueprint\", \n    \"groupName_en-us\": \"Capacitor Booster Charge Blueprint\", \n    \"groupName_es\": \"Plano de carga de potenciador de condensador\", \n    \"groupName_fr\": \"Plan de construction Charge pour booster de capaciteur\", \n    \"groupName_it\": \"Capacitor Booster Charge Blueprint\", \n    \"groupName_ja\": \"キャパシタブースター弾ブループリント\", \n    \"groupName_ko\": \"캐패시터 부스터 차지 블루프린트\", \n    \"groupName_ru\": \"Чертежи заряда системы пополнения накопителя\", \n    \"groupName_zh\": \"电容注电器装料蓝图\", \n    \"groupNameID\": 63699, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"170\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 170, \n    \"groupName_de\": \"Verteidigungsraketen-Blueprint\", \n    \"groupName_en-us\": \"Defender Missile Blueprint\", \n    \"groupName_es\": \"Plano de misil de defensa\", \n    \"groupName_fr\": \"Plan de construction Missile défenseur\", \n    \"groupName_it\": \"Defender Missile Blueprint\", \n    \"groupName_ja\": \"防衛ミサイルブループリント\", \n    \"groupName_ko\": \"디펜더 미사일 블루프린트\", \n    \"groupName_ru\": \"Чертежи противоракеты\", \n    \"groupName_zh\": \"反弹道导弹蓝图\", \n    \"groupNameID\": 63700, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"172\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 172, \n    \"groupName_de\": \"Bomben-Blueprint\", \n    \"groupName_en-us\": \"Bomb Blueprint\", \n    \"groupName_es\": \"Plano de bomba\", \n    \"groupName_fr\": \"Plan de construction Bombe\", \n    \"groupName_it\": \"Bomb Blueprint\", \n    \"groupName_ja\": \"ボムブループリント\", \n    \"groupName_ko\": \"폭탄 블루프린트\", \n    \"groupName_ru\": \"Чертежи бомбы\", \n    \"groupName_zh\": \"炸弹蓝图\", \n    \"groupNameID\": 63701, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"174\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 174, \n    \"groupName_de\": \"Minen-Blueprint\", \n    \"groupName_en-us\": \"Mine Blueprint\", \n    \"groupName_es\": \"Plano de minero\", \n    \"groupName_fr\": \"Plan de construction Mine\", \n    \"groupName_it\": \"Mine Blueprint\", \n    \"groupName_ja\": \"機雷ブループリント\", \n    \"groupName_ko\": \"기뢰 블루프린트\", \n    \"groupName_ru\": \"Чертежи мины\", \n    \"groupName_zh\": \"悬浮雷蓝图\", \n    \"groupNameID\": 63702, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"175\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 175, \n    \"groupName_de\": \"Nähe-Drohnen-Blueprint\", \n    \"groupName_en-us\": \"Proximity Drone Blueprint\", \n    \"groupName_es\": \"Plano de dron de proximidad\", \n    \"groupName_fr\": \"Plan de construction Drone de proximité\", \n    \"groupName_it\": \"Proximity Drone Blueprint\", \n    \"groupName_ja\": \"プロキシミティードローンブループリント\", \n    \"groupName_ko\": \"근접 드론 블루프린트\", \n    \"groupName_ru\": \"Чертеж дрона Proximity\", \n    \"groupName_zh\": \"近程无人机蓝图\", \n    \"groupNameID\": 63703, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"176\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 176, \n    \"groupName_de\": \"Kampfdrohnen-Blueprint\", \n    \"groupName_en-us\": \"Combat Drone Blueprint\", \n    \"groupName_es\": \"Plano de dron de combate\", \n    \"groupName_fr\": \"Plan de construction Drone de combat\", \n    \"groupName_it\": \"Combat Drone Blueprint\", \n    \"groupName_ja\": \"戦闘用ドローンブループリント\", \n    \"groupName_ko\": \"전투 드론 블루프린트\", \n    \"groupName_ru\": \"Чертежи боевого дрона\", \n    \"groupName_zh\": \"战斗无人机蓝图\", \n    \"groupNameID\": 63704, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"177\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 177, \n    \"groupName_de\": \"Bergbaudrohnen-Blueprint\", \n    \"groupName_en-us\": \"Mining Drone Blueprint\", \n    \"groupName_es\": \"Plano de dron minero\", \n    \"groupName_fr\": \"Plan de construction Drone d'extraction\", \n    \"groupName_it\": \"Mining Drone Blueprint\", \n    \"groupName_ja\": \"採掘専門ドローンブループリント\", \n    \"groupName_ko\": \"채굴 드론 블루프린트\", \n    \"groupName_ru\": \"Чертежи бурового дрона\", \n    \"groupName_zh\": \"采矿无人机蓝图\", \n    \"groupNameID\": 63705, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"178\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 178, \n    \"groupName_de\": \"Drogen-Blueprint\", \n    \"groupName_en-us\": \"Drug Blueprint\", \n    \"groupName_es\": \"Plano de sustancia\", \n    \"groupName_fr\": \"Plan de construction Substance chimique\", \n    \"groupName_it\": \"Drug Blueprint\", \n    \"groupName_ja\": \"薬物ブループリント\", \n    \"groupName_ko\": \"약품 블루프린트\", \n    \"groupName_ru\": \"Чертеж наркотика\", \n    \"groupName_zh\": \"管制物品蓝图\", \n    \"groupNameID\": 63706, \n    \"iconID\": 21, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"180\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 180, \n    \"groupName_de\": \"Schutz-Sentry-Gun\", \n    \"groupName_en-us\": \"Protective Sentry Gun\", \n    \"groupName_es\": \"Torreta centinela protectora\", \n    \"groupName_fr\": \"Canon de sentinelle de protection\", \n    \"groupName_it\": \"Protective Sentry Gun\", \n    \"groupName_ja\": \"防衛セントリーガン\", \n    \"groupName_ko\": \"보호용 센트리 포탑\", \n    \"groupName_ru\": \"Защитное сторожевое орудие\", \n    \"groupName_zh\": \"防卫型岗哨炮\", \n    \"groupNameID\": 63707, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"182\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 182, \n    \"groupName_de\": \"Polizeidrohne\", \n    \"groupName_en-us\": \"Police Drone\", \n    \"groupName_es\": \"Dron policial\", \n    \"groupName_fr\": \"Drone de police\", \n    \"groupName_it\": \"Police Drone\", \n    \"groupName_ja\": \"警察ドローン\", \n    \"groupName_ko\": \"경찰 드론\", \n    \"groupName_ru\": \"Полицейский дрон\", \n    \"groupName_zh\": \"警用无人机\", \n    \"groupNameID\": 63708, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"185\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 185, \n    \"groupName_de\": \"Piratendrohne\", \n    \"groupName_en-us\": \"Pirate Drone\", \n    \"groupName_es\": \"Dron pirata\", \n    \"groupName_fr\": \"Drone pirate\", \n    \"groupName_it\": \"Pirate Drone\", \n    \"groupName_ja\": \"海賊ドローン\", \n    \"groupName_ko\": \"해적 드론\", \n    \"groupName_ru\": \"Пиратский дрон\", \n    \"groupName_zh\": \"海盗无人机\", \n    \"groupNameID\": 63709, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"186\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 186, \n    \"groupName_de\": \"Wrack\", \n    \"groupName_en-us\": \"Wreck\", \n    \"groupName_es\": \"Restos\", \n    \"groupName_fr\": \"Épave\", \n    \"groupName_it\": \"Wreck\", \n    \"groupName_ja\": \"残骸\", \n    \"groupName_ko\": \"잔해\", \n    \"groupName_ru\": \"Обломки корабля\", \n    \"groupName_zh\": \"残骸\", \n    \"groupNameID\": 63710, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"190\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 14, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 190, \n    \"groupName_de\": \"Abstammungsbonus\", \n    \"groupName_en-us\": \"Bloodline Bonus\", \n    \"groupName_es\": \"Bonificación de linaje\", \n    \"groupName_fr\": \"Bonus de lignée\", \n    \"groupName_it\": \"Bloodline Bonus\", \n    \"groupName_ja\": \"血統ボーナス\", \n    \"groupName_ko\": \"혈통 보너스\", \n    \"groupName_ru\": \"Родовое преимущество\", \n    \"groupName_zh\": \"血统加成\", \n    \"groupNameID\": 63711, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"191\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 14, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 191, \n    \"groupName_de\": \"Körperlicher Vorteil\", \n    \"groupName_en-us\": \"Physical Benefit\", \n    \"groupName_es\": \"Beneficio físico\", \n    \"groupName_fr\": \"Bénéfice physique\", \n    \"groupName_it\": \"Physical Benefit\", \n    \"groupName_ja\": \"フィジカルベネフィット\", \n    \"groupName_ko\": \"물리적 이익\", \n    \"groupName_ru\": \"Физическое преимущество\", \n    \"groupName_zh\": \"体质增强效果\", \n    \"groupNameID\": 63712, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"192\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 14, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 192, \n    \"groupName_de\": \"Körperliches Handicap\", \n    \"groupName_en-us\": \"Physical Handicap\", \n    \"groupName_es\": \"Desventaja física\", \n    \"groupName_fr\": \"Handicap physique\", \n    \"groupName_it\": \"Physical Handicap\", \n    \"groupName_ja\": \"フィジカルハンディキャップ\", \n    \"groupName_ko\": \"물리적 불이익\", \n    \"groupName_ru\": \"Физический недостаток\", \n    \"groupName_zh\": \"体质削弱效果\", \n    \"groupNameID\": 63713, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"193\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 14, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 193, \n    \"groupName_de\": \"Phobien-Handicap\", \n    \"groupName_en-us\": \"Phobia Handicap\", \n    \"groupName_es\": \"Desventaja de fobia\", \n    \"groupName_fr\": \"Phobie\", \n    \"groupName_it\": \"Phobia Handicap\", \n    \"groupName_ja\": \"フォビアハンディキャップ\", \n    \"groupName_ko\": \"혐오증적 불이익\", \n    \"groupName_ru\": \"Психологический недостаток\", \n    \"groupName_zh\": \"恐惧症不利效果\", \n    \"groupNameID\": 63714, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"194\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 14, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 194, \n    \"groupName_de\": \"Soziales Handicap\", \n    \"groupName_en-us\": \"Social Handicap\", \n    \"groupName_es\": \"Desventaja social\", \n    \"groupName_fr\": \"Handicap social\", \n    \"groupName_it\": \"Social Handicap\", \n    \"groupName_ja\": \"ソーシャルハンディキャップ\", \n    \"groupName_ko\": \"사회적 불이익\", \n    \"groupName_ru\": \"Социальный недостаток\", \n    \"groupName_zh\": \"社会交流不利效果\", \n    \"groupNameID\": 63715, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"195\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 14, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 195, \n    \"groupName_de\": \"Amarrianische Ausbildung\", \n    \"groupName_en-us\": \"Amarr Education\", \n    \"groupName_es\": \"Educación amarriana\", \n    \"groupName_fr\": \"Formation amarr\", \n    \"groupName_it\": \"Amarr Education\", \n    \"groupName_ja\": \"アマー教育\", \n    \"groupName_ko\": \"아마르 교육\", \n    \"groupName_ru\": \"Образование Amarr\", \n    \"groupName_zh\": \"艾玛种族教育\", \n    \"groupNameID\": 63716, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"196\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 14, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 196, \n    \"groupName_de\": \"Caldarische Ausbildung\", \n    \"groupName_en-us\": \"Caldari Education\", \n    \"groupName_es\": \"Educación caldari\", \n    \"groupName_fr\": \"Formation caldari\", \n    \"groupName_it\": \"Caldari Education\", \n    \"groupName_ja\": \"カルダリ教育\", \n    \"groupName_ko\": \"칼다리 교육\", \n    \"groupName_ru\": \"Образование Caldari\", \n    \"groupName_zh\": \"加达里种族教育\", \n    \"groupNameID\": 63717, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"197\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 14, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 197, \n    \"groupName_de\": \"Gallentische Ausbildung\", \n    \"groupName_en-us\": \"Gallente Education\", \n    \"groupName_es\": \"Educación gallente\", \n    \"groupName_fr\": \"Formation gallente\", \n    \"groupName_it\": \"Gallente Education\", \n    \"groupName_ja\": \"ガレンテ教育\", \n    \"groupName_ko\": \"갈란테 교육\", \n    \"groupName_ru\": \"Образование Gallente\", \n    \"groupName_zh\": \"盖伦特种族教育\", \n    \"groupNameID\": 63718, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"198\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 14, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 198, \n    \"groupName_de\": \"Minmatarische Ausbildung\", \n    \"groupName_en-us\": \"Minmatar Education\", \n    \"groupName_es\": \"Educación minmatariana\", \n    \"groupName_fr\": \"Formation minmatar\", \n    \"groupName_it\": \"Minmatar Education\", \n    \"groupName_ja\": \"ミンマター教育\", \n    \"groupName_ko\": \"민마타 교육\", \n    \"groupName_ru\": \"Образование Minmatar\", \n    \"groupName_zh\": \"米玛塔尔种族教育\", \n    \"groupNameID\": 63719, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"199\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 14, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 199, \n    \"groupName_de\": \"Karrierebonus\", \n    \"groupName_en-us\": \"Career Bonus\", \n    \"groupName_es\": \"Bonificación de trayectoria\", \n    \"groupName_fr\": \"Bonus de carrière\", \n    \"groupName_it\": \"Career Bonus\", \n    \"groupName_ja\": \"キャリアボーナス\", \n    \"groupName_ko\": \"커리어 보너스\", \n    \"groupName_ru\": \"Преимущество карьеры\", \n    \"groupName_zh\": \"职业加成\", \n    \"groupNameID\": 63720, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"201\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 201, \n    \"groupName_de\": \"ECM\", \n    \"groupName_en-us\": \"ECM\", \n    \"groupName_es\": \"ECM\", \n    \"groupName_fr\": \"CME\", \n    \"groupName_it\": \"ECM\", \n    \"groupName_ja\": \"ECM\", \n    \"groupName_ko\": \"ECM\", \n    \"groupName_ru\": \"Генератор помех системам сопровождения целей\", \n    \"groupName_zh\": \"ECM\", \n    \"groupNameID\": 63721, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"202\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 202, \n    \"groupName_de\": \"ECCM\", \n    \"groupName_en-us\": \"ECCM\", \n    \"groupName_es\": \"ECCM\", \n    \"groupName_fr\": \"CCME\", \n    \"groupName_it\": \"ECCM\", \n    \"groupName_ja\": \"ECCM\", \n    \"groupName_ko\": \"ECCM\", \n    \"groupName_ru\": \"Модуль ПРЭБ\", \n    \"groupName_zh\": \"ECCM发生器\", \n    \"groupNameID\": 63722, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"203\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 203, \n    \"groupName_de\": \"Sensor-Sicherungssystem\", \n    \"groupName_en-us\": \"Sensor Backup Array\", \n    \"groupName_es\": \"Sistema de sensores de apoyo\", \n    \"groupName_fr\": \"Module de secours de détection\", \n    \"groupName_it\": \"Sensor Backup Array\", \n    \"groupName_ja\": \"センサー補助\", \n    \"groupName_ko\": \"센서 백업 시설\", \n    \"groupName_ru\": \"Резервная сенсорная система\", \n    \"groupName_zh\": \"感应器支援阵列\", \n    \"groupNameID\": 63723, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"205\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 205, \n    \"groupName_de\": \"Kühlkörper\", \n    \"groupName_en-us\": \"Heat Sink\", \n    \"groupName_es\": \"Disipador de calor\", \n    \"groupName_fr\": \"Dissipateur thermique\", \n    \"groupName_it\": \"Heat Sink\", \n    \"groupName_ja\": \"放熱機\", \n    \"groupName_ko\": \"방열판\", \n    \"groupName_ru\": \"Радиатор\", \n    \"groupName_zh\": \"散热槽\", \n    \"groupNameID\": 63724, \n    \"iconID\": 26453, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"208\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 208, \n    \"groupName_de\": \"Sensordämpfer\", \n    \"groupName_en-us\": \"Sensor Dampener\", \n    \"groupName_es\": \"Atenuador de sensor\", \n    \"groupName_fr\": \"Atténuateur de détection\", \n    \"groupName_it\": \"Sensor Dampener\", \n    \"groupName_ja\": \"センサーダンプナー\", \n    \"groupName_ko\": \"센서 댐프너\", \n    \"groupName_ru\": \"Передатчик помех системам обнаружения целей\", \n    \"groupName_zh\": \"感应抑阻器\", \n    \"groupNameID\": 63725, \n    \"iconID\": 105, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"209\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 209, \n    \"groupName_de\": \"Remote Tracking Computer\", \n    \"groupName_en-us\": \"Remote Tracking Computer\", \n    \"groupName_es\": \"Ordenador de rastreo remoto\", \n    \"groupName_fr\": \"Ordinateur de suivi à distance\", \n    \"groupName_it\": \"Remote Tracking Computer\", \n    \"groupName_ja\": \"リモートトラッキングコンピューター\", \n    \"groupName_ko\": \"원격 트래킹 컴퓨터\", \n    \"groupName_ru\": \"Ретранслятор системы целеуказания\", \n    \"groupName_zh\": \"远距索敌计算机\", \n    \"groupNameID\": 63726, \n    \"iconID\": 3346, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"210\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 210, \n    \"groupName_de\": \"Signalverstärker\", \n    \"groupName_en-us\": \"Signal Amplifier\", \n    \"groupName_es\": \"Amplificador de señal\", \n    \"groupName_fr\": \"Amplificateur de signal\", \n    \"groupName_it\": \"Signal Amplifier\", \n    \"groupName_ja\": \"シグナル増幅器\", \n    \"groupName_ko\": \"신호 증폭기\", \n    \"groupName_ru\": \"Усилитель сигнала\", \n    \"groupName_zh\": \"信号放大器\", \n    \"groupNameID\": 63727, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"211\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 211, \n    \"groupName_de\": \"Nachführverbesserung\", \n    \"groupName_en-us\": \"Tracking Enhancer\", \n    \"groupName_es\": \"Intensificador de rastreo\", \n    \"groupName_fr\": \"Optimisateur de poursuite\", \n    \"groupName_it\": \"Tracking Enhancer\", \n    \"groupName_ja\": \"トラッキングエンハンサー\", \n    \"groupName_ko\": \"트래킹 향상장치\", \n    \"groupName_ru\": \"Приводы наводки орудий\", \n    \"groupName_zh\": \"索敌增强器\", \n    \"groupNameID\": 63728, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"212\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 212, \n    \"groupName_de\": \"Sensor-Booster\", \n    \"groupName_en-us\": \"Sensor Booster\", \n    \"groupName_es\": \"Potenciador de sensor\", \n    \"groupName_fr\": \"Booster de détection\", \n    \"groupName_it\": \"Sensor Booster\", \n    \"groupName_ja\": \"センサーブースター\", \n    \"groupName_ko\": \"센서 부스터\", \n    \"groupName_ru\": \"Активный усилитель для систем обнаружения целей\", \n    \"groupName_zh\": \"感应增强器\", \n    \"groupNameID\": 63729, \n    \"iconID\": 74, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"213\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 213, \n    \"groupName_de\": \"Nachführcomputer\", \n    \"groupName_en-us\": \"Tracking Computer\", \n    \"groupName_es\": \"Ordenador de rastreo\", \n    \"groupName_fr\": \"Ordinateur de suivi\", \n    \"groupName_it\": \"Tracking Computer\", \n    \"groupName_ja\": \"トラッキングコンピュータ\", \n    \"groupName_ko\": \"트래킹 컴퓨터\", \n    \"groupName_ru\": \"Орудийный вычислитель\", \n    \"groupName_zh\": \"索敌计算机\", \n    \"groupNameID\": 63730, \n    \"iconID\": 3346, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"218\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 218, \n    \"groupName_de\": \"Kühlkörper-Blueprint\", \n    \"groupName_en-us\": \"Heat Sink Blueprint\", \n    \"groupName_es\": \"Plano de disipador de calor\", \n    \"groupName_fr\": \"Plan de construction Dissipateur thermique\", \n    \"groupName_it\": \"Heat Sink Blueprint\", \n    \"groupName_ja\": \"放熱機ブループリント\", \n    \"groupName_ko\": \"방열판 블루프린트\", \n    \"groupName_ru\": \"Heat Sink Blueprint\", \n    \"groupName_zh\": \"散热槽蓝图\", \n    \"groupNameID\": 63731, \n    \"iconID\": 26453, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"223\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 223, \n    \"groupName_de\": \"Sensor-Booster-Blueprint\", \n    \"groupName_en-us\": \"Sensor Booster Blueprint\", \n    \"groupName_es\": \"Plano de potenciador de sensor\", \n    \"groupName_fr\": \"Plan de construction Booster de détection\", \n    \"groupName_it\": \"Sensor Booster Blueprint\", \n    \"groupName_ja\": \"センサーブースターブループリント\", \n    \"groupName_ko\": \"센서 부스터 블루프린트\", \n    \"groupName_ru\": \"Чертежи активного усилителя\", \n    \"groupName_zh\": \"感应增强设备蓝图\", \n    \"groupNameID\": 63732, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"224\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 224, \n    \"groupName_de\": \"Nachführcomputer-Blueprint\", \n    \"groupName_en-us\": \"Tracking Computer Blueprint\", \n    \"groupName_es\": \"Plano de ordenador de rastreo\", \n    \"groupName_fr\": \"Plan de construction Ordinateur de suivi\", \n    \"groupName_it\": \"Tracking Computer Blueprint\", \n    \"groupName_ja\": \"トラッキングコンピューターブループリント\", \n    \"groupName_ko\": \"트래킹 컴퓨터 블루프린트\", \n    \"groupName_ru\": \"Tracking Computer Blueprint\", \n    \"groupName_zh\": \"索敌计算机蓝图\", \n    \"groupNameID\": 63733, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"225\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 225, \n    \"groupName_de\": \"Cheat-Modul-Gruppe\", \n    \"groupName_en-us\": \"Cheat Module Group\", \n    \"groupName_es\": \"Grupo de módulo de trampas\", \n    \"groupName_fr\": \"Cheat Module Group\", \n    \"groupName_it\": \"Cheat Module Group\", \n    \"groupName_ja\": \"チートモジュールグループ\", \n    \"groupName_ko\": \"치트 모듈 그룹\", \n    \"groupName_ru\": \"Группа модуля взлома\", \n    \"groupName_zh\": \"神之装备\", \n    \"groupNameID\": 63734, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"226\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 226, \n    \"groupName_de\": \"Großes, statisches Objekt\", \n    \"groupName_en-us\": \"Large Collidable Object\", \n    \"groupName_es\": \"Objeto colisionable grande\", \n    \"groupName_fr\": \"Grand objet solide\", \n    \"groupName_it\": \"Large Collidable Object\", \n    \"groupName_ja\": \"大型オブジェクト（破壊可能）\", \n    \"groupName_ko\": \"대형 충돌체\", \n    \"groupName_ru\": \"Навигационная опасность\", \n    \"groupName_zh\": \"大型空间实体(LCO)\", \n    \"groupNameID\": 63735, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"227\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 227, \n    \"groupName_de\": \"Wolke\", \n    \"groupName_en-us\": \"Cloud\", \n    \"groupName_es\": \"Nube\", \n    \"groupName_fr\": \"Nuage\", \n    \"groupName_it\": \"Cloud\", \n    \"groupName_ja\": \"雲\", \n    \"groupName_ko\": \"성운\", \n    \"groupName_ru\": \"Облако\", \n    \"groupName_zh\": \"云状星体\", \n    \"groupNameID\": 63736, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"237\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 237, \n    \"groupName_de\": \"Corvette\", \n    \"groupName_en-us\": \"Corvette\", \n    \"groupName_es\": \"Corbeta\", \n    \"groupName_fr\": \"Corvette\", \n    \"groupName_it\": \"Corvette\", \n    \"groupName_ja\": \"コルベット艦\", \n    \"groupName_ko\": \"코르벳\", \n    \"groupName_ru\": \"Корветы\", \n    \"groupName_zh\": \"轻型护卫舰\", \n    \"groupNameID\": 63737, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"255\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 255, \n    \"groupName_de\": \"Waffenkunde\", \n    \"groupName_en-us\": \"Gunnery\", \n    \"groupName_es\": \"Artillería\", \n    \"groupName_fr\": \"Armement\", \n    \"groupName_it\": \"Gunnery\", \n    \"groupName_ja\": \"ガンナリー\", \n    \"groupName_ko\": \"터렛\", \n    \"groupName_ru\": \"Ведение орудийного огня\", \n    \"groupName_zh\": \"射击学\", \n    \"groupNameID\": 63738, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"256\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 256, \n    \"groupName_de\": \"Lenkwaffen\", \n    \"groupName_en-us\": \"Missiles\", \n    \"groupName_es\": \"Misiles\", \n    \"groupName_fr\": \"Missiles\", \n    \"groupName_it\": \"Missiles\", \n    \"groupName_ja\": \"ミサイル\", \n    \"groupName_ko\": \"미사일\", \n    \"groupName_ru\": \"Ведение ракетного огня\", \n    \"groupName_zh\": \"导弹\", \n    \"groupNameID\": 63739, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"257\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 257, \n    \"groupName_de\": \"Raumschiff-Kommando\", \n    \"groupName_en-us\": \"Spaceship Command\", \n    \"groupName_es\": \"Manejo de naves espaciales\", \n    \"groupName_fr\": \"Pilotage de vaisseau\", \n    \"groupName_it\": \"Spaceship Command\", \n    \"groupName_ja\": \"宇宙船操作\", \n    \"groupName_ko\": \"함선 운용\", \n    \"groupName_ru\": \"Допуски к управлению кораблями\", \n    \"groupName_zh\": \"飞船操控学\", \n    \"groupNameID\": 63740, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"258\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 258, \n    \"groupName_de\": \"Flottenunterstützung\", \n    \"groupName_en-us\": \"Fleet Support\", \n    \"groupName_es\": \"Apoyo a la flota\", \n    \"groupName_fr\": \"Soutien de flotte\", \n    \"groupName_it\": \"Fleet Support\", \n    \"groupName_ja\": \"フリート支援\", \n    \"groupName_ko\": \"함대 지원\", \n    \"groupName_ru\": \"Поддержка флотов\", \n    \"groupName_zh\": \"舰队支援\", \n    \"groupNameID\": 63741, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"266\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 266, \n    \"groupName_de\": \"Corporation-Management\", \n    \"groupName_en-us\": \"Corporation Management\", \n    \"groupName_es\": \"Gestión de corporaciones\", \n    \"groupName_fr\": \"Gestion de corporation\", \n    \"groupName_it\": \"Corporation Management\", \n    \"groupName_ja\": \"コーポレーションマネージメント\", \n    \"groupName_ko\": \"코퍼레이션 관리\", \n    \"groupName_ru\": \"Руководство корпорацией\", \n    \"groupName_zh\": \"军团管理\", \n    \"groupNameID\": 63742, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"267\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 267, \n    \"groupName_de\": \"Veraltete Bücher\", \n    \"groupName_en-us\": \"Obsolete Books\", \n    \"groupName_es\": \"Libros obsoletos\", \n    \"groupName_fr\": \"Livres obsolètes\", \n    \"groupName_it\": \"Obsolete Books\", \n    \"groupName_ja\": \"廃本\", \n    \"groupName_ko\": \"사용 중지된 책\", \n    \"groupName_ru\": \"Старые учебники\", \n    \"groupName_zh\": \"被人忘却的书\", \n    \"groupNameID\": 64401, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"268\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 268, \n    \"groupName_de\": \"Produktion\", \n    \"groupName_en-us\": \"Production\", \n    \"groupName_es\": \"Producción\", \n    \"groupName_fr\": \"Production\", \n    \"groupName_it\": \"Production\", \n    \"groupName_ja\": \"生産\", \n    \"groupName_ko\": \"생산품\", \n    \"groupName_ru\": \"Организация производства\", \n    \"groupName_zh\": \"生产\", \n    \"groupNameID\": 63743, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"269\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 269, \n    \"groupName_de\": \"Rigging\", \n    \"groupName_en-us\": \"Rigging\", \n    \"groupName_es\": \"Complementos\", \n    \"groupName_fr\": \"Optimisation\", \n    \"groupName_it\": \"Rigging\", \n    \"groupName_ja\": \"リグ\", \n    \"groupName_ko\": \"리그\", \n    \"groupName_ru\": \"Установка тюнинг-модулей\", \n    \"groupName_zh\": \"改装件\", \n    \"groupNameID\": 64437, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"270\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 270, \n    \"groupName_de\": \"Wissenschaft\", \n    \"groupName_en-us\": \"Science\", \n    \"groupName_es\": \"Ciencia\", \n    \"groupName_fr\": \"Science\", \n    \"groupName_it\": \"Science\", \n    \"groupName_ja\": \"サイエンス\", \n    \"groupName_ko\": \"과학\", \n    \"groupName_ru\": \"Научные дисциплины\", \n    \"groupName_zh\": \"科学\", \n    \"groupNameID\": 63744, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"272\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 272, \n    \"groupName_de\": \"Elektronische Systeme\", \n    \"groupName_en-us\": \"Electronic Systems\", \n    \"groupName_es\": \"Sistemas electrónicos\", \n    \"groupName_fr\": \"Systèmes électroniques\", \n    \"groupName_it\": \"Electronic Systems\", \n    \"groupName_ja\": \"電子システム\", \n    \"groupName_ko\": \"전자 시스템\", \n    \"groupName_ru\": \"Работа с бортовой электроникой\", \n    \"groupName_zh\": \"电子系统\", \n    \"groupNameID\": 63746, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"273\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 273, \n    \"groupName_de\": \"Drohnen\", \n    \"groupName_en-us\": \"Drones\", \n    \"groupName_es\": \"Drones\", \n    \"groupName_fr\": \"Drones\", \n    \"groupName_it\": \"Drones\", \n    \"groupName_ja\": \"ドローン\", \n    \"groupName_ko\": \"드론\", \n    \"groupName_ru\": \"Управление дронами\", \n    \"groupName_zh\": \"无人机\", \n    \"groupNameID\": 63747, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"274\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 274, \n    \"groupName_de\": \"Handel\", \n    \"groupName_en-us\": \"Trade\", \n    \"groupName_es\": \"Comercio\", \n    \"groupName_fr\": \"Commerce\", \n    \"groupName_it\": \"Trade\", \n    \"groupName_ja\": \"トレード\", \n    \"groupName_ko\": \"거래\", \n    \"groupName_ru\": \"Торговля\", \n    \"groupName_zh\": \"贸易学\", \n    \"groupNameID\": 63748, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"275\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 275, \n    \"groupName_de\": \"Navigation\", \n    \"groupName_en-us\": \"Navigation\", \n    \"groupName_es\": \"Navegación\", \n    \"groupName_fr\": \"Navigation\", \n    \"groupName_it\": \"Navigation\", \n    \"groupName_ja\": \"航行技術\", \n    \"groupName_ko\": \"항법\", \n    \"groupName_ru\": \"Эксплуатация двигателей\", \n    \"groupName_zh\": \"导航学\", \n    \"groupNameID\": 63749, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"278\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 278, \n    \"groupName_de\": \"Sozial\", \n    \"groupName_en-us\": \"Social\", \n    \"groupName_es\": \"Social\", \n    \"groupName_fr\": \"Social\", \n    \"groupName_it\": \"Social\", \n    \"groupName_ja\": \"ソーシャル\", \n    \"groupName_ko\": \"사회 커넥션\", \n    \"groupName_ru\": \"Развитие деловых отношений\", \n    \"groupName_zh\": \"社会学\", \n    \"groupNameID\": 63750, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"279\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 279, \n    \"groupName_de\": \"LCO-Drohne\", \n    \"groupName_en-us\": \"LCO Drone\", \n    \"groupName_es\": \"Dron OCG\", \n    \"groupName_fr\": \"Drone LCO\", \n    \"groupName_it\": \"LCO Drone\", \n    \"groupName_ja\": \"LCOドローン\", \n    \"groupName_ko\": \"LCO 드론\", \n    \"groupName_ru\": \"Дрон LCO\", \n    \"groupName_zh\": \"LCO 无人机\", \n    \"groupNameID\": 63751, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"280\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 280, \n    \"groupName_de\": \"Allgemein\", \n    \"groupName_en-us\": \"General\", \n    \"groupName_es\": \"General\", \n    \"groupName_fr\": \"Général\", \n    \"groupName_it\": \"General\", \n    \"groupName_ja\": \"ジェネラル\", \n    \"groupName_ko\": \"일반\", \n    \"groupName_ru\": \"Товары общего потребления\", \n    \"groupName_zh\": \"消费品\", \n    \"groupNameID\": 63752, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"281\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 281, \n    \"groupName_de\": \"Eingefroren\", \n    \"groupName_en-us\": \"Frozen\", \n    \"groupName_es\": \"Congelado\", \n    \"groupName_fr\": \"Gelé\", \n    \"groupName_it\": \"Frozen\", \n    \"groupName_ja\": \"冷凍保存の\", \n    \"groupName_ko\": \"냉동\", \n    \"groupName_ru\": \"Замороженные продукты\", \n    \"groupName_zh\": \"冷藏品\", \n    \"groupNameID\": 63753, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"282\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 282, \n    \"groupName_de\": \"Radioaktiv\", \n    \"groupName_en-us\": \"Radioactive\", \n    \"groupName_es\": \"Radiactivo\", \n    \"groupName_fr\": \"Radioactif\", \n    \"groupName_it\": \"Radioactive\", \n    \"groupName_ja\": \"放射性\", \n    \"groupName_ko\": \"방사성\", \n    \"groupName_ru\": \"Радиоактивные материалы\", \n    \"groupName_zh\": \"放射性物质\", \n    \"groupNameID\": 63754, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"283\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 283, \n    \"groupName_de\": \"Viehbestand\", \n    \"groupName_en-us\": \"Livestock\", \n    \"groupName_es\": \"Ganado\", \n    \"groupName_fr\": \"Bétail\", \n    \"groupName_it\": \"Livestock\", \n    \"groupName_ja\": \"生命体\", \n    \"groupName_ko\": \"생물체\", \n    \"groupName_ru\": \"Живой груз\", \n    \"groupName_zh\": \"有生货物\", \n    \"groupNameID\": 63755, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"284\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 284, \n    \"groupName_de\": \"Biologisches Risiko\", \n    \"groupName_en-us\": \"Biohazard\", \n    \"groupName_es\": \"Peligro biológico\", \n    \"groupName_fr\": \"Biorisque\", \n    \"groupName_it\": \"Biohazard\", \n    \"groupName_ja\": \"バイオハザード\", \n    \"groupName_ko\": \"생물학적 위협\", \n    \"groupName_ru\": \"Биологически опасные материалы\", \n    \"groupName_zh\": \"生化有害物\", \n    \"groupNameID\": 63756, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"285\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 285, \n    \"groupName_de\": \"CPU-Verbesserung\", \n    \"groupName_en-us\": \"CPU Enhancer\", \n    \"groupName_es\": \"Intensificador de CPU\", \n    \"groupName_fr\": \"Optimisateur de CPU\", \n    \"groupName_it\": \"CPU Enhancer\", \n    \"groupName_ja\": \"CPUエンハンサー\", \n    \"groupName_ko\": \"CPU 향상장치\", \n    \"groupName_ru\": \"Модуль апгрейда процессора\", \n    \"groupName_zh\": \"CPU增强设备\", \n    \"groupNameID\": 63757, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"286\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 286, \n    \"groupName_de\": \"Geringe Bedrohung\", \n    \"groupName_en-us\": \"Minor Threat\", \n    \"groupName_es\": \"Amenaza menor\", \n    \"groupName_fr\": \"Menace mineure\", \n    \"groupName_it\": \"Minor Threat\", \n    \"groupName_ja\": \"小さな脅威\", \n    \"groupName_ko\": \"소규모 위협\", \n    \"groupName_ru\": \"Незначительная угроза\", \n    \"groupName_zh\": \"较小威胁\", \n    \"groupNameID\": 63758, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"287\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 287, \n    \"groupName_de\": \"Raubdrohne\", \n    \"groupName_en-us\": \"Rogue Drone\", \n    \"groupName_es\": \"Dron rebelde\", \n    \"groupName_fr\": \"Drone renégat\", \n    \"groupName_it\": \"Rogue Drone\", \n    \"groupName_ja\": \"ローグドローン\", \n    \"groupName_ko\": \"로그 드론\", \n    \"groupName_ru\": \"Восставший дрон\", \n    \"groupName_zh\": \"自由无人机\", \n    \"groupNameID\": 63759, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"288\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 288, \n    \"groupName_de\": \"Fraktionsdrohne\", \n    \"groupName_en-us\": \"Faction Drone\", \n    \"groupName_es\": \"Dron de facción\", \n    \"groupName_fr\": \"Drone de faction\", \n    \"groupName_it\": \"Faction Drone\", \n    \"groupName_ja\": \"勢力別ドローン\", \n    \"groupName_ko\": \"팩션 드론\", \n    \"groupName_ru\": \"Дрон фракции\", \n    \"groupName_zh\": \"势力特属无人机\", \n    \"groupNameID\": 63760, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"289\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 289, \n    \"groupName_de\": \"Projiziertes ECCM\", \n    \"groupName_en-us\": \"Projected ECCM\", \n    \"groupName_es\": \"ECCM proyectadas\", \n    \"groupName_fr\": \"CCME projetée\", \n    \"groupName_it\": \"Projected ECCM\", \n    \"groupName_ja\": \"ECCMプロジェクション\", \n    \"groupName_ko\": \"강화 ECCM\", \n    \"groupName_ru\": \"Проекционный модуль ПРЭБ\", \n    \"groupName_zh\": \"投射型ECCM\", \n    \"groupNameID\": 63761, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"290\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 290, \n    \"groupName_de\": \"Fern-Sensoren-Booster\", \n    \"groupName_en-us\": \"Remote Sensor Booster\", \n    \"groupName_es\": \"Potenciador de sensor remoto\", \n    \"groupName_fr\": \"Booster de détection à distance\", \n    \"groupName_it\": \"Remote Sensor Booster\", \n    \"groupName_ja\": \"リモートセンサーブースター\", \n    \"groupName_ko\": \"원격 센서 부스터\", \n    \"groupName_ru\": \"Ретранслятор системы обнаружения целей\", \n    \"groupName_zh\": \"远程感应增强器\", \n    \"groupNameID\": 63762, \n    \"iconID\": 74, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"291\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 291, \n    \"groupName_de\": \"Waffenstörer\", \n    \"groupName_en-us\": \"Weapon Disruptor\", \n    \"groupName_es\": \"Disruptor de arma\", \n    \"groupName_fr\": \"Perturbateur d'armement\", \n    \"groupName_it\": \"Weapon Disruptor\", \n    \"groupName_ja\": \"ストラクチャ 兵器妨害器\", \n    \"groupName_ko\": \"무기 디스럽터\", \n    \"groupName_ru\": \"Помехопостановщики наводке орудий\", \n    \"groupName_zh\": \"武器扰断器\", \n    \"groupNameID\": 64295, \n    \"iconID\": 1639, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"295\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 295, \n    \"groupName_de\": \"Schildresistenzverstärker\", \n    \"groupName_en-us\": \"Shield Resistance Amplifier\", \n    \"groupName_es\": \"Amplificador de resistencia de escudo\", \n    \"groupName_fr\": \"Amplificateur de résistance de bouclier\", \n    \"groupName_it\": \"Shield Resistance Amplifier\", \n    \"groupName_ja\": \"シールドレジスタンス増幅器\", \n    \"groupName_ko\": \"실드 저항력 증폭기\", \n    \"groupName_ru\": \"Энергонезависимые модуляторы сопротивляемости полей\", \n    \"groupName_zh\": \"护盾抗性增效器\", \n    \"groupNameID\": 63763, \n    \"iconID\": 82, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"296\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 296, \n    \"groupName_de\": \"Schildresistenzverstärker Blaupause\", \n    \"groupName_en-us\": \"Shield Resistance Amplifier Blueprint\", \n    \"groupName_es\": \"Plano de amplificador de resistencia de escudo\", \n    \"groupName_fr\": \"Plan de construction Amplificateur de résistance de bouclier\", \n    \"groupName_it\": \"Shield Resistance Amplifier Blueprint\", \n    \"groupName_ja\": \"シールドレジスタンス増幅器設計図\", \n    \"groupName_ko\": \"실드 저항력 증폭기 블루프린트\", \n    \"groupName_ru\": \"Чертежи энергонезависимых модуляторов сопротивляемости полей\", \n    \"groupName_zh\": \"护盾抗性增效器蓝图\", \n    \"groupNameID\": 63764, \n    \"iconID\": 82, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"297\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 297, \n    \"groupName_de\": \"Konvoi\", \n    \"groupName_en-us\": \"Convoy\", \n    \"groupName_es\": \"Convoy\", \n    \"groupName_fr\": \"Convoi\", \n    \"groupName_it\": \"Convoy\", \n    \"groupName_ja\": \"輸送船団\", \n    \"groupName_ko\": \"수송대\", \n    \"groupName_ru\": \"Конвой\", \n    \"groupName_zh\": \"护航队\", \n    \"groupNameID\": 63765, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"298\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 298, \n    \"groupName_de\": \"Konvoidrohne\", \n    \"groupName_en-us\": \"Convoy Drone\", \n    \"groupName_es\": \"Dron de convoy\", \n    \"groupName_fr\": \"Drone de convoi\", \n    \"groupName_it\": \"Convoy Drone\", \n    \"groupName_ja\": \"輸送船団ドローン\", \n    \"groupName_ko\": \"수송대 드론\", \n    \"groupName_ru\": \"Дрон сопровождения\", \n    \"groupName_zh\": \"护卫无人机\", \n    \"groupNameID\": 63766, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"299\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 299, \n    \"groupName_de\": \"Reparaturdrohne\", \n    \"groupName_en-us\": \"Repair Drone\", \n    \"groupName_es\": \"Dron reparador\", \n    \"groupName_fr\": \"Drone de réparation\", \n    \"groupName_it\": \"Repair Drone\", \n    \"groupName_ja\": \"リペアドローン\", \n    \"groupName_ko\": \"수리드론\", \n    \"groupName_ru\": \"Ремонтный дрон\", \n    \"groupName_zh\": \"维修无人机\", \n    \"groupNameID\": 64344, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"300\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 300, \n    \"groupName_de\": \"Cyberimplantat\", \n    \"groupName_en-us\": \"Cyberimplant\", \n    \"groupName_es\": \"Ciberimplante\", \n    \"groupName_fr\": \"Implant cybernétique\", \n    \"groupName_it\": \"Cyberimplant\", \n    \"groupName_ja\": \"サイバーインプラント\", \n    \"groupName_ko\": \"사이버 임플란트\", \n    \"groupName_ru\": \"Кибернетический имплантат\", \n    \"groupName_zh\": \"脑植入体\", \n    \"groupNameID\": 63767, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"301\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 301, \n    \"groupName_de\": \"CONCORD-Drohne\", \n    \"groupName_en-us\": \"Concord Drone\", \n    \"groupName_es\": \"Dron de CONCORD\", \n    \"groupName_fr\": \"Drone Concord\", \n    \"groupName_it\": \"Concord Drone\", \n    \"groupName_ja\": \"CONCORDドローン\", \n    \"groupName_ko\": \"CONCORD 드론\", \n    \"groupName_ru\": \"Дрон Concord\", \n    \"groupName_zh\": \"统合部无人机\", \n    \"groupNameID\": 63768, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"302\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 302, \n    \"groupName_de\": \"Magnetischer-Feld-Stabilisator\", \n    \"groupName_en-us\": \"Magnetic Field Stabilizer\", \n    \"groupName_es\": \"Estabilizador de campo magnético\", \n    \"groupName_fr\": \"Stabilisateur de champ magnétique\", \n    \"groupName_it\": \"Magnetic Field Stabilizer\", \n    \"groupName_ja\": \"磁場制御器\", \n    \"groupName_ko\": \"자기장 안정기\", \n    \"groupName_ru\": \"Стабилизатор магнитного поля\", \n    \"groupName_zh\": \"磁场稳定设备\", \n    \"groupNameID\": 63769, \n    \"iconID\": 26454, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"303\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 303, \n    \"groupName_de\": \"Booster\", \n    \"groupName_en-us\": \"Booster\", \n    \"groupName_es\": \"Potenciador\", \n    \"groupName_fr\": \"Booster\", \n    \"groupName_it\": \"Booster\", \n    \"groupName_ja\": \"ブースター\", \n    \"groupName_ko\": \"부스터\", \n    \"groupName_ru\": \"Бустер\", \n    \"groupName_zh\": \"增效剂\", \n    \"groupNameID\": 63770, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"304\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 304, \n    \"groupName_de\": \"DNS-Mutator\", \n    \"groupName_en-us\": \"DNA Mutator\", \n    \"groupName_es\": \"Mutador de ADN\", \n    \"groupName_fr\": \"Modificateur d'ADN\", \n    \"groupName_it\": \"DNA Mutator\", \n    \"groupName_ja\": \"DNAミューテイター\", \n    \"groupName_ko\": \"DNA 변이장치\", \n    \"groupName_ru\": \"Модификатор ДНК\", \n    \"groupName_zh\": \"DNA变异植入体\", \n    \"groupNameID\": 63771, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"305\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 305, \n    \"groupName_de\": \"Komet\", \n    \"groupName_en-us\": \"Comet\", \n    \"groupName_es\": \"Comet\", \n    \"groupName_fr\": \"Comète\", \n    \"groupName_it\": \"Comet\", \n    \"groupName_ja\": \"コメット\", \n    \"groupName_ko\": \"코멧\", \n    \"groupName_ru\": \"Комета\", \n    \"groupName_zh\": \"彗星\", \n    \"groupNameID\": 63772, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"306\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 306, \n    \"groupName_de\": \"Spawn-Container\", \n    \"groupName_en-us\": \"Spawn Container\", \n    \"groupName_es\": \"Contenedor de aparición\", \n    \"groupName_fr\": \"Conteneur flottant\", \n    \"groupName_it\": \"Spawn Container\", \n    \"groupName_ja\": \"スポーンコンテナ\", \n    \"groupName_ko\": \"소환 컨테이너\", \n    \"groupName_ru\": \"Искусственный объект\", \n    \"groupName_zh\": \"可重生的货柜\", \n    \"groupNameID\": 63773, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"307\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 307, \n    \"groupName_de\": \"Konstruktionsplattform\", \n    \"groupName_en-us\": \"Construction Platform\", \n    \"groupName_es\": \"Plataforma de construcción\", \n    \"groupName_fr\": \"Plateforme de construction\", \n    \"groupName_it\": \"Construction Platform\", \n    \"groupName_ja\": \"建設プラットフォーム\", \n    \"groupName_ko\": \"건설 플랫폼\", \n    \"groupName_ru\": \"Строительная платформа\", \n    \"groupName_zh\": \"建筑平台\", \n    \"groupNameID\": 63774, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"308\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 308, \n    \"groupName_de\": \"Gegenmaßnahmen-Raketenwerfer\", \n    \"groupName_en-us\": \"Countermeasure Launcher\", \n    \"groupName_es\": \"Lanzador de contramedidas\", \n    \"groupName_fr\": \"Lanceur de contre-mesures\", \n    \"groupName_it\": \"Countermeasure Launcher\", \n    \"groupName_ja\": \"カウンターメジャーランチャー\", \n    \"groupName_ko\": \"대응체계 런처\", \n    \"groupName_ru\": \"Система постановки помех\", \n    \"groupName_zh\": \"导弹反制发射器\", \n    \"groupNameID\": 63775, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"309\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 309, \n    \"groupName_de\": \"Autopilot\", \n    \"groupName_en-us\": \"Autopilot\", \n    \"groupName_es\": \"Piloto automático\", \n    \"groupName_fr\": \"Pilotage automatique\", \n    \"groupName_it\": \"Autopilot\", \n    \"groupName_ja\": \"オートパイロット\", \n    \"groupName_ko\": \"오토파일럿\", \n    \"groupName_ru\": \"Автопилот\", \n    \"groupName_zh\": \"自动导航\", \n    \"groupNameID\": 63776, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"310\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 310, \n    \"groupName_de\": \"Signalfeuer\", \n    \"groupName_en-us\": \"Beacon\", \n    \"groupName_es\": \"Baliza\", \n    \"groupName_fr\": \"Balise\", \n    \"groupName_it\": \"Beacon\", \n    \"groupName_ja\": \"ビーコン\", \n    \"groupName_ko\": \"비컨\", \n    \"groupName_ru\": \"Маяк\", \n    \"groupName_zh\": \"信标\", \n    \"groupNameID\": 63777, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"311\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 311, \n    \"groupName_de\": \"Aufbereitungsanlage\", \n    \"groupName_en-us\": \"Reprocessing Array\", \n    \"groupName_es\": \"Matriz de reprocesamiento\", \n    \"groupName_fr\": \"Module de retraitement\", \n    \"groupName_it\": \"Reprocessing Array\", \n    \"groupName_ja\": \"再処理施設\", \n    \"groupName_ko\": \"정제시설\", \n    \"groupName_ru\": \"Reprocessing Array\", \n    \"groupName_zh\": \"提炼阵列\", \n    \"groupNameID\": 63778, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"312\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 312, \n    \"groupName_de\": \"Planetarische Wolke\", \n    \"groupName_en-us\": \"Planetary Cloud\", \n    \"groupName_es\": \"Nube planetaria\", \n    \"groupName_fr\": \"Nuage planétaire\", \n    \"groupName_it\": \"Planetary Cloud\", \n    \"groupName_ja\": \"惑星雲\", \n    \"groupName_ko\": \"행성 구름\", \n    \"groupName_ru\": \"Планетное облако\", \n    \"groupName_zh\": \"星云\", \n    \"groupNameID\": 63779, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"313\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 313, \n    \"groupName_de\": \"Drogen\", \n    \"groupName_en-us\": \"Drugs\", \n    \"groupName_es\": \"Estupefacientes\", \n    \"groupName_fr\": \"Drogues\", \n    \"groupName_it\": \"Drugs\", \n    \"groupName_ja\": \"薬物\", \n    \"groupName_ko\": \"약물\", \n    \"groupName_ru\": \"Наркотики\", \n    \"groupName_zh\": \"药品\", \n    \"groupNameID\": 63780, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"314\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 314, \n    \"groupName_de\": \"Diverse\", \n    \"groupName_en-us\": \"Miscellaneous\", \n    \"groupName_es\": \"Varios\", \n    \"groupName_fr\": \"Divers\", \n    \"groupName_it\": \"Miscellaneous\", \n    \"groupName_ja\": \"その他\", \n    \"groupName_ko\": \"기타 설정\", \n    \"groupName_ru\": \"Разное\", \n    \"groupName_zh\": \"其他\", \n    \"groupNameID\": 63781, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"315\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 315, \n    \"groupName_de\": \"Warpkern-Stabilisator\", \n    \"groupName_en-us\": \"Warp Core Stabilizer\", \n    \"groupName_es\": \"Estabilizador del núcleo de warp\", \n    \"groupName_fr\": \"Stabilisateur du réacteur de warp\", \n    \"groupName_it\": \"Warp Core Stabilizer\", \n    \"groupName_ja\": \"ワープコア制御装置\", \n    \"groupName_ko\": \"워프 코어 안정기\", \n    \"groupName_ru\": \"Стабилизатор квантового ядра\", \n    \"groupName_zh\": \"跃迁稳定器\", \n    \"groupNameID\": 63782, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"316\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 316, \n    \"groupName_de\": \"Gruppen-Koordinator\", \n    \"groupName_en-us\": \"Gang Coordinator\", \n    \"groupName_es\": \"Coordinador de banda\", \n    \"groupName_fr\": \"Coordinateur de gang\", \n    \"groupName_it\": \"Gang Coordinator\", \n    \"groupName_ja\": \"ギャングコーディネーター\", \n    \"groupName_ko\": \"워페어 링크\", \n    \"groupName_ru\": \"Модуль обеспечения флотского взаимодействия\", \n    \"groupName_zh\": \"团队协调系统\", \n    \"groupNameID\": 63783, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"317\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 317, \n    \"groupName_de\": \"Computer-Schnittstelle\", \n    \"groupName_en-us\": \"Computer Interface Node\", \n    \"groupName_es\": \"Nodo de interfaz de ordenador\", \n    \"groupName_fr\": \"Nœud d'interface informatique\", \n    \"groupName_it\": \"Computer Interface Node\", \n    \"groupName_ja\": \"コンピューターインターフェースポイント\", \n    \"groupName_ko\": \"컴퓨터 인터페이스 노드\", \n    \"groupName_ru\": \"Узел интерфейса компьютера\", \n    \"groupName_zh\": \"电脑接口节点\", \n    \"groupNameID\": 63784, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"318\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 318, \n    \"groupName_de\": \"Wahrzeichen\", \n    \"groupName_en-us\": \"Landmark\", \n    \"groupName_es\": \"Lugar emblemático\", \n    \"groupName_fr\": \"Repère\", \n    \"groupName_it\": \"Landmark\", \n    \"groupName_ja\": \"ランドマーク\", \n    \"groupName_ko\": \"랜드마크\", \n    \"groupName_ru\": \"Достопримечательность\", \n    \"groupName_zh\": \"地标\", \n    \"groupNameID\": 63785, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"319\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 319, \n    \"groupName_de\": \"Große, statische Struktur\", \n    \"groupName_en-us\": \"Large Collidable Structure\", \n    \"groupName_es\": \"Estructura colisionable grande\", \n    \"groupName_fr\": \"Grande structure solide\", \n    \"groupName_it\": \"Large Collidable Structure\", \n    \"groupName_ja\": \"大型建造物（破壊可能）\", \n    \"groupName_ko\": \"대형 충돌체 (구조물)\", \n    \"groupName_ru\": \"Материальное сооружение\", \n    \"groupName_zh\": \"大型可撞击的建筑\", \n    \"groupNameID\": 63786, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"321\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 321, \n    \"groupName_de\": \"Schildunterbrecher\", \n    \"groupName_en-us\": \"Shield Disruptor\", \n    \"groupName_es\": \"Disruptor de escudo\", \n    \"groupName_fr\": \"Perturbateur de bouclier\", \n    \"groupName_it\": \"Shield Disruptor\", \n    \"groupName_ja\": \"シールド妨害器\", \n    \"groupName_ko\": \"실드 디스럽터\", \n    \"groupName_ru\": \"Модуль дестабилизации щита\", \n    \"groupName_zh\": \"护盾干扰设备\", \n    \"groupNameID\": 63787, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"323\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 323, \n    \"groupName_de\": \"Plakatwand\", \n    \"groupName_en-us\": \"Billboard\", \n    \"groupName_es\": \"Cartel publicitario\", \n    \"groupName_fr\": \"Panneau d'affichage\", \n    \"groupName_it\": \"Billboard\", \n    \"groupName_ja\": \"看板\", \n    \"groupName_ko\": \"전광판\", \n    \"groupName_ru\": \"Информационный экран\", \n    \"groupName_zh\": \"公告屏\", \n    \"groupNameID\": 63788, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"324\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 324, \n    \"groupName_de\": \"Angriffsfregatte\", \n    \"groupName_en-us\": \"Assault Frigate\", \n    \"groupName_es\": \"Fragata de asalto\", \n    \"groupName_fr\": \"Frégate d’assaut\", \n    \"groupName_it\": \"Assault Frigate\", \n    \"groupName_ja\": \"強襲型フリゲート\", \n    \"groupName_ko\": \"어썰트 프리깃\", \n    \"groupName_ru\": \"Ударный фрегат\", \n    \"groupName_zh\": \"突击护卫舰\", \n    \"groupNameID\": 63789, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"325\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 325, \n    \"groupName_de\": \"Remote Armor Repairer\", \n    \"groupName_en-us\": \"Remote Armor Repairer\", \n    \"groupName_es\": \"Reparador de blindaje remoto\", \n    \"groupName_fr\": \"Réparateur de blindage à distance\", \n    \"groupName_it\": \"Remote Armor Repairer\", \n    \"groupName_ja\": \"リモートアーマーリペアラ\", \n    \"groupName_ko\": \"원격 장갑수리 장치\", \n    \"groupName_ru\": \"Установка дистанционного ремонта брони\", \n    \"groupName_zh\": \"远程装甲维修器\", \n    \"groupNameID\": 63790, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"326\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 326, \n    \"groupName_de\": \"Energized Armor Membrane\", \n    \"groupName_en-us\": \"Energized Armor Membrane\", \n    \"groupName_es\": \"Membrana de blindaje energizada\", \n    \"groupName_fr\": \"Membrane de blindage énergétique\", \n    \"groupName_it\": \"Energized Armor Membrane\", \n    \"groupName_ja\": \"電磁加工アーマー装甲\", \n    \"groupName_ko\": \"장갑 에너지 멤브레인\", \n    \"groupName_ru\": \"Подзаряжающаяся мембрана брони\", \n    \"groupName_zh\": \"电压装甲薄膜\", \n    \"groupNameID\": 63791, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"328\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 328, \n    \"groupName_de\": \"Panzerungshärtemittel\", \n    \"groupName_en-us\": \"Armor Hardener\", \n    \"groupName_es\": \"Endurecedor de blindaje\", \n    \"groupName_fr\": \"Renforcement du blindage\", \n    \"groupName_it\": \"Armor Hardener\", \n    \"groupName_ja\": \"アーマーハードナー\", \n    \"groupName_ko\": \"장갑 강화장치\", \n    \"groupName_ru\": \"Система укрепления брони\", \n    \"groupName_zh\": \"装甲增强器\", \n    \"groupNameID\": 63792, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"329\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 329, \n    \"groupName_de\": \"Panzerplatte\", \n    \"groupName_en-us\": \"Armor Plate\", \n    \"groupName_es\": \"Placa de blindaje\", \n    \"groupName_fr\": \"Revêtement de blindage\", \n    \"groupName_it\": \"Armor Plate\", \n    \"groupName_ja\": \"アーマープレート\", \n    \"groupName_ko\": \"장갑 플레이트\", \n    \"groupName_ru\": \"Бронеплита\", \n    \"groupName_zh\": \"装甲附甲板\", \n    \"groupNameID\": 63793, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"330\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 330, \n    \"groupName_de\": \"Tarnvorrichtung\", \n    \"groupName_en-us\": \"Cloaking Device\", \n    \"groupName_es\": \"Dispositivo de camuflaje\", \n    \"groupName_fr\": \"Dispositif de camouflage\", \n    \"groupName_it\": \"Cloaking Device\", \n    \"groupName_ja\": \"遮蔽装置\", \n    \"groupName_ko\": \"클로킹 장치\", \n    \"groupName_ru\": \"Система маскировки\", \n    \"groupName_zh\": \"隐身设备\", \n    \"groupNameID\": 63794, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"332\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 332, \n    \"groupName_de\": \"Werkzeug\", \n    \"groupName_en-us\": \"Tool\", \n    \"groupName_es\": \"Herramienta\", \n    \"groupName_fr\": \"Outil\", \n    \"groupName_it\": \"Tool\", \n    \"groupName_ja\": \"ツール\", \n    \"groupName_ko\": \"도구\", \n    \"groupName_ru\": \"Инструмент\", \n    \"groupName_zh\": \"工具\", \n    \"groupNameID\": 63795, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"333\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 333, \n    \"groupName_de\": \"Datenkerne\", \n    \"groupName_en-us\": \"Datacores\", \n    \"groupName_es\": \"Núcleos de datos\", \n    \"groupName_fr\": \"Banque de données\", \n    \"groupName_it\": \"Datacores\", \n    \"groupName_ja\": \"データコア\", \n    \"groupName_ko\": \"데이터코어\", \n    \"groupName_ru\": \"Инфоблоки\", \n    \"groupName_zh\": \"数据核心\", \n    \"groupNameID\": 63796, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"334\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 334, \n    \"groupName_de\": \"Konstruktionskomponenten\", \n    \"groupName_en-us\": \"Construction Components\", \n    \"groupName_es\": \"Componentes de construcción\", \n    \"groupName_fr\": \"Composants de construction\", \n    \"groupName_it\": \"Construction Components\", \n    \"groupName_ja\": \"建設資材\", \n    \"groupName_ko\": \"생산 부품\", \n    \"groupName_ru\": \"Производственные компоненты\", \n    \"groupName_zh\": \"建造组件\", \n    \"groupNameID\": 63797, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"335\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 335, \n    \"groupName_de\": \"Temporäre Wolke\", \n    \"groupName_en-us\": \"Temporary Cloud\", \n    \"groupName_es\": \"Nube temporal\", \n    \"groupName_fr\": \"Nuage temporaire\", \n    \"groupName_it\": \"Temporary Cloud\", \n    \"groupName_ja\": \"一時的なガス雲\", \n    \"groupName_ko\": \"일시적 구름\", \n    \"groupName_ru\": \"Временное облако\", \n    \"groupName_zh\": \"临时的云团\", \n    \"groupNameID\": 63798, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"336\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 336, \n    \"groupName_de\": \"Mobile Sentry-Gun\", \n    \"groupName_en-us\": \"Mobile Sentry Gun\", \n    \"groupName_es\": \"Torreta centinela móvil\", \n    \"groupName_fr\": \"Canon de sentinelle mobile\", \n    \"groupName_it\": \"Mobile Sentry Gun\", \n    \"groupName_ja\": \"移動型セントリーガン\", \n    \"groupName_ko\": \"이동식 센트리 포탑\", \n    \"groupName_ru\": \"Передвижное сторожевое орудие\", \n    \"groupName_zh\": \"移动式岗哨炮\", \n    \"groupNameID\": 63799, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"337\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 337, \n    \"groupName_de\": \"Missionsdrohne\", \n    \"groupName_en-us\": \"Mission Drone\", \n    \"groupName_es\": \"Dron de misión\", \n    \"groupName_fr\": \"Drone de mission\", \n    \"groupName_it\": \"Mission Drone\", \n    \"groupName_ja\": \"ミッションドローン\", \n    \"groupName_ko\": \"미션 드론\", \n    \"groupName_ru\": \"Дрон боевой группы\", \n    \"groupName_zh\": \"任务无人机\", \n    \"groupNameID\": 63800, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"338\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 338, \n    \"groupName_de\": \"Schildboostverstärker\", \n    \"groupName_en-us\": \"Shield Boost Amplifier\", \n    \"groupName_es\": \"Amplificador de potenciador de escudo\", \n    \"groupName_fr\": \"Amplificateur de booster de bouclier\", \n    \"groupName_it\": \"Shield Boost Amplifier\", \n    \"groupName_ja\": \"シールドブースト増幅器\", \n    \"groupName_ko\": \"실드 부스터 증폭기\", \n    \"groupName_ru\": \"Усилитель накачки щита\", \n    \"groupName_zh\": \"护盾回充增量放大器\", \n    \"groupNameID\": 63801, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"339\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 339, \n    \"groupName_de\": \"Zusätzlicher Energiekern\", \n    \"groupName_en-us\": \"Auxiliary Power Core\", \n    \"groupName_es\": \"Núcleo de potencia auxiliar\", \n    \"groupName_fr\": \"Alimentation auxiliaire\", \n    \"groupName_it\": \"Auxiliary Power Core\", \n    \"groupName_ja\": \"補助パワーコア\", \n    \"groupName_ko\": \"보조 파워코어\", \n    \"groupName_ru\": \"Вспомогательный реактор\", \n    \"groupName_zh\": \"辅助能源核心\", \n    \"groupNameID\": 63802, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"340\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 340, \n    \"groupName_de\": \"Sicherer Frachtcontainer\", \n    \"groupName_en-us\": \"Secure Cargo Container\", \n    \"groupName_es\": \"Contenedor de carga seguro\", \n    \"groupName_fr\": \"Conteneur de fret sécurisé\", \n    \"groupName_it\": \"Secure Cargo Container\", \n    \"groupName_ja\": \"セキュアカーゴコンテナ\", \n    \"groupName_ko\": \"보안 화물 컨테이너\", \n    \"groupName_ru\": \"Защищенный грузовой контейнер\", \n    \"groupName_zh\": \"安全货柜\", \n    \"groupNameID\": 64288, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"341\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 341, \n    \"groupName_de\": \"Signaturen verzerren\", \n    \"groupName_en-us\": \"Signature Scrambling\", \n    \"groupName_es\": \"Distorsionador de señal\", \n    \"groupName_fr\": \"Brouillage de signature\", \n    \"groupName_it\": \"Signature Scrambling\", \n    \"groupName_ja\": \"シグネチャスクランブル\", \n    \"groupName_ko\": \"신호 교란\", \n    \"groupName_ru\": \"Система маскировки сигнатуры\", \n    \"groupName_zh\": \"信号扰频器\", \n    \"groupNameID\": 63803, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"342\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 342, \n    \"groupName_de\": \"Anti-Warp-Störer-Blueprint\", \n    \"groupName_en-us\": \"Anti Warp Scrambler Blueprint\", \n    \"groupName_es\": \"Plano de antidistorsionador de warp\", \n    \"groupName_fr\": \"Plan de construction Anti-inhibiteur de warp\", \n    \"groupName_it\": \"Anti Warp Scrambler Blueprint\", \n    \"groupName_ja\": \"対ワープスクランブラーブループリント\", \n    \"groupName_ko\": \"대 워프 스크램블러 블루프린트\", \n    \"groupName_ru\": \"Чертеж системы противодействия квантовому подавлению\", \n    \"groupName_zh\": \"反跃迁扰频器蓝图\", \n    \"groupNameID\": 63804, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"343\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 343, \n    \"groupName_de\": \"Waffenstörer-Blaupause\", \n    \"groupName_en-us\": \"Weapon Disruptor Blueprint\", \n    \"groupName_es\": \"Plano de disruptor de armas\", \n    \"groupName_fr\": \"Plan de construction Perturbateur d'armement\", \n    \"groupName_it\": \"Weapon Disruptor Blueprint\", \n    \"groupName_ja\": \"兵器妨害器のブループリント\", \n    \"groupName_ko\": \"무기 디스럽터 블루프린트\", \n    \"groupName_ru\": \"Чертежи помехопостановщика наводке орудий\", \n    \"groupName_zh\": \"武器扰断器蓝图\", \n    \"groupNameID\": 63805, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"344\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 344, \n    \"groupName_de\": \"Nachführverbesserung-Blueprint\", \n    \"groupName_en-us\": \"Tracking Enhancer Blueprint\", \n    \"groupName_es\": \"Plano de intensificador de rastreo\", \n    \"groupName_fr\": \"Plan de construction Optimisateur de suivi\", \n    \"groupName_it\": \"Tracking Enhancer Blueprint\", \n    \"groupName_ja\": \"トラッキングエンハンサーブループリント\", \n    \"groupName_ko\": \"트래킹 향상장치 블루프린트\", \n    \"groupName_ru\": \"Чертежи приводов наводки орудий\", \n    \"groupName_zh\": \"索敌增强器蓝图\", \n    \"groupNameID\": 63806, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"345\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 345, \n    \"groupName_de\": \"Remote Tracking Computer Blueprint\", \n    \"groupName_en-us\": \"Remote Tracking Computer Blueprint\", \n    \"groupName_es\": \"Plano de ordenador de rastreo remoto\", \n    \"groupName_fr\": \"Plan de construction Ordinateur de suivi à distance\", \n    \"groupName_it\": \"Remote Tracking Computer Blueprint\", \n    \"groupName_ja\": \"リモートトラッキングコンピューターブループリント\", \n    \"groupName_ko\": \"원격 트래킹 컴퓨터 블루프린트\", \n    \"groupName_ru\": \"Чертеж ретранслятора системы целеуказания\", \n    \"groupName_zh\": \"远距索敌计算机蓝图\", \n    \"groupNameID\": 63807, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"346\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 346, \n    \"groupName_de\": \"Co-Prozessor-Blueprint\", \n    \"groupName_en-us\": \"Co-Processor Blueprint\", \n    \"groupName_es\": \"Plano de coprocesador\", \n    \"groupName_fr\": \"Plan de construction Coprocesseur\", \n    \"groupName_it\": \"Co-Processor Blueprint\", \n    \"groupName_ja\": \"コプロセッサーブループリント\", \n    \"groupName_ko\": \"보조 처리기 블루프린트\", \n    \"groupName_ru\": \"Чертеж сопроцессора\", \n    \"groupName_zh\": \"协处理器蓝图\", \n    \"groupNameID\": 63808, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"347\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 347, \n    \"groupName_de\": \"Signalverstärker-Blueprint\", \n    \"groupName_en-us\": \"Signal Amplifier Blueprint\", \n    \"groupName_es\": \"Plano de amplificador de señal\", \n    \"groupName_fr\": \"Plan de construction Amplificateur de signal\", \n    \"groupName_it\": \"Signal Amplifier Blueprint\", \n    \"groupName_ja\": \"シグナル増幅器設計図\", \n    \"groupName_ko\": \"신호 증폭기 블루프린트\", \n    \"groupName_ru\": \"Чертеж усилителя сигнала\", \n    \"groupName_zh\": \"信号放大器蓝图\", \n    \"groupNameID\": 63809, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"348\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 348, \n    \"groupName_de\": \"Panzerungshärtemittel-Blueprint\", \n    \"groupName_en-us\": \"Armor Hardener Blueprint\", \n    \"groupName_es\": \"Plano de endurecedor de blindaje\", \n    \"groupName_fr\": \"Plan de construction Renforcement du blindage\", \n    \"groupName_it\": \"Armor Hardener Blueprint\", \n    \"groupName_ja\": \"アーマーハードナーブループリント\", \n    \"groupName_ko\": \"장갑 강화장치 블루프린트\", \n    \"groupName_ru\": \"Чертеж системы укрепления брони\", \n    \"groupName_zh\": \"装甲增强器蓝图\", \n    \"groupNameID\": 63810, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"349\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 349, \n    \"groupName_de\": \"Panzerplatten-Blaupause\", \n    \"groupName_en-us\": \"Armor Plate Blueprint\", \n    \"groupName_es\": \"Plano de placa de blindaje\", \n    \"groupName_fr\": \"Plan de construction Revêtement de blindage\", \n    \"groupName_it\": \"Armor Plate Blueprint\", \n    \"groupName_ja\": \"アーマープレート設計図\", \n    \"groupName_ko\": \"장갑 플레이트 블루프린트\", \n    \"groupName_ru\": \"Чертёж бронеплиты\", \n    \"groupName_zh\": \"装甲附甲板蓝图\", \n    \"groupNameID\": 63811, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"350\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 350, \n    \"groupName_de\": \"Remote Armor Repairer Blueprint\", \n    \"groupName_en-us\": \"Remote Armor Repairer Blueprint\", \n    \"groupName_es\": \"Plano de reparador de blindaje remoto\", \n    \"groupName_fr\": \"Plan de construction Réparateur de blindage à distance\", \n    \"groupName_it\": \"Remote Armor Repairer Blueprint\", \n    \"groupName_ja\": \"リモートアーマーリペアラブループリント\", \n    \"groupName_ko\": \"원격 장갑수리 장치 블루프린트\", \n    \"groupName_ru\": \"Чертеж системы дистанционного ремонта брони\", \n    \"groupName_zh\": \"远程装甲维修器蓝图\", \n    \"groupNameID\": 63812, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"352\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 352, \n    \"groupName_de\": \"Zusätzlicher-Energiekern-Blueprint\", \n    \"groupName_en-us\": \"Auxiliary Power Core Blueprint\", \n    \"groupName_es\": \"Plano de núcleo de potencia auxiliar\", \n    \"groupName_fr\": \"Plan de construction Alimentation auxiliaire\", \n    \"groupName_it\": \"Auxiliary Power Core Blueprint\", \n    \"groupName_ja\": \"補助パワーコアブループリント\", \n    \"groupName_ko\": \"보조 파워코어 블루프린트\", \n    \"groupName_ru\": \"Чертеж вспомогательной силовой установки\", \n    \"groupName_zh\": \"辅助能源核心蓝图\", \n    \"groupNameID\": 63813, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"353\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 353, \n    \"groupName_de\": \"QA Module\", \n    \"groupName_en-us\": \"QA Module\", \n    \"groupName_es\": \"Módulo de control de calidad\", \n    \"groupName_fr\": \"Module AQ\", \n    \"groupName_it\": \"QA Module\", \n    \"groupName_ja\": \"QAモジュール\", \n    \"groupName_ko\": \"QA 모듈\", \n    \"groupName_ru\": \"Модули отдела контроля качества\", \n    \"groupName_zh\": \"QA测试装备\", \n    \"groupNameID\": 63814, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"355\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 355, \n    \"groupName_de\": \"Aufbereitbare Materialien\", \n    \"groupName_en-us\": \"Refinables\", \n    \"groupName_es\": \"Refinables\", \n    \"groupName_fr\": \"Raffinables\", \n    \"groupName_it\": \"Refinables\", \n    \"groupName_ja\": \"精錬可能物\", \n    \"groupName_ko\": \"정제가능 광물\", \n    \"groupName_ru\": \"Обогащаемые вещества\", \n    \"groupName_zh\": \"可精炼物质\", \n    \"groupNameID\": 63815, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"356\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 356, \n    \"groupName_de\": \"Werkzeug-Blueprint\", \n    \"groupName_en-us\": \"Tool Blueprint\", \n    \"groupName_es\": \"Plano de herramienta\", \n    \"groupName_fr\": \"Plan de construction Outil\", \n    \"groupName_it\": \"Tool Blueprint\", \n    \"groupName_ja\": \"ツールブループリント\", \n    \"groupName_ko\": \"도구 블루프린트\", \n    \"groupName_ru\": \"Чертеж инструмента\", \n    \"groupName_zh\": \"工具蓝图\", \n    \"groupNameID\": 63816, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"357\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 357, \n    \"groupName_de\": \"Drohnenhangar\\\">Buchterweiterung\", \n    \"groupName_en-us\": \"DroneBayExpander\", \n    \"groupName_es\": \"Expansor de plataforma de drones\", \n    \"groupName_fr\": \"Extension de hangar à drones\", \n    \"groupName_it\": \"DroneBayExpander\", \n    \"groupName_ja\": \"ドローンベイ拡張\", \n    \"groupName_ko\": \"드론 격납고 확장장치\", \n    \"groupName_ru\": \"DroneBayExpander\", \n    \"groupName_zh\": \"无人机挂舱扩展设备\", \n    \"groupNameID\": 63817, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"358\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 358, \n    \"groupName_de\": \"Schwerer Angriffskreuzer\", \n    \"groupName_en-us\": \"Heavy Assault Cruiser\", \n    \"groupName_es\": \"Crucero de asalto pesado\", \n    \"groupName_fr\": \"Croiseur d'assaut lourd\", \n    \"groupName_it\": \"Heavy Assault Cruiser\", \n    \"groupName_ja\": \"強襲型巡洋艦\", \n    \"groupName_ko\": \"어썰트 크루저\", \n    \"groupName_ru\": \"Тяжёлый ударный крейсер\", \n    \"groupName_zh\": \"重型突击巡洋舰\", \n    \"groupNameID\": 63818, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"360\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 360, \n    \"groupName_de\": \"Schildboostverstärker-Blueprint\", \n    \"groupName_en-us\": \"Shield Boost Amplifier Blueprint\", \n    \"groupName_es\": \"Plano de amplificador de potenciador de escudo\", \n    \"groupName_fr\": \"Plan de construction Amplificateur de booster de bouclier\", \n    \"groupName_it\": \"Shield Boost Amplifier Blueprint\", \n    \"groupName_ja\": \"シールドブースト増幅器ブループリント\", \n    \"groupName_ko\": \"실드 부스터 증폭기 블루프린트\", \n    \"groupName_ru\": \"Чертеж усилителя накачки щита\", \n    \"groupName_zh\": \"护盾回充增量增效器蓝图\", \n    \"groupNameID\": 63819, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"361\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 361, \n    \"groupName_de\": \"Mobiler Warp-Unterbrecher\", \n    \"groupName_en-us\": \"Mobile Warp Disruptor\", \n    \"groupName_es\": \"disruptor de warp móvil\", \n    \"groupName_fr\": \"Perturbateur de warp mobile\", \n    \"groupName_it\": \"Mobile Warp Disruptor\", \n    \"groupName_ja\": \"移動型ワープ妨害器\", \n    \"groupName_ko\": \"이동식 워프 디스럽터\", \n    \"groupName_ru\": \"Автономный генератор варп-помех\", \n    \"groupName_zh\": \"机动跃迁扰断器\", \n    \"groupNameID\": 63820, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"363\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 363, \n    \"groupName_de\": \"Schiffwartungsanlage\", \n    \"groupName_en-us\": \"Ship Maintenance Array\", \n    \"groupName_es\": \"Dársena de mantenimiento de naves\", \n    \"groupName_fr\": \"Module de maintenance de vaisseaux\", \n    \"groupName_it\": \"Ship Maintenance Array\", \n    \"groupName_ja\": \"船舶調整施設\", \n    \"groupName_ko\": \"함선 정비 시설\", \n    \"groupName_ru\": \"Ангарный блок\", \n    \"groupName_zh\": \"船只维护阵列\", \n    \"groupNameID\": 63821, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"364\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 364, \n    \"groupName_de\": \"Mobiles Lager\", \n    \"groupName_en-us\": \"Mobile Storage\", \n    \"groupName_es\": \"Almacén móvil\", \n    \"groupName_fr\": \"Capacité de stockage mobile\", \n    \"groupName_it\": \"Mobile Storage\", \n    \"groupName_ja\": \"移動型保管庫\", \n    \"groupName_ko\": \"이동식 저장고\", \n    \"groupName_ru\": \"Передвижное хранилище\", \n    \"groupName_zh\": \"移动贮藏设备\", \n    \"groupNameID\": 63822, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"365\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 365, \n    \"groupName_de\": \"Kontrollturm\", \n    \"groupName_en-us\": \"Control Tower\", \n    \"groupName_es\": \"Torre de control\", \n    \"groupName_fr\": \"Tour de contrôle\", \n    \"groupName_it\": \"Control Tower\", \n    \"groupName_ja\": \"コントロールタワー\", \n    \"groupName_ko\": \"관제타워\", \n    \"groupName_ru\": \"Башня управления базой\", \n    \"groupName_zh\": \"控制塔\", \n    \"groupNameID\": 63823, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"366\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 366, \n    \"groupName_de\": \"Warp-Tor\", \n    \"groupName_en-us\": \"Warp Gate\", \n    \"groupName_es\": \"Portal de warp\", \n    \"groupName_fr\": \"Portail de warp\", \n    \"groupName_it\": \"Warp Gate\", \n    \"groupName_ja\": \"ワープゲート\", \n    \"groupName_ko\": \"워프 게이트\", \n    \"groupName_ru\": \"Разгонные ворота\", \n    \"groupName_zh\": \"跃迁门\", \n    \"groupNameID\": 63824, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"367\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 367, \n    \"groupName_de\": \"Ballistikkontrollsystem\", \n    \"groupName_en-us\": \"Ballistic Control System\", \n    \"groupName_es\": \"Sistema de control balístico\", \n    \"groupName_fr\": \"Système de contrôle balistique\", \n    \"groupName_it\": \"Ballistic Control System\", \n    \"groupName_ja\": \"弾道制御装置\", \n    \"groupName_ko\": \"탄도 제어시스템\", \n    \"groupName_ru\": \"Система управления баллистикой\", \n    \"groupName_zh\": \"弹道控制系统\", \n    \"groupNameID\": 63825, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"368\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 368, \n    \"groupName_de\": \"Globaler Warp-Unterbrecher\", \n    \"groupName_en-us\": \"Global Warp Disruptor\", \n    \"groupName_es\": \"Disruptor de warp global\", \n    \"groupName_fr\": \"Perturbateur global de warp\", \n    \"groupName_it\": \"Global Warp Disruptor\", \n    \"groupName_ja\": \"グローバルワープ妨害器\", \n    \"groupName_ko\": \"전역 워프 디스럽터\", \n    \"groupName_ru\": \"Глобальный квантовый подавитель\", \n    \"groupName_zh\": \"全局跃迁扰断器\", \n    \"groupNameID\": 63826, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"369\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 369, \n    \"groupName_de\": \"Schiffslogbücher\", \n    \"groupName_en-us\": \"Ship Logs\", \n    \"groupName_es\": \"Cuadernos de bitácora\", \n    \"groupName_fr\": \"Journaux de bord\", \n    \"groupName_it\": \"Ship Logs\", \n    \"groupName_ja\": \"航行記録\", \n    \"groupName_ko\": \"항해 일지\", \n    \"groupName_ru\": \"Корабельные журналы\", \n    \"groupName_zh\": \"航行日志\", \n    \"groupNameID\": 63827, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"370\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 370, \n    \"groupName_de\": \"Erkennungsmarke eines Kriminellen\", \n    \"groupName_en-us\": \"Criminal Tags\", \n    \"groupName_es\": \"Chapas de criminal\", \n    \"groupName_fr\": \"Plaques de criminels\", \n    \"groupName_it\": \"Criminal Tags\", \n    \"groupName_ja\": \"犯罪者タグ\", \n    \"groupName_ko\": \"범죄자 인식표\", \n    \"groupName_ru\": \"Личные жетоны преступников\", \n    \"groupName_zh\": \"铭牌\", \n    \"groupNameID\": 63828, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"371\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 371, \n    \"groupName_de\": \"Mobiler-Warp-Unterbrecher-Blueprint\", \n    \"groupName_en-us\": \"Mobile Warp Disruptor Blueprint\", \n    \"groupName_es\": \"Plano de disruptor de warp móvil\", \n    \"groupName_fr\": \"Plan de construction Perturbateur de warp mobile\", \n    \"groupName_it\": \"Mobile Warp Disruptor Blueprint\", \n    \"groupName_ja\": \"移動型ワープ妨害器ブループリント\", \n    \"groupName_ko\": \"이동식 워프 디스럽터 블루프린트\", \n    \"groupName_ru\": \"Чертежи автономного генератора варп-помех\", \n    \"groupName_zh\": \"机动跃迁扰断器蓝图\", \n    \"groupNameID\": 63829, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"372\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 372, \n    \"groupName_de\": \"Fortgeschrittene Maschinenkanonenmunition\", \n    \"groupName_en-us\": \"Advanced Autocannon Ammo\", \n    \"groupName_es\": \"Munición avanzada de cañón automático\", \n    \"groupName_fr\": \"Munitions de canon automatique perfectionnées\", \n    \"groupName_it\": \"Advanced Autocannon Ammo\", \n    \"groupName_ja\": \"高性能オートキャノン弾\", \n    \"groupName_ko\": \"상급 기관포 탄약\", \n    \"groupName_ru\": \"Спецбоеприпасы для автопушек\", \n    \"groupName_zh\": \"高级自动加农炮弹药\", \n    \"groupNameID\": 63830, \n    \"iconID\": 1296, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"373\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 373, \n    \"groupName_de\": \"Fortgeschrittene Railgun-Ladung\", \n    \"groupName_en-us\": \"Advanced Railgun Charge\", \n    \"groupName_es\": \"Carga de cañón electromagnético avanzada\", \n    \"groupName_fr\": \"Charge de canon à rail perfectionnée\", \n    \"groupName_it\": \"Advanced Railgun Charge\", \n    \"groupName_ja\": \"最新型のレールガンの弾薬\", \n    \"groupName_ko\": \"상급 레일건 탄약\", \n    \"groupName_ru\": \"Спецбоеприпасы для рельсотронов\", \n    \"groupName_zh\": \"高级磁轨炮弹药\", \n    \"groupNameID\": 63831, \n    \"iconID\": 1321, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"374\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 374, \n    \"groupName_de\": \"Fortgeschrittener Strahllaser-Kristall\", \n    \"groupName_en-us\": \"Advanced Beam Laser Crystal\", \n    \"groupName_es\": \"Cristal avanzado de láser de rayos\", \n    \"groupName_fr\": \"Cristal de laser à rayons perfectionné\", \n    \"groupName_it\": \"Advanced Beam Laser Crystal\", \n    \"groupName_ja\": \"高性能ビームレーザークリスタル\", \n    \"groupName_ko\": \"상급 빔 레이저 크리스탈\", \n    \"groupName_ru\": \"Спецкристаллы для лазеров непрерывного действия\", \n    \"groupName_zh\": \"高级集束激光晶体\", \n    \"groupNameID\": 63832, \n    \"iconID\": 1145, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"375\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 375, \n    \"groupName_de\": \"Fortgeschrittener Impulslaser-Kristall\", \n    \"groupName_en-us\": \"Advanced Pulse Laser Crystal\", \n    \"groupName_es\": \"Cristal avanzado de láser de pulsos\", \n    \"groupName_fr\": \"Cristal de laser à impulsion perfectionné\", \n    \"groupName_it\": \"Advanced Pulse Laser Crystal\", \n    \"groupName_ja\": \"高性能パルスレーザー用\", \n    \"groupName_ko\": \"상급 펄스 레이저 크리스탈\", \n    \"groupName_ru\": \"Спецкристаллы для импульсных лазеров\", \n    \"groupName_zh\": \"高级脉冲激光晶体\", \n    \"groupNameID\": 63833, \n    \"iconID\": 1140, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"376\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 376, \n    \"groupName_de\": \"Fortgeschrittene Artilleriemunition\", \n    \"groupName_en-us\": \"Advanced Artillery Ammo\", \n    \"groupName_es\": \"Munición avanzada de artillería\", \n    \"groupName_fr\": \"Munitions d’artillerie perfectionnées\", \n    \"groupName_it\": \"Advanced Artillery Ammo\", \n    \"groupName_ja\": \"高性能アーティレリ弾\", \n    \"groupName_ko\": \"상급 함포 탄약\", \n    \"groupName_ru\": \"Спецбоеприпасы для артиллерийских орудий\", \n    \"groupName_zh\": \"高级火炮弹药\", \n    \"groupNameID\": 63834, \n    \"iconID\": 1292, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"377\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 377, \n    \"groupName_de\": \"Fortgeschrittene Blaster-Ladung\", \n    \"groupName_en-us\": \"Advanced Blaster Charge\", \n    \"groupName_es\": \"Carga avanzada de bláster\", \n    \"groupName_fr\": \"Charge de blaster perfectionnée\", \n    \"groupName_it\": \"Advanced Blaster Charge\", \n    \"groupName_ja\": \"最新型のブラスターの弾薬\", \n    \"groupName_ko\": \"상급 블라스터 탄약\", \n    \"groupName_ru\": \"Спецбоеприпасы для бластеров\", \n    \"groupName_zh\": \"高级疾速炮弹药\", \n    \"groupNameID\": 63835, \n    \"iconID\": 1317, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"378\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 378, \n    \"groupName_de\": \"Tempomat\", \n    \"groupName_en-us\": \"Cruise Control\", \n    \"groupName_es\": \"Control de crucero\", \n    \"groupName_fr\": \"Régulateur de vitesse\", \n    \"groupName_it\": \"Cruise Control\", \n    \"groupName_ja\": \"巡航制御器\", \n    \"groupName_ko\": \"크루즈 컨트롤\", \n    \"groupName_ru\": \"Система поддержания скорости\", \n    \"groupName_zh\": \"巡航控制\", \n    \"groupNameID\": 63836, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"379\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 379, \n    \"groupName_de\": \"Zielmarkierer\", \n    \"groupName_en-us\": \"Target Painter\", \n    \"groupName_es\": \"revelador de objetivo\", \n    \"groupName_fr\": \"Marqueur de cible\", \n    \"groupName_it\": \"Target Painter\", \n    \"groupName_ja\": \"ターゲットペインター\", \n    \"groupName_ko\": \"타겟 페인터\", \n    \"groupName_ru\": \"Система подсветки целей\", \n    \"groupName_zh\": \"目标标记装置\", \n    \"groupNameID\": 63837, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"380\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 380, \n    \"groupName_de\": \"Deep Space Transport\", \n    \"groupName_en-us\": \"Deep Space Transport\", \n    \"groupName_es\": \"Transporte del espacio profundo\", \n    \"groupName_fr\": \"Transport d'espace profond\", \n    \"groupName_it\": \"Deep Space Transport\", \n    \"groupName_ja\": \"深宇宙用特化型輸送艦\", \n    \"groupName_ko\": \"딥스페이스 트랜스포터\", \n    \"groupName_ru\": \"Транспорт фронтирного типа\", \n    \"groupName_zh\": \"深层空间运输舰\", \n    \"groupNameID\": 63838, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"381\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 381, \n    \"groupName_de\": \"Elite-Schlachtschiff\", \n    \"groupName_en-us\": \"Elite Battleship\", \n    \"groupName_es\": \"Acorazado de élite\", \n    \"groupName_fr\": \"Cuirassé d'élite\", \n    \"groupName_it\": \"Elite Battleship\", \n    \"groupName_ja\": \"エリート戦艦\", \n    \"groupName_ko\": \"엘리트 배틀쉽\", \n    \"groupName_ru\": \"Линкор специального назначения\", \n    \"groupName_zh\": \"精英战列舰\", \n    \"groupNameID\": 63839, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"382\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 382, \n    \"groupName_de\": \"Transportkisten\", \n    \"groupName_en-us\": \"Shipping Crates\", \n    \"groupName_es\": \"Cajas de envío\", \n    \"groupName_fr\": \"Caisses de transport\", \n    \"groupName_it\": \"Shipping Crates\", \n    \"groupName_ja\": \"輸送コンテナ\", \n    \"groupName_ko\": \"화물\", \n    \"groupName_ru\": \"Упаковочные ящики\", \n    \"groupName_zh\": \"集装箱\", \n    \"groupNameID\": 63840, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"383\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 383, \n    \"groupName_de\": \"Zerstörbare Sentry-Gun\", \n    \"groupName_en-us\": \"Destructible Sentry Gun\", \n    \"groupName_es\": \"Torreta centinela destructible\", \n    \"groupName_fr\": \"Canon de sentinelle destructible\", \n    \"groupName_it\": \"Destructible Sentry Gun\", \n    \"groupName_ja\": \"セントリーガン（破壊可能）\", \n    \"groupName_ko\": \"파괴 가능한 센트리 포탑\", \n    \"groupName_ru\": \"Разрушаемое автоматическое орудие\", \n    \"groupName_zh\": \"可击毁的岗哨炮\", \n    \"groupNameID\": 63841, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"384\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 384, \n    \"groupName_de\": \"Leichte Rakete\", \n    \"groupName_en-us\": \"Light Missile\", \n    \"groupName_es\": \"Misil ligero\", \n    \"groupName_fr\": \"Missile léger\", \n    \"groupName_it\": \"Light Missile\", \n    \"groupName_ja\": \"ライトミサイル\", \n    \"groupName_ko\": \"라이트 미사일\", \n    \"groupName_ru\": \"Ракета малой мощности\", \n    \"groupName_zh\": \"轻型导弹\", \n    \"groupNameID\": 63842, \n    \"iconID\": 192, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"385\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 385, \n    \"groupName_de\": \"Schwere Rakete\", \n    \"groupName_en-us\": \"Heavy Missile\", \n    \"groupName_es\": \"Misil pesado\", \n    \"groupName_fr\": \"Missile lourd\", \n    \"groupName_it\": \"Heavy Missile\", \n    \"groupName_ja\": \"ヘビーミサイル\", \n    \"groupName_ko\": \"헤비 미사일\", \n    \"groupName_ru\": \"Ракета большой мощности\", \n    \"groupName_zh\": \"重型导弹\", \n    \"groupNameID\": 63843, \n    \"iconID\": 188, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"386\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 386, \n    \"groupName_de\": \"Cruise Missile\", \n    \"groupName_en-us\": \"Cruise Missile\", \n    \"groupName_es\": \"Misil de crucero\", \n    \"groupName_fr\": \"Missile de croisière\", \n    \"groupName_it\": \"Cruise Missile\", \n    \"groupName_ja\": \"クルーズミサイル\", \n    \"groupName_ko\": \"크루즈 미사일\", \n    \"groupName_ru\": \"Ракета дальнего боя\", \n    \"groupName_zh\": \"巡航导弹\", \n    \"groupNameID\": 63844, \n    \"iconID\": 182, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"387\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 387, \n    \"groupName_de\": \"Rakete\", \n    \"groupName_en-us\": \"Rocket\", \n    \"groupName_es\": \"Cohete\", \n    \"groupName_fr\": \"Roquette\", \n    \"groupName_it\": \"Rocket\", \n    \"groupName_ja\": \"ロケット\", \n    \"groupName_ko\": \"로켓\", \n    \"groupName_ru\": \"Ракета ближнего боя\", \n    \"groupName_zh\": \"火箭\", \n    \"groupNameID\": 63845, \n    \"iconID\": 1352, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"394\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 394, \n    \"groupName_de\": \"Lenkwaffe mit Auto-Zielerfassung (Leicht)\", \n    \"groupName_en-us\": \"Auto-Targeting Light Missile\", \n    \"groupName_es\": \"Misil ligero de adquisición automática de objetivos\", \n    \"groupName_fr\": \"Missile léger à ciblage automatique\", \n    \"groupName_it\": \"Auto-Targeting Light Missile\", \n    \"groupName_ja\": \"自動捕捉型ライトミサイル\", \n    \"groupName_ko\": \"오토 타겟팅 라이트 미사일\", \n    \"groupName_ru\": \"Лёгкая ракета с авто-наведением\", \n    \"groupName_zh\": \"自动锁定轻型导弹\", \n    \"groupNameID\": 63846, \n    \"iconID\": 1336, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"395\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 395, \n    \"groupName_de\": \"Lenkwaffe mit Auto-Zielerfassung (Schwer)\", \n    \"groupName_en-us\": \"Auto-Targeting Heavy Missile\", \n    \"groupName_es\": \"Misil pesado de adquisición automática de objetivos\", \n    \"groupName_fr\": \"Missile lourd à ciblage automatique\", \n    \"groupName_it\": \"Auto-Targeting Heavy Missile\", \n    \"groupName_ja\": \"自動捕捉型ヘビーミサイル\", \n    \"groupName_ko\": \"오토 타겟팅 헤비 비사일\", \n    \"groupName_ru\": \"Тяжёлая ракета с авто-наведением\", \n    \"groupName_zh\": \"自动锁定重型导弹\", \n    \"groupNameID\": 63847, \n    \"iconID\": 1339, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"396\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 396, \n    \"groupName_de\": \"Lenkwaffe mit Auto-Zielerfassung (Marschflugkörper)\", \n    \"groupName_en-us\": \"Auto-Targeting Cruise Missile\", \n    \"groupName_es\": \"Misil de crucero de adquisición automática de objetivos\", \n    \"groupName_fr\": \"Missile de croisière à ciblage automatique\", \n    \"groupName_it\": \"Auto-Targeting Cruise Missile\", \n    \"groupName_ja\": \"自動捕捉型クルーズミサイル\", \n    \"groupName_ko\": \"오토 타겟팅 크루즈 미사일\", \n    \"groupName_ru\": \"Дальнобойная ракета с авто-наведением\", \n    \"groupName_zh\": \"自动锁定巡航导弹\", \n    \"groupNameID\": 63848, \n    \"iconID\": 1344, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"397\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 397, \n    \"groupName_de\": \"Fertigungsanlage\", \n    \"groupName_en-us\": \"Assembly Array\", \n    \"groupName_es\": \"Batería de montaje\", \n    \"groupName_fr\": \"Module d'assemblage\", \n    \"groupName_it\": \"Assembly Array\", \n    \"groupName_ja\": \"組み立て施設\", \n    \"groupName_ko\": \"생산시설\", \n    \"groupName_ru\": \"Сборочная линия\", \n    \"groupName_zh\": \"装配阵列\", \n    \"groupNameID\": 63849, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"400\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 400, \n    \"groupName_de\": \"Ballistisches-Kontrollsystem-Blueprint\", \n    \"groupName_en-us\": \"Ballistic Control System Blueprint\", \n    \"groupName_es\": \"Plano del sistema de control balístico I\", \n    \"groupName_fr\": \"Plan de construction Système de contrôle balistique\", \n    \"groupName_it\": \"Ballistic Control System Blueprint\", \n    \"groupName_ja\": \"弾道制御装置ブループリント\", \n    \"groupName_ko\": \"탄도 제어시스템 블루프린트\", \n    \"groupName_ru\": \"Чертеж баллистического вычислителя\", \n    \"groupName_zh\": \"弹道控制系统蓝图\", \n    \"groupNameID\": 63850, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"401\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 401, \n    \"groupName_de\": \"Tarnvorrichtung-Blueprint\", \n    \"groupName_en-us\": \"Cloaking Device Blueprint\", \n    \"groupName_es\": \"Plano de dispositivo de camuflaje\", \n    \"groupName_fr\": \"Plan de construction Dispositif de camouflage\", \n    \"groupName_it\": \"Cloaking Device Blueprint\", \n    \"groupName_ja\": \"遮蔽装置ブループリント\", \n    \"groupName_ko\": \"클로킹 장치 블루프린트\", \n    \"groupName_ru\": \"Чертежи системы маскировки\", \n    \"groupName_zh\": \"隐形装置蓝图\", \n    \"groupNameID\": 63851, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"404\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 404, \n    \"groupName_de\": \"Silo\", \n    \"groupName_en-us\": \"Silo\", \n    \"groupName_es\": \"Depósito\", \n    \"groupName_fr\": \"Silo\", \n    \"groupName_it\": \"Silo\", \n    \"groupName_ja\": \"貯蔵庫\", \n    \"groupName_ko\": \"사일로\", \n    \"groupName_ru\": \"Хранилище\", \n    \"groupName_zh\": \"储藏库\", \n    \"groupNameID\": 63852, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"405\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 405, \n    \"groupName_de\": \"Enttarnungsimpuls\", \n    \"groupName_en-us\": \"Anti Cloaking Pulse\", \n    \"groupName_es\": \"Pulso anticamuflaje\", \n    \"groupName_fr\": \"Impulsion anti-camouflage\", \n    \"groupName_it\": \"Anti Cloaking Pulse\", \n    \"groupName_ja\": \"遮蔽探知パルス\", \n    \"groupName_ko\": \"대 클로킹 펄스\", \n    \"groupName_ru\": \"Система импульсной демаскировки\", \n    \"groupName_zh\": \"反隐身脉冲\", \n    \"groupNameID\": 63853, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"406\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 406, \n    \"groupName_de\": \"Smartbomb-Supercharger\", \n    \"groupName_en-us\": \"Smartbomb Supercharger\", \n    \"groupName_es\": \"Supercargador de bomba inteligente\", \n    \"groupName_fr\": \"Superchargeur de bombe de proximité\", \n    \"groupName_it\": \"Smartbomb Supercharger\", \n    \"groupName_ja\": \"スマートボムスーパーチャージャー\", \n    \"groupName_ko\": \"스마트폭탄 슈퍼차지\", \n    \"groupName_ru\": \"Система накачки импульсных излучателей\", \n    \"groupName_zh\": \"立体炸弹增压器\", \n    \"groupNameID\": 63854, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"407\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 407, \n    \"groupName_de\": \"Jäger-Unterstützungseinheit\", \n    \"groupName_en-us\": \"Fighter Support Unit\", \n    \"groupName_es\": \"Unidad de apoyo para cazas\", \n    \"groupName_fr\": \"Unité de soutien de chasseurs\", \n    \"groupName_it\": \"Fighter Support Unit\", \n    \"groupName_ja\": \"戦闘機サポートユニット\", \n    \"groupName_ko\": \"파이터 보조 장치\", \n    \"groupName_ru\": \"Модуль поддержки истребителей\", \n    \"groupName_zh\": \"铁骑舰载机辅助单元\", \n    \"groupNameID\": 63855, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"408\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 408, \n    \"groupName_de\": \"Drohnenupgrade-Blaupause\", \n    \"groupName_en-us\": \"Drone Upgrade Blueprint\", \n    \"groupName_es\": \"Plano de mejora de dron\", \n    \"groupName_fr\": \"Plan de construction Amélioration de drone\", \n    \"groupName_it\": \"Drone Upgrade Blueprint\", \n    \"groupName_ja\": \"ドローンアップグレードのブループリント\", \n    \"groupName_ko\": \"드론 업그레이드 모듈 블루프린트\", \n    \"groupName_ru\": \"Чертежи пакетов усиления дронов\", \n    \"groupName_zh\": \"无人机升级件蓝图\", \n    \"groupNameID\": 63856, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"409\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 409, \n    \"groupName_de\": \"Imperiumsabzeichen-Vergabe\", \n    \"groupName_en-us\": \"Empire Insignia Drops\", \n    \"groupName_es\": \"Botín de insignia del Imperio\", \n    \"groupName_fr\": \"Colis d'insigne de l'empire\", \n    \"groupName_it\": \"Empire Insignia Drops\", \n    \"groupName_ja\": \"帝国記章遺留品\", \n    \"groupName_ko\": \"계급장\", \n    \"groupName_ru\": \"Идентификаторы офицеров флота\", \n    \"groupName_zh\": \"帝国勋章\", \n    \"groupNameID\": 63857, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"410\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 410, \n    \"groupName_de\": \"Enttarnungsimpuls-Blueprint\", \n    \"groupName_en-us\": \"Anti Cloaking Pulse Blueprint\", \n    \"groupName_es\": \"Plano de pulso anticamuflaje\", \n    \"groupName_fr\": \"Plan de construction Impulsion anti-camouflage\", \n    \"groupName_it\": \"Anti Cloaking Pulse Blueprint\", \n    \"groupName_ja\": \"遮蔽探知パルスブループリント\", \n    \"groupName_ko\": \"대 클로킹 펄스 블루프린트\", \n    \"groupName_ru\": \"Чертеж импульсной системы демаскировки\", \n    \"groupName_zh\": \"反隐身脉冲蓝图\", \n    \"groupNameID\": 64334, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"411\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 411, \n    \"groupName_de\": \"Kraftfeld\", \n    \"groupName_en-us\": \"Force Field\", \n    \"groupName_es\": \"Campo de fuerza\", \n    \"groupName_fr\": \"Champ de force\", \n    \"groupName_it\": \"Force Field\", \n    \"groupName_ja\": \"フォースフィールド\", \n    \"groupName_ko\": \"포스필드\", \n    \"groupName_ru\": \"Силовое поле\", \n    \"groupName_zh\": \"力场\", \n    \"groupNameID\": 63858, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"413\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 413, \n    \"groupName_de\": \"Labor\", \n    \"groupName_en-us\": \"Laboratory\", \n    \"groupName_es\": \"Laboratorio\", \n    \"groupName_fr\": \"Laboratoire\", \n    \"groupName_it\": \"Laboratory\", \n    \"groupName_ja\": \"研究施設\", \n    \"groupName_ko\": \"연구실\", \n    \"groupName_ru\": \"Лаборатория\", \n    \"groupName_zh\": \"实验室\", \n    \"groupNameID\": 63859, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"414\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 414, \n    \"groupName_de\": \"Mobiler Energiekern\", \n    \"groupName_en-us\": \"Mobile Power Core\", \n    \"groupName_es\": \"Núcleo de potencia móvil\", \n    \"groupName_fr\": \"Alimentation mobile\", \n    \"groupName_it\": \"Mobile Power Core\", \n    \"groupName_ja\": \"移動型パワーコア\", \n    \"groupName_ko\": \"이동식 파워코어\", \n    \"groupName_ru\": \"Передвижная силовая установка\", \n    \"groupName_zh\": \"移动能源阵列\", \n    \"groupNameID\": 63860, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"416\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 416, \n    \"groupName_de\": \"Mond-Bergbau\", \n    \"groupName_en-us\": \"Moon Mining\", \n    \"groupName_es\": \"Minería lunar\", \n    \"groupName_fr\": \"Extraction lunaire\", \n    \"groupName_it\": \"Moon Mining\", \n    \"groupName_ja\": \"衛星の採掘\", \n    \"groupName_ko\": \"위성 채굴\", \n    \"groupName_ru\": \"Комплекс экстракции со спутника\", \n    \"groupName_zh\": \"卫星开采设备\", \n    \"groupNameID\": 63861, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"417\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 417, \n    \"groupName_de\": \"Mobiler Raketen-Wachposten\", \n    \"groupName_en-us\": \"Mobile Missile Sentry\", \n    \"groupName_es\": \"Estructura centinela de misiles móvil\", \n    \"groupName_fr\": \"Sentinelle à missiles mobile\", \n    \"groupName_it\": \"Mobile Missile Sentry\", \n    \"groupName_ja\": \"移動式ミサイルセントリー\", \n    \"groupName_ko\": \"이동식 미사일 센트리\", \n    \"groupName_ru\": \"Передвижная автоматическая ракетная установка\", \n    \"groupName_zh\": \"移动导弹岗哨炮\", \n    \"groupNameID\": 63862, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"418\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 418, \n    \"groupName_de\": \"Mobiler Schildgenerator\", \n    \"groupName_en-us\": \"Mobile Shield Generator\", \n    \"groupName_es\": \"Generador de escudo móvil\", \n    \"groupName_fr\": \"Générateur de bouclier mobile\", \n    \"groupName_it\": \"Mobile Shield Generator\", \n    \"groupName_ja\": \"移動式シールドジェネレーター\", \n    \"groupName_ko\": \"이동식 실드 생성기\", \n    \"groupName_ru\": \"Передвижной генератор щита\", \n    \"groupName_zh\": \"移动护盾发生器\", \n    \"groupNameID\": 63863, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"419\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 419, \n    \"groupName_de\": \"Kampf-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Combat Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate\", \n    \"groupName_fr\": \"Croiseur de bataille de combat\", \n    \"groupName_it\": \"Combat Battlecruiser\", \n    \"groupName_ja\": \"戦闘巡洋戦艦\", \n    \"groupName_ko\": \"컴뱃 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер общего назначения\", \n    \"groupName_zh\": \"战斗战列巡洋舰\", \n    \"groupNameID\": 63864, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"420\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 420, \n    \"groupName_de\": \"Destroyer\", \n    \"groupName_en-us\": \"Destroyer\", \n    \"groupName_es\": \"Destructor\", \n    \"groupName_fr\": \"Destroyer\", \n    \"groupName_it\": \"Destroyer\", \n    \"groupName_ja\": \"駆逐艦\", \n    \"groupName_ko\": \"디스트로이어\", \n    \"groupName_ru\": \"Эсминец\", \n    \"groupName_zh\": \"驱逐舰\", \n    \"groupNameID\": 63865, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"422\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 422, \n    \"groupName_de\": \"Gasisotope\", \n    \"groupName_en-us\": \"Gas Isotopes\", \n    \"groupName_es\": \"Isótopos de gas\", \n    \"groupName_fr\": \"Isotopes gazeux\", \n    \"groupName_it\": \"Gas Isotopes\", \n    \"groupName_ja\": \"ガス同位体\", \n    \"groupName_ko\": \"기체 동위원소\", \n    \"groupName_ru\": \"Изотопы газа\", \n    \"groupName_zh\": \"气体同位素\", \n    \"groupNameID\": 63866, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"423\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 423, \n    \"groupName_de\": \"Eisprodukt\", \n    \"groupName_en-us\": \"Ice Product\", \n    \"groupName_es\": \"Producto de hielo\", \n    \"groupName_fr\": \"Produit glaciaire\", \n    \"groupName_it\": \"Ice Product\", \n    \"groupName_ja\": \"アイス精製物\", \n    \"groupName_ko\": \"아이스 자원\", \n    \"groupName_ru\": \"Замерзшие вещества\", \n    \"groupName_zh\": \"冰矿产物\", \n    \"groupNameID\": 63867, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"425\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 425, \n    \"groupName_de\": \"Orbitale Angriffseinheit\", \n    \"groupName_en-us\": \"Orbital Assault Unit\", \n    \"groupName_es\": \"Unidad de asalto orbital\", \n    \"groupName_fr\": \"Unité d'assaut orbitale\", \n    \"groupName_it\": \"Orbital Assault Unit\", \n    \"groupName_ja\": \"周回軌道アサルトユニット\", \n    \"groupName_ko\": \"궤도 강습 유닛\", \n    \"groupName_ru\": \"Ударная орбитальная система\", \n    \"groupName_zh\": \"轨道攻击单位\", \n    \"groupNameID\": 63868, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"426\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 426, \n    \"groupName_de\": \"Mobiler Projektil-Wachposten\", \n    \"groupName_en-us\": \"Mobile Projectile Sentry\", \n    \"groupName_es\": \"Centinela de proyectiles móviles\", \n    \"groupName_fr\": \"Sentinelle à projectiles mobile\", \n    \"groupName_it\": \"Mobile Projectile Sentry\", \n    \"groupName_ja\": \"移動型プロジェクタイルセントリー\", \n    \"groupName_ko\": \"이동식 발사체 센트리\", \n    \"groupName_ru\": \"Передвижное автоматическое огнестрельное орудие\", \n    \"groupName_zh\": \"移动式射弹岗哨炮\", \n    \"groupNameID\": 63869, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"427\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 427, \n    \"groupName_de\": \"Mondmaterialien\", \n    \"groupName_en-us\": \"Moon Materials\", \n    \"groupName_es\": \"Materiales lunares\", \n    \"groupName_fr\": \"Matières lunaires\", \n    \"groupName_it\": \"Moon Materials\", \n    \"groupName_ja\": \"衛星資源\", \n    \"groupName_ko\": \"위성 자원\", \n    \"groupName_ru\": \"Материалы спутника\", \n    \"groupName_zh\": \"卫星原料\", \n    \"groupNameID\": 63870, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"428\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 428, \n    \"groupName_de\": \"Mittlere Materialien\", \n    \"groupName_en-us\": \"Intermediate Materials\", \n    \"groupName_es\": \"Materiales intermedios\", \n    \"groupName_fr\": \"Matériaux intermédiaires\", \n    \"groupName_it\": \"Intermediate Materials\", \n    \"groupName_ja\": \"中間生成原料\", \n    \"groupName_ko\": \"중간재\", \n    \"groupName_ru\": \"Полуфабрикаты\", \n    \"groupName_zh\": \"中间产物\", \n    \"groupNameID\": 63871, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"429\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 429, \n    \"groupName_de\": \"Verbundstoff\", \n    \"groupName_en-us\": \"Composite\", \n    \"groupName_es\": \"Compuesto\", \n    \"groupName_fr\": \"Composé\", \n    \"groupName_it\": \"Composite\", \n    \"groupName_ja\": \"化合物\", \n    \"groupName_ko\": \"복합재\", \n    \"groupName_ru\": \"Композитные вещества\", \n    \"groupName_zh\": \"合成物\", \n    \"groupNameID\": 63872, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"430\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 430, \n    \"groupName_de\": \"Mobiler Laser-Wachposten\", \n    \"groupName_en-us\": \"Mobile Laser Sentry\", \n    \"groupName_es\": \"Centinela láser móvil\", \n    \"groupName_fr\": \"Sentinelle à laser mobile\", \n    \"groupName_it\": \"Mobile Laser Sentry\", \n    \"groupName_ja\": \"移動式レーザーセントリー\", \n    \"groupName_ko\": \"이동식 레이저 센트리\", \n    \"groupName_ru\": \"Передвижное автоматическое лазерное орудие\", \n    \"groupName_zh\": \"移动式激光岗哨炮\", \n    \"groupNameID\": 63873, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"435\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 435, \n    \"groupName_de\": \"Raumverwerfungsaufseher\", \n    \"groupName_en-us\": \"Deadspace Overseer\", \n    \"groupName_es\": \"Vigilante del espacio muerto\", \n    \"groupName_fr\": \"Surveillant Deadspace\", \n    \"groupName_it\": \"Deadspace Overseer\", \n    \"groupName_ja\": \"デッドスペース監督者\", \n    \"groupName_ko\": \"데드스페이스 오버시어\", \n    \"groupName_ru\": \"Смотритель дэдспейса\", \n    \"groupName_zh\": \"死亡空间监视者\", \n    \"groupNameID\": 63874, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"436\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 24, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 436, \n    \"groupName_de\": \"Einfache Reaktion\", \n    \"groupName_en-us\": \"Simple Reaction\", \n    \"groupName_es\": \"Reacción simple\", \n    \"groupName_fr\": \"Réaction simple\", \n    \"groupName_it\": \"Simple Reaction\", \n    \"groupName_ja\": \"単体反応\", \n    \"groupName_ko\": \"단순 합성\", \n    \"groupName_ru\": \"Простая реакция\", \n    \"groupName_zh\": \"简单反应\", \n    \"groupNameID\": 63875, \n    \"iconID\": 2665, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"438\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 438, \n    \"groupName_de\": \"Mobiler Reaktor\", \n    \"groupName_en-us\": \"Mobile Reactor\", \n    \"groupName_es\": \"Reactor móvil\", \n    \"groupName_fr\": \"Réacteur mobile\", \n    \"groupName_it\": \"Mobile Reactor\", \n    \"groupName_ja\": \"移動型リアクター\", \n    \"groupName_ko\": \"이동식 반응로\", \n    \"groupName_ru\": \"Передвижной реактор\", \n    \"groupName_zh\": \"移动反应堆\", \n    \"groupNameID\": 63876, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"439\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 439, \n    \"groupName_de\": \"Batterie zur elektronischen Kriegsführung\", \n    \"groupName_en-us\": \"Electronic Warfare Battery\", \n    \"groupName_es\": \"Batería de guerra electrónica\", \n    \"groupName_fr\": \"Batterie de guerre électronique\", \n    \"groupName_it\": \"Electronic Warfare Battery\", \n    \"groupName_ja\": \"電子戦兵器\", \n    \"groupName_ko\": \"전자전 포탑\", \n    \"groupName_ru\": \"Батарея электронного противодействия\", \n    \"groupName_zh\": \"电子战炮台\", \n    \"groupNameID\": 63877, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"440\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 440, \n    \"groupName_de\": \"Sensordämpfungsbatterie\", \n    \"groupName_en-us\": \"Sensor Dampening Battery\", \n    \"groupName_es\": \"Batería de atenuación de sensores\", \n    \"groupName_fr\": \"Batterie d'atténuation de détection\", \n    \"groupName_it\": \"Sensor Dampening Battery\", \n    \"groupName_ja\": \"センサーダンプニングバッテリー\", \n    \"groupName_ko\": \"센서 교란 타워\", \n    \"groupName_ru\": \"Батарея подавления сенсорных систем\", \n    \"groupName_zh\": \"感应抑阻波发射台\", \n    \"groupNameID\": 63878, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"441\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 441, \n    \"groupName_de\": \"Stasisnetz-Batterie\", \n    \"groupName_en-us\": \"Stasis Webification Battery\", \n    \"groupName_es\": \"Batería de red ralentizadora\", \n    \"groupName_fr\": \"Batterie génératrice de stase\", \n    \"groupName_it\": \"Stasis Webification Battery\", \n    \"groupName_ja\": \"ステイシスウェビフェケーションバッテリー\", \n    \"groupName_ko\": \"스테이시스 웹 타워\", \n    \"groupName_ru\": \"Батарея генерации стазис-сети\", \n    \"groupName_zh\": \"停滞网状光束发射台\", \n    \"groupNameID\": 63879, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"443\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 443, \n    \"groupName_de\": \"Warpstörbatterie\", \n    \"groupName_en-us\": \"Warp Scrambling Battery\", \n    \"groupName_es\": \"Batería de distorsionador de warp\", \n    \"groupName_fr\": \"Batterie de brouillage de warp\", \n    \"groupName_it\": \"Warp Scrambling Battery\", \n    \"groupName_ja\": \"ワープスクランブルバッテリー\", \n    \"groupName_ko\": \"워프 스크램블 타워\", \n    \"groupName_ru\": \"Батарея глушения квантовых двигателей\", \n    \"groupName_zh\": \"跃迁扰频波发射台\", \n    \"groupNameID\": 63880, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"444\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 444, \n    \"groupName_de\": \"Schildhärtungsanlage\", \n    \"groupName_en-us\": \"Shield Hardening Array\", \n    \"groupName_es\": \"Plataforma endurecedora de escudo\", \n    \"groupName_fr\": \"Module de renforcement de bouclier\", \n    \"groupName_it\": \"Shield Hardening Array\", \n    \"groupName_ja\": \"シールドハードニング施設\", \n    \"groupName_ko\": \"실드 강화시설\", \n    \"groupName_ru\": \"Комплекс усиления щита\", \n    \"groupName_zh\": \"护盾强化阵列\", \n    \"groupNameID\": 63881, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"445\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 445, \n    \"groupName_de\": \"Kraftfeldanlage\", \n    \"groupName_en-us\": \"Force Field Array\", \n    \"groupName_es\": \"Plataforma de campo de fuerza\", \n    \"groupName_fr\": \"Module de champ de force\", \n    \"groupName_it\": \"Force Field Array\", \n    \"groupName_ja\": \"フォースフィールド施設\", \n    \"groupName_ko\": \"포스필드 시설\", \n    \"groupName_ru\": \"Генератор силового поля\", \n    \"groupName_zh\": \"力场阵列\", \n    \"groupNameID\": 63882, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"446\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 446, \n    \"groupName_de\": \"Zollbeamter\", \n    \"groupName_en-us\": \"Customs Official\", \n    \"groupName_es\": \"Oficial de Aduanas\", \n    \"groupName_fr\": \"Officier des douanes\", \n    \"groupName_it\": \"Customs Official\", \n    \"groupName_ja\": \"税関職員\", \n    \"groupName_ko\": \"세관 관계자\", \n    \"groupName_ru\": \"Сотрудник таможни\", \n    \"groupName_zh\": \"海关公务船\", \n    \"groupNameID\": 63883, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"447\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 447, \n    \"groupName_de\": \"Konstruktionskomponenten-Blueprints\", \n    \"groupName_en-us\": \"Construction Component Blueprints\", \n    \"groupName_es\": \"Planos de componentes de construcción\", \n    \"groupName_fr\": \"Plans de construction Élément de construction\", \n    \"groupName_it\": \"Construction Component Blueprints\", \n    \"groupName_ja\": \"建設資材ブループリント\", \n    \"groupName_ko\": \"생산 부품 블루프린트\", \n    \"groupName_ru\": \"Чертежи производственных компонентов\", \n    \"groupName_zh\": \"建造组件蓝图\", \n    \"groupNameID\": 63884, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"448\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 448, \n    \"groupName_de\": \"Audit-Log-Sicherheitscontainer\", \n    \"groupName_en-us\": \"Audit Log Secure Container\", \n    \"groupName_es\": \"Contenedor seguro del registro de auditoría\", \n    \"groupName_fr\": \"Conteneur sécurisé de journaux d'audit\", \n    \"groupName_it\": \"Audit Log Secure Container\", \n    \"groupName_ja\": \"監査ログセキュアコンテナ\", \n    \"groupName_ko\": \"암호화 컨테이너\", \n    \"groupName_ru\": \"Защищенный контейнер с контролем доступа\", \n    \"groupName_zh\": \"审计安全密码集装箱\", \n    \"groupNameID\": 63885, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"449\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 449, \n    \"groupName_de\": \"Mobiler Hybrid-Wachposten\", \n    \"groupName_en-us\": \"Mobile Hybrid Sentry\", \n    \"groupName_es\": \"Centinela híbrido móvil\", \n    \"groupName_fr\": \"Sentinelle hybride mobile\", \n    \"groupName_it\": \"Mobile Hybrid Sentry\", \n    \"groupName_ja\": \"移動式ハイブリッドセントリー\", \n    \"groupName_ko\": \"이동식 하이브리드 센트리\", \n    \"groupName_ru\": \"Передвижное автоматическое орудие гибридного действия\", \n    \"groupName_zh\": \"移动式混合岗哨炮\", \n    \"groupNameID\": 63886, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"450\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 450, \n    \"groupName_de\": \"Arkonor\", \n    \"groupName_en-us\": \"Arkonor\", \n    \"groupName_es\": \"Arkonor\", \n    \"groupName_fr\": \"Arkonor\", \n    \"groupName_it\": \"Arkonor\", \n    \"groupName_ja\": \"アーコナー\", \n    \"groupName_ko\": \"아르카노르\", \n    \"groupName_ru\": \"Arkonor\", \n    \"groupName_zh\": \"艾克诺岩\", \n    \"groupNameID\": 63887, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"451\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 451, \n    \"groupName_de\": \"Bistot\", \n    \"groupName_en-us\": \"Bistot\", \n    \"groupName_es\": \"Bistotina\", \n    \"groupName_fr\": \"Bistot\", \n    \"groupName_it\": \"Bistot\", \n    \"groupName_ja\": \"ビストット\", \n    \"groupName_ko\": \"비스토트\", \n    \"groupName_ru\": \"Bistot\", \n    \"groupName_zh\": \"双多特石\", \n    \"groupNameID\": 63888, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"452\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 452, \n    \"groupName_de\": \"Crokite\", \n    \"groupName_en-us\": \"Crokite\", \n    \"groupName_es\": \"Crokitio\", \n    \"groupName_fr\": \"Crokite\", \n    \"groupName_it\": \"Crokite\", \n    \"groupName_ja\": \"クロカイト\", \n    \"groupName_ko\": \"크로카이트\", \n    \"groupName_ru\": \"Crokite\", \n    \"groupName_zh\": \"克洛基石\", \n    \"groupNameID\": 63889, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"453\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 453, \n    \"groupName_de\": \"Dark Ochre\", \n    \"groupName_en-us\": \"Dark Ochre\", \n    \"groupName_es\": \"Ocre oscuro\", \n    \"groupName_fr\": \"Ochre foncé\", \n    \"groupName_it\": \"Dark Ochre\", \n    \"groupName_ja\": \"ダークオークル\", \n    \"groupName_ko\": \"다크 오커\", \n    \"groupName_ru\": \"Dark Ochre\", \n    \"groupName_zh\": \"黑赭石\", \n    \"groupNameID\": 63890, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"454\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 454, \n    \"groupName_de\": \"Hedbergite\", \n    \"groupName_en-us\": \"Hedbergite\", \n    \"groupName_es\": \"Hedbergita\", \n    \"groupName_fr\": \"Hedbergite\", \n    \"groupName_it\": \"Hedbergite\", \n    \"groupName_ja\": \"ヘッドバーガイト\", \n    \"groupName_ko\": \"헤버자이트\", \n    \"groupName_ru\": \"Hedbergite\", \n    \"groupName_zh\": \"同位原矿\", \n    \"groupNameID\": 63891, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"455\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 455, \n    \"groupName_de\": \"Hemorphite\", \n    \"groupName_en-us\": \"Hemorphite\", \n    \"groupName_es\": \"Hemorfita\", \n    \"groupName_fr\": \"Hemorphite\", \n    \"groupName_it\": \"Hemorphite\", \n    \"groupName_ja\": \"ヘモファイト\", \n    \"groupName_ko\": \"헤모르파이트\", \n    \"groupName_ru\": \"Hemorphite\", \n    \"groupName_zh\": \"希莫非特\", \n    \"groupNameID\": 63892, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"456\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 456, \n    \"groupName_de\": \"Jaspet\", \n    \"groupName_en-us\": \"Jaspet\", \n    \"groupName_es\": \"Jaspetita\", \n    \"groupName_fr\": \"Jaspet\", \n    \"groupName_it\": \"Jaspet\", \n    \"groupName_ja\": \"ジャスペット\", \n    \"groupName_ko\": \"자스페트\", \n    \"groupName_ru\": \"Jaspet\", \n    \"groupName_zh\": \"杰斯贝矿\", \n    \"groupNameID\": 63893, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"457\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 457, \n    \"groupName_de\": \"Kernite\", \n    \"groupName_en-us\": \"Kernite\", \n    \"groupName_es\": \"Kernita\", \n    \"groupName_fr\": \"Kernite\", \n    \"groupName_it\": \"Kernite\", \n    \"groupName_ja\": \"ケルナイト\", \n    \"groupName_ko\": \"커나이트\", \n    \"groupName_ru\": \"Kernite\", \n    \"groupName_zh\": \"水硼砂\", \n    \"groupNameID\": 63894, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"458\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 458, \n    \"groupName_de\": \"Plagioclase\", \n    \"groupName_en-us\": \"Plagioclase\", \n    \"groupName_es\": \"Plagioclasa\", \n    \"groupName_fr\": \"Plagioclase\", \n    \"groupName_it\": \"Plagioclase\", \n    \"groupName_ja\": \"プラジオクレイス\", \n    \"groupName_ko\": \"플레지오클레이스\", \n    \"groupName_ru\": \"Plagioclase\", \n    \"groupName_zh\": \"斜长岩\", \n    \"groupNameID\": 63895, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"459\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 459, \n    \"groupName_de\": \"Pyroxeres\", \n    \"groupName_en-us\": \"Pyroxeres\", \n    \"groupName_es\": \"Piroxeno\", \n    \"groupName_fr\": \"Pyroxeres\", \n    \"groupName_it\": \"Pyroxeres\", \n    \"groupName_ja\": \"パイロゼリース\", \n    \"groupName_ko\": \"파이로제레스\", \n    \"groupName_ru\": \"Pyroxeres\", \n    \"groupName_zh\": \"干焦岩\", \n    \"groupNameID\": 63896, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"460\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 460, \n    \"groupName_de\": \"Scordite\", \n    \"groupName_en-us\": \"Scordite\", \n    \"groupName_es\": \"Escordita\", \n    \"groupName_fr\": \"Scordite\", \n    \"groupName_it\": \"Scordite\", \n    \"groupName_ja\": \"スコダイト\", \n    \"groupName_ko\": \"스코다이트\", \n    \"groupName_ru\": \"Scordite\", \n    \"groupName_zh\": \"灼烧岩\", \n    \"groupNameID\": 63897, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"461\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 461, \n    \"groupName_de\": \"Spodumain\", \n    \"groupName_en-us\": \"Spodumain\", \n    \"groupName_es\": \"Espodumain\", \n    \"groupName_fr\": \"Spodumain\", \n    \"groupName_it\": \"Spodumain\", \n    \"groupName_ja\": \"スポデュメイン\", \n    \"groupName_ko\": \"스포듀마인\", \n    \"groupName_ru\": \"Spodumain\", \n    \"groupName_zh\": \"灰岩\", \n    \"groupNameID\": 63898, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"462\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 462, \n    \"groupName_de\": \"Veldspar\", \n    \"groupName_en-us\": \"Veldspar\", \n    \"groupName_es\": \"Veldspar\", \n    \"groupName_fr\": \"Veldspar\", \n    \"groupName_it\": \"Veldspar\", \n    \"groupName_ja\": \"ベルドスパー\", \n    \"groupName_ko\": \"벨드스파\", \n    \"groupName_ru\": \"Veldspar\", \n    \"groupName_zh\": \"凡晶石\", \n    \"groupNameID\": 63899, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"463\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 463, \n    \"groupName_de\": \"Bergbaubarkasse\", \n    \"groupName_en-us\": \"Mining Barge\", \n    \"groupName_es\": \"Gabarra minera\", \n    \"groupName_fr\": \"Barge d'extraction\", \n    \"groupName_it\": \"Mining Barge\", \n    \"groupName_ja\": \"採掘艦\", \n    \"groupName_ko\": \"채광선\", \n    \"groupName_ru\": \"Буровой корабль\", \n    \"groupName_zh\": \"采矿驳船\", \n    \"groupNameID\": 63900, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"464\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 464, \n    \"groupName_de\": \"Strip-Miner\", \n    \"groupName_en-us\": \"Strip Miner\", \n    \"groupName_es\": \"extractor minero\", \n    \"groupName_fr\": \"Laser d'extraction intensive\", \n    \"groupName_it\": \"Strip Miner\", \n    \"groupName_ja\": \"ストリップマイナー\", \n    \"groupName_ko\": \"가속 채굴기\", \n    \"groupName_ru\": \"Буровой лазер валовой выемки\", \n    \"groupName_zh\": \"露天采矿器\", \n    \"groupNameID\": 63901, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"465\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 465, \n    \"groupName_de\": \"Eis\", \n    \"groupName_en-us\": \"Ice\", \n    \"groupName_es\": \"Hielo\", \n    \"groupName_fr\": \"Glace\", \n    \"groupName_it\": \"Ice\", \n    \"groupName_ja\": \"アイス\", \n    \"groupName_ko\": \"얼음\", \n    \"groupName_ru\": \"Лед\", \n    \"groupName_zh\": \"冰矿\", \n    \"groupNameID\": 63902, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"467\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 467, \n    \"groupName_de\": \"Gneiss\", \n    \"groupName_en-us\": \"Gneiss\", \n    \"groupName_es\": \"Gneiss\", \n    \"groupName_fr\": \"Gneiss\", \n    \"groupName_it\": \"Gneiss\", \n    \"groupName_ja\": \"ナエス\", \n    \"groupName_ko\": \"니스\", \n    \"groupName_ru\": \"Gneiss\", \n    \"groupName_zh\": \"片麻岩\", \n    \"groupNameID\": 63903, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"468\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 468, \n    \"groupName_de\": \"Mercoxit\", \n    \"groupName_en-us\": \"Mercoxit\", \n    \"groupName_es\": \"Mercoxita\", \n    \"groupName_fr\": \"Mercoxit\", \n    \"groupName_it\": \"Mercoxit\", \n    \"groupName_ja\": \"メロコキサイト\", \n    \"groupName_ko\": \"메르코시트\", \n    \"groupName_ru\": \"Mercoxit\", \n    \"groupName_zh\": \"基腹断岩\", \n    \"groupNameID\": 63904, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"469\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 469, \n    \"groupName_de\": \"Omber\", \n    \"groupName_en-us\": \"Omber\", \n    \"groupName_es\": \"Ómber\", \n    \"groupName_fr\": \"Omber\", \n    \"groupName_it\": \"Omber\", \n    \"groupName_ja\": \"オンバー\", \n    \"groupName_ko\": \"옴버\", \n    \"groupName_ru\": \"Omber\", \n    \"groupName_zh\": \"奥贝尔石\", \n    \"groupNameID\": 63905, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"470\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 470, \n    \"groupName_de\": \"Entankernde Drohne\", \n    \"groupName_en-us\": \"Unanchoring Drone\", \n    \"groupName_es\": \"Dron desanclador\", \n    \"groupName_fr\": \"Drone de désamarrage\", \n    \"groupName_it\": \"Unanchoring Drone\", \n    \"groupName_ja\": \"係留解除ドローン\", \n    \"groupName_ko\": \"고정 해제용 드론\", \n    \"groupName_ru\": \"Якорный дрон\", \n    \"groupName_zh\": \"反悬浮定位无人机\", \n    \"groupNameID\": 63906, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"471\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 471, \n    \"groupName_de\": \"Corporation-Hangar-Struktur\", \n    \"groupName_en-us\": \"Corporate Hangar Array\", \n    \"groupName_es\": \"Dársenas de hangares corporativos\", \n    \"groupName_fr\": \"Module du hangar corporatif\", \n    \"groupName_it\": \"Corporate Hangar Array\", \n    \"groupName_ja\": \"コーポハンガー施設\", \n    \"groupName_ko\": \"코퍼레이션 공용 창고\", \n    \"groupName_ru\": \"Внешний корпоративный ангар\", \n    \"groupName_zh\": \"联合机库阵列\", \n    \"groupNameID\": 63907, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"472\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 472, \n    \"groupName_de\": \"Systemscanner\", \n    \"groupName_en-us\": \"System Scanner\", \n    \"groupName_es\": \"Escáner de sistemas\", \n    \"groupName_fr\": \"Scanner système\", \n    \"groupName_it\": \"System Scanner\", \n    \"groupName_ja\": \"システムスキャナー\", \n    \"groupName_ko\": \"항성계 스캐너\", \n    \"groupName_ru\": \"Сканер систем\", \n    \"groupName_zh\": \"星系扫描仪\", \n    \"groupNameID\": 63908, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"473\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 473, \n    \"groupName_de\": \"Nachführarray\", \n    \"groupName_en-us\": \"Tracking Array\", \n    \"groupName_es\": \"Sistema de rastreo\", \n    \"groupName_fr\": \"Module de poursuite\", \n    \"groupName_it\": \"Tracking Array\", \n    \"groupName_ja\": \"トラッキング施設\", \n    \"groupName_ko\": \"추적 시설\", \n    \"groupName_ru\": \"Система слежения\", \n    \"groupName_zh\": \"索敌天线阵列\", \n    \"groupNameID\": 63909, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"474\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 474, \n    \"groupName_de\": \"Beschleunigungstor-Schlüssel\", \n    \"groupName_en-us\": \"Acceleration Gate Keys\", \n    \"groupName_es\": \"Llaves de portal de aceleración\", \n    \"groupName_fr\": \"Clés du portail d'accélération\", \n    \"groupName_it\": \"Acceleration Gate Keys\", \n    \"groupName_ja\": \"アクセラレーションゲートキー\", \n    \"groupName_ko\": \"액셀레이션 게이트 출입키\", \n    \"groupName_ru\": \"Ключ от разгонных ворот\", \n    \"groupName_zh\": \"加速轨道钥匙\", \n    \"groupNameID\": 63910, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"475\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 475, \n    \"groupName_de\": \"Mikrowarpantrieb\", \n    \"groupName_en-us\": \"Microwarpdrive\", \n    \"groupName_es\": \"Motor de microwarp\", \n    \"groupName_fr\": \"Propulseur de microwarp\", \n    \"groupName_it\": \"Microwarpdrive\", \n    \"groupName_ja\": \"マイクロワープドライブ\", \n    \"groupName_ko\": \"마이크로 워프 드라이브\", \n    \"groupName_ru\": \"Микроварп-ускоритель\", \n    \"groupName_zh\": \"微型跃迁推进器\", \n    \"groupNameID\": 63911, \n    \"iconID\": 96, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"476\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 476, \n    \"groupName_de\": \"XL Torpedo\", \n    \"groupName_en-us\": \"XL Torpedo\", \n    \"groupName_es\": \"Torpedo (XL)\", \n    \"groupName_fr\": \"Torpille XL\", \n    \"groupName_it\": \"XL Torpedo\", \n    \"groupName_ja\": \"XLトルピード\", \n    \"groupName_ko\": \"XL 토피도\", \n    \"groupName_ru\": \"Торпеды сверхбольшой мощности\", \n    \"groupName_zh\": \"超大型鱼雷\", \n    \"groupNameID\": 63912, \n    \"iconID\": 1349, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"477\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 477, \n    \"groupName_de\": \"Bergbaubarkasse-Blueprint\", \n    \"groupName_en-us\": \"Mining Barge Blueprint\", \n    \"groupName_es\": \"Plano de gabarra minera\", \n    \"groupName_fr\": \"Plan de construction Barge d'extraction\", \n    \"groupName_it\": \"Mining Barge Blueprint\", \n    \"groupName_ja\": \"採掘艦ブループリント\", \n    \"groupName_ko\": \"채광선 블루프린트\", \n    \"groupName_ru\": \"Чертежи бурового корабля\", \n    \"groupName_zh\": \"采矿船蓝图\", \n    \"groupNameID\": 63913, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"478\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 478, \n    \"groupName_de\": \"Systemscanner-Blueprint\", \n    \"groupName_en-us\": \"System Scanner Blueprint\", \n    \"groupName_es\": \"Plano de escáner de sistemas\", \n    \"groupName_fr\": \"Plan de construction Scanner système\", \n    \"groupName_it\": \"System Scanner Blueprint\", \n    \"groupName_ja\": \"システムスキャナーブループリント\", \n    \"groupName_ko\": \"항성계 스캐너 블루프린트\", \n    \"groupName_ru\": \"Чертеж сканера систем\", \n    \"groupName_zh\": \"星系扫描仪蓝图\", \n    \"groupNameID\": 63914, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"479\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 479, \n    \"groupName_de\": \"Scansonde\", \n    \"groupName_en-us\": \"Scanner Probe\", \n    \"groupName_es\": \"Sonda escáner\", \n    \"groupName_fr\": \"Sonde d'exploration\", \n    \"groupName_it\": \"Scanner Probe\", \n    \"groupName_ja\": \"スキャナープローブ\", \n    \"groupName_ko\": \"스캔 프로브\", \n    \"groupName_ru\": \"Разведывательный зонд\", \n    \"groupName_zh\": \"扫描探针\", \n    \"groupNameID\": 63915, \n    \"iconID\": 2222, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"480\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 480, \n    \"groupName_de\": \"Tarnkappensendeanlage\", \n    \"groupName_en-us\": \"Stealth Emitter Array\", \n    \"groupName_es\": \"Sistema emisor sigiloso\", \n    \"groupName_fr\": \"Module d'émission furtif\", \n    \"groupName_it\": \"Stealth Emitter Array\", \n    \"groupName_ja\": \"ステルスエミッター施設\", \n    \"groupName_ko\": \"스텔스 방사 시설\", \n    \"groupName_ru\": \"Система маскировки\", \n    \"groupName_zh\": \"反侦测发射天线阵列\", \n    \"groupNameID\": 63916, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"481\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 481, \n    \"groupName_de\": \"Startvorrichtung für Scansonden\", \n    \"groupName_en-us\": \"Scan Probe Launcher\", \n    \"groupName_es\": \"Lanzasondas de escaneo\", \n    \"groupName_fr\": \"Lanceur de sonde de balayage\", \n    \"groupName_it\": \"Scan Probe Launcher\", \n    \"groupName_ja\": \"スキャンプローブランチャー\", \n    \"groupName_ko\": \"스캔 프로브 런처\", \n    \"groupName_ru\": \"Пусковая установка разведзондов\", \n    \"groupName_zh\": \"扫描探针发射器\", \n    \"groupNameID\": 63917, \n    \"iconID\": 2677, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"482\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 482, \n    \"groupName_de\": \"Bergbaukristall\", \n    \"groupName_en-us\": \"Mining Crystal\", \n    \"groupName_es\": \"Cristal de minería\", \n    \"groupName_fr\": \"Cristal d'extraction\", \n    \"groupName_it\": \"Mining Crystal\", \n    \"groupName_ja\": \"採掘クリスタル\", \n    \"groupName_ko\": \"채광용 크리스탈\", \n    \"groupName_ru\": \"Кристалл настройки экстрактора\", \n    \"groupName_zh\": \"采矿晶体\", \n    \"groupNameID\": 63918, \n    \"iconID\": 24968, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"483\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 483, \n    \"groupName_de\": \"Frequenz-Bergbaulaser\", \n    \"groupName_en-us\": \"Frequency Mining Laser\", \n    \"groupName_es\": \"Láser minero de frecuencia\", \n    \"groupName_fr\": \"Laser d'extraction à fréquences\", \n    \"groupName_it\": \"Frequency Mining Laser\", \n    \"groupName_ja\": \"周波数可変式採掘レーザー\", \n    \"groupName_ko\": \"프리퀀시 채굴 레이저\", \n    \"groupName_ru\": \"Мультичастотный экстрактор\", \n    \"groupName_zh\": \"频率采矿激光器\", \n    \"groupNameID\": 63919, \n    \"iconID\": 138, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"484\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 24, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 484, \n    \"groupName_de\": \"Komplexreaktionen\", \n    \"groupName_en-us\": \"Complex Reactions\", \n    \"groupName_es\": \"Reacciones complejas\", \n    \"groupName_fr\": \"Réactions complexes\", \n    \"groupName_it\": \"Complex Reactions\", \n    \"groupName_ja\": \"複合反応\", \n    \"groupName_ko\": \"복합 합성\", \n    \"groupName_ru\": \"Сложные реакции\", \n    \"groupName_zh\": \"复杂反应\", \n    \"groupNameID\": 63920, \n    \"iconID\": 2666, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"485\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 485, \n    \"groupName_de\": \"Dreadnought\", \n    \"groupName_en-us\": \"Dreadnought\", \n    \"groupName_es\": \"Superacorazado\", \n    \"groupName_fr\": \"Dreadnought\", \n    \"groupName_it\": \"Dreadnought\", \n    \"groupName_ja\": \"攻城艦\", \n    \"groupName_ko\": \"드레드노트\", \n    \"groupName_ru\": \"Дредноут\", \n    \"groupName_zh\": \"无畏舰\", \n    \"groupNameID\": 63921, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"486\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 486, \n    \"groupName_de\": \"Scansonde-Blueprint\", \n    \"groupName_en-us\": \"Scan Probe Blueprint\", \n    \"groupName_es\": \"Plano de sonda de escaneo\", \n    \"groupName_fr\": \"Plan de construction Sonde de balayage\", \n    \"groupName_it\": \"Scan Probe Blueprint\", \n    \"groupName_ja\": \"スキャンプローブブループリント\", \n    \"groupName_ko\": \"스캔 프로브 블루프린트\", \n    \"groupName_ru\": \"Чертежи разведывательного зонда\", \n    \"groupName_zh\": \"扫描探针蓝图\", \n    \"groupNameID\": 63922, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"487\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 487, \n    \"groupName_de\": \"Zerstörer-Blueprint\", \n    \"groupName_en-us\": \"Destroyer Blueprint\", \n    \"groupName_es\": \"Plano de destructor\", \n    \"groupName_fr\": \"Plan de construction Destroyer\", \n    \"groupName_it\": \"Destroyer Blueprint\", \n    \"groupName_ja\": \"駆逐艦ブループリント\", \n    \"groupName_ko\": \"디스트로이어 블루프린트\", \n    \"groupName_ru\": \"Чертежи эсминца\", \n    \"groupName_zh\": \"驱逐舰蓝图\", \n    \"groupNameID\": 63923, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"489\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 489, \n    \"groupName_de\": \"Schlachtkreuzer-Blueprint\", \n    \"groupName_en-us\": \"Battlecruiser Blueprint\", \n    \"groupName_es\": \"Plano de crucero de combate\", \n    \"groupName_fr\": \"Plan de construction Croiseur de bataille\", \n    \"groupName_it\": \"Battlecruiser Blueprint\", \n    \"groupName_ja\": \"巡洋戦艦ブループリント\", \n    \"groupName_ko\": \"배틀크루저 블루프린트\", \n    \"groupName_ru\": \"Чертежи линейного крейсера\", \n    \"groupName_zh\": \"战列巡洋舰蓝图\", \n    \"groupNameID\": 63924, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"490\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 490, \n    \"groupName_de\": \"Strip-Miner-Blueprint\", \n    \"groupName_en-us\": \"Strip Miner Blueprint\", \n    \"groupName_es\": \"Plano de extractor minero\", \n    \"groupName_fr\": \"Plan de construction Laser d'extraction intensive\", \n    \"groupName_it\": \"Strip Miner Blueprint\", \n    \"groupName_ja\": \"ストリップマイナー設計図\", \n    \"groupName_ko\": \"가속 채굴기 블루프린트\", \n    \"groupName_ru\": \"Чертежи бурового лазера валовой выемки\", \n    \"groupName_zh\": \"露天采矿器蓝图\", \n    \"groupNameID\": 63925, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"492\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 492, \n    \"groupName_de\": \"Überwachungssonde\", \n    \"groupName_en-us\": \"Survey Probe\", \n    \"groupName_es\": \"Sonda de prospección\", \n    \"groupName_fr\": \"Sonde d'inspection\", \n    \"groupName_it\": \"Survey Probe\", \n    \"groupName_ja\": \"衛星調査プローブ\", \n    \"groupName_ko\": \"조사 프로브\", \n    \"groupName_ru\": \"Лунный зонд\", \n    \"groupName_zh\": \"测量探针\", \n    \"groupNameID\": 64298, \n    \"iconID\": 2663, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"493\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 493, \n    \"groupName_de\": \"Persönliche Rangabzeichen eines Overseer\", \n    \"groupName_en-us\": \"Overseer Personal Effects\", \n    \"groupName_es\": \"Efectos personales de vigilante\", \n    \"groupName_fr\": \"Effets personnels du surveillant\", \n    \"groupName_it\": \"Overseer Personal Effects\", \n    \"groupName_ja\": \"監督者の私物\", \n    \"groupName_ko\": \"오버시어 개인 소지품\", \n    \"groupName_ru\": \"Личные вещи смотрителя\", \n    \"groupName_zh\": \"监察官的个人财产\", \n    \"groupNameID\": 63926, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"494\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 494, \n    \"groupName_de\": \"Raumverwerfungsaufseher-Struktur\", \n    \"groupName_en-us\": \"Deadspace Overseer's Structure\", \n    \"groupName_es\": \"Estructura de vigilante del espacio muerto\", \n    \"groupName_fr\": \"Structure du surveillant de Deadspace\", \n    \"groupName_it\": \"Deadspace Overseer's Structure\", \n    \"groupName_ja\": \"デッドスペース監督建造物\", \n    \"groupName_ko\": \"데드스페이스 오버시어의 구조물\", \n    \"groupName_ru\": \"База смотрителя дэдспейса\", \n    \"groupName_zh\": \"死亡空间监察官的建筑\", \n    \"groupNameID\": 63927, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"495\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 495, \n    \"groupName_de\": \"Raumverwerfungsaufseher-Wachposten\", \n    \"groupName_en-us\": \"Deadspace Overseer's Sentry\", \n    \"groupName_es\": \"Centinela de vigilante del espacio muerto\", \n    \"groupName_fr\": \"Sentinelle du surveillant de Deadspace\", \n    \"groupName_it\": \"Deadspace Overseer's Sentry\", \n    \"groupName_ja\": \"デッドスペース監督セントリー\", \n    \"groupName_ko\": \"데드스페이스 오버시어의 센트리\", \n    \"groupName_ru\": \"Стража смотрителя дэдспейса\", \n    \"groupName_zh\": \"死亡空间监视者岗哨\", \n    \"groupNameID\": 63928, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"496\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 496, \n    \"groupName_de\": \"Besitz des Raumverwerfungsaufsehers\", \n    \"groupName_en-us\": \"Deadspace Overseer's Belongings\", \n    \"groupName_es\": \"Pertenencias de vigilante del espacio muerto\", \n    \"groupName_fr\": \"Objets du surveillant de Deadspace\", \n    \"groupName_it\": \"Deadspace Overseer's Belongings\", \n    \"groupName_ja\": \"デッドスペース監督所持品\", \n    \"groupName_ko\": \"데드스페이스 오버시어의 소유물\", \n    \"groupName_ru\": \"Имущество смотрителя дэдспейса\", \n    \"groupName_zh\": \"死亡空间监视者的物品\", \n    \"groupNameID\": 63929, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"497\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 497, \n    \"groupName_de\": \"Treibstoff\", \n    \"groupName_en-us\": \"Fuel\", \n    \"groupName_es\": \"Combustible\", \n    \"groupName_fr\": \"Carburant\", \n    \"groupName_it\": \"Fuel\", \n    \"groupName_ja\": \"燃料\", \n    \"groupName_ko\": \"연료\", \n    \"groupName_ru\": \"Топливо\", \n    \"groupName_zh\": \"燃剂\", \n    \"groupNameID\": 63930, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"498\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 498, \n    \"groupName_de\": \"Modifikationen\", \n    \"groupName_en-us\": \"Modifications\", \n    \"groupName_es\": \"Modificaciones\", \n    \"groupName_fr\": \"Modifications\", \n    \"groupName_it\": \"Modifications\", \n    \"groupName_ja\": \"改造\", \n    \"groupName_ko\": \"리그\", \n    \"groupName_ru\": \"Модификации\", \n    \"groupName_zh\": \"管理系统\", \n    \"groupNameID\": 63931, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"499\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 499, \n    \"groupName_de\": \"Neues EW-Testen\", \n    \"groupName_en-us\": \"New EW Testing\", \n    \"groupName_es\": \"Nuevas pruebas de EW\", \n    \"groupName_fr\": \"Nouveau test GE\", \n    \"groupName_it\": \"New EW Testing\", \n    \"groupName_ja\": \"新EWテスト用\", \n    \"groupName_ko\": \"신규 전자전 테스트\", \n    \"groupName_ru\": \"Испытание нового электронного оружия\", \n    \"groupName_zh\": \"新电子战测试\", \n    \"groupNameID\": 63932, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"500\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 500, \n    \"groupName_de\": \"Festivalladungen\", \n    \"groupName_en-us\": \"Festival Charges\", \n    \"groupName_es\": \"Cargas de festival\", \n    \"groupName_fr\": \"Charges de festival\", \n    \"groupName_it\": \"Festival Charges\", \n    \"groupName_ja\": \"フェスティバル弾\", \n    \"groupName_ko\": \"축제 폭죽\", \n    \"groupName_ru\": \"Фестивальные снаряды\", \n    \"groupName_zh\": \"节日弹药\", \n    \"groupNameID\": 63933, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"501\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 501, \n    \"groupName_de\": \"Festivalwerfer\", \n    \"groupName_en-us\": \"Festival Launcher\", \n    \"groupName_es\": \"Lanzador festivalero\", \n    \"groupName_fr\": \"Lanceur de festival\", \n    \"groupName_it\": \"Festival Launcher\", \n    \"groupName_ja\": \"フェスティバルランチャー\", \n    \"groupName_ko\": \"축제용 런처\", \n    \"groupName_ru\": \"Салютная пусковая установка\", \n    \"groupName_zh\": \"节日发射器\", \n    \"groupNameID\": 63934, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"502\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 502, \n    \"groupName_de\": \"Kosmische Signatur\", \n    \"groupName_en-us\": \"Cosmic Signature\", \n    \"groupName_es\": \"Señal cósmica\", \n    \"groupName_fr\": \"Signature cosmique\", \n    \"groupName_it\": \"Cosmic Signature\", \n    \"groupName_ja\": \"宇宙のシグネチャ\", \n    \"groupName_ko\": \"코즈믹 시그니처\", \n    \"groupName_ru\": \"Скрытый сигнал\", \n    \"groupName_zh\": \"空间信号\", \n    \"groupNameID\": 63935, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"503\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 503, \n    \"groupName_de\": \"Elite-Transporter-Blaupause\", \n    \"groupName_en-us\": \"Elite Hauler Blueprint\", \n    \"groupName_es\": \"Plano de nave de mercancías de élite\", \n    \"groupName_fr\": \"Plan de construction Cargo d'élite\", \n    \"groupName_it\": \"Elite Hauler Blueprint\", \n    \"groupName_ja\": \"エリートハウラー設計図\", \n    \"groupName_ko\": \"엘리트 운반선 블루프린트\", \n    \"groupName_ru\": \"Elite Hauler Blueprint\", \n    \"groupName_zh\": \"精英运载舰蓝图\", \n    \"groupNameID\": 63936, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"504\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 504, \n    \"groupName_de\": \"Zielmarkierung-Blueprint\", \n    \"groupName_en-us\": \"Target Painter Blueprint\", \n    \"groupName_es\": \"Plano de revelador de objetivo\", \n    \"groupName_fr\": \"Plan de construction Marqueur de cible\", \n    \"groupName_it\": \"Target Painter Blueprint\", \n    \"groupName_ja\": \"ターゲットペインターブループリント\", \n    \"groupName_ko\": \"타겟 페인터 블루프린트\", \n    \"groupName_ru\": \"Чертежи системы подсветки целей\", \n    \"groupName_zh\": \"目标标记装置蓝图\", \n    \"groupNameID\": 63937, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"505\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 505, \n    \"groupName_de\": \"Täuschungsfertigkeiten\", \n    \"groupName_en-us\": \"Fake Skills\", \n    \"groupName_es\": \"Habilidades falsas\", \n    \"groupName_fr\": \"Faux talents\", \n    \"groupName_it\": \"Fake Skills\", \n    \"groupName_ja\": \"フェイクスキル\", \n    \"groupName_ko\": \"가짜 스킬\", \n    \"groupName_ru\": \"Ложные навыки\", \n    \"groupName_zh\": \"虚构技能\", \n    \"groupNameID\": 63938, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"506\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 506, \n    \"groupName_de\": \"Raketenwerfer: Cruise\", \n    \"groupName_en-us\": \"Missile Launcher Cruise\", \n    \"groupName_es\": \"Crucero de lanzamisiles\", \n    \"groupName_fr\": \"Lance-missiles croisière\", \n    \"groupName_it\": \"Missile Launcher Cruise\", \n    \"groupName_ja\": \"ミサイルランチャー（クルーズ）\", \n    \"groupName_ko\": \"크루즈 미사일 런처\", \n    \"groupName_ru\": \"Пусковая установка ракет дальнего боя\", \n    \"groupName_zh\": \"巡航导弹发射器\", \n    \"groupNameID\": 63939, \n    \"iconID\": 2530, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"507\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 507, \n    \"groupName_de\": \"Raketenwerfer: Rocket\", \n    \"groupName_en-us\": \"Missile Launcher Rocket\", \n    \"groupName_es\": \"Cohete lanzamisiles\", \n    \"groupName_fr\": \"Lance-missiles roquette\", \n    \"groupName_it\": \"Missile Launcher Rocket\", \n    \"groupName_ja\": \"ミサイルランチャー（ロケット）\", \n    \"groupName_ko\": \"로켓 런처\", \n    \"groupName_ru\": \"Пусковая установка ракет ближнего боя\", \n    \"groupName_zh\": \"火箭发射器\", \n    \"groupNameID\": 63940, \n    \"iconID\": 1345, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"508\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 508, \n    \"groupName_de\": \"Missile Launcher Torpedo\", \n    \"groupName_en-us\": \"Missile Launcher Torpedo\", \n    \"groupName_es\": \"Torpedo de lanzamisiles\", \n    \"groupName_fr\": \"Lance-missiles torpille\", \n    \"groupName_it\": \"Missile Launcher Torpedo\", \n    \"groupName_ja\": \"ミサイルランチャー（トルピード）\", \n    \"groupName_ko\": \"토피도 런처\", \n    \"groupName_ru\": \"Торпедный аппарат\", \n    \"groupName_zh\": \"鱼雷发射器\", \n    \"groupNameID\": 63941, \n    \"iconID\": 170, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"509\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 509, \n    \"groupName_de\": \"Missile Launcher Light\", \n    \"groupName_en-us\": \"Missile Launcher Light\", \n    \"groupName_es\": \"Lanzamisiles ligero\", \n    \"groupName_fr\": \"Lance-missiles léger\", \n    \"groupName_it\": \"Missile Launcher Light\", \n    \"groupName_ja\": \"ミサイルランチャー（ライト）\", \n    \"groupName_ko\": \"라이트 미사일 런처\", \n    \"groupName_ru\": \"Пусковая установка ракет малой мощности\", \n    \"groupName_zh\": \"轻型导弹发射器\", \n    \"groupNameID\": 63942, \n    \"iconID\": 168, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"510\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 510, \n    \"groupName_de\": \"Raketenwerfer: Schwer\", \n    \"groupName_en-us\": \"Missile Launcher Heavy\", \n    \"groupName_es\": \"Lanzamisiles pesado\", \n    \"groupName_fr\": \"Lance-missiles lourd\", \n    \"groupName_it\": \"Missile Launcher Heavy\", \n    \"groupName_ja\": \"ミサイルランチャー（ヘビー）\", \n    \"groupName_ko\": \"헤비 미사일 런처\", \n    \"groupName_ru\": \"Пусковая установка ракет большой мощности\", \n    \"groupName_zh\": \"重型导弹发射器\", \n    \"groupNameID\": 63943, \n    \"iconID\": 169, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"511\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 511, \n    \"groupName_de\": \"Missile Launcher Rapid Light\", \n    \"groupName_en-us\": \"Missile Launcher Rapid Light\", \n    \"groupName_es\": \"Luz rápida de lanzamisiles\", \n    \"groupName_fr\": \"Lance-missiles léger rapide\", \n    \"groupName_it\": \"Missile Launcher Rapid Light\", \n    \"groupName_ja\": \"ミサイルランチャー（高速ライト）\", \n    \"groupName_ko\": \"급속 라이트 미사일 런처\", \n    \"groupName_ru\": \"Скорострельная ПУ ракет малой мощности\", \n    \"groupName_zh\": \"轻型快速导弹发射器\", \n    \"groupNameID\": 63944, \n    \"iconID\": 1345, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"512\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 512, \n    \"groupName_de\": \"Raketenwerfer: Verteidiger\", \n    \"groupName_en-us\": \"Missile Launcher Defender\", \n    \"groupName_es\": \"Defensor de lanzamisiles\", \n    \"groupName_fr\": \"Lance-missiles défenseur\", \n    \"groupName_it\": \"Missile Launcher Defender\", \n    \"groupName_ja\": \"ミサイルランチャー（防衛）\", \n    \"groupName_ko\": \"디펜더 미사일 런처\", \n    \"groupName_ru\": \"Пусковая установка противоракет\", \n    \"groupName_zh\": \"反弹道导弹发射器\", \n    \"groupNameID\": 63945, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"513\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 513, \n    \"groupName_de\": \"Frachter\", \n    \"groupName_en-us\": \"Freighter\", \n    \"groupName_es\": \"Carguero\", \n    \"groupName_fr\": \"Transport de fret\", \n    \"groupName_it\": \"Freighter\", \n    \"groupName_ja\": \"超大型輸送艦\", \n    \"groupName_ko\": \"프레이터\", \n    \"groupName_ru\": \"Фрейтер\", \n    \"groupName_zh\": \"货舰\", \n    \"groupNameID\": 63946, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"514\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 514, \n    \"groupName_de\": \"ECM-Stabilisator\", \n    \"groupName_en-us\": \"ECM Stabilizer\", \n    \"groupName_es\": \"Estabilizador ECM\", \n    \"groupName_fr\": \"Stabilisateur CME\", \n    \"groupName_it\": \"ECM Stabilizer\", \n    \"groupName_ja\": \"ECMスタビライザー\", \n    \"groupName_ko\": \"ECM 안정기\", \n    \"groupName_ru\": \"Стабилизатор РЭБ\", \n    \"groupName_zh\": \"ECM稳定设备\", \n    \"groupNameID\": 63947, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"515\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 515, \n    \"groupName_de\": \"Belagerungsmodul\", \n    \"groupName_en-us\": \"Siege Module\", \n    \"groupName_es\": \"módulo de asedio\", \n    \"groupName_fr\": \"Module de siège\", \n    \"groupName_it\": \"Siege Module\", \n    \"groupName_ja\": \"シージモジュール\", \n    \"groupName_ko\": \"시즈모듈\", \n    \"groupName_ru\": \"Реконфигуратор\", \n    \"groupName_zh\": \"会战装备\", \n    \"groupNameID\": 63948, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"516\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 516, \n    \"groupName_de\": \"Belagerungsmodul-Blueprint\", \n    \"groupName_en-us\": \"Siege Module Blueprint\", \n    \"groupName_es\": \"Plano de módulo de asedio I\", \n    \"groupName_fr\": \"Plan de construction Module de siège\", \n    \"groupName_it\": \"Siege Module Blueprint\", \n    \"groupName_ja\": \"シージモジュールブループリント\", \n    \"groupName_ko\": \"시즈모듈 블루프린트\", \n    \"groupName_ru\": \"Чертежи реконфигуратора\", \n    \"groupName_zh\": \"会战设备蓝图\", \n    \"groupNameID\": 63949, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"517\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 517, \n    \"groupName_de\": \"Agenten im All\", \n    \"groupName_en-us\": \"Agents in Space\", \n    \"groupName_es\": \"Agentes en el espacio\", \n    \"groupName_fr\": \"Agents dans l'espace\", \n    \"groupName_it\": \"Agents in Space\", \n    \"groupName_ja\": \"宙域にいるエージェント\", \n    \"groupName_ko\": \"우주 공간 내 에이전트\", \n    \"groupName_ru\": \"Агенты в космосе\", \n    \"groupName_zh\": \"空间代理人\", \n    \"groupNameID\": 63950, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"518\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 518, \n    \"groupName_de\": \"Antiballistisches Verteidigungssystem\", \n    \"groupName_en-us\": \"Anti Ballistic Defense System\", \n    \"groupName_es\": \"Sistema de defensa antibalístico\", \n    \"groupName_fr\": \"Système de défense anti-balistique\", \n    \"groupName_it\": \"Anti Ballistic Defense System\", \n    \"groupName_ja\": \"対弾道弾防衛システム\", \n    \"groupName_ko\": \"대 미사일 방어 시스템\", \n    \"groupName_ru\": \"Система ПРО\", \n    \"groupName_zh\": \"反弹道防御系统\", \n    \"groupNameID\": 63951, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"519\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 519, \n    \"groupName_de\": \"Terraner-Artefakte\", \n    \"groupName_en-us\": \"Terran Artifacts\", \n    \"groupName_es\": \"Artefacto terranos\", \n    \"groupName_fr\": \"Artefacts Terran\", \n    \"groupName_it\": \"Terran Artifacts\", \n    \"groupName_ja\": \"テラン人工物\", \n    \"groupName_ko\": \"지구 유물\", \n    \"groupName_ru\": \"Земные артефакты\", \n    \"groupName_zh\": \"史前地球异物\", \n    \"groupNameID\": 63952, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"520\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 520, \n    \"groupName_de\": \"Storyline-Fregatte\", \n    \"groupName_en-us\": \"Storyline Frigate\", \n    \"groupName_es\": \"Fragata de la historia\", \n    \"groupName_fr\": \"Frégate scénario\", \n    \"groupName_it\": \"Storyline Frigate\", \n    \"groupName_ja\": \"ストーリーラインフリゲート\", \n    \"groupName_ko\": \"스토리라인 프리깃\", \n    \"groupName_ru\": \"Фрегат особого назначения\", \n    \"groupName_zh\": \"任务剧情护卫舰\", \n    \"groupNameID\": 63953, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"521\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 521, \n    \"groupName_de\": \"Identifikation\", \n    \"groupName_en-us\": \"Identification\", \n    \"groupName_es\": \"Identificación\", \n    \"groupName_fr\": \"Identification\", \n    \"groupName_it\": \"Identification\", \n    \"groupName_ja\": \"認識証\", \n    \"groupName_ko\": \"신분증\", \n    \"groupName_ru\": \"Удостоверение\", \n    \"groupName_zh\": \"识别卡\", \n    \"groupNameID\": 63954, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"522\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 522, \n    \"groupName_de\": \"Storyline-Kreuzer\", \n    \"groupName_en-us\": \"Storyline Cruiser\", \n    \"groupName_es\": \"Crucero de la historia\", \n    \"groupName_fr\": \"Croiseur scénario\", \n    \"groupName_it\": \"Storyline Cruiser\", \n    \"groupName_ja\": \"ストーリーライン巡洋艦\", \n    \"groupName_ko\": \"스토리라인 크루저\", \n    \"groupName_ru\": \"Крейсер особого назначения\", \n    \"groupName_zh\": \"任务剧情巡洋舰\", \n    \"groupNameID\": 63955, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"523\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 523, \n    \"groupName_de\": \"Storyline-Schlachtschiff\", \n    \"groupName_en-us\": \"Storyline Battleship\", \n    \"groupName_es\": \"Acorazado de la historia\", \n    \"groupName_fr\": \"Cuirassé scénario\", \n    \"groupName_it\": \"Storyline Battleship\", \n    \"groupName_ja\": \"ストーリーライン戦艦\", \n    \"groupName_ko\": \"스토리라인 배틀쉽\", \n    \"groupName_ru\": \"Линкор особого назначения\", \n    \"groupName_zh\": \"任务剧情战列舰\", \n    \"groupNameID\": 63956, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"524\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 524, \n    \"groupName_de\": \"Lenkwaffenwerfer: XL Torpedo\", \n    \"groupName_en-us\": \"Missile Launcher XL Torpedo\", \n    \"groupName_es\": \"Torpedo lanzamisiles (XL)\", \n    \"groupName_fr\": \"Lance-missiles torpille XL\", \n    \"groupName_it\": \"Missile Launcher XL Torpedo\", \n    \"groupName_ja\": \"ミサイルランチャーXLトルピード\", \n    \"groupName_ko\": \"미사일 런처 XL 토피도\", \n    \"groupName_ru\": \"Торпедные аппараты сверхбольшой мощности\", \n    \"groupName_zh\": \"超大型鱼雷发射器\", \n    \"groupNameID\": 63957, \n    \"iconID\": 2839, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"525\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 525, \n    \"groupName_de\": \"Frachter-Blueprint\", \n    \"groupName_en-us\": \"Freighter Blueprint\", \n    \"groupName_es\": \"Plano de carguero\", \n    \"groupName_fr\": \"Plan de construction Transport de fret\", \n    \"groupName_it\": \"Freighter Blueprint\", \n    \"groupName_ja\": \"超大型輸送艦ブループリント\", \n    \"groupName_ko\": \"프레이터 블루프린트\", \n    \"groupName_ru\": \"Чертежи фрейтера\", \n    \"groupName_zh\": \"货舰蓝图\", \n    \"groupNameID\": 63958, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"526\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 526, \n    \"groupName_de\": \"Güter\", \n    \"groupName_en-us\": \"Commodities\", \n    \"groupName_es\": \"Mercancías\", \n    \"groupName_fr\": \"Marchandises\", \n    \"groupName_it\": \"Commodities\", \n    \"groupName_ja\": \"加工品\", \n    \"groupName_ko\": \"생산품\", \n    \"groupName_ru\": \"Товары\", \n    \"groupName_zh\": \"常见物品\", \n    \"groupNameID\": 63959, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"527\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 527, \n    \"groupName_de\": \"Storyline-Missionsfregatte\", \n    \"groupName_en-us\": \"Storyline Mission Frigate\", \n    \"groupName_es\": \"Fragata de misión de la historia\", \n    \"groupName_fr\": \"Frégate de mission scénarisée\", \n    \"groupName_it\": \"Storyline Mission Frigate\", \n    \"groupName_ja\": \"ストーリーラインミッションフリゲート\", \n    \"groupName_ko\": \"스토리라인 미션 프리깃\", \n    \"groupName_ru\": \"Фрегат боевой группы особого назначения\", \n    \"groupName_zh\": \"任务剧情任务护卫舰\", \n    \"groupNameID\": 63960, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"528\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 528, \n    \"groupName_de\": \"Artefakte und Prototypen\", \n    \"groupName_en-us\": \"Artifacts and Prototypes\", \n    \"groupName_es\": \"Artefactos y prototipos\", \n    \"groupName_fr\": \"Artefacts et prototypes\", \n    \"groupName_it\": \"Artifacts and Prototypes\", \n    \"groupName_ja\": \"人工物と試作品\", \n    \"groupName_ko\": \"유물 및 프로토타입\", \n    \"groupName_ru\": \"Артефакты и прототипы\", \n    \"groupName_zh\": \"古物和原型\", \n    \"groupNameID\": 63961, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"530\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 530, \n    \"groupName_de\": \"Materialien und Verbundstoffe\", \n    \"groupName_en-us\": \"Materials and Compounds\", \n    \"groupName_es\": \"Materiales y compuestos\", \n    \"groupName_fr\": \"Matériaux et composés\", \n    \"groupName_it\": \"Materials and Compounds\", \n    \"groupName_ja\": \"資源と混合物\", \n    \"groupName_ko\": \"자원 및 화합물\", \n    \"groupName_ru\": \"Материалы и детали\", \n    \"groupName_zh\": \"原料和化合物\", \n    \"groupNameID\": 63962, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"532\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 532, \n    \"groupName_de\": \"Gruppen-Koordinator-Blueprint\", \n    \"groupName_en-us\": \"Gang Coordinator Blueprint\", \n    \"groupName_es\": \"Plano de coordinador de banda\", \n    \"groupName_fr\": \"Plan de construction Coordinateur de gang\", \n    \"groupName_it\": \"Gang Coordinator Blueprint\", \n    \"groupName_ja\": \"ギャングコーディネーターブループリント\", \n    \"groupName_ko\": \"워페어 링크 블루프린트\", \n    \"groupName_ru\": \"Чертежи модуля обеспечения флотского взаимодействия\", \n    \"groupName_zh\": \"团队协调系统蓝图\", \n    \"groupNameID\": 63963, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"533\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 533, \n    \"groupName_de\": \"Storyline-Missionskreuzer\", \n    \"groupName_en-us\": \"Storyline Mission Cruiser\", \n    \"groupName_es\": \"Crucero de misión de la historia\", \n    \"groupName_fr\": \"Croiseur de mission scénarisée\", \n    \"groupName_it\": \"Storyline Mission Cruiser\", \n    \"groupName_ja\": \"ストーリーラインミッション巡洋艦\", \n    \"groupName_ko\": \"스토리라인 미션 크루저\", \n    \"groupName_ru\": \"Крейсер боевой группы особого назначения\", \n    \"groupName_zh\": \"任务剧情任务巡洋舰\", \n    \"groupNameID\": 63964, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"534\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 534, \n    \"groupName_de\": \"Storyline-Missionsschlachtschiff\", \n    \"groupName_en-us\": \"Storyline Mission Battleship\", \n    \"groupName_es\": \"Acorazado de misión de la historia\", \n    \"groupName_fr\": \"Cuirassé de mission scénarisée\", \n    \"groupName_it\": \"Storyline Mission Battleship\", \n    \"groupName_ja\": \"ストーリーラインミッション戦艦\", \n    \"groupName_ko\": \"스토리라인 미션 배틀쉽\", \n    \"groupName_ru\": \"Линкор боевой группы особого назначения\", \n    \"groupName_zh\": \"任务剧情战列舰\", \n    \"groupNameID\": 63965, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"535\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 535, \n    \"groupName_de\": \"Konstruktionsplattform-Blueprint\", \n    \"groupName_en-us\": \"Construction Platform Blueprint\", \n    \"groupName_es\": \"Plano de plataforma de construcción\", \n    \"groupName_fr\": \"Plan de construction Plateforme de construction\", \n    \"groupName_it\": \"Construction Platform Blueprint\", \n    \"groupName_ja\": \"建設プラットフォームブループリント\", \n    \"groupName_ko\": \"건설 플랫폼 블루프린트\", \n    \"groupName_ru\": \"Чертеж строительной платформы\", \n    \"groupName_zh\": \"建筑平台蓝图\", \n    \"groupNameID\": 63966, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"536\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 536, \n    \"groupName_de\": \"Strukturkomponenten\", \n    \"groupName_en-us\": \"Structure Components\", \n    \"groupName_es\": \"Componentes de estructuras\", \n    \"groupName_fr\": \"Composants de structure\", \n    \"groupName_it\": \"Structure Components\", \n    \"groupName_ja\": \"構造の部品\", \n    \"groupName_ko\": \"설비 구성품\", \n    \"groupName_ru\": \"Компоненты сооружения\", \n    \"groupName_zh\": \"建筑组件\", \n    \"groupNameID\": 63967, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"537\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 537, \n    \"groupName_de\": \"Dreadnought-Blueprint\", \n    \"groupName_en-us\": \"Dreadnought Blueprint\", \n    \"groupName_es\": \"Plano de superacorazado\", \n    \"groupName_fr\": \"Plan de construction Dreadnought\", \n    \"groupName_it\": \"Dreadnought Blueprint\", \n    \"groupName_ja\": \"攻城艦ブループリント\", \n    \"groupName_ko\": \"드레드노트 블루프린트\", \n    \"groupName_ru\": \"Чертежи дредноута\", \n    \"groupName_zh\": \"无畏舰蓝图\", \n    \"groupNameID\": 63968, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"538\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 538, \n    \"groupName_de\": \"Datensammler\", \n    \"groupName_en-us\": \"Data Miners\", \n    \"groupName_es\": \"Extractores de datos\", \n    \"groupName_fr\": \"Mineurs de données\", \n    \"groupName_it\": \"Data Miners\", \n    \"groupName_ja\": \"データマイナー\", \n    \"groupName_ko\": \"데이터 수집기\", \n    \"groupName_ru\": \"Программно-аналитический комплекс\", \n    \"groupName_zh\": \"数据采掘设备\", \n    \"groupNameID\": 63969, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"540\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 540, \n    \"groupName_de\": \"Kommandoschiff\", \n    \"groupName_en-us\": \"Command Ship\", \n    \"groupName_es\": \"Nave de mando\", \n    \"groupName_fr\": \"Vaisseau de commandement\", \n    \"groupName_it\": \"Command Ship\", \n    \"groupName_ja\": \"指揮型巡洋戦艦\", \n    \"groupName_ko\": \"커맨드쉽\", \n    \"groupName_ru\": \"Корабль управления\", \n    \"groupName_zh\": \"指挥舰\", \n    \"groupNameID\": 63970, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"541\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 541, \n    \"groupName_de\": \"Interdictor\", \n    \"groupName_en-us\": \"Interdictor\", \n    \"groupName_es\": \"Interdictor\", \n    \"groupName_fr\": \"Interdicteur\", \n    \"groupName_it\": \"Interdictor\", \n    \"groupName_ja\": \"ワープ妨害型駆逐艦\", \n    \"groupName_ko\": \"인터딕터\", \n    \"groupName_ru\": \"Заградитель\", \n    \"groupName_zh\": \"拦截舰\", \n    \"groupNameID\": 63971, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"543\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 543, \n    \"groupName_de\": \"Ausgrabungsschiff\", \n    \"groupName_en-us\": \"Exhumer\", \n    \"groupName_es\": \"Exhumador\", \n    \"groupName_fr\": \"Exhumer\", \n    \"groupName_it\": \"Exhumer\", \n    \"groupName_ja\": \"特化型採掘艦\", \n    \"groupName_ko\": \"익스허머\", \n    \"groupName_ru\": \"Тяжёлый буровой корабль\", \n    \"groupName_zh\": \"采掘者\", \n    \"groupNameID\": 63972, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"544\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 544, \n    \"groupName_de\": \"Energie neutralisierende Drohne\", \n    \"groupName_en-us\": \"Energy Neutralizer Drone\", \n    \"groupName_es\": \"Dron neutralizador energético\", \n    \"groupName_fr\": \"Drone neutraliseur d'énergie.\", \n    \"groupName_it\": \"Energy Neutralizer Drone\", \n    \"groupName_ja\": \"エネルギーニュートライザードローン\", \n    \"groupName_ko\": \"에너지 뉴트럴라이저 드론\", \n    \"groupName_ru\": \"Дроны-нейтрализаторы энергии.\", \n    \"groupName_zh\": \"能量中和无人机\", \n    \"groupNameID\": 63973, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"545\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 545, \n    \"groupName_de\": \"Warpunterbrecher-Drohne\", \n    \"groupName_en-us\": \"Warp Scrambling Drone\", \n    \"groupName_es\": \"Dron distorsionador de warp\", \n    \"groupName_fr\": \"Drone inhibiteur de warp\", \n    \"groupName_it\": \"Warp Scrambling Drone\", \n    \"groupName_ja\": \"ワープスクランブルドローン\", \n    \"groupName_ko\": \"워프 스크램블 드론\", \n    \"groupName_ru\": \"Дрон-постановщик квантовых помех\", \n    \"groupName_zh\": \"跃迁干扰无人机\", \n    \"groupNameID\": 64343, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"546\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 546, \n    \"groupName_de\": \"Bergbau-Upgrade\", \n    \"groupName_en-us\": \"Mining Upgrade\", \n    \"groupName_es\": \"Mejora de minería\", \n    \"groupName_fr\": \"Amélioration minière\", \n    \"groupName_it\": \"Mining Upgrade\", \n    \"groupName_ja\": \"採掘強化\", \n    \"groupName_ko\": \"채굴 업그레이드\", \n    \"groupName_ru\": \"Пакет модернизации экстракторов\", \n    \"groupName_zh\": \"采矿改良设备\", \n    \"groupNameID\": 63974, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"547\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 547, \n    \"groupName_de\": \"Trägerschiffe\", \n    \"groupName_en-us\": \"Carrier\", \n    \"groupName_es\": \"Portanaves\", \n    \"groupName_fr\": \"Porte-vaisseaux\", \n    \"groupName_it\": \"Carrier\", \n    \"groupName_ja\": \"艦載機母艦\", \n    \"groupName_ko\": \"캐리어\", \n    \"groupName_ru\": \"КАР (корабль автономного развёртывания)\", \n    \"groupName_zh\": \"航空母舰\", \n    \"groupNameID\": 63975, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"548\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 548, \n    \"groupName_de\": \"Unterbrechungssonde\", \n    \"groupName_en-us\": \"Interdiction Probe\", \n    \"groupName_es\": \"Sonda de interdicción\", \n    \"groupName_fr\": \"Sonde d'interdiction\", \n    \"groupName_it\": \"Interdiction Probe\", \n    \"groupName_ja\": \"インターディクションプローブ\", \n    \"groupName_ko\": \"인터딕터 프로브\", \n    \"groupName_ru\": \"Зонд-генератор варп-помех\", \n    \"groupName_zh\": \"干扰探针\", \n    \"groupNameID\": 64427, \n    \"iconID\": 1721, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"549\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 549, \n    \"groupName_de\": \"Jäger\", \n    \"groupName_en-us\": \"Fighter Drone\", \n    \"groupName_es\": \"Dron caza\", \n    \"groupName_fr\": \"Drone de combat\", \n    \"groupName_it\": \"Fighter Drone\", \n    \"groupName_ja\": \"艦載戦闘機ドローン\", \n    \"groupName_ko\": \"파이터 드론\", \n    \"groupName_ru\": \"Истребитель\", \n    \"groupName_zh\": \"铁骑舰载机\", \n    \"groupNameID\": 63976, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"550\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 550, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Fregatte\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Frigate\", \n    \"groupName_es\": \"Fragata de asteroide del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Frégate cartel angel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Frigate\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテルフリゲート\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 프리깃\", \n    \"groupName_ru\": \"Фрегат астероидного патруля Картеля Angel\", \n    \"groupName_zh\": \"行星天使联合企业护卫舰\", \n    \"groupNameID\": 63977, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"551\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 551, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Kreuzer\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Cruiser\", \n    \"groupName_es\": \"Crucero de asteroide del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Croiseur cartel angel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Cruiser\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテル巡洋艦\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 크루저\", \n    \"groupName_ru\": \"Крейсер астероидного патруля Картеля Angel\", \n    \"groupName_zh\": \"小行星天使联合企业巡洋舰\", \n    \"groupNameID\": 63978, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"552\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 552, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Battleship\", \n    \"groupName_es\": \"Acorazado de asteroide del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Cuirassé cartel angel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Battleship\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテル戦艦\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 배틀쉽\", \n    \"groupName_ru\": \"Линкор астероидного патруля Картеля Angel\", \n    \"groupName_zh\": \"小行星天使联合企业战列舰\", \n    \"groupNameID\": 63979, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"553\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 553, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Offizier\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Officer\", \n    \"groupName_es\": \"Oficial de asteroide del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Officier cartel angel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Officer\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテル士官\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 장교\", \n    \"groupName_ru\": \"Офицер астероидного патруля Картеля Angel\", \n    \"groupName_zh\": \"小行星天使联合企业军官\", \n    \"groupNameID\": 63980, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"554\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 554, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Frachter\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Hauler\", \n    \"groupName_es\": \"Nave de mercancías de asteroide del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Transporteur cartel angel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Hauler\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテルハウラー\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 운반선\", \n    \"groupName_ru\": \"Грузовик астероидного патруля Картеля Angel\", \n    \"groupName_zh\": \"行星天使联合企运载舰\", \n    \"groupNameID\": 63981, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"555\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 555, \n    \"groupName_de\": \"Asteroiden: Blood Raiders-Kreuzer\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Cruiser\", \n    \"groupName_es\": \"Crucero de asteroides de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Croiseur blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raiders Cruiser\", \n    \"groupName_ja\": \"アステロイドブラッドレイダー巡洋艦\", \n    \"groupName_ko\": \"소행성 블러드 레이더 크루저\", \n    \"groupName_ru\": \"Крейсер астероидного патруля Blood Raider\", \n    \"groupName_zh\": \"行星血袭者军团巡洋舰\", \n    \"groupNameID\": 63982, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"556\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 556, \n    \"groupName_de\": \"Asteroiden: Blood Raiders-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Battleship\", \n    \"groupName_es\": \"Acorazado de asteroide de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Cuirassé blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raiders Battleship\", \n    \"groupName_ja\": \"アステロイドブラッドレイダー戦艦\", \n    \"groupName_ko\": \"소행성 블러드 레이더 배틀쉽\", \n    \"groupName_ru\": \"Линкор астероидного патруля Blood Raider\", \n    \"groupName_zh\": \"小行星血袭者军团战列舰\", \n    \"groupNameID\": 63983, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"557\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 557, \n    \"groupName_de\": \"Asteroiden: Blood Raiders-Fregatte\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Frigate\", \n    \"groupName_es\": \"Fragata de asteroide de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Frégate blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raiders Frigate\", \n    \"groupName_ja\": \"アステロイドブラッドレイダーフリゲート\", \n    \"groupName_ko\": \"소행성 블러드 레이더 프리깃\", \n    \"groupName_ru\": \"Фрегат астероидного патруля Blood Raider\", \n    \"groupName_zh\": \"小行星血袭者军团护卫舰\", \n    \"groupNameID\": 63984, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"558\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 558, \n    \"groupName_de\": \"Asteroiden: Blood Raiders-Frachter\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Hauler\", \n    \"groupName_es\": \"Nave de mercancías de asteroide de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Transporteur blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raiders Hauler\", \n    \"groupName_ja\": \"アステロイドブラッドレイダーハウラー\", \n    \"groupName_ko\": \"소행성 블러드 레이더 운반선\", \n    \"groupName_ru\": \"Грузовик астероидного патруля Blood Raider\", \n    \"groupName_zh\": \"小行星血袭者军团运载舰\", \n    \"groupNameID\": 63985, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"559\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 559, \n    \"groupName_de\": \"Asteroiden: Blood Raiders-Offizier\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Officer\", \n    \"groupName_es\": \"Oficial de asteroide de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Officier blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raiders Officer\", \n    \"groupName_ja\": \"アステロイドブラッドレイダー士官\", \n    \"groupName_ko\": \"소행성 블러드 레이더 장교\", \n    \"groupName_ru\": \"Офицер астероидного патруля Blood Raider\", \n    \"groupName_zh\": \"小行星血袭者军官\", \n    \"groupNameID\": 63986, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"560\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 560, \n    \"groupName_de\": \"Asteroiden: Guristas-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Guristas Battleship\", \n    \"groupName_es\": \"Acorazado de asteroide de los Guristas\", \n    \"groupName_fr\": \"Cuirassé guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Battleship\", \n    \"groupName_ja\": \"アステロイドガリスタス戦艦\", \n    \"groupName_ko\": \"소행성 구리스타스 배틀쉽\", \n    \"groupName_ru\": \"Линкор астероидного патруля Gurista\", \n    \"groupName_zh\": \"小行星古斯塔斯战列舰\", \n    \"groupNameID\": 63987, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"561\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 561, \n    \"groupName_de\": \"Asteroiden: Guristas-Kreuzer\", \n    \"groupName_en-us\": \"Asteroid Guristas Cruiser\", \n    \"groupName_es\": \"Crucero de asteroide de los Guristas\", \n    \"groupName_fr\": \"Croiseur guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Cruiser\", \n    \"groupName_ja\": \"アステロイドガリスタス巡洋艦\", \n    \"groupName_ko\": \"소행성 구리스타스 크루저\", \n    \"groupName_ru\": \"Крейсер астероидного патруля Gurista\", \n    \"groupName_zh\": \"小行星古斯塔斯巡洋舰\", \n    \"groupNameID\": 63988, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"562\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 562, \n    \"groupName_de\": \"Asteroiden: Guristas-Fregatte\", \n    \"groupName_en-us\": \"Asteroid Guristas Frigate\", \n    \"groupName_es\": \"Fragata de asteroide de los Guristas\", \n    \"groupName_fr\": \"Frégate guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Frigate\", \n    \"groupName_ja\": \"アステロイドガリスタスフリゲート\", \n    \"groupName_ko\": \"소행성 구리스타스 프리깃\", \n    \"groupName_ru\": \"Фрегат астероидного патруля Gurista\", \n    \"groupName_zh\": \"小行星古斯塔斯护卫舰\", \n    \"groupNameID\": 63989, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"563\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 563, \n    \"groupName_de\": \"Asteroiden: Guristas-Frachter\", \n    \"groupName_en-us\": \"Asteroid Guristas Hauler\", \n    \"groupName_es\": \"Nave de mercancías de asteroide de los Guristas\", \n    \"groupName_fr\": \"Transporteur guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Hauler\", \n    \"groupName_ja\": \"アステロイドガリスタスハウラー\", \n    \"groupName_ko\": \"소행성 구리스타스 운반선\", \n    \"groupName_ru\": \"Грузовик астероидного патруля Gurista\", \n    \"groupName_zh\": \"小行星古斯塔斯运载舰\", \n    \"groupNameID\": 63990, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"564\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 564, \n    \"groupName_de\": \"Asteroiden: Guristas-Offizier\", \n    \"groupName_en-us\": \"Asteroid Guristas Officer\", \n    \"groupName_es\": \"Oficial de asteroide de los Guristas\", \n    \"groupName_fr\": \"Officier guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Officer\", \n    \"groupName_ja\": \"アステロイドガリスタス士官\", \n    \"groupName_ko\": \"소행성 구리스타스 장교\", \n    \"groupName_ru\": \"Офицер астероидного патруля Gurista\", \n    \"groupName_zh\": \"小行星古斯塔斯军官\", \n    \"groupNameID\": 63991, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"565\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 565, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Battleship\", \n    \"groupName_es\": \"Acorazado de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Cuirassé Sansha's Nation astéroïde\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Battleship\", \n    \"groupName_ja\": \"アステロイドサンシャ国戦艦\", \n    \"groupName_ko\": \"소행성 산샤 네이션 배틀쉽\", \n    \"groupName_ru\": \"Линкор астероидного патруля Нации Sansha\", \n    \"groupName_zh\": \"小行星萨沙共和国战列舰\", \n    \"groupNameID\": 63992, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"566\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 566, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation-Kreuzer\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Cruiser\", \n    \"groupName_es\": \"Crucero de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Croiseur Sansha's Nation astéroïde\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Cruiser\", \n    \"groupName_ja\": \"アステロイドサンシャ国巡洋艦\", \n    \"groupName_ko\": \"소행성 산샤 네이션 크루저\", \n    \"groupName_ru\": \"Крейсер астероидного патруля Нации Sansha\", \n    \"groupName_zh\": \"小行星萨沙共和国巡洋舰\", \n    \"groupNameID\": 63993, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"567\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 567, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation-Fregatte\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Frigate\", \n    \"groupName_es\": \"Fragata de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Frégate Sansha's Nation astéroïde\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Frigate\", \n    \"groupName_ja\": \"アステロイドサンシャ国フリゲート\", \n    \"groupName_ko\": \"소행성 산샤 네이션 프리깃\", \n    \"groupName_ru\": \"Фрегат астероидного патруля Нации Sansha\", \n    \"groupName_zh\": \"小行星萨沙共和国护卫舰\", \n    \"groupNameID\": 63994, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"568\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 568, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation-Frachter\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Hauler\", \n    \"groupName_es\": \"Nave de mercancías de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Transporteur Sansha's Nation astéroïde\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Hauler\", \n    \"groupName_ja\": \"アステロイドサンシャ国ハウラー\", \n    \"groupName_ko\": \"소행성 산샤 네이션 운반선\", \n    \"groupName_ru\": \"Грузовик астероидного патруля Нации Sansha\", \n    \"groupName_zh\": \"小行星萨沙共和国运载舰\", \n    \"groupNameID\": 63995, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"569\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 569, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation-Offizier\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Officer\", \n    \"groupName_es\": \"Oficial de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Officier Sansha's Nation astéroïde\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Officer\", \n    \"groupName_ja\": \"アステロイドサンシャ国士官\", \n    \"groupName_ko\": \"소행성 산샤 네이션 장교\", \n    \"groupName_ru\": \"Офицер астероидного патруля Нации Sansha\", \n    \"groupName_zh\": \"小行星萨沙共和国军官\", \n    \"groupNameID\": 63996, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"570\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 570, \n    \"groupName_de\": \"Asteroiden: Serpentis-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Serpentis Battleship\", \n    \"groupName_es\": \"Acorazado de asteroide de Serpentis\", \n    \"groupName_fr\": \"Cuirassé serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Battleship\", \n    \"groupName_ja\": \"アステロイドサーペンティス戦艦\", \n    \"groupName_ko\": \"소행성 서펜티스 배틀쉽\", \n    \"groupName_ru\": \"Линкор астероидного патруля Serpentis\", \n    \"groupName_zh\": \"小行星天蛇集团战列舰\", \n    \"groupNameID\": 63997, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"571\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 571, \n    \"groupName_de\": \"Asteroiden: Serpentis-Kreuzer\", \n    \"groupName_en-us\": \"Asteroid Serpentis Cruiser\", \n    \"groupName_es\": \"Crucero de asteroide de Serpentis\", \n    \"groupName_fr\": \"Croiseur serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Cruiser\", \n    \"groupName_ja\": \"アステロイドサーペンティス巡洋艦\", \n    \"groupName_ko\": \"소행성 서펜티스 지휘 크루저\", \n    \"groupName_ru\": \"Крейсер астероидного патруля Serpentis\", \n    \"groupName_zh\": \"小行星天蛇集团巡洋舰\", \n    \"groupNameID\": 63998, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"572\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 572, \n    \"groupName_de\": \"Asteroiden: Serpentis-Fregatte\", \n    \"groupName_en-us\": \"Asteroid Serpentis Frigate\", \n    \"groupName_es\": \"Fragata de asteroide de Serpentis\", \n    \"groupName_fr\": \"Frégate serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Frigate\", \n    \"groupName_ja\": \"アステロイドサーペンティスフリゲート\", \n    \"groupName_ko\": \"소행성 서펜티스 프리깃\", \n    \"groupName_ru\": \"Фрегат астероидного патруля Serpentis\", \n    \"groupName_zh\": \"小行星天蛇集团护卫舰\", \n    \"groupNameID\": 63999, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"573\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 573, \n    \"groupName_de\": \"Asteroiden: Serpentis-Frachter\", \n    \"groupName_en-us\": \"Asteroid Serpentis Hauler\", \n    \"groupName_es\": \"Nave de mercancías de asteroide de Serpentis\", \n    \"groupName_fr\": \"Transporteur serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Hauler\", \n    \"groupName_ja\": \"アステロイドサーペンティスハウラー\", \n    \"groupName_ko\": \"소행성 서펜티스 운반선\", \n    \"groupName_ru\": \"Грузовик астероидного патруля Serpentis\", \n    \"groupName_zh\": \"小行星天蛇集团运载舰\", \n    \"groupNameID\": 64000, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"574\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 574, \n    \"groupName_de\": \"Asteroiden: Serpentis-Offizier\", \n    \"groupName_en-us\": \"Asteroid Serpentis Officer\", \n    \"groupName_es\": \"Oficial de asteroide de Serpentis\", \n    \"groupName_fr\": \"Officier serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Officer\", \n    \"groupName_ja\": \"アステロイドサーペンティス士官\", \n    \"groupName_ko\": \"소행성 서펜티스 장교\", \n    \"groupName_ru\": \"Офицер астероидного патруля Serpentis\", \n    \"groupName_zh\": \"小行星天蛇集团军官\", \n    \"groupNameID\": 64001, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"575\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 575, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Zerstörer\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Destroyer\", \n    \"groupName_es\": \"Destructor de asteroide del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Destroyer cartel angel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Destroyer\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテル駆逐艦\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 디스트로이어\", \n    \"groupName_ru\": \"Эсминец астероидного патруля Картеля Angel\", \n    \"groupName_zh\": \"行星天使联合企业驱逐舰\", \n    \"groupNameID\": 64002, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"576\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 576, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de asteroide del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Croiseur de bataille cartel angel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel BattleCruiser\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテル巡洋戦艦\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер астероидного патруля Картеля Angel\", \n    \"groupName_zh\": \"行星天使联合企业战列巡洋舰\", \n    \"groupNameID\": 64003, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"577\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 577, \n    \"groupName_de\": \"Asteroiden: Blood Raiders-Zerstörer\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Destroyer\", \n    \"groupName_es\": \"Destructor de asteroide de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Destroyer blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raiders Destroyer\", \n    \"groupName_ja\": \"アステロイドブラッドレイダー駆逐艦\", \n    \"groupName_ko\": \"소행성 블러드 레이더 디스트로이어\", \n    \"groupName_ru\": \"Эсминец астероидного патруля Blood Raider\", \n    \"groupName_zh\": \"小行星血袭者军团驱逐舰\", \n    \"groupNameID\": 64004, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"578\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 578, \n    \"groupName_de\": \"Asteroiden: Blood Raiders-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de asteroide de Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Croiseur de bataille blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raiders BattleCruiser\", \n    \"groupName_ja\": \"アステロイドブラッドレイダー巡洋戦艦\", \n    \"groupName_ko\": \"소행성 블러드 레이더 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер астероидного патруля Blood Raider\", \n    \"groupName_zh\": \"小行星血袭者军团战列巡洋舰\", \n    \"groupNameID\": 64005, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"579\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 579, \n    \"groupName_de\": \"Asteroiden: Guristas-Zerstörer\", \n    \"groupName_en-us\": \"Asteroid Guristas Destroyer\", \n    \"groupName_es\": \"Destructor de asteroide de los Guristas\", \n    \"groupName_fr\": \"Destroyer guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Destroyer\", \n    \"groupName_ja\": \"アステロイドガリスタス駆逐艦\", \n    \"groupName_ko\": \"소행성 구리스타스 디스트로이어\", \n    \"groupName_ru\": \"Эсминец астероидного патруля Gurista\", \n    \"groupName_zh\": \"小行星古斯塔斯驱逐舰\", \n    \"groupNameID\": 64006, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"580\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 580, \n    \"groupName_de\": \"Asteroiden: Guristas-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Asteroid Guristas BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de asteroide de los Guristas\", \n    \"groupName_fr\": \"Croiseur de bataille guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas BattleCruiser\", \n    \"groupName_ja\": \"アステロイドガリスタス巡洋戦艦\", \n    \"groupName_ko\": \"소행성 구리스타스 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер астероидного патруля Gurista\", \n    \"groupName_zh\": \"小行星古斯塔斯战列巡洋舰\", \n    \"groupNameID\": 64007, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"581\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 581, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation-Zerstörer\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Destroyer\", \n    \"groupName_es\": \"Destructor de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Destroyer Sansha's Nation astéroïde\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Destroyer\", \n    \"groupName_ja\": \"アステロイドサンシャ国駆逐艦\", \n    \"groupName_ko\": \"소행성 산샤 네이션 디스트로이어\", \n    \"groupName_ru\": \"Эсминец астероидного патруля Нации Sansha\", \n    \"groupName_zh\": \"小行星萨沙共和国驱逐舰\", \n    \"groupNameID\": 64008, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"582\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 582, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Croiseur de bataille Sansha's Nation astéroïde\", \n    \"groupName_it\": \"Asteroid Sansha's Nation BattleCruiser\", \n    \"groupName_ja\": \"アステロイドサンシャ国巡洋戦艦\", \n    \"groupName_ko\": \"소행성 산샤 네이션 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер астероидного патруля Sansha\", \n    \"groupName_zh\": \"小行星萨沙共和国战列巡洋舰\", \n    \"groupNameID\": 64009, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"583\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 583, \n    \"groupName_de\": \"Asteroiden: Serpentis-Zerstörer\", \n    \"groupName_en-us\": \"Asteroid Serpentis Destroyer\", \n    \"groupName_es\": \"Destructor de asteroide de Serpentis\", \n    \"groupName_fr\": \"Destroyer serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Destroyer\", \n    \"groupName_ja\": \"アステロイドサーペンティス駆逐艦\", \n    \"groupName_ko\": \"소행성 서펜티스 디스트로이어\", \n    \"groupName_ru\": \"Эсминец астероидного патруля Serpentis\", \n    \"groupName_zh\": \"小行星天蛇集团驱逐舰\", \n    \"groupNameID\": 64010, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"584\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 584, \n    \"groupName_de\": \"Asteroiden: Serpentis-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Asteroid Serpentis BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de asteroide de Serpentis\", \n    \"groupName_fr\": \"Croiseur de bataille serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis BattleCruiser\", \n    \"groupName_ja\": \"アステロイドサーペンティス巡洋戦艦\", \n    \"groupName_ko\": \"소행성 서펜티스 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер астероидного патруля Serpentis\", \n    \"groupName_zh\": \"小行星天蛇集团战列巡洋舰\", \n    \"groupNameID\": 64011, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"585\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 585, \n    \"groupName_de\": \"Fern-Hüllenreparierer\", \n    \"groupName_en-us\": \"Remote Hull Repairer\", \n    \"groupName_es\": \"Reparador de casco remoto\", \n    \"groupName_fr\": \"Réparateur de coque à distance\", \n    \"groupName_it\": \"Remote Hull Repairer\", \n    \"groupName_ja\": \"リモート船体リペアラ\", \n    \"groupName_ko\": \"원격 선체수리 장치\", \n    \"groupName_ru\": \"Система дистанционного ремонта корпуса\", \n    \"groupName_zh\": \"远程船体维修装置\", \n    \"groupNameID\": 64012, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"586\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 586, \n    \"groupName_de\": \"Drohnenmodule\", \n    \"groupName_en-us\": \"Drone Modules\", \n    \"groupName_es\": \"Módulos de drones\", \n    \"groupName_fr\": \"Modules de drone\", \n    \"groupName_it\": \"Drone Modules\", \n    \"groupName_ja\": \"ドローンモジュール\", \n    \"groupName_ko\": \"드론 모듈\", \n    \"groupName_ru\": \"Модули дронов\", \n    \"groupName_zh\": \"无人机舱段\", \n    \"groupNameID\": 64013, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"588\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 588, \n    \"groupName_de\": \"Superwaffe\", \n    \"groupName_en-us\": \"Super Weapon\", \n    \"groupName_es\": \"Superarma\", \n    \"groupName_fr\": \"Super arme\", \n    \"groupName_it\": \"Super Weapon\", \n    \"groupName_ja\": \"超兵器\", \n    \"groupName_ko\": \"슈퍼웨폰\", \n    \"groupName_ru\": \"Супероружие\", \n    \"groupName_zh\": \"超级武器\", \n    \"groupNameID\": 64014, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"589\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 589, \n    \"groupName_de\": \"Interdiction-Sphere-Launcher\", \n    \"groupName_en-us\": \"Interdiction Sphere Launcher\", \n    \"groupName_es\": \"Lanzaesferas de interdicción\", \n    \"groupName_fr\": \"Lanceur de sphère d'interdiction\", \n    \"groupName_it\": \"Interdiction Sphere Launcher\", \n    \"groupName_ja\": \"インターディクションスフィアランチャー\", \n    \"groupName_ko\": \"인터딕션 런처\", \n    \"groupName_ru\": \"Пусковая установка зондов-генераторов варп-помех\", \n    \"groupName_zh\": \"拦截泡发射器\", \n    \"groupNameID\": 64342, \n    \"iconID\": 2990, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"590\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 590, \n    \"groupName_de\": \"Sprungtorgenerator\", \n    \"groupName_en-us\": \"Jump Portal Generator\", \n    \"groupName_es\": \"Generador de portales de salto\", \n    \"groupName_fr\": \"Générateur de portail hyperspatial\", \n    \"groupName_it\": \"Jump Portal Generator\", \n    \"groupName_ja\": \"ジャンプポータルジェネレーター\", \n    \"groupName_ko\": \"점프 포탈 생성기\", \n    \"groupName_ru\": \"Генератор гиперпорталов\", \n    \"groupName_zh\": \"跳跃通道发生器\", \n    \"groupNameID\": 64015, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"593\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 593, \n    \"groupName_de\": \"Raumverwerfung: Angel Cartel-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Deadspace Angel Cartel BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate del espacio muerto del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Croiseur de bataille cartel angel Deadspace\", \n    \"groupName_it\": \"Deadspace Angel Cartel BattleCruiser\", \n    \"groupName_ja\": \"デッドスペースエンジェルカルテル巡洋戦艦\", \n    \"groupName_ko\": \"데드스페이스 엔젤 카르텔 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер дэдспейса Картеля Angel\", \n    \"groupName_zh\": \"死亡空间天使战列巡洋舰\", \n    \"groupNameID\": 64016, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"594\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 594, \n    \"groupName_de\": \"Raumverwerfung: Angel Cartel-Schlachtschiff\", \n    \"groupName_en-us\": \"Deadspace Angel Cartel Battleship\", \n    \"groupName_es\": \"Acorazado del espacio muerto del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Cuirassé cartel angel Deadspace\", \n    \"groupName_it\": \"Deadspace Angel Cartel Battleship\", \n    \"groupName_ja\": \"デッドスペースエンジェルカルテル戦艦\", \n    \"groupName_ko\": \"데드스페이스 엔젤 카르텔 배틀쉽\", \n    \"groupName_ru\": \"Линкор дэдспейса Картеля Angel\", \n    \"groupName_zh\": \"死亡空间天使战列舰\", \n    \"groupNameID\": 64017, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"595\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 595, \n    \"groupName_de\": \"Raumverwerfung: Angel Cartel-Kreuzer\", \n    \"groupName_en-us\": \"Deadspace Angel Cartel Cruiser\", \n    \"groupName_es\": \"Crucero del espacio muerto del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Croiseur cartel angel Deadspace\", \n    \"groupName_it\": \"Deadspace Angel Cartel Cruiser\", \n    \"groupName_ja\": \"デッドスペースエンジェルカルテル巡洋艦\", \n    \"groupName_ko\": \"데드스페이스 엔젤 카르텔 크루저\", \n    \"groupName_ru\": \"Крейсер дэдспейса Картеля Angel\", \n    \"groupName_zh\": \"死亡空间天使巡洋舰\", \n    \"groupNameID\": 64018, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"596\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 596, \n    \"groupName_de\": \"Raumverwerfung: Angel Cartel-Zerstörer\", \n    \"groupName_en-us\": \"Deadspace Angel Cartel Destroyer\", \n    \"groupName_es\": \"Destructor del espacio muerto del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Destroyer cartel angel Deadspace\", \n    \"groupName_it\": \"Deadspace Angel Cartel Destroyer\", \n    \"groupName_ja\": \"デッドスペースエンジェルカルテル駆逐艦\", \n    \"groupName_ko\": \"데드스페이스 엔젤 카르텔 디스트로이어\", \n    \"groupName_ru\": \"Эсминец дэдспейса Картеля Angel\", \n    \"groupName_zh\": \"死亡空间天使驱逐舰\", \n    \"groupNameID\": 64019, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"597\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 597, \n    \"groupName_de\": \"Raumverwerfung: Angel Cartel-Fregatte\", \n    \"groupName_en-us\": \"Deadspace Angel Cartel Frigate\", \n    \"groupName_es\": \"Fragata del espacio muerto del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Frégate cartel angel Deadspace\", \n    \"groupName_it\": \"Deadspace Angel Cartel Frigate\", \n    \"groupName_ja\": \"デッドスペースエンジェルカルテルフリゲート\", \n    \"groupName_ko\": \"데드스페이스 엔젤 카르텔 프리깃\", \n    \"groupName_ru\": \"Фрегат дэдспейса Картеля Angel\", \n    \"groupName_zh\": \"死亡空间天使护卫舰\", \n    \"groupNameID\": 64020, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"602\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 602, \n    \"groupName_de\": \"Raumverwerfung: Blood Raiders-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Deadspace Blood Raiders BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate del espacio muerto de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Croiseur de bataille blood raider Deadspace\", \n    \"groupName_it\": \"Deadspace Blood Raiders BattleCruiser\", \n    \"groupName_ja\": \"デッドスペースブラッドレイダー巡洋戦艦\", \n    \"groupName_ko\": \"데드스페이스 블러드 레이더 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер дэдспейса Blood Raider\", \n    \"groupName_zh\": \"死亡空间血袭者战列巡洋舰\", \n    \"groupNameID\": 64021, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"603\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 603, \n    \"groupName_de\": \"Raumverwerfung: Blood Raiders-Schlachtschiff\", \n    \"groupName_en-us\": \"Deadspace Blood Raiders Battleship\", \n    \"groupName_es\": \"Acorazado del espacio muerto de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Cuirassé blood raider Deadspace\", \n    \"groupName_it\": \"Deadspace Blood Raiders Battleship\", \n    \"groupName_ja\": \"デッドスペースブラッドレイダー戦艦\", \n    \"groupName_ko\": \"데드스페이스 블러드 레이더 배틀쉽\", \n    \"groupName_ru\": \"Линкор дэдспейса Blood Raider\", \n    \"groupName_zh\": \"死亡空间血袭者战列舰\", \n    \"groupNameID\": 64022, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"604\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 604, \n    \"groupName_de\": \"Raumverwerfung: Blood Raiders-Kreuzer\", \n    \"groupName_en-us\": \"Deadspace Blood Raiders Cruiser\", \n    \"groupName_es\": \"Crucero del espacio muerto de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Croiseur blood raider Deadspace\", \n    \"groupName_it\": \"Deadspace Blood Raiders Cruiser\", \n    \"groupName_ja\": \"デッドスペースブラッドレイダー巡洋艦\", \n    \"groupName_ko\": \"데드스페이스 블러드 레이더 크루저\", \n    \"groupName_ru\": \"Крейсер дэдспейса Blood Raider\", \n    \"groupName_zh\": \"死亡空间血袭者巡洋舰\", \n    \"groupNameID\": 64023, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"605\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 605, \n    \"groupName_de\": \"Raumverwerfung: Blood Raiders-Zerstörer\", \n    \"groupName_en-us\": \"Deadspace Blood Raiders Destroyer\", \n    \"groupName_es\": \"Destructor del espacio muerto de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Destroyer blood raider Deadspace\", \n    \"groupName_it\": \"Deadspace Blood Raiders Destroyer\", \n    \"groupName_ja\": \"デッドスペースブラッドレイダー駆逐艦\", \n    \"groupName_ko\": \"데드스페이스 블러드 레이더 디스트로이어\", \n    \"groupName_ru\": \"Эсминец дэдспейса Blood Raider\", \n    \"groupName_zh\": \"死亡空间血袭者驱逐舰\", \n    \"groupNameID\": 64024, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"606\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 606, \n    \"groupName_de\": \"Raumverwerfung: Blood Raiders-Fregatte\", \n    \"groupName_en-us\": \"Deadspace Blood Raiders Frigate\", \n    \"groupName_es\": \"Fragata de los Saqueadores Sanguinarios del espacio muerto\", \n    \"groupName_fr\": \"Frégate blood raider Deadspace\", \n    \"groupName_it\": \"Deadspace Blood Raiders Frigate\", \n    \"groupName_ja\": \"デッドスペースブラッドレイダーフリゲート\", \n    \"groupName_ko\": \"데드스페이스 블러드 레이더 프리깃\", \n    \"groupName_ru\": \"Фрегат дэдспейса Blood Raider\", \n    \"groupName_zh\": \"死亡空间血袭者护卫舰\", \n    \"groupNameID\": 64025, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"611\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 611, \n    \"groupName_de\": \"Raumverwerfung: Guristas-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Deadspace Guristas BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate del espacio muerto de los Guristas\", \n    \"groupName_fr\": \"Croiseur de bataille guristas Deadspace\", \n    \"groupName_it\": \"Deadspace Guristas BattleCruiser\", \n    \"groupName_ja\": \"デッドスペースガリスタス巡洋戦艦\", \n    \"groupName_ko\": \"데드스페이스 구리스타스 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер дэдспейса Gurista\", \n    \"groupName_zh\": \"死亡空间古斯塔斯战列巡洋舰\", \n    \"groupNameID\": 64026, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"612\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 612, \n    \"groupName_de\": \"Raumverwerfung: Guristas-Schlachtschiff\", \n    \"groupName_en-us\": \"Deadspace Guristas Battleship\", \n    \"groupName_es\": \"Acorazado del espacio muerto de los Guristas\", \n    \"groupName_fr\": \"Cuirassé guristas Deadspace\", \n    \"groupName_it\": \"Deadspace Guristas Battleship\", \n    \"groupName_ja\": \"デッドスペースガリスタス戦艦\", \n    \"groupName_ko\": \"데드스페이스 구리스타스 배틀쉽\", \n    \"groupName_ru\": \"Линкор дэдспейса Gurista\", \n    \"groupName_zh\": \"死亡空间古斯塔斯战列舰\", \n    \"groupNameID\": 64027, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"613\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 613, \n    \"groupName_de\": \"Raumverwerfung: Guristas-Kreuzer\", \n    \"groupName_en-us\": \"Deadspace Guristas Cruiser\", \n    \"groupName_es\": \"Crucero del espacio muerto de los Guristas\", \n    \"groupName_fr\": \"Croiseur guristas Deadspace\", \n    \"groupName_it\": \"Deadspace Guristas Cruiser\", \n    \"groupName_ja\": \"デッドスペースガリスタス巡洋艦\", \n    \"groupName_ko\": \"데드스페이스 구리스타스 크루저\", \n    \"groupName_ru\": \"Крейсер дэдспейса Gurista\", \n    \"groupName_zh\": \"死亡空间古斯塔斯巡洋舰\", \n    \"groupNameID\": 64028, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"614\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 614, \n    \"groupName_de\": \"Raumverwerfung: Guristas-Zerstörer\", \n    \"groupName_en-us\": \"Deadspace Guristas Destroyer\", \n    \"groupName_es\": \"Destructor del espacio muerto de los Guristas\", \n    \"groupName_fr\": \"Destroyer guristas Deadspace\", \n    \"groupName_it\": \"Deadspace Guristas Destroyer\", \n    \"groupName_ja\": \"デッドスペースガリスタス駆逐艦\", \n    \"groupName_ko\": \"데드스페이스 구리스타스 디스트로이어\", \n    \"groupName_ru\": \"Эсминец дэдспейса Gurista\", \n    \"groupName_zh\": \"死亡空间古斯塔斯驱逐舰\", \n    \"groupNameID\": 64029, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"615\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 615, \n    \"groupName_de\": \"Raumverwerfung: Guristas-Fregatte\", \n    \"groupName_en-us\": \"Deadspace Guristas Frigate\", \n    \"groupName_es\": \"Fragata del espacio muerto de los Guristas\", \n    \"groupName_fr\": \"Frégate guristas Deadspace\", \n    \"groupName_it\": \"Deadspace Guristas Frigate\", \n    \"groupName_ja\": \"デッドスペースガリスタスフリゲート\", \n    \"groupName_ko\": \"데드스페이스 구리스타스 프리깃\", \n    \"groupName_ru\": \"Фрегат дэдспейса Gurista\", \n    \"groupName_zh\": \"死亡空间古斯塔斯护卫舰\", \n    \"groupNameID\": 64030, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"620\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 620, \n    \"groupName_de\": \"Raumverwerfung: Sansha's Nation-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Deadspace Sansha's Nation BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate del espacio muerto de la Nación Sansha\", \n    \"groupName_fr\": \"Croiseur de bataille Sansha's Nation Deadspace\", \n    \"groupName_it\": \"Deadspace Sansha's Nation BattleCruiser\", \n    \"groupName_ja\": \"デッドスペースサンシャ国巡洋戦艦\", \n    \"groupName_ko\": \"데드스페이스 산샤 네이션 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер дэдспейса Sansha\", \n    \"groupName_zh\": \"死亡空间萨沙共和国战列巡洋舰\", \n    \"groupNameID\": 64031, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"621\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 621, \n    \"groupName_de\": \"Raumverwerfung: Sansha's Nation-Schlachtschiff\", \n    \"groupName_en-us\": \"Deadspace Sansha's Nation Battleship\", \n    \"groupName_es\": \"Acorazado del espacio muerto de la Nación Sansha\", \n    \"groupName_fr\": \"Cuirassé Sansha's Nation Deadspace\", \n    \"groupName_it\": \"Deadspace Sansha's Nation Battleship\", \n    \"groupName_ja\": \"デッドスペースサンシャ国戦艦\", \n    \"groupName_ko\": \"데드스페이스 산샤 네이션 배틀쉽\", \n    \"groupName_ru\": \"Линкор дэдспейса Sansha\", \n    \"groupName_zh\": \"死亡空间萨沙共和国战列舰\", \n    \"groupNameID\": 64032, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"622\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 622, \n    \"groupName_de\": \"Raumverwerfung: Sansha's Nation-Kreuzer\", \n    \"groupName_en-us\": \"Deadspace Sansha's Nation Cruiser\", \n    \"groupName_es\": \"Crucero del espacio muerto de la Nación Sansha\", \n    \"groupName_fr\": \"Croiseur Sansha's Nation Deadspace\", \n    \"groupName_it\": \"Deadspace Sansha's Nation Cruiser\", \n    \"groupName_ja\": \"デッドスペースサンシャ国巡洋艦\", \n    \"groupName_ko\": \"데드스페이스 산샤 네이션 크루저\", \n    \"groupName_ru\": \"Крейсер дэдспейса Sansha\", \n    \"groupName_zh\": \"死亡空间萨沙共和国巡洋舰\", \n    \"groupNameID\": 64033, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"623\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 623, \n    \"groupName_de\": \"Raumverwerfung: Sansha's Nation-Zerstörer\", \n    \"groupName_en-us\": \"Deadspace Sansha's Nation Destroyer\", \n    \"groupName_es\": \"Destructor del espacio muerto de la Nación Sansha\", \n    \"groupName_fr\": \"Destroyer Sansha's Nation Deadspace\", \n    \"groupName_it\": \"Deadspace Sansha's Nation Destroyer\", \n    \"groupName_ja\": \"デッドスペースサンシャ国駆逐艦\", \n    \"groupName_ko\": \"데드스페이스 산샤 네이션 디스트로이어\", \n    \"groupName_ru\": \"Эсминец дэдспейса Sansha\", \n    \"groupName_zh\": \"死亡空间萨沙共和国驱逐舰\", \n    \"groupNameID\": 64034, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"624\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 624, \n    \"groupName_de\": \"Raumverwerfung: Sansha's Nation-Fregatte\", \n    \"groupName_en-us\": \"Deadspace Sansha's Nation Frigate\", \n    \"groupName_es\": \"Fragata del espacio muerto de la Nación Sansha\", \n    \"groupName_fr\": \"Frégate Sansha's Nation Deadspace\", \n    \"groupName_it\": \"Deadspace Sansha's Nation Frigate\", \n    \"groupName_ja\": \"デッドスペースサンシャ国フリゲート\", \n    \"groupName_ko\": \"데드스페이스 산샤 네이션 프리깃\", \n    \"groupName_ru\": \"Фрегат дэдспейса Sansha\", \n    \"groupName_zh\": \"死亡空间萨沙共和国护卫舰\", \n    \"groupNameID\": 64035, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"629\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 629, \n    \"groupName_de\": \"Raumverwerfung: Serpentis-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Deadspace Serpentis BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate del espacio muerto de los Serpentis\", \n    \"groupName_fr\": \"Croiseur de bataille serpentis Deadspace\", \n    \"groupName_it\": \"Deadspace Serpentis BattleCruiser\", \n    \"groupName_ja\": \"デッドスペースサーペンティス巡洋戦艦\", \n    \"groupName_ko\": \"데드스페이스 서펜티스 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер дэдспейса Serpentis\", \n    \"groupName_zh\": \"死亡空间天蛇战列巡洋舰\", \n    \"groupNameID\": 64036, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"630\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 630, \n    \"groupName_de\": \"Raumverwerfung: Serpentis-Schlachtschiff\", \n    \"groupName_en-us\": \"Deadspace Serpentis Battleship\", \n    \"groupName_es\": \"Acorazado del espacio muerto de los Serpentis\", \n    \"groupName_fr\": \"Cuirassé serpentis Deadspace\", \n    \"groupName_it\": \"Deadspace Serpentis Battleship\", \n    \"groupName_ja\": \"デッドスペースサーペンティス戦艦\", \n    \"groupName_ko\": \"데드스페이스 서펜티스 배틀쉽\", \n    \"groupName_ru\": \"Линкор дэдспейса Serpentis\", \n    \"groupName_zh\": \"死亡空间天蛇战列舰\", \n    \"groupNameID\": 64037, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"631\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 631, \n    \"groupName_de\": \"Raumverwerfung: Serpentis-Kreuzer\", \n    \"groupName_en-us\": \"Deadspace Serpentis Cruiser\", \n    \"groupName_es\": \"Crucero del espacio muerto de los Serpentis\", \n    \"groupName_fr\": \"Croiseur serpentis Deadspace\", \n    \"groupName_it\": \"Deadspace Serpentis Cruiser\", \n    \"groupName_ja\": \"デッドスペースサーペンティス巡洋艦\", \n    \"groupName_ko\": \"데드스페이스 서펜티스 크루저\", \n    \"groupName_ru\": \"Крейсер дэдспейса Serpentis\", \n    \"groupName_zh\": \"死亡空间天蛇巡洋舰\", \n    \"groupNameID\": 64038, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"632\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 632, \n    \"groupName_de\": \"Raumverwerfung: Serpentis-Zerstörer\", \n    \"groupName_en-us\": \"Deadspace Serpentis Destroyer\", \n    \"groupName_es\": \"Destructor del espacio muerto de los Serpentis\", \n    \"groupName_fr\": \"Destroyer serpentis Deadspace\", \n    \"groupName_it\": \"Deadspace Serpentis Destroyer\", \n    \"groupName_ja\": \"デッドスペースサーペンティス駆逐艦\", \n    \"groupName_ko\": \"데드스페이스 서펜티스 디스트로이어\", \n    \"groupName_ru\": \"Эсминец дэдспейса Serpentis\", \n    \"groupName_zh\": \"死亡空间天蛇驱逐舰\", \n    \"groupNameID\": 64039, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"633\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 633, \n    \"groupName_de\": \"Raumverwerfung: Serpentis-Fregatte\", \n    \"groupName_en-us\": \"Deadspace Serpentis Frigate\", \n    \"groupName_es\": \"Fragata del espacio muerto de los Serpentis\", \n    \"groupName_fr\": \"Frégate serpentis Deadspace\", \n    \"groupName_it\": \"Deadspace Serpentis Frigate\", \n    \"groupName_ja\": \"デッドスペースサーペンティスフリゲート\", \n    \"groupName_ko\": \"데드스페이스 서펜티스 프리깃\", \n    \"groupName_ru\": \"Фрегат дэдспейса Serpentis\", \n    \"groupName_zh\": \"死亡空间天蛇护卫舰\", \n    \"groupNameID\": 64040, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"638\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 638, \n    \"groupName_de\": \"Navigationscomputer\", \n    \"groupName_en-us\": \"Navigation Computer\", \n    \"groupName_es\": \"Ordenador de navegación\", \n    \"groupName_fr\": \"Ordinateur de navigation\", \n    \"groupName_it\": \"Navigation Computer\", \n    \"groupName_ja\": \"ナビゲーションコンピュータ\", \n    \"groupName_ko\": \"항법 시스템\", \n    \"groupName_ru\": \"Навигационный компьютер\", \n    \"groupName_zh\": \"无人机导航计算机\", \n    \"groupNameID\": 64041, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"639\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 639, \n    \"groupName_de\": \"Drohne zur elektronischen Kriegsführung\", \n    \"groupName_en-us\": \"Electronic Warfare Drone\", \n    \"groupName_es\": \"Dron de guerra electrónica\", \n    \"groupName_fr\": \"Drone de guerre électronique\", \n    \"groupName_it\": \"Electronic Warfare Drone\", \n    \"groupName_ja\": \"電子戦ドローン\", \n    \"groupName_ko\": \"전자전 드론\", \n    \"groupName_ru\": \"Дрон электронного противодействия\", \n    \"groupName_zh\": \"电子战无人机\", \n    \"groupNameID\": 64042, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"640\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 640, \n    \"groupName_de\": \"Versorgungsdrohne\", \n    \"groupName_en-us\": \"Logistic Drone\", \n    \"groupName_es\": \"Dron logístico\", \n    \"groupName_fr\": \"Drone d'assistance\", \n    \"groupName_it\": \"Logistic Drone\", \n    \"groupName_ja\": \"支援専門ドローン\", \n    \"groupName_ko\": \"로지스틱스 드론\", \n    \"groupName_ru\": \"Ремонтный дрон\", \n    \"groupName_zh\": \"后勤无人机\", \n    \"groupNameID\": 64043, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"641\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 641, \n    \"groupName_de\": \"Stasisnetzdrohne\", \n    \"groupName_en-us\": \"Stasis Webifying Drone\", \n    \"groupName_es\": \"Dron de red ralentizadora\", \n    \"groupName_fr\": \"Drone de stase\", \n    \"groupName_it\": \"Stasis Webifying Drone\", \n    \"groupName_ja\": \"ステイシスウェブドローン\", \n    \"groupName_ko\": \"스테이시스 웹 드론\", \n    \"groupName_ru\": \"Дрон постановки стазис-сети\", \n    \"groupName_zh\": \"停滞缠绕无人机\", \n    \"groupNameID\": 64044, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"642\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 642, \n    \"groupName_de\": \"Supergruppenverbesserer\", \n    \"groupName_en-us\": \"Super Gang Enhancer\", \n    \"groupName_es\": \"Intensificador de superbanda\", \n    \"groupName_fr\": \"Super optimisateur de gang\", \n    \"groupName_it\": \"Super Gang Enhancer\", \n    \"groupName_ja\": \"スーパーギャングエンハンサー\", \n    \"groupName_ko\": \"슈퍼 갱 향상장치\", \n    \"groupName_ru\": \"Усовершенствованная система межкорабельной координации\", \n    \"groupName_zh\": \"超级团队增强器\", \n    \"groupNameID\": 64045, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"643\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 643, \n    \"groupName_de\": \"Trägerschiff-Blaupause\", \n    \"groupName_en-us\": \"Carrier Blueprint\", \n    \"groupName_es\": \"Plano de portanaves\", \n    \"groupName_fr\": \"Plan de construction Porte-vaisseaux\", \n    \"groupName_it\": \"Carrier Blueprint\", \n    \"groupName_ja\": \"艦載機母艦ブループリント\", \n    \"groupName_ko\": \"캐리어 블루프린트\", \n    \"groupName_ru\": \"Чертежи корабля автономного развёртывания\", \n    \"groupName_zh\": \"航空母舰蓝图\", \n    \"groupNameID\": 64046, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"644\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 644, \n    \"groupName_de\": \"Drohnen-Navigationscomputer\", \n    \"groupName_en-us\": \"Drone Navigation Computer\", \n    \"groupName_es\": \"Ordenador de navegación de drones\", \n    \"groupName_fr\": \"Ordinateur de navigation de drone\", \n    \"groupName_it\": \"Drone Navigation Computer\", \n    \"groupName_ja\": \"ドローンナビゲーションコンピュータ\", \n    \"groupName_ko\": \"드론 항법 시스템\", \n    \"groupName_ru\": \"Навигационный компьютер дронов\", \n    \"groupName_zh\": \"无人机导航电脑\", \n    \"groupNameID\": 64047, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"645\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 645, \n    \"groupName_de\": \"Drohnenschadensmodule\", \n    \"groupName_en-us\": \"Drone Damage Modules\", \n    \"groupName_es\": \"Módulos de daño de drones\", \n    \"groupName_fr\": \"Modules de dégâts causés par les drones\", \n    \"groupName_it\": \"Drone Damage Modules\", \n    \"groupName_ja\": \"ドローンダメージモジュール\", \n    \"groupName_ko\": \"드론 데미지 모듈\", \n    \"groupName_ru\": \"Усилители боевой эффективности дронов\", \n    \"groupName_zh\": \"无人机伤害单元\", \n    \"groupNameID\": 64048, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"646\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 646, \n    \"groupName_de\": \"Drohnenmodule zur Nachführung\", \n    \"groupName_en-us\": \"Drone Tracking Modules\", \n    \"groupName_es\": \"Módulos de rastreo de drones\", \n    \"groupName_fr\": \"Modules de poursuite de drone\", \n    \"groupName_it\": \"Drone Tracking Modules\", \n    \"groupName_ja\": \"ドローントラッキングモジュール\", \n    \"groupName_ko\": \"드론 트래킹 모듈\", \n    \"groupName_ru\": \"Усилитель системы слежения дронов\", \n    \"groupName_zh\": \"无人机追踪装备\", \n    \"groupNameID\": 64049, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"647\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 647, \n    \"groupName_de\": \"Kontrollreichweitenmodul für Drohnen\", \n    \"groupName_en-us\": \"Drone Control Range Module\", \n    \"groupName_es\": \"Módulo de alcance de control de drones\", \n    \"groupName_fr\": \"Module de contrôle de portée de drone\", \n    \"groupName_it\": \"Drone Control Range Module\", \n    \"groupName_ja\": \"ドローン制御範囲モジュール\", \n    \"groupName_ko\": \"드론 제어반경 모듈\", \n    \"groupName_ru\": \"Ретранслятор системы управления дронами\", \n    \"groupName_zh\": \"无人机操控范围增强单元\", \n    \"groupNameID\": 64050, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"648\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 648, \n    \"groupName_de\": \"Fortgeschrittene Rakete\", \n    \"groupName_en-us\": \"Advanced Rocket\", \n    \"groupName_es\": \"Cohete avanzado\", \n    \"groupName_fr\": \"Roquette avancée\", \n    \"groupName_it\": \"Advanced Rocket\", \n    \"groupName_ja\": \"高性能ロケット\", \n    \"groupName_ko\": \"상급 로켓\", \n    \"groupName_ru\": \"Спецракеты ближнего боя\", \n    \"groupName_zh\": \"高级火箭\", \n    \"groupNameID\": 64051, \n    \"iconID\": 1351, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"649\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 649, \n    \"groupName_de\": \"Frachtcontainer\", \n    \"groupName_en-us\": \"Freight Container\", \n    \"groupName_es\": \"Contenedor de mercancías\", \n    \"groupName_fr\": \"Conteneur de fret\", \n    \"groupName_it\": \"Freight Container\", \n    \"groupName_ja\": \"貨物コンテナ\", \n    \"groupName_ko\": \"화물 컨테이너\", \n    \"groupName_ru\": \"Транспортный контейнер\", \n    \"groupName_zh\": \"货物集装箱\", \n    \"groupNameID\": 64052, \n    \"iconID\": 1174, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"650\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 650, \n    \"groupName_de\": \"Traktorstrahl\", \n    \"groupName_en-us\": \"Tractor Beam\", \n    \"groupName_es\": \"Rayo tractor\", \n    \"groupName_fr\": \"Rayon de tractage\", \n    \"groupName_it\": \"Tractor Beam\", \n    \"groupName_ja\": \"トラクタービーム\", \n    \"groupName_ko\": \"트랙터 빔\", \n    \"groupName_ru\": \"Гравизахват\", \n    \"groupName_zh\": \"牵引光束\", \n    \"groupNameID\": 64053, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"651\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 651, \n    \"groupName_de\": \"Superwaffen-Blueprint\", \n    \"groupName_en-us\": \"Super Weapon Blueprint\", \n    \"groupName_es\": \"Plano de superarma\", \n    \"groupName_fr\": \"Plan de construction Super arme\", \n    \"groupName_it\": \"Super Weapon Blueprint\", \n    \"groupName_ja\": \"超兵器ブループリント\", \n    \"groupName_ko\": \"슈퍼웨폰 블루프린트\", \n    \"groupName_ru\": \"Чертеж супероружия\", \n    \"groupName_zh\": \"超级武器蓝图\", \n    \"groupNameID\": 64054, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"652\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 652, \n    \"groupName_de\": \"Mietvertrag\", \n    \"groupName_en-us\": \"Lease\", \n    \"groupName_es\": \"Alquiler\", \n    \"groupName_fr\": \"Location\", \n    \"groupName_it\": \"Lease\", \n    \"groupName_ja\": \"リース\", \n    \"groupName_ko\": \"임대\", \n    \"groupName_ru\": \"Документы аренды\", \n    \"groupName_zh\": \"契约\", \n    \"groupNameID\": 64055, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"653\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 653, \n    \"groupName_de\": \"Verbesserte leichte Rakete\", \n    \"groupName_en-us\": \"Advanced Light Missile\", \n    \"groupName_es\": \"Misil ligero avanzado\", \n    \"groupName_fr\": \"Missile léger avancé\", \n    \"groupName_it\": \"Advanced Light Missile\", \n    \"groupName_ja\": \"高性能ライトミサイル\", \n    \"groupName_ko\": \"상급 라이트 미사일\", \n    \"groupName_ru\": \"Спецракеты малой мощности\", \n    \"groupName_zh\": \"高级轻型导弹\", \n    \"groupNameID\": 64056, \n    \"iconID\": 191, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"654\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 654, \n    \"groupName_de\": \"Fortgeschrittene schwere Angriffsrakete\", \n    \"groupName_en-us\": \"Advanced Heavy Assault Missile\", \n    \"groupName_es\": \"Misil de asalto pesado avanzado\", \n    \"groupName_fr\": \"Missile d'assaut lourd avancé\", \n    \"groupName_it\": \"Advanced Heavy Assault Missile\", \n    \"groupName_ja\": \"高性能ヘビーアサルトミサイル\", \n    \"groupName_ko\": \"상급 헤비 어썰트 미사일\", \n    \"groupName_ru\": \"Малогабаритные спецракеты большой мощности\", \n    \"groupName_zh\": \"高级重型攻击导弹\", \n    \"groupNameID\": 64057, \n    \"iconID\": 3235, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"655\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 655, \n    \"groupName_de\": \"Fortgeschrittene schwere Rakete\", \n    \"groupName_en-us\": \"Advanced Heavy Missile\", \n    \"groupName_es\": \"Misil pesado avanzado\", \n    \"groupName_fr\": \"Missile lourd avancé\", \n    \"groupName_it\": \"Advanced Heavy Missile\", \n    \"groupName_ja\": \"高性能ヘビーミサイル\", \n    \"groupName_ko\": \"상급 헤비 미사일\", \n    \"groupName_ru\": \"Спецракеты большой мощности\", \n    \"groupName_zh\": \"高级重型导弹\", \n    \"groupNameID\": 64058, \n    \"iconID\": 188, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"656\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 656, \n    \"groupName_de\": \"Fortgeschrittene Cruise Missile\", \n    \"groupName_en-us\": \"Advanced Cruise Missile\", \n    \"groupName_es\": \"Misil de crucero avanzado\", \n    \"groupName_fr\": \"Missile de croisière avancé\", \n    \"groupName_it\": \"Advanced Cruise Missile\", \n    \"groupName_ja\": \"高性能クルーズミサイル\", \n    \"groupName_ko\": \"상급 크루즈 미사일\", \n    \"groupName_ru\": \"Спецракеты дальнего боя\", \n    \"groupName_zh\": \"高级巡航导弹\", \n    \"groupNameID\": 64059, \n    \"iconID\": 184, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"657\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 657, \n    \"groupName_de\": \"Fortgeschrittener Torpedo\", \n    \"groupName_en-us\": \"Advanced Torpedo\", \n    \"groupName_es\": \"Torpedo avanzado\", \n    \"groupName_fr\": \"Torpille avancée\", \n    \"groupName_it\": \"Advanced Torpedo\", \n    \"groupName_ja\": \"高性能トルピード\", \n    \"groupName_ko\": \"상급 토피도\", \n    \"groupName_ru\": \"Спецторпеды\", \n    \"groupName_zh\": \"高级鱼雷\", \n    \"groupNameID\": 64060, \n    \"iconID\": 1347, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"658\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 658, \n    \"groupName_de\": \"Cynosural Field Generator\", \n    \"groupName_en-us\": \"Cynosural Field Generator\", \n    \"groupName_es\": \"Generador de campo cinosural\", \n    \"groupName_fr\": \"Générateur de champ cynosural\", \n    \"groupName_it\": \"Cynosural Field Generator\", \n    \"groupName_ja\": \"サイノシュラルフィールド・ジェネレーター\", \n    \"groupName_ko\": \"사이노슈럴 필드 생성기\", \n    \"groupName_ru\": \"Приводной маяк\", \n    \"groupName_zh\": \"诱导力场发生器\", \n    \"groupNameID\": 64061, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"659\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 659, \n    \"groupName_de\": \"Supercarrier\", \n    \"groupName_en-us\": \"Supercarrier\", \n    \"groupName_es\": \"Superportanaves\", \n    \"groupName_fr\": \"Super porte-vaisseaux\", \n    \"groupName_it\": \"Supercarrier\", \n    \"groupName_ja\": \"大型艦載機母艦\", \n    \"groupName_ko\": \"슈퍼캐리어\", \n    \"groupName_ru\": \"КАР сверхбольшого тоннажа\", \n    \"groupName_zh\": \"超级航母\", \n    \"groupNameID\": 64360, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"660\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 660, \n    \"groupName_de\": \"Energievampir-Jäger\", \n    \"groupName_en-us\": \"Energy Vampire Slayer\", \n    \"groupName_es\": \"Asesino chupaenergía\", \n    \"groupName_fr\": \"Tueur de vampire énergétique\", \n    \"groupName_it\": \"Energy Vampire Slayer\", \n    \"groupName_ja\": \"対エネルギーバンパイア\", \n    \"groupName_ko\": \"에너지 뱀파이어 슬레이어\", \n    \"groupName_ru\": \"Энергетический модуль-антивампир\", \n    \"groupName_zh\": \"能量虹吸反制设备\", \n    \"groupNameID\": 64062, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"661\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 24, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 661, \n    \"groupName_de\": \"Einfache Biochemische Reaktionen\", \n    \"groupName_en-us\": \"Simple Biochemical Reactions\", \n    \"groupName_es\": \"Reacciones bioquímicas simples\", \n    \"groupName_fr\": \"Réactions biochimiques simples\", \n    \"groupName_it\": \"Simple Biochemical Reactions\", \n    \"groupName_ja\": \"有機単体反応\", \n    \"groupName_ko\": \"단순 생화학 합성\", \n    \"groupName_ru\": \"Простые биохимические реакции\", \n    \"groupName_zh\": \"简单生化反应\", \n    \"groupNameID\": 64063, \n    \"iconID\": 2665, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"662\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 24, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 662, \n    \"groupName_de\": \"Komplexe Biochemische Reaktionen\", \n    \"groupName_en-us\": \"Complex Biochemical Reactions\", \n    \"groupName_es\": \"Reacciones bioquímicas complejas\", \n    \"groupName_fr\": \"Réactions biochimiques complexes\", \n    \"groupName_it\": \"Complex Biochemical Reactions\", \n    \"groupName_ja\": \"有機複合反応\", \n    \"groupName_ko\": \"복합 생화학 합성\", \n    \"groupName_ru\": \"Сложные биохимические реакции\", \n    \"groupName_zh\": \"复杂生化反应\", \n    \"groupNameID\": 64064, \n    \"iconID\": 2665, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"663\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 663, \n    \"groupName_de\": \"Mercoxit-Bergbaukristall\", \n    \"groupName_en-us\": \"Mercoxit Mining Crystal\", \n    \"groupName_es\": \"Cristal de minería de mercoxita\", \n    \"groupName_fr\": \"Cristal d'extraction de mercoxit\", \n    \"groupName_it\": \"Mercoxit Mining Crystal\", \n    \"groupName_ja\": \"メロコキサイト採掘クリスタル\", \n    \"groupName_ko\": \"메르코시트 채광용 크리스탈\", \n    \"groupName_ru\": \"Кристалл настройки экстрактора на меркоцит\", \n    \"groupName_zh\": \"基腹断岩采集晶体\", \n    \"groupNameID\": 64065, \n    \"iconID\": 24969, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"665\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 665, \n    \"groupName_de\": \"Missionen: Fregatte des Amarr-Imperiums\", \n    \"groupName_en-us\": \"Mission Amarr Empire Frigate\", \n    \"groupName_es\": \"Fragata de misión del Imperio Amarr\", \n    \"groupName_fr\": \"Frégate Empire amarr mission\", \n    \"groupName_it\": \"Mission Amarr Empire Frigate\", \n    \"groupName_ja\": \"ミッションアマー帝国フリゲート\", \n    \"groupName_ko\": \"미션 아마르 프리깃\", \n    \"groupName_ru\": \"Фрегат боевой группы Империи Amarr\", \n    \"groupName_zh\": \"任务 艾玛帝国舰队护卫舰\", \n    \"groupNameID\": 64066, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"666\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 666, \n    \"groupName_de\": \"Missionen: Schlachtkreuzer des Amarr-Imperiums\", \n    \"groupName_en-us\": \"Mission Amarr Empire Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de misión del Imperio Amarr\", \n    \"groupName_fr\": \"Croiseur de bataille Empire amarr mission\", \n    \"groupName_it\": \"Mission Amarr Empire Battlecruiser\", \n    \"groupName_ja\": \"ミッションアマー帝国巡洋戦艦\", \n    \"groupName_ko\": \"미션 아마르 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер боевой группы Империи Amarr\", \n    \"groupName_zh\": \"任务 艾玛帝国舰队战列巡洋舰\", \n    \"groupNameID\": 64067, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"667\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 667, \n    \"groupName_de\": \"Missionen: Amarr Empire-Schlachtschiff\", \n    \"groupName_en-us\": \"Mission Amarr Empire Battleship\", \n    \"groupName_es\": \"Acorazado de misión del Imperio Amarr\", \n    \"groupName_fr\": \"Cuirassé Empire amarr mission\", \n    \"groupName_it\": \"Mission Amarr Empire Battleship\", \n    \"groupName_ja\": \"ミッションアマー帝国戦艦\", \n    \"groupName_ko\": \"미션 아마르 배틀쉽\", \n    \"groupName_ru\": \"Линкор боевой группы Империи Amarr\", \n    \"groupName_zh\": \"任务 艾玛帝国舰队战列舰\", \n    \"groupNameID\": 64068, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"668\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 668, \n    \"groupName_de\": \"Missionen: Kreuzer des Amarr-Imperiums\", \n    \"groupName_en-us\": \"Mission Amarr Empire Cruiser\", \n    \"groupName_es\": \"Crucero de misión del Imperio Amarr\", \n    \"groupName_fr\": \"Croiseur Empire amarr mission\", \n    \"groupName_it\": \"Mission Amarr Empire Cruiser\", \n    \"groupName_ja\": \"ミッションアマー帝国巡洋艦\", \n    \"groupName_ko\": \"미션 아마르 크루저\", \n    \"groupName_ru\": \"Крейсер боевой группы Империи Amarr\", \n    \"groupName_zh\": \"任务 艾玛帝国舰队巡洋舰\", \n    \"groupNameID\": 64069, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"669\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 669, \n    \"groupName_de\": \"Missionen: Zerstörer des Amarr-Imperiums\", \n    \"groupName_en-us\": \"Mission Amarr Empire Destroyer\", \n    \"groupName_es\": \"Destructor de misión del Imperio Amarr\", \n    \"groupName_fr\": \"Destroyer Empire amarr mission\", \n    \"groupName_it\": \"Mission Amarr Empire Destroyer\", \n    \"groupName_ja\": \"ミッションアマー帝国駆逐艦\", \n    \"groupName_ko\": \"미션 아마르 디스트로이어\", \n    \"groupName_ru\": \"Эсминец боевой группы Империи Amarr\", \n    \"groupName_zh\": \"任务 艾玛帝国舰队驱逐舰\", \n    \"groupNameID\": 64070, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"670\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 670, \n    \"groupName_de\": \"Missionen: Amarr Empire (andere)\", \n    \"groupName_en-us\": \"Mission Amarr Empire Other\", \n    \"groupName_es\": \"Otro elemento de misión del Imperio Amarr\", \n    \"groupName_fr\": \"Autre Empire amarr mission\", \n    \"groupName_it\": \"Mission Amarr Empire Other\", \n    \"groupName_ja\": \"ミッションアマー帝国その他\", \n    \"groupName_ko\": \"미션 아마르 기타 함선\", \n    \"groupName_ru\": \"Другой корабль боевой группы империи Amarr\", \n    \"groupName_zh\": \"任务 艾玛帝国舰队其它\", \n    \"groupNameID\": 64071, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"671\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 671, \n    \"groupName_de\": \"Missionen: Fregatte des Staats der Caldari\", \n    \"groupName_en-us\": \"Mission Caldari State Frigate\", \n    \"groupName_es\": \"Fragata de misión del Estado Caldari\", \n    \"groupName_fr\": \"Frégate État caldari mission\", \n    \"groupName_it\": \"Mission Caldari State Frigate\", \n    \"groupName_ja\": \"ミッションカルダリ連合フリゲート\", \n    \"groupName_ko\": \"미션 칼다리 프리깃\", \n    \"groupName_ru\": \"Фрегат боевой группы Государства Caldari\", \n    \"groupName_zh\": \"任务 加达里合众国护卫舰\", \n    \"groupNameID\": 64072, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"672\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 672, \n    \"groupName_de\": \"Missionen: Schlachtkreuzer des Staats der Caldari\", \n    \"groupName_en-us\": \"Mission Caldari State Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de misión del Estado Caldari\", \n    \"groupName_fr\": \"Croiseur de bataille État caldari mission\", \n    \"groupName_it\": \"Mission Caldari State Battlecruiser\", \n    \"groupName_ja\": \"ミッションカルダリ連合巡洋戦艦\", \n    \"groupName_ko\": \"미션 칼다리 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер боевой группы государства Caldari\", \n    \"groupName_zh\": \"任务 加达里合众国舰队战列巡洋舰\", \n    \"groupNameID\": 64073, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"673\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 673, \n    \"groupName_de\": \"Missionen: Kreuzer des Staats der Caldari\", \n    \"groupName_en-us\": \"Mission Caldari State Cruiser\", \n    \"groupName_es\": \"Crucero de misión del Estado Caldari\", \n    \"groupName_fr\": \"Croiseur État caldari mission\", \n    \"groupName_it\": \"Mission Caldari State Cruiser\", \n    \"groupName_ja\": \"ミッションカルダリ連合巡洋艦\", \n    \"groupName_ko\": \"미션 칼다리 크루저\", \n    \"groupName_ru\": \"Крейсер боевой группы Государства Caldari\", \n    \"groupName_zh\": \"任务 加达里合众国巡洋舰\", \n    \"groupNameID\": 64074, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"674\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 674, \n    \"groupName_de\": \"Missionen: Caldari State-Schlachtschiff\", \n    \"groupName_en-us\": \"Mission Caldari State Battleship\", \n    \"groupName_es\": \"Acorazado de misión del Estado Caldari\", \n    \"groupName_fr\": \"Cuirassé État caldari mission\", \n    \"groupName_it\": \"Mission Caldari State Battleship\", \n    \"groupName_ja\": \"ミッションカルダリ連合戦艦\", \n    \"groupName_ko\": \"미션 칼다리 배틀쉽\", \n    \"groupName_ru\": \"Линкор боевой группы Государства Caldari\", \n    \"groupName_zh\": \"任务 加达里合众国舰队战列舰\", \n    \"groupNameID\": 64075, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"675\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 675, \n    \"groupName_de\": \"Missionen: Caldari State (andere)\", \n    \"groupName_en-us\": \"Mission Caldari State Other\", \n    \"groupName_es\": \"Otro elemento de misión del Estado Caldari\", \n    \"groupName_fr\": \"Autre État caldari mission\", \n    \"groupName_it\": \"Mission Caldari State Other\", \n    \"groupName_ja\": \"ミッションカルダリ連合その他\", \n    \"groupName_ko\": \"미션 칼다리 기타 함선\", \n    \"groupName_ru\": \"Другой корабль боевой группы Государства Caldari\", \n    \"groupName_zh\": \"任务 加达里合众国舰队其它\", \n    \"groupNameID\": 64076, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"676\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 676, \n    \"groupName_de\": \"Missionen: Zerstörer des Staats der Caldari\", \n    \"groupName_en-us\": \"Mission Caldari State Destroyer\", \n    \"groupName_es\": \"Destructor de misión del Estado Caldari\", \n    \"groupName_fr\": \"Destroyer État caldari mission\", \n    \"groupName_it\": \"Mission Caldari State Destroyer\", \n    \"groupName_ja\": \"ミッションカルダリ連合駆逐艦\", \n    \"groupName_ko\": \"미션 칼다리 디스트로이어\", \n    \"groupName_ru\": \"Эсминец боевой группы Государства Caldari\", \n    \"groupName_zh\": \"任务 加达里合众国舰队驱逐舰\", \n    \"groupNameID\": 64077, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"677\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 677, \n    \"groupName_de\": \"Missionen: Fregatte der Föderation der Gallente\", \n    \"groupName_en-us\": \"Mission Gallente Federation Frigate\", \n    \"groupName_es\": \"Fragata de misión de la Federación Gallente\", \n    \"groupName_fr\": \"Frégate Fédération gallente mission\", \n    \"groupName_it\": \"Mission Gallente Federation Frigate\", \n    \"groupName_ja\": \"ミッションガレンテ連邦フリゲート\", \n    \"groupName_ko\": \"미션 갈란테 프리깃\", \n    \"groupName_ru\": \"Фрегат боевой группы Федерации Gallente\", \n    \"groupName_zh\": \"任务 盖伦特联邦护卫舰\", \n    \"groupNameID\": 64078, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"678\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 678, \n    \"groupName_de\": \"Missionen: Kreuzer der Gallente-Föderation\", \n    \"groupName_en-us\": \"Mission Gallente Federation Cruiser\", \n    \"groupName_es\": \"Crucero de misión de la Federación Gallente\", \n    \"groupName_fr\": \"Croiseur Fédération gallente mission\", \n    \"groupName_it\": \"Mission Gallente Federation Cruiser\", \n    \"groupName_ja\": \"ミッションガレンテ連邦巡洋艦\", \n    \"groupName_ko\": \"미션 갈란테 크루저\", \n    \"groupName_ru\": \"Крейсер боевой группы Федерации Gallente\", \n    \"groupName_zh\": \"任务 盖伦特联邦巡洋舰\", \n    \"groupNameID\": 64079, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"679\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 679, \n    \"groupName_de\": \"Missionen: Zerstörer der Gallente-Föderation\", \n    \"groupName_en-us\": \"Mission Gallente Federation Destroyer\", \n    \"groupName_es\": \"Destructor de misión de la Federación Gallente\", \n    \"groupName_fr\": \"Destroyer Fédération gallente mission\", \n    \"groupName_it\": \"Mission Gallente Federation Destroyer\", \n    \"groupName_ja\": \"ミッションガレンテ連邦駆逐艦\", \n    \"groupName_ko\": \"미션 갈란테 디스트로이어\", \n    \"groupName_ru\": \"Эсминец боевой группы Федерации Gallente\", \n    \"groupName_zh\": \"任务 盖伦特联邦舰队驱逐舰\", \n    \"groupNameID\": 64080, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"680\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 680, \n    \"groupName_de\": \"Missionen: Gallente Federation-Schlachtschiff\", \n    \"groupName_en-us\": \"Mission Gallente Federation Battleship\", \n    \"groupName_es\": \"Acorazado de misión de la Federación Gallente\", \n    \"groupName_fr\": \"Cuirassé Fédération gallente mission\", \n    \"groupName_it\": \"Mission Gallente Federation Battleship\", \n    \"groupName_ja\": \"ミッションガレンテ連邦戦艦\", \n    \"groupName_ko\": \"미션 갈란테 배틀쉽\", \n    \"groupName_ru\": \"Линкор боевой группы Федерации Gallente\", \n    \"groupName_zh\": \"任务 盖伦特联邦战列舰\", \n    \"groupNameID\": 64081, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"681\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 681, \n    \"groupName_de\": \"Missionen: Schlachtkreuzer der Gallente-Föderation\", \n    \"groupName_en-us\": \"Mission Gallente Federation Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de misión de la Federación Gallente\", \n    \"groupName_fr\": \"Croiseur de bataille Fédération gallente mission\", \n    \"groupName_it\": \"Mission Gallente Federation Battlecruiser\", \n    \"groupName_ja\": \"ミッションガレンテ連邦巡洋戦艦\", \n    \"groupName_ko\": \"미션 갈란테 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер боевой группы Федерации Gallente\", \n    \"groupName_zh\": \"任务 盖伦特联邦舰队战列巡洋舰\", \n    \"groupNameID\": 64082, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"682\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 682, \n    \"groupName_de\": \"Missionen: Gallente Federation (andere)\", \n    \"groupName_en-us\": \"Mission Gallente Federation Other\", \n    \"groupName_es\": \"Otro elemento de misión de la Federación Gallente\", \n    \"groupName_fr\": \"Autre Fédération gallente mission\", \n    \"groupName_it\": \"Mission Gallente Federation Other\", \n    \"groupName_ja\": \"ミッションガレンテ連邦その他\", \n    \"groupName_ko\": \"미션 갈란테 기타 함선\", \n    \"groupName_ru\": \"Другой корабль боевой группы Федерации Gallente\", \n    \"groupName_zh\": \"任务 盖伦特联邦舰队其它\", \n    \"groupNameID\": 64083, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"683\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 683, \n    \"groupName_de\": \"Mission: Fregatte der Republik Minmatar\", \n    \"groupName_en-us\": \"Mission Minmatar Republic Frigate\", \n    \"groupName_es\": \"Fragata de misión de la República Minmatar\", \n    \"groupName_fr\": \"Frégate République minmatar mission\", \n    \"groupName_it\": \"Mission Minmatar Republic Frigate\", \n    \"groupName_ja\": \"ミッションミンマター共和国フリゲート\", \n    \"groupName_ko\": \"미션 민마타 프리깃\", \n    \"groupName_ru\": \"Фрегат боевой группы Республики Minmatar\", \n    \"groupName_zh\": \"任务 米玛塔尔共和国护卫舰\", \n    \"groupNameID\": 64084, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"684\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 684, \n    \"groupName_de\": \"Mission: Zerstörer der Republik Minmatar\", \n    \"groupName_en-us\": \"Mission Minmatar Republic Destroyer\", \n    \"groupName_es\": \"Destructor de misión de la República Minmatar\", \n    \"groupName_fr\": \"Destroyer République minmatar mission\", \n    \"groupName_it\": \"Mission Minmatar Republic Destroyer\", \n    \"groupName_ja\": \"ミッションミンマター共和国駆逐艦\", \n    \"groupName_ko\": \"미션 민마타 디스트로이어\", \n    \"groupName_ru\": \"Эсминец боевой группы Республики Minmatar\", \n    \"groupName_zh\": \"任务 米玛塔尔共和舰队驱逐舰\", \n    \"groupNameID\": 64085, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"685\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 685, \n    \"groupName_de\": \"Mission: Schlachtkreuzer der Republik Minmatar\", \n    \"groupName_en-us\": \"Mission Minmatar Republic Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de misión de la República Minmatar\", \n    \"groupName_fr\": \"Croiseur de bataille République minmatar mission\", \n    \"groupName_it\": \"Mission Minmatar Republic Battlecruiser\", \n    \"groupName_ja\": \"ミッションミンマター共和国巡洋戦艦\", \n    \"groupName_ko\": \"미션 민마타 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер боевой группы Республики Minmatar\", \n    \"groupName_zh\": \"任务 米玛塔尔共和舰队战列巡洋舰\", \n    \"groupNameID\": 64086, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"686\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 686, \n    \"groupName_de\": \"Mission: Republik Minmatar (andere)\", \n    \"groupName_en-us\": \"Mission Minmatar Republic Other\", \n    \"groupName_es\": \"Otro elemento de misión de la República Minmatar\", \n    \"groupName_fr\": \"Autre République minmatar mission\", \n    \"groupName_it\": \"Mission Minmatar Republic Other\", \n    \"groupName_ja\": \"ミッションミンマター共和国その他\", \n    \"groupName_ko\": \"미션 민마타 기타 함선\", \n    \"groupName_ru\": \"Другой корабль боевой группы Республики Minmatar\", \n    \"groupName_zh\": \"任务 米玛塔尔共和舰队其它\", \n    \"groupNameID\": 64087, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"687\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 687, \n    \"groupName_de\": \"Missionen: Khanid-Fregatte\", \n    \"groupName_en-us\": \"Mission Khanid Frigate\", \n    \"groupName_es\": \"Fragata de misión de los Khanid\", \n    \"groupName_fr\": \"Frégate khanid mission\", \n    \"groupName_it\": \"Mission Khanid Frigate\", \n    \"groupName_ja\": \"ミッションクーニッドフリゲート\", \n    \"groupName_ko\": \"미션 카니드 프리깃\", \n    \"groupName_ru\": \"Фрегат боевой группы Khanid\", \n    \"groupName_zh\": \"任务 卡尼迪护卫舰\", \n    \"groupNameID\": 64088, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"688\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 688, \n    \"groupName_de\": \"Missionen: Khanid-Zerstörer\", \n    \"groupName_en-us\": \"Mission Khanid Destroyer\", \n    \"groupName_es\": \"Destructor de misión de los Khanid\", \n    \"groupName_fr\": \"Destroyer khanid mission\", \n    \"groupName_it\": \"Mission Khanid Destroyer\", \n    \"groupName_ja\": \"ミッションクーニッド駆逐艦\", \n    \"groupName_ko\": \"미션 카니드 디스트로이어\", \n    \"groupName_ru\": \"Эсминец боевой группы Khanid\", \n    \"groupName_zh\": \"任务 卡尼迪驱逐舰\", \n    \"groupNameID\": 64089, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"689\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 689, \n    \"groupName_de\": \"Missionen: Khanid-Kreuzer\", \n    \"groupName_en-us\": \"Mission Khanid Cruiser\", \n    \"groupName_es\": \"Crucero de misión de los Khanid\", \n    \"groupName_fr\": \"Croiseur khanid mission\", \n    \"groupName_it\": \"Mission Khanid Cruiser\", \n    \"groupName_ja\": \"ミッションクーニッド巡洋艦\", \n    \"groupName_ko\": \"미션 카니드 크루저\", \n    \"groupName_ru\": \"Крейсер боевой группы Khanid\", \n    \"groupName_zh\": \"任务 卡尼迪巡洋舰\", \n    \"groupNameID\": 64090, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"690\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 690, \n    \"groupName_de\": \"Missionen: Khanid-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Mission Khanid Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de misión de los Khanid\", \n    \"groupName_fr\": \"Croiseur de bataille khanid mission\", \n    \"groupName_it\": \"Mission Khanid Battlecruiser\", \n    \"groupName_ja\": \"ミッションクーニッド巡洋戦艦\", \n    \"groupName_ko\": \"미션 카니드 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер боевой группы Khanid\", \n    \"groupName_zh\": \"任务 卡尼迪战列巡洋舰\", \n    \"groupNameID\": 64091, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"691\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 691, \n    \"groupName_de\": \"Missionen: Khanid-Schlachtschiff\", \n    \"groupName_en-us\": \"Mission Khanid Battleship\", \n    \"groupName_es\": \"Acorazado de misión de los Khanid\", \n    \"groupName_fr\": \"Cuirassé khanid mission\", \n    \"groupName_it\": \"Mission Khanid Battleship\", \n    \"groupName_ja\": \"ミッションクーニッド戦艦\", \n    \"groupName_ko\": \"미션 카니드 배틀쉽\", \n    \"groupName_ru\": \"Линкор боевой группы Khanid\", \n    \"groupName_zh\": \"任务 卡尼迪战列舰\", \n    \"groupNameID\": 64092, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"692\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 692, \n    \"groupName_de\": \"Missionen: Khanid (andere)\", \n    \"groupName_en-us\": \"Mission Khanid Other\", \n    \"groupName_es\": \"Otro elemento de misión de los Khanid\", \n    \"groupName_fr\": \"Autre khanid mission\", \n    \"groupName_it\": \"Mission Khanid Other\", \n    \"groupName_ja\": \"ミッションクーニッドその他\", \n    \"groupName_ko\": \"미션 카니드 기타 함선\", \n    \"groupName_ru\": \"Другой корабль боевой группы Khanid\", \n    \"groupName_zh\": \"任务 卡尼迪其它\", \n    \"groupNameID\": 64093, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"693\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 693, \n    \"groupName_de\": \"Missionen: CONCORD-Fregatte\", \n    \"groupName_en-us\": \"Mission CONCORD Frigate\", \n    \"groupName_es\": \"Fragata de misión CONCORD\", \n    \"groupName_fr\": \"Frégate CONCORD mission\", \n    \"groupName_it\": \"Mission CONCORD Frigate\", \n    \"groupName_ja\": \"ミッションCONCORDフリゲート\", \n    \"groupName_ko\": \"미션 CONCORD 프리깃\", \n    \"groupName_ru\": \"Фрегат боевой группы CONCORD\", \n    \"groupName_zh\": \"任务 统合部护卫舰\", \n    \"groupNameID\": 64094, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"694\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 694, \n    \"groupName_de\": \"Missionen: CONCORD-Zerstörer\", \n    \"groupName_en-us\": \"Mission CONCORD Destroyer\", \n    \"groupName_es\": \"Destructor de misión de CONCORD\", \n    \"groupName_fr\": \"Destroyer CONCORD mission\", \n    \"groupName_it\": \"Mission CONCORD Destroyer\", \n    \"groupName_ja\": \"ミッションCONCORD駆逐艦\", \n    \"groupName_ko\": \"미션 CONCORD 디스트로이어\", \n    \"groupName_ru\": \"Эсминец боевой группы CONCORD\", \n    \"groupName_zh\": \"任务 统合部驱逐舰\", \n    \"groupNameID\": 64095, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"695\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 695, \n    \"groupName_de\": \"Missionen: CONCORD-Kreuzer\", \n    \"groupName_en-us\": \"Mission CONCORD Cruiser\", \n    \"groupName_es\": \"Crucero de misión CONCORD\", \n    \"groupName_fr\": \"Croiseur CONCORD mission\", \n    \"groupName_it\": \"Mission CONCORD Cruiser\", \n    \"groupName_ja\": \"ミッションCONCORD巡洋艦\", \n    \"groupName_ko\": \"미션 CONCORD 크루저\", \n    \"groupName_ru\": \"Крейсер боевой группы CONCORD\", \n    \"groupName_zh\": \"任务 统合部巡洋舰\", \n    \"groupNameID\": 64096, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"696\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 696, \n    \"groupName_de\": \"Missionen: CONCORD-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Mission CONCORD Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de misión CONCORD\", \n    \"groupName_fr\": \"Croiseur de bataille CONCORD mission\", \n    \"groupName_it\": \"Mission CONCORD Battlecruiser\", \n    \"groupName_ja\": \"ミッションCONCORD巡洋戦艦\", \n    \"groupName_ko\": \"미션 CONCORD 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер боевой группы CONCORD\", \n    \"groupName_zh\": \"任务 统合部战列巡洋舰\", \n    \"groupNameID\": 64097, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"697\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 697, \n    \"groupName_de\": \"Missionen: CONCORD-Schlachtschiff\", \n    \"groupName_en-us\": \"Mission CONCORD Battleship\", \n    \"groupName_es\": \"Acorazado de misión CONCORD\", \n    \"groupName_fr\": \"Cuirassé CONCORD mission\", \n    \"groupName_it\": \"Mission CONCORD Battleship\", \n    \"groupName_ja\": \"ミッションCONCORD戦艦\", \n    \"groupName_ko\": \"미션 CONCORD 배틀쉽\", \n    \"groupName_ru\": \"Линкор боевой группы CONCORD\", \n    \"groupName_zh\": \"任务 统合部战列舰\", \n    \"groupNameID\": 64098, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"698\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 698, \n    \"groupName_de\": \"Missionen: CONCORD (andere)\", \n    \"groupName_en-us\": \"Mission CONCORD Other\", \n    \"groupName_es\": \"Otro elemento de misión CONCORD\", \n    \"groupName_fr\": \"Autre CONCORD mission\", \n    \"groupName_it\": \"Mission CONCORD Other\", \n    \"groupName_ja\": \"ミッションCONCORDその他\", \n    \"groupName_ko\": \"미션 CONCORD 기타 함선\", \n    \"groupName_ru\": \"Другой корабль боевой группы CONCORD\", \n    \"groupName_zh\": \"任务 统合部其它\", \n    \"groupNameID\": 64099, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"699\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 699, \n    \"groupName_de\": \"Missionen: Mordu-Fregatte\", \n    \"groupName_en-us\": \"Mission Mordu Frigate\", \n    \"groupName_es\": \"Fragata de misión de Mordu\", \n    \"groupName_fr\": \"Frégate Mordu mission\", \n    \"groupName_it\": \"Mission Mordu Frigate\", \n    \"groupName_ja\": \"ミッションモードゥフリゲート\", \n    \"groupName_ko\": \"미션 모르두 프리깃\", \n    \"groupName_ru\": \"Фрегат боевой группы Mordu\", \n    \"groupName_zh\": \"任务 莫德团护卫舰\", \n    \"groupNameID\": 64100, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"700\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 700, \n    \"groupName_de\": \"Missionen: Mordu-Zerstörer\", \n    \"groupName_en-us\": \"Mission Mordu Destroyer\", \n    \"groupName_es\": \"Destructor de misión de Mordu\", \n    \"groupName_fr\": \"Destroyer Mordu mission\", \n    \"groupName_it\": \"Mission Mordu Destroyer\", \n    \"groupName_ja\": \"ミッションモードゥ駆逐艦\", \n    \"groupName_ko\": \"미션 모르두 디스트로이어\", \n    \"groupName_ru\": \"Эсминец боевой группы Mordu\", \n    \"groupName_zh\": \"任务 莫德团驱逐舰\", \n    \"groupNameID\": 64101, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"701\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 701, \n    \"groupName_de\": \"Missionen: Mordu-Kreuzer\", \n    \"groupName_en-us\": \"Mission Mordu Cruiser\", \n    \"groupName_es\": \"Crucero de misión de Mordu\", \n    \"groupName_fr\": \"Croiseur Mordu mission\", \n    \"groupName_it\": \"Mission Mordu Cruiser\", \n    \"groupName_ja\": \"ミッションモードゥ巡洋艦\", \n    \"groupName_ko\": \"미션 모르두 크루저\", \n    \"groupName_ru\": \"Крейсер боевой группы Mordu\", \n    \"groupName_zh\": \"任务 莫德团巡洋舰\", \n    \"groupNameID\": 64102, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"702\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 702, \n    \"groupName_de\": \"Missionen: Mordu-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Mission Mordu Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de misión de Mordu\", \n    \"groupName_fr\": \"Croiseur de bataille Mordu mission\", \n    \"groupName_it\": \"Mission Mordu Battlecruiser\", \n    \"groupName_ja\": \"ミッションモードゥ巡洋戦艦\", \n    \"groupName_ko\": \"미션 모르두 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер боевой группы Mordu\", \n    \"groupName_zh\": \"任务 莫德团战列巡洋舰\", \n    \"groupNameID\": 64103, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"703\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 703, \n    \"groupName_de\": \"Missionen: Mordu-Schlachtschiff\", \n    \"groupName_en-us\": \"Mission Mordu Battleship\", \n    \"groupName_es\": \"Acorazado de misión de Mordu\", \n    \"groupName_fr\": \"Cuirassé Mordu mission\", \n    \"groupName_it\": \"Mission Mordu Battleship\", \n    \"groupName_ja\": \"ミッションモードゥ戦艦\", \n    \"groupName_ko\": \"미션 모르두 배틀쉽\", \n    \"groupName_ru\": \"Линкор боевой группы Mordu\", \n    \"groupName_zh\": \"任务 莫德团战列舰\", \n    \"groupNameID\": 64104, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"704\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 704, \n    \"groupName_de\": \"Missionen: Mordu (andere)\", \n    \"groupName_en-us\": \"Mission Mordu Other\", \n    \"groupName_es\": \"Otro elemento de misión de Mordu\", \n    \"groupName_fr\": \"Autre Mordu mission\", \n    \"groupName_it\": \"Mission Mordu Other\", \n    \"groupName_ja\": \"ミッションモードゥその他\", \n    \"groupName_ko\": \"미션 모르두 기타 함선\", \n    \"groupName_ru\": \"Другой корабль боевой группы Mordu\", \n    \"groupName_zh\": \"任务 莫德团其它\", \n    \"groupNameID\": 64105, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"705\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 705, \n    \"groupName_de\": \"Mission: Kreuzer der Republik Minmatar\", \n    \"groupName_en-us\": \"Mission Minmatar Republic Cruiser\", \n    \"groupName_es\": \"Crucero de misión de la República Minmatar\", \n    \"groupName_fr\": \"Croiseur République minmatar mission\", \n    \"groupName_it\": \"Mission Minmatar Republic Cruiser\", \n    \"groupName_ja\": \"ミッションミンマター共和国巡洋艦\", \n    \"groupName_ko\": \"미션 민마타 크루저\", \n    \"groupName_ru\": \"Крейсер боевой группы Республики Minmatar\", \n    \"groupName_zh\": \"任务 米玛塔尔共和国巡洋舰\", \n    \"groupNameID\": 64106, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"706\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 706, \n    \"groupName_de\": \"Mission: Schlachtschiff der Republik Minmatar\", \n    \"groupName_en-us\": \"Mission Minmatar Republic Battleship\", \n    \"groupName_es\": \"Acorazado de misión de la República Minmatar\", \n    \"groupName_fr\": \"Cuirassé République minmatar mission\", \n    \"groupName_it\": \"Mission Minmatar Republic Battleship\", \n    \"groupName_ja\": \"ミッションミンマター共和国戦艦\", \n    \"groupName_ko\": \"미션 민마타 배틀쉽\", \n    \"groupName_ru\": \"Линкор боевой группы Республики Minmatar\", \n    \"groupName_zh\": \"任务 米玛塔尔共和国战列舰\", \n    \"groupNameID\": 64107, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"707\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 707, \n    \"groupName_de\": \"Sprungportalbereich\", \n    \"groupName_en-us\": \"Jump Portal Array\", \n    \"groupName_es\": \"Plataforma de portal de salto\", \n    \"groupName_fr\": \"Module de portail hyperspatial\", \n    \"groupName_it\": \"Jump Portal Array\", \n    \"groupName_ja\": \"ジャンプポータル施設\", \n    \"groupName_ko\": \"점프 포탈 시설\", \n    \"groupName_ru\": \"Комплекс генерации гиперпортала\", \n    \"groupName_zh\": \"跳跃通道阵列\", \n    \"groupNameID\": 64108, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"709\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 709, \n    \"groupName_de\": \"Scanner-Array\", \n    \"groupName_en-us\": \"Scanner Array\", \n    \"groupName_es\": \"Dársena de escáner\", \n    \"groupName_fr\": \"Module de scanner\", \n    \"groupName_it\": \"Scanner Array\", \n    \"groupName_ja\": \"スキャナ施設\", \n    \"groupName_ko\": \"스캐너 시설\", \n    \"groupName_ru\": \"Локационная система\", \n    \"groupName_zh\": \"扫描器阵列\", \n    \"groupNameID\": 64109, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"710\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 710, \n    \"groupName_de\": \"Logistik-Array\", \n    \"groupName_en-us\": \"Logistics Array\", \n    \"groupName_es\": \"Sistema de logística\", \n    \"groupName_fr\": \"Module logistique\", \n    \"groupName_it\": \"Logistics Array\", \n    \"groupName_ja\": \"ロジスティック施設\", \n    \"groupName_ko\": \"지원 시설\", \n    \"groupName_ru\": \"Ремонтный комплекс\", \n    \"groupName_zh\": \"后勤阵列\", \n    \"groupNameID\": 64110, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"711\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 711, \n    \"groupName_de\": \"Abbaubare Wolke\", \n    \"groupName_en-us\": \"Harvestable Cloud\", \n    \"groupName_es\": \"Nube cosechable\", \n    \"groupName_fr\": \"Nuage exploitable\", \n    \"groupName_it\": \"Harvestable Cloud\", \n    \"groupName_ja\": \"採掘可能なガス雲\", \n    \"groupName_ko\": \"추출 가능한 성운\", \n    \"groupName_ru\": \"Газовое облако\", \n    \"groupName_zh\": \"可采集云团\", \n    \"groupNameID\": 64111, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"712\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 712, \n    \"groupName_de\": \"Biochemisches Material\", \n    \"groupName_en-us\": \"Biochemical Material\", \n    \"groupName_es\": \"Material bioquímico\", \n    \"groupName_fr\": \"Matériau biochimique\", \n    \"groupName_it\": \"Biochemical Material\", \n    \"groupName_ja\": \"有機原料\", \n    \"groupName_ko\": \"생화학 자원\", \n    \"groupName_ru\": \"Биохимические вещества\", \n    \"groupName_zh\": \"生化材料\", \n    \"groupNameID\": 64112, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"715\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 715, \n    \"groupName_de\": \"Zerstörbare Agenten im All\", \n    \"groupName_en-us\": \"Destructible Agents In Space\", \n    \"groupName_es\": \"Agentes destructibles en el espacio\", \n    \"groupName_fr\": \"Agents destructibles dans l'espace\", \n    \"groupName_it\": \"Destructible Agents In Space\", \n    \"groupName_ja\": \"航行中のエージェント（破壊可能）\", \n    \"groupName_ko\": \"우주 내 파괴 가능한 에이전트\", \n    \"groupName_ru\": \"Разрушаемые корабли агентов в космосе\", \n    \"groupName_zh\": \"空间中可被击毁的代理人\", \n    \"groupNameID\": 64113, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"716\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 716, \n    \"groupName_de\": \"Datenschnittstellen\", \n    \"groupName_en-us\": \"Data Interfaces\", \n    \"groupName_es\": \"Interfaces de datos\", \n    \"groupName_fr\": \"Interfaces de données\", \n    \"groupName_it\": \"Data Interfaces\", \n    \"groupName_ja\": \"データインターフェイス\", \n    \"groupName_ko\": \"데이터 인터페이스\", \n    \"groupName_ru\": \"Интерфейсы данных\", \n    \"groupName_zh\": \"数据接口\", \n    \"groupNameID\": 64114, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"718\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 718, \n    \"groupName_de\": \"Booster-Blueprints\", \n    \"groupName_en-us\": \"Booster Blueprints\", \n    \"groupName_es\": \"Planos de potenciador\", \n    \"groupName_fr\": \"Plans de construction Boosters\", \n    \"groupName_it\": \"Booster Blueprints\", \n    \"groupName_ja\": \"ブースターブループリント\", \n    \"groupName_ko\": \"부스터 블루프린트\", \n    \"groupName_ru\": \"Чертеж бустера\", \n    \"groupName_zh\": \"增效体蓝图\", \n    \"groupNameID\": 64115, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"721\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 721, \n    \"groupName_de\": \"Temp\", \n    \"groupName_en-us\": \"Temp\", \n    \"groupName_es\": \"Temporal\", \n    \"groupName_fr\": \"Temp\", \n    \"groupName_it\": \"Temp\", \n    \"groupName_ja\": \"一時的\", \n    \"groupName_ko\": \"임시\", \n    \"groupName_ru\": \"Temp\", \n    \"groupName_zh\": \"temp\", \n    \"groupNameID\": 64116, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"722\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 722, \n    \"groupName_de\": \"Blueprint einer Fortgeschrittenen Hybrid-Ladung\", \n    \"groupName_en-us\": \"Advanced Hybrid Charge Blueprint\", \n    \"groupName_es\": \"Plano de carga híbrida avanzada\", \n    \"groupName_fr\": \"Plan de construction Charge hybride avancée\", \n    \"groupName_it\": \"Advanced Hybrid Charge Blueprint\", \n    \"groupName_ja\": \"最新型ハイブリッド弾のブループリント\", \n    \"groupName_ko\": \"상급 하이브리드 탄약 블루프린트\", \n    \"groupName_ru\": \"Чертеж усовершенствованных гибридных зарядов\", \n    \"groupName_zh\": \"高级混合弹药蓝图\", \n    \"groupNameID\": 64117, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"723\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 723, \n    \"groupName_de\": \"Traktorstrahl-Blueprint\", \n    \"groupName_en-us\": \"Tractor Beam Blueprint\", \n    \"groupName_es\": \"Plano de rayo tractor\", \n    \"groupName_fr\": \"Plan de construction Rayon de tractage\", \n    \"groupName_it\": \"Tractor Beam Blueprint\", \n    \"groupName_ja\": \"トラクタービームブループリント\", \n    \"groupName_ko\": \"트랙터 빔 블루프린트\", \n    \"groupName_ru\": \"Чертежи гравизахвата\", \n    \"groupName_zh\": \"牵引光束器蓝图\", \n    \"groupNameID\": 64118, \n    \"iconID\": 349, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"724\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 724, \n    \"groupName_de\": \"Implantat-Blueprints\", \n    \"groupName_en-us\": \"Implant Blueprints\", \n    \"groupName_es\": \"Planos de implantes\", \n    \"groupName_fr\": \"Plan de construction Implant\", \n    \"groupName_it\": \"Implant Blueprints\", \n    \"groupName_ja\": \"インプラントブループリント\", \n    \"groupName_ko\": \"임플란트 블루프린트\", \n    \"groupName_ru\": \"Чертежи имплантата\", \n    \"groupName_zh\": \"植入体蓝图\", \n    \"groupNameID\": 64119, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"725\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 725, \n    \"groupName_de\": \"Fortgeschrittene-Projektilmunition-Blueprint\", \n    \"groupName_en-us\": \"Advanced Projectile Ammo Blueprint\", \n    \"groupName_es\": \"Plano de munición de proyectiles avanzada\", \n    \"groupName_fr\": \"Plan de construction Munition de projectile avancée\", \n    \"groupName_it\": \"Advanced Projectile Ammo Blueprint\", \n    \"groupName_ja\": \"高性能プロジェクタイル弾ブループリント\", \n    \"groupName_ko\": \"상급 발사체 탄약 블루프린트\", \n    \"groupName_ru\": \"Чертеж усовершенствованного снаряда\", \n    \"groupName_zh\": \"高级射弹弹药蓝图\", \n    \"groupNameID\": 64120, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"726\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 726, \n    \"groupName_de\": \"Fortgeschrittener-Frequenzkristall-Blueprint\", \n    \"groupName_en-us\": \"Advanced Frequency Crystal Blueprint\", \n    \"groupName_es\": \"Plano de cristal de frecuencia avanzado\", \n    \"groupName_fr\": \"Plan de construction Cristal de fréquence avancé\", \n    \"groupName_it\": \"Advanced Frequency Crystal Blueprint\", \n    \"groupName_ja\": \"高性能フリーケンシークリスタルブループリント\", \n    \"groupName_ko\": \"상급 프리퀀시 크리스탈 블루프린트\", \n    \"groupName_ru\": \"Чертеж усовершенствованного частотного кристалла\", \n    \"groupName_zh\": \"高级频率晶体蓝图\", \n    \"groupNameID\": 64121, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"727\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 727, \n    \"groupName_de\": \"Bergbaukristall-Blueprint\", \n    \"groupName_en-us\": \"Mining Crystal Blueprint\", \n    \"groupName_es\": \"Plano de cristal de minería\", \n    \"groupName_fr\": \"Plan de construction Cristal d'extraction\", \n    \"groupName_it\": \"Mining Crystal Blueprint\", \n    \"groupName_ja\": \"採掘クリスタルブループリント\", \n    \"groupName_ko\": \"채광용 크리스탈 블루프린트\", \n    \"groupName_ru\": \"Чертеж кристалла настройки экстрактора\", \n    \"groupName_zh\": \"采矿晶体蓝图\", \n    \"groupNameID\": 64122, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"728\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 35, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 728, \n    \"groupName_de\": \"Decoder - Amarr\", \n    \"groupName_en-us\": \"Decryptors - Amarr\", \n    \"groupName_es\": \"Desencriptadores amarrianos\", \n    \"groupName_fr\": \"Décrypteurs - Amarr\", \n    \"groupName_it\": \"Decryptors - Amarr\", \n    \"groupName_ja\": \"解読器-アマー\", \n    \"groupName_ko\": \"해독기 - 아마르\", \n    \"groupName_ru\": \"Файлы данных — Amarr\", \n    \"groupName_zh\": \"解码器—艾玛\", \n    \"groupNameID\": 64305, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"729\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 35, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 729, \n    \"groupName_de\": \"Decoder - Minmatar\", \n    \"groupName_en-us\": \"Decryptors - Minmatar\", \n    \"groupName_es\": \"Desencriptadores minmatariano\", \n    \"groupName_fr\": \"Décrypteurs - Minmatar\", \n    \"groupName_it\": \"Decryptors - Minmatar\", \n    \"groupName_ja\": \"解読器-ミンマター\", \n    \"groupName_ko\": \"해독기 - 민마타\", \n    \"groupName_ru\": \"Файлы данных — Minmatar\", \n    \"groupName_zh\": \"解码器—米玛塔尔\", \n    \"groupNameID\": 64308, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"730\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 35, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 730, \n    \"groupName_de\": \"Decoder - Gallente\", \n    \"groupName_en-us\": \"Decryptors - Gallente\", \n    \"groupName_es\": \"Desencriptadores gallentes\", \n    \"groupName_fr\": \"Décrypteurs - Gallente\", \n    \"groupName_it\": \"Decryptors - Gallente\", \n    \"groupName_ja\": \"解読器-ガレンテ\", \n    \"groupName_ko\": \"해독기 - 갈란테\", \n    \"groupName_ru\": \"Файлы данных — Gallente\", \n    \"groupName_zh\": \"解码器—盖伦特\", \n    \"groupNameID\": 64307, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"731\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 35, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 731, \n    \"groupName_de\": \"Decorder - Caldari\", \n    \"groupName_en-us\": \"Decryptors - Caldari\", \n    \"groupName_es\": \"Desencriptadores caldaris\", \n    \"groupName_fr\": \"Décrypteurs - Caldari\", \n    \"groupName_it\": \"Decryptors - Caldari\", \n    \"groupName_ja\": \"解読器-カルダリ\", \n    \"groupName_ko\": \"해독기 - 칼다리\", \n    \"groupName_ru\": \"Файлы данных — Caldari\", \n    \"groupName_zh\": \"解码器—加达里\", \n    \"groupNameID\": 64306, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"732\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 732, \n    \"groupName_de\": \"Decoder - Sleepers\", \n    \"groupName_en-us\": \"Decryptors - Sleepers\", \n    \"groupName_es\": \"Desencriptadores sleepers\", \n    \"groupName_fr\": \"Décrypteurs - Sleepers\", \n    \"groupName_it\": \"Decryptors - Sleepers\", \n    \"groupName_ja\": \"解読器-スリーパー\", \n    \"groupName_ko\": \"해독기 - 슬리퍼\", \n    \"groupName_ru\": \"Файлы данных — Sleepers\", \n    \"groupName_zh\": \"解码器—冬眠者\", \n    \"groupNameID\": 64123, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"733\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 733, \n    \"groupName_de\": \"Decoder - Yan Jung\", \n    \"groupName_en-us\": \"Decryptors - Yan Jung\", \n    \"groupName_es\": \"Desencriptadores de Yan Jung\", \n    \"groupName_fr\": \"Décrypteurs - Yan Jung\", \n    \"groupName_it\": \"Decryptors - Yan Jung\", \n    \"groupName_ja\": \"解読器-ヤンユング\", \n    \"groupName_ko\": \"해독기 - 얀 정\", \n    \"groupName_ru\": \"Файлы данных — Yan Jung\", \n    \"groupName_zh\": \"解码器—殷郡\", \n    \"groupNameID\": 64124, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"734\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 734, \n    \"groupName_de\": \"Decoder - Takmahl\", \n    \"groupName_en-us\": \"Decryptors - Takmahl\", \n    \"groupName_es\": \"Desencriptadores takmahls\", \n    \"groupName_fr\": \"Décrypteurs - Takmahl\", \n    \"groupName_it\": \"Decryptors - Takmahl\", \n    \"groupName_ja\": \"解読器-タカマヒル\", \n    \"groupName_ko\": \"해독기 - 타크말\", \n    \"groupName_ru\": \"Файлы данных — Takmahl\", \n    \"groupName_zh\": \"解码器—塔克玛\", \n    \"groupNameID\": 64125, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"735\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 735, \n    \"groupName_de\": \"Decoder - Talocan\", \n    \"groupName_en-us\": \"Decryptors - Talocan\", \n    \"groupName_es\": \"Desencriptadores de Talocan\", \n    \"groupName_fr\": \"Décrypteurs - Talocan\", \n    \"groupName_it\": \"Decryptors - Talocan\", \n    \"groupName_ja\": \"解読器-タロカン\", \n    \"groupName_ko\": \"해독기 - 탈로칸\", \n    \"groupName_ru\": \"Файлы данных — Talocan\", \n    \"groupName_zh\": \"解码器—塔洛迦\", \n    \"groupNameID\": 64126, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"737\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 737, \n    \"groupName_de\": \"Gaswolken-Schaufeln\", \n    \"groupName_en-us\": \"Gas Cloud Scoops\", \n    \"groupName_es\": \"Succionadores de nubes de gas\", \n    \"groupName_fr\": \"Récupérateurs de nuages de gaz\", \n    \"groupName_it\": \"Gas Cloud Scoops\", \n    \"groupName_ja\": \"ガス雲スクープ\", \n    \"groupName_ko\": \"가스 수집기\", \n    \"groupName_ru\": \"Газочерпатели\", \n    \"groupName_zh\": \"气云回收装置\", \n    \"groupNameID\": 64127, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"738\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 738, \n    \"groupName_de\": \"Cyber-Panzerung\", \n    \"groupName_en-us\": \"Cyber Armor\", \n    \"groupName_es\": \"Ciberblindaje\", \n    \"groupName_fr\": \"Blindage cybernétique\", \n    \"groupName_it\": \"Cyber Armor\", \n    \"groupName_ja\": \"サイバーアーマー\", \n    \"groupName_ko\": \"사이버 장갑\", \n    \"groupName_ru\": \"Киберимплантат — броня\", \n    \"groupName_zh\": \"脑控装甲\", \n    \"groupNameID\": 64128, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"739\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 739, \n    \"groupName_de\": \"Cyber-Drohnen\", \n    \"groupName_en-us\": \"Cyber Drones\", \n    \"groupName_es\": \"Ciberdrones\", \n    \"groupName_fr\": \"Drones cybernétiques\", \n    \"groupName_it\": \"Cyber Drones\", \n    \"groupName_ja\": \"サイバードローン\", \n    \"groupName_ko\": \"사이버 드론\", \n    \"groupName_ru\": \"Киберимплантат — дроны\", \n    \"groupName_zh\": \"脑控无人机\", \n    \"groupNameID\": 64129, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"740\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 740, \n    \"groupName_de\": \"Cyber Electronic Systems\", \n    \"groupName_en-us\": \"Cyber Electronic Systems\", \n    \"groupName_es\": \"Cibersistemas electrónicos\", \n    \"groupName_fr\": \"Systèmes électroniques cybernétiques\", \n    \"groupName_it\": \"Cyber Electronic Systems\", \n    \"groupName_ja\": \"サイバー電子システム\", \n    \"groupName_ko\": \"사이버 전자 시스템\", \n    \"groupName_ru\": \"Киберимплантат — системы электронного противодействия\", \n    \"groupName_zh\": \"脑控电子系统\", \n    \"groupNameID\": 64130, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"741\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 741, \n    \"groupName_de\": \"Cyber-Ingenieurwesen\", \n    \"groupName_en-us\": \"Cyber Engineering\", \n    \"groupName_es\": \"Ciberingeniería\", \n    \"groupName_fr\": \"Ingénierie cybernétique\", \n    \"groupName_it\": \"Cyber Engineering\", \n    \"groupName_ja\": \"サイバーエンジニアリング\", \n    \"groupName_ko\": \"사이버 엔지니어링\", \n    \"groupName_ru\": \"Киберимплантат — инженерные навыки\", \n    \"groupName_zh\": \"脑控工程学\", \n    \"groupNameID\": 64131, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"742\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 742, \n    \"groupName_de\": \"Cyber-Waffenkunde\", \n    \"groupName_en-us\": \"Cyber Gunnery\", \n    \"groupName_es\": \"Ciberartillería\", \n    \"groupName_fr\": \"Armement cybernétique\", \n    \"groupName_it\": \"Cyber Gunnery\", \n    \"groupName_ja\": \"サイバーガンナリー\", \n    \"groupName_ko\": \"사이버 터렛 조작\", \n    \"groupName_ru\": \"Киберимплантат — управление орудиями\", \n    \"groupName_zh\": \"脑控炮术学\", \n    \"groupNameID\": 64132, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"743\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 743, \n    \"groupName_de\": \"Cyber Production\", \n    \"groupName_en-us\": \"Cyber Production\", \n    \"groupName_es\": \"Ciberproducción\", \n    \"groupName_fr\": \"Production cybernétique\", \n    \"groupName_it\": \"Cyber Production\", \n    \"groupName_ja\": \"サイバー生産\", \n    \"groupName_ko\": \"사이버 생산\", \n    \"groupName_ru\": \"Киберимплантат — производство\", \n    \"groupName_zh\": \"脑控生产\", \n    \"groupNameID\": 64133, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"744\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 744, \n    \"groupName_de\": \"Cyber-Führung\", \n    \"groupName_en-us\": \"Cyber Leadership\", \n    \"groupName_es\": \"Ciberliderazgo\", \n    \"groupName_fr\": \"Leadership cybernétique\", \n    \"groupName_it\": \"Cyber Leadership\", \n    \"groupName_ja\": \"サイバーリーダーシップ\", \n    \"groupName_ko\": \"사이버 리더쉽\", \n    \"groupName_ru\": \"Киберимплантат — лидерство\", \n    \"groupName_zh\": \"脑控指挥\", \n    \"groupNameID\": 64134, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"745\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 745, \n    \"groupName_de\": \"Cyber-Bildung\", \n    \"groupName_en-us\": \"Cyber Learning\", \n    \"groupName_es\": \"Ciberaprendizaje\", \n    \"groupName_fr\": \"Apprentissage cybernétique\", \n    \"groupName_it\": \"Cyber Learning\", \n    \"groupName_ja\": \"サイバー学習\", \n    \"groupName_ko\": \"사이버네틱스\", \n    \"groupName_ru\": \"Имплантируемый блок повышения обучаемости\", \n    \"groupName_zh\": \"脑控学习\", \n    \"groupNameID\": 64135, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"746\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 746, \n    \"groupName_de\": \"Cyber-Rakete\", \n    \"groupName_en-us\": \"Cyber Missile\", \n    \"groupName_es\": \"Cibermisil\", \n    \"groupName_fr\": \"Missile cybernétique\", \n    \"groupName_it\": \"Cyber Missile\", \n    \"groupName_ja\": \"サイバーミサイル\", \n    \"groupName_ko\": \"사이버 미사일\", \n    \"groupName_ru\": \"Киберимплантат — управление пусковыми установками\", \n    \"groupName_zh\": \"脑控导弹\", \n    \"groupNameID\": 64136, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"747\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 747, \n    \"groupName_de\": \"Cyber-Navigation\", \n    \"groupName_en-us\": \"Cyber Navigation\", \n    \"groupName_es\": \"Cibernavegación\", \n    \"groupName_fr\": \"Navigation cybernétique\", \n    \"groupName_it\": \"Cyber Navigation\", \n    \"groupName_ja\": \"サイバー航行技術\", \n    \"groupName_ko\": \"사이버 항법\", \n    \"groupName_ru\": \"Киберимплантат — навыки навигации\", \n    \"groupName_zh\": \"脑控导航\", \n    \"groupNameID\": 64137, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"748\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 748, \n    \"groupName_de\": \"Cyber-Wissenschaft\", \n    \"groupName_en-us\": \"Cyber Science\", \n    \"groupName_es\": \"Ciberciencia\", \n    \"groupName_fr\": \"Science cybernétique\", \n    \"groupName_it\": \"Cyber Science\", \n    \"groupName_ja\": \"サイバーサイエンス\", \n    \"groupName_ko\": \"사이버 과학\", \n    \"groupName_ru\": \"Киберимплантат — научные знания\", \n    \"groupName_zh\": \"脑控科学\", \n    \"groupNameID\": 64138, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"749\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 749, \n    \"groupName_de\": \"Cyber-Schilde\", \n    \"groupName_en-us\": \"Cyber Shields\", \n    \"groupName_es\": \"Ciberescudos\", \n    \"groupName_fr\": \"Boucliers cybernétiques\", \n    \"groupName_it\": \"Cyber Shields\", \n    \"groupName_ja\": \"サイバーシールド\", \n    \"groupName_ko\": \"사이버 실드\", \n    \"groupName_ru\": \"Киберимплантат — щиты\", \n    \"groupName_zh\": \"脑控护盾\", \n    \"groupNameID\": 64139, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"750\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 750, \n    \"groupName_de\": \"Cyber-Ereignis\", \n    \"groupName_en-us\": \"Cyber Social\", \n    \"groupName_es\": \"Cibersocial\", \n    \"groupName_fr\": \"Social cybernétique\", \n    \"groupName_it\": \"Cyber Social\", \n    \"groupName_ja\": \"サイバーソーシャル\", \n    \"groupName_ko\": \"사이버 사교\", \n    \"groupName_ru\": \"Киберимплантат — социальные навыки\", \n    \"groupName_zh\": \"脑控社交增强\", \n    \"groupNameID\": 64140, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"751\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 751, \n    \"groupName_de\": \"Cyber-Handel\", \n    \"groupName_en-us\": \"Cyber Trade\", \n    \"groupName_es\": \"Cibercomercio\", \n    \"groupName_fr\": \"Commerce cybernétique\", \n    \"groupName_it\": \"Cyber Trade\", \n    \"groupName_ja\": \"サイバートレード\", \n    \"groupName_ko\": \"사이버 거래\", \n    \"groupName_ru\": \"Киберимплантат — навыки торговли\", \n    \"groupName_zh\": \"脑控贸易增强\", \n    \"groupNameID\": 64141, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"753\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 753, \n    \"groupName_de\": \"ECM-Verstärker\", \n    \"groupName_en-us\": \"ECM Enhancer\", \n    \"groupName_es\": \"Intensificador de ECM\", \n    \"groupName_fr\": \"Optimisateur de CME\", \n    \"groupName_it\": \"ECM Enhancer\", \n    \"groupName_ja\": \"ECMエンハンサー\", \n    \"groupName_ko\": \"ECM 향상장치\", \n    \"groupName_ru\": \"Усилитель модулей РЭБ\", \n    \"groupName_zh\": \"ECM增强器\", \n    \"groupNameID\": 64142, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"754\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 754, \n    \"groupName_de\": \"Geborgene Materialien\", \n    \"groupName_en-us\": \"Salvaged Materials\", \n    \"groupName_es\": \"Materiales recuperados\", \n    \"groupName_fr\": \"Matériaux récupérés\", \n    \"groupName_it\": \"Salvaged Materials\", \n    \"groupName_ja\": \"サルベージされた資源\", \n    \"groupName_ko\": \"샐비지 자원\", \n    \"groupName_ru\": \"Демонтированные компоненты\", \n    \"groupName_zh\": \"打捞材料\", \n    \"groupNameID\": 64143, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"755\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 755, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de dron rebelde de asteroide\", \n    \"groupName_fr\": \"Croiseur de bataille drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone BattleCruiser\", \n    \"groupName_ja\": \"アステロイドローグドローン巡洋戦艦\", \n    \"groupName_ko\": \"소행성 로그 드론 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机战列巡洋舰\", \n    \"groupNameID\": 64144, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"756\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 756, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Battleship\", \n    \"groupName_es\": \"Acorazado de asteroide de dron rebelde\", \n    \"groupName_fr\": \"Cuirassé drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Battleship\", \n    \"groupName_ja\": \"アステロイドローグドローン戦艦\", \n    \"groupName_ko\": \"소행성 로그 드론 배틀쉽\", \n    \"groupName_ru\": \"Линкор астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机战列舰\", \n    \"groupNameID\": 64145, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"757\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 757, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Kreuzer\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Cruiser\", \n    \"groupName_es\": \"Crucero de dron rebelde de asteroide\", \n    \"groupName_fr\": \"Croiseur drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Cruiser\", \n    \"groupName_ja\": \"アステロイドローグドローン巡洋艦\", \n    \"groupName_ko\": \"소행성 로그 드론 크루저\", \n    \"groupName_ru\": \"Крейсер астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机巡洋舰\", \n    \"groupNameID\": 64146, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"758\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 758, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Zerstörer\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Destroyer\", \n    \"groupName_es\": \"Destructor de dron rebelde de asteroide\", \n    \"groupName_fr\": \"Destroyer drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Destroyer\", \n    \"groupName_ja\": \"アステロイドローグドローン駆逐艦\", \n    \"groupName_ko\": \"소행성 로그 드론 디스트로이어\", \n    \"groupName_ru\": \"Эсминец астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星无人机驱逐舰\", \n    \"groupNameID\": 64147, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"759\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 759, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Fregatte\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Frigate\", \n    \"groupName_es\": \"Fragata de dron rebelde de asteroide\", \n    \"groupName_fr\": \"Frégate drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Frigate\", \n    \"groupName_ja\": \"アステロイドローグドローンフリゲート\", \n    \"groupName_ko\": \"소행성 로그 드론 프리깃\", \n    \"groupName_ru\": \"Фрегат астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机护卫舰\", \n    \"groupNameID\": 64148, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"760\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 760, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Frachter\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Hauler\", \n    \"groupName_es\": \"Nave de mercancías de dron rebelde de asteroide\", \n    \"groupName_fr\": \"Transporteur drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Hauler\", \n    \"groupName_ja\": \"アステロイドローグドローンハウラー\", \n    \"groupName_ko\": \"소행성 로그 드론 운반선\", \n    \"groupName_ru\": \"Грузовик астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机运载舰\", \n    \"groupNameID\": 64149, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"761\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 761, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Schwarm\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Swarm\", \n    \"groupName_es\": \"Enjambre de dron rebelde de asteroide\", \n    \"groupName_fr\": \"Essaim drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Swarm\", \n    \"groupName_ja\": \"アステロイドローグドローンスウォーム\", \n    \"groupName_ko\": \"소행성 로그 드론 스웜\", \n    \"groupName_ru\": \"Рой астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机蜂巢\", \n    \"groupNameID\": 64150, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"762\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 762, \n    \"groupName_de\": \"Trägheitsstabilisator\", \n    \"groupName_en-us\": \"Inertial Stabilizer\", \n    \"groupName_es\": \"Estabilizador inercial\", \n    \"groupName_fr\": \"Stabilisateur d'inertie\", \n    \"groupName_it\": \"Inertial Stabilizer\", \n    \"groupName_ja\": \"慣性スタビライザー\", \n    \"groupName_ko\": \"관성 안정기\", \n    \"groupName_ru\": \"Инерционный стабилизатор\", \n    \"groupName_zh\": \"惯性稳定器\", \n    \"groupNameID\": 64151, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"763\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 763, \n    \"groupName_de\": \"Struktur aus Nanofaser\", \n    \"groupName_en-us\": \"Nanofiber Internal Structure\", \n    \"groupName_es\": \"Estructura interna de nanofibra\", \n    \"groupName_fr\": \"Structure interne en nanofibre\", \n    \"groupName_it\": \"Nanofiber Internal Structure\", \n    \"groupName_ja\": \"ナノファイバー内部構造材\", \n    \"groupName_ko\": \"나노섬유 경량화 모듈\", \n    \"groupName_ru\": \"Нановолоконная несущая конструкция\", \n    \"groupName_zh\": \"纳米纤维内部构架\", \n    \"groupNameID\": 64152, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"764\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 764, \n    \"groupName_de\": \"Turboladersystem\", \n    \"groupName_en-us\": \"Overdrive Injector System\", \n    \"groupName_es\": \"Sistema inyector de sobrepotencia\", \n    \"groupName_fr\": \"Système d'overdrive\", \n    \"groupName_it\": \"Overdrive Injector System\", \n    \"groupName_ja\": \"オーバードライブインジェクターシステム\", \n    \"groupName_ko\": \"오버드라이브 주입기\", \n    \"groupName_ru\": \"Система форсирования силовой установки\", \n    \"groupName_zh\": \"超载喷注系统\", \n    \"groupNameID\": 64153, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"765\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 765, \n    \"groupName_de\": \"Erweiterter Frachtraum\", \n    \"groupName_en-us\": \"Expanded Cargohold\", \n    \"groupName_es\": \"Expansión de la bodega de carga\", \n    \"groupName_fr\": \"Expansion de soute\", \n    \"groupName_it\": \"Expanded Cargohold\", \n    \"groupName_ja\": \"カーゴ容量追加\", \n    \"groupName_ko\": \"화물 확장 모듈\", \n    \"groupName_ru\": \"Расширение грузового отсека\", \n    \"groupName_zh\": \"扩充货柜舱\", \n    \"groupNameID\": 64154, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"766\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 766, \n    \"groupName_de\": \"System zur Leistungsdiagnose\", \n    \"groupName_en-us\": \"Power Diagnostic System\", \n    \"groupName_es\": \"Sistema de diagnóstico de energía\", \n    \"groupName_fr\": \"Système de diagnostic d'alimentation\", \n    \"groupName_it\": \"Power Diagnostic System\", \n    \"groupName_ja\": \"パワー計測システム\", \n    \"groupName_ko\": \"전력 진단 시스템\", \n    \"groupName_ru\": \"Диагностическая система энергосети\", \n    \"groupName_zh\": \"能源诊断系统\", \n    \"groupNameID\": 64155, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"767\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 767, \n    \"groupName_de\": \"Energiespeicher-Stromrelais\", \n    \"groupName_en-us\": \"Capacitor Power Relay\", \n    \"groupName_es\": \"Relé de potencia de condensador\", \n    \"groupName_fr\": \"Relais de puissance pour capaciteur\", \n    \"groupName_it\": \"Capacitor Power Relay\", \n    \"groupName_ja\": \"キャパシタパワーリレー\", \n    \"groupName_ko\": \"캐패시터 릴레이\", \n    \"groupName_ru\": \"Модуль передачи мощности на конденсатор\", \n    \"groupName_zh\": \"电容能源继电器\", \n    \"groupNameID\": 64156, \n    \"iconID\": 26455, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"768\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 768, \n    \"groupName_de\": \"Energiespeicher-Durchflussmengenspule\", \n    \"groupName_en-us\": \"Capacitor Flux Coil\", \n    \"groupName_es\": \"Bobina de flujo de condensador\", \n    \"groupName_fr\": \"Bobine de flux pour capaciteur\", \n    \"groupName_it\": \"Capacitor Flux Coil\", \n    \"groupName_ja\": \"キャパシタフラックスコイル\", \n    \"groupName_ko\": \"캐패시터 플럭스 코일\", \n    \"groupName_ru\": \"Ускоритель подзарядки конденсатора\", \n    \"groupName_zh\": \"电容通量线圈\", \n    \"groupNameID\": 64157, \n    \"iconID\": 26456, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"769\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 769, \n    \"groupName_de\": \"Reaktor-Kontrolleinheiten\", \n    \"groupName_en-us\": \"Reactor Control Unit\", \n    \"groupName_es\": \"Unidad de control de reactor\", \n    \"groupName_fr\": \"Unité de contrôle du réacteur\", \n    \"groupName_it\": \"Reactor Control Unit\", \n    \"groupName_ja\": \"リアクター制御装置\", \n    \"groupName_ko\": \"반응로 제어유닛\", \n    \"groupName_ru\": \"Блок управления реактором\", \n    \"groupName_zh\": \"反应堆控制元件\", \n    \"groupNameID\": 64158, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"770\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 770, \n    \"groupName_de\": \"Schild-Durchflussmengenspule\", \n    \"groupName_en-us\": \"Shield Flux Coil\", \n    \"groupName_es\": \"Bobina de flujo de escudo\", \n    \"groupName_fr\": \"Bobine de flux de bouclier\", \n    \"groupName_it\": \"Shield Flux Coil\", \n    \"groupName_ja\": \"シールドフラックスコイル\", \n    \"groupName_ko\": \"실드 플럭스 코일\", \n    \"groupName_ru\": \"Ускоритель подзарядки щита\", \n    \"groupName_zh\": \"护盾通量线圈\", \n    \"groupNameID\": 64159, \n    \"iconID\": 26449, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"771\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 771, \n    \"groupName_de\": \"Missile Launcher Heavy Assault\", \n    \"groupName_en-us\": \"Missile Launcher Heavy Assault\", \n    \"groupName_es\": \"Asalto pesado de lanzamisiles\", \n    \"groupName_fr\": \"Lance-missiles d'assaut lourd\", \n    \"groupName_it\": \"Missile Launcher Heavy Assault\", \n    \"groupName_ja\": \"ミサイルランチャー（ヘビーアサルト）\", \n    \"groupName_ko\": \"헤비 어썰트 미사일 런처\", \n    \"groupName_ru\": \"Пусковая установка облегчённых ракет большой мощности\", \n    \"groupName_zh\": \"重型攻击导弹发射器\", \n    \"groupNameID\": 64160, \n    \"iconID\": 3241, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"772\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 772, \n    \"groupName_de\": \"Schwere Angriffslenkwaffe\", \n    \"groupName_en-us\": \"Heavy Assault Missile\", \n    \"groupName_es\": \"Misil de asalto pesado\", \n    \"groupName_fr\": \"Missile d'assaut lourd\", \n    \"groupName_it\": \"Heavy Assault Missile\", \n    \"groupName_ja\": \"ヘビーアサルトミサイル\", \n    \"groupName_ko\": \"헤비 어썰트 미사일\", \n    \"groupName_ru\": \"Облегчённая ракета большой мощности\", \n    \"groupName_zh\": \"重型攻击导弹\", \n    \"groupNameID\": 64161, \n    \"iconID\": 3237, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"773\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 773, \n    \"groupName_de\": \"Rigg-Panzerung\", \n    \"groupName_en-us\": \"Rig Armor\", \n    \"groupName_es\": \"Blindaje de complemento\", \n    \"groupName_fr\": \"Blindage optimisé\", \n    \"groupName_it\": \"Rig Armor\", \n    \"groupName_ja\": \"リグ（アーマー）\", \n    \"groupName_ko\": \"장갑 리그\", \n    \"groupName_ru\": \"Тюнинг-модуль — броня\", \n    \"groupName_zh\": \"装甲改装件\", \n    \"groupNameID\": 64162, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"774\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 774, \n    \"groupName_de\": \"Rigg-Schild\", \n    \"groupName_en-us\": \"Rig Shield\", \n    \"groupName_es\": \"Escudo de complemento\", \n    \"groupName_fr\": \"Bouclier optimisé\", \n    \"groupName_it\": \"Rig Shield\", \n    \"groupName_ja\": \"リグ（シールド）\", \n    \"groupName_ko\": \"실드 리그\", \n    \"groupName_ru\": \"Тюнинг-модуль — щит\", \n    \"groupName_zh\": \"护盾改装件\", \n    \"groupNameID\": 64163, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"775\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 775, \n    \"groupName_de\": \"Rigg-Energiewaffe\", \n    \"groupName_en-us\": \"Rig Energy Weapon\", \n    \"groupName_es\": \"Arma de energía de complemento\", \n    \"groupName_fr\": \"Arme à énergie optimisée\", \n    \"groupName_it\": \"Rig Energy Weapon\", \n    \"groupName_ja\": \"リグ（エネルギー兵器）\", \n    \"groupName_ko\": \"에너지 무기 리그\", \n    \"groupName_ru\": \"Тюнинг-модуль — лазерное оружие\", \n    \"groupName_zh\": \"能量武器改造件\", \n    \"groupNameID\": 64164, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"776\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 776, \n    \"groupName_de\": \"Rigg-Hybridwaffe\", \n    \"groupName_en-us\": \"Rig Hybrid Weapon\", \n    \"groupName_es\": \"Arma híbrida de complemento\", \n    \"groupName_fr\": \"Arme hybride optimisée\", \n    \"groupName_it\": \"Rig Hybrid Weapon\", \n    \"groupName_ja\": \"リグ（ハイブリッド兵器）\", \n    \"groupName_ko\": \"하이브리드 무기 리그\", \n    \"groupName_ru\": \"Тюнинг-модуль — гибридное оружие\", \n    \"groupName_zh\": \"混合武器改装件\", \n    \"groupNameID\": 64165, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"777\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 777, \n    \"groupName_de\": \"Rigg-Projektilwaffe\", \n    \"groupName_en-us\": \"Rig Projectile Weapon\", \n    \"groupName_es\": \"Arma de proyectiles de complemento\", \n    \"groupName_fr\": \"Arme à projectiles optimisée\", \n    \"groupName_it\": \"Rig Projectile Weapon\", \n    \"groupName_ja\": \"リグ（プロジェクタイル兵器）\", \n    \"groupName_ko\": \"발사체 무기 리그\", \n    \"groupName_ru\": \"Тюнинг-модуль — баллистическое оружие\", \n    \"groupName_zh\": \"射弹武器改装件\", \n    \"groupNameID\": 64166, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"778\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 778, \n    \"groupName_de\": \"Rigg-Drohnen\", \n    \"groupName_en-us\": \"Rig Drones\", \n    \"groupName_es\": \"Drones de complemento\", \n    \"groupName_fr\": \"Drones optimisés\", \n    \"groupName_it\": \"Rig Drones\", \n    \"groupName_ja\": \"リグ（ドローン）\", \n    \"groupName_ko\": \"드론 리그\", \n    \"groupName_ru\": \"Тюнинг-модуль — дроны\", \n    \"groupName_zh\": \"无人机改装件\", \n    \"groupNameID\": 64167, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"779\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 779, \n    \"groupName_de\": \"Riggwerfer\", \n    \"groupName_en-us\": \"Rig Launcher\", \n    \"groupName_es\": \"Lanzador de complementos\", \n    \"groupName_fr\": \"Lanceur optimisé\", \n    \"groupName_it\": \"Rig Launcher\", \n    \"groupName_ja\": \"リグ（ランチャー）\", \n    \"groupName_ko\": \"런처 리그\", \n    \"groupName_ru\": \"Тюнинг-модуль — ракетное оружие\", \n    \"groupName_zh\": \"发射器改装件\", \n    \"groupNameID\": 64168, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"781\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 781, \n    \"groupName_de\": \"Rig Core\", \n    \"groupName_en-us\": \"Rig Core\", \n    \"groupName_es\": \"Núcleo de complemento\", \n    \"groupName_fr\": \"Noyau optimisé\", \n    \"groupName_it\": \"Rig Core\", \n    \"groupName_ja\": \"リグ - コア\", \n    \"groupName_ko\": \"코어 리그\", \n    \"groupName_ru\": \"Тюнинг-модуль — энергосеть\", \n    \"groupName_zh\": \"改装件核心\", \n    \"groupNameID\": 64170, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"782\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 782, \n    \"groupName_de\": \"Rig Navigation\", \n    \"groupName_en-us\": \"Rig Navigation\", \n    \"groupName_es\": \"Navegación de complementos\", \n    \"groupName_fr\": \"Navigation optimisée\", \n    \"groupName_it\": \"Rig Navigation\", \n    \"groupName_ja\": \"リグ - 宇宙航行\", \n    \"groupName_ko\": \"항법 리그\", \n    \"groupName_ru\": \"Тюнинг-модуль — астронавигация\", \n    \"groupName_zh\": \"改装件导航\", \n    \"groupNameID\": 64171, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"783\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 783, \n    \"groupName_de\": \"Cyber-Kreuz-Besonderheiten\", \n    \"groupName_en-us\": \"Cyber X Specials\", \n    \"groupName_es\": \"Ciberefectos especiales\", \n    \"groupName_fr\": \"Spéciaux cyber X\", \n    \"groupName_it\": \"Cyber X Specials\", \n    \"groupName_ja\": \"サイバーXスペシャル\", \n    \"groupName_ko\": \"사이버 X 스페셜\", \n    \"groupName_ru\": \"Киберимплантат спецназначения\", \n    \"groupName_zh\": \"脑控X特殊增强\", \n    \"groupNameID\": 64172, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"784\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 784, \n    \"groupName_de\": \"Großes, statisches Schiff\", \n    \"groupName_en-us\": \"Large Collidable Ship\", \n    \"groupName_es\": \"Nave colisionable grande\", \n    \"groupName_fr\": \"Grand vaisseau solide\", \n    \"groupName_it\": \"Large Collidable Ship\", \n    \"groupName_ja\": \"大型船（破壊可能）\", \n    \"groupName_ko\": \"대형 충돌체 (함선)\", \n    \"groupName_ru\": \"Материальный корабль\", \n    \"groupName_zh\": \"大型可撞击船只\", \n    \"groupNameID\": 64408, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"786\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 786, \n    \"groupName_de\": \"Rig Electronic Systems\", \n    \"groupName_en-us\": \"Rig Electronic Systems\", \n    \"groupName_es\": \"Sistemas electrónicos de complemento\", \n    \"groupName_fr\": \"Systèmes électroniques optimisés\", \n    \"groupName_it\": \"Rig Electronic Systems\", \n    \"groupName_ja\": \"リグ - 電子システム\", \n    \"groupName_ko\": \"전자 시스템 리그\", \n    \"groupName_ru\": \"Тюнинг-модуль — системы электронного противодействия\", \n    \"groupName_zh\": \"改装件电子系统\", \n    \"groupNameID\": 64173, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"787\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 787, \n    \"groupName_de\": \"Rigg-Blueprint\", \n    \"groupName_en-us\": \"Rig Blueprint\", \n    \"groupName_es\": \"Plano de complementos\", \n    \"groupName_fr\": \"Plan de construction optimisé\", \n    \"groupName_it\": \"Rig Blueprint\", \n    \"groupName_ja\": \"リグブループリント\", \n    \"groupName_ko\": \"리그 블루프린트\", \n    \"groupName_ru\": \"Чертежи тюнинг-модуля\", \n    \"groupName_zh\": \"改装件蓝图\", \n    \"groupNameID\": 64174, \n    \"iconID\": 76, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"789\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 789, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Kommandeurfregatte\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Commander Frigate\", \n    \"groupName_es\": \"Fragata de comandante de asteroides del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Frégate de commandement cartel angel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Commander Frigate\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテル司令官フリゲート\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 지휘 프리깃\", \n    \"groupName_ru\": \"Флагманский фрегат астероидного патруля Картеля Angel\", \n    \"groupName_zh\": \"小行星天使集团指挥官护卫舰\", \n    \"groupNameID\": 64175, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"790\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 790, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Kommandeurkreuzer\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Commander Cruiser\", \n    \"groupName_es\": \"Crucero de comandante de asteroides del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Croiseur de commandement cartel angel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Commander Cruiser\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテル司令官巡洋艦\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 지휘 크루저\", \n    \"groupName_ru\": \"Флагманский крейсер астероидного патруля Картеля Angel\", \n    \"groupName_zh\": \"小行星天使集团指挥官巡洋舰\", \n    \"groupNameID\": 64176, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"791\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 791, \n    \"groupName_de\": \"Asteroiden: Blood Raiders-Kommandeurkreuzer\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Commander Cruiser\", \n    \"groupName_es\": \"Crucero de comandante de asteroides de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Croiseur de commandement blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raiders Commander Cruiser\", \n    \"groupName_ja\": \"アステロイドブラッドレイダー司令官巡洋艦\", \n    \"groupName_ko\": \"소행성 블러드 레이더 지휘 크루저\", \n    \"groupName_ru\": \"Флагманский крейсер астероидного патруля Blood Raider\", \n    \"groupName_zh\": \"小行星血袭者指挥官巡洋舰\", \n    \"groupNameID\": 64177, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"792\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 792, \n    \"groupName_de\": \"Asteroiden: Blood Raiders-Kommandeurfregatte\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Commander Frigate\", \n    \"groupName_es\": \"Fragata de comandante de asteroides de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Frégate de commandement blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raiders Commander Frigate\", \n    \"groupName_ja\": \"アステロイドブラッドレイダー司令官フリゲート\", \n    \"groupName_ko\": \"소행성 블러드 레이더 지휘 프리깃\", \n    \"groupName_ru\": \"Флагманский фрегат астероидного патруля Blood Raider\", \n    \"groupName_zh\": \"小行星血袭者指挥官护卫舰\", \n    \"groupNameID\": 64178, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"793\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 793, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Kommandeur-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Commander BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de comandante de asteroides del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Croiseur de bataille de commandement cartel angel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Commander BattleCruiser\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテル司令官巡洋戦艦\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 지휘 배틀크루저\", \n    \"groupName_ru\": \"Флагманский линейный крейсер астероидного патруля Картеля Angel\", \n    \"groupName_zh\": \"小行星天使集团指挥官战列巡洋舰\", \n    \"groupNameID\": 64179, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"794\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 794, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Kommandeurzerstörer\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Commander Destroyer\", \n    \"groupName_es\": \"Destructor de comandante de asteroides del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Destroyer de commandement cartel angel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Commander Destroyer\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテル司令官駆逐艦\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 커맨드 디스트로이어\", \n    \"groupName_ru\": \"Флагманский эсминец астероидного патруля Картеля Angel\", \n    \"groupName_zh\": \"小行星天使集团指挥官驱逐舰\", \n    \"groupNameID\": 64180, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"795\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 795, \n    \"groupName_de\": \"Asteroiden: Blood Raiders-Kommandeur-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Commander BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de comandante de asteroides de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Croiseur de bataille de commandement blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raiders Commander BattleCruiser\", \n    \"groupName_ja\": \"アステロイドブラッドレイダー司令官巡洋戦艦\", \n    \"groupName_ko\": \"소행성 블러드 레이더 지휘 배틀크루저\", \n    \"groupName_ru\": \"Флагманский линейный крейсер астероидного патруля Blood Raider\", \n    \"groupName_zh\": \"小行星血袭者指挥官战列巡洋舰\", \n    \"groupNameID\": 64181, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"796\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 796, \n    \"groupName_de\": \"Asteroiden: Blood Raiders-Kommandeurzerstörer\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Commander Destroyer\", \n    \"groupName_es\": \"Destructor de comandante de asteroides de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Destroyer de commandement blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raiders Commander Destroyer\", \n    \"groupName_ja\": \"アステロイドブラッドレイダー司令官駆逐艦\", \n    \"groupName_ko\": \"소행성 블러드 레이더 커맨드 디스트로이어\", \n    \"groupName_ru\": \"Флагманский эсминец астероидного патруля Blood Raider\", \n    \"groupName_zh\": \"小行星血袭者指挥官驱逐舰\", \n    \"groupNameID\": 64182, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"797\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 797, \n    \"groupName_de\": \"Asteroiden: Guristas-Kommandeur-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Guristas Commander BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de comandante de asteroides de los Guristas\", \n    \"groupName_fr\": \"Croiseur de bataille de commandement guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Commander BattleCruiser\", \n    \"groupName_ja\": \"アステロイドガリスタス司令官巡洋戦艦\", \n    \"groupName_ko\": \"소행성 구리스타스 지휘 배틀크루저\", \n    \"groupName_ru\": \"Флагманский линейный крейсер астероидного патруля Gurista\", \n    \"groupName_zh\": \"小行星古斯塔斯指挥官战列巡洋舰\", \n    \"groupNameID\": 64183, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"798\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 798, \n    \"groupName_de\": \"Asteroiden: Guristas-Kommandeurkreuzer\", \n    \"groupName_en-us\": \"Asteroid Guristas Commander Cruiser\", \n    \"groupName_es\": \"Crucero de comandante de asteroides de los Guristas\", \n    \"groupName_fr\": \"Croiseur de commandement guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Commander Cruiser\", \n    \"groupName_ja\": \"アステロイドガリスタス司令官巡洋艦\", \n    \"groupName_ko\": \"소행성 구리스타스 지휘 크루저\", \n    \"groupName_ru\": \"Флагманский крейсер астероидного патруля Gurista\", \n    \"groupName_zh\": \"小行星古斯塔斯指挥官巡洋舰\", \n    \"groupNameID\": 64184, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"799\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 799, \n    \"groupName_de\": \"Asteroiden: Guristas-Kommandeurzerstörer\", \n    \"groupName_en-us\": \"Asteroid Guristas Commander Destroyer\", \n    \"groupName_es\": \"Destructor de comandante de asteroide de los Guristas\", \n    \"groupName_fr\": \"Destroyer de commandement guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Commander Destroyer\", \n    \"groupName_ja\": \"アステロイドガリスタス司令官駆逐艦\", \n    \"groupName_ko\": \"소행성 구리스타스 커맨드 디스트로이어\", \n    \"groupName_ru\": \"Флагманский эсминец астероидного патруля Gurista\", \n    \"groupName_zh\": \"小行星古斯塔斯指挥官驱逐舰\", \n    \"groupNameID\": 64185, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"800\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 800, \n    \"groupName_de\": \"Asteroiden: Guristas-Kommandeurfregatte\", \n    \"groupName_en-us\": \"Asteroid Guristas Commander Frigate\", \n    \"groupName_es\": \"Fragata de comandante de asteroide de los Guristas\", \n    \"groupName_fr\": \"Frégate de commandement guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Commander Frigate\", \n    \"groupName_ja\": \"アステロイドガリスタス司令官フリゲート\", \n    \"groupName_ko\": \"소행성 구리스타스 지휘 프리깃\", \n    \"groupName_ru\": \"Флагманский фрегат астероидного патруля Gurista\", \n    \"groupName_zh\": \"小行星古斯塔斯指挥官护卫舰\", \n    \"groupNameID\": 64186, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"801\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 801, \n    \"groupName_de\": \"Raumverwerfung: Raubdrohnen-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Deadspace Rogue Drone BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de dron rebelde del espacio muerto\", \n    \"groupName_fr\": \"Croiseur de bataille de commandement drone renégat Deadspace\", \n    \"groupName_it\": \"Deadspace Rogue Drone BattleCruiser\", \n    \"groupName_ja\": \"デッドスペースローグドローン巡洋戦艦\", \n    \"groupName_ko\": \"데드스페이스 로그 드론 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер дэдспейса восставших дронов\", \n    \"groupName_zh\": \"死亡空间自由无人机战列巡洋舰\", \n    \"groupNameID\": 64187, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"802\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 802, \n    \"groupName_de\": \"Raumverwerfung: Raubdrohnen-Schlachtschiff\", \n    \"groupName_en-us\": \"Deadspace Rogue Drone Battleship\", \n    \"groupName_es\": \"Acorazado de dron rebelde del espacio muerto\", \n    \"groupName_fr\": \"Cuirassé de commandement drone renégat Deadspace\", \n    \"groupName_it\": \"Deadspace Rogue Drone Battleship\", \n    \"groupName_ja\": \"デッドスペースローグドローン戦艦\", \n    \"groupName_ko\": \"데드스페이스 로그 드론 배틀쉽\", \n    \"groupName_ru\": \"Линкор дэдспейса восставших дронов\", \n    \"groupName_zh\": \"死亡空间自由无人机战列舰\", \n    \"groupNameID\": 64188, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"803\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 803, \n    \"groupName_de\": \"Raumverwerfung: Raubdrohnen-Kreuzer\", \n    \"groupName_en-us\": \"Deadspace Rogue Drone Cruiser\", \n    \"groupName_es\": \"Crucero dron rebelde del espacio muerto\", \n    \"groupName_fr\": \"Croiseur de commandement drone renégat Deadspace\", \n    \"groupName_it\": \"Deadspace Rogue Drone Cruiser\", \n    \"groupName_ja\": \"デッドスペースローグドローン巡洋艦\", \n    \"groupName_ko\": \"데드스페이스 로그 드론 크루저\", \n    \"groupName_ru\": \"Крейсер дэдспейса восставших дронов\", \n    \"groupName_zh\": \"死亡空间自由无人机巡洋舰\", \n    \"groupNameID\": 64189, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"804\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 804, \n    \"groupName_de\": \"Raumverwerfung: Raubdrohnen-Zerstörer\", \n    \"groupName_en-us\": \"Deadspace Rogue Drone Destroyer\", \n    \"groupName_es\": \"Destructor de dron rebelde del espacio muerto\", \n    \"groupName_fr\": \"Destroyer de commandement drone renégat Deadspace\", \n    \"groupName_it\": \"Deadspace Rogue Drone Destroyer\", \n    \"groupName_ja\": \"デッドスペースローグドローン駆逐艦\", \n    \"groupName_ko\": \"데드스페이스 로그 드론 디스트로이어\", \n    \"groupName_ru\": \"Эсминец дэдспейса восставших дронов\", \n    \"groupName_zh\": \"死亡空间自由无人机驱逐舰\", \n    \"groupNameID\": 64190, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"805\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 805, \n    \"groupName_de\": \"Raumverwerfung: Raubdrohnen-Fregatte\", \n    \"groupName_en-us\": \"Deadspace Rogue Drone Frigate\", \n    \"groupName_es\": \"Fragata de dron rebelde del espacio muerto\", \n    \"groupName_fr\": \"Frégate de commandement drone renégat Deadspace\", \n    \"groupName_it\": \"Deadspace Rogue Drone Frigate\", \n    \"groupName_ja\": \"デッドスペースローグドローンフリゲート\", \n    \"groupName_ko\": \"데드스페이스 로그 드론 프리깃\", \n    \"groupName_ru\": \"Фрегат дэдспейса восставших дронов\", \n    \"groupName_zh\": \"死亡空间自由无人机护卫舰\", \n    \"groupNameID\": 64191, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"806\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 806, \n    \"groupName_de\": \"Raumverwerfung: Raubdrohnen-Schwarm\", \n    \"groupName_en-us\": \"Deadspace Rogue Drone Swarm\", \n    \"groupName_es\": \"Enjambre de dron rebelde del espacio muerto\", \n    \"groupName_fr\": \"Essaim de commandement drone renégat Deadspace\", \n    \"groupName_it\": \"Deadspace Rogue Drone Swarm\", \n    \"groupName_ja\": \"デッドスペースローグドローンスウォーム\", \n    \"groupName_ko\": \"데드스페이스 로그 드론 스웜\", \n    \"groupName_ru\": \"Рой дэдспейса восставших дронов\", \n    \"groupName_zh\": \"死亡空间自由无人机集群\", \n    \"groupNameID\": 64192, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"807\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 807, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation-Kommandeur-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Commander BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de comandante de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Croiseur de bataille de commandement Sansha's Nation astéroïde\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Commander BattleCruiser\", \n    \"groupName_ja\": \"アステロイドサンシャ国司令官巡洋戦艦\", \n    \"groupName_ko\": \"소행성 산샤 네이션 지휘 배틀크루저\", \n    \"groupName_ru\": \"Флагманский линейный крейсер астероидного патруля Нации Sansha\", \n    \"groupName_zh\": \"小行星萨沙共和国指挥官战列巡洋舰\", \n    \"groupNameID\": 64193, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"808\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 808, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation-Kommandeurkreuzer\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Commander Cruiser\", \n    \"groupName_es\": \"Crucero de comandante de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Croiseur de commandement Sansha's Nation astéroïde\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Commander Cruiser\", \n    \"groupName_ja\": \"アステロイドサンシャ国司令官巡洋艦\", \n    \"groupName_ko\": \"소행성 산샤 네이션 지휘 크루저\", \n    \"groupName_ru\": \"Флагманский крейсер астероидного патруля Нации Sansha\", \n    \"groupName_zh\": \"小行星萨沙共和国指挥官巡洋舰\", \n    \"groupNameID\": 64194, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"809\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 809, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation-Kommandeurzerstörer\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Commander Destroyer\", \n    \"groupName_es\": \"Destructor de comandante de asteroides de la Nación Sansha\", \n    \"groupName_fr\": \"Destroyer de commandement Sansha's Nation astéroïde\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Commander Destroyer\", \n    \"groupName_ja\": \"アステロイドサンシャ国司令官駆逐艦\", \n    \"groupName_ko\": \"소행성 산샤 네이션 커맨드 디스트로이어\", \n    \"groupName_ru\": \"Флагманский эсминец астероидного патруля Нации Sansha\", \n    \"groupName_zh\": \"小行星萨沙共和国指挥官驱逐舰\", \n    \"groupNameID\": 64195, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"810\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 810, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation-Kommandeurfregatte\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Commander Frigate\", \n    \"groupName_es\": \"Fragata de comandante de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Frégate de commandement Sansha's Nation astéroïde\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Commander Frigate\", \n    \"groupName_ja\": \"アステロイドサンシャ国司令官フリゲート\", \n    \"groupName_ko\": \"소행성 산샤 네이션 지휘 프리깃\", \n    \"groupName_ru\": \"Флагманский фрегат астероидного патруля Нации Sansha\", \n    \"groupName_zh\": \"小行星萨沙共和国指挥官护卫舰\", \n    \"groupNameID\": 64196, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"811\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 811, \n    \"groupName_de\": \"Asteroiden: Serpentis-Kommandeur-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Asteroid Serpentis Commander BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de comandante de asteroide de Serpentis\", \n    \"groupName_fr\": \"Croiseur de bataille de commandement serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Commander BattleCruiser\", \n    \"groupName_ja\": \"アステロイドサーペンティス司令官巡洋戦艦\", \n    \"groupName_ko\": \"소행성 서펜티스 지휘 배틀크루저\", \n    \"groupName_ru\": \"Флагманский линейный крейсер астероидного патруля Serpentis\", \n    \"groupName_zh\": \"小行星天蛇集团指挥官战列巡洋舰\", \n    \"groupNameID\": 64197, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"812\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 812, \n    \"groupName_de\": \"Asteroiden: Serpentis-Kommandeurkreuzer\", \n    \"groupName_en-us\": \"Asteroid Serpentis Commander Cruiser\", \n    \"groupName_es\": \"Crucero de comandante de asteroide de Serpentis\", \n    \"groupName_fr\": \"Croiseur de commandement serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Commander Cruiser\", \n    \"groupName_ja\": \"アステロイドサーペンティス司令官巡洋艦\", \n    \"groupName_ko\": \"소행성 서펜티스 지휘 크루저\", \n    \"groupName_ru\": \"Флагманский крейсер астероидного патруля Serpentis\", \n    \"groupName_zh\": \"小行星天蛇集团指挥官巡洋舰\", \n    \"groupNameID\": 64198, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"813\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 813, \n    \"groupName_de\": \"Asteroiden: Serpentis-Kommandeurzerstörer\", \n    \"groupName_en-us\": \"Asteroid Serpentis Commander Destroyer\", \n    \"groupName_es\": \"Destructor de comandante de asteroide de Serpentis\", \n    \"groupName_fr\": \"Destroyer de commandement serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Commander Destroyer\", \n    \"groupName_ja\": \"アステロイドサーペンティス司令官駆逐艦\", \n    \"groupName_ko\": \"소행성 서펜티스 커맨드 디스트로이어\", \n    \"groupName_ru\": \"Флагманский эсминец астероидного патруля Serpentis\", \n    \"groupName_zh\": \"小行星天蛇集团指挥官驱逐舰\", \n    \"groupNameID\": 64199, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"814\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 814, \n    \"groupName_de\": \"Asteroiden: Serpentis-Kommandeurfregatte\", \n    \"groupName_en-us\": \"Asteroid Serpentis Commander Frigate\", \n    \"groupName_es\": \"Fragata de comandante de asteroide de Serpentis\", \n    \"groupName_fr\": \"Frégate de commandement serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Commander Frigate\", \n    \"groupName_ja\": \"アステロイドサーペンティス司令官フリゲート\", \n    \"groupName_ko\": \"소행성 서펜티스 지휘 프리깃\", \n    \"groupName_ru\": \"Флагманский фрегат астероидного патруля Serpentis\", \n    \"groupName_zh\": \"小行星天蛇集团指挥官护卫舰\", \n    \"groupNameID\": 64200, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"815\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 815, \n    \"groupName_de\": \"Hangar für Klonbehältnis\", \n    \"groupName_en-us\": \"Clone Vat Bay\", \n    \"groupName_es\": \"Plataforma de contenedores de clonación\", \n    \"groupName_fr\": \"Plateforme de clonage\", \n    \"groupName_it\": \"Clone Vat Bay\", \n    \"groupName_ja\": \"クローンバットベイ\", \n    \"groupName_ko\": \"점프 클론 격납고\", \n    \"groupName_ru\": \"Бортовая клон-станция\", \n    \"groupName_zh\": \"克隆舱\", \n    \"groupNameID\": 64201, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"816\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 816, \n    \"groupName_de\": \"Missionen: Standard-Schlachtschiffe\", \n    \"groupName_en-us\": \"Mission Generic Battleships\", \n    \"groupName_es\": \"Acorazados de misión genéricos\", \n    \"groupName_fr\": \"Cuirassés génériques mission\", \n    \"groupName_it\": \"Mission Generic Battleships\", \n    \"groupName_ja\": \"ミッション一般戦艦\", \n    \"groupName_ko\": \"미션 일반 배틀쉽\", \n    \"groupName_ru\": \"Линкоры боевой группы\", \n    \"groupName_zh\": \"任务通用战列舰\", \n    \"groupNameID\": 64202, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"817\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 817, \n    \"groupName_de\": \"Missionen: Standardkreuzer\", \n    \"groupName_en-us\": \"Mission Generic Cruisers\", \n    \"groupName_es\": \"Cruceros de misión genéricos\", \n    \"groupName_fr\": \"Croiseurs génériques mission\", \n    \"groupName_it\": \"Mission Generic Cruisers\", \n    \"groupName_ja\": \"ミッション一般巡洋艦\", \n    \"groupName_ko\": \"미션 일반 크루저\", \n    \"groupName_ru\": \"Крейсеры боевой группы\", \n    \"groupName_zh\": \"任务通用巡洋舰\", \n    \"groupNameID\": 64203, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"818\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 818, \n    \"groupName_de\": \"Missionen: Standardfregatte\", \n    \"groupName_en-us\": \"Mission Generic Frigates\", \n    \"groupName_es\": \"Fragatas de misión genéricas\", \n    \"groupName_fr\": \"Frégates génériques mission\", \n    \"groupName_it\": \"Mission Generic Frigates\", \n    \"groupName_ja\": \"ミッション一般フリゲート\", \n    \"groupName_ko\": \"미션 일반 프리깃\", \n    \"groupName_ru\": \"Фрегаты боевой группы\", \n    \"groupName_zh\": \"任务通用护卫舰\", \n    \"groupNameID\": 64204, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"819\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 819, \n    \"groupName_de\": \"Raumverwerfung: Aufseherfregatte\", \n    \"groupName_en-us\": \"Deadspace Overseer Frigate\", \n    \"groupName_es\": \"Fragata de vigilante del espacio muerto\", \n    \"groupName_fr\": \"Frégate de surveillance Deadspace\", \n    \"groupName_it\": \"Deadspace Overseer Frigate\", \n    \"groupName_ja\": \"デッドスペース監督フリゲート\", \n    \"groupName_ko\": \"데드스페이스 오버시어 프리깃\", \n    \"groupName_ru\": \"Фрегат смотрителя дэдспейса\", \n    \"groupName_zh\": \"死亡空间监察官护卫舰\", \n    \"groupNameID\": 64205, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"820\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 820, \n    \"groupName_de\": \"Raumverwerfung: Aufseherkreuzer\", \n    \"groupName_en-us\": \"Deadspace Overseer Cruiser\", \n    \"groupName_es\": \"Crucero de vigilante del espacio muerto\", \n    \"groupName_fr\": \"Croiseur de surveillance Deadspace\", \n    \"groupName_it\": \"Deadspace Overseer Cruiser\", \n    \"groupName_ja\": \"デッドスペース監督巡洋艦\", \n    \"groupName_ko\": \"데드스페이스 오버시어 크루저\", \n    \"groupName_ru\": \"Крейсер смотрителя дэдспейса\", \n    \"groupName_zh\": \"死亡空间监察官巡洋舰\", \n    \"groupNameID\": 64206, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"821\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 821, \n    \"groupName_de\": \"Raumverwerfung: Aufseher-Schlachtschiff\", \n    \"groupName_en-us\": \"Deadspace Overseer Battleship\", \n    \"groupName_es\": \"Acorazado de vigilante del espacio muerto\", \n    \"groupName_fr\": \"Cuirassé de surveillance Deadspace\", \n    \"groupName_it\": \"Deadspace Overseer Battleship\", \n    \"groupName_ja\": \"デッドスペース監督戦艦\", \n    \"groupName_ko\": \"데드스페이스 오버시어 배틀쉽\", \n    \"groupName_ru\": \"Линкор смотрителя дэдспейса\", \n    \"groupName_zh\": \"死亡空间监察官战列舰\", \n    \"groupNameID\": 64207, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"822\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 822, \n    \"groupName_de\": \"Missionen: Thukker-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Mission Thukker Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de misión thukker\", \n    \"groupName_fr\": \"Croiseur de bataille thukker mission\", \n    \"groupName_it\": \"Mission Thukker Battlecruiser\", \n    \"groupName_ja\": \"ミッションサッカー巡洋戦艦\", \n    \"groupName_ko\": \"미션 터커 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер боевой группы Thukker\", \n    \"groupName_zh\": \"任务图克尔战列巡洋舰\", \n    \"groupNameID\": 64208, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"823\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 823, \n    \"groupName_de\": \"Missionen: Thukker-Schlachtschiff\", \n    \"groupName_en-us\": \"Mission Thukker Battleship\", \n    \"groupName_es\": \"Acorazado de misión de Thukker\", \n    \"groupName_fr\": \"Cuirassé thukker mission\", \n    \"groupName_it\": \"Mission Thukker Battleship\", \n    \"groupName_ja\": \"ミッションサッカー戦艦\", \n    \"groupName_ko\": \"미션 터커 배틀쉽\", \n    \"groupName_ru\": \"Линкор боевой группы Thukker\", \n    \"groupName_zh\": \"任务图克尔战列舰\", \n    \"groupNameID\": 64209, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"824\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 824, \n    \"groupName_de\": \"Missionen: Thukker-Kreuzer\", \n    \"groupName_en-us\": \"Mission Thukker Cruiser\", \n    \"groupName_es\": \"Crucero de misión de Thukker\", \n    \"groupName_fr\": \"Croiseur thukker mission\", \n    \"groupName_it\": \"Mission Thukker Cruiser\", \n    \"groupName_ja\": \"ミッションサッカー巡洋艦\", \n    \"groupName_ko\": \"미션 터커 크루저\", \n    \"groupName_ru\": \"Крейсер боевой группы Thukker\", \n    \"groupName_zh\": \"任务图克尔巡洋舰\", \n    \"groupNameID\": 64210, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"825\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 825, \n    \"groupName_de\": \"Missionen: Thukker-Zerstörer\", \n    \"groupName_en-us\": \"Mission Thukker Destroyer\", \n    \"groupName_es\": \"Destructor de misión de Thukker\", \n    \"groupName_fr\": \"Destroyer thukker mission\", \n    \"groupName_it\": \"Mission Thukker Destroyer\", \n    \"groupName_ja\": \"ミッションサッカー駆逐艦\", \n    \"groupName_ko\": \"미션 터커 디스트로이어\", \n    \"groupName_ru\": \"Эсминец боевой группы Thukker\", \n    \"groupName_zh\": \"任务图克尔驱逐舰\", \n    \"groupNameID\": 64211, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"826\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 826, \n    \"groupName_de\": \"Missionen: Thukker-Fregatte\", \n    \"groupName_en-us\": \"Mission Thukker Frigate\", \n    \"groupName_es\": \"Fragata de misión de Thukker\", \n    \"groupName_fr\": \"Frégate thukker mission\", \n    \"groupName_it\": \"Mission Thukker Frigate\", \n    \"groupName_ja\": \"ミッションサッカーフリゲート\", \n    \"groupName_ko\": \"미션 터커 프리깃\", \n    \"groupName_ru\": \"Фрегат боевой группы Thukker\", \n    \"groupName_zh\": \"任务图克尔护卫舰\", \n    \"groupNameID\": 64212, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"827\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 827, \n    \"groupName_de\": \"Missionen: Thukker (andere)\", \n    \"groupName_en-us\": \"Mission Thukker Other\", \n    \"groupName_es\": \"Otro elemento de misión de Thukker\", \n    \"groupName_fr\": \"Autre thukker mission\", \n    \"groupName_it\": \"Mission Thukker Other\", \n    \"groupName_ja\": \"ミッションサッカーその他\", \n    \"groupName_ko\": \"미션 터커 기타 함선\", \n    \"groupName_ru\": \"Другой корабль боевой группы Thukker\", \n    \"groupName_zh\": \"图克尔任务其它\", \n    \"groupNameID\": 64213, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"828\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 828, \n    \"groupName_de\": \"Missionen: Standard-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Mission Generic Battle Cruisers\", \n    \"groupName_es\": \"Cruceros de combate de misión genéricos\", \n    \"groupName_fr\": \"Escorteurs d'assaut génériques mission\", \n    \"groupName_it\": \"Mission Generic Battle Cruisers\", \n    \"groupName_ja\": \"ミッション一般巡洋戦艦\", \n    \"groupName_ko\": \"미션 일반 배틀크루저\", \n    \"groupName_ru\": \"Линейные крейсеры боевой группы\", \n    \"groupName_zh\": \"任务通用战列巡洋舰\", \n    \"groupNameID\": 64214, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"829\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 829, \n    \"groupName_de\": \"Missionen: Standardzerstörer\", \n    \"groupName_en-us\": \"Mission Generic Destroyers\", \n    \"groupName_es\": \"Destructores de misión genéricos\", \n    \"groupName_fr\": \"Destroyers génériques mission\", \n    \"groupName_it\": \"Mission Generic Destroyers\", \n    \"groupName_ja\": \"ミッション一般駆逐艦\", \n    \"groupName_ko\": \"미션 일반 디스트로이어\", \n    \"groupName_ru\": \"Эсминцы боевой группы\", \n    \"groupName_zh\": \"任务通用驱逐舰\", \n    \"groupNameID\": 64215, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"830\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 830, \n    \"groupName_de\": \"Verdeckte Operationen\", \n    \"groupName_en-us\": \"Covert Ops\", \n    \"groupName_es\": \"Operaciones encubiertas\", \n    \"groupName_fr\": \"Opérations secrètes\", \n    \"groupName_it\": \"Covert Ops\", \n    \"groupName_ja\": \"隠密行動艦\", \n    \"groupName_ko\": \"코버트 옵스\", \n    \"groupName_ru\": \"Лёгкий диверсионный корабль\", \n    \"groupName_zh\": \"隐形特勤舰\", \n    \"groupNameID\": 64216, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"831\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 831, \n    \"groupName_de\": \"Abfangjäger\", \n    \"groupName_en-us\": \"Interceptor\", \n    \"groupName_es\": \"Interceptor\", \n    \"groupName_fr\": \"Intercepteur\", \n    \"groupName_it\": \"Interceptor\", \n    \"groupName_ja\": \"要撃型フリゲート\", \n    \"groupName_ko\": \"인터셉터\", \n    \"groupName_ru\": \"Перехватчик\", \n    \"groupName_zh\": \"截击舰\", \n    \"groupNameID\": 64217, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"832\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 832, \n    \"groupName_de\": \"Logistik\", \n    \"groupName_en-us\": \"Logistics\", \n    \"groupName_es\": \"Logística\", \n    \"groupName_fr\": \"Logistique\", \n    \"groupName_it\": \"Logistics\", \n    \"groupName_ja\": \"支援型巡洋艦\", \n    \"groupName_ko\": \"로지스틱스\", \n    \"groupName_ru\": \"Корабль обеспечения\", \n    \"groupName_zh\": \"后勤舰\", \n    \"groupNameID\": 64218, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"833\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 833, \n    \"groupName_de\": \"Flottenaufklärer\", \n    \"groupName_en-us\": \"Force Recon Ship\", \n    \"groupName_es\": \"Nave de reconocimiento de fuerza\", \n    \"groupName_fr\": \"Vaisseau de reconnaissance furtif\", \n    \"groupName_it\": \"Force Recon Ship\", \n    \"groupName_ja\": \"軍事偵察船\", \n    \"groupName_ko\": \"포스 리콘 크루저\", \n    \"groupName_ru\": \"Дозорно-диверсионный крейсер\", \n    \"groupName_zh\": \"力场侦察舰\", \n    \"groupNameID\": 64219, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"834\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 834, \n    \"groupName_de\": \"Tarnkappenbomber\", \n    \"groupName_en-us\": \"Stealth Bomber\", \n    \"groupName_es\": \"Bombardero sigiloso\", \n    \"groupName_fr\": \"Bombardier furtif\", \n    \"groupName_it\": \"Stealth Bomber\", \n    \"groupName_ja\": \"ステルス爆撃艦\", \n    \"groupName_ko\": \"스텔스 폭격기\", \n    \"groupName_ru\": \"Ударно-диверсионный бомбардировщик\", \n    \"groupName_zh\": \"隐形轰炸舰\", \n    \"groupNameID\": 64220, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"835\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 835, \n    \"groupName_de\": \"Stations-Upgrade-Plattform\", \n    \"groupName_en-us\": \"Station Upgrade Platform\", \n    \"groupName_es\": \"Plataforma de actualización de estación\", \n    \"groupName_fr\": \"Plateforme d'amélioration de station\", \n    \"groupName_it\": \"Station Upgrade Platform\", \n    \"groupName_ja\": \"ステーション強化プラットフォーム\", \n    \"groupName_ko\": \"정거장 업그레이드 플랫폼\", \n    \"groupName_ru\": \"Платформа для модуля расширения станции\", \n    \"groupName_zh\": \"空间站升级平台\", \n    \"groupNameID\": 64221, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"836\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 836, \n    \"groupName_de\": \"Stationsverbesserungsplattform\", \n    \"groupName_en-us\": \"Station Improvement Platform\", \n    \"groupName_es\": \"Plataforma de mejora de estación\", \n    \"groupName_fr\": \"Plateforme d'optimisation de station\", \n    \"groupName_it\": \"Station Improvement Platform\", \n    \"groupName_ja\": \"ステーション改良プラットフォーム\", \n    \"groupName_ko\": \"정거장 확장 플랫폼\", \n    \"groupName_ru\": \"Модуль расширения станции\", \n    \"groupName_zh\": \"空间站强化平台\", \n    \"groupNameID\": 64222, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"837\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 837, \n    \"groupName_de\": \"Energieneutralisierungsbatterie\", \n    \"groupName_en-us\": \"Energy Neutralizing Battery\", \n    \"groupName_es\": \"Batería neutralizadora de energía\", \n    \"groupName_fr\": \"Batterie de neutralisation de l'énergie\", \n    \"groupName_it\": \"Energy Neutralizing Battery\", \n    \"groupName_ja\": \"エネルギー無効化バッテリー\", \n    \"groupName_ko\": \"에너지 뉴트럴라이제이션 포탑\", \n    \"groupName_ru\": \"Батарея нейтрализации энергии\", \n    \"groupName_zh\": \"能量中和波发射台\", \n    \"groupNameID\": 64223, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"838\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 838, \n    \"groupName_de\": \"Anziehungsgeneratoranlage\", \n    \"groupName_en-us\": \"Cynosural Generator Array\", \n    \"groupName_es\": \"Sistemas generadores cinosurales\", \n    \"groupName_fr\": \"Module de génération cynosurale\", \n    \"groupName_it\": \"Cynosural Generator Array\", \n    \"groupName_ja\": \"サイノシュアル生成施設\", \n    \"groupName_ko\": \"사이노슈럴 생성기\", \n    \"groupName_ru\": \"Генератор путеводного поля\", \n    \"groupName_zh\": \"诱导力场发生阵列\", \n    \"groupNameID\": 64224, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"839\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 839, \n    \"groupName_de\": \"Anziehungssystem-Störsender\", \n    \"groupName_en-us\": \"Cynosural System Jammer\", \n    \"groupName_es\": \"Perturbador cinosural de sistemas\", \n    \"groupName_fr\": \"Brouilleur de système cynosural\", \n    \"groupName_it\": \"Cynosural System Jammer\", \n    \"groupName_ja\": \"サイノシュラルシステムジャマー\", \n    \"groupName_ko\": \"사이노슈럴 시스템 재머\", \n    \"groupName_ru\": \"Постановщик помех путеводного поля\", \n    \"groupName_zh\": \"诱导力场系统干扰器\", \n    \"groupNameID\": 64225, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"840\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 840, \n    \"groupName_de\": \"Strukturreparatur-Array\", \n    \"groupName_en-us\": \"Structure Repair Array\", \n    \"groupName_es\": \"Plataforma reparadora de estructuras\", \n    \"groupName_fr\": \"Module de réparation de structure\", \n    \"groupName_it\": \"Structure Repair Array\", \n    \"groupName_ja\": \"ストラクチャリペア施設\", \n    \"groupName_ko\": \"구조물 수리 시설\", \n    \"groupName_ru\": \"Structure Repair Array\", \n    \"groupName_zh\": \"结构维修阵列\", \n    \"groupNameID\": 64345, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"841\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 841, \n    \"groupName_de\": \"Sternenbasis - Kontrollturm-Blaupause\", \n    \"groupName_en-us\": \"Starbase - Control Tower Blueprints\", \n    \"groupName_es\": \"Base estelar: planos de torre de control\", \n    \"groupName_fr\": \"Base stellaire – Plans de construction Tour de contrôle\", \n    \"groupName_it\": \"Starbase - Control Tower Blueprints\", \n    \"groupName_ja\": \"スターベース ― コントロールタワーのブループリント\", \n    \"groupName_ko\": \"스타베이스 - 관제타워 블루프린트\", \n    \"groupName_ru\": \"Сооружения - чертежи башен управления базами\", \n    \"groupName_zh\": \"母星 - 控制塔蓝图\", \n    \"groupNameID\": 64384, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"842\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 842, \n    \"groupName_de\": \"Pulsprojektoren\", \n    \"groupName_en-us\": \"Burst Projectors\", \n    \"groupName_es\": \"Proyectores de estallido\", \n    \"groupName_fr\": \"Projecteur à salves\", \n    \"groupName_it\": \"Burst Projectors\", \n    \"groupName_ja\": \"バーストプロジェクター\", \n    \"groupName_ko\": \"버스트 프로젝터\", \n    \"groupName_ru\": \"Ретрансляторы объёмных помех\", \n    \"groupName_zh\": \"脉冲波投射器\", \n    \"groupNameID\": 64226, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"843\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 843, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Kommandeur-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Commander BattleCruiser\", \n    \"groupName_es\": \"Crucero de combate de comandante de dron rebelde de asteroide\", \n    \"groupName_fr\": \"Croiseur de bataille de commandement drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Commander BattleCruiser\", \n    \"groupName_ja\": \"アステロイドローグドローンコマンダー巡洋戦艦\", \n    \"groupName_ko\": \"소행성 로그 드론 지휘 배틀크루저\", \n    \"groupName_ru\": \"Флагманский линейный крейсер астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机指挥官战列巡洋舰\", \n    \"groupNameID\": 64227, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"844\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 844, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Kommandeur-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Commander Battleship\", \n    \"groupName_es\": \"Acorazado de comandante de dron rebelde de asteroide\", \n    \"groupName_fr\": \"Cuirassé de commandement drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Commander Battleship\", \n    \"groupName_ja\": \"アステロイドローグドローンコマンダー戦艦\", \n    \"groupName_ko\": \"소행성 로그 드론 지휘 배틀쉽\", \n    \"groupName_ru\": \"Флагманский линкор астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机指挥官战列舰\", \n    \"groupNameID\": 64228, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"845\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 845, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Kommandeurkreuzer\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Commander Cruiser\", \n    \"groupName_es\": \"Crucero de comandante de dron rebelde de asteroide\", \n    \"groupName_fr\": \"Croiseur de commandement drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Commander Cruiser\", \n    \"groupName_ja\": \"アステロイドローグドローン司令官巡洋艦\", \n    \"groupName_ko\": \"소행성 로그 드론 지휘 크루저\", \n    \"groupName_ru\": \"Флагманский крейсер астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机指挥官巡洋舰\", \n    \"groupNameID\": 64229, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"846\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 846, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Kommandeurzerstörer\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Commander Destroyer\", \n    \"groupName_es\": \"Destructor de comandante de dron rebelde de asteroide\", \n    \"groupName_fr\": \"Destroyer de commandement drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Commander Destroyer\", \n    \"groupName_ja\": \"アステロイドローグドローン司令官駆逐艦\", \n    \"groupName_ko\": \"소행성 로그 드론 커맨드 디스트로이어\", \n    \"groupName_ru\": \"Флагманский эсминец астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机指挥官驱逐舰\", \n    \"groupNameID\": 64230, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"847\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 847, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Kommandeurfregatte\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Commander Frigate\", \n    \"groupName_es\": \"Fragata de comandante de dron rebelde de asteroide\", \n    \"groupName_fr\": \"Frégate de commandement drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Commander Frigate\", \n    \"groupName_ja\": \"アステロイドローグドローン司令官フリゲート\", \n    \"groupName_ko\": \"소행성 로그 드론 지휘 프리깃\", \n    \"groupName_ru\": \"Флагманский фрегат астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机指挥官护卫舰\", \n    \"groupNameID\": 64231, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"848\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 848, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Kommandeur-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Commander Battleship\", \n    \"groupName_es\": \"Acorazado de comandante de asteroide del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Cuirassé de commandement cartel angel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Commander Battleship\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテル司令官戦艦\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 지휘 배틀쉽\", \n    \"groupName_ru\": \"Флагманский линкор астероидного патруля Картеля Angel\", \n    \"groupName_zh\": \"小行星天使集团指挥官战列舰\", \n    \"groupNameID\": 64232, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"849\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 849, \n    \"groupName_de\": \"Asteroiden: Blood Raiders-Kommandeur-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Commander Battleship\", \n    \"groupName_es\": \"Acorazado de comandante de asteroide de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Cuirassé de commandement blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raiders Commander Battleship\", \n    \"groupName_ja\": \"アステロイドブラッドレイダー司令官戦艦\", \n    \"groupName_ko\": \"소행성 블러드 레이더 지휘 배틀쉽\", \n    \"groupName_ru\": \"Флагманский линкор астероидного патруля Blood Raider\", \n    \"groupName_zh\": \"小行星血袭者指挥官战列舰\", \n    \"groupNameID\": 64233, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"850\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 850, \n    \"groupName_de\": \"Asteroiden: Guristas-Kommandeur-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Guristas Commander Battleship\", \n    \"groupName_es\": \"Acorazado de comandante de asteroide de los Guristas\", \n    \"groupName_fr\": \"Cuirassé de commandement guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Commander Battleship\", \n    \"groupName_ja\": \"アステロイドガリスタス司令官戦艦\", \n    \"groupName_ko\": \"소행성 구리스타스 지휘 배틀쉽\", \n    \"groupName_ru\": \"Флагманский линкор астероидного патруля Gurista\", \n    \"groupName_zh\": \"小行星古斯塔斯指挥官战列舰\", \n    \"groupNameID\": 64234, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"851\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 851, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation-Kommandeur-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Commander Battleship\", \n    \"groupName_es\": \"Acorazado de comandante de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Cuirassé de commandement Sansha's Nation astéroïde\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Commander Battleship\", \n    \"groupName_ja\": \"アステロイドサンシャ国司令官戦艦\", \n    \"groupName_ko\": \"소행성 산샤 네이션 지휘 배틀쉽\", \n    \"groupName_ru\": \"Флагманский линкор астероидного патруля Нации Sansha\", \n    \"groupName_zh\": \"小行星萨沙共和国指挥官战列舰\", \n    \"groupNameID\": 64235, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"852\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 852, \n    \"groupName_de\": \"Asteroiden: Serpentis-Kommandeur-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Serpentis Commander Battleship\", \n    \"groupName_es\": \"Acorazado de comandante de asteroide de Serpentis\", \n    \"groupName_fr\": \"Cuirassé de commandement serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Commander Battleship\", \n    \"groupName_ja\": \"アステロイドサーペンティス司令官戦艦\", \n    \"groupName_ko\": \"소행성 서펜티스 지휘 배틀쉽\", \n    \"groupName_ru\": \"Флагманский линкор астероидного патруля Serpentis\", \n    \"groupName_zh\": \"小行星天蛇指挥官战列舰\", \n    \"groupNameID\": 64236, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"853\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 853, \n    \"groupName_de\": \"Sternenbasis - Laserbatterie-Blaupausen\", \n    \"groupName_en-us\": \"Starbase - Laser Battery Blueprints\", \n    \"groupName_es\": \"Base estelar: planos de batería de láser\", \n    \"groupName_fr\": \"Base stellaire – Plans de construction Batterie de lasers\", \n    \"groupName_it\": \"Starbase - Laser Battery Blueprints\", \n    \"groupName_ja\": \"スターベース ― レーザーバッテリーのブループリント\", \n    \"groupName_ko\": \"스타베이스 - 레이저 포탑 블루프린트\", \n    \"groupName_ru\": \"Сооружения - чертежи лазерного оружия\", \n    \"groupName_zh\": \"母星 - 激光炮台蓝图\", \n    \"groupNameID\": 64388, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"854\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 854, \n    \"groupName_de\": \"Sternenbasis - Projektilbatterie-Blaupausen\", \n    \"groupName_en-us\": \"Starbase - Projectile Battery Blueprints\", \n    \"groupName_es\": \"Base estelar: plano de batería de proyectiles\", \n    \"groupName_fr\": \"Base stellaire – Plans de construction Batterie de projectiles\", \n    \"groupName_it\": \"Starbase - Projectile Battery Blueprints\", \n    \"groupName_ja\": \"スターベース ― プロジェクタイルバッテリーのブループリント\", \n    \"groupName_ko\": \"스타베이스 - 발사체 포탑 블루프린트\", \n    \"groupName_ru\": \"Сооружения - чертежи баллистического оружия\", \n    \"groupName_zh\": \"母星 - 射弹炮台蓝图\", \n    \"groupNameID\": 64390, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"855\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 855, \n    \"groupName_de\": \"Sternenbasis - Hybridbatterie-Blaupausen\", \n    \"groupName_en-us\": \"Starbase - Hybrid Battery Blueprints\", \n    \"groupName_es\": \"Base estelar: planos de batería híbrida\", \n    \"groupName_fr\": \"Base stellaire – Plans de construction Batterie hybride\", \n    \"groupName_it\": \"Starbase - Hybrid Battery Blueprints\", \n    \"groupName_ja\": \"スターベース ― ハイブリッドバッテリーのブループリント\", \n    \"groupName_ko\": \"스타베이스 - 하이브리드 포탑 블루프린트\", \n    \"groupName_ru\": \"Сооружения - чертежи гибридного оружия\", \n    \"groupName_zh\": \"母星 - 混合炮台蓝图\", \n    \"groupNameID\": 64387, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"856\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 856, \n    \"groupName_de\": \"Sternenbasis - ECM-Störsender-Blaupausen\", \n    \"groupName_en-us\": \"Starbase - ECM Jamming Array Blueprints\", \n    \"groupName_es\": \"Plano de sistema de perturbación ECM de base estelar\", \n    \"groupName_fr\": \"Base stellaire – Plans de construction Module de brouillage CME\", \n    \"groupName_it\": \"Starbase - ECM Jamming Array Blueprints\", \n    \"groupName_ja\": \"スターベース ― ECMジャミング施設のブループリント\", \n    \"groupName_ko\": \"스타베이스 - ECM 재밍 시설 블루프린트\", \n    \"groupName_ru\": \"Сооружения - чертежи передатчика системы РЭБ\", \n    \"groupName_zh\": \"母星 - ECM干扰阵列蓝图\", \n    \"groupNameID\": 64385, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"857\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 857, \n    \"groupName_de\": \"Sternenbasis - Warpstörer-Batterie-Blaupausen\", \n    \"groupName_en-us\": \"Starbase - Warp Scrambling Battery Blueprints\", \n    \"groupName_es\": \"Base estelar: planos de batería de distorsionador de warp\", \n    \"groupName_fr\": \"Base stellaire - Plans de construction Batterie d'inhibition de warp\", \n    \"groupName_it\": \"Starbase - Warp Scrambling Battery Blueprints\", \n    \"groupName_ja\": \"スターベース ― ワープスクランブラーバッテリーのブループリント\", \n    \"groupName_ko\": \"스타베이스 - 워프 스크램블 타워 블루프린트\", \n    \"groupName_ru\": \"Сооружения - чертежи варп-глушителей\", \n    \"groupName_zh\": \"母星 - 跃迁扰频波发射台蓝图\", \n    \"groupNameID\": 64393, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"858\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 858, \n    \"groupName_de\": \"Sternenbasis - Btasisnetzbatterie-Blaupausen\", \n    \"groupName_en-us\": \"Starbase - Stasis Webification Battery Blueprints\", \n    \"groupName_es\": \"Base estelar: planos de batería de red ralentizadora\", \n    \"groupName_fr\": \"Base stellaire  – Plans de construction Batterie génératrice de stase\", \n    \"groupName_it\": \"Starbase - Stasis Webification Battery Blueprints\", \n    \"groupName_ja\": \"スターベース ― ステイシスウェビファイヤーバッテリーのブループリント\", \n    \"groupName_ko\": \"스타베이스 - 스테이시스 웹 타워 블루프린트\", \n    \"groupName_ru\": \"Сооружения - чертежи генераторов стазис-поля\", \n    \"groupName_zh\": \"母星 - 停滞网状光束发射台蓝图\", \n    \"groupNameID\": 64392, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"859\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 859, \n    \"groupName_de\": \"Sternenbasis - Sensordämpfungsanlage-Blaupausen\", \n    \"groupName_en-us\": \"Starbase - Sensor Dampening Array Blueprints\", \n    \"groupName_es\": \"Base estelar: planos de sistema de atenuación de sensores\", \n    \"groupName_fr\": \"Base stellaire – Structures – Plans de construction Module d'atténuation de détection\", \n    \"groupName_it\": \"Starbase - Sensor Dampening Array Blueprints\", \n    \"groupName_ja\": \"スターベース ― センサーダンプニング施設のブループリント\", \n    \"groupName_ko\": \"스타베이스 - 센서 교란 시설 블루프린트\", \n    \"groupName_ru\": \"Сооружения - чертежи передатчиков помех системам обнаружения целей\", \n    \"groupName_zh\": \"母星 - 感应抑阻阵列蓝图\", \n    \"groupNameID\": 64391, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"860\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 860, \n    \"groupName_de\": \"Sternenbasis - Energieneutralisierungsbatterie-Blaupausen\", \n    \"groupName_en-us\": \"Starbase - Energy Neutralizing Battery Blueprints\", \n    \"groupName_es\": \"Base estelar: planos de batería neutralizadora de energía\", \n    \"groupName_fr\": \"Base stellaire – Plans de construction Batterie de neutralisation d'énergie\", \n    \"groupName_it\": \"Starbase - Energy Neutralizing Battery Blueprints\", \n    \"groupName_ja\": \"スターベース ― エネルギーニュートライザーバッテリーのブループリント\", \n    \"groupName_ko\": \"스타베이스 - 에너지 뉴트럴라이제이션 터렛 블루프린트\", \n    \"groupName_ru\": \"Сооружения - чертежи батареи нейтрализации заряда\", \n    \"groupName_zh\": \"母星 - 能量中和炮台蓝图\", \n    \"groupNameID\": 64386, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"861\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 861, \n    \"groupName_de\": \"Missionen: Jagddrohne\", \n    \"groupName_en-us\": \"Mission Fighter Drone\", \n    \"groupName_es\": \"Dron caza de misión\", \n    \"groupName_fr\": \"Drone de combat mission\", \n    \"groupName_it\": \"Mission Fighter Drone\", \n    \"groupName_ja\": \"ミッション艦載戦闘機\", \n    \"groupName_ko\": \"미션 파이터\", \n    \"groupName_ru\": \"Истребитель боевой группы\", \n    \"groupName_zh\": \"任务 铁骑舰载机\", \n    \"groupNameID\": 64237, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"862\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 862, \n    \"groupName_de\": \"Raketenwerfer: Bomb\", \n    \"groupName_en-us\": \"Missile Launcher Bomb\", \n    \"groupName_es\": \"Bomba lanzamisiles\", \n    \"groupName_fr\": \"Bombe lance-missiles\", \n    \"groupName_it\": \"Missile Launcher Bomb\", \n    \"groupName_ja\": \"ミサイルランチャー（ボム）\", \n    \"groupName_ko\": \"미사일 런처 폭탄\", \n    \"groupName_ru\": \"Бомбомёт\", \n    \"groupName_zh\": \"炸弹发射器\", \n    \"groupNameID\": 64238, \n    \"iconID\": 2677, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"863\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 863, \n    \"groupName_de\": \"ECM-Bombe\", \n    \"groupName_en-us\": \"Bomb ECM\", \n    \"groupName_es\": \"Bomba ECM\", \n    \"groupName_fr\": \"Bombe CME\", \n    \"groupName_it\": \"Bomb ECM\", \n    \"groupName_ja\": \"ボムECM\", \n    \"groupName_ko\": \"폭탄 ECM\", \n    \"groupName_ru\": \"Бомба РЭБ\", \n    \"groupName_zh\": \"ECM炸弹\", \n    \"groupNameID\": 64239, \n    \"iconID\": 3283, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"864\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 864, \n    \"groupName_de\": \"Energiebombe\", \n    \"groupName_en-us\": \"Bomb Energy\", \n    \"groupName_es\": \"Energía de bomba\", \n    \"groupName_fr\": \"Bombe à énergie\", \n    \"groupName_it\": \"Bomb Energy\", \n    \"groupName_ja\": \"ボムエネルギー\", \n    \"groupName_ko\": \"폭탄 에너지\", \n    \"groupName_ru\": \"Энергетическая бомба\", \n    \"groupName_zh\": \"能量炸弹\", \n    \"groupNameID\": 64240, \n    \"iconID\": 3282, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"865\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 865, \n    \"groupName_de\": \"Missionen: Amarr Empire-Carrier\", \n    \"groupName_en-us\": \"Mission Amarr Empire Carrier\", \n    \"groupName_es\": \"Portanaves de misión del Imperio Amarr\", \n    \"groupName_fr\": \"Porte-vaisseaux Empire amarr mission\", \n    \"groupName_it\": \"Mission Amarr Empire Carrier\", \n    \"groupName_ja\": \"ミッションアマー帝国艦載機母艦\", \n    \"groupName_ko\": \"미션 아마르 캐리어\", \n    \"groupName_ru\": \"Корабль-носитель боевой группы Империи Amarr\", \n    \"groupName_zh\": \"任务 艾玛帝国航空母舰\", \n    \"groupNameID\": 64241, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"866\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 866, \n    \"groupName_de\": \"Missionen: Caldari State-Carrier\", \n    \"groupName_en-us\": \"Mission Caldari State Carrier\", \n    \"groupName_es\": \"Portanaves de misión del Estado Caldari\", \n    \"groupName_fr\": \"Porte-vaisseaux État caldari mission\", \n    \"groupName_it\": \"Mission Caldari State Carrier\", \n    \"groupName_ja\": \"ミッションカルダリ連合艦載機母艦\", \n    \"groupName_ko\": \"미션 칼다리 캐리어\", \n    \"groupName_ru\": \"Корабль-носитель боевой группы Государства Caldari\", \n    \"groupName_zh\": \"任务 加达里合众国航空母舰\", \n    \"groupNameID\": 64242, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"867\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 867, \n    \"groupName_de\": \"Missionen: Gallente Federation-Carrier\", \n    \"groupName_en-us\": \"Mission Gallente Federation Carrier\", \n    \"groupName_es\": \"Portanaves de misión de la Federación Gallente\", \n    \"groupName_fr\": \"Porte-vaisseaux Fédération gallente mission\", \n    \"groupName_it\": \"Mission Gallente Federation Carrier\", \n    \"groupName_ja\": \"ミッションガレンテ連邦艦載機母艦\", \n    \"groupName_ko\": \"미션 갈란테 캐리어\", \n    \"groupName_ru\": \"Корабль-носитель боевой группы Федерации Gallente\", \n    \"groupName_zh\": \"任务 盖伦特联邦航空母舰\", \n    \"groupNameID\": 64243, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"868\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 868, \n    \"groupName_de\": \"Mission: Trägerschiff der Republik Minmatar\", \n    \"groupName_en-us\": \"Mission Minmatar Republic Carrier\", \n    \"groupName_es\": \"Portanaves de misión de la República Minmatar\", \n    \"groupName_fr\": \"Porte-vaisseaux République minmatar mission\", \n    \"groupName_it\": \"Mission Minmatar Republic Carrier\", \n    \"groupName_ja\": \"ミッションミンマター共和国艦載機母艦\", \n    \"groupName_ko\": \"미션 민마타 캐리어\", \n    \"groupName_ru\": \"Корабль-носитель боевой группы Республики Minmatar\", \n    \"groupName_zh\": \"任务 米玛塔尔共和舰队航空母舰\", \n    \"groupNameID\": 64244, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"870\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 870, \n    \"groupName_de\": \"Fern-Hüllenreparierer-Blueprint\", \n    \"groupName_en-us\": \"Remote Hull Repairer Blueprint\", \n    \"groupName_es\": \"Plano de reparador de casco remoto\", \n    \"groupName_fr\": \"Plan de construction Réparateur de coque à distance\", \n    \"groupName_it\": \"Remote Hull Repairer Blueprint\", \n    \"groupName_ja\": \"リモート船体リペアラブループリント\", \n    \"groupName_ko\": \"원격 선체수리 장치 블루프린트\", \n    \"groupName_ru\": \"Чертеж системы дистанционного ремонта корпуса\", \n    \"groupName_zh\": \"远程船体维修装置蓝图\", \n    \"groupNameID\": 64245, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"871\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 871, \n    \"groupName_de\": \"Sternenbasis - Lenkwaffenbatterie-Blaupausen\", \n    \"groupName_en-us\": \"Starbase - Missile Battery Blueprints\", \n    \"groupName_es\": \"Base estelar: planos de batería de misiles\", \n    \"groupName_fr\": \"Base stellaire – Plans de construction Batterie de missiles\", \n    \"groupName_it\": \"Starbase - Missile Battery Blueprints\", \n    \"groupName_ja\": \"スターベース ― ミサイルバッテリーのブループリント\", \n    \"groupName_ko\": \"스타베이스 - 미사일 포탑 블루프린트\", \n    \"groupName_ru\": \"Сооружения - чертежи ракетного оружия\", \n    \"groupName_zh\": \"母星 - 导弹发射塔蓝图\", \n    \"groupNameID\": 64389, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"872\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 5, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 872, \n    \"groupName_de\": \"Verbesserungen für Außenposten\", \n    \"groupName_en-us\": \"Outpost Improvements\", \n    \"groupName_es\": \"Mejoras de puesto avanzado\", \n    \"groupName_fr\": \"Optimisations d'avant-poste\", \n    \"groupName_it\": \"Outpost Improvements\", \n    \"groupName_ja\": \"アウトポスト改良\", \n    \"groupName_ko\": \"전초기지 확장\", \n    \"groupName_ru\": \"Внешние модули станций\", \n    \"groupName_zh\": \"哨站强化\", \n    \"groupNameID\": 64246, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"873\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 873, \n    \"groupName_de\": \"Capital-Konstruktionskomponenten\", \n    \"groupName_en-us\": \"Capital Construction Components\", \n    \"groupName_es\": \"Componentes de construcción de naves capitales\", \n    \"groupName_fr\": \"Composants de vaisseau capital\", \n    \"groupName_it\": \"Capital Construction Components\", \n    \"groupName_ja\": \"キャピタル建設資材\", \n    \"groupName_ko\": \"캐피탈 생산 부품\", \n    \"groupName_ru\": \"Компоненты кораблей большого тоннажа\", \n    \"groupName_zh\": \"旗舰建造组件\", \n    \"groupNameID\": 64247, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"874\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 874, \n    \"groupName_de\": \"Störbare Stationsdienste\", \n    \"groupName_en-us\": \"Disruptable Station Services\", \n    \"groupName_es\": \"Servicios de la estación alterables\", \n    \"groupName_fr\": \"Services de la station susceptibles d'être détournés\", \n    \"groupName_it\": \"Disruptable Station Services\", \n    \"groupName_ja\": \"停止可能なステーションサービス\", \n    \"groupName_ko\": \"정거장 서비스 방해\", \n    \"groupName_ru\": \"Уязвимые станционные службы\", \n    \"groupName_zh\": \"可干扰的空间站服务\", \n    \"groupNameID\": 64248, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"875\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 875, \n    \"groupName_de\": \"Mission: Fraktionentransporter\", \n    \"groupName_en-us\": \"Mission Faction Transports\", \n    \"groupName_es\": \"Naves de transporte de misión de facción\", \n    \"groupName_fr\": \"Transports de faction mission\", \n    \"groupName_it\": \"Mission Faction Transports\", \n    \"groupName_ja\": \"ミッション勢力別輸送艦\", \n    \"groupName_ko\": \"미션 팩션 수송선\", \n    \"groupName_ru\": \"Транспорты боевой группы фракции\", \n    \"groupName_zh\": \"任务势力运输舰\", \n    \"groupNameID\": 64285, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"876\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 5, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 876, \n    \"groupName_de\": \"Außenposten-Upgrades\", \n    \"groupName_en-us\": \"Outpost Upgrades\", \n    \"groupName_es\": \"Actualizaciones de puesto avanzado\", \n    \"groupName_fr\": \"Améliorations d'avant-poste\", \n    \"groupName_it\": \"Outpost Upgrades\", \n    \"groupName_ja\": \"アウトポスト強化\", \n    \"groupName_ko\": \"전초기지 업그레이드\", \n    \"groupName_ru\": \"Оборудование для модернизации станций\", \n    \"groupName_zh\": \"哨站升级\", \n    \"groupNameID\": 64249, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"877\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 877, \n    \"groupName_de\": \"Zielmarkierungsbatterie\", \n    \"groupName_en-us\": \"Target Painting Battery\", \n    \"groupName_es\": \"Batería de revelador de objetivo\", \n    \"groupName_fr\": \"Batterie de marquage de cible\", \n    \"groupName_it\": \"Target Painting Battery\", \n    \"groupName_ja\": \"ターゲットペインティングバッテリー\", \n    \"groupName_ko\": \"타겟 지시 포탑\", \n    \"groupName_ru\": \"Батарея подсветки цели\", \n    \"groupName_zh\": \"目标标记发射台\", \n    \"groupNameID\": 64250, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"878\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 878, \n    \"groupName_de\": \"Tarnverbesserungen\", \n    \"groupName_en-us\": \"Cloak Enhancements\", \n    \"groupName_es\": \"Mejoras de camuflaje\", \n    \"groupName_fr\": \"Améliorations de camouflage\", \n    \"groupName_it\": \"Cloak Enhancements\", \n    \"groupName_ja\": \"クローク機能強化\", \n    \"groupName_ko\": \"클로킹 향상\", \n    \"groupName_ru\": \"Пакет модернизации системы маскировки\", \n    \"groupName_zh\": \"隐形增强\", \n    \"groupNameID\": 64251, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"879\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 879, \n    \"groupName_de\": \"Aufnahme von Sklaven\", \n    \"groupName_en-us\": \"Slave Reception\", \n    \"groupName_es\": \"Recepción de esclavos\", \n    \"groupName_fr\": \"Réception d'esclave\", \n    \"groupName_it\": \"Slave Reception\", \n    \"groupName_ja\": \"奴隷レセプション\", \n    \"groupName_ko\": \"해방 노예\", \n    \"groupName_ru\": \"Прием рабов\", \n    \"groupName_zh\": \"劳工接待处\", \n    \"groupNameID\": 64252, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"880\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 880, \n    \"groupName_de\": \"Sleeper-Geräte\", \n    \"groupName_en-us\": \"Sleeper Components\", \n    \"groupName_es\": \"Componentes de sleepers\", \n    \"groupName_fr\": \"Composants sleeper\", \n    \"groupName_it\": \"Sleeper Components\", \n    \"groupName_ja\": \"スリーパー部品\", \n    \"groupName_ko\": \"슬리퍼 부품\", \n    \"groupName_ru\": \"Компоненты Sleeper\", \n    \"groupName_zh\": \"冬眠者组件\", \n    \"groupNameID\": 64314, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"881\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 24, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 881, \n    \"groupName_de\": \"Freiheitsprogramme\", \n    \"groupName_en-us\": \"Freedom Programs\", \n    \"groupName_es\": \"Programas de libertad\", \n    \"groupName_fr\": \"Programmes de libération\", \n    \"groupName_it\": \"Freedom Programs\", \n    \"groupName_ja\": \"解放プログラム\", \n    \"groupName_ko\": \"자유 프로그램\", \n    \"groupName_ru\": \"Программы освобождения\", \n    \"groupName_zh\": \"自由程序\", \n    \"groupNameID\": 64253, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"882\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 24, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 882, \n    \"groupName_de\": \"Versklavungsprogramme\", \n    \"groupName_en-us\": \"Enslavement Programs\", \n    \"groupName_es\": \"Programas de esclavitud\", \n    \"groupName_fr\": \"Programmes d'esclavage\", \n    \"groupName_it\": \"Enslavement Programs\", \n    \"groupName_ja\": \"奴隷化プログラム\", \n    \"groupName_ko\": \"노예 프로그램\", \n    \"groupName_ru\": \"Программы индоктринации\", \n    \"groupName_zh\": \"奴役程序\", \n    \"groupNameID\": 64254, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"883\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 883, \n    \"groupName_de\": \"Capital-Industrial-Schiff\", \n    \"groupName_en-us\": \"Capital Industrial Ship\", \n    \"groupName_es\": \"Nave industrial capital\", \n    \"groupName_fr\": \"Vaisseau industriel capital\", \n    \"groupName_it\": \"Capital Industrial Ship\", \n    \"groupName_ja\": \"採掘支援母艦\", \n    \"groupName_ko\": \"캐피탈 인더스트리얼\", \n    \"groupName_ru\": \"Промышленный корабль\", \n    \"groupName_zh\": \"旗舰级工业舰\", \n    \"groupNameID\": 64255, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"884\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 884, \n    \"groupName_de\": \"Stichprobe komprimierten Erzes\", \n    \"groupName_en-us\": \"Test Compressed Ore\", \n    \"groupName_es\": \"Mena comprimida de prueba\", \n    \"groupName_fr\": \"Minerai de test condensé\", \n    \"groupName_it\": \"Test Compressed Ore\", \n    \"groupName_ja\": \"テスト用圧縮鉱石\", \n    \"groupName_ko\": \"압축 광물 테스트\", \n    \"groupName_ru\": \"Сжатая руда (ТЕСТ)\", \n    \"groupName_zh\": \"测试高密度矿石\", \n    \"groupNameID\": 64256, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"885\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 885, \n    \"groupName_de\": \"Kosmische Anomalie\", \n    \"groupName_en-us\": \"Cosmic Anomaly\", \n    \"groupName_es\": \"Anomalía cósmica\", \n    \"groupName_fr\": \"Anomalie cosmique\", \n    \"groupName_it\": \"Cosmic Anomaly\", \n    \"groupName_ja\": \"宇宙の特異点\", \n    \"groupName_ko\": \"코즈믹 어노말리\", \n    \"groupName_ru\": \"Космическая аномалия\", \n    \"groupName_zh\": \"异常空间\", \n    \"groupNameID\": 64257, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"886\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 886, \n    \"groupName_de\": \"Raubdrohnenkomponenten\", \n    \"groupName_en-us\": \"Rogue Drone Components\", \n    \"groupName_es\": \"Componentes de dron rebelde\", \n    \"groupName_fr\": \"Composants de drone renégat\", \n    \"groupName_it\": \"Rogue Drone Components\", \n    \"groupName_ja\": \"ローグドローン部品\", \n    \"groupName_ko\": \"로그 드론 부품\", \n    \"groupName_ru\": \"Компоненты восставших дронов\", \n    \"groupName_zh\": \"自由无人机组件\", \n    \"groupNameID\": 64258, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"888\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 888, \n    \"groupName_de\": \"Erzverdichtung-Blueprints\", \n    \"groupName_en-us\": \"Ore Compression Blueprints\", \n    \"groupName_es\": \"Planos de compresores de menas\", \n    \"groupName_fr\": \"Plans de construction Compression de minerai\", \n    \"groupName_it\": \"Ore Compression Blueprints\", \n    \"groupName_ja\": \"鉱石圧縮ブループリント\", \n    \"groupName_ko\": \"광물 압착 블루프린트\", \n    \"groupName_ru\": \"Чертежи сжатия руды\", \n    \"groupName_zh\": \"高密度矿石蓝图\", \n    \"groupNameID\": 64259, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"889\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 889, \n    \"groupName_de\": \"Erzverbesserung-Blueprints\", \n    \"groupName_en-us\": \"Ore Enhancement Blueprints\", \n    \"groupName_es\": \"Planos de mejoras de menas\", \n    \"groupName_fr\": \"Plans de construction Amélioration de minerai\", \n    \"groupName_it\": \"Ore Enhancement Blueprints\", \n    \"groupName_ja\": \"鉱石強化ブループリント\", \n    \"groupName_ko\": \"광물 향상 블루프린트\", \n    \"groupName_ru\": \"Чертежи обогащения руды\", \n    \"groupName_zh\": \"矿石改进蓝图\", \n    \"groupNameID\": 64260, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"890\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 890, \n    \"groupName_de\": \"Blueprints zur Eiskomprimierung\", \n    \"groupName_en-us\": \"Ice Compression Blueprints\", \n    \"groupName_es\": \"Planos de compresores de hielo\", \n    \"groupName_fr\": \"Plans de construction Compression de glace\", \n    \"groupName_it\": \"Ice Compression Blueprints\", \n    \"groupName_ja\": \"アイス圧縮ブループリント\", \n    \"groupName_ko\": \"아이스 압착 블루프린트\", \n    \"groupName_ru\": \"Чертежи сжатия льда\", \n    \"groupName_zh\": \"高密度冰矿蓝图\", \n    \"groupNameID\": 64261, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"891\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 891, \n    \"groupName_de\": \"Sternenbasis - Mobiles Labor-Blaupause\", \n    \"groupName_en-us\": \"Starbase - Mobile Laboratory Blueprints\", \n    \"groupName_es\": \"Base estelar: planos de laboratorio móvil\", \n    \"groupName_fr\": \"Base stellaire – Plans de construction Laboratoire mobile\", \n    \"groupName_it\": \"Starbase - Mobile Laboratory Blueprints\", \n    \"groupName_ja\": \"スターベース ― 移動式研究施設のブループリント\", \n    \"groupName_ko\": \"스타베이스 - 이동식 연구실 블루프린트\", \n    \"groupName_ru\": \"Сооружения - чертежи передвижной лаборатории\", \n    \"groupName_zh\": \"母星 - 移动实验室蓝图\", \n    \"groupNameID\": 64383, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"892\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 892, \n    \"groupName_de\": \"Satelliten eines Planeten\", \n    \"groupName_en-us\": \"Planet Satellites\", \n    \"groupName_es\": \"Satélites planetarios\", \n    \"groupName_fr\": \"Satellites planétaires\", \n    \"groupName_it\": \"Planet Satellites\", \n    \"groupName_ja\": \"惑星サテライト\", \n    \"groupName_ko\": \"행성용 인공위성\", \n    \"groupName_ru\": \"Планетарные спутники\", \n    \"groupName_zh\": \"行星人造卫星\", \n    \"groupNameID\": 64371, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"893\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 893, \n    \"groupName_de\": \"Elektronisches Angriffsschiff\", \n    \"groupName_en-us\": \"Electronic Attack Ship\", \n    \"groupName_es\": \"Nave de ataque electrónico\", \n    \"groupName_fr\": \"Vaisseau d'attaque électronique\", \n    \"groupName_it\": \"Electronic Attack Ship\", \n    \"groupName_ja\": \"電子攻撃船\", \n    \"groupName_ko\": \"전자전 프리깃\", \n    \"groupName_ru\": \"Дозорный фрегат\", \n    \"groupName_zh\": \"电子攻击舰\", \n    \"groupNameID\": 64262, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"894\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 894, \n    \"groupName_de\": \"Schwerer Unterbrechungskreuzer\", \n    \"groupName_en-us\": \"Heavy Interdiction Cruiser\", \n    \"groupName_es\": \"Crucero interdictor pesado\", \n    \"groupName_fr\": \"Croiseur d'interdiction lourd\", \n    \"groupName_it\": \"Heavy Interdiction Cruiser\", \n    \"groupName_ja\": \"ワープ妨害型巡洋艦\", \n    \"groupName_ko\": \"인터딕터 크루저\", \n    \"groupName_ru\": \"Тяжёлый заградительный крейсер\", \n    \"groupName_zh\": \"重型拦截巡洋舰\", \n    \"groupNameID\": 64263, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"896\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 896, \n    \"groupName_de\": \"Rigg-Sicherheitstransponder\", \n    \"groupName_en-us\": \"Rig Security Transponder\", \n    \"groupName_es\": \"Transpondedor de seguridad de complemento\", \n    \"groupName_fr\": \"Transpondeur de sécurité optimisé\", \n    \"groupName_it\": \"Rig Security Transponder\", \n    \"groupName_ja\": \"リグ（セキュリティトランスポンダー）\", \n    \"groupName_ko\": \"보안 송수신기 리그\", \n    \"groupName_ru\": \"Тюнинг-модуль — ответчик «свой-чужой»\", \n    \"groupName_zh\": \"安全异频雷达收发机改装件\", \n    \"groupNameID\": 64264, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"897\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 897, \n    \"groupName_de\": \"Getarntes Anziehungsfeld\", \n    \"groupName_en-us\": \"Covert Cynosural Field\", \n    \"groupName_es\": \"Campo cinosural encubierto\", \n    \"groupName_fr\": \"Champ cynosural furtif\", \n    \"groupName_it\": \"Covert Cynosural Field\", \n    \"groupName_ja\": \"光学迷彩サイノシュラルフィールド\", \n    \"groupName_ko\": \"코버트 사이노슈럴 필드\", \n    \"groupName_ru\": \"Приводной маяк скрытого действия\", \n    \"groupName_zh\": \"隐秘诱导力场\", \n    \"groupNameID\": 64265, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"898\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 898, \n    \"groupName_de\": \"Black Ops\", \n    \"groupName_en-us\": \"Black Ops\", \n    \"groupName_es\": \"Operaciones secretas\", \n    \"groupName_fr\": \"Forces spéciales\", \n    \"groupName_it\": \"Black Ops\", \n    \"groupName_ja\": \"秘密工作艦\", \n    \"groupName_ko\": \"블랙옵스\", \n    \"groupName_ru\": \"Тяжёлый диверсионный корабль\", \n    \"groupName_zh\": \"黑隐特勤舰\", \n    \"groupNameID\": 64266, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"899\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 899, \n    \"groupName_de\": \"Warp-Unterbrecher-Feldgenerator\", \n    \"groupName_en-us\": \"Warp Disrupt Field Generator\", \n    \"groupName_es\": \"Generador de campo disruptor de warp\", \n    \"groupName_fr\": \"Générateur de champ perturbateur de warp\", \n    \"groupName_it\": \"Warp Disrupt Field Generator\", \n    \"groupName_ja\": \"ワープディスラプトフィールドジェネレーター\", \n    \"groupName_ko\": \"워프 디스럽션 필드 생성기\", \n    \"groupName_ru\": \"Бортовой генератор варп-помех\", \n    \"groupName_zh\": \"跃迁扰断力场发生器\", \n    \"groupNameID\": 64267, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"900\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 900, \n    \"groupName_de\": \"Marauder\", \n    \"groupName_en-us\": \"Marauder\", \n    \"groupName_es\": \"Depredador\", \n    \"groupName_fr\": \"Maraudeur\", \n    \"groupName_it\": \"Marauder\", \n    \"groupName_ja\": \"襲撃型戦艦\", \n    \"groupName_ko\": \"머라우더\", \n    \"groupName_ru\": \"Рейдер\", \n    \"groupName_zh\": \"掠夺舰\", \n    \"groupNameID\": 64268, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"901\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 901, \n    \"groupName_de\": \"Bergbauverbesserer\", \n    \"groupName_en-us\": \"Mining Enhancer\", \n    \"groupName_es\": \"Intensificador minero\", \n    \"groupName_fr\": \"Optimisateur d'extraction\", \n    \"groupName_it\": \"Mining Enhancer\", \n    \"groupName_ja\": \"採掘エンハンサー\", \n    \"groupName_ko\": \"채굴 향상장치\", \n    \"groupName_ru\": \"Усилитель экстракторов\", \n    \"groupName_zh\": \"采矿增强器\", \n    \"groupNameID\": 64269, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"902\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 902, \n    \"groupName_de\": \"Sprung-Frachter\", \n    \"groupName_en-us\": \"Jump Freighter\", \n    \"groupName_es\": \"Carguero de salto\", \n    \"groupName_fr\": \"Transport de fret hyperspatial\", \n    \"groupName_it\": \"Jump Freighter\", \n    \"groupName_ja\": \"ジャンプドライブ搭載型輸送艦\", \n    \"groupName_ko\": \"점프 프레이터\", \n    \"groupName_ru\": \"Джамп-фрейтер\", \n    \"groupName_zh\": \"战略货舰\", \n    \"groupNameID\": 64270, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"903\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 903, \n    \"groupName_de\": \"Uraltes komprimiertes Eis\", \n    \"groupName_en-us\": \"Ancient Compressed Ice\", \n    \"groupName_es\": \"Hielo comprimido antiguo\", \n    \"groupName_fr\": \"Glace compressée ancienne\", \n    \"groupName_it\": \"Ancient Compressed Ice\", \n    \"groupName_ja\": \"古い圧縮アイス\", \n    \"groupName_ko\": \"압축된 고대의 아이스\", \n    \"groupName_ru\": \"Сжатый древний лед\", \n    \"groupName_zh\": \"远古压缩冰\", \n    \"groupNameID\": 64271, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"904\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 904, \n    \"groupName_de\": \"Rigg-Bergbau\", \n    \"groupName_en-us\": \"Rig Mining\", \n    \"groupName_es\": \"Minería de complemento\", \n    \"groupName_fr\": \"Extraction optimisée\", \n    \"groupName_it\": \"Rig Mining\", \n    \"groupName_ja\": \"リグ（採掘）\", \n    \"groupName_ko\": \"채굴 리그\", \n    \"groupName_ru\": \"Тюнинг-модуль — экстракторы\", \n    \"groupName_zh\": \"采矿改装件\", \n    \"groupNameID\": 64272, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"905\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 905, \n    \"groupName_de\": \"Verborgener Anziehungsfeld-Generator\", \n    \"groupName_en-us\": \"Covert Cynosural Field Generator\", \n    \"groupName_es\": \"Generador de campo cinosural encubierto\", \n    \"groupName_fr\": \"Générateur de champ cynosural furtif\", \n    \"groupName_it\": \"Covert Cynosural Field Generator\", \n    \"groupName_ja\": \"潜伏用サイノシュラルフィールドジェネレータ\", \n    \"groupName_ko\": \"코버트 사이노슈럴 필드 생성기\", \n    \"groupName_ru\": \"Приводной маяк скрытого действия\", \n    \"groupName_zh\": \"隐秘诱导力场发生器\", \n    \"groupNameID\": 64346, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"906\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 906, \n    \"groupName_de\": \"Kampfaufklärer\", \n    \"groupName_en-us\": \"Combat Recon Ship\", \n    \"groupName_es\": \"Nave de reconocimiento de combate\", \n    \"groupName_fr\": \"Vaisseau de reconnaissance et combat\", \n    \"groupName_it\": \"Combat Recon Ship\", \n    \"groupName_ja\": \"戦闘偵察船\", \n    \"groupName_ko\": \"컴뱃 리콘 크루저\", \n    \"groupName_ru\": \"Дозорный крейсер\", \n    \"groupName_zh\": \"战斗侦察舰\", \n    \"groupNameID\": 64273, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"907\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 907, \n    \"groupName_de\": \"Nachführscript\", \n    \"groupName_en-us\": \"Tracking Script\", \n    \"groupName_es\": \"Script de rastreo\", \n    \"groupName_fr\": \"Script de poursuite\", \n    \"groupName_it\": \"Tracking Script\", \n    \"groupName_ja\": \"トラッキングスクリプト\", \n    \"groupName_ko\": \"트래킹 스크립트\", \n    \"groupName_ru\": \"Прошивка для систем наводки орудий\", \n    \"groupName_zh\": \"追踪脚本\", \n    \"groupNameID\": 64274, \n    \"iconID\": 3346, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"908\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 908, \n    \"groupName_de\": \"Warpunterbrechungsskript\", \n    \"groupName_en-us\": \"Warp Disruption Script\", \n    \"groupName_es\": \"Script disruptor de warp\", \n    \"groupName_fr\": \"Script de perturbation de warp\", \n    \"groupName_it\": \"Warp Disruption Script\", \n    \"groupName_ja\": \"ワープ妨害スクリプト\", \n    \"groupName_ko\": \"워프 디스럽션 스크립트\", \n    \"groupName_ru\": \"Прошивка для бортового генератора варп-помех\", \n    \"groupName_zh\": \"跃迁干扰脚本\", \n    \"groupNameID\": 64275, \n    \"iconID\": 111, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"909\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 909, \n    \"groupName_de\": \"Nachführungsstörerskript\", \n    \"groupName_en-us\": \"Tracking Disruption Script\", \n    \"groupName_es\": \"Script disruptor de rastreo\", \n    \"groupName_fr\": \"Script de perturbation de poursuite\", \n    \"groupName_it\": \"Tracking Disruption Script\", \n    \"groupName_ja\": \"トラッキング妨害スクリプト\", \n    \"groupName_ko\": \"트래킹 디스럽션 스크립트\", \n    \"groupName_ru\": \"Программа глушения систем наводки орудий\", \n    \"groupName_zh\": \"跟踪干扰脚本\", \n    \"groupNameID\": 64276, \n    \"iconID\": 1639, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"910\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 910, \n    \"groupName_de\": \"Sensor-Booster-Skript\", \n    \"groupName_en-us\": \"Sensor Booster Script\", \n    \"groupName_es\": \"Script de potenciador de sensor\", \n    \"groupName_fr\": \"Script de booster de détection\", \n    \"groupName_it\": \"Sensor Booster Script\", \n    \"groupName_ja\": \"センサーブースタースクリプト\", \n    \"groupName_ko\": \"센서 부스터 스크립트\", \n    \"groupName_ru\": \"Прошивка для активного усилителя\", \n    \"groupName_zh\": \"感应增强器脚本\", \n    \"groupNameID\": 64277, \n    \"iconID\": 74, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"911\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 911, \n    \"groupName_de\": \"Sensorunterdrückerscript\", \n    \"groupName_en-us\": \"Sensor Dampener Script\", \n    \"groupName_es\": \"Script de atenuador de sensor\", \n    \"groupName_fr\": \"Script d'atténuateur de détection\", \n    \"groupName_it\": \"Sensor Dampener Script\", \n    \"groupName_ja\": \"センサーダンプナースクリプト\", \n    \"groupName_ko\": \"센서 교란 스크립트\", \n    \"groupName_ru\": \"Прошивка для передатчика помех системам обнаружения целей\", \n    \"groupName_zh\": \"感应抑阻器脚本\", \n    \"groupNameID\": 64278, \n    \"iconID\": 105, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"912\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 912, \n    \"groupName_de\": \"Script-Blueprint\", \n    \"groupName_en-us\": \"Script Blueprint\", \n    \"groupName_es\": \"Plano de Script\", \n    \"groupName_fr\": \"Plan de construction Script\", \n    \"groupName_it\": \"Script Blueprint\", \n    \"groupName_ja\": \"スクリプトブループリント\", \n    \"groupName_ko\": \"스크립트 블루프린트\", \n    \"groupName_ru\": \"Исходники прошивки\", \n    \"groupName_zh\": \"脚本蓝图\", \n    \"groupNameID\": 64279, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"913\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 913, \n    \"groupName_de\": \"Fortschrittliche Capital-Konstruktionskomponenten\", \n    \"groupName_en-us\": \"Advanced Capital Construction Components\", \n    \"groupName_es\": \"Componentes de construcción de naves capitales avanzados\", \n    \"groupName_fr\": \"Composants de construction de vaisseau capital avancé\", \n    \"groupName_it\": \"Advanced Capital Construction Components\", \n    \"groupName_ja\": \"高性能キャピタル建設資材\", \n    \"groupName_ko\": \"상급 캐피탈 생산 부품\", \n    \"groupName_ru\": \"Усовершенствованные компоненты кораблей большого тоннажа\", \n    \"groupName_zh\": \"高级旗舰级建造组件\", \n    \"groupNameID\": 64280, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"914\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 914, \n    \"groupName_de\": \"Fortschrittliche Capital-Konstruktionskomponenten-Blueprints\", \n    \"groupName_en-us\": \"Advanced Capital Construction Component Blueprints\", \n    \"groupName_es\": \"Planos de componentes de construcción capitales avanzados\", \n    \"groupName_fr\": \"Plans de construction Composant de construction de vaisseau capital avancé\", \n    \"groupName_it\": \"Advanced Capital Construction Component Blueprints\", \n    \"groupName_ja\": \"高性能キャピタル建築資材ブループリント\", \n    \"groupName_ko\": \"상급 캐피탈 생산 부품 블루프린트\", \n    \"groupName_ru\": \"Чертежи усовершенствованных компонентов кораблей большого тоннажа\", \n    \"groupName_zh\": \"高级旗舰级建造组件蓝图\", \n    \"groupNameID\": 64281, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"915\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 915, \n    \"groupName_de\": \"Capital-Konstruktionsblueprints\", \n    \"groupName_en-us\": \"Capital Construction Blueprints\", \n    \"groupName_es\": \"Planos de construcción capitales\", \n    \"groupName_fr\": \"Plans de construction Vaisseau capital\", \n    \"groupName_it\": \"Capital Construction Blueprints\", \n    \"groupName_ja\": \"キャピタル建設ブループリント\", \n    \"groupName_ko\": \"캐피탈 구조물 블루프린트\", \n    \"groupName_ru\": \"Чертежи компонентов кораблей большого тоннажа\", \n    \"groupName_zh\": \"旗舰建造模块蓝图\", \n    \"groupNameID\": 64282, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"916\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 916, \n    \"groupName_de\": \"Nanobot-Reparaturpaste\", \n    \"groupName_en-us\": \"Nanite Repair Paste\", \n    \"groupName_es\": \"Fluido reparador de nanobots\", \n    \"groupName_fr\": \"Nanites de réparation\", \n    \"groupName_it\": \"Nanite Repair Paste\", \n    \"groupName_ja\": \"ナノマシンリペアペイスト\", \n    \"groupName_ko\": \"나나이트 용액\", \n    \"groupName_ru\": \"Nanite Repair Paste\", \n    \"groupName_zh\": \"纳米体修复粘合剂\", \n    \"groupNameID\": 64283, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"917\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 917, \n    \"groupName_de\": \"Datensammler-Blueprint\", \n    \"groupName_en-us\": \"Data Miner Blueprint\", \n    \"groupName_es\": \"Plano de extractor de datos\", \n    \"groupName_fr\": \"Plan de construction Extracteur de données\", \n    \"groupName_it\": \"Data Miner Blueprint\", \n    \"groupName_ja\": \"データマイナー設計図\", \n    \"groupName_ko\": \"데이터 수집기 블루프린트\", \n    \"groupName_ru\": \"Чертежи программно-аналитического комплекса\", \n    \"groupName_zh\": \"数据收集器蓝图\", \n    \"groupNameID\": 64287, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"918\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 918, \n    \"groupName_de\": \"Scansonden-Launcher-Blueprint\", \n    \"groupName_en-us\": \"Scan Probe Launcher Blueprint\", \n    \"groupName_es\": \"Plano de lanzasondas de escaneo\", \n    \"groupName_fr\": \"Plan de construction Lanceur de sonde de balayage\", \n    \"groupName_it\": \"Scan Probe Launcher Blueprint\", \n    \"groupName_ja\": \"スキャンプローブランチャー設計図\", \n    \"groupName_ko\": \"스캔 프로브 런처 블루프린트\", \n    \"groupName_ru\": \"Чертежи пусковой установки разведзондов\", \n    \"groupName_zh\": \"扫描探针发射器蓝图\", \n    \"groupNameID\": 64286, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"920\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 920, \n    \"groupName_de\": \"Effekt-Signalfeuer\", \n    \"groupName_en-us\": \"Effect Beacon\", \n    \"groupName_es\": \"Baliza de efecto\", \n    \"groupName_fr\": \"Balise à effet\", \n    \"groupName_it\": \"Effect Beacon\", \n    \"groupName_ja\": \"効果ビーコン\", \n    \"groupName_ko\": \"효과 비컨\", \n    \"groupName_ru\": \"Точка привязки эффекта\", \n    \"groupName_zh\": \"效果光束\", \n    \"groupNameID\": 64400, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"922\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 922, \n    \"groupName_de\": \"Eroberungspunkt\", \n    \"groupName_en-us\": \"Capture Point\", \n    \"groupName_es\": \"Punto de captura\", \n    \"groupName_fr\": \"Point de capture\", \n    \"groupName_it\": \"Capture Point\", \n    \"groupName_ja\": \"捕獲ポイント\", \n    \"groupName_ko\": \"점령 포인트\", \n    \"groupName_ru\": \"Место захвата\", \n    \"groupName_zh\": \"争夺点\", \n    \"groupNameID\": 64292, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"924\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 924, \n    \"groupName_de\": \"Missionen: Fraktionsschlachtschiff\", \n    \"groupName_en-us\": \"Mission Faction Battleship\", \n    \"groupName_es\": \"Acorazado de misión de facción\", \n    \"groupName_fr\": \"Cuirassé de faction mission\", \n    \"groupName_it\": \"Mission Faction Battleship\", \n    \"groupName_ja\": \"ミッション勢力別戦艦\", \n    \"groupName_ko\": \"미션 팩션 배틀쉽\", \n    \"groupName_ru\": \"Линкор боевой группы фракции\", \n    \"groupName_zh\": \"任务势力战列舰\", \n    \"groupNameID\": 64348, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"925\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 925, \n    \"groupName_de\": \"FW Infrastrukturzentrum\", \n    \"groupName_en-us\": \"FW Infrastructure Hub\", \n    \"groupName_es\": \"FW Infrastructure Hub\", \n    \"groupName_fr\": \"Centre d'infrastructure GF\", \n    \"groupName_it\": \"FW Infrastructure Hub\", \n    \"groupName_ja\": \"FW領域管理用拠点\", \n    \"groupName_ko\": \"팩션 전쟁 인프라 허브\", \n    \"groupName_ru\": \"FW Infrastructure Hub\", \n    \"groupName_zh\": \"势力战争基础设施中心\", \n    \"groupNameID\": 64293, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"927\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 927, \n    \"groupName_de\": \"Missionen: Fraktionstransporter\", \n    \"groupName_en-us\": \"Mission Faction Haulers\", \n    \"groupName_es\": \"Naves de mercancías de misión de facción\", \n    \"groupName_fr\": \"Cargos de faction de mission\", \n    \"groupName_it\": \"Mission Faction Haulers\", \n    \"groupName_ja\": \"ミッション勢力別ハウラー\", \n    \"groupName_ko\": \"미션 팩션 운반선\", \n    \"groupName_ru\": \"Mission Faction Haulers\", \n    \"groupName_zh\": \"任务势力运载舰\", \n    \"groupNameID\": 64290, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"934\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 934, \n    \"groupName_de\": \"Zombie-Einheiten\", \n    \"groupName_en-us\": \"Zombie Entities\", \n    \"groupName_es\": \"Entidades zombi\", \n    \"groupName_fr\": \"Entités zombies\", \n    \"groupName_it\": \"Zombie Entities\", \n    \"groupName_ja\": \"ゾンビエンティティ\", \n    \"groupName_ko\": \"좀비 객체\", \n    \"groupName_ru\": \"Зомби\", \n    \"groupName_zh\": \"僵尸物体\", \n    \"groupNameID\": 64291, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"935\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 26, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 935, \n    \"groupName_de\": \"WeltRaum\", \n    \"groupName_en-us\": \"WorldSpace\", \n    \"groupName_es\": \"WorldSpace\", \n    \"groupName_fr\": \"Espace planétaire\", \n    \"groupName_it\": \"WorldSpace\", \n    \"groupName_ja\": \"ワールドスペース\", \n    \"groupName_ko\": \"월드스페이스\", \n    \"groupName_ru\": \"Заведение\", \n    \"groupName_zh\": \"内部空间\", \n    \"groupNameID\": 64403, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"937\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 29, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 937, \n    \"groupName_de\": \"Dekorationen\", \n    \"groupName_en-us\": \"Decorations\", \n    \"groupName_es\": \"Condecoraciones\", \n    \"groupName_fr\": \"Décorations\", \n    \"groupName_it\": \"Decorations\", \n    \"groupName_ja\": \"称号\", \n    \"groupName_ko\": \"훈장\", \n    \"groupName_ru\": \"Награды\", \n    \"groupName_zh\": \"徽章和证书\", \n    \"groupNameID\": 64294, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"940\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 49, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 940, \n    \"groupName_de\": \"Möbel\", \n    \"groupName_en-us\": \"Furniture\", \n    \"groupName_es\": \"Mobiliario\", \n    \"groupName_fr\": \"Meubles\", \n    \"groupName_it\": \"Furniture\", \n    \"groupName_ja\": \"家具\", \n    \"groupName_ko\": \"가구\", \n    \"groupName_ru\": \"Furniture\", \n    \"groupName_zh\": \"家具\", \n    \"groupNameID\": 64409, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"941\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 941, \n    \"groupName_de\": \"Industrial-Kommandoschiff\", \n    \"groupName_en-us\": \"Industrial Command Ship\", \n    \"groupName_es\": \"Nave de mando industrial\", \n    \"groupName_fr\": \"Vaisseau de commandement industriel\", \n    \"groupName_it\": \"Industrial Command Ship\", \n    \"groupName_ja\": \"指揮型輸送艦\", \n    \"groupName_ko\": \"인더스트리얼 커맨드쉽\", \n    \"groupName_ru\": \"Флагман буровой флотилии\", \n    \"groupName_zh\": \"工业指挥舰\", \n    \"groupNameID\": 64296, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"943\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 5, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 943, \n    \"groupName_de\": \"Veraltete Währung\", \n    \"groupName_en-us\": \"Legacy Currency\", \n    \"groupName_es\": \"Moneda de legado\", \n    \"groupName_fr\": \"Ancienne unité monétaire\", \n    \"groupName_it\": \"Legacy Currency\", \n    \"groupName_ja\": \"レガシー通貨\", \n    \"groupName_ko\": \"이전 화폐\", \n    \"groupName_ru\": \"Устаревшая валюта\", \n    \"groupName_zh\": \"古代货币\", \n    \"groupNameID\": 64297, \n    \"iconID\": 3001, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"944\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 944, \n    \"groupName_de\": \"Blueprint eines Capital-Industrial-Schiffs\", \n    \"groupName_en-us\": \"Capital Industrial Ship Blueprint\", \n    \"groupName_es\": \"Plano de nave industrial capital\", \n    \"groupName_fr\": \"Plan de construction Vaisseau industriel capital\", \n    \"groupName_it\": \"Capital Industrial Ship Blueprint\", \n    \"groupName_ja\": \"採掘支援母艦ブループリント\", \n    \"groupName_ko\": \"캐피탈 인더스트리얼 블루프린트\", \n    \"groupName_ru\": \"Чертежи промышленного корабля\", \n    \"groupName_zh\": \"旗舰级工业舰蓝图\", \n    \"groupNameID\": 64299, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"945\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 945, \n    \"groupName_de\": \"Blueprint eines Industrial-Kommandoschiffs\", \n    \"groupName_en-us\": \"Industrial Command Ship Blueprint\", \n    \"groupName_es\": \"Plano de nave de mando industrial\", \n    \"groupName_fr\": \"Plan de construction Vaisseau de commandement industriel\", \n    \"groupName_it\": \"Industrial Command Ship Blueprint\", \n    \"groupName_ja\": \"指揮型輸送艦ブループリント\", \n    \"groupName_ko\": \"인더스트리얼 커맨드쉽 블루프린트\", \n    \"groupName_ru\": \"Чертежи флагмана буровой флотилии\", \n    \"groupName_zh\": \"工业指挥舰蓝图\", \n    \"groupNameID\": 64300, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"952\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 952, \n    \"groupName_de\": \"Missionen: Container\", \n    \"groupName_en-us\": \"Mission Container\", \n    \"groupName_es\": \"Contenedor de misión\", \n    \"groupName_fr\": \"Conteneur de mission\", \n    \"groupName_it\": \"Mission Container\", \n    \"groupName_ja\": \"ミッションコンテナ\", \n    \"groupName_ko\": \"미션 컨테이너\", \n    \"groupName_ru\": \"Объект особой категории\", \n    \"groupName_zh\": \"任务货柜舱\", \n    \"groupNameID\": 64301, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"954\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 32, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 954, \n    \"groupName_de\": \"Verteidigungssubsystem\", \n    \"groupName_en-us\": \"Defensive Subsystem\", \n    \"groupName_es\": \"Subsistema defensivo\", \n    \"groupName_fr\": \"Sous-système défensif\", \n    \"groupName_it\": \"Defensive Subsystem\", \n    \"groupName_ja\": \"防御サブシステム\", \n    \"groupName_ko\": \"방어용 서브시스템\", \n    \"groupName_ru\": \"Оборонительная подсистема\", \n    \"groupName_zh\": \"防御子系统\", \n    \"groupNameID\": 64324, \n    \"iconID\": 3631, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"955\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 955, \n    \"groupName_de\": \"Veraltete Subsysteme\", \n    \"groupName_en-us\": \"Depricated Subsystems\", \n    \"groupName_es\": \"Subsistemas obsoletos\", \n    \"groupName_fr\": \"Sous-systèmes dévalorisés\", \n    \"groupName_it\": \"Depricated Subsystems\", \n    \"groupName_ja\": \"沈静化したサブシステム\", \n    \"groupName_ko\": \"사용 중지된 서브시스템\", \n    \"groupName_ru\": \"Устаревшие подсистемы\", \n    \"groupName_zh\": \"废弃的子系统\", \n    \"groupNameID\": 64325, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"956\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 32, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 956, \n    \"groupName_de\": \"Angriffssubsystem\", \n    \"groupName_en-us\": \"Offensive Subsystem\", \n    \"groupName_es\": \"Subsistema ofensivo\", \n    \"groupName_fr\": \"Sous-système offensif\", \n    \"groupName_it\": \"Offensive Subsystem\", \n    \"groupName_ja\": \"攻撃サブシステム\", \n    \"groupName_ko\": \"공격용 서브시스템\", \n    \"groupName_ru\": \"Наступательная подсистема\", \n    \"groupName_zh\": \"攻击子系统\", \n    \"groupNameID\": 64327, \n    \"iconID\": 3641, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"957\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 32, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 957, \n    \"groupName_de\": \"Antriebssubsystem\", \n    \"groupName_en-us\": \"Propulsion Subsystem\", \n    \"groupName_es\": \"Subsistemas de propulsión\", \n    \"groupName_fr\": \"Sous-système de propulsion\", \n    \"groupName_it\": \"Propulsion Subsystem\", \n    \"groupName_ja\": \"推進力装備サブシステム\", \n    \"groupName_ko\": \"추진기 서브시스템\", \n    \"groupName_ru\": \"Двигательная подсистема\", \n    \"groupName_zh\": \"推进子系统\", \n    \"groupNameID\": 64328, \n    \"iconID\": 3646, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"958\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 32, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 958, \n    \"groupName_de\": \"Kernsubsystem\", \n    \"groupName_en-us\": \"Core Subsystem\", \n    \"groupName_es\": \"Subsistema de núcleo\", \n    \"groupName_fr\": \"Sous-système du noyau\", \n    \"groupName_it\": \"Core Subsystem\", \n    \"groupName_ja\": \"コアサブシステム\", \n    \"groupName_ko\": \"코어 서브시스템\", \n    \"groupName_ru\": \"Подсистема ядра\", \n    \"groupName_zh\": \"核心子系统\", \n    \"groupNameID\": 64326, \n    \"iconID\": 3636, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"959\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 959, \n    \"groupName_de\": \"Raumverwerfung: Schlafloser Sleeper-Wächter\", \n    \"groupName_en-us\": \"Deadspace Sleeper Sleepless Sentinel\", \n    \"groupName_es\": \"Centinela insomne de sleepers del espacio muerto\", \n    \"groupName_fr\": \"Sentinelle sleeper sans sommeil Deadspace\", \n    \"groupName_it\": \"Deadspace Sleeper Sleepless Sentinel\", \n    \"groupName_ja\": \"デッドスペーススリーパー眠らないセンチネル\", \n    \"groupName_ko\": \"잠들지 않는 데드스페이스 슬리퍼 센티널\", \n    \"groupName_ru\": \"Deadspace Sleeper Sleepless Sentinel\", \n    \"groupName_zh\": \"死亡空间冬眠者长明卫士\", \n    \"groupNameID\": 64315, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"960\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 960, \n    \"groupName_de\": \"Raumverwerfung: Erwachter Sleeper-Wachposten\", \n    \"groupName_en-us\": \"Deadspace Sleeper Awakened Sentinel\", \n    \"groupName_es\": \"Centinela despertado de sleepers del espacio muerto\", \n    \"groupName_fr\": \"Sentinelle sleeper éveillée Deadspace\", \n    \"groupName_it\": \"Deadspace Sleeper Awakened Sentinel\", \n    \"groupName_ja\": \"デッドスペーススリーパー目覚めたセンチネル\", \n    \"groupName_ko\": \"깨어난 데드스페이스 슬리퍼 센티널\", \n    \"groupName_ru\": \"Deadspace Sleeper Awakened Sentinel\", \n    \"groupName_zh\": \"苏醒的死亡空间冬眠者卫士\", \n    \"groupNameID\": 64320, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"961\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 961, \n    \"groupName_de\": \"Raumverwerfung: Sleeper-Nachwuchswachposten\", \n    \"groupName_en-us\": \"Deadspace Sleeper Emergent Sentinel\", \n    \"groupName_es\": \"Sentinel emergente de sleepers del espacio muerto\", \n    \"groupName_fr\": \"Sentinelle sleeper émergente Deadspace\", \n    \"groupName_it\": \"Deadspace Sleeper Emergent Sentinel\", \n    \"groupName_ja\": \"デッドスペーススリーパー緊急センチネル\", \n    \"groupName_ko\": \"이머전트 데드스페이스 슬리퍼 센티넬\", \n    \"groupName_ru\": \"Deadspace Sleeper Emergent Sentinel\", \n    \"groupName_zh\": \"死亡空间冬眠者新生卫士\", \n    \"groupNameID\": 64323, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"963\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 963, \n    \"groupName_de\": \"Strategischer Kreuzer\", \n    \"groupName_en-us\": \"Strategic Cruiser\", \n    \"groupName_es\": \"Crucero estratégico\", \n    \"groupName_fr\": \"Croiseur stratégique\", \n    \"groupName_it\": \"Strategic Cruiser\", \n    \"groupName_ja\": \"戦略的巡洋艦\", \n    \"groupName_ko\": \"전략 크루저\", \n    \"groupName_ru\": \"Стратегический крейсер\", \n    \"groupName_zh\": \"战略巡洋舰\", \n    \"groupNameID\": 64312, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"964\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 964, \n    \"groupName_de\": \"Hybrid-Tech-Komponenten\", \n    \"groupName_en-us\": \"Hybrid Tech Components\", \n    \"groupName_es\": \"Componentes de tecnología híbrida\", \n    \"groupName_fr\": \"Composants tech hybrides\", \n    \"groupName_it\": \"Hybrid Tech Components\", \n    \"groupName_ja\": \"ハイブリッド技術部品\", \n    \"groupName_ko\": \"하이브리드 부품\", \n    \"groupName_ru\": \"Компоненты гибридных технологий\", \n    \"groupName_zh\": \"混合科技组件\", \n    \"groupNameID\": 64331, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"965\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 965, \n    \"groupName_de\": \"Hybridkomponenten-Blueprints\", \n    \"groupName_en-us\": \"Hybrid Component Blueprints\", \n    \"groupName_es\": \"Planos de componentes híbridos\", \n    \"groupName_fr\": \"Plans de construction Composants hybrides\", \n    \"groupName_it\": \"Hybrid Component Blueprints\", \n    \"groupName_ja\": \"ハイブリッドコンポーネントブループリント\", \n    \"groupName_ko\": \"하이브리드 부품 블루프린트\", \n    \"groupName_ru\": \"Чертежи гибридных компонентов\", \n    \"groupName_zh\": \"混合组件蓝图\", \n    \"groupNameID\": 64335, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"966\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 966, \n    \"groupName_de\": \"Uraltes Bergungsgut\", \n    \"groupName_en-us\": \"Ancient Salvage\", \n    \"groupName_es\": \"Restos recuperados antiguos\", \n    \"groupName_fr\": \"Récupération ancienne\", \n    \"groupName_it\": \"Ancient Salvage\", \n    \"groupName_ja\": \"サルベージされた遺物\", \n    \"groupName_ko\": \"고대 샐비지 물품\", \n    \"groupName_ru\": \"Демонтированные компоненты древних кораблей\", \n    \"groupName_zh\": \"远古打捞\", \n    \"groupNameID\": 64330, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"967\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 967, \n    \"groupName_de\": \"Wurmloch-Mineralien\", \n    \"groupName_en-us\": \"Wormhole Minerals\", \n    \"groupName_es\": \"Minerales de agujeros de gusano\", \n    \"groupName_fr\": \"Minerais de trou de ver\", \n    \"groupName_it\": \"Wormhole Minerals\", \n    \"groupName_ja\": \"ワームホール無機物\", \n    \"groupName_ko\": \"웜홀 광물\", \n    \"groupName_ru\": \"Материалы из неисследованного пространства\", \n    \"groupName_zh\": \"虫洞矿物\", \n    \"groupNameID\": 64302, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"971\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 34, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 971, \n    \"groupName_de\": \"Sleeper-Antriebsüberreste\", \n    \"groupName_en-us\": \"Sleeper Propulsion Relics\", \n    \"groupName_es\": \"Reliquias de propulsión sleepers\", \n    \"groupName_fr\": \"Reliques de propulsion sleeper\", \n    \"groupName_it\": \"Sleeper Propulsion Relics\", \n    \"groupName_ja\": \"スリーパー遺物（推進力）\", \n    \"groupName_ko\": \"슬리퍼 추진 시스템 유물\", \n    \"groupName_ru\": \"Древние двигательные установки Sleeper\", \n    \"groupName_zh\": \"冬眠者的古老推进装备\", \n    \"groupNameID\": 64341, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"972\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 972, \n    \"groupName_de\": \"Veraltete Sonden\", \n    \"groupName_en-us\": \"Obsolete Probes\", \n    \"groupName_es\": \"Sondas obsoletas\", \n    \"groupName_fr\": \"Sondes obsolètes\", \n    \"groupName_it\": \"Obsolete Probes\", \n    \"groupName_ja\": \"廃止されたプローブ\", \n    \"groupName_ko\": \"폐기된 프로브\", \n    \"groupName_ru\": \"Устаревшие зонды\", \n    \"groupName_zh\": \"老式探针\", \n    \"groupNameID\": 64303, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"973\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 973, \n    \"groupName_de\": \"Subsystem-Blueprints\", \n    \"groupName_en-us\": \"Subsystem Blueprints\", \n    \"groupName_es\": \"Planos de subsistemas\", \n    \"groupName_fr\": \"Plans de construction Sous-système\", \n    \"groupName_it\": \"Subsystem Blueprints\", \n    \"groupName_ja\": \"サブシステムブループリント\", \n    \"groupName_ko\": \"서브시스템 블루프린트\", \n    \"groupName_ru\": \"Чертежи подсистем\", \n    \"groupName_zh\": \"子系统蓝图\", \n    \"groupNameID\": 64333, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"974\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 974, \n    \"groupName_de\": \"Hybrid Polymers\", \n    \"groupName_en-us\": \"Hybrid Polymers\", \n    \"groupName_es\": \"Polímeros híbridos\", \n    \"groupName_fr\": \"Polymères hybrides\", \n    \"groupName_it\": \"Hybrid Polymers\", \n    \"groupName_ja\": \"ハイブリッド重合体\", \n    \"groupName_ko\": \"하이브리드 폴리머\", \n    \"groupName_ru\": \"Гибридные полимеры\", \n    \"groupName_zh\": \"混合聚合物\", \n    \"groupNameID\": 64313, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"976\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 63, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 976, \n    \"groupName_de\": \"Festivalladungen abgelaufen\", \n    \"groupName_en-us\": \"Festival Charges Expired\", \n    \"groupName_es\": \"Cargas de festival caducadas\", \n    \"groupName_fr\": \"Charges de festival expirées\", \n    \"groupName_it\": \"Festival Charges Expired\", \n    \"groupName_ja\": \"フェスティバル弾（期限切れ）\", \n    \"groupName_ko\": \"만료된 축제 폭죽\", \n    \"groupName_ru\": \"Срок действия фестивальных снарядов истек\", \n    \"groupName_zh\": \"节日弹药过期\", \n    \"groupNameID\": 64304, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"977\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 24, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 977, \n    \"groupName_de\": \"Hybrid-Reaktionen\", \n    \"groupName_en-us\": \"Hybrid Reactions\", \n    \"groupName_es\": \"Reacciones híbridas\", \n    \"groupName_fr\": \"Réactions hybrides\", \n    \"groupName_it\": \"Hybrid Reactions\", \n    \"groupName_ja\": \"ハイブリッド反応\", \n    \"groupName_ko\": \"하이브리드 합성\", \n    \"groupName_ru\": \"Гибридные реакции\", \n    \"groupName_zh\": \"混合反应\", \n    \"groupNameID\": 64332, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"979\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 35, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 979, \n    \"groupName_de\": \"Decryptors - Hybrid\", \n    \"groupName_en-us\": \"Decryptors - Hybrid\", \n    \"groupName_es\": \"Desencriptadores híbridos\", \n    \"groupName_fr\": \"Décrypteurs - Hybride\", \n    \"groupName_it\": \"Decryptors - Hybrid\", \n    \"groupName_ja\": \"解読器-ハイブリッド\", \n    \"groupName_ko\": \"해독기 - 하이브리드\", \n    \"groupName_ru\": \"Файлы данных — гибридные\", \n    \"groupName_zh\": \"解码器—混合型\", \n    \"groupNameID\": 64347, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"982\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 982, \n    \"groupName_de\": \"Raumverwerfung: Schlafloser Sleeper-Verteidiger\", \n    \"groupName_en-us\": \"Deadspace Sleeper Sleepless Defender\", \n    \"groupName_es\": \"Defensor insomne de sleepers del espacio muerto\", \n    \"groupName_fr\": \"Défenseur sleeper sans sommeil Deadspace\", \n    \"groupName_it\": \"Deadspace Sleeper Sleepless Defender\", \n    \"groupName_ja\": \"デッドスペーススリーパー眠らないディフェンダー\", \n    \"groupName_ko\": \"잠들지 않는 데드스페이스 슬리퍼 디펜더\", \n    \"groupName_ru\": \"Deadspace Sleeper Sleepless Defender\", \n    \"groupName_zh\": \"死亡空间冬眠者长明防卫者\", \n    \"groupNameID\": 64316, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"983\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 983, \n    \"groupName_de\": \"Raumverwerfung: Schlaflose Sleeper-Patrouille\", \n    \"groupName_en-us\": \"Deadspace Sleeper Sleepless Patroller\", \n    \"groupName_es\": \"Patrullero insomne de sleepers del espacio muerto\", \n    \"groupName_fr\": \"Patrouilleur sleeper sans sommeil Deadspace\", \n    \"groupName_it\": \"Deadspace Sleeper Sleepless Patroller\", \n    \"groupName_ja\": \"デッドスペーススリーパー眠らないパトロール\", \n    \"groupName_ko\": \"잠들지 않는 데드스페이스 슬리퍼 순찰선\", \n    \"groupName_ru\": \"Deadspace Sleeper Sleepless Patroller\", \n    \"groupName_zh\": \"死亡空间冬眠者长明巡逻者\", \n    \"groupNameID\": 64317, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"984\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 984, \n    \"groupName_de\": \"Raumverwerfung: Erwachter Sleeper-Verteidiger\", \n    \"groupName_en-us\": \"Deadspace Sleeper Awakened Defender\", \n    \"groupName_es\": \"Defensor despertado de sleepers del espacio muerto\", \n    \"groupName_fr\": \"Défenseur sleeper éveillé Deadspace\", \n    \"groupName_it\": \"Deadspace Sleeper Awakened Defender\", \n    \"groupName_ja\": \"デッドスペーススリーパー目覚めたディフェンダー\", \n    \"groupName_ko\": \"깨어난 데드스페이스 슬리퍼 디펜더\", \n    \"groupName_ru\": \"Deadspace Sleeper Awakened Defender\", \n    \"groupName_zh\": \"苏醒的死亡空间冬眠防卫者\", \n    \"groupNameID\": 64319, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"985\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 985, \n    \"groupName_de\": \"Raumverwerfung: Erwachte Sleeper-Patrouille\", \n    \"groupName_en-us\": \"Deadspace Sleeper Awakened Patroller\", \n    \"groupName_es\": \"Patrullero despertado de sleepers del espacio muerto\", \n    \"groupName_fr\": \"Patrouilleur sleeper éveillé Deadspace\", \n    \"groupName_it\": \"Deadspace Sleeper Awakened Patroller\", \n    \"groupName_ja\": \"デッドスペーススリーパー目覚めたパトロール\", \n    \"groupName_ko\": \"깨어난 데드스페이스 슬리퍼 순찰선\", \n    \"groupName_ru\": \"Deadspace Sleeper Awakened Patroller\", \n    \"groupName_zh\": \"苏醒的冬眠巡逻者\", \n    \"groupNameID\": 64318, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"986\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 986, \n    \"groupName_de\": \"Raumverwerfung: Sleeper-Nachwuchsverteidiger\", \n    \"groupName_en-us\": \"Deadspace Sleeper Emergent Defender\", \n    \"groupName_es\": \"Defensor emergente de Sleepers del espacio muerto\", \n    \"groupName_fr\": \"Défenseur sleeper émergent Deadspace\", \n    \"groupName_it\": \"Deadspace Sleeper Emergent Defender\", \n    \"groupName_ja\": \"デッドスペーススリーパー緊急ディフェンダー\", \n    \"groupName_ko\": \"이머전트 데드스페이스 슬리퍼 디펜더\", \n    \"groupName_ru\": \"Deadspace Sleeper Emergent Defender\", \n    \"groupName_zh\": \"死亡空间冬眠者新生防卫者\", \n    \"groupNameID\": 64322, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"987\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 987, \n    \"groupName_de\": \"Raumverwerfung: Sleeper-Nachwuchspatrouille\", \n    \"groupName_en-us\": \"Deadspace Sleeper Emergent Patroller\", \n    \"groupName_es\": \"Patrullero emergente de sleepers del espacio muerto\", \n    \"groupName_fr\": \"Patrouilleur sleeper émergent Deadspace\", \n    \"groupName_it\": \"Deadspace Sleeper Emergent Patroller\", \n    \"groupName_ja\": \"デッドスペーススリーパー緊急パトロール\", \n    \"groupName_ko\": \"이머전트 데드스페이스 슬리퍼 순찰선\", \n    \"groupName_ru\": \"Deadspace Sleeper Emergent Patroller\", \n    \"groupName_zh\": \"死亡空间冬眠者新生巡逻者\", \n    \"groupNameID\": 64321, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"988\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 988, \n    \"groupName_de\": \"Wurmloch\", \n    \"groupName_en-us\": \"Wormhole\", \n    \"groupName_es\": \"Agujero de gusano\", \n    \"groupName_fr\": \"Trou de ver\", \n    \"groupName_it\": \"Wormhole\", \n    \"groupName_ja\": \"ワームホール\", \n    \"groupName_ko\": \"웜홀\", \n    \"groupName_ru\": \"Червоточина\", \n    \"groupName_zh\": \"虫洞\", \n    \"groupNameID\": 64309, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"990\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 34, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 990, \n    \"groupName_de\": \"Elektronische Relikte der Sleeper\", \n    \"groupName_en-us\": \"Sleeper Electronics Relics\", \n    \"groupName_es\": \"Reliquias electrónicas sleepers\", \n    \"groupName_fr\": \"Reliques électroniques sleeper\", \n    \"groupName_it\": \"Sleeper Electronics Relics\", \n    \"groupName_ja\": \"スリーパー遺物（エレクトロニクス）\", \n    \"groupName_ko\": \"슬리퍼 전자 시스템 유물\", \n    \"groupName_ru\": \"Древние электронные устройства Sleeper\", \n    \"groupName_zh\": \"冬眠者的古老电子装备\", \n    \"groupNameID\": 64338, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"991\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 34, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 991, \n    \"groupName_de\": \"Überreste von Sleeper-Angriffssystemen\", \n    \"groupName_en-us\": \"Sleeper Offensive Relics\", \n    \"groupName_es\": \"Reliquias ofensivas sleepers\", \n    \"groupName_fr\": \"Reliques offensives sleeper\", \n    \"groupName_it\": \"Sleeper Offensive Relics\", \n    \"groupName_ja\": \"スリーパー遺物（攻撃）\", \n    \"groupName_ko\": \"슬리퍼 공격용 시스템 유물\", \n    \"groupName_ru\": \"Древние боевые машины Sleeper\", \n    \"groupName_zh\": \"冬眠者的古老攻击装备\", \n    \"groupNameID\": 64340, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"992\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 34, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 992, \n    \"groupName_de\": \"Überreste des Ingenieurwesens der Sleeper\", \n    \"groupName_en-us\": \"Sleeper Engineering Relics\", \n    \"groupName_es\": \"Reliquias de ingeniería sleepers\", \n    \"groupName_fr\": \"Reliques d'ingénierie sleeper\", \n    \"groupName_it\": \"Sleeper Engineering Relics\", \n    \"groupName_ja\": \"スリーパー遺物（エンジニアリング）\", \n    \"groupName_ko\": \"슬리퍼 엔지니어링 시스템 유물\", \n    \"groupName_ru\": \"Древние инженерные установки Sleeper\", \n    \"groupName_zh\": \"冬眠者的古老工程设备\", \n    \"groupNameID\": 64339, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"993\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 34, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 993, \n    \"groupName_de\": \"Sleeper-Verteidigungsüberreste\", \n    \"groupName_en-us\": \"Sleeper Defensive Relics\", \n    \"groupName_es\": \"Reliquias defensivas de Sleepers\", \n    \"groupName_fr\": \"Reliques défensives sleeper\", \n    \"groupName_it\": \"Sleeper Defensive Relics\", \n    \"groupName_ja\": \"スリーパー遺物（防御）\", \n    \"groupName_ko\": \"슬리퍼 방어용 시스템 유물\", \n    \"groupName_ru\": \"Древние защитные устройства Sleeper\", \n    \"groupName_zh\": \"冬眠者的古老防御装备\", \n    \"groupNameID\": 64336, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"995\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 995, \n    \"groupName_de\": \"Sekundäre Sonne\", \n    \"groupName_en-us\": \"Secondary Sun\", \n    \"groupName_es\": \"Sol secundario\", \n    \"groupName_fr\": \"Soleil secondaire\", \n    \"groupName_it\": \"Secondary Sun\", \n    \"groupName_ja\": \"第2恒星\", \n    \"groupName_ko\": \"특수 항성\", \n    \"groupName_ru\": \"Вторая звезда\", \n    \"groupName_zh\": \"次级恒星\", \n    \"groupNameID\": 64311, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"996\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 996, \n    \"groupName_de\": \"Strategischer-Kreuzer-Blueprints\", \n    \"groupName_en-us\": \"Strategic Cruiser Blueprints\", \n    \"groupName_es\": \"Planos de cruceros estratégicos\", \n    \"groupName_fr\": \"Plans de construction Croiseur stratégique\", \n    \"groupName_it\": \"Strategic Cruiser Blueprints\", \n    \"groupName_ja\": \"戦略的巡洋艦ブループリント\", \n    \"groupName_ko\": \"전략 크루저 블루프린트\", \n    \"groupName_ru\": \"Чертежи стратегического крейсера\", \n    \"groupName_zh\": \"战略巡洋舰蓝图\", \n    \"groupNameID\": 64310, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"997\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 34, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 997, \n    \"groupName_de\": \"Sleeper-Hüllenüberreste\", \n    \"groupName_en-us\": \"Sleeper Hull Relics\", \n    \"groupName_es\": \"Reliquias de casco sleepers\", \n    \"groupName_fr\": \"Reliques coque sleeper\", \n    \"groupName_it\": \"Sleeper Hull Relics\", \n    \"groupName_ja\": \"スリーパー遺物（船体）\", \n    \"groupName_ko\": \"슬리퍼 선체 시스템 유물\", \n    \"groupName_ru\": \"Древние корпуса Sleeper\", \n    \"groupName_zh\": \"冬眠者船体\", \n    \"groupNameID\": 64337, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1003\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 40, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1003, \n    \"groupName_de\": \"Gebietsansprucheinheit\", \n    \"groupName_en-us\": \"Territorial Claim Unit\", \n    \"groupName_es\": \"Unidad de reivindicación territorial\", \n    \"groupName_fr\": \"Unité de revendication territoriale\", \n    \"groupName_it\": \"Territorial Claim Unit\", \n    \"groupName_ja\": \"支配領管理ユニット\", \n    \"groupName_ko\": \"영토 제어 유닛\", \n    \"groupName_ru\": \"Блок обеспечения прав собственности\", \n    \"groupName_zh\": \"主权宣布设施\", \n    \"groupNameID\": 64357, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1004\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 40, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1004, \n    \"groupName_de\": \"Defense Bunkers\", \n    \"groupName_en-us\": \"Defense Bunkers\", \n    \"groupName_es\": \"Búnkeres defensivos\", \n    \"groupName_fr\": \"Bunkers défensifs\", \n    \"groupName_it\": \"Defense Bunkers\", \n    \"groupName_ja\": \"防衛バンカー\", \n    \"groupName_ko\": \"방어용 벙커\", \n    \"groupName_ru\": \"Защитные бункеры\", \n    \"groupName_zh\": \"防御碉堡\", \n    \"groupNameID\": 64353, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1005\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 40, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1005, \n    \"groupName_de\": \"Souveränitätsblockierer\", \n    \"groupName_en-us\": \"Sovereignty Blockade Unit\", \n    \"groupName_es\": \"Unidad de bloqueo de soberanía\", \n    \"groupName_fr\": \"Unité de blocus de la souveraineté\", \n    \"groupName_it\": \"Sovereignty Blockade Unit\", \n    \"groupName_ja\": \"領有権封鎖ユニット\", \n    \"groupName_ko\": \"영토 봉쇄 유닛\", \n    \"groupName_ru\": \"Устройство подавления права владения\", \n    \"groupName_zh\": \"主权干扰设施\", \n    \"groupNameID\": 64359, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"1006\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1006, \n    \"groupName_de\": \"Missionen: Fraktionskreuzer\", \n    \"groupName_en-us\": \"Mission Faction Cruiser\", \n    \"groupName_es\": \"Crucero de misión de facción\", \n    \"groupName_fr\": \"Croiseur de faction mission\", \n    \"groupName_it\": \"Mission Faction Cruiser\", \n    \"groupName_ja\": \"ミッション勢力別巡洋艦\", \n    \"groupName_ko\": \"미션 팩션 크루저\", \n    \"groupName_ru\": \"Крейсер боевой группы фракции\", \n    \"groupName_zh\": \"任务势力巡洋舰\", \n    \"groupNameID\": 64349, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1007\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1007, \n    \"groupName_de\": \"Missionen: Fraktionsfregatte\", \n    \"groupName_en-us\": \"Mission Faction Frigate\", \n    \"groupName_es\": \"Fragata de misión de facción\", \n    \"groupName_fr\": \"Frégate de faction mission\", \n    \"groupName_it\": \"Mission Faction Frigate\", \n    \"groupName_ja\": \"ミッション勢力別フリゲート\", \n    \"groupName_ko\": \"미션 팩션 프리깃\", \n    \"groupName_ru\": \"Фрегат боевой группы фракции\", \n    \"groupName_zh\": \"任务势力护卫舰\", \n    \"groupNameID\": 64350, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1010\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1010, \n    \"groupName_de\": \"Kompakter XL Torpedo\", \n    \"groupName_en-us\": \"Compact XL Torpedo\", \n    \"groupName_es\": \"Torpedo compacto (XL)\", \n    \"groupName_fr\": \"Torpille compacte XL\", \n    \"groupName_it\": \"Compact XL Torpedo\", \n    \"groupName_ja\": \"コンパクトXLトルピード\", \n    \"groupName_ko\": \"컴팩트 XL 토피도\", \n    \"groupName_ru\": \"Компактные торпеды сверхбольшой мощности\", \n    \"groupName_zh\": \"紧凑型超大型鱼雷\", \n    \"groupNameID\": 64351, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1012\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 40, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1012, \n    \"groupName_de\": \"SOUVERÄNITÄTSHUB\", \n    \"groupName_en-us\": \"Sovereignty Hub\", \n    \"groupName_es\": \"Centro de soberanía\", \n    \"groupName_fr\": \"Pôle de souveraineté\", \n    \"groupName_it\": \"Sovereignty Hub\", \n    \"groupName_ja\": \"領有権ハブ\", \n    \"groupName_ko\": \"소버린티 허브\", \n    \"groupName_ru\": \"Штаб владений\", \n    \"groupName_zh\": \"主权中心\", \n    \"groupNameID\": 64358, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1013\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1013, \n    \"groupName_de\": \"Supercarrier-Blueprints\", \n    \"groupName_en-us\": \"Supercarrier Blueprints\", \n    \"groupName_es\": \"Planos de superportanaves\", \n    \"groupName_fr\": \"Plans de construction Super porte-vaisseaux\", \n    \"groupName_it\": \"Supercarrier Blueprints\", \n    \"groupName_ja\": \"大型艦載機母艦ブループリント\", \n    \"groupName_ko\": \"슈퍼캐리어 블루프린트\", \n    \"groupName_ru\": \"Чертежи КАРа сверхбольшого тоннажа\", \n    \"groupName_zh\": \"超级航母蓝图\", \n    \"groupNameID\": 64361, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1016\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 39, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1016, \n    \"groupName_de\": \"Infrastrukturzentrum Strategische Upgrades\", \n    \"groupName_en-us\": \"Infrastructure Hub Strategic Upgrades\", \n    \"groupName_es\": \"Mejoras estratégicas de centro de infraestructuras\", \n    \"groupName_fr\": \"Améliorations stratégiques du centre d'infrastructure\", \n    \"groupName_it\": \"Infrastructure Hub Strategic Upgrades\", \n    \"groupName_ja\": \"インフラストラクチャハブの戦略強化\", \n    \"groupName_ko\": \"인프라 허브 전략 업그레이드\", \n    \"groupName_ru\": \"Стратегические улучшения центра инфраструктуры\", \n    \"groupName_zh\": \"基础设施中心战略升级件\", \n    \"groupNameID\": 64356, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1019\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1019, \n    \"groupName_de\": \"XL Marschflugkörper\", \n    \"groupName_en-us\": \"XL Cruise Missile\", \n    \"groupName_es\": \"Misil de crucero (XL)\", \n    \"groupName_fr\": \"Missile de croisière XL\", \n    \"groupName_it\": \"XL Cruise Missile\", \n    \"groupName_ja\": \"XLクルーズミサイル\", \n    \"groupName_ko\": \"XL 크루즈 미사일\", \n    \"groupName_ru\": \"Ракеты дальнего боя сверхбольшой мощности\", \n    \"groupName_zh\": \"超大型巡航导弹\", \n    \"groupNameID\": 64352, \n    \"iconID\": 182, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1020\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 39, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1020, \n    \"groupName_de\": \"Infrastrukturzentrum Industrielle Upgrades\", \n    \"groupName_en-us\": \"Infrastructure Hub Industrial Upgrades\", \n    \"groupName_es\": \"Mejoras industriales de centro de infraestructuras\", \n    \"groupName_fr\": \"Améliorations industrielles du centre d'infrastructure\", \n    \"groupName_it\": \"Infrastructure Hub Industrial Upgrades\", \n    \"groupName_ja\": \"インフラストラクチャハブの工業力強化\", \n    \"groupName_ko\": \"인프라 허브 산업 업그레이드\", \n    \"groupName_ru\": \"Промышленные улучшения центра инфраструктуры\", \n    \"groupName_zh\": \"基础设施中心工业升级件\", \n    \"groupNameID\": 64354, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1021\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 39, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1021, \n    \"groupName_de\": \"Infrastrukturzentrum Militärupgrades\", \n    \"groupName_en-us\": \"Infrastructure Hub Military Upgrades\", \n    \"groupName_es\": \"Mejoras militares de centro de infraestructuras\", \n    \"groupName_fr\": \"Améliorations militaires du centre d'infrastructure\", \n    \"groupName_it\": \"Infrastructure Hub Military Upgrades\", \n    \"groupName_ja\": \"インフラストラクチャハブの軍事力強化\", \n    \"groupName_ko\": \"인프라 허브 군사 업그레이드\", \n    \"groupName_ru\": \"Военные улучшения центра инфраструктуры\", \n    \"groupName_zh\": \"基础设施中心军事升级件\", \n    \"groupNameID\": 64355, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1022\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1022, \n    \"groupName_de\": \"Prototype Exploration Ship\", \n    \"groupName_en-us\": \"Prototype Exploration Ship\", \n    \"groupName_es\": \"Prototipo de nave de exploración\", \n    \"groupName_fr\": \"Vaisseau d'exploration prototype\", \n    \"groupName_it\": \"Prototype Exploration Ship\", \n    \"groupName_ja\": \"プロトタイプ探査船\", \n    \"groupName_ko\": \"프로토타입 탐사선\", \n    \"groupName_ru\": \"Экспериментальный экспедиционный корабль\", \n    \"groupName_zh\": \"考察船原型\", \n    \"groupNameID\": 64362, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1023\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1023, \n    \"groupName_de\": \"Jagdbomber\", \n    \"groupName_en-us\": \"Fighter Bomber\", \n    \"groupName_es\": \"Cazabombardero\", \n    \"groupName_fr\": \"Chasseur-bombardier\", \n    \"groupName_it\": \"Fighter Bomber\", \n    \"groupName_ja\": \"艦載戦闘爆撃機\", \n    \"groupName_ko\": \"전투폭격기\", \n    \"groupName_ru\": \"Истребитель-бомбардировщик\", \n    \"groupName_zh\": \"铁骑轰炸机\", \n    \"groupNameID\": 64363, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1025\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 46, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1025, \n    \"groupName_de\": \"Orbitale Infrastruktur\", \n    \"groupName_en-us\": \"Orbital Infrastructure\", \n    \"groupName_es\": \"Infraestructura orbital\", \n    \"groupName_fr\": \"Infrastructure orbitale\", \n    \"groupName_it\": \"Orbital Infrastructure\", \n    \"groupName_ja\": \"軌道インフラストラクチャ\", \n    \"groupName_ko\": \"궤도 인프라시설\", \n    \"groupName_ru\": \"Инфраструктура орбитальной станции\", \n    \"groupName_zh\": \"行星海关办公室\", \n    \"groupNameID\": 64428, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1026\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 41, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1026, \n    \"groupName_de\": \"Extraktoren\", \n    \"groupName_en-us\": \"Extractors\", \n    \"groupName_es\": \"Extractores\", \n    \"groupName_fr\": \"Extracteurs\", \n    \"groupName_it\": \"Extractors\", \n    \"groupName_ja\": \"エクストラクター\", \n    \"groupName_ko\": \"추출기\", \n    \"groupName_ru\": \"Планетарные экстракторы\", \n    \"groupName_zh\": \"采集器\", \n    \"groupNameID\": 64375, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1027\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 41, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1027, \n    \"groupName_de\": \"Kommandozentralen\", \n    \"groupName_en-us\": \"Command Centers\", \n    \"groupName_es\": \"Centros de mando\", \n    \"groupName_fr\": \"Centres de commandement\", \n    \"groupName_it\": \"Command Centers\", \n    \"groupName_ja\": \"司令基地\", \n    \"groupName_ko\": \"통제센터\", \n    \"groupName_ru\": \"Центры управления\", \n    \"groupName_zh\": \"指挥中心\", \n    \"groupNameID\": 64365, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1028\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 41, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1028, \n    \"groupName_de\": \"Prozessoren\", \n    \"groupName_en-us\": \"Processors\", \n    \"groupName_es\": \"Procesadores\", \n    \"groupName_fr\": \"Processeurs\", \n    \"groupName_it\": \"Processors\", \n    \"groupName_ja\": \"プロセッサー\", \n    \"groupName_ko\": \"제조시설\", \n    \"groupName_ru\": \"Производственные комплексы\", \n    \"groupName_zh\": \"处理设施\", \n    \"groupNameID\": 64376, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1029\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 41, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1029, \n    \"groupName_de\": \"Lagereinrichtungen\", \n    \"groupName_en-us\": \"Storage Facilities\", \n    \"groupName_es\": \"Instalaciones de almacenamiento\", \n    \"groupName_fr\": \"Sites de stockage\", \n    \"groupName_it\": \"Storage Facilities\", \n    \"groupName_ja\": \"バンカー\", \n    \"groupName_ko\": \"보관 시설\", \n    \"groupName_ru\": \"Складские помещения\", \n    \"groupName_zh\": \"储藏设施\", \n    \"groupNameID\": 64378, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1030\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 41, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1030, \n    \"groupName_de\": \"Raumhafen\", \n    \"groupName_en-us\": \"Spaceports\", \n    \"groupName_es\": \"Puertos espaciales\", \n    \"groupName_fr\": \"Spatioports\", \n    \"groupName_it\": \"Spaceports\", \n    \"groupName_ja\": \"スペースポート\", \n    \"groupName_ko\": \"우주 항구\", \n    \"groupName_ru\": \"Космопорты\", \n    \"groupName_zh\": \"太空港\", \n    \"groupNameID\": 64377, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1031\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1031, \n    \"groupName_de\": \"Planetary Resources\", \n    \"groupName_en-us\": \"Planetary Resources\", \n    \"groupName_es\": \"Recursos planetarios\", \n    \"groupName_fr\": \"Ressources planétaires\", \n    \"groupName_it\": \"Planetary Resources\", \n    \"groupName_ja\": \"惑星資源\", \n    \"groupName_ko\": \"행성 자원\", \n    \"groupName_ru\": \"Планетарные ресурсы\", \n    \"groupName_zh\": \"行星资源\", \n    \"groupNameID\": 64364, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1032\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 42, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1032, \n    \"groupName_de\": \"Planet (solide) – Rohmaterialien\", \n    \"groupName_en-us\": \"Planet Solid - Raw Resource\", \n    \"groupName_es\": \"Material sólido de planeta: materias primas\", \n    \"groupName_fr\": \"Planète solide - Ressource brute\", \n    \"groupName_it\": \"Planet Solid - Raw Resource\", \n    \"groupName_ja\": \"惑星（固体） - 原資源\", \n    \"groupName_ko\": \"행성 고체 - 기초 자원\", \n    \"groupName_ru\": \"Планетарная порода — сырьё\", \n    \"groupName_zh\": \"行星固体 - 原始资源\", \n    \"groupNameID\": 64368, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1033\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 42, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1033, \n    \"groupName_de\": \"Planet (flüssig-gasförmig) – Rohmaterialien\", \n    \"groupName_en-us\": \"Planet Liquid-Gas - Raw Resource\", \n    \"groupName_es\": \"Gas líquido de planeta: materias primas\", \n    \"groupName_fr\": \"Planète liquide-gaz - Ressource brute\", \n    \"groupName_it\": \"Planet Liquid-Gas - Raw Resource\", \n    \"groupName_ja\": \"惑星（液体ガス） - 原資源\", \n    \"groupName_ko\": \"행성 액체-가스 - 기초 자원\", \n    \"groupName_ru\": \"Планетарный жидкий газ — сырьё\", \n    \"groupName_zh\": \"行星液体-气体 - 原始资源\", \n    \"groupNameID\": 64369, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1034\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 43, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1034, \n    \"groupName_de\": \"Raffinierte Güter – Rang 2\", \n    \"groupName_en-us\": \"Refined Commodities - Tier 2\", \n    \"groupName_es\": \"Mercancías refinadas: nivel 2\", \n    \"groupName_fr\": \"Marchandises raffinées - Tier 2\", \n    \"groupName_it\": \"Refined Commodities - Tier 2\", \n    \"groupName_ja\": \"2次加工品 - 第2類\", \n    \"groupName_ko\": \"개량 생산품 - 티어 2\", \n    \"groupName_ru\": \"Очищенные товары — класс 2\", \n    \"groupName_zh\": \"加工过的资源物品 - 第二等级\", \n    \"groupNameID\": 64372, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1035\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 42, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1035, \n    \"groupName_de\": \"Planet (organisch) – Rohmaterialien\", \n    \"groupName_en-us\": \"Planet Organic - Raw Resource\", \n    \"groupName_es\": \"Material orgánico de planeta: materias primas\", \n    \"groupName_fr\": \"Planète organique - Ressource brute\", \n    \"groupName_it\": \"Planet Organic - Raw Resource\", \n    \"groupName_ja\": \"惑星（有機） - 原資源\", \n    \"groupName_ko\": \"행성 유기물 - 기초 자원\", \n    \"groupName_ru\": \"Планетарная органика — сырьё\", \n    \"groupName_zh\": \"行星有机物 - 原始资源\", \n    \"groupNameID\": 64367, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1036\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 41, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1036, \n    \"groupName_de\": \"Planetarische Verbindungen\", \n    \"groupName_en-us\": \"Planetary Links\", \n    \"groupName_es\": \"Enlaces planetarios\", \n    \"groupName_fr\": \"Liaisons planétaires\", \n    \"groupName_it\": \"Planetary Links\", \n    \"groupName_ja\": \"惑星リンク\", \n    \"groupName_ko\": \"행성 링크\", \n    \"groupName_ru\": \"Транспортная система\", \n    \"groupName_zh\": \"行星链\", \n    \"groupNameID\": 64366, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1040\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 43, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1040, \n    \"groupName_de\": \"Spezialisierte Güter – Rang 3\", \n    \"groupName_en-us\": \"Specialized Commodities - Tier 3\", \n    \"groupName_es\": \"Mercancías especializadas: nivel 3\", \n    \"groupName_fr\": \"Marchandises spécialisées - Tier 3\", \n    \"groupName_it\": \"Specialized Commodities - Tier 3\", \n    \"groupName_ja\": \"3次加工品 - 第3類\", \n    \"groupName_ko\": \"전문 생산품 - 티어 3\", \n    \"groupName_ru\": \"Специализированные товары — класс 3\", \n    \"groupName_zh\": \"特种资源物品 - 第三等级\", \n    \"groupNameID\": 64373, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1041\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 43, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1041, \n    \"groupName_de\": \"Weiterentwickelte Güter – Rang 4\", \n    \"groupName_en-us\": \"Advanced Commodities - Tier 4\", \n    \"groupName_es\": \"Mercancías avanzadas: nivel 4\", \n    \"groupName_fr\": \"Marchandises avancées - Tier 4\", \n    \"groupName_it\": \"Advanced Commodities - Tier 4\", \n    \"groupName_ja\": \"最終加工品 - 第4類\", \n    \"groupName_ko\": \"상급 생산품 - 티어 4\", \n    \"groupName_ru\": \"Продвинутые товары — класс 4\", \n    \"groupName_zh\": \"高级资源物品 - 第四等级\", \n    \"groupNameID\": 64370, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1042\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 43, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1042, \n    \"groupName_de\": \"Grundlegende Güter – Rang 1\", \n    \"groupName_en-us\": \"Basic Commodities - Tier 1\", \n    \"groupName_es\": \"Mercancías básicas: nivel 1\", \n    \"groupName_fr\": \"Marchandises de base - Tier 1\", \n    \"groupName_it\": \"Basic Commodities - Tier 1\", \n    \"groupName_ja\": \"1次加工品 - 第1類\", \n    \"groupName_ko\": \"기본 생산품 - 티어 1\", \n    \"groupName_ru\": \"Базовые товары — класс 1\", \n    \"groupName_zh\": \"基础资源物品 - 第一等级\", \n    \"groupNameID\": 64374, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1045\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1045, \n    \"groupName_de\": \"Sovereignty Structure Blueprint\", \n    \"groupName_en-us\": \"Sovereignty Structure Blueprint\", \n    \"groupName_es\": \"Plano de estructura de soberanía\", \n    \"groupName_fr\": \"Plan de construction Structure de la souveraineté\", \n    \"groupName_it\": \"Sovereignty Structure Blueprint\", \n    \"groupName_ja\": \"領有権管理設備ブループリント\", \n    \"groupName_ko\": \"소버린티 구조물 블루프린트\", \n    \"groupName_ru\": \"Sovereignty Structure Blueprint\", \n    \"groupName_zh\": \"主权设施蓝图\", \n    \"groupNameID\": 64380, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1046\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1046, \n    \"groupName_de\": \"Nanobot-Reparaturpaste-Blueprint\", \n    \"groupName_en-us\": \"Nanite Repair Paste Blueprint\", \n    \"groupName_es\": \"Plano de fluido reparador de nanobots\", \n    \"groupName_fr\": \"Plan de construction Nanites de réparation\", \n    \"groupName_it\": \"Nanite Repair Paste Blueprint\", \n    \"groupName_ja\": \"ナノマシンリペアペイストブループリント\", \n    \"groupName_ko\": \"나나이트 용액 블루프린트\", \n    \"groupName_ru\": \"Nanite Repair Paste Blueprint\", \n    \"groupName_zh\": \"纳米体修复粘合剂蓝图\", \n    \"groupNameID\": 64381, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1048\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1048, \n    \"groupName_de\": \"Sternenbasenblaupause\", \n    \"groupName_en-us\": \"Starbase Blueprint\", \n    \"groupName_es\": \"Plano de base estelar\", \n    \"groupName_fr\": \"Plan de construction Base stellaire\", \n    \"groupName_it\": \"Starbase Blueprint\", \n    \"groupName_ja\": \"スターベースのブループリント\", \n    \"groupName_ko\": \"스타베이스 블루프린트\", \n    \"groupName_ru\": \"Чертежи ПОСов\", \n    \"groupName_zh\": \"母星蓝图\", \n    \"groupNameID\": 64382, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1051\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1051, \n    \"groupName_de\": \"Übergriffe: Sansha's Nation-Industrieschiff\", \n    \"groupName_en-us\": \"Incursion Sansha's Nation Industrial\", \n    \"groupName_es\": \"Nave industrial de incursión de la Nación Sansha\", \n    \"groupName_fr\": \"Vaisseau industriel Sansha's Nation incursion\", \n    \"groupName_it\": \"Incursion Sansha's Nation Industrial\", \n    \"groupName_ja\": \"インカージョンサンシャ国インダストリアル\", \n    \"groupName_ko\": \"인커젼 산샤 네이션 인더스트리얼\", \n    \"groupName_ru\": \"Грузовой корабль саншистского флота вторжения\", \n    \"groupName_zh\": \"入侵萨沙工业舰\", \n    \"groupNameID\": 64398, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1052\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1052, \n    \"groupName_de\": \"Übergriffe: Sansha's Nation-Capital\", \n    \"groupName_en-us\": \"Incursion Sansha's Nation Capital\", \n    \"groupName_es\": \"Nave capital de incursión de la Nación Sansha\", \n    \"groupName_fr\": \"Vaisseau capital Sansha's Nation incursion\", \n    \"groupName_it\": \"Incursion Sansha's Nation Capital\", \n    \"groupName_ja\": \"サンシャ国侵略キャピタル\", \n    \"groupName_ko\": \"인커젼 산샤 네이션 캐피탈\", \n    \"groupName_ru\": \"Корабль большого тоннажа Флота вторжения Нации Sansha\", \n    \"groupName_zh\": \"入侵萨沙旗舰\", \n    \"groupNameID\": 64395, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1053\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1053, \n    \"groupName_de\": \"Übergriffe: Sansha's Nation-Fregatte\", \n    \"groupName_en-us\": \"Incursion Sansha's Nation Frigate\", \n    \"groupName_es\": \"Fragata de incursión de la Nación Sansha\", \n    \"groupName_fr\": \"Frégate Sansha's Nation incursion\", \n    \"groupName_it\": \"Incursion Sansha's Nation Frigate\", \n    \"groupName_ja\": \"サンシャ国侵略フリゲート\", \n    \"groupName_ko\": \"인커젼 산샤 네이션 프리깃\", \n    \"groupName_ru\": \"Фрегат Флота вторжения Нации Sansha\", \n    \"groupName_zh\": \"入侵萨沙护卫舰\", \n    \"groupNameID\": 64397, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1054\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1054, \n    \"groupName_de\": \"Übergriffe: Sansha's Nation-Kreuzer\", \n    \"groupName_en-us\": \"Incursion Sansha's Nation Cruiser\", \n    \"groupName_es\": \"Crucero de incursión de la Nación Sansha\", \n    \"groupName_fr\": \"Croiseur Sansha's Nation incursion\", \n    \"groupName_it\": \"Incursion Sansha's Nation Cruiser\", \n    \"groupName_ja\": \"サンシャ国侵略巡洋艦\", \n    \"groupName_ko\": \"인커젼 산샤 네이션 크루저\", \n    \"groupName_ru\": \"Крейсер Флота вторжения Нации Sansha\", \n    \"groupName_zh\": \"入侵萨沙巡洋舰\", \n    \"groupNameID\": 64396, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1056\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1056, \n    \"groupName_de\": \"Übergriffe: Sansha's Nation-Schlachtschiff\", \n    \"groupName_en-us\": \"Incursion Sansha's Nation Battleship\", \n    \"groupName_es\": \"Acorazado de incursión de la Nación Sansha\", \n    \"groupName_fr\": \"Cuirassé Sansha's Nation incursion\", \n    \"groupName_it\": \"Incursion Sansha's Nation Battleship\", \n    \"groupName_ja\": \"サンシャ国侵略戦艦\", \n    \"groupName_ko\": \"인커젼 산샤 네이션 배틀쉽\", \n    \"groupName_ru\": \"Линкор Флота вторжения Нации Sansha\", \n    \"groupName_zh\": \"入侵萨沙战列舰\", \n    \"groupNameID\": 64394, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1063\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 41, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1063, \n    \"groupName_de\": \"Extraktor-Kontrolleinheiten\", \n    \"groupName_en-us\": \"Extractor Control Units\", \n    \"groupName_es\": \"Consolas extractoras\", \n    \"groupName_fr\": \"Unités de contrôle d'extracteur\", \n    \"groupName_it\": \"Extractor Control Units\", \n    \"groupName_ja\": \"エクストラクター制御装置\", \n    \"groupName_ko\": \"추출기 제어 유닛\", \n    \"groupName_ru\": \"Узлы управления экстракторами\", \n    \"groupName_zh\": \"采集控制器\", \n    \"groupNameID\": 64399, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1067\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 26, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1067, \n    \"groupName_de\": \"Materielle Zone\", \n    \"groupName_en-us\": \"MaterialZone\", \n    \"groupName_es\": \"Zona de materiales\", \n    \"groupName_fr\": \"Zone matérielle\", \n    \"groupName_it\": \"MaterialZone\", \n    \"groupName_ja\": \"マテリアルゾーン\", \n    \"groupName_ko\": \"메테리얼 존\", \n    \"groupName_ru\": \"MaterialZone\", \n    \"groupName_zh\": \"材质区域\", \n    \"groupNameID\": 64405, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1068\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 26, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1068, \n    \"groupName_de\": \"Detail-Netz\", \n    \"groupName_en-us\": \"DetailMesh\", \n    \"groupName_es\": \"Malla de detalles\", \n    \"groupName_fr\": \"DetailMesh\", \n    \"groupName_it\": \"DetailMesh\", \n    \"groupName_ja\": \"ディテイルメッシュ\", \n    \"groupName_ko\": \"세부메쉬\", \n    \"groupName_ru\": \"DetailMesh\", \n    \"groupName_zh\": \"细节区块\", \n    \"groupNameID\": 64404, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1071\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1071, \n    \"groupName_de\": \"Flammpunkt\", \n    \"groupName_en-us\": \"Flashpoint\", \n    \"groupName_es\": \"Foco de tensión\", \n    \"groupName_fr\": \"Poudrière\", \n    \"groupName_it\": \"Flashpoint\", \n    \"groupName_ja\": \"フラッシュポイント\", \n    \"groupName_ko\": \"플래시포인트\", \n    \"groupName_ru\": \"Вспышка\", \n    \"groupName_zh\": \"闪光点\", \n    \"groupNameID\": 64406, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1073\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 46, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1073, \n    \"groupName_de\": \"Test Orbitals\", \n    \"groupName_en-us\": \"Test Orbitals\", \n    \"groupName_es\": \"Orbitales de prueba\", \n    \"groupName_fr\": \"Orbitaux de test\", \n    \"groupName_it\": \"Test Orbitals\", \n    \"groupName_ja\": \"テスト用軌道施設\", \n    \"groupName_ko\": \"테스트용 궤도 시설\", \n    \"groupName_ru\": \"Тестовые орбитальные станции\", \n    \"groupName_zh\": \"测试轨道物品\", \n    \"groupNameID\": 64407, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"1079\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 49, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1079, \n    \"groupName_de\": \"Allgemein\", \n    \"groupName_en-us\": \"Generic\", \n    \"groupName_es\": \"Genérico\", \n    \"groupName_fr\": \"Générique\", \n    \"groupName_it\": \"Generic\", \n    \"groupName_ja\": \"一般\", \n    \"groupName_ko\": \"일반\", \n    \"groupName_ru\": \"Без категории\", \n    \"groupName_zh\": \"通用\", \n    \"groupNameID\": 64410, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1081\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 41, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1081, \n    \"groupName_de\": \"Söldnerbasis\", \n    \"groupName_en-us\": \"Mercenary Bases\", \n    \"groupName_es\": \"Bases de mercenarios\", \n    \"groupName_fr\": \"Bases mercenaires\", \n    \"groupName_it\": \"Mercenary Bases\", \n    \"groupName_ja\": \"傭兵基地\", \n    \"groupName_ko\": \"용병 기지\", \n    \"groupName_ru\": \"Базы наемников\", \n    \"groupName_zh\": \"雇佣兵基地\", \n    \"groupNameID\": 64412, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1082\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 41, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1082, \n    \"groupName_de\": \"Kapselpilotenbasis\", \n    \"groupName_en-us\": \"Capsuleer Bases\", \n    \"groupName_es\": \"Bases de capsulistas\", \n    \"groupName_fr\": \"Bases capsuliers\", \n    \"groupName_it\": \"Capsuleer Bases\", \n    \"groupName_ja\": \"カプセラ基地\", \n    \"groupName_ko\": \"캡슐리어 기지\", \n    \"groupName_ru\": \"Базы капсулеров\", \n    \"groupName_zh\": \"飞行员基地\", \n    \"groupNameID\": 64413, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1083\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1083, \n    \"groupName_de\": \"Augen\", \n    \"groupName_en-us\": \"Eyewear\", \n    \"groupName_es\": \"Dispositivos oculares\", \n    \"groupName_fr\": \"Lunettes\", \n    \"groupName_it\": \"Eyewear\", \n    \"groupName_ja\": \"メガネ類\", \n    \"groupName_ko\": \"안경류\", \n    \"groupName_ru\": \"Очки\", \n    \"groupName_zh\": \"眼部饰品\", \n    \"groupNameID\": 64417, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1084\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1084, \n    \"groupName_de\": \"Tattoos\", \n    \"groupName_en-us\": \"Tattoos\", \n    \"groupName_es\": \"Tatuajes\", \n    \"groupName_fr\": \"Tatouages\", \n    \"groupName_it\": \"Tattoos\", \n    \"groupName_ja\": \"タトゥー\", \n    \"groupName_ko\": \"문신\", \n    \"groupName_ru\": \"Татуировки\", \n    \"groupName_zh\": \"纹身\", \n    \"groupNameID\": 64435, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1085\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1085, \n    \"groupName_de\": \"Piercings\", \n    \"groupName_en-us\": \"Piercings\", \n    \"groupName_es\": \"Piercings\", \n    \"groupName_fr\": \"Piercings\", \n    \"groupName_it\": \"Piercings\", \n    \"groupName_ja\": \"ピアス\", \n    \"groupName_ko\": \"피어싱\", \n    \"groupName_ru\": \"Пирсинг\", \n    \"groupName_zh\": \"穿孔\", \n    \"groupNameID\": 64433, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1086\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1086, \n    \"groupName_de\": \"Narben\", \n    \"groupName_en-us\": \"Scars\", \n    \"groupName_es\": \"Cicatrices\", \n    \"groupName_fr\": \"Cicatrices\", \n    \"groupName_it\": \"Scars\", \n    \"groupName_ja\": \"傷跡\", \n    \"groupName_ko\": \"흉터\", \n    \"groupName_ru\": \"Шрамы\", \n    \"groupName_zh\": \"疤痕\", \n    \"groupNameID\": 64434, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1087\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1087, \n    \"groupName_de\": \"Mittlere Schicht\", \n    \"groupName_en-us\": \"Mid Layer\", \n    \"groupName_es\": \"Capa intermedia\", \n    \"groupName_fr\": \"Sous-couche\", \n    \"groupName_it\": \"Mid Layer\", \n    \"groupName_ja\": \"中間レイヤー\", \n    \"groupName_ko\": \"겉옷\", \n    \"groupName_ru\": \"Верх (слой 2)\", \n    \"groupName_zh\": \"中层\", \n    \"groupNameID\": 64432, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1088\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1088, \n    \"groupName_de\": \"Außen\", \n    \"groupName_en-us\": \"Outer\", \n    \"groupName_es\": \"Exterior\", \n    \"groupName_fr\": \"Veste\", \n    \"groupName_it\": \"Outer\", \n    \"groupName_ja\": \"アウター\", \n    \"groupName_ko\": \"외투\", \n    \"groupName_ru\": \"Верхняя одежда\", \n    \"groupName_zh\": \"外套\", \n    \"groupNameID\": 64414, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1089\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1089, \n    \"groupName_de\": \"Oberteile\", \n    \"groupName_en-us\": \"Tops\", \n    \"groupName_es\": \"Prendas superiores\", \n    \"groupName_fr\": \"Hauts\", \n    \"groupName_it\": \"Tops\", \n    \"groupName_ja\": \"トップス\", \n    \"groupName_ko\": \"상의\", \n    \"groupName_ru\": \"Верх\", \n    \"groupName_zh\": \"上装\", \n    \"groupNameID\": 64418, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1090\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1090, \n    \"groupName_de\": \"Unterkörper\", \n    \"groupName_en-us\": \"Bottoms\", \n    \"groupName_es\": \"Prendas inferiores\", \n    \"groupName_fr\": \"Bas\", \n    \"groupName_it\": \"Bottoms\", \n    \"groupName_ja\": \"ボトムス\", \n    \"groupName_ko\": \"하의\", \n    \"groupName_ru\": \"Низ\", \n    \"groupName_zh\": \"下装\", \n    \"groupNameID\": 64419, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1091\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1091, \n    \"groupName_de\": \"Schuhe\", \n    \"groupName_en-us\": \"Footwear\", \n    \"groupName_es\": \"Calzado\", \n    \"groupName_fr\": \"Chaussures\", \n    \"groupName_it\": \"Footwear\", \n    \"groupName_ja\": \"靴\", \n    \"groupName_ko\": \"신발\", \n    \"groupName_ru\": \"Обувь\", \n    \"groupName_zh\": \"鞋靴\", \n    \"groupNameID\": 64416, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1092\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1092, \n    \"groupName_de\": \"Kopfgegenstände\", \n    \"groupName_en-us\": \"Headwear\", \n    \"groupName_es\": \"Accesorios para la cabeza\", \n    \"groupName_fr\": \"Couvre-chefs\", \n    \"groupName_it\": \"Headwear\", \n    \"groupName_ja\": \"ヘッドウェア\", \n    \"groupName_ko\": \"모자\", \n    \"groupName_ru\": \"Головные уборы\", \n    \"groupName_zh\": \"头饰\", \n    \"groupNameID\": 64431, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1093\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1093, \n    \"groupName_de\": \"Make-up\", \n    \"groupName_en-us\": \"Makeup\", \n    \"groupName_es\": \"Maquillaje\", \n    \"groupName_fr\": \"Maquillage\", \n    \"groupName_it\": \"Makeup\", \n    \"groupName_ja\": \"メイクアップ\", \n    \"groupName_ko\": \"화장\", \n    \"groupName_ru\": \"Макияж\", \n    \"groupName_zh\": \"化妆\", \n    \"groupNameID\": 64430, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1105\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 53, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1105, \n    \"groupName_de\": \"Blendenlichtreflexe\", \n    \"groupName_en-us\": \"Lens Flares\", \n    \"groupName_es\": \"Bengalas de lente\", \n    \"groupName_fr\": \"Halos\", \n    \"groupName_it\": \"Lens Flares\", \n    \"groupName_ja\": \"レンズフレア\", \n    \"groupName_ko\": \"렌즈 플레어\", \n    \"groupName_ru\": \"Блики\", \n    \"groupName_zh\": \"镜头光晕\", \n    \"groupNameID\": 64421, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1106\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 46, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1106, \n    \"groupName_de\": \"Orbitale Bauplattform\", \n    \"groupName_en-us\": \"Orbital Construction Platform\", \n    \"groupName_es\": \"Plataforma de construcción orbital\", \n    \"groupName_fr\": \"Plateforme de construction orbitale\", \n    \"groupName_it\": \"Orbital Construction Platform\", \n    \"groupName_ja\": \"軌道建設プラットフォーム\", \n    \"groupName_ko\": \"궤도 시설 플랫폼\", \n    \"groupName_ru\": \"Орбитальная строительная платформа\", \n    \"groupName_zh\": \"轨道建筑平台\", \n    \"groupNameID\": 64415, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1107\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 53, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1107, \n    \"groupName_de\": \"Partikelsysteme\", \n    \"groupName_en-us\": \"Particle Systems\", \n    \"groupName_es\": \"Sistemas de partículas\", \n    \"groupName_fr\": \"Systèmes de particules\", \n    \"groupName_it\": \"Particle Systems\", \n    \"groupName_ja\": \"粒子システム\", \n    \"groupName_ko\": \"파티클 시스템\", \n    \"groupName_ru\": \"Частицы\", \n    \"groupName_zh\": \"粒子系统\", \n    \"groupNameID\": 64422, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1108\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 53, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1108, \n    \"groupName_de\": \"Animierte Lichter\", \n    \"groupName_en-us\": \"Animated Lights\", \n    \"groupName_es\": \"Luces animadas\", \n    \"groupName_fr\": \"Lumières animées\", \n    \"groupName_it\": \"Animated Lights\", \n    \"groupName_ja\": \"アニメーションライト\", \n    \"groupName_ko\": \"애니메이션 빛 효과\", \n    \"groupName_ru\": \"Динамическое освещение\", \n    \"groupName_zh\": \"动画光照\", \n    \"groupNameID\": 64420, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1109\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 29, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1109, \n    \"groupName_de\": \"Audio\", \n    \"groupName_en-us\": \"Audio\", \n    \"groupName_es\": \"Sonido\", \n    \"groupName_fr\": \"Audio\", \n    \"groupName_it\": \"Audio\", \n    \"groupName_ja\": \"音声\", \n    \"groupName_ko\": \"오디오\", \n    \"groupName_ru\": \"Звуки\", \n    \"groupName_zh\": \"音频\", \n    \"groupNameID\": 64423, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1110\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 54, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1110, \n    \"groupName_de\": \"Punktlichter\", \n    \"groupName_en-us\": \"Point Lights\", \n    \"groupName_es\": \"Luces de indicación\", \n    \"groupName_fr\": \"Lumières en points\", \n    \"groupName_it\": \"Point Lights\", \n    \"groupName_ja\": \"ポイントライト\", \n    \"groupName_ko\": \"점 광원\", \n    \"groupName_ru\": \"Точечный свет\", \n    \"groupName_zh\": \"点光源\", \n    \"groupNameID\": 64424, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1111\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 54, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1111, \n    \"groupName_de\": \"Kastenlichter\", \n    \"groupName_en-us\": \"Box Lights\", \n    \"groupName_es\": \"Luces de caja\", \n    \"groupName_fr\": \"Lumières en boîtes\", \n    \"groupName_it\": \"Box Lights\", \n    \"groupName_ja\": \"ボックスライト\", \n    \"groupName_ko\": \"박스 광원\", \n    \"groupName_ru\": \"Фонарь\", \n    \"groupName_zh\": \"方块光源\", \n    \"groupNameID\": 64425, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1112\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 54, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1112, \n    \"groupName_de\": \"Scheinwerfer\", \n    \"groupName_en-us\": \"Spot Lights\", \n    \"groupName_es\": \"Focos\", \n    \"groupName_fr\": \"Lumières en projecteurs\", \n    \"groupName_it\": \"Spot Lights\", \n    \"groupName_ja\": \"スポットライト\", \n    \"groupName_ko\": \"지점 광원\", \n    \"groupName_ru\": \"Прожекторы\", \n    \"groupName_zh\": \"聚光灯\", \n    \"groupNameID\": 64426, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1118\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1118, \n    \"groupName_de\": \"Oberflächen Infrastruktur Fertigbaueinheiten\", \n    \"groupName_en-us\": \"Surface Infrastructure Prefab Units\", \n    \"groupName_es\": \"Unidades prefabricadas de infraestructuras de superficie\", \n    \"groupName_fr\": \"Unités préfabriquées d'infrastructure de surface\", \n    \"groupName_it\": \"Surface Infrastructure Prefab Units\", \n    \"groupName_ja\": \"サーフェスインフラストラクチャプレハブユニット\", \n    \"groupName_ko\": \"지표면 인프라 조립식 유닛\", \n    \"groupName_ru\": \"Сборные единицы поверхностной инфраструктуры\", \n    \"groupName_zh\": \"地表设施预制单元\", \n    \"groupNameID\": 64429, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1121\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 29, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1121, \n    \"groupName_de\": \"Empfangspunkt\", \n    \"groupName_en-us\": \"Perception Points\", \n    \"groupName_es\": \"Puntos de percepción\", \n    \"groupName_fr\": \"Points de perception\", \n    \"groupName_it\": \"Perception Points\", \n    \"groupName_ja\": \"知覚ポイント\", \n    \"groupName_ko\": \"지각력 포인트\", \n    \"groupName_ru\": \"Невидимые очки восприятия\", \n    \"groupName_zh\": \"感知点\", \n    \"groupNameID\": 64436, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1122\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1122, \n    \"groupName_de\": \"Bergungsmodul\", \n    \"groupName_en-us\": \"Salvager\", \n    \"groupName_es\": \"Recuperador\", \n    \"groupName_fr\": \"Récupérateur\", \n    \"groupName_it\": \"Salvager\", \n    \"groupName_ja\": \"サルベージャー\", \n    \"groupName_ko\": \"샐비저\", \n    \"groupName_ru\": \"Демонтажная установка\", \n    \"groupName_zh\": \"打捞器\", \n    \"groupNameID\": 64438, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1123\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1123, \n    \"groupName_de\": \"Bergungsmodul-Blueprint\", \n    \"groupName_en-us\": \"Salvager Blueprint\", \n    \"groupName_es\": \"Plano de recuperador\", \n    \"groupName_fr\": \"Plan de construction Récupérateur\", \n    \"groupName_it\": \"Salvager Blueprint\", \n    \"groupName_ja\": \"サルベージャーブループリント\", \n    \"groupName_ko\": \"샐비저 블루프린트\", \n    \"groupName_ru\": \"Чертежи демонтажной установки\", \n    \"groupName_zh\": \"打捞器蓝图\", \n    \"groupNameID\": 64439, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1126\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 59, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1126, \n    \"groupName_de\": \"PhysicalPortals\", \n    \"groupName_en-us\": \"PhysicalPortals\", \n    \"groupName_es\": \"Portales físicos\", \n    \"groupName_fr\": \"Portails physiques\", \n    \"groupName_it\": \"PhysicalPortals\", \n    \"groupName_ja\": \"フィジカルポータル\", \n    \"groupName_ko\": \"물리적 포탈\", \n    \"groupName_ru\": \"Физические порталы\", \n    \"groupName_zh\": \"物理入口\", \n    \"groupNameID\": 235966, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1136\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1136, \n    \"groupName_de\": \"Treibstoffblock\", \n    \"groupName_en-us\": \"Fuel Block\", \n    \"groupName_es\": \"Bloque de combustible\", \n    \"groupName_fr\": \"Bloc de carburant\", \n    \"groupName_it\": \"Fuel Block\", \n    \"groupName_ja\": \"燃料ブロック\", \n    \"groupName_ko\": \"연료 블록\", \n    \"groupName_ru\": \"Топливный блок\", \n    \"groupName_zh\": \"燃料块\", \n    \"groupNameID\": 263520, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1137\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1137, \n    \"groupName_de\": \"Treibstoffblock Blaupause\", \n    \"groupName_en-us\": \"Fuel Block Blueprint\", \n    \"groupName_es\": \"Plano de bloque de combustible\", \n    \"groupName_fr\": \"Plan de construction Bloc de carburant\", \n    \"groupName_it\": \"Fuel Block Blueprint\", \n    \"groupName_ja\": \"燃料ブロックブループリント\", \n    \"groupName_ko\": \"연료 블록 블루프린트\", \n    \"groupName_ru\": \"Чертеж топливного блока\", \n    \"groupName_zh\": \"燃料块蓝图\", \n    \"groupNameID\": 263521, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1139\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1139, \n    \"groupName_de\": \"Bergbaulaser Upgrade Blaupause\", \n    \"groupName_en-us\": \"Mining Laser Upgrade Blueprint\", \n    \"groupName_es\": \"Plano de mejora de láser minero\", \n    \"groupName_fr\": \"Plan de construction Amélioration de laser d'extraction\", \n    \"groupName_it\": \"Mining Laser Upgrade Blueprint\", \n    \"groupName_ja\": \"採掘レーザー強化ブループリント\", \n    \"groupName_ko\": \"채굴 레이저 업그레이드 블루프린트\", \n    \"groupName_ru\": \"Чертеж улучшенного экстрактора\", \n    \"groupName_zh\": \"采矿激光提升器蓝图\", \n    \"groupNameID\": 263644, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1141\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1141, \n    \"groupName_de\": \"Forschungsdaten\", \n    \"groupName_en-us\": \"Research Data\", \n    \"groupName_es\": \"Datos de investigación.\", \n    \"groupName_fr\": \"Données de recherche\", \n    \"groupName_it\": \"Research Data\", \n    \"groupName_ja\": \"研究データ\", \n    \"groupName_ko\": \"연구 데이터\", \n    \"groupName_ru\": \"Исследовательские данные\", \n    \"groupName_zh\": \"研究数据\", \n    \"groupNameID\": 263706, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1142\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1142, \n    \"groupName_de\": \"Energieneutralisierer-Drohnen-Blaupause\", \n    \"groupName_en-us\": \"Energy Neutralizer Drone Blueprint\", \n    \"groupName_es\": \"Plano de dron neutralizador energético\", \n    \"groupName_fr\": \"Plan de construction Drone de neutralisation de l'énergie\", \n    \"groupName_it\": \"Energy Neutralizer Drone Blueprint\", \n    \"groupName_ja\": \"エネルギーニュートライザードローンのブループリント\", \n    \"groupName_ko\": \"에너지 뉴트럴라이저 드론 블루프린트\", \n    \"groupName_ru\": \"Чертежи дистанционных нейтрализаторов заряда\", \n    \"groupName_zh\": \"能量中和无人机蓝图\", \n    \"groupNameID\": 267565, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1143\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1143, \n    \"groupName_de\": \"Electronic Warfare Drone Blueprint\", \n    \"groupName_en-us\": \"Electronic Warfare Drone Blueprint\", \n    \"groupName_es\": \"Plano de dron de guerra electrónica\", \n    \"groupName_fr\": \"Plan de construction Drone de guerre électronique\", \n    \"groupName_it\": \"Electronic Warfare Drone Blueprint\", \n    \"groupName_ja\": \"電子戦ドローンブループリント\", \n    \"groupName_ko\": \"전자전 드론 블루프린트\", \n    \"groupName_ru\": \"Electronic Warfare Drone Blueprint\", \n    \"groupName_zh\": \"电子战无人机蓝图\", \n    \"groupNameID\": 267566, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1144\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1144, \n    \"groupName_de\": \"Logistic Drone Blueprint\", \n    \"groupName_en-us\": \"Logistic Drone Blueprint\", \n    \"groupName_es\": \"Plano de dron logístico\", \n    \"groupName_fr\": \"Plan de construction Drone d'assistance\", \n    \"groupName_it\": \"Logistic Drone Blueprint\", \n    \"groupName_ja\": \"支援専門ドローンブループリント\", \n    \"groupName_ko\": \"로지스틱스 드론 블루프린트\", \n    \"groupName_ru\": \"Чертежи ремонтного дрона\", \n    \"groupName_zh\": \"后勤无人机蓝图\", \n    \"groupNameID\": 267567, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1145\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1145, \n    \"groupName_de\": \"Schwerer Jäger Blaupause\", \n    \"groupName_en-us\": \"Heavy Fighter Blueprint\", \n    \"groupName_es\": \"Plano de caza pesado\", \n    \"groupName_fr\": \"Plan de construction Chasseur lourd\", \n    \"groupName_it\": \"Heavy Fighter Blueprint\", \n    \"groupName_ja\": \"重量級戦闘機のブループリント\", \n    \"groupName_ko\": \"헤비 파이터 블루프린트\", \n    \"groupName_ru\": \"Чертежи тяжёлых истребителей\", \n    \"groupName_zh\": \"重型铁骑舰载机蓝图\", \n    \"groupNameID\": 267568, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1146\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1146, \n    \"groupName_de\": \"Leichter Jäger Blaupause\", \n    \"groupName_en-us\": \"Light Fighter Blueprint\", \n    \"groupName_es\": \"Plano de caza ligero\", \n    \"groupName_fr\": \"Plan de construction Chasseur léger\", \n    \"groupName_it\": \"Light Fighter Blueprint\", \n    \"groupName_ja\": \"軽量級戦闘機設計図\", \n    \"groupName_ko\": \"라이트 파이터 블루프린트\", \n    \"groupName_ru\": \"Чертежи лёгких истребителей\", \n    \"groupName_zh\": \"轻型铁骑舰载机蓝图\", \n    \"groupNameID\": 267569, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1147\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1147, \n    \"groupName_de\": \"Stasis Webifying Drone Blueprint\", \n    \"groupName_en-us\": \"Stasis Webifying Drone Blueprint\", \n    \"groupName_es\": \"Plano de dron de red ralentizadora\", \n    \"groupName_fr\": \"Plan de construction Drone de stase\", \n    \"groupName_it\": \"Stasis Webifying Drone Blueprint\", \n    \"groupName_ja\": \"ステイシスウェブドローンブループリント\", \n    \"groupName_ko\": \"웹 드론 블루프린트\", \n    \"groupName_ru\": \"Stasis Webifying Drone Blueprint\", \n    \"groupName_zh\": \"停滞缠绕无人机蓝图\", \n    \"groupNameID\": 267570, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1149\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1149, \n    \"groupName_de\": \"Mobiler Sprungunterbrecher\", \n    \"groupName_en-us\": \"Mobile Jump Disruptor\", \n    \"groupName_es\": \"Disruptor de salto móvil\", \n    \"groupName_fr\": \"Disrupteur de saut mobile\", \n    \"groupName_it\": \"Mobile Jump Disruptor\", \n    \"groupName_ja\": \"移動式ジャンプ妨害器\", \n    \"groupName_ko\": \"이동식 Jump Disruptor\", \n    \"groupName_ru\": \"Mobile Jump Disruptor\", \n    \"groupName_zh\": \"机动跳跃扰断器\", \n    \"groupNameID\": 277374, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1150\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1150, \n    \"groupName_de\": \"Panzerungsverstärker mit Beständigkeitsanpassung\", \n    \"groupName_en-us\": \"Armor Resistance Shift Hardener\", \n    \"groupName_es\": \"Endurecedor de cambio de resistencia de blindaje\", \n    \"groupName_fr\": \"Renforcement de résistance de blindage adaptatif\", \n    \"groupName_it\": \"Armor Resistance Shift Hardener\", \n    \"groupName_ja\": \"アーマーレジスタンスシフトハードナー\", \n    \"groupName_ko\": \"장갑 저항력 변환 강화장치\", \n    \"groupName_ru\": \"Система укрепления брони с автонастройкой\", \n    \"groupName_zh\": \"装甲抗性变换增强器\", \n    \"groupNameID\": 277777, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1151\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1151, \n    \"groupName_de\": \"Blueprint für Panzerungsverstärker mit Beständigkeitsanpassung\", \n    \"groupName_en-us\": \"Armor Resistance Shift Hardener Blueprint\", \n    \"groupName_es\": \"Plano de endurecedor de cambio de resistencia de blindaje\", \n    \"groupName_fr\": \"Plan de construction Renforcement de résistance de blindage adaptatif\", \n    \"groupName_it\": \"Armor Resistance Shift Hardener Blueprint\", \n    \"groupName_ja\": \"アーマーレジスタンスシフトハードナーブループリント\", \n    \"groupName_ko\": \"장갑 저항력 변환 강화장치 블루프린트\", \n    \"groupName_ru\": \"Чертежи системы укрепления брони с автонастройкой\", \n    \"groupName_zh\": \"装甲抗性变换增强器蓝图\", \n    \"groupNameID\": 278152, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1152\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1152, \n    \"groupName_de\": \"Blueprint für Drohnenschadensmodul\", \n    \"groupName_en-us\": \"Drone Damage Module Blueprint\", \n    \"groupName_es\": \"Plano de módulo de daño de drones\", \n    \"groupName_fr\": \"Plan de construction Module de dégâts causés par les drones\", \n    \"groupName_it\": \"Drone Damage Module Blueprint\", \n    \"groupName_ja\": \"ドローンダメージモジュールブループリント\", \n    \"groupName_ko\": \"드론 데미지 모듈 블루프린트\", \n    \"groupName_ru\": \"Drone Damage Module Blueprint\", \n    \"groupName_zh\": \"无人机伤害装置蓝图\", \n    \"groupNameID\": 278182, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1153\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1153, \n    \"groupName_de\": \"Shield Booster Skript\", \n    \"groupName_en-us\": \"Shield Booster Script\", \n    \"groupName_es\": \"Script de potenciador de escudo\", \n    \"groupName_fr\": \"Script de booster de bouclier\", \n    \"groupName_it\": \"Shield Booster Script\", \n    \"groupName_ja\": \"シールドブースタースクリプト\", \n    \"groupName_ko\": \"실드 부스터 스크립트\", \n    \"groupName_ru\": \"Прошивка для установки накачки силового поля\", \n    \"groupName_zh\": \"护盾回充增量脚本\", \n    \"groupNameID\": 278184, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1154\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1154, \n    \"groupName_de\": \"Signatursuppressor\", \n    \"groupName_en-us\": \"Signature Suppressor\", \n    \"groupName_es\": \"Supresor de señal\", \n    \"groupName_fr\": \"Suppresseur de signature\", \n    \"groupName_it\": \"Signature Suppressor\", \n    \"groupName_ja\": \"シグネチャサプレッサー\", \n    \"groupName_ko\": \"시그니처 억제기\", \n    \"groupName_ru\": \"Подавитель сигнатуры\", \n    \"groupName_zh\": \"信号半径抑制装置\", \n    \"groupNameID\": 278323, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1155\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1155, \n    \"groupName_de\": \"Blaupause für einen Signatursuppressor\", \n    \"groupName_en-us\": \"Signature Suppressor Blueprint\", \n    \"groupName_es\": \"Plano de supresor de señales\", \n    \"groupName_fr\": \"Plan de construction Suppresseur de signature\", \n    \"groupName_it\": \"Signature Suppressor Blueprint\", \n    \"groupName_ja\": \"シグネチャサプレッサー設計図\", \n    \"groupName_ko\": \"시그니처 억제기 블루프린트\", \n    \"groupName_ru\": \"Чертёж подавителя сигнатуры\", \n    \"groupName_zh\": \"信号半径抑制装置蓝图\", \n    \"groupNameID\": 278329, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1156\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1156, \n    \"groupName_de\": \"Ancillary-Schildbooster\", \n    \"groupName_en-us\": \"Ancillary Shield Booster\", \n    \"groupName_es\": \"Potenciador de escudo auxiliar\", \n    \"groupName_fr\": \"Booster de bouclier annexe\", \n    \"groupName_it\": \"Ancillary Shield Booster\", \n    \"groupName_ja\": \"補助シールドブースター\", \n    \"groupName_ko\": \"보조 실드 부스터\", \n    \"groupName_ru\": \"Установки вспомогательной накачки силового поля\", \n    \"groupName_zh\": \"辅助护盾回充增量器\", \n    \"groupNameID\": 278395, \n    \"iconID\": 10935, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1157\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1157, \n    \"groupName_de\": \"Blueprint für Fueled Shield Booster\", \n    \"groupName_en-us\": \"Fueled Shield Booster Blueprint\", \n    \"groupName_es\": \"Plano de potenciador de escudo alentado\", \n    \"groupName_fr\": \"Plan de construction Booster de bouclier alimenté\", \n    \"groupName_it\": \"Fueled Shield Booster Blueprint\", \n    \"groupName_ja\": \"燃料方式シールドブースターブループリント\", \n    \"groupName_ko\": \"연료 실드 부스터 블루프린트\", \n    \"groupName_ru\": \"Fueled Shield Booster Blueprint\", \n    \"groupName_zh\": \"燃料式护盾回充增量器蓝图\", \n    \"groupNameID\": 278405, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1158\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1158, \n    \"groupName_de\": \"Schwere Defender Missile\", \n    \"groupName_en-us\": \"Heavy Defender Missile\", \n    \"groupName_es\": \"Misil de defensa pesado\", \n    \"groupName_fr\": \"Missile défenseur lourd\", \n    \"groupName_it\": \"Heavy Defender Missile\", \n    \"groupName_ja\": \"大型防衛ミサイル\", \n    \"groupName_ko\": \"헤비 디펜더 미사일\", \n    \"groupName_ru\": \"Противоракета большой мощности\", \n    \"groupName_zh\": \"重型反弹道导弹\", \n    \"groupNameID\": 278461, \n    \"iconID\": 192, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1159\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 18, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1159, \n    \"groupName_de\": \"Bergungsdrohne\", \n    \"groupName_en-us\": \"Salvage Drone\", \n    \"groupName_es\": \"Dron recuperador\", \n    \"groupName_fr\": \"Drone de récupération\", \n    \"groupName_it\": \"Salvage Drone\", \n    \"groupName_ja\": \"サルベージドローン\", \n    \"groupName_ko\": \"샐비지 드론\", \n    \"groupName_ru\": \"Дрон-демонтажник\", \n    \"groupName_zh\": \"打捞无人机\", \n    \"groupNameID\": 278654, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1160\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1160, \n    \"groupName_de\": \"Blueprints für Überwachungssonden\", \n    \"groupName_en-us\": \"Survey Probe Blueprints\", \n    \"groupName_es\": \"Planos de sonda de prospección\", \n    \"groupName_fr\": \"Plans de construction Sonde d'inspection\", \n    \"groupName_it\": \"Survey Probe Blueprints\", \n    \"groupName_ja\": \"衛星調査プローブブループリント\", \n    \"groupName_ko\": \"조사 프로브 블루프린트\", \n    \"groupName_ru\": \"Чертежи лунного зонда\", \n    \"groupName_zh\": \"测量探针蓝图\", \n    \"groupNameID\": 281035, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1162\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1162, \n    \"groupName_de\": \"Blueprints für Container\", \n    \"groupName_en-us\": \"Container Blueprints\", \n    \"groupName_es\": \"Planos de contenedor\", \n    \"groupName_fr\": \"Plans de construction Conteneur\", \n    \"groupName_it\": \"Container Blueprints\", \n    \"groupName_ja\": \"コンテナブループリント\", \n    \"groupName_ko\": \"컨테이너 블루프린트\", \n    \"groupName_ru\": \"Чертежи контейнеров\", \n    \"groupName_zh\": \"货柜蓝图\", \n    \"groupNameID\": 281234, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1165\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1165, \n    \"groupName_de\": \"Satellit\", \n    \"groupName_en-us\": \"Satellite\", \n    \"groupName_es\": \"Satélite\", \n    \"groupName_fr\": \"Satellite\", \n    \"groupName_it\": \"Satellite\", \n    \"groupName_ja\": \"サテライト\", \n    \"groupName_ko\": \"인공위성\", \n    \"groupName_ru\": \"Спутник\", \n    \"groupName_zh\": \"人造卫星\", \n    \"groupNameID\": 282854, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1166\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1166, \n    \"groupName_de\": \"FW Fregatte der Republik Minmatar\", \n    \"groupName_en-us\": \"FW Minmatar Republic Frigate\", \n    \"groupName_es\": \"Fragata de la República Minmatar (GF)\", \n    \"groupName_fr\": \"Frégate République minmatar GF\", \n    \"groupName_it\": \"FW Minmatar Republic Frigate\", \n    \"groupName_ja\": \"FWミンマター共和国フリゲート\", \n    \"groupName_ko\": \"FW 민마타 프리깃\", \n    \"groupName_ru\": \"Фрегат ополчения Республики Минматар\", \n    \"groupName_zh\": \"势力战争米玛塔尔共和国护卫舰\", \n    \"groupNameID\": 283244, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1167\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1167, \n    \"groupName_de\": \"FW Fregatte des Staats der Caldari\", \n    \"groupName_en-us\": \"FW Caldari State Frigate\", \n    \"groupName_es\": \"Fragata de GF del Estado Caldari\", \n    \"groupName_fr\": \"Frégate État caldari GF\", \n    \"groupName_it\": \"FW Caldari State Frigate\", \n    \"groupName_ja\": \"FWカルダリ連合フリゲート\", \n    \"groupName_ko\": \"FW 칼다리 프리깃\", \n    \"groupName_ru\": \"Фрегат ополчения Государства Калдари\", \n    \"groupName_zh\": \"势力战争加达里合众国护卫舰\", \n    \"groupNameID\": 283255, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1168\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1168, \n    \"groupName_de\": \"FW Fregatte der Föderation der Gallente\", \n    \"groupName_en-us\": \"FW Gallente Federation Frigate\", \n    \"groupName_es\": \"Fragata de GF de la Federación Gallente\", \n    \"groupName_fr\": \"Frégate Fédération gallente GF\", \n    \"groupName_it\": \"FW Gallente Federation Frigate\", \n    \"groupName_ja\": \"FWガレンテ連邦フリゲート\", \n    \"groupName_ko\": \"FW 갈란테 프리깃\", \n    \"groupName_ru\": \"Фрегат ополчения Галлентской Федерации\", \n    \"groupName_zh\": \"势力战争盖伦特联邦护卫舰\", \n    \"groupNameID\": 283260, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1169\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1169, \n    \"groupName_de\": \"FW Fregatte des Amarr-Imperiums\", \n    \"groupName_en-us\": \"FW Amarr Empire Frigate\", \n    \"groupName_es\": \"Fragata de GF del Imperio Amarr\", \n    \"groupName_fr\": \"Frégate Empire amarr GF\", \n    \"groupName_it\": \"FW Amarr Empire Frigate\", \n    \"groupName_ja\": \"FWアマー帝国フリゲート\", \n    \"groupName_ko\": \"FW 아마르 프리깃\", \n    \"groupName_ru\": \"Фрегат ополчения Амаррской Империи\", \n    \"groupName_zh\": \"势力战争艾玛帝国护卫舰\", \n    \"groupNameID\": 283263, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1174\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1174, \n    \"groupName_de\": \"Asteroiden: Raubdrohnenoffizier\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Officer\", \n    \"groupName_es\": \"Oficial de asteroide de dron rebelde\", \n    \"groupName_fr\": \"Officier drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Officer\", \n    \"groupName_ja\": \"アステロイドローグドローン士官\", \n    \"groupName_ko\": \"소행성 로그 드론 장교\", \n    \"groupName_ru\": \"Asteroid Rogue Drone Officer\", \n    \"groupName_zh\": \"小行星自由无人机官员\", \n    \"groupNameID\": 283414, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1175\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1175, \n    \"groupName_de\": \"FW Zerstörer des Amarr-Imperiums\", \n    \"groupName_en-us\": \"FW Amarr Empire Destroyer\", \n    \"groupName_es\": \"Destructor de GF del Imperio Amarr\", \n    \"groupName_fr\": \"Destroyer Empire amarr GF\", \n    \"groupName_it\": \"FW Amarr Empire Destroyer\", \n    \"groupName_ja\": \"FWアマー帝国駆逐艦\", \n    \"groupName_ko\": \"FW 아마르 디스트로이어\", \n    \"groupName_ru\": \"Эсминец ополчения Амаррской Империи\", \n    \"groupName_zh\": \"势力战争艾玛帝国驱逐舰\", \n    \"groupNameID\": 283415, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1176\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1176, \n    \"groupName_de\": \"FW Zerstörer des Staats der Caldari\", \n    \"groupName_en-us\": \"FW Caldari State Destroyer\", \n    \"groupName_es\": \"Destructor de GF del Estado Caldari\", \n    \"groupName_fr\": \"Destroyer État caldari GF\", \n    \"groupName_it\": \"FW Caldari State Destroyer\", \n    \"groupName_ja\": \"FWカルダリ連合駆逐艦\", \n    \"groupName_ko\": \"FW 칼다리 디스트로이어\", \n    \"groupName_ru\": \"Эсминец ополчения Государства Калдари\", \n    \"groupName_zh\": \"势力战争加达里合众国驱逐舰\", \n    \"groupNameID\": 283416, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1177\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1177, \n    \"groupName_de\": \"FW Zerstörer der Gallente-Föderation\", \n    \"groupName_en-us\": \"FW Gallente Federation Destroyer\", \n    \"groupName_es\": \"Destructor de GF de la Federación Gallente\", \n    \"groupName_fr\": \"Destroyer Fédération gallente GF\", \n    \"groupName_it\": \"FW Gallente Federation Destroyer\", \n    \"groupName_ja\": \"FWガレンテ連邦駆逐艦\", \n    \"groupName_ko\": \"FW 갈란테 디스트로이어\", \n    \"groupName_ru\": \"Эсминец ополчения Галлентской Федерации\", \n    \"groupName_zh\": \"势力战争盖伦特联邦驱逐舰\", \n    \"groupNameID\": 283417, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1178\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1178, \n    \"groupName_de\": \"FW Zerstörer der Republik Minmatar\", \n    \"groupName_en-us\": \"FW Minmatar Republic Destroyer\", \n    \"groupName_es\": \"Destructor de GF de la República Minmatar\", \n    \"groupName_fr\": \"Destroyer République minmatar GF\", \n    \"groupName_it\": \"FW Minmatar Republic Destroyer\", \n    \"groupName_ja\": \"FWミンマター共和国駆逐艦\", \n    \"groupName_ko\": \"FW 민마타 디스트로이어\", \n    \"groupName_ru\": \"Эсминец ополчения Республики Минматар\", \n    \"groupName_zh\": \"势力战争米玛塔尔共和国驱逐舰\", \n    \"groupNameID\": 283418, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1179\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1179, \n    \"groupName_de\": \"FW Kreuzer des Amarr-Imperiums\", \n    \"groupName_en-us\": \"FW Amarr Empire Cruiser\", \n    \"groupName_es\": \"Crucero de GF del Imperio Amarr\", \n    \"groupName_fr\": \"Croiseur Empire amarr GF\", \n    \"groupName_it\": \"FW Amarr Empire Cruiser\", \n    \"groupName_ja\": \"FWアマー帝国巡洋艦\", \n    \"groupName_ko\": \"FW 아마르 크루저\", \n    \"groupName_ru\": \"Крейсер ополчения Амаррской Империи\", \n    \"groupName_zh\": \"势力战争艾玛帝国巡洋舰\", \n    \"groupNameID\": 283424, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1180\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1180, \n    \"groupName_de\": \"FW Kreuzer des Staats der Caldari\", \n    \"groupName_en-us\": \"FW Caldari State Cruiser\", \n    \"groupName_es\": \"Crucero de GF del Estado Caldari\", \n    \"groupName_fr\": \"Croiseur État caldari GF\", \n    \"groupName_it\": \"FW Caldari State Cruiser\", \n    \"groupName_ja\": \"FWカルダリ連合巡洋艦\", \n    \"groupName_ko\": \"FW 칼다리 크루저\", \n    \"groupName_ru\": \"Крейсер ополчения Государства Калдари\", \n    \"groupName_zh\": \"势力战争加达里合众国巡洋舰\", \n    \"groupNameID\": 283425, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1181\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1181, \n    \"groupName_de\": \"FW Kreuzer der Gallente-Föderation\", \n    \"groupName_en-us\": \"FW Gallente Federation Cruiser\", \n    \"groupName_es\": \"Crucero de GF de la Federación Gallente\", \n    \"groupName_fr\": \"Croiseur Fédération gallente GF\", \n    \"groupName_it\": \"FW Gallente Federation Cruiser\", \n    \"groupName_ja\": \"FWガレンテ連邦巡洋艦\", \n    \"groupName_ko\": \"FW 갈란테 크루저\", \n    \"groupName_ru\": \"Крейсер ополчения Галлентской Федерации\", \n    \"groupName_zh\": \"势力战争盖伦特联邦巡洋舰\", \n    \"groupNameID\": 283426, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1182\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1182, \n    \"groupName_de\": \"FW Kreuzer der Republik Minmatar\", \n    \"groupName_en-us\": \"FW Minmatar Republic Cruiser\", \n    \"groupName_es\": \"Crucero de GF de la República Minmatar\", \n    \"groupName_fr\": \"Croiseur République minmatar GF\", \n    \"groupName_it\": \"FW Minmatar Republic Cruiser\", \n    \"groupName_ja\": \"FWミンマター共和国巡洋艦\", \n    \"groupName_ko\": \"FW 민마타 크루저\", \n    \"groupName_ru\": \"Крейсер ополчения Республики Минматар\", \n    \"groupName_zh\": \"势力战争米玛塔尔共和国巡洋舰\", \n    \"groupNameID\": 283427, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1183\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1183, \n    \"groupName_de\": \"FW Schlachtkreuzer des Amarr-Imperiums\", \n    \"groupName_en-us\": \"FW Amarr Empire Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de GF del Imperio Amarr\", \n    \"groupName_fr\": \"Croiseur de bataille Empire amarr GF\", \n    \"groupName_it\": \"FW Amarr Empire Battlecruiser\", \n    \"groupName_ja\": \"FWアマー帝国巡洋戦艦\", \n    \"groupName_ko\": \"FW 아마르 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер ополчения Амаррской Империи\", \n    \"groupName_zh\": \"势力战争艾玛帝国战列舰\", \n    \"groupNameID\": 283434, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1184\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1184, \n    \"groupName_de\": \"FW Schlachtkreuzer des Staats der Caldari\", \n    \"groupName_en-us\": \"FW Caldari State Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de GF del Estado Caldari\", \n    \"groupName_fr\": \"Croiseur de bataille État caldari GF\", \n    \"groupName_it\": \"FW Caldari State Battlecruiser\", \n    \"groupName_ja\": \"FWカルダリ連合巡洋戦艦\", \n    \"groupName_ko\": \"FW 칼다리 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер ополчения Государства Калдари\", \n    \"groupName_zh\": \"势力战争加达里合众国战列舰\", \n    \"groupNameID\": 283435, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1185\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1185, \n    \"groupName_de\": \"FW Schlachtkreuzer der Gallente-Föderation\", \n    \"groupName_en-us\": \"FW Gallente Federation Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de GF de la Federación Gallente\", \n    \"groupName_fr\": \"Croiseur de bataille Fédération gallente GF\", \n    \"groupName_it\": \"FW Gallente Federation Battlecruiser\", \n    \"groupName_ja\": \"FWガレンテ連邦巡洋戦艦\", \n    \"groupName_ko\": \"FW 갈란테 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер ополчения Галлентской Федерации\", \n    \"groupName_zh\": \"势力战争盖伦特联邦战列舰\", \n    \"groupNameID\": 283436, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1186\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1186, \n    \"groupName_de\": \"FW Schlachtkreuzer der Republik Minmatar\", \n    \"groupName_en-us\": \"FW Minmatar Republic Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de GF de la República Minmatar\", \n    \"groupName_fr\": \"Croiseur de bataille République minmatar GF\", \n    \"groupName_it\": \"FW Minmatar Republic Battlecruiser\", \n    \"groupName_ja\": \"FWミンマター共和国巡洋戦艦\", \n    \"groupName_ko\": \"FW 민마타 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер ополчения Республики Минматар\", \n    \"groupName_zh\": \"势力战争米玛塔尔共和国战列舰\", \n    \"groupNameID\": 283437, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1189\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1189, \n    \"groupName_de\": \"Mikrosprungantrieb\", \n    \"groupName_en-us\": \"Micro Jump Drive\", \n    \"groupName_es\": \"Motor de microsalto\", \n    \"groupName_fr\": \"Propulseur de microsauts\", \n    \"groupName_it\": \"Micro Jump Drive\", \n    \"groupName_ja\": \"マイクロジャンプドライブ\", \n    \"groupName_ko\": \"마이크로 점프 드라이브\", \n    \"groupName_ru\": \"Маневровый гипердвигатель\", \n    \"groupName_zh\": \"微型跳跃引擎\", \n    \"groupNameID\": 283654, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1190\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1190, \n    \"groupName_de\": \"Blueprint für Bergungsdrohne\", \n    \"groupName_en-us\": \"Salvage Drone Blueprint\", \n    \"groupName_es\": \"Plano de dron recuperador\", \n    \"groupName_fr\": \"Plan de construction Drone de récupération\", \n    \"groupName_it\": \"Salvage Drone Blueprint\", \n    \"groupName_ja\": \"サルベージドローンブループリント\", \n    \"groupName_ko\": \"샐비지 드론 블루프린트\", \n    \"groupName_ru\": \"Чертежи дрона-демонтажника\", \n    \"groupName_zh\": \"打捞无人机蓝图\", \n    \"groupNameID\": 283655, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1191\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1191, \n    \"groupName_de\": \"Blueprint für Microsprungantrieb\", \n    \"groupName_en-us\": \"Micro Jump Drive Blueprint\", \n    \"groupName_es\": \"Plano de motor de microsalto\", \n    \"groupName_fr\": \"Plan de construction Propulseur de microsauts\", \n    \"groupName_it\": \"Micro Jump Drive Blueprint\", \n    \"groupName_ja\": \"マイクロジャンプドライブブループリント\", \n    \"groupName_ko\": \"마이크로 점프 드라이브 블루프린트\", \n    \"groupName_ru\": \"Чертежи маневрового гипердвигателя\", \n    \"groupName_zh\": \"微型跳跃引擎蓝图\", \n    \"groupNameID\": 283702, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1194\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 63, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1194, \n    \"groupName_de\": \"Sonderversionen: Handelsgüter\", \n    \"groupName_en-us\": \"Special Edition Commodities\", \n    \"groupName_es\": \"Mercancías de edición especial\", \n    \"groupName_fr\": \"Marchandises édition spéciale\", \n    \"groupName_it\": \"Special Edition Commodities\", \n    \"groupName_ja\": \"特別版加工品\", \n    \"groupName_ko\": \"스페셜 에디션 아이템\", \n    \"groupName_ru\": \"Товары из особых изданий\", \n    \"groupName_zh\": \"特别版商品\", \n    \"groupNameID\": 285071, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1195\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 63, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1195, \n    \"groupName_de\": \"Turnierkarten: New Eden Open YC 114\", \n    \"groupName_en-us\": \"Tournament Cards: New Eden Open YC 114\", \n    \"groupName_es\": \"Cartas del torneo: Open de Nuevo Edén del 114 CY\", \n    \"groupName_fr\": \"Cartes de tournoi : New Eden Open 114 après CY\", \n    \"groupName_it\": \"Tournament Cards: New Eden Open YC 114\", \n    \"groupName_ja\": \"トーナメントカード:ニューエデンオープンYC 114\", \n    \"groupName_ko\": \"토너먼트 카드: 뉴에덴 오픈 YC 114년\", \n    \"groupName_ru\": \"Турнирные карты: New Eden Open YC 114\", \n    \"groupName_zh\": \"锦标赛卡片：YC114年新伊甸公开赛\", \n    \"groupNameID\": 285103, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1197\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1197, \n    \"groupName_de\": \"Sonderversionen: Blueprints\", \n    \"groupName_en-us\": \"Special Edition Commodity Blueprints\", \n    \"groupName_es\": \"Planos de mercancías de edición especial\", \n    \"groupName_fr\": \"Plans de construction Marchandises édition spéciale\", \n    \"groupName_it\": \"Special Edition Commodity Blueprints\", \n    \"groupName_ja\": \"特別版加工品ブループリント\", \n    \"groupName_ko\": \"스페셜 에디션 상품 블루프린트\", \n    \"groupName_ru\": \"Чертежи товаров из особых изданий\", \n    \"groupName_zh\": \"特别版商品蓝图\", \n    \"groupNameID\": 285267, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1198\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1198, \n    \"groupName_de\": \"Orbitalziel\", \n    \"groupName_en-us\": \"Orbital Target\", \n    \"groupName_es\": \"Objetivo orbital\", \n    \"groupName_fr\": \"Cible orbitale\", \n    \"groupName_it\": \"Orbital Target\", \n    \"groupName_ja\": \"軌道爆撃目標\", \n    \"groupName_ko\": \"궤도 타겟\", \n    \"groupName_ru\": \"Орбитальная цель\", \n    \"groupName_zh\": \"轨道目标\", \n    \"groupNameID\": 285507, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1199\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1199, \n    \"groupName_de\": \"Ancillary-Panzerungsreperatursystem\", \n    \"groupName_en-us\": \"Ancillary Armor Repairer\", \n    \"groupName_es\": \"Reparador de blindaje auxiliar\", \n    \"groupName_fr\": \"Réparateur de blindage annexe\", \n    \"groupName_it\": \"Ancillary Armor Repairer\", \n    \"groupName_ja\": \"補助アーマーリペアラ\", \n    \"groupName_ko\": \"보조 장갑수리 장치\", \n    \"groupName_ru\": \"Установки вспомогательного ремонта брони\", \n    \"groupName_zh\": \"辅助装甲维修器\", \n    \"groupNameID\": 286328, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1200\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1200, \n    \"groupName_de\": \"Fueled Armor Repairer Blueprint\", \n    \"groupName_en-us\": \"Fueled Armor Repairer Blueprint\", \n    \"groupName_es\": \"Plano de reparador de blindaje alentado\", \n    \"groupName_fr\": \"Plan de construction Réparateur de blindage alimenté\", \n    \"groupName_it\": \"Fueled Armor Repairer Blueprint\", \n    \"groupName_ja\": \"燃料式アーマーリペアラブループリント\", \n    \"groupName_ko\": \"연료 장갑수리 장치 블루프린트\", \n    \"groupName_ru\": \"Fueled Armor Repairer Blueprint\", \n    \"groupName_zh\": \"燃料式装甲维修器蓝图\", \n    \"groupNameID\": 286440, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1201\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1201, \n    \"groupName_de\": \"Angriff-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Attack Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de ataque\", \n    \"groupName_fr\": \"Croiseur de bataille d'attaque\", \n    \"groupName_it\": \"Attack Battlecruiser\", \n    \"groupName_ja\": \"強襲巡洋戦艦\", \n    \"groupName_ko\": \"어택 배틀크루저\", \n    \"groupName_ru\": \"Быстроходный линейный крейсер\", \n    \"groupName_zh\": \"攻击战列巡洋舰\", \n    \"groupNameID\": 286659, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1202\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1202, \n    \"groupName_de\": \"Blockade Runner\", \n    \"groupName_en-us\": \"Blockade Runner\", \n    \"groupName_es\": \"Nave de bloqueo\", \n    \"groupName_fr\": \"Forceur de blocus\", \n    \"groupName_it\": \"Blockade Runner\", \n    \"groupName_ja\": \"封鎖突破輸送艦\", \n    \"groupName_ko\": \"블록케이드 러너\", \n    \"groupName_ru\": \"Корабль прорыва блокады\", \n    \"groupName_zh\": \"偷运舰\", \n    \"groupNameID\": 286698, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1206\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1206, \n    \"groupName_de\": \"Sicherheitsmarken\", \n    \"groupName_en-us\": \"Security Tags\", \n    \"groupName_es\": \"Chapas de seguridad\", \n    \"groupName_fr\": \"Insignes de sécurité\", \n    \"groupName_it\": \"Security Tags\", \n    \"groupName_ja\": \"セキュリティタグ\", \n    \"groupName_ko\": \"보안 태그\", \n    \"groupName_ru\": \"Пиратские бирки\", \n    \"groupName_zh\": \"安全等级铭牌\", \n    \"groupNameID\": 287123, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1207\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1207, \n    \"groupName_de\": \"Scatter-Container\", \n    \"groupName_en-us\": \"Scatter Container\", \n    \"groupName_es\": \"Contenedor de dispersión\", \n    \"groupName_fr\": \"Conteneur dispersé\", \n    \"groupName_it\": \"Scatter Container\", \n    \"groupName_ja\": \"散らばったコンテナ\", \n    \"groupName_ko\": \"흩어진 컨테이너\", \n    \"groupName_ru\": \"Эвакуационный контейнер\", \n    \"groupName_zh\": \"散落货柜\", \n    \"groupNameID\": 287802, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1209\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1209, \n    \"groupName_de\": \"Schilde\", \n    \"groupName_en-us\": \"Shields\", \n    \"groupName_es\": \"Escudos\", \n    \"groupName_fr\": \"Boucliers\", \n    \"groupName_it\": \"Shields\", \n    \"groupName_ja\": \"シールド\", \n    \"groupName_ko\": \"실드\", \n    \"groupName_ru\": \"Защита кораблей силовыми полями\", \n    \"groupName_zh\": \"护盾\", \n    \"groupNameID\": 287834, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1210\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1210, \n    \"groupName_de\": \"Panzerung\", \n    \"groupName_en-us\": \"Armor\", \n    \"groupName_es\": \"Blindaje\", \n    \"groupName_fr\": \"Blindage\", \n    \"groupName_it\": \"Armor\", \n    \"groupName_ja\": \"アーマー\", \n    \"groupName_ko\": \"장갑\", \n    \"groupName_ru\": \"Укрепление брони\", \n    \"groupName_zh\": \"装甲\", \n    \"groupNameID\": 287835, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1212\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1212, \n    \"groupName_de\": \"Persönlicher Hangar\", \n    \"groupName_en-us\": \"Personal Hangar\", \n    \"groupName_es\": \"Hangar personal\", \n    \"groupName_fr\": \"Hangar personnel\", \n    \"groupName_it\": \"Personal Hangar\", \n    \"groupName_ja\": \"個人ハンガー\", \n    \"groupName_ko\": \"아이템 창고\", \n    \"groupName_ru\": \"Личный ангар\", \n    \"groupName_zh\": \"个人机库\", \n    \"groupNameID\": 287837, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1213\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1213, \n    \"groupName_de\": \"Zielaufschaltung\", \n    \"groupName_en-us\": \"Targeting\", \n    \"groupName_es\": \"Adquisición de objetivos\", \n    \"groupName_fr\": \"Ciblage\", \n    \"groupName_it\": \"Targeting\", \n    \"groupName_ja\": \"ターゲット\", \n    \"groupName_ko\": \"타겟팅\", \n    \"groupName_ru\": \"Целеуказание\", \n    \"groupName_zh\": \"锁定系统\", \n    \"groupNameID\": 287841, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1216\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1216, \n    \"groupName_de\": \"Ingenieurwesen\", \n    \"groupName_en-us\": \"Engineering\", \n    \"groupName_es\": \"Ingeniería\", \n    \"groupName_fr\": \"Ingénierie\", \n    \"groupName_it\": \"Engineering\", \n    \"groupName_ja\": \"エンジニアリング\", \n    \"groupName_ko\": \"엔지니어링\", \n    \"groupName_ru\": \"Эксплуатация бортовых систем\", \n    \"groupName_zh\": \"工程学\", \n    \"groupNameID\": 287846, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1217\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1217, \n    \"groupName_de\": \"Scannen\", \n    \"groupName_en-us\": \"Scanning\", \n    \"groupName_es\": \"Escaneo\", \n    \"groupName_fr\": \"Détection\", \n    \"groupName_it\": \"Scanning\", \n    \"groupName_ja\": \"スキャン\", \n    \"groupName_ko\": \"스캔\", \n    \"groupName_ru\": \"Сбор данных\", \n    \"groupName_zh\": \"扫描\", \n    \"groupNameID\": 287847, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1218\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1218, \n    \"groupName_de\": \"Ressourcenverarbeitung\", \n    \"groupName_en-us\": \"Resource Processing\", \n    \"groupName_es\": \"Procesamiento de recursos\", \n    \"groupName_fr\": \"Traitement des ressources\", \n    \"groupName_it\": \"Resource Processing\", \n    \"groupName_ja\": \"資源加工\", \n    \"groupName_ko\": \"자원 정제\", \n    \"groupName_ru\": \"Добыча и переработка сырья\", \n    \"groupName_zh\": \"资源处理\", \n    \"groupNameID\": 287848, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1220\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1220, \n    \"groupName_de\": \"Neuralverbesserung\", \n    \"groupName_en-us\": \"Neural Enhancement\", \n    \"groupName_es\": \"Mejora neuronal\", \n    \"groupName_fr\": \"Amélioration neurale\", \n    \"groupName_it\": \"Neural Enhancement\", \n    \"groupName_ja\": \"神経強化\", \n    \"groupName_ko\": \"신경망 향상\", \n    \"groupName_ru\": \"Подключение нейротехники\", \n    \"groupName_zh\": \"神经增强\", \n    \"groupNameID\": 287849, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1222\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1222, \n    \"groupName_de\": \"Blueprint für ECM-Stabilisator\", \n    \"groupName_en-us\": \"ECM Stabilizer Blueprint\", \n    \"groupName_es\": \"Plano de estabilizador de ECM\", \n    \"groupName_fr\": \"Plan de construction Stabilisateur CME\", \n    \"groupName_it\": \"ECM Stabilizer Blueprint\", \n    \"groupName_ja\": \"ECMスタビライザーブループリント\", \n    \"groupName_ko\": \"ECM 안정기 블루프린트\", \n    \"groupName_ru\": \"ECM Stabilizer Blueprint\", \n    \"groupName_zh\": \"ECM稳定器蓝图\", \n    \"groupNameID\": 288144, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1223\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1223, \n    \"groupName_de\": \"Scannen des Upgrades\", \n    \"groupName_en-us\": \"Scanning Upgrade\", \n    \"groupName_es\": \"Mejora de escaneo\", \n    \"groupName_fr\": \"Amélioration de détection\", \n    \"groupName_it\": \"Scanning Upgrade\", \n    \"groupName_ja\": \"スキャン強化\", \n    \"groupName_ko\": \"스캔 업그레이드\", \n    \"groupName_ru\": \"Пакет модернизации для систем сканирования\", \n    \"groupName_zh\": \"扫描升级\", \n    \"groupNameID\": 288148, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1224\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1224, \n    \"groupName_de\": \"Blueprint für das Scannen von Upgrades\", \n    \"groupName_en-us\": \"Scanning Upgrade Blueprint\", \n    \"groupName_es\": \"Plano de mejora de escaneo\", \n    \"groupName_fr\": \"Plan de construction Amélioration de détection\", \n    \"groupName_it\": \"Scanning Upgrade Blueprint\", \n    \"groupName_ja\": \"スキャン強化ブループリント\", \n    \"groupName_ko\": \"스캔 업그레이드 블루프린트\", \n    \"groupName_ru\": \"Scanning Upgrade Blueprint\", \n    \"groupName_zh\": \"扫描升级蓝图\", \n    \"groupNameID\": 288158, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1225\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 63, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1225, \n    \"groupName_de\": \"Turnierkarten: Allianzturnier-Bestenmannschaften\", \n    \"groupName_en-us\": \"Tournament Cards: Alliance Tournament All Stars\", \n    \"groupName_es\": \"Cartas del torneo: All Stars del Torneo de Alianzas\", \n    \"groupName_fr\": \"Cartes de tournoi : Vedettes du Tournoi des alliances\", \n    \"groupName_it\": \"Tournament Cards: Alliance Tournament All Stars\", \n    \"groupName_ja\": \"トーナメントカード：アライアンストーナメントオールスター\", \n    \"groupName_ko\": \"토너먼트 카드: 얼라이언스 토너먼트 올스타\", \n    \"groupName_ru\": \"Коллекционные карты турниров между альянсами: звездные команды\", \n    \"groupName_zh\": \"锦标赛卡片：全明星队\", \n    \"groupNameID\": 288338, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1226\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1226, \n    \"groupName_de\": \"Vermessungssondenwerfer\", \n    \"groupName_en-us\": \"Survey Probe Launcher\", \n    \"groupName_es\": \"lanzasondas de prospección\", \n    \"groupName_fr\": \"Lanceur de sonde d'inspection\", \n    \"groupName_it\": \"Survey Probe Launcher\", \n    \"groupName_ja\": \"衛星調査プローブランチャー\", \n    \"groupName_ko\": \"조사 프로브 런처\", \n    \"groupName_ru\": \"Пусковая установка лунных зондов\", \n    \"groupName_zh\": \"测量探针发射器\", \n    \"groupNameID\": 288482, \n    \"iconID\": 2677, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1227\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1227, \n    \"groupName_de\": \"Blaupause für Vermessungssondenwerfer\", \n    \"groupName_en-us\": \"Survey Probe Launcher Blueprint\", \n    \"groupName_es\": \"Plano de lanzasondas de prospección\", \n    \"groupName_fr\": \"Plan de construction Lanceur de sonde d'inspection\", \n    \"groupName_it\": \"Survey Probe Launcher Blueprint\", \n    \"groupName_ja\": \"衛星調査プローブランチャーブループリント\", \n    \"groupName_ko\": \"조사 프로브 런처 블루프린트\", \n    \"groupName_ru\": \"Чертежи пусковой установки лунных зондов\", \n    \"groupName_zh\": \"测量探针发射器蓝图\", \n    \"groupNameID\": 288490, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1228\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1228, \n    \"groupName_de\": \"Cyber-Zielaufschaltung\", \n    \"groupName_en-us\": \"Cyber Targeting\", \n    \"groupName_es\": \"Ciberadquisición de objetivos\", \n    \"groupName_fr\": \"Ciblage cybernétique\", \n    \"groupName_it\": \"Cyber Targeting\", \n    \"groupName_ja\": \"サイバー - ターゲット\", \n    \"groupName_ko\": \"사이버 타겟팅\", \n    \"groupName_ru\": \"Кибер-целеуказание\", \n    \"groupName_zh\": \"脑控锁定\", \n    \"groupNameID\": 288909, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1229\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1229, \n    \"groupName_de\": \"Cyber-Ressourcenverarbeitung\", \n    \"groupName_en-us\": \"Cyber Resource Processing\", \n    \"groupName_es\": \"Ciberprocesamiento de recursos\", \n    \"groupName_fr\": \"Traitement de ressources cybernétiques\", \n    \"groupName_it\": \"Cyber Resource Processing\", \n    \"groupName_ja\": \"サイバー - 資源加工\", \n    \"groupName_ko\": \"사이버 자원 정제\", \n    \"groupName_ru\": \"Кибер-переработка ресурсов\", \n    \"groupName_zh\": \"脑控资源处理\", \n    \"groupNameID\": 288910, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1230\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1230, \n    \"groupName_de\": \"Cyber-Scannen\", \n    \"groupName_en-us\": \"Cyber Scanning\", \n    \"groupName_es\": \"Ciberescaneo por sonda\", \n    \"groupName_fr\": \"Balayage cybernétique\", \n    \"groupName_it\": \"Cyber Scanning\", \n    \"groupName_ja\": \"サイバー - スキャン\", \n    \"groupName_ko\": \"사이버 스캔\", \n    \"groupName_ru\": \"Кибер-сканирование\", \n    \"groupName_zh\": \"脑控扫描\", \n    \"groupNameID\": 288911, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1231\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1231, \n    \"groupName_de\": \"Cyber-Biologie\", \n    \"groupName_en-us\": \"Cyber Biology\", \n    \"groupName_es\": \"Ciberbiología\", \n    \"groupName_fr\": \"Biologie cybernétique\", \n    \"groupName_it\": \"Cyber Biology\", \n    \"groupName_ja\": \"サイバー - 生物学\", \n    \"groupName_ko\": \"사이버 생물학\", \n    \"groupName_ru\": \"Кибер-биология\", \n    \"groupName_zh\": \"脑控生物学\", \n    \"groupNameID\": 288912, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1232\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1232, \n    \"groupName_de\": \"Ressourcenverarbeitung unter Verwendung von Ausrüstungsgegenständen\", \n    \"groupName_en-us\": \"Rig Resource Processing\", \n    \"groupName_es\": \"Procesamiento de recursos de complemento\", \n    \"groupName_fr\": \"Traitement de ressource optimisé\", \n    \"groupName_it\": \"Rig Resource Processing\", \n    \"groupName_ja\": \"リグ - 資源加工\", \n    \"groupName_ko\": \"리그 자원 정제\", \n    \"groupName_ru\": \"Тюнинг-модуль для переработки ресурсов\", \n    \"groupName_zh\": \"改装件资源处理\", \n    \"groupNameID\": 288913, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1233\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1233, \n    \"groupName_de\": \"Scannen unter Verwendung von Ausrüstungsgegenständen\", \n    \"groupName_en-us\": \"Rig Scanning\", \n    \"groupName_es\": \"Escaneo de complemento\", \n    \"groupName_fr\": \"Balayage optimisé\", \n    \"groupName_it\": \"Rig Scanning\", \n    \"groupName_ja\": \"リグ - スキャン\", \n    \"groupName_ko\": \"리그 스캔\", \n    \"groupName_ru\": \"Тюнинг-модуль для сканирования\", \n    \"groupName_zh\": \"改装件扫描\", \n    \"groupNameID\": 288914, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1234\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1234, \n    \"groupName_de\": \"Zielerfassung unter Verwendung von Ausrüstungsgegenständen\", \n    \"groupName_en-us\": \"Rig Targeting\", \n    \"groupName_es\": \"Adquisición de objetivos de complemento\", \n    \"groupName_fr\": \"Ciblage optimisé\", \n    \"groupName_it\": \"Rig Targeting\", \n    \"groupName_ja\": \"リグ - ターゲット\", \n    \"groupName_ko\": \"리그 타겟팅\", \n    \"groupName_ru\": \"Тюнинг-модуль для целеуказания\", \n    \"groupName_zh\": \"改装件锁定\", \n    \"groupNameID\": 288915, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1238\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1238, \n    \"groupName_de\": \"Scannen von Upgrade-Zeit\", \n    \"groupName_en-us\": \"Scanning Upgrade Time\", \n    \"groupName_es\": \"Tiempo de mejora de escaneo\", \n    \"groupName_fr\": \"Temps d'amélioration de balayage\", \n    \"groupName_it\": \"Scanning Upgrade Time\", \n    \"groupName_ja\": \"スキャン時間強化\", \n    \"groupName_ko\": \"스캔 업그레이드 시간\", \n    \"groupName_ru\": \"Сокращение времени сканирования\", \n    \"groupName_zh\": \"扫描升级时间\", \n    \"groupNameID\": 289110, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1239\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1239, \n    \"groupName_de\": \"Scannen von Blueprints für Upgrade-Zeit\", \n    \"groupName_en-us\": \"Scanning Upgrade Time Blueprint\", \n    \"groupName_es\": \"Plano de tiempo de mejora de escaneo\", \n    \"groupName_fr\": \"Plan de construction Temps d'amélioration de balayage\", \n    \"groupName_it\": \"Scanning Upgrade Time Blueprint\", \n    \"groupName_ja\": \"スキャン時間強化ブループリント\", \n    \"groupName_ko\": \"스캔 업그레이드 시간 블루프린트\", \n    \"groupName_ru\": \"Scanning Upgrade Time Blueprint\", \n    \"groupName_zh\": \"扫描升级时间蓝图\", \n    \"groupNameID\": 289111, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1240\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1240, \n    \"groupName_de\": \"Subsystems\", \n    \"groupName_en-us\": \"Subsystems\", \n    \"groupName_es\": \"Subsistemas\", \n    \"groupName_fr\": \"Sous-systèmes\", \n    \"groupName_it\": \"Subsystems\", \n    \"groupName_ja\": \"サブシステム\", \n    \"groupName_ko\": \"서브시스템\", \n    \"groupName_ru\": \"Установка сменных подсистем\", \n    \"groupName_zh\": \"子系统\", \n    \"groupNameID\": 289820, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1241\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1241, \n    \"groupName_de\": \"Planet Management\", \n    \"groupName_en-us\": \"Planet Management\", \n    \"groupName_es\": \"Gestión planetaria\", \n    \"groupName_fr\": \"Gestion planétaire\", \n    \"groupName_it\": \"Planet Management\", \n    \"groupName_ja\": \"惑星管理\", \n    \"groupName_ko\": \"행성 관리\", \n    \"groupName_ru\": \"Освоение планет\", \n    \"groupName_zh\": \"行星管理\", \n    \"groupNameID\": 289821, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1245\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1245, \n    \"groupName_de\": \"Schnelle, schwere Lenkwaffenwerfer\", \n    \"groupName_en-us\": \"Missile Launcher Rapid Heavy\", \n    \"groupName_es\": \"Lanzamisiles pesado rápido\", \n    \"groupName_fr\": \"Lance-missiles lourd rapide\", \n    \"groupName_it\": \"Missile Launcher Rapid Heavy\", \n    \"groupName_ja\": \"ミサイルランチャー（高速ヘビー）\", \n    \"groupName_ko\": \"급속 헤비 미사일 런처\", \n    \"groupName_ru\": \"Скорострельная ПУ ракет большой мощности\", \n    \"groupName_zh\": \"重型快速导弹发射器\", \n    \"groupNameID\": 290236, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1246\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1246, \n    \"groupName_de\": \"Mobiles Depot\", \n    \"groupName_en-us\": \"Mobile Depot\", \n    \"groupName_es\": \"Almacén móvil\", \n    \"groupName_fr\": \"Dépôt mobile\", \n    \"groupName_it\": \"Mobile Depot\", \n    \"groupName_ja\": \"移動式貯蔵所\", \n    \"groupName_ko\": \"이동식 저장고\", \n    \"groupName_ru\": \"Автономный пост снабжения\", \n    \"groupName_zh\": \"移动式仓库\", \n    \"groupNameID\": 290544, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1247\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1247, \n    \"groupName_de\": \"Mobile Absaugeinheit\", \n    \"groupName_en-us\": \"Mobile Siphon Unit\", \n    \"groupName_es\": \"Unidad sifónica móvil\", \n    \"groupName_fr\": \"Unité de siphon mobile\", \n    \"groupName_it\": \"Mobile Siphon Unit\", \n    \"groupName_ja\": \"移動式サイフォンユニット\", \n    \"groupName_ko\": \"이동식 사이펀 장치\", \n    \"groupName_ru\": \"Отводной блок\", \n    \"groupName_zh\": \"移动式虹吸装置\", \n    \"groupNameID\": 290551, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1248\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1248, \n    \"groupName_de\": \"Verschlüsselte Kopfgeldwertpapiere\", \n    \"groupName_en-us\": \"Bounty Encrypted Bonds\", \n    \"groupName_es\": \"Bonos cifrados de recompensa\", \n    \"groupName_fr\": \"Obligations cryptées de prime\", \n    \"groupName_it\": \"Bounty Encrypted Bonds\", \n    \"groupName_ja\": \"賞金暗号化債券\", \n    \"groupName_ko\": \"현상금 암호 채권\", \n    \"groupName_ru\": \"Зашифрованные облигации в награду за убийство\", \n    \"groupName_zh\": \"赏金加密债券\", \n    \"groupNameID\": 292063, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1249\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1249, \n    \"groupName_de\": \"Mobiler Anziehungsblocker\", \n    \"groupName_en-us\": \"Mobile Cyno Inhibitor\", \n    \"groupName_es\": \"Cinoinhibidor móvil\", \n    \"groupName_fr\": \"Inhibiteur cyno mobile\", \n    \"groupName_it\": \"Mobile Cyno Inhibitor\", \n    \"groupName_ja\": \"移動式サイノ阻害機\", \n    \"groupName_ko\": \"이동식 사이노슈럴 억제기\", \n    \"groupName_ru\": \"Автономный генератор помех приводным маякам\", \n    \"groupName_zh\": \"移动式诱导抑制装置\", \n    \"groupNameID\": 292103, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1250\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1250, \n    \"groupName_de\": \"Mobile Traktorstrahl-Einheit\", \n    \"groupName_en-us\": \"Mobile Tractor Unit\", \n    \"groupName_es\": \"Unidad tractora móvil\", \n    \"groupName_fr\": \"Unité de tractage mobile\", \n    \"groupName_it\": \"Mobile Tractor Unit\", \n    \"groupName_ja\": \"移動式トラクターユニット\", \n    \"groupName_ko\": \"이동식 트랙터 장치\", \n    \"groupName_ru\": \"Автономный блок сбора трофеев\", \n    \"groupName_zh\": \"移动式牵引装置\", \n    \"groupNameID\": 292104, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1252\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1252, \n    \"groupName_de\": \"Ghost Sites: Angel Cartel-Kreuzer\", \n    \"groupName_en-us\": \"Ghost Sites Angel Cartel Cruiser\", \n    \"groupName_es\": \"Crucero del Cártel de los Ángeles de zonas fantasma\", \n    \"groupName_fr\": \"Croiseur cartel angel sites fantômes\", \n    \"groupName_it\": \"Ghost Sites Angel Cartel Cruiser\", \n    \"groupName_ja\": \"ゴーストサイトエンジェルカルテル巡洋艦\", \n    \"groupName_ko\": \"고스트 사이트 엔젤 카르텔 크루저\", \n    \"groupName_ru\": \"Ghost Sites Angel Cartel Cruiser\", \n    \"groupName_zh\": \"幽灵地点天使巡洋舰\", \n    \"groupNameID\": 292196, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1255\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1255, \n    \"groupName_de\": \"Ghost Sites: Blood Raiders-Kreuzer\", \n    \"groupName_en-us\": \"Ghost Sites Blood Raiders Cruiser\", \n    \"groupName_es\": \"Crucero de los Saqueadores Sanguinarios de zonas fantasma\", \n    \"groupName_fr\": \"Croiseur blood raider sites fantômes\", \n    \"groupName_it\": \"Ghost Sites Blood Raiders Cruiser\", \n    \"groupName_ja\": \"ゴーストサイトブラッドレイダー巡洋艦\", \n    \"groupName_ko\": \"고스트 사이트 블러드 레이더 크루저\", \n    \"groupName_ru\": \"Ghost Sites Blood Raiders Cruiser\", \n    \"groupName_zh\": \"幽灵地点血袭者巡洋舰\", \n    \"groupNameID\": 292199, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1259\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1259, \n    \"groupName_de\": \"Ghost Sites: Guristas-Kreuzer\", \n    \"groupName_en-us\": \"Ghost Sites Guristas Cruiser\", \n    \"groupName_es\": \"Crucero de los Guristas de zonas fantasma\", \n    \"groupName_fr\": \"Croiseur guristas sites fantômes\", \n    \"groupName_it\": \"Ghost Sites Guristas Cruiser\", \n    \"groupName_ja\": \"ゴーストサイトガリスタス巡洋艦\", \n    \"groupName_ko\": \"고스트 사이트 구리스타스 크루저\", \n    \"groupName_ru\": \"Ghost Sites Guristas Cruiser\", \n    \"groupName_zh\": \"幽灵地点古斯塔斯巡洋舰\", \n    \"groupNameID\": 292202, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1262\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1262, \n    \"groupName_de\": \"Ghost Sites: Serpentis-Kreuzer\", \n    \"groupName_en-us\": \"Ghost Sites Serpentis Cruiser\", \n    \"groupName_es\": \"Crucero de Serpentis de zonas fantasma\", \n    \"groupName_fr\": \"Croiseur serpentis sites fantômes\", \n    \"groupName_it\": \"Ghost Sites Serpentis Cruiser\", \n    \"groupName_ja\": \"ゴーストサイトサーペンティス巡洋艦\", \n    \"groupName_ko\": \"고스트 사이트 서펜티스 크루저\", \n    \"groupName_ru\": \"Ghost Sites Serpentis Cruiser\", \n    \"groupName_zh\": \"幽灵地点天蛇巡洋舰\", \n    \"groupNameID\": 292205, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1265\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1265, \n    \"groupName_de\": \"Ghost Sites: Sansha-Kreuzer\", \n    \"groupName_en-us\": \"Ghost Sites Sanshas Cruiser\", \n    \"groupName_es\": \"Crucero de los Sansha de zonas fantasma\", \n    \"groupName_fr\": \"Croiseur sansha sites fantômes\", \n    \"groupName_it\": \"Ghost Sites Sanshas Cruiser\", \n    \"groupName_ja\": \"ゴーストサイトサンシャ巡洋艦\", \n    \"groupName_ko\": \"고스트 사이트 산샤 네이션 크루저\", \n    \"groupName_ru\": \"Ghost Sites Sanshas Cruiser\", \n    \"groupName_zh\": \"幽灵地点萨沙巡洋舰\", \n    \"groupNameID\": 292208, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1267\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1267, \n    \"groupName_de\": \"Blueprint für mobile Absaugeinheit\", \n    \"groupName_en-us\": \"Mobile Siphon Unit Blueprint\", \n    \"groupName_es\": \"Plano de unidad sifónica móvil\", \n    \"groupName_fr\": \"Plan de construction Unité de siphon mobile\", \n    \"groupName_it\": \"Mobile Siphon Unit Blueprint\", \n    \"groupName_ja\": \"移動式サイフォンユニットブループリント\", \n    \"groupName_ko\": \"이동식 사이펀 장치 블루프린트\", \n    \"groupName_ru\": \"Чертежи отводного блока\", \n    \"groupName_zh\": \"移动式虹吸装置蓝图\", \n    \"groupNameID\": 292374, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1268\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1268, \n    \"groupName_de\": \"Blueprint für mobile Anziehungsblocker\", \n    \"groupName_en-us\": \"Mobile Cynosural Inhibitor Blueprint\", \n    \"groupName_es\": \"Plano de inhibidor cinosural móvil\", \n    \"groupName_fr\": \"Plan de construction Inhibiteur cynosural mobile\", \n    \"groupName_it\": \"Mobile Cynosural Inhibitor Blueprint\", \n    \"groupName_ja\": \"移動式サイノシュラル阻害機ブループリント\", \n    \"groupName_ko\": \"이동식 사이노슈럴 억제기 블루프린트\", \n    \"groupName_ru\": \"Чертежи автономного генератора помех приводным маякам\", \n    \"groupName_zh\": \"移动式诱导抑制装置蓝图\", \n    \"groupNameID\": 292399, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1269\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1269, \n    \"groupName_de\": \"Blueprint für mobile Depots\", \n    \"groupName_en-us\": \"Mobile Depot Blueprint\", \n    \"groupName_es\": \"Plano de depósito móvil\", \n    \"groupName_fr\": \"Plan de construction Dépôt mobile\", \n    \"groupName_it\": \"Mobile Depot Blueprint\", \n    \"groupName_ja\": \"移動式貯蔵所ブループリント\", \n    \"groupName_ko\": \"이동식 저장고 블루프린트\", \n    \"groupName_ru\": \"Чертежи автономного поста снабжения\", \n    \"groupName_zh\": \"移动式仓库蓝图\", \n    \"groupNameID\": 292398, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1270\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1270, \n    \"groupName_de\": \"Blueprint für mobile Traktorstrahl-Einheit\", \n    \"groupName_en-us\": \"Mobile Tractor Unit Blueprint\", \n    \"groupName_es\": \"Plano de unidad tractora móvil\", \n    \"groupName_fr\": \"Plan de construction Unité de tractage mobile\", \n    \"groupName_it\": \"Mobile Tractor Unit Blueprint\", \n    \"groupName_ja\": \"移動式トラクターユニットブループリント\", \n    \"groupName_ko\": \"이동식 트랙터 장치 블루프린트\", \n    \"groupName_ru\": \"Чертежи автономного блока сбора трофеев\", \n    \"groupName_zh\": \"移动式牵引装置蓝图\", \n    \"groupNameID\": 292400, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1271\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1271, \n    \"groupName_de\": \"Prothetik\", \n    \"groupName_en-us\": \"Prosthetics\", \n    \"groupName_es\": \"Prótesis\", \n    \"groupName_fr\": \"Prothèses\", \n    \"groupName_it\": \"Prosthetics\", \n    \"groupName_ja\": \"義肢\", \n    \"groupName_ko\": \"인공물\", \n    \"groupName_ru\": \"Протезы\", \n    \"groupName_zh\": \"义肢\", \n    \"groupNameID\": 292529, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1273\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1273, \n    \"groupName_de\": \"Gefechtsüberwachungssystem\", \n    \"groupName_en-us\": \"Encounter Surveillance System\", \n    \"groupName_es\": \"Sistema de vigilancia de encuentros\", \n    \"groupName_fr\": \"Système de surveillance des affrontements\", \n    \"groupName_it\": \"Encounter Surveillance System\", \n    \"groupName_ja\": \"対戦監視システム\", \n    \"groupName_ko\": \"교전 감시 시스템\", \n    \"groupName_ru\": \"Станция учёта боестолкновений\", \n    \"groupName_zh\": \"事件监测装置\", \n    \"groupNameID\": 294008, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1274\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1274, \n    \"groupName_de\": \"Mobile Scheinanlage\", \n    \"groupName_en-us\": \"Mobile Decoy Unit\", \n    \"groupName_es\": \"Unidad señuelo móvil\", \n    \"groupName_fr\": \"Unité de leurre mobile\", \n    \"groupName_it\": \"Mobile Decoy Unit\", \n    \"groupName_ja\": \"移動式デコイユニット\", \n    \"groupName_ko\": \"이동식 유인장치\", \n    \"groupName_ru\": \"Автономные блоки создания ложных целей\", \n    \"groupName_zh\": \"移动式诱捕装置\", \n    \"groupNameID\": 294017, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1275\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1275, \n    \"groupName_de\": \"Mobiler Scanblockierer\", \n    \"groupName_en-us\": \"Mobile Scan Inhibitor\", \n    \"groupName_es\": \"Inhibidor de escaneo móvil\", \n    \"groupName_fr\": \"Inhibiteur de balayage mobile\", \n    \"groupName_it\": \"Mobile Scan Inhibitor\", \n    \"groupName_ja\": \"移動式スキャン阻害機\", \n    \"groupName_ko\": \"이동식 스캔 방해장치\", \n    \"groupName_ru\": \"Автономный генератор помех разведсистемам\", \n    \"groupName_zh\": \"移动式扫描抑制装置\", \n    \"groupNameID\": 294018, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1276\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1276, \n    \"groupName_de\": \"Mobile Mikrosprungeinheit\", \n    \"groupName_en-us\": \"Mobile Micro Jump Unit\", \n    \"groupName_es\": \"Unidad de microsalto móvil\", \n    \"groupName_fr\": \"Unité de microsaut mobile\", \n    \"groupName_it\": \"Mobile Micro Jump Unit\", \n    \"groupName_ja\": \"移動式マイクロジャンプユニット\", \n    \"groupName_ko\": \"이동식 마이크로 점프 장치\", \n    \"groupName_ru\": \"Автономный разгонный блок\", \n    \"groupName_zh\": \"移动式微型跳跃装置\", \n    \"groupNameID\": 294019, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1277\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1277, \n    \"groupName_de\": \"Blaupausen für Gefechtsüberwachungssysteme\", \n    \"groupName_en-us\": \"Encounter Surveillance System Blueprint\", \n    \"groupName_es\": \"Plano de sistema de vigilancia de encuentros\", \n    \"groupName_fr\": \"Plan de construction Système de surveillance des affrontements\", \n    \"groupName_it\": \"Encounter Surveillance System Blueprint\", \n    \"groupName_ja\": \"対戦監視システムブループリント\", \n    \"groupName_ko\": \"교전 감시 시스템 블루프린트\", \n    \"groupName_ru\": \"Чертежи станции учёта боестолкновений\", \n    \"groupName_zh\": \"事件监测装置蓝图\", \n    \"groupNameID\": 294226, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1282\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 23, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1282, \n    \"groupName_de\": \"Kompressionsanlage\", \n    \"groupName_en-us\": \"Compression Array\", \n    \"groupName_es\": \"Matriz de compresión\", \n    \"groupName_fr\": \"Module de compression\", \n    \"groupName_it\": \"Compression Array\", \n    \"groupName_ja\": \"圧縮施設\", \n    \"groupName_ko\": \"압착시설\", \n    \"groupName_ru\": \"Блоки сжатия руды и льда\", \n    \"groupName_zh\": \"压缩阵列\", \n    \"groupNameID\": 294898, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1283\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1283, \n    \"groupName_de\": \"Expeditionsfregatte\", \n    \"groupName_en-us\": \"Expedition Frigate\", \n    \"groupName_es\": \"Fragata expedicionaria\", \n    \"groupName_fr\": \"Frégate d'expédition\", \n    \"groupName_it\": \"Expedition Frigate\", \n    \"groupName_ja\": \"長距離フリゲート\", \n    \"groupName_ko\": \"탐사 프리깃\", \n    \"groupName_ru\": \"Разведочно-буровой фрегат\", \n    \"groupName_zh\": \"勘探护卫舰\", \n    \"groupNameID\": 295174, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1285\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1285, \n    \"groupName_de\": \"Asteroiden: Mordus Legion-Kommandeurfregatte\", \n    \"groupName_en-us\": \"Asteroid Mordus Legion Commander Frigate\", \n    \"groupName_es\": \"Mando de fragata de asteroide de la Legión de Mordu\", \n    \"groupName_fr\": \"Frégate du commandant de la légion Mordu de l'astéroïde\", \n    \"groupName_it\": \"Asteroid Mordus Legion Commander Frigate\", \n    \"groupName_ja\": \"アステロイドモードゥ部隊司令官フリゲート\", \n    \"groupName_ko\": \"소행성 벨트 모르두 군단 지휘 프리깃\", \n    \"groupName_ru\": \"Фрегат астероидного патруля Верховного командования легиона Морду\", \n    \"groupName_zh\": \"小行星莫德团指挥官护卫舰\", \n    \"groupNameID\": 295431, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1286\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1286, \n    \"groupName_de\": \"Asteroiden: Mordus Legion-Kommandeurkreuzer\", \n    \"groupName_en-us\": \"Asteroid Mordus Legion Commander Cruiser\", \n    \"groupName_es\": \"Mando de crucero de asteroide de la Legión de Mordu\", \n    \"groupName_fr\": \"Croiseur du commandant de la légion Mordu de l'astéroïde\", \n    \"groupName_it\": \"Asteroid Mordus Legion Commander Cruiser\", \n    \"groupName_ja\": \"アステロイドモードゥ部隊司令官巡洋艦\", \n    \"groupName_ko\": \"소행성 벨트 모르두 군단 지휘 크루저\", \n    \"groupName_ru\": \"Крейсер астероидного патруля Верховного командования легиона Морду\", \n    \"groupName_zh\": \"小行星莫德团指挥官巡洋舰\", \n    \"groupNameID\": 295432, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1287\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1287, \n    \"groupName_de\": \"Asteroiden: Mordus Legion-Kommandeur-Schlachtschiff\", \n    \"groupName_en-us\": \"Asteroid Mordus Legion Commander Battleship\", \n    \"groupName_es\": \"Mando de acorazado de asteroide de la Legión de Mordu\", \n    \"groupName_fr\": \"Cuirassé du commandant de la légion Mordu de l'astéroïde\", \n    \"groupName_it\": \"Asteroid Mordus Legion Commander Battleship\", \n    \"groupName_ja\": \"アステロイドモードゥ部隊司令官戦艦\", \n    \"groupName_ko\": \"소행성 벨트 모르두 군단 지휘 배틀쉽\", \n    \"groupName_ru\": \"Линкор астероидного патруля Верховного командования легиона Морду\", \n    \"groupName_zh\": \"小行星莫德团指挥官战列舰\", \n    \"groupNameID\": 295433, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1288\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1288, \n    \"groupName_de\": \"Mordus Legion Ghost Sites\", \n    \"groupName_en-us\": \"Ghost Sites Mordu's Legion\", \n    \"groupName_es\": \"Legión de Mordu de zonas fantasma\", \n    \"groupName_fr\": \"Sites fantômes de la Mordu's Legion\", \n    \"groupName_it\": \"Ghost Sites Mordu's Legion\", \n    \"groupName_ja\": \"ゴーストサイトモードゥ部隊\", \n    \"groupName_ko\": \"고스트 사이트 모르두 군단\", \n    \"groupName_ru\": \"«Объекты-призраки» легиона Морду\", \n    \"groupName_zh\": \"幽灵地点莫德团\", \n    \"groupNameID\": 295439, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1289\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1289, \n    \"groupName_de\": \"Warpbeschleuniger\", \n    \"groupName_en-us\": \"Warp Accelerator\", \n    \"groupName_es\": \"Acelerador de warp\", \n    \"groupName_fr\": \"Accélérateur de warp\", \n    \"groupName_it\": \"Warp Accelerator\", \n    \"groupName_ja\": \"ワープ加速器\", \n    \"groupName_ko\": \"워프 가속기\", \n    \"groupName_ru\": \"Варп-ускоритель\", \n    \"groupName_zh\": \"跃迁加速装置\", \n    \"groupNameID\": 295684, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1292\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1292, \n    \"groupName_de\": \"Drohnen-Nachführungsverbesserungen\", \n    \"groupName_en-us\": \"Drone Tracking Enhancer\", \n    \"groupName_es\": \"Intensificador de rastreo de dron\", \n    \"groupName_fr\": \"Optimisateur de poursuite de drone\", \n    \"groupName_it\": \"Drone Tracking Enhancer\", \n    \"groupName_ja\": \"ドローン追跡エンハンサー\", \n    \"groupName_ko\": \"드론 트래킹 향상장치\", \n    \"groupName_ru\": \"Drone Tracking Enhancer\", \n    \"groupName_zh\": \"无人机索敌增强器\", \n    \"groupNameID\": 295847, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1293\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1293, \n    \"groupName_de\": \"Blaupause für mobilen Scanblockierer\", \n    \"groupName_en-us\": \"Mobile Scan Inhibitor Blueprint\", \n    \"groupName_es\": \"Plano de inhibidor de escaneo móvil\", \n    \"groupName_fr\": \"Plan de construction Inhibiteur de balayage mobile\", \n    \"groupName_it\": \"Mobile Scan Inhibitor Blueprint\", \n    \"groupName_ja\": \"移動式スキャン阻害機ブループリント\", \n    \"groupName_ko\": \"이동식 스캔 방해장치 블루프린트\", \n    \"groupName_ru\": \"Чертежи автономных генераторов помех разведсистемам\", \n    \"groupName_zh\": \"移动式扫描抑制装置蓝图\", \n    \"groupNameID\": 295885, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1294\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1294, \n    \"groupName_de\": \"Blaupause für mobile Mikrosprungeinheit\", \n    \"groupName_en-us\": \"Mobile Micro Jump Unit Blueprint\", \n    \"groupName_es\": \"Plano de unidad de microsalto móvil\", \n    \"groupName_fr\": \"Plan de construction Unité de microsaut mobile\", \n    \"groupName_it\": \"Mobile Micro Jump Unit Blueprint\", \n    \"groupName_ja\": \"移動式マイクロジャンプユニットブループリント\", \n    \"groupName_ko\": \"이동식 마이크로 점프 장치 블루프린트\", \n    \"groupName_ru\": \"Чертежи автономных разгонных блоков\", \n    \"groupName_zh\": \"移动式微型跳跃装置蓝图\", \n    \"groupNameID\": 295886, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1295\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1295, \n    \"groupName_de\": \"Blaupause für mobile Scheinanlage\", \n    \"groupName_en-us\": \"Mobile Decoy Unit Blueprint\", \n    \"groupName_es\": \"Plano de unidad señuelo móvil\", \n    \"groupName_fr\": \"Plan de construction Unité d'appât mobile\", \n    \"groupName_it\": \"Mobile Decoy Unit Blueprint\", \n    \"groupName_ja\": \"移動式デコイユニットブループリント\", \n    \"groupName_ko\": \"이동식 유인 장치 블루프린트\", \n    \"groupName_ru\": \"Чертежи автономного маскировочного блока\", \n    \"groupName_zh\": \"移动式诱捕装置蓝图\", \n    \"groupNameID\": 295887, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1297\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1297, \n    \"groupName_de\": \"Mobiler Tresor\", \n    \"groupName_en-us\": \"Mobile Vault\", \n    \"groupName_es\": \"Cámara móvil\", \n    \"groupName_fr\": \"Coffre mobile\", \n    \"groupName_it\": \"Mobile Vault\", \n    \"groupName_ja\": \"移動式金庫\", \n    \"groupName_ko\": \"이동식 금고\", \n    \"groupName_ru\": \"Автономное убежище\", \n    \"groupName_zh\": \"移动式保险库\", \n    \"groupNameID\": 296195, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1299\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1299, \n    \"groupName_de\": \"Sprungantrieb-Vorwärmer\", \n    \"groupName_en-us\": \"Jump Drive Economizer\", \n    \"groupName_es\": \"Economizador de motor de salto\", \n    \"groupName_fr\": \"Économiseur de propulseur hyperspatial\", \n    \"groupName_it\": \"Jump Drive Economizer\", \n    \"groupName_ja\": \"ジャンプドライブエコノマイザー\", \n    \"groupName_ko\": \"점프 드라이브 연료 절감기\", \n    \"groupName_ru\": \"Экономайзер топлива гипердвигателя\", \n    \"groupName_zh\": \"跳跃引擎节能装置\", \n    \"groupNameID\": 296270, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1301\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 5, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1301, \n    \"groupName_de\": \"Dienste\", \n    \"groupName_en-us\": \"Services\", \n    \"groupName_es\": \"Servicios\", \n    \"groupName_fr\": \"Services\", \n    \"groupName_it\": \"Services\", \n    \"groupName_ja\": \"サービス\", \n    \"groupName_ko\": \"서비스\", \n    \"groupName_ru\": \"Услуги\", \n    \"groupName_zh\": \"服务\", \n    \"groupNameID\": 296307, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1304\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 35, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1304, \n    \"groupName_de\": \"Allgemeiner Dekodierer\", \n    \"groupName_en-us\": \"Generic Decryptor\", \n    \"groupName_es\": \"Desencriptador genérico\", \n    \"groupName_fr\": \"Décrypteur générique\", \n    \"groupName_it\": \"Generic Decryptor\", \n    \"groupName_ja\": \"汎用解読器\", \n    \"groupName_ko\": \"일반 해독기\", \n    \"groupName_ru\": \"Файлы данных\", \n    \"groupName_zh\": \"通用解码器\", \n    \"groupNameID\": 296724, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1305\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1305, \n    \"groupName_de\": \"Taktische Zerstörer\", \n    \"groupName_en-us\": \"Tactical Destroyer\", \n    \"groupName_es\": \"Destructor táctico\", \n    \"groupName_fr\": \"Destroyer tactique\", \n    \"groupName_it\": \"Tactical Destroyer\", \n    \"groupName_ja\": \"戦術駆逐艦\", \n    \"groupName_ko\": \"전술 디스트로이어\", \n    \"groupName_ru\": \"Многорежимный эсминец\", \n    \"groupName_zh\": \"战术驱逐舰\", \n    \"groupNameID\": 297285, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1306\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1306, \n    \"groupName_de\": \"Schiffsmodifizierer\", \n    \"groupName_en-us\": \"Ship Modifiers\", \n    \"groupName_es\": \"Modificadores de nave\", \n    \"groupName_fr\": \"Modificateurs de vaisseau\", \n    \"groupName_it\": \"Ship Modifiers\", \n    \"groupName_ja\": \"艦船修正乗数\", \n    \"groupName_ko\": \"함선 모드\", \n    \"groupName_ru\": \"Модификаторы корабля\", \n    \"groupName_zh\": \"舰船模式切换器\", \n    \"groupNameID\": 297286, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1307\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1307, \n    \"groupName_de\": \"Umherstreifende Sleeper-Kreuzer\", \n    \"groupName_en-us\": \"Roaming Sleepers Cruiser\", \n    \"groupName_es\": \"Crucero de Sleepers errante\", \n    \"groupName_fr\": \"Croiseur sleepers itinérants\", \n    \"groupName_it\": \"Roaming Sleepers Cruiser\", \n    \"groupName_ja\": \"巡回中のスリーパー巡洋艦\", \n    \"groupName_ko\": \"배회하는 슬리퍼 크루저\", \n    \"groupName_ru\": \"Странствующие Спящие крейсерского тоннажа\", \n    \"groupName_zh\": \"游荡的冬眠者巡洋舰\", \n    \"groupNameID\": 297412, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1308\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1308, \n    \"groupName_de\": \"Modifikationsanker\", \n    \"groupName_en-us\": \"Rig Anchor\", \n    \"groupName_es\": \"Anclaje de complemento\", \n    \"groupName_fr\": \"Ancrage optimisé\", \n    \"groupName_it\": \"Rig Anchor\", \n    \"groupName_ja\": \"リグアンカー\", \n    \"groupName_ko\": \"앵커 리그\", \n    \"groupName_ru\": \"Якорный тюнинг-модуль\", \n    \"groupName_zh\": \"定锚改装件\", \n    \"groupNameID\": 297415, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1309\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1309, \n    \"groupName_de\": \"Tactical Destroyer Blueprint\", \n    \"groupName_en-us\": \"Tactical Destroyer Blueprint\", \n    \"groupName_es\": \"Plano de destructor táctico\", \n    \"groupName_fr\": \"Plan de construction Destroyer tactique\", \n    \"groupName_it\": \"Tactical Destroyer Blueprint\", \n    \"groupName_ja\": \"戦術駆逐艦のブループリント\", \n    \"groupName_ko\": \"전술 디스트로이어 블루프린트\", \n    \"groupName_ru\": \"Чертежи многорежимных эсминцев\", \n    \"groupName_zh\": \"战术驱逐舰蓝图\", \n    \"groupNameID\": 298107, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1310\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1310, \n    \"groupName_de\": \"Drifter-Schlachtschiff\", \n    \"groupName_en-us\": \"Drifter Battleship\", \n    \"groupName_es\": \"Acorazado drifter\", \n    \"groupName_fr\": \"Cuirassé dérivant\", \n    \"groupName_it\": \"Drifter Battleship\", \n    \"groupName_ja\": \"漂流者の戦艦\", \n    \"groupName_ko\": \"드리프터 배틀쉽\", \n    \"groupName_ru\": \"Линкор Скитальцев\", \n    \"groupName_zh\": \"流浪者战列舰\", \n    \"groupNameID\": 299806, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1311\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 5, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1311, \n    \"groupName_de\": \"Super Kerr-induzierten Nanobeschichtungen\", \n    \"groupName_en-us\": \"Super Kerr-Induced Nanocoatings\", \n    \"groupName_es\": \"Supernanorrevestimientos inducidos por Kerr\", \n    \"groupName_fr\": \"Nanorevêtements générés par le super Kerr\", \n    \"groupName_it\": \"Super Kerr-Induced Nanocoatings\", \n    \"groupName_ja\": \"超カー誘発性ナノコーティング\", \n    \"groupName_ko\": \"슈퍼커나노코팅\", \n    \"groupName_ru\": \"Шаблоны для перекраски кораблей\", \n    \"groupName_zh\": \"超级克尔诱导纳米涂层\", \n    \"groupNameID\": 305267, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1312\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1312, \n    \"groupName_de\": \"Beobachtungsstrukturen\", \n    \"groupName_en-us\": \"Observatory Structures\", \n    \"groupName_es\": \"Estructuras de observatorio\", \n    \"groupName_fr\": \"Structures d'observation\", \n    \"groupName_it\": \"Observatory Structures\", \n    \"groupName_ja\": \"観測所のストラクチャ\", \n    \"groupName_ko\": \"관측용 구조물\", \n    \"groupName_ru\": \"Наблюдательные сооружения\", \n    \"groupName_zh\": \"瞭望台建筑\", \n    \"groupNameID\": 305351, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1313\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1313, \n    \"groupName_de\": \"Entosis-Netzwerk\", \n    \"groupName_en-us\": \"Entosis Link\", \n    \"groupName_es\": \"Enlace de entosis\", \n    \"groupName_fr\": \"Interface Entosis\", \n    \"groupName_it\": \"Entosis Link\", \n    \"groupName_ja\": \"エントーシスリンク\", \n    \"groupName_ko\": \"엔토시스 링크\", \n    \"groupName_ru\": \"Энтоз-передатчик\", \n    \"groupName_zh\": \"侵噬链接\", \n    \"groupNameID\": 305457, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1314\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1314, \n    \"groupName_de\": \"Unbekannte Komponenten\", \n    \"groupName_en-us\": \"Unknown Components\", \n    \"groupName_es\": \"Componentes desconocidos\", \n    \"groupName_fr\": \"Composants inconnus\", \n    \"groupName_it\": \"Unknown Components\", \n    \"groupName_ja\": \"不明な部品\", \n    \"groupName_ko\": \"정체불명의 부품\", \n    \"groupName_ru\": \"Неизвестные компоненты\", \n    \"groupName_zh\": \"未知组件\", \n    \"groupNameID\": 306049, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1316\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1316, \n    \"groupName_de\": \"Entosis-Kommandoknoten\", \n    \"groupName_en-us\": \"Entosis Command Node\", \n    \"groupName_es\": \"Nodo de mando de entosis\", \n    \"groupName_fr\": \"Nœud de commande Entosis\", \n    \"groupName_it\": \"Entosis Command Node\", \n    \"groupName_ja\": \"エントーシスコマンドのノード\", \n    \"groupName_ko\": \"엔토시스 통제 노드\", \n    \"groupName_ru\": \"Блоки энтоз-контроля\", \n    \"groupName_zh\": \"侵噬指挥节点\", \n    \"groupNameID\": 306492, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1317\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1317, \n    \"groupName_de\": \"Infrastruktur-Upgrade-Blaupause\", \n    \"groupName_en-us\": \"Infrastructure Upgrade Blueprint\", \n    \"groupName_es\": \"Plano de mejora de infraestructuras\", \n    \"groupName_fr\": \"Plan de construction Amélioration d'infrastructure\", \n    \"groupName_it\": \"Infrastructure Upgrade Blueprint\", \n    \"groupName_ja\": \"インフラストラクチャアップグレードのブループリント\", \n    \"groupName_ko\": \"인프라 업그레이드 블루프린트\", \n    \"groupName_ru\": \"Чертежи расширений инфраструктуры\", \n    \"groupName_zh\": \"基础设施升级件蓝图\", \n    \"groupNameID\": 306768, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1318\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1318, \n    \"groupName_de\": \"Entosis-Netzwerk-Blaupause\", \n    \"groupName_en-us\": \"Entosis Link Blueprint\", \n    \"groupName_es\": \"Plano de enlace de entosis\", \n    \"groupName_fr\": \"Plan de construction Interface Entosis\", \n    \"groupName_it\": \"Entosis Link Blueprint\", \n    \"groupName_ja\": \"エントーシスリンク設計図\", \n    \"groupName_ko\": \"엔토시스 링크 블루프린트\", \n    \"groupName_ru\": \"Чертежи энтоз-передатчиков\", \n    \"groupName_zh\": \"侵噬链接蓝图\", \n    \"groupNameID\": 306840, \n    \"iconID\": 107, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1319\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 29, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1319, \n    \"groupName_de\": \"Verschiedenes\", \n    \"groupName_en-us\": \"Miscellaneous\", \n    \"groupName_es\": \"Varios\", \n    \"groupName_fr\": \"Divers\", \n    \"groupName_it\": \"Miscellaneous\", \n    \"groupName_ja\": \"その他\", \n    \"groupName_ko\": \"기타\", \n    \"groupName_ru\": \"Разное\", \n    \"groupName_zh\": \"其他\", \n    \"groupNameID\": 306931, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1321\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1321, \n    \"groupName_de\": \"Struktur: Zitadellendienstmodul\", \n    \"groupName_en-us\": \"Structure Citadel Service Module\", \n    \"groupName_es\": \"Módulo de servicio de ciudadela para estructuras\", \n    \"groupName_fr\": \"Module de service de citadelle (Structure)\", \n    \"groupName_it\": \"Structure Citadel Service Module\", \n    \"groupName_ja\": \"ストラクチャ ― 城塞サービスモジュール\", \n    \"groupName_ko\": \"구조물 시타델 서비스 모듈\", \n    \"groupName_ru\": \"Сооружения - служебные модули цитадели\", \n    \"groupName_zh\": \"建筑堡垒服务装备\", \n    \"groupNameID\": 308385, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1322\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1322, \n    \"groupName_de\": \"Struktur: Ressourcenverarbeitung-Dienstmodul\", \n    \"groupName_en-us\": \"Structure Resource Processing Service Module\", \n    \"groupName_es\": \"Módulos de servicio de procesamiento de recursos para estructuras\", \n    \"groupName_fr\": \"Module de service de retraitement des ressources (Structure)\", \n    \"groupName_it\": \"Structure Resource Processing Service Module\", \n    \"groupName_ja\": \"ストラクチャリソース処理サービスモジュール\", \n    \"groupName_ko\": \"구조물 자원 정제 서비스 모듈\", \n    \"groupName_ru\": \"Служебный модуль переработки материалов\", \n    \"groupName_zh\": \"建筑资源处理服务装备\", \n    \"groupNameID\": 308386, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1323\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1323, \n    \"groupName_de\": \"Structure Observatory Service Module\", \n    \"groupName_en-us\": \"Structure Observatory Service Module\", \n    \"groupName_es\": \"Módulo de servicio de observatorio para estructuras\", \n    \"groupName_fr\": \"Module de service d'observatoire (Structure)\", \n    \"groupName_it\": \"Structure Observatory Service Module\", \n    \"groupName_ja\": \"ストラクチャ ― 観測サービスモジュール\", \n    \"groupName_ko\": \"구조물 관측 서비스 모듈\", \n    \"groupName_ru\": \"Structure Observatory Service Module\", \n    \"groupName_zh\": \"建筑瞭望服务装备\", \n    \"groupNameID\": 308387, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1324\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1324, \n    \"groupName_de\": \"Struktur – FLEX-Dienstmodul\", \n    \"groupName_en-us\": \"Structure FLEX Service Module\", \n    \"groupName_es\": \"Módulo de servicio de FLEX para estructuras\", \n    \"groupName_fr\": \"Module de service de structure FLEX\", \n    \"groupName_it\": \"Structure FLEX Service Module\", \n    \"groupName_ja\": \"ストラクチャ―FLEXサービスモジュール\", \n    \"groupName_ko\": \"구조물 FLEX 서비스 모듈\", \n    \"groupName_ru\": \"Служебный модуль «Флекс» для сооружений\", \n    \"groupName_zh\": \"建筑快速部署服务装备\", \n    \"groupNameID\": 308388, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1325\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1325, \n    \"groupName_de\": \"Structure Administration Service Module\", \n    \"groupName_en-us\": \"Structure Administration Service Module\", \n    \"groupName_es\": \"Módulo de servicio de gestión para estructuras\", \n    \"groupName_fr\": \"Module de service de centre administratif (Structure)\", \n    \"groupName_it\": \"Structure Administration Service Module\", \n    \"groupName_ja\": \"ストラクチャ ― アドミニストレーションサービスモジュール\", \n    \"groupName_ko\": \"구조물 행정 서비스 모듈\", \n    \"groupName_ru\": \"Structure Administration Service Module\", \n    \"groupName_zh\": \"建筑行政服务装备\", \n    \"groupNameID\": 308389, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1326\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1326, \n    \"groupName_de\": \"Structure Advertisement Service Module\", \n    \"groupName_en-us\": \"Structure Advertisement Service Module\", \n    \"groupName_es\": \"Módulo de servicio de publicidad para estructuras\", \n    \"groupName_fr\": \"Module de service d'agence publicitaire (Structure)\", \n    \"groupName_it\": \"Structure Advertisement Service Module\", \n    \"groupName_ja\": \"ストラクチャ ― 広告サービスモジュール\", \n    \"groupName_ko\": \"구조물 홍보 서비스 모듈\", \n    \"groupName_ru\": \"Structure Advertisement Service Module\", \n    \"groupName_zh\": \"建筑宣传服务装备\", \n    \"groupNameID\": 308412, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1327\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1327, \n    \"groupName_de\": \"Struktur: XL-Lenkwaffenwerfer\", \n    \"groupName_en-us\": \"Structure XL Missile Launcher\", \n    \"groupName_es\": \"Lanzamisiles de crucero para estructuras (XL)\", \n    \"groupName_fr\": \"Lance-missiles XL pour structure\", \n    \"groupName_it\": \"Structure XL Missile Launcher\", \n    \"groupName_ja\": \"ストラクチャXLミサイルランチャー\", \n    \"groupName_ko\": \"구조물 XL 미사일 런처\", \n    \"groupName_ru\": \"Ракетная установка для сверхбольших сооружений\", \n    \"groupName_zh\": \"建筑超大型导弹发射器\", \n    \"groupNameID\": 308413, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1328\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1328, \n    \"groupName_de\": \"Struktur: Lenkbombenwerfer\", \n    \"groupName_en-us\": \"Structure Guided Bomb Launcher\", \n    \"groupName_es\": \"Lanzabombas guiado para estructuras\", \n    \"groupName_fr\": \"Lanceur de bombe guidé par la structure\", \n    \"groupName_it\": \"Structure Guided Bomb Launcher\", \n    \"groupName_ja\": \"ストラクチャ ― 誘導爆弾ランチャー\", \n    \"groupName_ko\": \"구조물 유도폭탄 런처\", \n    \"groupName_ru\": \"Сооружение - ПУ ракет объёмного взрыва\", \n    \"groupName_zh\": \"建筑制导炸弹发射器\", \n    \"groupNameID\": 308477, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1329\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1329, \n    \"groupName_de\": \"Struktur: Energieneutralisierer\", \n    \"groupName_en-us\": \"Structure Energy Neutralizer\", \n    \"groupName_es\": \"Neutralizador energético para estructuras\", \n    \"groupName_fr\": \"Neutraliseur d'énergie (Structure)\", \n    \"groupName_it\": \"Structure Energy Neutralizer\", \n    \"groupName_ja\": \"ストラクチャ ― エネルギーニュートライザー\", \n    \"groupName_ko\": \"구조물 에너지 뉴트럴라이저\", \n    \"groupName_ru\": \"Сооружения - дистанционные нейтрализаторы заряда накопителя\", \n    \"groupName_zh\": \"建筑能量中和器\", \n    \"groupNameID\": 308478, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1330\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1330, \n    \"groupName_de\": \"Struktur: Gebietsverweigerungsmodul\", \n    \"groupName_en-us\": \"Structure Area Denial Module\", \n    \"groupName_es\": \"Módulo de negación de zona para estructuras\", \n    \"groupName_fr\": \"Module de barrage (Structure)\", \n    \"groupName_it\": \"Structure Area Denial Module\", \n    \"groupName_ja\": \"ストラクチャ ― エリア拒否モジュール\", \n    \"groupName_ko\": \"구조물 지역 거부 모듈\", \n    \"groupName_ru\": \"Сооружение - система точечной обороны\", \n    \"groupName_zh\": \"建筑区域封锁装备\", \n    \"groupNameID\": 308479, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1331\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1331, \n    \"groupName_de\": \"Struktur-Pulsprojektor\", \n    \"groupName_en-us\": \"Structure Burst Projector\", \n    \"groupName_es\": \"Proyector de estallido para estructuras\", \n    \"groupName_fr\": \"Projecteur à salves pour structure\", \n    \"groupName_it\": \"Structure Burst Projector\", \n    \"groupName_ja\": \"ストラクチャバーストプロジェクター\", \n    \"groupName_ko\": \"구조물 버스트 프로젝터\", \n    \"groupName_ru\": \"Проектор объёмных помех для сооружений\", \n    \"groupName_zh\": \"建筑脉冲波投射器\", \n    \"groupNameID\": 308480, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1332\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1332, \n    \"groupName_de\": \"Struktur: ECM-Batterie\", \n    \"groupName_en-us\": \"Structure ECM Battery\", \n    \"groupName_es\": \"Batería de ECM para estructuras\", \n    \"groupName_fr\": \"Batterie CME (Structure)\", \n    \"groupName_it\": \"Structure ECM Battery\", \n    \"groupName_ja\": \"ストラクチャECMバッテリー\", \n    \"groupName_ko\": \"구조물 ECM 포탑\", \n    \"groupName_ru\": \"Сооружения - батареи РЭП\", \n    \"groupName_zh\": \"建筑ECM炮塔\", \n    \"groupNameID\": 308481, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1333\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1333, \n    \"groupName_de\": \"Structure Doomsday Weapon\", \n    \"groupName_en-us\": \"Structure Doomsday Weapon\", \n    \"groupName_es\": \"Arma apocalíptica para estructuras\", \n    \"groupName_fr\": \"Arme d'annihilation (Structure)\", \n    \"groupName_it\": \"Structure Doomsday Weapon\", \n    \"groupName_ja\": \"ストラクチャ ― ドゥームズデイ兵器\", \n    \"groupName_ko\": \"구조물 둠스데이 무기\", \n    \"groupName_ru\": \"Structure Doomsday Weapon\", \n    \"groupName_zh\": \"建筑末日武器\", \n    \"groupNameID\": 308482, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1395\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1395, \n    \"groupName_de\": \"Lenkwaffen-Leitverbesserung\", \n    \"groupName_en-us\": \"Missile Guidance Enhancer\", \n    \"groupName_es\": \"Intensificador de guiado de misiles\", \n    \"groupName_fr\": \"Optimisateur de guidage de missiles\", \n    \"groupName_it\": \"Missile Guidance Enhancer\", \n    \"groupName_ja\": \"ミサイル誘導エンハンサー\", \n    \"groupName_ko\": \"미사일 유도 향상장치\", \n    \"groupName_ru\": \"Корректор траекторий ракет\", \n    \"groupName_zh\": \"导弹制导增强器\", \n    \"groupNameID\": 505982, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1396\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1396, \n    \"groupName_de\": \"Lenkwaffen-Leitcomputer\", \n    \"groupName_en-us\": \"Missile Guidance Computer\", \n    \"groupName_es\": \"Ordenador de guiado de misiles\", \n    \"groupName_fr\": \"Ordinateur de guidage de missiles\", \n    \"groupName_it\": \"Missile Guidance Computer\", \n    \"groupName_ja\": \"ミサイル誘導コンピューター\", \n    \"groupName_ko\": \"미사일 유도 컴퓨터\", \n    \"groupName_ru\": \"Вычислитель наведения ракет\", \n    \"groupName_zh\": \"导弹制导计算机\", \n    \"groupNameID\": 505983, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1397\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1397, \n    \"groupName_de\": \"Lenkwaffen-Leitverbesserungsblaupause\", \n    \"groupName_en-us\": \"Missile Guidance Enhancer Blueprint\", \n    \"groupName_es\": \"Plano de intensificador de guiado de misiles\", \n    \"groupName_fr\": \"Plan de construction Optimisateur de guidage de missiles\", \n    \"groupName_it\": \"Missile Guidance Enhancer Blueprint\", \n    \"groupName_ja\": \"ミサイル誘導エンハンサーのブループリント\", \n    \"groupName_ko\": \"미사일 유도 향상장치 블루프린트\", \n    \"groupName_ru\": \"Чертежи корректора траекторий ракет\", \n    \"groupName_zh\": \"导弹制导增强器蓝图\", \n    \"groupNameID\": 505988, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1399\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1399, \n    \"groupName_de\": \"Lenkwaffen-Leitcomputerblaupause\", \n    \"groupName_en-us\": \"Missile Guidance Computer Blueprint\", \n    \"groupName_es\": \"Plano de ordenador de guiado de misiles\", \n    \"groupName_fr\": \"Plan de construction Ordinateur de guidage de missiles\", \n    \"groupName_it\": \"Missile Guidance Computer Blueprint\", \n    \"groupName_ja\": \"ミサイル誘導コンピューターのブループリント\", \n    \"groupName_ko\": \"미사일 유도 컴퓨터 블루프린트\", \n    \"groupName_ru\": \"Missile Guidance Computer Blueprint\", \n    \"groupName_zh\": \"导弹制导计算机蓝图\", \n    \"groupNameID\": 506029, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1400\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1400, \n    \"groupName_de\": \"Lenkwaffen-Leitverbesserung\", \n    \"groupName_en-us\": \"Missile Guidance Script\", \n    \"groupName_es\": \"Script de guiado de misiles\", \n    \"groupName_fr\": \"Script de guidage de missile\", \n    \"groupName_it\": \"Missile Guidance Script\", \n    \"groupName_ja\": \"ミサイル誘導スクリプト\", \n    \"groupName_ko\": \"미사일 유도 스크립트\", \n    \"groupName_ru\": \"Прошивки вычислителей наведения ракет\", \n    \"groupName_zh\": \"导弹制导脚本\", \n    \"groupNameID\": 506042, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1402\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1402, \n    \"groupName_de\": \"Amarr Navy Roaming-Schlachtschiff\", \n    \"groupName_en-us\": \"Amarr Navy Roaming Battleship\", \n    \"groupName_es\": \"Acorazado errante de la Armada Amarr\", \n    \"groupName_fr\": \"Cuirassé itinérant de l'Amarr Navy\", \n    \"groupName_it\": \"Amarr Navy Roaming Battleship\", \n    \"groupName_ja\": \"巡洋中のアマー海軍戦艦\", \n    \"groupName_ko\": \"배회하는 아마르 해군 배틀쉽\", \n    \"groupName_ru\": \"Свободный линкор Амаррского Флота\", \n    \"groupName_zh\": \"艾玛海军游荡的战列舰\", \n    \"groupNameID\": 506077, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1404\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1404, \n    \"groupName_de\": \"Ingenieurskomplex\", \n    \"groupName_en-us\": \"Engineering Complex\", \n    \"groupName_es\": \"Complejo de ingeniería\", \n    \"groupName_fr\": \"Complexe d'ingénierie\", \n    \"groupName_it\": \"Engineering Complex\", \n    \"groupName_ja\": \"エンジニアリング複合施設\", \n    \"groupName_ko\": \"엔지니어링 시설\", \n    \"groupName_ru\": \"Промышленные комплексы\", \n    \"groupName_zh\": \"工程复合体\", \n    \"groupNameID\": 506142, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1405\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1405, \n    \"groupName_de\": \"Labor\", \n    \"groupName_en-us\": \"Laboratory\", \n    \"groupName_es\": \"Laboratorio\", \n    \"groupName_fr\": \"Laboratoire\", \n    \"groupName_it\": \"Laboratory\", \n    \"groupName_ja\": \"研究施設\", \n    \"groupName_ko\": \"연구실\", \n    \"groupName_ru\": \"Лаборатория\", \n    \"groupName_zh\": \"实验室\", \n    \"groupNameID\": 506143, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1406\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1406, \n    \"groupName_de\": \"Raffinerie\", \n    \"groupName_en-us\": \"Refinery\", \n    \"groupName_es\": \"Refinería\", \n    \"groupName_fr\": \"Raffinerie\", \n    \"groupName_it\": \"Refinery\", \n    \"groupName_ja\": \"精錬所\", \n    \"groupName_ko\": \"정제소\", \n    \"groupName_ru\": \"Перерабатывающие комплексы\", \n    \"groupName_zh\": \"精炼厂\", \n    \"groupNameID\": 506144, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1407\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1407, \n    \"groupName_de\": \"Überwachungsanlage\", \n    \"groupName_en-us\": \"Observatory Array\", \n    \"groupName_es\": \"Plataforma de observatorio\", \n    \"groupName_fr\": \"Observatoire\", \n    \"groupName_it\": \"Observatory Array\", \n    \"groupName_ja\": \"観測施設\", \n    \"groupName_ko\": \"관측 시설\", \n    \"groupName_ru\": \"Разведкомплекс\", \n    \"groupName_zh\": \"瞭望阵列\", \n    \"groupNameID\": 506145, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1408\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1408, \n    \"groupName_de\": \"Upwell-Sprungbrücke\", \n    \"groupName_en-us\": \"Upwell Jump Bridge\", \n    \"groupName_es\": \"Puente de salto Upwell\", \n    \"groupName_fr\": \"Pont interstellaire Upwell\", \n    \"groupName_it\": \"Upwell Jump Bridge\", \n    \"groupName_ja\": \"アップウェルのジャンプブリッジ\", \n    \"groupName_ko\": \"업웰 점프 브릿지\", \n    \"groupName_ru\": \"Гипермост «Апвелл»\", \n    \"groupName_zh\": \"昇威跳跃桥接\", \n    \"groupNameID\": 506146, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1409\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1409, \n    \"groupName_de\": \"Verwaltungsknoten\", \n    \"groupName_en-us\": \"Administration Hub\", \n    \"groupName_es\": \"Centro de administración\", \n    \"groupName_fr\": \"Centre administratif\", \n    \"groupName_it\": \"Administration Hub\", \n    \"groupName_ja\": \"アドミニストレーションハブ\", \n    \"groupName_ko\": \"행정시설 허브\", \n    \"groupName_ru\": \"Административное сооружение\", \n    \"groupName_zh\": \"行政中心\", \n    \"groupNameID\": 506147, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1410\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1410, \n    \"groupName_de\": \"Werbezentrum\", \n    \"groupName_en-us\": \"Advertisement Center\", \n    \"groupName_es\": \"Centro de publicidad\", \n    \"groupName_fr\": \"Agence publicitaire\", \n    \"groupName_it\": \"Advertisement Center\", \n    \"groupName_ja\": \"広報センター\", \n    \"groupName_ko\": \"광고 센터\", \n    \"groupName_ru\": \"Центр пропаганды\", \n    \"groupName_zh\": \"宣传中心\", \n    \"groupNameID\": 506148, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1411\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1411, \n    \"groupName_de\": \"Amarr Navy Roaming-Kreuzer\", \n    \"groupName_en-us\": \"Amarr Navy Roaming Cruiser\", \n    \"groupName_es\": \"Crucero errante de la Armada Amarr\", \n    \"groupName_fr\": \"Croiseur itinérant de l'Amarr Navy\", \n    \"groupName_it\": \"Amarr Navy Roaming Cruiser\", \n    \"groupName_ja\": \"巡洋中のアマー海軍巡洋艦\", \n    \"groupName_ko\": \"배회하는 아마르 해군 크루저\", \n    \"groupName_ru\": \"Свободный крейсер Амаррского Флота\", \n    \"groupName_zh\": \"艾玛海军游荡的巡洋舰\", \n    \"groupNameID\": 506208, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1412\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1412, \n    \"groupName_de\": \"Amarr Navy Roaming-Capitalschiff\", \n    \"groupName_en-us\": \"Amarr Navy Roaming Capital\", \n    \"groupName_es\": \"Nave capital errante de la Armada Amarr\", \n    \"groupName_fr\": \"Vaisseau capital itinérant de l'Amarr Navy\", \n    \"groupName_it\": \"Amarr Navy Roaming Capital\", \n    \"groupName_ja\": \"巡洋中のアマー海軍母艦\", \n    \"groupName_ko\": \"배회하는 아마르 해군 캐피탈 함선\", \n    \"groupName_ru\": \"Свободный КБТ Амаррского Флота\", \n    \"groupName_zh\": \"艾玛海军游荡的旗舰\", \n    \"groupNameID\": 506210, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1413\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1413, \n    \"groupName_de\": \"Amarr Navy Roaming-Industrieschiff\", \n    \"groupName_en-us\": \"Amarr Navy Roaming Logistics\", \n    \"groupName_es\": \"Logística errante de la Armada Amarr\", \n    \"groupName_fr\": \"Vaisseau logistique itinérant de l'Amarr Navy\", \n    \"groupName_it\": \"Amarr Navy Roaming Logistics\", \n    \"groupName_ja\": \"巡洋中のアマー海軍支援型巡洋艦\", \n    \"groupName_ko\": \"배회하는 아마르 해군 로지스틱스\", \n    \"groupName_ru\": \"Свободный корабль обеспечения Амаррского Флота\", \n    \"groupName_zh\": \"艾玛海军游荡的后勤舰\", \n    \"groupNameID\": 506211, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1414\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1414, \n    \"groupName_de\": \"Amarr Navy Roaming-Fregatte\", \n    \"groupName_en-us\": \"Amarr Navy Roaming Frigate\", \n    \"groupName_es\": \"Fragata errante de la Armada Amarr\", \n    \"groupName_fr\": \"Frégate itinérante de l'Amarr Navy\", \n    \"groupName_it\": \"Amarr Navy Roaming Frigate\", \n    \"groupName_ja\": \"巡洋中のアマー海軍フリゲート\", \n    \"groupName_ko\": \"배회하는 아마르 해군 프리깃\", \n    \"groupName_ru\": \"Свободный фрегат Амаррского Флота\", \n    \"groupName_zh\": \"艾玛海军游荡的护卫舰\", \n    \"groupNameID\": 506212, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1415\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1415, \n    \"groupName_de\": \"Struktur: Industriedienstmodul\", \n    \"groupName_en-us\": \"Structure Engineering Service Module\", \n    \"groupName_es\": \"Módulo de servicio de ingeniería para estructuras\", \n    \"groupName_fr\": \"Module de service d'ingénierie pour structure\", \n    \"groupName_it\": \"Structure Engineering Service Module\", \n    \"groupName_ja\": \"ストラクチャ エンジニアリングサービスモジュール\", \n    \"groupName_ko\": \"구조물 엔지니어링 서비스 모듈\", \n    \"groupName_ru\": \"Служебные модули промышленных сооружений\", \n    \"groupName_zh\": \"建筑工程服务装备\", \n    \"groupNameID\": 506262, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1416\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1416, \n    \"groupName_de\": \"Struktur: Forschungsdienstmodul\", \n    \"groupName_en-us\": \"Structure Research Service Module\", \n    \"groupName_es\": \"Módulo de servicio de investigación para estructuras\", \n    \"groupName_fr\": \"Module de service de recherche (Structure)\", \n    \"groupName_it\": \"Structure Research Service Module\", \n    \"groupName_ja\": \"ストラクチャ ― 研究サービスモジュール\", \n    \"groupName_ko\": \"구조물 연구 서비스 모듈\", \n    \"groupName_ru\": \"Structure Research Service Module\", \n    \"groupName_zh\": \"建筑研究服务装备\", \n    \"groupNameID\": 506263, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1429\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1429, \n    \"groupName_de\": \"Struktur: Waffenupgrade\", \n    \"groupName_en-us\": \"Structure Weapon Upgrade\", \n    \"groupName_es\": \"Mejora de armas para estructuras\", \n    \"groupName_fr\": \"Amélioration d'armement (Structure)\", \n    \"groupName_it\": \"Structure Weapon Upgrade\", \n    \"groupName_ja\": \"ストラクチャ ― 兵器の改良\", \n    \"groupName_ko\": \"구조물 무기 업그레이드\", \n    \"groupName_ru\": \"Сооружение - пакет модернизации вооружения\", \n    \"groupName_zh\": \"建筑武器升级\", \n    \"groupNameID\": 506276, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1430\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1430, \n    \"groupName_de\": \"Struktur: Ausrüstungsmodul\", \n    \"groupName_en-us\": \"Structure Fitting Module\", \n    \"groupName_es\": \"Módulo de equipamiento para estructuras\", \n    \"groupName_fr\": \"Module de montage (Structure)\", \n    \"groupName_it\": \"Structure Fitting Module\", \n    \"groupName_ja\": \"ストラクチャ ― モジュール搭載\", \n    \"groupName_ko\": \"구조물 피팅 모듈\", \n    \"groupName_ru\": \"Сооружение - оснащение сооружений\", \n    \"groupName_zh\": \"建筑装配装备\", \n    \"groupNameID\": 506277, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1441\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1441, \n    \"groupName_de\": \"Struktur-Stasisnetz\", \n    \"groupName_en-us\": \"Structure Stasis Webifier\", \n    \"groupName_es\": \"Red ralentizadora para estructuras\", \n    \"groupName_fr\": \"Générateur de stase (Structure)\", \n    \"groupName_it\": \"Structure Stasis Webifier\", \n    \"groupName_ja\": \"ストラクチャ ― ステイシスウェビファイア\", \n    \"groupName_ko\": \"구조물 스테이시스 웹 생성기\", \n    \"groupName_ru\": \"Structure Stasis Webifier\", \n    \"groupName_zh\": \"建筑停滞缠绕光束\", \n    \"groupNameID\": 506446, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1442\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1442, \n    \"groupName_de\": \"Struktur-Warpunterbrecher\", \n    \"groupName_en-us\": \"Structure Warp Scrambler\", \n    \"groupName_es\": \"Distorsionador de warp de estructuras\", \n    \"groupName_fr\": \"Inhibiteur de warp (Structure)\", \n    \"groupName_it\": \"Structure Warp Scrambler\", \n    \"groupName_ja\": \"ストラクチャ ― ワープスクランブラー\", \n    \"groupName_ko\": \"구조물 워프 스크램블러\", \n    \"groupName_ru\": \"Тяжёлый варп-глушитель для сооружений\", \n    \"groupName_zh\": \"建筑跃迁扰频器\", \n    \"groupNameID\": 506455, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1452\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1452, \n    \"groupName_de\": \"Irregular-Drohne\", \n    \"groupName_en-us\": \"Irregular Drone\", \n    \"groupName_es\": \"Dron irregular\", \n    \"groupName_fr\": \"Drone irrégulier\", \n    \"groupName_it\": \"Irregular Drone\", \n    \"groupName_ja\": \"非正規ドローン\", \n    \"groupName_ko\": \"비정상적인 드론\", \n    \"groupName_ru\": \"Необычный дрон\", \n    \"groupName_zh\": \"叛道者无人机\", \n    \"groupNameID\": 508813, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1453\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1453, \n    \"groupName_de\": \"Irregular-Drohne zur elektronischen Kriegsführung\", \n    \"groupName_en-us\": \"Irregular EW Drone\", \n    \"groupName_es\": \"Dron de GE irregular\", \n    \"groupName_fr\": \"Drone de guerre électronique irrégulier\", \n    \"groupName_it\": \"Irregular EW Drone\", \n    \"groupName_ja\": \"非正規EWドローン\", \n    \"groupName_ko\": \"비정상적인 전자전 드론\", \n    \"groupName_ru\": \"Необычный дрон с системой электронного боя\", \n    \"groupName_zh\": \"叛道者电子战无人机\", \n    \"groupNameID\": 508814, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1454\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1454, \n    \"groupName_de\": \"Irregular-Jäger\", \n    \"groupName_en-us\": \"Irregular Fighter\", \n    \"groupName_es\": \"Caza irregular\", \n    \"groupName_fr\": \"Chasseur irrégulier\", \n    \"groupName_it\": \"Irregular Fighter\", \n    \"groupName_ja\": \"非正規艦載戦闘機\", \n    \"groupName_ko\": \"비정상적인 파이터\", \n    \"groupName_ru\": \"Необычный истребитель\", \n    \"groupName_zh\": \"叛道者铁骑舰载机\", \n    \"groupNameID\": 508815, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1455\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1455, \n    \"groupName_de\": \"Irregular-Jägerstaffel\", \n    \"groupName_en-us\": \"Irregular Fighter Squadron\", \n    \"groupName_es\": \"Escuadrón de cazas irregulares\", \n    \"groupName_fr\": \"Escadron de chasseurs irrégulier\", \n    \"groupName_it\": \"Irregular Fighter Squadron\", \n    \"groupName_ja\": \"非正規艦載戦闘機分隊\", \n    \"groupName_ko\": \"비정상적인 파이터 편대\", \n    \"groupName_ru\": \"Эскадрилья необычных истребителей\", \n    \"groupName_zh\": \"叛道者铁骑舰载机中队\", \n    \"groupNameID\": 508816, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1461\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1461, \n    \"groupName_de\": \"Unbekannte Blaupause\", \n    \"groupName_en-us\": \"Unknown Blueprint\", \n    \"groupName_es\": \"Plano desconocido\", \n    \"groupName_fr\": \"Plan de construction inconnu\", \n    \"groupName_it\": \"Unknown Blueprint\", \n    \"groupName_ja\": \"未知のブループリント\", \n    \"groupName_ko\": \"알 수 없는 블루프린트\", \n    \"groupName_ru\": \"Неизвестные чертежи\", \n    \"groupName_zh\": \"未知蓝图\", \n    \"groupNameID\": 508891, \n    \"iconID\": 2703, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1462\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1462, \n    \"groupName_de\": \"Struktur-Blaupausen\", \n    \"groupName_en-us\": \"Structure Blueprints\", \n    \"groupName_es\": \"Planos para estructuras\", \n    \"groupName_fr\": \"Plans de construction Structure\", \n    \"groupName_it\": \"Structure Blueprints\", \n    \"groupName_ja\": \"ストラクチャのブループリント\", \n    \"groupName_ko\": \"구조물 블루프린트\", \n    \"groupName_ru\": \"Чертежи сооружений\", \n    \"groupName_zh\": \"建筑蓝图\", \n    \"groupNameID\": 508924, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1465\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1465, \n    \"groupName_de\": \"Missionen: Standard-Supercarrier\", \n    \"groupName_en-us\": \"Mission Generic Supercarrier\", \n    \"groupName_es\": \"Superportanaves de misión genérico\", \n    \"groupName_fr\": \"Cuirassés génériques mission\", \n    \"groupName_it\": \"Mission Generic Supercarrier\", \n    \"groupName_ja\": \"汎用大型艦載機母艦\", \n    \"groupName_ko\": \"미션 일반 슈퍼캐리어\", \n    \"groupName_ru\": \"СуперКАР боевой группы\", \n    \"groupName_zh\": \"任务通用超级航母\", \n    \"groupNameID\": 508996, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1527\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1527, \n    \"groupName_de\": \"Logistik-Fregatte\", \n    \"groupName_en-us\": \"Logistics Frigate\", \n    \"groupName_es\": \"Fragata logística\", \n    \"groupName_fr\": \"Frégate logistique\", \n    \"groupName_it\": \"Logistics Frigate\", \n    \"groupName_ja\": \"支援型フリゲート\", \n    \"groupName_ko\": \"로지스틱스 프리깃\", \n    \"groupName_ru\": \"Фрегаты обеспечения\", \n    \"groupName_zh\": \"后勤护卫舰\", \n    \"groupNameID\": 510079, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1529\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1529, \n    \"groupName_de\": \"Raumverwerfung - Verbesserter Sleeper-Rächer\", \n    \"groupName_en-us\": \"Deadspace Sleeper Upgraded Avenger\", \n    \"groupName_es\": \"Vengador mejorado de sleepers del espacio muerto\", \n    \"groupName_fr\": \"Avenger amélioré sleeper Deadspace\", \n    \"groupName_it\": \"Deadspace Sleeper Upgraded Avenger\", \n    \"groupName_ja\": \"デッドスペース スリーパーの改良型アベンジャー\", \n    \"groupName_ko\": \"데드스페이스 슬리퍼 개량된 어벤져\", \n    \"groupName_ru\": \"Усовершенствованный «мститель» Скитальцев «мёртвых зон»\", \n    \"groupName_zh\": \"死亡空间冬眠者升级版复仇者\", \n    \"groupNameID\": 510145, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1530\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1530, \n    \"groupName_de\": \"Drifter-Reaktionsschlachtschiff\", \n    \"groupName_en-us\": \"Drifter Response Battleship\", \n    \"groupName_es\": \"Acorazado de respuesta drifter\", \n    \"groupName_fr\": \"Cuirassé de réponse drifter\", \n    \"groupName_it\": \"Drifter Response Battleship\", \n    \"groupName_ja\": \"ドリフターのレスポンス戦艦\", \n    \"groupName_ko\": \"드리프터 대응함\", \n    \"groupName_ru\": \"Линкор Скитальцев группы реагирования\", \n    \"groupName_zh\": \"流浪者反击战列舰\", \n    \"groupNameID\": 510146, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1533\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1533, \n    \"groupName_de\": \"Mikrosprungfeldgeneratoren\", \n    \"groupName_en-us\": \"Micro Jump Field Generators\", \n    \"groupName_es\": \"Generadores de campo de microsalto\", \n    \"groupName_fr\": \"Générateurs de champ de microsaut\", \n    \"groupName_it\": \"Micro Jump Field Generators\", \n    \"groupName_ja\": \"マイクロジャンプフィールドジェネレーター\", \n    \"groupName_ko\": \"마이크로 점프 필드 생성기\", \n    \"groupName_ru\": \"Генераторы разгонного поля\", \n    \"groupName_zh\": \"微型跳跃力场发生器\", \n    \"groupNameID\": 510190, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1534\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1534, \n    \"groupName_de\": \"Kommandozerstörer\", \n    \"groupName_en-us\": \"Command Destroyer\", \n    \"groupName_es\": \"Destructor de mando\", \n    \"groupName_fr\": \"Destroyer de commandement\", \n    \"groupName_it\": \"Command Destroyer\", \n    \"groupName_ja\": \"指揮型駆逐艦\", \n    \"groupName_ko\": \"커맨드 디스트로이어\", \n    \"groupName_ru\": \"Лидеры\", \n    \"groupName_zh\": \"指挥驱逐舰\", \n    \"groupNameID\": 510191, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1535\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1535, \n    \"groupName_de\": \"Struktur: Signalverstärker\", \n    \"groupName_en-us\": \"Structure Signal Amplifier\", \n    \"groupName_es\": \"Amplificador de señal para estructuras\", \n    \"groupName_fr\": \"Amplificateur de signal (Structure)\", \n    \"groupName_it\": \"Structure Signal Amplifier\", \n    \"groupName_ja\": \"ストラクチャシグナル増幅器\", \n    \"groupName_ko\": \"구조물 신호 증폭기\", \n    \"groupName_ru\": \"Structure Signal Amplifier\", \n    \"groupName_zh\": \"建筑信号放大器\", \n    \"groupNameID\": 510273, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1537\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 87, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1537, \n    \"groupName_de\": \"Unterstützungsjäger\", \n    \"groupName_en-us\": \"Support Fighter\", \n    \"groupName_es\": \"Caza de apoyo\", \n    \"groupName_fr\": \"Chasseur de support\", \n    \"groupName_it\": \"Support Fighter\", \n    \"groupName_ja\": \"支援戦闘機\", \n    \"groupName_ko\": \"서포트 파이터\", \n    \"groupName_ru\": \"Истребители поддержки\", \n    \"groupName_zh\": \"后勤铁骑舰载机\", \n    \"groupNameID\": 510385, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1538\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1538, \n    \"groupName_de\": \"Truppenunterstützer\", \n    \"groupName_en-us\": \"Force Auxiliary\", \n    \"groupName_es\": \"Nave auxiliar\", \n    \"groupName_fr\": \"Auxiliaire d'armée\", \n    \"groupName_it\": \"Force Auxiliary\", \n    \"groupName_ja\": \"軍事力補強\", \n    \"groupName_ko\": \"포스 악실리아\", \n    \"groupName_ru\": \"Вспомогательные КБТ\", \n    \"groupName_zh\": \"战力辅助舰\", \n    \"groupNameID\": 510410, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1542\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1542, \n    \"groupName_de\": \"Kommandozerstörer-Blaupause\", \n    \"groupName_en-us\": \"Command Destroyer Blueprint\", \n    \"groupName_es\": \"Plano de destructor de mando\", \n    \"groupName_fr\": \"Plan de construction Destroyer de commandement\", \n    \"groupName_it\": \"Command Destroyer Blueprint\", \n    \"groupName_ja\": \"指揮型駆逐艦のブループリント\", \n    \"groupName_ko\": \"커맨드 디스트로이어 블루프린트\", \n    \"groupName_ru\": \"Чертежи лидеров\", \n    \"groupName_zh\": \"指挥驱逐舰蓝图\", \n    \"groupNameID\": 510424, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1543\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1543, \n    \"groupName_de\": \"Mikrosprungfeldgenerator-Blaupause\", \n    \"groupName_en-us\": \"Micro Jump Field Generator Blueprint\", \n    \"groupName_es\": \"Plano de generador de campo de microsalto\", \n    \"groupName_fr\": \"Plan de construction Générateurs de champ de microsaut\", \n    \"groupName_it\": \"Micro Jump Field Generator Blueprint\", \n    \"groupName_ja\": \"マイクロジャンプフィールドジェネレーターのブループリント\", \n    \"groupName_ko\": \"마이크로 점프 필드 생성기 블루프린트\", \n    \"groupName_ru\": \"Чертежи генераторов разгонного поля\", \n    \"groupName_zh\": \"微型跳跃力场发生器蓝图\", \n    \"groupNameID\": 510425, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1545\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1545, \n    \"groupName_de\": \"Strukturverwaltung\", \n    \"groupName_en-us\": \"Structure Management\", \n    \"groupName_es\": \"Gestión de estructuras\", \n    \"groupName_fr\": \"Gestion de structure\", \n    \"groupName_it\": \"Structure Management\", \n    \"groupName_ja\": \"ストラクチャ管理\", \n    \"groupName_ko\": \"구조물 관리\", \n    \"groupName_ru\": \"Управление сооружениями\", \n    \"groupName_zh\": \"建筑管理\", \n    \"groupNameID\": 510630, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1546\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1546, \n    \"groupName_de\": \"Struktur: Anti-Capital-Lenkwaffe\", \n    \"groupName_en-us\": \"Structure Anti-Capital Missile\", \n    \"groupName_es\": \"Misil anticapital para estructuras\", \n    \"groupName_fr\": \"Missile anti-capital (Structure)\", \n    \"groupName_it\": \"Structure Anti-Capital Missile\", \n    \"groupName_ja\": \"ストラクチャ ― 対母艦ミサイル\", \n    \"groupName_ko\": \"구조물 대 캐피탈 미사일\", \n    \"groupName_ru\": \"Ракеты сооружений против КБТ\", \n    \"groupName_zh\": \"建筑反旗舰导弹\", \n    \"groupNameID\": 510635, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1547\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1547, \n    \"groupName_de\": \"Struktur: Anti-Subcapital-Lenkwaffe\", \n    \"groupName_en-us\": \"Structure Anti-Subcapital Missile\", \n    \"groupName_es\": \"Misil antisubcapital para estructuras\", \n    \"groupName_fr\": \"Missile anti sous-capital (Structure)\", \n    \"groupName_it\": \"Structure Anti-Subcapital Missile\", \n    \"groupName_ja\": \"ストラクチャ ― 対準母艦ミサイル\", \n    \"groupName_ko\": \"구조물 대 서브캐피탈 미사일\", \n    \"groupName_ru\": \"Ракеты сооружений против кораблей стандартного тоннажа\", \n    \"groupName_zh\": \"建筑反非旗舰导弹\", \n    \"groupNameID\": 510636, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1548\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1548, \n    \"groupName_de\": \"Lenkbombe\", \n    \"groupName_en-us\": \"Guided Bomb\", \n    \"groupName_es\": \"Bomba guiada\", \n    \"groupName_fr\": \"Bombe ciblée\", \n    \"groupName_it\": \"Guided Bomb\", \n    \"groupName_ja\": \"誘導ボム\", \n    \"groupName_ko\": \"유도 폭탄\", \n    \"groupName_ru\": \"Направляемая бомба\", \n    \"groupName_zh\": \"制导炸弹\", \n    \"groupNameID\": 510637, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1549\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1549, \n    \"groupName_de\": \"Struktur-ECM-Skript\", \n    \"groupName_en-us\": \"Structure ECM script\", \n    \"groupName_es\": \"Script de ECM para estructuras\", \n    \"groupName_fr\": \"Structure – Script CME\", \n    \"groupName_it\": \"Structure ECM script\", \n    \"groupName_ja\": \"ストラクチャ ECMスクリプト\", \n    \"groupName_ko\": \"구조물 ECM 스크립트\", \n    \"groupName_ru\": \"Сооружения - прошивка генераторов помех системам сопровождения целей\", \n    \"groupName_zh\": \"建筑ECM脚本\", \n    \"groupNameID\": 510638, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1550\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1550, \n    \"groupName_de\": \"Struktur-Stasisnetz-Skript\", \n    \"groupName_en-us\": \"Structure Stasis Webifier Script\", \n    \"groupName_es\": \"Script de red ralentizadora para estructuras\", \n    \"groupName_fr\": \"Script de générateur de stase pour structure\", \n    \"groupName_it\": \"Structure Stasis Webifier Script\", \n    \"groupName_ja\": \"ストラクチャ ステイシスウェビファイヤーのスクリプト\", \n    \"groupName_ko\": \"구조물 스테이시스 웹 생성기 스크립트\", \n    \"groupName_ru\": \"Сооружения - прошивка для генератора стазис-поля\", \n    \"groupName_zh\": \"建筑停滞缠绕光束脚本\", \n    \"groupNameID\": 510639, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1551\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1551, \n    \"groupName_de\": \"Struktur-Warpstörer-Skript\", \n    \"groupName_en-us\": \"Structure Warp Disruptor Script\", \n    \"groupName_es\": \"Script de disruptor de warp para estructuras\", \n    \"groupName_fr\": \"Script de perturbateur de warp pour structure\", \n    \"groupName_it\": \"Structure Warp Disruptor Script\", \n    \"groupName_ja\": \"ストラクチャ ワープ妨害器のスクリプト\", \n    \"groupName_ko\": \"구조물 워프 디스럽터 스크립트\", \n    \"groupName_ru\": \"Сооружения - прошивка для варп-глушителя\", \n    \"groupName_zh\": \"建筑跃迁扰断器脚本\", \n    \"groupNameID\": 510640, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1559\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1559, \n    \"groupName_de\": \"Struktur-Resistenzwechsler-Skript\", \n    \"groupName_en-us\": \"Structure Resistance Switcher Script\", \n    \"groupName_es\": \"Script de conmutador de resistencia de estructuras\", \n    \"groupName_fr\": \"Script Aiguilleur de résistance de structure\", \n    \"groupName_it\": \"Structure Resistance Switcher Script\", \n    \"groupName_ja\": \"ストラクチャ レジスタンス切り替え装置のスクリプト\", \n    \"groupName_ko\": \"구조물 저항 스위치 스크립트\", \n    \"groupName_ru\": \"Сооружения - прошивка смены профиля сопротивлений\", \n    \"groupName_zh\": \"建筑抗性切换器脚本\", \n    \"groupNameID\": 510648, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1562\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1562, \n    \"groupName_de\": \"Struktur: Mehrzweck-Lenkwaffenwerfer\", \n    \"groupName_en-us\": \"Structure Multirole Missile Launcher\", \n    \"groupName_es\": \"Lanzamisiles multifunción para estructura\", \n    \"groupName_fr\": \"Lance-missiles multirôle pour structure\", \n    \"groupName_it\": \"Structure Multirole Missile Launcher\", \n    \"groupName_ja\": \"ストラクチャ多目的ミサイルランチャー\", \n    \"groupName_ko\": \"구조물 다용도 미사일 런처\", \n    \"groupName_ru\": \"Многофункциональная ракетная установка для сооружений\", \n    \"groupName_zh\": \"建筑多功能导弹发射器\", \n    \"groupNameID\": 510929, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1566\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1566, \n    \"groupName_de\": \"Irregular-Shuttle\", \n    \"groupName_en-us\": \"Irregular Shuttle\", \n    \"groupName_es\": \"Lanzadera irregular\", \n    \"groupName_fr\": \"Navette irrégulière\", \n    \"groupName_it\": \"Irregular Shuttle\", \n    \"groupName_ja\": \"非正規シャトル\", \n    \"groupName_ko\": \"비정상적인 셔틀\", \n    \"groupName_ru\": \"Необычный катер\", \n    \"groupName_zh\": \"叛道者穿梭机\", \n    \"groupNameID\": 511820, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1567\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1567, \n    \"groupName_de\": \"Irregular-Corvette\", \n    \"groupName_en-us\": \"Irregular Corvette\", \n    \"groupName_es\": \"Corbeta irregular\", \n    \"groupName_fr\": \"Corvette irrégulière\", \n    \"groupName_it\": \"Irregular Corvette\", \n    \"groupName_ja\": \"非正規コルベット\", \n    \"groupName_ko\": \"비정상적인 코르벳\", \n    \"groupName_ru\": \"Необычный корвет\", \n    \"groupName_zh\": \"叛道者轻型护卫舰\", \n    \"groupNameID\": 511821, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1568\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1568, \n    \"groupName_de\": \"Irregular-Fregatte\", \n    \"groupName_en-us\": \"Irregular Frigate\", \n    \"groupName_es\": \"Fragata irregular\", \n    \"groupName_fr\": \"Frégate irrégulière\", \n    \"groupName_it\": \"Irregular Frigate\", \n    \"groupName_ja\": \"非正規フリゲート\", \n    \"groupName_ko\": \"비정상적인 프리깃\", \n    \"groupName_ru\": \"Необычный фрегат\", \n    \"groupName_zh\": \"叛道者护卫舰\", \n    \"groupNameID\": 511822, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1569\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1569, \n    \"groupName_de\": \"Leitstörskript\", \n    \"groupName_en-us\": \"Guidance Disruption Script\", \n    \"groupName_es\": \"Script disruptor de guiado\", \n    \"groupName_fr\": \"Script de perturbation de guidage\", \n    \"groupName_it\": \"Guidance Disruption Script\", \n    \"groupName_ja\": \"ガイダンス妨害スクリプト\", \n    \"groupName_ko\": \"유도 디스럽터 스크립트\", \n    \"groupName_ru\": \"Прошивка глушения систем наведения ракет\", \n    \"groupName_zh\": \"制导干扰脚本\", \n    \"groupNameID\": 513663, \n    \"iconID\": 1639, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1570\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1570, \n    \"groupName_de\": \"Structure Assembly Rig M - Small Tech I Ship\", \n    \"groupName_en-us\": \"Structure Assembly Rig M - Small Tech I Ship\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (M): nave T1 pequeña\", \n    \"groupName_fr\": \"Optimisation d'assemblage M (Structure) – Petits vaisseaux de tech I\", \n    \"groupName_it\": \"Structure Assembly Rig M - Small Tech I Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグM（小型Tech 1艦船）\", \n    \"groupName_ko\": \"구조물 생산 리그 M - 소형 테크 I 함선\", \n    \"groupName_ru\": \"Structure Assembly Rig M - Small Tech I Ship\", \n    \"groupName_zh\": \"建筑装配中型改装件 - 一级科技小型舰船\", \n    \"groupNameID\": 513669, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1579\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1579, \n    \"groupName_de\": \"Structure Assembly Rig M - Medium Tech I Ship\", \n    \"groupName_en-us\": \"Structure Assembly Rig M - Medium Tech I Ship\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (M): nave T1 mediana\", \n    \"groupName_fr\": \"Optimisation d'assemblage M (Structure) – Vaisseaux intermédiaires de tech I\", \n    \"groupName_it\": \"Structure Assembly Rig M - Medium Tech I Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグM（中型Tech 1艦船）\", \n    \"groupName_ko\": \"구조물 생산 리그 M - 중형 테크 I 함선\", \n    \"groupName_ru\": \"Structure Assembly Rig M - Medium Tech I Ship\", \n    \"groupName_zh\": \"建筑装配中型改装件 - 一级科技中型舰船\", \n    \"groupNameID\": 513670, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1580\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1580, \n    \"groupName_de\": \"Structure Assembly Rig M - Large Tech I Ship\", \n    \"groupName_en-us\": \"Structure Assembly Rig M - Large Tech I Ship\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (M): nave T1 grande\", \n    \"groupName_fr\": \"Optimisation d'assemblage M (Structure) – Grands vaisseaux de tech I\", \n    \"groupName_it\": \"Structure Assembly Rig M - Large Tech I Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグM（大型Tech 1艦船）\", \n    \"groupName_ko\": \"구조물 생산 리그 M - 대형 테크 I 함선\", \n    \"groupName_ru\": \"Structure Assembly Rig M - Large Tech I Ship\", \n    \"groupName_zh\": \"建筑装配中型改装件 - 一级科技大型舰船\", \n    \"groupNameID\": 513671, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1581\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1581, \n    \"groupName_de\": \"Structure Assembly Rig M - Small Tech II Ship\", \n    \"groupName_en-us\": \"Structure Assembly Rig M - Small Tech II Ship\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (M): nave T2 pequeña\", \n    \"groupName_fr\": \"Optimisation d'assemblage M (Structure) – Petits vaisseaux de tech II\", \n    \"groupName_it\": \"Structure Assembly Rig M - Small Tech II Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグM（小型Tech 2艦船）\", \n    \"groupName_ko\": \"구조물 생산 리그 M - 소형 테크 II 함선\", \n    \"groupName_ru\": \"Structure Assembly Rig M - Small Tech II Ship\", \n    \"groupName_zh\": \"建筑装配中型改装件 - 二级科技小型舰船\", \n    \"groupNameID\": 513672, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1582\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1582, \n    \"groupName_de\": \"Structure Assembly Rig M - Medium Tech II Ship\", \n    \"groupName_en-us\": \"Structure Assembly Rig M - Medium Tech II Ship\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (M): nave T2 mediana\", \n    \"groupName_fr\": \"Optimisation d'assemblage M (Structure) – Vaisseaux intermédiaires de tech II\", \n    \"groupName_it\": \"Structure Assembly Rig M - Medium Tech II Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグM（中型Tech 2艦船）\", \n    \"groupName_ko\": \"구조물 생산 리그 M - 중형 테크 II 함선\", \n    \"groupName_ru\": \"Structure Assembly Rig M - Medium Tech II Ship\", \n    \"groupName_zh\": \"建筑装配中型改装件 - 二级科技中型舰船\", \n    \"groupNameID\": 513673, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1583\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1583, \n    \"groupName_de\": \"Structure Assembly Rig M - Large Tech II Ship\", \n    \"groupName_en-us\": \"Structure Assembly Rig M - Large Tech II Ship\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (M): nave T2 grande\", \n    \"groupName_fr\": \"Optimisation d'assemblage M (Structure) – Grands vaisseaux de tech II\", \n    \"groupName_it\": \"Structure Assembly Rig M - Large Tech II Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグM（大型Tech 2艦船）\", \n    \"groupName_ko\": \"구조물 생산 리그 M - 대형 테크 II 함선\", \n    \"groupName_ru\": \"Structure Assembly Rig M - Large Tech II Ship\", \n    \"groupName_zh\": \"建筑装配中型改装件 - 二级科技大型舰船\", \n    \"groupNameID\": 513674, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1584\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1584, \n    \"groupName_de\": \"Struktur: Fertigungsanlage M - Drohne\", \n    \"groupName_en-us\": \"Structure Assembly Rig M - Drone\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (M): dron\", \n    \"groupName_fr\": \"Optimisation d'assemblage M (Structure) – Drones\", \n    \"groupName_it\": \"Structure Assembly Rig M - Drone\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグM（ドローン）\", \n    \"groupName_ko\": \"구조물 생산 리그 M - 드론\", \n    \"groupName_ru\": \"Structure Assembly Rig M - Drone\", \n    \"groupName_zh\": \"建筑装配中型改装件 - 无人机\", \n    \"groupNameID\": 513675, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1585\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1585, \n    \"groupName_de\": \"Structure Assembly Rig M - Consumable\", \n    \"groupName_en-us\": \"Structure Assembly Rig M - Consumable\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (M): consumible\", \n    \"groupName_fr\": \"Optimisation d'assemblage M (Structure) – Produits de consommation\", \n    \"groupName_it\": \"Structure Assembly Rig M - Consumable\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグM（消耗品）\", \n    \"groupName_ko\": \"구조물 생산 리그 M - 소모품\", \n    \"groupName_ru\": \"Structure Assembly Rig M - Consumable\", \n    \"groupName_zh\": \"建筑装配中型改装件 - 消费品\", \n    \"groupNameID\": 513676, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1586\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1586, \n    \"groupName_de\": \"Structure Assembly Rig M - Module\", \n    \"groupName_en-us\": \"Structure Assembly Rig M - Module\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (M): módulo\", \n    \"groupName_fr\": \"Optimisation d'assemblage M (Structure) – Modules\", \n    \"groupName_it\": \"Structure Assembly Rig M - Module\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグM（モジュール）\", \n    \"groupName_ko\": \"구조물 생산 리그 M - 모듈\", \n    \"groupName_ru\": \"Structure Assembly Rig M - Module\", \n    \"groupName_zh\": \"建筑装配中型改装件 - 装备\", \n    \"groupNameID\": 513677, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1587\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1587, \n    \"groupName_de\": \"Structure Assembly Rig L - Module, Consumable, Drone\", \n    \"groupName_en-us\": \"Structure Assembly Rig L - Module, Consumable, Drone\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (L): módulo, consumible, dron\", \n    \"groupName_fr\": \"Optimisation d'assemblage L (Structure) – Modules, produits de consommation, drones\", \n    \"groupName_it\": \"Structure Assembly Rig L - Module, Consumable, Drone\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグL（モジュール、消耗品、ドローン）\", \n    \"groupName_ko\": \"구조물 생산 리그 L - 모듈, 소모품, 드론\", \n    \"groupName_ru\": \"Structure Assembly Rig L - Module, Consumable, Drone\", \n    \"groupName_zh\": \"建筑装配大型改装件 - 装备、消费品、无人机\", \n    \"groupNameID\": 513678, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1588\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1588, \n    \"groupName_de\": \"Structure Assembly Rig L - Tech I Ship\", \n    \"groupName_en-us\": \"Structure Assembly Rig L - Tech I Ship\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (L): nave T1\", \n    \"groupName_fr\": \"Optimisation d'assemblage L (Structure) – Vaisseaux de tech I\", \n    \"groupName_it\": \"Structure Assembly Rig L - Tech I Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグL（Tech 1艦船）\", \n    \"groupName_ko\": \"구조물 생산 리그 L - 테크 I 함선\", \n    \"groupName_ru\": \"Structure Assembly Rig L - Tech I Ship\", \n    \"groupName_zh\": \"建筑装配大型改装件 - 一级科技舰船\", \n    \"groupNameID\": 513679, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1589\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1589, \n    \"groupName_de\": \"Structure Assembly Rig L - Tech II Ship\", \n    \"groupName_en-us\": \"Structure Assembly Rig L - Tech II Ship\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (L): nave T2\", \n    \"groupName_fr\": \"Optimisation d'assemblage L (Structure) – Vaisseaux de tech II\", \n    \"groupName_it\": \"Structure Assembly Rig L - Tech II Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグL（Tech 2艦船）\", \n    \"groupName_ko\": \"구조물 생산 리그 L - 테크 II 함선\", \n    \"groupName_ru\": \"Structure Assembly Rig L - Tech II Ship\", \n    \"groupName_zh\": \"建筑装配大型改装件 - 二级科技舰船\", \n    \"groupNameID\": 513680, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1590\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1590, \n    \"groupName_de\": \"Structure Assembly Rig L - Tech II Component\", \n    \"groupName_en-us\": \"Structure Assembly Rig L - Tech II Component\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (L): componente T2\", \n    \"groupName_fr\": \"Optimisation d'assemblage L (Structure) – Composants de tech II\", \n    \"groupName_it\": \"Structure Assembly Rig L - Tech II Component\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグL（Tech 2コンポーネント）\", \n    \"groupName_ko\": \"구조물 생산 리그 L - 테크 II 부품\", \n    \"groupName_ru\": \"Structure Assembly Rig L - Tech II Component\", \n    \"groupName_zh\": \"建筑装配大型改装件 - 二级科技组件\", \n    \"groupNameID\": 513681, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1591\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1591, \n    \"groupName_de\": \"Structure Assembly Rig L - Tech I Capital Component\", \n    \"groupName_en-us\": \"Structure Assembly Rig L - Tech I Capital Component\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (L): componente de nave capital T1\", \n    \"groupName_fr\": \"Optimisation d'assemblage L (Structure) – Composants capitaux de tech I\", \n    \"groupName_it\": \"Structure Assembly Rig L - Tech I Capital Component\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグL（Tech 1キャピタルコンポーネント）\", \n    \"groupName_ko\": \"구조물 생산 리그 L - 테크 I 캐피탈 부품\", \n    \"groupName_ru\": \"Structure Assembly Rig L - Tech I Capital Component\", \n    \"groupName_zh\": \"建筑装配大型改装件 - 一级科技旗舰组件\", \n    \"groupNameID\": 513682, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1592\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1592, \n    \"groupName_de\": \"Structure Assembly Rig L - Structure Component\", \n    \"groupName_en-us\": \"Structure Assembly Rig L - Structure Component\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (L): componente para estructura\", \n    \"groupName_fr\": \"Optimisation d'assemblage L (Structure) – Composants de structure\", \n    \"groupName_it\": \"Structure Assembly Rig L - Structure Component\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグL（ストラクチャコンポーネント）\", \n    \"groupName_ko\": \"구조물 생산 리그 L - 구조물 부품\", \n    \"groupName_ru\": \"Structure Assembly Rig L - Structure Component\", \n    \"groupName_zh\": \"建筑装配大型改装件 - 建筑组件\", \n    \"groupNameID\": 513683, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1593\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1593, \n    \"groupName_de\": \"Structure Assembly Rig L - Subsystem\", \n    \"groupName_en-us\": \"Structure Assembly Rig L - Subsystem\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (L): subsistema\", \n    \"groupName_fr\": \"Optimisation d'assemblage L (Structure) – Sous-systèmes\", \n    \"groupName_it\": \"Structure Assembly Rig L - Subsystem\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグL（サブシステム）\", \n    \"groupName_ko\": \"구조물 생산 리그 L - 서브시스템\", \n    \"groupName_ru\": \"Structure Assembly Rig L - Subsystem\", \n    \"groupName_zh\": \"建筑装配大型改装件 - 子系统\", \n    \"groupNameID\": 513684, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1594\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1594, \n    \"groupName_de\": \"Struktur: Fertigungsanlage XL - Ausrüstung\", \n    \"groupName_en-us\": \"Structure Assembly Rig XL - Equipment\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (XL): equipo\", \n    \"groupName_fr\": \"Optimisation d'assemblage XL (Structure) – Équipement\", \n    \"groupName_it\": \"Structure Assembly Rig XL - Equipment\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグXL（装備）\", \n    \"groupName_ko\": \"구조물 생산 리그 XL - 장비\", \n    \"groupName_ru\": \"Structure Assembly Rig XL - Equipment\", \n    \"groupName_zh\": \"建筑装配超大型改装件 - 设备\", \n    \"groupNameID\": 513685, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1595\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1595, \n    \"groupName_de\": \"Struktur: Fertigungsanlage XL - Schiff\", \n    \"groupName_en-us\": \"Structure Assembly Rig XL - Ship\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (XL): nave\", \n    \"groupName_fr\": \"Optimisation d'assemblage XL (Structure) – Vaisseaux\", \n    \"groupName_it\": \"Structure Assembly Rig XL - Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグXL（艦船）\", \n    \"groupName_ko\": \"구조물 생산 리그 XL - 함선\", \n    \"groupName_ru\": \"Structure Assembly Rig XL - Ship\", \n    \"groupName_zh\": \"建筑装配超大型改装件 - 舰船\", \n    \"groupNameID\": 513686, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1596\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1596, \n    \"groupName_de\": \"Struktur: Fertigungsanlage XL - Alle Komponenten\", \n    \"groupName_en-us\": \"Structure Assembly Rig XL - All Components\", \n    \"groupName_es\": \"Complemento de ensamblaje para estructuras (XL): todos los componentes\", \n    \"groupName_fr\": \"Optimisation d'assemblage XL (Structure) – Tous composants\", \n    \"groupName_it\": \"Structure Assembly Rig XL - All Components\", \n    \"groupName_ja\": \"ストラクチャ ― 組立リグXL（すべてのコンポーネント）\", \n    \"groupName_ko\": \"구조물 생산 리그 XL - 모든 부품\", \n    \"groupName_ru\": \"Тюнинг-модули сверхбольших сборочных цехов - все компоненты\", \n    \"groupName_zh\": \"建筑装配超大型改装件 - 所有组件\", \n    \"groupNameID\": 513687, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1598\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1598, \n    \"groupName_de\": \"Struktur: Laboranlage M - Kleines Schiff\", \n    \"groupName_en-us\": \"Structure Laboratory Rig M - Small Ship\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (M): nave pequeña\", \n    \"groupName_fr\": \"Optimisation de laboratoire M (Structure) – Petits vaisseaux\", \n    \"groupName_it\": \"Structure Laboratory Rig M - Small Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグM（小型艦船）\", \n    \"groupName_ko\": \"구조물 연구실 리그 M - 소형 함선\", \n    \"groupName_ru\": \"Structure Laboratory Rig M - Small Ship\", \n    \"groupName_zh\": \"建筑实验室中型改装件 - 小型舰船\", \n    \"groupNameID\": 513689, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1599\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1599, \n    \"groupName_de\": \"Struktur: Laboranlage M - Mittelgroßes Schiff\", \n    \"groupName_en-us\": \"Structure Laboratory Rig M - Medium Ship\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (M): nave mediana\", \n    \"groupName_fr\": \"Optimisation de laboratoire M (Structure) – Vaisseaux intermédiaires\", \n    \"groupName_it\": \"Structure Laboratory Rig M - Medium Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグM（中型艦船）\", \n    \"groupName_ko\": \"구조물 연구실 리그 M - 중형 함선\", \n    \"groupName_ru\": \"Structure Laboratory Rig M - Medium Ship\", \n    \"groupName_zh\": \"建筑实验室中型改装件 - 中型舰船\", \n    \"groupNameID\": 513690, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1600\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1600, \n    \"groupName_de\": \"Struktur: Laboranlage M - Großes Schiff\", \n    \"groupName_en-us\": \"Structure Laboratory Rig M - Large Ship\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (M): nave grande\", \n    \"groupName_fr\": \"Optimisation de laboratoire M (Structure) – Grands vaisseaux\", \n    \"groupName_it\": \"Structure Laboratory Rig M - Large Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグM（大型艦船）\", \n    \"groupName_ko\": \"구조물 연구실 리그 M - 대형 함선\", \n    \"groupName_ru\": \"Structure Laboratory Rig M - Large Ship\", \n    \"groupName_zh\": \"建筑实验室中型改装件 - 大型舰船\", \n    \"groupNameID\": 513691, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1601\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1601, \n    \"groupName_de\": \"Struktur: Laboranlage M - Drohne\", \n    \"groupName_en-us\": \"Structure Laboratory Rig M - Drone\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (M): dron\", \n    \"groupName_fr\": \"Optimisation de laboratoire M (Structure) – Drones\", \n    \"groupName_it\": \"Structure Laboratory Rig M - Drone\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグM（ドローン）\", \n    \"groupName_ko\": \"구조물 연구실 리그 M - 드론\", \n    \"groupName_ru\": \"Structure Laboratory Rig M - Drone\", \n    \"groupName_zh\": \"建筑实验室中型改装件 - 无人机\", \n    \"groupNameID\": 513692, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1602\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1602, \n    \"groupName_de\": \"Struktur: Laboranlage M - Verbrauchsgut\", \n    \"groupName_en-us\": \"Structure Laboratory Rig M - Consumable\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (M): consumible\", \n    \"groupName_fr\": \"Optimisation de laboratoire M (Structure) – Produits de consommation\", \n    \"groupName_it\": \"Structure Laboratory Rig M - Consumable\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグM（消耗品）\", \n    \"groupName_ko\": \"구조물 연구실 리그 M - 소모품\", \n    \"groupName_ru\": \"Structure Laboratory Rig M - Consumable\", \n    \"groupName_zh\": \"建筑实验室中型改装件 - 消费品\", \n    \"groupNameID\": 513693, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1603\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1603, \n    \"groupName_de\": \"Struktur: Laboranlage M - Modul\", \n    \"groupName_en-us\": \"Structure Laboratory Rig M - Module\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (M): módulo\", \n    \"groupName_fr\": \"Optimisation de laboratoire M (Structure) – Modules\", \n    \"groupName_it\": \"Structure Laboratory Rig M - Module\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグM（モジュール）\", \n    \"groupName_ko\": \"구조물 연구실 리그 M - 모듈\", \n    \"groupName_ru\": \"Structure Laboratory Rig M - Module\", \n    \"groupName_zh\": \"建筑实验室中型改装件 - 装备\", \n    \"groupNameID\": 513694, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1604\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1604, \n    \"groupName_de\": \"Struktur: Laboranlage L - Modul, Verbrauchsgut, Drohne\", \n    \"groupName_en-us\": \"Structure Laboratory Rig L - Module, Consumable, Drone\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (G): módulo, consumible, dron\", \n    \"groupName_fr\": \"Optimisation de laboratoire L (Structure) – Modules, produits de consommation, drones\", \n    \"groupName_it\": \"Structure Laboratory Rig L - Module, Consumable, Drone\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグL（モジュール、消耗品、ドローン）\", \n    \"groupName_ko\": \"구조물 연구실 리그 L - 모듈, 소모품, 드론\", \n    \"groupName_ru\": \"Structure Laboratory Rig L - Module, Consumable, Drone\", \n    \"groupName_zh\": \"建筑实验室大型改装件 - 装备、消费品、无人机\", \n    \"groupNameID\": 513695, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1605\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1605, \n    \"groupName_de\": \"Struktur: Laboranlage L - Schiff\", \n    \"groupName_en-us\": \"Structure Laboratory Rig L - Ship\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (G): nave\", \n    \"groupName_fr\": \"Optimisation de laboratoire L (Structure) – Vaisseaux\", \n    \"groupName_it\": \"Structure Laboratory Rig L - Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグL（艦船）\", \n    \"groupName_ko\": \"구조물 연구실 리그 L - 함선\", \n    \"groupName_ru\": \"Structure Laboratory Rig L - Ship\", \n    \"groupName_zh\": \"建筑实验室大型改装件 - 舰船\", \n    \"groupNameID\": 513696, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1606\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1606, \n    \"groupName_de\": \"Struktur: Laboranlage L - Komponente\", \n    \"groupName_en-us\": \"Structure Laboratory Rig L - Component\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (G): componente\", \n    \"groupName_fr\": \"Optimisation de laboratoire L (Structure) – Composants\", \n    \"groupName_it\": \"Structure Laboratory Rig L - Component\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグL（コンポーネント）\", \n    \"groupName_ko\": \"구조물 연구실 리그 L - 부품\", \n    \"groupName_ru\": \"Structure Laboratory Rig L - Component\", \n    \"groupName_zh\": \"建筑实验室大型改装件 - 组件\", \n    \"groupNameID\": 513697, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1607\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1607, \n    \"groupName_de\": \"Struktur: Laboranlage L - Capital-Komponente\", \n    \"groupName_en-us\": \"Structure Laboratory Rig L - Capital Component\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (G): componente de nave capital\", \n    \"groupName_fr\": \"Optimisation de laboratoire L (Structure) – Composants capitaux\", \n    \"groupName_it\": \"Structure Laboratory Rig L - Capital Component\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグL（キャピタルコンポーネント）\", \n    \"groupName_ko\": \"구조물 연구실 리그 L - 캐피탈 부품\", \n    \"groupName_ru\": \"Structure Laboratory Rig L - Capital Component\", \n    \"groupName_zh\": \"建筑实验室大型改装件 - 旗舰组件\", \n    \"groupNameID\": 513698, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1608\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1608, \n    \"groupName_de\": \"Struktur: Laboranlage L - Strukturkomponenten\", \n    \"groupName_en-us\": \"Structure Laboratory Rig L - Structure Component\", \n    \"groupName_es\": \"Complemento de laboratorio para estructura (L): componente para estructura\", \n    \"groupName_fr\": \"Optimisation de laboratoire L (Structure) – Composants de structure\", \n    \"groupName_it\": \"Structure Laboratory Rig L - Structure Component\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグL（ストラクチャコンポーネント）\", \n    \"groupName_ko\": \"구조물 연구실 리그 L - 구조물 부품\", \n    \"groupName_ru\": \"Structure Laboratory Rig L - Structure Component\", \n    \"groupName_zh\": \"建筑实验室大型改装件 - 建筑组件\", \n    \"groupNameID\": 513699, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1609\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1609, \n    \"groupName_de\": \"Struktur: Laboranlage L - Subsystem\", \n    \"groupName_en-us\": \"Structure Laboratory Rig L - Subsystem\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (G): subsistema\", \n    \"groupName_fr\": \"Optimisation de laboratoire L (Structure) – Sous-systèmes\", \n    \"groupName_it\": \"Structure Laboratory Rig L - Subsystem\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグL（サブシステム）\", \n    \"groupName_ko\": \"구조물 연구실 리그 L - 서브시스템\", \n    \"groupName_ru\": \"Structure Laboratory Rig L - Subsystem\", \n    \"groupName_zh\": \"建筑实验室大型改装件 - 子系统\", \n    \"groupNameID\": 513700, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1610\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1610, \n    \"groupName_de\": \"Struktur: Laboranlage XL - Ausrüstung\", \n    \"groupName_en-us\": \"Structure Laboratory Rig XL - Equipment\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (XL): equipo\", \n    \"groupName_fr\": \"Optimisation de laboratoire XL (Structure) – Équipement\", \n    \"groupName_it\": \"Structure Laboratory Rig XL - Equipment\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグXL（装備）\", \n    \"groupName_ko\": \"구조물 연구실 리그 XL - 장비\", \n    \"groupName_ru\": \"Structure Laboratory Rig XL - Equipment\", \n    \"groupName_zh\": \"建筑实验室超大型改装件 - 设备\", \n    \"groupNameID\": 513701, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1611\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1611, \n    \"groupName_de\": \"Struktur: Laboranlage XL - Schiff\", \n    \"groupName_en-us\": \"Structure Laboratory Rig XL - Ship\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (XL): nave\", \n    \"groupName_fr\": \"Optimisation de laboratoire XL (Structure) – Vaisseaux\", \n    \"groupName_it\": \"Structure Laboratory Rig XL - Ship\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグXL（艦船）\", \n    \"groupName_ko\": \"구조물 연구실 리그 XL - 함선\", \n    \"groupName_ru\": \"Structure Laboratory Rig XL - Ship\", \n    \"groupName_zh\": \"建筑实验室超大型改装件 - 舰船\", \n    \"groupNameID\": 513702, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1612\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1612, \n    \"groupName_de\": \"Struktur: Laboranlage XL - Alle Komponenten\", \n    \"groupName_en-us\": \"Structure Laboratory Rig XL - All Components\", \n    \"groupName_es\": \"Complemento de laboratorio para estructuras (XL): todos los componentes\", \n    \"groupName_fr\": \"Optimisation de laboratoire XL (Structure) – Tous composants\", \n    \"groupName_it\": \"Structure Laboratory Rig XL - All Components\", \n    \"groupName_ja\": \"ストラクチャ ― 研究リグXL（すべてのコンポーネント）\", \n    \"groupName_ko\": \"구조물 연구실 리그 XL - 모든 부품\", \n    \"groupName_ru\": \"Structure Laboratory Rig XL - All Components\", \n    \"groupName_zh\": \"建筑实验室超大型改装件 - 所有组件\", \n    \"groupNameID\": 513703, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1613\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1613, \n    \"groupName_de\": \"Struktur: Kampfmodifikation M - Lenkwaffenanwendung\", \n    \"groupName_en-us\": \"Structure Combat Rig M - Missile Application\", \n    \"groupName_es\": \"Complemento de combate para estructuras (M): uso de misiles\", \n    \"groupName_fr\": \"Optimisation de combat M (Structure) – Dégâts des missiles\", \n    \"groupName_it\": \"Structure Combat Rig M - Missile Application\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグM（ミサイルの導入）\", \n    \"groupName_ko\": \"구조물 전투 리그 M - 미사일 개량\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль средних сооружений - точность ракет\", \n    \"groupName_zh\": \"建筑战斗中型改装件 - 导弹应用\", \n    \"groupNameID\": 513704, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1614\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1614, \n    \"groupName_de\": \"Struktur: Kampfmodifikation M - Lenkwaffenprojektion\", \n    \"groupName_en-us\": \"Structure Combat Rig M - Missile Projection\", \n    \"groupName_es\": \"Complemento de combate para estructuras (M): proyección de misiles\", \n    \"groupName_fr\": \"Optimisation de combat M (Structure) – Portée des missiles\", \n    \"groupName_it\": \"Structure Combat Rig M - Missile Projection\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグM（ミサイルの発射）\", \n    \"groupName_ko\": \"구조물 전투 리그 M - 미사일 궤도 예측\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль средних сооружений - дальность ракет\", \n    \"groupName_zh\": \"建筑战斗中型改装件 - 导弹投射\", \n    \"groupNameID\": 513705, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1615\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1615, \n    \"groupName_de\": \"Struktur: Kampfmodifikation M - Energieneutralisiererprojektion\", \n    \"groupName_en-us\": \"Structure Combat Rig M - Energy Neutralizer Projection\", \n    \"groupName_es\": \"Complemento de combate para estructuras (M): proyección de neutralizador energético\", \n    \"groupName_fr\": \"Optimisation de combat M (Structure) – Portée des neutraliseurs d'énergie\", \n    \"groupName_it\": \"Structure Combat Rig M - Energy Neutralizer Projection\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグM（エネルギーニュートライザーの発動）\", \n    \"groupName_ko\": \"구조물 전투 리그 M - 에너지 뉴트럴라이저 예측\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль средних сооружений - дальность средств нейтрализации энергии\", \n    \"groupName_zh\": \"建筑战斗中型改装件 - 能量中和投射\", \n    \"groupNameID\": 513706, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1616\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1616, \n    \"groupName_de\": \"Struktur: Kampfmodifikation M - Energieneutralisierer-Energiespeicherreduktion\", \n    \"groupName_en-us\": \"Structure Combat Rig M - Energy Neutralizer Cap Reduction\", \n    \"groupName_es\": \"Complemento de combate para estructuras (M): reducción del condensador de neutralizador energético\", \n    \"groupName_fr\": \"Optimisation de combat M (Structure) – Réduction de la consommation de capaciteur des neutraliseurs d'énergie\", \n    \"groupName_it\": \"Structure Combat Rig M - Energy Neutralizer Cap Reduction\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグM（エネルギーニュートライザーのキャパシタ使用量削減）\", \n    \"groupName_ko\": \"구조물 전투 리그 M - 에너지 뉴트럴라이저 캐패시터 사용량 감소\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль средних сооружений - экономия энергии на работу средств нейтрализации энергии\", \n    \"groupName_zh\": \"建筑战斗中型改装件 - 能量中和电容减耗\", \n    \"groupNameID\": 513707, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1617\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1617, \n    \"groupName_de\": \"Struktur: Zitadellenmodifikation M - Drohnen-HP\", \n    \"groupName_en-us\": \"Structure Citadel Rig M - Drone Hitpoints\", \n    \"groupName_es\": \"Complemento de ciudadela para estructuras (M): puntos de vida de dron\", \n    \"groupName_fr\": \"Optimisation de citadelle M (Structure) – Dégâts des drones\", \n    \"groupName_it\": \"Structure Citadel Rig M - Drone Hitpoints\", \n    \"groupName_ja\": \"ストラクチャ ― 城塞リグM（ドローンのヒットポイント）\", \n    \"groupName_ko\": \"구조물 시타델 리그 M - 드론 내구성\", \n    \"groupName_ru\": \"Тюнинг-модули средних цитаделей - прочность дронов\", \n    \"groupName_zh\": \"建筑堡垒中型改装件 - 无人机HP\", \n    \"groupNameID\": 513708, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1618\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1618, \n    \"groupName_de\": \"Struktur: Zitadellenmodifikation M - Drohnengeschwindigkeit\", \n    \"groupName_en-us\": \"Structure Citadel Rig M - Drone Speed\", \n    \"groupName_es\": \"Complemento de ciudadela para estructuras (M): velocidad de dron\", \n    \"groupName_fr\": \"Optimisation de citadelle M (Structure) – Vitesse des drones\", \n    \"groupName_it\": \"Structure Citadel Rig M - Drone Speed\", \n    \"groupName_ja\": \"ストラクチャ ― 城塞リグM（ドローンの速度）\", \n    \"groupName_ko\": \"구조물 시타델 리그 M - 드론 속도\", \n    \"groupName_ru\": \"Тюнинг-модули средних цитаделей - скорость дронов\", \n    \"groupName_zh\": \"建筑堡垒中型改装件 - 无人机速度\", \n    \"groupNameID\": 513709, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1619\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1619, \n    \"groupName_de\": \"Struktur: Kampfmodifikation M - EW-Projektion\", \n    \"groupName_en-us\": \"Structure Combat Rig M - EW projection\", \n    \"groupName_es\": \"Complemento de combate para estructuras (M): proyección de GE\", \n    \"groupName_fr\": \"Optimisation de combat M (Structure) – Portée des modules de guerre électronique\", \n    \"groupName_it\": \"Structure Combat Rig M - EW projection\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグM（EW発動）\", \n    \"groupName_ko\": \"구조물 전투 리그 M - 전자전 예측\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль средних сооружений - дальность средств РЭБ\", \n    \"groupName_zh\": \"建筑战斗中型改装件 - 电子战投射\", \n    \"groupNameID\": 513710, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1620\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1620, \n    \"groupName_de\": \"Struktur: Kampfmodifikation M - EW-Energiespeicherreduktion\", \n    \"groupName_en-us\": \"Structure Combat Rig M - EW Cap Reduction\", \n    \"groupName_es\": \"Complemento de combate para estructuras (M): reducción del condensador de GE\", \n    \"groupName_fr\": \"Optimisation de combat M (Structure) – Réduction de la consommation de capaciteur des modules de guerre électronique\", \n    \"groupName_it\": \"Structure Combat Rig M - EW Cap Reduction\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグM（EWのキャパシタ使用量削減）\", \n    \"groupName_ko\": \"구조물 전투 리그 M - 전자전 캐패시터 사용량 감소\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль средних сооружений - экономия энергии на работу средств РЭБ\", \n    \"groupName_zh\": \"建筑战斗中型改装件 - 电子战电容减耗\", \n    \"groupNameID\": 513711, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1621\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1621, \n    \"groupName_de\": \"Struktur: Kampfmodifikation M - Max. Ziele\", \n    \"groupName_en-us\": \"Structure Combat Rig M - Max Targets\", \n    \"groupName_es\": \"Complemento de combate para estructuras (M): objetivos máximos\", \n    \"groupName_fr\": \"Optimisation de combat M (Structure) – Cibles maximum\", \n    \"groupName_it\": \"Structure Combat Rig M - Max Targets\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグM（最大捕捉数）\", \n    \"groupName_ko\": \"구조물 전투 리그 M - 최대 타겟수\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль средних сооружений - количество целей\", \n    \"groupName_zh\": \"建筑战斗中型改装件 - 最大锁定目标数\", \n    \"groupNameID\": 513712, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1622\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1622, \n    \"groupName_de\": \"Struktur: Kampfmodifikation M - Sensorverstärkung\", \n    \"groupName_en-us\": \"Structure Combat Rig M - Boosted Sensors\", \n    \"groupName_es\": \"Complemento de combate para estructuras (M): sensores potenciados\", \n    \"groupName_fr\": \"Optimisation de combat M pour structure – Amplification des détecteurs\", \n    \"groupName_it\": \"Structure Combat Rig M - Boosted Sensors\", \n    \"groupName_ja\": \"ストラクチャ戦闘リグM - ブーストセンサー\", \n    \"groupName_ko\": \"구조물 전투 리그 M - 센서 강화\", \n    \"groupName_ru\": \"Боевая надстройка для средних сооружений — усиленные сенсоры\", \n    \"groupName_zh\": \"建筑中型战斗改装件 - 感应增强\", \n    \"groupNameID\": 513713, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1629\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1629, \n    \"groupName_de\": \"Struktur: Kampfmodifikation L - Lenkwaffenanwendung und -projektion\", \n    \"groupName_en-us\": \"Structure Combat Rig L - Missile Application and Projection\", \n    \"groupName_es\": \"Complemento de combate para estructuras (G): uso y proyección de misiles\", \n    \"groupName_fr\": \"Optimisation de combat L (Structure) – Portée et dégâts des missiles\", \n    \"groupName_it\": \"Structure Combat Rig L - Missile Application and Projection\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグL（ミサイルの導入および発射）\", \n    \"groupName_ko\": \"구조물 전투 리그 L - 미사일 운용 및 예측\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль больших сооружений - дальность и точность ракет\", \n    \"groupName_zh\": \"建筑战斗大型改装件 - 导弹应用与投射\", \n    \"groupNameID\": 513720, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1630\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1630, \n    \"groupName_de\": \"Struktur: Kampfmodifikation L - Energieneutralisierer-Projektion und Energiespeicherreduktion\", \n    \"groupName_en-us\": \"Structure Combat Rig L - Energy Neutralizer Projection and Cap Reduction\", \n    \"groupName_es\": \"Complemento de combate para estructuras (G): reducción de condensador y proyección de neutralizador energético\", \n    \"groupName_fr\": \"Optimisation de combat L (Structure) – Portée et réduction de la consommation de capaciteur des neutraliseurs d'énergie\", \n    \"groupName_it\": \"Structure Combat Rig L - Energy Neutralizer Projection and Cap Reduction\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグL（エネルギーニュートライザーの発動およびキャパシタ使用量削減）\", \n    \"groupName_ko\": \"구조물 전투 리그 L - 에너지 뉴트럴라이저 예측 및 효율성 장치\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль больших сооружений - дальность и экономия энергии при работе дистанционных нейтрализаторов энергии\", \n    \"groupName_zh\": \"建筑战斗大型改装件 - 能量中和投射与电容减耗\", \n    \"groupNameID\": 513721, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1631\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1631, \n    \"groupName_de\": \"Structure Citadel Rig L - Drohnen-HP und -geschwindigkeit\", \n    \"groupName_en-us\": \"Structure Citadel Rig L - Drone Hitpoints and Speed\", \n    \"groupName_es\": \"Complemento de ciudadela para estructuras (G): puntos de vida y velocidad de dron\", \n    \"groupName_fr\": \"Optimisation de citadelle L (Structure) – Dégâts et vitesse des drones\", \n    \"groupName_it\": \"Structure Citadel Rig L - Drone Hitpoints and Speed\", \n    \"groupName_ja\": \"ストラクチャ ― 城塞リグL（ドローンのヒットポイントおよび速度）\", \n    \"groupName_ko\": \"구조물 시타델 리그 L - 드론 내구성 및 속도\", \n    \"groupName_ru\": \"Тюнинг-модули больших цитаделей - скорость и прочность дронов\", \n    \"groupName_zh\": \"建筑堡垒大型改装件 - 无人机HP和速度\", \n    \"groupNameID\": 513722, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1632\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1632, \n    \"groupName_de\": \"Struktur: Kampfmodifikation L - EW-Projektion und Energiespeicherreduktion\", \n    \"groupName_en-us\": \"Structure Combat Rig L - EW Projection and Cap Reduction\", \n    \"groupName_es\": \"Complemento de combate para estructuras (G): reducción de condensador y proyección de GE\", \n    \"groupName_fr\": \"Optimisation de combat L (Structure) – Portée et réduction de la consommation de capaciteur des modules de guerre électronique\", \n    \"groupName_it\": \"Structure Combat Rig L - EW Projection and Cap Reduction\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグL（EW発動およびキャパシタ使用量削減）\", \n    \"groupName_ko\": \"구조물 전투 리그 L - 전자전 예측 및 효율성 장치\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль больших сооружений - РЭБ, расстояние, экономия энергии\", \n    \"groupName_zh\": \"建筑战斗大型改装件 - 电子战投射与电容减耗\", \n    \"groupNameID\": 513723, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1633\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1633, \n    \"groupName_de\": \"Struktur: Kampfmodifikation L - AoE-Werferanwendung und -projektion\", \n    \"groupName_en-us\": \"Structure Combat Rig L - AoE Launcher Application and Projection\", \n    \"groupName_es\": \"Complemento de combate para estructuras (G): proyección y uso de lanzador de área de efecto\", \n    \"groupName_fr\": \"Optimisation de combat L (Structure) – Portée et dégâts des lanceurs à effet de zone\", \n    \"groupName_it\": \"Structure Combat Rig L - AoE Launcher Application and Projection\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグL（AoEランチャーの導入および発射）\", \n    \"groupName_ko\": \"구조물 전투 리그 L - AoE 런처 운용 및 예측\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль больших сооружений - дальность и точность ракет объёмного взрыва\", \n    \"groupName_zh\": \"建筑战斗大型改装件 - AoE导弹发射器应用与投射\", \n    \"groupNameID\": 513724, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1634\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1634, \n    \"groupName_de\": \"Struktur: Kampfmodifikation L - Verteidigungsbatterie Anwendung und Projektion\", \n    \"groupName_en-us\": \"Structure Combat Rig L - Point Defense Battery Application and Projection\", \n    \"groupName_es\": \"Complemento de combate para estructuras (G): proyección y uso de batería de defensa de puntos\", \n    \"groupName_fr\": \"Optimisation de combat L (Structure) – Portée et dégâts des batteries de défense ciblée\", \n    \"groupName_it\": \"Structure Combat Rig L - Point Defense Battery Application and Projection\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグL（地点防衛バッテリーの導入および発動）\", \n    \"groupName_ko\": \"구조물 전투 리그 L - 거점 방어 포탑 운용 및 예측\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль больших сооружений - дальность и точность систем точечной обороны\", \n    \"groupName_zh\": \"建筑战斗大型改装件 - 定点防御炮塔应用与投射\", \n    \"groupNameID\": 513725, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1635\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1635, \n    \"groupName_de\": \"Struktur: Kampfmodifikation L - Max. Ziele und Sensorverstärkung\", \n    \"groupName_en-us\": \"Structure Combat Rig L - Max Targets and Sensor Boosting\", \n    \"groupName_es\": \"Complemento de combate para estructuras (G): potenciadores máximos de objetivos y sensores\", \n    \"groupName_fr\": \"Optimisation de combat L pour structure – Cibles maximum et amplification des détecteurs\", \n    \"groupName_it\": \"Structure Combat Rig L - Max Targets and Sensor Boosting\", \n    \"groupName_ja\": \"ストラクチャ戦闘リグL - 最大ターゲットとセンサーブースト\", \n    \"groupName_ko\": \"구조물 전투 리그 L -최대 타겟수 및 센서 강화\", \n    \"groupName_ru\": \"Боевая надстройка для больших сооружений — увеличено макс. число целей и усилены сенсоры\", \n    \"groupName_zh\": \"建筑战斗大型改装件 - 最大锁定目标数与感应增强\", \n    \"groupNameID\": 513726, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1639\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1639, \n    \"groupName_de\": \"Struktur: Kampfmodifikation XL - Lenkwaffe und AoE-Lenkwaffe\", \n    \"groupName_en-us\": \"Structure Combat Rig XL - Missile and AoE Missile\", \n    \"groupName_es\": \"Complemento de combate para estructuras (XL): misiles y área de efecto de misiles\", \n    \"groupName_fr\": \"Optimisation de combat XL (Structure) – Missiles et missiles à effet de zone\", \n    \"groupName_it\": \"Structure Combat Rig XL - Missile and AoE Missile\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグL（ミサイルおよびAoEミサイル）\", \n    \"groupName_ko\": \"구조물 전투 리그 XL - 미사일 및 광역 미사일\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль сверхбольших сооружений - ракеты и ракеты объёмного взрыва\", \n    \"groupName_zh\": \"建筑战斗超大型改装件 - 导弹与AoE导弹\", \n    \"groupNameID\": 513730, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1640\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1640, \n    \"groupName_de\": \"Struktur: Zitadellenmodifikation XL - Drohnen und PDB\", \n    \"groupName_en-us\": \"Structure Citadel Rig XL - Drone and PDB\", \n    \"groupName_es\": \"Structure Citadel Rig XL - Drone and PDB\", \n    \"groupName_fr\": \"Optimisation de citadelle XL (Structure) – Drones et PDB\", \n    \"groupName_it\": \"Structure Citadel Rig XL - Drone and PDB\", \n    \"groupName_ja\": \"ストラクチャ ― 城塞リグXL（ドローンおよびPDB）\", \n    \"groupName_ko\": \"구조물 시타델 리그 XL - 드론 및 거점 방어 포탑\", \n    \"groupName_ru\": \"Structure Citadel Rig XL - Drone and PDB\", \n    \"groupName_zh\": \"建筑堡垒超大型改装件 - 无人机与定点防卫炮塔\", \n    \"groupNameID\": 513731, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1641\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1641, \n    \"groupName_de\": \"Struktur: Kampfmodifikation XL - Energieneutralisierer und EW\", \n    \"groupName_en-us\": \"Structure Combat Rig XL - Energy Neutralizer and EW\", \n    \"groupName_es\": \"Complemento de combate para estructuras (XL): neutralizador energético y GE\", \n    \"groupName_fr\": \"Optimisation de combat XL (Structure) – Neutraliseurs d'énergie et modules de guerre électronique\", \n    \"groupName_it\": \"Structure Combat Rig XL - Energy Neutralizer and EW\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグXL（エネルギーニュートライザーおよびEW）\", \n    \"groupName_ko\": \"구조물 전투 리그 XL - 에너지 뉴트럴라이저 및 전자전\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль сверхбольших сооружений - средства РЭБ, нейтрализация энергии\", \n    \"groupName_zh\": \"建筑战斗超大型改装件 - 能量中和与电子战\", \n    \"groupNameID\": 513732, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1642\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1642, \n    \"groupName_de\": \"Struktur: Kampfmodifikation XL - Doomsday und Zielerfassung\", \n    \"groupName_en-us\": \"Structure Combat Rig XL - Doomsday and Targeting\", \n    \"groupName_es\": \"Complemento de combate para estructuras (XL): apocalíptico y de adquisición de objetivos\", \n    \"groupName_fr\": \"Optimisation de combat XL (Structure) – Annihilation et ciblage\", \n    \"groupName_it\": \"Structure Combat Rig XL - Doomsday and Targeting\", \n    \"groupName_ja\": \"ストラクチャ ― コンバットリグXL（ドゥームズデイおよびターゲット捕捉）\", \n    \"groupName_ko\": \"구조물 전투 리그 XL - 둠스데이 및 타겟팅\", \n    \"groupName_ru\": \"Боевой тюнинг-модуль сверхбольших сооружений - орудия Судного дня, целеуказание\", \n    \"groupName_zh\": \"建筑战斗超大型改装件 - 末日武器和锁定\", \n    \"groupNameID\": 513733, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1647\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1647, \n    \"groupName_de\": \"ALTE Struktur: Ressourcenmodifikation M - HS-Erzaufbereitung\", \n    \"groupName_en-us\": \"OLD Structure Resource Rig M - HS Ore Reprocessing\", \n    \"groupName_es\": \"OLD Structure Resource Rig M - HS Ore Reprocessing\", \n    \"groupName_fr\": \"ANCIEN module d’optimisation des ressources pour structure M – Retraitement des minerais de HS\", \n    \"groupName_it\": \"OLD Structure Resource Rig M - HS Ore Reprocessing\", \n    \"groupName_ja\": \"旧ストラクチャリソースリグM - HS鉱石再処理\", \n    \"groupName_ko\": \"OLD 구조물 자원 리그 M - HS 광물 정제\", \n    \"groupName_ru\": \"СТАРАЯ надстройка для средних сооружений — переработка руд метрополий\", \n    \"groupName_zh\": \"旧建筑资源中型改装件 - HS矿石提炼\", \n    \"groupNameID\": 513736, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1648\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1648, \n    \"groupName_de\": \"ALTE Struktur: Ressourcenmodifikation L - Erzaufbereitung\", \n    \"groupName_en-us\": \"OLD Structure Resource Rig L - Ore Reprocessing\", \n    \"groupName_es\": \"OLD Structure Resource Rig L - Ore Reprocessing\", \n    \"groupName_fr\": \"ANCIEN module d’optimisation des ressources pour structure L – Retraitement des minerais\", \n    \"groupName_it\": \"OLD Structure Resource Rig L - Ore Reprocessing\", \n    \"groupName_ja\": \"旧ストラクチャリソースリグL - 鉱石再処理\", \n    \"groupName_ko\": \"OLD 구조물 자원 리그 L - 광물 정제\", \n    \"groupName_ru\": \"СТАРАЯ надстройка для больших сооружений — переработка руды\", \n    \"groupName_zh\": \"旧建筑资源大型改装件 - 矿石提炼\", \n    \"groupNameID\": 513737, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1649\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1649, \n    \"groupName_de\": \"ALTE Struktur: Ressourcenmodifikation XL - Aufbereitung\", \n    \"groupName_en-us\": \"OLD Structure Resource Rig XL - Reprocessing\", \n    \"groupName_es\": \"OLD Structure Resource Rig XL - Reprocessing\", \n    \"groupName_fr\": \"ANCIEN module d’optimisation des ressources pour structure XL – Retraitement\", \n    \"groupName_it\": \"OLD Structure Resource Rig XL - Reprocessing\", \n    \"groupName_ja\": \"旧ストラクチャリソースリグXL - 再処理\", \n    \"groupName_ko\": \"OLD 구조물 자원 리그 XL - 정제\", \n    \"groupName_ru\": \"СТАРАЯ надстройка для сверхбольших сооружений — переработка ресурсов\", \n    \"groupName_zh\": \"旧建筑资源超大型改装件 - 提炼\", \n    \"groupNameID\": 513738, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1652\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 87, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1652, \n    \"groupName_de\": \"Leichter Jäger\", \n    \"groupName_en-us\": \"Light Fighter\", \n    \"groupName_es\": \"Caza ligero\", \n    \"groupName_fr\": \"Chasseur léger\", \n    \"groupName_it\": \"Light Fighter\", \n    \"groupName_ja\": \"軽量級戦闘機\", \n    \"groupName_ko\": \"라이트 파이터\", \n    \"groupName_ru\": \"Лёгкие истребители\", \n    \"groupName_zh\": \"轻型铁骑舰载机\", \n    \"groupNameID\": 514086, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1653\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 87, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1653, \n    \"groupName_de\": \"Schwerer Jäger\", \n    \"groupName_en-us\": \"Heavy Fighter\", \n    \"groupName_es\": \"Caza pesado\", \n    \"groupName_fr\": \"Chasseur lourd\", \n    \"groupName_it\": \"Heavy Fighter\", \n    \"groupName_ja\": \"重量級戦闘機\", \n    \"groupName_ko\": \"헤비 파이터\", \n    \"groupName_ru\": \"Тяжёлые истребители\", \n    \"groupName_zh\": \"重型铁骑舰载机\", \n    \"groupNameID\": 514087, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1657\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1657, \n    \"groupName_de\": \"Zitadelle\", \n    \"groupName_en-us\": \"Citadel\", \n    \"groupName_es\": \"Ciudadela\", \n    \"groupName_fr\": \"Citadelle\", \n    \"groupName_it\": \"Citadel\", \n    \"groupName_ja\": \"城塞\", \n    \"groupName_ko\": \"시타델\", \n    \"groupName_ru\": \"Цитадели\", \n    \"groupName_zh\": \"堡垒\", \n    \"groupNameID\": 514422, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1664\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1664, \n    \"groupName_de\": \"Irregular-Zerstörer\", \n    \"groupName_en-us\": \"Irregular Destroyer\", \n    \"groupName_es\": \"Destructor irregular\", \n    \"groupName_fr\": \"Destroyer irrégulier\", \n    \"groupName_it\": \"Irregular Destroyer\", \n    \"groupName_ja\": \"非正規駆逐艦\", \n    \"groupName_ko\": \"비정상적인 디스트로이어\", \n    \"groupName_ru\": \"Необычный эсминец\", \n    \"groupName_zh\": \"叛道者驱逐舰\", \n    \"groupNameID\": 514632, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1665\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1665, \n    \"groupName_de\": \"Irregular-Kreuzer\", \n    \"groupName_en-us\": \"Irregular Cruiser\", \n    \"groupName_es\": \"Crucero irregular\", \n    \"groupName_fr\": \"Croiseur irrégulier\", \n    \"groupName_it\": \"Irregular Cruiser\", \n    \"groupName_ja\": \"非正規巡洋艦\", \n    \"groupName_ko\": \"비정상적인 크루저\", \n    \"groupName_ru\": \"Необычный крейсер\", \n    \"groupName_zh\": \"叛道者巡洋舰\", \n    \"groupNameID\": 514633, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1666\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1666, \n    \"groupName_de\": \"Irregular-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Irregular Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate irregular\", \n    \"groupName_fr\": \"Croiseur de bataille irrégulier\", \n    \"groupName_it\": \"Irregular Battlecruiser\", \n    \"groupName_ja\": \"非正規巡洋戦艦\", \n    \"groupName_ko\": \"비정상적인 배틀크루저\", \n    \"groupName_ru\": \"Необычный линейный крейсер\", \n    \"groupName_zh\": \"叛道者战列巡洋舰\", \n    \"groupNameID\": 514634, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1667\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1667, \n    \"groupName_de\": \"Irregular-Schlachtschiff\", \n    \"groupName_en-us\": \"Irregular Battleship\", \n    \"groupName_es\": \"Acorazado irregular\", \n    \"groupName_fr\": \"Cuirassé irrégulier\", \n    \"groupName_it\": \"Irregular Battleship\", \n    \"groupName_ja\": \"非正規戦艦\", \n    \"groupName_ko\": \"비정상적인 배틀쉽\", \n    \"groupName_ru\": \"Необычный линкор\", \n    \"groupName_zh\": \"叛道者战列舰\", \n    \"groupNameID\": 514635, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1670\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1670, \n    \"groupName_de\": \"Verbesserungen\", \n    \"groupName_en-us\": \"Augmentations\", \n    \"groupName_es\": \"Aumentos\", \n    \"groupName_fr\": \"Augmentations\", \n    \"groupName_it\": \"Augmentations\", \n    \"groupName_ja\": \"オーグメンテーション\", \n    \"groupName_ko\": \"개조\", \n    \"groupName_ru\": \"Усовершенствования\", \n    \"groupName_zh\": \"属性提升\", \n    \"groupNameID\": 515056, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1672\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1672, \n    \"groupName_de\": \"Stasisgreifarm\", \n    \"groupName_en-us\": \"Stasis Grappler\", \n    \"groupName_es\": \"Anquilizador de estasis\", \n    \"groupName_fr\": \"Grappler de stase\", \n    \"groupName_it\": \"Stasis Grappler\", \n    \"groupName_ja\": \"ステイシスグラップラー\", \n    \"groupName_ko\": \"스테이시스 그래플러\", \n    \"groupName_ru\": \"Высокомощные стазис-индукторы\", \n    \"groupName_zh\": \"停滞捕捉光束\", \n    \"groupNameID\": 515060, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1673\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1673, \n    \"groupName_de\": \"Lenkwaffenwerfer: Schneller Torpedo\", \n    \"groupName_en-us\": \"Missile Launcher Rapid Torpedo\", \n    \"groupName_es\": \"Torpedo rápido de lanzamisiles\", \n    \"groupName_fr\": \"Lance-missiles Torpille rapide\", \n    \"groupName_it\": \"Missile Launcher Rapid Torpedo\", \n    \"groupName_ja\": \"ミサイルランチャー・ラピッドトルピード\", \n    \"groupName_ko\": \"급속 토피도 런처\", \n    \"groupName_ru\": \"Скорострельные торпедные аппараты\", \n    \"groupName_zh\": \"快速鱼雷发射器\", \n    \"groupNameID\": 515475, \n    \"iconID\": 2839, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1674\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1674, \n    \"groupName_de\": \"Lenkwaffenwerfer: XL Marschflugkörper\", \n    \"groupName_en-us\": \"Missile Launcher XL Cruise\", \n    \"groupName_es\": \"Crucero de lanzamisiles (XL)\", \n    \"groupName_fr\": \"Lance-missiles croisière XL\", \n    \"groupName_it\": \"Missile Launcher XL Cruise\", \n    \"groupName_ja\": \"ミサイルランチャーXLクルーズ\", \n    \"groupName_ko\": \"XL 크루즈 미사일 런처\", \n    \"groupName_ru\": \"Пусковые установки ракет дальнего боя сверхбольшой мощности\", \n    \"groupName_zh\": \"超大型巡航导弹发射器\", \n    \"groupNameID\": 515476, \n    \"iconID\": 2839, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1676\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1676, \n    \"groupName_de\": \"Benannte Komponenten\", \n    \"groupName_en-us\": \"Named Components\", \n    \"groupName_es\": \"Componentes con nombre\", \n    \"groupName_fr\": \"Composants nommés\", \n    \"groupName_it\": \"Named Components\", \n    \"groupName_ja\": \"指定コンポーネント\", \n    \"groupName_ko\": \"특수 부품\", \n    \"groupName_ru\": \"Именные компоненты\", \n    \"groupName_zh\": \"已命名组件\", \n    \"groupNameID\": 515483, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1677\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1677, \n    \"groupName_de\": \"Fortschrittlicher XL Torpedo\", \n    \"groupName_en-us\": \"Advanced XL Torpedo\", \n    \"groupName_es\": \"Torpedo XL avanzado\", \n    \"groupName_fr\": \"Torpille avancée XL\", \n    \"groupName_it\": \"Advanced XL Torpedo\", \n    \"groupName_ja\": \"最新型XLトルピード\", \n    \"groupName_ko\": \"상급 XL 토피도\", \n    \"groupName_ru\": \"Спецторпеды сверхбольшой мощности\", \n    \"groupName_zh\": \"高级超大型鱼雷\", \n    \"groupNameID\": 515499, \n    \"iconID\": 1349, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1678\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1678, \n    \"groupName_de\": \"Fortschrittlicher XL Marschflugkörper\", \n    \"groupName_en-us\": \"Advanced XL Cruise Missile\", \n    \"groupName_es\": \"Misil de crucero avanzado (XL)\", \n    \"groupName_fr\": \"Missile de croisière avancé XL\", \n    \"groupName_it\": \"Advanced XL Cruise Missile\", \n    \"groupName_ja\": \"最新型XLクルーズミサイル\", \n    \"groupName_ko\": \"상급 XL 크루즈 미사일\", \n    \"groupName_ru\": \"Спецракеты дальнего боя сверхбольшой мощности\", \n    \"groupName_zh\": \"高级超大型巡航导弹\", \n    \"groupNameID\": 515500, \n    \"iconID\": 182, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1679\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1679, \n    \"groupName_de\": \"Unterstützungsjäger-Blaupause\", \n    \"groupName_en-us\": \"Support Fighter Blueprint\", \n    \"groupName_es\": \"Plano de caza de apoyo\", \n    \"groupName_fr\": \"Plan de construction Chasseur de soutien\", \n    \"groupName_it\": \"Support Fighter Blueprint\", \n    \"groupName_ja\": \"支援戦闘機のブループリント\", \n    \"groupName_ko\": \"서포트 파이터 블루프린트\", \n    \"groupName_ru\": \"Чертежи истребителей поддержки\", \n    \"groupName_zh\": \"后勤铁骑舰载机蓝图\", \n    \"groupNameID\": 515623, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1681\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1681, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Dreadnought\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Dreadnought\", \n    \"groupName_es\": \"Superacorazado de asteroide del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Dreadnought angel cartel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Dreadnought\", \n    \"groupName_ja\": \"アステロイド エンジェルカルテルの攻城艦\", \n    \"groupName_ko\": \"소행성 벨트 엔젤 카르텔 드레드노트\", \n    \"groupName_ru\": \"Дредноут астероидного патруля «ангелов»\", \n    \"groupName_zh\": \"小行星天使联合企业无畏舰\", \n    \"groupNameID\": 515700, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1682\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1682, \n    \"groupName_de\": \"Asteroiden: Angel Cartel-Titan\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Titan\", \n    \"groupName_es\": \"Titán de asteroide del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Titan angel cartel astéroïde\", \n    \"groupName_it\": \"Asteroid Angel Cartel Titan\", \n    \"groupName_ja\": \"アステロイド エンジェルカルテルのタイタン\", \n    \"groupName_ko\": \"소행성 벨트 엔젤 카르텔 타이탄\", \n    \"groupName_ru\": \"Титан астероидного патруля «ангелов»\", \n    \"groupName_zh\": \"小行星天使联合企业泰坦\", \n    \"groupNameID\": 515701, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1683\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1683, \n    \"groupName_de\": \"Asteroiden: Blood Raider-Dreadnought\", \n    \"groupName_en-us\": \"Asteroid Blood Raider Dreadnought\", \n    \"groupName_es\": \"Superacorazado de asteroide de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Dreadnought blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raider Dreadnought\", \n    \"groupName_ja\": \"アステロイド ブラッドレイダーの攻城艦\", \n    \"groupName_ko\": \"소행성 벨트 블러드 레이더 드레드노트\", \n    \"groupName_ru\": \"Дредноут астероидного патруля «охотников»\", \n    \"groupName_zh\": \"小行星血袭者无畏舰\", \n    \"groupNameID\": 515702, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1684\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1684, \n    \"groupName_de\": \"Asteroiden: Blood Raider-Titan\", \n    \"groupName_en-us\": \"Asteroid Blood Raider Titan\", \n    \"groupName_es\": \"Titán de asteroide de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Titan blood raider astéroïde\", \n    \"groupName_it\": \"Asteroid Blood Raider Titan\", \n    \"groupName_ja\": \"アステロイド ブラッドレイダーのタイタン\", \n    \"groupName_ko\": \"소행성 벨트 블러드 레이더 타이탄\", \n    \"groupName_ru\": \"Титан астероидного патруля «охотников»\", \n    \"groupName_zh\": \"小行星血袭者泰坦\", \n    \"groupNameID\": 515703, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1685\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1685, \n    \"groupName_de\": \"Asteroiden: Guristas-Dreadnought\", \n    \"groupName_en-us\": \"Asteroid Guristas Dreadnought\", \n    \"groupName_es\": \"Superacorazado de asteroide de los Guristas\", \n    \"groupName_fr\": \"Dreadnought guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Dreadnought\", \n    \"groupName_ja\": \"アステロイド ガリスタスの攻城艦\", \n    \"groupName_ko\": \"소행성 벨트 구리스타스 드레드노트\", \n    \"groupName_ru\": \"Дредноут астероидного патруля гуристас\", \n    \"groupName_zh\": \"小行星古斯塔斯无畏舰\", \n    \"groupNameID\": 515704, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1686\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1686, \n    \"groupName_de\": \"Asteroiden: Guristas-Titan\", \n    \"groupName_en-us\": \"Asteroid Guristas Titan\", \n    \"groupName_es\": \"Titán de asteroide de los Guristas\", \n    \"groupName_fr\": \"Titan guristas astéroïde\", \n    \"groupName_it\": \"Asteroid Guristas Titan\", \n    \"groupName_ja\": \"アステロイド ガリスタスのタイタン\", \n    \"groupName_ko\": \"소행성 벨트 구리스타스 타이탄\", \n    \"groupName_ru\": \"Титан астероидного патруля гуристас\", \n    \"groupName_zh\": \"小行星古斯塔斯泰坦\", \n    \"groupNameID\": 515705, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1687\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1687, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation Dreadnought\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Dreadnought\", \n    \"groupName_es\": \"Superacorazado de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Dreadnought astéroïde de la Sansha's Nation\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Dreadnought\", \n    \"groupName_ja\": \"アステロイド サンシャ国の攻城艦\", \n    \"groupName_ko\": \"소행성 벨트 산샤 네이션 드레드노트\", \n    \"groupName_ru\": \"Дредноут астероидного патруля «Нации Санши»\", \n    \"groupName_zh\": \"小行星萨沙无畏舰\", \n    \"groupNameID\": 515706, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1688\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1688, \n    \"groupName_de\": \"Asteroiden: Sansha's Nation Supercarrier\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Supercarrier\", \n    \"groupName_es\": \"Superportanaves de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Super porte-vaisseau astéroïde de la Sansha's Nation\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Supercarrier\", \n    \"groupName_ja\": \"アステロイド サンシャ国の大型艦載機母艦\", \n    \"groupName_ko\": \"소행성 벨트 산샤 네이션 슈퍼캐리어\", \n    \"groupName_ru\": \"СуперКАР астероидного патруля «Нации Санши»\", \n    \"groupName_zh\": \"小行星萨沙超级航母\", \n    \"groupNameID\": 515707, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1689\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1689, \n    \"groupName_de\": \"Asteroiden: Serpentis-Dreadnought\", \n    \"groupName_en-us\": \"Asteroid Serpentis Dreadnought\", \n    \"groupName_es\": \"Superacorazado de asteroide de Serpentis\", \n    \"groupName_fr\": \"Dreadnought serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Dreadnought\", \n    \"groupName_ja\": \"アステロイド サーペンティスの攻城艦\", \n    \"groupName_ko\": \"소행성 벨트 서펜티스 드레드노트\", \n    \"groupName_ru\": \"Дредноут астероидного патруля корпорации «Серпентис»\", \n    \"groupName_zh\": \"小行星天蛇无畏舰\", \n    \"groupNameID\": 515708, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1690\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1690, \n    \"groupName_de\": \"Asteroiden: Serpentis-Titan\", \n    \"groupName_en-us\": \"Asteroid Serpentis Titan\", \n    \"groupName_es\": \"Titán de asteroide de Serpentis\", \n    \"groupName_fr\": \"Titan serpentis astéroïde\", \n    \"groupName_it\": \"Asteroid Serpentis Titan\", \n    \"groupName_ja\": \"アステロイド サーペンティスのタイタン\", \n    \"groupName_ko\": \"소행성 벨트 서펜티스 타이탄\", \n    \"groupName_ru\": \"Титан астероидного патруля корпорации «Серпентис»\", \n    \"groupName_zh\": \"小行星天蛇泰坦\", \n    \"groupNameID\": 515710, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1691\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1691, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Trägerschiff\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Carrier\", \n    \"groupName_es\": \"Portadrones rebelde de asteroide\", \n    \"groupName_fr\": \"Porte-drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Carrier\", \n    \"groupName_ja\": \"アステロイド ローグドローンの艦載機母艦\", \n    \"groupName_ko\": \"소행성 벨트 로그 드론 캐리어\", \n    \"groupName_ru\": \"КАР астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机航空母舰\", \n    \"groupNameID\": 515711, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1692\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1692, \n    \"groupName_de\": \"Asteroiden: Raubdrohnen-Supercarrier\", \n    \"groupName_en-us\": \"Asteroid Rogue Drone Supercarrier\", \n    \"groupName_es\": \"Superportanaves de asteroide de dron rebelde\", \n    \"groupName_fr\": \"Super porte-drone renégat astéroïde\", \n    \"groupName_it\": \"Asteroid Rogue Drone Supercarrier\", \n    \"groupName_ja\": \"アステロイド ローグドローンの大型艦載機母艦\", \n    \"groupName_ko\": \"소행성 벨트 로그 드론 슈퍼캐리어\", \n    \"groupName_ru\": \"СуперКАР астероидного патруля восставших дронов\", \n    \"groupName_zh\": \"小行星自由无人机超级航母\", \n    \"groupNameID\": 515712, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1693\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1693, \n    \"groupName_de\": \"ALTE Struktur: Ressourcenmodifikation M - LNS-Erzaufbereitung\", \n    \"groupName_en-us\": \"OLD Structure Resource Rig M - LNS Ore Reprocessing\", \n    \"groupName_es\": \"OLD Structure Resource Rig M - LNS Ore Reprocessing\", \n    \"groupName_fr\": \"ANCIEN module d’optimisation des ressources pour structure M – Retraitement des minerais de BS-SN\", \n    \"groupName_it\": \"OLD Structure Resource Rig M - LNS Ore Reprocessing\", \n    \"groupName_ja\": \"旧ストラクチャリソースリグM - LNS鉱石再処理\", \n    \"groupName_ko\": \"OLD 구조물 자원 리그 M - LNS 광물 정제\", \n    \"groupName_ru\": \"СТАРАЯ надстройка для средних сооружений — переработка руд фронтира и нулевого сектора\", \n    \"groupName_zh\": \"旧建筑资源中型改装件 - LNS矿石提炼\", \n    \"groupNameID\": 515795, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1694\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1694, \n    \"groupName_de\": \"ALTE Struktur: Ressourcenmodifikation M - Eisaufbereitung 1\", \n    \"groupName_en-us\": \"OLD Structure Resource Rig M - Ice 1 Reprocessing\", \n    \"groupName_es\": \"OLD Structure Resource Rig M - Ice 1 Reprocessing\", \n    \"groupName_fr\": \"ANCIEN module d’optimisation des ressources pour structure M – Retraitement de la glace 1\", \n    \"groupName_it\": \"OLD Structure Resource Rig M - Ice 1 Reprocessing\", \n    \"groupName_ja\": \"旧ストラクチャリソースリグM - アイス1再処理\", \n    \"groupName_ko\": \"OLD 구조물 자원 리그 M - Ice 1 정제\", \n    \"groupName_ru\": \"СТАРАЯ надстройка для средних сооружений — переработка льда 1\", \n    \"groupName_zh\": \"旧建筑资源中型改装件 - 冰矿提炼 1\", \n    \"groupNameID\": 515796, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1695\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1695, \n    \"groupName_de\": \"ALTE Struktur: Ressourcenmodifikation M - Eisaufbereitung 2\", \n    \"groupName_en-us\": \"OLD Structure Resource Rig M - Ice 2 Reprocessing\", \n    \"groupName_es\": \"OLD Structure Resource Rig M - Ice 2 Reprocessing\", \n    \"groupName_fr\": \"ANCIEN module d’optimisation des ressources pour structure M – Retraitement de la glace 2\", \n    \"groupName_it\": \"OLD Structure Resource Rig M - Ice 2 Reprocessing\", \n    \"groupName_ja\": \"旧ストラクチャリソースリグM - アイス2再処理\", \n    \"groupName_ko\": \"OLD 구조물 자원 리그 M - Ice 2 정제\", \n    \"groupName_ru\": \"СТАРАЯ надстройка для средних сооружений — переработка льда 2\", \n    \"groupName_zh\": \"旧建筑资源中型改装件 - 冰矿提炼 2\", \n    \"groupNameID\": 515797, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1696\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1696, \n    \"groupName_de\": \"ALTE Struktur: Ressourcenmodifikation L - Eisaufbereitung\", \n    \"groupName_en-us\": \"OLD Structure Resource Rig L - Ice Reprocessing\", \n    \"groupName_es\": \"OLD Structure Resource Rig L - Ice Reprocessing\", \n    \"groupName_fr\": \"ANCIEN module d’optimisation des ressources pour structure L – Retraitement de la glace\", \n    \"groupName_it\": \"OLD Structure Resource Rig L - Ice Reprocessing\", \n    \"groupName_ja\": \"旧ストラクチャリソースリグL - アイス再処理\", \n    \"groupName_ko\": \"OLD 구조물 자원 리그 L - Ice 정제\", \n    \"groupName_ru\": \"СТАРАЯ надстройка для больших сооружений — переработка льда\", \n    \"groupName_zh\": \"旧建筑资源大型改装件 - 冰矿提炼\", \n    \"groupNameID\": 515798, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1697\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1697, \n    \"groupName_de\": \"Ancillary-Schildfernbooster\", \n    \"groupName_en-us\": \"Ancillary Remote Shield Booster\", \n    \"groupName_es\": \"Potenciador de escudo remoto auxiliar\", \n    \"groupName_fr\": \"Booster de bouclier à distance\", \n    \"groupName_it\": \"Ancillary Remote Shield Booster\", \n    \"groupName_ja\": \"補助リモートシールドブースター\", \n    \"groupName_ko\": \"보조 원격 실드 부스터\", \n    \"groupName_ru\": \"Установки дистанционной вспомогательной накачки силового поля\", \n    \"groupName_zh\": \"辅助远程护盾回充增量器\", \n    \"groupNameID\": 516084, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1698\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1698, \n    \"groupName_de\": \"Ancillary-Panzerungs-Fernreparatursystem\", \n    \"groupName_en-us\": \"Ancillary Remote Armor Repairer\", \n    \"groupName_es\": \"Reparador de blindaje remoto auxiliar\", \n    \"groupName_fr\": \"Réparateur de blindage annexe à distance\", \n    \"groupName_it\": \"Ancillary Remote Armor Repairer\", \n    \"groupName_ja\": \"補助リモートアーマーリペアラ\", \n    \"groupName_ko\": \"보조 원격 장갑수리 장치\", \n    \"groupName_ru\": \"Установки дистанционного вспомогательного ремонта брони\", \n    \"groupName_zh\": \"辅助远程装甲维修器\", \n    \"groupNameID\": 516085, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1699\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1699, \n    \"groupName_de\": \"Flex-Panzerungshärter\", \n    \"groupName_en-us\": \"Flex Armor Hardener\", \n    \"groupName_es\": \"Endurecedor de blindaje flexible\", \n    \"groupName_fr\": \"Renforcement de blindage adaptatif\", \n    \"groupName_it\": \"Flex Armor Hardener\", \n    \"groupName_ja\": \"フレックスアーマーハードナー\", \n    \"groupName_ko\": \"다목적 장갑 강화장치\", \n    \"groupName_ru\": \"Программируемые системы укрепления брони\", \n    \"groupName_zh\": \"弯曲装甲增强器\", \n    \"groupNameID\": 516110, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1700\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1700, \n    \"groupName_de\": \"Flex-Schildhärter\", \n    \"groupName_en-us\": \"Flex Shield Hardener\", \n    \"groupName_es\": \"Endurecedor de escudo flexible\", \n    \"groupName_fr\": \"Renforcement de bouclier adaptatif\", \n    \"groupName_it\": \"Flex Shield Hardener\", \n    \"groupName_ja\": \"フレックスシールドハードナー\", \n    \"groupName_ko\": \"다목적 실드 강화장치\", \n    \"groupName_ru\": \"Программируемые модуляторы сопротивляемости полей\", \n    \"groupName_zh\": \"弯曲护盾增强器\", \n    \"groupNameID\": 516111, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1701\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1701, \n    \"groupName_de\": \"Flex-Panzerungshärter-Skript\", \n    \"groupName_en-us\": \"Flex Armor Hardener Script\", \n    \"groupName_es\": \"Script de endurecedor de blindaje flexible\", \n    \"groupName_fr\": \"Script de renforcement de blindage adaptatif\", \n    \"groupName_it\": \"Flex Armor Hardener Script\", \n    \"groupName_ja\": \"フレックスアーマーハードナーのスクリプト\", \n    \"groupName_ko\": \"다목적 장갑 강화장치 스크립트\", \n    \"groupName_ru\": \"Прошивки для систем укрепления брони\", \n    \"groupName_zh\": \"弯曲装甲增强器脚本\", \n    \"groupNameID\": 516116, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1702\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1702, \n    \"groupName_de\": \"Flex-Schildhärter-Skript\", \n    \"groupName_en-us\": \"Flex Shield Hardener Script\", \n    \"groupName_es\": \"Script de endurecedor de escudo flexible\", \n    \"groupName_fr\": \"Script de renforcement de bouclier adaptatif\", \n    \"groupName_it\": \"Flex Shield Hardener Script\", \n    \"groupName_ja\": \"フレックスシールドハードナーのスクリプト\", \n    \"groupName_ko\": \"다목적 실드 강화장치 스크립트\", \n    \"groupName_ru\": \"Прошивки для модуляторов сопротивляемости полей\", \n    \"groupName_zh\": \"弯曲护盾增强器脚本\", \n    \"groupNameID\": 516117, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1703\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1703, \n    \"groupName_de\": \"Pulsprojektor-Blaupause\", \n    \"groupName_en-us\": \"Burst Projector Blueprint\", \n    \"groupName_es\": \"Plano de proyector de estallido\", \n    \"groupName_fr\": \"Plan de construction Projecteur à salves\", \n    \"groupName_it\": \"Burst Projector Blueprint\", \n    \"groupName_ja\": \"バーストプロジェクターのブループリント\", \n    \"groupName_ko\": \"버스트 프로젝터 블루프린트\", \n    \"groupName_ru\": \"Чертежи генераторов объёмных помех\", \n    \"groupName_zh\": \"脉冲波投射器蓝图\", \n    \"groupNameID\": 516332, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1704\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1704, \n    \"groupName_de\": \"Superwaffen-Signalfeuer\", \n    \"groupName_en-us\": \"Super Weapon Beacon\", \n    \"groupName_es\": \"Superbaliza de armas\", \n    \"groupName_fr\": \"Balise de super arme\", \n    \"groupName_it\": \"Super Weapon Beacon\", \n    \"groupName_ja\": \"スーパーウェポン・ビーコン\", \n    \"groupName_ko\": \"슈퍼웨폰 비컨\", \n    \"groupName_ru\": \"Бакен супероружия\", \n    \"groupName_zh\": \"超级武器信标\", \n    \"groupNameID\": 516410, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1706\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1706, \n    \"groupName_de\": \"Capital-Sensoranlage\", \n    \"groupName_en-us\": \"Capital Sensor Array\", \n    \"groupName_es\": \"Red de sensores capital\", \n    \"groupName_fr\": \"Module de détection capital\", \n    \"groupName_it\": \"Capital Sensor Array\", \n    \"groupName_ja\": \"キャピタルセンサー施設\", \n    \"groupName_ko\": \"캐피탈 센서 설비\", \n    \"groupName_ru\": \"Усилитель систем обнаружения целей КБТ-класса\", \n    \"groupName_zh\": \"旗舰级感应器阵列\", \n    \"groupNameID\": 516574, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1707\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1707, \n    \"groupName_de\": \"Struktur: Modul-Blaupause\", \n    \"groupName_en-us\": \"Structure Module Blueprint\", \n    \"groupName_es\": \"Plano de módulo para estructuras\", \n    \"groupName_fr\": \"Plan de construction Module de structure\", \n    \"groupName_it\": \"Structure Module Blueprint\", \n    \"groupName_ja\": \"ストラクチャモジュール設計図\", \n    \"groupName_ko\": \"구조물 모듈 블루프린트\", \n    \"groupName_ru\": \"Чертежи модулей сооружений\", \n    \"groupName_zh\": \"建筑装备蓝图\", \n    \"groupNameID\": 516592, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1708\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1708, \n    \"groupName_de\": \"Struktur: Modifikation-Blaupause\", \n    \"groupName_en-us\": \"Structure Rig Blueprint\", \n    \"groupName_es\": \"Plano de complemento para estructuras\", \n    \"groupName_fr\": \"Plan de construction Module d’optimisation de structure\", \n    \"groupName_it\": \"Structure Rig Blueprint\", \n    \"groupName_ja\": \"ストラクチャリグ設計図\", \n    \"groupName_ko\": \"구조물 리그 블루프린트\", \n    \"groupName_ru\": \"Чертёж надстройки сооружения\", \n    \"groupName_zh\": \"建筑改装件蓝图\", \n    \"groupNameID\": 516593, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1709\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1709, \n    \"groupName_de\": \"Unpublished Structure Module and Rig Blueprints\", \n    \"groupName_en-us\": \"Unpublished Structure Module and Rig Blueprints\", \n    \"groupName_es\": \"Planos de complemento y módulo para estructuras sin publicar\", \n    \"groupName_fr\": \"Plans de construction modules de structure et optimisations non publiés\", \n    \"groupName_it\": \"Unpublished Structure Module and Rig Blueprints\", \n    \"groupName_ja\": \"未公開のストラクチャモジュールおよびリグのブループリント\", \n    \"groupName_ko\": \"미출시 구조물 모듈 및 리그 블루프린트\", \n    \"groupName_ru\": \"Неопубликованные чертежи модулей и тюнинг-модулей сооружений\", \n    \"groupName_zh\": \"未发布建筑装备和改装件蓝图\", \n    \"groupNameID\": 516594, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"1717\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1717, \n    \"groupName_de\": \"Nicht veröffentlichte Strukturmodule\", \n    \"groupName_en-us\": \"Unpublished Structure Modules\", \n    \"groupName_es\": \"Módulos para estructuras sin publicar\", \n    \"groupName_fr\": \"Modules de structure non publiés\", \n    \"groupName_it\": \"Unpublished Structure Modules\", \n    \"groupName_ja\": \"未公開のストラクチャモジュール\", \n    \"groupName_ko\": \"미출시 구조물 모듈\", \n    \"groupName_ru\": \"Неопубликованные модули сооружений\", \n    \"groupName_zh\": \"未发布建筑装备\", \n    \"groupNameID\": 516606, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1718\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1718, \n    \"groupName_de\": \"Truppenunterstützer-Blaupause\", \n    \"groupName_en-us\": \"Force Auxiliary Blueprint\", \n    \"groupName_es\": \"Plano de naves auxiliares\", \n    \"groupName_fr\": \"Plan de construction Force auxiliaire\", \n    \"groupName_it\": \"Force Auxiliary Blueprint\", \n    \"groupName_ja\": \"軍事力補強のブループリント\", \n    \"groupName_ko\": \"포스 악실리아 블루프린트\", \n    \"groupName_ru\": \"Чертежи вспомогательных КБТ\", \n    \"groupName_zh\": \"战力辅助舰蓝图\", \n    \"groupNameID\": 516608, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1719\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1719, \n    \"groupName_de\": \"Struktur: Störbatterie\", \n    \"groupName_en-us\": \"Structure Disruption Battery\", \n    \"groupName_es\": \"Batería de disrupción para estructuras\", \n    \"groupName_fr\": \"Batterie de perturbation (Structure)\", \n    \"groupName_it\": \"Structure Disruption Battery\", \n    \"groupName_ja\": \"ストラクチャ妨害バッテリー\", \n    \"groupName_ko\": \"구조물 디스럽션 포탑\", \n    \"groupName_ru\": \"Сооружения - батареи постановки помех\", \n    \"groupName_zh\": \"建筑扰断炮塔\", \n    \"groupNameID\": 516879, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1720\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1720, \n    \"groupName_de\": \"Vagabund Serpentis-Schlachtschiff\", \n    \"groupName_en-us\": \"Roaming Serpentis Battleship\", \n    \"groupName_es\": \"Acorazado serpentis errante\", \n    \"groupName_fr\": \"Cuirassé serpentis itinérant\", \n    \"groupName_it\": \"Roaming Serpentis Battleship\", \n    \"groupName_ja\": \"巡回中のサーペンティス戦艦\", \n    \"groupName_ko\": \"배회하는 서펜티스 배틀쉽\", \n    \"groupName_ru\": \"Свободный линкор «Серпентис»\", \n    \"groupName_zh\": \"游荡的天蛇战列舰\", \n    \"groupNameID\": 517302, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1721\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1721, \n    \"groupName_de\": \"Vagabund Serpentis-Kreuzer\", \n    \"groupName_en-us\": \"Roaming Serpentis Cruiser\", \n    \"groupName_es\": \"Crucero serpentis errante\", \n    \"groupName_fr\": \"Croiseur serpentis itinérant\", \n    \"groupName_it\": \"Roaming Serpentis Cruiser\", \n    \"groupName_ja\": \"巡回中のサーペンティス巡洋艦\", \n    \"groupName_ko\": \"배회하는 서펜티스 크루저\", \n    \"groupName_ru\": \"Свободный крейсер «Серпентис»\", \n    \"groupName_zh\": \"游荡的天蛇巡洋舰\", \n    \"groupNameID\": 517303, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1722\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1722, \n    \"groupName_de\": \"Vagabund Serpentis-Fregatte\", \n    \"groupName_en-us\": \"Roaming Serpentis Frigate\", \n    \"groupName_es\": \"Fragata serpentis errante\", \n    \"groupName_fr\": \"Frégate serpentis itinérante\", \n    \"groupName_it\": \"Roaming Serpentis Frigate\", \n    \"groupName_ja\": \"巡回中のサーペンティスフリゲート\", \n    \"groupName_ko\": \"배회하는 서펜티스 프리깃\", \n    \"groupName_ru\": \"Свободный фрегат «Серпентис»\", \n    \"groupName_zh\": \"游荡的天蛇护卫舰\", \n    \"groupNameID\": 517304, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1723\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1723, \n    \"groupName_de\": \"Blaupause für Schildresistenz mit Beständigkeitsanpassung\", \n    \"groupName_en-us\": \"Shield Resistance Shift Hardener Blueprint\", \n    \"groupName_es\": \"Plano de endurecedor de cambio de resistencia de escudo\", \n    \"groupName_fr\": \"Plan de construction Renforcement de résistance de bouclier adaptatif\", \n    \"groupName_it\": \"Shield Resistance Shift Hardener Blueprint\", \n    \"groupName_ja\": \"シールドレジスタンスシフトハードナーブループリント\", \n    \"groupName_ko\": \"실드 저항력 변환 강화장치 블루프린트\", \n    \"groupName_ru\": \"Чертежи программируемых модуляторов сопротивляемости полей\", \n    \"groupName_zh\": \"护盾抗性变换增强器蓝图\", \n    \"groupNameID\": 517329, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1724\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1724, \n    \"groupName_de\": \"Irregular-Dreadnought\", \n    \"groupName_en-us\": \"Irregular Dreadnought\", \n    \"groupName_es\": \"Superacorazado irregular\", \n    \"groupName_fr\": \"Dreadnought irrégulier\", \n    \"groupName_it\": \"Irregular Dreadnought\", \n    \"groupName_ja\": \"非正規攻城艦\", \n    \"groupName_ko\": \"비정상적인 드레드노트\", \n    \"groupName_ru\": \"Необычный дредноут\", \n    \"groupName_zh\": \"叛道者无畏舰\", \n    \"groupNameID\": 517365, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1725\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1725, \n    \"groupName_de\": \"Irregular-Truppenunterstützer\", \n    \"groupName_en-us\": \"Irregular Force Auxiliary\", \n    \"groupName_es\": \"Naves auxiliares irregulares\", \n    \"groupName_fr\": \"Force auxiliaire irrégulier\", \n    \"groupName_it\": \"Irregular Force Auxiliary\", \n    \"groupName_ja\": \"非正規予備戦力\", \n    \"groupName_ko\": \"비정상적인 포스 악실리아\", \n    \"groupName_ru\": \"Необычные вспомогательные КБТ\", \n    \"groupName_zh\": \"叛道者战力辅助舰\", \n    \"groupNameID\": 517366, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1726\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1726, \n    \"groupName_de\": \"Irregular-Trägerschiff\", \n    \"groupName_en-us\": \"Irregular Carrier\", \n    \"groupName_es\": \"Portanaves irregular\", \n    \"groupName_fr\": \"Porte-vaisseaux irrégulier\", \n    \"groupName_it\": \"Irregular Carrier\", \n    \"groupName_ja\": \"非正規艦載機母艦\", \n    \"groupName_ko\": \"비정상적인 캐리어\", \n    \"groupName_ru\": \"Необычный КАР\", \n    \"groupName_zh\": \"叛道者航母\", \n    \"groupNameID\": 517367, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1727\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1727, \n    \"groupName_de\": \"Vagabund Angel Cartel-Schlachtschiff\", \n    \"groupName_en-us\": \"Roaming Angel Cartel Battleship\", \n    \"groupName_es\": \"Acorazado del Cártel de los Ángeles errante\", \n    \"groupName_fr\": \"Cuirassé angel cartel itinérant\", \n    \"groupName_it\": \"Roaming Angel Cartel Battleship\", \n    \"groupName_ja\": \"巡回中のエンジェルカルエル戦艦\", \n    \"groupName_ko\": \"배회하는 엔젤 카르텔 배틀쉽\", \n    \"groupName_ru\": \"Свободный линкор «ангелов»\", \n    \"groupName_zh\": \"巡游天使联合企业战列舰\", \n    \"groupNameID\": 517494, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1728\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1728, \n    \"groupName_de\": \"Vagabund Angel Cartel-Kreuzer\", \n    \"groupName_en-us\": \"Roaming Angel Cartel Cruiser\", \n    \"groupName_es\": \"Crucero del Cártel de los Ángeles errante\", \n    \"groupName_fr\": \"Croiseur angel cartel itinérant\", \n    \"groupName_it\": \"Roaming Angel Cartel Cruiser\", \n    \"groupName_ja\": \"巡回中のエンジェルカルテル巡洋艦\", \n    \"groupName_ko\": \"배회하는 엔젤 카르텔 크루저\", \n    \"groupName_ru\": \"Свободный крейсер «ангелов»\", \n    \"groupName_zh\": \"巡游天使巡洋舰\", \n    \"groupNameID\": 517495, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1729\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1729, \n    \"groupName_de\": \"Vagabund Angel Cartel-Fregatte\", \n    \"groupName_en-us\": \"Roaming Angel Cartel Frigate\", \n    \"groupName_es\": \"Fragata del Cártel de los Ángeles errante\", \n    \"groupName_fr\": \"Frégate angel cartel itinérante\", \n    \"groupName_it\": \"Roaming Angel Cartel Frigate\", \n    \"groupName_ja\": \"巡回中のエンジェルカルテルフリゲート\", \n    \"groupName_ko\": \"배회하는 엔젤 카르텔 프리깃\", \n    \"groupName_ru\": \"Свободный фрегат «ангелов»\", \n    \"groupName_zh\": \"巡游天使护卫舰\", \n    \"groupNameID\": 517496, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1730\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 20, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1730, \n    \"groupName_de\": \"Sonderversion-Implantat\", \n    \"groupName_en-us\": \"Special Edition Implant\", \n    \"groupName_es\": \"Implante de edición especial\", \n    \"groupName_fr\": \"Implant édition spéciale\", \n    \"groupName_it\": \"Special Edition Implant\", \n    \"groupName_ja\": \"特別仕様インプラント\", \n    \"groupName_ko\": \"스페셜 에디션 임플란트\", \n    \"groupName_ru\": \"Имплантат спецвыпуска\", \n    \"groupName_zh\": \"特别版植入体\", \n    \"groupNameID\": 517638, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1731\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1731, \n    \"groupName_de\": \"Irregular-Superträgerschiff\", \n    \"groupName_en-us\": \"Irregular Super Carrier\", \n    \"groupName_es\": \"Superportanaves irregular\", \n    \"groupName_fr\": \"Super porte-vaisseaux irrégulier\", \n    \"groupName_it\": \"Irregular Super Carrier\", \n    \"groupName_ja\": \"非正規大型艦載機母艦\", \n    \"groupName_ko\": \"비정상적인 슈퍼캐리어\", \n    \"groupName_ru\": \"Необычный суперКАР\", \n    \"groupName_zh\": \"叛道者超级航母\", \n    \"groupNameID\": 517715, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1734\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1734, \n    \"groupName_de\": \"Vagabund Blood Raider Fregatte\", \n    \"groupName_en-us\": \"Roaming Blood Raider Frigate\", \n    \"groupName_es\": \"Fragata de los Saqueadores Sanguinarios errante\", \n    \"groupName_fr\": \"Frégate blood raider itinérante\", \n    \"groupName_it\": \"Roaming Blood Raider Frigate\", \n    \"groupName_ja\": \"巡回中のブラッドレイダーフリゲート\", \n    \"groupName_ko\": \"배회하는 블러드 레이더 프리깃\", \n    \"groupName_ru\": \"Свободный фрегат «охотников»\", \n    \"groupName_zh\": \"游荡的血袭者护卫舰\", \n    \"groupNameID\": 517755, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1735\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1735, \n    \"groupName_de\": \"Vagabund Blood Raider Kreuzer\", \n    \"groupName_en-us\": \"Roaming Blood Raider Cruiser\", \n    \"groupName_es\": \"Crucero de los Saqueadores Sanguinarios errante\", \n    \"groupName_fr\": \"Croiseur blood raider itinérant\", \n    \"groupName_it\": \"Roaming Blood Raider Cruiser\", \n    \"groupName_ja\": \"巡回中のブラッドレイダー巡洋艦\", \n    \"groupName_ko\": \"배회하는 블러드 레이더 크루저\", \n    \"groupName_ru\": \"Свободный крейсер «охотников»\", \n    \"groupName_zh\": \"游荡的血袭者巡洋舰\", \n    \"groupNameID\": 517756, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1736\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1736, \n    \"groupName_de\": \"Vagabund Blood Raider Schlachtkreuzer\", \n    \"groupName_en-us\": \"Roaming Blood Raider Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de los Saqueadores Sanguinarios errante\", \n    \"groupName_fr\": \"Croiseur de bataille blood raider itinérant\", \n    \"groupName_it\": \"Roaming Blood Raider Battlecruiser\", \n    \"groupName_ja\": \"巡回中のブラッドレイダー巡洋戦艦\", \n    \"groupName_ko\": \"배회하는 블러드 레이더 배틀크루저\", \n    \"groupName_ru\": \"Свободный линейный крейсер «охотников»\", \n    \"groupName_zh\": \"游荡的血袭者战列巡洋舰\", \n    \"groupNameID\": 517757, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1737\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1737, \n    \"groupName_de\": \"Vagabund Blood Raider Schlachtschiff\", \n    \"groupName_en-us\": \"Roaming Blood Raider Battleship\", \n    \"groupName_es\": \"Acorazado de los Saqueadores Sanguinarios errante\", \n    \"groupName_fr\": \"Cuirassé blood raider itinérant\", \n    \"groupName_it\": \"Roaming Blood Raider Battleship\", \n    \"groupName_ja\": \"巡回中のブラッドレイダー戦艦\", \n    \"groupName_ko\": \"배회하는 블러드 레이더 배틀쉽\", \n    \"groupName_ru\": \"Свободный линкор «охотников»\", \n    \"groupName_zh\": \"游荡的血袭者战列舰\", \n    \"groupNameID\": 517758, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1739\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 5, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1739, \n    \"groupName_de\": \"Skill-Injektoren\", \n    \"groupName_en-us\": \"Skill Injectors\", \n    \"groupName_es\": \"Inyectores de habilidad\", \n    \"groupName_fr\": \"Injecteurs de compétences\", \n    \"groupName_it\": \"Skill Injectors\", \n    \"groupName_ja\": \"スキルインジェクター\", \n    \"groupName_ko\": \"스킬 주입기\", \n    \"groupName_ru\": \"СП-инъекторы\", \n    \"groupName_zh\": \"技能注入器\", \n    \"groupNameID\": 518135, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1759\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1759, \n    \"groupName_de\": \"Irregular-Titan\", \n    \"groupName_en-us\": \"Irregular Titan\", \n    \"groupName_es\": \"Titán irregular\", \n    \"groupName_fr\": \"Titan irrégulier\", \n    \"groupName_it\": \"Irregular Titan\", \n    \"groupName_ja\": \"非正規タイタン\", \n    \"groupName_ko\": \"비정상적인 타이탄\", \n    \"groupName_ru\": \"Необычный «Титан»\", \n    \"groupName_zh\": \"叛道者泰坦\", \n    \"groupNameID\": 518175, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1761\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1761, \n    \"groupName_de\": \"Irregular-Bergbaufregatte\", \n    \"groupName_en-us\": \"Irregular Mining Frigate\", \n    \"groupName_es\": \"Fragata minera irregular\", \n    \"groupName_fr\": \"Frégate d'extraction minière irrégulière\", \n    \"groupName_it\": \"Irregular Mining Frigate\", \n    \"groupName_ja\": \"非正規採掘用フリゲート\", \n    \"groupName_ko\": \"비정상적인 채굴 프리깃\", \n    \"groupName_ru\": \"Необычный буровой фрегат\", \n    \"groupName_zh\": \"叛道者采矿护卫舰\", \n    \"groupNameID\": 518176, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1762\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1762, \n    \"groupName_de\": \"Irregular-Bergbaubarkasse\", \n    \"groupName_en-us\": \"Irregular Mining Barge\", \n    \"groupName_es\": \"Gabarra minera irregular\", \n    \"groupName_fr\": \"Barge d'extraction minière irrégulière\", \n    \"groupName_it\": \"Irregular Mining Barge\", \n    \"groupName_ja\": \"非正規採掘艦\", \n    \"groupName_ko\": \"비정상적인 채광선\", \n    \"groupName_ru\": \"Необычный буровой корабль\", \n    \"groupName_zh\": \"叛道者采矿驳船\", \n    \"groupNameID\": 518177, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1764\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1764, \n    \"groupName_de\": \"♦ Bergbaufregatte\", \n    \"groupName_en-us\": \"♦ Mining Frigate\", \n    \"groupName_es\": \"♦ Fragata minera\", \n    \"groupName_fr\": \"♦ Frégate d'extraction minière\", \n    \"groupName_it\": \"♦ Mining Frigate\", \n    \"groupName_ja\": \"♦ 採掘用フリゲート\", \n    \"groupName_ko\": \"♦ 채굴 프리깃\", \n    \"groupName_ru\": \"♦ Буровые фрегаты\", \n    \"groupName_zh\": \"♦ 采矿护卫舰\", \n    \"groupNameID\": 518357, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1765\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1765, \n    \"groupName_de\": \"♦ Bergbaubarkasse\", \n    \"groupName_en-us\": \"♦ Mining Barge\", \n    \"groupName_es\": \"♦ Gabarra minera\", \n    \"groupName_fr\": \"♦ Barge d'extraction minière\", \n    \"groupName_it\": \"♦ Mining Barge\", \n    \"groupName_ja\": \"♦ 採掘艦\", \n    \"groupName_ko\": \"♦ 채광선\", \n    \"groupName_ru\": \"♦ Буровые корабли\", \n    \"groupName_zh\": \"♦ 采矿驳船\", \n    \"groupNameID\": 518600, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1766\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1766, \n    \"groupName_de\": \"♦ Bergbau-Ausgrabungsschiff\", \n    \"groupName_en-us\": \"♦ Mining Exhumer\", \n    \"groupName_es\": \"♦ Exhumador de minería\", \n    \"groupName_fr\": \"♦ Exhumer\", \n    \"groupName_it\": \"♦ Mining Exhumer\", \n    \"groupName_ja\": \"♦ 特化型採掘艦\", \n    \"groupName_ko\": \"♦ 채광용 익스허머\", \n    \"groupName_ru\": \"♦ Тяжёлые буровые корабли\", \n    \"groupName_zh\": \"♦ 采掘者\", \n    \"groupNameID\": 518601, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1767\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1767, \n    \"groupName_de\": \"♦ Bergbautransporter\", \n    \"groupName_en-us\": \"♦ Mining Hauler\", \n    \"groupName_es\": \"♦ Nave de mercancías de minería\", \n    \"groupName_fr\": \"♦ Transport minier\", \n    \"groupName_it\": \"♦ Mining Hauler\", \n    \"groupName_ja\": \"♦ 採掘用輸送業者\", \n    \"groupName_ko\": \"♦ 채광용 수송선\", \n    \"groupName_ru\": \"♦ Буровые транспорты\", \n    \"groupName_zh\": \"♦ 采矿运载舰\", \n    \"groupNameID\": 518602, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1768\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1768, \n    \"groupName_de\": \"Seeker-Späher\", \n    \"groupName_en-us\": \"Seeker Scouts\", \n    \"groupName_es\": \"Exploradores seeker\", \n    \"groupName_fr\": \"Éclaireurs Seeker\", \n    \"groupName_it\": \"Seeker Scouts\", \n    \"groupName_ja\": \"シーカー偵察\", \n    \"groupName_ko\": \"시커 스카우트\", \n    \"groupName_ru\": \"Разведчики Искателей\", \n    \"groupName_zh\": \"探寻者 侦察兵\", \n    \"groupNameID\": 518607, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1769\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1769, \n    \"groupName_de\": \"Schild-Kommandosalven\", \n    \"groupName_en-us\": \"Shield Command Burst Charges\", \n    \"groupName_es\": \"Cargas de estallido de mando de escudo\", \n    \"groupName_fr\": \"Charges de salve commandante de boucliers\", \n    \"groupName_it\": \"Shield Command Burst Charges\", \n    \"groupName_ja\": \"シールドコマンドバーストチャージ\", \n    \"groupName_ko\": \"실드 버스트 차지\", \n    \"groupName_ru\": \"Заряды импульсных оптимизаторов силовой защиты\", \n    \"groupName_zh\": \"护盾指挥脉冲波弹药\", \n    \"groupNameID\": 518625, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1770\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1770, \n    \"groupName_de\": \"Kommandosalven\", \n    \"groupName_en-us\": \"Command Burst\", \n    \"groupName_es\": \"Estallido de mando\", \n    \"groupName_fr\": \"Salve commandante\", \n    \"groupName_it\": \"Command Burst\", \n    \"groupName_ja\": \"コマンドバースト\", \n    \"groupName_ko\": \"커맨드 버스트\", \n    \"groupName_ru\": \"Импульсные оптимизаторы\", \n    \"groupName_zh\": \"指挥脉冲波\", \n    \"groupNameID\": 518819, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1771\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1771, \n    \"groupName_de\": \"Bergbauvorarbeiter-Salven\", \n    \"groupName_en-us\": \"Mining Foreman Burst Charges\", \n    \"groupName_es\": \"Cargas de estallido de capataz minero\", \n    \"groupName_fr\": \"Charges de salve de contremaîtrise d'extraction minière\", \n    \"groupName_it\": \"Mining Foreman Burst Charges\", \n    \"groupName_ja\": \"採掘支援バーストチャージ\", \n    \"groupName_ko\": \"채광 버스트 차지\", \n    \"groupName_ru\": \"Заряды импульсных оптимизаторов добычи сырья\", \n    \"groupName_zh\": \"开采先锋脉冲波弹药\", \n    \"groupNameID\": 518824, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1772\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1772, \n    \"groupName_de\": \"Kampf-Kommandosalven\", \n    \"groupName_en-us\": \"Skirmish Command Burst Charges\", \n    \"groupName_es\": \"Cargas de estallido de mando de escaramuza\", \n    \"groupName_fr\": \"Charges de salve commandante de guérilla\", \n    \"groupName_it\": \"Skirmish Command Burst Charges\", \n    \"groupName_ja\": \"機動戦コマンドバーストチャージ\", \n    \"groupName_ko\": \"스커미시 버스트 차지\", \n    \"groupName_ru\": \"Заряды импульсных оптимизаторов боевого маневрирования\", \n    \"groupName_zh\": \"游击战指挥脉冲波弹药\", \n    \"groupNameID\": 518822, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1773\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1773, \n    \"groupName_de\": \"Informations-Kommandosalven\", \n    \"groupName_en-us\": \"Information Command Burst Charges\", \n    \"groupName_es\": \"Cargas de estallido de mando de información\", \n    \"groupName_fr\": \"Charges de salve commandante d'information\", \n    \"groupName_it\": \"Information Command Burst Charges\", \n    \"groupName_ja\": \"情報戦コマンドバーストチャージ\", \n    \"groupName_ko\": \"정보전 버스트 차지\", \n    \"groupName_ru\": \"Заряды импульсных оптимизаторов мер РЭБ\", \n    \"groupName_zh\": \"信息指挥脉冲波弹药\", \n    \"groupNameID\": 518821, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1774\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1774, \n    \"groupName_de\": \"Kommandostrahlenmunition: Panzerung\", \n    \"groupName_en-us\": \"Armor Command Burst Charges\", \n    \"groupName_es\": \"Cargas de estallido de mando de blindaje\", \n    \"groupName_fr\": \"Charges de salve commandante de blindage\", \n    \"groupName_it\": \"Armor Command Burst Charges\", \n    \"groupName_ja\": \"アーマーコマンドバーストチャージ\", \n    \"groupName_ko\": \"장갑 버스트 차지\", \n    \"groupName_ru\": \"Брони\", \n    \"groupName_zh\": \"装甲指挥脉冲波弹药\", \n    \"groupNameID\": 518820, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1788\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1788, \n    \"groupName_de\": \"Hidden Zenith Drifter\", \n    \"groupName_en-us\": \"Hidden Zenith Drifters\", \n    \"groupName_es\": \"Drifters de Zenith ocultos\", \n    \"groupName_fr\": \"Drifters Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Drifters\", \n    \"groupName_ja\": \"隠されたゼニスのドリフターズ\", \n    \"groupName_ko\": \"숨겨진 제니스 드리프터\", \n    \"groupName_ru\": \"Скитальцы «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹流浪者\", \n    \"groupNameID\": 518827, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1789\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1789, \n    \"groupName_de\": \"Hidden Zenith Amarr Schlachtschiff\", \n    \"groupName_en-us\": \"Hidden Zenith Amarr Battleship\", \n    \"groupName_es\": \"Acorazado amarriano de Zenith oculto\", \n    \"groupName_fr\": \"Cuirassé amarr Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Amarr Battleship\", \n    \"groupName_ja\": \"隠されたゼニスのアマー戦艦\", \n    \"groupName_ko\": \"숨겨진 제니스 아마르 배틀쉽\", \n    \"groupName_ru\": \"Амаррский линкор «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹艾玛战列舰\", \n    \"groupNameID\": 518828, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1790\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1790, \n    \"groupName_de\": \"Hidden Zenith Amarr Kreuzer\", \n    \"groupName_en-us\": \"Hidden Zenith Amarr Cruiser\", \n    \"groupName_es\": \"Crucero de Zenith oculto amarriano\", \n    \"groupName_fr\": \"Croiseur amarr Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Amarr Cruiser\", \n    \"groupName_ja\": \"隠されたゼニスのアマー巡洋艦\", \n    \"groupName_ko\": \"숨겨진 제니스 아마르 크루저\", \n    \"groupName_ru\": \"Амаррский крейсер «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹艾玛巡洋舰\", \n    \"groupNameID\": 518829, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1791\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1791, \n    \"groupName_de\": \"Hidden Zenith Amarr Fregatte\", \n    \"groupName_en-us\": \"Hidden Zenith Amarr Frigate\", \n    \"groupName_es\": \"Fragata amarriana de Zenith oculta\", \n    \"groupName_fr\": \"Frégate amarr Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Amarr Frigate\", \n    \"groupName_ja\": \"隠されたゼニスのアマーフリゲート\", \n    \"groupName_ko\": \"숨겨진 제니스 아마르 프리깃\", \n    \"groupName_ru\": \"Амаррский фрегат «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹艾玛护卫舰\", \n    \"groupNameID\": 518830, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1792\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1792, \n    \"groupName_de\": \"Hidden Zenith Caldari Schlachtschiff\", \n    \"groupName_en-us\": \"Hidden Zenith Caldari Battleship\", \n    \"groupName_es\": \"Acorazado caldari de Zenith oculto\", \n    \"groupName_fr\": \"Cuirassé caldari Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Caldari Battleship\", \n    \"groupName_ja\": \"隠されたゼニスのカルダリ戦艦\", \n    \"groupName_ko\": \"숨겨진 제니스 칼다리 배틀쉽\", \n    \"groupName_ru\": \"Калдарский линкор «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹加达里战列舰\", \n    \"groupNameID\": 518831, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1793\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1793, \n    \"groupName_de\": \"Hidden Zenith Caldari Kreuzer\", \n    \"groupName_en-us\": \"Hidden Zenith Caldari Cruiser\", \n    \"groupName_es\": \"Crucero de Zenith oculto caldari\", \n    \"groupName_fr\": \"Croiseur caldari Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Caldari Cruiser\", \n    \"groupName_ja\": \"隠されたゼニスのカルダリ巡洋艦\", \n    \"groupName_ko\": \"숨겨진 제니스 칼다리 크루저\", \n    \"groupName_ru\": \"Калдарский крейсер «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹加达里巡洋舰\", \n    \"groupNameID\": 518832, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1794\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1794, \n    \"groupName_de\": \"Hidden Zenith Caldari Fregatte\", \n    \"groupName_en-us\": \"Hidden Zenith Caldari Frigate\", \n    \"groupName_es\": \"Fragata caldari de Zenith oculta\", \n    \"groupName_fr\": \"Frégate caldari Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Caldari Frigate\", \n    \"groupName_ja\": \"隠されたゼニスのカルダリフリゲート\", \n    \"groupName_ko\": \"숨겨진 제니스 칼다리 프리깃\", \n    \"groupName_ru\": \"Калдарский фрегат «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹加达里护卫舰\", \n    \"groupNameID\": 518833, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1795\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1795, \n    \"groupName_de\": \"Hidden Zenith Gallente Schlachtschiff\", \n    \"groupName_en-us\": \"Hidden Zenith Gallente Battleship\", \n    \"groupName_es\": \"Acorazado gallente de Zenith oculto\", \n    \"groupName_fr\": \"Cuirassé gallente Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Gallente Battleship\", \n    \"groupName_ja\": \"隠されたゼニス・ガレンテ戦艦\", \n    \"groupName_ko\": \"숨겨진 제니스 갈란테 배틀쉽\", \n    \"groupName_ru\": \"Галлентский линкор «Скрытого зенита»\", \n    \"groupName_zh\": \"隐匿天穹盖伦特战列舰\", \n    \"groupNameID\": 518834, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1796\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1796, \n    \"groupName_de\": \"Hidden Zenith Gallente Kreuzer\", \n    \"groupName_en-us\": \"Hidden Zenith Gallente Cruiser\", \n    \"groupName_es\": \"Crucero gallente de Zenith oculto\", \n    \"groupName_fr\": \"Croiseur gallente Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Gallente Cruiser\", \n    \"groupName_ja\": \"隠されたゼニスのガレンテ巡洋艦\", \n    \"groupName_ko\": \"숨겨진 제니스 갈란테 크루저\", \n    \"groupName_ru\": \"Галлентский крейсер «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹盖伦特巡洋舰\", \n    \"groupNameID\": 518835, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1797\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1797, \n    \"groupName_de\": \"Hidden Zenith Gallente Fregatte\", \n    \"groupName_en-us\": \"Hidden Zenith Gallente Frigate\", \n    \"groupName_es\": \"Fragata gallente de Zenith oculta\", \n    \"groupName_fr\": \"Frégate gallente Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Gallente Frigate\", \n    \"groupName_ja\": \"隠されたゼニスのガレンテフリゲート\", \n    \"groupName_ko\": \"숨겨진 제니스 갈란테 프리깃\", \n    \"groupName_ru\": \"Галлентский фрегат «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹盖伦特护卫舰\", \n    \"groupNameID\": 518836, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1798\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1798, \n    \"groupName_de\": \"Hidden Zenith Minmatar Schlachtschiff\", \n    \"groupName_en-us\": \"Hidden Zenith Minmatar Battleship\", \n    \"groupName_es\": \"Acorazado minmatariano de Zenith oculto\", \n    \"groupName_fr\": \"Cuirassé minmatar Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Minmatar Battleship\", \n    \"groupName_ja\": \"隠されたゼニスのミンマター戦艦\", \n    \"groupName_ko\": \"숨겨진 제니스 민마타 배틀쉽\", \n    \"groupName_ru\": \"Минматарский линкор «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹米玛塔尔战列舰\", \n    \"groupNameID\": 518837, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1799\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1799, \n    \"groupName_de\": \"Hidden Zenith Minmatar Kreuzer\", \n    \"groupName_en-us\": \"Hidden Zenith Minmatar Cruiser\", \n    \"groupName_es\": \"Crucero minmatariano de Zenith oculto\", \n    \"groupName_fr\": \"Croiseur minmatar Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Minmatar Cruiser\", \n    \"groupName_ja\": \"隠されたゼニスのミンマター巡洋艦\", \n    \"groupName_ko\": \"숨겨진 제니스 민마타 크루저\", \n    \"groupName_ru\": \"Минматарский крейсер «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹米玛塔尔巡洋舰\", \n    \"groupNameID\": 518838, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1800\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1800, \n    \"groupName_de\": \"Hidden Zenith Minmatar Fregatte\", \n    \"groupName_en-us\": \"Hidden Zenith Minmatar Frigate\", \n    \"groupName_es\": \"Fragata minmatariana de Zenith oculta\", \n    \"groupName_fr\": \"Frégate minmatar Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Minmatar Frigate\", \n    \"groupName_ja\": \"隠されたゼニスのミンマターフリゲート\", \n    \"groupName_ko\": \"숨겨진 제니스 민마타 프리깃\", \n    \"groupName_ru\": \"Минматарский фрегат «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹米玛塔尔护卫舰\", \n    \"groupNameID\": 518839, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1803\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1803, \n    \"groupName_de\": \"♦ Fregatte\", \n    \"groupName_en-us\": \"♦ Frigate\", \n    \"groupName_es\": \"♦ Fragata\", \n    \"groupName_fr\": \"♦ Frégate\", \n    \"groupName_it\": \"♦ Frigate\", \n    \"groupName_ja\": \"♦ フリゲート\", \n    \"groupName_ko\": \"♦ 프리깃\", \n    \"groupName_ru\": \"♦ Фрегаты\", \n    \"groupName_zh\": \"♦ 护卫舰\", \n    \"groupNameID\": 518967, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1804\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1804, \n    \"groupName_de\": \"Hidden Zenith Amarr Capital-Schiff\", \n    \"groupName_en-us\": \"Hidden Zenith Amarr Capital\", \n    \"groupName_es\": \"Nave capital amarriana de Zenith oculta\", \n    \"groupName_fr\": \"Capital amarr Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Amarr Capital\", \n    \"groupName_ja\": \"隠されたゼニスのアマー主力艦\", \n    \"groupName_ko\": \"숨겨진 제니스 아마르 캐피탈\", \n    \"groupName_ru\": \"Амаррский КБТ «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹艾玛旗舰\", \n    \"groupNameID\": 518975, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1805\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1805, \n    \"groupName_de\": \"Hidden Zenith Caldari Capital-Schiff\", \n    \"groupName_en-us\": \"Hidden Zenith Caldari Capital\", \n    \"groupName_es\": \"Nave capital caldari de Zenith oculta\", \n    \"groupName_fr\": \"Capital caldari Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Caldari Capital\", \n    \"groupName_ja\": \"隠されたゼニスのカルダリ主力艦\", \n    \"groupName_ko\": \"숨겨진 제니스 칼다리 캐피탈\", \n    \"groupName_ru\": \"Калдарский КБТ «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹加达里旗舰\", \n    \"groupNameID\": 518976, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1806\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1806, \n    \"groupName_de\": \"Hidden Zenith Gallente Capital-Schiff\", \n    \"groupName_en-us\": \"Hidden Zenith Gallente Capital\", \n    \"groupName_es\": \"Nave capital gallente de Zenith oculta\", \n    \"groupName_fr\": \"Capital gallente Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Gallente Capital\", \n    \"groupName_ja\": \"隠されたゼニスのガレンテ主力艦\", \n    \"groupName_ko\": \"숨겨진 제니스 갈란테 캐피탈\", \n    \"groupName_ru\": \"Галлентский КБТ «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹盖伦特旗舰\", \n    \"groupNameID\": 518977, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1807\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1807, \n    \"groupName_de\": \"Hidden Zenith Minmatar Capital-Schiff\", \n    \"groupName_en-us\": \"Hidden Zenith Minmatar Capital\", \n    \"groupName_es\": \"Nave capital minmatariana de Zenith oculta\", \n    \"groupName_fr\": \"Capital minmatar Hidden Zenith\", \n    \"groupName_it\": \"Hidden Zenith Minmatar Capital\", \n    \"groupName_ja\": \"隠されたゼニスのミンマター主力艦\", \n    \"groupName_ko\": \"숨겨진 제니스 민마타 캐피탈\", \n    \"groupName_ru\": \"Минматарский КБТ «Скрытого зенита»\", \n    \"groupName_zh\": \"隐藏的天穹米玛塔尔旗舰\", \n    \"groupNameID\": 518978, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1810\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1810, \n    \"groupName_de\": \"Kommandosalven Blaupause\", \n    \"groupName_en-us\": \"Command Burst Charge Blueprint\", \n    \"groupName_es\": \"Plano de carga de estallido de mando\", \n    \"groupName_fr\": \"Plan de construction Charges de salve commandante\", \n    \"groupName_it\": \"Command Burst Charge Blueprint\", \n    \"groupName_ja\": \"コマンドバーストチャージブループリント\", \n    \"groupName_ko\": \"커맨드 버스트 차지 블루프린트\", \n    \"groupName_ru\": \"Чертежи зарядов импульсных оптимизаторов\", \n    \"groupName_zh\": \"指挥脉冲波弹药蓝图\", \n    \"groupNameID\": 519234, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1812\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1812, \n    \"groupName_de\": \"Kommandostrahlen Blaupause\", \n    \"groupName_en-us\": \"Command Burst Blueprint\", \n    \"groupName_es\": \"Plano de estallido de mando\", \n    \"groupName_fr\": \"Plan de construction Salve de commandement\", \n    \"groupName_it\": \"Command Burst Blueprint\", \n    \"groupName_ja\": \"コマンドバーストのブループリント\", \n    \"groupName_ko\": \"커맨드 버스트 블루프린트\", \n    \"groupName_ru\": \"Чертежи импульсных оптимизаторов\", \n    \"groupName_zh\": \"指挥脉冲波蓝图\", \n    \"groupNameID\": 520609, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1813\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1813, \n    \"groupName_de\": \"♦ Kreuzer\", \n    \"groupName_en-us\": \"♦ Cruiser\", \n    \"groupName_es\": \"♦ Crucero\", \n    \"groupName_fr\": \"♦ Croiseur\", \n    \"groupName_it\": \"♦ Cruiser\", \n    \"groupName_ja\": \"♦ 巡洋艦\", \n    \"groupName_ko\": \"♦ 크루저\", \n    \"groupName_ru\": \"♦ Крейсеры\", \n    \"groupName_zh\": \"♦ 巡洋舰\", \n    \"groupNameID\": 521274, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1814\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1814, \n    \"groupName_de\": \"♦ Schlachtschiff\", \n    \"groupName_en-us\": \"♦ Battleship\", \n    \"groupName_es\": \"♦ Acorazado\", \n    \"groupName_fr\": \"♦ Cuirassé\", \n    \"groupName_it\": \"♦ Battleship\", \n    \"groupName_ja\": \"♦ 戦艦\", \n    \"groupName_ko\": \"♦ 배틀쉽\", \n    \"groupName_ru\": \"♦ Линкоры\", \n    \"groupName_zh\": \"♦ 战列舰\", \n    \"groupNameID\": 521275, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1815\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1815, \n    \"groupName_de\": \"Titan-Phänomengenerator\", \n    \"groupName_en-us\": \"Titan Phenomena Generator\", \n    \"groupName_es\": \"Generador de fenómenos titán\", \n    \"groupName_fr\": \"Générateur d'effet pour titan\", \n    \"groupName_it\": \"Titan Phenomena Generator\", \n    \"groupName_ja\": \"タイタンフェノメナジェネレーター\", \n    \"groupName_ko\": \"타이탄 특이점 생성기\", \n    \"groupName_ru\": \"Генератор воздействия титана\", \n    \"groupName_zh\": \"泰坦现象发生器\", \n    \"groupNameID\": 521648, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1816\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1816, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Ausrüstung ME\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Equipment ME\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): EM de equipo\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PM équipements\", \n    \"groupName_it\": \"Structure Engineering Rig M - Equipment ME\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 装置ME\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 장비 자원효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства оборудования\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 装备材料效率\", \n    \"groupNameID\": 521978, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1818\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1818, \n    \"groupName_de\": \"Tresore\", \n    \"groupName_en-us\": \"Strong Boxes\", \n    \"groupName_es\": \"Cajas fuertes\", \n    \"groupName_fr\": \"Coffres-forts\", \n    \"groupName_it\": \"Strong Boxes\", \n    \"groupName_ja\": \"金庫\", \n    \"groupName_ko\": \"금고\", \n    \"groupName_ru\": \"Спецконтейнеры\", \n    \"groupName_zh\": \"保险柜\", \n    \"groupNameID\": 521973, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1819\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1819, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Ausrüstung ZE\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Equipment TE\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): ET de equipo\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PH équipements\", \n    \"groupName_it\": \"Structure Engineering Rig M - Equipment TE\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 装置TE\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 장비 시간효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - скорость производства боеприпасов и зарядов\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 装备时间效率\", \n    \"groupNameID\": 521979, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1820\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1820, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Munition ME\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Ammunition ME\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): EM de munición\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PM munitions\", \n    \"groupName_it\": \"Structure Engineering Rig M - Ammunition ME\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 弾薬ME\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 탄약 자원효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства боеприпасов и зарядов\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 弹药材料效率\", \n    \"groupNameID\": 521980, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1821\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1821, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Munition ZE\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Ammunition TE\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): ET de munición\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PH munitions\", \n    \"groupName_it\": \"Structure Engineering Rig M - Ammunition TE\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 弾薬TE\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 탄약 시간효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - скорость производства боеприпасов и зарядов\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 弹药时间效率\", \n    \"groupNameID\": 521981, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1822\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1822, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Drohnen- und Jäger ME\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Drone and Fighter ME\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): EM de caza y dron\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PM drones et chasseurs\", \n    \"groupName_it\": \"Structure Engineering Rig M - Drone and Fighter ME\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - ドローンと戦闘機ME\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 드론 및 파이터 자원효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства дронов и истребителей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 无人机和铁骑舰载机材料效率\", \n    \"groupNameID\": 521982, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1823\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1823, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Drohnen- und Jäger ZE\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Drone and Fighter TE\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): ET de caza y dron\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PH drones et chasseurs\", \n    \"groupName_it\": \"Structure Engineering Rig M - Drone and Fighter TE\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - ドローンと戦闘機TE\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 드론 및 파이터 시간효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - скорость производства дронов и истребителей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 无人机和铁骑舰载机时间效率\", \n    \"groupNameID\": 521983, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1824\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1824, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Kleines Standardschiff ME\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Basic Small Ship ME\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): EM de nave pequeña básica\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PM petits vaisseaux standards\", \n    \"groupName_it\": \"Structure Engineering Rig M - Basic Small Ship ME\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 標準小型艦ME\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 기본 소형 함선 자원효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства малых типовых кораблей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 基础小型舰船材料效率\", \n    \"groupNameID\": 521984, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1825\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1825, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Kleines Standardschiff ZE\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Basic Small Ship TE\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): ET de nave pequeña básica\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PH petits vaisseaux standards\", \n    \"groupName_it\": \"Structure Engineering Rig M - Basic Small Ship TE\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 標準小型艦TE\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 기본 소형 함선 시간효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - скорость производства малых типовых кораблей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 基础小型舰船时间效率\", \n    \"groupNameID\": 521985, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1826\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1826, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Mittelgroßes Standardschiff ME\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Basic Medium Ship ME\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): EM de nave mediana básica\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PM vaisseaux intermédiaires standards\", \n    \"groupName_it\": \"Structure Engineering Rig M - Basic Medium Ship ME\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 標準中型艦ME\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 기본 중형 함선 자원효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства средних типовых кораблей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 基础中型舰船材料效率\", \n    \"groupNameID\": 521986, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1827\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1827, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Mittelgroßes Standardschiff ZE\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Basic Medium Ship TE\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): ET de nave mediana básica\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PH vaisseaux intermédiaires standards\", \n    \"groupName_it\": \"Structure Engineering Rig M - Basic Medium Ship TE\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 標準中型艦TE\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 기본 중형 함선 시간효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - скорость производства средних типовых кораблей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 基础中型舰船时间效率\", \n    \"groupNameID\": 521987, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1828\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1828, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Großes Standardschiff ME\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Basic Large Ship ME\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): EM de nave grande básica\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PM grands vaisseaux standards\", \n    \"groupName_it\": \"Structure Engineering Rig M - Basic Large Ship ME\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 標準大型艦ME\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 기본 대형 함선 자원효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства больших типовых кораблей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 基础大型舰船材料效率\", \n    \"groupNameID\": 521988, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1829\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1829, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Großes Standardschiff ZE\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Basic Large Ship TE\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): ET de nave grande básica\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PH grands vaisseaux standards\", \n    \"groupName_it\": \"Structure Engineering Rig M - Basic Large Ship TE\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 標準大型艦TE\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 기본 대형 함선 시간효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства больших типовых кораблей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 基础大型舰船时间效率\", \n    \"groupNameID\": 521989, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1830\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1830, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Fortschrittliches kleines Schiff ME\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Advanced Small Ship ME\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): EM de nave pequeña avanzada\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PM petits vaisseaux avancés\", \n    \"groupName_it\": \"Structure Engineering Rig M - Advanced Small Ship ME\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 最新小型艦ME\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 상급 소형 함선 자원효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства малых специализированных кораблей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 高级小型舰船材料效率\", \n    \"groupNameID\": 521990, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1831\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1831, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Fortschrittliches kleines Schiff ZE\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Advanced Small Ship TE\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): ET de nave pequeña avanzada\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PH petits vaisseaux avancés\", \n    \"groupName_it\": \"Structure Engineering Rig M - Advanced Small Ship TE\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 最新小型艦TE\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 상급 소형 함선 시간효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - скорость производства малых специализированных кораблей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 高级小型舰船时间效率\", \n    \"groupNameID\": 521991, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1832\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1832, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Fortschrittliches mittelgroßes Schiff ME\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Advanced Medium Ship ME\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): EM de nave mediana avanzada\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PM vaisseaux intermédiaires avancés\", \n    \"groupName_it\": \"Structure Engineering Rig M - Advanced Medium Ship ME\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 最新中型艦ME\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 상급 중형 함선 자원효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства средних специализированных кораблей\", \n    \"groupName_zh\": \"建筑工程改装件中型 - 高级中型舰船材料效率\", \n    \"groupNameID\": 521992, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1833\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1833, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Fortschrittliches mittelgroßes Schiff ZE\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Advanced Medium Ship TE\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): ET de nave mediana avanzada\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PH vaisseaux intermédiaires avancés\", \n    \"groupName_it\": \"Structure Engineering Rig M - Advanced Medium Ship TE\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 最新中型艦TE\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 상급 중형 함선 시간효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - скорость производства средних специализированных кораблей\", \n    \"groupName_zh\": \"建筑工程改装件中型 - 高级中型舰船时间效率\", \n    \"groupNameID\": 521993, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1834\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1834, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Fortschrittliches großes Schiff ME\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Advanced Large Ship ME\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): EM de nave grande avanzada\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PM grands vaisseaux avancés\", \n    \"groupName_it\": \"Structure Engineering Rig M - Advanced Large Ship ME\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 最新大型艦ME\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 상급 대형 함선 자원효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства больших специализированных кораблей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 高级大型舰船材料效率\", \n    \"groupNameID\": 521994, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1835\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1835, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Fortschrittliches großes Schiff ZE\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Advanced Large Ship TE\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): ET de nave grande avanzada\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PH grands vaisseaux avancés\", \n    \"groupName_it\": \"Structure Engineering Rig M - Advanced Large Ship TE\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 最新大型艦TE\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 상급 대형 함선 시간효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - скорость производства больших специализированных кораблей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 高级大型舰船时间效率\", \n    \"groupNameID\": 521995, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1836\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1836, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Hochentwickelte Komponente ME\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Advanced Component ME\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): EM de componente avanzado\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PM composants avancés\", \n    \"groupName_it\": \"Structure Engineering Rig M - Advanced Component ME\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 最新型コンポーネントME\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 상급 부품 자원효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства усовершенствованных компонентов\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 高级组件材料效率\", \n    \"groupNameID\": 521998, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1837\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1837, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Hochentwickelte Komponente ZE\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Advanced Component TE\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): ET de componente avanzado\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PH composants avancés\", \n    \"groupName_it\": \"Structure Engineering Rig M - Advanced Component TE\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 最新型コンポーネントTE\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 상급 부품 시간효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - скорость производства усовершенствованных компонентов\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 高级组件时间效率\", \n    \"groupNameID\": 521999, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1838\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1838, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Standard-Capital-Komponente ZE\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Basic Capital Component TE\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): ET de componente de nave capital básico\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PH composants capitaux standards\", \n    \"groupName_it\": \"Structure Engineering Rig M - Basic Capital Component TE\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 標準キャピタルコンポーネントTE\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 기본 캐피탈 부품 시간효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - скорость производства основных компонентов КБТ\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 普通旗舰组件时间效率\", \n    \"groupNameID\": 522000, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1839\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1839, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Standard-Capital-Komponente ME\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Basic Capital Component ME\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): EM de componente de nave capital básico\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PM composants capitaux standards\", \n    \"groupName_it\": \"Structure Engineering Rig M - Basic Capital Component ME\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 標準キャピタルコンポーネントME\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 기본 캐피탈 부품 자원효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства основных компонентов КБТ\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 普通旗舰组件材料效率\", \n    \"groupNameID\": 522001, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1840\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1840, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Struktur ME\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Structure ME\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): EM de estructura\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PM structures\", \n    \"groupName_it\": \"Structure Engineering Rig M - Structure ME\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - ストラクチャME\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 구조물 자원효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - материалоэффективность производства сооружений\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 建筑材料效率\", \n    \"groupNameID\": 522002, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1841\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1841, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Struktur ZE\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Structure TE\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): ET de estructura\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – PH structures\", \n    \"groupName_it\": \"Structure Engineering Rig M - Structure TE\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - ストラクチャTE\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 구조물 시간효율성\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - скорость производства сооружений\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 建筑时间效率\", \n    \"groupNameID\": 522003, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1842\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1842, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Erfindungskostenoptimierung\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Invention Cost Optimization\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): optimización del coste de invención\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – Optimisation des coûts d'invention\", \n    \"groupName_it\": \"Structure Engineering Rig M - Invention Cost Optimization\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 発明コスト最適化\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 기본 비용 최적화\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - оптимизация стоимости модернизации\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 发明成本优化\", \n    \"groupNameID\": 522026, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1843\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1843, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Erfindungsbeschleuniger\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Invention Accelerator\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): aceleración de invención\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – Accélérateur d'invention\", \n    \"groupName_it\": \"Structure Engineering Rig M - Invention Accelerator\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - 発明加速装置\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 인벤션 가속\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - скорость модернизации\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 发明加速\", \n    \"groupNameID\": 522035, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1844\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1844, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - ME Forschungskostenoptimierung\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - ME Research Cost Optimization\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): optimización del coste de investigación de EM\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – Optimisation des coûts de recherche en PM\", \n    \"groupName_it\": \"Structure Engineering Rig M - ME Research Cost Optimization\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - ME研究コスト最適化\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 자원효율성 연구 비용 최적화\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - оптимизация стоимости проектов по повышению материалоэффективности\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 材料效率研究成本优化\", \n    \"groupNameID\": 522036, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1845\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1845, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - ME Forschungsbeschleuniger\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - ME Research Accelerator\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): aceleración de investigación de EM\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – Accélérateur de recherche en PM\", \n    \"groupName_it\": \"Structure Engineering Rig M - ME Research Accelerator\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - ME研究加速装置\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 자원효율성 연구 가속\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - ускорение проектов по повышению материалоэффективности производства\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 材料效率研究加速\", \n    \"groupNameID\": 522037, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1846\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1846, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - ZE Forschungskostenoptimierung\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - TE Research Cost Optimization\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): optimización del coste de investigación de ET\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – Optimisation des coûts de recherche en PH\", \n    \"groupName_it\": \"Structure Engineering Rig M - TE Research Cost Optimization\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - TE研究コスト最適化\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 시간효율성 연구 비용 최적화\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - оптимизация стоимости проектов по повышению стоимости производства\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 时间效率研究成本优化\", \n    \"groupNameID\": 522038, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1847\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1847, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - TE Forschungsbeschleuniger\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - TE Research Accelerator\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): acelerador de investigación de ET\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – Accélérateur de recherche en PH\", \n    \"groupName_it\": \"Structure Engineering Rig M - TE Research Accelerator\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - TE研究加速装置\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 시간효율성 연구 가속\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - ускорение проектов по повышению скорости производства\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 时间效率研究加速\", \n    \"groupNameID\": 522039, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1848\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1848, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Blaupausenkopie-Kostenoptimierung\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Blueprint Copy Cost Optimization\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): optimización de coste de copia de planos\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – Optimisation des coûts de copie des plans de construction\", \n    \"groupName_it\": \"Structure Engineering Rig M - Blueprint Copy Cost Optimization\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - ブループリントコピーコスト最適化\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 블루프린트 복제 비용 최적화\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - оптимизация стоимости копирования чертежей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 蓝图拷贝成本优化\", \n    \"groupNameID\": 522040, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1849\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1849, \n    \"groupName_de\": \"Struktur: Ingenieursanlage M - Blaupausenkopie-Beschleuniger\", \n    \"groupName_en-us\": \"Structure Engineering Rig M - Blueprint Copy Accelerator\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (M): acelerador de copia de planos\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – Accélérateur de copie de plan de construction\", \n    \"groupName_it\": \"Structure Engineering Rig M - Blueprint Copy Accelerator\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグM - ブループリントコピー加速装置\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 M - 블루프린트 복제 가속\", \n    \"groupName_ru\": \"Промышленный модификатор средних сооружений - ускорение копирования чертежей\", \n    \"groupName_zh\": \"建筑工程中型改装件 - 蓝图拷贝加速\", \n    \"groupNameID\": 522041, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1850\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1850, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Ausrüstungseffizienz\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Equipment Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): eficiencia de equipo\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – Efficacité industrielle équipements\", \n    \"groupName_it\": \"Structure Engineering Rig L - Equipment Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - 装置効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 장비 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства оборудования\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 装备效率\", \n    \"groupNameID\": 522042, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1851\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1851, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Munitionseffizienz\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Ammunition Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): eficiencia de munición\", \n    \"groupName_fr\": \"Optimisation d'ingénierie M (Structure) – Efficacité industrielle munitions\", \n    \"groupName_it\": \"Structure Engineering Rig L - Ammunition Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - 弾薬効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 탄약 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства боеприпасов и зарядов\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 弹药效率\", \n    \"groupNameID\": 522054, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1852\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1852, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Drohnen- und Jägereffizienz\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Drone and Fighter Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): eficiencia de caza y dron\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Efficience industrielle drones et chasseurs\", \n    \"groupName_it\": \"Structure Engineering Rig L - Drone and Fighter Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - ドローンと戦闘機効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 드론 및 파이터 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства дронов и истребителей\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 无人机和铁骑舰载机效率\", \n    \"groupNameID\": 522057, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1853\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1853, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Effizienz kleiner Standardschiffe\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Basic Small Ship Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): eficiencia de nave pequeña básica\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Efficience industrielle petits vaisseaux standards\", \n    \"groupName_it\": \"Structure Engineering Rig L - Basic Small Ship Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - 標準小型艦効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 기본 소형 함선 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства малых типовых кораблей\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 基础小型舰船效率\", \n    \"groupNameID\": 522058, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1854\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1854, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Effizienz mittelgroßer Standardschiffe\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Basic Medium Ship Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): eficiencia de nave mediana básica\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Efficience industrielle vaisseaux intermédiaires standards\", \n    \"groupName_it\": \"Structure Engineering Rig L - Basic Medium Ship Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - 標準中型艦効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 기본 중형 함선 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства средних типовых кораблей\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 基础中型舰船效率\", \n    \"groupNameID\": 522059, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1855\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1855, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Effizienz großer Standardschiffe\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Basic Large Ship Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): eficiencia de nave grande básica\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Efficience industrielle grands vaisseaux standards\", \n    \"groupName_it\": \"Structure Engineering Rig L - Basic Large Ship Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - 標準大型艦効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 기본 대형 함선 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства больших типовых кораблей\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 基础大型舰船效率\", \n    \"groupNameID\": 522062, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1856\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1856, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Effizienz kleiner fortschrittlicher Schiffe\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Advanced Small Ship Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería de estructuras grande: eficiencia de naves pequeñas avanzada\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Efficience industrielle petits vaisseaux avancés\", \n    \"groupName_it\": \"Structure Engineering Rig L - Advanced Small Ship Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - 最新小型艦効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 상급 소형 함선 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства малых типовых кораблей\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 高级小型舰船效率\", \n    \"groupNameID\": 522063, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1857\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1857, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Effizienz mittelgroßer fortschrittlicher Schiffe\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Advanced Medium Ship Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): eficiencia de nave mediana avanzada\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Efficience industrielle vaisseaux intermédiaires avancés\", \n    \"groupName_it\": \"Structure Engineering Rig L - Advanced Medium Ship Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - 最新中型艦効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 상급 중형 함선 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства средних специализированных кораблей\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 高级中型舰船效率\", \n    \"groupNameID\": 522064, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1858\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1858, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Effizienz großer fortschrittlicher Schiffe\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Advanced Large Ship Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): eficiencia de nave grande avanzada\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Efficience industrielle grands vaisseaux avancés\", \n    \"groupName_it\": \"Structure Engineering Rig L - Advanced Large Ship Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - 最新大型艦効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 상급 대형 함선 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства специализированных больших кораблей\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 高级大型舰船效率\", \n    \"groupNameID\": 522065, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1859\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1859, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Capital-Schiffseffizienz\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Capital Ship Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): eficiencia de nave capital\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Efficience industrielle vaisseaux capitaux\", \n    \"groupName_it\": \"Structure Engineering Rig L - Capital Ship Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - 母艦効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 캐피탈 함선 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства КБТ\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 旗舰效率\", \n    \"groupNameID\": 522066, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1860\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1860, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Effizienz hochentwickelter Komponenten\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Advanced Component Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): eficiencia de componente avanzado\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Efficience industrielle composants avancés\", \n    \"groupName_it\": \"Structure Engineering Rig L - Advanced Component Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - 最新型コンポーネント効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 상급 부품 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства усовершенствованных компонентов\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 高级组件效率\", \n    \"groupNameID\": 522067, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1861\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1861, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Effizienz von Standard-Capital-Komponenten\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Basic Capital Component Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): eficiencia de componente de nave capital básica\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Efficience industrielle composants capitaux standards\", \n    \"groupName_it\": \"Structure Engineering Rig L - Basic Capital Component Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - 標準型キャピタルコンポーネント効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 기본 캐피탈 부품 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства типовых компонентов КБТ\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 基础旗舰组件效率\", \n    \"groupNameID\": 522068, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1862\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1862, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Struktureffizienz\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Structure Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): eficiencia para estructura\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Efficacité industrielle structures\", \n    \"groupName_it\": \"Structure Engineering Rig L - Structure Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - ストラクチャ効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 구조물 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - эффективность производства сооружений\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 建筑效率\", \n    \"groupNameID\": 522069, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1863\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1863, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Erfindungsoptimierung\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Invention Optimization\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): optimización de invención\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Optimisation d'invention\", \n    \"groupName_it\": \"Structure Engineering Rig L - Invention Optimization\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - 発明最適化\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 기본 최적화\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - оптимизация модернизации\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 发明优化\", \n    \"groupNameID\": 522070, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1864\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1864, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - ME Forschungsoptimierung\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - ME Research Optimization\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): optimización de investigación EM\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Optimisation de recherche en PM\", \n    \"groupName_it\": \"Structure Engineering Rig L - ME Research Optimization\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - ME研究最適化\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 자원효율성 연구 최적화\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - оптимизация проектов по повышению материалоэффективности\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 材料效率研究优化\", \n    \"groupNameID\": 522071, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1865\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1865, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - ZE Forschungsoptimierung\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - TE Research Optimization\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): optimización de investigación ET\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Optimisation de recherche en PH\", \n    \"groupName_it\": \"Structure Engineering Rig L - TE Research Optimization\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - TE研究最適化\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 시간효율성 연구 최적화\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - оптимизация проектов по повышению скорости производства\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 时间效率研究优化\", \n    \"groupNameID\": 522072, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1866\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1866, \n    \"groupName_de\": \"Struktur: Ingenieursanlage L - Blaupausenkopie-Optimierung\", \n    \"groupName_en-us\": \"Structure Engineering Rig L - Blueprint Copy Optimization\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (G): optimización de copia de plano\", \n    \"groupName_fr\": \"Optimisation d'ingénierie L (Structure) – Optimisation des copies de plans de construction\", \n    \"groupName_it\": \"Structure Engineering Rig L - Blueprint Copy Optimization\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグL - ブループリントコピー最適化\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 L - 블루프린트 Copy 최적화\", \n    \"groupName_ru\": \"Промышленный модификатор больших сооружений - оптимизация копирования чертежей\", \n    \"groupName_zh\": \"建筑工程大型改装件 - 蓝图拷贝优化\", \n    \"groupNameID\": 522073, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1867\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1867, \n    \"groupName_de\": \"Struktur: Ingenieursanlage XL - Ausrüstungs- und Kosumgütereffizienz\", \n    \"groupName_en-us\": \"Structure Engineering Rig XL - Equipment and Consumable Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (XL): eficiencia de consumible y equipo\", \n    \"groupName_fr\": \"Optimisation d'ingénierie XL (Structure) – Efficience industrielle équipements et consommables\", \n    \"groupName_it\": \"Structure Engineering Rig XL - Equipment and Consumable Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグXL - 機材と消耗品効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 XL - 장비 및 소모품 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор сверхбольших сооружений - эффективность производства оборудования и расходников\", \n    \"groupName_zh\": \"建筑工程超大型改装件 - 装备和消费品效率\", \n    \"groupNameID\": 522074, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1868\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1868, \n    \"groupName_de\": \"Struktur: Ingenieursanlage XL - Schiffseffizienz\", \n    \"groupName_en-us\": \"Structure Engineering Rig XL - Ship Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (XL): eficiencia de nave\", \n    \"groupName_fr\": \"Optimisation d'ingénierie XL (Structure) – Efficience industrielle vaisseaux\", \n    \"groupName_it\": \"Structure Engineering Rig XL - Ship Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグXL - 艦船効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 XL - 함선 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор сверхбольших сооружений - эффективность производства кораблей\", \n    \"groupName_zh\": \"建筑工程超大型改装件 - 舰船效率\", \n    \"groupNameID\": 522075, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1869\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1869, \n    \"groupName_de\": \"Struktur: Ingenieursanlage XL - Ausrüstungs- und Komponenteneffizienz\", \n    \"groupName_en-us\": \"Structure Engineering Rig XL - Structure and Component Efficiency\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (XL): eficiencia de componente y estructura\", \n    \"groupName_fr\": \"Optimisation d'ingénierie XL (Structure) – Efficience industrielle structures et composants\", \n    \"groupName_it\": \"Structure Engineering Rig XL - Structure and Component Efficiency\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグXL - ストラクチャとコンポーネント効率\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 XL - 구조물 및 부품 효율성\", \n    \"groupName_ru\": \"Промышленный модификатор сверхбольших сооружений - эффективность производства сооружений и компонентов\", \n    \"groupName_zh\": \"建筑工程超大型改装件 - 建筑和组件效率\", \n    \"groupNameID\": 522076, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1870\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1870, \n    \"groupName_de\": \"Struktur: Ingenieursanlage XL - Laboroptimierung\", \n    \"groupName_en-us\": \"Structure Engineering Rig XL - Laboratory Optimization\", \n    \"groupName_es\": \"Complemento de ingeniería para estructuras (XL): optimización de laboratorio\", \n    \"groupName_fr\": \"Optimisation d'ingénierie XL (Structure) – Optimisation des laboratoires\", \n    \"groupName_it\": \"Structure Engineering Rig XL - Laboratory Optimization\", \n    \"groupName_ja\": \"ストラクチャエンジニアリングリグXL - 研究施設最適化\", \n    \"groupName_ko\": \"구조물 엔지니어링 리그 XL - 연구실 최적화\", \n    \"groupName_ru\": \"Промышленный модификатор сверхбольших сооружений - оптимизация проектов\", \n    \"groupName_zh\": \"建筑工程超大型改装件 - 实验室优化\", \n    \"groupNameID\": 522077, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1872\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1872, \n    \"groupName_de\": \"Struktureinheiten\", \n    \"groupName_en-us\": \"Structure Entities\", \n    \"groupName_es\": \"Entidades de estructura\", \n    \"groupName_fr\": \"Entités de structure\", \n    \"groupName_it\": \"Structure Entities\", \n    \"groupName_ja\": \"ストラクチャーエンティティ\", \n    \"groupName_ko\": \"구조물 객체\", \n    \"groupName_ru\": \"Сооружения\", \n    \"groupName_zh\": \"建筑实体\", \n    \"groupNameID\": 523854, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1875\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 5, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1875, \n    \"groupName_de\": \"PLEX\", \n    \"groupName_en-us\": \"PLEX\", \n    \"groupName_es\": \"PLEX\", \n    \"groupName_fr\": \"PLEX\", \n    \"groupName_it\": \"PLEX\", \n    \"groupName_ja\": \"PLEX\", \n    \"groupName_ko\": \"PLEX\", \n    \"groupName_ru\": \"Плексы\", \n    \"groupName_zh\": \"伊甸币\", \n    \"groupNameID\": 525202, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1876\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1876, \n    \"groupName_de\": \"♦ Ingenieurskomplex\", \n    \"groupName_en-us\": \"♦ Engineering Complex\", \n    \"groupName_es\": \"♦ Complejo de ingeniería\", \n    \"groupName_fr\": \"♦ Complexe d'ingénierie\", \n    \"groupName_it\": \"♦ Engineering Complex\", \n    \"groupName_ja\": \"♦エンジニアリング複合施設\", \n    \"groupName_ko\": \"♦ 엔지니어링 시설\", \n    \"groupName_ru\": \"♦ Engineering Complex\", \n    \"groupName_zh\": \"♦ 工程复合体\", \n    \"groupNameID\": 525289, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1878\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1878, \n    \"groupName_de\": \"♦ Titan\", \n    \"groupName_en-us\": \"♦ Titan\", \n    \"groupName_es\": \"♦ Titán\", \n    \"groupName_fr\": \"♦ Titan\", \n    \"groupName_it\": \"♦ Titan\", \n    \"groupName_ja\": \"♦ タイタン\", \n    \"groupName_ko\": \"♦ 타이만\", \n    \"groupName_ru\": \"♦ Титаны\", \n    \"groupName_zh\": \"♦ 泰坦\", \n    \"groupNameID\": 526125, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1879\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1879, \n    \"groupName_de\": \"♦ Truppenunterstützer\", \n    \"groupName_en-us\": \"♦ Force Auxiliary\", \n    \"groupName_es\": \"♦ Naves auxiliares\", \n    \"groupName_fr\": \"♦ Force auxiliaire\", \n    \"groupName_it\": \"♦ Force Auxiliary\", \n    \"groupName_ja\": \"♦ 予備戦力\", \n    \"groupName_ko\": \"♦ 포스 악실리아\", \n    \"groupName_ru\": \"♦ Вспомогательные КБТ\", \n    \"groupName_zh\": \"♦ 战力辅助舰\", \n    \"groupNameID\": 526124, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1880\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1880, \n    \"groupName_de\": \"♦ Dreadnought\", \n    \"groupName_en-us\": \"♦ Dreadnought\", \n    \"groupName_es\": \"♦ Superacorazado\", \n    \"groupName_fr\": \"♦ Dreadnought\", \n    \"groupName_it\": \"♦ Dreadnought\", \n    \"groupName_ja\": \"♦ 攻城艦\", \n    \"groupName_ko\": \"♦ 드레드노트\", \n    \"groupName_ru\": \"♦ Дредноуты\", \n    \"groupName_zh\": \"♦ 无畏舰\", \n    \"groupNameID\": 526123, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1882\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1882, \n    \"groupName_de\": \"MassiveEnvironments\", \n    \"groupName_en-us\": \"MassiveEnvironments\", \n    \"groupName_es\": \"Entornos masivos\", \n    \"groupName_fr\": \"Environnements massifs\", \n    \"groupName_it\": \"MassiveEnvironments\", \n    \"groupName_ja\": \"MassiveEnvironments\", \n    \"groupName_ko\": \"거대 환경\", \n    \"groupName_ru\": \"Массивные среды\", \n    \"groupName_zh\": \"宏观环境\", \n    \"groupNameID\": 526235, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1884\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1884, \n    \"groupName_de\": \"Verbreitete Mondasteroiden\", \n    \"groupName_en-us\": \"Ubiquitous Moon Asteroids\", \n    \"groupName_es\": \"Asteroides lunares universales\", \n    \"groupName_fr\": \"Astéroïdes lunaires ubiques\", \n    \"groupName_it\": \"Ubiquitous Moon Asteroids\", \n    \"groupName_ja\": \"偏在する衛星アステロイド\", \n    \"groupName_ko\": \"저급 위성 조각\", \n    \"groupName_ru\": \"Повсеместные лунные астероиды\", \n    \"groupName_zh\": \"常见的卫星小行星\", \n    \"groupNameID\": 526296, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1886\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1886, \n    \"groupName_de\": \"Technische Datenchips\", \n    \"groupName_en-us\": \"Technical Data Chips\", \n    \"groupName_es\": \"Chips de datos técnicos\", \n    \"groupName_fr\": \"Puces de données techniques\", \n    \"groupName_it\": \"Technical Data Chips\", \n    \"groupName_ja\": \"技術データチップ\", \n    \"groupName_ko\": \"기술 데이터 칩\", \n    \"groupName_ru\": \"Технические ключ-схемы\", \n    \"groupName_zh\": \"技术数据芯片\", \n    \"groupNameID\": 526463, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1887\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1887, \n    \"groupName_de\": \"Struktur - Mond-Bohrdienstmodul\", \n    \"groupName_en-us\": \"Structure Moon Drilling Service Module\", \n    \"groupName_es\": \"Módulo de servicio de perforación lunar para estructuras\", \n    \"groupName_fr\": \"Module de service pour structure Foreuse lunaire\", \n    \"groupName_it\": \"Structure Moon Drilling Service Module\", \n    \"groupName_ja\": \"ストラクチャ衛星採掘サービスモジュール\", \n    \"groupName_ko\": \"구조물 위성 채굴 서비스 모듈\", \n    \"groupName_ru\": \"Сооружения - служебные модули бурения лун\", \n    \"groupName_zh\": \"建筑卫星钻探服务装备\", \n    \"groupNameID\": 526632, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1888\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1888, \n    \"groupName_de\": \"Komposit-Reaktionsformeln\", \n    \"groupName_en-us\": \"Composite Reaction Formulas\", \n    \"groupName_es\": \"Fórmulas reactivas compuestas\", \n    \"groupName_fr\": \"Formules de réaction composite\", \n    \"groupName_it\": \"Composite Reaction Formulas\", \n    \"groupName_ja\": \"化合物反応フォーミュラ\", \n    \"groupName_ko\": \"복합 반응식\", \n    \"groupName_ru\": \"Формулы композитных реакций\", \n    \"groupName_zh\": \"复合反应公式\", \n    \"groupNameID\": 526843, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1889\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1889, \n    \"groupName_de\": \"Polymer-Reaktionsformeln\", \n    \"groupName_en-us\": \"Polymer Reaction Formulas\", \n    \"groupName_es\": \"Fórmulas reactivas poliméricas\", \n    \"groupName_fr\": \"Formules de réaction polymère\", \n    \"groupName_it\": \"Polymer Reaction Formulas\", \n    \"groupName_ja\": \"重合体反応フォーミュラ\", \n    \"groupName_ko\": \"폴리머 반응식\", \n    \"groupName_ru\": \"Формулы полимерных реакций\", \n    \"groupName_zh\": \"聚合物反应公式\", \n    \"groupNameID\": 526844, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1890\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1890, \n    \"groupName_de\": \"Biochemische Reaktionsformeln\", \n    \"groupName_en-us\": \"Biochemical Reaction Formulas\", \n    \"groupName_es\": \"Fórmulas reactivas bioquímicas\", \n    \"groupName_fr\": \"Formules de réaction biochimique\", \n    \"groupName_it\": \"Biochemical Reaction Formulas\", \n    \"groupName_ja\": \"有機化合反応フォーミュラ\", \n    \"groupName_ko\": \"생화학 반응식\", \n    \"groupName_ru\": \"Формулы биохимических реакций\", \n    \"groupName_zh\": \"生化反应公式\", \n    \"groupNameID\": 526846, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1891\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1891, \n    \"groupName_de\": \"Blaupausen für veraltete Subsysteme\", \n    \"groupName_en-us\": \"Depricated Subsystem Blueprints\", \n    \"groupName_es\": \"Planos de subsistemas obsoletos\", \n    \"groupName_fr\": \"Plans de construction Sous-systèmes dévalorisés\", \n    \"groupName_it\": \"Depricated Subsystem Blueprints\", \n    \"groupName_ja\": \"沈静化したサブシステム設計図\", \n    \"groupName_ko\": \"사용 중지된 서브시스템 블루프린트\", \n    \"groupName_ru\": \"Чертежи устаревших подсистем\", \n    \"groupName_zh\": \"废弃的子系统蓝图\", \n    \"groupNameID\": 527146, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1894\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1894, \n    \"groupName_de\": \"Nicht wiederholbare Verstärker\", \n    \"groupName_en-us\": \"Non-Repeating Hardeners\", \n    \"groupName_es\": \"Endurecedores de no repetición\", \n    \"groupName_fr\": \"Renforts sans répétition\", \n    \"groupName_it\": \"Non-Repeating Hardeners\", \n    \"groupName_ja\": \"非反復ハードナー\", \n    \"groupName_ko\": \"비 반복 강화장치\", \n    \"groupName_ru\": \"Укрепители без повтора\", \n    \"groupName_zh\": \"非循环增强器\", \n    \"groupNameID\": 527203, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1895\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1895, \n    \"groupName_de\": \"Irregular-Industrieschiff\", \n    \"groupName_en-us\": \"Irregular Industrial\", \n    \"groupName_es\": \"Nave industrial irregular\", \n    \"groupName_fr\": \"Vaisseau industriel irrégulier\", \n    \"groupName_it\": \"Irregular Industrial\", \n    \"groupName_ja\": \"非正規工業\", \n    \"groupName_ko\": \"비정상적인 인더스트리얼\", \n    \"groupName_ru\": \"Необычный промышленный корабль\", \n    \"groupName_zh\": \"叛道者工业舰\", \n    \"groupNameID\": 527940, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1896\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1896, \n    \"groupName_de\": \"♦ Industrie-Kommandoschiff\", \n    \"groupName_en-us\": \"♦ Industrial Command\", \n    \"groupName_es\": \"♦ Mando de nave industrial\", \n    \"groupName_fr\": \"♦ Commandement industriel\", \n    \"groupName_it\": \"♦ Industrial Command\", \n    \"groupName_ja\": \"♦ 指揮型輸送艦\", \n    \"groupName_ko\": \"♦ 인더스트리얼 커맨드쉽\", \n    \"groupName_ru\": \"♦ Буровой корабль\", \n    \"groupName_zh\": \"♦ 工业指挥舰\", \n    \"groupNameID\": 528285, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1909\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1909, \n    \"groupName_de\": \"♦ Schlachtkreuzer\", \n    \"groupName_en-us\": \"♦ Battlecruiser\", \n    \"groupName_es\": \"♦ Crucero de combate\", \n    \"groupName_fr\": \"♦ Croiseur de bataille\", \n    \"groupName_it\": \"♦ Battlecruiser\", \n    \"groupName_ja\": \"♦ 巡洋戦艦\", \n    \"groupName_ko\": \"♦ 배틀크루저\", \n    \"groupName_ru\": \"♦ Линейный крейсер\", \n    \"groupName_zh\": \"♦ 战列巡洋舰\", \n    \"groupNameID\": 528350, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1911\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1911, \n    \"groupName_de\": \"Asteroiden des Imperiums\", \n    \"groupName_en-us\": \"Empire Asteroids\", \n    \"groupName_es\": \"Asteroides del Imperio\", \n    \"groupName_fr\": \"Astéroïdes impériaux\", \n    \"groupName_it\": \"Empire Asteroids\", \n    \"groupName_ja\": \"帝国アステロイド\", \n    \"groupName_ko\": \"국가별 소행성\", \n    \"groupName_ru\": \"Астероиды метрополии\", \n    \"groupName_zh\": \"帝国小行星\", \n    \"groupNameID\": 528621, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1912\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1912, \n    \"groupName_de\": \"Struktur - Bohranlage M - Effizienz\", \n    \"groupName_en-us\": \"Structure Drilling Rig M - Efficiency\", \n    \"groupName_es\": \"Complemento de perforación para estructuras (M): eficiencia\", \n    \"groupName_fr\": \"Optimisation de forage pour structure M – Efficience\", \n    \"groupName_it\": \"Structure Drilling Rig M - Efficiency\", \n    \"groupName_ja\": \"ストラクチャ採掘リグM - 性能\", \n    \"groupName_ko\": \"구조물 채굴 리그 M - 효율성\", \n    \"groupName_ru\": \"Буровой модификатор средних сооружений - эффективность\", \n    \"groupName_zh\": \"建筑钻探中型改装件 - 效率\", \n    \"groupNameID\": 529224, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1913\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1913, \n    \"groupName_de\": \"Struktur - Bohranlage M - Stabilität\", \n    \"groupName_en-us\": \"Structure Drilling Rig M - Stability\", \n    \"groupName_es\": \"Complemento de perforación para estructuras (M): estabilidad\", \n    \"groupName_fr\": \"Optimisation de forage pour structure M – Stabilité\", \n    \"groupName_it\": \"Structure Drilling Rig M - Stability\", \n    \"groupName_ja\": \"ストラクチャ採掘リグM - 安定性\", \n    \"groupName_ko\": \"구조물 채굴 리그 M - 안정성\", \n    \"groupName_ru\": \"Буровой модификатор средних сооружений - стабильность\", \n    \"groupName_zh\": \"建筑钻探中型改装件 - 耐久\", \n    \"groupNameID\": 529225, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1914\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1914, \n    \"groupName_de\": \"Struktur - Bohranlage L - Fertigkeit\", \n    \"groupName_en-us\": \"Structure Drilling Rig L - Proficiency\", \n    \"groupName_es\": \"Complemento de perforación para estructuras (G): competencia\", \n    \"groupName_fr\": \"Optimisation de forage pour structure L – Savoir-faire\", \n    \"groupName_it\": \"Structure Drilling Rig L - Proficiency\", \n    \"groupName_ja\": \"ストラクチャ採掘リグL - 習熟\", \n    \"groupName_ko\": \"구조물 채굴 리그 L - 숙련도\", \n    \"groupName_ru\": \"Буровой модуль больших сооружений - мастерство\", \n    \"groupName_zh\": \"建筑钻探大型改装件 - 精通\", \n    \"groupNameID\": 529230, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1915\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1915, \n    \"groupName_de\": \"Mond-Bergbausignalfeuer\", \n    \"groupName_en-us\": \"Moon Mining Beacon\", \n    \"groupName_es\": \"Baliza de minería lunar\", \n    \"groupName_fr\": \"Balise d'extraction lunaire\", \n    \"groupName_it\": \"Moon Mining Beacon\", \n    \"groupName_ja\": \"衛星採掘ビーコン\", \n    \"groupName_ko\": \"위성 채굴 비컨\", \n    \"groupName_ru\": \"Маяк лунной добычи\", \n    \"groupName_zh\": \"卫星开采信标\", \n    \"groupNameID\": 529250, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1920\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1920, \n    \"groupName_de\": \"Gewöhnliche Mondasteroiden\", \n    \"groupName_en-us\": \"Common Moon Asteroids\", \n    \"groupName_es\": \"Asteroides lunares comunes\", \n    \"groupName_fr\": \"Astéroïdes lunaires communs\", \n    \"groupName_it\": \"Common Moon Asteroids\", \n    \"groupName_ja\": \"コモン衛星アステロイド\", \n    \"groupName_ko\": \"일반 위성 조각\", \n    \"groupName_ru\": \"Обычные лунные астероиды\", \n    \"groupName_zh\": \"普通的卫星小行星\", \n    \"groupNameID\": 529385, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1921\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1921, \n    \"groupName_de\": \"Ungewöhnliche Mondasteroiden\", \n    \"groupName_en-us\": \"Uncommon Moon Asteroids\", \n    \"groupName_es\": \"Asteroides lunares inusuales\", \n    \"groupName_fr\": \"Astéroïdes lunaires sporadiques\", \n    \"groupName_it\": \"Uncommon Moon Asteroids\", \n    \"groupName_ja\": \"アンコモン衛星アステロイド\", \n    \"groupName_ko\": \"고급 위성 조각\", \n    \"groupName_ru\": \"Необычные лунные астероиды\", \n    \"groupName_zh\": \"罕见的卫星小行星\", \n    \"groupNameID\": 529386, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1922\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1922, \n    \"groupName_de\": \"Seltene Mondasteroiden\", \n    \"groupName_en-us\": \"Rare Moon Asteroids\", \n    \"groupName_es\": \"Asteroides lunares poco comunes\", \n    \"groupName_fr\": \"Astéroïdes lunaires rares\", \n    \"groupName_it\": \"Rare Moon Asteroids\", \n    \"groupName_ja\": \"レア衛星アステロイド\", \n    \"groupName_ko\": \"희귀 위성 조각\", \n    \"groupName_ru\": \"Редкие лунные астероиды\", \n    \"groupName_zh\": \"稀有的卫星小行星\", \n    \"groupNameID\": 529387, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1923\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1923, \n    \"groupName_de\": \"Außerordentliche Mondasteroiden\", \n    \"groupName_en-us\": \"Exceptional Moon Asteroids\", \n    \"groupName_es\": \"Asteroides lunares excepcionales\", \n    \"groupName_fr\": \"Astéroïdes lunaires exceptionnels\", \n    \"groupName_it\": \"Exceptional Moon Asteroids\", \n    \"groupName_ja\": \"エクセプショナル衛星アステロイド\", \n    \"groupName_ko\": \"특별 위성 조각\", \n    \"groupName_ru\": \"Исключительные лунные астероиды\", \n    \"groupName_zh\": \"非凡的卫星小行星\", \n    \"groupNameID\": 529388, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1924\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1924, \n    \"groupName_de\": \"♦ Stützpunkt\", \n    \"groupName_en-us\": \"♦ Stronghold\", \n    \"groupName_es\": \"♦ Bastión\", \n    \"groupName_fr\": \"♦ Forteresse\", \n    \"groupName_it\": \"♦ Stronghold\", \n    \"groupName_ja\": \"♦ 要塞\", \n    \"groupName_ko\": \"♦ 요새\", \n    \"groupName_ru\": \"♦ Крепость\", \n    \"groupName_zh\": \"♦要塞\", \n    \"groupNameID\": 529405, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1925\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1925, \n    \"groupName_de\": \"Irregular-Industrie-Kommandoschiff\", \n    \"groupName_en-us\": \"Irregular Industrial Command Ship\", \n    \"groupName_es\": \"Nave de mando industrial irregular\", \n    \"groupName_fr\": \"Vaisseau de commandement industriel irrégulier\", \n    \"groupName_it\": \"Irregular Industrial Command Ship\", \n    \"groupName_ja\": \"非正規指揮型輸送艦\", \n    \"groupName_ko\": \"비정상적인 인더스트리얼 커맨드쉽\", \n    \"groupName_ru\": \"Необычный промышленный командный корабль\", \n    \"groupName_zh\": \"叛道者工业指挥舰\", \n    \"groupNameID\": 529459, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1926\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1926, \n    \"groupName_de\": \"Irregular-Frachter\", \n    \"groupName_en-us\": \"Irregular Freighter\", \n    \"groupName_es\": \"Carguero irregular\", \n    \"groupName_fr\": \"Cargo irrégulier\", \n    \"groupName_it\": \"Irregular Freighter\", \n    \"groupName_ja\": \"非正規超大型輸送艦\", \n    \"groupName_ko\": \"비정상적인 프레이터\", \n    \"groupName_ru\": \"Необычный фрейтер\", \n    \"groupName_zh\": \"叛道者货舰\", \n    \"groupNameID\": 529460, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1927\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1927, \n    \"groupName_de\": \"Irregular-Struktur\", \n    \"groupName_en-us\": \"Irregular Structure\", \n    \"groupName_es\": \"Estructura irregular\", \n    \"groupName_fr\": \"Structure irrégulière\", \n    \"groupName_it\": \"Irregular Structure\", \n    \"groupName_ja\": \"非正規ストラクチャ\", \n    \"groupName_ko\": \"비정상적인 구조물\", \n    \"groupName_ru\": \"Необычное сооружение\", \n    \"groupName_zh\": \"叛道者建筑\", \n    \"groupNameID\": 529461, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1928\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1928, \n    \"groupName_de\": \"Irregular-Container\", \n    \"groupName_en-us\": \"Irregular Container\", \n    \"groupName_es\": \"Contenedor irregular\", \n    \"groupName_fr\": \"Conteneur irrégulier\", \n    \"groupName_it\": \"Irregular Container\", \n    \"groupName_ja\": \"非正規コンテナ\", \n    \"groupName_ko\": \"비정상적인 컨테이너\", \n    \"groupName_ru\": \"Необычный контейнер\", \n    \"groupName_zh\": \"叛道者货柜\", \n    \"groupNameID\": 529462, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1929\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1929, \n    \"groupName_de\": \"Irregular - Unbekannt\", \n    \"groupName_en-us\": \"Irregular - Unidentified\", \n    \"groupName_es\": \"Irregular: no identificado\", \n    \"groupName_fr\": \"Irrégulier - non identifié\", \n    \"groupName_it\": \"Irregular - Unidentified\", \n    \"groupName_ja\": \"非正規 - 不明\", \n    \"groupName_ko\": \"비정상적인 - 알 수 없음\", \n    \"groupName_ru\": \"Необычный — Не определено\", \n    \"groupName_zh\": \"叛道者 - 未识别\", \n    \"groupNameID\": 529463, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1933\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1933, \n    \"groupName_de\": \"Struktur: Komposit-Reaktoranlage M - Zeiteffizienz\", \n    \"groupName_en-us\": \"Structure Composite Reactor Rig M - TE\", \n    \"groupName_es\": \"Complemento de reactor compuesto para estructuras (M): ET\", \n    \"groupName_fr\": \"Optimisation de réacteur composite pour structure M – PH\", \n    \"groupName_it\": \"Structure Composite Reactor Rig M - TE\", \n    \"groupName_ja\": \"ストラクチャ化合物リアクターリグM - TE\", \n    \"groupName_ko\": \"구조물 복합 반응로 리그 M - 시간효율성\", \n    \"groupName_ru\": \"Надстройка для средних сооружений — композитный реактор: скорость производства\", \n    \"groupName_zh\": \"建筑复合反应堆中型改装件 - 时间效率\", \n    \"groupNameID\": 529745, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1934\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1934, \n    \"groupName_de\": \"Struktur: Komposit-Reaktoranlage M - Materialeffizienz\", \n    \"groupName_en-us\": \"Structure Composite Reactor Rig M - ME\", \n    \"groupName_es\": \"Complemento de reactor compuesto para estructuras (M): EM\", \n    \"groupName_fr\": \"Optimisation de réacteur composite pour structure M – PM\", \n    \"groupName_it\": \"Structure Composite Reactor Rig M - ME\", \n    \"groupName_ja\": \"ストラクチャ化合物リアクターリグM - ME\", \n    \"groupName_ko\": \"구조물 복합 반응로 리그 M - 자원효율성\", \n    \"groupName_ru\": \"Надстройка для средних сооружений — композитный реактор: материалоэффективность\", \n    \"groupName_zh\": \"建筑复合反应堆中型改装件 - 材料效率\", \n    \"groupNameID\": 529746, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1935\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1935, \n    \"groupName_de\": \"Struktur: Hybridreaktoranlage M - Zeiteffizienz\", \n    \"groupName_en-us\": \"Structure Hybrid Reactor Rig M - TE\", \n    \"groupName_es\": \"Complemento de reactor híbrido para estructuras (M): ET\", \n    \"groupName_fr\": \"Optimisation de réacteur hybride pour structure M – PH\", \n    \"groupName_it\": \"Structure Hybrid Reactor Rig M - TE\", \n    \"groupName_ja\": \"ストラクチャハイブリッドリアクターリグM - TE\", \n    \"groupName_ko\": \"구조물 하이브리드 반응로 리그 M - 시간효율성\", \n    \"groupName_ru\": \"Надстройка для средних сооружений — гибридный реактор: скорость производства\", \n    \"groupName_zh\": \"建筑混合反应堆中型改装件 - 时间效率\", \n    \"groupNameID\": 529747, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1936\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1936, \n    \"groupName_de\": \"Struktur: Hybridreaktoranlage M - Materialeffizienz\", \n    \"groupName_en-us\": \"Structure Hybrid Reactor Rig M - ME\", \n    \"groupName_es\": \"Complemento de reactor híbrido para estructuras (M): EM\", \n    \"groupName_fr\": \"Optimisation de réacteur hybride pour structure M – PM\", \n    \"groupName_it\": \"Structure Hybrid Reactor Rig M - ME\", \n    \"groupName_ja\": \"ストラクチャハイブリッドリアクターリグM - ME\", \n    \"groupName_ko\": \"구조물 하이브리드 반응로 리그 M - 자원효율성\", \n    \"groupName_ru\": \"Надстройка для средних сооружений — гибридный реактор: материалоэффективность\", \n    \"groupName_zh\": \"建筑混合反应堆中型改装件 - 材料效率\", \n    \"groupNameID\": 529748, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1937\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1937, \n    \"groupName_de\": \"Struktur: Biochemische Reaktoranlage M - Zeiteffizienz\", \n    \"groupName_en-us\": \"Structure Biochemical Reactor Rig M - TE\", \n    \"groupName_es\": \"Complemento de reactor bioquímico para estructuras (M): ET\", \n    \"groupName_fr\": \"Optimisation de réacteur biochimique pour structure M – PH\", \n    \"groupName_it\": \"Structure Biochemical Reactor Rig M - TE\", \n    \"groupName_ja\": \"ストラクチャ有機化合リアクターリグM - TE\", \n    \"groupName_ko\": \"구조물 생화학 반응로 리그 M - 시간효율성\", \n    \"groupName_ru\": \"Надстройка для средних сооружений — биохимический реактор: скорость производства\", \n    \"groupName_zh\": \"建筑生化反应堆中型改装件 - 时间效率\", \n    \"groupNameID\": 529749, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1938\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1938, \n    \"groupName_de\": \"Struktur: Biochemische Reaktoranlage M - Materialeffizienz\", \n    \"groupName_en-us\": \"Structure Biochemical Reactor Rig M - ME\", \n    \"groupName_es\": \"Complemento de reactor bioquímico para estructuras (M): EM\", \n    \"groupName_fr\": \"Optimisation de réacteur biochimique pour structure M – PM\", \n    \"groupName_it\": \"Structure Biochemical Reactor Rig M - ME\", \n    \"groupName_ja\": \"ストラクチャ有機化合リアクターリグM - ME\", \n    \"groupName_ko\": \"구조물 생화학 반응로 리그 M - 자원효율성\", \n    \"groupName_ru\": \"Надстройка для средних сооружений — биохимический реактор: материалоэффективность\", \n    \"groupName_zh\": \"建筑生化反应堆中型改装件 - 材料效率\", \n    \"groupNameID\": 529750, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1939\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1939, \n    \"groupName_de\": \"Struktur: Reaktoranlage L - Effizienz\", \n    \"groupName_en-us\": \"Structure Reactor Rig L - Efficiency\", \n    \"groupName_es\": \"Complemento de reactor para estructuras (G): competencia\", \n    \"groupName_fr\": \"Optimisation de réacteur pour structure L – Efficacité industrielle\", \n    \"groupName_it\": \"Structure Reactor Rig L - Efficiency\", \n    \"groupName_ja\": \"ストラクチャリアクターリグL - 性能\", \n    \"groupName_ko\": \"구조물 반응로 리그 L - 효율성\", \n    \"groupName_ru\": \"Надстройка для больших сооружений — реактор: эффективность\", \n    \"groupName_zh\": \"建筑反应堆大型改装件 - 效率\", \n    \"groupNameID\": 529751, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1940\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1940, \n    \"groupName_de\": \"Mondbrocken\", \n    \"groupName_en-us\": \"Moon Chunk\", \n    \"groupName_es\": \"Fragmento lunar\", \n    \"groupName_fr\": \"Monolithe de lune\", \n    \"groupName_it\": \"Moon Chunk\", \n    \"groupName_ja\": \"衛星の岩塊\", \n    \"groupName_ko\": \"위성 파편\", \n    \"groupName_ru\": \"Порода спутника\", \n    \"groupName_zh\": \"卫星区块\", \n    \"groupNameID\": 529956, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1941\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1941, \n    \"groupName_de\": \"Struktur: Ressourcenmodifikation M - Asteroidenerzaufbereitung\", \n    \"groupName_en-us\": \"Structure Resource Rig M - Asteroid Ore Reprocessing\", \n    \"groupName_es\": \"Complemento de recurso para estructuras (M): reprocesamiento de mena asteroidal\", \n    \"groupName_fr\": \"Optimisation des ressources pour structure M – Retraitement des minerais astéroïdaux\", \n    \"groupName_it\": \"Structure Resource Rig M - Asteroid Ore Reprocessing\", \n    \"groupName_ja\": \"ストラクチャリソースリグM - アステロイド鉱石再処理\", \n    \"groupName_ko\": \"구조물 자원 리그 M - 소행성 광물 정제\", \n    \"groupName_ru\": \"Надстройка для средних сооружений — переработка руды со спутников\", \n    \"groupName_zh\": \"建筑资源中型改装件 - 小行星矿石提炼\", \n    \"groupNameID\": 530204, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1942\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1942, \n    \"groupName_de\": \"Struktur: Ressourcenmodifikation M - Eisaufbereitung\", \n    \"groupName_en-us\": \"Structure Resource Rig M - Ice Reprocessing\", \n    \"groupName_es\": \"Complemento de recurso para estructuras (M): reprocesamiento de hielo\", \n    \"groupName_fr\": \"Optimisation des ressources pour structure M – Retraitement de la glace\", \n    \"groupName_it\": \"Structure Resource Rig M - Ice Reprocessing\", \n    \"groupName_ja\": \"ストラクチャリソースリグM - アイス再処理\", \n    \"groupName_ko\": \"구조물 자원 리그 M - 아이스 정제\", \n    \"groupName_ru\": \"Надстройка для средних сооружений — переработка льда\", \n    \"groupName_zh\": \"建筑资源中型改装件 - 冰矿提炼\", \n    \"groupNameID\": 530205, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1943\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1943, \n    \"groupName_de\": \"Struktur: Ressourcenmodifikation M - Monderzaufbereitung\", \n    \"groupName_en-us\": \"Structure Resource Rig M - Moon Ore Reprocessing\", \n    \"groupName_es\": \"Complemento de recurso para estructuras (M): reprocesamiento de mena lunar\", \n    \"groupName_fr\": \"Optimisation des ressources pour structure M – Retraitement des minerais lunaires\", \n    \"groupName_it\": \"Structure Resource Rig M - Moon Ore Reprocessing\", \n    \"groupName_ja\": \"ストラクチャリソースリグM - 衛星鉱石再処理\", \n    \"groupName_ko\": \"구조물 자원 리그 M - 위성 광물 정제\", \n    \"groupName_ru\": \"Надстройка для средних сооружений — переработка руды с астероидов\", \n    \"groupName_zh\": \"建筑资源中型改装件 - 卫星矿石提炼\", \n    \"groupNameID\": 530206, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1944\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1944, \n    \"groupName_de\": \"Struktur: Ressourcenmodifikation L - Aufbereitung\", \n    \"groupName_en-us\": \"Structure Resource Rig L - Reprocessing\", \n    \"groupName_es\": \"Complemento de recurso para estructuras (G): reprocesamiento\", \n    \"groupName_fr\": \"Optimisation des ressources pour structure L – Retraitement\", \n    \"groupName_it\": \"Structure Resource Rig L - Reprocessing\", \n    \"groupName_ja\": \"ストラクチャリソースリグL - 再処理\", \n    \"groupName_ko\": \"구조물 자원 리그 L - 정제\", \n    \"groupName_ru\": \"Надстройка для больших сооружений — переработка ресурсов\", \n    \"groupName_zh\": \"建筑资源大型改装件 - 提炼\", \n    \"groupNameID\": 530207, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1945\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1945, \n    \"groupName_de\": \"Struktur: Ressourcenmodifikation XL - Aufbereitung\", \n    \"groupName_en-us\": \"Structure Resource Rig XL - Reprocessing\", \n    \"groupName_es\": \"Complemento de recurso para estructuras (XL): reprocesamiento\", \n    \"groupName_fr\": \"Optimisation des ressources pour structure XL – Retraitement\", \n    \"groupName_it\": \"Structure Resource Rig XL - Reprocessing\", \n    \"groupName_ja\": \"ストラクチャリソースリグXL - 再処理\", \n    \"groupName_ko\": \"구조물 자원 리그 XL - 정제\", \n    \"groupName_ru\": \"Тюнинг-модуль переработки, сверхбольшие сооружения - переработка\", \n    \"groupName_zh\": \"建筑资源超大型改装件 - 提炼\", \n    \"groupNameID\": 530208, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1948\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1948, \n    \"groupName_de\": \"Blaupausen für Cyberscanimplantate\", \n    \"groupName_en-us\": \"Cyber Scanning Implant Blueprints\", \n    \"groupName_es\": \"Planos de ciberimplantes de escaneo\", \n    \"groupName_fr\": \"Plans de construction Implant de cyberscan\", \n    \"groupName_it\": \"Cyber Scanning Implant Blueprints\", \n    \"groupName_ja\": \"サイバースキャン・インプラント設計図\", \n    \"groupName_ko\": \"사이버 스캐닝 임플란트 블루프린트\", \n    \"groupName_ru\": \"Чертежи кибернетического сканер-импланта\", \n    \"groupName_zh\": \"脑控扫描植入体蓝图\", \n    \"groupNameID\": 531101, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1950\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 91, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1950, \n    \"groupName_de\": \"Permanenter SKIN\", \n    \"groupName_en-us\": \"Permanent SKIN\", \n    \"groupName_es\": \"SKIN permanente\", \n    \"groupName_fr\": \"SKIN permanent\", \n    \"groupName_it\": \"Permanent SKIN\", \n    \"groupName_ja\": \"永続SKIN\", \n    \"groupName_ko\": \"무기한 SKIN\", \n    \"groupName_ru\": \"Бессрочный шаблон\", \n    \"groupName_zh\": \"永久涂装\", \n    \"groupNameID\": 531346, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1951\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 91, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1951, \n    \"groupName_de\": \"Vergänglicher SKIN\", \n    \"groupName_en-us\": \"Volatile SKIN\", \n    \"groupName_es\": \"SKIN volátil\", \n    \"groupName_fr\": \"SKIN volatile\", \n    \"groupName_it\": \"Volatile SKIN\", \n    \"groupName_ja\": \"揮発性SKIN\", \n    \"groupName_ko\": \"일회용 SKIN\", \n    \"groupName_ru\": \"Хрупкий шаблон\", \n    \"groupName_zh\": \"不稳定的涂装\", \n    \"groupNameID\": 531348, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1952\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 91, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1952, \n    \"groupName_de\": \"SKIN 7 Tage\", \n    \"groupName_en-us\": \"7-Day SKIN\", \n    \"groupName_es\": \"SKIN de 7 días\", \n    \"groupName_fr\": \"SKIN de 7 jours\", \n    \"groupName_it\": \"7-Day SKIN\", \n    \"groupName_ja\": \"7日間SKIN\", \n    \"groupName_ko\": \"SKIN (7일)\", \n    \"groupName_ru\": \"7-дневный шаблон\", \n    \"groupName_zh\": \"7天涂装\", \n    \"groupNameID\": 531349, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1953\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 91, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1953, \n    \"groupName_de\": \"SKIN 30 Tage\", \n    \"groupName_en-us\": \"30-Day SKIN\", \n    \"groupName_es\": \"SKIN de 30 días\", \n    \"groupName_fr\": \"SKIN de 30 jours\", \n    \"groupName_it\": \"30-Day SKIN\", \n    \"groupName_ja\": \"30日間SKIN\", \n    \"groupName_ko\": \"SKIN (30일)\", \n    \"groupName_ru\": \"30-дневный шаблон\", \n    \"groupName_zh\": \"30天涂装\", \n    \"groupNameID\": 531350, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1954\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 91, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1954, \n    \"groupName_de\": \"SKIN 90 Tage\", \n    \"groupName_en-us\": \"90-Day SKIN\", \n    \"groupName_es\": \"SKIN de 90 días\", \n    \"groupName_fr\": \"SKIN de 90 jours\", \n    \"groupName_it\": \"90-Day SKIN\", \n    \"groupName_ja\": \"90日間SKIN\", \n    \"groupName_ko\": \"SKIN (90일)\", \n    \"groupName_ru\": \"90-дневный шаблон\", \n    \"groupName_zh\": \"90天涂装\", \n    \"groupNameID\": 531351, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1955\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 91, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1955, \n    \"groupName_de\": \"SKIN 1 Jahr\", \n    \"groupName_en-us\": \"1-Year SKIN\", \n    \"groupName_es\": \"SKIN de 1 año\", \n    \"groupName_fr\": \"SKIN de 1 an\", \n    \"groupName_it\": \"1-Year SKIN\", \n    \"groupName_ja\": \"1年間SKIN\", \n    \"groupName_ko\": \"SKIN (1년)\", \n    \"groupName_ru\": \"Годовой шаблон\", \n    \"groupName_zh\": \"1年涂装\", \n    \"groupNameID\": 531352, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1956\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1956, \n    \"groupName_de\": \"Drifter-Verstärkung\", \n    \"groupName_en-us\": \"Drifter Reinforcements\", \n    \"groupName_es\": \"Refuerzos de drifter\", \n    \"groupName_fr\": \"Renforcements drifter\", \n    \"groupName_it\": \"Drifter Reinforcements\", \n    \"groupName_ja\": \"ドリフター援軍\", \n    \"groupName_ko\": \"드리프터 지원군\", \n    \"groupName_ru\": \"Укрепления Скитальцев\", \n    \"groupName_zh\": \"流浪者增援部队\", \n    \"groupNameID\": 531454, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1962\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1962, \n    \"groupName_de\": \"Struktur-QA-Module\", \n    \"groupName_en-us\": \"Structure QA Modules\", \n    \"groupName_es\": \"Módulos de control de calidad para estructuras\", \n    \"groupName_fr\": \"Modules de structure QA\", \n    \"groupName_it\": \"Structure QA Modules\", \n    \"groupName_ja\": \"ストラクチャQAモジュール\", \n    \"groupName_ko\": \"구조물 QA 모듈\", \n    \"groupName_ru\": \"Structure QA Modules\", \n    \"groupName_zh\": \"建筑QA装备\", \n    \"groupNameID\": 532364, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1964\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1964, \n    \"groupName_de\": \"Mutaplasmide\", \n    \"groupName_en-us\": \"Mutaplasmids\", \n    \"groupName_es\": \"Mutaplásmidos\", \n    \"groupName_fr\": \"Mutaplasmides\", \n    \"groupName_it\": \"Mutaplasmids\", \n    \"groupName_ja\": \"変異プラスミド\", \n    \"groupName_ko\": \"뮤타플라즈미드\", \n    \"groupName_ru\": \"Мутаплазмиды\", \n    \"groupName_zh\": \"突变质体\", \n    \"groupNameID\": 532367, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1966\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1966, \n    \"groupName_de\": \"Struktur: Energiespeicher-Batterie\", \n    \"groupName_en-us\": \"Structure Capacitor Battery\", \n    \"groupName_es\": \"Batería de condensador para estructuras\", \n    \"groupName_fr\": \"Batterie de capaciteur pour structure\", \n    \"groupName_it\": \"Structure Capacitor Battery\", \n    \"groupName_ja\": \"ストラクチャ・キャパシタバッテリー\", \n    \"groupName_ko\": \"구조물 캐패시터 배터리\", \n    \"groupName_ru\": \"Накопительная батарея для сооружений\", \n    \"groupName_zh\": \"建筑电容电池\", \n    \"groupNameID\": 532473, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1967\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1967, \n    \"groupName_de\": \"Struktur: Energiespeicher-Stromrelais\", \n    \"groupName_en-us\": \"Structure Capacitor Power Relay\", \n    \"groupName_es\": \"Relé de potencia de condensador para estructuras\", \n    \"groupName_fr\": \"Relais de puissance du capaciteur pour structure\", \n    \"groupName_it\": \"Structure Capacitor Power Relay\", \n    \"groupName_ja\": \"ストラクチャ・キャパシタパワーリレー\", \n    \"groupName_ko\": \"구조물 캐패시터 릴레이\", \n    \"groupName_ru\": \"Силовые реле накопителя для сооружений\", \n    \"groupName_zh\": \"建筑电容能源继电器\", \n    \"groupNameID\": 532474, \n    \"iconID\": 26455, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1968\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1968, \n    \"groupName_de\": \"Struktur: Panzerungsverstärker\", \n    \"groupName_en-us\": \"Structure Armor Reinforcer\", \n    \"groupName_es\": \"Reforzador de blindaje para estructuras\", \n    \"groupName_fr\": \"Renforçateur de blindage pour structure\", \n    \"groupName_it\": \"Structure Armor Reinforcer\", \n    \"groupName_ja\": \"ストラクチャ・アーマーレインフォーサー\", \n    \"groupName_ko\": \"구조물 장갑 강화기\", \n    \"groupName_ru\": \"Усилитель брони для сооружений\", \n    \"groupName_zh\": \"建筑装甲强化装置\", \n    \"groupNameID\": 532475, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1969\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1969, \n    \"groupName_de\": \"Abgrundmodule\", \n    \"groupName_en-us\": \"Abyssal Modules\", \n    \"groupName_es\": \"Módulos abisales\", \n    \"groupName_fr\": \"Modules abyssaux\", \n    \"groupName_it\": \"Abyssal Modules\", \n    \"groupName_ja\": \"アビサルモジュール\", \n    \"groupName_ko\": \"어비설 모듈\", \n    \"groupName_ru\": \"Модули Бездны\", \n    \"groupName_zh\": \"深渊装备\", \n    \"groupNameID\": 532741, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1971\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1971, \n    \"groupName_de\": \"Gefahren des Abgrunds\", \n    \"groupName_en-us\": \"Abyssal Hazards\", \n    \"groupName_es\": \"Peligros abisales\", \n    \"groupName_fr\": \"Dangers abyssaux\", \n    \"groupName_it\": \"Abyssal Hazards\", \n    \"groupName_ja\": \"アビサルハザード\", \n    \"groupName_ko\": \"어비설 위험 요소\", \n    \"groupName_ru\": \"Опасности бездны\", \n    \"groupName_zh\": \"深渊危险效果\", \n    \"groupNameID\": 532779, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1972\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1972, \n    \"groupName_de\": \"Flaggenkreuzer\", \n    \"groupName_en-us\": \"Flag Cruiser\", \n    \"groupName_es\": \"Crucero insignia\", \n    \"groupName_fr\": \"Croiseur amiral\", \n    \"groupName_it\": \"Flag Cruiser\", \n    \"groupName_ja\": \"指揮巡洋艦\", \n    \"groupName_ko\": \"플래그 크루저\", \n    \"groupName_ru\": \"Флагманский крейсер\", \n    \"groupName_zh\": \"战地巡洋舰\", \n    \"groupNameID\": 532793, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1973\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1973, \n    \"groupName_de\": \"Locators\", \n    \"groupName_en-us\": \"Locators\", \n    \"groupName_es\": \"Localizador\", \n    \"groupName_fr\": \"Localisateurs\", \n    \"groupName_it\": \"Locators\", \n    \"groupName_ja\": \"位置探知\", \n    \"groupName_ko\": \"위치표시기\", \n    \"groupName_ru\": \"Локаторы\", \n    \"groupName_zh\": \"定位器\", \n    \"groupNameID\": 532858, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1974\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1974, \n    \"groupName_de\": \"Struktur-Festivalwerfer\", \n    \"groupName_en-us\": \"Structure Festival Launcher\", \n    \"groupName_es\": \"Lanzador festivalero para estructuras\", \n    \"groupName_fr\": \"Lanceur de festival pour structure\", \n    \"groupName_it\": \"Structure Festival Launcher\", \n    \"groupName_ja\": \"ストラクチャ・フェスティバルランチャー\", \n    \"groupName_ko\": \"구조물 축제용 런처\", \n    \"groupName_ru\": \"Салютная ПУ для сооружений\", \n    \"groupName_zh\": \"建筑节日发射器\", \n    \"groupNameID\": 532880, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1975\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1975, \n    \"groupName_de\": \"Nicht interagierbares Objekt\", \n    \"groupName_en-us\": \"Non-Interactable Object\", \n    \"groupName_es\": \"Objeto no interactivo\", \n    \"groupName_fr\": \"Objet non interactif\", \n    \"groupName_it\": \"Non-Interactable Object\", \n    \"groupName_ja\": \"非相互オブジェクト\", \n    \"groupName_ko\": \"상호작용 불가 오브젝트\", \n    \"groupName_ru\": \"Неинтерактивный объект\", \n    \"groupName_zh\": \"不可交互物品\", \n    \"groupNameID\": 532897, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1976\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 1976, \n    \"groupName_de\": \"Struktur-Festivalladungen\", \n    \"groupName_en-us\": \"Structure Festival Charges\", \n    \"groupName_es\": \"Cargas de festival para estructura\", \n    \"groupName_fr\": \"Charges de festival pour structure\", \n    \"groupName_it\": \"Structure Festival Charges\", \n    \"groupName_ja\": \"ストラクチャ・フェスティバル弾\", \n    \"groupName_ko\": \"구조물 축제용 차지\", \n    \"groupName_ru\": \"Салютные снаряды для сооружений\", \n    \"groupName_zh\": \"建筑节日弹药\", \n    \"groupNameID\": 533138, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1977\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1977, \n    \"groupName_de\": \"Trinärer Datentresor\", \n    \"groupName_en-us\": \"Trinary Data Vaults\", \n    \"groupName_es\": \"Depósitos de datos trinarios\", \n    \"groupName_fr\": \"Coffres-forts de données trinaires\", \n    \"groupName_it\": \"Trinary Data Vaults\", \n    \"groupName_ja\": \"トライナリーデータ金庫\", \n    \"groupName_ko\": \"트라이너리 데이터 저장장치\", \n    \"groupName_ru\": \"Тринарные хранилища данных\", \n    \"groupName_zh\": \"三重数据仓库\", \n    \"groupNameID\": 533608, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1978\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1978, \n    \"groupName_de\": \"Industrie-Unterstützungsanlage\", \n    \"groupName_en-us\": \"Industrial Support Facility\", \n    \"groupName_es\": \"Centro de apoyo industrial\", \n    \"groupName_fr\": \"Site de maintenance de l'industrie\", \n    \"groupName_it\": \"Industrial Support Facility\", \n    \"groupName_ja\": \"工業サポート施設\", \n    \"groupName_ko\": \"산업 지원 시설\", \n    \"groupName_ru\": \"Центр промышленной поддержки\", \n    \"groupName_zh\": \"工业后勤设施\", \n    \"groupNameID\": 534589, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1979\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1979, \n    \"groupName_de\": \"Abgrundfilamente\", \n    \"groupName_en-us\": \"Abyssal Filaments\", \n    \"groupName_es\": \"Filamentos abisales\", \n    \"groupName_fr\": \"Filaments abyssaux\", \n    \"groupName_it\": \"Abyssal Filaments\", \n    \"groupName_ja\": \"アビサルフィラメント\", \n    \"groupName_ko\": \"어비설 필라멘트\", \n    \"groupName_ru\": \"Нити бездны\", \n    \"groupName_zh\": \"深渊纤维\", \n    \"groupNameID\": 534967, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1980\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1980, \n    \"groupName_de\": \"Nicht skalierbare Wolken\", \n    \"groupName_en-us\": \"Non-Scalable Clouds\", \n    \"groupName_es\": \"Nubes no escalables\", \n    \"groupName_fr\": \"Nuages non-extensibles\", \n    \"groupName_it\": \"Non-Scalable Clouds\", \n    \"groupName_ja\": \"非スケーラブル雲\", \n    \"groupName_ko\": \"크기 조정이 불가능한 성운\", \n    \"groupName_ru\": \"Немасштабируемые облака\", \n    \"groupName_zh\": \"不可测量气云\", \n    \"groupNameID\": 534978, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1981\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1981, \n    \"groupName_de\": \"Triglavianische Unterstützungsmasten\", \n    \"groupName_en-us\": \"Triglavian Support Pylons\", \n    \"groupName_es\": \"Pilones de apoyo triglavianos\", \n    \"groupName_fr\": \"Pylônes de soutien triglavian\", \n    \"groupName_it\": \"Triglavian Support Pylons\", \n    \"groupName_ja\": \"トリグラビアン・サポートパイロン\", \n    \"groupName_ko\": \"트리글라비안 지원형 파일론\", \n    \"groupName_ru\": \"Пилоны поддержки Триглава\", \n    \"groupName_zh\": \"三神裔后勤塔\", \n    \"groupNameID\": 535050, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1982\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1982, \n    \"groupName_de\": \"Abgrundraumschiffeinheiten\", \n    \"groupName_en-us\": \"Abyssal Spaceship Entities\", \n    \"groupName_es\": \"Entidades de nave espacial abisal\", \n    \"groupName_fr\": \"Entités-vaisseaux abyssales\", \n    \"groupName_it\": \"Abyssal Spaceship Entities\", \n    \"groupName_ja\": \"アビサル宇宙船エンティティ\", \n    \"groupName_ko\": \"어비설 우주선 객체\", \n    \"groupName_ru\": \"Корабли бездны\", \n    \"groupName_zh\": \"深渊舰船实体\", \n    \"groupNameID\": 535182, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1983\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1983, \n    \"groupName_de\": \"Abgrundumgebung\", \n    \"groupName_en-us\": \"Abyssal Environment\", \n    \"groupName_es\": \"Ambiente abisal\", \n    \"groupName_fr\": \"Environnement abyssal\", \n    \"groupName_it\": \"Abyssal Environment\", \n    \"groupName_ja\": \"アビサル環境\", \n    \"groupName_ko\": \"어비설 환경\", \n    \"groupName_ru\": \"Пространство бездны\", \n    \"groupName_zh\": \"深渊环境\", \n    \"groupNameID\": 535250, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1984\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1984, \n    \"groupName_de\": \"Outpost Conversion Rigs\", \n    \"groupName_en-us\": \"Outpost Conversion Rigs\", \n    \"groupName_es\": \"Complementos de conversión de puesto avanzado\", \n    \"groupName_fr\": \"Optimisations de conversion d'avant-poste\", \n    \"groupName_it\": \"Outpost Conversion Rigs\", \n    \"groupName_ja\": \"アウトポスト変換リグ\", \n    \"groupName_ko\": \"전초기지 개조 리그\", \n    \"groupName_ru\": \"Надстройки для конверсии форпоста\", \n    \"groupName_zh\": \"哨站转化改装件\", \n    \"groupNameID\": 535351, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1986\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1986, \n    \"groupName_de\": \"Precursor-Waffe\", \n    \"groupName_en-us\": \"Precursor Weapon\", \n    \"groupName_es\": \"Arma precursora\", \n    \"groupName_fr\": \"Arme de précursion\", \n    \"groupName_it\": \"Precursor Weapon\", \n    \"groupName_ja\": \"プリカーサー兵器\", \n    \"groupName_ko\": \"프리커서 무기\", \n    \"groupName_ru\": \"Оружие Предтечей\", \n    \"groupName_zh\": \"先驱者武器\", \n    \"groupNameID\": 535357, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1987\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1987, \n    \"groupName_de\": \"Exotische Plasmaladung\", \n    \"groupName_en-us\": \"Exotic Plasma Charge\", \n    \"groupName_es\": \"Carga de plasma exótico\", \n    \"groupName_fr\": \"Charge à plasma exotique\", \n    \"groupName_it\": \"Exotic Plasma Charge\", \n    \"groupName_ja\": \"エキゾチックプラズマチャージ\", \n    \"groupName_ko\": \"엑조틱 플라즈마 차지\", \n    \"groupName_ru\": \"Заряд экзотической плазмы\", \n    \"groupName_zh\": \"异种等离子弹药\", \n    \"groupNameID\": 535358, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1988\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1988, \n    \"groupName_de\": \"Entropischer Strahlungskühler\", \n    \"groupName_en-us\": \"Entropic Radiation Sink\", \n    \"groupName_es\": \"Disipador de radiación entrópica\", \n    \"groupName_fr\": \"Dissipateur de radiations entropiques\", \n    \"groupName_it\": \"Entropic Radiation Sink\", \n    \"groupName_ja\": \"エントロピック放射線シンク\", \n    \"groupName_ko\": \"엔트로픽 방사능 싱크\", \n    \"groupName_ru\": \"Поглотитель энтропического излучения\", \n    \"groupName_zh\": \"熵辐射槽\", \n    \"groupNameID\": 535393, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1989\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1989, \n    \"groupName_de\": \"Fortgeschrittene exotische Plasmaladung\", \n    \"groupName_en-us\": \"Advanced Exotic Plasma Charge\", \n    \"groupName_es\": \"Carga avanzada de plasma exótico\", \n    \"groupName_fr\": \"Charge à plasma exotique avancée\", \n    \"groupName_it\": \"Advanced Exotic Plasma Charge\", \n    \"groupName_ja\": \"高性能エキゾチックプラズマチャージ\", \n    \"groupName_ko\": \"상급 엑조틱 플라즈마 차지\", \n    \"groupName_ru\": \"Улучшенный заряд экзотической плазмы\", \n    \"groupName_zh\": \"高级异种等离子弹药\", \n    \"groupNameID\": 535425, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1990\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1990, \n    \"groupName_de\": \"Blaupause für Precursor-Waffen\", \n    \"groupName_en-us\": \"Precursor Weapon Blueprint\", \n    \"groupName_es\": \"Plano de arma precursora\", \n    \"groupName_fr\": \"Plan de construction Arme de précursion\", \n    \"groupName_it\": \"Precursor Weapon Blueprint\", \n    \"groupName_ja\": \"プリカーサー兵器設計図\", \n    \"groupName_ko\": \"프리커서 무기 블루프린트\", \n    \"groupName_ru\": \"Чертёж оружия Предтечей\", \n    \"groupName_zh\": \"先驱者武器蓝图\", \n    \"groupNameID\": 535694, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1991\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1991, \n    \"groupName_de\": \"Filamentspur\", \n    \"groupName_en-us\": \"Filament Trace\", \n    \"groupName_es\": \"Rastro de filamento\", \n    \"groupName_fr\": \"Trace de filament\", \n    \"groupName_it\": \"Filament Trace\", \n    \"groupName_ja\": \"フィラメントの痕跡\", \n    \"groupName_ko\": \"필라멘트 흔적\", \n    \"groupName_ru\": \"След нити\", \n    \"groupName_zh\": \"纤维痕迹\", \n    \"groupNameID\": 536427, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1992\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1992, \n    \"groupName_de\": \"Blaupause für entropische Strahlungskühler\", \n    \"groupName_en-us\": \"Entropic Radiation Sink Blueprint\", \n    \"groupName_es\": \"Plano de disipador de radiación entrópica\", \n    \"groupName_fr\": \"Plan de construction Dissipateur de radiations entropiques\", \n    \"groupName_it\": \"Entropic Radiation Sink Blueprint\", \n    \"groupName_ja\": \"エントロピックレディエーション・シンク設計図\", \n    \"groupName_ko\": \"엔트로픽 방사능 싱크 블루프린트\", \n    \"groupName_ru\": \"Чертёж поглотителя энтропического излучения\", \n    \"groupName_zh\": \"熵辐射槽蓝图\", \n    \"groupNameID\": 536430, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1993\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1993, \n    \"groupName_de\": \"Blaupause für exotische Plasmaladungen\", \n    \"groupName_en-us\": \"Exotic Plasma Charge Blueprint\", \n    \"groupName_es\": \"Plano de carga de plasma exótico\", \n    \"groupName_fr\": \"Plan de construction Charge à plasma exotique\", \n    \"groupName_it\": \"Exotic Plasma Charge Blueprint\", \n    \"groupName_ja\": \"エキゾチックプラズマチャージ設計図\", \n    \"groupName_ko\": \"엑조틱 플라즈마 차지 블루프린트\", \n    \"groupName_ru\": \"Чертёж заряда экзотической плазмы\", \n    \"groupName_zh\": \"异种等离子弹药蓝图\", \n    \"groupNameID\": 536432, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1994\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1994, \n    \"groupName_de\": \"Blaupause für fortgeschrittene exotische Plasmaladungen\", \n    \"groupName_en-us\": \"Advanced Exotic Plasma Charge Blueprint\", \n    \"groupName_es\": \"Plano de carga de plasma exótico avanzada\", \n    \"groupName_fr\": \"Plan de construction Charge à plasma exotique avancée\", \n    \"groupName_it\": \"Advanced Exotic Plasma Charge Blueprint\", \n    \"groupName_ja\": \"高性能エキゾチックプラズマチャージ設計図\", \n    \"groupName_ko\": \"상급 엑조틱 플라즈마 차지 블루프린트\", \n    \"groupName_ru\": \"Чертёж улучшенного заряда экзотической плазмы\", \n    \"groupName_zh\": \"高级异种等离子弹药蓝图\", \n    \"groupNameID\": 536433, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1995\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1995, \n    \"groupName_de\": \"Triglavianische Daten\", \n    \"groupName_en-us\": \"Triglavian Data\", \n    \"groupName_es\": \"Datos triglavianos\", \n    \"groupName_fr\": \"Données triglavian\", \n    \"groupName_it\": \"Triglavian Data\", \n    \"groupName_ja\": \"トリグラビアンデータ\", \n    \"groupName_ko\": \"트리글라비안 데이터\", \n    \"groupName_ru\": \"Сведения о Триглаве\", \n    \"groupName_zh\": \"三神裔数据\", \n    \"groupNameID\": 536625, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"1996\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1996, \n    \"groupName_de\": \"Materialien des Abgrunds\", \n    \"groupName_en-us\": \"Abyssal Materials\", \n    \"groupName_es\": \"Materiales abisales\", \n    \"groupName_fr\": \"Matériaux abyssaux\", \n    \"groupName_it\": \"Abyssal Materials\", \n    \"groupName_ja\": \"アビサル資源\", \n    \"groupName_ko\": \"어비설 자원\", \n    \"groupName_ru\": \"Материалы бездны\", \n    \"groupName_zh\": \"深渊材料\", \n    \"groupNameID\": 536626, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"1997\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1997, \n    \"groupName_de\": \"Abgrunddrohneneinheiten\", \n    \"groupName_en-us\": \"Abyssal Drone Entities\", \n    \"groupName_es\": \"Entidades de drones abisales\", \n    \"groupName_fr\": \"Entités-drones abyssales\", \n    \"groupName_it\": \"Abyssal Drone Entities\", \n    \"groupName_ja\": \"アビサルドローンエンティティ\", \n    \"groupName_ko\": \"어비설 드론 객체\", \n    \"groupName_ru\": \"Дроны бездны\", \n    \"groupName_zh\": \"深渊无人机实体\", \n    \"groupNameID\": 536644, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"1998\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 1998, \n    \"groupName_de\": \"Denkmäler für Stationsumwandlungen\", \n    \"groupName_en-us\": \"Station Conversion Monuments\", \n    \"groupName_es\": \"Monumentos de transformación de estación\", \n    \"groupName_fr\": \"Monuments de conversion de station\", \n    \"groupName_it\": \"Station Conversion Monuments\", \n    \"groupName_ja\": \"ステーション変換記念碑\", \n    \"groupName_ko\": \"정거장 전환 기념비\", \n    \"groupName_ru\": \"Монументы преобразования станций\", \n    \"groupName_zh\": \"空间站转换纪念碑\", \n    \"groupNameID\": 537031, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"2001\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2001, \n    \"groupName_de\": \"Citizen-Schiffe\", \n    \"groupName_en-us\": \"Citizen Ships\", \n    \"groupName_es\": \"Naves civiles\", \n    \"groupName_fr\": \"Vaisseaux civils\", \n    \"groupName_it\": \"Citizen Ships\", \n    \"groupName_ja\": \"市民用艦船\", \n    \"groupName_ko\": \"민수용 함선\", \n    \"groupName_ru\": \"Гражданские корабли\", \n    \"groupName_zh\": \"公民舰船\", \n    \"groupNameID\": 539344, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"2002\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2002, \n    \"groupName_de\": \"Triglavia-Datenströme\", \n    \"groupName_en-us\": \"Triglavian Datastreams\", \n    \"groupName_es\": \"Flujo de datos triglavianos\", \n    \"groupName_fr\": \"Flux de données triglavian\", \n    \"groupName_it\": \"Triglavian Datastreams\", \n    \"groupName_ja\": \"トリグラビアン・データストリーム\", \n    \"groupName_ko\": \"트리글라비안 데이터스트림\", \n    \"groupName_ru\": \"Потоки данных Триглава\", \n    \"groupName_zh\": \"三神裔数据流\", \n    \"groupNameID\": 540058, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"2003\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2003, \n    \"groupName_de\": \"Citizen-Module\", \n    \"groupName_en-us\": \"Citizen Modules\", \n    \"groupName_es\": \"Módulos civiles\", \n    \"groupName_fr\": \"Modules civils\", \n    \"groupName_it\": \"Citizen Modules\", \n    \"groupName_ja\": \"市民用モジュール\", \n    \"groupName_ko\": \"민수용 모듈\", \n    \"groupName_ru\": \"Гражданские модули\", \n    \"groupName_zh\": \"公民装备\", \n    \"groupNameID\": 540203, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"2004\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2004, \n    \"groupName_de\": \"Citizen Mining Laser\", \n    \"groupName_en-us\": \"Citizen Mining Laser\", \n    \"groupName_es\": \"Láser minero civil\", \n    \"groupName_fr\": \"Laser d'extraction civil\", \n    \"groupName_it\": \"Citizen Mining Laser\", \n    \"groupName_ja\": \"市民用採掘レーザー\", \n    \"groupName_ko\": \"민수용 채굴 레이저\", \n    \"groupName_ru\": \"Citizen Mining Laser\", \n    \"groupName_zh\": \"公民采矿激光器\", \n    \"groupNameID\": 540917, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"2005\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2005, \n    \"groupName_de\": \"Stationierbare Werbung\", \n    \"groupName_en-us\": \"Deployable Advertisement\", \n    \"groupName_es\": \"Anuncio desplegable\", \n    \"groupName_fr\": \"Publicité déployable\", \n    \"groupName_it\": \"Deployable Advertisement\", \n    \"groupName_ja\": \"配置可能な広告\", \n    \"groupName_ko\": \"배치식 홍보 시설\", \n    \"groupName_ru\": \"Развёртываемая реклама\", \n    \"groupName_zh\": \"可部署广告\", \n    \"groupNameID\": 540934, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"2006\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2006, \n    \"groupName_de\": \"Raumverwerfungsasteroiden\", \n    \"groupName_en-us\": \"Deadspace Asteroids\", \n    \"groupName_es\": \"Asteroides del espacio muerto\", \n    \"groupName_fr\": \"Astéroïdes Deadspace\", \n    \"groupName_it\": \"Deadspace Asteroids\", \n    \"groupName_ja\": \"デッドスペースアステロイド\", \n    \"groupName_ko\": \"데드스페이스 소행성\", \n    \"groupName_ru\": \"Астероиды Мёртвой бездны\", \n    \"groupName_zh\": \"死亡空间小行星\", \n    \"groupNameID\": 540968, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"2008\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2008, \n    \"groupName_de\": \"Massenumschließer\", \n    \"groupName_en-us\": \"Mass Entanglers\", \n    \"groupName_es\": \"Entrelazadores másicos\", \n    \"groupName_fr\": \"Intricateurs de masse\", \n    \"groupName_it\": \"Mass Entanglers\", \n    \"groupName_ja\": \"質量エンタングラー\", \n    \"groupName_ko\": \"매스 인탱글러\", \n    \"groupName_ru\": \"Модуляторы массы\", \n    \"groupName_zh\": \"质量纠缠装置\", \n    \"groupNameID\": 541740, \n    \"iconID\": 97, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"2009\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2009, \n    \"groupName_de\": \"Precursor-Cache\", \n    \"groupName_en-us\": \"Precursor Cache\", \n    \"groupName_es\": \"Alijo precursor\", \n    \"groupName_fr\": \"Cache de précursion\", \n    \"groupName_it\": \"Precursor Cache\", \n    \"groupName_ja\": \"プリカーサーキャッシュ\", \n    \"groupName_ko\": \"프리커서 저장고\", \n    \"groupName_ru\": \"Тайник Предтечей\", \n    \"groupName_zh\": \"先驱者贮藏\", \n    \"groupNameID\": 541741, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"2010\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2010, \n    \"groupName_de\": \"Blaupausen für Massenumschließer\", \n    \"groupName_en-us\": \"Mass Entangler Blueprints\", \n    \"groupName_es\": \"Planos de entrelazador másico\", \n    \"groupName_fr\": \"Plans de construction Intricateur de masse\", \n    \"groupName_it\": \"Mass Entangler Blueprints\", \n    \"groupName_ja\": \"質量エンタングラー設計図\", \n    \"groupName_ko\": \"매스 인탱글러 블루프린트\", \n    \"groupName_ru\": \"Чертежи модуляторов массы\", \n    \"groupName_zh\": \"质量纠缠装置蓝图\", \n    \"groupNameID\": 541742, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"2013\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2013, \n    \"groupName_de\": \"Antistasis\", \n    \"groupName_en-us\": \"Stasis Nullifiers\", \n    \"groupName_es\": \"Anuladores ralentizadores\", \n    \"groupName_fr\": \"Anéantisseur de stase\", \n    \"groupName_it\": \"Stasis Nullifiers\", \n    \"groupName_ja\": \"ステイシスナリファイヤー\", \n    \"groupName_ko\": \"정지장 무효화 장치\", \n    \"groupName_ru\": \"Стазисные нейтрализаторы\", \n    \"groupName_zh\": \"停滞无效光束\", \n    \"groupNameID\": 542675, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"2015\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2015, \n    \"groupName_de\": \"Upwell-Monument\", \n    \"groupName_en-us\": \"Upwell Monument\", \n    \"groupName_es\": \"Monumento Upwell\", \n    \"groupName_fr\": \"Monument Upwell\", \n    \"groupName_it\": \"Upwell Monument\", \n    \"groupName_ja\": \"アップウェル記念碑\", \n    \"groupName_ko\": \"업웰 기념비\", \n    \"groupName_ru\": \"Монумент консорциума «Апвелл»\", \n    \"groupName_zh\": \"昇威纪念碑\", \n    \"groupNameID\": 542786, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"2016\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2016, \n    \"groupName_de\": \"Upwell-Anziehungsstörsender\", \n    \"groupName_en-us\": \"Upwell Cyno Jammer\", \n    \"groupName_es\": \"Cinoperturbador de Upwell\", \n    \"groupName_fr\": \"Brouilleur cynosural Upwell\", \n    \"groupName_it\": \"Upwell Cyno Jammer\", \n    \"groupName_ja\": \"アップウェル・サイノジャマー\", \n    \"groupName_ko\": \"업웰 사이노 재머\", \n    \"groupName_ru\": \"Генератор помех приводному маяку «Апвелл»\", \n    \"groupName_zh\": \"昇威诱导干扰塔\", \n    \"groupNameID\": 542787, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"2017\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2017, \n    \"groupName_de\": \"Upwell-Anziehungssignalfeuer\", \n    \"groupName_en-us\": \"Upwell Cyno Beacon\", \n    \"groupName_es\": \"Cinobaliza de Upwell\", \n    \"groupName_fr\": \"Balise cynosurale Upwell\", \n    \"groupName_it\": \"Upwell Cyno Beacon\", \n    \"groupName_ja\": \"アップウェル・サイノビーコン\", \n    \"groupName_ko\": \"업웰 사이노 비컨\", \n    \"groupName_ru\": \"Приводной маяк «Апвелл»\", \n    \"groupName_zh\": \"昇威诱导信标\", \n    \"groupNameID\": 542788, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"2018\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2018, \n    \"groupName_de\": \"Mutadaptive Panzerungs-Fernreparatursysteme\", \n    \"groupName_en-us\": \"Mutadaptive Remote Armor Repairer\", \n    \"groupName_es\": \"Reparador de blindaje remoto mutadaptativo\", \n    \"groupName_fr\": \"Réparateur de blindage à distance muta-adaptatif\", \n    \"groupName_it\": \"Mutadaptive Remote Armor Repairer\", \n    \"groupName_ja\": \"変異順応性リモートアーマーリペアラ\", \n    \"groupName_ko\": \"뮤타적응성 원격 장갑수리 장치\", \n    \"groupName_ru\": \"Мутадаптивный модуль дистанционного ремонта брони\", \n    \"groupName_zh\": \"突变适应远程装甲维修器\", \n    \"groupNameID\": 543772, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"2019\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2019, \n    \"groupName_de\": \"Mutadaptive Panzerungs-Fernreparatursysteme Blaupause\", \n    \"groupName_en-us\": \"Mutadaptive Remote Armor Repairer Blueprint\", \n    \"groupName_es\": \"Plano de reparador de blindaje remoto mutadaptativo\", \n    \"groupName_fr\": \"Plan de construction Réparateur de blindage à distance muta-adaptatif\", \n    \"groupName_it\": \"Mutadaptive Remote Armor Repairer Blueprint\", \n    \"groupName_ja\": \"変異順応性リモートアーマーリペアラ設計図\", \n    \"groupName_ko\": \"뮤타적응성 원격 장갑수리 장치 블루프린트\", \n    \"groupName_ru\": \"Чертёж мутадаптивного модуля дистанционного ремонта брони\", \n    \"groupName_zh\": \"突变适应远程装甲维修器蓝图\", \n    \"groupNameID\": 543773, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"2020\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2020, \n    \"groupName_de\": \"Cynosural Fields\", \n    \"groupName_en-us\": \"Cynosural Fields\", \n    \"groupName_es\": \"Campos cinosurales\", \n    \"groupName_fr\": \"Champs cynosuraux\", \n    \"groupName_it\": \"Cynosural Fields\", \n    \"groupName_ja\": \"サイノシュラルフィールド\", \n    \"groupName_ko\": \"사이노슈럴 필드\", \n    \"groupName_ru\": \"Поля приводных маяков\", \n    \"groupName_zh\": \"诱导力场\", \n    \"groupNameID\": 543951, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"2022\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2022, \n    \"groupName_de\": \"Temporalressourcen\", \n    \"groupName_en-us\": \"Temporal Resources\", \n    \"groupName_es\": \"Recursos temporales\", \n    \"groupName_fr\": \"Ressources temporelles\", \n    \"groupName_it\": \"Temporal Resources\", \n    \"groupName_ja\": \"一時的資源\", \n    \"groupName_ko\": \"임시 자원\", \n    \"groupName_ru\": \"Временные ресурсы\", \n    \"groupName_zh\": \"临时资源\", \n    \"groupNameID\": 544772, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"2023\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2023, \n    \"groupName_de\": \"Cyber Electronics Implant Blueprints\", \n    \"groupName_en-us\": \"Cyber Electronics Implant Blueprints\", \n    \"groupName_es\": \"Planos de ciberimplantes electrónicos\", \n    \"groupName_fr\": \"Plans de construction Implant électronique cybernétique\", \n    \"groupName_it\": \"Cyber Electronics Implant Blueprints\", \n    \"groupName_ja\": \"サイバーエレクトロニクス・インプラント設計図\", \n    \"groupName_ko\": \"사이버 전자기기 임플란트 블루프린트\", \n    \"groupName_ru\": \"Чертежи электронного киберимпланта\", \n    \"groupName_zh\": \"网络电子植入体蓝图\", \n    \"groupNameID\": 545577, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"2024\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2024, \n    \"groupName_de\": \"Fluorit\", \n    \"groupName_en-us\": \"Fluorite\", \n    \"groupName_es\": \"Fluorita\", \n    \"groupName_fr\": \"Fluorite\", \n    \"groupName_it\": \"Fluorite\", \n    \"groupName_ja\": \"フローライト\", \n    \"groupName_ko\": \"플루오라이트\", \n    \"groupName_ru\": \"Флюорит\", \n    \"groupName_zh\": \"萤石\", \n    \"groupNameID\": 545621, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"2026\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 2026, \n    \"groupName_de\": \"Triglavia-Artefakte\", \n    \"groupName_en-us\": \"Triglavian Artifacts\", \n    \"groupName_es\": \"Artefactos triglavianos\", \n    \"groupName_fr\": \"Artefacts triglavian\", \n    \"groupName_it\": \"Triglavian Artifacts\", \n    \"groupName_ja\": \"トリグラビアンの遺物\", \n    \"groupName_ko\": \"트리글라비안 유물\", \n    \"groupName_ru\": \"Артефакты Триглава\", \n    \"groupName_zh\": \"三神裔古物\", \n    \"groupNameID\": 546328, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4028\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4028, \n    \"groupName_de\": \"Triglavia-Entitäten\", \n    \"groupName_en-us\": \"Triglavian Entities\", \n    \"groupName_es\": \"Entidades triglavianas\", \n    \"groupName_fr\": \"Entités triglavian\", \n    \"groupName_it\": \"Triglavian Entities\", \n    \"groupName_ja\": \"トリグラビアンエンティティ\", \n    \"groupName_ko\": \"트리글라비안 객체\", \n    \"groupName_ru\": \"Объекты Триглава\", \n    \"groupName_zh\": \"三神裔实体\", \n    \"groupNameID\": 549007, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4029\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4029, \n    \"groupName_de\": \"Talassonit\", \n    \"groupName_en-us\": \"Talassonite\", \n    \"groupName_es\": \"Talasonita\", \n    \"groupName_fr\": \"Talassonite\", \n    \"groupName_it\": \"Talassonite\", \n    \"groupName_ja\": \"タラソナイト\", \n    \"groupName_ko\": \"탈라소나이트\", \n    \"groupName_ru\": \"Talassonite\", \n    \"groupName_zh\": \"塔拉岩\", \n    \"groupNameID\": 549008, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4030\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4030, \n    \"groupName_de\": \"Rakovene\", \n    \"groupName_en-us\": \"Rakovene\", \n    \"groupName_es\": \"Rakovena\", \n    \"groupName_fr\": \"Rakovene\", \n    \"groupName_it\": \"Rakovene\", \n    \"groupName_ja\": \"ラコベネ\", \n    \"groupName_ko\": \"라코벤\", \n    \"groupName_ru\": \"Rakovene\", \n    \"groupName_zh\": \"拉克岩\", \n    \"groupNameID\": 549009, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4031\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4031, \n    \"groupName_de\": \"Bezdnazin\", \n    \"groupName_en-us\": \"Bezdnacine\", \n    \"groupName_es\": \"Bezdnacina\", \n    \"groupName_fr\": \"Bezdnacine\", \n    \"groupName_it\": \"Bezdnacine\", \n    \"groupName_ja\": \"ベズドナシン\", \n    \"groupName_ko\": \"베즈드나신\", \n    \"groupName_ru\": \"Bezdnacine\", \n    \"groupName_zh\": \"贝兹岩\", \n    \"groupNameID\": 549010, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4033\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4033, \n    \"groupName_de\": \"Zerstörungseffekt-Signalfeuer\", \n    \"groupName_en-us\": \"Destructible Effect Beacon\", \n    \"groupName_es\": \"Baliza de efecto destructible\", \n    \"groupName_fr\": \"Balise d'effet destructible\", \n    \"groupName_it\": \"Destructible Effect Beacon\", \n    \"groupName_ja\": \"破壊効果ビーコン\", \n    \"groupName_ko\": \"파괴 효과 비컨\", \n    \"groupName_ru\": \"Маяк разрушительного эффекта\", \n    \"groupName_zh\": \"可摧毁的效果信标\", \n    \"groupNameID\": 551791, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4034\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4034, \n    \"groupName_de\": \"EDENCOM-Entitäten\", \n    \"groupName_en-us\": \"EDENCOM Entities\", \n    \"groupName_es\": \"Entidades de EDENCOM\", \n    \"groupName_fr\": \"Entités EDENCOM\", \n    \"groupName_it\": \"EDENCOM Entities\", \n    \"groupName_ja\": \"EDENCOMエンティティ\", \n    \"groupName_ko\": \"EDENCOM 객체\", \n    \"groupName_ru\": \"Объекты ЭДЕНКОМа\", \n    \"groupName_zh\": \"伊甸联合防御阵线实体\", \n    \"groupNameID\": 552396, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4035\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4035, \n    \"groupName_de\": \"Drifter-Entitäten\", \n    \"groupName_en-us\": \"Drifter Entities\", \n    \"groupName_es\": \"Entidades de drifter\", \n    \"groupName_fr\": \"Entités drifter\", \n    \"groupName_it\": \"Drifter Entities\", \n    \"groupName_ja\": \"ドリフターエンティティ\", \n    \"groupName_ko\": \"드리프터 객체\", \n    \"groupName_ru\": \"Объекты скитальцев\", \n    \"groupName_zh\": \"流浪者实体\", \n    \"groupNameID\": 552397, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4036\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4036, \n    \"groupName_de\": \"Sleeper-Entitäten\", \n    \"groupName_en-us\": \"Sleeper Entities\", \n    \"groupName_es\": \"Entidades de Sleepers\", \n    \"groupName_fr\": \"Entités sleeper\", \n    \"groupName_it\": \"Sleeper Entities\", \n    \"groupName_ja\": \"スリーパーエンティティ\", \n    \"groupName_ko\": \"슬리퍼 객체\", \n    \"groupName_ru\": \"Объекты Спящих\", \n    \"groupName_zh\": \"冬眠者实体\", \n    \"groupNameID\": 552398, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4037\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4037, \n    \"groupName_de\": \"Raubdrohnen-Entitäten\", \n    \"groupName_en-us\": \"Rogue Drone Entities\", \n    \"groupName_es\": \"Entidades de drones rebeldes\", \n    \"groupName_fr\": \"Entités drones renégats\", \n    \"groupName_it\": \"Rogue Drone Entities\", \n    \"groupName_ja\": \"ローグドローンエンティティ\", \n    \"groupName_ko\": \"로그 드론 객체\", \n    \"groupName_ru\": \"Объекты восставших дронов\", \n    \"groupName_zh\": \"自由无人机实体\", \n    \"groupNameID\": 552399, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4040\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 91, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4040, \n    \"groupName_de\": \"180-Tage-SKIN\", \n    \"groupName_en-us\": \"180-Day SKIN\", \n    \"groupName_es\": \"SKIN de 180 días\", \n    \"groupName_fr\": \"SKIN 180 jours\", \n    \"groupName_it\": \"180-Day SKIN\", \n    \"groupName_ja\": \"180日間SKIN\", \n    \"groupName_ko\": \"180일 SKIN\", \n    \"groupName_ru\": \"Окраска на 180 дней\", \n    \"groupName_zh\": \"180天涂装\", \n    \"groupNameID\": 553262, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4041\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4041, \n    \"groupName_de\": \"Sprungfilamente\", \n    \"groupName_en-us\": \"Jump Filaments\", \n    \"groupName_es\": \"Filamentos de salto\", \n    \"groupName_fr\": \"Filaments de saut\", \n    \"groupName_it\": \"Jump Filaments\", \n    \"groupName_ja\": \"ジャンプフィラメント\", \n    \"groupName_ko\": \"점프 필라멘트\", \n    \"groupName_ru\": \"Прыжковые нити\", \n    \"groupName_zh\": \"跳跃纤维\", \n    \"groupNameID\": 553695, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4050\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4050, \n    \"groupName_de\": \"Testfilamente des Abgrunds\", \n    \"groupName_en-us\": \"Abyssal Proving Filaments\", \n    \"groupName_es\": \"Filamento de pruebas abisal\", \n    \"groupName_fr\": \"Filaments d'expérimentation abyssaux\", \n    \"groupName_it\": \"Abyssal Proving Filaments\", \n    \"groupName_ja\": \"アビサル試験用フィラメント\", \n    \"groupName_ko\": \"어비설 격전 필라멘트\", \n    \"groupName_ru\": \"Полигонные нити Бездны\", \n    \"groupName_zh\": \"深渊试炼纤维\", \n    \"groupNameID\": 559431, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4052\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4052, \n    \"groupName_de\": \"Sprungfilament-Blaupause\", \n    \"groupName_en-us\": \"Jump Filament Blueprint\", \n    \"groupName_es\": \"Plano de filamento de salto\", \n    \"groupName_fr\": \"Plan de construction de filament de saut\", \n    \"groupName_it\": \"Jump Filament Blueprint\", \n    \"groupName_ja\": \"ジャンプフィラメント設計図\", \n    \"groupName_ko\": \"점프 필라멘트 블루프린트\", \n    \"groupName_ru\": \"Чертеж прыжковых нитей\", \n    \"groupName_zh\": \"跳跃纤维蓝图\", \n    \"groupNameID\": 560666, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4053\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4053, \n    \"groupName_de\": \"Irregular Capsule\", \n    \"groupName_en-us\": \"Irregular Capsule\", \n    \"groupName_es\": \"Cápsula irregular\", \n    \"groupName_fr\": \"Capsule Irregular\", \n    \"groupName_it\": \"Irregular Capsule\", \n    \"groupName_ja\": \"非正規カプセル\", \n    \"groupName_ko\": \"비정상적인 캡슐\", \n    \"groupName_ru\": \"Irregular Capsule\", \n    \"groupName_zh\": \"异常太空舱\", \n    \"groupNameID\": 561629, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4055\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4055, \n    \"groupName_de\": \"Unsichtbares Signalfeuer\", \n    \"groupName_en-us\": \"Invisible Beacon\", \n    \"groupName_es\": \"Baliza invisible\", \n    \"groupName_fr\": \"Balise invisible\", \n    \"groupName_it\": \"Invisible Beacon\", \n    \"groupName_ja\": \"不可視ビーコン\", \n    \"groupName_ko\": \"투명 비컨\", \n    \"groupName_ru\": \"Невидимый маяк\", \n    \"groupName_zh\": \"看不见的信标\", \n    \"groupNameID\": 562903, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4057\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4057, \n    \"groupName_de\": \"Masken\", \n    \"groupName_en-us\": \"Masks\", \n    \"groupName_es\": \"Máscaras\", \n    \"groupName_fr\": \"Masques\", \n    \"groupName_it\": \"Masks\", \n    \"groupName_ja\": \"マスク\", \n    \"groupName_ko\": \"마스크\", \n    \"groupName_ru\": \"Маски\", \n    \"groupName_zh\": \"面具\", \n    \"groupNameID\": 563630, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4060\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4060, \n    \"groupName_de\": \"Vorton-Projektor\", \n    \"groupName_en-us\": \"Vorton Projector\", \n    \"groupName_es\": \"Proyector vortónico\", \n    \"groupName_fr\": \"Projecteur de vortons\", \n    \"groupName_it\": \"Vorton Projector\", \n    \"groupName_ja\": \"ヴォートンプロジェクター\", \n    \"groupName_ko\": \"보르톤 프로젝터\", \n    \"groupName_ru\": \"Вортонный проектор\", \n    \"groupName_zh\": \"电弧弦投射器\", \n    \"groupNameID\": 563701, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4061\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4061, \n    \"groupName_de\": \"Fortschrittliches Kondensator-Paket\", \n    \"groupName_en-us\": \"Advanced Condenser Pack\", \n    \"groupName_es\": \"Paquete de condensadores avanzados\", \n    \"groupName_fr\": \"Pack de condensateur avancé\", \n    \"groupName_it\": \"Advanced Condenser Pack\", \n    \"groupName_ja\": \"高性能コンデンサーパック\", \n    \"groupName_ko\": \"상급 콘덴서 팩\", \n    \"groupName_ru\": \"Улучшенный набор конденсаторов\", \n    \"groupName_zh\": \"高级电容包\", \n    \"groupNameID\": 563793, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4062\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4062, \n    \"groupName_de\": \"Kondensator-Paket\", \n    \"groupName_en-us\": \"Condenser Pack\", \n    \"groupName_es\": \"Paquete de condensadores\", \n    \"groupName_fr\": \"Pack de condensateur\", \n    \"groupName_it\": \"Condenser Pack\", \n    \"groupName_ja\": \"コンデンサーパック\", \n    \"groupName_ko\": \"콘덴서 팩\", \n    \"groupName_ru\": \"Набор конденсаторов\", \n    \"groupName_zh\": \"电容包\", \n    \"groupNameID\": 563792, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4064\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4064, \n    \"groupName_de\": \"Vorton-Projektor-Blaupause\", \n    \"groupName_en-us\": \"Vorton Projector Blueprint\", \n    \"groupName_es\": \"Plano de proyector vortónico\", \n    \"groupName_fr\": \"Plan de construction Projecteur de vortons\", \n    \"groupName_it\": \"Vorton Projector Blueprint\", \n    \"groupName_ja\": \"ヴォートンプロジェクター設計図\", \n    \"groupName_ko\": \"보르톤 프로젝터 블루프린트\", \n    \"groupName_ru\": \"Чертёж вортонного проектора\", \n    \"groupName_zh\": \"电弧弦投射器蓝图\", \n    \"groupNameID\": 564057, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4065\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4065, \n    \"groupName_de\": \"Blaupause für Kondensator-Paket\", \n    \"groupName_en-us\": \"Condenser Pack Blueprint\", \n    \"groupName_es\": \"Plano de paquete de condensadores\", \n    \"groupName_fr\": \"Plan de construction Pack de condensateur\", \n    \"groupName_it\": \"Condenser Pack Blueprint\", \n    \"groupName_ja\": \"コンデンサーパック設計図\", \n    \"groupName_ko\": \"콘덴서 팩 블루프린트\", \n    \"groupName_ru\": \"Чертёж набора конденсаторов\", \n    \"groupName_zh\": \"电容包蓝图\", \n    \"groupNameID\": 564058, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4066\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4066, \n    \"groupName_de\": \"Blaupause für fortschrittliches Kondensator-Paket\", \n    \"groupName_en-us\": \"Advanced Condenser Pack Blueprint\", \n    \"groupName_es\": \"Plano de paquete de condensadores avanzados\", \n    \"groupName_fr\": \"Plan de construction Pack de condensateur avancé\", \n    \"groupName_it\": \"Advanced Condenser Pack Blueprint\", \n    \"groupName_ja\": \"高性能コンデンサーパック設計図\", \n    \"groupName_ko\": \"상급 콘덴서 팩 블루프린트\", \n    \"groupName_ru\": \"Чертёж улучшенного набора конденсаторов\", \n    \"groupName_zh\": \"高级电容包蓝图\", \n    \"groupNameID\": 564059, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4067\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4067, \n    \"groupName_de\": \"Vorton-Projektor-Upgrade\", \n    \"groupName_en-us\": \"Vorton Projector Upgrade\", \n    \"groupName_es\": \"Mejora de proyector vortónico\", \n    \"groupName_fr\": \"Amélioration de projecteur de vortons\", \n    \"groupName_it\": \"Vorton Projector Upgrade\", \n    \"groupName_ja\": \"ヴォートンプロジェクターアップグレード\", \n    \"groupName_ko\": \"보르톤 프로젝터 업그레이드\", \n    \"groupName_ru\": \"Улучшение вортонного проектора\", \n    \"groupName_zh\": \"电弧弦投射器升级装备\", \n    \"groupNameID\": 564488, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4069\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4069, \n    \"groupName_de\": \"Blaupausen für Vorton-Projektor-Upgrade\", \n    \"groupName_en-us\": \"Vorton Projector Upgrade Blueprints\", \n    \"groupName_es\": \"Plano de mejora de proyector vortónico\", \n    \"groupName_fr\": \"Plans de construction Amélioration de projecteur de vortons\", \n    \"groupName_it\": \"Vorton Projector Upgrade Blueprints\", \n    \"groupName_ja\": \"ヴォートンプロジェクターアップグレード設計図\", \n    \"groupName_ko\": \"보르톤 프로젝터 업그레이드 블루프린트\", \n    \"groupName_ru\": \"Чертежи улучшения вортонного проектора\", \n    \"groupName_zh\": \"电弧弦投射器升级装备蓝图\", \n    \"groupNameID\": 564489, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4070\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4070, \n    \"groupName_de\": \"Exotisches Artefakt\", \n    \"groupName_en-us\": \"Exotic Artefact\", \n    \"groupName_es\": \"Artefacto exótico\", \n    \"groupName_fr\": \"Artéfact exotique\", \n    \"groupName_it\": \"Exotic Artefact\", \n    \"groupName_ja\": \"エキゾチック遺物\", \n    \"groupName_ko\": \"신비한 아티팩트\", \n    \"groupName_ru\": \"Экзотический артефакт\", \n    \"groupName_zh\": \"异种手工制品\", \n    \"groupNameID\": 564553, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4071\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 29, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4071, \n    \"groupName_de\": \"Type Graveyard\", \n    \"groupName_en-us\": \"Type Graveyard\", \n    \"groupName_es\": \"Cementerio de tipos\", \n    \"groupName_fr\": \"Type Graveyard\", \n    \"groupName_it\": \"Type Graveyard\", \n    \"groupName_ja\": \"タイプ墓地\", \n    \"groupName_ko\": \"무덤 종류\", \n    \"groupName_ru\": \"Типовое кладбище\", \n    \"groupName_zh\": \"物品坟场\", \n    \"groupNameID\": 567090, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4072\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4072, \n    \"groupName_de\": \"Abgelaufene Sprungfilamente\", \n    \"groupName_en-us\": \"Expired Jump Filaments\", \n    \"groupName_es\": \"Filamentos de salto caducados\", \n    \"groupName_fr\": \"Filaments de saut expirés\", \n    \"groupName_it\": \"Expired Jump Filaments\", \n    \"groupName_ja\": \"期限切れジャンプフィラメント\", \n    \"groupName_ko\": \"만료된 점프 필라멘트\", \n    \"groupName_ru\": \"Просроченные прыжковые нити\", \n    \"groupName_zh\": \"过期的跳跃纤维\", \n    \"groupNameID\": 567348, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4073\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4073, \n    \"groupName_de\": \"Temporäre, statische Struktur\", \n    \"groupName_en-us\": \"Temporary Collidable Structure\", \n    \"groupName_es\": \"Estructura colisionable temporal\", \n    \"groupName_fr\": \"Structure solide temporaire\", \n    \"groupName_it\": \"Temporary Collidable Structure\", \n    \"groupName_ja\": \"一時破壊可能なストラクチャ\", \n    \"groupName_ko\": \"임시 충돌체 (구조물)\", \n    \"groupName_ru\": \"Временное разрушаемое сооружение\", \n    \"groupName_zh\": \"临时性可碰撞建筑\", \n    \"groupNameID\": 567507, \n    \"iconID\": 0, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4079\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4079, \n    \"groupName_de\": \"Gefechtsüberwachungssystem\", \n    \"groupName_en-us\": \"Encounter Surveillance System\", \n    \"groupName_es\": \"Sistema de vigilancia de encuentros\", \n    \"groupName_fr\": \"Système de surveillance des affrontements\", \n    \"groupName_it\": \"Encounter Surveillance System\", \n    \"groupName_ja\": \"対戦監視システム\", \n    \"groupName_ko\": \"교전 감시 시스템\", \n    \"groupName_ru\": \"Система наблюдения за столкновениями\", \n    \"groupName_zh\": \"事件监测装置\", \n    \"groupNameID\": 567933, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4081\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4081, \n    \"groupName_de\": \"Gestörtes Tor\", \n    \"groupName_en-us\": \"Disrupted Gate\", \n    \"groupName_es\": \"Portal interrumpido\", \n    \"groupName_fr\": \"Portail perturbé\", \n    \"groupName_it\": \"Disrupted Gate\", \n    \"groupName_ja\": \"不通になったゲート\", \n    \"groupName_ko\": \"교란된 게이트\", \n    \"groupName_ru\": \"Нестабильные гиперврата\", \n    \"groupName_zh\": \"受干扰的星门\", \n    \"groupNameID\": 568254, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4086\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4086, \n    \"groupName_de\": \"Quantumkerne\", \n    \"groupName_en-us\": \"Quantum Cores\", \n    \"groupName_es\": \"Núcleos cuánticos\", \n    \"groupName_fr\": \"Réacteurs quantiques\", \n    \"groupName_it\": \"Quantum Cores\", \n    \"groupName_ja\": \"クアンタムコア\", \n    \"groupName_ko\": \"양자코어\", \n    \"groupName_ru\": \"Квантовые ядра\", \n    \"groupName_zh\": \"量子芯\", \n    \"groupNameID\": 569641, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4087\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4087, \n    \"groupName_de\": \"Triglavia-Weltraum-Filamente\", \n    \"groupName_en-us\": \"Triglavian Space Filaments\", \n    \"groupName_es\": \"Filamentos del espacio triglaviano\", \n    \"groupName_fr\": \"Filaments de l'espace triglavian\", \n    \"groupName_it\": \"Triglavian Space Filaments\", \n    \"groupName_ja\": \"トリグラビアン宙域フィラメント\", \n    \"groupName_ko\": \"트리글라비안 우주 필라멘트\", \n    \"groupName_ru\": \"Нити пространства Триглава\", \n    \"groupName_zh\": \"三神裔星系纤维\", \n    \"groupNameID\": 571069, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4088\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 4088, \n    \"groupName_de\": \"Burst-Unterbrechungssonden\", \n    \"groupName_en-us\": \"Interdiction Burst Probes\", \n    \"groupName_es\": \"Sondas de ráfaga de interdicción\", \n    \"groupName_fr\": \"Sondes de salves d'interdiction\", \n    \"groupName_it\": \"Interdiction Burst Probes\", \n    \"groupName_ja\": \"インターディクション・バーストプローブ\", \n    \"groupName_ko\": \"인터딕션 버스트 프로브\", \n    \"groupName_ru\": \"Заградительные импульсные зонды\", \n    \"groupName_zh\": \"拦截脉冲波探针\", \n    \"groupNameID\": 571813, \n    \"iconID\": 1721, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4090\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2100, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4090, \n    \"groupName_de\": \"QA Expert Systems\", \n    \"groupName_en-us\": \"QA Expert Systems\", \n    \"groupName_es\": \"Sistemas expertos de control de calidad\", \n    \"groupName_fr\": \"QA Expert Systems\", \n    \"groupName_it\": \"QA Expert Systems\", \n    \"groupName_ja\": \"QA Expert Systems\", \n    \"groupName_ko\": \"QA Expert Systems\", \n    \"groupName_ru\": \"QA Expert Systems\", \n    \"groupName_zh\": \"QA专家系统\", \n    \"groupNameID\": 573417, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4091\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2100, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4091, \n    \"groupName_de\": \"Standard-Expertensysteme\", \n    \"groupName_en-us\": \"Standard Expert Systems\", \n    \"groupName_es\": \"Sistemas expertos estándar\", \n    \"groupName_fr\": \"Systèmes experts standards\", \n    \"groupName_it\": \"Standard Expert Systems\", \n    \"groupName_ja\": \"標準エキスパートシステム\", \n    \"groupName_ko\": \"일반 전문가 시스템\", \n    \"groupName_ru\": \"Стандартные экспертные системы\", \n    \"groupName_zh\": \"标准专家系统\", \n    \"groupNameID\": 573608, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4093\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4093, \n    \"groupName_de\": \"Mobiles Anziehungssignalfeuer\", \n    \"groupName_en-us\": \"Mobile Cynosural Beacon\", \n    \"groupName_es\": \"Baliza cinosural móvil\", \n    \"groupName_fr\": \"Balise cynosurale mobile\", \n    \"groupName_it\": \"Mobile Cynosural Beacon\", \n    \"groupName_ja\": \"移動式サイノシュラルビーコン\", \n    \"groupName_ko\": \"이동식 사이노슈럴 비컨\", \n    \"groupName_ru\": \"Мобильный приводной маяк\", \n    \"groupName_zh\": \"移动式诱导信标\", \n    \"groupNameID\": 574152, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4094\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4094, \n    \"groupName_de\": \"Skalierbarer dekorativer Asteroid\", \n    \"groupName_en-us\": \"Scalable Decorative Asteroid\", \n    \"groupName_es\": \"Asteroide decorativo escalable\", \n    \"groupName_fr\": \"Astéroïde décoratif ajustable\", \n    \"groupName_it\": \"Scalable Decorative Asteroid\", \n    \"groupName_ja\": \"拡張可能な装飾用アステロイド\", \n    \"groupName_ko\": \"확장형 소행성\", \n    \"groupName_ru\": \"Масштабируемый декоративный астероид\", \n    \"groupName_zh\": \"可调整装饰性小行星\", \n    \"groupNameID\": 574662, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4095\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4095, \n    \"groupName_de\": \"Blaupause für mobile Anziehungssignalfeuer\", \n    \"groupName_en-us\": \"Mobile Cynosural Beacon Blueprint\", \n    \"groupName_es\": \"Plano de baliza cinosural móvil\", \n    \"groupName_fr\": \"Plan de construction Balise cynosurale mobile\", \n    \"groupName_it\": \"Mobile Cynosural Beacon Blueprint\", \n    \"groupName_ja\": \"移動式サイノシュラルビーコン設計図\", \n    \"groupName_ko\": \"이동식 사이노슈럴 비컨 블루프린트\", \n    \"groupName_ru\": \"Чертёж мобильного приводного маяка\", \n    \"groupName_zh\": \"移动式诱导信标蓝图\", \n    \"groupNameID\": 574835, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4096\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4096, \n    \"groupName_de\": \"Molekulargeschmiedete Materialien\", \n    \"groupName_en-us\": \"Molecular-Forged Materials\", \n    \"groupName_es\": \"Materiales de forja molecular\", \n    \"groupName_fr\": \"Matériaux issus du forgeage moléculaire\", \n    \"groupName_it\": \"Molecular-Forged Materials\", \n    \"groupName_ja\": \"分子加工型資源\", \n    \"groupName_ko\": \"분자 결합 재료\", \n    \"groupName_ru\": \"Молекулярно модифицированные материалы\", \n    \"groupName_zh\": \"分子熔铸材料\", \n    \"groupNameID\": 575002, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4097\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4097, \n    \"groupName_de\": \"Molekulargeschmiedete Reaktionsformeln\", \n    \"groupName_en-us\": \"Molecular-Forged Reaction Formulas\", \n    \"groupName_es\": \"Fórmulas reactivas de forja molecular\", \n    \"groupName_fr\": \"Formules de réaction par forgeage moléculaire\", \n    \"groupName_it\": \"Molecular-Forged Reaction Formulas\", \n    \"groupName_ja\": \"分子加工型反応フォーミュラ\", \n    \"groupName_ko\": \"분자 결합 반응식\", \n    \"groupName_ru\": \"Формулы молекулярной реакции\", \n    \"groupName_zh\": \"分子熔铸反应配方\", \n    \"groupNameID\": 575003, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4098\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2100, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4098, \n    \"groupName_de\": \"Expertensysteme im Angebot\", \n    \"groupName_en-us\": \"Promotional Expert Systems\", \n    \"groupName_es\": \"Sistemas expertos promocionales\", \n    \"groupName_fr\": \"Systèmes experts promotionnels\", \n    \"groupName_it\": \"Promotional Expert Systems\", \n    \"groupName_ja\": \"プロモーション用エキスパートシステム\", \n    \"groupName_ko\": \"홍보용 전문가 시스템\", \n    \"groupName_ru\": \"Особые экспертные системы\", \n    \"groupName_zh\": \"推广专家系统\", \n    \"groupNameID\": 575183, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4100\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4100, \n    \"groupName_de\": \"Logo Display-Monument\", \n    \"groupName_en-us\": \"Logo Display Monument\", \n    \"groupName_es\": \"Monumento de pantalla con logo\", \n    \"groupName_fr\": \"Monument d'affichage du logo\", \n    \"groupName_it\": \"Logo Display Monument\", \n    \"groupName_ja\": \"ロゴディスプレイ記念碑\", \n    \"groupName_ko\": \"로고 표시 기념비\", \n    \"groupName_ru\": \"Монумент для отображения логотипа\", \n    \"groupName_zh\": \"图标展示纪念碑\", \n    \"groupNameID\": 575536, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4102\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4102, \n    \"groupName_de\": \"ESS-Reservebank-Schlüssel\", \n    \"groupName_en-us\": \"ESS Reserve Bank Keys\", \n    \"groupName_es\": \"Llaves del Banco de Reserva del SVE\", \n    \"groupName_fr\": \"Clés de la banque de réserve du SSA\", \n    \"groupName_it\": \"ESS Reserve Bank Keys\", \n    \"groupName_ja\": \"ESS予備バンクキー\", \n    \"groupName_ko\": \"ESS 예비 저장고 보안키\", \n    \"groupName_ru\": \"Ключи от резервного банка СНС\", \n    \"groupName_zh\": \"事件监测装置赏金池密钥\", \n    \"groupNameID\": 575815, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4105\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4105, \n    \"groupName_de\": \"Unidentifizierte Entitäten\", \n    \"groupName_en-us\": \"Unidentified Entities\", \n    \"groupName_es\": \"Entidades no identificadas\", \n    \"groupName_fr\": \"Entités non identifiées\", \n    \"groupName_it\": \"Unidentified Entities\", \n    \"groupName_ja\": \"未確認エンティティ\", \n    \"groupName_ko\": \"미확인 객체\", \n    \"groupName_ru\": \"Неопознанные объекты\", \n    \"groupName_zh\": \"不明实体\", \n    \"groupNameID\": 576839, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4106\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4106, \n    \"groupName_de\": \"AIR-Entitäten I\", \n    \"groupName_en-us\": \"AIR Entities I\", \n    \"groupName_es\": \"Entidades de AIR I\", \n    \"groupName_fr\": \"Entités de l'AIR I\", \n    \"groupName_it\": \"AIR Entities I\", \n    \"groupName_ja\": \"AIRエンティティI\", \n    \"groupName_ko\": \"AIR 객체 I\", \n    \"groupName_ru\": \"Объекты АМИ I\", \n    \"groupName_zh\": \"星空会实体 I\", \n    \"groupNameID\": 576840, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4107\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4107, \n    \"groupName_de\": \"Mobile Observatory\", \n    \"groupName_en-us\": \"Mobile Observatory\", \n    \"groupName_es\": \"Observatorio móvil\", \n    \"groupName_fr\": \"Observatoire mobile\", \n    \"groupName_it\": \"Mobile Observatory\", \n    \"groupName_ja\": \"移動式観測所\", \n    \"groupName_ko\": \"이동식 관측소\", \n    \"groupName_ru\": \"Mobile Observatory\", \n    \"groupName_zh\": \"移动观测站\", \n    \"groupNameID\": 580887, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4108\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4108, \n    \"groupName_de\": \"Mobile Observatory Blueprint\", \n    \"groupName_en-us\": \"Mobile Observatory Blueprint\", \n    \"groupName_es\": \"Plano de observatorio móvil\", \n    \"groupName_fr\": \"Plan de construction Observatoire mobile\", \n    \"groupName_it\": \"Mobile Observatory Blueprint\", \n    \"groupName_ja\": \"移動式観測所設計図\", \n    \"groupName_ko\": \"이동식 관측소 블루프린트\", \n    \"groupName_ru\": \"Mobile Observatory Blueprint\", \n    \"groupName_zh\": \"移动观测站蓝图\", \n    \"groupNameID\": 580889, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4117\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4117, \n    \"groupName_de\": \"Anti-Unterbrecher\", \n    \"groupName_en-us\": \"Interdiction Nullifier\", \n    \"groupName_es\": \"Anulador de interdicción\", \n    \"groupName_fr\": \"Contremesure d’interdiction\", \n    \"groupName_it\": \"Interdiction Nullifier\", \n    \"groupName_ja\": \"インターディクション無効化\", \n    \"groupName_ko\": \"인터딕션 무효화 장치\", \n    \"groupName_ru\": \"Нейтрализатор варп-заграждений\", \n    \"groupName_zh\": \"拦截失效装置\", \n    \"groupNameID\": 581418, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4118\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4118, \n    \"groupName_de\": \"Anti-Unterbrecher-Blaupause\", \n    \"groupName_en-us\": \"Interdiction Nullifier Blueprint\", \n    \"groupName_es\": \"Plano de anulador de interdicción\", \n    \"groupName_fr\": \"Plan de construction Contremesure d’interdiction\", \n    \"groupName_it\": \"Interdiction Nullifier Blueprint\", \n    \"groupName_ja\": \"インターディクション無効化設計図\", \n    \"groupName_ko\": \"인터딕션 무효화 장치 블루프린트\", \n    \"groupName_ru\": \"Чертёж нейтрализатора варп-заграждений\", \n    \"groupName_zh\": \"拦截失效装置蓝图\", \n    \"groupNameID\": 581436, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4127\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4127, \n    \"groupName_de\": \"Generator für getarnte Sprungtore\", \n    \"groupName_en-us\": \"Covert Jump Portal Generator\", \n    \"groupName_es\": \"Generador de portales de salto encubierto\", \n    \"groupName_fr\": \"Générateur de portail interstellaire furtif\", \n    \"groupName_it\": \"Covert Jump Portal Generator\", \n    \"groupName_ja\": \"潜伏用ジャンプポータルジェネレーター\", \n    \"groupName_ko\": \"코버트 점프 포탈 생성기\", \n    \"groupName_ru\": \"Диверсионный генератор гиперпорталов\", \n    \"groupName_zh\": \"隐秘跳跃通道发生器\", \n    \"groupNameID\": 582723, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4128\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4128, \n    \"groupName_de\": \"AIR-Entitäten II\", \n    \"groupName_en-us\": \"AIR Entities II\", \n    \"groupName_es\": \"Entidades de AIR II\", \n    \"groupName_fr\": \"Entités de l'AIR II\", \n    \"groupName_it\": \"AIR Entities II\", \n    \"groupName_ja\": \"AIRエンティティII\", \n    \"groupName_ko\": \"AIR 객체 II\", \n    \"groupName_ru\": \"Объекты АМИ II\", \n    \"groupName_zh\": \"星空会实体 II\", \n    \"groupNameID\": 582726, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4130\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4130, \n    \"groupName_de\": \"Unidentifizierte Entitäten II\", \n    \"groupName_en-us\": \"Unidentified Entities II\", \n    \"groupName_es\": \"Entidades no identificadas II\", \n    \"groupName_fr\": \"Entités non identifiées II\", \n    \"groupName_it\": \"Unidentified Entities II\", \n    \"groupName_ja\": \"未確認エンティティII\", \n    \"groupName_ko\": \"미확인 객체 II\", \n    \"groupName_ru\": \"Неопознанные объекты II\", \n    \"groupName_zh\": \"不明实体 II\", \n    \"groupNameID\": 583913, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4137\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4137, \n    \"groupName_de\": \"Mobiles Analysesignalfeuer\", \n    \"groupName_en-us\": \"Mobile Analysis Beacon\", \n    \"groupName_es\": \"Baliza de análisis móvil\", \n    \"groupName_fr\": \"Balise d'analyse mobile\", \n    \"groupName_it\": \"Mobile Analysis Beacon\", \n    \"groupName_ja\": \"移動式解析ビーコン\", \n    \"groupName_ko\": \"이동식 분석 비컨\", \n    \"groupName_ru\": \"Мобильный маяк анализа\", \n    \"groupName_zh\": \"移动式分析信标\", \n    \"groupNameID\": 586787, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4138\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4138, \n    \"groupName_de\": \"Gaswolken-Extraktoren\", \n    \"groupName_en-us\": \"Gas Cloud Harvesters\", \n    \"groupName_es\": \"Cosechadoras de nubes de gas\", \n    \"groupName_fr\": \"Collecteurs de nuages de gaz\", \n    \"groupName_it\": \"Gas Cloud Harvesters\", \n    \"groupName_ja\": \"ガス雲採掘機\", \n    \"groupName_ko\": \"가스 하베스터\", \n    \"groupName_ru\": \"Сборщики газовых облаков\", \n    \"groupName_zh\": \"气云采集器\", \n    \"groupNameID\": 587196, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4139\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4139, \n    \"groupName_de\": \"Gas-Extraktor-Blaupause\", \n    \"groupName_en-us\": \"Gas Harvester Blueprint\", \n    \"groupName_es\": \"Plano de cosechadora de gas\", \n    \"groupName_fr\": \"Plan de construction Collecteur de gaz\", \n    \"groupName_it\": \"Gas Harvester Blueprint\", \n    \"groupName_ja\": \"ガス採掘機設計図\", \n    \"groupName_ko\": \"가스 하베스터 블루프린트\", \n    \"groupName_ru\": \"Чертёж установки для сбора газа\", \n    \"groupName_zh\": \"气云采集器蓝图\", \n    \"groupNameID\": 587314, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4141\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4141, \n    \"groupName_de\": \"Blaupause für mobile Analysesignalfeuer\", \n    \"groupName_en-us\": \"Mobile Analysis Beacon Blueprint\", \n    \"groupName_es\": \"Plano de baliza de análisis móvil\", \n    \"groupName_fr\": \"Plan de construction Balise d'analyse mobile\", \n    \"groupName_it\": \"Mobile Analysis Beacon Blueprint\", \n    \"groupName_ja\": \"移動式解析ビーコン設計図\", \n    \"groupName_ko\": \"이동식 분석 비컨 블루프린트\", \n    \"groupName_ru\": \"Чертёж мобильного маяка анализа\", \n    \"groupName_zh\": \"移动式分析信标蓝图\", \n    \"groupNameID\": 588137, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4142\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4142, \n    \"groupName_de\": \"Raubdrohnen-Analysedaten\", \n    \"groupName_en-us\": \"Rogue Drone Analysis Data\", \n    \"groupName_es\": \"Datos de análisis de drones rebeldes\", \n    \"groupName_fr\": \"Données d'analyse de drone renégat\", \n    \"groupName_it\": \"Rogue Drone Analysis Data\", \n    \"groupName_ja\": \"ローグドローン解析データ\", \n    \"groupName_ko\": \"로그 드론 분석 데이터\", \n    \"groupName_ru\": \"Данные анализа восставших дронов\", \n    \"groupName_zh\": \"自由无人机分析数据\", \n    \"groupNameID\": 588315, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4145\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4145, \n    \"groupName_de\": \"Warp-Matrix-Filamente\", \n    \"groupName_en-us\": \"Warp Matrix Filaments\", \n    \"groupName_es\": \"Filamentos de matriz de warp\", \n    \"groupName_fr\": \"Filaments de matrice de warp\", \n    \"groupName_it\": \"Warp Matrix Filaments\", \n    \"groupName_ja\": \"ワープマトリクス・フィラメント\", \n    \"groupName_ko\": \"워프 매트릭스 필라멘트\", \n    \"groupName_ru\": \"Варп-матричные нити\", \n    \"groupName_zh\": \"跃迁矩阵纤维\", \n    \"groupNameID\": 588713, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4161\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4161, \n    \"groupName_de\": \"AIR-Erzasteroid-Ressourcen\", \n    \"groupName_en-us\": \"AIR Ore Asteroid Resources\", \n    \"groupName_es\": \"Recursos asteroidales de menas de AIR\", \n    \"groupName_fr\": \"Ressources d'astéroïde à minerai de l'AIR\", \n    \"groupName_it\": \"AIR Ore Asteroid Resources\", \n    \"groupName_ja\": \"AIR鉱石アステロイド資源\", \n    \"groupName_ko\": \"AIR 소행성 광물\", \n    \"groupName_ru\": \"AIR Ore Asteroid Resources\", \n    \"groupName_zh\": \"星空会矿石小行星资源\", \n    \"groupNameID\": 592233, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"4165\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4165, \n    \"groupName_de\": \"Eigenartige Materialien\", \n    \"groupName_en-us\": \"Peculiar Materials\", \n    \"groupName_es\": \"Materiales peculiares\", \n    \"groupName_fr\": \"Matériaux étranges\", \n    \"groupName_it\": \"Peculiar Materials\", \n    \"groupName_ja\": \"奇妙な資源\", \n    \"groupName_ko\": \"기묘한 재료\", \n    \"groupName_ru\": \"Любопытные материалы\", \n    \"groupName_zh\": \"奇特材料\", \n    \"groupNameID\": 592992, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4168\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4168, \n    \"groupName_de\": \"Komprimiertes Gas\", \n    \"groupName_en-us\": \"Compressed Gas\", \n    \"groupName_es\": \"Gas comprimido\", \n    \"groupName_fr\": \"Gaz comprimé\", \n    \"groupName_it\": \"Compressed Gas\", \n    \"groupName_ja\": \"圧縮ガス\", \n    \"groupName_ko\": \"압축된 가스\", \n    \"groupName_ru\": \"Сжатый газ\", \n    \"groupName_zh\": \"高密度气云\", \n    \"groupNameID\": 594612, \n    \"iconID\": 25169, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4174\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4174, \n    \"groupName_de\": \"Kompressoren\", \n    \"groupName_en-us\": \"Compressors\", \n    \"groupName_es\": \"Compresores\", \n    \"groupName_fr\": \"Compresseurs\", \n    \"groupName_it\": \"Compressors\", \n    \"groupName_ja\": \"圧縮装置\", \n    \"groupName_ko\": \"압축기\", \n    \"groupName_ru\": \"Компрессоры\", \n    \"groupName_zh\": \"压缩装置\", \n    \"groupNameID\": 595063, \n    \"iconID\": 25152, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4175\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4175, \n    \"groupName_de\": \"Kompressor-Blaupausen\", \n    \"groupName_en-us\": \"Compressors Blueprints\", \n    \"groupName_es\": \"Planos de compresores\", \n    \"groupName_fr\": \"Plans de construction Compresseurs\", \n    \"groupName_it\": \"Compressors Blueprints\", \n    \"groupName_ja\": \"圧縮装置設計図\", \n    \"groupName_ko\": \"압축기 블루프린트\", \n    \"groupName_ru\": \"Чертежи компрессоров\", \n    \"groupName_zh\": \"压缩装置蓝图\", \n    \"groupNameID\": 595230, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4184\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4184, \n    \"groupName_de\": \"Industrieller Sprungtorgenerator\", \n    \"groupName_en-us\": \"Industrial Jump Portal Generator\", \n    \"groupName_es\": \"Generador de portales de salto industrial\", \n    \"groupName_fr\": \"Générateur de portail interstellaire industriel\", \n    \"groupName_it\": \"Industrial Jump Portal Generator\", \n    \"groupName_ja\": \"インダストリアル・ジャンプポータルジェネレーター\", \n    \"groupName_ko\": \"인더스트리얼 점프 포탈 생성기\", \n    \"groupName_ru\": \"Industrial Jump Portal Generator\", \n    \"groupName_zh\": \"工业舰跳跃通道发生器\", \n    \"groupNameID\": 596753, \n    \"iconID\": 0, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4186\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 4186, \n    \"groupName_de\": \"Struktur: Flächenverteidigungsmunition\", \n    \"groupName_en-us\": \"Structure Area Denial Ammunition\", \n    \"groupName_es\": \"Munición de negación de área de estructura\", \n    \"groupName_fr\": \"Munition d'interdiction de zone de structure\", \n    \"groupName_it\": \"Structure Area Denial Ammunition\", \n    \"groupName_ja\": \"ストラクチャ領域拒否弾薬\", \n    \"groupName_ko\": \"구조물 반접근 탄약\", \n    \"groupName_ru\": \"Боеприпасы для систем обороны сооружений\", \n    \"groupName_zh\": \"建筑区域拒止弹药\", \n    \"groupNameID\": 597623, \n    \"iconID\": 1304, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4188\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4188, \n    \"groupName_de\": \"Blaupause für Struktur: Flächenverteidigungsmunition\", \n    \"groupName_en-us\": \"Structure Area Denial Ammo Blueprint\", \n    \"groupName_es\": \"Plano de munición de negación de zona para estructuras\", \n    \"groupName_fr\": \"Plan de construction Munition d'interdiction de zone de structure\", \n    \"groupName_it\": \"Structure Area Denial Ammo Blueprint\", \n    \"groupName_ja\": \"ストラクチャ領域拒否弾薬設計図\", \n    \"groupName_ko\": \"구조물 반접근 탄약 블루프린트\", \n    \"groupName_ru\": \"Structure Area Denial Ammo Blueprint\", \n    \"groupName_zh\": \"建筑区域拒止弹药蓝图\", \n    \"groupNameID\": 597627, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4430\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4430, \n    \"groupName_de\": \"Asteroidengürtel\", \n    \"groupName_en-us\": \"Asteroid Belt\", \n    \"groupName_es\": \"Cinturón de asteroides\", \n    \"groupName_fr\": \"Ceinture d'astéroïdes\", \n    \"groupName_it\": \"Asteroid Belt\", \n    \"groupName_ja\": \"アステロイドベルト\", \n    \"groupName_ko\": \"소행성 벨트\", \n    \"groupName_ru\": \"Asteroid Belt\", \n    \"groupName_zh\": \"小行星带\", \n    \"groupNameID\": 623561, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4431\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4431, \n    \"groupName_de\": \"FW Schlachtschiff des Imperiums der Amarr\", \n    \"groupName_en-us\": \"FW Amarr Empire Battleship\", \n    \"groupName_es\": \"Acorazado de GF del Imperio Amarr\", \n    \"groupName_fr\": \"Cuirassé de l'Empire amarr GF\", \n    \"groupName_it\": \"FW Amarr Empire Battleship\", \n    \"groupName_ja\": \"FWアマー帝国戦艦\", \n    \"groupName_ko\": \"FW 아마르 배틀쉽\", \n    \"groupName_ru\": \"FW Amarr Empire Battleship\", \n    \"groupName_zh\": \"势力战争艾玛帝国战列舰\", \n    \"groupNameID\": 623607, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4432\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4432, \n    \"groupName_de\": \"FW Schlachtschiff des Staats der Caldari\", \n    \"groupName_en-us\": \"FW Caldari State Battleship\", \n    \"groupName_es\": \"Acorazado de GF del Estado Caldari\", \n    \"groupName_fr\": \"Cuirassé de l'État caldari GF\", \n    \"groupName_it\": \"FW Caldari State Battleship\", \n    \"groupName_ja\": \"FWカルダリ連合戦艦\", \n    \"groupName_ko\": \"FW 칼다리 배틀쉽\", \n    \"groupName_ru\": \"FW Caldari State Battleship\", \n    \"groupName_zh\": \"势力战争加达里合众国战列舰\", \n    \"groupNameID\": 623608, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4433\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4433, \n    \"groupName_de\": \"FW Schlachtschiff der Föderation der Gallente\", \n    \"groupName_en-us\": \"FW Gallente Federation Battleship\", \n    \"groupName_es\": \"Acorazado de GF de la Federación Gallente\", \n    \"groupName_fr\": \"Cuirassé de la Fédération gallente GF\", \n    \"groupName_it\": \"FW Gallente Federation Battleship\", \n    \"groupName_ja\": \"FWガレンテ連邦戦艦\", \n    \"groupName_ko\": \"FW 갈란테 배틀쉽\", \n    \"groupName_ru\": \"FW Gallente Federation Battleship\", \n    \"groupName_zh\": \"势力战争盖伦特联邦战列舰\", \n    \"groupNameID\": 623609, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4434\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4434, \n    \"groupName_de\": \"FW Schlachtschiff der Republik Minmatar\", \n    \"groupName_en-us\": \"FW Minmatar Republic Battleship\", \n    \"groupName_es\": \"Acorazado de GF de la República Minmatar\", \n    \"groupName_fr\": \"Cuirassé de la République minmatar GF\", \n    \"groupName_it\": \"FW Minmatar Republic Battleship\", \n    \"groupName_ja\": \"FWミンマター共和国戦艦\", \n    \"groupName_ko\": \"FW 민마타 배틀쉽\", \n    \"groupName_ru\": \"FW Minmatar Republic Battleship\", \n    \"groupName_zh\": \"势力战争米玛塔尔共和国战列舰\", \n    \"groupNameID\": 623610, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4471\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2118, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4471, \n    \"groupName_de\": \"Schiffsembleme\", \n    \"groupName_en-us\": \"Ship Emblems\", \n    \"groupName_es\": \"Emblemas para naves\", \n    \"groupName_fr\": \"Emblèmes de vaisseaux\", \n    \"groupName_it\": \"Ship Emblems\", \n    \"groupName_ja\": \"艦船用エンブレム\", \n    \"groupName_ko\": \"함선 문장\", \n    \"groupName_ru\": \"Эмблемы для кораблей\", \n    \"groupName_zh\": \"舰船徽章\", \n    \"groupNameID\": 631767, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4477\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4477, \n    \"groupName_de\": \"FK-Propaganda-Sendeanlage\", \n    \"groupName_en-us\": \"FW Propaganda Broadcast Structure\", \n    \"groupName_es\": \"Estructura de transmisión de propaganda de la GF\", \n    \"groupName_fr\": \"Structure de diffusion de propagande de GF\", \n    \"groupName_it\": \"FW Propaganda Broadcast Structure\", \n    \"groupName_ja\": \"国家間戦争プロパガンダ放送ストラクチャ\", \n    \"groupName_ko\": \"팩션 전쟁 선전용 방송시설\", \n    \"groupName_ru\": \"Сооружение для передачи пропаганды МВ\", \n    \"groupName_zh\": \"势力战争广播宣传建筑\", \n    \"groupNameID\": 635229, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4493\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4493, \n    \"groupName_de\": \"Blaupause für mobile Ziele\", \n    \"groupName_en-us\": \"Mobile Objective Blueprint\", \n    \"groupName_es\": \"Plano de objetivo móvil\", \n    \"groupName_fr\": \"Plan de construction Objectif mobile\", \n    \"groupName_it\": \"Mobile Objective Blueprint\", \n    \"groupName_ja\": \"移動式施設設計図\", \n    \"groupName_ko\": \"이동형 목표물 블루프린트\", \n    \"groupName_ru\": \"Чертёж подвижной цели\", \n    \"groupName_zh\": \"移动目标蓝图\", \n    \"groupNameID\": 636346, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4494\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4494, \n    \"groupName_de\": \"Kontrollpunkt\", \n    \"groupName_en-us\": \"Control Point\", \n    \"groupName_es\": \"Punto de control\", \n    \"groupName_fr\": \"Point de contrôle\", \n    \"groupName_it\": \"Control Point\", \n    \"groupName_ja\": \"コントロールポイント\", \n    \"groupName_ko\": \"컨트롤 포인트\", \n    \"groupName_ru\": \"Контрольная точка\", \n    \"groupName_zh\": \"控制点\", \n    \"groupNameID\": 637132, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4499\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4499, \n    \"groupName_de\": \"FK-Horchaußenposten\", \n    \"groupName_en-us\": \"FW Listening Outpost\", \n    \"groupName_es\": \"Puesto avanzado de escucha de la GF\", \n    \"groupName_fr\": \"Avant-poste d'écoute de la GF\", \n    \"groupName_it\": \"FW Listening Outpost\", \n    \"groupName_ja\": \"国家間戦争のリスニングアウトポスト\", \n    \"groupName_ko\": \"팩션 전쟁 감청기지\", \n    \"groupName_ru\": \"Прослушивающий форпост МВ\", \n    \"groupName_zh\": \"势力战争监听站\", \n    \"groupNameID\": 638199, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4501\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4501, \n    \"groupName_de\": \"Missionen: Standard-Kapseln\", \n    \"groupName_en-us\": \"Mission Generic Capsules\", \n    \"groupName_es\": \"Capsulas de misión genéricas\", \n    \"groupName_fr\": \"Capsules standard de mission\", \n    \"groupName_it\": \"Mission Generic Capsules\", \n    \"groupName_ja\": \"ミッション一般カプセル\", \n    \"groupName_ko\": \"미션 일반 캡슐\", \n    \"groupName_ru\": \"Mission Generic Capsules\", \n    \"groupName_zh\": \"任务通用太空舱\", \n    \"groupNameID\": 639247, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4513\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4513, \n    \"groupName_de\": \"Mordunium\", \n    \"groupName_en-us\": \"Mordunium\", \n    \"groupName_es\": \"Mordunium\", \n    \"groupName_fr\": \"Mordunium\", \n    \"groupName_it\": \"Mordunium\", \n    \"groupName_ja\": \"モードゥニウム\", \n    \"groupName_ko\": \"모르두늄\", \n    \"groupName_ru\": \"Mordunium\", \n    \"groupName_zh\": \"莫德合金\", \n    \"groupNameID\": 640735, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4514\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4514, \n    \"groupName_de\": \"Ytirium\", \n    \"groupName_en-us\": \"Ytirium\", \n    \"groupName_es\": \"Ytirium\", \n    \"groupName_fr\": \"Ytirium\", \n    \"groupName_it\": \"Ytirium\", \n    \"groupName_ja\": \"イティリウム\", \n    \"groupName_ko\": \"이티륨\", \n    \"groupName_ru\": \"Ютирий\", \n    \"groupName_zh\": \"耶利合金\", \n    \"groupNameID\": 640736, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4515\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4515, \n    \"groupName_de\": \"Eifyrium\", \n    \"groupName_en-us\": \"Eifyrium\", \n    \"groupName_es\": \"Eifyrium\", \n    \"groupName_fr\": \"Eifyrium\", \n    \"groupName_it\": \"Eifyrium\", \n    \"groupName_ja\": \"エイフィリウム\", \n    \"groupName_ko\": \"에이피륨\", \n    \"groupName_ru\": \"Эйфирий\", \n    \"groupName_zh\": \"埃菲尔合金\", \n    \"groupNameID\": 640737, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4516\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4516, \n    \"groupName_de\": \"Ducinium\", \n    \"groupName_en-us\": \"Ducinium\", \n    \"groupName_es\": \"Ducinium\", \n    \"groupName_fr\": \"Ducinium\", \n    \"groupName_it\": \"Ducinium\", \n    \"groupName_ja\": \"ドゥシニウム\", \n    \"groupName_ko\": \"두시늄\", \n    \"groupName_ru\": \"Дачиний\", \n    \"groupName_zh\": \"杜厦合金\", \n    \"groupNameID\": 640738, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4547\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4547, \n    \"groupName_de\": \"Interstellarer Schiffswerfer Signalfeuer\", \n    \"groupName_en-us\": \"Interstellar Shipcaster Beacon\", \n    \"groupName_es\": \"Baliza de lanzador interestelar\", \n    \"groupName_fr\": \"Balise de lance-vaisseaux interstellaire\", \n    \"groupName_it\": \"Interstellar Shipcaster Beacon\", \n    \"groupName_ja\": \"惑星間艦艇キャスターのビーコン\", \n    \"groupName_ko\": \"성간 함선전송기 비컨\", \n    \"groupName_ru\": \"Маяк межзвёздного кораблепускателя\", \n    \"groupName_zh\": \"星际舰船弹射台信标\", \n    \"groupNameID\": 647116, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4548\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4548, \n    \"groupName_de\": \"Schiffswerfer-Signalfeuer-Konstrukteur\", \n    \"groupName_en-us\": \"Shipcaster Beacon Constructor\", \n    \"groupName_es\": \"Constructor de balizas de lanzadores interestelares\", \n    \"groupName_fr\": \"Constructeur de balise de lance-vaisseaux\", \n    \"groupName_it\": \"Shipcaster Beacon Constructor\", \n    \"groupName_ja\": \"艦艇キャスタービーコン・コンストラクター\", \n    \"groupName_ko\": \"함선전송기 비컨 제조기\", \n    \"groupName_ru\": \"Конструктор маяка кораблепускателя\", \n    \"groupName_zh\": \"舰船弹射台信标建造器\", \n    \"groupNameID\": 647117, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4549\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4549, \n    \"groupName_de\": \"Interstellarer Schiffswerfer\", \n    \"groupName_en-us\": \"Interstellar Shipcaster\", \n    \"groupName_es\": \"Lanzador interestelar\", \n    \"groupName_fr\": \"Lance-vaisseaux interstellaires\", \n    \"groupName_it\": \"Interstellar Shipcaster\", \n    \"groupName_ja\": \"惑星間艦艇キャスター\", \n    \"groupName_ko\": \"성간 함선전송기\", \n    \"groupName_ru\": \"Межзвёздный кораблепускатель\", \n    \"groupName_zh\": \"星际舰船弹射台\", \n    \"groupNameID\": 647118, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4568\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4568, \n    \"groupName_de\": \"Mutanite\", \n    \"groupName_en-us\": \"Mutanite\", \n    \"groupName_es\": \"Mutanita\", \n    \"groupName_fr\": \"Mutanite\", \n    \"groupName_it\": \"Mutanite\", \n    \"groupName_ja\": \"ミュータナイト\", \n    \"groupName_ko\": \"뮤타나이트\", \n    \"groupName_ru\": \"Мутанит\", \n    \"groupName_zh\": \"突变石\", \n    \"groupNameID\": 656418, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4569\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4569, \n    \"groupName_de\": \"Heimatfront-Operationen – Feindliche Fregatte\", \n    \"groupName_en-us\": \"Homefront Operations Enemy Frigate\", \n    \"groupName_es\": \"Fragata enemiga de operaciones del frente interno\", \n    \"groupName_fr\": \"Frégate ennemie des opérations arrières\", \n    \"groupName_it\": \"Homefront Operations Enemy Frigate\", \n    \"groupName_ja\": \"ホームフロント・オペレーション敵フリゲート\", \n    \"groupName_ko\": \"전략 지원 작전 적 프리깃\", \n    \"groupName_ru\": \"Вражеский фрегат в тыловом районе\", \n    \"groupName_zh\": \"国土行动敌军护卫舰\", \n    \"groupNameID\": 657368, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4570\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4570, \n    \"groupName_de\": \"Heimatfront-Operationen – Feindlicher Zerstörer\", \n    \"groupName_en-us\": \"Homefront Operations Enemy Destroyer\", \n    \"groupName_es\": \"Destructor enemigo de operaciones del frente interno\", \n    \"groupName_fr\": \"Destroyer ennemi des opérations arrières\", \n    \"groupName_it\": \"Homefront Operations Enemy Destroyer\", \n    \"groupName_ja\": \"ホームフロント・オペレーション敵駆逐艦\", \n    \"groupName_ko\": \"전략 지원 작전 적 디스트로이어\", \n    \"groupName_ru\": \"Вражеский эсминец в тыловом районе\", \n    \"groupName_zh\": \"国土行动敌军驱逐舰\", \n    \"groupNameID\": 657496, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4571\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4571, \n    \"groupName_de\": \"Heimatfront-Operationen – Feindlicher Kreuzer\", \n    \"groupName_en-us\": \"Homefront Operations Enemy Cruiser\", \n    \"groupName_es\": \"Crucero enemigo de operaciones del frente interno\", \n    \"groupName_fr\": \"Croiseur ennemi des opérations arrières\", \n    \"groupName_it\": \"Homefront Operations Enemy Cruiser\", \n    \"groupName_ja\": \"ホームフロント・オペレーション敵巡洋艦\", \n    \"groupName_ko\": \"전략 지원 작전 적 크루저\", \n    \"groupName_ru\": \"Вражеский крейсер в тыловом районе\", \n    \"groupName_zh\": \"国土行动敌军巡洋舰\", \n    \"groupNameID\": 657497, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4572\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4572, \n    \"groupName_de\": \"Heimatfront-Operationen – Verbündeter Dreadnought\", \n    \"groupName_en-us\": \"Homefront Operations Allied Dreadnought\", \n    \"groupName_es\": \"Superacorazado aliado de operaciones del frente interno\", \n    \"groupName_fr\": \"Supercuirassé allié des opérations arrières\", \n    \"groupName_it\": \"Homefront Operations Allied Dreadnought\", \n    \"groupName_ja\": \"ホームフロント・オペレーション味方攻城艦\", \n    \"groupName_ko\": \"전략 지원 작전 아군 드레드노트\", \n    \"groupName_ru\": \"Союзный дредноут в тыловом районе\", \n    \"groupName_zh\": \"国土行动盟军无畏舰\", \n    \"groupNameID\": 657513, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4573\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4573, \n    \"groupName_de\": \"Heimatfront-Operationen – Feindlicher Schlachtkreuzer\", \n    \"groupName_en-us\": \"Homefront Operations Enemy Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate enemigo de operaciones del frente interno\", \n    \"groupName_fr\": \"Croiseur cuirassé ennemi des opérations arrières\", \n    \"groupName_it\": \"Homefront Operations Enemy Battlecruiser\", \n    \"groupName_ja\": \"ホームフロント・オペレーション敵巡洋戦艦\", \n    \"groupName_ko\": \"전략 지원 작전 적 배틀크루저\", \n    \"groupName_ru\": \"Вражеский линейный крейсер в тыловом районе\", \n    \"groupName_zh\": \"国土行动敌军战列巡洋舰\", \n    \"groupNameID\": 659180, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4574\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4574, \n    \"groupName_de\": \"Heimatfront-Operationen – Feindliches Schlachtschiff\", \n    \"groupName_en-us\": \"Homefront Operations Enemy Battleship\", \n    \"groupName_es\": \"Acorazado enemigo de operaciones del frente interno\", \n    \"groupName_fr\": \"Cuirassé ennemi des opérations arrières\", \n    \"groupName_it\": \"Homefront Operations Enemy Battleship\", \n    \"groupName_ja\": \"ホームフロント・オペレーション敵戦艦\", \n    \"groupName_ko\": \"전략 지원 작전 적 배틀쉽\", \n    \"groupName_ru\": \"Вражеский линкор в тыловом районе\", \n    \"groupName_zh\": \"国土行动敌军战列舰\", \n    \"groupNameID\": 659181, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4575\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4575, \n    \"groupName_de\": \"Heimatfront-Operationen – Ressource\", \n    \"groupName_en-us\": \"Homefront Operations Commodity\", \n    \"groupName_es\": \"Mercancía de operaciones del frente interno\", \n    \"groupName_fr\": \"Marchandise des opérations arrières\", \n    \"groupName_it\": \"Homefront Operations Commodity\", \n    \"groupName_ja\": \"ホームフロント・オペレーション商品\", \n    \"groupName_ko\": \"전략 지원 작전 물품\", \n    \"groupName_ru\": \"Ценный груз в тыловом районе\", \n    \"groupName_zh\": \"国土行动物品\", \n    \"groupNameID\": 659287, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4576\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4576, \n    \"groupName_de\": \"Heimatfront-Operationen – Struktur\", \n    \"groupName_en-us\": \"Homefront Operations Structure\", \n    \"groupName_es\": \"Estructura de operaciones del frente interno\", \n    \"groupName_fr\": \"Structure des opérations arrières\", \n    \"groupName_it\": \"Homefront Operations Structure\", \n    \"groupName_ja\": \"ホームフロント・オペレーション・ストラクチャ\", \n    \"groupName_ko\": \"전략 지원 작전 구조물\", \n    \"groupName_ru\": \"Сооружение в тыловом районе\", \n    \"groupName_zh\": \"国土行动建筑\", \n    \"groupNameID\": 660753, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4577\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4577, \n    \"groupName_de\": \"Homefront Operations Hauler\", \n    \"groupName_en-us\": \"Homefront Operations Hauler\", \n    \"groupName_es\": \"Nave de mercancías de operaciones del frente interno\", \n    \"groupName_fr\": \"Transporteur des opérations arrières\", \n    \"groupName_it\": \"Homefront Operations Hauler\", \n    \"groupName_ja\": \"ホームフロント・オペレーション・ハウラー\", \n    \"groupName_ko\": \"전략 지원 작전 운반선\", \n    \"groupName_ru\": \"Перевозчик тылового обеспечения\", \n    \"groupName_zh\": \"国土行动运载舰\", \n    \"groupNameID\": 660754, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4579\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4579, \n    \"groupName_de\": \"Skalierbares nicht interagierbares Objekt\", \n    \"groupName_en-us\": \"Scalable Non-Interactable Object\", \n    \"groupName_es\": \"Objeto no interactivo escalable\", \n    \"groupName_fr\": \"Objet non interactif ajustable\", \n    \"groupName_it\": \"Scalable Non-Interactable Object\", \n    \"groupName_ja\": \"スケーラブル非相互オブジェクト\", \n    \"groupName_ko\": \"확장형 상호작용 불가 오브젝트\", \n    \"groupName_ru\": \"Масштабируемый неинтерактивный объект\", \n    \"groupName_zh\": \"可扩展不可交互物体\", \n    \"groupNameID\": 660808, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4594\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4594, \n    \"groupName_de\": \"Lancer-Dreadnought\", \n    \"groupName_en-us\": \"Lancer Dreadnought\", \n    \"groupName_es\": \"Superacorazado lancer\", \n    \"groupName_fr\": \"Supercuirassé lancier\", \n    \"groupName_it\": \"Lancer Dreadnought\", \n    \"groupName_ja\": \"ランサー攻城艦\", \n    \"groupName_ko\": \"랜서 드레드노트\", \n    \"groupName_ru\": \"Дредноут-лансер\", \n    \"groupName_zh\": \"枪骑兵级无畏舰\", \n    \"groupNameID\": 662671, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4599\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4599, \n    \"groupName_de\": \"Warpvektor-Daten\", \n    \"groupName_en-us\": \"Warp Vector Data\", \n    \"groupName_es\": \"Datos de vector de warp\", \n    \"groupName_fr\": \"Données de vecteur de warp\", \n    \"groupName_it\": \"Warp Vector Data\", \n    \"groupName_ja\": \"ワープベクターデータ\", \n    \"groupName_ko\": \"워프 벡터 데이터\", \n    \"groupName_ru\": \"Warp Vector Data\", \n    \"groupName_zh\": \"跃迁矢量数据\", \n    \"groupNameID\": 662939, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4603\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 66, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4603, \n    \"groupName_de\": \"VEB-Dienste\", \n    \"groupName_en-us\": \"FOB services\", \n    \"groupName_es\": \"Servicios de BOA\", \n    \"groupName_fr\": \"Services de BOA\", \n    \"groupName_it\": \"FOB services\", \n    \"groupName_ja\": \"前哨基地サービス\", \n    \"groupName_ko\": \"전방 작전기지 서비스\", \n    \"groupName_ru\": \"Службы передовой базы\", \n    \"groupName_zh\": \"FOB服务\", \n    \"groupNameID\": 664686, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4636\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4636, \n    \"groupName_de\": \"Piraten\", \n    \"groupName_en-us\": \"Pirate Entities\", \n    \"groupName_es\": \"Entidades piratas\", \n    \"groupName_fr\": \"Entités pirates\", \n    \"groupName_it\": \"Pirate Entities\", \n    \"groupName_ja\": \"海賊エンティティ\", \n    \"groupName_ko\": \"해적 개체\", \n    \"groupName_ru\": \"Объекты пиратов\", \n    \"groupName_zh\": \"海盗实体\", \n    \"groupNameID\": 671872, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4637\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4637, \n    \"groupName_de\": \"Aufständische Piraten\", \n    \"groupName_en-us\": \"Insurgency Roaming Pirates\", \n    \"groupName_es\": \"Piratas errantes de insurgencia\", \n    \"groupName_fr\": \"Patrouilles de pirates d'insurrection\", \n    \"groupName_it\": \"Insurgency Roaming Pirates\", \n    \"groupName_ja\": \"反乱宙域の徘徊海賊\", \n    \"groupName_ko\": \"배회하는 해적 반군\", \n    \"groupName_ru\": \"Патруль пиратов-интервентов\", \n    \"groupName_zh\": \"游荡的叛乱海盗\", \n    \"groupNameID\": 695931, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4638\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4638, \n    \"groupName_de\": \"Aufständische Enforcer\", \n    \"groupName_en-us\": \"Insurgency Roaming Enforcers\", \n    \"groupName_es\": \"Ejecutores errantes de insurgencia\", \n    \"groupName_fr\": \"Patrouilles d'exécuteurs d'insurrection\", \n    \"groupName_it\": \"Insurgency Roaming Enforcers\", \n    \"groupName_ja\": \"反乱宙域の巡回エンフォーサー\", \n    \"groupName_ko\": \"배회하는 반군 집행관\", \n    \"groupName_ru\": \"Патруль бойцов интервенции\", \n    \"groupName_zh\": \"游荡的叛乱执法者\", \n    \"groupNameID\": 696092, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4644\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4644, \n    \"groupName_de\": \"Piraten Vorgelagerte Einsatzbasis\", \n    \"groupName_en-us\": \"Pirate Forward Operating Base\", \n    \"groupName_es\": \"Base de operaciones de avanzada pirata\", \n    \"groupName_fr\": \"Base d'opérations avancée pirate\", \n    \"groupName_it\": \"Pirate Forward Operating Base\", \n    \"groupName_ja\": \"海賊の前哨基地\", \n    \"groupName_ko\": \"해적 전방 작전기지\", \n    \"groupName_ru\": \"Пиратская передовая база\", \n    \"groupName_zh\": \"海盗前线作战基地\", \n    \"groupNameID\": 693278, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4647\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4647, \n    \"groupName_de\": \"Aufständische Piratenfregatte\", \n    \"groupName_en-us\": \"Insurgency Pirate Frigate\", \n    \"groupName_es\": \"Fragata pirata de insurgencia\", \n    \"groupName_fr\": \"Frégate d'insurrection pirate\", \n    \"groupName_it\": \"Insurgency Pirate Frigate\", \n    \"groupName_ja\": \"反乱宙域の海賊フリゲート\", \n    \"groupName_ko\": \"해적 반군 프리깃\", \n    \"groupName_ru\": \"Фрегат пирата-интервента\", \n    \"groupName_zh\": \"海盗叛乱护卫舰\", \n    \"groupNameID\": 696170, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4648\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4648, \n    \"groupName_de\": \"Aufständischer Piratenzerstörer\", \n    \"groupName_en-us\": \"Insurgency Pirate Destroyer\", \n    \"groupName_es\": \"Destructor pirata de insurgencia\", \n    \"groupName_fr\": \"Destroyer d'insurrection pirate\", \n    \"groupName_it\": \"Insurgency Pirate Destroyer\", \n    \"groupName_ja\": \"反乱宙域の海賊駆逐艦\", \n    \"groupName_ko\": \"해적 반군 디스트로이어\", \n    \"groupName_ru\": \"Эсминец пирата-интервента\", \n    \"groupName_zh\": \"海盗叛乱驱逐舰\", \n    \"groupNameID\": 696171, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4649\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4649, \n    \"groupName_de\": \"Aufständischer Piratenkreuzer\", \n    \"groupName_en-us\": \"Insurgency Pirate Cruiser\", \n    \"groupName_es\": \"Crucero pirata de insurgencia\", \n    \"groupName_fr\": \"Croiseur d'insurrection pirate\", \n    \"groupName_it\": \"Insurgency Pirate Cruiser\", \n    \"groupName_ja\": \"反乱宙域の海賊巡洋艦\", \n    \"groupName_ko\": \"해적 반군 크루저\", \n    \"groupName_ru\": \"Крейсер пирата-интервента\", \n    \"groupName_zh\": \"海盗叛乱巡洋舰\", \n    \"groupNameID\": 696172, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4650\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4650, \n    \"groupName_de\": \"Aufständischer Piratenschlachtkreuzer\", \n    \"groupName_en-us\": \"Insurgency Pirate Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate pirata de insurgencia\", \n    \"groupName_fr\": \"Croiseur cuirassé d'insurrection pirate\", \n    \"groupName_it\": \"Insurgency Pirate Battlecruiser\", \n    \"groupName_ja\": \"反乱宙域の海賊巡洋戦艦\", \n    \"groupName_ko\": \"해적 반군 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер пирата-интервента\", \n    \"groupName_zh\": \"海盗叛乱战列巡洋舰\", \n    \"groupNameID\": 696173, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4651\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4651, \n    \"groupName_de\": \"Aufständisches Piratenschlachtschiff\", \n    \"groupName_en-us\": \"Insurgency Pirate Battleship\", \n    \"groupName_es\": \"Acorazado pirata de insurgencia\", \n    \"groupName_fr\": \"Cuirassé pirate d'insurrection\", \n    \"groupName_it\": \"Insurgency Pirate Battleship\", \n    \"groupName_ja\": \"反乱宙域の海賊戦艦\", \n    \"groupName_ko\": \"해적 반군 배틀쉽\", \n    \"groupName_ru\": \"Линкор пирата-интервента\", \n    \"groupName_zh\": \"海盗叛乱战列舰\", \n    \"groupNameID\": 696174, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4652\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4652, \n    \"groupName_de\": \"Aufständische Mordu-Fregatte\", \n    \"groupName_en-us\": \"Insurgency Mordu Frigate\", \n    \"groupName_es\": \"Fragata de Mordu de insurgencia\", \n    \"groupName_fr\": \"Frégate d'insurrection mordu\", \n    \"groupName_it\": \"Insurgency Mordu Frigate\", \n    \"groupName_ja\": \"反乱宙域のモードゥフリゲート\", \n    \"groupName_ko\": \"모르두 반군 프리깃\", \n    \"groupName_ru\": \"Фрегат бойца интервенции из Морду\", \n    \"groupName_zh\": \"莫德团叛乱护卫舰\", \n    \"groupNameID\": 696175, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4653\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4653, \n    \"groupName_de\": \"Aufständischer Mordu-Zerstörer\", \n    \"groupName_en-us\": \"Insurgency Mordu Destroyer\", \n    \"groupName_es\": \"Destructor de Mordu de insurgencia\", \n    \"groupName_fr\": \"Destroyer d'insurrection mordu\", \n    \"groupName_it\": \"Insurgency Mordu Destroyer\", \n    \"groupName_ja\": \"反乱宙域のモードゥ駆逐艦\", \n    \"groupName_ko\": \"모르두 반군 디스트로이어\", \n    \"groupName_ru\": \"Эсминец бойца интервенции из Морду\", \n    \"groupName_zh\": \"莫德团叛乱驱逐舰\", \n    \"groupNameID\": 696176, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4654\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4654, \n    \"groupName_de\": \"Aufständischer Mordu-Kreuzer\", \n    \"groupName_en-us\": \"Insurgency Mordu Cruiser\", \n    \"groupName_es\": \"Crucero de Mordu de insurgencia\", \n    \"groupName_fr\": \"Croiseur d'insurrection mordu\", \n    \"groupName_it\": \"Insurgency Mordu Cruiser\", \n    \"groupName_ja\": \"反乱宙域のモードゥ巡洋艦\", \n    \"groupName_ko\": \"모르두 반군 크루저\", \n    \"groupName_ru\": \"Крейсер бойца интервенции из Морду\", \n    \"groupName_zh\": \"莫德团叛乱巡洋舰\", \n    \"groupNameID\": 696177, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4655\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4655, \n    \"groupName_de\": \"Aufständischer Mordu-Schlachtkreuzer\", \n    \"groupName_en-us\": \"Insurgency Mordu Battlecruiser\", \n    \"groupName_es\": \"Crucero de combate de Mordu de insurgencia\", \n    \"groupName_fr\": \"Croiseur cuirassé d'insurrection mordu\", \n    \"groupName_it\": \"Insurgency Mordu Battlecruiser\", \n    \"groupName_ja\": \"反乱宙域のモードゥ巡洋戦艦\", \n    \"groupName_ko\": \"모르두 반군 배틀크루저\", \n    \"groupName_ru\": \"Линейный крейсер бойца интервенции из Морду\", \n    \"groupName_zh\": \"莫德团叛乱战列巡洋舰\", \n    \"groupNameID\": 696178, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4656\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4656, \n    \"groupName_de\": \"Aufständisches Mordu-Schlachtschiff\", \n    \"groupName_en-us\": \"Insurgency Mordu Battleship\", \n    \"groupName_es\": \"Acorazado de Mordu de insurgencia\", \n    \"groupName_fr\": \"Cuirassé d'insurrection mordu\", \n    \"groupName_it\": \"Insurgency Mordu Battleship\", \n    \"groupName_ja\": \"反乱宙域のモードゥ戦艦\", \n    \"groupName_ko\": \"모르두 반군 배틀쉽\", \n    \"groupName_ru\": \"Линкор бойца интервенции из Морду\", \n    \"groupName_zh\": \"莫德团叛乱战列舰\", \n    \"groupNameID\": 696179, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4673\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4673, \n    \"groupName_de\": \"Insurgency Mining Ship\", \n    \"groupName_en-us\": \"Insurgency Mining Ship\", \n    \"groupName_es\": \"Nave minera de insurgencia\", \n    \"groupName_fr\": \"Vaisseau d'extraction minière d'insurrection\", \n    \"groupName_it\": \"Insurgency Mining Ship\", \n    \"groupName_ja\": \"反乱採掘船\", \n    \"groupName_ko\": \"반란 채굴선\", \n    \"groupName_ru\": \"Insurgency Mining Ship\", \n    \"groupName_zh\": \"叛乱采矿船\", \n    \"groupNameID\": 697213, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4712\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4712, \n    \"groupName_de\": \"Gelenkte Entitäten\", \n    \"groupName_en-us\": \"Guided Entities\", \n    \"groupName_es\": \"Entidades guiadas\", \n    \"groupName_fr\": \"Entités guidées\", \n    \"groupName_it\": \"Guided Entities\", \n    \"groupName_ja\": \"誘導対象\", \n    \"groupName_ko\": \"경로 인도 대상\", \n    \"groupName_ru\": \"Контролируемые объекты\", \n    \"groupName_zh\": \"Guided Entities\", \n    \"groupNameID\": 699162, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4713\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4713, \n    \"groupName_de\": \"Lenkungsziele\", \n    \"groupName_en-us\": \"Guidance Objectives\", \n    \"groupName_es\": \"Objetivos de guiado\", \n    \"groupName_fr\": \"Objectifs de guidage\", \n    \"groupName_it\": \"Guidance Objectives\", \n    \"groupName_ja\": \"誘導目標\", \n    \"groupName_ko\": \"경로 인도 목적지\", \n    \"groupName_ru\": \"Цели для контроля\", \n    \"groupName_zh\": \"Guidance Objectives\", \n    \"groupNameID\": 699250, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4714\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4714, \n    \"groupName_de\": \"Nicht interaktive Asteroiden\", \n    \"groupName_en-us\": \"Non-Interactable Asteroids\", \n    \"groupName_es\": \"Asteroides no interactivos\", \n    \"groupName_fr\": \"Astéroïdes non-interactifs\", \n    \"groupName_it\": \"Non-Interactable Asteroids\", \n    \"groupName_ja\": \"非相互アステロイド\", \n    \"groupName_ko\": \"상호작용 불가 소행성\", \n    \"groupName_ru\": \"Неинтерактивные астероиды\", \n    \"groupName_zh\": \"Non-Interactable Asteroids\", \n    \"groupNameID\": 701099, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4716\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4716, \n    \"groupName_de\": \"Schlachtfeld-Filament-Materialien des Abgrunds\", \n    \"groupName_en-us\": \"Abyssal Battlefield Filament Materials\", \n    \"groupName_es\": \"Materiales de filamento de campo de batalla abisal\", \n    \"groupName_fr\": \"Matériaux de filament de champ de bataille abyssal\", \n    \"groupName_it\": \"Abyssal Battlefield Filament Materials\", \n    \"groupName_ja\": \"アビスの戦場フィラメントの素材\", \n    \"groupName_ko\": \"어비설 전장 필라멘트 재료\", \n    \"groupName_ru\": \"Материалы для нитей боевых зон Бездны\", \n    \"groupName_zh\": \"深渊战场纤维材料\", \n    \"groupNameID\": 706043, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4717\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4717, \n    \"groupName_de\": \"CD-Filamente\", \n    \"groupName_en-us\": \"CD Filaments\", \n    \"groupName_es\": \"Filamentos del Día de los Capsulistas\", \n    \"groupName_fr\": \"Filaments CD\", \n    \"groupName_it\": \"CD Filaments\", \n    \"groupName_ja\": \"CDフィラメント\", \n    \"groupName_ko\": \"CD 필라멘트\", \n    \"groupName_ru\": \"Нити боевых подземелий\", \n    \"groupName_zh\": \"CD纤维\", \n    \"groupNameID\": 706149, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4719\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4719, \n    \"groupName_de\": \"Spalte\", \n    \"groupName_en-us\": \"Rift\", \n    \"groupName_es\": \"Grieta\", \n    \"groupName_fr\": \"Faille\", \n    \"groupName_it\": \"Rift\", \n    \"groupName_ja\": \"リフト\", \n    \"groupName_ko\": \"균열\", \n    \"groupName_ru\": \"Разлом\", \n    \"groupName_zh\": \"裂隙\", \n    \"groupNameID\": 706696, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4725\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2118, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4725, \n    \"groupName_de\": \"Sequence Binders\", \n    \"groupName_en-us\": \"Sequence Binders\", \n    \"groupName_es\": \"Carpetas de secuencias\", \n    \"groupName_fr\": \"Fixateurs de séquence\", \n    \"groupName_it\": \"Sequence Binders\", \n    \"groupName_ja\": \"シーケンスバインダー\", \n    \"groupName_ko\": \"각인기\", \n    \"groupName_ru\": \"Фиксаторы для окрасок\", \n    \"groupName_zh\": \"序列绑定器\", \n    \"groupNameID\": 709243, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4726\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2118, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4726, \n    \"groupName_de\": \"Ship SKIN Design Element\", \n    \"groupName_en-us\": \"Ship SKIN Design Element\", \n    \"groupName_es\": \"Elemento de diseño de SKIN para naves\", \n    \"groupName_fr\": \"Élément de design de SKIN pour vaisseau\", \n    \"groupName_it\": \"Ship SKIN Design Element\", \n    \"groupName_ja\": \"艦船用SKINデザイン要素\", \n    \"groupName_ko\": \"함선 SKIN 디자인 요소\", \n    \"groupName_ru\": \"Декоративные элементы окрасок\", \n    \"groupName_zh\": \"舰船涂装设计元素\", \n    \"groupNameID\": 709245, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4729\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2143, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4729, \n    \"groupName_de\": \"Kolonialreagenzien\", \n    \"groupName_en-us\": \"Colony Reagents\", \n    \"groupName_es\": \"Reactivos de colonia\", \n    \"groupName_fr\": \"Réactifs de colonie\", \n    \"groupName_it\": \"Colony Reagents\", \n    \"groupName_ja\": \"コロニーの反応試剤\", \n    \"groupName_ko\": \"콜로니 촉매\", \n    \"groupName_ru\": \"Реагенты колоний\", \n    \"groupName_zh\": \"殖民地试剂\", \n    \"groupNameID\": 709448, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4734\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 16, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4734, \n    \"groupName_de\": \"Sequencing\", \n    \"groupName_en-us\": \"Sequencing\", \n    \"groupName_es\": \"Secuenciación\", \n    \"groupName_fr\": \"Séquençage\", \n    \"groupName_it\": \"Sequencing\", \n    \"groupName_ja\": \"シーケンシング\", \n    \"groupName_ko\": \"각인 생성\", \n    \"groupName_ru\": \"Производство окрасок\", \n    \"groupName_zh\": \"排序\", \n    \"groupNameID\": 709915, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4736\": {\n    \"anchorable\": 1, \n    \"anchored\": 0, \n    \"categoryID\": 46, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4736, \n    \"groupName_de\": \"Skyhook\", \n    \"groupName_en-us\": \"Skyhook\", \n    \"groupName_es\": \"Gancho\", \n    \"groupName_fr\": \"Grappin orbital\", \n    \"groupName_it\": \"Skyhook\", \n    \"groupName_ja\": \"スカイフック\", \n    \"groupName_ko\": \"궤도 스카이훅\", \n    \"groupName_ru\": \"Подъёмник\", \n    \"groupName_zh\": \"天钩\", \n    \"groupNameID\": 709917, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4737\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4737, \n    \"groupName_de\": \"Homefront Operations Shuttle\", \n    \"groupName_en-us\": \"Homefront Operations Shuttle\", \n    \"groupName_es\": \"Lanzadera de operaciones del frente interno\", \n    \"groupName_fr\": \"Navette des opérations arrière\", \n    \"groupName_it\": \"Homefront Operations Shuttle\", \n    \"groupName_ja\": \"ホームフロント・オペレーション・シャトル\", \n    \"groupName_ko\": \"전략 지원 작전 셔틀\", \n    \"groupName_ru\": \"Шаттл тылового обеспечения\", \n    \"groupName_zh\": \"国土行动穿梭机\", \n    \"groupNameID\": 710534, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4743\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4743, \n    \"groupName_de\": \"Schlachtfeld-Filamente des Abgrunds\", \n    \"groupName_en-us\": \"Abyssal Battlefield Filaments\", \n    \"groupName_es\": \"Filamentos de campo de batalla abisal\", \n    \"groupName_fr\": \"Filaments de champ de bataille abyssal\", \n    \"groupName_it\": \"Abyssal Battlefield Filaments\", \n    \"groupName_ja\": \"アビスの戦場フィラメント\", \n    \"groupName_ko\": \"어비설 전장 필라멘트\", \n    \"groupName_ru\": \"Нити боевых зон Бездны\", \n    \"groupName_zh\": \"深渊战场纤维\", \n    \"groupNameID\": 710745, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4744\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 65, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4744, \n    \"groupName_de\": \"Upwell Moon Drill\", \n    \"groupName_en-us\": \"Upwell Moon Drill\", \n    \"groupName_es\": \"Perforación lunar Upwell\", \n    \"groupName_fr\": \"Foreuse lunaire Upwell\", \n    \"groupName_it\": \"Upwell Moon Drill\", \n    \"groupName_ja\": \"アップウェル衛星ドリル\", \n    \"groupName_ko\": \"업웰 위성 드릴\", \n    \"groupName_ru\": \"Спутниковый бур от «Апвелл»\", \n    \"groupName_zh\": \"昇威卫星钻探\", \n    \"groupNameID\": 710827, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4745\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4745, \n    \"groupName_de\": \"Skyhook-Reagenz-Silo\", \n    \"groupName_en-us\": \"Skyhook Reagent Silo\", \n    \"groupName_es\": \"Depósito de reactivos de gancho orbital\", \n    \"groupName_fr\": \"Silo de réactif du grappin orbital\", \n    \"groupName_it\": \"Skyhook Reagent Silo\", \n    \"groupName_ja\": \"スカイフック反応試剤サイロ\", \n    \"groupName_ko\": \"스카이훅 촉매 사일로\", \n    \"groupName_ru\": \"Хранилище реагентов подъёмника\", \n    \"groupName_zh\": \"天钩试剂储藏库\", \n    \"groupNameID\": 711268, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4755\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4755, \n    \"groupName_de\": \"Kylixium\", \n    \"groupName_en-us\": \"Kylixium\", \n    \"groupName_es\": \"Kylixium\", \n    \"groupName_fr\": \"Kylixium\", \n    \"groupName_it\": \"Kylixium\", \n    \"groupName_ja\": \"キリクシウム\", \n    \"groupName_ko\": \"카일릭슘\", \n    \"groupName_ru\": \"Kylixium\", \n    \"groupName_zh\": \"克里石\", \n    \"groupNameID\": 712212, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4756\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4756, \n    \"groupName_de\": \"Nocxite\", \n    \"groupName_en-us\": \"Nocxite\", \n    \"groupName_es\": \"Nocxita\", \n    \"groupName_fr\": \"Nocxite\", \n    \"groupName_it\": \"Nocxite\", \n    \"groupName_ja\": \"ノキサイト\", \n    \"groupName_ko\": \"녹사이트\", \n    \"groupName_ru\": \"Нокцит\", \n    \"groupName_zh\": \"诺克希特\", \n    \"groupNameID\": 712213, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4757\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4757, \n    \"groupName_de\": \"Ueganite\", \n    \"groupName_en-us\": \"Ueganite\", \n    \"groupName_es\": \"Ueganita\", \n    \"groupName_fr\": \"Ueganite\", \n    \"groupName_it\": \"Ueganite\", \n    \"groupName_ja\": \"ユイグナイト\", \n    \"groupName_ko\": \"유가나이트\", \n    \"groupName_ru\": \"Уэганит\", \n    \"groupName_zh\": \"尤加石\", \n    \"groupNameID\": 712214, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4758\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4758, \n    \"groupName_de\": \"Hezorime\", \n    \"groupName_en-us\": \"Hezorime\", \n    \"groupName_es\": \"Hezorima\", \n    \"groupName_fr\": \"Hezorime\", \n    \"groupName_it\": \"Hezorime\", \n    \"groupName_ja\": \"ヘゾライム\", \n    \"groupName_ko\": \"헤조라임\", \n    \"groupName_ru\": \"Hezorime\", \n    \"groupName_zh\": \"赫佐利姆\", \n    \"groupNameID\": 712215, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4759\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4759, \n    \"groupName_de\": \"Griemeer\", \n    \"groupName_en-us\": \"Griemeer\", \n    \"groupName_es\": \"Griemeer\", \n    \"groupName_fr\": \"Griemeer\", \n    \"groupName_it\": \"Griemeer\", \n    \"groupName_ja\": \"グリーミーア\", \n    \"groupName_ko\": \"그리미어\", \n    \"groupName_ru\": \"Griemeer\", \n    \"groupName_zh\": \"格里米尔\", \n    \"groupNameID\": 712216, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4768\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 39, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4768, \n    \"groupName_de\": \"Sovereignty Hub Site Detection Upgrades\", \n    \"groupName_en-us\": \"Sovereignty Hub Site Detection Upgrades\", \n    \"groupName_es\": \"Mejoras de detección de zonas del centro de soberanía\", \n    \"groupName_fr\": \"Améliorations de détection de site du pôle de souveraineté\", \n    \"groupName_it\": \"Sovereignty Hub Site Detection Upgrades\", \n    \"groupName_ja\": \"領有権ハブのサイト探知アップグレード\", \n    \"groupName_ko\": \"소버린티 허브 사이트 탐지 업그레이드\", \n    \"groupName_ru\": \"Улучшения поиска районов для штаба владений\", \n    \"groupName_zh\": \"主权中心地点探测升级件\", \n    \"groupNameID\": 720415, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4769\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4769, \n    \"groupName_de\": \"Capital-Mobilitätsmodule\", \n    \"groupName_en-us\": \"Capital Mobility Modules\", \n    \"groupName_es\": \"Módulos de movilidad capitales\", \n    \"groupName_fr\": \"Modules de mobilité capitaux\", \n    \"groupName_it\": \"Capital Mobility Modules\", \n    \"groupName_ja\": \"キャピタル機動性モジュール\", \n    \"groupName_ko\": \"캐피탈 기동성 모듈\", \n    \"groupName_ru\": \"Ускоряющие модули КБТ\", \n    \"groupName_zh\": \"旗舰级机动装备\", \n    \"groupNameID\": 720661, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4771\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4771, \n    \"groupName_de\": \"Homefront Operations Noncombatant\", \n    \"groupName_en-us\": \"Homefront Operations Noncombatant\", \n    \"groupName_es\": \"No combatiente de operaciones del frente interno\", \n    \"groupName_fr\": \"Non-combattant des opérations arrière\", \n    \"groupName_it\": \"Homefront Operations Noncombatant\", \n    \"groupName_ja\": \"ホームフロント・オペレーション非戦闘員\", \n    \"groupName_ko\": \"전략 지원 작전 비전투원\", \n    \"groupName_ru\": \"Небоевой корабль тылового обеспечения\", \n    \"groupName_zh\": \"国土行动非战斗人员\", \n    \"groupNameID\": 721700, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4772\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 39, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4772, \n    \"groupName_de\": \"Souveränitätshub-Serviceinfrastruktur-Upgrade\", \n    \"groupName_en-us\": \"Sovereignty Hub Service Infrastructure Upgrade\", \n    \"groupName_es\": \"Mejora de infraestructura de servicio del centro de soberanía\", \n    \"groupName_fr\": \"Amélioration d'infrastructure de service du pôle de souveraineté\", \n    \"groupName_it\": \"Sovereignty Hub Service Infrastructure Upgrade\", \n    \"groupName_ja\": \"領有権ハブのサービスインフラアップグレード\", \n    \"groupName_ko\": \"소버린티 허브 서비스 인프라 업그레이드\", \n    \"groupName_ru\": \"Улучшение служебной инфраструктуры штаба владений\", \n    \"groupName_zh\": \"主权中心服务基础设施升级件\", \n    \"groupNameID\": 722226, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4776\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4776, \n    \"groupName_de\": \"Abgelaufene Schlachtfeld-Filamente des Abgrunds\", \n    \"groupName_en-us\": \"Expired Abyssal Battlefields Filaments\", \n    \"groupName_es\": \"Filamentos de campo de batalla abisal caducados\", \n    \"groupName_fr\": \"Filaments de champ de bataille abyssal expirés\", \n    \"groupName_it\": \"Expired Abyssal Battlefields Filaments\", \n    \"groupName_ja\": \"アビスの戦場フィラメント（期限切れ）\", \n    \"groupName_ko\": \"만료된 어비설 전장 필라멘트\", \n    \"groupName_ru\": \"Просроченные нити боевых зон Бездны\", \n    \"groupName_zh\": \"过期的深渊战场纤维\", \n    \"groupNameID\": 722902, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4777\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 87, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4777, \n    \"groupName_de\": \"Struktur Leichte Jäger\", \n    \"groupName_en-us\": \"Structure Light Fighter\", \n    \"groupName_es\": \"Caza ligero de estructura\", \n    \"groupName_fr\": \"Chasseur léger de structure\", \n    \"groupName_it\": \"Structure Light Fighter\", \n    \"groupName_ja\": \"ストラクチャの軽戦闘機\", \n    \"groupName_ko\": \"구조물 라이트 파이터\", \n    \"groupName_ru\": \"Лёгкий истребитель сооружения\", \n    \"groupName_zh\": \"建筑轻型铁骑舰载机\", \n    \"groupNameID\": 723473, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4778\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 87, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4778, \n    \"groupName_de\": \"Struktur Unterstützungsjäger\", \n    \"groupName_en-us\": \"Structure Support Fighter\", \n    \"groupName_es\": \"Caza de apoyo de estructuras\", \n    \"groupName_fr\": \"Chasseur de secours de structure\", \n    \"groupName_it\": \"Structure Support Fighter\", \n    \"groupName_ja\": \"ストラクチャのサポート戦闘機\", \n    \"groupName_ko\": \"구조물 서포트 파이터\", \n    \"groupName_ru\": \"Истребитель поддержки сооружения\", \n    \"groupName_zh\": \"建筑后勤铁骑舰载机\", \n    \"groupNameID\": 723474, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4779\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 87, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4779, \n    \"groupName_de\": \"Struktur Schwere Jäger\", \n    \"groupName_en-us\": \"Structure Heavy Fighter\", \n    \"groupName_es\": \"Caza pesado de estructura\", \n    \"groupName_fr\": \"Chasseur lourd de structure\", \n    \"groupName_it\": \"Structure Heavy Fighter\", \n    \"groupName_ja\": \"ストラクチャの重戦闘機\", \n    \"groupName_ko\": \"구조물 헤비 파이터\", \n    \"groupName_ru\": \"Тяжёлый истребитель сооружения\", \n    \"groupName_zh\": \"建筑重型铁骑舰载机\", \n    \"groupNameID\": 723475, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4795\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4795, \n    \"groupName_de\": \"Asteroiden-Angel Cartel Offizierskreuzer\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Officer Cruiser\", \n    \"groupName_es\": \"Crucero de oficial de asteroide del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Croiseur d'officier du cartel Angel des astéroïdes\", \n    \"groupName_it\": \"Asteroid Angel Cartel Officer Cruiser\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテル士官の巡洋艦\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 장교 크루저\", \n    \"groupName_ru\": \"Крейсер командира «ангелов» в поясе астероидов\", \n    \"groupName_zh\": \"小行星天使军官巡洋舰\", \n    \"groupNameID\": 726309, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4796\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4796, \n    \"groupName_de\": \"Asteroiden-Angel Cartel Offiziersfregatte\", \n    \"groupName_en-us\": \"Asteroid Angel Cartel Officer Frigate\", \n    \"groupName_es\": \"Fragata de oficial de asteroide del Cártel de los Ángeles\", \n    \"groupName_fr\": \"Frégate d'officier du cartel Angel des astéroïdes\", \n    \"groupName_it\": \"Asteroid Angel Cartel Officer Frigate\", \n    \"groupName_ja\": \"アステロイドエンジェルカルテル士官のフリゲート\", \n    \"groupName_ko\": \"소행성 엔젤 카르텔 장교 프리깃\", \n    \"groupName_ru\": \"Фрегат командира «ангелов» в поясе астероидов\", \n    \"groupName_zh\": \"小行星天使军官护卫舰\", \n    \"groupNameID\": 726310, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4797\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4797, \n    \"groupName_de\": \"Asteroiden-Blood Raiders Offizierskreuzer\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Officer Cruiser\", \n    \"groupName_es\": \"Crucero de oficial de asteroide de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Croiseur d'officier des Blood Raiders des astéroïdes\", \n    \"groupName_it\": \"Asteroid Blood Raiders Officer Cruiser\", \n    \"groupName_ja\": \"アステロイドブラッドレイダー士官の巡洋艦\", \n    \"groupName_ko\": \"소행성 블러드 레이더 장교 크루저\", \n    \"groupName_ru\": \"Крейсер командира «Охотников» в поясе астероидов\", \n    \"groupName_zh\": \"小行星血袭者军官巡洋舰\", \n    \"groupNameID\": 726311, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4798\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4798, \n    \"groupName_de\": \"Asteroiden-Blood Raiders Offiziersfregatte\", \n    \"groupName_en-us\": \"Asteroid Blood Raiders Officer Frigate\", \n    \"groupName_es\": \"Fragata de oficial de asteroide de los Saqueadores Sanguinarios\", \n    \"groupName_fr\": \"Frégate d'officier des Blood Raiders des astéroïdes\", \n    \"groupName_it\": \"Asteroid Blood Raiders Officer Frigate\", \n    \"groupName_ja\": \"アステロイドブラッドレイダー士官のフリゲート\", \n    \"groupName_ko\": \"소행성 블러드 레이더 장교 프리깃\", \n    \"groupName_ru\": \"Фрегат командира «Охотников» в поясе астероидов\", \n    \"groupName_zh\": \"小行星血袭者军官护卫舰\", \n    \"groupNameID\": 726312, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4799\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4799, \n    \"groupName_de\": \"Asteroiden-Guristas Offizierskreuzer\", \n    \"groupName_en-us\": \"Asteroid Guristas Officer Cruiser\", \n    \"groupName_es\": \"Crucero de oficial de asteroide de los Guristas\", \n    \"groupName_fr\": \"Croiseur d'officier guristas des astéroïdes\", \n    \"groupName_it\": \"Asteroid Guristas Officer Cruiser\", \n    \"groupName_ja\": \"アステロイドガリスタス士官の巡洋艦\", \n    \"groupName_ko\": \"소행성 구리스타스 장교 크루저\", \n    \"groupName_ru\": \"Крейсер командира «Гуристас» в поясе астероидов\", \n    \"groupName_zh\": \"小行星古斯塔斯军官巡洋舰\", \n    \"groupNameID\": 726313, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4800\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4800, \n    \"groupName_de\": \"Asteroiden-Guristas Offiziersfregatte\", \n    \"groupName_en-us\": \"Asteroid Guristas Officer Frigate\", \n    \"groupName_es\": \"Fragata de oficial de asteroide de los Guristas\", \n    \"groupName_fr\": \"Frégate d'officier guristas des astéroïdes\", \n    \"groupName_it\": \"Asteroid Guristas Officer Frigate\", \n    \"groupName_ja\": \"アステロイドガリスタス士官のフリゲート\", \n    \"groupName_ko\": \"소행성 구리스타스 장교 프리깃\", \n    \"groupName_ru\": \"Фрегат командира «Гуристас» в поясе астероидов\", \n    \"groupName_zh\": \"小行星古斯塔斯军官护卫舰\", \n    \"groupNameID\": 726314, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4801\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4801, \n    \"groupName_de\": \"Asteroiden-Sansha's Nation Offizierskreuzer\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Officer Cruiser\", \n    \"groupName_es\": \"Crucero de oficial de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Croiseur d'officier de la Sansha's Nation des astéroïdes\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Officer Cruiser\", \n    \"groupName_ja\": \"アステロイドサンシャ国士官の巡洋艦\", \n    \"groupName_ko\": \"소행성 산샤 네이션 장교 크루저\", \n    \"groupName_ru\": \"Крейсер командира «Нации Санши» в поясе астероидов\", \n    \"groupName_zh\": \"小行星萨沙军官巡洋舰\", \n    \"groupNameID\": 726317, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4802\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4802, \n    \"groupName_de\": \"Asteroiden-Sansha's Nation Offiziersfregatte\", \n    \"groupName_en-us\": \"Asteroid Sansha's Nation Officer Frigate\", \n    \"groupName_es\": \"Fragata de oficial de asteroide de la Nación Sansha\", \n    \"groupName_fr\": \"Frégate d'officier de la Sansha's Nation des astéroïdes\", \n    \"groupName_it\": \"Asteroid Sansha's Nation Officer Frigate\", \n    \"groupName_ja\": \"アステロイドサンシャ国士官のフリゲート\", \n    \"groupName_ko\": \"소행성 산샤 네이션 장교 프리깃\", \n    \"groupName_ru\": \"Фрегат командира «Нации Санши» в поясе астероидов\", \n    \"groupName_zh\": \"小行星萨沙军官护卫舰\", \n    \"groupNameID\": 726319, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4803\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4803, \n    \"groupName_de\": \"Asteroiden-Serpentis Offizierskreuzer\", \n    \"groupName_en-us\": \"Asteroid Serpentis Officer Cruiser\", \n    \"groupName_es\": \"Crucero de oficial de asteroide de Serpentis\", \n    \"groupName_fr\": \"Croiseur d'officier serpentis des astéroïdes\", \n    \"groupName_it\": \"Asteroid Serpentis Officer Cruiser\", \n    \"groupName_ja\": \"アステロイドサーペンティス士官の巡洋艦\", \n    \"groupName_ko\": \"소행성 서펜티스 장교 크루저\", \n    \"groupName_ru\": \"Крейсер командира «Серпентис» в поясе астероидов\", \n    \"groupName_zh\": \"小行星天蛇军官巡洋舰\", \n    \"groupNameID\": 726320, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4804\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4804, \n    \"groupName_de\": \"Asteroiden-Serpentis Offiziersfregatte\", \n    \"groupName_en-us\": \"Asteroid Serpentis Officer Frigate\", \n    \"groupName_es\": \"Fragata de oficial de asteroide de Serpentis\", \n    \"groupName_fr\": \"Frégate d'officier serpentis des astéroïdes\", \n    \"groupName_it\": \"Asteroid Serpentis Officer Frigate\", \n    \"groupName_ja\": \"アステロイドサーペンティス士官のフリゲート\", \n    \"groupName_ko\": \"소행성 서펜티스 장교 프리깃\", \n    \"groupName_ru\": \"Фрегат командира «Серпентис» в поясе астероидов\", \n    \"groupName_zh\": \"小行星天蛇军官护卫舰\", \n    \"groupNameID\": 726321, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4807\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 7, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4807, \n    \"groupName_de\": \"Kapselbrecher-Werfer\", \n    \"groupName_en-us\": \"Breacher Pod Launchers\", \n    \"groupName_es\": \"Lanzacápsulas de ataque\", \n    \"groupName_fr\": \"Lanceurs de capsules de brèche\", \n    \"groupName_it\": \"Breacher Pod Launchers\", \n    \"groupName_ja\": \"突入ポッドランチャー\", \n    \"groupName_ko\": \"침투 포드 런처\", \n    \"groupName_ru\": \"Пусковая установка внедряющихся капсул\", \n    \"groupName_zh\": \"突破者座舱发射器\", \n    \"groupNameID\": 726805, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4808\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 4808, \n    \"groupName_de\": \"SCARAB-Kapselbrecher\", \n    \"groupName_en-us\": \"SCARAB Breacher Pods\", \n    \"groupName_es\": \"Lanzacápsulas SCARAB\", \n    \"groupName_fr\": \"Capsules de brèche SCARAB\", \n    \"groupName_it\": \"SCARAB Breacher Pods\", \n    \"groupName_ja\": \"突入ポッド「SCARAB」\", \n    \"groupName_ko\": \"스캐럽 침투 포드\", \n    \"groupName_ru\": \"Внедряющиеся капсулы «Скарабей»\", \n    \"groupName_zh\": \"圣甲虫突破者逃生舱\", \n    \"groupNameID\": 726814, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4810\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4810, \n    \"groupName_de\": \"Mercenary Den\", \n    \"groupName_en-us\": \"Mercenary Den\", \n    \"groupName_es\": \"Guarida de mercenarios\", \n    \"groupName_fr\": \"Repaire de mercenaires\", \n    \"groupName_it\": \"Mercenary Den\", \n    \"groupName_ja\": \"傭兵の隠れ家\", \n    \"groupName_ko\": \"용병 소굴\", \n    \"groupName_ru\": \"Mercenary Den\", \n    \"groupName_zh\": \"雇佣兵巢穴\", \n    \"groupNameID\": 727344, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4811\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4811, \n    \"groupName_de\": \"Mercenary Den Blueprint\", \n    \"groupName_en-us\": \"Mercenary Den Blueprint\", \n    \"groupName_es\": \"Plano de guarida de mercenarios\", \n    \"groupName_fr\": \"Plan de construction Repaire de mercenaires\", \n    \"groupName_it\": \"Mercenary Den Blueprint\", \n    \"groupName_ja\": \"傭兵の隠れ家の設計図\", \n    \"groupName_ko\": \"용병 소굴 블루프린트\", \n    \"groupName_ru\": \"Mercenary Den Blueprint\", \n    \"groupName_zh\": \"雇佣兵巢穴蓝图\", \n    \"groupNameID\": 727376, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4820\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4820, \n    \"groupName_de\": \"Mutaplasmid-Blaupause\", \n    \"groupName_en-us\": \"Mutaplasmid Blueprint\", \n    \"groupName_es\": \"Plano de mutaplásmido\", \n    \"groupName_fr\": \"Plan de construction de mutaplasmide\", \n    \"groupName_it\": \"Mutaplasmid Blueprint\", \n    \"groupName_ja\": \"変異プラスミドの設計図\", \n    \"groupName_ko\": \"뮤타플라즈미드 블루프린트\", \n    \"groupName_ru\": \"Чертёж мутаплазмида\", \n    \"groupName_zh\": \"突变质体蓝图\", \n    \"groupNameID\": 863197, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4821\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4821, \n    \"groupName_de\": \"Atavum\", \n    \"groupName_en-us\": \"Atavum\", \n    \"groupName_es\": \"Atavum\", \n    \"groupName_fr\": \"Atavum\", \n    \"groupName_it\": \"Atavum\", \n    \"groupName_ja\": \"アタヴァム\", \n    \"groupName_ko\": \"아타붐\", \n    \"groupName_ru\": \"Atavum\", \n    \"groupName_zh\": \"阿塔文\", \n    \"groupNameID\": 869759, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4824\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4824, \n    \"groupName_de\": \"Infomorph-Systeme\", \n    \"groupName_en-us\": \"Infomorph Systems\", \n    \"groupName_es\": \"Sistemas de infomorfos\", \n    \"groupName_fr\": \"Systèmes d'infomorphes\", \n    \"groupName_it\": \"Infomorph Systems\", \n    \"groupName_ja\": \"インフォモーフのシステム\", \n    \"groupName_ko\": \"정신체 시스템\", \n    \"groupName_ru\": \"Системы для инфоморфов\", \n    \"groupName_zh\": \"电子意识星系\", \n    \"groupNameID\": 896315, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4825\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4825, \n    \"groupName_de\": \"Lokales Signalfeuer\", \n    \"groupName_en-us\": \"Local Beacon\", \n    \"groupName_es\": \"Baliza local\", \n    \"groupName_fr\": \"Balise locale\", \n    \"groupName_it\": \"Local Beacon\", \n    \"groupName_ja\": \"ローカルビーコン\", \n    \"groupName_ko\": \"지역 비컨\", \n    \"groupName_ru\": \"Местный маяк\", \n    \"groupName_zh\": \"本地信标\", \n    \"groupNameID\": 896728, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4827\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4827, \n    \"groupName_de\": \"EDENCOM-Daten\", \n    \"groupName_en-us\": \"EDENCOM Data\", \n    \"groupName_es\": \"Datos de EDENCOM\", \n    \"groupName_fr\": \"Données EDENCOM\", \n    \"groupName_it\": \"EDENCOM Data\", \n    \"groupName_ja\": \"EDENCOMのデータ\", \n    \"groupName_ko\": \"EDENCOM 데이터\", \n    \"groupName_ru\": \"Данные ЭДЕНКОМа\", \n    \"groupName_zh\": \"伊甸联合防御阵线数据\", \n    \"groupNameID\": 1005117, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4828\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4828, \n    \"groupName_de\": \"Piraten-Spawner\", \n    \"groupName_en-us\": \"Pirate Spawners\", \n    \"groupName_es\": \"Generadores piratas\", \n    \"groupName_fr\": \"Spawners de pirates\", \n    \"groupName_it\": \"Pirate Spawners\", \n    \"groupName_ja\": \"海賊スポーナー\", \n    \"groupName_ko\": \"패적 생성기\", \n    \"groupName_ru\": \"Источники пиратов\", \n    \"groupName_zh\": \"海盗生成器\", \n    \"groupNameID\": 1005118, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4838\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 39, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4838, \n    \"groupName_de\": \"Sovereignty Hub Colony Resources Management Upgrades\", \n    \"groupName_en-us\": \"Sovereignty Hub Colony Resources Management Upgrades\", \n    \"groupName_es\": \"Mejoras de gestión de recursos de la colonia del centro de soberanía\", \n    \"groupName_fr\": \"Améliorations de gestion des ressources de colonie du pôle de souveraineté\", \n    \"groupName_it\": \"Sovereignty Hub Colony Resources Management Upgrades\", \n    \"groupName_ja\": \"領有権ハブのコロニーリソース管理アップグレード\", \n    \"groupName_ko\": \"소버린티 허브 콜로니 자원 관리 업그레이드\", \n    \"groupName_ru\": \"Улучшения управления ресурсами колоний для штаба владений\", \n    \"groupName_zh\": \"主权中心殖民地资源管理升级件\", \n    \"groupNameID\": 1009927, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4839\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 39, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4839, \n    \"groupName_de\": \"Sovereignty Hub System Effect Generator Upgrades\", \n    \"groupName_en-us\": \"Sovereignty Hub System Effect Generator Upgrades\", \n    \"groupName_es\": \"Mejoras del generador de efectos de sistema del centro de soberanía\", \n    \"groupName_fr\": \"Améliorations de générateur d'effet de système du pôle de souveraineté\", \n    \"groupName_it\": \"Sovereignty Hub System Effect Generator Upgrades\", \n    \"groupName_ja\": \"領有権ハブのシステム効果ジェネレーターアップグレード\", \n    \"groupName_ko\": \"소버린티 허브 성계 영향 발생기 업그레이드\", \n    \"groupName_ru\": \"Улучшения генератора эффектов системы для штаба владений\", \n    \"groupName_zh\": \"主权中心星系影响生成器升级件\", \n    \"groupNameID\": 1010226, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4843\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4843, \n    \"groupName_de\": \"Begrenzte Seltenheitsgrade\", \n    \"groupName_en-us\": \"Limited Rarities\", \n    \"groupName_es\": \"Rarezas limitadas\", \n    \"groupName_fr\": \"Raretés limitées\", \n    \"groupName_it\": \"Limited Rarities\", \n    \"groupName_ja\": \"限定アイテム\", \n    \"groupName_ko\": \"희귀도 제한\", \n    \"groupName_ru\": \"Эксклюзивные редкости\", \n    \"groupName_zh\": \"限量珍品\", \n    \"groupNameID\": 1010659, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4857\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 25, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4857, \n    \"groupName_de\": \"Tyranite\", \n    \"groupName_en-us\": \"Tyranite\", \n    \"groupName_es\": \"Tiranita\", \n    \"groupName_fr\": \"Tyranite\", \n    \"groupName_it\": \"Tyranite\", \n    \"groupName_ja\": \"ティラナイト\", \n    \"groupName_ko\": \"타이라나이트\", \n    \"groupName_ru\": \"Tyranite\", \n    \"groupName_zh\": \"泰拉石\", \n    \"groupNameID\": 1011290, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4900\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4900, \n    \"groupName_de\": \"Stability Telemetry\", \n    \"groupName_en-us\": \"Stability Telemetry\", \n    \"groupName_es\": \"Telemetría de estabilidad\", \n    \"groupName_fr\": \"Télémétrie de stabilité\", \n    \"groupName_it\": \"Stability Telemetry\", \n    \"groupName_ja\": \"安定性テレメトリデータ\", \n    \"groupName_ko\": \"안정화 텔레미터\", \n    \"groupName_ru\": \"Stability Telemetry\", \n    \"groupName_zh\": \"稳定性遥测\", \n    \"groupNameID\": 1016597, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4902\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4902, \n    \"groupName_de\": \"Expeditionskommandoschiff\", \n    \"groupName_en-us\": \"Expedition Command Ship\", \n    \"groupName_es\": \"Nave de mando de expedición\", \n    \"groupName_fr\": \"Vaisseau de commandement d'expédition\", \n    \"groupName_it\": \"Expedition Command Ship\", \n    \"groupName_ja\": \"指揮型探査船\", \n    \"groupName_ko\": \"탐사 커맨드쉽\", \n    \"groupName_ru\": \"Экспедиционный флагман\", \n    \"groupName_zh\": \"远征指挥舰\", \n    \"groupNameID\": 1017831, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4905\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 8, \n    \"fittableNonSingleton\": 1, \n    \"groupID\": 4905, \n    \"groupName_de\": \"Expeditionskommandostrahlenladungen\", \n    \"groupName_en-us\": \"Expedition Command Burst Charges\", \n    \"groupName_es\": \"Cargas de estallido de mando de expedición\", \n    \"groupName_fr\": \"Charges de salve de commandement d'expédition\", \n    \"groupName_it\": \"Expedition Command Burst Charges\", \n    \"groupName_ja\": \"探査コマンドバーストチャージ\", \n    \"groupName_ko\": \"탐사 커맨드 버스트 차지\", \n    \"groupName_ru\": \"Заряды экспедиционного импульсного оптимизатора\", \n    \"groupName_zh\": \"远征指挥脉冲波弹药\", \n    \"groupNameID\": 1017847, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4906\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4906, \n    \"groupName_de\": \"Bauplan für Expeditionskommandoschiff\", \n    \"groupName_en-us\": \"Expedition Command Ship Blueprint\", \n    \"groupName_es\": \"Plano de nave de mando de expedición\", \n    \"groupName_fr\": \"Plan de construction Vaisseau de commandement d'expédition\", \n    \"groupName_it\": \"Expedition Command Ship Blueprint\", \n    \"groupName_ja\": \"指揮型探査船設計図\", \n    \"groupName_ko\": \"탐사 커맨드쉽 블루프린트\", \n    \"groupName_ru\": \"Чертёж экспедиционного флагмана\", \n    \"groupName_zh\": \"远征指挥舰蓝图\", \n    \"groupNameID\": 1017929, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4909\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4909, \n    \"groupName_de\": \"Vorhuteinheiten\", \n    \"groupName_en-us\": \"Vanguard Entities\", \n    \"groupName_es\": \"Entidades de vanguardia\", \n    \"groupName_fr\": \"Entités Vanguard\", \n    \"groupName_it\": \"Vanguard Entities\", \n    \"groupName_ja\": \"ヴァンガードエンティティ\", \n    \"groupName_ko\": \"Vanguard 개체\", \n    \"groupName_ru\": \"Боевые единицы авангарда\", \n    \"groupName_zh\": \"先锋实体\", \n    \"groupNameID\": 1018583, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4913\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 22, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4913, \n    \"groupName_de\": \"Mobiler Phasenanker\", \n    \"groupName_en-us\": \"Mobile Phase Anchor\", \n    \"groupName_es\": \"Anclaje de fase móvil\", \n    \"groupName_fr\": \"Ancrage de phase mobile\", \n    \"groupName_it\": \"Mobile Phase Anchor\", \n    \"groupName_ja\": \"移動式位相アンカー\", \n    \"groupName_ko\": \"이동식 위상 고정기\", \n    \"groupName_ru\": \"Мобильный фазовый якорь\", \n    \"groupName_zh\": \"移动相位锚标\", \n    \"groupNameID\": 1019003, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4914\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4914, \n    \"groupName_de\": \"Bauplan für mobilen Phasenanker\", \n    \"groupName_en-us\": \"Mobile Phase Anchor Blueprint\", \n    \"groupName_es\": \"Plano de anclaje de fase móvil\", \n    \"groupName_fr\": \"Plan de construction Ancrage de phase mobile\", \n    \"groupName_it\": \"Mobile Phase Anchor Blueprint\", \n    \"groupName_ja\": \"移動式位相アンカー設計図\", \n    \"groupName_ko\": \"이동식 위상 고정기 블루프린트\", \n    \"groupName_ru\": \"Чертёж мобильного фазового якоря\", \n    \"groupName_zh\": \"移动相锚蓝图\", \n    \"groupNameID\": 1019014, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4915\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4915, \n    \"groupName_de\": \"Prismatizit\", \n    \"groupName_en-us\": \"Prismaticite\", \n    \"groupName_es\": \"Prismaticita\", \n    \"groupName_fr\": \"Prismaticite\", \n    \"groupName_it\": \"Prismaticite\", \n    \"groupName_ja\": \"プリズマティサイト\", \n    \"groupName_ko\": \"프리즈마티사이트\", \n    \"groupName_ru\": \"Призматицит\", \n    \"groupName_zh\": \"棱柱岩\", \n    \"groupNameID\": 1019022, \n    \"iconID\": 15, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"4916\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2152, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4916, \n    \"groupName_de\": \"Phasenasteroid\", \n    \"groupName_en-us\": \"Phased Asteroid\", \n    \"groupName_es\": \"Asteroide fásico\", \n    \"groupName_fr\": \"Astéroïde phasique\", \n    \"groupName_it\": \"Phased Asteroid\", \n    \"groupName_ja\": \"位相偏移アステロイド\", \n    \"groupName_ko\": \"위상 소행성\", \n    \"groupName_ru\": \"Фазовый астероид\", \n    \"groupName_zh\": \"相位小行星\", \n    \"groupNameID\": 1019025, \n    \"iconID\": 15, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4917\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4917, \n    \"groupName_de\": \"♦ Industrie-Kommandoschiffe\", \n    \"groupName_en-us\": \"♦ Industrial Command Ship\", \n    \"groupName_es\": \"♦ Nave de mando industrial\", \n    \"groupName_fr\": \"♦ Vaisseau de commandement industriel\", \n    \"groupName_it\": \"♦ Industrial Command Ship\", \n    \"groupName_ja\": \"♦ 指揮型輸送艦\", \n    \"groupName_ko\": \"♦ 인더스트리얼 커맨드쉽\", \n    \"groupName_ru\": \"♦ Флагман бурового флота\", \n    \"groupName_zh\": \"♦ 工业指挥舰\", \n    \"groupNameID\": 1019368, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4918\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4918, \n    \"groupName_de\": \"Phasenasteroid\", \n    \"groupName_en-us\": \"Phased Asteroid\", \n    \"groupName_es\": \"Asteroide fásico\", \n    \"groupName_fr\": \"Astéroïde phasique\", \n    \"groupName_it\": \"Phased Asteroid\", \n    \"groupName_ja\": \"位相偏移アステロイド\", \n    \"groupName_ko\": \"위상 소행성\", \n    \"groupName_ru\": \"Фазовый астероид\", \n    \"groupName_zh\": \"相位小行星\", \n    \"groupNameID\": 1019374, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4924\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 9, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4924, \n    \"groupName_de\": \"Erratische Erzformel\", \n    \"groupName_en-us\": \"Erratic Ore Formula\", \n    \"groupName_es\": \"Fórmula de mena errática\", \n    \"groupName_fr\": \"Formule de minerai erratique\", \n    \"groupName_it\": \"Erratic Ore Formula\", \n    \"groupName_ja\": \"不安定鉱石のフォーミュラ\", \n    \"groupName_ko\": \"불안정한 광물 계산식\", \n    \"groupName_ru\": \"Формула неустойчивой руды\", \n    \"groupName_zh\": \"不稳定矿石配方\", \n    \"groupNameID\": 1019501, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4930\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4930, \n    \"groupName_de\": \"Managed Asteroid Belt\", \n    \"groupName_en-us\": \"Managed Asteroid Belt\", \n    \"groupName_es\": \"Cinturón de asteroides controlado\", \n    \"groupName_fr\": \"Ceinture d'astéroïdes gérée\", \n    \"groupName_it\": \"Managed Asteroid Belt\", \n    \"groupName_ja\": \"管理アステロイドベルト\", \n    \"groupName_ko\": \"소속 소행성 벨트\", \n    \"groupName_ru\": \"Managed Asteroid Belt\", \n    \"groupName_zh\": \"受管理的小行星带\", \n    \"groupNameID\": 1019556, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4932\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 4, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4932, \n    \"groupName_de\": \"Unraffiniertes Mineral\", \n    \"groupName_en-us\": \"Unrefined Mineral\", \n    \"groupName_es\": \"Mineral sin refinar\", \n    \"groupName_fr\": \"Minéral non raffiné\", \n    \"groupName_it\": \"Unrefined Mineral\", \n    \"groupName_ja\": \"未精錬無機物\", \n    \"groupName_ko\": \"미가공 미네랄\", \n    \"groupName_ru\": \"Необработанный минерал\", \n    \"groupName_zh\": \"粗糙矿物\", \n    \"groupNameID\": 1019559, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4935\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4935, \n    \"groupName_de\": \"Eisgürtel\", \n    \"groupName_en-us\": \"Ice Belt\", \n    \"groupName_es\": \"Cinturón de hielo\", \n    \"groupName_fr\": \"Ceintures de glace\", \n    \"groupName_it\": \"Ice Belt\", \n    \"groupName_ja\": \"アイスベルト\", \n    \"groupName_ko\": \"아이스 벨트\", \n    \"groupName_ru\": \"Ледяной пояс\", \n    \"groupName_zh\": \"冰带\", \n    \"groupNameID\": 1019732, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4936\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4936, \n    \"groupName_de\": \"Phasenasteroidenfeld\", \n    \"groupName_en-us\": \"Phased Asteroid Field\", \n    \"groupName_es\": \"Campo de asteroides fásico\", \n    \"groupName_fr\": \"Champ d'astéroïdes phasique\", \n    \"groupName_it\": \"Phased Asteroid Field\", \n    \"groupName_ja\": \"位相偏移アステロイドフィールド\", \n    \"groupName_ko\": \"위상 소행성 지대\", \n    \"groupName_ru\": \"Скопление фазовых астероидов\", \n    \"groupName_zh\": \"相位小行星带\", \n    \"groupNameID\": 1019734, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4937\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4937, \n    \"groupName_de\": \"Seltenes Asteroidenfeld\", \n    \"groupName_en-us\": \"Rare Asteroid Field\", \n    \"groupName_es\": \"Campo de asteroides poco común\", \n    \"groupName_fr\": \"Champ d'astéroïdes rare\", \n    \"groupName_it\": \"Rare Asteroid Field\", \n    \"groupName_ja\": \"希少なアステロイドフィールド\", \n    \"groupName_ko\": \"희귀한 소행성 지대\", \n    \"groupName_ru\": \"Редкое скопление астероидов\", \n    \"groupName_zh\": \"稀有的小行星带\", \n    \"groupNameID\": 1019736, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4938\": {\n    \"anchorable\": 0, \n    \"anchored\": 1, \n    \"categoryID\": 2, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4938, \n    \"groupName_de\": \"Erzblagerung\", \n    \"groupName_en-us\": \"Ore Deposit\", \n    \"groupName_es\": \"Depósito de mena\", \n    \"groupName_fr\": \"Gisement de minerai\", \n    \"groupName_it\": \"Ore Deposit\", \n    \"groupName_ja\": \"鉱床\", \n    \"groupName_ko\": \"광물 매장지\", \n    \"groupName_ru\": \"Залежи руды\", \n    \"groupName_zh\": \"矿床\", \n    \"groupNameID\": 1019737, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4941\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 2152, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4941, \n    \"groupName_de\": \"QA-Phasenasteroiden\", \n    \"groupName_en-us\": \"QA Phased Asteroids\", \n    \"groupName_es\": \"Control de calidad de asteroides fásicos\", \n    \"groupName_fr\": \"Astéroïdes phasiques QA\", \n    \"groupName_it\": \"QA Phased Asteroids\", \n    \"groupName_ja\": \"QA位相偏移アステロイド\", \n    \"groupName_ko\": \"QA Phased Asteroids\", \n    \"groupName_ru\": \"Тестовые фазовые астероиды\", \n    \"groupName_zh\": \"QA相位小行星\", \n    \"groupNameID\": 1021186, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4945\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4945, \n    \"groupName_de\": \"Regelwidriges Expeditionskommandoschiff\", \n    \"groupName_en-us\": \"Irregular Expedition Command Ship\", \n    \"groupName_es\": \"Nave de mando de expedición irregular\", \n    \"groupName_fr\": \"Vaisseau de commandement d'expédition irrégulier\", \n    \"groupName_it\": \"Irregular Expedition Command Ship\", \n    \"groupName_ja\": \"非正規指揮型探査船\", \n    \"groupName_ko\": \"비정상적인 탐사 커맨드쉽\", \n    \"groupName_ru\": \"Необычный экспедиционный флагман\", \n    \"groupName_zh\": \"叛道者远征指挥舰\", \n    \"groupNameID\": 1021410, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4949\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4949, \n    \"groupName_de\": \"Interbus-Yoiul-LADs\", \n    \"groupName_en-us\": \"InterBus Yoiul LADs\", \n    \"groupName_es\": \"MAL de Yoiul de InterBus\", \n    \"groupName_fr\": \"LUTINs de Yoiul d'InterBus\", \n    \"groupName_it\": \"InterBus Yoiul LADs\", \n    \"groupName_ja\": \"インターバス・ヨイウルLAD\", \n    \"groupName_ko\": \"인터버스 요이얼 LAD\", \n    \"groupName_ru\": \"Йольские ГАДы консорциума «ИнтерБас»\", \n    \"groupName_zh\": \"星际捷运尤尔节自动化物流配送舰\", \n    \"groupNameID\": 1025585, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"4972\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4972, \n    \"groupName_de\": \"Verity-Kryo-Technologie\", \n    \"groupName_en-us\": \"Verity Cryo Tech\", \n    \"groupName_es\": \"Tecnología criogénica de Verity\", \n    \"groupName_fr\": \"Cryotechnologie de Verity\", \n    \"groupName_it\": \"Verity Cryo Tech\", \n    \"groupName_ja\": \"ヴェリティ・クライオテック\", \n    \"groupName_ko\": \"베리티 크라이오 장비\", \n    \"groupName_ru\": \"Криотехнология «Подлинных улучшений»\", \n    \"groupName_zh\": \"真理低温技术\", \n    \"groupNameID\": 1028940, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"4975\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 4975, \n    \"groupName_de\": \"Irreguläre Capital-Industrieschiffe\", \n    \"groupName_en-us\": \"Irregular Capital Industrial Ship\", \n    \"groupName_es\": \"Nave industrial capital irregular\", \n    \"groupName_fr\": \"Vaisseau industriel capital irrégulier\", \n    \"groupName_it\": \"Irregular Capital Industrial Ship\", \n    \"groupName_ja\": \"非正規採掘支援母艦\", \n    \"groupName_ko\": \"소속 불명 캐피탈 인더스트리얼\", \n    \"groupName_ru\": \"Необычный промышленный КБТ\", \n    \"groupName_zh\": \"异常旗舰级工业舰\", \n    \"groupNameID\": 1030693, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5032\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5032, \n    \"groupName_de\": \"Fertiger-Raubdrohnen\", \n    \"groupName_en-us\": \"Fabricator Rogue Drones\", \n    \"groupName_es\": \"Drones rebeldes de fabricador\", \n    \"groupName_fr\": \"Drones renégats Fabricateurs\", \n    \"groupName_it\": \"Fabricator Rogue Drones\", \n    \"groupName_ja\": \"ファブリケーターローグドローン\", \n    \"groupName_ko\": \"제작기 로그 드론\", \n    \"groupName_ru\": \"Восставшие дроны из сборщика\", \n    \"groupName_zh\": \"巢穴自由无人机\", \n    \"groupNameID\": 1034374, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5063\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5063, \n    \"groupName_de\": \"FK-Transporter des Imperiums der Amarr\", \n    \"groupName_en-us\": \"FW Amarr Empire Hauler\", \n    \"groupName_es\": \"Nave de mercancías de GF del Imperio Amarr\", \n    \"groupName_fr\": \"Cargo de l'Empire amarr de la GF\", \n    \"groupName_it\": \"FW Amarr Empire Hauler\", \n    \"groupName_ja\": \"FWアマー帝国ハウラー\", \n    \"groupName_ko\": \"FW 아마르 제국 운반선\", \n    \"groupName_ru\": \"Амаррский перевозчик в МВ\", \n    \"groupName_zh\": \"势力战争艾玛帝国运载舰\", \n    \"groupNameID\": 1035583, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5064\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5064, \n    \"groupName_de\": \"FK-Transporter des Staats der Caldari\", \n    \"groupName_en-us\": \"FW Caldari State Hauler\", \n    \"groupName_es\": \"Nave de mercancías de GF del Estado Caldari\", \n    \"groupName_fr\": \"Cargo de l'État caldari de la GF\", \n    \"groupName_it\": \"FW Caldari State Hauler\", \n    \"groupName_ja\": \"FWカルダリ連合ハウラー\", \n    \"groupName_ko\": \"FW 칼다리 연합 운반선\", \n    \"groupName_ru\": \"Калдарский перевозчик в МВ\", \n    \"groupName_zh\": \"势力战争加达里合众国运载舰\", \n    \"groupNameID\": 1035584, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5065\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5065, \n    \"groupName_de\": \"FK-Transporter der Föderation der Gallente\", \n    \"groupName_en-us\": \"FW Gallente Federation Hauler\", \n    \"groupName_es\": \"Nave de mercancías de GF de la Federación Gallente\", \n    \"groupName_fr\": \"Cargo de la Fédération gallente de la GF\", \n    \"groupName_it\": \"FW Gallente Federation Hauler\", \n    \"groupName_ja\": \"FWガレンテ連邦ハウラー\", \n    \"groupName_ko\": \"FW 갈란테 연방 운반선\", \n    \"groupName_ru\": \"Галлентский перевозчик в МВ\", \n    \"groupName_zh\": \"势力战争盖伦特联邦运载舰\", \n    \"groupNameID\": 1035585, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5066\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5066, \n    \"groupName_de\": \"FK-Transporter der Republik Minmatar\", \n    \"groupName_en-us\": \"FW Minmatar Republic Hauler\", \n    \"groupName_es\": \"Nave de mercancías de GF de la República Minmatar\", \n    \"groupName_fr\": \"Cargo de la République minmatar de la GF\", \n    \"groupName_it\": \"FW Minmatar Republic Hauler\", \n    \"groupName_ja\": \"FWミンマター共和国ハウラー\", \n    \"groupName_ko\": \"FW 민마타 공화국 운반선\", \n    \"groupName_ru\": \"Минматарский перевозчик в МВ\", \n    \"groupName_zh\": \"势力战争米玛塔尔共和国运载舰\", \n    \"groupNameID\": 1035586, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5067\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5067, \n    \"groupName_de\": \"Fertigerdaten\", \n    \"groupName_en-us\": \"Fabricator Data\", \n    \"groupName_es\": \"Datos de fabricador\", \n    \"groupName_fr\": \"Données de Fabricateur\", \n    \"groupName_it\": \"Fabricator Data\", \n    \"groupName_ja\": \"ファブリケーターのデータ\", \n    \"groupName_ko\": \"제작기 데이터\", \n    \"groupName_ru\": \"Данные сборщика\", \n    \"groupName_zh\": \"巢穴数据\", \n    \"groupNameID\": 1035590, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"5068\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 17, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5068, \n    \"groupName_de\": \"Vigilanzpunktdaten\", \n    \"groupName_en-us\": \"Vigilance Point Data\", \n    \"groupName_es\": \"Datos de punto de vigilancia\", \n    \"groupName_fr\": \"Données de point de Vigilance\", \n    \"groupName_it\": \"Vigilance Point Data\", \n    \"groupName_ja\": \"ヴィジランスポイントのデータ\", \n    \"groupName_ko\": \"비질런스 포인트 데이터\", \n    \"groupName_ru\": \"Данные из района Vigilance Spire\", \n    \"groupName_zh\": \"警戒点数据\", \n    \"groupNameID\": 1035692, \n    \"published\": 1, \n    \"useBasePrice\": 1\n  }, \n  \"5078\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5078, \n    \"groupName_de\": \"Moreaus Kapselpiloten- und Reichweitezentrum – Entitäten\", \n    \"groupName_en-us\": \"Moreau’s Capsuleer Outreach Center Entities\", \n    \"groupName_es\": \"Entidades del centro de campaña de capsulistas de Moreau\", \n    \"groupName_fr\": \"Entités de l'antenne de mobilisation des capsuliers pour Moreau\", \n    \"groupName_it\": \"Moreau’s Capsuleer Outreach Center Entities\", \n    \"groupName_ja\": \"モローのカプセラ向けアウトリーチセンターのエンティティ\", \n    \"groupName_ko\": \"모라우의 캡슐리어 선거 사무소 등록 개체\", \n    \"groupName_ru\": \"Центры поддержки Моро\", \n    \"groupName_zh\": \"莫罗的克隆飞行员外展中心实体\", \n    \"groupNameID\": 1037219, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5079\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5079, \n    \"groupName_de\": \"Tenzins Kapselpiloten- und Reichweitezentrum – Entitäten\", \n    \"groupName_en-us\": \"Tenzin’s Capsuleer Outreach Center Entities\", \n    \"groupName_es\": \"Entidades del centro de campaña de capsulistas de Tenzin\", \n    \"groupName_fr\": \"Entités de l'antenne de mobilisation des capsuliers pour Tenzin\", \n    \"groupName_it\": \"Tenzin’s Capsuleer Outreach Center Entities\", \n    \"groupName_ja\": \"テンジンのカプセラ向けアウトリーチセンターのエンティティ\", \n    \"groupName_ko\": \"텐진의 캡슐리어 선거 사무소 등록 개체\", \n    \"groupName_ru\": \"Центры поддержки Тендзина\", \n    \"groupName_zh\": \"丹增的克隆飞行员外展中心实体\", \n    \"groupNameID\": 1037221, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5080\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5080, \n    \"groupName_de\": \"Rodens Kapselpiloten- und Reichweitezentrum – Entitäten\", \n    \"groupName_en-us\": \"Roden’s Capsuleer Outreach Center Entities\", \n    \"groupName_es\": \"Entidades del centro de campaña de capsulistas de Roden\", \n    \"groupName_fr\": \"Entités de l'antenne de mobilisation des capsuliers pour Roden\", \n    \"groupName_it\": \"Roden’s Capsuleer Outreach Center Entities\", \n    \"groupName_ja\": \"ローデンのカプセラ向けアウトリーチセンターのエンティティ\", \n    \"groupName_ko\": \"로덴의 캡슐리어 선거 사무소 등록 개체\", \n    \"groupName_ru\": \"Центры поддержки Роден\", \n    \"groupName_zh\": \"莱登的克隆飞行员外展中心实体\", \n    \"groupNameID\": 1037222, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5082\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 30, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5082, \n    \"groupName_de\": \"Porträthintergründe\", \n    \"groupName_en-us\": \"Portrait Backgrounds\", \n    \"groupName_es\": \"Fondos de retrato\", \n    \"groupName_fr\": \"Arrière-plans de portrait\", \n    \"groupName_it\": \"Portrait Backgrounds\", \n    \"groupName_ja\": \"ポートレイト背景\", \n    \"groupName_ko\": \"초상화 배경\", \n    \"groupName_ru\": \"Фоны для портретов\", \n    \"groupName_zh\": \"人像背景\", \n    \"groupNameID\": 1037307, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"5087\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 6, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5087, \n    \"groupName_de\": \"Sonderversion Yachten\", \n    \"groupName_en-us\": \"Special Edition Yachts\", \n    \"groupName_es\": \"Yates de edición especial\", \n    \"groupName_fr\": \"Yacht édition spéciale\", \n    \"groupName_it\": \"Special Edition Yachts\", \n    \"groupName_ja\": \"特別版ヨット\", \n    \"groupName_ko\": \"스페셜 에디션 요트\", \n    \"groupName_ru\": \"Яхты ограниченной серии\", \n    \"groupName_zh\": \"特别版运载舰游艇\", \n    \"groupNameID\": 1038882, \n    \"published\": 1, \n    \"useBasePrice\": 0\n  }, \n  \"5089\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5089, \n    \"groupName_de\": \"Warpath Invaders - Battlecruisers\", \n    \"groupName_en-us\": \"Warpath Invaders - Battlecruisers\", \n    \"groupName_es\": \"Warpath Invaders - Battlecruisers\", \n    \"groupName_fr\": \"Warpath Invaders - Battlecruisers\", \n    \"groupName_it\": \"Warpath Invaders - Battlecruisers\", \n    \"groupName_ja\": \"Warpath Invaders - Battlecruisers\", \n    \"groupName_ko\": \"Warpath Invaders - Battlecruisers\", \n    \"groupName_ru\": \"Warpath Invaders - Battlecruisers\", \n    \"groupName_zh\": \"Warpath Invaders - Battlecruisers\", \n    \"groupNameID\": 1039572, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5090\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5090, \n    \"groupName_de\": \"Warpath Defenders -  Battlecruisers\", \n    \"groupName_en-us\": \"Warpath Defenders -  Battlecruisers\", \n    \"groupName_es\": \"Warpath Defenders -  Battlecruisers\", \n    \"groupName_fr\": \"Warpath Defenders -  Battlecruisers\", \n    \"groupName_it\": \"Warpath Defenders -  Battlecruisers\", \n    \"groupName_ja\": \"Warpath Defenders -  Battlecruisers\", \n    \"groupName_ko\": \"Warpath Defenders -  Battlecruisers\", \n    \"groupName_ru\": \"Warpath Defenders -  Battlecruisers\", \n    \"groupName_zh\": \"Warpath Defenders -  Battlecruisers\", \n    \"groupNameID\": 1039573, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5096\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5096, \n    \"groupName_de\": \"Warpath Elite Mercenaries - Battleships\", \n    \"groupName_en-us\": \"Warpath Elite Mercenaries - Battleships\", \n    \"groupName_es\": \"Warpath Elite Mercenaries - Battleships\", \n    \"groupName_fr\": \"Warpath Elite Mercenaries - Battleships\", \n    \"groupName_it\": \"Warpath Elite Mercenaries - Battleships\", \n    \"groupName_ja\": \"Warpath Elite Mercenaries - Battleships\", \n    \"groupName_ko\": \"Warpath Elite Mercenaries - Battleships\", \n    \"groupName_ru\": \"Warpath Elite Mercenaries - Battleships\", \n    \"groupName_zh\": \"Warpath Elite Mercenaries - Battleships\", \n    \"groupNameID\": 1040320, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5097\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5097, \n    \"groupName_de\": \"Warpath Elite Mercenaries - Cruisers\", \n    \"groupName_en-us\": \"Warpath Elite Mercenaries - Cruisers\", \n    \"groupName_es\": \"Warpath Elite Mercenaries - Cruisers\", \n    \"groupName_fr\": \"Warpath Elite Mercenaries - Cruisers\", \n    \"groupName_it\": \"Warpath Elite Mercenaries - Cruisers\", \n    \"groupName_ja\": \"Warpath Elite Mercenaries - Cruisers\", \n    \"groupName_ko\": \"Warpath Elite Mercenaries - Cruisers\", \n    \"groupName_ru\": \"Warpath Elite Mercenaries - Cruisers\", \n    \"groupName_zh\": \"Warpath Elite Mercenaries - Cruisers\", \n    \"groupNameID\": 1041279, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5098\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5098, \n    \"groupName_de\": \"Warpath Elite Mercenaries - Frigates\", \n    \"groupName_en-us\": \"Warpath Elite Mercenaries - Frigates\", \n    \"groupName_es\": \"Warpath Elite Mercenaries - Frigates\", \n    \"groupName_fr\": \"Warpath Elite Mercenaries - Frigates\", \n    \"groupName_it\": \"Warpath Elite Mercenaries - Frigates\", \n    \"groupName_ja\": \"Warpath Elite Mercenaries - Frigates\", \n    \"groupName_ko\": \"Warpath Elite Mercenaries - Frigates\", \n    \"groupName_ru\": \"Warpath Elite Mercenaries - Frigates\", \n    \"groupName_zh\": \"Warpath Elite Mercenaries - Frigates\", \n    \"groupNameID\": 1041280, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5099\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5099, \n    \"groupName_de\": \"Warpath Defenders - Cruisers\", \n    \"groupName_en-us\": \"Warpath Defenders - Cruisers\", \n    \"groupName_es\": \"Warpath Defenders - Cruisers\", \n    \"groupName_fr\": \"Warpath Defenders - Cruisers\", \n    \"groupName_it\": \"Warpath Defenders - Cruisers\", \n    \"groupName_ja\": \"Warpath Defenders - Cruisers\", \n    \"groupName_ko\": \"Warpath Defenders - Cruisers\", \n    \"groupName_ru\": \"Warpath Defenders - Cruisers\", \n    \"groupName_zh\": \"Warpath Defenders - Cruisers\", \n    \"groupNameID\": 1041326, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5100\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5100, \n    \"groupName_de\": \"Warpath Invaders - Cruisers\", \n    \"groupName_en-us\": \"Warpath Invaders - Cruisers\", \n    \"groupName_es\": \"Warpath Invaders - Cruisers\", \n    \"groupName_fr\": \"Warpath Invaders - Cruisers\", \n    \"groupName_it\": \"Warpath Invaders - Cruisers\", \n    \"groupName_ja\": \"Warpath Invaders - Cruisers\", \n    \"groupName_ko\": \"Warpath Invaders - Cruisers\", \n    \"groupName_ru\": \"Warpath Invaders - Cruisers\", \n    \"groupName_zh\": \"Warpath Invaders - Cruisers\", \n    \"groupNameID\": 1041327, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5101\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5101, \n    \"groupName_de\": \"Warpath Defenders - Frigates\", \n    \"groupName_en-us\": \"Warpath Defenders - Frigates\", \n    \"groupName_es\": \"Warpath Defenders - Frigates\", \n    \"groupName_fr\": \"Warpath Defenders - Frigates\", \n    \"groupName_it\": \"Warpath Defenders - Frigates\", \n    \"groupName_ja\": \"Warpath Defenders - Frigates\", \n    \"groupName_ko\": \"Warpath Defenders - Frigates\", \n    \"groupName_ru\": \"Warpath Defenders - Frigates\", \n    \"groupName_zh\": \"Warpath Defenders - Frigates\", \n    \"groupNameID\": 1041328, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"5102\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 11, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 5102, \n    \"groupName_de\": \"Warpath Invaders - Frigates\", \n    \"groupName_en-us\": \"Warpath Invaders - Frigates\", \n    \"groupName_es\": \"Warpath Invaders - Frigates\", \n    \"groupName_fr\": \"Warpath Invaders - Frigates\", \n    \"groupName_it\": \"Warpath Invaders - Frigates\", \n    \"groupName_ja\": \"Warpath Invaders - Frigates\", \n    \"groupName_ko\": \"Warpath Invaders - Frigates\", \n    \"groupName_ru\": \"Warpath Invaders - Frigates\", \n    \"groupName_zh\": \"Warpath Invaders - Frigates\", \n    \"groupNameID\": 1041329, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"350858\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 350858, \n    \"groupName_de\": \"Infanteriewaffen\", \n    \"groupName_en-us\": \"Infantry Weapons\", \n    \"groupName_es\": \"Armas de infantería\", \n    \"groupName_fr\": \"Armes d'infanterie\", \n    \"groupName_it\": \"Infantry Weapons\", \n    \"groupName_ja\": \"歩兵武器\", \n    \"groupName_ko\": \"보병 무기\", \n    \"groupName_ru\": \"Пехотное оружие\", \n    \"groupName_zh\": \"Infantry Weapons\", \n    \"groupNameID\": 278207, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"351064\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 351064, \n    \"groupName_de\": \"Infanterie-Dropsuits\", \n    \"groupName_en-us\": \"Infantry Dropsuits\", \n    \"groupName_es\": \"Trajes de infantería\", \n    \"groupName_fr\": \"Combinaison d'infanterie\", \n    \"groupName_it\": \"Infantry Dropsuits\", \n    \"groupName_ja\": \"歩兵降下スーツ\", \n    \"groupName_ko\": \"보병 강하슈트\", \n    \"groupName_ru\": \"Десантные скафандры\", \n    \"groupName_zh\": \"Infantry Dropsuits\", \n    \"groupNameID\": 278208, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"351121\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 351121, \n    \"groupName_de\": \"Infanteriemodule\", \n    \"groupName_en-us\": \"Infantry Modules\", \n    \"groupName_es\": \"Módulos de infantería\", \n    \"groupName_fr\": \"Modules d'infanterie\", \n    \"groupName_it\": \"Infantry Modules\", \n    \"groupName_ja\": \"歩兵モジュール\", \n    \"groupName_ko\": \"보병 모듈\", \n    \"groupName_ru\": \"Пехотные модули\", \n    \"groupName_zh\": \"Infantry Modules\", \n    \"groupNameID\": 278209, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"351210\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 351210, \n    \"groupName_de\": \"Infanteriefahrzeuge\", \n    \"groupName_en-us\": \"Infantry Vehicles\", \n    \"groupName_es\": \"Vehículos de infantería\", \n    \"groupName_fr\": \"Véhicules d'infanterie\", \n    \"groupName_it\": \"Infantry Vehicles\", \n    \"groupName_ja\": \"歩兵ビークル\", \n    \"groupName_ko\": \"보병 차량\", \n    \"groupName_ru\": \"Пехотный транспорт\", \n    \"groupName_zh\": \"Infantry Vehicles\", \n    \"groupNameID\": 278211, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"351648\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 351648, \n    \"groupName_de\": \"Infanterie-Skills\", \n    \"groupName_en-us\": \"Infantry Skills\", \n    \"groupName_es\": \"Habilidades de infantería\", \n    \"groupName_fr\": \"Compétences d'infanterie\", \n    \"groupName_it\": \"Infantry Skills\", \n    \"groupName_ja\": \"歩兵スキル\", \n    \"groupName_ko\": \"보병 스킬\", \n    \"groupName_ru\": \"Пехотные навыки\", \n    \"groupName_zh\": \"Infantry Skills\", \n    \"groupNameID\": 278210, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"351844\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 351844, \n    \"groupName_de\": \"Infanterieausrüstung\", \n    \"groupName_en-us\": \"Infantry Equipment\", \n    \"groupName_es\": \"Equipo de infantería\", \n    \"groupName_fr\": \"Équipement d'infanterie\", \n    \"groupName_it\": \"Infantry Equipment\", \n    \"groupName_ja\": \"歩兵装備\", \n    \"groupName_ko\": \"보병 장비\", \n    \"groupName_ru\": \"Пехотное оборудование\", \n    \"groupName_zh\": \"Infantry Equipment\", \n    \"groupNameID\": 278206, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"354641\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 354641, \n    \"groupName_de\": \"Infanterie-Skill-Verbesserer\", \n    \"groupName_en-us\": \"Infantry Skill Enhancers\", \n    \"groupName_es\": \"Intensificadores de habilidad de infantería\", \n    \"groupName_fr\": \"Optimisateur de compétences d'infanterie\", \n    \"groupName_it\": \"Infantry Skill Enhancers\", \n    \"groupName_ja\": \"歩兵スキルエンハンサー\", \n    \"groupName_ko\": \"보병 스킬 향상장치\", \n    \"groupName_ru\": \"Пехотные усилители навыков\", \n    \"groupName_zh\": \"Infantry Skill Enhancers\", \n    \"groupNameID\": 278213, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"354753\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 354753, \n    \"groupName_de\": \"Infanterieinstallationen\", \n    \"groupName_en-us\": \"Infantry Installations\", \n    \"groupName_es\": \"Instalaciones de infantería\", \n    \"groupName_fr\": \"Installations d'infanterie\", \n    \"groupName_it\": \"Infantry Installations\", \n    \"groupName_ja\": \"歩兵施設\", \n    \"groupName_ko\": \"보병 시설\", \n    \"groupName_ru\": \"Пехотные установки\", \n    \"groupName_zh\": \"Infantry Installations\", \n    \"groupNameID\": 278212, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"364204\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 364204, \n    \"groupName_de\": \"Oberflächen-Infrastruktur\", \n    \"groupName_en-us\": \"Surface Infrastructure\", \n    \"groupName_es\": \"Infraestructura de superficie\", \n    \"groupName_fr\": \"Infrastructure\", \n    \"groupName_it\": \"Infrastruttura di superficie\", \n    \"groupName_ja\": \"サーフェス領域管理\", \n    \"groupName_ko\": \"지표면 인프라\", \n    \"groupName_ru\": \"Инфраструктура на поверхности\", \n    \"groupName_zh\": \"地表设施\", \n    \"groupNameID\": 286999, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"367487\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 367487, \n    \"groupName_de\": \"Leistungen\", \n    \"groupName_en-us\": \"Services\", \n    \"groupName_es\": \"Servicios\", \n    \"groupName_fr\": \"Services\", \n    \"groupName_it\": \"Servizi\", \n    \"groupName_ja\": \"サービス\", \n    \"groupName_ko\": \"서비스\", \n    \"groupName_ru\": \"Услуги\", \n    \"groupName_zh\": \"服务\", \n    \"groupNameID\": 296571, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"367580\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 367580, \n    \"groupName_de\": \"Agenten\", \n    \"groupName_en-us\": \"Agents\", \n    \"groupName_es\": \"Agentes\", \n    \"groupName_fr\": \"Agents\", \n    \"groupName_it\": \"Agenti\", \n    \"groupName_ja\": \"エージェント\", \n    \"groupName_ko\": \"에이전트\", \n    \"groupName_ru\": \"Агенты\", \n    \"groupName_zh\": \"代理人\", \n    \"groupNameID\": 296701, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"367594\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 367594, \n    \"groupName_de\": \"Visuelle Anpassung\", \n    \"groupName_en-us\": \"Visual Customization\", \n    \"groupName_es\": \"Personalización visual\", \n    \"groupName_fr\": \"Personnalisation visuelle\", \n    \"groupName_it\": \"Personalizzazione visiva\", \n    \"groupName_ja\": \"ビジュアルカスタマイズ\", \n    \"groupName_ko\": \"외관 커스터마이징\", \n    \"groupName_ru\": \"Кастомизация внешнего вида\", \n    \"groupName_zh\": \"视觉效果自定义\", \n    \"groupNameID\": 296754, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"367774\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 367774, \n    \"groupName_de\": \"Materialbergungs-Container\", \n    \"groupName_en-us\": \"Salvage Containers\", \n    \"groupName_es\": \"Contenedores de los objetos recuperados\", \n    \"groupName_fr\": \"Récupérer conteneurs\", \n    \"groupName_it\": \"Container materiale recuperato\", \n    \"groupName_ja\": \"回収品コンテナ\", \n    \"groupName_ko\": \"샐비지 컨테이너\", \n    \"groupName_ru\": \"Контейнеры для добычи\", \n    \"groupName_zh\": \"打捞货柜\", \n    \"groupNameID\": 297341, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"367776\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 367776, \n    \"groupName_de\": \"Materialbergungs-Decodierer\", \n    \"groupName_en-us\": \"Salvage Decryptors\", \n    \"groupName_es\": \"Desencriptadores de los objetos recuperados\", \n    \"groupName_fr\": \"Récupérer décrypteurs\", \n    \"groupName_it\": \"Chiavi crittografiche materiale recuperato\", \n    \"groupName_ja\": \"回収品ディクリプタ\", \n    \"groupName_ko\": \"샐비지 해독기\", \n    \"groupName_ru\": \"Дешифраторы для добычи\", \n    \"groupName_zh\": \"打捞解码器\", \n    \"groupNameID\": 297343, \n    \"published\": 0, \n    \"useBasePrice\": 0\n  }, \n  \"368656\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 368656, \n    \"groupName_de\": \"Schlacht-Materialbergung\", \n    \"groupName_en-us\": \"Battle Salvage\", \n    \"groupName_es\": \"Despojos de batalla\", \n    \"groupName_fr\": \"Récupération de la bataille\", \n    \"groupName_it\": \"Materiale recuperato in battaglia\", \n    \"groupName_ja\": \"バトルサルベージ\", \n    \"groupName_ko\": \"전투 샐비지\", \n    \"groupName_ru\": \"Боевые трофеи\", \n    \"groupName_zh\": \"Battle Salvage\", \n    \"groupNameID\": 299923, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"368666\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 368666, \n    \"groupName_de\": \"ANGRIFFSTRANSPORTER\", \n    \"groupName_en-us\": \"Warbarge\", \n    \"groupName_es\": \"TRANSPORTADOR DE GUERRA\", \n    \"groupName_fr\": \"BARGE DE GUERRE\", \n    \"groupName_it\": \"VASCELLO DA GUERRA\", \n    \"groupName_ja\": \"将官艇\", \n    \"groupName_ko\": \"전투선\", \n    \"groupName_ru\": \"ДЕСАНТНАЯ БАРЖА\", \n    \"groupName_zh\": \"Warbarge\", \n    \"groupNameID\": 299981, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }, \n  \"368726\": {\n    \"anchorable\": 0, \n    \"anchored\": 0, \n    \"categoryID\": 350001, \n    \"fittableNonSingleton\": 0, \n    \"groupID\": 368726, \n    \"groupName_de\": \"Infanterie: Skinfarbe\", \n    \"groupName_en-us\": \"Infantry Color Skin\", \n    \"groupName_es\": \"Color de infantería\", \n    \"groupName_fr\": \"Couleur de peau de l'infanterie\", \n    \"groupName_it\": \"Colore skin fanteria\", \n    \"groupName_ja\": \"歩兵カラースキン\", \n    \"groupName_ko\": \"보병 컬러 스킨\", \n    \"groupName_ru\": \"Цветной скин пехоты\", \n    \"groupName_zh\": \"Infantry Color Skin\", \n    \"groupNameID\": 305415, \n    \"published\": 0, \n    \"useBasePrice\": 1\n  }\n}"
  },
  {
    "path": "staticdata/fsd_built/iconids.0.json",
    "content": "{\n  \"0\": {\n    \"iconFile\": \"res:/ui/texture/icons/7_64_15.png\"\n  }, \n  \"15\": {\n    \"iconFile\": \"res:/ui/texture/icons/5_64_11.png\"\n  }, \n  \"16\": {\n    \"iconFile\": \"res:/ui/texture/icons/26_64_11.png\"\n  }, \n  \"21\": {\n    \"iconFile\": \"res:/ui/texture/icons/6_64_3.png\"\n  }, \n  \"22\": {\n    \"iconFile\": \"res:/ui/texture/icons/6_64_14.png\"\n  }, \n  \"26\": {\n    \"iconFile\": \"res:/ui/texture/icons/6_64_5.png\"\n  }, \n  \"27\": {\n    \"iconFile\": \"res:/ui/texture/icons/6_64_11.png\"\n  }, \n  \"28\": {\n    \"iconFile\": \"res:/ui/texture/icons/6_64_9.png\"\n  }, \n  \"29\": {\n    \"iconFile\": \"res:/ui/texture/icons/6_64_6.png\"\n  }, \n  \"30\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_8.png\"\n  }, \n  \"31\": {\n    \"iconFile\": \"res:/ui/texture/icons/6_64_10.png\"\n  }, \n  \"33\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_11.png\"\n  }, \n  \"34\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_16.png\"\n  }, \n  \"67\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_9.png\"\n  }, \n  \"68\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_9.png\"\n  }, \n  \"69\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_13.png\"\n  }, \n  \"70\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_7.png\"\n  }, \n  \"71\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_13.png\"\n  }, \n  \"72\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_1.png\"\n  }, \n  \"73\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_14.png\"\n  }, \n  \"74\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_9.png\"\n  }, \n  \"75\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_13.png\"\n  }, \n  \"76\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_10.png\"\n  }, \n  \"77\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_11.png\"\n  }, \n  \"78\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_12.png\"\n  }, \n  \"79\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_10.png\"\n  }, \n  \"80\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_11.png\"\n  }, \n  \"81\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_2.png\"\n  }, \n  \"82\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_4.png\"\n  }, \n  \"83\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_15.png\"\n  }, \n  \"84\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_3.png\"\n  }, \n  \"85\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_1.png\"\n  }, \n  \"86\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_16.png\"\n  }, \n  \"87\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_14.png\"\n  }, \n  \"88\": {\n    \"iconFile\": \"res:/ui/texture/icons/4_64_8.png\"\n  }, \n  \"89\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_4.png\"\n  }, \n  \"90\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_1.png\"\n  }, \n  \"91\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/tether.png\"\n  }, \n  \"92\": {\n    \"iconFile\": \"res:/ui/texture/icons/4_64_13.png\"\n  }, \n  \"93\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_15.png\"\n  }, \n  \"94\": {\n    \"iconFile\": \"res:/ui/texture/icons/4_64_14.png\"\n  }, \n  \"95\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_14.png\"\n  }, \n  \"96\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_2.png\"\n  }, \n  \"97\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_8.png\"\n  }, \n  \"98\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_5.png\"\n  }, \n  \"104\": {\n    \"iconFile\": \"res:/ui/texture/icons/4_64_10.png\"\n  }, \n  \"105\": {\n    \"iconFile\": \"res:/ui/texture/icons/4_64_11.png\"\n  }, \n  \"106\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_11.png\"\n  }, \n  \"107\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_10.png\"\n  }, \n  \"109\": {\n    \"iconFile\": \"res:/ui/texture/icons/4_64_12.png\"\n  }, \n  \"110\": {\n    \"iconFile\": \"res:/ui/texture/icons/5_64_1.png\"\n  }, \n  \"111\": {\n    \"iconFile\": \"res:/ui/texture/icons/4_64_9.png\"\n  }, \n  \"112\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_4.png\"\n  }, \n  \"138\": {\n    \"iconFile\": \"res:/ui/texture/icons/4_64_1.png\"\n  }, \n  \"168\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_12.png\"\n  }, \n  \"169\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_12.png\"\n  }, \n  \"170\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_16.png\"\n  }, \n  \"182\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_16.png\"\n  }, \n  \"183\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_4.png\"\n  }, \n  \"184\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_8.png\"\n  }, \n  \"185\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_12.png\"\n  }, \n  \"186\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_10.png\"\n  }, \n  \"187\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_14.png\"\n  }, \n  \"188\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_6.png\"\n  }, \n  \"189\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_2.png\"\n  }, \n  \"190\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_4.png\"\n  }, \n  \"191\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_8.png\"\n  }, \n  \"192\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_16.png\"\n  }, \n  \"193\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_12.png\"\n  }, \n  \"230\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_2.png\"\n  }, \n  \"231\": {\n    \"iconFile\": \"res:/ui/texture/icons/23_64_16.png\"\n  }, \n  \"232\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_1.png\"\n  }, \n  \"293\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_11.png\"\n  }, \n  \"294\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_10.png\"\n  }, \n  \"295\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_9.png\"\n  }, \n  \"349\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_5.png\"\n  }, \n  \"350\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_13.png\"\n  }, \n  \"352\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_9.png\"\n  }, \n  \"355\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_10.png\"\n  }, \n  \"356\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_14.png\"\n  }, \n  \"360\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_15.png\"\n  }, \n  \"361\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_11.png\"\n  }, \n  \"365\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_3.png\"\n  }, \n  \"366\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_7.png\"\n  }, \n  \"370\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_6.png\"\n  }, \n  \"371\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_2.png\"\n  }, \n  \"376\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_1.png\"\n  }, \n  \"379\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_15.png\"\n  }, \n  \"381\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_11.png\"\n  }, \n  \"384\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_14.png\"\n  }, \n  \"386\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_10.png\"\n  }, \n  \"387\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_9.png\"\n  }, \n  \"389\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_13.png\"\n  }, \n  \"398\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_5.png\"\n  }, \n  \"400\": {\n    \"iconFile\": \"res:/ui/texture/icons/6_64_15.png\"\n  }, \n  \"401\": {\n    \"iconFile\": \"res:/ui/texture/icons/6_64_12.png\"\n  }, \n  \"402\": {\n    \"iconFile\": \"res:/ui/texture/icons/6_64_16.png\"\n  }, \n  \"404\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_11.png\"\n  }, \n  \"405\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_10.png\"\n  }, \n  \"413\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_12.png\"\n  }, \n  \"998\": {\n    \"iconFile\": \"res:/ui/texture/icons/9_64_9.png\"\n  }, \n  \"999\": {\n    \"iconFile\": \"res:/ui/texture/icons/9_64_11.png\"\n  }, \n  \"1001\": {\n    \"iconFile\": \"res:/ui/texture/icons/9_64_10.png\"\n  }, \n  \"1002\": {\n    \"iconFile\": \"res:/ui/texture/icons/9_64_8.png\"\n  }, \n  \"1004\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_1.png\"\n  }, \n  \"1007\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_8.png\"\n  }, \n  \"1029\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_3.png\"\n  }, \n  \"1030\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_8.png\"\n  }, \n  \"1031\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_6.png\"\n  }, \n  \"1033\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_7.png\"\n  }, \n  \"1035\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_2.png\"\n  }, \n  \"1036\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_6.png\"\n  }, \n  \"1041\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_6.png\"\n  }, \n  \"1042\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_12.png\"\n  }, \n  \"1044\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_5.png\"\n  }, \n  \"1046\": {\n    \"iconFile\": \"res:/ui/texture/icons/5_64_12.png\"\n  }, \n  \"1047\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_9.png\"\n  }, \n  \"1061\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_8.png\"\n  }, \n  \"1063\": {\n    \"iconFile\": \"res:/ui/texture/icons/5_64_16.png\"\n  }, \n  \"1084\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_16.png\"\n  }, \n  \"1131\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_1.png\"\n  }, \n  \"1139\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_2.png\"\n  }, \n  \"1140\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_3.png\"\n  }, \n  \"1141\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_4.png\"\n  }, \n  \"1142\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_5.png\"\n  }, \n  \"1143\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_6.png\"\n  }, \n  \"1144\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_7.png\"\n  }, \n  \"1145\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_8.png\"\n  }, \n  \"1156\": {\n    \"iconFile\": \"res:/ui/texture/icons/26_64_14.png\"\n  }, \n  \"1157\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_8.png\"\n  }, \n  \"1158\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_7.png\"\n  }, \n  \"1159\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_6.png\"\n  }, \n  \"1162\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_12.png\"\n  }, \n  \"1163\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_11.png\"\n  }, \n  \"1164\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_10.png\"\n  }, \n  \"1168\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_16.png\"\n  }, \n  \"1169\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_15.png\"\n  }, \n  \"1170\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_14.png\"\n  }, \n  \"1171\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_5.png\"\n  }, \n  \"1172\": {\n    \"iconFile\": \"res:/ui/texture/icons/26_64_16.png\"\n  }, \n  \"1173\": {\n    \"iconFile\": \"res:/ui/texture/icons/26_64_15.png\"\n  }, \n  \"1174\": {\n    \"iconFile\": \"res:/ui/texture/icons/26_64_13.png\"\n  }, \n  \"1175\": {\n    \"iconFile\": \"res:/ui/texture/icons/26_64_12.png\"\n  }, \n  \"1177\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_5.png\"\n  }, \n  \"1178\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_4.png\"\n  }, \n  \"1179\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_3.png\"\n  }, \n  \"1180\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_1.png\"\n  }, \n  \"1181\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_2.png\"\n  }, \n  \"1182\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_6.png\"\n  }, \n  \"1183\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_7.png\"\n  }, \n  \"1184\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_8.png\"\n  }, \n  \"1185\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_9.png\"\n  }, \n  \"1186\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_10.png\"\n  }, \n  \"1187\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_11.png\"\n  }, \n  \"1188\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_12.png\"\n  }, \n  \"1189\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_13.png\"\n  }, \n  \"1190\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_14.png\"\n  }, \n  \"1191\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_15.png\"\n  }, \n  \"1192\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_16.png\"\n  }, \n  \"1193\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_1.png\"\n  }, \n  \"1194\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_2.png\"\n  }, \n  \"1195\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_3.png\"\n  }, \n  \"1196\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_4.png\"\n  }, \n  \"1198\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_6.png\"\n  }, \n  \"1199\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_7.png\"\n  }, \n  \"1200\": {\n    \"iconFile\": \"res:/ui/texture/icons/6_64_13.png\"\n  }, \n  \"1201\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_9.png\"\n  }, \n  \"1204\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_12.png\"\n  }, \n  \"1205\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_13.png\"\n  }, \n  \"1206\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_14.png\"\n  }, \n  \"1207\": {\n    \"iconFile\": \"res:/ui/texture/icons/11_64_15.png\"\n  }, \n  \"1209\": {\n    \"iconFile\": \"res:/ui/texture/icons/7_64_16.png\"\n  }, \n  \"1269\": {\n    \"iconFile\": \"res:/ui/texture/icons/23_64_9.png\"\n  }, \n  \"1270\": {\n    \"iconFile\": \"res:/ui/texture/icons/23_64_12.png\"\n  }, \n  \"1271\": {\n    \"iconFile\": \"res:/ui/texture/icons/23_64_13.png\"\n  }, \n  \"1272\": {\n    \"iconFile\": \"res:/ui/texture/icons/23_64_7.png\"\n  }, \n  \"1273\": {\n    \"iconFile\": \"res:/ui/texture/icons/23_64_6.png\"\n  }, \n  \"1274\": {\n    \"iconFile\": \"res:/ui/texture/icons/23_64_14.png\"\n  }, \n  \"1275\": {\n    \"iconFile\": \"res:/ui/texture/icons/23_64_8.png\"\n  }, \n  \"1277\": {\n    \"iconFile\": \"res:/ui/texture/icons/23_64_5.png\"\n  }, \n  \"1279\": {\n    \"iconFile\": \"res:/ui/texture/icons/23_64_11.png\"\n  }, \n  \"1282\": {\n    \"iconFile\": \"res:/ui/texture/icons/23_64_10.png\"\n  }, \n  \"1283\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_4.png\"\n  }, \n  \"1284\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_6.png\"\n  }, \n  \"1285\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_2.png\"\n  }, \n  \"1286\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_3.png\"\n  }, \n  \"1287\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_4.png\"\n  }, \n  \"1288\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_5.png\"\n  }, \n  \"1289\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_6.png\"\n  }, \n  \"1290\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_7.png\"\n  }, \n  \"1291\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_8.png\"\n  }, \n  \"1292\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_9.png\"\n  }, \n  \"1293\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_10.png\"\n  }, \n  \"1294\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_11.png\"\n  }, \n  \"1295\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_12.png\"\n  }, \n  \"1296\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_13.png\"\n  }, \n  \"1297\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_14.png\"\n  }, \n  \"1298\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_15.png\"\n  }, \n  \"1299\": {\n    \"iconFile\": \"res:/ui/texture/icons/14_64_16.png\"\n  }, \n  \"1300\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_1.png\"\n  }, \n  \"1301\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_2.png\"\n  }, \n  \"1302\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_3.png\"\n  }, \n  \"1303\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_4.png\"\n  }, \n  \"1304\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_5.png\"\n  }, \n  \"1305\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_6.png\"\n  }, \n  \"1306\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_7.png\"\n  }, \n  \"1307\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_8.png\"\n  }, \n  \"1310\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_10.png\"\n  }, \n  \"1311\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_11.png\"\n  }, \n  \"1312\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_12.png\"\n  }, \n  \"1313\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_13.png\"\n  }, \n  \"1314\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_14.png\"\n  }, \n  \"1315\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_15.png\"\n  }, \n  \"1316\": {\n    \"iconFile\": \"res:/ui/texture/icons/15_64_16.png\"\n  }, \n  \"1317\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_1.png\"\n  }, \n  \"1318\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_2.png\"\n  }, \n  \"1319\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_3.png\"\n  }, \n  \"1320\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_4.png\"\n  }, \n  \"1321\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_5.png\"\n  }, \n  \"1322\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_6.png\"\n  }, \n  \"1323\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_7.png\"\n  }, \n  \"1324\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_8.png\"\n  }, \n  \"1325\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_9.png\"\n  }, \n  \"1326\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_10.png\"\n  }, \n  \"1327\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_11.png\"\n  }, \n  \"1328\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_12.png\"\n  }, \n  \"1329\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_13.png\"\n  }, \n  \"1330\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_14.png\"\n  }, \n  \"1331\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_15.png\"\n  }, \n  \"1332\": {\n    \"iconFile\": \"res:/ui/texture/icons/16_64_16.png\"\n  }, \n  \"1333\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_1.png\"\n  }, \n  \"1334\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_5.png\"\n  }, \n  \"1335\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_9.png\"\n  }, \n  \"1336\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_13.png\"\n  }, \n  \"1337\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_7.png\"\n  }, \n  \"1338\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_11.png\"\n  }, \n  \"1339\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_15.png\"\n  }, \n  \"1340\": {\n    \"iconFile\": \"res:/ui/texture/icons/20_64_3.png\"\n  }, \n  \"1341\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_1.png\"\n  }, \n  \"1342\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_5.png\"\n  }, \n  \"1343\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_9.png\"\n  }, \n  \"1344\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_13.png\"\n  }, \n  \"1345\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_16.png\"\n  }, \n  \"1346\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_2.png\"\n  }, \n  \"1347\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_6.png\"\n  }, \n  \"1348\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_10.png\"\n  }, \n  \"1349\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_14.png\"\n  }, \n  \"1350\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_3.png\"\n  }, \n  \"1351\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_7.png\"\n  }, \n  \"1352\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_15.png\"\n  }, \n  \"1353\": {\n    \"iconFile\": \"res:/ui/texture/icons/21_64_11.png\"\n  }, \n  \"1356\": {\n    \"iconFile\": \"res:/ui/texture/icons/23_64_15.png\"\n  }, \n  \"1357\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_3.png\"\n  }, \n  \"1358\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_4.png\"\n  }, \n  \"1359\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_5.png\"\n  }, \n  \"1360\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_6.png\"\n  }, \n  \"1361\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_7.png\"\n  }, \n  \"1362\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_8.png\"\n  }, \n  \"1363\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_9.png\"\n  }, \n  \"1364\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_10.png\"\n  }, \n  \"1365\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_11.png\"\n  }, \n  \"1366\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_12.png\"\n  }, \n  \"1367\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_13.png\"\n  }, \n  \"1368\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_14.png\"\n  }, \n  \"1369\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_15.png\"\n  }, \n  \"1370\": {\n    \"iconFile\": \"res:/ui/texture/icons/24_64_16.png\"\n  }, \n  \"1377\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_1.png\"\n  }, \n  \"1378\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_1.png\"\n  }, \n  \"1379\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_2.png\"\n  }, \n  \"1380\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_3.png\"\n  }, \n  \"1381\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_4.png\"\n  }, \n  \"1382\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_5.png\"\n  }, \n  \"1383\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_6.png\"\n  }, \n  \"1384\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_7.png\"\n  }, \n  \"1385\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_9.png\"\n  }, \n  \"1386\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_10.png\"\n  }, \n  \"1387\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_11.png\"\n  }, \n  \"1388\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_12.png\"\n  }, \n  \"1389\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_13.png\"\n  }, \n  \"1390\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_14.png\"\n  }, \n  \"1391\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_15.png\"\n  }, \n  \"1392\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_16.png\"\n  }, \n  \"1393\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_9.png\"\n  }, \n  \"1394\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_10.png\"\n  }, \n  \"1395\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_11.png\"\n  }, \n  \"1396\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_12.png\"\n  }, \n  \"1397\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_21.png\"\n  }, \n  \"1398\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_22.png\"\n  }, \n  \"1399\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_23.png\"\n  }, \n  \"1400\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_7.png\"\n  }, \n  \"1401\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_24.png\"\n  }, \n  \"1405\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_7.png\"\n  }, \n  \"1406\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_2.png\"\n  }, \n  \"1432\": {\n    \"iconFile\": \"res:/ui/texture/icons/26_64_1.png\"\n  }, \n  \"1433\": {\n    \"iconFile\": \"res:/ui/texture/icons/26_64_2.png\"\n  }, \n  \"1434\": {\n    \"iconFile\": \"res:/ui/texture/icons/26_64_3.png\"\n  }, \n  \"1435\": {\n    \"iconFile\": \"res:/ui/texture/icons/26_64_4.png\"\n  }, \n  \"1436\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_1.png\"\n  }, \n  \"1437\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_2.png\"\n  }, \n  \"1438\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_3.png\"\n  }, \n  \"1439\": {\n    \"iconFile\": \"res:/ui/texture/icons/19_128_1.png\"\n  }, \n  \"1440\": {\n    \"iconFile\": \"res:/ui/texture/icons/19_128_2.png\"\n  }, \n  \"1441\": {\n    \"iconFile\": \"res:/ui/texture/icons/19_128_3.png\"\n  }, \n  \"1442\": {\n    \"iconFile\": \"res:/ui/texture/icons/19_128_4.png\"\n  }, \n  \"1443\": {\n    \"iconFile\": \"res:/ui/texture/icons/9_64_5.png\"\n  }, \n  \"1444\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_4.png\"\n  }, \n  \"1445\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_7.png\"\n  }, \n  \"1446\": {\n    \"iconFile\": \"res:/ui/texture/icons/9_64_16.png\"\n  }, \n  \"1447\": {\n    \"iconFile\": \"res:/ui/texture/corps/42_128_3.png\"\n  }, \n  \"1448\": {\n    \"iconFile\": \"res:/ui/texture/corps/43_128_1.png\"\n  }, \n  \"1449\": {\n    \"iconFile\": \"res:/ui/texture/corps/39_128_4.png\"\n  }, \n  \"1450\": {\n    \"iconFile\": \"res:/ui/texture/corps/43_128_2.png\"\n  }, \n  \"1451\": {\n    \"iconFile\": \"res:/ui/texture/corps/43_128_3.png\"\n  }, \n  \"1452\": {\n    \"iconFile\": \"res:/ui/texture/corps/42_128_1.png\"\n  }, \n  \"1453\": {\n    \"iconFile\": \"res:/ui/texture/corps/10_128_2.png\"\n  }, \n  \"1454\": {\n    \"iconFile\": \"res:/ui/texture/corps/42_128_4.png\"\n  }, \n  \"1455\": {\n    \"iconFile\": \"res:/ui/texture/corps/10_128_1.png\"\n  }, \n  \"1456\": {\n    \"iconFile\": \"res:/ui/texture/corps/39_128_1.png\"\n  }, \n  \"1457\": {\n    \"iconFile\": \"res:/ui/texture/corps/41_128_4.png\"\n  }, \n  \"1458\": {\n    \"iconFile\": \"res:/ui/texture/corps/43_128_4.png\"\n  }, \n  \"1459\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_5.png\"\n  }, \n  \"1460\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_6.png\"\n  }, \n  \"1461\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_7.png\"\n  }, \n  \"1462\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_8.png\"\n  }, \n  \"1463\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_9.png\"\n  }, \n  \"1464\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_10.png\"\n  }, \n  \"1465\": {\n    \"iconFile\": \"res:/ui/texture/corps/7_128_4.png\"\n  }, \n  \"1466\": {\n    \"iconFile\": \"res:/ui/texture/corps/41_128_3.png\"\n  }, \n  \"1467\": {\n    \"iconFile\": \"res:/ui/texture/corps/22_128_2.png\"\n  }, \n  \"1468\": {\n    \"iconFile\": \"res:/ui/texture/corps/22_128_1.png\"\n  }, \n  \"1469\": {\n    \"iconFile\": \"res:/ui/texture/corps/23_128_1.png\"\n  }, \n  \"1470\": {\n    \"iconFile\": \"res:/ui/texture/corps/22_128_4.png\"\n  }, \n  \"1471\": {\n    \"iconFile\": \"res:/ui/texture/corps/21_128_2.png\"\n  }, \n  \"1472\": {\n    \"iconFile\": \"res:/ui/texture/corps/23_128_2.png\"\n  }, \n  \"1473\": {\n    \"iconFile\": \"res:/ui/texture/corps/21_128_3.png\"\n  }, \n  \"1474\": {\n    \"iconFile\": \"res:/ui/texture/corps/23_128_3.png\"\n  }, \n  \"1475\": {\n    \"iconFile\": \"res:/ui/texture/corps/21_128_4.png\"\n  }, \n  \"1476\": {\n    \"iconFile\": \"res:/ui/texture/corps/22_128_3.png\"\n  }, \n  \"1477\": {\n    \"iconFile\": \"res:/ui/texture/corps/23_128_4.png\"\n  }, \n  \"1478\": {\n    \"iconFile\": \"res:/ui/texture/corps/21_128_1.png\"\n  }, \n  \"1479\": {\n    \"iconFile\": \"res:/ui/texture/corps/14_128_3.png\"\n  }, \n  \"1480\": {\n    \"iconFile\": \"res:/ui/texture/corps/15_128_2.png\"\n  }, \n  \"1481\": {\n    \"iconFile\": \"res:/ui/texture/corps/14_128_2.png\"\n  }, \n  \"1482\": {\n    \"iconFile\": \"res:/ui/texture/corps/19_128_4.png\"\n  }, \n  \"1483\": {\n    \"iconFile\": \"res:/ui/texture/corps/16_128_1.png\"\n  }, \n  \"1484\": {\n    \"iconFile\": \"res:/ui/texture/corps/18_128_3.png\"\n  }, \n  \"1485\": {\n    \"iconFile\": \"res:/ui/texture/corps/17_128_2.png\"\n  }, \n  \"1486\": {\n    \"iconFile\": \"res:/ui/texture/corps/19_128_1.png\"\n  }, \n  \"1487\": {\n    \"iconFile\": \"res:/ui/texture/corps/17_128_4.png\"\n  }, \n  \"1488\": {\n    \"iconFile\": \"res:/ui/texture/corps/16_128_2.png\"\n  }, \n  \"1489\": {\n    \"iconFile\": \"res:/ui/texture/corps/13_128_2.png\"\n  }, \n  \"1490\": {\n    \"iconFile\": \"res:/ui/texture/corps/15_128_4.png\"\n  }, \n  \"1491\": {\n    \"iconFile\": \"res:/ui/texture/corps/17_128_3.png\"\n  }, \n  \"1492\": {\n    \"iconFile\": \"res:/ui/texture/corps/13_128_3.png\"\n  }, \n  \"1494\": {\n    \"iconFile\": \"res:/ui/texture/corps/18_128_4.png\"\n  }, \n  \"1495\": {\n    \"iconFile\": \"res:/ui/texture/corps/14_128_4.png\"\n  }, \n  \"1496\": {\n    \"iconFile\": \"res:/ui/texture/corps/17_128_1.png\"\n  }, \n  \"1497\": {\n    \"iconFile\": \"res:/ui/texture/corps/18_128_2.png\"\n  }, \n  \"1498\": {\n    \"iconFile\": \"res:/ui/texture/corps/16_128_3.png\"\n  }, \n  \"1499\": {\n    \"iconFile\": \"res:/ui/texture/corps/15_128_1.png\"\n  }, \n  \"1500\": {\n    \"iconFile\": \"res:/ui/texture/corps/16_128_4.png\"\n  }, \n  \"1501\": {\n    \"iconFile\": \"res:/ui/texture/corps/18_128_1.png\"\n  }, \n  \"1502\": {\n    \"iconFile\": \"res:/ui/texture/corps/12_128_1.png\"\n  }, \n  \"1503\": {\n    \"iconFile\": \"res:/ui/texture/corps/13_128_1.png\"\n  }, \n  \"1504\": {\n    \"iconFile\": \"res:/ui/texture/corps/12_128_3.png\"\n  }, \n  \"1505\": {\n    \"iconFile\": \"res:/ui/texture/corps/12_128_2.png\"\n  }, \n  \"1506\": {\n    \"iconFile\": \"res:/ui/texture/corps/12_128_4.png\"\n  }, \n  \"1507\": {\n    \"iconFile\": \"res:/ui/texture/corps/15_128_3.png\"\n  }, \n  \"1508\": {\n    \"iconFile\": \"res:/ui/texture/corps/13_128_4.png\"\n  }, \n  \"1509\": {\n    \"iconFile\": \"res:/ui/texture/corps/19_128_2.png\"\n  }, \n  \"1510\": {\n    \"iconFile\": \"res:/ui/texture/corps/33_128_1.png\"\n  }, \n  \"1511\": {\n    \"iconFile\": \"res:/ui/texture/corps/33_128_3.png\"\n  }, \n  \"1512\": {\n    \"iconFile\": \"res:/ui/texture/corps/26_128_1.png\"\n  }, \n  \"1513\": {\n    \"iconFile\": \"res:/ui/texture/corps/31_128_3.png\"\n  }, \n  \"1514\": {\n    \"iconFile\": \"res:/ui/texture/corps/28_128_2.png\"\n  }, \n  \"1515\": {\n    \"iconFile\": \"res:/ui/texture/corps/27_128_3.png\"\n  }, \n  \"1516\": {\n    \"iconFile\": \"res:/ui/texture/corps/34_128_3.png\"\n  }, \n  \"1517\": {\n    \"iconFile\": \"res:/ui/texture/corps/32_128_3.png\"\n  }, \n  \"1518\": {\n    \"iconFile\": \"res:/ui/texture/corps/29_128_4.png\"\n  }, \n  \"1519\": {\n    \"iconFile\": \"res:/ui/texture/corps/25_128_4.png\"\n  }, \n  \"1520\": {\n    \"iconFile\": \"res:/ui/texture/corps/25_128_2.png\"\n  }, \n  \"1521\": {\n    \"iconFile\": \"res:/ui/texture/corps/38_128_2.png\"\n  }, \n  \"1522\": {\n    \"iconFile\": \"res:/ui/texture/corps/25_128_3.png\"\n  }, \n  \"1523\": {\n    \"iconFile\": \"res:/ui/texture/corps/31_128_2.png\"\n  }, \n  \"1524\": {\n    \"iconFile\": \"res:/ui/texture/corps/32_128_1.png\"\n  }, \n  \"1525\": {\n    \"iconFile\": \"res:/ui/texture/corps/32_128_4.png\"\n  }, \n  \"1526\": {\n    \"iconFile\": \"res:/ui/texture/corps/33_128_2.png\"\n  }, \n  \"1527\": {\n    \"iconFile\": \"res:/ui/texture/corps/30_128_1.png\"\n  }, \n  \"1528\": {\n    \"iconFile\": \"res:/ui/texture/corps/31_128_4.png\"\n  }, \n  \"1529\": {\n    \"iconFile\": \"res:/ui/texture/corps/32_128_2.png\"\n  }, \n  \"1530\": {\n    \"iconFile\": \"res:/ui/texture/corps/25_128_1.png\"\n  }, \n  \"1532\": {\n    \"iconFile\": \"res:/ui/texture/corps/30_128_2.png\"\n  }, \n  \"1533\": {\n    \"iconFile\": \"res:/ui/texture/corps/30_128_4.png\"\n  }, \n  \"1534\": {\n    \"iconFile\": \"res:/ui/texture/corps/29_128_1.png\"\n  }, \n  \"1535\": {\n    \"iconFile\": \"res:/ui/texture/corps/29_128_2.png\"\n  }, \n  \"1536\": {\n    \"iconFile\": \"res:/ui/texture/corps/29_128_3.png\"\n  }, \n  \"1537\": {\n    \"iconFile\": \"res:/ui/texture/corps/10_128_3.png\"\n  }, \n  \"1538\": {\n    \"iconFile\": \"res:/ui/texture/corps/31_128_1.png\"\n  }, \n  \"1539\": {\n    \"iconFile\": \"res:/ui/texture/corps/35_128_2.png\"\n  }, \n  \"1540\": {\n    \"iconFile\": \"res:/ui/texture/corps/24_128_3.png\"\n  }, \n  \"1541\": {\n    \"iconFile\": \"res:/ui/texture/corps/26_128_3.png\"\n  }, \n  \"1542\": {\n    \"iconFile\": \"res:/ui/texture/corps/35_128_3.png\"\n  }, \n  \"1543\": {\n    \"iconFile\": \"res:/ui/texture/corps/28_128_3.png\"\n  }, \n  \"1544\": {\n    \"iconFile\": \"res:/ui/texture/corps/34_128_2.png\"\n  }, \n  \"1545\": {\n    \"iconFile\": \"res:/ui/texture/corps/27_128_4.png\"\n  }, \n  \"1546\": {\n    \"iconFile\": \"res:/ui/texture/corps/14_128_1.png\"\n  }, \n  \"1547\": {\n    \"iconFile\": \"res:/ui/texture/corps/36_128_2.png\"\n  }, \n  \"1548\": {\n    \"iconFile\": \"res:/ui/texture/corps/3_128_4.png\"\n  }, \n  \"1549\": {\n    \"iconFile\": \"res:/ui/texture/corps/24_128_1.png\"\n  }, \n  \"1550\": {\n    \"iconFile\": \"res:/ui/texture/corps/19_128_3.png\"\n  }, \n  \"1551\": {\n    \"iconFile\": \"res:/ui/texture/corps/38_128_1.png\"\n  }, \n  \"1552\": {\n    \"iconFile\": \"res:/ui/texture/corps/24_128_2.png\"\n  }, \n  \"1553\": {\n    \"iconFile\": \"res:/ui/texture/corps/4_128_1.png\"\n  }, \n  \"1554\": {\n    \"iconFile\": \"res:/ui/texture/corps/24_128_4.png\"\n  }, \n  \"1555\": {\n    \"iconFile\": \"res:/ui/texture/corps/35_128_4.png\"\n  }, \n  \"1556\": {\n    \"iconFile\": \"res:/ui/texture/corps/40_128_2.png\"\n  }, \n  \"1557\": {\n    \"iconFile\": \"res:/ui/texture/corps/28_128_4.png\"\n  }, \n  \"1558\": {\n    \"iconFile\": \"res:/ui/texture/corps/40_128_4.png\"\n  }, \n  \"1559\": {\n    \"iconFile\": \"res:/ui/texture/corps/26_128_4.png\"\n  }, \n  \"1560\": {\n    \"iconFile\": \"res:/ui/texture/corps/26_128_2.png\"\n  }, \n  \"1561\": {\n    \"iconFile\": \"res:/ui/texture/corps/27_128_1.png\"\n  }, \n  \"1562\": {\n    \"iconFile\": \"res:/ui/texture/corps/28_128_1.png\"\n  }, \n  \"1563\": {\n    \"iconFile\": \"res:/ui/texture/corps/27_128_2.png\"\n  }, \n  \"1564\": {\n    \"iconFile\": \"res:/ui/texture/corps/3_128_2.png\"\n  }, \n  \"1565\": {\n    \"iconFile\": \"res:/ui/texture/corps/40_128_3.png\"\n  }, \n  \"1566\": {\n    \"iconFile\": \"res:/ui/texture/corps/39_128_3.png\"\n  }, \n  \"1567\": {\n    \"iconFile\": \"res:/ui/texture/corps/11_128_4.png\"\n  }, \n  \"1568\": {\n    \"iconFile\": \"res:/ui/texture/corps/11_128_2.png\"\n  }, \n  \"1569\": {\n    \"iconFile\": \"res:/ui/texture/corps/11_128_3.png\"\n  }, \n  \"1570\": {\n    \"iconFile\": \"res:/ui/texture/corps/35_128_1.png\"\n  }, \n  \"1571\": {\n    \"iconFile\": \"res:/ui/texture/corps/41_128_1.png\"\n  }, \n  \"1572\": {\n    \"iconFile\": \"res:/ui/texture/corps/11_128_1.png\"\n  }, \n  \"1573\": {\n    \"iconFile\": \"res:/ui/texture/corps/33_128_4.png\"\n  }, \n  \"1574\": {\n    \"iconFile\": \"res:/ui/texture/corps/40_128_1.png\"\n  }, \n  \"1575\": {\n    \"iconFile\": \"res:/ui/texture/corps/36_128_3.png\"\n  }, \n  \"1576\": {\n    \"iconFile\": \"res:/ui/texture/corps/36_128_1.png\"\n  }, \n  \"1577\": {\n    \"iconFile\": \"res:/ui/texture/corps/34_128_4.png\"\n  }, \n  \"1578\": {\n    \"iconFile\": \"res:/ui/texture/corps/34_128_1.png\"\n  }, \n  \"1579\": {\n    \"iconFile\": \"res:/ui/texture/corps/36_128_4.png\"\n  }, \n  \"1580\": {\n    \"iconFile\": \"res:/ui/texture/corps/41_128_2.png\"\n  }, \n  \"1581\": {\n    \"iconFile\": \"res:/ui/texture/corps/1_128_3.png\"\n  }, \n  \"1582\": {\n    \"iconFile\": \"res:/ui/texture/corps/8_128_1.png\"\n  }, \n  \"1583\": {\n    \"iconFile\": \"res:/ui/texture/corps/1_128_4.png\"\n  }, \n  \"1584\": {\n    \"iconFile\": \"res:/ui/texture/corps/4_128_4.png\"\n  }, \n  \"1585\": {\n    \"iconFile\": \"res:/ui/texture/corps/38_128_3.png\"\n  }, \n  \"1586\": {\n    \"iconFile\": \"res:/ui/texture/corps/39_128_2.png\"\n  }, \n  \"1587\": {\n    \"iconFile\": \"res:/ui/texture/corps/3_128_3.png\"\n  }, \n  \"1588\": {\n    \"iconFile\": \"res:/ui/texture/corps/3_128_1.png\"\n  }, \n  \"1589\": {\n    \"iconFile\": \"res:/ui/texture/corps/6_128_2.png\"\n  }, \n  \"1590\": {\n    \"iconFile\": \"res:/ui/texture/corps/10_128_4.png\"\n  }, \n  \"1591\": {\n    \"iconFile\": \"res:/ui/texture/corps/9_128_4.png\"\n  }, \n  \"1592\": {\n    \"iconFile\": \"res:/ui/texture/corps/7_128_2.png\"\n  }, \n  \"1593\": {\n    \"iconFile\": \"res:/ui/texture/corps/1_128_1.png\"\n  }, \n  \"1594\": {\n    \"iconFile\": \"res:/ui/texture/corps/5_128_4.png\"\n  }, \n  \"1595\": {\n    \"iconFile\": \"res:/ui/texture/corps/2_128_4.png\"\n  }, \n  \"1596\": {\n    \"iconFile\": \"res:/ui/texture/corps/5_128_3.png\"\n  }, \n  \"1597\": {\n    \"iconFile\": \"res:/ui/texture/corps/6_128_1.png\"\n  }, \n  \"1598\": {\n    \"iconFile\": \"res:/ui/texture/corps/2_128_1.png\"\n  }, \n  \"1599\": {\n    \"iconFile\": \"res:/ui/texture/corps/2_128_3.png\"\n  }, \n  \"1600\": {\n    \"iconFile\": \"res:/ui/texture/corps/5_128_2.png\"\n  }, \n  \"1601\": {\n    \"iconFile\": \"res:/ui/texture/corps/9_128_1.png\"\n  }, \n  \"1602\": {\n    \"iconFile\": \"res:/ui/texture/corps/7_128_3.png\"\n  }, \n  \"1604\": {\n    \"iconFile\": \"res:/ui/texture/corps/8_128_4.png\"\n  }, \n  \"1605\": {\n    \"iconFile\": \"res:/ui/texture/corps/9_128_2.png\"\n  }, \n  \"1606\": {\n    \"iconFile\": \"res:/ui/texture/corps/9_128_3.png\"\n  }, \n  \"1607\": {\n    \"iconFile\": \"res:/ui/texture/corps/4_128_2.png\"\n  }, \n  \"1608\": {\n    \"iconFile\": \"res:/ui/texture/corps/5_128_1.png\"\n  }, \n  \"1609\": {\n    \"iconFile\": \"res:/ui/texture/corps/8_128_2.png\"\n  }, \n  \"1610\": {\n    \"iconFile\": \"res:/ui/texture/corps/7_128_1.png\"\n  }, \n  \"1611\": {\n    \"iconFile\": \"res:/ui/texture/corps/8_128_3.png\"\n  }, \n  \"1612\": {\n    \"iconFile\": \"res:/ui/texture/corps/4_128_3.png\"\n  }, \n  \"1613\": {\n    \"iconFile\": \"res:/ui/texture/corps/37_128_3.png\"\n  }, \n  \"1614\": {\n    \"iconFile\": \"res:/ui/texture/corps/1_128_2.png\"\n  }, \n  \"1615\": {\n    \"iconFile\": \"res:/ui/texture/corps/2_128_2.png\"\n  }, \n  \"1616\": {\n    \"iconFile\": \"res:/ui/texture/corps/6_128_3.png\"\n  }, \n  \"1617\": {\n    \"iconFile\": \"res:/ui/texture/corps/37_128_2.png\"\n  }, \n  \"1618\": {\n    \"iconFile\": \"res:/ui/texture/corps/37_128_1.png\"\n  }, \n  \"1619\": {\n    \"iconFile\": \"res:/ui/texture/corps/38_128_4.png\"\n  }, \n  \"1620\": {\n    \"iconFile\": \"res:/ui/texture/corps/6_128_4.png\"\n  }, \n  \"1621\": {\n    \"iconFile\": \"res:/ui/texture/corps/37_128_4.png\"\n  }, \n  \"1624\": {\n    \"iconFile\": \"res:/ui/texture/corps/20_128_3.png\"\n  }, \n  \"1625\": {\n    \"iconFile\": \"res:/ui/texture/corps/20_128_1.png\"\n  }, \n  \"1626\": {\n    \"iconFile\": \"res:/ui/texture/corps/20_128_4.png\"\n  }, \n  \"1627\": {\n    \"iconFile\": \"res:/ui/texture/corps/20_128_2.png\"\n  }, \n  \"1628\": {\n    \"iconFile\": \"res:/ui/texture/icons/28_128_1.png\"\n  }, \n  \"1629\": {\n    \"iconFile\": \"res:/ui/texture/icons/28_128_2.png\"\n  }, \n  \"1630\": {\n    \"iconFile\": \"res:/ui/texture/icons/28_128_3.png\"\n  }, \n  \"1631\": {\n    \"iconFile\": \"res:/ui/texture/icons/28_128_4.png\"\n  }, \n  \"1632\": {\n    \"iconFile\": \"res:/ui/texture/icons/29_128_1.png\"\n  }, \n  \"1633\": {\n    \"iconFile\": \"res:/ui/texture/icons/29_128_2.png\"\n  }, \n  \"1634\": {\n    \"iconFile\": \"res:/ui/texture/icons/29_128_3.png\"\n  }, \n  \"1635\": {\n    \"iconFile\": \"res:/ui/texture/icons/29_128_4.png\"\n  }, \n  \"1639\": {\n    \"iconFile\": \"res:/ui/texture/icons/5_64_7.png\"\n  }, \n  \"1640\": {\n    \"iconFile\": \"res:/ui/texture/icons/5_64_14.png\"\n  }, \n  \"1641\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_1.png\"\n  }, \n  \"1642\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_2.png\"\n  }, \n  \"1643\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_3.png\"\n  }, \n  \"1644\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_4.png\"\n  }, \n  \"1645\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_3.png\"\n  }, \n  \"1647\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_5.png\"\n  }, \n  \"1648\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_8.png\"\n  }, \n  \"1649\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_7.png\"\n  }, \n  \"1650\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_13.png\"\n  }, \n  \"1651\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_12.png\"\n  }, \n  \"1652\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_5.png\"\n  }, \n  \"1653\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_7.png\"\n  }, \n  \"1654\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_14.png\"\n  }, \n  \"1655\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_9.png\"\n  }, \n  \"1656\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_6.png\"\n  }, \n  \"1657\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_8.png\"\n  }, \n  \"1658\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_11.png\"\n  }, \n  \"1659\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_10.png\"\n  }, \n  \"1660\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_2.png\"\n  }, \n  \"1661\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_4.png\"\n  }, \n  \"1662\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_1.png\"\n  }, \n  \"1663\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_15.png\"\n  }, \n  \"1664\": {\n    \"iconFile\": \"res:/ui/texture/icons/30_64_16.png\"\n  }, \n  \"1665\": {\n    \"iconFile\": \"res:/ui/texture/icons/5_64_6.png\"\n  }, \n  \"1666\": {\n    \"iconFile\": \"res:/ui/texture/icons/5_64_2.png\"\n  }, \n  \"1667\": {\n    \"iconFile\": \"res:/ui/texture/icons/4_64_5.png\"\n  }, \n  \"1668\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_5.png\"\n  }, \n  \"1700\": {\n    \"iconFile\": \"res:/ui/texture/icons/9_64_1.png\"\n  }, \n  \"1720\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_4.png\"\n  }, \n  \"1721\": {\n    \"iconFile\": \"res:/ui/texture/icons/34_64_1.png\"\n  }, \n  \"1722\": {\n    \"iconFile\": \"res:/ui/texture/icons/34_64_2.png\"\n  }, \n  \"1723\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_9.png\"\n  }, \n  \"1724\": {\n    \"iconFile\": \"res:/ui/texture/icons/33_128_2.png\"\n  }, \n  \"2028\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_25.png\"\n  }, \n  \"2029\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_26.png\"\n  }, \n  \"2030\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_27.png\"\n  }, \n  \"2031\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_28.png\"\n  }, \n  \"2036\": {\n    \"iconFile\": \"res:/ui/texture/icons/33_128_4.png\"\n  }, \n  \"2037\": {\n    \"iconFile\": \"res:/ui/texture/icons/34_64_5.png\"\n  }, \n  \"2038\": {\n    \"iconFile\": \"res:/ui/texture/icons/34_64_6.png\"\n  }, \n  \"2039\": {\n    \"iconFile\": \"res:/ui/texture/icons/34_64_7.png\"\n  }, \n  \"2040\": {\n    \"iconFile\": \"res:/ui/texture/icons/34_64_8.png\"\n  }, \n  \"2041\": {\n    \"iconFile\": \"res:/ui/texture/icons/34_64_9.png\"\n  }, \n  \"2042\": {\n    \"iconFile\": \"res:/ui/texture/icons/34_64_10.png\"\n  }, \n  \"2052\": {\n    \"iconFile\": \"res:/ui/texture/icons/34_64_11.png\"\n  }, \n  \"2053\": {\n    \"iconFile\": \"res:/ui/texture/icons/34_64_12.png\"\n  }, \n  \"2054\": {\n    \"iconFile\": \"res:/ui/texture/icons/34_64_15.png\"\n  }, \n  \"2055\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_9.png\"\n  }, \n  \"2056\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_10.png\"\n  }, \n  \"2057\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_11.png\"\n  }, \n  \"2058\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_12.png\"\n  }, \n  \"2059\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_13.png\"\n  }, \n  \"2060\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_14.png\"\n  }, \n  \"2061\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_15.png\"\n  }, \n  \"2062\": {\n    \"iconFile\": \"res:/ui/texture/icons/31_64_16.png\"\n  }, \n  \"2066\": {\n    \"iconFile\": \"res:/ui/texture/icons/34_64_16.png\"\n  }, \n  \"2070\": {\n    \"iconFile\": \"res:/Texture/Landmark/A33colonialruins.jpg\"\n  }, \n  \"2071\": {\n    \"iconFile\": \"res:/Texture/Landmark/amarr.jpg\"\n  }, \n  \"2072\": {\n    \"iconFile\": \"res:/Texture/Landmark/caldari.jpg\"\n  }, \n  \"2073\": {\n    \"iconFile\": \"res:/Texture/Landmark/cityofgod.jpg\"\n  }, \n  \"2074\": {\n    \"iconFile\": \"res:/Texture/Landmark/Curse.jpg\"\n  }, \n  \"2075\": {\n    \"iconFile\": \"res:/Texture/Landmark/emperor.jpg\"\n  }, \n  \"2076\": {\n    \"iconFile\": \"res:/Texture/Landmark/galente.jpg\"\n  }, \n  \"2077\": {\n    \"iconFile\": \"res:/Texture/Landmark/ginnungagap.jpg\"\n  }, \n  \"2078\": {\n    \"iconFile\": \"res:/Texture/Landmark/golgothanfields.jpg\"\n  }, \n  \"2079\": {\n    \"iconFile\": \"res:/Texture/Landmark/jove.jpg\"\n  }, \n  \"2080\": {\n    \"iconFile\": \"res:/Texture/Landmark/khanidkingdom.jpg\"\n  }, \n  \"2081\": {\n    \"iconFile\": \"res:/Texture/Landmark/minmatar.jpg\"\n  }, \n  \"2082\": {\n    \"iconFile\": \"res:/Texture/Landmark/myridianstrip.jpg\"\n  }, \n  \"2083\": {\n    \"iconFile\": \"res:/Texture/Landmark/outerring.jpg\"\n  }, \n  \"2084\": {\n    \"iconFile\": \"res:/Texture/Landmark/pointofnoreturn.jpg\"\n  }, \n  \"2085\": {\n    \"iconFile\": \"res:/Texture/Landmark/serpentscoil.jpg\"\n  }, \n  \"2086\": {\n    \"iconFile\": \"res:/Texture/Landmark/stain.jpg\"\n  }, \n  \"2087\": {\n    \"iconFile\": \"res:/Texture/Landmark/thesyndicate.jpg\"\n  }, \n  \"2088\": {\n    \"iconFile\": \"res:/Texture/Landmark/traumark.jpg\"\n  }, \n  \"2089\": {\n    \"iconFile\": \"res:/Texture/Landmark/venal.jpg\"\n  }, \n  \"2093\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_5.png\"\n  }, \n  \"2094\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_6.png\"\n  }, \n  \"2095\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_7.png\"\n  }, \n  \"2096\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_9.png\"\n  }, \n  \"2100\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_8.png\"\n  }, \n  \"2101\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_1.png\"\n  }, \n  \"2102\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_11.png\"\n  }, \n  \"2103\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_2.png\"\n  }, \n  \"2104\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_15.png\"\n  }, \n  \"2105\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_14.png\"\n  }, \n  \"2106\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_12.png\"\n  }, \n  \"2176\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_4.png\"\n  }, \n  \"2177\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_1.png\"\n  }, \n  \"2178\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_2.png\"\n  }, \n  \"2179\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_3.png\"\n  }, \n  \"2180\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_4.png\"\n  }, \n  \"2181\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_5.png\"\n  }, \n  \"2182\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_6.png\"\n  }, \n  \"2183\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_7.png\"\n  }, \n  \"2184\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_8.png\"\n  }, \n  \"2185\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_9.png\"\n  }, \n  \"2186\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_10.png\"\n  }, \n  \"2187\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_11.png\"\n  }, \n  \"2188\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_12.png\"\n  }, \n  \"2189\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_13.png\"\n  }, \n  \"2190\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_14.png\"\n  }, \n  \"2191\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_15.png\"\n  }, \n  \"2192\": {\n    \"iconFile\": \"res:/ui/texture/icons/37_64_16.png\"\n  }, \n  \"2193\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_1.png\"\n  }, \n  \"2194\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_2.png\"\n  }, \n  \"2195\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_3.png\"\n  }, \n  \"2196\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_4.png\"\n  }, \n  \"2197\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_5.png\"\n  }, \n  \"2198\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_6.png\"\n  }, \n  \"2199\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_7.png\"\n  }, \n  \"2200\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_8.png\"\n  }, \n  \"2201\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_9.png\"\n  }, \n  \"2202\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_10.png\"\n  }, \n  \"2203\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_11.png\"\n  }, \n  \"2204\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_12.png\"\n  }, \n  \"2205\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_13.png\"\n  }, \n  \"2206\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_14.png\"\n  }, \n  \"2207\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_15.png\"\n  }, \n  \"2208\": {\n    \"iconFile\": \"res:/ui/texture/icons/39_64_16.png\"\n  }, \n  \"2209\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_1.png\"\n  }, \n  \"2210\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_2.png\"\n  }, \n  \"2211\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_3.png\"\n  }, \n  \"2212\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_4.png\"\n  }, \n  \"2213\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_5.png\"\n  }, \n  \"2214\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_6.png\"\n  }, \n  \"2215\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_7.png\"\n  }, \n  \"2216\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_8.png\"\n  }, \n  \"2217\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_9.png\"\n  }, \n  \"2218\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_10.png\"\n  }, \n  \"2219\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_11.png\"\n  }, \n  \"2220\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_12.png\"\n  }, \n  \"2221\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_13.png\"\n  }, \n  \"2222\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_14.png\"\n  }, \n  \"2223\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_15.png\"\n  }, \n  \"2224\": {\n    \"iconFile\": \"res:/ui/texture/icons/40_64_16.png\"\n  }, \n  \"2225\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_1.png\"\n  }, \n  \"2226\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_2.png\"\n  }, \n  \"2227\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_5.png\"\n  }, \n  \"2228\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_7.png\"\n  }, \n  \"2229\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_9.png\"\n  }, \n  \"2230\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_10.png\"\n  }, \n  \"2231\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_11.png\"\n  }, \n  \"2232\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_12.png\"\n  }, \n  \"2233\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_6.png\"\n  }, \n  \"2234\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_8.png\"\n  }, \n  \"2243\": {\n    \"iconFile\": \"res:/ui/texture/icons/27_64_13.png\"\n  }, \n  \"2244\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_3.png\"\n  }, \n  \"2302\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_15.png\"\n  }, \n  \"2304\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_4.png\"\n  }, \n  \"2309\": {\n    \"iconFile\": \"res:/ui/texture/icons/36_64_15.png\"\n  }, \n  \"2310\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_15.png\"\n  }, \n  \"2311\": {\n    \"iconFile\": \"res:/ui/texture/icons/41_64_16.png\"\n  }, \n  \"2312\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_1.png\"\n  }, \n  \"2313\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_2.png\"\n  }, \n  \"2314\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_3.png\"\n  }, \n  \"2315\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_4.png\"\n  }, \n  \"2316\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_5.png\"\n  }, \n  \"2317\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_6.png\"\n  }, \n  \"2318\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_7.png\"\n  }, \n  \"2319\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_8.png\"\n  }, \n  \"2320\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_9.png\"\n  }, \n  \"2321\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_10.png\"\n  }, \n  \"2322\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_11.png\"\n  }, \n  \"2323\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_12.png\"\n  }, \n  \"2324\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_13.png\"\n  }, \n  \"2325\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_14.png\"\n  }, \n  \"2326\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_15.png\"\n  }, \n  \"2327\": {\n    \"iconFile\": \"res:/ui/texture/icons/42_64_16.png\"\n  }, \n  \"2328\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_1.png\"\n  }, \n  \"2329\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_2.png\"\n  }, \n  \"2330\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_3.png\"\n  }, \n  \"2331\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_4.png\"\n  }, \n  \"2332\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_5.png\"\n  }, \n  \"2333\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_6.png\"\n  }, \n  \"2334\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_7.png\"\n  }, \n  \"2335\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_8.png\"\n  }, \n  \"2336\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_9.png\"\n  }, \n  \"2337\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_10.png\"\n  }, \n  \"2338\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_11.png\"\n  }, \n  \"2339\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_12.png\"\n  }, \n  \"2340\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_13.png\"\n  }, \n  \"2355\": {\n    \"iconFile\": \"res:/ui/texture/icons/7_64_4.png\"\n  }, \n  \"2512\": {\n    \"iconFile\": \"res:/ui/texture/icons/7_64_12.png\"\n  }, \n  \"2526\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_6.png\"\n  }, \n  \"2527\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_5.png\"\n  }, \n  \"2528\": {\n    \"iconFile\": \"res:/ui/texture/icons/45_64_9.png\"\n  }, \n  \"2529\": {\n    \"iconFile\": \"res:/ui/texture/icons/45_64_10.png\"\n  }, \n  \"2530\": {\n    \"iconFile\": \"res:/ui/texture/icons/45_64_11.png\"\n  }, \n  \"2531\": {\n    \"iconFile\": \"res:/ui/texture/icons/45_64_12.png\"\n  }, \n  \"2532\": {\n    \"iconFile\": \"res:/ui/texture/icons/45_64_13.png\"\n  }, \n  \"2533\": {\n    \"iconFile\": \"res:/ui/texture/icons/45_64_14.png\"\n  }, \n  \"2534\": {\n    \"iconFile\": \"res:/ui/texture/icons/45_64_15.png\"\n  }, \n  \"2535\": {\n    \"iconFile\": \"res:/ui/texture/icons/45_64_16.png\"\n  }, \n  \"2536\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_1.png\"\n  }, \n  \"2537\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_2.png\"\n  }, \n  \"2538\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_3.png\"\n  }, \n  \"2539\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_4.png\"\n  }, \n  \"2540\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_5.png\"\n  }, \n  \"2541\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_6.png\"\n  }, \n  \"2542\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_7.png\"\n  }, \n  \"2543\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_8.png\"\n  }, \n  \"2544\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_9.png\"\n  }, \n  \"2545\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_10.png\"\n  }, \n  \"2546\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_11.png\"\n  }, \n  \"2547\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_13.png\"\n  }, \n  \"2548\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_14.png\"\n  }, \n  \"2549\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_15.png\"\n  }, \n  \"2550\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_16.png\"\n  }, \n  \"2551\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_14.png\"\n  }, \n  \"2552\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_15.png\"\n  }, \n  \"2553\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_16.png\"\n  }, \n  \"2554\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_5.png\"\n  }, \n  \"2555\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_4.png\"\n  }, \n  \"2556\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_2.png\"\n  }, \n  \"2557\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_3.png\"\n  }, \n  \"2558\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_6.png\"\n  }, \n  \"2559\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_1.png\"\n  }, \n  \"2560\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_9.png\"\n  }, \n  \"2561\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_8.png\"\n  }, \n  \"2562\": {\n    \"iconFile\": \"res:/ui/texture/icons/12_64_3.png\"\n  }, \n  \"2563\": {\n    \"iconFile\": \"res:/ui/texture/icons/2_64_16.png\"\n  }, \n  \"2567\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_1.png\"\n  }, \n  \"2568\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_2.png\"\n  }, \n  \"2569\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_3.png\"\n  }, \n  \"2570\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_4.png\"\n  }, \n  \"2571\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_5.png\"\n  }, \n  \"2572\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_6.png\"\n  }, \n  \"2573\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_7.png\"\n  }, \n  \"2574\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_8.png\"\n  }, \n  \"2575\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_9.png\"\n  }, \n  \"2576\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_10.png\"\n  }, \n  \"2577\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_11.png\"\n  }, \n  \"2578\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_12.png\"\n  }, \n  \"2579\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_13.png\"\n  }, \n  \"2580\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_14.png\"\n  }, \n  \"2581\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_15.png\"\n  }, \n  \"2582\": {\n    \"iconFile\": \"res:/ui/texture/icons/47_64_16.png\"\n  }, \n  \"2645\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_14.png\"\n  }, \n  \"2646\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_13.png\"\n  }, \n  \"2647\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_12.png\"\n  }, \n  \"2648\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_11.png\"\n  }, \n  \"2649\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_10.png\"\n  }, \n  \"2650\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_9.png\"\n  }, \n  \"2651\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_8.png\"\n  }, \n  \"2652\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_7.png\"\n  }, \n  \"2653\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_6.png\"\n  }, \n  \"2654\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_16.png\"\n  }, \n  \"2655\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_5.png\"\n  }, \n  \"2656\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_4.png\"\n  }, \n  \"2657\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_3.png\"\n  }, \n  \"2658\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_2.png\"\n  }, \n  \"2659\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_15.png\"\n  }, \n  \"2660\": {\n    \"iconFile\": \"res:/ui/texture/icons/48_64_1.png\"\n  }, \n  \"2661\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_1.png\"\n  }, \n  \"2662\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_2.png\"\n  }, \n  \"2663\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_3.png\"\n  }, \n  \"2664\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_4.png\"\n  }, \n  \"2665\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_5.png\"\n  }, \n  \"2666\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_6.png\"\n  }, \n  \"2667\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_7.png\"\n  }, \n  \"2668\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_8.png\"\n  }, \n  \"2669\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_9.png\"\n  }, \n  \"2670\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_10.png\"\n  }, \n  \"2671\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_1.png\"\n  }, \n  \"2672\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_2.png\"\n  }, \n  \"2673\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_3.png\"\n  }, \n  \"2674\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_4.png\"\n  }, \n  \"2677\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_7.png\"\n  }, \n  \"2678\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_8.png\"\n  }, \n  \"2679\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_9.png\"\n  }, \n  \"2680\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_10.png\"\n  }, \n  \"2681\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_11.png\"\n  }, \n  \"2682\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_12.png\"\n  }, \n  \"2683\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_13.png\"\n  }, \n  \"2684\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_14.png\"\n  }, \n  \"2685\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_15.png\"\n  }, \n  \"2686\": {\n    \"iconFile\": \"res:/ui/texture/icons/49_64_16.png\"\n  }, \n  \"2693\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_7.png\"\n  }, \n  \"2696\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_10.png\"\n  }, \n  \"2697\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_11.png\"\n  }, \n  \"2698\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_12.png\"\n  }, \n  \"2699\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_13.png\"\n  }, \n  \"2700\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_14.png\"\n  }, \n  \"2701\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_15.png\"\n  }, \n  \"2702\": {\n    \"iconFile\": \"res:/ui/texture/icons/51_64_16.png\"\n  }, \n  \"2703\": {\n    \"iconFile\": \"res:/ui/texture/icons/9_64_15.png\"\n  }, \n  \"2705\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_16.png\"\n  }, \n  \"2732\": {\n    \"iconFile\": \"res:/ui/texture/icons/3_64_12.png\"\n  }, \n  \"2733\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_49.png\"\n  }, \n  \"2734\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_50.png\"\n  }, \n  \"2735\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_51.png\"\n  }, \n  \"2736\": {\n    \"iconFile\": \"res:/ui/texture/icons/22_32_52.png\"\n  }, \n  \"2754\": {\n    \"iconFile\": \"res:/ui/texture/icons/7_64_13.png\"\n  }, \n  \"2827\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_1.png\"\n  }, \n  \"2828\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_2.png\"\n  }, \n  \"2829\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_3.png\"\n  }, \n  \"2830\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_4.png\"\n  }, \n  \"2831\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_5.png\"\n  }, \n  \"2832\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_6.png\"\n  }, \n  \"2833\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_7.png\"\n  }, \n  \"2834\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_8.png\"\n  }, \n  \"2835\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_9.png\"\n  }, \n  \"2836\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_10.png\"\n  }, \n  \"2837\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_11.png\"\n  }, \n  \"2838\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_12.png\"\n  }, \n  \"2839\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_13.png\"\n  }, \n  \"2840\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_14.png\"\n  }, \n  \"2841\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_15.png\"\n  }, \n  \"2842\": {\n    \"iconFile\": \"res:/ui/texture/icons/52_64_16.png\"\n  }, \n  \"2843\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_1.png\"\n  }, \n  \"2844\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_2.png\"\n  }, \n  \"2845\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_3.png\"\n  }, \n  \"2846\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_4.png\"\n  }, \n  \"2847\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_5.png\"\n  }, \n  \"2848\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_6.png\"\n  }, \n  \"2849\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_7.png\"\n  }, \n  \"2850\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_8.png\"\n  }, \n  \"2851\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_9.png\"\n  }, \n  \"2852\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_10.png\"\n  }, \n  \"2853\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_11.png\"\n  }, \n  \"2854\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_12.png\"\n  }, \n  \"2855\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_13.png\"\n  }, \n  \"2856\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_14.png\"\n  }, \n  \"2857\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_15.png\"\n  }, \n  \"2858\": {\n    \"iconFile\": \"res:/ui/texture/icons/53_64_16.png\"\n  }, \n  \"2859\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_1.png\"\n  }, \n  \"2860\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_2.png\"\n  }, \n  \"2861\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_3.png\"\n  }, \n  \"2862\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_4.png\"\n  }, \n  \"2863\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_5.png\"\n  }, \n  \"2864\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_6.png\"\n  }, \n  \"2865\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_7.png\"\n  }, \n  \"2866\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_8.png\"\n  }, \n  \"2867\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_9.png\"\n  }, \n  \"2868\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_10.png\"\n  }, \n  \"2869\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_11.png\"\n  }, \n  \"2870\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_12.png\"\n  }, \n  \"2871\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_13.png\"\n  }, \n  \"2872\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_14.png\"\n  }, \n  \"2873\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_15.png\"\n  }, \n  \"2874\": {\n    \"iconFile\": \"res:/ui/texture/icons/54_64_16.png\"\n  }, \n  \"2875\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_1.png\"\n  }, \n  \"2876\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_2.png\"\n  }, \n  \"2877\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_3.png\"\n  }, \n  \"2878\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_4.png\"\n  }, \n  \"2879\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_5.png\"\n  }, \n  \"2880\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_6.png\"\n  }, \n  \"2881\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_7.png\"\n  }, \n  \"2882\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_8.png\"\n  }, \n  \"2883\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_9.png\"\n  }, \n  \"2884\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_10.png\"\n  }, \n  \"2885\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_11.png\"\n  }, \n  \"2886\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_12.png\"\n  }, \n  \"2887\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_13.png\"\n  }, \n  \"2888\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_14.png\"\n  }, \n  \"2889\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_15.png\"\n  }, \n  \"2890\": {\n    \"iconFile\": \"res:/ui/texture/icons/55_64_16.png\"\n  }, \n  \"2891\": {\n    \"iconFile\": \"res:/ui/texture/icons/46_64_12.png\"\n  }, \n  \"2893\": {\n    \"iconFile\": \"res:/ui/texture/icons/4_64_16.png\"\n  }, \n  \"2908\": {\n    \"iconFile\": \"res:/ui/texture/icons/7_64_3.png\"\n  }, \n  \"2934\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_2.png\"\n  }, \n  \"2943\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_4.png\"\n  }, \n  \"2971\": {\n    \"iconFile\": \"res:/ui/texture/icons/36_64_13.png\"\n  }, \n  \"2974\": {\n    \"iconFile\": \"res:/ui/texture/icons/36_64_16.png\"\n  }, \n  \"2983\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_1.png\"\n  }, \n  \"2985\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_3.png\"\n  }, \n  \"2986\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_4.png\"\n  }, \n  \"2987\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_5.png\"\n  }, \n  \"2988\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_6.png\"\n  }, \n  \"2989\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_7.png\"\n  }, \n  \"2990\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_8.png\"\n  }, \n  \"2991\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_9.png\"\n  }, \n  \"2992\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_10.png\"\n  }, \n  \"2993\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_11.png\"\n  }, \n  \"2994\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_12.png\"\n  }, \n  \"2995\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_13.png\"\n  }, \n  \"2996\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_14.png\"\n  }, \n  \"2997\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_15.png\"\n  }, \n  \"2998\": {\n    \"iconFile\": \"res:/ui/texture/icons/56_64_16.png\"\n  }, \n  \"2999\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_1.png\"\n  }, \n  \"3000\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_2.png\"\n  }, \n  \"3001\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_3.png\"\n  }, \n  \"3003\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_6.png\"\n  }, \n  \"3004\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_7.png\"\n  }, \n  \"3005\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_8.png\"\n  }, \n  \"3006\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_9.png\"\n  }, \n  \"3007\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_10.png\"\n  }, \n  \"3008\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_11.png\"\n  }, \n  \"3009\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_12.png\"\n  }, \n  \"3010\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_13.png\"\n  }, \n  \"3011\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_14.png\"\n  }, \n  \"3012\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_15.png\"\n  }, \n  \"3013\": {\n    \"iconFile\": \"res:/ui/texture/icons/57_64_16.png\"\n  }, \n  \"3019\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_1.png\"\n  }, \n  \"3021\": {\n    \"iconFile\": \"res:/ui/texture/icons/59_128_1.png\"\n  }, \n  \"3022\": {\n    \"iconFile\": \"res:/ui/texture/icons/59_128_2.png\"\n  }, \n  \"3023\": {\n    \"iconFile\": \"res:/ui/texture/icons/59_128_3.png\"\n  }, \n  \"3024\": {\n    \"iconFile\": \"res:/ui/texture/icons/59_128_4.png\"\n  }, \n  \"3025\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_2.png\"\n  }, \n  \"3026\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_3.png\"\n  }, \n  \"3027\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_4.png\"\n  }, \n  \"3028\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_5.png\"\n  }, \n  \"3029\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_6.png\"\n  }, \n  \"3030\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_7.png\"\n  }, \n  \"3031\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_9.png\"\n  }, \n  \"3032\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_10.png\"\n  }, \n  \"3033\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_11.png\"\n  }, \n  \"3034\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_14.png\"\n  }, \n  \"3035\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_15.png\"\n  }, \n  \"3036\": {\n    \"iconFile\": \"res:/ui/texture/icons/58_64_13.png\"\n  }, \n  \"3038\": {\n    \"iconFile\": \"res:/ui/texture/icons/17_128_3.png\"\n  }, \n  \"3074\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_3.png\"\n  }, \n  \"3127\": {\n    \"iconFile\": \"res:/ui/texture/icons/60_128_1.png\"\n  }, \n  \"3128\": {\n    \"iconFile\": \"res:/ui/texture/icons/60_128_2.png\"\n  }, \n  \"3129\": {\n    \"iconFile\": \"res:/ui/texture/icons/60_128_3.png\"\n  }, \n  \"3130\": {\n    \"iconFile\": \"res:/ui/texture/icons/60_128_4.png\"\n  }, \n  \"3131\": {\n    \"iconFile\": \"res:/ui/texture/icons/61_128_1.png\"\n  }, \n  \"3172\": {\n    \"iconFile\": \"res:/ui/texture/icons/67_128_1.png\"\n  }, \n  \"3173\": {\n    \"iconFile\": \"res:/ui/texture/icons/67_128_2.png\"\n  }, \n  \"3174\": {\n    \"iconFile\": \"res:/ui/texture/icons/67_128_4.png\"\n  }, \n  \"3175\": {\n    \"iconFile\": \"res:/ui/texture/icons/65_128_1.png\"\n  }, \n  \"3176\": {\n    \"iconFile\": \"res:/ui/texture/icons/65_128_2.png\"\n  }, \n  \"3177\": {\n    \"iconFile\": \"res:/ui/texture/icons/65_128_4.png\"\n  }, \n  \"3178\": {\n    \"iconFile\": \"res:/ui/texture/icons/66_128_1.png\"\n  }, \n  \"3179\": {\n    \"iconFile\": \"res:/ui/texture/icons/66_128_2.png\"\n  }, \n  \"3180\": {\n    \"iconFile\": \"res:/ui/texture/icons/66_128_4.png\"\n  }, \n  \"3181\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_1.png\"\n  }, \n  \"3182\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_2.png\"\n  }, \n  \"3183\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_3.png\"\n  }, \n  \"3184\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_4.png\"\n  }, \n  \"3185\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_5.png\"\n  }, \n  \"3186\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_6.png\"\n  }, \n  \"3187\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_7.png\"\n  }, \n  \"3188\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_8.png\"\n  }, \n  \"3189\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_9.png\"\n  }, \n  \"3190\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_10.png\"\n  }, \n  \"3191\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_11.png\"\n  }, \n  \"3192\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_12.png\"\n  }, \n  \"3193\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_9.png\"\n  }, \n  \"3194\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_10.png\"\n  }, \n  \"3195\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_11.png\"\n  }, \n  \"3196\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_12.png\"\n  }, \n  \"3197\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_13.png\"\n  }, \n  \"3198\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_14.png\"\n  }, \n  \"3199\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_15.png\"\n  }, \n  \"3200\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_16.png\"\n  }, \n  \"3201\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_2.png\"\n  }, \n  \"3202\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_3.png\"\n  }, \n  \"3203\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_4.png\"\n  }, \n  \"3208\": {\n    \"iconFile\": \"res:/ui/texture/icons/61_128_2.png\"\n  }, \n  \"3210\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_1.png\"\n  }, \n  \"3211\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_2.png\"\n  }, \n  \"3212\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_3.png\"\n  }, \n  \"3213\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_4.png\"\n  }, \n  \"3214\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_5.png\"\n  }, \n  \"3215\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_6.png\"\n  }, \n  \"3216\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_7.png\"\n  }, \n  \"3217\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_8.png\"\n  }, \n  \"3218\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_9.png\"\n  }, \n  \"3219\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_10.png\"\n  }, \n  \"3220\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_11.png\"\n  }, \n  \"3221\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_12.png\"\n  }, \n  \"3222\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_13.png\"\n  }, \n  \"3223\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_14.png\"\n  }, \n  \"3224\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_15.png\"\n  }, \n  \"3225\": {\n    \"iconFile\": \"res:/ui/texture/icons/62_64_16.png\"\n  }, \n  \"3226\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_13.png\"\n  }, \n  \"3227\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_14.png\"\n  }, \n  \"3228\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_15.png\"\n  }, \n  \"3229\": {\n    \"iconFile\": \"res:/ui/texture/icons/63_64_16.png\"\n  }, \n  \"3230\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_1.png\"\n  }, \n  \"3231\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_2.png\"\n  }, \n  \"3232\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_3.png\"\n  }, \n  \"3233\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_4.png\"\n  }, \n  \"3234\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_5.png\"\n  }, \n  \"3235\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_6.png\"\n  }, \n  \"3236\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_7.png\"\n  }, \n  \"3237\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_8.png\"\n  }, \n  \"3238\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_9.png\"\n  }, \n  \"3239\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_10.png\"\n  }, \n  \"3240\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_11.png\"\n  }, \n  \"3241\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_12.png\"\n  }, \n  \"3242\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_13.png\"\n  }, \n  \"3243\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_14.png\"\n  }, \n  \"3244\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_15.png\"\n  }, \n  \"3245\": {\n    \"iconFile\": \"res:/ui/texture/icons/64_64_16.png\"\n  }, \n  \"3246\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_5.png\"\n  }, \n  \"3247\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_6.png\"\n  }, \n  \"3248\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_7.png\"\n  }, \n  \"3249\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_8.png\"\n  }, \n  \"3250\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_1.png\"\n  }, \n  \"3251\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_2.png\"\n  }, \n  \"3252\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_3.png\"\n  }, \n  \"3253\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_4.png\"\n  }, \n  \"3254\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_5.png\"\n  }, \n  \"3255\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_6.png\"\n  }, \n  \"3256\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_7.png\"\n  }, \n  \"3257\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_8.png\"\n  }, \n  \"3258\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_9.png\"\n  }, \n  \"3259\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_10.png\"\n  }, \n  \"3260\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_11.png\"\n  }, \n  \"3261\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_12.png\"\n  }, \n  \"3262\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_13.png\"\n  }, \n  \"3263\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_14.png\"\n  }, \n  \"3264\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_15.png\"\n  }, \n  \"3265\": {\n    \"iconFile\": \"res:/ui/texture/icons/69_64_16.png\"\n  }, \n  \"3266\": {\n    \"iconFile\": \"res:/ui/texture/icons/68_64_1.png\"\n  }, \n  \"3267\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_1.png\"\n  }, \n  \"3268\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_2.png\"\n  }, \n  \"3278\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_5.png\"\n  }, \n  \"3279\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_8.png\"\n  }, \n  \"3280\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_6.png\"\n  }, \n  \"3281\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_7.png\"\n  }, \n  \"3282\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_3.png\"\n  }, \n  \"3283\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_4.png\"\n  }, \n  \"3299\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_9.png\"\n  }, \n  \"3300\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_10.png\"\n  }, \n  \"3301\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_11.png\"\n  }, \n  \"3302\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_12.png\"\n  }, \n  \"3303\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_13.png\"\n  }, \n  \"3304\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_14.png\"\n  }, \n  \"3305\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_15.png\"\n  }, \n  \"3306\": {\n    \"iconFile\": \"res:/ui/texture/icons/70_64_16.png\"\n  }, \n  \"3307\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_1.png\"\n  }, \n  \"3308\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_2.png\"\n  }, \n  \"3309\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_3.png\"\n  }, \n  \"3310\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_4.png\"\n  }, \n  \"3311\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_5.png\"\n  }, \n  \"3312\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_6.png\"\n  }, \n  \"3313\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_7.png\"\n  }, \n  \"3314\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_8.png\"\n  }, \n  \"3315\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_9.png\"\n  }, \n  \"3316\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_10.png\"\n  }, \n  \"3317\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_11.png\"\n  }, \n  \"3318\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_12.png\"\n  }, \n  \"3319\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_13.png\"\n  }, \n  \"3320\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_14.png\"\n  }, \n  \"3321\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_15.png\"\n  }, \n  \"3322\": {\n    \"iconFile\": \"res:/ui/texture/icons/71_64_16.png\"\n  }, \n  \"3323\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_1.png\"\n  }, \n  \"3324\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_2.png\"\n  }, \n  \"3325\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_3.png\"\n  }, \n  \"3326\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_4.png\"\n  }, \n  \"3327\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_5.png\"\n  }, \n  \"3328\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_6.png\"\n  }, \n  \"3329\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_8.png\"\n  }, \n  \"3330\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_9.png\"\n  }, \n  \"3333\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_10.png\"\n  }, \n  \"3334\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_11.png\"\n  }, \n  \"3335\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_12.png\"\n  }, \n  \"3336\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_13.png\"\n  }, \n  \"3337\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_14.png\"\n  }, \n  \"3338\": {\n    \"iconFile\": \"res:/ui/texture/icons/72_64_15.png\"\n  }, \n  \"3339\": {\n    \"iconFile\": \"res:/ui/texture/icons/74_64_1.png\"\n  }, \n  \"3340\": {\n    \"iconFile\": \"res:/ui/texture/icons/74_64_2.png\"\n  }, \n  \"3341\": {\n    \"iconFile\": \"res:/ui/texture/icons/74_64_3.png\"\n  }, \n  \"3342\": {\n    \"iconFile\": \"res:/ui/texture/icons/74_64_4.png\"\n  }, \n  \"3343\": {\n    \"iconFile\": \"res:/ui/texture/icons/74_64_5.png\"\n  }, \n  \"3344\": {\n    \"iconFile\": \"res:/ui/texture/icons/74_64_6.png\"\n  }, \n  \"3345\": {\n    \"iconFile\": \"res:/ui/texture/icons/74_64_7.png\"\n  }, \n  \"3346\": {\n    \"iconFile\": \"res:/ui/texture/icons/74_64_8.png\"\n  }, \n  \"3347\": {\n    \"iconFile\": \"res:/ui/texture/icons/74_64_9.png\"\n  }, \n  \"3348\": {\n    \"iconFile\": \"res:/ui/texture/icons/74_64_10.png\"\n  }, \n  \"3369\": {\n    \"iconFile\": \"res:/ui/texture/corps/47_128_1.png\"\n  }, \n  \"3370\": {\n    \"iconFile\": \"res:/ui/texture/corps/47_128_2.png\"\n  }, \n  \"3371\": {\n    \"iconFile\": \"res:/ui/texture/corps/47_128_3.png\"\n  }, \n  \"3372\": {\n    \"iconFile\": \"res:/ui/texture/corps/47_128_4.png\"\n  }, \n  \"3433\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_1.png\"\n  }, \n  \"3435\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_1.png\"\n  }, \n  \"3436\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_2.png\"\n  }, \n  \"3437\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_3.png\"\n  }, \n  \"3438\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_4.png\"\n  }, \n  \"3439\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_5.png\"\n  }, \n  \"3440\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_6.png\"\n  }, \n  \"3441\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_7.png\"\n  }, \n  \"3442\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_8.png\"\n  }, \n  \"3443\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_9.png\"\n  }, \n  \"3444\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_10.png\"\n  }, \n  \"3445\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_11.png\"\n  }, \n  \"3446\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_12.png\"\n  }, \n  \"3447\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_13.png\"\n  }, \n  \"3448\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_14.png\"\n  }, \n  \"3449\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_15.png\"\n  }, \n  \"3450\": {\n    \"iconFile\": \"res:/ui/texture/icons/78_64_16.png\"\n  }, \n  \"3626\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_9.png\"\n  }, \n  \"3631\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_6.png\"\n  }, \n  \"3636\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_7.png\"\n  }, \n  \"3641\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_5.png\"\n  }, \n  \"3646\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_8.png\"\n  }, \n  \"3716\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_14.png\"\n  }, \n  \"3717\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_12.png\"\n  }, \n  \"3718\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_15.png\"\n  }, \n  \"3719\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_10.png\"\n  }, \n  \"3720\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_13.png\"\n  }, \n  \"3721\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_11.png\"\n  }, \n  \"3722\": {\n    \"iconFile\": \"res:/ui/texture/icons/82_64_10.png\"\n  }, \n  \"3723\": {\n    \"iconFile\": \"res:/ui/texture/icons/82_64_9.png\"\n  }, \n  \"3724\": {\n    \"iconFile\": \"res:/ui/texture/icons/82_64_7.png\"\n  }, \n  \"3725\": {\n    \"iconFile\": \"res:/ui/texture/icons/82_64_8.png\"\n  }, \n  \"3726\": {\n    \"iconFile\": \"res:/ui/texture/icons/82_64_4.png\"\n  }, \n  \"3727\": {\n    \"iconFile\": \"res:/ui/texture/icons/82_64_3.png\"\n  }, \n  \"3728\": {\n    \"iconFile\": \"res:/ui/texture/icons/82_64_1.png\"\n  }, \n  \"3729\": {\n    \"iconFile\": \"res:/ui/texture/icons/82_64_2.png\"\n  }, \n  \"3730\": {\n    \"iconFile\": \"res:/ui/texture/icons/82_64_11.png\"\n  }, \n  \"3731\": {\n    \"iconFile\": \"res:/ui/texture/icons/82_64_12.png\"\n  }, \n  \"3732\": {\n    \"iconFile\": \"res:/ui/texture/icons/82_64_5.png\"\n  }, \n  \"3733\": {\n    \"iconFile\": \"res:/ui/texture/icons/82_64_6.png\"\n  }, \n  \"3734\": {\n    \"iconFile\": \"res:/ui/texture/icons/84_64_6.png\"\n  }, \n  \"3735\": {\n    \"iconFile\": \"res:/ui/texture/icons/84_64_4.png\"\n  }, \n  \"3736\": {\n    \"iconFile\": \"res:/ui/texture/icons/84_64_2.png\"\n  }, \n  \"3737\": {\n    \"iconFile\": \"res:/ui/texture/icons/84_64_3.png\"\n  }, \n  \"3738\": {\n    \"iconFile\": \"res:/ui/texture/icons/84_64_7.png\"\n  }, \n  \"3739\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_1.png\"\n  }, \n  \"3740\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_2.png\"\n  }, \n  \"3741\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_3.png\"\n  }, \n  \"3742\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_4.png\"\n  }, \n  \"3743\": {\n    \"iconFile\": \"res:/ui/texture/icons/84_64_1.png\"\n  }, \n  \"3744\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_5.png\"\n  }, \n  \"3745\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_6.png\"\n  }, \n  \"3746\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_7.png\"\n  }, \n  \"3747\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_8.png\"\n  }, \n  \"3748\": {\n    \"iconFile\": \"res:/ui/texture/icons/84_64_5.png\"\n  }, \n  \"3749\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_9.png\"\n  }, \n  \"3750\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_10.png\"\n  }, \n  \"3751\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_11.png\"\n  }, \n  \"3752\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_12.png\"\n  }, \n  \"3753\": {\n    \"iconFile\": \"res:/ui/texture/icons/84_64_9.png\"\n  }, \n  \"3754\": {\n    \"iconFile\": \"res:/ui/texture/icons/83_64_13.png\"\n  }, \n  \"3755\": {\n    \"iconFile\": \"res:/ui/texture/icons/84_64_8.png\"\n  }, \n  \"3756\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_4.png\"\n  }, \n  \"3759\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_16.png\"\n  }, \n  \"3762\": {\n    \"iconFile\": \"res:/ui/texture/icons/89_128_1.png\"\n  }, \n  \"3763\": {\n    \"iconFile\": \"res:/ui/texture/icons/89_128_2.png\"\n  }, \n  \"3764\": {\n    \"iconFile\": \"res:/ui/texture/icons/89_128_3.png\"\n  }, \n  \"3765\": {\n    \"iconFile\": \"res:/ui/texture/icons/89_128_4.png\"\n  }, \n  \"3766\": {\n    \"iconFile\": \"res:/ui/texture/icons/84_64_16.png\"\n  }, \n  \"3801\": {\n    \"iconFile\": \"res:/UI/netres/mission_content/agent_interaction.png\"\n  }, \n  \"3802\": {\n    \"iconFile\": \"res:/UI/netres/mission_content/agent_talkto.png\"\n  }, \n  \"3803\": {\n    \"iconFile\": \"res:/UI/netres/mission_content/arc_amarr.png\"\n  }, \n  \"3804\": {\n    \"iconFile\": \"res:/UI/netres/mission_content/arc_caldari.png\"\n  }, \n  \"3805\": {\n    \"iconFile\": \"res:/UI/netres/mission_content/arc_gallente.png\"\n  }, \n  \"3806\": {\n    \"iconFile\": \"res:/UI/netres/mission_content/arc_minmatar.png\"\n  }, \n  \"3807\": {\n    \"iconFile\": \"res:/UI/netres/mission_content/blood_stained.png\"\n  }, \n  \"3838\": {\n    \"iconFile\": \"res:/UI/netres/mission_content/angels_and_artifacts.png\"\n  }, \n  \"3839\": {\n    \"iconFile\": \"res:/UI/netres/mission_content/smash_and_grab.png\"\n  }, \n  \"3943\": {\n    \"iconFile\": \"res:/ui/texture/icons/95_64_11.png\"\n  }, \n  \"3945\": {\n    \"iconFile\": \"res:/ui/texture/icons/95_64_2.png\"\n  }, \n  \"3946\": {\n    \"iconFile\": \"res:/ui/texture/icons/95_64_3.png\"\n  }, \n  \"3947\": {\n    \"iconFile\": \"res:/ui/texture/icons/95_64_4.png\"\n  }, \n  \"3948\": {\n    \"iconFile\": \"res:/ui/texture/icons/95_64_6.png\"\n  }, \n  \"3949\": {\n    \"iconFile\": \"res:/ui/texture/icons/95_64_7.png\"\n  }, \n  \"3950\": {\n    \"iconFile\": \"res:/ui/texture/icons/95_64_8.png\"\n  }, \n  \"3951\": {\n    \"iconFile\": \"res:/ui/texture/icons/95_64_10.png\"\n  }, \n  \"3952\": {\n    \"iconFile\": \"res:/ui/texture/icons/95_64_12.png\"\n  }, \n  \"3953\": {\n    \"iconFile\": \"res:/ui/texture/icons/95_64_14.png\"\n  }, \n  \"3954\": {\n    \"iconFile\": \"res:/ui/texture/icons/95_64_15.png\"\n  }, \n  \"3955\": {\n    \"iconFile\": \"res:/ui/texture/icons/95_64_5.png\"\n  }, \n  \"5003\": {\n    \"iconFile\": \"res:/Texture/Landmark/amarr.jpg\"\n  }, \n  \"5005\": {\n    \"iconFile\": \"res:/Texture/Landmark/minmatar.jpg\"\n  }, \n  \"5006\": {\n    \"iconFile\": \"res:/Texture/Landmark/caldari.jpg\"\n  }, \n  \"5007\": {\n    \"iconFile\": \"res:/Texture/Landmark/galente.jpg\"\n  }, \n  \"5008\": {\n    \"iconFile\": \"res:/Texture/Landmark/jove.jpg\"\n  }, \n  \"5010\": {\n    \"iconFile\": \"res:/Texture/Landmark/khanidkingdom.jpg\"\n  }, \n  \"5012\": {\n    \"iconFile\": \"res:/Texture/Landmark/Curse.jpg\"\n  }, \n  \"5015\": {\n    \"iconFile\": \"res:/Texture/Landmark/outerring.jpg\"\n  }, \n  \"5016\": {\n    \"iconFile\": \"res:/Texture/Landmark/stain.jpg\"\n  }, \n  \"5017\": {\n    \"iconFile\": \"res:/Texture/Landmark/venal.jpg\"\n  }, \n  \"5020\": {\n    \"iconFile\": \"res:/Texture/Landmark/pointofnoreturn.jpg\"\n  }, \n  \"5026\": {\n    \"iconFile\": \"res:/Texture/Landmark/ginnungagap.jpg\"\n  }, \n  \"5027\": {\n    \"iconFile\": \"res:/Texture/Landmark/golgothanfields.jpg\"\n  }, \n  \"5029\": {\n    \"iconFile\": \"res:/Texture/Landmark/myridianstrip.jpg\"\n  }, \n  \"5030\": {\n    \"iconFile\": \"res:/Texture/Landmark/A33colonialruins.jpg\"\n  }, \n  \"5031\": {\n    \"iconFile\": \"res:/Texture/Landmark/serpentscoil.jpg\"\n  }, \n  \"5032\": {\n    \"iconFile\": \"res:/Texture/Landmark/traumark.jpg\"\n  }, \n  \"5033\": {\n    \"iconFile\": \"res:/Texture/Landmark/cityofgod.jpg\"\n  }, \n  \"10012\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_2.png\"\n  }, \n  \"10013\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_3.png\"\n  }, \n  \"10014\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_4.png\"\n  }, \n  \"10015\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_5.png\"\n  }, \n  \"10016\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_6.png\"\n  }, \n  \"10017\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_7.png\"\n  }, \n  \"10018\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_8.png\"\n  }, \n  \"10019\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_9.png\"\n  }, \n  \"10020\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_10.png\"\n  }, \n  \"10021\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_11.png\"\n  }, \n  \"10022\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_12.png\"\n  }, \n  \"10023\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_13.png\"\n  }, \n  \"10024\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_14.png\"\n  }, \n  \"10025\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_15.png\"\n  }, \n  \"10026\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_16.png\"\n  }, \n  \"10027\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_1.png\"\n  }, \n  \"10028\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_2.png\"\n  }, \n  \"10029\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_3.png\"\n  }, \n  \"10030\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_4.png\"\n  }, \n  \"10031\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_5.png\"\n  }, \n  \"10032\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_6.png\"\n  }, \n  \"10033\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_7.png\"\n  }, \n  \"10034\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_8.png\"\n  }, \n  \"10035\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_9.png\"\n  }, \n  \"10036\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_10.png\"\n  }, \n  \"10037\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_11.png\"\n  }, \n  \"10038\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_12.png\"\n  }, \n  \"10039\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_13.png\"\n  }, \n  \"10040\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_14.png\"\n  }, \n  \"10041\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_15.png\"\n  }, \n  \"10042\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_16.png\"\n  }, \n  \"10043\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_1.png\"\n  }, \n  \"10044\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_2.png\"\n  }, \n  \"10045\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_3.png\"\n  }, \n  \"10046\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_4.png\"\n  }, \n  \"10047\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_5.png\"\n  }, \n  \"10048\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_6.png\"\n  }, \n  \"10049\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_7.png\"\n  }, \n  \"10050\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_8.png\"\n  }, \n  \"10051\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_9.png\"\n  }, \n  \"10052\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_10.png\"\n  }, \n  \"10053\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_11.png\"\n  }, \n  \"10054\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_12.png\"\n  }, \n  \"10055\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_13.png\"\n  }, \n  \"10056\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_14.png\"\n  }, \n  \"10057\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_15.png\"\n  }, \n  \"10058\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_16.png\"\n  }, \n  \"10059\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_1.png\"\n  }, \n  \"10060\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_2.png\"\n  }, \n  \"10061\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_3.png\"\n  }, \n  \"10062\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_4.png\"\n  }, \n  \"10063\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_5.png\"\n  }, \n  \"10064\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_6.png\"\n  }, \n  \"10065\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_7.png\"\n  }, \n  \"10066\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_8.png\"\n  }, \n  \"10071\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_7.png\"\n  }, \n  \"10073\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_6.png\"\n  }, \n  \"10074\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_2.png\"\n  }, \n  \"10075\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_5.png\"\n  }, \n  \"10076\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_3.png\"\n  }, \n  \"10077\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_8.png\"\n  }, \n  \"10078\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_1.png\"\n  }, \n  \"10079\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_4.png\"\n  }, \n  \"10081\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_2.png\"\n  }, \n  \"10082\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_3.png\"\n  }, \n  \"10083\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_4.png\"\n  }, \n  \"10084\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_6.png\"\n  }, \n  \"10085\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_5.png\"\n  }, \n  \"10086\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_7.png\"\n  }, \n  \"10087\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_8.png\"\n  }, \n  \"10088\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_9.png\"\n  }, \n  \"10089\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_10.png\"\n  }, \n  \"10090\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_11.png\"\n  }, \n  \"10091\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_12.png\"\n  }, \n  \"10092\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_13.png\"\n  }, \n  \"10093\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_14.png\"\n  }, \n  \"10094\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_15.png\"\n  }, \n  \"10095\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_16.png\"\n  }, \n  \"10096\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_1.png\"\n  }, \n  \"10097\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_2.png\"\n  }, \n  \"10098\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_3.png\"\n  }, \n  \"10099\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_4.png\"\n  }, \n  \"10100\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_5.png\"\n  }, \n  \"10101\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_6.png\"\n  }, \n  \"10102\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_7.png\"\n  }, \n  \"10103\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_8.png\"\n  }, \n  \"10104\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_9.png\"\n  }, \n  \"10105\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_10.png\"\n  }, \n  \"10106\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_11.png\"\n  }, \n  \"10107\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_12.png\"\n  }, \n  \"10108\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_13.png\"\n  }, \n  \"10109\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_14.png\"\n  }, \n  \"10110\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_15.png\"\n  }, \n  \"10111\": {\n    \"iconFile\": \"res:/ui/texture/icons/97_64_16.png\"\n  }, \n  \"10113\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_2.png\"\n  }, \n  \"10115\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_4.png\"\n  }, \n  \"10116\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_5.png\"\n  }, \n  \"10117\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_6.png\"\n  }, \n  \"10118\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_7.png\"\n  }, \n  \"10119\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_8.png\"\n  }, \n  \"10120\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_9.png\"\n  }, \n  \"10121\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_10.png\"\n  }, \n  \"10122\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_11.png\"\n  }, \n  \"10123\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_12.png\"\n  }, \n  \"10124\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_13.png\"\n  }, \n  \"10125\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_14.png\"\n  }, \n  \"10126\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_15.png\"\n  }, \n  \"10127\": {\n    \"iconFile\": \"res:/ui/texture/icons/98_64_16.png\"\n  }, \n  \"10132\": {\n    \"iconFile\": \"res:/ui/texture/icons/96_64_1.png\"\n  }, \n  \"10133\": {\n    \"iconFile\": \"res:/ui/texture/icons/102_128_1.png\"\n  }, \n  \"10134\": {\n    \"iconFile\": \"res:/ui/texture/icons/102_128_2.png\"\n  }, \n  \"10135\": {\n    \"iconFile\": \"res:/ui/texture/icons/102_128_3.png\"\n  }, \n  \"10136\": {\n    \"iconFile\": \"res:/ui/texture/icons/102_128_4.png\"\n  }, \n  \"10137\": {\n    \"iconFile\": \"res:/ui/texture/icons/103_128_1.png\"\n  }, \n  \"10138\": {\n    \"iconFile\": \"res:/ui/texture/icons/103_128_2.png\"\n  }, \n  \"10139\": {\n    \"iconFile\": \"res:/ui/texture/icons/103_128_3.png\"\n  }, \n  \"10140\": {\n    \"iconFile\": \"res:/ui/texture/icons/103_128_4.png\"\n  }, \n  \"10141\": {\n    \"iconFile\": \"res:/ui/texture/icons/104_128_1.png\"\n  }, \n  \"10142\": {\n    \"iconFile\": \"res:/ui/texture/icons/104_128_2.png\"\n  }, \n  \"10144\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_9.png\"\n  }, \n  \"10149\": {\n    \"iconFile\": \"res:/ui/texture/icons/79_64_9.png\"\n  }, \n  \"10150\": {\n    \"iconFile\": \"res:/ui/texture/icons/100_64_5.png\"\n  }, \n  \"10151\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_10.png\"\n  }, \n  \"10152\": {\n    \"iconFile\": \"res:/ui/texture/icons/100_64_7.png\"\n  }, \n  \"10153\": {\n    \"iconFile\": \"res:/ui/texture/icons/100_64_8.png\"\n  }, \n  \"10154\": {\n    \"iconFile\": \"res:/ui/texture/icons/100_64_12.png\"\n  }, \n  \"10155\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_1.png\"\n  }, \n  \"10156\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_2.png\"\n  }, \n  \"10157\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_3.png\"\n  }, \n  \"10158\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_4.png\"\n  }, \n  \"10159\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_5.png\"\n  }, \n  \"10160\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_6.png\"\n  }, \n  \"10161\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_7.png\"\n  }, \n  \"10162\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_8.png\"\n  }, \n  \"10163\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_9.png\"\n  }, \n  \"10164\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_11.png\"\n  }, \n  \"10165\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_12.png\"\n  }, \n  \"10166\": {\n    \"iconFile\": \"res:/ui/texture/icons/101_64_13.png\"\n  }, \n  \"10172\": {\n    \"iconFile\": \"res:/ui/texture/icons/44_32_4.png\"\n  }, \n  \"10173\": {\n    \"iconFile\": \"res:/ui/texture/icons/45_64_3.png\"\n  }, \n  \"10174\": {\n    \"iconFile\": \"res:/ui/texture/icons/45_64_2.png\"\n  }, \n  \"10175\": {\n    \"iconFile\": \"res:/ui/texture/icons/44_32_3.png\"\n  }, \n  \"10176\": {\n    \"iconFile\": \"res:/ui/texture/icons/36_64_2.png\"\n  }, \n  \"10177\": {\n    \"iconFile\": \"res:/ui/texture/icons/44_32_2.png\"\n  }, \n  \"10178\": {\n    \"iconFile\": \"res:/ui/texture/icons/45_64_1.png\"\n  }, \n  \"10180\": {\n    \"iconFile\": \"res:/ui/texture/corps/43_128_1.png\"\n  }, \n  \"10181\": {\n    \"iconFile\": \"res:/ui/texture/corps/42_128_3.png\"\n  }, \n  \"10182\": {\n    \"iconFile\": \"res:/ui/texture/corps/42_128_1.png\"\n  }, \n  \"10183\": {\n    \"iconFile\": \"res:/ui/texture/corps/42_128_4.png\"\n  }, \n  \"10184\": {\n    \"iconFile\": \"res:/ui/texture/corps/41_128_4.png\"\n  }, \n  \"10185\": {\n    \"iconFile\": \"res:/ui/texture/corps/43_128_2.png\"\n  }, \n  \"10186\": {\n    \"iconFile\": \"res:/ui/texture/corps/43_128_3.png\"\n  }, \n  \"10187\": {\n    \"iconFile\": \"res:/ui/texture/corps/43_128_4.png\"\n  }, \n  \"10190\": {\n    \"iconFile\": \"res:/ui/texture/icons/79_64_13.png\"\n  }, \n  \"10191\": {\n    \"iconFile\": \"res:/ui/texture/corps/46_128_2.png\"\n  }, \n  \"10192\": {\n    \"iconFile\": \"res:/ui/texture/corps/45_128_4.png\"\n  }, \n  \"10204\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/3992_male_bottomOuter_PantsMilM01_Types_PantsMilM01_blackwaxed.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10205\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/3997_female_bottomOuter_PantsMilF01_Types_PantsMilF01_blackgray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10206\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/3998_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_Gray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10207\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/3999_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_Blackwax.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10208\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4078_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_Camo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10209\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4085_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10210\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/3958_female_Accessories_Glasses_Goggles_01_Types_goggles_01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10214\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/4037_female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_RightDark.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10215\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/4038_female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_RightGray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10216\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/4039_female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_RightGold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10219\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/4042_female_Accessories_Glasses_Monocle_01_Types_MonocleF01_RightGray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10220\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/4043_female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_LeftDark.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10221\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/4046_female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_LeftGold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10222\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/4048_female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_LeftGray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10223\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/4050_female_Accessories_Glasses_Monocle_01_Types_MonocleF01_LeftGold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10224\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/4052_female_Accessories_Glasses_Monocle_01_Types_MonocleF01_LeftGray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10231\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair_4086_947.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10232\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair_4088_949.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10233\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair_4096_1005.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10234\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4054_female_Outer_JacketMilF01_Types_JacketMilF01_blackgray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10235\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4097_male_outer_JacketMilM01_Types_JacketMilM01_blackyellow.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10236\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4098_male_outer_JacketMilM02_Types_JacketMilM02_blackgray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10237\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4066_female_TopMiddle_ShirtQF01_Types_shirtqf01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10238\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4067_male_TopMiddle_ShirtQM01_Types_shirtqm01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10239\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4057_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10240\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4058_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10241\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4059_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_dust.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10242\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4060_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_olive.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10243\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4061_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10244\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4062_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10245\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4063_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_dust.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10246\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4064_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_olive.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10247\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4065_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_lightgrey.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10248\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4068_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_ishukone.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10249\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/3975_female_Outer_JacketMilF02_Types_JacketMilF02_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10250\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4002_female_Feet_BootsMilF01_Types_BootsMilF01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10251\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4003_female_Feet_BootsMilF02_Types_BootsMilF02_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10252\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4004_female_Feet_BootsMilF03_Types_BootsMilF03_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10253\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4008_male_Feet_BootsMilM01_Types_BootsMilM01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10254\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/3966_male_Feet_BootsMilM02_Types_BootsMilM02_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10255\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4001_male_Feet_BootsMilM03_Types_BootsMilM03_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10256\": {\n    \"iconFile\": \"res:/ui/texture/icons/65_128_3.png\"\n  }, \n  \"10257\": {\n    \"iconFile\": \"res:/UI/netres/mission_content/arc_npe.png\"\n  }, \n  \"10545\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/3992_male_bottomOuter_PantsMilM01_Types_PantsMilM01_blackwaxed.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10546\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/3997_female_bottomOuter_PantsMilF01_Types_PantsMilF01_blackgray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10547\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/3998_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_Gray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10548\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/3999_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_Blackwax.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10549\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4078_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_Camo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10550\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4085_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10551\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/3966_male_Feet_BootsMilM02_Types_BootsMilM02_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10552\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4001_male_Feet_BootsMilM03_Types_BootsMilM03_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10553\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4002_female_Feet_BootsMilF01_Types_BootsMilF01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10554\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4003_female_Feet_BootsMilF02_Types_BootsMilF02_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10555\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4004_female_Feet_BootsMilF03_Types_BootsMilF03_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10556\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4008_male_Feet_BootsMilM01_Types_BootsMilM01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10557\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_LeftDark.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10558\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_LeftGold.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10559\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_LeftGray.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10560\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_RightDark.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10561\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_RightGold.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10562\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_RightGray.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10563\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_Accessories_Glasses_Goggles_01_Types_goggles_01.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10564\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_Accessories_Glasses_Monocle_01_Types_MonocleF01_LeftGold.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10565\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_Accessories_Glasses_Monocle_01_Types_MonocleF01_LeftGray.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10566\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_Accessories_Glasses_Monocle_01_Types_MonocleF01_RightGold.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10567\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_Accessories_Glasses_Monocle_01_Types_MonocleF01_RightGray.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10568\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4016_female_bottomOuter_PantsMilF01_Types_PantsMilF01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10569\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4017_female_bottomOuter_PantsMilF01_Types_PantsMilF01_blackbluegold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10570\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4018_female_bottomOuter_PantsMilF01_Types_PantsMilF01_blackgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10571\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4019_female_bottomOuter_PantsMilF01_Types_PantsMilF01_blackgoldline.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10572\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/3997_female_bottomOuter_PantsMilF01_Types_PantsMilF01_blackgray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10573\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4020_female_bottomOuter_PantsMilF01_Types_PantsMilF01_blackredgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10574\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4021_female_bottomOuter_PantsMilF01_Types_PantsMilF01_blacksilver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10575\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4022_female_bottomOuter_PantsMilF01_Types_PantsMilF01_gold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10576\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4026_female_bottomOuter_PantsMilF01_Types_PantsMilF01_matblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10577\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4028_female_bottomOuter_PantsMilF01_Types_PantsMilF01_matgreen.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10578\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4030_female_bottomOuter_PantsMilF01_Types_PantsMilF01_matred.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10579\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4032_female_bottomOuter_PantsMilF01_Types_PantsMilF01_silver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10580\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4033_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_blackleather.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10581\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/3999_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_Blackwax.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10582\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4034_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_brownleather.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10583\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4035_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_graphite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10584\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/3998_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_Gray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10585\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4036_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_greengold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10586\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4069_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_marine.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10587\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4070_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_matblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10588\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4071_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_matblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10589\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4072_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_matred.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10590\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4073_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_redgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10591\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4074_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_silver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10592\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4075_female_bottomOuter_SkirtMilF01_Types_SkirtMilF01_white.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10593\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4085_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10594\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4076_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_blackred.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10595\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4101_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_blackwhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10596\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4102_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10597\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4078_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_Camo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10598\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4103_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_graphite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10599\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4104_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_gray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10600\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4105_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_graystripes.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10601\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4106_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10602\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4107_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_greenblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10603\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4108_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_greenstripes.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10604\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4109_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_khaki.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10605\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4110_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_marine.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10606\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4111_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_matblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10607\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4112_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10608\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4113_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_redleather.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10609\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4114_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_redstripes.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10610\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4115_female_bottomOuter_SkirtMilF02_Types_SkirtMilF02_whitestripes.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10612\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4116_female_Feet_BootsMilF01_Types_BootsMilF01_blackgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10613\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4117_female_Feet_BootsMilF01_Types_BootsMilF01_blackred.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10614\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4118_female_Feet_BootsMilF01_Types_BootsMilF01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10615\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4119_female_Feet_BootsMilF01_Types_BootsMilF01_gold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10616\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4120_female_Feet_BootsMilF01_Types_BootsMilF01_graphwhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10617\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4121_female_Feet_BootsMilF01_Types_BootsMilF01_greenblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10618\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4122_female_Feet_BootsMilF01_Types_BootsMilF01_matblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10619\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4123_female_Feet_BootsMilF01_Types_BootsMilF01_matred.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10620\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4124_female_Feet_BootsMilF01_Types_BootsMilF01_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10621\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4125_female_Feet_BootsMilF01_Types_BootsMilF01_silver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10622\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4126_female_Feet_BootsMilF01_Types_BootsMilF01_turquoise.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10624\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4127_female_Feet_BootsMilF02_Types_BootsMilF02_blackgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10625\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4128_female_Feet_BootsMilF02_Types_BootsMilF02_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10626\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4129_female_Feet_BootsMilF02_Types_BootsMilF02_matbrown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10627\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4130_female_Feet_BootsMilF02_Types_BootsMilF02_matgray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10628\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4131_female_Feet_BootsMilF02_Types_BootsMilF02_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10630\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4132_female_Feet_BootsMilF03_Types_BootsMilF03_blackwhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10631\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4133_female_Feet_BootsMilF03_Types_BootsMilF03_brownblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10632\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4134_female_Feet_BootsMilF03_Types_BootsMilF03_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10633\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4135_female_Feet_BootsMilF03_Types_BootsMilF03_whiteblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10634\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_hair_Hair_CurlyShoulderLength_01_Types_hair_curlyshoulderlength_01.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10635\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Female_hair_Hair_ShortPixieTop_01_Types_hair_shortpixietop_01.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10636\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4136_female_Outer_JacketMilF01_Types_JacketMilF01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10638\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4137_female_Outer_JacketMilF01_Types_JacketMilF01_graphite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10639\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4138_female_Outer_JacketMilF01_Types_JacketMilF01_greengold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10640\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4139_female_Outer_JacketMilF01_Types_JacketMilF01_matblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10641\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4140_female_Outer_JacketMilF01_Types_JacketMilF01_matred.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10642\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4141_female_Outer_JacketMilF01_Types_JacketMilF01_redgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10643\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4142_female_Outer_JacketMilF01_Types_JacketMilF01_silver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10644\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4143_female_Outer_JacketMilF02_Types_JacketMilF02_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10645\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4144_female_Outer_JacketMilF02_Types_JacketMilF02_blackwhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10647\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4145_female_Outer_JacketMilF02_Types_JacketMilF02_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10648\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4146_female_Outer_JacketMilF02_Types_JacketMilF02_goldblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10649\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4149_female_Outer_JacketMilF02_Types_JacketMilF02_graphite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10650\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4150_female_Outer_JacketMilF02_Types_JacketMilF02_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10651\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4151_female_Outer_JacketMilF02_Types_JacketMilF02_matblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10652\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4152_female_Outer_JacketMilF02_Types_JacketMilF02_matred.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10653\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4153_female_Outer_JacketMilF02_Types_JacketMilF02_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10654\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4154_female_Outer_JacketMilF02_Types_JacketMilF02_turquoise.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10655\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4201_female_TopMiddle_ShirtGF01_Types_ShirtGF01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10656\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4202_female_TopMiddle_ShirtGF01_Types_ShirtGF01_blue2.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10657\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4203_female_TopMiddle_ShirtGF01_Types_ShirtGF01_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10658\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4204_female_TopMiddle_ShirtGF01_Types_ShirtGF01_cream.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10659\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4205_female_TopMiddle_ShirtGF01_Types_ShirtGF01_darkblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10660\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4206_female_TopMiddle_ShirtGF01_Types_ShirtGF01_darkred.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10661\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4207_female_TopMiddle_ShirtGF01_Types_ShirtGF01_gray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10662\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4208_female_TopMiddle_ShirtGF01_Types_ShirtGF01_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10663\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4209_female_TopMiddle_ShirtGF01_Types_ShirtGF01_khaki.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10664\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4210_female_TopMiddle_ShirtGF01_Types_ShirtGF01_olive.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10665\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4211_female_TopMiddle_ShirtGF01_Types_ShirtGF01_orange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10666\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4212_female_TopMiddle_ShirtGF01_Types_ShirtGF01_p_darkcaldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10667\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4213_female_TopMiddle_ShirtGF01_Types_ShirtGF01_p_desertcamo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10668\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4214_female_TopMiddle_ShirtGF01_Types_ShirtGF01_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10669\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4215_female_TopMiddle_ShirtGF01_Types_ShirtGF01_white.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10671\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4216_female_TopMiddle_TanktopF01_Types_TanktopF01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10672\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4217_female_TopMiddle_TanktopF01_Types_TanktopF01_blackleather.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10673\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4218_female_TopMiddle_TanktopF01_Types_TanktopF01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10674\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4219_female_TopMiddle_TanktopF01_Types_TanktopF01_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10675\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4220_female_TopMiddle_TanktopF01_Types_TanktopF01_gray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10676\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4221_female_TopMiddle_TanktopF01_Types_TanktopF01_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10677\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4222_female_TopMiddle_TanktopF01_Types_TanktopF01_orange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10678\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4223_female_TopMiddle_TanktopF01_Types_TanktopF01_p01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10679\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4224_female_TopMiddle_TanktopF01_Types_TanktopF01_p02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10680\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4225_female_TopMiddle_TanktopF01_Types_TanktopF01_p03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10681\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4226_female_TopMiddle_TanktopF01_Types_TanktopF01_p04.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10682\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4227_female_TopMiddle_TanktopF01_Types_TanktopF01_p05.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10683\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4228_female_TopMiddle_TanktopF01_Types_TanktopF01_p06.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10684\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4229_female_TopMiddle_TanktopF01_Types_TanktopF01_p07.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10685\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4230_female_TopMiddle_TanktopF01_Types_TanktopF01_p08.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10686\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4231_female_TopMiddle_TanktopF01_Types_TanktopF01_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10687\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4232_female_TopMiddle_TanktopF01_Types_TanktopF01_white.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10688\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4061_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10689\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4155_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_blackleather.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10690\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4156_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_blackwhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10691\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4062_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10692\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4063_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_dust.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10693\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4157_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_gold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10694\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4158_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_graphite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10695\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4159_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_greensatin.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10696\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4065_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_lightgrey.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10697\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4160_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_matblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10698\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4161_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_matblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10699\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4162_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_matolive.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10700\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4064_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_olive.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10701\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4163_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_orangesatin.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10702\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4164_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_redsatin.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10703\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/3958_female_Accessories_Glasses_Goggles_01_Types_goggles_01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10704\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/3958_female_Accessories_Glasses_Goggles_01_Types_goggles_01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10736\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair_4086_947.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10737\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair_4088_949.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10738\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair_4096_1005.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10739\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Accessories_Glasses_EyeImp01_Types_EyeImpM01_LeftDark.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10740\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Accessories_Glasses_EyeImp01_Types_EyeImpM01_LeftGold.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10741\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Accessories_Glasses_EyeImp01_Types_EyeImpM01_LeftGray.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10742\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Accessories_Glasses_EyeImp01_Types_EyeImpM01_RightDark.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10743\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Accessories_Glasses_EyeImp01_Types_EyeImpM01_RightGold.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10744\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Accessories_Glasses_EyeImp01_Types_EyeImpM01_RightGray.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10745\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Accessories_Glasses_Goggles_01_Types_goggles_01.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10746\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Accessories_Glasses_Monocle_01_Types_MonocleM01_LeftGold.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10747\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Accessories_Glasses_Monocle_01_Types_MonocleM01_LefttGray.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10748\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Accessories_Glasses_Monocle_01_Types_MonocleM01_RightGold.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10749\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Accessories_Glasses_Monocle_01_Types_MonocleM01_RightGray.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10750\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4165_male_bottomOuter_PantsMilM01_Types_PantsMilM01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10751\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/3992_male_bottomOuter_PantsMilM01_Types_PantsMilM01_blackwaxed.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10752\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4166_male_bottomOuter_PantsMilM01_Types_PantsMilM01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10753\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4167_male_bottomOuter_PantsMilM01_Types_PantsMilM01_goldblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10754\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4168_male_bottomOuter_PantsMilM01_Types_PantsMilM01_grayblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10755\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4169_male_bottomOuter_PantsMilM01_Types_PantsMilM01_p_browncamo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10756\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4170_male_bottomOuter_PantsMilM01_Types_PantsMilM01_p_greencamo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10757\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/4171_male_bottomOuter_PantsMilM01_Types_PantsMilM01_redblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10758\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Feet_BootsMilM01_Types_BootsMilM01_black.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10759\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4172_male_Feet_BootsMilM01_Types_BootsMilM01_trueblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10760\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4173_male_Feet_BootsMilM01_Types_BootsMilM01_wornbrown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10762\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4174_male_Feet_BootsMilM02_Types_BootsMilM02_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10763\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4175_male_Feet_BootsMilM02_Types_BootsMilM02_gray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10764\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4176_male_Feet_BootsMilM02_Types_BootsMilM02_tan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10765\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Feet_BootsMilM03_Types_BootsMilM03_black.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10766\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4177_male_Feet_BootsMilM03_Types_BootsMilM03_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10767\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4178_male_Feet_BootsMilM03_Types_BootsMilM03_gray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10768\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/4179_male_Feet_BootsMilM03_Types_BootsMilM03_tan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10769\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_hair_Hair_Stubble_01_Types_Hair_Stubble_01.png\", \n    \"iconType\": \"png\\r\"\n  }, \n  \"10771\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4244_male_outer_JacketMilM01_Types_JacketMilM01_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10772\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4245_male_outer_JacketMilM01_Types_JacketMilM01_silver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10773\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4233_male_outer_JacketMilM02_Types_JacketMilM02_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10775\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4234_male_outer_JacketMilM02_Types_JacketMilM02_greengold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10776\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4235_male_outer_JacketMilM02_Types_JacketMilM02_matgraphite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10777\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4236_male_outer_JacketMilM02_Types_JacketMilM02_matgray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10778\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4237_male_outer_JacketMilM02_Types_JacketMilM02_matgreen.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10779\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4238_male_outer_JacketMilM02_Types_JacketMilM02_redgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10780\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4239_male_outer_JacketMilM02_Types_JacketMilM02_silver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10781\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4180_male_TopMiddle_ShirtGM01_Types_ShirtGM01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10782\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4181_male_TopMiddle_ShirtGM01_Types_ShirtGM01_blue2.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10783\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4182_male_TopMiddle_ShirtGM01_Types_ShirtGM01_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10784\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4183_male_TopMiddle_ShirtGM01_Types_ShirtGM01_darkblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10785\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4184_male_TopMiddle_ShirtGM01_Types_ShirtGM01_darkred.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10786\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4185_male_TopMiddle_ShirtGM01_Types_ShirtGM01_khaki.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10787\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4186_male_TopMiddle_ShirtGM01_Types_ShirtGM01_lightgray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10788\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4187_male_TopMiddle_ShirtGM01_Types_ShirtGM01_olive.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10789\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4188_male_TopMiddle_ShirtGM01_Types_ShirtGM01_p_darkcaldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10790\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4189_male_TopMiddle_ShirtGM01_Types_ShirtGM01_p_desertcamo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10791\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4190_male_TopMiddle_ShirtGM01_Types_ShirtGM01_white.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10793\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4191_male_TopMiddle_TanktopM01_Types_TanktopM01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10794\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4192_male_TopMiddle_TanktopM01_Types_TanktopM01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10795\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4193_male_TopMiddle_TanktopM01_Types_TanktopM01_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10796\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4194_male_TopMiddle_TanktopM01_Types_TanktopM01_gray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10797\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4195_male_TopMiddle_TanktopM01_Types_TanktopM01_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10798\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4196_male_TopMiddle_TanktopM01_Types_TanktopM01_p01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10799\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4197_male_TopMiddle_TanktopM01_Types_TanktopM01_p02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10800\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4198_male_TopMiddle_TanktopM01_Types_TanktopM01_p03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10801\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4199_male_TopMiddle_TanktopM01_Types_TanktopM01_p04.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10802\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4200_male_TopMiddle_TanktopM01_Types_TanktopM01_white.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10803\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4057_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10804\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4058_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10805\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4059_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_dust.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10806\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4240_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_goldleather.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10807\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4241_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_gray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10808\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4068_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_ishukone.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10809\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4060_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_olive.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10810\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4242_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_redblackleather.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10811\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4243_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_whiteblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10812\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/3975_female_Outer_JacketMilF02_Types_JacketMilF02_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10813\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4054_female_Outer_JacketMilF01_Types_JacketMilF01_blackgray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10814\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4097_male_outer_JacketMilM01_Types_JacketMilM01_blackyellow.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10815\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/4098_male_outer_JacketMilM02_Types_JacketMilM02_blackgray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10816\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4066_female_TopMiddle_ShirtQF01_Types_shirtqf01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10817\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4067_male_TopMiddle_ShirtQM01_Types_shirtqm01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10818\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4057_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10819\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4058_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10820\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4059_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_dust.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10821\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4060_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_olive.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10822\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4061_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10823\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4062_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10824\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4063_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_dust.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10825\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4064_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_olive.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10826\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4065_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_lightgrey.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10827\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4068_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_ishukone.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10828\": {\n    \"iconFile\": \"res:/UI/Texture/market/apparel_accessories_glasses_3958_1065.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10829\": {\n    \"iconFile\": \"res:/UI/Texture/market/apparel_mens_topouter_4058_1000.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10830\": {\n    \"iconFile\": \"res:/UI/Texture/market/apparel_womens_outer_4054_1011.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10831\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/aurcoin.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10833\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/ComprFuel_Gallente.png\"\n  }, \n  \"10834\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/ComprFuel_Caldari.png\"\n  }, \n  \"10835\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/ComprFuel_Amarr.png\"\n  }, \n  \"10836\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/ComprFuel_Minmatar.png\"\n  }, \n  \"10838\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/4009_female_Accessories_Glasses_Monocle_01_Types_MonocleF01_RightGold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10840\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4366_female_TopMiddle_ShirtQF01_Types_shirtqf02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10841\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4368_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_whiteblacknexon.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10842\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/4365_male_TopMiddle_ShirtQM01_Types_shirtqm02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10843\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/4367_male_TopOuter_ShirtMilM01_Types_ShirtMilM01_whiteblacknexon.png\", \n    \"iconType\": \"png\"\n  }, \n  \"10847\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/infantry_gear.png\"\n  }, \n  \"10848\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_eq_dropuplink.png\"\n  }, \n  \"10849\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_forgegun.png\"\n  }, \n  \"10850\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_eq_nanohive.png\"\n  }, \n  \"10851\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_dropsuit_logistics.png\"\n  }, \n  \"10852\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_default.png\"\n  }, \n  \"10853\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_prop_overdrive.png\"\n  }, \n  \"10854\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_shield_shieldhardener.png\"\n  }, \n  \"10855\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_tur_railgun_s.png\"\n  }, \n  \"10856\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_tur_railgun_l.png\"\n  }, \n  \"10857\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_tur_blaster_l.png\"\n  }, \n  \"10858\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_tur_blaster_s.png\"\n  }, \n  \"10859\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_dropsuit_heavy.png\"\n  }, \n  \"10860\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_armor_remotearmorrepair.png\"\n  }, \n  \"10861\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_scramblerpistol.png\"\n  }, \n  \"10862\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_grenade.png\"\n  }, \n  \"10863\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_miasmagrenade.png\"\n  }, \n  \"10864\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_skill.png\"\n  }, \n  \"10866\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_unit_scanner.png\"\n  }, \n  \"10867\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_sinperrifle.png\"\n  }, \n  \"10868\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_dropsuit_scout.png\"\n  }, \n  \"10869\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_dropsuit_assult.png\"\n  }, \n  \"10870\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_dropsuit_default.png\"\n  }, \n  \"10871\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_assultrifle.png\"\n  }, \n  \"10872\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_eng_mobilecru.png\"\n  }, \n  \"10873\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_rl_std.png\"\n  }, \n  \"10874\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_bio_healthbooster.png\"\n  }, \n  \"10875\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_veh_mcc.png\"\n  }, \n  \"10876\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_inst_capacitor.png\"\n  }, \n  \"10877\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_inst_clonereserveunit.png\"\n  }, \n  \"10878\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_inst_default.png\"\n  }, \n  \"10879\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_inst_supplydepot.png\"\n  }, \n  \"10880\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_tur_missile_l.png\"\n  }, \n  \"10881\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_tur_missile_s.png\"\n  }, \n  \"10882\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_tur_default.png\"\n  }, \n  \"10883\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_wpnupg_damagemodifier.png\"\n  }, \n  \"10884\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_shield_shieldextender.png\"\n  }, \n  \"10885\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_shield_shieldrecharger.png\"\n  }, \n  \"10886\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_imp_movement.png\"\n  }, \n  \"10887\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_bio_healthextender.png\"\n  }, \n  \"10888\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_bio_healthregenerator.png\"\n  }, \n  \"10889\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_veh_lav_ca.png\"\n  }, \n  \"10890\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_submachinegun.png\"\n  }, \n  \"10891\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_hmg_std.png\"\n  }, \n  \"10892\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_eng_cpuupgrade.png\"\n  }, \n  \"10893\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_eng_pgupgrade.png\"\n  }, \n  \"10894\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_swarmlauncher.png\"\n  }, \n  \"10895\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_veh_hav_ca.png\"\n  }, \n  \"10896\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_eq_nanohive_armor.png\"\n  }, \n  \"10897\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_eq_remotearmorrepair.png\"\n  }, \n  \"10898\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_eng_powerdiagnostic.png\"\n  }, \n  \"10899\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_veh_lav_ga.png\"\n  }, \n  \"10900\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_tur_blaster.png\"\n  }, \n  \"10901\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_veh_rdv.png\"\n  }, \n  \"10902\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_veh_dropship_ca.png\"\n  }, \n  \"10903\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_veh_dropship_ga.png\"\n  }, \n  \"10904\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_booster_skillgain.png\"\n  }, \n  \"10905\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_prop_afterburner.png\"\n  }, \n  \"10906\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_armor_armorplates.png\"\n  }, \n  \"10907\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_armor_lightweightchassis.png\"\n  }, \n  \"10908\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_locusgrenade.png\"\n  }, \n  \"10909\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_eng_reactorcoreunit.png\"\n  }, \n  \"10910\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_armor_armorrepair.png\"\n  }, \n  \"10911\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_avgrenade.png\"\n  }, \n  \"10912\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_veh_hav_ga.png\"\n  }, \n  \"10913\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_shield_remoteshieldrecharger.png\"\n  }, \n  \"10914\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_shield_shieldbooster.png\"\n  }, \n  \"10915\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_armor_resistance.png\"\n  }, \n  \"10916\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_shield_resistance.png\"\n  }, \n  \"10917\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_eng_damagecontrol.png\"\n  }, \n  \"10926\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_shotgun.png\"\n  }, \n  \"10927\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_laserrifle.png\"\n  }, \n  \"10928\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_eq_naniteinjector.png\"\n  }, \n  \"10929\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_heavymachinegun.png\"\n  }, \n  \"10930\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_shield_booster.png\"\n  }, \n  \"10932\": {\n    \"iconFile\": \"res:/ui/texture/icons/105_32_46.png\"\n  }, \n  \"10933\": {\n    \"iconFile\": \"res:/ui/texture/icons/105_32_47.png\"\n  }, \n  \"10934\": {\n    \"iconFile\": \"res:/ui/texture/icons/105_32_48.png\"\n  }, \n  \"10935\": {\n    \"iconFile\": \"res:/ui/texture/icons/105_32_49.png\"\n  }, \n  \"10936\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_eq_remoteexplosive.png\"\n  }, \n  \"10937\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_massdriver.png\"\n  }, \n  \"10939\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_tur_missile.png\"\n  }, \n  \"10940\": {\n    \"iconFile\": \"res:/ui/texture/icons/107_64_1.png\"\n  }, \n  \"10941\": {\n    \"iconFile\": \"res:/ui/texture/icons/107_64_2.png\"\n  }, \n  \"10942\": {\n    \"iconFile\": \"res:/ui/texture/icons/107_64_3.png\"\n  }, \n  \"10946\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_codebreaker.png\"\n  }, \n  \"10947\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_shield_regulator.png\"\n  }, \n  \"10948\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_aug_voicetransmitter.png\"\n  }, \n  \"20939\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_5.png\"\n  }, \n  \"20940\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_6.png\"\n  }, \n  \"20941\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_7.png\"\n  }, \n  \"20942\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_8.png\"\n  }, \n  \"20943\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_12.png\"\n  }, \n  \"20944\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_13.png\"\n  }, \n  \"20945\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_10.png\"\n  }, \n  \"20946\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_11.png\"\n  }, \n  \"20947\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_3.png\"\n  }, \n  \"20948\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_4.png\"\n  }, \n  \"20949\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_1.png\"\n  }, \n  \"20950\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_2.png\"\n  }, \n  \"20951\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_20.png\"\n  }, \n  \"20952\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_21.png\"\n  }, \n  \"20953\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_18.png\"\n  }, \n  \"20954\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_19.png\"\n  }, \n  \"20955\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_16.png\"\n  }, \n  \"20956\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_17.png\"\n  }, \n  \"20957\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_14.png\"\n  }, \n  \"20958\": {\n    \"iconFile\": \"res:/ui/texture/icons/108_64_15.png\"\n  }, \n  \"20959\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/MarketIcon_16px_Amarr.png\"\n  }, \n  \"20966\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/MarketIcon_16px_Caldari.png\"\n  }, \n  \"20967\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/MarketIcon_16px_Gallente.png\"\n  }, \n  \"20968\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/MarketIcon_16px_Minmatar.png\"\n  }, \n  \"20969\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/94_64_9.png\"\n  }, \n  \"20970\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/53_64_16.png\"\n  }, \n  \"20971\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/108_64_22.png\"\n  }, \n  \"20973\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Icon_64px_Fireworks.png\"\n  }, \n  \"20974\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Icon_64px_NEO.png\"\n  }, \n  \"20976\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/DudeYourChin_64px_Icon.jpg\"\n  }, \n  \"20977\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33064_female_Feet_BootsMilF02_Types_BootsMilF02_bootini.png\", \n    \"iconType\": \"png\"\n  }, \n  \"20979\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33063_female_TopMiddle_ShirtQF01_Types_shirtredstarf01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"20980\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/algintal_core.png\"\n  }, \n  \"20981\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/amarr_templars.png\"\n  }, \n  \"20982\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33062_male_TopMiddle_ShirtQM01_Types_shirtredstarm01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"20984\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/arkombine.png\"\n  }, \n  \"20985\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/bragian_order.png\"\n  }, \n  \"20986\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/circle_of_huskarl.png\"\n  }, \n  \"20987\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/crux_special_tasks_group.png\"\n  }, \n  \"20988\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/osmon_surveillance.png\"\n  }, \n  \"20989\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/royal_uhlans.png\"\n  }, \n  \"20990\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/sanmatar_kelkoons.png\"\n  }, \n  \"20991\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/seituoda_taskforce.png\"\n  }, \n  \"20992\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/templis_dragonaurs.png\"\n  }, \n  \"20993\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/tronhadar_free_guard.png\"\n  }, \n  \"20994\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/villore_sec_ops.png\"\n  }, \n  \"20995\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/zumari_force_projection.png\"\n  }, \n  \"20996\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/default.png\"\n  }, \n  \"20997\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/imperial_guard.png\"\n  }, \n  \"21000\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_wpn_knife.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21001\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_eng_rangeamplifier.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21002\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_eng_precisionenhancer.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21003\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_prop_boost.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21004\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_scanning_activescanner.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21005\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_eq_activescanner.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21006\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/dust_icon_mod_eng_profiledampener.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21011\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/Male_Accessories_Glasses_Monocle_M_T02_Types_Monocle_M_T02_black_right.png\"\n  }, \n  \"21012\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/32853_female_Accessories_Glasses_Monocle_F_T02_Types_Monocle_F_T02_black_right.png\"\n  }, \n  \"21013\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33107_male_TopMiddle_ShirtQM01_Types_shirtqm03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21014\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33109_female_TopMiddle_ShirtQF01_Types_shirtqf03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21021\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/110_128_01.png\"\n  }, \n  \"21022\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/110_128_02.png\"\n  }, \n  \"21023\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/110_128_03.png\"\n  }, \n  \"21025\": {\n    \"iconFile\": \"res:/ui/texture/icons/107_64_10.png\"\n  }, \n  \"21026\": {\n    \"iconFile\": \"res:/ui/texture/icons/107_64_11.png\"\n  }, \n  \"21027\": {\n    \"iconFile\": \"res:/ui/texture/icons/107_64_12.png\"\n  }, \n  \"21028\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/icons111_02.png\"\n  }, \n  \"21029\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/icons111_03.png\"\n  }, \n  \"21030\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/icons111_04.png\"\n  }, \n  \"21031\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/icons111_05.png\"\n  }, \n  \"21032\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/icons111_06.png\"\n  }, \n  \"21047\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/107_64_4.png\"\n  }, \n  \"21048\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/33377_male_tattoo_armleft_sleeve04__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21050\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/33378_male_tattoo_armleft_sleeve05__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21051\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/33379_male_tattoo_armleft_sleeve14__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21052\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/33380_male_tattoo_armleft_sleeve08__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21053\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/33381_male_tattoo_armright_sleeve04__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21054\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/33382_male_tattoo_armright_sleeve05__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21055\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/33383_male_tattoo_armright_sleeve14__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21056\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/33384_male_tattoo_armright_sleeve08__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21057\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/113_64_1.png\"\n  }, \n  \"21058\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/113_64_2.png\"\n  }, \n  \"21059\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/113_64_3.png\"\n  }, \n  \"21060\": {\n    \"iconFile\": \"res:/ui/texture/icons/115_64_1.png\"\n  }, \n  \"21061\": {\n    \"iconFile\": \"res:/ui/texture/icons/115_64_2.png\"\n  }, \n  \"21062\": {\n    \"iconFile\": \"res:/ui/texture/icons/115_64_3.png\"\n  }, \n  \"21063\": {\n    \"iconFile\": \"res:/ui/texture/icons/115_64_4.png\"\n  }, \n  \"21064\": {\n    \"iconFile\": \"res:/ui/texture/icons/115_64_5.png\"\n  }, \n  \"21065\": {\n    \"iconFile\": \"res:/ui/texture/icons/114_64_1.png\"\n  }, \n  \"21066\": {\n    \"iconFile\": \"res:/ui/texture/icons/114_64_2.png\"\n  }, \n  \"21070\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33487_female_TopMiddle_ShirtQF01_Types_lvf01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21071\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33488_male_TopMiddle_ShirtQM01_Types_lvm01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21074\": {\n    \"iconFile\": \"res:/ui/texture/icons/109_64_1.png\"\n  }, \n  \"21075\": {\n    \"iconFile\": \"res:/ui/texture/icons/109_64_2.png\"\n  }, \n  \"21078\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/33551_male_Makeup_ArmLeft_CyborgArmM01_L_Types_CyborgArmM01_L_White.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21080\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/33549_female_Makeup_ArmLeft_CyborgArmF01_L_Types_CyborgArmF01_L_WhiteGray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21081\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/33550_female_Makeup_ArmRight_CyborgArmF01_R_Types_CyborgArmF01_R_WhiteGray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21082\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/33552_male_Makeup_ArmRight_CyborgArmM01_R_Types_CyborgArmM01_R_White.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21084\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/icons111_07.png\"\n  }, \n  \"21085\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/icons111_08.png\"\n  }, \n  \"21086\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/icons111_09.png\"\n  }, \n  \"21089\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33579_female_TopMiddle_ShirtQF01_Types_soerff01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21090\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33578_male_TopMiddle_ShirtQM01_Types_soerfm01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21092\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/state_peacekeepers.png\"\n  }, \n  \"21093\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/federal_marines.png\"\n  }, \n  \"21094\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/republic_command.png\"\n  }, \n  \"21095\": {\n    \"iconFile\": \"res:/ui/texture/icons/107_64_14.png\"\n  }, \n  \"21096\": {\n    \"iconFile\": \"res:/ui/texture/icons/107_64_13.png\"\n  }, \n  \"21097\": {\n    \"iconFile\": \"res:/ui/texture/icons/107_64_16.png\"\n  }, \n  \"21098\": {\n    \"iconFile\": \"res:/ui/texture/icons/107_64_15.png\"\n  }, \n  \"21100\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33744_female_bottomOuter_PantsALF_01_Types_PantsALF_01_blackleather.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21101\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33745_female_bottomOuter_PantsALF_01_Types_PantsALF_01_blackmatte.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21102\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33746_female_bottomOuter_PantsALF_01_Types_PantsALF_01_brownpattern.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21103\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33747_female_bottomOuter_PantsALF_01_Types_PantsALF_01_cream.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21104\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33748_female_bottomOuter_PantsALF_01_Types_PantsALF_01_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21105\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33749_female_bottomOuter_PantsALF_01_Types_PantsALF_01_gunpattern.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21106\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33750_female_bottomOuter_PantsALF_01_Types_PantsALF_01_gunshiny.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21107\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33751_female_bottomOuter_PantsALF_01_Types_PantsALF_01_navy.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21108\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33752_female_bottomOuter_PantsALF_01_Types_PantsALF_01_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21109\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33753_female_bottomOuter_PantsALF_01_Types_PantsALF_01_redleather.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21110\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33754_female_bottomOuter_PantsSLF_01_Types_PantsSLF_01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21111\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33755_female_bottomOuter_PantsSLF_01_Types_PantsSLF_01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21112\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33756_female_bottomOuter_PantsSLF_01_Types_PantsSLF_01_camo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21113\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33757_female_bottomOuter_PantsSLF_01_Types_PantsSLF_01_greyflat.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21114\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33758_female_bottomOuter_PantsSLF_01_Types_PantsSLF_01_orangegloss.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21115\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33759_female_bottomOuter_PantsSLF_01_Types_PantsSLF_01_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21116\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33760_female_bottomOuter_PantsSLF_01_Types_PantsSLF_01_reddark.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21117\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33761_female_bottomOuter_PantsSLF_01_Types_PantsSLF_01_yellowgloss.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21118\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33714_female_Feet_BootsALF_01_Types_BootsALF_01_blackgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21119\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33716_female_Feet_BootsALF_01_Types_BootsALF_01_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21120\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33717_female_Feet_BootsALF_01_Types_BootsALF_01_cream.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21121\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33718_female_Feet_BootsALF_01_Types_BootsALF_01_navy.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21122\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33719_female_Feet_BootsALF_01_Types_BootsALF_01_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21123\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33720_female_Feet_BootsSLF_01_Types_BootsSLF_01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21124\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33721_female_Feet_BootsSLF_01_Types_BootsSLF_01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21125\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33722_female_Feet_BootsSLF_01_Types_BootsSLF_01_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21126\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33723_female_Feet_BootsSLF_01_Types_BootsSLF_01_felt.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21127\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33724_female_Feet_BootsSLF_01_Types_BootsSLF_01_mouse.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21128\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33725_female_Feet_BootsSLF_01_Types_BootsSLF_01_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21129\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33726_female_Outer_JacketALF_01_Types_JacketALF_01_blackgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21130\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33728_female_Outer_JacketALF_01_Types_JacketALF_01_bluesilver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21131\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33727_female_Outer_JacketALF_01_Types_JacketALF_01_brownpattern.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21132\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33715_female_Outer_JacketALF_01_Types_JacketALF_01_creamgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21133\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33729_female_Outer_JacketALF_01_Types_JacketALF_01_darkgreen.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21134\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33730_female_Outer_JacketALF_01_Types_JacketALF_01_darkredgun.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21135\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33731_female_Outer_JacketALF_01_Types_JacketALF_01_greengold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21136\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33732_female_Outer_JacketALF_01_Types_JacketALF_01_redsilver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21137\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33733_female_Outer_JacketSLF_01_Types_JacketSLF_01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21138\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33734_female_Outer_JacketSLF_01_Types_JacketSLF_01_blackv1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21139\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33735_female_Outer_JacketSLF_01_Types_JacketSLF_01_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21140\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33736_female_Outer_JacketSLF_01_Types_JacketSLF_01_coppstars.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21141\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33738_female_Outer_JacketSLF_01_Types_JacketSLF_01_copv1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21142\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33737_female_Outer_JacketSLF_01_Types_JacketSLF_01_darkgrey.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21143\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33739_female_Outer_JacketSLF_01_Types_JacketSLF_01_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21144\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33740_female_Outer_JacketSLF_01_Types_JacketSLF_01_movcircles.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21145\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33741_female_Outer_JacketSLF_01_Types_JacketSLF_01_redv1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21146\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33742_female_Outer_JacketSLF_01_Types_JacketSLF_01_white.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21147\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33743_female_Outer_JacketSLF_01_Types_JacketSLF_01_whitegreen.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21148\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33767_female_TopMiddle_ShirtQF01_Types_neof2014A.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21149\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33768_female_TopMiddle_ShirtQF01_Types_neof2014B.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21150\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33790_male_bottomOuter_PantsALM01_Types_PantsALM01_BlackSilver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21152\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33789_male_bottomOuter_PantsALM01_Types_PantsALM01_BlueShiny.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21153\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33788_male_bottomOuter_PantsALM01_Types_PantsALM01_DarkredBlackGold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21154\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33787_male_bottomOuter_PantsALM01_Types_PantsALM01_Royal.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21155\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33786_male_bottomOuter_PantsALM01_Types_PantsALM01_WhiteBlackGold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21156\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33785_male_bottomOuter_PantsCLM01_Types_PantsCLM01_BlackLeather.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21157\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33784_male_bottomOuter_PantsCLM01_Types_PantsCLM01_DarkRed.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21158\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33783_male_bottomOuter_PantsCLM01_Types_PantsCLM01_Graphite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21159\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33782_male_bottomOuter_PantsCLM01_Types_PantsCLM01_GreenCamo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21160\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/33781_male_bottomOuter_PantsCLM01_Types_PantsCLM01_White.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21161\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33780_male_Feet_BootsALM01_Types_BootsALM01_BrownGold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21162\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33779_male_Feet_BootsALM01_Types_BootsALM01_DarkRedBlack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21163\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33778_male_Feet_BootsALM01_Types_BootsALM01_GreySilver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21164\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33777_male_Feet_BootsALM01_Types_BootsALM01_Royal.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21165\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33776_male_Feet_BootsALM01_Types_BootsALM01_WhiteGold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21166\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33775_male_Feet_BootsCLM01_Types_BootsCLM01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21167\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33774_male_Feet_BootsCLM01_Types_BootsCLM01_BlueShiny.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21168\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33773_male_Feet_BootsCLM01_Types_BootsCLM01_Brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21169\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33772_male_Feet_BootsCLM01_Types_BootsCLM01_Graphite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21170\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/33771_male_Feet_BootsCLM01_Types_BootsCLM01_White.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21171\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33800_male_outer_JacketALM01_Types_JacketALM01_BlackSilver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21172\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33799_male_outer_JacketALM01_Types_JacketALM01_BrownBlackGold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21173\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33798_male_outer_JacketALM01_Types_JacketALM01_RedGold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21174\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33797_male_outer_JacketALM01_Types_JacketALM01_Royal.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21175\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33796_male_outer_JacketALM01_Types_JacketALM01_WhiteGold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21176\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33795_male_outer_JacketCLM01_Types_JacketCLM01_BlueShiny.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21177\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33794_male_outer_JacketCLM01_Types_JacketCLM01_DarkRed.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21178\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33793_male_outer_JacketCLM01_Types_JacketCLM01_Graphite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21179\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33792_male_outer_JacketCLM01_Types_JacketCLM01_GreenCamo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21180\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33791_male_outer_JacketCLM01_Types_JacketCLM01_White.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21181\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33769_male_TopMiddle_ShirtQM01_Types_neom2014A.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21182\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33770_male_TopMiddle_ShirtQM01_Types_neom2014B.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21183\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33804_female_Outer_JacketMilF01_Types_JacketMilF01_silverV2.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21184\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/33803_male_outer_JacketMilM02_Types_JacketMilM02_blackV2.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21186\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/sourceBook.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21192\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33813_female_TopMiddle_ShirtQF01_Types_shirtqf04.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21193\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/33812_male_TopMiddle_ShirtQM01_Types_shirtqm04.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21195\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34056_male_hair_HeadWear_Amarr_Types_HeadWear_Amarr_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21197\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34057_male_hair_HeadWear_Caldari_Types_HeadWear_Caldari_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21198\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34058_male_hair_HeadWear_Caldari_Types_HeadWear_Caldari_White.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21199\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34059_male_hair_HeadWear_Amarr_Types_HeadWear_Amarr_Silver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21200\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34060_male_hair_HeadWear_Amarr_Types_HeadWear_Amarr_Gold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21201\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34061_male_hair_HeadWear_Amarr_Types_HeadWear_Amarr_Bronze.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21202\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34062_male_hair_HeadWear_Caldari_Types_HeadWear_Caldari_Metal.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21203\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34063_male_hair_HeadWear_Caldari_Types_HeadWear_Caldari_BlackShiny.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21204\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34064_female_hair_Hair_Bun_Hp_02_Types_Hair_Bun_Hp_02_Cyan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21205\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34065_female_hair_Hair_Medium_Hp_01_Types_Hair_Medium_Hp_01_Gunmetal.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21206\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34066_female_hair_Hair_Bun_Hp_02_Types_Hair_Bun_Hp_02_Blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21207\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34067_female_hair_Hair_Medium_Hp_01_Types_Hair_Medium_Hp_01_Platinum.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21208\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34068_female_hair_Hair_Lace_01_Types_Hair_Lace_01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21209\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34069_female_hair_Hair_Medium_Hp_01_Types_Hair_Medium_Hp_01_Gold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21210\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34070_female_hair_Hair_Bun_Hp_02_Types_Hair_Bun_Hp_02_Orange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21211\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34071_female_hair_Hair_Medium_Hp_01_Types_Hair_Medium_Hp_01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21212\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34072_female_hair_Hair_Lace_01_Types_Hair_Lace_01_Copper.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21213\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34073_female_hair_Hair_Lace_01_Types_Hair_Lace_01_Metallic.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21214\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34074_female_hair_Hair_Medium_Hp_01_Types_Hair_Medium_Hp_01_Jade.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21215\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34075_female_hair_Hair_Medium_Hp_01_Types_Hair_Medium_Hp_01_Simple.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21216\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34076_female_hair_Hair_Bun_Hp_02_Types_Hair_Bun_Hp_02_Clear.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21217\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34077_female_hair_Hair_Lace_01_Types_Hair_Lace_01_Gold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21218\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/34078_female_hair_Hair_Bun_Hp_02_Types_Hair_Bun_Hp_02_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21219\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/34006_male_tattoo_armright_sleeve01__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21220\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/34007_male_tattoo_armright_sleeve02__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21221\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/34008_male_tattoo_armright_sleeve03__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21222\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/34009_male_tattoo_armright_sleeve06__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21223\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/34010_male_tattoo_armright_sleeve07__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21224\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/34011_male_tattoo_armright_sleeve09__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21225\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/34012_male_tattoo_armright_sleeve10__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21226\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/34013_male_tattoo_armright_sleeve11__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21227\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/34014_male_tattoo_armright_sleeve12__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21228\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/34015_male_tattoo_armright_sleeve13__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21229\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armright/34016_male_tattoo_armright_sleeve15__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21230\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/33995_male_tattoo_armleft_sleeve01__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21231\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/33996_male_tattoo_armleft_sleeve02__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21232\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/33997_male_tattoo_armleft_sleeve03__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21233\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/33998_male_tattoo_armleft_sleeve06__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21234\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/33999_male_tattoo_armleft_sleeve07__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21235\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/34000_male_tattoo_armleft_sleeve09__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21236\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/34001_male_tattoo_armleft_sleeve10__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21237\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/34002_male_tattoo_armleft_sleeve11__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21238\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/34003_male_tattoo_armleft_sleeve12__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21239\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/34004_male_tattoo_armleft_sleeve13__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21240\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_armleft/34005_male_tattoo_armleft_sleeve15__.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21241\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34031_female_Makeup_ArmRight_CyborgArmF01_R_Types_CyborgArmF01_R_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21242\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34032_female_Makeup_ArmRight_CyborgArmF01_R_Types_CyborgArmF01_R_BlackOrangeMech.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21243\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34033_female_Makeup_ArmRight_CyborgArmF01_R_Types_CyborgArmF01_R_BlackShinyMech.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21244\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34034_female_Makeup_ArmRight_CyborgArmF01_R_Types_CyborgArmF01_R_BlackYellow.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21245\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34035_female_Makeup_ArmRight_CyborgArmF01_R_Types_CyborgArmF01_R_BlueBlackShinyMech.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21246\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34036_female_Makeup_ArmRight_CyborgArmF01_R_Types_CyborgArmF01_R_BlueWhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21247\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34037_female_Makeup_ArmRight_CyborgArmF01_R_Types_CyborgArmF01_R_WhiteGrayMech.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21248\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34038_male_Makeup_ArmRight_CyborgArmM01_R_Types_CyborgArmM01_R_BlackOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21249\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34039_male_Makeup_ArmRight_CyborgArmM01_R_Types_CyborgArmM01_R_BlackRed.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21250\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34040_male_Makeup_ArmRight_CyborgArmM01_R_Types_CyborgArmM01_R_BlackYellow.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21251\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34041_male_Makeup_ArmRight_CyborgArmM01_R_Types_CyborgArmM01_R_BlueWhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21252\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34042_male_Makeup_ArmRight_CyborgArmM01_R_Types_CyborgArmM01_R_GreenCamo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21253\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34043_male_Makeup_ArmRight_CyborgArmM01_R_Types_CyborgArmM01_R_GreenYellow.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21254\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armright/34044_male_Makeup_ArmRight_CyborgArmM01_R_Types_CyborgArmM01_R_Gunmetal.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21255\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34017_female_Makeup_ArmLeft_CyborgArmF01_L_Types_CyborgArmF01_L_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21256\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34018_female_Makeup_ArmLeft_CyborgArmF01_L_Types_CyborgArmF01_L_BlackOrangeMech.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21257\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34019_female_Makeup_ArmLeft_CyborgArmF01_L_Types_CyborgArmF01_L_BlackShinyMech.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21258\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34020_female_Makeup_ArmLeft_CyborgArmF01_L_Types_CyborgArmF01_L_BlackYellow.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21259\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34021_female_Makeup_ArmLeft_CyborgArmF01_L_Types_CyborgArmF01_L_BlueBlackShinyMech.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21260\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34022_female_Makeup_ArmLeft_CyborgArmF01_L_Types_CyborgArmF01_L_BlueWhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21261\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34023_female_Makeup_ArmLeft_CyborgArmF01_L_Types_CyborgArmF01_L_WhiteGrayMech.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21262\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34024_male_Makeup_ArmLeft_CyborgArmM01_L_Types_CyborgArmM01_L_BlackOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21263\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34025_male_Makeup_ArmLeft_CyborgArmM01_L_Types_CyborgArmM01_L_BlackRed.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21264\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34026_male_Makeup_ArmLeft_CyborgArmM01_L_Types_CyborgArmM01_L_BlackYellow.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21265\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34027_male_Makeup_ArmLeft_CyborgArmM01_L_Types_CyborgArmM01_L_BlueWhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21266\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34028_male_Makeup_ArmLeft_CyborgArmM01_L_Types_CyborgArmM01_L_GreenCamo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21267\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34029_male_Makeup_ArmLeft_CyborgArmM01_L_Types_CyborgArmM01_L_GreenYellow.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21268\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_armleft/34030_male_Makeup_ArmLeft_CyborgArmM01_L_Types_CyborgArmM01_L_Gunmetal.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21269\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/33992_female_Accessories_Glasses_Monocle_01_Types_MonocleF01_RightBlack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21270\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/33993_female_Accessories_Glasses_Monocle_F_T02_Types_Monocle_F_T02_black_left.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21271\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottommiddle/33989_female_bottomMiddle_TightsF01_Types_TightsF01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21272\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottommiddle/34045_female_bottomMiddle_TightsF01_Types_TightsF01_light.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21273\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottommiddle/34046_female_bottomMiddle_TightsF01_Types_TightsF01_orange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21274\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottommiddle/34047_female_bottomMiddle_TightsF01_Types_TightsF01_pink.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21275\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottommiddle/34048_female_bottomMiddle_TightsF01_Types_TightsF01_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21276\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottommiddle/34049_female_bottomMiddle_TightsF01_Types_TightsF01_thickblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21277\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottommiddle/34051_female_bottomMiddle_TightsF01_Types_TightsF01_thickgray.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21278\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottommiddle/34053_female_bottomMiddle_TightsF01_Types_TightsF01_thickpurple.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21279\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottommiddle/34054_female_bottomMiddle_TightsF01_Types_TightsF01_white.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21280\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottommiddle/34055_female_bottomMiddle_TightsF01_Types_TightsF01_yellow.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21281\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottommiddle/34050_female_bottomMiddle_TightsF01_Types_TightsF01_thickblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21282\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottommiddle/34052_female_bottomMiddle_TightsF01_Types_TightsF01_thickmatblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21283\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34101_female_bottomOuter_SpaceSuit_01_Types_spacesuit_01_f_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21284\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34102_female_bottomOuter_SpaceSuit_01_Types_spacesuit_01_f_blackgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21285\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34103_female_bottomOuter_SpaceSuit_01_Types_spacesuit_01_f_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21286\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34104_female_bottomOuter_SpaceSuit_01_Types_spacesuit_01_f_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21287\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34105_female_bottomOuter_SpaceSuit_01_Types_spacesuit_01_f_greengold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21288\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34106_female_bottomOuter_SpaceSuit_01_Types_spacesuit_01_f_orange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21289\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34107_female_bottomOuter_SpaceSuit_01_Types_spacesuit_01_f_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21290\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34108_female_bottomOuter_SpaceSuit_01_Types_spacesuit_01_f_redblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21291\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34109_female_bottomOuter_SpaceSuit_01_Types_spacesuit_01_f_stealth.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21292\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34110_female_bottomOuter_SpaceSuit_01_Types_spacesuit_01_f_white.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21293\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34111_female_bottomOuter_SpaceSuit_01_Types_spacesuit_01_f_yellow.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21294\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34079_female_Feet_SpaceBoots01F_Types_spaceboots01f_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21295\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34080_female_Feet_SpaceBoots01F_Types_spaceboots01f_blackgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21296\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34081_female_Feet_SpaceBoots01F_Types_spaceboots01f_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21297\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34082_female_Feet_SpaceBoots01F_Types_spaceboots01f_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21298\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34083_female_Feet_SpaceBoots01F_Types_spaceboots01f_greengold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21299\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34084_female_Feet_SpaceBoots01F_Types_spaceboots01f_orange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21300\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34085_female_Feet_SpaceBoots01F_Types_spaceboots01f_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21301\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34086_female_Feet_SpaceBoots01F_Types_spaceboots01f_redblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21302\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34087_female_Feet_SpaceBoots01F_Types_spaceboots01f_stealth.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21303\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34088_female_Feet_SpaceBoots01F_Types_spaceboots01f_white.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21304\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34089_female_Feet_SpaceBoots01F_Types_spaceboots01f_yellow.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21305\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34090_female_Outer_SpaceSuit_Top_01_Types_spacesuit_01_top_f_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21306\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34091_female_Outer_SpaceSuit_Top_01_Types_spacesuit_01_top_f_blackgold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21307\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34092_female_Outer_SpaceSuit_Top_01_Types_spacesuit_01_top_f_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21308\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34093_female_Outer_SpaceSuit_Top_01_Types_spacesuit_01_top_f_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21309\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34094_female_Outer_SpaceSuit_Top_01_Types_spacesuit_01_top_f_greengold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21310\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34095_female_Outer_SpaceSuit_Top_01_Types_spacesuit_01_top_f_orange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21311\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34096_female_Outer_SpaceSuit_Top_01_Types_spacesuit_01_top_f_red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21312\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34097_female_Outer_SpaceSuit_Top_01_Types_spacesuit_01_top_f_redblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21313\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34098_female_Outer_SpaceSuit_Top_01_Types_spacesuit_01_top_f_stealth.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21314\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34099_female_Outer_SpaceSuit_Top_01_Types_spacesuit_01_top_f_white.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21315\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34100_female_Outer_SpaceSuit_Top_01_Types_spacesuit_01_top_f_yellow.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21335\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/character_resculpt.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21336\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/multiple_training.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21347\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34156_male_outer_JacketMFBR01_Types_JacketMFBR01_Caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21348\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34157_male_outer_JacketMFBR01_Types_JacketMFBR01_Amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21349\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34158_male_outer_JacketMFBR01_Types_JacketMFBR01_Minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21350\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34159_male_outer_JacketMFBR01_Types_JacketMFBR01_Gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21351\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34160_male_outer_JacketMFBR01_Types_JacketMFBR01_ORE.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21352\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34161_male_outer_JacketMFBR01_Types_JacketMFBR01_SOE.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21353\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34162_male_outer_JacketMFBR01_Types_JacketMFBR01_Mordus.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21354\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34163_male_outer_JacketMFBR01_Types_JacketMFBR01_Interbus.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21355\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34164_male_outer_JacketMFBR01_Types_JacketMFBR01_Angel.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21356\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34165_male_outer_JacketMFBR01_Types_JacketMFBR01_Sansha.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21357\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34166_male_outer_JacketMFBR01_Types_JacketMFBR01_Bloodraiders.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21358\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34167_male_outer_JacketMFBR01_Types_JacketMFBR01_Guristas.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21359\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34168_male_outer_JacketMFBR01_Types_JacketMFBR01_Serpentis.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21360\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34169_female_Outer_JacketFBR01_Types_JacketFBR01_caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21361\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34170_female_Outer_JacketFBR01_Types_JacketFBR01_amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21362\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34171_female_Outer_JacketFBR01_Types_JacketFBR01_minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21363\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34173_female_Outer_JacketFBR01_Types_JacketFBR01_ore.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21364\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34174_female_Outer_JacketFBR01_Types_JacketFBR01_soe.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21365\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34175_female_Outer_JacketFBR01_Types_JacketFBR01_mordus.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21366\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34176_female_Outer_JacketFBR01_Types_JacketFBR01_interbus.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21367\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34177_female_Outer_JacketFBR01_Types_JacketFBR01_angel.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21368\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34178_female_Outer_JacketFBR01_Types_JacketFBR01_sansha.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21369\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34179_female_Outer_JacketFBR01_Types_JacketFBR01_bloodraiders.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21370\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34180_female_Outer_JacketFBR01_Types_JacketFBR01_guristas.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21371\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34181_female_Outer_JacketFBR01_Types_JacketFBR01_serpentis.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21373\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34172_female_Outer_JacketFBR01_Types_JacketFBR01_gallente.png\"\n  }, \n  \"21375\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/34210_male_TopMiddle_ShirtQM01_Types_lvm02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21376\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/34211_female_TopMiddle_ShirtQF01_Types_lvf02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21378\": {\n    \"iconFile\": \"res:/ui/texture/icons/1337_64_22.png\"\n  }, \n  \"21379\": {\n    \"iconFile\": \"res:/ui/texture/icons/1337_64_21.png\"\n  }, \n  \"21380\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/commendationAmarr.png\"\n  }, \n  \"21381\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/commendationCaldari.png\"\n  }, \n  \"21382\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/commendationGallente.png\"\n  }, \n  \"21383\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/commendationMinmatar.png\"\n  }, \n  \"21384\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34347_male_outer_JacketPrtm01_Types_JacketPrtm01_bloodraiders.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21385\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34348_male_outer_JacketPrtm01_Types_JacketPrtm01_sansha.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21386\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34349_male_outer_JacketPrtm01_Types_JacketPrtm01_guristas.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21387\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34393_male_outer_JacketPrtm01_Types_JacketPrtm01_orange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21388\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34350_female_Outer_JacketPrtF01_Types_JacketPrtF01_sansha.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21389\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34353_female_Outer_JacketPrtF01_Types_JacketPrtF01_bloodraiders.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21390\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34394_female_Outer_JacketPrtF01_Types_JacketPrtF01_orange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21391\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34354_male_bottomOuter_PantsPrtm01_Types_PantsPrtm01_bloodraiders.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21392\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34355_male_bottomOuter_PantsPrtm01_Types_PantsPrtm01_sansha.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21393\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34356_male_bottomOuter_PantsPrtm01_Types_PantsPrtm01_guristas.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21394\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34357_female_bottomOuter_PantsPrtF01_Types_PantsPrtF01_bloodraiders.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21395\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34358_female_bottomOuter_PantsPrtF01_Types_PantsPrtF01_sansha.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21396\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/34359_female_bottomOuter_PantsPrtF01_Types_PantsPrtF01_guristas.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21397\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34360_male_Feet_BootsPrtm01_Types_BootsPrtm01_bloodraiders.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21398\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34361_male_Feet_BootsPrtm01_Types_BootsPrtm01_sansha.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21399\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34362_male_Feet_BootsPrtm01_Types_BootsPrtm01_guristas.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21400\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34363_female_Feet_BootsPrtF01_Types_BootsPrtF01_bloodraiders.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21401\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34364_female_Feet_BootsPrtF01_Types_BootsPrtF01_sansha.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21402\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/34365_female_Feet_BootsPrtF01_Types_BootsPrtF01_guristas.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21403\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/34351_female_Outer_JacketPrtF01_Types_JacketPrtF01_guristas.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21404\": {\n    \"iconFile\": \"res:/ui/texture/icons/117_64_2.png\", \n    \"iconType\": \"\"\n  }, \n  \"21408\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_1.png\"\n  }, \n  \"21409\": {\n    \"iconFile\": \"res:/ui/texture/icons/119_64_1.png\"\n  }, \n  \"21412\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/34824_male_topMiddle_ShirtQM01_Types_ff2015m01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21413\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/34825_female_TopMiddle_ShirtQF01_Types_ff2015f01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21414\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/34824_male_topMiddle_ShirtQM01_Types_ff2015m01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21415\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/34825_female_TopMiddle_ShirtQF01_Types_ff2015f01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21417\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_10.png\"\n  }, \n  \"21418\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_11.png\"\n  }, \n  \"21419\": {\n    \"iconFile\": \"res:/ui/texture/icons/99_64_12.png\"\n  }, \n  \"21420\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/skin-icon-16.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21421\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/118_64_7.png\"\n  }, \n  \"21424\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/35681_male_topMiddle_ShirtQM01_Types_soerfm02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21425\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/35682_female_TopMiddle_ShirtQF01_Types_soerff02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21426\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/remote_armor_repair.png\"\n  }, \n  \"21428\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/remote_hull_repairer.png\"\n  }, \n  \"21430\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Sov/stationServiceResearch.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21431\": {\n    \"iconFile\": \"res:/UI/Texture/WindowIcons/fitting.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21432\": {\n    \"iconFile\": \"res:/UI/Texture/WindowIcons/Reprocess.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21433\": {\n    \"iconFile\": \"res:/UI/Texture/WindowIcons/Industry.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21434\": {\n    \"iconFile\": \"res:/UI/Texture/WindowIcons/cloneBay.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21435\": {\n    \"iconFile\": \"res:/UI/Texture/WindowIcons/repairshop.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21437\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/5_64_17.png\"\n  }, \n  \"21439\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/5_64_18.png\"\n  }, \n  \"21440\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/5_64_19.png\"\n  }, \n  \"21441\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/5_64_20.png\"\n  }, \n  \"21442\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/5_64_21.png\"\n  }, \n  \"21445\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/36480_male_topMiddle_ShirtEngM01_Types_ShirtEngM01_blueorange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21446\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/36481_male_topMiddle_ShirtEngM01_Types_ShirtEngM01_redwhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21447\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/36482_male_topMiddle_ShirtEngM01_Types_ShirtEngM01_camo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21448\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/36483_male_topMiddle_ShirtEngM01_Types_ShirtEngM01_cyan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21449\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/36484_male_topMiddle_ShirtEngM01_Types_ShirtEngM01_oregreen.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21450\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/36485_male_topMiddle_ShirtEngM01_Types_ShirtEngM01_oreorange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21451\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/36486_female_TopMiddle_ShirtEngF01_Types_ShirtEngF01_BlueOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21452\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/36487_female_TopMiddle_ShirtEngF01_Types_ShirtEngF01_RedWhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21453\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/36488_female_TopMiddle_ShirtEngF01_Types_ShirtEngF01_Camo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21454\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/36489_female_TopMiddle_ShirtEngF01_Types_ShirtEngF01_Cyan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21455\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/36490_female_TopMiddle_ShirtEngF01_Types_ShirtEngF01_OreGreen.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21456\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/36491_female_TopMiddle_ShirtEngF01_Types_ShirtEngF01_OreOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21457\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/36493_male_bottomOuter_PantsEngM01_Types_PantsEngM01_blueorange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21458\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/36494_male_bottomOuter_PantsEngM01_Types_PantsEngM01_redwhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21459\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/36495_male_bottomOuter_PantsEngM01_Types_PantsEngM01_camo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21460\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/36496_male_bottomOuter_PantsEngM01_Types_PantsEngM01_cyan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21461\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/36497_male_bottomOuter_PantsEngM01_Types_PantsEngM01_oregreen.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21462\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/36498_male_bottomOuter_PantsEngM01_Types_PantsEngM01_oreorange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21463\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/36499_female_bottomOuter_PantsEngF01_Types_PantsEngF01_BlueOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21464\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/36500_female_bottomOuter_PantsEngF01_Types_PantsEngF01_RedWhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21465\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/36501_female_bottomOuter_PantsEngF01_Types_PantsEngF01_Camo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21466\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/36502_female_bottomOuter_PantsEngF01_Types_PantsEngF01_Cyan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21467\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/36503_female_bottomOuter_PantsEngF01_Types_PantsEngF01_OreGreen.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21468\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/36504_female_bottomOuter_PantsEngF01_Types_PantsEngF01_OreOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21469\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/36505_male_Feet_ShoesEngM01_Types_ShoesEngM01_blueorange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21470\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/36506_male_Feet_ShoesEngM01_Types_ShoesEngM01_redwhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21471\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/36507_male_Feet_ShoesEngM01_Types_ShoesEngM01_camo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21472\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/36508_male_Feet_ShoesEngM01_Types_ShoesEngM01_cyan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21473\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/36509_male_Feet_ShoesEngM01_Types_ShoesEngM01_oregreen.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21474\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/36510_male_Feet_ShoesEngM01_Types_ShoesEngM01_oreorange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21475\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/36511_female_Feet_ShoesEngF01_Types_ShoesEngF01_BlueOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21476\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/36512_female_Feet_ShoesEngF01_Types_ShoesEngF01_RedWhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21477\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/36513_female_Feet_ShoesEngF01_Types_ShoesEngF01_Camo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21478\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/36514_female_Feet_ShoesEngF01_Types_ShoesEngF01_Cyan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21479\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/36515_female_Feet_ShoesEngF01_Types_ShoesEngF01_OreGreen.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21480\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/36516_female_Feet_ShoesEngF01_Types_ShoesEngF01_OreOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21481\": {\n    \"iconFile\": \"res:/UI/Texture/Plex/plex_128_gradient_yellow.png\"\n  }, \n  \"21482\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_5.png\"\n  }, \n  \"21483\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_9.png\"\n  }, \n  \"21484\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_10.png\"\n  }, \n  \"21485\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_11.png\"\n  }, \n  \"21486\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_13.png\"\n  }, \n  \"21487\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_14.png\"\n  }, \n  \"21489\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_2.png\"\n  }, \n  \"21493\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37600_female_Outer_ArmorSuitCF01_Types_ArmorSuitCF01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21494\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37601_female_Outer_ArmorSuitCF01_Types_ArmorSuitCF01_Blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21495\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37602_female_Outer_ArmorSuitCF01_Types_ArmorSuitCF01_Copper.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21496\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37603_female_Outer_ArmorSuitCF01_Types_ArmorSuitCF01_SOERed.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21497\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37863_female_Outer_ArmorSuitCF01_Types_ArmorSuitCF01_BlueWhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21498\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37810_male_outer_ArmorSuitMM01_Types_ArmorSuitMM01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21499\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37811_male_outer_ArmorSuitMM01_Types_ArmorSuitMM01_Copper.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21500\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37815_male_outer_ArmorSuitMM01_Types_ArmorSuitMM01_SOERed.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21501\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37818_male_outer_ArmorSuitMM01_Types_ArmorSuitMM01_Blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21502\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37864_male_outer_ArmorSuitMM01_Types_ArmorSuitMM01_BlueWhite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21503\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37816_female_Outer_JacketSLF_01_Types_JacketSLF_01_redcicles.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21504\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37817_male_outer_JacketALM01_Types_JacketALM01_PurpleGold.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21505\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37806_female_Outer_JacketFBR01_Types_JacketFBR01_concord.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21506\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/37807_male_outer_JacketCLM01_Types_JacketCLM01_Concord.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21507\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/37808_female_TopMiddle_ShirtQF01_Types_ShirtQF01_Concord.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21508\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/37809_male_topMiddle_ShirtQM01_Types_ShirtQM01_Concord.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21509\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/37865_female_TopMiddle_ShirtCF01_Types_ShirtF01_Serpentis.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21510\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/37866_male_topMiddle_ShirtCM01_Types_ShirtM01_Serpentis.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21512\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Fitting/stationServiceSlot.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21513\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_12.png\"\n  }, \n  \"21514\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/40522_male_outer_JacketMilM02_Types_JacketMilM02_upwell.png\"\n  }, \n  \"21515\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/40523_female_Outer_JacketMilF01_Types_JacketMilF01_upwell.png\"\n  }, \n  \"21517\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/40526_male_topMiddle_ShirtQM01_Types_shirtqm01_upwell.png\"\n  }, \n  \"21518\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/40527_female_TopMiddle_ShirtQF01_Types_shirtqf01_upwell.png\"\n  }, \n  \"21519\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/40524_male_bottomOuter_PantsMilM01_Types_PantsMilM01_upwell.png\"\n  }, \n  \"21520\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/40525_female_bottomOuter_PantsMilF01_Types_PantsMilF01_upwell.png\"\n  }, \n  \"21522\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/40457_female_Outer_LabCoatF01_Types_LabCoatF01_BlackRed.png\"\n  }, \n  \"21523\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/40458_female_Outer_LabCoatF01_Types_LabCoatF01_Cyan.png\"\n  }, \n  \"21524\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/40459_female_Outer_LabCoatF01_Types_LabCoatF01_Orange.png\"\n  }, \n  \"21525\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/40460_female_Outer_LabCoatF01_Types_LabCoatF01_Green.png\"\n  }, \n  \"21526\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/40461_male_outer_LabCoatM01_Types_LabCoatM01_BlackRed.png\"\n  }, \n  \"21527\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/40462_male_outer_LabCoatM01_Types_LabCoatM01_Cyan.png\"\n  }, \n  \"21528\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/40463_male_outer_LabCoatM01_Types_LabCoatM01_Green.png\"\n  }, \n  \"21529\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/40464_male_outer_LabCoatM01_Types_LabCoatM01_Orange.png\"\n  }, \n  \"21530\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/skillExtractor_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21531\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/skillInjector_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21532\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_3.png\"\n  }, \n  \"21533\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_4.png\"\n  }, \n  \"21534\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_8.png\"\n  }, \n  \"21560\": {\n    \"iconFile\": \"res:/ui/texture/icons/123_64_5.png\"\n  }, \n  \"21561\": {\n    \"iconFile\": \"res:/ui/texture/icons/123_64_6.png\"\n  }, \n  \"21562\": {\n    \"iconFile\": \"res:/ui/texture/icons/123_64_7.png\"\n  }, \n  \"21563\": {\n    \"iconFile\": \"res:/ui/texture/icons/123_64_8.png\"\n  }, \n  \"21564\": {\n    \"iconFile\": \"res:/ui/texture/icons/123_64_9.png\"\n  }, \n  \"21565\": {\n    \"iconFile\": \"res:/ui/texture/icons/123_64_10.png\"\n  }, \n  \"21566\": {\n    \"iconFile\": \"res:/ui/texture/icons/123_64_11.png\"\n  }, \n  \"21567\": {\n    \"iconFile\": \"res:/ui/texture/icons/124_64_5.png\"\n  }, \n  \"21568\": {\n    \"iconFile\": \"res:/ui/texture/icons/124_64_6.png\"\n  }, \n  \"21569\": {\n    \"iconFile\": \"res:/ui/texture/icons/124_64_7.png\"\n  }, \n  \"21570\": {\n    \"iconFile\": \"res:/ui/texture/icons/124_64_9.png\"\n  }, \n  \"21571\": {\n    \"iconFile\": \"res:/ui/texture/icons/124_64_10.png\"\n  }, \n  \"21572\": {\n    \"iconFile\": \"res:/ui/texture/icons/124_64_11.png\"\n  }, \n  \"21573\": {\n    \"iconFile\": \"res:/ui/texture/icons/124_64_13.png\"\n  }, \n  \"21574\": {\n    \"iconFile\": \"res:/ui/texture/icons/124_64_14.png\"\n  }, \n  \"21575\": {\n    \"iconFile\": \"res:/ui/texture/icons/124_64_15.png\"\n  }, \n  \"21578\": {\n    \"iconFile\": \"res:/ui/texture/icons/1337_64_23.png\"\n  }, \n  \"21579\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/41049_female_Makeup_Augmentations_Face_01_Types_Face_01_F_V0_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21581\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/125_64_1.png\"\n  }, \n  \"21582\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/41036_male_Makeup_Augmentations_Face_01_Types_Face_01_M_V2_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21583\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/41050_female_Makeup_Augmentations_Face_01_Types_Face_01_F_V4_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21584\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/41051_female_Makeup_Augmentations_Face_01_Types_Face_01_F_V3_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21585\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/41047_male_Makeup_Augmentations_Face_01_Types_Face_01_M_V1_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21586\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/41052_female_Makeup_Augmentations_Face_01_Types_Face_01_F_V1_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21587\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/41053_female_Makeup_Augmentations_Face_01_Types_Face_01_F_V5_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21588\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/41046_male_Makeup_Augmentations_Face_01_Types_Face_01_M_V5_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21589\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/41043_male_Makeup_Augmentations_Face_01_Types_Face_01_M_V4_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21590\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/41044_male_Makeup_Augmentations_Face_01_Types_Face_01_M_V3_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21591\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/41048_female_Makeup_Augmentations_Face_01_Types_Face_01_F_V2_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21592\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/41045_male_Makeup_Augmentations_Face_01_Types_Face_01_M_V0_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21593\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/126_64_1.png\"\n  }, \n  \"21594\": {\n    \"iconFile\": \"res:/ui/texture/icons/127_64_9.png\"\n  }, \n  \"21595\": {\n    \"iconFile\": \"res:/ui/texture/icons/127_64_2.png\"\n  }, \n  \"21596\": {\n    \"iconFile\": \"res:/ui/texture/icons/127_64_1.png\"\n  }, \n  \"21597\": {\n    \"iconFile\": \"res:/ui/texture/icons/127_64_3.png\"\n  }, \n  \"21598\": {\n    \"iconFile\": \"res:/ui/texture/icons/127_64_4.png\"\n  }, \n  \"21599\": {\n    \"iconFile\": \"res:/ui/texture/icons/127_64_5.png\"\n  }, \n  \"21600\": {\n    \"iconFile\": \"res:/ui/texture/icons/127_64_6.png\"\n  }, \n  \"21601\": {\n    \"iconFile\": \"res:/ui/texture/icons/127_64_10.png\"\n  }, \n  \"21602\": {\n    \"iconFile\": \"res:/ui/texture/icons/127_64_7.png\"\n  }, \n  \"21603\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/emergencyHullEnergizer.png\"\n  }, \n  \"21604\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/burstProjectorECM.png\"\n  }, \n  \"21605\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/burstProjectorEnergyNeutralization.png\"\n  }, \n  \"21606\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/burstProjectorGuidanceDisruption.png\"\n  }, \n  \"21607\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/burstProjectorSensorDampening.png\"\n  }, \n  \"21608\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/burstProjectorStasisWebification.png\"\n  }, \n  \"21609\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/burstProjectorTargetIllumination.png\"\n  }, \n  \"21610\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/burstProjectorTrackingDisruption.png\"\n  }, \n  \"21611\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/burstProjectorWarpDisruption.png\"\n  }, \n  \"21613\": {\n    \"iconFile\": \"res:/ui/texture/icons/4_64_9.png\"\n  }, \n  \"21614\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/41575_female_Accessories_Glasses_Glasses_Citadel_F01_Types_GlassesCitadelF01_black.png\"\n  }, \n  \"21615\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/41576_male_Accessories_Glasses_Glasses_Citadel_M01_Types_GlassesCitadelM01_black.png\"\n  }, \n  \"21617\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/emergencyHullEnergizer.png\"\n  }, \n  \"21618\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/multiUseAnalyzer_64.png\"\n  }, \n  \"21620\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/serpentisContainerBronze_64.png\"\n  }, \n  \"21621\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/serpentisContainerSilver_64.png\"\n  }, \n  \"21622\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/serpentisContainerGold_64.png\"\n  }, \n  \"21624\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42698_female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_GuristasF01B.png\"\n  }, \n  \"21626\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42699_male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_GuristasM01B.png\"\n  }, \n  \"21627\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42708_male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_BloodraidersM01.png\"\n  }, \n  \"21628\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42709_female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_GallenteF01.png\"\n  }, \n  \"21629\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42710_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Gallente.png\"\n  }, \n  \"21630\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42711_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Green.png\"\n  }, \n  \"21631\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42712_male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_MinmatarM01.png\"\n  }, \n  \"21632\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42713_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Orange.png\"\n  }, \n  \"21633\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42714_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_WhiteBlack.png\"\n  }, \n  \"21634\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42715_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Minmatar.png\"\n  }, \n  \"21635\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42716_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_WhiteBlack.png\"\n  }, \n  \"21636\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42717_female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_GuristasF01.png\"\n  }, \n  \"21637\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42718_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Blood.png\"\n  }, \n  \"21638\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42719_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Concord.png\"\n  }, \n  \"21640\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42720_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Caldari.png\"\n  }, \n  \"21641\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42721_male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_GuristasM01.png\"\n  }, \n  \"21642\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42722_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Guristas.png\"\n  }, \n  \"21643\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42723_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Black.png\"\n  }, \n  \"21644\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42724_male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_ConcordM01.png\"\n  }, \n  \"21645\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42725_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Amarr.png\"\n  }, \n  \"21646\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42726_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Blood.png\"\n  }, \n  \"21647\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42727_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Green.png\"\n  }, \n  \"21648\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42728_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Amarr.png\"\n  }, \n  \"21649\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42729_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Camo.png\"\n  }, \n  \"21650\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42730_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Minmatar.png\"\n  }, \n  \"21651\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42731_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Caldari.png\"\n  }, \n  \"21652\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42732_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Camo.png\"\n  }, \n  \"21654\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42733_female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_BloodraidersF01.png\"\n  }, \n  \"21655\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42734_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Black.png\"\n  }, \n  \"21656\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42735_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Orange.png\"\n  }, \n  \"21657\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42736_male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_CaldariM01.png\"\n  }, \n  \"21658\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42737_female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_ConcordF01.png\"\n  }, \n  \"21659\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42738_female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_MinmatarF01.png\"\n  }, \n  \"21660\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42739_male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_GallenteM01.png\"\n  }, \n  \"21661\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42740_female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_CaldariF01.png\"\n  }, \n  \"21662\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42741_male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_AmarrM01.png\"\n  }, \n  \"21663\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42742_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Concord.png\"\n  }, \n  \"21664\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42743_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Guristas.png\"\n  }, \n  \"21665\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42744_female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_AmarrF01.png\"\n  }, \n  \"21666\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/42745_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Gallente.png\"\n  }, \n  \"21667\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topouter/42707_female_TopOuter_ShirtMilF01_Types_ShirtMilF01_bloodraiders.png\"\n  }, \n  \"21668\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/42700_female_TopMiddle_ShirtQF01_Types_ShirtBloodraidersF01.png\"\n  }, \n  \"21669\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/42704_male_topMiddle_ShirtQM01_Types_ShirtBloodraidersM01.png\"\n  }, \n  \"21670\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/42702_male_outer_JacketMFBR01_Types_JacketMFBR02_Bloodraiders.png\"\n  }, \n  \"21671\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/42703_female_Outer_JacketFBR01_Types_JacketFBR02_bloodraiders.png\"\n  }, \n  \"21672\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/42705_male_outer_JacketPrtm01_Types_JacketPrtm01_bloodraiders_spec.png\"\n  }, \n  \"21673\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/42706_female_Outer_JacketPrtF01_Types_JacketPrtF01_bloodraiders_spec.png\"\n  }, \n  \"21674\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/42701_female_bottomOuter_PantsMilF01_Types_PantsMilF01_bloodraiders.png\"\n  }, \n  \"21675\": {\n    \"iconFile\": \"res:/ui/texture/icons/cmd_brst_info_ph.png\"\n  }, \n  \"21676\": {\n    \"iconFile\": \"res:/ui/texture/icons/cmd_brst_skrmsh_ph.png\"\n  }, \n  \"21677\": {\n    \"iconFile\": \"res:/ui/texture/icons/cmd_brst_mine_ph.png\"\n  }, \n  \"21678\": {\n    \"iconFile\": \"res:/ui/texture/icons/cmd_brst_armor_ph.png\"\n  }, \n  \"21679\": {\n    \"iconFile\": \"res:/ui/texture/icons/cmd_brst_shield_ph.png\"\n  }, \n  \"21680\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/42905_female_Accessories_Glasses_Goggles_01_Types_goggles_01_orange.png\"\n  }, \n  \"21681\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/42906_male_Accessories_Glasses_Goggles_01_Types_goggles_01_orange.png\"\n  }, \n  \"21683\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/titanGeneratorAmarr.png\"\n  }, \n  \"21684\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/titanGeneratorCaldari.png\"\n  }, \n  \"21685\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/titanGeneratorGallente.png\"\n  }, \n  \"21686\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/titanGeneratorMinmatar.png\"\n  }, \n  \"21687\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_ArmorBase.png\"\n  }, \n  \"21688\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_ArmorBuffer.png\"\n  }, \n  \"21689\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_ArmorRepair.png\"\n  }, \n  \"21690\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_ArmorResists.png\"\n  }, \n  \"21691\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_InfoBase.png\"\n  }, \n  \"21692\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_InfoEwar.png\"\n  }, \n  \"21693\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_InfoSensors.png\"\n  }, \n  \"21694\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_InfoTargeting.png\"\n  }, \n  \"21695\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_MiningBase.png\"\n  }, \n  \"21696\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_MiningCrystal.png\"\n  }, \n  \"21698\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_MiningCycle.png\"\n  }, \n  \"21699\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_MiningRange.png\"\n  }, \n  \"21700\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_ShieldBase.png\"\n  }, \n  \"21701\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_ShieldBuffer.png\"\n  }, \n  \"21702\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_ShieldRepair.png\"\n  }, \n  \"21703\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_ShieldResists.png\"\n  }, \n  \"21704\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_SkirmishBase.png\"\n  }, \n  \"21705\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_SkirmishSignature.png\"\n  }, \n  \"21706\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_SkirmishSpeed.png\"\n  }, \n  \"21707\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_SkirmishWeb.png\"\n  }, \n  \"21708\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_ArmorBuffer.png\"\n  }, \n  \"21709\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_ArmorRepair.png\"\n  }, \n  \"21710\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_ArmorResists.png\"\n  }, \n  \"21711\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_Base.png\"\n  }, \n  \"21712\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_InfoEwar.png\"\n  }, \n  \"21713\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_InfoSensors.png\"\n  }, \n  \"21714\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_InfoTargeting.png\"\n  }, \n  \"21715\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_MiningCrystal.png\"\n  }, \n  \"21716\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_MiningCycle.png\"\n  }, \n  \"21717\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_MiningRange.png\"\n  }, \n  \"21718\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_ShieldBuffer.png\"\n  }, \n  \"21719\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_ShieldRepair.png\"\n  }, \n  \"21720\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_ShieldResists.png\"\n  }, \n  \"21721\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_SkirmishSignature.png\"\n  }, \n  \"21722\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_SkirmishSpeed.png\"\n  }, \n  \"21723\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Effects/fleetBoostEffect_SkirmishWeb.png\"\n  }, \n  \"21724\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/titanGeneratorMultiple.png\"\n  }, \n  \"21725\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/empireCrate.png\"\n  }, \n  \"21729\": {\n    \"iconFile\": \"res:/ui/texture/icons/127_64_8.png\"\n  }, \n  \"21730\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/panicModule.png\"\n  }, \n  \"21731\": {\n    \"iconFile\": \"res:/UI/texture/icons/inventory/skillInjectorMini_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21732\": {\n    \"iconFile\": \"res:/ui/texture/icons/50_64_11.png\"\n  }, \n  \"21734\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/44121_female_bottomOuter_PantsMilF01_Types_PantsMilF01_C16.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21735\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/44124_male_bottomOuter_PantsMilM01_Types_PantsMilM01_C16.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21736\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/44122_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_C16.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21738\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/44125_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_C16.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21739\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/44120_female_TopMiddle_TshirtF01_Types_TshirtF01_C16.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21740\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/44123_male_topMiddle_TshirtM01_Types_TshirtM01_C16.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21741\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/starterPack.png\"\n  }, \n  \"21742\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/holidayCrate.png\"\n  }, \n  \"21743\": {\n    \"iconFile\": \"res:/ui/texture/icons/118_64_15.png\"\n  }, \n  \"21744\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45514_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_SOE.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21745\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45515_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21746\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45516_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21747\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45517_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21748\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45518_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21749\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45519_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_CaldariOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21750\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45520_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_ORE.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21751\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45521_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21752\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45522_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_ORE.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21753\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45523_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_SOE.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21754\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45524_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21755\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45525_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21756\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45526_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21757\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45527_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_CaldariOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21760\": {\n    \"iconFile\": \"res:/UI/Texture/classes/ItemPacks/SplashImages/ProjectDiscoveryPlaceholder.png\"\n  }, \n  \"21763\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/45734_female_TopMiddle_TshirtF01_Types_TshirtF01_Exo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21764\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45735_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Exo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21765\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45737_female_Outer_LabCoatF01_Types_LabCoatF01_Exo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21766\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45738_female_Outer_JacketMilF01_Types_JacketMilF01_exo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21767\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/45739_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Exo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21768\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/45740_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Exo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21769\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45741_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Exo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21770\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45742_male_outer_JacketMilM02_Types_JacketMilM02_exo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21771\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/45743_male_TopMiddle_TshirtM01_Types_TshirtM01_Exo.png\", \n    \"iconType\": \"png\", \n    \"obsolete\": 0\n  }, \n  \"21772\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/45744_male_outer_LabCoatM01_Types_LabCoatM01_Exo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21773\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/45745_male_Accessories_Glasses_Glasses_Exo_M01_Types_Glasses_Exo_M01_clear.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21774\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/128_64_1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21775\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/45736_female_Accessories_Glasses_Glasses_Exo_F01_Types_Glasses_Exo_F01_clear.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21778\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46038_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_IGC.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21779\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46039_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_IGC.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21780\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46274_male_outer_JacketPrtm01_Types_JacketPrtm01_valkyrie.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21781\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46273_female_Outer_JacketPrtF01_Types_JacketPrtF01_valkyrie.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21783\": {\n    \"iconFile\": \"res:/ui/texture/icons/reaction.png\"\n  }, \n  \"21784\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/dataCore.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21785\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/relicVault.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21787\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/refinery_ChunkStabilization.png\"\n  }, \n  \"21788\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/refinery_MiningYield.png\"\n  }, \n  \"21789\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/refinery_BoosterReactions.png\"\n  }, \n  \"21790\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/refinery_HybridReactions.png\"\n  }, \n  \"21791\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/refinery_T2Reactions.png\"\n  }, \n  \"21792\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/moonAsteroid_R4.png\"\n  }, \n  \"21793\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/moonAsteroid_R8.png\"\n  }, \n  \"21794\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/moonAsteroid_R16.png\"\n  }, \n  \"21795\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/moonAsteroid_R32.png\"\n  }, \n  \"21796\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/moonAsteroid_R64.png\"\n  }, \n  \"21797\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/moonAsteroid_JackpotR4.png\"\n  }, \n  \"21798\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/moonAsteroid_JackpotR8.png\"\n  }, \n  \"21799\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/moonAsteroid_JackpotR16.png\"\n  }, \n  \"21800\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/moonAsteroid_JackpotR32.png\"\n  }, \n  \"21801\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/moonAsteroid_JackpotR64.png\"\n  }, \n  \"21802\": {\n    \"iconFile\": \"res:/ui/texture/corps/federalStrategicMateriel.png\"\n  }, \n  \"21803\": {\n    \"iconFile\": \"res:/ui/texture/corps/imperialWarReserves.png\"\n  }, \n  \"21804\": {\n    \"iconFile\": \"res:/ui/texture/corps/republicFleetOrdnance.png\"\n  }, \n  \"21805\": {\n    \"iconFile\": \"res:/ui/texture/corps/stateMilitaryStockpile.png\"\n  }, \n  \"21807\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46658_female_Outer_JacketAGF01_Types_JacketAGF01_Gallente_RW.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21808\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46659_male_outer_JacketCMM01_Types_JacketCMM01_Caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21809\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46660_female_Outer_JacketAGF01_Types_JacketAGF01_Gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21810\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46661_female_Outer_JacketCMF01_Types_JacketCMF01_Minmatar_RW.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21811\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46662_male_outer_JacketAGM01_Types_JacketAGM01_Amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21812\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46663_female_Outer_JacketAGF01_Types_JacketAGF01_Amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21813\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46664_male_outer_JacketCMM01_Types_JacketCMM01_Minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21814\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46665_male_outer_JacketAGM01_Types_JacketAGM01_Gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21815\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46666_male_outer_JacketAGM01_Types_JacketAGM01_Amarr_RW.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21816\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46667_male_outer_JacketAGM01_Types_JacketAGM01_Gallente_RW.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21817\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46668_female_Outer_JacketAGF01_Types_JacketAGF01_Amarr_RW.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21818\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46669_female_Outer_JacketCMF01_Types_JacketCMF01_Caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21819\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46674_male_outer_JacketCMM01_Types_JacketCMM01_Minmatar_RW.png\", \n    \"iconType\": \"png\", \n    \"obsolete\": 0\n  }, \n  \"21820\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46671_female_Outer_JacketCMF01_Types_JacketCMF01_Caldari_RW.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21821\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46672_male_outer_JacketCMM01_Types_JacketCMM01_Caldari_RW.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21822\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/46673_female_Outer_JacketCMF01_Types_JacketCMF01_Minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21823\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/rwAsteroid.png\"\n  }, \n  \"21829\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/biochemMaterials.png\"\n  }, \n  \"21830\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateAmarr.png\"\n  }, \n  \"21831\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateCaldari.png\"\n  }, \n  \"21832\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateGallente.png\"\n  }, \n  \"21833\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateMinmatar.png\"\n  }, \n  \"21835\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/skillInjectorAlpha.png\"\n  }, \n  \"21836\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/47031_female_Outer_JacketSLF_01_Types_JacketSLF_01_JinMeiOpera.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21837\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/47032_male_outer_JacketALM01_Types_JacketALM01_JinMeiOpera.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21839\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/boosterAgencyDamage.png\"\n  }, \n  \"21840\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/boosterAgencySpeed.png\"\n  }, \n  \"21841\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/boosterAgencyTank.png\"\n  }, \n  \"21843\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_16.png\"\n  }, \n  \"21844\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_3.png\"\n  }, \n  \"21845\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/47191_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_XV_BlackOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21846\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/47192_female_TopMiddle_TshirtF01_Types_TshirtF01_XV_StarOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21847\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/47182_male_TopMiddle_TshirtM01_Types_TshirtM01_XV_Amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21848\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/47183_male_TopMiddle_TshirtM01_Types_TshirtM01_XV_Minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21849\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/47184_male_TopMiddle_TshirtM01_Types_TshirtM01_XV_Gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21850\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/47185_female_TopMiddle_TshirtF01_Types_TshirtF01_XV_Gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21851\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/47186_female_TopMiddle_TshirtF01_Types_TshirtF01_XV_Amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21853\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/47188_male_TopMiddle_TshirtM01_Types_TshirtM01_XV_Caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21854\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/47189_female_TopMiddle_TshirtF01_Types_TshirtF01_XV_Caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21855\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/47190_male_TopMiddle_TshirtM01_Types_TshirtM01_XV_StarOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21857\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/47187_female_TopMiddle_TshirtF01_Types_TshirtF01_XV_Minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21858\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/47193_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_XV_BlackOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21860\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/AssaultDamageControl.png\"\n  }, \n  \"21872\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/47287_female_Outer_ArmorSuitCF01_Types_ArmorSuitCF01_SWAT.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21873\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/47286_male_outer_ArmorSuitMM01_Types_ArmorSuitMM01_SWAT.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21877\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/tetherDisabled.png\"\n  }, \n  \"21878\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/47477_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_XV_FF.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21879\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/47478_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_XV_FF.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21880\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/47475_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_XV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21881\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/47476_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_XV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21882\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/47479_female_TopMiddle_TshirtF01_Types_TshirtF01_XV_FF.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21883\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/47480_male_TopMiddle_TshirtM01_Types_TshirtM01_XV_FF.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21888\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutatorDecayed.png\"\n  }, \n  \"21890\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutatorGravid.png\"\n  }, \n  \"21891\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutatorUnstable.png\"\n  }, \n  \"21892\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/abyssalAfterburner.png\"\n  }, \n  \"21893\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/abyssalMWD.png\"\n  }, \n  \"21894\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/abyssalPlate.png\"\n  }, \n  \"21895\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/abyssalRepairer.png\"\n  }, \n  \"21896\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/abyssalNeut.png\"\n  }, \n  \"21897\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/abyssalNosferatu.png\"\n  }, \n  \"21898\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateCapsuleerDay.png\"\n  }, \n  \"21899\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateChristmas.png\"\n  }, \n  \"21900\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateCrimsonHarvest.png\"\n  }, \n  \"21901\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateGuardiansGala.png\"\n  }, \n  \"21902\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateNewYears.png\"\n  }, \n  \"21903\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/weatherLightning.png\"\n  }, \n  \"21904\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/weatherXenonGas.png\"\n  }, \n  \"21905\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/weatherCaustic.png\"\n  }, \n  \"21906\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/weatherDarkness.png\"\n  }, \n  \"21907\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/weatherInfernal.png\"\n  }, \n  \"21909\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/abyssalPlate.png\"\n  }, \n  \"21910\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/abyssalStasisWebifier.png\"\n  }, \n  \"21911\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/abyssalWarpScrambler.png\"\n  }, \n  \"21912\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/abyssalWarpDisruptor.png\"\n  }, \n  \"21913\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/abyssalShieldBooster.png\"\n  }, \n  \"21914\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/abyssalShieldExtender.png\"\n  }, \n  \"21916\": {\n    \"iconFile\": \"res:/ui/texture/icons/ammo/disintegratorChargeGluon.png\"\n  }, \n  \"21917\": {\n    \"iconFile\": \"res:/ui/texture/icons/ammo/disintegratorChargeLepton.png\"\n  }, \n  \"21918\": {\n    \"iconFile\": \"res:/ui/texture/icons/ammo/disintegratorChargeQuark.png\"\n  }, \n  \"21919\": {\n    \"iconFile\": \"res:/ui/texture/icons/ammo/disintegratorChargeMystic.png\"\n  }, \n  \"21920\": {\n    \"iconFile\": \"res:/ui/texture/icons/ammo/disintegratorChargeOccult.png\"\n  }, \n  \"21921\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/Disintegrator_L.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21922\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/Disintegrator_M.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21923\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/Disintegrator_S.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21924\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/abyssalFilamentL1.png\"\n  }, \n  \"21925\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/abyssalFilamentL2.png\"\n  }, \n  \"21926\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/abyssalFilamentL3.png\"\n  }, \n  \"21927\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/abyssalFilamentL4.png\"\n  }, \n  \"21928\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/abyssalFilamentL5.png\"\n  }, \n  \"21931\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/48081_female_Outer_VanguardF01_Types_VanguardF01_TG.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21932\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/48082_male_outer_VanguardM01_Types_VanguardM01_TG.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21933\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/48083_male_bottomOuter_PantsEngM01_Types_PantsEngM01_silver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"21934\": {\n    \"iconFile\": \"res:/ui/texture/icons/86_64_2.png\"\n  }, \n  \"21936\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/bioluminescence.png\"\n  }, \n  \"21937\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/causticCloud.png\"\n  }, \n  \"21938\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/filamentCloud.png\"\n  }, \n  \"21939\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/pointDefenseBattery.png\"\n  }, \n  \"21941\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/pulseBattery.png\"\n  }, \n  \"21980\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crystallineIsogen10.png\"\n  }, \n  \"21981\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/mutaPlasmidResidue.png\"\n  }, \n  \"21982\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/triglavianSurveyData.png\"\n  }, \n  \"21983\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/zeroPointCondensate.png\"\n  }, \n  \"21984\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaDecayedAfterburner.png\"\n  }, \n  \"21985\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDecayedExtender.png\"\n  }, \n  \"21986\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDecayedMWD.png\"\n  }, \n  \"21987\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDecayedNeut.png\"\n  }, \n  \"21988\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDecayedNosferatu.png\"\n  }, \n  \"21989\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDecayedPlate.png\"\n  }, \n  \"21990\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDecayedRepairer.png\"\n  }, \n  \"21991\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDecayedShieldBooster.png\"\n  }, \n  \"21992\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDecayedStasisWebifier.png\"\n  }, \n  \"21993\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDecayedWarpDisruptor.png\"\n  }, \n  \"21994\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDecayedWarpScrambler.png\"\n  }, \n  \"21995\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaGravidAfterburner.png\"\n  }, \n  \"21996\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaGravidExtender.png\"\n  }, \n  \"21997\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaGravidMWD.png\"\n  }, \n  \"21998\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaGravidNeut.png\"\n  }, \n  \"21999\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaGravidNosferatu.png\"\n  }, \n  \"22000\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaGravidPlate.png\"\n  }, \n  \"22001\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaGravidRepairer.png\"\n  }, \n  \"22002\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaGravidShieldBooster.png\"\n  }, \n  \"22003\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaGravidStasisWebifier.png\"\n  }, \n  \"22004\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaGravidWarpDisruptor.png\"\n  }, \n  \"22005\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaGravidWarpScrambler.png\"\n  }, \n  \"22006\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaUnstableAfterburner.png\"\n  }, \n  \"22007\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaUnstableExtender.png\"\n  }, \n  \"22008\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaUnstableMWD.png\"\n  }, \n  \"22009\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaUnstableNeut.png\"\n  }, \n  \"22010\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaUnstableNosferatu.png\"\n  }, \n  \"22011\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaUnstablePlate.png\"\n  }, \n  \"22012\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaUnstableRepairer.png\"\n  }, \n  \"22013\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaUnstableShieldBooster.png\"\n  }, \n  \"22014\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaUnstableStasisWebifier.png\"\n  }, \n  \"22016\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaUnstableWarpDisruptor.png\"\n  }, \n  \"22018\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/mutaUnstableWarpScrambler.png\"\n  }, \n  \"22020\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/boundary.png\"\n  }, \n  \"22021\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/48386_female_Outer_VanguardF01_Types_VanguardF01_RED.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22022\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/48380_female_Outer_VanguardF01_Types_VanguardF01_GREEN.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22023\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/48381_female_Outer_VanguardF01_Types_VanguardF01_GOLD.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22024\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/48382_female_Outer_VanguardF01_Types_VanguardF01_BLUE.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22025\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/48383_male_outer_VanguardM01_Types_VanguardM01_GREEN.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22026\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/48384_male_outer_VanguardM01_Types_VanguardM01_GOLD.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22027\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/48385_male_outer_VanguardM01_Types_VanguardM01_BLUE.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22028\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/48387_male_outer_VanguardM01_Types_VanguardM01_RED.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22029\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDecayedCapBattery.png\"\n  }, \n  \"22030\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaGravidCapBattery.png\"\n  }, \n  \"22031\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaUnstableCapBattery.png\"\n  }, \n  \"22034\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_13.png\"\n  }, \n  \"22036\": {\n    \"iconFile\": \"res:/ui/texture/icons/medicinal_herbs.png\"\n  }, \n  \"22037\": {\n    \"iconFile\": \"res:/ui/texture/icons/soda_pop_brown.png\"\n  }, \n  \"22038\": {\n    \"iconFile\": \"res:/ui/texture/icons/soda_pop_green.png\"\n  }, \n  \"22039\": {\n    \"iconFile\": \"res:/ui/texture/icons/soft_drink_bottles.png\"\n  }, \n  \"22040\": {\n    \"iconFile\": \"res:/ui/texture/icons/tea_service.png\"\n  }, \n  \"22041\": {\n    \"iconFile\": \"res:/ui/texture/icons/4_64_4.png\"\n  }, \n  \"22042\": {\n    \"iconFile\": \"res:/ui/texture/icons/1337_64_15.png\"\n  }, \n  \"22043\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49668_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V0.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22044\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49669_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22045\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49670_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V2.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22046\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49671_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V3.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22047\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49672_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V4.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22048\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49673_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V5.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22049\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49674_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V6.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22050\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49675_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V7.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22051\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49676_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V8.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22052\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49677_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V0.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22053\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49678_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22054\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49679_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V2.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22055\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49680_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V3.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22056\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49681_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V4.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22057\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49682_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V5.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22058\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49683_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V6.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22059\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49684_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V7.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22060\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49685_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V8.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22061\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/FacialAugmentOrange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22062\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/FacialAugmentBlue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22063\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/FacialAugmentsPackBlue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22064\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaDecayedGyro.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22065\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaGravidGyro.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22066\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaUnstableGyro.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22067\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaUnstableBallisticControl.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22068\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaGravidBallisticControl.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22069\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaDecayedBallisticControl.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22070\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaDecayedDroneDamage.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22071\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaGravidDroneDamage.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22072\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaUnstableDroneDamage.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22073\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/navigation_CynoBeacon.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22074\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/navigation_CynoJammer.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22075\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/navigation_JumpGate.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22076\": {\n    \"iconFile\": \"res:/ui/texture/icons/76_64_3.png\"\n  }, \n  \"22077\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/49978_Male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_W.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22078\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/49980_Female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_W.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22079\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/RewardTrack/reward_Holiday2018_Augmentation1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22080\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/RewardTrack/reward_Holiday2018_Augmentation2.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22081\": {\n    \"iconFile\": \"res:/UI/Texture/classes/ItemPacks/SplashImages/Holiday2018/splash_Holiday2018_DrakeRupture.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22082\": {\n    \"iconFile\": \"res:/UI/Texture/classes/ItemPacks/SplashImages/Holiday2018/splash_Holiday2018_ExplorationSuits.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22084\": {\n    \"iconFile\": \"res:/UI/Texture/classes/ItemPacks/SplashImages/Holiday2018/splash_Holiday2018_FaceAugmentation1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22085\": {\n    \"iconFile\": \"res:/UI/Texture/classes/ItemPacks/SplashImages/Holiday2018/splash_Holiday2018_FaceAugmentation2.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22086\": {\n    \"iconFile\": \"res:/UI/Texture/classes/ItemPacks/SplashImages/Holiday2018/splash_Holiday2018_GnosisPunisher.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22087\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/49978_Male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_W.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22088\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/49980_Female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_W.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22089\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49984_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V0_Blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22090\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49985_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V10_W.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22091\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/abyssalRemoteRepairer.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22092\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49987_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V6_Blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22093\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/RewardTrack/crateSkinContainer.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22094\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/RewardTrack/crateWinterExplorationSuit.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22095\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/49986_male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V10_W.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22096\": {\n    \"iconFile\": \"res:/UI/Texture/LoginCampaigns/Winter_2018.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22097\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/50043_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V30_ChOper.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22098\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/50044_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V5_Purple.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22099\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/50049_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V5_Purple.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22100\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/50051_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V5_Purple.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22101\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/50052_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V5_Purple.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22102\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/50050_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V30_ChOper.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22103\": {\n    \"iconFile\": \"res:/UI/Texture/classes/ItemPacks/SplashImages/Holiday2018/splash_GuardiansGala_FaceAugmentation1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22104\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/FacialAugmentPurple.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22105\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/50130_Female_TopMiddle_TshirtF01_Types_TshirtF01_PWT.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22106\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/50131_Male_topMiddle_TshirtM01_Types_TshirtM01_PWT.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22107\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/50132_Female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_PWT.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22108\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/50133_Male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_PWT.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22111\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/triglavianCommunicator_Perun.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22112\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/triglavianCommunicator_Svarog.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22114\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/triglavianCommunicator_Veles.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22115\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/52188_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V31_XVI_FF.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22116\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/52189_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V32_XVI_FF.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22117\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/52198_Female_TopMiddle_TshirtF01_Types_TshirtF01_XVI.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22119\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/52200_Male_topMiddle_TshirtM01_Types_TshirtM01_XVI.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22120\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/52201_Female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_XVI.png\", \n    \"iconType\": \"png\"\n  }, \n  \"22121\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/52202_Male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_XVI.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24116\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/cratePermabandCap.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24117\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/cratePermabandShirt.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24118\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateSilverMonocle.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24119\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateXVICap.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24120\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateXVIShirt.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24121\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/FacialAugmentXVI.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24122\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateApotheosis+SKIN.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24123\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateGnosis+SKIN.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24124\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/cratePraxis+SKIN.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24125\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/crateSunesis+SKIN.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24128\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaDecayedAssaultDamageControl.png\"\n  }, \n  \"24129\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaDecayedDamageControl.png\"\n  }, \n  \"24130\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaGravidAssaultDamageControl.png\"\n  }, \n  \"24131\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaGravidDamageControl.png\"\n  }, \n  \"24132\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaUnstableAssaultDamageControl.png\"\n  }, \n  \"24133\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mutaUnstableDamageControl.png\"\n  }, \n  \"24135\": {\n    \"iconFile\": \"res:/ui/texture/icons/triglavianCollective.png\"\n  }, \n  \"24136\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Asteroid_Talassonite.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24137\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IndustryDatacore.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24138\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Radiation_absorption_thruster.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24139\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Lattice_locked_dekaisogen.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24140\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Singularity_radiation_convertor.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24141\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Trinary_state_processor.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24142\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Zero_point_field_manipulator.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24143\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Asteroid_Bezdnacine.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24144\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Asteroid_Rakovene.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24146\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/73_16_246.png\"\n  }, \n  \"24147\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/73_16_245.png\"\n  }, \n  \"24148\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/73_16_247.png\"\n  }, \n  \"24149\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/73_16_248.png\"\n  }, \n  \"24150\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/73_16_242.png\"\n  }, \n  \"24151\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/73_16_243.png\"\n  }, \n  \"24152\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/ItemOverlay/abyssal.png\"\n  }, \n  \"24153\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/ItemOverlay/nes.png\"\n  }, \n  \"24154\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/ItemOverlay/timeLimited.png\"\n  }, \n  \"24155\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/structureOverlayFaction.png\"\n  }, \n  \"24156\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/structureOverlayT2.png\"\n  }, \n  \"24157\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/structureOverlay.png\"\n  }, \n  \"24158\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/SkillPoints/25k.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24159\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/SkillPoints/50k.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24160\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/SkillPoints/100k.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24161\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/SkillPoints/150k.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24162\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/SkillPoints/250k.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24163\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/SkillPoints/500k.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24164\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/SkillPoints/10k.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24165\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/SkillPoints/750k.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24166\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/SkillPoints/1m.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24167\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/53038_Male_Makeup_BodyAugmentations_BodyAugmentation_M01_Types_BodyAugmentationM01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24168\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/53039_Male_Makeup_BodyAugmentations_BodyAugmentation_M01_Types_BodyAugmentationM01_Blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24169\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/53040_Male_Makeup_BodyAugmentations_BodyAugmentation_M01_Types_BodyAugmentationM01_GoldDesign.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24170\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/53041_Male_Makeup_BodyAugmentations_BodyAugmentation_M01_Types_BodyAugmentationM01_Red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24171\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/53042_Male_Makeup_BodyAugmentations_BodyAugmentation_M01_Types_BodyAugmentationM01_WhiteDesign.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24172\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/53043_Male_Makeup_BodyAugmentations_BodyAugmentation_M01_Types_BodyAugmentationM01_YellowDesign.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24175\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/halloweenCrate.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24192\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/53226_Female_Makeup_BodyAugmentations_BodyAugmentation_F01_Types_BodyAugmentationF01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24193\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/53227_Female_Makeup_BodyAugmentations_BodyAugmentation_F01_Types_BodyAugmentationF01_Blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24194\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/53228_Female_Makeup_BodyAugmentations_BodyAugmentation_F01_Types_BodyAugmentationF01_GoldCamo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24195\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/53229_Female_Makeup_BodyAugmentations_BodyAugmentation_F01_Types_BodyAugmentationF01_Red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24196\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/53230_Female_Makeup_BodyAugmentations_BodyAugmentation_F01_Types_BodyAugmentationF01_WhiteCamo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24197\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/53231_Female_Makeup_BodyAugmentations_BodyAugmentation_F01_Types_BodyAugmentationF01_YellowCamo.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24205\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/hypercore.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24228\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/capitalLauncherHardpoint.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24229\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/capitalPowerGenerator_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24230\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/capitalPropulsionEngine_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24237\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/Disintegrator_XL.png\"\n  }, \n  \"24240\": {\n    \"iconFile\": \"res:/ui/texture/shared/brackets/station_32.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24242\": {\n    \"iconFile\": \"res:/ui/texture/windowicons/theagency.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24243\": {\n    \"iconFile\": \"res:/ui/texture/icons/44_32_18.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24244\": {\n    \"iconFile\": \"res:/ui/texture/shared/brackets/warpgate_32.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24246\": {\n    \"iconFile\": \"res:/ui/texture/shared/brackets/npccruiser_32.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24247\": {\n    \"iconFile\": \"res:/ui/texture/shared/brackets/stargate_32.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24248\": {\n    \"iconFile\": \"res:/ui/texture/classes/achievements/mouseBtnLeft.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24250\": {\n    \"iconFile\": \"res:/ui/texture/icons/44_32_12.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24251\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/9_64_6.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24252\": {\n    \"iconFile\": \"res:/ui/texture/icons/13_64_13.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24253\": {\n    \"iconFile\": \"res:/ui/texture/icons/1_64_11.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24254\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Brackets/Wreck_Large.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24256\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/53357_Female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Aurora.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24257\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/53380_Female_TopMiddle_TshirtF01_Types_TshirtF01_Aurora.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24258\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/53381_Female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Aurora.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24259\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/53382_Male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_ Aurora.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24260\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/53383_Male_topMiddle_TshirtM01_Types_TshirtM01_ Aurora.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24261\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/53384_Male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_ Aurora.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24262\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/53385_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V10_Red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24263\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/53386_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V32_Aurora.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24264\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/53393_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V33_ Aurora.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24265\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/53394_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V10_Red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24266\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/FilamentAllOtherReindeer.png\"\n  }, \n  \"24267\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/FilamentRudolph.png\"\n  }, \n  \"24268\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24270\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha2.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24271\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha3.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24272\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha4.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24273\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha5.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24274\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha6.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24275\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha7.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24276\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha8.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24277\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha9.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24278\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha10.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24279\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha11.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24280\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha12.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24281\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Alpha13.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24283\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24284\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega2.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24285\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega3.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24286\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega4.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24287\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega5.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24288\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega6.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24289\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega7.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24290\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega8.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24291\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega9.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24292\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega10.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24293\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega11.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24294\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega12.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24295\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Omega13.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24296\": {\n    \"iconFile\": \"res:/ui/texture/icons/celestial/planetaryLaunchContainer.png\"\n  }, \n  \"24297\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/CoercerBundleCrate.png\"\n  }, \n  \"24298\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/CatalystBundleCrate.png\"\n  }, \n  \"24299\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/CormorantBundleCrate.png\"\n  }, \n  \"24300\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/ThrasherBundleCrate.png\"\n  }, \n  \"24303\": {\n    \"iconFile\": \"res:/ui/texture/icons/StatusEffects/blackHole.png\"\n  }, \n  \"24304\": {\n    \"iconFile\": \"res:/ui/texture/icons/StatusEffects/cataclysmicVariable.png\"\n  }, \n  \"24305\": {\n    \"iconFile\": \"res:/ui/texture/icons/StatusEffects/magnatar.png\"\n  }, \n  \"24306\": {\n    \"iconFile\": \"res:/ui/texture/icons/StatusEffects/pulsae.png\"\n  }, \n  \"24307\": {\n    \"iconFile\": \"res:/ui/texture/icons/StatusEffects/redGiant.png\"\n  }, \n  \"24308\": {\n    \"iconFile\": \"res:/ui/texture/icons/StatusEffects/wolfRayet.png\"\n  }, \n  \"24309\": {\n    \"iconFile\": \"res:/ui/texture/icons/StatusEffects/triglavianInvasions.png\"\n  }, \n  \"24310\": {\n    \"iconFile\": \"res:/ui/texture/icons/StatusEffects/sanshaIncursion.png\"\n  }, \n  \"24312\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54158_Female_Outer_LabCoatF01_Types_LabCoatF01_ConcordFF.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24319\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54177_Male_outer_LabCoatM01_Types_LabCoatM01_ConcordFF.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24320\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/54193_Female_TopMiddle_TshirtF01_Types_TshirtF01_RFS.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24321\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/54194_Male_topMiddle_TshirtM01_Types_TshirtM01_RFS.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24322\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/AbyssalRandomFilament_L1.png\"\n  }, \n  \"24323\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/AbyssalRandomFilament_L1Active.png\"\n  }, \n  \"24324\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/AbyssalRandomFilament_L3.png\"\n  }, \n  \"24325\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/AbyssalRandomFilament_L3Active.png\"\n  }, \n  \"24326\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/AbyssalRandomFilament_L5.png\"\n  }, \n  \"24327\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/AbyssalRandomFilament_L5Active.png\"\n  }, \n  \"24328\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/mouse_button_middle.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24329\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54299_Female_Outer_JacketPrtF01_Types_JacketPrtF01_guristashunt.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24330\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/54303_Female_Feet_BootsPrtF01_Types_BootsPrtF01_guristashunt.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24331\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/54304_Female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_GuristasHuntF01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24332\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54306_Female_bottomOuter_PantsPrtF01_Types_PantsPrtF01_guristashunt.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24343\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54307_Male_outer_JacketPrtm01_Types_JacketPrtm01_guristashunt.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24344\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54308_Male_bottomOuter_PantsPrtm01_Types_PantsPrtm01_guristashunt.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24345\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/54309_Male_Feet_BootsPrtm01_Types_BootsPrtm01_guristashunt.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24346\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/54310_Male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_GuristasHuntM01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24350\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/54320_Female_TopMiddle_TshirtF01_Types_TshirtF01_XVII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24351\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/54322_Female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_XVII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24352\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/54327_Male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_XVII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24353\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/54328_Male_topMiddle_TshirtM01_Types_TshirtM01_XVII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24363\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54359_Female_Outer_JacketCorpBusinessF01_Types_JacketCorpBusinessF01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24364\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54360_Female_Outer_JacketCorpBusinessF01_Types_JacketCorpBusinessF01_Blue_Tie.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24365\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54361_Female_Outer_JacketCorpBusinessF01_Types_JacketCorpBusinessF01_BrownStripes.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24366\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54362_Female_Outer_JacketCorpBusinessF01_Types_JacketCorpBusinessF01_GrayDark_Tie.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24367\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54363_Female_Outer_JacketCorpBusinessF01_Types_JacketCorpBusinessF01_Red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24368\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54364_Female_Outer_JacketCorpBusinessF01_Types_JacketCorpBusinessF01_White_Tie.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24369\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54365_Female_bottomOuter_PantsCorpBusinessF01_Types_PantsCorpBusinessF01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24370\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54366_Female_bottomOuter_PantsCorpBusinessF01_Types_PantsCorpBusinessF01_Blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24371\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54367_Female_bottomOuter_PantsCorpBusinessF01_Types_PantsCorpBusinessF01_BrownStripes.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24372\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54368_Female_bottomOuter_PantsCorpBusinessF01_Types_PantsCorpBusinessF01_GrayDark.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24373\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54369_Female_bottomOuter_PantsCorpBusinessF01_Types_PantsCorpBusinessF01_Red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24374\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54370_Female_bottomOuter_PantsCorpBusinessF01_Types_PantsCorpBusinessF01_White.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24375\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54371_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24376\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54372_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_Blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24377\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54373_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_BrownStripes.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24378\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54374_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_GrayDark.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24379\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54375_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_Red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24380\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/54376_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_White.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24381\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54377_Male_outer_JacketCorpBusinessM01_Types_JacketCorpBusinessM01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24382\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54378_Male_outer_JacketCorpBusinessM01_Types_JacketCorpBusinessM01_Blue_Tie.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24383\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54379_Male_outer_JacketCorpBusinessM01_Types_JacketCorpBusinessM01_BrownStripes.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24384\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54380_Male_outer_JacketCorpBusinessM01_Types_JacketCorpBusinessM01_GreyDark_Tie.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24385\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54381_Male_outer_JacketCorpBusinessM01_Types_JacketCorpBusinessM01_Red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24386\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/54382_Male_outer_JacketCorpBusinessM01_Types_JacketCorpBusinessM01_White_Tie.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24387\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/54383_Male_Feet_ShoesCorpBusinessM01_Types_ShoesCorpBusinessM01_black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24388\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/54384_Male_Feet_ShoesCorpBusinessM01_Types_ShoesCorpBusinessM01_brown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24389\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/54385_Male_Feet_ShoesCorpBusinessM01_Types_ShoesCorpBusinessM01_darkbrown.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24390\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/54386_Male_Feet_ShoesCorpBusinessM01_Types_ShoesCorpBusinessM01_white.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24392\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_blue_1.png\"\n  }, \n  \"24393\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_blue_2.png\"\n  }, \n  \"24394\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_blue_3.png\"\n  }, \n  \"24395\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_extra_1.png\"\n  }, \n  \"24396\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_extra_2.png\"\n  }, \n  \"24397\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_extra_3.png\"\n  }, \n  \"24398\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_gold_1.png\"\n  }, \n  \"24399\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_gold_2.png\"\n  }, \n  \"24400\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_gold_3.png\"\n  }, \n  \"24401\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_green_1.png\"\n  }, \n  \"24402\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_gray_1.png\"\n  }, \n  \"24403\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_gray_2.png\"\n  }, \n  \"24404\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_gray_3.png\"\n  }, \n  \"24405\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_green_2.png\"\n  }, \n  \"24406\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_green_3.png\"\n  }, \n  \"24407\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_purple_1.png\"\n  }, \n  \"24408\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_purple_2.png\"\n  }, \n  \"24409\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/DLI_purple_3.png\"\n  }, \n  \"24411\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_masks/54714_Female_Accessories_Masks_Mask_F_Types_Mask_F_cyan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24412\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_masks/54715_Female_Accessories_Masks_Mask_F_Types_Mask_F_blackredsoe.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24413\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_masks/54716_Female_Accessories_Masks_Mask_F_Types_Mask_F_darkblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24415\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_masks/54718_Male_Accessories_Masks_Mask_M_Types_Mask_M_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24416\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_masks/54719_Male_Accessories_Masks_Mask_M_Types_Mask_M_blackredsoe.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24417\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_masks/54720_Male_Accessories_Masks_Mask_M_Types_Mask_M_darkblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24418\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_masks/54830_Male_Accessories_Masks_Mask_M_Types_Mask_M_cyan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24419\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/edencom.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24421\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/54926_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V3_GoldBlue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24422\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/54927_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V7_Blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24429\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/54943_Male_topMiddle_TshirtM01_Types_TshirtM01_Covid.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24430\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/54944_Female_TopMiddle_TshirtF01_Types_TshirtF01_Covid.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24434\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/54948_Male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Covid.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24435\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/54949_Female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Covid.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24457\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/54965_Female_Accessories_Glasses_Glasses_Slick_01_Types_Glasses_Slick_01_clear.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24458\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/54966_Male_Accessories_Glasses_Glasses_Slick_01_Types_Glasses_Slick_01_clear.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24460\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/SkillPoints/Broken_Skill_Canister.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24462\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/55627_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V6_White.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24463\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/55636_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V7_White.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24464\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/upwell_weapon_small.png\"\n  }, \n  \"24465\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/upwell_weapon_medium.png\"\n  }, \n  \"24466\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/upwell_weapon_large.png\"\n  }, \n  \"24467\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/upwell_modifier_amplifier.png\"\n  }, \n  \"24468\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_small_black.png\"\n  }, \n  \"24469\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_small_blue.png\"\n  }, \n  \"24470\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_small_green.png\"\n  }, \n  \"24471\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_small_orange.png\"\n  }, \n  \"24472\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_small_white.png\"\n  }, \n  \"24473\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_small_yellow.png\"\n  }, \n  \"24474\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_medium_black.png\"\n  }, \n  \"24475\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_medium_blue.png\"\n  }, \n  \"24476\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_medium_green.png\"\n  }, \n  \"24477\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_medium_orange.png\"\n  }, \n  \"24478\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_medium_white.png\"\n  }, \n  \"24479\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_medium_yellow.png\"\n  }, \n  \"24480\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_large_black.png\"\n  }, \n  \"24481\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_large_blue.png\"\n  }, \n  \"24482\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_large_green.png\"\n  }, \n  \"24483\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_large_orange.png\"\n  }, \n  \"24484\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_large_white.png\"\n  }, \n  \"24485\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/upwell_ammo_large_yellow.png\"\n  }, \n  \"24486\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/upwell_industry_array.png\"\n  }, \n  \"24487\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/upwell_industry_electricsheeting.png\"\n  }, \n  \"24488\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/upwell_industry_nanocable.png\"\n  }, \n  \"24489\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/55751_Female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_AmarrFoundationF01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24490\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/55752_Female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_CaldariUnionF01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24491\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/55753_Female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_GallenteFederationF01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24492\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/55754_Female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_MinmatarLiberationF01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24493\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/55755_Male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_AmarrFoundationM01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24494\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/55756_Male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_CaldariUnionM01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24495\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/55757_Male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_GallenteFederationM01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24496\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/55758_Male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_MinmatarLiberationM01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24497\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/AbyssalArenaFilaments_1v1.png\"\n  }, \n  \"24498\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/AbyssalArenaFilaments_2v2.png\"\n  }, \n  \"24499\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/AbyssalArenaFilaments_3v3.png\"\n  }, \n  \"24501\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/AbyssalArenaFilaments_5v5.png\"\n  }, \n  \"24502\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/55855_Female_Outer_VanguardF01_Types_VanguardF01_TG_PVP_Arena.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24503\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/55856_Female_Outer_ArmorSuitCF01_Types_ArmorSuitCF01_TG_PVP_Arena.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24504\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/55857_Male_outer_ArmorSuitMM01_Types_ArmorSuitMM01_TG_PVP_Arena.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24505\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/55858_Male_outer_VanguardM01_Types_VanguardM01_TG_PVP_Arena.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24506\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/56144_Female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_EdencomF01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24507\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/56145_Male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_EdencomM01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24508\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/56146_Female_TopMiddle_TshirtF01_Types_TshirtF01_Edencom.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24509\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/56147_Male_topMiddle_TshirtM01_Types_TshirtM01_Edencom.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24510\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/abyssalFilamentL0.png\"\n  }, \n  \"24511\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/abyssalFilamentL6.png\"\n  }, \n  \"24512\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/56209_Female_hair_HeadWear_Beret_F01_Types_HeadWear_Beret_TriglavianF01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24513\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/56210_Male_hair_HeadWear_Beret_M01_Types_HeadWear_Beret_TriglavianM01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24514\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/56211_Female_TopMiddle_TshirtF01_Types_TshirtF01_Triglavian.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24515\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/56212_Male_topMiddle_TshirtM01_Types_TshirtM01_Triglavian.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24516\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56223_Female_Outer_JacketCMF01_Types_JacketCMF01_Edencom.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24517\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56224_Male_outer_JacketCMM01_Types_JacketCMM01_Edencom.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24518\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56225_Female_Outer_VanguardF01_Types_VanguardF01_TG_LP.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24519\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56226_Male_outer_VanguardM01_Types_VanguardM01_TG_LP.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24525\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56264_Female_Outer_ArmorSuitCF01_Types_ArmorSuitCF01_TG_LP.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24526\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56265_Female_Outer_ArmorSuitCF01_Types_ArmorSuitCF01_Edencom.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24527\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56266_Male_outer_ArmorSuitMM01_Types_ArmorSuitMM01_TG_LP.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24528\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56267_Male_outer_ArmorSuitMM01_Types_ArmorSuitMM01_Edencom.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24529\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Conversations/theAgency.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24530\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/FilamentTSpace1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24531\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/FilamentTSpace2.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24532\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/FilamentTSpace3.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24533\": {\n    \"iconFile\": \"res:/ui/texture/icons/upwell/QuantumCoreM.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24534\": {\n    \"iconFile\": \"res:/ui/texture/icons/upwell/QuantumCoreL.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24535\": {\n    \"iconFile\": \"res:/ui/texture/icons/upwell/QuantumCoreXL.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24536\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/56634_Female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_BR_CrimonHarvest.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24537\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56635_Female_Outer_JacketFBR01_Types_JacketFBR01_BR_CrimsonHarvest.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24538\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/56636_Female_TopMiddle_TshirtF01_Types_TshirtF01_BR_CrimsonHarvest.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24539\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/56637_Male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_BR_CrimsonHarvest.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24540\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56638_Male_outer_JacketMFBR01_Types_JacketMFBR01_BR_CrimsonHarvest.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24541\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/56639_Male_topMiddle_TshirtM01_Types_TshirtM01_BR_CrimsonHarvest.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24543\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/probe_charge_green.png\"\n  }, \n  \"24544\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/probe_charge_coral.png\"\n  }, \n  \"24545\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/probe_charge_olive.png\"\n  }, \n  \"24546\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/probe_charge_violet.png\"\n  }, \n  \"24547\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/SuperCarrierCloneBay.png\"\n  }, \n  \"24548\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/56844_Female_Feet_ShoesEngF01_Types_ShoesEngF01_Jita.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24549\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/56845_Female_TopMiddle_ShirtEngF01_Types_ShirtEngF01_Jita.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24550\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/56846_Female_bottomOuter_PantsEngF01_Types_PantsEngF01_Jita.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24551\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/56847_Male_Feet_ShoesEngM01_Types_ShoesEngM01_jita.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24552\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/56848_Male_topMiddle_ShirtEngM01_Types_ShirtEngM01_jita.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24553\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/56849_Male_bottomOuter_PantsEngM01_Types_PantsEngM01_jita.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24554\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/56850_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_Jita.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24555\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56851_Male_outer_JacketCorpBusinessM01_Types_JacketCorpBusinessM01_Jita_Tie.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24556\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56852_Female_Outer_JacketCorpBusinessF01_Types_JacketCorpBusinessF01_Jita_Tie.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24557\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/56853_Female_bottomOuter_PantsCorpBusinessF01_Types_PantsCorpBusinessF01_Jita.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24558\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/56854_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V33_Japan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24559\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/56855_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V34_Japan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24560\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56856_Male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Japan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24561\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/56857_Female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Japan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24562\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/encrypted_bond_1.png\"\n  }, \n  \"24563\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/encrypted_bond_2.png\"\n  }, \n  \"24564\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/encrypted_bond_3.png\"\n  }, \n  \"24565\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/encrypted_bond_4.png\"\n  }, \n  \"24566\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/StormChaserFilamentHighSec_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24567\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/StormChaserFilamentLowSec_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24568\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/StormChaserFilamentNullSec_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24569\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/57073_Male_topMiddle_TshirtM01_Types_TshirtM01_Yoiul.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24570\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/57074_Male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Yoiul.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24571\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/57075_Male_bottomOuter_PantsMilM01_Types_PantsMilM01_Yoiul.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24572\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/57076_Male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Yoiul.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24573\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/57077_Female_TopMiddle_TshirtF01_Types_TshirtF01_Yoiul.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24574\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/57078_Female_bottomOuter_PantsMilF01_Types_PantsMilF01_Yoiul.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24575\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/57079_Female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Yoiul.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24576\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/57080_Female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Yoiul.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24577\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/YoiulMetaliminalStorm.png\"\n  }, \n  \"24578\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_Xin.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24579\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_Nian.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24580\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_Kuai.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24581\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_Le.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24582\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_Bull20.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24583\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_Bull21.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24584\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BullCrate_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24585\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ExpertSystems/BaseSystem.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24587\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Accelerator_ZN_A.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24588\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Accelerator_ZN_B.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24589\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Accelerator_ZN_C.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24590\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Accelerator_ZN_X.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24591\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_ZN01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24592\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_ZN02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24593\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_ZN03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24594\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Crate_NewYear_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24595\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Crate_ShipSkin_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24597\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ExpertSystems/CoreShipSystems.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24600\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ExpertSystems/HighSecuritySpaceExplorer.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24601\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ExpertSystems/InterceptorEventSystem.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24602\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ExpertSystems/MiningBargeSystem.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24603\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ExpertSystems/Science.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24604\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Capital_Core_Temperature_Regulator.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24605\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Core_Temperature_Regulator.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24606\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Counter-Subversion_Sensor_Array.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24607\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/CV-Composite_Molecular_Condenser.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24608\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Electro-Neural_Signaller.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24609\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Enhanced_Electro-Neural_Signaller.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24610\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/G-O_Trigger_Neurolink_Conduit.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24611\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Genetic_Lock_Preserver.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24612\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Genetic_Mutation_Inhibiter.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24613\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Genetic_Safeguard_Filter.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24614\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Genetic_Structure_Repairer.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24615\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Goal-Orienting_Neurolink_Stabilizer.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24616\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Gravimetric-FTL_Interlink_Communicator.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24617\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Isotropic_Neofullerene_Alpha-3.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24618\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Isotropic_Neofullerene_Beta-6.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24619\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Isotropic_Neofullerene_Gamma-9.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24620\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Ladar-FTL_Interlink_Communicator.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24621\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/LM-Composite_Molecular_Condenser.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24622\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Magnetometric-FTL_Interlink_Communicator.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24623\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Meta-Molecular_Combiner.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24624\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Meta-Operant_Neurolink_Booster.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24625\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Nanoscale_Filter_Plate.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24626\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Nano_Regulation_Gate.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24627\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Neurolink_Booster_Reservoir.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24628\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Programmable_Purification_Membrane.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24629\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/R-O_Trigger_Neurolink_Conduit.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24630\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Radar-FTL_Interlink_Communicator.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24631\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Reaction-Orienting_Neurolink_Stabilizer.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24632\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/S-R_Trigger_Neurolink_Conduit.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24633\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Solid_Gas_Merger.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24634\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Stress-Responding_Neurolink_Stabilizer.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24635\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/U-C_Trigger_Neurolink_Conduit.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24636\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Ultradian-Cycling_Neurolink_Stabilizer.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24637\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/AG-Composite_Molecular_Condenser.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24638\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Auto-Preservation_Component.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24639\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/AV-Composite_Molecular_Condenser.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24640\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/LifeSupport_unit.png\", \n    \"iconType\": \"LifeSupport_unit.png\"\n  }, \n  \"24641\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Neurolink_Cell.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24642\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Neurolink_Cell_Enhanced.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24643\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Fortitude_liquid_A.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24644\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Fortitude_liquid_B.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24645\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Fortitude_liquid_C.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24646\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Fortitude_liquid_D.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24655\": {\n    \"iconFile\": \"res:/ui/Texture/Shared/hamburgerMenu_Large.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24656\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Industry/activity/manufacturing.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24657\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Industry/activity/copying.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24658\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Industry/activity/researchMaterial.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24659\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Industry/activity/researchTime.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24660\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Industry/activity/invention.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24661\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Industry/activity/reaction.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24662\": {\n    \"iconFile\": \"res:/UI/Texture/SettingsCogwheel.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24663\": {\n    \"iconFile\": \"res:/UI/Texture/classes/MapView/focusIcon.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24664\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Fitting/tabSkins.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24665\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Fitting/tabHardware.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24666\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/d-scan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24667\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/probe_scan.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24668\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconAccelerator_Anniversary_I.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24669\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconAccelerator_Anniversary_II.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24670\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconAccelerator_Anniversary_III.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24671\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconAccelerator_Anniversary_IV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24672\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconZXJ_Anniversary_TP.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24673\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconZXJ_Anniversary_YK.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24674\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconZXJ_Anniversary_HQ.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24675\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconZXJ_Anniversary_XN.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24676\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconZXJ_Anniversary_MM.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24677\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconCrate_ShipSkin02_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24678\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_TravellingGallery_Amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24679\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_TravellingGallery_Caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24680\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_TravellingGallery_Gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24681\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_TravellingGallery_Minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24682\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_TravellingGallery_StarMap.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24683\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/58757_Male_topMiddle_TshirtM01_Types_TshirtM01_XVIII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24684\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/58767_Male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_XVIII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24685\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/58768_Female_TopMiddle_TshirtF01_Types_TshirtF01_XVIII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24686\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/58769_Female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_XVIII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24687\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58785_Female_bottomOuter_PantsEngF01_Types_PantsEngF01_amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24688\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58786_Female_bottomOuter_PantsEngF01_Types_PantsEngF01_caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24689\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58787_Female_bottomOuter_PantsEngF01_Types_PantsEngF01_gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24690\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58788_Female_bottomOuter_PantsEngF01_Types_PantsEngF01_minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24691\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58791_Male_bottomOuter_PantsEngM01_Types_PantsEngM01_amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24692\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58792_Male_bottomOuter_PantsEngM01_Types_PantsEngM01_caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24693\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58793_Male_bottomOuter_PantsEngM01_Types_PantsEngM01_gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24694\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58794_Male_bottomOuter_PantsEngM01_Types_PantsEngM01_minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24695\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/58809_Female_TopMiddle_ShirtEngF01_Types_ShirtEngF01_amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24696\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/58810_Female_TopMiddle_ShirtEngF01_Types_ShirtEngF01_caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24697\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/58811_Female_TopMiddle_ShirtEngF01_Types_ShirtEngF01_gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24698\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/58812_Female_TopMiddle_ShirtEngF01_Types_ShirtEngF01_minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24699\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/58813_Male_topMiddle_ShirtEngM01_Types_ShirtEngM01_amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24700\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/58814_Male_topMiddle_ShirtEngM01_Types_ShirtEngM01_caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24701\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/58815_Male_topMiddle_ShirtEngM01_Types_ShirtEngM01_gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24702\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/58816_Male_topMiddle_ShirtEngM01_Types_ShirtEngM01_minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24703\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/58817_Female_Feet_ShoesEngF01_Types_ShoesEngF01_amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24704\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/58818_Female_Feet_ShoesEngF01_Types_ShoesEngF01_caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24705\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/58819_Female_Feet_ShoesEngF01_Types_ShoesEngF01_gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24706\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/58820_Female_Feet_ShoesEngF01_Types_ShoesEngF01_minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24707\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/58821_Female_Feet_ShoesEngF01_Types_ShoesEngF01_redblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24708\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/58825_Male_Feet_ShoesEngM01_Types_ShoesEngM01_amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24709\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/58826_Male_Feet_ShoesEngM01_Types_ShoesEngM01_caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24710\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/58827_Male_Feet_ShoesEngM01_Types_ShoesEngM01_gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24711\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/58828_Male_Feet_ShoesEngM01_Types_ShoesEngM01_minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24712\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/58829_Male_Feet_ShoesEngM01_Types_ShoesEngM01_redblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24713\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/58933_Male_outer_JacketFormalMilM01_Types_JacketFormalMilM01_BlueCal.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24714\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/58934_Male_outer_JacketFormalMilM01_Types_JacketFormalMilM01_BrownAmarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24715\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/58935_Male_outer_JacketFormalMilM01_Types_JacketFormalMilM01_GreenGallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24716\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/58936_Male_outer_JacketFormalMilM01_Types_JacketFormalMilM01_BrownMinmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24717\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/58941_Female_Outer_JacketFormalMilF01_Types_JacketFormalMilF01_Caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24718\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/58942_Female_Outer_JacketFormalMilF01_Types_JacketFormalMilF01_Amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24719\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/58943_Female_Outer_JacketFormalMilF01_Types_JacketFormalMilF01_Gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24720\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/58944_Female_Outer_JacketFormalMilF01_Types_JacketFormalMilF01_Minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24721\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58946_Female_bottomOuter_PantsCorpBusinessF01_Types_PantsCorpBusinessF01_CaldariMil.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24722\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58947_Female_bottomOuter_PantsCorpBusinessF01_Types_PantsCorpBusinessF01_AmarrMil.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24723\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58948_Female_bottomOuter_PantsCorpBusinessF01_Types_PantsCorpBusinessF01_GallenteMil.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24724\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58949_Female_bottomOuter_PantsCorpBusinessF01_Types_PantsCorpBusinessF01_MinmatarMil.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24725\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58951_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_BlueCalMil.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24726\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58952_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_BrownAmarrMil.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24727\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58953_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_GreenGallenteMil.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24728\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/58954_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_BrownMinmatarMil.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24730\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/interdictionNullifier.png\"\n  }, \n  \"24731\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/59178_Male_outer_JacketMFBR01_Types_JacketMFBR01_MinmatarLiberation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24732\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/59179_Male_bottomOuter_PantsMilM01_Types_PantsMilM01_MinmatarLiberation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24733\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/59180_Female_Outer_JacketFBR01_Types_JacketFBR01_MinmatarLiberation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24734\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/59181_Female_bottomOuter_PantsMilF01_Types_PantsMilF01_MinmatarLiberation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24735\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/59185_Male_outer_JacketMFBR01_Types_JacketMFBR01_GallenteFederation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24737\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/59187_Male_bottomOuter_PantsMilM01_Types_PantsMilM01_GallenteFederation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24738\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/59196_Female_Outer_JacketFBR01_Types_JacketFBR01_GallenteFederation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24739\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/59198_Female_bottomOuter_PantsMilF01_Types_PantsMilF01_GallenteFederation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24740\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59199_Male_Tattoo_Head_TattooElabM_LD_01_Types_TattooElabM_LD_01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24741\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59200_Female_Tattoo_Head_TattooElabM_LD_01_Types_TattooElabM_LD_01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24742\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59201_Male_Tattoo_Head_TattooElabM_LD_02_Types_TattooElabM_LD_02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24743\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59202_Female_Tattoo_Head_TattooElabM_LD_02_Types_TattooElabM_LD_02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24744\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59221_Male_Tattoo_Head_TattooElabM_LD_03_Types_TattooElabM_LD_03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24745\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59223_Female_Tattoo_Head_TattooElabM_LD_03_Types_TattooElabM_LD_03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24746\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59226_Male_Tattoo_Head_TattooElabM_LD_04_Types_TattooElabM_LD_04.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24747\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59227_Female_Tattoo_Head_TattooElabM_LD_04_Types_TattooElabM_LD_04.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24748\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59228_Male_Tattoo_Head_TattooElabM_LD_05_Types_TattooElabM_LD_05.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24749\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59229_Female_Tattoo_Head_TattooElabM_LD_05_Types_TattooElabM_LD_05.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24750\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59230_Male_Tattoo_Head_TattooElabM_LD_06_Types_TattooElabM_LD_06.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24751\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59231_Female_Tattoo_Head_TattooElabM_LD_06_Types_TattooElabM_LD_06.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24752\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59232_Male_Tattoo_Head_TattooElabM_LD_07_Types_TattooElabM_LD_07.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24753\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/tattoo_head/59233_Female_Tattoo_Head_TattooElabM_LD_07_Types_TattooElabM_LD_07.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24754\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/59366_Male_outer_JacketMFBR01_Types_JacketMFBR01_AmarrFoundation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24755\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/59367_Female_Outer_JacketFBR01_Types_JacketFBR01_AmarrFoundation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24756\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/59368_Male_bottomOuter_PantsMilM01_Types_PantsMilM01_AmarrFoundation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24757\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/59370_Female_bottomOuter_PantsMilF01_Types_PantsMilF01_AmarrFoundation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24758\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/59405_Male_outer_JacketMFBR01_Types_JacketMFBR01_CaldariUnion.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24759\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/59406_Male_bottomOuter_PantsMilM01_Types_PantsMilM01_CaldariUnion.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24760\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/59407_Female_Outer_JacketFBR01_Types_JacketFBR01_CaldariUnion.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24761\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/59408_Female_bottomOuter_PantsMilF01_Types_PantsMilF01_CaldariUnion.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24770\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/44_32_23.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24771\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/44_32_40.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24773\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/44_32_21.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24774\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/44_32_17.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24776\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ESS_reserveKey_64_NE.png\"\n  }, \n  \"24777\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ESS_reserveKey_64_NE_large.png\"\n  }, \n  \"24778\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ESS_reserveKey_64_NW.png\"\n  }, \n  \"24779\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ESS_reserveKey_64_NW_large.png\"\n  }, \n  \"24780\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ESS_reserveKey_64_SE.png\"\n  }, \n  \"24781\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ESS_reserveKey_64_SE_large.png\"\n  }, \n  \"24782\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ESS_reserveKey_64_SW.png\"\n  }, \n  \"24783\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ESS_reserveKey_64_SW_large.png\"\n  }, \n  \"24785\": {\n    \"iconFile\": \"res:/ui/texture/icons/items.png\"\n  }, \n  \"24786\": {\n    \"iconFile\": \"res:/ui/texture/icons/itemHangar.png\"\n  }, \n  \"24787\": {\n    \"iconFile\": \"res:/ui/texture/icons/theAgency.png\"\n  }, \n  \"24788\": {\n    \"iconFile\": \"res:/ui/texture/icons/[AIR] Online Button.png\"\n  }, \n  \"24789\": {\n    \"iconFile\": \"res:/ui/texture/icons/applySkillpoints.png\"\n  }, \n  \"24790\": {\n    \"iconFile\": \"res:/ui/texture/icons/filterIconLowSlot.png\"\n  }, \n  \"24791\": {\n    \"iconFile\": \"res:/ui/texture/icons/[AIR] Neocom Menu Button.png\"\n  }, \n  \"24792\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconAccelerator_FrekiGacha_I.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24793\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconAccelerator_FrekiGacha_II.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24794\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconAccelerator_FrekiGacha_III.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24795\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconAccelerator_FrekiGacha_IV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24796\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconLicense_FrekiGacha_01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24797\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconLicense_FrekiGacha_02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24798\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconLicense_FrekiGacha_03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24799\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconZXJ_FrekiGacha_MC108.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24800\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconZXJ_FrekiGacha_MC308.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24801\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconZXJ_FrekiGacha_MC708.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24802\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconZXJ_FrekiGacha_RP108.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24803\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconZXJ_FrekiGacha_RP308.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24804\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconZXJ_FrekiGacha_RP708.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24805\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconCrate_FrekiGacha_01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24806\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconCrate_FrekiGacha_02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24807\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconCrate_FrekiGacha_03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24808\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconCrate_FrekiGacha_04.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24809\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/Linked_Status_Icon.png\"\n  }, \n  \"24810\": {\n    \"iconFile\": \"res:/ui/texture/icons/[AIR] Docking.png\"\n  }, \n  \"24811\": {\n    \"iconFile\": \"res:/ui/texture/icons/[AIR] Jump.png\"\n  }, \n  \"24812\": {\n    \"iconFile\": \"res:/ui/texture/icons/[AIR] Stargate.png\"\n  }, \n  \"24813\": {\n    \"iconFile\": \"res:/ui/texture/shared/brackets/Homestation_Icon.png\"\n  }, \n  \"24815\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_ShipCertification_01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24816\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_ShipCertification_02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24817\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_ShipCertification_03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24818\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_ShipInsurance.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24819\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconCrate_ShipSkin03_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24820\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconCrate_ShipSkin04_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24821\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconCrate_ShipSkin05_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24823\": {\n    \"iconFile\": \"res:/ui/texture/icons/[AIR] Jump Button.png\"\n  }, \n  \"24824\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/IconAccelerator_Orange.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24826\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/[AIR] Small Skill Injector.png\"\n  }, \n  \"24827\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/60160_Male_Accessories_Glasses_EyeImp01_Types_EyeImpM01_Right_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24828\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/60161_Male_bottomOuter_PantsEngM01_Types_PantsEngM01_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24829\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/60162_Male_Feet_ShoesEngM01_Types_ShoesEngM01_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24830\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/60163_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V7_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24831\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/60164_Male_Makeup_BodyAugmentations_BodyAugmentation_M01_Types_BodyAugmentationM01_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24832\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/60165_Male_Accessories_Glasses_Monocle_01_Types_MonocleM01_Right_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24833\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/60166_Female_Accessories_Glasses_EyeImp01_Types_EyeImpF01_Right_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24834\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/60167_Female_bottomOuter_PantsEngF01_Types_PantsEngF01_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24835\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/60168_Female_Feet_ShoesEngF01_Types_ShoesEngF01_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24836\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/60169_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24837\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_bodyaugmentations/60170_Female_Makeup_BodyAugmentations_BodyAugmentation_F01_Types_BodyAugmentationF01_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24838\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/60171_Female_Accessories_Glasses_Monocle_01_Types_MonocleF01_Right_EP.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24839\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/60175_Male_outer_JacketMilM02_Types_JacketMilM02_AIR.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24840\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/60176_Female_Outer_JacketSLF_01_Types_JacketSLF_01_air.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24841\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_CSYQ_04a.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24842\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_CSYQ_05a.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24843\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_CSYQ_02a.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24844\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_CSYQ_03a.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24845\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_CSYQ_01a.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24846\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_CSYQ_04b.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24847\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_CSYQ_05b.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24848\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_CSYQ_02b.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24849\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_CSYQ_03b.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24850\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/ZXJ_CSYQ_01b.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24851\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Accelerator_CSYQ_I.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24852\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Accelerator_CSYQ_II.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24853\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Accelerator_CSYQ_III.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24854\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Accelerator_CSYQ_IV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24855\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Crate_ShipSkin_Sakura.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24856\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Crate_Vangel.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24857\": {\n    \"iconFile\": \"res:/ui/texture/icons/[AIR] PlusIcon.png\"\n  }, \n  \"24858\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_BattleshipCer_Amarr.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24859\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_BattleshipCer_Caldari.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24860\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_BattleshipCer_Gallente.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24861\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_BattleshipCer_Minmatar.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24862\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Icon_BattleshipCer_AdvancedWeaponUpgrade.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24872\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/60432_Male_bottomOuter_PantsPrtm01_Types_PantsPrtm01_redblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24874\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/60434_Female_bottomOuter_PantsPrtF01_Types_PantsPrtF01_redblack.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24875\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/60435_Male_topMiddle_TshirtM01_Types_TshirtM01_BR_CH.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24876\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/60436_Female_TopMiddle_TshirtF01_Types_TshirtF01_BR_CH.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24892\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDroneDamage.png\"\n  }, \n  \"24893\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDroneRange.png\"\n  }, \n  \"24894\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDroneSpeed.png\"\n  }, \n  \"24895\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDroneTank.png\"\n  }, \n  \"24904\": {\n    \"iconFile\": \"res:/ui/texture/icons/quafe_green.png\"\n  }, \n  \"24905\": {\n    \"iconFile\": \"res:/ui/texture/icons/Modules/mutaDroneModules.png\"\n  }, \n  \"24908\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/60639_Male_Accessories_Glasses_Goggles_01_Types_goggles_01_min.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24914\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/60645_Female_Accessories_Glasses_Goggles_01_Types_goggles_01_min.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24916\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/60647_Male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Min.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24924\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/60655_Female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Min.png\", \n    \"iconType\": \"png\"\n  }, \n  \"24926\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/Linked_To_Beaon_Icon.png\"\n  }, \n  \"24968\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_1_blue.png\"\n  }, \n  \"24969\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_1_green.png\"\n  }, \n  \"24970\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_1_red.png\"\n  }, \n  \"24971\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_1_purple.png\"\n  }, \n  \"24972\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_1_orange.png\"\n  }, \n  \"24973\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_1_white.png\"\n  }, \n  \"24974\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_2_blue.png\"\n  }, \n  \"24975\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_2_green.png\"\n  }, \n  \"24976\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_2_red.png\"\n  }, \n  \"24977\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_2_purple.png\"\n  }, \n  \"24978\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_2_orange.png\"\n  }, \n  \"24979\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_2_white.png\"\n  }, \n  \"24980\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_1_blue.png\"\n  }, \n  \"24981\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_1_green.png\"\n  }, \n  \"24982\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_1_red.png\"\n  }, \n  \"24983\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_1_purple.png\"\n  }, \n  \"24984\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_1_orange.png\"\n  }, \n  \"24985\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_1_white.png\"\n  }, \n  \"24986\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_2_blue.png\"\n  }, \n  \"24987\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_2_green.png\"\n  }, \n  \"24988\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_2_red.png\"\n  }, \n  \"24989\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_2_purple.png\"\n  }, \n  \"24990\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_2_orange.png\"\n  }, \n  \"24991\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_2_white.png\"\n  }, \n  \"24992\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_1_blue.png\"\n  }, \n  \"24993\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_1_green.png\"\n  }, \n  \"24994\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_1_red.png\"\n  }, \n  \"24995\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_1_purple.png\"\n  }, \n  \"24996\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_1_orange.png\"\n  }, \n  \"24997\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_1_white.png\"\n  }, \n  \"24998\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_2_blue.png\"\n  }, \n  \"24999\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_2_green.png\"\n  }, \n  \"25000\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_2_red.png\"\n  }, \n  \"25001\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_2_purple.png\"\n  }, \n  \"25002\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_2_orange.png\"\n  }, \n  \"25003\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_2_white.png\"\n  }, \n  \"25021\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_1_blue_moon.png\"\n  }, \n  \"25022\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_1_blue_moon.png\"\n  }, \n  \"25023\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_1_blue_moon.png\"\n  }, \n  \"25024\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_2_blue_moon.png\"\n  }, \n  \"25025\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_2_blue_moon.png\"\n  }, \n  \"25026\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_2_blue_moon.png\"\n  }, \n  \"25027\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_1_white_moon.png\"\n  }, \n  \"25028\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_1_white_moon.png\"\n  }, \n  \"25029\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_1_white_moon.png\"\n  }, \n  \"25030\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_2_white_moon.png\"\n  }, \n  \"25031\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_2_white_moon.png\"\n  }, \n  \"25032\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_2_white_moon.png\"\n  }, \n  \"25033\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_1_purple_moon.png\"\n  }, \n  \"25034\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_1_purple_moon.png\"\n  }, \n  \"25035\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_1_purple_moon.png\"\n  }, \n  \"25036\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_2_purple_moon.png\"\n  }, \n  \"25037\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_2_purple_moon.png\"\n  }, \n  \"25038\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_2_purple_moon.png\"\n  }, \n  \"25039\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_1_red_moon.png\"\n  }, \n  \"25040\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_1_red_moon.png\"\n  }, \n  \"25041\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_1_red_moon.png\"\n  }, \n  \"25042\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_2_red_moon.png\"\n  }, \n  \"25043\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_2_red_moon.png\"\n  }, \n  \"25044\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_2_red_moon.png\"\n  }, \n  \"25045\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_1_orange_moon.png\"\n  }, \n  \"25046\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_1_orange_moon.png\"\n  }, \n  \"25047\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_1_orange_moon.png\"\n  }, \n  \"25048\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/a_2_orange_moon.png\"\n  }, \n  \"25049\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/b_2_orange_moon.png\"\n  }, \n  \"25050\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/c_2_orange_moon.png\"\n  }, \n  \"25051\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/61532_Female_TopMiddle_ShirtQF01_Types_shirtqf01_drw.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25052\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/61533_Male_topMiddle_ShirtQM01_Types_shirtqm01_drw.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25054\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/61535_Female_Outer_ScarfF01_Types_ScarfF01_drw.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25055\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/61536_Male_outer_ScarfM01_Types_ScarfM01_drw.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25060\": {\n    \"iconFile\": \"res:/ui/texture/icons/5_64_12.png\"\n  }, \n  \"25068\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/WMFilamentSmall.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25069\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/WMFilamentLarge.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25076\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/61848_Female_Outer_OutfitDW_F01_Types_OutfitDW_F01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25090\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/61949_Male_outer_OutfitDW_M01_Types_OutfitDW_M01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25091\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/AIR-NPE/air_blackbox.png\"\n  }, \n  \"25092\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/AIR-NPE/air_asteroid.png\"\n  }, \n  \"25117\": {\n    \"iconFile\": \"res:/ui/texture/icons/1337_64_11.png\"\n  }, \n  \"25120\": {\n    \"iconFile\": \"res:/ui/texture/WindowIcons/wallet.png\"\n  }, \n  \"25127\": {\n    \"iconFile\": \"res:/ui/texture/classes/Fitting/warningSkills.png\"\n  }, \n  \"25128\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/DWTrinket01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25129\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/DWTrinket02.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25130\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/DWTrinket03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25131\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/DWTrinket04.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25132\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/DWTrinket05.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25133\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/DWTrinket06.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25134\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/DWTrinket07.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25135\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/DWTrinket08.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25137\": {\n    \"iconFile\": \"res:/ui/texture/classes/DockPanel/closeButton.png\"\n  }, \n  \"25138\": {\n    \"iconFile\": \"res:/ui/texture/classes/Window/btnClose.png\"\n  }, \n  \"25139\": {\n    \"iconFile\": \"res:/ui/texture/shared/Brackets/Asteroid_Small.png\"\n  }, \n  \"25140\": {\n    \"iconFile\": \"res:/ui/texture/icons/44_32_35.png\"\n  }, \n  \"25141\": {\n    \"iconFile\": \"res:/ui/texture/icons/44_32_59.png\"\n  }, \n  \"25143\": {\n    \"iconFile\": \"res:/ui/texture/shared/actions/startConversation.png\"\n  }, \n  \"25148\": {\n    \"iconFile\": \"res:/UI/Texture/classes/industry/centerbar/arrows.png\"\n  }, \n  \"25149\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/62750_Male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_AIR.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25150\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/asteroid_M.png\"\n  }, \n  \"25151\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/asteroid_L.png\"\n  }, \n  \"25152\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/asteroid_XL.png\"\n  }, \n  \"25153\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/gas_M.png\"\n  }, \n  \"25154\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/gas_L.png\"\n  }, \n  \"25155\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/gas_XL.png\"\n  }, \n  \"25156\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/ice_L.png\"\n  }, \n  \"25157\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/ice_XL.png\"\n  }, \n  \"25158\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mercoxit_L.png\"\n  }, \n  \"25159\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/mercoxit_XL.png\"\n  }, \n  \"25160\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/moon_L.png\"\n  }, \n  \"25161\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/moon_XL.png\"\n  }, \n  \"25163\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_Aqua.png\"\n  }, \n  \"25164\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_Blue.png\"\n  }, \n  \"25165\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_Green.png\"\n  }, \n  \"25166\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_Lime.png\"\n  }, \n  \"25167\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_Orange.png\"\n  }, \n  \"25168\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_Purple.png\"\n  }, \n  \"25169\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_Red.png\"\n  }, \n  \"25170\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_Yellow.png\"\n  }, \n  \"25171\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_Asteroid_Bezdnacine.png\"\n  }, \n  \"25172\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_Asteroid_Rakovene.png\"\n  }, \n  \"25173\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_Asteroid_Talassonite.png\"\n  }, \n  \"25174\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_moonAsteroid_R4.png\"\n  }, \n  \"25175\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_moonAsteroid_R8.png\"\n  }, \n  \"25176\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_moonAsteroid_R16.png\"\n  }, \n  \"25177\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_moonAsteroid_R32.png\"\n  }, \n  \"25178\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_moonAsteroid_R64.png\"\n  }, \n  \"25179\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_moonAsteroid_JackpotR4.png\"\n  }, \n  \"25180\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_moonAsteroid_JackpotR8.png\"\n  }, \n  \"25181\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_moonAsteroid_JackpotR16.png\"\n  }, \n  \"25182\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_moonAsteroid_JackpotR32.png\"\n  }, \n  \"25183\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/compressed_moonAsteroid_JackpotR64.png\"\n  }, \n  \"25185\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63051_Male_outer_JacketCMM01_Types_JacketCMM01_ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25186\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63052_Female_Outer_JacketCMF01_Types_JacketCMF01_ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25188\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/63054_Male_bottomOuter_PantsPrtm01_Types_PantsPrtm01_ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25189\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/63055_Female_bottomOuter_PantsPrtF01_Types_PantsPrtF01_ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25190\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63056_Female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Air.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25192\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/63058_Male_Accessories_Glasses_Glasses_Slick_01_Types_Glasses_Slick_01_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25195\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/63061_Female_Accessories_Glasses_Glasses_Slick_01_Types_Glasses_Slick_01_Ep.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25197\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Brackets/WreckNPC_Large_.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25198\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63112_Male_outer_JacketPrtm01_Types_JacketPrtm01_guristashunt_b.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25199\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/63113_Male_Feet_BootsPrtm01_Types_BootsPrtm01_guristashunt_b.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25200\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/63114_Male_bottomOuter_PantsPrtm01_Types_PantsPrtm01_guristashunt_b.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25201\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63115_Female_Outer_JacketPrtF01_Types_JacketPrtF01_guristashunt_b.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25209\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/feet/63123_Female_Feet_BootsPrtF01_Types_BootsPrtF01_guristashunt_b.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25210\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/63124_Female_bottomOuter_PantsPrtF01_Types_PantsPrtF01_guristashunt_b.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25215\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_masks/63135_Male_Accessories_Masks_Mask_Cyberpunk_M01_Types_Mask_Cyberpunk_M01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25218\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_masks/63138_Female_Accessories_Masks_Mask_Cyberpunk_F01_Types_Mask_Cyberpunk_F01.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25220\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63246_Male_outer_Hoodie_M01_Types_Hoodie_M01_XIX.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25227\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63253_Male_outer_Hoodie_M01_Types_Hoodie_M01_XIX_HQ.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25231\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63257_Female_Outer_Hoodie_F01_Types_Hoodie_F01_XIX.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25234\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63260_Female_Outer_Hoodie_F01_Types_Hoodie_F01_XIX_HQ.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25235\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterAGreenI.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25236\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterAGreenII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25237\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterAGreenIII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25238\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterAGreenIV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25239\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterAGreenV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25240\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterABlueI.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25241\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterABlueII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25242\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterABlueIII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25243\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterABlueIV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25244\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterABlueV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25245\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterARedI.png\", \n    \"iconType\": \"png\", \n    \"obsolete\": 0\n  }, \n  \"25246\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterARedII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25247\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterARedIII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25248\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterARedIV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25249\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterARedV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25250\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterAYellowI.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25251\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterAYellowII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25252\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterAYellowIII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25253\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterAYellowIV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25254\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterAYellowV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25255\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBGreenI.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25256\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBGreenII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25257\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBGreenIII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25258\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBGreenIV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25259\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBGreenV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25260\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBBlueI.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25261\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBBlueII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25262\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBBlueIII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25263\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBBlueIV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25264\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBBlueV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25265\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBRedI.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25266\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBRedII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25267\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBRedIII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25268\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBRedIV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25269\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBRedV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25270\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBYellowI.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25271\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBYellowII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25272\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBYellowIII.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25273\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBYellowIV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25274\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/BoosterBYellowV.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25277\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_booster_icon.png\"\n  }, \n  \"25278\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_filament_icon.png\"\n  }, \n  \"25279\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_isk_icon.png\"\n  }, \n  \"25280\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_skin_icon.png\"\n  }, \n  \"25281\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_sp_icon.png\"\n  }, \n  \"25283\": {\n    \"iconFile\": \"res:/ui/texture/icons/5_64_3.png\"\n  }, \n  \"25284\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_booster_icon_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25285\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_booster_icon_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25286\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_booster_icon_purple.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25287\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_filament_icon_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25288\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_filament_icon_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25289\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_filament_icon_purple.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25290\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_isk_icon_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25291\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_isk_icon_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25292\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_isk_icon_purple.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25293\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_skin_icon_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25294\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_skin_icon_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25295\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_skin_icon_purple.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25296\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_sp_icon_green.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25297\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_sp_icon_blue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25298\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/dli_sp_icon_purple.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25299\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63747_Male_outer_JacketFormalMilM01_Types_JacketFormalMilM01_Caldari_FF.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25300\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/63748_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_BlackFF.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25301\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63749_Female_Outer_JacketFormalMilF01_Types_JacketFormalMilF01_Caldari_FF.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25302\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/63750_Female_bottomOuter_PantsCorpBusinessF01_Types_PantsCorpBusinessF01_BlackFF.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25303\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63789_Male_outer_JacketMFBR01_Types_JacketMFBR01_Race.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25304\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/63790_Female_Outer_JacketFBR01_Types_JacketFBR01_race.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25305\": {\n    \"iconFile\": \"res:/UI/Texture/Shared/Brackets/largeCollidableStructure.png\"\n  }, \n  \"25311\": {\n    \"iconFile\": \"res:/dx9/model/ship/caldari/shuttle/cs1/icons/317_128.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25314\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/64195_Female_Outer_JacketFBR01_Types_JacketFBR01_race_hq.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25315\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/64196_Male_outer_JacketMFBR01_Types_JacketMFBR01_Race_HQ.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25328\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/CareerPortal/loot_crate64_enforcer.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25329\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/CareerPortal/loot_crate64_explorer.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25330\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/CareerPortal/loot_crate64_industrial.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25331\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/CareerPortal/loot_crate64_sof.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25336\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/64201_Male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Lib_HQ.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25337\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/64202_Female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Lib_HQ.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25338\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/64203_Female_TopMiddle_TshirtF01_Types_TshirtF01_Lib_HQ.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25339\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/64204_Male_topMiddle_TshirtM01_Types_TshirtM01_Lib_HQ.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25340\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/64268_Male_topMiddle_TshirtM01_Types_TshirtM01_Lib.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25341\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/64269_Female_TopMiddle_TshirtF01_Types_TshirtF01_Lib.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25342\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/64270_Male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Lib.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25343\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/hair/64271_Female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Lib.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25348\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/64377_Female_Outer_RobeF01_Types_RobeAF01_AmarrFoundation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25349\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/64378_Female_Outer_RobeF01_Types_RobeAF01_AmarrFoundation_HQ.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25350\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/64379_Male_outer_RobeAM01_Types_RobeAM01_AmarrFoundation.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25351\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/64380_Male_outer_RobeAM01_Types_RobeAM01_AmarrFoundation_HQ.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25354\": {\n    \"iconFile\": \"res:/UI/Texture/WindowIcons/airCareerProgram.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25355\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Pressurized_Oxygen_64.png\"\n  }, \n  \"25356\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/CapitalShipProduction/Reinforce_Carbon_Fibre_64.png\"\n  }, \n  \"25368\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70838_Male_outer_JacketCM01_R_Types_JacketCM01_R_Commerce.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25369\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70839_Male_outer_JacketCM01_R_Types_JacketCM01_R_Ishukone.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25370\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70840_Male_outer_JacketCM01_R_Types_JacketCM01_R_CBD.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25371\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70841_Male_outer_JacketCM01_R_Types_JacketCM01_R_Hyasyoda.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25372\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70842_Male_outer_JacketCM01_R_Types_JacketCM01_R_Kaalakiota.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25373\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70843_Male_outer_JacketCM01_R_Types_JacketCM01_R_Wiyrkomi.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25374\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70844_Male_outer_JacketCM01_R_Types_JacketCM01_R_LaiDai.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25375\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70845_Male_outer_JacketCM01_R_Types_JacketCM01_R_Sukuuvestaa.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25376\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70846_Male_outer_JacketCM01_R_Types_JacketCM01_R_Nugoeihuvi.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25377\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70847_Female_Outer_JacketCF01_R_Types_JacketCF01_R_Commerce.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25378\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70848_Female_Outer_JacketCF01_R_Types_JacketCF01_R_Ishukone.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25379\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70849_Female_Outer_JacketCF01_R_Types_JacketCF01_R_CBD.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25380\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70850_Female_Outer_JacketCF01_R_Types_JacketCF01_R_Hyasyoda.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25381\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70851_Female_Outer_JacketCF01_R_Types_JacketCF01_R_Kaalakiota.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25382\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70852_Female_Outer_JacketCF01_R_Types_JacketCF01_R_Wiyrkomi.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25383\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70853_Female_Outer_JacketCF01_R_Types_JacketCF01_R_LaiDai.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25384\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70854_Female_Outer_JacketCF01_R_Types_JacketCF01_R_Sukuuvestaa.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25385\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/70855_Female_Outer_JacketCF01_R_Types_JacketCF01_R_Nugoeihuvi.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25447\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/73395_Male_bottomOuter_PantsCorpBusinessM01_Types_PantsCorpBusinessM01_DarkTurquoise.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25448\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/73396_Male_outer_JacketCorpBusinessM01_Types_JacketCorpBusinessM01_DarkTurquoise.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25451\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/73407_Female_Outer_JacketMilF02_Types_JacketMilF02_WhiteTurquoise.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25452\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_masks/73423_Female_Accessories_Masks_Mask_Cyberpunk_F01_Types_Mask_Cyberpunk_F01_Tan_Worn.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25453\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/73424_Female_Accessories_Glasses_Goggles_01_Types_goggles_01_tan_worn.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25454\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_masks/73425_Male_Accessories_Masks_Mask_Cyberpunk_M01_Types_Mask_Cyberpunk_M01_Tan_Worn.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25455\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/accessories_glasses/73426_Male_Accessories_Glasses_Goggles_01_Types_goggles_01_tan_worn.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25456\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/73436_Male_Makeup_Augmentations_Face_Paint_M01_Types_Face_Paint_M01_V7_Red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25457\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/makeup_augmentations/73437_Female_Makeup_Augmentations_Face_Paint_F01_Types_Face_Paint_F01_V3_Red.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25463\": {\n    \"iconFile\": \"res:/ui/texture/corps/EverMore.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25465\": {\n    \"iconFile\": \"res:/ui/texture/corps/paragon.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25467\": {\n    \"iconFile\": \"res:/ui/texture/classes/fitting/cosmetics/alliance_logo_128px.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25468\": {\n    \"iconFile\": \"res:/ui/texture/classes/fitting/cosmetics/corp_logo_128px.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25475\": {\n    \"iconFile\": \"res:/ui/texture/icons/evermarks.png\"\n  }, \n  \"25547\": {\n    \"iconFile\": \"res:/ui/texture/WindowIcons/assets.png\"\n  }, \n  \"25621\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/amarrLance.png\"\n  }, \n  \"25622\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/caldariLance.png\"\n  }, \n  \"25624\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/gallenteLance.png\"\n  }, \n  \"25625\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/minmatarLance.png\"\n  }, \n  \"25629\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_13.png\"\n  }, \n  \"25631\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_11.png\"\n  }, \n  \"25632\": {\n    \"iconFile\": \"res:/ui/texture/icons/36_64_6.png\"\n  }, \n  \"25633\": {\n    \"iconFile\": \"res:/ui/texture/icons/36_64_7.png\"\n  }, \n  \"25634\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_16.png\"\n  }, \n  \"25666\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_12_d.png\"\n  }, \n  \"25668\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_1.png\"\n  }, \n  \"25669\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_2.png\"\n  }, \n  \"25670\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_3.png\"\n  }, \n  \"25671\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_4.png\"\n  }, \n  \"25672\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_5.png\"\n  }, \n  \"25673\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_6.png\"\n  }, \n  \"25674\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_7.png\"\n  }, \n  \"25675\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_17.png\"\n  }, \n  \"25676\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_8.png\"\n  }, \n  \"25677\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_9.png\"\n  }, \n  \"25678\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_10.png\"\n  }, \n  \"25679\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_11.png\"\n  }, \n  \"25680\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_12.png\"\n  }, \n  \"25681\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_13.png\"\n  }, \n  \"25682\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_14.png\"\n  }, \n  \"25683\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_15.png\"\n  }, \n  \"25684\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_16.png\"\n  }, \n  \"25685\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_18.png\"\n  }, \n  \"25686\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_19.png\"\n  }, \n  \"25687\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_20.png\"\n  }, \n  \"25688\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_21.png\"\n  }, \n  \"25689\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_22.png\"\n  }, \n  \"25690\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_23.png\"\n  }, \n  \"25691\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_24.png\"\n  }, \n  \"25692\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_25.png\"\n  }, \n  \"25693\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_26.png\"\n  }, \n  \"25694\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_27.png\"\n  }, \n  \"25695\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_28.png\"\n  }, \n  \"25696\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_29.png\"\n  }, \n  \"25697\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/WVItems/64/wv_64_30.png\"\n  }, \n  \"25801\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/safeZone.png\"\n  }, \n  \"25802\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/deathZoneGracePeriod.png\"\n  }, \n  \"25803\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/deathZone.png\"\n  }, \n  \"25833\": {\n    \"iconFile\": \"res:/UI/Texture/Corps/deathlessCircleBase.png\"\n  }, \n  \"25849\": {\n    \"iconFile\": \"res:/ui/texture/icons/84_64_15.png\"\n  }, \n  \"25862\": {\n    \"iconFile\": \"res:/ui/texture/icons/26_64_5.png\"\n  }, \n  \"25870\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/towed_status_icon.png\"\n  }, \n  \"25874\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Seasons/omega_32x32.png\", \n    \"iconType\": \"png\"\n  }, \n  \"25994\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_17.png\"\n  }, \n  \"25998\": {\n    \"iconFile\": \"res:/ui/texture/icons/43_64_12_n.png\"\n  }, \n  \"26002\": {\n    \"iconFile\": \"res:/ui/texture/icons/10_64_18.png\"\n  }, \n  \"26004\": {\n    \"iconFile\": \"res:/ui/texture/icons/129_reagentice_64.png\"\n  }, \n  \"26005\": {\n    \"iconFile\": \"res:/ui/texture/icons/129_reagentlava_64.png\"\n  }, \n  \"26016\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/abyssalBattlefieldFilamentL1.png\"\n  }, \n  \"26017\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/abyssalBattlefieldFilamentL2.png\"\n  }, \n  \"26018\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/abyssalBattlefieldFilamentL3.png\"\n  }, \n  \"26019\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/abyssalBattlefieldFilamentL4.png\"\n  }, \n  \"26025\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/82040_Female_bottomOuter_PantsALF_01_Types_PantsALF_01_jeansblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26026\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/bottomouter/82041_Male_bottomOuter_PantsMilM01_Types_PantsMilM01_jeansblue.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26038\": {\n    \"iconFile\": \"res:/ui/texture/icons/pirateshipneurolinks/angel_neurolink_64.png\"\n  }, \n  \"26039\": {\n    \"iconFile\": \"res:/ui/texture/icons/pirateshipneurolinks/bloodraider_neurolink_64.png\"\n  }, \n  \"26040\": {\n    \"iconFile\": \"res:/ui/texture/icons/pirateshipneurolinks/guristas_neurolink_64.png\"\n  }, \n  \"26041\": {\n    \"iconFile\": \"res:/ui/texture/icons/pirateshipneurolinks/morduslegion_neurolink_64.png\"\n  }, \n  \"26042\": {\n    \"iconFile\": \"res:/ui/texture/icons/pirateshipneurolinks/sansha_neurolink_64.png\"\n  }, \n  \"26043\": {\n    \"iconFile\": \"res:/ui/texture/icons/pirateshipneurolinks/serpentis_neurolink_64.png\"\n  }, \n  \"26044\": {\n    \"iconFile\": \"res:/ui/texture/icons/pirateshipneurolinks/soe_neurolink_64.png\"\n  }, \n  \"26048\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/resource_icon_alignment_64.png\"\n  }, \n  \"26049\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/resource_icon_fermonics_64.png\"\n  }, \n  \"26050\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/resource_icon_Kerr_64.png\"\n  }, \n  \"26051\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/resource_icon_bulk_64.png\"\n  }, \n  \"26052\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/metallic_64.png\"\n  }, \n  \"26053\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/nanocoating_64.png\"\n  }, \n  \"26054\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/pattern_64.png\"\n  }, \n  \"26055\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/resource_icon_bulk_64.png\"\n  }, \n  \"26056\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/SKINR.png\"\n  }, \n  \"26062\": {\n    \"iconFile\": \"res:/UI/Texture/eveicon/category_icons/sov_hub_32px.png\"\n  }, \n  \"26063\": {\n    \"iconFile\": \"res:/UI/Texture/eveicon/category_icons/skyhook_32px.png\"\n  }, \n  \"26064\": {\n    \"iconFile\": \"res:/UI/Texture/eveicon/category_icons/reagents_skyhook_32px.png\"\n  }, \n  \"26065\": {\n    \"iconFile\": \"res:/UI/Texture/eveicon/category_icons/auto_moon_miner_32px.png\"\n  }, \n  \"26069\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_blue_metallic_000_080_100.png\"\n  }, \n  \"26070\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_grape_satin_000_100_100.png\"\n  }, \n  \"26071\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_green_satin_000_100_050.png\"\n  }, \n  \"26072\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_lavender_satin_000_100_050.png\"\n  }, \n  \"26073\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_orange_satin_000_080_100.png\"\n  }, \n  \"26074\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_orange_satin_000_100_010.png\"\n  }, \n  \"26075\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_orange_satin_000_100_100.png\"\n  }, \n  \"26076\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_plum_satin_000_100_010.png\"\n  }, \n  \"26077\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_purple_satin_000_100_050.png\"\n  }, \n  \"26078\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_red_satin_000_080_100.png\"\n  }, \n  \"26079\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_red_satin_000_100_010.png\"\n  }, \n  \"26080\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_red_satin_000_100_100.png\"\n  }, \n  \"26081\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_redorange_satin_000_100_100.png\"\n  }, \n  \"26082\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_rosered_satin_000_080_100.png\"\n  }, \n  \"26083\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_royal_satin_000_060_100.png\"\n  }, \n  \"26084\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_royal_satin_000_100_010.png\"\n  }, \n  \"26085\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_turmeric_satin_000_100_100.png\"\n  }, \n  \"26086\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_violet_satin_000_060_100.png\"\n  }, \n  \"26087\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_brass_rough_013_051_089.png\"\n  }, \n  \"26088\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_azure_gloss_000_100_100.png\"\n  }, \n  \"26089\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_berry_gloss_000_100_100.png\"\n  }, \n  \"26090\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_blue_gloss_000_080_100.png\"\n  }, \n  \"26091\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_blue_gloss_000_100_001.png\"\n  }, \n  \"26092\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_blue_gloss_000_100_050.png\"\n  }, \n  \"26093\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_bw_gloss_000_000_000.png\"\n  }, \n  \"26094\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_bw_gloss_000_000_030.png\"\n  }, \n  \"26095\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_bw_gloss_000_000_100.png\"\n  }, \n  \"26096\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_chartreuse_gloss_000_100_001.png\"\n  }, \n  \"26097\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_gloss_000_100_050.png\"\n  }, \n  \"26098\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_clover_gloss_000_100_100.png\"\n  }, \n  \"26099\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cyan_gloss_000_100_100.png\"\n  }, \n  \"26100\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_grape_gloss_000_100_010.png\"\n  }, \n  \"26101\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_grape_gloss_000_100_100.png\"\n  }, \n  \"26102\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_green_gloss_000_100_050.png\"\n  }, \n  \"26103\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_lavender_gloss_000_100_050.png\"\n  }, \n  \"26104\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_orange_gloss_000_080_100.png\"\n  }, \n  \"26105\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_orange_gloss_000_100_010.png\"\n  }, \n  \"26106\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_orange_gloss_000_100_100.png\"\n  }, \n  \"26107\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_plum_gloss_000_100_010.png\"\n  }, \n  \"26108\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_purple_gloss_000_100_050.png\"\n  }, \n  \"26109\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_red_gloss_000_080_100.png\"\n  }, \n  \"26110\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_red_gloss_000_100_010.png\"\n  }, \n  \"26111\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_red_gloss_000_100_100.png\"\n  }, \n  \"26112\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_redorange_gloss_000_100_100.png\"\n  }, \n  \"26113\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_rosered_gloss_000_080_100.png\"\n  }, \n  \"26114\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_royal_gloss_000_060_100.png\"\n  }, \n  \"26115\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_royal_gloss_000_100_010.png\"\n  }, \n  \"26116\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_turmeric_gloss_000_100_100.png\"\n  }, \n  \"26117\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_violet_gloss_000_060_100.png\"\n  }, \n  \"26118\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_bw_brushed_000_000_030.png\"\n  }, \n  \"26119\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_brushed_000_100_001.png\"\n  }, \n  \"26120\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cobalt_polished_023_004_070.png\"\n  }, \n  \"26121\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_gold_polished_012_060_094.png\"\n  }, \n  \"26122\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_lavender_brushed_000_100_050.png\"\n  }, \n  \"26123\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_pea_metallic_000_100_010.png\"\n  }, \n  \"26124\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_rosered_brushed_000_030_100.png\"\n  }, \n  \"26125\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_turquoise_polished_000_100_001.png\"\n  }, \n  \"26126\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_AngledStripe_01_128.png\"\n  }, \n  \"26127\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_Camo_01_128.png\"\n  }, \n  \"26128\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_Camo_Dazzle_02_128.png\"\n  }, \n  \"26129\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_Checker_01_128.png\"\n  }, \n  \"26130\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_Curves_01_128.png\"\n  }, \n  \"26131\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_Gradient_128.png\"\n  }, \n  \"26132\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_Gradient_Crystal_128.png\"\n  }, \n  \"26133\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_gradient_random_square_128.png\"\n  }, \n  \"26134\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_Halfcut_Stripes_14_128.png\"\n  }, \n  \"26135\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_Hex_Hex_128.png\"\n  }, \n  \"26136\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_Paint_Rough_01_128.png\"\n  }, \n  \"26137\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_rustGradient_02_128.png\"\n  }, \n  \"26138\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/patterns/cosm_Squares_01_128.png\"\n  }, \n  \"26139\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_azure_matt_000_100_010.png\"\n  }, \n  \"26140\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_azure_matt_000_100_100.png\"\n  }, \n  \"26141\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_berry_matt_000_100_100.png\"\n  }, \n  \"26142\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_blue_matt_000_080_100.png\"\n  }, \n  \"26143\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_blue_matt_000_100_001.png\"\n  }, \n  \"26144\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_blue_matt_000_100_050.png\"\n  }, \n  \"26145\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_bw_matt_000_000_000.png\"\n  }, \n  \"26146\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_bw_matt_000_000_030.png\"\n  }, \n  \"26147\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_bw_matt_000_000_100.png\"\n  }, \n  \"26148\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_chartreuse_matt_000_100_001.png\"\n  }, \n  \"26149\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_matt_000_100_050.png\"\n  }, \n  \"26150\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_clover_matt_000_100_100.png\"\n  }, \n  \"26151\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cyan_matt_000_100_100.png\"\n  }, \n  \"26152\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_grape_matt_000_100_010.png\"\n  }, \n  \"26153\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_grape_matt_000_100_100.png\"\n  }, \n  \"26154\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_green_matt_000_100_050.png\"\n  }, \n  \"26155\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_lavender_matt_000_100_050.png\"\n  }, \n  \"26156\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_orange_matt_000_080_100.png\"\n  }, \n  \"26157\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_orange_matt_000_100_010.png\"\n  }, \n  \"26158\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_orange_matt_000_100_100.png\"\n  }, \n  \"26159\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_plum_matt_000_100_010.png\"\n  }, \n  \"26160\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_purple_matt_000_100_050.png\"\n  }, \n  \"26161\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_red_matt_000_080_100.png\"\n  }, \n  \"26162\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_red_matt_000_100_010.png\"\n  }, \n  \"26163\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_red_matt_000_100_100.png\"\n  }, \n  \"26164\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_redorange_matt_000_100_100.png\"\n  }, \n  \"26165\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_rosered_matt_000_080_100.png\"\n  }, \n  \"26166\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_royal_matt_000_060_100.png\"\n  }, \n  \"26167\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_royal_matt_000_100_010.png\"\n  }, \n  \"26168\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_turmeric_matt_000_100_100.png\"\n  }, \n  \"26169\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_violet_matt_000_060_100.png\"\n  }, \n  \"26170\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_azure_satin_000_100_010.png\"\n  }, \n  \"26171\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_azure_satin_000_100_100.png\"\n  }, \n  \"26172\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_berry_satin_000_100_100.png\"\n  }, \n  \"26173\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_blue_satin_000_080_100.png\"\n  }, \n  \"26174\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_blue_satin_000_100_001.png\"\n  }, \n  \"26175\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_blue_satin_000_100_050.png\"\n  }, \n  \"26176\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_bw_satin_000_000_000.png\"\n  }, \n  \"26177\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_bw_satin_000_000_030.png\"\n  }, \n  \"26178\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_bw_satin_000_000_100.png\"\n  }, \n  \"26179\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_chartreuse_satin_000_100_001.png\"\n  }, \n  \"26180\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_satin_000_100_050.png\"\n  }, \n  \"26181\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_clover_satin_000_100_100.png\"\n  }, \n  \"26182\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cyan_satin_000_100_100.png\"\n  }, \n  \"26183\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_grape_satin_000_100_010.png\"\n  }, \n  \"26184\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_azure_gloss_000_100_010.png\"\n  }, \n  \"26200\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/CareerPortal/loot_crate64_air.png\"\n  }, \n  \"26201\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_royalpurple_gloss_072_061_065.png\"\n  }, \n  \"26202\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_royalpurple_matt_072_061_065.png\"\n  }, \n  \"26203\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_royalpurple_satin_072_061_065.png\"\n  }, \n  \"26207\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_emerald_matt_000_060_100.png\"\n  }, \n  \"26208\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_redorange_matt_000_100_050.png\"\n  }, \n  \"26209\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_emerald_metallic_000_100_001.png\"\n  }, \n  \"26210\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/race_gallente_02a_128.png\"\n  }, \n  \"26211\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/race_gallente_01a_128.png\"\n  }, \n  \"26215\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_satin_000_100_010.png\"\n  }, \n  \"26216\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_satin_000_030_100.png\"\n  }, \n  \"26217\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_metallic_000_100_010.png\"\n  }, \n  \"26218\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_metallic_000_100_010.png\"\n  }, \n  \"26219\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_metallic_000_100_010.png\"\n  }, \n  \"26220\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_metallic_000_100_010.png\"\n  }, \n  \"26221\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_metallic_000_100_010.png\"\n  }, \n  \"26222\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_metallic_000_100_010.png\"\n  }, \n  \"26223\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_metallic_000_100_010.png\"\n  }, \n  \"26224\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/component_items/materials/cosm_cherryred_metallic_000_100_010.png\"\n  }, \n  \"26229\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_brushed_000_080_100.png\"\n  }, \n  \"26230\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_rough_000_100_050.png\"\n  }, \n  \"26231\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_satin_000_060_100.png\"\n  }, \n  \"26232\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/Pattern_Min_Lvl1_01a_128.png\"\n  }, \n  \"26233\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_rosered_matt_000_100_010.png\"\n  }, \n  \"26234\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_satin_000_030_100.png\"\n  }, \n  \"26235\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_metallic_000_100_010.png\"\n  }, \n  \"26236\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/Pattern_Ama_Lvl1_01a_128.png\"\n  }, \n  \"26237\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turmeric_metallic_000_080_100.png\"\n  }, \n  \"26238\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turmeric_gloss_000_080_100.png\"\n  }, \n  \"26239\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turmeric_gloss_000_100_001.png\"\n  }, \n  \"26240\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/Pattern_Cal_Lvl1_01a_128.png\"\n  }, \n  \"26241\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_polished_000_060_100.png\"\n  }, \n  \"26243\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_gloss_000_030_100.png\"\n  }, \n  \"26244\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_matt_000_100_100.png\"\n  }, \n  \"26245\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_gloss_000_100_001.png\"\n  }, \n  \"26246\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/Pattern_Min_Lvl1_02a_128.png\"\n  }, \n  \"26255\": {\n    \"iconFile\": \"res:/ui/texture/icons/130_SES1_64.png\"\n  }, \n  \"26256\": {\n    \"iconFile\": \"res:/ui/texture/icons/130_SES3_64.png\"\n  }, \n  \"26257\": {\n    \"iconFile\": \"res:/ui/texture/icons/130_SES2_64.png\"\n  }, \n  \"26266\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Abyssal_Salvage_Crate_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26274\": {\n    \"iconFile\": \"res:/UI/Texture/Classes/HelpPointer/agencyCardFlat.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26275\": {\n    \"iconFile\": \"res:/UI/Texture/Classes/HelpPointer/buttonFlat.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26276\": {\n    \"iconFile\": \"res:/UI/Texture/Classes/HelpPointer/genericCardFlat.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26277\": {\n    \"iconFile\": \"res:/UI/Texture/Classes/HelpPointer/skillCardFlat.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26278\": {\n    \"iconFile\": \"res:/UI/Texture/Classes/HelpPointer/tabFlat.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26279\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_gloss_000_100_010.png\"\n  }, \n  \"26280\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_matt_000_100_010.png\"\n  }, \n  \"26281\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_red_gloss_000_100_050.png\"\n  }, \n  \"26282\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_satin_000_100_001.png\"\n  }, \n  \"26283\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_red_satin_000_100_050.png\"\n  }, \n  \"26284\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_satin_000_100_100.png\"\n  }, \n  \"26285\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_vibrant_bright_matt_21_79_80.png\"\n  }, \n  \"26286\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_pea_gloss_000_100_100.png\"\n  }, \n  \"26287\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_pale_bright_matt_177_12_65.png\"\n  }, \n  \"26288\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_red_vibrant_bright_satin_14_94_100.png\"\n  }, \n  \"26289\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/scatter_flat_01_128.png\"\n  }, \n  \"26290\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/blood_skull_01_128.png\"\n  }, \n  \"26291\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_bw_metallic_000_000_010.png\"\n  }, \n  \"26292\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_lavender_metallic_000_100_001.png\"\n  }, \n  \"26293\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_violet_metallic_000_100_010.png\"\n  }, \n  \"26298\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_ASES_Line_02_128.png\"\n  }, \n  \"26299\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_ASES_Square_128.png\"\n  }, \n  \"26300\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Camo_Dazzle_01_2K_128.png\"\n  }, \n  \"26301\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Camo_NOH_128.png\"\n  }, \n  \"26302\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Ch19_countdown_arrows_128.png\"\n  }, \n  \"26303\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Checker_02_128.png\"\n  }, \n  \"26304\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Circles_Stripes_04_128.png\"\n  }, \n  \"26305\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Cross_05_128.png\"\n  }, \n  \"26306\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Diamond_Lines_128.png\"\n  }, \n  \"26307\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Gradient_04_128.png\"\n  }, \n  \"26308\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Gradient_Crystal_128.png\"\n  }, \n  \"26309\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Gradient_Hex_01_128.png\"\n  }, \n  \"26310\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_tile_hexagon_01_128.png\"\n  }, \n  \"26311\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Gradient_Hex_03_128.png\"\n  }, \n  \"26312\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_tile_hexagon_02_128.png\"\n  }, \n  \"26313\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_gradient_hexagon_128.png\"\n  }, \n  \"26314\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_gradient_circle_01_128.png\"\n  }, \n  \"26315\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Gradient_Spheres_03_128.png\"\n  }, \n  \"26316\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Gradient_Star_01_128.png\"\n  }, \n  \"26317\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Halfcut_Asteroids_01_128.png\"\n  }, \n  \"26318\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Halfcut_Stripes_01_128.png\"\n  }, \n  \"26319\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Halfcut_Stripes_03_128.png\"\n  }, \n  \"26320\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Halfcut_Stripes_05_128.png\"\n  }, \n  \"26321\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Halfcut_Stripes_12_128.png\"\n  }, \n  \"26322\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Halfcut_Stripes_27_128.png\"\n  }, \n  \"26323\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Halfcut_Stripes_32_128.png\"\n  }, \n  \"26324\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Halfcut_Stripes_34_128.png\"\n  }, \n  \"26325\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Halfcut_Stripes_36_128.png\"\n  }, \n  \"26326\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Halfcut_Stripes_37_128.png\"\n  }, \n  \"26327\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_hexagon_01_128.png\"\n  }, \n  \"26329\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_hexagon_02_128.png\"\n  }, \n  \"26330\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_tile_hexagon_03_128.png\"\n  }, \n  \"26331\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Hexes_Stripe_01_128.png\"\n  }, \n  \"26332\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_petal_pattern_01_128.png\"\n  }, \n  \"26333\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Pinstripe_01_128.png\"\n  }, \n  \"26334\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_random_hardedges_05_128.png\"\n  }, \n  \"26335\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_random_hardedgeshape_04_128.png\"\n  }, \n  \"26336\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Snowfall_01_128.png\"\n  }, \n  \"26337\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_SOE_unity_02_128.png\"\n  }, \n  \"26338\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Stripe_04_128.png\"\n  }, \n  \"26339\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Stripe_Double_09_128.png\"\n  }, \n  \"26340\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Stripe_union_day_02_128.png\"\n  }, \n  \"26341\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_tiger_01_128.png\"\n  }, \n  \"26342\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_element_wing_01_128.png\"\n  }, \n  \"26343\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_Wedge_05_128.png\"\n  }, \n  \"26344\": {\n    \"iconFile\": \"res:/ui/texture/icons/35_64_7.png\"\n  }, \n  \"26345\": {\n    \"iconFile\": \"res:/ui/texture/icons/8_64_16.png\"\n  }, \n  \"26346\": {\n    \"iconFile\": \"res:/ui/texture/icons/25_64_15.png\"\n  }, \n  \"26351\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_redorange_gloss_000_100_050.png\"\n  }, \n  \"26352\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_bw_satin_000_000_010.png\"\n  }, \n  \"26353\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_yellow_matt_000_100_100.png\"\n  }, \n  \"26354\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_metallic_000_100_001.png\"\n  }, \n  \"26355\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/scatter_depth_01_128.png\"\n  }, \n  \"26356\": {\n    \"iconFile\": \"res:/ui/texture/icons/131_atavum_1_64.png\"\n  }, \n  \"26357\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_matt_000_100_001.png\"\n  }, \n  \"26358\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_safetyorange_matt_000_060_100.png\"\n  }, \n  \"26359\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_purple_metallic_000_100_010.png\"\n  }, \n  \"26360\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_gradient_tickets_01_128.png\"\n  }, \n  \"26371\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/132_infomorph_64.png\"\n  }, \n  \"26372\": {\n    \"iconFile\": \"res:/ui/texture/icons/breacher_pod_small_64.png\"\n  }, \n  \"26373\": {\n    \"iconFile\": \"res:/ui/texture/icons/breacher_pod_medium_64.png\"\n  }, \n  \"26374\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_gloss_000_100_100.png\"\n  }, \n  \"26375\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_bw_pale_dark_satin_0_0_5.png\"\n  }, \n  \"26376\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_gloss_000_080_100.png\"\n  }, \n  \"26377\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_blue_metallic_000_100_010.png\"\n  }, \n  \"26378\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_eclipse_01_128.png\"\n  }, \n  \"26380\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_blue_matt_000_030_100.png\"\n  }, \n  \"26381\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_blue_matt_000_100_010.png\"\n  }, \n  \"26382\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_blue_matt_000_100_100.png\"\n  }, \n  \"26383\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_blue_satin_000_060_100.png\"\n  }, \n  \"26384\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_blue_satin_000_100_010.png\"\n  }, \n  \"26385\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_blue_satin_000_100_100.png\"\n  }, \n  \"26386\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_blue_gloss_000_030_100.png\"\n  }, \n  \"26387\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_blue_gloss_000_060_100.png\"\n  }, \n  \"26388\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_gloss_000_100_100.png\"\n  }, \n  \"26389\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_gloss_000_080_100.png\"\n  }, \n  \"26390\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_metallic_000_100_010.png\"\n  }, \n  \"26391\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_malachite_metallic_000_080_100.png\"\n  }, \n  \"26392\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_metallic_000_060_100.png\"\n  }, \n  \"26393\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/Pattern_WN2024_02_128.png\"\n  }, \n  \"26394\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/Pattern_WN2024_03_128.png\"\n  }, \n  \"26395\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/breacher_launcher_S_64.png\"\n  }, \n  \"26396\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/breacher_launcher_M_64.png\"\n  }, \n  \"26397\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_blue_gloss_000_100_100.png\"\n  }, \n  \"26398\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_pale_bright_satin_177_12_65.png\"\n  }, \n  \"26399\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_red_metallic_000_100_050.png\"\n  }, \n  \"26400\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_lavender_matt_000_080_100.png\"\n  }, \n  \"26401\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/Pattern_WN2024_01_128.png\"\n  }, \n  \"26402\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_red_vibrant_bright_satin_0_95_80.png\"\n  }, \n  \"26403\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_satin_000_100_001.png\"\n  }, \n  \"26404\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_redorange_metallic_000_100_100.png\"\n  }, \n  \"26406\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_moneyfriday_01_128.png\"\n  }, \n  \"26409\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/BluePill_64.png\"\n  }, \n  \"26410\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/BluePill_64_1.png\"\n  }, \n  \"26411\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/BluePill_64_2.png\"\n  }, \n  \"26412\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/BluePill_64_3.png\"\n  }, \n  \"26413\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/BluePill_64_4.png\"\n  }, \n  \"26414\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Crash_64.png\"\n  }, \n  \"26415\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Crash_64_1.png\"\n  }, \n  \"26416\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Crash_64_2.png\"\n  }, \n  \"26417\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Crash_64_3.png\"\n  }, \n  \"26418\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Crash_64_4.png\"\n  }, \n  \"26419\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Drop_64.png\"\n  }, \n  \"26420\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Drop_64_1.png\"\n  }, \n  \"26421\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Drop_64_2.png\"\n  }, \n  \"26422\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Drop_64_3.png\"\n  }, \n  \"26423\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Drop_64_4.png\"\n  }, \n  \"26424\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Exile_64.png\"\n  }, \n  \"26425\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Exile_64_1.png\"\n  }, \n  \"26426\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Exile_64_2.png\"\n  }, \n  \"26427\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Exile_64_3.png\"\n  }, \n  \"26428\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Exile_64_4.png\"\n  }, \n  \"26429\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Frentix_64.png\"\n  }, \n  \"26430\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Frentix_64_1.png\"\n  }, \n  \"26431\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Frentix_64_2.png\"\n  }, \n  \"26432\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Frentix_64_3.png\"\n  }, \n  \"26433\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Frentix_64_4.png\"\n  }, \n  \"26434\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Mindflood_64.png\"\n  }, \n  \"26435\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Mindflood_64_1.png\"\n  }, \n  \"26436\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Mindflood_64_2.png\"\n  }, \n  \"26437\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Mindflood_64_3.png\"\n  }, \n  \"26438\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Mindflood_64_4.png\"\n  }, \n  \"26439\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SoothSayer_64.png\"\n  }, \n  \"26440\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SoothSayer_64_1.png\"\n  }, \n  \"26441\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SoothSayer_64_2.png\"\n  }, \n  \"26442\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SoothSayer_64_3.png\"\n  }, \n  \"26443\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SoothSayer_64_4.png\"\n  }, \n  \"26444\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/X-Instinct_64.png\"\n  }, \n  \"26445\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/X-Instinct_64_1.png\"\n  }, \n  \"26446\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/X-Instinct_64_2.png\"\n  }, \n  \"26447\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/X-Instinct_64_3.png\"\n  }, \n  \"26448\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/X-Instinct_64_4.png\"\n  }, \n  \"26449\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/ShieldFluxcoil_64.png\"\n  }, \n  \"26450\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/ShieldPowerRelay_64.png\"\n  }, \n  \"26451\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/ShieldRecharger_64.png\"\n  }, \n  \"26452\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/GyroStabilizer_64.png\"\n  }, \n  \"26453\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/HeatSink_64.png\"\n  }, \n  \"26454\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/MagneticFieldStabilizer_64.png\"\n  }, \n  \"26455\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/CapacitorPowerRelay_64.png\"\n  }, \n  \"26456\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/CapactorFluxcoil_64.png\"\n  }, \n  \"26457\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/CapactorRecharger_64.png\"\n  }, \n  \"26459\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaPlasmidResidue_Armor_64.png\"\n  }, \n  \"26460\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaPlasmidResidue_Astronautic_64.png\"\n  }, \n  \"26461\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaPlasmidResidue_DamageControl_64.png\"\n  }, \n  \"26462\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaPlasmidResidue_Drone_64.png\"\n  }, \n  \"26463\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaPlasmidResidue_Engineering_64.png\"\n  }, \n  \"26464\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaPlasmidResidue_Shield_64.png\"\n  }, \n  \"26465\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaPlasmidResidue_StasisWebifier_64.png\"\n  }, \n  \"26466\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaPlasmidResidue_WarpDisruption_64.png\"\n  }, \n  \"26467\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaPlasmidResidue_WeaponUpgrade_64.png\"\n  }, \n  \"26468\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_matt_000_100_050.png\"\n  }, \n  \"26469\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_red_matt_000_100_050.png\"\n  }, \n  \"26470\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_redorange_brushed_000_100_050.png\"\n  }, \n  \"26471\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_deathless_1_128.png\"\n  }, \n  \"26472\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaplasmid_s_64.png\"\n  }, \n  \"26473\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaplasmid_m_64.png\"\n  }, \n  \"26474\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaplasmid_l_64.png\"\n  }, \n  \"26475\": {\n    \"iconFile\": \"res:/UI/Texture/MutaplasmidResidue/mutaplasmid_xl_64.png\"\n  }, \n  \"26478\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_redorange_matt_000_100_010.png\"\n  }, \n  \"26479\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_blue_metallic_000_100_050.png\"\n  }, \n  \"26483\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/dotStatusEffect.png\"\n  }, \n  \"26518\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Deathless_Crate_64.png\"\n  }, \n  \"26521\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/EntropicRadiationSink_64.png\"\n  }, \n  \"26525\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_vanguard_black.png\"\n  }, \n  \"26526\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_vanguard_red.png\"\n  }, \n  \"26527\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_vanguard_white.png\"\n  }, \n  \"26529\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/vanguard_pattern_128.png\"\n  }, \n  \"26531\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/Pattern_WN2024_04_128.png\"\n  }, \n  \"26534\": {\n    \"iconFile\": \"res:/ui/texture/icons/AgencyBoosters/BoosterAgencyDamage_64_1.png\"\n  }, \n  \"26535\": {\n    \"iconFile\": \"res:/ui/texture/icons/AgencyBoosters/BoosterAgencyDamage_64_2.png\"\n  }, \n  \"26536\": {\n    \"iconFile\": \"res:/ui/texture/icons/AgencyBoosters/BoosterAgencyDamage_64_3.png\"\n  }, \n  \"26537\": {\n    \"iconFile\": \"res:/ui/texture/icons/AgencyBoosters/BoosterAgencyDamage_64_4.png\"\n  }, \n  \"26538\": {\n    \"iconFile\": \"res:/ui/texture/icons/AgencyBoosters/BoosterAgencySpeed_64_1.png\"\n  }, \n  \"26539\": {\n    \"iconFile\": \"res:/ui/texture/icons/AgencyBoosters/BoosterAgencySpeed_64_2.png\"\n  }, \n  \"26540\": {\n    \"iconFile\": \"res:/ui/texture/icons/AgencyBoosters/BoosterAgencySpeed_64_3.png\"\n  }, \n  \"26541\": {\n    \"iconFile\": \"res:/ui/texture/icons/AgencyBoosters/BoosterAgencySpeed_64_4.png\"\n  }, \n  \"26542\": {\n    \"iconFile\": \"res:/ui/texture/icons/AgencyBoosters/BoosterAgencyTank_64_1.png\"\n  }, \n  \"26543\": {\n    \"iconFile\": \"res:/ui/texture/icons/AgencyBoosters/BoosterAgencyTank_64_2.png\"\n  }, \n  \"26544\": {\n    \"iconFile\": \"res:/ui/texture/icons/AgencyBoosters/BoosterAgencyTank_64_3.png\"\n  }, \n  \"26545\": {\n    \"iconFile\": \"res:/ui/texture/icons/AgencyBoosters/BoosterAgencyTank_64_4.png\"\n  }, \n  \"26546\": {\n    \"iconFile\": \"res:/ui/texture/icons/PowerDiagnosticSystem_64.png\"\n  }, \n  \"26547\": {\n    \"iconFile\": \"res:/ui/texture/icons/ReactorControlUnit_64.png\"\n  }, \n  \"26548\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/BluePill_64_1.png\"\n  }, \n  \"26549\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/BluePill_64_2.png\"\n  }, \n  \"26550\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/BluePill_64_3.png\"\n  }, \n  \"26551\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/BluePill_64_4.png\"\n  }, \n  \"26552\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Frentix_64_1.png\"\n  }, \n  \"26553\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Frentix_64_2.png\"\n  }, \n  \"26554\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Frentix_64_3.png\"\n  }, \n  \"26555\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Frentix_64_4.png\"\n  }, \n  \"26556\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Mindflood_64_1.png\"\n  }, \n  \"26557\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Mindflood_64_2.png\"\n  }, \n  \"26558\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Mindflood_64_3.png\"\n  }, \n  \"26559\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Mindflood_64_4.png\"\n  }, \n  \"26584\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Drifter_loot_crate64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26585\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_green_satin_000_100_100.png\"\n  }, \n  \"26586\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_blue_metallic_000_100_001.png\"\n  }, \n  \"26587\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_snakescales_01_128.png\"\n  }, \n  \"26589\": {\n    \"iconFile\": \"res:/ui/texture/icons/spectral_vision_capture.png\"\n  }, \n  \"26597\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/87572_Female_Outer_CostumeJF01_Types_CostumeJF01_Drifter.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26598\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/87573_Male_outer_CostumeJM01_Types_CostumeJM01_Drifter.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26604\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Crash_64_1.png\"\n  }, \n  \"26605\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Crash_64_2.png\"\n  }, \n  \"26606\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Crash_64_3.png\"\n  }, \n  \"26607\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Crash_64_4.png\"\n  }, \n  \"26608\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Drop_64_1.png\"\n  }, \n  \"26609\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Drop_64_2.png\"\n  }, \n  \"26610\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Drop_64_3.png\"\n  }, \n  \"26611\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Drop_64_4.png\"\n  }, \n  \"26612\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Exile_64_1.png\"\n  }, \n  \"26613\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Exile_64_2.png\"\n  }, \n  \"26614\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Exile_64_3.png\"\n  }, \n  \"26615\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/Exile_64_4.png\"\n  }, \n  \"26616\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/SoothSayer_64_1.png\"\n  }, \n  \"26617\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/SoothSayer_64_2.png\"\n  }, \n  \"26618\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/SoothSayer_64_3.png\"\n  }, \n  \"26619\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/SoothSayer_64_4.png\"\n  }, \n  \"26620\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/X-Instinct_64_1.png\"\n  }, \n  \"26621\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/X-Instinct_64_2.png\"\n  }, \n  \"26622\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/X-Instinct_64_3.png\"\n  }, \n  \"26623\": {\n    \"iconFile\": \"res:/ui/texture/icons/boosters/X-Instinct_64_4.png\"\n  }, \n  \"26631\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_matt_000_100_010.png\"\n  }, \n  \"26632\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_matt_000_100_001.png\"\n  }, \n  \"26633\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_satin_000_100_001.png\"\n  }, \n  \"26634\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_emerald_satin_000_060_100.png\"\n  }, \n  \"26635\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_gloss_000_060_100.png\"\n  }, \n  \"26636\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_matt_000_060_100.png\"\n  }, \n  \"26637\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_matt_000_080_100.png\"\n  }, \n  \"26638\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_satin_000_100_010.png\"\n  }, \n  \"26639\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_satin_000_080_100.png\"\n  }, \n  \"26640\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_gloss_000_060_100.png\"\n  }, \n  \"26641\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_emerald_polished_000_080_100.png\"\n  }, \n  \"26642\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_polished_000_030_100.png\"\n  }, \n  \"26643\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_polished_000_080_100.png\"\n  }, \n  \"26644\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_drifter_geo_t3_03_128.png\"\n  }, \n  \"26645\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_drifter_geo_t3_01_128.png\"\n  }, \n  \"26646\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_drifter_geo_t3_02_128.png\"\n  }, \n  \"26672\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_drifter_dark_blue.png\"\n  }, \n  \"26673\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_drifter_dark_blue_metallic.png\"\n  }, \n  \"26674\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_drifter_dark_green.png\"\n  }, \n  \"26675\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_drifter_dark_green_metallic.png\"\n  }, \n  \"26676\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_drifter_mint.png\"\n  }, \n  \"26677\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_drifter_mint_metallic.png\"\n  }, \n  \"26678\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_drifter_white.png\"\n  }, \n  \"26679\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_drifter_white_metallic.png\"\n  }, \n  \"26680\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_circletwirl_t1_04_128.png\"\n  }, \n  \"26681\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_drifter_geo_t1_03_128.png\"\n  }, \n  \"26682\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_drifter_geo_t3_04_128.png\"\n  }, \n  \"26683\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_drifter_spikes_t1_01_128.png\"\n  }, \n  \"26684\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/linkedToTrace.png\"\n  }, \n  \"26707\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_yellow_satin_000_100_100.png\"\n  }, \n  \"26708\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_matt_000_100_050.png\"\n  }, \n  \"26709\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_coincamo_t2_01_128.png\"\n  }, \n  \"26710\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_pea_satin_000_080_100.png\"\n  }, \n  \"26711\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_guristas_camo_t1_01_128.png\"\n  }, \n  \"26712\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_safetyorange_gloss_000_100_100.png\"\n  }, \n  \"26713\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_safetyorange_satin_000_060_100.png\"\n  }, \n  \"26714\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_metallic_000_030_100.png\"\n  }, \n  \"26715\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_XXII_t1_01_128.png\"\n  }, \n  \"26716\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_satin_000_100_050.png\"\n  }, \n  \"26717\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_satin_000_100_100.png\"\n  }, \n  \"26718\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_green_gloss_000_080_100.png\"\n  }, \n  \"26719\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_malachite_polished_000_060_100.png\"\n  }, \n  \"26720\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_drifter_geo_t2_01_128.png\"\n  }, \n  \"26721\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/AutoTargetingSystem_64.png\"\n  }, \n  \"26722\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/NetworkedSensorArray_64.png\"\n  }, \n  \"26723\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/PassiveTargetingArray_64.png\"\n  }, \n  \"26724\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/PassiveTargetingSystem_64.png\"\n  }, \n  \"26725\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/RemoteSensorBooster_64.png\"\n  }, \n  \"26726\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/SensorBooster_64.png\"\n  }, \n  \"26727\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/SignalAmplifier_64.png\"\n  }, \n  \"26729\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/MajorThreatDetectionArray_I.png\"\n  }, \n  \"26730\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/MajorThreatDetectionArray_II.png\"\n  }, \n  \"26731\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/MajorThreatDetectionArray_III.png\"\n  }, \n  \"26732\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/MinorThreatDetectionArray_I.png\"\n  }, \n  \"26733\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/MinorThreatDetectionArray_II.png\"\n  }, \n  \"26734\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/MinorThreatDetectionArray_III.png\"\n  }, \n  \"26735\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Tritanium_I.png\"\n  }, \n  \"26736\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Tritanium_II.png\"\n  }, \n  \"26737\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Tritanium_III.png\"\n  }, \n  \"26738\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Pyerite_I.png\"\n  }, \n  \"26739\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Pyerite_II.png\"\n  }, \n  \"26740\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Pyerite_III.png\"\n  }, \n  \"26741\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Mexallon_I.png\"\n  }, \n  \"26742\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Mexallon_II.png\"\n  }, \n  \"26743\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Mexallon_III.png\"\n  }, \n  \"26744\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Isogen_I.png\"\n  }, \n  \"26745\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Isogen_II.png\"\n  }, \n  \"26746\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Isogen_III.png\"\n  }, \n  \"26747\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Nocxium_I.png\"\n  }, \n  \"26748\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Nocxium_II.png\"\n  }, \n  \"26749\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Nocxium_III.png\"\n  }, \n  \"26750\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Zydrine_I.png\"\n  }, \n  \"26751\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Zydrine_II.png\"\n  }, \n  \"26752\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Zydrine_III.png\"\n  }, \n  \"26753\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Megacyte_I.png\"\n  }, \n  \"26754\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Megacyte_II.png\"\n  }, \n  \"26755\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Upgrade_Megacyte_III.png\"\n  }, \n  \"26757\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Exploration_Upgrade_I.png\"\n  }, \n  \"26758\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Exploration_Upgrade_II.png\"\n  }, \n  \"26759\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Exploration_Upgrade_III.png\"\n  }, \n  \"26775\": {\n    \"iconFile\": \"res:/ui/texture/icons/PowerGeneration_Upgrade.png\"\n  }, \n  \"26776\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/WorkforceGeneration_Upgrade.png\"\n  }, \n  \"26777\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Gamma_SystemWideModifier_Upgrade.png\"\n  }, \n  \"26778\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Plasma_SystemWideModifier_Upgrade.png\"\n  }, \n  \"26779\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Electric_SystemWideModifier_Upgrade.png\"\n  }, \n  \"26780\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Exotic_SystemWideModifier_Upgrade.png\"\n  }, \n  \"26781\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/SensorBooster_Script01_64.png\"\n  }, \n  \"26782\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/SensorBooster_Script02_64.png\"\n  }, \n  \"26783\": {\n    \"iconFile\": \"res:/ui/texture/icons/modules/SensorBooster_Script03_64.png\"\n  }, \n  \"26784\": {\n    \"iconFile\": \"res:/ui/texture/icons/Tyranite_E_Mineral_64.png\"\n  }, \n  \"26785\": {\n    \"iconFile\": \"res:/ui/texture/icons/Tyranite_Ore_64.png\"\n  }, \n  \"26788\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/SovHubUpgrades/Workforce_Conversion_Upgrade_I.png\"\n  }, \n  \"26789\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/SovHubUpgrades/Workforce_Conversion_Upgrade_II.png\"\n  }, \n  \"26790\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/SovHubUpgrades/Workforce_Conversion_Upgrade_III.png\"\n  }, \n  \"26791\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/SovHubUpgrades/Power_Conversion_Upgrade_I.png\"\n  }, \n  \"26792\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/SovHubUpgrades/Power_Conversion_Upgrade_II.png\"\n  }, \n  \"26793\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/SovHubUpgrades/Power_Conversion_Upgrade_III.png\"\n  }, \n  \"26796\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/88186_Male_outer_AugmentationSuitM01_Types_AugmentationSuitM01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26797\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/88187_Female_Outer_AugmentationSuitF01_Types_AugmentationSuitF01_Black.png\", \n    \"iconType\": \"png\"\n  }, \n  \"26798\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/Drifter_Filament_64.png\"\n  }, \n  \"26799\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/expert_system_64.png\"\n  }, \n  \"26801\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_satin_000_100_050.png\"\n  }, \n  \"26802\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_satin_000_100_050.png\"\n  }, \n  \"26808\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_metallic_000_100_010.png\"\n  }, \n  \"26809\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_metallic_000_100_010.png\"\n  }, \n  \"26819\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_01_128.png\"\n  }, \n  \"26820\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_01_128.png\"\n  }, \n  \"26821\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_lines_gradient_01_128.png\"\n  }, \n  \"26822\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_lines_gradient_01_128.png\"\n  }, \n  \"26823\": {\n    \"iconFile\": \"res:/ui/texture/icons/Inventory/SovHubUpgrades/Triglavian_Scanner_Upgrade.png\"\n  }, \n  \"26824\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_gloss_000_100_050.png\"\n  }, \n  \"26825\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_gloss_000_100_050.png\"\n  }, \n  \"26826\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_satin_000_100_050.png\"\n  }, \n  \"26827\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_satin_000_100_050.png\"\n  }, \n  \"26828\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_gloss_000_100_050.png\"\n  }, \n  \"26829\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_gloss_000_100_050.png\"\n  }, \n  \"26830\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_gloss_000_100_100.png\"\n  }, \n  \"26831\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_gloss_000_100_100.png\"\n  }, \n  \"26832\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_satin_000_100_100.png\"\n  }, \n  \"26833\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_satin_000_100_100.png\"\n  }, \n  \"26834\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_matt_000_100_100.png\"\n  }, \n  \"26835\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_matt_000_100_100.png\"\n  }, \n  \"26836\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_matt_000_060_100.png\"\n  }, \n  \"26837\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_matt_000_060_100.png\"\n  }, \n  \"26838\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_chartreuse_gloss_000_100_100.png\"\n  }, \n  \"26839\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_chartreuse_gloss_000_100_100.png\"\n  }, \n  \"26840\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_chartreuse_satin_000_100_100.png\"\n  }, \n  \"26841\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_chartreuse_satin_000_100_100.png\"\n  }, \n  \"26842\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_chartreuse_highgloss_000_100_100.png\"\n  }, \n  \"26843\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_chartreuse_highgloss_000_100_100.png\"\n  }, \n  \"26844\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_pea_gloss_000_100_050.png\"\n  }, \n  \"26845\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_pea_gloss_000_100_050.png\"\n  }, \n  \"26846\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_chartreuse_gloss_000_080_100.png\"\n  }, \n  \"26847\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_chartreuse_gloss_000_080_100.png\"\n  }, \n  \"26848\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_green_gloss_000_060_100.png\"\n  }, \n  \"26849\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_green_gloss_000_060_100.png\"\n  }, \n  \"26850\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_matt_000_030_100.png\"\n  }, \n  \"26851\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_matt_000_030_100.png\"\n  }, \n  \"26852\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_satin_000_060_100.png\"\n  }, \n  \"26853\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_satin_000_060_100.png\"\n  }, \n  \"26854\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_satin_000_030_100.png\"\n  }, \n  \"26855\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_satin_000_030_100.png\"\n  }, \n  \"26856\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_satin_000_030_100.png\"\n  }, \n  \"26857\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_satin_000_030_100.png\"\n  }, \n  \"26858\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_satin_000_080_100.png\"\n  }, \n  \"26859\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_satin_000_080_100.png\"\n  }, \n  \"26860\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_satin_000_060_100.png\"\n  }, \n  \"26861\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_satin_000_060_100.png\"\n  }, \n  \"26862\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_bw_satin_000_000_050.png\"\n  }, \n  \"26863\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_bw_satin_000_000_050.png\"\n  }, \n  \"26864\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_bw_matt_000_000_010.png\"\n  }, \n  \"26865\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_bw_matt_000_000_010.png\"\n  }, \n  \"26866\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_grape_matt_000_080_100.png\"\n  }, \n  \"26867\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_grape_matt_000_080_100.png\"\n  }, \n  \"26868\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_malachite_matt_000_100_010.png\"\n  }, \n  \"26869\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_malachite_matt_000_100_010.png\"\n  }, \n  \"26870\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_matt_000_080_100.png\"\n  }, \n  \"26871\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_matt_000_080_100.png\"\n  }, \n  \"26872\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_gloss_000_100_050.png\"\n  }, \n  \"26873\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_gloss_000_100_050.png\"\n  }, \n  \"26874\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_berry_gloss_000_100_010.png\"\n  }, \n  \"26875\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_berry_gloss_000_100_010.png\"\n  }, \n  \"26876\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_rosered_gloss_000_100_010.png\"\n  }, \n  \"26877\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_rosered_gloss_000_100_010.png\"\n  }, \n  \"26878\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_gloss_000_100_010.png\"\n  }, \n  \"26879\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_gloss_000_100_010.png\"\n  }, \n  \"26880\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_emerald_gloss_000_100_050.png\"\n  }, \n  \"26881\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_emerald_gloss_000_100_050.png\"\n  }, \n  \"26882\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_metallic_000_100_001.png\"\n  }, \n  \"26883\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_metallic_000_100_001.png\"\n  }, \n  \"26884\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_green_metallic_000_100_001.png\"\n  }, \n  \"26885\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_green_metallic_000_100_001.png\"\n  }, \n  \"26886\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_metallic_000_100_010.png\"\n  }, \n  \"26887\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_metallic_000_100_010.png\"\n  }, \n  \"26888\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_chartreuse_metallic_000_100_010.png\"\n  }, \n  \"26889\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_chartreuse_metallic_000_100_010.png\"\n  }, \n  \"26890\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_green_metallic_000_100_010.png\"\n  }, \n  \"26891\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_green_metallic_000_100_010.png\"\n  }, \n  \"26892\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_metallic_000_100_010.png\"\n  }, \n  \"26893\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_metallic_000_100_010.png\"\n  }, \n  \"26894\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_malachite_metallic_000_100_010.png\"\n  }, \n  \"26895\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_malachite_metallic_000_100_010.png\"\n  }, \n  \"26896\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_grape_metallic_000_100_010.png\"\n  }, \n  \"26897\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_grape_metallic_000_100_010.png\"\n  }, \n  \"26898\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_brushed_000_100_050.png\"\n  }, \n  \"26899\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_brushed_000_100_050.png\"\n  }, \n  \"26900\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_rough_000_100_050.png\"\n  }, \n  \"26901\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_rough_000_100_050.png\"\n  }, \n  \"26902\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_brushed_000_100_050.png\"\n  }, \n  \"26903\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_brushed_000_100_050.png\"\n  }, \n  \"26904\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_brushed_000_100_100.png\"\n  }, \n  \"26905\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_brushed_000_100_100.png\"\n  }, \n  \"26906\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_rough_000_060_100.png\"\n  }, \n  \"26907\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_rough_000_060_100.png\"\n  }, \n  \"26908\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_rough_000_100_010.png\"\n  }, \n  \"26909\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_rough_000_100_010.png\"\n  }, \n  \"26910\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_brushed_000_100_001.png\"\n  }, \n  \"26911\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_brushed_000_100_001.png\"\n  }, \n  \"26912\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_pea_rough_000_100_100.png\"\n  }, \n  \"26913\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_pea_rough_000_100_100.png\"\n  }, \n  \"26914\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_pea_brushed_000_080_100.png\"\n  }, \n  \"26915\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_pea_brushed_000_080_100.png\"\n  }, \n  \"26916\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_chartreuse_rough_000_080_100.png\"\n  }, \n  \"26917\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_chartreuse_rough_000_080_100.png\"\n  }, \n  \"26918\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_green_brushed_000_100_001.png\"\n  }, \n  \"26919\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_green_brushed_000_100_001.png\"\n  }, \n  \"26920\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_green_polished_000_100_001.png\"\n  }, \n  \"26921\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_green_polished_000_100_001.png\"\n  }, \n  \"26922\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_brushed_000_100_001.png\"\n  }, \n  \"26923\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_brushed_000_100_001.png\"\n  }, \n  \"26924\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_rough_000_030_100.png\"\n  }, \n  \"26925\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_rough_000_030_100.png\"\n  }, \n  \"26926\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_rough_000_100_050.png\"\n  }, \n  \"26927\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_rough_000_100_050.png\"\n  }, \n  \"26928\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_04_128.png\"\n  }, \n  \"26929\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_04_128.png\"\n  }, \n  \"26930\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_02_128.png\"\n  }, \n  \"26931\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_02_128.png\"\n  }, \n  \"26932\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_03_128.png\"\n  }, \n  \"26933\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_03_128.png\"\n  }, \n  \"26934\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_15_128.png\"\n  }, \n  \"26935\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_15_128.png\"\n  }, \n  \"26936\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_05_128.png\"\n  }, \n  \"26937\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_05_128.png\"\n  }, \n  \"26938\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_07_128.png\"\n  }, \n  \"26939\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_07_128.png\"\n  }, \n  \"26940\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_13_128.png\"\n  }, \n  \"26941\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_13_128.png\"\n  }, \n  \"26942\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_14_128.png\"\n  }, \n  \"26943\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_stripe_14_128.png\"\n  }, \n  \"26944\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_leaf_01_128.png\"\n  }, \n  \"26945\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_leaf_01_128.png\"\n  }, \n  \"26946\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_decorative_01_128.png\"\n  }, \n  \"26947\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_decorative_01_128.png\"\n  }, \n  \"26948\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_arrows_01_128.png\"\n  }, \n  \"26949\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_arrows_01_128.png\"\n  }, \n  \"26950\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_arrows_02_128.png\"\n  }, \n  \"26951\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_arrows_02_128.png\"\n  }, \n  \"26952\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_tactical_01_128.png\"\n  }, \n  \"26953\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_tactical_01_128.png\"\n  }, \n  \"26954\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_circletwirl_01_128.png\"\n  }, \n  \"26955\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_circletwirl_01_128.png\"\n  }, \n  \"26956\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_twirl_01_128.png\"\n  }, \n  \"26957\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_twirl_01_128.png\"\n  }, \n  \"26958\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_camo_wave_01_128.png\"\n  }, \n  \"26959\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_camo_wave_01_128.png\"\n  }, \n  \"26960\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_lines_gradient_03_128.png\"\n  }, \n  \"26961\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_lines_gradient_03_128.png\"\n  }, \n  \"26962\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_lines_gradient_02_128.png\"\n  }, \n  \"26963\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_lines_gradient_02_128.png\"\n  }, \n  \"26964\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_gradient_hex_02_128.png\"\n  }, \n  \"26965\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_gradient_hex_02_128.png\"\n  }, \n  \"26966\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_gradient_hex_01_128.png\"\n  }, \n  \"26967\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_gradient_hex_01_128.png\"\n  }, \n  \"26968\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_gradient_square_01_128.png\"\n  }, \n  \"26969\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_gradient_square_01_128.png\"\n  }, \n  \"26970\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_lines_camo_01_128.png\"\n  }, \n  \"26971\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_lines_camo_01_128.png\"\n  }, \n  \"26972\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_art_03_128.png\"\n  }, \n  \"26973\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_art_03_128.png\"\n  }, \n  \"26974\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_art_02_128.png\"\n  }, \n  \"26975\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_art_02_128.png\"\n  }, \n  \"26976\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_Art_01_128.png\"\n  }, \n  \"26977\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_Art_01_128.png\"\n  }, \n  \"26978\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_abstract_06_128.png\"\n  }, \n  \"26979\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_abstract_06_128.png\"\n  }, \n  \"26980\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_abstract_08_128.png\"\n  }, \n  \"26981\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_abstract_08_128.png\"\n  }, \n  \"26982\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_cosm_abstract_08_128.png\"\n  }, \n  \"26983\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_metallic_000_100_010.png\"\n  }, \n  \"26984\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_metallic_000_100_010.png\"\n  }, \n  \"26985\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_metallic_000_100_001.png\"\n  }, \n  \"26986\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_metallic_000_100_001.png\"\n  }, \n  \"27043\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_highgloss_000_100_100.png\"\n  }, \n  \"27044\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_rosered_satin_000_100_100.png\"\n  }, \n  \"27045\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cheese_matt_000_100_100.png\"\n  }, \n  \"27046\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_polished_000_100_050.png\"\n  }, \n  \"27047\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_safetyorange_brushed_000_100_100.png\"\n  }, \n  \"27048\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_camo_wave_02_128.png\"\n  }, \n  \"27049\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_symbol_01A_128.png\"\n  }, \n  \"27050\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_twirl_04_128.png\"\n  }, \n  \"27051\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_highgloss_000_060_100_cs180.png\"\n  }, \n  \"27053\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_ExpeditionBase.png\"\n  }, \n  \"27054\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_ExpeditionProbeStrength.png\"\n  }, \n  \"27055\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_ExpeditionDscanRange.png\"\n  }, \n  \"27056\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_ExpeditionProbeDeviation.png\"\n  }, \n  \"27058\": {\n    \"iconFile\": \"res:/ui/texture/icons/marketicon_16px_ORE.png\"\n  }, \n  \"27059\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_tech_02_128.png\"\n  }, \n  \"27060\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_tech_02_128.png\"\n  }, \n  \"27061\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_tech_03_128.png\"\n  }, \n  \"27062\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_tech_03_128.png\"\n  }, \n  \"27063\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_tech_04_128.png\"\n  }, \n  \"27064\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_tech_04_128.png\"\n  }, \n  \"27065\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_redorange_polished_000_100_050.png\"\n  }, \n  \"27066\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_redorange_polished_000_100_050.png\"\n  }, \n  \"27067\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_brushed_000_100_010.png\"\n  }, \n  \"27068\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_brushed_000_100_010.png\"\n  }, \n  \"27069\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_redorange_brushed_000_100_100.png\"\n  }, \n  \"27070\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_redorange_brushed_000_100_100.png\"\n  }, \n  \"27072\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_rough_000_100_100.png\"\n  }, \n  \"27073\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_rough_000_100_100.png\"\n  }, \n  \"27074\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_matt_000_100_050.png\"\n  }, \n  \"27075\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_matt_000_100_050.png\"\n  }, \n  \"27076\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_matt_000_030_100.png\"\n  }, \n  \"27077\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_matt_000_030_100.png\"\n  }, \n  \"27078\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_gloss_000_030_100_cs180.png\"\n  }, \n  \"27079\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_gloss_000_030_100_cs180.png\"\n  }, \n  \"27080\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_gloss_000_100_010_cs180.png\"\n  }, \n  \"27081\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_gloss_000_100_010_cs180.png\"\n  }, \n  \"27094\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_berry_brushed_000_100_001.png\"\n  }, \n  \"27095\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_highgloss_000_100_100.png\"\n  }, \n  \"27096\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_rough_000_030_100.png\"\n  }, \n  \"27097\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_rough_000_080_100.png\"\n  }, \n  \"27098\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_satin_000_100_050_cs180.png\"\n  }, \n  \"27099\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_satin_000_100_100_cs180.png\"\n  }, \n  \"27100\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_magenta_metallic_000_030_100.png\"\n  }, \n  \"27101\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cherryred_metallic_000_100_050.png\"\n  }, \n  \"27102\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_rosered_metallic_000_100_001.png\"\n  }, \n  \"27103\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_bw_metallic_000_000_050.png\"\n  }, \n  \"27104\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_skull_t1_01_128.png\"\n  }, \n  \"27105\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_gradient_leak_01_128.png\"\n  }, \n  \"27106\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_organic_01_128.png\"\n  }, \n  \"27109\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_groovy_01_128.png\"\n  }, \n  \"27110\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_groovy_02_128.png\"\n  }, \n  \"27135\": {\n    \"iconFile\": \"res:/ui/texture/icons/88_128_3.png\", \n    \"iconType\": \"png\"\n  }, \n  \"27136\": {\n    \"iconFile\": \"res:/ui/texture/icons/88_128_4.png\", \n    \"iconType\": \"png\"\n  }, \n  \"27137\": {\n    \"iconFile\": \"res:/ui/texture/icons/88_128_2.png\", \n    \"iconType\": \"png\"\n  }, \n  \"27138\": {\n    \"iconFile\": \"res:/ui/texture/icons/88_128_1.png\", \n    \"iconType\": \"png\"\n  }, \n  \"27139\": {\n    \"iconFile\": \"res:/ui/texture/icons/Prismaticite_Ore_64.png\"\n  }, \n  \"27154\": {\n    \"iconFile\": \"res:/ui/texture/icons/Prismaticite_Ore_Compressed_64.png\"\n  }, \n  \"27155\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_metallic_000_100_100.png\"\n  }, \n  \"27156\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_metallic_000_100_100.png\"\n  }, \n  \"27157\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_purple_polished_holo_001_100_010.png\"\n  }, \n  \"27158\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_purple_polished_holo_001_100_010.png\"\n  }, \n  \"27159\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_gloss_000_100_050.png\"\n  }, \n  \"27160\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_gloss_000_100_050.png\"\n  }, \n  \"27161\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_safetyorange_gloss_000_100_050.png\"\n  }, \n  \"27162\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_safetyorange_gloss_000_100_050.png\"\n  }, \n  \"27163\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_safetyorange_matt_000_100_010.png\"\n  }, \n  \"27164\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_safetyorange_matt_000_100_010.png\"\n  }, \n  \"27165\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_red_matt_000_100_001.png\"\n  }, \n  \"27166\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_red_matt_000_100_001.png\"\n  }, \n  \"27167\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_malachite_matt_000_080_100.png\"\n  }, \n  \"27168\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_malachite_matt_000_080_100.png\"\n  }, \n  \"27169\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_gloss_000_100_050.png\"\n  }, \n  \"27170\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_gloss_000_100_050.png\"\n  }, \n  \"27171\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_bw_flat_000_000_000.png\"\n  }, \n  \"27172\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_bw_flat_000_000_000.png\"\n  }, \n  \"27173\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_gloss_000_030_100_cs180.png\"\n  }, \n  \"27174\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_gloss_000_030_100_cs180.png\"\n  }, \n  \"27175\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_gloss_000_100_010_cs180.png\"\n  }, \n  \"27176\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_gloss_000_100_010_cs180.png\"\n  }, \n  \"27177\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_rock_01_128.png\"\n  }, \n  \"27178\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_rock_01_128.png\"\n  }, \n  \"27179\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_rock_02_128.png\"\n  }, \n  \"27180\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_rock_02_128.png\"\n  }, \n  \"27181\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_rock_03_128.png\"\n  }, \n  \"27182\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_rock_03_128.png\"\n  }, \n  \"27183\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_geometric_01_128.png\"\n  }, \n  \"27184\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_geometric_01_128.png\"\n  }, \n  \"27185\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_dazzle_03_128.png\"\n  }, \n  \"27186\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_dazzle_03_128.png\"\n  }, \n  \"27187\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_rust_01_128.png\"\n  }, \n  \"27188\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_rust_01_128.png\"\n  }, \n  \"27189\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_leaf_03_128.png\"\n  }, \n  \"27190\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_leaf_03_128.png\"\n  }, \n  \"27191\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_drifter_circle_01_128.png\"\n  }, \n  \"27192\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_drifter_circle_01_128.png\"\n  }, \n  \"27193\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_abstract_01_128.png\"\n  }, \n  \"27194\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_abstract_01_128.png\"\n  }, \n  \"27195\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/StatusEffects/mining_phase_stabilizer_64.png\"\n  }, \n  \"27198\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/gas_cloud_harvester_decayed.png\"\n  }, \n  \"27199\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/gas_cloud_harvester_gravid.png\"\n  }, \n  \"27200\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/gas_cloud_harvester_unstable.png\"\n  }, \n  \"27201\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/gas_cloud_scoop_decayed.png\"\n  }, \n  \"27202\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/gas_cloud_scoop_gravid.png\"\n  }, \n  \"27203\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/gas_cloud_scoop_unstable.png\"\n  }, \n  \"27204\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/ice_harvester.png\"\n  }, \n  \"27205\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/ice_harvester_decayed.png\"\n  }, \n  \"27206\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/ice_harvester_gravid.png\"\n  }, \n  \"27207\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/ice_harvester_unstable.png\"\n  }, \n  \"27208\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/ice_mining_laser_decayed.png\"\n  }, \n  \"27209\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/ice_mining_laser_gravid.png\"\n  }, \n  \"27210\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/ice_mining_laser_unstable.png\"\n  }, \n  \"27211\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/mining.png\"\n  }, \n  \"27212\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/mining_laser_decayed.png\"\n  }, \n  \"27213\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/mining_laser_gravid.png\"\n  }, \n  \"27214\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/mining_laser_unstable.png\"\n  }, \n  \"27215\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/strip_mining_laser_decayed.png\"\n  }, \n  \"27216\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/strip_mining_laser_gravid.png\"\n  }, \n  \"27217\": {\n    \"iconFile\": \"res:/UI/Texture/MiningMutaplasmids/strip_mining_laser_unstable.png\"\n  }, \n  \"27218\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/erraticOreMiningCrystal_a_t1.png\"\n  }, \n  \"27219\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/erraticOreMiningCrystal_a_t2.png\"\n  }, \n  \"27220\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/erraticOreMiningCrystal_b_t1.png\"\n  }, \n  \"27221\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/erraticOreMiningCrystal_b_t2.png\"\n  }, \n  \"27222\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/erraticOreMiningCrystal_c_t1.png\"\n  }, \n  \"27223\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Ammo/erraticOreMiningCrystal_c_t2.png\"\n  }, \n  \"27224\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_metallic_000_080_100.png\"\n  }, \n  \"27225\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_metallic_000_080_100.png\"\n  }, \n  \"27226\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_metallic_000_080_100.png\"\n  }, \n  \"27227\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_metallic_000_080_100.png\"\n  }, \n  \"27228\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_caldari_tournament_XXI_128.png\"\n  }, \n  \"27229\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_caldari_tournament_XXI_128.png\"\n  }, \n  \"27230\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_caldari_tournament_XXI_128.png\"\n  }, \n  \"27247\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_unrefined_tritanium.png\"\n  }, \n  \"27248\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_unrefined_pyerite.png\"\n  }, \n  \"27249\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_unrefined_isogen.png\"\n  }, \n  \"27250\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_unrefined_nocxium.png\"\n  }, \n  \"27251\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_unrefined_morphite.png\"\n  }, \n  \"27252\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_unrefined_mexallon.png\"\n  }, \n  \"27253\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_unrefined_zydrine.png\"\n  }, \n  \"27254\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_unrefined_megacyte.png\"\n  }, \n  \"27255\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_formula_tritanium.png\"\n  }, \n  \"27256\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_formula_pyerite.png\"\n  }, \n  \"27257\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_formula_mexallon.png\"\n  }, \n  \"27258\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_formula_isogen.png\"\n  }, \n  \"27259\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_formula_nocxium.png\"\n  }, \n  \"27260\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_formula_zydrine.png\"\n  }, \n  \"27261\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_formula_megacyte.png\"\n  }, \n  \"27262\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/mineral_formula_morphite.png\"\n  }, \n  \"27266\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Modules/fleetBoost_MiningCrit.png\"\n  }, \n  \"27267\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_racial_ama_05_128.png\"\n  }, \n  \"27268\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_racial_ama_05_128.png\"\n  }, \n  \"27269\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_racial_ama_05_128.png\"\n  }, \n  \"27270\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_ornament_01_128.png\"\n  }, \n  \"27271\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_ornament_01_128.png\"\n  }, \n  \"27272\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_art_deco_01_2K_128.png\"\n  }, \n  \"27273\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_10_128.png\"\n  }, \n  \"27274\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_10_128.png\"\n  }, \n  \"27275\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_08_128.png\"\n  }, \n  \"27276\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_08_128.png\"\n  }, \n  \"27277\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_05_128.png\"\n  }, \n  \"27278\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_05_128.png\"\n  }, \n  \"27279\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_16_128.png\"\n  }, \n  \"27280\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_16_128.png\"\n  }, \n  \"27281\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_12_128.png\"\n  }, \n  \"27282\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_12_128.png\"\n  }, \n  \"27283\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_07_128.png\"\n  }, \n  \"27284\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_07_128.png\"\n  }, \n  \"27285\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_11_128.png\"\n  }, \n  \"27286\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_11_128.png\"\n  }, \n  \"27287\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_organic_10_128.png\"\n  }, \n  \"27288\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_09_128.png\"\n  }, \n  \"27289\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_06_128.png\"\n  }, \n  \"27290\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_14_128.png\"\n  }, \n  \"27291\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_winter_14_128.png\"\n  }, \n  \"27292\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_turquoise_gloss_000_060_100_cs180.png\"\n  }, \n  \"27293\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_malachite_highgloss_000_100_010_cs180.png\"\n  }, \n  \"27294\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_orange_matt_000_100_010_cs180.png\"\n  }, \n  \"27295\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_emerald_brushed_000_060_100.png\"\n  }, \n  \"27296\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_emerald_brushed_000_060_100.png\"\n  }, \n  \"27297\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_polished_000_080_100.png\"\n  }, \n  \"27298\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_polished_000_080_100.png\"\n  }, \n  \"27299\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_emerald_polished_000_100_010.png\"\n  }, \n  \"27300\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_emerald_polished_000_100_010.png\"\n  }, \n  \"27301\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_gloss_000_030_100.png\"\n  }, \n  \"27302\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_gloss_000_030_100.png\"\n  }, \n  \"27303\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_highgloss_000_100_001.png\"\n  }, \n  \"27304\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_highgloss_000_100_001.png\"\n  }, \n  \"27305\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_rosered_satin_000_100_050.png\"\n  }, \n  \"27306\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_rosered_satin_000_100_050.png\"\n  }, \n  \"27307\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_royal_metallic_000_100_100.png\"\n  }, \n  \"27309\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_brass_metallic_013_051_089.png\"\n  }, \n  \"27334\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_azure_metallic_000_100_001.png\"\n  }, \n  \"27335\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_geomask_01_128.png\"\n  }, \n  \"27336\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Drifter_Data_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"27337\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/Drifter_Key_64.png\", \n    \"iconType\": \"png\"\n  }, \n  \"27345\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/icon_background_03.png\"\n  }, \n  \"27354\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_gallente_voteday_128.png\"\n  }, \n  \"27355\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_gallente_voteday_128.png\"\n  }, \n  \"27356\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_gallente_voteday_today_128.png\"\n  }, \n  \"27357\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_gallente_voteday_today_128.png\"\n  }, \n  \"27358\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_highgloss_000_030_100_cs180.png\"\n  }, \n  \"27359\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_highgloss_000_030_100_cs180.png\"\n  }, \n  \"27360\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_matt_000_100_010_cs180.png\"\n  }, \n  \"27361\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_matt_000_100_010_cs180.png\"\n  }, \n  \"27362\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_malachite_matt_000_100_100_cs180.png\"\n  }, \n  \"27363\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_malachite_matt_000_100_100_cs180.png\"\n  }, \n  \"27364\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_brushed_000_100_001.png\"\n  }, \n  \"27365\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_brushed_000_100_001.png\"\n  }, \n  \"27366\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_brushed_000_100_010.png\"\n  }, \n  \"27367\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_cyan_brushed_000_100_010.png\"\n  }, \n  \"27368\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_brushed_000_100_010.png\"\n  }, \n  \"27369\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_clover_brushed_000_100_010.png\"\n  }, \n  \"27370\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_vanadium_brushed_057_004_054.png\"\n  }, \n  \"27371\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_vanadium_brushed_057_004_054.png\"\n  }, \n  \"27372\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_bw_brushed_000_000_000.png\"\n  }, \n  \"27373\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/materials/cosm_bw_brushed_000_000_000.png\"\n  }, \n  \"27383\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/92631_Female_Outer_ArmorSuitCF01_Types_ArmorSuitCF01_Glam.png\", \n    \"iconType\": \"png\"\n  }, \n  \"27384\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/outer/92644_Male_outer_ArmorSuitMM01_Types_ArmorSuitMM01_Glem.png\", \n    \"iconType\": \"png\"\n  }, \n  \"27385\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/trading_token_elite_128.png\"\n  }, \n  \"27386\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/trading_token_regular_128.png\"\n  }, \n  \"27387\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/Gallente_crate_splashscreen_512.png\"\n  }, \n  \"27388\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/FabricatorData.png\", \n    \"iconType\": \"png\"\n  }, \n  \"27414\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_anger_games_01_128.png\"\n  }, \n  \"27415\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_racial_ama_logo_01_128.png\"\n  }, \n  \"27416\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_racial_ama_logo_01_128.png\"\n  }, \n  \"27417\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_gallente_logo_01_128.png\"\n  }, \n  \"27418\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_gallente_logo_01_128.png\"\n  }, \n  \"27419\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_racial_cal_logo_01_128.png\"\n  }, \n  \"27420\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_racial_cal_logo_01_128.png\"\n  }, \n  \"27421\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_minmatar_logo_01_128.png\"\n  }, \n  \"27422\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_minmatar_logo_01_128.png\"\n  }, \n  \"27423\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_jita44_01_128.png\"\n  }, \n  \"27424\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_jita44_01_128.png\"\n  }, \n  \"27425\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_jita444_01_128.png\"\n  }, \n  \"27426\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_jita444_01_128.png\"\n  }, \n  \"27427\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_groovy_03_128.png\"\n  }, \n  \"27428\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_groovy_03_128.png\"\n  }, \n  \"27429\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_gradient_circle_02_128.png\"\n  }, \n  \"27430\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_gradient_circle_02_128.png\"\n  }, \n  \"27431\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_tactical_10_128.png\"\n  }, \n  \"27432\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_tactical_10_128.png\"\n  }, \n  \"27433\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_splatter_04_128.png\"\n  }, \n  \"27434\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_splatter_04_128.png\"\n  }, \n  \"27435\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_racial_gal_08b_128.png\"\n  }, \n  \"27436\": {\n    \"iconFile\": \"res:/UI/Texture/classes/Cosmetics/Ship/patterns/cosm_racial_gal_08b_128.png\"\n  }, \n  \"27463\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/93589_Female_TopMiddle_ShirtQF01_Types_soerff03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"27464\": {\n    \"iconFile\": \"res:/UI/Asset/mannequin/topmiddle/93590_Male_topMiddle_ShirtQM01_Types_soerfm03.png\", \n    \"iconType\": \"png\"\n  }, \n  \"27466\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/warpath_regular_token.png\"\n  }, \n  \"27467\": {\n    \"iconFile\": \"res:/UI/Texture/Icons/Inventory/warpath_elite_token.png\"\n  }, \n  \"27471\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/EmpireCrate_Amarr.png\"\n  }, \n  \"27472\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/EmpireCrate_Caldari.png\"\n  }, \n  \"27473\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/EmpireCrate_Gallente.png\"\n  }, \n  \"27474\": {\n    \"iconFile\": \"res:/ui/texture/icons/inventory/EmpireCrate_Minmatar.png\"\n  }\n}"
  },
  {
    "path": "staticdata/fsd_built/marketgroups.0.json",
    "content": "{\n  \"2\": {\n    \"description_de\": \"Blaupausen sind Datengegenstände, die in der Industrie bei Fertigungs-, Forschungs- und Erfindungsaufträgen verwendet werden.\", \n    \"description_en-us\": \"Blueprints are data items used in industry for manufacturing, research and invention jobs\", \n    \"description_es\": \"Los planos son elementos de datos usados en la industria para los trabajos de fabricación, investigación e invención.\", \n    \"description_fr\": \"Les plans de construction sont des objets utilisés dans l'industrie pour réaliser des travaux de production, de recherche et d'invention\", \n    \"description_it\": \"Blueprints are data items used in industry for manufacturing, research and invention jobs\", \n    \"description_ja\": \"ブループリントは製造業、研究・発明アクティビティで使用するデータアイテムです\", \n    \"description_ko\": \"데이터베이스의 일종으로 제조, 연구, 그리고 인벤션에 사용됩니다.\", \n    \"description_ru\": \"Чертежи используются в промышленности для производства предметов, во время исследовательских работ и в различных научно-исследовательских проектах.\", \n    \"description_zh\": \"蓝图是一种工业物品，可用于制造、研究和发明项目\", \n    \"descriptionID\": 64450, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Blaupausen & Reaktionen\", \n    \"name_en-us\": \"Blueprints & Reactions\", \n    \"name_es\": \"Planos y procesos reactivos\", \n    \"name_fr\": \"Plans de construction & Réactions\", \n    \"name_it\": \"Blueprints & Reactions\", \n    \"name_ja\": \"ブループリント\", \n    \"name_ko\": \"블루프린트 및 반응식\", \n    \"name_ru\": \"Чертежи и реакции\", \n    \"name_zh\": \"蓝图和反应\", \n    \"nameID\": 65524\n  }, \n  \"4\": {\n    \"description_de\": \"Raumschiffe aller Größen und Funktionen für Kapselpiloten. Dazu gehören fortschrittliche und Fraktionsvarianten von vielen Rumpftypen.\", \n    \"description_en-us\": \"Capsuleer spaceships of all sizes and roles, including advanced and faction variants of many hull types\", \n    \"description_es\": \"Pilota naves para capsulistas de todos los tamaños y funciones, incluidos modelos faccionarios avanzados de muchos tipos de casco.\", \n    \"description_fr\": \"Vaisseaux spatiaux de capsulier de tout rôle et de toute taille, y compris les variantes avancées et spécifiques à certaines factions avec plusieurs types de coques\", \n    \"description_it\": \"Capsuleer spaceships of all sizes and roles, including advanced and faction variants of many hull types\", \n    \"description_ja\": \"カプセラの宇宙船の全サイズおよび機能（性能別、各勢力仕様別船体タイプなど）\", \n    \"description_ko\": \"캡슐리어가 탑승할 수 있는 모든 종류의 함선입니다. (상급 및 팩션 함선 포함)\", \n    \"description_ru\": \"Капсулёрские корабли всех назначений, классов, типов и размеров, включая корабли усовершенствованных проектов и корабли из арсеналов сверхдержав и независимых организаций\", \n    \"description_zh\": \"各种型号和用途的太空飞船，涵盖了高级和势力衍生型号\", \n    \"descriptionID\": 64451, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Schiffe\", \n    \"name_en-us\": \"Ships\", \n    \"name_es\": \"Naves\", \n    \"name_fr\": \"Vaisseaux\", \n    \"name_it\": \"Ships\", \n    \"name_ja\": \"艦船\", \n    \"name_ko\": \"함선\", \n    \"name_ru\": \"Корабли\", \n    \"name_zh\": \"舰船\", \n    \"nameID\": 65525\n  }, \n  \"5\": {\n    \"description_de\": \"Kleine, schnelle Schiffe mit vielseitigen Verwendungszwecken.\", \n    \"description_en-us\": \"Small, fast vessels suited to a variety of purposes.\", \n    \"description_es\": \"Naves pequeñas y rápidas adecuadas para varios fines.\", \n    \"description_fr\": \"Petits vaisseaux rapides pouvant accomplir diverses tâches.\", \n    \"description_it\": \"Small, fast vessels suited to a variety of purposes.\", \n    \"description_ja\": \"幅広い任務に適した小型高速艦船。\", \n    \"description_ko\": \"작지만 빠른 기체들로 다양한 임무를 수행할 수 있습니다.\", \n    \"description_ru\": \"Это малые быстрые корабли, хорошо подходящие для самых разных задач.\", \n    \"description_zh\": \"护卫舰能满足多种需求和目的。\", \n    \"descriptionID\": 65245, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Standardfregatten\", \n    \"name_en-us\": \"Standard Frigates\", \n    \"name_es\": \"Fragatas estándar\", \n    \"name_fr\": \"Frégates standards\", \n    \"name_it\": \"Standard Frigates\", \n    \"name_ja\": \"標準型フリゲート\", \n    \"name_ko\": \"일반 프리깃\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准护卫舰\", \n    \"nameID\": 66319, \n    \"parentGroupID\": 1361\n  }, \n  \"6\": {\n    \"description_de\": \"Die Zweitgeborenen der Raumschiff-Industrie. Sie sollten jedoch nicht unterschätzt werden.\", \n    \"description_en-us\": \"The middle children of the starship industry, but not to be underestimated.\", \n    \"description_es\": \"No son ni los más grandes ni los más pequeños, pero no hay que subestimarlos.\", \n    \"description_fr\": \"Cadets de l'industrie astronavale, à ne pas sous-estimer pour autant.\", \n    \"description_it\": \"The middle children of the starship industry, but not to be underestimated.\", \n    \"description_ja\": \"宇宙船としては目立たない位置付けだが、あなどれない。\", \n    \"description_ko\": \"함선 제조산업의 중견급 함선으로 무시할 수 없는 화력을 지니고 있습니다.\", \n    \"description_ru\": \"Это настоящие рабочие лошадки космоса, которые ни в коем случае нельзя недооценивать.\", \n    \"description_zh\": \"星舰工业的中级产物，但不能因此而被忽视。\", \n    \"descriptionID\": 65250, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Standardkreuzer\", \n    \"name_en-us\": \"Standard Cruisers\", \n    \"name_es\": \"Cruceros estándar\", \n    \"name_fr\": \"Croiseurs standards\", \n    \"name_it\": \"Standard Cruisers\", \n    \"name_ja\": \"標準型巡洋艦\", \n    \"name_ko\": \"일반 크루저\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准巡洋舰\", \n    \"nameID\": 66324, \n    \"parentGroupID\": 1367\n  }, \n  \"7\": {\n    \"description_de\": \"Der Grundstein einer jeden respektablen Streitmacht.\", \n    \"description_en-us\": \"The foundations of any respectable fighting force.\", \n    \"description_es\": \"Los cimientos de cualquier fuerza bélica respetable.\", \n    \"description_fr\": \"Le fondement de toute force de combat qui se respecte.\", \n    \"description_it\": \"The foundations of any respectable fighting force.\", \n    \"description_ja\": \"艦隊編成の基本となる戦闘艦。\", \n    \"description_ko\": \"강력한 화력을 추구하는 함대 구성에 필수적인 함선입니다.\", \n    \"description_ru\": \"Это ― основа любого уважающего себя флота.\", \n    \"description_zh\": \"任何一支令人生畏的舰队中最根本的中流砥柱。\", \n    \"descriptionID\": 65258, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Standardschlachtschiffe\", \n    \"name_en-us\": \"Standard Battleships\", \n    \"name_es\": \"Acorazados estándar\", \n    \"name_fr\": \"Cuirassés standards\", \n    \"name_it\": \"Standard Battleships\", \n    \"name_ja\": \"標準型戦艦\", \n    \"name_ko\": \"일반 배틀쉽\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准战列舰\", \n    \"nameID\": 66332, \n    \"parentGroupID\": 1376\n  }, \n  \"8\": {\n    \"description_de\": \"Für den Transport von enormen Frachtmengen gebaut.\", \n    \"description_en-us\": \"Built for the transportation of vast amounts of cargo.\", \n    \"description_es\": \"Construidas para transportar inmensas cantidades de carga.\", \n    \"description_fr\": \"Conçus pour transporter de grandes quantités de marchandises.\", \n    \"description_it\": \"Built for the transportation of vast amounts of cargo.\", \n    \"description_ja\": \"大量の貨物を輸送できるように設計されている。\", \n    \"description_ko\": \"대량의 화물을 운송하기 위해 제작된 함선입니다.\", \n    \"description_ru\": \"Эти корабли предназначены для транспортировки большого количества грузов.\", \n    \"description_zh\": \"建造用于运输巨量的货物。\", \n    \"descriptionID\": 65267, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Standardtransporter\", \n    \"name_en-us\": \"Standard Haulers\", \n    \"name_es\": \"Naves de mercancías estándar\", \n    \"name_fr\": \"Cargos standards\", \n    \"name_it\": \"Standard Haulers\", \n    \"name_ja\": \"標準型ハウラー\", \n    \"name_ko\": \"일반 운반선\", \n    \"name_ru\": \"Стандартные перевозчики\", \n    \"name_zh\": \"标准运载舰\", \n    \"nameID\": 66341, \n    \"parentGroupID\": 1382\n  }, \n  \"9\": {\n    \"description_de\": \"Ausrüstungsmodule für Raumschiffe. Dazu gehören viele Arten von Waffen, Elektronik-, Technik-, Panzerungs-, Schild- und Antriebssystemen.\", \n    \"description_en-us\": \"Equipment modules for spaceships, including many types of weapon, electronic, engineering, armor, shield and propulsion systems\", \n    \"description_es\": \"Módulos de aparatos para naves, incluidos muchos tipos de armas y sistemas de propulsión, electrónicos, de ingeniería, de blindaje y de escudo.\", \n    \"description_fr\": \"Modules d'équipement pour vaisseaux spatiaux, y compris de nombreux types d'armes, de systèmes électroniques, de systèmes d'ingénierie, de blindage, de bouclier et de propulsion\", \n    \"description_it\": \"Equipment modules for spaceships, including many types of weapon, electronic, engineering, armor, shield and propulsion systems\", \n    \"description_ja\": \"宇宙船モジュール（武器系、電子系、電子工学系、アーマー系、シールド系、推進力系など）\", \n    \"description_ko\": \"함선 장비 탭에는 각종 무기, 전자 장비, 엔지니어링 장비, 장갑, 실드, 그리고 추진 시스템이 포함되어 있습니다.\", \n    \"description_ru\": \"Оборудование для кораблей: орудия, электроника, броня, щиты, различная аппаратура и двигательные подсистемы.\", \n    \"description_zh\": \"舰船使用的各种装备，包括武器、电子类、工程类、装甲、护盾和推进系统\", \n    \"descriptionID\": 64452, \n    \"hasTypes\": 0, \n    \"iconID\": 1432, \n    \"name_de\": \"Schiffsausrüstung\", \n    \"name_en-us\": \"Ship Equipment\", \n    \"name_es\": \"Instrumental de la nave\", \n    \"name_fr\": \"Équipement de vaisseau\", \n    \"name_it\": \"Ship Equipment\", \n    \"name_ja\": \"艦船装備\", \n    \"name_ko\": \"함선 장비\", \n    \"name_ru\": \"Оборудование кораблей\", \n    \"name_zh\": \"舰船装备\", \n    \"nameID\": 65526\n  }, \n  \"10\": {\n    \"description_de\": \"Waffensysteme um feindlichen Zielen Schaden zuzfügen.\", \n    \"description_en-us\": \"Weapon systems to inflict damage on enemy targets\", \n    \"description_es\": \"Sistemas de armas para infligir daño a los objetivos enemigos.\", \n    \"description_fr\": \"Systèmes d'armement pour infliger des dégâts aux cibles ennemies.\", \n    \"description_it\": \"Weapon systems to inflict damage on enemy targets\", \n    \"description_ja\": \"敵にダメージを与える兵器システム\", \n    \"description_ko\": \"적 함선에 피해를 입히기 위해 제작된 무기 시스템입니다.\", \n    \"description_ru\": \"Орудийные установки, предназначенные для уничтожения врагов\", \n    \"description_zh\": \"可对敌对目标造成伤害的武器系统\", \n    \"descriptionID\": 64453, \n    \"hasTypes\": 0, \n    \"iconID\": 365, \n    \"name_de\": \"Waffentürme & Launcher\", \n    \"name_en-us\": \"Turrets & Launchers\", \n    \"name_es\": \"Torretas y lanzadores\", \n    \"name_fr\": \"Tourelles et lance-missiles\", \n    \"name_it\": \"Turrets & Launchers\", \n    \"name_ja\": \"タレットとランチャー\", \n    \"name_ko\": \"터렛 및 런처 효과\", \n    \"name_ru\": \"Турели и пусковые установки\", \n    \"name_zh\": \"炮台和发射器\", \n    \"nameID\": 65527, \n    \"parentGroupID\": 9\n  }, \n  \"11\": {\n    \"description_de\": \"In dieser Kategorie befinden sich Munition für Geschütztürme, Lenkwaffen und Bombensysteme, sowie Cap Booster-Ladungen, Bergbaukristalle, Sonden, Nanobot-Reparaturpaste und Skripte.\", \n    \"description_en-us\": \"Ammunition for turret, missile and bomb systems can be found in this category, together with cap booster charges, mining crystals, probes, nanite repair paste and module scripts\", \n    \"description_es\": \"Aquí hay munición para torretas, misiles y bombas, así como cargas de potenciador del condensador, cristales de minería, sondas, fluido reparador de nanobots y scripts de módulos.\", \n    \"description_fr\": \"Vous trouverez dans cette catégorie des munitions pour les systèmes de tourelles, de missiles et de bombes ainsi que des charges de capaciteur, des cristaux d'extraction, des sondes, des nanites de réparation et des scripts de module\", \n    \"description_it\": \"Ammunition for turret, missile and bomb systems can be found in this category, together with cap booster charges, mining crystals, probes, nanite repair paste and module scripts\", \n    \"description_ja\": \"タレットの弾薬、ミサイル、ボムシステムは、キャップブースターチャージ、採掘クリスタル、プローブ、ナノマシンリペアペイスト、モジュールスクリプトとともにこのカテゴリの中から探すことができます\", \n    \"description_ko\": \"터렛, 미사일, 폭탄, 채광용 크리스탈, 프로브, 나나이트 용액, 모듈 스크립트 등이 포함되어 있습니다.\", \n    \"description_ru\": \"Здесь находятся боеприпасы для различных орудий, ракеты, бомбы, заряды системы подзарядки накопителя, буровые кристаллы, зонды, ремонтная нанопаста и прошивки для оборудования.\", \n    \"description_zh\": \"这里包括了炮台使用的弹药、导弹和立体炸弹，另外还有电容注电装料、采矿晶体、探针、纳米体修复粘合剂和脚本\", \n    \"descriptionID\": 64454, \n    \"hasTypes\": 0, \n    \"iconID\": 1299, \n    \"name_de\": \"Munition & Ladungen\", \n    \"name_en-us\": \"Ammunition & Charges\", \n    \"name_es\": \"Munición y cargas\", \n    \"name_fr\": \"Munitions et charges\", \n    \"name_it\": \"Ammunition & Charges\", \n    \"name_ja\": \"弾薬\", \n    \"name_ko\": \"탄약 및 차지\", \n    \"name_ru\": \"Боеприпасы и расходники\", \n    \"name_zh\": \"军火和弹药\", \n    \"nameID\": 65528\n  }, \n  \"14\": {\n    \"description_de\": \"Module die den materiellen Rahmen eines Raumschiffs gegen externe Gefahren stärken\", \n    \"description_en-us\": \"Modules that strengthen the physical frame of a spaceship against external dangers\", \n    \"description_es\": \"Módulos que refuerzan la coraza de la nave espacial frente a los peligros externos.\", \n    \"description_fr\": \"Modules qui renforcent la structure physique d'un vaisseau contre les dangers extérieurs\", \n    \"description_it\": \"Modules that strengthen the physical frame of a spaceship against external dangers\", \n    \"description_ja\": \"外部からの攻撃に備え、艦船を物理的に強化するモジュール\", \n    \"description_ko\": \"함선의 선체 및 장갑을 강화하는 모듈입니다.\", \n    \"description_ru\": \"Модули. усиливающие сопротивляемость защитных систем корабля различным поражающим факторам\", \n    \"description_zh\": \"可以强化舰船物理结构的装备，助其抵抗外来的危险因素\", \n    \"descriptionID\": 64455, \n    \"hasTypes\": 0, \n    \"iconID\": 68, \n    \"name_de\": \"Rumpf & Panzerung\", \n    \"name_en-us\": \"Hull & Armor\", \n    \"name_es\": \"Casco y blindaje\", \n    \"name_fr\": \"Coque et blindage\", \n    \"name_it\": \"Hull & Armor\", \n    \"name_ja\": \"船体とアーマー\", \n    \"name_ko\": \"선체 및 장갑\", \n    \"name_ru\": \"Модули корпуса и брони\", \n    \"name_zh\": \"船体和装甲\", \n    \"nameID\": 65529, \n    \"parentGroupID\": 9\n  }, \n  \"19\": {\n    \"description_de\": \"Viele ungewöhnliche Güter werden zwischen den Kapselpiloten gehandelt. Dazu gehören verschiedene Erkennungsmarken, Chips, Wertmarken, Codes und Werkzeuge, die bei bestimmten Aktivitäten verwendet werden oder einen Tauschwert bei Nicht-Kapselpiloten haben.\", \n    \"description_en-us\": \"Many unusual goods are traded by capsuleers, including various tags, chips, tokens, charters and tools that are used in special activities or have exchange value with non-capsuleers\", \n    \"description_es\": \"Los capsulistas intercambian muchos artículos poco comunes, incluidas chapas identificativas, chips, fichas, tokens, patentes y herramientas de diversa índole que se usan en actividades especiales o pueden intercambiarse con pilotos no capsulistas.\", \n    \"description_fr\": \"Les capsuliers s'échangent de nombreux objets rares, à savoir des insignes, des puces, des jetons, des chartes et des outils nécessaires dans certaines activités particulières ou qui représentent de la valeur pour des non capsuliers\", \n    \"description_it\": \"Many unusual goods are traded by capsuleers, including various tags, chips, tokens, charters and tools that are used in special activities or have exchange value with non-capsuleers\", \n    \"description_ja\": \"特殊活動に使用するツール、各種タグ、チップ、トークン、許可証などの珍しいグッズはカプセラとトレードするか、カプセラ以外との取引で入手します\", \n    \"description_ko\": \"인식표, 계급장, 칩, 토큰, 부품 등의 각종 물품은 특수한 상황 또는 비캡슐리어와의 거래에 주로 사용됩니다.\", \n    \"description_ru\": \"Капсулёры торгуют странными вещицами: личными жетонами, схемами, значками, разрешениями и инструментами, которые имеют особое назначение или высоко ценятся среди не-капсулёров.\", \n    \"description_zh\": \"这里是一些飞行员互相交易的特殊货物，包括各种铭牌、芯片、令牌、宪章和工具。这些东西可用于特殊目的，也可拿给NPC换取奖励\", \n    \"descriptionID\": 64457, \n    \"hasTypes\": 0, \n    \"iconID\": 2340, \n    \"name_de\": \"Handelsgüter\", \n    \"name_en-us\": \"Trade Goods\", \n    \"name_es\": \"Mercancías comerciables\", \n    \"name_fr\": \"Vente de marchandises\", \n    \"name_it\": \"Trade Goods\", \n    \"name_ja\": \"トレード品\", \n    \"name_ko\": \"무역 상품\", \n    \"name_ru\": \"Товары\", \n    \"name_zh\": \"贸易货物\", \n    \"nameID\": 65531\n  }, \n  \"20\": {\n    \"description_de\": \"Verschiedene Produkte, die in verschiedenen Branchen Verwendung finden.\", \n    \"description_en-us\": \"Various products used in a variety of industries\", \n    \"description_es\": \"Varios productos usados en diversos sectores.\", \n    \"description_fr\": \"Divers produits utilisés dans différents types d'industrie\", \n    \"description_it\": \"Various products used in a variety of industries\", \n    \"description_ja\": \"各種の産業で使用される製品\", \n    \"description_ko\": \"다양한 산업 분야에 사용되는 물품입니다.\", \n    \"description_ru\": \"Товары, используемые в различных производственных отраслях\", \n    \"description_zh\": \"用于多种工业领域的各种产品\", \n    \"descriptionID\": 64458, \n    \"hasTypes\": 1, \n    \"iconID\": 1192, \n    \"name_de\": \"Industriegüter\", \n    \"name_en-us\": \"Industrial Goods\", \n    \"name_es\": \"Mercancías industriales\", \n    \"name_fr\": \"Biens industriels\", \n    \"name_it\": \"Industrial Goods\", \n    \"name_ja\": \"工業用品\", \n    \"name_ko\": \"공산품\", \n    \"name_ru\": \"Промышленные товары\", \n    \"name_zh\": \"工业货物\", \n    \"nameID\": 65532, \n    \"parentGroupID\": 19\n  }, \n  \"22\": {\n    \"description_de\": \"Chemikalien und Abfall, die vor Strahlung pulsieren. Können gekauft und mit Profit verkauft werden\", \n    \"description_en-us\": \"Chemicals and waste, pulsing with radiation. Can be bought and sold for profit\", \n    \"description_es\": \"Productos químicos y residuos que emiten radiación. Se pueden comprar y vender para ganar dinero.\", \n    \"description_fr\": \"Produits chimiques et autres déchets très irradiants. Peuvent être achetés ou vendus à profit\", \n    \"description_it\": \"Chemicals and waste, pulsing with radiation. Can be bought and sold for profit\", \n    \"description_ja\": \"放射能を発する化学物質や廃棄物売買を通して利益を得られる\", \n    \"description_ko\": \"방사능을 발산하는 화학 폐기물로 다양한 용도로 거래됩니다.\", \n    \"description_ru\": \"Химические вещества и отходы, светящиеся от радиоактивного излучения. Их можно покупать и продавать ради выгоды\", \n    \"description_zh\": \"具有放射性的化学物及废料，可以用来卖钱。\", \n    \"descriptionID\": 64459, \n    \"hasTypes\": 1, \n    \"iconID\": 29, \n    \"name_de\": \"Radioaktive Güter\", \n    \"name_en-us\": \"Radioactive Goods\", \n    \"name_es\": \"Mercancías radiactivas\", \n    \"name_fr\": \"Biens radioactifs\", \n    \"name_it\": \"Radioactive Goods\", \n    \"name_ja\": \"放射性物質\", \n    \"name_ko\": \"방사성 물질\", \n    \"name_ru\": \"Радиоактивные вещества\", \n    \"name_zh\": \"放射性货物\", \n    \"nameID\": 65533, \n    \"parentGroupID\": 19\n  }, \n  \"23\": {\n    \"description_de\": \"Passiege können einen netten Profit abwerfen\", \n    \"description_en-us\": \"Ferrying passengers can give a nice profit\", \n    \"description_es\": \"El transporte de pasajeros puede ser un negocio redondo.\", \n    \"description_fr\": \"Le transport de passagers peut s'avérer très lucratif\", \n    \"description_it\": \"Ferrying passengers can give a nice profit\", \n    \"description_ja\": \"乗客を運べば、ちょっとした利益を得られる\", \n    \"description_ko\": \"운송 사업은 높은 수익을 보장합니다.\", \n    \"description_ru\": \"На пассажирских перевозках можно сколотить целое состояние\", \n    \"description_zh\": \"从来来往往的行人身上总能赚到大钱\", \n    \"descriptionID\": 64460, \n    \"hasTypes\": 1, \n    \"iconID\": 2543, \n    \"name_de\": \"Passagiere\", \n    \"name_en-us\": \"Passengers\", \n    \"name_es\": \"Pasajeros\", \n    \"name_fr\": \"Passagers\", \n    \"name_it\": \"Passengers\", \n    \"name_ja\": \"乗客\", \n    \"name_ko\": \"사람 및 동물\", \n    \"name_ru\": \"Пассажиры\", \n    \"name_zh\": \"乘客\", \n    \"nameID\": 65534, \n    \"parentGroupID\": 19\n  }, \n  \"24\": {\n    \"description_de\": \"Kapselpiloten haben unterschiedliche Möglichkeiten, um ihre persönlichen Fähigkeiten zu modifizieren. Dazu gehören kybernetische Implantate und biochemische Booster.\", \n    \"description_en-us\": \"Capsuleers have several options for modifying their personal capabilities, including cybernetic implants and biochemical boosters\", \n    \"description_es\": \"Los capsulistas tienen varias opciones para modificar sus capacidades personales, incluidos implantes cibernéticos y potenciadores bioquímicos.\", \n    \"description_fr\": \"Tout capsulier a plusieurs possibilités de modifier ses aptitudes personnelles, y compris par le biais d'implants cybernétiques et de boosters biochimiques\", \n    \"description_it\": \"Capsuleers have several options for modifying their personal capabilities, including cybernetic implants and biochemical boosters\", \n    \"description_ja\": \"カプセラはサイバネティックインプラントやバイオケミカルブースターなど、様々なオプションを用いてキャラクターの能力を高めることができます\", \n    \"description_ko\": \"캡슐리어들은 사이버네틱 임플란트 및 생화학 부스터를 통해 개인의 능력을 향상할 수 있습니다.\", \n    \"description_ru\": \"Капсулёры могут расширить горизонт возможностей своего организма с помощью кибернетических имплантатов и биохимических стимуляторов\", \n    \"description_zh\": \"飞行员可以通过几种方式来增强个人能力，比如植入体和增效剂\", \n    \"descriptionID\": 64461, \n    \"hasTypes\": 0, \n    \"iconID\": 2563, \n    \"name_de\": \"Implantate & Booster\", \n    \"name_en-us\": \"Implants & Boosters\", \n    \"name_es\": \"Implantes y potenciadores\", \n    \"name_fr\": \"Implants et boosters\", \n    \"name_it\": \"Implants & Boosters\", \n    \"name_ja\": \"インプラントとブースター\", \n    \"name_ko\": \"임플란트 및 부스터\", \n    \"name_ru\": \"Импланты и стимуляторы\", \n    \"name_zh\": \"植入体和增效剂\", \n    \"nameID\": 65535\n  }, \n  \"27\": {\n    \"description_de\": \"Implantate verbessern die Leistung eines Piloten in verschiedenen Bereichen. Einmal eingesetzt können Sie nicht wieder entfernt werden\", \n    \"description_en-us\": \"Implants improve a pilot's performance in various areas. They cannot be removed once inserted\", \n    \"description_es\": \"Los implantes mejoran el rendimiento de los pilotos en varios ámbitos. Una vez insertados, no se pueden quitar.\", \n    \"description_fr\": \"Les implants améliorent les performances d'un pilote dans différents domaines. Une fois installés ils ne peuvent plus être enlevés\", \n    \"description_it\": \"Implants improve a pilot's performance in various areas. They cannot be removed once inserted\", \n    \"description_ja\": \"インプラントは、パイロットのパフォーマンスを様々な点で向上させる。一度埋め込むと除去できない\", \n    \"description_ko\": \"임플란트는 다양한 분야에서 파일럿의 실력을 향상시켜줄 수 있지만 한번 이식이 완료되면 제거가 불가능합니다.\", \n    \"description_ru\": \"Имплантаты позволяют увеличить возможности капсулёров. Их нельзя удалить из разъёма\", \n    \"description_zh\": \"植入体可以提高飞行员多方面的表现。一旦插入就无法移除\", \n    \"descriptionID\": 64462, \n    \"hasTypes\": 0, \n    \"iconID\": 2062, \n    \"name_de\": \"Implantate\", \n    \"name_en-us\": \"Implants\", \n    \"name_es\": \"Implantes\", \n    \"name_fr\": \"Implants\", \n    \"name_it\": \"Implants\", \n    \"name_ja\": \"インプラント\", \n    \"name_ko\": \"임플란트\", \n    \"name_ru\": \"Импланты\", \n    \"name_zh\": \"植入体\", \n    \"nameID\": 65536, \n    \"parentGroupID\": 24\n  }, \n  \"52\": {\n    \"description_de\": \"Module die einen Einfluss auf die Navigation eines Raumschiffs haben\", \n    \"description_en-us\": \"Modules that affect the navigational properties of a spaceship\", \n    \"description_es\": \"Módulos que afectan a la capacidad de navegación de las naves.\", \n    \"description_fr\": \"Modules qui affectent les propriétés de navigation d'un vaisseau\", \n    \"description_it\": \"Modules that affect the navigational properties of a spaceship\", \n    \"description_ja\": \"艦船の航行特性に影響を及ぼすモジュール\", \n    \"description_ko\": \"추진기는 함선의 비행 속도에 영향을 줍니다.\", \n    \"description_ru\": \"Модули, влияющие на навигационные характеристики корабля\", \n    \"description_zh\": \"影响舰船导航性能的装备\", \n    \"descriptionID\": 64463, \n    \"hasTypes\": 0, \n    \"iconID\": 72, \n    \"name_de\": \"Schiffsantrieb\", \n    \"name_en-us\": \"Propulsion\", \n    \"name_es\": \"Propulsión\", \n    \"name_fr\": \"Propulsion\", \n    \"name_it\": \"Propulsion\", \n    \"name_ja\": \"推進力\", \n    \"name_ko\": \"추진기\", \n    \"name_ru\": \"Двигательные установки\", \n    \"name_zh\": \"推进器\", \n    \"nameID\": 65537, \n    \"parentGroupID\": 9\n  }, \n  \"54\": {\n    \"description_de\": \"Brocken von Rohmaterial, das von Asteroiden abgebaut wurde.\", \n    \"description_en-us\": \"Chunks of raw material harvested from asteroids.\", \n    \"description_es\": \"Trozos de materia prima extraída de los asteroides.\", \n    \"description_fr\": \"Des morceaux de matière première collectés sur les astéroïdes.\", \n    \"description_it\": \"Chunks of raw material harvested from asteroids.\", \n    \"description_ja\": \"アステロイドから採掘された原鉱の塊。\", \n    \"description_ko\": \"소행성에서 추출할 수 있는 원재료입니다.\", \n    \"description_ru\": \"Сырьевые материалы, добываемые на астероидах.\", \n    \"description_zh\": \"从小行星上采集的大块原始物质。\", \n    \"descriptionID\": 64464, \n    \"hasTypes\": 0, \n    \"iconID\": 1277, \n    \"name_de\": \"Standarderze\", \n    \"name_en-us\": \"Standard Ores\", \n    \"name_es\": \"Menas estándar\", \n    \"name_fr\": \"Minerais standards\", \n    \"name_it\": \"Standard Ores\", \n    \"name_ja\": \"鉱石\", \n    \"name_ko\": \"일반 광물\", \n    \"name_ru\": \"Стандартные руды\", \n    \"name_zh\": \"标准矿石\", \n    \"nameID\": 65538, \n    \"parentGroupID\": 1031\n  }, \n  \"61\": {\n    \"description_de\": \"Caldari-Fregatten-Designs.\", \n    \"description_en-us\": \"Caldari frigate designs.\", \n    \"description_es\": \"Diseños de fragatas caldaris.\", \n    \"description_fr\": \"Modèles de frégates caldari.\", \n    \"description_it\": \"Caldari frigate designs.\", \n    \"description_ja\": \"カルダリフリゲート設計図。\", \n    \"description_ko\": \"칼다리의 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты разработки Государства Caldari.\", \n    \"description_zh\": \"加达里护卫舰设计\", \n    \"descriptionID\": 64465, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65539, \n    \"parentGroupID\": 5\n  }, \n  \"64\": {\n    \"description_de\": \"Minmatar-Fregatten-Designs.\", \n    \"description_en-us\": \"Minmatar frigate designs.\", \n    \"description_es\": \"Diseños de fragatas minmatarianas.\", \n    \"description_fr\": \"Modèles de frégates minmatar.\", \n    \"description_it\": \"Minmatar frigate designs.\", \n    \"description_ja\": \"ミンマターフリゲート設計図。\", \n    \"description_ko\": \"민마타의 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔护卫舰设计\", \n    \"descriptionID\": 64466, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65540, \n    \"parentGroupID\": 5\n  }, \n  \"65\": {\n    \"description_de\": \"Komponenten, die bei der Produktion von Tech II-Schiffen und -Ausrüstung verwendet werden.\", \n    \"description_en-us\": \"Components used in the manufacture of Tech II vessels and equipment.\", \n    \"description_es\": \"Componentes usados para fabricar naves y aparatos T2.\", \n    \"description_fr\": \"Composants utilisés dans la fabrication de vaisseaux et d'équipements de niveau technologique II.\", \n    \"description_it\": \"Components used in the manufacture of Tech II vessels and equipment.\", \n    \"description_ja\": \"アマーT2の艦船および装備の製造に使用される部品。\", \n    \"description_ko\": \"테크 II 함선 및 장비 제작에 사용되는 부품입니다.\", \n    \"description_ru\": \"Компоненты, используемые для производства кораблей и оборудования категории Tech II.\", \n    \"description_zh\": \"用来制造二级科技舰船和装备的部件。\", \n    \"descriptionID\": 64467, \n    \"hasTypes\": 0, \n    \"iconID\": 2199, \n    \"name_de\": \"Fortschrittliche Komponenten\", \n    \"name_en-us\": \"Advanced Components\", \n    \"name_es\": \"Componentes avanzados\", \n    \"name_fr\": \"Composants avancés\", \n    \"name_it\": \"Advanced Components\", \n    \"name_ja\": \"高性能部品\", \n    \"name_ko\": \"상급 부품\", \n    \"name_ru\": \"Усовершенствованные компоненты\", \n    \"name_zh\": \"高级组件\", \n    \"nameID\": 65541, \n    \"parentGroupID\": 1035\n  }, \n  \"72\": {\n    \"description_de\": \"Amarr-Fregatten-Designs.\", \n    \"description_en-us\": \"Amarr frigate designs.\", \n    \"description_es\": \"Diseños de fragatas amarrianas.\", \n    \"description_fr\": \"Modèles de frégates amarr.\", \n    \"description_it\": \"Amarr frigate designs.\", \n    \"description_ja\": \"アマーフリゲート設計図。\", \n    \"description_ko\": \"아마르의 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛护卫舰设计\", \n    \"descriptionID\": 64468, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65542, \n    \"parentGroupID\": 5\n  }, \n  \"73\": {\n    \"description_de\": \"Minmatar-Kreuzer-Designs.\", \n    \"description_en-us\": \"Minmatar cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros minmatarianos.\", \n    \"description_fr\": \"Modèles de croiseurs minmatar.\", \n    \"description_it\": \"Minmatar cruiser designs.\", \n    \"description_ja\": \"ミンマター巡洋艦設計図。\", \n    \"description_ko\": \"민마타의 크루저입니다.\", \n    \"description_ru\": \"Крейсеры разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔巡洋舰设计\", \n    \"descriptionID\": 64469, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65543, \n    \"parentGroupID\": 6\n  }, \n  \"74\": {\n    \"description_de\": \"Amarr-Kreuzer-Designs.\", \n    \"description_en-us\": \"Amarr cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros amarrianos.\", \n    \"description_fr\": \"Modèles de croiseurs amarr.\", \n    \"description_it\": \"Amarr cruiser designs.\", \n    \"description_ja\": \"アマー巡洋艦設計図。\", \n    \"description_ko\": \"아마르의 크루저입니다.\", \n    \"description_ru\": \"Крейсеры разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛巡洋舰设计\", \n    \"descriptionID\": 64470, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65544, \n    \"parentGroupID\": 6\n  }, \n  \"75\": {\n    \"description_de\": \"Caldari-Kreuzer-Designs.\", \n    \"description_en-us\": \"Caldari cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros caldaris.\", \n    \"description_fr\": \"Modèles de croiseurs caldari.\", \n    \"description_it\": \"Caldari cruiser designs.\", \n    \"description_ja\": \"カルダリ巡洋艦設計図。\", \n    \"description_ko\": \"칼다리의 크루저입니다.\", \n    \"description_ru\": \"Крейсеры разработки Государства Caldari.\", \n    \"description_zh\": \"加达里巡洋舰设计\", \n    \"descriptionID\": 64471, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65545, \n    \"parentGroupID\": 6\n  }, \n  \"76\": {\n    \"description_de\": \"Gallente-Kreuzer-Designs.\", \n    \"description_en-us\": \"Gallente cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros gallentes.\", \n    \"description_fr\": \"Modèles de croiseurs gallente.\", \n    \"description_it\": \"Gallente cruiser designs.\", \n    \"description_ja\": \"ガレンテ巡洋艦設計図。\", \n    \"description_ko\": \"갈란테의 크루저입니다.\", \n    \"description_ru\": \"Крейсеры разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特巡洋舰设计\", \n    \"descriptionID\": 64472, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65546, \n    \"parentGroupID\": 6\n  }, \n  \"77\": {\n    \"description_de\": \"Gallente-Fregatten-Designs.\", \n    \"description_en-us\": \"Gallente frigate designs.\", \n    \"description_es\": \"Diseños de fragatas gallentes.\", \n    \"description_fr\": \"Modèles de frégates gallente.\", \n    \"description_it\": \"Gallente frigate designs.\", \n    \"description_ja\": \"ガレンテフリゲート設計図。\", \n    \"description_ko\": \"갈란테의 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特护卫舰设计\", \n    \"descriptionID\": 64473, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65547, \n    \"parentGroupID\": 5\n  }, \n  \"78\": {\n    \"description_de\": \"Minmatar-Schlachtschiff-Designs.\", \n    \"description_en-us\": \"Minmatar battleship designs.\", \n    \"description_es\": \"Diseños de acorazados minmatarianos.\", \n    \"description_fr\": \"Modèles de cuirassés minmatar.\", \n    \"description_it\": \"Minmatar battleship designs.\", \n    \"description_ja\": \"ミンマター戦艦設計図。\", \n    \"description_ko\": \"민마타의 배틀쉽입니다.\", \n    \"description_ru\": \"Линейные корабли разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔战列舰设计\", \n    \"descriptionID\": 64474, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65548, \n    \"parentGroupID\": 7\n  }, \n  \"79\": {\n    \"description_de\": \"Amarr-Schlachtschiff-Designs.\", \n    \"description_en-us\": \"Amarr battleship designs.\", \n    \"description_es\": \"Diseños de acorazados amarrianos.\", \n    \"description_fr\": \"Modèles de cuirassés amarr.\", \n    \"description_it\": \"Amarr battleship designs.\", \n    \"description_ja\": \"アマー戦艦設計図。\", \n    \"description_ko\": \"아마르의 배틀쉽입니다.\", \n    \"description_ru\": \"Линейные корабли разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛战列舰设计\", \n    \"descriptionID\": 64475, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65549, \n    \"parentGroupID\": 7\n  }, \n  \"80\": {\n    \"description_de\": \"Caldari-Schlachtschiff-Designs.\", \n    \"description_en-us\": \"Caldari battleship designs.\", \n    \"description_es\": \"Diseños de acorazados caldaris.\", \n    \"description_fr\": \"Modèles de cuirassés caldari.\", \n    \"description_it\": \"Caldari battleship designs.\", \n    \"description_ja\": \"カルダリ戦艦の設計図。\", \n    \"description_ko\": \"칼다리의 배틀쉽입니다.\", \n    \"description_ru\": \"Линейные корабли разработки Государства Caldari.\", \n    \"description_zh\": \"加达里战列舰设计\", \n    \"descriptionID\": 64476, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65550, \n    \"parentGroupID\": 7\n  }, \n  \"81\": {\n    \"description_de\": \"Gallente-Schlachtschiff-Designs.\", \n    \"description_en-us\": \"Gallente battleship designs.\", \n    \"description_es\": \"Diseños de acorazados gallentes.\", \n    \"description_fr\": \"Modèles de cuirassés gallente.\", \n    \"description_it\": \"Gallente battleship designs.\", \n    \"description_ja\": \"ガレンテ戦艦設計図。\", \n    \"description_ko\": \"갈란테의 배틀쉽입니다.\", \n    \"description_ru\": \"Линейные корабли разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特战列舰设计\", \n    \"descriptionID\": 64477, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65551, \n    \"parentGroupID\": 7\n  }, \n  \"82\": {\n    \"description_de\": \"Minmatar-Industrial-Designs.\", \n    \"description_en-us\": \"Minmatar industrial designs.\", \n    \"description_es\": \"Diseños industriales minmatarianos.\", \n    \"description_fr\": \"Modèles de vaisseaux industriels minmatar.\", \n    \"description_it\": \"Minmatar industrial designs.\", \n    \"description_ja\": \"ミンマター輸送艦設計図。\", \n    \"description_ko\": \"민마타의 인더스트리얼입니다.\", \n    \"description_ru\": \"Промышленные корабли разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔工业舰设计\", \n    \"descriptionID\": 64478, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65552, \n    \"parentGroupID\": 8\n  }, \n  \"83\": {\n    \"description_de\": \"Gallente-Industrial-Designs.\", \n    \"description_en-us\": \"Gallente industrial designs.\", \n    \"description_es\": \"Diseños industriales gallentes.\", \n    \"description_fr\": \"Modèles de vaisseaux industriels gallente.\", \n    \"description_it\": \"Gallente industrial designs.\", \n    \"description_ja\": \"ガレンテ輸送艦設計図。。\", \n    \"description_ko\": \"갈란테의 인더스트리얼입니다.\", \n    \"description_ru\": \"Промышленные корабли разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特工业舰设计\", \n    \"descriptionID\": 64479, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65553, \n    \"parentGroupID\": 8\n  }, \n  \"84\": {\n    \"description_de\": \"Caldari-Industrial-Designs.\", \n    \"description_en-us\": \"Caldari industrial designs.\", \n    \"description_es\": \"Diseños industriales caldaris.\", \n    \"description_fr\": \"Modèles de vaisseaux industriels caldari.\", \n    \"description_it\": \"Caldari industrial designs.\", \n    \"description_ja\": \"カルダリ輸送艦設計図。\", \n    \"description_ko\": \"칼다리의 인더스트리얼입니다.\", \n    \"description_ru\": \"Промышленные корабли разработки Государства Caldari.\", \n    \"description_zh\": \"加达里工业舰设计\", \n    \"descriptionID\": 64480, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65554, \n    \"parentGroupID\": 8\n  }, \n  \"85\": {\n    \"description_de\": \"Amarr-Industrial-Designs.\", \n    \"description_en-us\": \"Amarr industrial designs.\", \n    \"description_es\": \"Diseños industriales amarrianos.\", \n    \"description_fr\": \"Modèles de vaisseaux industriels amarr.\", \n    \"description_it\": \"Amarr industrial designs.\", \n    \"description_ja\": \"アマー輸送艦設計図。\", \n    \"description_ko\": \"아마르의 인더스트리얼입니다.\", \n    \"description_ru\": \"Промышленные корабли разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛工业舰设计\", \n    \"descriptionID\": 64481, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65555, \n    \"parentGroupID\": 8\n  }, \n  \"86\": {\n    \"description_de\": \"Hybridgeschütztürme sind speziell für den Einbau von Railguns und Blastern entwickelt.\", \n    \"description_en-us\": \"Hybrid turrets are specifically designed to house railguns and blasters.\", \n    \"description_es\": \"Las torretas híbridas están diseñadas específicamente para albergar cañones electromagnéticos y blásteres.\", \n    \"description_fr\": \"Les tourelles hybrides sont spécifiquement conçues pour accueillir des canons à rail et des blasters.\", \n    \"description_it\": \"Hybrid turrets are specifically designed to house railguns and blasters.\", \n    \"description_ja\": \"ハイブリッドタレットは、レールガンとブラスターを搭載できるように設計されている。\", \n    \"description_ko\": \"하이브리드 터렛은 레일건 및 블라스터를 탑재하기 위해 설계되었습니다.\", \n    \"description_ru\": \"Турели гибридного действия специально разрабатываются для установки рейлганов и бластеров.\", \n    \"description_zh\": \"混合炮塔专用于安装磁轨炮和疾速炮。\", \n    \"descriptionID\": 64482, \n    \"hasTypes\": 0, \n    \"iconID\": 376, \n    \"name_de\": \"Hybridgeschütztürme\", \n    \"name_en-us\": \"Hybrid Turrets\", \n    \"name_es\": \"Torretas híbridas\", \n    \"name_fr\": \"Tourelles hybrides\", \n    \"name_it\": \"Hybrid Turrets\", \n    \"name_ja\": \"ハイブリッドタレット\", \n    \"name_ko\": \"하이브리드 터렛\", \n    \"name_ru\": \"Гибридные орудия\", \n    \"name_zh\": \"混合炮台\", \n    \"nameID\": 65556, \n    \"parentGroupID\": 10\n  }, \n  \"87\": {\n    \"description_de\": \"Gebaut für den Gebrauch von Kanonen, die überhitzte Geschützgranaten abfeuern können.\", \n    \"description_en-us\": \"Built to house cannons capable of firing superheated gunshells.\", \n    \"description_es\": \"Construidas para albergar cañones capaces de disparar proyectiles sobrecalentados.\", \n    \"description_fr\": \"Conçues pour accueillir des canons capables de tirer des obus à très haute température.\", \n    \"description_it\": \"Built to house cannons capable of firing superheated gunshells.\", \n    \"description_ja\": \"過熱状態の砲弾を発射可能なキャノン砲を搭載できる。\", \n    \"description_ko\": \"초고열 포탄을 발사할 수 있도록 설계되었습니다.\", \n    \"description_ru\": \"Разработаны для установки артиллерийских орудий, способных вести огонь снарядами с огромной начальной скоростью.\", \n    \"description_zh\": \"用来安装发射高温弹丸的加农炮。\", \n    \"descriptionID\": 64483, \n    \"hasTypes\": 0, \n    \"iconID\": 387, \n    \"name_de\": \"Projektilgeschütztürme\", \n    \"name_en-us\": \"Projectile Turrets\", \n    \"name_es\": \"Torretas de proyectiles\", \n    \"name_fr\": \"Tourelles à projectiles\", \n    \"name_it\": \"Projectile Turrets\", \n    \"name_ja\": \"プロジェクタイルタレット\", \n    \"name_ko\": \"발사체 터렛\", \n    \"name_ru\": \"Баллистические орудия\", \n    \"name_zh\": \"射弹炮台\", \n    \"nameID\": 65557, \n    \"parentGroupID\": 10\n  }, \n  \"88\": {\n    \"description_de\": \"Lasergeschütztürme sind für die Unterbringung von Strahl- und Impulslasern gebaut.\", \n    \"description_en-us\": \"Laser turrets are built to house beam and pulse lasers.\", \n    \"description_es\": \"Las torretas láser albergan láseres de pulsos y de rayos.\", \n    \"description_fr\": \"Les tourelles laser sont conçues pour accueillir des lasers à rayons et des lasers à impulsions.\", \n    \"description_it\": \"Laser turrets are built to house beam and pulse lasers.\", \n    \"description_ja\": \"ビームレーザーとパルスレーザーを搭載できるレーザータレット。\", \n    \"description_ko\": \"레이저 터렛은 빔 레이저 및 펄스 레이저를 탑재하기 위해 설계되었습니다.\", \n    \"description_ru\": \"Лазерные турели специально разрабатываются для установки непрерывных и импульсных лазеров.\", \n    \"description_zh\": \"用来安装集束或者脉冲激光器的激光炮台。\", \n    \"descriptionID\": 64484, \n    \"hasTypes\": 0, \n    \"iconID\": 352, \n    \"name_de\": \"Energiegeschütztürme\", \n    \"name_en-us\": \"Energy Turrets\", \n    \"name_es\": \"Torretas de energía\", \n    \"name_fr\": \"Tourelles à énergie\", \n    \"name_it\": \"Energy Turrets\", \n    \"name_ja\": \"エネルギータレット\", \n    \"name_ko\": \"에너지 터렛\", \n    \"name_ru\": \"Лазерные орудия\", \n    \"name_zh\": \"能量炮台\", \n    \"nameID\": 65558, \n    \"parentGroupID\": 10\n  }, \n  \"99\": {\n    \"description_de\": \"Metallummantelte Granaten, die von Artilleriegeschützen und Maschinenkanonen abgefeuert werden\", \n    \"description_en-us\": \"Metal-cased shells, fired by artillery guns and autocannons\", \n    \"description_es\": \"Proyectiles con vaina metálica aptos para cañones de artillería y cañones automáticos.\", \n    \"description_fr\": \"Obus gainés de métal qui peuvent être tirés par les canons d'artillerie et les canons automatiques\", \n    \"description_it\": \"Metal-cased shells, fired by artillery guns and autocannons\", \n    \"description_ja\": \"アーティレリ砲やオートキャノンに用いる金属薬莢弾\", \n    \"description_ko\": \"함포 및 기관포에 사용되는 철갑탄입니다.\", \n    \"description_ru\": \"Снаряды в цельнометаллической оболочке, предназначенные для использования в артиллерийских орудиях и автоматических пушках.\", \n    \"description_zh\": \"火炮和自动加农炮使用的金属外壳弹药\", \n    \"descriptionID\": 64485, \n    \"hasTypes\": 0, \n    \"iconID\": 1004, \n    \"name_de\": \"Projektilmunition\", \n    \"name_en-us\": \"Projectile Ammo\", \n    \"name_es\": \"Munición de proyectiles\", \n    \"name_fr\": \"Munition de projectile\", \n    \"name_it\": \"Projectile Ammo\", \n    \"name_ja\": \"プロジェクタイル弾\", \n    \"name_ko\": \"발사체 탄약\", \n    \"name_ru\": \"Боеприпасы баллистических орудий\", \n    \"name_zh\": \"射弹弹药\", \n    \"nameID\": 65559, \n    \"parentGroupID\": 11\n  }, \n  \"100\": {\n    \"description_de\": \"Plasma-Kern-Ladungen, die für Railguns und Blaster entwickelt wurden\", \n    \"description_en-us\": \"Charges with a plasma core designed for railguns and blasters\", \n    \"description_es\": \"Cargas con núcleo de plasma para cañones electromagnéticos y blásteres.\", \n    \"description_fr\": \"Charges contenant un noyau plasma conçues pour les canons à rail et les blasters.\", \n    \"description_it\": \"Charges with a plasma core designed for railguns and blasters\", \n    \"description_ja\": \"レールガンやブラスターで使用するプラズマコア弾の弾箱\", \n    \"description_ko\": \"레일건 및 블라스터에 사용되는 플라즈마 코어입니다.\", \n    \"description_ru\": \"Заряды с ловушкой для плазмы, разработанные для рельсотронов и бластеров\", \n    \"description_zh\": \"磁轨炮和疾速炮使用的等离子核心弹药\", \n    \"descriptionID\": 64486, \n    \"hasTypes\": 0, \n    \"iconID\": 1047, \n    \"name_de\": \"Hybridmunition\", \n    \"name_en-us\": \"Hybrid Charges\", \n    \"name_es\": \"Cargas híbridas\", \n    \"name_fr\": \"Charges hybrides\", \n    \"name_it\": \"Hybrid Charges\", \n    \"name_ja\": \"ハイブリッド弾\", \n    \"name_ko\": \"하이브리드탄\", \n    \"name_ru\": \"Гибридные боеприпасы\", \n    \"name_zh\": \"混合弹药\", \n    \"nameID\": 65560, \n    \"parentGroupID\": 11\n  }, \n  \"101\": {\n    \"description_de\": \"Passen Energie in verschiedene Frequenzen für Langstreckenlaser und Impulslaser an.\", \n    \"description_en-us\": \"Modulate energy into several different frequencies for beam lasers and pulse lasers\", \n    \"description_es\": \"Modulan la energía en distintas frecuencias para láseres de rayos y de pulsos.\", \n    \"description_fr\": \"Modulent l'énergie en différentes fréquences pour les lasers à rayons et les lasers à impulsions\", \n    \"description_it\": \"Modulate energy into several different frequencies for beam lasers and pulse lasers\", \n    \"description_ja\": \"エネルギーの周波数を変調させ、ビームレーザーやパルスレーザーを生成する\", \n    \"description_ko\": \"빔 레이저 및 펄스 레이저에 사용되는 프리퀀시 크리스탈입니다.\", \n    \"description_ru\": \"Изменяют частоту лучей импульсных лазеров и лазеров непрерывного действия\", \n    \"description_zh\": \"集束激光器和脉冲激光器使用的多种频率的能量晶体\", \n    \"descriptionID\": 64487, \n    \"hasTypes\": 0, \n    \"iconID\": 1131, \n    \"name_de\": \"Frequenzkristalle\", \n    \"name_en-us\": \"Frequency Crystals\", \n    \"name_es\": \"Cristales de frecuencia\", \n    \"name_fr\": \"Cristaux de fréquence\", \n    \"name_it\": \"Frequency Crystals\", \n    \"name_ja\": \"フリーケンシークリスタル\", \n    \"name_ko\": \"프리퀀시 크리스탈\", \n    \"name_ru\": \"Кристаллы для лазеров\", \n    \"name_zh\": \"频率晶体\", \n    \"nameID\": 65561, \n    \"parentGroupID\": 11\n  }, \n  \"102\": {\n    \"description_de\": \"Kleine Frequenzkristalle, für die Benutzung mit für Fregatten typischen Lasern.\", \n    \"description_en-us\": \"Small frequency crystals, for use with frigate-sized lasers.\", \n    \"description_es\": \"Cristales de frecuencia pequeños para usarlos con láseres de naves de tamaño fragata.\", \n    \"description_fr\": \"Petits cristaux de fréquence utilisés, par exemple, sur les lasers des frégates.\", \n    \"description_it\": \"Small frequency crystals, for use with frigate-sized lasers.\", \n    \"description_ja\": \"フリゲート級レーザーで使用される小型フリーケンシークリスタル。\", \n    \"description_ko\": \"소형 프리퀀시 크리스탈로 프리깃급 함선의 레이저 무기에서 사용되고 있습니다.\", \n    \"description_ru\": \"Частотные кристаллы малого калибра для лазеров, устанавливаемых на фрегаты.\", \n    \"description_zh\": \"护卫舰等级的舰炮使用的小型频率晶体。\", \n    \"descriptionID\": 64488, \n    \"hasTypes\": 1, \n    \"iconID\": 1142, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65562, \n    \"parentGroupID\": 851\n  }, \n  \"103\": {\n    \"description_de\": \"Mittlere Frequenzkristalle, für die Benutzung von für Kreuzer typischen Lasern.\", \n    \"description_en-us\": \"Medium frequency crystals, for use with cruiser-sized lasers.\", \n    \"description_es\": \"Cristales de frecuencia medianos para usarlos con láseres de naves de tamaño crucero.\", \n    \"description_fr\": \"Cristaux de fréquence de taille intermédiaire utilisés, par exemple, sur les lasers des croiseurs.\", \n    \"description_it\": \"Medium frequency crystals, for use with cruiser-sized lasers.\", \n    \"description_ja\": \"巡洋艦級レーザーで使用される中型フリーケンシークリスタル。\", \n    \"description_ko\": \"중형 프리퀀시 크리스탈로 크루저급 함선의 레이저 무기에서 사용되고 있습니다.\", \n    \"description_ru\": \"Частотные кристаллы среднего калибра  для лазеров, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"巡洋舰级别激光器使用的频率水晶。\", \n    \"descriptionID\": 64489, \n    \"hasTypes\": 1, \n    \"iconID\": 1142, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65563, \n    \"parentGroupID\": 851\n  }, \n  \"105\": {\n    \"description_de\": \"Große Frequenzkristalle, für die Benutzung von für Schlachtschiffe typischen Lasern.\", \n    \"description_en-us\": \"Large frequency crystals, for use with battleship-sized lasers.\", \n    \"description_es\": \"Cristales de frecuencia grandes para usarlos con láseres de naves de tamaño acorazado.\", \n    \"description_fr\": \"Grands cristaux de fréquence utilisés, par exemple, sur les lasers des cuirassés.\", \n    \"description_it\": \"Large frequency crystals, for use with battleship-sized lasers.\", \n    \"description_ja\": \"戦艦級レーザーで使用される大型のフリーケンシークリスタル。\", \n    \"description_ko\": \"대형 프리퀀시 크리스탈로 배틀쉽급 함선의 레이저 무기에서 사용되고 있습니다.\", \n    \"description_ru\": \"Частотные кристаллы большого калибра для лазеров, устанавливаемых на линкоры.\", \n    \"description_zh\": \"战列舰级别的激光武器使用的大型频率晶体。\", \n    \"descriptionID\": 64490, \n    \"hasTypes\": 1, \n    \"iconID\": 1142, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65564, \n    \"parentGroupID\": 851\n  }, \n  \"106\": {\n    \"description_de\": \"Große Hybridgranaten, von für Schlachtschiffe typischen Geschützen abgefeuert.\", \n    \"description_en-us\": \"Large hybrid shells, fired by battleship-sized guns.\", \n    \"description_es\": \"Proyectiles híbridos de gran calibre aptos para cañones de naves de tamaño acorazado.\", \n    \"description_fr\": \"Obus hybrides de grande taille tirés, par exemple, par les canons des cuirassés.\", \n    \"description_it\": \"Large hybrid shells, fired by battleship-sized guns.\", \n    \"description_ja\": \"戦艦級銃砲で使用される大型ハイブリッド弾。\", \n    \"description_ko\": \"대형 하이브리드 포탄으로 배틀쉽급 함포에서 사용되고 있습니다.\", \n    \"description_ru\": \"Гибридные заряды большого калибра для орудий, устанавливаемых на линкоры.\", \n    \"description_zh\": \"战列舰级别的炮台发射的大型混合弹药。\", \n    \"descriptionID\": 64491, \n    \"hasTypes\": 1, \n    \"iconID\": 1047, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65565, \n    \"parentGroupID\": 848\n  }, \n  \"107\": {\n    \"description_de\": \"Kleine Hybridgranaten, aus für Fregatten typischen Geschützen abgefeuert.\", \n    \"description_en-us\": \"Small hybrid shells, fired by frigate-sized guns.\", \n    \"description_es\": \"Proyectiles híbridos de pequeño calibre aptos para cañones de naves de tamaño fragata.\", \n    \"description_fr\": \"Obus hybrides de petite taille tirés, par exemple, par les canons des frégates.\", \n    \"description_it\": \"Small hybrid shells, fired by frigate-sized guns.\", \n    \"description_ja\": \"フリゲート級銃砲で使用される小型ハイブリッド弾。\", \n    \"description_ko\": \"소형 하이브리드 포탄으로 프리깃급 함포에서 사용되고 있습니다.\", \n    \"description_ru\": \"Гибридные снаряды малого калибра для орудий, устанавливаемых на фрегаты.\", \n    \"description_zh\": \"护卫舰等级的舰炮使用的小型混合弹药。\", \n    \"descriptionID\": 64492, \n    \"hasTypes\": 1, \n    \"iconID\": 1047, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65566, \n    \"parentGroupID\": 848\n  }, \n  \"108\": {\n    \"description_de\": \"Mittlere Hybridgranaten, für die Benutzung von für Kreuzer typischen Geschützen.\", \n    \"description_en-us\": \"Medium hybrid shells, fired by cruiser-sized guns.\", \n    \"description_es\": \"Proyectiles híbridos de medio calibre aptos para cañones de naves de tamaño crucero.\", \n    \"description_fr\": \"Obus hybrides de taille moyenne tirés, par exemple, par les canons des croiseurs.\", \n    \"description_it\": \"Medium hybrid shells, fired by cruiser-sized guns.\", \n    \"description_ja\": \"巡洋艦級銃砲で使用される中型ハイブリッド弾\", \n    \"description_ko\": \"중형 하이브리드 포탄으로 크루저급 함포에서 사용되고 있습니다.\", \n    \"description_ru\": \"Гибридные заряды среднего калибра для орудий, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"由巡洋舰级别舰炮发射的混合弹药。\", \n    \"descriptionID\": 64493, \n    \"hasTypes\": 1, \n    \"iconID\": 1047, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65567, \n    \"parentGroupID\": 848\n  }, \n  \"109\": {\n    \"description_de\": \"Große Projektilgranaten, von für Schlachtschiffe typischen Geschützen abgefeuert.\", \n    \"description_en-us\": \"Large projectile shells, fired by battleship-sized guns.\", \n    \"description_es\": \"Proyectiles de gran calibre aptos para cañones de naves de tamaño acorazado.\", \n    \"description_fr\": \"Obus de grande taille tirés, par exemple, par les canons des cuirassés.\", \n    \"description_it\": \"Large projectile shells, fired by battleship-sized guns.\", \n    \"description_ja\": \"戦艦級銃砲で使用される大型プロジェクタイル弾。\", \n    \"description_ko\": \"대형 발사체 포탄으로 배틀쉽급 함포에서 사용되고 있습니다.\", \n    \"description_ru\": \"Огнестрельные боеприпасы большого калибра для орудий, устанавливаемых на линкоры.\", \n    \"description_zh\": \"战列舰级别的炮台发射的大型射弹弹药。\", \n    \"descriptionID\": 64494, \n    \"hasTypes\": 1, \n    \"iconID\": 1004, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65568, \n    \"parentGroupID\": 845\n  }, \n  \"112\": {\n    \"description_de\": \"Mittlere Projektilgranaten, für die Benutzung von für Kreuzer typischen Geschützen.\", \n    \"description_en-us\": \"Medium projectile shells, fired by cruiser-sized guns.\", \n    \"description_es\": \"Proyectiles de medio calibre aptos para cañones de naves de tamaño crucero.\", \n    \"description_fr\": \"Obus de taille moyenne tirés, par exemple, par les canons des croiseurs.\", \n    \"description_it\": \"Medium projectile shells, fired by cruiser-sized guns.\", \n    \"description_ja\": \"巡洋艦級銃砲で使用される中型プロジェクタイル弾。\", \n    \"description_ko\": \"중형 발사체 포탄으로 크루저급 함포에서 사용되고 있습니다.\", \n    \"description_ru\": \"Огнестрельные боеприпасы среднего калибра для орудий, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"由巡洋舰级别舰炮发射的射弹弹药。\", \n    \"descriptionID\": 64495, \n    \"hasTypes\": 1, \n    \"iconID\": 1004, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65569, \n    \"parentGroupID\": 845\n  }, \n  \"113\": {\n    \"description_de\": \"Kleine Projektilgranaten, aus für Fregatten typischen Geschützen abgefeuert.\", \n    \"description_en-us\": \"Small projectile shells, fired by frigate-sized guns.\", \n    \"description_es\": \"Proyectiles de pequeño calibre aptos para cañones de naves de tamaño fragata.\", \n    \"description_fr\": \"Obus de petite taille tirés, par exemple, par les canons des frégates.\", \n    \"description_it\": \"Small projectile shells, fired by frigate-sized guns.\", \n    \"description_ja\": \"フリゲート級銃砲で使用される小型プロジェクタイル弾。\", \n    \"description_ko\": \"소형 발사체 포탄으로 프리깃급 함포에서 사용되고 있습니다.\", \n    \"description_ru\": \"Огнестрельные снаряды малого калибра для орудий, устанавливаемых на фрегаты.\", \n    \"description_zh\": \"护卫舰等级的舰炮使用的小型射弹弹药。\", \n    \"descriptionID\": 64496, \n    \"hasTypes\": 1, \n    \"iconID\": 1004, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65570, \n    \"parentGroupID\": 845\n  }, \n  \"114\": {\n    \"description_de\": \"Projektile mit Selbstantrieb und verschiedener Sprengladung\", \n    \"description_en-us\": \"Self-propelled projectiles with various payloads\", \n    \"description_es\": \"Proyectiles autopropulsados con varias cargas útiles.\", \n    \"description_fr\": \"Projectiles autopropulsés de différentes charges.\", \n    \"description_it\": \"Self-propelled projectiles with various payloads\", \n    \"description_ja\": \"様々な破壊力を持つ自己推進型ミサイル\", \n    \"description_ko\": \"다양한 탄두가 탑재된 제트 추진 미사일입니다.\", \n    \"description_ru\": \"Реактивные снаряды с различной поражающей частью.\", \n    \"description_zh\": \"具有多种载荷的自推进式弹药\", \n    \"descriptionID\": 64497, \n    \"hasTypes\": 0, \n    \"iconID\": 1334, \n    \"name_de\": \"Lenkwaffen\", \n    \"name_en-us\": \"Missiles\", \n    \"name_es\": \"Misiles\", \n    \"name_fr\": \"Missiles\", \n    \"name_it\": \"Missiles\", \n    \"name_ja\": \"ミサイル\", \n    \"name_ko\": \"미사일\", \n    \"name_ru\": \"Ракеты\", \n    \"name_zh\": \"导弹\", \n    \"nameID\": 65571, \n    \"parentGroupID\": 11\n  }, \n  \"115\": {\n    \"description_de\": \"Falls die Zielerfassungssysteme versagen.\", \n    \"description_en-us\": \"For when targeting systems fail.\", \n    \"description_es\": \"Para cuando los sistemas de adquisición de objetivos fallan.\", \n    \"description_fr\": \"À utiliser quand les systèmes de visée ne fonctionnent plus.\", \n    \"description_it\": \"For when targeting systems fail.\", \n    \"description_ja\": \"ターゲットシステムの故障に備えて。\", \n    \"description_ko\": \"자동 유도 기능이 탑재된 미사일입니다.\", \n    \"description_ru\": \"Используются в случаях, когда системы наведения отказывают.\", \n    \"description_zh\": \"可在锁定系统失灵时使用。\", \n    \"descriptionID\": 64498, \n    \"hasTypes\": 0, \n    \"iconID\": 1335, \n    \"name_de\": \"Auto-Zielerfassung\", \n    \"name_en-us\": \"Auto-Targeting\", \n    \"name_es\": \"Adquisición automática de objetivos\", \n    \"name_fr\": \"Ciblage automatique\", \n    \"name_it\": \"Auto-Targeting\", \n    \"name_ja\": \"自動捕捉型\", \n    \"name_ko\": \"오토 타겟팅 미사일\", \n    \"name_ru\": \"Ракеты с автономным наведением\", \n    \"name_zh\": \"自动锁定\", \n    \"nameID\": 65572, \n    \"parentGroupID\": 114\n  }, \n  \"116\": {\n    \"description_de\": \"Die Raketenabwehr-Missile.\", \n    \"description_en-us\": \"The anti-missile missile.\", \n    \"description_es\": \"El misil antimisiles.\", \n    \"description_fr\": \"Le missile anti-missile.\", \n    \"description_it\": \"The anti-missile missile.\", \n    \"description_ja\": \"ミサイル迎撃ミサイル。\", \n    \"description_ko\": \"탄도탄 요격 미사일입니다.\", \n    \"description_ru\": \"Ракеты, применяющиеся против других ракет.\", \n    \"description_zh\": \"反弹道导弹\", \n    \"descriptionID\": 64499, \n    \"hasTypes\": 1, \n    \"iconID\": 192, \n    \"name_de\": \"Abfangraketen\", \n    \"name_en-us\": \"Defender\", \n    \"name_es\": \"De defensa\", \n    \"name_fr\": \"Défenseur\", \n    \"name_it\": \"Defender\", \n    \"name_ja\": \"ディフェンダー\", \n    \"name_ko\": \"디펜더\", \n    \"name_ru\": \"Противоракеты\", \n    \"name_zh\": \"反弹道导弹\", \n    \"nameID\": 65573, \n    \"parentGroupID\": 114\n  }, \n  \"117\": {\n    \"description_de\": \"Düsenangetriebene Projektile für normalgroße Abschussgeräte.\", \n    \"description_en-us\": \"Jet-propelled projectiles for standard-sized launchers.\", \n    \"description_es\": \"Proyectiles autopropulsados para lanzadores de tamaño estándar.\", \n    \"description_fr\": \"Projectiles autopropulsés pour des lanceurs de taille standard.\", \n    \"description_it\": \"Jet-propelled projectiles for standard-sized launchers.\", \n    \"description_ja\": \"標準型ランチャーで用いられるジェット推進式プロジェクタイル。\", \n    \"description_ko\": \"제트로 추진되는 미사일로 일반 런처에 탑재할 수 있습니다.\", \n    \"description_ru\": \"Реактивные снаряды для стандартных пусковых установок.\", \n    \"description_zh\": \"标准发射器使用的喷气推进的导弹。\", \n    \"descriptionID\": 64500, \n    \"hasTypes\": 0, \n    \"iconID\": 192, \n    \"name_de\": \"Leichte Lenkwaffen\", \n    \"name_en-us\": \"Light Missiles\", \n    \"name_es\": \"Misiles ligeros\", \n    \"name_fr\": \"Missiles légers\", \n    \"name_it\": \"Light Missiles\", \n    \"name_ja\": \"ライトミサイル\", \n    \"name_ko\": \"라이트 미사일\", \n    \"name_ru\": \"Лёгкие ракеты\", \n    \"name_zh\": \"轻型导弹\", \n    \"nameID\": 65574, \n    \"parentGroupID\": 114\n  }, \n  \"118\": {\n    \"description_de\": \"Hunderte von kleinen Bissen werden sogar den stärksten Gegner wegschleifen.\", \n    \"description_en-us\": \"Hundreds of tiny bites will wear away even the toughest opponent.\", \n    \"description_es\": \"Cientos de pequeños impactos pueden incluso con el rival más duro.\", \n    \"description_fr\": \"Plusieurs centaines de petites morsures viendront toujours à bout de l'adversaire, aussi solide qu'il soit.\", \n    \"description_it\": \"Hundreds of tiny bites will wear away even the toughest opponent.\", \n    \"description_ja\": \"小さなダメージの積み重ねで無敵の戦艦ですら消耗させる。\", \n    \"description_ko\": \"아무리 굳센 적도 수 백개의 파편을 맞게 되면 파괴될 수 밖에 없습니다.\", \n    \"description_ru\": \"Сотни крошечных укусов измотают даже самого сильного противника.\", \n    \"description_zh\": \"不计其数的蚂蚁也能将最强的对手削成骨架。\", \n    \"descriptionID\": 64501, \n    \"hasTypes\": 0, \n    \"iconID\": 1352, \n    \"name_de\": \"Raketen\", \n    \"name_en-us\": \"Rockets\", \n    \"name_es\": \"Cohetes\", \n    \"name_fr\": \"Roquettes\", \n    \"name_it\": \"Rockets\", \n    \"name_ja\": \"ロケット\", \n    \"name_ko\": \"로켓\", \n    \"name_ru\": \"Лёгкие штурмовые ракеты\", \n    \"name_zh\": \"火箭\", \n    \"nameID\": 65575, \n    \"parentGroupID\": 114\n  }, \n  \"120\": {\n    \"description_de\": \"Im All zum Scannen oder Unterbrechen stationiert.\", \n    \"description_en-us\": \"Deployed into space for scanning or disruption purposes\", \n    \"description_es\": \"Se lanzan al espacio para actividades de escaneo o disrupción.\", \n    \"description_fr\": \"Déployées dans l'espace pour effectuer des opérations de scan ou de perturbation.\", \n    \"description_it\": \"Deployed into space for scanning or disruption purposes\", \n    \"description_ja\": \"宙域に配置し、スキャンや妨害を行える\", \n    \"description_ko\": \"스캔 및 각종 교란 임무에 사용되는 프로브입니다.\", \n    \"description_ru\": \"Выпускаются в космос для сбора разведданных или создания помех\", \n    \"description_zh\": \"出于扫描或干扰目的而部署到太空中的物体\", \n    \"descriptionID\": 65198, \n    \"hasTypes\": 0, \n    \"iconID\": 1723, \n    \"name_de\": \"Sonden\", \n    \"name_en-us\": \"Probes\", \n    \"name_es\": \"Sondas\", \n    \"name_fr\": \"Sondes\", \n    \"name_it\": \"Probes\", \n    \"name_ja\": \"プローブ\", \n    \"name_ko\": \"프로브\", \n    \"name_ru\": \"Зонды\", \n    \"name_zh\": \"探针\", \n    \"nameID\": 66272, \n    \"parentGroupID\": 11\n  }, \n  \"126\": {\n    \"description_de\": \"Steigerung der Wiederaufladerate des Schilds.\", \n    \"description_en-us\": \"Provide an increase to the shield's recharge rate.\", \n    \"description_es\": \"Aumentan la velocidad de carga del escudo.\", \n    \"description_fr\": \"Permettent une recharge plus rapide du bouclier.\", \n    \"description_it\": \"Provide an increase to the shield's recharge rate.\", \n    \"description_ja\": \"シールド自動回復効率を向上させる。\", \n    \"description_ko\": \"실드 회복률을 증가시키는 장치입니다.\", \n    \"description_ru\": \"Увеличивают скорость подзарядки щита.\", \n    \"description_zh\": \"增加护盾的回充速度。\", \n    \"descriptionID\": 64502, \n    \"hasTypes\": 1, \n    \"iconID\": 26451, \n    \"name_de\": \"Schildladegeräte\", \n    \"name_en-us\": \"Shield Rechargers\", \n    \"name_es\": \"Cargadores de escudo\", \n    \"name_fr\": \"Rechargeurs de bouclier\", \n    \"name_it\": \"Shield Rechargers\", \n    \"name_ja\": \"シールドリチャージャー\", \n    \"name_ko\": \"실드 회복장치\", \n    \"name_ru\": \"Регенераторы щитов\", \n    \"name_zh\": \"护盾回充器\", \n    \"nameID\": 65576, \n    \"parentGroupID\": 554\n  }, \n  \"128\": {\n    \"description_de\": \"Übertragen Schilde auf andere Schiffe.\", \n    \"description_en-us\": \"Transfer shields to another ship.\", \n    \"description_es\": \"Transferencia de escudos a otra nave.\", \n    \"description_fr\": \"Transfèrent des boucliers vers un autre vaisseau.\", \n    \"description_it\": \"Transfer shields to another ship.\", \n    \"description_ja\": \"他の船のシールドを回復させる。\", \n    \"description_ko\": \"대상 함선으로 실드를 전송합니다.\", \n    \"description_ru\": \"Дистанционное восстановление щита дружественного корабля.\", \n    \"description_zh\": \"将护盾量输送给另外的舰船。\", \n    \"descriptionID\": 64503, \n    \"hasTypes\": 0, \n    \"iconID\": 86, \n    \"name_de\": \"Schildfernbooster\", \n    \"name_en-us\": \"Remote Shield Boosters\", \n    \"name_es\": \"Potenciadores de escudo remotos\", \n    \"name_fr\": \"Boosters de bouclier à distance\", \n    \"name_it\": \"Remote Shield Boosters\", \n    \"name_ja\": \"リモートシールドブースター\", \n    \"name_ko\": \"원격 실드 부스터\", \n    \"name_ru\": \"Установки дистанционной накачки щитов\", \n    \"name_zh\": \"远程护盾回充增量器\", \n    \"nameID\": 65577, \n    \"parentGroupID\": 554\n  }, \n  \"131\": {\n    \"description_de\": \"Ultrafortschrittliche Antriebsuntersysteme, die einen massiven Geschwindigkeitszuwachs ermöglichen.\", \n    \"description_en-us\": \"Ultra-advanced propulsion subsystems giving a massive speed boost.\", \n    \"description_es\": \"Subsistemas de propulsión ultraavanzados que proporcionan un gran impulso de velocidad.\", \n    \"description_fr\": \"Sous-systèmes de propulsion technologiquement très avancés qui fournissent un formidable surplus de vitesse.\", \n    \"description_it\": \"Ultra-advanced propulsion subsystems giving a massive speed boost.\", \n    \"description_ja\": \"爆発的にスピードを向上させる超高性能推進力サブシステム。\", \n    \"description_ko\": \"최첨단 추진기 서브시스템으로 막대한 속도 증가를 부여합니다.\", \n    \"description_ru\": \"Ультрасовершенные подсистемы силовой установки, дающие значительный прирост скорости.\", \n    \"description_zh\": \"超先进的推进器子系统，能够提供极强的推力增量。\", \n    \"descriptionID\": 64504, \n    \"hasTypes\": 1, \n    \"iconID\": 10149, \n    \"name_de\": \"Mikrowarpantriebe\", \n    \"name_en-us\": \"Microwarpdrives\", \n    \"name_es\": \"Motores de microwarp\", \n    \"name_fr\": \"Propulseurs de microwarp\", \n    \"name_it\": \"Microwarpdrives\", \n    \"name_ja\": \"マイクロワープドライブ\", \n    \"name_ko\": \"마이크로 워프 드라이브\", \n    \"name_ru\": \"Микроварп-ускорители\", \n    \"name_zh\": \"微型跃迁推进器\", \n    \"nameID\": 65578, \n    \"parentGroupID\": 52\n  }, \n  \"132\": {\n    \"description_de\": \"Hüllenmodifikationen für schnellere Geschwindigkeit des Schiffs.\", \n    \"description_en-us\": \"Hull modifications designed to increase a ship's speed.\", \n    \"description_es\": \"Modificaciones de casco diseñadas para aumentar la velocidad de una nave.\", \n    \"description_fr\": \"Modifications de la coque conçues pour augmenter la vitesse du vaisseau.\", \n    \"description_it\": \"Hull modifications designed to increase a ship's speed.\", \n    \"description_ja\": \"航行速度をアップさせる船体改造。\", \n    \"description_ko\": \"함선의 속도를 향상할 수 있는 선체 개조입니다.\", \n    \"description_ru\": \"Модификация корпуса, разработанная для увеличения скорости корабля.\", \n    \"description_zh\": \"通过对舰船船体进行改造来达到提高舰船速度的目的。\", \n    \"descriptionID\": 64505, \n    \"hasTypes\": 0, \n    \"iconID\": 97, \n    \"name_de\": \"Antriebsupgrades\", \n    \"name_en-us\": \"Propulsion Upgrades\", \n    \"name_es\": \"Mejoras de propulsión\", \n    \"name_fr\": \"Améliorations de la propulsion\", \n    \"name_it\": \"Propulsion Upgrades\", \n    \"name_ja\": \"推進力強化\", \n    \"name_ko\": \"추진기 업그레이드\", \n    \"name_ru\": \"Улучшения двигательных установок\", \n    \"name_zh\": \"推进器改良\", \n    \"nameID\": 65579, \n    \"parentGroupID\": 52\n  }, \n  \"133\": {\n    \"description_de\": \"Verstärkte Panzerplatten für zusätzlichen Schutz.\", \n    \"description_en-us\": \"Reinforced armor plates for additional protection.\", \n    \"description_es\": \"Placas de blindaje reforzadas para protección adicional.\", \n    \"description_fr\": \"Revêtement de blindage renforcé fournissant une protection supplémentaire.\", \n    \"description_it\": \"Reinforced armor plates for additional protection.\", \n    \"description_ja\": \"防御を高めるための強化アーマープレート。\", \n    \"description_ko\": \"추가적인 보호를 위해 장착할 수 있는 강화 장갑 플레이트입니다.\", \n    \"description_ru\": \"Усиленные бронеплиты, обеспечивающие дополнительную защиту.\", \n    \"description_zh\": \"加强的装甲附甲板以提供更多的防护能力。\", \n    \"descriptionID\": 64506, \n    \"hasTypes\": 0, \n    \"iconID\": 79, \n    \"name_de\": \"Panzerplatten\", \n    \"name_en-us\": \"Armor Plates\", \n    \"name_es\": \"Placas de blindaje\", \n    \"name_fr\": \"Revêtement de blindage\", \n    \"name_it\": \"Armor Plates\", \n    \"name_ja\": \"アーマープレート\", \n    \"name_ko\": \"장갑 플레이팅\", \n    \"name_ru\": \"Бронеплиты\", \n    \"name_zh\": \"装甲附甲板\", \n    \"nameID\": 65580, \n    \"parentGroupID\": 14\n  }, \n  \"134\": {\n    \"description_de\": \"Das Beste der Nano-Robotik; Panzerungssofortreparatur.\", \n    \"description_en-us\": \"Nano-assembler technology at its best. Repair armor on the fly.\", \n    \"description_es\": \"La tecnología de nanoensamblaje en todo su esplendor. Repara el blindaje sobre la marcha.\", \n    \"description_fr\": \"Le meilleur du nano-assemblage. Réparez votre blindage sur-le-champ.\", \n    \"description_it\": \"Nano-assembler technology at its best. Repair armor on the fly.\", \n    \"description_ja\": \"最高水準のナノアセンブラー技術。航行中でもアーマーの修復が可能。\", \n    \"description_ko\": \"최첨단 나노 어셈블러 기술입니다. 우주공간에서 장갑수리가 가능합니다.\", \n    \"description_ru\": \"Последнее слово в технологии наносборки. Ремонтируйте броню на ходу.\", \n    \"description_zh\": \"纳米装配技术让装甲的维修能在飞行中进行。\", \n    \"descriptionID\": 64507, \n    \"hasTypes\": 0, \n    \"iconID\": 80, \n    \"name_de\": \"Panzerungsreparatursysteme\", \n    \"name_en-us\": \"Armor Repairers\", \n    \"name_es\": \"Reparadores de blindaje\", \n    \"name_fr\": \"Réparateurs de blindage\", \n    \"name_it\": \"Armor Repairers\", \n    \"name_ja\": \"アーマーリペアラ\", \n    \"name_ko\": \"장갑수리 장치\", \n    \"name_ru\": \"Системы ремонта брони\", \n    \"name_zh\": \"装甲维修器\", \n    \"nameID\": 65581, \n    \"parentGroupID\": 14\n  }, \n  \"135\": {\n    \"description_de\": \"Schiffsrumpfmodifikationen mit verschiedensten Anwendungen.\", \n    \"description_en-us\": \"Hull modifications with various applications.\", \n    \"description_es\": \"Modificaciones de casco con varias aplicaciones.\", \n    \"description_fr\": \"Modifications de la coque ayant diverses applications.\", \n    \"description_it\": \"Hull modifications with various applications.\", \n    \"description_ja\": \"様々な目的のための船体改造。\", \n    \"description_ko\": \"다양한 목적의 선체 개조 업그레이드입니다.\", \n    \"description_ru\": \"Эти системы позволяют вносить в корпус корабля различные изменения.\", \n    \"description_zh\": \"多种改造船体的附加设备。\", \n    \"descriptionID\": 65197, \n    \"hasTypes\": 0, \n    \"iconID\": 92, \n    \"name_de\": \"Rumpfupgrades\", \n    \"name_en-us\": \"Hull Upgrades\", \n    \"name_es\": \"Mejoras del casco\", \n    \"name_fr\": \"Améliorations de coque\", \n    \"name_it\": \"Hull Upgrades\", \n    \"name_ja\": \"船体強化\", \n    \"name_ko\": \"선체 업그레이드\", \n    \"name_ru\": \"Улучшения корпуса\", \n    \"name_zh\": \"船体加固\", \n    \"nameID\": 66271, \n    \"parentGroupID\": 14\n  }, \n  \"139\": {\n    \"description_de\": \"Gibt dem Energiespeicher eines Raumschiffs einen sofortigen Schub\", \n    \"description_en-us\": \"Give an instant boost to a spaceship's capacitor\", \n    \"description_es\": \"Potencia brevemente un condensador de nave.\", \n    \"description_fr\": \"Donner un coup de boost instantané au capaciteur d'un vaisseau\", \n    \"description_it\": \"Give an instant boost to a spaceship's capacitor\", \n    \"description_ja\": \"艦船のキャパシタを瞬時にブーストする\", \n    \"description_ko\": \"캐패시터를 일시적으로 증폭시키는 부스터입니다.\", \n    \"description_ru\": \"Мгновенно пополняют запас энергии в накопителе корабля\", \n    \"description_zh\": \"立即增加舰船的电容\", \n    \"descriptionID\": 64509, \n    \"hasTypes\": 1, \n    \"iconID\": 1033, \n    \"name_de\": \"Cap Booster-Ladungen\", \n    \"name_en-us\": \"Cap Booster Charges\", \n    \"name_es\": \"Cargas de potenciador de condensador\", \n    \"name_fr\": \"Charges d’appoint de capaciteur\", \n    \"name_it\": \"Cap Booster Charges\", \n    \"name_ja\": \"キャップブースターチャージ\", \n    \"name_ko\": \"캐패시터 부스터\", \n    \"name_ru\": \"Заряды пополнения накопителя\", \n    \"name_zh\": \"电容注电装料\", \n    \"nameID\": 65583, \n    \"parentGroupID\": 11\n  }, \n  \"140\": {\n    \"description_de\": \"Zum Abschuss von düsenbetriebenen Lenkraketen.\", \n    \"description_en-us\": \"For the launching of jet-propelled guided missiles.\", \n    \"description_es\": \"Para lanzar misiles autopropulsados por chorro.\", \n    \"description_fr\": \"Pour lancer des missiles guidés autopropulsés.\", \n    \"description_it\": \"For the launching of jet-propelled guided missiles.\", \n    \"description_ja\": \"ジェット推進式誘導ミサイルの発射用。\", \n    \"description_ko\": \"유도 미사일을 발사하는 런처입니다.\", \n    \"description_ru\": \"Установки для пуска управляемых ракет на реактивной тяге.\", \n    \"description_zh\": \"用于发射喷气推进导弹的发射器。\", \n    \"descriptionID\": 64510, \n    \"hasTypes\": 0, \n    \"iconID\": 168, \n    \"name_de\": \"Lenkwaffenwerfer\", \n    \"name_en-us\": \"Missile Launchers\", \n    \"name_es\": \"Lanzamisiles\", \n    \"name_fr\": \"Lance-missiles\", \n    \"name_it\": \"Missile Launchers\", \n    \"name_ja\": \"ミサイルランチャー\", \n    \"name_ko\": \"미사일 런처\", \n    \"name_ru\": \"Пусковые установки\", \n    \"name_zh\": \"导弹发射器\", \n    \"nameID\": 65584, \n    \"parentGroupID\": 10\n  }, \n  \"141\": {\n    \"description_de\": \"Rundstrahlende Energiestöße, die allem innerhalb des Radius Schaden zufügen. Gut gegen Drohnen\", \n    \"description_en-us\": \"Omnidirectional energy blasts that damage everything in a radius. Good against drones\", \n    \"description_es\": \"Liberan descargas de energía omnidireccional que infligen daño a todo lo que se encuentra en su radio de explosión. Efectivas contra drones.\", \n    \"description_fr\": \"Explosion d'énergie omnidirectionnelle qui inflige des dégâts à tout ce qui se trouve dans son rayon d'action. Efficace contre les drones\", \n    \"description_it\": \"Omnidirectional energy blasts that damage everything in a radius. Good against drones\", \n    \"description_ja\": \"範囲内のすべてのものにダメージを与える全方位型のエネルギー爆発。ドローンに対し効果的\", \n    \"description_ko\": \"전방위 에너지 폭발을 일으켜 범위 내 모든 대상에게 피해를 입힙니다. 드론을 대상으로 효과적입니다.\", \n    \"description_ru\": \"Всенаправленные энергетические взрывы, наносящие урон всем объектам в радиусе действия. Особенно хороши против дронов\", \n    \"description_zh\": \"立体式能量冲击波，可攻击半径内的一切物体。对无人机尤其有效\", \n    \"descriptionID\": 64511, \n    \"hasTypes\": 0, \n    \"iconID\": 112, \n    \"name_de\": \"Smartbombs\", \n    \"name_en-us\": \"Smartbombs\", \n    \"name_es\": \"Bombas inteligentes\", \n    \"name_fr\": \"Bombes intelligentes\", \n    \"name_it\": \"Smartbombs\", \n    \"name_ja\": \"スマートボム\", \n    \"name_ko\": \"스마트폭탄\", \n    \"name_ru\": \"Импульсные излучатели\", \n    \"name_zh\": \"立体炸弹\", \n    \"nameID\": 65585, \n    \"parentGroupID\": 9\n  }, \n  \"143\": {\n    \"description_de\": \"Untersysteme, die zur Verbesserung der Waffeneffizienz gedacht sind.\", \n    \"description_en-us\": \"Subsystems designed to improve weapon efficiency.\", \n    \"description_es\": \"Subsistemas diseñados para mejorar la eficiencia de las armas.\", \n    \"description_fr\": \"Sous-systèmes conçus pour améliorer l'efficacité de l'armement.\", \n    \"description_it\": \"Subsystems designed to improve weapon efficiency.\", \n    \"description_ja\": \"武器の効率を高めるサブシステム。\", \n    \"description_ko\": \"무기 효율성을 향상할 수 있는 서브시스템입니다.\", \n    \"description_ru\": \"Подсистемы, разработанные для повышения эффективности вооружений.\", \n    \"description_zh\": \"用于提升武器性能的子系统。\", \n    \"descriptionID\": 64512, \n    \"hasTypes\": 0, \n    \"iconID\": 21440, \n    \"name_de\": \"Waffenupgrades\", \n    \"name_en-us\": \"Weapon Upgrades\", \n    \"name_es\": \"Mejoras de armas\", \n    \"name_fr\": \"Améliorations de l'armement\", \n    \"name_it\": \"Weapon Upgrades\", \n    \"name_ja\": \"兵器強化\", \n    \"name_ko\": \"무기 업그레이드\", \n    \"name_ru\": \"Улучшения систем вооружения\", \n    \"name_zh\": \"武器升级\", \n    \"nameID\": 65586, \n    \"parentGroupID\": 10\n  }, \n  \"150\": {\n    \"description_de\": \"Skills werden von Kapselpiloten mithilfe von speziellen Datenchips erlernt, die als Skillbücher bekannt sind. Diese sind für fast jede vorstellbare Aktivität erhältlich, die im Weltraum durchgeführt werden kann.\", \n    \"description_en-us\": \"Skills are learned by capsuleer pilots using special data chips known as skillbooks, and these are available for almost any imaginable activity that can be carried out in space\", \n    \"description_es\": \"Los pilotos capsulistas pueden aprender habilidades con chips de datos especiales, conocidos como habilidarios. Existen tantos tipos como actividades se llevan a cabo en el espacio.\", \n    \"description_fr\": \"Les capsuliers apprennent les compétences à l'aide de puces de données spécifiques appelées des livres de compétence, celles-ci peuvent traiter de quasiment n'importe quelle activité rencontrée dans l'espace\", \n    \"description_it\": \"Skills are learned by capsuleer pilots using special data chips known as skillbooks, and these are available for almost any imaginable activity that can be carried out in space\", \n    \"description_ja\": \"カプセラはスキルブックと呼ばれる特殊なデータチップを使用してスキルを習得します。また、宇宙空間で想像しうるほとんどのアクティビティが実行可能です\", \n    \"description_ko\": \"캡슐리어는 스킬북이라 불리는 특수 데이터칩을 통해 기술을 습득할 수 있습니다.\", \n    \"description_ru\": \"Пилоты-капсулёры осваивают навыки прямой загрузкой навыков в сознание при помощи особых схем — обучающих программ. Такие схемы разработаны и доступны практически для всех мыслимых видов деятельности обитателей космоса.\", \n    \"description_zh\": \"克隆飞行员使用名为“技能书”的特殊数据芯片来学习技能，而技能可以用在宇宙中几乎任何你能想到的活动中\", \n    \"descriptionID\": 64513, \n    \"hasTypes\": 0, \n    \"iconID\": 33, \n    \"name_de\": \"Skills\", \n    \"name_en-us\": \"Skills\", \n    \"name_es\": \"Habilidades\", \n    \"name_fr\": \"Compétences\", \n    \"name_it\": \"Skills\", \n    \"name_ja\": \"スキル\", \n    \"name_ko\": \"스킬\", \n    \"name_ru\": \"Навыки\", \n    \"name_zh\": \"技能\", \n    \"nameID\": 65587\n  }, \n  \"157\": {\n    \"description_de\": \"Drohnen sind semi-autonome Robotereinheiten, die für militärische und industrielle Zwecke im Weltraum genutzt werden können.\", \n    \"description_en-us\": \"Drones are semi-autonomous robotic devices used for military and industrial purposes throughout space\", \n    \"description_es\": \"Los drones son dispositivos robóticos semiautónomos usados para fines militares e industriales en el espacio.\", \n    \"description_fr\": \"Les drones sont des appareils robotisés semi-autonomes conçus pour des usages militaires et industriels dans l'espace\", \n    \"description_it\": \"Drones are semi-autonomous robotic devices used for military and industrial purposes throughout space\", \n    \"description_ja\": \"ドローンは、宇宙空間で軍事や産業に使用される半自律型ロボット装置です\", \n    \"description_ko\": \"첨단 로봇공학의 집합체로 각종 군사 및 산업 분야에 사용되고 있습니다.\", \n    \"description_ru\": \"Дроны — полуавтоматические роботизированные устройства, используемые в военных и промышленных целях по всему космосу.\", \n    \"description_zh\": \"无人机是一种半自主式机器设备，可以用于军事和工业领域\", \n    \"descriptionID\": 64514, \n    \"hasTypes\": 0, \n    \"iconID\": 1084, \n    \"name_de\": \"Drohnen\", \n    \"name_en-us\": \"Drones\", \n    \"name_es\": \"Drones\", \n    \"name_fr\": \"Drones\", \n    \"name_it\": \"Drones\", \n    \"name_ja\": \"ドローン\", \n    \"name_ko\": \"드론\", \n    \"name_ru\": \"Дроны\", \n    \"name_zh\": \"无人机\", \n    \"nameID\": 65588\n  }, \n  \"158\": {\n    \"description_de\": \"Drohnen die Asteroiden für Rohmaterial abbauen können\", \n    \"description_en-us\": \"Drones capable of mining asteroids for raw materials\", \n    \"description_es\": \"Drones que pueden extraer materias primas de los asteroides.\", \n    \"description_fr\": \"Drones capables d'extraire des matières premières des astéroïdes\", \n    \"description_it\": \"Drones capable of mining asteroids for raw materials\", \n    \"description_ja\": \"小惑星を採掘し、原料を収集できるドローン\", \n    \"description_ko\": \"자원 추출에 특화된 드론입니다.\", \n    \"description_ru\": \"Дроны, используемые для добычи сырья\", \n    \"description_zh\": \"擅长从小行星中采集原材料的无人机\", \n    \"descriptionID\": 64515, \n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Bergbaudrohnen\", \n    \"name_en-us\": \"Mining Drones\", \n    \"name_es\": \"Drones mineros\", \n    \"name_fr\": \"Drones d’extraction\", \n    \"name_it\": \"Mining Drones\", \n    \"name_ja\": \"採掘専門ドローン\", \n    \"name_ko\": \"채굴 드론\", \n    \"name_ru\": \"Буровые дроны\", \n    \"name_zh\": \"采矿无人机\", \n    \"nameID\": 65589, \n    \"parentGroupID\": 157\n  }, \n  \"159\": {\n    \"description_de\": \"Drohnen mit Kampfpotential\", \n    \"description_en-us\": \"Drones with combat capabilities\", \n    \"description_es\": \"Drones con capacidades de combate.\", \n    \"description_fr\": \"Drones disposant de capacités de combat\", \n    \"description_it\": \"Drones with combat capabilities\", \n    \"description_ja\": \"戦闘能力を持つドローン\", \n    \"description_ko\": \"전투용 드론입니다.\", \n    \"description_ru\": \"Дроны, используемые в боевых целях\", \n    \"description_zh\": \"具有战斗能力的无人机\", \n    \"descriptionID\": 64516, \n    \"hasTypes\": 0, \n    \"iconID\": 1084, \n    \"name_de\": \"Kampfdrohnen\", \n    \"name_en-us\": \"Combat Drones\", \n    \"name_es\": \"Drones de combate\", \n    \"name_fr\": \"Drones de combat\", \n    \"name_it\": \"Combat Drones\", \n    \"name_ja\": \"戦闘用ドローン\", \n    \"name_ko\": \"공격 드론\", \n    \"name_ru\": \"Боевые дроны\", \n    \"name_zh\": \"战斗无人机\", \n    \"nameID\": 65590, \n    \"parentGroupID\": 157\n  }, \n  \"204\": {\n    \"description_de\": \"Blaupausen von Kapselpiloten-Raumschiffen\", \n    \"description_en-us\": \"Blueprints of capsuleer spaceships\", \n    \"description_es\": \"Planos de naves de capsulistas.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de capsulier\", \n    \"description_it\": \"Blueprints of capsuleer spaceships\", \n    \"description_ja\": \"カプセラ艦船のブループリント\", \n    \"description_ko\": \"함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи проектов кораблей капсулёров\", \n    \"description_zh\": \"各种舰船的蓝图\", \n    \"descriptionID\": 64517, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Schiffe\", \n    \"name_en-us\": \"Ships\", \n    \"name_es\": \"Naves\", \n    \"name_fr\": \"Vaisseaux\", \n    \"name_it\": \"Ships\", \n    \"name_ja\": \"艦船\", \n    \"name_ko\": \"함선\", \n    \"name_ru\": \"Корабли\", \n    \"name_zh\": \"舰船\", \n    \"nameID\": 65591, \n    \"parentGroupID\": 2\n  }, \n  \"205\": {\n    \"description_de\": \"Blueprints von Schiffen der Fregatten-Klasse.\", \n    \"description_en-us\": \"Blueprints of frigate-class vessels.\", \n    \"description_es\": \"Planos de naves de clase fragata.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe frégate.\", \n    \"description_it\": \"Blueprints of frigate-class vessels.\", \n    \"description_ja\": \"フリゲート級艦船のブループリント。\", \n    \"description_ko\": \"프리깃급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи фрегатов.\", \n    \"description_zh\": \"护卫舰级别舰船蓝图\", \n    \"descriptionID\": 64518, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Fregatten\", \n    \"name_en-us\": \"Frigates\", \n    \"name_es\": \"Fragatas\", \n    \"name_fr\": \"Frégates\", \n    \"name_it\": \"Frigates\", \n    \"name_ja\": \"フリゲート\", \n    \"name_ko\": \"프리깃\", \n    \"name_ru\": \"Фрегаты\", \n    \"name_zh\": \"护卫舰\", \n    \"nameID\": 65592, \n    \"parentGroupID\": 204\n  }, \n  \"206\": {\n    \"description_de\": \"Blueprints von Schiffen der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Blueprints of cruiser-class vessels.\", \n    \"description_es\": \"Planos de naves de clase crucero.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe croiseur.\", \n    \"description_it\": \"Blueprints of cruiser-class vessels.\", \n    \"description_ja\": \"巡洋艦級艦船のブループリント。\", \n    \"description_ko\": \"크루저급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кораблей крейсерского класса.\", \n    \"description_zh\": \"巡洋舰等级舰船的蓝图。\", \n    \"descriptionID\": 64519, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Kreuzer\", \n    \"name_en-us\": \"Cruisers\", \n    \"name_es\": \"Cruceros\", \n    \"name_fr\": \"Croiseurs\", \n    \"name_it\": \"Cruisers\", \n    \"name_ja\": \"巡洋艦\", \n    \"name_ko\": \"크루저\", \n    \"name_ru\": \"Крейсеры\", \n    \"name_zh\": \"巡洋舰\", \n    \"nameID\": 65593, \n    \"parentGroupID\": 204\n  }, \n  \"207\": {\n    \"description_de\": \"Bluerprints von Schiffen der Schlachtschiff-Klasse.\", \n    \"description_en-us\": \"Blueprints of battleship-class vessels.\", \n    \"description_es\": \"Planos de naves de clase acorazado.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe cuirassé.\", \n    \"description_it\": \"Blueprints of battleship-class vessels.\", \n    \"description_ja\": \"戦艦級の艦船のブループリント。\", \n    \"description_ko\": \"배틀쉽급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи линейных кораблей.\", \n    \"description_zh\": \"战列舰蓝图\", \n    \"descriptionID\": 64520, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Schlachtschiffe\", \n    \"name_en-us\": \"Battleships\", \n    \"name_es\": \"Acorazados\", \n    \"name_fr\": \"Cuirassés\", \n    \"name_it\": \"Battleships\", \n    \"name_ja\": \"戦艦\", \n    \"name_ko\": \"배틀쉽\", \n    \"name_ru\": \"Линкоры\", \n    \"name_zh\": \"战列舰\", \n    \"nameID\": 65594, \n    \"parentGroupID\": 204\n  }, \n  \"208\": {\n    \"description_de\": \"Blaupausen für Transporter\", \n    \"description_en-us\": \"Blueprints of haulers\", \n    \"description_es\": \"Planos de naves de mercancías.\", \n    \"description_fr\": \"Plans de construction de cargos\", \n    \"description_it\": \"Blueprints of haulers\", \n    \"description_ja\": \"輸送艇の設計図\", \n    \"description_ko\": \"운반선 블루프린트\", \n    \"description_ru\": \"Чертежи перевозчиков\", \n    \"description_zh\": \"运载舰的蓝图\", \n    \"descriptionID\": 64521, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Transporter\", \n    \"name_en-us\": \"Haulers\", \n    \"name_es\": \"Naves de mercancías\", \n    \"name_fr\": \"Cargos\", \n    \"name_it\": \"Haulers\", \n    \"name_ja\": \"ハウラー\", \n    \"name_ko\": \"운반선\", \n    \"name_ru\": \"Перевозчики\", \n    \"name_zh\": \"运载舰\", \n    \"nameID\": 65595, \n    \"parentGroupID\": 204\n  }, \n  \"209\": {\n    \"description_de\": \"Blaupausen von Modulen und Ausrüstung von Kapselpiloten-Raumschiffen\", \n    \"description_en-us\": \"Blueprints of modules and equipment for capsuleer spaceships\", \n    \"description_es\": \"Planos de módulos y equipo para naves de capsulistas.\", \n    \"description_fr\": \"Plans de construction de modules et d'équipement pour vaisseaux de capsulier\", \n    \"description_it\": \"Blueprints of modules and equipment for capsuleer spaceships\", \n    \"description_ja\": \"カプセラ艦船用のモジュールおよび装備のブループリント\", \n    \"description_ko\": \"함선 장비 관련 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи модулей и оборудования для кораблей капсулёров\", \n    \"description_zh\": \"各种舰船装备的蓝图\", \n    \"descriptionID\": 64522, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Schiffsausrüstung\", \n    \"name_en-us\": \"Ship Equipment\", \n    \"name_es\": \"Instrumental de la nave\", \n    \"name_fr\": \"Équipement de vaisseau\", \n    \"name_it\": \"Ship Equipment\", \n    \"name_ja\": \"艦船装備\", \n    \"name_ko\": \"함선 장비\", \n    \"name_ru\": \"Оборудование кораблей\", \n    \"name_zh\": \"舰船装备\", \n    \"nameID\": 65596, \n    \"parentGroupID\": 2\n  }, \n  \"210\": {\n    \"description_de\": \"Blueprints von Waffensystemen von auf Kapseln zugeschnittenen Schiffen.\", \n    \"description_en-us\": \"Blueprints of weapons systems for capsule-fitted vessels.\", \n    \"description_es\": \"Planos de sistemas de armas para naves equipadas con cápsulas.\", \n    \"description_fr\": \"Plans de construction de systèmes d'armement de vaisseaux équipés de capsule.\", \n    \"description_it\": \"Blueprints of weapons systems for capsule-fitted vessels.\", \n    \"description_ja\": \"カプセル搭載型艦船用武器システムのブループリント。\", \n    \"description_ko\": \"캡슐 시스템을 사용하는 함선의 무기 시스템 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи оружейных систем для капсульных кораблей.\", \n    \"description_zh\": \"舰载武器系统蓝图。\", \n    \"descriptionID\": 64523, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Geschütztürme & -buchten\", \n    \"name_en-us\": \"Turrets & Bays\", \n    \"name_es\": \"Torretas y plataformas\", \n    \"name_fr\": \"Tourelles et lanceurs\", \n    \"name_it\": \"Turrets & Bays\", \n    \"name_ja\": \"タレットと装備\", \n    \"name_ko\": \"터렛 및 무기\", \n    \"name_ru\": \"Орудийные и пусковые установки\", \n    \"name_zh\": \"炮台和发射器\", \n    \"nameID\": 65597, \n    \"parentGroupID\": 209\n  }, \n  \"211\": {\n    \"description_de\": \"Blaupausen von Munition und Ladungen\", \n    \"description_en-us\": \"Blueprints of ammunition and charges\", \n    \"description_es\": \"Planos de munición y cargas.\", \n    \"description_fr\": \"Plans de construction de munitions et de charges\", \n    \"description_it\": \"Blueprints of ammunition and charges\", \n    \"description_ja\": \"弾薬とチャージのブループリント\", \n    \"description_ko\": \"탄약 및 차지 관련 블루프린트\", \n    \"description_ru\": \"Чертежи боеприпасов и зарядов\", \n    \"description_zh\": \"各种弹药和装料的蓝图\", \n    \"descriptionID\": 64524, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Munition & Ladungen\", \n    \"name_en-us\": \"Ammunition & Charges\", \n    \"name_es\": \"Munición y cargas\", \n    \"name_fr\": \"Munitions et charges\", \n    \"name_it\": \"Ammunition & Charges\", \n    \"name_ja\": \"弾薬とチャージ\", \n    \"name_ko\": \"탄약 및 차지\", \n    \"name_ru\": \"Боеприпасы и расходники\", \n    \"name_zh\": \"军火和弹药\", \n    \"nameID\": 65598, \n    \"parentGroupID\": 2\n  }, \n  \"214\": {\n    \"description_de\": \"Blueprints von Schiffsrumpf- und Panzerungssystemen.\", \n    \"description_en-us\": \"Blueprints of hull and armor systems.\", \n    \"description_es\": \"Planos de sistemas de casco y blindaje.\", \n    \"description_fr\": \"Plans de construction de coques et de systèmes de blindage.\", \n    \"description_it\": \"Blueprints of hull and armor systems.\", \n    \"description_ja\": \"船体およびアーマーシステムのブループリント。\", \n    \"description_ko\": \"선체 및 장갑 시스템 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи систем корпуса и брони.\", \n    \"description_zh\": \"船体和装甲系统蓝图\", \n    \"descriptionID\": 64527, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Rumpf & Panzerung\", \n    \"name_en-us\": \"Hull & Armor\", \n    \"name_es\": \"Casco y blindaje\", \n    \"name_fr\": \"Coque et blindage\", \n    \"name_it\": \"Hull & Armor\", \n    \"name_ja\": \"船体とアーマー\", \n    \"name_ko\": \"선체 및 장갑\", \n    \"name_ru\": \"Элементы корпуса и брони\", \n    \"name_zh\": \"船体和装甲\", \n    \"nameID\": 65601, \n    \"parentGroupID\": 209\n  }, \n  \"252\": {\n    \"description_de\": \"Blueprints von Antriebssystemen.\", \n    \"description_en-us\": \"Blueprints of propulsion systems.\", \n    \"description_es\": \"Planos de sistemas de propulsión.\", \n    \"description_fr\": \"Plans de construction de systèmes de propulsion.\", \n    \"description_it\": \"Blueprints of propulsion systems.\", \n    \"description_ja\": \"推進力システムのブループリント。\", \n    \"description_ko\": \"추진기 시스템 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи двигательных установок.\", \n    \"description_zh\": \"推进系统的蓝图。\", \n    \"descriptionID\": 64528, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Schiffsantrieb\", \n    \"name_en-us\": \"Propulsion\", \n    \"name_es\": \"Propulsión\", \n    \"name_fr\": \"Propulsion\", \n    \"name_it\": \"Propulsion\", \n    \"name_ja\": \"推進力\", \n    \"name_ko\": \"추진기\", \n    \"name_ru\": \"Двигательные установки\", \n    \"name_zh\": \"推进器\", \n    \"nameID\": 65602, \n    \"parentGroupID\": 209\n  }, \n  \"261\": {\n    \"description_de\": \"Blueprints von Caldari-Fregatten-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari frigate designs.\", \n    \"description_es\": \"Planos de diseños de fragatas caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de frégates caldari.\", \n    \"description_it\": \"Blueprints of Caldari frigate designs.\", \n    \"description_ja\": \"カルダリフリゲート設計図のブループリント。\", \n    \"description_ko\": \"칼다리 프리깃 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи фрегатов разработки Государства Caldari.\", \n    \"description_zh\": \"加达里护卫舰设计蓝图\", \n    \"descriptionID\": 64529, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65603, \n    \"parentGroupID\": 205\n  }, \n  \"264\": {\n    \"description_de\": \"Blueprints von Minmatar-Fregatten-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar frigate designs.\", \n    \"description_es\": \"Planos de diseños de fragatas minmatarianas.\", \n    \"description_fr\": \"Plans de construction de modèles de frégates minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar frigate designs.\", \n    \"description_ja\": \"ミンマターフリゲート設計図のブループリント。\", \n    \"description_ko\": \"민마타 프리깃 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи фрегатов разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔护卫舰设计蓝图。\", \n    \"descriptionID\": 64530, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65604, \n    \"parentGroupID\": 205\n  }, \n  \"272\": {\n    \"description_de\": \"Blueprints von Amarr-Fregatten-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr frigate designs.\", \n    \"description_es\": \"Planos de diseños de fragatas amarrianas.\", \n    \"description_fr\": \"Plans de construction de modèles de frégates amarr.\", \n    \"description_it\": \"Blueprints of Amarr frigate designs.\", \n    \"description_ja\": \"アマーフリゲート設計図のブループリント。\", \n    \"description_ko\": \"아마르 프리깃 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи фрегатов разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛护卫舰设计蓝图\", \n    \"descriptionID\": 64531, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65605, \n    \"parentGroupID\": 205\n  }, \n  \"273\": {\n    \"description_de\": \"Blueprints von Minmatar-Kreuzer-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar cruiser designs.\", \n    \"description_es\": \"Planos de diseños de cruceros minmatarianos.\", \n    \"description_fr\": \"Plans de construction de modèles de croiseurs minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar cruiser designs.\", \n    \"description_ja\": \"ミンマター巡洋艦設計図のブループリント。\", \n    \"description_ko\": \"민마타 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи крейсеров разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔巡洋舰设计蓝图。\", \n    \"descriptionID\": 64532, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65606, \n    \"parentGroupID\": 206\n  }, \n  \"274\": {\n    \"description_de\": \"Blueprints von Amarr-Kreuzer-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr cruiser designs.\", \n    \"description_es\": \"Planos de diseños de cruceros amarrianos.\", \n    \"description_fr\": \"Plans de construction de modèles de croiseurs amarr.\", \n    \"description_it\": \"Blueprints of Amarr cruiser designs.\", \n    \"description_ja\": \"アマー巡洋艦設計図のブループリント\", \n    \"description_ko\": \"아마르 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи крейсеров разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛巡洋舰设计蓝图\", \n    \"descriptionID\": 64533, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65607, \n    \"parentGroupID\": 206\n  }, \n  \"275\": {\n    \"description_de\": \"Blueprints von Caldari-Kreuzer-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari cruiser designs.\", \n    \"description_es\": \"Planos de diseños de cruceros caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de croiseurs caldari.\", \n    \"description_it\": \"Blueprints of Caldari cruiser designs.\", \n    \"description_ja\": \"カルダリ巡洋艦設計書のブループリント。\", \n    \"description_ko\": \"칼다리 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи крейсеров разработки Государства Caldari.\", \n    \"description_zh\": \"加达里巡洋舰设计蓝图\", \n    \"descriptionID\": 64534, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65608, \n    \"parentGroupID\": 206\n  }, \n  \"276\": {\n    \"description_de\": \"Blueprints von Gallente-Kreuzer-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente cruiser designs.\", \n    \"description_es\": \"Planos de diseños de cruceros gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de croiseurs gallente.\", \n    \"description_it\": \"Blueprints of Gallente cruiser designs.\", \n    \"description_ja\": \"ガレンテ巡洋艦設計書のブループリント。\", \n    \"description_ko\": \"갈란테 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи крейсеров разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特巡洋舰设计蓝图。\", \n    \"descriptionID\": 64535, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65609, \n    \"parentGroupID\": 206\n  }, \n  \"277\": {\n    \"description_de\": \"Blueprints von Gallente-Fregatten-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente frigate designs.\", \n    \"description_es\": \"Planos de diseños de fragatas gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de frégates gallente.\", \n    \"description_it\": \"Blueprints of Gallente frigate designs.\", \n    \"description_ja\": \"ガレンテフリゲート設計図のブループリント。\", \n    \"description_ko\": \"갈란테 프리깃 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи фрегатов разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特护卫舰设计蓝图。\", \n    \"descriptionID\": 64536, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65610, \n    \"parentGroupID\": 205\n  }, \n  \"278\": {\n    \"description_de\": \"Blueprints von Minmatar-Schlachtschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar battleship designs.\", \n    \"description_es\": \"Planos de diseños de acorazados minmatarianos.\", \n    \"description_fr\": \"Plans de construction de modèles de cuirassés minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar battleship designs.\", \n    \"description_ja\": \"ミンマター戦艦設計図のブループリント。\", \n    \"description_ko\": \"민마타 배틀쉽 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи линкоров разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔战列舰设计蓝图。\", \n    \"descriptionID\": 64537, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65611, \n    \"parentGroupID\": 207\n  }, \n  \"279\": {\n    \"description_de\": \"Blueprints von Amarr-Schlachtschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr battleship designs.\", \n    \"description_es\": \"Planos de diseños de acorazados amarrianos.\", \n    \"description_fr\": \"Plans de construction de modèles de cuirassés amarr.\", \n    \"description_it\": \"Blueprints of Amarr battleship designs.\", \n    \"description_ja\": \"アマー戦艦設計図のブループリント。\", \n    \"description_ko\": \"아마르 배틀쉽 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи линкоров разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛战列舰设计蓝图\", \n    \"descriptionID\": 64538, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65612, \n    \"parentGroupID\": 207\n  }, \n  \"280\": {\n    \"description_de\": \"Blueprints von Caldari-Schlachtschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari battleship designs.\", \n    \"description_es\": \"Planos de diseños de acorazados caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de cuirassés caldari.\", \n    \"description_it\": \"Blueprints of Caldari battleship designs.\", \n    \"description_ja\": \"カルダリ戦艦設計図のブループリント。\", \n    \"description_ko\": \"칼다리 배틀쉽 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи линкоров разработки Государства Caldari.\", \n    \"description_zh\": \"加达里战列舰设计蓝图\", \n    \"descriptionID\": 64539, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65613, \n    \"parentGroupID\": 207\n  }, \n  \"281\": {\n    \"description_de\": \"Blueprints von Gallente-Schlachtschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente battleship designs.\", \n    \"description_es\": \"Planos de diseños de acorazados gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de cuirassés gallente.\", \n    \"description_it\": \"Blueprints of Gallente battleship designs.\", \n    \"description_ja\": \"カルダリ戦艦の設計図のブループリント。\", \n    \"description_ko\": \"갈란테 배틀쉽 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи линкоров разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特战列舰设计蓝图。\", \n    \"descriptionID\": 64540, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65614, \n    \"parentGroupID\": 207\n  }, \n  \"282\": {\n    \"description_de\": \"Blueprints von Minmatar-Industrial-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar industrial designs.\", \n    \"description_es\": \"Planos de diseños de naves industriales minmatarianas.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux industriels minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar industrial designs.\", \n    \"description_ja\": \"ミンマター輸送艦設計図のブループリント。\", \n    \"description_ko\": \"민마타 인더스트리얼 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи промышленных кораблей разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔工业舰设计\", \n    \"descriptionID\": 64541, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65615, \n    \"parentGroupID\": 208\n  }, \n  \"283\": {\n    \"description_de\": \"Blueprints von Gallente-Industrial-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente industrial designs.\", \n    \"description_es\": \"Planos de diseños de naves industriales gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux industriels gallente.\", \n    \"description_it\": \"Blueprints of Gallente industrial designs.\", \n    \"description_ja\": \"ガレンテ輸送艦設計図のブループリント。\", \n    \"description_ko\": \"갈란테 인더스트리얼 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи промышленных кораблей разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特工业舰设计蓝图。\", \n    \"descriptionID\": 64542, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65616, \n    \"parentGroupID\": 208\n  }, \n  \"284\": {\n    \"description_de\": \"Blueprints von Caldari-Industrial-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari industrial designs.\", \n    \"description_es\": \"Planos de diseños industriales caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux industriels caldari.\", \n    \"description_it\": \"Blueprints of Caldari industrial designs.\", \n    \"description_ja\": \"カルダリ輸送艦設計図のブループリント。\", \n    \"description_ko\": \"칼다리 인더스트리얼 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи промышленных кораблей разработки Государства Caldari.\", \n    \"description_zh\": \"加达里工业舰设计蓝图\", \n    \"descriptionID\": 64543, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65617, \n    \"parentGroupID\": 208\n  }, \n  \"285\": {\n    \"description_de\": \"Blueprints von Amarr-Industrial-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr industrial designs.\", \n    \"description_es\": \"Planos de diseños de naves industriales amarrianas.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux industriels amarr.\", \n    \"description_it\": \"Blueprints of Amarr industrial designs.\", \n    \"description_ja\": \"アマー輸送艦設計図のブループリント。\", \n    \"description_ko\": \"아마르 인더스트리얼 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи промышленных кораблей разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛工业舰设计蓝图\", \n    \"descriptionID\": 64544, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65618, \n    \"parentGroupID\": 208\n  }, \n  \"286\": {\n    \"description_de\": \"Blueprints von Hybridgeschütztürmen für auf Kapseln zugeschnittene Schiffe.\", \n    \"description_en-us\": \"Blueprints of hybrid turrets for capsule-fitted vessels.\", \n    \"description_es\": \"Planos de torretas híbridas para naves equipadas con cápsulas.\", \n    \"description_fr\": \"Plans de construction de tourelles hybrides pour vaisseaux équipés de capsule.\", \n    \"description_it\": \"Blueprints of hybrid turrets for capsule-fitted vessels.\", \n    \"description_ja\": \"カプセル搭載型艦船用ハイブリッドタレットのブループリント。\", \n    \"description_ko\": \"캡슐 시스템을 이용하는 함선의 하이브리드 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи турелей гибридного действия для капсульных кораблей.\", \n    \"description_zh\": \"混合炮台蓝图。\", \n    \"descriptionID\": 64545, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Hybridgeschütztürme\", \n    \"name_en-us\": \"Hybrid Turrets\", \n    \"name_es\": \"Torretas híbridas\", \n    \"name_fr\": \"Tourelles hybrides\", \n    \"name_it\": \"Hybrid Turrets\", \n    \"name_ja\": \"ハイブリッドタレット\", \n    \"name_ko\": \"하이브리드 터렛\", \n    \"name_ru\": \"Гибридные орудия\", \n    \"name_zh\": \"混合炮台\", \n    \"nameID\": 65619, \n    \"parentGroupID\": 210\n  }, \n  \"287\": {\n    \"description_de\": \"Blueprints von Projektilgeschütztürmen von auf Kapseln zugeschnittenen Schiffen.\", \n    \"description_en-us\": \"Blueprints of projectile turrets for capsule-fitted vessels.\", \n    \"description_es\": \"Planos de torretas de proyectiles para naves equipadas con cápsulas.\", \n    \"description_fr\": \"Plans de construction de tourelles à projectiles pour vaisseaux équipés de capsule.\", \n    \"description_it\": \"Blueprints of projectile turrets for capsule-fitted vessels.\", \n    \"description_ja\": \"カプセル搭載型艦船用プロジェクタイルタレットのブループリント。\", \n    \"description_ko\": \"캡슐 시스템을 이용하는 함선의 발사체 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи баллистических орудий, которыми оснащаются корабли капсулёров.\", \n    \"description_zh\": \"射弹炮台的蓝图\", \n    \"descriptionID\": 64546, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Projektilgeschütztürme\", \n    \"name_en-us\": \"Projectile Turrets\", \n    \"name_es\": \"Torretas de proyectiles\", \n    \"name_fr\": \"Tourelles à projectiles\", \n    \"name_it\": \"Projectile Turrets\", \n    \"name_ja\": \"プロジェクタイルタレット\", \n    \"name_ko\": \"발사체 터렛\", \n    \"name_ru\": \"Баллистические орудия\", \n    \"name_zh\": \"射弹炮台\", \n    \"nameID\": 65620, \n    \"parentGroupID\": 210\n  }, \n  \"288\": {\n    \"description_de\": \"Blaupausen von Energiegeschütztürmen für von Kapselpiloten geflogenen Schiffen.\", \n    \"description_en-us\": \"Blueprints of energy turrets for capsule-fitted ships.\", \n    \"description_es\": \"Planos de torretas de energía para naves equipadas con cápsulas.\", \n    \"description_fr\": \"Plans de construction de tourelles à énergie pour vaisseaux équipés de capsule.\", \n    \"description_it\": \"Blueprints of energy turrets for capsule-fitted ships.\", \n    \"description_ja\": \"カプセル搭載艦用のエネルギータレットのブループリント。\", \n    \"description_ko\": \"캡슐 시스템을 이용하는 함선의 에너지 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи лазерных орудий для кораблей капсулёров.\", \n    \"description_zh\": \"舰船使用的能量炮台蓝图。\", \n    \"descriptionID\": 64547, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Energiegeschütztürme\", \n    \"name_en-us\": \"Energy Turrets\", \n    \"name_es\": \"Torretas de energía\", \n    \"name_fr\": \"Tourelles à énergie\", \n    \"name_it\": \"Energy Turrets\", \n    \"name_ja\": \"エネルギータレット\", \n    \"name_ko\": \"에너지 터렛\", \n    \"name_ru\": \"Лазерные орудия\", \n    \"name_zh\": \"能量炮台\", \n    \"nameID\": 65621, \n    \"parentGroupID\": 210\n  }, \n  \"289\": {\n    \"description_de\": \"Blueprints von großen Hybridgeschütztürmen.\", \n    \"description_en-us\": \"Blueprints of large hybrid turrets.\", \n    \"description_es\": \"Planos de torretas híbridas grandes.\", \n    \"description_fr\": \"Plans de construction de grandes tourelles hybrides.\", \n    \"description_it\": \"Blueprints of large hybrid turrets.\", \n    \"description_ja\": \"大型ハイブリッドタレットのブループリント。\", \n    \"description_ko\": \"대형 하이브리드 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи турелей гибридного действия большого калибра.\", \n    \"description_zh\": \"大型混合炮台蓝图。\", \n    \"descriptionID\": 64548, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65622, \n    \"parentGroupID\": 286\n  }, \n  \"290\": {\n    \"description_de\": \"Blueprints von mittleren Hybridgeschütztürmen.\", \n    \"description_en-us\": \"Blueprints of medium hybrid turrets.\", \n    \"description_es\": \"Planos de torretas híbridas de medio calibre.\", \n    \"description_fr\": \"Plans de construction de tourelles hybrides moyennes.\", \n    \"description_it\": \"Blueprints of medium hybrid turrets.\", \n    \"description_ja\": \"中型ハイブリッドタレットのブループリント。\", \n    \"description_ko\": \"중형 하이브리드 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи турелей гибридного действия среднего калибра.\", \n    \"description_zh\": \"中型混合炮台蓝图。\", \n    \"descriptionID\": 64549, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65623, \n    \"parentGroupID\": 286\n  }, \n  \"291\": {\n    \"description_de\": \"Blueprints von kleinen Hybridgeschütztürmen.\", \n    \"description_en-us\": \"Blueprints of small hybrid turrets.\", \n    \"description_es\": \"Planos de torretas híbridas de pequeño calibre.\", \n    \"description_fr\": \"Plans de construction de petites tourelles hybrides.\", \n    \"description_it\": \"Blueprints of small hybrid turrets.\", \n    \"description_ja\": \"小型ハイブリッドタレットのブループリント。\", \n    \"description_ko\": \"소형 하이브리드 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи турелей гибридного действия малого калибра.\", \n    \"description_zh\": \"小型混合炮台蓝图。\", \n    \"descriptionID\": 64550, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65624, \n    \"parentGroupID\": 286\n  }, \n  \"292\": {\n    \"description_de\": \"Blueprints von kleinen Lasergeschütztürmen.\", \n    \"description_en-us\": \"Blueprints of small laser turrets.\", \n    \"description_es\": \"Planos de torretas láser de pequeño calibre.\", \n    \"description_fr\": \"Plans de construction de petites tourelles laser.\", \n    \"description_it\": \"Blueprints of small laser turrets.\", \n    \"description_ja\": \"小型レーザータレットのブループリント。\", \n    \"description_ko\": \"소형 레이저 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи лазерных турелей малого калибра.\", \n    \"description_zh\": \"小型激光炮台蓝图。\", \n    \"descriptionID\": 64551, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65625, \n    \"parentGroupID\": 288\n  }, \n  \"293\": {\n    \"description_de\": \"Blueprints von mittleren Lasergeschütztürmen.\", \n    \"description_en-us\": \"Blueprints of medium laser turrets.\", \n    \"description_es\": \"Planos de torretas láser de medio calibre.\", \n    \"description_fr\": \"Plans de construction de tourelles laser moyennes.\", \n    \"description_it\": \"Blueprints of medium laser turrets.\", \n    \"description_ja\": \"中型レーザータレットのブループリント。\", \n    \"description_ko\": \"중형 레이저 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи лазерных турелей среднего калибра.\", \n    \"description_zh\": \"中型激光炮台蓝图。\", \n    \"descriptionID\": 64552, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65626, \n    \"parentGroupID\": 288\n  }, \n  \"295\": {\n    \"description_de\": \"Blueprints von großen Lasergeschütztürmen.\", \n    \"description_en-us\": \"Blueprints of large laser turrets.\", \n    \"description_es\": \"Planos de torretas láser de gran calibre.\", \n    \"description_fr\": \"Plans de construction de grandes tourelles laser.\", \n    \"description_it\": \"Blueprints of large laser turrets.\", \n    \"description_ja\": \"大型レーザータレットのブループリント。\", \n    \"description_ko\": \"대형 레이저 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи лазерных турелей большого калибра.\", \n    \"description_zh\": \"大型激光炮台蓝图。\", \n    \"descriptionID\": 64553, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65627, \n    \"parentGroupID\": 288\n  }, \n  \"296\": {\n    \"description_de\": \"Blueprints von kleinen Projektilgeschütztürmen.\", \n    \"description_en-us\": \"Blueprints of small projectile turrets.\", \n    \"description_es\": \"Planos de torretas de proyectiles de pequeño calibre.\", \n    \"description_fr\": \"Plans de construction de petites tourelles à projectiles.\", \n    \"description_it\": \"Blueprints of small projectile turrets.\", \n    \"description_ja\": \"小型プロジェクタイルタレットのブループリント。\", \n    \"description_ko\": \"소형 발사체 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи баллистических орудий малого калибра.\", \n    \"description_zh\": \"小型射弹炮台蓝图。\", \n    \"descriptionID\": 64554, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65628, \n    \"parentGroupID\": 287\n  }, \n  \"297\": {\n    \"description_de\": \"Blueprints von mittleren Projektilgeschütztürmen.\", \n    \"description_en-us\": \"Blueprints of medium projectile turrets.\", \n    \"description_es\": \"Planos de torretas de proyectiles de medio calibre.\", \n    \"description_fr\": \"Plans de construction de tourelles à projectiles intermédiaires.\", \n    \"description_it\": \"Blueprints of medium projectile turrets.\", \n    \"description_ja\": \"中型プロジェクタイルタレットのブループリント。\", \n    \"description_ko\": \"중형 발사체 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи баллистических орудий среднего калибра.\", \n    \"description_zh\": \"中型射弹炮台蓝图。\", \n    \"descriptionID\": 64555, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65629, \n    \"parentGroupID\": 287\n  }, \n  \"298\": {\n    \"description_de\": \"Blueprints von großen Projektilgeschütztürmen.\", \n    \"description_en-us\": \"Blueprints of large projectile turrets.\", \n    \"description_es\": \"Planos de torretas de proyectiles de gran calibre.\", \n    \"description_fr\": \"Plans de construction de grandes tourelles à projectiles.\", \n    \"description_it\": \"Blueprints of large projectile turrets.\", \n    \"description_ja\": \"大型プロジェクタイルタレットのブループリント。\", \n    \"description_ko\": \"대형 발사체 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи баллистических орудий большого калибра.\", \n    \"description_zh\": \"大型射弹炮塔的蓝图。\", \n    \"descriptionID\": 64556, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65630, \n    \"parentGroupID\": 287\n  }, \n  \"299\": {\n    \"description_de\": \"Blueprints von Projektilmunition.\", \n    \"description_en-us\": \"Projectile ammo blueprints.\", \n    \"description_es\": \"Planos de munición de proyectiles.\", \n    \"description_fr\": \"Plans de construction de munitions de projectiles.\", \n    \"description_it\": \"Projectile ammo blueprints.\", \n    \"description_ja\": \"プロジェクタイル弾のブループリント。\", \n    \"description_ko\": \"발사체 탄약 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи снарядов.\", \n    \"description_zh\": \"射弹弹药蓝图。\", \n    \"descriptionID\": 64557, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Projektilmunition\", \n    \"name_en-us\": \"Projectile Ammo\", \n    \"name_es\": \"Munición de proyectiles\", \n    \"name_fr\": \"Munition de projectile\", \n    \"name_it\": \"Projectile Ammo\", \n    \"name_ja\": \"プロジェクタイル弾\", \n    \"name_ko\": \"발사체 탄약\", \n    \"name_ru\": \"Боеприпасы баллистических орудий\", \n    \"name_zh\": \"射弹弹药\", \n    \"nameID\": 65631, \n    \"parentGroupID\": 211\n  }, \n  \"300\": {\n    \"description_de\": \"Blueprints von Hybridladungen.\", \n    \"description_en-us\": \"Hybrid charge blueprints.\", \n    \"description_es\": \"Planos de cargas híbridas.\", \n    \"description_fr\": \"Plans de construction de charges hybrides.\", \n    \"description_it\": \"Hybrid charge blueprints.\", \n    \"description_ja\": \"ハイブリッド弾のブループリント。\", \n    \"description_ko\": \"하이브리드탄 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи гибридных боеприпасов.\", \n    \"description_zh\": \"混合弹药蓝图。\", \n    \"descriptionID\": 64558, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Hybridmunition\", \n    \"name_en-us\": \"Hybrid Charges\", \n    \"name_es\": \"Cargas híbridas\", \n    \"name_fr\": \"Charges hybrides\", \n    \"name_it\": \"Hybrid Charges\", \n    \"name_ja\": \"ハイブリッド弾\", \n    \"name_ko\": \"하이브리드탄\", \n    \"name_ru\": \"Гибридные боеприпасы\", \n    \"name_zh\": \"混合弹药\", \n    \"nameID\": 65632, \n    \"parentGroupID\": 211\n  }, \n  \"301\": {\n    \"description_de\": \"Blueprints von Frequenzkristallen.\", \n    \"description_en-us\": \"Frequency crystal blueprints.\", \n    \"description_es\": \"Planos de cristales de frecuencia.\", \n    \"description_fr\": \"Plans de construction de cristaux de fréquence.\", \n    \"description_it\": \"Frequency crystal blueprints.\", \n    \"description_ja\": \"フリーケンシークリスタルのブループリント。\", \n    \"description_ko\": \"프리퀀시 크리스탈 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи частотных кристаллов.\", \n    \"description_zh\": \"频率晶体蓝图\", \n    \"descriptionID\": 64559, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Frequenzkristalle\", \n    \"name_en-us\": \"Frequency Crystals\", \n    \"name_es\": \"Cristales de frecuencia\", \n    \"name_fr\": \"Cristaux de fréquence\", \n    \"name_it\": \"Frequency Crystals\", \n    \"name_ja\": \"フリーケンシークリスタル\", \n    \"name_ko\": \"프리퀀시 크리스탈\", \n    \"name_ru\": \"Кристаллы для лазеров\", \n    \"name_zh\": \"频率晶体\", \n    \"nameID\": 65633, \n    \"parentGroupID\": 211\n  }, \n  \"302\": {\n    \"description_de\": \"Blueprints von kleinen Frequenzkristallen.\", \n    \"description_en-us\": \"Blueprints of small frequency crystals.\", \n    \"description_es\": \"Planos de cristales de frecuencia de pequeño calibre.\", \n    \"description_fr\": \"Plans de construction de petits cristaux de fréquence.\", \n    \"description_it\": \"Blueprints of small frequency crystals.\", \n    \"description_ja\": \"小型フリーケンシークリスタルのブループリント。\", \n    \"description_ko\": \"소형 프리퀀시 크리스탈 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи частотных кристаллов малого калибра.\", \n    \"description_zh\": \"小型频率晶体蓝图。\", \n    \"descriptionID\": 64560, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65634, \n    \"parentGroupID\": 301\n  }, \n  \"303\": {\n    \"description_de\": \"Blueprints von mittleren Frequenzkristallen.\", \n    \"description_en-us\": \"Blueprints of medium frequency crystals.\", \n    \"description_es\": \"Planos de cristales de frecuencia de medio calibre.\", \n    \"description_fr\": \"Plans de construction de cristaux de fréquence intermédiaires.\", \n    \"description_it\": \"Blueprints of medium frequency crystals.\", \n    \"description_ja\": \"中型フリーケンシークリスタルのブループリント。\", \n    \"description_ko\": \"중형 프리퀀시 크리스탈 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи частотных кристаллов среднего калибра.\", \n    \"description_zh\": \"中型频率晶体蓝图。\", \n    \"descriptionID\": 64561, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65635, \n    \"parentGroupID\": 301\n  }, \n  \"305\": {\n    \"description_de\": \"Blueprints von großen Frequenzkristallen.\", \n    \"description_en-us\": \"Blueprints of large frequency crystals.\", \n    \"description_es\": \"Planos de cristales de frecuencia de gran calibre.\", \n    \"description_fr\": \"Plans de construction de grands cristaux de fréquence.\", \n    \"description_it\": \"Blueprints of large frequency crystals.\", \n    \"description_ja\": \"大型フリーケンシークリスタルのブループリント。\", \n    \"description_ko\": \"대형 프리퀀시 크리스탈 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи частотных кристаллов большого калибра.\", \n    \"description_zh\": \"大型频率晶体的蓝图。\", \n    \"descriptionID\": 64562, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65636, \n    \"parentGroupID\": 301\n  }, \n  \"306\": {\n    \"description_de\": \"Blueprints von großer Hybridmunition.\", \n    \"description_en-us\": \"Blueprints of large hybrid ammunition.\", \n    \"description_es\": \"Planos de munición híbrida de gran calibre.\", \n    \"description_fr\": \"Plans de construction de grandes munitions hybrides.\", \n    \"description_it\": \"Blueprints of large hybrid ammunition.\", \n    \"description_ja\": \"大型ハイブリッド弾のブループリント。\", \n    \"description_ko\": \"대형 하이브리드탄 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи гибридных зарядов большого калибра.\", \n    \"description_zh\": \"大型混合弹药的蓝图。\", \n    \"descriptionID\": 64563, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65637, \n    \"parentGroupID\": 300\n  }, \n  \"307\": {\n    \"description_de\": \"Blueprints von kleiner Hybridmunition.\", \n    \"description_en-us\": \"Blueprints of small hybrid ammunition.\", \n    \"description_es\": \"Planos de munición híbrida de pequeño calibre.\", \n    \"description_fr\": \"Plans de construction de petites munitions hybrides.\", \n    \"description_it\": \"Blueprints of small hybrid ammunition.\", \n    \"description_ja\": \"小型ハイブリッド弾のブループリント。\", \n    \"description_ko\": \"소형 하이브리탄 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи гибридных боеприпасов малого калибра.\", \n    \"description_zh\": \"小型混合弹药蓝图。\", \n    \"descriptionID\": 64564, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65638, \n    \"parentGroupID\": 300\n  }, \n  \"308\": {\n    \"description_de\": \"Blueprints von mittlerer Hybrid-Munition.\", \n    \"description_en-us\": \"Blueprints of medium hybrid ammunition.\", \n    \"description_es\": \"Planos de munición híbrida de medio calibre.\", \n    \"description_fr\": \"Plans de construction de munitions hybrides intermédiaires.\", \n    \"description_it\": \"Blueprints of medium hybrid ammunition.\", \n    \"description_ja\": \"ミディアムハイブリッド弾のブループリント。\", \n    \"description_ko\": \"중형 하이브리드탄 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи гибридных зарядов среднего калибра.\", \n    \"description_zh\": \"中型混合弹药蓝图。\", \n    \"descriptionID\": 64565, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65639, \n    \"parentGroupID\": 300\n  }, \n  \"309\": {\n    \"description_de\": \"Blueprints von großer Projektilmunition.\", \n    \"description_en-us\": \"Blueprints of large projectile ammunition.\", \n    \"description_es\": \"Planos de munición de proyectiles de gran calibre.\", \n    \"description_fr\": \"Plans de construction de grandes munitions de projectiles.\", \n    \"description_it\": \"Blueprints of large projectile ammunition.\", \n    \"description_ja\": \"大型プロジェクタイル弾のブループリント。\", \n    \"description_ko\": \"대형 발사체 탄약 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи артиллерийских снарядов большого калибра.\", \n    \"description_zh\": \"大型射弹弹药的蓝图。\", \n    \"descriptionID\": 64566, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65640, \n    \"parentGroupID\": 299\n  }, \n  \"312\": {\n    \"description_de\": \"Blueprints von mittlerer Projektil-Munition.\", \n    \"description_en-us\": \"Blueprints of medium projectile ammunition.\", \n    \"description_es\": \"Planos de munición de proyectiles de medio calibre.\", \n    \"description_fr\": \"Plans de construction de munitions moyennes de projectiles.\", \n    \"description_it\": \"Blueprints of medium projectile ammunition.\", \n    \"description_ja\": \"中型プロジェクタイル弾のブループリント。\", \n    \"description_ko\": \"중형 발사체 탄약 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи огнестрельных боеприпасов среднего калибра.\", \n    \"description_zh\": \"中型射弹弹药蓝图。\", \n    \"descriptionID\": 64567, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65641, \n    \"parentGroupID\": 299\n  }, \n  \"313\": {\n    \"description_de\": \"Blueprints von kleiner Projektilmunition.\", \n    \"description_en-us\": \"Blueprints of small projectile ammunition.\", \n    \"description_es\": \"Planos de munición de proyectiles de pequeño calibre.\", \n    \"description_fr\": \"Plans de construction de petites munitions de projectiles.\", \n    \"description_it\": \"Blueprints of small projectile ammunition.\", \n    \"description_ja\": \"小型プロジェクタイル弾のブループリント。\", \n    \"description_ko\": \"소형 발사체 탄약 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи огнестрельных боеприпасов малого калибра.\", \n    \"description_zh\": \"小型射弹弹药蓝图。\", \n    \"descriptionID\": 64568, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65642, \n    \"parentGroupID\": 299\n  }, \n  \"314\": {\n    \"description_de\": \"Blueprints von Flugkörpern.\", \n    \"description_en-us\": \"Missile blueprints.\", \n    \"description_es\": \"Planos de misiles.\", \n    \"description_fr\": \"Plans de construction de missiles.\", \n    \"description_it\": \"Missile blueprints.\", \n    \"description_ja\": \"ミサイルのブループリント。\", \n    \"description_ko\": \"미사일 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ракет.\", \n    \"description_zh\": \"导弹蓝图。\", \n    \"descriptionID\": 64569, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Lenkwaffen\", \n    \"name_en-us\": \"Missiles\", \n    \"name_es\": \"Misiles\", \n    \"name_fr\": \"Missiles\", \n    \"name_it\": \"Missiles\", \n    \"name_ja\": \"ミサイル\", \n    \"name_ko\": \"미사일\", \n    \"name_ru\": \"Ракеты\", \n    \"name_zh\": \"导弹\", \n    \"nameID\": 65643, \n    \"parentGroupID\": 211\n  }, \n  \"315\": {\n    \"description_de\": \"Blueprints von Freund/Feind-Raketen.\", \n    \"description_en-us\": \"Blueprints of friend-or-foe missiles.\", \n    \"description_es\": \"Planos de misiles con identificación de amigo o enemigo (IFF).\", \n    \"description_fr\": \"Plans de construction de missiles F.O.F.\", \n    \"description_it\": \"Blueprints of friend-or-foe missiles.\", \n    \"description_ja\": \"敵と味方を識別するミサイルのブループリント。\", \n    \"description_ko\": \"자동으로 적을 추적하는 미사일 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ракет с системой распознавания «свой-чужой».\", \n    \"description_zh\": \"FOF导弹蓝图\", \n    \"descriptionID\": 64570, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Auto-Zielerfassung\", \n    \"name_en-us\": \"Auto-Targeting\", \n    \"name_es\": \"Adquisición automática de objetivos\", \n    \"name_fr\": \"Ciblage automatique\", \n    \"name_it\": \"Auto-Targeting\", \n    \"name_ja\": \"自動捕捉型ミサイル\", \n    \"name_ko\": \"오토 타겟팅 미사일\", \n    \"name_ru\": \"Ракеты с автономным наведением\", \n    \"name_zh\": \"自动锁定\", \n    \"nameID\": 65644, \n    \"parentGroupID\": 314\n  }, \n  \"316\": {\n    \"description_de\": \"Blueprints von Raketenabwehr-Missiles.\", \n    \"description_en-us\": \"Blueprints of defender missiles.\", \n    \"description_es\": \"Planos de misiles de defensa.\", \n    \"description_fr\": \"Plans de construction de missiles défenseurs.\", \n    \"description_it\": \"Blueprints of defender missiles.\", \n    \"description_ja\": \"防御ミサイルのブループリント。\", \n    \"description_ko\": \"디펜더 미사일 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи противоракет.\", \n    \"description_zh\": \"反弹道导弹蓝图\", \n    \"descriptionID\": 64571, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Abfangraketen\", \n    \"name_en-us\": \"Defender\", \n    \"name_es\": \"De defensa\", \n    \"name_fr\": \"Défenseur\", \n    \"name_it\": \"Defender\", \n    \"name_ja\": \"ディフェンダー\", \n    \"name_ko\": \"디펜더\", \n    \"name_ru\": \"Противоракеты\", \n    \"name_zh\": \"反弹道导弹\", \n    \"nameID\": 65645, \n    \"parentGroupID\": 314\n  }, \n  \"318\": {\n    \"description_de\": \"Blueprints von Raketen.\", \n    \"description_en-us\": \"Blueprints of rockets.\", \n    \"description_es\": \"Planos de cohetes.\", \n    \"description_fr\": \"Plans de construction de roquettes.\", \n    \"description_it\": \"Blueprints of rockets.\", \n    \"description_ja\": \"ロケットのブループリント。\", \n    \"description_ko\": \"로켓 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ракет ближнего боя.\", \n    \"description_zh\": \"火箭蓝图。\", \n    \"descriptionID\": 64573, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Raketen\", \n    \"name_en-us\": \"Rockets\", \n    \"name_es\": \"Cohetes\", \n    \"name_fr\": \"Roquettes\", \n    \"name_it\": \"Rockets\", \n    \"name_ja\": \"ロケット\", \n    \"name_ko\": \"로켓\", \n    \"name_ru\": \"Лёгкие штурмовые ракеты\", \n    \"name_zh\": \"火箭\", \n    \"nameID\": 65647, \n    \"parentGroupID\": 314\n  }, \n  \"320\": {\n    \"description_de\": \"Blueprints von Scansonden.\", \n    \"description_en-us\": \"Blueprints of scan probes.\", \n    \"description_es\": \"Planos de sondas de escaneo.\", \n    \"description_fr\": \"Plans de construction de sondes de balayage.\", \n    \"description_it\": \"Blueprints of scan probes.\", \n    \"description_ja\": \"スキャンプローブのブループリント。\", \n    \"description_ko\": \"스캔 프로브 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи сканирующих зондов.\", \n    \"description_zh\": \"扫描探针蓝图。\", \n    \"descriptionID\": 64574, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Scansonden\", \n    \"name_en-us\": \"Scan Probes\", \n    \"name_es\": \"Sondas de escaneo\", \n    \"name_fr\": \"Sondes de balayage\", \n    \"name_it\": \"Scan Probes\", \n    \"name_ja\": \"スキャンプローブ\", \n    \"name_ko\": \"스캔 프로브\", \n    \"name_ru\": \"Разведзонды\", \n    \"name_zh\": \"扫描探针\", \n    \"nameID\": 65648, \n    \"parentGroupID\": 1520\n  }, \n  \"325\": {\n    \"description_de\": \"Blueprints von Scannern.\", \n    \"description_en-us\": \"Blueprints of scanners.\", \n    \"description_es\": \"Planos de escáneres.\", \n    \"description_fr\": \"Plans de construction de scanners.\", \n    \"description_it\": \"Blueprints of scanners.\", \n    \"description_ja\": \"スキャナーのブループリント。\", \n    \"description_ko\": \"스캐너 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи сканеров\", \n    \"description_zh\": \"扫描器蓝图。\", \n    \"descriptionID\": 64578, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Scanner\", \n    \"name_en-us\": \"Scanners\", \n    \"name_es\": \"Escáneres\", \n    \"name_fr\": \"Scanners\", \n    \"name_it\": \"Scanners\", \n    \"name_ja\": \"スキャナー\", \n    \"name_ko\": \"스캐너\", \n    \"name_ru\": \"Бортовые разведсистемы\", \n    \"name_zh\": \"扫描器\", \n    \"nameID\": 65652, \n    \"parentGroupID\": 1710\n  }, \n  \"331\": {\n    \"description_de\": \"Blueprints für Mikro-Warp-Antrieb.\", \n    \"description_en-us\": \"Blueprints of microwarpdrives.\", \n    \"description_es\": \"Planos de motores de microwarp.\", \n    \"description_fr\": \"Plans de construction de propulseurs de microwarp.\", \n    \"description_it\": \"Blueprints of microwarpdrives.\", \n    \"description_ja\": \"マイクロワープドライブのブループリント。\", \n    \"description_ko\": \"마이크로 워프 드라이브 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи микроварп-ускорителей.\", \n    \"description_zh\": \"微型跃迁引擎的蓝图。\", \n    \"descriptionID\": 64582, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mikrowarpantriebe\", \n    \"name_en-us\": \"Microwarpdrives\", \n    \"name_es\": \"Motores de microwarp\", \n    \"name_fr\": \"Propulseurs de microwarp\", \n    \"name_it\": \"Microwarpdrives\", \n    \"name_ja\": \"マイクロワープドライブ\", \n    \"name_ko\": \"마이크로 워프 드라이브\", \n    \"name_ru\": \"Микроварп-ускорители\", \n    \"name_zh\": \"微型跃迁推进器\", \n    \"nameID\": 65656, \n    \"parentGroupID\": 252\n  }, \n  \"332\": {\n    \"description_de\": \"Blueprints von Antrieb-Upgrades.\", \n    \"description_en-us\": \"Blueprints of propulsion upgrades.\", \n    \"description_es\": \"Planos de mejoras de propulsión.\", \n    \"description_fr\": \"Plans de construction d'améliorations de la propulsion.\", \n    \"description_it\": \"Blueprints of propulsion upgrades.\", \n    \"description_ja\": \"推進力強化のブループリント。\", \n    \"description_ko\": \"추진기 업그레이드 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи пакетов модернизации двигательных установок.\", \n    \"description_zh\": \"推进器改良设备蓝图。\", \n    \"descriptionID\": 64583, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Antriebsupgrades\", \n    \"name_en-us\": \"Propulsion Upgrades\", \n    \"name_es\": \"Mejoras de propulsión\", \n    \"name_fr\": \"Améliorations de la propulsion\", \n    \"name_it\": \"Propulsion Upgrades\", \n    \"name_ja\": \"推進力強化\", \n    \"name_ko\": \"추진기 업그레이드\", \n    \"name_ru\": \"Улучшения двигательных установок\", \n    \"name_zh\": \"推进器改良\", \n    \"nameID\": 65657, \n    \"parentGroupID\": 252\n  }, \n  \"335\": {\n    \"description_de\": \"Blueprints von Schiffsrumpf-Upgrades.\", \n    \"description_en-us\": \"Blueprints of hull upgrades.\", \n    \"description_es\": \"Planos de mejoras de casco.\", \n    \"description_fr\": \"Plans de construction d'améliorations de coque.\", \n    \"description_it\": \"Blueprints of hull upgrades.\", \n    \"description_ja\": \"船体強化のブループリント。\", \n    \"description_ko\": \"선체 업그레이드 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи пакетов модернизации корпуса.\", \n    \"description_zh\": \"船体加固装置蓝图。\", \n    \"descriptionID\": 64586, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Rumpfupgrades\", \n    \"name_en-us\": \"Hull Upgrades\", \n    \"name_es\": \"Mejoras del casco\", \n    \"name_fr\": \"Améliorations de coque\", \n    \"name_it\": \"Hull Upgrades\", \n    \"name_ja\": \"船体強化\", \n    \"name_ko\": \"선체 업그레이드\", \n    \"name_ru\": \"Оптимизация корпуса\", \n    \"name_zh\": \"船体加固\", \n    \"nameID\": 65660, \n    \"parentGroupID\": 214\n  }, \n  \"338\": {\n    \"description_de\": \"Blueprints von Bergbaulasern.\", \n    \"description_en-us\": \"Blueprints of mining lasers.\", \n    \"description_es\": \"Planos de láseres mineros.\", \n    \"description_fr\": \"Plans de construction de lasers d'extraction.\", \n    \"description_it\": \"Blueprints of mining lasers.\", \n    \"description_ja\": \"採掘レーザーのブループリント。\", \n    \"description_ko\": \"채굴 레이저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи экстракторов.\", \n    \"description_zh\": \"采矿激光器蓝图。\", \n    \"descriptionID\": 64587, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Bergbaulaser\", \n    \"name_en-us\": \"Mining Lasers\", \n    \"name_es\": \"Láseres mineros\", \n    \"name_fr\": \"Lasers d’extraction\", \n    \"name_it\": \"Mining Lasers\", \n    \"name_ja\": \"採掘レーザー\", \n    \"name_ko\": \"채굴 레이저\", \n    \"name_ru\": \"Буровые лазеры\", \n    \"name_zh\": \"采矿激光器\", \n    \"nameID\": 65661, \n    \"parentGroupID\": 1711\n  }, \n  \"339\": {\n    \"description_de\": \"Blueprints für Cap Booster-Ladungen.\", \n    \"description_en-us\": \"Blueprints of cap booster charges.\", \n    \"description_es\": \"Planos de cargas de potenciador de condensador.\", \n    \"description_fr\": \"Plans de construction de charges de booster.\", \n    \"description_it\": \"Blueprints of cap booster charges.\", \n    \"description_ja\": \"キャップブースターチャージのブループリント。\", \n    \"description_ko\": \"캐패시터 부스터 차지 블루프린트\", \n    \"description_ru\": \"Чертежи зарядов для инжекторов.\", \n    \"description_zh\": \"电容注电装料蓝图。\", \n    \"descriptionID\": 64588, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Cap Booster-Ladungen\", \n    \"name_en-us\": \"Cap Booster Charges\", \n    \"name_es\": \"Cargas de potenciador de condensador\", \n    \"name_fr\": \"Charges d’appoint de capaciteur\", \n    \"name_it\": \"Cap Booster Charges\", \n    \"name_ja\": \"キャップブースターチャージ\", \n    \"name_ko\": \"캐패시터 부스터\", \n    \"name_ru\": \"Заряды пополнения накопителя\", \n    \"name_zh\": \"电容注电装料\", \n    \"nameID\": 65662, \n    \"parentGroupID\": 211\n  }, \n  \"340\": {\n    \"description_de\": \"Blueprints von Missile Launchern.\", \n    \"description_en-us\": \"Blueprints of missile launchers.\", \n    \"description_es\": \"Planos de lanzamisiles.\", \n    \"description_fr\": \"Plans de construction de lance-missiles.\", \n    \"description_it\": \"Blueprints of missile launchers.\", \n    \"description_ja\": \"ミサイルランチャーのブループリント。\", \n    \"description_ko\": \"미사일 런처 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи пусковых установок.\", \n    \"description_zh\": \"导弹发射器蓝图。\", \n    \"descriptionID\": 64589, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Lenkwaffenwerfer\", \n    \"name_en-us\": \"Missile Launchers\", \n    \"name_es\": \"Lanzamisiles\", \n    \"name_fr\": \"Lance-missiles\", \n    \"name_it\": \"Missile Launchers\", \n    \"name_ja\": \"ミサイルランチャー\", \n    \"name_ko\": \"미사일 런처\", \n    \"name_ru\": \"Пусковые установки\", \n    \"name_zh\": \"导弹发射器\", \n    \"nameID\": 65663, \n    \"parentGroupID\": 210\n  }, \n  \"341\": {\n    \"description_de\": \"Blueprints von Smartbombs.\", \n    \"description_en-us\": \"Blueprints of smartbombs.\", \n    \"description_es\": \"Planos de bombas inteligentes.\", \n    \"description_fr\": \"Plans de construction de bombes de proximité.\", \n    \"description_it\": \"Blueprints of smartbombs.\", \n    \"description_ja\": \"スマートボムのブループリント。\", \n    \"description_ko\": \"스마트폭탄 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи импульсных излучателей.\", \n    \"description_zh\": \"立体炸弹蓝图\", \n    \"descriptionID\": 64590, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Smartbombs\", \n    \"name_en-us\": \"Smartbombs\", \n    \"name_es\": \"Bombas inteligentes\", \n    \"name_fr\": \"Bombes intelligentes\", \n    \"name_it\": \"Smartbombs\", \n    \"name_ja\": \"スマートボム\", \n    \"name_ko\": \"스마트폭탄\", \n    \"name_ru\": \"Импульсные излучатели\", \n    \"name_zh\": \"立体炸弹\", \n    \"nameID\": 65664, \n    \"parentGroupID\": 209\n  }, \n  \"343\": {\n    \"description_de\": \"Blueprints von Waffen-Upgrades.\", \n    \"description_en-us\": \"Blueprints of weapon upgrades.\", \n    \"description_es\": \"Planos de mejoras de armas.\", \n    \"description_fr\": \"Plans de construction d'améliorations de l'armement.\", \n    \"description_it\": \"Blueprints of weapon upgrades.\", \n    \"description_ja\": \"兵器強化のブループリント。\", \n    \"description_ko\": \"무기 업그레이드 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи пакетов модернизации оружейных систем.\", \n    \"description_zh\": \"武器升级设备蓝图。\", \n    \"descriptionID\": 64591, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Waffenupgrades\", \n    \"name_en-us\": \"Weapon Upgrades\", \n    \"name_es\": \"Mejoras de armas\", \n    \"name_fr\": \"Améliorations de l'armement\", \n    \"name_it\": \"Weapon Upgrades\", \n    \"name_ja\": \"兵器強化\", \n    \"name_ko\": \"무기 업그레이드\", \n    \"name_ru\": \"Улучшения систем вооружения\", \n    \"name_zh\": \"武器升级\", \n    \"nameID\": 65665, \n    \"parentGroupID\": 210\n  }, \n  \"357\": {\n    \"description_de\": \"Blaupausen von Drohnen-Designs.\", \n    \"description_en-us\": \"Blueprints of drone designs\", \n    \"description_es\": \"Planos de diseños de drones.\", \n    \"description_fr\": \"Plans de construction de modèles de drones\", \n    \"description_it\": \"Blueprints of drone designs\", \n    \"description_ja\": \"ドローンのブループリント\", \n    \"description_ko\": \"드론 블루프린트\", \n    \"description_ru\": \"Чертежи дронов\", \n    \"description_zh\": \"各种无人机的蓝图\", \n    \"descriptionID\": 64592, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Drohnen\", \n    \"name_en-us\": \"Drones\", \n    \"name_es\": \"Drones\", \n    \"name_fr\": \"Drones\", \n    \"name_it\": \"Drones\", \n    \"name_ja\": \"ドローン\", \n    \"name_ko\": \"드론\", \n    \"name_ru\": \"Дроны\", \n    \"name_zh\": \"无人机\", \n    \"nameID\": 65666, \n    \"parentGroupID\": 2\n  }, \n  \"358\": {\n    \"description_de\": \"Blueprints von Bergbaudrohnen-Designs.\", \n    \"description_en-us\": \"Blueprints of mining drone designs.\", \n    \"description_es\": \"Planos de diseños de drones mineros.\", \n    \"description_fr\": \"Plans de construction de modèles de drones d'extraction.\", \n    \"description_it\": \"Blueprints of mining drone designs.\", \n    \"description_ja\": \"採掘専門ドローン設計図のブループリント。\", \n    \"description_ko\": \"채굴 드론 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи планов дронов-экстракторов.\", \n    \"description_zh\": \"采矿无人机蓝图。\", \n    \"descriptionID\": 64593, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Bergbaudrohnen\", \n    \"name_en-us\": \"Mining Drones\", \n    \"name_es\": \"Drones mineros\", \n    \"name_fr\": \"Drones d’extraction\", \n    \"name_it\": \"Mining Drones\", \n    \"name_ja\": \"採掘専門ドローン\", \n    \"name_ko\": \"채굴 드론\", \n    \"name_ru\": \"Буровые дроны\", \n    \"name_zh\": \"采矿无人机\", \n    \"nameID\": 65667, \n    \"parentGroupID\": 357\n  }, \n  \"359\": {\n    \"description_de\": \"Blueprints für schwere Versorgungsdrohnen-Designs.\", \n    \"description_en-us\": \"Blueprints of heavy attack drone designs.\", \n    \"description_es\": \"Planos de diseños de drones de asalto pesados.\", \n    \"description_fr\": \"Plans de construction de modèles de drones d'attaque lourds.\", \n    \"description_it\": \"Blueprints of heavy attack drone designs.\", \n    \"description_ja\": \"ヘビーアタックドローン設計図のブループリント。\", \n    \"description_ko\": \"헤비 어택 드론 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тяжелых боевых дронов.\", \n    \"description_zh\": \"重型攻击无人机的设计蓝图。\", \n    \"descriptionID\": 64594, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schwere Angriffsdrohnen\", \n    \"name_en-us\": \"Heavy Attack Drones\", \n    \"name_es\": \"Drones de asalto pesados\", \n    \"name_fr\": \"Drones d’attaque lourds\", \n    \"name_it\": \"Heavy Attack Drones\", \n    \"name_ja\": \"ヘビーアタックドローン\", \n    \"name_ko\": \"헤비 어택 드론\", \n    \"name_ru\": \"Тяжёлые боевые дроны\", \n    \"name_zh\": \"重型攻击无人机\", \n    \"nameID\": 65668, \n    \"parentGroupID\": 1530\n  }, \n  \"364\": {\n    \"description_de\": \"Skills zur effizienten Benutzung von geschützbasierten Waffensystemen\", \n    \"description_en-us\": \"Skills pertaining to the efficient use of turret-based weapon systems\", \n    \"description_es\": \"Habilidades para usar con eficacia los sistemas de armas basados en torretas.\", \n    \"description_fr\": \"Compétences relatives à l'utilisation efficace de systèmes utilisant des armes à tourelles\", \n    \"description_it\": \"Skills pertaining to the efficient use of turret-based weapon systems\", \n    \"description_ja\": \"タレット式の兵器システムを効果的に使用するスキル\", \n    \"description_ko\": \"터렛 기반 무기 시스템을 보다 효율적으로 운용할 수 있습니다.\", \n    \"description_ru\": \"Навыки, необходимые для эффективного применения орудийных установок\", \n    \"description_zh\": \"熟练使用炮台类武器系统的技能\", \n    \"descriptionID\": 64596, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Waffenkunde\", \n    \"name_en-us\": \"Gunnery\", \n    \"name_es\": \"Artillería\", \n    \"name_fr\": \"Armement\", \n    \"name_it\": \"Gunnery\", \n    \"name_ja\": \"ガンナリー\", \n    \"name_ko\": \"터렛 조작\", \n    \"name_ru\": \"Ведение орудийного огня\", \n    \"name_zh\": \"射击学\", \n    \"nameID\": 65670, \n    \"parentGroupID\": 150\n  }, \n  \"365\": {\n    \"description_de\": \"Skills zur Verwaltung großer sozialer Gruppen\", \n    \"description_en-us\": \"Skills pertaining to management of large social groups\", \n    \"description_es\": \"Habilidades para gestionar grupos sociales grandes.\", \n    \"description_fr\": \"Compétences relatives à la gestion d'importants groupes sociaux\", \n    \"description_it\": \"Skills pertaining to management of large social groups\", \n    \"description_ja\": \"大規模なソーシャルグループを管理するスキル\", \n    \"description_ko\": \"대규모 조직을 관리할 수 있는 스킬입니다.\", \n    \"description_ru\": \"Навыки, необходимые для эффективного управления большими социальными группами\", \n    \"description_zh\": \"管理大型社交团体的技能\", \n    \"descriptionID\": 64597, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Unternehmensführung\", \n    \"name_en-us\": \"Corporation Management\", \n    \"name_es\": \"Gestión de corporaciones\", \n    \"name_fr\": \"Gestion de corporation\", \n    \"name_it\": \"Gestione corporazione\", \n    \"name_ja\": \"コーポレーションマネージメント\", \n    \"name_ko\": \"코퍼레이션 관리\", \n    \"name_ru\": \"Руководство корпорацией\", \n    \"name_zh\": \"军团管理\", \n    \"nameID\": 65671, \n    \"parentGroupID\": 150\n  }, \n  \"366\": {\n    \"description_de\": \"Skills zur effizienten Handhabung von Drohnen\", \n    \"description_en-us\": \"Skills pertaining to the efficient operation of drones\", \n    \"description_es\": \"Habilidades relacionadas con el uso eficiente de los drones.\", \n    \"description_fr\": \"Compétences relatives à l'utilisation efficace des drones\", \n    \"description_it\": \"Skills pertaining to the efficient operation of drones\", \n    \"description_ja\": \"ドローンを効果的に操縦するスキル\", \n    \"description_ko\": \"드론을 보다 효율적으로 운용할 수 있습니다.\", \n    \"description_ru\": \"Навыки, необходимые для эффективного управления дронами.\", \n    \"description_zh\": \"熟练操控无人机的技能\", \n    \"descriptionID\": 64598, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Drohnen\", \n    \"name_en-us\": \"Drones\", \n    \"name_es\": \"Drones\", \n    \"name_fr\": \"Drones\", \n    \"name_it\": \"Drones\", \n    \"name_ja\": \"ドローン\", \n    \"name_ko\": \"드론\", \n    \"name_ru\": \"Управление дронами\", \n    \"name_zh\": \"无人机\", \n    \"nameID\": 65672, \n    \"parentGroupID\": 150\n  }, \n  \"367\": {\n    \"description_de\": \"Skill zur Verwaltung der elektronischen Systeme eines Raumschiffs\", \n    \"description_en-us\": \"Skills pertaining to management of a spaceship's electronic systems\", \n    \"description_es\": \"Habilidades relacionadas con la gestión de los sistemas electrónicos de una nave.\", \n    \"description_fr\": \"Compétences relatives à la gestion des systèmes électroniques d'un vaisseau spatial\", \n    \"description_it\": \"Skills pertaining to management of a spaceship's electronic systems\", \n    \"description_ja\": \"艦船の電子システムを管理するスキル\", \n    \"description_ko\": \"함선 전자시스템을 보다 효율적으로 관리할 수 있습니다.\", \n    \"description_ru\": \"Навыки, необходимые для управления электронными системами межзвездных кораблей\", \n    \"description_zh\": \"管理舰船电子系统的技能\", \n    \"descriptionID\": 64599, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Elektroniksysteme\", \n    \"name_en-us\": \"Electronic Systems\", \n    \"name_es\": \"Sistemas electrónicos\", \n    \"name_fr\": \"Systèmes électroniques\", \n    \"name_it\": \"Electronic Systems\", \n    \"name_ja\": \"電子システム\", \n    \"name_ko\": \"전자 시스템\", \n    \"name_ru\": \"Работа с бортовой электроникой\", \n    \"name_zh\": \"电子系统\", \n    \"nameID\": 65673, \n    \"parentGroupID\": 150\n  }, \n  \"368\": {\n    \"description_de\": \"Skill zur Verwaltung der Hardware eines Raumschiffs\", \n    \"description_en-us\": \"Skills pertaining to management of a spaceship's hardware\", \n    \"description_es\": \"Habilidades para gestionar el hardware de una nave.\", \n    \"description_fr\": \"Compétences relatives à la gestion du matériel d'un vaisseau spatial\", \n    \"description_it\": \"Skills pertaining to management of a spaceship's hardware\", \n    \"description_ja\": \"艦船のハードウェア装置を管理するスキル\", \n    \"description_ko\": \"함선 하드웨어를 보다 효율적으로 관리할 수 있습니다.\", \n    \"description_ru\": \"Навыки, необходимые для эффективной эксплуатации бортового оборудования\", \n    \"description_zh\": \"管理舰船硬件的技能\", \n    \"descriptionID\": 64600, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Ingenieurwesen\", \n    \"name_en-us\": \"Engineering\", \n    \"name_es\": \"Ingeniería\", \n    \"name_fr\": \"Ingénierie\", \n    \"name_it\": \"Engineering\", \n    \"name_ja\": \"エンジニアリング\", \n    \"name_ko\": \"엔지니어링\", \n    \"name_ru\": \"Эксплуатация инженерных систем\", \n    \"name_zh\": \"工程学\", \n    \"nameID\": 65674, \n    \"parentGroupID\": 150\n  }, \n  \"369\": {\n    \"description_de\": \"Skills zur effizienten Benutzung von Fertigungsanlagen und Industriegeräten\", \n    \"description_en-us\": \"Skills pertaining to the efficient use of manufacturing facilities and industrial devices\", \n    \"description_es\": \"Habilidades relacionadas con el uso eficiente de las fábricas y los servicios industriales.\", \n    \"description_fr\": \"Compétences relatives à la bonne utilisation des usines de production et des équipements industriels\", \n    \"description_it\": \"Skills pertaining to the efficient use of manufacturing facilities and industrial devices\", \n    \"description_ja\": \"製造施設と輸送装置を効率的に利用するスキル\", \n    \"description_ko\": \"산업장비 및 제조시설을 보다 효율적으로 운용할 수 있습니다.\", \n    \"description_ru\": \"Навыки, определяющие эффективность использования производственных объектов и перерабатывающих заводов.\", \n    \"description_zh\": \"熟练使用生产设施和工业设备的技能\", \n    \"descriptionID\": 64601, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Produktion\", \n    \"name_en-us\": \"Production\", \n    \"name_es\": \"Producción\", \n    \"name_fr\": \"Production\", \n    \"name_it\": \"Production\", \n    \"name_ja\": \"生産\", \n    \"name_ko\": \"생산\", \n    \"name_ru\": \"Организация производства\", \n    \"name_zh\": \"生产\", \n    \"nameID\": 65675, \n    \"parentGroupID\": 150\n  }, \n  \"370\": {\n    \"description_de\": \"Skills zur Verwendung von Kommandostrahl-Modulen\", \n    \"description_en-us\": \"Skills pertaining to the operation of Command Burst modules\", \n    \"description_es\": \"Habilidades relacionadas con el uso de los módulos de estallido de mando.\", \n    \"description_fr\": \"Compétences liées à l'opération des salves de commandement.\", \n    \"description_it\": \"Skills pertaining to the operation of Command Burst modules\", \n    \"description_ja\": \"コマンドバーストモジュールの運用に関するスキル。\", \n    \"description_ko\": \"커맨드 버스트 모듈을 보다 효율적으로 운용할 수 있습니다.\", \n    \"description_ru\": \"Навыки, требуемые для использования и повышения эффективности импульсных оптимизаторов, улучшающих ТТХ союзников по флоту\", \n    \"description_zh\": \"操作指挥脉冲波装备的相关技能\", \n    \"descriptionID\": 64602, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Flottenunterstützung\", \n    \"name_en-us\": \"Fleet Support\", \n    \"name_es\": \"Apoyo a la flota\", \n    \"name_fr\": \"Soutien de flotte\", \n    \"name_it\": \"Fleet Support\", \n    \"name_ja\": \"艦隊支援\", \n    \"name_ko\": \"함대 지원\", \n    \"name_ru\": \"Усиление флотов\", \n    \"name_zh\": \"舰队支援理论\", \n    \"nameID\": 65676, \n    \"parentGroupID\": 150\n  }, \n  \"372\": {\n    \"description_de\": \"Skill zur Feinanpassung der installierten Systeme eines Raumschiffs\", \n    \"description_en-us\": \"Skills pertaining to the fine tuning of a spaceship's installed systems\", \n    \"description_es\": \"Habilidades relacionadas con el ajuste de los sistemas instalados en una nave.\", \n    \"description_fr\": \"Compétences relatives au réglage fin des systèmes installés sur un vaisseau spatial\", \n    \"description_it\": \"Skills pertaining to the fine tuning of a spaceship's installed systems\", \n    \"description_ja\": \"艦船のシステムを適切にメンテナンスするスキル\", \n    \"description_ko\": \"함선 시스템 및 리그 관련 스킬입니다.\", \n    \"description_ru\": \"Навыки, необходимые для точной настройки систем, установленных на корабле\", \n    \"description_zh\": \"熟练调试舰船已安装系统的技能\", \n    \"descriptionID\": 64603, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Modifizierungen\", \n    \"name_en-us\": \"Rigging\", \n    \"name_es\": \"Complementos\", \n    \"name_fr\": \"Optimisation\", \n    \"name_it\": \"Rigging\", \n    \"name_ja\": \"リグ\", \n    \"name_ko\": \"리그\", \n    \"name_ru\": \"Установка модификаторов\", \n    \"name_zh\": \"改装件\", \n    \"nameID\": 65677, \n    \"parentGroupID\": 150\n  }, \n  \"373\": {\n    \"description_de\": \"Skills zur effizienten Benutzung von Sprengköpfen mit Selbstantrieb\", \n    \"description_en-us\": \"Skills pertaining to the efficient use of self-propelled warheads\", \n    \"description_es\": \"Habilidades relacionadas con el uso eficiente de las ojivas autopropulsadas.\", \n    \"description_fr\": \"Compétences relatives à l'utilisation efficace des ogives autopropulsées\", \n    \"description_it\": \"Skills pertaining to the efficient use of self-propelled warheads\", \n    \"description_ja\": \"自己推進型ミサイルを効果的に使用するスキル\", \n    \"description_ko\": \"미사일을 보다 효율적으로 운용할 수 있습니다.\", \n    \"description_ru\": \"Навыки, необходимые для эффективного применения ракетного вооружения\", \n    \"description_zh\": \"熟练使用自推进式弹头的技能\", \n    \"descriptionID\": 64604, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Lenkwaffen\", \n    \"name_en-us\": \"Missiles\", \n    \"name_es\": \"Misiles\", \n    \"name_fr\": \"Missiles\", \n    \"name_it\": \"Missiles\", \n    \"name_ja\": \"ミサイル\", \n    \"name_ko\": \"미사일\", \n    \"name_ru\": \"Ведение ракетного огня\", \n    \"name_zh\": \"导弹\", \n    \"nameID\": 65678, \n    \"parentGroupID\": 150\n  }, \n  \"374\": {\n    \"description_de\": \"Skills zur möglichst schnellen und effizienten Navigation Ihres Raumschiffs\", \n    \"description_en-us\": \"Skills pertaining to navigating your spaceship as quickly and efficiently as possible\", \n    \"description_es\": \"Habilidades relacionadas con la navegación rápida y eficiente.\", \n    \"description_fr\": \"Compétences relatives à l'optimisation de la vitesse et de l'efficacité de votre vaisseau\", \n    \"description_it\": \"Skills pertaining to navigating your spaceship as quickly and efficiently as possible\", \n    \"description_ja\": \"艦船の操縦性能をフルに活かし素早く操縦するスキル\", \n    \"description_ko\": \"함선을 빠르고 효율적으로 기동할 수 있습니다.\", \n    \"description_ru\": \"Навыки, позволяющие быстро и эффективно прокладывать путь в космическом пространстве\", \n    \"description_zh\": \"迅速而熟练地驾驶舰船的技能\", \n    \"descriptionID\": 64605, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Navigation\", \n    \"name_en-us\": \"Navigation\", \n    \"name_es\": \"Navegación\", \n    \"name_fr\": \"Navigation\", \n    \"name_it\": \"Navigation\", \n    \"name_ja\": \"航行技術\", \n    \"name_ko\": \"운항\", \n    \"name_ru\": \"Эксплуатация двигателей\", \n    \"name_zh\": \"导航学\", \n    \"nameID\": 65679, \n    \"parentGroupID\": 150\n  }, \n  \"375\": {\n    \"description_de\": \"Skills zu verschiedenen Gebieten des wissenschaftlichen Wissens\", \n    \"description_en-us\": \"Skills pertaining to various fields of scientific knowledge\", \n    \"description_es\": \"Habilidades relacionadas con distintos campos de conocimiento científico.\", \n    \"description_fr\": \"Compétences relatives à divers domaines scientifiques\", \n    \"description_it\": \"Skills pertaining to various fields of scientific knowledge\", \n    \"description_ja\": \"幅広い科学知識に関するスキル\", \n    \"description_ko\": \"다양한 과학 지식을 습득할 수 있습니다.\", \n    \"description_ru\": \"Навыки, имеющие отношение к различным отраслям науки\", \n    \"description_zh\": \"涵盖各项科学领域知识的技能\", \n    \"descriptionID\": 64606, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Wissenschaft\", \n    \"name_en-us\": \"Science\", \n    \"name_es\": \"Ciencia\", \n    \"name_fr\": \"Science\", \n    \"name_it\": \"Science\", \n    \"name_ja\": \"サイエンス\", \n    \"name_ko\": \"과학\", \n    \"name_ru\": \"Научные дисциплины\", \n    \"name_zh\": \"科学\", \n    \"nameID\": 65680, \n    \"parentGroupID\": 150\n  }, \n  \"376\": {\n    \"description_de\": \"Skills zur effizienten Navigation durch die soziale Landschaft\", \n    \"description_en-us\": \"Skills pertaining to efficient navigation through the social landscape\", \n    \"description_es\": \"Habilidades relacionadas con la navegación eficiente por el ámbito social.\", \n    \"description_fr\": \"Compétences destinées à évoluer de manière efficace dans son environnement social\", \n    \"description_it\": \"Skills pertaining to efficient navigation through the social landscape\", \n    \"description_ja\": \"社会を生き抜く処世術に関するスキル\", \n    \"description_ko\": \"정치 및 사회 네트워크를 형성합니다.\", \n    \"description_ru\": \"Навыки, необходимые для эффективного ориентирования в социальной среде\", \n    \"description_zh\": \"自如地穿梭于社交场合的技能\", \n    \"descriptionID\": 64607, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Soziales\", \n    \"name_en-us\": \"Social\", \n    \"name_es\": \"Social\", \n    \"name_fr\": \"Social\", \n    \"name_it\": \"Social\", \n    \"name_ja\": \"ソーシャル\", \n    \"name_ko\": \"사회 커넥션\", \n    \"name_ru\": \"Развитие деловых отношений\", \n    \"name_zh\": \"社会学\", \n    \"nameID\": 65681, \n    \"parentGroupID\": 150\n  }, \n  \"377\": {\n    \"description_de\": \"Skills zum Kommando von Raumschiffen aller Formen und Größen\", \n    \"description_en-us\": \"Skills required for commanding all shapes and sizes of spaceships\", \n    \"description_es\": \"Habilidades necesarias para pilotar naves de todas las formas y tamaños.\", \n    \"description_fr\": \"Compétences requises pour le commandement de toute taille et de tout type de vaisseau.\", \n    \"description_it\": \"Skills required for commanding all shapes and sizes of spaceships\", \n    \"description_ja\": \"形、大きさに関わらず、あらゆる艦船を指揮するのに必要となるスキル\", \n    \"description_ko\": \"함선 운용에 필수적인 스킬입니다.\", \n    \"description_ru\": \"Навыки, необходимые для управления кораблями всех форм и размеров\", \n    \"description_zh\": \"驾驶各种型号舰船所必需的技能\", \n    \"descriptionID\": 65072, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Raumschiffkommando\", \n    \"name_en-us\": \"Spaceship Command\", \n    \"name_es\": \"Manejo de naves espaciales\", \n    \"name_fr\": \"Pilotage de vaisseau\", \n    \"name_it\": \"Spaceship Command\", \n    \"name_ja\": \"宇宙船操作\", \n    \"name_ko\": \"함선 운용\", \n    \"name_ru\": \"Допуски к управлению кораблями\", \n    \"name_zh\": \"飞船操控学\", \n    \"nameID\": 66146, \n    \"parentGroupID\": 150\n  }, \n  \"378\": {\n    \"description_de\": \"Skills zur Verwaltung von kommerziellen Aktivitäten\", \n    \"description_en-us\": \"Skills pertaining to managing commercial activities\", \n    \"description_es\": \"Habilidades relacionadas con la gestión de las actividades comerciales.\", \n    \"description_fr\": \"Compétences relatives à la gestion des activités commerciales\", \n    \"description_it\": \"Skills pertaining to managing commercial activities\", \n    \"description_ja\": \"商業活動を管理するスキル\", \n    \"description_ko\": \"상업 활동을 보다 효과적으로 수행할 수 있습니다.\", \n    \"description_ru\": \"Навыки, необходимые для торговой деятельности\", \n    \"description_zh\": \"管理商业活动的技能\", \n    \"descriptionID\": 64608, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Handel\", \n    \"name_en-us\": \"Trade\", \n    \"name_es\": \"Comercio\", \n    \"name_fr\": \"Commerce\", \n    \"name_it\": \"Trade\", \n    \"name_ja\": \"トレード\", \n    \"name_ko\": \"거래\", \n    \"name_ru\": \"Торговля\", \n    \"name_zh\": \"贸易学\", \n    \"nameID\": 65682, \n    \"parentGroupID\": 150\n  }, \n  \"379\": {\n    \"description_de\": \"Zur Lagerung von wertvollen Rohstoffen im All.\", \n    \"description_en-us\": \"For deep-space storage of valuable materials.\", \n    \"description_es\": \"Para almacenar materiales valiosos en el espacio profundo.\", \n    \"description_fr\": \"Pour le stockage de marchandises de valeur dans l'espace profond.\", \n    \"description_it\": \"For deep-space storage of valuable materials.\", \n    \"description_ja\": \"貴重な資源の深宇宙保管庫。\", \n    \"description_ko\": \"귀중한 물품을 보관할 수 있는 컨테이너입니다.\", \n    \"description_ru\": \"Для хранения ценных материалов в глубоком космосе.\", \n    \"description_zh\": \"用来在深空中储存有用的物资。\", \n    \"descriptionID\": 64609, \n    \"hasTypes\": 0, \n    \"iconID\": 16, \n    \"name_de\": \"Frachtcontainer\", \n    \"name_en-us\": \"Cargo Containers\", \n    \"name_es\": \"Contenedores de carga\", \n    \"name_fr\": \"Conteneurs de fret\", \n    \"name_it\": \"Cargo Containers\", \n    \"name_ja\": \"カーゴコンテナ\", \n    \"name_ko\": \"화물 컨테이너\", \n    \"name_ru\": \"Грузовые контейнеры\", \n    \"name_zh\": \"货柜\", \n    \"nameID\": 65683, \n    \"parentGroupID\": 404\n  }, \n  \"380\": {\n    \"description_de\": \"Die kleinsten verfügbaren Smartbombs, für den Fall, dass Stromnetz und CPU Mangelware sind.\", \n    \"description_en-us\": \"The smallest smartbombs available, for when powergrid and CPU are scarce.\", \n    \"description_es\": \"Las bombas inteligentes más pequeñas que hay para cuando el sistema de potencia y la CPU se queden cortos.\", \n    \"description_fr\": \"Les plus petites bombes de proximité disponibles, pour ceux et celles dont le CPU et le réseau d'alimentation sont réduits.\", \n    \"description_it\": \"The smallest smartbombs available, for when powergrid and CPU are scarce.\", \n    \"description_ja\": \"入手可能な最小のスマートボム。パワーグリッドと CPU が乏しいときのために。\", \n    \"description_ko\": \"초소형 스마트폭탄으로 파워그리드 및 CPU가 부족할 시 유용합니다.\", \n    \"description_ru\": \"Самые маленькие импульсные излучатели, потребляющие минимальное количество ресурсов процессора и мощности энергосети.\", \n    \"description_zh\": \"最小型的一种立体炸弹，在能量栅格和CPU不够充足的情况下使用。\", \n    \"descriptionID\": 64610, \n    \"hasTypes\": 1, \n    \"iconID\": 112, \n    \"name_de\": \"Mikro\", \n    \"name_en-us\": \"Micro\", \n    \"name_es\": \"Micro\", \n    \"name_fr\": \"Micro\", \n    \"name_it\": \"Micro\", \n    \"name_ja\": \"超小型\", \n    \"name_ko\": \"마이크로\", \n    \"name_ru\": \"Сверхмалые\", \n    \"name_zh\": \"微型\", \n    \"nameID\": 65684, \n    \"parentGroupID\": 141\n  }, \n  \"381\": {\n    \"description_de\": \"Für Schlachtschiffe typische Smartbombs.\", \n    \"description_en-us\": \"Battleship-sized smartbombs.\", \n    \"description_es\": \"Bombas inteligentes para naves de tamaño acorazado.\", \n    \"description_fr\": \"Des bombes de proximité destinées à une utilisation par les cuirassés.\", \n    \"description_it\": \"Battleship-sized smartbombs.\", \n    \"description_ja\": \"戦艦級スマートボム。\", \n    \"description_ko\": \"배틀쉽급 스마트폭탄입니다.\", \n    \"description_ru\": \"Импульсные излучатели, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"战列舰使用的立体炸弹。\", \n    \"descriptionID\": 64611, \n    \"hasTypes\": 1, \n    \"iconID\": 112, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65685, \n    \"parentGroupID\": 141\n  }, \n  \"382\": {\n    \"description_de\": \"Für Fregatten typische Smartbombs.\", \n    \"description_en-us\": \"Frigate-sized smartbombs.\", \n    \"description_es\": \"Bombas inteligentes para naves de tamaño fragata.\", \n    \"description_fr\": \"Des bombes de proximité destinées à une utilisation par les frégates.\", \n    \"description_it\": \"Frigate-sized smartbombs.\", \n    \"description_ja\": \"フリゲート級向けのスマートボム。\", \n    \"description_ko\": \"프리깃급 스마트폭탄입니다.\", \n    \"description_ru\": \"Импульсные излучатели, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"护卫舰等级的立体炸弹。\", \n    \"descriptionID\": 64612, \n    \"hasTypes\": 1, \n    \"iconID\": 112, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65686, \n    \"parentGroupID\": 141\n  }, \n  \"383\": {\n    \"description_de\": \"Für Kreuzer typische Smartbombs.\", \n    \"description_en-us\": \"Cruiser-sized smartbombs.\", \n    \"description_es\": \"Bombas inteligentes para naves de tamaño crucero.\", \n    \"description_fr\": \"Des bombes de proximité destinées à une utilisation par les croiseurs.\", \n    \"description_it\": \"Cruiser-sized smartbombs.\", \n    \"description_ja\": \"巡洋艦級スマートボム。\", \n    \"description_ko\": \"크루저급 스마트폭탄입니다.\", \n    \"description_ru\": \"Импульсные излучатели, предназначенные для установки на крейсеры.\", \n    \"description_zh\": \"巡洋舰级别立体炸弹。\", \n    \"descriptionID\": 64613, \n    \"hasTypes\": 1, \n    \"iconID\": 112, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65687, \n    \"parentGroupID\": 141\n  }, \n  \"387\": {\n    \"description_de\": \"Verheerende, düsenangetriebene Projektile, die große Sprengladungen tragen.\", \n    \"description_en-us\": \"Devastating jet-propelled projectiles carrying huge payloads.\", \n    \"description_es\": \"Proyectiles autopropulsados de efecto devastador que llevan enormes cargas útiles.\", \n    \"description_fr\": \"Projectiles autopropulsés de forte puissance à l'effet dévastateur.\", \n    \"description_it\": \"Devastating jet-propelled projectiles carrying huge payloads.\", \n    \"description_ja\": \"巨大な弾頭を搭載した、破壊的なジェット推進式プロジェクタイル。\", \n    \"description_ko\": \"막대한 피해를 입힐 수 있는 제트 추진 토피도입니다.\", \n    \"description_ru\": \"Разрушительные реактивные снаряды с мощной боевой начинкой.\", \n    \"description_zh\": \"破坏力极大的喷气推进导弹，装有巨大载荷。\", \n    \"descriptionID\": 64614, \n    \"hasTypes\": 0, \n    \"iconID\": 1349, \n    \"name_de\": \"Torpedos\", \n    \"name_en-us\": \"Torpedoes\", \n    \"name_es\": \"Torpedos\", \n    \"name_fr\": \"Torpilles\", \n    \"name_it\": \"Torpedoes\", \n    \"name_ja\": \"トルピード\", \n    \"name_ko\": \"토피도\", \n    \"name_ru\": \"Торпеды\", \n    \"name_zh\": \"鱼雷\", \n    \"nameID\": 65688, \n    \"parentGroupID\": 114\n  }, \n  \"390\": {\n    \"description_de\": \"Blueprints von Torpedos.\", \n    \"description_en-us\": \"Blueprints of torpedoes.\", \n    \"description_es\": \"Planos de torpedos.\", \n    \"description_fr\": \"Plans de construction de torpilles.\", \n    \"description_it\": \"Blueprints of torpedoes.\", \n    \"description_ja\": \"トルピードのブループリント。\", \n    \"description_ko\": \"토피도 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи торпед.\", \n    \"description_zh\": \"鱼雷蓝图。\", \n    \"descriptionID\": 65069, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Torpedos\", \n    \"name_en-us\": \"Torpedoes\", \n    \"name_es\": \"Torpedos\", \n    \"name_fr\": \"Torpilles\", \n    \"name_it\": \"Torpedoes\", \n    \"name_ja\": \"トルピード\", \n    \"name_ko\": \"토피도\", \n    \"name_ru\": \"Торпеды\", \n    \"name_zh\": \"鱼雷\", \n    \"nameID\": 66143, \n    \"parentGroupID\": 314\n  }, \n  \"391\": {\n    \"description_de\": \"Schnelle und günstige Schiffe für einfachen Transport\", \n    \"description_en-us\": \"Fast and cheap vessels for easy transport\", \n    \"description_es\": \"Naves rápidas y baratas para transporte sencillo.\", \n    \"description_fr\": \"Vaisseaux rapides et peu coûteux permettant de se déplacer facilement\", \n    \"description_it\": \"Fast and cheap vessels for easy transport\", \n    \"description_ja\": \"簡易輸送のための高速で安価な艦船\", \n    \"description_ko\": \"빠르고 저렴한 운송 수단입니다.\", \n    \"description_ru\": \"Быстрые и дешевые корабли для транспортировки небольших грузов\", \n    \"description_zh\": \"快速而廉价的舰船，用于简单的运输任务\", \n    \"descriptionID\": 64615, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Shuttles\", \n    \"name_en-us\": \"Shuttles\", \n    \"name_es\": \"Lanzaderas\", \n    \"name_fr\": \"Navettes\", \n    \"name_it\": \"Shuttles\", \n    \"name_ja\": \"シャトル\", \n    \"name_ko\": \"셔틀\", \n    \"name_ru\": \"Катера\", \n    \"name_zh\": \"穿梭机\", \n    \"nameID\": 65689, \n    \"parentGroupID\": 4\n  }, \n  \"393\": {\n    \"description_de\": \"Amarr-Shuttle-Designs.\", \n    \"description_en-us\": \"Amarr shuttle designs.\", \n    \"description_es\": \"Diseños de lanzaderas amarrianas.\", \n    \"description_fr\": \"Modèles de navettes amarr.\", \n    \"description_it\": \"Amarr shuttle designs.\", \n    \"description_ja\": \"アマーシャトル設計図。\", \n    \"description_ko\": \"아마르의 셔틀입니다.\", \n    \"description_ru\": \"Челноки разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛穿梭机设计\", \n    \"descriptionID\": 64616, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65690, \n    \"parentGroupID\": 391\n  }, \n  \"394\": {\n    \"description_de\": \"Minmatar-Shuttle-Designs.\", \n    \"description_en-us\": \"Minmatar shuttle designs.\", \n    \"description_es\": \"Diseños de lanzaderas minmatarianas.\", \n    \"description_fr\": \"Modèles de navettes minmatar.\", \n    \"description_it\": \"Minmatar shuttle designs.\", \n    \"description_ja\": \"ミンマターシャトル設計図。\", \n    \"description_ko\": \"민마타의 셔틀입니다.\", \n    \"description_ru\": \"Челноки разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔穿梭机设计\", \n    \"descriptionID\": 64617, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65691, \n    \"parentGroupID\": 391\n  }, \n  \"395\": {\n    \"description_de\": \"Gallente-Shuttle-Designs.\", \n    \"description_en-us\": \"Gallente shuttle designs.\", \n    \"description_es\": \"Diseños de lanzaderas gallentes.\", \n    \"description_fr\": \"Modèles de navettes gallente.\", \n    \"description_it\": \"Gallente shuttle designs.\", \n    \"description_ja\": \"ガレンテシャトル設計図。\", \n    \"description_ko\": \"갈란테의 셔틀입니다.\", \n    \"description_ru\": \"Челноки разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特穿梭机设计\", \n    \"descriptionID\": 64618, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65692, \n    \"parentGroupID\": 391\n  }, \n  \"396\": {\n    \"description_de\": \"Caldari-Shuttle-Designs.\", \n    \"description_en-us\": \"Caldari shuttle designs.\", \n    \"description_es\": \"Diseños de lanzaderas caldaris.\", \n    \"description_fr\": \"Modèles de navettes caldari.\", \n    \"description_it\": \"Caldari shuttle designs.\", \n    \"description_ja\": \"カルダリシャトル設計図。\", \n    \"description_ko\": \"칼다리의 셔틀입니다.\", \n    \"description_ru\": \"Челноки разработки Государства Caldari.\", \n    \"description_zh\": \"加达里穿梭机设计\", \n    \"descriptionID\": 64619, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65693, \n    \"parentGroupID\": 391\n  }, \n  \"399\": {\n    \"description_de\": \"Blitzschnelle, höchst manövrierfähige Fregatten.\", \n    \"description_en-us\": \"Lightning-fast, highly maneuverable frigates.\", \n    \"description_es\": \"Fragatas extremadamente rápidas y de fácil manejo.\", \n    \"description_fr\": \"Frégates très maniables et rapides comme l'éclair.\", \n    \"description_it\": \"Lightning-fast, highly maneuverable frigates.\", \n    \"description_ja\": \"スピードと機動性に優れたフリゲート。\", \n    \"description_ko\": \"고속 고기동 성능을 보유한 프리깃입니다.\", \n    \"description_ru\": \"Молниеносные и сверхманевренные фрегаты.\", \n    \"description_zh\": \"这种专门制造的护卫舰级别舰船拥有闪电般的速度，超强的机动性。\", \n    \"descriptionID\": 65249, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Abfangjäger\", \n    \"name_en-us\": \"Interceptors\", \n    \"name_es\": \"Interceptores\", \n    \"name_fr\": \"Intercepteurs\", \n    \"name_it\": \"Interceptors\", \n    \"name_ja\": \"要撃型フリゲート\", \n    \"name_ko\": \"인터셉터\", \n    \"name_ru\": \"Перехватчики\", \n    \"name_zh\": \"截击舰\", \n    \"nameID\": 66323, \n    \"parentGroupID\": 1364\n  }, \n  \"400\": {\n    \"description_de\": \"Amarr-Abfangjäger-Designs.\", \n    \"description_en-us\": \"Amarr interceptor designs.\", \n    \"description_es\": \"Diseños de interceptores amarrianos.\", \n    \"description_fr\": \"Modèles d'intercepteurs amarr.\", \n    \"description_it\": \"Amarr interceptor designs.\", \n    \"description_ja\": \"アマー要撃型フリゲート設計図。\", \n    \"description_ko\": \"아마르의 인터셉터입니다.\", \n    \"description_ru\": \"Перехватчики разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛截击舰设计\", \n    \"descriptionID\": 64621, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65695, \n    \"parentGroupID\": 399\n  }, \n  \"401\": {\n    \"description_de\": \"Caldari-Abfangjäger-Designs.\", \n    \"description_en-us\": \"Caldari interceptor designs.\", \n    \"description_es\": \"Diseños de interceptores caldaris.\", \n    \"description_fr\": \"Modèles d'intercepteurs caldari.\", \n    \"description_it\": \"Caldari interceptor designs.\", \n    \"description_ja\": \"カルダリ要撃型フリゲート設計図。\", \n    \"description_ko\": \"칼다리의 인터셉터입니다.\", \n    \"description_ru\": \"Перехватчики разработки Государства Caldari.\", \n    \"description_zh\": \"加达里截击舰设计\", \n    \"descriptionID\": 64622, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65696, \n    \"parentGroupID\": 399\n  }, \n  \"402\": {\n    \"description_de\": \"Gallente-Abfangjäger-Designs.\", \n    \"description_en-us\": \"Gallente interceptor designs.\", \n    \"description_es\": \"Diseños de interceptores gallentes.\", \n    \"description_fr\": \"Modèles d'intercepteurs gallente.\", \n    \"description_it\": \"Gallente interceptor designs.\", \n    \"description_ja\": \"ガレンテ要撃型フリゲート設計図。\", \n    \"description_ko\": \"갈란테의 인터셉터입니다.\", \n    \"description_ru\": \"Перехватчики разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特截击舰设计\", \n    \"descriptionID\": 64623, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65697, \n    \"parentGroupID\": 399\n  }, \n  \"403\": {\n    \"description_de\": \"Minmatar-Abfangjäger-Designs.\", \n    \"description_en-us\": \"Minmatar interceptor designs.\", \n    \"description_es\": \"Diseños de interceptores minmatarianos.\", \n    \"description_fr\": \"Modèles d'intercepteurs minmatar.\", \n    \"description_it\": \"Minmatar interceptor designs.\", \n    \"description_ja\": \"ミンマター要撃型フリゲート設計図。\", \n    \"description_ko\": \"민마타의 인터셉터입니다.\", \n    \"description_ru\": \"Перехватчики разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔截击舰设计\", \n    \"descriptionID\": 64624, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65698, \n    \"parentGroupID\": 399\n  }, \n  \"404\": {\n    \"description_de\": \"Verschiedene Strukturen die im Auftrag eines einzelnen Kapselpiloten oder eine Gruppe errichtet werden können\", \n    \"description_en-us\": \"Various structures that can be deployed on behalf of an individual or group of capsuleers\", \n    \"description_es\": \"Varias estructuras que se pueden desplegar en nombre de una persona o un grupo de capsulistas.\", \n    \"description_fr\": \"Différentes structures qui peuvent être déployées au nom d'un individu ou d'un groupe de capsuliers\", \n    \"description_it\": \"Various structures that can be deployed on behalf of an individual or group of capsuleers\", \n    \"description_ja\": \"単体あるいは複数のカプセラのために配置できる建造物\", \n    \"description_ko\": \"개인 또는 단체가 운용할 수 있는 전개형 구조물입니다.\", \n    \"description_ru\": \"Сооружения, развёртываемые в космосе капсулёром в одиночку или группой пилотов\", \n    \"description_zh\": \"各种太空建筑，玩家或军团都可以部署\", \n    \"descriptionID\": 64625, \n    \"hasTypes\": 0, \n    \"iconID\": 16, \n    \"name_de\": \"Stationierbare Strukturen\", \n    \"name_en-us\": \"Deployable Structures\", \n    \"name_es\": \"Estructuras desplegables\", \n    \"name_fr\": \"Structures déployables\", \n    \"name_it\": \"Deployable Structures\", \n    \"name_ja\": \"配置可能な建造物\", \n    \"name_ko\": \"전개형 구조물\", \n    \"name_ru\": \"Полевые блоки\", \n    \"name_zh\": \"可部署建筑\", \n    \"nameID\": 65699, \n    \"parentGroupID\": 477\n  }, \n  \"405\": {\n    \"description_de\": \"Fangen Sie in Ihrem Netz eine Fliege ein.\", \n    \"description_en-us\": \"Trap a fly in your web.\", \n    \"description_es\": \"Atrapa una mosca en tu red.\", \n    \"description_fr\": \"Attrapez une mouche dans votre toile.\", \n    \"description_it\": \"Trap a fly in your web.\", \n    \"description_ja\": \"クモの巣のように敵を捕らえる。\", \n    \"description_ko\": \"덫을 놓아 적을 잡을 수 있습니다.\", \n    \"description_ru\": \"Поймайте муху в свою паутину.\", \n    \"description_zh\": \"织起网来捉苍蝇。\", \n    \"descriptionID\": 64626, \n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Warpstörfelder\", \n    \"name_en-us\": \"Warp Disruption Fields\", \n    \"name_es\": \"Campos disruptores de warp\", \n    \"name_fr\": \"Champs perturbateurs de warp\", \n    \"name_it\": \"Warp Disruption Fields\", \n    \"name_ja\": \"ワープ妨害フィールド\", \n    \"name_ko\": \"워프 디스럽터\", \n    \"name_ru\": \"Полевые варп-заградители\", \n    \"name_zh\": \"跃迁扰断力场\", \n    \"nameID\": 65700, \n    \"parentGroupID\": 404\n  }, \n  \"406\": {\n    \"description_de\": \"Blaupausen für stationierbare Strukturen.\", \n    \"description_en-us\": \"Blueprints of deployable structures.\", \n    \"description_es\": \"Planos de estructuras desplegables.\", \n    \"description_fr\": \"Plans de construction des structures déployables.\", \n    \"description_it\": \"Blueprints of deployable structures.\", \n    \"description_ja\": \"配置可能な建造物のブループリント。\", \n    \"description_ko\": \"전개형 구조물을 위한 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи автономных блоков.\", \n    \"description_zh\": \"可部署建筑蓝图\", \n    \"descriptionID\": 64627, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Stationierbare Strukturen\", \n    \"name_en-us\": \"Deployable Structures\", \n    \"name_es\": \"Estructuras desplegables\", \n    \"name_fr\": \"Structures déployables\", \n    \"name_it\": \"Deployable Structures\", \n    \"name_ja\": \"配置可能な建造物\", \n    \"name_ko\": \"전개형 구조물\", \n    \"name_ru\": \"Полевые блоки\", \n    \"name_zh\": \"可部署建筑\", \n    \"nameID\": 65701, \n    \"parentGroupID\": 1338\n  }, \n  \"407\": {\n    \"description_de\": \"Blueprints für Warp-Unterbrechungsfelder.\", \n    \"description_en-us\": \"Blueprints of Warp disruption fields.\", \n    \"description_es\": \"Planos de campos disruptores de warp.\", \n    \"description_fr\": \"Plans de construction de champs de perturbation de warp.\", \n    \"description_it\": \"Blueprints of Warp disruption fields.\", \n    \"description_ja\": \"ワーク妨害磁場のブループリント。\", \n    \"description_ko\": \"워프 디스럽션 필드 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи систем ненаправленного подавления варп-режима.\", \n    \"description_zh\": \"跃迁扰断力场蓝图。\", \n    \"descriptionID\": 65300, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Warpstörfelder\", \n    \"name_en-us\": \"Warp Disruption Fields\", \n    \"name_es\": \"Campos disruptores de warp\", \n    \"name_fr\": \"Champs perturbateurs de warp\", \n    \"name_it\": \"Warp Disruption Fields\", \n    \"name_ja\": \"ワープ妨害フィールド\", \n    \"name_ko\": \"워프 디스럽터\", \n    \"name_ru\": \"Полевые варп-заградители\", \n    \"name_zh\": \"跃迁扰断力场\", \n    \"nameID\": 66374, \n    \"parentGroupID\": 406\n  }, \n  \"408\": {\n    \"description_de\": \"Blueprints von Schiffen der Abfangjäger-Klasse.\", \n    \"description_en-us\": \"Blueprints of interceptor-class vessels.\", \n    \"description_es\": \"Planos de naves de clase interceptor.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe intercepteur.\", \n    \"description_it\": \"Blueprints of interceptor-class vessels.\", \n    \"description_ja\": \"ワープ妨害型駆逐艦級艦船のブループリント。\", \n    \"description_ko\": \"인터셉터급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи перехватчиков.\", \n    \"description_zh\": \"截击舰蓝图\", \n    \"descriptionID\": 64628, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Abfangjäger\", \n    \"name_en-us\": \"Interceptors\", \n    \"name_es\": \"Interceptores\", \n    \"name_fr\": \"Intercepteurs\", \n    \"name_it\": \"Interceptors\", \n    \"name_ja\": \"要撃型フリゲート\", \n    \"name_ko\": \"인터셉터\", \n    \"name_ru\": \"Перехватчики\", \n    \"name_zh\": \"截击舰\", \n    \"nameID\": 65702, \n    \"parentGroupID\": 204\n  }, \n  \"410\": {\n    \"description_de\": \"Blueprints von Amarr-Abfangjäger-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr interceptor designs.\", \n    \"description_es\": \"Planos de diseños de interceptores amarrianos.\", \n    \"description_fr\": \"Plans de construction de modèles d'intercepteurs amarr.\", \n    \"description_it\": \"Blueprints of Amarr interceptor designs.\", \n    \"description_ja\": \"アマー要撃型フリゲート設計図のブループリント。\", \n    \"description_ko\": \"아마르 인터셉터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи перехватчиков разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛截击舰设计蓝图\", \n    \"descriptionID\": 64629, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65703, \n    \"parentGroupID\": 408\n  }, \n  \"411\": {\n    \"description_de\": \"Blueprints von Caldari-Abfangjäger-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari interceptor designs.\", \n    \"description_es\": \"Planos de diseños de interceptores caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles d'intercepteurs caldari.\", \n    \"description_it\": \"Blueprints of Caldari interceptor designs.\", \n    \"description_ja\": \"カルダリ要撃型フリゲート設計図のブループリント。\", \n    \"description_ko\": \"칼다리 인터셉터 설계 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи перехватчиков разработки Государства Caldari.\", \n    \"description_zh\": \"加达里截击舰设计蓝图\", \n    \"descriptionID\": 64630, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65704, \n    \"parentGroupID\": 408\n  }, \n  \"412\": {\n    \"description_de\": \"Blueprints von Gallente-Abfangjäger-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente interceptor designs.\", \n    \"description_es\": \"Planos de diseños de interceptores gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles d'intercepteurs gallente.\", \n    \"description_it\": \"Blueprints of Gallente interceptor designs.\", \n    \"description_ja\": \"ガレンテ要撃型フリゲート設計図のブループリント。\", \n    \"description_ko\": \"갈란테 인터셉터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи перехватчиков разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特截击舰设计蓝图。\", \n    \"descriptionID\": 64631, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65705, \n    \"parentGroupID\": 408\n  }, \n  \"413\": {\n    \"description_de\": \"Blueprints von Minmatar-Abfangjäger-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar interceptor designs.\", \n    \"description_es\": \"Planos de diseños de interceptores minmatarianos.\", \n    \"description_fr\": \"Plans de construction de modèles d'intercepteurs minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar interceptor designs.\", \n    \"description_ja\": \"ミンマター要撃型フリゲート設計図のブループリント。\", \n    \"description_ko\": \"민마타 인터셉터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи перехватчиков разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔截击舰设计蓝图。\", \n    \"descriptionID\": 64632, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65706, \n    \"parentGroupID\": 408\n  }, \n  \"414\": {\n    \"description_de\": \"Blueprints von Schiffen der Shuttle-Klasse.\", \n    \"description_en-us\": \"Blueprints of shuttle-class vessels.\", \n    \"description_es\": \"Planos de naves de clase lanzadera.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe navette.\", \n    \"description_it\": \"Blueprints of shuttle-class vessels.\", \n    \"description_ja\": \"シャトル級艦船のブループリント。\", \n    \"description_ko\": \"셔틀급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи челноков.\", \n    \"description_zh\": \"穿梭机蓝图。\", \n    \"descriptionID\": 64633, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Shuttles\", \n    \"name_en-us\": \"Shuttles\", \n    \"name_es\": \"Lanzaderas\", \n    \"name_fr\": \"Navettes\", \n    \"name_it\": \"Shuttles\", \n    \"name_ja\": \"シャトル\", \n    \"name_ko\": \"셔틀\", \n    \"name_ru\": \"Катера\", \n    \"name_zh\": \"穿梭机\", \n    \"nameID\": 65707, \n    \"parentGroupID\": 204\n  }, \n  \"415\": {\n    \"description_de\": \"Blueprints von Amarr-Shuttle-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr shuttle designs.\", \n    \"description_es\": \"Planos de diseños de lanzaderas amarrianas.\", \n    \"description_fr\": \"Plans de construction de modèles de navettes amarr.\", \n    \"description_it\": \"Blueprints of Amarr shuttle designs.\", \n    \"description_ja\": \"アマーシャトル設計図のブループリント。\", \n    \"description_ko\": \"아마르 셔틀 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи челноков разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛穿梭机设计蓝图\", \n    \"descriptionID\": 64634, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65708, \n    \"parentGroupID\": 414\n  }, \n  \"416\": {\n    \"description_de\": \"Blueprints von Caldari-Shuttle-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari shuttle designs.\", \n    \"description_es\": \"Planos de diseños de lanzaderas caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de navettes caldari.\", \n    \"description_it\": \"Blueprints of Caldari shuttle designs.\", \n    \"description_ja\": \"カルダリシャトル設計図のブループリント。\", \n    \"description_ko\": \"칼다리 셔틀 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи челноков разработки Государства Caldari.\", \n    \"description_zh\": \"加达里穿梭机设计蓝图\", \n    \"descriptionID\": 64635, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65709, \n    \"parentGroupID\": 414\n  }, \n  \"417\": {\n    \"description_de\": \"Blueprints von Gallente-Shuttle-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente shuttle designs.\", \n    \"description_es\": \"Planos de diseños de lanzaderas gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de navettes gallente.\", \n    \"description_it\": \"Blueprints of Gallente shuttle designs.\", \n    \"description_ja\": \"カルダリシャトル設計図のブループリント。\", \n    \"description_ko\": \"갈란테 셔틀 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи челноков разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特穿梭机设计蓝图。\", \n    \"descriptionID\": 64636, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65710, \n    \"parentGroupID\": 414\n  }, \n  \"418\": {\n    \"description_de\": \"Blueprints von Minmatar-Industrial-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar shuttle designs.\", \n    \"description_es\": \"Planos de diseños de lanzaderas minmatarianas.\", \n    \"description_fr\": \"Plans de construction de modèles de navettes minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar shuttle designs.\", \n    \"description_ja\": \"ミンマターシャトル設計図のブループリント。\", \n    \"description_ko\": \"민마타 셔틀 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи челноков разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔穿梭机设计蓝图。\", \n    \"descriptionID\": 64637, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65711, \n    \"parentGroupID\": 414\n  }, \n  \"419\": {\n    \"description_de\": \"Blueprints von Schiffen der Covert Ops-Klasse.\", \n    \"description_en-us\": \"Blueprints of covert ops-class vessels.\", \n    \"description_es\": \"Planos de naves de clase operaciones encubiertas.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe opérations secrètes.\", \n    \"description_it\": \"Blueprints of covert ops-class vessels.\", \n    \"description_ja\": \"隠密行動フリゲート級艦船のブループリント。\", \n    \"description_ko\": \"코버트 옵스급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи спецкораблей.\", \n    \"description_zh\": \"隐形特勤舰蓝图\", \n    \"descriptionID\": 64638, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Covert Ops\", \n    \"name_en-us\": \"Covert Ops\", \n    \"name_es\": \"Operaciones encubiertas\", \n    \"name_fr\": \"Opérations secrètes\", \n    \"name_it\": \"Covert Ops\", \n    \"name_ja\": \"隠密行動艦\", \n    \"name_ko\": \"코버트 옵스\", \n    \"name_ru\": \"Диверсионные фрегаты\", \n    \"name_zh\": \"隐形特勤舰\", \n    \"nameID\": 65712, \n    \"parentGroupID\": 204\n  }, \n  \"420\": {\n    \"description_de\": \"Fregatten, konzipiert für Geheimoperationen.\", \n    \"description_en-us\": \"Frigates designed for clandestine operations.\", \n    \"description_es\": \"Fragatas diseñadas para operaciones clandestinas.\", \n    \"description_fr\": \"Frégates conçues pour mener des opérations clandestines.\", \n    \"description_it\": \"Frigates designed for clandestine operations.\", \n    \"description_ja\": \"密偵活動を主な任務とするフリゲート。\", \n    \"description_ko\": \"비밀 임무에 투입되는 프리깃입니다.\", \n    \"description_ru\": \"Это фрегаты, созданные для тайных операций.\", \n    \"description_zh\": \"专用于执行秘密任务的护卫舰设计方案。\", \n    \"descriptionID\": 65248, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Covert Ops\", \n    \"name_en-us\": \"Covert Ops\", \n    \"name_es\": \"Operaciones encubiertas\", \n    \"name_fr\": \"Opérations secrètes\", \n    \"name_it\": \"Covert Ops\", \n    \"name_ja\": \"隠密行動艦\", \n    \"name_ko\": \"코버트 옵스\", \n    \"name_ru\": \"Диверсионные фрегаты\", \n    \"name_zh\": \"隐形特勤舰\", \n    \"nameID\": 66322, \n    \"parentGroupID\": 1364\n  }, \n  \"421\": {\n    \"description_de\": \"Amarr-Covert Ops-Designs.\", \n    \"description_en-us\": \"Amarr covert ops designs.\", \n    \"description_es\": \"Diseños de operaciones encubiertas amarrianas.\", \n    \"description_fr\": \"Modèles de vaisseaux d'opérations secrètes amarr.\", \n    \"description_it\": \"Amarr covert ops designs.\", \n    \"description_ja\": \"アマー隠密行動艦。\", \n    \"description_ko\": \"아마르의 코버트 옵스입니다.\", \n    \"description_ru\": \"Спецкорабли разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛隐形特勤舰设计\", \n    \"descriptionID\": 64639, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65713, \n    \"parentGroupID\": 420\n  }, \n  \"422\": {\n    \"description_de\": \"Caldari-Covert Ops-Designs.\", \n    \"description_en-us\": \"Caldari covert ops designs.\", \n    \"description_es\": \"Diseños de operaciones encubiertas caldaris.\", \n    \"description_fr\": \"Modèles de vaisseaux d'opérations secrètes caldari.\", \n    \"description_it\": \"Caldari covert ops designs.\", \n    \"description_ja\": \"カルダリ隠密行動艦。\", \n    \"description_ko\": \"칼다리의 코버트 옵스입니다.\", \n    \"description_ru\": \"Спецкорабли разработки Государства Caldari.\", \n    \"description_zh\": \"加达里隐形特勤舰设计\", \n    \"descriptionID\": 64640, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65714, \n    \"parentGroupID\": 420\n  }, \n  \"423\": {\n    \"description_de\": \"Gallente-Covert Ops-Designs.\", \n    \"description_en-us\": \"Gallente covert ops designs.\", \n    \"description_es\": \"Diseños de operaciones encubiertas gallentes.\", \n    \"description_fr\": \"Modèles de vaisseaux d'opérations secrètes gallente.\", \n    \"description_it\": \"Gallente covert ops designs.\", \n    \"description_ja\": \"ガレンテ隠密行動艦。\", \n    \"description_ko\": \"갈란테의 코버트 옵스입니다.\", \n    \"description_ru\": \"Спецкорабли разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特隐形特勤舰设计\", \n    \"descriptionID\": 64641, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65715, \n    \"parentGroupID\": 420\n  }, \n  \"424\": {\n    \"description_de\": \"Minmatar-Covers-Ops-Designs\", \n    \"description_en-us\": \"Minmatar covert ops designs.\", \n    \"description_es\": \"Diseños de operaciones encubiertas minmatarianas.\", \n    \"description_fr\": \"Modèles de vaisseaux d'opérations secrètes minmatar.\", \n    \"description_it\": \"Minmatar covert ops designs.\", \n    \"description_ja\": \"ミンマター隠密行動艦。\", \n    \"description_ko\": \"민마타의 코버트 옵스입니다.\", \n    \"description_ru\": \"Спецкорабли разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔隐形特勤舰设计\", \n    \"descriptionID\": 64642, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65716, \n    \"parentGroupID\": 420\n  }, \n  \"425\": {\n    \"description_de\": \"Blueprints von Amarr-Covert Ops-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr covert ops designs.\", \n    \"description_es\": \"Planos de diseños de operaciones encubiertas amarrianas.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux d'opérations secrètes amarr.\", \n    \"description_it\": \"Blueprints of Amarr covert ops designs.\", \n    \"description_ja\": \"アマー隠密行動艦のブループリント。\", \n    \"description_ko\": \"아마르 코버트 옵스 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи спецкораблей разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛隐形特勤舰设计蓝图\", \n    \"descriptionID\": 64643, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65717, \n    \"parentGroupID\": 419\n  }, \n  \"427\": {\n    \"description_de\": \"Blueprints von Caldari-Covert Ops-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari covert ops designs.\", \n    \"description_es\": \"Planos de diseños de operaciones encubiertas caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux d'opérations secrètes caldari.\", \n    \"description_it\": \"Blueprints of Caldari covert ops designs.\", \n    \"description_ja\": \"カルダリ隠密行動艦のブループリント。\", \n    \"description_ko\": \"칼다리 코버트 옵스 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи спецкораблей разработки Государства Caldari.\", \n    \"description_zh\": \"加达里隐形特勤舰设计蓝图\", \n    \"descriptionID\": 64644, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65718, \n    \"parentGroupID\": 419\n  }, \n  \"428\": {\n    \"description_de\": \"Blueprints von Gallente-Covert Ops-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente covert ops designs.\", \n    \"description_es\": \"Planos de diseños de operaciones encubiertas gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux d'opérations secrètes gallente.\", \n    \"description_it\": \"Blueprints of Gallente covert ops designs.\", \n    \"description_ja\": \"ガレンテ隠密行動艦のブループリント。\", \n    \"description_ko\": \"갈란테 코버트 옵스 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи спецкораблей разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特隐形特勤舰设计蓝图。\", \n    \"descriptionID\": 64645, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65719, \n    \"parentGroupID\": 419\n  }, \n  \"429\": {\n    \"description_de\": \"Blueprints von Minmatar-Covert Ops-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar covert ops designs.\", \n    \"description_es\": \"Planos de diseños de operaciones encubiertas minmatarianas.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux d'opérations secrètes minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar covert ops designs.\", \n    \"description_ja\": \"ミンマター隠密行動艦のブループリント。\", \n    \"description_ko\": \"민마타 코버트 옵스 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи спецкораблей разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔隐形特勤舰设计蓝图。\", \n    \"descriptionID\": 64646, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65720, \n    \"parentGroupID\": 419\n  }, \n  \"430\": {\n    \"description_de\": \"Blueprints von Tarnvorrichtungen.\", \n    \"description_en-us\": \"Blueprints of cloaking devices.\", \n    \"description_es\": \"Planos de dispositivos de camuflaje.\", \n    \"description_fr\": \"Plans de construction de dispositifs de camouflage.\", \n    \"description_it\": \"Blueprints of cloaking devices.\", \n    \"description_ja\": \"遮蔽装置のブループリント。\", \n    \"description_ko\": \"클로킹 장치 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи систем маскировки.\", \n    \"description_zh\": \"隐形装置蓝图\", \n    \"descriptionID\": 64647, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Tarnvorrichtungen\", \n    \"name_en-us\": \"Cloaking Devices\", \n    \"name_es\": \"Dispositivos de camuflaje\", \n    \"name_fr\": \"Dispositifs de camouflage\", \n    \"name_it\": \"Cloaking Devices\", \n    \"name_ja\": \"遮蔽装置\", \n    \"name_ko\": \"클로킹 장치\", \n    \"name_ru\": \"Системы маскировки\", \n    \"name_zh\": \"隐形装置\", \n    \"nameID\": 65721, \n    \"parentGroupID\": 1578\n  }, \n  \"432\": {\n    \"description_de\": \"Robuste, mächtige Fregatten, die für uneingeschränkte Gefechte gebaut wurden.\", \n    \"description_en-us\": \"Sturdy and powerful frigates built for all-out combat.\", \n    \"description_es\": \"Fragatas resistentes y poderosas construidas para los combates sin cuartel.\", \n    \"description_fr\": \"Frégates robustes et puissantes conçues pour le combat.\", \n    \"description_it\": \"Sturdy and powerful frigates built for all-out combat.\", \n    \"description_ja\": \"総力戦で活躍する頑丈かつ強力なフリゲート。\", \n    \"description_ko\": \"견고하면서도 강력한 프리깃으로 공격적인 전투를 위해 설계된 함선입니다.\", \n    \"description_ru\": \"Прочные и мощные фрегаты, созданные для ведения масштабных военных действий.\", \n    \"description_zh\": \"坚固强大的全天候战斗护卫舰。\", \n    \"descriptionID\": 65246, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Angriffsfregatten\", \n    \"name_en-us\": \"Assault Frigates\", \n    \"name_es\": \"Fragatas de asalto\", \n    \"name_fr\": \"Frégates d'assaut\", \n    \"name_it\": \"Assault Frigates\", \n    \"name_ja\": \"強襲型フリゲート\", \n    \"name_ko\": \"어썰트 프리깃\", \n    \"name_ru\": \"Ударные фрегаты\", \n    \"name_zh\": \"突击护卫舰\", \n    \"nameID\": 66320, \n    \"parentGroupID\": 1364\n  }, \n  \"433\": {\n    \"description_de\": \"Amarr-Designs für Angriffsfregatten.\", \n    \"description_en-us\": \"Amarr assault frigate designs.\", \n    \"description_es\": \"Diseños de fragatas de asalto amarrianas.\", \n    \"description_fr\": \"Modèles de frégates d'assaut amarr.\", \n    \"description_it\": \"Amarr assault frigate designs.\", \n    \"description_ja\": \"アマーの強襲型フリゲート。\", \n    \"description_ko\": \"아마르의 어썰트 프리깃입니다.\", \n    \"description_ru\": \"Проектная документация на ударный фрегат разработки империи Амарр.\", \n    \"description_zh\": \"艾玛突击护卫舰设计。\", \n    \"descriptionID\": 64648, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65722, \n    \"parentGroupID\": 432\n  }, \n  \"434\": {\n    \"description_de\": \"Caldari-Designs für Angriffsfregatten.\", \n    \"description_en-us\": \"Caldari assault frigate designs.\", \n    \"description_es\": \"Diseños de fragatas de asalto caldaris.\", \n    \"description_fr\": \"Modèles de frégates d'assaut caldari.\", \n    \"description_it\": \"Caldari assault frigate designs.\", \n    \"description_ja\": \"カルダリ強襲型フリゲート。\", \n    \"description_ko\": \"칼다리의 어썰트 프리깃입니다.\", \n    \"description_ru\": \"Ударные фрегаты разработки государства Калдари.\", \n    \"description_zh\": \"加达里突击护卫舰设计。\", \n    \"descriptionID\": 64649, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65723, \n    \"parentGroupID\": 432\n  }, \n  \"435\": {\n    \"description_de\": \"Gallente-Designs für Angriffsfregatten.\", \n    \"description_en-us\": \"Gallente assault frigate designs.\", \n    \"description_es\": \"Diseños de fragatas de asalto gallentes.\", \n    \"description_fr\": \"Modèles de frégates d'assaut gallente.\", \n    \"description_it\": \"Gallente assault frigate designs.\", \n    \"description_ja\": \"ガレンテ強襲型フリゲート。\", \n    \"description_ko\": \"갈란테의 어썰트 프리깃입니다.\", \n    \"description_ru\": \"Проектная документация на ударный фрегат разработки государства Калдари.\", \n    \"description_zh\": \"盖伦特突击护卫舰设计。\", \n    \"descriptionID\": 64650, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65724, \n    \"parentGroupID\": 432\n  }, \n  \"436\": {\n    \"description_de\": \"Minmatar-Designs für Angriffsfregatten.\", \n    \"description_en-us\": \"Minmatar assault frigate designs.\", \n    \"description_es\": \"Diseños de fragatas de asalto minmatarianas.\", \n    \"description_fr\": \"Modèles de frégates d'assaut minmatar.\", \n    \"description_it\": \"Minmatar assault frigate designs.\", \n    \"description_ja\": \"ミンマター強襲型フリゲート。\", \n    \"description_ko\": \"민마타의 어썰트 프리깃입니다.\", \n    \"description_ru\": \"Проектная документация на ударный фрегат разработки республики Минматар.\", \n    \"description_zh\": \"米玛塔尔突击护卫舰设计。\", \n    \"descriptionID\": 64651, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65725, \n    \"parentGroupID\": 432\n  }, \n  \"437\": {\n    \"description_de\": \"Unterstützungsschiffe, die für die Assistenz bei großen Gefechten entwickelt wurden.\", \n    \"description_en-us\": \"Support ships, engineered for field assistance in large engagements.\", \n    \"description_es\": \"Naves de apoyo creadas para ayudar en combate en grandes enfrentamientos.\", \n    \"description_fr\": \"Vaisseaux de soutien, conçus pour l'assistance sur le terrain dans les engagements à grande échelle.\", \n    \"description_it\": \"Support ships, engineered for field assistance in large engagements.\", \n    \"description_ja\": \"大規模な戦闘時にサポート役を務めるサポート船。\", \n    \"description_ko\": \"대규모 전투를 지원하기 위해 설계된 함선입니다.\", \n    \"description_ru\": \"Ремонтные корабли специально разрабатываются для оказания поддержки союзникам в ходе крупных боевых действий.\", \n    \"description_zh\": \"在大型作战中提供支援和工程协助。\", \n    \"descriptionID\": 65254, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Logistik-Kreuzer\", \n    \"name_en-us\": \"Logistics\", \n    \"name_es\": \"Logística\", \n    \"name_fr\": \"Logistique\", \n    \"name_it\": \"Logistics\", \n    \"name_ja\": \"支援型巡洋艦\", \n    \"name_ko\": \"로지스틱스\", \n    \"name_ru\": \"Крейсеры обеспечения\", \n    \"name_zh\": \"后勤舰\", \n    \"nameID\": 66328, \n    \"parentGroupID\": 1368\n  }, \n  \"438\": {\n    \"description_de\": \"Amarr-Logistikschiff-Designs.\", \n    \"description_en-us\": \"Amarr logistics vessel designs.\", \n    \"description_es\": \"Diseños de naves logísticas amarrianas.\", \n    \"description_fr\": \"Modèles de vaisseaux logistiques amarr.\", \n    \"description_it\": \"Amarr logistics vessel designs.\", \n    \"description_ja\": \"アマー支援型巡洋艦設計図。\", \n    \"description_ko\": \"아마르의 로지스틱스입니다.\", \n    \"description_ru\": \"Ремонтные корабли разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛后勤舰设计\", \n    \"descriptionID\": 64652, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65726, \n    \"parentGroupID\": 437\n  }, \n  \"439\": {\n    \"description_de\": \"Caldari-Logistikschiff-Designs.\", \n    \"description_en-us\": \"Caldari logistics vessel designs.\", \n    \"description_es\": \"Diseños de naves logísticas caldaris.\", \n    \"description_fr\": \"Modèles de vaisseaux logistiques caldari.\", \n    \"description_it\": \"Caldari logistics vessel designs.\", \n    \"description_ja\": \"カルダリ支援型巡洋艦設計図。\", \n    \"description_ko\": \"칼다리의 로지스틱스입니다.\", \n    \"description_ru\": \"Транспортные корабли разработки Государства Caldari.\", \n    \"description_zh\": \"加达里后勤舰设计\", \n    \"descriptionID\": 64653, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65727, \n    \"parentGroupID\": 437\n  }, \n  \"440\": {\n    \"description_de\": \"Gallente-Logistikschiff-Designs.\", \n    \"description_en-us\": \"Gallente logistics vessel designs.\", \n    \"description_es\": \"Diseños de naves logísticas gallentes.\", \n    \"description_fr\": \"Modèles de vaisseaux logistiques gallente.\", \n    \"description_it\": \"Gallente logistics vessel designs.\", \n    \"description_ja\": \"ガレンテ支援型巡洋艦設計図。\", \n    \"description_ko\": \"갈란테의 로지스틱스입니다.\", \n    \"description_ru\": \"Ремонтные корабли разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特后勤舰设计\", \n    \"descriptionID\": 64654, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65728, \n    \"parentGroupID\": 437\n  }, \n  \"441\": {\n    \"description_de\": \"Minmatar-Logistikschiff-Designs.\", \n    \"description_en-us\": \"Minmatar logistics vessel designs.\", \n    \"description_es\": \"Diseños de naves logísticas minmatarianas.\", \n    \"description_fr\": \"Modèles de vaisseaux logistiques minmatar.\", \n    \"description_it\": \"Minmatar logistics vessel designs.\", \n    \"description_ja\": \"ミンマター支援型巡洋艦設計図。\", \n    \"description_ko\": \"민마타의 로지스틱스입니다.\", \n    \"description_ru\": \"Ремонтные корабли разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔后勤舰设计\", \n    \"descriptionID\": 64655, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65729, \n    \"parentGroupID\": 437\n  }, \n  \"442\": {\n    \"description_de\": \"Blueprints von Schiffen der Logistik-Klasse.\", \n    \"description_en-us\": \"Blueprints of Logistics-class vessels.\", \n    \"description_es\": \"Planos de naves logísticas.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe logistique.\", \n    \"description_it\": \"Blueprints of Logistics-class vessels.\", \n    \"description_ja\": \"支援型巡洋艦級艦船のブループリント。\", \n    \"description_ko\": \"로지스틱스급 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ремонтных кораблей.\", \n    \"description_zh\": \"后勤舰蓝图\", \n    \"descriptionID\": 64656, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Logistik-Kreuzer\", \n    \"name_en-us\": \"Logistics\", \n    \"name_es\": \"Logística\", \n    \"name_fr\": \"Logistique\", \n    \"name_it\": \"Logistics\", \n    \"name_ja\": \"支援型巡洋艦\", \n    \"name_ko\": \"지원\", \n    \"name_ru\": \"Крейсеры обеспечения\", \n    \"name_zh\": \"后勤舰\", \n    \"nameID\": 65730, \n    \"parentGroupID\": 204\n  }, \n  \"443\": {\n    \"description_de\": \"Blueprints von Amarr-Logistikschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr logistics designs.\", \n    \"description_es\": \"Planos de diseños de naves logísticas amarrianas.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux logistiques amarr.\", \n    \"description_it\": \"Blueprints of Amarr logistics designs.\", \n    \"description_ja\": \"アマー支援型巡洋艦設計図のブループリント。\", \n    \"description_ko\": \"아마르 로지스틱스 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ремонтных кораблей разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛后勤舰设计蓝图\", \n    \"descriptionID\": 64657, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65731, \n    \"parentGroupID\": 442\n  }, \n  \"444\": {\n    \"description_de\": \"Blueprints von Caldari-Logistikschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari logistics designs.\", \n    \"description_es\": \"Planos de diseños de naves logísticas caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux logistiques caldari.\", \n    \"description_it\": \"Blueprints of Caldari logistics designs.\", \n    \"description_ja\": \"カルダリ支援型巡洋艦設計図のブループリント。\", \n    \"description_ko\": \"칼다리 로지스틱스 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ремонтных кораблей разработки Государства Caldari.\", \n    \"description_zh\": \"加达里后勤舰设计蓝图\", \n    \"descriptionID\": 64658, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65732, \n    \"parentGroupID\": 442\n  }, \n  \"445\": {\n    \"description_de\": \"Blueprints von Gallente-Logistikschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente logistics designs.\", \n    \"description_es\": \"Planos de diseños de naves logísticas gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux logistiques gallente.\", \n    \"description_it\": \"Blueprints of Gallente logistics designs.\", \n    \"description_ja\": \"ガレンテ支援型巡洋艦設計図のブループリント。\", \n    \"description_ko\": \"갈란테 로지스틱스 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ремонтных кораблей разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特后勤舰设计蓝图。\", \n    \"descriptionID\": 64659, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65733, \n    \"parentGroupID\": 442\n  }, \n  \"446\": {\n    \"description_de\": \"Blueprints von Minmatar-Logistikschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar logistics designs.\", \n    \"description_es\": \"Planos de diseños de naves logísticas minmatarianas.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux logistiques minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar logistics designs.\", \n    \"description_ja\": \"ミンマター支援型巡洋艦設計図のブループリント。\", \n    \"description_ko\": \"민마타 로지스틱스 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ремонтных кораблей разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔后勤舰设计蓝图。\", \n    \"descriptionID\": 64660, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65734, \n    \"parentGroupID\": 442\n  }, \n  \"448\": {\n    \"description_de\": \"Robuste und mächtige Kreuzer für den uneingeschränkten Kampf.\", \n    \"description_en-us\": \"Sturdy and powerful cruisers built for all-out combat.\", \n    \"description_es\": \"Cruceros resistentes y poderosos construidos para los combates sin cuartel.\", \n    \"description_fr\": \"Croiseurs solides et puissants conçus pour le combat.\", \n    \"description_it\": \"Sturdy and powerful cruisers built for all-out combat.\", \n    \"description_ja\": \"総力戦で活躍する頑丈かつ強力な巡洋艦。\", \n    \"description_ko\": \"전투를 목적으로 설계된 강력한 크루저입니다.\", \n    \"description_ru\": \"Прочные и мощные крейсеры, предназначенные для ведения интенсивных боевых действий.\", \n    \"description_zh\": \"坚固强大的全天候战斗巡洋舰。\", \n    \"descriptionID\": 65253, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Schwere Angriffskreuzer\", \n    \"name_en-us\": \"Heavy Assault Cruisers\", \n    \"name_es\": \"Cruceros de asalto pesados\", \n    \"name_fr\": \"Croiseurs d'assaut lourds\", \n    \"name_it\": \"Heavy Assault Cruisers\", \n    \"name_ja\": \"強襲型巡洋艦\", \n    \"name_ko\": \"어썰트 크루저\", \n    \"name_ru\": \"Ударные крейсеры\", \n    \"name_zh\": \"重型突击巡洋舰\", \n    \"nameID\": 66327, \n    \"parentGroupID\": 1368\n  }, \n  \"449\": {\n    \"description_de\": \"Amarr-Designs für schwere Angriffskreuzer.\", \n    \"description_en-us\": \"Amarr heavy assault cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros de asalto pesados amarrianos.\", \n    \"description_fr\": \"Modèles de croiseurs d'assaut lourds amarr.\", \n    \"description_it\": \"Amarr heavy assault cruiser designs.\", \n    \"description_ja\": \"アマーの強襲型巡洋艦。\", \n    \"description_ko\": \"아마르의 어썰트 크루저입니다.\", \n    \"description_ru\": \"Тяжелые ударные крейсеры разработки империи Амарр.\", \n    \"description_zh\": \"艾玛重型突击巡洋舰设计。\", \n    \"descriptionID\": 64661, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65735, \n    \"parentGroupID\": 448\n  }, \n  \"450\": {\n    \"description_de\": \"Caldari-Designs für schwere Angriffskreuzer.\", \n    \"description_en-us\": \"Caldari heavy assault cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros de asalto pesados caldaris.\", \n    \"description_fr\": \"Modèles de croiseurs d'assaut lourds caldari.\", \n    \"description_it\": \"Caldari heavy assault cruiser designs.\", \n    \"description_ja\": \"カルダリの強襲型巡洋艦。\", \n    \"description_ko\": \"칼다리의 어썰트 크루저입니다.\", \n    \"description_ru\": \"Тяжелые ударные крейсеры разработки государства Калдари.\", \n    \"description_zh\": \"加达里重型突击巡洋舰设计。\", \n    \"descriptionID\": 64662, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65736, \n    \"parentGroupID\": 448\n  }, \n  \"451\": {\n    \"description_de\": \"Gallente-Designs für schwere Angriffskreuzer.\", \n    \"description_en-us\": \"Gallente heavy assault cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros de asalto pesados gallentes.\", \n    \"description_fr\": \"Modèles de croiseurs d'assaut lourds gallente.\", \n    \"description_it\": \"Gallente heavy assault cruiser designs.\", \n    \"description_ja\": \"ガレンテ強襲型巡洋艦。\", \n    \"description_ko\": \"갈란테 어썰트 크루저입니다.\", \n    \"description_ru\": \"Тяжелые ударные крейсеры разработки федерации Галленте.\", \n    \"description_zh\": \"盖伦特重型突击巡洋舰设计。\", \n    \"descriptionID\": 64663, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65737, \n    \"parentGroupID\": 448\n  }, \n  \"452\": {\n    \"description_de\": \"Minmatar-Designs für schwere Angriffskreuzer.\", \n    \"description_en-us\": \"Minmatar heavy assault cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros de asalto pesados minmatarianos.\", \n    \"description_fr\": \"Modèles de croiseurs d'assaut lourds minmatar.\", \n    \"description_it\": \"Minmatar heavy assault cruiser designs.\", \n    \"description_ja\": \"ミンマター強襲型巡洋艦。\", \n    \"description_ko\": \"민마타 어썰트 크루저입니다.\", \n    \"description_ru\": \"Тяжелые ударные крейсеры разработки республики Минматар.\", \n    \"description_zh\": \"米玛塔尔重型突击巡洋舰设计。\", \n    \"descriptionID\": 64664, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65738, \n    \"parentGroupID\": 448\n  }, \n  \"453\": {\n    \"description_de\": \"Blueprints von schweren Angriffsklasse-Schiffen.\", \n    \"description_en-us\": \"Blueprints of heavy assault-class vessels.\", \n    \"description_es\": \"Planos de naves pesadas de asalto.\", \n    \"description_fr\": \"Plans de construction de vaisseaux d'assaut lourds.\", \n    \"description_it\": \"Blueprints of heavy assault-class vessels.\", \n    \"description_ja\": \"大型アサルト級艦船のブループリント。\", \n    \"description_ko\": \"어썰트 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тяжелых ударных кораблей.\", \n    \"description_zh\": \"重型突击舰蓝图\", \n    \"descriptionID\": 64665, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Schwere Angriffskreuzer\", \n    \"name_en-us\": \"Heavy Assault Cruisers\", \n    \"name_es\": \"Cruceros de asalto pesados\", \n    \"name_fr\": \"Croiseurs d'assaut lourds\", \n    \"name_it\": \"Heavy Assault Cruisers\", \n    \"name_ja\": \"強襲型巡洋艦\", \n    \"name_ko\": \"어썰트 크루저\", \n    \"name_ru\": \"Ударные крейсеры\", \n    \"name_zh\": \"重型突击巡洋舰\", \n    \"nameID\": 65739, \n    \"parentGroupID\": 204\n  }, \n  \"454\": {\n    \"description_de\": \"Blueprints von Amarr-Designs für schwere Angriffskreuzer.\", \n    \"description_en-us\": \"Blueprints of Amarr heavy assault cruiser designs.\", \n    \"description_es\": \"Planos de cruceros de asalto pesados amarrianos.\", \n    \"description_fr\": \"Plans de construction de modèles de croiseurs d'assaut lourds amarr.\", \n    \"description_it\": \"Blueprints of Amarr heavy assault cruiser designs.\", \n    \"description_ja\": \"アマー強襲型巡洋艦のブループリント。\", \n    \"description_ko\": \"아마르 어썰트 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи проектов тяжелых ударных крейсеров разработки империи Амарр.\", \n    \"description_zh\": \"艾玛重型突击巡洋舰设计蓝图。\", \n    \"descriptionID\": 64666, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65740, \n    \"parentGroupID\": 453\n  }, \n  \"455\": {\n    \"description_de\": \"Blueprints von Caldari-Designs für schwere Angriffskreuzer.\", \n    \"description_en-us\": \"Blueprints of Caldari heavy assault cruiser designs.\", \n    \"description_es\": \"Planos de diseños de cruceros de asalto pesados caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de croiseurs d'assaut lourds caldari.\", \n    \"description_it\": \"Blueprints of Caldari heavy assault cruiser designs.\", \n    \"description_ja\": \"カルダリ強襲型巡洋艦のブループリント。\", \n    \"description_ko\": \"칼다리 어썰트 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тяжелых ударных крейсеров разработки государства Калдари.\", \n    \"description_zh\": \"加达里重型突击巡洋舰设计蓝图。\", \n    \"descriptionID\": 64667, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65741, \n    \"parentGroupID\": 453\n  }, \n  \"456\": {\n    \"description_de\": \"Blueprints von Gallente-Designs für schwere Angriffskreuzer.\", \n    \"description_en-us\": \"Blueprints of Gallente heavy assault cruiser designs.\", \n    \"description_es\": \"Planos de diseños de cruceros de asalto pesados gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de croiseurs d'assaut lourds gallente.\", \n    \"description_it\": \"Blueprints of Gallente heavy assault cruiser designs.\", \n    \"description_ja\": \"ガレンテ強襲型巡洋艦のブループリント。\", \n    \"description_ko\": \"갈란테 어썰트 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тяжелых ударных крейсеров разработки государства Галленте.\", \n    \"description_zh\": \"盖伦特重型突击巡洋舰设计蓝图。\", \n    \"descriptionID\": 64668, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65742, \n    \"parentGroupID\": 453\n  }, \n  \"457\": {\n    \"description_de\": \"Blueprints von Minmatar-Designs für schwere Angriffskreuzer.\", \n    \"description_en-us\": \"Blueprints of Minmatar heavy assault cruiser designs.\", \n    \"description_es\": \"Planos de diseños de cruceros de asalto pesados minmatarianos.\", \n    \"description_fr\": \"Plans de construction de modèles de croiseurs d'assaut lourds minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar heavy assault cruiser designs.\", \n    \"description_ja\": \"ミンマター強襲型巡洋艦のブループリント。\", \n    \"description_ko\": \"민마타 어썰트 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи проектов тяжелых ударных крейсеров разработки республики Минматар.\", \n    \"description_zh\": \"米玛塔尔重型突击巡洋舰设计蓝图。\", \n    \"descriptionID\": 64669, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65743, \n    \"parentGroupID\": 453\n  }, \n  \"458\": {\n    \"description_de\": \"Blueprints von Schiffen der Angriffsklasse.\", \n    \"description_en-us\": \"Blueprints of assault-class vessels.\", \n    \"description_es\": \"Planos de naves de asalto.\", \n    \"description_fr\": \"Plans de construction de vaisseaux d'assaut.\", \n    \"description_it\": \"Blueprints of assault-class vessels.\", \n    \"description_ja\": \"アサルト級艦船のブループリント。\", \n    \"description_ko\": \"어썰트급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ударных кораблей.\", \n    \"description_zh\": \"突击舰等级舰只蓝图\", \n    \"descriptionID\": 64670, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Angriffsfregatten\", \n    \"name_en-us\": \"Assault Frigates\", \n    \"name_es\": \"Fragatas de asalto\", \n    \"name_fr\": \"Frégates d'assaut\", \n    \"name_it\": \"Assault Frigates\", \n    \"name_ja\": \"強襲型フリゲート\", \n    \"name_ko\": \"어썰트 프리깃\", \n    \"name_ru\": \"Ударные фрегаты\", \n    \"name_zh\": \"突击护卫舰\", \n    \"nameID\": 65744, \n    \"parentGroupID\": 204\n  }, \n  \"459\": {\n    \"description_de\": \"Blueprints von Amarr-Designs für Angriffsfregatten.\", \n    \"description_en-us\": \"Blueprints of Amarr assault frigate designs.\", \n    \"description_es\": \"Planos de diseños de fragatas de asalto amarrianas.\", \n    \"description_fr\": \"Plans de construction de modèles de frégates d'assaut amarr.\", \n    \"description_it\": \"Blueprints of Amarr assault frigate designs.\", \n    \"description_ja\": \"アマー強襲型フリゲートのブループリント。\", \n    \"description_ko\": \"아마르 어썰트 프리깃 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи проектов ударных фрегатов разработки империи Амарр.\", \n    \"description_zh\": \"艾玛突击护卫舰设计蓝图。\", \n    \"descriptionID\": 64671, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65745, \n    \"parentGroupID\": 458\n  }, \n  \"461\": {\n    \"description_de\": \"Blueprints von Caldari-Designs für Angriffsfregatten.\", \n    \"description_en-us\": \"Blueprints of Caldari assault frigate designs.\", \n    \"description_es\": \"Planos de diseños de fragatas de asalto caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de frégates d'assaut caldari.\", \n    \"description_it\": \"Blueprints of Caldari assault frigate designs.\", \n    \"description_ja\": \"カルダリ強襲型フリゲートのブループリント。\", \n    \"description_ko\": \"칼다리 어썰트 프리깃 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи проектов ударных фрегатов разработки государства Калдари.\", \n    \"description_zh\": \"加达里突击护卫舰设计蓝图。\", \n    \"descriptionID\": 64672, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65746, \n    \"parentGroupID\": 458\n  }, \n  \"462\": {\n    \"description_de\": \"Blueprints von Gallente-Designs für Angriffsfregatten.\", \n    \"description_en-us\": \"Blueprints of Gallente assault frigate designs.\", \n    \"description_es\": \"Planos de diseños de fragatas de asalto gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de frégates d'assaut gallente.\", \n    \"description_it\": \"Blueprints of Gallente assault frigate designs.\", \n    \"description_ja\": \"ガレンテ強襲型フリゲートのブループリント。\", \n    \"description_ko\": \"갈란테 어썰트 프리깃 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи проектов ударных фрегатов разработки федерации Галленте.\", \n    \"description_zh\": \"盖伦特突击护卫舰设计蓝图。\", \n    \"descriptionID\": 64673, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65747, \n    \"parentGroupID\": 458\n  }, \n  \"463\": {\n    \"description_de\": \"Blueprints von Minmatar-Designs für Angriffsfregatten.\", \n    \"description_en-us\": \"Blueprints of Minmatar assault frigate designs.\", \n    \"description_es\": \"Planos de diseños de fragatas de asalto minmatarianas.\", \n    \"description_fr\": \"Plans de construction de modèles de frégates d'assaut minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar assault frigate designs.\", \n    \"description_ja\": \"ミンマター強襲型フリゲートのブループリント。\", \n    \"description_ko\": \"민마타 어썰트 프리깃 블루프린트입니다\", \n    \"description_ru\": \"Чертежи проектов ударных фрегатов разработки республики Минматар.\", \n    \"description_zh\": \"米玛塔尔突击护卫舰设计蓝图。\", \n    \"descriptionID\": 64674, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65748, \n    \"parentGroupID\": 458\n  }, \n  \"464\": {\n    \"description_de\": \"Fregattenabwehr-Kanonenboote. Die Zwischenstufe zwischen Fregatte und Kreuzer.\", \n    \"description_en-us\": \"Anti-frigate gunboats.  The middle ground between a frigate and a cruiser.\", \n    \"description_es\": \"Cañoneras antifragatas. A medio camino entre las fragatas y los cruceros.\", \n    \"description_fr\": \"Canonnières anti-frégates.  Le compromis entre la frégate et le croiseur.\", \n    \"description_it\": \"Anti-frigate gunboats.  The middle ground between a frigate and a cruiser.\", \n    \"description_ja\": \"対フリゲートガンボート。フリゲートと巡洋艦の中間的存在。\", \n    \"description_ko\": \"프리깃 대처에 효율적인 디스트로이어입니다. 프리깃과 크루저의 사이에 위치한 함급입니다.\", \n    \"description_ru\": \"Боевые корабли, предназначенные для уничтожения фрегатов. Занимают нишу между фрегатами и крейсерами.\", \n    \"description_zh\": \"专门对付护卫舰的炮舰，级别位于护卫舰和巡洋舰之间。\", \n    \"descriptionID\": 65255, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Standardzerstörer\", \n    \"name_en-us\": \"Standard Destroyers\", \n    \"name_es\": \"Destructores estándar\", \n    \"name_fr\": \"Destroyers standards\", \n    \"name_it\": \"Standard Destroyers\", \n    \"name_ja\": \"標準型駆逐艦\", \n    \"name_ko\": \"일반 디스트로이어\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准驱逐舰\", \n    \"nameID\": 66329, \n    \"parentGroupID\": 1372\n  }, \n  \"465\": {\n    \"description_de\": \"Amarr-Zerstörer-Designs.\", \n    \"description_en-us\": \"Amarr destroyer designs.\", \n    \"description_es\": \"Diseños de destructores amarrianos.\", \n    \"description_fr\": \"Modèles de destroyers amarr.\", \n    \"description_it\": \"Amarr destroyer designs.\", \n    \"description_ja\": \"アマー駆逐艦設計図。\", \n    \"description_ko\": \"아마르의 디스트로이어입니다.\", \n    \"description_ru\": \"Эсминцы разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛驱逐舰设计\", \n    \"descriptionID\": 64675, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65749, \n    \"parentGroupID\": 464\n  }, \n  \"466\": {\n    \"description_de\": \"Caldari-Zerstörer-Designs.\", \n    \"description_en-us\": \"Caldari destroyer designs.\", \n    \"description_es\": \"Diseños de destructores caldaris.\", \n    \"description_fr\": \"Modèles de destroyers caldari.\", \n    \"description_it\": \"Caldari destroyer designs.\", \n    \"description_ja\": \"カルダリ駆逐艦設計図。\", \n    \"description_ko\": \"칼다리의 디스트로이어입니다.\", \n    \"description_ru\": \"Эсминцы разработки Государства Caldari.\", \n    \"description_zh\": \"加达里驱逐舰设计\", \n    \"descriptionID\": 64676, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65750, \n    \"parentGroupID\": 464\n  }, \n  \"467\": {\n    \"description_de\": \"Gallente-Zerstörer-Designs.\", \n    \"description_en-us\": \"Gallente destroyer designs.\", \n    \"description_es\": \"Diseños de destructores gallentes.\", \n    \"description_fr\": \"Modèles de destroyers gallente.\", \n    \"description_it\": \"Gallente destroyer designs.\", \n    \"description_ja\": \"ガレンテ駆逐艦設計図。\", \n    \"description_ko\": \"갈란테의 디스트로이어입니다.\", \n    \"description_ru\": \"Эсминцы разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特驱逐舰设计\", \n    \"descriptionID\": 64677, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65751, \n    \"parentGroupID\": 464\n  }, \n  \"468\": {\n    \"description_de\": \"Minmatar-Zerstörer-Designs.\", \n    \"description_en-us\": \"Minmatar destroyer designs.\", \n    \"description_es\": \"Diseños de destructores minmatarianos.\", \n    \"description_fr\": \"Modèles de destroyers minmatar.\", \n    \"description_it\": \"Minmatar destroyer designs.\", \n    \"description_ja\": \"ミンマター駆逐艦設計図。\", \n    \"description_ko\": \"민마타의 디스트로이어입니다.\", \n    \"description_ru\": \"Эсминцы разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔驱逐舰设计\", \n    \"descriptionID\": 64678, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65752, \n    \"parentGroupID\": 464\n  }, \n  \"469\": {\n    \"description_de\": \"Eine Klasse mächtiger Schlachtschiffe, in der Mitte zwischen Kreuzern und Schlachtschiffen.\", \n    \"description_en-us\": \"A class of powerful combat vessels midway between cruisers and battleships.\", \n    \"description_es\": \"Una clase de poderosas naves de combate a medio camino entre los cruceros y los acorazados.\", \n    \"description_fr\": \"Puissants vaisseaux de combat à mi-chemin entre les croiseurs et les cuirassés.\", \n    \"description_it\": \"A class of powerful combat vessels midway between cruisers and battleships.\", \n    \"description_ja\": \"巡洋艦と戦艦の中間に位置する強さの戦闘艦。\", \n    \"description_ko\": \"크루저와 배틀쉽의 사이에 위치한 함급으로 강력한 전투 성능을 보유하고 있습니다.\", \n    \"description_ru\": \"Это мощные боевые корабли, занимающие нишу между крейсерами и линкорами.\", \n    \"description_zh\": \"巡洋舰和战列舰之间的一种强大战斗舰种。\", \n    \"descriptionID\": 65256, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Standardschlachtkreuzer\", \n    \"name_en-us\": \"Standard Battlecruisers\", \n    \"name_es\": \"Cruceros de combate estándar\", \n    \"name_fr\": \"Croiseurs de bataille standards\", \n    \"name_it\": \"Standard Battlecruisers\", \n    \"name_ja\": \"標準型巡洋戦艦\", \n    \"name_ko\": \"일반 배틀크루저\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准战列巡洋舰\", \n    \"nameID\": 66330, \n    \"parentGroupID\": 1374\n  }, \n  \"470\": {\n    \"description_de\": \"Amarr-Schlachtkreuzer-Designs.\", \n    \"description_en-us\": \"Amarr battlecruiser designs.\", \n    \"description_es\": \"Diseños de cruceros de combate amarrianos.\", \n    \"description_fr\": \"Modèles de croiseurs de bataille amarr.\", \n    \"description_it\": \"Amarr battlecruiser designs.\", \n    \"description_ja\": \"アマー巡洋戦艦設計図。\", \n    \"description_ko\": \"아마르의 배틀크루저입니다.\", \n    \"description_ru\": \"Линейные крейсеры разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛战列巡洋舰设计\", \n    \"descriptionID\": 64679, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65753, \n    \"parentGroupID\": 469\n  }, \n  \"471\": {\n    \"description_de\": \"Caldari-Schlachtkreuzer-Designs.\", \n    \"description_en-us\": \"Caldari battlecruiser designs.\", \n    \"description_es\": \"Diseños de cruceros de combate caldaris.\", \n    \"description_fr\": \"Modèles de croiseurs de bataille caldari.\", \n    \"description_it\": \"Caldari battlecruiser designs.\", \n    \"description_ja\": \"カルダリ巡洋戦艦設計図。\", \n    \"description_ko\": \"칼다리의 배틀크루저입니다.\", \n    \"description_ru\": \"Линейные крейсеры разработки Государства Caldari.\", \n    \"description_zh\": \"加达里战列巡洋舰设计\", \n    \"descriptionID\": 64680, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65754, \n    \"parentGroupID\": 469\n  }, \n  \"472\": {\n    \"description_de\": \"Gallente-Schlachtkreuzer-Designs.\", \n    \"description_en-us\": \"Gallente battlecruiser designs.\", \n    \"description_es\": \"Diseños de cruceros de combate gallentes.\", \n    \"description_fr\": \"Modèles de croiseurs de bataille gallente.\", \n    \"description_it\": \"Gallente battlecruiser designs.\", \n    \"description_ja\": \"ガレンテ巡洋戦艦設計図。\", \n    \"description_ko\": \"갈란테의 배틀크루저입니다.\", \n    \"description_ru\": \"Линейные крейсеры разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特战列巡洋舰设计\", \n    \"descriptionID\": 64681, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65755, \n    \"parentGroupID\": 469\n  }, \n  \"473\": {\n    \"description_de\": \"Minmatar-Schlachtkreuzer-Designs.\", \n    \"description_en-us\": \"Minmatar battlecruiser designs.\", \n    \"description_es\": \"Diseños de cruceros de combate minmatarianos.\", \n    \"description_fr\": \"Modèles de croiseurs de bataille minmatar.\", \n    \"description_it\": \"Minmatar battlecruiser designs.\", \n    \"description_ja\": \"ミンマター巡洋戦艦設計図.\", \n    \"description_ko\": \"민마타의 배틀크루저입니다.\", \n    \"description_ru\": \"Линейные крейсеры разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔战列巡洋舰设计\", \n    \"descriptionID\": 64682, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65756, \n    \"parentGroupID\": 469\n  }, \n  \"475\": {\n    \"description_de\": \"Die ständig laufende Maschinerie der Weltraumindustrie wird von unvorstellbaren Mengen an Materialien, Komponenten und Forschungsausrüstungen angetrieben, die laufend auf dem Markt für Kapselpiloten gehandelt werden.\", \n    \"description_en-us\": \"The perpetual engine of space industry is driven by vast quantities of materials, components and research equipment that are constantly being traded on the capsuleer market\", \n    \"description_es\": \"El perpetuo motor de la industria espacial se alimenta de ingentes cantidades de materiales, componentes y aparatos de investigación con los que se comercia constantemente en el mercado capsulista.\", \n    \"description_fr\": \"La dynamique perpétuelle de l'industrie spatiale est régie par le commerce de vastes quantités de matières, de composants et de matériel de recherche se déroulant sur le marché dédié aux capsuliers\", \n    \"description_it\": \"The perpetual engine of space industry is driven by vast quantities of materials, components and research equipment that are constantly being traded on the capsuleer market\", \n    \"description_ja\": \"宇宙産業の繁栄は、カプセラのマーケットで活発にトレードされる鉱物、部品、研究装置などによって支えられています\", \n    \"description_ko\": \"우주 산업의 원동력은 시장에서 거래되는 대량의 자원, 부품, 그리고 연구용 장비로부터 비롯됩니다.\", \n    \"description_ru\": \"Вечный двигатель космической промышленности работает на огромном количестве сырья, компонентов и исследовательского оборудования — всё это можно приобрести у других капсулёров\", \n    \"description_zh\": \"太空工业体系永不停歇的发动机是由数不尽的材料、组件和研究设备推动的，这些东西不断地在市场中交易流通\", \n    \"descriptionID\": 64683, \n    \"hasTypes\": 0, \n    \"iconID\": 1436, \n    \"name_de\": \"Fertigung & Forschung\", \n    \"name_en-us\": \"Manufacture & Research\", \n    \"name_es\": \"Fabricación e investigación\", \n    \"name_fr\": \"Fabrication et recherche\", \n    \"name_it\": \"Manufacture & Research\", \n    \"name_ja\": \"生産と研究\", \n    \"name_ko\": \"제조 및 연구\", \n    \"name_ru\": \"Промышленные комплектующие\", \n    \"name_zh\": \"制造和研究\", \n    \"nameID\": 65757\n  }, \n  \"477\": {\n    \"description_de\": \"Kapselpiloten haben viele Möglichkeiten wenn sie sich dafür entscheiden, ein Heim im Weltraum aufzuschlagen, von persönlichen Strukturen bis hin zu von Kapselpiloten kontrollierten Außenposten.\", \n    \"description_en-us\": \"Capsuleers have many options when they decide to set up a home in space, from personal deployables to capsuleer-controlled outpost stations\", \n    \"description_es\": \"Existen numerosas opciones a la hora de establecer una base en el espacio, desde desplegables personales hasta puestos avanzados controlados por capsulistas.\", \n    \"description_fr\": \"Lorsqu'ils veulent s'installer quelque part, les capsuliers disposent de plusieurs options : de la station personnelle déployable dans l'espace jusqu'à l'avant-poste contrôlé par des capsuliers\", \n    \"description_it\": \"Capsuleers have many options when they decide to set up a home in space, from personal deployables to capsuleer-controlled outpost stations\", \n    \"description_ja\": \"カプセラは宙域に拠点を構えることにより、自分用の設備を配置したり、アウトポストステーションを統制したりと、多くのことができるようになります\", \n    \"description_ko\": \"캡슐리어 구조물은 개인용 거주 모듈, 전초기지, 그리고 정거장에 이르기까지 다양한 형태로 판매됩니다.\", \n    \"description_ru\": \"Пилоты вольны выбирать себе пристанище на просторах космоса: от малых автономных сооружений до форпостов, находящихся под управлением капсулёров.\", \n    \"description_zh\": \"飞行员可以有多种方式在太空中建造自己的“家园”，个人可部署建筑和飞行员掌控的空间站都可以。\", \n    \"descriptionID\": 65220, \n    \"hasTypes\": 0, \n    \"iconID\": 2222, \n    \"name_de\": \"Strukturen\", \n    \"name_en-us\": \"Structures\", \n    \"name_es\": \"Estructuras\", \n    \"name_fr\": \"Structures\", \n    \"name_it\": \"Structures\", \n    \"name_ja\": \"建造物\", \n    \"name_ko\": \"구조물\", \n    \"name_ru\": \"Cооружения\", \n    \"name_zh\": \"建筑\", \n    \"nameID\": 66294\n  }, \n  \"478\": {\n    \"description_de\": \"Das Rückgrat der Starbase.\", \n    \"description_en-us\": \"The starbase's backbone.\", \n    \"description_es\": \"El pilar fundamental de la base estelar.\", \n    \"description_fr\": \"La colonne vertébrale de la base stellaire.\", \n    \"description_it\": \"The starbase's backbone.\", \n    \"description_ja\": \"スターベースの屋台骨。\", \n    \"description_ko\": \"스타베이스의 중추 역할을 하고 있는 시설입니다.\", \n    \"description_ru\": \"Основа звездной базы.\", \n    \"description_zh\": \"母星的脊梁。\", \n    \"descriptionID\": 65221, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Kontrolltürme\", \n    \"name_en-us\": \"Control Towers\", \n    \"name_es\": \"Torres de control\", \n    \"name_fr\": \"Tours de contrôle\", \n    \"name_it\": \"Control Towers\", \n    \"name_ja\": \"コントロールタワー\", \n    \"name_ko\": \"관제타워\", \n    \"name_ru\": \"Башни управления ПОСами\", \n    \"name_zh\": \"控制塔\", \n    \"nameID\": 66295, \n    \"parentGroupID\": 1285\n  }, \n  \"479\": {\n    \"description_de\": \"Stationäre Raketenbatterien für die Verteidigung von Starbases.\", \n    \"description_en-us\": \"Stationary missile batteries for starbase defense.\", \n    \"description_es\": \"Baterías de misiles estacionarias para la defensa de bases estelares.\", \n    \"description_fr\": \"Batteries de missiles stationnaires destinées à la défense des bases stellaires.\", \n    \"description_it\": \"Stationary missile batteries for starbase defense.\", \n    \"description_ja\": \"スターベース防衛のための固定型ミサイルバッテリー。\", \n    \"description_ko\": \"고정형 미사일 포대는 스타베이스 방어 시설로 사용됩니다.\", \n    \"description_ru\": \"Стационарные ракетные батареи для защиты звездных баз.\", \n    \"description_zh\": \"用于母星防御的固定导弹炮塔。\", \n    \"descriptionID\": 65222, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Lenkwaffenbatterien\", \n    \"name_en-us\": \"Missile Batteries\", \n    \"name_es\": \"Baterías de misiles\", \n    \"name_fr\": \"Batteries de missiles\", \n    \"name_it\": \"Missile Batteries\", \n    \"name_ja\": \"ミサイル兵器\", \n    \"name_ko\": \"미사일 포탑\", \n    \"name_ru\": \"Ракетные батареи\", \n    \"name_zh\": \"导弹炮塔\", \n    \"nameID\": 66296, \n    \"parentGroupID\": 480\n  }, \n  \"480\": {\n    \"description_de\": \"Stationäre Waffenbatterien für die Verteidigung von Starbases.\", \n    \"description_en-us\": \"Stationary weapon batteries for starbase defense.\", \n    \"description_es\": \"Baterías de armas estáticas para la defensa de bases estelares.\", \n    \"description_fr\": \"Batteries d'armes stationnaires destinées à la défense des bases stellaires.\", \n    \"description_it\": \"Stationary weapon batteries for starbase defense.\", \n    \"description_ja\": \"スターベース防衛のための固定型タレット兵器。\", \n    \"description_ko\": \"스타베이스 방어에 사용되는 고정 포탑입니다.\", \n    \"description_ru\": \"Стационарные батареи, применяемые для обороны ПОСов.\", \n    \"description_zh\": \"用于母星防御的固定武器炮塔。\", \n    \"descriptionID\": 65223, \n    \"hasTypes\": 0, \n    \"iconID\": 2222, \n    \"name_de\": \"Waffenbatterien\", \n    \"name_en-us\": \"Weapon Batteries\", \n    \"name_es\": \"Baterías de armas\", \n    \"name_fr\": \"Batteries d'arme\", \n    \"name_it\": \"Weapon Batteries\", \n    \"name_ja\": \"兵器砲台\", \n    \"name_ko\": \"포탑\", \n    \"name_ru\": \"Оборонительные батареи\", \n    \"name_zh\": \"武器炮塔\", \n    \"nameID\": 66297, \n    \"parentGroupID\": 1285\n  }, \n  \"481\": {\n    \"description_de\": \"Batterien, die elektronische Gegenmaßnahmen für die Starbase-Verteidigung ermöglichen.\", \n    \"description_en-us\": \"Batteries providing electronic countermeasures for starbase defense.\", \n    \"description_es\": \"Las baterías proporcionan contramedidas electrónicas para la defensa de bases estelares.\", \n    \"description_fr\": \"Batteries fournissant des contre-mesures électroniques pour la défense des bases stellaires.\", \n    \"description_it\": \"Batteries providing electronic countermeasures for starbase defense.\", \n    \"description_ja\": \"スターベース防衛のための電子妨害機器を備えたバッテリー。\", \n    \"description_ko\": \"스타베이스 방어에 사용되는 ECM 전력 공급 장치입니다.\", \n    \"description_ru\": \"Батареи электронного противодействия для звездных баз.\", \n    \"description_zh\": \"电子战炮塔为母星防御提供电子防御力量。\", \n    \"descriptionID\": 65224, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Batterien zur elektronischen Kriegsführung\", \n    \"name_en-us\": \"Electronic Warfare Batteries\", \n    \"name_es\": \"Baterías de guerra electrónica\", \n    \"name_fr\": \"Batteries de guerre électronique\", \n    \"name_it\": \"Electronic Warfare Batteries\", \n    \"name_ja\": \"電子戦兵器\", \n    \"name_ko\": \"전자전 포탑\", \n    \"name_ru\": \"Батареи РЭБ\", \n    \"name_zh\": \"电子战炮塔\", \n    \"nameID\": 66298, \n    \"parentGroupID\": 480\n  }, \n  \"482\": {\n    \"description_de\": \"Verankerbare Aufbereitungsanlagen.\", \n    \"description_en-us\": \"Anchorable reprocessing structures.\", \n    \"description_es\": \"Estructuras de reprocesamiento anclables.\", \n    \"description_fr\": \"Structures de retraitement ancrables.\", \n    \"description_it\": \"Anchorable reprocessing structures.\", \n    \"description_ja\": \"係留可能な再処理建造物。\", \n    \"description_ko\": \"고정형 정제시설입니다\", \n    \"description_ru\": \"Передвижные блоки для переработки сырья.\", \n    \"description_zh\": \"可锚定的提炼建筑。\", \n    \"descriptionID\": 65225, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Aufbereitungsanlagen\", \n    \"name_en-us\": \"Reprocessing Arrays\", \n    \"name_es\": \"Matrices de reprocesamiento\", \n    \"name_fr\": \"Modules de retraitement\", \n    \"name_it\": \"Reprocessing Arrays\", \n    \"name_ja\": \"再処理施設\", \n    \"name_ko\": \"정제시설\", \n    \"name_ru\": \"Цеха переработки\", \n    \"name_zh\": \"提炼阵列\", \n    \"nameID\": 66299, \n    \"parentGroupID\": 1285\n  }, \n  \"483\": {\n    \"description_de\": \"Für die Aufbewahrung oder Versorgung von Ressourcen oder die Regulierung des Materialflusses in industriellen Prozessen.\", \n    \"description_en-us\": \"For storing or providing resources, or regulating material flow in industrial processes.\", \n    \"description_es\": \"Para almacenar o proporcionar recursos, o bien regular el flujo de materiales en procesos industriales.\", \n    \"description_fr\": \"Pour stocker et distribuer des ressources, ou bien pour réguler le flux de matériaux dans les processus industriels.\", \n    \"description_it\": \"For storing or providing resources, or regulating material flow in industrial processes.\", \n    \"description_ja\": \"資源の保管や供給、生産過程における資源フローの調節を行う。\", \n    \"description_ko\": \"자원 보관에 사용되는 시설로 산업 활동의 물자흐름을 조절합니다.\", \n    \"description_ru\": \"Используются для хранения ресурсов или регулирования потока материалов в промышленных процессах.\", \n    \"description_zh\": \"用于存储或提供资源，或调节工业生产过程中的物料流。\", \n    \"descriptionID\": 65226, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Silos\", \n    \"name_en-us\": \"Silos\", \n    \"name_es\": \"Depósitos\", \n    \"name_fr\": \"Silos\", \n    \"name_it\": \"Silos\", \n    \"name_ja\": \"貯蔵庫\", \n    \"name_ko\": \"사일로\", \n    \"name_ru\": \"Хранилища\", \n    \"name_zh\": \"储藏库\", \n    \"nameID\": 66300, \n    \"parentGroupID\": 1285\n  }, \n  \"484\": {\n    \"description_de\": \"Mobile Hangar- und Ausrüstungsstrukturen.\", \n    \"description_en-us\": \"Mobile hangar and fitting structures.\", \n    \"description_es\": \"Estructuras móviles de equipamiento y hangar.\", \n    \"description_fr\": \"Structures mobiles de type hangar et montage.\", \n    \"description_it\": \"Mobile hangar and fitting structures.\", \n    \"description_ja\": \"移動式のハンガーと整備設備。\", \n    \"description_ko\": \"이동식 격납고 및 피팅 시설이 갖추어져 있습니다.\", \n    \"description_ru\": \"Передвижные ангары для хранения и переоснащения кораблей.\", \n    \"description_zh\": \"移动机库与装配结构\", \n    \"descriptionID\": 65227, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Schiffwartungsanlagen\", \n    \"name_en-us\": \"Ship Maintenance Arrays\", \n    \"name_es\": \"Dársenas de mantenimiento de naves\", \n    \"name_fr\": \"Module de maintenance de vaisseaux\", \n    \"name_it\": \"Ship Maintenance Arrays\", \n    \"name_ja\": \"船舶調整施設\", \n    \"name_ko\": \"함선 정비 시설\", \n    \"name_ru\": \"Ангарные блоки\", \n    \"name_zh\": \"舰船维护阵列\", \n    \"nameID\": 66301, \n    \"parentGroupID\": 1285\n  }, \n  \"485\": {\n    \"description_de\": \"Verankerbare Strukturen für die Verstärkung der Widerstandsfähigkeit des Schilds von einem Kontrollturm.\", \n    \"description_en-us\": \"Anchorable structures for the boosting of a control tower's shield resistances.\", \n    \"description_es\": \"Estructuras anclables para potenciar las resistencias de escudo de una torre de control.\", \n    \"description_fr\": \"Structures ancrables permettant d'améliorer la résistance des boucliers d'une tour de contrôle.\", \n    \"description_it\": \"Anchorable structures for the boosting of a control tower's shield resistances.\", \n    \"description_ja\": \"コントロールタワーのシールドレジスタンスを高める固定可能な建造物。\", \n    \"description_ko\": \"관제타워의 실드 저항력을 향상하는 고정 가능 구조물입니다.\", \n    \"description_ru\": \"Передвижные установки, повышающие сопротивляемость силового щита башни управления базой различным видам ущерба.\", \n    \"description_zh\": \"可以部署并锚定在太空中的设施，用以增强控制塔护盾抵抗能力。\", \n    \"descriptionID\": 65228, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Schildhärtungsanlagen\", \n    \"name_en-us\": \"Shield Hardening Arrays\", \n    \"name_es\": \"Plataformas endurecedoras de escudo\", \n    \"name_fr\": \"Modules de renforcement de bouclier\", \n    \"name_it\": \"Shield Hardening Arrays\", \n    \"name_ja\": \"シールドハードニング施設\", \n    \"name_ko\": \"실드 강화시설\", \n    \"name_ru\": \"Блоки укрепления щитов\", \n    \"name_zh\": \"护盾强化阵列\", \n    \"nameID\": 66302, \n    \"parentGroupID\": 1285\n  }, \n  \"488\": {\n    \"description_de\": \"Stationierbare Anlagen, die zum Einsammeln von Mineralien von Monden geschaffen wurden.\", \n    \"description_en-us\": \"Deployable arrays designed to gather minerals from moons.\", \n    \"description_es\": \"Estructuras desplegables diseñadas para obtener minerales de las lunas.\", \n    \"description_fr\": \"Modules déployables conçus pour collecter des minerais sur les lunes.\", \n    \"description_it\": \"Deployable arrays designed to gather minerals from moons.\", \n    \"description_ja\": \"衛星から無機物を回収するために開発された配置可能施設。\", \n    \"description_ko\": \"위성에서 미네랄을 추출하기 위해 제작된 전개 가능한 시설입니다.\", \n    \"description_ru\": \"Стационарные комплексы для добычи минералов с поверхности лун.\", \n    \"description_zh\": \"可以释放并固定在太空中的卫星开采阵列。\", \n    \"descriptionID\": 65229, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Mondabbauanlagen\", \n    \"name_en-us\": \"Moon Harvesting Arrays\", \n    \"name_es\": \"Plataformas recolectoras lunares\", \n    \"name_fr\": \"Modules de collecte lunaire\", \n    \"name_it\": \"Moon Harvesting Arrays\", \n    \"name_ja\": \"衛星採掘施設\", \n    \"name_ko\": \"위성 채굴 시설\", \n    \"name_ru\": \"Блоки добычи со спутников\", \n    \"name_zh\": \"卫星开采阵列\", \n    \"nameID\": 66303, \n    \"parentGroupID\": 1285\n  }, \n  \"490\": {\n    \"description_de\": \"Stationierbare Strukturen, in denen chemische Prozesse stattfinden.\", \n    \"description_en-us\": \"Deployable structures where chemical processes take place.\", \n    \"description_es\": \"Estructuras desplegables en las que se producen procesos químicos.\", \n    \"description_fr\": \"Structures déployables qui abritent des processus chimiques.\", \n    \"description_it\": \"Deployable structures where chemical processes take place.\", \n    \"description_ja\": \"内部で化学反応を発生させるための、ディプロイ可能な建造物。\", \n    \"description_ko\": \"전개형 화학시설입니다.\", \n    \"description_ru\": \"Передвижные сооружения, используемые для проведения химических реакций.\", \n    \"description_zh\": \"可进行化学反应的地方\", \n    \"descriptionID\": 65230, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Reaktoren\", \n    \"name_en-us\": \"Reactors\", \n    \"name_es\": \"Reactores\", \n    \"name_fr\": \"Réacteurs\", \n    \"name_it\": \"Reactors\", \n    \"name_ja\": \"リアクター\", \n    \"name_ko\": \"반응로\", \n    \"name_ru\": \"Химические реакторы\", \n    \"name_zh\": \"反应堆\", \n    \"nameID\": 66304, \n    \"parentGroupID\": 1285\n  }, \n  \"491\": {\n    \"description_de\": \"Illegale Substanzen, die die Hirnchemie verändern - zum Guten oder Schlechten. Mit Vorsicht transportieren\", \n    \"description_en-us\": \"Illegal substances that alter brain chemistry, for good or ill. Transport with caution\", \n    \"description_es\": \"Sustancias ilegales que alteran la química cerebral, para bien o para mal. Requieren transportarlas con precaución.\", \n    \"description_fr\": \"Substances illégales qui altèrent le fonctionnement chimique du cerveau, en bien ou en mal. Transporter avec précaution\", \n    \"description_it\": \"Illegal substances that alter brain chemistry, for good or ill. Transport with caution\", \n    \"description_ja\": \"脳の化学的な性質を良い方向へも悪い方向へも変えてしまう違法な物質。輸送には注意が必要\", \n    \"description_ko\": \"뇌내 신경망을 재배열하기 위해 사용되는 불법 약물로 수송 시 상당한 주의가 요망됩니다.\", \n    \"description_ru\": \"Запрещённые препараты, оказывающие влияние на мозг пилота в хороших или плохих целях. Перевозить с осторожностью\", \n    \"description_zh\": \"可以改变大脑化学结构的非法物品。请小心运输\", \n    \"descriptionID\": 64685, \n    \"hasTypes\": 1, \n    \"iconID\": 1194, \n    \"name_de\": \"Narkotika\", \n    \"name_en-us\": \"Narcotics\", \n    \"name_es\": \"Narcóticos\", \n    \"name_fr\": \"Stupéfiants\", \n    \"name_it\": \"Narcotics\", \n    \"name_ja\": \"麻薬\", \n    \"name_ko\": \"약물 및 약품\", \n    \"name_ru\": \"Наркотики\", \n    \"name_zh\": \"药品\", \n    \"nameID\": 65759, \n    \"parentGroupID\": 19\n  }, \n  \"492\": {\n    \"description_de\": \"Produkte die bei der materialistischen Öffentlichkeit sehr gefragt sind. Können gekauft und mit Profit verkauft werden\", \n    \"description_en-us\": \"Products in high demand with the materialistic public. Can be bought and sold for profit\", \n    \"description_es\": \"Productos de enorme demanda entre el público materialista. Se pueden comprar y vender para ganar dinero.\", \n    \"description_fr\": \"Produits en forte demande auprès d'un public matérialiste. Peuvent être achetés ou vendus à profit\", \n    \"description_it\": \"Products in high demand with the materialistic public. Can be bought and sold for profit\", \n    \"description_ja\": \"物を求めてやまない社会において、需要の高い製品。売買を通して利益を得られる\", \n    \"description_ko\": \"물질만능 사회에서 높은 수요를 지닌 물품들로 활발한 판매가 이루어집니다.\", \n    \"description_ru\": \"Товары, пользующиеся большим спросом у покупателей. Их можно покупать и продавать ради выгоды\", \n    \"description_zh\": \"社会需求量很大的物品，可以用来卖钱\", \n    \"descriptionID\": 64686, \n    \"hasTypes\": 1, \n    \"iconID\": 1182, \n    \"name_de\": \"Produkte für Konsumenten\", \n    \"name_en-us\": \"Consumer Products\", \n    \"name_es\": \"Productos de consumo\", \n    \"name_fr\": \"Produits de grande consommation\", \n    \"name_it\": \"Consumer Products\", \n    \"name_ja\": \"消耗品\", \n    \"name_ko\": \"생산품\", \n    \"name_ru\": \"Товары общего потребления\", \n    \"name_zh\": \"消费品\", \n    \"nameID\": 65760, \n    \"parentGroupID\": 19\n  }, \n  \"494\": {\n    \"description_de\": \"Trampelige, gefräßige Kolosse, die speziell für das Einsammeln von Erzen geschaffen wurden.\", \n    \"description_en-us\": \"Lumbering, voracious hulks, expressly created for ore accumulation.\", \n    \"description_es\": \"Mastodontes voraces creados expresamente para acumular menas.\", \n    \"description_fr\": \"Mastodontes voraces spécialement conçus pour accumuler du minerai.\", \n    \"description_it\": \"Lumbering, voracious hulks, expressly created for ore accumulation.\", \n    \"description_ja\": \"鉱石を集める目的で開発されたため、大きな船体を持つ。\", \n    \"description_ko\": \"육중한 덩치로 인해 느리지만 거대한 적재량을 지녀 대규모 광물 수송에 적합한 함선입니다.\", \n    \"description_ru\": \"Неуклюжие, прожорливые корабли, созданные исключительно для добычи руды.\", \n    \"description_zh\": \"体型笨重，载重能力强大，专门用于积累矿石。\", \n    \"descriptionID\": 65269, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Bergbaubarkassen\", \n    \"name_en-us\": \"Mining Barges\", \n    \"name_es\": \"Gabarras mineras\", \n    \"name_fr\": \"Barges d'extraction minière\", \n    \"name_it\": \"Mining Barges\", \n    \"name_ja\": \"採掘艦\", \n    \"name_ko\": \"채광선\", \n    \"name_ru\": \"Буровые корабли\", \n    \"name_zh\": \"采矿驳船\", \n    \"nameID\": 66343, \n    \"parentGroupID\": 1384\n  }, \n  \"496\": {\n    \"description_de\": \"Blueprints von Schiffen der Bergbaubarkassen-Klasse.\", \n    \"description_en-us\": \"Blueprints of mining barge-class vessels.\", \n    \"description_es\": \"Planos de gabarras mineras.\", \n    \"description_fr\": \"Plans de construction de barges d'extraction minière.\", \n    \"description_it\": \"Blueprints of mining barge-class vessels.\", \n    \"description_ja\": \"採掘艦級艦船のブループリント。\", \n    \"description_ko\": \"채광선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи шахтерских барж.\", \n    \"description_zh\": \"采矿驳船蓝图\", \n    \"descriptionID\": 64689, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Bergbaubarkassen\", \n    \"name_en-us\": \"Mining Barges\", \n    \"name_es\": \"Gabarras mineras\", \n    \"name_fr\": \"Barges d'extraction minière\", \n    \"name_it\": \"Mining Barges\", \n    \"name_ja\": \"採掘艦\", \n    \"name_ko\": \"채광선\", \n    \"name_ru\": \"Буровые корабли\", \n    \"name_zh\": \"采矿驳船\", \n    \"nameID\": 65763, \n    \"parentGroupID\": 204\n  }, \n  \"497\": {\n    \"description_de\": \"Blueprints von ORE-Bergbaubarkassen-Designs.\", \n    \"description_en-us\": \"Blueprints of ORE mining barge designs.\", \n    \"description_es\": \"Planos de diseños de gabarras mineras de ORE.\", \n    \"description_fr\": \"Plans de construction de modèles de barges d'extraction minière ORE.\", \n    \"description_it\": \"Blueprints of ORE mining barge designs.\", \n    \"description_ja\": \"ORE採掘艦設計図のブループリント。\", \n    \"description_ko\": \"ORE 채광선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи шахтерских барж разработки синдиката ORE.\", \n    \"description_zh\": \"联合矿业采矿驳船的设计蓝图。\", \n    \"descriptionID\": 64690, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Erze\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE社\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 65764, \n    \"parentGroupID\": 496\n  }, \n  \"499\": {\n    \"description_de\": \"Rohstoffe für die Produktion von Tech II-Schiffen und -Ausrüstung.\", \n    \"description_en-us\": \"Materials used for Tech II vessel and equipment production.\", \n    \"description_es\": \"Materiales usados para la fabricación de naves y equipos T2.\", \n    \"description_fr\": \"Matériaux utilisés pour la production de vaisseaux et d'équipement de niveau technologique II.\", \n    \"description_it\": \"Materials used for Tech II vessel and equipment production.\", \n    \"description_ja\": \"T2艦と装備の生産に用いられる資源。\", \n    \"description_ko\": \"테크 II 함선 및 장비 제작에 사용되는 위성 자원입니다.\", \n    \"description_ru\": \"Материалы, используемые для производства кораблей и оборудования категории Tech II.\", \n    \"description_zh\": \"用于生产二级科技的舰船和装备的材料。\", \n    \"descriptionID\": 64691, \n    \"hasTypes\": 1, \n    \"iconID\": 2679, \n    \"name_de\": \"Fortschrittliche Materialien\", \n    \"name_en-us\": \"Advanced Moon Materials\", \n    \"name_es\": \"Materiales lunares avanzados\", \n    \"name_fr\": \"Matières lunaires avancées\", \n    \"name_it\": \"Advanced Moon Materials\", \n    \"name_ja\": \"衛星2次加工品\", \n    \"name_ko\": \"상급 위성 자원\", \n    \"name_ru\": \"Технологичные лунные материалы\", \n    \"name_zh\": \"高级卫星材料\", \n    \"nameID\": 65765, \n    \"parentGroupID\": 1034\n  }, \n  \"500\": {\n    \"description_de\": \"Verbindungen, die in komplexen Reaktionen verwendet werden.\", \n    \"description_en-us\": \"Compounds used in complex reactions.\", \n    \"description_es\": \"Compuestos usados en procesos reactivos complejos.\", \n    \"description_fr\": \"Composés utilisés pour des réactions complexes.\", \n    \"description_it\": \"Compounds used in complex reactions.\", \n    \"description_ja\": \"複合反応で使用される化合物。\", \n    \"description_ko\": \"복합 합성에 사용되는 분자 반응식입니다.\", \n    \"description_ru\": \"Компоненты, использующиеся при проведении сложных реакций.\", \n    \"description_zh\": \"在复杂化学反应中使用的化合物。\", \n    \"descriptionID\": 64692, \n    \"hasTypes\": 1, \n    \"iconID\": 2664, \n    \"name_de\": \"Weiterverarbeitete Materialien\", \n    \"name_en-us\": \"Processed Moon Materials\", \n    \"name_es\": \"Materiales lunares procesados\", \n    \"name_fr\": \"Matières lunaires traitées\", \n    \"name_it\": \"Processed Moon Materials\", \n    \"name_ja\": \"衛星1次加工品\", \n    \"name_ko\": \"정제된 위성 자원\", \n    \"name_ru\": \"Обработанные лунные материалы\", \n    \"name_zh\": \"加工过的卫星材料\", \n    \"nameID\": 65766, \n    \"parentGroupID\": 1034\n  }, \n  \"501\": {\n    \"description_de\": \"Reine Elemente und andere Rohmaterialien der Natur.\", \n    \"description_en-us\": \"Pure elements and other raw materials from nature.\", \n    \"description_es\": \"Elementos puros y otras materias primas de la naturaleza.\", \n    \"description_fr\": \"Éléments purs et matières premières naturels.\", \n    \"description_it\": \"Pure elements and other raw materials from nature.\", \n    \"description_ja\": \"自然界から採取した純粋な元素やその他の原料。\", \n    \"description_ko\": \"자연에서 생성되는 물질입니다.\", \n    \"description_ru\": \"Чистые элементы и другие природные сырьевые материалы.\", \n    \"description_zh\": \"自然界中获取的元素和其他原始材料。\", \n    \"descriptionID\": 64693, \n    \"hasTypes\": 1, \n    \"iconID\": 2668, \n    \"name_de\": \"Rohmaterialien\", \n    \"name_en-us\": \"Raw Moon Materials\", \n    \"name_es\": \"Materias primas lunares\", \n    \"name_fr\": \"Matières lunaires brutes\", \n    \"name_it\": \"Raw Moon Materials\", \n    \"name_ja\": \"衛星原料\", \n    \"name_ko\": \"위성 자원 - 원재료\", \n    \"name_ru\": \"Необработанные лунные материалы\", \n    \"name_zh\": \"卫星原材料\", \n    \"nameID\": 65767, \n    \"parentGroupID\": 1034\n  }, \n  \"502\": {\n    \"description_de\": \"Wird von Dreadnought-Geschützen und Verteidigungsanlagen von Stationen abgefeuert.\", \n    \"description_en-us\": \"Fired by dreadnaught-sized guns and stationary defense systems.\", \n    \"description_es\": \"Aptos para cañones de naves de tamaño superacorazado y sistemas defensivos estacionarios.\", \n    \"description_fr\": \"Projectiles utilisés, par exemple, sur les canons des supercuirassés et sur les systèmes de défense stationnaires.\", \n    \"description_it\": \"Fired by dreadnaught-sized guns and stationary defense systems.\", \n    \"description_ja\": \"攻城艦級銃砲および常備防衛軍システムから発射される。\", \n    \"description_ko\": \"드레드노트급 함포 및 고정 방어 시스템에서 사용합니다.\", \n    \"description_ru\": \"Используются в орудиях дредноутов и стационарных оборонительных систем.\", \n    \"description_zh\": \"通过无畏级舰炮或者固定防御系统进行发射。\", \n    \"descriptionID\": 64694, \n    \"hasTypes\": 1, \n    \"iconID\": 1004, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65768, \n    \"parentGroupID\": 845\n  }, \n  \"503\": {\n    \"description_de\": \"Zur Verwendung mit Dreadnought-Lasern und Verteidigungsanlagen von Stationen.\", \n    \"description_en-us\": \"For use with dreadnought-sized lasers and stationary defense systems.\", \n    \"description_es\": \"Para usarlos con láseres de naves de tamaño superacorazado y sistemas defensivos estacionarios.\", \n    \"description_fr\": \"Projectiles utilisés, par exemple, sur les canons des dreadnoughts et sur les systèmes de défense stationnaires.\", \n    \"description_it\": \"For use with dreadnought-sized lasers and stationary defense systems.\", \n    \"description_ja\": \"攻城艦級レーザーおよび常備防衛システムで使用される。\", \n    \"description_ko\": \"드레드노트급 함선 및 고정형 방어 시설에서 사용하는 레이저의 프리퀀시 크리스탈입니다.\", \n    \"description_ru\": \"Используются в орудиях дредноутов и стационарных оборонительных систем.\", \n    \"description_zh\": \"通过无畏级激光武器或者固定防御系统进行发射。\", \n    \"descriptionID\": 64695, \n    \"hasTypes\": 1, \n    \"iconID\": 1142, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65769, \n    \"parentGroupID\": 851\n  }, \n  \"504\": {\n    \"description_de\": \"Wird von Dreadnought-Geschützen und Verteidigungsanlagen von Stationen abgefeuert.\", \n    \"description_en-us\": \"Fired by dreadnought-sized guns and stationary defense systems.\", \n    \"description_es\": \"Aptos para cañones de naves de tamaño superacorazado y sistemas defensivos estacionarios.\", \n    \"description_fr\": \"Projectiles utilisés, par exemple, sur les canons des dreadnoughts et sur les systèmes de défense stationnaires.\", \n    \"description_it\": \"Fired by dreadnought-sized guns and stationary defense systems.\", \n    \"description_ja\": \"攻城艦級銃砲および常備防衛軍システムから発射される。\", \n    \"description_ko\": \"드레드노트급 함선 및 고정형 방어 시설에서 사용하는 함포의 탄약입니다.\", \n    \"description_ru\": \"Используются в орудиях дредноутов и стационарных оборонительных систем.\", \n    \"description_zh\": \"通过无畏级舰炮或者固定防御系统进行发射。\", \n    \"descriptionID\": 64696, \n    \"hasTypes\": 1, \n    \"iconID\": 1047, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65770, \n    \"parentGroupID\": 848\n  }, \n  \"505\": {\n    \"description_de\": \"Die stärksten Torpedos, die man finden kann.\", \n    \"description_en-us\": \"The most powerful missiles to be found anywhere.\", \n    \"description_es\": \"Los misiles más potentes que existen.\", \n    \"description_fr\": \"Les missiles les plus puissants disponibles sur le marché.\", \n    \"description_it\": \"The most powerful missiles to be found anywhere.\", \n    \"description_ja\": \"現存する最強のミサイル。\", \n    \"description_ko\": \"뉴에덴에서 가장 강력한 토피도입니다.\", \n    \"description_ru\": \"Это самые мощные торпеды из существующих.\", \n    \"description_zh\": \"在宇宙中能够找到的最强威力的导弹。\", \n    \"descriptionID\": 65196, \n    \"hasTypes\": 0, \n    \"iconID\": 1346, \n    \"name_de\": \"XL Torpedos\", \n    \"name_en-us\": \"XL Torpedoes\", \n    \"name_es\": \"Torpedos XL\", \n    \"name_fr\": \"Torpilles XL\", \n    \"name_it\": \"XL Torpedoes\", \n    \"name_ja\": \"XLトルピード\", \n    \"name_ko\": \"XL 토피도\", \n    \"name_ru\": \"Сверхбольшие торпеды\", \n    \"name_zh\": \"超大型鱼雷\", \n    \"nameID\": 66270, \n    \"parentGroupID\": 114\n  }, \n  \"506\": {\n    \"description_de\": \"Kommunale Hangar-Strukturen mit divisionalen Abteilungen.\", \n    \"description_en-us\": \"Communal hangar structures with divisional compartments.\", \n    \"description_es\": \"Estructuras de hangares comunitarios con subdivisiones.\", \n    \"description_fr\": \"Hangar commun divisé en plusieurs compartiments.\", \n    \"description_it\": \"Communal hangar structures with divisional compartments.\", \n    \"description_ja\": \"部門ごとに区画分けされた共有のハンガー建造物。\", \n    \"description_ko\": \"구획이 나뉘어진 공용 격납고입니다.\", \n    \"description_ru\": \"Общий ангар с разделением по отсекам.\", \n    \"description_zh\": \"公共的机库设施，设计有按部门分隔的内部结构。\", \n    \"descriptionID\": 65231, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Corporation-Hangaranlage\", \n    \"name_en-us\": \"Corporate Hangar Array\", \n    \"name_es\": \"Dársenas de hangares corporativos\", \n    \"name_fr\": \"Module du hangar corporatif\", \n    \"name_it\": \"Corporate Hangar Array\", \n    \"name_ja\": \"コーポハンガー施設\", \n    \"name_ko\": \"코퍼레이션 공용창고\", \n    \"name_ru\": \"Внешние корпоративные ангары\", \n    \"name_zh\": \"军团机库阵列\", \n    \"nameID\": 66305, \n    \"parentGroupID\": 1285\n  }, \n  \"512\": {\n    \"description_de\": \"Unterarten von Arkonor-Erzen.\", \n    \"description_en-us\": \"Sub-types of arkonor ore.\", \n    \"description_es\": \"Subtipos de la mena arkonor.\", \n    \"description_fr\": \"Sous-catégories du minerai arkonor.\", \n    \"description_it\": \"Sub-types of arkonor ore.\", \n    \"description_ja\": \"アーコナー鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 아르카노르 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Arkonor.\", \n    \"description_zh\": \"艾克诺岩的各分支种类。\", \n    \"descriptionID\": 64700, \n    \"hasTypes\": 1, \n    \"iconID\": 1277, \n    \"name_de\": \"Arkonor\", \n    \"name_en-us\": \"Arkonor\", \n    \"name_es\": \"Arkonor\", \n    \"name_fr\": \"Arkonor\", \n    \"name_it\": \"Arkonor\", \n    \"name_ja\": \"アーコナー\", \n    \"name_ko\": \"아르카노르\", \n    \"name_ru\": \"Арконор\", \n    \"name_zh\": \"艾克诺岩\", \n    \"nameID\": 65774, \n    \"parentGroupID\": 54\n  }, \n  \"514\": {\n    \"description_de\": \"Unterarten von Bistot-Erzen.\", \n    \"description_en-us\": \"Sub-types of bistot ore.\", \n    \"description_es\": \"Subtipos de la mena bistotina.\", \n    \"description_fr\": \"Sous-catégories du minerai bistot.\", \n    \"description_it\": \"Sub-types of bistot ore.\", \n    \"description_ja\": \"ビストット鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 비스토트 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Bistot\", \n    \"description_zh\": \"双多特石的各分支种类。\", \n    \"descriptionID\": 64701, \n    \"hasTypes\": 1, \n    \"iconID\": 1273, \n    \"name_de\": \"Bistot\", \n    \"name_en-us\": \"Bistot\", \n    \"name_es\": \"Bistotina\", \n    \"name_fr\": \"Bistot\", \n    \"name_it\": \"Bistot\", \n    \"name_ja\": \"ビストット\", \n    \"name_ko\": \"비스토트\", \n    \"name_ru\": \"Бистот\", \n    \"name_zh\": \"双多特石\", \n    \"nameID\": 65775, \n    \"parentGroupID\": 54\n  }, \n  \"515\": {\n    \"description_de\": \"Unterarten von Pyroxeres-Erzen.\", \n    \"description_en-us\": \"Sub-types of Pyroxeres ore.\", \n    \"description_es\": \"Subtipos de la mena piroxeno.\", \n    \"description_fr\": \"Sous-catégories du minerai pyroxeres.\", \n    \"description_it\": \"Sub-types of Pyroxeres ore.\", \n    \"description_ja\": \"パイロゼリーズ鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 파이로제레스 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Pyroxeres.\", \n    \"description_zh\": \"干焦岩的分支。\", \n    \"descriptionID\": 64702, \n    \"hasTypes\": 1, \n    \"iconID\": 231, \n    \"name_de\": \"Pyroxeres\", \n    \"name_en-us\": \"Pyroxeres\", \n    \"name_es\": \"Piroxeno\", \n    \"name_fr\": \"Pyroxeres\", \n    \"name_it\": \"Pyroxeres\", \n    \"name_ja\": \"パイロゼリーズ\", \n    \"name_ko\": \"파이로제레스\", \n    \"name_ru\": \"Пироксер\", \n    \"name_zh\": \"干焦岩\", \n    \"nameID\": 65776, \n    \"parentGroupID\": 54\n  }, \n  \"516\": {\n    \"description_de\": \"Unterarten von Plagioclase-Erz.\", \n    \"description_en-us\": \"Sub-types of plagioclase ore.\", \n    \"description_es\": \"Subtipos de la mena plagioclasa.\", \n    \"description_fr\": \"Sous-catégories du minerai plagioclase.\", \n    \"description_it\": \"Sub-types of plagioclase ore.\", \n    \"description_ja\": \"プラジオクレイス鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 플레지오클레이스 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Plagioclase.\", \n    \"description_zh\": \"斜长岩的分支。\", \n    \"descriptionID\": 64703, \n    \"hasTypes\": 1, \n    \"iconID\": 230, \n    \"name_de\": \"Plagioclase\", \n    \"name_en-us\": \"Plagioclase\", \n    \"name_es\": \"Plagioclasa\", \n    \"name_fr\": \"Plagioclase\", \n    \"name_it\": \"Plagioclase\", \n    \"name_ja\": \"プラジオクレイス\", \n    \"name_ko\": \"플레지오클레이스\", \n    \"name_ru\": \"Плагиоклаз\", \n    \"name_zh\": \"斜长岩\", \n    \"nameID\": 65777, \n    \"parentGroupID\": 54\n  }, \n  \"517\": {\n    \"description_de\": \"Unterarten von Spodumain-Erzen.\", \n    \"description_en-us\": \"Sub-types of spodumain ore.\", \n    \"description_es\": \"Subtipos de la mena espodumain.\", \n    \"description_fr\": \"Sous-catégories du minerai spodumain.\", \n    \"description_it\": \"Sub-types of spodumain ore.\", \n    \"description_ja\": \"スポンデュメイン鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 스포듀마인 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Spodumain.\", \n    \"description_zh\": \"灰岩的分支。\", \n    \"descriptionID\": 64704, \n    \"hasTypes\": 1, \n    \"iconID\": 1274, \n    \"name_de\": \"Spodumain\", \n    \"name_en-us\": \"Spodumain\", \n    \"name_es\": \"Espodumain\", \n    \"name_fr\": \"Spodumain\", \n    \"name_it\": \"Spodumain\", \n    \"name_ja\": \"スポデュメイン\", \n    \"name_ko\": \"스포듀마인\", \n    \"name_ru\": \"Сподумейн\", \n    \"name_zh\": \"灰岩\", \n    \"nameID\": 65778, \n    \"parentGroupID\": 54\n  }, \n  \"518\": {\n    \"description_de\": \"Unterarten von Veldspar-Erzen.\", \n    \"description_en-us\": \"Sub-types of veldspar ore.\", \n    \"description_es\": \"Subtipos de la mena veldspar.\", \n    \"description_fr\": \"Sous-catégories du minerai veldspar.\", \n    \"description_it\": \"Sub-types of veldspar ore.\", \n    \"description_ja\": \"ベルドスパー鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 벨드스파 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Veldspar.\", \n    \"description_zh\": \"凡晶石的分支。\", \n    \"descriptionID\": 64705, \n    \"hasTypes\": 1, \n    \"iconID\": 232, \n    \"name_de\": \"Veldspar\", \n    \"name_en-us\": \"Veldspar\", \n    \"name_es\": \"Veldspar\", \n    \"name_fr\": \"Veldspar\", \n    \"name_it\": \"Veldspar\", \n    \"name_ja\": \"ベルドスパー\", \n    \"name_ko\": \"벨드스파\", \n    \"name_ru\": \"Велдспар\", \n    \"name_zh\": \"凡晶石\", \n    \"nameID\": 65779, \n    \"parentGroupID\": 54\n  }, \n  \"519\": {\n    \"description_de\": \"Unterarten von Scordite-Erz.\", \n    \"description_en-us\": \"Sub-types of scordite ore.\", \n    \"description_es\": \"Subtipos de la mena escordita.\", \n    \"description_fr\": \"Sous-catégories du minerai scordite.\", \n    \"description_it\": \"Sub-types of scordite ore.\", \n    \"description_ja\": \"スコダイト鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 스코다이트 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Scordite.\", \n    \"description_zh\": \"灼烧岩的分支。\", \n    \"descriptionID\": 64706, \n    \"hasTypes\": 1, \n    \"iconID\": 1356, \n    \"name_de\": \"Scordite\", \n    \"name_en-us\": \"Scordite\", \n    \"name_es\": \"Escordita\", \n    \"name_fr\": \"Scordite\", \n    \"name_it\": \"Scordite\", \n    \"name_ja\": \"スコダイト\", \n    \"name_ko\": \"스코다이트\", \n    \"name_ru\": \"Скордит\", \n    \"name_zh\": \"灼烧岩\", \n    \"nameID\": 65780, \n    \"parentGroupID\": 54\n  }, \n  \"521\": {\n    \"description_de\": \"Unterarten von Crokite-Erz.\", \n    \"description_en-us\": \"Sub-types of crokite ore.\", \n    \"description_es\": \"Subtipos de la mena crokitio.\", \n    \"description_fr\": \"Sous-catégories du minerai crokite.\", \n    \"description_it\": \"Sub-types of crokite ore.\", \n    \"description_ja\": \"クロカイト鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 크로카이트 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Crokite.\", \n    \"description_zh\": \"克洛基石的分支。\", \n    \"descriptionID\": 64707, \n    \"hasTypes\": 1, \n    \"iconID\": 1272, \n    \"name_de\": \"Crokite\", \n    \"name_en-us\": \"Crokite\", \n    \"name_es\": \"Crokitio\", \n    \"name_fr\": \"Crokite\", \n    \"name_it\": \"Crokite\", \n    \"name_ja\": \"クロカイト\", \n    \"name_ko\": \"크로카이트\", \n    \"name_ru\": \"Крокит\", \n    \"name_zh\": \"克洛基石\", \n    \"nameID\": 65781, \n    \"parentGroupID\": 54\n  }, \n  \"522\": {\n    \"description_de\": \"Unterarten von Dark Ochre-Erzen.\", \n    \"description_en-us\": \"Sub-types of dark ochre ore.\", \n    \"description_es\": \"Subtipos de la mena ocre oscuro.\", \n    \"description_fr\": \"Sous-catégories du minerai ochre foncé.\", \n    \"description_it\": \"Sub-types of dark ochre ore.\", \n    \"description_ja\": \"ダークオークル鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 다크 오커 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Dark Ochre.\", \n    \"description_zh\": \"黑赭石的分支。\", \n    \"descriptionID\": 64708, \n    \"hasTypes\": 1, \n    \"iconID\": 1275, \n    \"name_de\": \"Dark Ochre\", \n    \"name_en-us\": \"Dark Ochre\", \n    \"name_es\": \"Ocre oscuro\", \n    \"name_fr\": \"Ochre foncé\", \n    \"name_it\": \"Dark Ochre\", \n    \"name_ja\": \"ダークオークル\", \n    \"name_ko\": \"다크 오커\", \n    \"name_ru\": \"Тёмная охра\", \n    \"name_zh\": \"黑赭石\", \n    \"nameID\": 65782, \n    \"parentGroupID\": 54\n  }, \n  \"523\": {\n    \"description_de\": \"Unterarten von Kernite-Erzen.\", \n    \"description_en-us\": \"Sub-types of kernite ore.\", \n    \"description_es\": \"Subtipos de la mena kernita.\", \n    \"description_fr\": \"Sous-catégories du minerai kernite.\", \n    \"description_it\": \"Sub-types of kernite ore.\", \n    \"description_ja\": \"ケルナイト鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 커나이트 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Kernite.\", \n    \"description_zh\": \"水硼砂的分支。\", \n    \"descriptionID\": 64709, \n    \"hasTypes\": 1, \n    \"iconID\": 1270, \n    \"name_de\": \"Kernite\", \n    \"name_en-us\": \"Kernite\", \n    \"name_es\": \"Kernita\", \n    \"name_fr\": \"Kernite\", \n    \"name_it\": \"Kernite\", \n    \"name_ja\": \"ケルナイト\", \n    \"name_ko\": \"커나이트\", \n    \"name_ru\": \"Кернит\", \n    \"name_zh\": \"水硼砂\", \n    \"nameID\": 65783, \n    \"parentGroupID\": 54\n  }, \n  \"525\": {\n    \"description_de\": \"Unterarten von Gneiss-Erzen.\", \n    \"description_en-us\": \"Sub-types of gneiss ore.\", \n    \"description_es\": \"Subtipos de la mena gneiss.\", \n    \"description_fr\": \"Sous-catégories du minerai gneiss.\", \n    \"description_it\": \"Sub-types of gneiss ore.\", \n    \"description_ja\": \"ナエス鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 니스 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Gneiss.\", \n    \"description_zh\": \"片麻岩的分支。\", \n    \"descriptionID\": 64710, \n    \"hasTypes\": 1, \n    \"iconID\": 1377, \n    \"name_de\": \"Gneiss\", \n    \"name_en-us\": \"Gneiss\", \n    \"name_es\": \"Gneiss\", \n    \"name_fr\": \"Gneiss\", \n    \"name_it\": \"Gneiss\", \n    \"name_ja\": \"ナエス\", \n    \"name_ko\": \"니스\", \n    \"name_ru\": \"Гнейсс\", \n    \"name_zh\": \"片麻岩\", \n    \"nameID\": 65784, \n    \"parentGroupID\": 54\n  }, \n  \"526\": {\n    \"description_de\": \"Unterarten von Omber-Erzen.\", \n    \"description_en-us\": \"Sub-types of omber ore.\", \n    \"description_es\": \"Subtipos de la mena ómber.\", \n    \"description_fr\": \"Sous-catégories du minerai omber.\", \n    \"description_it\": \"Sub-types of omber ore.\", \n    \"description_ja\": \"オンバー鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 옴버 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Omber.\", \n    \"description_zh\": \"奥贝尔石的分支。\", \n    \"descriptionID\": 64711, \n    \"hasTypes\": 1, \n    \"iconID\": 1271, \n    \"name_de\": \"Omber\", \n    \"name_en-us\": \"Omber\", \n    \"name_es\": \"Ómber\", \n    \"name_fr\": \"Omber\", \n    \"name_it\": \"Omber\", \n    \"name_ja\": \"オンバー\", \n    \"name_ko\": \"옴버\", \n    \"name_ru\": \"Омбер\", \n    \"name_zh\": \"奥贝尔石\", \n    \"nameID\": 65785, \n    \"parentGroupID\": 54\n  }, \n  \"527\": {\n    \"description_de\": \"Unterarten von Hedbergite-Erzen.\", \n    \"description_en-us\": \"Sub-types of hedbergite ore.\", \n    \"description_es\": \"Subtipos de la mena hedbergita.\", \n    \"description_fr\": \"Sous-catégories du minerai hedbergite.\", \n    \"description_it\": \"Sub-types of hedbergite ore.\", \n    \"description_ja\": \"ヘッドバーガイト鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 헤버자이트 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Hedbergite.\", \n    \"description_zh\": \"同位原矿的分支。\", \n    \"descriptionID\": 64712, \n    \"hasTypes\": 1, \n    \"iconID\": 1269, \n    \"name_de\": \"Hedbergite\", \n    \"name_en-us\": \"Hedbergite\", \n    \"name_es\": \"Hedbergita\", \n    \"name_fr\": \"Hedbergite\", \n    \"name_it\": \"Hedbergite\", \n    \"name_ja\": \"ヘッドバーガイト\", \n    \"name_ko\": \"헤버자이트\", \n    \"name_ru\": \"Хедбергит\", \n    \"name_zh\": \"同位原矿\", \n    \"nameID\": 65786, \n    \"parentGroupID\": 54\n  }, \n  \"528\": {\n    \"description_de\": \"Unterarten von Hemorphite-Erzen.\", \n    \"description_en-us\": \"Sub-types of hemorphite ore.\", \n    \"description_es\": \"Subtipos de la mena hemorfita.\", \n    \"description_fr\": \"Sous-catégories du minerai hemorphite.\", \n    \"description_it\": \"Sub-types of hemorphite ore.\", \n    \"description_ja\": \"ヘモファイト鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 헤모르파이트 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Hemorphite.\", \n    \"description_zh\": \"希莫非特的分支。\", \n    \"descriptionID\": 64713, \n    \"hasTypes\": 1, \n    \"iconID\": 1282, \n    \"name_de\": \"Hemorphite\", \n    \"name_en-us\": \"Hemorphite\", \n    \"name_es\": \"Hemorfita\", \n    \"name_fr\": \"Hemorphite\", \n    \"name_it\": \"Hemorphite\", \n    \"name_ja\": \"ヘモファイト\", \n    \"name_ko\": \"헤모르파이트\", \n    \"name_ru\": \"Хеморфит\", \n    \"name_zh\": \"希莫非特\", \n    \"nameID\": 65787, \n    \"parentGroupID\": 54\n  }, \n  \"529\": {\n    \"description_de\": \"Unterarten von Jaspet-Erzen.\", \n    \"description_en-us\": \"Sub-types of jaspet ore.\", \n    \"description_es\": \"Subtipos de la mena jaspetita.\", \n    \"description_fr\": \"Sous-catégories du minerai jaspet.\", \n    \"description_it\": \"Sub-types of jaspet ore.\", \n    \"description_ja\": \"ジャスペット鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 자스페트 광석입니다.\", \n    \"description_ru\": \"Подвиды руды Jaspet.\", \n    \"description_zh\": \"杰斯贝矿的分支。\", \n    \"descriptionID\": 64714, \n    \"hasTypes\": 1, \n    \"iconID\": 1279, \n    \"name_de\": \"Jaspet\", \n    \"name_en-us\": \"Jaspet\", \n    \"name_es\": \"Jaspetita\", \n    \"name_fr\": \"Jaspet\", \n    \"name_it\": \"Jaspet\", \n    \"name_ja\": \"ジャスペット\", \n    \"name_ko\": \"자스페트\", \n    \"name_ru\": \"Джаспет\", \n    \"name_zh\": \"杰斯贝矿\", \n    \"nameID\": 65788, \n    \"parentGroupID\": 54\n  }, \n  \"530\": {\n    \"description_de\": \"Ein extrem rares und wertvolles Erz, das ein einzigartiges Mineral hervorbringt.\", \n    \"description_en-us\": \"An extremely rare and valuable ore, yielding a unique mineral.\", \n    \"description_es\": \"Una mena extremadamente poco común y valiosa que produce un mineral único.\", \n    \"description_fr\": \"Un minerai très rare et très précieux qui renferme un seul et unique minéral.\", \n    \"description_it\": \"An extremely rare and valuable ore, yielding a unique mineral.\", \n    \"description_ja\": \"珍しい無機物を抽出できる、極めて希少価値の高い鉱石。\", \n    \"description_ko\": \"매우 희소한 광석으로 독특한 미네랄을 함유하고 있습니다.\", \n    \"description_ru\": \"Очень редкая и ценная руда, содержащая уникальные минералы.\", \n    \"description_zh\": \"一种非常有价值的矿石，能够提炼出一种独特的矿物。\", \n    \"descriptionID\": 64715, \n    \"hasTypes\": 1, \n    \"iconID\": 2102, \n    \"name_de\": \"Mercoxit\", \n    \"name_en-us\": \"Mercoxit\", \n    \"name_es\": \"Mercoxita\", \n    \"name_fr\": \"Mercoxit\", \n    \"name_it\": \"Mercoxit\", \n    \"name_ja\": \"メロコキサイト\", \n    \"name_ko\": \"메르코시트\", \n    \"name_ru\": \"Меркоцит\", \n    \"name_zh\": \"基腹断岩\", \n    \"nameID\": 65789, \n    \"parentGroupID\": 54\n  }, \n  \"531\": {\n    \"description_de\": \"Implantate, die zur Verbesserung des Geschicks eines Piloten in bestimmten Gebieten geschaffen sind.\", \n    \"description_en-us\": \"Implants designed to increase a pilot's aptitude in a specialized area.\", \n    \"description_es\": \"Implantes diseñados para aumentar la aptitud de los pilotos en un ámbito especializado.\", \n    \"description_fr\": \"Implants conçus pour augmenter les capacités d'un pilote dans un domaine particulier.\", \n    \"description_it\": \"Implants designed to increase a pilot's aptitude in a specialized area.\", \n    \"description_ja\": \"ある専門分野におけるパイロットの才能を高めるインプラント。\", \n    \"description_ko\": \"파일럿의 능력을 향상할 수 있는 임플란트입니다.\", \n    \"description_ru\": \"Имплантаты, созданные для повышения способностей пилота в отдельно взятой области.\", \n    \"description_zh\": \"用于增强飞行员在特殊领域能力的植入体。\", \n    \"descriptionID\": 64716, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Skill-Vernetzung\", \n    \"name_en-us\": \"Skill Hardwiring\", \n    \"name_es\": \"Hardware de habilidades\", \n    \"name_fr\": \"Extension neurale d'augmentation des compétences\", \n    \"name_it\": \"Skill Hardwiring\", \n    \"name_ja\": \"スキルハードワイヤリング\", \n    \"name_ko\": \"스킬 하드와이어링\", \n    \"name_ru\": \"Импланты навыков\", \n    \"name_zh\": \"技能增强\", \n    \"nameID\": 65790, \n    \"parentGroupID\": 27\n  }, \n  \"532\": {\n    \"description_de\": \"Implantate, die zur Steigerung bestimmter Merkmale der geistigen Beschaffenheit des Piloten konzipiert wurden.\", \n    \"description_en-us\": \"Implants designed to augment specific aspects of the pilot's mental make-up.\", \n    \"description_es\": \"Implantes diseñados para potenciar aspectos específicos de la estructura mental de los pilotos.\", \n    \"description_fr\": \"Implants conçus pour améliorer certains traits des attributs mentaux du pilote.\", \n    \"description_it\": \"Implants designed to augment specific aspects of the pilot's mental make-up.\", \n    \"description_ja\": \"パイロットの精神構造を部分的に強化するインプラント。\", \n    \"description_ko\": \"파일럿의 정신을 강화할 수 있는 임플란트입니다.\", \n    \"description_ru\": \"Имплантаты, разработанные для усиления отдельных аспектов ментальных способностей пилота.\", \n    \"description_zh\": \"为飞行员专门定制的各种增强精神与能力的植入体。\", \n    \"descriptionID\": 64717, \n    \"hasTypes\": 0, \n    \"iconID\": 2062, \n    \"name_de\": \"Attributsverbesserungen\", \n    \"name_en-us\": \"Attribute Enhancers\", \n    \"name_es\": \"Intensificadores de atributos\", \n    \"name_fr\": \"Optimisateurs d’attribut\", \n    \"name_it\": \"Attribute Enhancers\", \n    \"name_ja\": \"属性エンハンサー\", \n    \"name_ko\": \"능력 향상 임플란트\", \n    \"name_ru\": \"Импланты характеристик\", \n    \"name_zh\": \"属性增强体\", \n    \"nameID\": 65791, \n    \"parentGroupID\": 27\n  }, \n  \"533\": {\n    \"description_de\": \"Verschiedene Materialien, die in der Fertigung Verwendung finden\", \n    \"description_en-us\": \"Various materials used in manufacturing\", \n    \"description_es\": \"Materiales de diversa índole usados en la fabricación.\", \n    \"description_fr\": \"Différents matériaux utilisés dans la fabrication\", \n    \"description_it\": \"Various materials used in manufacturing\", \n    \"description_ja\": \"製造に用いる各種材料\", \n    \"description_ko\": \"제조 분야에 사용되는 재료입니다.\", \n    \"description_ru\": \"Различные материалы, используемые в производстве\", \n    \"description_zh\": \"生产制造中用到的各种材料\", \n    \"descriptionID\": 64718, \n    \"hasTypes\": 0, \n    \"iconID\": 1201, \n    \"name_de\": \"Materialien\", \n    \"name_en-us\": \"Materials\", \n    \"name_es\": \"Materiales\", \n    \"name_fr\": \"Matériaux\", \n    \"name_it\": \"Materials\", \n    \"name_ja\": \"資源\", \n    \"name_ko\": \"자원 및 재료\", \n    \"name_ru\": \"Материалы\", \n    \"name_zh\": \"材料\", \n    \"nameID\": 65792, \n    \"parentGroupID\": 475\n  }, \n  \"535\": {\n    \"description_de\": \"Elektronisch verbesserter Panzerplatten-Zusatz.\", \n    \"description_en-us\": \"Electronically enhanced armor plating augmentation.\", \n    \"description_es\": \"Aumento de las placas de blindaje mejoradas electrónicamente.\", \n    \"description_fr\": \"Renforcement de blindage amélioré électroniquement.\", \n    \"description_it\": \"Electronically enhanced armor plating augmentation.\", \n    \"description_ja\": \"最新電子技術を応用したアーマープレート補強。\", \n    \"description_ko\": \"장갑 플레이팅을 강화할 수 있는 장치입니다.\", \n    \"description_ru\": \"Покрытие брони с встроенными электронными системами.\", \n    \"description_zh\": \"通过电子设备对装甲附甲进行增强。\", \n    \"descriptionID\": 64719, \n    \"hasTypes\": 0, \n    \"iconID\": 1030, \n    \"name_de\": \"Panzerungshärter\", \n    \"name_en-us\": \"Armor Hardeners\", \n    \"name_es\": \"Endurecedores de blindaje\", \n    \"name_fr\": \"Renforcements de blindage\", \n    \"name_it\": \"Temprature corazza\", \n    \"name_ja\": \"アーマーハードナー\", \n    \"name_ko\": \"장갑 강화장치\", \n    \"name_ru\": \"Укрепители брони\", \n    \"name_zh\": \"装甲增强器\", \n    \"nameID\": 65793, \n    \"parentGroupID\": 14\n  }, \n  \"537\": {\n    \"description_de\": \"Verarzten Sie Ihre Kameraden aus der Ferne.\", \n    \"description_en-us\": \"Patch up your comrades at a distance.\", \n    \"description_es\": \"Repara a distancia las naves de tus camaradas.\", \n    \"description_fr\": \"Rafistolez vos camarades à distance.\", \n    \"description_it\": \"Patch up your comrades at a distance.\", \n    \"description_ja\": \"離れている仲間の船を修理する。\", \n    \"description_ko\": \"원격으로 동료의 장갑을 회복시킬 수 있는 장치입니다.\", \n    \"description_ru\": \"Залатайте своего товарища на расстоянии.\", \n    \"description_zh\": \"在一定距离上对你的战友进行修复。\", \n    \"descriptionID\": 64720, \n    \"hasTypes\": 0, \n    \"iconID\": 80, \n    \"name_de\": \"Panzerungs-Fernreparatursysteme\", \n    \"name_en-us\": \"Remote Armor Repairers\", \n    \"name_es\": \"Reparadores de blindaje remotos\", \n    \"name_fr\": \"Réparateurs de blindage à distance\", \n    \"name_it\": \"Remote Armor Repairers\", \n    \"name_ja\": \"リモートアーマーリペアラ\", \n    \"name_ko\": \"원격 장갑수리 장치\", \n    \"name_ru\": \"Установки дистанционного ремонта брони\", \n    \"name_zh\": \"远程装甲维修器\", \n    \"nameID\": 65794, \n    \"parentGroupID\": 14\n  }, \n  \"538\": {\n    \"description_de\": \"Für Instandsetzung der Struktur während des Flugs.\", \n    \"description_en-us\": \"For on-the-fly structural restoration.\", \n    \"description_es\": \"Para reparaciones estructurales sobre la marcha.\", \n    \"description_fr\": \"Pour remettre la structure de votre vaisseau en état en plein vol.\", \n    \"description_it\": \"For on-the-fly structural restoration.\", \n    \"description_ja\": \"航行中ストラクチャ修復機。\", \n    \"description_ko\": \"원격으로 선체를 회복시킬 수 있는 장치입니다.\", \n    \"description_ru\": \"Для ремонта структурных повреждений на лету.\", \n    \"description_zh\": \"用于在飞行中进行的结构维修。\", \n    \"descriptionID\": 64721, \n    \"hasTypes\": 0, \n    \"iconID\": 80, \n    \"name_de\": \"Rumpfreparatursysteme\", \n    \"name_en-us\": \"Hull Repairers\", \n    \"name_es\": \"Reparadores de casco\", \n    \"name_fr\": \"Réparateurs de coque\", \n    \"name_it\": \"Hull Repairers\", \n    \"name_ja\": \"船体リペアラ\", \n    \"name_ko\": \"선체수리 장치\", \n    \"name_ru\": \"Установки ремонта корпуса\", \n    \"name_zh\": \"结构维修器\", \n    \"nameID\": 65795, \n    \"parentGroupID\": 14\n  }, \n  \"540\": {\n    \"description_de\": \"Panzerungsresistenz-Beschichtungen\", \n    \"description_en-us\": \"Armor Resistance Coatings\", \n    \"description_es\": \"Recubrimientos de resistencia de blindaje.\", \n    \"description_fr\": \"Surcouches de résistance de blindage\", \n    \"description_it\": \"Armor Resistance Coatings\", \n    \"description_ja\": \"アーマーレジスタンスコーティング\", \n    \"description_ko\": \"장갑 저항력 코팅\", \n    \"description_ru\": \"Покрытия сопротивляемости брони\", \n    \"description_zh\": \"装甲抗性涂层\", \n    \"descriptionID\": 64722, \n    \"hasTypes\": 0, \n    \"iconID\": 1030, \n    \"name_de\": \"Panzerungsresistenz-Beschichtungen\", \n    \"name_en-us\": \"Armor Resistance Coatings\", \n    \"name_es\": \"Recubrimientos de resistencia de blindaje\", \n    \"name_fr\": \"Surcouches de résistance de blindage\", \n    \"name_it\": \"Armor Resistance Coatings\", \n    \"name_ja\": \"アーマーレジスタンスコーティング\", \n    \"name_ko\": \"장갑 저항력 코팅\", \n    \"name_ru\": \"Покрытия сопротивляемости брони\", \n    \"name_zh\": \"装甲抗性涂层\", \n    \"nameID\": 65796, \n    \"parentGroupID\": 14\n  }, \n  \"541\": {\n    \"description_de\": \"Spannungsunterstützte Panzerungsresistenzmembranen\", \n    \"description_en-us\": \"Energized Armor Resistance Membranes\", \n    \"description_es\": \"Membranas energizadas de resistencia de blindaje.\", \n    \"description_fr\": \"Membranes de résistance de blindage énergétiques\", \n    \"description_it\": \"Energized Armor Resistance Membranes\", \n    \"description_ja\": \"電磁加工アーマーレジスタンス装甲\", \n    \"description_ko\": \"장갑 저항력 에너지 멤브레인\", \n    \"description_ru\": \"Заряжаемые мембраны сопротивляемости брони\", \n    \"description_zh\": \"电压装甲抗性薄膜\", \n    \"descriptionID\": 64723, \n    \"hasTypes\": 0, \n    \"iconID\": 2066, \n    \"name_de\": \"Spannungsunterstützte Panzerungsresistenzmembranen\", \n    \"name_en-us\": \"Energized Armor Resistance Membranes\", \n    \"name_es\": \"Membranas energizadas de resistencia de blindaje\", \n    \"name_fr\": \"Membranes de résistance de blindage énergétiques\", \n    \"name_it\": \"Energized Armor Resistance Membranes\", \n    \"name_ja\": \"電磁加工アーマーレジスタンス装甲\", \n    \"name_ko\": \"장갑 저항력 에너지 멤브레인\", \n    \"name_ru\": \"Заряжаемые мембраны сопротивляемости брони\", \n    \"name_zh\": \"电压装甲抗性薄膜\", \n    \"nameID\": 65797, \n    \"parentGroupID\": 14\n  }, \n  \"542\": {\n    \"description_de\": \"Geben dem Antrieb des Schiffes zusätzlichen Schub.\", \n    \"description_en-us\": \"Provide additional thrust to the ship's engines.\", \n    \"description_es\": \"Proporcionan un impulso adicional a los motores de la nave.\", \n    \"description_fr\": \"Pour fournir une source de propulsion supplémentaire aux moteurs du vaisseau.\", \n    \"description_it\": \"Provide additional thrust to the ship's engines.\", \n    \"description_ja\": \"搭載エンジンの推進力を強化。\", \n    \"description_ko\": \"함선 엔진에 추가적인 추진력을 부여하는 장치입니다.\", \n    \"description_ru\": \"Обеспечивают дополнительную тягу для двигателей корабля.\", \n    \"description_zh\": \"为舰船的引擎提供额外的推力。\", \n    \"descriptionID\": 64724, \n    \"hasTypes\": 1, \n    \"iconID\": 96, \n    \"name_de\": \"Nachbrenner\", \n    \"name_en-us\": \"Afterburners\", \n    \"name_es\": \"Posquemadores\", \n    \"name_fr\": \"Systèmes de post-combustion\", \n    \"name_it\": \"Afterburners\", \n    \"name_ja\": \"アフターバーナー\", \n    \"name_ko\": \"애프터버너\", \n    \"name_ru\": \"Форсажные ускорители\", \n    \"name_zh\": \"加力燃烧器\", \n    \"nameID\": 65798, \n    \"parentGroupID\": 52\n  }, \n  \"550\": {\n    \"description_de\": \"Stärken verschiedene Aspekte des subatomaren Eindämmungsfelds eines Schiffs.\", \n    \"description_en-us\": \"Strengthen various aspects of the shields' subatomic containment fields.\", \n    \"description_es\": \"Refuerzan varios aspectos de los campos de contención subatómica de los escudos.\", \n    \"description_fr\": \"De quoi renforcer de diverses manières les champs de confinement subatomique des boucliers.\", \n    \"description_it\": \"Strengthen various aspects of the shields' subatomic containment fields.\", \n    \"description_ja\": \"シールドの素粒子コンテインメントフィールドの様々な面を強化する。\", \n    \"description_ko\": \"실드의 분자 차단 필드를 강화하는 증폭기입니다.\", \n    \"description_ru\": \"Увеличивает эффективность различных генераторов полей субатомного сдерживания щита.\", \n    \"description_zh\": \"增强护盾的各种抗性。\", \n    \"descriptionID\": 64725, \n    \"hasTypes\": 0, \n    \"iconID\": 20939, \n    \"name_de\": \"Schildresistenzverstärker\", \n    \"name_en-us\": \"Shield Resistance Amplifiers\", \n    \"name_es\": \"Amplificadores de resistencia de escudo\", \n    \"name_fr\": \"Amplificateurs de résistance de bouclier\", \n    \"name_it\": \"Shield Resistance Amplifiers\", \n    \"name_ja\": \"シールドレジスタンス増幅器\", \n    \"name_ko\": \"실드 저항력 증폭기\", \n    \"name_ru\": \"Пассивные модуляторы щитов\", \n    \"name_zh\": \"护盾抗性增效器\", \n    \"nameID\": 65799, \n    \"parentGroupID\": 554\n  }, \n  \"551\": {\n    \"description_de\": \"Steigerung der maximalen Sträke des Schildsystems eines Schiffs.\", \n    \"description_en-us\": \"Boost the maximum strength of the ship's shield system.\", \n    \"description_es\": \"Potencian la fuerza máxima del sistema de escudos de la nave.\", \n    \"description_fr\": \"Augmentent la puissance maximale du système de bouclier du vaisseau.\", \n    \"description_it\": \"Boost the maximum strength of the ship's shield system.\", \n    \"description_ja\": \"艦船のシールドシステムの最大強度を高める。\", \n    \"description_ko\": \"함선의 실드 시스템을 확장하는 장치입니다.\", \n    \"description_ru\": \"Увеличивают максимальную мощность щита корабля.\", \n    \"description_zh\": \"增加舰船护盾系统的最大强度。\", \n    \"descriptionID\": 64726, \n    \"hasTypes\": 0, \n    \"iconID\": 1044, \n    \"name_de\": \"Schilderweiterungen\", \n    \"name_en-us\": \"Shield Extenders\", \n    \"name_es\": \"Extensores de escudo\", \n    \"name_fr\": \"Extenseurs de bouclier\", \n    \"name_it\": \"Estensori scudo\", \n    \"name_ja\": \"シールドエクステンダー\", \n    \"name_ko\": \"실드 확장장치\", \n    \"name_ru\": \"Дополнительные источники щитов\", \n    \"name_zh\": \"护盾扩展装置\", \n    \"nameID\": 65800, \n    \"parentGroupID\": 554\n  }, \n  \"552\": {\n    \"description_de\": \"Konvertiert Energie des Energiekerns des Schiffs zu zusätzlicher Schildstärke.\", \n    \"description_en-us\": \"Convert energy from the ship's core into additional shield power.\", \n    \"description_es\": \"Convierten energía del núcleo de la nave en potencia de escudo adicional.\", \n    \"description_fr\": \"Convertissent l'énergie centrale du vaisseau en puissance supplémentaire pour le bouclier.\", \n    \"description_it\": \"Convert energy from the ship's core into additional shield power.\", \n    \"description_ja\": \"艦船のコアエネルギーをシールドパワーに転換してシールドを強化する。\", \n    \"description_ko\": \"코어의 전력을 실드로 송출하여 실드량을 증가시킵니다.\", \n    \"description_ru\": \"Передают энергию от силового ядра корабля на щит.\", \n    \"description_zh\": \"从舰船的能源核心提取能量，然后用于增强护盾。\", \n    \"descriptionID\": 64727, \n    \"hasTypes\": 0, \n    \"iconID\": 84, \n    \"name_de\": \"Schildbooster\", \n    \"name_en-us\": \"Shield Boosters\", \n    \"name_es\": \"Potenciadores de escudo\", \n    \"name_fr\": \"Boosters de bouclier\", \n    \"name_it\": \"Shield Boosters\", \n    \"name_ja\": \"シールドブースター\", \n    \"name_ko\": \"실드 부스터\", \n    \"name_ru\": \"Установки накачки щитов\", \n    \"name_zh\": \"护盾回充增量器\", \n    \"nameID\": 65801, \n    \"parentGroupID\": 554\n  }, \n  \"553\": {\n    \"description_de\": \"Computerisierte Systeme, die zur temporären Verbesserung der Widerstandsfähigkeit des Schilds geschaffen sind.\", \n    \"description_en-us\": \"Computerized systems designed to give a temporary increase in shield resistance.\", \n    \"description_es\": \"Sistemas informatizados diseñados para proporcionar un aumento temporal de la resistencia de escudo.\", \n    \"description_fr\": \"Systèmes gérés par ordinateur conçus pour accroître temporairement la résistance du bouclier.\", \n    \"description_it\": \"Computerized systems designed to give a temporary increase in shield resistance.\", \n    \"description_ja\": \"シールドレジスタンスを一時的に高めるコンピュータシステム。\", \n    \"description_ko\": \"실드 저항력이 일시적으로 증가시키기 위해 설계된 시스템입니다.\", \n    \"description_ru\": \"Компьютеризированные системы, временно увеличивающие сопротивляемость щита различным видам ущерба.\", \n    \"description_zh\": \"用于暂时性增强护盾抵抗能力的电脑控制系统。\", \n    \"descriptionID\": 64728, \n    \"hasTypes\": 0, \n    \"iconID\": 81, \n    \"name_de\": \"Schildhärter\", \n    \"name_en-us\": \"Shield Hardeners\", \n    \"name_es\": \"Endurecedores de escudo\", \n    \"name_fr\": \"Renforcements de bouclier\", \n    \"name_it\": \"Tempratura scudo\", \n    \"name_ja\": \"シールドハードナー\", \n    \"name_ko\": \"실드 강화장치\", \n    \"name_ru\": \"Активные модуляторы щитов\", \n    \"name_zh\": \"护盾增强系统\", \n    \"nameID\": 65802, \n    \"parentGroupID\": 554\n  }, \n  \"554\": {\n    \"description_de\": \"Module, die die Energiebarriere stärken, die Raumschiffe gegen externe Gefahren umgibt\", \n    \"description_en-us\": \"Modules that strengthen the energy barrier surrounding spaceships against external dangers\", \n    \"description_es\": \"Módulos que refuerzan la barrera de energía que protege las naves frente a los peligros externos.\", \n    \"description_fr\": \"Modules qui renforcent la barrière énergétique entourant les vaisseaux pour les protéger des dangers extérieurs\", \n    \"description_it\": \"Modules that strengthen the energy barrier surrounding spaceships against external dangers\", \n    \"description_ja\": \"外部からの攻撃に備え、艦船の周囲のシールドを強化するモジュール\", \n    \"description_ko\": \"에너지 배리어를 전개하여 함선을 보호합니다.\", \n    \"description_ru\": \"Системы, повышающие защиту кораблей от воздействия внешних факторов.\", \n    \"description_zh\": \"可以强化舰船周围的能量障壁的装备，助其抵抗外来的危险因素\", \n    \"descriptionID\": 64729, \n    \"hasTypes\": 0, \n    \"iconID\": 69, \n    \"name_de\": \"Schilde\", \n    \"name_en-us\": \"Shield\", \n    \"name_es\": \"Escudo\", \n    \"name_fr\": \"Bouclier\", \n    \"name_it\": \"Shield\", \n    \"name_ja\": \"シールド\", \n    \"name_ko\": \"실드\", \n    \"name_ru\": \"Модули щитов\", \n    \"name_zh\": \"护盾\", \n    \"nameID\": 65803, \n    \"parentGroupID\": 9\n  }, \n  \"555\": {\n    \"description_de\": \"Railguns verwenden magnetische Gleise, um solide Materiebrocken in hypersonischer Geschwindigkeit abzufeuern.\", \n    \"description_en-us\": \"Railguns use magnetic rails to fire solid chunks of matter at hypersonic speed.\", \n    \"description_es\": \"Los cañones electromagnéticos usan carriles imantados para disparar fragmentos sólidos de materia a velocidad hipersónica.\", \n    \"description_fr\": \"Les canons à rail font appel à des rails magnétiques pour envoyer de gros morceaux de matières à des vitesses hypersoniques.\", \n    \"description_it\": \"Railguns use magnetic rails to fire solid chunks of matter at hypersonic speed.\", \n    \"description_ja\": \"レールガンは、磁気レールを利用して超音速で弾を発射する。\", \n    \"description_ko\": \"레일건은 전자기력을 이용하여 초음속 고체 탄자를 발사합니다.\", \n    \"description_ru\": \"Рейлганы используют магнитные направляющие, чтобы разгонять заряды до сверхзвуковых скоростей.\", \n    \"description_zh\": \"使用电磁轨道将实心的弹丸以超高音速发射出去。\", \n    \"descriptionID\": 64730, \n    \"hasTypes\": 0, \n    \"iconID\": 366, \n    \"name_de\": \"Schienengeschütze\", \n    \"name_en-us\": \"Railguns\", \n    \"name_es\": \"Cañones electromagnéticos\", \n    \"name_fr\": \"Canons à rail\", \n    \"name_it\": \"Railguns\", \n    \"name_ja\": \"レールガン\", \n    \"name_ko\": \"레일건\", \n    \"name_ru\": \"Рельсотроны\", \n    \"name_zh\": \"磁轨炮\", \n    \"nameID\": 65804, \n    \"parentGroupID\": 86\n  }, \n  \"556\": {\n    \"description_de\": \"Blaster feuern magnetisch gebundene Kugeln subatomarer Partikel ab.\", \n    \"description_en-us\": \"Blasters fire magnetically contained balls of subatomic particles.\", \n    \"description_es\": \"Los blásteres disparan bolas de partículas subatómicas.\", \n    \"description_fr\": \"Les blasters tirent des sphères de particules subatomiques confinées magnétiquement.\", \n    \"description_it\": \"Blasters fire magnetically contained balls of subatomic particles.\", \n    \"description_ja\": \"ブラスターは、素粒子を磁気によって封じ込めた球を発射する兵器。\", \n    \"description_ko\": \"블라스터는 자기력으로 구성된 분자 단위의 입자를 발사합니다.\", \n    \"description_ru\": \"Бластеры стреляют заключенными в магнитное поле сгустками субатомных частиц.\", \n    \"description_zh\": \"疾速炮发射由磁场包合的球状亚原子粒子。\", \n    \"descriptionID\": 64731, \n    \"hasTypes\": 0, \n    \"iconID\": 365, \n    \"name_de\": \"Blaster\", \n    \"name_en-us\": \"Blasters\", \n    \"name_es\": \"Blásteres\", \n    \"name_fr\": \"Blasters\", \n    \"name_it\": \"Blasters\", \n    \"name_ja\": \"ブラスター\", \n    \"name_ko\": \"블라스터\", \n    \"name_ru\": \"Бластеры\", \n    \"name_zh\": \"疾速炮\", \n    \"nameID\": 65805, \n    \"parentGroupID\": 86\n  }, \n  \"557\": {\n    \"description_de\": \"Strahllaser feuern einen konzentrierten, stetigen Strahl aus Energie auf ihre Ziele.\", \n    \"description_en-us\": \"Beam lasers fire a concentrated, persistent stream of energy at their target.\", \n    \"description_es\": \"Los láseres de rayos disparan un haz concentrado y persistente de energía hacia el objetivo.\", \n    \"description_fr\": \"Les lasers à rayons envoient un flux d'énergie concentré et continu sur leur cible.\", \n    \"description_it\": \"Beam lasers fire a concentrated, persistent stream of energy at their target.\", \n    \"description_ja\": \"ビームレーザーは、高密度エネルギー波をターゲットに発射し続ける兵器。\", \n    \"description_ko\": \"빔 레이저는 적에게 집속 에너지를 연속적으로 발사합니다.\", \n    \"description_ru\": \"Непрерывные лазеры способны направлять на цель концентрированный устойчивый поток энергии.\", \n    \"description_zh\": \"集束激光器能将高能量集中，持续的输出到目标上。\", \n    \"descriptionID\": 64732, \n    \"hasTypes\": 0, \n    \"iconID\": 361, \n    \"name_de\": \"Langstreckenlaser\", \n    \"name_en-us\": \"Beam Lasers\", \n    \"name_es\": \"Láseres de rayos\", \n    \"name_fr\": \"Lasers à rayons\", \n    \"name_it\": \"Beam Lasers\", \n    \"name_ja\": \"ビームレーザー\", \n    \"name_ko\": \"빔 레이저\", \n    \"name_ru\": \"Лучевые лазеры\", \n    \"name_zh\": \"集束激光器\", \n    \"nameID\": 65806, \n    \"parentGroupID\": 88\n  }, \n  \"558\": {\n    \"description_de\": \"Impulslaser stoßen einen Strahl schwingender Energie auf ihr Ziel ab.\", \n    \"description_en-us\": \"Pulse lasers emit an oscillating energy beam at their target.\", \n    \"description_es\": \"Los láseres de pulsos emiten un haz de energía oscilante hacia el objetivo.\", \n    \"description_fr\": \"Les lasers à impulsions émettent un rayon d'énergie oscillant sur leur cible.\", \n    \"description_it\": \"Pulse lasers emit an oscillating energy beam at their target.\", \n    \"description_ja\": \"パルスレーザーは、ターゲットに振動エネルギー波を発射する兵器。\", \n    \"description_ko\": \"펄스 레이저는 진동하는 에너지 빔을 적에게 발사합니다.\", \n    \"description_ru\": \"Импульсные лазеры выпускают в цель осциллирующие лучи энергии.\", \n    \"description_zh\": \"脉冲激光器能向目标舰只发射一束震荡脉冲能量波。\", \n    \"descriptionID\": 64733, \n    \"hasTypes\": 0, \n    \"iconID\": 360, \n    \"name_de\": \"Impulslaser\", \n    \"name_en-us\": \"Pulse Lasers\", \n    \"name_es\": \"Láseres de pulsos\", \n    \"name_fr\": \"Lasers à impulsions\", \n    \"name_it\": \"Pulse Lasers\", \n    \"name_ja\": \"パルスレーザー\", \n    \"name_ko\": \"펄스 레이저\", \n    \"name_ru\": \"Импульсные лазеры\", \n    \"name_zh\": \"脉冲激光器\", \n    \"nameID\": 65807, \n    \"parentGroupID\": 88\n  }, \n  \"559\": {\n    \"description_de\": \"Maschinenkanonen sind effektiv auf kurze Entfernungen und verfügen über ein großartiges Nachführvermögen.\", \n    \"description_en-us\": \"Autocannons are effective at close ranges and possess great tracking ability.\", \n    \"description_es\": \"Los cañones automáticos son efectivos a corta distancia y tienen una gran capacidad de rastreo.\", \n    \"description_fr\": \"Les canons automatiques sont efficaces à courte portée et disposent d'une excellente capacité de poursuite.\", \n    \"description_it\": \"Autocannons are effective at close ranges and possess great tracking ability.\", \n    \"description_ja\": \"オートキャノンは至近距離で威力を発揮し、追跡能力にも優れている。\", \n    \"description_ko\": \"기관포는 근거리 교전에서 효과적인 무기로 트래킹 성능이 매우 뛰어납니다.\", \n    \"description_ru\": \"Автоматичные пушки эффективны на ближней дистанции и обладают превосходной скоростью слежения.\", \n    \"description_zh\": \"自动加农炮在近距离的火力打击上非常有效，并有拥有不错的目标追踪性能。\", \n    \"descriptionID\": 64734, \n    \"hasTypes\": 0, \n    \"iconID\": 381, \n    \"name_de\": \"Maschinenkanonen\", \n    \"name_en-us\": \"Autocannons\", \n    \"name_es\": \"Cañones automáticos\", \n    \"name_fr\": \"Canons automatiques\", \n    \"name_it\": \"Autocannons\", \n    \"name_ja\": \"オートキャノン\", \n    \"name_ko\": \"기관포\", \n    \"name_ru\": \"Автопушки\", \n    \"name_zh\": \"自动加农炮\", \n    \"nameID\": 65808, \n    \"parentGroupID\": 87\n  }, \n  \"560\": {\n    \"description_de\": \"Langsam feuernde Langstrecken-Kanone, die in der Lage ist, mit großer Wirtschaftlichkeit verheerende Schläge auszuteilen.\", \n    \"description_en-us\": \"Slow-firing long-range cannons, able to deal crippling blows with great economy.\", \n    \"description_es\": \"Cañones de largo alcance y disparo lento, capaces de infligir impactos incapacitantes sin consumir mucha energía.\", \n    \"description_fr\": \"Des canons longue portée à la cadence de tir lente, capables de porter des coups durs à un moindre coût.\", \n    \"description_it\": \"Slow-firing long-range cannons, able to deal crippling blows with great economy.\", \n    \"description_ja\": \"長射程キャノン。速射は利かないが、少ない弾薬で大きな打撃を与える。\", \n    \"description_ko\": \"저속으로 발사하는 장거리 캐논으로 적을 효율적으로 타격할 수 있습니다.\", \n    \"description_ru\": \"Дальнобойные орудия с низкой скорострельности, способные наносить сокрушительные повреждения без особых материальных затрат.\", \n    \"description_zh\": \"开火速度慢但是射击距离远的加农火炮，在较低的消耗上制造极端的伤害。\", \n    \"descriptionID\": 64735, \n    \"hasTypes\": 0, \n    \"iconID\": 381, \n    \"name_de\": \"Artilleriekanonen\", \n    \"name_en-us\": \"Artillery Cannons\", \n    \"name_es\": \"Cañones de artillería\", \n    \"name_fr\": \"Canons d'artillerie\", \n    \"name_it\": \"Artillery Cannons\", \n    \"name_ja\": \"アーティレリキャノン\", \n    \"name_ko\": \"함포\", \n    \"name_ru\": \"Артиллерийские орудия\", \n    \"name_zh\": \"加农火炮\", \n    \"nameID\": 65809, \n    \"parentGroupID\": 87\n  }, \n  \"561\": {\n    \"description_de\": \"Schnell nachführende Blaster mit niedrigem Schadenswert für den Gebrauch auf Fregatten.\", \n    \"description_en-us\": \"Fast-tracking, low-damage blasters, for use on frigates.\", \n    \"description_es\": \"Blásteres de rastreo rápido y poca potencia para usarlos en fragatas.\", \n    \"description_fr\": \"Blasters disposant d'une poursuite rapide de la cible et infligeant peu de dégâts, à utiliser sur les frégates.\", \n    \"description_it\": \"Fast-tracking, low-damage blasters, for use on frigates.\", \n    \"description_ja\": \"高速で敵を追跡して小さいダメージを与えるブラスター。フリゲート用。\", \n    \"description_ko\": \"트래킹 속도는 빠른 반면 피해량은 낮은 프리깃용 블라스터입니다.\", \n    \"description_ru\": \"Маломощные бластеры с высокой скоростью слежения, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"跟踪速度快，伤害较低的疾速炮，专用于护卫舰。\", \n    \"descriptionID\": 64736, \n    \"hasTypes\": 1, \n    \"iconID\": 376, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65810, \n    \"parentGroupID\": 556\n  }, \n  \"562\": {\n    \"description_de\": \"Mittelgroße Blaster für den Gebrauch auf Kreuzern.\", \n    \"description_en-us\": \"Medium-sized blasters, for use on cruisers.\", \n    \"description_es\": \"Blásteres de medio calibre para usarlos en cruceros.\", \n    \"description_fr\": \"Blasters de taille intermédiaire, à utiliser sur les croiseurs.\", \n    \"description_it\": \"Medium-sized blasters, for use on cruisers.\", \n    \"description_ja\": \"巡洋艦で使用するための中型ブラスター。\", \n    \"description_ko\": \"중형 블라스터로 크루저급 함선에서 사용됩니다.\", \n    \"description_ru\": \"Бластеры среднего калибра, предназначенные для установки на крейсеры.\", \n    \"description_zh\": \"巡洋舰使用的中型疾速炮。\", \n    \"descriptionID\": 64737, \n    \"hasTypes\": 1, \n    \"iconID\": 371, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65811, \n    \"parentGroupID\": 556\n  }, \n  \"563\": {\n    \"description_de\": \"Langsam nachführende Blaster mit hohem Schadenswert für den Gebrauch auf Schlachtschiffen.\", \n    \"description_en-us\": \"Slow-tracking, high-damage blasters, for use on battleships.\", \n    \"description_es\": \"Blásteres de rastreo lento y mucha potencia para usarlos en acorazados.\", \n    \"description_fr\": \"Blasters disposant d'une poursuite lente de la cible et infligeant de lourds dégâts, à utiliser sur les cuirassés.\", \n    \"description_it\": \"Slow-tracking, high-damage blasters, for use on battleships.\", \n    \"description_ja\": \"戦艦で使用するための、追跡速度は遅いが破壊力の大きいブラスター。\", \n    \"description_ko\": \"트래킹 속도는 느린 반면 피해량은 높은 배틀쉽용 블라스터입니다.\", \n    \"description_ru\": \"Бластеры большой мощности с низкой скоростью слежения, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"跟踪速度慢，伤害高的疾速炮，用于战列舰。\", \n    \"descriptionID\": 64738, \n    \"hasTypes\": 1, \n    \"iconID\": 365, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65812, \n    \"parentGroupID\": 556\n  }, \n  \"564\": {\n    \"description_de\": \"Schnell nachführende Railguns mit niedrigem Schadenswert für den Gebrauch auf Fregatten.\", \n    \"description_en-us\": \"Fast-tracking, low-damage railguns, for use on frigates.\", \n    \"description_es\": \"Cañones electromagnéticos de rastreo rápido y poca potencia para usarlos en fragatas.\", \n    \"description_fr\": \"Canons à rail permettant une poursuite rapide de la cible et infligeant peu de dégâts, à utiliser sur les frégates.\", \n    \"description_it\": \"Fast-tracking, low-damage railguns, for use on frigates.\", \n    \"description_ja\": \"高速で敵を追跡して小さいダメージを与えるレールガン。フリゲート用。\", \n    \"description_ko\": \"트래킹 속도는 빠른 반면 피해량은 낮은 프리깃용 레일건입니다.\", \n    \"description_ru\": \"Маломощные рейлганы с высокой скоростью слежения, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"跟踪速度快，伤害较低的磁轨炮，专用于护卫舰。\", \n    \"descriptionID\": 64739, \n    \"hasTypes\": 1, \n    \"iconID\": 349, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65813, \n    \"parentGroupID\": 555\n  }, \n  \"565\": {\n    \"description_de\": \"Mittelgroße Railguns für den Gebrauch auf Kreuzern.\", \n    \"description_en-us\": \"Medium-sized railguns, for use on cruisers.\", \n    \"description_es\": \"Cañones electromagnéticos de medio calibre para usarlos en cruceros.\", \n    \"description_fr\": \"Canons à rail de taille intermédiaire, à utiliser sur les croiseurs.\", \n    \"description_it\": \"Medium-sized railguns, for use on cruisers.\", \n    \"description_ja\": \"巡洋艦で使用するための中型レールガン。\", \n    \"description_ko\": \"중형 레일건으로 크루저급 함선에서 사용됩니다.\", \n    \"description_ru\": \"Рейлганы среднего калибра, предназначенные для установки на крейсеры.\", \n    \"description_zh\": \"巡洋舰使用的中型磁轨炮。\", \n    \"descriptionID\": 64740, \n    \"hasTypes\": 1, \n    \"iconID\": 370, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65814, \n    \"parentGroupID\": 555\n  }, \n  \"566\": {\n    \"description_de\": \"Langsam nachführende Railguns mit hohem Schadenswert für den Gebrauch auf Schlachtschiffen.\", \n    \"description_en-us\": \"Slow-tracking, high-damage railguns, for use on battleships.\", \n    \"description_es\": \"Cañones electromagnéticos de rastreo lento y mucha potencia para usarlos en acorazados.\", \n    \"description_fr\": \"Canons à rail permettant une poursuite lente de la cible et infligeant de lourds dégâts, à utiliser sur les cuirassés.\", \n    \"description_it\": \"Slow-tracking, high-damage railguns, for use on battleships.\", \n    \"description_ja\": \"戦艦で使用するための、追跡速度は低いが破壊力の大きいレールガン。\", \n    \"description_ko\": \"트래킹 속도는 느린 반면 피해량은 높은 배틀쉽용 레일건입니다.\", \n    \"description_ru\": \"Рейлганы большой мощности с низкой скоростью слежения, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"跟踪速度慢，伤害高的磁轨炮，用于战列舰。\", \n    \"descriptionID\": 64741, \n    \"hasTypes\": 1, \n    \"iconID\": 366, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65815, \n    \"parentGroupID\": 555\n  }, \n  \"567\": {\n    \"description_de\": \"Kleine Strahllaser, passend für den Gebrauch auf Fregatten.\", \n    \"description_en-us\": \"Small beam lasers, suitable for frigate use.\", \n    \"description_es\": \"Láseres de rayos de pequeño calibre aptos para fragatas.\", \n    \"description_fr\": \"Petits lasers à rayons, adaptés à une utilisation sur les frégates.\", \n    \"description_it\": \"Small beam lasers, suitable for frigate use.\", \n    \"description_ja\": \"フリゲートでの使用に適した小型のビームレーザー。\", \n    \"description_ko\": \"소형 빔 레이저로 프리깃급 함선에서 사용됩니다.\", \n    \"description_ru\": \"Непрерывные лазеры малого калибра, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"专用于护卫舰的小型集束激光器。\", \n    \"descriptionID\": 64742, \n    \"hasTypes\": 1, \n    \"iconID\": 352, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65816, \n    \"parentGroupID\": 557\n  }, \n  \"568\": {\n    \"description_de\": \"Mittlere Strahllaser für Schiffe der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Medium beam lasers, suitable for cruiser use.\", \n    \"description_es\": \"Láseres de rayos de medio calibre aptos para cruceros.\", \n    \"description_fr\": \"Laser à rayons intermédiaires, adaptés à une utilisation sur les croiseurs.\", \n    \"description_it\": \"Medium beam lasers, suitable for cruiser use.\", \n    \"description_ja\": \"巡洋艦での使用に適したミディアムビームレーザー。\", \n    \"description_ko\": \"중형 빔 레이저로 크루저급 함선에서 사용됩니다.\", \n    \"description_ru\": \"Непрерывные лазеры среднего калибра, предназначенные для установки на крейсеры.\", \n    \"description_zh\": \"巡洋舰使用的中型集束激光器。\", \n    \"descriptionID\": 64743, \n    \"hasTypes\": 1, \n    \"iconID\": 355, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65817, \n    \"parentGroupID\": 557\n  }, \n  \"569\": {\n    \"description_de\": \"Große Strahllaser, passend für den Gebrauch auf Schlachtschiffen.\", \n    \"description_en-us\": \"Large beam lasers, suitable for battleship use.\", \n    \"description_es\": \"Láseres de rayos de gran calibre aptos para acorazados.\", \n    \"description_fr\": \"Grands lasers à rayons, adaptés à une utilisation sur les cuirassés.\", \n    \"description_it\": \"Large beam lasers, suitable for battleship use.\", \n    \"description_ja\": \"戦艦での使用に適した大型ビームレーザー。\", \n    \"description_ko\": \"대형 빔 레이저로 배틀쉽급 함선에서 사용됩니다.\", \n    \"description_ru\": \"Большие непрерывные лазеры, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"战列舰级别舰船使用的大型集束激光器。\", \n    \"descriptionID\": 64744, \n    \"hasTypes\": 1, \n    \"iconID\": 361, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65818, \n    \"parentGroupID\": 557\n  }, \n  \"570\": {\n    \"description_de\": \"Kleine Impulslaser, passend für den Gebrauch auf Fregatten.\", \n    \"description_en-us\": \"Small pulse lasers, suitable for frigate use.\", \n    \"description_es\": \"Láseres de pulsos de pequeño calibre aptos para fragatas.\", \n    \"description_fr\": \"Petits lasers à impulsions, adaptés à une utilisation sur les frégates.\", \n    \"description_it\": \"Small pulse lasers, suitable for frigate use.\", \n    \"description_ja\": \"フリゲートでの使用に適した小型のパルスレーザー。\", \n    \"description_ko\": \"소형 펄스 레이저로 프리깃급 함선에서 사용됩니다.\", \n    \"description_ru\": \"Импульсные лазеры малого калибра, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"护卫舰使用的小型脉冲激光器。\", \n    \"descriptionID\": 64745, \n    \"hasTypes\": 1, \n    \"iconID\": 350, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65819, \n    \"parentGroupID\": 558\n  }, \n  \"572\": {\n    \"description_de\": \"Mittlere Impulslaser für Schiffe der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Medium pulse lasers, suitable for cruiser use.\", \n    \"description_es\": \"Láseres de pulsos de medio calibre aptos para cruceros.\", \n    \"description_fr\": \"Lasers à impulsions intermédiaires, adaptés à une utilisation sur les croiseurs.\", \n    \"description_it\": \"Medium pulse lasers, suitable for cruiser use.\", \n    \"description_ja\": \"巡洋艦での使用に適した中型のパルスレーザー。\", \n    \"description_ko\": \"중형 펄스 레이저로 크루저급 함선에서 사용됩니다.\", \n    \"description_ru\": \"Импульсные лазеры среднего калибра, предназначенные для установки на крейсеры.\", \n    \"description_zh\": \"巡洋舰使用的中型脉冲激光器。\", \n    \"descriptionID\": 64746, \n    \"hasTypes\": 1, \n    \"iconID\": 356, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65820, \n    \"parentGroupID\": 558\n  }, \n  \"573\": {\n    \"description_de\": \"Große Impulslaser, passend für den Gebrauch auf Schlachtschiffen.\", \n    \"description_en-us\": \"Large pulse lasers, suitable for battleship use.\", \n    \"description_es\": \"Láseres de pulsos de gran calibre aptos para acorazados.\", \n    \"description_fr\": \"Grands lasers à impulsions, adaptés à une utilisation sur les cuirassés.\", \n    \"description_it\": \"Large pulse lasers, suitable for battleship use.\", \n    \"description_ja\": \"戦艦での使用に適した大型パルスレーザー。\", \n    \"description_ko\": \"대형 펄스 레이저로 배틀쉽급 함선에서 사용됩니다.\", \n    \"description_ru\": \"Большие импульсные лазеры, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"战列舰级别舰船使用的大型脉冲激光器。\", \n    \"descriptionID\": 64747, \n    \"hasTypes\": 1, \n    \"iconID\": 360, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65821, \n    \"parentGroupID\": 558\n  }, \n  \"574\": {\n    \"description_de\": \"Für Fregatten typische Maschinenkanonen, bei kurzen Entfernungen sehr effektiv.\", \n    \"description_en-us\": \"Frigate-sized autocannons, effective at very close ranges.\", \n    \"description_es\": \"Cañones automáticos para naves de tamaño fragata, efectivos a muy corta distancia.\", \n    \"description_fr\": \"Canons automatiques adaptés aux frégates, efficaces à très courte portée.\", \n    \"description_it\": \"Frigate-sized autocannons, effective at very close ranges.\", \n    \"description_ja\": \"フリゲート級オートキャノン。至近距離での効果が高い。\", \n    \"description_ko\": \"프리깃급 함선에 탑재되는 오토캐넌으로 근거리에서 효과적입니다.\", \n    \"description_ru\": \"Автопушки, предназначенные для установки на фрегаты и эффективные на очень близких дистанциях.\", \n    \"description_zh\": \"护卫舰级别自动加农炮，在非常近的距离上有效。\", \n    \"descriptionID\": 64748, \n    \"hasTypes\": 1, \n    \"iconID\": 387, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65822, \n    \"parentGroupID\": 559\n  }, \n  \"575\": {\n    \"description_de\": \"Für Kreuzer typische Waffen. Liefern ein schnelles Sperrfeuer von Granaten auf kurze Entfernung.\", \n    \"description_en-us\": \"Cruiser-sized weapons. Deliver a rapid-fire barrage of shells at close ranges.\", \n    \"description_es\": \"Armas para naves de tamaño crucero. Disparan una barrera de fuego nutrido a corta distancia.\", \n    \"description_fr\": \"Armes conçues pour être utilisées par les croiseurs. Fournissent un tir de barrage rapide d'obus à courte portée.\", \n    \"description_it\": \"Cruiser-sized weapons. Deliver a rapid-fire barrage of shells at close ranges.\", \n    \"description_ja\": \"巡洋艦級兵器。至近距離で集中砲火を浴びせる。\", \n    \"description_ko\": \"크루저급 함선에 탑재되는 무기입니다. 근거리에서 급속으로 발사하는 함포입니다.\", \n    \"description_ru\": \"Орудия, устанавливаемые на крейсеры. Предназначены для ведения шквального огня на ближней дистанции.\", \n    \"description_zh\": \"巡洋舰使用的武器，射速很快的一种近距离武器。\", \n    \"descriptionID\": 64749, \n    \"hasTypes\": 1, \n    \"iconID\": 386, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65823, \n    \"parentGroupID\": 559\n  }, \n  \"576\": {\n    \"description_de\": \"Für Schlachtschiffe typische Maschinenkanonen. Verteilen aus der Nähe und personengebunden massiven Schaden.\", \n    \"description_en-us\": \"Battleship-sized autocannons. Deal massive damage, up close and personal.\", \n    \"description_es\": \"Cañones automáticos para naves de tamaño acorazado. Infligen un daño brutal a corta distancia.\", \n    \"description_fr\": \"Canons automatiques conçus pour être utilisés par les cuirassés. Infligent de lourds dégâts, pour des règlements de compte en toute intimité.\", \n    \"description_it\": \"Battleship-sized autocannons. Deal massive damage, up close and personal.\", \n    \"description_ja\": \"戦艦級のオートキャノン。接近戦で致命的なダメージを与える。\", \n    \"description_ko\": \"배틀쉽급 오토캐넌입니다. 근거리에서 막대한 피해량을 입힐 수 있습니다.\", \n    \"description_ru\": \"Автопушки, предназначенные для установки на линкоры. Наносят большой ущерб в ближнем бою.\", \n    \"description_zh\": \"战列舰使用的自动加农炮，近距离，大威力。\", \n    \"descriptionID\": 64750, \n    \"hasTypes\": 1, \n    \"iconID\": 381, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65824, \n    \"parentGroupID\": 559\n  }, \n  \"577\": {\n    \"description_de\": \"Kleine Artilleriekanonen, passend für den Gebrauch auf Fregatten.\", \n    \"description_en-us\": \"Small artillery cannons, suitable for frigate use.\", \n    \"description_es\": \"Cañones de artillería de pequeño calibre aptos para fragatas.\", \n    \"description_fr\": \"Petits canons d'artillerie, adaptés à une utilisation sur les frégates.\", \n    \"description_it\": \"Small artillery cannons, suitable for frigate use.\", \n    \"description_ja\": \"フリゲートでの使用に適した小型のアーティレリキャノン。\", \n    \"description_ko\": \"소형 함포로 프리깃급 함선에서 사용됩니다.\", \n    \"description_ru\": \"Артиллерийские орудия малого калибра, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"护卫舰舰炮使用的小型加农火炮弹药。\", \n    \"descriptionID\": 64751, \n    \"hasTypes\": 1, \n    \"iconID\": 389, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65825, \n    \"parentGroupID\": 560\n  }, \n  \"578\": {\n    \"description_de\": \"Mittlere Artilleriekanonen für Schiffe der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Medium artillery cannons, suitable for cruiser use.\", \n    \"description_es\": \"Cañones de artillería de medio calibre aptos para cruceros.\", \n    \"description_fr\": \"Canons d'artillerie intermédiaires, adaptés à une utilisation sur les croiseurs.\", \n    \"description_it\": \"Medium artillery cannons, suitable for cruiser use.\", \n    \"description_ja\": \"巡洋艦での使用に適した中型のアーティレリキャノン。\", \n    \"description_ko\": \"중형 함포로 크루저급 함선에서 사용됩니다.\", \n    \"description_ru\": \"Артиллерийские орудия среднего калибра, предназначенные для установки на крейсеры.\", \n    \"description_zh\": \"巡洋舰使用的中型加农火炮。\", \n    \"descriptionID\": 64752, \n    \"hasTypes\": 1, \n    \"iconID\": 384, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65826, \n    \"parentGroupID\": 560\n  }, \n  \"579\": {\n    \"description_de\": \"Große Artilleriekanonen, passend für den Gebrauch auf Schlachtschiffen.\", \n    \"description_en-us\": \"Large artillery cannons, suitable for battleship use.\", \n    \"description_es\": \"Cañones de artillería de gran calibre aptos para acorazados.\", \n    \"description_fr\": \"Grands canons d'artillerie, adaptés à une utilisation sur les cuirassés.\", \n    \"description_it\": \"Large artillery cannons, suitable for battleship use.\", \n    \"description_ja\": \"戦艦での使用に適した大型のアーティレリキャノン。\", \n    \"description_ko\": \"배틀쉽에 장착할 수 있는 대형 함포입니다.\", \n    \"description_ru\": \"Большие артиллерийские орудия, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"战列舰级别舰船使用的加农火炮。\", \n    \"descriptionID\": 64753, \n    \"hasTypes\": 1, \n    \"iconID\": 379, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65827, \n    \"parentGroupID\": 560\n  }, \n  \"580\": {\n    \"description_de\": \"Mit Flügeln versehene, düsengetriebene, ferngelenkte Raketen mit schwerer Sprengladung.\", \n    \"description_en-us\": \"Lifting-wing, jet-propelled guided missiles with heavy payloads.\", \n    \"description_es\": \"Misiles autopropulsados por chorro con sustentación de ala y cargas útiles pesadas.\", \n    \"description_fr\": \"Missiles guidés autopropulsés à aile portante à la puissance dévastatrice.\", \n    \"description_it\": \"Lifting-wing, jet-propelled guided missiles with heavy payloads.\", \n    \"description_ja\": \"絶大な威力を誇る、有翼ジェット推進式誘導ミサイル。\", \n    \"description_ko\": \"날개형 제트 추진 미사일로 막대한 피해를 입힐 수 있는 탄두를 탑재하고 있습니다.\", \n    \"description_ru\": \"Управляемые ракеты на реактивной тяге, оснащенные боеголовками большой мощности.\", \n    \"description_zh\": \"有翼、喷气推进、并装载有高爆弹头的制导导弹。\", \n    \"descriptionID\": 64754, \n    \"hasTypes\": 0, \n    \"iconID\": 184, \n    \"name_de\": \"Marschflugkörper\", \n    \"name_en-us\": \"Cruise Missiles\", \n    \"name_es\": \"Misiles de crucero\", \n    \"name_fr\": \"Missiles de croisière\", \n    \"name_it\": \"Cruise Missiles\", \n    \"name_ja\": \"クルーズミサイル\", \n    \"name_ko\": \"크루즈 미사일\", \n    \"name_ru\": \"Дальнобойные ракеты\", \n    \"name_zh\": \"巡航导弹\", \n    \"nameID\": 65828, \n    \"parentGroupID\": 114\n  }, \n  \"581\": {\n    \"description_de\": \"Düsenangetriebene Projektile für schwere Abfeueranlagen.\", \n    \"description_en-us\": \"Jet-propelled projectiles for heavy launchers.\", \n    \"description_es\": \"Proyectiles autopropulsados para lanzadores de armamento pesado.\", \n    \"description_fr\": \"Projectiles autopropulsés pour des lanceurs lourds.\", \n    \"description_it\": \"Jet-propelled projectiles for heavy launchers.\", \n    \"description_ja\": \"ヘビーランチャー用のジェット推進式ミサイル。\", \n    \"description_ko\": \"제트 추진 미사일로 헤비 런처에 탑재할 수 있습니다.\", \n    \"description_ru\": \"Реактивные снаряды для тяжёлых пусковых установок.\", \n    \"description_zh\": \"重型发射器使用的喷气推进导弹。\", \n    \"descriptionID\": 64755, \n    \"hasTypes\": 0, \n    \"iconID\": 186, \n    \"name_de\": \"Schwere Lenkwaffen\", \n    \"name_en-us\": \"Heavy Missiles\", \n    \"name_es\": \"Misiles pesados\", \n    \"name_fr\": \"Missiles lourds\", \n    \"name_it\": \"Heavy Missiles\", \n    \"name_ja\": \"ヘビーミサイル\", \n    \"name_ko\": \"헤비 미사일\", \n    \"name_ru\": \"Тяжёлые ракеты\", \n    \"name_zh\": \"重型导弹\", \n    \"nameID\": 65829, \n    \"parentGroupID\": 114\n  }, \n  \"582\": {\n    \"description_de\": \"Blueprints von Schiffen der Zerstörer-Klasse.\", \n    \"description_en-us\": \"Blueprints of destroyer-class vessels.\", \n    \"description_es\": \"Planos de naves de clase destructor.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe destroyer.\", \n    \"description_it\": \"Blueprints of destroyer-class vessels.\", \n    \"description_ja\": \"駆逐艦級艦船のブループリント。\", \n    \"description_ko\": \"디스트로이어급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи эсминцев.\", \n    \"description_zh\": \"驱逐舰等级舰船蓝图\", \n    \"descriptionID\": 64756, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Zerstörer\", \n    \"name_en-us\": \"Destroyers\", \n    \"name_es\": \"Destructores\", \n    \"name_fr\": \"Destroyers\", \n    \"name_it\": \"Destroyers\", \n    \"name_ja\": \"駆逐艦\", \n    \"name_ko\": \"디스트로이어\", \n    \"name_ru\": \"Эсминцы\", \n    \"name_zh\": \"驱逐舰\", \n    \"nameID\": 65830, \n    \"parentGroupID\": 204\n  }, \n  \"583\": {\n    \"description_de\": \"Blueprints von Amarr-Zerstörer-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr destroyer designs.\", \n    \"description_es\": \"Planos de diseños de destructores amarrianos.\", \n    \"description_fr\": \"Plans de construction de modèles de destroyers amarr.\", \n    \"description_it\": \"Blueprints of Amarr destroyer designs.\", \n    \"description_ja\": \"アマー駆逐艦設計図のブループリント。\", \n    \"description_ko\": \"아마르 디스트로이어 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи эсминцев разработки Империи Amarr\", \n    \"description_zh\": \"艾玛驱逐舰设计蓝图\", \n    \"descriptionID\": 64757, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65831, \n    \"parentGroupID\": 582\n  }, \n  \"584\": {\n    \"description_de\": \"Blueprints von Caldari-Zerstörer-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari destroyer designs.\", \n    \"description_es\": \"Planos de diseños de destructores caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de destroyers caldari.\", \n    \"description_it\": \"Blueprints of Caldari destroyer designs.\", \n    \"description_ja\": \"カルダリ駆逐艦設計図のブループリント。\", \n    \"description_ko\": \"칼다리 디스트로이어 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи эсминцев разработки Государства Caldari.\", \n    \"description_zh\": \"加达里驱逐舰设计蓝图\", \n    \"descriptionID\": 64758, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65832, \n    \"parentGroupID\": 582\n  }, \n  \"585\": {\n    \"description_de\": \"Blueprints von Gallente-Zerstörer-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente destroyer designs.\", \n    \"description_es\": \"Planos de diseños de destructores gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de destroyers gallente.\", \n    \"description_it\": \"Blueprints of Gallente destroyer designs.\", \n    \"description_ja\": \"ガレンテ駆逐艦設計図のブループリント。\", \n    \"description_ko\": \"갈란테 디스트로이어 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи эсминцев разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特驱逐舰设计蓝图。\", \n    \"descriptionID\": 64759, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65833, \n    \"parentGroupID\": 582\n  }, \n  \"586\": {\n    \"description_de\": \"Blueprints von Minmatar-Zerstörer-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar destroyer designs.\", \n    \"description_es\": \"Planos de diseños de destructores minmatarianos.\", \n    \"description_fr\": \"Plans de construction de modèles de destroyers minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar destroyer designs.\", \n    \"description_ja\": \"ミンマターデストロイヤー設計図のブループリント。\", \n    \"description_ko\": \"민마타 디스트로이어 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи эсминцев разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔驱逐舰设计蓝图。\", \n    \"descriptionID\": 64760, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65834, \n    \"parentGroupID\": 582\n  }, \n  \"588\": {\n    \"description_de\": \"Blueprints von Schiffen der Schlachtkreuzer-Klasse.\", \n    \"description_en-us\": \"Blueprints of battlecruiser-class vessels.\", \n    \"description_es\": \"Planos de naves de clase crucero de combate.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe croiseur de bataille.\", \n    \"description_it\": \"Blueprints of battlecruiser-class vessels.\", \n    \"description_ja\": \"巡洋戦艦級艦船のブループリント。\", \n    \"description_ko\": \"배틀크루저급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи линейных крейсеров.\", \n    \"description_zh\": \"战列巡洋舰蓝图\", \n    \"descriptionID\": 64761, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Schlachtkreuzer\", \n    \"name_en-us\": \"Battlecruisers\", \n    \"name_es\": \"Cruceros de combate\", \n    \"name_fr\": \"Croiseurs de bataille\", \n    \"name_it\": \"Battlecruisers\", \n    \"name_ja\": \"巡洋戦艦\", \n    \"name_ko\": \"배틀크루저\", \n    \"name_ru\": \"Линейные крейсеры\", \n    \"name_zh\": \"战列巡洋舰\", \n    \"nameID\": 65835, \n    \"parentGroupID\": 204\n  }, \n  \"589\": {\n    \"description_de\": \"Blueprints von Amarr-Schlachtkreuzer-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr battlecruiser designs.\", \n    \"description_es\": \"Planos de diseños de cruceros de combate amarrianos.\", \n    \"description_fr\": \"Plans de construction de modèles de croiseurs de bataille amarr.\", \n    \"description_it\": \"Blueprints of Amarr battlecruiser designs.\", \n    \"description_ja\": \"アマー巡洋戦艦設計図のブループリント。\", \n    \"description_ko\": \"아마르 배틀크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи линейных крейсеров разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛战列巡洋舰设计蓝图\", \n    \"descriptionID\": 64762, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65836, \n    \"parentGroupID\": 588\n  }, \n  \"590\": {\n    \"description_de\": \"Blueprints von Caldari-Schlachtkreuzer-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari battlecruiser designs.\", \n    \"description_es\": \"Planos de diseños de cruceros de combate caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de croiseurs de bataille caldari.\", \n    \"description_it\": \"Blueprints of Caldari battlecruiser designs.\", \n    \"description_ja\": \"カルダリ巡洋戦艦設計図のブループリント。\", \n    \"description_ko\": \"칼다리 배틀크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи линейных крейсеров разработки Государства Caldari.\", \n    \"description_zh\": \"加达里战列巡洋舰设计蓝图\", \n    \"descriptionID\": 64763, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65837, \n    \"parentGroupID\": 588\n  }, \n  \"591\": {\n    \"description_de\": \"Blueprints von Gallente-Schlachtkreuzer-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente battlecruiser designs.\", \n    \"description_es\": \"Planos de diseños de cruceros de combate gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de croiseurs de bataille gallente.\", \n    \"description_it\": \"Blueprints of Gallente battlecruiser designs.\", \n    \"description_ja\": \"ガレンテ巡洋戦艦設計図のブループリント。\", \n    \"description_ko\": \"갈란테 배틀크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи линейных крейсеров разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特战列巡洋舰设计蓝图。\", \n    \"descriptionID\": 64764, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65838, \n    \"parentGroupID\": 588\n  }, \n  \"592\": {\n    \"description_de\": \"Blueprints von Minmatar-Schlachtkreuzer-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar battlecruiser designs.\", \n    \"description_es\": \"Planos de diseños de cruceros de combate minmatarianos.\", \n    \"description_fr\": \"Plans de construction de modèles de croiseurs de bataille minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar battlecruiser designs.\", \n    \"description_ja\": \"ミンマター巡洋戦艦設計図のブループリント。\", \n    \"description_ko\": \"민마타 배틀크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи линейных крейсеров разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔战列巡洋舰设计蓝图。\", \n    \"descriptionID\": 64765, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65839, \n    \"parentGroupID\": 588\n  }, \n  \"593\": {\n    \"description_de\": \"Frequenzkristalle, die auf verschiedene Erz-Typen zugeschnitten sind\", \n    \"description_en-us\": \"Frequency crystals custom-cut for different ore types\", \n    \"description_es\": \"Cristales de frecuencia personalizados para distintos tipos de menas.\", \n    \"description_fr\": \"Cristaux de fréquence taillés sur mesure pour différents types de minerai\", \n    \"description_it\": \"Frequency crystals custom-cut for different ore types\", \n    \"description_ja\": \"鉱石のタイプに合わせてカスタムカットされたフリーケンシークリスタル\", \n    \"description_ko\": \"광물 채굴에 사용되는 프리퀀시 크리스탈입니다.\", \n    \"description_ru\": \"Частотные кристаллы, специально созданные для добычи определенного вида руды.\", \n    \"description_zh\": \"专为采集不同的矿石所定制的频率晶体\", \n    \"descriptionID\": 64766, \n    \"hasTypes\": 0, \n    \"iconID\": 24968, \n    \"name_de\": \"Bergbaukristalle\", \n    \"name_en-us\": \"Mining Crystals\", \n    \"name_es\": \"Cristales de minería\", \n    \"name_fr\": \"Cristaux d’extraction\", \n    \"name_it\": \"Mining Crystals\", \n    \"name_ja\": \"採掘用クリスタル\", \n    \"name_ko\": \"채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы\", \n    \"name_zh\": \"采矿晶体\", \n    \"nameID\": 65840, \n    \"parentGroupID\": 11\n  }, \n  \"594\": {\n    \"description_de\": \"Batterien von Projektilgeschütztürmen.\", \n    \"description_en-us\": \"Projectile turret batteries.\", \n    \"description_es\": \"Baterías de torretas de proyectiles.\", \n    \"description_fr\": \"Batteries de tourelles à projectiles.\", \n    \"description_it\": \"Projectile turret batteries.\", \n    \"description_ja\": \"プロジェクタイルタレット兵器。\", \n    \"description_ko\": \"발사체 포탑입니다.\", \n    \"description_ru\": \"Батареи, оснащённые баллистическими орудиями.\", \n    \"description_zh\": \"射弹炮台。\", \n    \"descriptionID\": 64767, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Projektilbatterien\", \n    \"name_en-us\": \"Projectile Batteries\", \n    \"name_es\": \"Baterías de proyectiles\", \n    \"name_fr\": \"Batteries à projectiles\", \n    \"name_it\": \"Projectile Batteries\", \n    \"name_ja\": \"プロジェクタイル砲台\", \n    \"name_ko\": \"발사체 포탑\", \n    \"name_ru\": \"Батареи баллистических орудий\", \n    \"name_zh\": \"射弹炮塔\", \n    \"nameID\": 65841, \n    \"parentGroupID\": 480\n  }, \n  \"595\": {\n    \"description_de\": \"Batterien von Hybridgeschütztürmen.\", \n    \"description_en-us\": \"Hybrid turret batteries.\", \n    \"description_es\": \"Baterías de torretas híbridas.\", \n    \"description_fr\": \"Batteries de tourelles hybrides.\", \n    \"description_it\": \"Hybrid turret batteries.\", \n    \"description_ja\": \"ハイブリッドタレット兵器。\", \n    \"description_ko\": \"하이브리드 포탑입니다.\", \n    \"description_ru\": \"Батареи орудий гибридного действия.\", \n    \"description_zh\": \"混合弹药类别的炮台。\", \n    \"descriptionID\": 64768, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Hybridbatterien\", \n    \"name_en-us\": \"Hybrid Batteries\", \n    \"name_es\": \"Baterías híbridas\", \n    \"name_fr\": \"Batteries hybrides\", \n    \"name_it\": \"Hybrid Batteries\", \n    \"name_ja\": \"ハイブリッド砲台\", \n    \"name_ko\": \"하이브리드 포탑\", \n    \"name_ru\": \"Батареи гибридных орудий\", \n    \"name_zh\": \"混合炮塔\", \n    \"nameID\": 65842, \n    \"parentGroupID\": 480\n  }, \n  \"596\": {\n    \"description_de\": \"Batterien von Lasergeschütztürmen.\", \n    \"description_en-us\": \"Laser turret batteries.\", \n    \"description_es\": \"Baterías de torretas láser.\", \n    \"description_fr\": \"Batteries de tourelles à laser.\", \n    \"description_it\": \"Laser turret batteries.\", \n    \"description_ja\": \"レーザータレット兵器。\", \n    \"description_ko\": \"레이저 포탑입니다.\", \n    \"description_ru\": \"Батареи лазерных орудий.\", \n    \"description_zh\": \"激光炮台。\", \n    \"descriptionID\": 64769, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Laserbatterien\", \n    \"name_en-us\": \"Laser Batteries\", \n    \"name_es\": \"Baterías láser\", \n    \"name_fr\": \"Batteries de lasers\", \n    \"name_it\": \"Laser Batteries\", \n    \"name_ja\": \"レーザー砲台\", \n    \"name_ko\": \"레이저 포탑\", \n    \"name_ru\": \"Батареи лазерных орудий\", \n    \"name_zh\": \"激光炮塔\", \n    \"nameID\": 65843, \n    \"parentGroupID\": 480\n  }, \n  \"597\": {\n    \"description_de\": \"Blueprints von für Capital-Schiffe typischer Projektilmunition.\", \n    \"description_en-us\": \"Blueprints of capital-sized projectile ammunition.\", \n    \"description_es\": \"Planos de munición de proyectiles para naves de tamaño capital.\", \n    \"description_fr\": \"Plans de construction de projectiles adaptés aux armes des vaisseaux capitaux.\", \n    \"description_it\": \"Blueprints of capital-sized projectile ammunition.\", \n    \"description_ja\": \"キャピタル級プロジェクタイル弾のブループリント。\", \n    \"description_ko\": \"캐피탈함급 발사체 탄약 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи огнестрельных боеприпасов для кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰炮使用的射弹弹药蓝图。\", \n    \"descriptionID\": 64770, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65844, \n    \"parentGroupID\": 299\n  }, \n  \"598\": {\n    \"description_de\": \"Blueprints von für Capital-Schiffe typischer Hybridmunition.\", \n    \"description_en-us\": \"Blueprints of capital-sized hybrid ammunition.\", \n    \"description_es\": \"Planos de munición híbrida para naves de tamaño capital.\", \n    \"description_fr\": \"Plans de construction de munitions hybrides adaptées aux armes des vaisseaux capitaux.\", \n    \"description_it\": \"Blueprints of capital-sized hybrid ammunition.\", \n    \"description_ja\": \"キャピタル級ハイブリッド弾のブループリント。\", \n    \"description_ko\": \"캐피탈함급 하이브리드 탄약 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи гибридных боеприпасов для кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰炮使用的混合弹药蓝图。\", \n    \"descriptionID\": 64771, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65845, \n    \"parentGroupID\": 300\n  }, \n  \"599\": {\n    \"description_de\": \"Blueprints von für Capital-Schiffe typischen Frequenzkristallen.\", \n    \"description_en-us\": \"Blueprints of capital-sized frequency crystals.\", \n    \"description_es\": \"Planos de cristales de frecuencia para naves de tamaño capital.\", \n    \"description_fr\": \"Plans de construction de cristaux de fréquence adaptés aux armes des vaisseaux capitaux.\", \n    \"description_it\": \"Blueprints of capital-sized frequency crystals.\", \n    \"description_ja\": \"母艦級周波数クリスタルのブループリント。\", \n    \"description_ko\": \"캐피탈함급 프리퀀시 크리스탈 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи частотных кристаллов для кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级激光器使用的频率晶体蓝图。\", \n    \"descriptionID\": 64772, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65846, \n    \"parentGroupID\": 301\n  }, \n  \"600\": {\n    \"description_de\": \"Für Capital-Schiffe typische Schildtransporteinheiten.\", \n    \"description_en-us\": \"Capital ship-sized shield transport units.\", \n    \"description_es\": \"Unidades de transporte de escudo para naves capitales.\", \n    \"description_fr\": \"Unités de transport de bouclier pour vaisseau capital.\", \n    \"description_it\": \"Capital ship-sized shield transport units.\", \n    \"description_ja\": \"主力艦級シールドトランスポートユニット。\", \n    \"description_ko\": \"캐피탈함급 실드 전송 장치입니다.\", \n    \"description_ru\": \"Системы  дистанционной накачки щита КБТ-класса.\", \n    \"description_zh\": \"旗舰级别护盾传送单元。\", \n    \"descriptionID\": 64773, \n    \"hasTypes\": 1, \n    \"iconID\": 86, \n    \"name_de\": \"Capital\", \n    \"name_en-us\": \"Capital\", \n    \"name_es\": \"Capital\", \n    \"name_fr\": \"Capital\", \n    \"name_it\": \"Capital\", \n    \"name_ja\": \"キャピタル\", \n    \"name_ko\": \"캐피탈\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 65847, \n    \"parentGroupID\": 128\n  }, \n  \"601\": {\n    \"description_de\": \"Für Schlachtschiffe typische Schildtransporteinheiten.\", \n    \"description_en-us\": \"Battleship-sized shield transport units.\", \n    \"description_es\": \"Unidades de transporte de escudo para naves de tamaño acorazado.\", \n    \"description_fr\": \"Unités de transport de bouclier pour cuirassé.\", \n    \"description_it\": \"Battleship-sized shield transport units.\", \n    \"description_ja\": \"戦艦級シールドトランスポートユニット。\", \n    \"description_ko\": \"배틀쉽급 실드 전송 장치입니다.\", \n    \"description_ru\": \"Системы дистанционной накачки щита, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"战列舰级别护盾传送单元。\", \n    \"descriptionID\": 64774, \n    \"hasTypes\": 1, \n    \"iconID\": 86, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65848, \n    \"parentGroupID\": 128\n  }, \n  \"602\": {\n    \"description_de\": \"Für Kreuzer typische Schildtransporteinheiten.\", \n    \"description_en-us\": \"Cruiser-sized shield transport units.\", \n    \"description_es\": \"Unidades de transporte de escudo para naves de tamaño crucero.\", \n    \"description_fr\": \"Unités de transport de bouclier pour croiseur.\", \n    \"description_it\": \"Cruiser-sized shield transport units.\", \n    \"description_ja\": \"巡洋艦級のシールドトランスポートユニット。\", \n    \"description_ko\": \"크루저급 실드 전송 장치입니다.\", \n    \"description_ru\": \"Системы дистанционной накачки щита, предназначенные для установки на крейсеры.\", \n    \"description_zh\": \"巡洋舰级别护盾传送单元。\", \n    \"descriptionID\": 64775, \n    \"hasTypes\": 1, \n    \"iconID\": 86, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65849, \n    \"parentGroupID\": 128\n  }, \n  \"603\": {\n    \"description_de\": \"Für Fregatten typische Schildtransporteinheiten.\", \n    \"description_en-us\": \"Frigate-sized shield transport units.\", \n    \"description_es\": \"Unidades de transporte de escudo para naves de tamaño fragata.\", \n    \"description_fr\": \"Unités de transport de bouclier pour frégate.\", \n    \"description_it\": \"Frigate-sized shield transport units.\", \n    \"description_ja\": \"フリゲート級シールドトランスポートユニット。\", \n    \"description_ko\": \"프리깃급 실드 전송 장치입니다.\", \n    \"description_ru\": \"Системы дистанционной накачки щита, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"护卫舰级别护盾传送单元。\", \n    \"descriptionID\": 64776, \n    \"hasTypes\": 1, \n    \"iconID\": 86, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65850, \n    \"parentGroupID\": 128\n  }, \n  \"604\": {\n    \"description_de\": \"Die kleinsten aller Schildtransporter, für den Fall, dass Stromnetz und CPU Mangelware sind.\", \n    \"description_en-us\": \"The smallest of the shield transporters, for when CPU and powergrid are scarce.\", \n    \"description_es\": \"El transportador de escudo más pequeño, para cuando la CPU y el sistema de potencia escasean.\", \n    \"description_fr\": \"Le plus petit des transporteurs de bouclier, pour ceux et celles dont le CPU et le réseau d'alimentation sont réduits.\", \n    \"description_it\": \"The smallest of the shield transporters, for when CPU and powergrid are scarce.\", \n    \"description_ja\": \"最も小型のシールドトランスポーター。CPUとパワーグリッドが乏しいときのために。\", \n    \"description_ko\": \"가장 작은 실드 전송기로 CPU 및 파워그리드가 부족할 시 사용됩니다.\", \n    \"description_ru\": \"Самые маленькие системы дистанционной накачки щита, потребляющие минимальное количество ресурсов процессора и мощности энергосети.\", \n    \"description_zh\": \"最小型的一种护盾转移装置，在能量栅格和CPU不够充足的情况下使用。\", \n    \"descriptionID\": 64777, \n    \"hasTypes\": 1, \n    \"iconID\": 86, \n    \"name_de\": \"Mikro\", \n    \"name_en-us\": \"Micro\", \n    \"name_es\": \"Micro\", \n    \"name_fr\": \"Micro\", \n    \"name_it\": \"Micro\", \n    \"name_ja\": \"超小型\", \n    \"name_ko\": \"마이크로\", \n    \"name_ru\": \"Сверхмалые\", \n    \"name_zh\": \"微型\", \n    \"nameID\": 65851, \n    \"parentGroupID\": 128\n  }, \n  \"605\": {\n    \"description_de\": \"Schildvergrößerungssysteme der Fregatten-Klasse.\", \n    \"description_en-us\": \"Frigate-class shield extension systems.\", \n    \"description_es\": \"Sistemas de extensión de escudo para fragatas.\", \n    \"description_fr\": \"Systèmes d'extension de bouclier de classe frégate.\", \n    \"description_it\": \"Frigate-class shield extension systems.\", \n    \"description_ja\": \"フリゲート級シールド拡張システム。\", \n    \"description_ko\": \"프리깃급 함선에서 사용되는 실드 확장장치입니다.\", \n    \"description_ru\": \"Системы расширения щита, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"护卫舰级别护盾扩展系统。\", \n    \"descriptionID\": 64778, \n    \"hasTypes\": 1, \n    \"iconID\": 1044, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65852, \n    \"parentGroupID\": 551\n  }, \n  \"606\": {\n    \"description_de\": \"Schildvergrößerungssysteme der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Cruiser-class shield extension systems.\", \n    \"description_es\": \"Sistemas de extensión de escudo para cruceros.\", \n    \"description_fr\": \"Systèmes d'extension de bouclier de classe croiseur.\", \n    \"description_it\": \"Cruiser-class shield extension systems.\", \n    \"description_ja\": \"巡洋艦級シールド拡張システム。\", \n    \"description_ko\": \"크루저급 함선에서 사용되는 실드 확장장치입니다.\", \n    \"description_ru\": \"Системы расширения щита, предназначенные для установки на крейсеры.\", \n    \"description_zh\": \"巡洋舰级别的护盾扩展系统。\", \n    \"descriptionID\": 64779, \n    \"hasTypes\": 1, \n    \"iconID\": 1044, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65853, \n    \"parentGroupID\": 551\n  }, \n  \"608\": {\n    \"description_de\": \"Schildvergrößerungssysteme der Schlachtschiff-Klasse.\", \n    \"description_en-us\": \"Battleship-class shield extension systems.\", \n    \"description_es\": \"Sistemas de extensión de escudo para acorazados.\", \n    \"description_fr\": \"Systèmes d'extension de bouclier de classe cuirassé.\", \n    \"description_it\": \"Battleship-class shield extension systems.\", \n    \"description_ja\": \"戦艦級シールド拡張システム。\", \n    \"description_ko\": \"배틀쉽급 함선에서 사용되는 실드 확장장치입니다.\", \n    \"description_ru\": \"Системы расширения щита, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"战列舰级别护盾扩展系统。\", \n    \"descriptionID\": 64781, \n    \"hasTypes\": 1, \n    \"iconID\": 1044, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65855, \n    \"parentGroupID\": 551\n  }, \n  \"609\": {\n    \"description_de\": \"Schild-Verstärker der Fregatten-Klasse.\", \n    \"description_en-us\": \"Frigate-class shield boosters.\", \n    \"description_es\": \"Potenciadores de escudo para fragatas.\", \n    \"description_fr\": \"Boosters de bouclier de classe frégate.\", \n    \"description_it\": \"Frigate-class shield boosters.\", \n    \"description_ja\": \"フリゲート級シールドブースター。\", \n    \"description_ko\": \"프리깃급 함선에서 사용되는 실드 부스터입니다.\", \n    \"description_ru\": \"Системы накачки щита, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"护卫舰级别护盾回充增量器。\", \n    \"descriptionID\": 64782, \n    \"hasTypes\": 1, \n    \"iconID\": 84, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65856, \n    \"parentGroupID\": 552\n  }, \n  \"610\": {\n    \"description_de\": \"Schild-Verstärker der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Cruiser-class shield boosters.\", \n    \"description_es\": \"Potenciadores de escudo para cruceros.\", \n    \"description_fr\": \"Boosters de bouclier de classe croiseur.\", \n    \"description_it\": \"Cruiser-class shield boosters.\", \n    \"description_ja\": \"巡洋艦級シールドブースター。\", \n    \"description_ko\": \"크루저급 함선에서 사용되는 실드 부스터입니다.\", \n    \"description_ru\": \"Системы накачки щита, предназначенные для установки на крейсеры.\", \n    \"description_zh\": \"巡洋舰级别的护盾回充增量器。\", \n    \"descriptionID\": 64783, \n    \"hasTypes\": 1, \n    \"iconID\": 84, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65857, \n    \"parentGroupID\": 552\n  }, \n  \"611\": {\n    \"description_de\": \"Schildverstärker der Schlachtschiff-Klasse.\", \n    \"description_en-us\": \"Battleship-class shield boosters.\", \n    \"description_es\": \"Potenciadores de escudo para acorazados.\", \n    \"description_fr\": \"Boosters de bouclier de classe cuirassé.\", \n    \"description_it\": \"Battleship-class shield boosters.\", \n    \"description_ja\": \"戦艦級シールドブースター。\", \n    \"description_ko\": \"배틀쉽급 함선에서 사용되는 실드 부스터입니다.\", \n    \"description_ru\": \"Системы накачки щита, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"战列舰级别护盾回充增量器。\", \n    \"descriptionID\": 64784, \n    \"hasTypes\": 1, \n    \"iconID\": 84, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65858, \n    \"parentGroupID\": 552\n  }, \n  \"612\": {\n    \"description_de\": \"Überladener Schild-Verstärker für fortschrittliche Schlachtschiff-Piloten.\", \n    \"description_en-us\": \"Supercharged shield boosting units for advanced battleship pilots.\", \n    \"description_es\": \"Unidades potenciadoras supercargadas para escudos de acorazados avanzados.\", \n    \"description_fr\": \"Boosters de bouclier ultra puissants destinés aux pilotes de cuirassés expérimentés.\", \n    \"description_it\": \"Supercharged shield boosting units for advanced battleship pilots.\", \n    \"description_ja\": \"高性能戦艦パイロット用のスーパーチャージシールドブースターユニット。\", \n    \"description_ko\": \"상급 배틀쉽 파일럿들이 사용하는 과속 실드 부스터 장치입니다.\", \n    \"description_ru\": \"Сверхпроизводительные системы накачки щита для пилотов усовершенствованных линкоров.\", \n    \"description_zh\": \"先进战舰飞行员使用的超载荷护盾增效单元。\", \n    \"descriptionID\": 64785, \n    \"hasTypes\": 1, \n    \"iconID\": 84, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Большие-плюс\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65859, \n    \"parentGroupID\": 552\n  }, \n  \"613\": {\n    \"description_de\": \"Konzentrieren und vergrößern die Effektivität von Schild verstärkenden Modulen.\", \n    \"description_en-us\": \"Focus and amplify the efficiency of shield boosting modules.\", \n    \"description_es\": \"Amplifican la eficiencia de los módulos potenciadores de escudos.\", \n    \"description_fr\": \"Concentre et optimise l'efficacité des modules d'amplification des boucliers.\", \n    \"description_it\": \"Focus and amplify the efficiency of shield boosting modules.\", \n    \"description_ja\": \"シールドブースター用モジュールの効果を集結させて、威力を高める。\", \n    \"description_ko\": \"실드 부스터 모듈을 증폭하는 장치입니다.\", \n    \"description_ru\": \"Фокусирует и увеличивает эффективность действия модулей накачки щита.\", \n    \"description_zh\": \"集中并增强护盾回充增量设备的效能。\", \n    \"descriptionID\": 64786, \n    \"hasTypes\": 1, \n    \"iconID\": 84, \n    \"name_de\": \"Boostverstärker\", \n    \"name_en-us\": \"Boost Amplifiers\", \n    \"name_es\": \"Amplificadores de potenciador\", \n    \"name_fr\": \"Amplificateurs de boost\", \n    \"name_it\": \"Boost Amplifiers\", \n    \"name_ja\": \"ブースト増幅器\", \n    \"name_ko\": \"부스터 증폭기\", \n    \"name_ru\": \"Усилители накачки\", \n    \"name_zh\": \"护盾回充增量放大器\", \n    \"nameID\": 65860, \n    \"parentGroupID\": 552\n  }, \n  \"614\": {\n    \"description_de\": \"Beleg für die erfolgreiche Arbeit eines Kopfgeldjägers\", \n    \"description_en-us\": \"Proof positive of a bounty hunter's job well done\", \n    \"description_es\": \"Prueba fehaciente de que el cazarrecompensas ha hecho bien su trabajo.\", \n    \"description_fr\": \"Preuves attestant que le travail du chasseur de prime a bien été fait\", \n    \"description_it\": \"Proof positive of a bounty hunter's job well done\", \n    \"description_ja\": \"賞金稼ぎが無事に仕事を終えた証\", \n    \"description_ko\": \"현상금 사냥꾼이 의뢰를 완수했음을 알리는 증거품입니다.\", \n    \"description_ru\": \"Веское доказательство выполненной работы охотника за головами.\", \n    \"description_zh\": \"证明赏金猎人成功完成任务的证据\", \n    \"descriptionID\": 64787, \n    \"hasTypes\": 0, \n    \"iconID\": 2302, \n    \"name_de\": \"Beweismaterial\", \n    \"name_en-us\": \"Criminal Evidence\", \n    \"name_es\": \"Pruebas criminales\", \n    \"name_fr\": \"Preuves criminelles\", \n    \"name_it\": \"Criminal Evidence\", \n    \"name_ja\": \"犯罪証拠品\", \n    \"name_ko\": \"범죄자 관련 증거품\", \n    \"name_ru\": \"Вещественные доказательства\", \n    \"name_zh\": \"犯罪证物\", \n    \"nameID\": 65861, \n    \"parentGroupID\": 19\n  }, \n  \"615\": {\n    \"description_de\": \"Eindämmungsfeld-Emitter und Entlastungssysteme zur Vermeidung kritischen Systemschadens.\", \n    \"description_en-us\": \"Containment field emitters and redundancy systems for prevention of critical system damage.\", \n    \"description_es\": \"Emisores de campo de contención y sistemas redundantes para la prevención de daños críticos al sistema.\", \n    \"description_fr\": \"Des émetteurs de champ de confinement et des systèmes redondants permettant d’éviter tout dégât critique de l'appareil.\", \n    \"description_it\": \"Containment field emitters and redundancy systems for prevention of critical system damage.\", \n    \"description_ja\": \"システムへの深刻なダメージを防ぐ、コンテインメントフィールドエミッタおよび冗長システム。\", \n    \"description_ko\": \"시스템에 대한 치명적인 손상을 방지하기 위한 차단 필드 생성기 및 보조 시스템입니다.\", \n    \"description_ru\": \"Содержат источники поля сдерживания и резервные системы для предотвращения критичных повреждений.\", \n    \"description_zh\": \"包围力场发射装置，配备有冗余系统来防止严重的系统损伤。\", \n    \"descriptionID\": 64788, \n    \"hasTypes\": 1, \n    \"iconID\": 77, \n    \"name_de\": \"Schadensregulierer\", \n    \"name_en-us\": \"Damage Controls\", \n    \"name_es\": \"Controles de daños\", \n    \"name_fr\": \"Contrôles des dégâts\", \n    \"name_it\": \"Damage Controls\", \n    \"name_ja\": \"ダメージ制御機\", \n    \"name_ko\": \"데미지 컨트롤\", \n    \"name_ru\": \"Модули боевой живучести\", \n    \"name_zh\": \"损伤控制\", \n    \"nameID\": 65862, \n    \"parentGroupID\": 14\n  }, \n  \"616\": {\n    \"description_de\": \"Auf DNS geprägte, persönliche Erkennungsmarken, die von den imperialen Navies benutzt werden. Mit Vorsicht transportieren\", \n    \"description_en-us\": \"DNA-imprinted personal insignias, used by empire navies. Transport with caution\", \n    \"description_es\": \"Insignias personales con la impronta genética que usan las armadas imperiales. Hay que transportarlas con precaución.\", \n    \"description_fr\": \"Insignes personnels gravés sur l'ADN et utilisés par les navy impériales Transporter avec précaution\", \n    \"description_it\": \"DNA-imprinted personal insignias, used by empire navies. Transport with caution\", \n    \"description_ja\": \"DNAが組み込まれた、帝国海軍の記章。輸送には注意が必要\", \n    \"description_ko\": \"DNA가 각인된 휘장으로 각 국가의 해군에서 사용합니다. 수송 시 상당한 주의가 요망됩니다.\", \n    \"description_ru\": \"Личные жетоны с ДНК-шифром, используемые во флотах сверхдержав. Перевозить с осторожностью\", \n    \"description_zh\": \"帝国海军使用的记录有DNA特征的个人徽章。请小心运输\", \n    \"descriptionID\": 64789, \n    \"hasTypes\": 0, \n    \"iconID\": 2552, \n    \"name_de\": \"Erkennungsmarken\", \n    \"name_en-us\": \"Insignias\", \n    \"name_es\": \"Insignias\", \n    \"name_fr\": \"Insignes\", \n    \"name_it\": \"Insignias\", \n    \"name_ja\": \"認識証\", \n    \"name_ko\": \"계급장\", \n    \"name_ru\": \"Идентификаторы\", \n    \"name_zh\": \"徽章\", \n    \"nameID\": 65863, \n    \"parentGroupID\": 19\n  }, \n  \"617\": {\n    \"description_de\": \"Blaupausen von XL Torpedos.\", \n    \"description_en-us\": \"Blueprints of XL torpedoes.\", \n    \"description_es\": \"Planos de torpedos XL.\", \n    \"description_fr\": \"Plans de construction de torpilles XL.\", \n    \"description_it\": \"Blueprints of XL torpedoes.\", \n    \"description_ja\": \"XLトルピードのブループリント。\", \n    \"description_ko\": \"XL 토피도 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи торпед сверхбольшой мощности.\", \n    \"description_zh\": \"超大型鱼雷\", \n    \"descriptionID\": 65070, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"XL Torpedos\", \n    \"name_en-us\": \"XL Torpedoes\", \n    \"name_es\": \"Torpedos XL\", \n    \"name_fr\": \"Torpilles XL\", \n    \"name_it\": \"XL Torpedoes\", \n    \"name_ja\": \"XLトルピード\", \n    \"name_ko\": \"XL 토피도\", \n    \"name_ru\": \"Сверхбольшие торпеды\", \n    \"name_zh\": \"超大型鱼雷\", \n    \"nameID\": 66144, \n    \"parentGroupID\": 314\n  }, \n  \"618\": {\n    \"description_de\": \"Implantate für den Subcervical Processing-Slot 1.\", \n    \"description_en-us\": \"Implants intended for Subcervical Processing Slot 1.\", \n    \"description_es\": \"Implantes para la ranura de procesamiento subcervical 1.\", \n    \"description_fr\": \"Implants destinés au point de traitement sous-cervical 1.\", \n    \"description_it\": \"Implants intended for Subcervical Processing Slot 1.\", \n    \"description_ja\": \"頚下部プロセッシングスロット 1 用インプラント。\", \n    \"description_ko\": \"경추 프로세스 슬롯 1 에 장착할 수 있는 임플란트입니다.\", \n    \"description_ru\": \"Имплантаты, предназначенные для установки в подзатылочный разъем интерфейса №1.\", \n    \"description_zh\": \"用于颈下植入体插槽1。\", \n    \"descriptionID\": 64790, \n    \"hasTypes\": 1, \n    \"iconID\": 2053, \n    \"name_de\": \"Implantat-Slot 01\", \n    \"name_en-us\": \"Implant Slot 01\", \n    \"name_es\": \"Ranura de implante 01\", \n    \"name_fr\": \"Emplacement d'implant 01\", \n    \"name_it\": \"Implant Slot 01\", \n    \"name_ja\": \"インプラントスロット01\", \n    \"name_ko\": \"임플란트 슬롯 01\", \n    \"name_ru\": \"Для разъёма №1\", \n    \"name_zh\": \"植入体插槽 01\", \n    \"nameID\": 65864, \n    \"parentGroupID\": 532\n  }, \n  \"619\": {\n    \"description_de\": \"Implantate für den Subcervical Processing-Slot 2.\", \n    \"description_en-us\": \"Implants intended for Subcervical Processing Slot 2.\", \n    \"description_es\": \"Implantes para la ranura de procesamiento subcervical 2.\", \n    \"description_fr\": \"Implants destinés au point de traitement sous-cervical 2.\", \n    \"description_it\": \"Implants intended for Subcervical Processing Slot 2.\", \n    \"description_ja\": \"頚下部プロセッシングスロット 2 用インプラント。\", \n    \"description_ko\": \"경추 프로세스 슬롯 2 에 장착할 수 있는 임플란트입니다.\", \n    \"description_ru\": \"Имплантаты, предназначенные для установки в подзатылочный разъем интерфейса №2.\", \n    \"description_zh\": \"用于颈下植入体插槽2。\", \n    \"descriptionID\": 64791, \n    \"hasTypes\": 1, \n    \"iconID\": 2061, \n    \"name_de\": \"Implantat-Slot 02\", \n    \"name_en-us\": \"Implant Slot 02\", \n    \"name_es\": \"Ranura de implante 02\", \n    \"name_fr\": \"Emplacement d'implant 02\", \n    \"name_it\": \"Implant Slot 02\", \n    \"name_ja\": \"インプラントスロット02\", \n    \"name_ko\": \"임플란트 슬롯 02\", \n    \"name_ru\": \"Для разъёма №2\", \n    \"name_zh\": \"植入体插槽 02\", \n    \"nameID\": 65865, \n    \"parentGroupID\": 532\n  }, \n  \"620\": {\n    \"description_de\": \"Implantate für den Subcervical Processing-Slot 3.\", \n    \"description_en-us\": \"Implants intended for Subcervical Processing Slot 3.\", \n    \"description_es\": \"Implantes para la ranura de procesamiento subcervical 3.\", \n    \"description_fr\": \"Implants destinés au point de traitement sous-cervical 3.\", \n    \"description_it\": \"Implants intended for Subcervical Processing Slot 3.\", \n    \"description_ja\": \"頚下部プロセッシングスロット 3 用インプラント。\", \n    \"description_ko\": \"경추 프로세스 슬롯 3 에 장착할 수 있는 임플란트입니다.\", \n    \"description_ru\": \"Имплантаты, предназначенные для установки в подзатылочный разъем интерфейса №3.\", \n    \"description_zh\": \"用于颈下植入体插槽3。\", \n    \"descriptionID\": 64792, \n    \"hasTypes\": 1, \n    \"iconID\": 2054, \n    \"name_de\": \"Implantat-Slot 03\", \n    \"name_en-us\": \"Implant Slot 03\", \n    \"name_es\": \"Ranura de implante 03\", \n    \"name_fr\": \"Emplacement d'implant 03\", \n    \"name_it\": \"Implant Slot 03\", \n    \"name_ja\": \"インプラントスロット03\", \n    \"name_ko\": \"임플란트 슬롯 03\", \n    \"name_ru\": \"Для разъёма №3\", \n    \"name_zh\": \"植入体插槽 03\", \n    \"nameID\": 65866, \n    \"parentGroupID\": 532\n  }, \n  \"621\": {\n    \"description_de\": \"Implantate für den Subcervical Processing-Slot 4.\", \n    \"description_en-us\": \"Implants intended for Subcervical Processing Slot 4.\", \n    \"description_es\": \"Implantes para la ranura de procesamiento subcervical 4.\", \n    \"description_fr\": \"Implants destinés au point de traitement sous-cervical 4.\", \n    \"description_it\": \"Implants intended for Subcervical Processing Slot 4.\", \n    \"description_ja\": \"頚下部プロセッシングスロット 4 用インプラント。\", \n    \"description_ko\": \"경추 프로세스 슬롯 4 에 장착할 수 있는 임플란트입니다.\", \n    \"description_ru\": \"Имплантаты, предназначенные для установки в подзатылочный разъем интерфейса №4.\", \n    \"description_zh\": \"用于颈下植入体插槽4。\", \n    \"descriptionID\": 64793, \n    \"hasTypes\": 1, \n    \"iconID\": 2062, \n    \"name_de\": \"Implantat-Slot 04\", \n    \"name_en-us\": \"Implant Slot 04\", \n    \"name_es\": \"Ranura de implante 04\", \n    \"name_fr\": \"Emplacement d'implant 04\", \n    \"name_it\": \"Implant Slot 04\", \n    \"name_ja\": \"インプラントスロット04\", \n    \"name_ko\": \"임플란트 슬롯 04\", \n    \"name_ru\": \"Для разъёма №4\", \n    \"name_zh\": \"植入体插槽 04\", \n    \"nameID\": 65867, \n    \"parentGroupID\": 532\n  }, \n  \"622\": {\n    \"description_de\": \"Implantate für den Subcervical Processing-Slot 5.\", \n    \"description_en-us\": \"Implants intended for Subcervical Processing Slot 5.\", \n    \"description_es\": \"Implantes para la ranura de procesamiento subcervical 5.\", \n    \"description_fr\": \"Implants destinés au point de traitement sous-cervical 5.\", \n    \"description_it\": \"Implants intended for Subcervical Processing Slot 5.\", \n    \"description_ja\": \"頚下部プロセッシングスロット 5 用インプラント。\", \n    \"description_ko\": \"경추 프로세스 슬롯 5 에 장착할 수 있는 임플란트입니다.\", \n    \"description_ru\": \"Имплантаты, предназначенные для установки в подзатылочный разъем интерфейса №5.\", \n    \"description_zh\": \"用于颈下植入体插槽5。\", \n    \"descriptionID\": 64794, \n    \"hasTypes\": 1, \n    \"iconID\": 2060, \n    \"name_de\": \"Implantat-Slot 05\", \n    \"name_en-us\": \"Implant Slot 05\", \n    \"name_es\": \"Ranura de implante 05\", \n    \"name_fr\": \"Emplacement d'implant 05\", \n    \"name_it\": \"Implant Slot 05\", \n    \"name_ja\": \"インプラントスロット05\", \n    \"name_ko\": \"임플란트 슬롯 05\", \n    \"name_ru\": \"Для разъёма №5\", \n    \"name_zh\": \"植入体插槽 05\", \n    \"nameID\": 65868, \n    \"parentGroupID\": 532\n  }, \n  \"629\": {\n    \"description_de\": \"Fortgeschrittene Technologien für den Transport von wertvollen Materialien.\", \n    \"description_en-us\": \"Advanced technologies for the transportation of valuable materials.\", \n    \"description_es\": \"Tecnologías avanzadas para el transporte de materiales valiosos.\", \n    \"description_fr\": \"Des technologies avancées au service du transport de marchandises de valeur.\", \n    \"description_it\": \"Advanced technologies for the transportation of valuable materials.\", \n    \"description_ja\": \"貴重な資源を輸送するための高度なテクノロジー。\", \n    \"description_ko\": \"자원을 수송하기 위한 화물 운송 기술이 적용된 함선입니다.\", \n    \"description_ru\": \"Современные технологии на службе транспортировки ценных материалов.\", \n    \"description_zh\": \"运输宝贵物资所需的先进技术。\", \n    \"descriptionID\": 65268, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Transportschiffe\", \n    \"name_en-us\": \"Transport Ships\", \n    \"name_es\": \"Naves de transporte\", \n    \"name_fr\": \"Vaisseaux de transport\", \n    \"name_it\": \"Transport Ships\", \n    \"name_ja\": \"特化型輸送艦\", \n    \"name_ko\": \"트랜스포터\", \n    \"name_ru\": \"Транспортные корабли\", \n    \"name_zh\": \"运输舰\", \n    \"nameID\": 66342, \n    \"parentGroupID\": 1385\n  }, \n  \"630\": {\n    \"description_de\": \"Amarr-Transportschiff-Designs.\", \n    \"description_en-us\": \"Amarr transport ship designs.\", \n    \"description_es\": \"Diseños de naves de transporte amarrianas.\", \n    \"description_fr\": \"Modèles de vaisseaux de transport amarr.\", \n    \"description_it\": \"Amarr transport ship designs.\", \n    \"description_ja\": \"アマー輸送船設計図。\", \n    \"description_ko\": \"아마르 트랜스포터 설계입니다.\", \n    \"description_ru\": \"Транспортные корабли разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛运输舰设计\", \n    \"descriptionID\": 64795, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65869, \n    \"parentGroupID\": 629\n  }, \n  \"631\": {\n    \"description_de\": \"Caldari-Transportschiff-Designs.\", \n    \"description_en-us\": \"Caldari transport ship designs.\", \n    \"description_es\": \"Diseños de naves de transporte caldaris.\", \n    \"description_fr\": \"Modèles de vaisseaux de transport caldari.\", \n    \"description_it\": \"Caldari transport ship designs.\", \n    \"description_ja\": \"カルダリ特化型輸送艦設計図。\", \n    \"description_ko\": \"칼다리 트랜스포터 설계입니다.\", \n    \"description_ru\": \"Транспортные корабли разработки Государства Caldari.\", \n    \"description_zh\": \"加达里运输舰设计\", \n    \"descriptionID\": 64796, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65870, \n    \"parentGroupID\": 629\n  }, \n  \"632\": {\n    \"description_de\": \"Gallente-Transportschiff-Designs.\", \n    \"description_en-us\": \"Gallente transport ship designs.\", \n    \"description_es\": \"Diseños de naves de transporte gallentes.\", \n    \"description_fr\": \"Modèles de vaisseaux de transport gallente.\", \n    \"description_it\": \"Gallente transport ship designs.\", \n    \"description_ja\": \"ガレンテ輸送船設計図。\", \n    \"description_ko\": \"갈란테 트랜스포터 설계입니다.\", \n    \"description_ru\": \"Транспортные корабли разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特运输舰设计\", \n    \"descriptionID\": 64797, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65871, \n    \"parentGroupID\": 629\n  }, \n  \"633\": {\n    \"description_de\": \"Minmatar Transportschiff-Designs.\", \n    \"description_en-us\": \"Minmatar transport ship designs.\", \n    \"description_es\": \"Diseños de naves de transporte minmatarianas.\", \n    \"description_fr\": \"Modèles de vaisseaux de transport minmatar.\", \n    \"description_it\": \"Minmatar transport ship designs.\", \n    \"description_ja\": \"ミンマター特化型輸送艦設計図。\", \n    \"description_ko\": \"민마타 트랜스포터 설계입니다.\", \n    \"description_ru\": \"Транспортные корабли разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔运输舰设计\", \n    \"descriptionID\": 64798, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65872, \n    \"parentGroupID\": 629\n  }, \n  \"634\": {\n    \"description_de\": \"Blueprints von Schiffen der Transport-Klasse.\", \n    \"description_en-us\": \"Blueprints of transport-class vessels.\", \n    \"description_es\": \"Planos de naves de transporte.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de transport.\", \n    \"description_it\": \"Blueprints of transport-class vessels.\", \n    \"description_ja\": \"輸送級艦船のブループリント。\", \n    \"description_ko\": \"수송선급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи транспортных кораблей.\", \n    \"description_zh\": \"运输舰级别船只的蓝图。\", \n    \"descriptionID\": 64799, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Transportschiffe\", \n    \"name_en-us\": \"Transport Ships\", \n    \"name_es\": \"Naves de transporte\", \n    \"name_fr\": \"Vaisseaux de transport\", \n    \"name_it\": \"Transport Ships\", \n    \"name_ja\": \"特化型輸送艦\", \n    \"name_ko\": \"트랜스포터\", \n    \"name_ru\": \"Транспортные корабли\", \n    \"name_zh\": \"运输舰\", \n    \"nameID\": 65873, \n    \"parentGroupID\": 204\n  }, \n  \"635\": {\n    \"description_de\": \"Blueprints von Amarr-Transportschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr transport designs.\", \n    \"description_es\": \"Planos de diseños de naves de transporte amarrianas.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux de transport amarr.\", \n    \"description_it\": \"Blueprints of Amarr transport designs.\", \n    \"description_ja\": \"アマートランスポート設計図のブループリント。\", \n    \"description_ko\": \"아마르 수송선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи транспортных кораблей разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛运输舰设计蓝图\", \n    \"descriptionID\": 64800, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65874, \n    \"parentGroupID\": 634\n  }, \n  \"636\": {\n    \"description_de\": \"Blueprints von Caldari-Transportschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari transport designs.\", \n    \"description_es\": \"Planos de diseños de naves de transporte caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux de transport caldari.\", \n    \"description_it\": \"Blueprints of Caldari transport designs.\", \n    \"description_ja\": \"カルダリトランスポート設計図のブループリント。\", \n    \"description_ko\": \"칼다리 수송선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи транспортных кораблей разработки Государства Caldari.\", \n    \"description_zh\": \"加达里运输舰设计蓝图\", \n    \"descriptionID\": 64801, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65875, \n    \"parentGroupID\": 634\n  }, \n  \"637\": {\n    \"description_de\": \"Blueprints von Gallente-Transportschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente transport designs.\", \n    \"description_es\": \"Planos de diseños de naves de transporte gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux de transport gallente.\", \n    \"description_it\": \"Blueprints of Gallente transport designs.\", \n    \"description_ja\": \"ガレンテトランスポート設計図のブループリント。\", \n    \"description_ko\": \"갈란테 수송선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи транспортных кораблей разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特运输舰设计蓝图\", \n    \"descriptionID\": 64802, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65876, \n    \"parentGroupID\": 634\n  }, \n  \"638\": {\n    \"description_de\": \"Blueprints von Minmatar-Transport-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar transport designs.\", \n    \"description_es\": \"Planos de diseños de naves de transporte minmatarianas.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux de transport minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar transport designs.\", \n    \"description_ja\": \"ミンマタートランスポート設計図のブループリント。\", \n    \"description_ko\": \"민마타 수송선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи транспортных кораблей разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔运输舰设计蓝图。\", \n    \"descriptionID\": 64803, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65877, \n    \"parentGroupID\": 634\n  }, \n  \"639\": {\n    \"description_de\": \"Zum Abschuss von sich schnell bewegenden Raketen-Projektilen.\", \n    \"description_en-us\": \"For the launching of swift-moving rocket projectiles.\", \n    \"description_es\": \"Para lanzar proyectiles autopropulsados de gran velocidad.\", \n    \"description_fr\": \"Pour lancer des projectiles rapides de type roquette.\", \n    \"description_it\": \"For the launching of swift-moving rocket projectiles.\", \n    \"description_ja\": \"高速ロケットプロジェクタイルの発射用。\", \n    \"description_ko\": \"고속 로켓 미사일을 사출하는 런처입니다.\", \n    \"description_ru\": \"Применяются для запуска быстрых ракет ближнего боя.\", \n    \"description_zh\": \"火箭发射器\", \n    \"descriptionID\": 64804, \n    \"hasTypes\": 1, \n    \"iconID\": 1345, \n    \"name_de\": \"Raketenwerfer\", \n    \"name_en-us\": \"Rocket Launchers\", \n    \"name_es\": \"Lanzacohetes\", \n    \"name_fr\": \"Lance-roquettes\", \n    \"name_it\": \"Rocket Launchers\", \n    \"name_ja\": \"ロケットランチャー\", \n    \"name_ko\": \"로켓 런처\", \n    \"name_ru\": \"Лёгкие штурмовые\", \n    \"name_zh\": \"火箭发射器\", \n    \"nameID\": 65878, \n    \"parentGroupID\": 140\n  }, \n  \"640\": {\n    \"description_de\": \"Zum Abschuss von leichten Raketen.\", \n    \"description_en-us\": \"For the launching of light missiles.\", \n    \"description_es\": \"Para lanzar misiles ligeros.\", \n    \"description_fr\": \"Pour lancer des missiles légers.\", \n    \"description_it\": \"For the launching of light missiles.\", \n    \"description_ja\": \"ライトミサイルの発射用。\", \n    \"description_ko\": \"라이트 미사일을 발사하는 런처입니다.\", \n    \"description_ru\": \"Предназначены для пуска легких ракет.\", \n    \"description_zh\": \"用以发射轻型导弹。\", \n    \"descriptionID\": 64805, \n    \"hasTypes\": 1, \n    \"iconID\": 168, \n    \"name_de\": \"Leichte Lenkwaffenwerfer\", \n    \"name_en-us\": \"Light Missile Launchers\", \n    \"name_es\": \"Lanzamisiles ligeros\", \n    \"name_fr\": \"Lance-missiles légers\", \n    \"name_it\": \"Light Missile Launchers\", \n    \"name_ja\": \"ライトミサイルランチャー\", \n    \"name_ko\": \"라이트 미사일 런처\", \n    \"name_ru\": \"Лёгкие\", \n    \"name_zh\": \"轻型导弹发射器\", \n    \"nameID\": 65879, \n    \"parentGroupID\": 140\n  }, \n  \"641\": {\n    \"description_de\": \"Für Kreuzer typische, schnellfeuernde Standard-Missile-Geschütze.\", \n    \"description_en-us\": \"Fast-launching, cruiser-sized standard missile bays.\", \n    \"description_es\": \"Plataformas de lanzamiento rápido de misiles de crucero estándar.\", \n    \"description_fr\": \"Plateformes de lancement de missiles standard adaptées aux croiseurs, à fréquence de tir rapide.\", \n    \"description_it\": \"Fast-launching, cruiser-sized standard missile bays.\", \n    \"description_ja\": \"巡洋艦級の標準速射式ミサイルベイ。\", \n    \"description_ko\": \"크루저급에 탑재되는 급속 일반 미사일 런처입니다.\", \n    \"description_ru\": \"Стандартные скорострельные пусковые остановки для использования на крейсерах.\", \n    \"description_zh\": \"快速发射的、巡洋舰尺寸的标准导弹发射巢。\", \n    \"descriptionID\": 64806, \n    \"hasTypes\": 1, \n    \"iconID\": 1345, \n    \"name_de\": \"Schnelle leichte Lenkwaffenwerfer\", \n    \"name_en-us\": \"Rapid Light Missile Launchers\", \n    \"name_es\": \"Lanzamisiles ligeros rápidos\", \n    \"name_fr\": \"Lance-missiles légers rapides\", \n    \"name_it\": \"Rapid Light Missile Launchers\", \n    \"name_ja\": \"高速ライトミサイルランチャー\", \n    \"name_ko\": \"급속 라이트 미사일 런처\", \n    \"name_ru\": \"Скорострельные лёгкие\", \n    \"name_zh\": \"轻型快速导弹发射器\", \n    \"nameID\": 65880, \n    \"parentGroupID\": 140\n  }, \n  \"642\": {\n    \"description_de\": \"Zum Abschuss von schweren Raketen.\", \n    \"description_en-us\": \"For the launching of heavy missiles.\", \n    \"description_es\": \"Para lanzar misiles pesados.\", \n    \"description_fr\": \"Pour lancer des missiles lourds.\", \n    \"description_it\": \"For the launching of heavy missiles.\", \n    \"description_ja\": \"ヘビーミサイルの発射用。\", \n    \"description_ko\": \"헤비 미사일을 발사하는 런처입니다.\", \n    \"description_ru\": \"Пусковые установки, предназначенные для пуска тяжелых ракет.\", \n    \"description_zh\": \"用于发射重型导弹。\", \n    \"descriptionID\": 64807, \n    \"hasTypes\": 1, \n    \"iconID\": 169, \n    \"name_de\": \"Schwere Werfer\", \n    \"name_en-us\": \"Heavy Launchers\", \n    \"name_es\": \"Lanzadores pesados\", \n    \"name_fr\": \"Lance-missiles lourds\", \n    \"name_it\": \"Heavy Launchers\", \n    \"name_ja\": \"ヘビーランチャー\", \n    \"name_ko\": \"헤비 미사일 런처\", \n    \"name_ru\": \"Тяжёлые\", \n    \"name_zh\": \"重型发射器\", \n    \"nameID\": 65881, \n    \"parentGroupID\": 140\n  }, \n  \"643\": {\n    \"description_de\": \"Zum Abschuss von Cruise Missiles. Können auch mit Torpedos bestückt werden.\", \n    \"description_en-us\": \"For the launching of cruise missiles.  Can also fit torpedoes.\", \n    \"description_es\": \"Para lanzar misiles de crucero. También funciona con torpedos.\", \n    \"description_fr\": \"Pour lancer des missiles de croisière.  Peut également s'adapter aux torpilles.\", \n    \"description_it\": \"For the launching of cruise missiles.  Can also fit torpedoes.\", \n    \"description_ja\": \"クルーズミサイルの発射用。トルピードにも適合。\", \n    \"description_ko\": \"크루즈 미사일을 발사하는 런처입니다. 토피도 또한 탑재할 수 있습니다.\", \n    \"description_ru\": \"Служат для пуска ракет дальнего боя и, при необходимости, торпед.\", \n    \"description_zh\": \"用来发射巡航导弹的发射器。\", \n    \"descriptionID\": 64808, \n    \"hasTypes\": 1, \n    \"iconID\": 2530, \n    \"name_de\": \"Marschflugkörperwerfer\", \n    \"name_en-us\": \"Cruise Launchers\", \n    \"name_es\": \"Lanzacruceros\", \n    \"name_fr\": \"Lance-missiles de croisière\", \n    \"name_it\": \"Cruise Launchers\", \n    \"name_ja\": \"クルーズランチャー\", \n    \"name_ko\": \"크루즈 미사일 런처\", \n    \"name_ru\": \"Дальнобойные\", \n    \"name_zh\": \"巡航导弹发射器\", \n    \"nameID\": 65882, \n    \"parentGroupID\": 140\n  }, \n  \"644\": {\n    \"description_de\": \"Zum Abschuss von Torpedos und Cruise Missiles.\", \n    \"description_en-us\": \"For the launching of torpedoes and cruise missiles.\", \n    \"description_es\": \"Para lanzar torpedos y misiles de crucero.\", \n    \"description_fr\": \"Pour lancer des missiles de croisière et des torpilles.\", \n    \"description_it\": \"For the launching of torpedoes and cruise missiles.\", \n    \"description_ja\": \"トルピードおよびクルーズミサイルの発射用。\", \n    \"description_ko\": \"토피도 및 크루즈 미사일을 발사하는 런처입니다.\", \n    \"description_ru\": \"Для пуска торпед и ракет дальнего боя.\", \n    \"description_zh\": \"用于发射鱼雷。\", \n    \"descriptionID\": 64809, \n    \"hasTypes\": 1, \n    \"iconID\": 170, \n    \"name_de\": \"Torpedowerfer\", \n    \"name_en-us\": \"Torpedo Launchers\", \n    \"name_es\": \"Lanzatorpedos\", \n    \"name_fr\": \"Lance-torpilles\", \n    \"name_it\": \"Torpedo Launchers\", \n    \"name_ja\": \"トルピードランチャー\", \n    \"name_ko\": \"토피도 런처\", \n    \"name_ru\": \"Торпедные аппараты\", \n    \"name_zh\": \"鱼雷发射器\", \n    \"nameID\": 65883, \n    \"parentGroupID\": 140\n  }, \n  \"645\": {\n    \"description_de\": \"Systeme, konzipiert zur Verbesserung der Effizienz der Raketenwerfer.\", \n    \"description_en-us\": \"Systems designed to improve missile launcher efficiency.\", \n    \"description_es\": \"Sistemas diseñados para mejorar la eficiencia de los lanzamisiles.\", \n    \"description_fr\": \"Systèmes conçus pour améliorer l'efficacité des lance-missiles.\", \n    \"description_it\": \"Systems designed to improve missile launcher efficiency.\", \n    \"description_ja\": \"ミサイルランチャーの効率を高めるシステム。\", \n    \"description_ko\": \"미사일 런처 효율성을 향상시키는 시스템입니다.\", \n    \"description_ru\": \"Системы, разработанные для повышения эффективности пусковых ракетных установок.\", \n    \"description_zh\": \"提升导弹发射器的效率。\", \n    \"descriptionID\": 64810, \n    \"hasTypes\": 1, \n    \"iconID\": 21440, \n    \"name_de\": \"Ballistikkontrollsysteme\", \n    \"name_en-us\": \"Ballistic Control Systems\", \n    \"name_es\": \"Sistemas de control balístico\", \n    \"name_fr\": \"Systèmes de contrôle balistique\", \n    \"name_it\": \"Ballistic Control Systems\", \n    \"name_ja\": \"弾道制御装置\", \n    \"name_ko\": \"탄도 제어시스템\", \n    \"name_ru\": \"Приборы контроля траектории\", \n    \"name_zh\": \"弹道控制系统\", \n    \"nameID\": 65884, \n    \"parentGroupID\": 143\n  }, \n  \"646\": {\n    \"description_de\": \"Systeme, um die Projektilwaffeneffizienz zu steigern.\", \n    \"description_en-us\": \"Systems designed to improve projectile weapon efficiency.\", \n    \"description_es\": \"Sistemas diseñados para mejorar la eficiencia de las armas de proyectiles.\", \n    \"description_fr\": \"Systèmes conçus pour améliorer l'efficacité des armes à projectiles.\", \n    \"description_it\": \"Systems designed to improve projectile weapon efficiency.\", \n    \"description_ja\": \"プロジェクタイル兵器の効率を高めるシステム。\", \n    \"description_ko\": \"발사체 무기 효율성을 향상시키는 시스템입니다.\", \n    \"description_ru\": \"Системы, разработанные для повышения эффективности огнестрельного оружия.\", \n    \"description_zh\": \"这个系统专门被设计用来增强射弹武器的效能。\", \n    \"descriptionID\": 64811, \n    \"hasTypes\": 1, \n    \"iconID\": 26452, \n    \"name_de\": \"Kreiselstabilisatoren\", \n    \"name_en-us\": \"Gyrostabilizers\", \n    \"name_es\": \"Giroestabilizadores\", \n    \"name_fr\": \"Gyrostabilisateurs\", \n    \"name_it\": \"Gyrostabilizers\", \n    \"name_ja\": \"回転制御機\", \n    \"name_ko\": \"자이로 안정기\", \n    \"name_ru\": \"Гиростабилизаторы\", \n    \"name_zh\": \"回转稳定器\", \n    \"nameID\": 65885, \n    \"parentGroupID\": 143\n  }, \n  \"647\": {\n    \"description_de\": \"Systeme, um die Laserwaffeneffizienz zu steigern.\", \n    \"description_en-us\": \"Systems designed to improve laser weapon efficiency.\", \n    \"description_es\": \"Sistemas diseñados para mejorar la eficiencia de los láseres.\", \n    \"description_fr\": \"Systèmes conçus pour améliorer l'efficacité des armes laser.\", \n    \"description_it\": \"Systems designed to improve laser weapon efficiency.\", \n    \"description_ja\": \"レーザー兵器の効率を高めるシステム。\", \n    \"description_ko\": \"레이저 무기 효율성을 향상시키는 시스템입니다.\", \n    \"description_ru\": \"Системы, разработанные для повышения эффективности лазерного оружия.\", \n    \"description_zh\": \"这个系统专门被设计用来增强激光武器的效能。\", \n    \"descriptionID\": 64812, \n    \"hasTypes\": 1, \n    \"iconID\": 26453, \n    \"name_de\": \"Kühlkörper\", \n    \"name_en-us\": \"Heat Sinks\", \n    \"name_es\": \"Disipadores de calor\", \n    \"name_fr\": \"Dissipateurs thermiques\", \n    \"name_it\": \"Heat Sinks\", \n    \"name_ja\": \"放熱機\", \n    \"name_ko\": \"방열판\", \n    \"name_ru\": \"Радиаторы\", \n    \"name_zh\": \"散热槽\", \n    \"nameID\": 65886, \n    \"parentGroupID\": 143\n  }, \n  \"648\": {\n    \"description_de\": \"Systeme, die zur Verbesserung der Effizienz von Hybridwaffen gedacht sind.\", \n    \"description_en-us\": \"Systems designed to improve hybrid weapon efficiency.\", \n    \"description_es\": \"Sistemas diseñados para mejorar la eficiencia de las armas híbridas.\", \n    \"description_fr\": \"Systèmes conçus pour améliorer l'efficacité des armes hybrides.\", \n    \"description_it\": \"Systems designed to improve hybrid weapon efficiency.\", \n    \"description_ja\": \"ハイブリッド兵器の効率を高めるシステム。\", \n    \"description_ko\": \"하이브리드 무기 효율성을 향상시키는 시스템입니다.\", \n    \"description_ru\": \"Системы, разработанные для повышения эффективности орудий гибридного действия.\", \n    \"description_zh\": \"用于提高混合武器的效能。\", \n    \"descriptionID\": 64813, \n    \"hasTypes\": 1, \n    \"iconID\": 26454, \n    \"name_de\": \"Magnetfeldstabilisatoren\", \n    \"name_en-us\": \"Magnetic Field Stabilizers\", \n    \"name_es\": \"Estabilizadores de campo magnético\", \n    \"name_fr\": \"Stabilisateurs de champ magnétique\", \n    \"name_it\": \"Magnetic Field Stabilizers\", \n    \"name_ja\": \"磁場制御機\", \n    \"name_ko\": \"자기장 안정기\", \n    \"name_ru\": \"Стабилизаторы магнитного поля\", \n    \"name_zh\": \"磁性力场稳定器\", \n    \"nameID\": 65887, \n    \"parentGroupID\": 143\n  }, \n  \"655\": {\n    \"description_de\": \"Module die den Energiespeicher eines Raumschiffs beeinflussen und die Ausrüstungsmöglichkeiten modifizieren\", \n    \"description_en-us\": \"Modules that affect a spaceship's capacitor and modify fitting capabilities\", \n    \"description_es\": \"Módulos que afectan al condensador de la nave y modifican las posibilidades de equipamiento.\", \n    \"description_fr\": \"Modules qui affectent le capaciteur d'un vaisseau et modifient ses capacités de montage\", \n    \"description_it\": \"Modules that affect a spaceship's capacitor and modify fitting capabilities\", \n    \"description_ja\": \"艦船のキャパシタ、および装備に関する能力に影響を及ぼすモジュール\", \n    \"description_ko\": \"함선 캐패시터 및 피팅 기능을 개선하는 모듈입니다.\", \n    \"description_ru\": \"Модули, необходимые для модернизации силовой установки корабля\", \n    \"description_zh\": \"可以影响舰船电容器及改变装配能力的装备\", \n    \"descriptionID\": 64814, \n    \"hasTypes\": 0, \n    \"iconID\": 70, \n    \"name_de\": \"Ausrüstung für Ingenieurwesen\", \n    \"name_en-us\": \"Engineering Equipment\", \n    \"name_es\": \"Equipo de ingeniería\", \n    \"name_fr\": \"Équipement d'ingénierie\", \n    \"name_it\": \"Engineering Equipment\", \n    \"name_ja\": \"エンジニアリング系装備\", \n    \"name_ko\": \"엔지니어링 장비\", \n    \"name_ru\": \"Инженерное оборудование\", \n    \"name_zh\": \"工程装备\", \n    \"nameID\": 65888, \n    \"parentGroupID\": 9\n  }, \n  \"656\": {\n    \"description_de\": \"Module, die die Sensorleistung eines Raumschiffs stärken\", \n    \"description_en-us\": \"Modules that strengthen the sensory capabilities of a spaceship\", \n    \"description_es\": \"Módulos que refuerzan las capacidades sensoriales de la nave.\", \n    \"description_fr\": \"Modules qui renforcent les capacités de détection d'un vaisseau\", \n    \"description_it\": \"Modules that strengthen the sensory capabilities of a spaceship\", \n    \"description_ja\": \"艦船のセンサーの能力を強化するモジュール\", \n    \"description_ko\": \"함선 센서 성능을 강화하는 모듈입니다.\", \n    \"description_ru\": \"Модули, увеличивающие эффективность систем обнаружения и сопровождения целей\", \n    \"description_zh\": \"可以强化舰船的感应能力的装备\", \n    \"descriptionID\": 64815, \n    \"hasTypes\": 0, \n    \"iconID\": 104, \n    \"name_de\": \"Elektronik- & Sensorupgrades\", \n    \"name_en-us\": \"Electronics and Sensor Upgrades\", \n    \"name_es\": \"Mejoras electrónicas y de sensores\", \n    \"name_fr\": \"Améliorations des détecteurs et de l'électronique\", \n    \"name_it\": \"Electronics and Sensor Upgrades\", \n    \"name_ja\": \"エレクトロニクスとセンサー強化\", \n    \"name_ko\": \"전자기기 및 센서 업그레이드\", \n    \"name_ru\": \"Улучшения сенсоров и электронных систем\", \n    \"name_zh\": \"电子学和感应器升级\", \n    \"nameID\": 65889, \n    \"parentGroupID\": 9\n  }, \n  \"657\": {\n    \"description_de\": \"Module die die Leistung feindlicher Ziele stören und gegen selbige schützen\", \n    \"description_en-us\": \"Modules that can disrupt capabilities of enemy targets and defend against same\", \n    \"description_es\": \"Módulos capaces de inutilizar objetivos enemigos y defenderse de ellos.\", \n    \"description_fr\": \"Modules qui peuvent perturber les capacités des cibles ennemies et permettent de se défendre contre celles-ci\", \n    \"description_it\": \"Modules that can disrupt capabilities of enemy targets and defend against same\", \n    \"description_ja\": \"敵艦の何らかの機能を妨害する、防御用のモジュール\", \n    \"description_ko\": \"전자전 모듈은 적 타겟팅을 교란하거나 타겟팅 교란에 대한 저항력을 향상합니다.\", \n    \"description_ru\": \"Модули снижения эффективности враждебных целей и защиты от них\", \n    \"description_zh\": \"可以干扰敌对目标及防御敌方干扰的装备\", \n    \"descriptionID\": 64816, \n    \"hasTypes\": 0, \n    \"iconID\": 111, \n    \"name_de\": \"Elektronische Kriegsführung\", \n    \"name_en-us\": \"Electronic Warfare\", \n    \"name_es\": \"Guerra electrónica\", \n    \"name_fr\": \"Guerre électronique\", \n    \"name_it\": \"Electronic Warfare\", \n    \"name_ja\": \"電子戦\", \n    \"name_ko\": \"전자전 장비\", \n    \"name_ru\": \"Системы РЭБ\", \n    \"name_zh\": \"电子战\", \n    \"nameID\": 65890, \n    \"parentGroupID\": 9\n  }, \n  \"658\": {\n    \"description_de\": \"Überwachen und optimieren die Stromnetz- und Energiespeichersysteme.\", \n    \"description_en-us\": \"Monitor and optimize the power grid and capacitor systems.\", \n    \"description_es\": \"Hacen un seguimiento del sistema de potencia y el condensador y los optimizan.\", \n    \"description_fr\": \"Contrôlez et optimisez le réseau d'alimentation et le capaciteur.\", \n    \"description_it\": \"Monitor and optimize the power grid and capacitor systems.\", \n    \"description_ja\": \"パワーグリッドとキャパシタシステムをモニターし、最適化するシステム。\", \n    \"description_ko\": \"파워그리드 및 캐패시터 시스템을 최적화하는 진단 시스템입니다.\", \n    \"description_ru\": \"Системы, следящие за состоянием энергосети и конденсатора корабля и повышающие эффективность их работы.\", \n    \"description_zh\": \"监控和优化能源栅格和电容器系统。\", \n    \"descriptionID\": 64817, \n    \"hasTypes\": 1, \n    \"iconID\": 26546, \n    \"name_de\": \"Leistungsdiagnosesysteme\", \n    \"name_en-us\": \"Power Diagnostic Systems\", \n    \"name_es\": \"Sistemas de diagnóstico de energía\", \n    \"name_fr\": \"Systèmes de diagnostic de puissance\", \n    \"name_it\": \"Power Diagnostic Systems\", \n    \"name_ja\": \"パワー計測システム\", \n    \"name_ko\": \"전력 진단 시스템\", \n    \"name_ru\": \"Системы диагностики энергоснабжения\", \n    \"name_zh\": \"能源诊断系统\", \n    \"nameID\": 65891, \n    \"parentGroupID\": 655\n  }, \n  \"659\": {\n    \"description_de\": \"Lassen Energie-Kernstück-Optimierungsunterroutinen laufen, um maximale Effizienz zu erzielen.\", \n    \"description_en-us\": \"Run power core optimization subroutines for maximum efficiency.\", \n    \"description_es\": \"Ejecuta subrutinas de optimización del núcleo de potencia para lograr una eficiencia máxima.\", \n    \"description_fr\": \"Gère des routines d'optimisation du réacteur principal pour une efficacité maximale.\", \n    \"description_it\": \"Run power core optimization subroutines for maximum efficiency.\", \n    \"description_ja\": \"効率を最大化するために、パワーコア最適化サブルーチンを実行。\", \n    \"description_ko\": \"파워코어 최적화 서브루틴을 실행하여 효율성을 극대화시키는 장치입니다.\", \n    \"description_ru\": \"Выполняют процессы оптимизации силового ядра для достижения максимальной эффективности.\", \n    \"description_zh\": \"通过能源核心优化子系统来达到最大效率。\", \n    \"descriptionID\": 64818, \n    \"hasTypes\": 1, \n    \"iconID\": 26547, \n    \"name_de\": \"Reaktorkontrolleinheiten\", \n    \"name_en-us\": \"Reactor Control Units\", \n    \"name_es\": \"Unidades de control de reactor\", \n    \"name_fr\": \"Unité de contrôle du réacteur\", \n    \"name_it\": \"Reactor Control Units\", \n    \"name_ja\": \"リアクター制御装置\", \n    \"name_ko\": \"반응로 제어유닛\", \n    \"name_ru\": \"Системы управления реактором\", \n    \"name_zh\": \"反应堆控制单元\", \n    \"nameID\": 65892, \n    \"parentGroupID\": 655\n  }, \n  \"660\": {\n    \"description_de\": \"Ergänzungssysteme, die für eine pauschale Verstärkung der Kern-Energie sorgen.\", \n    \"description_en-us\": \"Supplementary systems providing a flat boost to powercore energy.\", \n    \"description_es\": \"Sistemas suplementarios que proporcionan un impulso constante al núcleo de potencia.\", \n    \"description_fr\": \"Systèmes supplémentaires fournissant une amplification énergétique stable au réacteur principal.\", \n    \"description_it\": \"Supplementary systems providing a flat boost to powercore energy.\", \n    \"description_ja\": \"パワーコアエネルギーを一時的に上昇させる補助システム。\", \n    \"description_ko\": \"파워코어 에너지 출력을 높여주는 보조 시스템입니다.\", \n    \"description_ru\": \"Дополнительные системы, обеспечивающие фиксированный прирост мощности силовой установки.\", \n    \"description_zh\": \"为能源核心提供少量额外输出的辅助系统。\", \n    \"descriptionID\": 65071, \n    \"hasTypes\": 1, \n    \"iconID\": 2105, \n    \"name_de\": \"Energiehilfssteuerung\", \n    \"name_en-us\": \"Auxiliary Power Controls\", \n    \"name_es\": \"Controles de potencia auxiliar\", \n    \"name_fr\": \"Réglages de l'alimentation auxiliaire\", \n    \"name_it\": \"Auxiliary Power Controls\", \n    \"name_ja\": \"補助パワー制御\", \n    \"name_ko\": \"보조 파워코어\", \n    \"name_ru\": \"Вспомогательные реакторы\", \n    \"name_zh\": \"辅助能量控制\", \n    \"nameID\": 66145, \n    \"parentGroupID\": 655\n  }, \n  \"661\": {\n    \"description_de\": \"Neutralisiert einen Teil der Energie im Energiespeicher eines Ziel-Schiffes.\", \n    \"description_en-us\": \"Neutralize a portion of the target ship's capacitor energy.\", \n    \"description_es\": \"Neutraliza parte de la energía del condensador de la nave objetivo.\", \n    \"description_fr\": \"Neutralise une partie de l'énergie du capaciteur du vaisseau cible.\", \n    \"description_it\": \"Neutralize a portion of the target ship's capacitor energy.\", \n    \"description_ja\": \"ターゲット艦船のキャパシタエネルギーの一部を無効化。\", \n    \"description_ko\": \"대상 함선의 캐패시터 에너지를 일정량 무력화하는 장치입니다.\", \n    \"description_ru\": \"Нейтрализует часть энергии конденсатора корабля-цели.\", \n    \"description_zh\": \"中和目标舰船的部分电容器能量。\", \n    \"descriptionID\": 65276, \n    \"hasTypes\": 0, \n    \"iconID\": 1283, \n    \"name_de\": \"Energieneutralisierer\", \n    \"name_en-us\": \"Energy Neutralizers\", \n    \"name_es\": \"Neutralizadores energéticos\", \n    \"name_fr\": \"Neutraliseurs d'énergie\", \n    \"name_it\": \"Energy Neutralizers\", \n    \"name_ja\": \"エネルギーニュートライザー\", \n    \"name_ko\": \"에너지 뉴트럴라이저\", \n    \"name_ru\": \"Дистанционные нейтрализаторы заряда\", \n    \"name_zh\": \"能量中和器\", \n    \"nameID\": 66350, \n    \"parentGroupID\": 655\n  }, \n  \"662\": {\n    \"description_de\": \"Zapft einen Teil der Energie im Energiespeicher des Zielschiffes ab.\", \n    \"description_en-us\": \"Steal a portion of the target ship's capacitor energy.\", \n    \"description_es\": \"Roba parte de la energía del condensador de la nave objetivo.\", \n    \"description_fr\": \"Vole une partie de l'énergie du capaciteur du vaisseau cible.\", \n    \"description_it\": \"Steal a portion of the target ship's capacitor energy.\", \n    \"description_ja\": \"対象の艦船のキャパシタエネルギーを一部吸収する。\", \n    \"description_ko\": \"대상 함선의 캐패시터를 흡수합니다.\", \n    \"description_ru\": \"Выкачивает часть энергии накопителя корабля-цели.\", \n    \"description_zh\": \"吸取目标舰船的部分电容器能量。\", \n    \"descriptionID\": 64819, \n    \"hasTypes\": 0, \n    \"iconID\": 1029, \n    \"name_de\": \"Energie-Nosferatu\", \n    \"name_en-us\": \"Energy Nosferatu\", \n    \"name_es\": \"Nosferatu de energía\", \n    \"name_fr\": \"Nosferatu à énergie\", \n    \"name_it\": \"Energy Nosferatu\", \n    \"name_ja\": \"エネルギーノスフェラトゥ\", \n    \"name_ko\": \"에너지 노스페라투\", \n    \"name_ru\": \"Устройства паразитной подзарядки\", \n    \"name_zh\": \"掠能器\", \n    \"nameID\": 65893, \n    \"parentGroupID\": 655\n  }, \n  \"663\": {\n    \"description_de\": \"Systeme, die den Transfer von Energie aus dem Energiespeicher zu einem anderen Schiff ermöglichen.\", \n    \"description_en-us\": \"Systems allowing transfer of capacitor energy to another ship.\", \n    \"description_es\": \"Sistemas que permiten transferir energía del condensador a otra nave.\", \n    \"description_fr\": \"Systèmes permettant de transférer de l'énergie de capaciteur vers un autre vaisseau.\", \n    \"description_it\": \"Systems allowing transfer of capacitor energy to another ship.\", \n    \"description_ja\": \"キャパシタエネルギーを別の船に転送するためのシステム。\", \n    \"description_ko\": \"대상 함선에게 캐패시터 에너지를 전송할 수 있는 시스템입니다.\", \n    \"description_ru\": \"Системы, позволяющие передавать энергию конденсатора на другой корабль.\", \n    \"description_zh\": \"能量转移阵列系统能将能量转移到目标舰船上。\", \n    \"descriptionID\": 64820, \n    \"hasTypes\": 0, \n    \"iconID\": 1035, \n    \"name_de\": \"Energiespeicher-Ferntransmitter\", \n    \"name_en-us\": \"Remote Capacitor Transmitters\", \n    \"name_es\": \"Transmisores de condensador remotos\", \n    \"name_fr\": \"Transmetteurs de capaciteur à distance\", \n    \"name_it\": \"Remote Capacitor Transmitters\", \n    \"name_ja\": \"リモートキャパシタトランスミッター\", \n    \"name_ko\": \"원격 캐패시터 전송기\", \n    \"name_ru\": \"Установки дистанционного энергоснабжения\", \n    \"name_zh\": \"远程电容传输装置\", \n    \"nameID\": 65894, \n    \"parentGroupID\": 655\n  }, \n  \"664\": {\n    \"description_de\": \"Erlauben dem Energiespeicher, mehr Energie zu speichern.\", \n    \"description_en-us\": \"Allow the capacitor to store more energy.\", \n    \"description_es\": \"Permiten que el condensador almacene más energía.\", \n    \"description_fr\": \"Permettent au capaciteur de stocker plus d'énergie.\", \n    \"description_it\": \"Allow the capacitor to store more energy.\", \n    \"description_ja\": \"キャパシタに蓄えられるエネルギー量が増加。\", \n    \"description_ko\": \"장착 시 캐패시터에 더 많은 전력을 저장할 수 있습니다.\", \n    \"description_ru\": \"Позволяют увеличивать емкость конденсатора.\", \n    \"description_zh\": \"使电容器能储存更多的能量。\", \n    \"descriptionID\": 64821, \n    \"hasTypes\": 0, \n    \"iconID\": 89, \n    \"name_de\": \"Energiespeicherbatterien\", \n    \"name_en-us\": \"Capacitor Batteries\", \n    \"name_es\": \"Baterías de condensador\", \n    \"name_fr\": \"Batteries de capaciteur\", \n    \"name_it\": \"Capacitor Batteries\", \n    \"name_ja\": \"キャパシタバッテリー\", \n    \"name_ko\": \"캐패시터 배터리\", \n    \"name_ru\": \"Дополнительные батареи накопителя\", \n    \"name_zh\": \"电容电池\", \n    \"nameID\": 65895, \n    \"parentGroupID\": 655\n  }, \n  \"665\": {\n    \"description_de\": \"Tragen zur Steigerung der Wiederaufladerate des Energiespeichers bei.\", \n    \"description_en-us\": \"Provide a boost to the capacitor's recharge rate.\", \n    \"description_es\": \"Dan un impulso al índice de carga del condensador.\", \n    \"description_fr\": \"Amplifient la vitesse de recharge du capaciteur.\", \n    \"description_it\": \"Provide a boost to the capacitor's recharge rate.\", \n    \"description_ja\": \"キャパシタの充電速度が向上する。\", \n    \"description_ko\": \"캐패시터 충전속도가 증가하는 장치입니다.\", \n    \"description_ru\": \"Увеличивают скорость подзарядки конденсатора.\", \n    \"description_zh\": \"增加电容器的回充速度。\", \n    \"descriptionID\": 64822, \n    \"hasTypes\": 1, \n    \"iconID\": 26457, \n    \"name_de\": \"Energiespeicher-Ladegeräte\", \n    \"name_en-us\": \"Capacitor Rechargers\", \n    \"name_es\": \"Cargadores del condensador\", \n    \"name_fr\": \"Rechargeurs de capaciteur\", \n    \"name_it\": \"Capacitor Rechargers\", \n    \"name_ja\": \"キャパシタリチャージャー\", \n    \"name_ko\": \"캐패시터 충전기\", \n    \"name_ru\": \"Системы пассивной подзарядки накопителя\", \n    \"name_zh\": \"电容回充器\", \n    \"nameID\": 65896, \n    \"parentGroupID\": 655\n  }, \n  \"666\": {\n    \"description_de\": \"Steigerung der Energiespeicherladerate in Verbindung mit einer Senkung der max. Energiespeicherkapazität.\", \n    \"description_en-us\": \"Increase capacitor recharge rate while lowering maximum capacitor capacity.\", \n    \"description_es\": \"Aumentan el índice de carga del condensador al tiempo que reduce su capacidad máxima.\", \n    \"description_fr\": \"Augmentent la fréquence de recharge du capaciteur tout en réduisant sa charge maximale.\", \n    \"description_it\": \"Increase capacitor recharge rate while lowering maximum capacitor capacity.\", \n    \"description_ja\": \"キャパシタ充電速度が向上するが、最大キャパシタ容量は低下する。\", \n    \"description_ko\": \"캐패시터 충전 속도가 증가하는 반면 최대 캐패시터 용량이 감소합니다.\", \n    \"description_ru\": \"Увеличивают скорость подзарядки конденсатора, понижая его максимальную емкость.\", \n    \"description_zh\": \"以损失电容器最大电容量来增加电容器回充速度。\", \n    \"descriptionID\": 64823, \n    \"hasTypes\": 1, \n    \"iconID\": 26456, \n    \"name_de\": \"Energiespeicher-Flussspulen\", \n    \"name_en-us\": \"Capacitor Flux Coils\", \n    \"name_es\": \"Bobinas de flujo de condensador\", \n    \"name_fr\": \"Bobines de flux pour capaciteur\", \n    \"name_it\": \"Capacitor Flux Coils\", \n    \"name_ja\": \"キャパシタフラックスコイル\", \n    \"name_ko\": \"캐패시터 플럭스 코일\", \n    \"name_ru\": \"Силовые петли накопителя\", \n    \"name_zh\": \"电容通量线圈\", \n    \"nameID\": 65897, \n    \"parentGroupID\": 655\n  }, \n  \"667\": {\n    \"description_de\": \"Steigerung der Energiespeicherladerate auf Kosten der Schildverstärkungsmöglichkeiten.\", \n    \"description_en-us\": \"Increase capacitor recharge rate at the expense of shield boosting capability.\", \n    \"description_es\": \"Aumentan el índice de carga del condensador a costa de la capacidad de potenciación del escudo.\", \n    \"description_fr\": \"Augmentent la vitesse de recharge du capaciteur tout en réduisant la possibilité de booster le bouclier.\", \n    \"description_it\": \"Increase capacitor recharge rate at the expense of shield boosting capability.\", \n    \"description_ja\": \"シールドブースト能力を犠牲にして、キャパシタ充電速度を向上させる。\", \n    \"description_ko\": \"캐패시터 충전속도가 증가하는 반면 실드 부스트의 효율이 감소합니다.\", \n    \"description_ru\": \"Увеличивают скорость перезарядки конденсатора за счет эффективности систем накачки щита.\", \n    \"description_zh\": \"以损失护盾回充增量能力来加大电容器回充速度。\", \n    \"descriptionID\": 64824, \n    \"hasTypes\": 1, \n    \"iconID\": 26455, \n    \"name_de\": \"Energiespeicher-Stromrelais\", \n    \"name_en-us\": \"Capacitor Power Relays\", \n    \"name_es\": \"Relés de potencia de condensador\", \n    \"name_fr\": \"Relais de puissance pour capaciteur\", \n    \"name_it\": \"Capacitor Power Relays\", \n    \"name_ja\": \"キャパシタパワーリレイ\", \n    \"name_ko\": \"캐패시터 릴레이\", \n    \"name_ru\": \"Силовые реле накопителя\", \n    \"name_zh\": \"电容能源继电器\", \n    \"nameID\": 65898, \n    \"parentGroupID\": 655\n  }, \n  \"668\": {\n    \"description_de\": \"Ermöglichen schnelle Energieschübe für den Energiespeicher.\", \n    \"description_en-us\": \"Provide quick injections of power into the capacitor.\", \n    \"description_es\": \"Inyectan rápidamente potencia en el condensador.\", \n    \"description_fr\": \"Fournissent des injections rapides de puissance au capaciteur.\", \n    \"description_it\": \"Provide quick injections of power into the capacitor.\", \n    \"description_ja\": \"キャパシタにパワーを素早く補充する。\", \n    \"description_ko\": \"캐패시터에 추가 전력을 주입합니다.\", \n    \"description_ru\": \"Обеспечивают быструю подкачку конденсатора.\", \n    \"description_zh\": \"给电容器快速地注入能量。\", \n    \"descriptionID\": 64825, \n    \"hasTypes\": 0, \n    \"iconID\": 1031, \n    \"name_de\": \"Energiespeicherbooster\", \n    \"name_en-us\": \"Capacitor Boosters\", \n    \"name_es\": \"Potenciadores de condensador\", \n    \"name_fr\": \"Boosters de capaciteur\", \n    \"name_it\": \"Capacitor Boosters\", \n    \"name_ja\": \"キャパシタブースター\", \n    \"name_ko\": \"캐패시터 부스터\", \n    \"name_ru\": \"Системы подачи зарядов накопителя\", \n    \"name_zh\": \"电容注电器\", \n    \"nameID\": 65899, \n    \"parentGroupID\": 655\n  }, \n  \"669\": {\n    \"description_de\": \"Verbessern die Zielerfassungsreichweite und Zielerfassungsgeschwindigkeit eines Schiffs.\", \n    \"description_en-us\": \"Augment a ship's targeting range and target acquisition time.\", \n    \"description_es\": \"Mejoran la distancia-objetivo y el tiempo de adquisición de objetivos.\", \n    \"description_fr\": \"Augmentent la portée de visée d'un vaisseau et son temps d'acquisition de cible.\", \n    \"description_it\": \"Augment a ship's targeting range and target acquisition time.\", \n    \"description_ja\": \"艦船のターゲティング範囲とターゲット捕捉時間を向上させる。\", \n    \"description_ko\": \"함선의 타겟팅 사거리 및 타겟팅 속도를 강화하는 장치입니다.\", \n    \"description_ru\": \"Увеличивают дальность прицеливания и уменьшают время захвата цели.\", \n    \"description_zh\": \"改进舰船的目标锁定范围和目标锁定时间。\", \n    \"descriptionID\": 64826, \n    \"hasTypes\": 1, \n    \"iconID\": 26727, \n    \"name_de\": \"Signalverstärker\", \n    \"name_en-us\": \"Signal Amplifiers\", \n    \"name_es\": \"Amplificadores de señal\", \n    \"name_fr\": \"Amplificateurs de signal\", \n    \"name_it\": \"Signal Amplifiers\", \n    \"name_ja\": \"シグナル増幅機\", \n    \"name_ko\": \"신호 증폭기\", \n    \"name_ru\": \"Усилители сигнала\", \n    \"name_zh\": \"信号放大器\", \n    \"nameID\": 65900, \n    \"parentGroupID\": 656\n  }, \n  \"670\": {\n    \"description_de\": \"Zur automatischen Aufschaltung von Feinden.\", \n    \"description_en-us\": \"For automated targeting of hostiles.\", \n    \"description_es\": \"Permiten la adquisición automatizada de objetivos.\", \n    \"description_fr\": \"Pour le ciblage automatique des vaisseaux hostiles.\", \n    \"description_it\": \"For automated targeting of hostiles.\", \n    \"description_ja\": \"敵を自動的にターゲットとして設定する。\", \n    \"description_ko\": \"자동화 타겟팅 시스텝입니다.\", \n    \"description_ru\": \"Для автоматического захвата противника в прицел.\", \n    \"description_zh\": \"自动锁定敌对目标。\", \n    \"descriptionID\": 64827, \n    \"hasTypes\": 1, \n    \"iconID\": 26721, \n    \"name_de\": \"Automatische Zielsysteme\", \n    \"name_en-us\": \"Automated Targeting Systems\", \n    \"name_es\": \"Sistemas de adquisición automatizada de objetivos\", \n    \"name_fr\": \"Systèmes de ciblage automatisés\", \n    \"name_it\": \"Automated Targeting Systems\", \n    \"name_ja\": \"全自動ターゲットシステム\", \n    \"name_ko\": \"오토 타겟팅 시스템\", \n    \"name_ru\": \"Системы автоматического захвата целей\", \n    \"name_zh\": \"自动锁定系统\", \n    \"nameID\": 65901, \n    \"parentGroupID\": 656\n  }, \n  \"671\": {\n    \"description_de\": \"Verleihen der Zielerfassungsreichweite und Zielerfassungsgeschwindigkeit eines Schiffs eine Erhöhung.\", \n    \"description_en-us\": \"Provide a boost to a ship's targeting range and target acquisition time.\", \n    \"description_es\": \"Potencian la distancia-objetivo y el tiempo de adquisición de objetivos de la nave.\", \n    \"description_fr\": \"Amplifient temporairement la portée du système de ciblage d'un vaisseau et son temps d'acquisition de cible.\", \n    \"description_it\": \"Provide a boost to a ship's targeting range and target acquisition time.\", \n    \"description_ja\": \"艦船のターゲティング範囲とターゲット捕捉時間を向上させる。\", \n    \"description_ko\": \"함선의 타겟팅 사거리 및 타겟팅 속도를 향상하는 장치입니다.\", \n    \"description_ru\": \"Увеличивают дальность прицеливания корабля и уменьшают время захвата цели.\", \n    \"description_zh\": \"增加锁定范围，缩短锁定时间。\", \n    \"descriptionID\": 64828, \n    \"hasTypes\": 1, \n    \"iconID\": 26726, \n    \"name_de\": \"Sensorbooster\", \n    \"name_en-us\": \"Sensor Boosters\", \n    \"name_es\": \"Potenciadores de sensor\", \n    \"name_fr\": \"Boosters de détection\", \n    \"name_it\": \"Sensor Boosters\", \n    \"name_ja\": \"センサーブースター\", \n    \"name_ko\": \"센서 부스터\", \n    \"name_ru\": \"Активные усилители систем захвата целей\", \n    \"name_zh\": \"感应增强器\", \n    \"nameID\": 65902, \n    \"parentGroupID\": 656\n  }, \n  \"672\": {\n    \"description_de\": \"Erlauben die heimliche Zielerfassung von Feinden.\", \n    \"description_en-us\": \"Allow for surreptitious targeting of hostiles.\", \n    \"description_es\": \"Permiten la adquisición subrepticia de objetivos.\", \n    \"description_fr\": \"Permettent le ciblage furtif des vaisseaux ennemis.\", \n    \"description_it\": \"Allow for surreptitious targeting of hostiles.\", \n    \"description_ja\": \"敵を密かにターゲットとして設定する。\", \n    \"description_ko\": \"은밀하게 타겟팅 할 수 있는 시스템입니다.\", \n    \"description_ru\": \"Позволяют осуществлять захват в цель незаметно.\", \n    \"description_zh\": \"能够在敌方不察觉的情况下锁定对方。\", \n    \"descriptionID\": 64829, \n    \"hasTypes\": 1, \n    \"iconID\": 26724, \n    \"name_de\": \"Passive Zielsysteme\", \n    \"name_en-us\": \"Passive Targeting Systems\", \n    \"name_es\": \"Sistemas de adquisición pasiva de objetivos\", \n    \"name_fr\": \"Systèmes de ciblage passif\", \n    \"name_it\": \"Passive Targeting Systems\", \n    \"name_ja\": \"パッシブターゲットシステム\", \n    \"name_ko\": \"패시브 타겟팅 시스템\", \n    \"name_ru\": \"Системы скрытого захвата целей\", \n    \"name_zh\": \"被动索敌系统\", \n    \"nameID\": 65903, \n    \"parentGroupID\": 656\n  }, \n  \"673\": {\n    \"description_de\": \"Vergrößern die Zielerfassungsreichweite und die Zielerfassungszeit des Zielschiffs.\", \n    \"description_en-us\": \"Augment target ship's targeting range and target acquisition time.\", \n    \"description_es\": \"Mejoran la distancia-objetivo y el tiempo de adquisición de objetivos.\", \n    \"description_fr\": \"Augmentent la portée du système de ciblage et le temps d'acquisition de cible du vaisseau cible.\", \n    \"description_it\": \"Augment target ship's targeting range and target acquisition time.\", \n    \"description_ja\": \"ターゲット艦船のターゲティング範囲とターゲット捕捉時間を向上させる。\", \n    \"description_ko\": \"대상 함선의 타겟팅 사거리 및 타겟팅 속도를 강화하는 장치입니다.\", \n    \"description_ru\": \"Улучшают дальность прицеливания и время захвата цели союзного корабля.\", \n    \"description_zh\": \"增强目标舰船的锁定范围和锁定速度。\", \n    \"descriptionID\": 64830, \n    \"hasTypes\": 1, \n    \"iconID\": 26725, \n    \"name_de\": \"Sensorfernbooster\", \n    \"name_en-us\": \"Remote Sensor Boosters\", \n    \"name_es\": \"Potenciadores de sensor remotos\", \n    \"name_fr\": \"Boosters de capteur à distance\", \n    \"name_it\": \"Remote Sensor Boosters\", \n    \"name_ja\": \"リモートセンサーブースター\", \n    \"name_ko\": \"원격 센서 부스터\", \n    \"name_ru\": \"Ретрансляторы для систем захвата целей\", \n    \"name_zh\": \"远程感应增强器\", \n    \"nameID\": 65904, \n    \"parentGroupID\": 656\n  }, \n  \"675\": {\n    \"description_de\": \"Benutzen Sie eine fortschrittliche Raumkrümmungstechnologie, um Schiffe unsichtbar zu machen.\", \n    \"description_en-us\": \"Use advanced spatial distortion technology to render ships invisible.\", \n    \"description_es\": \"Emplean avanzada tecnología de distorsión espacial para que las naves se vuelvan invisibles.\", \n    \"description_fr\": \"Utilisent une technologie de distorsion spatiale avancée pour rendre les vaisseaux invisibles.\", \n    \"description_it\": \"Use advanced spatial distortion technology to render ships invisible.\", \n    \"description_ja\": \"最新の空間歪曲技術により宇宙船を不可視化する装置。\", \n    \"description_ko\": \"첨단 공간 왜곡 기술을 사용하여 클로킹할 수 있습니다.\", \n    \"description_ru\": \"Используют современные технологии искривления пространства для обеспечения невидимости кораблей.\", \n    \"description_zh\": \"采用先进的空间扭曲技术使舰船无法被侦测到。\", \n    \"descriptionID\": 64832, \n    \"hasTypes\": 1, \n    \"iconID\": 2106, \n    \"name_de\": \"Tarnvorrichtungen\", \n    \"name_en-us\": \"Cloaking Devices\", \n    \"name_es\": \"Dispositivos de camuflaje\", \n    \"name_fr\": \"Dispositifs de camouflage\", \n    \"name_it\": \"Cloaking Devices\", \n    \"name_ja\": \"遮蔽装置\", \n    \"name_ko\": \"클로킹 장치\", \n    \"name_ru\": \"Системы маскировки\", \n    \"name_zh\": \"隐形装置\", \n    \"nameID\": 65906, \n    \"parentGroupID\": 656\n  }, \n  \"676\": {\n    \"description_de\": \"Steigern die CPU-Leistung des Schiffes.\", \n    \"description_en-us\": \"Provide an increase in the ship's CPU output.\", \n    \"description_es\": \"Incrementan el rendimiento de la CPU de la nave.\", \n    \"description_fr\": \"Fournissent une augmentation de rendement du CPU du vaisseau.\", \n    \"description_it\": \"Provide an increase in the ship's CPU output.\", \n    \"description_ja\": \"船の CPU 出力を増加させる。\", \n    \"description_ko\": \"함선의 CPU 용량이 증가하는 프로세서입니다.\", \n    \"description_ru\": \"Увеличивают доступные вычислительные мощности центрального корабельного процессора.\", \n    \"description_zh\": \"增加舰船的CPU。\", \n    \"descriptionID\": 64833, \n    \"hasTypes\": 1, \n    \"iconID\": 1405, \n    \"name_de\": \"CPU-Upgrades\", \n    \"name_en-us\": \"CPU Upgrades\", \n    \"name_es\": \"Mejoras de CPU\", \n    \"name_fr\": \"Améliorations de CPU\", \n    \"name_it\": \"CPU Upgrades\", \n    \"name_ja\": \"CPU強化\", \n    \"name_ko\": \"CPU 업그레이드\", \n    \"name_ru\": \"Улучшения ЦПУ\", \n    \"name_zh\": \"CPU升级模块\", \n    \"nameID\": 65907, \n    \"parentGroupID\": 656\n  }, \n  \"677\": {\n    \"description_de\": \"Entwickelt, um feindliche Sensoren zu stören oder außer Gefecht zu setzen.\", \n    \"description_en-us\": \"Designed to disrupt and lock down enemy ships' sensor arrays.\", \n    \"description_es\": \"Sirven para inhibir la red de sensores de las naves enemigas y fijarlas en el punto de mira.\", \n    \"description_fr\": \"Conçues pour perturber et bloquer les modules de détection des vaisseaux ennemis.\", \n    \"description_it\": \"Designed to disrupt and lock down enemy ships' sensor arrays.\", \n    \"description_ja\": \"敵船のセンサーアレイをかく乱し、封じ込める。\", \n    \"description_ko\": \"대상 함선의 센서 장치를 교란하거나 중지시킬 수 있는 장치입니다.\", \n    \"description_ru\": \"Системы, разработанные для нарушения работы сенсорных систем на вражеских кораблях.\", \n    \"description_zh\": \"专门用于干扰和禁闭敌方舰船的感应器阵列。\", \n    \"descriptionID\": 64834, \n    \"hasTypes\": 0, \n    \"iconID\": 109, \n    \"name_de\": \"Elektronische Gegenmaßnahmen\", \n    \"name_en-us\": \"Electronic Counter Measures\", \n    \"name_es\": \"Contramedidas electrónicas\", \n    \"name_fr\": \"Contre-mesures électroniques\", \n    \"name_it\": \"Electronic Counter Measures\", \n    \"name_ja\": \"エレクトロニクス妨害機器\", \n    \"name_ko\": \"ECM\", \n    \"name_ru\": \"Модули глушения захвата целей\", \n    \"name_zh\": \"ECM\", \n    \"nameID\": 65908, \n    \"parentGroupID\": 657\n  }, \n  \"678\": {\n    \"description_de\": \"Multifrequenzielle Störsignale zur Beeinträchtigung der Zielerfassung.\", \n    \"description_en-us\": \"Targeting jammers emitting multi-frequency disruptive signals.\", \n    \"description_es\": \"Aparatos perturbadores de la adquisición de objetivos que emiten señales disruptivas multifrecuencia.\", \n    \"description_fr\": \"Brouilleurs de ciblage qui émettent des signaux perturbateurs multi-fréquences.\", \n    \"description_it\": \"Targeting jammers emitting multi-frequency disruptive signals.\", \n    \"description_ja\": \"マルチ周波数かく乱信号を放出するターゲティングジャマー。\", \n    \"description_ko\": \"다중 프리퀀시 신호를 내보내는 타겟팅 재머입니다.\", \n    \"description_ru\": \"Постановщики помех системам наведения, испускающие искажающие сигналы в широком диапазоне частот.\", \n    \"description_zh\": \"释放多频干扰信号的目标干扰装置。\", \n    \"descriptionID\": 64835, \n    \"hasTypes\": 1, \n    \"iconID\": 109, \n    \"name_de\": \"ECM-Pulsgeneratoren\", \n    \"name_en-us\": \"ECM Bursts\", \n    \"name_es\": \"Ráfagas ECM\", \n    \"name_fr\": \"Salves CME\", \n    \"name_it\": \"ECM Bursts\", \n    \"name_ja\": \"ECMバースト\", \n    \"name_ko\": \"ECM 버스트\", \n    \"name_ru\": \"Генераторы импульсных помех\", \n    \"name_zh\": \"ECM脉冲波\", \n    \"nameID\": 65909, \n    \"parentGroupID\": 657\n  }, \n  \"679\": {\n    \"description_de\": \"Verringern die Zielerfassungsgeschwindigkeit und Reichweite des Zielschiffs.\", \n    \"description_en-us\": \"Decrease the targeting speed and range of target ship.\", \n    \"description_es\": \"Reducen la velocidad y el alcance de la adquisición de objetivos de la nave enemiga.\", \n    \"description_fr\": \"Réduisent la vitesse et la portée de ciblage du vaisseau cible.\", \n    \"description_it\": \"Decrease the targeting speed and range of target ship.\", \n    \"description_ja\": \"ターゲット艦船の照準速度およびターゲティング範囲を低下させる。\", \n    \"description_ko\": \"대상 함선의 타겟팅 속도 및 사거리를 감소시키는 장치입니다.\", \n    \"description_ru\": \"Уменьшают скорость и дальность прицеливания корабля-цели.\", \n    \"description_zh\": \"降低目标舰船的锁定范围和锁定速度。\", \n    \"descriptionID\": 64836, \n    \"hasTypes\": 1, \n    \"iconID\": 105, \n    \"name_de\": \"Sensorferndämpfer\", \n    \"name_en-us\": \"Remote Sensor Dampeners\", \n    \"name_es\": \"Atenuadores de sensor remotos\", \n    \"name_fr\": \"Atténuateurs de détection à distance\", \n    \"name_it\": \"Remote Sensor Dampeners\", \n    \"name_ja\": \"リモートセンサーダンプナー\", \n    \"name_ko\": \"원격 센서 댐프너\", \n    \"name_ru\": \"Модули подавления захвата целей\", \n    \"name_zh\": \"远程感应抑阻器\", \n    \"nameID\": 65910, \n    \"parentGroupID\": 657\n  }, \n  \"680\": {\n    \"description_de\": \"Waffenstörer\", \n    \"description_en-us\": \"Weapon Disruptors\", \n    \"description_es\": \"Disruptores de armas.\", \n    \"description_fr\": \"Perturbateurs d'armement\", \n    \"description_it\": \"Weapon Disruptors\", \n    \"description_ja\": \"狙った艦船のタレットの射程と追跡速度を低下させる。\", \n    \"description_ko\": \"무기 디스럽터\", \n    \"description_ru\": \"Подавители оружия\", \n    \"description_zh\": \"武器扰断器\", \n    \"descriptionID\": 64837, \n    \"hasTypes\": 1, \n    \"iconID\": 1639, \n    \"name_de\": \"Waffenstörer\", \n    \"name_en-us\": \"Weapon Disruptors\", \n    \"name_es\": \"Disruptores de armas\", \n    \"name_fr\": \"Perturbateurs d'armement\", \n    \"name_it\": \"Weapon Disruptors\", \n    \"name_ja\": \"トラッキング妨害器\", \n    \"name_ko\": \"무기 디스럽터\", \n    \"name_ru\": \"Подавители оружия\", \n    \"name_zh\": \"武器扰断器\", \n    \"nameID\": 65911, \n    \"parentGroupID\": 657\n  }, \n  \"681\": {\n    \"description_de\": \"Verstärken Ihre Sensoren, damit sie einer Zielerfassungsstörung widerstehen.\", \n    \"description_en-us\": \"Beef up your sensor strength to resist target jamming.\", \n    \"description_es\": \"Aumenta la intensidad de los sensores para resistir la perturbación de objetivos.\", \n    \"description_fr\": \"Donnent du peps à vos détecteurs pour qu'ils résistent mieux au brouillage de cible.\", \n    \"description_it\": \"Beef up your sensor strength to resist target jamming.\", \n    \"description_ja\": \"センサー強度を高めてターゲットジャミングへの抵抗力を増す。\", \n    \"description_ko\": \"타겟 재밍에 대한 저항력 향상 및 센서 강도를 강화할 수 있는 장치입니다.\", \n    \"description_ru\": \"Увеличивает силу сенсоров вашего корабля для противодействия наводимым помехам.\", \n    \"description_zh\": \"增强你的感应器强度以抵抗电子干扰。\", \n    \"descriptionID\": 64838, \n    \"hasTypes\": 0, \n    \"iconID\": 104, \n    \"name_de\": \"Sensorsicherungsanlagen\", \n    \"name_en-us\": \"Sensor Backup Arrays\", \n    \"name_es\": \"Sistemas de sensores de apoyo\", \n    \"name_fr\": \"Modules de détection de secours\", \n    \"name_it\": \"Sensor Backup Arrays\", \n    \"name_ja\": \"センサー補助\", \n    \"name_ko\": \"센서 백업 시설\", \n    \"name_ru\": \"Пассивные системы захвата целей\", \n    \"name_zh\": \"感应器备用阵列\", \n    \"nameID\": 65912, \n    \"parentGroupID\": 657\n  }, \n  \"683\": {\n    \"description_de\": \"Zuerst verlangsamen Sie sie und dann klatschen Sie sie herunter.\", \n    \"description_en-us\": \"Slow them down, then smack them down.\", \n    \"description_es\": \"Ralentízalos antes de fulminarlos.\", \n    \"description_fr\": \"Ralentissez-les, puis écrasez-les.\", \n    \"description_it\": \"Slow them down, then smack them down.\", \n    \"description_ja\": \"敵をひねり潰すため、まず足止めする。\", \n    \"description_ko\": \"적의 속도를 하락시켜 쉽게 타격할 수 있습니다.\", \n    \"description_ru\": \"Заставьте их сбросить ход ― и берите их тепленькими.\", \n    \"description_zh\": \"将目标减速，然后再想怎么处理它。\", \n    \"descriptionID\": 64840, \n    \"hasTypes\": 1, \n    \"iconID\": 1284, \n    \"name_de\": \"Stasisnetze\", \n    \"name_en-us\": \"Stasis Webifiers\", \n    \"name_es\": \"Redes ralentizadoras\", \n    \"name_fr\": \"Générateurs de stase\", \n    \"name_it\": \"Stasis Webifiers\", \n    \"name_ja\": \"ステイシスウェビファイヤー\", \n    \"name_ko\": \"스테이시스 웹 생성기\", \n    \"name_ru\": \"Стазис-индукторы\", \n    \"name_zh\": \"停滞缠绕光束\", \n    \"nameID\": 65914, \n    \"parentGroupID\": 657\n  }, \n  \"685\": {\n    \"description_de\": \"Hilfssysteme, die für kurze Zeit die Sensorstärke erhöhen.\", \n    \"description_en-us\": \"Auxiliary systems giving a boost to sensor strength for a short time.\", \n    \"description_es\": \"Sistemas auxiliares que incrementan brevemente la intensidad de los sensores.\", \n    \"description_fr\": \"Systèmes auxiliaires amplifiant la puissance de détection pendant une courte période.\", \n    \"description_it\": \"Auxiliary systems giving a boost to sensor strength for a short time.\", \n    \"description_ja\": \"センサー強度を一時的に高める補助システム。\", \n    \"description_ko\": \"센서 강도를 일시적으로 강화하는 보조 시스템입니다.\", \n    \"description_ru\": \"Дополнительные системы, увеличивающие мощность сенсоров на короткое время.\", \n    \"description_zh\": \"在较短时间内提高感应器强度的辅助装置。\", \n    \"descriptionID\": 64841, \n    \"hasTypes\": 0, \n    \"iconID\": 104, \n    \"name_de\": \"EGGM\", \n    \"name_en-us\": \"ECCM\", \n    \"name_es\": \"ECCM\", \n    \"name_fr\": \"CCME\", \n    \"name_it\": \"ECCM\", \n    \"name_ja\": \"ECCM\", \n    \"name_ko\": \"ECCM\", \n    \"name_ru\": \"Усилители сенсоров\", \n    \"name_zh\": \"ECCM\", \n    \"nameID\": 65915, \n    \"parentGroupID\": 657\n  }, \n  \"686\": {\n    \"description_de\": \"Verstärken die Sensoren des Zielschiffs für eine kurze Zeit.\", \n    \"description_en-us\": \"Boost a target ship's sensor strength for a short time.\", \n    \"description_es\": \"Aumentan brevemente la intensidad de los sensores de la nave objetivo.\", \n    \"description_fr\": \"Amplifient la puissance de détection du vaisseau cible pendant une courte période.\", \n    \"description_it\": \"Boost a target ship's sensor strength for a short time.\", \n    \"description_ja\": \"ターゲット艦船のセンサー強度を一時的に向上させる。\", \n    \"description_ko\": \"대상 함선의 센서 강도를 짧은 시간 동안 강화합니다.\", \n    \"description_ru\": \"Усиливают на короткое время мощность сенсоров корабля-цели.\", \n    \"description_zh\": \"在较短的时间内增强目标舰船的感应器强度。\", \n    \"descriptionID\": 64842, \n    \"hasTypes\": 1, \n    \"iconID\": 110, \n    \"name_de\": \"Projizierte EGGM\", \n    \"name_en-us\": \"Projected ECCM\", \n    \"name_es\": \"ECCM proyectadas\", \n    \"name_fr\": \"CCME projetée\", \n    \"name_it\": \"Projected ECCM\", \n    \"name_ja\": \"ECCMプロジェクション\", \n    \"name_ko\": \"ECCM 방출기\", \n    \"name_ru\": \"Дистанционные усилители сенсоров\", \n    \"name_zh\": \"投射型ECCM\", \n    \"nameID\": 65916, \n    \"parentGroupID\": 657\n  }, \n  \"687\": {\n    \"description_de\": \"Steigern die Wiederaufladerate des Schilds, setzen aber das Maximum der Schildkapazität herab.\", \n    \"description_en-us\": \"Increase shield recharge rate while lowering maximum shield capacity.\", \n    \"description_es\": \"Aumentan la velocidad de carga del escudo al tiempo que reduce su capacidad máxima.\", \n    \"description_fr\": \"Augmentent la vitesse de recharge du bouclier tout en réduisant sa capacité maximale.\", \n    \"description_it\": \"Increase shield recharge rate while lowering maximum shield capacity.\", \n    \"description_ja\": \"シールド自動回復率が向上するが、最大シールド容量は低下する。\", \n    \"description_ko\": \"실드 회복률이 증가하는 반면 최대 실드량이 감소하는 장치입니다.\", \n    \"description_ru\": \"Увеличивают скорость перезарядки щита, понижая его максимальную мощность.\", \n    \"description_zh\": \"护盾通量线圈能提升护盾回充速度，但是会减少护盾的最大强度。\", \n    \"descriptionID\": 64843, \n    \"hasTypes\": 1, \n    \"iconID\": 26449, \n    \"name_de\": \"Schildflussspulen\", \n    \"name_en-us\": \"Shield Flux Coils\", \n    \"name_es\": \"Bobinas de flujo de escudo\", \n    \"name_fr\": \"Bobines de flux de bouclier\", \n    \"name_it\": \"Shield Flux Coils\", \n    \"name_ja\": \"シールドフラックスコイル\", \n    \"name_ko\": \"실드 플럭스 코일\", \n    \"name_ru\": \"Силовые петли щитов\", \n    \"name_zh\": \"护盾通量线圈\", \n    \"nameID\": 65917, \n    \"parentGroupID\": 554\n  }, \n  \"688\": {\n    \"description_de\": \"Leiten Energie vom Energiekern des Schiffes ab, um die Wiederaufladerate des Schilds zu erhöhen.\", \n    \"description_en-us\": \"Divert power from ship's core to shields, increasing shield recharge rate.\", \n    \"description_es\": \"Desvían energía del núcleo de la nave a los escudos, lo que acelera la carga.\", \n    \"description_fr\": \"Transfèrent la puissance du réacteur du vaisseau vers les boucliers pour augmenter leur vitesse de recharge.\", \n    \"description_it\": \"Divert power from ship's core to shields, increasing shield recharge rate.\", \n    \"description_ja\": \"艦船のコアからシールドにパワーを転換して、シールド自動回復効率を向上させる。\", \n    \"description_ko\": \"코어의 전력을 실드로 송출하여 실드 회복 속도를 증가시킵니다.\", \n    \"description_ru\": \"Отводят энергию от силовой установки корабля к щиту, повышая скорость его перезарядки.\", \n    \"description_zh\": \"将舰船驱动核心中的能源输送给护盾，增加护盾的回充速度。\", \n    \"descriptionID\": 64844, \n    \"hasTypes\": 1, \n    \"iconID\": 26450, \n    \"name_de\": \"Schildstromrelais\", \n    \"name_en-us\": \"Shield Power Relays\", \n    \"name_es\": \"Relés de potencia de escudo\", \n    \"name_fr\": \"Relais d’alimentation de bouclier\", \n    \"name_it\": \"Shield Power Relays\", \n    \"name_ja\": \"シールドパワーリレー\", \n    \"name_ko\": \"실드 릴레이\", \n    \"name_ru\": \"Силовые реле щитов\", \n    \"name_zh\": \"护盾能源继电器\", \n    \"nameID\": 65918, \n    \"parentGroupID\": 554\n  }, \n  \"689\": {\n    \"description_de\": \"Für Fregatten typische Energie-Destabilisatoren.\", \n    \"description_en-us\": \"Frigate-sized energy destabilizers.\", \n    \"description_es\": \"Desestabilizadores energéticos para naves de tamaño fragata.\", \n    \"description_fr\": \"Déstabilisateurs d'énergie adaptés aux frégates.\", \n    \"description_it\": \"Frigate-sized energy destabilizers.\", \n    \"description_ja\": \"フリゲート級エネルギーディスタビライザー。\", \n    \"description_ko\": \"프리깃급 함선의 에너지 뉴트럴라이저입니다.\", \n    \"description_ru\": \"Дестабилизаторы энергетических модулей, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"护卫舰级别能量扰乱装置。\", \n    \"descriptionID\": 64845, \n    \"hasTypes\": 1, \n    \"iconID\": 1283, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"スモール\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65919, \n    \"parentGroupID\": 661\n  }, \n  \"690\": {\n    \"description_de\": \"Energie-Destabilisatoren für Schiffe der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Cruiser-sized energy destabilizers.\", \n    \"description_es\": \"Desestabilizadores energéticos para naves de tamaño crucero.\", \n    \"description_fr\": \"Déstabilisateurs d'énergie adaptés aux croiseurs.\", \n    \"description_it\": \"Cruiser-sized energy destabilizers.\", \n    \"description_ja\": \"巡洋艦級エネルギーディスタビライザー。\", \n    \"description_ko\": \"크루저급 에너지 뉴트럴라이저입니다.\", \n    \"description_ru\": \"Дестабилизаторы энергетических модулей, предназначенные для установки на крейсеры.\", \n    \"description_zh\": \"巡洋舰级别能量扰乱装置。\", \n    \"descriptionID\": 64846, \n    \"hasTypes\": 1, \n    \"iconID\": 1283, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"ミディアム\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65920, \n    \"parentGroupID\": 661\n  }, \n  \"691\": {\n    \"description_de\": \"Schlachtschiffgroße Energiedestabilisatoren.\", \n    \"description_en-us\": \"Battleship-sized energy destabilizers.\", \n    \"description_es\": \"Desestabilizadores energéticos para naves de tamaño acorazado.\", \n    \"description_fr\": \"Déstabilisateurs d'énergie adaptés aux cuirassés.\", \n    \"description_it\": \"Battleship-sized energy destabilizers.\", \n    \"description_ja\": \"戦艦級エネルギーディスタビライザー。\", \n    \"description_ko\": \"배틀쉽급 에너지 뉴트럴라이저입니다.\", \n    \"description_ru\": \"Дестабилизаторы энергетических модулей, предназначенные для использования на линейных кораблях.\", \n    \"description_zh\": \"战列舰级别能量扰乱装置。\", \n    \"descriptionID\": 64847, \n    \"hasTypes\": 1, \n    \"iconID\": 1283, \n    \"name_de\": \"Schwer\", \n    \"name_en-us\": \"Heavy\", \n    \"name_es\": \"Pesado\", \n    \"name_fr\": \"Lourd\", \n    \"name_it\": \"Heavy\", \n    \"name_ja\": \"ヘビー\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Тяжёлые\", \n    \"name_zh\": \"重型\", \n    \"nameID\": 65921, \n    \"parentGroupID\": 661\n  }, \n  \"692\": {\n    \"description_de\": \"Für Fregatten typische Energievampire.\", \n    \"description_en-us\": \"Frigate-sized energy vampires.\", \n    \"description_es\": \"Chupaenergía para naves de tamaño fragata.\", \n    \"description_fr\": \"Vampires énergétiques adaptés aux frégates.\", \n    \"description_it\": \"Frigate-sized energy vampires.\", \n    \"description_ja\": \"フリゲート級エネルギーヴァンパイア。\", \n    \"description_ko\": \"프리깃급 에너지 노스페라투입니다.\", \n    \"description_ru\": \"Энергетические модули-вампиры, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"护卫舰级别能量吸取装置。\", \n    \"descriptionID\": 64848, \n    \"hasTypes\": 1, \n    \"iconID\": 1029, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"スモール\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65922, \n    \"parentGroupID\": 662\n  }, \n  \"693\": {\n    \"description_de\": \"Energievampire für Schiffe der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Cruiser-sized energy vampires.\", \n    \"description_es\": \"Chupaenergía para naves de tamaño crucero.\", \n    \"description_fr\": \"Vampires énergétiques adaptés aux croiseurs.\", \n    \"description_it\": \"Cruiser-sized energy vampires.\", \n    \"description_ja\": \"巡洋艦級エネルギーヴァンパイア。\", \n    \"description_ko\": \"크루저급 에너지 노스페라투입니다.\", \n    \"description_ru\": \"Энергетические модули-вампиры, предназначенные для установки на корабли крейсерского класса.\", \n    \"description_zh\": \"巡洋舰级别能量吸取装置。\", \n    \"descriptionID\": 64849, \n    \"hasTypes\": 1, \n    \"iconID\": 1029, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"ミディアム\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65923, \n    \"parentGroupID\": 662\n  }, \n  \"694\": {\n    \"description_de\": \"Schlachtschiffgroße Energievampire.\", \n    \"description_en-us\": \"Battleship-sized energy vampires.\", \n    \"description_es\": \"Chupaenergía para naves de tamaño acorazado.\", \n    \"description_fr\": \"Vampires énergétiques adaptés aux cuirassés.\", \n    \"description_it\": \"Battleship-sized energy vampires.\", \n    \"description_ja\": \"戦艦級のエネルギーヴァンパイア。\", \n    \"description_ko\": \"배틀쉽급 에너지 노스페라투입니다.\", \n    \"description_ru\": \"Энергетические модули-вампиры, предназначенные для использования на линейных кораблях.\", \n    \"description_zh\": \"战列舰级别能量吸取装置。\", \n    \"descriptionID\": 64850, \n    \"hasTypes\": 1, \n    \"iconID\": 1029, \n    \"name_de\": \"Schwer\", \n    \"name_en-us\": \"Heavy\", \n    \"name_es\": \"Pesado\", \n    \"name_fr\": \"Lourd\", \n    \"name_it\": \"Heavy\", \n    \"name_ja\": \"ヘビー\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Тяжёлые\", \n    \"name_zh\": \"重型\", \n    \"nameID\": 65924, \n    \"parentGroupID\": 662\n  }, \n  \"695\": {\n    \"description_de\": \"Für Fregatten typische Energietransferanlagen.\", \n    \"description_en-us\": \"Frigate-sized energy transfer arrays.\", \n    \"description_es\": \"Matrices de transferencia energética para naves de tamaño fragata.\", \n    \"description_fr\": \"Modules de transfert d'énergie adaptés aux frégates.\", \n    \"description_it\": \"Frigate-sized energy transfer arrays.\", \n    \"description_ja\": \"フリゲート級エネルギートランスファーアレイ。\", \n    \"description_ko\": \"프리깃급 함선의 에너지 전송기 시설입니다.\", \n    \"description_ru\": \"Модули передачи энергии, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"护卫舰级别能量传输阵列。\", \n    \"descriptionID\": 64851, \n    \"hasTypes\": 1, \n    \"iconID\": 1035, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65925, \n    \"parentGroupID\": 663\n  }, \n  \"696\": {\n    \"description_de\": \"Energietransferanlagen für Schiffe der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Cruiser-sized energy transfer arrays.\", \n    \"description_es\": \"Matrices de transferencia energética para naves de tamaño crucero.\", \n    \"description_fr\": \"Modules de transfert d'énergie adaptés aux croiseurs.\", \n    \"description_it\": \"Cruiser-sized energy transfer arrays.\", \n    \"description_ja\": \"巡洋艦級エネルギートランスファーアレイ。\", \n    \"description_ko\": \"크루저급 에너지 전송 장치입니다.\", \n    \"description_ru\": \"Модули передачи энергии, предназначенные для установки на крейсеры.\", \n    \"description_zh\": \"巡洋舰级别能量传输阵列。\", \n    \"descriptionID\": 64852, \n    \"hasTypes\": 1, \n    \"iconID\": 1035, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65926, \n    \"parentGroupID\": 663\n  }, \n  \"697\": {\n    \"description_de\": \"Für Schlachtschiffe typische Energietransferanlagen.\", \n    \"description_en-us\": \"Battleship-sized energy transfer arrays.\", \n    \"description_es\": \"Matrices de transferencia energética para naves de tamaño acorazado.\", \n    \"description_fr\": \"Modules de transfert d'énergie adaptés aux cuirassés.\", \n    \"description_it\": \"Battleship-sized energy transfer arrays.\", \n    \"description_ja\": \"戦艦級のエネルギートランスファーアレイ。\", \n    \"description_ko\": \"배틀쉽급 에너지 전송 장치입니다.\", \n    \"description_ru\": \"Модули передачи энергии, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"战列舰级别能量转移阵列。\", \n    \"descriptionID\": 64853, \n    \"hasTypes\": 1, \n    \"iconID\": 1035, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65927, \n    \"parentGroupID\": 663\n  }, \n  \"698\": {\n    \"description_de\": \"Kleine Energiespeicher-Verstärker, für den Fall, dass Stromnetz und CPU Mangelware sind.\", \n    \"description_en-us\": \"Small capacitor boosters, for when powergrid and CPU are scarce.\", \n    \"description_es\": \"Potenciadores de condensador pequeños para cuando el sistema de potencia y la CPU se queden cortos.\", \n    \"description_fr\": \"Petits boosters de capaciteur, pour ceux et celles dont le CPU et le réseau d'alimentation sont réduits.\", \n    \"description_it\": \"Small capacitor boosters, for when powergrid and CPU are scarce.\", \n    \"description_ja\": \"小型キャパシタブースター。CPU とパワーグリッドが乏しいときのために。\", \n    \"description_ko\": \"파워그리드 및 CPU가 부족할 때 보충해주는 소형 캐패시터 부스터입니다.\", \n    \"description_ru\": \"Малые системы пополнения накопителя, потребляющие минимальное количество мощностей ЦПУ и энергосети.\", \n    \"description_zh\": \"小型电容注电器，当能量栅格和CPU较为紧张的时候可以使用。\", \n    \"descriptionID\": 64854, \n    \"hasTypes\": 1, \n    \"iconID\": 1031, \n    \"name_de\": \"Mikro\", \n    \"name_en-us\": \"Micro\", \n    \"name_es\": \"Micro\", \n    \"name_fr\": \"Micro\", \n    \"name_it\": \"Micro\", \n    \"name_ja\": \"超小型\", \n    \"name_ko\": \"마이크로\", \n    \"name_ru\": \"Сверхмалые\", \n    \"name_zh\": \"微型\", \n    \"nameID\": 65928, \n    \"parentGroupID\": 668\n  }, \n  \"699\": {\n    \"description_de\": \"Für Fregatten typische Energiespeicher-Verstärker.\", \n    \"description_en-us\": \"Frigate-sized capacitor boosters.\", \n    \"description_es\": \"Potenciadores de condensador para naves de tamaño fragata.\", \n    \"description_fr\": \"Boosters de capaciteur adaptés aux frégates.\", \n    \"description_it\": \"Frigate-sized capacitor boosters.\", \n    \"description_ja\": \"フリゲート級キャパシタブースター。\", \n    \"description_ko\": \"프리깃급 캐패시터 부스터입니다.\", \n    \"description_ru\": \"Системы пополнения накопителя, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"护卫舰级别电容注电器。\", \n    \"descriptionID\": 64855, \n    \"hasTypes\": 1, \n    \"iconID\": 1031, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65929, \n    \"parentGroupID\": 668\n  }, \n  \"700\": {\n    \"description_de\": \"Energiespeicher-Verstärker für Schiffe der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Cruiser-sized capacitor boosters.\", \n    \"description_es\": \"Potenciadores de condensador para naves de tamaño crucero.\", \n    \"description_fr\": \"Boosters de capaciteur adaptés aux croiseurs.\", \n    \"description_it\": \"Cruiser-sized capacitor boosters.\", \n    \"description_ja\": \"巡洋艦級のキャパシタブースター。\", \n    \"description_ko\": \"크루저급 캐패시터 부스터입니다.\", \n    \"description_ru\": \"Системы пополнения накопителя для установки на корабли линейного тоннажа.\", \n    \"description_zh\": \"巡洋舰级别电容注电器。\", \n    \"descriptionID\": 64856, \n    \"hasTypes\": 1, \n    \"iconID\": 1031, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65930, \n    \"parentGroupID\": 668\n  }, \n  \"701\": {\n    \"description_de\": \"Schlachtschiffgroße Energiespeicher-Verstärker.\", \n    \"description_en-us\": \"Battleship-sized capacitor boosters.\", \n    \"description_es\": \"Potenciadores de condensador para naves de tamaño acorazado.\", \n    \"description_fr\": \"Boosters de capaciteur adaptés aux cuirassés.\", \n    \"description_it\": \"Battleship-sized capacitor boosters.\", \n    \"description_ja\": \"戦艦級キャパシタブースター。\", \n    \"description_ko\": \"배틀쉽급 캐패시터 부스터입니다.\", \n    \"description_ru\": \"Системы пополнения накопителя для установки на корабли линейного тоннажа.\", \n    \"description_zh\": \"战列舰级别电容注电器。\", \n    \"descriptionID\": 64857, \n    \"hasTypes\": 1, \n    \"iconID\": 1031, \n    \"name_de\": \"Schwer\", \n    \"name_en-us\": \"Heavy\", \n    \"name_es\": \"Pesado\", \n    \"name_fr\": \"Lourd\", \n    \"name_it\": \"Heavy\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Тяжёлые\", \n    \"name_zh\": \"重型\", \n    \"nameID\": 65931, \n    \"parentGroupID\": 668\n  }, \n  \"702\": {\n    \"description_de\": \"Führen zu einem geringen Anstieg der Energie im Energiespeicher.\", \n    \"description_en-us\": \"Give a small increase in capacitor energy.\", \n    \"description_es\": \"Aumentan un poco la energía del condensador.\", \n    \"description_fr\": \"Pour une légère augmentation de l'énergie du capaciteur.\", \n    \"description_it\": \"Give a small increase in capacitor energy.\", \n    \"description_ja\": \"キャパシタエネルギーがわずかに増加。\", \n    \"description_ko\": \"장착 시 소량의 캐패시터 에너지가 증가합니다.\", \n    \"description_ru\": \"Незначительно увеличивают объем энергии конденсатора.\", \n    \"description_zh\": \"为电容器提供较小的能源补充。\", \n    \"descriptionID\": 64858, \n    \"hasTypes\": 1, \n    \"iconID\": 89, \n    \"name_de\": \"Mikro\", \n    \"name_en-us\": \"Micro\", \n    \"name_es\": \"Micro\", \n    \"name_fr\": \"Micro\", \n    \"name_it\": \"Micro\", \n    \"name_ja\": \"超小型\", \n    \"name_ko\": \"마이크로\", \n    \"name_ru\": \"Сверхмалые\", \n    \"name_zh\": \"微型\", \n    \"nameID\": 65932, \n    \"parentGroupID\": 664\n  }, \n  \"703\": {\n    \"description_de\": \"Für Fregatten typische Energiespeicher-Batterien.\", \n    \"description_en-us\": \"Frigate-sized capacitor batteries.\", \n    \"description_es\": \"Baterías de condensador para naves de tamaño fragata.\", \n    \"description_fr\": \"Batteries de capaciteur adaptées aux frégates.\", \n    \"description_it\": \"Frigate-sized capacitor batteries.\", \n    \"description_ja\": \"フリゲート級キャパシタバッテリー。\", \n    \"description_ko\": \"프리깃급 캐패시터 배터리입니다.\", \n    \"description_ru\": \"Батареи конденсатора, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"护卫舰级别电容器电池。\", \n    \"descriptionID\": 64859, \n    \"hasTypes\": 1, \n    \"iconID\": 89, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 65933, \n    \"parentGroupID\": 664\n  }, \n  \"704\": {\n    \"description_de\": \"Energiespeicher-Batterien für Schiffe der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Cruiser-sized capacitor batteries.\", \n    \"description_es\": \"Baterías de condensador para naves de tamaño crucero.\", \n    \"description_fr\": \"Batteries de capaciteur adaptées aux croiseurs.\", \n    \"description_it\": \"Cruiser-sized capacitor batteries.\", \n    \"description_ja\": \"巡洋艦級キャパシタバッテリー。\", \n    \"description_ko\": \"크루저급 캐패시터 배터리입니다.\", \n    \"description_ru\": \"Батареи конденсатора, предназначенные для установки на крейсеры.\", \n    \"description_zh\": \"巡洋舰级别电容器电池。\", \n    \"descriptionID\": 64860, \n    \"hasTypes\": 1, \n    \"iconID\": 89, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 65934, \n    \"parentGroupID\": 664\n  }, \n  \"705\": {\n    \"description_de\": \"Für Schlachtschiffe typische Energiespeicher-Batterien.\", \n    \"description_en-us\": \"Battleship-sized capacitor batteries.\", \n    \"description_es\": \"Baterías de condensador para naves de tamaño acorazado.\", \n    \"description_fr\": \"Batteries de capaciteur adaptées aux cuirassés.\", \n    \"description_it\": \"Battleship-sized capacitor batteries.\", \n    \"description_ja\": \"戦艦級のキャパシタバッテリー。\", \n    \"description_ko\": \"배틀쉽급 캐패시터 배터리입니다.\", \n    \"description_ru\": \"Батареи конденсатора, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"战列舰级别电容器电池。\", \n    \"descriptionID\": 64861, \n    \"hasTypes\": 1, \n    \"iconID\": 89, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 65935, \n    \"parentGroupID\": 664\n  }, \n  \"706\": {\n    \"description_de\": \"Computerisierte Systeme, die dazu entwickelt wurden, die Nachführgeschwindigkeit von Geschütztürmen zu erhöhen.\", \n    \"description_en-us\": \"Computerized systems designed to improve turret tracking.\", \n    \"description_es\": \"Sistemas informatizados diseñados para mejorar la capacidad de rastreo de las torretas.\", \n    \"description_fr\": \"Systèmes informatisés conçus pour améliorer la poursuite des tourelles.\", \n    \"description_it\": \"Computerized systems designed to improve turret tracking.\", \n    \"description_ja\": \"タレット追跡を向上させるコンピュータシステム。\", \n    \"description_ko\": \"터렛 트래킹 성능을 향상하는 컴퓨팅 시스템입니다.\", \n    \"description_ru\": \"Компьютерные системы, разработанные для улучшения слежения орудий за целью.\", \n    \"description_zh\": \"用于增强炮台跟踪能力的计算机系统。\", \n    \"descriptionID\": 64862, \n    \"hasTypes\": 1, \n    \"iconID\": 3346, \n    \"name_de\": \"Nachführungscomputer\", \n    \"name_en-us\": \"Tracking Computers\", \n    \"name_es\": \"Ordenadores de rastreo\", \n    \"name_fr\": \"Ordinateurs de suivi\", \n    \"name_it\": \"Tracking Computers\", \n    \"name_ja\": \"トラッキングコンピューター\", \n    \"name_ko\": \"트래킹 컴퓨터\", \n    \"name_ru\": \"Вычислители наводки орудий\", \n    \"name_zh\": \"索敌计算机\", \n    \"nameID\": 65936, \n    \"parentGroupID\": 143\n  }, \n  \"707\": {\n    \"description_de\": \"Fest verdrahtete Systeme, die dazu entwickelt wurden, die Nachführgeschwindigkeit von Geschütztürmen zu erhöhen.\", \n    \"description_en-us\": \"Hardwired systems designed to improve turret tracking.\", \n    \"description_es\": \"Sistemas integrados diseñados para mejorar la capacidad de rastreo de las torretas.\", \n    \"description_fr\": \"Systèmes câblés conçus pour améliorer la poursuite des tourelles.\", \n    \"description_it\": \"Hardwired systems designed to improve turret tracking.\", \n    \"description_ja\": \"タレット追跡を向上させるシステム。\", \n    \"description_ko\": \"터렛 트래킹 성능을 향상하는 하드와이어링 시스템입니다.\", \n    \"description_ru\": \"Сложные системы, разработанные для улучшения слежения орудий за целью.\", \n    \"description_zh\": \"增强炮台跟踪速度的固件系统。\", \n    \"descriptionID\": 64863, \n    \"hasTypes\": 1, \n    \"iconID\": 1640, \n    \"name_de\": \"Nachführungsverbesserungen\", \n    \"name_en-us\": \"Tracking Enhancers\", \n    \"name_es\": \"Intensificadores de rastreo\", \n    \"name_fr\": \"Optimisateurs de suivi\", \n    \"name_it\": \"Tracking Enhancers\", \n    \"name_ja\": \"トラッキングエンハンサー\", \n    \"name_ko\": \"트래킹 향상장치\", \n    \"name_ru\": \"Приводы наводки орудий\", \n    \"name_zh\": \"索敌增强器\", \n    \"nameID\": 65937, \n    \"parentGroupID\": 143\n  }, \n  \"708\": {\n    \"description_de\": \"Entwickelt um die Nachführgeschwindigkeit eines anderen Schiffs zu erhöhen.\", \n    \"description_en-us\": \"Designed to give a boost to another ship's tracking speed.\", \n    \"description_es\": \"Diseñados para potenciar la velocidad de rastreo de otra nave.\", \n    \"description_fr\": \"Conçues pour amplifier la vitesse de poursuite d'un autre vaisseau.\", \n    \"description_it\": \"Designed to give a boost to another ship's tracking speed.\", \n    \"description_ja\": \"他の艦船の追跡速度を一時的に高める。\", \n    \"description_ko\": \"대상 함선의 트래킹 속도를 향상할 수 있는 시스템입니다.\", \n    \"description_ru\": \"Разработаны для увеличения скорости слежения орудий другого корабля за целью.\", \n    \"description_zh\": \"增强另外一艘舰船炮台跟踪速度的链接系统。\", \n    \"descriptionID\": 64864, \n    \"hasTypes\": 1, \n    \"iconID\": 3346, \n    \"name_de\": \"Fern-Nachführungscomputer\", \n    \"name_en-us\": \"Remote Tracking Computers\", \n    \"name_es\": \"Ordenadores de rastreo remoto\", \n    \"name_fr\": \"Ordinateurs de suivi à distance\", \n    \"name_it\": \"Remote Tracking Computers\", \n    \"name_ja\": \"リモートトラッキングコンピューター\", \n    \"name_ko\": \"원격 트래킹 컴퓨터\", \n    \"name_ru\": \"Передатчики данных наводки\", \n    \"name_zh\": \"远距索敌计算机\", \n    \"nameID\": 65938, \n    \"parentGroupID\": 143\n  }, \n  \"711\": {\n    \"description_de\": \"Für Fernscans des Frachtraums eines Zielschiffes.\", \n    \"description_en-us\": \"For remote scanning of a target ship's cargo hold.\", \n    \"description_es\": \"Para escanear a distancia la bodega de una nave objetivo.\", \n    \"description_fr\": \"Pour scanner à distance le contenu de la soute de chargement du vaisseau cible.\", \n    \"description_it\": \"For remote scanning of a target ship's cargo hold.\", \n    \"description_ja\": \"ターゲット艦船のカーゴホールドの遠隔スキャンが可能。\", \n    \"description_ko\": \"대상 함선의 화물실을 원격으로 스캔할 수 있는 장치입니다.\", \n    \"description_ru\": \"Для удаленного сканирования грузовых отсеков кораблей.\", \n    \"description_zh\": \"可以在一定距离上对目标舰船的货柜舱进行扫描。\", \n    \"descriptionID\": 64865, \n    \"hasTypes\": 1, \n    \"iconID\": 106, \n    \"name_de\": \"Frachtscanner\", \n    \"name_en-us\": \"Cargo Scanners\", \n    \"name_es\": \"Escáneres de carga\", \n    \"name_fr\": \"Scanners de soute\", \n    \"name_it\": \"Cargo Scanners\", \n    \"name_ja\": \"カーゴスキャナー\", \n    \"name_ko\": \"화물 스캐너\", \n    \"name_ru\": \"Комплексы досмотра груза\", \n    \"name_zh\": \"货舱扫描器\", \n    \"nameID\": 65939, \n    \"parentGroupID\": 1708\n  }, \n  \"712\": {\n    \"description_de\": \"Abschusshangars, die für den Abschuss von Scan-Sonden für die stellare Dreiecksmethode geschaffen sind.\", \n    \"description_en-us\": \"Launcher bays designed to fire scan probes for stellar triangulation.\", \n    \"description_es\": \"Plataformas de lanzamiento diseñadas para disparar sondas de escaneo para la triangulación estelar.\", \n    \"description_fr\": \"Plateformes de lancement conçues pour envoyer des sondes de balayage afin d'obtenir une triangulation stellaire.\", \n    \"description_it\": \"Launcher bays designed to fire scan probes for stellar triangulation.\", \n    \"description_ja\": \"恒星三角測量を行うためのスキャンプローブを打ち上げるランチャーベイ。\", \n    \"description_ko\": \"삼각 측량 천문기술이 탑재된 스캔 프로브를 사출할 수 있는 런처입니다.\", \n    \"description_ru\": \"Пусковые установки, предназначенные для запуска сканирующих зондов.\", \n    \"description_zh\": \"进行空间三角扫描时，用于发射扫描探针的发射舱。\", \n    \"descriptionID\": 65188, \n    \"hasTypes\": 1, \n    \"iconID\": 2677, \n    \"name_de\": \"Scansondenwerfer\", \n    \"name_en-us\": \"Scan Probe Launchers\", \n    \"name_es\": \"Lanzasondas de escaneo\", \n    \"name_fr\": \"Lanceurs de sondes de balayage\", \n    \"name_it\": \"Scan Probe Launchers\", \n    \"name_ja\": \"スキャンプローブランチャー\", \n    \"name_ko\": \"스캔 프로브 런처\", \n    \"name_ru\": \"Пусковые установки разведзондов\", \n    \"name_zh\": \"扫描探针发射器\", \n    \"nameID\": 66262, \n    \"parentGroupID\": 1708\n  }, \n  \"713\": {\n    \"description_de\": \"Beschaffen taktische Analysen der Fähigkeiten eines Zielschiffs.\", \n    \"description_en-us\": \"Provide tactical analysis of a target ship's capabilities.\", \n    \"description_es\": \"Proporcionan análisis tácticos de las capacidades de la nave objetivo.\", \n    \"description_fr\": \"Fournissent une analyse tactique des capacités du vaisseau cible.\", \n    \"description_it\": \"Provide tactical analysis of a target ship's capabilities.\", \n    \"description_ja\": \"ターゲット艦船の戦闘能力を解析する。\", \n    \"description_ko\": \"대상 함선의 제원 및 성능을 확인할 수 있는 스캔 장치입니다.\", \n    \"description_ru\": \"Производят тактический анализ характеристик корабля-цели.\", \n    \"description_zh\": \"对目标舰船的战斗力进行战术分析。\", \n    \"descriptionID\": 64866, \n    \"hasTypes\": 1, \n    \"iconID\": 107, \n    \"name_de\": \"Schiffsscanner\", \n    \"name_en-us\": \"Ship Scanners\", \n    \"name_es\": \"Escáneres de nave\", \n    \"name_fr\": \"Scanners du vaisseau\", \n    \"name_it\": \"Ship Scanners\", \n    \"name_ja\": \"シップスキャナー\", \n    \"name_ko\": \"함선 스캐너\", \n    \"name_ru\": \"Комплексы досмотра оснастки\", \n    \"name_zh\": \"舰船扫描器\", \n    \"nameID\": 65940, \n    \"parentGroupID\": 1708\n  }, \n  \"714\": {\n    \"description_de\": \"Bergbausensor-Ausrüstung, die den integrierten Bergbauscanner verbessert und Vorteile für den kritischen Erfolg des Bergbaulasers sowie die Wahrscheinlichkeit von Rückständen bietet.\", \n    \"description_en-us\": \"Mining sensor equipment that enhances the integrated mining scanner and provides benefits to mining laser critical success and residue chance.\", \n    \"description_es\": \"Equipo de sensores mineros que mejora el escáner de minería integrado, aumentando las probabilidades de éxito crítico y reduciendo la generación de residuos en los láseres de minería.\", \n    \"description_fr\": \"Équipement détecteur d'extraction minière qui améliore le scanner d'extraction intégré et offre des avantages pour le succès critique du laser d'extraction et la probabilité de résidus.\", \n    \"description_it\": \"Mining sensor equipment that enhances the integrated mining scanner and provides benefits to mining laser critical success and residue chance.\", \n    \"description_ja\": \"統合型採掘用スキャナーを強化し、採掘レーザーのクリティカル率と残留物率を改善する採掘センサー。\", \n    \"description_ko\": \"채굴 스캐너를 강화하는 통합 채굴 센서 장비로 채굴 레이저 대량 채굴 확률 및 손실 확률을 조정합니다.\", \n    \"description_ru\": \"Это оборудование увеличивает мощность интегрированного бурового сканера, а также усиливает буровой лазер, повышая шанс критического удара и снижая вероятность получения отходов.\", \n    \"description_zh\": \"一种采矿传感器设备，可增强集成采矿勘探仪，同时提高采矿激光器的暴击率，减少出现残渣的几率。\", \n    \"descriptionID\": 64867, \n    \"hasTypes\": 1, \n    \"iconID\": 2732, \n    \"name_de\": \"Bergbauvermessungs-Chipsätze\", \n    \"name_en-us\": \"Mining Survey Chipsets\", \n    \"name_es\": \"Chipsets de prospección de minería\", \n    \"name_fr\": \"Puces d'arpentage d'extraction minière\", \n    \"name_it\": \"Mining Survey Chipsets\", \n    \"name_ja\": \"採掘調査用チップセット\", \n    \"name_ko\": \"채굴 조사 칩셋\", \n    \"name_ru\": \"Считывающие буровые чипы\", \n    \"name_zh\": \"采矿调查芯片组\", \n    \"nameID\": 65941, \n    \"parentGroupID\": 1708\n  }, \n  \"715\": {\n    \"description_de\": \"Zielerfassungsstörer, die auf den Gebrauch gegen magnetometrische Sensoren spezialisiert sind.\", \n    \"description_en-us\": \"Targeting jammers specialized for use against magnetometric sensors.\", \n    \"description_es\": \"Aparatos perturbadores de la adquisición de objetivos que inhiben los sensores magnetométricos.\", \n    \"description_fr\": \"Brouilleurs de ciblage spécifiquement destinés à être utilisés contre les détecteurs magnétométriques.\", \n    \"description_it\": \"Targeting jammers specialized for use against magnetometric sensors.\", \n    \"description_ja\": \"磁気測定センサーを妨害するためのターゲッティングジャマー。\", \n    \"description_ko\": \"자기장 센서 교란에 사용되는 타겟팅 재머입니다.\", \n    \"description_ru\": \"Постановщики помех системам наведения, применяющиеся против магнитометрических сенсоров.\", \n    \"description_zh\": \"专门针对磁力计感应器的干扰设备。\", \n    \"descriptionID\": 64868, \n    \"hasTypes\": 1, \n    \"iconID\": 3227, \n    \"name_de\": \"Magnetometrische Störsender\", \n    \"name_en-us\": \"Magnetometric Jammers\", \n    \"name_es\": \"Perturbadores magnetométricos\", \n    \"name_fr\": \"Brouilleurs magnétométriques\", \n    \"name_it\": \"Magnetometric Jammers\", \n    \"name_ja\": \"磁力ジャマー\", \n    \"name_ko\": \"자기장 센서 재머\", \n    \"name_ru\": \"Магнитометрические глушители\", \n    \"name_zh\": \"磁力计干扰器\", \n    \"nameID\": 65942, \n    \"parentGroupID\": 677\n  }, \n  \"716\": {\n    \"description_de\": \"Zielerfassungsstörer, die für den Gebrauch gegen Ladar-Sensoren spezialisiert sind\", \n    \"description_en-us\": \"Targeting jammers specialized for use against Ladar sensors.\", \n    \"description_es\": \"Aparatos perturbadores de la adquisición de objetivos que inhiben los lidares.\", \n    \"description_fr\": \"Brouilleurs de ciblage spécifiquement destinés à être utilisés contre les détecteurs Ladar.\", \n    \"description_it\": \"Targeting jammers specialized for use against Ladar sensors.\", \n    \"description_ja\": \"光学センサーを妨害するためのターゲティングジャマー。\", \n    \"description_ko\": \"라이다 센서 교란에 사용되는 타겟팅 재머장치입니다.\", \n    \"description_ru\": \"Постановщики помех системам наведения, применяющиеся против ладарных сенсоров.\", \n    \"description_zh\": \"专门针对光雷达感应器的干扰设备\", \n    \"descriptionID\": 64869, \n    \"hasTypes\": 1, \n    \"iconID\": 3228, \n    \"name_de\": \"Ladar-Störsender\", \n    \"name_en-us\": \"Ladar Jammers\", \n    \"name_es\": \"Perturbadores lidar\", \n    \"name_fr\": \"Brouilleurs ladar\", \n    \"name_it\": \"Ladar Jammers\", \n    \"name_ja\": \"光学ジャマー\", \n    \"name_ko\": \"라이다 센서 재머\", \n    \"name_ru\": \"Ладарные глушители\", \n    \"name_zh\": \"光雷达干扰器\", \n    \"nameID\": 65943, \n    \"parentGroupID\": 677\n  }, \n  \"717\": {\n    \"description_de\": \"Zielerfassungsstörer, spezialisiert auf den Einsatz gegen gravimetrische Sensoren.\", \n    \"description_en-us\": \"Targeting jammers specialized for use against gravimetric sensors.\", \n    \"description_es\": \"Aparatos perturbadores de la adquisición de objetivos que inhiben los sensores gravimétricos.\", \n    \"description_fr\": \"Brouilleurs de ciblage spécifiquement destinés à être utilisés contre les détecteurs gravimétriques.\", \n    \"description_it\": \"Targeting jammers specialized for use against gravimetric sensors.\", \n    \"description_ja\": \"重力センサーを妨害するためのターゲティングジャマー。\", \n    \"description_ko\": \"중력장 센서 교란에 사용되는 타겟팅 재머장치입니다.\", \n    \"description_ru\": \"Постановщики помех системам наведения, применяющиеся против гравиметрических сенсоров.\", \n    \"description_zh\": \"专门针对引力计感应器的干扰设备。\", \n    \"descriptionID\": 64870, \n    \"hasTypes\": 1, \n    \"iconID\": 3226, \n    \"name_de\": \"Gravimetrische Störsender\", \n    \"name_en-us\": \"Gravimetric Jammers\", \n    \"name_es\": \"Perturbadores gravimétricos\", \n    \"name_fr\": \"Brouilleurs gravimétriques\", \n    \"name_it\": \"Gravimetric Jammers\", \n    \"name_ja\": \"重力ジャマー\", \n    \"name_ko\": \"중력장 센서 재머\", \n    \"name_ru\": \"Гравиметрические глушители\", \n    \"name_zh\": \"引力计干扰器\", \n    \"nameID\": 65944, \n    \"parentGroupID\": 677\n  }, \n  \"718\": {\n    \"description_de\": \"Zielerfassungsstörer, die auf den Gebrauch gegen Radar-Sensoren spezialisiert sind.\", \n    \"description_en-us\": \"Targeting jammers specialized for use against radar sensors.\", \n    \"description_es\": \"Aparatos perturbadores de la adquisición de objetivos que inhiben los radares.\", \n    \"description_fr\": \"Brouilleurs de ciblage spécifiquement destinés à être utilisés contre les détecteurs radar.\", \n    \"description_it\": \"Targeting jammers specialized for use against radar sensors.\", \n    \"description_ja\": \"レーダーセンサーを妨害するためのターゲットジャマー。\", \n    \"description_ko\": \"레이더 센서 교란에 사용되는 타겟팅 재머장치입니다.\", \n    \"description_ru\": \"Постановщики помех системам наведения, применяющиеся против радарных сенсоров.\", \n    \"description_zh\": \"专门针对雷达感应器的干扰设备。\", \n    \"descriptionID\": 64871, \n    \"hasTypes\": 1, \n    \"iconID\": 3229, \n    \"name_de\": \"Radar-Störsender\", \n    \"name_en-us\": \"Radar Jammers\", \n    \"name_es\": \"Perturbadores de radares\", \n    \"name_fr\": \"Brouilleurs radar\", \n    \"name_it\": \"Radar Jammers\", \n    \"name_ja\": \"電波ジャマー\", \n    \"name_ko\": \"레이더 센서 재머\", \n    \"name_ru\": \"Радарные глушители\", \n    \"name_zh\": \"雷达干扰器\", \n    \"nameID\": 65945, \n    \"parentGroupID\": 677\n  }, \n  \"719\": {\n    \"description_de\": \"Zielerfassungsstörer, die für die Unterbrechung von multispektralen Sensoren sorgen.\", \n    \"description_en-us\": \"Targeting jammers that induce multispectral sensor disruption.\", \n    \"description_es\": \"Aparatos perturbadores de la adquisición de objetivos que provocan la disrupción multiespectral de los sensores.\", \n    \"description_fr\": \"Brouilleurs de ciblage produisant une perturbation multispectrale des détecteurs.\", \n    \"description_it\": \"Targeting jammers that induce multispectral sensor disruption.\", \n    \"description_ja\": \"多重周波数センサーを妨害するためのターゲッティングジャマー。\", \n    \"description_ko\": \"다중 센서 교란에 사용되는 타겟팅 재머장치입니다.\", \n    \"description_ru\": \"Постановщики помех системам наведения, испускающие искажающие сигналы в широком диапазоне частот.\", \n    \"description_zh\": \"对各个频谱的感应器都有效的干扰设备。\", \n    \"descriptionID\": 64872, \n    \"hasTypes\": 1, \n    \"iconID\": 109, \n    \"name_de\": \"Multispektrum-Störsender\", \n    \"name_en-us\": \"Multi Spectrum Jammers\", \n    \"name_es\": \"Perturbadores multiespectro\", \n    \"name_fr\": \"Brouilleurs multispectraux\", \n    \"name_it\": \"Multi Spectrum Jammers\", \n    \"name_ja\": \"多重周波数ジャマー\", \n    \"name_ko\": \"다중 스펙트럼 재머\", \n    \"name_ru\": \"Универсальные глушители\", \n    \"name_zh\": \"多谱干扰器\", \n    \"nameID\": 65946, \n    \"parentGroupID\": 677\n  }, \n  \"720\": {\n    \"description_de\": \"Reduziert die Empfindlichkeit von Sensoren auf gravimetrische Strörungen.\", \n    \"description_en-us\": \"Reduces the sensors' vulnerability to gravimetric jamming.\", \n    \"description_es\": \"Reduce la vulnerabilidad de los sensores a las perturbaciones gravimétricas.\", \n    \"description_fr\": \"Réduisent la vulnérabilité des détecteurs au brouillage gravimétrique.\", \n    \"description_it\": \"Reduces the sensors' vulnerability to gravimetric jamming.\", \n    \"description_ja\": \"重量ジャミングに対するセンサーの脆弱性を軽減。\", \n    \"description_ko\": \"중력장 재밍 관련 센서 저항력을 향상하는 장치입니다.\", \n    \"description_ru\": \"Уменьшают уязвимость сенсоров корабля к гравиметрическим помехам.\", \n    \"description_zh\": \"增强感应器对引力计类型干扰的抵抗能力。\", \n    \"descriptionID\": 65075, \n    \"hasTypes\": 1, \n    \"iconID\": 104, \n    \"name_de\": \"Gravimetrische Sicherungsanlagen\", \n    \"name_en-us\": \"Gravimetric Backup Arrays\", \n    \"name_es\": \"Sistemas gravimétricos de apoyo\", \n    \"name_fr\": \"Modules de secours gravimétriques\", \n    \"name_it\": \"Gravimetric Backup Arrays\", \n    \"name_ja\": \"重力センサー補助\", \n    \"name_ko\": \"중력장 백업 시설\", \n    \"name_ru\": \"Резервные гравиметрические системы\", \n    \"name_zh\": \"引力计备用阵列\", \n    \"nameID\": 66149, \n    \"parentGroupID\": 681\n  }, \n  \"721\": {\n    \"description_de\": \"Reduziert die Empfindlichkeit der Sensoren gegenüber Ladar-Störung.\", \n    \"description_en-us\": \"Reduces the sensors' vulnerability to Ladar jamming.\", \n    \"description_es\": \"Reduce la vulnerabilidad de los sensores a las perturbaciones de los lidares.\", \n    \"description_fr\": \"Réduisent la vulnérabilité des détecteurs au brouillage ladar.\", \n    \"description_it\": \"Reduces the sensors' vulnerability to Ladar jamming.\", \n    \"description_ja\": \"レーダージャミングに対するセンサー脆弱性を軽減。\", \n    \"description_ko\": \"라이다 재밍 관련 센서 저항력을 향상하는 장치입니다.\", \n    \"description_ru\": \"Уменьшают уязвимость сенсоров корабля к ладарным помехам.\", \n    \"description_zh\": \"增强感应器对光雷达类型干扰的抵抗能力。\", \n    \"descriptionID\": 65073, \n    \"hasTypes\": 1, \n    \"iconID\": 104, \n    \"name_de\": \"Ladar-Sicherungsanlagen\", \n    \"name_en-us\": \"Ladar Backup Arrays\", \n    \"name_es\": \"Sistemas de lidares de apoyo\", \n    \"name_fr\": \"Modules de secours ladar\", \n    \"name_it\": \"Ladar Backup Arrays\", \n    \"name_ja\": \"光学センサー補助\", \n    \"name_ko\": \"라이다 백업 시설\", \n    \"name_ru\": \"Резервные ладарные системы\", \n    \"name_zh\": \"光雷达备用阵列\", \n    \"nameID\": 66147, \n    \"parentGroupID\": 681\n  }, \n  \"722\": {\n    \"description_de\": \"Reduziert die Empfindlichkeit der Sensoren gegen Radar-Störung.\", \n    \"description_en-us\": \"Reduces the sensors' vulnerability to Radar jamming.\", \n    \"description_es\": \"Reduce la vulnerabilidad de los sensores a las perturbaciones del radar.\", \n    \"description_fr\": \"Réduisent la vulnérabilité des détecteurs au brouillage radar.\", \n    \"description_it\": \"Reduces the sensors' vulnerability to Radar jamming.\", \n    \"description_ja\": \"レーダージャミングに対するセンサーの脆弱性を軽減。\", \n    \"description_ko\": \"레이더 재밍에 대한 센서의 저항력을 향상합니다.\", \n    \"description_ru\": \"Уменьшает уязвимость сенсоров корабля к радарным помехам.\", \n    \"description_zh\": \"增强感应器对雷达类型干扰的抵抗能力。\", \n    \"descriptionID\": 65074, \n    \"hasTypes\": 1, \n    \"iconID\": 104, \n    \"name_de\": \"Radar-Sicherungsanlagen\", \n    \"name_en-us\": \"Radar Backup Arrays\", \n    \"name_es\": \"Sistemas de radares de apoyo\", \n    \"name_fr\": \"Modules de secours radar\", \n    \"name_it\": \"Radar Backup Arrays\", \n    \"name_ja\": \"電波センサー補助\", \n    \"name_ko\": \"레이더 백업 시설\", \n    \"name_ru\": \"Резервные радарные системы\", \n    \"name_zh\": \"雷达备用阵列\", \n    \"nameID\": 66148, \n    \"parentGroupID\": 681\n  }, \n  \"723\": {\n    \"description_de\": \"Reduziert die Empfindlichkeit des Sensors gegenüber magnetometrischen Störungen.\", \n    \"description_en-us\": \"Reduces the sensors' vulnerability to magnetometric jamming.\", \n    \"description_es\": \"Reduce la vulnerabilidad de los sensores a las perturbaciones magnetométricas.\", \n    \"description_fr\": \"Réduisent la vulnérabilité des détecteurs au brouillage magnétométrique.\", \n    \"description_it\": \"Reduces the sensors' vulnerability to magnetometric jamming.\", \n    \"description_ja\": \"磁気測定ジャミングに対するセンサーの脆弱性を軽減。\", \n    \"description_ko\": \"자기장 센서 재밍 저항력을 향상하는 장치입니다.\", \n    \"description_ru\": \"Уменьшает уязвимость сенсоров корабля к магнитометрическим помехам.\", \n    \"description_zh\": \"增强感应器对磁力计类型干扰的抵抗能力。\", \n    \"descriptionID\": 64873, \n    \"hasTypes\": 1, \n    \"iconID\": 104, \n    \"name_de\": \"Magnetometrische Sicherungsanlagen\", \n    \"name_en-us\": \"Magnetometric Backup Arrays\", \n    \"name_es\": \"Sistemas magnetométricos de apoyo\", \n    \"name_fr\": \"Modules de secours magnétométrique\", \n    \"name_it\": \"Magnetometric Backup Arrays\", \n    \"name_ja\": \"磁力センサー補助\", \n    \"name_ko\": \"자기장 센서 백업 시설\", \n    \"name_ru\": \"Резервные магнитометрические системы\", \n    \"name_zh\": \"磁力计备用阵列\", \n    \"nameID\": 65947, \n    \"parentGroupID\": 681\n  }, \n  \"724\": {\n    \"description_de\": \"Reduziert die Empfindlichkeit des Sensors gegenüber diversen Arten der Störung.\", \n    \"description_en-us\": \"Reduces the sensors' vulnerability to multiple forms of jamming.\", \n    \"description_es\": \"Reduce la vulnerabilidad de los sensores a varias formas de perturbación de la señal.\", \n    \"description_fr\": \"Réduisent la vulnérabilité des détecteurs à diverses formes de brouillage.\", \n    \"description_it\": \"Reduces the sensors' vulnerability to multiple forms of jamming.\", \n    \"description_ja\": \"各種のジャミングに対するセンサーの脆弱性を軽減。\", \n    \"description_ko\": \"다중 센서 재밍 저항력을 향상하는 장치입니다.\", \n    \"description_ru\": \"Уменьшают уязвимость сенсоров корабля к различным типам помех.\", \n    \"description_zh\": \"增强感应器对多谱干扰器的抵抗能力。\", \n    \"descriptionID\": 64874, \n    \"hasTypes\": 1, \n    \"iconID\": 104, \n    \"name_de\": \"Multifrequenz-Sicherungsanlagen\", \n    \"name_en-us\": \"Multi-Frequency Backup Arrays\", \n    \"name_es\": \"Sistemas multifrecuencia de apoyo\", \n    \"name_fr\": \"Modules de secours multifréquence\", \n    \"name_it\": \"Multi-Frequency Backup Arrays\", \n    \"name_ja\": \"多重周波数センサー補助\", \n    \"name_ko\": \"다중 프리퀀시 백업 시설\", \n    \"name_ru\": \"Резервные мультичастотные системы\", \n    \"name_zh\": \"多谱备用阵列\", \n    \"nameID\": 65948, \n    \"parentGroupID\": 681\n  }, \n  \"725\": {\n    \"description_de\": \"Erhöht die Stärke der gravimetrischen Sensoren eines Schiffes für kurze Zeit.\", \n    \"description_en-us\": \"Boost a ship's gravimetric sensor strength for a short duration.\", \n    \"description_es\": \"Aumenta brevemente la intensidad de los sensores gravimétricos de la nave.\", \n    \"description_fr\": \"Amplifient la puissance de détection gravimétrique d'un vaisseau pendant une courte durée.\", \n    \"description_it\": \"Boost a ship's gravimetric sensor strength for a short duration.\", \n    \"description_ja\": \"艦船の重力センサー強度を一時的に向上させる。\", \n    \"description_ko\": \"함선의 중력장 센서 강도를 짧은 시간 동안 강화합니다.\", \n    \"description_ru\": \"Увеличивают мощность гравиметрических сенсоров корабля на короткое время.\", \n    \"description_zh\": \"在较短的时间内增强舰船的引力计感应器强度。\", \n    \"descriptionID\": 64875, \n    \"hasTypes\": 1, \n    \"iconID\": 104, \n    \"name_de\": \"Gravimetrische Sensoren\", \n    \"name_en-us\": \"Gravimetric Sensors\", \n    \"name_es\": \"Sensores gravimétricos\", \n    \"name_fr\": \"Détecteurs gravimétriques\", \n    \"name_it\": \"Gravimetric Sensors\", \n    \"name_ja\": \"重力センサー\", \n    \"name_ko\": \"중력장 센서\", \n    \"name_ru\": \"Гравиметрические сенсоры\", \n    \"name_zh\": \"引力计感应器\", \n    \"nameID\": 65949, \n    \"parentGroupID\": 685\n  }, \n  \"726\": {\n    \"description_de\": \"Verstärkt den Ladar-Sensor eines Schiffs für eine kurze Zeit.\", \n    \"description_en-us\": \"Boost a ship's Ladar sensor strength for a short duration.\", \n    \"description_es\": \"Aumenta brevemente la intensidad de los lidares de la nave.\", \n    \"description_fr\": \"Amplifient la puissance de détection Ladar d'un vaisseau pendant une courte durée.\", \n    \"description_it\": \"Boost a ship's Ladar sensor strength for a short duration.\", \n    \"description_ja\": \"艦船の光学センサー強度を一時的に向上させる。\", \n    \"description_ko\": \"함선의 라이다 센서 강도를 짧은 시간 동안 강화합니다.\", \n    \"description_ru\": \"Увеличивают мощность ладарных сенсоров корабля на короткое время.\", \n    \"description_zh\": \"可在较短时间内增强舰船的光雷达感应器强度\", \n    \"descriptionID\": 64876, \n    \"hasTypes\": 1, \n    \"iconID\": 104, \n    \"name_de\": \"Ladar-Sensoren\", \n    \"name_en-us\": \"Ladar Sensors\", \n    \"name_es\": \"Sensores lidar\", \n    \"name_fr\": \"Détecteurs ladar\", \n    \"name_it\": \"Ladar Sensors\", \n    \"name_ja\": \"光学センサー\", \n    \"name_ko\": \"라이다 센서\", \n    \"name_ru\": \"Ладарные сенсоры\", \n    \"name_zh\": \"光雷达感应器\", \n    \"nameID\": 65950, \n    \"parentGroupID\": 685\n  }, \n  \"727\": {\n    \"description_de\": \"Verstärken die magnetometrischen Sensoren eines Schiffs für kurze Zeit.\", \n    \"description_en-us\": \"Boost a ship's magnetometric sensor strength for a short duration.\", \n    \"description_es\": \"Aumenta brevemente la intensidad de los sensores magnetométricos de la nave.\", \n    \"description_fr\": \"Amplifient la puissance de détection magnétométrique d'un vaisseau pendant une courte durée.\", \n    \"description_it\": \"Boost a ship's magnetometric sensor strength for a short duration.\", \n    \"description_ja\": \"艦船の磁気センサー強度を一時的に向上させる。\", \n    \"description_ko\": \"함선의 자기장 센서 강도를 짧은 시간 동안 강화합니다.\", \n    \"description_ru\": \"Увеличивают мощность магнитометрических сенсоров корабля на короткое время.\", \n    \"description_zh\": \"在较短时间内增加舰船磁力计感应器的强度。\", \n    \"descriptionID\": 64877, \n    \"hasTypes\": 1, \n    \"iconID\": 104, \n    \"name_de\": \"Magnetometrische Sensoren\", \n    \"name_en-us\": \"Magnetometric Sensors\", \n    \"name_es\": \"Sensores magnetométricos\", \n    \"name_fr\": \"Détecteurs magnétométriques\", \n    \"name_it\": \"Magnetometric Sensors\", \n    \"name_ja\": \"磁力センサー\", \n    \"name_ko\": \"자기장 센서\", \n    \"name_ru\": \"Магнитометрические сенсоры\", \n    \"name_zh\": \"磁力计感应器\", \n    \"nameID\": 65951, \n    \"parentGroupID\": 685\n  }, \n  \"728\": {\n    \"description_de\": \"Verstärken die Sensoren eines Schiffs über eine kurze Zeit über das ganze Spektrum.\", \n    \"description_en-us\": \"Boost a ship's sensors across the spectrum for a short duration.\", \n    \"description_es\": \"Aumenta brevemente los sensores de todo el espectro de la nave.\", \n    \"description_fr\": \"Amplifient la puissance de tous les détecteurs d'un vaisseau pendant une courte durée.\", \n    \"description_it\": \"Boost a ship's sensors across the spectrum for a short duration.\", \n    \"description_ja\": \"艦船のセンサーを全帯域で一時的に向上させる。\", \n    \"description_ko\": \"함선의 센서를 짧은 시간 동안 강화합니다.\", \n    \"description_ru\": \"Увеличивают мощность всех сенсоров корабля на короткое время.\", \n    \"description_zh\": \"在较短的时间内增强舰船的多频谱感应强度。\", \n    \"descriptionID\": 64878, \n    \"hasTypes\": 1, \n    \"iconID\": 104, \n    \"name_de\": \"Multispektrum-Sensoren\", \n    \"name_en-us\": \"Multi-Spectrum Sensors\", \n    \"name_es\": \"Sensores multiespectro\", \n    \"name_fr\": \"Détecteurs multibandes\", \n    \"name_it\": \"Multi-Spectrum Sensors\", \n    \"name_ja\": \"多重周波数センサー\", \n    \"name_ko\": \"다중 스펙트럼 센서\", \n    \"name_ru\": \"Мультиспектральные сенсоры\", \n    \"name_zh\": \"多谱感应器\", \n    \"nameID\": 65952, \n    \"parentGroupID\": 685\n  }, \n  \"729\": {\n    \"description_de\": \"Verstärken den Radar-Sensor des Schiffs für kurze Zeit.\", \n    \"description_en-us\": \"Boost a ship's radar sensor strength for a short duration.\", \n    \"description_es\": \"Aumenta brevemente la intensidad de los sensores de radar de la nave.\", \n    \"description_fr\": \"Amplifient la puissance de détection radar d'un vaisseau pendant une courte durée.\", \n    \"description_it\": \"Boost a ship's radar sensor strength for a short duration.\", \n    \"description_ja\": \"艦船のレーダーセンサー強度を一時的に向上させる。\", \n    \"description_ko\": \"함선의 레이더 센서 강도를 짧은 시간 동안 강화합니다.\", \n    \"description_ru\": \"Увеличивают мощность радарных сенсоров корабля на короткое время.\", \n    \"description_zh\": \"在较短时间内增强舰船的雷达感应器强度。\", \n    \"descriptionID\": 64879, \n    \"hasTypes\": 1, \n    \"iconID\": 104, \n    \"name_de\": \"Radar-Sensoren\", \n    \"name_en-us\": \"Radar Sensors\", \n    \"name_es\": \"Sensores de radar\", \n    \"name_fr\": \"Détecteurs radar\", \n    \"name_it\": \"Radar Sensors\", \n    \"name_ja\": \"電波センサー\", \n    \"name_ko\": \"레이더 센서\", \n    \"name_ru\": \"Радарные сенсоры\", \n    \"name_zh\": \"雷达感应器\", \n    \"nameID\": 65953, \n    \"parentGroupID\": 685\n  }, \n  \"730\": {\n    \"description_de\": \"Offiziell genehmigte Erkennungsmarken der Imperial Navy.\", \n    \"description_en-us\": \"Officially sanctioned Imperial Navy insignias.\", \n    \"description_es\": \"Insignias oficiales de la Armada Imperial.\", \n    \"description_fr\": \"Insignes officiels de la Navy impériale.\", \n    \"description_it\": \"Officially sanctioned Imperial Navy insignias.\", \n    \"description_ja\": \"正式に授与された帝国海軍の認識証。\", \n    \"description_ko\": \"제국 해군 정식 계급장입니다.\", \n    \"description_ru\": \"Официальные идентификаторы флота Амаррской Империи.\", \n    \"description_zh\": \"官方授予的帝国海军徽章。\", \n    \"descriptionID\": 64880, \n    \"hasTypes\": 1, \n    \"iconID\": 2552, \n    \"name_de\": \"Amarr Navy\", \n    \"name_en-us\": \"Amarr Navy\", \n    \"name_es\": \"Armada Amarr\", \n    \"name_fr\": \"Amarr Navy\", \n    \"name_it\": \"Amarr Navy\", \n    \"name_ja\": \"アマー海軍\", \n    \"name_ko\": \"아마르 해군\", \n    \"name_ru\": \"Амаррского флота\", \n    \"name_zh\": \"艾玛海军\", \n    \"nameID\": 65954, \n    \"parentGroupID\": 616\n  }, \n  \"731\": {\n    \"description_de\": \"Offiziell genehmigte Ammatar Navy-Abzeichen.\", \n    \"description_en-us\": \"Officially sanctioned Ammatar Navy insignias.\", \n    \"description_es\": \"Insignias oficiales de la Armada Ammatar.\", \n    \"description_fr\": \"Insignes officiels de l'Ammatar Navy.\", \n    \"description_it\": \"Officially sanctioned Ammatar Navy insignias.\", \n    \"description_ja\": \"正式に授与されたアマター海軍認識証。\", \n    \"description_ko\": \"민마타 해군 정식 계급장입니다.\", \n    \"description_ru\": \"Официальные знаки отличия Флота Ammatar.\", \n    \"description_zh\": \"官方授予的艾玛达海军徽章\", \n    \"descriptionID\": 64881, \n    \"hasTypes\": 1, \n    \"iconID\": 2552, \n    \"name_de\": \"Ammatar Navy\", \n    \"name_en-us\": \"Ammatar Navy\", \n    \"name_es\": \"Armada Ammatar\", \n    \"name_fr\": \"Ammatar Navy\", \n    \"name_it\": \"Ammatar Navy\", \n    \"name_ja\": \"アマター海軍\", \n    \"name_ko\": \"아마타 해군\", \n    \"name_ru\": \"Амматарского флота\", \n    \"name_zh\": \"艾玛达海军\", \n    \"nameID\": 65955, \n    \"parentGroupID\": 616\n  }, \n  \"732\": {\n    \"description_de\": \"Offiziell genehmigte Caldari Navy-Erkennungsmarken.\", \n    \"description_en-us\": \"Officially sanctioned Caldari Navy insignias.\", \n    \"description_es\": \"Insignias oficiales de la Armada Caldari.\", \n    \"description_fr\": \"Insignes officiels de la Caldari Navy.\", \n    \"description_it\": \"Officially sanctioned Caldari Navy insignias.\", \n    \"description_ja\": \"正式に授与されたカルダリ海軍の認識証。\", \n    \"description_ko\": \"칼다리 해군 정식 계급장입니다.\", \n    \"description_ru\": \"Официальные знаки отличия Флота Caldari.\", \n    \"description_zh\": \"官方授予的加达里海军徽章\", \n    \"descriptionID\": 64882, \n    \"hasTypes\": 1, \n    \"iconID\": 2552, \n    \"name_de\": \"Caldari Navy\", \n    \"name_en-us\": \"Caldari Navy\", \n    \"name_es\": \"Armada Caldari\", \n    \"name_fr\": \"Caldari Navy\", \n    \"name_it\": \"Caldari Navy\", \n    \"name_ja\": \"カルダリ海軍\", \n    \"name_ko\": \"칼다리 해군\", \n    \"name_ru\": \"Калдарского флота\", \n    \"name_zh\": \"加达里海军\", \n    \"nameID\": 65956, \n    \"parentGroupID\": 616\n  }, \n  \"733\": {\n    \"description_de\": \"Offiziell genehmigte CONCORD-Erkennungsmarken.\", \n    \"description_en-us\": \"Officially sanctioned CONCORD insignias.\", \n    \"description_es\": \"Insignias oficiales de CONCORD.\", \n    \"description_fr\": \"Insignes officiels de CONCORD.\", \n    \"description_it\": \"Officially sanctioned CONCORD insignias.\", \n    \"description_ja\": \"正式に授与されたCONCORD認識証。\", \n    \"description_ko\": \"CONCORD 해군 정식 계급장입니다.\", \n    \"description_ru\": \"Официальные знаки отличия CONCORD.\", \n    \"description_zh\": \"官方授予的统合部徽章。\", \n    \"descriptionID\": 64883, \n    \"hasTypes\": 1, \n    \"iconID\": 2552, \n    \"name_de\": \"CONCORD\", \n    \"name_en-us\": \"CONCORD\", \n    \"name_es\": \"CONCORD\", \n    \"name_fr\": \"CONCORD\", \n    \"name_it\": \"CONCORD\", \n    \"name_ja\": \"CONCORD\", \n    \"name_ko\": \"CONCORD\", \n    \"name_ru\": \"КОНКОРДа\", \n    \"name_zh\": \"统一合作关系司令部\", \n    \"nameID\": 65957, \n    \"parentGroupID\": 616\n  }, \n  \"734\": {\n    \"description_de\": \"Offiziell genehmigte Gallente Navy-Erkennungsmarken.\", \n    \"description_en-us\": \"Officially sanctioned Gallente Navy insignias.\", \n    \"description_es\": \"Insignias oficiales de la Armada Gallente.\", \n    \"description_fr\": \"Insignes officiels de la Gallente Navy.\", \n    \"description_it\": \"Officially sanctioned Gallente Navy insignias.\", \n    \"description_ja\": \"正式に授与されたガレンテ海軍認識証。\", \n    \"description_ko\": \"갈란테 해군 정식 계급장입니다.\", \n    \"description_ru\": \"Официальные знаки отличия Флота Gallente.\", \n    \"description_zh\": \"官方授予的盖伦特海军徽章。\", \n    \"descriptionID\": 64884, \n    \"hasTypes\": 1, \n    \"iconID\": 2552, \n    \"name_de\": \"Gallente Navy\", \n    \"name_en-us\": \"Gallente Navy\", \n    \"name_es\": \"Armada Gallente\", \n    \"name_fr\": \"Gallente Navy\", \n    \"name_it\": \"Gallente Navy\", \n    \"name_ja\": \"ガレンテ海軍\", \n    \"name_ko\": \"갈란테 해군\", \n    \"name_ru\": \"Галлентского флота\", \n    \"name_zh\": \"盖伦特海军\", \n    \"nameID\": 65958, \n    \"parentGroupID\": 616\n  }, \n  \"735\": {\n    \"description_de\": \"Offiziell genehmigte Khanid Navy-Erkennungsmarken.\", \n    \"description_en-us\": \"Officially sanctioned Khanid Navy insignias.\", \n    \"description_es\": \"Insignias oficiales de la Armada Khanid.\", \n    \"description_fr\": \"Insignes officiels de la Khanid Navy.\", \n    \"description_it\": \"Officially sanctioned Khanid Navy insignias.\", \n    \"description_ja\": \"正式に授与されたクーニッド海軍の認識証。\", \n    \"description_ko\": \"카니드 해군 정식 계급장입니다.\", \n    \"description_ru\": \"Официальные знаки отличия Флота Khanid.\", \n    \"description_zh\": \"官方授予的卡尼迪海军徽章。\", \n    \"descriptionID\": 64885, \n    \"hasTypes\": 1, \n    \"iconID\": 2552, \n    \"name_de\": \"Khanid Navy\", \n    \"name_en-us\": \"Khanid Navy\", \n    \"name_es\": \"Armada Khanid\", \n    \"name_fr\": \"Khanid Navy\", \n    \"name_it\": \"Khanid Navy\", \n    \"name_ja\": \"クーニッド海軍\", \n    \"name_ko\": \"카니드 해군\", \n    \"name_ru\": \"Ханидского флота\", \n    \"name_zh\": \"卡尼迪海军\", \n    \"nameID\": 65959, \n    \"parentGroupID\": 616\n  }, \n  \"736\": {\n    \"description_de\": \"Offiziell genehmigte Minmatar-Flotten-Erkennungsmarken.\", \n    \"description_en-us\": \"Officially sanctioned Minmatar Fleet insignias.\", \n    \"description_es\": \"Insignias oficiales de la Flota Minmatariana.\", \n    \"description_fr\": \"Insignes officiels de la flotte minmatar.\", \n    \"description_it\": \"Officially sanctioned Minmatar Fleet insignias.\", \n    \"description_ja\": \"正式に授与されたミンマターフリート認識証。\", \n    \"description_ko\": \"민마타 해군 정식 계급장입니다.\", \n    \"description_ru\": \"Официальные знаки отличия Флота Minmatar.\", \n    \"description_zh\": \"官方授予的米玛塔尔舰队徽章。\", \n    \"descriptionID\": 64886, \n    \"hasTypes\": 1, \n    \"iconID\": 2552, \n    \"name_de\": \"Flotte der Minmatar\", \n    \"name_en-us\": \"Minmatar Fleet\", \n    \"name_es\": \"Flota Minmatariana\", \n    \"name_fr\": \"Flotte minmatar\", \n    \"name_it\": \"Minmatar Fleet\", \n    \"name_ja\": \"ミンマター海軍\", \n    \"name_ko\": \"민마타 함대\", \n    \"name_ru\": \"Минматарского флота\", \n    \"name_zh\": \"米玛塔尔舰队\", \n    \"nameID\": 65960, \n    \"parentGroupID\": 616\n  }, \n  \"737\": {\n    \"description_de\": \"Individuelle Erkennungsmarken.\", \n    \"description_en-us\": \"Individual identification tags.\", \n    \"description_es\": \"Chapas identificativas individuales.\", \n    \"description_fr\": \"Plaques d'identification individuelles.\", \n    \"description_it\": \"Individual identification tags.\", \n    \"description_ja\": \"個人のIDタグ。\", \n    \"description_ko\": \"개인 인식표입니다.\", \n    \"description_ru\": \"Индивидуальные жетоны идентификации.\", \n    \"description_zh\": \"特殊人物的身份名牌。\", \n    \"descriptionID\": 64887, \n    \"hasTypes\": 1, \n    \"iconID\": 2552, \n    \"name_de\": \"Individuen\", \n    \"name_en-us\": \"Individuals\", \n    \"name_es\": \"Individuales\", \n    \"name_fr\": \"Individus\", \n    \"name_it\": \"Individuals\", \n    \"name_ja\": \"個人\", \n    \"name_ko\": \"개인\", \n    \"name_ru\": \"Частных лиц\", \n    \"name_zh\": \"特殊人物\", \n    \"nameID\": 65961, \n    \"parentGroupID\": 616\n  }, \n  \"738\": {\n    \"description_de\": \"Speichert KI-Systeme. Wird eingesetzt, wenn Sie spezielle Schiffe aus dem Loyalitätspunkteladen erlangen\", \n    \"description_en-us\": \"Stores artificial intelligence systems. Used when acquiring special ships from Loyalty Point stores\", \n    \"description_es\": \"Almacenan sistemas de inteligencia artificial. Se usan al adquirir naves especiales en las tiendas de puntos de lealtad.\", \n    \"description_fr\": \"Renferme les systèmes d'intelligence artificielle. Utilisée lors de l'acquisition de vaisseaux spéciaux dans les magasins de points de loyauté\", \n    \"description_it\": \"Stores artificial intelligence systems. Used when acquiring special ships from Loyalty Point stores\", \n    \"description_ja\": \"人工知能システムを保存する。ロイヤルティポイントストアで特殊な艦船を取得するときに使用する\", \n    \"description_ko\": \"인공지능 시스템이 보관된 데이터 칩으로 로열티 포인트 스토어에서 특수 함선을 구매할 때 사용됩니다.\", \n    \"description_ru\": \"Содержат в себе систему ИИ. Необходимы для приобретения особых кораблей в наградных отделах ополчения\", \n    \"description_zh\": \"存储人工智能系统，用于在忠诚点商店中兑换特殊舰船\", \n    \"descriptionID\": 64888, \n    \"hasTypes\": 1, \n    \"iconID\": 2038, \n    \"name_de\": \"Nexus Chips\", \n    \"name_en-us\": \"Nexus Chips\", \n    \"name_es\": \"Chips Nexus\", \n    \"name_fr\": \"Puces Nexus\", \n    \"name_it\": \"Nexus Chips\", \n    \"name_ja\": \"ネクサスチップ\", \n    \"name_ko\": \"넥서스 칩\", \n    \"name_ru\": \"Ключ-схемы «Нексус»\", \n    \"name_zh\": \"关联芯片\", \n    \"nameID\": 65962, \n    \"parentGroupID\": 19\n  }, \n  \"739\": {\n    \"description_de\": \"Erkennungsmarken krimineller Organisationen. Können bei den Großreichen eingetauscht werden\", \n    \"description_en-us\": \"Criminal organizations' identification tags. Can be traded to the empires\", \n    \"description_es\": \"Chapas identificativas de organizaciones criminales. Se pueden vender a los imperios.\", \n    \"description_fr\": \"Plaques d'identification d'organisations criminelles. Peuvent être échangées avec les empires\", \n    \"description_it\": \"Criminal organizations' identification tags. Can be traded to the empires\", \n    \"description_ja\": \"犯罪組織のIDタグ。各帝国とトレード可能\", \n    \"description_ko\": \"범죄자 인식표로 국가기관과 거래할 수 있습니다.\", \n    \"description_ru\": \"Личные жетоны пиратских организаций. Их можно выгодно продать\", \n    \"description_zh\": \"犯罪组织的身份铭牌。可以交给帝国换取奖励\", \n    \"descriptionID\": 64889, \n    \"hasTypes\": 0, \n    \"iconID\": 2325, \n    \"name_de\": \"Erkennungsmarken von Verbrechern\", \n    \"name_en-us\": \"Criminal Dog Tags\", \n    \"name_es\": \"Chapas de criminales\", \n    \"name_fr\": \"Plaques d'identification de criminels\", \n    \"name_it\": \"Criminal Dog Tags\", \n    \"name_ja\": \"犯罪者認識証\", \n    \"name_ko\": \"범죄자 인식표\", \n    \"name_ru\": \"Идентификаторы преступников\", \n    \"name_zh\": \"罪犯铭牌\", \n    \"nameID\": 65963, \n    \"parentGroupID\": 19\n  }, \n  \"740\": {\n    \"description_de\": \"Angel Cartel-Erkennungsmarken.\", \n    \"description_en-us\": \"Angel Cartel identification tags.\", \n    \"description_es\": \"Chapas identificativas del Cártel de los Ángeles.\", \n    \"description_fr\": \"Plaques d'identification du cartel angel.\", \n    \"description_it\": \"Angel Cartel identification tags.\", \n    \"description_ja\": \"エンジェルカルテルのIDタグ。\", \n    \"description_ko\": \"엔젤 카르텔 인식표입니다.\", \n    \"description_ru\": \"Идентификационные знаки Картеля Angel.\", \n    \"description_zh\": \"天使联合企业识别标记牌\", \n    \"descriptionID\": 64890, \n    \"hasTypes\": 1, \n    \"iconID\": 2312, \n    \"name_de\": \"Angels\", \n    \"name_en-us\": \"Angels\", \n    \"name_es\": \"Ángeles\", \n    \"name_fr\": \"Angels\", \n    \"name_it\": \"Angels\", \n    \"name_ja\": \"エンジェル\", \n    \"name_ko\": \"엔젤 카르텔\", \n    \"name_ru\": \"«Ангелов»\", \n    \"name_zh\": \"天使联合企业\", \n    \"nameID\": 65964, \n    \"parentGroupID\": 739\n  }, \n  \"741\": {\n    \"description_de\": \"Blood Raider-Erkennungsmarken.\", \n    \"description_en-us\": \"Blood Raider identification tags.\", \n    \"description_es\": \"Chapas identificativas de los Saqueadores Sanguinarios.\", \n    \"description_fr\": \"Plaques d'identification des Blood Raiders.\", \n    \"description_it\": \"Blood Raider identification tags.\", \n    \"description_ja\": \"ブラッドレイダーのIDタグ。\", \n    \"description_ko\": \"블러드 레이더 인식표입니다.\", \n    \"description_ru\": \"Жетоны идентификации Blood Raider.\", \n    \"description_zh\": \"血袭者识别标记牌\", \n    \"descriptionID\": 64891, \n    \"hasTypes\": 1, \n    \"iconID\": 2317, \n    \"name_de\": \"Blood Raiders\", \n    \"name_en-us\": \"Blood Raiders\", \n    \"name_es\": \"Saqueadores Sanguinarios\", \n    \"name_fr\": \"Blood Raiders\", \n    \"name_it\": \"Blood Raiders\", \n    \"name_ja\": \"ブラッドレイダー\", \n    \"name_ko\": \"블러드 레이더\", \n    \"name_ru\": \"«Охотников за кровью»\", \n    \"name_zh\": \"血袭者\", \n    \"nameID\": 65965, \n    \"parentGroupID\": 739\n  }, \n  \"742\": {\n    \"description_de\": \"Dark Blood-Erkennungsmarken.\", \n    \"description_en-us\": \"Dark Blood identification tags.\", \n    \"description_es\": \"Chapas identificativas de los Sanguinarios Oscuros.\", \n    \"description_fr\": \"Plaques d'identification des Dark Blood.\", \n    \"description_it\": \"Dark Blood identification tags.\", \n    \"description_ja\": \"ダークブラッドのIDタグ。\", \n    \"description_ko\": \"다크 블러드 인식표입니다.\", \n    \"description_ru\": \"Жетоны идентификации Dark Blood.\", \n    \"description_zh\": \"黑暗血袭者身份名牌。\", \n    \"descriptionID\": 64892, \n    \"hasTypes\": 1, \n    \"iconID\": 2317, \n    \"name_de\": \"Dark Blood\", \n    \"name_en-us\": \"Dark Blood\", \n    \"name_es\": \"Sanguinarios Oscuros\", \n    \"name_fr\": \"Dark Blood\", \n    \"name_it\": \"Dark Blood\", \n    \"name_ja\": \"ダークブラッド\", \n    \"name_ko\": \"다크 블러드\", \n    \"name_ru\": \"«Тёмных охотников»\", \n    \"name_zh\": \"黑暗血袭者\", \n    \"nameID\": 65966, \n    \"parentGroupID\": 739\n  }, \n  \"743\": {\n    \"description_de\": \"Angel Domination-Erkennungsmarken.\", \n    \"description_en-us\": \"Angel Dominations identification tags.\", \n    \"description_es\": \"Chapas identificativas de los Ángeles Dominantes.\", \n    \"description_fr\": \"Plaques d'identification des Dominations.\", \n    \"description_it\": \"Angel Dominations identification tags.\", \n    \"description_ja\": \"エンジェルドミネーションズのIDタグ。\", \n    \"description_ko\": \"엔젤 도미네이션 인식표입니다.\", \n    \"description_ru\": \"Жетоны идентификации Angel Domination.\", \n    \"description_zh\": \"主天使的身份名牌\", \n    \"descriptionID\": 64893, \n    \"hasTypes\": 1, \n    \"iconID\": 2312, \n    \"name_de\": \"Domination\", \n    \"name_en-us\": \"Domination\", \n    \"name_es\": \"Dominantes\", \n    \"name_fr\": \"Domination\", \n    \"name_it\": \"Domination\", \n    \"name_ja\": \"ドミネーション\", \n    \"name_ko\": \"도미네이션\", \n    \"name_ru\": \"«Владычеств»\", \n    \"name_zh\": \"主天使\", \n    \"nameID\": 65967, \n    \"parentGroupID\": 739\n  }, \n  \"744\": {\n    \"description_de\": \"Dread Guristas-Erkennungsmarken.\", \n    \"description_en-us\": \"Dread Guristas identification tags.\", \n    \"description_es\": \"Chapas identificativas de los Guristas Aterradores.\", \n    \"description_fr\": \"Plaques d'identification des Dread guristas.\", \n    \"description_it\": \"Dread Guristas identification tags.\", \n    \"description_ja\": \"ドレッドガリスタスのIDタグ。\", \n    \"description_ko\": \"드레드 구리스타스 인식표입니다.\", \n    \"description_ru\": \"Жетоны идентификации Dread Guristas.\", \n    \"description_zh\": \"恐惧古斯塔斯的身份名牌\", \n    \"descriptionID\": 64894, \n    \"hasTypes\": 1, \n    \"iconID\": 2327, \n    \"name_de\": \"Dread Guristas\", \n    \"name_en-us\": \"Dread Guristas\", \n    \"name_es\": \"Guristas Aterradores\", \n    \"name_fr\": \"Dread Guristas\", \n    \"name_it\": \"Dread Guristas\", \n    \"name_ja\": \"ドレッドガリスタス\", \n    \"name_ko\": \"드레드 구리스타스\", \n    \"name_ru\": \"«Ужасающих гуристас»\", \n    \"name_zh\": \"恐惧古斯塔斯\", \n    \"nameID\": 65968, \n    \"parentGroupID\": 739\n  }, \n  \"745\": {\n    \"description_de\": \"Guristas-Erkennungsmarken.\", \n    \"description_en-us\": \"Guristas identification tags.\", \n    \"description_es\": \"Chapas identificativas de los Guristas.\", \n    \"description_fr\": \"Plaques d'identification des Guristas.\", \n    \"description_it\": \"Guristas identification tags.\", \n    \"description_ja\": \"ガリスタスのIDタグ。\", \n    \"description_ko\": \"구리스타스 인식표입니다.\", \n    \"description_ru\": \"Жетоны идентификации Gurista.\", \n    \"description_zh\": \"古斯塔斯身份名牌。\", \n    \"descriptionID\": 64895, \n    \"hasTypes\": 1, \n    \"iconID\": 2327, \n    \"name_de\": \"Guristas\", \n    \"name_en-us\": \"Guristas\", \n    \"name_es\": \"Guristas\", \n    \"name_fr\": \"Guristas\", \n    \"name_it\": \"Guristas\", \n    \"name_ja\": \"ガリスタス\", \n    \"name_ko\": \"구리스타스\", \n    \"name_ru\": \"«Гуристас»\", \n    \"name_zh\": \"古斯塔斯\", \n    \"nameID\": 65969, \n    \"parentGroupID\": 739\n  }, \n  \"746\": {\n    \"description_de\": \"Sanshas Nation-Erkennungsmarken.\", \n    \"description_en-us\": \"Sansha's Nation identification tags.\", \n    \"description_es\": \"Chapas identificativas de la Nación Sansha.\", \n    \"description_fr\": \"Plaques d'identification des membres de la Sansha's Nation.\", \n    \"description_it\": \"Sansha's Nation identification tags.\", \n    \"description_ja\": \"サンシャ国のIDタグ。\", \n    \"description_ko\": \"산샤 네이션 인식표입니다.\", \n    \"description_ru\": \"Жетоны идентификации Нации Sansha.\", \n    \"description_zh\": \"萨沙身份名牌。\", \n    \"descriptionID\": 64896, \n    \"hasTypes\": 1, \n    \"iconID\": 2332, \n    \"name_de\": \"Sansha\", \n    \"name_en-us\": \"Sansha\", \n    \"name_es\": \"Sansha\", \n    \"name_fr\": \"Sansha\", \n    \"name_it\": \"Sansha\", \n    \"name_ja\": \"サンシャ\", \n    \"name_ko\": \"산샤\", \n    \"name_ru\": \"«Саншистов»\", \n    \"name_zh\": \"萨沙\", \n    \"nameID\": 65970, \n    \"parentGroupID\": 739\n  }, \n  \"747\": {\n    \"description_de\": \"Serpentis-Erkennungsmarken.\", \n    \"description_en-us\": \"Serpentis identification tags.\", \n    \"description_es\": \"Chapas identificativas de Serpentis.\", \n    \"description_fr\": \"Plaques d'identification des Serpentis.\", \n    \"description_it\": \"Serpentis identification tags.\", \n    \"description_ja\": \"サーペンティスの識別タグ。\", \n    \"description_ko\": \"서펜티스 인식표입니다.\", \n    \"description_ru\": \"Жетоны идентификации Serpentis.\", \n    \"description_zh\": \"天蛇身份名牌。\", \n    \"descriptionID\": 64897, \n    \"hasTypes\": 1, \n    \"iconID\": 2322, \n    \"name_de\": \"Serpentis\", \n    \"name_en-us\": \"Serpentis\", \n    \"name_es\": \"Serpentis\", \n    \"name_fr\": \"Serpentis\", \n    \"name_it\": \"Serpentis\", \n    \"name_ja\": \"サーペンティス\", \n    \"name_ko\": \"서펜티스\", \n    \"name_ru\": \"«Серпентис»\", \n    \"name_zh\": \"天蛇\", \n    \"nameID\": 65971, \n    \"parentGroupID\": 739\n  }, \n  \"748\": {\n    \"description_de\": \"Shadow Serpentis-Erkennungsmarken.\", \n    \"description_en-us\": \"Shadow Serpentis identification tags.\", \n    \"description_es\": \"Chapas identificativas de la Sombra de Serpentis.\", \n    \"description_fr\": \"Plaques d'identification des Shadow Serpentis.\", \n    \"description_it\": \"Shadow Serpentis identification tags.\", \n    \"description_ja\": \"シャドウサーペンティスのIDタグ。\", \n    \"description_ko\": \"섀도우 서펜티스 인식표입니다.\", \n    \"description_ru\": \"Жетоны идентификации Shadow Serpentis.\", \n    \"description_zh\": \"暗影天蛇身份名牌。\", \n    \"descriptionID\": 64898, \n    \"hasTypes\": 1, \n    \"iconID\": 2322, \n    \"name_de\": \"Shadow Serpentis\", \n    \"name_en-us\": \"Shadow Serpentis\", \n    \"name_es\": \"Sombra de Serpentis\", \n    \"name_fr\": \"Shadow Serpentis\", \n    \"name_it\": \"Shadow Serpentis\", \n    \"name_ja\": \"シャドウサーペンティス\", \n    \"name_ko\": \"섀도우 서펜티스\", \n    \"name_ru\": \"«Тени Серпентис»\", \n    \"name_zh\": \"暗影天蛇\", \n    \"nameID\": 65972, \n    \"parentGroupID\": 739\n  }, \n  \"749\": {\n    \"description_de\": \"True Sansha-Erkennungsmarken.\", \n    \"description_en-us\": \"True Sansha identification tags.\", \n    \"description_es\": \"Chapas identificativas de los Sanshas Verdaderos.\", \n    \"description_fr\": \"Plaques d'identification des True Sansha.\", \n    \"description_it\": \"True Sansha identification tags.\", \n    \"description_ja\": \"トゥルーサンシャ のIDタグ。\", \n    \"description_ko\": \"트루 산샤 인식표입니다.\", \n    \"description_ru\": \"Жетоны идентификации True Sansha.\", \n    \"description_zh\": \"萨沙爱国者身份名牌\", \n    \"descriptionID\": 64899, \n    \"hasTypes\": 1, \n    \"iconID\": 2332, \n    \"name_de\": \"True Sansha\", \n    \"name_en-us\": \"True Sansha\", \n    \"name_es\": \"Sanshas Verdaderos\", \n    \"name_fr\": \"True Sansha\", \n    \"name_it\": \"True Sansha\", \n    \"name_ja\": \"トゥルーサンシャ\", \n    \"name_ko\": \"트루 산샤\", \n    \"name_ru\": \"«Истинных саншистов»\", \n    \"name_zh\": \"萨沙爱国者\", \n    \"nameID\": 65973, \n    \"parentGroupID\": 739\n  }, \n  \"750\": {\n    \"description_de\": \"Die Erkennungsmarken der von CONCORD Meistgesuchten.\", \n    \"description_en-us\": \"The identification tags of CONCORD's most wanted.\", \n    \"description_es\": \"Chapas identificativas de los más buscados de CONCORD.\", \n    \"description_fr\": \"Plaques d'identification des pilotes CONCORD les plus recherchés.\", \n    \"description_it\": \"The identification tags of CONCORD's most wanted.\", \n    \"description_ja\": \"CONCORDの最重要指名手配対象を表すIDタグ。\", \n    \"description_ko\": \"CONCORD의 악명 높은 현상 수배자들의 인식표입니다.\", \n    \"description_ru\": \"Жетоны идентификации самых опасных преступников в списках CONCORD.\", \n    \"description_zh\": \"统合部最高通缉者所佩戴的身份名牌。\", \n    \"descriptionID\": 64900, \n    \"hasTypes\": 1, \n    \"iconID\": 2319, \n    \"name_de\": \"Kommandanten\", \n    \"name_en-us\": \"Commanders\", \n    \"name_es\": \"Comandantes\", \n    \"name_fr\": \"Commandants\", \n    \"name_it\": \"Commanders\", \n    \"name_ja\": \"司令官\", \n    \"name_ko\": \"지휘관\", \n    \"name_ru\": \"Командиров\", \n    \"name_zh\": \"指挥官\", \n    \"nameID\": 65974, \n    \"parentGroupID\": 739\n  }, \n  \"751\": {\n    \"description_de\": \"Beweis, dass es in der Welt einen miesen Hundesohn weniger gibt.\", \n    \"description_en-us\": \"Proof that there's one less evil bastard in the world.\", \n    \"description_es\": \"Prueba de que hay un desgraciado menos en el mundo.\", \n    \"description_fr\": \"La preuve qu'il y a un salopard de moins en ce bas monde.\", \n    \"description_it\": \"Proof that there's one less evil bastard in the world.\", \n    \"description_ja\": \"世界から悪人が 1 人消えたという証拠。\", \n    \"description_ko\": \"세상에서 악당 한 명이 줄었다는 것을 보여주는 증거품입니다.\", \n    \"description_ru\": \"Доказательство того, что еще одним злодеем стало меньше.\", \n    \"description_zh\": \"这证明世界上又少了一个恶人。\", \n    \"descriptionID\": 64901, \n    \"hasTypes\": 1, \n    \"iconID\": 2039, \n    \"name_de\": \"Privateigentum von Aufsehern\", \n    \"name_en-us\": \"Overseer's Personal Effects\", \n    \"name_es\": \"Efectos personales del vigilante\", \n    \"name_fr\": \"Effets personnels du surveillant\", \n    \"name_it\": \"Overseer's Personal Effects\", \n    \"name_ja\": \"監督者の私物\", \n    \"name_ko\": \"오버시어 소지품\", \n    \"name_ru\": \"Личные вещи смотрителей\", \n    \"name_zh\": \"监察官的个人财产\", \n    \"nameID\": 65975, \n    \"parentGroupID\": 614\n  }, \n  \"752\": {\n    \"description_de\": \"Beweis für das Ableben eines feigen Schurken.\", \n    \"description_en-us\": \"Physical proof of a dastardly villain's demise.\", \n    \"description_es\": \"Prueba física de la muerte de un villano cruel.\", \n    \"description_fr\": \"Preuve physique de la fin d'un vilain méchant.\", \n    \"description_it\": \"Physical proof of a dastardly villain's demise.\", \n    \"description_ja\": \"卑劣な悪人が死んだという物的証拠。\", \n    \"description_ko\": \"범죄자의 말로를 증명해주는 물질적인 증거입니다.\", \n    \"description_ru\": \"Физическое доказательство уничтожения отпетых злодеев.\", \n    \"description_zh\": \"证明万恶的罪犯死亡的直接证据。\", \n    \"descriptionID\": 64902, \n    \"hasTypes\": 1, \n    \"iconID\": 2302, \n    \"name_de\": \"DNS-Muster von Verbrechern\", \n    \"name_en-us\": \"Criminal DNA Patterns\", \n    \"name_es\": \"Cadenas de ADN de criminales\", \n    \"name_fr\": \"ADN du criminel\", \n    \"name_it\": \"Criminal DNA Patterns\", \n    \"name_ja\": \"犯罪者DNA配列\", \n    \"name_ko\": \"범죄자 DNA 패턴\", \n    \"name_ru\": \"ДНК преступников\", \n    \"name_zh\": \"罪犯DNA样本\", \n    \"nameID\": 65976, \n    \"parentGroupID\": 614\n  }, \n  \"753\": {\n    \"description_de\": \"Blueprints von Bergbaukristallen.\", \n    \"description_en-us\": \"Blueprints of mining crystals.\", \n    \"description_es\": \"Planos de cristales de minería.\", \n    \"description_fr\": \"Plans de construction de cristaux d'extraction.\", \n    \"description_it\": \"Blueprints of mining crystals.\", \n    \"description_ja\": \"採掘クリスタルのブループリント。\", \n    \"description_ko\": \"채광용 크리스탈 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кристаллов настройки экстрактора.\", \n    \"description_zh\": \"采矿晶体蓝图。\", \n    \"descriptionID\": 64903, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Bergbaukristalle\", \n    \"name_en-us\": \"Mining Crystals\", \n    \"name_es\": \"Cristales de minería\", \n    \"name_fr\": \"Cristaux d’extraction\", \n    \"name_it\": \"Mining Crystals\", \n    \"name_ja\": \"採掘クリスタル\", \n    \"name_ko\": \"채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы\", \n    \"name_zh\": \"采矿晶体\", \n    \"nameID\": 65977, \n    \"parentGroupID\": 211\n  }, \n  \"754\": {\n    \"description_de\": \"Politpropaganda und deren Initiatoren.\", \n    \"description_en-us\": \"Political propaganda and those that engage in it\", \n    \"description_es\": \"Propaganda política y quienes participan en ella.\", \n    \"description_fr\": \"Propagande politique et personnes impliquées\", \n    \"description_it\": \"Political propaganda and those that engage in it\", \n    \"description_ja\": \"政治的プロパガンダと、それに関わる者たち\", \n    \"description_ko\": \"정치선전 도구입니다.\", \n    \"description_ru\": \"Политическая пропаганда и всё, что к ней относится\", \n    \"description_zh\": \"政治宣传及从事政治宣传的物品\", \n    \"descriptionID\": 65162, \n    \"hasTypes\": 1, \n    \"iconID\": 1204, \n    \"name_de\": \"Politische Utensilien\", \n    \"name_en-us\": \"Political Paraphernalia\", \n    \"name_es\": \"Parafernalia política\", \n    \"name_fr\": \"Bazar politique\", \n    \"name_it\": \"Political Paraphernalia\", \n    \"name_ja\": \"政治用品\", \n    \"name_ko\": \"정치 용품\", \n    \"name_ru\": \"Пропагандистские материалы\", \n    \"name_zh\": \"政治用品\", \n    \"nameID\": 66236, \n    \"parentGroupID\": 19\n  }, \n  \"757\": {\n    \"description_de\": \"Projizieren ein elektronisches Signal auf ein Ziel und vergrößern so dessen Signatur-Radius.\", \n    \"description_en-us\": \"Project an electronic signal towards a target, increasing its signature radius.\", \n    \"description_es\": \"Proyectan una señal electrónica hacia un objetivo, lo que aumenta el radio de detección.\", \n    \"description_fr\": \"Projettent un signal électronique vers la cible afin d'augmenter son rayon de signature.\", \n    \"description_it\": \"Project an electronic signal towards a target, increasing its signature radius.\", \n    \"description_ja\": \"ターゲットに向けて電気信号を投射し、シグネチャ半径を広げる。\", \n    \"description_ko\": \"대상 함선에 전자 신호를 부착하여 시그니처 반경을 증가시킵니다.\", \n    \"description_ru\": \"Посылают электронный сигнал к цели, увеличивающий радиус сигнатуры.\", \n    \"description_zh\": \"向目标投射一束电子信号，增加目标的信号半径。\", \n    \"descriptionID\": 64904, \n    \"hasTypes\": 1, \n    \"iconID\": 2983, \n    \"name_de\": \"Zielmarkierung\", \n    \"name_en-us\": \"Target Painters\", \n    \"name_es\": \"Reveladores de objetivo\", \n    \"name_fr\": \"Marqueurs de cible\", \n    \"name_it\": \"Target Painters\", \n    \"name_ja\": \"ターゲットペインター\", \n    \"name_ko\": \"타겟 페인터\", \n    \"name_ru\": \"Системы подсветки целей\", \n    \"name_zh\": \"目标标记装备\", \n    \"nameID\": 65978, \n    \"parentGroupID\": 657\n  }, \n  \"761\": {\n    \"description_de\": \"Capital-Schiffe, konzipiert für die ausgedehnte Belagerung von stationären Einrichtungen.\", \n    \"description_en-us\": \"Capital ships created for extended sieges of stationary installations.\", \n    \"description_es\": \"Naves capitales creadas para largos asedios de instalaciones estáticas.\", \n    \"description_fr\": \"Vaisseaux capitaux créés pour assiéger des installations stationnaires de façon prolongée.\", \n    \"description_it\": \"Capital ships created for extended sieges of stationary installations.\", \n    \"description_ja\": \"散開して固定施設を包囲攻撃する主力艦。\", \n    \"description_ko\": \"캐피탈급 함선으로 고정형 시설에 대한 장기 공성 임무를 수행할 수 있는 함선입니다.\", \n    \"description_ru\": \"Корабли большого тоннажа, созданные для длительных бомбардировок стационарных объектов.\", \n    \"description_zh\": \"用来在对固定空间设施的持久作战中发挥主力作用的旗舰战舰。\", \n    \"descriptionID\": 65264, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Dreadnoughts\", \n    \"name_en-us\": \"Dreadnoughts\", \n    \"name_es\": \"Superacorazados\", \n    \"name_fr\": \"Dreadnoughts\", \n    \"name_it\": \"Dreadnoughts\", \n    \"name_ja\": \"攻城艦\", \n    \"name_ko\": \"드레드노트\", \n    \"name_ru\": \"Дредноуты\", \n    \"name_zh\": \"无畏舰\", \n    \"nameID\": 66338, \n    \"parentGroupID\": 1381\n  }, \n  \"762\": {\n    \"description_de\": \"Amarr-Dreadnought-Designs.\", \n    \"description_en-us\": \"Amarr dreadnought designs.\", \n    \"description_es\": \"Diseños de superacorazados amarrianos.\", \n    \"description_fr\": \"Modèles de dreadnoughts amarr.\", \n    \"description_it\": \"Amarr dreadnought designs.\", \n    \"description_ja\": \"アマード攻城艦設計図。\", \n    \"description_ko\": \"아마르의 드레드노트입니다.\", \n    \"description_ru\": \"Дредноуты разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛无畏舰设计\", \n    \"descriptionID\": 64907, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65981, \n    \"parentGroupID\": 3509\n  }, \n  \"763\": {\n    \"description_de\": \"Caldari-Dreadnought-Designs.\", \n    \"description_en-us\": \"Caldari dreadnought designs.\", \n    \"description_es\": \"Diseños de superacorazados caldaris.\", \n    \"description_fr\": \"Modèles de dreadnoughts caldari.\", \n    \"description_it\": \"Caldari dreadnought designs.\", \n    \"description_ja\": \"カルダリ攻城艦設計図。\", \n    \"description_ko\": \"칼다리의 드레드노트입니다.\", \n    \"description_ru\": \"Дредноуты разработки Государства Caldari\", \n    \"description_zh\": \"加达里无畏舰设计\", \n    \"descriptionID\": 64908, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65982, \n    \"parentGroupID\": 3509\n  }, \n  \"764\": {\n    \"description_de\": \"Gallente-Dreadnought-Designs.\", \n    \"description_en-us\": \"Gallente dreadnought designs.\", \n    \"description_es\": \"Diseños de superacorazados gallentes.\", \n    \"description_fr\": \"Modèles de dreadnoughts gallente.\", \n    \"description_it\": \"Gallente dreadnought designs.\", \n    \"description_ja\": \"ガレンテ攻城艦設計図。\", \n    \"description_ko\": \"갈란테의 드레드노트입니다.\", \n    \"description_ru\": \"Дредноуты разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特无畏舰设计\", \n    \"descriptionID\": 64909, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65983, \n    \"parentGroupID\": 3509\n  }, \n  \"765\": {\n    \"description_de\": \"Mimatar-Dreadnought-Designs.\", \n    \"description_en-us\": \"Minmatar dreadnought designs.\", \n    \"description_es\": \"Diseños de superacorazados minmatarianos.\", \n    \"description_fr\": \"Modèles de dreadnoughts minmatar.\", \n    \"description_it\": \"Minmatar dreadnought designs.\", \n    \"description_ja\": \"ミンマター攻城艦設計図。\", \n    \"description_ko\": \"민마타의 드레드노트입니다.\", \n    \"description_ru\": \"Дредноуты разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔无畏舰设计\", \n    \"descriptionID\": 64910, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65984, \n    \"parentGroupID\": 3509\n  }, \n  \"766\": {\n    \"description_de\": \"Capital-Schiffe, in der Lage, eineinhalb Welten und ein bisschen mehr zu transportieren.\", \n    \"description_en-us\": \"Capital ships, able to transport a world and a half and then some.\", \n    \"description_es\": \"Naves capitales capaces de transportar medio universo y un poco más.\", \n    \"description_fr\": \"Vaisseaux capitaux capables de transporter toute une planète, ses lunes et les stations orbitales qui vont avec.\", \n    \"description_it\": \"Capital ships, able to transport a world and a half and then some.\", \n    \"description_ja\": \"宇宙を駆けめぐる輸送用主力艦。\", \n    \"description_ko\": \"캐피탈급 함선으로 막대한 적재량이 장점인 함선입니다.\", \n    \"description_ru\": \"Это корабли большого тоннажа, способные перевозить целые миры и половинку сверху.\", \n    \"description_zh\": \"旗舰级船只，拥有不可思议的容量。\", \n    \"descriptionID\": 65266, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Frachter\", \n    \"name_en-us\": \"Freighters\", \n    \"name_es\": \"Cargueros\", \n    \"name_fr\": \"Transports de fret\", \n    \"name_it\": \"Freighters\", \n    \"name_ja\": \"超大型輸送艦\", \n    \"name_ko\": \"프레이터\", \n    \"name_ru\": \"Фрейтеры\", \n    \"name_zh\": \"货舰\", \n    \"nameID\": 66340, \n    \"parentGroupID\": 1381\n  }, \n  \"767\": {\n    \"description_de\": \"Amarr-Frachter-Designs.\", \n    \"description_en-us\": \"Amarr freighter designs.\", \n    \"description_es\": \"Diseños de cargueros amarrianos.\", \n    \"description_fr\": \"Modèles de transports de fret amarr.\", \n    \"description_it\": \"Amarr freighter designs.\", \n    \"description_ja\": \"アマー超大型輸送艦設計図。\", \n    \"description_ko\": \"아마르의 프레이터입니다.\", \n    \"description_ru\": \"Грузовые корабли разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛货舰设计\", \n    \"descriptionID\": 64911, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 65985, \n    \"parentGroupID\": 766\n  }, \n  \"768\": {\n    \"description_de\": \"Caldari-Frachter-Designs.\", \n    \"description_en-us\": \"Caldari freighter designs.\", \n    \"description_es\": \"Diseños de cargueros caldaris.\", \n    \"description_fr\": \"Modèles de transports de fret caldari.\", \n    \"description_it\": \"Caldari freighter designs.\", \n    \"description_ja\": \"カルダリ超大型輸送艦設計図。\", \n    \"description_ko\": \"칼다리의 프레이터입니다.\", \n    \"description_ru\": \"Грузовые корабли разработки Государства Caldari.\", \n    \"description_zh\": \"加达里战略货舰设计\", \n    \"descriptionID\": 64912, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 65986, \n    \"parentGroupID\": 766\n  }, \n  \"769\": {\n    \"description_de\": \"Gallente-Frachter-Designs.\", \n    \"description_en-us\": \"Gallente freighter designs.\", \n    \"description_es\": \"Diseños de cargueros gallentes.\", \n    \"description_fr\": \"Modèles de transports de fret gallente.\", \n    \"description_it\": \"Gallente freighter designs.\", \n    \"description_ja\": \"ガレンテ超大型輸送艦設計図。\", \n    \"description_ko\": \"갈란테의 프레이터입니다.\", \n    \"description_ru\": \"Грузовые корабли разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特货舰设计\", \n    \"descriptionID\": 64913, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 65987, \n    \"parentGroupID\": 766\n  }, \n  \"770\": {\n    \"description_de\": \"Minmatar-Frachter-Designs.\", \n    \"description_en-us\": \"Minmatar freighter designs.\", \n    \"description_es\": \"Diseños de cargueros minmatarianos.\", \n    \"description_fr\": \"Modèles de transports de fret minmatar.\", \n    \"description_it\": \"Minmatar freighter designs.\", \n    \"description_ja\": \"ミンマター超大型輸送艦設計図。\", \n    \"description_ko\": \"민마타의 프레이터입니다.\", \n    \"description_ru\": \"Грузовые корабли разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔货舰设计\", \n    \"descriptionID\": 64914, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 65988, \n    \"parentGroupID\": 766\n  }, \n  \"771\": {\n    \"description_de\": \"Blaster für Capital-Schiffe zum Einsatz auf Dreadnoughts und Titans.\", \n    \"description_en-us\": \"Capital ship blasters, for use on dreadnoughts and titans.\", \n    \"description_es\": \"Blásteres de naves capitales para uso en superacorazados y titanes.\", \n    \"description_fr\": \"Blasters pour vaisseaux capitaux, utilisés sur les dreadnoughts et les titans.\", \n    \"description_it\": \"Capital ship blasters, for use on dreadnoughts and titans.\", \n    \"description_ja\": \"攻城艦および旗艦級戦艦で使用される主力艦ブラスター。\", \n    \"description_ko\": \"드레드노트 및 타이탄에 사용되는 캐피탈 함선 블라스터입니다.\", \n    \"description_ru\": \"Бластеры для кораблей большого тоннажа, применяющиеся на титанах и дредноутах.\", \n    \"description_zh\": \"旗舰级舰载疾速炮，在无畏舰或者泰坦上使用。\", \n    \"descriptionID\": 64915, \n    \"hasTypes\": 1, \n    \"iconID\": 2836, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65989, \n    \"parentGroupID\": 556\n  }, \n  \"772\": {\n    \"description_de\": \"Railguns für Capital-Schiffe zum Einsatz auf Dreadnoughts und Titans.\", \n    \"description_en-us\": \"Capital ship railguns, for use on dreadnoughts and titans.\", \n    \"description_es\": \"Cañones electromagnéticos de naves capitales para uso en superacorazados y titanes.\", \n    \"description_fr\": \"Canons à rail pour vaisseaux capitaux, utilisés sur les dreadnoughts et les titans.\", \n    \"description_it\": \"Capital ship railguns, for use on dreadnoughts and titans.\", \n    \"description_ja\": \"攻城艦および旗艦級戦艦で使用される主力艦レールガン。\", \n    \"description_ko\": \"드레드노트 및 타이탄에 사용되는 캐피탈 함선 레일건입니다.\", \n    \"description_ru\": \"Рейлганы для кораблей большого тоннажа, применяющиеся на титанах и дредноутах.\", \n    \"description_zh\": \"旗舰级舰载磁轨炮，在无畏舰或者泰坦上使用。\", \n    \"descriptionID\": 64916, \n    \"hasTypes\": 1, \n    \"iconID\": 2840, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65990, \n    \"parentGroupID\": 555\n  }, \n  \"773\": {\n    \"description_de\": \"Strahllaser für Capital-Schiffe zum Einsatz auf Dreadnoughts und Titans.\", \n    \"description_en-us\": \"Capital ship beam lasers, for use on dreadnoughts and titans.\", \n    \"description_es\": \"Láseres de rayos de naves capitales para uso en superacorazados y titanes.\", \n    \"description_fr\": \"Lasers à rayons pour vaisseaux capitaux, utilisés sur les dreadnoughts et les titans.\", \n    \"description_it\": \"Capital ship beam lasers, for use on dreadnoughts and titans.\", \n    \"description_ja\": \"攻城艦と旗艦級戦艦で使用される主力艦ビームレーザー。\", \n    \"description_ko\": \"드레드노트 및 타이탄에서 사용하는 캐피탈 함선 빔 레이저입니다.\", \n    \"description_ru\": \"Непрерывные лазеры для кораблей большого тоннажа, применяющиеся на титанах и дредноутах.\", \n    \"description_zh\": \"旗舰级舰载集束激光器，在无畏舰或者泰坦上使用。\", \n    \"descriptionID\": 64917, \n    \"hasTypes\": 1, \n    \"iconID\": 2837, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65991, \n    \"parentGroupID\": 557\n  }, \n  \"774\": {\n    \"description_de\": \"Impulslaser für Capital-Schiffe zum Einsatz auf Dreadnoughts und Titans.\", \n    \"description_en-us\": \"Capital ship pulse lasers, for use on dreadnoughts and titans.\", \n    \"description_es\": \"Láseres de pulsos de naves capitales para uso en superacorazados y titanes.\", \n    \"description_fr\": \"Lasers à impulsions pour vaisseaux capitaux, utilisés sur les dreadnoughts et les titans.\", \n    \"description_it\": \"Capital ship pulse lasers, for use on dreadnoughts and titans.\", \n    \"description_ja\": \"攻城艦および旗艦級戦艦で使用される主力艦パルスレーザー。\", \n    \"description_ko\": \"드레드노트 및 타이탄에 사용되는 캐피탈 함선 펄스 레이저입니다.\", \n    \"description_ru\": \"Импульсные лазеры для кораблей большого тоннажа, применяющиеся на титанах и дредноутах.\", \n    \"description_zh\": \"旗舰级舰载脉冲激光器，在无畏舰或者泰坦上使用。\", \n    \"descriptionID\": 64918, \n    \"hasTypes\": 1, \n    \"iconID\": 2841, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65992, \n    \"parentGroupID\": 558\n  }, \n  \"775\": {\n    \"description_de\": \"Artilleriekanonen für Capital-Schiffe zum Einsatz auf Dreadnoughts und Titans.\", \n    \"description_en-us\": \"Capital ship artillery cannons, for use on dreadnoughts and titans.\", \n    \"description_es\": \"Cañones de artillería de naves capitales para uso en superacorazados y titanes.\", \n    \"description_fr\": \"Canons d'artillerie pour vaisseaux capitaux, utilisés sur les dreadnoughts et les titans.\", \n    \"description_it\": \"Capital ship artillery cannons, for use on dreadnoughts and titans.\", \n    \"description_ja\": \"攻城艦および旗艦級戦艦で使用される主力艦アーティレリキャノン。\", \n    \"description_ko\": \"드레드노트 및 타이탄에 사용되는 캐피탈 함선 함포입니다.\", \n    \"description_ru\": \"Артиллерийские орудия для кораблей большого тоннажа, применяющиеся на титанах и дредноутах.\", \n    \"description_zh\": \"旗舰级舰载加农炮，在无畏舰或者泰坦上使用。\", \n    \"descriptionID\": 64919, \n    \"hasTypes\": 1, \n    \"iconID\": 2842, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65993, \n    \"parentGroupID\": 560\n  }, \n  \"776\": {\n    \"description_de\": \"Maschinenkanonen für Capital-Schiffe zum Einsatz auf Dreadnoughts und Titans.\", \n    \"description_en-us\": \"Capital ship autocannons, for use on dreadnoughts and titans.\", \n    \"description_es\": \"Cañones automáticos de naves capitales para uso en superacorazados y titanes.\", \n    \"description_fr\": \"Canons automatiques pour vaisseaux capitaux, utilisés sur les dreadnoughts et les titans.\", \n    \"description_it\": \"Capital ship autocannons, for use on dreadnoughts and titans.\", \n    \"description_ja\": \"攻城艦および旗艦級戦艦で使用される主力艦オートキャノン。\", \n    \"description_ko\": \"드레드노트 및 타이탄에 사용되는 캐피탈 함선 전용 기관포입니다.\", \n    \"description_ru\": \"Автопушки для кораблей большого тоннажа, применяющиеся на титанах и дредноутах.\", \n    \"description_zh\": \"旗舰级舰载自动加农炮，在无畏舰或者泰坦上使用。\", \n    \"descriptionID\": 64920, \n    \"hasTypes\": 1, \n    \"iconID\": 2838, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 65994, \n    \"parentGroupID\": 559\n  }, \n  \"777\": {\n    \"description_de\": \"Zum Abschuss von extragroßen Torpedos.  Kann nur in Dreadnoughts und Titans ausgerüstet werden.\", \n    \"description_en-us\": \"For the launching of XL torpedoes.  Can only be fitted on dreadnoughts and titans.\", \n    \"description_es\": \"Para lanzar torpedos XL. Solo se pueden equipar en superacorazados y titanes.\", \n    \"description_fr\": \"Pour lancer des torpilles XL.  Ne peut être installé que sur les supercuirassés et les titans.\", \n    \"description_it\": \"For the launching of XL torpedoes.  Can only be fitted on dreadnoughts and titans.\", \n    \"description_ja\": \"XLトルピードの発射用。攻城艦およびタイタンにのみ搭載可能。\", \n    \"description_ko\": \"XL 토피도를 발사하는 런처입니다. 드레드노트 및 타이탄에만 장착할 수 있습니다.\", \n    \"description_ru\": \"Предназначены для пуска торпед сверхбольшой мощности.  Оснащаемые классы кораблей: дредноуты и титаны.\", \n    \"description_zh\": \"发射超大型鱼雷，只能装备在无畏舰和泰坦上。\", \n    \"descriptionID\": 64921, \n    \"hasTypes\": 1, \n    \"iconID\": 3955, \n    \"name_de\": \"XL Werfer\", \n    \"name_en-us\": \"XL Launchers\", \n    \"name_es\": \"Lanzadores XL\", \n    \"name_fr\": \"Lanceurs XL\", \n    \"name_it\": \"XL Launchers\", \n    \"name_ja\": \"XLランチャー\", \n    \"name_ko\": \"XL 런처\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"堡垒级发射器\", \n    \"nameID\": 65995, \n    \"parentGroupID\": 140\n  }, \n  \"778\": {\n    \"description_de\": \"Schildverstärkungen für Capital-Schiffe.\", \n    \"description_en-us\": \"Shield boosters for capital ships\", \n    \"description_es\": \"Potenciadores de escudo para naves capitales.\", \n    \"description_fr\": \"Boosters de bouclier pour vaisseaux capitaux\", \n    \"description_it\": \"Shield boosters for capital ships\", \n    \"description_ja\": \"主力艦用のシールドブースター。\", \n    \"description_ko\": \"캐피탈 함선 실드 부스터\", \n    \"description_ru\": \"Системы накачки щита для кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级护盾回充增量器\", \n    \"descriptionID\": 64922, \n    \"hasTypes\": 1, \n    \"iconID\": 84, \n    \"name_de\": \"Capital\", \n    \"name_en-us\": \"Capital\", \n    \"name_es\": \"Capital\", \n    \"name_fr\": \"Capital\", \n    \"name_it\": \"Capital\", \n    \"name_ja\": \"キャピタル\", \n    \"name_ko\": \"캐피탈\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 65996, \n    \"parentGroupID\": 552\n  }, \n  \"779\": {\n    \"description_de\": \"Module zur Unterstützung von Flottenmitgliedern\", \n    \"description_en-us\": \"Modules used to assist fleet members\", \n    \"description_es\": \"Módulos usados para ayudar a miembros de la flota.\", \n    \"description_fr\": \"Modules utilisés pour assister les membres de la flotte\", \n    \"description_it\": \"Modules used to assist fleet members\", \n    \"description_ja\": \"フリートメンバーを支援するモジュール\", \n    \"description_ko\": \"함대 지원 모듈입니다.\", \n    \"description_ru\": \"Модули, используемые для поддержки кораблей флота\", \n    \"description_zh\": \"用于辅助舰队成员的装备\", \n    \"descriptionID\": 64923, \n    \"hasTypes\": 0, \n    \"iconID\": 20969, \n    \"name_de\": \"Module zur Flottenunterstützung\", \n    \"name_en-us\": \"Fleet Assistance Modules\", \n    \"name_es\": \"Módulos de asistencia de flotas\", \n    \"name_fr\": \"Modules d'assistance de flotte\", \n    \"name_it\": \"Fleet Assistance Modules\", \n    \"name_ja\": \"フリート支援モジュール\", \n    \"name_ko\": \"함대 지원 모듈\", \n    \"name_ru\": \"Модули координации флотов\", \n    \"name_zh\": \"舰队辅助装备\", \n    \"nameID\": 65997, \n    \"parentGroupID\": 9\n  }, \n  \"781\": {\n    \"description_de\": \"Baustein-Komponenten zur Produktion von Capital-Schiffen.\", \n    \"description_en-us\": \"Modular components used in the manufacture of capital ships.\", \n    \"description_es\": \"Componentes modulares usados en la fabricación de naves capitales.\", \n    \"description_fr\": \"Objets modulaires utilisés pour la fabrication des vaisseaux capitaux.\", \n    \"description_it\": \"Modular components used in the manufacture of capital ships.\", \n    \"description_ja\": \"主力艦の製造に使用されるモジュール部品。\", \n    \"description_ko\": \"캐피탈 함선 제작에 사용되는 모듈 부품입니다.\", \n    \"description_ru\": \"Модульные компоненты, применяющиеся для строительства кораблей большого тоннажа.\", \n    \"description_zh\": \"制造旗舰级舰船使用的模块化组件。\", \n    \"descriptionID\": 64925, \n    \"hasTypes\": 1, \n    \"iconID\": 2863, \n    \"name_de\": \"Standard\", \n    \"name_en-us\": \"Standard Capital Ship Components\", \n    \"name_es\": \"Componentes estándar de nave capital\", \n    \"name_fr\": \"Composants de vaisseau capital standard\", \n    \"name_it\": \"Standard Capital Ship Components\", \n    \"name_ja\": \"標準型主力艦部品\", \n    \"name_ko\": \"일반 캐피탈 함선 부품\", \n    \"name_ru\": \"Компоненты КБТ\", \n    \"name_zh\": \"标准旗舰组件\", \n    \"nameID\": 65999, \n    \"parentGroupID\": 1035\n  }, \n  \"782\": {\n    \"description_de\": \"Blueprints von Schiffen der Dreadnought-Klasse.\", \n    \"description_en-us\": \"Blueprints of dreadnought-class vessels.\", \n    \"description_es\": \"Planos de naves de clase superacorazado.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe dreadnought.\", \n    \"description_it\": \"Blueprints of dreadnought-class vessels.\", \n    \"description_ja\": \"攻城艦級艦船のブループリント。\", \n    \"description_ko\": \"드레드노트급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи дредноутов.\", \n    \"description_zh\": \"无畏舰蓝图。\", \n    \"descriptionID\": 64926, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Dreadnoughts\", \n    \"name_en-us\": \"Dreadnoughts\", \n    \"name_es\": \"Superacorazados\", \n    \"name_fr\": \"Dreadnoughts\", \n    \"name_it\": \"Dreadnoughts\", \n    \"name_ja\": \"攻城艦\", \n    \"name_ko\": \"드레드노트\", \n    \"name_ru\": \"Дредноуты\", \n    \"name_zh\": \"无畏舰\", \n    \"nameID\": 66000, \n    \"parentGroupID\": 204\n  }, \n  \"783\": {\n    \"description_de\": \"Blueprints von Amarr-Dreadnought-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr dreadnought designs.\", \n    \"description_es\": \"Planos de diseños de superacorazados amarrianos.\", \n    \"description_fr\": \"Plans de construction de modèles de dreadnoughts amarr.\", \n    \"description_it\": \"Blueprints of Amarr dreadnought designs.\", \n    \"description_ja\": \"アマー攻城艦設計図のブループリント。\", \n    \"description_ko\": \"아마르 드레드노트 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи дредноутов разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛无畏舰设计蓝图\", \n    \"descriptionID\": 64927, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66001, \n    \"parentGroupID\": 782\n  }, \n  \"784\": {\n    \"description_de\": \"Blueprints von Caldari-Dreadnought-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari dreadnought designs.\", \n    \"description_es\": \"Planos de diseños de superacorazados caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de dreadnoughts caldari.\", \n    \"description_it\": \"Blueprints of Caldari dreadnought designs.\", \n    \"description_ja\": \"カルダリ攻城艦設計図のブループリント。\", \n    \"description_ko\": \"칼다리 드레드노트 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи дредноутов разработки Государства Caldari.\", \n    \"description_zh\": \"加达里无畏舰设计蓝图\", \n    \"descriptionID\": 64928, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66002, \n    \"parentGroupID\": 782\n  }, \n  \"785\": {\n    \"description_de\": \"Blueprints von Gallente-Dreadnought-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente dreadnought designs.\", \n    \"description_es\": \"Planos de diseños de superacorazados gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de dreadnoughts gallente.\", \n    \"description_it\": \"Blueprints of Gallente dreadnought designs.\", \n    \"description_ja\": \"ガレンテ攻城艦設計図のブループリント。\", \n    \"description_ko\": \"갈란테 드레드노트 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи дредноутов разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特无畏舰设计蓝图。\", \n    \"descriptionID\": 64929, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66003, \n    \"parentGroupID\": 782\n  }, \n  \"786\": {\n    \"description_de\": \"Blueprints von Minmatar-Dreadnought-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar dreadnought designs.\", \n    \"description_es\": \"Planos de diseños de superacorazados minmatarianos.\", \n    \"description_fr\": \"Plans de construction de modèles de dreadnoughts minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar dreadnought designs.\", \n    \"description_ja\": \"ミンマター攻城艦のブループリント。\", \n    \"description_ko\": \"민마타 드레드노트 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи дредноутов разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔无畏舰设计蓝图。\", \n    \"descriptionID\": 64930, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66004, \n    \"parentGroupID\": 782\n  }, \n  \"787\": {\n    \"description_de\": \"Blueprints von Schiffen der Frachter-Klasse.\", \n    \"description_en-us\": \"Blueprints of freighter-class vessels.\", \n    \"description_es\": \"Planos de naves de clase carguero.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe transport de fret.\", \n    \"description_it\": \"Blueprints of freighter-class vessels.\", \n    \"description_ja\": \"超大型輸送艦級艦船のブループリント。\", \n    \"description_ko\": \"프레이터급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи грузовых кораблей.\", \n    \"description_zh\": \"货舰级别舰船蓝图\", \n    \"descriptionID\": 64931, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Frachter\", \n    \"name_en-us\": \"Freighters\", \n    \"name_es\": \"Cargueros\", \n    \"name_fr\": \"Transports de fret\", \n    \"name_it\": \"Freighters\", \n    \"name_ja\": \"超大型輸送艦\", \n    \"name_ko\": \"프레이터\", \n    \"name_ru\": \"Фрейтеры\", \n    \"name_zh\": \"货舰\", \n    \"nameID\": 66005, \n    \"parentGroupID\": 204\n  }, \n  \"788\": {\n    \"description_de\": \"Blueprints von Amarr-Frachter-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr freighter designs.\", \n    \"description_es\": \"Planos de diseños de cargueros amarrianos.\", \n    \"description_fr\": \"Plans de construction de modèles de transports de fret amarr.\", \n    \"description_it\": \"Blueprints of Amarr freighter designs.\", \n    \"description_ja\": \"アマー超大型輸送艦設計図のブループリント。\", \n    \"description_ko\": \"아마르 프레이터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи грузовых кораблей разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛货舰设计蓝图\", \n    \"descriptionID\": 64932, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66006, \n    \"parentGroupID\": 787\n  }, \n  \"789\": {\n    \"description_de\": \"Blueprints von Caldari-Frachter-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari freighter designs.\", \n    \"description_es\": \"Planos de diseños de cargueros caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de transports de fret caldari.\", \n    \"description_it\": \"Blueprints of Caldari freighter designs.\", \n    \"description_ja\": \"カルダリ超大型輸送艦設計図のブループリント。\", \n    \"description_ko\": \"칼다리 프레이터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи грузовых кораблей разработки Государства Caldari.\", \n    \"description_zh\": \"加达里战略货舰设计蓝图\", \n    \"descriptionID\": 64933, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66007, \n    \"parentGroupID\": 787\n  }, \n  \"790\": {\n    \"description_de\": \"Blueprints von Gallente-Frachter-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente freighter designs.\", \n    \"description_es\": \"Planos de diseños de cargueros gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de transports de fret gallente.\", \n    \"description_it\": \"Blueprints of Gallente freighter designs.\", \n    \"description_ja\": \"ガレンテ超大型輸送艦設計図のブループリント。\", \n    \"description_ko\": \"갈란테 프레이터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи грузовых кораблей разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特货舰设计蓝图。\", \n    \"descriptionID\": 64934, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66008, \n    \"parentGroupID\": 787\n  }, \n  \"791\": {\n    \"description_de\": \"Blueprints von Minmatar-Frachter-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar freighter designs.\", \n    \"description_es\": \"Planos de diseños de cargueros minmatarianos.\", \n    \"description_fr\": \"Plans de construction de modèles de transports de fret minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar freighter designs.\", \n    \"description_ja\": \"ミンマター超大型輸送艦設計図のブループリント。\", \n    \"description_ko\": \"민마타 프리깃 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи грузовых кораблей разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔货舰设计蓝图。\", \n    \"descriptionID\": 64935, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66009, \n    \"parentGroupID\": 787\n  }, \n  \"792\": {\n    \"description_de\": \"Blueprints von für Capital-Schiffe typischen Hybridgeschütztürmen.\", \n    \"description_en-us\": \"Blueprints of capital-sized hybrid turrets.\", \n    \"description_es\": \"Planos de torretas híbridas para naves de tamaño capital.\", \n    \"description_fr\": \"Plans de construction de tourelles hybrides adaptées aux vaisseaux capitaux.\", \n    \"description_it\": \"Blueprints of capital-sized hybrid turrets.\", \n    \"description_ja\": \"キャピタル級ハイブリッドタレットのブループリント。\", \n    \"description_ko\": \"캐피탈급 함선용 하이브리드 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи гибридных орудий для кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级混合炮蓝图。\", \n    \"descriptionID\": 64936, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 66010, \n    \"parentGroupID\": 286\n  }, \n  \"793\": {\n    \"description_de\": \"Blueprints von für Capital-Schiffe typischen Projektilgeschütztürmen.\", \n    \"description_en-us\": \"Blueprints of capital-sized projectile turrets.\", \n    \"description_es\": \"Planos de torretas de proyectiles para naves de tamaño capital.\", \n    \"description_fr\": \"Plans de construction de tourelles à projectiles adaptées aux vaisseaux capitaux.\", \n    \"description_it\": \"Blueprints of capital-sized projectile turrets.\", \n    \"description_ja\": \"キャピタル級プロジェクタイルタレットのブループリント。\", \n    \"description_ko\": \"캐피탈급 함선용 발사체 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи огнестрельных орудий для кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级射弹炮蓝图。\", \n    \"descriptionID\": 64937, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 66011, \n    \"parentGroupID\": 287\n  }, \n  \"794\": {\n    \"description_de\": \"Blueprints von für Capital-Schiffe typischen Lasergeschütztürmen.\", \n    \"description_en-us\": \"Blueprints of capital-sized laser turrets.\", \n    \"description_es\": \"Planos de torretas láser para naves de tamaño capital.\", \n    \"description_fr\": \"Plans de construction de tourelles à laser adaptées aux vaisseaux capitaux.\", \n    \"description_it\": \"Blueprints of capital-sized laser turrets.\", \n    \"description_ja\": \"キャピタル級レーザータレットのブループリント。\", \n    \"description_ko\": \"캐피탈급 함선용 레이저 터렛 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи лазерных орудий для кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级激光炮蓝图。\", \n    \"descriptionID\": 64938, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 66012, \n    \"parentGroupID\": 288\n  }, \n  \"796\": {\n    \"description_de\": \"Blueprints für Capital Ship Components.\", \n    \"description_en-us\": \"Blueprints of Capital Ship Components.\", \n    \"description_es\": \"Planos de componentes de naves capitales.\", \n    \"description_fr\": \"Plans de construction de composants de vaisseaux capitaux.\", \n    \"description_it\": \"Blueprints of Capital Ship Components.\", \n    \"description_ja\": \"主力艦部品のブループリント。\", \n    \"description_ko\": \"캐피탈 함선 부품 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи компонентов, использующихся при строительстве кораблей большого тоннажа (КБТ).\", \n    \"description_zh\": \"旗舰级舰船组件蓝图。\", \n    \"descriptionID\": 65304, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Standard\", \n    \"name_en-us\": \"Standard Capital Ship Components\", \n    \"name_es\": \"Componentes estándar de nave capital\", \n    \"name_fr\": \"Composants de vaisseau capital standard\", \n    \"name_it\": \"Standard Capital Ship Components\", \n    \"name_ja\": \"標準型主力艦の部品\", \n    \"name_ko\": \"일반 캐피탈 함선 부품\", \n    \"name_ru\": \"Компоненты КБТ\", \n    \"name_zh\": \"标准旗舰组件\", \n    \"nameID\": 66378, \n    \"parentGroupID\": 800\n  }, \n  \"798\": {\n    \"description_de\": \"Blueprints für Außenposten-Bauplattformen.\", \n    \"description_en-us\": \"Blueprints of Outpost Construction Platforms.\", \n    \"description_es\": \"Planos de plataformas de construcción de puestos avanzados.\", \n    \"description_fr\": \"Plans de construction de plateformes de construction d'avant-poste.\", \n    \"description_it\": \"Blueprints of Outpost Construction Platforms.\", \n    \"description_ja\": \"アウトポスト建設プラットフォームのブループリント。\", \n    \"description_ko\": \"전초기지 건설 플랫폼 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи строительных платформ для аванпостов.\", \n    \"description_zh\": \"建筑平台的蓝图。\", \n    \"descriptionID\": 65305, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Außenposten-Komponenten\", \n    \"name_en-us\": \"Outpost Components\", \n    \"name_es\": \"Componentes de puestos avanzados\", \n    \"name_fr\": \"Composants d'avant-poste\", \n    \"name_it\": \"Outpost Components\", \n    \"name_ja\": \"アウトポスト部品\", \n    \"name_ko\": \"전초기지 부품\", \n    \"name_ru\": \"Компоненты форпостов\", \n    \"name_zh\": \"哨站组件\", \n    \"nameID\": 66379, \n    \"parentGroupID\": 800\n  }, \n  \"799\": {\n    \"description_de\": \"Blueprints of Fleet Assistance Modules\", \n    \"description_en-us\": \"Blueprints of Fleet Assistance Modules.\", \n    \"description_es\": \"Planos de módulos de asistencia de flotas.\", \n    \"description_fr\": \"Plans de construction de modules d'assistance de flotte.\", \n    \"description_it\": \"Blueprints of Fleet Assistance Modules.\", \n    \"description_ja\": \"フリート支援モジュールのブループリント。\", \n    \"description_ko\": \"함대 지원 모듈 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи модулей обеспечения флотского взаимодействия.\", \n    \"description_zh\": \"舰队辅助装备的蓝图。\", \n    \"descriptionID\": 65302, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Module zur Flottenunterstützung\", \n    \"name_en-us\": \"Fleet Assistance Modules\", \n    \"name_es\": \"Módulos de asistencia de flotas\", \n    \"name_fr\": \"Modules d'assistance de flotte\", \n    \"name_it\": \"Fleet Assistance Modules\", \n    \"name_ja\": \"フリート支援モジュール\", \n    \"name_ko\": \"함대 지원 모듈\", \n    \"name_ru\": \"Модули координации флотов\", \n    \"name_zh\": \"舰队辅助装备\", \n    \"nameID\": 66376, \n    \"parentGroupID\": 209\n  }, \n  \"800\": {\n    \"description_de\": \"Blueprints von Mittelsgegenständen, welche bei der Produktion fortschrittlicherer Geräte Verwendung finden.\", \n    \"description_en-us\": \"Blueprints for intermediary items used in the production of more advanced items.\", \n    \"description_es\": \"Planos para productos intermediarios usados en la producción de objetos más avanzados.\", \n    \"description_fr\": \"Plans de construction d'objets intermédiaires utilisés dans la production d'articles plus complexes.\", \n    \"description_it\": \"Blueprints for intermediary items used in the production of more advanced items.\", \n    \"description_ja\": \"より高性能なアイテムの生産に用いられる中間段階アイテムのブループリント。\", \n    \"description_ko\": \"고급 아이템 제작에 사용되는 중급 아이템 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи промежуточных элементов, используемых для производства более сложных предметов.\", \n    \"description_zh\": \"这些蓝图用来制造中间产品，这些中间产品再用来生产高级物品。\", \n    \"descriptionID\": 64939, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Komponenten\", \n    \"name_en-us\": \"Components\", \n    \"name_es\": \"Componentes\", \n    \"name_fr\": \"Composants\", \n    \"name_it\": \"Components\", \n    \"name_ja\": \"部品\", \n    \"name_ko\": \"부품\", \n    \"name_ru\": \"Компоненты\", \n    \"name_zh\": \"组件\", \n    \"nameID\": 66013, \n    \"parentGroupID\": 1041\n  }, \n  \"801\": {\n    \"description_de\": \"Module, die zur Vergrößerung und Verbesserung der Belagerungsfähigkeiten eines Capital-Schiffs geschaffen wurden.\", \n    \"description_en-us\": \"Modules designed to augment and enhance a capital ship's siege warfare abilities.\", \n    \"description_es\": \"Módulos diseñados para aumentar y mejorar las capacidades de guerra de asedio de la naves capitales.\", \n    \"description_fr\": \"Modules conçus pour améliorer les tactiques de siège d'un vaisseau capital.\", \n    \"description_it\": \"Modules designed to augment and enhance a capital ship's siege warfare abilities.\", \n    \"description_ja\": \"主力艦の包囲戦能力を強化するモジュール。\", \n    \"description_ko\": \"캐피탈 함선의 공성 능력을 강화하는 모듈입니다.\", \n    \"description_ru\": \"Модули, разработанные для усиления и улучшения боевой мощи кораблей большого тоннажа.\", \n    \"description_zh\": \"用于增强和改进旗舰级舰船的会战能力。\", \n    \"descriptionID\": 64940, \n    \"hasTypes\": 1, \n    \"iconID\": 2851, \n    \"name_de\": \"Belagerungsmodule\", \n    \"name_en-us\": \"Siege Modules\", \n    \"name_es\": \"Módulos de asedio\", \n    \"name_fr\": \"Modules de siège\", \n    \"name_it\": \"Siege Modules\", \n    \"name_ja\": \"シージモジュール\", \n    \"name_ko\": \"시즈모듈\", \n    \"name_ru\": \"Реконфигураторы\", \n    \"name_zh\": \"会战装备\", \n    \"nameID\": 66014, \n    \"parentGroupID\": 143\n  }, \n  \"802\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66015, \n    \"parentGroupID\": 65\n  }, \n  \"803\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66016, \n    \"parentGroupID\": 65\n  }, \n  \"812\": {\n    \"description_de\": \"Väter der Flotte, der größte der Großen.\", \n    \"description_en-us\": \"Fathers of the fleet, the biggest of the big.\", \n    \"description_es\": \"Los padres de la flota, los más grandes entre los grandes.\", \n    \"description_fr\": \"Les patriarches de la flotte, des géants parmi les grands.\", \n    \"description_it\": \"Fathers of the fleet, the biggest of the big.\", \n    \"description_ja\": \"けた外れのスケールを誇る、フリートの最高峰。\", \n    \"description_ko\": \"함대의 수장으로 가장 큰 규모를 자랑하는 함선입니다.\", \n    \"description_ru\": \"Отцы флотов, самые большие корабли из существующих.\", \n    \"description_zh\": \"舰队中的老大，老大中的老大。\", \n    \"descriptionID\": 65263, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Titans\", \n    \"name_en-us\": \"Titans\", \n    \"name_es\": \"Titanes\", \n    \"name_fr\": \"Titans\", \n    \"name_it\": \"Titans\", \n    \"name_ja\": \"旗艦級戦艦\", \n    \"name_ko\": \"타이탄\", \n    \"name_ru\": \"Титаны\", \n    \"name_zh\": \"泰坦\", \n    \"nameID\": 66337, \n    \"parentGroupID\": 1381\n  }, \n  \"813\": {\n    \"description_de\": \"Amarr-Titan-Designs.\", \n    \"description_en-us\": \"Amarr titan designs.\", \n    \"description_es\": \"Diseños de titanes amarrianos.\", \n    \"description_fr\": \"Modèles de titans amarr.\", \n    \"description_it\": \"Amarr titan designs.\", \n    \"description_ja\": \"アマータイタン設計図。\", \n    \"description_ko\": \"아마르의 타이탄입니다.\", \n    \"description_ru\": \"Титаны разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛泰坦设计\", \n    \"descriptionID\": 64951, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66025, \n    \"parentGroupID\": 812\n  }, \n  \"814\": {\n    \"description_de\": \"Caldari-Titan-Designs.\", \n    \"description_en-us\": \"Caldari titan designs.\", \n    \"description_es\": \"Diseños de titanes caldaris.\", \n    \"description_fr\": \"Modèles de titans caldari.\", \n    \"description_it\": \"Caldari titan designs.\", \n    \"description_ja\": \"カルダリタイタン設計図。\", \n    \"description_ko\": \"칼다리의 타이탄입니다.\", \n    \"description_ru\": \"Титаны разработки Государства Caldari.\", \n    \"description_zh\": \"加达里泰坦设计\", \n    \"descriptionID\": 64952, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66026, \n    \"parentGroupID\": 812\n  }, \n  \"815\": {\n    \"description_de\": \"Gallente-Titan-Designs.\", \n    \"description_en-us\": \"Gallente titan designs.\", \n    \"description_es\": \"Diseños de titanes gallentes.\", \n    \"description_fr\": \"Modèles de titans gallente.\", \n    \"description_it\": \"Gallente titan designs.\", \n    \"description_ja\": \"ガレンテタイタン設計図。\", \n    \"description_ko\": \"갈란테의 타이탄입니다.\", \n    \"description_ru\": \"Титаны разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特泰坦设计\", \n    \"descriptionID\": 64953, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66027, \n    \"parentGroupID\": 812\n  }, \n  \"816\": {\n    \"description_de\": \"Minmatar-Titan-Designs.\", \n    \"description_en-us\": \"Minmatar titan designs.\", \n    \"description_es\": \"Diseños de titanes minmatarianos.\", \n    \"description_fr\": \"Modèles de titans minmatar.\", \n    \"description_it\": \"Minmatar titan designs.\", \n    \"description_ja\": \"ミンマタータイタン設計図。\", \n    \"description_ko\": \"민마타의 타이탄입니다.\", \n    \"description_ru\": \"Титаны разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔泰坦设计\", \n    \"descriptionID\": 64954, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66028, \n    \"parentGroupID\": 812\n  }, \n  \"817\": {\n    \"description_de\": \"Große Kriegsschiffe, die in der Lage sind, Horden kleinerer Schiffe zu transportieren und einzusetzen.\", \n    \"description_en-us\": \"Capital warships, able to transport and deploy hordes of smaller vessels into the field.\", \n    \"description_es\": \"Naves de guerra capitales, capaces de transportar hordas de naves más pequeñas para desplegarlas en el campo de batalla.\", \n    \"description_fr\": \"Vaisseaux capitaux capables de transporter et de déployer des hordes de vaisseaux de taille inférieure sur le champ de bataille.\", \n    \"description_it\": \"Capital warships, able to transport and deploy hordes of smaller vessels into the field.\", \n    \"description_ja\": \"多数の小型艦船を輸送し、配置することが可能なキャピタル級戦闘艦。\", \n    \"description_ko\": \"캐피탈급 함선으로 다수의 소형 기체들을 격납하고 전투 시 사출합니다.\", \n    \"description_ru\": \"Это боевые корабли большого тоннажа, способные доставлять на поле боя целые соединения небольших кораблей.\", \n    \"description_zh\": \"旗舰级战舰，可以装载、运输和投放小型舰只到战场执行任务。\", \n    \"descriptionID\": 65261, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Trägerschiffe\", \n    \"name_en-us\": \"Carriers\", \n    \"name_es\": \"Portanaves\", \n    \"name_fr\": \"Porte-vaisseaux\", \n    \"name_it\": \"Carriers\", \n    \"name_ja\": \"艦載機母艦\", \n    \"name_ko\": \"캐리어\", \n    \"name_ru\": \"Корабли автономного развёртывания\", \n    \"name_zh\": \"航空母舰\", \n    \"nameID\": 66335, \n    \"parentGroupID\": 1381\n  }, \n  \"818\": {\n    \"description_de\": \"Amarr-Träger-Designs.\", \n    \"description_en-us\": \"Amarr carrier designs.\", \n    \"description_es\": \"Diseños de portanaves amarrianos.\", \n    \"description_fr\": \"Modèles de porte-vaisseaux amarr.\", \n    \"description_it\": \"Amarr carrier designs.\", \n    \"description_ja\": \"アマー艦載機母艦設計図。\", \n    \"description_ko\": \"아마르의 캐리어입니다.\", \n    \"description_ru\": \"Корабли-носители разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛航空母舰设计\", \n    \"descriptionID\": 64955, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66029, \n    \"parentGroupID\": 817\n  }, \n  \"819\": {\n    \"description_de\": \"Caldari-Träger-Designs.\", \n    \"description_en-us\": \"Caldari carrier designs.\", \n    \"description_es\": \"Diseños de portanaves caldaris.\", \n    \"description_fr\": \"Modèles de porte-vaisseaux caldari.\", \n    \"description_it\": \"Caldari carrier designs.\", \n    \"description_ja\": \"カルダリ艦載機母艦設計図。\", \n    \"description_ko\": \"칼다리의 캐리어입니다.\", \n    \"description_ru\": \"Корабли-носители разработки Государства Caldari.\", \n    \"description_zh\": \"加达里航空母舰设计\", \n    \"descriptionID\": 64956, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66030, \n    \"parentGroupID\": 817\n  }, \n  \"820\": {\n    \"description_de\": \"Gallente-Träger-Designs.\", \n    \"description_en-us\": \"Gallente carrier designs.\", \n    \"description_es\": \"Diseños de portanaves gallentes.\", \n    \"description_fr\": \"Modèles de porte-vaisseaux gallente.\", \n    \"description_it\": \"Gallente carrier designs.\", \n    \"description_ja\": \"ガレンテ艦載機母艦設計図。\", \n    \"description_ko\": \"갈란테의 캐리어입니다.\", \n    \"description_ru\": \"Корабли-носители разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特航空母舰设计\", \n    \"descriptionID\": 64957, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66031, \n    \"parentGroupID\": 817\n  }, \n  \"821\": {\n    \"description_de\": \"Minmatar-Träger-Designs.\", \n    \"description_en-us\": \"Minmatar carrier designs.\", \n    \"description_es\": \"Diseños de portanaves minmatarianos.\", \n    \"description_fr\": \"Modèles de porte-vaisseaux minmatar.\", \n    \"description_it\": \"Minmatar carrier designs.\", \n    \"description_ja\": \"ミンマター艦載機母艦設計図。\", \n    \"description_ko\": \"민마타의 캐리어입니다.\", \n    \"description_ru\": \"Корабли-носители разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔航空母舰设计\", \n    \"descriptionID\": 64958, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66032, \n    \"parentGroupID\": 817\n  }, \n  \"822\": {\n    \"description_de\": \"Schiffe der Schlachtkreuzer-Klasse, konzipiert, um ihren Verbündeten auf dem Schlachtfeld zu helfen.\", \n    \"description_en-us\": \"Battlecruiser-class vessels, designed to aid their allies on the battlefield.\", \n    \"description_es\": \"Cruceros de combate diseñados para ayudar a los aliados en el campo de batalla.\", \n    \"description_fr\": \"Vaisseaux de classe croiseur de bataille, conçus pour assister leurs alliés sur le champ de bataille.\", \n    \"description_it\": \"Battlecruiser-class vessels, designed to aid their allies on the battlefield.\", \n    \"description_ja\": \"戦場での味方艦船のサポートを主任務とする巡洋戦艦級艦船。\", \n    \"description_ko\": \"배틀크루저급 함선으로 전장의 아군을 지원하기 위해 제작되었습니다.\", \n    \"description_ru\": \"Усовершенствованные линейные крейсеры, разработанные для оказания поддержки другим кораблям на поле боя.\", \n    \"description_zh\": \"战列巡洋舰等级战舰，专门用来在战场对友军舰只提供支援。\", \n    \"descriptionID\": 65257, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Kommandoschiffe\", \n    \"name_en-us\": \"Command Ships\", \n    \"name_es\": \"Naves de mando\", \n    \"name_fr\": \"Vaisseaux de commandement\", \n    \"name_it\": \"Command Ships\", \n    \"name_ja\": \"指揮型巡洋戦艦\", \n    \"name_ko\": \"커맨드쉽\", \n    \"name_ru\": \"Корабли управления\", \n    \"name_zh\": \"指挥舰\", \n    \"nameID\": 66331, \n    \"parentGroupID\": 1375\n  }, \n  \"823\": {\n    \"description_de\": \"Schiffe der Zerstörer-Klasse, die dazu gebaut sind, andere Raumschiffe aus dem Warp zu ziehen.\", \n    \"description_en-us\": \"Destroyer-class vessels designed to pull other starships out of warp.\", \n    \"description_es\": \"Naves de clase destructor diseñadas para sacar a otras naves del warp.\", \n    \"description_fr\": \"Vaisseaux de type destroyer, conçus pour empêcher les autres vaisseaux spatiaux de warper.\", \n    \"description_it\": \"Destroyer-class vessels designed to pull other starships out of warp.\", \n    \"description_ja\": \"敵船のワープを阻止するデストロイヤー級艦船。\", \n    \"description_ko\": \"워프 교란 임무를 수행하는 디스트로이어급 함선입니다.\", \n    \"description_ru\": \"Разработанные на базе эсминцев корабли, оснащенные системами глушения варп-приводов других кораблей.\", \n    \"description_zh\": \"驱逐舰级别舰船，用于阻止其他船只的跃迁。\", \n    \"descriptionID\": 65376, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Unterbrecher\", \n    \"name_en-us\": \"Interdictors\", \n    \"name_es\": \"Interdictores\", \n    \"name_fr\": \"Interdicteurs\", \n    \"name_it\": \"Interdictors\", \n    \"name_ja\": \"ワープ妨害型駆逐艦\", \n    \"name_ko\": \"인터딕터\", \n    \"name_ru\": \"Заградительные эсминцы\", \n    \"name_zh\": \"拦截舰\", \n    \"nameID\": 66450, \n    \"parentGroupID\": 1373\n  }, \n  \"824\": {\n    \"description_de\": \"Kreuzer, die auf Aufklärungsmissionen und elektronische Kriegsführung spezialisiert sind.\", \n    \"description_en-us\": \"Cruisers specialized in reconnaissance operations and electronic warfare.\", \n    \"description_es\": \"Cruceros especializados en operaciones de reconocimiento y guerra electrónica.\", \n    \"description_fr\": \"Croiseurs spécialisés dans les opérations de reconnaissance et la guerre électronique.\", \n    \"description_it\": \"Cruisers specialized in reconnaissance operations and electronic warfare.\", \n    \"description_ja\": \"偵察活動や電子戦を主任務とする巡洋艦。\", \n    \"description_ko\": \"크루저는 정찰 작전 및 전자전에 특화된 함선입니다.\", \n    \"description_ru\": \"Крейсеры, предназначенные для ведения разведки и электронной борьбы.\", \n    \"description_zh\": \"专用于侦察任务和电子战的巡洋舰。\", \n    \"descriptionID\": 65252, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Aufklärungsschiffe\", \n    \"name_en-us\": \"Recon Ships\", \n    \"name_es\": \"Naves de reconocimiento\", \n    \"name_fr\": \"Vaisseaux de reconnaissance\", \n    \"name_it\": \"Recon Ships\", \n    \"name_ja\": \"電子戦型巡洋艦\", \n    \"name_ko\": \"리콘 크루저\", \n    \"name_ru\": \"Дозорные крейсеры\", \n    \"name_zh\": \"侦察舰\", \n    \"nameID\": 66326, \n    \"parentGroupID\": 1368\n  }, \n  \"825\": {\n    \"description_de\": \"Amarr-Kommandoschiff-Designs.\", \n    \"description_en-us\": \"Amarr command ship designs.\", \n    \"description_es\": \"Diseños de naves de mando amarrianas.\", \n    \"description_fr\": \"Modèles de vaisseaux de commandement amarr.\", \n    \"description_it\": \"Amarr command ship designs.\", \n    \"description_ja\": \"アマー指揮型巡洋戦艦設計図。\", \n    \"description_ko\": \"아마르의 커맨드쉽입니다.\", \n    \"description_ru\": \"Корабли управления разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛指挥舰设计\", \n    \"descriptionID\": 64959, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66033, \n    \"parentGroupID\": 822\n  }, \n  \"826\": {\n    \"description_de\": \"Amarr-Unterbrecher-Designs.\", \n    \"description_en-us\": \"Amarr interdictor designs.\", \n    \"description_es\": \"Diseños de interdictores amarrianos.\", \n    \"description_fr\": \"Modèles d'interdicteurs amarr.\", \n    \"description_it\": \"Amarr interdictor designs.\", \n    \"description_ja\": \"アマーワープ妨害型駆逐艦設計図。\", \n    \"description_ko\": \"아마르의 인터딕터입니다.\", \n    \"description_ru\": \"Заградительные корабли разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛拦截舰设计\", \n    \"descriptionID\": 64960, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66034, \n    \"parentGroupID\": 823\n  }, \n  \"827\": {\n    \"description_de\": \"Amarr-Aufklärungsschiff-Designs.\", \n    \"description_en-us\": \"Amarr recon ship designs.\", \n    \"description_es\": \"Diseños de naves de reconocimiento amarrianas.\", \n    \"description_fr\": \"Modèles de vaisseaux de reconnaissance amarr.\", \n    \"description_it\": \"Amarr recon ship designs.\", \n    \"description_ja\": \"アマー偵察船設計図。\", \n    \"description_ko\": \"아마르의 리콘 크루저입니다.\", \n    \"description_ru\": \"Разведывательные корабли разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛侦察舰设计\", \n    \"descriptionID\": 64961, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66035, \n    \"parentGroupID\": 824\n  }, \n  \"828\": {\n    \"description_de\": \"Caldari-Kommandoschiff-Designs.\", \n    \"description_en-us\": \"Caldari command ship designs.\", \n    \"description_es\": \"Diseños de naves de mando caldaris.\", \n    \"description_fr\": \"Modèles de vaisseaux de commandement caldari.\", \n    \"description_it\": \"Caldari command ship designs.\", \n    \"description_ja\": \"カルダリ指揮型巡洋戦艦設計図。\", \n    \"description_ko\": \"칼다리의 커맨드쉽입니다.\", \n    \"description_ru\": \"Корабли управления разработки Государства Caldari.\", \n    \"description_zh\": \"加达里指挥舰设计\", \n    \"descriptionID\": 64962, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66036, \n    \"parentGroupID\": 822\n  }, \n  \"829\": {\n    \"description_de\": \"Caldari-Unterbrecher-Designs.\", \n    \"description_en-us\": \"Caldari interdictor designs.\", \n    \"description_es\": \"Diseños de interdictores caldaris.\", \n    \"description_fr\": \"Modèles d'interdicteurs caldari.\", \n    \"description_it\": \"Caldari interdictor designs.\", \n    \"description_ja\": \"カルダリワープ妨害型駆逐艦設計図。\", \n    \"description_ko\": \"칼다리의 인터딕터입니다.\", \n    \"description_ru\": \"Заградительные корабли разработки Государства Caldari.\", \n    \"description_zh\": \"加达里拦截舰设计\", \n    \"descriptionID\": 64963, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66037, \n    \"parentGroupID\": 823\n  }, \n  \"830\": {\n    \"description_de\": \"Caldari-Aufklärungsschiff-Designs.\", \n    \"description_en-us\": \"Caldari recon ship designs.\", \n    \"description_es\": \"Diseños de naves de reconocimiento caldaris.\", \n    \"description_fr\": \"Modèles de vaisseaux de reconnaissance caldari.\", \n    \"description_it\": \"Caldari recon ship designs.\", \n    \"description_ja\": \"カルダリ偵察船設計図。\", \n    \"description_ko\": \"칼다리의 리콘 크루저입니다.\", \n    \"description_ru\": \"Разведывательные корабли разработки Государства Caldari.\", \n    \"description_zh\": \"加达里侦察舰设计\", \n    \"descriptionID\": 64964, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66038, \n    \"parentGroupID\": 824\n  }, \n  \"831\": {\n    \"description_de\": \"Gallente-Kommandoschiff-Designs.\", \n    \"description_en-us\": \"Gallente command ship designs.\", \n    \"description_es\": \"Diseños de naves de mando gallentes.\", \n    \"description_fr\": \"Modèles de vaisseaux de commandement gallente.\", \n    \"description_it\": \"Gallente command ship designs.\", \n    \"description_ja\": \"ガレンテ指揮型巡洋戦艦設計図。\", \n    \"description_ko\": \"갈란테의 커맨드쉽입니다.\", \n    \"description_ru\": \"Корабли управления разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特指挥舰设计\", \n    \"descriptionID\": 64965, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66039, \n    \"parentGroupID\": 822\n  }, \n  \"832\": {\n    \"description_de\": \"Gallente-Unterbrecher-Designs.\", \n    \"description_en-us\": \"Gallente interdictor designs.\", \n    \"description_es\": \"Diseño de interdictores gallentes.\", \n    \"description_fr\": \"Modèles d'interdicteurs gallente.\", \n    \"description_it\": \"Gallente interdictor designs.\", \n    \"description_ja\": \"ガレンテワープ妨害型駆逐艦設計図。\", \n    \"description_ko\": \"갈란테의 인터딕터입니다.\", \n    \"description_ru\": \"Заградительные корабли разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特拦截舰设计\", \n    \"descriptionID\": 64966, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66040, \n    \"parentGroupID\": 823\n  }, \n  \"833\": {\n    \"description_de\": \"Gallente-Aufklärungsschiff-Designs.\", \n    \"description_en-us\": \"Gallente recon ship designs.\", \n    \"description_es\": \"Diseños de naves de reconocimiento gallentes.\", \n    \"description_fr\": \"Modèles de vaisseaux de reconnaissance gallente.\", \n    \"description_it\": \"Gallente recon ship designs.\", \n    \"description_ja\": \"ガレンテ偵察船設計図。\", \n    \"description_ko\": \"갈란테의 리콘 크루저입니다.\", \n    \"description_ru\": \"Разведывательные корабли разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特侦察舰设计\", \n    \"descriptionID\": 64967, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66041, \n    \"parentGroupID\": 824\n  }, \n  \"834\": {\n    \"description_de\": \"Minmatar-Kommandoschiff-Designs.\", \n    \"description_en-us\": \"Minmatar command ship designs.\", \n    \"description_es\": \"Diseños de naves de mando minmatarianas.\", \n    \"description_fr\": \"Modèles de vaisseaux de commandement minmatar.\", \n    \"description_it\": \"Minmatar command ship designs.\", \n    \"description_ja\": \"ミンマター指揮型巡洋戦艦設計図。\", \n    \"description_ko\": \"민마타의 커맨드쉽입니다.\", \n    \"description_ru\": \"Корабли управления разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔指挥舰设计\", \n    \"descriptionID\": 64968, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66042, \n    \"parentGroupID\": 822\n  }, \n  \"835\": {\n    \"description_de\": \"Minmatar-Unterbrecher-Designs.\", \n    \"description_en-us\": \"Minmatar interdictor designs.\", \n    \"description_es\": \"Diseño de interdictores minmatarianos.\", \n    \"description_fr\": \"Modèles d'interdicteurs minmatar.\", \n    \"description_it\": \"Minmatar interdictor designs.\", \n    \"description_ja\": \"ミンマターワープ妨害型駆逐艦設計図。\", \n    \"description_ko\": \"민마타의 인터딕터입니다.\", \n    \"description_ru\": \"Заградительные корабли разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔拦截舰设计\", \n    \"descriptionID\": 64969, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66043, \n    \"parentGroupID\": 823\n  }, \n  \"836\": {\n    \"description_de\": \"Minmatar-Aufklärungsschiff-Designs.\", \n    \"description_en-us\": \"Minmatar recon ship designs.\", \n    \"description_es\": \"Diseños de naves de reconocimiento minmatarianas.\", \n    \"description_fr\": \"Modèles de vaisseaux de reconnaissance minmatar.\", \n    \"description_it\": \"Minmatar recon ship designs.\", \n    \"description_ja\": \"ミンマター偵察船設計図。\", \n    \"description_ko\": \"민마타의 리콘 크루저입니다.\", \n    \"description_ru\": \"Разведывательные корабли разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔侦察舰设计\", \n    \"descriptionID\": 64970, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66044, \n    \"parentGroupID\": 824\n  }, \n  \"837\": {\n    \"description_de\": \"Leichte Aufklärungsdrohnen\", \n    \"description_en-us\": \"Light Scout Drones\", \n    \"description_es\": \"Drones de reconocimiento ligeros.\", \n    \"description_fr\": \"Drones de reconnaissance légers\", \n    \"description_it\": \"Light Scout Drones\", \n    \"description_ja\": \"ライトスカウトドローン\", \n    \"description_ko\": \"라이트 스카우트 드론\", \n    \"description_ru\": \"Легкие разведывательные дроны\", \n    \"description_zh\": \"轻型侦察无人机\", \n    \"descriptionID\": 64971, \n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Leichte Aufklärungsdrohnen\", \n    \"name_en-us\": \"Light Scout Drones\", \n    \"name_es\": \"Drones de reconocimiento ligeros\", \n    \"name_fr\": \"Drones de reconnaissance légers\", \n    \"name_it\": \"Light Scout Drones\", \n    \"name_ja\": \"ライトスカウトドローン\", \n    \"name_ko\": \"라이트 스카우트 드론\", \n    \"name_ru\": \"Лёгкие боевые дроны\", \n    \"name_zh\": \"轻型侦察无人机\", \n    \"nameID\": 66045, \n    \"parentGroupID\": 159\n  }, \n  \"838\": {\n    \"description_de\": \"Mittlere Aufklärungsdrohnen\", \n    \"description_en-us\": \"Medium Scout Drones\", \n    \"description_es\": \"Drones de reconocimiento medianos.\", \n    \"description_fr\": \"Drones de reconnaissance intermédiaires\", \n    \"description_it\": \"Medium Scout Drones\", \n    \"description_ja\": \"ミディアムスカウトドローン\", \n    \"description_ko\": \"미디움 스카우트 드론\", \n    \"description_ru\": \"Средние разведывательные дроны\", \n    \"description_zh\": \"中型侦察无人机\", \n    \"descriptionID\": 64972, \n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Mittlere Aufklärungsdrohnen\", \n    \"name_en-us\": \"Medium Scout Drones\", \n    \"name_es\": \"Drones de reconocimiento medianos\", \n    \"name_fr\": \"Drones de reconnaissance intermédiaires\", \n    \"name_it\": \"Medium Scout Drones\", \n    \"name_ja\": \"ミディアムスカウトドローン\", \n    \"name_ko\": \"미디움 스카우트 드론\", \n    \"name_ru\": \"Средние боевые дроны\", \n    \"name_zh\": \"中型侦察无人机\", \n    \"nameID\": 66046, \n    \"parentGroupID\": 159\n  }, \n  \"839\": {\n    \"description_de\": \"Schwere Angriffsdrohnen.\", \n    \"description_en-us\": \"Heavy Attack Drones\", \n    \"description_es\": \"Drones de asalto pesados.\", \n    \"description_fr\": \"Drones d'attaque lourds\", \n    \"description_it\": \"Heavy Attack Drones\", \n    \"description_ja\": \"ヘビーアタックドローン\", \n    \"description_ko\": \"헤비 어택 드론\", \n    \"description_ru\": \"Тяжелые боевые дроны\", \n    \"description_zh\": \"重型攻击无人机\", \n    \"descriptionID\": 64973, \n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Schwere Angriffsdrohnen\", \n    \"name_en-us\": \"Heavy Attack Drones\", \n    \"name_es\": \"Drones de asalto pesados\", \n    \"name_fr\": \"Drones d’attaque lourds\", \n    \"name_it\": \"Heavy Attack Drones\", \n    \"name_ja\": \"ヘビーアタックドローン\", \n    \"name_ko\": \"헤비 어택 드론\", \n    \"name_ru\": \"Тяжёлые боевые дроны\", \n    \"name_zh\": \"重型攻击无人机\", \n    \"nameID\": 66047, \n    \"parentGroupID\": 159\n  }, \n  \"840\": {\n    \"description_de\": \"Einpilotige Kampfschiffe, einsetzbar von Trägerschiffen und Supercarriern.\", \n    \"description_en-us\": \"Single-pilot combat vessels, deployable from Carriers and Supercarriers.\", \n    \"description_es\": \"Monoplazas de combate que se pueden desplegar desde portanaves y superportanaves.\", \n    \"description_fr\": \"Vaisseaux de combat monoplaces pouvant être déployés depuis les porte-vaisseaux et super porte-vaisseaux.\", \n    \"description_it\": \"Single-pilot combat vessels, deployable from Carriers and Supercarriers.\", \n    \"description_ja\": \"艦載機母艦および大型艦載機母艦から配置可能な一人乗りコンバット船。\", \n    \"description_ko\": \"캐리어 및 슈퍼캐리어에서 사출되는 단일 파일럿 전투 함선입니다.\", \n    \"description_ru\": \"Одноместные пилотируемые боевые корабли, запускаемые с кораблей-носителей и суперкораблей-носителей.\", \n    \"description_zh\": \"由一个驾驶员操作的战斗船只，可以从航母或者超级航母上进行部署。\", \n    \"descriptionID\": 65242, \n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Leichte Jäger\", \n    \"name_en-us\": \"Light Fighters\", \n    \"name_es\": \"Cazas ligeros\", \n    \"name_fr\": \"Chasseurs léger\", \n    \"name_it\": \"Light Fighters\", \n    \"name_ja\": \"軽量級戦闘機\", \n    \"name_ko\": \"라이트 파이터\", \n    \"name_ru\": \"Лёгкие истребители\", \n    \"name_zh\": \"轻型铁骑舰载机\", \n    \"nameID\": 66316, \n    \"parentGroupID\": 2410\n  }, \n  \"841\": {\n    \"description_de\": \"Drohnen, die die Nachführungs- und Sensorleistung von Schiffen beeinflussen\", \n    \"description_en-us\": \"Drones that affect the tracking and sensor capabilities of ships\", \n    \"description_es\": \"Drones que alteran los sensores y las capacidades de rastreo de las naves.\", \n    \"description_fr\": \"Drones qui affectent les capacités de poursuite et de détection des vaisseaux\", \n    \"description_it\": \"Drones that affect the tracking and sensor capabilities of ships\", \n    \"description_ja\": \"船舶のトラッキングおよびセンサーに関する機能に影響を及ぼすドローン\", \n    \"description_ko\": \"트래킹 및 센서 관련 드론입니다.\", \n    \"description_ru\": \"Дроны, влияющие на системы целеуказания и наведения корабельных орудий\", \n    \"description_zh\": \"可以影响舰船的跟踪和感应能力的无人机\", \n    \"descriptionID\": 64974, \n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Drohnen zur elektronischen Kriegsführung\", \n    \"name_en-us\": \"Electronic Warfare Drones\", \n    \"name_es\": \"Drones de guerra electrónica\", \n    \"name_fr\": \"Drones de guerre électronique\", \n    \"name_it\": \"Electronic Warfare Drones\", \n    \"name_ja\": \"電子戦ドローン\", \n    \"name_ko\": \"전자전 드론\", \n    \"name_ru\": \"Дроны РЭБ\", \n    \"name_zh\": \"电子战无人机\", \n    \"nameID\": 66048, \n    \"parentGroupID\": 157\n  }, \n  \"842\": {\n    \"description_de\": \"Drohnen, die verbündete Schiffe unterstützen\", \n    \"description_en-us\": \"Drones that provide support to friendly ships\", \n    \"description_es\": \"Drones que proporcionan apoyo a las naves aliadas.\", \n    \"description_fr\": \"Drones qui apportent un soutien aux vaisseaux amis\", \n    \"description_it\": \"Drones that provide support to friendly ships\", \n    \"description_ja\": \"味方艦船をサポートするドローン\", \n    \"description_ko\": \"함선 지원에 특화된 드론입니다.\", \n    \"description_ru\": \"Дроны, оказывающие помощь дружественным кораблям\", \n    \"description_zh\": \"为友方舰船提供支援的无人机\", \n    \"descriptionID\": 64975, \n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Versorgungsdrohnen\", \n    \"name_en-us\": \"Logistic Drones\", \n    \"name_es\": \"Drones logísticos\", \n    \"name_fr\": \"Drones d'assistance\", \n    \"name_it\": \"Logistic Drones\", \n    \"name_ja\": \"支援専門ドローン\", \n    \"name_ko\": \"로지스틱스 드론\", \n    \"name_ru\": \"Ремонтные дроны\", \n    \"name_zh\": \"后勤无人机\", \n    \"nameID\": 66049, \n    \"parentGroupID\": 157\n  }, \n  \"843\": {\n    \"description_de\": \"Drohnen, die die Leistung feindlicher Schiffe beeinträchtigen\", \n    \"description_en-us\": \"Drones that interfere with the performance of enemy ships\", \n    \"description_es\": \"Drones que interfieren en el rendimiento de las naves enemigas.\", \n    \"description_fr\": \"Drones qui affectent les performances des vaisseaux ennemis\", \n    \"description_it\": \"Drones that interfere with the performance of enemy ships\", \n    \"description_ja\": \"敵艦の性能を低下させるドローン\", \n    \"description_ko\": \"적 함선 방해에 특화된 드론입니다.\", \n    \"description_ru\": \"Дроны, влияющие на работу систем вражеских кораблей\", \n    \"description_zh\": \"破坏敌方舰船性能的无人机\", \n    \"descriptionID\": 64976, \n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Kampfunterstützungsdrohnen\", \n    \"name_en-us\": \"Combat Utility Drones\", \n    \"name_es\": \"Drones de utilidades de combate\", \n    \"name_fr\": \"Drones de soutien au combat\", \n    \"name_it\": \"Combat Utility Drones\", \n    \"name_ja\": \"戦闘支援ドローン\", \n    \"name_ko\": \"컴뱃 유틸리티 드론\", \n    \"name_ru\": \"Вспомогательные дроны\", \n    \"name_zh\": \"功能性战斗无人机\", \n    \"nameID\": 66050, \n    \"parentGroupID\": 157\n  }, \n  \"845\": {\n    \"description_de\": \"Normale Projektil-Patronen.\", \n    \"description_en-us\": \"Standard projectile rounds.\", \n    \"description_es\": \"Munición estándar de proyectiles.\", \n    \"description_fr\": \"Cartouches de type standard.\", \n    \"description_it\": \"Standard projectile rounds.\", \n    \"description_ja\": \"標準型プロジェクタイル弾。\", \n    \"description_ko\": \"일반 발사체 탄약입니다.\", \n    \"description_ru\": \"Стандартные огнестрельные снаряды.\", \n    \"description_zh\": \"标准射弹弹药。\", \n    \"descriptionID\": 64977, \n    \"hasTypes\": 0, \n    \"iconID\": 1004, \n    \"name_de\": \"Standardmunition\", \n    \"name_en-us\": \"Standard Ammo\", \n    \"name_es\": \"Munición estándar\", \n    \"name_fr\": \"Munitions standard\", \n    \"name_it\": \"Standard Ammo\", \n    \"name_ja\": \"標準型弾薬\", \n    \"name_ko\": \"일반 탄약\", \n    \"name_ru\": \"Стандартные боеприпасы\", \n    \"name_zh\": \"标准弹药\", \n    \"nameID\": 66051, \n    \"parentGroupID\": 99\n  }, \n  \"846\": {\n    \"description_de\": \"Sehr schwere Munition nach neusten Technologiestandards.\", \n    \"description_en-us\": \"Ultra-heavy shells incorporating cutting-edge technology.\", \n    \"description_es\": \"Proyectiles ultrapesados con tecnología de vanguardia.\", \n    \"description_fr\": \"Coques ultra lourdes conçues grâce à une technologie de pointe.\", \n    \"description_it\": \"Ultra-heavy shells incorporating cutting-edge technology.\", \n    \"description_ja\": \"最新テクノロジーを取り入れた超重量級弾。\", \n    \"description_ko\": \"초중량 포탄으로 최첨단 기술이 적용되었습니다.\", \n    \"description_ru\": \"Сверхтяжелые снаряды, созданные с использованием самых современных технологий.\", \n    \"description_zh\": \"采用先进工艺制造的超重型弹药。\", \n    \"descriptionID\": 64978, \n    \"hasTypes\": 0, \n    \"iconID\": 1287, \n    \"name_de\": \"Fortschrittliche Artilleriemunition\", \n    \"name_en-us\": \"Advanced Artillery Ammo\", \n    \"name_es\": \"Munición avanzada de artillería\", \n    \"name_fr\": \"Munitions d’artillerie perfectionnées\", \n    \"name_it\": \"Advanced Artillery Ammo\", \n    \"name_ja\": \"高性能アーティレリ弾\", \n    \"name_ko\": \"상급 함포 탄약\", \n    \"name_ru\": \"Спецбоеприпасы для артиллерийских орудий\", \n    \"name_zh\": \"高级火炮弹药\", \n    \"nameID\": 66052, \n    \"parentGroupID\": 99\n  }, \n  \"847\": {\n    \"description_de\": \"Fortgeschrittene Maschinenkanonen-Munition, die topaktuelle Technologien vereinigt.\", \n    \"description_en-us\": \"Sophisticated autocannon munitions incorporating cutting-edge technology.\", \n    \"description_es\": \"Municiones de cañón automático sofisticadas con tecnología de vanguardia.\", \n    \"description_fr\": \"Munitions sophistiquées pour canon automatique conçues grâce à une technologie de pointe.\", \n    \"description_it\": \"Sophisticated autocannon munitions incorporating cutting-edge technology.\", \n    \"description_ja\": \"最新テクノロジーを取り入れた改良型オートキャノン弾。\", \n    \"description_ko\": \"최첨단 기술이 적용된 기관포 탄약입니다.\", \n    \"description_ru\": \"Спецбоеприпасы для автопушек, созданные с использованием самых современных технологий.\", \n    \"description_zh\": \"采用先进工艺制造的高级自动加农炮弹药。\", \n    \"descriptionID\": 64979, \n    \"hasTypes\": 0, \n    \"iconID\": 1291, \n    \"name_de\": \"Fortschrittliche Maschinenkanonenmunition\", \n    \"name_en-us\": \"Advanced Autocannon Ammo\", \n    \"name_es\": \"Munición avanzada de cañón automático\", \n    \"name_fr\": \"Munitions de canon automatique perfectionnées\", \n    \"name_it\": \"Advanced Autocannon Ammo\", \n    \"name_ja\": \"高性能オートキャノン弾\", \n    \"name_ko\": \"상급 기관포 탄약\", \n    \"name_ru\": \"Спецбоеприпасы для автопушек\", \n    \"name_zh\": \"高级自动加农炮弹药\", \n    \"nameID\": 66053, \n    \"parentGroupID\": 99\n  }, \n  \"848\": {\n    \"description_de\": \"Normale Hybrid-Geschosse.\", \n    \"description_en-us\": \"Standard hybrid slugs.\", \n    \"description_es\": \"Proyectiles híbridos estándar.\", \n    \"description_fr\": \"Balles hybrides standard.\", \n    \"description_it\": \"Standard hybrid slugs.\", \n    \"description_ja\": \"標準型ハイブリッド弾。\", \n    \"description_ko\": \"일반 하이브리드입니다.\", \n    \"description_ru\": \"Стандартные гибридные снаряды.\", \n    \"description_zh\": \"标准混合弹药。\", \n    \"descriptionID\": 64980, \n    \"hasTypes\": 0, \n    \"iconID\": 1047, \n    \"name_de\": \"Standardmunition\", \n    \"name_en-us\": \"Standard Charges\", \n    \"name_es\": \"Cargas estándar\", \n    \"name_fr\": \"Charges standards\", \n    \"name_it\": \"Standard Charges\", \n    \"name_ja\": \"標準型弾薬\", \n    \"name_ko\": \"일반 하이브리드탄\", \n    \"name_ru\": \"Стандартные заряды\", \n    \"name_zh\": \"标准弹药\", \n    \"nameID\": 66054, \n    \"parentGroupID\": 100\n  }, \n  \"849\": {\n    \"description_de\": \"Technologisch fortschrittliche Blastermunition.\", \n    \"description_en-us\": \"Technologically advanced blaster ammunition.\", \n    \"description_es\": \"Munición de bláster tecnológicamente avanzada.\", \n    \"description_fr\": \"Munitions de pointe pour blaster.\", \n    \"description_it\": \"Technologically advanced blaster ammunition.\", \n    \"description_ja\": \"先進技術を用いたブラスター弾。\", \n    \"description_ko\": \"최첨단 상급 블라스터 탄약입니다.\", \n    \"description_ru\": \"Усовершенствованные боеприпасы для бластеров, разработанные с использованием современных технологий.\", \n    \"description_zh\": \"高级疾速炮弹药\", \n    \"descriptionID\": 64981, \n    \"hasTypes\": 0, \n    \"iconID\": 1310, \n    \"name_de\": \"Fortschrittliche Blastermunition\", \n    \"name_en-us\": \"Advanced Blaster Charges\", \n    \"name_es\": \"Cargas avanzadas de bláster\", \n    \"name_fr\": \"Charges de blaster perfectionnées\", \n    \"name_it\": \"Advanced Blaster Charges\", \n    \"name_ja\": \"高性能ブラスター\", \n    \"name_ko\": \"상급 블라스터 탄약\", \n    \"name_ru\": \"Спецбоеприпасы для бластеров\", \n    \"name_zh\": \"高级疾速炮弹药\", \n    \"nameID\": 66055, \n    \"parentGroupID\": 100\n  }, \n  \"850\": {\n    \"description_de\": \"Technologisch fortschrittliche Railgun-Munition.\", \n    \"description_en-us\": \"Technologically advanced railgun ammunition.\", \n    \"description_es\": \"Munición de cañones electromagnéticos de tecnología avanzada.\", \n    \"description_fr\": \"Munitions de pointe pour canon à rail.\", \n    \"description_it\": \"Technologically advanced railgun ammunition.\", \n    \"description_ja\": \"先進技術を用いたレールガン弾。\", \n    \"description_ko\": \"최첨단 상급 레일건 탄약입니다.\", \n    \"description_ru\": \"Усовершенствованные боеприпасы для рейлганов, созданные с использованием современных технологий.\", \n    \"description_zh\": \"技术先进的磁轨炮弹药。\", \n    \"descriptionID\": 64982, \n    \"hasTypes\": 0, \n    \"iconID\": 1311, \n    \"name_de\": \"Fortschrittliche Schienengeschützmunition\", \n    \"name_en-us\": \"Advanced Railgun Charges\", \n    \"name_es\": \"Cargas avanzadas de cañón electromagnético\", \n    \"name_fr\": \"Charges de canon à rail perfectionnées\", \n    \"name_it\": \"Advanced Railgun Charges\", \n    \"name_ja\": \"高性能レールガン弾\", \n    \"name_ko\": \"상급 레일건 탄약\", \n    \"name_ru\": \"Спецбоеприпасы для рельсотронов\", \n    \"name_zh\": \"高级磁轨炮弹药\", \n    \"nameID\": 66056, \n    \"parentGroupID\": 100\n  }, \n  \"851\": {\n    \"description_de\": \"Der Standard beim Modulieren von Energiestrahl-Frequenzen.\", \n    \"description_en-us\": \"The standard in energy beam frequenzy modulation.\", \n    \"description_es\": \"El estándar en la modulación de frecuencia de rayos de energía.\", \n    \"description_fr\": \"Norme de la modulation de fréquence de rayons d'énergie.\", \n    \"description_it\": \"The standard in energy beam frequenzy modulation.\", \n    \"description_ja\": \"エネルギービームのフリーケンシー変調における標準。\", \n    \"description_ko\": \"일반 에너지 빔 프리퀀시 크리스탈입니다.\", \n    \"description_ru\": \"Стандартные кристаллы для модуляции частоты энергетического луча.\", \n    \"description_zh\": \"标准能量束频率调制。\", \n    \"descriptionID\": 65144, \n    \"hasTypes\": 0, \n    \"iconID\": 1142, \n    \"name_de\": \"Standardkristalle\", \n    \"name_en-us\": \"Standard Crystals\", \n    \"name_es\": \"Cristales estándar\", \n    \"name_fr\": \"Cristaux standard\", \n    \"name_it\": \"Standard Crystals\", \n    \"name_ja\": \"標準型クリスタル\", \n    \"name_ko\": \"일반 크리스탈\", \n    \"name_ru\": \"Стандартные кристаллы\", \n    \"name_zh\": \"标准晶体\", \n    \"nameID\": 66218, \n    \"parentGroupID\": 101\n  }, \n  \"852\": {\n    \"description_de\": \"Technologisch fortschrittliche Strahllaser-Kristalle.\", \n    \"description_en-us\": \"Technologically advanced beam laser crystals.\", \n    \"description_es\": \"Cristales de láseres de rayos tecnológicamente avanzados.\", \n    \"description_fr\": \"Cristaux de pointe pour laser à rayons.\", \n    \"description_it\": \"Technologically advanced beam laser crystals.\", \n    \"description_ja\": \"先進技術を用いたビームレーザークリスタル。\", \n    \"description_ko\": \"최첨단 빔 레이저 크리스탈입니다.\", \n    \"description_ru\": \"Усовершенствованные кристаллы для непрерывных лазеров, созданные с использованием современных технологий.\", \n    \"description_zh\": \"高级集束激光晶体\", \n    \"descriptionID\": 64983, \n    \"hasTypes\": 0, \n    \"iconID\": 1145, \n    \"name_de\": \"Fortschrittliche Dauerstrahllaser-Kristalle\", \n    \"name_en-us\": \"Advanced Beam Laser Crystals\", \n    \"name_es\": \"Cristales avanzados de láseres de rayos\", \n    \"name_fr\": \"Cristaux de laser à rayons perfectionnés\", \n    \"name_it\": \"Advanced Beam Laser Crystals\", \n    \"name_ja\": \"高性能ビームレーザークリスタル\", \n    \"name_ko\": \"상급 빔 레이저 크리스탈\", \n    \"name_ru\": \"Спецкристаллы для лучевых лазеров\", \n    \"name_zh\": \"高级集束激光晶体\", \n    \"nameID\": 66057, \n    \"parentGroupID\": 101\n  }, \n  \"853\": {\n    \"description_de\": \"Technologisch fortschrittliche Impulslaser-Kristalle.\", \n    \"description_en-us\": \"Technologically advanced pulse laser crystals.\", \n    \"description_es\": \"Cristales de láseres de pulsos de tecnología avanzada.\", \n    \"description_fr\": \"Cristaux de pointe pour laser à impulsions.\", \n    \"description_it\": \"Technologically advanced pulse laser crystals.\", \n    \"description_ja\": \"先進技術を用いたパルスレーザークリスタル。\", \n    \"description_ko\": \"최첨단 상급 펄스 레이저 크리스탈입니다.\", \n    \"description_ru\": \"Усовершенствованные кристаллы для импульсных лазеров, созданные с использованием современных технологий.\", \n    \"description_zh\": \"技术先进的脉冲激光晶体。\", \n    \"descriptionID\": 64984, \n    \"hasTypes\": 0, \n    \"iconID\": 1140, \n    \"name_de\": \"Fortschrittliche Impulslaserkristalle\", \n    \"name_en-us\": \"Advanced Pulse Laser Crystals\", \n    \"name_es\": \"Cristales avanzados de láser de pulsos\", \n    \"name_fr\": \"Cristaux de laser à impulsions perfectionnés\", \n    \"name_it\": \"Advanced Pulse Laser Crystals\", \n    \"name_ja\": \"高性能パルスレーザークリスタル\", \n    \"name_ko\": \"상급 펄스 레이저 크리스탈\", \n    \"name_ru\": \"Спецкристаллы для импульсных лазеров\", \n    \"name_zh\": \"高级脉冲激光晶体\", \n    \"nameID\": 66058, \n    \"parentGroupID\": 101\n  }, \n  \"854\": {\n    \"description_de\": \"Große ADAR Munition, von für Schlachtschiffe typischen Geschützen abgefeuert.\", \n    \"description_en-us\": \"Large ADAR ammunition, fired by battleship-sized guns.\", \n    \"description_es\": \"Munición de artillería avanzada de gran calibre apta para cañones de naves de tamaño acorazado.\", \n    \"description_fr\": \"Munitions ADAR de grande taille tirées, par exemple, par les canons des cuirassés.\", \n    \"description_it\": \"Large ADAR ammunition, fired by battleship-sized guns.\", \n    \"description_ja\": \"戦艦級の銃砲で使用される大型ADAR弾。\", \n    \"description_ko\": \"대형 라이다 탄약으로 배틀쉽급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Усовершенствованные боеприпасы для артиллерийских орудий большого калибра, устанавливаемых на линкоры.\", \n    \"description_zh\": \"战列舰级别炮台发射的大型ADAR弹药。\", \n    \"descriptionID\": 64985, \n    \"hasTypes\": 1, \n    \"iconID\": 1287, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66059, \n    \"parentGroupID\": 846\n  }, \n  \"855\": {\n    \"description_de\": \"Mittlere ADAR Munition für Kanonen der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Medium ADAR ammunition, fired by cruiser-sized guns.\", \n    \"description_es\": \"Munición de artillería avanzada de medio calibre apta para cañones de naves de tamaño crucero.\", \n    \"description_fr\": \"Munitions ADAR de taille moyenne tirées, par exemple, par les canons des croiseurs.\", \n    \"description_it\": \"Medium ADAR ammunition, fired by cruiser-sized guns.\", \n    \"description_ja\": \"巡洋艦級銃砲で使用される中型ADAR弾。\", \n    \"description_ko\": \"중형 ADAR 탄약으로 크루저급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Усовершенствованные боеприпасы для артиллерийских орудий среднего калибра, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"巡洋舰级别舰炮使用的ADAR弹药。\", \n    \"descriptionID\": 64986, \n    \"hasTypes\": 1, \n    \"iconID\": 1287, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66060, \n    \"parentGroupID\": 846\n  }, \n  \"856\": {\n    \"description_de\": \"Kleine ADAR Munition, von für Fregatten typischen Geschützen abgefeuert.\", \n    \"description_en-us\": \"Small ADAR ammunition, fired by frigate-sized guns.\", \n    \"description_es\": \"Munición de artillería avanzada de pequeño calibre apta para cañones de naves de tamaño fragata.\", \n    \"description_fr\": \"Munitions ADAR de petite taille tirées, par exemple, par les canons des frégates.\", \n    \"description_it\": \"Small ADAR ammunition, fired by frigate-sized guns.\", \n    \"description_ja\": \"フリゲート級銃砲で使用される小型のADAR弾。\", \n    \"description_ko\": \"소형 ADAR 탄약으로 프리깃급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Усовершенствованные боеприпасы для артиллерийских орудий малого калибра, устанавливаемых на фрегаты.\", \n    \"description_zh\": \"用于护卫舰级别舰炮使用的小型ADAR弹药。\", \n    \"descriptionID\": 64987, \n    \"hasTypes\": 1, \n    \"iconID\": 1287, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66061, \n    \"parentGroupID\": 846\n  }, \n  \"857\": {\n    \"description_de\": \"Große ADAC Munition, von für Schlachtschiffe typischen Geschützen abgefeuert.\", \n    \"description_en-us\": \"Large ADAC ammunition, fired by battleship-sized guns.\", \n    \"description_es\": \"Munición avanzada de cañón automático de gran calibre apta para cañones de naves de tamaño acorazado.\", \n    \"description_fr\": \"Munitions ADAC de grande taille tirées, par exemple, par les canons des cuirassés.\", \n    \"description_it\": \"Large ADAC ammunition, fired by battleship-sized guns.\", \n    \"description_ja\": \"戦艦級の銃砲で使用される大型ADAC弾。\", \n    \"description_ko\": \"대형 ADAC 탄약으로 배틀쉽급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Спецбоеприпасы для автопушек большого калибра, устанавливаемых на линкоры.\", \n    \"description_zh\": \"战列舰级别炮台发射的大型ADAC弹药。\", \n    \"descriptionID\": 64988, \n    \"hasTypes\": 1, \n    \"iconID\": 1291, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66062, \n    \"parentGroupID\": 847\n  }, \n  \"858\": {\n    \"description_de\": \"Mittlere ADAC Munition für Kanonen der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Medium ADAC ammunition, fired by cruiser-sized guns.\", \n    \"description_es\": \"Munición avanzada de cañón automático de medio calibre apta para cañones de naves de tamaño crucero.\", \n    \"description_fr\": \"Munitions ADAC de taille moyenne tirées, par exemple, par les canons des croiseurs.\", \n    \"description_it\": \"Medium ADAC ammunition, fired by cruiser-sized guns.\", \n    \"description_ja\": \"巡洋艦級銃砲で使用される中型ADAC弾。\", \n    \"description_ko\": \"중형 ADAC 탄약으로 크루저급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Спецбоеприпасы для автопушек среднего калибра, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"巡洋舰级别舰炮使用的中型ADAC弹药。\", \n    \"descriptionID\": 64989, \n    \"hasTypes\": 1, \n    \"iconID\": 1291, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66063, \n    \"parentGroupID\": 847\n  }, \n  \"859\": {\n    \"description_de\": \"Kleine ADAC Munition, von für Fregatten typischen Geschützen abgefeuert.\", \n    \"description_en-us\": \"Small ADAC ammunition, fired by frigate-sized guns.\", \n    \"description_es\": \"Munición avanzada de cañón automático de pequeño calibre apta para cañones de naves de tamaño fragata.\", \n    \"description_fr\": \"Munitions ADAC de petite taille tirées, par exemple, par les canons des frégates.\", \n    \"description_it\": \"Small ADAC ammunition, fired by frigate-sized guns.\", \n    \"description_ja\": \"フリゲート級銃砲で使用される小型のADAC弾。\", \n    \"description_ko\": \"소형 ADAC 탄약으로 프리깃급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Спецбоеприпасы для автопушек малого калибра, устанавливаемых на фрегаты.\", \n    \"description_zh\": \"用于护卫舰级别舰炮使用的小型ADAC弹药。\", \n    \"descriptionID\": 64990, \n    \"hasTypes\": 1, \n    \"iconID\": 1291, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66064, \n    \"parentGroupID\": 847\n  }, \n  \"860\": {\n    \"description_de\": \"Große fortschrittliche Hybridgranaten, von für Schlachtschiffe typischen Geschützen abgefeuert.\", \n    \"description_en-us\": \"Large advanced hybrid shells, fired by battleship-sized guns.\", \n    \"description_es\": \"Proyectiles híbridos avanzados de gran calibre aptos para cañones de naves de tamaño acorazado.\", \n    \"description_fr\": \"Obus hybrides perfectionnés de grande taille tirés, par exemple, par les canons des cuirassés.\", \n    \"description_it\": \"Large advanced hybrid shells, fired by battleship-sized guns.\", \n    \"description_ja\": \"戦艦級の銃砲で使用される大型高性能ハイブリッド弾。\", \n    \"description_ko\": \"대형 상급 하이브리드 포탄으로 배틀쉽급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Усовершенствованные заряды для гибридных турелей большого калибра, устанавливаемых на линкоры.\", \n    \"description_zh\": \"战列舰级别炮台发射的大型高级混合弹药。\", \n    \"descriptionID\": 64991, \n    \"hasTypes\": 1, \n    \"iconID\": 1310, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66065, \n    \"parentGroupID\": 849\n  }, \n  \"861\": {\n    \"description_de\": \"Mittlere, fortschrittliche Hybridmunition für Kanonen der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Medium advanced hybrid shells, fired by cruiser-sized guns.\", \n    \"description_es\": \"Proyectiles híbridos avanzados de medio calibre aptos para cañones de naves de tamaño crucero.\", \n    \"description_fr\": \"Obus hybrides perfectionnés de taille moyenne tirés, par exemple, par les canons des croiseurs.\", \n    \"description_it\": \"Medium advanced hybrid shells, fired by cruiser-sized guns.\", \n    \"description_ja\": \"巡洋艦級銃砲で使用される中型構成のハイブリッド弾。\", \n    \"description_ko\": \"중형 상급 하이브리드 포탄으로 크루저급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Усовершенствованные гибридные заряды для орудий среднего калибра, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"中型巡洋舰级别舰炮使用的中型高级混合炮炮弹。\", \n    \"descriptionID\": 64992, \n    \"hasTypes\": 1, \n    \"iconID\": 1310, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66066, \n    \"parentGroupID\": 849\n  }, \n  \"862\": {\n    \"description_de\": \"Kleine fortschrittliche Hybridgranaten, von für Fregatten typischen Geschützen abgefeuert.\", \n    \"description_en-us\": \"Small advanced hybrid shells, fired by frigate-sized guns.\", \n    \"description_es\": \"Proyectiles híbridos avanzados de pequeño calibre aptos para cañones de naves de tamaño fragata.\", \n    \"description_fr\": \"Obus hybrides perfectionnés de petite taille tirés, par exemple, par les canons des frégates.\", \n    \"description_it\": \"Small advanced hybrid shells, fired by frigate-sized guns.\", \n    \"description_ja\": \"フリゲート級銃砲で使用される高性能小型ハイブリッド弾。\", \n    \"description_ko\": \"소형 상급 하이브리드 포탄으로 프리깃급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Усовершенствованные боеприпасы для гибридных орудий малого калибра, устанавливаемых на фрегаты.\", \n    \"description_zh\": \"用于护卫舰级别舰炮使用的小型先进混合弹药。\", \n    \"descriptionID\": 64993, \n    \"hasTypes\": 1, \n    \"iconID\": 1310, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66067, \n    \"parentGroupID\": 849\n  }, \n  \"863\": {\n    \"description_de\": \"Große fortschrittliche Railgunmunition, von für Schlachtschiffe typischen Geschützen abgefeuert.\", \n    \"description_en-us\": \"Large advanced railgun ammunition, fired by battleship-sized guns.\", \n    \"description_es\": \"Munición avanzada de cañones electromagnéticos de gran calibre para naves de tamaño acorazado.\", \n    \"description_fr\": \"Munitions perfectionnées de grande taille pour canon à rail tirées, par exemple, par les canons des cuirassés.\", \n    \"description_it\": \"Large advanced railgun ammunition, fired by battleship-sized guns.\", \n    \"description_ja\": \"戦艦級の銃砲で使用される大型高性能レールガン弾。\", \n    \"description_ko\": \"대형 상급 레일건 탄약으로 배틀쉽급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Спецбоеприпасы для рельсотронов большого калибра, устанавливаемых на линкоры.\", \n    \"description_zh\": \"战列舰级别炮台发射的大型高级磁轨炮弹药。\", \n    \"descriptionID\": 64994, \n    \"hasTypes\": 1, \n    \"iconID\": 1311, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66068, \n    \"parentGroupID\": 850\n  }, \n  \"864\": {\n    \"description_de\": \"Mittlere, fortschrittliche Railgun-Munition für Kanonen der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Medium advanced railgun ammunition, fired by cruiser-sized guns.\", \n    \"description_es\": \"Munición avanzada de cañones electromagnéticos de medio calibre para naves de tamaño crucero.\", \n    \"description_fr\": \"Munitions perfectionnées de taille moyenne pour canon à rail tirées, par exemple, par les canons des croiseurs.\", \n    \"description_it\": \"Medium advanced railgun ammunition, fired by cruiser-sized guns.\", \n    \"description_ja\": \"巡洋艦級銃砲で使用される中型高性能レールガン弾。\", \n    \"description_ko\": \"중형 상급 레일건 탄약으로 크루저급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Усовершенствованные боеприпасы для рейлганов среднего калибра, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"巡洋舰级别舰炮使用的中型高级磁轨炮炮弹。\", \n    \"descriptionID\": 64995, \n    \"hasTypes\": 1, \n    \"iconID\": 1311, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66069, \n    \"parentGroupID\": 850\n  }, \n  \"865\": {\n    \"description_de\": \"Kleine fortschrittliche Railgunmunition, von für Fregatten typischen Geschützen abgefeuert.\", \n    \"description_en-us\": \"Small advanced railgun ammunition, fired by frigate-sized guns.\", \n    \"description_es\": \"Munición avanzada de cañones electromagnéticos de pequeño calibre para naves de tamaño fragata.\", \n    \"description_fr\": \"Munitions perfectionnées de petite taille pour canon à rail tirées, par exemple, par les canons des frégates.\", \n    \"description_it\": \"Small advanced railgun ammunition, fired by frigate-sized guns.\", \n    \"description_ja\": \"フリゲート級銃砲で使用される小型の高性能レールガン弾。\", \n    \"description_ko\": \"소형 상급 레일건 탄약으로 프리깃급 함선에서 사용되고 있습니다.\", \n    \"description_ru\": \"Усовершенствованные боеприпасы для рейлганов малого калибра, устанавливаемых на фрегаты.\", \n    \"description_zh\": \"用于护卫舰级别舰炮使用的小型先进磁轨炮弹药。\", \n    \"descriptionID\": 64996, \n    \"hasTypes\": 1, \n    \"iconID\": 1311, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66070, \n    \"parentGroupID\": 850\n  }, \n  \"866\": {\n    \"description_de\": \"Große fortschrittliche Strahllaser-Kristalle, für den Gebrauch mit für Schlachtschiffe typischen Lasern.\", \n    \"description_en-us\": \"Large advanced beam laser crystals, for use with battleship-sized lasers.\", \n    \"description_es\": \"Cristales avanzados de láseres de rayos de gran calibre para naves de tamaño acorazado.\", \n    \"description_fr\": \"Cristaux perfectionnés de grande taille pour laser à rayons utilisés, par exemple, sur les lasers des cuirassés.\", \n    \"description_it\": \"Large advanced beam laser crystals, for use with battleship-sized lasers.\", \n    \"description_ja\": \"戦艦級レーザーで使用される大型高性能ビームレーザークリスタル。\", \n    \"description_ko\": \"대형 상급 빔 레이저 크리스탈로 배틀쉽급 함선에서 사용되고 있습니다.\", \n    \"description_ru\": \"Усовершенствованные кристаллы для непрерывных лазеров большого калибра, устанавливаемых на линкоры.\", \n    \"description_zh\": \"战列舰级别能量武器使用的大型高级激光晶体。\", \n    \"descriptionID\": 64997, \n    \"hasTypes\": 1, \n    \"iconID\": 1145, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66071, \n    \"parentGroupID\": 852\n  }, \n  \"867\": {\n    \"description_de\": \"Mittlere, fortschrittliche Strahllaser-Kristalle für Laser der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Medium advanced beam laser crystals, for use with cruiser-sized lasers.\", \n    \"description_es\": \"Cristales avanzados de láseres de rayos de medio calibre para naves de tamaño crucero.\", \n    \"description_fr\": \"Cristaux de laser à rayons perfectionnés de taille intermédiaire utilisés, par exemple, sur les lasers des cuirassés.\", \n    \"description_it\": \"Medium advanced beam laser crystals, for use with cruiser-sized lasers.\", \n    \"description_ja\": \"巡洋艦級レーザーで使用される中型高性能ビームレーザークリスタル。\", \n    \"description_ko\": \"중형 상급 빔 레이저 크리스탈로 크루저급 함선에서 사용되고 있습니다.\", \n    \"description_ru\": \"Усовершенствованные кристаллы среднего калибра для непрерывных лазеров, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"用于巡洋舰级别激光器使用的高级集束激光晶体。\", \n    \"descriptionID\": 64998, \n    \"hasTypes\": 1, \n    \"iconID\": 1145, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66072, \n    \"parentGroupID\": 852\n  }, \n  \"868\": {\n    \"description_de\": \"Kleine fortschrittliche Strahllaser-Kristalle für den Gebrauch mit für Fregatten typischen Lasern.\", \n    \"description_en-us\": \"Small advanced beam laser crystals, for use with frigate-sized lasers.\", \n    \"description_es\": \"Cristales avanzados de láseres de rayos pequeños para usarlos con láseres de tamaño fragata.\", \n    \"description_fr\": \"Cristaux perfectionnés de petite taille pour laser à rayons utilisés, par exemple, sur les lasers des frégates.\", \n    \"description_it\": \"Small advanced beam laser crystals, for use with frigate-sized lasers.\", \n    \"description_ja\": \"フリゲート級レーザーで使用される小型の高性能ビームレーザークリスタル。\", \n    \"description_ko\": \"소형 상급 빔 레이저 크리스탈로 프리깃급 함선에서 사용되고 있습니다.\", \n    \"description_ru\": \"Усовершенствованные кристаллы для непрерывных лазеров малого калибра, устанавливаемых на фрегаты.\", \n    \"description_zh\": \"小型先进脉冲激光晶体，专用于护卫舰等级的激光器。\", \n    \"descriptionID\": 64999, \n    \"hasTypes\": 1, \n    \"iconID\": 1145, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66073, \n    \"parentGroupID\": 852\n  }, \n  \"869\": {\n    \"description_de\": \"Große fortschrittliche Impulslaser-Kristalle, für den Gebrauch mit Schlachtschiffen typischen Lasern.\", \n    \"description_en-us\": \"Large advanced pulse laser crystals, for use with battleship-sized lasers.\", \n    \"description_es\": \"Cristales avanzados de láseres de pulsos de gran calibre para naves de tamaño acorazado.\", \n    \"description_fr\": \"Cristaux perfectionnés de grande taille pour laser à impulsions utilisés, par exemple, sur les lasers des cuirassés.\", \n    \"description_it\": \"Large advanced pulse laser crystals, for use with battleship-sized lasers.\", \n    \"description_ja\": \"戦艦級銃砲を用途とする大型の高性能パルスレーザークリスタル。\", \n    \"description_ko\": \"대형 상급 펄스 레이저 크리스탈로 배틀쉽급 함선에서 사용되고 있습니다.\", \n    \"description_ru\": \"Усовершенствованные кристаллы для импульсных лазеров большого калибра, устанавливаемых на линкоры.\", \n    \"description_zh\": \"战列舰级别激光武器使用的先进科技大型脉冲激光晶体。\", \n    \"descriptionID\": 65000, \n    \"hasTypes\": 1, \n    \"iconID\": 1140, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66074, \n    \"parentGroupID\": 853\n  }, \n  \"870\": {\n    \"description_de\": \"Mittlere, fortschrittliche Impulslaser-Kristalle für Laser der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Medium advanced pulse laser crystals, for use with cruiser-sized lasers.\", \n    \"description_es\": \"Cristales avanzados de láseres de pulsos de medio calibre para naves de tamaño crucero.\", \n    \"description_fr\": \"Cristaux perfectionnés de taille moyenne pour laser à impulsions utilisés, par exemple, sur les lasers des croiseurs.\", \n    \"description_it\": \"Medium advanced pulse laser crystals, for use with cruiser-sized lasers.\", \n    \"description_ja\": \"巡洋艦級レーザーで使用される中型高性能パルスレーザークリスタル。\", \n    \"description_ko\": \"중형 상급 펄스 레이저 크리스탈로 크루저급 함선에서 사용되고 있습니다.\", \n    \"description_ru\": \"Усовершенствованные кристаллы среднего калибра для импульсных лазеров, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"巡洋舰级别激光器使用的中型高级脉冲激光晶体。\", \n    \"descriptionID\": 65001, \n    \"hasTypes\": 1, \n    \"iconID\": 1140, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66075, \n    \"parentGroupID\": 853\n  }, \n  \"871\": {\n    \"description_de\": \"Kleine fortschrittliche Impulslaser-Kristalle für den Gebrauch mit für Fregatten typischen Lasern.\", \n    \"description_en-us\": \"Small advanced pulse laser crystals, for use with frigate-sized lasers.\", \n    \"description_es\": \"Cristales avanzados de láseres de pulsos de pequeño calibre para naves de tamaño fragata.\", \n    \"description_fr\": \"Cristaux perfectionnés de petite taille pour laser à impulsions utilisés, par exemple, sur les lasers des frégates.\", \n    \"description_it\": \"Small advanced pulse laser crystals, for use with frigate-sized lasers.\", \n    \"description_ja\": \"フリゲート級レーザーで使用される小型高性能パルスレーザークリスタル。\", \n    \"description_ko\": \"소형 상급 펄스 레이저 크리스탈로 프리깃급 함선에서 사용되고 있습니다.\", \n    \"description_ru\": \"Усовершенствованные кристаллы для импульсных лазеров малого калибра, устанавливаемых на фрегаты.\", \n    \"description_zh\": \"小型先进脉冲激光晶体，专用于护卫舰等级的激光器。\", \n    \"descriptionID\": 65002, \n    \"hasTypes\": 1, \n    \"iconID\": 1140, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66076, \n    \"parentGroupID\": 853\n  }, \n  \"872\": {\n    \"description_de\": \"Traktorstrahlen.\", \n    \"description_en-us\": \"Tractor Beams\", \n    \"description_es\": \"Rayos tractores.\", \n    \"description_fr\": \"Rayons de tractage\", \n    \"description_it\": \"Tractor Beams\", \n    \"description_ja\": \"トラクタービーム\", \n    \"description_ko\": \"트랙터 빔\", \n    \"description_ru\": \"Гравизахваты\", \n    \"description_zh\": \"牵引光束\", \n    \"descriptionID\": 65003, \n    \"hasTypes\": 1, \n    \"iconID\": 2986, \n    \"name_de\": \"Traktorstrahlen\", \n    \"name_en-us\": \"Tractor Beams\", \n    \"name_es\": \"Rayos tractores\", \n    \"name_fr\": \"Rayons de tractage\", \n    \"name_it\": \"Tractor Beams\", \n    \"name_ja\": \"トラクタービーム\", \n    \"name_ko\": \"트랙터 빔\", \n    \"name_ru\": \"Гравизахваты\", \n    \"name_zh\": \"牵引光束\", \n    \"nameID\": 66077, \n    \"parentGroupID\": 656\n  }, \n  \"874\": {\n    \"description_de\": \"Elite-Bergbau-Frachter\", \n    \"description_en-us\": \"Elite Mining Barges\", \n    \"description_es\": \"Gabarras mineras de élite.\", \n    \"description_fr\": \"Barges d'extraction minière d'élite\", \n    \"description_it\": \"Elite Mining Barges\", \n    \"description_ja\": \"エリート採掘艦。\", \n    \"description_ko\": \"엘리트 채광선\", \n    \"description_ru\": \"Усовершенствованные шахтерские баржи\", \n    \"description_zh\": \"精英采矿船。\", \n    \"descriptionID\": 65270, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Ausgrabungsschiffe\", \n    \"name_en-us\": \"Exhumers\", \n    \"name_es\": \"Exhumadores\", \n    \"name_fr\": \"Exhumers\", \n    \"name_it\": \"Exhumers\", \n    \"name_ja\": \"特化型採掘艦\", \n    \"name_ko\": \"익스허머\", \n    \"name_ru\": \"Тяжёлые буровые корабли\", \n    \"name_zh\": \"采掘者\", \n    \"nameID\": 66344, \n    \"parentGroupID\": 1384\n  }, \n  \"878\": {\n    \"description_de\": \"Blueprints von Schiffen der Titan-Klasse.\", \n    \"description_en-us\": \"Blueprints of titan-class vessels.\", \n    \"description_es\": \"Planos de naves de clase titán.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe titan.\", \n    \"description_it\": \"Blueprints of titan-class vessels.\", \n    \"description_ja\": \"旗艦級戦艦級艦船のブループリント。\", \n    \"description_ko\": \"타이탄급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи титанов.\", \n    \"description_zh\": \"泰坦蓝图\", \n    \"descriptionID\": 65005, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Titans\", \n    \"name_en-us\": \"Titans\", \n    \"name_es\": \"Titanes\", \n    \"name_fr\": \"Titans\", \n    \"name_it\": \"Titans\", \n    \"name_ja\": \"旗艦級戦艦\", \n    \"name_ko\": \"타이탄\", \n    \"name_ru\": \"Титаны\", \n    \"name_zh\": \"泰坦\", \n    \"nameID\": 66079, \n    \"parentGroupID\": 204\n  }, \n  \"879\": {\n    \"description_de\": \"Blueprints von Schiffen der Träger- und Mutterschiff-Klasse.\", \n    \"description_en-us\": \"Blueprints of carrier- and mothership-class vessels.\", \n    \"description_es\": \"Planos de portanaves y naves nodrizas.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe porte-vaisseaux et vaisseau mère.\", \n    \"description_it\": \"Blueprints of carrier- and mothership-class vessels.\", \n    \"description_ja\": \"戦艦および母艦級艦船の設計図。\", \n    \"description_ko\": \"캐리어 및 모선급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кораблей-носителей и материнских кораблей.\", \n    \"description_zh\": \"航空母舰和母舰级舰船的蓝图\", \n    \"descriptionID\": 65006, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Trägerschiffe\", \n    \"name_en-us\": \"Carriers\", \n    \"name_es\": \"Portanaves\", \n    \"name_fr\": \"Porte-vaisseaux\", \n    \"name_it\": \"Carriers\", \n    \"name_ja\": \"艦載機母艦\", \n    \"name_ko\": \"캐리어\", \n    \"name_ru\": \"Корабли автономного развёртывания\", \n    \"name_zh\": \"航空母舰\", \n    \"nameID\": 66080, \n    \"parentGroupID\": 204\n  }, \n  \"880\": {\n    \"description_de\": \"Blueprints von Schiffen der Unterbrecher-Klasse.\", \n    \"description_en-us\": \"Blueprints of interdictor-class vessels.\", \n    \"description_es\": \"Planos de naves de clase interdictor.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe interdicteur.\", \n    \"description_it\": \"Blueprints of interdictor-class vessels.\", \n    \"description_ja\": \"ワープ妨害型駆逐艦級艦船のブループリント。\", \n    \"description_ko\": \"인터딕터급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи заградительных кораблей.\", \n    \"description_zh\": \"拦截舰蓝图。\", \n    \"descriptionID\": 65007, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Unterbrecher\", \n    \"name_en-us\": \"Interdictors\", \n    \"name_es\": \"Interdictores\", \n    \"name_fr\": \"Interdicteurs\", \n    \"name_it\": \"Interdictors\", \n    \"name_ja\": \"ワープ妨害型駆逐艦\", \n    \"name_ko\": \"인터딕터\", \n    \"name_ru\": \"Заградительные эсминцы\", \n    \"name_zh\": \"拦截舰\", \n    \"nameID\": 66081, \n    \"parentGroupID\": 204\n  }, \n  \"881\": {\n    \"description_de\": \"Blueprints von Schiffen der Kommandoschiff-Klasse.\", \n    \"description_en-us\": \"Blueprints of command ship-class vessels.\", \n    \"description_es\": \"Planos de naves de mando.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe vaisseau de commandement.\", \n    \"description_it\": \"Blueprints of command ship-class vessels.\", \n    \"description_ja\": \"指揮型巡洋戦艦級艦船のブループリント。\", \n    \"description_ko\": \"커맨드쉽급 함선의 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кораблей управления.\", \n    \"description_zh\": \"指挥舰等级舰船蓝图\", \n    \"descriptionID\": 65008, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Kommandoschiffe\", \n    \"name_en-us\": \"Command Ships\", \n    \"name_es\": \"Naves de mando\", \n    \"name_fr\": \"Vaisseaux de commandement\", \n    \"name_it\": \"Command Ships\", \n    \"name_ja\": \"指揮型巡洋戦艦\", \n    \"name_ko\": \"커맨드쉽\", \n    \"name_ru\": \"Корабли управления\", \n    \"name_zh\": \"指挥舰\", \n    \"nameID\": 66082, \n    \"parentGroupID\": 204\n  }, \n  \"882\": {\n    \"description_de\": \"Blueprints von Aufklärungsschiff-Klasse-Designs.\", \n    \"description_en-us\": \"Blueprints of recon ship-class designs.\", \n    \"description_es\": \"Planos de diseños de naves de reconocimiento.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de classe de reconnaissance.\", \n    \"description_it\": \"Blueprints of recon ship-class designs.\", \n    \"description_ja\": \"電子戦型巡洋艦級の設計図のブループリント。\", \n    \"description_ko\": \"리콘 크루저급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи разведывательных кораблей.\", \n    \"description_zh\": \"侦察舰蓝图\", \n    \"descriptionID\": 65009, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Aufklärungsschiffe\", \n    \"name_en-us\": \"Recon Ships\", \n    \"name_es\": \"Naves de reconocimiento\", \n    \"name_fr\": \"Vaisseaux de reconnaissance\", \n    \"name_it\": \"Recon Ships\", \n    \"name_ja\": \"電子戦型巡洋艦\", \n    \"name_ko\": \"리콘 크루저\", \n    \"name_ru\": \"Дозорные крейсеры\", \n    \"name_zh\": \"侦察舰\", \n    \"nameID\": 66083, \n    \"parentGroupID\": 204\n  }, \n  \"883\": {\n    \"description_de\": \"Blueprints für Ausgrabungsschiffe.\", \n    \"description_en-us\": \"Blueprints of Exhumers.\", \n    \"description_es\": \"Planos de exhumadores.\", \n    \"description_fr\": \"Plans de construction de fossoyeurs.\", \n    \"description_it\": \"Blueprints of Exhumers.\", \n    \"description_ja\": \"特化型採掘艦のブループリント。\", \n    \"description_ko\": \"익스허머 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тяжёлых буровых кораблей.\", \n    \"description_zh\": \"采掘者蓝图\", \n    \"descriptionID\": 65296, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Ausgrabungsschiffe\", \n    \"name_en-us\": \"Exhumers\", \n    \"name_es\": \"Exhumadores\", \n    \"name_fr\": \"Exhumers\", \n    \"name_it\": \"Exhumers\", \n    \"name_ja\": \"特化型採掘艦\", \n    \"name_ko\": \"익스허머\", \n    \"name_ru\": \"Тяжёлые буровые корабли\", \n    \"name_zh\": \"采掘者\", \n    \"nameID\": 66370, \n    \"parentGroupID\": 204\n  }, \n  \"884\": {\n    \"description_de\": \"Blueprints von Amarr-Titan-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr titan designs.\", \n    \"description_es\": \"Planos de diseños de titanes amarrianos.\", \n    \"description_fr\": \"Plans de construction de modèles de titans amarr.\", \n    \"description_it\": \"Blueprints of Amarr titan designs.\", \n    \"description_ja\": \"アマータイタン設計図のブループリント。\", \n    \"description_ko\": \"아마르 타이탄 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи титанов разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛泰坦设计蓝图\", \n    \"descriptionID\": 65010, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66084, \n    \"parentGroupID\": 878\n  }, \n  \"885\": {\n    \"description_de\": \"Blueprints von Caldari-Titan-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari titan designs.\", \n    \"description_es\": \"Planos de diseños de titanes caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de titans caldari.\", \n    \"description_it\": \"Blueprints of Caldari titan designs.\", \n    \"description_ja\": \"カルダリタイタン設計図のブループリント。\", \n    \"description_ko\": \"칼다리 타이탄 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи титанов разработки Государства Caldari.\", \n    \"description_zh\": \"加达里泰坦设计蓝图\", \n    \"descriptionID\": 65011, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66085, \n    \"parentGroupID\": 878\n  }, \n  \"886\": {\n    \"description_de\": \"Blueprints von Gallente-Titan-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente titan designs.\", \n    \"description_es\": \"Planos de diseños de titanes gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de titans gallente.\", \n    \"description_it\": \"Blueprints of Gallente titan designs.\", \n    \"description_ja\": \"ガレンテタイタン設計図のブループリント。\", \n    \"description_ko\": \"갈란테 타이탄 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи титанов разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特泰坦设计蓝图。\", \n    \"descriptionID\": 65012, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66086, \n    \"parentGroupID\": 878\n  }, \n  \"887\": {\n    \"description_de\": \"Blueprints von Minmatar-Titan-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar titan designs.\", \n    \"description_es\": \"Planos de diseños de titanes minmatarianos.\", \n    \"description_fr\": \"Plans de construction de modèles de titans minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar titan designs.\", \n    \"description_ja\": \"ミンマタータイタン設計図のブループリント。\", \n    \"description_ko\": \"민마타 타이탄 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи титанов разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔泰坦设计蓝图。\", \n    \"descriptionID\": 65013, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66087, \n    \"parentGroupID\": 878\n  }, \n  \"888\": {\n    \"description_de\": \"Blueprints von Amarr-Träger- und Amarr-Mutterschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr carrier and mothership designs.\", \n    \"description_es\": \"Planos de diseños de portanaves y naves nodrizas amarrianas.\", \n    \"description_fr\": \"Plans de construction de modèles de porte-vaisseaux et de vaisseaux mères amarr.\", \n    \"description_it\": \"Blueprints of Amarr carrier and mothership designs.\", \n    \"description_ja\": \"アマーの戦艦および母艦級艦船の設計図。\", \n    \"description_ko\": \"아마르 캐리어 및 모선급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кораблей-носителей разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛航空母舰和母舰设计蓝图\", \n    \"descriptionID\": 65014, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66088, \n    \"parentGroupID\": 879\n  }, \n  \"889\": {\n    \"description_de\": \"Blueprints von Caldari-Träger- und Caldari-Mutterschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari carrier and mothership designs.\", \n    \"description_es\": \"Planos de diseños de portanaves y naves nodrizas caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de porte-vaisseaux et de vaisseaux mères caldari.\", \n    \"description_it\": \"Blueprints of Caldari carrier and mothership designs.\", \n    \"description_ja\": \"カルダリの戦艦および母艦級艦船の設計図。\", \n    \"description_ko\": \"칼다리 캐리어 및 모선급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кораблей-носителей разработки Государства Caldari.\", \n    \"description_zh\": \"加达里航空母舰和母舰设计蓝图\", \n    \"descriptionID\": 65015, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66089, \n    \"parentGroupID\": 879\n  }, \n  \"890\": {\n    \"description_de\": \"Blueprints von Gallente-Träger- und Gallente-Mutterschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente carrier and mothership designs.\", \n    \"description_es\": \"Planos de diseños de portanaves y naves nodrizas gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de porte-vaisseaux et de vaisseaux mères gallente.\", \n    \"description_it\": \"Blueprints of Gallente carrier and mothership designs.\", \n    \"description_ja\": \"ガレンテの戦艦および母艦級艦船の設計図。\", \n    \"description_ko\": \"갈란테 캐리어 및 모선급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кораблей-носителей разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特航母和母舰设计蓝图。\", \n    \"descriptionID\": 65016, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66090, \n    \"parentGroupID\": 879\n  }, \n  \"891\": {\n    \"description_de\": \"Blueprints von Minmatar-Träger- und Mutterschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar carrier and mothership designs.\", \n    \"description_es\": \"Planos de diseños de portanaves y naves nodrizas minmatarianas.\", \n    \"description_fr\": \"Plans de construction de modèles de porte-vaisseaux et de vaisseaux mères minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar carrier and mothership designs.\", \n    \"description_ja\": \"ミンマターの戦艦および母艦級艦船の設計図。\", \n    \"description_ko\": \"민마타 캐리어 및 모선급 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кораблей-носителей разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔航空母舰和母舰设计蓝图。\", \n    \"descriptionID\": 65017, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66091, \n    \"parentGroupID\": 879\n  }, \n  \"892\": {\n    \"description_de\": \"Blueprints von Amarr-Unterbrecher-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr interdictor designs.\", \n    \"description_es\": \"Planos de diseños de interdictores amarrianos.\", \n    \"description_fr\": \"Plans de construction de modèles d'interdicteurs amarr.\", \n    \"description_it\": \"Blueprints of Amarr interdictor designs.\", \n    \"description_ja\": \"アマーワープ妨害型駆逐艦設計図のブループリント。\", \n    \"description_ko\": \"아마르 인터딕터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи заградительных кораблей разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛拦截舰设计蓝图\", \n    \"descriptionID\": 65018, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66092, \n    \"parentGroupID\": 880\n  }, \n  \"893\": {\n    \"description_de\": \"Blueprints von Caldari-Unterbrecher-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari interdictor designs.\", \n    \"description_es\": \"Planos de diseños de interdictores caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles d'interdicteurs caldari.\", \n    \"description_it\": \"Blueprints of Caldari interdictor designs.\", \n    \"description_ja\": \"カルダリワープ妨害型駆逐艦設計図のブループリント。\", \n    \"description_ko\": \"칼다리 인터딕터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи заградительных кораблей разработки Государства Caldari.\", \n    \"description_zh\": \"加达里拦截舰设计蓝图\", \n    \"descriptionID\": 65019, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66093, \n    \"parentGroupID\": 880\n  }, \n  \"894\": {\n    \"description_de\": \"Blueprints von Gallente-Unterbrecher-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente interdictor designs.\", \n    \"description_es\": \"Planos de diseños de interdictores gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles d'interdicteurs gallente.\", \n    \"description_it\": \"Blueprints of Gallente interdictor designs.\", \n    \"description_ja\": \"ガレンテワープ妨害型駆逐艦設計図のブループリント。\", \n    \"description_ko\": \"갈란테 인터딕터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи заградительных кораблей  разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特拦截舰设计蓝图。\", \n    \"descriptionID\": 65020, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66094, \n    \"parentGroupID\": 880\n  }, \n  \"895\": {\n    \"description_de\": \"Blueprints von Minmatar-Unterbrecher-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar interdictor designs.\", \n    \"description_es\": \"Planos de diseños de interdictores minmatarianos.\", \n    \"description_fr\": \"Plans de construction de modèles d'interdicteurs minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar interdictor designs.\", \n    \"description_ja\": \"ミンマターワープ妨害型駆逐艦設計図のブループリント。\", \n    \"description_ko\": \"민마타 인터딕터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи заградительных кораблей разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔拦截舰设计蓝图。\", \n    \"descriptionID\": 65021, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66095, \n    \"parentGroupID\": 880\n  }, \n  \"896\": {\n    \"description_de\": \"Blueprints von Amarr-Kommandoschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr command ship designs.\", \n    \"description_es\": \"Planos de diseños de naves de mando amarrianas.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux de commandement amarr.\", \n    \"description_it\": \"Blueprints of Amarr command ship designs.\", \n    \"description_ja\": \"アマー指揮型巡洋戦艦設計図のブループリント。\", \n    \"description_ko\": \"아마르 커맨드쉽 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кораблей управления разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛指挥舰设计蓝图\", \n    \"descriptionID\": 65022, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66096, \n    \"parentGroupID\": 881\n  }, \n  \"897\": {\n    \"description_de\": \"Blueprints von Caldari-Kommandoschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari command ship designs.\", \n    \"description_es\": \"Planos de diseños de naves de mando caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux de commandement caldari.\", \n    \"description_it\": \"Blueprints of Caldari command ship designs.\", \n    \"description_ja\": \"カルダリ指揮型巡洋戦艦設計図のブループリント。\", \n    \"description_ko\": \"칼다리 커맨드쉽 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кораблей управления разработки Государства Caldari.\", \n    \"description_zh\": \"加达里指挥舰设计蓝图\", \n    \"descriptionID\": 65023, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66097, \n    \"parentGroupID\": 881\n  }, \n  \"898\": {\n    \"description_de\": \"Blueprints von Gallente-Kommandoschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente command ship designs.\", \n    \"description_es\": \"Planos de diseños de naves de mando gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux de commandement gallente.\", \n    \"description_it\": \"Blueprints of Gallente command ship designs.\", \n    \"description_ja\": \"ガレンテ指揮型巡洋戦艦設計図のブループリント。\", \n    \"description_ko\": \"갈란테 커맨드쉽 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кораблей управления разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特指挥舰设计蓝图。\", \n    \"descriptionID\": 65024, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66098, \n    \"parentGroupID\": 881\n  }, \n  \"899\": {\n    \"description_de\": \"Blueprints von Minmatar-Kommandoschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar command ship designs.\", \n    \"description_es\": \"Planos de diseños de naves de mando minmatarianas.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux de commandement minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar command ship designs.\", \n    \"description_ja\": \"ミンマター指揮型巡洋戦艦設計図のブループリント。\", \n    \"description_ko\": \"민마타 커맨드쉽 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кораблей управления разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔指挥舰设计蓝图。\", \n    \"descriptionID\": 65025, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66099, \n    \"parentGroupID\": 881\n  }, \n  \"900\": {\n    \"description_de\": \"Blueprints von Amarr-Aufklärungsschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr recon ship designs.\", \n    \"description_es\": \"Planos de diseños de naves de reconocimiento amarrianas.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux de reconnaissance amarr.\", \n    \"description_it\": \"Blueprints of Amarr recon ship designs.\", \n    \"description_ja\": \"アマー電子戦型巡洋艦設計図のブループリント。\", \n    \"description_ko\": \"아마르 리콘 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи разведывательных кораблей разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛侦察舰设计蓝图\", \n    \"descriptionID\": 65026, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66100, \n    \"parentGroupID\": 882\n  }, \n  \"901\": {\n    \"description_de\": \"Blueprints von Caldari-Aufklärungsschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari recon ship designs.\", \n    \"description_es\": \"Planos de diseños de naves de reconocimiento caldaris.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux de reconnaissance caldari.\", \n    \"description_it\": \"Blueprints of Caldari recon ship designs.\", \n    \"description_ja\": \"カルダリ偵察船設計図のブループリント。\", \n    \"description_ko\": \"칼다리 리콘 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи разведывательных кораблей разработки Государства Caldari.\", \n    \"description_zh\": \"加达里侦察舰设计蓝图\", \n    \"descriptionID\": 65027, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66101, \n    \"parentGroupID\": 882\n  }, \n  \"902\": {\n    \"description_de\": \"Blueprints von Gallente-Aufklärungsschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente recon ship designs.\", \n    \"description_es\": \"Planos de diseños de naves de reconocimiento gallentes.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux de reconnaissance gallente.\", \n    \"description_it\": \"Blueprints of Gallente recon ship designs.\", \n    \"description_ja\": \"ガレンテ電子戦型巡洋艦設計図のブループリント。\", \n    \"description_ko\": \"갈란테 리콘 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи разведывательных кораблей разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特侦察舰设计蓝图。\", \n    \"descriptionID\": 65028, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66102, \n    \"parentGroupID\": 882\n  }, \n  \"903\": {\n    \"description_de\": \"Blueprints von Minmatar-Aufklärungsschiff-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar recon ship designs.\", \n    \"description_es\": \"Planos de diseños de naves de reconocimiento minmatarianas.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux de reconnaissance minmatar.\", \n    \"description_it\": \"Blueprints of Minmatar recon ship designs.\", \n    \"description_ja\": \"ミンマター電子戦型巡洋艦設計図のブループリント。\", \n    \"description_ko\": \"민마타 리콘 크루저 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи разведывательных кораблей разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔侦察舰设计蓝图。\", \n    \"descriptionID\": 65029, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66103, \n    \"parentGroupID\": 882\n  }, \n  \"904\": {\n    \"description_de\": \"Blueprints von ORE-Exhumer-Designs.\", \n    \"description_en-us\": \"Blueprints of ORE exhumer designs.\", \n    \"description_es\": \"Planos de diseños de exhumadores de ORE.\", \n    \"description_fr\": \"Plans de construction de fossoyeurs conçus par ORE.\", \n    \"description_it\": \"Blueprints of ORE exhumer designs.\", \n    \"description_ja\": \"ORE特化型採掘艦設計図のブループリント。\", \n    \"description_ko\": \"ORE 익스허머 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тяжёлых буровых кораблей Окраинной рудной экспедиции.\", \n    \"description_zh\": \"联合矿业采掘者设计蓝图。\", \n    \"descriptionID\": 65030, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE社\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 66104, \n    \"parentGroupID\": 883\n  }, \n  \"905\": {\n    \"description_de\": \"Blueprints von Traktorstrahlen.\", \n    \"description_en-us\": \"Blueprints of tractor beams.\", \n    \"description_es\": \"Planos de rayos tractores.\", \n    \"description_fr\": \"Plans de construction de rayons de tractage.\", \n    \"description_it\": \"Blueprints of tractor beams.\", \n    \"description_ja\": \"トラクタービームのブループリント。\", \n    \"description_ko\": \"트랙터 빔 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи гравизахватов.\", \n    \"description_zh\": \"牵引光束蓝图。\", \n    \"descriptionID\": 65031, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Traktorstrahlen\", \n    \"name_en-us\": \"Tractor Beams\", \n    \"name_es\": \"Rayos tractores\", \n    \"name_fr\": \"Rayons de tractage\", \n    \"name_it\": \"Tractor Beams\", \n    \"name_ja\": \"トラクタービーム\", \n    \"name_ko\": \"트랙터 빔\", \n    \"name_ru\": \"Гравизахваты\", \n    \"name_zh\": \"牵引光束\", \n    \"nameID\": 66105, \n    \"parentGroupID\": 1578\n  }, \n  \"910\": {\n    \"description_de\": \"Für Capital-Schiffe typische Energietransferanlagen.\", \n    \"description_en-us\": \"Capital ship-sized energy transfer arrays.\", \n    \"description_es\": \"Matrices de transferencia energética para naves capitales.\", \n    \"description_fr\": \"Modules de transfert d'énergie adaptés aux vaisseaux capitaux.\", \n    \"description_it\": \"Capital ship-sized energy transfer arrays.\", \n    \"description_ja\": \"主力艦級エネルギートランスファーアレイ。\", \n    \"description_ko\": \"캐피탈 함선급 에너지 전송기 시설입니다.\", \n    \"description_ru\": \"Модули передачи энергии для кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级能量传送阵列。\", \n    \"descriptionID\": 65036, \n    \"hasTypes\": 1, \n    \"iconID\": 1035, \n    \"name_de\": \"Capital\", \n    \"name_en-us\": \"Capital\", \n    \"name_es\": \"Capital\", \n    \"name_fr\": \"Capital\", \n    \"name_it\": \"Capital\", \n    \"name_ja\": \"キャピタル\", \n    \"name_ko\": \"캐피탈\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 66110, \n    \"parentGroupID\": 663\n  }, \n  \"911\": {\n    \"description_de\": \"Stationierbare Wachhunde.\", \n    \"description_en-us\": \"Deployable watchdogs.\", \n    \"description_es\": \"Naves vigilantes desplegables.\", \n    \"description_fr\": \"Chiens de garde déployables.\", \n    \"description_it\": \"Deployable watchdogs.\", \n    \"description_ja\": \"配置可能な見張り。\", \n    \"description_ko\": \"사출가능한 순찰 드론입니다.\", \n    \"description_ru\": \"Верные «сторожевые псы», сбрасываемые в космос.\", \n    \"description_zh\": \"可以在太空中部署的看门狗。\", \n    \"descriptionID\": 65037, \n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Wächterdrohnen\", \n    \"name_en-us\": \"Sentry Drones\", \n    \"name_es\": \"Drones centinela\", \n    \"name_fr\": \"Drones sentinelles\", \n    \"name_it\": \"Sentry Drones\", \n    \"name_ja\": \"セントリードローン\", \n    \"name_ko\": \"센트리 드론\", \n    \"name_ru\": \"Стационарные боевые дроны\", \n    \"name_zh\": \"岗哨无人机\", \n    \"nameID\": 66111, \n    \"parentGroupID\": 159\n  }, \n  \"912\": {\n    \"description_de\": \"Die Faust des Titanen.\", \n    \"description_en-us\": \"The titan's fist.\", \n    \"description_es\": \"El puño de los titanes.\", \n    \"description_fr\": \"Le poing du titan.\", \n    \"description_it\": \"The titan's fist.\", \n    \"description_ja\": \"神の拳。\", \n    \"description_ko\": \"타이탄의 궁극무기입니다.\", \n    \"description_ru\": \"Основа мощи титана.\", \n    \"description_zh\": \"泰坦的重拳\", \n    \"descriptionID\": 65038, \n    \"hasTypes\": 0, \n    \"iconID\": 2934, \n    \"name_de\": \"Superwaffen\", \n    \"name_en-us\": \"Superweapons\", \n    \"name_es\": \"Superarmas\", \n    \"name_fr\": \"Super-armes\", \n    \"name_it\": \"Superweapons\", \n    \"name_ja\": \"スーパーウェポン\", \n    \"name_ko\": \"슈퍼웨폰\", \n    \"name_ru\": \"Орудия Судного дня\", \n    \"name_zh\": \"超级武器\", \n    \"nameID\": 66112, \n    \"parentGroupID\": 10\n  }, \n  \"913\": {\n    \"description_de\": \"Blaupausen für Doomsday- und andere Superwaffen\", \n    \"description_en-us\": \"Doomsday Device and other Superweapon blueprints\", \n    \"description_es\": \"Planos de dispositivos apocalípticos y otras superarmas.\", \n    \"description_fr\": \"Plans de construction d'armes d'annihilation et autres super-armes\", \n    \"description_it\": \"Doomsday Device and other Superweapon blueprints\", \n    \"description_ja\": \"ドゥームズデイ装置およびその他のスーパーウェポンのブループリント\", \n    \"description_ko\": \"둠스데이 무기 및 슈퍼웨폰 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи орудий Судного дня и сходных орудий\", \n    \"description_zh\": \"末日武器和其他超级武器的蓝图\", \n    \"descriptionID\": 65039, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Superwaffen\", \n    \"name_en-us\": \"Superweapons\", \n    \"name_es\": \"Superarmas\", \n    \"name_fr\": \"Super-armes\", \n    \"name_it\": \"Superweapons\", \n    \"name_ja\": \"スーパーウェポン\", \n    \"name_ko\": \"슈퍼웨폰\", \n    \"name_ru\": \"Орудия Судного дня\", \n    \"name_zh\": \"超级武器\", \n    \"nameID\": 66113, \n    \"parentGroupID\": 210\n  }, \n  \"914\": {\n    \"description_de\": \"Normale automatische Zielerfassung\", \n    \"description_en-us\": \"Standard Auto-Targeting\", \n    \"description_es\": \"Adquisición automática de objetivos estándar.\", \n    \"description_fr\": \"Visée automatique standard\", \n    \"description_it\": \"Standard Auto-Targeting\", \n    \"description_ja\": \"標準自動捕捉型\", \n    \"description_ko\": \"일반\", \n    \"description_ru\": \"Стандартные ракеты с активным наведением\", \n    \"description_zh\": \"标准自动锁定导弹\", \n    \"descriptionID\": 65040, \n    \"hasTypes\": 1, \n    \"iconID\": 1335, \n    \"name_de\": \"Standard\", \n    \"name_en-us\": \"Standard Auto-Targeting\", \n    \"name_es\": \"Adquisición automática de objetivos estándar\", \n    \"name_fr\": \"Ciblage automatique standard\", \n    \"name_it\": \"Standard Auto-Targeting\", \n    \"name_ja\": \"標準自動捕捉型\", \n    \"name_ko\": \"일반\", \n    \"name_ru\": \"Стандартные\", \n    \"name_zh\": \"标准自动锁定导弹\", \n    \"nameID\": 66114, \n    \"parentGroupID\": 115\n  }, \n  \"917\": {\n    \"description_de\": \"Fortgeschrittene, hoch-präzise leichte Raketen\", \n    \"description_en-us\": \"Advanced High Precision Light Missiles\", \n    \"description_es\": \"Misiles ligeros de alta precisión avanzados.\", \n    \"description_fr\": \"Missiles légers perfectionnés à haute précision\", \n    \"description_it\": \"Advanced High Precision Light Missiles\", \n    \"description_ja\": \"命中精度特化型ライトミサイル\", \n    \"description_ko\": \"정밀타격 라이트 미사일\", \n    \"description_ru\": \"Усовершенствованные легкие ракеты повышенной точности\", \n    \"description_zh\": \"高级高精度轻型导弹\", \n    \"descriptionID\": 65043, \n    \"hasTypes\": 1, \n    \"iconID\": 192, \n    \"name_de\": \"Fortschrittlich, hochpräzise\", \n    \"name_en-us\": \"Advanced High Precision Light Missiles\", \n    \"name_es\": \"Misiles ligeros de alta precisión avanzados\", \n    \"name_fr\": \"Missiles légers perfectionnés à haute précision\", \n    \"name_it\": \"Advanced High Precision Light Missiles\", \n    \"name_ja\": \"命中精度特化型ライトミサイル\", \n    \"name_ko\": \"정밀타격 라이트 미사일\", \n    \"name_ru\": \"Высокоточные\", \n    \"name_zh\": \"高级高精度轻型导弹\", \n    \"nameID\": 66117, \n    \"parentGroupID\": 117\n  }, \n  \"918\": {\n    \"description_de\": \"Fortgeschrittene, hoch-präzise Cruise Missiles\", \n    \"description_en-us\": \"Advanced High Precision Cruise Missiles\", \n    \"description_es\": \"Misiles de crucero de alta precisión avanzados.\", \n    \"description_fr\": \"Missiles de croisière perfectionnés à haute précision\", \n    \"description_it\": \"Advanced High Precision Cruise Missiles\", \n    \"description_ja\": \"命中精度特化型クルーズミサイル\", \n    \"description_ko\": \"정밀타격 크루즈 미사일\", \n    \"description_ru\": \"Ракеты дальнего боя (повышенной точности)\", \n    \"description_zh\": \"高级高精度巡航导弹\", \n    \"descriptionID\": 65044, \n    \"hasTypes\": 1, \n    \"iconID\": 184, \n    \"name_de\": \"Fortschrittlich, hochpräzise\", \n    \"name_en-us\": \"Advanced High Precision Cruise Missiles\", \n    \"name_es\": \"Misiles de crucero de alta precisión avanzados\", \n    \"name_fr\": \"Missiles de croisière perfectionnés à haute précision\", \n    \"name_it\": \"Advanced High Precision Cruise Missiles\", \n    \"name_ja\": \"命中精度特化型クルーズミサイル\", \n    \"name_ko\": \"정밀타격 크루즈 미사일\", \n    \"name_ru\": \"Высокоточные\", \n    \"name_zh\": \"高级高精度巡航导弹\", \n    \"nameID\": 66118, \n    \"parentGroupID\": 580\n  }, \n  \"919\": {\n    \"description_de\": \"Fortgeschrittene, hoch-präzise schwere Raketen\", \n    \"description_en-us\": \"Advanced High Precision Heavy Missiles\", \n    \"description_es\": \"Misiles pesados de alta precisión avanzados.\", \n    \"description_fr\": \"Missiles lourds perfectionnés à haute précision\", \n    \"description_it\": \"Advanced High Precision Heavy Missiles\", \n    \"description_ja\": \"命中精度特化型\", \n    \"description_ko\": \"정밀타격 헤비 미사일\", \n    \"description_ru\": \"Усовершенствованные тяжелые ракеты повышенной точности\", \n    \"description_zh\": \"高级高精度重型导弹\", \n    \"descriptionID\": 65045, \n    \"hasTypes\": 1, \n    \"iconID\": 186, \n    \"name_de\": \"Fortschrittlich, hochpräzise\", \n    \"name_en-us\": \"Advanced High Precision Heavy Missiles\", \n    \"name_es\": \"Misiles pesados de alta precisión avanzados\", \n    \"name_fr\": \"Missiles lourds perfectionnés à haute précision\", \n    \"name_it\": \"Advanced High Precision Heavy Missiles\", \n    \"name_ja\": \"命中精度特化型ヘビーミサイル\", \n    \"name_ko\": \"정밀타격 헤비 미사일\", \n    \"name_ru\": \"Высокоточные\", \n    \"name_zh\": \"高级高精度重型导弹\", \n    \"nameID\": 66119, \n    \"parentGroupID\": 581\n  }, \n  \"920\": {\n    \"description_de\": \"Normale leichte Raketen\", \n    \"description_en-us\": \"Standard Light Missiles\", \n    \"description_es\": \"Misiles ligeros estándar.\", \n    \"description_fr\": \"Missiles légers standard\", \n    \"description_it\": \"Standard Light Missiles\", \n    \"description_ja\": \"標準型ライトミサイル\", \n    \"description_ko\": \"일반 라이트 미사일\", \n    \"description_ru\": \"Стандартные легкие ракеты\", \n    \"description_zh\": \"标准轻型导弹\", \n    \"descriptionID\": 65046, \n    \"hasTypes\": 1, \n    \"iconID\": 192, \n    \"name_de\": \"Standard\", \n    \"name_en-us\": \"Standard Light Missiles\", \n    \"name_es\": \"Misiles ligeros estándar\", \n    \"name_fr\": \"Missiles légers standard\", \n    \"name_it\": \"Standard Light Missiles\", \n    \"name_ja\": \"標準型ライトミサイル\", \n    \"name_ko\": \"일반 라이트 미사일\", \n    \"name_ru\": \"Стандартные\", \n    \"name_zh\": \"标准轻型导弹\", \n    \"nameID\": 66120, \n    \"parentGroupID\": 117\n  }, \n  \"921\": {\n    \"description_de\": \"Normale Marschflugkörper\", \n    \"description_en-us\": \"Standard Cruise Missiles\", \n    \"description_es\": \"Misiles de crucero estándar.\", \n    \"description_fr\": \"Missiles de croisière standard\", \n    \"description_it\": \"Standard Cruise Missiles\", \n    \"description_ja\": \"標準型クルーズミサイル\", \n    \"description_ko\": \"일반 크루즈 미사일\", \n    \"description_ru\": \"Стандартные ракеты дальнего боя\", \n    \"description_zh\": \"标准巡航导弹\", \n    \"descriptionID\": 65047, \n    \"hasTypes\": 1, \n    \"iconID\": 184, \n    \"name_de\": \"Standard\", \n    \"name_en-us\": \"Standard Cruise Missiles\", \n    \"name_es\": \"Misiles de crucero estándar\", \n    \"name_fr\": \"Missiles de croisière standard\", \n    \"name_it\": \"Standard Cruise Missiles\", \n    \"name_ja\": \"標準型クルーズミサイル\", \n    \"name_ko\": \"일반 크루즈 미사일\", \n    \"name_ru\": \"Стандартные\", \n    \"name_zh\": \"标准巡航导弹\", \n    \"nameID\": 66121, \n    \"parentGroupID\": 580\n  }, \n  \"922\": {\n    \"description_de\": \"Normale Raketen.\", \n    \"description_en-us\": \"Standard Rockets\", \n    \"description_es\": \"Cohetes estándar.\", \n    \"description_fr\": \"Roquettes standard\", \n    \"description_it\": \"Standard Rockets\", \n    \"description_ja\": \"標準型ロケット\", \n    \"description_ko\": \"일반 로켓\", \n    \"description_ru\": \"Стандартные ракеты ближнего боя\", \n    \"description_zh\": \"标准火箭\", \n    \"descriptionID\": 65048, \n    \"hasTypes\": 1, \n    \"iconID\": 1352, \n    \"name_de\": \"Standard\", \n    \"name_en-us\": \"Standard Rockets\", \n    \"name_es\": \"Cohetes estándar\", \n    \"name_fr\": \"Roquettes standard\", \n    \"name_it\": \"Standard Rockets\", \n    \"name_ja\": \"標準型ロケット\", \n    \"name_ko\": \"일반 로켓\", \n    \"name_ru\": \"Стандартные\", \n    \"name_zh\": \"标准火箭\", \n    \"nameID\": 66122, \n    \"parentGroupID\": 118\n  }, \n  \"923\": {\n    \"description_de\": \"Normale Torpedos\", \n    \"description_en-us\": \"Standard Torpedoes\", \n    \"description_es\": \"Torpedos estándar.\", \n    \"description_fr\": \"Torpilles standard\", \n    \"description_it\": \"Standard Torpedoes\", \n    \"description_ja\": \"標準型トルピード\", \n    \"description_ko\": \"일반 토피도\", \n    \"description_ru\": \"Стандартные торпеды\", \n    \"description_zh\": \"标准鱼雷\", \n    \"descriptionID\": 65049, \n    \"hasTypes\": 1, \n    \"iconID\": 1349, \n    \"name_de\": \"Standard\", \n    \"name_en-us\": \"Standard Torpedoes\", \n    \"name_es\": \"Torpedos estándar\", \n    \"name_fr\": \"Torpilles standard\", \n    \"name_it\": \"Standard Torpedoes\", \n    \"name_ja\": \"標準型トルピード\", \n    \"name_ko\": \"일반 토피도\", \n    \"name_ru\": \"Стандартные\", \n    \"name_zh\": \"标准鱼雷\", \n    \"nameID\": 66123, \n    \"parentGroupID\": 387\n  }, \n  \"924\": {\n    \"description_de\": \"Normale schwere Raketen.\", \n    \"description_en-us\": \"Standard Heavy Missiles\", \n    \"description_es\": \"Misiles pesados estándar.\", \n    \"description_fr\": \"Missiles lourds standard\", \n    \"description_it\": \"Standard Heavy Missiles\", \n    \"description_ja\": \"標準型ヘビーミサイル\", \n    \"description_ko\": \"일반 헤비 미사일\", \n    \"description_ru\": \"Стандартные тяжелые ракеты\", \n    \"description_zh\": \"标准重型导弹\", \n    \"descriptionID\": 65050, \n    \"hasTypes\": 1, \n    \"iconID\": 186, \n    \"name_de\": \"Standard\", \n    \"name_en-us\": \"Standard Heavy Missiles\", \n    \"name_es\": \"Misiles pesados estándar\", \n    \"name_fr\": \"Missiles lourds standard\", \n    \"name_it\": \"Standard Heavy Missiles\", \n    \"name_ja\": \"標準型ヘビーミサイル\", \n    \"name_ko\": \"일반 헤비 미사일\", \n    \"name_ru\": \"Стандартные\", \n    \"name_zh\": \"标准重型导弹\", \n    \"nameID\": 66124, \n    \"parentGroupID\": 581\n  }, \n  \"925\": {\n    \"description_de\": \"Fortgeschrittene Cruise Missiles mit hohem Schaden\", \n    \"description_en-us\": \"Advanced High Damage Cruise Missiles\", \n    \"description_es\": \"Misiles de crucero de gran daño con tecnología avanzada.\", \n    \"description_fr\": \"Missiles de croisière perfectionnés à dégâts élevés\", \n    \"description_it\": \"Advanced High Damage Cruise Missiles\", \n    \"description_ja\": \"高性能高ダメージクルーズミサイル\", \n    \"description_ko\": \"고화력 크루즈 미사일\", \n    \"description_ru\": \"Усовершенствованные ракеты дальнего боя с усиленным зарядом\", \n    \"description_zh\": \"高级高伤害巡航导弹\", \n    \"descriptionID\": 65051, \n    \"hasTypes\": 1, \n    \"iconID\": 184, \n    \"name_de\": \"Fortschrittlich, hoher Schaden\", \n    \"name_en-us\": \"Advanced High Damage Cruise Missiles\", \n    \"name_es\": \"Misiles de crucero de gran daño avanzados\", \n    \"name_fr\": \"Missiles de croisière perfectionnés à dégâts élevés\", \n    \"name_it\": \"Advanced High Damage Cruise Missiles\", \n    \"name_ja\": \"高性能高ダメージクルーズミサイル\", \n    \"name_ko\": \"고화력 크루즈 미사일\", \n    \"name_ru\": \"Высокомощные\", \n    \"name_zh\": \"高级高伤害巡航导弹\", \n    \"nameID\": 66125, \n    \"parentGroupID\": 580\n  }, \n  \"926\": {\n    \"description_de\": \"Fortgeschrittene, schwere Raketen mit hohem Schaden\", \n    \"description_en-us\": \"Advanced High Damage Heavy Missiles\", \n    \"description_es\": \"Misiles pesados de gran daño con tecnología avanzada.\", \n    \"description_fr\": \"Missiles lourds perfectionnés à dégâts élevés\", \n    \"description_it\": \"Advanced High Damage Heavy Missiles\", \n    \"description_ja\": \"高性能高ダメージヘビーミサイル\", \n    \"description_ko\": \"고화력 헤비 미사일\", \n    \"description_ru\": \"Усовершенствованные тяжелые ракеты с усиленным зарядом\", \n    \"description_zh\": \"高级高伤害重型导弹\", \n    \"descriptionID\": 65052, \n    \"hasTypes\": 1, \n    \"iconID\": 186, \n    \"name_de\": \"Fortschrittlich, hoher Schaden\", \n    \"name_en-us\": \"Advanced High Damage Heavy Missiles\", \n    \"name_es\": \"Misiles pesados de gran daño avanzados\", \n    \"name_fr\": \"Missiles lourds perfectionnés à dégâts élevés\", \n    \"name_it\": \"Advanced High Damage Heavy Missiles\", \n    \"name_ja\": \"高性能高ダメージヘビーミサイル\", \n    \"name_ko\": \"고화력 헤비 미사일\", \n    \"name_ru\": \"Высокомощные\", \n    \"name_zh\": \"高级高伤害重型导弹\", \n    \"nameID\": 66126, \n    \"parentGroupID\": 581\n  }, \n  \"927\": {\n    \"description_de\": \"Fortgeschrittene, leichte Rakten mit hohem Schaden\", \n    \"description_en-us\": \"Advanced High Damage Light Missiles\", \n    \"description_es\": \"Misiles ligeros de gran daño con tecnología avanzada.\", \n    \"description_fr\": \"Missiles légers perfectionnés à dégâts élevés\", \n    \"description_it\": \"Advanced High Damage Light Missiles\", \n    \"description_ja\": \"高性能高ダメージライトミサイル\", \n    \"description_ko\": \"고화력 라이트 미사일\", \n    \"description_ru\": \"Усовершенствованные легкие ракеты с усиленным зарядом\", \n    \"description_zh\": \"高级高伤害轻型导弹\", \n    \"descriptionID\": 65053, \n    \"hasTypes\": 1, \n    \"iconID\": 192, \n    \"name_de\": \"Fortschrittlich, hoher Schaden\", \n    \"name_en-us\": \"Advanced High Damage Light Missiles\", \n    \"name_es\": \"Misiles ligeros de gran daño avanzados\", \n    \"name_fr\": \"Missiles légers perfectionnés à dégâts élevés\", \n    \"name_it\": \"Advanced High Damage Light Missiles\", \n    \"name_ja\": \"高性能高ダメージライトミサイル\", \n    \"name_ko\": \"고화력 라이트 미사일\", \n    \"name_ru\": \"Высокомощные\", \n    \"name_zh\": \"高级高伤害轻型导弹\", \n    \"nameID\": 66127, \n    \"parentGroupID\": 117\n  }, \n  \"928\": {\n    \"description_de\": \"Fortgeschrittene Langsteckenraketen\", \n    \"description_en-us\": \"Advanced Long Range Rockets\", \n    \"description_es\": \"Cohetes de largo alcance avanzados.\", \n    \"description_fr\": \"Roquettes perfectionnées à longue portée\", \n    \"description_it\": \"Advanced Long Range Rockets\", \n    \"description_ja\": \"射程特化型\", \n    \"description_ko\": \"장거리 로켓\", \n    \"description_ru\": \"Усовершенствованные ракеты ближнего боя с увеличенной дальностью полета\", \n    \"description_zh\": \"高级远距火箭\", \n    \"descriptionID\": 65054, \n    \"hasTypes\": 1, \n    \"iconID\": 1352, \n    \"name_de\": \"Fortschrittlich, Langstrecke\", \n    \"name_en-us\": \"Advanced Long Range Rockets\", \n    \"name_es\": \"Cohetes de largo alcance avanzados\", \n    \"name_fr\": \"Roquettes perfectionnées à longue portée\", \n    \"name_it\": \"Advanced Long Range Rockets\", \n    \"name_ja\": \"射程特化型ロケット\", \n    \"name_ko\": \"장거리 로켓\", \n    \"name_ru\": \"Высокоскоростные\", \n    \"name_zh\": \"高级远距火箭\", \n    \"nameID\": 66128, \n    \"parentGroupID\": 118\n  }, \n  \"929\": {\n    \"description_de\": \"Fortgeschrittene Langsteckentorpedos\", \n    \"description_en-us\": \"Advanced Long Range Torpedoes\", \n    \"description_es\": \"Torpedos de largo alcance avanzados.\", \n    \"description_fr\": \"Torpilles perfectionnées à longue portée\", \n    \"description_it\": \"Advanced Long Range Torpedoes\", \n    \"description_ja\": \"射程特化型\", \n    \"description_ko\": \"장거리 토피도\", \n    \"description_ru\": \"Усовершенствованные торпеды с увеличенной дальностью полета\", \n    \"description_zh\": \"高级远距鱼雷\", \n    \"descriptionID\": 65055, \n    \"hasTypes\": 1, \n    \"iconID\": 1349, \n    \"name_de\": \"Fortschrittlich, Langstrecke\", \n    \"name_en-us\": \"Advanced Long Range Torpedoes\", \n    \"name_es\": \"Torpedos de largo alcance avanzados\", \n    \"name_fr\": \"Torpilles perfectionnées à longue portée\", \n    \"name_it\": \"Advanced Long Range Torpedoes\", \n    \"name_ja\": \"射程特化型トルピード\", \n    \"name_ko\": \"장거리 토피도\", \n    \"name_ru\": \"Высокоскоростные\", \n    \"name_zh\": \"高级远距鱼雷\", \n    \"nameID\": 66129, \n    \"parentGroupID\": 387\n  }, \n  \"930\": {\n    \"description_de\": \"Fortgeschrittene Anti-Schiff-Raketen\", \n    \"description_en-us\": \"Advanced Anti-Ship Rockets\", \n    \"description_es\": \"Cohetes antinaves avanzados.\", \n    \"description_fr\": \"Roquettes antivaisseau perfectionnées\", \n    \"description_it\": \"Advanced Anti-Ship Rockets\", \n    \"description_ja\": \"対艦特化型\", \n    \"description_ko\": \"대함 로켓\", \n    \"description_ru\": \"Ракеты ближнего боя (повышенной мощности)\", \n    \"description_zh\": \"高级反舰火箭\", \n    \"descriptionID\": 65056, \n    \"hasTypes\": 1, \n    \"iconID\": 1352, \n    \"name_de\": \"Fortschrittlich, Anti-Schiff\", \n    \"name_en-us\": \"Advanced Anti-Ship Rockets\", \n    \"name_es\": \"Cohetes antinaves avanzados\", \n    \"name_fr\": \"Roquettes anti-vaisseau perfectionnées\", \n    \"name_it\": \"Advanced Anti-Ship Rockets\", \n    \"name_ja\": \"対艦特化型ロケット\", \n    \"name_ko\": \"대함 로켓\", \n    \"name_ru\": \"Высокомощные\", \n    \"name_zh\": \"高级反舰火箭\", \n    \"nameID\": 66130, \n    \"parentGroupID\": 118\n  }, \n  \"931\": {\n    \"description_de\": \"Fortgeschrittene Anti-Schiff-Torpedos\", \n    \"description_en-us\": \"Advanced Anti-Ship Torpedoes\", \n    \"description_es\": \"Torpedos antinaves avanzados.\", \n    \"description_fr\": \"Torpilles antivaisseau perfectionnées\", \n    \"description_it\": \"Advanced Anti-Ship Torpedoes\", \n    \"description_ja\": \"対艦特化型\", \n    \"description_ko\": \"대함 토피도\", \n    \"description_ru\": \"Усовершенствованные противокорабельные торпеды\", \n    \"description_zh\": \"高级反舰鱼雷\", \n    \"descriptionID\": 65057, \n    \"hasTypes\": 1, \n    \"iconID\": 1349, \n    \"name_de\": \"Fortschrittlich, Anti-Schiff\", \n    \"name_en-us\": \"Advanced Anti-Ship Torpedoes\", \n    \"name_es\": \"Torpedos antinaves avanzados\", \n    \"name_fr\": \"Torpilles anti-vaisseau perfectionnées\", \n    \"name_it\": \"Advanced Anti-Ship Torpedoes\", \n    \"name_ja\": \"対艦特化型トルピード\", \n    \"name_ko\": \"대함 토피도\", \n    \"name_ru\": \"Высокомощные\", \n    \"name_zh\": \"高级反舰鱼雷\", \n    \"nameID\": 66131, \n    \"parentGroupID\": 387\n  }, \n  \"932\": {\n    \"description_de\": \"Strukturen, die Produktionsanlagen beherbergen.\", \n    \"description_en-us\": \"Structures which house manufacturing facilities.\", \n    \"description_es\": \"Estructuras que acogen centros de fabricación.\", \n    \"description_fr\": \"Structures abritant des usines de production.\", \n    \"description_it\": \"Structures which house manufacturing facilities.\", \n    \"description_ja\": \"製造施設が入っている建造物。\", \n    \"description_ko\": \"제조시설 관련 구조물입니다.\", \n    \"description_ru\": \"Сооружения, выполняющие производственные функции.\", \n    \"description_zh\": \"容纳了生产设施的建筑。\", \n    \"descriptionID\": 65232, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Fertigungsanlagen\", \n    \"name_en-us\": \"Assembly Arrays\", \n    \"name_es\": \"Baterías de montaje\", \n    \"name_fr\": \"Modules d'assemblage\", \n    \"name_it\": \"Assembly Arrays\", \n    \"name_ja\": \"組み立て施設\", \n    \"name_ko\": \"생산시설\", \n    \"name_ru\": \"Сборочные линии\", \n    \"name_zh\": \"装配阵列\", \n    \"nameID\": 66306, \n    \"parentGroupID\": 1285\n  }, \n  \"933\": {\n    \"description_de\": \"Struktur mit Forschungsanlagen.\", \n    \"description_en-us\": \"Structures with research facilities.\", \n    \"description_es\": \"Estructuras con centros de investigación.\", \n    \"description_fr\": \"Structures abritant des équipements de recherche.\", \n    \"description_it\": \"Structures with research facilities.\", \n    \"description_ja\": \"研究施設が入っている建造物。\", \n    \"description_ko\": \"연구시설 관련 구조물입니다.\", \n    \"description_ru\": \"Сооружения, предназначенные для выполнения исследовательских функций.\", \n    \"description_zh\": \"移动实验室\", \n    \"descriptionID\": 65233, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Labor\", \n    \"name_en-us\": \"Laboratory\", \n    \"name_es\": \"Laboratorio\", \n    \"name_fr\": \"Laboratoire\", \n    \"name_it\": \"Laboratory\", \n    \"name_ja\": \"研究施設\", \n    \"name_ko\": \"연구실\", \n    \"name_ru\": \"Лаборатории\", \n    \"name_zh\": \"实验室\", \n    \"nameID\": 66307, \n    \"parentGroupID\": 1285\n  }, \n  \"935\": {\n    \"description_de\": \"Untersysteme, die dazu gebaut sind, die Effizienz von Bergbaulaser zu steigern.\", \n    \"description_en-us\": \"Subsystems designed to improve mining laser efficiency.\", \n    \"description_es\": \"Subsistemas diseñados para mejorar la eficiencia de los láseres mineros.\", \n    \"description_fr\": \"Sous-systèmes conçus pour améliorer l'efficacité des lasers d'extraction.\", \n    \"description_it\": \"Subsystems designed to improve mining laser efficiency.\", \n    \"description_ja\": \"採掘レーザーの効率を高めるように設計されたサブシステム。\", \n    \"description_ko\": \"채굴 레이저 효율성을 향상시키기 위한 서브시스템입니다.\", \n    \"description_ru\": \"Подсистемы, разработанные для повышения эффективности экстракторов.\", \n    \"description_zh\": \"用于加强采矿激光器工作效率的子系统。\", \n    \"descriptionID\": 65058, \n    \"hasTypes\": 1, \n    \"iconID\": 1046, \n    \"name_de\": \"Bergbau-Upgrades\", \n    \"name_en-us\": \"Mining Upgrades\", \n    \"name_es\": \"Mejoras de minería\", \n    \"name_fr\": \"Améliorations de l'extraction minière\", \n    \"name_it\": \"Mining Upgrades\", \n    \"name_ja\": \"採掘強化\", \n    \"name_ko\": \"채굴 업그레이드\", \n    \"name_ru\": \"Оптимизация бурового оборудования\", \n    \"name_zh\": \"采矿改良设备\", \n    \"nameID\": 66132, \n    \"parentGroupID\": 1713\n  }, \n  \"937\": {\n    \"description_de\": \"Blueprints von Bergbau-Upgrades.\", \n    \"description_en-us\": \"Blueprints of mining upgrades.\", \n    \"description_es\": \"Planos de mejoras mineras.\", \n    \"description_fr\": \"Plans de construction d'améliorations de l'extraction minière.\", \n    \"description_it\": \"Blueprints of mining upgrades.\", \n    \"description_ja\": \"採掘強化のブループリント。\", \n    \"description_ko\": \"채굴 업그레이드 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи пакетов модернизации экстракторов.\", \n    \"description_zh\": \"采矿改良设备蓝图。\", \n    \"descriptionID\": 65059, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Bergbau-Upgrades\", \n    \"name_en-us\": \"Mining Upgrades\", \n    \"name_es\": \"Mejoras de minería\", \n    \"name_fr\": \"Améliorations de l'extraction minière\", \n    \"name_it\": \"Mining Upgrades\", \n    \"name_ja\": \"採掘強化\", \n    \"name_ko\": \"채굴 업그레이드\", \n    \"name_ru\": \"Оптимизация бурового оборудования\", \n    \"name_zh\": \"采矿改良设备\", \n    \"nameID\": 66133, \n    \"parentGroupID\": 1711\n  }, \n  \"938\": {\n    \"description_de\": \"Module die die Effektivität von Drohnen erhöhen\", \n    \"description_en-us\": \"Modules that increase drone efficiency\", \n    \"description_es\": \"Módulos que aumentan la eficiencia de los drones.\", \n    \"description_fr\": \"Modules qui augmentent l'efficacité des drones\", \n    \"description_it\": \"Modules that increase drone efficiency\", \n    \"description_ja\": \"ドローンの効率を向上させるモジュール\", \n    \"description_ko\": \"드론 효율성을 향상하는 모듈입니다.\", \n    \"description_ru\": \"Модули, увеличивающие эффективность дронов\", \n    \"description_zh\": \"可以增强无人机效率的装备\", \n    \"descriptionID\": 65060, \n    \"hasTypes\": 1, \n    \"iconID\": 2989, \n    \"name_de\": \"Drohnenupgrades\", \n    \"name_en-us\": \"Drone Upgrades\", \n    \"name_es\": \"Mejoras de drones\", \n    \"name_fr\": \"Améliorations de drone\", \n    \"name_it\": \"Drone Upgrades\", \n    \"name_ja\": \"ドローン強化\", \n    \"name_ko\": \"드론 업그레이드\", \n    \"name_ru\": \"Улучшения систем управления дронами\", \n    \"name_zh\": \"无人机升级模块\", \n    \"nameID\": 66134, \n    \"parentGroupID\": 9\n  }, \n  \"939\": {\n    \"description_de\": \"Blueprints von Drohnenupgrades\", \n    \"description_en-us\": \"Blueprints of drone upgrades.\", \n    \"description_es\": \"Planos de mejoras de drones.\", \n    \"description_fr\": \"Plans de construction d'améliorations des drones.\", \n    \"description_it\": \"Blueprints of drone upgrades.\", \n    \"description_ja\": \"ドローン強化のブループリント。\", \n    \"description_ko\": \"드론 업그레이드 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи пакетов модернизации систем управления дронами.\", \n    \"description_zh\": \"无人机升级模块蓝图。\", \n    \"descriptionID\": 65061, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Drohnenupgrades\", \n    \"name_en-us\": \"Drone Upgrades\", \n    \"name_es\": \"Mejoras de drones\", \n    \"name_fr\": \"Améliorations de drone\", \n    \"name_it\": \"Drone Upgrades\", \n    \"name_ja\": \"ドローン強化\", \n    \"name_ko\": \"드론 업그레이드\", \n    \"name_ru\": \"Улучшения систем управления дронами\", \n    \"name_zh\": \"无人机升级模块\", \n    \"nameID\": 66135, \n    \"parentGroupID\": 209\n  }, \n  \"940\": {\n    \"description_de\": \"Die zum Betrieb von Sternenbasen innerhalb des Imperiums benötigten Lizenzen.\", \n    \"description_en-us\": \"The required licenses to operate starbases within the borders of the empires\", \n    \"description_es\": \"Las licencias necesarias para operar bases estelares dentro de las fronteras de los imperios.\", \n    \"description_fr\": \"Permis requis pour faire fonctionner les bases stellaires à l'intérieur des frontières des empires\", \n    \"description_it\": \"The required licenses to operate starbases within the borders of the empires\", \n    \"description_ja\": \"帝国領内でスターベースを運営するために必要なライセンス\", \n    \"description_ko\": \"제국 권역 내 스타베이스 운영을 위한 인가증입니다.\", \n    \"description_ru\": \"Необходимые лицензии для работы ПОСов в космосе, принадлежащем сверхдержавам\", \n    \"description_zh\": \"在帝国范围内使用母星所需要的执照\", \n    \"descriptionID\": 65163, \n    \"hasTypes\": 1, \n    \"iconID\": 1192, \n    \"name_de\": \"Sternenbasis-Freibriefe\", \n    \"name_en-us\": \"Starbase Charters\", \n    \"name_es\": \"Patentes de bases estelares\", \n    \"name_fr\": \"Licences pour base stellaire\", \n    \"name_it\": \"Starbase Charters\", \n    \"name_ja\": \"基地運営許可証\", \n    \"name_ko\": \"스타베이스 인가증\", \n    \"name_ru\": \"Разрешения на эксплуатацию ПОСов\", \n    \"name_zh\": \"母星宪章\", \n    \"nameID\": 66237, \n    \"parentGroupID\": 19\n  }, \n  \"943\": {\n    \"description_de\": \"Blaupause von Modifikationen, die benutzt werden, um die Leistung des Schiffs zu verändern\", \n    \"description_en-us\": \"Blueprints of rigs used to modify ship performance\", \n    \"description_es\": \"Planos de complementos usados para modificar el rendimiento de la nave.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation servant à modifier les performances d'un vaisseau\", \n    \"description_it\": \"Blueprints of rigs used to modify ship performance\", \n    \"description_ja\": \"艦船の性能を変えるリグのブループリント\", \n    \"description_ko\": \"함선 성능을 향상할 수 있는 리그의 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей, при установке влияющих на эффективность работы корабельных систем\", \n    \"description_zh\": \"用来提升舰船性能的改装件的蓝图\", \n    \"descriptionID\": 65063, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Schiffsmodifikationen\", \n    \"name_en-us\": \"Ship Modifications\", \n    \"name_es\": \"Modificaciones de la nave\", \n    \"name_fr\": \"Modifications de vaisseau\", \n    \"name_it\": \"Ship Modifications\", \n    \"name_ja\": \"艦船調整用パーツ\", \n    \"name_ko\": \"함선 리그\", \n    \"name_ru\": \"Модификации кораблей\", \n    \"name_zh\": \"舰船改装\", \n    \"nameID\": 66137, \n    \"parentGroupID\": 2\n  }, \n  \"944\": {\n    \"description_de\": \"Permanente Veränderung der Panzerungseinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's armor facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de blindaje de una nave.\", \n    \"description_fr\": \"Modification permanente de la structure de blindage d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's armor facilities.\", \n    \"description_ja\": \"艦船のアーマー施設の永久改造。\", \n    \"description_ko\": \"장갑 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу систем броневой защиты корабля.\", \n    \"description_zh\": \"装甲设施永久性改装件。\", \n    \"descriptionID\": 65199, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Panzerungsmodifikationen\", \n    \"name_en-us\": \"Armor Rigs\", \n    \"name_es\": \"Complementos de blindaje\", \n    \"name_fr\": \"Modifications de blindage\", \n    \"name_it\": \"Armor Rigs\", \n    \"name_ja\": \"アーマーリグ\", \n    \"name_ko\": \"장갑 리그\", \n    \"name_ru\": \"Модификаторы брони\", \n    \"name_zh\": \"装甲改装件\", \n    \"nameID\": 66273, \n    \"parentGroupID\": 943\n  }, \n  \"945\": {\n    \"description_de\": \"Permanente Veränderung der astronautischen Einrichtugen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's astronautic facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de astronáutica de una nave.\", \n    \"description_fr\": \"Modification permanente des installations astronautiques d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's astronautic facilities.\", \n    \"description_ja\": \"艦船の宇宙航行施設の永久改造。\", \n    \"description_ko\": \"항법 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу астронавигационных систем корабля.\", \n    \"description_zh\": \"永久性舰船航天技术改装件\", \n    \"descriptionID\": 65211, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Astronautische Modifikationen\", \n    \"name_en-us\": \"Astronautic Rigs\", \n    \"name_es\": \"Complementos de astronáutica\", \n    \"name_fr\": \"Modifications astronautiques\", \n    \"name_it\": \"Astronautic Rigs\", \n    \"name_ja\": \"宇宙航行リグ\", \n    \"name_ko\": \"항법 리그\", \n    \"name_ru\": \"Модификаторы двигательных систем\", \n    \"name_zh\": \"航天技术改装件\", \n    \"nameID\": 66285, \n    \"parentGroupID\": 943\n  }, \n  \"946\": {\n    \"description_de\": \"Permanente Veränderung der Drohneneinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's drone facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de drones de una nave.\", \n    \"description_fr\": \"Modification permanente des installations liées aux drones d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's drone facilities.\", \n    \"description_ja\": \"艦船のドローン施設の永久改造。\", \n    \"description_ko\": \"드론 시설 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу систем управления дронами корабля.\", \n    \"description_zh\": \"无人机相关设施的永久性改装件。\", \n    \"descriptionID\": 65212, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Drohnenmodifikationen\", \n    \"name_en-us\": \"Drone Rigs\", \n    \"name_es\": \"Complementos de drones\", \n    \"name_fr\": \"Modifications de drone\", \n    \"name_it\": \"Drone Rigs\", \n    \"name_ja\": \"ドローンリグ\", \n    \"name_ko\": \"드론 리그\", \n    \"name_ru\": \"Модификаторы дронов\", \n    \"name_zh\": \"无人机改装件\", \n    \"nameID\": 66286, \n    \"parentGroupID\": 943\n  }, \n  \"948\": {\n    \"description_de\": \"Permanente Veränderung der Elektronikhoheitssysteme eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's electronics superiority facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de superioridad electrónica de una nave.\", \n    \"description_fr\": \"Modification permanente des installations de supériorité électronique d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's electronics superiority facilities.\", \n    \"description_ja\": \"艦船のエレクトロニクス強化施設の永久改造。\", \n    \"description_ko\": \"상급 전자공학 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу систем электронного противодействия корабля.\", \n    \"description_zh\": \"舰载电子压制装置永久性改装件。\", \n    \"descriptionID\": 65214, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Elektronische Höchstleistungsmodifikationen\", \n    \"name_en-us\": \"Electronics Superiority Rigs\", \n    \"name_es\": \"Complementos de superioridad electrónica\", \n    \"name_fr\": \"Modifications de supériorité électronique\", \n    \"name_it\": \"Electronics Superiority Rigs\", \n    \"name_ja\": \"高性能エレクトロニクスリグ\", \n    \"name_ko\": \"전자공학 리그\", \n    \"name_ru\": \"Модификаторы РЭБ\", \n    \"name_zh\": \"电子压制改装件\", \n    \"nameID\": 66288, \n    \"parentGroupID\": 943\n  }, \n  \"949\": {\n    \"description_de\": \"Permanente Veränderung der Stromversorgung eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's energy grid facilities.\", \n    \"description_es\": \"Modificación permanente de las capacidades del sistema de energía de una nave.\", \n    \"description_fr\": \"Modification permanente du réseau d'alimentation d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's energy grid facilities.\", \n    \"description_ja\": \"艦船のエネルギー回路施設の永久改造。\", \n    \"description_ko\": \"에너지그리드 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу энергосети корабля.\", \n    \"description_zh\": \"能量栅格永久性改装件。\", \n    \"descriptionID\": 65215, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Modifikationen für Ingenieurwesen\", \n    \"name_en-us\": \"Engineering Rigs\", \n    \"name_es\": \"Complementos de ingeniería\", \n    \"name_fr\": \"Modifications d'ingénierie\", \n    \"name_it\": \"Engineering Rigs\", \n    \"name_ja\": \"エンジニアリングリグ\", \n    \"name_ko\": \"엔지니어링 리그\", \n    \"name_ru\": \"Модификаторы инженерных систем\", \n    \"name_zh\": \"工程改装件\", \n    \"nameID\": 66289, \n    \"parentGroupID\": 943\n  }, \n  \"950\": {\n    \"description_de\": \"Permanente Veränderung der Energiewaffeneinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's energy weapon facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de armas de energía de una nave.\", \n    \"description_fr\": \"Modification permanente des installations d'armes à énergie d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's energy weapon facilities.\", \n    \"description_ja\": \"艦船のエネルギー兵器施設の永久改造。\", \n    \"description_ko\": \"에너지 무기 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу высокоэнергетических орудий корабля.\", \n    \"description_zh\": \"能量武器永久性改装件。\", \n    \"descriptionID\": 65216, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Energiewaffenmodifikationen\", \n    \"name_en-us\": \"Energy Weapon Rigs\", \n    \"name_es\": \"Complementos de armas de energía\", \n    \"name_fr\": \"Modifications d’arme à énergie\", \n    \"name_it\": \"Energy Weapon Rigs\", \n    \"name_ja\": \"エネルギー兵器リグ\", \n    \"name_ko\": \"에너지 무기 리그\", \n    \"name_ru\": \"Модификаторы лазерного вооружения\", \n    \"name_zh\": \"能量武器改装件\", \n    \"nameID\": 66290, \n    \"parentGroupID\": 943\n  }, \n  \"951\": {\n    \"description_de\": \"Permanente Veränderung der Hybridwaffeneinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's hybrid weapon facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de armas híbridas de una nave.\", \n    \"description_fr\": \"Modification permanente des installations d'armes hybrides d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's hybrid weapon facilities.\", \n    \"description_ja\": \"艦船のハイブリッド兵器施設の永久改造。\", \n    \"description_ko\": \"하이브리드 무기 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу орудий гибридного действия корабля.\", \n    \"description_zh\": \"混合武器永久性改装件。\", \n    \"descriptionID\": 65217, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Hybridwaffenmodifikationen\", \n    \"name_en-us\": \"Hybrid Weapon Rigs\", \n    \"name_es\": \"Complementos de armas híbridas\", \n    \"name_fr\": \"Modifications d’arme hybride\", \n    \"name_it\": \"Hybrid Weapon Rigs\", \n    \"name_ja\": \"ハイブリッド兵器リグ\", \n    \"name_ko\": \"하이브리드 무기 리그\", \n    \"name_ru\": \"Модификаторы гибридного вооружения\", \n    \"name_zh\": \"混合武器改装件\", \n    \"nameID\": 66291, \n    \"parentGroupID\": 943\n  }, \n  \"952\": {\n    \"description_de\": \"Permanente Veränderung der Raketenwerfereinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's missile launcher facilities.\", \n    \"description_es\": \"Modificación permanente de las instalaciones de lanzamisiles de una nave.\", \n    \"description_fr\": \"Modification permanente des installations de lance-missiles d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's missile launcher facilities.\", \n    \"description_ja\": \"艦船のミサイルランチャー施設の永久改造。\", \n    \"description_ko\": \"미사일 런처 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу пусковых установок корабля.\", \n    \"description_zh\": \"导弹发射器永久性改装件。\", \n    \"descriptionID\": 65218, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Lenkwaffenwerfer-Modifikationen\", \n    \"name_en-us\": \"Missile Launcher Rigs\", \n    \"name_es\": \"Complementos de lanzamisiles\", \n    \"name_fr\": \"Modifications de lance-missiles\", \n    \"name_it\": \"Missile Launcher Rigs\", \n    \"name_ja\": \"ミサイル兵器リグ\", \n    \"name_ko\": \"미사일 런처 리그\", \n    \"name_ru\": \"Модификаторы ракетного вооружения\", \n    \"name_zh\": \"导弹发射器改装件\", \n    \"nameID\": 66292, \n    \"parentGroupID\": 943\n  }, \n  \"953\": {\n    \"description_de\": \"Permanente Veränderung der Projektilwaffeneinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's projectile weapon facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de armas de proyectiles de una nave.\", \n    \"description_fr\": \"Modification permanente des installations d'armes à projectiles d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's projectile weapon facilities.\", \n    \"description_ja\": \"艦船のプロジェクタイル兵器施設の永久改造。\", \n    \"description_ko\": \"함선 발사체 무기 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу огнестрельных орудий корабля.\", \n    \"description_zh\": \"射弹武器永久性改装件。\", \n    \"descriptionID\": 65240, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Projektilwaffenmodifikationen\", \n    \"name_en-us\": \"Projectile Weapon Rigs\", \n    \"name_es\": \"Complementos de armas de proyectiles\", \n    \"name_fr\": \"Modifications d’arme à projectile\", \n    \"name_it\": \"Projectile Weapon Rigs\", \n    \"name_ja\": \"プロジェクタイル兵器リグ\", \n    \"name_ko\": \"발사체 무기 리그\", \n    \"name_ru\": \"Модификаторы баллистического вооружения\", \n    \"name_zh\": \"射弹武器改装件\", \n    \"nameID\": 66314, \n    \"parentGroupID\": 943\n  }, \n  \"954\": {\n    \"description_de\": \"Permanente Veränderung der Schild-Einrichtungen eines Schiffs.\", \n    \"description_en-us\": \"Permanent modification of a ship's shield facilities.\", \n    \"description_es\": \"Modificación permanente de las instalaciones de escudo de una nave.\", \n    \"description_fr\": \"Modification permanente de la structure de bouclier d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's shield facilities.\", \n    \"description_ja\": \"艦船のシールド施設の永久改造。\", \n    \"description_ko\": \"실드 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу систем поддержки щита корабля.\", \n    \"description_zh\": \"护盾设备永久性改装件。\", \n    \"descriptionID\": 65219, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Schildmodifikationen\", \n    \"name_en-us\": \"Shield Rigs\", \n    \"name_es\": \"Complementos de escudo\", \n    \"name_fr\": \"Modifications de bouclier\", \n    \"name_it\": \"Shield Rigs\", \n    \"name_ja\": \"シールドリグ\", \n    \"name_ko\": \"실드 리그\", \n    \"name_ru\": \"Модификаторы щитов\", \n    \"name_zh\": \"护盾改装件\", \n    \"nameID\": 66293, \n    \"parentGroupID\": 943\n  }, \n  \"955\": {\n    \"description_de\": \"Modifikationen und Subsysteme, welche die Attribute eines Raumschiffs verändern, um es für seine zugewiesene Funktion effektiver zu machen. Mutaplasmide, welche die Attribute eines Moduls dauerhaft verändern\", \n    \"description_en-us\": \"Rigs and subsystems that alter a starship's attributes in such a way as to make it more effective in its chosen role\\r\\n\\r\\nMutaplasmids that permanently alter a module's attributes\", \n    \"description_es\": \"Complementos y subsistemas que alteran los atributos de una nave para que sea más efectiva en la función elegida.\\n\\nMutaplásmidos que alteran permanentemente los atributos de un módulo.\", \n    \"description_fr\": \"Modules d'optimisation et sous-systèmes qui modifient les attributs d'un vaisseau de manière à le rendre plus efficace dans le rôle qui lui est attribué Mutaplasmides qui modifient de façon permanente les attributs d'un module.\", \n    \"description_it\": \"Rigs and subsystems that alter a starship's attributes in such a way as to make it more effective in its chosen role\\r\\n\\r\\nMutaplasmids that permanently alter a module's attributes\", \n    \"description_ja\": \"宇宙船の属性に調整を加え、特定用途に絞って効率を上げるリグとサブシステム\", \n    \"description_ko\": \"리그 및 서브시스템은 함선의 기능을 향상합니다.<br><br>뮤타플라즈미드는 모듈의 성능을 영구적으로 변화시킵니다.\", \n    \"description_ru\": \"Надстройки и подсистемы, изменяющие характеристики корабля таким образом, что он становится более эффективным с точки зрения выполнения задач в рамках выбранного профиля. Мутаплазмиды, навсегда меняющие характеристики модуля.\", \n    \"description_zh\": \"可以改变舰船属性的改装件和子系统，能让舰船更好地发挥职能\\n\\n可以永久改变一个装备的属性的突变质体\", \n    \"descriptionID\": 65463, \n    \"hasTypes\": 0, \n    \"iconID\": 2887, \n    \"name_de\": \"Schiffs- und Modulmodifikationen\", \n    \"name_en-us\": \"Ship and Module Modifications\", \n    \"name_es\": \"Modificaciones de naves y módulos\", \n    \"name_fr\": \"Modifications des vaisseaux et des modules\", \n    \"name_it\": \"Ship and Module Modifications\", \n    \"name_ja\": \"艦船調整用パーツ\", \n    \"name_ko\": \"함선 및 모듈 개조\", \n    \"name_ru\": \"Модификации корабля и модулей\", \n    \"name_zh\": \"舰船和装备改装件\", \n    \"nameID\": 66538\n  }, \n  \"956\": {\n    \"description_de\": \"Permanente Veränderung der Panzerungseinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's armor facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de blindaje de una nave.\", \n    \"description_fr\": \"Modification permanente de la structure de blindage d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's armor facilities.\", \n    \"description_ja\": \"艦船のアーマー施設の永久改造。\", \n    \"description_ko\": \"장갑 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу систем броневой защиты корабля.\", \n    \"description_zh\": \"对舰船装甲进行的永久性改造。\", \n    \"descriptionID\": 65200, \n    \"hasTypes\": 0, \n    \"iconID\": 3194, \n    \"name_de\": \"Panzerungsmodifikationen\", \n    \"name_en-us\": \"Armor Rigs\", \n    \"name_es\": \"Complementos de blindaje\", \n    \"name_fr\": \"Modifications de blindage\", \n    \"name_it\": \"Armor Rigs\", \n    \"name_ja\": \"アーマーリグ\", \n    \"name_ko\": \"장갑 리그\", \n    \"name_ru\": \"Модификаторы брони\", \n    \"name_zh\": \"装甲改装件\", \n    \"nameID\": 66274, \n    \"parentGroupID\": 1111\n  }, \n  \"957\": {\n    \"description_de\": \"Permanente Veränderung der astronautischen Einrichtugen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's astronautic facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de astronáutica de una nave.\", \n    \"description_fr\": \"Modification permanente des installations astronautiques d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's astronautic facilities.\", \n    \"description_ja\": \"艦船の宇宙航行施設の永久改造。\", \n    \"description_ko\": \"항법 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу астронавигационных систем корабля.\", \n    \"description_zh\": \"永久性舰船航天技术改装件\", \n    \"descriptionID\": 65201, \n    \"hasTypes\": 0, \n    \"iconID\": 3196, \n    \"name_de\": \"Astronautische Modifikationen\", \n    \"name_en-us\": \"Astronautic Rigs\", \n    \"name_es\": \"Complementos de astronáutica\", \n    \"name_fr\": \"Modifications astronautiques\", \n    \"name_it\": \"Astronautic Rigs\", \n    \"name_ja\": \"宇宙航行リグ\", \n    \"name_ko\": \"항법 리그\", \n    \"name_ru\": \"Модификаторы двигательных систем\", \n    \"name_zh\": \"航天技术改装件\", \n    \"nameID\": 66275, \n    \"parentGroupID\": 1111\n  }, \n  \"958\": {\n    \"description_de\": \"Permanente Veränderung der Drohneneinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's drone facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de drones de una nave.\", \n    \"description_fr\": \"Modification permanente des installations liées aux drones d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's drone facilities.\", \n    \"description_ja\": \"艦船のドローン施設の永久改造。\", \n    \"description_ko\": \"드론 시설 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу систем управления дронами корабля.\", \n    \"description_zh\": \"无人机相关设施的永久性改装件。\", \n    \"descriptionID\": 65202, \n    \"hasTypes\": 0, \n    \"iconID\": 3200, \n    \"name_de\": \"Drohnenmodifikationen\", \n    \"name_en-us\": \"Drone Rigs\", \n    \"name_es\": \"Complementos de drones\", \n    \"name_fr\": \"Modifications de drone\", \n    \"name_it\": \"Drone Rigs\", \n    \"name_ja\": \"ドローンリグ\", \n    \"name_ko\": \"드론 리그\", \n    \"name_ru\": \"Модификаторы дронов\", \n    \"name_zh\": \"无人机改装件\", \n    \"nameID\": 66276, \n    \"parentGroupID\": 1111\n  }, \n  \"960\": {\n    \"description_de\": \"Permanente Veränderung der Elektronikhoheitssysteme eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's electronics superiority facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de superioridad electrónica de una nave.\", \n    \"description_fr\": \"Modification permanente des installations de supériorité électronique d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's electronics superiority facilities.\", \n    \"description_ja\": \"艦船のエレクトロニクス強化施設の永久改造。\", \n    \"description_ko\": \"상급 전자공학 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу систем электронного противодействия корабля.\", \n    \"description_zh\": \"舰载电子压制装置永久性改装件。\", \n    \"descriptionID\": 65204, \n    \"hasTypes\": 0, \n    \"iconID\": 3198, \n    \"name_de\": \"Elektronische Höchstleistungsmodifikationen\", \n    \"name_en-us\": \"Electronics Superiority Rigs\", \n    \"name_es\": \"Complementos de superioridad electrónica\", \n    \"name_fr\": \"Modifications de supériorité électronique\", \n    \"name_it\": \"Electronics Superiority Rigs\", \n    \"name_ja\": \"高性能エレクトロニクスリグ\", \n    \"name_ko\": \"전자공학 리그\", \n    \"name_ru\": \"Модификаторы РЭБ\", \n    \"name_zh\": \"电子压制改装件\", \n    \"nameID\": 66278, \n    \"parentGroupID\": 1111\n  }, \n  \"961\": {\n    \"description_de\": \"Permanente Veränderung der Stromversorgung eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's energy grid facilities.\", \n    \"description_es\": \"Modificación permanente de las capacidades del sistema de energía de una nave.\", \n    \"description_fr\": \"Modification permanente du réseau d'alimentation d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's energy grid facilities.\", \n    \"description_ja\": \"艦船のエネルギー回路施設の永久改造。\", \n    \"description_ko\": \"에너지그리드 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу энергосети корабля.\", \n    \"description_zh\": \"能量栅格永久性改装件。\", \n    \"descriptionID\": 65205, \n    \"hasTypes\": 0, \n    \"iconID\": 3195, \n    \"name_de\": \"Modifikationen für Ingenieurwesen\", \n    \"name_en-us\": \"Engineering Rigs\", \n    \"name_es\": \"Complementos de ingeniería\", \n    \"name_fr\": \"Modifications d'ingénierie\", \n    \"name_it\": \"Engineering Rigs\", \n    \"name_ja\": \"エンジニアリングリグ\", \n    \"name_ko\": \"엔지니어링 리그\", \n    \"name_ru\": \"Модификаторы инженерных систем\", \n    \"name_zh\": \"工程改装件\", \n    \"nameID\": 66279, \n    \"parentGroupID\": 1111\n  }, \n  \"962\": {\n    \"description_de\": \"Permanente Veränderung der Energiewaffeneinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's energy weapon facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de armas de energía de una nave.\", \n    \"description_fr\": \"Modification permanente des installations d'armes à énergie d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's energy weapon facilities.\", \n    \"description_ja\": \"艦船のエネルギー兵器施設の永久改造。\", \n    \"description_ko\": \"에너지 무기 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу высокоэнергетических орудий корабля.\", \n    \"description_zh\": \"能量武器永久性改装件。\", \n    \"descriptionID\": 65206, \n    \"hasTypes\": 0, \n    \"iconID\": 3203, \n    \"name_de\": \"Energiewaffenmodifikationen\", \n    \"name_en-us\": \"Energy Weapon Rigs\", \n    \"name_es\": \"Complementos de armas de energía\", \n    \"name_fr\": \"Modifications d’arme à énergie\", \n    \"name_it\": \"Energy Weapon Rigs\", \n    \"name_ja\": \"エネルギー兵器リグ\", \n    \"name_ko\": \"에너지 무기 리그\", \n    \"name_ru\": \"Модификаторы лазерного вооружения\", \n    \"name_zh\": \"能量武器改装件\", \n    \"nameID\": 66280, \n    \"parentGroupID\": 1111\n  }, \n  \"963\": {\n    \"description_de\": \"Permanente Veränderung der Hybridwaffeneinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's hybrid weapon facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de armas híbridas de una nave.\", \n    \"description_fr\": \"Modification permanente des installations d'armes hybrides d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's hybrid weapon facilities.\", \n    \"description_ja\": \"艦船のハイブリッド兵器施設の永久改造。\", \n    \"description_ko\": \"하이브리드 무기 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу орудий гибридного действия корабля.\", \n    \"description_zh\": \"混合武器永久性改装件。\", \n    \"descriptionID\": 65207, \n    \"hasTypes\": 0, \n    \"iconID\": 3202, \n    \"name_de\": \"Hybridwaffenmodifikationen\", \n    \"name_en-us\": \"Hybrid Weapon Rigs\", \n    \"name_es\": \"Complementos de armas híbridas\", \n    \"name_fr\": \"Modifications d’arme hybride\", \n    \"name_it\": \"Hybrid Weapon Rigs\", \n    \"name_ja\": \"ハイブリッド兵器リグ\", \n    \"name_ko\": \"하이브리드 무기 리그\", \n    \"name_ru\": \"Модификаторы гибридного вооружения\", \n    \"name_zh\": \"混合武器改装件\", \n    \"nameID\": 66281, \n    \"parentGroupID\": 1111\n  }, \n  \"964\": {\n    \"description_de\": \"Permanente Veränderung der Raketenwerfereinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's missile launcher facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de lanzamisiles de una nave.\", \n    \"description_fr\": \"Modification permanente des installations de lance-missiles d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's missile launcher facilities.\", \n    \"description_ja\": \"艦船のミサイルランチャー施設の永久改造。\", \n    \"description_ko\": \"미사일 런처 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу пусковых установок корабля.\", \n    \"description_zh\": \"导弹发射器永久性改装件。\", \n    \"descriptionID\": 65208, \n    \"hasTypes\": 0, \n    \"iconID\": 3197, \n    \"name_de\": \"Lenkwaffenwerfer-Modifikationen\", \n    \"name_en-us\": \"Missile Launcher Rigs\", \n    \"name_es\": \"Complementos de lanzamisiles\", \n    \"name_fr\": \"Modifications de lance-missiles\", \n    \"name_it\": \"Missile Launcher Rigs\", \n    \"name_ja\": \"ミサイル兵器リグ\", \n    \"name_ko\": \"미사일 런처 리그\", \n    \"name_ru\": \"Модификаторы ракетного вооружения\", \n    \"name_zh\": \"导弹发射器改装件\", \n    \"nameID\": 66282, \n    \"parentGroupID\": 1111\n  }, \n  \"965\": {\n    \"description_de\": \"Permanente Veränderung der Schild-Einrichtungen eines Schiffs.\", \n    \"description_en-us\": \"Permanent modification of a ship's shield facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de escudo de una nave.\", \n    \"description_fr\": \"Modification permanente de la structure de bouclier d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's shield facilities.\", \n    \"description_ja\": \"艦船のシールド施設の永久改造。\", \n    \"description_ko\": \"실드 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу систем поддержки щита корабля.\", \n    \"description_zh\": \"护盾设备永久性改装件。\", \n    \"descriptionID\": 65209, \n    \"hasTypes\": 0, \n    \"iconID\": 3193, \n    \"name_de\": \"Schildmodifikationen\", \n    \"name_en-us\": \"Shield Rigs\", \n    \"name_es\": \"Complementos de escudo\", \n    \"name_fr\": \"Modifications de bouclier\", \n    \"name_it\": \"Shield Rigs\", \n    \"name_ja\": \"シールドリグ\", \n    \"name_ko\": \"실드 리그\", \n    \"name_ru\": \"Модификаторы щитов\", \n    \"name_zh\": \"护盾改装件\", \n    \"nameID\": 66283, \n    \"parentGroupID\": 1111\n  }, \n  \"967\": {\n    \"description_de\": \"Schiffssysteme, die das Verzerrungssignal verstärken, welches Geräte für elektronische Gegenschläge erzeugen.\", \n    \"description_en-us\": \"Ship systems that amplify the distortion signal generated by electronic counter measure systems.\", \n    \"description_es\": \"Sistemas de a bordo que amplifican la señal distorsionadora que generan las contramedidas electrónicas.\", \n    \"description_fr\": \"Systèmes des vaisseaux visant à amplifier le signal de distorsion généré par les systèmes de contre-mesures électroniques.\", \n    \"description_it\": \"Ship systems that amplify the distortion signal generated by electronic counter measure systems.\", \n    \"description_ja\": \"電子妨害機器システムが発する妨害信号を増幅するシップシステム。\", \n    \"description_ko\": \"ECM에서 생성되는 왜곡 신호를 증폭시켜주는 시스템입니다.\", \n    \"description_ru\": \"Корабельные системы, усиливающие шумовой сигнал, создаваемый системами радиоэлектронной борьбы.\", \n    \"description_zh\": \"此舰载系统用于放大由ECM装备产生的扭曲信号。\", \n    \"descriptionID\": 65133, \n    \"hasTypes\": 1, \n    \"iconID\": 1046, \n    \"name_de\": \"Signalverzerrungsverstärker\", \n    \"name_en-us\": \"Signal Distortion Amplifier\", \n    \"name_es\": \"Amplificador de distorsión de señales\", \n    \"name_fr\": \"Amplificateur de distorsion de signal\", \n    \"name_it\": \"Signal Distortion Amplifier\", \n    \"name_ja\": \"シグナル歪曲率増幅器\", \n    \"name_ko\": \"신호 교란 증폭기\", \n    \"name_ru\": \"Усилители искажения сигнала\", \n    \"name_zh\": \"信号畸变放大器\", \n    \"nameID\": 66207, \n    \"parentGroupID\": 677\n  }, \n  \"968\": {\n    \"description_de\": \"Jet-Projektile für Schwere Angriffswerfer.\", \n    \"description_en-us\": \"Jet-propelled projectiles for heavy assault launchers.\", \n    \"description_es\": \"Proyectiles autopropulsados para lanzadores de asalto pesados.\", \n    \"description_fr\": \"Projectiles autopropulsés pour des lanceurs d'assaut lourds.\", \n    \"description_it\": \"Jet-propelled projectiles for heavy assault launchers.\", \n    \"description_ja\": \"ヘビーアサルトランチャー用のジェット推進式ミサイル。\", \n    \"description_ko\": \"헤비 어썰트 런처에서 발사하는 제트 추진 미사일입니다.\", \n    \"description_ru\": \"Реактивные снаряды для тяжелых штурмовых пусковых установок.\", \n    \"description_zh\": \"重型攻击导弹发射器使用的喷射推进弹头。\", \n    \"descriptionID\": 65065, \n    \"hasTypes\": 0, \n    \"iconID\": 186, \n    \"name_de\": \"Schwere Angriffslenkwaffen\", \n    \"name_en-us\": \"Heavy Assault Missiles\", \n    \"name_es\": \"Misiles de asalto pesados\", \n    \"name_fr\": \"Missiles d'assaut lourds\", \n    \"name_it\": \"Heavy Assault Missiles\", \n    \"name_ja\": \"ヘビーアサルトミサイル\", \n    \"name_ko\": \"헤비 어썰트 미사일\", \n    \"name_ru\": \"Тяжёлые штурмовые ракеты\", \n    \"name_zh\": \"重型攻击导弹\", \n    \"nameID\": 66139, \n    \"parentGroupID\": 114\n  }, \n  \"971\": {\n    \"description_de\": \"Schwere Standard-Angriffslenkwaffen.\", \n    \"description_en-us\": \"Standard heavy assault missiles.\", \n    \"description_es\": \"Misiles de asalto pesados estándar.\", \n    \"description_fr\": \"Missiles d'assaut lourds standard.\", \n    \"description_it\": \"Standard heavy assault missiles.\", \n    \"description_ja\": \"標準的なヘビーアサルトミサイル。\", \n    \"description_ko\": \"일반 헤비 어썰트 미사일입니다.\", \n    \"description_ru\": \"Стандартные варианты оснащения тяжёлых ракет малой дальности.\", \n    \"description_zh\": \"标准重型攻击导弹。\", \n    \"descriptionID\": 65155, \n    \"hasTypes\": 1, \n    \"iconID\": 186, \n    \"name_de\": \"Standard\", \n    \"name_en-us\": \"Standard Heavy Assault Missiles\", \n    \"name_es\": \"Misiles de asalto pesados estándar\", \n    \"name_fr\": \"Missiles d'assaut lourds standards\", \n    \"name_it\": \"Standard Heavy Assault Missiles\", \n    \"name_ja\": \"標準型ヘビーアサルトミサイル\", \n    \"name_ko\": \"일반 헤비 어썰트 미사일\", \n    \"name_ru\": \"Стандартные\", \n    \"name_zh\": \"标准重型攻击导弹\", \n    \"nameID\": 66229, \n    \"parentGroupID\": 968\n  }, \n  \"972\": {\n    \"description_de\": \"Schwere fortschrittliche Langstrecken-Angriffslenkwaffen.\", \n    \"description_en-us\": \"Advanced long range heavy assault missiles.\", \n    \"description_es\": \"Misiles de asalto pesados de largo alcance con tecnología avanzada.\", \n    \"description_fr\": \"Missiles d'assaut lourds à longue portée avancée.\", \n    \"description_it\": \"Advanced long range heavy assault missiles.\", \n    \"description_ja\": \"高性能長距離ヘビーアサルトミサイル。\", \n    \"description_ko\": \"장거리 헤비 어썰트 미사일\", \n    \"description_ru\": \"Малогабаритные ракеты большой мощности, оснащённые усовершенствованными двигательными установками.\", \n    \"description_zh\": \"高级远距重型攻击导弹。\", \n    \"descriptionID\": 65156, \n    \"hasTypes\": 1, \n    \"iconID\": 186, \n    \"name_de\": \"Fortschrittlich, Langstrecke\", \n    \"name_en-us\": \"Advanced Long Range Heavy Assault Missiles\", \n    \"name_es\": \"Misiles de asalto pesados de largo alcance avanzados\", \n    \"name_fr\": \"Missiles d'assaut lourds à longue portée avancée\", \n    \"name_it\": \"Advanced Long Range Heavy Assault Missiles\", \n    \"name_ja\": \"高性能長距離ヘビーアサルトミサイル\", \n    \"name_ko\": \"장거리 헤비 어썰트 미사일\", \n    \"name_ru\": \"Высокоскоростные\", \n    \"name_zh\": \"高级远距重型攻击导弹\", \n    \"nameID\": 66230, \n    \"parentGroupID\": 968\n  }, \n  \"973\": {\n    \"description_de\": \"Schwere fortschrittliche Anti-Schiff-Angriffslenkwaffen.\", \n    \"description_en-us\": \"Advanced anti-ship heavy assault missiles.\", \n    \"description_es\": \"Misiles de asalto pesados antinaves avanzados.\", \n    \"description_fr\": \"Missiles d'assaut lourds anti-vaisseau à longue portée avancée.\", \n    \"description_it\": \"Advanced anti-ship heavy assault missiles.\", \n    \"description_ja\": \"高性能対艦特化型ヘビーアサルトミサイル。\", \n    \"description_ko\": \"대함 헤비 어썰트 미사일입니다.\", \n    \"description_ru\": \"Малогабаритные ракеты большой мощности, оснащённые усовершенствованными боевыми частями повышенной мощности.\", \n    \"description_zh\": \"高级反舰重型攻击导弹。\", \n    \"descriptionID\": 65157, \n    \"hasTypes\": 1, \n    \"iconID\": 186, \n    \"name_de\": \"Fortschrittlich, Anti-Schiff\", \n    \"name_en-us\": \"Advanced Anti-Ship Heavy Assault Missile\", \n    \"name_es\": \"Misil de asalto pesado antinaves avanzado\", \n    \"name_fr\": \"Missile d'assaut lourd anti-vaisseau avancé\", \n    \"name_it\": \"Advanced Anti-Ship Heavy Assault Missile\", \n    \"name_ja\": \"高性能対艦特化型ヘビーアサルトミサイル\", \n    \"name_ko\": \"대함 헤비 어썰트 미사일\", \n    \"name_ru\": \"Высокомощные\", \n    \"name_zh\": \"高级反舰重型攻击导弹\", \n    \"nameID\": 66231, \n    \"parentGroupID\": 968\n  }, \n  \"974\": {\n    \"description_de\": \"Zum Abfeuern von Angriffsraketen.\", \n    \"description_en-us\": \"For the launching of assault missiles.\", \n    \"description_es\": \"Para lanzar misiles de asalto.\", \n    \"description_fr\": \"Pour lancer des missiles d'assaut.\", \n    \"description_it\": \"For the launching of assault missiles.\", \n    \"description_ja\": \"アサルトミサイルの発射用。\", \n    \"description_ko\": \"어썰트 미사일을 발사하는 런처입니다.\", \n    \"description_ru\": \"Пусковые установки, предназначенные для пуска штурмовых ракет.\", \n    \"description_zh\": \"重型攻击导弹发射器。\", \n    \"descriptionID\": 65112, \n    \"hasTypes\": 1, \n    \"iconID\": 3241, \n    \"name_de\": \"Schwere Angriffswerfer\", \n    \"name_en-us\": \"Heavy Assault Launchers\", \n    \"name_es\": \"Lanzamisiles de asalto pesados\", \n    \"name_fr\": \"Lanceurs d’assaut lourds\", \n    \"name_it\": \"Heavy Assault Launchers\", \n    \"name_ja\": \"ヘビーアサルトランチャー\", \n    \"name_ko\": \"헤비 어썰트 미사일 런처\", \n    \"name_ru\": \"Тяжёлые штурмовые\", \n    \"name_zh\": \"重型攻击导弹发射器\", \n    \"nameID\": 66186, \n    \"parentGroupID\": 140\n  }, \n  \"975\": {\n    \"description_de\": \"Blueprints von Schweren Angriffslenkwaffen.\", \n    \"description_en-us\": \"Blueprints of heavy assault missiles.\", \n    \"description_es\": \"Planos de misiles de asalto pesados.\", \n    \"description_fr\": \"Plans de construction de missiles d'assaut lourds.\", \n    \"description_it\": \"Blueprints of heavy assault missiles.\", \n    \"description_ja\": \"ヘビーアサルトミサイルのブループリント。\", \n    \"description_ko\": \"헤비 어썰트 미사일 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тяжёлых ракет малой дальности.\", \n    \"description_zh\": \"重型攻击导弹蓝图。\", \n    \"descriptionID\": 65079, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schwere Angriffslenkwaffen\", \n    \"name_en-us\": \"Heavy Assault Missiles\", \n    \"name_es\": \"Misiles de asalto pesados\", \n    \"name_fr\": \"Missiles d'assaut lourds\", \n    \"name_it\": \"Heavy Assault Missiles\", \n    \"name_ja\": \"ヘビーアサルトミサイル\", \n    \"name_ko\": \"헤비 어썰트 미사일\", \n    \"name_ru\": \"Тяжёлые штурмовые ракеты\", \n    \"name_zh\": \"重型攻击导弹\", \n    \"nameID\": 66153, \n    \"parentGroupID\": 314\n  }, \n  \"977\": {\n    \"description_de\": \"Illegale Substanzen die temporäre Effekte, aber auch unschöne Nebenwirkungen bieten\", \n    \"description_en-us\": \"Illegal substances that give temporary effects, but with adverse side-effects as well\", \n    \"description_es\": \"Sustancias ilegales que conceden efectos temporales, pero con efectos secundarios adversos.\", \n    \"description_fr\": \"Substances illégales qui produisent des effets temporaires, mais ayant également des effets secondaires indésirables\", \n    \"description_it\": \"Illegal substances that give temporary effects, but with adverse side-effects as well\", \n    \"description_ja\": \"一時的な効果とともに副作用もある違法な物質\", \n    \"description_ko\": \"일시적인 효과를 불러일으키는 불법 약물로 부작용이 발생할 수 있습니다.\", \n    \"description_ru\": \"Запрещённые препараты, позволяющие получить временные положительные эффекты с риском побочного действия\", \n    \"description_zh\": \"可以提供临时性效果的非法物品，有较大的副作用\", \n    \"descriptionID\": 65066, \n    \"hasTypes\": 0, \n    \"iconID\": 3211, \n    \"name_de\": \"Booster\", \n    \"name_en-us\": \"Booster\", \n    \"name_es\": \"Potenciador\", \n    \"name_fr\": \"Booster\", \n    \"name_it\": \"Booster\", \n    \"name_ja\": \"ブースター\", \n    \"name_ko\": \"부스터\", \n    \"name_ru\": \"Боевые стимуляторы\", \n    \"name_zh\": \"增效剂\", \n    \"nameID\": 66140, \n    \"parentGroupID\": 24\n  }, \n  \"979\": {\n    \"description_de\": \"Permanente Veränderung der Projektilwaffeneinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's projectile weapon facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de armas de proyectiles de una nave.\", \n    \"description_fr\": \"Modification permanente des installations d'armes à projectiles d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's projectile weapon facilities.\", \n    \"description_ja\": \"艦船のプロジェクタイル兵器施設の永久改造。\", \n    \"description_ko\": \"함선 발사체 무기 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу огнестрельных орудий корабля.\", \n    \"description_zh\": \"射弹武器永久性改装件。\", \n    \"descriptionID\": 65210, \n    \"hasTypes\": 0, \n    \"iconID\": 3201, \n    \"name_de\": \"Projektilwaffenmodifikationen\", \n    \"name_en-us\": \"Projectile Weapon Rigs\", \n    \"name_es\": \"Complementos de armas de proyectiles\", \n    \"name_fr\": \"Modifications d’arme à projectile\", \n    \"name_it\": \"Projectile Weapon Rigs\", \n    \"name_ja\": \"プロジェクタイル兵器リグ\", \n    \"name_ko\": \"발사체 무기 리그\", \n    \"name_ru\": \"Модификаторы баллистического вооружения\", \n    \"name_zh\": \"射弹武器改装件\", \n    \"nameID\": 66284, \n    \"parentGroupID\": 1111\n  }, \n  \"983\": {\n    \"description_de\": \"Riesige Wolken verschiedener Gase, die man im All antrifft.\", \n    \"description_en-us\": \"Voluminous clouds of various gases that can be found in space.\", \n    \"description_es\": \"Nubes voluminosas de varios gases presentes en el espacio.\", \n    \"description_fr\": \"Immenses nuages flottant dans l'espace, composés de différents gaz.\", \n    \"description_it\": \"Voluminous clouds of various gases that can be found in space.\", \n    \"description_ja\": \"宇宙空間で見つかる様々なガスによる大きな雲。\", \n    \"description_ko\": \"우주에서 발견되는 다양한 가스 성운입니다.\", \n    \"description_ru\": \"В космосе можно найти огромные облака различных газов.\", \n    \"description_zh\": \"可以在太空中找到的由各类气体构成的庞大气团。\", \n    \"descriptionID\": 65168, \n    \"hasTypes\": 1, \n    \"iconID\": 3220, \n    \"name_de\": \"Gaswolken-Booster\", \n    \"name_en-us\": \"Booster Gas Clouds\", \n    \"name_es\": \"Nubes de gas potenciador\", \n    \"name_fr\": \"Nuages de gaz de boosters\", \n    \"name_it\": \"Booster Gas Clouds\", \n    \"name_ja\": \"ブースターガス資源\", \n    \"name_ko\": \"부스터 가스\", \n    \"name_ru\": \"Газы для производства стимуляторов\", \n    \"name_zh\": \"增效剂气云\", \n    \"nameID\": 66242, \n    \"parentGroupID\": 1032\n  }, \n  \"986\": {\n    \"description_de\": \"Erweiterte Munition, entwickelt und produziert von den Fraktionen New Edens\", \n    \"description_en-us\": \"Enhanced ammunition designed and manufactured by the factions of New Eden\", \n    \"description_es\": \"Munición mejorada que han diseñado y fabricado las facciones de Nuevo Edén.\", \n    \"description_fr\": \"Munitions perfectionnées conçues et produites par les factions de New Eden\", \n    \"description_it\": \"Enhanced ammunition designed and manufactured by the factions of New Eden\", \n    \"description_ja\": \"新エデンの勢力が設計し、製造した強化弾薬。\", \n    \"description_ko\": \"뉴에덴 내 다양한 팩션들이 제작한 고성능 탄약입니다.\", \n    \"description_ru\": \"Усовершенствованные боеприпасы, разработанные и произведенные различными фракциями New Eden для внутреннего использования.\", \n    \"description_zh\": \"由新伊甸中各势力生产的加强型弹药。\", \n    \"descriptionID\": 65067, \n    \"hasTypes\": 0, \n    \"iconID\": 1288, \n    \"name_de\": \"Fraktionsmunition\", \n    \"name_en-us\": \"Faction Ammo\", \n    \"name_es\": \"Munición faccionaria\", \n    \"name_fr\": \"Munitions de faction\", \n    \"name_it\": \"Faction Ammo\", \n    \"name_ja\": \"勢力別弾薬\", \n    \"name_ko\": \"팩션 탄약\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力弹药\", \n    \"nameID\": 66141, \n    \"parentGroupID\": 99\n  }, \n  \"987\": {\n    \"description_de\": \"Große Fraktionsmunition für Kanonen der Schlachtschiff-Klasse.\", \n    \"description_en-us\": \"Large faction ammunition, fired by battleship-sized guns.\", \n    \"description_es\": \"Munición faccionaria de gran calibre apta para cañones de naves de tamaño acorazado.\", \n    \"description_fr\": \"Munitions de faction de grande taille tirées, par exemple, par les canons des cuirassés.\", \n    \"description_it\": \"Large faction ammunition, fired by battleship-sized guns.\", \n    \"description_ja\": \"戦艦級銃砲で使用される勢力別の大型弾薬。\", \n    \"description_ko\": \"대형 팩션 탄약으로 배틀쉽급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Фракционные боеприпасы для орудий большого калибра, устанавливаемых на линкоры.\", \n    \"description_zh\": \"大型势力弹药，可以由战列舰级别的武器发射。\", \n    \"descriptionID\": 65135, \n    \"hasTypes\": 1, \n    \"iconID\": 1288, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66209, \n    \"parentGroupID\": 986\n  }, \n  \"988\": {\n    \"description_de\": \"Mittlere Fraktionsmunition für Kanonen der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Medium faction ammunition, fired by cruiser-sized guns\", \n    \"description_es\": \"Munición faccionaria de medio calibre apta para cañones de naves de tamaño crucero.\", \n    \"description_fr\": \"Munitions de faction de taille intermédiaire tirées, par exemple, par les canons des croiseurs\", \n    \"description_it\": \"Medium faction ammunition, fired by cruiser-sized guns\", \n    \"description_ja\": \"巡洋艦級銃砲で使用される中型の勢力別弾薬。\", \n    \"description_ko\": \"중형 팩션 탄약으로 크루저급 함포에서 사용됩니다.\", \n    \"description_ru\": \"Фракционные боеприпасы среднего калибра для орудий, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"中型势力弹药，可以由巡洋舰级别的武器发射。\", \n    \"descriptionID\": 65136, \n    \"hasTypes\": 1, \n    \"iconID\": 1288, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66210, \n    \"parentGroupID\": 986\n  }, \n  \"989\": {\n    \"description_de\": \"Kleine Fraktions-Munition für Kanonen der Fregatten-Klasse.\", \n    \"description_en-us\": \"Small faction ammunition, fired by frigate-sized guns\", \n    \"description_es\": \"Munición faccionaria pequeña apta para cañones de naves de tamaño fragata.\", \n    \"description_fr\": \"Munitions de faction de petite taille tirées, par exemple, par les canons des frégates\", \n    \"description_it\": \"Small faction ammunition, fired by frigate-sized guns\", \n    \"description_ja\": \"フリゲート級銃砲で使用される小型勢力別弾薬。\", \n    \"description_ko\": \"소형 팩션 탄약으로 프리깃급 함선에서 사용됩니다.\", \n    \"description_ru\": \"Фракционные боеприпасы для орудий малого калибра, устанавливаемых на фрегаты.\", \n    \"description_zh\": \"小型势力弹药，可以由护卫舰级别的武器发射。\", \n    \"descriptionID\": 65137, \n    \"hasTypes\": 1, \n    \"iconID\": 1288, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66211, \n    \"parentGroupID\": 986\n  }, \n  \"990\": {\n    \"description_de\": \"Verbesserte Munition, erdacht und hergestellt von den Fraktionen New Edens\", \n    \"description_en-us\": \"Enhanced ammunition designed and manufactured by the factions of New Eden\", \n    \"description_es\": \"Munición mejorada que han diseñado y fabricado las facciones de Nuevo Edén.\", \n    \"description_fr\": \"Munitions perfectionnées conçues et produites par les factions de New Eden\", \n    \"description_it\": \"Enhanced ammunition designed and manufactured by the factions of New Eden\", \n    \"description_ja\": \"新エデンの勢力が設計し、製造した強化弾薬。\", \n    \"description_ko\": \"뉴에덴 내 다양한 팩션들이 제작한 고성능 탄약입니다.\", \n    \"description_ru\": \"Усовершенствованные боеприпасы, разработанные и произведенные различными фракциями New Eden для внутреннего использования.\", \n    \"description_zh\": \"由新伊甸中各个势力生产的加强型弹药。\", \n    \"descriptionID\": 65141, \n    \"hasTypes\": 0, \n    \"iconID\": 1313, \n    \"name_de\": \"Fraktionsmunition\", \n    \"name_en-us\": \"Faction Charges\", \n    \"name_es\": \"Cargas faccionarias\", \n    \"name_fr\": \"Charges de faction\", \n    \"name_it\": \"Faction Charges\", \n    \"name_ja\": \"勢力別弾薬\", \n    \"name_ko\": \"팩션 하이브리드탄\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力弹药\", \n    \"nameID\": 66215, \n    \"parentGroupID\": 100\n  }, \n  \"991\": {\n    \"description_de\": \"Große Faction-Issue-Hybridmunition für Kanonen der Schlachtschiff-Klasse.\", \n    \"description_en-us\": \"Large faction issue hybrid shells, fired by battleship-sized guns.\", \n    \"description_es\": \"Proyectiles híbridos faccionarios de gran calibre aptos para cañones de naves de tamaño acorazado.\", \n    \"description_fr\": \"Obus hybrides de faction de grande taille tirés, par exemple, par les canons des cuirassés.\", \n    \"description_it\": \"Large faction issue hybrid shells, fired by battleship-sized guns.\", \n    \"description_ja\": \"戦艦級の銃砲で使用される勢力別仕様の大型ハイブリッド弾。\", \n    \"description_ko\": \"대형 팩션 하이브리드 포탄으로 배틀쉽급 함포에서 사용되고 있습니다.\", \n    \"description_ru\": \"Фракционные заряды для гибридных турелей большого калибра, устанавливаемых на линкоры.\", \n    \"description_zh\": \"大型势力混合弹药，可以由战列舰级别的武器发射。\", \n    \"descriptionID\": 65140, \n    \"hasTypes\": 1, \n    \"iconID\": 1313, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66214, \n    \"parentGroupID\": 990\n  }, \n  \"992\": {\n    \"description_de\": \"Mittlere Faction-Issue-Hybridmunition für Kanonen der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Medium faction issue hybrid shells, fired by cruiser-sized guns.\", \n    \"description_es\": \"Proyectiles híbridos faccionarios de medio calibre aptos para cañones de naves de tamaño crucero.\", \n    \"description_fr\": \"Obus hybrides de faction de taille moyenne tirés, par exemple, par les canons des croiseurs.\", \n    \"description_it\": \"Medium faction issue hybrid shells, fired by cruiser-sized guns.\", \n    \"description_ja\": \"巡洋艦級銃砲で使用される勢力別仕様の中型ハイブリッド弾。\", \n    \"description_ko\": \"중형 팩션 하이브리드 포탄으로 크루저급 함포에서 사용되고 있습니다.\", \n    \"description_ru\": \"Фракционные гибридные снаряды среднего калибра для орудий, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"中型势力混合弹药，可以由巡洋舰级别的武器发射。\", \n    \"descriptionID\": 65142, \n    \"hasTypes\": 1, \n    \"iconID\": 1313, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66216, \n    \"parentGroupID\": 990\n  }, \n  \"993\": {\n    \"description_de\": \"Kleine Fraktions-Hybridmunition für Kanonen der Fregatten-Klasse.\", \n    \"description_en-us\": \"Small faction issue hybrid shells, fired by frigate-sized guns.\", \n    \"description_es\": \"Proyectiles híbridos faccionarios de pequeño calibre aptos para cañones de naves de tamaño fragata.\", \n    \"description_fr\": \"Obus hybrides de faction de petite taille tirés, par exemple, par les canons des frégates.\", \n    \"description_it\": \"Small faction issue hybrid shells, fired by frigate-sized guns.\", \n    \"description_ja\": \"フリゲート級銃砲で使用される勢力別仕様の小型ハイブリッド弾。\", \n    \"description_ko\": \"소형 팩션 하이브리드 포탄으로 프리깃급 함포에서 사용되고 있습니다.\", \n    \"description_ru\": \"Фракционные гибридные боеприпасы для орудий малого калибра, устанавливаемых на фрегаты.\", \n    \"description_zh\": \"小型势力混合弹药，可以由护卫舰级别的武器发射。\", \n    \"descriptionID\": 65143, \n    \"hasTypes\": 1, \n    \"iconID\": 1313, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66217, \n    \"parentGroupID\": 990\n  }, \n  \"994\": {\n    \"description_de\": \"Verbesserte Frequenzkristalle, erdacht und hergestellt von den Fraktionen New Edens\", \n    \"description_en-us\": \"Enhanced frequenzy crystals designed and manufactured by the factions of New Eden\", \n    \"description_es\": \"Cristales de frecuencia mejorados que han diseñado y fabricado las facciones de Nuevo Edén.\", \n    \"description_fr\": \"Cristaux de fréquence perfectionnées conçus et produits par les factions de New Eden\", \n    \"description_it\": \"Enhanced frequenzy crystals designed and manufactured by the factions of New Eden\", \n    \"description_ja\": \"新エデンの勢力がが設計し、製造した強化フリーケンシークリスタル。\", \n    \"description_ko\": \"뉴에덴 내 다양한 팩션들이 제작한 고성능 프리퀀시 크리스탈입니다.\", \n    \"description_ru\": \"Усовершенствованные частотные кристаллы, разработанные и произведенные различными фракциями New Eden для внутреннего использования.\", \n    \"description_zh\": \"由新伊甸中各个势力生产的加强型频率晶体。\", \n    \"descriptionID\": 65145, \n    \"hasTypes\": 0, \n    \"iconID\": 1141, \n    \"name_de\": \"Fraktionskristalle\", \n    \"name_en-us\": \"Faction Crystals\", \n    \"name_es\": \"Cristales faccionarios\", \n    \"name_fr\": \"Cristaux de faction\", \n    \"name_it\": \"Faction Crystals\", \n    \"name_ja\": \"勢力別クリスタル\", \n    \"name_ko\": \"팩션 크리스탈\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力晶体\", \n    \"nameID\": 66219, \n    \"parentGroupID\": 101\n  }, \n  \"995\": {\n    \"description_de\": \"Große Faction-Issue-Frequenzkristalle für Laser der Schlachtschiff-Klasse.\", \n    \"description_en-us\": \"Large faction issue frequenzy crystals, for use with battleship-size lasers.\", \n    \"description_es\": \"Cristales de frecuencia grandes creados por una facción para usarlos con láseres de tamaño acorazado.\", \n    \"description_fr\": \"Grands cristaux de fréquence de faction utilisés, par exemple, sur les lasers des cuirassés.\", \n    \"description_it\": \"Large faction issue frequenzy crystals, for use with battleship-size lasers.\", \n    \"description_ja\": \"戦艦級レーザーで使用される勢力別仕様の大型フリーケンシークリスタル。\", \n    \"description_ko\": \"대형 팩션 프리퀀시 크리스탈로 배틀쉽급 함선의 레이저 무기에서 사용되고 있습니다.\", \n    \"description_ru\": \"Фракционные кристаллы для лазеров большого калибра, устанавливаемых на линкоры.\", \n    \"description_zh\": \"大型势力频率晶体，可以用于战列舰级别的激光器。\", \n    \"descriptionID\": 65146, \n    \"hasTypes\": 1, \n    \"iconID\": 1141, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66220, \n    \"parentGroupID\": 994\n  }, \n  \"996\": {\n    \"description_de\": \"Mittlere Faction-Issue-Frequenzkristalle für Schiffe der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Medium faction issue frequenzy crystals, for use with cruiser-size lasers.\", \n    \"description_es\": \"Cristales de frecuencia medianos creados por una facción para usarlos con láseres de tamaño crucero.\", \n    \"description_fr\": \"Cristaux de fréquence de faction de taille intermédiaire utilisés, par exemple, sur les lasers des cuirassés.\", \n    \"description_it\": \"Medium faction issue frequenzy crystals, for use with cruiser-size lasers.\", \n    \"description_ja\": \"巡洋艦級レーザーで使用される勢力別仕様の中型フリーケンシークリスタル。\", \n    \"description_ko\": \"중형 팩션 프리퀀시 크리스탈로 크루저급 함선의 레이저 무기에서 사용되고 있습니다.\", \n    \"description_ru\": \"Фракционные частотные кристаллы для лазеров, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"中型势力频率晶体，可以用于巡洋舰级别的激光器。\", \n    \"descriptionID\": 65147, \n    \"hasTypes\": 1, \n    \"iconID\": 1141, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66221, \n    \"parentGroupID\": 994\n  }, \n  \"997\": {\n    \"description_de\": \"Kleine Faction-Issue-Frequenzkristalle für Laser der Fregatten-Klasse.\", \n    \"description_en-us\": \"Small faction issue frequenzy crystals, for use with frigate-size lasers.\", \n    \"description_es\": \"Cristales de frecuencia pequeños creados por una facción para usarlos con láseres de tamaño fragata.\", \n    \"description_fr\": \"Petits cristaux de fréquence de faction de taille intermédiaire utilisés, par exemple, sur les lasers des frégates.\", \n    \"description_it\": \"Small faction issue frequenzy crystals, for use with frigate-size lasers.\", \n    \"description_ja\": \"フリゲート級レーザーで使用される小型の勢力別仕様フリーケンシークリスタル。\", \n    \"description_ko\": \"소형 팩션 프리퀀시 크리스탈로 프리깃급 함선의 레이저 무기에서 사용되고 있습니다.\", \n    \"description_ru\": \"Фракционные кристаллы для лазеров малого калибра, устанавливаемых на фрегаты.\", \n    \"description_zh\": \"小型势力频率晶体，可以用于护卫舰级别的激光器。\", \n    \"descriptionID\": 65148, \n    \"hasTypes\": 1, \n    \"iconID\": 1141, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66222, \n    \"parentGroupID\": 994\n  }, \n  \"998\": {\n    \"description_de\": \"Faction Issue-leichte Raketen.\", \n    \"description_en-us\": \"Faction issue light missiles.\", \n    \"description_es\": \"Misiles ligeros de facción.\", \n    \"description_fr\": \"Missiles légers de faction.\", \n    \"description_it\": \"Faction issue light missiles.\", \n    \"description_ja\": \"勢力別仕様のライトミサイル。\", \n    \"description_ko\": \"팩션 라이트 미사일입니다.\", \n    \"description_ru\": \"Легкие ракеты, производимые отдельными фракциями.\", \n    \"description_zh\": \"势力轻型导弹。\", \n    \"descriptionID\": 65150, \n    \"hasTypes\": 1, \n    \"iconID\": 192, \n    \"name_de\": \"Fraktion\", \n    \"name_en-us\": \"Faction Light Missiles\", \n    \"name_es\": \"Misiles ligeros de facción\", \n    \"name_fr\": \"Missiles légers de faction\", \n    \"name_it\": \"Faction Light Missiles\", \n    \"name_ja\": \"勢力別ライトミサイル\", \n    \"name_ko\": \"팩션 라이트 미사일\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力轻型导弹\", \n    \"nameID\": 66224, \n    \"parentGroupID\": 117\n  }, \n  \"999\": {\n    \"description_de\": \"Faction Issue-Raketen.\", \n    \"description_en-us\": \"Faction issue rockets.\", \n    \"description_es\": \"Cohetes creados por las facciones.\", \n    \"description_fr\": \"Roquettes de faction.\", \n    \"description_it\": \"Faction issue rockets.\", \n    \"description_ja\": \"勢力別仕様のロケット。\", \n    \"description_ko\": \"팩션에서 제작한 로켓입니다.\", \n    \"description_ru\": \"Ракеты ближнего боя, производимые отдельными фракциями.\", \n    \"description_zh\": \"势力火箭。\", \n    \"descriptionID\": 65151, \n    \"hasTypes\": 1, \n    \"iconID\": 1352, \n    \"name_de\": \"Fraktion\", \n    \"name_en-us\": \"Faction Rockets\", \n    \"name_es\": \"Cohetes faccionarios\", \n    \"name_fr\": \"Roquettes de faction\", \n    \"name_it\": \"Faction Rockets\", \n    \"name_ja\": \"勢力別ロケット\", \n    \"name_ko\": \"팩션 로켓\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力火箭\", \n    \"nameID\": 66225, \n    \"parentGroupID\": 118\n  }, \n  \"1000\": {\n    \"description_de\": \"Faction Issue-Torpedos.\", \n    \"description_en-us\": \"Faction issue torpedoes.\", \n    \"description_es\": \"Torpedos creados por las facciones.\", \n    \"description_fr\": \"Torpilles de faction.\", \n    \"description_it\": \"Faction issue torpedoes.\", \n    \"description_ja\": \"勢力別仕様のトルピード。\", \n    \"description_ko\": \"팩션에서 제작한 토피도입니다.\", \n    \"description_ru\": \"Торпеды, производимые отдельными фракциями.\", \n    \"description_zh\": \"势力鱼雷。\", \n    \"descriptionID\": 65152, \n    \"hasTypes\": 1, \n    \"iconID\": 1349, \n    \"name_de\": \"Fraktion\", \n    \"name_en-us\": \"Faction Torpedoes\", \n    \"name_es\": \"Torpedos faccionarios\", \n    \"name_fr\": \"Torpilles de faction\", \n    \"name_it\": \"Faction Torpedoes\", \n    \"name_ja\": \"勢力別トルピード\", \n    \"name_ko\": \"팩션 토피도\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力鱼雷\", \n    \"nameID\": 66226, \n    \"parentGroupID\": 387\n  }, \n  \"1001\": {\n    \"description_de\": \"Faction Issue-Cruise Missiles.\", \n    \"description_en-us\": \"Faction issue cruise missiles.\", \n    \"description_es\": \"Misiles de crucero creados por las facciones.\", \n    \"description_fr\": \"Missiles de croisière de faction.\", \n    \"description_it\": \"Faction issue cruise missiles.\", \n    \"description_ja\": \"勢力別仕様のクルーズミサイル。\", \n    \"description_ko\": \"팩션에서 제작한 크루즈 미사일입니다.\", \n    \"description_ru\": \"Фракционные ракеты дальнего боя.\", \n    \"description_zh\": \"势力巡航导弹。\", \n    \"descriptionID\": 65153, \n    \"hasTypes\": 1, \n    \"iconID\": 184, \n    \"name_de\": \"Fraktion\", \n    \"name_en-us\": \"Faction Cruise Missiles\", \n    \"name_es\": \"Misiles de crucero faccionarios\", \n    \"name_fr\": \"Missiles de croisière de faction\", \n    \"name_it\": \"Faction Cruise Missiles\", \n    \"name_ja\": \"勢力別クルーズミサイル\", \n    \"name_ko\": \"팩션 크루즈 미사일\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力巡航导弹\", \n    \"nameID\": 66227, \n    \"parentGroupID\": 580\n  }, \n  \"1002\": {\n    \"description_de\": \"Faction Issue-schwere Raketen.\", \n    \"description_en-us\": \"Faction issue heavy missiles.\", \n    \"description_es\": \"Misiles pesados creados por las facciones.\", \n    \"description_fr\": \"Missiles lourds de faction.\", \n    \"description_it\": \"Faction issue heavy missiles.\", \n    \"description_ja\": \"勢力別仕様のヘビーミサイル。\", \n    \"description_ko\": \"팩션에서 제작한 헤비 미사일입니다.\", \n    \"description_ru\": \"Тяжелые ракеты, производимые отдельными фракциями.\", \n    \"description_zh\": \"势力重型导弹。\", \n    \"descriptionID\": 65154, \n    \"hasTypes\": 1, \n    \"iconID\": 186, \n    \"name_de\": \"Fraktion\", \n    \"name_en-us\": \"Faction Heavy Missiles\", \n    \"name_es\": \"Misiles pesados faccionarios\", \n    \"name_fr\": \"Missiles lourds de faction\", \n    \"name_it\": \"Faction Heavy Missiles\", \n    \"name_ja\": \"勢力別ヘビーミサイル\", \n    \"name_ko\": \"팩션 헤비 미사일\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力重型导弹\", \n    \"nameID\": 66228, \n    \"parentGroupID\": 581\n  }, \n  \"1003\": {\n    \"description_de\": \"Schwere fraktionsspezifische Angriffslenkwaffen.\", \n    \"description_en-us\": \"Faction issue heavy assault missiles.\", \n    \"description_es\": \"Misiles de asalto pesados creados por las facciones.\", \n    \"description_fr\": \"Missiles d'assaut lourds de faction.\", \n    \"description_it\": \"Faction issue heavy assault missiles.\", \n    \"description_ja\": \"勢力別仕様のヘビーアサルトミサイル。\", \n    \"description_ko\": \"팩션에서 제작한 헤비 어썰트 미사일입니다.\", \n    \"description_ru\": \"Малогабаритные ракеты большой мощности, выпускаемые по заказу вооруженных сил государств галактики и различных пиратских организаций.\", \n    \"description_zh\": \"势力重型攻击导弹。\", \n    \"descriptionID\": 65158, \n    \"hasTypes\": 1, \n    \"iconID\": 186, \n    \"name_de\": \"Fraktion\", \n    \"name_en-us\": \"Faction Heavy Assault Missiles\", \n    \"name_es\": \"Misiles de asalto pesados faccionarios\", \n    \"name_fr\": \"Missiles d'assaut lourds de faction\", \n    \"name_it\": \"Faction Heavy Assault Missiles\", \n    \"name_ja\": \"勢力別ヘビーアサルトミサイル\", \n    \"name_ko\": \"팩션 헤비 어썰트 미사일\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力重型攻击导弹\", \n    \"nameID\": 66232, \n    \"parentGroupID\": 968\n  }, \n  \"1004\": {\n    \"description_de\": \"Von Dreadnought-Kanonen und stationären Verteidigungssystemen abgefeuert.\", \n    \"description_en-us\": \"Fired by dreadnaught-sized guns and stationary defense systems.\", \n    \"description_es\": \"Aptos para cañones de naves de tamaño superacorazado y sistemas defensivos estacionarios.\", \n    \"description_fr\": \"Projectiles utilisés, par exemple, sur les canons des supercuirassés et sur les systèmes de défense stationnaires.\", \n    \"description_it\": \"Fired by dreadnaught-sized guns and stationary defense systems.\", \n    \"description_ja\": \"攻城艦級銃砲および常備防衛軍システムから発射される。\", \n    \"description_ko\": \"드레드노트급 함포 및 고정 방어 시스템에서 사용합니다.\", \n    \"description_ru\": \"Используются в орудиях дредноутов и стационарных оборонительных систем.\", \n    \"description_zh\": \"由无畏舰级别武器或者固定防御系统发射。\", \n    \"descriptionID\": 65139, \n    \"hasTypes\": 1, \n    \"iconID\": 1313, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 66213, \n    \"parentGroupID\": 990\n  }, \n  \"1006\": {\n    \"description_de\": \"Von Dreadnought-Kanonen und stationären Verteidigungssystemen abgefeuert.\", \n    \"description_en-us\": \"Fired by dreadnaught-sized guns and stationary defense systems.\", \n    \"description_es\": \"Aptos para cañones de naves de tamaño superacorazado y sistemas defensivos estacionarios.\", \n    \"description_fr\": \"Projectiles utilisés, par exemple, sur les canons des supercuirassés et sur les systèmes de défense stationnaires.\", \n    \"description_it\": \"Fired by dreadnaught-sized guns and stationary defense systems.\", \n    \"description_ja\": \"攻城艦級銃砲および常備防衛軍システムから発射される。\", \n    \"description_ko\": \"드레드노트급 함포 및 고정 방어 시스템에서 사용합니다.\", \n    \"description_ru\": \"Используются в орудиях дредноутов и стационарных оборонительных систем.\", \n    \"description_zh\": \"由无畏舰级别武器或者固定防御系统发射。\", \n    \"descriptionID\": 65138, \n    \"hasTypes\": 1, \n    \"iconID\": 1288, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 66212, \n    \"parentGroupID\": 986\n  }, \n  \"1007\": {\n    \"description_de\": \"Faction-Issue-Frequenz-Kristalle für Dreadnought-Laser und stationäre Verteidigungssysteme.\", \n    \"description_en-us\": \"Faction issue frequenzy crystals for use with dreadnought-sized lasers and stationary defense systems.\", \n    \"description_es\": \"Cristales de frecuencia faccionarios para usarlos con láseres de naves de tamaño superacorazado y sistemas defensivos estacionarios.\", \n    \"description_fr\": \"Cristaux de fréquence de faction utilisés, par exemple, sur les canons des dreadnoughts et sur les systèmes de défense stationnaires.\", \n    \"description_it\": \"Faction issue frequenzy crystals for use with dreadnought-sized lasers and stationary defense systems.\", \n    \"description_ja\": \"攻城艦級レーザーおよび固定型防衛システムで使用される勢力別仕様のフリーケンシークリスタル。\", \n    \"description_ko\": \"드레드노트급 함선 및 고정형 방어 시설에서 사용하는 레이저의 팩션 프리퀀시 크리스탈입니다.\", \n    \"description_ru\": \"Фракционные частотные кристаллы для лазеров дредноутов и стационарных оборонительных систем.\", \n    \"description_zh\": \"无畏舰级别武器或者固定防御系统所使用的势力频率晶体。\", \n    \"descriptionID\": 65149, \n    \"hasTypes\": 1, \n    \"iconID\": 1141, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 66223, \n    \"parentGroupID\": 994\n  }, \n  \"1008\": {\n    \"description_de\": \"Blueprints für Frachtcontainer.\", \n    \"description_en-us\": \"Blueprints of Cargo Containers.\", \n    \"description_es\": \"Planos de contenedores de carga.\", \n    \"description_fr\": \"Plans de construction de conteneurs de fret.\", \n    \"description_it\": \"Blueprints of Cargo Containers.\", \n    \"description_ja\": \"カーゴコンテナのブループリント。\", \n    \"description_ko\": \"화물 컨테이너 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи грузовых контейнеров.\", \n    \"description_zh\": \"货柜蓝图。\", \n    \"descriptionID\": 65301, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Frachtcontainer\", \n    \"name_en-us\": \"Cargo Containers\", \n    \"name_es\": \"Contenedores de carga\", \n    \"name_fr\": \"Conteneurs de fret\", \n    \"name_it\": \"Cargo Containers\", \n    \"name_ja\": \"カーゴコンテナ\", \n    \"name_ko\": \"화물 컨테이너\", \n    \"name_ru\": \"Грузовые контейнеры\", \n    \"name_zh\": \"货柜\", \n    \"nameID\": 66375, \n    \"parentGroupID\": 406\n  }, \n  \"1009\": {\n    \"description_de\": \"Ein Starbase-Areal, das den Energiespeicher feindlicher Schiffe im Gebiet neutralisiert.\", \n    \"description_en-us\": \"A starbase array designed to neutralize the capacitor of hostile ships in the area.\", \n    \"description_es\": \"Disposición de una base estelar diseñada para neutralizar el condensador de las naves hostiles del perímetro.\", \n    \"description_fr\": \"Module de base stellaire visant à neutraliser le capaciteur des vaisseaux hostiles du secteur.\", \n    \"description_it\": \"A starbase array designed to neutralize the capacitor of hostile ships in the area.\", \n    \"description_ja\": \"エリア内にいる敵対する艦船のキャパシタを無効化するスターベース施設。\", \n    \"description_ko\": \"범위 내 적 함선의 캐패시터를 무력하기 위해 건설된 스타베이스 시설입니다.\", \n    \"description_ru\": \"Стационарные элементы звездных баз, созданные для нейтрализации конденсаторов кораблей противника.\", \n    \"description_zh\": \"用来中和附近敌对舰船能量的母星阵列。\", \n    \"descriptionID\": 65234, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Energieneutralisierungsbatterien\", \n    \"name_en-us\": \"Energy Neutralization Batteries\", \n    \"name_es\": \"Baterías de neutralización de energía\", \n    \"name_fr\": \"Batteries de neutralisation d'énergie\", \n    \"name_it\": \"Energy Neutralization Batteries\", \n    \"name_ja\": \"エネルギーニュートラライゼーション砲台\", \n    \"name_ko\": \"에너지 뉴트럴라이제이션 포탑\", \n    \"name_ru\": \"Стационарные нейтрализаторы заряда накопителей\", \n    \"name_zh\": \"能量中和炮塔\", \n    \"nameID\": 66308, \n    \"parentGroupID\": 480\n  }, \n  \"1010\": {\n    \"description_de\": \"Eine systemumspannende Einrichtung zur Informationsgewinnung.\", \n    \"description_en-us\": \"A system-wide intelligence gathering array.\", \n    \"description_es\": \"Red de recopilación de datos de todo un sistema.\", \n    \"description_fr\": \"Module collectant les renseignements de tout le système.\", \n    \"description_it\": \"A system-wide intelligence gathering array.\", \n    \"description_ja\": \"システム全体の情報を収集する施設。\", \n    \"description_ko\": \"항성계 내 정보를 수집할 수 있는 시설입니다.\", \n    \"description_ru\": \"Структура, предназначенная для сбора и анализа сведений в рамках звездной системы.\", \n    \"description_zh\": \"恒星系范围的情报收集阵列。\", \n    \"descriptionID\": 65235, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Systemscananlage\", \n    \"name_en-us\": \"System Scanning Array\", \n    \"name_es\": \"Red de escaneo de sistemas\", \n    \"name_fr\": \"Module de balayage système\", \n    \"name_it\": \"System Scanning Array\", \n    \"name_ja\": \"システムスキャンアレイ\", \n    \"name_ko\": \"항성계 스캔 시설\", \n    \"name_ru\": \"Блоки системной разведки\", \n    \"name_zh\": \"星系扫描阵列\", \n    \"nameID\": 66309, \n    \"parentGroupID\": 1285\n  }, \n  \"1011\": {\n    \"description_de\": \"Eine Lichtbrücke, welche die kalte Leere zwischen den Sternen überspannt.\", \n    \"description_en-us\": \"A bridge of light, spanning the cold and empty void between the stars.\", \n    \"description_es\": \"Un puente de luz que salva el frío vacío del universo sideral.\", \n    \"description_fr\": \"Passerelle lumineuse traversant le vide froid dans lequel sont plongés les étoiles.\", \n    \"description_it\": \"A bridge of light, spanning the cold and empty void between the stars.\", \n    \"description_ja\": \"星の間の冷たく空虚な空間に広がる光の橋。\", \n    \"description_ko\": \"항성계 사이의 방대한 빈 공간 사이를 빠르게 이동할 수 있는 점프 브릿지입니다.\", \n    \"description_ru\": \"Световой мост, пересекающий ледяную бездну меж звездами.\", \n    \"description_zh\": \"一束遥远的光芒，跨越寒冷空寂的宇宙。\", \n    \"descriptionID\": 65236, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Sprungbrücke\", \n    \"name_en-us\": \"Jump Bridge\", \n    \"name_es\": \"Puente de salto\", \n    \"name_fr\": \"Pont hyperspatial\", \n    \"name_it\": \"Jump Bridge\", \n    \"name_ja\": \"ジャンプブリッジ\", \n    \"name_ko\": \"점프 브릿지\", \n    \"name_ru\": \"Генераторы гипермостов\", \n    \"name_zh\": \"跳跃桥接\", \n    \"nameID\": 66310, \n    \"parentGroupID\": 1285\n  }, \n  \"1012\": {\n    \"description_de\": \"Der Riegel und Schlüssel zum lichtgeführten Verkehr in jedem System.\", \n    \"description_en-us\": \"The lock and key to a system's highway of cynosural passage.\", \n    \"description_es\": \"La clave para controlar el tráfico cinosural de un sistema.\", \n    \"description_fr\": \"Clé ouvrant la voie rapide d'un passage cynosural d'un système.\", \n    \"description_it\": \"The lock and key to a system's highway of cynosural passage.\", \n    \"description_ja\": \"サイノシュラル移動を行うシステムハイウェイへの錠と鍵。\", \n    \"description_ko\": \"항성계 내 모든 사이노슈럴 활동을 제어할 수 있는 시설입니다.\", \n    \"description_ru\": \"Замок и ключ для путеводных трасс в системе.\", \n    \"description_zh\": \"诱导力场的障碍。\", \n    \"descriptionID\": 65237, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Anziehungssystem-Jammer\", \n    \"name_en-us\": \"Cynosural System Jammer\", \n    \"name_es\": \"Perturbador cinosural de sistemas\", \n    \"name_fr\": \"Brouilleur de système cynosural\", \n    \"name_it\": \"Cynosural System Jammer\", \n    \"name_ja\": \"サイノシュラルシステムジャマー\", \n    \"name_ko\": \"사이노슈럴 시스템 재머\", \n    \"name_ru\": \"Генераторы помех приводным маякам\", \n    \"name_zh\": \"诱导力场系统干扰器\", \n    \"nameID\": 66311, \n    \"parentGroupID\": 1285\n  }, \n  \"1013\": {\n    \"description_de\": \"Ein Leuchtturm im Meer des Nichts, der mit seinem Anziehungslicht weitab operierende Schiffe lotst.\", \n    \"description_en-us\": \"A lighthouse in the sea of nothing, casting its cynosural light out to far-off ships.\", \n    \"description_es\": \"Un faro en el mar de la nada que emite su luz cinosural hacia naves lejanas.\", \n    \"description_fr\": \"Phare dans la mer du néant, émettant sa lumière cynosurale vers les vaisseaux au loin.\", \n    \"description_it\": \"A lighthouse in the sea of nothing, casting its cynosural light out to far-off ships.\", \n    \"description_ja\": \"何もない海に向かって、遠くの船からも見えるように光を投げかける灯台。\", \n    \"description_ko\": \"우주의 어둠 속에서 사이노슈럴 광선으로 항로를 밝혀주는 등대입니다.\", \n    \"description_ru\": \"Маяк среди океана пустоты, манящий далекие корабли своим путеводным огнем.\", \n    \"description_zh\": \"黑暗中的灯塔，将诱导力场投向遥远的舰队。\", \n    \"descriptionID\": 65238, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Anziehungsgeneratoranlage\", \n    \"name_en-us\": \"Cynosural Generator Array\", \n    \"name_es\": \"Sistemas generadores cinosurales\", \n    \"name_fr\": \"Module de génération cynosurale\", \n    \"name_it\": \"Cynosural Generator Array\", \n    \"name_ja\": \"サイノシュラル生成施設\", \n    \"name_ko\": \"사이노슈럴 생성기\", \n    \"name_ru\": \"Стационарные приводные маяки\", \n    \"name_zh\": \"诱导力场发生阵列\", \n    \"nameID\": 66312, \n    \"parentGroupID\": 1285\n  }, \n  \"1014\": {\n    \"description_de\": \"Große Bombenwerfer für Tarnbomber zur Platzierung von Bomben.\", \n    \"description_en-us\": \"Large launchers, designed for stealth bombers for bomb deployment.\", \n    \"description_es\": \"Lanzadores de gran calibre diseñados para desplegar bombas desde bombarderos sigilosos.\", \n    \"description_fr\": \"Grands lanceurs, conçus pour le déploiement de bombes par des bombardiers.\", \n    \"description_it\": \"Large launchers, designed for stealth bombers for bomb deployment.\", \n    \"description_ja\": \"ステルス爆撃艦が爆弾を発射するための大型ランチャー。\", \n    \"description_ko\": \"스텔 폭격기에 탑재되는 대형 런처입니다.\", \n    \"description_ru\": \"Большие пусковые установки, предназначенные для использования на малозаметных бомбардировщиках.\", \n    \"description_zh\": \"大型发射器，专为投放炸弹的隐形轰炸舰设计。\", \n    \"descriptionID\": 65113, \n    \"hasTypes\": 1, \n    \"iconID\": 2677, \n    \"name_de\": \"Bombenwerfer\", \n    \"name_en-us\": \"Bomb Launchers\", \n    \"name_es\": \"Lanzabombas\", \n    \"name_fr\": \"Lanceurs de bombes\", \n    \"name_it\": \"Bomb Launchers\", \n    \"name_ja\": \"ボムランチャー\", \n    \"name_ko\": \"폭탄 런처\", \n    \"name_ru\": \"Бомбомёты\", \n    \"name_zh\": \"炸弹发射器\", \n    \"nameID\": 66187, \n    \"parentGroupID\": 10\n  }, \n  \"1015\": {\n    \"description_de\": \"Große Flächenwaffen, die von Tarnbombern genutzt werden.\", \n    \"description_en-us\": \"Large, area of effect weapons, used by stealth bombers\", \n    \"description_es\": \"Armas con radio de acción y gran calibre para bombarderos sigilosos.\", \n    \"description_fr\": \"Grandes armes à zone d'effet, utilisées par les bombardiers furtifs\", \n    \"description_it\": \"Large, area of effect weapons, used by stealth bombers\", \n    \"description_ja\": \"ステルス爆撃機が使用する大型の範囲攻撃兵器\", \n    \"description_ko\": \"스텔스 폭격기에서 사용하는 광역 타격 무기입니다.\", \n    \"description_ru\": \"Мощное оружие с большой площадью поражения, используемое ударно-диверсионными бомбардировщиками\", \n    \"description_zh\": \"大型范围效果武器，供隐形轰炸舰使用\", \n    \"descriptionID\": 65159, \n    \"hasTypes\": 1, \n    \"iconID\": 3281, \n    \"name_de\": \"Bomben\", \n    \"name_en-us\": \"Bombs\", \n    \"name_es\": \"Bombas\", \n    \"name_fr\": \"Bombes\", \n    \"name_it\": \"Bombs\", \n    \"name_ja\": \"ボム\", \n    \"name_ko\": \"폭탄\", \n    \"name_ru\": \"Бомбы\", \n    \"name_zh\": \"炸弹\", \n    \"nameID\": 66233, \n    \"parentGroupID\": 11\n  }, \n  \"1016\": {\n    \"description_de\": \"Blueprints von Bomben.\", \n    \"description_en-us\": \"Blueprints of bombs.\", \n    \"description_es\": \"Planos de bombas.\", \n    \"description_fr\": \"Plans de construction de bombes.\", \n    \"description_it\": \"Blueprints of bombs.\", \n    \"description_ja\": \"爆弾のブループリント。\", \n    \"description_ko\": \"폭탄 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи бомб.\", \n    \"description_zh\": \"炸弹蓝图。\", \n    \"descriptionID\": 65080, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Bomben\", \n    \"name_en-us\": \"Bombs\", \n    \"name_es\": \"Bombas\", \n    \"name_fr\": \"Bombes\", \n    \"name_it\": \"Bombs\", \n    \"name_ja\": \"ボム\", \n    \"name_ko\": \"폭탄\", \n    \"name_ru\": \"Бомбы\", \n    \"name_zh\": \"炸弹\", \n    \"nameID\": 66154, \n    \"parentGroupID\": 211\n  }, \n  \"1018\": {\n    \"description_de\": \"Reparieren Sie die Hüllen Ihrer Verbündeten in Reichweite - immer praktisch, wenn es einmal wieder ziemlich eng geworden ist.\", \n    \"description_en-us\": \"Repair the hulls of your allies at range, always handy after those close call situations.\", \n    \"description_es\": \"Repara a distancia el casco de tus aliados, siempre útil después de vivir situaciones peliagudas.\", \n    \"description_fr\": \"Réparent les coques de vos alliés à portée, très pratique pour les situations critiques.\", \n    \"description_it\": \"Repair the hulls of your allies at range, always handy after those close call situations.\", \n    \"description_ja\": \"範囲内にいる味方の艦船の船体を修理する。危機的な状況には欠かせない。\", \n    \"description_ko\": \"원격 선체수리는 위급한 상황에서 많은 도움이 됩니다.\", \n    \"description_ru\": \"Ремонтирует корпус союзного корабля на расстоянии, что бывает весьма полезно в пылу боя.\", \n    \"description_zh\": \"为你的盟友维修受损的舰体结构，是危急时刻过后的好帮手。\", \n    \"descriptionID\": 65125, \n    \"hasTypes\": 0, \n    \"iconID\": 80, \n    \"name_de\": \"Rumpf-Fernreparatursysteme\", \n    \"name_en-us\": \"Remote Hull Repairers\", \n    \"name_es\": \"Reparadores de casco remotos\", \n    \"name_fr\": \"Réparateurs de coque à distance\", \n    \"name_it\": \"Remote Hull Repairers\", \n    \"name_ja\": \"リモート船体リペアラ\", \n    \"name_ko\": \"원격 선체수리 장치\", \n    \"name_ru\": \"Установки дистанционного ремонта корпуса\", \n    \"name_zh\": \"远程结构维修器\", \n    \"nameID\": 66199, \n    \"parentGroupID\": 14\n  }, \n  \"1019\": {\n    \"description_de\": \"Blueprints von Bombenwerfern.\", \n    \"description_en-us\": \"Blueprints of bomb launchers.\", \n    \"description_es\": \"Planos de lanzabombas.\", \n    \"description_fr\": \"Plans de construction de lance-bombes.\", \n    \"description_it\": \"Blueprints of bomb launchers.\", \n    \"description_ja\": \"爆弾ランチャーのブループリント。\", \n    \"description_ko\": \"폭탄 런처 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи бомбометов.\", \n    \"description_zh\": \"炸弹发射器蓝图。\", \n    \"descriptionID\": 65078, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Bombenwerfer\", \n    \"name_en-us\": \"Bomb Launchers\", \n    \"name_es\": \"Lanzabombas\", \n    \"name_fr\": \"Lanceurs de bombes\", \n    \"name_it\": \"Bomb Launchers\", \n    \"name_ja\": \"ボムランチャー\", \n    \"name_ko\": \"폭탄 런처\", \n    \"name_ru\": \"Бомбомёты\", \n    \"name_zh\": \"炸弹发射器\", \n    \"nameID\": 66152, \n    \"parentGroupID\": 210\n  }, \n  \"1021\": {\n    \"description_de\": \"Komponenten für Außenposten, die glorreichen Zentren der Gemeinschaft.\", \n    \"description_en-us\": \"Components to those glorious centers of community, outposts.\", \n    \"description_es\": \"Componentes de los puestos avanzados, centros gloriosos de la comunidad.\", \n    \"description_fr\": \"Composants de ces centres communautaires glorieux, les avant-postes.\", \n    \"description_it\": \"Components to those glorious centers of community, outposts.\", \n    \"description_ja\": \"コミュニティの華やかな中心であるアウトポスト用の部品。\", \n    \"description_ko\": \"모든 우주개척 활동의 핵심을 맡고 있는 전초기지의 부품입니다.\", \n    \"description_ru\": \"Компоненты для форпостов, прославленных центров цивилизации.\", \n    \"description_zh\": \"哨站所使用的组件。\", \n    \"descriptionID\": 65173, \n    \"hasTypes\": 0, \n    \"iconID\": 3303, \n    \"name_de\": \"Außenposten-Komponenten\", \n    \"name_en-us\": \"Outpost Components\", \n    \"name_es\": \"Componentes de puestos avanzados\", \n    \"name_fr\": \"Composants d'avant-poste\", \n    \"name_it\": \"Outpost Components\", \n    \"name_ja\": \"アウトポスト部品\", \n    \"name_ko\": \"전초기지 부품\", \n    \"name_ru\": \"Компоненты форпостов\", \n    \"name_zh\": \"哨站组件\", \n    \"nameID\": 66247, \n    \"parentGroupID\": 1035\n  }, \n  \"1022\": {\n    \"hasTypes\": 0, \n    \"iconID\": 3303, \n    \"name_de\": \"Verbesserungsplattformen\", \n    \"name_en-us\": \"Improvement Platforms\", \n    \"name_es\": \"Plataformas de mejora\", \n    \"name_fr\": \"Plateformes d'amélioration\", \n    \"name_it\": \"Improvement Platforms\", \n    \"name_ja\": \"専用プラットフォーム\", \n    \"name_ko\": \"확장 플랫폼\", \n    \"name_ru\": \"Расширения форпостов\", \n    \"name_zh\": \"强化平台\", \n    \"nameID\": 66248, \n    \"parentGroupID\": 1021\n  }, \n  \"1027\": {\n    \"description_de\": \"Verbesserungsplattformen für Außenposten als Ausgangspunkt weiterer Upgrades.\", \n    \"description_en-us\": \"Upgrade platforms for outposts, intended as a base for further improvements.\", \n    \"description_es\": \"Plataformas de mejora diseñadas para los puestos avanzados que sirven de base para futuras mejoras.\", \n    \"description_fr\": \"Plateformes d'amélioration des avant-postes servant de base aux mises à niveau à venir.\", \n    \"description_it\": \"Upgrade platforms for outposts, intended as a base for further improvements.\", \n    \"description_ja\": \"アウトポスト強化設備プラットフォーム。更なる改良の基礎として使用する。\", \n    \"description_ko\": \"전초기지를 위한 업그레이드 플랫폼으로 이 시설 위에 추가로 설치할 수 있습니다.\", \n    \"description_ru\": \"Модули расширения станции — основа для дальнейшего развития путем установки усовершенствованных блоков.\", \n    \"description_zh\": \"哨站使用的升级平台，作为开展升级工作的基础平台。\", \n    \"descriptionID\": 65178, \n    \"hasTypes\": 1, \n    \"iconID\": 3303, \n    \"name_de\": \"Außenposten-Upgradeplattformen\", \n    \"name_en-us\": \"Outpost Upgrade Platforms\", \n    \"name_es\": \"Plataformas de mejora de puestos avanzados\", \n    \"name_fr\": \"Plateformes d'amélioration d'avant-poste\", \n    \"name_it\": \"Outpost Upgrade Platforms\", \n    \"name_ja\": \"アウトポスト強化設備プラットフォーム\", \n    \"name_ko\": \"전초기지 업그레이드 플랫폼\", \n    \"name_ru\": \"Платформы форпостов\", \n    \"name_zh\": \"哨站升级平台\", \n    \"nameID\": 66252, \n    \"parentGroupID\": 1021\n  }, \n  \"1028\": {\n    \"description_de\": \"Blaupausen leichter Jäger-Designs.\", \n    \"description_en-us\": \"Blueprints of light fighter designs.\", \n    \"description_es\": \"Planos de diseños de cazas ligeros.\", \n    \"description_fr\": \"Plans de construction de modèles de chasseurs légers.\", \n    \"description_it\": \"Blueprints of light fighter designs.\", \n    \"description_ja\": \"軽量級戦闘機のブループリント。\", \n    \"description_ko\": \"라이트 파이터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи лёгких истребителей.\", \n    \"description_zh\": \"轻型铁骑舰载机设计蓝图。\", \n    \"descriptionID\": 65082, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Leichte Jäger\", \n    \"name_en-us\": \"Light Fighters\", \n    \"name_es\": \"Cazas ligeros\", \n    \"name_fr\": \"Chasseurs léger\", \n    \"name_it\": \"Light Fighters\", \n    \"name_ja\": \"軽量級戦闘機\", \n    \"name_ko\": \"라이트 파이터\", \n    \"name_ru\": \"Лёгкие истребители\", \n    \"name_zh\": \"轻型铁骑舰载机\", \n    \"nameID\": 66156, \n    \"parentGroupID\": 2237\n  }, \n  \"1029\": {\n    \"description_de\": \"Blueprints von Designs von Drohnen zur elektronischen Kriegsführung.\", \n    \"description_en-us\": \"Blueprints of electronic warfare drone designs.\", \n    \"description_es\": \"Planos de diseños de drones de guerra electrónica.\", \n    \"description_fr\": \"Plans de construction de drones de guerre électronique.\", \n    \"description_it\": \"Blueprints of electronic warfare drone designs.\", \n    \"description_ja\": \"電子戦用ドローン設計図のブループリント。\", \n    \"description_ko\": \"전자전 드론 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи дронов электронного противодействия.\", \n    \"description_zh\": \"电子战无人机蓝图\", \n    \"descriptionID\": 65083, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Drohnen zur elektronischen Kriegsführung\", \n    \"name_en-us\": \"Electronic Warfare Drones\", \n    \"name_es\": \"Drones de guerra electrónica\", \n    \"name_fr\": \"Drones de guerre électronique\", \n    \"name_it\": \"Electronic Warfare Drones\", \n    \"name_ja\": \"電子戦ドローン\", \n    \"name_ko\": \"전자전 드론\", \n    \"name_ru\": \"Дроны РЭБ\", \n    \"name_zh\": \"电子战无人机\", \n    \"nameID\": 66157, \n    \"parentGroupID\": 357\n  }, \n  \"1030\": {\n    \"description_de\": \"Blueprints für Versorgungsdrohnen-Designs.\", \n    \"description_en-us\": \"Blueprints of logistics drone designs.\", \n    \"description_es\": \"Planos de diseños de drones logísticos.\", \n    \"description_fr\": \"Plans de construction de drones d'assistance.\", \n    \"description_it\": \"Blueprints of logistics drone designs.\", \n    \"description_ja\": \"支援専門ドローン設計図のブループリント。\", \n    \"description_ko\": \"로지스틱스 드론 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ремонтных дронов.\", \n    \"description_zh\": \"后勤无人机蓝图\", \n    \"descriptionID\": 65084, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Versorgungsdrohnen\", \n    \"name_en-us\": \"Logistic Drones\", \n    \"name_es\": \"Drones logísticos\", \n    \"name_fr\": \"Drones d'assistance\", \n    \"name_it\": \"Logistic Drones\", \n    \"name_ja\": \"支援専門ドローン\", \n    \"name_ko\": \"로지스틱스 드론\", \n    \"name_ru\": \"Ремонтные дроны\", \n    \"name_zh\": \"后勤无人机\", \n    \"nameID\": 66158, \n    \"parentGroupID\": 357\n  }, \n  \"1031\": {\n    \"description_de\": \"Der Stoff, aus dem New Eden gebaut ist.\", \n    \"description_en-us\": \"The building blocks of New Eden.\", \n    \"description_es\": \"Los pilares básicos de Nuevo Edén.\", \n    \"description_fr\": \"Blocs de construction de New Eden.\", \n    \"description_it\": \"The building blocks of New Eden.\", \n    \"description_ja\": \"新エデンの建築素材。\", \n    \"description_ko\": \"뉴에덴 경제의 근간이 되는 재료 및 자원입니다.\", \n    \"description_ru\": \"Строительные материалы Нового Эдема.\", \n    \"description_zh\": \"新伊甸的基础建设物资。\", \n    \"descriptionID\": 65166, \n    \"hasTypes\": 0, \n    \"iconID\": 1277, \n    \"name_de\": \"Rohstoffe\", \n    \"name_en-us\": \"Raw Materials\", \n    \"name_es\": \"Materias primas\", \n    \"name_fr\": \"Matières premières\", \n    \"name_it\": \"Raw Materials\", \n    \"name_ja\": \"原料\", \n    \"name_ko\": \"원재료\", \n    \"name_ru\": \"Сырьевые материалы\", \n    \"name_zh\": \"原材料\", \n    \"nameID\": 66240, \n    \"parentGroupID\": 533\n  }, \n  \"1032\": {\n    \"description_de\": \"Riesige Wolken verschiedener Gase, die man im All antrifft. Die Gase können extrahiert und zur Herstellung biochemischer Booster verwendet werden.\", \n    \"description_en-us\": \"Voluminous clouds of various gases, found in space, that can be extracted and used in the manufacturing of biochemical boosters.\", \n    \"description_es\": \"Nubes voluminosas de varios gases presentes en el espacio que pueden extraerse y usarse en la fabricación de potenciadores bioquímicos.\", \n    \"description_fr\": \"Immenses nuages flottant dans l'espace dont les différents gaz peuvent être récupérés et utilisés pour la production de boosters biochimiques.\", \n    \"description_it\": \"Voluminous clouds of various gases, found in space, that can be extracted and used in the manufacturing of biochemical boosters.\", \n    \"description_ja\": \"宇宙で見つかる様々なガスの大きな雲。ここから抽出したものは、バイオケミカルブースターの製造に使用される。\", \n    \"description_ko\": \"우주에서 발견되는 다양한 가스 성운입니다. 추출되는 자원으로부터 생화학 부스터를 제작할 수 있습니다.\", \n    \"description_ru\": \"Вещества, содержащиеся в космических газовых облаках, можно собирать и использовать для производства биохимических бустеров.\", \n    \"description_zh\": \"可以在太空中找到的多种气团，通过加工可以用于生化增效剂的生产。\", \n    \"descriptionID\": 65167, \n    \"hasTypes\": 0, \n    \"iconID\": 3219, \n    \"name_de\": \"Gaswolken-Materialien\", \n    \"name_en-us\": \"Gas Clouds Materials\", \n    \"name_es\": \"Materiales de nubes de gas\", \n    \"name_fr\": \"Matériaux de nuages de gaz\", \n    \"name_it\": \"Gas Clouds Materials\", \n    \"name_ja\": \"ガス雲資源\", \n    \"name_ko\": \"가스 성운\", \n    \"name_ru\": \"Продукты переработки газа\", \n    \"name_zh\": \"气云材料\", \n    \"nameID\": 66241, \n    \"parentGroupID\": 533\n  }, \n  \"1033\": {\n    \"description_de\": \"Eis-Isotope, die von Eisasteroiden abgebaut wurden.\", \n    \"description_en-us\": \"Ice isotopes harvested from ice asteroids.\", \n    \"description_es\": \"Isótopos de hielo recogidos de los asteroides de hielo.\", \n    \"description_fr\": \"Isotopes de glace collectés sur les astéroïdes de glace.\", \n    \"description_it\": \"Ice isotopes harvested from ice asteroids.\", \n    \"description_ja\": \"アイスアステロイドから採掘されたアイス同位体。\", \n    \"description_ko\": \"아이스 동위원소는 아이스 소행성에서 추출할 수 있습니다.\", \n    \"description_ru\": \"Изотопы льда, добываемые из ледяных астероидов\", \n    \"description_zh\": \"从冰矿小行星带中采集到的冰矿同位素。\", \n    \"descriptionID\": 65170, \n    \"hasTypes\": 1, \n    \"iconID\": 2697, \n    \"name_de\": \"Eisprodukte\", \n    \"name_en-us\": \"Ice Products\", \n    \"name_es\": \"Productos de hielo\", \n    \"name_fr\": \"Produits glaciaires\", \n    \"name_it\": \"Ice Products\", \n    \"name_ja\": \"アイス精錬品\", \n    \"name_ko\": \"아이스 생산품\", \n    \"name_ru\": \"Продукты переработки льда\", \n    \"name_zh\": \"冰矿产物\", \n    \"nameID\": 66244, \n    \"parentGroupID\": 533\n  }, \n  \"1034\": {\n    \"description_de\": \"Die verschiedenen Rohstoffe, die auf den Monden New Edens abgebaut werden.\", \n    \"description_en-us\": \"The various types of raw materials harvested from the moons of New Eden.\", \n    \"description_es\": \"Los diversos tipos de materias primas cosechadas en las lunas de Nuevo Edén.\", \n    \"description_fr\": \"Divers types de matières premières collectées sur les lunes de New Eden.\", \n    \"description_it\": \"The various types of raw materials harvested from the moons of New Eden.\", \n    \"description_ja\": \"新エデンの衛星から採掘される様々な原料。\", \n    \"description_ko\": \"뉴에덴의 위성에서 추출할 수 있는 다양한 종류의 자원입니다.\", \n    \"description_ru\": \"Различные сырьевые материалы, добываемые на лунах Нового Эдема.\", \n    \"description_zh\": \"从卫星上采集的各种原始材料。\", \n    \"descriptionID\": 65171, \n    \"hasTypes\": 0, \n    \"iconID\": 2567, \n    \"name_de\": \"Reaktionsmaterialien\", \n    \"name_en-us\": \"Reaction Materials\", \n    \"name_es\": \"Materiales de reacción\", \n    \"name_fr\": \"Matériaux de réaction\", \n    \"name_it\": \"Reaction Materials\", \n    \"name_ja\": \"化合資源\", \n    \"name_ko\": \"반응식 재료\", \n    \"name_ru\": \"Материалы реакций\", \n    \"name_zh\": \"反应材料\", \n    \"nameID\": 66245, \n    \"parentGroupID\": 533\n  }, \n  \"1035\": {\n    \"description_de\": \"Komponenten sind hergestellte Gegenstände, die für verschiedene Industrieaktivitäten benutzt werden.\", \n    \"description_en-us\": \"Components are manufactured items used in various industry activities\", \n    \"description_es\": \"Los componentes son objetos fabricados en diversas actividades industriales.\", \n    \"description_fr\": \"Les composants sont des objets manufacturés utilisés dans diverses activités industrielles\", \n    \"description_it\": \"Components are manufactured items used in various industry activities\", \n    \"description_ja\": \"様々な商業活動に役立つ製品である部品\", \n    \"description_ko\": \"다양한 산업 분야에 사용되는 부품입니다.\", \n    \"description_ru\": \"Серийно произведенные компоненты, необходимые для производственной деятельности\", \n    \"description_zh\": \"组件是在各种工业活动中使用的制造物品\", \n    \"descriptionID\": 65172, \n    \"hasTypes\": 0, \n    \"iconID\": 1436, \n    \"name_de\": \"Komponenten\", \n    \"name_en-us\": \"Components\", \n    \"name_es\": \"Componentes\", \n    \"name_fr\": \"Composants\", \n    \"name_it\": \"Components\", \n    \"name_ja\": \"部品\", \n    \"name_ko\": \"부품\", \n    \"name_ru\": \"Компоненты\", \n    \"name_zh\": \"组件\", \n    \"nameID\": 66246, \n    \"parentGroupID\": 475\n  }, \n  \"1037\": {\n    \"description_de\": \"Designs für Gaswolken-Schaufeln.\", \n    \"description_en-us\": \"Gas cloud scoops designs.\", \n    \"description_es\": \"Diseños de succionadores de nubes de gas.\", \n    \"description_fr\": \"Modèles de récupérateurs de nuages de gaz.\", \n    \"description_it\": \"Gas cloud scoops designs.\", \n    \"description_ja\": \"ガス雲スクープ設計図\", \n    \"description_ko\": \"가스 수집기 모듈\", \n    \"description_ru\": \"Газочерпатели.\", \n    \"description_zh\": \"气云回收装备。\", \n    \"descriptionID\": 65108, \n    \"hasTypes\": 1, \n    \"iconID\": 3074, \n    \"name_de\": \"Gaswolken-Schaufeln\", \n    \"name_en-us\": \"Gas Cloud Scoops\", \n    \"name_es\": \"Succionadores de nubes de gas\", \n    \"name_fr\": \"Récupérateurs de nuages de gaz\", \n    \"name_it\": \"Gas Cloud Scoops\", \n    \"name_ja\": \"ガス雲スクープ\", \n    \"name_ko\": \"가스 수집기\", \n    \"name_ru\": \"Газочерпатели\", \n    \"name_zh\": \"气云回收\", \n    \"nameID\": 66182, \n    \"parentGroupID\": 1713\n  }, \n  \"1038\": {\n    \"description_de\": \"Ice Harvester-Designs.\", \n    \"description_en-us\": \"Ice harvester designs.\", \n    \"description_es\": \"Diseños de cosechadoras de hielo.\", \n    \"description_fr\": \"Modèles de collecteurs de glace.\", \n    \"description_it\": \"Ice harvester designs.\", \n    \"description_ja\": \"アイス採掘機設計図。\", \n    \"description_ko\": \"아이스 채굴기입니다.\", \n    \"description_ru\": \"Чертежи экстракторов льда.\", \n    \"description_zh\": \"冰矿采集器设计。\", \n    \"descriptionID\": 65109, \n    \"hasTypes\": 1, \n    \"iconID\": 2526, \n    \"name_de\": \"Eisschürfer\", \n    \"name_en-us\": \"Ice Harvesters\", \n    \"name_es\": \"Cosechadoras de hielo\", \n    \"name_fr\": \"Collecteurs de glace\", \n    \"name_it\": \"Ice Harvesters\", \n    \"name_ja\": \"アイス採掘機\", \n    \"name_ko\": \"아이스 채굴기\", \n    \"name_ru\": \"Установки для бурения льда\", \n    \"name_zh\": \"冰矿采集器\", \n    \"nameID\": 66183, \n    \"parentGroupID\": 1713\n  }, \n  \"1039\": {\n    \"description_de\": \"Bergbaulaser-Designs.\", \n    \"description_en-us\": \"Mining laser designs.\", \n    \"description_es\": \"Diseños de láseres mineros.\", \n    \"description_fr\": \"Modèles de lasers d'extraction.\", \n    \"description_it\": \"Mining laser designs.\", \n    \"description_ja\": \"採掘レーザー設計図。\", \n    \"description_ko\": \"채굴 레이저입니다.\", \n    \"description_ru\": \"Различные модели экстракторов.\", \n    \"description_zh\": \"采矿激光器设计。\", \n    \"descriptionID\": 65110, \n    \"hasTypes\": 1, \n    \"iconID\": 1061, \n    \"name_de\": \"Bergbaulaser\", \n    \"name_en-us\": \"Mining Lasers\", \n    \"name_es\": \"Láseres mineros\", \n    \"name_fr\": \"Lasers d’extraction\", \n    \"name_it\": \"Mining Lasers\", \n    \"name_ja\": \"採掘レーザー\", \n    \"name_ko\": \"채굴 레이저\", \n    \"name_ru\": \"Буровые лазеры\", \n    \"name_zh\": \"采矿激光器\", \n    \"nameID\": 66184, \n    \"parentGroupID\": 1713\n  }, \n  \"1040\": {\n    \"description_de\": \"Strip Miner-Designs.\", \n    \"description_en-us\": \"Strip miner designs.\", \n    \"description_es\": \"Diseños de extractores mineros.\", \n    \"description_fr\": \"Modèles de lasers d'extraction minière.\", \n    \"description_it\": \"Strip miner designs.\", \n    \"description_ja\": \"ストリップマイナー設計図。\", \n    \"description_ko\": \"가속 채굴기입니다.\", \n    \"description_ru\": \"Чертежи экстракторов полной выработки.\", \n    \"description_zh\": \"露天采矿器设计\", \n    \"descriptionID\": 65111, \n    \"hasTypes\": 1, \n    \"iconID\": 2527, \n    \"name_de\": \"Oberflächen-Bergbaulaser\", \n    \"name_en-us\": \"Strip Miners\", \n    \"name_es\": \"Extractores mineros\", \n    \"name_fr\": \"Lasers d'extraction intensive\", \n    \"name_it\": \"Strip Miners\", \n    \"name_ja\": \"ストリップマイナー\", \n    \"name_ko\": \"가속 채굴기\", \n    \"name_ru\": \"Буровые лазеры валовой выемки\", \n    \"name_zh\": \"露天采矿器\", \n    \"nameID\": 66185, \n    \"parentGroupID\": 1713\n  }, \n  \"1041\": {\n    \"description_de\": \"Blaupausen für Gegenstände, die für Fertigungs- und Forschungsabläufe eingesetzt werden\", \n    \"description_en-us\": \"Blueprints of items used for manufacturing and research processes\", \n    \"description_es\": \"Planos de objetos usados para procesos de fabricación e investigación.\", \n    \"description_fr\": \"Plans de construction d'objets utilisés dans les processus de fabrication et de recherche\", \n    \"description_it\": \"Blueprints of items used for manufacturing and research processes\", \n    \"description_ja\": \"製造および研究の際に使用するアイテムのブループリント\", \n    \"description_ko\": \"제조 및 연구 작업에 사용되는 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи компонентов, используемых в производстве и исследованиях\", \n    \"description_zh\": \"用于制造及研究项目的物品的蓝图\", \n    \"descriptionID\": 65068, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Fertigung & Forschung\", \n    \"name_en-us\": \"Manufacture & Research\", \n    \"name_es\": \"Fabricación e investigación\", \n    \"name_fr\": \"Fabrication et recherche\", \n    \"name_it\": \"Manufacture & Research\", \n    \"name_ja\": \"生産と研究\", \n    \"name_ko\": \"제조 및 연구\", \n    \"name_ru\": \"Промышленные комплектующие\", \n    \"name_zh\": \"制造和研究\", \n    \"nameID\": 66142, \n    \"parentGroupID\": 2\n  }, \n  \"1045\": {\n    \"description_de\": \"Blueprints für Capital Industrial Ships.\", \n    \"description_en-us\": \"Blueprints of Capital Industrial Ships.\", \n    \"description_es\": \"Planos de naves industriales capitales.\", \n    \"description_fr\": \"Plans de construction de vaisseaux industriel capitaux.\", \n    \"description_it\": \"Blueprints of Capital Industrial Ships.\", \n    \"description_ja\": \"採掘支援母艦のブループリント。\", \n    \"description_ko\": \"캐피탈 인더스트리얼 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи кораблей большого тоннажа (КБТ).\", \n    \"description_zh\": \"旗舰级工业舰蓝图。\", \n    \"descriptionID\": 65297, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital-Industrieschiffe\", \n    \"name_en-us\": \"Capital Industrial Ships\", \n    \"name_es\": \"Naves industriales capitales\", \n    \"name_fr\": \"Vaisseaux industriels capitaux\", \n    \"name_it\": \"Capital Industrial Ships\", \n    \"name_ja\": \"採掘支援母艦\", \n    \"name_ko\": \"캐피탈 인더스트리얼\", \n    \"name_ru\": \"Промышленные корабли\", \n    \"name_zh\": \"旗舰级工业舰\", \n    \"nameID\": 66371, \n    \"parentGroupID\": 204\n  }, \n  \"1046\": {\n    \"description_de\": \"Blueprints von ORE-Capital-Industrieschiffs-Designs.\", \n    \"description_en-us\": \"Blueprints of ORE Capital Industrial Ship designs.\", \n    \"description_es\": \"Planos de diseños de naves industriales capitales de ORE.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux industriels capitaux ORE.\", \n    \"description_it\": \"Blueprints of ORE Capital Industrial Ship designs.\", \n    \"description_ja\": \"ORE採掘支援母艦のブループリント。\", \n    \"description_ko\": \"ORE 캐피탈 인더스트리얼 블루프린트입니다.\", \n    \"description_ru\": \"Чертеж промышленных кораблей большого тоннажа разработки синдиката ORE.\", \n    \"description_zh\": \"联合矿业旗舰级工业舰设计蓝图。\", \n    \"descriptionID\": 65077, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE社\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 66151, \n    \"parentGroupID\": 1045\n  }, \n  \"1047\": {\n    \"description_de\": \"Capital-Schiffe, die als industrielles Rückgrat jeder Flotte konzipiert wurden.\", \n    \"description_en-us\": \"Capital ships designed to be the industrial backbone of any fleet.\", \n    \"description_es\": \"Naves capitales diseñadas para ser la columna vertebral industrial de cualquier flota.\", \n    \"description_fr\": \"Vaisseaux capitaux utilisés comme épine dorsale d'une flotte.\", \n    \"description_it\": \"Capital ships designed to be the industrial backbone of any fleet.\", \n    \"description_ja\": \"あらゆるフリートの生産活動を支えるために設計された主力艦。\", \n    \"description_ko\": \"함대의 중추 역할을 하고 있는 캐피탈 인더스트리얼입니다.\", \n    \"description_ru\": \"Корабли большого тоннажа, являющиеся основой любого промышленного флота.\", \n    \"description_zh\": \"旗舰级工业舰是舰队的工业脊梁。\", \n    \"descriptionID\": 65265, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Capital-Industrieschiffe\", \n    \"name_en-us\": \"Capital Industrial Ships\", \n    \"name_es\": \"Naves industriales capitales\", \n    \"name_fr\": \"Vaisseaux industriels capitaux\", \n    \"name_it\": \"Capital Industrial Ships\", \n    \"name_ja\": \"採掘支援母艦\", \n    \"name_ko\": \"캐피탈 인더스트리얼\", \n    \"name_ru\": \"Промышленные корабли\", \n    \"name_zh\": \"旗舰级工业舰\", \n    \"nameID\": 66339, \n    \"parentGroupID\": 1381\n  }, \n  \"1048\": {\n    \"description_de\": \"ORE-Capital-Industrieschiffs-Designs.\", \n    \"description_en-us\": \"ORE capital industrial ship designs.\", \n    \"description_es\": \"Diseños de naves capitales industriales de ORE.\", \n    \"description_fr\": \"Modèles de vaisseaux industriels capitaux ORE.\", \n    \"description_it\": \"ORE capital industrial ship designs.\", \n    \"description_ja\": \"ORE採掘支援母艦設計図。\", \n    \"description_ko\": \"ORE 캐피탈 인더스트리얼입니다.\", \n    \"description_ru\": \"Промышленные корабли большого тоннажа разработки синдиката ORE.\", \n    \"description_zh\": \"联合矿业旗舰级工业舰设计\", \n    \"descriptionID\": 65087, \n    \"hasTypes\": 1, \n    \"iconID\": 27058, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE社\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 66161, \n    \"parentGroupID\": 1047\n  }, \n  \"1049\": {\n    \"description_de\": \"Panzerungsreparatur-Designs für Schiffe der Fregatten-Klasse.\", \n    \"description_en-us\": \"Armor repair designs, intended for frigate-class vessels.\", \n    \"description_es\": \"Diseños de reparación de blindaje destinados a fragatas.\", \n    \"description_fr\": \"Modèles de réparation de blindage, destinés aux vaisseaux de classe frégate.\", \n    \"description_it\": \"Armor repair designs, intended for frigate-class vessels.\", \n    \"description_ja\": \"フリゲート級艦船で使用するためのアーマーリペア設計図。\", \n    \"description_ko\": \"프리깃급 함선에서 사용하는 장갑수리 장치입니다.\", \n    \"description_ru\": \"Системы ремонта брони, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"装甲维修系统，专为护卫舰级别的舰船设计。\", \n    \"descriptionID\": 65114, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66188, \n    \"parentGroupID\": 134\n  }, \n  \"1050\": {\n    \"description_de\": \"Panzerungsreparatur-Designs für Schiffe der Cruiser-Klasse.\", \n    \"description_en-us\": \"Armor repair designs, intended for cruiser-class vessels.\", \n    \"description_es\": \"Diseños de reparación de blindaje destinados a cruceros.\", \n    \"description_fr\": \"Modèles de réparation de blindage, destinés aux vaisseaux de classe croiseur.\", \n    \"description_it\": \"Armor repair designs, intended for cruiser-class vessels.\", \n    \"description_ja\": \"巡洋艦級艦船で使用するためのアーマーリペア設計図。\", \n    \"description_ko\": \"크루저급 함선에서 사용하는 장갑수리 장치입니다.\", \n    \"description_ru\": \"Чертежи систем ремонта брони, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"装甲维修系统，专为巡洋舰级别的舰船设计。\", \n    \"descriptionID\": 65115, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66189, \n    \"parentGroupID\": 134\n  }, \n  \"1051\": {\n    \"description_de\": \"Panzerungsreparatur-Designs für Schiffe der Schlachtschiff-Klasse.\", \n    \"description_en-us\": \"Armor repair designs, intended for battleship-class vessels.\", \n    \"description_es\": \"Diseños de reparación de blindaje destinados a acorazados.\", \n    \"description_fr\": \"Modèles de réparation de blindage, destinés aux vaisseaux de classe cuirassé.\", \n    \"description_it\": \"Armor repair designs, intended for battleship-class vessels.\", \n    \"description_ja\": \"戦艦級の艦船で使用するためのアーマーリペアの設計図。\", \n    \"description_ko\": \"배틀쉽급 함선에서 사용하는 장갑수리 장치입니다.\", \n    \"description_ru\": \"Системы ремонта брони, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"装甲维修系统，专为战列舰级别的舰船设计。\", \n    \"descriptionID\": 65116, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66190, \n    \"parentGroupID\": 134\n  }, \n  \"1052\": {\n    \"description_de\": \"Panzerungsreparatur-Designs für Schiffe der Capital-Klasse.\", \n    \"description_en-us\": \"Armor repair designs, intended for capital-class vessels.\", \n    \"description_es\": \"Diseños de reparación de blindaje destinados a naves capitales.\", \n    \"description_fr\": \"Modèles de réparation de blindage, destinés aux vaisseaux capitaux.\", \n    \"description_it\": \"Armor repair designs, intended for capital-class vessels.\", \n    \"description_ja\": \"キャピタル級艦船で使用するためのアーマーリペア設計図。\", \n    \"description_ko\": \"캐피탈급 함선에서 사용하는 장갑수리 장치입니다.\", \n    \"description_ru\": \"Системы ремонта брони, разработанные для использования на кораблях большого тоннажа.\", \n    \"description_zh\": \"装甲维修系统设计，为旗舰级舰船设计。\", \n    \"descriptionID\": 65117, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Capital\", \n    \"name_en-us\": \"Capital\", \n    \"name_es\": \"Capital\", \n    \"name_fr\": \"Capital\", \n    \"name_it\": \"Capital\", \n    \"name_ja\": \"キャピタル\", \n    \"name_ko\": \"캐피탈\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 66191, \n    \"parentGroupID\": 134\n  }, \n  \"1053\": {\n    \"description_de\": \"Hüllen-Reparatur-Designs für Schiffe der Fregatten-Klasse.\", \n    \"description_en-us\": \"Hull repair system designs, intended for frigate-class vessels.\", \n    \"description_es\": \"Diseños de sistemas de reparación del casco destinados a fragatas.\", \n    \"description_fr\": \"Modèles de systèmes de réparation de la coque, destinés aux vaisseaux de classe frégate.\", \n    \"description_it\": \"Hull repair system designs, intended for frigate-class vessels.\", \n    \"description_ja\": \"フリゲート級の艦船で使用するための船体リペアシステムの設計図。\", \n    \"description_ko\": \"프리깃급 함선에서 사용하는 선체수리 장치입니다.\", \n    \"description_ru\": \"Системы ремонта корпуса, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"结构维修系统，专为护卫舰级别的舰船设计。\", \n    \"descriptionID\": 65122, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66196, \n    \"parentGroupID\": 538\n  }, \n  \"1054\": {\n    \"description_de\": \"Hüllen-Reparatur-Designs für Schiffe der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Hull repair system designs, intended for cruiser-class vessels.\", \n    \"description_es\": \"Diseños de sistemas de reparación del casco destinados a cruceros.\", \n    \"description_fr\": \"Modèles de systèmes de réparation de la coque, destinés aux vaisseaux de classe croiseur.\", \n    \"description_it\": \"Hull repair system designs, intended for cruiser-class vessels.\", \n    \"description_ja\": \"巡洋艦級艦船で使用するための船体リペアシステム。\", \n    \"description_ko\": \"크루저급 함선에서 사용하는 선체수리 장치입니다.\", \n    \"description_ru\": \"Чертежи систем ремонта корпуса, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"结构维修系统，专为巡洋舰级别的舰船设计。\", \n    \"descriptionID\": 65123, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66197, \n    \"parentGroupID\": 538\n  }, \n  \"1055\": {\n    \"description_de\": \"Hüllen-Reparatur-Designs für Schiffe der Schlachtschiff-Klasse.\", \n    \"description_en-us\": \"Hull repair system designs, intended for battleship-class vessels.\", \n    \"description_es\": \"Diseños de sistemas de reparación del casco destinados a acorazados.\", \n    \"description_fr\": \"Modèles de systèmes de réparation de la coque, destinés aux vaisseaux de classe cuirassé.\", \n    \"description_it\": \"Hull repair system designs, intended for battleship-class vessels.\", \n    \"description_ja\": \"戦艦級の艦船で使用するための船体リペアシステム。\", \n    \"description_ko\": \"배틀쉽급 함선에서 사용하는 선체수리 장치입니다.\", \n    \"description_ru\": \"Системы ремонта корпуса, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"结构维修系统，专为战列舰级别的舰船设计。\", \n    \"descriptionID\": 65124, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66198, \n    \"parentGroupID\": 538\n  }, \n  \"1056\": {\n    \"description_de\": \"Ferngesteuerte Panzerungsreparatur-Designs für Schiffe der Capital-Klasse.\", \n    \"description_en-us\": \"Remote armor repair system designs, intended for capital-class vessels.\", \n    \"description_es\": \"Diseños de sistemas de reparación remota de blindaje destinados a naves capitales.\", \n    \"description_fr\": \"Modèles de systèmes de réparation de blindage à distance, destinés aux vaisseaux capitaux.\", \n    \"description_it\": \"Remote armor repair system designs, intended for capital-class vessels.\", \n    \"description_ja\": \"キャピタル級艦船で使用するためのリモートアーマーリペアシステム。\", \n    \"description_ko\": \"캐피탈급 함선에서 사용하는 원격 장갑수리 장치입니다.\", \n    \"description_ru\": \"Системы дистанционного ремонта брони, разработанные для использования на кораблях большого тоннажа.\", \n    \"description_zh\": \"遥控装甲维修系统设计，为旗舰级舰船设计。\", \n    \"descriptionID\": 65118, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Capital\", \n    \"name_en-us\": \"Capital\", \n    \"name_es\": \"Capital\", \n    \"name_fr\": \"Capital\", \n    \"name_it\": \"Capital\", \n    \"name_ja\": \"キャピタル\", \n    \"name_ko\": \"캐피탈\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 66192, \n    \"parentGroupID\": 537\n  }, \n  \"1057\": {\n    \"description_de\": \"Ferngesteuerte Panzerungsreparatur-Designs für Schiffe der Battleship-Klasse.\", \n    \"description_en-us\": \"Remote armor repair system designs, intended for battleship-class vessels.\", \n    \"description_es\": \"Diseños de sistemas de reparación remota de blindaje destinados a acorazados.\", \n    \"description_fr\": \"Modèles de systèmes de réparation de blindage à distance, destinés aux vaisseaux de classe cuirassé.\", \n    \"description_it\": \"Remote armor repair system designs, intended for battleship-class vessels.\", \n    \"description_ja\": \"戦艦級の艦船で使用するためのリモートアーマーリペアシステム設計図。\", \n    \"description_ko\": \"배틀쉽급 함선에서 사용하는 원격 장갑수리 장치입니다.\", \n    \"description_ru\": \"Системы дистанционного ремонта брони, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"遥控装甲维修系统，专为战列舰级别的舰船设计。\", \n    \"descriptionID\": 65119, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66193, \n    \"parentGroupID\": 537\n  }, \n  \"1058\": {\n    \"description_de\": \"Ferngesteuerte Panzerungsreparatur-Designs für Schiffe der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Remote armor repair system designs, intended for cruiser-class vessels.\", \n    \"description_es\": \"Diseños de sistemas de reparación remota de blindaje destinados a cruceros.\", \n    \"description_fr\": \"Modèles de systèmes de réparation de blindage à distance, destinés aux vaisseaux de classe croiseur.\", \n    \"description_it\": \"Remote armor repair system designs, intended for cruiser-class vessels.\", \n    \"description_ja\": \"巡洋艦級艦船で使用するためのリモートアーマーリペアシステム設計図。\", \n    \"description_ko\": \"크루저급 함선에서 사용하는 원격 장갑수리 장치입니다.\", \n    \"description_ru\": \"Чертежи систем дистанционного ремонта брони, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"遥控装甲维修系统，专为巡洋舰级别的舰船设计。\", \n    \"descriptionID\": 65120, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66194, \n    \"parentGroupID\": 537\n  }, \n  \"1059\": {\n    \"description_de\": \"Ferngesteuerte Panzerungsreparatur-Designs für Schiffe der Fregatten-Klasse.\", \n    \"description_en-us\": \"Remote armor repair system designs, intended for frigate-class vessels.\", \n    \"description_es\": \"Diseños de sistemas de reparación remota de blindaje destinados a fragatas.\", \n    \"description_fr\": \"Modèles de systèmes de réparation de blindage à distance, destinés aux vaisseaux de classe frégate.\", \n    \"description_it\": \"Remote armor repair system designs, intended for frigate-class vessels.\", \n    \"description_ja\": \"フリゲート級艦船で使用するためのリモートアーマーリペアシステム。\", \n    \"description_ko\": \"프리깃급 함선에서 사용하는 원격 장갑수리 장치입니다.\", \n    \"description_ru\": \"Системы удаленного ремонта брони, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"远距装甲维修系统，专为护卫舰级别的舰船设计。\", \n    \"descriptionID\": 65121, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66195, \n    \"parentGroupID\": 537\n  }, \n  \"1060\": {\n    \"description_de\": \"Ferngesteuerte Hüllen-Reparatur-Designs für Schiffe der Fregatten-Klasse.\", \n    \"description_en-us\": \"Remote hull repair system designs, intended for use on frigate-class vessels.\", \n    \"description_es\": \"Diseños de sistemas de reparación remota del casco destinados a fragatas.\", \n    \"description_fr\": \"Modèles de systèmes de réparation de coque à distance, destinés aux vaisseaux de classe frégate.\", \n    \"description_it\": \"Remote hull repair system designs, intended for use on frigate-class vessels.\", \n    \"description_ja\": \"フリゲート級艦船で使用するためのリモート船体リペアシステムの設計図。\", \n    \"description_ko\": \"프리깃급 함선에서 사용하는 원격 선체수리 장치입니다.\", \n    \"description_ru\": \"Системы удаленного ремонта корпуса, предназначенные для установки на фрегаты.\", \n    \"description_zh\": \"远距结构维修系统，专为护卫舰级别的舰船设计。\", \n    \"descriptionID\": 65126, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 66200, \n    \"parentGroupID\": 1018\n  }, \n  \"1061\": {\n    \"description_de\": \"Ferngesteuerte Hüllen-Reparatur-Designs für Schiffe der Kreuzer-Klasse.\", \n    \"description_en-us\": \"Remote hull repair system designs, intended for use on cruiser-class vessels.\", \n    \"description_es\": \"Diseños de sistemas de reparación remota del casco destinados a cruceros.\", \n    \"description_fr\": \"Modèles de systèmes de réparation de coque à distance, destinés aux vaisseaux de classe croiseur.\", \n    \"description_it\": \"Remote hull repair system designs, intended for use on cruiser-class vessels.\", \n    \"description_ja\": \"巡洋艦級艦船で使用するためのリモート船体リペアシステム設計図。\", \n    \"description_ko\": \"크루저급 함선에서 사용하는 원격 선체수리 장치입니다.\", \n    \"description_ru\": \"Чертежи систем дистанционного ремонта корпуса, устанавливаемых на крейсеры.\", \n    \"description_zh\": \"遥控结构维修系统，专为巡洋舰级别的舰船设计。\", \n    \"descriptionID\": 65127, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 66201, \n    \"parentGroupID\": 1018\n  }, \n  \"1062\": {\n    \"description_de\": \"Ferngesteuerte Panzerungsreparatur-Designs für Schiffe der Schlachtschiff-Klasse.\", \n    \"description_en-us\": \"Remote hull repair system designs, intended for use on battleship-class vessels.\", \n    \"description_es\": \"Diseños de sistemas de reparación remota del casco destinados a acorazados.\", \n    \"description_fr\": \"Modèles de systèmes de réparation de coque à distance, destinés aux vaisseaux de classe cuirassé.\", \n    \"description_it\": \"Remote hull repair system designs, intended for use on battleship-class vessels.\", \n    \"description_ja\": \"戦艦級の艦船で使用するためのリモート船体リペアシステム。\", \n    \"description_ko\": \"배틀쉽급 함선에서 사용하는 원격 선체수리 장치입니다.\", \n    \"description_ru\": \"Системы дистанционного ремонта корпуса, предназначенные для установки на линкоры.\", \n    \"description_zh\": \"遥控结构维修系统，专为战列舰级别的舰船设计。\", \n    \"descriptionID\": 65128, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 66202, \n    \"parentGroupID\": 1018\n  }, \n  \"1063\": {\n    \"description_de\": \"Ferngesteuerte Hüllenreparatursystem-Designs für Schiffe der Capital-Klasse.\", \n    \"description_en-us\": \"Remote hull repair system designs, intended for use on capital-class vessels.\", \n    \"description_es\": \"Diseños de sistemas de reparación remota del casco destinados a naves capitales.\", \n    \"description_fr\": \"Modèles de systèmes de réparation de coque à distance, destinés aux vaisseaux capitaux.\", \n    \"description_it\": \"Remote hull repair system designs, intended for use on capital-class vessels.\", \n    \"description_ja\": \"キャピタル級艦船で使用するためのリモート船体リペアシステム設計図。\", \n    \"description_ko\": \"캐피탈급 함선에서 사용하는 원격 선체수리 장치입니다.\", \n    \"description_ru\": \"Системы дистанционного ремонта корпуса, разработанные для использования на кораблях большого тоннажа.\", \n    \"description_zh\": \"遥控结构维修系统设计，为旗舰级舰船设计。\", \n    \"descriptionID\": 65129, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Capital\", \n    \"name_en-us\": \"Capital\", \n    \"name_es\": \"Capital\", \n    \"name_fr\": \"Capital\", \n    \"name_it\": \"Capital\", \n    \"name_ja\": \"キャピタル\", \n    \"name_ko\": \"캐피탈\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 66203, \n    \"parentGroupID\": 1018\n  }, \n  \"1065\": {\n    \"description_de\": \"Fregatten, die auf die elektronische Kriegsführung spezialisiert sind.\", \n    \"description_en-us\": \"Frigates specialized in electronic warfare.\", \n    \"description_es\": \"Fragatas especializadas en la guerra electrónica.\", \n    \"description_fr\": \"Frégates spécialisées dans la guerre électronique.\", \n    \"description_it\": \"Frigates specialized in electronic warfare.\", \n    \"description_ja\": \"電子戦に特化したフリゲート。\", \n    \"description_ko\": \"전자전에 특화된 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты, специально разработанные для ведения радиоэлектронной борьбы.\", \n    \"description_zh\": \"电子攻击护卫舰。\", \n    \"descriptionID\": 65247, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Elektronische Angriffsfregatten\", \n    \"name_en-us\": \"Electronic Attack Frigates\", \n    \"name_es\": \"Fragatas de ataque electrónico\", \n    \"name_fr\": \"Frégates d'attaque électronique\", \n    \"name_it\": \"Electronic Attack Frigates\", \n    \"name_ja\": \"電子攻撃フリゲート\", \n    \"name_ko\": \"전자전 프리깃\", \n    \"name_ru\": \"Дозорные фрегаты\", \n    \"name_zh\": \"电子攻击护卫舰\", \n    \"nameID\": 66321, \n    \"parentGroupID\": 1364\n  }, \n  \"1066\": {\n    \"description_de\": \"Elektronische Amarr-Kampffregatten-Designs.\", \n    \"description_en-us\": \"Amarr electronic attack frigate designs.\", \n    \"description_es\": \"Diseños de fragatas de ataque electrónico amarrianas.\", \n    \"description_fr\": \"Modèles de frégates d'attaque électronique amarr.\", \n    \"description_it\": \"Amarr electronic attack frigate designs.\", \n    \"description_ja\": \"アマー電子攻撃フリゲート設計図。\", \n    \"description_ko\": \"아마르의 전자전 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты электронного противодействия разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛电子攻击护卫舰设计\", \n    \"descriptionID\": 65088, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66162, \n    \"parentGroupID\": 1065\n  }, \n  \"1067\": {\n    \"description_de\": \"Elektronische Caldari-Angriffsfregatten-Designs.\", \n    \"description_en-us\": \"Caldari electronic attack frigate designs.\", \n    \"description_es\": \"Diseños de fragatas de ataque electrónico caldaris.\", \n    \"description_fr\": \"Modèles de frégates d'attaque électronique caldari.\", \n    \"description_it\": \"Caldari electronic attack frigate designs.\", \n    \"description_ja\": \"カルダリ電子攻撃フリゲート設計図。\", \n    \"description_ko\": \"칼다리의 전자전 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты электронного противодействия разработки Государства Caldari.\", \n    \"description_zh\": \"加达里电子攻击护卫舰\", \n    \"descriptionID\": 65089, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66163, \n    \"parentGroupID\": 1065\n  }, \n  \"1068\": {\n    \"description_de\": \"Elektronische Gallente-Angriffsfregatten-Designs.\", \n    \"description_en-us\": \"Gallente electronic attack frigate designs.\", \n    \"description_es\": \"Diseños de fragatas de ataque electrónico gallentes.\", \n    \"description_fr\": \"Modèles de frégates d'attaque électronique gallente.\", \n    \"description_it\": \"Gallente electronic attack frigate designs.\", \n    \"description_ja\": \"ガレンテ電子攻撃フリゲート設計図。\", \n    \"description_ko\": \"갈란테의 전자전 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты электронного противодействия разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特电子攻击护卫舰设计\", \n    \"descriptionID\": 65090, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66164, \n    \"parentGroupID\": 1065\n  }, \n  \"1069\": {\n    \"description_de\": \"Elektronische Minmatar-Angriffsfregatten-Designs.\", \n    \"description_en-us\": \"Minmatar electronic attack frigate designs.\", \n    \"description_es\": \"Diseños de fragatas de ataque electrónico minmatarianas.\", \n    \"description_fr\": \"Modèles de frégates d'attaque électronique minmatar.\", \n    \"description_it\": \"Minmatar electronic attack frigate designs.\", \n    \"description_ja\": \"ミンマター電子攻撃フリゲート設計図。\", \n    \"description_ko\": \"민마타의 전자전 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты электронного противодействия разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔电子攻击护卫舰设计。\", \n    \"descriptionID\": 65091, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66165, \n    \"parentGroupID\": 1065\n  }, \n  \"1070\": {\n    \"description_de\": \"Schiffe der Cruiser-Klasse, die andere Schiffe aus dem Warpraum ziehen können.\", \n    \"description_en-us\": \"Cruiser-class vessels, designed to pull other vessels out of warp.\", \n    \"description_es\": \"Naves de clase crucero diseñadas para interrumpir el warp de otras naves.\", \n    \"description_fr\": \"Vaisseaux de type croiseur, conçus pour empêcher les autres vaisseaux de warper.\", \n    \"description_it\": \"Cruiser-class vessels, designed to pull other vessels out of warp.\", \n    \"description_ja\": \"敵船のワープを阻止するように設計された巡洋艦級艦船。\", \n    \"description_ko\": \"크루저급 함선으로 대상 함선의 워프를 방해하기 위해 설계되었습니다.\", \n    \"description_ru\": \"Корабли крейсерского класса, специально разработанные для глушения варп-двигателей других кораблей.\", \n    \"description_zh\": \"巡洋舰级别舰船，设计用于将其他舰船从跃迁状态中截获。\", \n    \"descriptionID\": 65251, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Schwere Unterbrechungskreuzer\", \n    \"name_en-us\": \"Heavy Interdiction Cruisers\", \n    \"name_es\": \"Cruceros interdictores pesados\", \n    \"name_fr\": \"Croiseurs d'interdiction lourds\", \n    \"name_it\": \"Heavy Interdiction Cruisers\", \n    \"name_ja\": \"ワープ妨害型巡洋艦\", \n    \"name_ko\": \"인터딕터 크루저\", \n    \"name_ru\": \"Заградительные крейсеры\", \n    \"name_zh\": \"重型拦截巡洋舰\", \n    \"nameID\": 66325, \n    \"parentGroupID\": 1368\n  }, \n  \"1071\": {\n    \"description_de\": \"Amarr-Designs für schwere Unterbrechungskreuzer.\", \n    \"description_en-us\": \"Amarr heavy interdiction cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros interdictores pesados amarrianos.\", \n    \"description_fr\": \"Modèles de croiseurs d'interdiction lourds amarr.\", \n    \"description_it\": \"Amarr heavy interdiction cruiser designs.\", \n    \"description_ja\": \"アマーのワープ妨害型巡洋艦。\", \n    \"description_ko\": \"아마르의 헤비 인터딕터 크루저입니다.\", \n    \"description_ru\": \"Проектная документация на тяжелые заградительные крейсеры разработки империи Амарр.\", \n    \"description_zh\": \"艾玛重型拦截巡洋舰设计蓝图。\", \n    \"descriptionID\": 65092, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66166, \n    \"parentGroupID\": 1070\n  }, \n  \"1072\": {\n    \"description_de\": \"Caldari-Designs für schwere Unterbrechungskreuzer.\", \n    \"description_en-us\": \"Caldari heavy interdiction cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros interdictores pesados caldaris.\", \n    \"description_fr\": \"Modèles de croiseurs d'interdiction lourds caldari.\", \n    \"description_it\": \"Caldari heavy interdiction cruiser designs.\", \n    \"description_ja\": \"カルダリのワープ妨害型巡洋艦。\", \n    \"description_ko\": \"칼다리의 인터딕터 크루저입니다.\", \n    \"description_ru\": \"Проектная документация на тяжелые заградительные крейсеры разработки государства Калдари.\", \n    \"description_zh\": \"加达里重型拦截巡洋舰设计蓝图。\", \n    \"descriptionID\": 65093, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66167, \n    \"parentGroupID\": 1070\n  }, \n  \"1073\": {\n    \"description_de\": \"Gallente-Designs für schwere Unterbrechungskreuzer.\", \n    \"description_en-us\": \"Gallente heavy interdiction cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros interdictores pesados gallentes.\", \n    \"description_fr\": \"Modèles de croiseurs d'interdiction lourds gallente.\", \n    \"description_it\": \"Gallente heavy interdiction cruiser designs.\", \n    \"description_ja\": \"ガレンテワープ妨害型巡洋艦。\", \n    \"description_ko\": \"갈란테의 헤비 인터딕터 크루저입니다.\", \n    \"description_ru\": \"Проектная документация на тяжелые заградительные крейсеры разработки федерации Галленте.\", \n    \"description_zh\": \"盖伦特重型拦截巡洋舰设计蓝图。\", \n    \"descriptionID\": 65094, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66168, \n    \"parentGroupID\": 1070\n  }, \n  \"1074\": {\n    \"description_de\": \"Minmatar-Designs für schwere Unterbrechungskreuzer.\", \n    \"description_en-us\": \"Minmatar heavy interdiction cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros interdictores pesados minmatarianos.\", \n    \"description_fr\": \"Modèles de croiseurs d'interdiction lourds minmatar.\", \n    \"description_it\": \"Minmatar heavy interdiction cruiser designs.\", \n    \"description_ja\": \"ミンマターワープ妨害型巡洋艦。\", \n    \"description_ko\": \"민마타 인터딕터 크루저입니다.\", \n    \"description_ru\": \"Проектная документация на тяжелые заградительные крейсеры разработки республики Минматар.\", \n    \"description_zh\": \"米玛塔尔重型拦截巡洋舰设计蓝图。\", \n    \"descriptionID\": 65095, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66169, \n    \"parentGroupID\": 1070\n  }, \n  \"1075\": {\n    \"description_de\": \"Schiffe der Schlachtschiff-Klasse für Operationen im Feindgebiet.\", \n    \"description_en-us\": \"Battleship-Class vessels, designed to operate behind enemy lines.\", \n    \"description_es\": \"Acorazados pensados para operar detrás de las líneas enemigas.\", \n    \"description_fr\": \"Vaisseaux de classe cuirassé, prévus pour mener des opérations derrière les lignes ennemies.\", \n    \"description_it\": \"Battleship-Class vessels, designed to operate behind enemy lines.\", \n    \"description_ja\": \"敵の前線の背後で活動するように設計された戦艦級艦船。\", \n    \"description_ko\": \"배틀쉽급 함선으로 적진 후방에서 작전을 수행할 수 있도록 설계된 함선입니다.\", \n    \"description_ru\": \"Линейные корабли, предназначенные для операций в тылу противника.\", \n    \"description_zh\": \"战列舰级别的舰船，专门设计用于敌后作战。\", \n    \"descriptionID\": 65260, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Black Ops\", \n    \"name_en-us\": \"Black Ops\", \n    \"name_es\": \"Operaciones secretas\", \n    \"name_fr\": \"Forces spéciales\", \n    \"name_it\": \"Black Ops\", \n    \"name_ja\": \"秘密工作戦艦\", \n    \"name_ko\": \"블랙옵스\", \n    \"name_ru\": \"Тяжёлые диверсионные корабли\", \n    \"name_zh\": \"黑隐特勤舰\", \n    \"nameID\": 66334, \n    \"parentGroupID\": 1377\n  }, \n  \"1076\": {\n    \"description_de\": \"Amarr-Black-Ops-Designs.\", \n    \"description_en-us\": \"Amarr black ops designs.\", \n    \"description_es\": \"Diseños de operaciones secretas amarrianas.\", \n    \"description_fr\": \"Modèles de vaisseaux des forces spéciales amarr.\", \n    \"description_it\": \"Amarr black ops designs.\", \n    \"description_ja\": \"アマー秘密工作戦艦。\", \n    \"description_ko\": \"아마르의 블랙옵스입니다.\", \n    \"description_ru\": \"Тяжелые корабли для спецопераций разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛黑隐特勤舰设计\", \n    \"descriptionID\": 65096, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66170, \n    \"parentGroupID\": 1075\n  }, \n  \"1077\": {\n    \"description_de\": \"Caldari-Black-Ops-Designs.\", \n    \"description_en-us\": \"Caldari black ops designs.\", \n    \"description_es\": \"Diseños de naves de operaciones secretas caldaris.\", \n    \"description_fr\": \"Modèles de vaisseaux des forces spéciales caldari.\", \n    \"description_it\": \"Caldari black ops designs.\", \n    \"description_ja\": \"カルダリ秘密工作戦艦。\", \n    \"description_ko\": \"칼다리의 블랙옵스입니다.\", \n    \"description_ru\": \"Тяжелые корабли для спецопераций разработки Государства Caldari.\", \n    \"description_zh\": \"加达里黑隐特勤舰设计\", \n    \"descriptionID\": 65097, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66171, \n    \"parentGroupID\": 1075\n  }, \n  \"1078\": {\n    \"description_de\": \"Gallente-Black-Ops-Designs.\", \n    \"description_en-us\": \"Gallente black ops designs.\", \n    \"description_es\": \"Diseños de naves de operaciones secretas gallentes.\", \n    \"description_fr\": \"Modèles de vaisseaux des forces spéciales gallente.\", \n    \"description_it\": \"Gallente black ops designs.\", \n    \"description_ja\": \"ガレンテ秘密工作戦艦。\", \n    \"description_ko\": \"갈란테의 블랙옵스입니다.\", \n    \"description_ru\": \"Тяжелые корабли для спецопераций разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特黑隐特勤舰设计\", \n    \"descriptionID\": 65098, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66172, \n    \"parentGroupID\": 1075\n  }, \n  \"1079\": {\n    \"description_de\": \"Minmatar-Black-Ops-Designs.\", \n    \"description_en-us\": \"Minmatar black ops designs.\", \n    \"description_es\": \"Diseños de naves de operaciones secretas minmatarianas.\", \n    \"description_fr\": \"Modèles de vaisseaux des forces spéciales minmatar.\", \n    \"description_it\": \"Minmatar black ops designs.\", \n    \"description_ja\": \"ミンマター秘密工作戦艦。\", \n    \"description_ko\": \"민마타의 블랙옵스입니다.\", \n    \"description_ru\": \"Тяжелые корабли для спецопераций разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔黑隐特勤舰设计\", \n    \"descriptionID\": 65099, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66173, \n    \"parentGroupID\": 1075\n  }, \n  \"1080\": {\n    \"description_de\": \"Schiffe der Schlachtschiff-Klasse, die lange an der Front operieren können.\", \n    \"description_en-us\": \"Battleship-Class vessels, intended for prolonged frontline deployment.\", \n    \"description_es\": \"Acorazados pensados para desplegarse en primera línea.\", \n    \"description_fr\": \"Vaisseaux de classe cuirassé, prévus pour les déploiements de première ligne prolongés.\", \n    \"description_it\": \"Battleship-Class vessels, intended for prolonged frontline deployment.\", \n    \"description_ja\": \"長引く前線配置向けの戦艦級艦船。\", \n    \"description_ko\": \"배틀쉽급 함선으로 전투 지속력이 뛰어나 전방에 배치되곤 합니다.\", \n    \"description_ru\": \"Линейные корабли, разработанные для длительного пребывания на линии фронта.\", \n    \"description_zh\": \"战列舰级别的舰船，为持久战斗而设计。\", \n    \"descriptionID\": 65259, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Marauder\", \n    \"name_en-us\": \"Marauders\", \n    \"name_es\": \"Depredadores\", \n    \"name_fr\": \"Maraudeurs\", \n    \"name_it\": \"Marauders\", \n    \"name_ja\": \"襲撃型戦艦\", \n    \"name_ko\": \"머라우더\", \n    \"name_ru\": \"Рейдеры\", \n    \"name_zh\": \"掠夺舰\", \n    \"nameID\": 66333, \n    \"parentGroupID\": 1377\n  }, \n  \"1081\": {\n    \"description_de\": \"Amarr-Marauder-Designs.\", \n    \"description_en-us\": \"Amarr marauder designs.\", \n    \"description_es\": \"Diseños de depredadores amarrianos.\", \n    \"description_fr\": \"Modèles de maraudeurs amarr.\", \n    \"description_it\": \"Amarr marauder designs.\", \n    \"description_ja\": \"アマー襲撃型戦艦設計図。\", \n    \"description_ko\": \"아마르의 머라우더입니다.\", \n    \"description_ru\": \"Рейдеры разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛掠夺舰设计\", \n    \"descriptionID\": 65100, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66174, \n    \"parentGroupID\": 1080\n  }, \n  \"1082\": {\n    \"description_de\": \"Caldari-Maruader-Designs.\", \n    \"description_en-us\": \"Caldari marauder designs\", \n    \"description_es\": \"Diseños de depredadores caldaris.\", \n    \"description_fr\": \"Modèles de maraudeurs caldari\", \n    \"description_it\": \"Caldari marauder designs\", \n    \"description_ja\": \"カルダリ襲撃型戦艦設計図\", \n    \"description_ko\": \"칼다리 머라우더 설계\", \n    \"description_ru\": \"Рейдеры разработки Государства Caldari\", \n    \"description_zh\": \"加达里掠夺舰设计\", \n    \"descriptionID\": 65101, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66175, \n    \"parentGroupID\": 1080\n  }, \n  \"1083\": {\n    \"description_de\": \"Gallente-Marauder-Designs.\", \n    \"description_en-us\": \"Gallente marauder designs.\", \n    \"description_es\": \"Diseños de depredadores gallentes.\", \n    \"description_fr\": \"Modèles de maraudeurs gallente.\", \n    \"description_it\": \"Gallente marauder designs.\", \n    \"description_ja\": \"ガレンテ襲撃型戦艦設計図。\", \n    \"description_ko\": \"갈란테의 머라우더입니다.\", \n    \"description_ru\": \"Рейдеры разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特掠夺舰设计\", \n    \"descriptionID\": 65102, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66176, \n    \"parentGroupID\": 1080\n  }, \n  \"1084\": {\n    \"description_de\": \"Minmatar-Marauder-Designs.\", \n    \"description_en-us\": \"Minmatar marauder designs.\", \n    \"description_es\": \"Diseños de depredadores minmatarianos.\", \n    \"description_fr\": \"Modèles de maraudeurs minmatar.\", \n    \"description_it\": \"Minmatar marauder designs.\", \n    \"description_ja\": \"ミンマター襲撃型戦艦設計図。\", \n    \"description_ko\": \"민마타의 머라우더입니다.\", \n    \"description_ru\": \"Рейдеры разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔掠夺舰设计\", \n    \"descriptionID\": 65103, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66177, \n    \"parentGroupID\": 1080\n  }, \n  \"1085\": {\n    \"description_de\": \"Ein Schiffssystem, das Warpreisen durch ein lokales Warp-Unterbrechungsfeld verhindert.\", \n    \"description_en-us\": \"A ship system that generates a local warp disruption field, preventing warp travel.\", \n    \"description_es\": \"Sistema de a bordo que genera un campo disruptor de warp que impide warpear.\", \n    \"description_fr\": \"Système du vaisseau qui génère un champ local de perturbation de warp, empêchant tout déplacement par warp.\", \n    \"description_it\": \"A ship system that generates a local warp disruption field, preventing warp travel.\", \n    \"description_ja\": \"局所的なワープ妨害フィールドを生成してワープ航行を阻止するシップシステム。\", \n    \"description_ko\": \"워프 디스럽션 필드를 생성하는 시스템입니다.\", \n    \"description_ru\": \"Модули, предназначенные для вывода из строя варп-двигателей всех кораблей, находящихся на определенном расстоянии от корабля-носителя.\", \n    \"description_zh\": \"此设备能生成一个局部的跃迁干扰力场，阻止跃迁行为。\", \n    \"descriptionID\": 65134, \n    \"hasTypes\": 1, \n    \"iconID\": 21489, \n    \"name_de\": \"Warpstörfeld-Generatoren\", \n    \"name_en-us\": \"Warp Disruption Field Generators\", \n    \"name_es\": \"Generadores de campo disruptor de warp.\", \n    \"name_fr\": \"Générateurs de champ perturbateurs de warp\", \n    \"name_it\": \"Warp Disruption Field Generators\", \n    \"name_ja\": \"ワープ妨害フィールド発生装置\", \n    \"name_ko\": \"워프 디스럽션 필드 생성기\", \n    \"name_ru\": \"Бортовые варп-заградители\", \n    \"name_zh\": \"跃迁扰断力场发生器\", \n    \"nameID\": 66208, \n    \"parentGroupID\": 657\n  }, \n  \"1086\": {\n    \"description_de\": \"Schiffssysteme zur Stabilisation des Schiffs, die ein eleganteres Manövrieren ermöglichen.\", \n    \"description_en-us\": \"Ship systems that stabilize the ship and allow for more graceful maneuvers.\", \n    \"description_es\": \"Sistemas de a bordo que estabilizan la nave y permiten maniobrar con más elegancia.\", \n    \"description_fr\": \"Système qui stabilise le vaisseau et permet des manœuvres sans heurts.\", \n    \"description_it\": \"Ship systems that stabilize the ship and allow for more graceful maneuvers.\", \n    \"description_ja\": \"艦船を安定させて静かな操作を可能にするシップシステム。\", \n    \"description_ko\": \"함선의 안정성을 향상시켜주는 시스템입니다.\", \n    \"description_ru\": \"Корабельные системы, облегчающие стабилизацию и позволяющие осуществлять более точное маневрирование.\", \n    \"description_zh\": \"增强舰船稳定性，提供机动能力的装备。\", \n    \"descriptionID\": 65130, \n    \"hasTypes\": 1, \n    \"iconID\": 1041, \n    \"name_de\": \"Trägheitsstabilisatoren\", \n    \"name_en-us\": \"Inertial Stabilizers\", \n    \"name_es\": \"Estabilizadores inerciales\", \n    \"name_fr\": \"Stabilisateurs d’inertie\", \n    \"name_it\": \"Inertial Stabilizers\", \n    \"name_ja\": \"慣性スタビライザー\", \n    \"name_ko\": \"관성 안정기\", \n    \"name_ru\": \"Инерционные стабилизаторы\", \n    \"name_zh\": \"惯性稳定器\", \n    \"nameID\": 66204, \n    \"parentGroupID\": 132\n  }, \n  \"1087\": {\n    \"description_de\": \"Schiffssysteme für mehr Dampf auf den Schiffsmotoren.\", \n    \"description_en-us\": \"Ship systems that add more raw power to the ship's engines.\", \n    \"description_es\": \"Sistemas de a bordo que añaden más potencia bruta a los motores de la nave.\", \n    \"description_fr\": \"Systèmes des vaisseaux pour ajouter davantage de puissance aux moteurs des vaisseaux.\", \n    \"description_it\": \"Ship systems that add more raw power to the ship's engines.\", \n    \"description_ja\": \"艦船のエンジンの出力を直接高めるシップシステム。\", \n    \"description_ko\": \"엔진 추진력을 향상시켜주는 함선 시스템입니다.\", \n    \"description_ru\": \"Корабельные системы, увеличивающие поступление энергии в двигатели корабля.\", \n    \"description_zh\": \"为舰船引擎增加推力的舰载系统。\", \n    \"descriptionID\": 65131, \n    \"hasTypes\": 1, \n    \"iconID\": 98, \n    \"name_de\": \"Turbolader\", \n    \"name_en-us\": \"Overdrives\", \n    \"name_es\": \"Inyectores de sobrepotencia\", \n    \"name_fr\": \"Overdrives\", \n    \"name_it\": \"Overdrives\", \n    \"name_ja\": \"オーバードライブ\", \n    \"name_ko\": \"오버드라이브 시스템\", \n    \"name_ru\": \"Дополнительные двигатели\", \n    \"name_zh\": \"超载喷注器\", \n    \"nameID\": 66205, \n    \"parentGroupID\": 132\n  }, \n  \"1088\": {\n    \"description_de\": \"Schiffssysteme, die den Warpantrieb auch bei Interferenzen betriebsfähig halten.\", \n    \"description_en-us\": \"Ship systems that help to keep the warp drive operational, despite interference.\", \n    \"description_es\": \"Sistemas de a bordo que ayudan a mantener operativo el motor de warp a pesar de las interferencias.\", \n    \"description_fr\": \"Systèmes des vaisseaux contribuant à maintenir le propulseur de warp opérationnel en dépit des interférences.\", \n    \"description_it\": \"Ship systems that help to keep the warp drive operational, despite interference.\", \n    \"description_ja\": \"妨害があってもワープドライブを動作させ続けるための艦船システム。\", \n    \"description_ko\": \"교란에도 불구하고 워프 드라이브를 유지할 수 있는 시스템입니다.\", \n    \"description_ru\": \"Модули, предназначенные для обеспечения бесперебойного функционирования варп-двигателей.\", \n    \"description_zh\": \"在被干扰状态下，保持舰船跃迁引擎正常工作的系统。\", \n    \"descriptionID\": 65132, \n    \"hasTypes\": 1, \n    \"iconID\": 97, \n    \"name_de\": \"Warpkernstabilisatoren\", \n    \"name_en-us\": \"Warp Core Stabilizers\", \n    \"name_es\": \"Estabilizadores del núcleo de warp\", \n    \"name_fr\": \"Stabilisateurs de réacteur de warp\", \n    \"name_it\": \"Warp Core Stabilizers\", \n    \"name_ja\": \"ワープコア制御装置\", \n    \"name_ko\": \"워프 코어 안정기\", \n    \"name_ru\": \"Варп-стабилизаторы\", \n    \"name_zh\": \"跃迁稳定器\", \n    \"nameID\": 66206, \n    \"parentGroupID\": 132\n  }, \n  \"1089\": {\n    \"description_de\": \"Sprungfähige Frachtschiffe der Capital-Klasse, die kommerzielle Handelsgüter zu fernen Sternen bringen.\", \n    \"description_en-us\": \"Capital cargo ships with jump drive capabilities, bringing trade and commerce to distant stars.\", \n    \"description_es\": \"Naves de carga capitales con motores de salto y capaces de llevar negocios y comercios a estrellas lejanas.\", \n    \"description_fr\": \"Vaisseaux cargo capitaux doté d'un propulseur hyperspatial, ouvrant les portes du commerce et les affaires aux étoiles distantes.\", \n    \"description_it\": \"Capital cargo ships with jump drive capabilities, bringing trade and commerce to distant stars.\", \n    \"description_ja\": \"ジャンプドライブ機能を備えたキャピタルカーゴ船。遠距離の貿易や商取引が可能。\", \n    \"description_ko\": \"점프 능력을 지닌 캐피탈 화물선입니다. 장거리 물자 이송이 가능합니다.\", \n    \"description_ru\": \"Грузовые корабли большого тоннажа, оснащенные гипердвигателями. Они приносят блага коммерции даже в самые отдаленные звездные системы.\", \n    \"description_zh\": \"具有跳跃能力的旗舰级运输舰船，使得贸易能在相距遥远的星系之间快捷地进行。\", \n    \"descriptionID\": 65262, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Sprung-Frachter\", \n    \"name_en-us\": \"Jump Freighters\", \n    \"name_es\": \"Cargueros de salto\", \n    \"name_fr\": \"Transports de fret hyperspatiaux\", \n    \"name_it\": \"Jump Freighters\", \n    \"name_ja\": \"ジャンプドライブ搭載型輸送艦\", \n    \"name_ko\": \"점프 프레이터\", \n    \"name_ru\": \"Джамп-фрейтеры\", \n    \"name_zh\": \"战略货舰\", \n    \"nameID\": 66336, \n    \"parentGroupID\": 1381\n  }, \n  \"1090\": {\n    \"description_de\": \"Amarr-Sprung-Frachter-Designs.\", \n    \"description_en-us\": \"Amarr jump freighter designs.\", \n    \"description_es\": \"Diseños de cargueros de salto amarrianos.\", \n    \"description_fr\": \"Modèles de transports de fret hyperspatiaux amarr.\", \n    \"description_it\": \"Amarr jump freighter designs.\", \n    \"description_ja\": \"アマージャンプドライブ搭載型輸送艦設計図。\", \n    \"description_ko\": \"아마르의 점프 프레이터입니다.\", \n    \"description_ru\": \"Грузовые корабли с гипердвигателями, разработанные империей Amarr.\", \n    \"description_zh\": \"艾玛战略货舰设计\", \n    \"descriptionID\": 65104, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66178, \n    \"parentGroupID\": 1089\n  }, \n  \"1091\": {\n    \"description_de\": \"Caldari-Sprung-Frachter-Designs.\", \n    \"description_en-us\": \"Caldari jump freighter designs.\", \n    \"description_es\": \"Diseños de cargueros de salto caldaris.\", \n    \"description_fr\": \"Modèles de transports de fret hyperspatiaux caldari.\", \n    \"description_it\": \"Caldari jump freighter designs.\", \n    \"description_ja\": \"カルダリジャンプドライブ搭載型輸送艦設計図。\", \n    \"description_ko\": \"칼다리의 점프 프레이터입니다.\", \n    \"description_ru\": \"Грузовые корабли с гипердвигателями, разработанные государством Caldari.\", \n    \"description_zh\": \"加达里战略货舰设计\", \n    \"descriptionID\": 65105, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66179, \n    \"parentGroupID\": 1089\n  }, \n  \"1092\": {\n    \"description_de\": \"Gallente-Sprung-Frachter-Designs.\", \n    \"description_en-us\": \"Gallente jump freighter designs.\", \n    \"description_es\": \"Diseños de cargueros de salto gallentes.\", \n    \"description_fr\": \"Modèles de transports de fret hyperspatiaux gallente.\", \n    \"description_it\": \"Gallente jump freighter designs.\", \n    \"description_ja\": \"ガレンテジャンプドライブ搭載型輸送艦設計図。\", \n    \"description_ko\": \"갈란테의 점프 프레이터입니다.\", \n    \"description_ru\": \"Грузовые корабли с гипердвигателями, разработанные федерацией Gallente.\", \n    \"description_zh\": \"盖伦特战略货舰设计\", \n    \"descriptionID\": 65106, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66180, \n    \"parentGroupID\": 1089\n  }, \n  \"1093\": {\n    \"description_de\": \"Minmatar-Sprung-Frachter-Designs.\", \n    \"description_en-us\": \"Minmatar jump freighter designs.\", \n    \"description_es\": \"Diseños de cargueros de salto minmatarianos.\", \n    \"description_fr\": \"Modèles de transports de fret hyperspatiaux minmatar.\", \n    \"description_it\": \"Minmatar jump freighter designs.\", \n    \"description_ja\": \"ミンマタージャンプドライブ搭載型輸送艦設計図。\", \n    \"description_ko\": \"민마타의 점프 프레이터입니다.\", \n    \"description_ru\": \"Грузовые корабли с гипердвигателями, разработанные республикой Minmatar.\", \n    \"description_zh\": \"米玛塔尔战略货舰设计\", \n    \"descriptionID\": 65107, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66181, \n    \"parentGroupID\": 1089\n  }, \n  \"1094\": {\n    \"description_de\": \"Skripte zur Kalibrierung bestimmter Modulfunktionen.\", \n    \"description_en-us\": \"Scripts that allow for tuning the effects of certain modules\", \n    \"description_es\": \"Scripts que permiten ajustar los efectos de ciertos módulos.\", \n    \"description_fr\": \"Scripts permettant de régler les effets de certains modules\", \n    \"description_it\": \"Scripts that allow for tuning the effects of certain modules\", \n    \"description_ja\": \"特定のモジュールの効果を調整するスクリプト\", \n    \"description_ko\": \"모듈의 효과를 조정할 수 있는 스크립트입니다.\", \n    \"description_ru\": \"Прошивки, позволяющие профилировать рабочий режим некоторых модулей\", \n    \"description_zh\": \"用于调整特定装备的效果的脚本\", \n    \"descriptionID\": 65160, \n    \"hasTypes\": 1, \n    \"iconID\": 3345, \n    \"name_de\": \"Skripte\", \n    \"name_en-us\": \"Scripts\", \n    \"name_es\": \"Scripts\", \n    \"name_fr\": \"Scripts\", \n    \"name_it\": \"Scripts\", \n    \"name_ja\": \"スクリプト\", \n    \"name_ko\": \"스크립트\", \n    \"name_ru\": \"Скрипты\", \n    \"name_zh\": \"脚本\", \n    \"nameID\": 66234, \n    \"parentGroupID\": 11\n  }, \n  \"1097\": {\n    \"description_de\": \"Blueprints für fortschrittliche Komponenten von Capital Ships.\", \n    \"description_en-us\": \"Blueprints of Advanced Capital Ship Components.\", \n    \"description_es\": \"Planos de componentes de naves capitales avanzadas.\", \n    \"description_fr\": \"Plans de construction de composants de vaisseaux capitaux avancés.\", \n    \"description_it\": \"Blueprints of Advanced Capital Ship Components.\", \n    \"description_ja\": \"高性能主力艦部品のブループリント。\", \n    \"description_ko\": \"상급 캐피탈 함선 부품 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи компонентов для усовершенствованных кораблей большого тоннажа (КБТ).\", \n    \"description_zh\": \"高级旗舰组件蓝图\", \n    \"descriptionID\": 65306, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Fortschrittliche Capital-Schiffskomponenten\", \n    \"name_en-us\": \"Advanced Capital Ship Components\", \n    \"name_es\": \"Componentes de naves capitales avanzadas\", \n    \"name_fr\": \"Composants de vaisseau capital avancés\", \n    \"name_it\": \"Advanced Capital Ship Components\", \n    \"name_ja\": \"高性能主力艦の部品\", \n    \"name_ko\": \"상급 캐피탈 함선 부품\", \n    \"name_ru\": \"Усовершенствованные компоненты КБТ\", \n    \"name_zh\": \"高级旗舰组件\", \n    \"nameID\": 66380, \n    \"parentGroupID\": 800\n  }, \n  \"1103\": {\n    \"description_de\": \"Eine Flüssigkeit voller Nanobots für Notreparaturen von Schiffsmodulen.\", \n    \"description_en-us\": \"A nanite packed-fluid, used for emergency repairs of ship modules\", \n    \"description_es\": \"Un fluido lleno de nanobots que se usa en reparaciones de emergencia de módulos de naves.\", \n    \"description_fr\": \"Liquide saturé de nanites, utilisé pour les réparations d'urgence des modules de vaisseaux.\", \n    \"description_it\": \"A nanite packed-fluid, used for emergency repairs of ship modules\", \n    \"description_ja\": \"艦船のモジュールに緊急修理を施す際に使用するナノマシン入りの液体\", \n    \"description_ko\": \"함선 긴급 수리에 사용되는 나나이트 용액입니다.\", \n    \"description_ru\": \"Содержащая наниты жидкость, использующаяся для срочного ремонта корабельных модулей\", \n    \"description_zh\": \"液态混合状的纳米机器人，用于舰船装备的紧急维修作业\", \n    \"descriptionID\": 65161, \n    \"hasTypes\": 1, \n    \"iconID\": 3302, \n    \"name_de\": \"Nanobot-Reparaturpaste\", \n    \"name_en-us\": \"Nanite Repair Paste\", \n    \"name_es\": \"Fluido reparador de nanobots\", \n    \"name_fr\": \"Nanites de réparation\", \n    \"name_it\": \"Nanite Repair Paste\", \n    \"name_ja\": \"ナノマシンリペアペイスト\", \n    \"name_ko\": \"나나이트 용액\", \n    \"name_ru\": \"Ремонтная нанопаста\", \n    \"name_zh\": \"纳米体修复粘合剂\", \n    \"nameID\": 66235, \n    \"parentGroupID\": 11\n  }, \n  \"1105\": {\n    \"description_de\": \"Blueprints von Skripten.\", \n    \"description_en-us\": \"Blueprints of scripts.\", \n    \"description_es\": \"Planos de scripts.\", \n    \"description_fr\": \"Plans de construction de scripts.\", \n    \"description_it\": \"Blueprints of scripts.\", \n    \"description_ja\": \"スクリプトのブループリント。\", \n    \"description_ko\": \"스크립트 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи программ.\", \n    \"description_zh\": \"脚本蓝图\", \n    \"descriptionID\": 65081, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Skripte\", \n    \"name_en-us\": \"Scripts\", \n    \"name_es\": \"Scripts\", \n    \"name_fr\": \"Scripts\", \n    \"name_it\": \"Scripts\", \n    \"name_ja\": \"スクリプト\", \n    \"name_ko\": \"스크립트\", \n    \"name_ru\": \"Скрипты\", \n    \"name_zh\": \"脚本\", \n    \"nameID\": 66155, \n    \"parentGroupID\": 211\n  }, \n  \"1109\": {\n    \"description_de\": \"Mysteriöse Technologieteile mit Sleeper-Ursprung, heiß begehrt bei einigen Corporations im Imperium\", \n    \"description_en-us\": \"Mysterious pieces of technology of Sleeper origin, coveted by some empire corporations\", \n    \"description_es\": \"Misteriosos fragmentos de tecnología de origen sleeper, codiciados por algunas corporaciones imperiales.\", \n    \"description_fr\": \"Composants technologiques mystérieux d'origine Sleeper convoités par certaines corporations impériales\", \n    \"description_it\": \"Mysterious pieces of technology of Sleeper origin, coveted by some empire corporations\", \n    \"description_ja\": \"スリーパーが生み出した奇怪な機器。帝国のコーポレーションのうちいくつかが求めてやまない。\", \n    \"description_ko\": \"정체불명의 슬리퍼 부품으로 대형 코퍼레이션들이 몹시 탐내고 있습니다.\", \n    \"description_ru\": \"Таинственные обломки устройств Спящих, высоко ценимые некоторыми корпорациями сверхдержав\", \n    \"description_zh\": \"来自冬眠者神秘科技的残片，被一些帝国军团觊觎\", \n    \"descriptionID\": 65401, \n    \"hasTypes\": 1, \n    \"iconID\": 3755, \n    \"name_de\": \"Sleeper-Komponenten\", \n    \"name_en-us\": \"Sleeper Components\", \n    \"name_es\": \"Componentes de sleepers\", \n    \"name_fr\": \"Composants sleeper\", \n    \"name_it\": \"Sleeper Components\", \n    \"name_ja\": \"スリーパーの部品\", \n    \"name_ko\": \"슬리퍼 부품\", \n    \"name_ru\": \"Компоненты Спящих\", \n    \"name_zh\": \"冬眠者组件\", \n    \"nameID\": 66475, \n    \"parentGroupID\": 19\n  }, \n  \"1110\": {\n    \"description_de\": \"Skills zur Anwendung von Verfahren zur Identifizierung und Erkennung von Signaturen.\", \n    \"description_en-us\": \"Skills pertaining to signature recognition and identification procedures\", \n    \"description_es\": \"Habilidades relacionadas con los procedimientos de identificación y reconocimiento de señales.\", \n    \"description_fr\": \"Compétences liées aux procédures d'identification et de reconnaissance des signatures.\", \n    \"description_it\": \"Skills pertaining to signature recognition and identification procedures\", \n    \"description_ja\": \"署名を認識し、個人を特定するスキル\", \n    \"description_ko\": \"시그니처를 보다 효율적으로 감지 및 식별할 수 있습니다.\", \n    \"description_ru\": \"Навыки, необходимые для распознавания и идентификации сигналов в космосе\", \n    \"description_zh\": \"关于信号认定与识别的技能\", \n    \"descriptionID\": 65189, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Scannen\", \n    \"name_en-us\": \"Scanning\", \n    \"name_es\": \"Escaneo\", \n    \"name_fr\": \"Détection\", \n    \"name_it\": \"Scanning\", \n    \"name_ja\": \"スキャン\", \n    \"name_ko\": \"스캔\", \n    \"name_ru\": \"Сбор данных\", \n    \"name_zh\": \"扫描\", \n    \"nameID\": 66263, \n    \"parentGroupID\": 150\n  }, \n  \"1111\": {\n    \"description_de\": \"Modifikationen verändern die Leistung von Schiffen, in denen Sie eingebaut sind. Sie werden zerstört, wenn sie aus einem Schiff entfernt werden.\", \n    \"description_en-us\": \"Rigs modify the performance of ships in which they're installed. Destroyed if removed from a ship\", \n    \"description_es\": \"Los complementos modifican el rendimiento de las naves en las que están instalados. Si se quitan, quedan destruidos.\", \n    \"description_fr\": \"Les modules d'optimisation modifient les performances des vaisseaux dans lesquels ils sont installés. Ils sont détruits si on les enlève d'un vaisseau\", \n    \"description_it\": \"Rigs modify the performance of ships in which they're installed. Destroyed if removed from a ship\", \n    \"description_ja\": \"リグを装備することで、艦船の性能が変わってくる。艦船から撤去すると、再利用できなくなる\", \n    \"description_ko\": \"리그를 탑재하여 함선의 전반적인 성능을 개선합니다. 장착을 해제할 경우 리그는 파괴됩니다.\", \n    \"description_ru\": \"Установленные тюнинг-модули повышают эффективность работы корабельных систем. Уничтожаются, если демонтировать их из разъёмов\", \n    \"description_zh\": \"改装件可以调整舰船的性能。舰船被摧毁后改装件也随之损坏\", \n    \"descriptionID\": 65190, \n    \"hasTypes\": 0, \n    \"iconID\": 3203, \n    \"name_de\": \"Modifikationen\", \n    \"name_en-us\": \"Rigs\", \n    \"name_es\": \"Complementos\", \n    \"name_fr\": \"Modules d'optimisation\", \n    \"name_it\": \"Rigs\", \n    \"name_ja\": \"リグ\", \n    \"name_ko\": \"리그\", \n    \"name_ru\": \"Модификаторы\", \n    \"name_zh\": \"改装件\", \n    \"nameID\": 66264, \n    \"parentGroupID\": 955\n  }, \n  \"1112\": {\n    \"description_de\": \"Komponenten, die dazu benutzt werden, fortschrittliche modulare Raumschiffe zusammenzustellen\", \n    \"description_en-us\": \"Components used to piece together advanced modular spaceships\", \n    \"description_es\": \"Componentes que sirven para ensamblar avanzadas naves modulares.\", \n    \"description_fr\": \"Composants utilisés pour l'assemblage de vaisseaux modulaires avancés\", \n    \"description_it\": \"Components used to piece together advanced modular spaceships\", \n    \"description_ja\": \"モジュールベースの高性能な艦船を組み立てる際に使用する部品\", \n    \"description_ko\": \"모듈식 함선 제작에 사용되는 서브시스템입니다.\", \n    \"description_ru\": \"Компоненты, используемые при сборке кораблей усовершествованных проектов\", \n    \"description_zh\": \"用来组装高度模块化舰船的组件\", \n    \"descriptionID\": 65497, \n    \"hasTypes\": 0, \n    \"iconID\": 3641, \n    \"name_de\": \"Subsysteme\", \n    \"name_en-us\": \"Subsystems\", \n    \"name_es\": \"Subsistemas\", \n    \"name_fr\": \"Sous-systèmes\", \n    \"name_it\": \"Subsystems\", \n    \"name_ja\": \"サブシステム\", \n    \"name_ko\": \"서브시스템\", \n    \"name_ru\": \"Подсистемы\", \n    \"name_zh\": \"子系统\", \n    \"nameID\": 66572, \n    \"parentGroupID\": 955\n  }, \n  \"1122\": {\n    \"description_de\": \"Amarr-Kernsubsysteme.\", \n    \"description_en-us\": \"Amarr core subsystems.\", \n    \"description_es\": \"Subsistemas nuclearios amarrianos.\", \n    \"description_fr\": \"Sous-systèmes principaux amarr.\", \n    \"description_it\": \"Amarr core subsystems.\", \n    \"description_ja\": \"アマーエンジニアリングサブシステム\", \n    \"description_ko\": \"아마르 코어 서브시스템\", \n    \"description_ru\": \"Амаррские центральные подсистемы\", \n    \"description_zh\": \"艾玛核心子系统。\", \n    \"descriptionID\": 65507, \n    \"hasTypes\": 1, \n    \"iconID\": 3636, \n    \"name_de\": \"Amarr-Kernsubsysteme\", \n    \"name_en-us\": \"Amarr Core Subsystems\", \n    \"name_es\": \"Subsistemas nuclearios amarrianos\", \n    \"name_fr\": \"Sous-systèmes principaux amarr\", \n    \"name_it\": \"Amarr Core Subsystems\", \n    \"name_ja\": \"アマーエンジニアリングサブシステム\", \n    \"name_ko\": \"코어 서브시스템\", \n    \"name_ru\": \"Амаррские центральные подсистемы\", \n    \"name_zh\": \"艾玛核心子系统\", \n    \"nameID\": 66582, \n    \"parentGroupID\": 1610\n  }, \n  \"1123\": {\n    \"description_de\": \"Caldari-Kernsubsysteme.\", \n    \"description_en-us\": \"Caldari core subsystems.\", \n    \"description_es\": \"Subsistemas nuclearios caldaris.\", \n    \"description_fr\": \"Sous-systèmes principaux caldari.\", \n    \"description_it\": \"Caldari core subsystems.\", \n    \"description_ja\": \"カルダリエンジニアリングサブシステム。\", \n    \"description_ko\": \"칼다리 코어 서브시스템\", \n    \"description_ru\": \"Калдарские центральные подсистемы\", \n    \"description_zh\": \"加达里核心子系统。\", \n    \"descriptionID\": 65508, \n    \"hasTypes\": 1, \n    \"iconID\": 3636, \n    \"name_de\": \"Caldari-Kernsubsysteme\", \n    \"name_en-us\": \"Caldari Core Subsystems\", \n    \"name_es\": \"Subsistemas nuclearios caldaris\", \n    \"name_fr\": \"Sous-systèmes principaux caldari\", \n    \"name_it\": \"Caldari Core Subsystems\", \n    \"name_ja\": \"カルダリエンジニアリングサブシステム\", \n    \"name_ko\": \"코어 서브시스템\", \n    \"name_ru\": \"Калдарские центральные подсистемы\", \n    \"name_zh\": \"加达里核心子系统\", \n    \"nameID\": 66583, \n    \"parentGroupID\": 1625\n  }, \n  \"1124\": {\n    \"description_de\": \"Gallente-Kernsubsysteme.\", \n    \"description_en-us\": \"Gallente core subsystems.\", \n    \"description_es\": \"Subsistemas nuclearios gallentes.\", \n    \"description_fr\": \"Sous-systèmes principaux gallente.\", \n    \"description_it\": \"Gallente core subsystems.\", \n    \"description_ja\": \"ガレンテエンジニアリングサブシステム\", \n    \"description_ko\": \"갈란테 코어 서브시스템\", \n    \"description_ru\": \"Галлентские центральные подсистемы\", \n    \"description_zh\": \"盖伦特核心子系统。\", \n    \"descriptionID\": 65509, \n    \"hasTypes\": 1, \n    \"iconID\": 3636, \n    \"name_de\": \"Gallente-Kernsubsysteme\", \n    \"name_en-us\": \"Gallente Core Subsystems\", \n    \"name_es\": \"Subsistemas nuclearios gallentes\", \n    \"name_fr\": \"Sous-systèmes principaux gallente\", \n    \"name_it\": \"Gallente Core Subsystems\", \n    \"name_ja\": \"ガレンテエンジニアリングサブシステム\", \n    \"name_ko\": \"코어 서브시스템\", \n    \"name_ru\": \"Галлентские центральные подсистемы\", \n    \"name_zh\": \"盖伦特核心子系统\", \n    \"nameID\": 66584, \n    \"parentGroupID\": 1627\n  }, \n  \"1125\": {\n    \"description_de\": \"Minmatar-Kernsubsysteme.\", \n    \"description_en-us\": \"Minmatar core subsystems.\", \n    \"description_es\": \"Subsistemas nuclearios minmatarianos.\", \n    \"description_fr\": \"Sous-systèmes principaux minmatar.\", \n    \"description_it\": \"Minmatar core subsystems.\", \n    \"description_ja\": \"ミンマターエンジニアリングサブシステム\", \n    \"description_ko\": \"민마타 코어 서브시스템\", \n    \"description_ru\": \"Минматарские центральные подсистемы\", \n    \"description_zh\": \"米玛塔尔核心子系统。\", \n    \"descriptionID\": 65510, \n    \"hasTypes\": 1, \n    \"iconID\": 3636, \n    \"name_de\": \"Minmatar-Kernsubsysteme\", \n    \"name_en-us\": \"Minmatar Core Subsystems\", \n    \"name_es\": \"Subsistemas nuclearios minmatarianos\", \n    \"name_fr\": \"Sous-systèmes principaux minmatar\", \n    \"name_it\": \"Minmatar Core Subsystems\", \n    \"name_ja\": \"ミンマターエンジニアリングサブシステム\", \n    \"name_ko\": \"코어 서브시스템\", \n    \"name_ru\": \"Минматарские центральные подсистемы\", \n    \"name_zh\": \"米玛塔尔核心子系统\", \n    \"nameID\": 66585, \n    \"parentGroupID\": 1626\n  }, \n  \"1126\": {\n    \"description_de\": \"Amarrianische Verteidigungs-Subsysteme.\", \n    \"description_en-us\": \"Amarr defensive subsystems.\", \n    \"description_es\": \"Subsistemas defensivos amarrianos.\", \n    \"description_fr\": \"Sous-systèmes défensifs amarr.\", \n    \"description_it\": \"Amarr defensive subsystems.\", \n    \"description_ja\": \"アマーの防御サブシステム。\", \n    \"description_ko\": \"아마르 방어용 서브시스템\", \n    \"description_ru\": \"Оборонительные подсистемы Amarr.\", \n    \"description_zh\": \"艾玛防御子系统。\", \n    \"descriptionID\": 65511, \n    \"hasTypes\": 1, \n    \"iconID\": 3631, \n    \"name_de\": \"Amarr-Verteidigungssubsysteme\", \n    \"name_en-us\": \"Amarr Defensive Subsystems\", \n    \"name_es\": \"Subsistemas defensivos amarrianos\", \n    \"name_fr\": \"Sous-systèmes défensifs amarr\", \n    \"name_it\": \"Amarr Defensive Subsystems\", \n    \"name_ja\": \"アマー防御サブシステム\", \n    \"name_ko\": \"방어용 서브시스템\", \n    \"name_ru\": \"Амаррские оборонительные подсистемы\", \n    \"name_zh\": \"艾玛防御子系统\", \n    \"nameID\": 66586, \n    \"parentGroupID\": 1610\n  }, \n  \"1127\": {\n    \"description_de\": \"Caldarische Verteidigungs-Subsysteme.\", \n    \"description_en-us\": \"Caldari defensive subsystems.\", \n    \"description_es\": \"Subsistemas defensivos caldaris.\", \n    \"description_fr\": \"Sous-systèmes défensifs caldari.\", \n    \"description_it\": \"Caldari defensive subsystems.\", \n    \"description_ja\": \"カルダリの防御サブシステム。\", \n    \"description_ko\": \"칼다리 방어용 서브시스템\", \n    \"description_ru\": \"Оборонительные подсистемы Caldari.\", \n    \"description_zh\": \"加达里防御子系统。\", \n    \"descriptionID\": 65512, \n    \"hasTypes\": 1, \n    \"iconID\": 3631, \n    \"name_de\": \"Caldari-Verteidigungssubsysteme\", \n    \"name_en-us\": \"Caldari Defensive Subsystems\", \n    \"name_es\": \"Subsistemas defensivos caldaris\", \n    \"name_fr\": \"Sous-systèmes défensifs caldari\", \n    \"name_it\": \"Caldari Defensive Subsystems\", \n    \"name_ja\": \"カルダリ防御サブシステム\", \n    \"name_ko\": \"방어용 서브시스템\", \n    \"name_ru\": \"Калдарские оборонительные подсистемы\", \n    \"name_zh\": \"加达里防御子系统\", \n    \"nameID\": 66587, \n    \"parentGroupID\": 1625\n  }, \n  \"1128\": {\n    \"description_de\": \"Minmatarische Verteidigungs-Subsysteme.\", \n    \"description_en-us\": \"Minmatar defensive subsystems.\", \n    \"description_es\": \"Subsistemas defensivos minmatarianos.\", \n    \"description_fr\": \"Sous-systèmes défensifs minmatar.\", \n    \"description_it\": \"Minmatar defensive subsystems.\", \n    \"description_ja\": \"ミンマターの防御サブシステム。\", \n    \"description_ko\": \"민마타 방어용 서브시스템\", \n    \"description_ru\": \"Оборонительные подсистемы Minmatar.\", \n    \"description_zh\": \"米玛塔尔防御子系统。\", \n    \"descriptionID\": 65513, \n    \"hasTypes\": 1, \n    \"iconID\": 3631, \n    \"name_de\": \"Minmatar-Verteidigungssubsysteme\", \n    \"name_en-us\": \"Minmatar Defensive Subsystems\", \n    \"name_es\": \"Subsistemas defensivos minmatarianos\", \n    \"name_fr\": \"Sous-systèmes défensifs minmatar\", \n    \"name_it\": \"Minmatar Defensive Subsystems\", \n    \"name_ja\": \"ミンマター防御サブシステム\", \n    \"name_ko\": \"방어용 서브시스템\", \n    \"name_ru\": \"Минматарские оборонительные подсистемы\", \n    \"name_zh\": \"米玛塔尔防御子系统\", \n    \"nameID\": 66588, \n    \"parentGroupID\": 1626\n  }, \n  \"1129\": {\n    \"description_de\": \"Gallentische Verteidigungs-Subsysteme.\", \n    \"description_en-us\": \"Gallente defensive subsystems.\", \n    \"description_es\": \"Subsistemas defensivos gallentes.\", \n    \"description_fr\": \"Sous-systèmes défensifs gallente.\", \n    \"description_it\": \"Gallente defensive subsystems.\", \n    \"description_ja\": \"ガレンテの防御サブシステム。\", \n    \"description_ko\": \"갈란테 방어용 서브시스템\", \n    \"description_ru\": \"Оборонительные подсистемы Gallente.\", \n    \"description_zh\": \"盖伦特防御子系统。\", \n    \"descriptionID\": 65514, \n    \"hasTypes\": 1, \n    \"iconID\": 3631, \n    \"name_de\": \"Gallente-Verteidigungssubsysteme\", \n    \"name_en-us\": \"Gallente Defensive Subsystems\", \n    \"name_es\": \"Subsistemas defensivos gallentes\", \n    \"name_fr\": \"Sous-systèmes défensifs gallente\", \n    \"name_it\": \"Gallente Defensive Subsystems\", \n    \"name_ja\": \"ガレンテ防御サブシステム\", \n    \"name_ko\": \"방어용 서브시스템\", \n    \"name_ru\": \"Галлентские оборонительные подсистемы\", \n    \"name_zh\": \"盖伦特防御子系统\", \n    \"nameID\": 66589, \n    \"parentGroupID\": 1627\n  }, \n  \"1130\": {\n    \"description_de\": \"Amarrianische Angriffs-Subsysteme.\", \n    \"description_en-us\": \"Amarr offensive subsystems.\", \n    \"description_es\": \"Subsistemas ofensivos amarrianos.\", \n    \"description_fr\": \"Sous-systèmes offensifs amarr.\", \n    \"description_it\": \"Amarr offensive subsystems.\", \n    \"description_ja\": \"アマー攻撃サブシステム。\", \n    \"description_ko\": \"아마르 공격용 서브시스템\", \n    \"description_ru\": \"Наступательные подсистемы Amarr.\", \n    \"description_zh\": \"艾玛攻击子系统。\", \n    \"descriptionID\": 65515, \n    \"hasTypes\": 1, \n    \"iconID\": 3641, \n    \"name_de\": \"Amarr-Angriffssubsysteme\", \n    \"name_en-us\": \"Amarr Offensive Subsystems\", \n    \"name_es\": \"Subsistemas ofensivos amarrianos\", \n    \"name_fr\": \"Sous-systèmes offensifs amarr\", \n    \"name_it\": \"Amarr Offensive Subsystems\", \n    \"name_ja\": \"アマー攻撃サブシステム\", \n    \"name_ko\": \"공격용 서브시스템\", \n    \"name_ru\": \"Амаррские наступательные подсистемы\", \n    \"name_zh\": \"艾玛攻击子系统\", \n    \"nameID\": 66590, \n    \"parentGroupID\": 1610\n  }, \n  \"1131\": {\n    \"description_de\": \"Caldarische Angriffs-Subsysteme.\", \n    \"description_en-us\": \"Caldari offensive subsystems.\", \n    \"description_es\": \"Subsistemas ofensivos caldaris.\", \n    \"description_fr\": \"Sous-systèmes offensifs caldari.\", \n    \"description_it\": \"Caldari offensive subsystems.\", \n    \"description_ja\": \"カルダリの攻撃サブシステム。\", \n    \"description_ko\": \"칼다리 공격용 서브시스템\", \n    \"description_ru\": \"Наступательные подсистемы Caldari.\", \n    \"description_zh\": \"加达里攻击子系统。\", \n    \"descriptionID\": 65516, \n    \"hasTypes\": 1, \n    \"iconID\": 3641, \n    \"name_de\": \"Caldari-Angriffssubsysteme\", \n    \"name_en-us\": \"Caldari Offensive Subsystems\", \n    \"name_es\": \"Subsistemas ofensivos caldaris\", \n    \"name_fr\": \"Sous-systèmes offensifs caldari\", \n    \"name_it\": \"Caldari Offensive Subsystems\", \n    \"name_ja\": \"カルダリ攻撃サブシステム\", \n    \"name_ko\": \"공격용 서브시스템\", \n    \"name_ru\": \"Калдарские наступательные подсистемы\", \n    \"name_zh\": \"加达里攻击子系统\", \n    \"nameID\": 66591, \n    \"parentGroupID\": 1625\n  }, \n  \"1132\": {\n    \"description_de\": \"Gallentische Angriffs-Subsysteme.\", \n    \"description_en-us\": \"Gallente offensive subsystems.\", \n    \"description_es\": \"Subsistemas ofensivos gallentes.\", \n    \"description_fr\": \"Sous-systèmes offensifs gallente.\", \n    \"description_it\": \"Gallente offensive subsystems.\", \n    \"description_ja\": \"ガレンテ の攻撃サブシステム。\", \n    \"description_ko\": \"갈란테 공격용 서브시스템\", \n    \"description_ru\": \"Наступательные подсистемы Gallente.\", \n    \"description_zh\": \"盖伦特攻击子系统。\", \n    \"descriptionID\": 65517, \n    \"hasTypes\": 1, \n    \"iconID\": 3641, \n    \"name_de\": \"Gallente-Angriffssubsysteme\", \n    \"name_en-us\": \"Gallente Offensive Subsystems\", \n    \"name_es\": \"Subsistemas ofensivos gallentes\", \n    \"name_fr\": \"Sous-systèmes offensifs gallente\", \n    \"name_it\": \"Gallente Offensive Subsystems\", \n    \"name_ja\": \"ガレンテ攻撃サブシステム\", \n    \"name_ko\": \"공격용 서브시스템\", \n    \"name_ru\": \"Галлентские наступательные подсистемы\", \n    \"name_zh\": \"盖伦特攻击子系统\", \n    \"nameID\": 66592, \n    \"parentGroupID\": 1627\n  }, \n  \"1133\": {\n    \"description_de\": \"Minmatarische Angriffs-Subsysteme.\", \n    \"description_en-us\": \"Minmatar offensive subsystems.\", \n    \"description_es\": \"Subsistemas ofensivos minmatarianos.\", \n    \"description_fr\": \"Sous-systèmes offensifs minmatar.\", \n    \"description_it\": \"Minmatar offensive subsystems.\", \n    \"description_ja\": \"ミンマター攻撃サブシステム。\", \n    \"description_ko\": \"민마타 공격용 서브시스템\", \n    \"description_ru\": \"Наступательные подсистемы Minmatar.\", \n    \"description_zh\": \"米玛塔尔攻击子系统。\", \n    \"descriptionID\": 65518, \n    \"hasTypes\": 1, \n    \"iconID\": 3641, \n    \"name_de\": \"Minmatar-Angriffssubsysteme\", \n    \"name_en-us\": \"Minmatar Offensive Subsystems\", \n    \"name_es\": \"Subsistemas ofensivos minmatarianos\", \n    \"name_fr\": \"Sous-systèmes offensifs minmatar\", \n    \"name_it\": \"Minmatar Offensive Subsystems\", \n    \"name_ja\": \"ミンマター攻撃サブシステム\", \n    \"name_ko\": \"공격용 서브시스템\", \n    \"name_ru\": \"Минматарские наступательные подсистемы\", \n    \"name_zh\": \"米玛塔尔攻击子系统\", \n    \"nameID\": 66593, \n    \"parentGroupID\": 1626\n  }, \n  \"1134\": {\n    \"description_de\": \"Amarrianische Antriebs-Subsysteme.\", \n    \"description_en-us\": \"Amarr propulsion subsystems.\", \n    \"description_es\": \"Subsistemas de propulsión amarrianos.\", \n    \"description_fr\": \"Sous-systèmes de propulsion amarr.\", \n    \"description_it\": \"Amarr propulsion subsystems.\", \n    \"description_ja\": \"アマー推進力サブシステム。\", \n    \"description_ko\": \"아마르 추진기 서브시스템\", \n    \"description_ru\": \"Двигательные подсистемы Amarr.\", \n    \"description_zh\": \"艾玛推进子系统。\", \n    \"descriptionID\": 65519, \n    \"hasTypes\": 1, \n    \"iconID\": 3646, \n    \"name_de\": \"Amarr-Antriebssubsysteme\", \n    \"name_en-us\": \"Amarr Propulsion Subsystems\", \n    \"name_es\": \"Subsistemas de propulsión amarrianos\", \n    \"name_fr\": \"Sous-systèmes de propulsion amarr\", \n    \"name_it\": \"Amarr Propulsion Subsystems\", \n    \"name_ja\": \"アマー推進力サブシステム\", \n    \"name_ko\": \"추진기 서브시스템\", \n    \"name_ru\": \"Амаррские двигательные подсистемы\", \n    \"name_zh\": \"艾玛推进子系统\", \n    \"nameID\": 66594, \n    \"parentGroupID\": 1610\n  }, \n  \"1135\": {\n    \"description_de\": \"Caldarische Antriebs-Subsysteme.\", \n    \"description_en-us\": \"Caldari propulsion subsystems.\", \n    \"description_es\": \"Subsistemas de propulsión caldaris.\", \n    \"description_fr\": \"Sous-systèmes de propulsion caldari.\", \n    \"description_it\": \"Caldari propulsion subsystems.\", \n    \"description_ja\": \"カルダリ推進力サブシステム。\", \n    \"description_ko\": \"칼다리 추진기 서브시스템\", \n    \"description_ru\": \"Двигательные подсистемы Caldari.\", \n    \"description_zh\": \"加达里推进子系统。\", \n    \"descriptionID\": 65520, \n    \"hasTypes\": 1, \n    \"iconID\": 3646, \n    \"name_de\": \"Caldari-Antriebssubsysteme\", \n    \"name_en-us\": \"Caldari Propulsion Subsystems\", \n    \"name_es\": \"Subsistemas de propulsión caldaris\", \n    \"name_fr\": \"Sous-systèmes de propulsion caldari\", \n    \"name_it\": \"Caldari Propulsion Subsystems\", \n    \"name_ja\": \"カルダリ推進力サブシステム\", \n    \"name_ko\": \"추진기 서브시스템\", \n    \"name_ru\": \"Калдарские двигательные подсистемы\", \n    \"name_zh\": \"加达里推进子系统\", \n    \"nameID\": 66595, \n    \"parentGroupID\": 1625\n  }, \n  \"1136\": {\n    \"description_de\": \"Gallentische Antriebs-Subsysteme.\", \n    \"description_en-us\": \"Gallente propulsion subsystems.\", \n    \"description_es\": \"Subsistemas de propulsión gallentes.\", \n    \"description_fr\": \"Sous-systèmes de propulsion gallente.\", \n    \"description_it\": \"Gallente propulsion subsystems.\", \n    \"description_ja\": \"ガレンテ推進力サブシステム。\", \n    \"description_ko\": \"갈란테 추진기 서브시스템\", \n    \"description_ru\": \"Двигательные подсистемы Gallente.\", \n    \"description_zh\": \"盖伦特推进子系统。\", \n    \"descriptionID\": 65521, \n    \"hasTypes\": 1, \n    \"iconID\": 3646, \n    \"name_de\": \"Gallente-Antriebssubsysteme\", \n    \"name_en-us\": \"Gallente Propulsion Subsystems\", \n    \"name_es\": \"Subsistemas de propulsión gallentes\", \n    \"name_fr\": \"Sous-systèmes de propulsion gallente\", \n    \"name_it\": \"Gallente Propulsion Subsystems\", \n    \"name_ja\": \"ガレンテ推進力サブシステム\", \n    \"name_ko\": \"추진기 서브시스템\", \n    \"name_ru\": \"Галлентские двигательные подсистемы\", \n    \"name_zh\": \"盖伦特推进子系统\", \n    \"nameID\": 66596, \n    \"parentGroupID\": 1627\n  }, \n  \"1137\": {\n    \"description_de\": \"Minmatarische Antriebs-Subsysteme.\", \n    \"description_en-us\": \"Minmatar propulsion subsystems.\", \n    \"description_es\": \"Subsistemas de propulsión minmatarianos.\", \n    \"description_fr\": \"Sous-systèmes de propulsion minmatar.\", \n    \"description_it\": \"Minmatar propulsion subsystems.\", \n    \"description_ja\": \"ミンマター推進力サブシステム。\", \n    \"description_ko\": \"민마타 추진기 서브시스템\", \n    \"description_ru\": \"Двигательные подсистемы Minmatar.\", \n    \"description_zh\": \"米玛塔尔推进子系统。\", \n    \"descriptionID\": 65522, \n    \"hasTypes\": 1, \n    \"iconID\": 3646, \n    \"name_de\": \"Minmatar-Antriebssubsysteme\", \n    \"name_en-us\": \"Minmatar Propulsion Subsystems\", \n    \"name_es\": \"Subsistemas de propulsión minmatarianos\", \n    \"name_fr\": \"Sous-systèmes de propulsion minmatar\", \n    \"name_it\": \"Minmatar Propulsion Subsystems\", \n    \"name_ja\": \"ミンマター推進力サブシステム\", \n    \"name_ko\": \"추진기 서브시스템\", \n    \"name_ru\": \"Минматарские двигательные подсистемы\", \n    \"name_zh\": \"米玛塔尔推进子系统\", \n    \"nameID\": 66597, \n    \"parentGroupID\": 1626\n  }, \n  \"1138\": {\n    \"description_de\": \"Fortschrittliche Kreuzer, die modulare Komponenten benutzen, um maximale Vielseitigkeit zu erreichen.\", \n    \"description_en-us\": \"Highly advanced cruisers that use modular components to achieve maximum versatility.\", \n    \"description_es\": \"Cruceros sumamente avanzados que usan componentes modulares para alcanzar la máxima versatilidad.\", \n    \"description_fr\": \"Croiseurs ultra avancés qui utilisent des composants modulaires pour une plus grande polyvalence.\", \n    \"description_it\": \"Highly advanced cruisers that use modular components to achieve maximum versatility.\", \n    \"description_ja\": \"構成部品をモジュール化することで汎用性を最大限に引き出した極めて高性能な巡洋艦。\", \n    \"description_ko\": \"모듈 개조를 통해 다양한 성능을 낼 수 있는 최첨단 크루저입니다.\", \n    \"description_ru\": \"Высокотехнологичные крейсера, оптимизация которых для выполнения конкретных задач осуществляется путем изменения конфигурации модульного корпуса.\", \n    \"description_zh\": \"非常先进的模块化巡洋舰，可以胜任多种用途。\", \n    \"descriptionID\": 65370, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Strategische Kreuzer\", \n    \"name_en-us\": \"Strategic Cruisers\", \n    \"name_es\": \"Cruceros estratégicos\", \n    \"name_fr\": \"Croiseurs stratégiques\", \n    \"name_it\": \"Strategic Cruisers\", \n    \"name_ja\": \"戦略的巡洋艦\", \n    \"name_ko\": \"전략 크루저\", \n    \"name_ru\": \"Стратегические крейсеры\", \n    \"name_zh\": \"战略巡洋舰\", \n    \"nameID\": 66444, \n    \"parentGroupID\": 1368\n  }, \n  \"1139\": {\n    \"description_de\": \"Designs amarrianischer stategischer Kreuzer.\", \n    \"description_en-us\": \"Amarr strategic cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros estratégicos amarrianos.\", \n    \"description_fr\": \"Modèles de croiseurs stratégiques amarr.\", \n    \"description_it\": \"Amarr strategic cruiser designs.\", \n    \"description_ja\": \"アマー戦略的巡洋艦設計図。\", \n    \"description_ko\": \"아마르의 전략 크루저입니다.\", \n    \"description_ru\": \"Стратегические крейсеры разработки Империи Amarr.\", \n    \"description_zh\": \"艾玛战略巡洋舰设计\", \n    \"descriptionID\": 65271, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 66345, \n    \"parentGroupID\": 1138\n  }, \n  \"1140\": {\n    \"description_de\": \"Designs caldarischer strategischer Kreuzer.\", \n    \"description_en-us\": \"Caldari strategic cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros estratégicos caldaris.\", \n    \"description_fr\": \"Modèles de croiseurs stratégiques caldari.\", \n    \"description_it\": \"Caldari strategic cruiser designs.\", \n    \"description_ja\": \"ガレンテ戦略的巡洋艦設計図。\", \n    \"description_ko\": \"칼다리의 전략 크루저입니다.\", \n    \"description_ru\": \"Стратегические крейсеры разработки Государства Caldari.\", \n    \"description_zh\": \"加达里战略巡洋舰设计\", \n    \"descriptionID\": 65272, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 66346, \n    \"parentGroupID\": 1138\n  }, \n  \"1141\": {\n    \"description_de\": \"Designs gallentischer strategischer Kreuzer.\", \n    \"description_en-us\": \"Gallente strategic cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros estratégicos gallentes.\", \n    \"description_fr\": \"Modèles de croiseurs stratégiques gallente.\", \n    \"description_it\": \"Gallente strategic cruiser designs.\", \n    \"description_ja\": \"ガレンテの戦略的な巡洋艦設計図。\", \n    \"description_ko\": \"갈란테의 전략 크루저입니다.\", \n    \"description_ru\": \"Стратегические крейсеры разработки Федерации Gallente.\", \n    \"description_zh\": \"盖伦特战略巡洋舰设计\", \n    \"descriptionID\": 65273, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 66347, \n    \"parentGroupID\": 1138\n  }, \n  \"1142\": {\n    \"description_de\": \"Designs minmatarischer strategischer Kreuzer.\", \n    \"description_en-us\": \"Minmatar strategic cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros estratégicos minmatarianos.\", \n    \"description_fr\": \"Modèles de croiseurs stratégiques minmatar.\", \n    \"description_it\": \"Minmatar strategic cruiser designs.\", \n    \"description_ja\": \"ミンマター戦略的巡洋艦設計書。\", \n    \"description_ko\": \"민마타의 전략 크루저입니다.\", \n    \"description_ru\": \"Стратегические крейсеры разработки Республики Minmatar.\", \n    \"description_zh\": \"米玛塔尔战略巡洋舰设计\", \n    \"descriptionID\": 65274, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 66348, \n    \"parentGroupID\": 1138\n  }, \n  \"1147\": {\n    \"description_de\": \"Die Bausteine fortschrittlicher Subsysteme.\", \n    \"description_en-us\": \"The building blocks of advanced subsystems.\", \n    \"description_es\": \"Los pilares básicos de los subsistemas avanzados.\", \n    \"description_fr\": \"Blocs de construction des sous-systèmes avancés.\", \n    \"description_it\": \"The building blocks of advanced subsystems.\", \n    \"description_ja\": \"高性能サブシステムの建築素材。\", \n    \"description_ko\": \"첨단 서브시스템의 근간을 이루는 부품입니다.\", \n    \"description_ru\": \"Компоненты усовершенствованных подсистем.\", \n    \"description_zh\": \"制造先进子系统所需的各种组件。\", \n    \"descriptionID\": 65454, \n    \"hasTypes\": 1, \n    \"iconID\": 3721, \n    \"name_de\": \"Subsystem-Komponenten\", \n    \"name_en-us\": \"Subsystem Components\", \n    \"name_es\": \"Componentes de subsistemas\", \n    \"name_fr\": \"Composants de sous-système\", \n    \"name_it\": \"Subsystem Components\", \n    \"name_ja\": \"サブシステム部品\", \n    \"name_ko\": \"서브시스템 부품\", \n    \"name_ru\": \"Компоненты подсистем\", \n    \"name_zh\": \"子系统组件\", \n    \"nameID\": 66529, \n    \"parentGroupID\": 1035\n  }, \n  \"1191\": {\n    \"description_de\": \"Blaupausen für Subsystem-Komponenten\", \n    \"description_en-us\": \"Blueprints of Subsystem Components.\", \n    \"description_es\": \"Planos de componentes de subsistemas.\", \n    \"description_fr\": \"Plans de construction de composants de sous-système.\", \n    \"description_it\": \"Blueprints of Subsystem Components.\", \n    \"description_ja\": \"サブシステム部品のブループリント。\", \n    \"description_ko\": \"서브시스템 부품 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи компонентов для подсистем.\", \n    \"description_zh\": \"子系统组件的蓝图。\", \n    \"descriptionID\": 65308, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Subsystem-Komponenten\", \n    \"name_en-us\": \"Subsystem Components\", \n    \"name_es\": \"Componentes de subsistemas\", \n    \"name_fr\": \"Composants de sous-système\", \n    \"name_it\": \"Subsystem Components\", \n    \"name_ja\": \"サブシステム部品\", \n    \"name_ko\": \"서브시스템 부품\", \n    \"name_ru\": \"Компоненты подсистем\", \n    \"name_zh\": \"子系统组件\", \n    \"nameID\": 66382, \n    \"parentGroupID\": 800\n  }, \n  \"1192\": {\n    \"description_de\": \"Designs für Fraktions-Auto-Zielerfassung.\", \n    \"description_en-us\": \"Faction auto-targeting designs.\", \n    \"description_es\": \"Diseños faccionarios de adquisición automática de objetivos.\", \n    \"description_fr\": \"Modèles de ciblages automatiques de faction.\", \n    \"description_it\": \"Faction auto-targeting designs.\", \n    \"description_ja\": \"勢力別自動捕捉型ミサイルの設計図。\", \n    \"description_ko\": \"팩션 오토 타겟팅입니다.\", \n    \"description_ru\": \"Модификации фракционных ракет, оборудованных системами самонаведения.\", \n    \"description_zh\": \"势力自动锁导弹设计。\", \n    \"descriptionID\": 65392, \n    \"hasTypes\": 1, \n    \"iconID\": 1335, \n    \"name_de\": \"Fraktion\", \n    \"name_en-us\": \"Faction Auto-Targeting\", \n    \"name_es\": \"Adquisición automática de objetivos faccionaria\", \n    \"name_fr\": \"Auto-ciblage de faction\", \n    \"name_it\": \"Faction Auto-Targeting\", \n    \"name_ja\": \"勢力別自動捕捉型\", \n    \"name_ko\": \"팩션 오토 타겟팅 미사일\", \n    \"name_ru\": \"Армейские\", \n    \"name_zh\": \"势力自动锁定导弹\", \n    \"nameID\": 66466, \n    \"parentGroupID\": 115\n  }, \n  \"1193\": {\n    \"description_de\": \"Standard XL Torpedo-Designs.\", \n    \"description_en-us\": \"Standard XL torpedo designs.\", \n    \"description_es\": \"Diseños de torpedos XL estándar.\", \n    \"description_fr\": \"Modèles de torpilles XL standard.\", \n    \"description_it\": \"Standard XL torpedo designs.\", \n    \"description_ja\": \"標準型XLトルピードの設計。\", \n    \"description_ko\": \"일반 XL 토피도입니다.\", \n    \"description_ru\": \"Проекты стандартных вариантов оснащения торпед.\", \n    \"description_zh\": \"标准超大型鱼雷设计。\", \n    \"descriptionID\": 65393, \n    \"hasTypes\": 1, \n    \"iconID\": 1346, \n    \"name_de\": \"Standard XL Torpedos\", \n    \"name_en-us\": \"Standard XL Torpedoes\", \n    \"name_es\": \"Torpedos XL estándar\", \n    \"name_fr\": \"Torpilles standard XL\", \n    \"name_it\": \"Standard XL Torpedoes\", \n    \"name_ja\": \"標準型XLトルピード\", \n    \"name_ko\": \"일반 XL 토피도\", \n    \"name_ru\": \"Стандартные\", \n    \"name_zh\": \"标准超大型鱼雷\", \n    \"nameID\": 66467, \n    \"parentGroupID\": 505\n  }, \n  \"1194\": {\n    \"description_de\": \"Fraktion XL Torpedo-Designs.\", \n    \"description_en-us\": \"Faction XL torpedo designs.\", \n    \"description_es\": \"Diseños de torpedos XL faccionarios.\", \n    \"description_fr\": \"Modèles de torpilles XL de faction.\", \n    \"description_it\": \"Faction XL torpedo designs.\", \n    \"description_ja\": \"ファクションXLトルピードの設計。\", \n    \"description_ko\": \"팩션 XL 토피도입니다.\", \n    \"description_ru\": \"Проекты пиратских и армейских торпед.\", \n    \"description_zh\": \"势力超大型鱼雷设计。\", \n    \"descriptionID\": 65394, \n    \"hasTypes\": 1, \n    \"iconID\": 1346, \n    \"name_de\": \"Fraktion XL Torpedos\", \n    \"name_en-us\": \"Faction XL Torpedoes\", \n    \"name_es\": \"Torpedos XL faccionarios\", \n    \"name_fr\": \"Torpilles de faction XL\", \n    \"name_it\": \"Faction XL Torpedoes\", \n    \"name_ja\": \"ファクションXLトルピード\", \n    \"name_ko\": \"팩션 XL 토피도\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力超大型鱼雷\", \n    \"nameID\": 66468, \n    \"parentGroupID\": 505\n  }, \n  \"1195\": {\n    \"description_de\": \"Streben und Bänder, welche die strukturelle Haltbarkeit eines Raumschiffs verbessern.\", \n    \"description_en-us\": \"Struts and braces that help improve a starship's structural integrity.\", \n    \"description_es\": \"Montantes y soportes que ayudan a mejorar la integridad estructural de una nave.\", \n    \"description_fr\": \"Traverses et supports contribuant à améliorer l'intégrité structurale d'un vaisseau spatial.\", \n    \"description_it\": \"Struts and braces that help improve a starship's structural integrity.\", \n    \"description_ja\": \"宇宙船の構造強度を向上させる補強材や固定具。\", \n    \"description_ko\": \"함선의 선체 내구도를 향상하는 강화 격벽입니다.\", \n    \"description_ru\": \"Распорки и стяжки, применяемые для укрепления несущих конструкций кораблей.\", \n    \"description_zh\": \"提高舰船结构强度的各种支撑构架。\", \n    \"descriptionID\": 65389, \n    \"hasTypes\": 1, \n    \"iconID\": 76, \n    \"name_de\": \"Verstärkte Schotten\", \n    \"name_en-us\": \"Reinforced Bulkheads\", \n    \"name_es\": \"Mamparos reforzados\", \n    \"name_fr\": \"Cloisons renforcées\", \n    \"name_it\": \"Reinforced Bulkheads\", \n    \"name_ja\": \"追加隔壁\", \n    \"name_ko\": \"강화 격벽\", \n    \"name_ru\": \"Усиленные переборки\", \n    \"name_zh\": \"强化舱隔壁\", \n    \"nameID\": 66463, \n    \"parentGroupID\": 135\n  }, \n  \"1196\": {\n    \"description_de\": \"Leichte Materialien, die eine Geschwindigkeitsverbesserung auf Kosten der Stabilität der internen Struktur bewirken.\", \n    \"description_en-us\": \"Lightweight materials that provide a boost in speed by weakening a starship's internal structure.\", \n    \"description_es\": \"Materiales ligeros que mejoran la velocidad de la nave a costa de debilitar su estructura interna.\", \n    \"description_fr\": \"Matériaux légers qui donnent une accélération en affaiblissant la structure interne d'un vaisseau spatial.\", \n    \"description_it\": \"Lightweight materials that provide a boost in speed by weakening a starship's internal structure.\", \n    \"description_ja\": \"軽量化素材で、船の速度が向上する一方、内部構造の強度は低下する。\", \n    \"description_ko\": \"가볍지만 경도가 낮은 물질로 이루어져 함선의 속도가 증가하는 반면 함선의 선체 내구도가 감소합니다.\", \n    \"description_ru\": \"Сверхлегкие материалы, обеспечивающие выигрыш в скорости за счет снижения веса несущих конструкций корабля и уменьшения их надежности.\", \n    \"description_zh\": \"此类轻质材料通过牺牲舰船结构强度来提升舰船速度。\", \n    \"descriptionID\": 65390, \n    \"hasTypes\": 1, \n    \"iconID\": 1042, \n    \"name_de\": \"Interne Nanofaserstrukturen\", \n    \"name_en-us\": \"Nanofiber Internal Structures\", \n    \"name_es\": \"Estructuras internas de nanofibra\", \n    \"name_fr\": \"Structures internes en nanofibre\", \n    \"name_it\": \"Nanofiber Internal Structures\", \n    \"name_ja\": \"ナノファイバー船内構造\", \n    \"name_ko\": \"나노섬유 내부 스탠드업 구조물\", \n    \"name_ru\": \"Нановолоконные несущие конструкции\", \n    \"name_zh\": \"纳米纤维内部构架\", \n    \"nameID\": 66464, \n    \"parentGroupID\": 135\n  }, \n  \"1197\": {\n    \"description_de\": \"Der zusätzliche Stauraum, den diese Erweiterung einem Raumschiff hinzufügt, reduziert zwar dessen Geschwindigkeit, bietet aber auch mehr Platz, um Fracht zu lagern.\", \n    \"description_en-us\": \"The extra bulk this expansion adds to a starship reduces its speed, but gives it more room to store cargo.\", \n    \"description_es\": \"El volumen adicional que añade esta expansión a una nave reduce su velocidad, pero le proporciona más espacio de almacenamiento.\", \n    \"description_fr\": \"Le volume supplémentaire qu'apporte cette extension à un vaisseau spatial réduit sa vitesse, mais offre plus d'espace de stockage des marchandises.\", \n    \"description_it\": \"The extra bulk this expansion adds to a starship reduces its speed, but gives it more room to store cargo.\", \n    \"description_ja\": \"この拡張パーツはかさばるので宇宙船の速度を鈍らせるが、カーゴ容量を増やしてくれる。\", \n    \"description_ko\": \"화물실을 추가로 설치하면 적재량이 증가하는 반면 함선의 속도가 감소합니다.\", \n    \"description_ru\": \"Установка этого модуля приводит к увеличению объема грузового отсека и снижению максимальной скорости движения корабля.\", \n    \"description_zh\": \"这类船体扩展装备通过牺牲船只的速度来换取更大的货柜舱容量。\", \n    \"descriptionID\": 65391, \n    \"hasTypes\": 1, \n    \"iconID\": 92, \n    \"name_de\": \"Frachtraumerweiterungen\", \n    \"name_en-us\": \"Expanded Cargoholds\", \n    \"name_es\": \"Expansión de la bodega\", \n    \"name_fr\": \"Expansions de soute\", \n    \"name_it\": \"Expanded Cargoholds\", \n    \"name_ja\": \"カーゴ容量追加\", \n    \"name_ko\": \"화물적재량 확대장치\", \n    \"name_ru\": \"Расширения грузового отсека\", \n    \"name_zh\": \"扩充货柜舱\", \n    \"nameID\": 66465, \n    \"parentGroupID\": 135\n  }, \n  \"1198\": {\n    \"description_de\": \"Blueprints für Startvorrichtungen für Scansonden.\", \n    \"description_en-us\": \"Blueprints of Scan Probe Launchers.\", \n    \"description_es\": \"Planos de lanzasondas de escaneo.\", \n    \"description_fr\": \"Plans de construction de lanceurs de sondes de balayage.\", \n    \"description_it\": \"Blueprints of Scan Probe Launchers.\", \n    \"description_ja\": \"スキャンプローブランチャーのブループリント。\", \n    \"description_ko\": \"스캔 프로브 런처 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи пусковых установок сканирующих зондов.\", \n    \"description_zh\": \"各种扫描探针发射器的蓝图。\", \n    \"descriptionID\": 65295, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Scansondenwerfer\", \n    \"name_en-us\": \"Scan Probe Launchers\", \n    \"name_es\": \"Lanzasondas de escaneo\", \n    \"name_fr\": \"Lanceurs de sondes de balayage\", \n    \"name_it\": \"Scan Probe Launchers\", \n    \"name_ja\": \"スキャンプローブランチャー\", \n    \"name_ko\": \"스캔 프로브 런처\", \n    \"name_ru\": \"Пусковые установки разведзондов\", \n    \"name_zh\": \"扫描探针发射器\", \n    \"nameID\": 66369, \n    \"parentGroupID\": 1710\n  }, \n  \"1199\": {\n    \"description_de\": \"Scansondendesigns.\", \n    \"description_en-us\": \"Scan probe designs.\", \n    \"description_es\": \"Diseños de sondas de escaneo.\", \n    \"description_fr\": \"Modèles de sondes de balayage.\", \n    \"description_it\": \"Scan probe designs.\", \n    \"description_ja\": \"スキャンプローブの設計図。\", \n    \"description_ko\": \"스캔 프로브입니다.\", \n    \"description_ru\": \"Модификации сканирующих зондов.\", \n    \"description_zh\": \"扫描探针设计。\", \n    \"descriptionID\": 65398, \n    \"hasTypes\": 1, \n    \"iconID\": 1722, \n    \"name_de\": \"Scansonden\", \n    \"name_en-us\": \"Scan Probes\", \n    \"name_es\": \"Sondas de escaneo\", \n    \"name_fr\": \"Sondes de balayage\", \n    \"name_it\": \"Scan Probes\", \n    \"name_ja\": \"スキャンプローブ\", \n    \"name_ko\": \"스캔 프로브\", \n    \"name_ru\": \"Разведзонды\", \n    \"name_zh\": \"扫描探针\", \n    \"nameID\": 66472, \n    \"parentGroupID\": 120\n  }, \n  \"1200\": {\n    \"description_de\": \"Überwachungssondendesigns.\", \n    \"description_en-us\": \"Survey probe designs.\", \n    \"description_es\": \"Diseños de sondas de prospección.\", \n    \"description_fr\": \"Modèles de sondes d'inspection.\", \n    \"description_it\": \"Survey probe designs.\", \n    \"description_ja\": \"衛星調査プローブの設計図。\", \n    \"description_ko\": \"조사 프로브입니다.\", \n    \"description_ru\": \"Модификации исследовательских зондов.\", \n    \"description_zh\": \"测量探针设计。\", \n    \"descriptionID\": 65399, \n    \"hasTypes\": 1, \n    \"iconID\": 2663, \n    \"name_de\": \"Vermessungssonden\", \n    \"name_en-us\": \"Survey Probes\", \n    \"name_es\": \"Sondas de prospección\", \n    \"name_fr\": \"Sondes d'inspection\", \n    \"name_it\": \"Survey Probes\", \n    \"name_ja\": \"衛星調査プローブ\", \n    \"name_ko\": \"조사 프로브\", \n    \"name_ru\": \"Зонды луноразведки\", \n    \"name_zh\": \"测量探针\", \n    \"nameID\": 66473, \n    \"parentGroupID\": 120\n  }, \n  \"1201\": {\n    \"description_de\": \"Unterbrechungssondendesigns.\", \n    \"description_en-us\": \"Interdiction probe designs.\", \n    \"description_es\": \"Diseños de sondas de interdicción.\", \n    \"description_fr\": \"Modèles de sondes d'interdiction.\", \n    \"description_it\": \"Interdiction probe designs.\", \n    \"description_ja\": \"インターディクションプローブ設計図。\", \n    \"description_ko\": \"인터딕션 프로브입니다.\", \n    \"description_ru\": \"Модификации заградительных зондов\", \n    \"description_zh\": \"拦截探针设计。\", \n    \"descriptionID\": 65400, \n    \"hasTypes\": 1, \n    \"iconID\": 1721, \n    \"name_de\": \"Unterbrechungssonden\", \n    \"name_en-us\": \"Interdiction Probes\", \n    \"name_es\": \"Sondas de interdicción\", \n    \"name_fr\": \"Sondes d'interdiction\", \n    \"name_it\": \"Interdiction Probes\", \n    \"name_ja\": \"インターディクションプローブ\", \n    \"name_ko\": \"인터딕션 프로브\", \n    \"name_ru\": \"Зонды варп-заграждения\", \n    \"name_zh\": \"拦截探针\", \n    \"nameID\": 66474, \n    \"parentGroupID\": 120\n  }, \n  \"1202\": {\n    \"description_de\": \"Blueprints für große Panzerungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Large Armor Rigs.\", \n    \"description_es\": \"Planos de complementos grandes de blindaje.\", \n    \"description_fr\": \"Plans de construction de grands modules d'optimisation de blindage.\", \n    \"description_it\": \"Blueprints of Large Armor Rigs.\", \n    \"description_ja\": \"大型アーマーリグのブループリント。\", \n    \"description_ko\": \"대형 장갑 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей, влияющих на броневую защиту корабля.\", \n    \"description_zh\": \"各种大型装甲改装件的蓝图。\", \n    \"descriptionID\": 65310, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Panzerungsmodifikationen\", \n    \"name_en-us\": \"Large Armor Rigs\", \n    \"name_es\": \"Complementos grandes de blindaje\", \n    \"name_fr\": \"Grandes modifications de blindage\", \n    \"name_it\": \"Large Armor Rigs\", \n    \"name_ja\": \"大型アーマーリグ\", \n    \"name_ko\": \"대형 장갑 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型装甲改装件\", \n    \"nameID\": 66384, \n    \"parentGroupID\": 944\n  }, \n  \"1203\": {\n    \"description_de\": \"Blueprints für kleine Panzerungsausrüstung\", \n    \"description_en-us\": \"Blueprints of Small Armor Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños de blindaje.\", \n    \"description_fr\": \"Plans de construction de petits modules d'optimisation de blindage.\", \n    \"description_it\": \"Blueprints of Small Armor Rigs.\", \n    \"description_ja\": \"小型アーマーリグのブループリント。\", \n    \"description_ko\": \"소형 장갑 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей, влияющих на броневую защиту корабля.\", \n    \"description_zh\": \"各种小型装甲改装件的蓝图。\", \n    \"descriptionID\": 65311, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Panzerungsmodifikationen\", \n    \"name_en-us\": \"Small Armor Rigs\", \n    \"name_es\": \"Complementos pequeños de blindaje\", \n    \"name_fr\": \"Petites modifications de blindage\", \n    \"name_it\": \"Small Armor Rigs\", \n    \"name_ja\": \"小型アーマーリグ\", \n    \"name_ko\": \"소형 장갑 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型装甲改装件\", \n    \"nameID\": 66385, \n    \"parentGroupID\": 944\n  }, \n  \"1204\": {\n    \"description_de\": \"Blueprints für mittlere Panzerungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Medium Armor Rigs.\", \n    \"description_es\": \"Planos de complementos medianos de blindaje.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de blindage de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Armor Rigs.\", \n    \"description_ja\": \"中型アーマーリグのブループリント。\", \n    \"description_ko\": \"중형 장갑 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей средних размеров, влияющих на броневую защиту корабля.\", \n    \"description_zh\": \"各种中型装甲改装件的蓝图。\", \n    \"descriptionID\": 65312, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Panzerungsmodifikationen\", \n    \"name_en-us\": \"Medium Armor Rigs\", \n    \"name_es\": \"Complementos medianos de blindaje\", \n    \"name_fr\": \"Modifications de blindage intermédiaires\", \n    \"name_it\": \"Medium Armor Rigs\", \n    \"name_ja\": \"中型アーマーリグ\", \n    \"name_ko\": \"중형 장갑 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型装甲改装件\", \n    \"nameID\": 66386, \n    \"parentGroupID\": 944\n  }, \n  \"1206\": {\n    \"description_de\": \"Modifikationen, welche die Panzerung kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's armor.\", \n    \"description_es\": \"Modificaciones que afectan al blindaje de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent le blindage d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's armor.\", \n    \"description_ja\": \"小型宇宙船のアーマーに影響する改造。\", \n    \"description_ko\": \"소형 함선의 장갑을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на броневую защиту кораблей малых размеров.\", \n    \"description_zh\": \"小型舰船所用的装甲改装件。\", \n    \"descriptionID\": 65464, \n    \"hasTypes\": 1, \n    \"iconID\": 3194, \n    \"name_de\": \"Kleine Panzerungsmodifikationen\", \n    \"name_en-us\": \"Small Armor Rigs\", \n    \"name_es\": \"Complementos pequeños de blindaje\", \n    \"name_fr\": \"Petites modifications de blindage\", \n    \"name_it\": \"Small Armor Rigs\", \n    \"name_ja\": \"小型アーマーリグ\", \n    \"name_ko\": \"소형 장갑 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型装甲改装件\", \n    \"nameID\": 66539, \n    \"parentGroupID\": 956\n  }, \n  \"1207\": {\n    \"description_de\": \"Modifikationen, welche die Panzerung eines mittleren Raumschiffs betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's armor.\", \n    \"description_es\": \"Modificaciones que afectan al blindaje de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent le blindage d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's armor.\", \n    \"description_ja\": \"中型宇宙船のアーマーに影響する改造。\", \n    \"description_ko\": \"중형 함선의 장갑을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на броневую защиту кораблей среднего тоннажа.\", \n    \"description_zh\": \"中型舰船所用的装甲改装件。\", \n    \"descriptionID\": 65465, \n    \"hasTypes\": 1, \n    \"iconID\": 3194, \n    \"name_de\": \"Mittlere Panzerungsmodifikationen\", \n    \"name_en-us\": \"Medium Armor Rigs\", \n    \"name_es\": \"Complementos medianos de blindaje\", \n    \"name_fr\": \"Modifications de blindage intermédiaires\", \n    \"name_it\": \"Medium Armor Rigs\", \n    \"name_ja\": \"中型アーマーリグ\", \n    \"name_ko\": \"중형 장갑 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型装甲改装件\", \n    \"nameID\": 66540, \n    \"parentGroupID\": 956\n  }, \n  \"1208\": {\n    \"description_de\": \"Modifikationen, welche die Panzerung eines großen Raumschiffs anpassen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's armor.\", \n    \"description_es\": \"Modificaciones que afectan al blindaje de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent le blindage d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's armor.\", \n    \"description_ja\": \"大型艦船のアーマーに影響する改造。\", \n    \"description_ko\": \"대형 함선의 장갑을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на броневую защиту тяжелых кораблей.\", \n    \"description_zh\": \"大型舰船所用的装甲改装件。\", \n    \"descriptionID\": 65466, \n    \"hasTypes\": 1, \n    \"iconID\": 3194, \n    \"name_de\": \"Große Panzerungsmodifikationen\", \n    \"name_en-us\": \"Large Armor Rigs\", \n    \"name_es\": \"Complementos grandes de blindaje\", \n    \"name_fr\": \"Grandes modifications de blindage\", \n    \"name_it\": \"Large Armor Rigs\", \n    \"name_ja\": \"大型アーマーリグ\", \n    \"name_ko\": \"대형 장갑 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型装甲改装件\", \n    \"nameID\": 66541, \n    \"parentGroupID\": 956\n  }, \n  \"1210\": {\n    \"description_de\": \"Modifikationen, welche die Astronautik kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's astronautics.\", \n    \"description_es\": \"Modificaciones que afectan a la astronáutica de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent les éléments astronautiques d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's astronautics.\", \n    \"description_ja\": \"小型宇宙船の宇宙航行性能に影響する改造。\", \n    \"description_ko\": \"소형 함선의 항법 시스템을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на пилотажные качества кораблей малых размеров.\", \n    \"description_zh\": \"小型舰船所用的航天技术改装件。\", \n    \"descriptionID\": 65467, \n    \"hasTypes\": 1, \n    \"iconID\": 3196, \n    \"name_de\": \"Kleine Astronautische Modifikationen\", \n    \"name_en-us\": \"Small Astronautic Rigs\", \n    \"name_es\": \"Complementos pequeños de astronáutica\", \n    \"name_fr\": \"Petites modifications astronautiques\", \n    \"name_it\": \"Small Astronautic Rigs\", \n    \"name_ja\": \"小型宇宙航行リグ\", \n    \"name_ko\": \"소형 항법 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型航天技术改装件\", \n    \"nameID\": 66542, \n    \"parentGroupID\": 957\n  }, \n  \"1211\": {\n    \"description_de\": \"Modifikationen, welche die Astronautik eines mittleren Raumschiffs betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's astronautics.\", \n    \"description_es\": \"Modificaciones que afectan a la astronáutica de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent les éléments astronautiques d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's astronautics.\", \n    \"description_ja\": \"中型宇宙船の宇宙航行性能に影響する改造。\", \n    \"description_ko\": \"중형 함선의 항법 시스템을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на пилотажные качества кораблей среднего тоннажа.\", \n    \"description_zh\": \"中型舰船所用的航天技术改装件。\", \n    \"descriptionID\": 65468, \n    \"hasTypes\": 1, \n    \"iconID\": 3196, \n    \"name_de\": \"Mittlere Astronautische Modifikationen\", \n    \"name_en-us\": \"Medium Astronautic Rigs\", \n    \"name_es\": \"Complementos medianos de astronáutica\", \n    \"name_fr\": \"Modifications astronautiques intermédiaires\", \n    \"name_it\": \"Medium Astronautic Rigs\", \n    \"name_ja\": \"中型宇宙航行リグ\", \n    \"name_ko\": \"중형 항법 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型航天技术改装件\", \n    \"nameID\": 66543, \n    \"parentGroupID\": 957\n  }, \n  \"1212\": {\n    \"description_de\": \"Modifikationen, welche die Astronautik eines großen Raumschiffs anpassen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's astronautics.\", \n    \"description_es\": \"Modificaciones que afectan a la astronáutica de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent les éléments astronautiques d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's astronautics.\", \n    \"description_ja\": \"大型艦船の宇宙飛行性能に影響する改造。\", \n    \"description_ko\": \"대형 함선의 항법 시스템을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на пилотажные качества тяжелых кораблей.\", \n    \"description_zh\": \"大型舰船所用的航天技术改装件。\", \n    \"descriptionID\": 65469, \n    \"hasTypes\": 1, \n    \"iconID\": 3196, \n    \"name_de\": \"Große Astronautische Modifikationen\", \n    \"name_en-us\": \"Large Astronautic Rigs\", \n    \"name_es\": \"Complementos grandes de astronáutica\", \n    \"name_fr\": \"Grandes modifications astronautiques\", \n    \"name_it\": \"Large Astronautic Rigs\", \n    \"name_ja\": \"大型宇宙航行リグ\", \n    \"name_ko\": \"대형 항법 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型航天技术改装件\", \n    \"nameID\": 66544, \n    \"parentGroupID\": 957\n  }, \n  \"1213\": {\n    \"description_de\": \"Modifikationen, welche die Drohnen kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's drones.\", \n    \"description_es\": \"Modificaciones que afectan a los drones de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent les drones d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's drones.\", \n    \"description_ja\": \"小型艦船のドローンに影響する改造。\", \n    \"description_ko\": \"소형 함선의 드론 시스템을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу дронов, запускаемых с борта кораблей малых размеров.\", \n    \"description_zh\": \"小型舰船所用的无人机改装件。\", \n    \"descriptionID\": 65470, \n    \"hasTypes\": 1, \n    \"iconID\": 3200, \n    \"name_de\": \"Kleine Drohnenmodifikationen\", \n    \"name_en-us\": \"Small Drone Rigs\", \n    \"name_es\": \"Complementos pequeños de drones\", \n    \"name_fr\": \"Petites modifications de drone\", \n    \"name_it\": \"Small Drone Rigs\", \n    \"name_ja\": \"小型ドローンリグ\", \n    \"name_ko\": \"소형 드론 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型无人机改装件\", \n    \"nameID\": 66545, \n    \"parentGroupID\": 958\n  }, \n  \"1214\": {\n    \"description_de\": \"Modifikationen, welche die Drohnen eines mittleren Raumschiffes betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's drones.\", \n    \"description_es\": \"Modificaciones que afectan a los drones de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent les drones d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's drones.\", \n    \"description_ja\": \"中型宇宙船のドローンに影響する改造。\", \n    \"description_ko\": \"중형 함선의 드론 시스템을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу дронов, запускаемых с борта кораблей среднего тоннажа.\", \n    \"description_zh\": \"中型舰船所用的无人机改装件。\", \n    \"descriptionID\": 65471, \n    \"hasTypes\": 1, \n    \"iconID\": 3200, \n    \"name_de\": \"Mittlere Drohnenmodifikationen\", \n    \"name_en-us\": \"Medium Drone Rigs\", \n    \"name_es\": \"Complementos medianos de drones\", \n    \"name_fr\": \"Modifications de drone intermédiaires\", \n    \"name_it\": \"Medium Drone Rigs\", \n    \"name_ja\": \"中型ドローンリグ\", \n    \"name_ko\": \"중형 드론 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型无人机改装件\", \n    \"nameID\": 66546, \n    \"parentGroupID\": 958\n  }, \n  \"1215\": {\n    \"description_de\": \"Modifikationen, welche die Drohnen eines großen Raumschiffes betreffen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's drones.\", \n    \"description_es\": \"Modificaciones que afectan a los drones de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent les drones d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's drones.\", \n    \"description_ja\": \"大型宇宙船のドローンに影響する改造。\", \n    \"description_ko\": \"대형 함선의 드론 시스템을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу дронов, запускаемых с борта тяжелых кораблей.\", \n    \"description_zh\": \"大型舰船所用的无人机改装件。\", \n    \"descriptionID\": 65472, \n    \"hasTypes\": 1, \n    \"iconID\": 3200, \n    \"name_de\": \"Große Drohnenmodifikationen\", \n    \"name_en-us\": \"Large Drone Rigs\", \n    \"name_es\": \"Complementos grandes de drones\", \n    \"name_fr\": \"Grandes modifications de drone\", \n    \"name_it\": \"Large Drone Rigs\", \n    \"name_ja\": \"大型ドローンリグ\", \n    \"name_ko\": \"대형 드론 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型无人机改装件\", \n    \"nameID\": 66547, \n    \"parentGroupID\": 958\n  }, \n  \"1219\": {\n    \"description_de\": \"Modifikationen, welche die Fähigkeit zur elektronischen Kriegsführung kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's electronic warfare capabilities.\", \n    \"description_es\": \"Modificaciones que afectan a las capacidades de guerra electrónica de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent les capacités de guerre électronique d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's electronic warfare capabilities.\", \n    \"description_ja\": \"小型宇宙船の電子戦性能に影響するブループリント。\", \n    \"description_ko\": \"소형 함선의 전자전 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу систем электронного противодействия кораблей малых размеров.\", \n    \"description_zh\": \"小型舰船所用的电子战改装件。\", \n    \"descriptionID\": 65476, \n    \"hasTypes\": 1, \n    \"iconID\": 3198, \n    \"name_de\": \"Kleine Elektronische Höchstleistungsmodifikationen\", \n    \"name_en-us\": \"Small Electronics Superiority Rigs\", \n    \"name_es\": \"Complementos pequeños de superioridad electrónica\", \n    \"name_fr\": \"Petites modifications de supériorité électronique\", \n    \"name_it\": \"Small Electronics Superiority Rigs\", \n    \"name_ja\": \"小型高性能エレクトロニクスリグ\", \n    \"name_ko\": \"소형 전자공학 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型电子压制改装件\", \n    \"nameID\": 66551, \n    \"parentGroupID\": 960\n  }, \n  \"1220\": {\n    \"description_de\": \"Modifikationen, welche die Fähigkeit zur elektronischen Kriegsführung eines mittleren Raumschiffes betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's electronic warfare capabilities.\", \n    \"description_es\": \"Modificaciones que afectan a las capacidades de guerra electrónica de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent les capacités de guerre électronique d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's electronic warfare capabilities.\", \n    \"description_ja\": \"中型宇宙船の電子戦性能に影響する改造。\", \n    \"description_ko\": \"중형 함선의 전자전 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу систем электронного противодействия кораблей среднего тоннажа.\", \n    \"description_zh\": \"中型舰船所用的电子战改装件。\", \n    \"descriptionID\": 65477, \n    \"hasTypes\": 1, \n    \"iconID\": 3198, \n    \"name_de\": \"Mittlere Elektronische Höchstleistungsmodifikationen\", \n    \"name_en-us\": \"Medium Electronics Superiority Rigs\", \n    \"name_es\": \"Complementos medianos de superioridad electrónica\", \n    \"name_fr\": \"Modifications de supériorité électronique intermédiaires\", \n    \"name_it\": \"Medium Electronics Superiority Rigs\", \n    \"name_ja\": \"中型高性能エレクトロニクスリグ\", \n    \"name_ko\": \"중형 전자공학 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型电子压制改装件\", \n    \"nameID\": 66552, \n    \"parentGroupID\": 960\n  }, \n  \"1221\": {\n    \"description_de\": \"Modifikationen, welche die Fähigkeiten zur elektronischen Kriegsführung eines großen Raumschiffes betreffen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's electronic warfare capabilities.\", \n    \"description_es\": \"Modificaciones que afectan a las capacidades de guerra electrónica de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent les capacités de guerre électronique d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's electronic warfare capabilities.\", \n    \"description_ja\": \"大型艦船の電子戦性能に影響する改造。\", \n    \"description_ko\": \"대형 함선의 전자전 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу систем электронного противодействия тяжелых кораблей.\", \n    \"description_zh\": \"大型舰船所用的电子战改装件。\", \n    \"descriptionID\": 65478, \n    \"hasTypes\": 1, \n    \"iconID\": 3198, \n    \"name_de\": \"Große Elektronische Höchstleistungsmodifikationen\", \n    \"name_en-us\": \"Large Electronics Superiority Rigs\", \n    \"name_es\": \"Complementos grandes de superioridad electrónica\", \n    \"name_fr\": \"Grandes modifications de supériorité électronique\", \n    \"name_it\": \"Large Electronics Superiority Rigs\", \n    \"name_ja\": \"大型高性能エレクトロニクスリグ\", \n    \"name_ko\": \"대형 전자공학 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型电子压制改装件\", \n    \"nameID\": 66553, \n    \"parentGroupID\": 960\n  }, \n  \"1222\": {\n    \"description_de\": \"Modifikationen, welche die Stromversorgung kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's energy grid.\", \n    \"description_es\": \"Modificaciones que afectan al sistema de energía de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent le réseau d'alimentation d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's energy grid.\", \n    \"description_ja\": \"小型宇宙船のエネルギー回路に影響する改造。\", \n    \"description_ko\": \"소형 함선의 에너지그리드 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу бортовых энергетических установок кораблей малых размеров.\", \n    \"description_zh\": \"小型舰船所用的能量栅格改装件。\", \n    \"descriptionID\": 65479, \n    \"hasTypes\": 1, \n    \"iconID\": 3195, \n    \"name_de\": \"Kleine Modifikationen für Ingenieurwesen\", \n    \"name_en-us\": \"Small Engineering Rigs\", \n    \"name_es\": \"Complementos pequeños de ingeniería\", \n    \"name_fr\": \"Petites modifications d'ingénierie\", \n    \"name_it\": \"Small Engineering Rigs\", \n    \"name_ja\": \"小型エンジニアリングリグ\", \n    \"name_ko\": \"소형 엔지니어링 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型工程改装件\", \n    \"nameID\": 66554, \n    \"parentGroupID\": 961\n  }, \n  \"1223\": {\n    \"description_de\": \"Modifikationen, welche die Stromversorgung eines mittleren Raumschiffes betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's energy grid.\", \n    \"description_es\": \"Modificaciones que afectan al sistema de energía de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent le réseau d'alimentation d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's energy grid.\", \n    \"description_ja\": \"中型宇宙船のエネルギー回路に影響する改造。\", \n    \"description_ko\": \"중형 함선의 에너지그리드 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу бортовых энергетических установок кораблей среднего тоннажа.\", \n    \"description_zh\": \"中型舰船所用的能量栅格改装件。\", \n    \"descriptionID\": 65480, \n    \"hasTypes\": 1, \n    \"iconID\": 3195, \n    \"name_de\": \"Mittlere Modifikationen für Ingenieurwesen\", \n    \"name_en-us\": \"Medium Engineering Rigs\", \n    \"name_es\": \"Complementos medianos de ingeniería\", \n    \"name_fr\": \"Modifications d'ingénierie intermédiaires\", \n    \"name_it\": \"Medium Engineering Rigs\", \n    \"name_ja\": \"中型エンジニアリングリグ\", \n    \"name_ko\": \"중형 엔지니어링 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型工程改装件\", \n    \"nameID\": 66555, \n    \"parentGroupID\": 961\n  }, \n  \"1224\": {\n    \"description_de\": \"Modifikationen, welche die Stromversorgung eines großen Raumschiffes betreffen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's energy grid.\", \n    \"description_es\": \"Modificaciones que afectan al sistema de energía de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent le réseau d'alimentation d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's energy grid.\", \n    \"description_ja\": \"大型艦船のエネルギー回路に影響する改造。\", \n    \"description_ko\": \"대형 함선의 에너지그리드 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу бортовых энергетических установок тяжелых кораблей.\", \n    \"description_zh\": \"大型舰船所用的能量栅格改装件。\", \n    \"descriptionID\": 65481, \n    \"hasTypes\": 1, \n    \"iconID\": 3195, \n    \"name_de\": \"Große Modifikationen für Ingenieurwesen\", \n    \"name_en-us\": \"Large Engineering Rigs\", \n    \"name_es\": \"Complementos grandes de ingeniería\", \n    \"name_fr\": \"Grandes modifications d'ingénierie\", \n    \"name_it\": \"Large Engineering Rigs\", \n    \"name_ja\": \"大型エンジニアリングリグ\", \n    \"name_ko\": \"대형 엔지니어링 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型工程改装件\", \n    \"nameID\": 66556, \n    \"parentGroupID\": 961\n  }, \n  \"1225\": {\n    \"description_de\": \"Modifikationen, welche die Energiewaffen kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's energy weapons.\", \n    \"description_es\": \"Modificaciones que afectan a las armas de energía de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent les armes à énergie d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's energy weapons.\", \n    \"description_ja\": \"小型宇宙船のエネルギー兵器に影響する改造。\", \n    \"description_ko\": \"소형 함선의 에너지 무기 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу бортового энергетического оружия кораблей малых размеров.\", \n    \"description_zh\": \"小型舰船所用的能量武器改装件。\", \n    \"descriptionID\": 65482, \n    \"hasTypes\": 1, \n    \"iconID\": 3203, \n    \"name_de\": \"Kleine Energiewaffenmodifikationen\", \n    \"name_en-us\": \"Small Energy Weapon Rigs\", \n    \"name_es\": \"Complementos pequeños de armas de energía\", \n    \"name_fr\": \"Petites modifications d'arme à énergie\", \n    \"name_it\": \"Small Energy Weapon Rigs\", \n    \"name_ja\": \"小型エネルギー兵器リグ\", \n    \"name_ko\": \"소형 에너지 무기 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型能量武器改装件\", \n    \"nameID\": 66557, \n    \"parentGroupID\": 962\n  }, \n  \"1226\": {\n    \"description_de\": \"Modifikationen, welche die Energiewaffen eines mittleren Raumschiffes betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's energy weapons.\", \n    \"description_es\": \"Modificaciones que afectan a las armas de energía de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent les armes à énergie d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's energy weapons.\", \n    \"description_ja\": \"中型宇宙船のエネルギー兵器に影響する改造パーツ。\", \n    \"description_ko\": \"중형 함선의 에너지 무기 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу бортового энергетического оружия кораблей среднего тоннажа.\", \n    \"description_zh\": \"中型舰船所用的能量武器改装件。\", \n    \"descriptionID\": 65483, \n    \"hasTypes\": 1, \n    \"iconID\": 3203, \n    \"name_de\": \"Mittlere Energiewaffenmodifikationen\", \n    \"name_en-us\": \"Medium Energy Weapon Rigs\", \n    \"name_es\": \"Complementos medianos de armas de energía\", \n    \"name_fr\": \"Modifications d'arme à énergie intermédiaires\", \n    \"name_it\": \"Medium Energy Weapon Rigs\", \n    \"name_ja\": \"中型エネルギー兵器リグ\", \n    \"name_ko\": \"중형 에너지 무기 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型能量武器改装件\", \n    \"nameID\": 66558, \n    \"parentGroupID\": 962\n  }, \n  \"1227\": {\n    \"description_de\": \"Modifikationen, welche die Energiewaffen eines großen Raumschiffs betreffen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's energy weapons.\", \n    \"description_es\": \"Modificaciones que afectan a las armas de energía de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent les armes à énergie d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's energy weapons.\", \n    \"description_ja\": \"大型宇宙船のエネルギー兵器に影響する改造。\", \n    \"description_ko\": \"대형 함선의 에너지 무기 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу бортового энергетического оружия тяжелых кораблей.\", \n    \"description_zh\": \"大型舰船所用的能量武器改装件。\", \n    \"descriptionID\": 65484, \n    \"hasTypes\": 1, \n    \"iconID\": 3203, \n    \"name_de\": \"Große Energiewaffenmodifikationen\", \n    \"name_en-us\": \"Large Energy Weapon Rigs\", \n    \"name_es\": \"Complementos grandes de armas de energía\", \n    \"name_fr\": \"Grandes modifications d'arme à énergie\", \n    \"name_it\": \"Large Energy Weapon Rigs\", \n    \"name_ja\": \"大型エネルギー兵器リグ\", \n    \"name_ko\": \"대형 에너지 무기 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型能量武器改装件\", \n    \"nameID\": 66559, \n    \"parentGroupID\": 962\n  }, \n  \"1228\": {\n    \"description_de\": \"Modifikationen, welche die Hybridwaffen kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's hybrid weapons.\", \n    \"description_es\": \"Modificaciones que afectan a las armas híbridas de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent les armes hybrides d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's hybrid weapons.\", \n    \"description_ja\": \"小型宇宙船のハイブリッド兵器に影響する改造。\", \n    \"description_ko\": \"소형 함선의 하이브리드 무기 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу бортового оружия гибридного действия кораблей малых размеров.\", \n    \"description_zh\": \"小型舰船所用的混合武器改装件。\", \n    \"descriptionID\": 65485, \n    \"hasTypes\": 1, \n    \"iconID\": 3202, \n    \"name_de\": \"Kleine Hybridwaffenmodifikationen\", \n    \"name_en-us\": \"Small Hybrid Weapon Rigs\", \n    \"name_es\": \"Complementos pequeños de armas híbridas\", \n    \"name_fr\": \"Petites modifications d'arme hybride\", \n    \"name_it\": \"Small Hybrid Weapon Rigs\", \n    \"name_ja\": \"小型ハイブリッド兵器リグ\", \n    \"name_ko\": \"소형 하이브리드 무기 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型混合武器改装件\", \n    \"nameID\": 66560, \n    \"parentGroupID\": 963\n  }, \n  \"1229\": {\n    \"description_de\": \"Modifikationen, welche die Hybridwaffen eines mittleren Raumschiffes betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's hybrid weapons.\", \n    \"description_es\": \"Modificaciones que afectan a las armas híbridas de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent les armes hybrides d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's hybrid weapons.\", \n    \"description_ja\": \"中型宇宙船のハイブリッド兵器に影響する改造。\", \n    \"description_ko\": \"중형 함선의 하이브리드 무기 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу бортового оружия гибридного действия кораблей среднего тоннажа.\", \n    \"description_zh\": \"中型舰船所用的混合武器改装件。\", \n    \"descriptionID\": 65486, \n    \"hasTypes\": 1, \n    \"iconID\": 3202, \n    \"name_de\": \"Mittlere Hybridwaffenmodifikationen\", \n    \"name_en-us\": \"Medium Hybrid Weapon Rigs\", \n    \"name_es\": \"Complementos medianos de armas híbridas\", \n    \"name_fr\": \"Modifications d'arme hybride intermédiaires\", \n    \"name_it\": \"Medium Hybrid Weapon Rigs\", \n    \"name_ja\": \"中型ハイブリッド兵器リグ\", \n    \"name_ko\": \"중형 하이브리드 무기 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型混合武器改装件\", \n    \"nameID\": 66561, \n    \"parentGroupID\": 963\n  }, \n  \"1230\": {\n    \"description_de\": \"Modifikationen, welche die Hybridwaffen eines großen Raumschiffs betreffen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's hybrid weapons.\", \n    \"description_es\": \"Modificaciones que afectan a las armas híbridas de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent les armes hybrides d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's hybrid weapons.\", \n    \"description_ja\": \"大型宇宙船のハイブリッド兵器に影響する改造。\", \n    \"description_ko\": \"대형 함선 하이브리드 무기 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу бортового оружия гибридного действия тяжелых кораблей.\", \n    \"description_zh\": \"大型舰船所用的混合武器改装件。\", \n    \"descriptionID\": 65487, \n    \"hasTypes\": 1, \n    \"iconID\": 3202, \n    \"name_de\": \"Große Hybridwaffenmodifikationen\", \n    \"name_en-us\": \"Large Hybrid Weapon Rigs\", \n    \"name_es\": \"Complementos grandes de armas híbridas\", \n    \"name_fr\": \"Grandes modifications d'arme hybride\", \n    \"name_it\": \"Large Hybrid Weapon Rigs\", \n    \"name_ja\": \"大型ハイブリッド兵器リグ\", \n    \"name_ko\": \"대형 하이브리드 무기\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型混合武器改装件\", \n    \"nameID\": 66562, \n    \"parentGroupID\": 963\n  }, \n  \"1231\": {\n    \"description_de\": \"Modifikationen, welche die Raketenwerfer kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's missile launchers.\", \n    \"description_es\": \"Modificaciones que afectan a los lanzamisiles de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent les lance-missiles d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's missile launchers.\", \n    \"description_ja\": \"小型宇宙船のミサイルランチャーに影響する改造。\", \n    \"description_ko\": \"소형 함선의 미사일 런처 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу ракетных установок кораблей малых размеров.\", \n    \"description_zh\": \"小型舰船所用的导弹发射器改装件。\", \n    \"descriptionID\": 65488, \n    \"hasTypes\": 1, \n    \"iconID\": 3197, \n    \"name_de\": \"Kleine Lenkwaffenwerfer-Modifikationen\", \n    \"name_en-us\": \"Small Missile Launcher Rigs\", \n    \"name_es\": \"Complementos pequeños de lanzamisiles\", \n    \"name_fr\": \"Petites modifications de lance-missiles\", \n    \"name_it\": \"Small Missile Launcher Rigs\", \n    \"name_ja\": \"小型ミサイル兵器リグ\", \n    \"name_ko\": \"소형 미사일 런처 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型导弹发射器改装件\", \n    \"nameID\": 66563, \n    \"parentGroupID\": 964\n  }, \n  \"1232\": {\n    \"description_de\": \"Modifikationen, welche die Raketenwerfer eines mittleren Raumschiffes betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's missile launchers.\", \n    \"description_es\": \"Modificaciones que afectan a los lanzamisiles de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent les lance-missiles d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's missile launchers.\", \n    \"description_ja\": \"中型艦船のミサイルランチャーに影響する改造。\", \n    \"description_ko\": \"중형 함선의 미사일 런처 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу ракетных установок кораблей среднего тоннажа.\", \n    \"description_zh\": \"中型舰船所用的导弹发射器改装件。\", \n    \"descriptionID\": 65489, \n    \"hasTypes\": 1, \n    \"iconID\": 3197, \n    \"name_de\": \"Mittlere Lenkwaffenwerfer-Modifikationen\", \n    \"name_en-us\": \"Medium Missile Launcher Rigs\", \n    \"name_es\": \"Complementos medianos de lanzamisiles\", \n    \"name_fr\": \"Modifications de lance-missiles intermédiaires\", \n    \"name_it\": \"Medium Missile Launcher Rigs\", \n    \"name_ja\": \"中型ミサイル兵器リグ\", \n    \"name_ko\": \"중형 미사일 런처 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型导弹发射器改装件\", \n    \"nameID\": 66564, \n    \"parentGroupID\": 964\n  }, \n  \"1233\": {\n    \"description_de\": \"Modifikationen, welche die Raketenwerfer eines großen Raumschiffs betreffen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's missile launchers.\", \n    \"description_es\": \"Modificaciones que afectan a los lanzamisiles de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent les lance-missiles d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's missile launchers.\", \n    \"description_ja\": \"大型宇宙船のミサイルランチャーに影響する改造。\", \n    \"description_ko\": \"대형 함선의 미사일 런처 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу ракетных установок тяжелых кораблей.\", \n    \"description_zh\": \"大型舰船所用的导弹发射器改装件。\", \n    \"descriptionID\": 65490, \n    \"hasTypes\": 1, \n    \"iconID\": 3197, \n    \"name_de\": \"Große Lenkwaffenwerfer-Modifikationen\", \n    \"name_en-us\": \"Large Missile Launcher Rigs\", \n    \"name_es\": \"Complementos grandes de lanzamisiles\", \n    \"name_fr\": \"Grandes modifications de lance-missiles\", \n    \"name_it\": \"Large Missile Launcher Rigs\", \n    \"name_ja\": \"大型ミサイル兵器リグ\", \n    \"name_ko\": \"대형 미사일 런처 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型导弹发射器改装件\", \n    \"nameID\": 66565, \n    \"parentGroupID\": 964\n  }, \n  \"1234\": {\n    \"description_de\": \"Modifikationen, welche die Schilde kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's shields.\", \n    \"description_es\": \"Modificaciones que afectan a los escudos de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent les boucliers d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's shields.\", \n    \"description_ja\": \"小型宇宙船のシールドに影響する改造。\", \n    \"description_ko\": \"소형 함선의 실드 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу силовых щитов кораблей малых размеров.\", \n    \"description_zh\": \"小型舰船所用的护盾改装件。\", \n    \"descriptionID\": 65491, \n    \"hasTypes\": 1, \n    \"iconID\": 3193, \n    \"name_de\": \"Kleine Schildmodifikationen\", \n    \"name_en-us\": \"Small Shield Rigs\", \n    \"name_es\": \"Complementos pequeños de escudo\", \n    \"name_fr\": \"Petites modifications de bouclier\", \n    \"name_it\": \"Small Shield Rigs\", \n    \"name_ja\": \"小型シールドリグ\", \n    \"name_ko\": \"소형 실드 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型护盾改装件\", \n    \"nameID\": 66566, \n    \"parentGroupID\": 965\n  }, \n  \"1235\": {\n    \"description_de\": \"Modifikationen, welche die Schilde eines mittleren Raumschiffes betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's shields.\", \n    \"description_es\": \"Modificaciones que afectan a los escudos de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent les boucliers d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's shields.\", \n    \"description_ja\": \"中型宇宙船のシールドを調整する改造。\", \n    \"description_ko\": \"중형 함선의 실드 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу силовых щитов кораблей среднего тоннажа.\", \n    \"description_zh\": \"中型舰船所用的护盾改装件。\", \n    \"descriptionID\": 65492, \n    \"hasTypes\": 1, \n    \"iconID\": 3193, \n    \"name_de\": \"Mittlere Schildmodifikationen\", \n    \"name_en-us\": \"Medium Shield Rigs\", \n    \"name_es\": \"Complementos medianos de escudo\", \n    \"name_fr\": \"Modifications de bouclier intermédiaires\", \n    \"name_it\": \"Medium Shield Rigs\", \n    \"name_ja\": \"中型シールドリグ\", \n    \"name_ko\": \"중형 실드 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型护盾改装件\", \n    \"nameID\": 66567, \n    \"parentGroupID\": 965\n  }, \n  \"1236\": {\n    \"description_de\": \"Modifikationen, welche die Schilde eines großen Raumschiffs betreffen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's shields.\", \n    \"description_es\": \"Modificaciones que afectan a los escudos de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent les boucliers d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's shields.\", \n    \"description_ja\": \"大型宇宙船のシールドに影響する改造。\", \n    \"description_ko\": \"대형 함선의 실드 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу силовых щитов тяжелых кораблей.\", \n    \"description_zh\": \"大型舰船所用的护盾改装件。\", \n    \"descriptionID\": 65493, \n    \"hasTypes\": 1, \n    \"iconID\": 3193, \n    \"name_de\": \"Große Schildmodifikationen\", \n    \"name_en-us\": \"Large Shield Rigs\", \n    \"name_es\": \"Complementos grandes de escudo\", \n    \"name_fr\": \"Grandes modifications de bouclier\", \n    \"name_it\": \"Large Shield Rigs\", \n    \"name_ja\": \"大型シールドリグ\", \n    \"name_ko\": \"대형 실드 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型护盾改装件\", \n    \"nameID\": 66568, \n    \"parentGroupID\": 965\n  }, \n  \"1237\": {\n    \"description_de\": \"Modifikationen, welche die Projektilwaffen kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's projectile weapons.\", \n    \"description_es\": \"Modificaciones que afectan a las armas de proyectiles de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent les armes à projectiles d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's projectile weapons.\", \n    \"description_ja\": \"小型宇宙船のプロジェクタイル兵器に影響する改造。\", \n    \"description_ko\": \"소형 함선의 발사체 무기 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу бортовой артиллерии кораблей малых размеров.\", \n    \"description_zh\": \"小型舰船所用的射弹武器改装件。\", \n    \"descriptionID\": 65494, \n    \"hasTypes\": 1, \n    \"iconID\": 3201, \n    \"name_de\": \"Kleine Projektilwaffenmodifikationen\", \n    \"name_en-us\": \"Small Projectile Weapon Rigs\", \n    \"name_es\": \"Complementos pequeños de armas de proyectiles\", \n    \"name_fr\": \"Petites modifications d'arme à projectiles\", \n    \"name_it\": \"Small Projectile Weapon Rigs\", \n    \"name_ja\": \"小型プロジェクタイル兵器リグ\", \n    \"name_ko\": \"소형 발사체 무기 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型射弹武器改装件\", \n    \"nameID\": 66569, \n    \"parentGroupID\": 979\n  }, \n  \"1238\": {\n    \"description_de\": \"Modifikationen, welche die Projektilwaffen eines mittleren Raumschiffes betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's projectile weapons.\", \n    \"description_es\": \"Modificaciones que afectan a las armas de proyectiles de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent les armes à projectiles d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's projectile weapons.\", \n    \"description_ja\": \"中型艦船のプロジェクタイル兵器に影響する改造。\", \n    \"description_ko\": \"중형 함선의 발사체 무기 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу бортовой артиллерии кораблей среднего тоннажа.\", \n    \"description_zh\": \"中型舰船所用的射弹武器改装件。\", \n    \"descriptionID\": 65495, \n    \"hasTypes\": 1, \n    \"iconID\": 3201, \n    \"name_de\": \"Mittlere Projektilwaffenmodifikationen\", \n    \"name_en-us\": \"Medium Projectile Weapon Rigs\", \n    \"name_es\": \"Complementos medianos de armas de proyectiles\", \n    \"name_fr\": \"Modifications d'arme à projectiles intermédiaires\", \n    \"name_it\": \"Medium Projectile Weapon Rigs\", \n    \"name_ja\": \"中型プロジェクタイル兵器リグ\", \n    \"name_ko\": \"중형 발사체 무기 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型射弹武器改装件\", \n    \"nameID\": 66570, \n    \"parentGroupID\": 979\n  }, \n  \"1239\": {\n    \"description_de\": \"Modifikationen, welche die Projektilwaffen eines großen Raumschiffs betreffen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's projectile weapons.\", \n    \"description_es\": \"Modificaciones que afectan a las armas de proyectiles de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent les armes à projectiles d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's projectile weapons.\", \n    \"description_ja\": \"大型宇宙船のプロジェクタイル兵器に影響する改造。\", \n    \"description_ko\": \"대형 함선의 발사체 무기 성능을 개조하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, влияющие на работу бортовой артиллерии тяжелых кораблей.\", \n    \"description_zh\": \"大型舰船所用的射弹武器改装件。\", \n    \"descriptionID\": 65496, \n    \"hasTypes\": 1, \n    \"iconID\": 3201, \n    \"name_de\": \"Große Projektilwaffenmodifikationen\", \n    \"name_en-us\": \"Large Projectile Weapon Rigs\", \n    \"name_es\": \"Complementos grandes de armas de proyectiles\", \n    \"name_fr\": \"Grandes modifications d'arme à projectiles\", \n    \"name_it\": \"Large Projectile Weapon Rigs\", \n    \"name_ja\": \"大型プロジェクタイル兵器リグ\", \n    \"name_ko\": \"대형 발사체 무기 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型射弹武器改装件\", \n    \"nameID\": 66571, \n    \"parentGroupID\": 979\n  }, \n  \"1240\": {\n    \"description_de\": \"Blueprints für kleine astronautische Ausrüstung.\", \n    \"description_en-us\": \"Blueprints of Small Astronautic Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños de astronáutica.\", \n    \"description_fr\": \"Plans de construction de petits modules d'optimisation astronautiques.\", \n    \"description_it\": \"Blueprints of Small Astronautic Rigs.\", \n    \"description_ja\": \"小型宇宙航行関連リグのブループリント。\", \n    \"description_ko\": \"소형 항법 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей, влияющих на пилотажные качества корабля.\", \n    \"description_zh\": \"各种小型航天技术改装件的蓝图。\", \n    \"descriptionID\": 65313, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Astronautische Modifikationen\", \n    \"name_en-us\": \"Small Astronautic Rigs\", \n    \"name_es\": \"Complementos pequeños de astronáutica\", \n    \"name_fr\": \"Petites modifications astronautiques\", \n    \"name_it\": \"Small Astronautic Rigs\", \n    \"name_ja\": \"小型宇宙航行リグ\", \n    \"name_ko\": \"소형 항법 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型航天技术改装件\", \n    \"nameID\": 66387, \n    \"parentGroupID\": 945\n  }, \n  \"1241\": {\n    \"description_de\": \"Blueprints für mittlere astronautische Ausrüstung.\", \n    \"description_en-us\": \"Blueprints of Medium Astronautic Rigs.\", \n    \"description_es\": \"Planos de complementos medianos de astronáutica.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation astronautiques de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Astronautic Rigs.\", \n    \"description_ja\": \"中型宇宙航行関連リグのブループリント。\", \n    \"description_ko\": \"중형 항법 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей средних размеров, влияющих на пилотажные качества корабля.\", \n    \"description_zh\": \"各种中型航天技术改装件的蓝图。\", \n    \"descriptionID\": 65314, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Astronautische Modifikationen\", \n    \"name_en-us\": \"Medium Astronautic Rigs\", \n    \"name_es\": \"Complementos medianos de astronáutica\", \n    \"name_fr\": \"Modifications astronautiques intermédiaires\", \n    \"name_it\": \"Medium Astronautic Rigs\", \n    \"name_ja\": \"中型宇宙航行リグ\", \n    \"name_ko\": \"중형 항법 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型航天技术改装件\", \n    \"nameID\": 66388, \n    \"parentGroupID\": 945\n  }, \n  \"1242\": {\n    \"description_de\": \"Blueprints für große astronautische Ausrüstung.\", \n    \"description_en-us\": \"Blueprints of Large Astronautic Rigs.\", \n    \"description_es\": \"Planos de complementos grandes de astronáutica.\", \n    \"description_fr\": \"Plans de construction de grands modules d'optimisation astronautiques.\", \n    \"description_it\": \"Blueprints of Large Astronautic Rigs.\", \n    \"description_ja\": \"大型宇宙航行関連リグのブループリント。\", \n    \"description_ko\": \"대형 항법 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей, влияющих на пилотажные качества корабля.\", \n    \"description_zh\": \"各种大型航天技术改装件的蓝图。\", \n    \"descriptionID\": 65315, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Astronautische Modifikationen\", \n    \"name_en-us\": \"Large Astronautic Rigs\", \n    \"name_es\": \"Complementos grandes de astronáutica\", \n    \"name_fr\": \"Grandes modifications astronautiques\", \n    \"name_it\": \"Large Astronautic Rigs\", \n    \"name_ja\": \"大型宇宙航行リグ\", \n    \"name_ko\": \"대형 항법 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型航天技术改装件\", \n    \"nameID\": 66389, \n    \"parentGroupID\": 945\n  }, \n  \"1243\": {\n    \"description_de\": \"Blueprints für kleine Drohnen-Ausstattung.\", \n    \"description_en-us\": \"Blueprints of Small Drone Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños de drones.\", \n    \"description_fr\": \"Plans de construction de petits modules d'optimisation de drones.\", \n    \"description_it\": \"Blueprints of Small Drone Rigs.\", \n    \"description_ja\": \"小型ドローンリグのブループリント。\", \n    \"description_ko\": \"소형 드론 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей, влияющих на работу запускаемых с борта корабля дронов.\", \n    \"description_zh\": \"各种小型无人机改装件的蓝图。\", \n    \"descriptionID\": 65316, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Drohnenmodifikationen\", \n    \"name_en-us\": \"Small Drone Rigs\", \n    \"name_es\": \"Complementos pequeños de drones\", \n    \"name_fr\": \"Petites modifications de drone\", \n    \"name_it\": \"Small Drone Rigs\", \n    \"name_ja\": \"小型ドローンリグ\", \n    \"name_ko\": \"소형 드론 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型无人机改装件\", \n    \"nameID\": 66390, \n    \"parentGroupID\": 946\n  }, \n  \"1244\": {\n    \"description_de\": \"Blueprints für mittlere Drohnen-Ausstattung\", \n    \"description_en-us\": \"Blueprints of Medium Drone Rigs.\", \n    \"description_es\": \"Planos de complementos medianos de drones.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de drones de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Drone Rigs.\", \n    \"description_ja\": \"中型ドローンリグのブループリント。\", \n    \"description_ko\": \"중형 드론 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей средних размеров, влияющих на работу запускаемых с борта корабля дронов.\", \n    \"description_zh\": \"各种中型无人机改装件的蓝图。\", \n    \"descriptionID\": 65317, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Drohnenmodifikationen\", \n    \"name_en-us\": \"Medium Drone Rigs\", \n    \"name_es\": \"Complementos medianos de drones\", \n    \"name_fr\": \"Modifications de drone intermédiaires\", \n    \"name_it\": \"Medium Drone Rigs\", \n    \"name_ja\": \"中型ドローンリグ\", \n    \"name_ko\": \"중형 드론 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型无人机改装件\", \n    \"nameID\": 66391, \n    \"parentGroupID\": 946\n  }, \n  \"1245\": {\n    \"description_de\": \"Blueprints für große Drohnen-Ausstattung.\", \n    \"description_en-us\": \"Blueprints of Large Drone Rigs.\", \n    \"description_es\": \"Planos de complementos grandes de drones.\", \n    \"description_fr\": \"Plans de construction de grands modules d'optimisation de drones.\", \n    \"description_it\": \"Blueprints of Large Drone Rigs.\", \n    \"description_ja\": \"大型ドローンリグのブループリント。\", \n    \"description_ko\": \"대형 드론 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей, влияющих на работу запускаемых с борта корабля дронов.\", \n    \"description_zh\": \"各种大型无人机改装件的蓝图。\", \n    \"descriptionID\": 65318, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Drohnenmodifikationen\", \n    \"name_en-us\": \"Large Drone Rigs\", \n    \"name_es\": \"Complementos grandes de drones\", \n    \"name_fr\": \"Grandes modifications de drone\", \n    \"name_it\": \"Large Drone Rigs\", \n    \"name_ja\": \"大型ドローンリグ\", \n    \"name_ko\": \"대형 드론 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型无人机改装件\", \n    \"nameID\": 66392, \n    \"parentGroupID\": 946\n  }, \n  \"1249\": {\n    \"description_de\": \"Blueprints für kleine Elektronik-Überlegenheitsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Small Electronics Superiority Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños de superioridad electrónica.\", \n    \"description_fr\": \"Plans de construction de petits modules d'optimisation de supériorité électronique.\", \n    \"description_it\": \"Blueprints of Small Electronics Superiority Rigs.\", \n    \"description_ja\": \"小型高性能エレクトロニクスリグのブループリント。\", \n    \"description_ko\": \"소형 전자공학 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей, влияющих на работу систем электроного противодействия.\", \n    \"description_zh\": \"各种小型电子压制改装件的蓝图。\", \n    \"descriptionID\": 65322, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Elektronische Höchstleistungsmodifikationen\", \n    \"name_en-us\": \"Small Electronics Superiority Rigs\", \n    \"name_es\": \"Complementos pequeños de superioridad electrónica\", \n    \"name_fr\": \"Petites modifications de supériorité électronique\", \n    \"name_it\": \"Small Electronics Superiority Rigs\", \n    \"name_ja\": \"小型高性能エレクトロニクスリグ\", \n    \"name_ko\": \"소형 전자공학 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型电子压制改装件\", \n    \"nameID\": 66396, \n    \"parentGroupID\": 948\n  }, \n  \"1250\": {\n    \"description_de\": \"Blueprints für mittlere Elektronik-Überlegenheitsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Medium Electronics Superiority Rigs.\", \n    \"description_es\": \"Planos de complementos medianos de superioridad electrónica.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de supériorité électronique de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Electronics Superiority Rigs.\", \n    \"description_ja\": \"中型高性能エレクトロニクスリグのブループリント。\", \n    \"description_ko\": \"중형 전자공학 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей средних размеров, влияющих на работу систем электроного противодействия.\", \n    \"description_zh\": \"各种中型电子压制改装件的蓝图。\", \n    \"descriptionID\": 65323, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Elektronische Höchstleistungsmodifikationen\", \n    \"name_en-us\": \"Medium Electronics Superiority Rigs\", \n    \"name_es\": \"Complementos medianos de superioridad electrónica\", \n    \"name_fr\": \"Modifications de supériorité électronique intermédiaires\", \n    \"name_it\": \"Medium Electronics Superiority Rigs\", \n    \"name_ja\": \"中型高性能エレクトロニクスリグ\", \n    \"name_ko\": \"중형 전자공학 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型电子压制改装件\", \n    \"nameID\": 66397, \n    \"parentGroupID\": 948\n  }, \n  \"1251\": {\n    \"description_de\": \"Blueprints für große Elektronik-Überlegenheitsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Large Electronics Superiority Rigs.\", \n    \"description_es\": \"Planos de complementos grandes de superioridad electrónica.\", \n    \"description_fr\": \"Plans de construction de grands modules d'optimisation de supériorité électronique.\", \n    \"description_it\": \"Blueprints of Large Electronics Superiority Rigs.\", \n    \"description_ja\": \"大型高性能エレクトロニクスリグのブループリント。\", \n    \"description_ko\": \"대형 전자공학 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей, влияющих на работу систем электроного противодействия.\", \n    \"description_zh\": \"各种大型电子压制改装件的蓝图。\", \n    \"descriptionID\": 65324, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Elektronische Höchstleistungsmodifikationen\", \n    \"name_en-us\": \"Large Electronics Superiority Rigs\", \n    \"name_es\": \"Complementos grandes de superioridad electrónica\", \n    \"name_fr\": \"Grandes modifications de supériorité électronique\", \n    \"name_it\": \"Large Electronics Superiority Rigs\", \n    \"name_ja\": \"大型高性能エレクトロニクスリグ\", \n    \"name_ko\": \"대형 전자공학 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型电子压制改装件\", \n    \"nameID\": 66398, \n    \"parentGroupID\": 948\n  }, \n  \"1252\": {\n    \"description_de\": \"Blueprints für kleine Stromversorgungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Small Energy Grid Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños del sistema de energía.\", \n    \"description_fr\": \"Plans de construction de petits modules d'optimisation de réseau d'alimentation.\", \n    \"description_it\": \"Blueprints of Small Energy Grid Rigs.\", \n    \"description_ja\": \"小型エネルギー回路リグのブループリント。\", \n    \"description_ko\": \"소형 에너지그리드 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей, влияющих на работу бортовой энергетической установки.\", \n    \"description_zh\": \"各种小型能量栅格改装件的蓝图。\", \n    \"descriptionID\": 65325, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Modifikationen für Ingenieurwesen\", \n    \"name_en-us\": \"Small Engineering Rigs\", \n    \"name_es\": \"Complementos pequeños de ingeniería\", \n    \"name_fr\": \"Petites modifications d'ingénierie\", \n    \"name_it\": \"Small Engineering Rigs\", \n    \"name_ja\": \"小型エンジニアリングリグ\", \n    \"name_ko\": \"소형 엔지니어링 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型工程改装件\", \n    \"nameID\": 66399, \n    \"parentGroupID\": 949\n  }, \n  \"1253\": {\n    \"description_de\": \"Blueprints für mittlere Stromversorgungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Medium Energy Grid Rigs.\", \n    \"description_es\": \"Planos de complementos medianos del sistema de energía.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de réseau d'alimentation de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Energy Grid Rigs.\", \n    \"description_ja\": \"中型エネルギー回路リグのブループリント。\", \n    \"description_ko\": \"중형 에너지그리드 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей средних размеров, влияющих на работу бортовой энергетической установки.\", \n    \"description_zh\": \"各种中型能量栅格改装件的蓝图。\", \n    \"descriptionID\": 65326, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Modifikationen für Ingenieurwesen\", \n    \"name_en-us\": \"Medium Engineering Rigs\", \n    \"name_es\": \"Complementos medianos de ingeniería\", \n    \"name_fr\": \"Modifications d'ingénierie intermédiaires\", \n    \"name_it\": \"Medium Engineering Rigs\", \n    \"name_ja\": \"中型エンジニアリングリグ\", \n    \"name_ko\": \"중형 엔지니어링 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型工程改装件\", \n    \"nameID\": 66400, \n    \"parentGroupID\": 949\n  }, \n  \"1254\": {\n    \"description_de\": \"Blueprints für große Stromversorgungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Large Energy Grid Rigs.\", \n    \"description_es\": \"Planos de complementos grandes del sistema de energía.\", \n    \"description_fr\": \"Plans de construction de grands modules d'optimisation de réseau d'alimentation.\", \n    \"description_it\": \"Blueprints of Large Energy Grid Rigs.\", \n    \"description_ja\": \"大型エネルギー回路リグのブループリント。\", \n    \"description_ko\": \"대형 에너지그리드 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей, влияющих на работу бортовой энергетической установки.\", \n    \"description_zh\": \"各种大型能量栅格改装件的蓝图。\", \n    \"descriptionID\": 65327, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Modifikationen für Ingenieurwesen\", \n    \"name_en-us\": \"Large Engineering Rigs\", \n    \"name_es\": \"Complementos grandes de ingeniería\", \n    \"name_fr\": \"Grandes modifications d'ingénierie\", \n    \"name_it\": \"Large Engineering Rigs\", \n    \"name_ja\": \"大型エンジニアリングリグ\", \n    \"name_ko\": \"대형 엔지니어링 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型工程改装件\", \n    \"nameID\": 66401, \n    \"parentGroupID\": 949\n  }, \n  \"1255\": {\n    \"description_de\": \"Blueprints für kleine Energiewaffen-Ausrüstung\", \n    \"description_en-us\": \"Blueprints of Small Energy Weapon Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños de armas de energía.\", \n    \"description_fr\": \"Plans de construction de petits modules d'optimisation d'arme à énergie.\", \n    \"description_it\": \"Blueprints of Small Energy Weapon Rigs.\", \n    \"description_ja\": \"小型エネルギー兵器リグのブループリント。\", \n    \"description_ko\": \"소형 에너지 무기 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей, влияющих на работу бортового энергетического оружия.\", \n    \"description_zh\": \"各种小型能量武器改装件的蓝图。\", \n    \"descriptionID\": 65328, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Energiewaffenmodifikationen\", \n    \"name_en-us\": \"Small Energy Weapon Rigs\", \n    \"name_es\": \"Complementos pequeños de armas de energía\", \n    \"name_fr\": \"Petites modifications d'arme à énergie\", \n    \"name_it\": \"Small Energy Weapon Rigs\", \n    \"name_ja\": \"小型エネルギー兵器リグ\", \n    \"name_ko\": \"소형 에너지 무기 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型能量武器改装件\", \n    \"nameID\": 66402, \n    \"parentGroupID\": 950\n  }, \n  \"1256\": {\n    \"description_de\": \"Blueprints für mittlere Energiewaffen-Ausrüstung.\", \n    \"description_en-us\": \"Blueprints of Medium Energy Weapon Rigs.\", \n    \"description_es\": \"Planos de complementos medianos de armas de energía.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation d'arme à énergie de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Energy Weapon Rigs.\", \n    \"description_ja\": \"中型エネルギー兵器リグのブループリント。\", \n    \"description_ko\": \"중형 에너지 무기 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей средних размеров, влияющих на работу бортового энергетического оружия.\", \n    \"description_zh\": \"各种中型能量武器改装件的蓝图。\", \n    \"descriptionID\": 65329, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Energiewaffenmodifikationen\", \n    \"name_en-us\": \"Medium Energy Weapon Rigs\", \n    \"name_es\": \"Complementos medianos de armas de energía\", \n    \"name_fr\": \"Modifications d'arme à énergie intermédiaires\", \n    \"name_it\": \"Medium Energy Weapon Rigs\", \n    \"name_ja\": \"中型エネルギー兵器リグ\", \n    \"name_ko\": \"중형 에너지 무기 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型能量武器改装件\", \n    \"nameID\": 66403, \n    \"parentGroupID\": 950\n  }, \n  \"1257\": {\n    \"description_de\": \"Blueprints für große Energiewaffen-Ausrüstung.\", \n    \"description_en-us\": \"Blueprints of Large Energy Weapon Rigs.\", \n    \"description_es\": \"Planos de complementos grandes de armas de energía.\", \n    \"description_fr\": \"Plans de construction de grands modules d'optimisation d'arme à énergie.\", \n    \"description_it\": \"Blueprints of Large Energy Weapon Rigs.\", \n    \"description_ja\": \"大型エネルギー兵器リグのブループリント。\", \n    \"description_ko\": \"대형 에너지 무기 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей, влияющих на работу бортового энергетического оружия.\", \n    \"description_zh\": \"各种大型能量武器改装件的蓝图。\", \n    \"descriptionID\": 65330, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Energiewaffenmodifikationen\", \n    \"name_en-us\": \"Large Energy Weapon Rigs\", \n    \"name_es\": \"Complementos grandes de armas de energía\", \n    \"name_fr\": \"Grandes modifications d'arme à énergie\", \n    \"name_it\": \"Large Energy Weapon Rigs\", \n    \"name_ja\": \"大型エネルギー兵器リグ\", \n    \"name_ko\": \"대형 에너지 무기 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型能量武器改装件\", \n    \"nameID\": 66404, \n    \"parentGroupID\": 950\n  }, \n  \"1258\": {\n    \"description_de\": \"Blueprints für kleine Hybridwaffenausrüstung\", \n    \"description_en-us\": \"Blueprints of Small Hybrid Weapon Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños de armas híbridas.\", \n    \"description_fr\": \"Plans de construction de petits modules d'optimisation d'arme hybride.\", \n    \"description_it\": \"Blueprints of Small Hybrid Weapon Rigs.\", \n    \"description_ja\": \"小型ハイブリッド兵器リグのブループリント。\", \n    \"description_ko\": \"소형 하이브리드 무기 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей, влияющих на работу бортового оружия гибридного действия.\", \n    \"description_zh\": \"各种小型混合武器改装件的蓝图。\", \n    \"descriptionID\": 65331, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Hybridwaffenmodifikationen\", \n    \"name_en-us\": \"Small Hybrid Weapon Rigs\", \n    \"name_es\": \"Complementos pequeños de armas híbridas\", \n    \"name_fr\": \"Petites modifications d'arme hybride\", \n    \"name_it\": \"Small Hybrid Weapon Rigs\", \n    \"name_ja\": \"小型ハイブリッド兵器リグ\", \n    \"name_ko\": \"소형 하이브리드 무기 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型混合武器改装件\", \n    \"nameID\": 66405, \n    \"parentGroupID\": 951\n  }, \n  \"1259\": {\n    \"description_de\": \"Blueprints für mittlere Hybridwaffenausrüstung.\", \n    \"description_en-us\": \"Blueprints of Medium Hybrid Weapon Rigs.\", \n    \"description_es\": \"Planos de complementos medianos de armas híbridas.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation d'arme hybride de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Hybrid Weapon Rigs.\", \n    \"description_ja\": \"中型ハイブリッド兵器リグのブループリント。\", \n    \"description_ko\": \"중형 하이브리드 무기 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей средних размеров, влияющих на работу бортового оружия гибридного действия.\", \n    \"description_zh\": \"各种中型混合武器改装件的蓝图。\", \n    \"descriptionID\": 65332, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Hybridwaffenmodifikationen\", \n    \"name_en-us\": \"Medium Hybrid Weapon Rigs\", \n    \"name_es\": \"Complementos medianos de armas híbridas\", \n    \"name_fr\": \"Modifications d'arme hybride intermédiaires\", \n    \"name_it\": \"Medium Hybrid Weapon Rigs\", \n    \"name_ja\": \"中型ハイブリッド兵器リグ\", \n    \"name_ko\": \"중형 하이브리드 무기 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型混合武器改装件\", \n    \"nameID\": 66406, \n    \"parentGroupID\": 951\n  }, \n  \"1260\": {\n    \"description_de\": \"Blueprints für große Hybridwaffenausrüstung.\", \n    \"description_en-us\": \"Blueprints of Large Hybrid Weapon Rigs.\", \n    \"description_es\": \"Planos de complementos grandes de armas híbridas.\", \n    \"description_fr\": \"Plans de construction de grands modules d'optimisation d'arme hybride.\", \n    \"description_it\": \"Blueprints of Large Hybrid Weapon Rigs.\", \n    \"description_ja\": \"大型ハイブリッド兵器リグのブループリント。\", \n    \"description_ko\": \"대형 하이브리드 무기 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей, влияющих на работу бортового оружия гибридного действия.\", \n    \"description_zh\": \"各种大型混合武器改装件的蓝图。\", \n    \"descriptionID\": 65333, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Hybridwaffenmodifikationen\", \n    \"name_en-us\": \"Large Hybrid Weapon Rigs\", \n    \"name_es\": \"Complementos grandes de armas híbridas\", \n    \"name_fr\": \"Grandes modifications d'arme hybride\", \n    \"name_it\": \"Large Hybrid Weapon Rigs\", \n    \"name_ja\": \"大型ハイブリッド兵器リグ\", \n    \"name_ko\": \"대형 하이브리드 무기\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型混合武器改装件\", \n    \"nameID\": 66407, \n    \"parentGroupID\": 951\n  }, \n  \"1261\": {\n    \"description_de\": \"Blueprints für kleine Missile Launcher-Ausrüstung\", \n    \"description_en-us\": \"Blueprints of Small Missile Launcher Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños de lanzamisiles.\", \n    \"description_fr\": \"Plans de construction de petits modules d'optimisation de lance-missiles.\", \n    \"description_it\": \"Blueprints of Small Missile Launcher Rigs.\", \n    \"description_ja\": \"小型ミサイル兵器リグのブループリント。\", \n    \"description_ko\": \"소형 미사일 런처 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей, влияющих на работу бортовых ракетных установок.\", \n    \"description_zh\": \"各种小型导弹发射器改装件的蓝图。\", \n    \"descriptionID\": 65334, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Lenkwaffenwerfer-Modifikationen\", \n    \"name_en-us\": \"Small Missile Launcher Rigs\", \n    \"name_es\": \"Complementos pequeños de lanzamisiles\", \n    \"name_fr\": \"Petites modifications de lance-missiles\", \n    \"name_it\": \"Small Missile Launcher Rigs\", \n    \"name_ja\": \"小型ミサイル兵器リグ\", \n    \"name_ko\": \"소형 미사일 런처 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型导弹发射器改装件\", \n    \"nameID\": 66408, \n    \"parentGroupID\": 952\n  }, \n  \"1262\": {\n    \"description_de\": \"Blaupausen für mittlere Lenkwaffenwerfer-Modifikationen\", \n    \"description_en-us\": \"Blueprints of Medium Missile Launcher Rigs.\", \n    \"description_es\": \"Planos de complementos medianos de lanzamisiles.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de lance-missiles de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Missile Launcher Rigs.\", \n    \"description_ja\": \"中型ミサイル兵器リグのブループリント。\", \n    \"description_ko\": \"중형 미사일 런처 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей средних размеров, влияющих на работу бортовых ракетных установок.\", \n    \"description_zh\": \"各种中型导弹发射器改装件的蓝图。\", \n    \"descriptionID\": 65335, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Lenkwaffenwerfer-Modifikationen\", \n    \"name_en-us\": \"Medium Missile Launcher Rigs\", \n    \"name_es\": \"Complementos medianos de lanzamisiles\", \n    \"name_fr\": \"Modifications de lance-missiles intermédiaires\", \n    \"name_it\": \"Medium Missile Launcher Rigs\", \n    \"name_ja\": \"中型ミサイル兵器リグ\", \n    \"name_ko\": \"중형 미사일 런처 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型导弹发射器改装件\", \n    \"nameID\": 66409, \n    \"parentGroupID\": 952\n  }, \n  \"1263\": {\n    \"description_de\": \"Blaupausen für große Lenkwaffenwerfer-Modifikationen.\", \n    \"description_en-us\": \"Blueprints of Large Missile Launcher Rigs.\", \n    \"description_es\": \"Planos de complementos grandes de lanzamisiles.\", \n    \"description_fr\": \"Plans de construction de grands modules d'optimisation de lance-missiles.\", \n    \"description_it\": \"Blueprints of Large Missile Launcher Rigs.\", \n    \"description_ja\": \"大型ミサイル兵器リグのブループリント。\", \n    \"description_ko\": \"대형 미사일 런처 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей, влияющих на работу ракетных установок.\", \n    \"description_zh\": \"各种大型导弹发射器改装件的蓝图。\", \n    \"descriptionID\": 65336, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Lenkwaffenwerfer-Modifikationen\", \n    \"name_en-us\": \"Large Missile Launcher Rigs\", \n    \"name_es\": \"Complementos grandes de lanzamisiles\", \n    \"name_fr\": \"Grandes modifications de lance-missiles\", \n    \"name_it\": \"Large Missile Launcher Rigs\", \n    \"name_ja\": \"大型ミサイル兵器リグ\", \n    \"name_ko\": \"대형 미사일 런처 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型导弹发射器改装件\", \n    \"nameID\": 66410, \n    \"parentGroupID\": 952\n  }, \n  \"1264\": {\n    \"description_de\": \"Blueprints für kleine Projektilwaffen-Ausrüstung.\", \n    \"description_en-us\": \"Blueprints of Small Projectile Weapon Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños de armas de proyectiles.\", \n    \"description_fr\": \"Plans de construction de petits modules d'optimisation d'arme à projectiles.\", \n    \"description_it\": \"Blueprints of Small Projectile Weapon Rigs.\", \n    \"description_ja\": \"小型プロジェクタイル兵器リグのブループリント。\", \n    \"description_ko\": \"소형 발사체 무기 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей, влияющих на работу бортовой артиллерии.\", \n    \"description_zh\": \"各种小型射弹武器改装件的蓝图。\", \n    \"descriptionID\": 65337, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Projektilwaffenmodifikationen\", \n    \"name_en-us\": \"Small Projectile Weapon Rigs\", \n    \"name_es\": \"Complementos pequeños de armas de proyectiles\", \n    \"name_fr\": \"Petites modifications d'arme à projectiles\", \n    \"name_it\": \"Small Projectile Weapon Rigs\", \n    \"name_ja\": \"小型プロジェクタイル兵器リグ\", \n    \"name_ko\": \"소형 발사체 무기 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型射弹武器改装件\", \n    \"nameID\": 66411, \n    \"parentGroupID\": 953\n  }, \n  \"1265\": {\n    \"description_de\": \"Blueprints für mittlere Projektilwaffen-Ausrüstung.\", \n    \"description_en-us\": \"Blueprints of Medium Projectile Weapon Rigs.\", \n    \"description_es\": \"Planos de complementos medianos de armas de proyectiles.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation d'arme à projectiles de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Projectile Weapon Rigs.\", \n    \"description_ja\": \"中型プロジェクタイル兵器リグのブループリント。\", \n    \"description_ko\": \"중형 발사체 무기 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей средних размеров, влияющих на работу бортовой артиллерии.\", \n    \"description_zh\": \"各种中型射弹武器改装件的蓝图。\", \n    \"descriptionID\": 65338, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Projektilwaffenmodifikationen\", \n    \"name_en-us\": \"Medium Projectile Weapon Rigs\", \n    \"name_es\": \"Complementos medianos de armas de proyectiles\", \n    \"name_fr\": \"Modifications d'arme à projectiles intermédiaires\", \n    \"name_it\": \"Medium Projectile Weapon Rigs\", \n    \"name_ja\": \"中型プロジェクタイル兵器リグ\", \n    \"name_ko\": \"중형 발사체 무기 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型射弹武器改装件\", \n    \"nameID\": 66412, \n    \"parentGroupID\": 953\n  }, \n  \"1266\": {\n    \"description_de\": \"Blueprints für große Projektilwaffen-Ausrüstung.\", \n    \"description_en-us\": \"Blueprints of Large Projectile Weapon Rigs.\", \n    \"description_es\": \"Planos de complementos grandes de armas de proyectiles.\", \n    \"description_fr\": \"Plans de construction de grands modules d'optimisation d'arme à projectiles.\", \n    \"description_it\": \"Blueprints of Large Projectile Weapon Rigs.\", \n    \"description_ja\": \"大型プロジェクタイル兵器リグのブループリント。\", \n    \"description_ko\": \"대형 발사체 무기 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей, влияющих на работу бортовой артиллерии.\", \n    \"description_zh\": \"各种大型射弹武器改装件的蓝图。\", \n    \"descriptionID\": 65339, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Projektilwaffenmodifikationen\", \n    \"name_en-us\": \"Large Projectile Weapon Rigs\", \n    \"name_es\": \"Complementos grandes de armas de proyectiles\", \n    \"name_fr\": \"Grandes modifications d'arme à projectiles\", \n    \"name_it\": \"Large Projectile Weapon Rigs\", \n    \"name_ja\": \"大型プロジェクタイル兵器リグ\", \n    \"name_ko\": \"대형 발사체 무기 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型射弹武器改装件\", \n    \"nameID\": 66413, \n    \"parentGroupID\": 953\n  }, \n  \"1267\": {\n    \"description_de\": \"Blueprints für kleine Schildausstattung.\", \n    \"description_en-us\": \"Blueprints of Small Shield Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños de los escudos.\", \n    \"description_fr\": \"Plans de construction de petits modules d'optimisation de bouclier.\", \n    \"description_it\": \"Blueprints of Small Shield Rigs.\", \n    \"description_ja\": \"小型シールドリグのブループリント。\", \n    \"description_ko\": \"소형 실드 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей, влияющих на работу силовых щитов.\", \n    \"description_zh\": \"各种小型护盾改装件的蓝图。\", \n    \"descriptionID\": 65340, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Schildmodifikationen\", \n    \"name_en-us\": \"Small Shield Rigs\", \n    \"name_es\": \"Complementos pequeños de escudo\", \n    \"name_fr\": \"Petites modifications de bouclier\", \n    \"name_it\": \"Small Shield Rigs\", \n    \"name_ja\": \"小型シールドリグ\", \n    \"name_ko\": \"소형 실드 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型护盾改装件\", \n    \"nameID\": 66414, \n    \"parentGroupID\": 954\n  }, \n  \"1268\": {\n    \"description_de\": \"Blueprints für mittlere Schildausstattung.\", \n    \"description_en-us\": \"Blueprints of Medium Shield Rigs.\", \n    \"description_es\": \"Planos de complementos medianos de los escudos.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de bouclier de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Shield Rigs.\", \n    \"description_ja\": \"中型シールドリグのブループリント。\", \n    \"description_ko\": \"중형 실드 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей средних размеров, влияющих на работу силовых щитов.\", \n    \"description_zh\": \"各种中型护盾改装件的蓝图。\", \n    \"descriptionID\": 65341, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Schildmodifikationen\", \n    \"name_en-us\": \"Medium Shield Rigs\", \n    \"name_es\": \"Complementos medianos de escudo\", \n    \"name_fr\": \"Modifications de bouclier intermédiaires\", \n    \"name_it\": \"Medium Shield Rigs\", \n    \"name_ja\": \"中型シールドリグ\", \n    \"name_ko\": \"중형 실드 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型护盾改装件\", \n    \"nameID\": 66415, \n    \"parentGroupID\": 954\n  }, \n  \"1269\": {\n    \"description_de\": \"Blueprints für große Schildausstattung\", \n    \"description_en-us\": \"Blueprints of Large Shield Rigs.\", \n    \"description_es\": \"Planos de complementos grandes de los escudos.\", \n    \"description_fr\": \"Plans de construction de grands modules d'optimisation de bouclier.\", \n    \"description_it\": \"Blueprints of Large Shield Rigs.\", \n    \"description_ja\": \"大型シールドリグのブループリント。\", \n    \"description_ko\": \"대형 실드 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей, влияющих на работу силовых щитов.\", \n    \"description_zh\": \"各种大型护盾改装件的蓝图。\", \n    \"descriptionID\": 65342, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Schildmodifikationen\", \n    \"name_en-us\": \"Large Shield Rigs\", \n    \"name_es\": \"Complementos grandes de escudo\", \n    \"name_fr\": \"Grandes modifications de bouclier\", \n    \"name_it\": \"Large Shield Rigs\", \n    \"name_ja\": \"大型シールドリグ\", \n    \"name_ko\": \"대형 실드 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型护盾改装件\", \n    \"nameID\": 66416, \n    \"parentGroupID\": 954\n  }, \n  \"1272\": {\n    \"description_de\": \"Strukturen zur Kontrolle und Ausbeutung von Sonnensystemen\", \n    \"description_en-us\": \"Structures pertaining to the control and exploitation of solar systems\", \n    \"description_es\": \"Estructuras relacionadas con el control y la explotación de los sistemas solares.\", \n    \"description_fr\": \"Structures destinées au contrôle et à l'exploitation des systèmes solaires\", \n    \"description_it\": \"Structures pertaining to the control and exploitation of solar systems\", \n    \"description_ja\": \"ソーラーシステムの制御・開発に関わる建造物\", \n    \"description_ko\": \"항성계 점령 및 기반 시설 건설에 사용되는 구조물입니다.\", \n    \"description_ru\": \"Сооружения, необходимые для осуществления контроля за планетными системами\", \n    \"description_zh\": \"帮助玩家掌控并开发星系的建筑\", \n    \"descriptionID\": 65459, \n    \"hasTypes\": 0, \n    \"iconID\": 3952, \n    \"name_de\": \"Souveränitätsstrukturen\", \n    \"name_en-us\": \"Sovereignty Structures\", \n    \"name_es\": \"Estructuras de soberanía\", \n    \"name_fr\": \"Structures de souveraineté\", \n    \"name_it\": \"Sovereignty Structures\", \n    \"name_ja\": \"領有権管理設備\", \n    \"name_ko\": \"소버린티 구조물\", \n    \"name_ru\": \"Блоки воздействия на суверенитет\", \n    \"name_zh\": \"主权设施\", \n    \"nameID\": 66534, \n    \"parentGroupID\": 477\n  }, \n  \"1273\": {\n    \"description_de\": \"Starbase-Einheiten, um Territorialansprüche geltend zu machen.\", \n    \"description_en-us\": \"Starbase units for claiming territory.\", \n    \"description_es\": \"Unidades de base estelar para reivindicar territorio.\", \n    \"description_fr\": \"Unités de base stellaire permettant de revendiquer un territoire.\", \n    \"description_it\": \"Starbase units for claiming territory.\", \n    \"description_ja\": \"領地を確保するためのスターベースユニット。\", \n    \"description_ko\": \"영토 제어 관련 스타베이스 구조물입니다.\", \n    \"description_ru\": \"Устройства, обеспечивающие получение права на владение планетной системой.\", \n    \"description_zh\": \"用于宣布主权的母星单元。\", \n    \"descriptionID\": 65460, \n    \"hasTypes\": 1, \n    \"iconID\": 3952, \n    \"name_de\": \"Gebietsansprucheinheiten\", \n    \"name_en-us\": \"Territorial Claim Units\", \n    \"name_es\": \"Unidades de reivindicación territorial\", \n    \"name_fr\": \"Unités de revendication territoriale\", \n    \"name_it\": \"Territorial Claim Units\", \n    \"name_ja\": \"領域支配用ユニット\", \n    \"name_ko\": \"영토 제어 유닛\", \n    \"name_ru\": \"Демаркационные маяки\", \n    \"name_zh\": \"主权宣布设施\", \n    \"nameID\": 66535, \n    \"parentGroupID\": 1272\n  }, \n  \"1274\": {\n    \"description_de\": \"Starbase-Einheiten zur Blockade der Souveränität.\", \n    \"description_en-us\": \"Starbase units for blockading sovereignty.\", \n    \"description_es\": \"Unidades de base estelar para bloquear la soberanía.\", \n    \"description_fr\": \"Unités de base stellaire permettant de bloquer l'accès à la souveraineté.\", \n    \"description_it\": \"Starbase units for blockading sovereignty.\", \n    \"description_ja\": \"サブランティを封鎖するスターベースユニット。\", \n    \"description_ko\": \"소버린티를 봉쇄할 수 있는 스타베이스 구조물입니다.\", \n    \"description_ru\": \"Устройства, предназначенные для подавления права владения планетными системами.\", \n    \"description_zh\": \"用于干扰主权的母星单元。\", \n    \"descriptionID\": 65461, \n    \"hasTypes\": 1, \n    \"iconID\": 3952, \n    \"name_de\": \"Souveränitätsblockierer\", \n    \"name_en-us\": \"Sovereignty Blockade Units\", \n    \"name_es\": \"Unidades de bloqueo de soberanía\", \n    \"name_fr\": \"Unités de blocus de la souveraineté\", \n    \"name_it\": \"Sovereignty Blockade Units\", \n    \"name_ja\": \"領有権封鎖ユニット\", \n    \"name_ko\": \"소버린티 봉쇄 유닛\", \n    \"name_ru\": \"Устройства контрзаявки\", \n    \"name_zh\": \"主权干扰设施\", \n    \"nameID\": 66536, \n    \"parentGroupID\": 1272\n  }, \n  \"1275\": {\n    \"description_de\": \"Starbase-Einheiten zur Errichtung von Infrastruktur.\", \n    \"description_en-us\": \"Starbase units for building infrastructure.\", \n    \"description_es\": \"Unidades de base estelar para construir infraestructuras.\", \n    \"description_fr\": \"Unités de base stellaire permettant de construire une infrastructure.\", \n    \"description_it\": \"Starbase units for building infrastructure.\", \n    \"description_ja\": \"インフラ建設用の各種スターベースユニット。\", \n    \"description_ko\": \"인프라 관련 스타베이스 구조물입니다.\", \n    \"description_ru\": \"Модули звездных баз, позволяющие развивать инфраструктуру планетной системы.\", \n    \"description_zh\": \"用于建设基础设施的母星单元。\", \n    \"descriptionID\": 65462, \n    \"hasTypes\": 1, \n    \"iconID\": 3952, \n    \"name_de\": \"Souveränitätshubs\", \n    \"name_en-us\": \"Sovereignty Hubs\", \n    \"name_es\": \"Centros de soberanía\", \n    \"name_fr\": \"Pôles de souveraineté\", \n    \"name_it\": \"Sovereignty Hubs\", \n    \"name_ja\": \"領有権ハブ\", \n    \"name_ko\": \"소버린티 허브\", \n    \"name_ru\": \"Штабы владений\", \n    \"name_zh\": \"主权中心\", \n    \"nameID\": 66537, \n    \"parentGroupID\": 1272\n  }, \n  \"1276\": {\n    \"description_de\": \"Upgrades, die in einem <a href=showinfo:32458>Souveränitätshub</a> installiert sind.\", \n    \"description_en-us\": \"Upgrades which are installed into a <a href=showinfo:32458>sovereignty hub</a>.\", \n    \"description_es\": \"Mejoras instaladas en un<a href=showinfo:32458>centro de soberanía</a>.\", \n    \"description_fr\": \"Améliorations installées dans un <a href=showinfo:32458>pôle de souveraineté</a>.\", \n    \"description_it\": \"Upgrades which are installed into a <a href=showinfo:32458>sovereignty hub</a>.\", \n    \"description_ja\": \"<a href=showinfo:32458>領有権ハブ</a>に装着するアップグレード。\", \n    \"description_ko\": \"<a href=showinfo:32458>소버린티 허브</a>에 설치하는 업그레이드입니다.\", \n    \"description_ru\": \"Устанавливаемые улучшения для <a href=showinfo:32458>штаба владений</a>.\", \n    \"description_zh\": \"安装在<a href=showinfo:32458>主权中心</a>内的升级件。\", \n    \"descriptionID\": 65239, \n    \"hasTypes\": 0, \n    \"iconID\": 3947, \n    \"name_de\": \"Infrastrukturupgrades\", \n    \"name_en-us\": \"Infrastructure Upgrades\", \n    \"name_es\": \"Mejoras de infraestructuras\", \n    \"name_fr\": \"Améliorations d'infrastructure\", \n    \"name_it\": \"Infrastructure Upgrades\", \n    \"name_ja\": \"領域施設強化\", \n    \"name_ko\": \"인프라 업그레이드\", \n    \"name_ru\": \"Расширения инфраструктуры\", \n    \"name_zh\": \"基础设施升级\", \n    \"nameID\": 66313, \n    \"parentGroupID\": 1272\n  }, \n  \"1282\": {\n    \"description_de\": \"Strategische Upgrades für Souveränitätsstrukturen.\", \n    \"description_en-us\": \"Strategic upgrades to sovereignty structures.\", \n    \"description_es\": \"Mejoras estratégicas para las estructuras de soberanía.\", \n    \"description_fr\": \"Améliorations stratégiques des structures de souveraineté.\", \n    \"description_it\": \"Strategic upgrades to sovereignty structures.\", \n    \"description_ja\": \"領有権管理設備の戦略強化。\", \n    \"description_ko\": \"소버린티 구조물에 대한 전략 업그레이드입니다.\", \n    \"description_ru\": \"Модули для центров инфраструктуры, влияющие на стратегическую значимость планетной системы.\", \n    \"description_zh\": \"用于主权设施的战略类升级件。\", \n    \"descriptionID\": 65455, \n    \"hasTypes\": 1, \n    \"iconID\": 3946, \n    \"name_de\": \"Strategische Upgrades\", \n    \"name_en-us\": \"Strategic Upgrades\", \n    \"name_es\": \"Mejoras estratégicas\", \n    \"name_fr\": \"Améliorations stratégiques\", \n    \"name_it\": \"Strategic Upgrades\", \n    \"name_ja\": \"戦略強化\", \n    \"name_ko\": \"전략 업그레이드\", \n    \"name_ru\": \"Стратегические расширения\", \n    \"name_zh\": \"战略升级\", \n    \"nameID\": 66530, \n    \"parentGroupID\": 1276\n  }, \n  \"1283\": {\n    \"description_de\": \"Industrial-Upgrades für Souveränitätsstrukturen.\", \n    \"description_en-us\": \"Industrial upgrades to sovereignty structures.\", \n    \"description_es\": \"Mejoras industriales para las estructuras de soberanía.\", \n    \"description_fr\": \"Améliorations industrielles des structures de souveraineté.\", \n    \"description_it\": \"Industrial upgrades to sovereignty structures.\", \n    \"description_ja\": \"領有権管理設備の工業力強化。\", \n    \"description_ko\": \"소버린티 구조물에 대한 산업 업그레이드입니다.\", \n    \"description_ru\": \"Модули для центров инфраструктуры, влияющие на экономическую обстановку в планетной системе.\", \n    \"description_zh\": \"用于主权设施的工业类升级件。\", \n    \"descriptionID\": 65456, \n    \"hasTypes\": 1, \n    \"iconID\": 3948, \n    \"name_de\": \"Industrieupgrades\", \n    \"name_en-us\": \"Industrial Upgrades\", \n    \"name_es\": \"Mejoras industriales\", \n    \"name_fr\": \"Améliorations industrielles\", \n    \"name_it\": \"Industrial Upgrades\", \n    \"name_ja\": \"工業力強化\", \n    \"name_ko\": \"산업 업그레이드\", \n    \"name_ru\": \"Промышленные расширения\", \n    \"name_zh\": \"工业升级\", \n    \"nameID\": 66531, \n    \"parentGroupID\": 1276\n  }, \n  \"1284\": {\n    \"description_de\": \"Militär-Upgrades für Souveränitätsstrukturen.\", \n    \"description_en-us\": \"Military upgrades to sovereignty structures.\", \n    \"description_es\": \"Mejoras militares para las estructuras de soberanía.\", \n    \"description_fr\": \"Améliorations militaires des structures de souveraineté.\", \n    \"description_it\": \"Military upgrades to sovereignty structures.\", \n    \"description_ja\": \"領有権管理設備の軍事力強化。\", \n    \"description_ko\": \"소버린티 구조물에 대한 군사 업그레이드입니다.\", \n    \"description_ru\": \"Модули для центров инфраструктуры, влияющие на военную обстановку в планетной системе.\", \n    \"description_zh\": \"用于主权设施的军事类升级件。\", \n    \"descriptionID\": 65457, \n    \"hasTypes\": 1, \n    \"iconID\": 3947, \n    \"name_de\": \"Militärupgrades\", \n    \"name_en-us\": \"Military Upgrades\", \n    \"name_es\": \"Mejoras militares\", \n    \"name_fr\": \"Améliorations militaires\", \n    \"name_it\": \"Military Upgrades\", \n    \"name_ja\": \"軍事力強化\", \n    \"name_ko\": \"군사 업그레이드\", \n    \"name_ru\": \"Военные расширения\", \n    \"name_zh\": \"军事升级\", \n    \"nameID\": 66532, \n    \"parentGroupID\": 1276\n  }, \n  \"1285\": {\n    \"description_de\": \"Strukturen zur Errichtung von Kapselpiloten betriebener Sternenbasen\", \n    \"description_en-us\": \"Structures used in constructing capsuleer-run starbases\", \n    \"description_es\": \"Estructuras usadas para construir bases estelares de capsulistas.\", \n    \"description_fr\": \"Structures utilisées pour la construction de bases stellaires dirigées par des capsuliers\", \n    \"description_it\": \"Structures used in constructing capsuleer-run starbases\", \n    \"description_ja\": \"カプセラがスターベースを建てる際に使用する建造物\", \n    \"description_ko\": \"스타베이스 건설에 사용되는 구조물입니다.\", \n    \"description_ru\": \"Сооружения, используемые для создания ПОСов\", \n    \"description_zh\": \"玩家建造的母星基地中使用的建筑\", \n    \"descriptionID\": 65458, \n    \"hasTypes\": 0, \n    \"iconID\": 2222, \n    \"name_de\": \"Sternenbasis-Strukturen\", \n    \"name_en-us\": \"Starbase Structures\", \n    \"name_es\": \"Estructuras de base estelar\", \n    \"name_fr\": \"Structures de base stellaire\", \n    \"name_it\": \"Starbase Structures\", \n    \"name_ja\": \"基地設備\", \n    \"name_ko\": \"스타베이스 구조물\", \n    \"name_ru\": \"Передвижные орбитальные станции\", \n    \"name_zh\": \"母星建筑\", \n    \"nameID\": 66533, \n    \"parentGroupID\": 477\n  }, \n  \"1286\": {\n    \"description_de\": \"Blaupausen von XL Marschflugkörpern.\", \n    \"description_en-us\": \"Blueprints of XL Cruise Missiles.\", \n    \"description_es\": \"Planos de misiles de crucero XL.\", \n    \"description_fr\": \"Plans de construction de missiles de croisière XL.\", \n    \"description_it\": \"Blueprints of XL Cruise Missiles.\", \n    \"description_ja\": \"XLクルーズミサイルのブループリント。\", \n    \"description_ko\": \"XL 크루즈 미사일 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ракет дальнего боя сверхбольшой мощности.\", \n    \"description_zh\": \"各种超大型巡航导弹的蓝图。\", \n    \"descriptionID\": 65298, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"XL Marschflugkörper\", \n    \"name_en-us\": \"XL Cruise Missiles\", \n    \"name_es\": \"Misiles de crucero XL\", \n    \"name_fr\": \"Missiles de croisière XL\", \n    \"name_it\": \"XL Cruise Missiles\", \n    \"name_ja\": \"XLクルーズミサイル\", \n    \"name_ko\": \"XL 크루즈 미사일\", \n    \"name_ru\": \"Сверхбольшие дальнобойные ракеты\", \n    \"name_zh\": \"超大型巡航导弹\", \n    \"nameID\": 66372, \n    \"parentGroupID\": 314\n  }, \n  \"1287\": {\n    \"description_de\": \"Standard XL Marschflugkörper-Designs.\", \n    \"description_en-us\": \"Standard XL cruise missile designs.\", \n    \"description_es\": \"Diseños de misiles de crucero XL estándar.\", \n    \"description_fr\": \"Modèles de missiles de croisière XL standard.\", \n    \"description_it\": \"Standard XL cruise missile designs.\", \n    \"description_ja\": \"標準型XLクルーズミサイルの設計。\", \n    \"description_ko\": \"일반 XL 크루즈 미사일입니다.\", \n    \"description_ru\": \"Проекты стандартных вариантов оснащения РДБ.\", \n    \"description_zh\": \"标准超大型巡航导弹设计。\", \n    \"descriptionID\": 65396, \n    \"hasTypes\": 1, \n    \"iconID\": 183, \n    \"name_de\": \"Standard XL Marschflugkörper\", \n    \"name_en-us\": \"Standard XL Cruise Missiles\", \n    \"name_es\": \"Misiles de crucero XL estándar\", \n    \"name_fr\": \"Missiles de croisière XL standard\", \n    \"name_it\": \"Standard XL Cruise Missiles\", \n    \"name_ja\": \"標準型XLクルーズミサイル\", \n    \"name_ko\": \"일반 XL 크루즈 미사일\", \n    \"name_ru\": \"Стандартные\", \n    \"name_zh\": \"标准超大型巡航导弹\", \n    \"nameID\": 66470, \n    \"parentGroupID\": 1316\n  }, \n  \"1310\": {\n    \"description_de\": \"Bemannte Kampfschiffe, einsetzbar von Trägerschiffen und Supercarriern.\", \n    \"description_en-us\": \"Piloted combat vessels, deployable from Carriers and Supercarriers.\", \n    \"description_es\": \"Naves de combate tripuladas, desplegables desde portanaves y superportanaves.\", \n    \"description_fr\": \"Vaisseaux de combat pilotés pouvant être déployés depuis les porte-vaisseaux et super porte-vaisseaux.\", \n    \"description_it\": \"Piloted combat vessels, deployable from Carriers and Supercarriers.\", \n    \"description_ja\": \"艦載機母艦および大型艦載機母艦から配置可能な有人コンバット船。\", \n    \"description_ko\": \"슈퍼캐리어 및 캐리어에서 사출되는 전투 기체입니다.\", \n    \"description_ru\": \"Пилотирумые боевые корабли, запускаемые с кораблей-носителей и суперкораблей-носителей.\", \n    \"description_zh\": \"有人驾驶的作战飞船，可以从航空母舰或者超级航母上进行部署。\", \n    \"descriptionID\": 65241, \n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Schwere Jäger\", \n    \"name_en-us\": \"Heavy Fighters\", \n    \"name_es\": \"Cazas pesados\", \n    \"name_fr\": \"Chasseurs lourds\", \n    \"name_it\": \"Heavy Fighters\", \n    \"name_ja\": \"重量級戦闘機\", \n    \"name_ko\": \"헤비 파이터\", \n    \"name_ru\": \"Тяжёлые истребители\", \n    \"name_zh\": \"重型铁骑舰载机\", \n    \"nameID\": 66315, \n    \"parentGroupID\": 2410\n  }, \n  \"1313\": {\n    \"description_de\": \"Blaupausen schwerer Jäger-Designs.\", \n    \"description_en-us\": \"Blueprints of heavy fighter designs.\", \n    \"description_es\": \"Planos de diseños de cazas pesados.\", \n    \"description_fr\": \"Plans de construction de modèles de chasseur-bombardier.\", \n    \"description_it\": \"Blueprints of heavy fighter designs.\", \n    \"description_ja\": \"重量級戦闘機のブループリント。\", \n    \"description_ko\": \"헤비 파이터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тяжёлых истребителей.\", \n    \"description_zh\": \"重型铁骑舰载机设计蓝图。\", \n    \"descriptionID\": 65243, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schwere Jäger\", \n    \"name_en-us\": \"Heavy Fighters\", \n    \"name_es\": \"Cazas pesados\", \n    \"name_fr\": \"Chasseurs lourds\", \n    \"name_it\": \"Heavy Fighters\", \n    \"name_ja\": \"重量級戦闘機\", \n    \"name_ko\": \"헤비 파이터\", \n    \"name_ru\": \"Тяжёлые истребители\", \n    \"name_zh\": \"重型铁骑舰载机\", \n    \"nameID\": 66317, \n    \"parentGroupID\": 2237\n  }, \n  \"1316\": {\n    \"description_de\": \"XL Marschflugkörper-Designs.\", \n    \"description_en-us\": \"XL cruise missile designs.\", \n    \"description_es\": \"Diseños de misiles de crucero XL.\", \n    \"description_fr\": \"Modèles de missiles de croisière XL.\", \n    \"description_it\": \"XL cruise missile designs.\", \n    \"description_ja\": \"XLクルーズミサイルの設計。\", \n    \"description_ko\": \"XL 크루즈 미사일입니다.\", \n    \"description_ru\": \"Проекты ракет дальнего боя сверхбольшой мощности.\", \n    \"description_zh\": \"超大型巡航导弹设计。\", \n    \"descriptionID\": 65395, \n    \"hasTypes\": 0, \n    \"iconID\": 183, \n    \"name_de\": \"XL Marschflugkörper\", \n    \"name_en-us\": \"XL Cruise Missiles\", \n    \"name_es\": \"Misiles de crucero XL\", \n    \"name_fr\": \"Missiles de croisière XL\", \n    \"name_it\": \"XL Cruise Missiles\", \n    \"name_ja\": \"XLクルーズミサイル\", \n    \"name_ko\": \"XL 크루즈 미사일\", \n    \"name_ru\": \"Сверхбольшие дальнобойные ракеты\", \n    \"name_zh\": \"超大型巡航导弹\", \n    \"nameID\": 66469, \n    \"parentGroupID\": 114\n  }, \n  \"1317\": {\n    \"description_de\": \"Fraktion XL Marschflugkörper-Designs.\", \n    \"description_en-us\": \"Faction XL cruise missile designs.\", \n    \"description_es\": \"Diseños de misiles de crucero XL de facción.\", \n    \"description_fr\": \"Modèles de missiles de croisière XL de faction.\", \n    \"description_it\": \"Faction XL cruise missile designs.\", \n    \"description_ja\": \"ファクションXLクルーズミサイルの設計。\", \n    \"description_ko\": \"팩션 XL 크루즈 미사일입니다.\", \n    \"description_ru\": \"Проекты пиратских и армейских РДБ.\", \n    \"description_zh\": \"势力超大型巡航导弹设计。\", \n    \"descriptionID\": 65397, \n    \"hasTypes\": 1, \n    \"iconID\": 183, \n    \"name_de\": \"Fraktion XL Marschflugkörper\", \n    \"name_en-us\": \"Faction XL Cruise Missiles\", \n    \"name_es\": \"Misiles de crucero XL de las facciones\", \n    \"name_fr\": \"Missiles de croisière XL de faction\", \n    \"name_it\": \"Faction XL Cruise Missiles\", \n    \"name_ja\": \"ファクションXLクルーズミサイル\", \n    \"name_ko\": \"팩션 XL 크루즈 미사일\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力超大型巡航导弹\", \n    \"nameID\": 66471, \n    \"parentGroupID\": 1316\n  }, \n  \"1320\": {\n    \"description_de\": \"Kapselpiloten können die planetaren Ressourcen von New Eden durch die Errichtung von Kommandozentralen auf dem Boden und orbitalen Infrastrukturen im Weltraum auszubeuten.\", \n    \"description_en-us\": \"Capsuleers can exploit the planetary resources of New Eden by establishing command centers on the ground and orbital infrastructure in space\", \n    \"description_es\": \"Los capsulistas pueden aprovechar los recursos planetarios de Nuevo Edén estableciendo centros de mando en la superficie e infraestructuras orbitales en el espacio.\", \n    \"description_fr\": \"Les capsuliers peuvent exploiter les abondantes ressources planétaires de New Eden en installant des centres de commandement au sol et des infrastructures orbitales dans l'espace\", \n    \"description_it\": \"Capsuleers can exploit the planetary resources of New Eden by establishing command centers on the ground and orbital infrastructure in space\", \n    \"description_ja\": \"地上に司令基地、そして宙域に軌道インフラストラクチャを建造すれば、ニューエデン内の惑星の資源を採取することもできます\", \n    \"description_ko\": \"행성 궤도 시설 및 지상 통제센터를 설치함으로써 행성 자원을 추출할 수 있습니다.\", \n    \"description_ru\": \"Капсулёры могут вести добычу различных ресурсов на планетах галактики путём развёртывания наземных баз на планетах и орбитальной инфраструктуры в космосе.\", \n    \"description_zh\": \"飞行员可以在太空天体表面建造指挥中心以及在轨道上建造设施来开采行星资源\", \n    \"descriptionID\": 65244, \n    \"hasTypes\": 0, \n    \"iconID\": 2881, \n    \"name_de\": \"Planetarische Infrastruktur\", \n    \"name_en-us\": \"Planetary Infrastructure\", \n    \"name_es\": \"Infraestructura planetaria\", \n    \"name_fr\": \"Infrastructure planétaire\", \n    \"name_it\": \"Planetary Infrastructure\", \n    \"name_ja\": \"惑星開発施設\", \n    \"name_ko\": \"행성 인프라시설\", \n    \"name_ru\": \"Планетарная инфраструктура\", \n    \"name_zh\": \"行星基础设施\", \n    \"nameID\": 66318\n  }, \n  \"1322\": {\n    \"description_de\": \"Zur Extraktion von Ressourcen von einem Planeten wird eine Kommandozentrale benötigt\", \n    \"description_en-us\": \"A Command Center is required to extract resources from a planet\", \n    \"description_es\": \"Se necesita un centro de mando para extraer recursos de un planeta.\", \n    \"description_fr\": \"Il est nécessaire d'avoir un centre de commandement pour extraire les ressources d'une planète\", \n    \"description_it\": \"A Command Center is required to extract resources from a planet\", \n    \"description_ja\": \"惑星から資源を採取するには、司令基地が必要になる\", \n    \"description_ko\": \"행성 자원을 추출하기 위한 기반 시설입니다.\", \n    \"description_ru\": \"Для добычи ресурсов на поверхности планеты необходим центр управления наземными базами\", \n    \"description_zh\": \"从行星上开采资源需要一座指挥中心\", \n    \"descriptionID\": 65523, \n    \"hasTypes\": 1, \n    \"iconID\": 2875, \n    \"name_de\": \"Kommandozentralen\", \n    \"name_en-us\": \"Command Centers\", \n    \"name_es\": \"Centros de mando\", \n    \"name_fr\": \"Centres de commandement\", \n    \"name_it\": \"Command Centers\", \n    \"name_ja\": \"司令基地\", \n    \"name_ko\": \"통제센터\", \n    \"name_ru\": \"Центры управления\", \n    \"name_zh\": \"指挥中心\", \n    \"nameID\": 66598, \n    \"parentGroupID\": 1320\n  }, \n  \"1323\": {\n    \"description_de\": \"Skills zum effizienten Abbau von Rohstoffen und der Aufbereitung dieser.\", \n    \"description_en-us\": \"Skills pertaining to efficiently extracting raw materials and refining them\", \n    \"description_es\": \"Habilidades para extraer materias primas y refinarlas de forma eficaz.\", \n    \"description_fr\": \"Compétences destinées à extraire les matières premières et à les raffiner de manière efficace\", \n    \"description_it\": \"Skills pertaining to efficiently extracting raw materials and refining them\", \n    \"description_ja\": \"原料を効率よく抽出・精錬するスキル\", \n    \"description_ko\": \"재료 추출 및 정제 관련 스킬입니다.\", \n    \"description_ru\": \"Навыки, необходимые для добычи сырья и его последующей переработки\", \n    \"description_zh\": \"高效地开采并提炼原材料的技能\", \n    \"descriptionID\": 65441, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Ressourcenverarbeitung\", \n    \"name_en-us\": \"Resource Processing\", \n    \"name_es\": \"Procesamiento de recursos\", \n    \"name_fr\": \"Traitement des ressources\", \n    \"name_it\": \"Resource Processing\", \n    \"name_ja\": \"資源加工\", \n    \"name_ko\": \"자원 정제\", \n    \"name_ru\": \"Добыча и переработка сырья\", \n    \"name_zh\": \"资源处理\", \n    \"nameID\": 66515, \n    \"parentGroupID\": 150\n  }, \n  \"1332\": {\n    \"description_de\": \"Von Planeten gewonnene Materialien\", \n    \"description_en-us\": \"Materials sourced from planets\", \n    \"description_es\": \"Materiales extraídos de los planetas.\", \n    \"description_fr\": \"Matériaux provenant des planètes\", \n    \"description_it\": \"Materials sourced from planets\", \n    \"description_ja\": \"惑星から採掘される資源\", \n    \"description_ko\": \"행성에서 추출한 자원입니다.\", \n    \"description_ru\": \"Материалы, добытые на планетах\", \n    \"description_zh\": \"从行星上获取的材料\", \n    \"descriptionID\": 65275, \n    \"hasTypes\": 0, \n    \"iconID\": 10073, \n    \"name_de\": \"Planetarische Materialien\", \n    \"name_en-us\": \"Planetary Materials\", \n    \"name_es\": \"Materiales planetarios\", \n    \"name_fr\": \"Matériaux planétaires\", \n    \"name_it\": \"Planetary Materials\", \n    \"name_ja\": \"惑星資源\", \n    \"name_ko\": \"행성 자원\", \n    \"name_ru\": \"Планетарные материалы\", \n    \"name_zh\": \"行星材料\", \n    \"nameID\": 66349, \n    \"parentGroupID\": 533\n  }, \n  \"1333\": {\n    \"description_de\": \"Die erste Stufe planetarer Materialien.\", \n    \"description_en-us\": \"The first tier of planetary materials.\", \n    \"description_es\": \"El primer nivel de materiales planetarios.\", \n    \"description_fr\": \"Première strate des matériaux planétaires.\", \n    \"description_it\": \"The first tier of planetary materials.\", \n    \"description_ja\": \"惑星資源の 1 次加工形態。\", \n    \"description_ko\": \"행성 자원의 첫 번째 티어 자원입니다.\", \n    \"description_ru\": \"Планетарные материалы первой категории.\", \n    \"description_zh\": \"各种第一级行星材料。\", \n    \"descriptionID\": 65447, \n    \"hasTypes\": 1, \n    \"iconID\": 10012, \n    \"name_de\": \"Planetarische Rohstoffe\", \n    \"name_en-us\": \"Raw Planetary Materials\", \n    \"name_es\": \"Materiales planetarios sin procesar\", \n    \"name_fr\": \"Matériaux planétaires bruts\", \n    \"name_it\": \"Raw Planetary Materials\", \n    \"name_ja\": \"惑星原料\", \n    \"name_ko\": \"행성 자원 - 원재료 단계\", \n    \"name_ru\": \"Необработанные планетарные материалы\", \n    \"name_zh\": \"行星原材料\", \n    \"nameID\": 66521, \n    \"parentGroupID\": 1332\n  }, \n  \"1334\": {\n    \"description_de\": \"Die zweite Stufe planetarer Materialien.\", \n    \"description_en-us\": \"The second tier of planetary materials.\", \n    \"description_es\": \"El segundo nivel de materiales planetarios.\", \n    \"description_fr\": \"Deuxième strate de matériaux planétaires.\", \n    \"description_it\": \"The second tier of planetary materials.\", \n    \"description_ja\": \"惑星資源の 2 次加工形態。\", \n    \"description_ko\": \"행성 자원의 두 번째 티어 자원입니다.\", \n    \"description_ru\": \"Планетарные материалы второй категории.\", \n    \"description_zh\": \"各种第二级行星材料。\", \n    \"descriptionID\": 65448, \n    \"hasTypes\": 1, \n    \"iconID\": 10023, \n    \"name_de\": \"Veredelte Planetarische Materialien\", \n    \"name_en-us\": \"Processed Planetary Materials\", \n    \"name_es\": \"Materiales planetarios procesados\", \n    \"name_fr\": \"Matériaux planétaires traités\", \n    \"name_it\": \"Processed Planetary Materials\", \n    \"name_ja\": \"惑星1次加工品\", \n    \"name_ko\": \"행성 자원 - 재처리 단계\", \n    \"name_ru\": \"Обработанные планетарные материалы\", \n    \"name_zh\": \"加工过的行星材料\", \n    \"nameID\": 66522, \n    \"parentGroupID\": 1332\n  }, \n  \"1335\": {\n    \"description_de\": \"Die dritte Stufe planetarer Materialien.\", \n    \"description_en-us\": \"The third tier of planetary materials.\", \n    \"description_es\": \"El tercer nivel de materiales planetarios.\", \n    \"description_fr\": \"Troisième strate de matériaux planétaires.\", \n    \"description_it\": \"The third tier of planetary materials.\", \n    \"description_ja\": \"惑星資源の 3 次加工形態。\", \n    \"description_ko\": \"행성 자원의 세 번째 티어 자원입니다.\", \n    \"description_ru\": \"Планетарные материалы третьей категории.\", \n    \"description_zh\": \"各种第三级行星材料。\", \n    \"descriptionID\": 65449, \n    \"hasTypes\": 1, \n    \"iconID\": 1362, \n    \"name_de\": \"Raffinierte Planetarische Materialien\", \n    \"name_en-us\": \"Refined Planetary Materials\", \n    \"name_es\": \"Materiales planetarios refinados\", \n    \"name_fr\": \"Matériaux planétaires raffinés\", \n    \"name_it\": \"Refined Planetary Materials\", \n    \"name_ja\": \"惑星精錬資源\", \n    \"name_ko\": \"행성 자원 - 정제 단계\", \n    \"name_ru\": \"Технологичные планетарные материалы\", \n    \"name_zh\": \"精炼过的行星材料\", \n    \"nameID\": 66523, \n    \"parentGroupID\": 1332\n  }, \n  \"1336\": {\n    \"description_de\": \"Die vierte Stufe planetarer Materialien.\", \n    \"description_en-us\": \"The fourth tier of planetary materials.\", \n    \"description_es\": \"El cuarto nivel de materiales planetarios.\", \n    \"description_fr\": \"Quatrième strate de matériaux planétaires.\", \n    \"description_it\": \"The fourth tier of planetary materials.\", \n    \"description_ja\": \"惑星資源の 4 次加工形態。\", \n    \"description_ko\": \"행성 자원의 네 번째 티어 자원입니다.\", \n    \"description_ru\": \"Планетарные материалы четвертой категории.\", \n    \"description_zh\": \"各种第四级行星材料。\", \n    \"descriptionID\": 65450, \n    \"hasTypes\": 1, \n    \"iconID\": 10040, \n    \"name_de\": \"Spezialisierte Planetarische Materialien\", \n    \"name_en-us\": \"Specialized Planetary Materials\", \n    \"name_es\": \"Materiales planetarios especializados\", \n    \"name_fr\": \"Matériaux planétaires spécialisés\", \n    \"name_it\": \"Specialized Planetary Materials\", \n    \"name_ja\": \"特化型惑星資源\", \n    \"name_ko\": \"행성 자원 - 전문화 단계\", \n    \"name_ru\": \"Специализированные планетарные материалы\", \n    \"name_zh\": \"特殊行星材料\", \n    \"nameID\": 66525, \n    \"parentGroupID\": 1332\n  }, \n  \"1337\": {\n    \"description_de\": \"Die erste und einzige Stufe planetarer Materialien.\", \n    \"description_en-us\": \"The firth and final tier of planetary materials.\", \n    \"description_es\": \"El quinto y último nivel de materiales planetarios.\", \n    \"description_fr\": \"Cinquième et dernière strate de matériaux planétaires.\", \n    \"description_it\": \"The firth and final tier of planetary materials.\", \n    \"description_ja\": \"惑星資源の第 4、つまり最終加工形態。\", \n    \"description_ko\": \"행성 자원의 다섯 번째 티어 자원입니다.\", \n    \"description_ru\": \"Планетарные материалы пятой, высшей категории.\", \n    \"description_zh\": \"最高和最终级别的行星产出材料。\", \n    \"descriptionID\": 65451, \n    \"hasTypes\": 1, \n    \"iconID\": 10074, \n    \"name_de\": \"Fortschrittliche Planetarische Materialien\", \n    \"name_en-us\": \"Advanced Planetary Materials\", \n    \"name_es\": \"Materiales planetarios avanzados\", \n    \"name_fr\": \"Matériaux planétaires avancés\", \n    \"name_it\": \"Advanced Planetary Materials\", \n    \"name_ja\": \"惑星2次加工品\", \n    \"name_ko\": \"행성 자원 - 고급 단계\", \n    \"name_ru\": \"Высокотехнологичные планетарные материалы\", \n    \"name_zh\": \"高级行星材料\", \n    \"nameID\": 66526, \n    \"parentGroupID\": 1332\n  }, \n  \"1338\": {\n    \"description_de\": \"Blaupausen von Strukturen im Weltraum\", \n    \"description_en-us\": \"Blueprints of structures in space\", \n    \"description_es\": \"Planos de estructuras espaciales.\", \n    \"description_fr\": \"Plans de construction de structures spatiales\", \n    \"description_it\": \"Blueprints of structures in space\", \n    \"description_ja\": \"宙域にある建造物の図\", \n    \"description_ko\": \"스탠드업 구조물 관련 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи космических сооружений\", \n    \"description_zh\": \"太空建筑的蓝图\", \n    \"descriptionID\": 65343, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Strukturen\", \n    \"name_en-us\": \"Structures\", \n    \"name_es\": \"Estructuras\", \n    \"name_fr\": \"Structures\", \n    \"name_it\": \"Structures\", \n    \"name_ja\": \"建造物\", \n    \"name_ko\": \"구조물\", \n    \"name_ru\": \"Cооружения\", \n    \"name_zh\": \"建筑\", \n    \"nameID\": 66417, \n    \"parentGroupID\": 2\n  }, \n  \"1339\": {\n    \"description_de\": \"Blueprints für Kontrolltürme.\", \n    \"description_en-us\": \"Blueprints of Control Towers.\", \n    \"description_es\": \"Planos de torres de control.\", \n    \"description_fr\": \"Plans de construction de tours de contrôle.\", \n    \"description_it\": \"Blueprints of Control Towers.\", \n    \"description_ja\": \"建設プラットフォームのブループリント。\", \n    \"description_ko\": \"관제타워 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи башен управления.\", \n    \"description_zh\": \"各种控制塔的蓝图。\", \n    \"descriptionID\": 65344, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kontrolltürme\", \n    \"name_en-us\": \"Control Towers\", \n    \"name_es\": \"Torres de control\", \n    \"name_fr\": \"Tours de contrôle\", \n    \"name_it\": \"Control Towers\", \n    \"name_ja\": \"コントロールタワー\", \n    \"name_ko\": \"관제타워\", \n    \"name_ru\": \"Башни управления ПОСами\", \n    \"name_zh\": \"控制塔\", \n    \"nameID\": 66418, \n    \"parentGroupID\": 1841\n  }, \n  \"1340\": {\n    \"description_de\": \"Blueprints für Assembly Arrays.\", \n    \"description_en-us\": \"Blueprints of Assembly Arrays.\", \n    \"description_es\": \"Planos de baterías de montaje.\", \n    \"description_fr\": \"Plans de construction de modules d'assemblage.\", \n    \"description_it\": \"Blueprints of Assembly Arrays.\", \n    \"description_ja\": \"組み立て施設のブループリント。\", \n    \"description_ko\": \"생산 시설 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи сборочных цехов.\", \n    \"description_zh\": \"各种装配阵列的蓝图。\", \n    \"descriptionID\": 65345, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Fertigungsanlagen\", \n    \"name_en-us\": \"Assembly Arrays\", \n    \"name_es\": \"Baterías de montaje\", \n    \"name_fr\": \"Modules d'assemblage\", \n    \"name_it\": \"Assembly Arrays\", \n    \"name_ja\": \"組み立て施設\", \n    \"name_ko\": \"생산시설\", \n    \"name_ru\": \"Сборочные линии\", \n    \"name_zh\": \"装配阵列\", \n    \"nameID\": 66419, \n    \"parentGroupID\": 1841\n  }, \n  \"1341\": {\n    \"description_de\": \"Blueprints für Corporation-Hangar-Arrays.\", \n    \"description_en-us\": \"Blueprints of Corporate Hangar Arrays.\", \n    \"description_es\": \"Planos de dársenas de hangares corporativos.\", \n    \"description_fr\": \"Plans de construction pour installations de hangar corporatif.\", \n    \"description_it\": \"Blueprints of Corporate Hangar Arrays.\", \n    \"description_ja\": \"コーポハンガー施設のブループリント。\", \n    \"description_ko\": \"코퍼레이션 공용창고 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи складских модулей.\", \n    \"description_zh\": \"军团机库阵列的蓝图。\", \n    \"descriptionID\": 65346, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Corporation-Hangaranlagen\", \n    \"name_en-us\": \"Corporate Hangar Arrays\", \n    \"name_es\": \"Dársenas de hangares corporativos\", \n    \"name_fr\": \"Modules du hangar corporatif\", \n    \"name_it\": \"Corporate Hangar Arrays\", \n    \"name_ja\": \"コーポハンガー施設\", \n    \"name_ko\": \"코퍼레이션 공용창고\", \n    \"name_ru\": \"Внешние корпоративные ангары\", \n    \"name_zh\": \"军团机库阵列\", \n    \"nameID\": 66420, \n    \"parentGroupID\": 1841\n  }, \n  \"1342\": {\n    \"description_de\": \"Blueprints für Anziehungsgenerator-Arrays.\", \n    \"description_en-us\": \"Blueprints of Cynosural Generator Arrays.\", \n    \"description_es\": \"Planos de sistemas generadores cinosurales.\", \n    \"description_fr\": \"Plans de construction de modules de génération cynosurale.\", \n    \"description_it\": \"Blueprints of Cynosural Generator Arrays.\", \n    \"description_ja\": \"サイノシュラル生成施設のブループリント。\", \n    \"description_ko\": \"사이노슈럴 생성기 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи стационарных приводных маяков.\", \n    \"description_zh\": \"诱导力场发生阵列的蓝图。\", \n    \"descriptionID\": 65347, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Anziehungsgeneratoranlagen\", \n    \"name_en-us\": \"Cynosural Generator Arrays\", \n    \"name_es\": \"Sistemas generadores cinosurales\", \n    \"name_fr\": \"Modules de génération cynosurale\", \n    \"name_it\": \"Cynosural Generator Arrays\", \n    \"name_ja\": \"サイノシュラル生成施設\", \n    \"name_ko\": \"사이노슈럴 생성기\", \n    \"name_ru\": \"Стационарные приводные маяки\", \n    \"name_zh\": \"诱导力场发生阵列\", \n    \"nameID\": 66421, \n    \"parentGroupID\": 1841\n  }, \n  \"1343\": {\n    \"description_de\": \"Blueprints für Anziehungssystem-Jammer\", \n    \"description_en-us\": \"Blueprints of Cynosural System Jammers.\", \n    \"description_es\": \"Planos de perturbadores cinosurales de sistemas.\", \n    \"description_fr\": \"Plans de construction de brouilleurs de système cynosural.\", \n    \"description_it\": \"Blueprints of Cynosural System Jammers.\", \n    \"description_ja\": \"サイノシュラルシステムジャマーのブループリント。\", \n    \"description_ko\": \"사이노슈럴 시스템 재머 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи систем глушения приводных маяков.\", \n    \"description_zh\": \"诱导力场系统干扰器的蓝图。\", \n    \"descriptionID\": 65348, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Anziehungssystemblocker\", \n    \"name_en-us\": \"Cynosural System Jammers\", \n    \"name_es\": \"Perturbadores cinosurales de sistemas\", \n    \"name_fr\": \"Brouilleurs de système cynosural\", \n    \"name_it\": \"Cynosural System Jammers\", \n    \"name_ja\": \"サイノシュラルシステムジャマー\", \n    \"name_ko\": \"사이노슈럴 시스템 재머\", \n    \"name_ru\": \"Блоки-глушители приводных маяков\", \n    \"name_zh\": \"诱导力场系统干扰器\", \n    \"nameID\": 66422, \n    \"parentGroupID\": 1841\n  }, \n  \"1344\": {\n    \"description_de\": \"Blueprints für Batterien zur elektronischen Kriegsführung.\", \n    \"description_en-us\": \"Blueprints of Electronic Warfare Batteries.\", \n    \"description_es\": \"Planos de baterías de guerra electrónica.\", \n    \"description_fr\": \"Plans de construction de batteries de guerre électronique.\", \n    \"description_it\": \"Blueprints of Electronic Warfare Batteries.\", \n    \"description_ja\": \"電子戦兵器のブループリント。\", \n    \"description_ko\": \"전자전 포탑 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи батарей электронного противодействия.\", \n    \"description_zh\": \"各种电子战炮塔的蓝图。\", \n    \"descriptionID\": 65349, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Batterien zur elektronischen Kriegsführung\", \n    \"name_en-us\": \"Electronic Warfare Batteries\", \n    \"name_es\": \"Baterías de guerra electrónica\", \n    \"name_fr\": \"Batteries de guerre électronique\", \n    \"name_it\": \"Electronic Warfare Batteries\", \n    \"name_ja\": \"電子戦兵器\", \n    \"name_ko\": \"전자전 포탑\", \n    \"name_ru\": \"Батареи РЭБ\", \n    \"name_zh\": \"电子战炮塔\", \n    \"nameID\": 66423, \n    \"parentGroupID\": 1534\n  }, \n  \"1345\": {\n    \"description_de\": \"Blueprints für Energie-Neutralisierungsbatterien.\", \n    \"description_en-us\": \"Blueprints of Energy Neutralization Batteries.\", \n    \"description_es\": \"Planos de baterías de neutralización de energía.\", \n    \"description_fr\": \"Plans de construction de batteries de neutralisation d'énergie.\", \n    \"description_it\": \"Blueprints of Energy Neutralization Batteries.\", \n    \"description_ja\": \"エネルギー相殺兵器のブループリント。\", \n    \"description_ko\": \"에너지 뉴트럴라이제이션 포탑 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи стационарных нейтрализаторов энергии.\", \n    \"description_zh\": \"能量中和炮塔的蓝图。\", \n    \"descriptionID\": 65350, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energieneutralisierungsbatterien\", \n    \"name_en-us\": \"Energy Neutralization Batteries\", \n    \"name_es\": \"Baterías de neutralización de energía\", \n    \"name_fr\": \"Batteries de neutralisation d'énergie\", \n    \"name_it\": \"Energy Neutralization Batteries\", \n    \"name_ja\": \"エネルギー相殺兵器\", \n    \"name_ko\": \"에너지 뉴트럴라이제이션 포탑\", \n    \"name_ru\": \"Стационарные нейтрализаторы заряда накопителей\", \n    \"name_zh\": \"能量中和炮塔\", \n    \"nameID\": 66424, \n    \"parentGroupID\": 1534\n  }, \n  \"1346\": {\n    \"description_de\": \"Blaupausen für Sprungbrücken.\", \n    \"description_en-us\": \"Blueprints of Jump Bridge.\", \n    \"description_es\": \"Planos de puentes de salto.\", \n    \"description_fr\": \"Plans de construction de ponts hyperspatiaux.\", \n    \"description_it\": \"Blueprints of Jump Bridge.\", \n    \"description_ja\": \"ジャンプブリッジのブループリント。\", \n    \"description_ko\": \"점브 브릿지 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи генераторов гипермостов.\", \n    \"description_zh\": \"跳跃桥接的蓝图。\", \n    \"descriptionID\": 65351, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Sprungbrücken\", \n    \"name_en-us\": \"Jump Bridge\", \n    \"name_es\": \"Puente de salto\", \n    \"name_fr\": \"Pont hyperspatial\", \n    \"name_it\": \"Jump Bridge\", \n    \"name_ja\": \"ジャンプブリッジ\", \n    \"name_ko\": \"점프 브릿지\", \n    \"name_ru\": \"Генераторы гипермостов\", \n    \"name_zh\": \"跳跃桥接\", \n    \"nameID\": 66425, \n    \"parentGroupID\": 1841\n  }, \n  \"1347\": {\n    \"description_de\": \"Blueprints für Hybridbatterien.\", \n    \"description_en-us\": \"Blueprints of Hybrid Batteries.\", \n    \"description_es\": \"Planos de baterías híbridas.\", \n    \"description_fr\": \"Plans de construction de batteries d'armes hybrides.\", \n    \"description_it\": \"Blueprints of Hybrid Batteries.\", \n    \"description_ja\": \"ハイブリッドバッテリーのブループリント。\", \n    \"description_ko\": \"하이브리드 포탑 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи батарей гибридных орудий.\", \n    \"description_zh\": \"混合炮塔的蓝图。\", \n    \"descriptionID\": 65352, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Hybridbatterien\", \n    \"name_en-us\": \"Hybrid Batteries\", \n    \"name_es\": \"Baterías híbridas\", \n    \"name_fr\": \"Batteries hybrides\", \n    \"name_it\": \"Hybrid Batteries\", \n    \"name_ja\": \"ハイブリッド砲台\", \n    \"name_ko\": \"하이브리드 포탑\", \n    \"name_ru\": \"Батареи гибридных орудий\", \n    \"name_zh\": \"混合炮塔\", \n    \"nameID\": 66426, \n    \"parentGroupID\": 1534\n  }, \n  \"1348\": {\n    \"description_de\": \"Blueprints für Laserbatterien.\", \n    \"description_en-us\": \"Blueprints of Laser Batteries.\", \n    \"description_es\": \"Planos de baterías láser.\", \n    \"description_fr\": \"Plans de construction de batteries de lasers.\", \n    \"description_it\": \"Blueprints of Laser Batteries.\", \n    \"description_ja\": \"レーザーバッテリーのブループリント。\", \n    \"description_ko\": \"레이저 포탑 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи батарей лазерных орудий.\", \n    \"description_zh\": \"激光炮塔的蓝图。\", \n    \"descriptionID\": 65353, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Laserbatterien\", \n    \"name_en-us\": \"Laser Batteries\", \n    \"name_es\": \"Baterías láser\", \n    \"name_fr\": \"Batteries de lasers\", \n    \"name_it\": \"Laser Batteries\", \n    \"name_ja\": \"レーザー砲台\", \n    \"name_ko\": \"레이저 포탑\", \n    \"name_ru\": \"Батареи лазерных орудий\", \n    \"name_zh\": \"激光炮塔\", \n    \"nameID\": 66427, \n    \"parentGroupID\": 1534\n  }, \n  \"1349\": {\n    \"description_de\": \"Blueprints für Lenkwaffenbatterien.\", \n    \"description_en-us\": \"Blueprints of Missile Batteries.\", \n    \"description_es\": \"Planos de baterías de misiles.\", \n    \"description_fr\": \"Plans de construction de batteries de missiles.\", \n    \"description_it\": \"Blueprints of Missile Batteries.\", \n    \"description_ja\": \"ミサイル砲台のブループリント。\", \n    \"description_ko\": \"미사일 포탑 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ракетных батарей.\", \n    \"description_zh\": \"导弹发射塔的蓝图。\", \n    \"descriptionID\": 65354, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Lenkwaffenbatterien\", \n    \"name_en-us\": \"Missile Batteries\", \n    \"name_es\": \"Baterías de misiles\", \n    \"name_fr\": \"Batteries de missiles\", \n    \"name_it\": \"Missile Batteries\", \n    \"name_ja\": \"ミサイル砲台\", \n    \"name_ko\": \"미사일 포탑\", \n    \"name_ru\": \"Ракетные батареи\", \n    \"name_zh\": \"导弹发射塔\", \n    \"nameID\": 66428, \n    \"parentGroupID\": 1534\n  }, \n  \"1350\": {\n    \"description_de\": \"Blueprints für Projektilbatterien.\", \n    \"description_en-us\": \"Blueprints of Projectile Batteries.\", \n    \"description_es\": \"Planos de baterías de proyectiles.\", \n    \"description_fr\": \"Plans de construction de batteries d'armes à projectiles.\", \n    \"description_it\": \"Blueprints of Projectile Batteries.\", \n    \"description_ja\": \"プロジェクタイル砲台のブループリント。\", \n    \"description_ko\": \"발사체 포탑 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи батарей баллистических орудий.\", \n    \"description_zh\": \"射弹炮塔的蓝图。\", \n    \"descriptionID\": 65355, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Projektilbatterien\", \n    \"name_en-us\": \"Projectile Batteries\", \n    \"name_es\": \"Baterías de proyectiles\", \n    \"name_fr\": \"Batteries à projectiles\", \n    \"name_it\": \"Projectile Batteries\", \n    \"name_ja\": \"プロジェクタイル砲台\", \n    \"name_ko\": \"발사체 포탑\", \n    \"name_ru\": \"Батареи баллистических орудий\", \n    \"name_zh\": \"射弹炮塔\", \n    \"nameID\": 66429, \n    \"parentGroupID\": 1534\n  }, \n  \"1351\": {\n    \"description_de\": \"Blueprints für Reaktoren.\", \n    \"description_en-us\": \"Blueprints of Reactors.\", \n    \"description_es\": \"Planos de reactores.\", \n    \"description_fr\": \"Plans de construction de réacteurs.\", \n    \"description_it\": \"Blueprints of Reactors.\", \n    \"description_ja\": \"リアクターのブループリント。\", \n    \"description_ko\": \"반응로 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи химических реакторов.\", \n    \"description_zh\": \"反应堆的蓝图。\", \n    \"descriptionID\": 65356, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Reaktoren\", \n    \"name_en-us\": \"Reactors\", \n    \"name_es\": \"Reactores\", \n    \"name_fr\": \"Réacteurs\", \n    \"name_it\": \"Reactors\", \n    \"name_ja\": \"リアクター\", \n    \"name_ko\": \"반응로\", \n    \"name_ru\": \"Химические реакторы\", \n    \"name_zh\": \"反应堆\", \n    \"nameID\": 66430, \n    \"parentGroupID\": 1841\n  }, \n  \"1352\": {\n    \"description_de\": \"Blueprints für Mondabbau-Arrays.\", \n    \"description_en-us\": \"Blueprints of Moon Harvesting Arrays.\", \n    \"description_es\": \"Planos de plataformas recolectoras lunares.\", \n    \"description_fr\": \"Plans de construction de modules de collecte lunaire.\", \n    \"description_it\": \"Blueprints of Moon Harvesting Arrays.\", \n    \"description_ja\": \"衛星採掘施設のブループリント。\", \n    \"description_ko\": \"위성 채굴 시설 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи комплексов экстракции со спутников.\", \n    \"description_zh\": \"卫星开采阵列的蓝图。\", \n    \"descriptionID\": 65357, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mondabbauanlagen\", \n    \"name_en-us\": \"Moon Harvesting Arrays\", \n    \"name_es\": \"Plataformas recolectoras lunares\", \n    \"name_fr\": \"Modules de collecte lunaire\", \n    \"name_it\": \"Moon Harvesting Arrays\", \n    \"name_ja\": \"衛星採掘施設\", \n    \"name_ko\": \"위성 채굴 시설\", \n    \"name_ru\": \"Блоки добычи со спутников\", \n    \"name_zh\": \"卫星开采阵列\", \n    \"nameID\": 66431, \n    \"parentGroupID\": 1841\n  }, \n  \"1353\": {\n    \"description_de\": \"Blaupausen von Aufbereitungsanlagen.\", \n    \"description_en-us\": \"Blueprints of Reprocessing Arrays.\", \n    \"description_es\": \"Planos de matrices de reprocesamiento.\", \n    \"description_fr\": \"Plans de construction de modules de retraitement\", \n    \"description_it\": \"Blueprints of Reprocessing Arrays.\", \n    \"description_ja\": \"再処理施設のブループリント\", \n    \"description_ko\": \"정제시설 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи сборочных цехов\", \n    \"description_zh\": \"提炼阵列的蓝图\", \n    \"descriptionID\": 65358, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Wiederaufbereitungsanlagen\", \n    \"name_en-us\": \"Reprocessing Arrays\", \n    \"name_es\": \"Matrices de reprocesamiento\", \n    \"name_fr\": \"Modules de retraitement\", \n    \"name_it\": \"Reprocessing Arrays\", \n    \"name_ja\": \"再処理施設\", \n    \"name_ko\": \"정제시설\", \n    \"name_ru\": \"Цеха переработки\", \n    \"name_zh\": \"提炼阵列\", \n    \"nameID\": 66432, \n    \"parentGroupID\": 1841\n  }, \n  \"1354\": {\n    \"description_de\": \"Blueprints für Schild-Verstärker-Arrays.\", \n    \"description_en-us\": \"Blueprints of Shield Hardening Arrays.\", \n    \"description_es\": \"Planos de plataformas endurecedoras de escudo.\", \n    \"description_fr\": \"Plans de construction de modules de renforcement de bouclier.\", \n    \"description_it\": \"Blueprints of Shield Hardening Arrays.\", \n    \"description_ja\": \"シールドハードニング施設のブループリント。\", \n    \"description_ko\": \"실드 강화 시설 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи систем укрепления силового щита.\", \n    \"description_zh\": \"各种护盾强化阵列的蓝图。\", \n    \"descriptionID\": 65359, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schildhärtungsanlagen\", \n    \"name_en-us\": \"Shield Hardening Arrays\", \n    \"name_es\": \"Plataforma endurecedora de escudo\", \n    \"name_fr\": \"Modules de renforcement de bouclier\", \n    \"name_it\": \"Shield Hardening Arrays\", \n    \"name_ja\": \"シールドハードニング施設\", \n    \"name_ko\": \"실드 강화시설\", \n    \"name_ru\": \"Блоки укрепления щитов\", \n    \"name_zh\": \"护盾强化阵列\", \n    \"nameID\": 66433, \n    \"parentGroupID\": 1841\n  }, \n  \"1355\": {\n    \"description_de\": \"Blueprints für Silos.\", \n    \"description_en-us\": \"Blueprints of Silos.\", \n    \"description_es\": \"Planos de depósitos.\", \n    \"description_fr\": \"Plans de construction de silos.\", \n    \"description_it\": \"Blueprints of Silos.\", \n    \"description_ja\": \"貯蔵庫のブループリント。\", \n    \"description_ko\": \"사일로 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи хранилищ.\", \n    \"description_zh\": \"各种储藏库的蓝图。\", \n    \"descriptionID\": 65360, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Silos\", \n    \"name_en-us\": \"Silos\", \n    \"name_es\": \"Depósitos\", \n    \"name_fr\": \"Silos\", \n    \"name_it\": \"Silos\", \n    \"name_ja\": \"貯蔵庫\", \n    \"name_ko\": \"사일로\", \n    \"name_ru\": \"Хранилища\", \n    \"name_zh\": \"储藏库\", \n    \"nameID\": 66434, \n    \"parentGroupID\": 1841\n  }, \n  \"1356\": {\n    \"description_de\": \"Blueprints für Souveränitätsstrukturen.\", \n    \"description_en-us\": \"Blueprints of Sovereignty Structures.\", \n    \"description_es\": \"Planos de estructuras de soberanía.\", \n    \"description_fr\": \"Plans de construction de structures de souveraineté.\", \n    \"description_it\": \"Blueprints of Sovereignty Structures.\", \n    \"description_ja\": \"領有権管理設備のブループリント。\", \n    \"description_ko\": \"소버린티 구조물 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи модулей воздействия на право владения планетными системами.\", \n    \"description_zh\": \"主权设施的蓝图。\", \n    \"descriptionID\": 65361, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Souveränitätsstrukturen\", \n    \"name_en-us\": \"Sovereignty Structures\", \n    \"name_es\": \"Estructuras de soberanía\", \n    \"name_fr\": \"Structures de souveraineté\", \n    \"name_it\": \"Sovereignty Structures\", \n    \"name_ja\": \"領有権管理設備\", \n    \"name_ko\": \"소버린티 구조물\", \n    \"name_ru\": \"Блоки воздействия на суверенитет\", \n    \"name_zh\": \"主权设施\", \n    \"nameID\": 66435, \n    \"parentGroupID\": 2015\n  }, \n  \"1358\": {\n    \"description_de\": \"Blueprints für Nanobot-Reparaturpaste.\", \n    \"description_en-us\": \"Blueprints of Nanite Repair Paste.\", \n    \"description_es\": \"Planos de fluido reparador de nanobots.\", \n    \"description_fr\": \"Plans de construction Nanites de réparation\", \n    \"description_it\": \"Blueprints of Nanite Repair Paste.\", \n    \"description_ja\": \"ナノマシンリペアペイストのブループリント。\", \n    \"description_ko\": \"나나이트 용액 블루프린트입니다.\", \n    \"description_ru\": \"Инструкции по производству ремонтных нанопаст.\", \n    \"description_zh\": \"纳米体修复粘合剂的蓝图。\", \n    \"descriptionID\": 65299, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Nanobot-Reparaturpaste\", \n    \"name_en-us\": \"Nanite Repair Paste\", \n    \"name_es\": \"Fluido reparador de nanobots\", \n    \"name_fr\": \"Nanites de réparation\", \n    \"name_it\": \"Nanite Repair Paste\", \n    \"name_ja\": \"ナノマシンリペアペイスト\", \n    \"name_ko\": \"나나이트 용액\", \n    \"name_ru\": \"Ремонтная нанопаста\", \n    \"name_zh\": \"纳米体修复粘合剂\", \n    \"nameID\": 66373, \n    \"parentGroupID\": 211\n  }, \n  \"1359\": {\n    \"description_de\": \"Blaupausen für Mobile Labore.\", \n    \"description_en-us\": \"Blueprints of Laboratories.\", \n    \"description_es\": \"Planos de laboratorios.\", \n    \"description_fr\": \"Plans de construction pour laboratoires.\", \n    \"description_it\": \"Blueprints of Laboratories.\", \n    \"description_ja\": \"研究所のブループリント。\", \n    \"description_ko\": \"연구실 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи лабораторий\", \n    \"description_zh\": \"各种实验室的蓝图。\", \n    \"descriptionID\": 65362, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Labore\", \n    \"name_en-us\": \"Laboratories\", \n    \"name_es\": \"Laboratorios\", \n    \"name_fr\": \"Laboratoires\", \n    \"name_it\": \"Laboratories\", \n    \"name_ja\": \"研究施設\", \n    \"name_ko\": \"연구실\", \n    \"name_ru\": \"Лаборатории\", \n    \"name_zh\": \"实验室\", \n    \"nameID\": 66436, \n    \"parentGroupID\": 1841\n  }, \n  \"1361\": {\n    \"description_de\": \"Kleine Raumschiffe, die besonders gut für Funktionen geeignet sind, die Geschwindigkeit und Wendigkeit erfordern\", \n    \"description_en-us\": \"Small spaceships that excel in any role involving speed and agility\", \n    \"description_es\": \"Naves pequeñas que destacan en cualquier maniobra que requiera velocidad y agilidad.\", \n    \"description_fr\": \"Petits vaisseaux qui excellent dans tous les rôles nécessitant vitesse et agilité\", \n    \"description_it\": \"Small spaceships that excel in any role involving speed and agility\", \n    \"description_ja\": \"機動性に秀でる小型艦船\", \n    \"description_ko\": \"빠른 속도와 기동성을 자랑하는 소형 함선입니다.\", \n    \"description_ru\": \"Небольшие манёвренные корабли, славящиеся своей скоростью и лёгкостью\", \n    \"description_zh\": \"快速而灵活的小型舰船\", \n    \"descriptionID\": 65363, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fregatten\", \n    \"name_en-us\": \"Frigates\", \n    \"name_es\": \"Fragatas\", \n    \"name_fr\": \"Frégates\", \n    \"name_it\": \"Frigates\", \n    \"name_ja\": \"フリゲート\", \n    \"name_ko\": \"프리깃\", \n    \"name_ru\": \"Фрегаты\", \n    \"name_zh\": \"护卫舰\", \n    \"nameID\": 66437, \n    \"parentGroupID\": 4\n  }, \n  \"1362\": {\n    \"description_de\": \"Von bestimmten Fraktionen entworfene Fregatten.\", \n    \"description_en-us\": \"Frigates designed by specific factions.\", \n    \"description_es\": \"Fragatas diseñadas por facciones específicas.\", \n    \"description_fr\": \"Frégates conçues par des factions spécifiques.\", \n    \"description_it\": \"Frigates designed by specific factions.\", \n    \"description_ja\": \"特定勢力が設計したフリゲート。\", \n    \"description_ko\": \"팩션에서 설계한 프리깃입니다.\", \n    \"description_ru\": \"Модификации фрегатов, используемые различными организациями галактики.\", \n    \"description_zh\": \"各大势力设计的护卫舰。\", \n    \"descriptionID\": 65364, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fraktionsfregatten\", \n    \"name_en-us\": \"Faction Frigates\", \n    \"name_es\": \"Fragatas faccionarias\", \n    \"name_fr\": \"Frégates de faction\", \n    \"name_it\": \"Faction Frigates\", \n    \"name_ja\": \"勢力別フリゲート\", \n    \"name_ko\": \"팩션 프리깃\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力护卫舰\", \n    \"nameID\": 66438, \n    \"parentGroupID\": 1361\n  }, \n  \"1364\": {\n    \"description_de\": \"Fregattenvarianten für spezielle Zwecke.\", \n    \"description_en-us\": \"Frigate variants intended for specialized purposes.\", \n    \"description_es\": \"Variantes de fragata concebidas para fines específicos.\", \n    \"description_fr\": \"Variantes de frégates destinées à des fins précises.\", \n    \"description_it\": \"Frigate variants intended for specialized purposes.\", \n    \"description_ja\": \"特定用途に特化したフリゲート。\", \n    \"description_ko\": \"특수 임무를 위해 개조된 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты, используемые для решения специализированных задач.\", \n    \"description_zh\": \"专精于某个特定领域的护卫舰衍生型号。\", \n    \"descriptionID\": 65367, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fortschrittliche Fregatten\", \n    \"name_en-us\": \"Advanced Frigates\", \n    \"name_es\": \"Fragatas avanzadas\", \n    \"name_fr\": \"Frégates avancées\", \n    \"name_it\": \"Advanced Frigates\", \n    \"name_ja\": \"高性能フリゲート\", \n    \"name_ko\": \"상급 프리깃\", \n    \"name_ru\": \"Специализированные\", \n    \"name_zh\": \"高级护卫舰\", \n    \"nameID\": 66441, \n    \"parentGroupID\": 1361\n  }, \n  \"1365\": {\n    \"description_de\": \"Fregattendesigns anderer Fraktionen\", \n    \"description_en-us\": \"Non-Empire faction frigate designs.\", \n    \"description_es\": \"Diseños de fragatas de facciones que no pertenecen a ningún imperio.\", \n    \"description_fr\": \"Modèles de frégates de faction étrangère à l'empire.\", \n    \"description_it\": \"Non-Empire faction frigate designs.\", \n    \"description_ja\": \"非国家勢力フリゲート設計図。\", \n    \"description_ko\": \"비국가 소속 팩션의 프리깃입니다.\", \n    \"description_ru\": \"Проекты фрегатов, разработанные независимыми организациями Нового Эдема.\", \n    \"description_zh\": \"非帝国势力护卫舰设计。\", \n    \"descriptionID\": 65365, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊勢力\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратские\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 66439, \n    \"parentGroupID\": 1362\n  }, \n  \"1366\": {\n    \"description_de\": \"Designs für Navy-Fraktionsfregatten.\", \n    \"description_en-us\": \"Navy faction frigate designs.\", \n    \"description_es\": \"Diseños de fragatas faccionarias de la Armada.\", \n    \"description_fr\": \"Modèles de frégates de faction de la Navy.\", \n    \"description_it\": \"Navy faction frigate designs.\", \n    \"description_ja\": \"海軍勢力フリゲート設計図。\", \n    \"description_ko\": \"해군 팩션의 프리깃입니다.\", \n    \"description_ru\": \"Модификации фрегатов, используемые вооруженными силами государств галактики.\", \n    \"description_zh\": \"海军势力护卫舰设计。\", \n    \"descriptionID\": 65366, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Navyfraktion\", \n    \"name_en-us\": \"Navy Faction\", \n    \"name_es\": \"Facción de la Armada\", \n    \"name_fr\": \"Faction navy\", \n    \"name_it\": \"Navy Faction\", \n    \"name_ja\": \"海軍仕様\", \n    \"name_ko\": \"해군 팩션\", \n    \"name_ru\": \"Армейские\", \n    \"name_zh\": \"海军势力\", \n    \"nameID\": 66440, \n    \"parentGroupID\": 1362\n  }, \n  \"1367\": {\n    \"description_de\": \"Mittelgroße Raumschiffe, die für verschiedene Rollen konzipiert wurden.\", \n    \"description_en-us\": \"Medium-sized spaceships intended for a variety of roles\", \n    \"description_es\": \"Naves medianas concebidas para diversas funciones.\", \n    \"description_fr\": \"Vaisseaux spatiaux de taille intermédiaire prévus pour remplir diverses fonctions\", \n    \"description_it\": \"Medium-sized spaceships intended for a variety of roles\", \n    \"description_ja\": \"汎用タイプの中型艦船\", \n    \"description_ko\": \"다양한 임무를 수행할 수 있는 중형 함선입니다.\", \n    \"description_ru\": \"Многофункциональные корабли крейсерского тоннажа\", \n    \"description_zh\": \"中型尺寸的舰船，用途广泛\", \n    \"descriptionID\": 65368, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Kreuzer\", \n    \"name_en-us\": \"Cruisers\", \n    \"name_es\": \"Cruceros\", \n    \"name_fr\": \"Croiseurs\", \n    \"name_it\": \"Cruisers\", \n    \"name_ja\": \"巡洋艦\", \n    \"name_ko\": \"크루저\", \n    \"name_ru\": \"Крейсеры\", \n    \"name_zh\": \"巡洋舰\", \n    \"nameID\": 66442, \n    \"parentGroupID\": 4\n  }, \n  \"1368\": {\n    \"description_de\": \"Kreuzervarianten für spezielle Zwecke.\", \n    \"description_en-us\": \"Cruiser variants intended for specialized purposes.\", \n    \"description_es\": \"Variantes de cruceros concebidas para fines específicos.\", \n    \"description_fr\": \"Variantes de croiseurs destinées à des fins précises.\", \n    \"description_it\": \"Cruiser variants intended for specialized purposes.\", \n    \"description_ja\": \"特定用途に専門化した特化型巡洋艦。\", \n    \"description_ko\": \"특수 임무를 위해 개조된 크루저입니다.\", \n    \"description_ru\": \"Крейсера, используемые для решения специализированных задач.\", \n    \"description_zh\": \"专精于某个特定领域的巡洋舰衍生型号。\", \n    \"descriptionID\": 65369, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fortschrittliche Kreuzer\", \n    \"name_en-us\": \"Advanced Cruisers\", \n    \"name_es\": \"Cruceros avanzados\", \n    \"name_fr\": \"Croiseurs avancés\", \n    \"name_it\": \"Advanced Cruisers\", \n    \"name_ja\": \"高性能巡洋艦\", \n    \"name_ko\": \"상급 크루저\", \n    \"name_ru\": \"Специализированные\", \n    \"name_zh\": \"高级巡洋舰\", \n    \"nameID\": 66443, \n    \"parentGroupID\": 1367\n  }, \n  \"1369\": {\n    \"description_de\": \"Von bestimmten Fraktionen entworfene Kreuzer.\", \n    \"description_en-us\": \"Cruisers designed by specific factions.\", \n    \"description_es\": \"Cruceros diseñados por facciones específicas.\", \n    \"description_fr\": \"Croiseurs conçus par des factions spécifiques.\", \n    \"description_it\": \"Cruisers designed by specific factions.\", \n    \"description_ja\": \"各勢力が設計した巡洋艦。\", \n    \"description_ko\": \"특정 팩션의 크루저입니다.\", \n    \"description_ru\": \"Модификации крейсеров, используемые различными организациями галактики.\", \n    \"description_zh\": \"各大势力设计的巡洋舰。\", \n    \"descriptionID\": 65371, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fraktionskreuzer\", \n    \"name_en-us\": \"Faction Cruisers\", \n    \"name_es\": \"Cruceros faccionarios\", \n    \"name_fr\": \"Croiseurs de faction\", \n    \"name_it\": \"Faction Cruisers\", \n    \"name_ja\": \"勢力別巡洋艦\", \n    \"name_ko\": \"팩션 크루저\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力巡洋舰\", \n    \"nameID\": 66445, \n    \"parentGroupID\": 1367\n  }, \n  \"1370\": {\n    \"description_de\": \"Designs für Navy-Fraktionskreuzer.\", \n    \"description_en-us\": \"Navy faction cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros faccionarios de la Armada.\", \n    \"description_fr\": \"Modèles de croiseurs de faction de la Navy.\", \n    \"description_it\": \"Navy faction cruiser designs.\", \n    \"description_ja\": \"海軍勢力の巡洋艦の設計図。\", \n    \"description_ko\": \"해군 팩션의 크루저입니다.\", \n    \"description_ru\": \"Модификации крейсеров, используемые вооруженными силами государств галактики.\", \n    \"description_zh\": \"海军势力巡洋舰设计。\", \n    \"descriptionID\": 65372, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Navyfraktion\", \n    \"name_en-us\": \"Navy Faction\", \n    \"name_es\": \"Facción de la Armada\", \n    \"name_fr\": \"Faction navy\", \n    \"name_it\": \"Navy Faction\", \n    \"name_ja\": \"海軍仕様\", \n    \"name_ko\": \"해군 팩션\", \n    \"name_ru\": \"Армейские\", \n    \"name_zh\": \"海军势力\", \n    \"nameID\": 66446, \n    \"parentGroupID\": 1369\n  }, \n  \"1371\": {\n    \"description_de\": \"Kreuzerdesigns der Piraten-Fraktion.\", \n    \"description_en-us\": \"Pirate faction cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros de facciones piratas.\", \n    \"description_fr\": \"Modèles de croiseurs de faction pirate.\", \n    \"description_it\": \"Pirate faction cruiser designs.\", \n    \"description_ja\": \"海賊勢力巡洋艦設計図。\", \n    \"description_ko\": \"해적 팩션 크루저입니다.\", \n    \"description_ru\": \"Модификации крейсеров, используемые пиратами.\", \n    \"description_zh\": \"海盗势力巡洋舰设计。\", \n    \"descriptionID\": 65373, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊仕様\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратские\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 66447, \n    \"parentGroupID\": 1369\n  }, \n  \"1372\": {\n    \"description_de\": \"Schwer bewaffnete Raumschiffe, die Robustheit für mehr Feuerkraft opfern.\", \n    \"description_en-us\": \"Heavily armed spaceships that sacrifice durability for extra firepower\", \n    \"description_es\": \"Naves fuertemente armadas que sacrifican la durabilidad por más potencia de fuego.\", \n    \"description_fr\": \"Vaisseaux spatiaux lourdement armés qui privilégient la puissance de feu au détriment de la résistance\", \n    \"description_it\": \"Heavily armed spaceships that sacrifice durability for extra firepower\", \n    \"description_ja\": \"耐久性と引き換えに火力を向上させた、攻撃型の艦船\", \n    \"description_ko\": \"내구성을 희생하여 화력에 투자한 중무장 함선입니다.\", \n    \"description_ru\": \"Тяжеловооружённые корабли, жертвующие прочностью корпуса в обмен на дополнительную огневую мощь\", \n    \"description_zh\": \"全副武装的舰船，牺牲了耐久性换来强劲的火力\", \n    \"descriptionID\": 65374, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Zerstörer\", \n    \"name_en-us\": \"Destroyers\", \n    \"name_es\": \"Destructores\", \n    \"name_fr\": \"Destroyers\", \n    \"name_it\": \"Destroyers\", \n    \"name_ja\": \"駆逐艦\", \n    \"name_ko\": \"디스트로이어\", \n    \"name_ru\": \"Эсминцы\", \n    \"name_zh\": \"驱逐舰\", \n    \"nameID\": 66448, \n    \"parentGroupID\": 4\n  }, \n  \"1373\": {\n    \"description_de\": \"Diese Zerstörer verfügen über zusätzliche Attribute, um sich besser auf bestimmte Rollen spezialisieren zu können.\", \n    \"description_en-us\": \"These destroyers have additional attributes to help them specialize in specific roles.\", \n    \"description_es\": \"Estos destructores poseen atributos adicionales que les permiten desempeñar funciones específicas.\", \n    \"description_fr\": \"Ces destroyers possèdent des attributs supplémentaires pour les aider à se spécialiser.\", \n    \"description_it\": \"These destroyers have additional attributes to help them specialize in specific roles.\", \n    \"description_ja\": \"特殊な用途のために性能を強化された特化型駆逐艦。\", \n    \"description_ko\": \"특수 임무를 위해 개조된 디스트로이어입니다.\", \n    \"description_ru\": \"Эсминцы, переоборудованные под выполнение узкоспециализированных задач.\", \n    \"description_zh\": \"这些类型的驱逐舰具备额外的属性，以便它们专精于某个特定领域。\", \n    \"descriptionID\": 65375, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fortschrittliche Zerstörer\", \n    \"name_en-us\": \"Advanced Destroyers\", \n    \"name_es\": \"Destructores avanzados\", \n    \"name_fr\": \"Destroyers avancés\", \n    \"name_it\": \"Advanced Destroyers\", \n    \"name_ja\": \"高性能駆逐艦\", \n    \"name_ko\": \"상급 디스트로이어\", \n    \"name_ru\": \"Специализированные\", \n    \"name_zh\": \"高级驱逐舰\", \n    \"nameID\": 66449, \n    \"parentGroupID\": 1372\n  }, \n  \"1374\": {\n    \"description_de\": \"Mittelgroße Raumschiffe, die stärker sind als normale Kreuzer\", \n    \"description_en-us\": \"Medium-sized spaceships that are more powerful than normal cruisers\", \n    \"description_es\": \"Naves medianas más potentes que los cruceros normales.\", \n    \"description_fr\": \"Vaisseaux spatiaux de taille intermédiaire plus puissants que les croiseurs standards\", \n    \"description_it\": \"Medium-sized spaceships that are more powerful than normal cruisers\", \n    \"description_ja\": \"一般的な巡洋艦より強力な中型艦船\", \n    \"description_ko\": \"일반 크루저보다 강력한 중형 함선입니다.\", \n    \"description_ru\": \"Корабли крейсерского тоннажа, более мощные, чем обычные крейсеры\", \n    \"description_zh\": \"中型舰船，比普通巡洋舰更强力\", \n    \"descriptionID\": 65377, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Schlachtkreuzer\", \n    \"name_en-us\": \"Battlecruisers\", \n    \"name_es\": \"Cruceros de combate\", \n    \"name_fr\": \"Croiseurs de bataille\", \n    \"name_it\": \"Battlecruisers\", \n    \"name_ja\": \"巡洋戦艦\", \n    \"name_ko\": \"배틀크루저\", \n    \"name_ru\": \"Линейные крейсеры\", \n    \"name_zh\": \"战列巡洋舰\", \n    \"nameID\": 66451, \n    \"parentGroupID\": 4\n  }, \n  \"1375\": {\n    \"description_de\": \"Fortgeschrittene Schlachtkreuzer greifen auf fortschrittliche Technologie zurück, um maximale Effektivität in einer bestimmten Rolle zu erzielen.\", \n    \"description_en-us\": \"Advanced battlecruisers make use of advanced technology for maximum effectiveness in a certain role.\", \n    \"description_es\": \"Los cruceros de combate avanzados usan tecnología de última generación para alcanzar el máximo nivel de efectividad en una función dada.\", \n    \"description_fr\": \"Les croiseurs de bataille avancés recourent à une technologie avancée pour démontrer une efficacité maximale dans une situation donnée.\", \n    \"description_it\": \"Advanced battlecruisers make use of advanced technology for maximum effectiveness in a certain role.\", \n    \"description_ja\": \"特定用途に最大の効果を発揮するために高度なテクノロジーを利用した巡洋戦艦級艦船。\", \n    \"description_ko\": \"특수 임무를 위해 개조된 최첨단 배틀크루저입니다.\", \n    \"description_ru\": \"При создании·усовершенствованных линейных крейсеров применяются новейшие технологии, позволяющие добиться максимальной эффективности в рамках выбранной специализации корабля.\", \n    \"description_zh\": \"高级战列巡洋舰通过使用先进科技来专精于某个特定领域。\", \n    \"descriptionID\": 65378, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fortschrittliche Schlachtkreuzer\", \n    \"name_en-us\": \"Advanced Battlecruisers\", \n    \"name_es\": \"Cruceros de combate avanzados\", \n    \"name_fr\": \"Croiseurs de bataille avancés\", \n    \"name_it\": \"Advanced Battlecruisers\", \n    \"name_ja\": \"高性能巡洋戦艦\", \n    \"name_ko\": \"상급 배틀크루저\", \n    \"name_ru\": \"Специализированные\", \n    \"name_zh\": \"高级战列巡洋舰\", \n    \"nameID\": 66452, \n    \"parentGroupID\": 1374\n  }, \n  \"1376\": {\n    \"description_de\": \"Große Raumschiffe mit ausreichend offensiven und defensiven Möglichkeiten, um alle Probleme - bis auf die größten - in Agriff zu nehmen\", \n    \"description_en-us\": \"Large-sized spaceships with enough offensive and defensive capabilities to tackle all but the biggest problems\", \n    \"description_es\": \"Naves de tamaño grande con suficientes capacidades ofensivas y defensivas para enfrentarse a cualquier problema... excepto a los más gordos.\", \n    \"description_fr\": \"Vaisseaux spatiaux de grande taille disposant de suffisamment de capacités offensives et défensives pour s'attaquer à toutes les cibles hormis les plus grandes\", \n    \"description_it\": \"Large-sized spaceships with enough offensive and defensive capabilities to tackle all but the biggest problems\", \n    \"description_ja\": \"大抵の敵艦に立ち向かえるだけの攻撃力・防御力を誇る大型戦艦\", \n    \"description_ko\": \"강력한 공격 및 방어 성능을 보유한 대형 함선으로 함대의 주력 함선입니다.\", \n    \"description_ru\": \"Корабли большого тоннажа, обладающие достаточными защитой и вооружением, чтобы справиться даже с самыми крупными неприятностями\", \n    \"description_zh\": \"大型舰船，攻防能力出色，足以应对大多数局面\", \n    \"descriptionID\": 65379, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Schlachtschiffe\", \n    \"name_en-us\": \"Battleships\", \n    \"name_es\": \"Acorazados\", \n    \"name_fr\": \"Cuirassés\", \n    \"name_it\": \"Battleships\", \n    \"name_ja\": \"戦艦\", \n    \"name_ko\": \"배틀쉽\", \n    \"name_ru\": \"Линкоры\", \n    \"name_zh\": \"战列舰\", \n    \"nameID\": 66453, \n    \"parentGroupID\": 4\n  }, \n  \"1377\": {\n    \"description_de\": \"Durch die Spezialisierung auf nur eine einzige Aufgabe wissen diese Schlachtschiffe im ihnen zugeteilten Bereich wie kein anderes Raumschiff zu glänzen.\", \n    \"description_en-us\": \"By focusing the design down to a single purpose, these battleships excel at their designated tasks like no other starship can.\", \n    \"description_es\": \"Al enfocar su diseño en un único propósito, estos acorazados desempeñan sus tareas designadas como ninguna otra nave.\", \n    \"description_fr\": \"En concentrant la conception sur une seule finalité, ces cuirassés excellent dans leurs tâches comme nul autre vaisseau spatial.\", \n    \"description_it\": \"By focusing the design down to a single purpose, these battleships excel at their designated tasks like no other starship can.\", \n    \"description_ja\": \"単一用途に絞った専用設計により、その用途にかけては比類なき性能を発揮する特化型戦艦。\", \n    \"description_ko\": \"특정 임무를 위해 설계된 이 배틀쉽은 어떤 함선보다 임무를 효율적으로 수행할 수 있습니다.\", \n    \"description_ru\": \"Когда речь заходит о выполнении особо сложных задач, этим кораблям нет равных — именно для этого они и создавались.\", \n    \"description_zh\": \"这些类型的战列舰被设计为专精于某个特定领域。\", \n    \"descriptionID\": 65380, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fortschrittliche Schlachtschiffe\", \n    \"name_en-us\": \"Advanced Battleships\", \n    \"name_es\": \"Acorazados avanzados\", \n    \"name_fr\": \"Cuirassés avancés\", \n    \"name_it\": \"Advanced Battleships\", \n    \"name_ja\": \"高性能戦艦\", \n    \"name_ko\": \"상급 배틀쉽\", \n    \"name_ru\": \"Специализированные\", \n    \"name_zh\": \"高级战列舰\", \n    \"nameID\": 66454, \n    \"parentGroupID\": 1376\n  }, \n  \"1378\": {\n    \"description_de\": \"Von bestimmten Fraktionen entworfene Schlachtschiffe.\", \n    \"description_en-us\": \"Battleships designed by specific factions.\", \n    \"description_es\": \"Acorazados diseñados por facciones específicas.\", \n    \"description_fr\": \"Cuirassés conçus par des factions spécifiques.\", \n    \"description_it\": \"Battleships designed by specific factions.\", \n    \"description_ja\": \"各勢力が設計した戦艦。\", \n    \"description_ko\": \"특정 팩션에서 설계한 배틀쉽입니다.\", \n    \"description_ru\": \"Модификации линкоров, используемые различными организациями галактики.\", \n    \"description_zh\": \"各大势力设计的战列舰。\", \n    \"descriptionID\": 65381, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fraktionsschlachtschiffe\", \n    \"name_en-us\": \"Faction Battleships\", \n    \"name_es\": \"Acorazados faccionarios\", \n    \"name_fr\": \"Cuirassés de faction\", \n    \"name_it\": \"Faction Battleships\", \n    \"name_ja\": \"勢力別戦艦\", \n    \"name_ko\": \"팩션 배틀쉽\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力战列舰\", \n    \"nameID\": 66455, \n    \"parentGroupID\": 1376\n  }, \n  \"1379\": {\n    \"description_de\": \"Designs für Navy-Fraktionsschlachtschiffe.\", \n    \"description_en-us\": \"Navy faction battleship designs.\", \n    \"description_es\": \"Diseños de acorazados faccionarios de la Armada.\", \n    \"description_fr\": \"Modèles de cuirassés de faction de la Navy.\", \n    \"description_it\": \"Navy faction battleship designs.\", \n    \"description_ja\": \"海軍勢力の戦艦設計図。\", \n    \"description_ko\": \"해군 팩션의 배틀쉽입니다.\", \n    \"description_ru\": \"Модификации линкоров, используемые вооруженными силами государств галактики.\", \n    \"description_zh\": \"海军势力战列舰设计。\", \n    \"descriptionID\": 65382, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Navyfraktion\", \n    \"name_en-us\": \"Navy Faction\", \n    \"name_es\": \"Facción de la Armada\", \n    \"name_fr\": \"Faction navy\", \n    \"name_it\": \"Navy Faction\", \n    \"name_ja\": \"海軍仕様\", \n    \"name_ko\": \"해군 팩션\", \n    \"name_ru\": \"Армейские\", \n    \"name_zh\": \"海军势力\", \n    \"nameID\": 66456, \n    \"parentGroupID\": 1378\n  }, \n  \"1380\": {\n    \"description_de\": \"Schlachtschiffdesigns der Piraten-Fraktion.\", \n    \"description_en-us\": \"Pirate faction battleship designs.\", \n    \"description_es\": \"Diseños de acorazados de facción piratas.\", \n    \"description_fr\": \"Modèles de cuirassés de faction pirate.\", \n    \"description_it\": \"Pirate faction battleship designs.\", \n    \"description_ja\": \"海賊勢力の戦艦の設計図。\", \n    \"description_ko\": \"해적 팩션의 배틀쉽입니다.\", \n    \"description_ru\": \"Модификации линкоров, используемые пиратами.\", \n    \"description_zh\": \"海盗势力战列舰设计。\", \n    \"descriptionID\": 65383, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊仕様\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратские\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 66457, \n    \"parentGroupID\": 1378\n  }, \n  \"1381\": {\n    \"description_de\": \"Riesige Raumschiffe die fähig sind, Schlachtfelder oder Industriesektoren zu beherrschen\", \n    \"description_en-us\": \"Huge spaceships capable of dominating battlefields or industry sectors\", \n    \"description_es\": \"Naves enormes capaces de dominar campos de batalla o sectores industriales.\", \n    \"description_fr\": \"Énormes vaisseaux spatiaux capables de s'imposer sur tous les champs de bataille ou les secteurs industriels\", \n    \"description_it\": \"Huge spaceships capable of dominating battlefields or industry sectors\", \n    \"description_ja\": \"産業部門や戦場を支配する超大型艦船\", \n    \"description_ko\": \"함대 또는 산업의 핵심전력이 되는 거대한 함선입니다.\", \n    \"description_ru\": \"Огромные корабли, определяющие ход масштабных сражений или эффективность крупномасштабных промышленных группировок\", \n    \"description_zh\": \"巨大的舰船，在战场上或工业领域都具有统治力\", \n    \"descriptionID\": 65384, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Capital-Schiffe\", \n    \"name_en-us\": \"Capital Ships\", \n    \"name_es\": \"Naves capitales\", \n    \"name_fr\": \"Vaisseaux capitaux\", \n    \"name_it\": \"Capital Ships\", \n    \"name_ja\": \"主力艦\", \n    \"name_ko\": \"캐피탈 함선\", \n    \"name_ru\": \"Корабли большого тоннажа\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 66458, \n    \"parentGroupID\": 4\n  }, \n  \"1382\": {\n    \"description_de\": \"Transporter und Industrieschiffe, die das Rückgrat der Wirtschaft darstellen\", \n    \"description_en-us\": \"Haulers and industrial ships that form the backbone of the economy\", \n    \"description_es\": \"Naves industriales y de mercancías que conforman el principal pilar de la economía.\", \n    \"description_fr\": \"Cargos et vaisseaux industriels qui constituent l'épine dorsale de l'économie\", \n    \"description_it\": \"Haulers and industrial ships that form the backbone of the economy\", \n    \"description_ja\": \"経済の屋台骨を形成するハウラーと輸送艦\", \n    \"description_ko\": \"운반선과 인더스트리얼 함선은 뉴에덴의 경제에서 중추적인 역할을 담당합니다\", \n    \"description_ru\": \"Перевозчики и грузовые корабли, составляющие основу экономики\", \n    \"description_zh\": \"运载舰和工业舰是经济系统的基石\", \n    \"descriptionID\": 65386, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Transporter und Industrieschiffe\", \n    \"name_en-us\": \"Haulers and Industrial Ships\", \n    \"name_es\": \"Naves de mercancías y naves industriales\", \n    \"name_fr\": \"Cargos et vaisseaux industriels\", \n    \"name_it\": \"Haulers and Industrial Ships\", \n    \"name_ja\": \"ハウラーと輸送艦\", \n    \"name_ko\": \"운반선 및 인더스트리얼\", \n    \"name_ru\": \"Перевозчики и грузовые корабли\", \n    \"name_zh\": \"运载舰和工业舰\", \n    \"nameID\": 66460, \n    \"parentGroupID\": 4\n  }, \n  \"1384\": {\n    \"description_de\": \"Schiffe die speziell dazu entwickelt wurden, im Weltall Ressourcen abzubauen\", \n    \"description_en-us\": \"Ships specially designed to harvest resources in space\", \n    \"description_es\": \"Naves diseñadas especialmente para recolectar recursos en el espacio.\", \n    \"description_fr\": \"Vaisseaux spécialement conçus pour collecter les ressources dans l'espace\", \n    \"description_it\": \"Ships specially designed to harvest resources in space\", \n    \"description_ja\": \"宙域の資源採取に特化した艦船\", \n    \"description_ko\": \"자원 추출에 특화된 함선입니다.\", \n    \"description_ru\": \"Корабли, спроектированные для добычи ресурсов в космосе\", \n    \"description_zh\": \"专门设计用来在太空中采集资源的舰船\", \n    \"descriptionID\": 65388, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Bergbaubarkassen\", \n    \"name_en-us\": \"Mining Barges\", \n    \"name_es\": \"Gabarras mineras\", \n    \"name_fr\": \"Barges d'extraction minière\", \n    \"name_it\": \"Mining Barges\", \n    \"name_ja\": \"採掘艦\", \n    \"name_ko\": \"채광선\", \n    \"name_ru\": \"Буровые корабли\", \n    \"name_zh\": \"采矿驳船\", \n    \"nameID\": 66462, \n    \"parentGroupID\": 4\n  }, \n  \"1385\": {\n    \"description_de\": \"Die Ausrüstung von fortschrittlichen Transportern ist auf ihren jeweiligen Verwendungszweck angepasst.\", \n    \"description_en-us\": \"Advanced haulers are modified for specific purposes.\", \n    \"description_es\": \"Las naves de mercancías avanzadas se modifican para fines específicos.\", \n    \"description_fr\": \"Les cargos avancés sont modifiés à des fins particulières.\", \n    \"description_it\": \"Advanced haulers are modified for specific purposes.\", \n    \"description_ja\": \"高性能ハウラーは特定の目的のために特化している。\", \n    \"description_ko\": \"상급 운반선은 특정한 역할에 맞춰 설계되었습니다.\", \n    \"description_ru\": \"Улучшенные перевозчики для выполнения особых задач.\", \n    \"description_zh\": \"高级运载舰是具有专门用途的改进型号。\", \n    \"descriptionID\": 65387, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fortschrittliche Transporter\", \n    \"name_en-us\": \"Advanced Haulers\", \n    \"name_es\": \"Naves de mercancías avanzadas\", \n    \"name_fr\": \"Cargos avancés\", \n    \"name_it\": \"Advanced Haulers\", \n    \"name_ja\": \"高性能ハウラー\", \n    \"name_ko\": \"상급 운반선\", \n    \"name_ru\": \"Улучшенные крейсеры\", \n    \"name_zh\": \"高级运载舰\", \n    \"nameID\": 66461, \n    \"parentGroupID\": 1382\n  }, \n  \"1389\": {\n    \"description_de\": \"Blueprints von ORE-Industrial-Designs.\", \n    \"description_en-us\": \"Blueprints of ORE industrial designs.\", \n    \"description_es\": \"Planos de diseños de naves industriales de ORE.\", \n    \"description_fr\": \"Plans de construction de modèles de vaisseaux industriels ORE.\", \n    \"description_it\": \"Blueprints of ORE industrial designs.\", \n    \"description_ja\": \"ORE輸送艦設計図のブループリント。\", \n    \"description_ko\": \"ORE 인더스트리얼 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи промышленных кораблей разработки синдиката ORE.\", \n    \"description_zh\": \"联合矿业工业舰设计蓝图\", \n    \"descriptionID\": 65277, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE社\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 66351, \n    \"parentGroupID\": 208\n  }, \n  \"1390\": {\n    \"description_de\": \"ORE-Industrial-Designs.\", \n    \"description_en-us\": \"ORE industrial designs.\", \n    \"description_es\": \"Diseños industriales de ORE.\", \n    \"description_fr\": \"Modèles de vaisseaux industriels ORE.\", \n    \"description_it\": \"ORE industrial designs.\", \n    \"description_ja\": \"ORE 輸送艦設計図。\", \n    \"description_ko\": \"ORE의 인더스트리얼입니다.\", \n    \"description_ru\": \"Промышленные корабли разработки синдиката ORE.\", \n    \"description_zh\": \"联合矿业工业舰设计\", \n    \"descriptionID\": 65278, \n    \"hasTypes\": 1, \n    \"iconID\": 27058, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE社\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 66352, \n    \"parentGroupID\": 8\n  }, \n  \"1392\": {\n    \"description_de\": \"Fraktions-Trägerschiff-Designs.\", \n    \"description_en-us\": \"Faction carrier designs.\", \n    \"description_es\": \"Diseños de portanaves faccionarios.\", \n    \"description_fr\": \"Porte-vaisseaux de faction.\", \n    \"description_it\": \"Faction carrier designs.\", \n    \"description_ja\": \"勢力別艦載機母艦設計図。\", \n    \"description_ko\": \"팩션 캐리어입니다.\", \n    \"description_ru\": \"Модификации кораблей-носителей, используемые различными организациями галактики.\", \n    \"description_zh\": \"势力航空母舰设计。\", \n    \"descriptionID\": 65385, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Fraktionsträgerschiffe\", \n    \"name_en-us\": \"Faction Carrier\", \n    \"name_es\": \"Portanaves faccionario\", \n    \"name_fr\": \"Porte-vaisseaux de faction\", \n    \"name_it\": \"Faction Carrier\", \n    \"name_ja\": \"勢力別艦載母艦\", \n    \"name_ko\": \"팩신 캐리어\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力航母\", \n    \"nameID\": 66459, \n    \"parentGroupID\": 817\n  }, \n  \"1396\": {\n    \"description_de\": \"Kapselpiloten können aus einer Vielzahl an exklusiven Bekleidungen und Accessoires wählen.\", \n    \"description_en-us\": \"Capsuleers can choose from a variety of exclusive clothing and accessories\", \n    \"description_es\": \"Los capsulistas pueden elegir entre una amplia selección de prendas y accesorios exclusivos.\", \n    \"description_fr\": \"Les capsuliers peuvent choisir toute une gamme de vêtements et d'accessoires exclusifs\", \n    \"description_it\": \"Capsuleers can choose from a variety of exclusive clothing and accessories\", \n    \"description_ja\": \"カプセラは様々な衣服やアクセサリーを選ぶことができます\", \n    \"description_ko\": \"캡슐리어는 다양한 의류와 악세사리를 착용할 수 있습니다.\", \n    \"description_ru\": \"Капсулёры могут подобрать себе желаемый наряд из обширного ассортимента эксклюзивной одежды и уникальных аксессуаров.\", \n    \"description_zh\": \"飞行员可以选择各式各样的衣物和装饰\", \n    \"descriptionID\": 65290, \n    \"hasTypes\": 0, \n    \"iconID\": 10256, \n    \"name_de\": \"Bekleidung\", \n    \"name_en-us\": \"Apparel\", \n    \"name_es\": \"Indumentaria\", \n    \"name_fr\": \"Équipement\", \n    \"name_it\": \"Apparel\", \n    \"name_ja\": \"アパレル\", \n    \"name_ko\": \"의류\", \n    \"name_ru\": \"Одежда\", \n    \"name_zh\": \"服饰\", \n    \"nameID\": 66364\n  }, \n  \"1397\": {\n    \"description_de\": \"Kleidung für eine männliche Statur\", \n    \"description_en-us\": \"Clothing for a masculine physique\", \n    \"description_es\": \"Ropa para físicos masculinos.\", \n    \"description_fr\": \"Habits masculins\", \n    \"description_it\": \"Clothing for a masculine physique\", \n    \"description_ja\": \"男性体型向きの衣料品\", \n    \"description_ko\": \"남성을 위한 의류입니다.\", \n    \"description_ru\": \"Мужская одежда\", \n    \"description_zh\": \"男性的着装\", \n    \"descriptionID\": 65291, \n    \"hasTypes\": 0, \n    \"iconID\": 10829, \n    \"name_de\": \"Herrenbekleidung\", \n    \"name_en-us\": \"Men's Clothing\", \n    \"name_es\": \"Ropa de hombre\", \n    \"name_fr\": \"Vêtements masculins\", \n    \"name_it\": \"Men's Clothing\", \n    \"name_ja\": \"メンズ\", \n    \"name_ko\": \"남성용 의상\", \n    \"name_ru\": \"Мужская одежда\", \n    \"name_zh\": \"男装\", \n    \"nameID\": 66365, \n    \"parentGroupID\": 1396\n  }, \n  \"1398\": {\n    \"description_de\": \"Kleidung für den Oberkörper\", \n    \"description_en-us\": \"Clothing worn on the torso.\", \n    \"description_es\": \"Ropa que se lleva en el torso.\", \n    \"description_fr\": \"Vêtements couvrant le haut du corps.\", \n    \"description_it\": \"Clothing worn on the torso.\", \n    \"description_ja\": \"胴体に着用する衣服。\", \n    \"description_ko\": \"상반신에 착용할 수 있는 의상입니다.\", \n    \"description_ru\": \"Одежда, прикрывающая верхнюю часть тела.\", \n    \"description_zh\": \"上身穿着的衣物。\", \n    \"descriptionID\": 65280, \n    \"hasTypes\": 1, \n    \"iconID\": 10785, \n    \"name_de\": \"Oberteile\", \n    \"name_en-us\": \"Tops\", \n    \"name_es\": \"Prendas superiores\", \n    \"name_fr\": \"Hauts\", \n    \"name_it\": \"Tops\", \n    \"name_ja\": \"トップス\", \n    \"name_ko\": \"상의\", \n    \"name_ru\": \"Одежда: верх\", \n    \"name_zh\": \"上装\", \n    \"nameID\": 66354, \n    \"parentGroupID\": 1397\n  }, \n  \"1399\": {\n    \"description_de\": \"Kleidung, die über anderer Kleidung getragen wird.\", \n    \"description_en-us\": \"Clothing worn on the outside of other clothing.\", \n    \"description_es\": \"Ropa que se lleva sobre otras prendas.\", \n    \"description_fr\": \"Vêtements portés par-dessus un autre vêtement.\", \n    \"description_it\": \"Clothing worn on the outside of other clothing.\", \n    \"description_ja\": \"衣服の上からはおる衣料品。\", \n    \"description_ko\": \"다른 의상 위에 착용할 수 있는 외투입니다.\", \n    \"description_ru\": \"Пальто, пиджаки и прочая верхняя одежда.\", \n    \"description_zh\": \"穿在其他衣物外面的服装。\", \n    \"descriptionID\": 65281, \n    \"hasTypes\": 1, \n    \"iconID\": 10236, \n    \"name_de\": \"Oberbekleidung\", \n    \"name_en-us\": \"Outerwear\", \n    \"name_es\": \"Prendas exteriores\", \n    \"name_fr\": \"Vêtements d'extérieur\", \n    \"name_it\": \"Outerwear\", \n    \"name_ja\": \"アウターウェア\", \n    \"name_ko\": \"아우터\", \n    \"name_ru\": \"Верхняя одежда\", \n    \"name_zh\": \"外套\", \n    \"nameID\": 66355, \n    \"parentGroupID\": 1397\n  }, \n  \"1400\": {\n    \"description_de\": \"Fußbekleidung zu modischen Zwecken, als Zierde oder zum Schutz gegen Umwelteinflüsse.\", \n    \"description_en-us\": \"Garments worn on the feet, for fashion, protection against the environment, and adornment.\", \n    \"description_es\": \"Calzado para proteger los pies frente al entorno o simplemente con fines estéticos.\", \n    \"description_fr\": \"Éléments d'habillement couvrant les pieds dont le rôle est de protéger les pieds et répondant à des critères de mode ou d'esthétisme.\", \n    \"description_it\": \"Garments worn on the feet, for fashion, protection against the environment, and adornment.\", \n    \"description_ja\": \"足に履く靴類。ファッション用、対劣悪環境用、礼装用各種あり。\", \n    \"description_ko\": \"우주의 척박한 환경에서 착용자의 발을 보호하며, 패션 아이템으로도 사용되는 신발입니다.\", \n    \"description_ru\": \"Обувь можно носить ради моды, для украшения и для защиты от окружающей среды.\", \n    \"description_zh\": \"足部穿着的鞋靴，起到保护、装饰和展示潮流的作用。\", \n    \"descriptionID\": 65282, \n    \"hasTypes\": 1, \n    \"iconID\": 10254, \n    \"name_de\": \"Schuhe\", \n    \"name_en-us\": \"Footwear\", \n    \"name_es\": \"Calzado\", \n    \"name_fr\": \"Chaussures\", \n    \"name_it\": \"Footwear\", \n    \"name_ja\": \"靴\", \n    \"name_ko\": \"신발\", \n    \"name_ru\": \"Обувь\", \n    \"name_zh\": \"鞋靴\", \n    \"nameID\": 66356, \n    \"parentGroupID\": 1397\n  }, \n  \"1401\": {\n    \"description_de\": \"Jegliche Kleidungsstücke, von der Taille abwärts\", \n    \"description_en-us\": \"Any of various garments worn below the waist.\", \n    \"description_es\": \"Cualquier prenda que se lleva por debajo de la cintura.\", \n    \"description_fr\": \"Toute sorte de vêtement porté en dessous de la taille.\", \n    \"description_it\": \"Any of various garments worn below the waist.\", \n    \"description_ja\": \"腰から下に着用する各種衣料品。\", \n    \"description_ko\": \"하반신에 착용하는 의상입니다.\", \n    \"description_ru\": \"Любые предметы одежды, прикрывающие нижнюю часть тела.\", \n    \"description_zh\": \"腰部以下的各种着装。\", \n    \"descriptionID\": 65283, \n    \"hasTypes\": 1, \n    \"iconID\": 10756, \n    \"name_de\": \"Unterkörper\", \n    \"name_en-us\": \"Bottoms\", \n    \"name_es\": \"Prendas inferiores\", \n    \"name_fr\": \"Bas\", \n    \"name_it\": \"Bottoms\", \n    \"name_ja\": \"ボトムス\", \n    \"name_ko\": \"하의\", \n    \"name_ru\": \"Одежда: низ\", \n    \"name_zh\": \"下装\", \n    \"nameID\": 66357, \n    \"parentGroupID\": 1397\n  }, \n  \"1402\": {\n    \"description_de\": \"Kleidung für eine weibliche Statur\", \n    \"description_en-us\": \"Clothing for a feminine physique\", \n    \"description_es\": \"Ropa para físicos femeninos.\", \n    \"description_fr\": \"Habits féminins\", \n    \"description_it\": \"Clothing for a feminine physique\", \n    \"description_ja\": \"女性体型向きの衣料品\", \n    \"description_ko\": \"여성을 위한 의류입니다.\", \n    \"description_ru\": \"Женская одежда\", \n    \"description_zh\": \"女性的着装\", \n    \"descriptionID\": 65292, \n    \"hasTypes\": 0, \n    \"iconID\": 10830, \n    \"name_de\": \"Damenbekleidung\", \n    \"name_en-us\": \"Women's Clothing\", \n    \"name_es\": \"Ropa de mujer\", \n    \"name_fr\": \"Vêtements féminins\", \n    \"name_it\": \"Women's Clothing\", \n    \"name_ja\": \"レディース\", \n    \"name_ko\": \"여성용 의상\", \n    \"name_ru\": \"Женская одежда\", \n    \"name_zh\": \"女装\", \n    \"nameID\": 66366, \n    \"parentGroupID\": 1396\n  }, \n  \"1403\": {\n    \"description_de\": \"Jegliche Kleidungsstücke, von der Taille abwärts\", \n    \"description_en-us\": \"Any of various garments worn below the waist.\", \n    \"description_es\": \"Cualquier prenda que se lleva por debajo de la cintura.\", \n    \"description_fr\": \"Toute sorte de vêtement porté en dessous de la taille.\", \n    \"description_it\": \"Any of various garments worn below the waist.\", \n    \"description_ja\": \"腰から下に着用する各種衣料品。\", \n    \"description_ko\": \"하반신에 착용하는 의상입니다.\", \n    \"description_ru\": \"Любые предметы одежды, прикрывающие нижнюю часть тела.\", \n    \"description_zh\": \"腰部以下的各种着装。\", \n    \"descriptionID\": 65284, \n    \"hasTypes\": 1, \n    \"iconID\": 10570, \n    \"name_de\": \"Unterkörper\", \n    \"name_en-us\": \"Bottoms\", \n    \"name_es\": \"Prendas inferiores\", \n    \"name_fr\": \"Bas\", \n    \"name_it\": \"Bottoms\", \n    \"name_ja\": \"ボトムス\", \n    \"name_ko\": \"하의\", \n    \"name_ru\": \"Одежда: низ\", \n    \"name_zh\": \"下装\", \n    \"nameID\": 66358, \n    \"parentGroupID\": 1402\n  }, \n  \"1404\": {\n    \"description_de\": \"Fußbekleidung zu modischen Zwecken, als Zierde oder zum Schutz gegen Umwelteinflüsse.\", \n    \"description_en-us\": \"Garments worn on the feet, for fashion, protection against the environment, and adornment.\", \n    \"description_es\": \"Calzado para proteger los pies frente al entorno o simplemente con fines estéticos.\", \n    \"description_fr\": \"Éléments d'habillement couvrant les pieds dont le rôle est de protéger les pieds et répondant à des critères de mode ou d'esthétisme.\", \n    \"description_it\": \"Garments worn on the feet, for fashion, protection against the environment, and adornment.\", \n    \"description_ja\": \"足に履く靴類。ファッション用、対劣悪環境用、礼装用各種あり。\", \n    \"description_ko\": \"우주의 척박한 환경에서 착용자의 발을 보호하며, 패션 아이템으로도 사용되는 신발입니다.\", \n    \"description_ru\": \"Обувь можно носить ради моды, для украшения и для защиты от окружающей среды.\", \n    \"description_zh\": \"足部穿着的鞋靴，起到保护、装饰和展示潮流的作用。\", \n    \"descriptionID\": 65285, \n    \"hasTypes\": 1, \n    \"iconID\": 10624, \n    \"name_de\": \"Schuhe\", \n    \"name_en-us\": \"Footwear\", \n    \"name_es\": \"Calzado\", \n    \"name_fr\": \"Chaussures\", \n    \"name_it\": \"Footwear\", \n    \"name_ja\": \"靴\", \n    \"name_ko\": \"신발\", \n    \"name_ru\": \"Обувь\", \n    \"name_zh\": \"鞋靴\", \n    \"nameID\": 66359, \n    \"parentGroupID\": 1402\n  }, \n  \"1405\": {\n    \"description_de\": \"Kleidung, die über anderer Kleidung getragen wird.\", \n    \"description_en-us\": \"Clothing worn on the outside of other clothing.\", \n    \"description_es\": \"Ropa que se lleva sobre otras prendas.\", \n    \"description_fr\": \"Vêtements portés par-dessus un autre vêtement.\", \n    \"description_it\": \"Clothing worn on the outside of other clothing.\", \n    \"description_ja\": \"衣服の上からはおる衣料品。\", \n    \"description_ko\": \"다른 의상 위에 착용할 수 있는 외투입니다.\", \n    \"description_ru\": \"Пальто, пиджаки и прочая верхняя одежда.\", \n    \"description_zh\": \"穿在其他衣物外面的服装。\", \n    \"descriptionID\": 65286, \n    \"hasTypes\": 1, \n    \"iconID\": 10234, \n    \"name_de\": \"Oberbekleidung\", \n    \"name_en-us\": \"Outerwear\", \n    \"name_es\": \"Prendas exteriores\", \n    \"name_fr\": \"Vêtements d'extérieur\", \n    \"name_it\": \"Outerwear\", \n    \"name_ja\": \"アウターウェア\", \n    \"name_ko\": \"아우터\", \n    \"name_ru\": \"Верхняя одежда\", \n    \"name_zh\": \"外套\", \n    \"nameID\": 66360, \n    \"parentGroupID\": 1402\n  }, \n  \"1406\": {\n    \"description_de\": \"Kleidung für den Oberkörper\", \n    \"description_en-us\": \"Clothing worn on the torso.\", \n    \"description_es\": \"Ropa que se lleva en el torso.\", \n    \"description_fr\": \"Vêtements couvrant le haut du corps.\", \n    \"description_it\": \"Clothing worn on the torso.\", \n    \"description_ja\": \"胴体に着用する衣服。\", \n    \"description_ko\": \"상반신에 착용할 수 있는 의상입니다.\", \n    \"description_ru\": \"Одежда, прикрывающая верхнюю часть тела.\", \n    \"description_zh\": \"上身穿着的衣物。\", \n    \"descriptionID\": 65287, \n    \"hasTypes\": 1, \n    \"iconID\": 10684, \n    \"name_de\": \"Oberteile\", \n    \"name_en-us\": \"Tops\", \n    \"name_es\": \"Prendas superiores\", \n    \"name_fr\": \"Hauts\", \n    \"name_it\": \"Tops\", \n    \"name_ja\": \"トップス\", \n    \"name_ko\": \"상의\", \n    \"name_ru\": \"Одежда: верх\", \n    \"name_zh\": \"上装\", \n    \"nameID\": 66361, \n    \"parentGroupID\": 1402\n  }, \n  \"1407\": {\n    \"description_de\": \"Kleidungsgegenstände, die ein Outfit mit Style und Klasse ergänzen.\", \n    \"description_en-us\": \"Apparel items that supplement an outfit by adding style and class\", \n    \"description_es\": \"Accesorios que le dan un toque de estilo y clase a la indumentaria.\", \n    \"description_fr\": \"Éléments complétant la tenue en lui apportant du style et une touche de classe\", \n    \"description_it\": \"Apparel items that supplement an outfit by adding style and class\", \n    \"description_ja\": \"装いにスタイルと気品を添える装飾品\", \n    \"description_ko\": \"품격과 스타일을 강조하기 위한 의상 아이템입니다.\", \n    \"description_ru\": \"Предметы, придающий облику персонажа стиль и шик\", \n    \"description_zh\": \"可以让着装更有格调和品味的饰品\", \n    \"descriptionID\": 65293, \n    \"hasTypes\": 0, \n    \"iconID\": 10828, \n    \"name_de\": \"Accessoires\", \n    \"name_en-us\": \"Accessories\", \n    \"name_es\": \"Accesorios\", \n    \"name_fr\": \"Accessoires\", \n    \"name_it\": \"Accessories\", \n    \"name_ja\": \"アクセサリー\", \n    \"name_ko\": \"악세사리\", \n    \"name_ru\": \"Аксессуары\", \n    \"name_zh\": \"饰品\", \n    \"nameID\": 66367, \n    \"parentGroupID\": 1396\n  }, \n  \"1408\": {\n    \"description_de\": \"Brillen werden fast ausschließlich zu Stylezwecken verwendet, da die Fortschritte der modernen Cyberware äußerlich angebrachte Sehhilfen überflüssig gemacht haben.\", \n    \"description_en-us\": \"Eyewear is almost exclusively used for vanity purposes given advances in modern cyberware that renders externally mounted hardware obsolete.\", \n    \"description_es\": \"Los dispositivos oculares se usan casi exclusivamente por coquetería, dado que los avances en ciberware moderno dejan obsoleto cualquier hardware externo.\", \n    \"description_fr\": \"Les lunettes sont portées presque uniquement par coquetterie étant donné les progrès actuels de la cybernétique qui permet de remiser tout accessoire externe.\", \n    \"description_it\": \"Eyewear is almost exclusively used for vanity purposes given advances in modern cyberware that renders externally mounted hardware obsolete.\", \n    \"description_ja\": \"眼鏡類は、ほぼ完全に単なる装身具として使われている。現代ではサイバーウェア技術の進歩により、体外装着型のハードウェアは時代遅れとなってしまっているからだ。\", \n    \"description_ko\": \"사이버네틱스 및 신체 강화가 발달하면서 안경류 기능적인 면을 잃게 되었고 대부분 착용자의 만족을 위해 사용되고 있습니다.\", \n    \"description_ru\": \"В настоящее время оптические устройства используются исключительно в целях украшения, поскольку благодаря современным кибертехнологиям использование внешних устройств сильно устарело.\", \n    \"description_zh\": \"眼部饰品几乎纯粹用于容貌装饰。因为现代电子植入体的发展，体外佩戴设备已经显得多余。\", \n    \"descriptionID\": 65288, \n    \"hasTypes\": 1, \n    \"iconID\": 10224, \n    \"name_de\": \"Brillen\", \n    \"name_en-us\": \"Eyewear\", \n    \"name_es\": \"Dispositivos oculares\", \n    \"name_fr\": \"Lunettes\", \n    \"name_it\": \"Eyewear\", \n    \"name_ja\": \"メガネ類\", \n    \"name_ko\": \"안경류\", \n    \"name_ru\": \"Очки и оптика\", \n    \"name_zh\": \"眼部饰品\", \n    \"nameID\": 66362, \n    \"parentGroupID\": 1407\n  }, \n  \"1410\": {\n    \"description_de\": \"Gibt Kapselpiloten mehr Kontrolle über die Ressourcen eines Planeten\", \n    \"description_en-us\": \"Gives capsuleers stronger control over a planet's resources\", \n    \"description_es\": \"Permite a los capsulistas controlar mejor los recursos de un planeta.\", \n    \"description_fr\": \"Cela permet aux capsuliers de mieux contrôler les ressources d'une planète\", \n    \"description_it\": \"Gives capsuleers stronger control over a planet's resources\", \n    \"description_ja\": \"惑星の資源に対するカプセラの制御能力を高める\", \n    \"description_ko\": \"행성 자원에 대한 통제력을 향상합니다.\", \n    \"description_ru\": \"Позволяет капсулёрам контролировать ресурсы той или иной планеты\", \n    \"description_zh\": \"巩固飞行员对行星资源的控制\", \n    \"descriptionID\": 65289, \n    \"hasTypes\": 1, \n    \"iconID\": 2875, \n    \"name_de\": \"Orbitale Infrastruktur\", \n    \"name_en-us\": \"Orbital Infrastructure\", \n    \"name_es\": \"Infraestructura orbital\", \n    \"name_fr\": \"Infrastructure orbitale\", \n    \"name_it\": \"Orbital Infrastructure\", \n    \"name_ja\": \"軌道インフラストラクチャ\", \n    \"name_ko\": \"궤도 인프라시설\", \n    \"name_ru\": \"Орбитальная инфраструктура\", \n    \"name_zh\": \"轨道设施\", \n    \"nameID\": 66363, \n    \"parentGroupID\": 1320\n  }, \n  \"1416\": {\n    \"description_de\": \"Panzerungsverstärker, der die Beständigkeit dem zugefügten Schaden anpasst.\", \n    \"description_en-us\": \"Armor Hardeners that shift resistance based on damaged received.\", \n    \"description_es\": \"Endurecedores de blindaje que alteran la resistencia en función del daño recibido.\", \n    \"description_fr\": \"Renforts de blindage qui modifient la résistance selon les dégâts reçus.\", \n    \"description_it\": \"Armor Hardeners that shift resistance based on damaged received.\", \n    \"description_ja\": \"受けたダメージの強度に応じて抵抗力をシフトするアーマーハードナー。\", \n    \"description_ko\": \"받은 피해량에 따라 변화하는 장갑 강화장치입니다.\", \n    \"description_ru\": \"Система укрепления брони, изменяющая сопротивляемость в зависимости от различных видов ущерба.\", \n    \"description_zh\": \"根据受到的伤害类型而自行变换抗性的装甲增强器。\", \n    \"descriptionID\": 277853, \n    \"hasTypes\": 1, \n    \"iconID\": 10933, \n    \"name_de\": \"Reaktive Panzerungshärter\", \n    \"name_en-us\": \"Reactive Armor Hardeners\", \n    \"name_es\": \"Endurecedores de blindaje reactivos\", \n    \"name_fr\": \"Renforcements de blindage réactif\", \n    \"name_it\": \"Reactive Armor Hardeners\", \n    \"name_ja\": \"リアクティブアーマーハードナー\", \n    \"name_ko\": \"반응성 장갑 강화장치\", \n    \"name_ru\": \"С автонастройкой\", \n    \"name_zh\": \"反应式装甲增强器\", \n    \"nameID\": 277852, \n    \"parentGroupID\": 535\n  }, \n  \"1426\": {\n    \"description_de\": \"Reduziert die Signatur des Schiffs.\", \n    \"description_en-us\": \"Reduces the ships signature.\", \n    \"description_es\": \"Reduce la señal de las naves.\", \n    \"description_fr\": \"Réduit la signature des vaisseaux.\", \n    \"description_it\": \"Reduces the ships signature.\", \n    \"description_ja\": \"艦船シグネチャを低下させる。\", \n    \"description_ko\": \"함선의 시그니처 반경을 감소시킵니다.\", \n    \"description_ru\": \"Уменьшает радиус сигнатуры корабля.\", \n    \"description_zh\": \"降低舰船信号半径。\", \n    \"descriptionID\": 278636, \n    \"hasTypes\": 1, \n    \"iconID\": 10932, \n    \"name_de\": \"Signature Suppressor\", \n    \"name_en-us\": \"Signature Suppressor\", \n    \"name_es\": \"Supresor de señal\", \n    \"name_fr\": \"Signature Suppressor\", \n    \"name_it\": \"Signature Suppressor\", \n    \"name_ja\": \"シグネチャサプレッサー\", \n    \"name_ko\": \"시그니처 억제기\", \n    \"name_ru\": \"Signature Suppressor\", \n    \"name_zh\": \"信号半径抑制装置\", \n    \"nameID\": 278635, \n    \"parentGroupID\": 657\n  }, \n  \"1427\": {\n    \"description_de\": \"Ein Aurum-Token ist ein materieller Gutschein, der gegen einen vorher festgelegten Betrag von AUR eingelöst werden kann\", \n    \"description_en-us\": \"An Aurum Token is a physical chit that can be redeemed for a predefined amount of AUR currency\", \n    \"description_es\": \"Las fichas de aurum son vales físicos que se pueden canjear por una cantidad predeterminada de la moneda AUR.\", \n    \"description_fr\": \"Un jeton Aurum est un bon pouvant être échangé contre une certaine somme d'AUR\", \n    \"description_it\": \"An Aurum Token is a physical chit that can be redeemed for a predefined amount of AUR currency\", \n    \"description_ja\": \"AURトークンは伝票のようなものであり、所定のAUR通貨に換金することができる\", \n    \"description_ko\": \"AURUM 토큰을 제출하면 정해진 양의 AUR 화폐를 수령할 수 있습니다.\", \n    \"description_ru\": \"Жетон на покупку аурума — это реальный жетон, который можно обменять на определенное количество аурума.\", \n    \"description_zh\": \"AUR兑换券是一种实物代金券，可以兑换为一定数量的AUR货币\", \n    \"descriptionID\": 279367, \n    \"hasTypes\": 1, \n    \"iconID\": 10831, \n    \"name_de\": \"Aurum-Token\", \n    \"name_en-us\": \"Aurum Tokens\", \n    \"name_es\": \"Fichas de aurum\", \n    \"name_fr\": \"Jetons Aurum\", \n    \"name_it\": \"Aurum Tokens\", \n    \"name_ja\": \"AURトークン\", \n    \"name_ko\": \"AURUM 토큰\", \n    \"name_ru\": \"Жетоны на получение аурума\", \n    \"name_zh\": \"AUR代币\", \n    \"nameID\": 279366, \n    \"parentGroupID\": 19\n  }, \n  \"1469\": {\n    \"description_de\": \"Panzerungsimplantate\", \n    \"description_en-us\": \"Armor Implants\", \n    \"description_es\": \"Implantes de blindaje.\", \n    \"description_fr\": \"Implants de blindage\", \n    \"description_it\": \"Armor Implants\", \n    \"description_ja\": \"アーマーインプラント\", \n    \"description_ko\": \"장갑 임플란트\", \n    \"description_ru\": \"Имплантаты — работа с бронёй\", \n    \"description_zh\": \"装甲植入体\", \n    \"descriptionID\": 279958, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Panzerung\", \n    \"name_en-us\": \"Armor Implants\", \n    \"name_es\": \"Implantes de blindaje\", \n    \"name_fr\": \"Implants de blindage\", \n    \"name_it\": \"Armor Implants\", \n    \"name_ja\": \"アーマーインプラント\", \n    \"name_ko\": \"장갑 임플란트\", \n    \"name_ru\": \"Укрепление брони\", \n    \"name_zh\": \"装甲植入体\", \n    \"nameID\": 279957, \n    \"parentGroupID\": 531\n  }, \n  \"1470\": {\n    \"description_de\": \"Electronic Systems Implants\", \n    \"description_en-us\": \"Electronic Systems Implants\", \n    \"description_es\": \"Implantes de sistemas electrónicos.\", \n    \"description_fr\": \"Implants de systèmes électroniques\", \n    \"description_it\": \"Electronic Systems Implants\", \n    \"description_ja\": \"電子システムのインプラント\", \n    \"description_ko\": \"전자전 시스템 임플란트\", \n    \"description_ru\": \"Имплантаты, повышающие эффективность электронных систем\", \n    \"description_zh\": \"电子系统植入体\", \n    \"descriptionID\": 279960, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Elektroniksysteme\", \n    \"name_en-us\": \"Electronic Systems Implants\", \n    \"name_es\": \"Implantes de sistemas electrónicos\", \n    \"name_fr\": \"Implants de systèmes électroniques\", \n    \"name_it\": \"Electronic Systems Implants\", \n    \"name_ja\": \"電子システムのインプラント\", \n    \"name_ko\": \"전자전 시스템 임플란트\", \n    \"name_ru\": \"Работа с бортовой электроникой\", \n    \"name_zh\": \"电子系统植入体\", \n    \"nameID\": 279959, \n    \"parentGroupID\": 531\n  }, \n  \"1471\": {\n    \"description_de\": \"Implantate für Ingenieurwesen\", \n    \"description_en-us\": \"Engineering Implants\", \n    \"description_es\": \"Implantes de ingeniería.\", \n    \"description_fr\": \"Implants d'ingénierie\", \n    \"description_it\": \"Engineering Implants\", \n    \"description_ja\": \"エンジニアリングインプラント\", \n    \"description_ko\": \"엔지니어링 임플란트\", \n    \"description_ru\": \"Имплантаты — инженерные навыки\", \n    \"description_zh\": \"工程植入体\", \n    \"descriptionID\": 279962, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Ingenieurwesen\", \n    \"name_en-us\": \"Engineering Implants\", \n    \"name_es\": \"Implantes de ingeniería\", \n    \"name_fr\": \"Implants d'ingénierie\", \n    \"name_it\": \"Engineering Implants\", \n    \"name_ja\": \"エンジニアリングインプラント\", \n    \"name_ko\": \"엔지니어링 임플란트\", \n    \"name_ru\": \"Эксплуатация инженерных систем\", \n    \"name_zh\": \"工程植入体\", \n    \"nameID\": 279961, \n    \"parentGroupID\": 531\n  }, \n  \"1472\": {\n    \"description_de\": \"Fraktions-Omega Implantate\", \n    \"description_en-us\": \"Faction Omega Implants\", \n    \"description_es\": \"Implantes de facción Omega.\", \n    \"description_fr\": \"Implants de faction Omega\", \n    \"description_it\": \"Faction Omega Implants\", \n    \"description_ja\": \"オメガシリーズインプラント\", \n    \"description_ko\": \"팩션 오메가 임플란트\", \n    \"description_ru\": \"Специмплантаты серии Omega\", \n    \"description_zh\": \"势力欧米伽植入体\", \n    \"descriptionID\": 279964, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Fraktionen 'Omega'\", \n    \"name_en-us\": \"Faction Omega Implants\", \n    \"name_es\": \"Implantes de facción Omega\", \n    \"name_fr\": \"Implants de faction omega\", \n    \"name_it\": \"Faction Omega Implants\", \n    \"name_ja\": \"オメガシリーズインプラント\", \n    \"name_ko\": \"팩션 오메가 임플란트\", \n    \"name_ru\": \"Импланты типа «Омега»\", \n    \"name_zh\": \"势力欧米伽植入体\", \n    \"nameID\": 279963, \n    \"parentGroupID\": 531\n  }, \n  \"1473\": {\n    \"description_de\": \"Waffenkunde-Implantate\", \n    \"description_en-us\": \"Gunnery Implants\", \n    \"description_es\": \"Implantes de artillería.\", \n    \"description_fr\": \"Implants d'armement\", \n    \"description_it\": \"Gunnery Implants\", \n    \"description_ja\": \"ガンナリーインプラント\", \n    \"description_ko\": \"터렛 조작 임플란트\", \n    \"description_ru\": \"Имплантаты — стрельба из орудий\", \n    \"description_zh\": \"射击植入体\", \n    \"descriptionID\": 279966, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Waffenkunde\", \n    \"name_en-us\": \"Gunnery Implants\", \n    \"name_es\": \"Implantes de artillería\", \n    \"name_fr\": \"Implants d'armement\", \n    \"name_it\": \"Gunnery Implants\", \n    \"name_ja\": \"ガンナリーインプラント\", \n    \"name_ko\": \"터렛 조작 임플란트\", \n    \"name_ru\": \"Ведение орудийного огня\", \n    \"name_zh\": \"射击植入体\", \n    \"nameID\": 279965, \n    \"parentGroupID\": 531\n  }, \n  \"1474\": {\n    \"description_de\": \"Industrie-Implantate\", \n    \"description_en-us\": \"Industry Implants\", \n    \"description_es\": \"Implantes industriales.\", \n    \"description_fr\": \"Implants d'industrie\", \n    \"description_it\": \"Industry Implants\", \n    \"description_ja\": \"インダストリーインプラント\", \n    \"description_ko\": \"산업 임플란트\", \n    \"description_ru\": \"Имплантаты — технологические знания\", \n    \"description_zh\": \"工业植入体\", \n    \"descriptionID\": 279968, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Industrie\", \n    \"name_en-us\": \"Industry Implants\", \n    \"name_es\": \"Implantes industriales\", \n    \"name_fr\": \"Implants industriels\", \n    \"name_it\": \"Industry Implants\", \n    \"name_ja\": \"インダストリーインプラント\", \n    \"name_ko\": \"산업 임플란트\", \n    \"name_ru\": \"Организация производства\", \n    \"name_zh\": \"工业植入体\", \n    \"nameID\": 279967, \n    \"parentGroupID\": 531\n  }, \n  \"1475\": {\n    \"description_de\": \"Flottenunterstützungsimplantate\", \n    \"description_en-us\": \"Fleet Support Implants\", \n    \"description_es\": \"Implantes de apoyo a la flota.\", \n    \"description_fr\": \"Implants de soutien de flotte\", \n    \"description_it\": \"Fleet Support Implants\", \n    \"description_ja\": \"艦隊支援インプラント\", \n    \"description_ko\": \"함대 지원 임플란트\", \n    \"description_ru\": \"Усиление флотов\", \n    \"description_zh\": \"舰队支援植入体\", \n    \"descriptionID\": 279970, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Flottenunterstützungsimplantate\", \n    \"name_en-us\": \"Fleet Support Implants\", \n    \"name_es\": \"Implantes de apoyo a la flota\", \n    \"name_fr\": \"Implants de soutien de flotte\", \n    \"name_it\": \"Fleet Support Implants\", \n    \"name_ja\": \"艦隊支援インプラント\", \n    \"name_ko\": \"함대 지원 임플란트\", \n    \"name_ru\": \"Усиление флотов\", \n    \"name_zh\": \"舰队支援植入体\", \n    \"nameID\": 279969, \n    \"parentGroupID\": 531\n  }, \n  \"1476\": {\n    \"description_de\": \"Missile-Implantate\", \n    \"description_en-us\": \"Missile Implants\", \n    \"description_es\": \"Implantes misilísticos.\", \n    \"description_fr\": \"Implants de missile\", \n    \"description_it\": \"Missile Implants\", \n    \"description_ja\": \"ミサイルインプラント\", \n    \"description_ko\": \"미사일 임플란트\", \n    \"description_ru\": \"Имплантаты — стрельба ракетами\", \n    \"description_zh\": \"导弹植入体\", \n    \"descriptionID\": 279972, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Lenkwaffen\", \n    \"name_en-us\": \"Missile Implants\", \n    \"name_es\": \"Implantes misilísticos\", \n    \"name_fr\": \"Implants de missile\", \n    \"name_it\": \"Missile Implants\", \n    \"name_ja\": \"ミサイルインプラント\", \n    \"name_ko\": \"미사일 임플란트\", \n    \"name_ru\": \"Ведение ракетного огня\", \n    \"name_zh\": \"导弹植入体\", \n    \"nameID\": 279971, \n    \"parentGroupID\": 531\n  }, \n  \"1477\": {\n    \"description_de\": \"Navigationsimplantate\", \n    \"description_en-us\": \"Navigation Implants\", \n    \"description_es\": \"Implantes de navegación.\", \n    \"description_fr\": \"Implants de navigation\", \n    \"description_it\": \"Navigation Implants\", \n    \"description_ja\": \"航行技術インプラント\", \n    \"description_ko\": \"운항 임플란트\", \n    \"description_ru\": \"Имплантаты — навыки навигации\", \n    \"description_zh\": \"导航植入体\", \n    \"descriptionID\": 279974, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Navigation\", \n    \"name_en-us\": \"Navigation Implants\", \n    \"name_es\": \"Implantes de navegación\", \n    \"name_fr\": \"Implants de navigation\", \n    \"name_it\": \"Navigation Implants\", \n    \"name_ja\": \"航行技術インプラント\", \n    \"name_ko\": \"운항 임플란트\", \n    \"name_ru\": \"Эксплуатация двигателей\", \n    \"name_zh\": \"导航植入体\", \n    \"nameID\": 279973, \n    \"parentGroupID\": 531\n  }, \n  \"1478\": {\n    \"description_de\": \"Wissenschaftsimplantate\", \n    \"description_en-us\": \"Science Implants\", \n    \"description_es\": \"Implantes de ciencia.\", \n    \"description_fr\": \"Implants de science\", \n    \"description_it\": \"Science Implants\", \n    \"description_ja\": \"サイエンスインプラント\", \n    \"description_ko\": \"과학 임플란트입니다.\", \n    \"description_ru\": \"Имплантаты — научные знания\", \n    \"description_zh\": \"科学植入体\", \n    \"descriptionID\": 279976, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Wissenschaft\", \n    \"name_en-us\": \"Science Implants\", \n    \"name_es\": \"Implantes de ciencia\", \n    \"name_fr\": \"Implants scientifiques\", \n    \"name_it\": \"Science Implants\", \n    \"name_ja\": \"サイエンスインプラント\", \n    \"name_ko\": \"과학 임플란트\", \n    \"name_ru\": \"Научные дисциплины\", \n    \"name_zh\": \"科学植入体\", \n    \"nameID\": 279975, \n    \"parentGroupID\": 531\n  }, \n  \"1479\": {\n    \"description_de\": \"Schild-Implantate\", \n    \"description_en-us\": \"Shield Implants\", \n    \"description_es\": \"Implantes de escudo.\", \n    \"description_fr\": \"Implants de bouclier\", \n    \"description_it\": \"Shield Implants\", \n    \"description_ja\": \"シールドインプラント\", \n    \"description_ko\": \"실드 임플란트\", \n    \"description_ru\": \"Имплантаты — работа с щитами\", \n    \"description_zh\": \"护盾植入体\", \n    \"descriptionID\": 279978, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Schilde\", \n    \"name_en-us\": \"Shield Implants\", \n    \"name_es\": \"Implantes de escudo\", \n    \"name_fr\": \"Implants de bouclier\", \n    \"name_it\": \"Shield Implants\", \n    \"name_ja\": \"シールドインプラント\", \n    \"name_ko\": \"실드 임플란트\", \n    \"name_ru\": \"Укрепление щитов\", \n    \"name_zh\": \"护盾植入体\", \n    \"nameID\": 279977, \n    \"parentGroupID\": 531\n  }, \n  \"1480\": {\n    \"description_de\": \"Implantat-Slot 06\", \n    \"description_en-us\": \"Implant Slot 06\", \n    \"description_es\": \"Ranura de implante 06.\", \n    \"description_fr\": \"Emplacement d'implant 06\", \n    \"description_it\": \"Implant Slot 06\", \n    \"description_ja\": \"インプラントスロット06\", \n    \"description_ko\": \"임플란트 슬롯 06\", \n    \"description_ru\": \"Имплантаты — разъем №6\", \n    \"description_zh\": \"植入体插槽 06\", \n    \"descriptionID\": 279980, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 06\", \n    \"name_en-us\": \"Implant Slot 06\", \n    \"name_es\": \"Ranura de implante 06\", \n    \"name_fr\": \"Emplacement d'implant 06\", \n    \"name_it\": \"Implant Slot 06\", \n    \"name_ja\": \"インプラントスロット06\", \n    \"name_ko\": \"임플란트 슬롯 06\", \n    \"name_ru\": \"Для разъёма №6\", \n    \"name_zh\": \"植入体插槽 06\", \n    \"nameID\": 279979, \n    \"parentGroupID\": 1479\n  }, \n  \"1481\": {\n    \"description_de\": \"Implantat-Slot 07\", \n    \"description_en-us\": \"Implant Slot 07\", \n    \"description_es\": \"Ranura de implante 07.\", \n    \"description_fr\": \"Emplacement d'implant 07\", \n    \"description_it\": \"Implant Slot 07\", \n    \"description_ja\": \"インプラントスロット07\", \n    \"description_ko\": \"임플란트 슬롯 07\", \n    \"description_ru\": \"Имплантаты — разъем №7\", \n    \"description_zh\": \"植入体插槽 07\", \n    \"descriptionID\": 279982, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 07\", \n    \"name_en-us\": \"Implant Slot 07\", \n    \"name_es\": \"Ranura de implante 07\", \n    \"name_fr\": \"Emplacement d'implant 07\", \n    \"name_it\": \"Implant Slot 07\", \n    \"name_ja\": \"インプラントスロット07\", \n    \"name_ko\": \"임플란트 슬롯 07\", \n    \"name_ru\": \"Для разъёма №7\", \n    \"name_zh\": \"植入体插槽 07\", \n    \"nameID\": 279981, \n    \"parentGroupID\": 1479\n  }, \n  \"1482\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем №8\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 279984, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 279983, \n    \"parentGroupID\": 1479\n  }, \n  \"1483\": {\n    \"description_de\": \"Implantat-Slot 09\", \n    \"description_en-us\": \"Implant Slot 09\", \n    \"description_es\": \"Ranura de implante 09.\", \n    \"description_fr\": \"Emplacement d'implant 09\", \n    \"description_it\": \"Implant Slot 09\", \n    \"description_ja\": \"インプラントスロット09\", \n    \"description_ko\": \"임플란트 슬롯 09\", \n    \"description_ru\": \"Имплантаты — разъем №9\", \n    \"description_zh\": \"植入体插槽 09\", \n    \"descriptionID\": 279986, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 09\", \n    \"name_en-us\": \"Implant Slot 09\", \n    \"name_es\": \"Ranura de implante 09\", \n    \"name_fr\": \"Emplacement d'implant 09\", \n    \"name_it\": \"Implant Slot 09\", \n    \"name_ja\": \"インプラントスロット09\", \n    \"name_ko\": \"임플란트 슬롯 09\", \n    \"name_ru\": \"Для разъёма №9\", \n    \"name_zh\": \"植入体插槽 09\", \n    \"nameID\": 279985, \n    \"parentGroupID\": 1479\n  }, \n  \"1484\": {\n    \"description_de\": \"Implantat-Slot 06\", \n    \"description_en-us\": \"Implant Slot 06\", \n    \"description_es\": \"Ranura de implante 06.\", \n    \"description_fr\": \"Emplacement d'implant 06\", \n    \"description_it\": \"Implant Slot 06\", \n    \"description_ja\": \"インプラントスロット06\", \n    \"description_ko\": \"임플란트 슬롯 06\", \n    \"description_ru\": \"Имплантаты — разъем №6\", \n    \"description_zh\": \"植入体插槽 06\", \n    \"descriptionID\": 279988, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 06\", \n    \"name_en-us\": \"Implant Slot 06\", \n    \"name_es\": \"Ranura de implante 06\", \n    \"name_fr\": \"Emplacement d'implant 06\", \n    \"name_it\": \"Implant Slot 06\", \n    \"name_ja\": \"インプラントスロット06\", \n    \"name_ko\": \"임플란트 슬롯 06\", \n    \"name_ru\": \"Для разъёма №6\", \n    \"name_zh\": \"植入体插槽 06\", \n    \"nameID\": 279987, \n    \"parentGroupID\": 1478\n  }, \n  \"1485\": {\n    \"description_de\": \"Implantat-Slot 07\", \n    \"description_en-us\": \"Implant Slot 07\", \n    \"description_es\": \"Ranura de implante 07.\", \n    \"description_fr\": \"Emplacement d'implant 07\", \n    \"description_it\": \"Implant Slot 07\", \n    \"description_ja\": \"インプラントスロット07\", \n    \"description_ko\": \"임플란트 슬롯 07\", \n    \"description_ru\": \"Имплантаты — разъем №7\", \n    \"description_zh\": \"植入体插槽 07\", \n    \"descriptionID\": 279990, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 07\", \n    \"name_en-us\": \"Implant Slot 07\", \n    \"name_es\": \"Ranura de implante 07\", \n    \"name_fr\": \"Emplacement d'implant 07\", \n    \"name_it\": \"Implant Slot 07\", \n    \"name_ja\": \"インプラントスロット07\", \n    \"name_ko\": \"임플란트 슬롯 07\", \n    \"name_ru\": \"Для разъёма №7\", \n    \"name_zh\": \"植入体插槽 07\", \n    \"nameID\": 279989, \n    \"parentGroupID\": 1478\n  }, \n  \"1486\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем №8\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 279992, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 279991, \n    \"parentGroupID\": 1478\n  }, \n  \"1489\": {\n    \"description_de\": \"Implantat-Slot 06\", \n    \"description_en-us\": \"Implant Slot 06\", \n    \"description_es\": \"Ranura de implante 06.\", \n    \"description_fr\": \"Emplacement d'implant 06\", \n    \"description_it\": \"Implant Slot 06\", \n    \"description_ja\": \"インプラントスロット06\", \n    \"description_ko\": \"임플란트 슬롯 06\", \n    \"description_ru\": \"Имплантаты — разъем №6\", \n    \"description_zh\": \"植入体插槽 06\", \n    \"descriptionID\": 279998, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 06\", \n    \"name_en-us\": \"Implant Slot 06\", \n    \"name_es\": \"Ranura de implante 06\", \n    \"name_fr\": \"Emplacement d'implant 06\", \n    \"name_it\": \"Implant Slot 06\", \n    \"name_ja\": \"インプラントスロット06\", \n    \"name_ko\": \"임플란트 슬롯 06\", \n    \"name_ru\": \"Для разъёма №6\", \n    \"name_zh\": \"植入体插槽 06\", \n    \"nameID\": 279997, \n    \"parentGroupID\": 1477\n  }, \n  \"1490\": {\n    \"description_de\": \"Implantat-Slot 07\", \n    \"description_en-us\": \"Implant Slot 07\", \n    \"description_es\": \"Ranura de implante 07.\", \n    \"description_fr\": \"Emplacement d'implant 07\", \n    \"description_it\": \"Implant Slot 07\", \n    \"description_ja\": \"インプラントスロット07\", \n    \"description_ko\": \"임플란트 슬롯 07\", \n    \"description_ru\": \"Имплантаты — разъем №7\", \n    \"description_zh\": \"植入体插槽 07\", \n    \"descriptionID\": 280000, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 07\", \n    \"name_en-us\": \"Implant Slot 07\", \n    \"name_es\": \"Ranura de implante 07\", \n    \"name_fr\": \"Emplacement d'implant 07\", \n    \"name_it\": \"Implant Slot 07\", \n    \"name_ja\": \"インプラントスロット07\", \n    \"name_ko\": \"임플란트 슬롯 07\", \n    \"name_ru\": \"Для разъёма №7\", \n    \"name_zh\": \"植入体插槽 07\", \n    \"nameID\": 279999, \n    \"parentGroupID\": 1477\n  }, \n  \"1491\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем №8\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 280002, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 280001, \n    \"parentGroupID\": 1477\n  }, \n  \"1492\": {\n    \"description_de\": \"Implantat-Slot 09\", \n    \"description_en-us\": \"Implant Slot 09\", \n    \"description_es\": \"Ranura de implante 09.\", \n    \"description_fr\": \"Emplacement d'implant 09\", \n    \"description_it\": \"Implant Slot 09\", \n    \"description_ja\": \"インプラントスロット09\", \n    \"description_ko\": \"임플란트 슬롯 09\", \n    \"description_ru\": \"Имплантаты — разъем №9\", \n    \"description_zh\": \"植入体插槽 09\", \n    \"descriptionID\": 280004, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 09\", \n    \"name_en-us\": \"Implant Slot 09\", \n    \"name_es\": \"Ranura de implante 09\", \n    \"name_fr\": \"Emplacement d'implant 09\", \n    \"name_it\": \"Implant Slot 09\", \n    \"name_ja\": \"インプラントスロット09\", \n    \"name_ko\": \"임플란트 슬롯 09\", \n    \"name_ru\": \"Для разъёма №9\", \n    \"name_zh\": \"植入体插槽 09\", \n    \"nameID\": 280003, \n    \"parentGroupID\": 1477\n  }, \n  \"1493\": {\n    \"description_de\": \"Implantat-Slot 06\", \n    \"description_en-us\": \"Implant Slot 06\", \n    \"description_es\": \"Ranura de implante 06.\", \n    \"description_fr\": \"Emplacement d'implant 06\", \n    \"description_it\": \"Implant Slot 06\", \n    \"description_ja\": \"インプラントスロット06\", \n    \"description_ko\": \"임플란트 슬롯 06\", \n    \"description_ru\": \"Имплантаты — разъем №6\", \n    \"description_zh\": \"植入体插槽 06\", \n    \"descriptionID\": 280006, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 06\", \n    \"name_en-us\": \"Implant Slot 06\", \n    \"name_es\": \"Ranura de implante 06\", \n    \"name_fr\": \"Emplacement d'implant 06\", \n    \"name_it\": \"Implant Slot 06\", \n    \"name_ja\": \"インプラントスロット06\", \n    \"name_ko\": \"임플란트 슬롯 06\", \n    \"name_ru\": \"Для разъёма №6\", \n    \"name_zh\": \"植入体插槽 06\", \n    \"nameID\": 280005, \n    \"parentGroupID\": 1476\n  }, \n  \"1494\": {\n    \"description_de\": \"Implantat-Slot 07\", \n    \"description_en-us\": \"Implant Slot 07\", \n    \"description_es\": \"Ranura de implante 07.\", \n    \"description_fr\": \"Emplacement d'implant 07\", \n    \"description_it\": \"Implant Slot 07\", \n    \"description_ja\": \"インプラントスロット07\", \n    \"description_ko\": \"임플란트 슬롯 07\", \n    \"description_ru\": \"Имплантаты — разъем №7\", \n    \"description_zh\": \"植入体插槽 07\", \n    \"descriptionID\": 280008, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 07\", \n    \"name_en-us\": \"Implant Slot 07\", \n    \"name_es\": \"Ranura de implante 07\", \n    \"name_fr\": \"Emplacement d'implant 07\", \n    \"name_it\": \"Implant Slot 07\", \n    \"name_ja\": \"インプラントスロット07\", \n    \"name_ko\": \"임플란트 슬롯 07\", \n    \"name_ru\": \"Для разъёма №7\", \n    \"name_zh\": \"植入体插槽 07\", \n    \"nameID\": 280007, \n    \"parentGroupID\": 1476\n  }, \n  \"1495\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем №8\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 280010, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 280009, \n    \"parentGroupID\": 1476\n  }, \n  \"1496\": {\n    \"description_de\": \"Implantat-Slot 09\", \n    \"description_en-us\": \"Implant Slot 09\", \n    \"description_es\": \"Ranura de implante 09.\", \n    \"description_fr\": \"Emplacement d'implant 09\", \n    \"description_it\": \"Implant Slot 09\", \n    \"description_ja\": \"インプラントスロット09\", \n    \"description_ko\": \"임플란트 슬롯 09\", \n    \"description_ru\": \"Имплантаты — разъем №9\", \n    \"description_zh\": \"植入体插槽 09\", \n    \"descriptionID\": 280012, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 09\", \n    \"name_en-us\": \"Implant Slot 09\", \n    \"name_es\": \"Ranura de implante 09\", \n    \"name_fr\": \"Emplacement d'implant 09\", \n    \"name_it\": \"Implant Slot 09\", \n    \"name_ja\": \"インプラントスロット09\", \n    \"name_ko\": \"임플란트 슬롯 09\", \n    \"name_ru\": \"Для разъёма №9\", \n    \"name_zh\": \"植入体插槽 09\", \n    \"nameID\": 280011, \n    \"parentGroupID\": 1476\n  }, \n  \"1497\": {\n    \"description_de\": \"Implantat-Slot 10\", \n    \"description_en-us\": \"Implant Slot 10\", \n    \"description_es\": \"Ranura de implante 10.\", \n    \"description_fr\": \"Emplacement d'implant 10\", \n    \"description_it\": \"Implant Slot 10\", \n    \"description_ja\": \"インプラントスロット10\", \n    \"description_ko\": \"임플란트 슬롯 10\", \n    \"description_ru\": \"Имплантаты — разъем №10\", \n    \"description_zh\": \"植入体插槽 10\", \n    \"descriptionID\": 280014, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 10\", \n    \"name_en-us\": \"Implant Slot 10\", \n    \"name_es\": \"Ranura de implante 10\", \n    \"name_fr\": \"Emplacement d'implant 10\", \n    \"name_it\": \"Implant Slot 10\", \n    \"name_ja\": \"インプラントスロット10\", \n    \"name_ko\": \"임플란트 슬롯 10\", \n    \"name_ru\": \"Для разъёма №10\", \n    \"name_zh\": \"植入体插槽 10\", \n    \"nameID\": 280013, \n    \"parentGroupID\": 1476\n  }, \n  \"1498\": {\n    \"description_de\": \"Implantat-Slot 06\", \n    \"description_en-us\": \"Implant Slot 06\", \n    \"description_es\": \"Ranura de implante 06.\", \n    \"description_fr\": \"Emplacement d'implant 06\", \n    \"description_it\": \"Implant Slot 06\", \n    \"description_ja\": \"インプラントスロット06\", \n    \"description_ko\": \"임플란트 슬롯 06\", \n    \"description_ru\": \"Имплантаты — разъем №6\", \n    \"description_zh\": \"植入体插槽 06\", \n    \"descriptionID\": 280016, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 06\", \n    \"name_en-us\": \"Implant Slot 06\", \n    \"name_es\": \"Ranura de implante 06\", \n    \"name_fr\": \"Emplacement d'implant 06\", \n    \"name_it\": \"Implant Slot 06\", \n    \"name_ja\": \"インプラントスロット06\", \n    \"name_ko\": \"임플란트 슬롯 06\", \n    \"name_ru\": \"Для разъёма №6\", \n    \"name_zh\": \"植入体插槽 06\", \n    \"nameID\": 280015, \n    \"parentGroupID\": 1473\n  }, \n  \"1499\": {\n    \"description_de\": \"Implantat-Slot 07\", \n    \"description_en-us\": \"Implant Slot 07\", \n    \"description_es\": \"Ranura de implante 07.\", \n    \"description_fr\": \"Emplacement d'implant 07\", \n    \"description_it\": \"Implant Slot 07\", \n    \"description_ja\": \"インプラントスロット07\", \n    \"description_ko\": \"임플란트 슬롯 07\", \n    \"description_ru\": \"Имплантаты — разъем №7\", \n    \"description_zh\": \"植入体插槽 07\", \n    \"descriptionID\": 280018, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 07\", \n    \"name_en-us\": \"Implant Slot 07\", \n    \"name_es\": \"Ranura de implante 07\", \n    \"name_fr\": \"Emplacement d'implant 07\", \n    \"name_it\": \"Implant Slot 07\", \n    \"name_ja\": \"インプラントスロット07\", \n    \"name_ko\": \"임플란트 슬롯 07\", \n    \"name_ru\": \"Для разъёма №7\", \n    \"name_zh\": \"植入体插槽 07\", \n    \"nameID\": 280017, \n    \"parentGroupID\": 1473\n  }, \n  \"1500\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем №8\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 280020, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 280019, \n    \"parentGroupID\": 1473\n  }, \n  \"1501\": {\n    \"description_de\": \"Implantat-Slot 09\", \n    \"description_en-us\": \"Implant Slot 09\", \n    \"description_es\": \"Ranura de implante 09.\", \n    \"description_fr\": \"Emplacement d'implant 09\", \n    \"description_it\": \"Implant Slot 09\", \n    \"description_ja\": \"インプラントスロット09\", \n    \"description_ko\": \"임플란트 슬롯 09\", \n    \"description_ru\": \"Имплантаты — разъем №9\", \n    \"description_zh\": \"植入体插槽 09\", \n    \"descriptionID\": 280025, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 09\", \n    \"name_en-us\": \"Implant Slot 09\", \n    \"name_es\": \"Ranura de implante 09\", \n    \"name_fr\": \"Emplacement d'implant 09\", \n    \"name_it\": \"Implant Slot 09\", \n    \"name_ja\": \"インプラントスロット09\", \n    \"name_ko\": \"임플란트 슬롯 09\", \n    \"name_ru\": \"Для разъёма №9\", \n    \"name_zh\": \"植入体插槽 09\", \n    \"nameID\": 280021, \n    \"parentGroupID\": 1473\n  }, \n  \"1502\": {\n    \"description_de\": \"Implantat-Slot 10\", \n    \"description_en-us\": \"Implant Slot 10\", \n    \"description_es\": \"Ranura de implante 10.\", \n    \"description_fr\": \"Emplacement d'implant 10\", \n    \"description_it\": \"Implant Slot 10\", \n    \"description_ja\": \"インプラントスロット10\", \n    \"description_ko\": \"임플란트 슬롯 10\", \n    \"description_ru\": \"Имплантаты — разъем №10\", \n    \"description_zh\": \"植入体插槽 10\", \n    \"descriptionID\": 280027, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 10\", \n    \"name_en-us\": \"Implant Slot 10\", \n    \"name_es\": \"Ranura de implante 10\", \n    \"name_fr\": \"Emplacement d'implant 10\", \n    \"name_it\": \"Implant Slot 10\", \n    \"name_ja\": \"インプラントスロット10\", \n    \"name_ko\": \"임플란트 슬롯 10\", \n    \"name_ru\": \"Для разъёма №10\", \n    \"name_zh\": \"植入体插槽 10\", \n    \"nameID\": 280022, \n    \"parentGroupID\": 1473\n  }, \n  \"1504\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем №8\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 280029, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 280024, \n    \"parentGroupID\": 1474\n  }, \n  \"1505\": {\n    \"description_de\": \"Implantat-Slot 10\", \n    \"description_en-us\": \"Implant Slot 10\", \n    \"description_es\": \"Ranura de implante 10.\", \n    \"description_fr\": \"Emplacement d'implant 10\", \n    \"description_it\": \"Implant Slot 10\", \n    \"description_ja\": \"インプラントスロット10\", \n    \"description_ko\": \"임플란트 슬롯 10\", \n    \"description_ru\": \"Имплантаты — разъем №10\", \n    \"description_zh\": \"植入体插槽 10\", \n    \"descriptionID\": 280030, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 10\", \n    \"name_en-us\": \"Implant Slot 10\", \n    \"name_es\": \"Ranura de implante 10\", \n    \"name_fr\": \"Emplacement d'implant 10\", \n    \"name_it\": \"Implant Slot 10\", \n    \"name_ja\": \"インプラントスロット10\", \n    \"name_ko\": \"임플란트 슬롯 10\", \n    \"name_ru\": \"Для разъёма №10\", \n    \"name_zh\": \"植入体插槽 10\", \n    \"nameID\": 280026, \n    \"parentGroupID\": 1475\n  }, \n  \"1506\": {\n    \"description_de\": \"Implantat-Slot 06\", \n    \"description_en-us\": \"Implant Slot 06\", \n    \"description_es\": \"Ranura de implante 06.\", \n    \"description_fr\": \"Emplacement d'implant 06\", \n    \"description_it\": \"Implant Slot 06\", \n    \"description_ja\": \"インプラントスロット06\", \n    \"description_ko\": \"임플란트 슬롯 06\", \n    \"description_ru\": \"Имплантаты — разъем №6\", \n    \"description_zh\": \"植入体插槽 06\", \n    \"descriptionID\": 280032, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 06\", \n    \"name_en-us\": \"Implant Slot 06\", \n    \"name_es\": \"Ranura de implante 06\", \n    \"name_fr\": \"Emplacement d'implant 06\", \n    \"name_it\": \"Implant Slot 06\", \n    \"name_ja\": \"インプラントスロット06\", \n    \"name_ko\": \"임플란트 슬롯 06\", \n    \"name_ru\": \"Для разъёма №6\", \n    \"name_zh\": \"植入体插槽 06\", \n    \"nameID\": 280031, \n    \"parentGroupID\": 1472\n  }, \n  \"1507\": {\n    \"description_de\": \"Implantat-Slot 06\", \n    \"description_en-us\": \"Implant Slot 06\", \n    \"description_es\": \"Ranura de implante 06.\", \n    \"description_fr\": \"Emplacement d'implant 06\", \n    \"description_it\": \"Implant Slot 06\", \n    \"description_ja\": \"インプラントスロット06\", \n    \"description_ko\": \"임플란트 슬롯 06\", \n    \"description_ru\": \"Имплантаты — разъем №6\", \n    \"description_zh\": \"植入体插槽 06\", \n    \"descriptionID\": 280034, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 06\", \n    \"name_en-us\": \"Implant Slot 06\", \n    \"name_es\": \"Ranura de implante 06\", \n    \"name_fr\": \"Emplacement d'implant 06\", \n    \"name_it\": \"Implant Slot 06\", \n    \"name_ja\": \"インプラントスロット06\", \n    \"name_ko\": \"임플란트 슬롯 06\", \n    \"name_ru\": \"Для разъёма №6\", \n    \"name_zh\": \"植入体插槽 06\", \n    \"nameID\": 280033, \n    \"parentGroupID\": 1471\n  }, \n  \"1508\": {\n    \"description_de\": \"Implantat-Slot 07\", \n    \"description_en-us\": \"Implant Slot 07\", \n    \"description_es\": \"Ranura de implante 07.\", \n    \"description_fr\": \"Emplacement d'implant 07\", \n    \"description_it\": \"Implant Slot 07\", \n    \"description_ja\": \"インプラントスロット07\", \n    \"description_ko\": \"임플란트 슬롯 07\", \n    \"description_ru\": \"Имплантаты — разъем №7\", \n    \"description_zh\": \"植入体插槽 07\", \n    \"descriptionID\": 280036, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 07\", \n    \"name_en-us\": \"Implant Slot 07\", \n    \"name_es\": \"Ranura de implante 07\", \n    \"name_fr\": \"Emplacement d'implant 07\", \n    \"name_it\": \"Implant Slot 07\", \n    \"name_ja\": \"インプラントスロット07\", \n    \"name_ko\": \"임플란트 슬롯 07\", \n    \"name_ru\": \"Для разъёма №7\", \n    \"name_zh\": \"植入体插槽 07\", \n    \"nameID\": 280035, \n    \"parentGroupID\": 1471\n  }, \n  \"1509\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем №8\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 280038, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 280037, \n    \"parentGroupID\": 1471\n  }, \n  \"1512\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем №8\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 280044, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 280043, \n    \"parentGroupID\": 1470\n  }, \n  \"1513\": {\n    \"description_de\": \"Implantat-Slot 09\", \n    \"description_en-us\": \"Implant Slot 09\", \n    \"description_es\": \"Ranura de implante 09.\", \n    \"description_fr\": \"Emplacement d'implant 09\", \n    \"description_it\": \"Implant Slot 09\", \n    \"description_ja\": \"インプラントスロット09\", \n    \"description_ko\": \"임플란트 슬롯 09\", \n    \"description_ru\": \"Имплантаты — разъем №9\", \n    \"description_zh\": \"植入体插槽 09\", \n    \"descriptionID\": 280046, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 09\", \n    \"name_en-us\": \"Implant Slot 09\", \n    \"name_es\": \"Ranura de implante 09\", \n    \"name_fr\": \"Emplacement d'implant 09\", \n    \"name_it\": \"Implant Slot 09\", \n    \"name_ja\": \"インプラントスロット09\", \n    \"name_ko\": \"임플란트 슬롯 09\", \n    \"name_ru\": \"Для разъёма №9\", \n    \"name_zh\": \"植入体插槽 09\", \n    \"nameID\": 280045, \n    \"parentGroupID\": 1470\n  }, \n  \"1514\": {\n    \"description_de\": \"Implantat-Slot 06\", \n    \"description_en-us\": \"Implant Slot 06\", \n    \"description_es\": \"Ranura de implante 06.\", \n    \"description_fr\": \"Emplacement d'implant 06\", \n    \"description_it\": \"Implant Slot 06\", \n    \"description_ja\": \"インプラントスロット06\", \n    \"description_ko\": \"임플란트 슬롯 06\", \n    \"description_ru\": \"Имплантаты — разъем №6\", \n    \"description_zh\": \"植入体插槽 06\", \n    \"descriptionID\": 280048, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 06\", \n    \"name_en-us\": \"Implant Slot 06\", \n    \"name_es\": \"Ranura de implante 06\", \n    \"name_fr\": \"Emplacement d'implant 06\", \n    \"name_it\": \"Implant Slot 06\", \n    \"name_ja\": \"インプラントスロット06\", \n    \"name_ko\": \"임플란트 슬롯 06\", \n    \"name_ru\": \"Для разъёма №6\", \n    \"name_zh\": \"植入体插槽 06\", \n    \"nameID\": 280047, \n    \"parentGroupID\": 1469\n  }, \n  \"1515\": {\n    \"description_de\": \"Implantat-Slot 07\", \n    \"description_en-us\": \"Implant Slot 07\", \n    \"description_es\": \"Ranura de implante 07.\", \n    \"description_fr\": \"Emplacement d'implant 07\", \n    \"description_it\": \"Implant Slot 07\", \n    \"description_ja\": \"インプラントスロット07\", \n    \"description_ko\": \"임플란트 슬롯 07\", \n    \"description_ru\": \"Имплантаты — разъем №7\", \n    \"description_zh\": \"植入体插槽 07\", \n    \"descriptionID\": 280053, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 07\", \n    \"name_en-us\": \"Implant Slot 07\", \n    \"name_es\": \"Ranura de implante 07\", \n    \"name_fr\": \"Emplacement d'implant 07\", \n    \"name_it\": \"Implant Slot 07\", \n    \"name_ja\": \"インプラントスロット07\", \n    \"name_ko\": \"임플란트 슬롯 07\", \n    \"name_ru\": \"Для разъёма №7\", \n    \"name_zh\": \"植入体插槽 07\", \n    \"nameID\": 280049, \n    \"parentGroupID\": 1469\n  }, \n  \"1516\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем №8\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 280054, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 280050, \n    \"parentGroupID\": 1469\n  }, \n  \"1517\": {\n    \"description_de\": \"Implantat-Slot 09\", \n    \"description_en-us\": \"Implant Slot 09\", \n    \"description_es\": \"Ranura de implante 09.\", \n    \"description_fr\": \"Emplacement d'implant 09\", \n    \"description_it\": \"Implant Slot 09\", \n    \"description_ja\": \"インプラントスロット09\", \n    \"description_ko\": \"임플란트 슬롯 09\", \n    \"description_ru\": \"Имплантаты — разъем №9\", \n    \"description_zh\": \"植入体插槽 09\", \n    \"descriptionID\": 280055, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 09\", \n    \"name_en-us\": \"Implant Slot 09\", \n    \"name_es\": \"Ranura de implante 09\", \n    \"name_fr\": \"Emplacement d'implant 09\", \n    \"name_it\": \"Implant Slot 09\", \n    \"name_ja\": \"インプラントスロット09\", \n    \"name_ko\": \"임플란트 슬롯 09\", \n    \"name_ru\": \"Для разъёма №9\", \n    \"name_zh\": \"植入体插槽 09\", \n    \"nameID\": 280051, \n    \"parentGroupID\": 1469\n  }, \n  \"1518\": {\n    \"description_de\": \"Implantat-Slot 10\", \n    \"description_en-us\": \"Implant Slot 10\", \n    \"description_es\": \"Ranura de implante 10.\", \n    \"description_fr\": \"Emplacement d'implant 10\", \n    \"description_it\": \"Implant Slot 10\", \n    \"description_ja\": \"インプラントスロット10\", \n    \"description_ko\": \"임플란트 슬롯 10\", \n    \"description_ru\": \"Имплантаты — разъем №10\", \n    \"description_zh\": \"植入体插槽 10\", \n    \"descriptionID\": 280056, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 10\", \n    \"name_en-us\": \"Implant Slot 10\", \n    \"name_es\": \"Ranura de implante 10\", \n    \"name_fr\": \"Emplacement d'implant 10\", \n    \"name_it\": \"Implant Slot 10\", \n    \"name_ja\": \"インプラントスロット10\", \n    \"name_ko\": \"임플란트 슬롯 10\", \n    \"name_ru\": \"Для разъёма №10\", \n    \"name_zh\": \"植入体插槽 10\", \n    \"nameID\": 280052, \n    \"parentGroupID\": 1469\n  }, \n  \"1520\": {\n    \"description_de\": \"Sonden\", \n    \"description_en-us\": \"Probes\", \n    \"description_es\": \"Sondas.\", \n    \"description_fr\": \"Sondes\", \n    \"description_it\": \"Probes\", \n    \"description_ja\": \"プローブ\", \n    \"description_ko\": \"프로브\", \n    \"description_ru\": \"Зонды\", \n    \"description_zh\": \"探针\", \n    \"descriptionID\": 281034, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Sonden\", \n    \"name_en-us\": \"Probes\", \n    \"name_es\": \"Sondas\", \n    \"name_fr\": \"Sondes\", \n    \"name_it\": \"Probes\", \n    \"name_ja\": \"プローブ\", \n    \"name_ko\": \"프로브\", \n    \"name_ru\": \"Зонды\", \n    \"name_zh\": \"探针\", \n    \"nameID\": 281033, \n    \"parentGroupID\": 211\n  }, \n  \"1521\": {\n    \"description_de\": \"Überwachungssonden\", \n    \"description_en-us\": \"Survey Probes\", \n    \"description_es\": \"Sondas de prospección.\", \n    \"description_fr\": \"Sondes d'inspection\", \n    \"description_it\": \"Survey Probes\", \n    \"description_ja\": \"衛星調査プローブ\", \n    \"description_ko\": \"조사 프로브\", \n    \"description_ru\": \"Зонды георазведки\", \n    \"description_zh\": \"测量探针\", \n    \"descriptionID\": 281037, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Vermessungssonden\", \n    \"name_en-us\": \"Survey Probes\", \n    \"name_es\": \"Sondas de prospección\", \n    \"name_fr\": \"Sondes d'inspection\", \n    \"name_it\": \"Survey Probes\", \n    \"name_ja\": \"衛星調査プローブ\", \n    \"name_ko\": \"조사 프로브\", \n    \"name_ru\": \"Зонды луноразведки\", \n    \"name_zh\": \"测量探针\", \n    \"nameID\": 281036, \n    \"parentGroupID\": 1520\n  }, \n  \"1522\": {\n    \"description_de\": \"Rohstoffe\", \n    \"description_en-us\": \"Materials\", \n    \"description_es\": \"Materiales.\", \n    \"description_fr\": \"Matériaux\", \n    \"description_it\": \"Materials\", \n    \"description_ja\": \"資源\", \n    \"description_ko\": \"다양한 자원 및 물질입니다.\", \n    \"description_ru\": \"Материалы\", \n    \"description_zh\": \"材料\", \n    \"descriptionID\": 281045, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Materialien\", \n    \"name_en-us\": \"Materials\", \n    \"name_es\": \"Materiales\", \n    \"name_fr\": \"Matériaux\", \n    \"name_it\": \"Materials\", \n    \"name_ja\": \"資源\", \n    \"name_ko\": \"자원 및 재료\", \n    \"name_ru\": \"Материалы\", \n    \"name_zh\": \"材料\", \n    \"nameID\": 281044, \n    \"parentGroupID\": 1041\n  }, \n  \"1525\": {\n    \"description_de\": \"Blueprints für Nachbrenner.\", \n    \"description_en-us\": \"Blueprints of afterburners.\", \n    \"description_es\": \"Planos de posquemadores.\", \n    \"description_fr\": \"Plans de construction de systèmes de post-combustion.\", \n    \"description_it\": \"Blueprints of afterburners.\", \n    \"description_ja\": \"アフターバーナーのブループリント。\", \n    \"description_ko\": \"애프터버너 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи форсированных двигательных установок.\", \n    \"description_zh\": \"加力燃烧器的蓝图。\", \n    \"descriptionID\": 281051, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Nachbrenner\", \n    \"name_en-us\": \"Afterburners\", \n    \"name_es\": \"Posquemadores\", \n    \"name_fr\": \"Systèmes de post-combustion\", \n    \"name_it\": \"Afterburners\", \n    \"name_ja\": \"アフターバーナー\", \n    \"name_ko\": \"애프터버너\", \n    \"name_ru\": \"Форсажные ускорители\", \n    \"name_zh\": \"加力燃烧器\", \n    \"nameID\": 281050, \n    \"parentGroupID\": 252\n  }, \n  \"1526\": {\n    \"description_de\": \"Cruise Missiles\", \n    \"description_en-us\": \"Cruise Missiles\", \n    \"description_es\": \"Misiles de crucero.\", \n    \"description_fr\": \"Missiles de croisière\", \n    \"description_it\": \"Cruise Missiles\", \n    \"description_ja\": \"クルーズミサイル\", \n    \"description_ko\": \"크루즈 미사일\", \n    \"description_ru\": \"Ракеты дальнего боя\", \n    \"description_zh\": \"巡航导弹\", \n    \"descriptionID\": 281053, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Marschflugkörper\", \n    \"name_en-us\": \"Cruise Missiles\", \n    \"name_es\": \"Misiles de crucero\", \n    \"name_fr\": \"Missiles de croisière\", \n    \"name_it\": \"Cruise Missiles\", \n    \"name_ja\": \"クルーズミサイル\", \n    \"name_ko\": \"크루즈 미사일\", \n    \"name_ru\": \"Дальнобойные ракеты\", \n    \"name_zh\": \"巡航导弹\", \n    \"nameID\": 281052, \n    \"parentGroupID\": 314\n  }, \n  \"1527\": {\n    \"description_de\": \"Schwere Lenkwaffen\", \n    \"description_en-us\": \"Heavy Missiles\", \n    \"description_es\": \"Misiles pesados.\", \n    \"description_fr\": \"Missiles lourds\", \n    \"description_it\": \"Heavy Missiles\", \n    \"description_ja\": \"ヘビーミサイル\", \n    \"description_ko\": \"헤비 미사일\", \n    \"description_ru\": \"Тяжелые ракеты\", \n    \"description_zh\": \"重型导弹\", \n    \"descriptionID\": 281055, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schwere Lenkwaffen\", \n    \"name_en-us\": \"Heavy Missiles\", \n    \"name_es\": \"Misiles pesados\", \n    \"name_fr\": \"Missiles lourds\", \n    \"name_it\": \"Heavy Missiles\", \n    \"name_ja\": \"ヘビーミサイル\", \n    \"name_ko\": \"헤비 미사일\", \n    \"name_ru\": \"Тяжёлые ракеты\", \n    \"name_zh\": \"重型导弹\", \n    \"nameID\": 281054, \n    \"parentGroupID\": 314\n  }, \n  \"1528\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Leichte Lenkwaffen\", \n    \"name_en-us\": \"Light Missiles\", \n    \"name_es\": \"Misiles ligeros\", \n    \"name_fr\": \"Missiles légers\", \n    \"name_it\": \"Light Missiles\", \n    \"name_ja\": \"ライトミサイル\", \n    \"name_ko\": \"라이트 미사일\", \n    \"name_ru\": \"Лёгкие ракеты\", \n    \"name_zh\": \"轻型导弹\", \n    \"nameID\": 281056, \n    \"parentGroupID\": 314\n  }, \n  \"1529\": {\n    \"description_de\": \"Unterbrechungssonden\", \n    \"description_en-us\": \"Interdiction Probes\", \n    \"description_es\": \"Sondas de interdicción.\", \n    \"description_fr\": \"Sondes d'interdiction\", \n    \"description_it\": \"Interdiction Probes\", \n    \"description_ja\": \"インターディクションプローブ\", \n    \"description_ko\": \"인터딕션 프로브\", \n    \"description_ru\": \"Заградительные зонды\", \n    \"description_zh\": \"拦截探针\", \n    \"descriptionID\": 281059, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Unterbrechungssonden\", \n    \"name_en-us\": \"Interdiction Probes\", \n    \"name_es\": \"Sondas de interdicción\", \n    \"name_fr\": \"Sondes d'interdiction\", \n    \"name_it\": \"Interdiction Probes\", \n    \"name_ja\": \"インターディクションプローブ\", \n    \"name_ko\": \"인터딕션 프로브\", \n    \"name_ru\": \"Зонды варп-заграждения\", \n    \"name_zh\": \"拦截探针\", \n    \"nameID\": 281058, \n    \"parentGroupID\": 1520\n  }, \n  \"1530\": {\n    \"description_de\": \"Kampfdrohnen\", \n    \"description_en-us\": \"Combat Drones\", \n    \"description_es\": \"Drones de combate.\", \n    \"description_fr\": \"Drones de combat\", \n    \"description_it\": \"Combat Drones\", \n    \"description_ja\": \"戦闘用ドローン\", \n    \"description_ko\": \"공격 드론\", \n    \"description_ru\": \"Боевые дроны\", \n    \"description_zh\": \"战斗无人机\", \n    \"descriptionID\": 281275, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Kampfdrohnen\", \n    \"name_en-us\": \"Combat Drones\", \n    \"name_es\": \"Drones de combate\", \n    \"name_fr\": \"Drones de combat\", \n    \"name_it\": \"Combat Drones\", \n    \"name_ja\": \"戦闘用ドローン\", \n    \"name_ko\": \"공격 드론\", \n    \"name_ru\": \"Боевые дроны\", \n    \"name_zh\": \"战斗无人机\", \n    \"nameID\": 281274, \n    \"parentGroupID\": 357\n  }, \n  \"1531\": {\n    \"description_de\": \"Blueprints für leichte Kundschafterdrohnen-Designs.\", \n    \"description_en-us\": \"Blueprints of light scout drone designs.\", \n    \"description_es\": \"Planos de diseños de drones de reconocimiento ligeros.\", \n    \"description_fr\": \"Plans de construction de modèles de drones de reconnaissance légers.\", \n    \"description_it\": \"Blueprints of light scout drone designs.\", \n    \"description_ja\": \"ライトスカウトドローン設計図のブループリント。\", \n    \"description_ko\": \"라이트 스카우트 드론 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи лёгких боевых дронов.\", \n    \"description_zh\": \"轻型侦察无人机设计蓝图。\", \n    \"descriptionID\": 281277, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Leichte Aufklärungsdrohnen\", \n    \"name_en-us\": \"Light Scout Drones\", \n    \"name_es\": \"Drones de reconocimiento ligeros\", \n    \"name_fr\": \"Drones de reconnaissance légers\", \n    \"name_it\": \"Light Scout Drones\", \n    \"name_ja\": \"ライトスカウトドローン\", \n    \"name_ko\": \"라이트 스카우트 드론\", \n    \"name_ru\": \"Лёгкие боевые дроны\", \n    \"name_zh\": \"轻型侦察无人机\", \n    \"nameID\": 281276, \n    \"parentGroupID\": 1530\n  }, \n  \"1532\": {\n    \"description_de\": \"Blueprints für mittelgroße Kundschafterdrohnen-Designs.\", \n    \"description_en-us\": \"Blueprints of medium scout drone designs.\", \n    \"description_es\": \"Planos de diseños de drones de reconocimiento medianos.\", \n    \"description_fr\": \"Plans de construction de modèles de drones de reconnaissance intermédiaires.\", \n    \"description_it\": \"Blueprints of medium scout drone designs.\", \n    \"description_ja\": \"ミディアムスカウトドローン設計図のブループリント。\", \n    \"description_ko\": \"미디움 스카우트 드론 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи средних боевых дронов.\", \n    \"description_zh\": \"中型侦察无人机设计蓝图。\", \n    \"descriptionID\": 281279, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Aufklärungsdrohnen\", \n    \"name_en-us\": \"Medium Scout Drones\", \n    \"name_es\": \"Drones de reconocimiento medianos\", \n    \"name_fr\": \"Drones de reconnaissance intermédiaires\", \n    \"name_it\": \"Medium Scout Drones\", \n    \"name_ja\": \"ミディアムスカウトドローン\", \n    \"name_ko\": \"미디움 스카우트 드론\", \n    \"name_ru\": \"Средние боевые дроны\", \n    \"name_zh\": \"中型侦察无人机\", \n    \"nameID\": 281278, \n    \"parentGroupID\": 1530\n  }, \n  \"1533\": {\n    \"description_de\": \"Blueprints für Wachdrohnen-Designs.\", \n    \"description_en-us\": \"Blueprints of sentry drone designs.\", \n    \"description_es\": \"Planos de diseños de drones centinela.\", \n    \"description_fr\": \"Plans de construction de modèles de drones sentinelles.\", \n    \"description_it\": \"Blueprints of sentry drone designs.\", \n    \"description_ja\": \"セントリードローン設計図のブループリント。\", \n    \"description_ko\": \"센트리 드론 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи стационарных боевых дронов.\", \n    \"description_zh\": \"岗哨无人机设计蓝图。\", \n    \"descriptionID\": 281281, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Wächterdrohnen\", \n    \"name_en-us\": \"Sentry Drones\", \n    \"name_es\": \"Drones centinela\", \n    \"name_fr\": \"Drones sentinelles\", \n    \"name_it\": \"Sentry Drones\", \n    \"name_ja\": \"セントリードローン\", \n    \"name_ko\": \"센트리 드론\", \n    \"name_ru\": \"Стационарные боевые дроны\", \n    \"name_zh\": \"岗哨无人机\", \n    \"nameID\": 281280, \n    \"parentGroupID\": 1530\n  }, \n  \"1534\": {\n    \"description_de\": \"Waffenbatterien\", \n    \"description_en-us\": \"Weapon Batteries\", \n    \"description_es\": \"Baterías de armas.\", \n    \"description_fr\": \"Batteries d'armes\", \n    \"description_it\": \"Weapon Batteries\", \n    \"description_ja\": \"兵器砲台\", \n    \"description_ko\": \"포탑\", \n    \"description_ru\": \"Оборонительные батареи\", \n    \"description_zh\": \"武器炮塔\", \n    \"descriptionID\": 281283, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Waffenbatterien\", \n    \"name_en-us\": \"Weapon Batteries\", \n    \"name_es\": \"Baterías de armas\", \n    \"name_fr\": \"Batteries d'arme\", \n    \"name_it\": \"Weapon Batteries\", \n    \"name_ja\": \"兵器砲台\", \n    \"name_ko\": \"포탑\", \n    \"name_ru\": \"Оборонительные батареи\", \n    \"name_zh\": \"武器炮塔\", \n    \"nameID\": 281282, \n    \"parentGroupID\": 1841\n  }, \n  \"1535\": {\n    \"description_de\": \"Schiffswartungseinrichtungen\", \n    \"description_en-us\": \"Ship Maintenance Arrays\", \n    \"description_es\": \"Dársenas de mantenimiento de naves.\", \n    \"description_fr\": \"Modules de maintenance de vaisseaux\", \n    \"description_it\": \"Ship Maintenance Arrays\", \n    \"description_ja\": \"船舶調整施設\", \n    \"description_ko\": \"함선 정비 시설\", \n    \"description_ru\": \"Ангары для кораблей\", \n    \"description_zh\": \"舰船维护阵列\", \n    \"descriptionID\": 281285, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schiffwartungsanlagen\", \n    \"name_en-us\": \"Ship Maintenance Arrays\", \n    \"name_es\": \"Dársenas de mantenimiento de naves\", \n    \"name_fr\": \"Installations pour la maintenance de vaisseau\", \n    \"name_it\": \"Ship Maintenance Arrays\", \n    \"name_ja\": \"船舶調整施設\", \n    \"name_ko\": \"함선 정비 시설\", \n    \"name_ru\": \"Ангарные блоки\", \n    \"name_zh\": \"舰船维护阵列\", \n    \"nameID\": 281284, \n    \"parentGroupID\": 1841\n  }, \n  \"1536\": {\n    \"description_de\": \"Blueprints for Armor Repairers\", \n    \"description_en-us\": \"Blueprints for Armor Repairers\", \n    \"description_es\": \"Planos de reparadores de blindaje.\", \n    \"description_fr\": \"Plans de construction de réparateurs de blindage\", \n    \"description_it\": \"Blueprints for Armor Repairers\", \n    \"description_ja\": \"アーマーリペアラのブループリント\", \n    \"description_ko\": \"장갑수리 장치 블루프린트\", \n    \"description_ru\": \"Чертежи систем ремонта брони\", \n    \"description_zh\": \"装甲维修器蓝图\", \n    \"descriptionID\": 281307, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Panzerungsreparatursysteme\", \n    \"name_en-us\": \"Armor Repairers\", \n    \"name_es\": \"Reparadores de blindaje\", \n    \"name_fr\": \"Réparateurs de blindage\", \n    \"name_it\": \"Armor Repairers\", \n    \"name_ja\": \"アーマーリペアラ\", \n    \"name_ko\": \"장갑수리 장치\", \n    \"name_ru\": \"Системы ремонта брони\", \n    \"name_zh\": \"装甲维修器\", \n    \"nameID\": 281306, \n    \"parentGroupID\": 214\n  }, \n  \"1537\": {\n    \"description_de\": \"Blueprints for Hull Repairers\", \n    \"description_en-us\": \"Blueprints for Hull Repairers\", \n    \"description_es\": \"Planos de reparadores de casco.\", \n    \"description_fr\": \"Plans de construction de réparateurs de coque\", \n    \"description_it\": \"Blueprints for Hull Repairers\", \n    \"description_ja\": \"船体リペアラのブループリント\", \n    \"description_ko\": \"선체수리 장치 블루프린트\", \n    \"description_ru\": \"Чертежи систем ремонта корпуса\", \n    \"description_zh\": \"结构维修器蓝图\", \n    \"descriptionID\": 281309, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Rumpfreparatursysteme\", \n    \"name_en-us\": \"Hull Repairers\", \n    \"name_es\": \"Reparadores de casco\", \n    \"name_fr\": \"Réparateurs de coque\", \n    \"name_it\": \"Hull Repairers\", \n    \"name_ja\": \"船体リペアラ\", \n    \"name_ko\": \"선체수리 장치\", \n    \"name_ru\": \"Установки ремонта корпуса\", \n    \"name_zh\": \"结构维修器\", \n    \"nameID\": 281308, \n    \"parentGroupID\": 214\n  }, \n  \"1538\": {\n    \"description_de\": \"Blueprints for Remote Hull Repairers\", \n    \"description_en-us\": \"Blueprints for Remote Hull Repairers\", \n    \"description_es\": \"Planos de reparadores de casco remotos.\", \n    \"description_fr\": \"Plans de construction de réparateurs de coque à distance\", \n    \"description_it\": \"Blueprints for Remote Hull Repairers\", \n    \"description_ja\": \"リモート船体リペアラのブループリント\", \n    \"description_ko\": \"원격 선체수리 장치 블루프린트\", \n    \"description_ru\": \"Чертежи систем дистанционного ремонта корпуса\", \n    \"description_zh\": \"远程结构维修器蓝图\", \n    \"descriptionID\": 281311, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Rumpf-Fernreparatursysteme\", \n    \"name_en-us\": \"Remote Hull Repairers\", \n    \"name_es\": \"Reparadores de casco remotos\", \n    \"name_fr\": \"Réparateurs de coque à distance\", \n    \"name_it\": \"Remote Hull Repairers\", \n    \"name_ja\": \"リモート船体リペアラ\", \n    \"name_ko\": \"원격 선체수리 장치\", \n    \"name_ru\": \"Установки дистанционного ремонта корпуса\", \n    \"name_zh\": \"远程结构维修器\", \n    \"nameID\": 281310, \n    \"parentGroupID\": 214\n  }, \n  \"1539\": {\n    \"description_de\": \"Blueprints for Remote Armor Repairers\", \n    \"description_en-us\": \"Blueprints for Remote Armor Repairers\", \n    \"description_es\": \"Planos de reparadores de blindaje remotos.\", \n    \"description_fr\": \"Plans de construction de réparateurs de blindage à distance\", \n    \"description_it\": \"Blueprints for Remote Armor Repairers\", \n    \"description_ja\": \"リモートアーマーリペアラのブループリント\", \n    \"description_ko\": \"원격 장갑수리 장치 블루프린트\", \n    \"description_ru\": \"Чертежи систем дистанционного ремонта брони\", \n    \"description_zh\": \"远程装甲维修器蓝图\", \n    \"descriptionID\": 281313, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Panzerungs-Fernreparatursysteme\", \n    \"name_en-us\": \"Remote Armor Repairers\", \n    \"name_es\": \"Reparadores de blindaje remotos\", \n    \"name_fr\": \"Réparateurs de blindage à distance\", \n    \"name_it\": \"Remote Armor Repairers\", \n    \"name_ja\": \"リモートアーマーリペアラ\", \n    \"name_ko\": \"원격 장갑수리 장치\", \n    \"name_ru\": \"Установки дистанционного ремонта брони\", \n    \"name_zh\": \"远程装甲维修器\", \n    \"nameID\": 281312, \n    \"parentGroupID\": 214\n  }, \n  \"1540\": {\n    \"description_de\": \"Blueprints für Panzerungsverstärker\", \n    \"description_en-us\": \"Blueprints for Armor Hardeners\", \n    \"description_es\": \"Planos de endurecedores de blindaje.\", \n    \"description_fr\": \"Plans de construction de renforcements de blindage\", \n    \"description_it\": \"Blueprints for Armor Hardeners\", \n    \"description_ja\": \"アーマー強化のブループリント\", \n    \"description_ko\": \"장갑 강화장치 블루프린트\", \n    \"description_ru\": \"Чертежи активной брони.\", \n    \"description_zh\": \"装甲增强器蓝图\", \n    \"descriptionID\": 281315, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Panzerungshärter\", \n    \"name_en-us\": \"Armor Hardeners\", \n    \"name_es\": \"Endurecedores de blindaje\", \n    \"name_fr\": \"Renforcements de blindage\", \n    \"name_it\": \"Temprature corazza\", \n    \"name_ja\": \"アーマー強化\", \n    \"name_ko\": \"장갑 강화장치\", \n    \"name_ru\": \"Модули укрепления брони\", \n    \"name_zh\": \"装甲增强器\", \n    \"nameID\": 281314, \n    \"parentGroupID\": 214\n  }, \n  \"1541\": {\n    \"description_de\": \"Blueprints für Panzerplatten\", \n    \"description_en-us\": \"Blueprints for Armor Plates\", \n    \"description_es\": \"Planos de placas de blindaje.\", \n    \"description_fr\": \"Plans de construction de revêtement de blindage\", \n    \"description_it\": \"Blueprints for Armor Plates\", \n    \"description_ja\": \"アーマープレートのブループリント\", \n    \"description_ko\": \"장갑 플레이트 블루프린트\", \n    \"description_ru\": \"Чертежи бронеплит\", \n    \"description_zh\": \"装甲附甲板蓝图\", \n    \"descriptionID\": 281317, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Panzerplatten\", \n    \"name_en-us\": \"Armor Plates\", \n    \"name_es\": \"Placas de blindaje\", \n    \"name_fr\": \"Revêtement de blindage\", \n    \"name_it\": \"Armor Plates\", \n    \"name_ja\": \"アーマープレート\", \n    \"name_ko\": \"장갑 플레이팅\", \n    \"name_ru\": \"Бронеплиты\", \n    \"name_zh\": \"装甲附甲板\", \n    \"nameID\": 281316, \n    \"parentGroupID\": 214\n  }, \n  \"1542\": {\n    \"description_de\": \"Blueprints für Schadensregulierer\", \n    \"description_en-us\": \"Blueprints for Damage Controls\", \n    \"description_es\": \"Planos de controles de daños.\", \n    \"description_fr\": \"Plans de construction de contrôles des dégâts\", \n    \"description_it\": \"Blueprints for Damage Controls\", \n    \"description_ja\": \"ダメージ制御のブループリント\", \n    \"description_ko\": \"데미지 컨트롤 블루프린트\", \n    \"description_ru\": \"Чертежи модулей боевой живучести\", \n    \"description_zh\": \"损伤控制蓝图\", \n    \"descriptionID\": 281319, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schadensregulierer\", \n    \"name_en-us\": \"Damage Controls\", \n    \"name_es\": \"Controles de daños\", \n    \"name_fr\": \"Contrôles des dégâts\", \n    \"name_it\": \"Damage Controls\", \n    \"name_ja\": \"ダメージ制御\", \n    \"name_ko\": \"데미지 컨트롤\", \n    \"name_ru\": \"Модули боевой живучести\", \n    \"name_zh\": \"损伤控制\", \n    \"nameID\": 281318, \n    \"parentGroupID\": 214\n  }, \n  \"1543\": {\n    \"description_de\": \"Blaupausen für spannungsunterstützte Panzerungsmembranen\", \n    \"description_en-us\": \"Blueprints for Energized Armor Membranes\", \n    \"description_es\": \"Planos de membranas de blindaje energizadas.\", \n    \"description_fr\": \"Plans de construction Membranes de blindage énergétiques\", \n    \"description_it\": \"Blueprints for Energized Armor Membranes\", \n    \"description_ja\": \"電磁加工アーマー装甲の設計図\", \n    \"description_ko\": \"장갑 에너지 멤브레인 블루프린트\", \n    \"description_ru\": \"Чертежи для заряжаемых мембран брони\", \n    \"description_zh\": \"电压装甲薄膜的蓝图\", \n    \"descriptionID\": 281321, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Spannungsunterstützte Panzerungsmembranen\", \n    \"name_en-us\": \"Energized Armor Membranes\", \n    \"name_es\": \"Membranas de blindaje energizadas\", \n    \"name_fr\": \"Membranes de blindage énergétiques\", \n    \"name_it\": \"Energized Armor Membranes\", \n    \"name_ja\": \"電磁加工アーマー装甲\", \n    \"name_ko\": \"장갑 에너지 멤브레인\", \n    \"name_ru\": \"Заряжаемые мембраны брони\", \n    \"name_zh\": \"电压装甲薄膜\", \n    \"nameID\": 281320, \n    \"parentGroupID\": 214\n  }, \n  \"1544\": {\n    \"description_de\": \"Blaupausen für Panzerungsbeschichtungen\", \n    \"description_en-us\": \"Blueprints for Armor Coatings\", \n    \"description_es\": \"Planos de recubrimientos de blindaje.\", \n    \"description_fr\": \"Plans de construction de surcouches de blindage\", \n    \"description_it\": \"Blueprints for Armor Coatings\", \n    \"description_ja\": \"アーマーコーティングの設計図\", \n    \"description_ko\": \"장갑 코팅 블루프린트\", \n    \"description_ru\": \"Чертежи для покрытий брони\", \n    \"description_zh\": \"装甲涂层蓝图\", \n    \"descriptionID\": 281323, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Panzerungsbeschichtungen\", \n    \"name_en-us\": \"Armor Coatings\", \n    \"name_es\": \"Recubrimientos de blindaje\", \n    \"name_fr\": \"Surcouches de blindage\", \n    \"name_it\": \"Armor Coatings\", \n    \"name_ja\": \"アーマーコーティング\", \n    \"name_ko\": \"장갑 코팅\", \n    \"name_ru\": \"Покрытия брони\", \n    \"name_zh\": \"装甲涂层\", \n    \"nameID\": 281322, \n    \"parentGroupID\": 214\n  }, \n  \"1545\": {\n    \"description_de\": \"Schilde\", \n    \"description_en-us\": \"Shield\", \n    \"description_es\": \"Escudo\", \n    \"description_fr\": \"Bouclier\", \n    \"description_it\": \"Shield\", \n    \"description_ja\": \"シールド\", \n    \"description_ko\": \"실드\", \n    \"description_ru\": \"Щиты\", \n    \"description_zh\": \"护盾\", \n    \"descriptionID\": 629999, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Schilde\", \n    \"name_en-us\": \"Shield\", \n    \"name_es\": \"Escudo\", \n    \"name_fr\": \"Bouclier\", \n    \"name_it\": \"Shield\", \n    \"name_ja\": \"シールド\", \n    \"name_ko\": \"실드\", \n    \"name_ru\": \"Щиты\", \n    \"name_zh\": \"护盾\", \n    \"nameID\": 281324, \n    \"parentGroupID\": 209\n  }, \n  \"1546\": {\n    \"description_de\": \"Ausrüstung für Ingenieurwesen\", \n    \"description_en-us\": \"Engineering Equipment\", \n    \"description_es\": \"Equipo de ingeniería\", \n    \"description_fr\": \"Équipement d'ingénierie\", \n    \"description_it\": \"Engineering Equipment\", \n    \"description_ja\": \"エンジニアリング系装備\", \n    \"description_ko\": \"엔지니어링 장비\", \n    \"description_ru\": \"Инженерное оборудование\", \n    \"description_zh\": \"工程装备\", \n    \"descriptionID\": 630008, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Ausrüstung für Ingenieurwesen\", \n    \"name_en-us\": \"Engineering Equipment\", \n    \"name_es\": \"Equipo de ingeniería\", \n    \"name_fr\": \"Équipement d'ingénierie\", \n    \"name_it\": \"Engineering Equipment\", \n    \"name_ja\": \"エンジニアリング系装備\", \n    \"name_ko\": \"엔지니어링 장비\", \n    \"name_ru\": \"Инженерное оборудование\", \n    \"name_zh\": \"工程装备\", \n    \"nameID\": 281325, \n    \"parentGroupID\": 209\n  }, \n  \"1547\": {\n    \"description_de\": \"Schildflussspulen\", \n    \"description_en-us\": \"Shield Flux Coils\", \n    \"description_es\": \"Bobinas de flujo de escudo\", \n    \"description_fr\": \"Bobines de flux de bouclier\", \n    \"description_it\": \"Shield Flux Coils\", \n    \"description_ja\": \"シールドフラックスコイル\", \n    \"description_ko\": \"실드 플럭스 코일\", \n    \"description_ru\": \"Силовые петли щитов\", \n    \"description_zh\": \"护盾通量线圈\", \n    \"descriptionID\": 630006, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schildflussspulen\", \n    \"name_en-us\": \"Shield Flux Coils\", \n    \"name_es\": \"Bobinas de flujo de escudo\", \n    \"name_fr\": \"Bobines de flux de bouclier\", \n    \"name_it\": \"Shield Flux Coils\", \n    \"name_ja\": \"シールドフラックスコイル\", \n    \"name_ko\": \"실드 플럭스 코일\", \n    \"name_ru\": \"Силовые петли щитов\", \n    \"name_zh\": \"护盾通量线圈\", \n    \"nameID\": 281326, \n    \"parentGroupID\": 1545\n  }, \n  \"1548\": {\n    \"description_de\": \"Schildhärter\", \n    \"description_en-us\": \"Shield Hardeners\", \n    \"description_es\": \"Endurecedores de escudo\", \n    \"description_fr\": \"Renforcements de bouclier\", \n    \"description_it\": \"Tempratura scudo\", \n    \"description_ja\": \"シールドハードナー\", \n    \"description_ko\": \"실드 강화장치\", \n    \"description_ru\": \"Активные модуляторы щитов\", \n    \"description_zh\": \"护盾增强系统\", \n    \"descriptionID\": 630007, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schildhärter\", \n    \"name_en-us\": \"Shield Hardeners\", \n    \"name_es\": \"Endurecedores de escudo\", \n    \"name_fr\": \"Renforcements de bouclier\", \n    \"name_it\": \"Tempratura scudo\", \n    \"name_ja\": \"シールドハードナー\", \n    \"name_ko\": \"실드 강화장치\", \n    \"name_ru\": \"Активные модуляторы щитов\", \n    \"name_zh\": \"护盾增强系统\", \n    \"nameID\": 281327, \n    \"parentGroupID\": 1545\n  }, \n  \"1549\": {\n    \"description_de\": \"Schilderweiterungen\", \n    \"description_en-us\": \"Shield Extenders\", \n    \"description_es\": \"Extensores de escudo\", \n    \"description_fr\": \"Extenseurs de bouclier\", \n    \"description_it\": \"Estensori scudo\", \n    \"description_ja\": \"シールドエクステンダー\", \n    \"description_ko\": \"실드 확장장치\", \n    \"description_ru\": \"Дополнительные источники щитов\", \n    \"description_zh\": \"护盾扩展装置\", \n    \"descriptionID\": 630001, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schilderweiterungen\", \n    \"name_en-us\": \"Shield Extenders\", \n    \"name_es\": \"Extensores de escudo\", \n    \"name_fr\": \"Extenseurs de bouclier\", \n    \"name_it\": \"Estensori scudo\", \n    \"name_ja\": \"シールドエクステンダー\", \n    \"name_ko\": \"실드 확장장치\", \n    \"name_ru\": \"Дополнительные источники щитов\", \n    \"name_zh\": \"护盾扩展装置\", \n    \"nameID\": 281328, \n    \"parentGroupID\": 1545\n  }, \n  \"1550\": {\n    \"description_de\": \"Schildstromrelais\", \n    \"description_en-us\": \"Shield Power Relays\", \n    \"description_es\": \"Relés de potencia de escudo\", \n    \"description_fr\": \"Relais d’alimentation de bouclier\", \n    \"description_it\": \"Shield Power Relays\", \n    \"description_ja\": \"シールドパワーリレー\", \n    \"description_ko\": \"실드 릴레이\", \n    \"description_ru\": \"Силовые реле щитов\", \n    \"description_zh\": \"护盾能源继电器\", \n    \"descriptionID\": 630000, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schildstromrelais\", \n    \"name_en-us\": \"Shield Power Relays\", \n    \"name_es\": \"Relés de potencia de escudo\", \n    \"name_fr\": \"Relais d’alimentation de bouclier\", \n    \"name_it\": \"Shield Power Relays\", \n    \"name_ja\": \"シールドパワーリレー\", \n    \"name_ko\": \"실드 릴레이\", \n    \"name_ru\": \"Силовые реле щитов\", \n    \"name_zh\": \"护盾能源继电器\", \n    \"nameID\": 281329, \n    \"parentGroupID\": 1545\n  }, \n  \"1551\": {\n    \"description_de\": \"Schildladegeräte\", \n    \"description_en-us\": \"Shield Rechargers\", \n    \"description_es\": \"Cargadores de escudo\", \n    \"description_fr\": \"Rechargeurs de bouclier\", \n    \"description_it\": \"Shield Rechargers\", \n    \"description_ja\": \"シールドリチャージャー\", \n    \"description_ko\": \"실드 회복장치\", \n    \"description_ru\": \"Регенераторы щитов\", \n    \"description_zh\": \"护盾回充器\", \n    \"descriptionID\": 629998, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schildladegeräte\", \n    \"name_en-us\": \"Shield Rechargers\", \n    \"name_es\": \"Cargadores de escudo\", \n    \"name_fr\": \"Rechargeurs de bouclier\", \n    \"name_it\": \"Shield Rechargers\", \n    \"name_ja\": \"シールドリチャージャー\", \n    \"name_ko\": \"실드 회복장치\", \n    \"name_ru\": \"Регенераторы щитов\", \n    \"name_zh\": \"护盾回充器\", \n    \"nameID\": 281330, \n    \"parentGroupID\": 1545\n  }, \n  \"1552\": {\n    \"description_de\": \"Schildbooster\", \n    \"description_en-us\": \"Shield Boosters\", \n    \"description_es\": \"Potenciadores de escudo\", \n    \"description_fr\": \"Boosters de bouclier\", \n    \"description_it\": \"Shield Boosters\", \n    \"description_ja\": \"シールドブースター\", \n    \"description_ko\": \"실드 부스터\", \n    \"description_ru\": \"Установки накачки щитов\", \n    \"description_zh\": \"护盾回充增量器\", \n    \"descriptionID\": 629997, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schildbooster\", \n    \"name_en-us\": \"Shield Boosters\", \n    \"name_es\": \"Potenciadores de escudo\", \n    \"name_fr\": \"Boosters de bouclier\", \n    \"name_it\": \"Shield Boosters\", \n    \"name_ja\": \"シールドブースター\", \n    \"name_ko\": \"실드 부스터\", \n    \"name_ru\": \"Установки накачки щитов\", \n    \"name_zh\": \"护盾回充增量器\", \n    \"nameID\": 281331, \n    \"parentGroupID\": 1545\n  }, \n  \"1553\": {\n    \"description_de\": \"Schildfernbooster\", \n    \"description_en-us\": \"Remote Shield Boosters\", \n    \"description_es\": \"Potenciadores de escudo remotos\", \n    \"description_fr\": \"Boosters de bouclier à distance\", \n    \"description_it\": \"Remote Shield Boosters\", \n    \"description_ja\": \"リモートシールドブースター\", \n    \"description_ko\": \"원격 실드 부스터\", \n    \"description_ru\": \"Установки дистанционной накачки щитов\", \n    \"description_zh\": \"远程护盾回充增量器\", \n    \"descriptionID\": 629996, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schildfernbooster\", \n    \"name_en-us\": \"Remote Shield Boosters\", \n    \"name_es\": \"Potenciadores de escudo remotos\", \n    \"name_fr\": \"Boosters de bouclier à distance\", \n    \"name_it\": \"Remote Shield Boosters\", \n    \"name_ja\": \"リモートシールドブースター\", \n    \"name_ko\": \"원격 실드 부스터\", \n    \"name_ru\": \"Установки дистанционной накачки щитов\", \n    \"name_zh\": \"远程护盾回充增量器\", \n    \"nameID\": 281332, \n    \"parentGroupID\": 1545\n  }, \n  \"1554\": {\n    \"description_de\": \"Schildresistenzverstärker\", \n    \"description_en-us\": \"Shield Resistance Amplifiers\", \n    \"description_es\": \"Amplificadores de resistencia de escudo\", \n    \"description_fr\": \"Amplificateurs de résistance de bouclier\", \n    \"description_it\": \"Shield Resistance Amplifiers\", \n    \"description_ja\": \"シールドレジスタンス増幅器\", \n    \"description_ko\": \"실드 저항력 증폭기\", \n    \"description_ru\": \"Пассивные модуляторы щитов\", \n    \"description_zh\": \"护盾抗性增效器\", \n    \"descriptionID\": 630003, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schildresistenzverstärker\", \n    \"name_en-us\": \"Shield Resistance Amplifiers\", \n    \"name_es\": \"Amplificadores de resistencia de escudo\", \n    \"name_fr\": \"Amplificateurs de résistance de bouclier\", \n    \"name_it\": \"Shield Resistance Amplifiers\", \n    \"name_ja\": \"シールドレジスタンス増幅器\", \n    \"name_ko\": \"실드 저항력 증폭기\", \n    \"name_ru\": \"Пассивные модуляторы щитов\", \n    \"name_zh\": \"护盾抗性增效器\", \n    \"nameID\": 281333, \n    \"parentGroupID\": 1545\n  }, \n  \"1555\": {\n    \"description_de\": \"Energiespeicher-Ladegeräte\", \n    \"description_en-us\": \"Capacitor Rechargers\", \n    \"description_es\": \"Cargadores del condensador.\", \n    \"description_fr\": \"Rechargeurs de capaciteur\", \n    \"description_it\": \"Capacitor Rechargers\", \n    \"description_ja\": \"キャパシタリチャージャー\", \n    \"description_ko\": \"캐패시터 충전기\", \n    \"description_ru\": \"Ускорители подзарядки накопителя\", \n    \"description_zh\": \"电容回充器\", \n    \"descriptionID\": 281363, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energiespeicher-Ladegeräte\", \n    \"name_en-us\": \"Capacitor Rechargers\", \n    \"name_es\": \"Cargadores del condensador\", \n    \"name_fr\": \"Rechargeurs de capaciteur\", \n    \"name_it\": \"Capacitor Rechargers\", \n    \"name_ja\": \"キャパシタリチャージャー\", \n    \"name_ko\": \"캐패시터 충전기\", \n    \"name_ru\": \"Системы пассивной подзарядки накопителя\", \n    \"name_zh\": \"电容回充器\", \n    \"nameID\": 281362, \n    \"parentGroupID\": 1546\n  }, \n  \"1556\": {\n    \"description_de\": \"Energiespeicher-Flux-Spulen\", \n    \"description_en-us\": \"Capacitor Flux Coils\", \n    \"description_es\": \"Bobinas de flujo de condensador.\", \n    \"description_fr\": \"Bobines de flux pour capaciteur\", \n    \"description_it\": \"Capacitor Flux Coils\", \n    \"description_ja\": \"キャパシタフラックスコイル\", \n    \"description_ko\": \"캐패시터 플럭스 코일\", \n    \"description_ru\": \"Системы форсированной подзарядки накопителя\", \n    \"description_zh\": \"电容通量线圈\", \n    \"descriptionID\": 281365, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energiespeicher-Flussspulen\", \n    \"name_en-us\": \"Capacitor Flux Coils\", \n    \"name_es\": \"Bobinas de flujo de condensador\", \n    \"name_fr\": \"Bobines de flux pour capaciteur\", \n    \"name_it\": \"Capacitor Flux Coils\", \n    \"name_ja\": \"キャパシタフラックスコイル\", \n    \"name_ko\": \"캐패시터 플럭스 코일\", \n    \"name_ru\": \"Силовые петли накопителя\", \n    \"name_zh\": \"电容通量线圈\", \n    \"nameID\": 281364, \n    \"parentGroupID\": 1546\n  }, \n  \"1557\": {\n    \"description_de\": \"Energiespeicher-Stromrelais\", \n    \"description_en-us\": \"Capacitor Power Relays\", \n    \"description_es\": \"Relés de potencia de condensador.\", \n    \"description_fr\": \"Relais de puissance pour capaciteur\", \n    \"description_it\": \"Capacitor Power Relays\", \n    \"description_ja\": \"キャパシタパワーリレイ\", \n    \"description_ko\": \"캐패시터 릴레이\", \n    \"description_ru\": \"Модули передачи мощности на накопитель\", \n    \"description_zh\": \"电容能源继电器\", \n    \"descriptionID\": 281367, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energiespeicher-Stromrelais\", \n    \"name_en-us\": \"Capacitor Power Relays\", \n    \"name_es\": \"Relés de potencia de condensador\", \n    \"name_fr\": \"Relais de puissance pour capaciteur\", \n    \"name_it\": \"Capacitor Power Relays\", \n    \"name_ja\": \"キャパシタパワーリレイ\", \n    \"name_ko\": \"캐패시터 릴레이\", \n    \"name_ru\": \"Силовые реле накопителя\", \n    \"name_zh\": \"电容能源继电器\", \n    \"nameID\": 281366, \n    \"parentGroupID\": 1546\n  }, \n  \"1558\": {\n    \"description_de\": \"Energiespeicher-Batterien\", \n    \"description_en-us\": \"Capacitor Batteries\", \n    \"description_es\": \"Baterías de condensador.\", \n    \"description_fr\": \"Batteries de capaciteur\", \n    \"description_it\": \"Capacitor Batteries\", \n    \"description_ja\": \"キャパシタバッテリー\", \n    \"description_ko\": \"캐패시터 배터리\", \n    \"description_ru\": \"Дополнительные батареи накопителя\", \n    \"description_zh\": \"电容电池\", \n    \"descriptionID\": 281369, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energiespeicherbatterien\", \n    \"name_en-us\": \"Capacitor Batteries\", \n    \"name_es\": \"Baterías de condensador\", \n    \"name_fr\": \"Batteries de capaciteur\", \n    \"name_it\": \"Capacitor Batteries\", \n    \"name_ja\": \"キャパシタバッテリー\", \n    \"name_ko\": \"캐패시터 배터리\", \n    \"name_ru\": \"Дополнительные батареи накопителя\", \n    \"name_zh\": \"电容电池\", \n    \"nameID\": 281368, \n    \"parentGroupID\": 1546\n  }, \n  \"1559\": {\n    \"description_de\": \"Energiehilfssteuerung\", \n    \"description_en-us\": \"Auxiliary Power Controls\", \n    \"description_es\": \"Controles de potencia auxiliar.\", \n    \"description_fr\": \"Réglages de l'alimentation auxiliaire\", \n    \"description_it\": \"Auxiliary Power Controls\", \n    \"description_ja\": \"補助パワー制御\", \n    \"description_ko\": \"보조 파워코어\", \n    \"description_ru\": \"Вспомогательные реакторы\", \n    \"description_zh\": \"辅助能量控制\", \n    \"descriptionID\": 281371, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energiehilfssteuerung\", \n    \"name_en-us\": \"Auxiliary Power Controls\", \n    \"name_es\": \"Controles de potencia auxiliar\", \n    \"name_fr\": \"Réglages de l'alimentation auxiliaire\", \n    \"name_it\": \"Auxiliary Power Controls\", \n    \"name_ja\": \"補助パワー制御\", \n    \"name_ko\": \"보조 파워코어\", \n    \"name_ru\": \"Вспомогательные реакторы\", \n    \"name_zh\": \"辅助能量控制\", \n    \"nameID\": 281370, \n    \"parentGroupID\": 1546\n  }, \n  \"1560\": {\n    \"description_de\": \"Systeme zur Leistungsdiagnose\", \n    \"description_en-us\": \"Power Diagnostic Systems\", \n    \"description_es\": \"Sistemas de diagnóstico de energía.\", \n    \"description_fr\": \"Systèmes de diagnostic de puissance\", \n    \"description_it\": \"Power Diagnostic Systems\", \n    \"description_ja\": \"パワー計測システム\", \n    \"description_ko\": \"전력 진단 시스템\", \n    \"description_ru\": \"Системы диагностики энергосети\", \n    \"description_zh\": \"能源诊断系统\", \n    \"descriptionID\": 281373, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Leistungsdiagnosesysteme\", \n    \"name_en-us\": \"Power Diagnostic Systems\", \n    \"name_es\": \"Sistemas de diagnóstico de energía\", \n    \"name_fr\": \"Systèmes de diagnostic de puissance\", \n    \"name_it\": \"Power Diagnostic Systems\", \n    \"name_ja\": \"パワー計測システム\", \n    \"name_ko\": \"전력 진단 시스템\", \n    \"name_ru\": \"Системы диагностики энергоснабжения\", \n    \"name_zh\": \"能源诊断系统\", \n    \"nameID\": 281372, \n    \"parentGroupID\": 1546\n  }, \n  \"1561\": {\n    \"description_de\": \"Reaktorkontrolleinheiten\", \n    \"description_en-us\": \"Reactor Control Units\", \n    \"description_es\": \"Unidades de control de reactor.\", \n    \"description_fr\": \"Unité de contrôle du réacteur\", \n    \"description_it\": \"Reactor Control Units\", \n    \"description_ja\": \"リアクター制御装置\", \n    \"description_ko\": \"반응로 제어유닛\", \n    \"description_ru\": \"Системы управления реактором\", \n    \"description_zh\": \"反应堆控制单元\", \n    \"descriptionID\": 281375, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Reaktorkontrolleinheiten\", \n    \"name_en-us\": \"Reactor Control Units\", \n    \"name_es\": \"Unidades de control de reactor\", \n    \"name_fr\": \"Unité de contrôle du réacteur\", \n    \"name_it\": \"Reactor Control Units\", \n    \"name_ja\": \"リアクター制御装置\", \n    \"name_ko\": \"반응로 제어유닛\", \n    \"name_ru\": \"Системы управления реактором\", \n    \"name_zh\": \"反应堆控制单元\", \n    \"nameID\": 281374, \n    \"parentGroupID\": 1546\n  }, \n  \"1562\": {\n    \"description_de\": \"Remote Capacitor Transmitters\", \n    \"description_en-us\": \"Remote Capacitor Transmitters\", \n    \"description_es\": \"Transmisores de condensador remotos.\", \n    \"description_fr\": \"Transmetteurs de capaciteur à distance\", \n    \"description_it\": \"Remote Capacitor Transmitters\", \n    \"description_ja\": \"リモートキャパシタトランスミッター\", \n    \"description_ko\": \"원격 캐패시터 전송기\", \n    \"description_ru\": \"Системы передачи энергии накопителя\", \n    \"description_zh\": \"远程电容传输装置\", \n    \"descriptionID\": 281377, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energiespeicher-Ferntransmitter\", \n    \"name_en-us\": \"Remote Capacitor Transmitters\", \n    \"name_es\": \"Transmisores de condensador remotos\", \n    \"name_fr\": \"Transmetteurs de capaciteur à distance\", \n    \"name_it\": \"Remote Capacitor Transmitters\", \n    \"name_ja\": \"リモートキャパシタトランスミッター\", \n    \"name_ko\": \"원격 캐패시터 전송기\", \n    \"name_ru\": \"Установки дистанционного энергоснабжения\", \n    \"name_zh\": \"远程电容传输装置\", \n    \"nameID\": 281376, \n    \"parentGroupID\": 1546\n  }, \n  \"1563\": {\n    \"description_de\": \"Energiespeicher-Verstärker\", \n    \"description_en-us\": \"Capacitor Boosters\", \n    \"description_es\": \"Potenciadores de condensador.\", \n    \"description_fr\": \"Boosters de capaciteur\", \n    \"description_it\": \"Capacitor Boosters\", \n    \"description_ja\": \"キャパシタブースター\", \n    \"description_ko\": \"캐패시터 부스터\", \n    \"description_ru\": \"Инжекторы\", \n    \"description_zh\": \"电容注电器\", \n    \"descriptionID\": 281379, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energiespeicherbooster\", \n    \"name_en-us\": \"Capacitor Boosters\", \n    \"name_es\": \"Potenciadores de condensador\", \n    \"name_fr\": \"Boosters de capaciteur\", \n    \"name_it\": \"Capacitor Boosters\", \n    \"name_ja\": \"キャパシタブースター\", \n    \"name_ko\": \"캐패시터 부스터\", \n    \"name_ru\": \"Системы подачи зарядов накопителя\", \n    \"name_zh\": \"电容注电器\", \n    \"nameID\": 281378, \n    \"parentGroupID\": 1546\n  }, \n  \"1564\": {\n    \"description_de\": \"Energie-Nosferatu\", \n    \"description_en-us\": \"Energy Nosferatu\", \n    \"description_es\": \"Nosferatu de energía.\", \n    \"description_fr\": \"Nosferatu à énergie\", \n    \"description_it\": \"Energy Nosferatu\", \n    \"description_ja\": \"エネルギーノスフェラトゥ\", \n    \"description_ko\": \"에너지 노스페라투\", \n    \"description_ru\": \"Устройства паразитной подзарядки\", \n    \"description_zh\": \"掠能器\", \n    \"descriptionID\": 281381, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energie-Nosferatu\", \n    \"name_en-us\": \"Energy Nosferatu\", \n    \"name_es\": \"Nosferatu de energía\", \n    \"name_fr\": \"Nosferatu à énergie\", \n    \"name_it\": \"Energy Nosferatu\", \n    \"name_ja\": \"エネルギーノスフェラトゥ\", \n    \"name_ko\": \"에너지 노스페라투\", \n    \"name_ru\": \"Устройства паразитной подзарядки\", \n    \"name_zh\": \"掠能器\", \n    \"nameID\": 281380, \n    \"parentGroupID\": 1546\n  }, \n  \"1565\": {\n    \"description_de\": \"Energieneutralisierer\", \n    \"description_en-us\": \"Energy Neutralizers\", \n    \"description_es\": \"Neutralizadores energéticos.\", \n    \"description_fr\": \"Neutraliseurs d'énergie\", \n    \"description_it\": \"Energy Neutralizers\", \n    \"description_ja\": \"エネルギーニュートライザー\", \n    \"description_ko\": \"에너지 뉴트럴라이저\", \n    \"description_ru\": \"Дистанционные нейтрализаторы заряда\", \n    \"description_zh\": \"能量中和器\", \n    \"descriptionID\": 281385, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energieneutralisierer\", \n    \"name_en-us\": \"Energy Neutralizers\", \n    \"name_es\": \"Neutralizadores energéticos\", \n    \"name_fr\": \"Neutraliseurs d'énergie\", \n    \"name_it\": \"Energy Neutralizers\", \n    \"name_ja\": \"エネルギーニュートライザー\", \n    \"name_ko\": \"에너지 뉴트럴라이저\", \n    \"name_ru\": \"Дистанционные нейтрализаторы заряда\", \n    \"name_zh\": \"能量中和器\", \n    \"nameID\": 281384, \n    \"parentGroupID\": 1546\n  }, \n  \"1566\": {\n    \"description_de\": \"Elektronische Kriegsführung\", \n    \"description_en-us\": \"Electronic Warfare\", \n    \"description_es\": \"Guerra electrónica.\", \n    \"description_fr\": \"Guerre électronique\", \n    \"description_it\": \"Electronic Warfare\", \n    \"description_ja\": \"電子戦\", \n    \"description_ko\": \"전자전 장비\", \n    \"description_ru\": \"Радиоэлектронная борьба\", \n    \"description_zh\": \"电子战\", \n    \"descriptionID\": 281387, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Elektronische Kriegsführung\", \n    \"name_en-us\": \"Electronic Warfare\", \n    \"name_es\": \"Guerra electrónica\", \n    \"name_fr\": \"Guerre électronique\", \n    \"name_it\": \"Electronic Warfare\", \n    \"name_ja\": \"電子戦\", \n    \"name_ko\": \"전자전 장비\", \n    \"name_ru\": \"Системы РЭБ\", \n    \"name_zh\": \"电子战\", \n    \"nameID\": 281386, \n    \"parentGroupID\": 209\n  }, \n  \"1567\": {\n    \"description_de\": \"Elektronische Gegenmaßnahmen\", \n    \"description_en-us\": \"Electronic Counter Measures\", \n    \"description_es\": \"Contramedidas electrónicas.\", \n    \"description_fr\": \"Contre-mesures électroniques\", \n    \"description_it\": \"Electronic Counter Measures\", \n    \"description_ja\": \"エレクトロニクス妨害機器\", \n    \"description_ko\": \"ECM\", \n    \"description_ru\": \"Системы РЭБ\", \n    \"description_zh\": \"ECM\", \n    \"descriptionID\": 281389, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Elektronische Gegenmaßnahmen\", \n    \"name_en-us\": \"Electronic Counter Measures\", \n    \"name_es\": \"Contramedidas electrónicas\", \n    \"name_fr\": \"Contre-mesures électroniques\", \n    \"name_it\": \"Electronic Counter Measures\", \n    \"name_ja\": \"エレクトロニクス妨害機器\", \n    \"name_ko\": \"ECM\", \n    \"name_ru\": \"Модули глушения захвата целей\", \n    \"name_zh\": \"ECM\", \n    \"nameID\": 281388, \n    \"parentGroupID\": 1566\n  }, \n  \"1568\": {\n    \"description_de\": \"ECM Burst\", \n    \"description_en-us\": \"ECM Burst\", \n    \"description_es\": \"Ráfaga ECM.\", \n    \"description_fr\": \"Salves CME\", \n    \"description_it\": \"ECM Burst\", \n    \"description_ja\": \"ECMバースト\", \n    \"description_ko\": \"ECM 버스트\", \n    \"description_ru\": \"Импульсная система РЭБ\", \n    \"description_zh\": \"ECM脉冲设备\", \n    \"descriptionID\": 281391, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"ECM-Pulsgeneratoren\", \n    \"name_en-us\": \"ECM Burst\", \n    \"name_es\": \"Ráfaga ECM\", \n    \"name_fr\": \"Salve CME\", \n    \"name_it\": \"ECM Burst\", \n    \"name_ja\": \"ECMバースト\", \n    \"name_ko\": \"ECM 버스트\", \n    \"name_ru\": \"Импульсные глушители захвата целей\", \n    \"name_zh\": \"ECM脉冲设备\", \n    \"nameID\": 281390, \n    \"parentGroupID\": 1566\n  }, \n  \"1570\": {\n    \"description_de\": \"Stasis Webifier\", \n    \"description_en-us\": \"Stasis Webifiers\", \n    \"description_es\": \"Redes ralentizadoras.\", \n    \"description_fr\": \"Générateurs de stase\", \n    \"description_it\": \"Stasis Webifiers\", \n    \"description_ja\": \"ステイシスウェビファイヤー\", \n    \"description_ko\": \"스테이시스 웹 생성기\", \n    \"description_ru\": \"Генераторы стазис-сети\", \n    \"description_zh\": \"停滞缠绕光束\", \n    \"descriptionID\": 281399, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Stasisnetze\", \n    \"name_en-us\": \"Stasis Webifiers\", \n    \"name_es\": \"Redes ralentizadoras\", \n    \"name_fr\": \"Générateurs de stase\", \n    \"name_it\": \"Stasis Webifiers\", \n    \"name_ja\": \"ステイシスウェビファイヤー\", \n    \"name_ko\": \"스테이시스 웹 생성기\", \n    \"name_ru\": \"Стазис-индукторы\", \n    \"name_zh\": \"停滞缠绕光束\", \n    \"nameID\": 281394, \n    \"parentGroupID\": 1566\n  }, \n  \"1571\": {\n    \"description_de\": \"Target Painter\", \n    \"description_en-us\": \"Target Painters\", \n    \"description_es\": \"Reveladores de objetivo.\", \n    \"description_fr\": \"Marqueurs de cibles\", \n    \"description_it\": \"Target Painters\", \n    \"description_ja\": \"ターゲットペインター\", \n    \"description_ko\": \"타겟 페인터\", \n    \"description_ru\": \"Системы подсветки целей\", \n    \"description_zh\": \"目标标记装备\", \n    \"descriptionID\": 281400, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Zielmarkierung\", \n    \"name_en-us\": \"Target Painters\", \n    \"name_es\": \"Reveladores de objetivo\", \n    \"name_fr\": \"Marqueurs de cible\", \n    \"name_it\": \"Target Painters\", \n    \"name_ja\": \"ターゲットペインター\", \n    \"name_ko\": \"타겟 페인터\", \n    \"name_ru\": \"Системы подсветки целей\", \n    \"name_zh\": \"目标标记装备\", \n    \"nameID\": 281395, \n    \"parentGroupID\": 1566\n  }, \n  \"1572\": {\n    \"description_de\": \"Warp-Unterbrechungsfeld-Generatoren\", \n    \"description_en-us\": \"Warp Disruption Field Generators\", \n    \"description_es\": \"Generadores de campo disruptor de warp.\", \n    \"description_fr\": \"Générateurs de champs perturbateurs de warp\", \n    \"description_it\": \"Warp Disruption Field Generators\", \n    \"description_ja\": \"ワープ妨害フィールド発生装置\", \n    \"description_ko\": \"워프 디스럽션 필드 생성기\", \n    \"description_ru\": \"Бортовые генераторы варп-помех\", \n    \"description_zh\": \"跃迁扰断力场发生器\", \n    \"descriptionID\": 281401, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Warpstörfeld-Generatoren\", \n    \"name_en-us\": \"Warp Disruption Field Generators\", \n    \"name_es\": \"Generadores de campo disruptor de warp.\", \n    \"name_fr\": \"Générateurs de champ perturbateurs de warp\", \n    \"name_it\": \"Warp Disruption Field Generators\", \n    \"name_ja\": \"ワープ妨害フィールド発生装置\", \n    \"name_ko\": \"워프 디스럽션 필드 생성기\", \n    \"name_ru\": \"Бортовые варп-заградители\", \n    \"name_zh\": \"跃迁扰断力场发生器\", \n    \"nameID\": 281396, \n    \"parentGroupID\": 1566\n  }, \n  \"1574\": {\n    \"description_de\": \"Waffenstörer\", \n    \"description_en-us\": \"Weapon Disruptors\", \n    \"description_es\": \"Disruptores de armas.\", \n    \"description_fr\": \"Perturbateurs d'armement\", \n    \"description_it\": \"Weapon Disruptors\", \n    \"description_ja\": \"トラッキング妨害機\", \n    \"description_ko\": \"무기 디스럽터\", \n    \"description_ru\": \"Подавители оружия\", \n    \"description_zh\": \"武器扰断器\", \n    \"descriptionID\": 281403, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Waffenstörer\", \n    \"name_en-us\": \"Weapon Disruptors\", \n    \"name_es\": \"Disruptores de armas\", \n    \"name_fr\": \"Perturbateurs d'armement\", \n    \"name_it\": \"Weapon Disruptors\", \n    \"name_ja\": \"トラッキング妨害機\", \n    \"name_ko\": \"무기 디스럽터\", \n    \"name_ru\": \"Подавители оружия\", \n    \"name_zh\": \"武器扰断器\", \n    \"nameID\": 281398, \n    \"parentGroupID\": 1566\n  }, \n  \"1575\": {\n    \"description_de\": \"ECCM\", \n    \"description_en-us\": \"ECCM\", \n    \"description_es\": \"Anticontramedidas electrónicas.\", \n    \"description_fr\": \"CCME\", \n    \"description_it\": \"ECCM\", \n    \"description_ja\": \"ECCM\", \n    \"description_ko\": \"ECCM\", \n    \"description_ru\": \"ПРЭБ\", \n    \"description_zh\": \"ECCM\", \n    \"descriptionID\": 281414, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"EGGM\", \n    \"name_en-us\": \"ECCM\", \n    \"name_es\": \"ECCM\", \n    \"name_fr\": \"CCME\", \n    \"name_it\": \"ECCM\", \n    \"name_ja\": \"ECCM\", \n    \"name_ko\": \"ECCM\", \n    \"name_ru\": \"Усилители сенсоров\", \n    \"name_zh\": \"ECCM\", \n    \"nameID\": 281413, \n    \"parentGroupID\": 1566\n  }, \n  \"1576\": {\n    \"description_de\": \"Remote Sensor Dampener-Module\", \n    \"description_en-us\": \"Remote Sensor Dampeners\", \n    \"description_es\": \"Atenuadores de sensor remotos.\", \n    \"description_fr\": \"Atténuateurs de détection à distance\", \n    \"description_it\": \"Remote Sensor Dampeners\", \n    \"description_ja\": \"リモートセンサーダンプナー\", \n    \"description_ko\": \"원격 센서 댐프너\", \n    \"description_ru\": \"Модули глушения систем поиска целей\", \n    \"description_zh\": \"远程感应抑阻器\", \n    \"descriptionID\": 281416, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Sensorferndämpfer\", \n    \"name_en-us\": \"Remote Sensor Dampeners\", \n    \"name_es\": \"Atenuadores de sensor remotos\", \n    \"name_fr\": \"Atténuateurs de détection à distance\", \n    \"name_it\": \"Remote Sensor Dampeners\", \n    \"name_ja\": \"リモートセンサーダンプナー\", \n    \"name_ko\": \"원격 센서 댐프너\", \n    \"name_ru\": \"Модули подавления захвата целей\", \n    \"name_zh\": \"远程感应抑阻器\", \n    \"nameID\": 281415, \n    \"parentGroupID\": 1566\n  }, \n  \"1577\": {\n    \"description_de\": \"Projiziertes ECCM\", \n    \"description_en-us\": \"Projected ECCM\", \n    \"description_es\": \"ECCM proyectadas.\", \n    \"description_fr\": \"CCME projetée\", \n    \"description_it\": \"Projected ECCM\", \n    \"description_ja\": \"ECCMプロジェクション\", \n    \"description_ko\": \"ECCM 방출기\", \n    \"description_ru\": \"Проекционный модуль ПРЭБ\", \n    \"description_zh\": \"投射型ECCM\", \n    \"descriptionID\": 281418, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Projizierte EGGM\", \n    \"name_en-us\": \"Projected ECCM\", \n    \"name_es\": \"ECCM proyectadas\", \n    \"name_fr\": \"CCME projetée\", \n    \"name_it\": \"Projected ECCM\", \n    \"name_ja\": \"ECCMプロジェクション\", \n    \"name_ko\": \"ECCM 방출기\", \n    \"name_ru\": \"Дистанционные усилители сенсоров\", \n    \"name_zh\": \"投射型ECCM\", \n    \"nameID\": 281417, \n    \"parentGroupID\": 1566\n  }, \n  \"1578\": {\n    \"description_de\": \"Elektronik- und Sensor-Upgrades\", \n    \"description_en-us\": \"Electronics and Sensor Upgrades\", \n    \"description_es\": \"Mejoras electrónicas y de sensores.\", \n    \"description_fr\": \"Améliorations des détecteurs et de l'électronique\", \n    \"description_it\": \"Electronics and Sensor Upgrades\", \n    \"description_ja\": \"エレクトロニクスとセンサー強化\", \n    \"description_ko\": \"전자기기 및 센서 업그레이드\", \n    \"description_ru\": \"Пакеты модернизации электронных и сенсорных систем\", \n    \"description_zh\": \"电子学和感应器升级\", \n    \"descriptionID\": 281420, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Elektronik- & Sensorupgrades\", \n    \"name_en-us\": \"Electronics and Sensor Upgrades\", \n    \"name_es\": \"Mejoras electrónicas y de sensores\", \n    \"name_fr\": \"Améliorations des détecteurs et de l'électronique\", \n    \"name_it\": \"Electronics and Sensor Upgrades\", \n    \"name_ja\": \"エレクトロニクスとセンサー強化\", \n    \"name_ko\": \"전자기기 및 센서 업그레이드\", \n    \"name_ru\": \"Улучшения сенсоров и электронных систем\", \n    \"name_zh\": \"电子学和感应器升级\", \n    \"nameID\": 281419, \n    \"parentGroupID\": 209\n  }, \n  \"1579\": {\n    \"description_de\": \"Automatische Zielerfassungssysteme\", \n    \"description_en-us\": \"Automated Targeting Systems\", \n    \"description_es\": \"Sistemas de adquisición automatizada de objetivos.\", \n    \"description_fr\": \"Systèmes de ciblage automatisés\", \n    \"description_it\": \"Automated Targeting Systems\", \n    \"description_ja\": \"全自動ターゲットシステム\", \n    \"description_ko\": \"오토 타겟팅 시스템\", \n    \"description_ru\": \"Системы автоматического захвата целей\", \n    \"description_zh\": \"自动锁定系统\", \n    \"descriptionID\": 281423, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Automatische Zielsysteme\", \n    \"name_en-us\": \"Automated Targeting Systems\", \n    \"name_es\": \"Sistemas de adquisición automatizada de objetivos\", \n    \"name_fr\": \"Systèmes de ciblage automatisés\", \n    \"name_it\": \"Automated Targeting Systems\", \n    \"name_ja\": \"全自動ターゲットシステム\", \n    \"name_ko\": \"오토 타겟팅 시스템\", \n    \"name_ru\": \"Системы автоматического захвата целей\", \n    \"name_zh\": \"自动锁定系统\", \n    \"nameID\": 281422, \n    \"parentGroupID\": 1578\n  }, \n  \"1580\": {\n    \"description_de\": \"Sensoren-Fernverstärker\", \n    \"description_en-us\": \"Remote Sensor Boosters\", \n    \"description_es\": \"Potenciadores de sensor remotos.\", \n    \"description_fr\": \"Boosters de détection à distance\", \n    \"description_it\": \"Remote Sensor Boosters\", \n    \"description_ja\": \"リモートセンサーブースター\", \n    \"description_ko\": \"원격 센서 부스터\", \n    \"description_ru\": \"Дистанционные усилители для систем поиска целей\", \n    \"description_zh\": \"远程感应增强器\", \n    \"descriptionID\": 281425, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Sensorfernbooster\", \n    \"name_en-us\": \"Remote Sensor Boosters\", \n    \"name_es\": \"Potenciadores de sensor remotos\", \n    \"name_fr\": \"Boosters de capteur à distance\", \n    \"name_it\": \"Remote Sensor Boosters\", \n    \"name_ja\": \"リモートセンサーブースター\", \n    \"name_ko\": \"원격 센서 부스터\", \n    \"name_ru\": \"Передатчики для систем захвата целей\", \n    \"name_zh\": \"远程感应增强器\", \n    \"nameID\": 281424, \n    \"parentGroupID\": 1578\n  }, \n  \"1581\": {\n    \"description_de\": \"Sensoren-Booster\", \n    \"description_en-us\": \"Sensor Boosters\", \n    \"description_es\": \"Potenciadores de sensor.\", \n    \"description_fr\": \"Boosters de détection\", \n    \"description_it\": \"Sensor Boosters\", \n    \"description_ja\": \"センサー強度強化\", \n    \"description_ko\": \"센서 부스터\", \n    \"description_ru\": \"Активные усилители для систем поиска целей\", \n    \"description_zh\": \"感应增强器\", \n    \"descriptionID\": 281427, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Sensorbooster\", \n    \"name_en-us\": \"Sensor Boosters\", \n    \"name_es\": \"Potenciadores de sensor\", \n    \"name_fr\": \"Boosters de détection\", \n    \"name_it\": \"Sensor Boosters\", \n    \"name_ja\": \"センサーブースター\", \n    \"name_ko\": \"센서 부스터\", \n    \"name_ru\": \"Активные усилители систем захвата целей\", \n    \"name_zh\": \"感应增强器\", \n    \"nameID\": 281426, \n    \"parentGroupID\": 1578\n  }, \n  \"1582\": {\n    \"description_de\": \"Passive Zielerfassungssysteme\", \n    \"description_en-us\": \"Passive Targeting Systems\", \n    \"description_es\": \"Sistemas de adquisición pasiva de objetivos.\", \n    \"description_fr\": \"Systèmes de ciblage passifs\", \n    \"description_it\": \"Passive Targeting Systems\", \n    \"description_ja\": \"パッシブターゲットシステム\", \n    \"description_ko\": \"패시브 타겟팅 시스템\", \n    \"description_ru\": \"Системы скрытого сопровождения целей\", \n    \"description_zh\": \"被动索敌系统\", \n    \"descriptionID\": 281429, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Passive Zielsysteme\", \n    \"name_en-us\": \"Passive Targeting Systems\", \n    \"name_es\": \"Sistemas de adquisición pasiva de objetivos\", \n    \"name_fr\": \"Systèmes de ciblage passif\", \n    \"name_it\": \"Passive Targeting Systems\", \n    \"name_ja\": \"パッシブターゲットシステム\", \n    \"name_ko\": \"패시브 타겟팅 시스템\", \n    \"name_ru\": \"Системы скрытого захвата целей\", \n    \"name_zh\": \"被动索敌系统\", \n    \"nameID\": 281428, \n    \"parentGroupID\": 1578\n  }, \n  \"1583\": {\n    \"description_de\": \"Sensoren-Sicherungsarrays\", \n    \"description_en-us\": \"Sensor Backup Arrays\", \n    \"description_es\": \"Sistemas de sensores de apoyo.\", \n    \"description_fr\": \"Modules de détection de secours\", \n    \"description_it\": \"Sensor Backup Arrays\", \n    \"description_ja\": \"センサー補助\", \n    \"description_ko\": \"센서 백업 시설\", \n    \"description_ru\": \"Пассивные системы целеуказания\", \n    \"description_zh\": \"感应器备用阵列\", \n    \"descriptionID\": 281431, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Sensorsicherungsanlagen\", \n    \"name_en-us\": \"Sensor Backup Arrays\", \n    \"name_es\": \"Sistemas de sensores de apoyo\", \n    \"name_fr\": \"Modules de détection de secours\", \n    \"name_it\": \"Sensor Backup Arrays\", \n    \"name_ja\": \"センサー補助\", \n    \"name_ko\": \"센서 백업 시설\", \n    \"name_ru\": \"Пассивные системы захвата целей\", \n    \"name_zh\": \"感应器备用阵列\", \n    \"nameID\": 281430, \n    \"parentGroupID\": 1566\n  }, \n  \"1584\": {\n    \"description_de\": \"CPU-Upgrades\", \n    \"description_en-us\": \"CPU Upgrades\", \n    \"description_es\": \"Mejoras de CPU.\", \n    \"description_fr\": \"Améliorations de CPU\", \n    \"description_it\": \"CPU Upgrades\", \n    \"description_ja\": \"CPU強化\", \n    \"description_ko\": \"CPU 업그레이드\", \n    \"description_ru\": \"Пакеты модернизации процессора\", \n    \"description_zh\": \"CPU升级模块\", \n    \"descriptionID\": 281433, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"CPU-Upgrades\", \n    \"name_en-us\": \"CPU Upgrades\", \n    \"name_es\": \"Mejoras de CPU\", \n    \"name_fr\": \"Améliorations de CPU\", \n    \"name_it\": \"CPU Upgrades\", \n    \"name_ja\": \"CPU強化\", \n    \"name_ko\": \"CPU 업그레이드\", \n    \"name_ru\": \"Улучшения ЦПУ\", \n    \"name_zh\": \"CPU升级模块\", \n    \"nameID\": 281432, \n    \"parentGroupID\": 1578\n  }, \n  \"1585\": {\n    \"description_de\": \"Signalverstärker\", \n    \"description_en-us\": \"Signal Amplifiers\", \n    \"description_es\": \"Amplificadores de señal.\", \n    \"description_fr\": \"Amplificateurs de signal\", \n    \"description_it\": \"Signal Amplifiers\", \n    \"description_ja\": \"シグナル増幅器\", \n    \"description_ko\": \"신호 증폭기\", \n    \"description_ru\": \"Усилители сигнала\", \n    \"description_zh\": \"信号放大器\", \n    \"descriptionID\": 281435, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Signalverstärker\", \n    \"name_en-us\": \"Signal Amplifiers\", \n    \"name_es\": \"Amplificadores de señal\", \n    \"name_fr\": \"Amplificateurs de signal\", \n    \"name_it\": \"Signal Amplifiers\", \n    \"name_ja\": \"シグナル増幅器\", \n    \"name_ko\": \"신호 증폭기\", \n    \"name_ru\": \"Усилители сигнала\", \n    \"name_zh\": \"信号放大器\", \n    \"nameID\": 281434, \n    \"parentGroupID\": 1578\n  }, \n  \"1586\": {\n    \"description_de\": \"Kampfunterstützungsdrohnen\", \n    \"description_en-us\": \"Combat Utility Drones\", \n    \"description_es\": \"Drones de utilidades de combate.\", \n    \"description_fr\": \"Drones de soutien au combat\", \n    \"description_it\": \"Combat Utility Drones\", \n    \"description_ja\": \"戦闘支援ドローン\", \n    \"description_ko\": \"컴뱃 유틸리티 드론\", \n    \"description_ru\": \"Вспомогательные боевые дроны\", \n    \"description_zh\": \"功能性战斗无人机\", \n    \"descriptionID\": 281698, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kampfunterstützungsdrohnen\", \n    \"name_en-us\": \"Combat Utility Drones\", \n    \"name_es\": \"Drones de utilidades de combate\", \n    \"name_fr\": \"Drones de soutien au combat\", \n    \"name_it\": \"Combat Utility Drones\", \n    \"name_ja\": \"戦闘支援ドローン\", \n    \"name_ko\": \"컴뱃 유틸리티 드론\", \n    \"name_ru\": \"Вспомогательные дроны\", \n    \"name_zh\": \"功能性战斗无人机\", \n    \"nameID\": 281697, \n    \"parentGroupID\": 357\n  }, \n  \"1587\": {\n    \"description_de\": \"Amarr\", \n    \"description_en-us\": \"Amarr\", \n    \"description_es\": \"Amarr.\", \n    \"description_fr\": \"Amarr\", \n    \"description_it\": \"Amarr\", \n    \"description_ja\": \"アマー\", \n    \"description_ko\": \"아마르\", \n    \"description_ru\": \"Амаррские\", \n    \"description_zh\": \"艾玛\", \n    \"descriptionID\": 281701, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 281700, \n    \"parentGroupID\": 1097\n  }, \n  \"1588\": {\n    \"description_de\": \"Caldari\", \n    \"description_en-us\": \"Caldari\", \n    \"description_es\": \"Caldari.\", \n    \"description_fr\": \"Caldari\", \n    \"description_it\": \"Caldari\", \n    \"description_ja\": \"カルダリ\", \n    \"description_ko\": \"칼다리\", \n    \"description_ru\": \"Калдарские\", \n    \"description_zh\": \"加达里\", \n    \"descriptionID\": 281703, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 281702, \n    \"parentGroupID\": 1097\n  }, \n  \"1589\": {\n    \"description_de\": \"Gallente\", \n    \"description_en-us\": \"Gallente\", \n    \"description_es\": \"Gallente.\", \n    \"description_fr\": \"Gallente\", \n    \"description_it\": \"Gallente\", \n    \"description_ja\": \"ガレンテ\", \n    \"description_ko\": \"갈란테\", \n    \"description_ru\": \"Галлентские\", \n    \"description_zh\": \"盖伦特\", \n    \"descriptionID\": 281705, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 281704, \n    \"parentGroupID\": 1097\n  }, \n  \"1590\": {\n    \"description_de\": \"Minmatar\", \n    \"description_en-us\": \"Minmatar\", \n    \"description_es\": \"Minmatar.\", \n    \"description_fr\": \"Minmatar\", \n    \"description_it\": \"Minmatar\", \n    \"description_ja\": \"ミンマター\", \n    \"description_ko\": \"민마타\", \n    \"description_ru\": \"Матарские\", \n    \"description_zh\": \"米玛塔尔\", \n    \"descriptionID\": 281707, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 281706, \n    \"parentGroupID\": 1097\n  }, \n  \"1591\": {\n    \"description_de\": \"Fortschrittliche Komponenten\", \n    \"description_en-us\": \"Advanced Components\", \n    \"description_es\": \"Componentes de tecnología avanzada.\", \n    \"description_fr\": \"Composants avancés\", \n    \"description_it\": \"Advanced Components\", \n    \"description_ja\": \"高性能部品\", \n    \"description_ko\": \"상급 부품\", \n    \"description_ru\": \"Усовершенствованные компоненты\", \n    \"description_zh\": \"高级组件\", \n    \"descriptionID\": 281716, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Fortschrittliche Komponenten\", \n    \"name_en-us\": \"Advanced Components\", \n    \"name_es\": \"Componentes avanzados\", \n    \"name_fr\": \"Composants avancés\", \n    \"name_it\": \"Advanced Components\", \n    \"name_ja\": \"高性能部品\", \n    \"name_ko\": \"상급 부품\", \n    \"name_ru\": \"Усовершенствованные компоненты\", \n    \"name_zh\": \"高级组件\", \n    \"nameID\": 281715, \n    \"parentGroupID\": 800\n  }, \n  \"1592\": {\n    \"description_de\": \"Amarr\", \n    \"description_en-us\": \"Amarr\", \n    \"description_es\": \"Amarr.\", \n    \"description_fr\": \"Amarr\", \n    \"description_it\": \"Amarr\", \n    \"description_ja\": \"アマー\", \n    \"description_ko\": \"아마르\", \n    \"description_ru\": \"Амаррские\", \n    \"description_zh\": \"艾玛\", \n    \"descriptionID\": 281718, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 281717, \n    \"parentGroupID\": 1591\n  }, \n  \"1593\": {\n    \"description_de\": \"Caldari\", \n    \"description_en-us\": \"Caldari\", \n    \"description_es\": \"Caldari.\", \n    \"description_fr\": \"Caldari\", \n    \"description_it\": \"Caldari\", \n    \"description_ja\": \"カルダリ\", \n    \"description_ko\": \"칼다리\", \n    \"description_ru\": \"Калдарские\", \n    \"description_zh\": \"加达里\", \n    \"descriptionID\": 281720, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 281719, \n    \"parentGroupID\": 1591\n  }, \n  \"1594\": {\n    \"description_de\": \"Gallente\", \n    \"description_en-us\": \"Gallente\", \n    \"description_es\": \"Gallente.\", \n    \"description_fr\": \"Gallente\", \n    \"description_it\": \"Gallente\", \n    \"description_ja\": \"ガレンテ\", \n    \"description_ko\": \"갈란테\", \n    \"description_ru\": \"Галлентские\", \n    \"description_zh\": \"盖伦特\", \n    \"descriptionID\": 281722, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 281721, \n    \"parentGroupID\": 1591\n  }, \n  \"1595\": {\n    \"description_de\": \"Minmatar\", \n    \"description_en-us\": \"Minmatar\", \n    \"description_es\": \"Minmatar.\", \n    \"description_fr\": \"Minmatar\", \n    \"description_it\": \"Minmatar\", \n    \"description_ja\": \"ミンマター\", \n    \"description_ko\": \"민마타\", \n    \"description_ru\": \"Матарские\", \n    \"description_zh\": \"米玛塔尔\", \n    \"descriptionID\": 281724, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 281723, \n    \"parentGroupID\": 1591\n  }, \n  \"1598\": {\n    \"hasTypes\": 1, \n    \"iconID\": 10942, \n    \"name_de\": \"Orbitalschlag\", \n    \"name_en-us\": \"Orbital Strike\", \n    \"name_es\": \"Asalto orbital\", \n    \"name_fr\": \"Frappe orbitale\", \n    \"name_it\": \"Orbital Strike\", \n    \"name_ja\": \"軌道爆撃\", \n    \"name_ko\": \"궤도 폭격\", \n    \"name_ru\": \"Для обстрела планет\", \n    \"name_zh\": \"轨道轰炸\", \n    \"nameID\": 282506, \n    \"parentGroupID\": 99\n  }, \n  \"1599\": {\n    \"hasTypes\": 1, \n    \"iconID\": 10940, \n    \"name_de\": \"Orbitalschlag\", \n    \"name_en-us\": \"Orbital Strike\", \n    \"name_es\": \"Asalto orbital\", \n    \"name_fr\": \"Frappe orbitale\", \n    \"name_it\": \"Orbital Strike\", \n    \"name_ja\": \"軌道爆撃\", \n    \"name_ko\": \"궤도 폭격\", \n    \"name_ru\": \"Для обстрела планет\", \n    \"name_zh\": \"轨道轰炸\", \n    \"nameID\": 282507, \n    \"parentGroupID\": 101\n  }, \n  \"1600\": {\n    \"hasTypes\": 1, \n    \"iconID\": 10941, \n    \"name_de\": \"Orbitalschlag\", \n    \"name_en-us\": \"Orbital Strike\", \n    \"name_es\": \"Asalto orbital\", \n    \"name_fr\": \"Frappe orbitale\", \n    \"name_it\": \"Orbital Strike\", \n    \"name_ja\": \"軌道爆撃\", \n    \"name_ko\": \"궤도 폭격\", \n    \"name_ru\": \"Для обстрела планет\", \n    \"name_zh\": \"轨道轰炸\", \n    \"nameID\": 282508, \n    \"parentGroupID\": 100\n  }, \n  \"1601\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Orbitalschlag\", \n    \"name_en-us\": \"Orbital Strike\", \n    \"name_es\": \"Asalto orbital\", \n    \"name_fr\": \"Frappe orbitale\", \n    \"name_it\": \"Orbital Strike\", \n    \"name_ja\": \"軌道爆撃\", \n    \"name_ko\": \"궤도 폭격\", \n    \"name_ru\": \"Для обстрела планет\", \n    \"name_zh\": \"轨道轰炸\", \n    \"nameID\": 282509, \n    \"parentGroupID\": 300\n  }, \n  \"1602\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Orbitalschlag\", \n    \"name_en-us\": \"Orbital Strike\", \n    \"name_es\": \"Asalto orbital\", \n    \"name_fr\": \"Frappe orbitale\", \n    \"name_it\": \"Orbital Strike\", \n    \"name_ja\": \"軌道爆撃\", \n    \"name_ko\": \"궤도 폭격\", \n    \"name_ru\": \"Для обстрела планет\", \n    \"name_zh\": \"轨道轰炸\", \n    \"nameID\": 282510, \n    \"parentGroupID\": 301\n  }, \n  \"1603\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Orbitalschlag\", \n    \"name_en-us\": \"Orbital Strike\", \n    \"name_es\": \"Asalto orbital\", \n    \"name_fr\": \"Frappe orbitale\", \n    \"name_it\": \"Orbital Strike\", \n    \"name_ja\": \"軌道爆撃\", \n    \"name_ko\": \"궤도 폭격\", \n    \"name_ru\": \"Для обстрела планет\", \n    \"name_zh\": \"轨道轰炸\", \n    \"nameID\": 282511, \n    \"parentGroupID\": 299\n  }, \n  \"1610\": {\n    \"description_de\": \"Amarr – Subsysteme\", \n    \"description_en-us\": \"Amarr Subsystems\", \n    \"description_es\": \"Subsistemas amarrianos.\", \n    \"description_fr\": \"Sous-systèmes amarr\", \n    \"description_it\": \"Amarr Subsystems\", \n    \"description_ja\": \"アマーサブシステム\", \n    \"description_ko\": \"아마르 서브시스템\", \n    \"description_ru\": \"Амаррские подсистемы\", \n    \"description_zh\": \"艾玛子系统\", \n    \"descriptionID\": 283284, \n    \"hasTypes\": 0, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr-Subsysteme\", \n    \"name_en-us\": \"Amarr Subsystems\", \n    \"name_es\": \"Subsistemas amarrianos\", \n    \"name_fr\": \"Sous-systèmes amarr\", \n    \"name_it\": \"Amarr Subsystems\", \n    \"name_ja\": \"アマーサブシステム\", \n    \"name_ko\": \"아마르 서브시스템\", \n    \"name_ru\": \"Амаррские подсистемы\", \n    \"name_zh\": \"艾玛子系统\", \n    \"nameID\": 283283, \n    \"parentGroupID\": 1112\n  }, \n  \"1612\": {\n    \"description_de\": \"Seltene und optisch unterschiedliche Schiffe für Sammler\", \n    \"description_en-us\": \"Rare and visually distinct ships of interest to collectors\", \n    \"description_es\": \"Naves poco comunes y de aspecto distintivo, de interés para los coleccionistas.\", \n    \"description_fr\": \"Vaisseaux dont la rareté et l'aspect visuel sont particulièrement appréciés des collectionneurs\", \n    \"description_it\": \"Rare and visually distinct ships of interest to collectors\", \n    \"description_ja\": \"通常型と外見が異なる希少な艦船。コレクター向け\", \n    \"description_ko\": \"수집할만한 가치를 지닌 희귀 함선입니다.\", \n    \"description_ru\": \"Редкие корабли и корабли необычного дизайна, представляющие интерес для коллекционеров.\", \n    \"description_zh\": \"稀有且外形独特的舰船，是收藏家的最爱\", \n    \"descriptionID\": 283310, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen von Schiffen\", \n    \"name_en-us\": \"Special Edition Ships\", \n    \"name_es\": \"Naves de edición especial\", \n    \"name_fr\": \"Vaisseaux édition spéciale\", \n    \"name_it\": \"Special Edition Ships\", \n    \"name_ja\": \"特別版艦船\", \n    \"name_ko\": \"스페셜 에디션 함선\", \n    \"name_ru\": \"Малосерийные корабли\", \n    \"name_zh\": \"特别版舰船\", \n    \"nameID\": 283309, \n    \"parentGroupID\": 4\n  }, \n  \"1614\": {\n    \"description_de\": \"Industrieschiffe, die Kapselpiloten gelegentlich und für begrenzte Zeit angeboten werden.\", \n    \"description_en-us\": \"Industrial ships which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Naves industriales ofrecidas a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Vaisseaux industriels mis parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Industrial ships which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"過去に期間限定でカプセラへ配布された輸送艦。\", \n    \"description_ko\": \"캡슐리어들에게 한정판으로 제공되었던 인더스트리얼입니다.\", \n    \"description_ru\": \"Промышленные корабли, предоставлявшиеся капсулерам в течение ограниченного периода времени.\", \n    \"description_zh\": \"限时供应的工业舰。\", \n    \"descriptionID\": 283314, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Industrieschiffe\", \n    \"name_en-us\": \"Special Edition Industrial Ships\", \n    \"name_es\": \"Naves industriales de edición especial\", \n    \"name_fr\": \"Vaisseaux industriels édition spéciale\", \n    \"name_it\": \"Special Edition Industrial Ships\", \n    \"name_ja\": \"特別版輸送艦\", \n    \"name_ko\": \"인더스트리얼\", \n    \"name_ru\": \"Малосерийные грузовые корабли\", \n    \"name_zh\": \"特别版工业舰\", \n    \"nameID\": 283313, \n    \"parentGroupID\": 1612\n  }, \n  \"1616\": {\n    \"description_de\": \"ORE-Fregatten-Designs.\", \n    \"description_en-us\": \"ORE frigate designs.\", \n    \"description_es\": \"Diseños de fragatas de ORE.\", \n    \"description_fr\": \"Modèles de frégates ORE.\", \n    \"description_it\": \"ORE frigate designs.\", \n    \"description_ja\": \"OREフリゲートの設計図。\", \n    \"description_ko\": \"ORE의 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты производства корпорации ORE.\", \n    \"description_zh\": \"联合矿业护卫舰设计。\", \n    \"descriptionID\": 283355, \n    \"hasTypes\": 1, \n    \"iconID\": 27058, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE社\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 283354, \n    \"parentGroupID\": 5\n  }, \n  \"1617\": {\n    \"description_de\": \"Blueprints für ORE-Fregatten-Designs.\", \n    \"description_en-us\": \"Blueprints of ORE frigate designs.\", \n    \"description_es\": \"Planos de diseños de fragatas de ORE.\", \n    \"description_fr\": \"Plans de construction de modèles de frégates ORE.\", \n    \"description_it\": \"Blueprints of ORE frigate designs.\", \n    \"description_ja\": \"OREフリゲート設計図のブループリント。\", \n    \"description_ko\": \"ORE 프리깃 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи фрегатов производства корпорации ORE.\", \n    \"description_zh\": \"联合矿业护卫舰设计蓝图。\", \n    \"descriptionID\": 283357, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"鉱石\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 283356, \n    \"parentGroupID\": 205\n  }, \n  \"1618\": {\n    \"description_de\": \"Shuttles, die Kapselpiloten gelegentlich und für begrenzte Zeit angeboten werden.\", \n    \"description_en-us\": \"Shuttles which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Lanzaderas ofrecidas a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Navettes mises parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Shuttles which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"過去に期間限定でカプセラへ配布されたシャトル。\", \n    \"description_ko\": \"캡슐리어들에게 한정판으로 제공되었던 셔틀입니다.\", \n    \"description_ru\": \"Челноки, предоставлявшиеся капсулерам в течение ограниченного периода времени.\", \n    \"description_zh\": \"限时供应的穿梭机。\", \n    \"descriptionID\": 283442, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Shuttles\", \n    \"name_en-us\": \"Special Edition Shuttles\", \n    \"name_es\": \"Lanzaderas de edición especial\", \n    \"name_fr\": \"Navettes édition spéciale\", \n    \"name_it\": \"Special Edition Shuttles\", \n    \"name_ja\": \"特別版シャトル\", \n    \"name_ko\": \"셔틀\", \n    \"name_ru\": \"Малосерийные катера\", \n    \"name_zh\": \"特别版穿梭机\", \n    \"nameID\": 283441, \n    \"parentGroupID\": 1612\n  }, \n  \"1619\": {\n    \"description_de\": \"Fregatten, die Kapselpiloten gelegentlich und für begrenzte Zeit angeboten werden.\", \n    \"description_en-us\": \"Frigates which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Fragatas ofrecidas a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Frégates mises parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Frigates which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"過去に期間限定でカプセラへ配布されたフリゲート。\", \n    \"description_ko\": \"캡슐리어들에게 한정판으로 제공되었던 셔틀입니다.\", \n    \"description_ru\": \"Фрегаты, предоставлявшиеся капсулерам в течение ограниченного периода времени.\", \n    \"description_zh\": \"限时供应的护卫舰。\", \n    \"descriptionID\": 283444, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Fregatten\", \n    \"name_en-us\": \"Special Edition Frigates\", \n    \"name_es\": \"Fragatas de edición especial\", \n    \"name_fr\": \"Frégates édition spéciale\", \n    \"name_it\": \"Special Edition Frigates\", \n    \"name_ja\": \"特別版フリゲート\", \n    \"name_ko\": \"프리깃\", \n    \"name_ru\": \"Малосерийные фрегаты\", \n    \"name_zh\": \"特别版护卫舰\", \n    \"nameID\": 283443, \n    \"parentGroupID\": 1612\n  }, \n  \"1620\": {\n    \"description_de\": \"Schlachtschiffe, die Kapselpiloten gelegentlich und für begrenzte Zeit angeboten werden.\", \n    \"description_en-us\": \"Battleships which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Acorazados ofrecidos a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Cuirassés mis parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Battleships which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"過去に期間限定でカプセラへ配布された戦艦。\", \n    \"description_ko\": \"캡슐리어들에게 한정판으로 제공되었던 배틀쉽입니다.\", \n    \"description_ru\": \"Линкоры, предоставлявшиеся капсулерам в течение ограниченного периода времени.\", \n    \"description_zh\": \"限时供应的战列舰。\", \n    \"descriptionID\": 283446, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Schlachtschiffe\", \n    \"name_en-us\": \"Special Edition Battleships\", \n    \"name_es\": \"Acorazados de edición especial\", \n    \"name_fr\": \"Cuirassés édition spéciale\", \n    \"name_it\": \"Special Edition Battleships\", \n    \"name_ja\": \"特別版戦艦\", \n    \"name_ko\": \"배틀쉽\", \n    \"name_ru\": \"Малосерийные линкоры\", \n    \"name_zh\": \"特别版战列舰\", \n    \"nameID\": 283445, \n    \"parentGroupID\": 1612\n  }, \n  \"1621\": {\n    \"description_de\": \"Schwere Angriffskreuzer, die Kapselpiloten gelegentlich und für begrenzte Zeit angeboten werden.\", \n    \"description_en-us\": \"Heavy Assault Cruisers which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Cruceros de asalto pesado ofrecidos a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Croiseurs d'assaut lourds mis parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Heavy Assault Cruisers which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"過去に期間限定でカプセラへ配布された強襲型巡洋艦。\", \n    \"description_ko\": \"캡슐리어들에게 한정판으로 제공되었던 어썰트 크루저입니다.\", \n    \"description_ru\": \"Тяжелые ударные крейсеры, предоставлявшиеся капсулерам в течение ограниченного периода времени.\", \n    \"description_zh\": \"限时供克隆飞行员使用的重型突击巡洋舰。\", \n    \"descriptionID\": 283448, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Schwere Angriffskreuzer\", \n    \"name_en-us\": \"Special Edition Heavy Assault Cruisers\", \n    \"name_es\": \"Cruceros de asalto pesados de edición especial\", \n    \"name_fr\": \"Croiseurs d'assaut lourds édition spéciale\", \n    \"name_it\": \"Special Edition Heavy Assault Cruisers\", \n    \"name_ja\": \"特別版強襲型巡洋艦\", \n    \"name_ko\": \"어썰트 크루저\", \n    \"name_ru\": \"Малосерийные ударные крейсеры\", \n    \"name_zh\": \"特别版重型突击巡洋舰\", \n    \"nameID\": 283447, \n    \"parentGroupID\": 1612\n  }, \n  \"1623\": {\n    \"description_de\": \"Angriffsfregatten, die Kapselpiloten gelegentlich und für begrenzte Zeit angeboten werden.\", \n    \"description_en-us\": \"Assault Frigates which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Fragatas de asalto ofrecidas a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Frégates d'assaut mises parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Assault Frigates which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"過去に期間限定でカプセラへ配布された強襲型フリゲート。\", \n    \"description_ko\": \"캡슐리어들에게 한정판으로 제공되었던 어썰트 프리깃입니다.\", \n    \"description_ru\": \"Ударные фрегаты, предоставлявшиеся капсулерам в течение ограниченного периода времени.\", \n    \"description_zh\": \"限时供克隆飞行员使用的突击护卫舰。\", \n    \"descriptionID\": 283452, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Angriffsfregatten\", \n    \"name_en-us\": \"Special Edition Assault Frigates\", \n    \"name_es\": \"Fragatas de asalto de edición especial\", \n    \"name_fr\": \"Frégates d'assaut édition spéciale\", \n    \"name_it\": \"Special Edition Assault Frigates\", \n    \"name_ja\": \"特別版強襲型フリゲート\", \n    \"name_ko\": \"어썰트 프리깃\", \n    \"name_ru\": \"Малосерийные ударные фрегаты\", \n    \"name_zh\": \"特别版突击护卫舰\", \n    \"nameID\": 283451, \n    \"parentGroupID\": 1612\n  }, \n  \"1624\": {\n    \"description_de\": \"Logistikschiffe, die Kapselpiloten gelegentlich und für begrenzte Zeit angeboten werden.\", \n    \"description_en-us\": \"Logistics Ships which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Naves logísticas ofrecidas a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Vaisseaux logistiques mis parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Logistics Ships which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"過去に期間限定でカプセラへ配布された支援型巡洋艦。\", \n    \"description_ko\": \"캡슐리어들에게 한정판으로 제공되었던 로지스틱스입니다.\", \n    \"description_ru\": \"Ремонтные корабли, предоставлявшиеся капсулерам в течение ограниченного периода времени.\", \n    \"description_zh\": \"限时供应的后勤舰。\", \n    \"descriptionID\": 283454, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Versorgungsschiffe\", \n    \"name_en-us\": \"Special Edition Logistics\", \n    \"name_es\": \"Naves logísticas de edición especial\", \n    \"name_fr\": \"Vaisseaux logistiques édition spéciale\", \n    \"name_it\": \"Special Edition Logistics\", \n    \"name_ja\": \"特別版支援型巡洋艦\", \n    \"name_ko\": \"로지스틱스\", \n    \"name_ru\": \"Малосерийные крейсеры обеспечения\", \n    \"name_zh\": \"特别版后勤舰\", \n    \"nameID\": 283453, \n    \"parentGroupID\": 1612\n  }, \n  \"1625\": {\n    \"description_de\": \"Caldari-Subsysteme\", \n    \"description_en-us\": \"Caldari Subsystems\", \n    \"description_es\": \"Subsistemas caldaris\", \n    \"description_fr\": \"Sous-systèmes caldari\", \n    \"description_it\": \"Caldari Subsystems\", \n    \"description_ja\": \"カルダリサブシステム\", \n    \"description_ko\": \"칼다리 서브시스템\", \n    \"description_ru\": \"Калдарские подсистемы\", \n    \"description_zh\": \"加达里子系统\", \n    \"descriptionID\": 630004, \n    \"hasTypes\": 0, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari-Subsysteme\", \n    \"name_en-us\": \"Caldari Subsystems\", \n    \"name_es\": \"Subsistemas caldaris\", \n    \"name_fr\": \"Sous-systèmes caldari\", \n    \"name_it\": \"Caldari Subsystems\", \n    \"name_ja\": \"カルダリサブシステム\", \n    \"name_ko\": \"칼다리 서브시스템\", \n    \"name_ru\": \"Калдарские подсистемы\", \n    \"name_zh\": \"加达里子系统\", \n    \"nameID\": 283524, \n    \"parentGroupID\": 1112\n  }, \n  \"1626\": {\n    \"description_de\": \"Minmatar-Subsysteme\", \n    \"description_en-us\": \"Minmatar Subsystems\", \n    \"description_es\": \"Subsistemas minmatarianos\", \n    \"description_fr\": \"Sous-systèmes minmatar\", \n    \"description_it\": \"Minmatar Subsystems\", \n    \"description_ja\": \"ミンマターサブシステム\", \n    \"description_ko\": \"민마타 서브시스템\", \n    \"description_ru\": \"Минматарские подсистемы\", \n    \"description_zh\": \"米玛塔尔子系统\", \n    \"descriptionID\": 630005, \n    \"hasTypes\": 0, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar-Subsysteme\", \n    \"name_en-us\": \"Minmatar Subsystems\", \n    \"name_es\": \"Subsistemas minmatarianos\", \n    \"name_fr\": \"Sous-systèmes minmatar\", \n    \"name_it\": \"Minmatar Subsystems\", \n    \"name_ja\": \"ミンマターサブシステム\", \n    \"name_ko\": \"민마타 서브시스템\", \n    \"name_ru\": \"Минматарские подсистемы\", \n    \"name_zh\": \"米玛塔尔子系统\", \n    \"nameID\": 283525, \n    \"parentGroupID\": 1112\n  }, \n  \"1627\": {\n    \"description_de\": \"Gallente-Subsysteme\", \n    \"description_en-us\": \"Gallente Subsystems\", \n    \"description_es\": \"Subsistemas gallentes\", \n    \"description_fr\": \"Sous-systèmes gallente\", \n    \"description_it\": \"Gallente Subsystems\", \n    \"description_ja\": \"ガレンテサブシステム\", \n    \"description_ko\": \"갈란테 서브시스템\", \n    \"description_ru\": \"Галлентские подсистемы\", \n    \"description_zh\": \"盖伦特子系统\", \n    \"descriptionID\": 630002, \n    \"hasTypes\": 0, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente-Subsysteme\", \n    \"name_en-us\": \"Gallente Subsystems\", \n    \"name_es\": \"Subsistemas gallentes\", \n    \"name_fr\": \"Sous-systèmes gallente\", \n    \"name_it\": \"Gallente Subsystems\", \n    \"name_ja\": \"ガレンテサブシステム\", \n    \"name_ko\": \"갈란테 서브시스템\", \n    \"name_ru\": \"Галлентские подсистемы\", \n    \"name_zh\": \"盖伦特子系统\", \n    \"nameID\": 283526, \n    \"parentGroupID\": 1112\n  }, \n  \"1631\": {\n    \"description_de\": \"Fraktions-Shuttles\", \n    \"description_en-us\": \"Faction Shuttles\", \n    \"description_es\": \"Lanzaderas faccionarias.\", \n    \"description_fr\": \"Navettes de faction\", \n    \"description_it\": \"Faction Shuttles\", \n    \"description_ja\": \"勢力別シャトル\", \n    \"description_ko\": \"팩션 셔틀\", \n    \"description_ru\": \"Шаттлы особых модификаций\", \n    \"description_zh\": \"势力穿梭机\", \n    \"descriptionID\": 283555, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Fraktionsshuttles\", \n    \"name_en-us\": \"Faction Shuttles\", \n    \"name_es\": \"Lanzaderas faccionarias\", \n    \"name_fr\": \"Navettes de faction\", \n    \"name_it\": \"Faction Shuttles\", \n    \"name_ja\": \"勢力別シャトル\", \n    \"name_ko\": \"팩션 셔틀\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力穿梭机\", \n    \"nameID\": 283554, \n    \"parentGroupID\": 391\n  }, \n  \"1633\": {\n    \"description_de\": \"Kommandostrahlen\", \n    \"description_en-us\": \"Command Bursts\", \n    \"description_es\": \"Estallidos de mando.\", \n    \"description_fr\": \"Salves de commandement\", \n    \"description_it\": \"Command Bursts\", \n    \"description_ja\": \"コマンドバースト\", \n    \"description_ko\": \"커맨드 버스트\", \n    \"description_ru\": \"Импульсные оптимизаторы\", \n    \"description_zh\": \"指挥脉冲波\", \n    \"descriptionID\": 283633, \n    \"hasTypes\": 1, \n    \"iconID\": 20970, \n    \"name_de\": \"Kommandostrahlen\", \n    \"name_en-us\": \"Command Bursts\", \n    \"name_es\": \"Estallidos de mando\", \n    \"name_fr\": \"Salves de commandement\", \n    \"name_it\": \"Command Bursts\", \n    \"name_ja\": \"コマンドバースト\", \n    \"name_ko\": \"커맨드 버스트\", \n    \"name_ru\": \"Импульсные оптимизаторы\", \n    \"name_zh\": \"指挥脉冲波\", \n    \"nameID\": 283632, \n    \"parentGroupID\": 779\n  }, \n  \"1639\": {\n    \"description_de\": \"Befehlsprozessoren\", \n    \"description_en-us\": \"Command Processors\", \n    \"description_es\": \"Procesadores de mando.\", \n    \"description_fr\": \"Processeurs de commande\", \n    \"description_it\": \"Command Processors\", \n    \"description_ja\": \"コマンドプロセッサー\", \n    \"description_ko\": \"지휘 프로세서\", \n    \"description_ru\": \"Командные процессоры\", \n    \"description_zh\": \"指挥处理器\", \n    \"descriptionID\": 283645, \n    \"hasTypes\": 1, \n    \"iconID\": 1444, \n    \"name_de\": \"Befehlsprozessoren\", \n    \"name_en-us\": \"Command Processors\", \n    \"name_es\": \"Procesadores de mando\", \n    \"name_fr\": \"Processeurs de commande\", \n    \"name_it\": \"Command Processors\", \n    \"name_ja\": \"コマンドプロセッサー\", \n    \"name_ko\": \"지휘 프로세서\", \n    \"name_ru\": \"Командные процессоры\", \n    \"name_zh\": \"指挥处理器\", \n    \"nameID\": 283644, \n    \"parentGroupID\": 779\n  }, \n  \"1640\": {\n    \"description_de\": \"Sprungtorgeneratoren\", \n    \"description_en-us\": \"Jump Portal Generators\", \n    \"description_es\": \"Generadores de portales de salto.\", \n    \"description_fr\": \"Générateurs de portails hyperspatiaux\", \n    \"description_it\": \"Jump Portal Generators\", \n    \"description_ja\": \"ジャンプポータルジェネレーター\", \n    \"description_ko\": \"점프 포탈 생성기\", \n    \"description_ru\": \"Генераторы гиперпорталов\", \n    \"description_zh\": \"跳跃通道发生器\", \n    \"descriptionID\": 283647, \n    \"hasTypes\": 1, \n    \"iconID\": 2985, \n    \"name_de\": \"Sprungtorgeneratoren\", \n    \"name_en-us\": \"Jump Portal Generators\", \n    \"name_es\": \"Generadores de portales de salto\", \n    \"name_fr\": \"Générateurs de portail hyperspatial\", \n    \"name_it\": \"Jump Portal Generators\", \n    \"name_ja\": \"ジャンプポータルジェネレーター\", \n    \"name_ko\": \"점프 포탈 생성기\", \n    \"name_ru\": \"Генераторы гиперпорталов\", \n    \"name_zh\": \"跳跃通道发生器\", \n    \"nameID\": 283646, \n    \"parentGroupID\": 779\n  }, \n  \"1641\": {\n    \"description_de\": \"Cynosural-Feld-Generatoren\", \n    \"description_en-us\": \"Cynosural Field Generators\", \n    \"description_es\": \"Generadores de campo cinosural.\", \n    \"description_fr\": \"Générateurs de champs cynosuraux\", \n    \"description_it\": \"Cynosural Field Generators\", \n    \"description_ja\": \"サイノシュラルフィールドジェネレーター\", \n    \"description_ko\": \"사이노슈럴 필드 생성기\", \n    \"description_ru\": \"Приводные маяки\", \n    \"description_zh\": \"诱导力场发生器\", \n    \"descriptionID\": 283649, \n    \"hasTypes\": 1, \n    \"iconID\": 1444, \n    \"name_de\": \"Anziehungsfeldgeneratoren\", \n    \"name_en-us\": \"Cynosural Field Generators\", \n    \"name_es\": \"Generadores de campo cinosural\", \n    \"name_fr\": \"Générateurs de champ cynosural\", \n    \"name_it\": \"Cynosural Field Generators\", \n    \"name_ja\": \"サイノシュラルフィールドジェネレーター\", \n    \"name_ko\": \"사이노슈럴 필드 생성기\", \n    \"name_ru\": \"Приводные маяки\", \n    \"name_zh\": \"诱导力场发生器\", \n    \"nameID\": 283648, \n    \"parentGroupID\": 779\n  }, \n  \"1642\": {\n    \"description_de\": \"Klonbuchten\", \n    \"description_en-us\": \"Clone Vat Bays\", \n    \"description_es\": \"Plataformas de contenedores de clonación.\", \n    \"description_fr\": \"Plateformes de clonage\", \n    \"description_it\": \"Clone Vat Bays\", \n    \"description_ja\": \"クローンバットベイ\", \n    \"description_ko\": \"점프 클론 격납고\", \n    \"description_ru\": \"Отсеки клонирования\", \n    \"description_zh\": \"克隆舱\", \n    \"descriptionID\": 283651, \n    \"hasTypes\": 1, \n    \"iconID\": 34, \n    \"name_de\": \"Klonbuchten\", \n    \"name_en-us\": \"Clone Vat Bays\", \n    \"name_es\": \"Plataformas de contenedores de clonación\", \n    \"name_fr\": \"Plateformes de clonage\", \n    \"name_it\": \"Clone Vat Bays\", \n    \"name_ja\": \"クローンバットベイ\", \n    \"name_ko\": \"점프 클론 격납고\", \n    \"name_ru\": \"Отсеки клонирования\", \n    \"name_zh\": \"克隆舱\", \n    \"nameID\": 283650, \n    \"parentGroupID\": 779\n  }, \n  \"1643\": {\n    \"description_de\": \"Blueprints für Bergungsdrohnen-Designs.\", \n    \"description_en-us\": \"Blueprints of salvage drone designs.\", \n    \"description_es\": \"Planos de diseños de drones recuperadores.\", \n    \"description_fr\": \"Plans de construction de modèles de drones de récupération.\", \n    \"description_it\": \"Blueprints of salvage drone designs.\", \n    \"description_ja\": \"サルベージドローン設計図のブループリント。\", \n    \"description_ko\": \"샐비지 드론 설계 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи дронов-демонтажников.\", \n    \"description_zh\": \"打捞无人机设计蓝图。\", \n    \"descriptionID\": 283658, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Bergungsdrohnen\", \n    \"name_en-us\": \"Salvage Drones\", \n    \"name_es\": \"Drones recuperadores\", \n    \"name_fr\": \"Drones de récupération\", \n    \"name_it\": \"Salvage Drones\", \n    \"name_ja\": \"サルベージドローン\", \n    \"name_ko\": \"샐비지 드론\", \n    \"name_ru\": \"Дроны-демонтажники\", \n    \"name_zh\": \"打捞无人机\", \n    \"nameID\": 283657, \n    \"parentGroupID\": 357\n  }, \n  \"1646\": {\n    \"description_de\": \"Drohnen, die Wertgegenstände aus Wracks bergen können\", \n    \"description_en-us\": \"Drones capable of salvaging wrecks for valuables\", \n    \"description_es\": \"Drones capaces de recuperar restos en busca de objetos de valor.\", \n    \"description_fr\": \"Drones capables de récupérer des objets d'intérêt dans les épaves\", \n    \"description_it\": \"Drones capable of salvaging wrecks for valuables\", \n    \"description_ja\": \"資源を求めて残骸をサルベージすることのできるドローン\", \n    \"description_ko\": \"잔해로부터 아이템을 획득할 수 있는 특수 드론입니다.\", \n    \"description_ru\": \"Дроны, разбирающие металлолом и обломки кораблей в поисках ценных предметов\", \n    \"description_zh\": \"能从残骸中打捞有价值物品的无人机\", \n    \"descriptionID\": 283662, \n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Bergungsdrohnen\", \n    \"name_en-us\": \"Salvage Drones\", \n    \"name_es\": \"Drones recuperadores\", \n    \"name_fr\": \"Drones de récupération\", \n    \"name_it\": \"Salvage Drones\", \n    \"name_ja\": \"サルベージドローン\", \n    \"name_ko\": \"샐비지 드론\", \n    \"name_ru\": \"Дроны-демонтажники\", \n    \"name_zh\": \"打捞无人机\", \n    \"nameID\": 283661, \n    \"parentGroupID\": 157\n  }, \n  \"1650\": {\n    \"description_de\": \"Fortschrittliche Antriebstechnologie, die einen Sprung über eine sehr kurze Entfernung ermöglicht.\", \n    \"description_en-us\": \"Advanced propulsion technology that allows for a jump over a very short distance.\", \n    \"description_es\": \"Tecnología de propulsión avanzada que permite saltar distancias cortas.\", \n    \"description_fr\": \"Technologie de propulsion avancée permettant d'effectuer un saut sur une très courte distance.\", \n    \"description_it\": \"Advanced propulsion technology that allows for a jump over a very short distance.\", \n    \"description_ja\": \"新開発の推進技術により、超短距離ジャンプを可能にする。\", \n    \"description_ko\": \"첨단 추진기 기술로 근거리 점프가 가능합니다.\", \n    \"description_ru\": \"Усовершенствованная технология двигательной установки, позволяющая осуществлять прыжки на крайне небольшие расстояния.\", \n    \"description_zh\": \"这种先进的推进技术可以让你跳跃一小段距离。\", \n    \"descriptionID\": 283706, \n    \"hasTypes\": 1, \n    \"iconID\": 20971, \n    \"name_de\": \"Mikrosprungantriebe\", \n    \"name_en-us\": \"Micro Jump Drives\", \n    \"name_es\": \"Motores de microsalto\", \n    \"name_fr\": \"Propulseurs de microsauts\", \n    \"name_it\": \"Micro Jump Drives\", \n    \"name_ja\": \"超小型ジャンプドライブ\", \n    \"name_ko\": \"마이크로 점프 드라이브\", \n    \"name_ru\": \"Маневровые гипердвигатели\", \n    \"name_zh\": \"微型跳跃引擎\", \n    \"nameID\": 283705, \n    \"parentGroupID\": 52\n  }, \n  \"1651\": {\n    \"description_de\": \"Sicherheitscontainer\", \n    \"description_en-us\": \"Secure Containers\", \n    \"description_es\": \"Contenedores seguros.\", \n    \"description_fr\": \"Conteneurs sécurisés\", \n    \"description_it\": \"Secure Containers\", \n    \"description_ja\": \"セキュアコンテナ\", \n    \"description_ko\": \"보안 컨테이너\", \n    \"description_ru\": \"Защищенные контейнеры\", \n    \"description_zh\": \"安全货柜\", \n    \"descriptionID\": 283757, \n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Sicherheitscontainer\", \n    \"name_en-us\": \"Secure Containers\", \n    \"name_es\": \"Contenedores seguros\", \n    \"name_fr\": \"Conteneurs sécurisés\", \n    \"name_it\": \"Secure Containers\", \n    \"name_ja\": \"セキュアコンテナ\", \n    \"name_ko\": \"보안 컨테이너\", \n    \"name_ru\": \"Защищенные контейнеры\", \n    \"name_zh\": \"安全货柜\", \n    \"nameID\": 283756, \n    \"parentGroupID\": 379\n  }, \n  \"1652\": {\n    \"description_de\": \"Audit Log-Container\", \n    \"description_en-us\": \"Audit Log Containers\", \n    \"description_es\": \"Contenedores del registro de auditoría.\", \n    \"description_fr\": \"Conteneurs à journaux d'audit\", \n    \"description_it\": \"Audit Log Containers\", \n    \"description_ja\": \"監査ログコンテナ\", \n    \"description_ko\": \"암호화 컨테이너\", \n    \"description_ru\": \"Защищенные контейнеры с контролем доступа\", \n    \"description_zh\": \"审计密码集装箱\", \n    \"descriptionID\": 283759, \n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Audit-Protokollcontainer\", \n    \"name_en-us\": \"Audit Log Containers\", \n    \"name_es\": \"Contenedores del registro de auditoría\", \n    \"name_fr\": \"Conteneurs de journaux d'audit\", \n    \"name_it\": \"Audit Log Containers\", \n    \"name_ja\": \"監査ログコンテナ\", \n    \"name_ko\": \"암호화 컨테이너\", \n    \"name_ru\": \"Защищённые контейнеры с журналом\", \n    \"name_zh\": \"审计密码集装箱\", \n    \"nameID\": 283758, \n    \"parentGroupID\": 379\n  }, \n  \"1653\": {\n    \"description_de\": \"Frachtcontainer\", \n    \"description_en-us\": \"Freight Containers\", \n    \"description_es\": \"Contenedores de mercancías.\", \n    \"description_fr\": \"Conteneurs de fret\", \n    \"description_it\": \"Freight Containers\", \n    \"description_ja\": \"貨物コンテナ\", \n    \"description_ko\": \"화물 컨테이너\", \n    \"description_ru\": \"Транспортные контейнеры\", \n    \"description_zh\": \"货物集装箱\", \n    \"descriptionID\": 283761, \n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Frachtcontainer\", \n    \"name_en-us\": \"Freight Containers\", \n    \"name_es\": \"Contenedores de mercancías\", \n    \"name_fr\": \"Conteneurs de fret\", \n    \"name_it\": \"Freight Containers\", \n    \"name_ja\": \"貨物コンテナ\", \n    \"name_ko\": \"화물 컨테이너\", \n    \"name_ru\": \"Транспортные контейнеры\", \n    \"name_zh\": \"货物集装箱\", \n    \"nameID\": 283760, \n    \"parentGroupID\": 379\n  }, \n  \"1657\": {\n    \"description_de\": \"Standardcontainer\", \n    \"description_en-us\": \"Standard Containers\", \n    \"description_es\": \"Contenedores estándar.\", \n    \"description_fr\": \"Conteneurs standard\", \n    \"description_it\": \"Standard Containers\", \n    \"description_ja\": \"標準コンテナ\", \n    \"description_ko\": \"일반 컨테이너\", \n    \"description_ru\": \"Стандартные контейнеры\", \n    \"description_zh\": \"标准货柜\", \n    \"descriptionID\": 283768, \n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Standardcontainer\", \n    \"name_en-us\": \"Standard Containers\", \n    \"name_es\": \"Contenedores estándar\", \n    \"name_fr\": \"Conteneurs standards\", \n    \"name_it\": \"Standard Containers\", \n    \"name_ja\": \"標準コンテナ\", \n    \"name_ko\": \"일반 컨테이너\", \n    \"name_ru\": \"Стандартные контейнеры\", \n    \"name_zh\": \"标准货柜\", \n    \"nameID\": 283767, \n    \"parentGroupID\": 379\n  }, \n  \"1658\": {\n    \"description_de\": \"Stationscontainer\", \n    \"description_en-us\": \"Station Containers\", \n    \"description_es\": \"Contenedores de estación.\", \n    \"description_fr\": \"Conteneurs de la station\", \n    \"description_it\": \"Station Containers\", \n    \"description_ja\": \"ステーションコンテナ\", \n    \"description_ko\": \"정거장 컨테이너\", \n    \"description_ru\": \"Станционные контейнеры\", \n    \"description_zh\": \"空间站集装箱\", \n    \"descriptionID\": 283769, \n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Stationscontainer\", \n    \"name_en-us\": \"Station Containers\", \n    \"name_es\": \"Contenedores de estación\", \n    \"name_fr\": \"Conteneurs de station\", \n    \"name_it\": \"Station Containers\", \n    \"name_ja\": \"ステーションコンテナ\", \n    \"name_ko\": \"정거장 컨테이너\", \n    \"name_ru\": \"Станционные контейнеры\", \n    \"name_zh\": \"空间站集装箱\", \n    \"nameID\": 283766, \n    \"parentGroupID\": 379\n  }, \n  \"1659\": {\n    \"description_de\": \"Sonderversionen sind typischerweise limitierte Gegenstände, die mit zurückliegenden Ereignissen in New Eden zusammenhängen, wie zum Beispiel dem Allianzturnier.\", \n    \"description_en-us\": \"Special Edition Assets are typically limited run items associated with past events in New Eden, such as the Alliance Tournament\", \n    \"description_es\": \"Los artículos de edición especial suelen ser objetos limitados y asociados a eventos pasados de Nuevo Edén, como el Torneo de Alianzas.\", \n    \"description_fr\": \"En général, les actifs en version spéciale sont des objets à usage limité relatifs à des événements qui se sont produit dans New Eden, comme le Tournoi des alliances\", \n    \"description_it\": \"Special Edition Assets are typically limited run items associated with past events in New Eden, such as the Alliance Tournament\", \n    \"description_ja\": \"特別版資産は通常、アライアンストーナメントなどのニューエデンの過去のイベントに関連する限定アイテムです\", \n    \"description_ko\": \"스페셜 에디션 아이템은 얼라이언스 토너먼트와 같은 이벤트를 통해 배포됩니다.\", \n    \"description_ru\": \"Предметы из особых изданий как правило представляют собой вещи, связанные с примечательными событиями, происходящими в Новом Эдеме — например, с Турниром альянсов.\", \n    \"description_zh\": \"特别版商品一般是和新伊甸的各种活动（例如联盟锦标赛）相关的限量版物品\", \n    \"descriptionID\": 285222, \n    \"hasTypes\": 0, \n    \"name_de\": \"Sonderversionen\", \n    \"name_en-us\": \"Special Edition Assets\", \n    \"name_es\": \"Artículos de edición especial\", \n    \"name_fr\": \"Objets édition spéciale\", \n    \"name_it\": \"Special Edition Assets\", \n    \"name_ja\": \"特別版資産\", \n    \"name_ko\": \"스페셜 에디션 아이템\", \n    \"name_ru\": \"Предметы из особых изданий\", \n    \"name_zh\": \"特别版用品\", \n    \"nameID\": 285221\n  }, \n  \"1660\": {\n    \"description_de\": \"Sonderversionen: Turnierkarten\", \n    \"description_en-us\": \"Special Edition Tournament Cards\", \n    \"description_es\": \"Cartas de torneos de edición especial.\", \n    \"description_fr\": \"Cartes de tournoi édition spéciale\", \n    \"description_it\": \"Special Edition Tournament Cards\", \n    \"description_ja\": \"特別版トーナメントカード\", \n    \"description_ko\": \"토너먼트 카드\", \n    \"description_ru\": \"Турнирные карты из особых изданий\", \n    \"description_zh\": \"特别版锦标赛卡片\", \n    \"descriptionID\": 285224, \n    \"hasTypes\": 0, \n    \"iconID\": 21065, \n    \"name_de\": \"Sonderversionen: Turnierkarten\", \n    \"name_en-us\": \"Special Edition Tournament Cards\", \n    \"name_es\": \"Cartas de torneos de edición especial\", \n    \"name_fr\": \"Cartes de tournoi édition spéciale\", \n    \"name_it\": \"Special Edition Tournament Cards\", \n    \"name_ja\": \"特別版トーナメントカード\", \n    \"name_ko\": \"토너먼트 카드\", \n    \"name_ru\": \"Турнирные карты из особых изданий\", \n    \"name_zh\": \"特别版锦标赛卡片\", \n    \"nameID\": 285223, \n    \"parentGroupID\": 1659\n  }, \n  \"1661\": {\n    \"description_de\": \"Sonderversionen: Handelsgüter\", \n    \"description_en-us\": \"Special Edition Commodities\", \n    \"description_es\": \"Mercancías de edición especial.\", \n    \"description_fr\": \"Marchandises édition spéciale\", \n    \"description_it\": \"Special Edition Commodities\", \n    \"description_ja\": \"特別版加工品\", \n    \"description_ko\": \"상품\", \n    \"description_ru\": \"Товары из особых изданий\", \n    \"description_zh\": \"特别版商品\", \n    \"descriptionID\": 285269, \n    \"hasTypes\": 0, \n    \"iconID\": 2231, \n    \"name_de\": \"Sonderversionen: Handelsgüter\", \n    \"name_en-us\": \"Special Edition Commodities\", \n    \"name_es\": \"Mercancías de edición especial\", \n    \"name_fr\": \"Marchandises édition spéciale\", \n    \"name_it\": \"Special Edition Commodities\", \n    \"name_ja\": \"特別版加工品\", \n    \"name_ko\": \"상품\", \n    \"name_ru\": \"Товары из особых изданий\", \n    \"name_zh\": \"特别版商品\", \n    \"nameID\": 285268, \n    \"parentGroupID\": 1659\n  }, \n  \"1662\": {\n    \"description_de\": \"Sonderversionen: Bekleidung\", \n    \"description_en-us\": \"Special Edition Apparel\", \n    \"description_es\": \"Indumentaria de edición especial.\", \n    \"description_fr\": \"Uniforme édition spéciale\", \n    \"description_it\": \"Special Edition Apparel\", \n    \"description_ja\": \"特別版アパレル\", \n    \"description_ko\": \"의류\", \n    \"description_ru\": \"Одежда из особых изданий\", \n    \"description_zh\": \"特别版服饰\", \n    \"descriptionID\": 285271, \n    \"hasTypes\": 1, \n    \"iconID\": 20977, \n    \"name_de\": \"Sonderversionen: Bekleidung\", \n    \"name_en-us\": \"Special Edition Apparel\", \n    \"name_es\": \"Indumentaria de edición especial\", \n    \"name_fr\": \"Vêtements édition spéciale\", \n    \"name_it\": \"Special Edition Apparel\", \n    \"name_ja\": \"特別版アパレル\", \n    \"name_ko\": \"의류\", \n    \"name_ru\": \"Одежда из особых изданий\", \n    \"name_zh\": \"特别版服饰\", \n    \"nameID\": 285270, \n    \"parentGroupID\": 1659\n  }, \n  \"1663\": {\n    \"description_de\": \"Sonderversionen: Festivalgegenstände\", \n    \"description_en-us\": \"Special Edition Festival Assets\", \n    \"description_es\": \"Artículos festivos de edición especial.\", \n    \"description_fr\": \"Ressources festives édition spéciale\", \n    \"description_it\": \"Special Edition Festival Assets\", \n    \"description_ja\": \"特別版フェスティバル用品\", \n    \"description_ko\": \"축제 아이템\", \n    \"description_ru\": \"Фестивальные предметы из особых изданий\", \n    \"description_zh\": \"特别版节日用品\", \n    \"descriptionID\": 285273, \n    \"hasTypes\": 1, \n    \"iconID\": 20973, \n    \"name_de\": \"Sonderversionen: Festivalgegenstände\", \n    \"name_en-us\": \"Special Edition Festival Assets\", \n    \"name_es\": \"Artículos festivos de edición especial\", \n    \"name_fr\": \"Objets de festival édition spéciale\", \n    \"name_it\": \"Special Edition Festival Assets\", \n    \"name_ja\": \"特別版フェスティバル用品\", \n    \"name_ko\": \"축제 아이템\", \n    \"name_ru\": \"Фестивальные предметы из особых изданий\", \n    \"name_zh\": \"特别版节日用品\", \n    \"nameID\": 285272, \n    \"parentGroupID\": 1659\n  }, \n  \"1665\": {\n    \"description_de\": \"Thermalbeschichtungen\", \n    \"description_en-us\": \"Thermal Coatings\", \n    \"description_es\": \"Recubrimientos térmicos.\", \n    \"description_fr\": \"Surcouches thermiques\", \n    \"description_it\": \"Thermal Coatings\", \n    \"description_ja\": \"サーマルコーティング\", \n    \"description_ko\": \"열 저항력 코팅\", \n    \"description_ru\": \"Термальные покрытия\", \n    \"description_zh\": \"热能涂层\", \n    \"descriptionID\": 285353, \n    \"hasTypes\": 1, \n    \"iconID\": 1394, \n    \"name_de\": \"Thermalbeschichtungen\", \n    \"name_en-us\": \"Thermal Coatings\", \n    \"name_es\": \"Recubrimientos térmicos\", \n    \"name_fr\": \"Surcouches thermiques\", \n    \"name_it\": \"Thermal Coatings\", \n    \"name_ja\": \"サーマルコーティング\", \n    \"name_ko\": \"열 저항력 코팅\", \n    \"name_ru\": \"Термальные покрытия\", \n    \"name_zh\": \"热能涂层\", \n    \"nameID\": 285352, \n    \"parentGroupID\": 540\n  }, \n  \"1666\": {\n    \"description_de\": \"Kinetikbeschichtungen\", \n    \"description_en-us\": \"Kinetic Coatings\", \n    \"description_es\": \"Recubrimientos cinéticos.\", \n    \"description_fr\": \"Surcouches cinétiques\", \n    \"description_it\": \"Kinetic Coatings\", \n    \"description_ja\": \"キネティックコーティング\", \n    \"description_ko\": \"키네틱 저항력 코팅\", \n    \"description_ru\": \"Кинетические покрытия\", \n    \"description_zh\": \"动能涂层\", \n    \"descriptionID\": 285355, \n    \"hasTypes\": 1, \n    \"iconID\": 1393, \n    \"name_de\": \"Kinetikbeschichtungen\", \n    \"name_en-us\": \"Kinetic Coatings\", \n    \"name_es\": \"Recubrimientos cinéticos\", \n    \"name_fr\": \"Surcouches cinétiques\", \n    \"name_it\": \"Kinetic Coatings\", \n    \"name_ja\": \"キネティックコーティング\", \n    \"name_ko\": \"키네틱 저항력 코팅\", \n    \"name_ru\": \"Кинетические покрытия\", \n    \"name_zh\": \"动能涂层\", \n    \"nameID\": 285354, \n    \"parentGroupID\": 540\n  }, \n  \"1667\": {\n    \"description_de\": \"Explosionsbeschichtungen\", \n    \"description_en-us\": \"Explosive Coatings\", \n    \"description_es\": \"Recubrimientos explosivos.\", \n    \"description_fr\": \"Surcouches explosives\", \n    \"description_it\": \"Explosive Coatings\", \n    \"description_ja\": \"エクスプローシブコーティング\", \n    \"description_ko\": \"폭발 저항력 코팅\", \n    \"description_ru\": \"Взрывные покрытия\", \n    \"description_zh\": \"爆炸涂层\", \n    \"descriptionID\": 285357, \n    \"hasTypes\": 1, \n    \"iconID\": 1395, \n    \"name_de\": \"Explosionsbeschichtungen\", \n    \"name_en-us\": \"Explosive Coatings\", \n    \"name_es\": \"Recubrimientos explosivos\", \n    \"name_fr\": \"Surcouches explosives\", \n    \"name_it\": \"Explosive Coatings\", \n    \"name_ja\": \"エクスプローシブコーティング\", \n    \"name_ko\": \"폭발 저항력 코팅\", \n    \"name_ru\": \"Взрывные покрытия\", \n    \"name_zh\": \"爆炸涂层\", \n    \"nameID\": 285356, \n    \"parentGroupID\": 540\n  }, \n  \"1668\": {\n    \"description_de\": \"EM-Beschichtungen\", \n    \"description_en-us\": \"EM Coatings\", \n    \"description_es\": \"Recubrimientos electromagnéticos.\", \n    \"description_fr\": \"Surcouches EM\", \n    \"description_it\": \"EM Coatings\", \n    \"description_ja\": \"EMコーティング\", \n    \"description_ko\": \"EM 저항력 코팅\", \n    \"description_ru\": \"ЭМ-покрытия\", \n    \"description_zh\": \"电磁涂层\", \n    \"descriptionID\": 285359, \n    \"hasTypes\": 1, \n    \"iconID\": 1396, \n    \"name_de\": \"EM-Beschichtungen\", \n    \"name_en-us\": \"EM Coatings\", \n    \"name_es\": \"Recubrimientos electromagnéticos\", \n    \"name_fr\": \"Surcouches EM\", \n    \"name_it\": \"EM Coatings\", \n    \"name_ja\": \"EMコーティング\", \n    \"name_ko\": \"EM 저항력 코팅\", \n    \"name_ru\": \"ЭМ-покрытия\", \n    \"name_zh\": \"电磁涂层\", \n    \"nameID\": 285358, \n    \"parentGroupID\": 540\n  }, \n  \"1669\": {\n    \"description_de\": \"Mehrschichtige Panzerungsbeschichtungen\", \n    \"description_en-us\": \"Layered Armor Coatings\", \n    \"description_es\": \"Recubrimientos de blindaje por capas.\", \n    \"description_fr\": \"Surcouches de blindage superposées\", \n    \"description_it\": \"Layered Armor Coatings\", \n    \"description_ja\": \"積層加工アーマーコーティング\", \n    \"description_ko\": \"중첩 장갑 코팅\", \n    \"description_ru\": \"Многослойные покрытия брони\", \n    \"description_zh\": \"覆层装甲涂层\", \n    \"descriptionID\": 285361, \n    \"hasTypes\": 1, \n    \"iconID\": 1030, \n    \"name_de\": \"Mehrschichtige Panzerungsbeschichtungen\", \n    \"name_en-us\": \"Layered Armor Coatings\", \n    \"name_es\": \"Recubrimientos de blindaje por capas\", \n    \"name_fr\": \"Surcouches de blindage superposées\", \n    \"name_it\": \"Layered Armor Coatings\", \n    \"name_ja\": \"積層加工アーマーコーティング\", \n    \"name_ko\": \"중첩 장갑 코팅\", \n    \"name_ru\": \"Многослойные покрытия брони\", \n    \"name_zh\": \"覆层装甲涂层\", \n    \"nameID\": 285360, \n    \"parentGroupID\": 14\n  }, \n  \"1670\": {\n    \"description_de\": \"Multispektrum-Beschichtungen\", \n    \"description_en-us\": \"Multispectrum Coatings\", \n    \"description_es\": \"Recubrimientos multiespectro.\", \n    \"description_fr\": \"Surcouches multispectres\", \n    \"description_it\": \"Multispectrum Coatings\", \n    \"description_ja\": \"マルチスペクトルコーティング\", \n    \"description_ko\": \"다중스팩트럼 코팅\", \n    \"description_ru\": \"Универсальные покрытия\", \n    \"description_zh\": \"多谱式涂层\", \n    \"descriptionID\": 285363, \n    \"hasTypes\": 1, \n    \"iconID\": 1030, \n    \"name_de\": \"Multispektrum-Beschichtungen\", \n    \"name_en-us\": \"Multispectrum Coatings\", \n    \"name_es\": \"Recubrimientos multiespectro\", \n    \"name_fr\": \"Surcouches multispectres\", \n    \"name_it\": \"Multispectrum Coatings\", \n    \"name_ja\": \"マルチスペクトルコーティング\", \n    \"name_ko\": \"다중스팩트럼 코팅\", \n    \"name_ru\": \"Универсальные покрытия\", \n    \"name_zh\": \"多谱式涂层\", \n    \"nameID\": 285362, \n    \"parentGroupID\": 540\n  }, \n  \"1672\": {\n    \"description_de\": \"Abwehrplatte – 100mm\", \n    \"description_en-us\": \"100mm Armor Plate\", \n    \"description_es\": \"Placa de blindaje de 100 mm.\", \n    \"description_fr\": \"Plaque de blindage de 100 mm\", \n    \"description_it\": \"100mm Armor Plate\", \n    \"description_ja\": \"100mmアーマープレート\", \n    \"description_ko\": \"100mm 장갑 플레이트입니다.\", \n    \"description_ru\": \"Бронеплиты толщиной 100 мм\", \n    \"description_zh\": \"100mm装甲附甲板\", \n    \"descriptionID\": 285373, \n    \"hasTypes\": 1, \n    \"iconID\": 79, \n    \"name_de\": \"Panzerplatten - 100mm\", \n    \"name_en-us\": \"100mm Armor Plate\", \n    \"name_es\": \"Placa de blindaje de 100 mm\", \n    \"name_fr\": \"Plaque de blindage de 100 mm\", \n    \"name_it\": \"100mm Armor Plate\", \n    \"name_ja\": \"100mmアーマープレート\", \n    \"name_ko\": \"100mm 장갑 플레이트\", \n    \"name_ru\": \"100 мм\", \n    \"name_zh\": \"100mm装甲附甲板\", \n    \"nameID\": 285368, \n    \"parentGroupID\": 133\n  }, \n  \"1673\": {\n    \"description_de\": \"Abwehrplatte – 200mm\", \n    \"description_en-us\": \"200mm Armor Plate\", \n    \"description_es\": \"Placa de blindaje de 200 mm.\", \n    \"description_fr\": \"Plaque de blindage de 200 mm\", \n    \"description_it\": \"200mm Armor Plate\", \n    \"description_ja\": \"200mmアーマープレート\", \n    \"description_ko\": \"200mm 장갑 플레이트\", \n    \"description_ru\": \"Бронеплиты толщиной 200 мм\", \n    \"description_zh\": \"200mm装甲附甲板\", \n    \"descriptionID\": 285372, \n    \"hasTypes\": 1, \n    \"iconID\": 79, \n    \"name_de\": \"Panzerplatten - 200mm\", \n    \"name_en-us\": \"200mm Armor Plate\", \n    \"name_es\": \"Placa de blindaje de 200 mm\", \n    \"name_fr\": \"Plaque de blindage de 200 mm\", \n    \"name_it\": \"200mm Armor Plate\", \n    \"name_ja\": \"200mmアーマープレート\", \n    \"name_ko\": \"200mm 장갑 플레이트\", \n    \"name_ru\": \"200 мм\", \n    \"name_zh\": \"200mm装甲附甲板\", \n    \"nameID\": 285367, \n    \"parentGroupID\": 133\n  }, \n  \"1674\": {\n    \"description_de\": \"Abwehrplatte – 400mm\", \n    \"description_en-us\": \"400mm Armor Plate\", \n    \"description_es\": \"Placa de blindaje de 400 mm.\", \n    \"description_fr\": \"Plaque de blindage de 400 mm\", \n    \"description_it\": \"400mm Armor Plate\", \n    \"description_ja\": \"400mmアーマープレート\", \n    \"description_ko\": \"400mm 장갑 플레이트\", \n    \"description_ru\": \"Бронеплиты толщиной 400 мм\", \n    \"description_zh\": \"400mm装甲附甲板\", \n    \"descriptionID\": 285371, \n    \"hasTypes\": 1, \n    \"iconID\": 79, \n    \"name_de\": \"Panzerplatten - 400mm\", \n    \"name_en-us\": \"400mm Armor Plate\", \n    \"name_es\": \"Placa de blindaje de 400 mm\", \n    \"name_fr\": \"Plaque de blindage de 400 mm\", \n    \"name_it\": \"400mm Armor Plate\", \n    \"name_ja\": \"400mmアーマープレート\", \n    \"name_ko\": \"400mm 장갑 플레이트\", \n    \"name_ru\": \"400 мм\", \n    \"name_zh\": \"400mm装甲附甲板\", \n    \"nameID\": 285366, \n    \"parentGroupID\": 133\n  }, \n  \"1675\": {\n    \"description_de\": \"Abwehrplatte – 800mm\", \n    \"description_en-us\": \"800mm Armor Plate\", \n    \"description_es\": \"Placa de blindaje 800 mm.\", \n    \"description_fr\": \"Plaque de blindage de 800 mm\", \n    \"description_it\": \"800mm Armor Plate\", \n    \"description_ja\": \"800mmアーマープレート\", \n    \"description_ko\": \"800mm 장갑 플레이트\", \n    \"description_ru\": \"Бронеплиты толщиной 800 мм\", \n    \"description_zh\": \"800mm装甲附甲板\", \n    \"descriptionID\": 285374, \n    \"hasTypes\": 1, \n    \"iconID\": 79, \n    \"name_de\": \"Panzerplatten - 800mm\", \n    \"name_en-us\": \"800mm Armor Plate\", \n    \"name_es\": \"Placa de blindaje de 800 mm\", \n    \"name_fr\": \"Plaque de blindage de 800 mm\", \n    \"name_it\": \"800mm Armor Plate\", \n    \"name_ja\": \"800mmアーマープレート\", \n    \"name_ko\": \"800mm 장갑 플레이트\", \n    \"name_ru\": \"800 мм\", \n    \"name_zh\": \"800mm装甲附甲板\", \n    \"nameID\": 285365, \n    \"parentGroupID\": 133\n  }, \n  \"1676\": {\n    \"description_de\": \"Abwehrplatte – 1600mm\", \n    \"description_en-us\": \"1600mm Armor Plate\", \n    \"description_es\": \"Placa de blindaje de 1600 mm.\", \n    \"description_fr\": \"Plaque de blindage de 1 600 mm\", \n    \"description_it\": \"1600mm Armor Plate\", \n    \"description_ja\": \"1600mmアーマープレート\", \n    \"description_ko\": \"1600mm 장갑 플레이트\", \n    \"description_ru\": \"Бронеплиты толщиной 1600 мм\", \n    \"description_zh\": \"1600mm装甲附甲板\", \n    \"descriptionID\": 285370, \n    \"hasTypes\": 1, \n    \"iconID\": 79, \n    \"name_de\": \"Panzerplatten - 1600mm\", \n    \"name_en-us\": \"1600mm Armor Plate\", \n    \"name_es\": \"Placa de blindaje de 1600 mm\", \n    \"name_fr\": \"Plaque de blindage de 1600 mm\", \n    \"name_it\": \"1600mm Armor Plate\", \n    \"name_ja\": \"1600mmアーマープレート\", \n    \"name_ko\": \"1600mm 장갑 플레이트\", \n    \"name_ru\": \"1600 мм\", \n    \"name_zh\": \"1600mm装甲附甲板\", \n    \"nameID\": 285364, \n    \"parentGroupID\": 133\n  }, \n  \"1678\": {\n    \"description_de\": \"Thermalpanzerungsverstärker\", \n    \"description_en-us\": \"Thermal Armor Hardeners\", \n    \"description_es\": \"Endurecedores de blindaje térmicos.\", \n    \"description_fr\": \"Renforcements de blindage thermique\", \n    \"description_it\": \"Thermal Armor Hardeners\", \n    \"description_ja\": \"サーマルアーマーハードナー\", \n    \"description_ko\": \"내열성 장갑 강화장치\", \n    \"description_ru\": \"Системы укрепления брони против действия теплового оружия\", \n    \"description_zh\": \"热能装甲增强器\", \n    \"descriptionID\": 285381, \n    \"hasTypes\": 1, \n    \"iconID\": 1394, \n    \"name_de\": \"Thermalpanzerungshärter\", \n    \"name_en-us\": \"Thermal Armor Hardeners\", \n    \"name_es\": \"Endurecedores de blindaje térmicos\", \n    \"name_fr\": \"Renforcements de blindage thermique\", \n    \"name_it\": \"Thermal Armor Hardeners\", \n    \"name_ja\": \"サーマルアーマーハードナー\", \n    \"name_ko\": \"내열성 장갑 강화장치\", \n    \"name_ru\": \"Антитермические\", \n    \"name_zh\": \"热能装甲增强器\", \n    \"nameID\": 285378, \n    \"parentGroupID\": 535\n  }, \n  \"1679\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1393, \n    \"name_de\": \"Kinetikpanzerungshärter\", \n    \"name_en-us\": \"Kinetic Armor Hardeners\", \n    \"name_es\": \"Endurecedores de blindaje cinéticos\", \n    \"name_fr\": \"Renforcements de blindage cinétique\", \n    \"name_it\": \"Kinetic Armor Hardeners\", \n    \"name_ja\": \"キネティックアーマーハードナー\", \n    \"name_ko\": \"키네틱 장갑 강화장치\", \n    \"name_ru\": \"Антикинетические\", \n    \"name_zh\": \"动能装甲增强器\", \n    \"nameID\": 285377, \n    \"parentGroupID\": 535\n  }, \n  \"1680\": {\n    \"description_de\": \"Explosivpanzerungsverstärker\", \n    \"description_en-us\": \"Explosive Armor Hardeners\", \n    \"description_es\": \"Endurecedores de blindaje explosivos.\", \n    \"description_fr\": \"Renforcements de blindage explosif\", \n    \"description_it\": \"Explosive Armor Hardeners\", \n    \"description_ja\": \"エクスプローシブアーマーハードナー\", \n    \"description_ko\": \"방폭성 장갑 강화장치\", \n    \"description_ru\": \"Системы укрепления брони против действия взрыва\", \n    \"description_zh\": \"爆炸装甲增强器\", \n    \"descriptionID\": 285380, \n    \"hasTypes\": 1, \n    \"iconID\": 1395, \n    \"name_de\": \"Explosionspanzerungshärter\", \n    \"name_en-us\": \"Explosive Armor Hardeners\", \n    \"name_es\": \"Endurecedores de blindaje explosivos\", \n    \"name_fr\": \"Renforcements de blindage explosif\", \n    \"name_it\": \"Explosive Armor Hardeners\", \n    \"name_ja\": \"エクスプローシブアーマーハードナー\", \n    \"name_ko\": \"방폭성 장갑 강화장치\", \n    \"name_ru\": \"Антифугасные\", \n    \"name_zh\": \"爆炸装甲增强器\", \n    \"nameID\": 285376, \n    \"parentGroupID\": 535\n  }, \n  \"1681\": {\n    \"description_de\": \"EM-Panzerungsverstärker\", \n    \"description_en-us\": \"EM Armor Hardeners\", \n    \"description_es\": \"Endurecedores de blindaje electromagnéticos.\", \n    \"description_fr\": \"Renforcements de blindage électromagnétique\", \n    \"description_it\": \"EM Armor Hardeners\", \n    \"description_ja\": \"EMアーマーハードナー\", \n    \"description_ko\": \"EM 장갑 강화장치\", \n    \"description_ru\": \"Системы укрепления брони против действия ЭМ-оружия\", \n    \"description_zh\": \"电磁装甲增强器\", \n    \"descriptionID\": 285382, \n    \"hasTypes\": 1, \n    \"iconID\": 1396, \n    \"name_de\": \"EM-Panzerungshärter\", \n    \"name_en-us\": \"EM Armor Hardeners\", \n    \"name_es\": \"Endurecedores de blindaje electromagnéticos\", \n    \"name_fr\": \"Renforcements de blindage EM\", \n    \"name_it\": \"EM Armor Hardeners\", \n    \"name_ja\": \"EMアーマーハードナー\", \n    \"name_ko\": \"EM 장갑 강화장치\", \n    \"name_ru\": \"Анти-ЭМ\", \n    \"name_zh\": \"电磁装甲增强器\", \n    \"nameID\": 285379, \n    \"parentGroupID\": 535\n  }, \n  \"1682\": {\n    \"description_de\": \"Spannungsunterstützte explosive Membranen\", \n    \"description_en-us\": \"Explosive Energized Membranes\", \n    \"description_es\": \"Membranas energizadas explosivas.\", \n    \"description_fr\": \"Membranes énergétiques explosives\", \n    \"description_it\": \"Explosive Energized Membranes\", \n    \"description_ja\": \"エクスプローシブ電磁加工装甲\", \n    \"description_ko\": \"폭발 저항력 에너지 멤브레인\", \n    \"description_ru\": \"Заряжаемые взрывные мембраны\", \n    \"description_zh\": \"爆炸电压薄膜\", \n    \"descriptionID\": 285386, \n    \"hasTypes\": 1, \n    \"iconID\": 1395, \n    \"name_de\": \"Spannungsunterstützte explosive Membranen\", \n    \"name_en-us\": \"Explosive Energized Membranes\", \n    \"name_es\": \"Membranas energizadas explosivas\", \n    \"name_fr\": \"Membranes énergétiques explosives\", \n    \"name_it\": \"Explosive Energized Membranes\", \n    \"name_ja\": \"エクスプローシブ電磁加工装甲\", \n    \"name_ko\": \"폭발 저항력 에너지 멤브레인\", \n    \"name_ru\": \"Заряжаемые взрывные мембраны\", \n    \"name_zh\": \"爆炸电压薄膜\", \n    \"nameID\": 285385, \n    \"parentGroupID\": 541\n  }, \n  \"1683\": {\n    \"description_de\": \"Thermale spannungsunterstützte Membranen\", \n    \"description_en-us\": \"Thermal Energized Membranes\", \n    \"description_es\": \"Membranas energizadas térmicas.\", \n    \"description_fr\": \"Membranes énergétiques thermiques\", \n    \"description_it\": \"Thermal Energized Membranes\", \n    \"description_ja\": \"サーマル電磁加工装甲\", \n    \"description_ko\": \"열 저항력 에너지 멤브레인\", \n    \"description_ru\": \"Заряжаемые термальные мембраны\", \n    \"description_zh\": \"热能电压薄膜\", \n    \"descriptionID\": 285388, \n    \"hasTypes\": 1, \n    \"iconID\": 1394, \n    \"name_de\": \"Thermale spannungsunterstützte Membranen\", \n    \"name_en-us\": \"Thermal Energized Membranes\", \n    \"name_es\": \"Membranas energizadas térmicas\", \n    \"name_fr\": \"Membranes énergétiques thermiques\", \n    \"name_it\": \"Thermal Energized Membranes\", \n    \"name_ja\": \"サーマル電磁加工装甲\", \n    \"name_ko\": \"열 저항력 에너지 멤브레인\", \n    \"name_ru\": \"Заряжаемые термальные мембраны\", \n    \"name_zh\": \"热能电压薄膜\", \n    \"nameID\": 285387, \n    \"parentGroupID\": 541\n  }, \n  \"1684\": {\n    \"description_de\": \"Spannungsunterstützte EM-Membranen\", \n    \"description_en-us\": \"EM Energized Membranes\", \n    \"description_es\": \"Membranas energizadas electromagnéticas.\", \n    \"description_fr\": \"Membranes énergétiques EM\", \n    \"description_it\": \"EM Energized Membranes\", \n    \"description_ja\": \"EM電磁加工装甲\", \n    \"description_ko\": \"EM 저항력 에너지 멤브레인\", \n    \"description_ru\": \"Заряжаемые EM-мембраны\", \n    \"description_zh\": \"电磁电压薄膜\", \n    \"descriptionID\": 285390, \n    \"hasTypes\": 1, \n    \"iconID\": 1396, \n    \"name_de\": \"Spannungsunterstützte EM-Membranen\", \n    \"name_en-us\": \"EM Energized Membranes\", \n    \"name_es\": \"Membranas energizadas electromagnéticas\", \n    \"name_fr\": \"Membranes énergétiques EM\", \n    \"name_it\": \"EM Energized Membranes\", \n    \"name_ja\": \"EM電磁加工装甲\", \n    \"name_ko\": \"EM 저항력 에너지 멤브레인\", \n    \"name_ru\": \"Заряжаемые EM-мембраны\", \n    \"name_zh\": \"电磁电压薄膜\", \n    \"nameID\": 285389, \n    \"parentGroupID\": 541\n  }, \n  \"1685\": {\n    \"description_de\": \"Kinetische spannungsunterstützte Membranen\", \n    \"description_en-us\": \"Kinetic Energized Membranes\", \n    \"description_es\": \"Membranas energizadas cinéticas.\", \n    \"description_fr\": \"Membranes énergétiques cinétiques\", \n    \"description_it\": \"Kinetic Energized Membranes\", \n    \"description_ja\": \"キネティック電磁加工装甲\", \n    \"description_ko\": \"키네틱 저항력 에너지 멤브레인\", \n    \"description_ru\": \"Заряжаемые кинетические мембраны\", \n    \"description_zh\": \"动能电压薄膜\", \n    \"descriptionID\": 285392, \n    \"hasTypes\": 1, \n    \"iconID\": 1393, \n    \"name_de\": \"Kinetische spannungsunterstützte Membranen\", \n    \"name_en-us\": \"Kinetic Energized Membranes\", \n    \"name_es\": \"Membranas energizadas cinéticas\", \n    \"name_fr\": \"Membranes énergétiques cinétiques\", \n    \"name_it\": \"Kinetic Energized Membranes\", \n    \"name_ja\": \"キネティック電磁加工装甲\", \n    \"name_ko\": \"키네틱 저항력 에너지 멤브레인\", \n    \"name_ru\": \"Заряжаемые кинетические мембраны\", \n    \"name_zh\": \"动能电压薄膜\", \n    \"nameID\": 285391, \n    \"parentGroupID\": 541\n  }, \n  \"1686\": {\n    \"description_de\": \"Spannungsunterstützte Multispektrum-Membranen\", \n    \"description_en-us\": \"Multispectrum Energized Membranes\", \n    \"description_es\": \"Membranas energizadas multiespectro.\", \n    \"description_fr\": \"Membranes énergétiques multispectres\", \n    \"description_it\": \"Multispectrum Energized Membranes\", \n    \"description_ja\": \"マルチスペクトル電磁加工装甲\", \n    \"description_ko\": \"다중스팩트럼 에너지 멤브레인\", \n    \"description_ru\": \"Заряжаемые универсальные мембраны\", \n    \"description_zh\": \"多谱式电压薄膜\", \n    \"descriptionID\": 285394, \n    \"hasTypes\": 1, \n    \"iconID\": 2066, \n    \"name_de\": \"Spannungsunterstützte Multispektrum-Membranen\", \n    \"name_en-us\": \"Multispectrum Energized Membranes\", \n    \"name_es\": \"Membranas energizadas multiespectro\", \n    \"name_fr\": \"Membranes énergétiques multispectres\", \n    \"name_it\": \"Multispectrum Energized Membranes\", \n    \"name_ja\": \"マルチスペクトル電磁加工装甲\", \n    \"name_ko\": \"다중스팩트럼 에너지 멤브레인\", \n    \"name_ru\": \"Заряжаемые универсальные мембраны\", \n    \"name_zh\": \"多谱式电压薄膜\", \n    \"nameID\": 285393, \n    \"parentGroupID\": 541\n  }, \n  \"1687\": {\n    \"description_de\": \"Mehrschichtige spannungsunterstützte Panzerungsmembranen\", \n    \"description_en-us\": \"Layered Energized Armor Membranes\", \n    \"description_es\": \"Membranas de blindaje energizadas por capas.\", \n    \"description_fr\": \"Membranes de blindage énergétiques par couches\", \n    \"description_it\": \"Layered Energized Armor Membranes\", \n    \"description_ja\": \"積層電磁加工アーマー装甲\", \n    \"description_ko\": \"중첩 장갑 에너지 멤브레인\", \n    \"description_ru\": \"Многослойные заряжаемые мембраны брони\", \n    \"description_zh\": \"覆层电压装甲薄膜\", \n    \"descriptionID\": 285396, \n    \"hasTypes\": 1, \n    \"iconID\": 2066, \n    \"name_de\": \"Mehrschichtige spannungsunterstützte Panzerungsmembranen\", \n    \"name_en-us\": \"Layered Energized Armor Membranes\", \n    \"name_es\": \"Membranas de blindaje energizadas por capas\", \n    \"name_fr\": \"Membranes de blindage énergétiques par couches\", \n    \"name_it\": \"Layered Energized Armor Membranes\", \n    \"name_ja\": \"積層電磁加工アーマー装甲\", \n    \"name_ko\": \"중첩 장갑 에너지 멤브레인\", \n    \"name_ru\": \"Многослойные заряжаемые мембраны брони\", \n    \"name_zh\": \"覆层电压装甲薄膜\", \n    \"nameID\": 285395, \n    \"parentGroupID\": 14\n  }, \n  \"1688\": {\n    \"description_de\": \"Thermalschildverstärker\", \n    \"description_en-us\": \"Thermal Shield Amplifiers\", \n    \"description_es\": \"Amplificadores de escudo térmicos.\", \n    \"description_fr\": \"Amplificateurs de bouclier thermique\", \n    \"description_it\": \"Thermal Shield Amplifiers\", \n    \"description_ja\": \"サーマルシールド増幅器\", \n    \"description_ko\": \"열 저항력 실드 증폭기\", \n    \"description_ru\": \"Термальные усилители щитов\", \n    \"description_zh\": \"热能护盾增效器\", \n    \"descriptionID\": 285398, \n    \"hasTypes\": 1, \n    \"iconID\": 1394, \n    \"name_de\": \"Thermalschildverstärker\", \n    \"name_en-us\": \"Thermal Shield Amplifiers\", \n    \"name_es\": \"Amplificadores de escudo térmicos\", \n    \"name_fr\": \"Amplificateurs de bouclier thermique\", \n    \"name_it\": \"Thermal Shield Amplifiers\", \n    \"name_ja\": \"サーマルシールド増幅器\", \n    \"name_ko\": \"열 저항력 실드 증폭기\", \n    \"name_ru\": \"Термальные усилители щитов\", \n    \"name_zh\": \"热能护盾增效器\", \n    \"nameID\": 285397, \n    \"parentGroupID\": 550\n  }, \n  \"1689\": {\n    \"description_de\": \"Kinetikschildverstärker\", \n    \"description_en-us\": \"Kinetic Shield Amplifiers\", \n    \"description_es\": \"Amplificadores de escudo cinéticos.\", \n    \"description_fr\": \"Amplificateurs de bouclier cinétique\", \n    \"description_it\": \"Kinetic Shield Amplifiers\", \n    \"description_ja\": \"キネティックシールド増幅器\", \n    \"description_ko\": \"키네틱 저항력 실드 증폭기\", \n    \"description_ru\": \"Кинетические усилители щитов\", \n    \"description_zh\": \"动能护盾增效器\", \n    \"descriptionID\": 285400, \n    \"hasTypes\": 1, \n    \"iconID\": 1393, \n    \"name_de\": \"Kinetikschildverstärker\", \n    \"name_en-us\": \"Kinetic Shield Amplifiers\", \n    \"name_es\": \"Amplificadores de escudo cinéticos\", \n    \"name_fr\": \"Amplificateurs de bouclier cinétique\", \n    \"name_it\": \"Kinetic Shield Amplifiers\", \n    \"name_ja\": \"キネティックシールド増幅器\", \n    \"name_ko\": \"키네틱 저항력 실드 증폭기\", \n    \"name_ru\": \"Кинетические усилители щитов\", \n    \"name_zh\": \"动能护盾增效器\", \n    \"nameID\": 285399, \n    \"parentGroupID\": 550\n  }, \n  \"1690\": {\n    \"description_de\": \"Explosionsschildverstärker\", \n    \"description_en-us\": \"Explosive Shield Amplifiers\", \n    \"description_es\": \"Amplificadores de escudo explosivos.\", \n    \"description_fr\": \"Amplificateur de bouclier explosif\", \n    \"description_it\": \"Explosive Shield Amplifiers\", \n    \"description_ja\": \"エクスプローシブ・シールド増幅器\", \n    \"description_ko\": \"폭발 저항력 실드 증폭기\", \n    \"description_ru\": \"Усилители щитов против взрывного урона\", \n    \"description_zh\": \"爆炸护盾增效器\", \n    \"descriptionID\": 285402, \n    \"hasTypes\": 1, \n    \"iconID\": 1395, \n    \"name_de\": \"Explosionsschildverstärker\", \n    \"name_en-us\": \"Explosive Shield Amplifiers\", \n    \"name_es\": \"Amplificadores de escudo explosivos\", \n    \"name_fr\": \"Amplificateur de bouclier explosif\", \n    \"name_it\": \"Explosive Shield Amplifiers\", \n    \"name_ja\": \"エクスプローシブ・シールド増幅器\", \n    \"name_ko\": \"폭발 저항력 실드 증폭기\", \n    \"name_ru\": \"Усилители щитов против взрывного урона\", \n    \"name_zh\": \"爆炸护盾增效器\", \n    \"nameID\": 285401, \n    \"parentGroupID\": 550\n  }, \n  \"1691\": {\n    \"description_de\": \"EM-Schildverstärker\", \n    \"description_en-us\": \"EM Shield Amplifiers\", \n    \"description_es\": \"Amplificadores de escudo electromagnéticos.\", \n    \"description_fr\": \"Amplificateurs de bouclier EM\", \n    \"description_it\": \"EM Shield Amplifiers\", \n    \"description_ja\": \"EMシールド増幅器\", \n    \"description_ko\": \"EM 저항력 실드 증폭기\", \n    \"description_ru\": \"ЭМ усилители щитов\", \n    \"description_zh\": \"电磁护盾增效器\", \n    \"descriptionID\": 285404, \n    \"hasTypes\": 1, \n    \"iconID\": 1396, \n    \"name_de\": \"EM-Schildverstärker\", \n    \"name_en-us\": \"EM Shield Amplifiers\", \n    \"name_es\": \"Amplificadores de escudo electromagnéticos\", \n    \"name_fr\": \"Amplificateurs de bouclier EM\", \n    \"name_it\": \"EM Shield Amplifiers\", \n    \"name_ja\": \"EMシールド増幅器\", \n    \"name_ko\": \"EM 저항력 실드 증폭기\", \n    \"name_ru\": \"ЭМ усилители щитов\", \n    \"name_zh\": \"电磁护盾增效器\", \n    \"nameID\": 285403, \n    \"parentGroupID\": 550\n  }, \n  \"1692\": {\n    \"description_de\": \"Thermalschildverstärker\", \n    \"description_en-us\": \"Thermal Shield Hardeners\", \n    \"description_es\": \"Endurecedores de escudo térmicos.\", \n    \"description_fr\": \"Renforcements de bouclier à résistance thermique\", \n    \"description_it\": \"Thermal Shield Hardeners\", \n    \"description_ja\": \"サーマルシールドハードナー\", \n    \"description_ko\": \"내열성 실드 강화장치\", \n    \"description_ru\": \"Антитепловые энергоёмкие модуляторы полей\", \n    \"description_zh\": \"热能护盾增强器\", \n    \"descriptionID\": 285407, \n    \"hasTypes\": 1, \n    \"iconID\": 1394, \n    \"name_de\": \"Thermalschildhärter\", \n    \"name_en-us\": \"Thermal Shield Hardeners\", \n    \"name_es\": \"Endurecedores de escudo térmicos\", \n    \"name_fr\": \"Renforcements de bouclier thermique\", \n    \"name_it\": \"Thermal Shield Hardeners\", \n    \"name_ja\": \"サーマルシールドハードナー\", \n    \"name_ko\": \"내열성 실드 강화장치\", \n    \"name_ru\": \"Антитермические\", \n    \"name_zh\": \"热能护盾增强器\", \n    \"nameID\": 285406, \n    \"parentGroupID\": 553\n  }, \n  \"1693\": {\n    \"description_de\": \"Kinetikschildverstärker\", \n    \"description_en-us\": \"Kinetic Shield Hardeners\", \n    \"description_es\": \"Endurecedores de escudo cinéticos.\", \n    \"description_fr\": \"Renforcements de bouclier à résistance cinétique\", \n    \"description_it\": \"Kinetic Shield Hardeners\", \n    \"description_ja\": \"キネティックシールドハードナー\", \n    \"description_ko\": \"키네틱 실드 강화장치\", \n    \"description_ru\": \"Антикинетические энергоёмкие модуляторы полей\", \n    \"description_zh\": \"动能护盾增强器\", \n    \"descriptionID\": 285409, \n    \"hasTypes\": 1, \n    \"iconID\": 1393, \n    \"name_de\": \"Kinetikschildhärter\", \n    \"name_en-us\": \"Kinetic Shield Hardeners\", \n    \"name_es\": \"Endurecedores de escudo cinéticos\", \n    \"name_fr\": \"Renforcements de bouclier cinétique\", \n    \"name_it\": \"Kinetic Shield Hardeners\", \n    \"name_ja\": \"キネティックシールドハードナー\", \n    \"name_ko\": \"키네틱 실드 강화장치\", \n    \"name_ru\": \"Антикинетические\", \n    \"name_zh\": \"动能护盾增强器\", \n    \"nameID\": 285408, \n    \"parentGroupID\": 553\n  }, \n  \"1694\": {\n    \"description_de\": \"Explosivschildverstärker\", \n    \"description_en-us\": \"Explosive Shield Hardeners\", \n    \"description_es\": \"Endurecedores de escudo explosivos.\", \n    \"description_fr\": \"Renforcements de bouclier à résistance explosive\", \n    \"description_it\": \"Explosive Shield Hardeners\", \n    \"description_ja\": \"エクスプローシブシールドハードナー\", \n    \"description_ko\": \"방폭성 실드 강화장치\", \n    \"description_ru\": \"Антивзрывные энергоёмкие модуляторы полей\", \n    \"description_zh\": \"爆炸护盾增强器\", \n    \"descriptionID\": 285411, \n    \"hasTypes\": 1, \n    \"iconID\": 1395, \n    \"name_de\": \"Explosionsschildhärter\", \n    \"name_en-us\": \"Explosive Shield Hardeners\", \n    \"name_es\": \"Endurecedores de escudo explosivos\", \n    \"name_fr\": \"Renforcements de bouclier explosif\", \n    \"name_it\": \"Explosive Shield Hardeners\", \n    \"name_ja\": \"エクスプローシブシールドハードナー\", \n    \"name_ko\": \"방폭성 실드 강화장치\", \n    \"name_ru\": \"Антифугасные\", \n    \"name_zh\": \"爆炸护盾增强器\", \n    \"nameID\": 285410, \n    \"parentGroupID\": 553\n  }, \n  \"1695\": {\n    \"description_de\": \"EM-Schildverstärker\", \n    \"description_en-us\": \"EM Shield Hardeners\", \n    \"description_es\": \"Endurecedores de escudo electromagnéticos.\", \n    \"description_fr\": \"Renforcements de bouclier à résistance électromagnétique\", \n    \"description_it\": \"EM Shield Hardeners\", \n    \"description_ja\": \"EMシールドハードナー\", \n    \"description_ko\": \"EM 실드 강화장치\", \n    \"description_ru\": \"Анти-ЭМ энергоёмкие модуляторы полей\", \n    \"description_zh\": \"电磁护盾增强器\", \n    \"descriptionID\": 285413, \n    \"hasTypes\": 1, \n    \"iconID\": 1396, \n    \"name_de\": \"EM-Schildhärter\", \n    \"name_en-us\": \"EM Shield Hardeners\", \n    \"name_es\": \"Endurecedores de escudo electromagnéticos\", \n    \"name_fr\": \"Renforcements de bouclier EM\", \n    \"name_it\": \"EM Shield Hardeners\", \n    \"name_ja\": \"EMシールドハードナー\", \n    \"name_ko\": \"EM 실드 강화장치\", \n    \"name_ru\": \"Анти-ЭМ\", \n    \"name_zh\": \"电磁护盾增强器\", \n    \"nameID\": 285412, \n    \"parentGroupID\": 553\n  }, \n  \"1696\": {\n    \"description_de\": \"Multispektrum-Schildhärter\", \n    \"description_en-us\": \"Multispectrum Shield Hardeners\", \n    \"description_es\": \"Endurecedores de escudo multiespectro.\", \n    \"description_fr\": \"Renforcements de bouclier multispectre\", \n    \"description_it\": \"Multispectrum Shield Hardeners\", \n    \"description_ja\": \"マルチスペクトル・シールドハードナー\", \n    \"description_ko\": \"다중스팩트럼 실드 강화장치\", \n    \"description_ru\": \"Многоспектральные усилители щитов\", \n    \"description_zh\": \"多谱式护盾增强器\", \n    \"descriptionID\": 285415, \n    \"hasTypes\": 1, \n    \"iconID\": 81, \n    \"name_de\": \"Multispectrum Shield Hardeners\", \n    \"name_en-us\": \"Multispectrum Shield Hardeners\", \n    \"name_es\": \"Endurecedores de escudo multiespectro\", \n    \"name_fr\": \"Renforcements de bouclier multispectre\", \n    \"name_it\": \"Multispectrum Shield Hardeners\", \n    \"name_ja\": \"マルチスペクトル・シールドハードナー\", \n    \"name_ko\": \"다중스팩트럼 실드 강화장치\", \n    \"name_ru\": \"Многоспектральные усилители щитов\", \n    \"name_zh\": \"多谱式护盾增强器\", \n    \"nameID\": 285414, \n    \"parentGroupID\": 553\n  }, \n  \"1697\": {\n    \"description_de\": \"Blueprints von Mikrosprungantrieben\", \n    \"description_en-us\": \"Blueprints of Micro Jump Drives.\", \n    \"description_es\": \"Planos de motores de microsalto.\", \n    \"description_fr\": \"Plans de construction de propulseurs de microsauts.\", \n    \"description_it\": \"Blueprints of Micro Jump Drives.\", \n    \"description_ja\": \"マイクロジャンプドライブのブループリント。\", \n    \"description_ko\": \"마이크로 점프 드라이브 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи маневровых гипердвигателей.\", \n    \"description_zh\": \"微型跳跃引擎的蓝图\", \n    \"descriptionID\": 292997, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mikrosprungantriebe\", \n    \"name_en-us\": \"Micro Jump Drives\", \n    \"name_es\": \"Motores de microsalto\", \n    \"name_fr\": \"Propulseurs de microsauts\", \n    \"name_it\": \"Micro Jump Drives\", \n    \"name_ja\": \"超小型ジャンプドライブ\", \n    \"name_ko\": \"마이크로 점프 드라이브\", \n    \"name_ru\": \"Маневровые гипердвигатели\", \n    \"name_zh\": \"微型跳跃引擎\", \n    \"nameID\": 286396, \n    \"parentGroupID\": 252\n  }, \n  \"1698\": {\n    \"description_de\": \"Schlachtkreuzer, die Kapselpiloten gelegentlich und für begrenzte Zeit angeboten werden.\", \n    \"description_en-us\": \"Battlecruisers which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Cruceros de combate ofrecidos a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Croiseurs de bataille mis parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Battlecruisers which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"過去に期間限定でカプセラへ配布された巡洋戦艦\", \n    \"description_ko\": \"캡슐리어들에게 한정판으로 제공되었던 배틀크루저입니다.\", \n    \"description_ru\": \"Линейные крейсеры, предоставлявшиеся капсулерам в течение ограниченного периода времени.\", \n    \"description_zh\": \"限时供克隆飞行员使用的战列巡洋舰。\", \n    \"descriptionID\": 286597, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Schlachtkreuzer\", \n    \"name_en-us\": \"Special Edition Battlecruisers\", \n    \"name_es\": \"Cruceros de combate de edición especial\", \n    \"name_fr\": \"Croiseurs de bataille édition spéciale\", \n    \"name_it\": \"Special Edition Battlecruisers\", \n    \"name_ja\": \"特別版巡洋戦艦\", \n    \"name_ko\": \"배틀크루저\", \n    \"name_ru\": \"Малосерийные линейные крейсеры\", \n    \"name_zh\": \"特别版战列巡洋舰\", \n    \"nameID\": 286596, \n    \"parentGroupID\": 1612\n  }, \n  \"1699\": {\n    \"description_de\": \"Kreuzer, die Kapselpiloten gelegentlich und für begrenzte Zeit angeboten werden.\", \n    \"description_en-us\": \"Cruisers which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Cruceros ofrecidos a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Croiseurs mis parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Cruisers which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"過去に期間限定でカプセラへ配布された巡洋艦\", \n    \"description_ko\": \"캡슐리어들에게 한정판으로 제공되었던 크루저입니다.\", \n    \"description_ru\": \"Крейсеры, предоставлявшиеся капсулерам в течение ограниченного периода времени.\", \n    \"description_zh\": \"限时供克隆飞行员使用的巡洋舰。\", \n    \"descriptionID\": 286608, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Kreuzer\", \n    \"name_en-us\": \"Special Edition Cruisers\", \n    \"name_es\": \"Cruceros de edición especial\", \n    \"name_fr\": \"Croiseurs édition spéciale\", \n    \"name_it\": \"Special Edition Cruisers\", \n    \"name_ja\": \"特別版巡洋艦\", \n    \"name_ko\": \"크루저\", \n    \"name_ru\": \"Малосерийные крейсеры\", \n    \"name_zh\": \"特别版巡洋舰\", \n    \"nameID\": 286607, \n    \"parentGroupID\": 1612\n  }, \n  \"1700\": {\n    \"description_de\": \"Diese Marken können im Niedersicherheitsraum für eine Steigerung des Sicherheitsstatus eingetauscht werden\", \n    \"description_en-us\": \"These tags can be turned in, in low-security space, for a boost to security rating\", \n    \"description_es\": \"Estas chapas de identificación se pueden entregar, en espacios de seguridad baja, para aumentar el índice de seguridad.\", \n    \"description_fr\": \"Ces insignes peuvent être remis, en espace de basse sécurité pour augmenter sa cote de sécurité\", \n    \"description_it\": \"These tags can be turned in, in low-security space, for a boost to security rating\", \n    \"description_ja\": \"これらのタグをセキュリティが低い宙域に提供すれば、セキュリティレベルが大きく上昇する\", \n    \"description_ko\": \"보안 태그를 제출하여 시큐리티 수치를 증가시킬 수 있습니다.\", \n    \"description_ru\": \"В системам с низкой СС эти жетоны можно использовать для повышения степени соответствия нормам КОНКОРДа\", \n    \"description_zh\": \"这些铭牌可以在低安星系兑换来安全等级的提升\", \n    \"descriptionID\": 287125, \n    \"hasTypes\": 1, \n    \"iconID\": 2040, \n    \"name_de\": \"Sicherheitsmarken\", \n    \"name_en-us\": \"Security Tags\", \n    \"name_es\": \"Chapas de seguridad\", \n    \"name_fr\": \"Insignes de sécurité\", \n    \"name_it\": \"Security Tags\", \n    \"name_ja\": \"セキュリティタグ\", \n    \"name_ko\": \"보안 태그\", \n    \"name_ru\": \"Идентификаторы безопасности\", \n    \"name_zh\": \"安全等级铭牌\", \n    \"nameID\": 287124, \n    \"parentGroupID\": 19\n  }, \n  \"1701\": {\n    \"description_de\": \"Blueprints von Persönlicher-Hangar-Arrays\", \n    \"description_en-us\": \"Blueprints of Personal Hangar Arrays.\", \n    \"description_es\": \"Planos de dársenas de hangares personales.\", \n    \"description_fr\": \"Plans de construction pour installations de hangar personnel.\", \n    \"description_it\": \"Blueprints of Personal Hangar Arrays.\", \n    \"description_ja\": \"個人ハンガー施設のブループリント。\", \n    \"description_ko\": \"개인 격납고 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи личных ангаров.\", \n    \"description_zh\": \"个人机库阵列的蓝图。\", \n    \"descriptionID\": 288102, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Persönliche Hangaranlagen\", \n    \"name_en-us\": \"Personal Hangar Arrays\", \n    \"name_es\": \"Dársenas de hangares personales\", \n    \"name_fr\": \"Modules de hangar personnel\", \n    \"name_it\": \"Personal Hangar Arrays\", \n    \"name_ja\": \"個人ハンガー施設\", \n    \"name_ko\": \"개인 격납고\", \n    \"name_ru\": \"Персональные ангары\", \n    \"name_zh\": \"个人机库阵列\", \n    \"nameID\": 288101, \n    \"parentGroupID\": 1841\n  }, \n  \"1702\": {\n    \"description_de\": \"Eine große Hangar-Struktur für die unproblematische Lagerung von Rochstoffen und Modulen.\", \n    \"description_en-us\": \"A large hangar structure, for easy storage of materials and modules.\", \n    \"description_es\": \"Una gran estructura de hangar para almacenar fácilmente materiales y módulos.\", \n    \"description_fr\": \"Hangar de grande taille simplifiant le stockage du matériel et des modules.\", \n    \"description_it\": \"A large hangar structure, for easy storage of materials and modules.\", \n    \"description_ja\": \"設置式の大型ハンガー。資源やモジュールの簡易倉庫として使われる。\", \n    \"description_ko\": \"대형 격납고 구조물로 자원 및 모듈을 쉽게 보관할 수 있습니다.\", \n    \"description_ru\": \"Вместительный ангар для удобного хранения материалов и модулей.\", \n    \"description_zh\": \"一座巨型的机库建筑，可方便地对材料和装备进行分类储藏。\", \n    \"descriptionID\": 288104, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Persönliche Hangaranlagen\", \n    \"name_en-us\": \"Personal Hangar Arrays\", \n    \"name_es\": \"Dársenas de hangares personales\", \n    \"name_fr\": \"Modules de hangar personnel\", \n    \"name_it\": \"Personal Hangar Arrays\", \n    \"name_ja\": \"個人ハンガー施設\", \n    \"name_ko\": \"개인 격납고\", \n    \"name_ru\": \"Персональные ангары\", \n    \"name_zh\": \"个人机库阵列\", \n    \"nameID\": 288103, \n    \"parentGroupID\": 1285\n  }, \n  \"1703\": {\n    \"description_de\": \"Für bestimmte Fraktionen entworfene Schlachtkreuzer.\", \n    \"description_en-us\": \"Battlecruisers designed by specific factions.\", \n    \"description_es\": \"Cruceros de combate diseñados por facciones específicas.\", \n    \"description_fr\": \"Croiseurs de bataille conçus par des factions spécifiques.\", \n    \"description_it\": \"Battlecruisers designed by specific factions.\", \n    \"description_ja\": \"特定勢力が設計した巡洋戦艦。\", \n    \"description_ko\": \"팩션 전용 배틀크루저입니다.\", \n    \"description_ru\": \"Модификации линейных крейсеров, используемые различными организациями галактики.\", \n    \"description_zh\": \"某些特定势力设计的战列巡洋舰。\", \n    \"descriptionID\": 288168, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fraktionsschlachtkreuzer\", \n    \"name_en-us\": \"Faction Battlecruisers\", \n    \"name_es\": \"Cruceros de combate faccionarios\", \n    \"name_fr\": \"Croiseurs de bataille de faction\", \n    \"name_it\": \"Faction Battlecruisers\", \n    \"name_ja\": \"勢力仕様巡洋戦艦\", \n    \"name_ko\": \"팩션 배틀크루저\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力战列巡洋舰\", \n    \"nameID\": 288167, \n    \"parentGroupID\": 1374\n  }, \n  \"1704\": {\n    \"description_de\": \"Designs für Navy-Fraktionsschlachtkreuzer.\", \n    \"description_en-us\": \"Navy faction battlecruiser designs.\", \n    \"description_es\": \"Diseños de cruceros de combate faccionarios de la Armada.\", \n    \"description_fr\": \"Modèles de croiseurs de bataille de faction de la Navy.\", \n    \"description_it\": \"Navy faction battlecruiser designs.\", \n    \"description_ja\": \"海軍仕様の巡洋戦艦。\", \n    \"description_ko\": \"해군 팩션의 배틀크루저입니다.\", \n    \"description_ru\": \"Чертежи линейных крейсеров флотов основных держав.\", \n    \"description_zh\": \"海军势力战列巡洋舰设计。\", \n    \"descriptionID\": 288170, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Navyfraktion\", \n    \"name_en-us\": \"Navy Faction\", \n    \"name_es\": \"Facción de la Armada\", \n    \"name_fr\": \"Faction navy\", \n    \"name_it\": \"Navy Faction\", \n    \"name_ja\": \"海軍仕様\", \n    \"name_ko\": \"해군 팩션\", \n    \"name_ru\": \"Армейские\", \n    \"name_zh\": \"海军势力\", \n    \"nameID\": 288169, \n    \"parentGroupID\": 1703\n  }, \n  \"1707\": {\n    \"description_de\": \"Blueprints von Modulen zum Scannen von Upgrades\", \n    \"description_en-us\": \"Blueprints of scanning upgrade modules\", \n    \"description_es\": \"Planos de módulos de mejora de escaneo.\", \n    \"description_fr\": \"Plans de construction de modules d'amélioration de scan\", \n    \"description_it\": \"Blueprints of scanning upgrade modules\", \n    \"description_ja\": \"スキャン強化モジュールのブループリント。\", \n    \"description_ko\": \"스캔 업그레이드 모듈 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи модулей модернизации сканирующего оборудования\", \n    \"description_zh\": \"扫描升级装备蓝图\", \n    \"descriptionID\": 288307, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Scanupgrades\", \n    \"name_en-us\": \"Scanning Upgrades\", \n    \"name_es\": \"Mejoras de escaneo\", \n    \"name_fr\": \"Améliorations de détection\", \n    \"name_it\": \"Scanning Upgrades\", \n    \"name_ja\": \"スキャン強化\", \n    \"name_ko\": \"스캔 업그레이드\", \n    \"name_ru\": \"Улучшения разведсистем\", \n    \"name_zh\": \"扫描升级\", \n    \"nameID\": 288306, \n    \"parentGroupID\": 1710\n  }, \n  \"1708\": {\n    \"description_de\": \"Module die Scanleistung von Raumschiffen verbessern oder überhaupt ermöglichen\", \n    \"description_en-us\": \"Modules that give or improve scanning capabilities of spaceships\", \n    \"description_es\": \"Módulos que proporcionan a las naves espaciales capacidades de escaneo o las mejoran.\", \n    \"description_fr\": \"Modules qui donnent à un vaisseau ses capacités de détection ou qui les augmentent\", \n    \"description_it\": \"Modules that give or improve scanning capabilities of spaceships\", \n    \"description_ja\": \"艦船でスキャン機能を利用可能にしたり、機能を向上させたりするモジュール\", \n    \"description_ko\": \"함선 스캐너 관련 모듈입니다.\", \n    \"description_ru\": \"Оборудование, необходимое для поиска сигналов в космосе\", \n    \"description_zh\": \"赋予或增强舰船扫描能力的装备\", \n    \"descriptionID\": 288309, \n    \"hasTypes\": 0, \n    \"iconID\": 107, \n    \"name_de\": \"Scanausrüstung\", \n    \"name_en-us\": \"Scanning Equipment\", \n    \"name_es\": \"Equipo de escaneo\", \n    \"name_fr\": \"Appareils de détection\", \n    \"name_it\": \"Scanning Equipment\", \n    \"name_ja\": \"スキャン装備\", \n    \"name_ko\": \"스캔 장비\", \n    \"name_ru\": \"Поисковое оборудование\", \n    \"name_zh\": \"扫描设备\", \n    \"nameID\": 288308, \n    \"parentGroupID\": 9\n  }, \n  \"1709\": {\n    \"description_de\": \"Module, die das Scannen verändern\", \n    \"description_en-us\": \"Modules that modify scanning\", \n    \"description_es\": \"Módulos que modifican el escaneo.\", \n    \"description_fr\": \"Modules de modification du scan\", \n    \"description_it\": \"Modules that modify scanning\", \n    \"description_ja\": \"スキャン性能を調整するモジュール\", \n    \"description_ko\": \"스캔 성능을 개조하는 모듈입니다.\", \n    \"description_ru\": \"Модули, модифицирующие сканирование\", \n    \"description_zh\": \"扫描改装装备\", \n    \"descriptionID\": 288311, \n    \"hasTypes\": 1, \n    \"iconID\": 21025, \n    \"name_de\": \"Scanupgrades\", \n    \"name_en-us\": \"Scanning Upgrades\", \n    \"name_es\": \"Mejoras de escaneo\", \n    \"name_fr\": \"Améliorations de détection\", \n    \"name_it\": \"Scanning Upgrades\", \n    \"name_ja\": \"スキャン強化\", \n    \"name_ko\": \"스캔 업그레이드\", \n    \"name_ru\": \"Улучшения разведсистем\", \n    \"name_zh\": \"扫描升级件\", \n    \"nameID\": 288310, \n    \"parentGroupID\": 1708\n  }, \n  \"1710\": {\n    \"description_de\": \"Scanausrüstung\", \n    \"description_en-us\": \"Scanning equipment\", \n    \"description_es\": \"Equipo de escaneo.\", \n    \"description_fr\": \"Appareils de détection\", \n    \"description_it\": \"Scanning equipment\", \n    \"description_ja\": \"スキャン装備\", \n    \"description_ko\": \"스캔 장비\", \n    \"description_ru\": \"Оборудование для сканирования\", \n    \"description_zh\": \"扫描设备\", \n    \"descriptionID\": 288472, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Scanausrüstung\", \n    \"name_en-us\": \"Scanning Equipment\", \n    \"name_es\": \"Equipo de escaneo\", \n    \"name_fr\": \"Appareils de détection\", \n    \"name_it\": \"Scanning Equipment\", \n    \"name_ja\": \"スキャン装備\", \n    \"name_ko\": \"스캔 장비\", \n    \"name_ru\": \"Поисковое оборудование\", \n    \"name_zh\": \"扫描设备\", \n    \"nameID\": 288471, \n    \"parentGroupID\": 209\n  }, \n  \"1711\": {\n    \"description_de\": \"Abbauausrüstung\", \n    \"description_en-us\": \"Harvesting equipment\", \n    \"description_es\": \"Equipo de recolección.\", \n    \"description_fr\": \"Appareils de collecte\", \n    \"description_it\": \"Harvesting equipment\", \n    \"description_ja\": \"採掘装備\", \n    \"description_ko\": \"하베스팅 장비입니다.\", \n    \"description_ru\": \"Оборудование для добычи газа и льда\", \n    \"description_zh\": \"采集设备\", \n    \"descriptionID\": 288474, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Abbauausrüstung\", \n    \"name_en-us\": \"Harvest Equipment\", \n    \"name_es\": \"Equipo de recolección\", \n    \"name_fr\": \"Équipement de collecte\", \n    \"name_it\": \"Harvest Equipment\", \n    \"name_ja\": \"採掘装備\", \n    \"name_ko\": \"하베스팅 장비\", \n    \"name_ru\": \"Добывающее оборудование\", \n    \"name_zh\": \"采集设备\", \n    \"nameID\": 288473, \n    \"parentGroupID\": 209\n  }, \n  \"1712\": {\n    \"description_de\": \"Blueprints von Bergungsmodulen.\", \n    \"description_en-us\": \"Blueprints of salvager modules.\", \n    \"description_es\": \"Planos de módulos de recuperadores.\", \n    \"description_fr\": \"Plans de construction de modules de récupération.\", \n    \"description_it\": \"Blueprints of salvager modules.\", \n    \"description_ja\": \"サルベージモジュールのブループリント。\", \n    \"description_ko\": \"샐비지 모듈 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи демонтажных модулей.\", \n    \"description_zh\": \"打捞装备蓝图。\", \n    \"descriptionID\": 288476, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Bergungsmodule\", \n    \"name_en-us\": \"Salvagers\", \n    \"name_es\": \"Recuperadores\", \n    \"name_fr\": \"Récupérateurs\", \n    \"name_it\": \"Salvagers\", \n    \"name_ja\": \"サルベージャー\", \n    \"name_ko\": \"샐비저\", \n    \"name_ru\": \"Демонтажные модули\", \n    \"name_zh\": \"打捞器\", \n    \"nameID\": 288475, \n    \"parentGroupID\": 1711\n  }, \n  \"1713\": {\n    \"description_de\": \"Module die Bergungsleistung von Raumschiffen verbessern oder überhaupt ermöglichen\", \n    \"description_en-us\": \"Modules that give or improve harvesting capabilities of spaceships\", \n    \"description_es\": \"Módulos que proporcionan a las naves espaciales capacidades de recolección o las mejoran.\", \n    \"description_fr\": \"Modules qui donnent à un vaisseau ses capacités de récolte ou qui les augmentent\", \n    \"description_it\": \"Modules that give or improve harvesting capabilities of spaceships\", \n    \"description_ja\": \"艦船で採取機能を利用可能にしたり、機能を向上させたりするモジュール\", \n    \"description_ko\": \"함선에 탑재할 수 있는 하베스팅 모듈입니다.\", \n    \"description_ru\": \"Оборудование для добычи сырья и повышения эффективности этой добычи\", \n    \"description_zh\": \"赋予或增强舰船采集能力的装备\", \n    \"descriptionID\": 288478, \n    \"hasTypes\": 0, \n    \"iconID\": 1061, \n    \"name_de\": \"Abbauausrüstung\", \n    \"name_en-us\": \"Harvest Equipment\", \n    \"name_es\": \"Equipo de recolección\", \n    \"name_fr\": \"Équipement de collecte\", \n    \"name_it\": \"Harvest Equipment\", \n    \"name_ja\": \"採掘装備\", \n    \"name_ko\": \"하베스팅 장비\", \n    \"name_ru\": \"Добывающее оборудование\", \n    \"name_zh\": \"采集设备\", \n    \"nameID\": 288477, \n    \"parentGroupID\": 9\n  }, \n  \"1715\": {\n    \"hasTypes\": 1, \n    \"iconID\": 3240, \n    \"name_de\": \"Bergungsmodule\", \n    \"name_en-us\": \"Salvagers\", \n    \"name_es\": \"Recuperadores\", \n    \"name_fr\": \"Récupérateurs\", \n    \"name_it\": \"Salvagers\", \n    \"name_ja\": \"サルベージャー\", \n    \"name_ko\": \"샐비저\", \n    \"name_ru\": \"Демонтажные модули\", \n    \"name_zh\": \"打捞器\", \n    \"nameID\": 288479, \n    \"parentGroupID\": 1713\n  }, \n  \"1716\": {\n    \"description_de\": \"Blueprints für die Herstellung von Sonden zum Scannen von Monden.\", \n    \"description_en-us\": \"Blueprints for building probes for surveying moons.\", \n    \"description_es\": \"Planos para crear sondas que permitan inspeccionar lunas.\", \n    \"description_fr\": \"Plans de construction de sondes d'inspection lunaire.\", \n    \"description_it\": \"Blueprints for building probes for surveying moons.\", \n    \"description_ja\": \"衛星調査プローブを製造するためのブループリント。\", \n    \"description_ko\": \"위성 탐사 프로브를 제조할 수 있는 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи для производства зондов, позволяющих исследовать поверхность лун.\", \n    \"description_zh\": \"用于探测卫星的探测器蓝图。\", \n    \"descriptionID\": 288493, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Vermessungssondenwerfer\", \n    \"name_en-us\": \"Survey Probe Launchers\", \n    \"name_es\": \"Lanzasondas de prospección\", \n    \"name_fr\": \"Lanceurs de sonde d'inspection\", \n    \"name_it\": \"Survey Probe Launchers\", \n    \"name_ja\": \"衛星調査プローブランチャー\", \n    \"name_ko\": \"조사 프로브 런처\", \n    \"name_ru\": \"Пусковые установки лунных зондов\", \n    \"name_zh\": \"测量探测器发射器\", \n    \"nameID\": 288492, \n    \"parentGroupID\": 1710\n  }, \n  \"1717\": {\n    \"description_de\": \"Sonden für das Scannen von Monden.\", \n    \"description_en-us\": \"Probes for surveying moons.\", \n    \"description_es\": \"Sondas para inspeccionar lunas.\", \n    \"description_fr\": \"Sondes d'inspection lunaire.\", \n    \"description_it\": \"Probes for surveying moons.\", \n    \"description_ja\": \"衛星を調査するためのプローブ。\", \n    \"description_ko\": \"위성 탐사 프로브입니다.\", \n    \"description_ru\": \"Зонды для исследования поверхности лун.\", \n    \"description_zh\": \"探测卫星的探测器。\", \n    \"descriptionID\": 288495, \n    \"hasTypes\": 1, \n    \"iconID\": 2677, \n    \"name_de\": \"Vermessungssondenwerfer\", \n    \"name_en-us\": \"Survey Probe Launchers\", \n    \"name_es\": \"Lanzasondas de prospección\", \n    \"name_fr\": \"Lanceurs de sonde d'inspection\", \n    \"name_it\": \"Survey Probe Launchers\", \n    \"name_ja\": \"衛星調査プローブランチャー\", \n    \"name_ko\": \"조사 프로브 런처\", \n    \"name_ru\": \"Пусковые установки лунных зондов\", \n    \"name_zh\": \"测量探测器发射器\", \n    \"nameID\": 288494, \n    \"parentGroupID\": 1708\n  }, \n  \"1718\": {\n    \"description_de\": \"Module, die alte oder moderne Computersysteme in Erkundungsstätten untersuchen.\", \n    \"description_en-us\": \"Modules that analyze old or recent computer systems in exploration sites.\", \n    \"description_es\": \"Módulos que analizan sistemas informáticos antiguos o recientes en zonas de exploración.\", \n    \"description_fr\": \"Modules permettant d'analyser des systèmes informatiques anciens ou récents dans les sites d'exploration.\", \n    \"description_it\": \"Modules that analyze old or recent computer systems in exploration sites.\", \n    \"description_ja\": \"探索サイトにある古代や現代のコンピュータシステムを分析するモジュール。\", \n    \"description_ko\": \"탐사 사이트의 컴퓨터 시스템을 분석하기 위한 모듈입니다.\", \n    \"description_ru\": \"Модули, позволяющие анализировать старые и новые компьютерные системы в точках исследования.\", \n    \"description_zh\": \"对探索地点中的新旧计算机系统进行分析的装备。\", \n    \"descriptionID\": 288504, \n    \"hasTypes\": 1, \n    \"iconID\": 2856, \n    \"name_de\": \"Analysegeräte\", \n    \"name_en-us\": \"Analyzers\", \n    \"name_es\": \"Analizadores\", \n    \"name_fr\": \"Analyseurs\", \n    \"name_it\": \"Analyzers\", \n    \"name_ja\": \"アナライザー\", \n    \"name_ko\": \"분석기\", \n    \"name_ru\": \"Анализаторы\", \n    \"name_zh\": \"分析仪\", \n    \"nameID\": 288503, \n    \"parentGroupID\": 1708\n  }, \n  \"1719\": {\n    \"description_de\": \"Blueprints von Panzerausrüstung der Capital-Klasse.\", \n    \"description_en-us\": \"Blueprints of Capital Armor Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de blindajes\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de blindage d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Armor Rigs.\", \n    \"description_ja\": \"キャピタルアーマーリグのブループリント。\", \n    \"description_ko\": \"캐피탈 장갑 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи импромодулей брони КБТ-класса.\", \n    \"description_zh\": \"各种旗舰级装甲改装件的蓝图。\", \n    \"descriptionID\": 288770, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital Panzerungsmodifikationen\", \n    \"name_en-us\": \"Capital Armor Rigs\", \n    \"name_es\": \"Complementos capitales de blindaje\", \n    \"name_fr\": \"Modifications de blindage capitales\", \n    \"name_it\": \"Capital Armor Rigs\", \n    \"name_ja\": \"キャピタルアーマーリグ\", \n    \"name_ko\": \"캐피탈 함선 장갑 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级装甲改装件\", \n    \"nameID\": 288769, \n    \"parentGroupID\": 944\n  }, \n  \"1720\": {\n    \"description_de\": \"Blueprints von astronautischer Ausrüstung der Capital-Klasse.\", \n    \"description_en-us\": \"Blueprints of Capital Astronautic Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de astronáutica.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation astronautiques d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Astronautic Rigs.\", \n    \"description_ja\": \"キャピタル宇宙航行リグのブループリント。\", \n    \"description_ko\": \"캐피탈 항법 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи импромодулей астронавигационных систем КБТ-класса.\", \n    \"description_zh\": \"各种旗舰级航天技术改装件的蓝图。\", \n    \"descriptionID\": 288778, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital Astronautische Modifikationen\", \n    \"name_en-us\": \"Capital Astronautic Rigs\", \n    \"name_es\": \"Complementos capitales de astronáutica\", \n    \"name_fr\": \"Modifications astronautiques capitales\", \n    \"name_it\": \"Capital Astronautic Rigs\", \n    \"name_ja\": \"キャピタル宇宙航行リグ\", \n    \"name_ko\": \"캐피탈 항법 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级航天技术改装件\", \n    \"nameID\": 288777, \n    \"parentGroupID\": 945\n  }, \n  \"1721\": {\n    \"description_de\": \"Blueprints von Drohnenausrüstung der Capital-Klasse.\", \n    \"description_en-us\": \"Blueprints of Capital Drone Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de drones.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de drones d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Drone Rigs.\", \n    \"description_ja\": \"キャピタルドローンリグのブループリント。\", \n    \"description_ko\": \"캐피탈 드론 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи импромодулей для управления дронами КБТ-класса.\", \n    \"description_zh\": \"各种旗舰级无人机改装件的蓝图。\", \n    \"descriptionID\": 288783, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital Drohnenmodifikationen\", \n    \"name_en-us\": \"Capital Drone Rigs\", \n    \"name_es\": \"Complementos capitales de drones\", \n    \"name_fr\": \"Modifications de drone capitales\", \n    \"name_it\": \"Capital Drone Rigs\", \n    \"name_ja\": \"キャピタルドローンリグ\", \n    \"name_ko\": \"캐피탈 드론 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级无人机改装件\", \n    \"nameID\": 288782, \n    \"parentGroupID\": 946\n  }, \n  \"1723\": {\n    \"description_de\": \"Blueprints von Elektronik-Überlegenheitsausrüstung der Capital-Klasse.\", \n    \"description_en-us\": \"Blueprints of Capital Electronics Superiority Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de superioridad electrónica.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de supériorité électronique d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Electronics Superiority Rigs.\", \n    \"description_ja\": \"キャピタル高性能エレクトロニクスリグのブループリント。\", \n    \"description_ko\": \"캐피탈 전자공학 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи импромодулей систем электронного противодействия КБТ-класса.\", \n    \"description_zh\": \"各种旗舰级电子压制改装件的蓝图。\", \n    \"descriptionID\": 288790, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital Elektronische Höchstleistungsmodifikationen\", \n    \"name_en-us\": \"Capital Electronics Superiority Rigs\", \n    \"name_es\": \"Complementos capitales de superioridad electrónica\", \n    \"name_fr\": \"Modifications de supériorité électronique\", \n    \"name_it\": \"Capital Electronics Superiority Rigs\", \n    \"name_ja\": \"キャピタル高性能エレクトロニクスリグ\", \n    \"name_ko\": \"캐피탈 전자공학 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级电子压制改装件\", \n    \"nameID\": 288789, \n    \"parentGroupID\": 948\n  }, \n  \"1724\": {\n    \"description_de\": \"Blueprints von Energieversorgungsausrüstung der Capital-Klasse.\", \n    \"description_en-us\": \"Blueprints of Capital Energy Grid Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de sistemas de energía.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de réseau d'alimentation d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Energy Grid Rigs.\", \n    \"description_ja\": \"キャピタルエネルギー回路リグのブループリント。\", \n    \"description_ko\": \"캐피탈 에너지그리드 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи импромодулей энергосетей КБТ-класса.\", \n    \"description_zh\": \"各种旗舰级能量栅格改装件的蓝图。\", \n    \"descriptionID\": 288792, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital Modifikationen für Ingenieurwesen\", \n    \"name_en-us\": \"Capital Engineering Rigs\", \n    \"name_es\": \"Complementos capitales de ingeniería\", \n    \"name_fr\": \"Modifications d'ingénierie capitales\", \n    \"name_it\": \"Capital Engineering Rigs\", \n    \"name_ja\": \"キャピタルエンジニアリングリグ\", \n    \"name_ko\": \"캐피탈 엔지니어링 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级工程改装件\", \n    \"nameID\": 288791, \n    \"parentGroupID\": 949\n  }, \n  \"1725\": {\n    \"description_de\": \"Blueprints von Energiewaffen-Ausrüstung der Capital-Klasse.\", \n    \"description_en-us\": \"Blueprints of Capital Energy Weapon Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de armas de energía.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation d'arme à énergie d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Energy Weapon Rigs.\", \n    \"description_ja\": \"キャピタルエネルギー兵器リグのブループリント。\", \n    \"description_ko\": \"캐피탈 에너지 무기 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи импромодулей энергетических орудий КБТ-класса.\", \n    \"description_zh\": \"各种旗舰级能量武器改装件的蓝图。\", \n    \"descriptionID\": 288794, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital Energiewaffenmodifikationen\", \n    \"name_en-us\": \"Capital Energy Weapon Rigs\", \n    \"name_es\": \"Complementos capitales de armas de energía\", \n    \"name_fr\": \"Modifications d'arme à énergie capitales\", \n    \"name_it\": \"Capital Energy Weapon Rigs\", \n    \"name_ja\": \"キャピタルエネルギー兵器リグ\", \n    \"name_ko\": \"캐피탈 에너지 무기 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级能量武器改装件\", \n    \"nameID\": 288793, \n    \"parentGroupID\": 950\n  }, \n  \"1726\": {\n    \"description_de\": \"Blueprints von Hybridwaffen-Ausrüstung der Capital-Klasse.\", \n    \"description_en-us\": \"Blueprints of Capital Hybrid Weapon Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de armas híbridas.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation d'arme hybride d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Hybrid Weapon Rigs.\", \n    \"description_ja\": \"キャピタルハイブリッド兵器リグのブループリント。\", \n    \"description_ko\": \"캐피탈 하이브리드 무기 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи импромодулей гибридных орудий КБТ-класса.\", \n    \"description_zh\": \"各种旗舰级混合武器改装件的蓝图。\", \n    \"descriptionID\": 288796, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital Hybridwaffenmodifikationen\", \n    \"name_en-us\": \"Capital Hybrid Weapon Rigs\", \n    \"name_es\": \"Complementos capitales de armas híbridas\", \n    \"name_fr\": \"Modifications d'arme hybride capitales\", \n    \"name_it\": \"Capital Hybrid Weapon Rigs\", \n    \"name_ja\": \"キャピタルハイブリッド兵器リグ\", \n    \"name_ko\": \"캐피탈 하이브리드 무기 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级混合武器改装件\", \n    \"nameID\": 288795, \n    \"parentGroupID\": 951\n  }, \n  \"1727\": {\n    \"description_de\": \"Blueprints von Lenkwaffenwerfer-Ausrüstung der Capital-Klasse.\", \n    \"description_en-us\": \"Blueprints of Capital Missile Launcher Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de lanzamisiles.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de lance-missiles d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Missile Launcher Rigs.\", \n    \"description_ja\": \"キャピタルミサイルランチャーリグのブループリント。\", \n    \"description_ko\": \"캐피탈 미사일 런처 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи импромодулей пусковых установок КБТ-класса.\", \n    \"description_zh\": \"各种旗舰级导弹发射器改装件的蓝图。\", \n    \"descriptionID\": 288798, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital Lenkwaffenwerfer-Modifikationen\", \n    \"name_en-us\": \"Capital Missile Launcher Rigs\", \n    \"name_es\": \"Complementos capitales de lanzamisiles\", \n    \"name_fr\": \"Modifications de lance-missiles capitales\", \n    \"name_it\": \"Capital Missile Launcher Rigs\", \n    \"name_ja\": \"キャピタルミサイル兵器リグ\", \n    \"name_ko\": \"캐피탈 미사일 런처 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级导弹发射器改装件\", \n    \"nameID\": 288797, \n    \"parentGroupID\": 952\n  }, \n  \"1728\": {\n    \"description_de\": \"Blueprints von Projektilwaffen-Ausrüstung der Capital-Klasse.\", \n    \"description_en-us\": \"Blueprints of Capital Projectile Weapon Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de armas de proyectiles.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation d'arme à projectiles d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Projectile Weapon Rigs.\", \n    \"description_ja\": \"キャピタルプロジェクタイル兵器リグのブループリント。\", \n    \"description_ko\": \"캐피탈 발사체 무기 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи импромодулей баллистических орудий КБТ-класса.\", \n    \"description_zh\": \"各种旗舰级射弹武器改装件的蓝图。\", \n    \"descriptionID\": 288800, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital Projektilwaffenmodifikationen\", \n    \"name_en-us\": \"Capital Projectile Weapon Rigs\", \n    \"name_es\": \"Complementos capitales de armas de proyectiles\", \n    \"name_fr\": \"Modifications d'arme à projectiles capitales\", \n    \"name_it\": \"Capital Projectile Weapon Rigs\", \n    \"name_ja\": \"キャピタルプロジェクタイル兵器リグ\", \n    \"name_ko\": \"캐피탈 발사체 무기 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级射弹武器改装件\", \n    \"nameID\": 288799, \n    \"parentGroupID\": 953\n  }, \n  \"1729\": {\n    \"description_de\": \"Blueprints von Schildausrüstungen der Capital-Klasse.\", \n    \"description_en-us\": \"Blueprints of Capital Shield Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de escudos.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de bouclier d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Shield Rigs.\", \n    \"description_ja\": \"キャピタルシールドリグのブループリント。\", \n    \"description_ko\": \"캐피탈 실드 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи импромодулей щитов КБТ-класса.\", \n    \"description_zh\": \"各种旗舰级护盾改装件的蓝图。\", \n    \"descriptionID\": 288802, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital Schildmodifikationen\", \n    \"name_en-us\": \"Capital Shield Rigs\", \n    \"name_es\": \"Complementos capitales de escudo\", \n    \"name_fr\": \"Modifications de bouclier capitales\", \n    \"name_it\": \"Capital Shield Rigs\", \n    \"name_ja\": \"キャピタルシールドリグ\", \n    \"name_ko\": \"캐피탈 실드 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级护盾改装件\", \n    \"nameID\": 288801, \n    \"parentGroupID\": 954\n  }, \n  \"1730\": {\n    \"description_de\": \"Modifikationen, die die Panzerung eines Raumschiffs der Capital-Klasse betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's armor.\", \n    \"description_es\": \"Modificaciones que afectan al blindaje de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent le blindage d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's armor.\", \n    \"description_ja\": \"キャピタル級艦船のアーマーを調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선 장갑 리그입니다.\", \n    \"description_ru\": \"Модификации для усиления брони кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰船所用的装甲改装件。\", \n    \"descriptionID\": 288804, \n    \"hasTypes\": 1, \n    \"iconID\": 3194, \n    \"name_de\": \"Capital Panzerungsmodifikationen\", \n    \"name_en-us\": \"Capital Armor Rigs\", \n    \"name_es\": \"Complementos capitales de blindaje\", \n    \"name_fr\": \"Modifications de blindage capitales\", \n    \"name_it\": \"Capital Armor Rigs\", \n    \"name_ja\": \"キャピタルアーマーリグ\", \n    \"name_ko\": \"캐피탈 함선 장갑 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级装甲改装件\", \n    \"nameID\": 288803, \n    \"parentGroupID\": 956\n  }, \n  \"1731\": {\n    \"description_de\": \"Modifikationen, die die Projektilwaffen eines Raumschiffs der Capital-Klasse betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's projectile weapons.\", \n    \"description_es\": \"Modificaciones que afectan a las armas de proyectiles de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent les armes à projectiles d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's projectile weapons.\", \n    \"description_ja\": \"キャピタル級艦船のプロジェクタイル兵器を調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선 발사체 무기 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы баллистических орудий кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰船所用的射弹武器改装件。\", \n    \"descriptionID\": 288806, \n    \"hasTypes\": 1, \n    \"iconID\": 3201, \n    \"name_de\": \"Capital Projektilwaffenmodifikationen\", \n    \"name_en-us\": \"Capital Projectile Weapon Rigs\", \n    \"name_es\": \"Complementos capitales de armas de proyectiles\", \n    \"name_fr\": \"Modifications d'arme à projectiles capitales\", \n    \"name_it\": \"Capital Projectile Weapon Rigs\", \n    \"name_ja\": \"キャピタルプロジェクタイル兵器リグ\", \n    \"name_ko\": \"캐피탈 발사체 무기 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级射弹武器改装件\", \n    \"nameID\": 288805, \n    \"parentGroupID\": 979\n  }, \n  \"1732\": {\n    \"description_de\": \"Modifikationen, die die Schilde eines Raumschiffs der Capital-Klasse betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's shields.\", \n    \"description_es\": \"Modificaciones que afectan a los escudos de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent les boucliers d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's shields.\", \n    \"description_ja\": \"キャピタル級艦船のシールドを調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선 실드 리그입니다.\", \n    \"description_ru\": \"Модификации для укрепления щитов кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰船所用的护盾改装件。\", \n    \"descriptionID\": 288808, \n    \"hasTypes\": 1, \n    \"iconID\": 3193, \n    \"name_de\": \"Capital Schildmodifikationen\", \n    \"name_en-us\": \"Capital Shield Rigs\", \n    \"name_es\": \"Complementos capitales de escudo\", \n    \"name_fr\": \"Modifications de bouclier capitales\", \n    \"name_it\": \"Capital Shield Rigs\", \n    \"name_ja\": \"キャピタルシールドリグ\", \n    \"name_ko\": \"캐피탈 실드 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级护盾改装件\", \n    \"nameID\": 288807, \n    \"parentGroupID\": 965\n  }, \n  \"1733\": {\n    \"description_de\": \"Modifikationen, die die Lenkwaffenwerfer eines Raumschiffs der Capital-Klasse betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's missile launchers.\", \n    \"description_es\": \"Modificaciones que afectan a los lanzamisiles de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent les lance-missiles d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's missile launchers.\", \n    \"description_ja\": \"キャピタル級艦船のミサイルランチャーを調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선 미사일 런처 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы пусковых установок кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰船所用的导弹发射器改装件。\", \n    \"descriptionID\": 288810, \n    \"hasTypes\": 1, \n    \"iconID\": 3197, \n    \"name_de\": \"Capital Lenkwaffenwerfer-Modifikationen\", \n    \"name_en-us\": \"Capital Missile Launcher Rigs\", \n    \"name_es\": \"Complementos capitales de lanzamisiles\", \n    \"name_fr\": \"Modifications de lance-missiles capitales\", \n    \"name_it\": \"Capital Missile Launcher Rigs\", \n    \"name_ja\": \"キャピタルミサイル兵器リグ\", \n    \"name_ko\": \"캐피탈 미사일 런처 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级导弹发射器改装件\", \n    \"nameID\": 288809, \n    \"parentGroupID\": 964\n  }, \n  \"1734\": {\n    \"description_de\": \"Modifikationen, die die Hybridwaffen eines Raumschiffs der Capital-Klasse betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's hybrid weapons.\", \n    \"description_es\": \"Modificaciones que afectan a las armas híbridas de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent les armes hybrides d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's hybrid weapons.\", \n    \"description_ja\": \"キャピタル級艦船のハイブリッド兵器を調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선 하이브리드 무기 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы гибридных орудий кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰船所用的混合武器改装件。\", \n    \"descriptionID\": 288812, \n    \"hasTypes\": 1, \n    \"iconID\": 3202, \n    \"name_de\": \"Capital Hybridwaffenmodifikationen\", \n    \"name_en-us\": \"Capital Hybrid Weapon Rigs\", \n    \"name_es\": \"Complementos capitales de armas híbridas\", \n    \"name_fr\": \"Modifications d'arme hybride capitales\", \n    \"name_it\": \"Capital Hybrid Weapon Rigs\", \n    \"name_ja\": \"キャピタルハイブリッド兵器リグ\", \n    \"name_ko\": \"캐피탈 하이브리드 무기 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级混合武器改装件\", \n    \"nameID\": 288811, \n    \"parentGroupID\": 963\n  }, \n  \"1735\": {\n    \"description_de\": \"Modifikationen, die die Energiewaffen eines Raumschiffs der Capital-Klasse betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's energy weapons.\", \n    \"description_es\": \"Modificaciones que afectan a las armas de energía de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent les armes à énergie d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's energy weapons.\", \n    \"description_ja\": \"キャピタル級艦船のエネルギー兵器を調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선 에너지 무기 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы энергетических орудий кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰船所用的能量武器改装件。\", \n    \"descriptionID\": 288814, \n    \"hasTypes\": 1, \n    \"iconID\": 3203, \n    \"name_de\": \"Capital Energiewaffenmodifikationen\", \n    \"name_en-us\": \"Capital Energy Weapon Rigs\", \n    \"name_es\": \"Complementos capitales de armas de energía\", \n    \"name_fr\": \"Modifications d'arme à énergie capitales\", \n    \"name_it\": \"Capital Energy Weapon Rigs\", \n    \"name_ja\": \"キャピタルエネルギー兵器リグ\", \n    \"name_ko\": \"캐피탈 에너지 무기 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级能量武器改装件\", \n    \"nameID\": 288813, \n    \"parentGroupID\": 962\n  }, \n  \"1736\": {\n    \"description_de\": \"Modifikationen, die die Energieversorgung eines Raumschiffs der Capital-Klasse betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's energy grid.\", \n    \"description_es\": \"Modificaciones que afectan al sistema de energía de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent le réseau d’alimentation d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's energy grid.\", \n    \"description_ja\": \"キャピタル級艦船のエネルギー回路を調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선 에너지그리드 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы энергосетей кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰船所用的能量栅格改装件。\", \n    \"descriptionID\": 288816, \n    \"hasTypes\": 1, \n    \"iconID\": 3195, \n    \"name_de\": \"Capital Modifikationen für Ingenieurwesen\", \n    \"name_en-us\": \"Capital Engineering Rigs\", \n    \"name_es\": \"Complementos capitales de ingeniería\", \n    \"name_fr\": \"Modifications d'ingénierie capitales\", \n    \"name_it\": \"Capital Engineering Rigs\", \n    \"name_ja\": \"キャピタルエンジニアリングリグ\", \n    \"name_ko\": \"캐피탈 엔지니어링 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级工程改装件\", \n    \"nameID\": 288815, \n    \"parentGroupID\": 961\n  }, \n  \"1737\": {\n    \"description_de\": \"Modifikationen, die die Fähigkeit zur elektronischen Kriegsführung eines Raumschiffes der Capital-Klasse betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's electronic warfare capabilities.\", \n    \"description_es\": \"Modificaciones que afectan a las capacidades de guerra electrónica de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent les capacités de guerre électronique d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's electronic warfare capabilities.\", \n    \"description_ja\": \"キャピタル級艦船の電子戦性能を調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선 전자전 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы систем электронного противодействия кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰船所用的电子战改装件。\", \n    \"descriptionID\": 288818, \n    \"hasTypes\": 1, \n    \"iconID\": 3198, \n    \"name_de\": \"Capital Elektronische Höchstleistungsmodifikationen\", \n    \"name_en-us\": \"Capital Electronics Superiority Rigs\", \n    \"name_es\": \"Complementos capitales de superioridad electrónica\", \n    \"name_fr\": \"Modifications de supériorité électronique capitales\", \n    \"name_it\": \"Capital Electronics Superiority Rigs\", \n    \"name_ja\": \"キャピタル高性能エレクトロニクスリグ\", \n    \"name_ko\": \"캐피탈 전자공학 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级电子压制改装件\", \n    \"nameID\": 288817, \n    \"parentGroupID\": 960\n  }, \n  \"1739\": {\n    \"description_de\": \"Modifikationen, die die Drohnen eines Raumschiffs der Capital-Klasse betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's drones.\", \n    \"description_es\": \"Modificaciones que afectan a los drones de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent les drones d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's drones.\", \n    \"description_ja\": \"キャピタル級艦船のドローン展開性能を調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선 드론 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения управления дронами кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰船所用的无人机改装件。\", \n    \"descriptionID\": 288822, \n    \"hasTypes\": 1, \n    \"iconID\": 3200, \n    \"name_de\": \"Capital Drohnenmodifikationen\", \n    \"name_en-us\": \"Capital Drone Rigs\", \n    \"name_es\": \"Complementos capitales para drones\", \n    \"name_fr\": \"Modifications de drone capitales\", \n    \"name_it\": \"Capital Drone Rigs\", \n    \"name_ja\": \"キャピタルドローンリグ\", \n    \"name_ko\": \"캐피탈 드론 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级无人机改装件\", \n    \"nameID\": 288821, \n    \"parentGroupID\": 958\n  }, \n  \"1740\": {\n    \"description_de\": \"Modifikationen, die die Astronautik eines Raumschiffs der Capital-Klasse betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's astronautics.\", \n    \"description_es\": \"Modificaciones que afectan a la astronáutica de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent les éléments astronautiques d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's astronautics.\", \n    \"description_ja\": \"キャピタル級艦船の航行性能を調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선 항법 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения астронавигации кораблей большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰船所用的航天技术改装件。\", \n    \"descriptionID\": 288824, \n    \"hasTypes\": 1, \n    \"iconID\": 3196, \n    \"name_de\": \"Capital Astronautische Modifikationen\", \n    \"name_en-us\": \"Capital Astronautic Rigs\", \n    \"name_es\": \"Complementos capitales de astronáutica\", \n    \"name_fr\": \"Modifications astronautiques capitales\", \n    \"name_it\": \"Capital Astronautic Rigs\", \n    \"name_ja\": \"キャピタル宇宙航行リグ\", \n    \"name_ko\": \"캐피탈 항법 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级航天技术改装件\", \n    \"nameID\": 288823, \n    \"parentGroupID\": 957\n  }, \n  \"1745\": {\n    \"description_de\": \"Skills zum effektiven Schutz der Integrität der Raumschiffstruktur\", \n    \"description_en-us\": \"Skills pertaining to efficiently protecting the structural integrity of spaceships\", \n    \"description_es\": \"Habilidades relacionadas con la protección eficiente de la integridad estructural de las naves.\", \n    \"description_fr\": \"Compétences relatives à la protection efficace de l'intégrité structurelle des vaisseaux\", \n    \"description_it\": \"Skills pertaining to efficiently protecting the structural integrity of spaceships\", \n    \"description_ja\": \"効率よく艦船を分解から守るスキル\", \n    \"description_ko\": \"선체 내구도를 강화하는 스킬입니다.\", \n    \"description_ru\": \"Навыки, необходимые для эффективного сохранения физической целостности корабля\", \n    \"description_zh\": \"有效地保护舰船结构完整的技能\", \n    \"descriptionID\": 288863, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Panzerung\", \n    \"name_en-us\": \"Armor\", \n    \"name_es\": \"Blindaje\", \n    \"name_fr\": \"Blindage\", \n    \"name_it\": \"Armor\", \n    \"name_ja\": \"アーマー\", \n    \"name_ko\": \"장갑\", \n    \"name_ru\": \"Укрепление брони\", \n    \"name_zh\": \"装甲\", \n    \"nameID\": 288862, \n    \"parentGroupID\": 150\n  }, \n  \"1746\": {\n    \"description_de\": \"Skills zur Verwaltung von Boostern, Implantaten und dem Betrieb von Klonen\", \n    \"description_en-us\": \"Skills pertaining to managing boosters, implants and clone operations\", \n    \"description_es\": \"Habilidades relacionadas con la gestión de operaciones con potenciadores, implantes y clones.\", \n    \"description_fr\": \"Compétences relatives à la gestion des boosters, implants et aux opérations de clonage\", \n    \"description_it\": \"Skills pertaining to managing boosters, implants and clone operations\", \n    \"description_ja\": \"ブースター、インプラント、クローン操作について管理を行うスキル\", \n    \"description_ko\": \"부스터, 임플란트, 클론 관련 스킬입니다.\", \n    \"description_ru\": \"Навыки, обучающие обращению с бустерами, имплантатами и клон-телами\", \n    \"description_zh\": \"熟练使用增效剂、植入体和克隆体的技能\", \n    \"descriptionID\": 288865, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Neuralverbesserung\", \n    \"name_en-us\": \"Neural Enhancement\", \n    \"name_es\": \"Mejora neuronal\", \n    \"name_fr\": \"Amélioration neurale\", \n    \"name_it\": \"Neural Enhancement\", \n    \"name_ja\": \"神経強化\", \n    \"name_ko\": \"신경망 향상\", \n    \"name_ru\": \"Подключение нейротехники\", \n    \"name_zh\": \"神经增强\", \n    \"nameID\": 288864, \n    \"parentGroupID\": 150\n  }, \n  \"1747\": {\n    \"description_de\": \"Skill zur Verwaltung der Energiebarrieren eines Raumschiffs\", \n    \"description_en-us\": \"Skills pertaining to management of a spaceship's energy barriers\", \n    \"description_es\": \"Habilidades relacionadas con la gestión de las barreras de energía de una nave.\", \n    \"description_fr\": \"Compétences relatives à la gestion des barrières énergétiques d'un vaisseau spatial\", \n    \"description_it\": \"Skills pertaining to management of a spaceship's energy barriers\", \n    \"description_ja\": \"艦船のシールドを管理するスキル\", \n    \"description_ko\": \"함선 실드 관련 스킬입니다.\", \n    \"description_ru\": \"Навыки, необходимые для эффективного управления защитными силовыми полями корабля\", \n    \"description_zh\": \"管理舰船能量障壁的技能\", \n    \"descriptionID\": 288867, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Schilde\", \n    \"name_en-us\": \"Shields\", \n    \"name_es\": \"Escudos\", \n    \"name_fr\": \"Boucliers\", \n    \"name_it\": \"Shields\", \n    \"name_ja\": \"シールド\", \n    \"name_ko\": \"실드\", \n    \"name_ru\": \"Укрепление щитов\", \n    \"name_zh\": \"护盾\", \n    \"nameID\": 288866, \n    \"parentGroupID\": 150\n  }, \n  \"1748\": {\n    \"description_de\": \"Skill zur Verwaltung der Sensor- und Nachführungssysteme eines Raumschiffs\", \n    \"description_en-us\": \"Skills pertaining to management of a spaceship's sensor and tracking systems\", \n    \"description_es\": \"Habilidades relacionadas con la gestión de los sistemas de rastreo y sensores de una nave.\", \n    \"description_fr\": \"Compétences relatives à la gestion des détecteurs et des systèmes de poursuite d'un vaisseau spatial\", \n    \"description_it\": \"Skills pertaining to management of a spaceship's sensor and tracking systems\", \n    \"description_ja\": \"艦船のセンサーおよびトラッキングシステムを管理するスキル\", \n    \"description_ko\": \"함선 센서 및 트래킹 시스템 관련 스킬입니다.\", \n    \"description_ru\": \"Навыки, необходимые для управления сенсорными системами и системами целеуказания межзвёздных кораблей\", \n    \"description_zh\": \"管理舰船的感应器和跟踪系统的技能\", \n    \"descriptionID\": 288870, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Zielaufschaltung\", \n    \"name_en-us\": \"Targeting\", \n    \"name_es\": \"Adquisición de objetivos\", \n    \"name_fr\": \"Ciblage\", \n    \"name_it\": \"Targeting\", \n    \"name_ja\": \"ターゲット\", \n    \"name_ko\": \"타겟팅\", \n    \"name_ru\": \"Целеуказание\", \n    \"name_zh\": \"锁定系统\", \n    \"nameID\": 288869, \n    \"parentGroupID\": 150\n  }, \n  \"1761\": {\n    \"description_de\": \"Zielaufschaltungsimplantate\", \n    \"description_en-us\": \"Targeting Implants\", \n    \"description_es\": \"Implantes de adquisición de objetivos.\", \n    \"description_fr\": \"Implants de ciblage\", \n    \"description_it\": \"Targeting Implants\", \n    \"description_ja\": \"ターゲットインプラント\", \n    \"description_ko\": \"타겟팅 임플란트\", \n    \"description_ru\": \"Имлантаты для улучшения целеуказания\", \n    \"description_zh\": \"锁定系统植入体\", \n    \"descriptionID\": 288918, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Zielerfassungsimplantate\", \n    \"name_en-us\": \"Targeting Implants\", \n    \"name_es\": \"Implantes de adquisición de objetivos\", \n    \"name_fr\": \"Implants de ciblage\", \n    \"name_it\": \"Targeting Implants\", \n    \"name_ja\": \"ターゲットインプラント\", \n    \"name_ko\": \"타겟팅 임플란트\", \n    \"name_ru\": \"Целеуказание\", \n    \"name_zh\": \"锁定系统植入体\", \n    \"nameID\": 288917, \n    \"parentGroupID\": 531\n  }, \n  \"1762\": {\n    \"description_de\": \"Ressourcenverarbeitungsimplantate\", \n    \"description_en-us\": \"Resource Processing Implants\", \n    \"description_es\": \"Implantes de procesamiento de recursos.\", \n    \"description_fr\": \"Implants de traitement de ressources\", \n    \"description_it\": \"Resource Processing Implants\", \n    \"description_ja\": \"資源加工インプラント\", \n    \"description_ko\": \"자원 정제 임플란트\", \n    \"description_ru\": \"Имплантаты для улучшения обработки ресурсов\", \n    \"description_zh\": \"资源加工植入体\", \n    \"descriptionID\": 288920, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Ressourcenverarbeitungsimplantate\", \n    \"name_en-us\": \"Resource Processing Implants\", \n    \"name_es\": \"Implantes de procesamiento de recursos\", \n    \"name_fr\": \"Implants de traitement de ressource\", \n    \"name_it\": \"Resource Processing Implants\", \n    \"name_ja\": \"資源加工インプラント\", \n    \"name_ko\": \"자원 정제 임플란트\", \n    \"name_ru\": \"Добыча и переработка сырья\", \n    \"name_zh\": \"资源加工植入体\", \n    \"nameID\": 288919, \n    \"parentGroupID\": 531\n  }, \n  \"1763\": {\n    \"description_de\": \"Scanimplantate\", \n    \"description_en-us\": \"Scanning Implants\", \n    \"description_es\": \"Implantes de escaneo.\", \n    \"description_fr\": \"Implants de scan\", \n    \"description_it\": \"Scanning Implants\", \n    \"description_ja\": \"スキャンインプラント\", \n    \"description_ko\": \"스캔 임플란트\", \n    \"description_ru\": \"Имплантаты для улучшения сканирования\", \n    \"description_zh\": \"扫描植入体\", \n    \"descriptionID\": 288922, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Scanimplantate\", \n    \"name_en-us\": \"Scanning Implants\", \n    \"name_es\": \"Implantes de escaneo\", \n    \"name_fr\": \"Implants de balayage\", \n    \"name_it\": \"Scanning Implants\", \n    \"name_ja\": \"スキャンインプラント\", \n    \"name_ko\": \"스캔 임플란트\", \n    \"name_ru\": \"Сбор данных\", \n    \"name_zh\": \"扫描植入体\", \n    \"nameID\": 288921, \n    \"parentGroupID\": 531\n  }, \n  \"1764\": {\n    \"description_de\": \"Biologische Implantate\", \n    \"description_en-us\": \"Biology Implants\", \n    \"description_es\": \"Implantes biológicos.\", \n    \"description_fr\": \"Implants biologiques\", \n    \"description_it\": \"Biology Implants\", \n    \"description_ja\": \"生物学関連インプラント\", \n    \"description_ko\": \"생물학 임플란트\", \n    \"description_ru\": \"Биологические имплантаты\", \n    \"description_zh\": \"生物学植入体\", \n    \"descriptionID\": 288924, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Neuralverbesserungsimplantate\", \n    \"name_en-us\": \"Neural Enhancement Implants\", \n    \"name_es\": \"Implantes de mejora neuronal\", \n    \"name_fr\": \"Implants d'amélioration neurale\", \n    \"name_it\": \"Neural Enhancement Implants\", \n    \"name_ja\": \"神経強化インプラント\", \n    \"name_ko\": \"신경망 향상 임플란트\", \n    \"name_ru\": \"Подключение нейротехники\", \n    \"name_zh\": \"神经增强植入体\", \n    \"nameID\": 288923, \n    \"parentGroupID\": 531\n  }, \n  \"1765\": {\n    \"description_de\": \"Implantat-Slot 07\", \n    \"description_en-us\": \"Implant Slot 07\", \n    \"description_es\": \"Ranura de implante 07.\", \n    \"description_fr\": \"Emplacement d'implant 07\", \n    \"description_it\": \"Implant Slot 07\", \n    \"description_ja\": \"インプラントスロット07\", \n    \"description_ko\": \"임플란트 슬롯 07\", \n    \"description_ru\": \"Имплантаты — разъем 07\", \n    \"description_zh\": \"植入体插槽 07\", \n    \"descriptionID\": 288926, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 07\", \n    \"name_en-us\": \"Implant Slot 07\", \n    \"name_es\": \"Ranura de implante 07\", \n    \"name_fr\": \"Emplacement d'implant 07\", \n    \"name_it\": \"Implant Slot 07\", \n    \"name_ja\": \"インプラントスロット07\", \n    \"name_ko\": \"임플란트 슬롯 07\", \n    \"name_ru\": \"Для разъёма №7\", \n    \"name_zh\": \"植入体插槽 07\", \n    \"nameID\": 288925, \n    \"parentGroupID\": 1761\n  }, \n  \"1766\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем 08\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 288928, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 288927, \n    \"parentGroupID\": 1761\n  }, \n  \"1767\": {\n    \"description_de\": \"Implantat-Slot 10\", \n    \"description_en-us\": \"Implant Slot 10\", \n    \"description_es\": \"Ranura de implante 10.\", \n    \"description_fr\": \"Emplacement d'implant 10\", \n    \"description_it\": \"Implant Slot 10\", \n    \"description_ja\": \"インプラントスロット10\", \n    \"description_ko\": \"임플란트 슬롯 10\", \n    \"description_ru\": \"Имплантаты — разъем 10\", \n    \"description_zh\": \"植入体插槽 10\", \n    \"descriptionID\": 288930, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 10\", \n    \"name_en-us\": \"Implant Slot 10\", \n    \"name_es\": \"Ranura de implante 10\", \n    \"name_fr\": \"Emplacement d'implant 10\", \n    \"name_it\": \"Implant Slot 10\", \n    \"name_ja\": \"インプラントスロット10\", \n    \"name_ko\": \"임플란트 슬롯 10\", \n    \"name_ru\": \"Для разъёма №10\", \n    \"name_zh\": \"植入体插槽 10\", \n    \"nameID\": 288929, \n    \"parentGroupID\": 1762\n  }, \n  \"1768\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем 08\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 288932, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 288931, \n    \"parentGroupID\": 1762\n  }, \n  \"1769\": {\n    \"description_de\": \"Implantat-Slot 07\", \n    \"description_en-us\": \"Implant Slot 07\", \n    \"description_es\": \"Ranura de implante 07.\", \n    \"description_fr\": \"Emplacement d'implant 07\", \n    \"description_it\": \"Implant Slot 07\", \n    \"description_ja\": \"インプラントスロット07\", \n    \"description_ko\": \"임플란트 슬롯 07\", \n    \"description_ru\": \"Имплантаты — разъем 07\", \n    \"description_zh\": \"植入体插槽 07\", \n    \"descriptionID\": 288934, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 07\", \n    \"name_en-us\": \"Implant Slot 07\", \n    \"name_es\": \"Ranura de implante 07\", \n    \"name_fr\": \"Emplacement d'implant 07\", \n    \"name_it\": \"Implant Slot 07\", \n    \"name_ja\": \"インプラントスロット07\", \n    \"name_ko\": \"임플란트 슬롯 07\", \n    \"name_ru\": \"Для разъёма №7\", \n    \"name_zh\": \"植入体插槽 07\", \n    \"nameID\": 288933, \n    \"parentGroupID\": 1762\n  }, \n  \"1770\": {\n    \"description_de\": \"Implantat-Slot 06\", \n    \"description_en-us\": \"Implant Slot 06\", \n    \"description_es\": \"Ranura de implante 06.\", \n    \"description_fr\": \"Emplacement d'implant 06\", \n    \"description_it\": \"Implant Slot 06\", \n    \"description_ja\": \"インプラントスロット06\", \n    \"description_ko\": \"임플란트 슬롯 06\", \n    \"description_ru\": \"Имплантаты — разъем 06\", \n    \"description_zh\": \"植入体插槽 06\", \n    \"descriptionID\": 288937, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 06\", \n    \"name_en-us\": \"Implant Slot 06\", \n    \"name_es\": \"Ranura de implante 06\", \n    \"name_fr\": \"Emplacement d'implant 06\", \n    \"name_it\": \"Implant Slot 06\", \n    \"name_ja\": \"インプラントスロット06\", \n    \"name_ko\": \"임플란트 슬롯 06\", \n    \"name_ru\": \"Для разъёма №6\", \n    \"name_zh\": \"植入体插槽 06\", \n    \"nameID\": 288936, \n    \"parentGroupID\": 1763\n  }, \n  \"1771\": {\n    \"description_de\": \"Implantat-Slot 07\", \n    \"description_en-us\": \"Implant Slot 07\", \n    \"description_es\": \"Ranura de implante 07.\", \n    \"description_fr\": \"Emplacement d'implant 07\", \n    \"description_it\": \"Implant Slot 07\", \n    \"description_ja\": \"インプラントスロット07\", \n    \"description_ko\": \"임플란트 슬롯 07\", \n    \"description_ru\": \"Имплантаты — разъем 07\", \n    \"description_zh\": \"植入体插槽 07\", \n    \"descriptionID\": 288939, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 07\", \n    \"name_en-us\": \"Implant Slot 07\", \n    \"name_es\": \"Ranura de implante 07\", \n    \"name_fr\": \"Emplacement d'implant 07\", \n    \"name_it\": \"Implant Slot 07\", \n    \"name_ja\": \"インプラントスロット07\", \n    \"name_ko\": \"임플란트 슬롯 07\", \n    \"name_ru\": \"Для разъёма №7\", \n    \"name_zh\": \"植入体插槽 07\", \n    \"nameID\": 288938, \n    \"parentGroupID\": 1763\n  }, \n  \"1772\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем 08\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 288941, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 288940, \n    \"parentGroupID\": 1763\n  }, \n  \"1773\": {\n    \"description_de\": \"Implantat-Slot 09\", \n    \"description_en-us\": \"Implant Slot 09\", \n    \"description_es\": \"Ranura de implante 09.\", \n    \"description_fr\": \"Emplacement d'implant 09\", \n    \"description_it\": \"Implant Slot 09\", \n    \"description_ja\": \"インプラントスロット09\", \n    \"description_ko\": \"임플란트 슬롯 09\", \n    \"description_ru\": \"Имплантаты — разъем 09\", \n    \"description_zh\": \"植入体插槽 09\", \n    \"descriptionID\": 288943, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 09\", \n    \"name_en-us\": \"Implant Slot 09\", \n    \"name_es\": \"Ranura de implante 09\", \n    \"name_fr\": \"Emplacement d'implant 09\", \n    \"name_it\": \"Implant Slot 09\", \n    \"name_ja\": \"インプラントスロット09\", \n    \"name_ko\": \"임플란트 슬롯 09\", \n    \"name_ru\": \"Для разъёма №9\", \n    \"name_zh\": \"植入体插槽 09\", \n    \"nameID\": 288942, \n    \"parentGroupID\": 1763\n  }, \n  \"1774\": {\n    \"description_de\": \"Implantat-Slot 10\", \n    \"description_en-us\": \"Implant Slot 10\", \n    \"description_es\": \"Ranura de implante 10.\", \n    \"description_fr\": \"Emplacement d'implant 10\", \n    \"description_it\": \"Implant Slot 10\", \n    \"description_ja\": \"インプラントスロット10\", \n    \"description_ko\": \"임플란트 슬롯 10\", \n    \"description_ru\": \"Имплантаты — разъем 10\", \n    \"description_zh\": \"植入体插槽 10\", \n    \"descriptionID\": 288945, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 10\", \n    \"name_en-us\": \"Implant Slot 10\", \n    \"name_es\": \"Ranura de implante 10\", \n    \"name_fr\": \"Emplacement d'implant 10\", \n    \"name_it\": \"Implant Slot 10\", \n    \"name_ja\": \"インプラントスロット10\", \n    \"name_ko\": \"임플란트 슬롯 10\", \n    \"name_ru\": \"Для разъёма №10\", \n    \"name_zh\": \"植入体插槽 10\", \n    \"nameID\": 288944, \n    \"parentGroupID\": 1763\n  }, \n  \"1775\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Имплантаты — разъем 08\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 288949, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Для разъёма №8\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 288948, \n    \"parentGroupID\": 1764\n  }, \n  \"1776\": {\n    \"description_de\": \"Implantat-Slot 09\", \n    \"description_en-us\": \"Implant Slot 09\", \n    \"description_es\": \"Ranura de implante 09.\", \n    \"description_fr\": \"Emplacement d'implant 09\", \n    \"description_it\": \"Implant Slot 09\", \n    \"description_ja\": \"インプラントスロット09\", \n    \"description_ko\": \"임플란트 슬롯 09\", \n    \"description_ru\": \"Имплантаты — разъем 09\", \n    \"description_zh\": \"植入体插槽 09\", \n    \"descriptionID\": 288951, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 09\", \n    \"name_en-us\": \"Implant Slot 09\", \n    \"name_es\": \"Ranura de implante 09\", \n    \"name_fr\": \"Emplacement d'implant 09\", \n    \"name_it\": \"Implant Slot 09\", \n    \"name_ja\": \"インプラントスロット09\", \n    \"name_ko\": \"임플란트 슬롯 09\", \n    \"name_ru\": \"Для разъёма №9\", \n    \"name_zh\": \"植入体插槽 09\", \n    \"nameID\": 288950, \n    \"parentGroupID\": 1764\n  }, \n  \"1777\": {\n    \"description_de\": \"Implantat-Slot 10\", \n    \"description_en-us\": \"Implant Slot 10\", \n    \"description_es\": \"Ranura de implante 10.\", \n    \"description_fr\": \"Emplacement d'implant 10\", \n    \"description_it\": \"Implant Slot 10\", \n    \"description_ja\": \"インプラントスロット10\", \n    \"description_ko\": \"임플란트 슬롯 10\", \n    \"description_ru\": \"Имплантаты — разъем 10\", \n    \"description_zh\": \"植入体插槽 10\", \n    \"descriptionID\": 288953, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 10\", \n    \"name_en-us\": \"Implant Slot 10\", \n    \"name_es\": \"Ranura de implante 10\", \n    \"name_fr\": \"Emplacement d'implant 10\", \n    \"name_it\": \"Implant Slot 10\", \n    \"name_ja\": \"インプラントスロット10\", \n    \"name_ko\": \"임플란트 슬롯 10\", \n    \"name_ru\": \"Для разъёма №10\", \n    \"name_zh\": \"植入体插槽 10\", \n    \"nameID\": 288952, \n    \"parentGroupID\": 1764\n  }, \n  \"1779\": {\n    \"description_de\": \"Permanente Veränderung der Ressourcenverarbeitungseinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's resource processing facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de procesamiento de recursos de una nave.\", \n    \"description_fr\": \"Modification permanente des installations de traitement des ressources d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's resource processing facilities.\", \n    \"description_ja\": \"船の資源加工設備に据え付ける改造パーツ。\", \n    \"description_ko\": \"자원 정제 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу ресурсоперерабатывающих систем корабля.\", \n    \"description_zh\": \"资源处理相关设施的永久性改装件。\", \n    \"descriptionID\": 288957, \n    \"hasTypes\": 0, \n    \"iconID\": 21057, \n    \"name_de\": \"Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Resource Processing Rigs\", \n    \"name_es\": \"Complementos de procesamiento de recursos\", \n    \"name_fr\": \"Modifications de traitement de ressource\", \n    \"name_it\": \"Resource Processing Rigs\", \n    \"name_ja\": \"資源加工リグ\", \n    \"name_ko\": \"자원 정제 리그\", \n    \"name_ru\": \"Модификаторы переработки\", \n    \"name_zh\": \"资源加工改装件\", \n    \"nameID\": 288956, \n    \"parentGroupID\": 1111\n  }, \n  \"1780\": {\n    \"description_de\": \"Permanente Veränderung der Scaneinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's scanning facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de escaneo de una nave.\", \n    \"description_fr\": \"Modification permanente des installations de détection d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's scanning facilities.\", \n    \"description_ja\": \"船のスキャン設備に据え付ける改造パーツ。\", \n    \"description_ko\": \"스캔 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу систем сканирования корабля.\", \n    \"description_zh\": \"扫描设备永久性改装件。\", \n    \"descriptionID\": 288959, \n    \"hasTypes\": 0, \n    \"iconID\": 21058, \n    \"name_de\": \"Scanmodifikationen\", \n    \"name_en-us\": \"Scanning Rigs\", \n    \"name_es\": \"Complementos de escaneo\", \n    \"name_fr\": \"Modifications de balayage\", \n    \"name_it\": \"Scanning Rigs\", \n    \"name_ja\": \"スキャンリグ\", \n    \"name_ko\": \"스캔 리그\", \n    \"name_ru\": \"Модификаторы разведсистем\", \n    \"name_zh\": \"扫描改装件\", \n    \"nameID\": 288958, \n    \"parentGroupID\": 1111\n  }, \n  \"1781\": {\n    \"description_de\": \"Permanente Veränderung der Zielaufschaltungseinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's targeting facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de adquisición de objetivos de la nave.\", \n    \"description_fr\": \"Modification permanente des installations de ciblage d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's targeting facilities.\", \n    \"description_ja\": \"船のターゲット装置に据え付ける改造パーツ。\", \n    \"description_ko\": \"타겟팅 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу систем целеуказания корабля.\", \n    \"description_zh\": \"锁定设备永久性改装件。\", \n    \"descriptionID\": 288961, \n    \"hasTypes\": 0, \n    \"iconID\": 21059, \n    \"name_de\": \"Zielerfassungsmodifikationen\", \n    \"name_en-us\": \"Targeting Rigs\", \n    \"name_es\": \"Complementos de adquisición de objetivos\", \n    \"name_fr\": \"Modifications de ciblage\", \n    \"name_it\": \"Targeting Rigs\", \n    \"name_ja\": \"ターゲットリグ\", \n    \"name_ko\": \"타겟팅 리그\", \n    \"name_ru\": \"Модификаторы захвата целей\", \n    \"name_zh\": \"锁定系统改装件\", \n    \"nameID\": 288960, \n    \"parentGroupID\": 1111\n  }, \n  \"1782\": {\n    \"description_de\": \"Modifikationen, welche die Ressourcenverarbeitung kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's resource processing.\", \n    \"description_es\": \"Modificaciones que afectan al procesamiento de recursos de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent le traitement des ressources d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's resource processing.\", \n    \"description_ja\": \"小型宇宙船の資源加工性能を調整する改造パーツ。\", \n    \"description_ko\": \"소형 함선 자원 정제 관련 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения переработки ресурсов на кораблях малого размера.\", \n    \"description_zh\": \"小型舰船所用的资源处理系统改装件。\", \n    \"descriptionID\": 288963, \n    \"hasTypes\": 1, \n    \"iconID\": 21057, \n    \"name_de\": \"Kleine Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Small Resource Processing Rigs\", \n    \"name_es\": \"Complementos pequeños de procesamiento de recursos\", \n    \"name_fr\": \"Petites modifications de traitement de ressource\", \n    \"name_it\": \"Small Resource Processing Rigs\", \n    \"name_ja\": \"小型資源加工リグ\", \n    \"name_ko\": \"소형 자원 정제 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型资源加工改装件\", \n    \"nameID\": 288962, \n    \"parentGroupID\": 1779\n  }, \n  \"1783\": {\n    \"description_de\": \"Modifikationen, welche die Ressourcenverarbeitung mittelgroßer Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's resource processing.\", \n    \"description_es\": \"Modificaciones que afectan al procesamiento de recursos de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent le traitement des ressources d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's resource processing.\", \n    \"description_ja\": \"中型宇宙船の資源加工性能を調整する改造パーツ。\", \n    \"description_ko\": \"중형 함선의 자원 정제 성능을 향상하는 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения переработки ресурсов на кораблях среднего размера.\", \n    \"description_zh\": \"中型舰船所用的资源处理系统改装件。\", \n    \"descriptionID\": 288965, \n    \"hasTypes\": 1, \n    \"iconID\": 21057, \n    \"name_de\": \"Mittlere Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Medium Resource Processing Rigs\", \n    \"name_es\": \"Complementos medianos de procesamiento de recursos\", \n    \"name_fr\": \"Modifications de traitement de ressource intermédiaires\", \n    \"name_it\": \"Medium Resource Processing Rigs\", \n    \"name_ja\": \"中型資源加工リグ\", \n    \"name_ko\": \"중형 자원 정제 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型资源加工改装件\", \n    \"nameID\": 288964, \n    \"parentGroupID\": 1779\n  }, \n  \"1784\": {\n    \"description_de\": \"Modifikationen, welche die Ressourcenverarbeitung großer Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's resource processing.\", \n    \"description_es\": \"Modificaciones que afectan al procesamiento de recursos de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent le traitement des ressources d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's resource processing.\", \n    \"description_ja\": \"大型宇宙船の資源加工性能を調整する改造パーツ。\", \n    \"description_ko\": \"대형 함선의 자원 정제 성능을 향상하는 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения переработки ресурсов на кораблях крупного размера.\", \n    \"description_zh\": \"大型舰船所用的资源处理系统改装件。\", \n    \"descriptionID\": 288967, \n    \"hasTypes\": 1, \n    \"iconID\": 21057, \n    \"name_de\": \"Große Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Large Resource Processing Rigs\", \n    \"name_es\": \"Complementos grandes de procesamiento de recursos\", \n    \"name_fr\": \"Grandes modifications de traitement de ressource\", \n    \"name_it\": \"Large Resource Processing Rigs\", \n    \"name_ja\": \"大型資源加工リグ\", \n    \"name_ko\": \"대형 자원 정제 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型资源加工改装件\", \n    \"nameID\": 288966, \n    \"parentGroupID\": 1779\n  }, \n  \"1785\": {\n    \"description_de\": \"Modifikationen, welche die Ressourcenverarbeitung von Capital-Raumschiffen betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's resource processing.\", \n    \"description_es\": \"Modificaciones que afectan al procesamiento de recursos de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent le traitement des ressources d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's resource processing.\", \n    \"description_ja\": \"キャピタル級宇宙船の資源加工性能を調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선의 자원 정제 성능을 향상하는 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения переработки ресурсов на кораблях большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰船所用的资源处理系统改装件。\", \n    \"descriptionID\": 288969, \n    \"hasTypes\": 1, \n    \"iconID\": 21057, \n    \"name_de\": \"Capital-Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Capital Resource Processing Rigs\", \n    \"name_es\": \"Complementos capitales de procesamiento de recursos\", \n    \"name_fr\": \"Modifications de traitement de ressource capitales\", \n    \"name_it\": \"Capital Resource Processing Rigs\", \n    \"name_ja\": \"キャピタル資源加工リグ\", \n    \"name_ko\": \"캐피탈 자원 정제 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级资源加工改装件\", \n    \"nameID\": 288968, \n    \"parentGroupID\": 1779\n  }, \n  \"1786\": {\n    \"description_de\": \"Modifikationen, welche die Scanleistung kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's scanning.\", \n    \"description_es\": \"Modificaciones que afectan al escaneo de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent le système de détection d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's scanning.\", \n    \"description_ja\": \"小型宇宙船のスキャン性能を調整する改造パーツ。\", \n    \"description_ko\": \"소형 함선의 스캔 성능을 향상하는 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы систем сканирования на кораблях малого размера.\", \n    \"description_zh\": \"小型舰船所用的扫描系统改装件。\", \n    \"descriptionID\": 288971, \n    \"hasTypes\": 1, \n    \"iconID\": 21058, \n    \"name_de\": \"Kleine Scanmodifikationen\", \n    \"name_en-us\": \"Small Scanning Rigs\", \n    \"name_es\": \"Complementos pequeños de escaneo\", \n    \"name_fr\": \"Petites modifications de balayage\", \n    \"name_it\": \"Small Scanning Rigs\", \n    \"name_ja\": \"小型スキャンリグ\", \n    \"name_ko\": \"소형 스캔 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型扫描改装件\", \n    \"nameID\": 288970, \n    \"parentGroupID\": 1780\n  }, \n  \"1787\": {\n    \"description_de\": \"Modifikationen, welche die Scanleistung mittelgroßer Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's scanning.\", \n    \"description_es\": \"Modificaciones que afectan al escaneo de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent le système de détection d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's scanning.\", \n    \"description_ja\": \"中型宇宙船のスキャン性能を調整する改造パーツ。\", \n    \"description_ko\": \"중형 함선의 스캔 성능을 향상하는 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы систем сканирования на кораблях среднего размера.\", \n    \"description_zh\": \"中型舰船所用的扫描系统改装件。\", \n    \"descriptionID\": 288973, \n    \"hasTypes\": 1, \n    \"iconID\": 21058, \n    \"name_de\": \"Mittlere Scanmodifikationen\", \n    \"name_en-us\": \"Medium Scanning Rigs\", \n    \"name_es\": \"Complementos medianos de escaneo\", \n    \"name_fr\": \"Modifications de balayage intermédiaires\", \n    \"name_it\": \"Medium Scanning Rigs\", \n    \"name_ja\": \"中型スキャンリグ\", \n    \"name_ko\": \"중형 스캔 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型扫描改装件\", \n    \"nameID\": 288972, \n    \"parentGroupID\": 1780\n  }, \n  \"1788\": {\n    \"description_de\": \"Modifikationen, welche die Scanleistung großer Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's scanning.\", \n    \"description_es\": \"Modificaciones que afectan al escaneo de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent le système de détection d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's scanning.\", \n    \"description_ja\": \"大型宇宙船のスキャン性能を調整する改造パーツ。\", \n    \"description_ko\": \"대형 함선의 스캔 성능을 향상하는 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы систем сканирования на кораблях крупного размера.\", \n    \"description_zh\": \"大型舰船所用的扫描系统改装件。\", \n    \"descriptionID\": 288975, \n    \"hasTypes\": 1, \n    \"iconID\": 21058, \n    \"name_de\": \"Große Scanmodifikationen\", \n    \"name_en-us\": \"Large Scanning Rigs\", \n    \"name_es\": \"Complementos grandes de escaneo\", \n    \"name_fr\": \"Grandes modifications de balayage\", \n    \"name_it\": \"Large Scanning Rigs\", \n    \"name_ja\": \"大型スキャンリグ\", \n    \"name_ko\": \"대형 스캔 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型扫描改装件\", \n    \"nameID\": 288974, \n    \"parentGroupID\": 1780\n  }, \n  \"1789\": {\n    \"description_de\": \"Modifikationen, welche die Scanleistung von Capital-Raumschiffen betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's scanning.\", \n    \"description_es\": \"Modificaciones que afectan al escaneo de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent le système de détection d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's scanning.\", \n    \"description_ja\": \"キャピタル級宇宙船のスキャン性能を調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선의 스캔 성능을 향상하는 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы систем сканирования на кораблях большого тоннажа.\", \n    \"description_zh\": \"旗舰级舰船所用的扫描系统改装件。\", \n    \"descriptionID\": 288977, \n    \"hasTypes\": 1, \n    \"iconID\": 21058, \n    \"name_de\": \"Capital-Scanmodifikationen\", \n    \"name_en-us\": \"Capital Scanning Rigs\", \n    \"name_es\": \"Complementos capitales de escaneo\", \n    \"name_fr\": \"Modifications de balayage capitales\", \n    \"name_it\": \"Capital Scanning Rigs\", \n    \"name_ja\": \"キャピタルスキャンリグ\", \n    \"name_ko\": \"캐피탈 스캔 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级扫描改装件\", \n    \"nameID\": 288976, \n    \"parentGroupID\": 1780\n  }, \n  \"1790\": {\n    \"description_de\": \"Modifikationen, welche die Zielaufschaltung kleiner Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a small starship's targeting.\", \n    \"description_es\": \"Modificaciones que afectan a la adquisición de objetivos de una nave pequeña.\", \n    \"description_fr\": \"Modifications qui affectent le système de ciblage d'un petit vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a small starship's targeting.\", \n    \"description_ja\": \"小型宇宙船のターゲット性能を調整する改造パーツ。\", \n    \"description_ko\": \"소형 함선의 타겟팅 성능을 향상하는 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы систем целеуказания на кораблях малого размера.\", \n    \"description_zh\": \"小型舰船所用的锁定系统改装件。\", \n    \"descriptionID\": 288979, \n    \"hasTypes\": 1, \n    \"iconID\": 21059, \n    \"name_de\": \"Kleine Zielerfassungsmodifikationen\", \n    \"name_en-us\": \"Small Targeting Rigs\", \n    \"name_es\": \"Complementos pequeños de adquisición de objetivos\", \n    \"name_fr\": \"Petites modifications de ciblage\", \n    \"name_it\": \"Small Targeting Rigs\", \n    \"name_ja\": \"小型ターゲットリグ\", \n    \"name_ko\": \"소형 타겟팅 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型锁定系统改装件\", \n    \"nameID\": 288978, \n    \"parentGroupID\": 1781\n  }, \n  \"1791\": {\n    \"description_de\": \"Modifikationen, welche die Zielaufschaltung mittelgroßer Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a medium starship's targeting.\", \n    \"description_es\": \"Modificaciones que afectan a la adquisición de objetivos de una nave mediana.\", \n    \"description_fr\": \"Modifications qui affectent le système de ciblage d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Modifications that affect a medium starship's targeting.\", \n    \"description_ja\": \"中型宇宙船のターゲット性能を調整する改造パーツ。\", \n    \"description_ko\": \"중형 함선의 타겟팅 성능을 향상하는 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы систем целеуказания на кораблях среднего размера.\", \n    \"description_zh\": \"中型舰船所用的锁定系统改装件。\", \n    \"descriptionID\": 288981, \n    \"hasTypes\": 1, \n    \"iconID\": 21059, \n    \"name_de\": \"Mittlere Zielerfassungsmodifikationen\", \n    \"name_en-us\": \"Medium Targeting Rigs\", \n    \"name_es\": \"Complementos medianos de adquisición de objetivos\", \n    \"name_fr\": \"Modifications de ciblage intermédiaires\", \n    \"name_it\": \"Medium Targeting Rigs\", \n    \"name_ja\": \"中型ターゲットリグ\", \n    \"name_ko\": \"중형 타겟팅 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型锁定系统改装件\", \n    \"nameID\": 288980, \n    \"parentGroupID\": 1781\n  }, \n  \"1792\": {\n    \"description_de\": \"Modifikationen, welche die Zielaufschaltung großer Raumschiffe betreffen.\", \n    \"description_en-us\": \"Modifications that affect a large starship's targeting.\", \n    \"description_es\": \"Modificaciones que afectan a la adquisición de objetivos de una nave grande.\", \n    \"description_fr\": \"Modifications qui affectent le système de ciblage d'un grand vaisseau spatial.\", \n    \"description_it\": \"Modifications that affect a large starship's targeting.\", \n    \"description_ja\": \"大型宇宙船のターゲット性能を調整する改造パーツ。\", \n    \"description_ko\": \"대형 함선의 타겟팅 성능을 향상하는 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы систем целеуказания на кораблях крупного размера.\", \n    \"description_zh\": \"大型舰船所用的锁定系统改装件。\", \n    \"descriptionID\": 288983, \n    \"hasTypes\": 1, \n    \"iconID\": 21059, \n    \"name_de\": \"Große Zielerfassungsmodifikationen\", \n    \"name_en-us\": \"Large Targeting Rigs\", \n    \"name_es\": \"Complementos grandes de adquisición de objetivos\", \n    \"name_fr\": \"Grandes modifications de ciblage\", \n    \"name_it\": \"Large Targeting Rigs\", \n    \"name_ja\": \"大型ターゲットリグ\", \n    \"name_ko\": \"대형 타겟팅 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型锁定系统改装件\", \n    \"nameID\": 288982, \n    \"parentGroupID\": 1781\n  }, \n  \"1793\": {\n    \"description_de\": \"Modifikationen, welche die Zielaufschaltung von Capital-Raumschiffen betreffen.\", \n    \"description_en-us\": \"Modifications that affect a capital starship's targeting.\", \n    \"description_es\": \"Modificaciones que afectan a la adquisición de objetivos de una nave capital.\", \n    \"description_fr\": \"Modifications qui affectent le système de ciblage d'un vaisseau spatial capital.\", \n    \"description_it\": \"Modifications that affect a capital starship's targeting.\", \n    \"description_ja\": \"キャピタル級宇宙船のターゲット性能を調整する改造パーツ。\", \n    \"description_ko\": \"캐피탈 함선의 타겟팅 성능을 향상하는 리그입니다.\", \n    \"description_ru\": \"Модификации для улучшения работы систем целеуказания на кораблях большого тоннажа размера.\", \n    \"description_zh\": \"旗舰级舰船所用的锁定系统改装件。\", \n    \"descriptionID\": 288985, \n    \"hasTypes\": 1, \n    \"iconID\": 21059, \n    \"name_de\": \"Capital-Zielerfassungsmodifikationen\", \n    \"name_en-us\": \"Capital Targeting Rigs\", \n    \"name_es\": \"Complementos capitales de adquisición de objetivos\", \n    \"name_fr\": \"Modifications de ciblage capitales\", \n    \"name_it\": \"Capital Targeting Rigs\", \n    \"name_ja\": \"キャピタルターゲットリグ\", \n    \"name_ko\": \"캐피탈 타겟팅 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级锁定系统改装件\", \n    \"nameID\": 288984, \n    \"parentGroupID\": 1781\n  }, \n  \"1794\": {\n    \"description_de\": \"Permanente Veränderung der Ressourcenverarbeitung eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's resource processing.\", \n    \"description_es\": \"Modificación permanente del procesamiento de recursos de una nave.\", \n    \"description_fr\": \"Modification permanente du traitement des ressources d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's resource processing.\", \n    \"description_ja\": \"船の資源加工性能を調整する据え付け型の改造パーツ。\", \n    \"description_ko\": \"자원 정제 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу ресурсоперерабатывающих систем корабля.\", \n    \"description_zh\": \"资源处理相关的永久性改装件。\", \n    \"descriptionID\": 289001, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Resource Processing Rigs\", \n    \"name_es\": \"Complementos de procesamiento de recursos\", \n    \"name_fr\": \"Modifications de traitement de ressource\", \n    \"name_it\": \"Resource Processing Rigs\", \n    \"name_ja\": \"資源加工リグ\", \n    \"name_ko\": \"자원 정제 리그\", \n    \"name_ru\": \"Модификаторы переработки\", \n    \"name_zh\": \"资源加工改装件\", \n    \"nameID\": 289000, \n    \"parentGroupID\": 943\n  }, \n  \"1795\": {\n    \"description_de\": \"Permanente Veränderung der Scaneinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's scanning facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de escaneo de una nave.\", \n    \"description_fr\": \"Modification permanente des installations de détection d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's scanning facilities.\", \n    \"description_ja\": \"船のスキャン設備に据え付ける改造パーツ。\", \n    \"description_ko\": \"스캔 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу систем сканирования корабля.\", \n    \"description_zh\": \"扫描设备永久性改装件。\", \n    \"descriptionID\": 289003, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Scanmodifikationen\", \n    \"name_en-us\": \"Scanning Rigs\", \n    \"name_es\": \"Complementos de escaneo\", \n    \"name_fr\": \"Modifications de balayage\", \n    \"name_it\": \"Scanning Rigs\", \n    \"name_ja\": \"スキャンリグ\", \n    \"name_ko\": \"스캔 리그\", \n    \"name_ru\": \"Модификаторы разведсистем\", \n    \"name_zh\": \"扫描改装件\", \n    \"nameID\": 289002, \n    \"parentGroupID\": 943\n  }, \n  \"1796\": {\n    \"description_de\": \"Permanente Veränderung der Zielaufschaltungseinrichtungen eines Schiffes.\", \n    \"description_en-us\": \"Permanent modification of a ship's targeting facilities.\", \n    \"description_es\": \"Modificación permanente de los sistemas de adquisición de objetivos de la nave.\", \n    \"description_fr\": \"Modification permanente des installations de ciblage d'un vaisseau.\", \n    \"description_it\": \"Permanent modification of a ship's targeting facilities.\", \n    \"description_ja\": \"船のターゲット装置に据え付ける改造パーツ。\", \n    \"description_ko\": \"타겟팅 관련 리그입니다.\", \n    \"description_ru\": \"Модули, вносящие постоянные изменения в работу систем целеуказания корабля.\", \n    \"description_zh\": \"锁定设备永久性改装件。\", \n    \"descriptionID\": 289005, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Zielerfassungsmodifikationen\", \n    \"name_en-us\": \"Targeting Rigs\", \n    \"name_es\": \"Complementos de adquisición de objetivos\", \n    \"name_fr\": \"Modifications de ciblage\", \n    \"name_it\": \"Targeting Rigs\", \n    \"name_ja\": \"ターゲットリグ\", \n    \"name_ko\": \"타겟팅 리그\", \n    \"name_ru\": \"Модификаторы захвата целей\", \n    \"name_zh\": \"锁定系统改装件\", \n    \"nameID\": 289004, \n    \"parentGroupID\": 943\n  }, \n  \"1797\": {\n    \"description_de\": \"Blueprints für Capital-Ressourcenverarbeitungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Capital Resource Processing Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de procesamiento de recursos.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation du traitement des ressources d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Resource Processing Rigs.\", \n    \"description_ja\": \"キャピタル資源加工リグのブループリント。\", \n    \"description_ko\": \"캐피탈 자원 정제 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей КБТ-класса для улучшения работы систем переработки ресурсов.\", \n    \"description_zh\": \"旗舰级资源加工改装件蓝图\", \n    \"descriptionID\": 289007, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital-Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Capital Resource Processing Rigs\", \n    \"name_es\": \"Complementos capitales de procesamiento de recursos\", \n    \"name_fr\": \"Modifications de traitement de ressource capitales\", \n    \"name_it\": \"Capital Resource Processing Rigs\", \n    \"name_ja\": \"キャピタル資源加工リグ\", \n    \"name_ko\": \"캐피탈 자원 정제 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级资源加工改装件\", \n    \"nameID\": 289006, \n    \"parentGroupID\": 1794\n  }, \n  \"1798\": {\n    \"description_de\": \"Blueprints für große Ressourcenverarbeitungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Large Resource Processing Rigs.\", \n    \"description_es\": \"Planos de complementos grandes de procesamiento de recursos.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation du traitement des ressources d'un grand vaisseau spatial.\", \n    \"description_it\": \"Blueprints of Large Resource Processing Rigs.\", \n    \"description_ja\": \"大型資源加工リグのブループリント。\", \n    \"description_ko\": \"대형 자원 정제 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей для улучшения работы систем переработки ресурсов.\", \n    \"description_zh\": \"大型资源加工改装件蓝图\", \n    \"descriptionID\": 289009, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Large Resource Processing Rigs\", \n    \"name_es\": \"Complementos grandes de procesamiento de recursos\", \n    \"name_fr\": \"Grandes modifications de traitement de ressource\", \n    \"name_it\": \"Large Resource Processing Rigs\", \n    \"name_ja\": \"大型資源加工リグ\", \n    \"name_ko\": \"대형 자원 정제 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型资源加工改装件\", \n    \"nameID\": 289008, \n    \"parentGroupID\": 1794\n  }, \n  \"1799\": {\n    \"description_de\": \"Blueprints für mittelgroße Ressourcenverarbeitungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Medium Resource Processing Rigs.\", \n    \"description_es\": \"Planos de complementos medianos de procesamiento de recursos.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation du traitement des ressources d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Resource Processing Rigs.\", \n    \"description_ja\": \"中型資源加工リグのブループリント。\", \n    \"description_ko\": \"중형 자원 정제 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи средних тюнинг-модулей для улучшения работы систем переработки ресурсов.\", \n    \"description_zh\": \"中型资源加工改装件蓝图\", \n    \"descriptionID\": 289011, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Medium Resource Processing Rigs\", \n    \"name_es\": \"Complementos medianos de procesamiento de recursos\", \n    \"name_fr\": \"Modifications de traitement de ressource intermédiaires\", \n    \"name_it\": \"Medium Resource Processing Rigs\", \n    \"name_ja\": \"中型資源加工リグ\", \n    \"name_ko\": \"중형 자원 정제 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型资源加工改装件\", \n    \"nameID\": 289010, \n    \"parentGroupID\": 1794\n  }, \n  \"1800\": {\n    \"description_de\": \"Blueprints für kleine Ressourcenverarbeitungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Small Resource Processing Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños de procesamiento de recursos.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation du traitement des ressources d'un petit vaisseau spatial.\", \n    \"description_it\": \"Blueprints of Small Resource Processing Rigs.\", \n    \"description_ja\": \"小型資源加工リグのブループリント。\", \n    \"description_ko\": \"소형 자원 정제 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей для улучшения работы систем переработки ресурсов.\", \n    \"description_zh\": \"小型资源加工改装件蓝图\", \n    \"descriptionID\": 289013, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Small Resource Processing Rigs\", \n    \"name_es\": \"Complementos pequeños de procesamiento de recursos\", \n    \"name_fr\": \"Petites modifications de traitement de ressource\", \n    \"name_it\": \"Small Resource Processing Rigs\", \n    \"name_ja\": \"小型資源加工リグ\", \n    \"name_ko\": \"소형 자원 정제 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型资源加工改装件\", \n    \"nameID\": 289012, \n    \"parentGroupID\": 1794\n  }, \n  \"1801\": {\n    \"description_de\": \"Blueprints für kleine Scanausrüstung.\", \n    \"description_en-us\": \"Blueprints of Small Scanning Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños de escaneo.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de détection d'un petit vaisseau spatial.\", \n    \"description_it\": \"Blueprints of Small Scanning Rigs.\", \n    \"description_ja\": \"小型スキャンリグのブループリント。\", \n    \"description_ko\": \"소형 스캔 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей для улучшения работы систем сканирования.\", \n    \"description_zh\": \"各种小型扫描系统改装件的蓝图。\", \n    \"descriptionID\": 289015, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Scanmodifikationen\", \n    \"name_en-us\": \"Small Scanning Rigs\", \n    \"name_es\": \"Complementos pequeños de escaneo\", \n    \"name_fr\": \"Petites modifications de balayage\", \n    \"name_it\": \"Small Scanning Rigs\", \n    \"name_ja\": \"小型スキャンリグ\", \n    \"name_ko\": \"소형 스캔 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型扫描改装件\", \n    \"nameID\": 289014, \n    \"parentGroupID\": 1795\n  }, \n  \"1802\": {\n    \"description_de\": \"Blueprints für mittelgroße Scanausrüstung.\", \n    \"description_en-us\": \"Blueprints of Medium Scanning Rigs.\", \n    \"description_es\": \"Planos de complementos medianos de escaneo.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de détection d'un vaisseau spatial de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Scanning Rigs.\", \n    \"description_ja\": \"中型スキャンリグのブループリント。\", \n    \"description_ko\": \"중형 스캔 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи средних тюнинг-модулей для улучшения работы систем сканирования.\", \n    \"description_zh\": \"各种中型扫描系统改装件的蓝图。\", \n    \"descriptionID\": 289017, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Scanmodifikationen\", \n    \"name_en-us\": \"Medium Scanning Rigs\", \n    \"name_es\": \"Complementos medianos de escaneo\", \n    \"name_fr\": \"Modifications intermédiaires de balayage\", \n    \"name_it\": \"Medium Scanning Rigs\", \n    \"name_ja\": \"中型スキャンリグ\", \n    \"name_ko\": \"중형 스캔 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型扫描改装件\", \n    \"nameID\": 289016, \n    \"parentGroupID\": 1795\n  }, \n  \"1803\": {\n    \"description_de\": \"Blueprints für große Scanausrüstung.\", \n    \"description_en-us\": \"Blueprints of Large Scanning Rigs.\", \n    \"description_es\": \"Planos de complementos grandes de escaneo.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de détection d'un grand vaisseau spatial.\", \n    \"description_it\": \"Blueprints of Large Scanning Rigs.\", \n    \"description_ja\": \"大型スキャンリグのブループリント。\", \n    \"description_ko\": \"대형 스캔 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей для улучшения работы систем сканирования.\", \n    \"description_zh\": \"各种大型扫描系统改装件的蓝图。\", \n    \"descriptionID\": 289019, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Scanmodifikationen\", \n    \"name_en-us\": \"Large Scanning Rigs\", \n    \"name_es\": \"Complementos grandes de escaneo\", \n    \"name_fr\": \"Grandes modifications de balayage\", \n    \"name_it\": \"Large Scanning Rigs\", \n    \"name_ja\": \"大型スキャンリグ\", \n    \"name_ko\": \"대형 스캔 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型扫描改装件\", \n    \"nameID\": 289018, \n    \"parentGroupID\": 1795\n  }, \n  \"1804\": {\n    \"description_de\": \"Blueprints für Capital-Scanausrüstung.\", \n    \"description_en-us\": \"Blueprints of Capital Scanning Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de escaneo.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de détection d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Scanning Rigs.\", \n    \"description_ja\": \"キャピタルスキャンリグのブループリント。\", \n    \"description_ko\": \"캐피탈 스캔 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей КБТ-класса для улучшения работы систем сканирования.\", \n    \"description_zh\": \"各种旗舰级扫描系统改装件的蓝图。\", \n    \"descriptionID\": 289021, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital-Scanmodifikationen\", \n    \"name_en-us\": \"Capital Scanning Rigs\", \n    \"name_es\": \"Complementos capitales de escaneo\", \n    \"name_fr\": \"Modifications de balayage capitales\", \n    \"name_it\": \"Capital Scanning Rigs\", \n    \"name_ja\": \"キャピタルスキャンリグ\", \n    \"name_ko\": \"캐피탈 스캔 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级扫描改装件\", \n    \"nameID\": 289020, \n    \"parentGroupID\": 1795\n  }, \n  \"1805\": {\n    \"description_de\": \"Blueprints für kleine Zielaufschaltungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Small Targeting Rigs.\", \n    \"description_es\": \"Planos de complementos pequeños de adquisición de objetivos.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de ciblage d'un petit vaisseau spatial.\", \n    \"description_it\": \"Blueprints of Small Targeting Rigs.\", \n    \"description_ja\": \"小型ターゲットリグのブループリント。\", \n    \"description_ko\": \"소형 타겟팅 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи малых тюнинг-модулей для улучшения работы систем целеуказания.\", \n    \"description_zh\": \"各种小型锁定系统改装件的蓝图。\", \n    \"descriptionID\": 289023, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kleine Zielerfassungsmodifikationen\", \n    \"name_en-us\": \"Small Targeting Rigs\", \n    \"name_es\": \"Complementos pequeños de adquisición de objetivos\", \n    \"name_fr\": \"Petites modifications de ciblage\", \n    \"name_it\": \"Small Targeting Rigs\", \n    \"name_ja\": \"小型ターゲットリグ\", \n    \"name_ko\": \"소형 타겟팅 리그\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型锁定系统改装件\", \n    \"nameID\": 289022, \n    \"parentGroupID\": 1796\n  }, \n  \"1806\": {\n    \"description_de\": \"Blueprints für mittelgroße Zielaufschaltungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Medium Targeting Rigs.\", \n    \"description_es\": \"Planos de complementos medianos de adquisición de objetivos.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de ciblage d'un vaisseau de taille intermédiaire.\", \n    \"description_it\": \"Blueprints of Medium Targeting Rigs.\", \n    \"description_ja\": \"中型ターゲットリグのブループリント。\", \n    \"description_ko\": \"중형 타겟팅 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи средних тюнинг-модулей для улучшения работы систем целеуказания.\", \n    \"description_zh\": \"各种中型锁定系统改装件的蓝图。\", \n    \"descriptionID\": 289025, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mittlere Zielerfassungsmodifikationen\", \n    \"name_en-us\": \"Medium Targeting Rigs\", \n    \"name_es\": \"Complementos medianos de adquisición de objetivos\", \n    \"name_fr\": \"Modifications de ciblage intermédiaires\", \n    \"name_it\": \"Medium Targeting Rigs\", \n    \"name_ja\": \"中型ターゲットリグ\", \n    \"name_ko\": \"중형 타겟팅 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型锁定系统改装件\", \n    \"nameID\": 289024, \n    \"parentGroupID\": 1796\n  }, \n  \"1807\": {\n    \"description_de\": \"Blueprints für große Zielaufschaltungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Large Targeting Rigs.\", \n    \"description_es\": \"Planos de complementos grandes de adquisición de objetivos.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de ciblage d'un grand vaisseau spatial.\", \n    \"description_it\": \"Blueprints of Large Targeting Rigs.\", \n    \"description_ja\": \"大型ターゲットリグのブループリント。\", \n    \"description_ko\": \"대형 타겟팅 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи больших тюнинг-модулей для улучшения работы систем целеуказания.\", \n    \"description_zh\": \"各种大型锁定系统改装件的蓝图。\", \n    \"descriptionID\": 289027, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Große Zielerfassungsmodifikationen\", \n    \"name_en-us\": \"Large Targeting Rigs\", \n    \"name_es\": \"Complementos grandes de adquisición de objetivos\", \n    \"name_fr\": \"Grandes modifications de ciblage\", \n    \"name_it\": \"Large Targeting Rigs\", \n    \"name_ja\": \"大型ターゲットリグ\", \n    \"name_ko\": \"대형 타겟팅 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型锁定系统改装件\", \n    \"nameID\": 289026, \n    \"parentGroupID\": 1796\n  }, \n  \"1808\": {\n    \"description_de\": \"Blueprints für Capital-Zielaufschaltungsausrüstung.\", \n    \"description_en-us\": \"Blueprints of Capital Targeting Rigs.\", \n    \"description_es\": \"Planos de complementos capitales de adquisición de objetivos.\", \n    \"description_fr\": \"Plans de construction de modules d'optimisation de ciblage d'un vaisseau spatial capital.\", \n    \"description_it\": \"Blueprints of Capital Targeting Rigs.\", \n    \"description_ja\": \"キャピタルターゲットリグのブループリント。\", \n    \"description_ko\": \"캐피탈 타겟팅 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи тюнинг-модулей КБТ-класса для улучшения работы систем целеуказания.\", \n    \"description_zh\": \"各种旗舰级锁定系统改装件的蓝图。\", \n    \"descriptionID\": 289029, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Capital-Zielerfassungsmodifikationen\", \n    \"name_en-us\": \"Capital Targeting Rigs\", \n    \"name_es\": \"Complementos capitales de adquisición de objetivos\", \n    \"name_fr\": \"Modifications de ciblage capitales\", \n    \"name_it\": \"Capital Targeting Rigs\", \n    \"name_ja\": \"キャピタルターゲットリグ\", \n    \"name_ko\": \"캐피탈 타겟팅 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰级锁定系统改装件\", \n    \"nameID\": 289028, \n    \"parentGroupID\": 1796\n  }, \n  \"1809\": {\n    \"description_de\": \"Blaupausen für Analysatoren\", \n    \"description_en-us\": \"Blueprints of analyzers.\", \n    \"description_es\": \"Planos de analizadores.\", \n    \"description_fr\": \"Plans de construction d'analyseurs.\", \n    \"description_it\": \"Blueprints of analyzers.\", \n    \"description_ja\": \"アナライザーのブループリント。\", \n    \"description_ko\": \"분석기 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи анализаторов.\", \n    \"description_zh\": \"分析仪的蓝图。\", \n    \"descriptionID\": 289138, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Analysatoren\", \n    \"name_en-us\": \"Analyzers\", \n    \"name_es\": \"Analizadores\", \n    \"name_fr\": \"Analyseurs\", \n    \"name_it\": \"Analyzers\", \n    \"name_ja\": \"アナライザー\", \n    \"name_ko\": \"분석기\", \n    \"name_ru\": \"Анализаторы\", \n    \"name_zh\": \"分析仪\", \n    \"nameID\": 289137, \n    \"parentGroupID\": 1710\n  }, \n  \"1810\": {\n    \"description_de\": \"Allianzturnier-Karten\", \n    \"description_en-us\": \"Alliance Tournament Cards\", \n    \"description_es\": \"Cartas del Torneo de Alianzas\", \n    \"description_fr\": \"Cartes du tournoi des alliances\", \n    \"description_it\": \"Alliance Tournament Cards\", \n    \"description_ja\": \"アライアンストーナメントカード\", \n    \"description_ko\": \"얼라이언스 토너먼트 카드\", \n    \"description_ru\": \"Коллекционные карты турниров между альянсами\", \n    \"description_zh\": \"联盟争霸赛卡片\", \n    \"descriptionID\": 289172, \n    \"hasTypes\": 0, \n    \"iconID\": 21065, \n    \"name_de\": \"Allianzturnier-Karten\", \n    \"name_en-us\": \"Alliance Tournament Cards\", \n    \"name_es\": \"Cartas del Torneo de Alianzas\", \n    \"name_fr\": \"Cartes du Tournoi des alliances\", \n    \"name_it\": \"Alliance Tournament Cards\", \n    \"name_ja\": \"アライアンストーナメントカード\", \n    \"name_ko\": \"얼라이언스 토너먼트 카드\", \n    \"name_ru\": \"Коллекционные карты «Турниров альянсов»\", \n    \"name_zh\": \"联盟争霸赛卡片\", \n    \"nameID\": 289171, \n    \"parentGroupID\": 1660\n  }, \n  \"1811\": {\n    \"description_de\": \"New Eden Open-Karten\", \n    \"description_en-us\": \"New Eden Open Cards\", \n    \"description_es\": \"Cartas del Open de Nuevo Edén.\", \n    \"description_fr\": \"Cartes ouvertes de New Eden\", \n    \"description_it\": \"New Eden Open Cards\", \n    \"description_ja\": \"ニューエデンオープンカード\", \n    \"description_ko\": \"뉴에덴 오픈 카드\", \n    \"description_ru\": \"Коллекционные карты открытого турнира Нового Эдема\", \n    \"description_zh\": \"新伊甸公开赛卡片\", \n    \"descriptionID\": 289174, \n    \"hasTypes\": 0, \n    \"iconID\": 20974, \n    \"name_de\": \"New Eden Open-Karten\", \n    \"name_en-us\": \"New Eden Open Cards\", \n    \"name_es\": \"Cartas del Open de Nuevo Edén\", \n    \"name_fr\": \"Cartes New Eden Open\", \n    \"name_it\": \"New Eden Open Cards\", \n    \"name_ja\": \"ニューエデンオープンカード\", \n    \"name_ko\": \"뉴에덴 오픈 카드\", \n    \"name_ru\": \"Коллекционные карты открытого турнира Нового Эдема\", \n    \"name_zh\": \"新伊甸公开赛卡片\", \n    \"nameID\": 289173, \n    \"parentGroupID\": 1660\n  }, \n  \"1812\": {\n    \"description_de\": \"Allianzturnier-Bestenmannschaften\", \n    \"description_en-us\": \"Alliance Tournament All Star Teams\", \n    \"description_es\": \"Equipos All Star del Torneo de Alianzas.\", \n    \"description_fr\": \"Équipes All Star du tournoi des alliances\", \n    \"description_it\": \"Alliance Tournament All Star Teams\", \n    \"description_ja\": \"アライアンストーナメントオールスターチーム\", \n    \"description_ko\": \"얼라이언스 토너먼트 올스타팀\", \n    \"description_ru\": \"Турниры между альянсами: звездные команды\", \n    \"description_zh\": \"联盟争霸赛全明星队\", \n    \"descriptionID\": 289176, \n    \"hasTypes\": 1, \n    \"iconID\": 21065, \n    \"name_de\": \"Allianzturnier-Bestenmannschaften\", \n    \"name_en-us\": \"Alliance Tournament All Star Teams\", \n    \"name_es\": \"Equipos All Star del Torneo de Alianzas\", \n    \"name_fr\": \"Équipes des vedettes du Tournoi des alliances\", \n    \"name_it\": \"Alliance Tournament All Star Teams\", \n    \"name_ja\": \"アライアンストーナメントオールスターチーム\", \n    \"name_ko\": \"얼라이언스 토너먼트 올스타팀\", \n    \"name_ru\": \"«Турниры Альянсов»: все звёзды\", \n    \"name_zh\": \"联盟争霸赛全明星队\", \n    \"nameID\": 289175, \n    \"parentGroupID\": 1810\n  }, \n  \"1813\": {\n    \"description_de\": \"NEO YC 114-Teamkarten\", \n    \"description_en-us\": \"NEO YC 114 Team Cards\", \n    \"description_es\": \"Cartas de equipos NEO 114 CY.\", \n    \"description_fr\": \"Cartes de l'équipe ONE de l'année 114 après CY\", \n    \"description_it\": \"NEO YC 114 Team Cards\", \n    \"description_ja\": \"ニューエデンオープンYC114チームカード\", \n    \"description_ko\": \"NEO YC 114 팀 카드\", \n    \"description_ru\": \"Коллекционные карты турнира NEO 114 г. YC\", \n    \"description_zh\": \"新伊甸纪元114年公开赛战队卡片\", \n    \"descriptionID\": 289178, \n    \"hasTypes\": 1, \n    \"iconID\": 20974, \n    \"name_de\": \"NEO YC 114-Teamkarten\", \n    \"name_en-us\": \"NEO YC 114 Team Cards\", \n    \"name_es\": \"Cartas de equipos NEO 114 CY\", \n    \"name_fr\": \"Cartes d'équipe ONE 114 après CY\", \n    \"name_it\": \"NEO YC 114 Team Cards\", \n    \"name_ja\": \"ニューエデンオープンYC114チームカード\", \n    \"name_ko\": \"NEO YC 114 팀 카드\", \n    \"name_ru\": \"Коллекционные карты турнира NEO 14-го года от ю. с.\", \n    \"name_zh\": \"新伊甸纪元114年公开赛战队卡片\", \n    \"nameID\": 289177, \n    \"parentGroupID\": 1811\n  }, \n  \"1814\": {\n    \"description_de\": \"Sonderversionen: Implantate\", \n    \"description_en-us\": \"Special Edition Implants\", \n    \"description_es\": \"Implantes de edición especial.\", \n    \"description_fr\": \"Implants édition spéciale\", \n    \"description_it\": \"Special Edition Implants\", \n    \"description_ja\": \"特別版インプラント\", \n    \"description_ko\": \"임플란트\", \n    \"description_ru\": \"Имплантаты — спецвыпуски\", \n    \"description_zh\": \"特别版植入体\", \n    \"descriptionID\": 289180, \n    \"hasTypes\": 1, \n    \"iconID\": 21047, \n    \"name_de\": \"Implantate\", \n    \"name_en-us\": \"Special Edition Implants\", \n    \"name_es\": \"Implantes de edición especial\", \n    \"name_fr\": \"Implants édition spéciale\", \n    \"name_it\": \"Special Edition Implants\", \n    \"name_ja\": \"特別版インプラント\", \n    \"name_ko\": \"임플란트\", \n    \"name_ru\": \"Импланты из особых изданий\", \n    \"name_zh\": \"特别版植入体\", \n    \"nameID\": 289179, \n    \"parentGroupID\": 1659\n  }, \n  \"1815\": {\n    \"description_de\": \"Kleine entbehrliche und Anfängerschiffe\", \n    \"description_en-us\": \"Small entry-level and expendable ships\", \n    \"description_es\": \"Naves pequeñas y prescindibles de nivel básico.\", \n    \"description_fr\": \"Petits vaisseaux d'entrée de gamme pouvant être sacrifiés\", \n    \"description_it\": \"Small entry-level and expendable ships\", \n    \"description_ja\": \"小型で最も安価なため、買い換えが容易な艦船\", \n    \"description_ko\": \"초심자용 소형 함선\", \n    \"description_ru\": \"Небольшие и недорогие корабли для начинающих пилотов\", \n    \"description_zh\": \"廉价的入门级小型舰船\", \n    \"descriptionID\": 289265, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Corvettes\", \n    \"name_en-us\": \"Corvettes\", \n    \"name_es\": \"Corbetas\", \n    \"name_fr\": \"Corvettes\", \n    \"name_it\": \"Corvettes\", \n    \"name_ja\": \"コルベット\", \n    \"name_ko\": \"코르벳\", \n    \"name_ru\": \"Корветы\", \n    \"name_zh\": \"轻型护卫舰\", \n    \"nameID\": 289264, \n    \"parentGroupID\": 4\n  }, \n  \"1816\": {\n    \"description_de\": \"Amarr-Anfängerschiff-Designs.\", \n    \"description_en-us\": \"Amarr rookie ship designs.\", \n    \"description_es\": \"Diseños de naves amarrianas para principiantes.\", \n    \"description_fr\": \"Modèles de vaisseaux de recrue amarr.\", \n    \"description_it\": \"Amarr rookie ship designs.\", \n    \"description_ja\": \"アマー設計のルーキー船。\", \n    \"description_ko\": \"초심자용 아마르 함선입니다.\", \n    \"description_ru\": \"Планы учебного корабля империи Амарр.\", \n    \"description_zh\": \"艾玛新手船设计\", \n    \"descriptionID\": 289267, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 289266, \n    \"parentGroupID\": 1815\n  }, \n  \"1817\": {\n    \"description_de\": \"Caldari-Anfängerschiff-Designs.\", \n    \"description_en-us\": \"Caldari rookie ship designs.\", \n    \"description_es\": \"Diseños de naves caldaris para principiantes.\", \n    \"description_fr\": \"Modèles de vaisseaux de recrue caldari.\", \n    \"description_it\": \"Caldari rookie ship designs.\", \n    \"description_ja\": \"カルダリ設計のルーキー船。\", \n    \"description_ko\": \"초심자용 칼다리 함선입니다.\", \n    \"description_ru\": \"Планы учебного корабля государства Калдари.\", \n    \"description_zh\": \"加达里新手船设计\", \n    \"descriptionID\": 289269, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 289268, \n    \"parentGroupID\": 1815\n  }, \n  \"1818\": {\n    \"description_de\": \"Gallente-Anfängerschiff-Designs.\", \n    \"description_en-us\": \"Gallente rookie ship designs.\", \n    \"description_es\": \"Diseños de naves gallentes para principiantes.\", \n    \"description_fr\": \"Modèles de vaisseaux de recrue gallente.\", \n    \"description_it\": \"Gallente rookie ship designs.\", \n    \"description_ja\": \"ガレンテ設計のルーキー船。\", \n    \"description_ko\": \"초심자용 갈란테 함선입니다.\", \n    \"description_ru\": \"Планы учебного корабля федерации Галленте.\", \n    \"description_zh\": \"盖伦特新手船设计\", \n    \"descriptionID\": 289271, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 289270, \n    \"parentGroupID\": 1815\n  }, \n  \"1819\": {\n    \"description_de\": \"Minmatar-Anfängerschiff-Designs.\", \n    \"description_en-us\": \"Minmatar rookie ship designs.\", \n    \"description_es\": \"Diseños de naves minmatarianas para principiantes.\", \n    \"description_fr\": \"Modèles de vaisseaux de recrue minmatar.\", \n    \"description_it\": \"Minmatar rookie ship designs.\", \n    \"description_ja\": \"ミンマター設計のルーキー船。\", \n    \"description_ko\": \"초심자용 민마타 함선입니다.\", \n    \"description_ru\": \"Планы учебного корабля республики Минматар.\", \n    \"description_zh\": \"米玛塔尔新手船设计\", \n    \"descriptionID\": 289273, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 289272, \n    \"parentGroupID\": 1815\n  }, \n  \"1822\": {\n    \"description_de\": \"Tätowierungen für Charaktere\", \n    \"description_en-us\": \"Tattoos for characters\", \n    \"description_es\": \"Tatuajes para los personajes.\", \n    \"description_fr\": \"Tatouages pour les personnages\", \n    \"description_it\": \"Tattoos for characters\", \n    \"description_ja\": \"キャラクターのタトゥー\", \n    \"description_ko\": \"캐릭터 문신\", \n    \"description_ru\": \"Татуировки для персонажей\", \n    \"description_zh\": \"玩家的纹身\", \n    \"descriptionID\": 289361, \n    \"hasTypes\": 1, \n    \"iconID\": 21048, \n    \"name_de\": \"Tattoos\", \n    \"name_en-us\": \"Tattoos\", \n    \"name_es\": \"Tatuajes\", \n    \"name_fr\": \"Tatouages\", \n    \"name_it\": \"Tattoos\", \n    \"name_ja\": \"タトゥー\", \n    \"name_ko\": \"문신\", \n    \"name_ru\": \"Татуировки\", \n    \"name_zh\": \"纹身\", \n    \"nameID\": 289360, \n    \"parentGroupID\": 1407\n  }, \n  \"1823\": {\n    \"description_de\": \"Skills für die Kontrolle und den Fernbetrieb von planetaren Kolonien\", \n    \"description_en-us\": \"Skills required for the control and remote operation of planetary colonies\", \n    \"description_es\": \"Habilidades necesarias para controlar colonias planetarias y sacarles rendimiento desde la distancia.\", \n    \"description_fr\": \"Compétences requises pour le contrôle et les opérations à distance des colonies planétaires\", \n    \"description_it\": \"Skills required for the control and remote operation of planetary colonies\", \n    \"description_ja\": \"惑星コロニーの制御と遠隔操作に必要となるスキル\", \n    \"description_ko\": \"행성 콜로니에 대한 제어 및 원격 운용 스킬입니다.\", \n    \"description_ru\": \"Навыки, необходимые для осуществления контроля и удалённого управления деятельностью колоний на поверхности планет\", \n    \"description_zh\": \"控制并远程操作行星殖民地开发所需要的技能\", \n    \"descriptionID\": 289823, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Planetenmanagement\", \n    \"name_en-us\": \"Planet Management\", \n    \"name_es\": \"Gestión planetaria\", \n    \"name_fr\": \"Gestion planétaire\", \n    \"name_it\": \"Planet Management\", \n    \"name_ja\": \"惑星管理\", \n    \"name_ko\": \"행성 관리\", \n    \"name_ru\": \"Освоение планет\", \n    \"name_zh\": \"行星管理\", \n    \"nameID\": 289822, \n    \"parentGroupID\": 150\n  }, \n  \"1824\": {\n    \"description_de\": \"Skills zum Einsatz und zur Kontrolle von von Raumschiff-Subsystemen\", \n    \"description_en-us\": \"Skills pertaining to the use and control of ship subsystems\", \n    \"description_es\": \"Habilidades relacionadas con el uso y el control de los subsistemas de las naves.\", \n    \"description_fr\": \"Compétences relatives à l'utilisation et au contrôle des sous-systèmes d'un vaisseau\", \n    \"description_it\": \"Skills pertaining to the use and control of ship subsystems\", \n    \"description_ja\": \"艦船のサブシステムを使用・制御するスキル\", \n    \"description_ko\": \"함선 서브시스템의 운용 및 제어와 관련된 스킬입니다.\", \n    \"description_ru\": \"Навыки, необходимые для монтажа и использования подсистем корабля\", \n    \"description_zh\": \"使用和控制舰船子系统的技能\", \n    \"descriptionID\": 289825, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Subsysteme\", \n    \"name_en-us\": \"Subsystems\", \n    \"name_es\": \"Subsistemas\", \n    \"name_fr\": \"Sous-systèmes\", \n    \"name_it\": \"Subsystems\", \n    \"name_ja\": \"サブシステム\", \n    \"name_ko\": \"서브시스템\", \n    \"name_ru\": \"Монтаж подсистем\", \n    \"name_zh\": \"子系统\", \n    \"nameID\": 289824, \n    \"parentGroupID\": 150\n  }, \n  \"1827\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21074, \n    \"name_de\": \"Schnelle, schwere Lenkwaffenwerfer\", \n    \"name_en-us\": \"Rapid Heavy Missile Launchers\", \n    \"name_es\": \"Lanzamisiles pesados de cadencia rápida\", \n    \"name_fr\": \"Lance-missiles lourds rapides\", \n    \"name_it\": \"Rapid Heavy Missile Launchers\", \n    \"name_ja\": \"高速ヘビーミサイルランチャー\", \n    \"name_ko\": \"급속 헤비 미사일 런처\", \n    \"name_ru\": \"Скорострельные тяжёлые\", \n    \"name_zh\": \"重型快速导弹发射器\", \n    \"nameID\": 290301, \n    \"parentGroupID\": 140\n  }, \n  \"1828\": {\n    \"description_de\": \"Blueprints für mobile Depots\", \n    \"description_en-us\": \"Blueprints for Mobile Depots\", \n    \"description_es\": \"Planos para depósitos móviles\", \n    \"description_fr\": \"Plans de construction de dépôts mobiles\", \n    \"description_it\": \"Blueprints for Mobile Depots\", \n    \"description_ja\": \"移動式貯蔵所のブループリント\", \n    \"description_ko\": \"이동식 저장고 블루프린트\", \n    \"description_ru\": \"Чертежи автономных постов снабжения\", \n    \"description_zh\": \"移动式仓库的蓝图\", \n    \"descriptionID\": 292453, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mobile Depots\", \n    \"name_en-us\": \"Mobile Depots\", \n    \"name_es\": \"Depósitos móviles\", \n    \"name_fr\": \"Dépôts mobiles\", \n    \"name_it\": \"Mobile Depots\", \n    \"name_ja\": \"移動式貯蔵所\", \n    \"name_ko\": \"이동식 저장고\", \n    \"name_ru\": \"Полевые депо оснащения\", \n    \"name_zh\": \"移动式仓库\", \n    \"nameID\": 292452, \n    \"parentGroupID\": 406\n  }, \n  \"1829\": {\n    \"description_de\": \"Blueprints für mobile Anziehungsblocker\", \n    \"description_en-us\": \"Blueprints for Mobile Cynosural Inhibitors\", \n    \"description_es\": \"Planos para inhibidores cinosurales móviles.\", \n    \"description_fr\": \"Plans de construction d'inhibiteurs cynosuraux mobiles\", \n    \"description_it\": \"Blueprints for Mobile Cynosural Inhibitors\", \n    \"description_ja\": \"移動式サイノシュラル阻害機のブループリント\", \n    \"description_ko\": \"이동식 사이노슈럴 억제기 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи автономных генераторов помех приводным маякам\", \n    \"description_zh\": \"移动式诱导抑制装置蓝图\", \n    \"descriptionID\": 292455, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mobile Anziehungsfeldhemmer\", \n    \"name_en-us\": \"Mobile Cynosural Inhibitors\", \n    \"name_es\": \"Inhibidores cinosurales móviles\", \n    \"name_fr\": \"Inhibiteurs cynosuraux mobiles\", \n    \"name_it\": \"Mobile Cynosural Inhibitors\", \n    \"name_ja\": \"移動式サイノシュラル阻害機\", \n    \"name_ko\": \"이동식 사이노슈럴 억제기\", \n    \"name_ru\": \"Полевые глушители приводных маяков\", \n    \"name_zh\": \"移动式诱导抑制装置\", \n    \"nameID\": 292454, \n    \"parentGroupID\": 406\n  }, \n  \"1830\": {\n    \"description_de\": \"Blueprints für mobile Traktoreinheiten\", \n    \"description_en-us\": \"Blueprints of Mobile Tractor Units\", \n    \"description_es\": \"Planos de unidades tractoras móviles.\", \n    \"description_fr\": \"Plans de construction d'unités de tractage mobiles\", \n    \"description_it\": \"Blueprints of Mobile Tractor Units\", \n    \"description_ja\": \"移動式トラクターユニットのブループリント\", \n    \"description_ko\": \"이동식 트랙터 장치 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи автономных блоков сбора трофеев\", \n    \"description_zh\": \"移动式牵引装置的蓝图\", \n    \"descriptionID\": 292457, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mobile Traktorstrahleinheiten\", \n    \"name_en-us\": \"Mobile Tractor Units\", \n    \"name_es\": \"Unidades tractoras móviles\", \n    \"name_fr\": \"Unités de tractage mobiles\", \n    \"name_it\": \"Mobile Tractor Units\", \n    \"name_ja\": \"移動式トラクターユニット\", \n    \"name_ko\": \"이동식 트랙터 장치\", \n    \"name_ru\": \"Полевые сборщики трофеев\", \n    \"name_zh\": \"移动式牵引装置\", \n    \"nameID\": 292456, \n    \"parentGroupID\": 406\n  }, \n  \"1831\": {\n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Mobile Depots\", \n    \"name_en-us\": \"Mobile Depots\", \n    \"name_es\": \"Depósitos móviles\", \n    \"name_fr\": \"Dépôts mobiles\", \n    \"name_it\": \"Mobile Depots\", \n    \"name_ja\": \"移動式貯蔵所\", \n    \"name_ko\": \"이동식 저장고\", \n    \"name_ru\": \"Полевые депо оснащения\", \n    \"name_zh\": \"移动式仓库\", \n    \"nameID\": 292458, \n    \"parentGroupID\": 404\n  }, \n  \"1832\": {\n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Mobile Anziehungsfeldhemmer\", \n    \"name_en-us\": \"Mobile Cynosural Inhibitors\", \n    \"name_es\": \"Inhibidores cinosurales móviles\", \n    \"name_fr\": \"Inhibiteurs cynosuraux mobiles\", \n    \"name_it\": \"Mobile Cynosural Inhibitors\", \n    \"name_ja\": \"移動式サイノシュラル阻害機\", \n    \"name_ko\": \"이동식 사이노슈럴 억제기\", \n    \"name_ru\": \"Полевые глушители приводных маяков\", \n    \"name_zh\": \"移动式诱导抑制装置\", \n    \"nameID\": 292459, \n    \"parentGroupID\": 404\n  }, \n  \"1833\": {\n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Mobile Traktorstrahleinheiten\", \n    \"name_en-us\": \"Mobile Tractor Units\", \n    \"name_es\": \"Unidades tractoras móviles\", \n    \"name_fr\": \"Unités de tractage mobiles\", \n    \"name_it\": \"Mobile Tractor Units\", \n    \"name_ja\": \"移動式トラクターユニット\", \n    \"name_ko\": \"이동식 트랙터 장치\", \n    \"name_ru\": \"Полевые сборщики трофеев\", \n    \"name_zh\": \"移动式牵引装置\", \n    \"nameID\": 292460, \n    \"parentGroupID\": 404\n  }, \n  \"1834\": {\n    \"description_de\": \"Blueprints für mobile Absaugeinheiten\", \n    \"description_en-us\": \"Blueprints of Mobile Siphon Units.\", \n    \"description_es\": \"Planos de unidades sifónicas móviles.\", \n    \"description_fr\": \"Plans de construction d'unités de siphonnage mobiles.\", \n    \"description_it\": \"Blueprints of Mobile Siphon Units.\", \n    \"description_ja\": \"移動式サイフォンユニットのブループリント。\", \n    \"description_ko\": \"이동식 사이펀 장치 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи отводных блоков.\", \n    \"description_zh\": \"移动式虹吸装置的蓝图\", \n    \"descriptionID\": 292480, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mobile Abzapfeinheiten\", \n    \"name_en-us\": \"Mobile Siphon Units\", \n    \"name_es\": \"Unidades sifónicas móviles\", \n    \"name_fr\": \"Unités de siphon mobiles\", \n    \"name_it\": \"Mobile Siphon Units\", \n    \"name_ja\": \"移動式サイフォンユニット\", \n    \"name_ko\": \"이동식 사이펀 장치\", \n    \"name_ru\": \"Полевые реквизиционные блоки\", \n    \"name_zh\": \"移动式虹吸装置\", \n    \"nameID\": 292478, \n    \"parentGroupID\": 406\n  }, \n  \"1835\": {\n    \"description_de\": \"Stiehlt Ressourcen aus spielerverwalteten Strukturen.\", \n    \"description_en-us\": \"Steals resources from Player Owned Structures.\", \n    \"description_es\": \"Roba recursos de estructuras en propiedad de jugadores.\", \n    \"description_fr\": \"Dérobe les ressources des structures appartenant aux joueurs.\", \n    \"description_it\": \"Steals resources from Player Owned Structures.\", \n    \"description_ja\": \"プレイヤー所有建造物から資源をかすめ取る。\", \n    \"description_ko\": \"플레이어 소유의 구조물에서 자원을 가로챌 수 있습니다.\", \n    \"description_ru\": \"Извлекает сырьё из ПОСов.\", \n    \"description_zh\": \"从玩家的建筑中拿取资源\", \n    \"descriptionID\": 292486, \n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Mobile Abzapfeinheiten\", \n    \"name_en-us\": \"Mobile Siphon Units\", \n    \"name_es\": \"Unidades sifónicas móviles\", \n    \"name_fr\": \"Unités de siphon mobiles\", \n    \"name_it\": \"Mobile Siphon Units\", \n    \"name_ja\": \"移動式サイフォンユニット\", \n    \"name_ko\": \"이동식 사이펀 장치\", \n    \"name_ru\": \"Полевые реквизиционные блоки\", \n    \"name_zh\": \"移动式虹吸装置\", \n    \"nameID\": 292485, \n    \"parentGroupID\": 404\n  }, \n  \"1836\": {\n    \"description_de\": \"Eine Marktgruppe für verschiedene Prothesen\", \n    \"description_en-us\": \"a market group for various prosthetics\", \n    \"description_es\": \"Un grupo de mercado para prótesis varias.\", \n    \"description_fr\": \"Marché de diverses prothèses\", \n    \"description_it\": \"a market group for various prosthetics\", \n    \"description_ja\": \"様々な義肢を扱うマーケットカテゴリ\", \n    \"description_ko\": \"신체 강화 개조 관련 아이템입니다.\", \n    \"description_ru\": \"Протезы\", \n    \"description_zh\": \"各种义肢\", \n    \"descriptionID\": 292614, \n    \"hasTypes\": 1, \n    \"iconID\": 21078, \n    \"name_de\": \"Verbesserungen\", \n    \"name_en-us\": \"Augmentations\", \n    \"name_es\": \"Aumentos\", \n    \"name_fr\": \"Augmentations\", \n    \"name_it\": \"Augmentations\", \n    \"name_ja\": \"オーグメンテーション\", \n    \"name_ko\": \"신체 개조\", \n    \"name_ru\": \"Усовершенствования\", \n    \"name_zh\": \"身体改装\", \n    \"nameID\": 292613, \n    \"parentGroupID\": 1407\n  }, \n  \"1837\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Aufklärungsschiffe\", \n    \"name_en-us\": \"Special Edition Recon Ships\", \n    \"name_es\": \"Naves de reconocimiento de edición especial\", \n    \"name_fr\": \"Vaisseaux de reconnaissance édition spéciale\", \n    \"name_it\": \"Special Edition Recon Ships\", \n    \"name_ja\": \"特別版電子戦型巡洋艦\", \n    \"name_ko\": \"리콘 크루저\", \n    \"name_ru\": \"Малосерийные дозорные корабли\", \n    \"name_zh\": \"特别版侦察舰\", \n    \"nameID\": 292713, \n    \"parentGroupID\": 1612\n  }, \n  \"1838\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Covert Ops\", \n    \"name_en-us\": \"Special Edition Covert Ops\", \n    \"name_es\": \"Operaciones encubiertas de edición especial\", \n    \"name_fr\": \"Opérations secrètes édition spéciale\", \n    \"name_it\": \"Special Edition Covert Ops\", \n    \"name_ja\": \"特別版隠密行動フリゲート\", \n    \"name_ko\": \"코버트 옵스\", \n    \"name_ru\": \"Малосерийные диверсионные фрегаты\", \n    \"name_zh\": \"特别版隐形特勤舰\", \n    \"nameID\": 292714, \n    \"parentGroupID\": 1612\n  }, \n  \"1840\": {\n    \"description_de\": \"Diese Gegenstände aus Geheimoperationen sind bei verschiedenen Fraktionen gefragt.\", \n    \"description_en-us\": \"These covert operation items are in demand by various factions\", \n    \"description_es\": \"Estos artículos para operaciones encubiertas son muy codiciados entre las diversas facciones.\", \n    \"description_fr\": \"Ces objets des opérations secrètes sont demandés par différentes factions.\", \n    \"description_it\": \"These covert operation items are in demand by various factions\", \n    \"description_ja\": \"これら秘密工作用のアイテムは、様々な組織からの需要がある\", \n    \"description_ko\": \"특수 연구 장비는 많은 팩션들이 탐내고 있습니다.\", \n    \"description_ru\": \"Инструменты, предназначенные для проведения секретных экспериментов\", \n    \"description_zh\": \"许多势力都对这些隐秘行动物品感兴趣\", \n    \"descriptionID\": 296523, \n    \"hasTypes\": 1, \n    \"iconID\": 2039, \n    \"name_de\": \"Geheime Forschungswerkzeuge\", \n    \"name_en-us\": \"Covert Research Tools\", \n    \"name_es\": \"Herramientas de investigación encubierta\", \n    \"name_fr\": \"Outils de recherche secrète\", \n    \"name_it\": \"Covert Research Tools\", \n    \"name_ja\": \"機密研究ツール\", \n    \"name_ko\": \"특수 연구장치\", \n    \"name_ru\": \"Исследовательские инструменты спецназначения\", \n    \"name_zh\": \"隐秘研究工具\", \n    \"nameID\": 293385, \n    \"parentGroupID\": 19\n  }, \n  \"1841\": {\n    \"description_de\": \"Blaupausen für stationierbare Strukturen.\", \n    \"description_en-us\": \"Blueprints of deployable structures.\", \n    \"description_es\": \"Planos de estructuras desplegables.\", \n    \"description_fr\": \"Plans de construction des structures déployables.\", \n    \"description_it\": \"Blueprints of deployable structures.\", \n    \"description_ja\": \"配置可能な建造物のブループリント。\", \n    \"description_ko\": \"전개형 구조물을 위한 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи автономных блоков.\", \n    \"description_zh\": \"可部署建筑蓝图\", \n    \"descriptionID\": 294037, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Sternenbasis-Strukturen\", \n    \"name_en-us\": \"Starbase Structures\", \n    \"name_es\": \"Estructuras de base estelar\", \n    \"name_fr\": \"Structures de base stellaire\", \n    \"name_it\": \"Starbase Structures\", \n    \"name_ja\": \"スターベース建造物\", \n    \"name_ko\": \"스타베이스 구조물\", \n    \"name_ru\": \"Передвижные орбитальные станции\", \n    \"name_zh\": \"母星建筑\", \n    \"nameID\": 294036, \n    \"parentGroupID\": 1338\n  }, \n  \"1842\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mobile Mikrosprungeinheiten\", \n    \"name_en-us\": \"Mobile Micro Jump Units\", \n    \"name_es\": \"Unidades de microsalto móviles\", \n    \"name_fr\": \"Unités de microsaut mobiles\", \n    \"name_it\": \"Mobile Micro Jump Units\", \n    \"name_ja\": \"移動式マイクロジャンプユニット\", \n    \"name_ko\": \"이동식 마이크로 점프 장치\", \n    \"name_ru\": \"Полевые разгонные блоки\", \n    \"name_zh\": \"移动式微型跳跃装置\", \n    \"nameID\": 294173, \n    \"parentGroupID\": 406\n  }, \n  \"1843\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mobile Scanblockierer\", \n    \"name_en-us\": \"Mobile Scan Inhibitors\", \n    \"name_es\": \"Inhibidores de escaneo móviles\", \n    \"name_fr\": \"Inhibiteurs de balayage mobiles\", \n    \"name_it\": \"Mobile Scan Inhibitors\", \n    \"name_ja\": \"移動式スキャン阻害機\", \n    \"name_ko\": \"이동식 스캔 방해장치\", \n    \"name_ru\": \"Полевые глушители разведсистем\", \n    \"name_zh\": \"移动式扫描抑制装置\", \n    \"nameID\": 294174, \n    \"parentGroupID\": 406\n  }, \n  \"1844\": {\n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Mobile Mikrosprungeinheiten\", \n    \"name_en-us\": \"Mobile Micro Jump Units\", \n    \"name_es\": \"Unidades de microsalto móviles\", \n    \"name_fr\": \"Unités de microsaut mobiles\", \n    \"name_it\": \"Mobile Micro Jump Units\", \n    \"name_ja\": \"移動式マイクロジャンプユニット\", \n    \"name_ko\": \"이동식 마이크로 점프 장치\", \n    \"name_ru\": \"Полевые разгонные блоки\", \n    \"name_zh\": \"移动式微型跳跃装置\", \n    \"nameID\": 294175, \n    \"parentGroupID\": 404\n  }, \n  \"1845\": {\n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Mobile Scanblockierer\", \n    \"name_en-us\": \"Mobile Scan Inhibitors\", \n    \"name_es\": \"Inhibidores de escaneo móviles\", \n    \"name_fr\": \"Inhibiteurs de balayage mobiles\", \n    \"name_it\": \"Mobile Scan Inhibitors\", \n    \"name_ja\": \"移動式スキャン阻害機\", \n    \"name_ko\": \"이동식 스캔 방해장치\", \n    \"name_ru\": \"Полевые генераторы помех разведсистемам\", \n    \"name_zh\": \"移动式扫描抑制装置\", \n    \"nameID\": 294176, \n    \"parentGroupID\": 404\n  }, \n  \"1846\": {\n    \"description_de\": \"Diese Marken können in Stationen der imperialen Navy gegen ISK eingetauscht werden\", \n    \"description_en-us\": \"These tags can be turned in, at empire navy stations, in return for ISK\", \n    \"description_es\": \"Estas etiquetas pueden entregarse en las estaciones de las armadas imperiales a cambio de ISK.\", \n    \"description_fr\": \"Ces insignes peuvent être remis dans les stations des navy impériales contre des ISK\", \n    \"description_it\": \"These tags can be turned in, at empire navy stations, in return for ISK\", \n    \"description_ja\": \"これらのタグを帝国海軍のステーションに提供することで、ISKを得られる。\", \n    \"description_ko\": \"인식표를 해군 정거장에 제출하면 ISK를 보상으로 받을 수 있습니다.\", \n    \"description_ru\": \"Эти жетоны можно обменять на ISK у имперских военных\", \n    \"description_zh\": \"这些铭牌可以拿到帝国海军空间站去换取星币\", \n    \"descriptionID\": 294261, \n    \"hasTypes\": 1, \n    \"iconID\": 24565, \n    \"name_de\": \"Verschlüsselte Kopfgeldwertpapiere\", \n    \"name_en-us\": \"Bounty Encrypted Bonds\", \n    \"name_es\": \"Bonos cifrados de recompensa\", \n    \"name_fr\": \"Obligations cryptées de prime\", \n    \"name_it\": \"Bounty Encrypted Bonds\", \n    \"name_ja\": \"賞金暗号化債券\", \n    \"name_ko\": \"현상금 암호 채권\", \n    \"name_ru\": \"Зашифрованные облигации в награду за убийство\", \n    \"name_zh\": \"赏金加密债券\", \n    \"nameID\": 294260, \n    \"parentGroupID\": 19\n  }, \n  \"1847\": {\n    \"description_de\": \"Stationierbare Struktur, die Kopfgeld-Auszahlungen im System überwacht\", \n    \"description_en-us\": \"Deployables that monitor bounty payout activity in the system\", \n    \"description_es\": \"Estructuras desplegables que controlan la actividad de pago de recompensas en el sistema.\", \n    \"description_fr\": \"Structures déployables permettent de surveiller le paiement des primes dans le système\", \n    \"description_it\": \"Deployables that monitor bounty payout activity in the system\", \n    \"description_ja\": \"システム内の賞金払い戻しをモニターする、配置可能な建造物\", \n    \"description_ko\": \"항성계 현상금 활동 모니터링 기능이 있는 구조물입니다.\", \n    \"description_ru\": \"Автономные блоки, следящие за выплатой наград за уничтожение пиратов в пределах планетной системы.\", \n    \"description_zh\": \"可以监测星系内赏金获取情况的可部署建筑\", \n    \"descriptionID\": 294263, \n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Gefechtsüberwachungssysteme\", \n    \"name_en-us\": \"Encounter Surveillance Systems\", \n    \"name_es\": \"Sistemas de vigilancia de encuentros\", \n    \"name_fr\": \"Systèmes de surveillance des affrontements\", \n    \"name_it\": \"Encounter Surveillance Systems\", \n    \"name_ja\": \"対戦監視システム\", \n    \"name_ko\": \"교전 감지 시스템\", \n    \"name_ru\": \"Станции учёта боестолкновений\", \n    \"name_zh\": \"事件监测装置\", \n    \"nameID\": 294262, \n    \"parentGroupID\": 404\n  }, \n  \"1849\": {\n    \"description_de\": \"In Raffinerien werden chemische Reaktionen genutzt, um sowohl nützliche Materialien als auch verschiedene Boosterdrogen zu erstellen\", \n    \"description_en-us\": \"Chemical reactions used in Refineries to create many useful materials, as well as various booster drugs\", \n    \"description_es\": \"Reacciones químicas usadas en las refinerías para crear muchos materiales útiles, además de varios fármacos potenciadores.\", \n    \"description_fr\": \"Des réactions chimiques utilisées en raffinerie pour fabriquer des matériaux en quantité ainsi que différentes substances boostantes\", \n    \"description_it\": \"Chemical reactions used in Refineries to create many useful materials, as well as various booster drugs\", \n    \"description_ja\": \"スターベース内で利用される多くの有用な資源や強力な薬物を製造する化学反応\", \n    \"description_ko\": \"정제소에서 사용되는 화학 반응식으로 부스터를 포함한 각종 물질을 제작할 수 있습니다.\", \n    \"description_ru\": \"Химические реакции, которые используют на перерабатывающих комплексах для создания как полезных материалов, так и различных стимуляторов\", \n    \"description_zh\": \"精炼厂中用于产生多种有用材料和增效剂的化学反应\", \n    \"descriptionID\": 294561, \n    \"hasTypes\": 0, \n    \"iconID\": 21783, \n    \"name_de\": \"Reaktionsformeln\", \n    \"name_en-us\": \"Reaction Formulas\", \n    \"name_es\": \"Fórmulas reactivas\", \n    \"name_fr\": \"Formules de réaction\", \n    \"name_it\": \"Reaction Formulas\", \n    \"name_ja\": \"化学反応\", \n    \"name_ko\": \"반응식\", \n    \"name_ru\": \"Формулы реакций\", \n    \"name_zh\": \"反应公式\", \n    \"nameID\": 294560, \n    \"parentGroupID\": 2\n  }, \n  \"1850\": {\n    \"description_de\": \"Chemische Prozesse, durch die aus Rohmaterialien neue Verbindungen entstehen\", \n    \"description_en-us\": \"Chemical processes through which raw materials are made into compounds\", \n    \"description_es\": \"Procesos químicos a través de los cuales las materias primas se convierten en compuestos.\", \n    \"description_fr\": \"Processus chimiques grâce auxquels on obtient des composés à partir de matières premières\", \n    \"description_it\": \"Chemical processes through which raw materials are made into compounds\", \n    \"description_ja\": \"原料を各種化合物に変える化学反応プロセス\", \n    \"description_ko\": \"화학 합성을 통해 원재료를 혼합물로 정제할 수 있는 반응식입니다.\", \n    \"description_ru\": \"Химические процессы, преобразующие сырьё в простые химические соединения.\", \n    \"description_zh\": \"将原材料转换成为化合物的化学反应\", \n    \"descriptionID\": 294563, \n    \"hasTypes\": 1, \n    \"iconID\": 2665, \n    \"name_de\": \"Einfache Reaktionen\", \n    \"name_en-us\": \"Simple Reactions\", \n    \"name_es\": \"Reacciones simples\", \n    \"name_fr\": \"Réactions simples\", \n    \"name_it\": \"Simple Reactions\", \n    \"name_ja\": \"単体反応\", \n    \"name_ko\": \"기본 반응식\", \n    \"name_ru\": \"Простые реакции\", \n    \"name_zh\": \"简单反应\", \n    \"nameID\": 294562, \n    \"parentGroupID\": 1849\n  }, \n  \"1851\": {\n    \"description_de\": \"Chemische Prozesse, die durch die Verbindungen zu komplexen Materialien vereinigt werden\", \n    \"description_en-us\": \"Chemical processes through which compounds are combined into complex materials\", \n    \"description_es\": \"Procesos químicos en los que se combinan los compuestos para formar materiales complejos.\", \n    \"description_fr\": \"Processus chimiques grâce auxquels on obtient des matériaux complexes à partir de composés\", \n    \"description_it\": \"Chemical processes through which compounds are combined into complex materials\", \n    \"description_ja\": \"化合物同士が結合して複合物質に変化する化学変化プロセス\", \n    \"description_ko\": \"화학 합성을 통해 혼합물을 복합물로 정제할 수 있는 반응식입니다.\", \n    \"description_ru\": \"Химические процессы, преобразующие простые химические соединения в комплексные соединения .\", \n    \"description_zh\": \"将化合物转换成为复杂材料的化学反应\", \n    \"descriptionID\": 294565, \n    \"hasTypes\": 1, \n    \"iconID\": 2665, \n    \"name_de\": \"Komplexe Reaktionen\", \n    \"name_en-us\": \"Complex Reactions\", \n    \"name_es\": \"Reacciones complejas\", \n    \"name_fr\": \"Réactions complexes\", \n    \"name_it\": \"Complex Reactions\", \n    \"name_ja\": \"複合反応\", \n    \"name_ko\": \"복합 반응식\", \n    \"name_ru\": \"Сложные реакции\", \n    \"name_zh\": \"复杂反应\", \n    \"nameID\": 294564, \n    \"parentGroupID\": 1849\n  }, \n  \"1852\": {\n    \"description_de\": \"Biochemische Prozesse, durch die aus Rohmaterialien neue Verbindungen entstehen\", \n    \"description_en-us\": \"Biochemical processes through which raw materials are made into compounds\", \n    \"description_es\": \"Procesos bioquímicos a través de los cuales las materias primas se convierten en compuestos.\", \n    \"description_fr\": \"Processus biochimiques grâce auxquels on obtient des composés à partir de matières premières\", \n    \"description_it\": \"Biochemical processes through which raw materials are made into compounds\", \n    \"description_ja\": \"原料を各種化合物に変える有機化合プロセス\", \n    \"description_ko\": \"생화학 합성을 통해 원재료를 혼합물로 정제할 수 있는 반응식입니다.\", \n    \"description_ru\": \"Биохимические процессы, преобразующие сырьё в простые химические соединения.\", \n    \"description_zh\": \"将原材料转换成为化合物的生化加工处理\", \n    \"descriptionID\": 294567, \n    \"hasTypes\": 1, \n    \"iconID\": 2665, \n    \"name_de\": \"Einfache Biochemische Reaktionen\", \n    \"name_en-us\": \"Simple Biochemical Reactions\", \n    \"name_es\": \"Reacciones bioquímicas simples\", \n    \"name_fr\": \"Réactions biochimiques simples\", \n    \"name_it\": \"Simple Biochemical Reactions\", \n    \"name_ja\": \"有機単体反応\", \n    \"name_ko\": \"기본 생화학 반응식\", \n    \"name_ru\": \"Простые биохимические реакции\", \n    \"name_zh\": \"简单生化反应\", \n    \"nameID\": 294566, \n    \"parentGroupID\": 1849\n  }, \n  \"1853\": {\n    \"description_de\": \"Biochemische Prozesse, die durch die Verbindungen zu komplexen Materialien vereinigt werden\", \n    \"description_en-us\": \"Biochemical processes through which compounds are combined into complex materials\", \n    \"description_es\": \"Procesos bioquímicos en los que se combinan los componentes para formar materiales complejos.\", \n    \"description_fr\": \"Processus biochimiques grâce auxquels on obtient des matériaux complexes à partir de composés\", \n    \"description_it\": \"Biochemical processes through which compounds are combined into complex materials\", \n    \"description_ja\": \"化合物同士が結合して複合物質に変化する有機化合プロセス\", \n    \"description_ko\": \"생화학 합성을 통해 혼합물을 복합물로 정제할 수 있는 반응식입니다.\", \n    \"description_ru\": \"Биохимические процессы, преобразующие простые химические соединения в комплексные соединения.\", \n    \"description_zh\": \"将化合物转换成为复杂材料的生化加工处理\", \n    \"descriptionID\": 294569, \n    \"hasTypes\": 1, \n    \"iconID\": 2665, \n    \"name_de\": \"Komplexe Biochemische Reaktionen\", \n    \"name_en-us\": \"Complex Biochemical Reactions\", \n    \"name_es\": \"Reacciones bioquímicas complejas\", \n    \"name_fr\": \"Réactions biochimiques complexes\", \n    \"name_it\": \"Complex Biochemical Reactions\", \n    \"name_ja\": \"有機複合反応\", \n    \"name_ko\": \"복합 생화학 반응식\", \n    \"name_ru\": \"Сложные биохимические реакции\", \n    \"name_zh\": \"复杂生化反应\", \n    \"nameID\": 294568, \n    \"parentGroupID\": 1849\n  }, \n  \"1854\": {\n    \"description_de\": \"Chemische Prozesse, durch die aus Rohmaterialien Hybridpolymere entstehen\", \n    \"description_en-us\": \"Chemical processes through which raw materials are made into hybrid polymers\", \n    \"description_es\": \"Procesos químicos a través de los cuales las materias primas se convierten en polímeros híbridos.\", \n    \"description_fr\": \"Processus chimiques grâce auxquels on obtient des polymères hybrides à partir de matières premières\", \n    \"description_it\": \"Chemical processes through which raw materials are made into hybrid polymers\", \n    \"description_ja\": \"原料をハイブリッド重合体に変える化学反応プロセス\", \n    \"description_ko\": \"화학 합성을 통해 원재료를 하이브리드 폴리머로 정제할 수 있는 반응식입니다.\", \n    \"description_ru\": \"Химические процессы, преобразующиее сырьё в простые химические соединения.\", \n    \"description_zh\": \"将原材料转换成为混合聚合物的化学反应\", \n    \"descriptionID\": 294571, \n    \"hasTypes\": 1, \n    \"iconID\": 2665, \n    \"name_de\": \"Polymerreaktionen\", \n    \"name_en-us\": \"Polymer Reactions\", \n    \"name_es\": \"Reacciones poliméricas\", \n    \"name_fr\": \"Réactions de polymères\", \n    \"name_it\": \"Polymer Reactions\", \n    \"name_ja\": \"ポリマー反応\", \n    \"name_ko\": \"폴리머 반응식\", \n    \"name_ru\": \"Полимерные реакции\", \n    \"name_zh\": \"聚合物反应\", \n    \"nameID\": 294570, \n    \"parentGroupID\": 1849\n  }, \n  \"1855\": {\n    \"description_de\": \"Materialien, die von Eisasteroiden abgebaut wurden.\", \n    \"description_en-us\": \"Materials gathered from ice asteroids.\", \n    \"description_es\": \"Materiales recogidos en los asteroides de hielo.\", \n    \"description_fr\": \"Matériaux récupérés sur les astéroïdes de glace.\", \n    \"description_it\": \"Materials gathered from ice asteroids.\", \n    \"description_ja\": \"アイスアステロイドから収集された資源\", \n    \"description_ko\": \"아이스 소행성에서 추출할 수 있는 자원입니다.\", \n    \"description_ru\": \"Материалы, добываемые из ледяных астероидов.\", \n    \"description_zh\": \"从冰矿小行星带中收集的材料。\", \n    \"descriptionID\": 294573, \n    \"hasTypes\": 1, \n    \"iconID\": 2554, \n    \"name_de\": \"Eiserze\", \n    \"name_en-us\": \"Ice Ores\", \n    \"name_es\": \"Menas de hielo\", \n    \"name_fr\": \"Minerais de glace\", \n    \"name_it\": \"Ice Ores\", \n    \"name_ja\": \"アイス鉱石\", \n    \"name_ko\": \"아이스\", \n    \"name_ru\": \"Ледяные руды\", \n    \"name_zh\": \"冰矿\", \n    \"nameID\": 294572, \n    \"parentGroupID\": 1031\n  }, \n  \"1856\": {\n    \"description_de\": \"Unterschiedliche Verbindungen von Asteroidenerzen.\", \n    \"description_en-us\": \"Various compounds composed of asteroid ores.\", \n    \"description_es\": \"Compuestos varios formados por menas asteroidales.\", \n    \"description_fr\": \"Divers composés provenant des minerais d'astéroïdes.\", \n    \"description_it\": \"Various compounds composed of asteroid ores.\", \n    \"description_ja\": \"アステロイド鉱石を成分とする様々な化合物。\", \n    \"description_ko\": \"소행성 광석으로 이루어진 다양한 혼합물입니다.\", \n    \"description_ru\": \"Различные сплавы и соединения из астероидных материалов.\", \n    \"description_zh\": \"由小行星矿物组成的多种化合物。\", \n    \"descriptionID\": 294575, \n    \"hasTypes\": 1, \n    \"iconID\": 2215, \n    \"name_de\": \"Legierungen & Verbindungen\", \n    \"name_en-us\": \"Alloys & Compounds\", \n    \"name_es\": \"Aleaciones y compuestos\", \n    \"name_fr\": \"Alliages et composés\", \n    \"name_it\": \"Alloys & Compounds\", \n    \"name_ja\": \"合金材と化合物\", \n    \"name_ko\": \"합금 및 혼합물\", \n    \"name_ru\": \"Сплавы и композиты\", \n    \"name_zh\": \"合金和复合物\", \n    \"nameID\": 294574, \n    \"parentGroupID\": 1031\n  }, \n  \"1857\": {\n    \"description_de\": \"Mineralien, die von raffinierten Asteroidenerzen abgebaut wurden.\", \n    \"description_en-us\": \"Minerals harvested from refined asteroid ore.\", \n    \"description_es\": \"Minerales obtenidos de menas asteroidales refinadas.\", \n    \"description_fr\": \"Minéraux obtenus à partir du raffinage des minerais d'astéroïdes.\", \n    \"description_it\": \"Minerals harvested from refined asteroid ore.\", \n    \"description_ja\": \"アステロイド鉱石を精錬して得られる無機物。\", \n    \"description_ko\": \"소행성 광석을 정제하여 추출한 미네랄입니다.\", \n    \"description_ru\": \"Минералы, добываемые из переработанной астероидной руды.\", \n    \"description_zh\": \"通过提炼从矿石中获取的矿物质。\", \n    \"descriptionID\": 294577, \n    \"hasTypes\": 1, \n    \"iconID\": 404, \n    \"name_de\": \"Mineralien\", \n    \"name_en-us\": \"Minerals\", \n    \"name_es\": \"Minerales\", \n    \"name_fr\": \"Minéraux\", \n    \"name_it\": \"Minerals\", \n    \"name_ja\": \"無機物\", \n    \"name_ko\": \"미네랄\", \n    \"name_ru\": \"Минералы\", \n    \"name_zh\": \"矿物\", \n    \"nameID\": 294576, \n    \"parentGroupID\": 533\n  }, \n  \"1858\": {\n    \"description_de\": \"Verschiedene biochemische Booster, die vor allem von Kapselpiloten genutzt werden.\", \n    \"description_en-us\": \"Various types of biochemical boosters, most often used by pod pilots.\", \n    \"description_es\": \"Potenciadores bioquímicos de naturaleza diversa que suelen usar los capsulistas.\", \n    \"description_fr\": \"Divers types de boosters biochimiques souvent utilisés par les capsuliers.\", \n    \"description_it\": \"Various types of biochemical boosters, most often used by pod pilots.\", \n    \"description_ja\": \"様々なタイプの有機化合ブースター。主にポッドパイロットが使用。\", \n    \"description_ko\": \"파일럿이 사용하는 다양한 종류의 생화학 부스터입니다.\", \n    \"description_ru\": \"Различные типы биохимических боевых стимуляторов, обычно используемых капсулёрами.\", \n    \"description_zh\": \"多种生化增效剂，常被飞行员使用。\", \n    \"descriptionID\": 294579, \n    \"hasTypes\": 1, \n    \"iconID\": 2664, \n    \"name_de\": \"Boostermaterialien\", \n    \"name_en-us\": \"Booster Materials\", \n    \"name_es\": \"Materiales potenciadores\", \n    \"name_fr\": \"Matériaux de booster\", \n    \"name_it\": \"Booster Materials\", \n    \"name_ja\": \"ブースター原料\", \n    \"name_ko\": \"부스터 재료\", \n    \"name_ru\": \"Материалы для производства боевых стимуляторов\", \n    \"name_zh\": \"增效剂材料\", \n    \"nameID\": 294578, \n    \"parentGroupID\": 1034\n  }, \n  \"1859\": {\n    \"description_de\": \"Diese seltene Gasform kann nur im Wurmlochraum gewonnen werden.\", \n    \"description_en-us\": \"This rare form of gas can only be harvested in wormhole space.\", \n    \"description_es\": \"Este tipo de gas poco común solo se puede recolectar en el espacio de agujeros de gusano.\", \n    \"description_fr\": \"Cette forme rare de gaz peut seulement être collectée dans l'intérieur de trou de ver.\", \n    \"description_it\": \"This rare form of gas can only be harvested in wormhole space.\", \n    \"description_ja\": \"ワームホール宙域でのみ採取できる希少な種類のガス。\", \n    \"description_ko\": \"웜홀 우주에서만 추출이 가능한 희귀한 가스입니다.\", \n    \"description_ru\": \"Этот редкий тип газа встречается лишь в w-пространстве.\", \n    \"description_zh\": \"这类稀有的气云只能采集自虫洞空间。\", \n    \"descriptionID\": 294582, \n    \"hasTypes\": 1, \n    \"iconID\": 3222, \n    \"name_de\": \"Fullerene\", \n    \"name_en-us\": \"Fullerenes\", \n    \"name_es\": \"Fullerenos\", \n    \"name_fr\": \"Fullerènes\", \n    \"name_it\": \"Fullerenes\", \n    \"name_ja\": \"フラーレン\", \n    \"name_ko\": \"풀러렌\", \n    \"name_ru\": \"Фуллерены\", \n    \"name_zh\": \"富勒烯\", \n    \"nameID\": 294581, \n    \"parentGroupID\": 1032\n  }, \n  \"1860\": {\n    \"description_de\": \"Material, das aus der Verbindung von Fullerenen gewonnen wurde.\", \n    \"description_en-us\": \"Material made from combining fullerenes.\", \n    \"description_es\": \"Material obtenido al combinar fullerenos.\", \n    \"description_fr\": \"Matériau issu de la combinaison de fullerènes.\", \n    \"description_it\": \"Material made from combining fullerenes.\", \n    \"description_ja\": \"フラーレンから合成された素材。\", \n    \"description_ko\": \"풀러렌을 통해 제작된 물질입니다.\", \n    \"description_ru\": \"Материалы, получаемые путем сочетания различных типов фуллеренов.\", \n    \"description_zh\": \"由富勒烯合成而来的材料。\", \n    \"descriptionID\": 294587, \n    \"hasTypes\": 1, \n    \"iconID\": 3751, \n    \"name_de\": \"Polymer-Materialien\", \n    \"name_en-us\": \"Polymer Materials\", \n    \"name_es\": \"Materiales poliméricos\", \n    \"name_fr\": \"Matériaux de polymère\", \n    \"name_it\": \"Polymer Materials\", \n    \"name_ja\": \"ポリマー材\", \n    \"name_ko\": \"폴리머 재료\", \n    \"name_ru\": \"Полимерные материалы\", \n    \"name_zh\": \"聚合物材料\", \n    \"nameID\": 294586, \n    \"parentGroupID\": 1034\n  }, \n  \"1861\": {\n    \"hasTypes\": 0, \n    \"iconID\": 3256, \n    \"name_de\": \"Bergungsmaterial\", \n    \"name_en-us\": \"Salvage Materials\", \n    \"name_es\": \"Materiales de recuperación\", \n    \"name_fr\": \"Matériaux de récupération\", \n    \"name_it\": \"Salvage Materials\", \n    \"name_ja\": \"サルベージ資源\", \n    \"name_ko\": \"샐비지 자원\", \n    \"name_ru\": \"Демонтированные компоненты\", \n    \"name_zh\": \"打捞材料\", \n    \"nameID\": 294588, \n    \"parentGroupID\": 533\n  }, \n  \"1862\": {\n    \"description_de\": \"Trotz ihres hohen Alters bergen diese Materialien unvorstellbare technologische Geheimnisse.\", \n    \"description_en-us\": \"Despite being very old, these materials hold unimaginable technological secrets.\", \n    \"description_es\": \"A pesar de su antigüedad, estos materiales guardan secretos tecnológicos inimaginables.\", \n    \"description_fr\": \"Malgré leur grand âge, ces matériaux renferment des secrets technologiques insoupçonnables.\", \n    \"description_it\": \"Despite being very old, these materials hold unimaginable technological secrets.\", \n    \"description_ja\": \"その年代の古さからは想像もつかないような謎のテクノロジーを秘めた資源。\", \n    \"description_ko\": \"오랜 세월이 지났음에도 불구하고 이 장치들의 기술은 아직도 베일에 싸여 있습니다.\", \n    \"description_ru\": \"Несмотря на почтенный возраст этих находок, они способны удивить даже самых опытных инженеров.\", \n    \"description_zh\": \"虽然这些材料经历了岁月洗礼，但是它们隐藏着难以想象的科技奥秘。\", \n    \"descriptionID\": 294590, \n    \"hasTypes\": 1, \n    \"iconID\": 3722, \n    \"name_de\": \"Antike Geborgene Materialien\", \n    \"name_en-us\": \"Ancient Salvaged Materials\", \n    \"name_es\": \"Materiales recuperados antiguos\", \n    \"name_fr\": \"Matériaux récupérés anciens\", \n    \"name_it\": \"Ancient Salvaged Materials\", \n    \"name_ja\": \"古代サルベージ資源\", \n    \"name_ko\": \"고대 샐비지 자원\", \n    \"name_ru\": \"Демонтированные компоненты древних кораблей\", \n    \"name_zh\": \"古老的打捞材料\", \n    \"nameID\": 294589, \n    \"parentGroupID\": 1861\n  }, \n  \"1863\": {\n    \"description_de\": \"Materialien, die aus zerstörten Raumschiffen geborgen wurden.\", \n    \"description_en-us\": \"Materials salvaged from destroyed starships.\", \n    \"description_es\": \"Materiales recuperados de naves destruidas.\", \n    \"description_fr\": \"Matériaux récupérés sur les épaves de vaisseaux.\", \n    \"description_it\": \"Materials salvaged from destroyed starships.\", \n    \"description_ja\": \"破壊された宇宙船から回収された資源。\", \n    \"description_ko\": \"파괴된 함선 잔해에서 샐비지된 부품입니다.\", \n    \"description_ru\": \"Материалы, собранные в обломках кораблей.\", \n    \"description_zh\": \"从被击毁的舰船上回收的材料。\", \n    \"descriptionID\": 294592, \n    \"hasTypes\": 1, \n    \"iconID\": 3260, \n    \"name_de\": \"Geborgene Materialien\", \n    \"name_en-us\": \"Salvaged Materials\", \n    \"name_es\": \"Materiales recuperados\", \n    \"name_fr\": \"Matériaux récupérés\", \n    \"name_it\": \"Salvaged Materials\", \n    \"name_ja\": \"サルベージ資源\", \n    \"name_ko\": \"샐비지 자원\", \n    \"name_ru\": \"Демонтированные компоненты\", \n    \"name_zh\": \"打捞材料\", \n    \"nameID\": 294591, \n    \"parentGroupID\": 1861\n  }, \n  \"1864\": {\n    \"description_de\": \"Außenposten-Bauplattformen\", \n    \"description_en-us\": \"Outpost Construction Platforms\", \n    \"description_es\": \"Plataformas de construcción de puestos avanzados.\", \n    \"description_fr\": \"Plateformes de construction d'avant-poste\", \n    \"description_it\": \"Outpost Construction Platforms\", \n    \"description_ja\": \"アウトポスト建設プラットフォーム\", \n    \"description_ko\": \"전초기지 건설 플랫폼\", \n    \"description_ru\": \"Платформы для аванпостов\", \n    \"description_zh\": \"哨站建筑平台\", \n    \"descriptionID\": 294594, \n    \"hasTypes\": 1, \n    \"iconID\": 3303, \n    \"name_de\": \"Bauplattformen\", \n    \"name_en-us\": \"Construction Platforms\", \n    \"name_es\": \"Plataformas de construcción\", \n    \"name_fr\": \"Plateformes de construction\", \n    \"name_it\": \"Construction Platforms\", \n    \"name_ja\": \"建設プラットホーム\", \n    \"name_ko\": \"건설 플랫폼\", \n    \"name_ru\": \"Строительные платформы\", \n    \"name_zh\": \"建筑平台\", \n    \"nameID\": 294593, \n    \"parentGroupID\": 1021\n  }, \n  \"1865\": {\n    \"description_de\": \"Modulare Gegenstände, die in der Fertigung von Raumstationen Verwendung finden.\", \n    \"description_en-us\": \"Modular items used in the manufacture of Space Stations.\", \n    \"description_es\": \"Objetos modulares usados en la fabricación de estaciones espaciales.\", \n    \"description_fr\": \"Objets modulaires utilisés dans la fabrication de stations spatiales.\", \n    \"description_it\": \"Modular items used in the manufacture of Space Stations.\", \n    \"description_ja\": \"宇宙ステーションの製造に使われるモジュラー型アイテム。\", \n    \"description_ko\": \"우주 정거장을 제작할 시 사용되는 모듈 아이템입니다.\", \n    \"description_ru\": \"Модульные объекты, использующиеся для строительства космических станций.\", \n    \"description_zh\": \"建造空间站所需要的模块化组件。\", \n    \"descriptionID\": 294596, \n    \"hasTypes\": 1, \n    \"iconID\": 2875, \n    \"name_de\": \"Strukturkomponenten\", \n    \"name_en-us\": \"Structure Components\", \n    \"name_es\": \"Componentes de estructuras\", \n    \"name_fr\": \"Composants de structure\", \n    \"name_it\": \"Structure Components\", \n    \"name_ja\": \"ステーションの部品\", \n    \"name_ko\": \"설비 구성품\", \n    \"name_ru\": \"Компоненты сооружения\", \n    \"name_zh\": \"建筑组件\", \n    \"nameID\": 294595, \n    \"parentGroupID\": 1035\n  }, \n  \"1866\": {\n    \"description_de\": \"Verbesserungen, die speziell für Außenposten der Amarr entworfen wurden.\", \n    \"description_en-us\": \"Improvements specifically designed for Amarrian outposts.\", \n    \"description_es\": \"Mejoras diseñadas especialmente para puestos avanzados amarrianos.\", \n    \"description_fr\": \"Améliorations spécifiquement conçues pour les avant-postes amarr.\", \n    \"description_it\": \"Improvements specifically designed for Amarrian outposts.\", \n    \"description_ja\": \"アマーアウトポスト用に設計された改良。\", \n    \"description_ko\": \"아마르 전초기지 관련 업그레이드입니다.\", \n    \"description_ru\": \"Улучшения, разработанные специально для амаррских форпостов.\", \n    \"description_zh\": \"为艾玛哨站设计的加强模块。\", \n    \"descriptionID\": 294598, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr-Verbesserungsplattformen\", \n    \"name_en-us\": \"Amarr Improvement Platforms\", \n    \"name_es\": \"Plataformas de mejora amarrianas\", \n    \"name_fr\": \"Plateformes d'amélioration amarr\", \n    \"name_it\": \"Amarr Improvement Platforms\", \n    \"name_ja\": \"アマー専用プラットフォーム\", \n    \"name_ko\": \"아마르 확장 플랫폼\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛强化平台\", \n    \"nameID\": 294597, \n    \"parentGroupID\": 1022\n  }, \n  \"1867\": {\n    \"description_de\": \"Verbesserungen, die speziell für Außenposten der Caldari entworfen wurden.\", \n    \"description_en-us\": \"Improvements specifically designed for Caldari outposts.\", \n    \"description_es\": \"Mejoras diseñadas especialmente para puestos avanzados caldaris.\", \n    \"description_fr\": \"Améliorations spécifiquement conçues pour les avant-postes caldari.\", \n    \"description_it\": \"Improvements specifically designed for Caldari outposts.\", \n    \"description_ja\": \"カルダリアウトポスト用に設計された改良。\", \n    \"description_ko\": \"칼다리 전초기지 관련 업그레이드입니다.\", \n    \"description_ru\": \"Улучшения, разработанные специально для калдарских форпостов.\", \n    \"description_zh\": \"为加达里哨站设计的加强模块。\", \n    \"descriptionID\": 294600, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari-Verbesserungsplattformen\", \n    \"name_en-us\": \"Caldari Improvement Platforms\", \n    \"name_es\": \"Plataformas de mejora caldaris\", \n    \"name_fr\": \"Plateformes d'amélioration caldari\", \n    \"name_it\": \"Caldari Improvement Platforms\", \n    \"name_ja\": \"カルダリ専用プラットフォーム\", \n    \"name_ko\": \"칼다리 확장 플랫폼\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里强化平台\", \n    \"nameID\": 294599, \n    \"parentGroupID\": 1022\n  }, \n  \"1868\": {\n    \"description_de\": \"Verbesserungen, die speziell für Außenposten der Gallente entworfen wurden.\", \n    \"description_en-us\": \"Improvements specifically designed for Gallentean outposts.\", \n    \"description_es\": \"Mejoras diseñadas especialmente para puestos avanzados gallentes.\", \n    \"description_fr\": \"Améliorations spécifiquement conçues pour les avant-postes gallente.\", \n    \"description_it\": \"Improvements specifically designed for Gallentean outposts.\", \n    \"description_ja\": \"ガレンテアウトポスト用に設計された改良。\", \n    \"description_ko\": \"갈란테 전초기지 관련 업그레이드입니다.\", \n    \"description_ru\": \"Улучшения, разработанные специально для галлентских форпостов.\", \n    \"description_zh\": \"为盖伦特哨站设计的加强模块。\", \n    \"descriptionID\": 294602, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente-Verbesserungsplattformen\", \n    \"name_en-us\": \"Gallente Improvement Platforms\", \n    \"name_es\": \"Plataformas de mejora gallentes\", \n    \"name_fr\": \"Plateformes d'amélioration gallente\", \n    \"name_it\": \"Gallente Improvement Platforms\", \n    \"name_ja\": \"ガレンテ専用プラットフォーム\", \n    \"name_ko\": \"갈란테 확장 플랫폼\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特强化平台\", \n    \"nameID\": 294601, \n    \"parentGroupID\": 1022\n  }, \n  \"1869\": {\n    \"description_de\": \"Verbesserungen, die speziell für Außenposten der Minmatar entworfen wurden.\", \n    \"description_en-us\": \"Improvements specifically designed for Minmatar outposts.\", \n    \"description_es\": \"Mejoras diseñadas especialmente para puestos avanzados minmatarianos.\", \n    \"description_fr\": \"Améliorations spécifiquement conçues pour les avant-postes minmatar.\", \n    \"description_it\": \"Improvements specifically designed for Minmatar outposts.\", \n    \"description_ja\": \"ミンマターアウトポスト用に設計された改良。\", \n    \"description_ko\": \"민마타 전초기지 관련 업그레이드입니다.\", \n    \"description_ru\": \"Улучшения, разработанные специально для матарских форпостов.\", \n    \"description_zh\": \"为米玛塔尔哨站设计的加强模块。\", \n    \"descriptionID\": 294604, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar-Verbesserungsplattformen\", \n    \"name_en-us\": \"Minmatar Improvement Platforms\", \n    \"name_es\": \"Plataformas de mejora minmatarianas\", \n    \"name_fr\": \"Plateformes d'amélioration minmatar\", \n    \"name_it\": \"Minmatar Improvement Platforms\", \n    \"name_ja\": \"ミンマター専用プラットフォーム\", \n    \"name_ko\": \"민마타 확장 플랫폼\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔强化平台\", \n    \"nameID\": 294603, \n    \"parentGroupID\": 1022\n  }, \n  \"1870\": {\n    \"description_de\": \"Zusammengesetzte Blöcke mit Treibstoff für Sternenbasen und andere Strukturen.\", \n    \"description_en-us\": \"Assembled blocks of fuel for starbases and other structures.\", \n    \"description_es\": \"Bloques de combustible ensamblados para bases estelares y otras estructuras.\", \n    \"description_fr\": \"Blocs assemblés de carburant pour les bases stellaires et autres structures.\", \n    \"description_it\": \"Assembled blocks of fuel for starbases and other structures.\", \n    \"description_ja\": \"スターベースおよびその他の建造物の燃料の組み立てブロック\", \n    \"description_ko\": \"스타베이스 및 스탠드업 구조물 운영에 필요한 연료 블록입니다.\", \n    \"description_ru\": \"Собранные топливные блоки для ПОСов и прочих объектов.\", \n    \"description_zh\": \"供母星和其它建筑使用的组装好的燃料块。\", \n    \"descriptionID\": 294606, \n    \"hasTypes\": 1, \n    \"iconID\": 10835, \n    \"name_de\": \"Treibstoffblöcke\", \n    \"name_en-us\": \"Fuel Blocks\", \n    \"name_es\": \"Bloques de combustible\", \n    \"name_fr\": \"Blocs de carburant\", \n    \"name_it\": \"Fuel Blocks\", \n    \"name_ja\": \"燃料ブロック\", \n    \"name_ko\": \"연료 블록\", \n    \"name_ru\": \"Топливные блоки\", \n    \"name_zh\": \"燃料块\", \n    \"nameID\": 294605, \n    \"parentGroupID\": 1035\n  }, \n  \"1872\": {\n    \"description_de\": \"Verschiedene Gegenstände, die in Forschung und Erfindung Verwendung finden\", \n    \"description_en-us\": \"Various items used in research and invention\", \n    \"description_es\": \"Objetos varios usados en la investigación y la invención.\", \n    \"description_fr\": \"Différents objets utilisés dans les processus de recherche et d'invention\", \n    \"description_it\": \"Various items used in research and invention\", \n    \"description_ja\": \"研究・発明に使用する各種アイテム\", \n    \"description_ko\": \"연구 및 인벤션에 사용되는 아이템입니다.\", \n    \"description_ru\": \"Разнообразные материалы, используемые в производстве и исследованиях\", \n    \"description_zh\": \"研究和发明中用到的各种物品\", \n    \"descriptionID\": 294613, \n    \"hasTypes\": 0, \n    \"iconID\": 2225, \n    \"name_de\": \"Forschungsausrüstung\", \n    \"name_en-us\": \"Research Equipment\", \n    \"name_es\": \"Instrumental de investigación\", \n    \"name_fr\": \"Équipement de recherche\", \n    \"name_it\": \"Research Equipment\", \n    \"name_ja\": \"研究装置\", \n    \"name_ko\": \"연구 장비\", \n    \"name_ru\": \"Исследовательское оборудование\", \n    \"name_zh\": \"研究设备\", \n    \"nameID\": 294612, \n    \"parentGroupID\": 475\n  }, \n  \"1873\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2885, \n    \"name_de\": \"Dekodierer\", \n    \"name_en-us\": \"Decryptors\", \n    \"name_es\": \"Desencriptadores\", \n    \"name_fr\": \"Décrypteurs\", \n    \"name_it\": \"Decryptors\", \n    \"name_ja\": \"解読器\", \n    \"name_ko\": \"해독기\", \n    \"name_ru\": \"Файлы данных\", \n    \"name_zh\": \"解码器\", \n    \"nameID\": 294614, \n    \"parentGroupID\": 1872\n  }, \n  \"1880\": {\n    \"description_de\": \"Forschungsdaten\", \n    \"description_en-us\": \"Research Data\", \n    \"description_es\": \"Datos de investigación.\", \n    \"description_fr\": \"Données de recherche\", \n    \"description_it\": \"Research Data\", \n    \"description_ja\": \"研究データ\", \n    \"description_ko\": \"연구 데이터\", \n    \"description_ru\": \"Данные исследований\", \n    \"description_zh\": \"研究数据\", \n    \"descriptionID\": 294630, \n    \"hasTypes\": 1, \n    \"iconID\": 3233, \n    \"name_de\": \"Datenkerne\", \n    \"name_en-us\": \"Datacores\", \n    \"name_es\": \"Núcleos de datos\", \n    \"name_fr\": \"Banques de données\", \n    \"name_it\": \"Datacores\", \n    \"name_ja\": \"データコア\", \n    \"name_ko\": \"데이터코어\", \n    \"name_ru\": \"Инфоблоки\", \n    \"name_zh\": \"数据核心\", \n    \"nameID\": 294629, \n    \"parentGroupID\": 1872\n  }, \n  \"1883\": {\n    \"description_de\": \"Komponenten, die bei der Produktion von Tech II Capital-Schiffen verwendet werden.\", \n    \"description_en-us\": \"Components used in the manufacture of Tech II capital ships.\", \n    \"description_es\": \"Componentes usados en la fabricación de naves capitales T2.\", \n    \"description_fr\": \"Composants utilisés dans la fabrication de vaisseaux capitaux Tech II.\", \n    \"description_it\": \"Components used in the manufacture of Tech II capital ships.\", \n    \"description_ja\": \"T2主力艦の製造に使用される部品。\", \n    \"description_ko\": \"테크 II 캐피탈 함선 제작에 사용되는 부품입니다.\", \n    \"description_ru\": \"Компоненты, используемые для производства кораблей и оборудования категории Tech II.\", \n    \"description_zh\": \"制造二级科技旗舰级舰船所使用的组件。\", \n    \"descriptionID\": 294638, \n    \"hasTypes\": 0, \n    \"iconID\": 2193, \n    \"name_de\": \"Fortschrittliche Capital-Komponenten\", \n    \"name_en-us\": \"Advanced Capital Components\", \n    \"name_es\": \"Componentes de naves capitales avanzadas\", \n    \"name_fr\": \"Composants capitaux avancés\", \n    \"name_it\": \"Advanced Capital Components\", \n    \"name_ja\": \"高性能主力艦部品\", \n    \"name_ko\": \"상급 캐피탈 부품\", \n    \"name_ru\": \"Усовершенствованные компоненты КБТ\", \n    \"name_zh\": \"高级旗舰组件\", \n    \"nameID\": 294637, \n    \"parentGroupID\": 1035\n  }, \n  \"1884\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 294639, \n    \"parentGroupID\": 1883\n  }, \n  \"1885\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 294640, \n    \"parentGroupID\": 1883\n  }, \n  \"1886\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 294641, \n    \"parentGroupID\": 1883\n  }, \n  \"1887\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 294642, \n    \"parentGroupID\": 1883\n  }, \n  \"1888\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 294643, \n    \"parentGroupID\": 65\n  }, \n  \"1889\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 294644, \n    \"parentGroupID\": 65\n  }, \n  \"1897\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2890, \n    \"name_de\": \"Fraktionsmaterialien\", \n    \"name_en-us\": \"Faction Materials\", \n    \"name_es\": \"Materiales faccionarios\", \n    \"name_fr\": \"Matériaux de faction\", \n    \"name_it\": \"Faction Materials\", \n    \"name_ja\": \"勢力別資源\", \n    \"name_ko\": \"팩션 자원\", \n    \"name_ru\": \"Материалы независимых организаций\", \n    \"name_zh\": \"势力材料\", \n    \"nameID\": 294751, \n    \"parentGroupID\": 533\n  }, \n  \"1898\": {\n    \"description_de\": \"Materialien zur Konstruktion bestimmter Fraktionsausrüstung.\", \n    \"description_en-us\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_es\": \"Materiales usados para la construcción de aparatos específicos para las facciones.\", \n    \"description_fr\": \"Matériaux utilisés dans la fabrication d'équipements spécifiques aux factions.\", \n    \"description_it\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_ja\": \"特定勢力独自の装備の製造に使用される資源。\", \n    \"description_ko\": \"팩션 장비 제작에 사용되는 재료입니다.\", \n    \"description_ru\": \"Материалы, используемые при производстве особого оборудования организаций.\", \n    \"description_zh\": \"用来制造特殊势力装备的材料。\", \n    \"descriptionID\": 294755, \n    \"hasTypes\": 1, \n    \"iconID\": 2887, \n    \"name_de\": \"Angel Cartel\", \n    \"name_en-us\": \"Angel Cartel\", \n    \"name_es\": \"Cártel de los Ángeles\", \n    \"name_fr\": \"Cartel angel\", \n    \"name_it\": \"Angel Cartel\", \n    \"name_ja\": \"エンジェルカルテル\", \n    \"name_ko\": \"엔젤 카르텔\", \n    \"name_ru\": \"Материалы картеля «Ангелов»\", \n    \"name_zh\": \"天使\", \n    \"nameID\": 294754, \n    \"parentGroupID\": 1897\n  }, \n  \"1899\": {\n    \"description_de\": \"Materialien zur Konstruktion bestimmter Fraktionsausrüstung.\", \n    \"description_en-us\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_es\": \"Materiales usados para la construcción de aparatos específicos para las facciones.\", \n    \"description_fr\": \"Matériaux utilisés dans la fabrication d'équipements spécifiques aux factions.\", \n    \"description_it\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_ja\": \"特定勢力独自の装備の製造に使用される資源。\", \n    \"description_ko\": \"팩션 장비 제작에 사용되는 재료입니다.\", \n    \"description_ru\": \"Материалы, используемые при производстве особого оборудования организаций.\", \n    \"description_zh\": \"用来制造特殊势力装备的材料。\", \n    \"descriptionID\": 294759, \n    \"hasTypes\": 1, \n    \"iconID\": 2890, \n    \"name_de\": \"Blood Raiders\", \n    \"name_en-us\": \"Blood Raiders\", \n    \"name_es\": \"Saqueadores Sanguinarios\", \n    \"name_fr\": \"Blood Raiders\", \n    \"name_it\": \"Blood Raiders\", \n    \"name_ja\": \"ブラッドレイダー\", \n    \"name_ko\": \"블러드 레이더\", \n    \"name_ru\": \"«Союз охотников за кровью»\", \n    \"name_zh\": \"血袭者\", \n    \"nameID\": 294758, \n    \"parentGroupID\": 1897\n  }, \n  \"1900\": {\n    \"description_de\": \"Materialien zur Konstruktion bestimmter Fraktionsausrüstung.\", \n    \"description_en-us\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_es\": \"Materiales usados para la construcción de aparatos específicos para las facciones.\", \n    \"description_fr\": \"Matériaux utilisés dans la fabrication d'équipements spécifiques aux factions.\", \n    \"description_it\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_ja\": \"特定勢力独自の装備の製造に使用される資源。\", \n    \"description_ko\": \"팩션 장비 제작에 사용되는 재료입니다.\", \n    \"description_ru\": \"Материалы, используемые при производстве особого оборудования организаций.\", \n    \"description_zh\": \"用来制造特殊势力装备的材料。\", \n    \"descriptionID\": 294761, \n    \"hasTypes\": 1, \n    \"iconID\": 2888, \n    \"name_de\": \"Guristas\", \n    \"name_en-us\": \"Guristas\", \n    \"name_es\": \"Guristas\", \n    \"name_fr\": \"Guristas\", \n    \"name_it\": \"Guristas\", \n    \"name_ja\": \"ガリスタス\", \n    \"name_ko\": \"구리스타스\", \n    \"name_ru\": \"Идентификаторы «гуристас»\", \n    \"name_zh\": \"古斯塔斯\", \n    \"nameID\": 294760, \n    \"parentGroupID\": 1897\n  }, \n  \"1901\": {\n    \"description_de\": \"Materialien zur Konstruktion bestimmter Fraktionsausrüstung.\", \n    \"description_en-us\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_es\": \"Materiales usados para la construcción de aparatos específicos para las facciones.\", \n    \"description_fr\": \"Matériaux utilisés dans la fabrication d'équipements spécifiques aux factions.\", \n    \"description_it\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_ja\": \"特定勢力独自の装備の製造に使用される資源。\", \n    \"description_ko\": \"팩션 장비 제작에 사용되는 재료입니다.\", \n    \"description_ru\": \"Материалы, используемые при производстве особого оборудования организаций.\", \n    \"description_zh\": \"用来制造特殊势力装备的材料。\", \n    \"descriptionID\": 294763, \n    \"hasTypes\": 1, \n    \"iconID\": 2890, \n    \"name_de\": \"Serpentis\", \n    \"name_en-us\": \"Serpentis\", \n    \"name_es\": \"Serpentis\", \n    \"name_fr\": \"Serpentis\", \n    \"name_it\": \"Serpentis\", \n    \"name_ja\": \"サーペンティス\", \n    \"name_ko\": \"서펜티스\", \n    \"name_ru\": \"Идентификаторы «Серпентис»\", \n    \"name_zh\": \"天蛇\", \n    \"nameID\": 294762, \n    \"parentGroupID\": 1897\n  }, \n  \"1902\": {\n    \"description_de\": \"Artefakte der Sleeper-Zivilisation.\", \n    \"description_en-us\": \"Artifacts of the Sleeper civilization.\", \n    \"description_es\": \"Artefactos de la civilización sleeper.\", \n    \"description_fr\": \"Reliques de la civilisation sleeper.\", \n    \"description_it\": \"Artifacts of the Sleeper civilization.\", \n    \"description_ja\": \"スリーパー文明の遺物。\", \n    \"description_ko\": \"슬리퍼 문명의 유물입니다.\", \n    \"description_ru\": \"Артефакты цивилизации Спящих.\", \n    \"description_zh\": \"冬眠者文明的物品。\", \n    \"descriptionID\": 294765, \n    \"hasTypes\": 1, \n    \"iconID\": 2889, \n    \"name_de\": \"Sleeper\", \n    \"name_en-us\": \"Sleeper\", \n    \"name_es\": \"Sleeper\", \n    \"name_fr\": \"Sleeper\", \n    \"name_it\": \"Sleeper\", \n    \"name_ja\": \"スリーパー\", \n    \"name_ko\": \"슬리퍼\", \n    \"name_ru\": \"Спящих\", \n    \"name_zh\": \"冬眠者\", \n    \"nameID\": 294764, \n    \"parentGroupID\": 1897\n  }, \n  \"1903\": {\n    \"description_de\": \"Artefakte der Talocan-Zivilisation.\", \n    \"description_en-us\": \"Artifacts of the Talocan civilization.\", \n    \"description_es\": \"Artefactos de la civilización talocana.\", \n    \"description_fr\": \"Reliques de la civilisation talocan.\", \n    \"description_it\": \"Artifacts of the Talocan civilization.\", \n    \"description_ja\": \"タロカン文明の遺物。\", \n    \"description_ko\": \"탈로칸 문명의 유물입니다.\", \n    \"description_ru\": \"Артефакты цивилизации Talocan.\", \n    \"description_zh\": \"塔洛迦文明的物品。\", \n    \"descriptionID\": 294767, \n    \"hasTypes\": 1, \n    \"iconID\": 2886, \n    \"name_de\": \"Talocan\", \n    \"name_en-us\": \"Talocan\", \n    \"name_es\": \"Talocan\", \n    \"name_fr\": \"Talocan\", \n    \"name_it\": \"Talocan\", \n    \"name_ja\": \"タロカン\", \n    \"name_ko\": \"탈로칸\", \n    \"name_ru\": \"Талокан\", \n    \"name_zh\": \"塔洛迦\", \n    \"nameID\": 294766, \n    \"parentGroupID\": 1897\n  }, \n  \"1904\": {\n    \"description_de\": \"Artefakte der Yan Jung-Zivilisation.\", \n    \"description_en-us\": \"Artifacts of the Yan Jung civilization.\", \n    \"description_es\": \"Artefactos de la nación Yan Jung.\", \n    \"description_fr\": \"Reliques de la civilisation yan jung.\", \n    \"description_it\": \"Artifacts of the Yan Jung civilization.\", \n    \"description_ja\": \"ヤン・ユング文明の遺物。\", \n    \"description_ko\": \"얀 정 문명의 유물입니다.\", \n    \"description_ru\": \"Артефакты цивилизации Yan Jung\", \n    \"description_zh\": \"殷郡文明的物品。\", \n    \"descriptionID\": 294769, \n    \"hasTypes\": 1, \n    \"iconID\": 2890, \n    \"name_de\": \"Yan Jung\", \n    \"name_en-us\": \"Yan Jung\", \n    \"name_es\": \"Yan Jung\", \n    \"name_fr\": \"Yan Jung\", \n    \"name_it\": \"Yan Jung\", \n    \"name_ja\": \"ヤン・ユング\", \n    \"name_ko\": \"얀 정\", \n    \"name_ru\": \"Ян-Джун\", \n    \"name_zh\": \"殷郡\", \n    \"nameID\": 294768, \n    \"parentGroupID\": 1897\n  }, \n  \"1905\": {\n    \"description_de\": \"Artefakte der Takmahl-Zivilisation.\", \n    \"description_en-us\": \"Artifacts of the Takmahl civilization.\", \n    \"description_es\": \"Artefactos de la civilización takmahl.\", \n    \"description_fr\": \"Reliques de la civilisation takmahl.\", \n    \"description_it\": \"Artifacts of the Takmahl civilization.\", \n    \"description_ja\": \"タカマヒル文明の遺物。\", \n    \"description_ko\": \"타크말 문명의 유물\", \n    \"description_ru\": \"Артефакты цивилизации Takmahl.\", \n    \"description_zh\": \"塔克玛文明的物品。\", \n    \"descriptionID\": 294771, \n    \"hasTypes\": 1, \n    \"iconID\": 2886, \n    \"name_de\": \"Takmahl\", \n    \"name_en-us\": \"Takmahl\", \n    \"name_es\": \"Takmahl\", \n    \"name_fr\": \"Takmahl\", \n    \"name_it\": \"Takmahl\", \n    \"name_ja\": \"タカマヒル\", \n    \"name_ko\": \"타크말\", \n    \"name_ru\": \"Такмал\", \n    \"name_zh\": \"塔克玛\", \n    \"nameID\": 294770, \n    \"parentGroupID\": 1897\n  }, \n  \"1906\": {\n    \"description_de\": \"Einzelteile zerstörter Raubdrohnen können für verbesserte Leistung in die neuste Drohnentechnologie eingebaut werden.\", \n    \"description_en-us\": \"Salvaged bits and pieces from destroyed Rogue Drones, can be integrated with current drone technology for improved performance.\", \n    \"description_es\": \"Restos y piezas recuperados de los drones rebeldes destruidos que se pueden dotar de tecnología de drones actualizada para mejorar el rendimiento.\", \n    \"description_fr\": \"Pièces récupérées des drones renégats détruits pouvant être intégrées à la technologie de drone actuelle pour renforcer les performances.\", \n    \"description_it\": \"Salvaged bits and pieces from destroyed Rogue Drones, can be integrated with current drone technology for improved performance.\", \n    \"description_ja\": \"破壊されたローグドローンからサルベージした細かい部品。最新のドローン技術と組み合わせてパフォーマンスの向上に役立てることができる。\", \n    \"description_ko\": \"로그 드론의 잔해 및 파편에서 샐비지한 부품을 드론에 적용하여 성능을 향상시킬 수 있습니다.\", \n    \"description_ru\": \"Разнообразные части и обломки восставших дронов, пригодны к интеграции в современные модели дронов для повышения их эффективности.\", \n    \"description_zh\": \"从损坏的自由无人机上回收得来的一些零部件。结合现有无人机技术，可以用来加强无人机的性能。\", \n    \"descriptionID\": 294773, \n    \"hasTypes\": 1, \n    \"iconID\": 3335, \n    \"name_de\": \"Raubdrohnen\", \n    \"name_en-us\": \"Rogue Drones\", \n    \"name_es\": \"Drones rebeldes\", \n    \"name_fr\": \"Drones renégats\", \n    \"name_it\": \"Rogue Drones\", \n    \"name_ja\": \"ローグドローン\", \n    \"name_ko\": \"로그 드론\", \n    \"name_ru\": \"Дронов\", \n    \"name_zh\": \"自由无人机\", \n    \"nameID\": 294772, \n    \"parentGroupID\": 1897\n  }, \n  \"1907\": {\n    \"description_de\": \"Datenbanken, die für Tech II Forschungsaufträge benutzt werden.\", \n    \"description_en-us\": \"Databases used in Tech II research jobs.\", \n    \"description_es\": \"Bases de datos empleadas en los trabajos de investigación de T2.\", \n    \"description_fr\": \"Bases de données utilisées dans les travaux de recherche Tech II.\", \n    \"description_it\": \"Databases used in Tech II research jobs.\", \n    \"description_ja\": \"T2研究ジョブに使用されるデータベース\", \n    \"description_ko\": \"테크 II 연구에 사용되는 데이터베이스입니다.\", \n    \"description_ru\": \"Базы данных, используемые при исследовании проектов второй техкатегории\", \n    \"description_zh\": \"二级科技相关的研究项目的数据库。\", \n    \"descriptionID\": 294780, \n    \"hasTypes\": 1, \n    \"iconID\": 2225, \n    \"name_de\": \"R.Db\", \n    \"name_en-us\": \"R.Db\", \n    \"name_es\": \"BDI\", \n    \"name_fr\": \"B.d.r.\", \n    \"name_it\": \"R.Db\", \n    \"name_ja\": \"R.Db\", \n    \"name_ko\": \"연구 데이터베이스\", \n    \"name_ru\": \"Базы данных\", \n    \"name_zh\": \"R.Db\", \n    \"nameID\": 294779, \n    \"parentGroupID\": 1872\n  }, \n  \"1908\": {\n    \"description_de\": \"Konstruktionswerkzeuge, die in der Tech II Produktion benutzt werden.\", \n    \"description_en-us\": \"Construction tools used in Tech II manufacturing.\", \n    \"description_es\": \"Herramientas de construcción empleadas en las labores de fabricación de T2.\", \n    \"description_fr\": \"Outils de construction utilisés dans la production Tech II.\", \n    \"description_it\": \"Construction tools used in Tech II manufacturing.\", \n    \"description_ja\": \"T2製品の製造で使用されるツール。\", \n    \"description_ko\": \"테크 II 제조에 사용되는 건설 장치입니다.\", \n    \"description_ru\": \"Сборочные инструменты, используемые при произодстве оборудования второй техкатегории\", \n    \"description_zh\": \"制造二级科技装备相关的生产工具。\", \n    \"descriptionID\": 294782, \n    \"hasTypes\": 1, \n    \"iconID\": 2226, \n    \"name_de\": \"R.A.M.\", \n    \"name_en-us\": \"R.A.M.\", \n    \"name_es\": \"MER\", \n    \"name_fr\": \"M.R.A.\", \n    \"name_it\": \"R.A.M.\", \n    \"name_ja\": \"R.A.M.\", \n    \"name_ko\": \"R.A.M.\", \n    \"name_ru\": \"Сборочные системы\", \n    \"name_zh\": \"R.A.M.\", \n    \"nameID\": 294781, \n    \"parentGroupID\": 1035\n  }, \n  \"1909\": {\n    \"hasTypes\": 1, \n    \"iconID\": 3736, \n    \"name_de\": \"Antike Relikte\", \n    \"name_en-us\": \"Ancient Relics\", \n    \"name_es\": \"Reliquias antiguas\", \n    \"name_fr\": \"Reliques antiques\", \n    \"name_it\": \"Ancient Relics\", \n    \"name_ja\": \"古代遺物\", \n    \"name_ko\": \"고대 유물\", \n    \"name_ru\": \"Древние артефакты\", \n    \"name_zh\": \"古文物\", \n    \"nameID\": 294857, \n    \"parentGroupID\": 1872\n  }, \n  \"1912\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Bauplattformen\", \n    \"name_en-us\": \"Construction Platforms\", \n    \"name_es\": \"Plataformas de construcción\", \n    \"name_fr\": \"Plateformes de construction\", \n    \"name_it\": \"Construction Platforms\", \n    \"name_ja\": \"建設プラットホーム\", \n    \"name_ko\": \"건설 플랫폼\", \n    \"name_ru\": \"Строительные платформы\", \n    \"name_zh\": \"建筑平台\", \n    \"nameID\": 294868, \n    \"parentGroupID\": 798\n  }, \n  \"1913\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Strukturkomponenten\", \n    \"name_en-us\": \"Structure Components\", \n    \"name_es\": \"Componentes de estructuras\", \n    \"name_fr\": \"Composants de structure\", \n    \"name_it\": \"Structure Components\", \n    \"name_ja\": \"ステーションの部品\", \n    \"name_ko\": \"설비 구성품\", \n    \"name_ru\": \"Компоненты сооружения\", \n    \"name_zh\": \"建筑组件\", \n    \"nameID\": 294869, \n    \"parentGroupID\": 800\n  }, \n  \"1918\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"R.A.M.\", \n    \"name_en-us\": \"R.A.M.\", \n    \"name_es\": \"MER\", \n    \"name_fr\": \"M.R.A.\", \n    \"name_it\": \"R.A.M.\", \n    \"name_ja\": \"R.A.M.\", \n    \"name_ko\": \"R.A.M.\", \n    \"name_ru\": \"Сборочные системы\", \n    \"name_zh\": \"R.A.M.\", \n    \"nameID\": 294874, \n    \"parentGroupID\": 800\n  }, \n  \"1919\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"R.Db\", \n    \"name_en-us\": \"R.Db\", \n    \"name_es\": \"BDI\", \n    \"name_fr\": \"B.d.r.\", \n    \"name_it\": \"R.Db\", \n    \"name_ja\": \"R.Db\", \n    \"name_ko\": \"연구 데이터베이스\", \n    \"name_ru\": \"Базы данных\", \n    \"name_zh\": \"R.Db\", \n    \"nameID\": 294875, \n    \"parentGroupID\": 1522\n  }, \n  \"1920\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Treibstoffblöcke\", \n    \"name_en-us\": \"Fuel Blocks\", \n    \"name_es\": \"Bloques de combustible\", \n    \"name_fr\": \"Blocs de carburant\", \n    \"name_it\": \"Fuel Blocks\", \n    \"name_ja\": \"燃料ブロック\", \n    \"name_ko\": \"연료 블록\", \n    \"name_ru\": \"Топливные блоки\", \n    \"name_zh\": \"燃料块\", \n    \"nameID\": 294876, \n    \"parentGroupID\": 800\n  }, \n  \"1921\": {\n    \"description_de\": \"Verankerbare Kompressionssanlagen.\", \n    \"description_en-us\": \"Anchorable compression structures.\", \n    \"description_es\": \"Estructuras de compresión anclables.\", \n    \"description_fr\": \"Structures de compression ancrables.\", \n    \"description_it\": \"Anchorable compression structures.\", \n    \"description_ja\": \"係留可能な圧縮用建造物。\", \n    \"description_ko\": \"고정 가능한 압착시설입니다.\", \n    \"description_ru\": \"Передвижные блоки сжатия сырья.\", \n    \"description_zh\": \"可锚定的用于压缩矿石材料的建筑。\", \n    \"descriptionID\": 294900, \n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Kompressionsanlage\", \n    \"name_en-us\": \"Compression Array\", \n    \"name_es\": \"Matriz de compresión\", \n    \"name_fr\": \"Module de compression\", \n    \"name_it\": \"Compression Array\", \n    \"name_ja\": \"圧縮施設\", \n    \"name_ko\": \"압착시설\", \n    \"name_ru\": \"Блоки сжатия руды и льда\", \n    \"name_zh\": \"压缩阵列\", \n    \"nameID\": 294899, \n    \"parentGroupID\": 1285\n  }, \n  \"1922\": {\n    \"description_de\": \"Für Kapselpiloten verfügbare Dienste beinhalten PLEX, Multiples Pilotentraining, Zertifikate zur Neuanpassung des Piloten und Skilltauschgegenstände\", \n    \"description_en-us\": \"Services available to capsuleers include PLEX, Multiple Pilot Training, Pilot's Body Resculpt Certificates, and Skill Trading items\", \n    \"description_es\": \"Entre los servicios disponibles para capsulistas, se incluyen PLEX, entrenamiento simultáneo de pilotos, certificados de remodelado corporal y artículos de mejora y modificación de habilidades.\", \n    \"description_fr\": \"Les services à disposition des capsuliers incluent les PLEX, les certificats d'entraînements de plusieurs personnages, les certificats de remodelage physique du pilote et les objets liés au commerce de compétences.\", \n    \"description_it\": \"Services available to capsuleers include PLEX, Multiple Pilot Training, Pilot's Body Resculpt Certificates, and Skill Trading items\", \n    \"description_ja\": \"カプセラが利用できるサービスには、パイロットライセンスの拡張（PLEX）、複数のパイロットトレーニング、パイロットの身体骨格再調整証明書、スキルのトレードなどが含まれます\", \n    \"description_ko\": \"캡슐리어에게 제공되는 서비스로 PLEX, 다중 파일럿 훈련 (MCT), 외형 변경 허가증, 그리고 스킬 포인트 거래 아이템을 다룹니다.\", \n    \"description_ru\": \"К услугам для пилотов относятся плексы, сертификаты одновременного обучения пилотов, сертификаты изменения внешности пилотов, а также СП-экстракторы и СП-инъекторы.\", \n    \"description_zh\": \"克隆飞行员可以使用的额外服务，包括飞行员执照、多人物技能训练、人物重塑和技能交易物品\", \n    \"descriptionID\": 296382, \n    \"hasTypes\": 0, \n    \"iconID\": 21481, \n    \"name_de\": \"Pilotendienste\", \n    \"name_en-us\": \"Pilot's Services\", \n    \"name_es\": \"Servicios de piloto\", \n    \"name_fr\": \"Services pour les pilotes\", \n    \"name_it\": \"Pilot's Services\", \n    \"name_ja\": \"パイロットのサービス\", \n    \"name_ko\": \"파일럿 서비스\", \n    \"name_ru\": \"Услуги для пилотов\", \n    \"name_zh\": \"飞行员服务\", \n    \"nameID\": 294916\n  }, \n  \"1923\": {\n    \"description_de\": \"PLEX ist ein Gegenstand, der auf dem Markt zwischen Spielern getauscht werden kann. PLEX können auch im New Eden Store eingesetzt werden, um Ihren Account auf den Klonstatus Omega aufzuwerten, virtuelle Güter zu kaufen oder andere Account-Dienste zu aktivieren.\", \n    \"description_en-us\": \"PLEX is an item that can be traded between players on the market. PLEX can also be used in the New Eden Store to upgrade your account to Omega Clone State,  purchase virtual goods, and activate other account services.\", \n    \"description_es\": \"La PLEX es la divisa de cambio en el mercado. También puedes usar PLEX en la tienda de Nuevo Edén para mejorar tu cuenta al estatus de clon Omega, comprar artículos virtuales y activar otros servicios.\", \n    \"description_fr\": \"Les PLEX sont des biens physiques, échangeables entre joueurs sur le marché. Elles peuvent également être utilisées dans le magasin New Eden pour faire passer votre compte au statut de clone Omega, acheter des marchandises virtuelles ou activer divers services de compte.\", \n    \"description_it\": \"PLEX is an item that can be traded between players on the market. PLEX can also be used in the New Eden Store to upgrade your account to Omega Clone State,  purchase virtual goods, and activate other account services.\", \n    \"description_ja\": \"PLEXはマーケットにてプレイヤー間で売買できるアイテムです。PLEXはニューエデンストアでアカウントのオメガクローン状態へのアップグレード、バーチャルグッズの購入、その他アカウントサービスの有効化に使うことができます。\", \n    \"description_ko\": \"PLEX는 거래소에서 다른 플레이어와 거래할 수 있는 아이템입니다. 뉴에덴 스토어에서 PLEX를 사용하여 계정을 오메가 클론 상태로 업그레이드할 수 있으며 각종 상품 및 게임 서비스를 구매할 수 있습니다.\", \n    \"description_ru\": \"Плексы — это игровая валюта, которую можно покупать и продавать в торговой системе. Кроме того, плексы можно использовать в игровом магазине для оплаты омега-статуса, покупки виртуальных товаров и иных услуг, предназначенных для учётной записи.\", \n    \"description_zh\": \"伊甸币是玩家可以在市场交易的物品。你可以使用伊甸币，在新伊甸商城中将账号升级到欧米伽克隆、购买虚拟物品，并激活其它账号服务。\", \n    \"descriptionID\": 296374, \n    \"hasTypes\": 1, \n    \"iconID\": 21481, \n    \"name_de\": \"PLEX\", \n    \"name_en-us\": \"PLEX\", \n    \"name_es\": \"PLEX\", \n    \"name_fr\": \"PLEX\", \n    \"name_it\": \"PLEX\", \n    \"name_ja\": \"パイロットライセンスエクステンション（PLEX）\", \n    \"name_ko\": \"PLEX\", \n    \"name_ru\": \"Плексы\", \n    \"name_zh\": \"飞行员执照\", \n    \"nameID\": 294918, \n    \"parentGroupID\": 1922\n  }, \n  \"1924\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Expeditionsfregatten\", \n    \"name_en-us\": \"Expedition Frigates\", \n    \"name_es\": \"Fragatas expedicionarias\", \n    \"name_fr\": \"Frégates d'expédition\", \n    \"name_it\": \"Expedition Frigates\", \n    \"name_ja\": \"長距離フリゲート\", \n    \"name_ko\": \"탐사 프리깃\", \n    \"name_ru\": \"Разведочно-буровые фрегаты\", \n    \"name_zh\": \"勘探护卫舰\", \n    \"nameID\": 295182, \n    \"parentGroupID\": 1364\n  }, \n  \"1931\": {\n    \"hasTypes\": 1, \n    \"iconID\": 98, \n    \"name_de\": \"Warpbeschleuniger\", \n    \"name_en-us\": \"Warp Accelerators\", \n    \"name_es\": \"Aceleradores de warp\", \n    \"name_fr\": \"Accélérateurs de warp\", \n    \"name_it\": \"Warp Accelerators\", \n    \"name_ja\": \"ワープ加速器\", \n    \"name_ko\": \"워프 가속기\", \n    \"name_ru\": \"Варп-ускорители\", \n    \"name_zh\": \"跃迁加速装置\", \n    \"nameID\": 295696, \n    \"parentGroupID\": 132\n  }, \n  \"1932\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Abfangjäger\", \n    \"name_en-us\": \"Special Edition Interceptors\", \n    \"name_es\": \"Interceptores de edición especial\", \n    \"name_fr\": \"Intercepteurs édition spéciale\", \n    \"name_it\": \"Special Edition Interceptors\", \n    \"name_ja\": \"特別版要撃型フリゲート\", \n    \"name_ko\": \"인터셉터\", \n    \"name_ru\": \"Малосерийные перехватчики\", \n    \"name_zh\": \"特别版截击舰\", \n    \"nameID\": 295888, \n    \"parentGroupID\": 1612\n  }, \n  \"1935\": {\n    \"hasTypes\": 1, \n    \"iconID\": 111, \n    \"name_de\": \"Warpstörer\", \n    \"name_en-us\": \"Warp Disruptors\", \n    \"name_es\": \"Disruptores de warp\", \n    \"name_fr\": \"Perturbateurs de warp\", \n    \"name_it\": \"Warp Disruptors\", \n    \"name_ja\": \"ワープ妨害器\", \n    \"name_ko\": \"워프 디스럽터\", \n    \"name_ru\": \"Варп-подавители\", \n    \"name_zh\": \"跃迁扰断器\", \n    \"nameID\": 296252, \n    \"parentGroupID\": 657\n  }, \n  \"1936\": {\n    \"hasTypes\": 1, \n    \"iconID\": 3433, \n    \"name_de\": \"Warpunterbrecher\", \n    \"name_en-us\": \"Warp Scramblers\", \n    \"name_es\": \"Distorsionadores de warp\", \n    \"name_fr\": \"Inhibiteurs de warp\", \n    \"name_it\": \"Warp Scramblers\", \n    \"name_ja\": \"ワープスクランブラー\", \n    \"name_ko\": \"워프 스크램블러\", \n    \"name_ru\": \"Варп-глушители\", \n    \"name_zh\": \"跃迁扰频器\", \n    \"nameID\": 296253, \n    \"parentGroupID\": 657\n  }, \n  \"1937\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2990, \n    \"name_de\": \"Unterbrechungsfeldwerfer\", \n    \"name_en-us\": \"Interdiction Sphere Launchers\", \n    \"name_es\": \"Lanzaesferas de interdicción\", \n    \"name_fr\": \"Lanceurs de sphère d'interdiction\", \n    \"name_it\": \"Interdiction Sphere Launchers\", \n    \"name_ja\": \"インターディクションスフィアランチャー\", \n    \"name_ko\": \"인터딕션 런처\", \n    \"name_ru\": \"ПУ зондов варп-заграждения\", \n    \"name_zh\": \"拦截泡发射器\", \n    \"nameID\": 296257, \n    \"parentGroupID\": 657\n  }, \n  \"1938\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Warpstörer\", \n    \"name_en-us\": \"Warp Disruptors\", \n    \"name_es\": \"Disruptores de warp\", \n    \"name_fr\": \"Perturbateurs de warp\", \n    \"name_it\": \"Warp Disruptors\", \n    \"name_ja\": \"ワープ妨害器\", \n    \"name_ko\": \"워프 디스럽터\", \n    \"name_ru\": \"Варп-подавители\", \n    \"name_zh\": \"跃迁扰断器\", \n    \"nameID\": 296264, \n    \"parentGroupID\": 1566\n  }, \n  \"1939\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Warpunterbrecher\", \n    \"name_en-us\": \"Warp Scramblers\", \n    \"name_es\": \"Distorsionadores de warp\", \n    \"name_fr\": \"Inhibiteurs de warp\", \n    \"name_it\": \"Warp Scramblers\", \n    \"name_ja\": \"ワープスクランブラー\", \n    \"name_ko\": \"워프 스크램블러\", \n    \"name_ru\": \"Варп-глушители\", \n    \"name_zh\": \"跃迁扰频器\", \n    \"nameID\": 296265, \n    \"parentGroupID\": 1566\n  }, \n  \"1940\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Unterbrechungsfeldwerfer\", \n    \"name_en-us\": \"Interdiction Sphere Launchers\", \n    \"name_es\": \"Lanzaesferas de interdicción\", \n    \"name_fr\": \"Lanceurs de sphère d'interdiction\", \n    \"name_it\": \"Interdiction Sphere Launchers\", \n    \"name_ja\": \"インターディクションスフィアランチャー\", \n    \"name_ko\": \"인터딕션 런처\", \n    \"name_ru\": \"ПУ зондов варп-заграждения\", \n    \"name_zh\": \"拦截泡发射器\", \n    \"nameID\": 296266, \n    \"parentGroupID\": 1566\n  }, \n  \"1941\": {\n    \"hasTypes\": 1, \n    \"iconID\": 98, \n    \"name_de\": \"Sprung-Vorwärmer\", \n    \"name_en-us\": \"Jump Economizers\", \n    \"name_es\": \"Economizadores de salto\", \n    \"name_fr\": \"Économiseurs de saut\", \n    \"name_it\": \"Jump Economizers\", \n    \"name_ja\": \"ジャンプエコノマイザー\", \n    \"name_ko\": \"점프 연료 절감기\", \n    \"name_ru\": \"Экономайзеры гипердвигателей\", \n    \"name_zh\": \"跳跃节能装置\", \n    \"nameID\": 296288, \n    \"parentGroupID\": 132\n  }, \n  \"1942\": {\n    \"description_de\": \"Verschiedene Anpassungsdienste für Kapselpiloten\", \n    \"description_en-us\": \"Services available for various customization for capsuleers\", \n    \"description_es\": \"Servicios disponibles para diferentes formas de personalización de capsulistas.\", \n    \"description_fr\": \"Services disponibles pour différentes personnalisation pour capsuliers\", \n    \"description_it\": \"Services available for various customization for capsuleers\", \n    \"description_ja\": \"カプセラに各種カスタマイズを施すためのサービス\", \n    \"description_ko\": \"캡슐리어 전용 서비스입니다.\", \n    \"description_ru\": \"Различные услуги для капсулёров\", \n    \"description_zh\": \"供飞行员使用的各种定制服务\", \n    \"descriptionID\": 296526, \n    \"hasTypes\": 1, \n    \"iconID\": 21335, \n    \"name_de\": \"Pilotendienste\", \n    \"name_en-us\": \"Pilot's Services\", \n    \"name_es\": \"Servicios de piloto\", \n    \"name_fr\": \"Services pour les pilotes\", \n    \"name_it\": \"Pilot's Services\", \n    \"name_ja\": \"パイロットのサービス\", \n    \"name_ko\": \"파일럿 서비스\", \n    \"name_ru\": \"Услуги для пилотов\", \n    \"name_zh\": \"飞行员服务\", \n    \"nameID\": 296375, \n    \"parentGroupID\": 1922\n  }, \n  \"1943\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21204, \n    \"name_de\": \"Kopfbedeckungen\", \n    \"name_en-us\": \"Headwear\", \n    \"name_es\": \"Accesorios para la cabeza\", \n    \"name_fr\": \"Couvre-chefs\", \n    \"name_it\": \"Headwear\", \n    \"name_ja\": \"ヘッドウェア\", \n    \"name_ko\": \"머리 장식\", \n    \"name_ru\": \"Головные уборы\", \n    \"name_zh\": \"头饰\", \n    \"nameID\": 296376, \n    \"parentGroupID\": 1407\n  }, \n  \"1944\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21275, \n    \"name_de\": \"Unterkörper, Extras\", \n    \"name_en-us\": \"Bottoms, extras\", \n    \"name_es\": \"Partes de abajo, extra\", \n    \"name_fr\": \"Pantalons, accessoires\", \n    \"name_it\": \"Bottoms, extras\", \n    \"name_ja\": \"ボトムス、その他\", \n    \"name_ko\": \"기타 하의\", \n    \"name_ru\": \"Низ, дополнительно\", \n    \"name_zh\": \"其他下装\", \n    \"nameID\": 296377, \n    \"parentGroupID\": 1402\n  }, \n  \"1945\": {\n    \"description_de\": \"Blaupause der Kompressionsanlage.\", \n    \"description_en-us\": \"Blueprint of the Compression Array.\", \n    \"description_es\": \"Plano de la matriz de compresión.\", \n    \"description_fr\": \"Plan de construction du module de compression\", \n    \"description_it\": \"Blueprint of the Compression Array.\", \n    \"description_ja\": \"圧縮施設のブループリント。\", \n    \"description_ko\": \"압착시설 블루프린트입니다.\", \n    \"description_ru\": \"Чертеж блока сжатия руды и льда.\", \n    \"description_zh\": \"压缩阵列的蓝图\", \n    \"descriptionID\": 296458, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kompressionsanlage\", \n    \"name_en-us\": \"Compression Array\", \n    \"name_es\": \"Matriz de compresión\", \n    \"name_fr\": \"Module de compression\", \n    \"name_it\": \"Compression Array\", \n    \"name_ja\": \"圧縮施設\", \n    \"name_ko\": \"압착시설\", \n    \"name_ru\": \"Блоки сжатия руды и льда\", \n    \"name_zh\": \"压缩阵列\", \n    \"nameID\": 296457, \n    \"parentGroupID\": 1841\n  }, \n  \"1949\": {\n    \"description_de\": \"Entwürfe für ORE-Frachter\", \n    \"description_en-us\": \"Designs for ORE freighters.\", \n    \"description_es\": \"Diseños de los cargueros de ORE.\", \n    \"description_fr\": \"Conception de transport de fret ORE.\", \n    \"description_it\": \"Designs for ORE freighters.\", \n    \"description_ja\": \"ORE社超大型輸送艦の設計\", \n    \"description_ko\": \"ORE 프레이터 설계입니다.\", \n    \"description_ru\": \"Проекты фрейтеров ОРЭ.\", \n    \"description_zh\": \"联合矿业货舰设计。\", \n    \"descriptionID\": 297632, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 297631, \n    \"parentGroupID\": 787\n  }, \n  \"1950\": {\n    \"description_de\": \"Von ORE entwickelte Frachter.\", \n    \"description_en-us\": \"Freighters designed by ORE.\", \n    \"description_es\": \"Cargueros diseñados por ORE.\", \n    \"description_fr\": \"Transports de fret conçus par ORE.\", \n    \"description_it\": \"Freighters designed by ORE.\", \n    \"description_ja\": \"OREにより設計された超大型輸送艦\", \n    \"description_ko\": \"ORE에서 설계한 프레이터입니다.\", \n    \"description_ru\": \"Фрейтеры разработки ОРЭ.\", \n    \"description_zh\": \"联合矿业设计的货舰。\", \n    \"descriptionID\": 297634, \n    \"hasTypes\": 1, \n    \"iconID\": 27058, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 297633, \n    \"parentGroupID\": 766\n  }, \n  \"1951\": {\n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Taktische Zerstörer\", \n    \"name_en-us\": \"Tactical Destroyers\", \n    \"name_es\": \"Destructores tácticos\", \n    \"name_fr\": \"Destroyers tactique\", \n    \"name_it\": \"Tactical Destroyers\", \n    \"name_ja\": \"戦術駆逐艦\", \n    \"name_ko\": \"전술 디스트로이어\", \n    \"name_ru\": \"Многорежимные эсминцы\", \n    \"name_zh\": \"战术驱逐舰\", \n    \"nameID\": 298043, \n    \"parentGroupID\": 1373\n  }, \n  \"1952\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 298044, \n    \"parentGroupID\": 1951\n  }, \n  \"1953\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 305008, \n    \"parentGroupID\": 1951\n  }, \n  \"1954\": {\n    \"description_de\": \"Super Kerr-induzierte Nanobeschichtungen (kurz: Schiffslackierungen oder SKINs) die das Aussehen eines Schiffs verändern.\", \n    \"description_en-us\": \"Super Kerr-Induced Nanocoatings that modify the visual look of a ship\", \n    \"description_es\": \"Supernanorrevestimientos inducidos por Kerr que modifican el aspecto de la nave.\", \n    \"description_fr\": \"Les SKIN (nanorevêtements générés par le super Kerr) modifient l'aspect esthétique d'un vaisseau.\", \n    \"description_it\": \"Super Kerr-Induced Nanocoatings that modify the visual look of a ship\", \n    \"description_ja\": \"艦船の外観を変えてしまう超カー誘発性ナノコーティング\", \n    \"description_ko\": \"함선의 외형을 변화시키는 슈퍼커나노코팅(SKIN)입니다.\", \n    \"description_ru\": \"Шаблоны для перекраски кораблей, меняющие их внешний вид\", \n    \"description_zh\": \"超级的克尔效应诱导纳米涂层，可用来改变舰船外观\", \n    \"descriptionID\": 305466, \n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"SKINs\", \n    \"name_en-us\": \"Ship SKINs\", \n    \"name_es\": \"SKIN para naves\", \n    \"name_fr\": \"SKIN de vaisseau\", \n    \"name_it\": \"Ship SKINs\", \n    \"name_ja\": \"艦船のSKIN\", \n    \"name_ko\": \"함선 SKIN\", \n    \"name_ru\": \"Шаблоны для перекраски кораблей\", \n    \"name_zh\": \"舰船涂装\", \n    \"nameID\": 305465\n  }, \n  \"1955\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Schlachtkreuzer\", \n    \"name_en-us\": \"Battlecruisers\", \n    \"name_es\": \"Cruceros de combate\", \n    \"name_fr\": \"Croiseurs de bataille\", \n    \"name_it\": \"Battlecruisers\", \n    \"name_ja\": \"巡洋戦艦\", \n    \"name_ko\": \"배틀크루저\", \n    \"name_ru\": \"Линейные крейсеры\", \n    \"name_zh\": \"战列巡洋舰\", \n    \"nameID\": 305467, \n    \"parentGroupID\": 1954\n  }, \n  \"1956\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 305468, \n    \"parentGroupID\": 2101\n  }, \n  \"1957\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 305469, \n    \"parentGroupID\": 2101\n  }, \n  \"1958\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 305470, \n    \"parentGroupID\": 2101\n  }, \n  \"1959\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 305471, \n    \"parentGroupID\": 2101\n  }, \n  \"1960\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Schlachtschiffe\", \n    \"name_en-us\": \"Battleships\", \n    \"name_es\": \"Acorazados\", \n    \"name_fr\": \"Cuirassés\", \n    \"name_it\": \"Battleships\", \n    \"name_ja\": \"戦艦\", \n    \"name_ko\": \"배틀쉽\", \n    \"name_ru\": \"Линкоры\", \n    \"name_zh\": \"战列舰\", \n    \"nameID\": 305472, \n    \"parentGroupID\": 1954\n  }, \n  \"1961\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fraktionsschlachtschiffe\", \n    \"name_en-us\": \"Faction Battleships\", \n    \"name_es\": \"Acorazados faccionarios\", \n    \"name_fr\": \"Cuirassés de faction\", \n    \"name_it\": \"Faction Battleships\", \n    \"name_ja\": \"ファクションの戦艦\", \n    \"name_ko\": \"팩션 배틀쉽\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力战列舰\", \n    \"nameID\": 305473, \n    \"parentGroupID\": 1960\n  }, \n  \"1962\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Standardschlachtschiffe\", \n    \"name_en-us\": \"Standard Battleships\", \n    \"name_es\": \"Acorazados estándar\", \n    \"name_fr\": \"Cuirassés standards\", \n    \"name_it\": \"Standard Battleships\", \n    \"name_ja\": \"標準的な戦艦\", \n    \"name_ko\": \"일반 배틀쉽\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准战列舰\", \n    \"nameID\": 305474, \n    \"parentGroupID\": 1960\n  }, \n  \"1963\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊のファクション\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратские\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 305475, \n    \"parentGroupID\": 1961\n  }, \n  \"1964\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 305476, \n    \"parentGroupID\": 1962\n  }, \n  \"1965\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 305477, \n    \"parentGroupID\": 1962\n  }, \n  \"1966\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 305478, \n    \"parentGroupID\": 1962\n  }, \n  \"1967\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 305479, \n    \"parentGroupID\": 1962\n  }, \n  \"1968\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Capital-Schiffe\", \n    \"name_en-us\": \"Capital Ships\", \n    \"name_es\": \"Naves capitales\", \n    \"name_fr\": \"Vaisseaux capitaux\", \n    \"name_it\": \"Capital Ships\", \n    \"name_ja\": \"母艦\", \n    \"name_ko\": \"캐피탈 함선\", \n    \"name_ru\": \"Корабли большого тоннажа\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 305480, \n    \"parentGroupID\": 1954\n  }, \n  \"1969\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 305481, \n    \"parentGroupID\": 2114\n  }, \n  \"1970\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Trägerschiffe\", \n    \"name_en-us\": \"Carriers\", \n    \"name_es\": \"Portanaves\", \n    \"name_fr\": \"Porte-vaisseaux\", \n    \"name_it\": \"Carriers\", \n    \"name_ja\": \"艦載機母艦\", \n    \"name_ko\": \"캐리어\", \n    \"name_ru\": \"Корабли автономного развёртывания\", \n    \"name_zh\": \"航空母舰\", \n    \"nameID\": 305482, \n    \"parentGroupID\": 1968\n  }, \n  \"1971\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Dreadnoughts\", \n    \"name_en-us\": \"Dreadnoughts\", \n    \"name_es\": \"Superacorazados\", \n    \"name_fr\": \"Dreadnoughts\", \n    \"name_it\": \"Dreadnoughts\", \n    \"name_ja\": \"攻城艦\", \n    \"name_ko\": \"드레드노트\", \n    \"name_ru\": \"Дредноуты\", \n    \"name_zh\": \"无畏舰\", \n    \"nameID\": 305483, \n    \"parentGroupID\": 1968\n  }, \n  \"1972\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Frachter\", \n    \"name_en-us\": \"Freighters\", \n    \"name_es\": \"Cargueros\", \n    \"name_fr\": \"Cargos\", \n    \"name_it\": \"Freighters\", \n    \"name_ja\": \"超大型輸送艦\", \n    \"name_ko\": \"프레이터\", \n    \"name_ru\": \"Фрейтеры\", \n    \"name_zh\": \"货舰\", \n    \"nameID\": 305484, \n    \"parentGroupID\": 1968\n  }, \n  \"1973\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Titans\", \n    \"name_en-us\": \"Titans\", \n    \"name_es\": \"Titanes\", \n    \"name_fr\": \"Titans\", \n    \"name_it\": \"Titans\", \n    \"name_ja\": \"タイタン\", \n    \"name_ko\": \"타이탄\", \n    \"name_ru\": \"Титаны\", \n    \"name_zh\": \"泰坦\", \n    \"nameID\": 305485, \n    \"parentGroupID\": 1968\n  }, \n  \"1974\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 305486, \n    \"parentGroupID\": 2374\n  }, \n  \"1975\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 305487, \n    \"parentGroupID\": 2374\n  }, \n  \"1976\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 305488, \n    \"parentGroupID\": 2374\n  }, \n  \"1977\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 305489, \n    \"parentGroupID\": 2374\n  }, \n  \"1978\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 305490, \n    \"parentGroupID\": 2381\n  }, \n  \"1979\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 305491, \n    \"parentGroupID\": 2381\n  }, \n  \"1980\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 305492, \n    \"parentGroupID\": 2377\n  }, \n  \"1981\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 305493, \n    \"parentGroupID\": 2377\n  }, \n  \"1982\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 305494, \n    \"parentGroupID\": 2377\n  }, \n  \"1983\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 305495, \n    \"parentGroupID\": 2377\n  }, \n  \"1984\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 305496, \n    \"parentGroupID\": 1972\n  }, \n  \"1985\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 305497, \n    \"parentGroupID\": 1972\n  }, \n  \"1986\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 305498, \n    \"parentGroupID\": 1972\n  }, \n  \"1987\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 305499, \n    \"parentGroupID\": 1972\n  }, \n  \"1988\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Kreuzer\", \n    \"name_en-us\": \"Cruisers\", \n    \"name_es\": \"Cruceros\", \n    \"name_fr\": \"Croiseurs\", \n    \"name_it\": \"Cruisers\", \n    \"name_ja\": \"巡洋艦\", \n    \"name_ko\": \"크루저\", \n    \"name_ru\": \"Крейсеры\", \n    \"name_zh\": \"巡洋舰\", \n    \"nameID\": 305500, \n    \"parentGroupID\": 1954\n  }, \n  \"1989\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Zerstörer\", \n    \"name_en-us\": \"Destroyers\", \n    \"name_es\": \"Destructores\", \n    \"name_fr\": \"Destroyers\", \n    \"name_it\": \"Destroyers\", \n    \"name_ja\": \"駆逐艦\", \n    \"name_ko\": \"디스트로이어\", \n    \"name_ru\": \"Эсминцы\", \n    \"name_zh\": \"驱逐舰\", \n    \"nameID\": 305501, \n    \"parentGroupID\": 1954\n  }, \n  \"1990\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 305502, \n    \"parentGroupID\": 2028\n  }, \n  \"1991\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 305503, \n    \"parentGroupID\": 2028\n  }, \n  \"1992\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 305504, \n    \"parentGroupID\": 2028\n  }, \n  \"1993\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 305505, \n    \"parentGroupID\": 2028\n  }, \n  \"1994\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 305506, \n    \"parentGroupID\": 2035\n  }, \n  \"1995\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 305507, \n    \"parentGroupID\": 2035\n  }, \n  \"1996\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 305508, \n    \"parentGroupID\": 2035\n  }, \n  \"1997\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 305509, \n    \"parentGroupID\": 2035\n  }, \n  \"1998\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fregatten\", \n    \"name_en-us\": \"Frigates\", \n    \"name_es\": \"Fragatas\", \n    \"name_fr\": \"Frégates\", \n    \"name_it\": \"Frigates\", \n    \"name_ja\": \"フリゲート\", \n    \"name_ko\": \"프리깃\", \n    \"name_ru\": \"Фрегаты\", \n    \"name_zh\": \"护卫舰\", \n    \"nameID\": 305510, \n    \"parentGroupID\": 1954\n  }, \n  \"1999\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fraktionsfregatten\", \n    \"name_en-us\": \"Faction Frigates\", \n    \"name_es\": \"Fragatas faccionarias\", \n    \"name_fr\": \"Frégates de faction\", \n    \"name_it\": \"Faction Frigates\", \n    \"name_ja\": \"ファクションフリゲート\", \n    \"name_ko\": \"팩션 프리깃\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力护卫舰\", \n    \"nameID\": 305511, \n    \"parentGroupID\": 1998\n  }, \n  \"2000\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Navyfraktion\", \n    \"name_en-us\": \"Navy Faction\", \n    \"name_es\": \"Facción de la Armada\", \n    \"name_fr\": \"Faction navy\", \n    \"name_it\": \"Navy Faction\", \n    \"name_ja\": \"海軍のファクション\", \n    \"name_ko\": \"해군 팩션\", \n    \"name_ru\": \"Армейские\", \n    \"name_zh\": \"海军势力\", \n    \"nameID\": 305512, \n    \"parentGroupID\": 1999\n  }, \n  \"2001\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Standardfregatten\", \n    \"name_en-us\": \"Standard Frigates\", \n    \"name_es\": \"Fragatas estándar\", \n    \"name_fr\": \"Frégates standards\", \n    \"name_it\": \"Standard Frigates\", \n    \"name_ja\": \"標準的なフリゲート\", \n    \"name_ko\": \"일반 프리깃\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准护卫舰\", \n    \"nameID\": 305513, \n    \"parentGroupID\": 1998\n  }, \n  \"2002\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 305514, \n    \"parentGroupID\": 2001\n  }, \n  \"2003\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 305515, \n    \"parentGroupID\": 2001\n  }, \n  \"2004\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 305516, \n    \"parentGroupID\": 2001\n  }, \n  \"2005\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 305517, \n    \"parentGroupID\": 2001\n  }, \n  \"2006\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Transporter und Industrieschiffe\", \n    \"name_en-us\": \"Haulers and Industrial Ships\", \n    \"name_es\": \"Naves de mercancías y naves industriales\", \n    \"name_fr\": \"Cargos et vaisseaux industriels\", \n    \"name_it\": \"Haulers and Industrial Ships\", \n    \"name_ja\": \"ハウラーと輸送艦\", \n    \"name_ko\": \"운반선 및 인더스트리얼\", \n    \"name_ru\": \"Перевозчики и грузовые корабли\", \n    \"name_zh\": \"运载舰和工业舰\", \n    \"nameID\": 305518, \n    \"parentGroupID\": 1954\n  }, \n  \"2007\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 305519, \n    \"parentGroupID\": 2085\n  }, \n  \"2008\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 305520, \n    \"parentGroupID\": 2085\n  }, \n  \"2009\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 305521, \n    \"parentGroupID\": 2085\n  }, \n  \"2010\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 305522, \n    \"parentGroupID\": 2085\n  }, \n  \"2011\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Bergbaubarkassen\", \n    \"name_en-us\": \"Mining Barges\", \n    \"name_es\": \"Gabarras mineras\", \n    \"name_fr\": \"Barges d'extraction\", \n    \"name_it\": \"Mining Barges\", \n    \"name_ja\": \"採掘艦\", \n    \"name_ko\": \"채광선\", \n    \"name_ru\": \"Буровые корабли\", \n    \"name_zh\": \"采矿驳船\", \n    \"nameID\": 305523, \n    \"parentGroupID\": 1954\n  }, \n  \"2012\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Ausgrabungsschiffe\", \n    \"name_en-us\": \"Exhumers\", \n    \"name_es\": \"Exhumadores\", \n    \"name_fr\": \"Exhumers\", \n    \"name_it\": \"Exhumers\", \n    \"name_ja\": \"特化型採掘艦\", \n    \"name_ko\": \"익스허머\", \n    \"name_ru\": \"Тяжёлые буровые корабли\", \n    \"name_zh\": \"采掘者\", \n    \"nameID\": 305526, \n    \"parentGroupID\": 2011\n  }, \n  \"2013\": {\n    \"description_de\": \"Geheimnisvolle Technologieteile unbekannten Ursprungs\", \n    \"description_en-us\": \"Mysterious pieces of technology of unknown origin\", \n    \"description_es\": \"Fragmentos misteriosos de tecnología desconocida.\", \n    \"description_fr\": \"Mystérieux composants technologiques d'origine inconnue.\", \n    \"description_it\": \"Mysterious pieces of technology of unknown origin\", \n    \"description_ja\": \"起源不明の技術により作られた奇怪な機器\", \n    \"description_ko\": \"근원을 알 수 없는 기술이 담긴 아이템입니다.\", \n    \"description_ru\": \"Загадочные устройства неизвестного происхождения.\", \n    \"description_zh\": \"来自神秘未知科技的片段\", \n    \"descriptionID\": 306041, \n    \"hasTypes\": 1, \n    \"iconID\": 2889, \n    \"name_de\": \"Unbekannte Komponenten\", \n    \"name_en-us\": \"Unknown Components\", \n    \"name_es\": \"Componentes desconocidos\", \n    \"name_fr\": \"Composants inconnus\", \n    \"name_it\": \"Unknown Components\", \n    \"name_ja\": \"不明な部品\", \n    \"name_ko\": \"알 수 없는 부품\", \n    \"name_ru\": \"Неизвестные компоненты\", \n    \"name_zh\": \"未知组件\", \n    \"nameID\": 306040, \n    \"parentGroupID\": 19\n  }, \n  \"2014\": {\n    \"description_de\": \"Blaupausen von Industrie-Upgrades.\", \n    \"description_en-us\": \"Blueprints of Industrial Upgrades.\", \n    \"description_es\": \"Planos de mejoras industriales.\", \n    \"description_fr\": \"Plans de construction Améliorations industrielles\", \n    \"description_it\": \"Blueprints of Industrial Upgrades.\", \n    \"description_ja\": \"産業アップグレードのブループリント\", \n    \"description_ko\": \"산업 업그레이드 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи промышленных расширений инфраструктуры\", \n    \"description_zh\": \"工业升级组件的蓝图。\", \n    \"descriptionID\": 306802, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Industrieupgrades\", \n    \"name_en-us\": \"Industrial Upgrades\", \n    \"name_es\": \"Mejoras industriales\", \n    \"name_fr\": \"Améliorations industrielles\", \n    \"name_it\": \"Industrial Upgrades\", \n    \"name_ja\": \"産業アップグレード\", \n    \"name_ko\": \"산업 업그레이드\", \n    \"name_ru\": \"Промышленные расширения\", \n    \"name_zh\": \"工业升级\", \n    \"nameID\": 306798, \n    \"parentGroupID\": 2015\n  }, \n  \"2015\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Souveränität und Infrastruktur\", \n    \"name_en-us\": \"Sovereignty and Infrastructure\", \n    \"name_es\": \"Soberanía e infraestructuras\", \n    \"name_fr\": \"Souveraineté et infrastructure\", \n    \"name_it\": \"Sovereignty and Infrastructure\", \n    \"name_ja\": \"支配権とインフラ\", \n    \"name_ko\": \"소버린티 및 인프라 업그레이드\", \n    \"name_ru\": \"Инфраструктура и владение космосом\", \n    \"name_zh\": \"主权和建筑\", \n    \"nameID\": 306835, \n    \"parentGroupID\": 1338\n  }, \n  \"2016\": {\n    \"description_de\": \"Blaupausen von Militär-Upgrades.\", \n    \"description_en-us\": \"Blueprints of Military Upgrades\", \n    \"description_es\": \"Planos de mejoras militares.\", \n    \"description_fr\": \"Plans de construction Améliorations militaires\", \n    \"description_it\": \"Blueprints of Military Upgrades\", \n    \"description_ja\": \"軍事アップグレードのブループリント\", \n    \"description_ko\": \"군사 업그레이드 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи военных расширений инфраструктуры\", \n    \"description_zh\": \"军事升级组件的蓝图。\", \n    \"descriptionID\": 306837, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Militärupgrades\", \n    \"name_en-us\": \"Military Upgrades\", \n    \"name_es\": \"Mejoras militares\", \n    \"name_fr\": \"Améliorations militaires\", \n    \"name_it\": \"Military Upgrades\", \n    \"name_ja\": \"軍事アップグレード\", \n    \"name_ko\": \"군사 업그레이드\", \n    \"name_ru\": \"Военные расширения\", \n    \"name_zh\": \"军事升级\", \n    \"nameID\": 306836, \n    \"parentGroupID\": 2015\n  }, \n  \"2017\": {\n    \"description_de\": \"Blaupausen von strategischen Upgrades.\", \n    \"description_en-us\": \"Blueprints of Strategic Upgrades\", \n    \"description_es\": \"Planos de mejoras estratégicas.\", \n    \"description_fr\": \"Plans de construction Améliorations stratégiques\", \n    \"description_it\": \"Blueprints of Strategic Upgrades\", \n    \"description_ja\": \"戦略アップグレードのブループリント\", \n    \"description_ko\": \"전략 업그레이드 블루프린트\", \n    \"description_ru\": \"Чертежи стратегических расширений инфраструктуры\", \n    \"description_zh\": \"战略升级组件的蓝图。\", \n    \"descriptionID\": 306839, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Strategische Upgrades\", \n    \"name_en-us\": \"Strategic Upgrades\", \n    \"name_es\": \"Mejoras estratégicas\", \n    \"name_fr\": \"Améliorations stratégiques\", \n    \"name_it\": \"Strategic Upgrades\", \n    \"name_ja\": \"戦略アップグレード\", \n    \"name_ko\": \"전략 업그레이드\", \n    \"name_ru\": \"Стратегические расширения\", \n    \"name_zh\": \"战略升级\", \n    \"nameID\": 306838, \n    \"parentGroupID\": 2015\n  }, \n  \"2018\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21421, \n    \"name_de\": \"Entosis-Netzwerke\", \n    \"name_en-us\": \"Entosis Links\", \n    \"name_es\": \"Enlaces de entosis\", \n    \"name_fr\": \"Liaisons Entosis\", \n    \"name_it\": \"Entosis Links\", \n    \"name_ja\": \"エントーシスリンク\", \n    \"name_ko\": \"엔토시스 링크\", \n    \"name_ru\": \"Энтоз-передатчики\", \n    \"name_zh\": \"侵噬链接\", \n    \"nameID\": 306841, \n    \"parentGroupID\": 1708\n  }, \n  \"2020\": {\n    \"description_de\": \"Entosis-Netzwerk-Blaupausen\", \n    \"description_en-us\": \"Entosis Link Blueprints\", \n    \"description_es\": \"Planos de enlaces de entosis.\", \n    \"description_fr\": \"Plans de construction Liaison Entosis\", \n    \"description_it\": \"Entosis Link Blueprints\", \n    \"description_ja\": \"エントーシスリンクのブループリント\", \n    \"description_ko\": \"엔토시스 링크 블루프린트\", \n    \"description_ru\": \"Чертежи энтоз-передатчиков\", \n    \"description_zh\": \"侵噬链接蓝图\", \n    \"descriptionID\": 306844, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Entosis-Netzwerke\", \n    \"name_en-us\": \"Entosis Links\", \n    \"name_es\": \"Enlaces de entosis\", \n    \"name_fr\": \"Liaisons Entosis\", \n    \"name_it\": \"Entosis Links\", \n    \"name_ja\": \"エントーシスリンク\", \n    \"name_ko\": \"엔토시스 링크\", \n    \"name_ru\": \"Энтоз-передатчики\", \n    \"name_zh\": \"侵噬链接\", \n    \"nameID\": 306843, \n    \"parentGroupID\": 1710\n  }, \n  \"2021\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 308858, \n    \"parentGroupID\": 1951\n  }, \n  \"2022\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fortschrittliche Schlachtschiffe\", \n    \"name_en-us\": \"Advanced Battleships\", \n    \"name_es\": \"Acorazados avanzados\", \n    \"name_fr\": \"Cuirassés avancés\", \n    \"name_it\": \"Advanced Battleships\", \n    \"name_ja\": \"最新型の戦艦\", \n    \"name_ko\": \"상급 배틀쉽\", \n    \"name_ru\": \"Специализированные\", \n    \"name_zh\": \"高级战列舰\", \n    \"nameID\": 309244, \n    \"parentGroupID\": 1960\n  }, \n  \"2023\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Marauder\", \n    \"name_en-us\": \"Marauders\", \n    \"name_es\": \"Depredadores\", \n    \"name_fr\": \"Maraudeurs\", \n    \"name_it\": \"Marauders\", \n    \"name_ja\": \"襲撃型戦艦\", \n    \"name_ko\": \"머라우더\", \n    \"name_ru\": \"Рейдеры\", \n    \"name_zh\": \"掠夺舰\", \n    \"nameID\": 309245, \n    \"parentGroupID\": 2022\n  }, \n  \"2024\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309246, \n    \"parentGroupID\": 2023\n  }, \n  \"2025\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309247, \n    \"parentGroupID\": 2023\n  }, \n  \"2026\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309248, \n    \"parentGroupID\": 2023\n  }, \n  \"2027\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309249, \n    \"parentGroupID\": 2023\n  }, \n  \"2028\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Standardkreuzer\", \n    \"name_en-us\": \"Standard Cruisers\", \n    \"name_es\": \"Cruceros estándar\", \n    \"name_fr\": \"Croiseurs standards\", \n    \"name_it\": \"Standard Cruisers\", \n    \"name_ja\": \"標準的な巡洋艦\", \n    \"name_ko\": \"일반 크루저\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准巡洋舰\", \n    \"nameID\": 309250, \n    \"parentGroupID\": 1988\n  }, \n  \"2029\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fraktionskreuzer\", \n    \"name_en-us\": \"Faction Cruisers\", \n    \"name_es\": \"Cruceros faccionarios\", \n    \"name_fr\": \"Croiseurs de faction\", \n    \"name_it\": \"Faction Cruisers\", \n    \"name_ja\": \"ファクションの巡洋艦\", \n    \"name_ko\": \"팩션 크루저\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力巡洋舰\", \n    \"nameID\": 309251, \n    \"parentGroupID\": 1988\n  }, \n  \"2030\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊勢力\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратские\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 309252, \n    \"parentGroupID\": 2029\n  }, \n  \"2031\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊勢力\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратские\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 309253, \n    \"parentGroupID\": 1999\n  }, \n  \"2032\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21437, \n    \"name_de\": \"Lenkwaffen-Leitcomputer\", \n    \"name_en-us\": \"Missile Guidance Computers\", \n    \"name_es\": \"Ordenadores de guiado de misiles\", \n    \"name_fr\": \"Ordinateurs de guidage des missiles\", \n    \"name_it\": \"Missile Guidance Computers\", \n    \"name_ja\": \"ミサイル誘導コンピューター\", \n    \"name_ko\": \"미사일 유도 컴퓨터\", \n    \"name_ru\": \"Вычислители наведения ракет\", \n    \"name_zh\": \"导弹引导计算机\", \n    \"nameID\": 309668, \n    \"parentGroupID\": 143\n  }, \n  \"2033\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21439, \n    \"name_de\": \"Lenkwaffen-Leitverbesserungen\", \n    \"name_en-us\": \"Missile Guidance Enhancers\", \n    \"name_es\": \"Intensificadores de guiado de misiles\", \n    \"name_fr\": \"Optimisateurs de guidage des missiles\", \n    \"name_it\": \"Missile Guidance Enhancers\", \n    \"name_ja\": \"ミサイル誘導エンハンサー\", \n    \"name_ko\": \"미사일 유도 향상장치\", \n    \"name_ru\": \"Корректоры траекторий ракет\", \n    \"name_zh\": \"导弹引导增强器\", \n    \"nameID\": 309669, \n    \"parentGroupID\": 143\n  }, \n  \"2034\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309672, \n    \"parentGroupID\": 1951\n  }, \n  \"2035\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Standardzerstörer\", \n    \"name_en-us\": \"Standard Destroyers\", \n    \"name_es\": \"Destructores estándar\", \n    \"name_fr\": \"Destroyers standards\", \n    \"name_it\": \"Standard Destroyers\", \n    \"name_ja\": \"標準型駆逐艦\", \n    \"name_ko\": \"일반 디스트로이어\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准驱逐舰\", \n    \"nameID\": 309680, \n    \"parentGroupID\": 1989\n  }, \n  \"2036\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Hochentwickelte Zerstörer\", \n    \"name_en-us\": \"Advanced Destroyers\", \n    \"name_es\": \"Destructores avanzados\", \n    \"name_fr\": \"Destroyers avancés\", \n    \"name_it\": \"Advanced Destroyers\", \n    \"name_ja\": \"最新型駆逐艦\", \n    \"name_ko\": \"상급 디스트로이어\", \n    \"name_ru\": \"Эсминцы cпециализированных проектов\", \n    \"name_zh\": \"高级驱逐舰\", \n    \"nameID\": 309681, \n    \"parentGroupID\": 1989\n  }, \n  \"2037\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Unterbrecher\", \n    \"name_en-us\": \"Interdictors\", \n    \"name_es\": \"Interdictores\", \n    \"name_fr\": \"Interdicteurs\", \n    \"name_it\": \"Interdictors\", \n    \"name_ja\": \"補給線爆撃機\", \n    \"name_ko\": \"인터딕터\", \n    \"name_ru\": \"Заградительные эсминцы\", \n    \"name_zh\": \"拦截舰\", \n    \"nameID\": 309682, \n    \"parentGroupID\": 2036\n  }, \n  \"2038\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309683, \n    \"parentGroupID\": 2037\n  }, \n  \"2039\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309684, \n    \"parentGroupID\": 2037\n  }, \n  \"2040\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309685, \n    \"parentGroupID\": 2037\n  }, \n  \"2041\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309686, \n    \"parentGroupID\": 2037\n  }, \n  \"2042\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fortschrittliche Fregatten\", \n    \"name_en-us\": \"Advanced Frigates\", \n    \"name_es\": \"Fragatas avanzadas\", \n    \"name_fr\": \"Frégates avancées\", \n    \"name_it\": \"Advanced Frigates\", \n    \"name_ja\": \"最新型フリゲート\", \n    \"name_ko\": \"상급 프리깃\", \n    \"name_ru\": \"Специализированные\", \n    \"name_zh\": \"高级护卫舰\", \n    \"nameID\": 309687, \n    \"parentGroupID\": 1998\n  }, \n  \"2043\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Angriffsfregatten\", \n    \"name_en-us\": \"Assault Frigates\", \n    \"name_es\": \"Fragatas de asalto\", \n    \"name_fr\": \"Frégates d’assaut\", \n    \"name_it\": \"Assault Frigates\", \n    \"name_ja\": \"強襲型フリゲート\", \n    \"name_ko\": \"어썰트 프리깃\", \n    \"name_ru\": \"Ударные фрегаты\", \n    \"name_zh\": \"突击护卫舰\", \n    \"nameID\": 309688, \n    \"parentGroupID\": 2042\n  }, \n  \"2044\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Geheimdienstoperationen\", \n    \"name_en-us\": \"Covert Ops\", \n    \"name_es\": \"Operaciones encubiertas\", \n    \"name_fr\": \"Opérations secrètes\", \n    \"name_it\": \"Covert Ops\", \n    \"name_ja\": \"隠密行動\", \n    \"name_ko\": \"코버트 옵스\", \n    \"name_ru\": \"Диверсионные фрегаты\", \n    \"name_zh\": \"隐形特勤舰\", \n    \"nameID\": 309689, \n    \"parentGroupID\": 2042\n  }, \n  \"2045\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Elektronische Angriffsfregatten\", \n    \"name_en-us\": \"Electronic Attack Frigates\", \n    \"name_es\": \"Fragatas de ataque electrónico\", \n    \"name_fr\": \"Frégates d'attaque électronique\", \n    \"name_it\": \"Electronic Attack Frigates\", \n    \"name_ja\": \"電子攻撃フリゲート\", \n    \"name_ko\": \"전자전 프리깃\", \n    \"name_ru\": \"Дозорные фрегаты\", \n    \"name_zh\": \"电子攻击护卫舰\", \n    \"nameID\": 309690, \n    \"parentGroupID\": 2042\n  }, \n  \"2046\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Abfangjäger\", \n    \"name_en-us\": \"Interceptors\", \n    \"name_es\": \"Interceptores\", \n    \"name_fr\": \"Intercepteurs\", \n    \"name_it\": \"Interceptors\", \n    \"name_ja\": \"迎撃機\", \n    \"name_ko\": \"인터셉터\", \n    \"name_ru\": \"Перехватчики\", \n    \"name_zh\": \"截击舰\", \n    \"nameID\": 309691, \n    \"parentGroupID\": 2042\n  }, \n  \"2047\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309692, \n    \"parentGroupID\": 2043\n  }, \n  \"2048\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309693, \n    \"parentGroupID\": 2043\n  }, \n  \"2049\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309694, \n    \"parentGroupID\": 2043\n  }, \n  \"2050\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309695, \n    \"parentGroupID\": 2043\n  }, \n  \"2051\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309696, \n    \"parentGroupID\": 2044\n  }, \n  \"2052\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309697, \n    \"parentGroupID\": 2044\n  }, \n  \"2053\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309698, \n    \"parentGroupID\": 2044\n  }, \n  \"2054\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309699, \n    \"parentGroupID\": 2044\n  }, \n  \"2055\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309700, \n    \"parentGroupID\": 2045\n  }, \n  \"2056\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309701, \n    \"parentGroupID\": 2045\n  }, \n  \"2057\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309702, \n    \"parentGroupID\": 2045\n  }, \n  \"2058\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309703, \n    \"parentGroupID\": 2045\n  }, \n  \"2059\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309704, \n    \"parentGroupID\": 2046\n  }, \n  \"2060\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309705, \n    \"parentGroupID\": 2046\n  }, \n  \"2061\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309706, \n    \"parentGroupID\": 2046\n  }, \n  \"2062\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309707, \n    \"parentGroupID\": 2046\n  }, \n  \"2063\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Navyfraktion\", \n    \"name_en-us\": \"Navy Faction\", \n    \"name_es\": \"Facción de la Armada\", \n    \"name_fr\": \"Faction navy\", \n    \"name_it\": \"Navy Faction\", \n    \"name_ja\": \"海軍のファクション\", \n    \"name_ko\": \"해군 팩션\", \n    \"name_ru\": \"Армейские\", \n    \"name_zh\": \"海军势力\", \n    \"nameID\": 309708, \n    \"parentGroupID\": 2029\n  }, \n  \"2064\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fortschrittliche Kreuzer\", \n    \"name_en-us\": \"Advanced Cruisers\", \n    \"name_es\": \"Cruceros avanzados\", \n    \"name_fr\": \"Croiseurs avancés\", \n    \"name_it\": \"Advanced Cruisers\", \n    \"name_ja\": \"最新型巡洋艦\", \n    \"name_ko\": \"상급 크루저\", \n    \"name_ru\": \"Специализированные\", \n    \"name_zh\": \"高级巡洋舰\", \n    \"nameID\": 309709, \n    \"parentGroupID\": 1988\n  }, \n  \"2065\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Schwere Angriffskreuzer\", \n    \"name_en-us\": \"Heavy Assault Cruisers\", \n    \"name_es\": \"Cruceros de asalto pesados\", \n    \"name_fr\": \"Croiseurs d’assaut lourds\", \n    \"name_it\": \"Heavy Assault Cruisers\", \n    \"name_ja\": \"強襲型重巡洋艦\", \n    \"name_ko\": \"어썰트 크루저\", \n    \"name_ru\": \"Ударные крейсеры\", \n    \"name_zh\": \"重型突击巡洋舰\", \n    \"nameID\": 309710, \n    \"parentGroupID\": 2064\n  }, \n  \"2066\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Schwere Unterbrechungskreuzer\", \n    \"name_en-us\": \"Heavy Interdiction Cruisers\", \n    \"name_es\": \"Cruceros interdictores pesados\", \n    \"name_fr\": \"Croiseurs d’interdiction lourds\", \n    \"name_it\": \"Heavy Interdiction Cruisers\", \n    \"name_ja\": \"補給線重爆撃巡洋艦\", \n    \"name_ko\": \"인터딕터 크루저\", \n    \"name_ru\": \"Заградительные крейсеры\", \n    \"name_zh\": \"重型拦截巡洋舰\", \n    \"nameID\": 309711, \n    \"parentGroupID\": 2064\n  }, \n  \"2067\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Logistik-Kreuzer\", \n    \"name_en-us\": \"Logistics\", \n    \"name_es\": \"Logística\", \n    \"name_fr\": \"Logistique\", \n    \"name_it\": \"Logistics\", \n    \"name_ja\": \"兵站\", \n    \"name_ko\": \"지원\", \n    \"name_ru\": \"Крейсеры обеспечения\", \n    \"name_zh\": \"后勤舰\", \n    \"nameID\": 309712, \n    \"parentGroupID\": 2064\n  }, \n  \"2068\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Aufklärungsschiffe\", \n    \"name_en-us\": \"Recon Ships\", \n    \"name_es\": \"Naves de reconocimiento\", \n    \"name_fr\": \"Vaisseaux de reconnaissance\", \n    \"name_it\": \"Recon Ships\", \n    \"name_ja\": \"偵察艦\", \n    \"name_ko\": \"리콘 크루저\", \n    \"name_ru\": \"Дозорные крейсеры\", \n    \"name_zh\": \"侦察舰\", \n    \"nameID\": 309713, \n    \"parentGroupID\": 2064\n  }, \n  \"2069\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309714, \n    \"parentGroupID\": 2065\n  }, \n  \"2070\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309715, \n    \"parentGroupID\": 2065\n  }, \n  \"2071\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309716, \n    \"parentGroupID\": 2065\n  }, \n  \"2072\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309717, \n    \"parentGroupID\": 2065\n  }, \n  \"2073\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309718, \n    \"parentGroupID\": 2066\n  }, \n  \"2074\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309719, \n    \"parentGroupID\": 2066\n  }, \n  \"2075\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309720, \n    \"parentGroupID\": 2066\n  }, \n  \"2076\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309721, \n    \"parentGroupID\": 2066\n  }, \n  \"2077\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309722, \n    \"parentGroupID\": 2067\n  }, \n  \"2078\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309723, \n    \"parentGroupID\": 2067\n  }, \n  \"2079\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309724, \n    \"parentGroupID\": 2067\n  }, \n  \"2080\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309725, \n    \"parentGroupID\": 2067\n  }, \n  \"2081\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309726, \n    \"parentGroupID\": 2068\n  }, \n  \"2082\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309727, \n    \"parentGroupID\": 2068\n  }, \n  \"2083\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309728, \n    \"parentGroupID\": 2068\n  }, \n  \"2084\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309729, \n    \"parentGroupID\": 2068\n  }, \n  \"2085\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Standardtransporter\", \n    \"name_en-us\": \"Standard Haulers\", \n    \"name_es\": \"Naves de mercancías estándar\", \n    \"name_fr\": \"Cargos standards\", \n    \"name_it\": \"Standard Haulers\", \n    \"name_ja\": \"標準型ハウラー\", \n    \"name_ko\": \"일반 운반선\", \n    \"name_ru\": \"Стандартные перевозчики\", \n    \"name_zh\": \"标准运载舰\", \n    \"nameID\": 309730, \n    \"parentGroupID\": 2006\n  }, \n  \"2086\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fortschrittliche Transporter\", \n    \"name_en-us\": \"Advanced Haulers\", \n    \"name_es\": \"Naves de mercancías avanzadas\", \n    \"name_fr\": \"Cargos avancés\", \n    \"name_it\": \"Advanced Haulers\", \n    \"name_ja\": \"高性能ハウラー\", \n    \"name_ko\": \"상급 운반선\", \n    \"name_ru\": \"Улучшенные крейсеры\", \n    \"name_zh\": \"高级运载舰\", \n    \"nameID\": 309731, \n    \"parentGroupID\": 2006\n  }, \n  \"2087\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Transportschiffe\", \n    \"name_en-us\": \"Transport Ships\", \n    \"name_es\": \"Naves de transporte\", \n    \"name_fr\": \"Vaisseaux de transport\", \n    \"name_it\": \"Transport Ships\", \n    \"name_ja\": \"輸送艦\", \n    \"name_ko\": \"트랜스포터\", \n    \"name_ru\": \"Транспортные корабли\", \n    \"name_zh\": \"运输舰\", \n    \"nameID\": 309732, \n    \"parentGroupID\": 2086\n  }, \n  \"2088\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309733, \n    \"parentGroupID\": 2087\n  }, \n  \"2089\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309734, \n    \"parentGroupID\": 2087\n  }, \n  \"2090\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309735, \n    \"parentGroupID\": 2087\n  }, \n  \"2091\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309736, \n    \"parentGroupID\": 2087\n  }, \n  \"2092\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309737, \n    \"parentGroupID\": 2381\n  }, \n  \"2093\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309738, \n    \"parentGroupID\": 2381\n  }, \n  \"2094\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Sprungfrachter\", \n    \"name_en-us\": \"Jump Freighters\", \n    \"name_es\": \"Cargueros de salto\", \n    \"name_fr\": \"Cargos interstellaires\", \n    \"name_it\": \"Jump Freighters\", \n    \"name_ja\": \"ジャンプドライブ搭載型輸送艦\", \n    \"name_ko\": \"점프 프레이터\", \n    \"name_ru\": \"Джамп-фрейтеры\", \n    \"name_zh\": \"战略货舰\", \n    \"nameID\": 309739, \n    \"parentGroupID\": 1968\n  }, \n  \"2095\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309740, \n    \"parentGroupID\": 2094\n  }, \n  \"2096\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309741, \n    \"parentGroupID\": 2094\n  }, \n  \"2097\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309742, \n    \"parentGroupID\": 2094\n  }, \n  \"2098\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309743, \n    \"parentGroupID\": 2094\n  }, \n  \"2099\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fortschrittliche Schlachtkreuzer\", \n    \"name_en-us\": \"Advanced Battlecruisers\", \n    \"name_es\": \"Cruceros de combate avanzados\", \n    \"name_fr\": \"Croiseurs cuirassés avancés\", \n    \"name_it\": \"Advanced Battlecruisers\", \n    \"name_ja\": \"最新型巡洋戦艦\", \n    \"name_ko\": \"상급 배틀크루저\", \n    \"name_ru\": \"Специализированные\", \n    \"name_zh\": \"高级战列巡洋舰\", \n    \"nameID\": 309744, \n    \"parentGroupID\": 1955\n  }, \n  \"2100\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fraktionsschlachtkreuzer\", \n    \"name_en-us\": \"Faction Battlecruisers\", \n    \"name_es\": \"Cruceros de combate faccionarios\", \n    \"name_fr\": \"Croiseurs cuirassés de faction\", \n    \"name_it\": \"Faction Battlecruisers\", \n    \"name_ja\": \"ファクション巡洋戦艦\", \n    \"name_ko\": \"팩션 배틀크루저\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力战列巡洋舰\", \n    \"nameID\": 309745, \n    \"parentGroupID\": 1955\n  }, \n  \"2101\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Standardschlachtkreuzer\", \n    \"name_en-us\": \"Standard Battlecruisers\", \n    \"name_es\": \"Cruceros de combate estándar\", \n    \"name_fr\": \"Croiseurs cuirassés standard\", \n    \"name_it\": \"Standard Battlecruisers\", \n    \"name_ja\": \"標準型巡洋戦艦\", \n    \"name_ko\": \"일반 배틀크루저\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准战列巡洋舰\", \n    \"nameID\": 309746, \n    \"parentGroupID\": 1955\n  }, \n  \"2102\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Kommandoschiffe\", \n    \"name_en-us\": \"Command Ships\", \n    \"name_es\": \"Naves de mando\", \n    \"name_fr\": \"Vaisseaux de commandement\", \n    \"name_it\": \"Command Ships\", \n    \"name_ja\": \"指揮艦\", \n    \"name_ko\": \"커맨드쉽\", \n    \"name_ru\": \"Корабли управления\", \n    \"name_zh\": \"指挥舰\", \n    \"nameID\": 309747, \n    \"parentGroupID\": 2099\n  }, \n  \"2103\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Navyfraktion\", \n    \"name_en-us\": \"Navy Faction\", \n    \"name_es\": \"Facción de la Armada\", \n    \"name_fr\": \"Faction navy\", \n    \"name_it\": \"Navy Faction\", \n    \"name_ja\": \"海軍のファクション\", \n    \"name_ko\": \"해군 팩션\", \n    \"name_ru\": \"Армейские\", \n    \"name_zh\": \"海军势力\", \n    \"nameID\": 309748, \n    \"parentGroupID\": 2100\n  }, \n  \"2104\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309749, \n    \"parentGroupID\": 2102\n  }, \n  \"2105\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309750, \n    \"parentGroupID\": 2102\n  }, \n  \"2106\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309751, \n    \"parentGroupID\": 2102\n  }, \n  \"2107\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309752, \n    \"parentGroupID\": 2102\n  }, \n  \"2108\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Navyfraktion\", \n    \"name_en-us\": \"Navy Faction\", \n    \"name_es\": \"Facción de la Armada\", \n    \"name_fr\": \"Faction navy\", \n    \"name_it\": \"Navy Faction\", \n    \"name_ja\": \"海軍のファクション\", \n    \"name_ko\": \"해군 팩션\", \n    \"name_ru\": \"Армейские\", \n    \"name_zh\": \"海军势力\", \n    \"nameID\": 309753, \n    \"parentGroupID\": 1961\n  }, \n  \"2109\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Black Ops\", \n    \"name_en-us\": \"Black Ops\", \n    \"name_es\": \"Operaciones secretas\", \n    \"name_fr\": \"Forces spéciales\", \n    \"name_it\": \"Black Ops\", \n    \"name_ja\": \"秘密工作\", \n    \"name_ko\": \"블랙옵스\", \n    \"name_ru\": \"Тяжёлые диверсионные корабли\", \n    \"name_zh\": \"黑隐特勤舰\", \n    \"nameID\": 309754, \n    \"parentGroupID\": 2022\n  }, \n  \"2110\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 309755, \n    \"parentGroupID\": 2109\n  }, \n  \"2111\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 309756, \n    \"parentGroupID\": 2109\n  }, \n  \"2112\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 309757, \n    \"parentGroupID\": 2109\n  }, \n  \"2113\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 309758, \n    \"parentGroupID\": 2109\n  }, \n  \"2114\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Capital-Industrieschiffe\", \n    \"name_en-us\": \"Capital Industrial Ships\", \n    \"name_es\": \"Naves industriales capitales\", \n    \"name_fr\": \"Vaisseaux industriels capitaux\", \n    \"name_it\": \"Capital Industrial Ships\", \n    \"name_ja\": \"採掘支援母艦\", \n    \"name_ko\": \"캐피탈 인더스트리얼\", \n    \"name_ru\": \"Промышленные корабли\", \n    \"name_zh\": \"旗舰级工业舰\", \n    \"nameID\": 309799, \n    \"parentGroupID\": 1968\n  }, \n  \"2115\": {\n    \"description_de\": \"Schwere Unterbrechungskreuzer, die Kapselpiloten gelegentlich und für begrenzte Zeit angeboten werden.\", \n    \"description_en-us\": \"Heavy Interdiction Cruisers which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Cruceros interdictores pesados ofrecidos a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Croiseurs d’interdiction lourds mis parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Heavy Interdiction Cruisers which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"時より期間限定でカプセラに支給される補給線重爆撃巡洋艦。\", \n    \"description_ko\": \"캡슐리어들에게 한정판으로 제공되었던 인터딕터 크루저입니다.\", \n    \"description_ru\": \"Заградительные крейсеры, которые в течение ограниченного времени по особому поводу предлагались капсулёрам.\", \n    \"description_zh\": \"限时供应的重型拦截巡洋舰。\", \n    \"descriptionID\": 309834, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversion: schwere Unterbrechungskreuzer\", \n    \"name_en-us\": \"Special Edition Heavy Interdiction Cruisers\", \n    \"name_es\": \"Cruceros interdictores pesados de edición especial\", \n    \"name_fr\": \"Croiseurs d’interdiction lourds (édition spéciale)\", \n    \"name_it\": \"Special Edition Heavy Interdiction Cruisers\", \n    \"name_ja\": \"特別仕様 補給線重爆撃巡洋艦\", \n    \"name_ko\": \"인터딕터 크루저\", \n    \"name_ru\": \"Малосерийные заградительные крейсеры\", \n    \"name_zh\": \"特别版重型拦截巡洋舰\", \n    \"nameID\": 309833, \n    \"parentGroupID\": 1612\n  }, \n  \"2119\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Verschiedene Schiff-SKINs\", \n    \"name_en-us\": \"Multiple Hull SKINs\", \n    \"name_es\": \"SKIN para varios cascos\", \n    \"name_fr\": \"Plusieurs SKINS de coques\", \n    \"name_it\": \"Multiple Hull SKINs\", \n    \"name_ja\": \"複数の船体SKIN\", \n    \"name_ko\": \"멀티 SKIN\", \n    \"name_ru\": \"Окраски для нескольких типов кораблей\", \n    \"name_zh\": \"多舰船通用涂装\", \n    \"nameID\": 310134, \n    \"parentGroupID\": 1954\n  }, \n  \"2120\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Sonderversion-SKINs\", \n    \"name_en-us\": \"Special Edition SKINs\", \n    \"name_es\": \"SKIN de edición especial\", \n    \"name_fr\": \"SKINS (édition spéciale)\", \n    \"name_it\": \"Special Edition SKINs\", \n    \"name_ja\": \"特別仕様のSKIN\", \n    \"name_ko\": \"스페셜 에디션 SKIN\", \n    \"name_ru\": \"Малосерийные окраски\", \n    \"name_zh\": \"特别版涂装\", \n    \"nameID\": 310135, \n    \"parentGroupID\": 2119\n  }, \n  \"2125\": {\n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Kommandozerstörer\", \n    \"name_en-us\": \"Command Destroyers\", \n    \"name_es\": \"Destructores de mando\", \n    \"name_fr\": \"Destroyers de commandement\", \n    \"name_it\": \"Command Destroyers\", \n    \"name_ja\": \"指揮型駆逐艦\", \n    \"name_ko\": \"커맨드 디스트로이어\", \n    \"name_ru\": \"Лидеры\", \n    \"name_zh\": \"指挥驱逐舰\", \n    \"nameID\": 310153, \n    \"parentGroupID\": 1373\n  }, \n  \"2126\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 310154, \n    \"parentGroupID\": 2125\n  }, \n  \"2131\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 310159, \n    \"parentGroupID\": 2125\n  }, \n  \"2132\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 310160, \n    \"parentGroupID\": 2125\n  }, \n  \"2133\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 310161, \n    \"parentGroupID\": 2125\n  }, \n  \"2134\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Microsprungfeldgeneratoren\", \n    \"name_en-us\": \"Micro Jump Field Generators\", \n    \"name_es\": \"Generadores de campo de microsalto\", \n    \"name_fr\": \"Générateurs de champ de micro-saut\", \n    \"name_it\": \"Micro Jump Field Generators\", \n    \"name_ja\": \"マイクロジャンプフィールドジェネレーター\", \n    \"name_ko\": \"마이크로 점프 필드 생성기\", \n    \"name_ru\": \"Генераторы разгонного поля\", \n    \"name_zh\": \"微型跳跃力场发生器\", \n    \"nameID\": 310162, \n    \"parentGroupID\": 252\n  }, \n  \"2135\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20971, \n    \"name_de\": \"Microsprungfeldgeneratoren\", \n    \"name_en-us\": \"Micro Jump Field Generators\", \n    \"name_es\": \"Generadores de campo de microsalto\", \n    \"name_fr\": \"Générateurs de champ de micro-saut\", \n    \"name_it\": \"Micro Jump Field Generators\", \n    \"name_ja\": \"マイクロジャンプフィールドジェネレーター\", \n    \"name_ko\": \"마이크로 점프 필드 생성기\", \n    \"name_ru\": \"Генераторы разгонного поля\", \n    \"name_zh\": \"微型跳跃力场发生器\", \n    \"nameID\": 310163, \n    \"parentGroupID\": 52\n  }, \n  \"2136\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Logistikfregatten\", \n    \"name_en-us\": \"Logistics Frigates\", \n    \"name_es\": \"Fragatas logísticas\", \n    \"name_fr\": \"Frégates logistiques\", \n    \"name_it\": \"Logistics Frigates\", \n    \"name_ja\": \"支援型フリゲート\", \n    \"name_ko\": \"로지스틱스 프리깃\", \n    \"name_ru\": \"Фрегаты обеспечения\", \n    \"name_zh\": \"后勤护卫舰\", \n    \"nameID\": 310268, \n    \"parentGroupID\": 2042\n  }, \n  \"2137\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 310269, \n    \"parentGroupID\": 2136\n  }, \n  \"2138\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 310270, \n    \"parentGroupID\": 2136\n  }, \n  \"2139\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 310271, \n    \"parentGroupID\": 2136\n  }, \n  \"2140\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 310272, \n    \"parentGroupID\": 2136\n  }, \n  \"2141\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Kommandozerstörer\", \n    \"name_en-us\": \"Command Destroyers\", \n    \"name_es\": \"Destructores de mando\", \n    \"name_fr\": \"Destroyers de commandement\", \n    \"name_it\": \"Command Destroyers\", \n    \"name_ja\": \"指揮型駆逐艦\", \n    \"name_ko\": \"커맨드 디스트로이어\", \n    \"name_ru\": \"Лидеры\", \n    \"name_zh\": \"指挥驱逐舰\", \n    \"nameID\": 310273, \n    \"parentGroupID\": 2036\n  }, \n  \"2142\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 310274, \n    \"parentGroupID\": 2141\n  }, \n  \"2143\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 310275, \n    \"parentGroupID\": 2141\n  }, \n  \"2144\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 310276, \n    \"parentGroupID\": 2141\n  }, \n  \"2145\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 310277, \n    \"parentGroupID\": 2141\n  }, \n  \"2146\": {\n    \"description_de\": \"Fregatten, die sich auf die Reparatur Ihrer Verbündeten spezialisiert haben.\", \n    \"description_en-us\": \"Frigates specialized in repairing their allies\", \n    \"description_es\": \"Fragatas especializadas en reparar naves aliadas.\", \n    \"description_fr\": \"Frégates spécialisées dans la réparation de leurs alliés\", \n    \"description_it\": \"Frigates specialized in repairing their allies\", \n    \"description_ja\": \"味方艦船の修理に特化したフリゲート\", \n    \"description_ko\": \"아군 수리에 특화된 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты, предназначенные для ремонта союзников\", \n    \"description_zh\": \"擅长为友军提供维修支援的护卫舰\", \n    \"descriptionID\": 310279, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Logistikfregatten\", \n    \"name_en-us\": \"Logistics Frigates\", \n    \"name_es\": \"Fragatas logísticas\", \n    \"name_fr\": \"Frégates logistiques\", \n    \"name_it\": \"Logistics Frigates\", \n    \"name_ja\": \"支援型フリゲート\", \n    \"name_ko\": \"로지스틱스 프리깃\", \n    \"name_ru\": \"Фрегаты обеспечения\", \n    \"name_zh\": \"后勤护卫舰\", \n    \"nameID\": 310278, \n    \"parentGroupID\": 1364\n  }, \n  \"2147\": {\n    \"description_de\": \"Amarr-Logistikfregatten\", \n    \"description_en-us\": \"Amarr Logistics Frigates\", \n    \"description_es\": \"Fragatas logísticas amarrianas.\", \n    \"description_fr\": \"Frégates logistiques amarr\", \n    \"description_it\": \"Amarr Logistics Frigates\", \n    \"description_ja\": \"アマーの物資輸送フリゲート\", \n    \"description_ko\": \"아마르 로지스틱스 프리깃입니다.\", \n    \"description_ru\": \"Амаррские фрегаты боеовго обеспечения\", \n    \"description_zh\": \"艾玛后勤护卫舰\", \n    \"descriptionID\": 310281, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 310280, \n    \"parentGroupID\": 2146\n  }, \n  \"2148\": {\n    \"description_de\": \"Caldari-Logistikfregatten\", \n    \"description_en-us\": \"Caldari Logistics Frigates\", \n    \"description_es\": \"Fragatas logísticas caldaris.\", \n    \"description_fr\": \"Frégates logistiques caldari\", \n    \"description_it\": \"Caldari Logistics Frigates\", \n    \"description_ja\": \"カルダリの物資輸送フリゲート\", \n    \"description_ko\": \"칼다리 로지스틱스 프리깃입니다.\", \n    \"description_ru\": \"Калдарские фрегаты боеовго обеспечения\", \n    \"description_zh\": \"加达里后勤护卫舰\", \n    \"descriptionID\": 310283, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 310282, \n    \"parentGroupID\": 2146\n  }, \n  \"2149\": {\n    \"description_de\": \"Gallente-Logistikfregatten\", \n    \"description_en-us\": \"Gallente Logistics Frigates\", \n    \"description_es\": \"Fragatas logísticas gallentes.\", \n    \"description_fr\": \"Frégates logistiques gallente\", \n    \"description_it\": \"Gallente Logistics Frigates\", \n    \"description_ja\": \"ガレンテの支援型フリゲート\", \n    \"description_ko\": \"갈란테 로지스틱스 프리깃입니다.\", \n    \"description_ru\": \"Галлентские фрегаты боеовго обеспечения\", \n    \"description_zh\": \"盖伦特后勤护卫舰\", \n    \"descriptionID\": 310285, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 310284, \n    \"parentGroupID\": 2146\n  }, \n  \"2150\": {\n    \"description_de\": \"Minmatar-Logistikfregatten\", \n    \"description_en-us\": \"Minmatar Logistics Frigates\", \n    \"description_es\": \"Fragatas logísticas minmatarianas.\", \n    \"description_fr\": \"Frégates logistiques minmatar\", \n    \"description_it\": \"Minmatar Logistics Frigates\", \n    \"description_ja\": \"ミンマターの物資輸送フリゲート\", \n    \"description_ko\": \"민마타 로지스틱스 프리깃입니다.\", \n    \"description_ru\": \"Матарские фрегаты боеовго обеспечения\", \n    \"description_zh\": \"米玛塔尔后勤护卫舰\", \n    \"descriptionID\": 310287, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 310286, \n    \"parentGroupID\": 2146\n  }, \n  \"2151\": {\n    \"description_de\": \"Entwürfe für Eis-Bergbaulaser.\", \n    \"description_en-us\": \"Ice mining laser designs.\", \n    \"description_es\": \"Diseños de láseres mineros para hielo.\", \n    \"description_fr\": \"Modèles de laser d'extraction de glace\", \n    \"description_it\": \"Ice mining laser designs.\", \n    \"description_ja\": \"アイス採掘レーザーの設計。\", \n    \"description_ko\": \"아이스 채굴 레이저입니다.\", \n    \"description_ru\": \"Проекты установок для бурения льда.\", \n    \"description_zh\": \"冰矿开采激光器设计。\", \n    \"descriptionID\": 310308, \n    \"hasTypes\": 1, \n    \"iconID\": 1061, \n    \"name_de\": \"Eis-Bergbaulaser\", \n    \"name_en-us\": \"Ice Mining Lasers\", \n    \"name_es\": \"Láseres mineros para hielo\", \n    \"name_fr\": \"Lasers d'extraction de glace\", \n    \"name_it\": \"Ice Mining Lasers\", \n    \"name_ja\": \"アイス採掘レーザー\", \n    \"name_ko\": \"아이스 채굴 레이저\", \n    \"name_ru\": \"Установки для бурения льда\", \n    \"name_zh\": \"冰矿开采激光器\", \n    \"nameID\": 310307, \n    \"parentGroupID\": 1713\n  }, \n  \"2152\": {\n    \"description_de\": \"Skills zur effizienten Benutzung von spielerverwalteten Strukturen.\", \n    \"description_en-us\": \"Skills pertaining to the efficient use of player owned structures\", \n    \"description_es\": \"Habilidades relacionadas con el uso eficiente de estructuras en propiedad de jugadores.\", \n    \"description_fr\": \"Compétences relatives à l'utilisation efficace des structures appartenant au joueurs\", \n    \"description_it\": \"Skills pertaining to the efficient use of player owned structures\", \n    \"description_ja\": \"プレイヤーが所有するストラクチャを効果的に使用するためのスキル。\", \n    \"description_ko\": \"플레이어 구조물을 보다 효율적으로 운용할 수 있습니다.\", \n    \"description_ru\": \"Навыки, обеспечивающие эффективное использование принадлежащих пилотам сооружений.\", \n    \"description_zh\": \"熟练使用玩家自有建筑的技能\", \n    \"descriptionID\": 311567, \n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Strukturverwaltung\", \n    \"name_en-us\": \"Structure Management\", \n    \"name_es\": \"Gestión de estructuras\", \n    \"name_fr\": \"Gestion de structure\", \n    \"name_it\": \"Structure Management\", \n    \"name_ja\": \"ストラクチャの管理\", \n    \"name_ko\": \"구조물 관리\", \n    \"name_ru\": \"Управление сооружениями\", \n    \"name_zh\": \"建筑管理\", \n    \"nameID\": 311566, \n    \"parentGroupID\": 150\n  }, \n  \"2153\": {\n    \"description_de\": \"Statisgreifarme Blaupausen\", \n    \"description_en-us\": \"Stasis Grappler Blueprints\", \n    \"description_es\": \"Planos de anquilizadores de estasis.\", \n    \"description_fr\": \"Plans de construction Grappler de stase\", \n    \"description_it\": \"Stasis Grappler Blueprints\", \n    \"description_ja\": \"ステイシスグラップラーのブループリント\", \n    \"description_ko\": \"스테이시스 그래플러 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи высокомощных генераторов стазис-поля\", \n    \"description_zh\": \"停滞捕捉光束蓝图\", \n    \"descriptionID\": 311810, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Stasisgreifarme\", \n    \"name_en-us\": \"Stasis Grapplers\", \n    \"name_es\": \"Anquilizadores de estasis\", \n    \"name_fr\": \"Grapplers de stase\", \n    \"name_it\": \"Stasis Grapplers\", \n    \"name_ja\": \"ステイシスグラップラー\", \n    \"name_ko\": \"스테이시스 그래플러\", \n    \"name_ru\": \"Абордажные стазис-индукторы\", \n    \"name_zh\": \"停滞捕捉光束\", \n    \"nameID\": 311809, \n    \"parentGroupID\": 1566\n  }, \n  \"2154\": {\n    \"description_de\": \"Stasisgreifarme\", \n    \"description_en-us\": \"Stasis Grapplers\", \n    \"description_es\": \"Anquilizadores de estasis.\", \n    \"description_fr\": \"Grapplers de stase\", \n    \"description_it\": \"Stasis Grapplers\", \n    \"description_ja\": \"ステイシスグラップラー\", \n    \"description_ko\": \"스테이시스 그래플러\", \n    \"description_ru\": \"Абордажные стазис-индукторы\", \n    \"description_zh\": \"停滞捕捉光束\", \n    \"descriptionID\": 311812, \n    \"hasTypes\": 1, \n    \"iconID\": 21581, \n    \"name_de\": \"Stasisgreifarme\", \n    \"name_en-us\": \"Stasis Grapplers\", \n    \"name_es\": \"Anquilizadores de estasis\", \n    \"name_fr\": \"Grapplers de stase\", \n    \"name_it\": \"Stasis Grapplers\", \n    \"name_ja\": \"ステイシスグラップラー\", \n    \"name_ko\": \"스테이시스 그래플러\", \n    \"name_ru\": \"Абордажные стазис-индукторы\", \n    \"name_zh\": \"停滞捕捉光束\", \n    \"nameID\": 311811, \n    \"parentGroupID\": 657\n  }, \n  \"2155\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2890, \n    \"name_de\": \"Benannte Komponenten\", \n    \"name_en-us\": \"Named Components\", \n    \"name_es\": \"Componentes con nombre\", \n    \"name_fr\": \"Composants nommés\", \n    \"name_it\": \"Named Components\", \n    \"name_ja\": \"指定コンポーネント\", \n    \"name_ko\": \"특수 부품\", \n    \"name_ru\": \"Именные компоненты\", \n    \"name_zh\": \"已命名组件\", \n    \"nameID\": 312291, \n    \"parentGroupID\": 533\n  }, \n  \"2156\": {\n    \"description_de\": \"Blaupausen für Zitadellen.\", \n    \"description_en-us\": \"Blueprints of Citadel structures.\", \n    \"description_es\": \"Planos de estructuras de ciudadela.\", \n    \"description_fr\": \"Plans de construction des structures Citadelle.\", \n    \"description_it\": \"Blueprints of Citadel structures.\", \n    \"description_ja\": \"城塞ストラクチャのブループリント。\", \n    \"description_ko\": \"시타델 구조물 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи цитаделей.\", \n    \"description_zh\": \"堡垒建筑的蓝图。\", \n    \"descriptionID\": 311953, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Zitadellen\", \n    \"name_en-us\": \"Citadels\", \n    \"name_es\": \"Ciudadelas\", \n    \"name_fr\": \"Citadelles\", \n    \"name_it\": \"Citadels\", \n    \"name_ja\": \"城塞\", \n    \"name_ko\": \"시타델\", \n    \"name_ru\": \"Цитадели\", \n    \"name_zh\": \"堡垒\", \n    \"nameID\": 311952, \n    \"parentGroupID\": 1338\n  }, \n  \"2157\": {\n    \"description_de\": \"Blaupausen für Strukturmodifikationen.\", \n    \"description_en-us\": \"Blueprints of structure modifications.\", \n    \"description_es\": \"Planos de modificaciones para estructuras.\", \n    \"description_fr\": \"Plans de construction de modifications de structure\", \n    \"description_it\": \"Blueprints of structure modifications.\", \n    \"description_ja\": \"ストラクチャ改良品のブループリント。\", \n    \"description_ko\": \"스탠드업 구조물 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи модификаций сооружений.\", \n    \"description_zh\": \"建筑改装件的蓝图。\", \n    \"descriptionID\": 311955, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Strukturmodifikationen\", \n    \"name_en-us\": \"Structure Modifications\", \n    \"name_es\": \"Modificaciones para estructuras\", \n    \"name_fr\": \"Modifications de structure\", \n    \"name_it\": \"Structure Modifications\", \n    \"name_ja\": \"ストラクチャ改良品\", \n    \"name_ko\": \"구조물 리그\", \n    \"name_ru\": \"Модификации сооружений\", \n    \"name_zh\": \"建筑改装件\", \n    \"nameID\": 311954, \n    \"parentGroupID\": 2\n  }, \n  \"2158\": {\n    \"description_de\": \"Blaupausen von Strukturmodulen\", \n    \"description_en-us\": \"Blueprints of Structure Modules.\", \n    \"description_es\": \"Planos de módulos para estructuras.\", \n    \"description_fr\": \"Plans de construction de modules de structure\", \n    \"description_it\": \"Blueprints of Structure Modules.\", \n    \"description_ja\": \"ストラクチャモジュールのブループリント。\", \n    \"description_ko\": \"스탠드업 구조물 모듈 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи модулей сооружений.\", \n    \"description_zh\": \"建筑装备的蓝图。\", \n    \"descriptionID\": 311957, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Strukturausrüstung\", \n    \"name_en-us\": \"Structure Equipment\", \n    \"name_es\": \"Equipo para estructuras\", \n    \"name_fr\": \"Équipement de structure\", \n    \"name_it\": \"Structure Equipment\", \n    \"name_ja\": \"ストラクチャ設備\", \n    \"name_ko\": \"구조물 모듈\", \n    \"name_ru\": \"Оборудование сооружений\", \n    \"name_zh\": \"建筑设备\", \n    \"nameID\": 311956, \n    \"parentGroupID\": 2\n  }, \n  \"2159\": {\n    \"description_de\": \"Blaupausen für Struktur-Kampfmodifikationen\", \n    \"description_en-us\": \"Blueprints for Structure Combat rigs.\", \n    \"description_es\": \"Planos para complementos de combate para estructuras.\", \n    \"description_fr\": \"Blueprints for Structure Combat rigs.\", \n    \"description_it\": \"Blueprints for Structure Combat rigs.\", \n    \"description_ja\": \"コンバットリグ・ストラクチャのブループリント。\", \n    \"description_ko\": \"스탠드업 구조물 전투 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи боевых тюнинг-модулей для сооружений\", \n    \"description_zh\": \"建筑战斗改装件的蓝图。\", \n    \"descriptionID\": 311959, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Struktur-Kampfmodifikationen\", \n    \"name_en-us\": \"Structure Combat Rigs\", \n    \"name_es\": \"Complementos de combate para estructuras\", \n    \"name_fr\": \"Structure Combat Rigs\", \n    \"name_it\": \"Structure Combat Rigs\", \n    \"name_ja\": \"ストラクチャ ― コンバットリグ\", \n    \"name_ko\": \"전투 리그\", \n    \"name_ru\": \"Боевые модификаторы\", \n    \"name_zh\": \"建筑战斗改装件\", \n    \"nameID\": 311958, \n    \"parentGroupID\": 2157\n  }, \n  \"2160\": {\n    \"description_de\": \"Blaupausen für Struktur: Aufbereitungs- und Reaktionsmodifikationen.\", \n    \"description_en-us\": \"Blueprints for structure reprocessing and reactions rigs.\", \n    \"description_es\": \"Planos para complementos de reacción y reprocesamiento de estructuras.\", \n    \"description_fr\": \"Plans de construction pour optimisations de retraitement et de réaction (structure)\", \n    \"description_it\": \"Blueprints for structure reprocessing and reactions rigs.\", \n    \"description_ja\": \"再処理リグ・ストラクチャのブループリント。\", \n    \"description_ko\": \"스탠드업 구조물 정제 및 반응로 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи надстроек для сооружений — переработка и реакции.\", \n    \"description_zh\": \"建筑提炼和反应改装件的蓝图。\", \n    \"descriptionID\": 311961, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Struktur: Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Structure Resource Processing Rigs\", \n    \"name_es\": \"Complementos de procesamiento de recursos para estructuras\", \n    \"name_fr\": \"Optimisations de traitement des ressources (structure)\", \n    \"name_it\": \"Structure Resource Processing Rigs\", \n    \"name_ja\": \"ストラクチャ再処理リグ\", \n    \"name_ko\": \"자원 정제 리그\", \n    \"name_ru\": \"Надстройки для сооружений — переработка ресурсов\", \n    \"name_zh\": \"建筑资源提炼改装件\", \n    \"nameID\": 311960, \n    \"parentGroupID\": 2157\n  }, \n  \"2161\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Elektronische Kriegsführung\", \n    \"name_en-us\": \"Electronic Warfare\", \n    \"name_es\": \"Guerra electrónica\", \n    \"name_fr\": \"Guerre électronique\", \n    \"name_it\": \"Electronic Warfare\", \n    \"name_ja\": \"電子戦\", \n    \"name_ko\": \"전자전 장비\", \n    \"name_ru\": \"Системы РЭБ\", \n    \"name_zh\": \"电子战\", \n    \"nameID\": 311962, \n    \"parentGroupID\": 2158\n  }, \n  \"2162\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Elektronik- & Sensorupgrades\", \n    \"name_en-us\": \"Electronics and Sensor Upgrades\", \n    \"name_es\": \"Mejoras electrónicas y de sensores\", \n    \"name_fr\": \"Améliorations des détecteurs et de l'électronique\", \n    \"name_it\": \"Electronics and Sensor Upgrades\", \n    \"name_ja\": \"電子システムおよびセンサーのアップグレード\", \n    \"name_ko\": \"전자기기 및 센서 업그레이드\", \n    \"name_ru\": \"Улучшения сенсоров и электронных систем\", \n    \"name_zh\": \"电子学和感应器升级件\", \n    \"nameID\": 311963, \n    \"parentGroupID\": 2158\n  }, \n  \"2163\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Ausrüstung für Ingenieurwesen\", \n    \"name_en-us\": \"Engineering Equipment\", \n    \"name_es\": \"Equipo de ingeniería\", \n    \"name_fr\": \"Équipement d'ingénierie\", \n    \"name_it\": \"Engineering Equipment\", \n    \"name_ja\": \"光学装置\", \n    \"name_ko\": \"엔지니어링 장비\", \n    \"name_ru\": \"Инженерное оборудование\", \n    \"name_zh\": \"工程装备\", \n    \"nameID\": 311964, \n    \"parentGroupID\": 2158\n  }, \n  \"2164\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Strukturwaffen\", \n    \"name_en-us\": \"Structure Weapons\", \n    \"name_es\": \"Armas para estructuras\", \n    \"name_fr\": \"Structure Weapons\", \n    \"name_it\": \"Structure Weapons\", \n    \"name_ja\": \"ストラクチャ兵器\", \n    \"name_ko\": \"구조물 무기\", \n    \"name_ru\": \"Вооружение\", \n    \"name_zh\": \"建筑武器\", \n    \"nameID\": 311965, \n    \"parentGroupID\": 2158\n  }, \n  \"2165\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Jäger-Upgrades\", \n    \"name_en-us\": \"Fighter Upgrades\", \n    \"name_es\": \"Mejoras de cazas\", \n    \"name_fr\": \"Mises à niveau des chasseurs\", \n    \"name_it\": \"Fighter Upgrades\", \n    \"name_ja\": \"戦闘機のアップグレード\", \n    \"name_ko\": \"파이터 업그레이드\", \n    \"name_ru\": \"Улучшения истребителей\", \n    \"name_zh\": \"铁骑舰载机升级件\", \n    \"nameID\": 311966, \n    \"parentGroupID\": 2158\n  }, \n  \"2166\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Dienstmodule\", \n    \"name_en-us\": \"Service Modules\", \n    \"name_es\": \"Módulos de servicio\", \n    \"name_fr\": \"Modules de service :\", \n    \"name_it\": \"Service Modules\", \n    \"name_ja\": \"サービスモジュール\", \n    \"name_ko\": \"서비스 모듈\", \n    \"name_ru\": \"Служебные модули\", \n    \"name_zh\": \"服务装备\", \n    \"nameID\": 311967, \n    \"parentGroupID\": 2158\n  }, \n  \"2167\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Elektronische Gegenmaßnahmen\", \n    \"name_en-us\": \"Electronic Counter Measures\", \n    \"name_es\": \"Contramedidas electrónicas\", \n    \"name_fr\": \"Contremesures électroniques\", \n    \"name_it\": \"Electronic Counter Measures\", \n    \"name_ja\": \"反撃用電子装置\", \n    \"name_ko\": \"ECM\", \n    \"name_ru\": \"Модули глушения захвата целей\", \n    \"name_zh\": \"ECM\", \n    \"nameID\": 311968, \n    \"parentGroupID\": 2161\n  }, \n  \"2168\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Sensorferndämpfer\", \n    \"name_en-us\": \"Remote Sensor Dampeners\", \n    \"name_es\": \"Atenuadores de sensor remotos\", \n    \"name_fr\": \"Atténuateurs de détection à distance\", \n    \"name_it\": \"Remote Sensor Dampeners\", \n    \"name_ja\": \"リモートセンサーダンプナー\", \n    \"name_ko\": \"원격 센서 댐프너\", \n    \"name_ru\": \"Модули подавления захвата целей\", \n    \"name_zh\": \"远程感应抑阻器\", \n    \"nameID\": 311969, \n    \"parentGroupID\": 2161\n  }, \n  \"2169\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Stasisnetze\", \n    \"name_en-us\": \"Stasis Webifiers\", \n    \"name_es\": \"Redes ralentizadoras\", \n    \"name_fr\": \"Générateurs de stase\", \n    \"name_it\": \"Stasis Webifiers\", \n    \"name_ja\": \"ステイシスウェビファイヤー\", \n    \"name_ko\": \"스테이시스 웹 생성기\", \n    \"name_ru\": \"Стазис-индукторы\", \n    \"name_zh\": \"停滞缠绕光束\", \n    \"nameID\": 311970, \n    \"parentGroupID\": 2161\n  }, \n  \"2170\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Zielmarkierung\", \n    \"name_en-us\": \"Target Painters\", \n    \"name_es\": \"Reveladores de objetivo\", \n    \"name_fr\": \"Marqueurs de cible\", \n    \"name_it\": \"Target Painters\", \n    \"name_ja\": \"ターゲットぺインター\", \n    \"name_ko\": \"타겟 페인터\", \n    \"name_ru\": \"Системы подсветки целей\", \n    \"name_zh\": \"目标标记装置\", \n    \"nameID\": 311971, \n    \"parentGroupID\": 2161\n  }, \n  \"2171\": {\n    \"description_de\": \"Waffenstörer\", \n    \"description_en-us\": \"Weapon Disruptors\", \n    \"description_es\": \"Disruptores de armas\", \n    \"description_fr\": \"Perturbateurs d'armement\", \n    \"description_it\": \"Weapon Disruptors\", \n    \"description_ja\": \"兵器妨害器\", \n    \"description_ko\": \"무기 디스럽터\", \n    \"description_ru\": \"Подавители оружия\", \n    \"description_zh\": \"武器扰断器\", \n    \"descriptionID\": 317006, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Waffenstörer\", \n    \"name_en-us\": \"Weapon Disruptors\", \n    \"name_es\": \"Disruptores de armas\", \n    \"name_fr\": \"Perturbateurs d'armement\", \n    \"name_it\": \"Weapon Disruptors\", \n    \"name_ja\": \"トラッキング妨害器\", \n    \"name_ko\": \"무기 디스럽터\", \n    \"name_ru\": \"Подавители оружия\", \n    \"name_zh\": \"武器扰断器\", \n    \"nameID\": 311972, \n    \"parentGroupID\": 2161\n  }, \n  \"2172\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Warpunterbrecher\", \n    \"name_en-us\": \"Warp Scramblers\", \n    \"name_es\": \"Distorsionadores de warp\", \n    \"name_fr\": \"Inhibiteurs de warp\", \n    \"name_it\": \"Warp Scramblers\", \n    \"name_ja\": \"ワープスクランブラー\", \n    \"name_ko\": \"워프 스크램블러\", \n    \"name_ru\": \"Варп-глушители\", \n    \"name_zh\": \"跃迁扰频器\", \n    \"nameID\": 311973, \n    \"parentGroupID\": 2161\n  }, \n  \"2173\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"CPU-Upgrades\", \n    \"name_en-us\": \"CPU Upgrades\", \n    \"name_es\": \"Mejoras de CPU\", \n    \"name_fr\": \"Améliorations de CPU\", \n    \"name_it\": \"CPU Upgrades\", \n    \"name_ja\": \"CPUのアップグレード\", \n    \"name_ko\": \"CPU 업그레이드\", \n    \"name_ru\": \"Улучшения ЦПУ\", \n    \"name_zh\": \"CPU升级件\", \n    \"nameID\": 311974, \n    \"parentGroupID\": 2162\n  }, \n  \"2174\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Signalverstärker\", \n    \"name_en-us\": \"Signal Amplifiers\", \n    \"name_es\": \"Amplificadores de señal\", \n    \"name_fr\": \"Amplificateurs de signal\", \n    \"name_it\": \"Signal Amplifiers\", \n    \"name_ja\": \"シグナル増幅器\", \n    \"name_ko\": \"신호 증폭기\", \n    \"name_ru\": \"Усилители сигнала\", \n    \"name_zh\": \"信号放大器\", \n    \"nameID\": 311975, \n    \"parentGroupID\": 2162\n  }, \n  \"2175\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energiespeicher-Batterien\", \n    \"name_en-us\": \"Capacitor Batteries\", \n    \"name_es\": \"Baterías de condensador\", \n    \"name_fr\": \"Batteries de capaciteur\", \n    \"name_it\": \"Capacitor Batteries\", \n    \"name_ja\": \"キャパシタブースター\", \n    \"name_ko\": \"캐패시터 배터리\", \n    \"name_ru\": \"Накопительные батареи\", \n    \"name_zh\": \"电容电池\", \n    \"nameID\": 311976, \n    \"parentGroupID\": 2163\n  }, \n  \"2176\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energieneutralisierer\", \n    \"name_en-us\": \"Energy Neutralizers\", \n    \"name_es\": \"Neutralizadores energéticos\", \n    \"name_fr\": \"Neutraliseurs d'énergie\", \n    \"name_it\": \"Energy Neutralizers\", \n    \"name_ja\": \"エネルギーニュートライザー\", \n    \"name_ko\": \"에너지 뉴트럴라이저\", \n    \"name_ru\": \"Дистанционные нейтрализаторы заряда\", \n    \"name_zh\": \"能量中和器\", \n    \"nameID\": 311977, \n    \"parentGroupID\": 2163\n  }, \n  \"2177\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Reaktorkontrolleinheiten\", \n    \"name_en-us\": \"Reactor Control Units\", \n    \"name_es\": \"Unidades de control de reactor\", \n    \"name_fr\": \"Unités de contrôle de réacteur\", \n    \"name_it\": \"Reactor Control Units\", \n    \"name_ja\": \"リアクター制御装置\", \n    \"name_ko\": \"반응로 제어유닛\", \n    \"name_ru\": \"Системы управления реактором\", \n    \"name_zh\": \"反应堆控制单元\", \n    \"nameID\": 311978, \n    \"parentGroupID\": 2163\n  }, \n  \"2178\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Lenkwaffenwerfer\", \n    \"name_en-us\": \"Missile Launchers\", \n    \"name_es\": \"Lanzamisiles\", \n    \"name_fr\": \"Lance-missiles\", \n    \"name_it\": \"Missile Launchers\", \n    \"name_ja\": \"ミサイルランチャー\", \n    \"name_ko\": \"미사일 런처\", \n    \"name_ru\": \"Пусковые установки\", \n    \"name_zh\": \"导弹发射器\", \n    \"nameID\": 311979, \n    \"parentGroupID\": 2164\n  }, \n  \"2179\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Waffenverbesserungen\", \n    \"name_en-us\": \"Weapon Upgrades\", \n    \"name_es\": \"Mejoras de armas\", \n    \"name_fr\": \"Améliorations de l'armement\", \n    \"name_it\": \"Weapon Upgrades\", \n    \"name_ja\": \"兵器のアップグレード\", \n    \"name_ko\": \"무기 업그레이드\", \n    \"name_ru\": \"Улучшения систем вооружения\", \n    \"name_zh\": \"武器升级件\", \n    \"nameID\": 311980, \n    \"parentGroupID\": 2164\n  }, \n  \"2180\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Doomsday-Waffen\", \n    \"name_en-us\": \"Doomsday Devices\", \n    \"name_es\": \"Dispositivos apocalípticos\", \n    \"name_fr\": \"Armes d’annihilation\", \n    \"name_it\": \"Doomsday Devices\", \n    \"name_ja\": \"ドゥームズデイ装置\", \n    \"name_ko\": \"둠스데이 무기\", \n    \"name_ru\": \"Орудия Судного дня\", \n    \"name_zh\": \"末日武器装置\", \n    \"nameID\": 311981, \n    \"parentGroupID\": 2164\n  }, \n  \"2181\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Zitadellen-Dienstmodule\", \n    \"name_en-us\": \"Citadel Service Modules\", \n    \"name_es\": \"Módulos de servicio de ciudadela\", \n    \"name_fr\": \"Modules de service Citadelle\", \n    \"name_it\": \"Citadel Service Modules\", \n    \"name_ja\": \"城塞サービスモジュール\", \n    \"name_ko\": \"시타델\", \n    \"name_ru\": \"Служебные модули цитадели\", \n    \"name_zh\": \"堡垒服务装备\", \n    \"nameID\": 311982, \n    \"parentGroupID\": 2166\n  }, \n  \"2182\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Ressourcenverarbeitung-Dienstmodule\", \n    \"name_en-us\": \"Resource Processing Service Modules\", \n    \"name_es\": \"Módulos de servicio de procesamiento de recursos\", \n    \"name_fr\": \"Modules de service de traitement des ressources\", \n    \"name_it\": \"Resource Processing Service Modules\", \n    \"name_ja\": \"再処理サービスモジュール\", \n    \"name_ko\": \"자원 정제 시설\", \n    \"name_ru\": \"Служебные модули переработки ресурсов\", \n    \"name_zh\": \"资源提炼服务装备\", \n    \"nameID\": 311983, \n    \"parentGroupID\": 2166\n  }, \n  \"2183\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Struktur-Anticapital-Werfer\", \n    \"name_en-us\": \"Structure Anticapital Launcher\", \n    \"name_es\": \"Lanzamisiles anticapitales para estructuras\", \n    \"name_fr\": \"Lanceur de missiles anticapitaux (Structure)\", \n    \"name_it\": \"Structure Anticapital Launcher\", \n    \"name_ja\": \"ストラクチャ ― 対母艦ランチャー\", \n    \"name_ko\": \"스탠드업 대 캐피탈 런처\", \n    \"name_ru\": \"ПУ сооружений против КБТ\", \n    \"name_zh\": \"建筑反旗舰发射器\", \n    \"nameID\": 311984, \n    \"parentGroupID\": 2178\n  }, \n  \"2184\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Struktur-Antisubcapital-Werfer\", \n    \"name_en-us\": \"Structure Antisubcapital Launcher\", \n    \"name_es\": \"Lanzamisiles antisubcapitales para estructuras\", \n    \"name_fr\": \"Lanceur de missiles anti sous-capitaux (Structure)\", \n    \"name_it\": \"Structure Antisubcapital Launcher\", \n    \"name_ja\": \"ストラクチャ ― 対準母艦ランチャー\", \n    \"name_ko\": \"스탠드업 대 서브캐피탈 런처\", \n    \"name_ru\": \"ПУ сооружений против кораблей стандартного тоннажа\", \n    \"name_zh\": \"建筑反非旗舰发射器\", \n    \"nameID\": 311985, \n    \"parentGroupID\": 2178\n  }, \n  \"2185\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Lenkbombenwerfer\", \n    \"name_en-us\": \"Guided Bomb Launchers\", \n    \"name_es\": \"Lanzabombas guiadas\", \n    \"name_fr\": \"Lanceurs de bombe ciblée\", \n    \"name_it\": \"Guided Bomb Launchers\", \n    \"name_ja\": \"誘導爆弾ランチャー\", \n    \"name_ko\": \"유도 폭탄 런처\", \n    \"name_ru\": \"Бомбомёты с системами наведения\", \n    \"name_zh\": \"制导炸弹发射器\", \n    \"nameID\": 311986, \n    \"parentGroupID\": 2164\n  }, \n  \"2186\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Verteidigungsbatterien\", \n    \"name_en-us\": \"Point Defense Batteries\", \n    \"name_es\": \"Baterías de defensa de puntos\", \n    \"name_fr\": \"Batteries de défense ciblée\", \n    \"name_it\": \"Point Defense Batteries\", \n    \"name_ja\": \"地点防衛バッテリー\", \n    \"name_ko\": \"거점 방어 포대\", \n    \"name_ru\": \"Системы точечной обороны\", \n    \"name_zh\": \"定点防卫炮塔\", \n    \"nameID\": 311987, \n    \"parentGroupID\": 2163\n  }, \n  \"2187\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schiff-Traktorstrahlen\", \n    \"name_en-us\": \"Ship Tractor Beams\", \n    \"name_es\": \"Rayos tractores para naves\", \n    \"name_fr\": \"Rayons de tractage de vaisseau\", \n    \"name_it\": \"Ship Tractor Beams\", \n    \"name_ja\": \"艦船トラクタービーム\", \n    \"name_ko\": \"함선 트랙터 빔\", \n    \"name_ru\": \"Боевые гравизахваты\", \n    \"name_zh\": \"舰船牵引光束\", \n    \"nameID\": 311988, \n    \"parentGroupID\": 2162\n  }, \n  \"2188\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Energiespeicher-Stromrelais\", \n    \"name_en-us\": \"Capacitor Power Relays\", \n    \"name_es\": \"Relés de potencia de condensador\", \n    \"name_fr\": \"Relais de puissance du capaciteur\", \n    \"name_it\": \"Capacitor Power Relays\", \n    \"name_ja\": \"リパルサーフィールド\", \n    \"name_ko\": \"캐패시터 릴레이\", \n    \"name_ru\": \"Силовые реле накопителя\", \n    \"name_zh\": \"电容能源继电器\", \n    \"nameID\": 311989, \n    \"parentGroupID\": 2163\n  }, \n  \"2189\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Ballistikkontrollsysteme\", \n    \"name_en-us\": \"Ballistic Control Systems\", \n    \"name_es\": \"Sistemas de control balístico\", \n    \"name_fr\": \"Systèmes de contrôle balistique\", \n    \"name_it\": \"Ballistic Control Systems\", \n    \"name_ja\": \"弾道制御システム\", \n    \"name_ko\": \"탄도 제어시스템\", \n    \"name_ru\": \"Приборы контроля траектории\", \n    \"name_zh\": \"弹道控制系统\", \n    \"nameID\": 311990, \n    \"parentGroupID\": 2179\n  }, \n  \"2190\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Lenkwaffen-Leitverbesserungen\", \n    \"name_en-us\": \"Missile Guidance Enhancers\", \n    \"name_es\": \"Intensificadores de guiado de misiles\", \n    \"name_fr\": \"Optimisateurs de guidage des missiles\", \n    \"name_it\": \"Missile Guidance Enhancers\", \n    \"name_ja\": \"ミサイル誘導エンハンサー\", \n    \"name_ko\": \"미사일 유도 향상장치\", \n    \"name_ru\": \"Корректоры траекторий ракет\", \n    \"name_zh\": \"导弹制导增强器\", \n    \"nameID\": 311991, \n    \"parentGroupID\": 2179\n  }, \n  \"2191\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Struktur-Anticapital-Lenkwaffen\", \n    \"name_en-us\": \"Structure Anticapital Missiles\", \n    \"name_es\": \"Misiles anticapitales para estructuras\", \n    \"name_fr\": \"Missiles anticapitaux (Structure)\", \n    \"name_it\": \"Structure Anticapital Missiles\", \n    \"name_ja\": \"ストラクチャ ― 対母艦ミサイル\", \n    \"name_ko\": \"스탠드업 대 캐피탈 미사일\", \n    \"name_ru\": \"Ракеты сооружений против КБТ\", \n    \"name_zh\": \"建筑反旗舰导弹\", \n    \"nameID\": 311992, \n    \"parentGroupID\": 314\n  }, \n  \"2192\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Struktur-Antisubcapital-Lenkwaffen\", \n    \"name_en-us\": \"Structure Antisubcapital Missiles\", \n    \"name_es\": \"Misiles antisubcapitales para estructuras\", \n    \"name_fr\": \"Missiles anti sous-capitaux (Structure)\", \n    \"name_it\": \"Structure Antisubcapital Missiles\", \n    \"name_ja\": \"ストラクチャ ― 対準母艦ミサイル\", \n    \"name_ko\": \"스탠드업 대 서브캐피탈 미사일\", \n    \"name_ru\": \"Ракеты сооружений против кораблей стандартного тоннажа\", \n    \"name_zh\": \"建筑反非旗舰导弹\", \n    \"nameID\": 311993, \n    \"parentGroupID\": 314\n  }, \n  \"2193\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Struktur-Lenkbomben\", \n    \"name_en-us\": \"Structure Guided Bombs\", \n    \"name_es\": \"Bombas guiadas para estructuras\", \n    \"name_fr\": \"Bombe guidée (Structure)\", \n    \"name_it\": \"Structure Guided Bombs\", \n    \"name_ja\": \"ストラクチャ ― 誘導爆弾\", \n    \"name_ko\": \"스탠드업 유도 폭탄\", \n    \"name_ru\": \"Бомбы сооружений с системами наведения\", \n    \"name_zh\": \"建筑制导炸弹\", \n    \"nameID\": 311994, \n    \"parentGroupID\": 211\n  }, \n  \"2196\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21568, \n    \"name_de\": \"Struktur-Antisubcapital-Lenkwaffen\", \n    \"name_en-us\": \"Structure Antisubcapital Missiles\", \n    \"name_es\": \"Misiles antisubcapitales para estructuras\", \n    \"name_fr\": \"Missiles anti sous-capitaux (Structure)\", \n    \"name_it\": \"Structure Antisubcapital Missiles\", \n    \"name_ja\": \"ストラクチャ ― 対準母艦ミサイル\", \n    \"name_ko\": \"스탠드업 대 서브캐피탈 미사일\", \n    \"name_ru\": \"Ракеты сооружений против кораблей стандартного тоннажа\", \n    \"name_zh\": \"建筑反非旗舰导弹\", \n    \"nameID\": 311995, \n    \"parentGroupID\": 114\n  }, \n  \"2197\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21567, \n    \"name_de\": \"Struktur-Anticapital-Lenkwaffen\", \n    \"name_en-us\": \"Structure Anticapital Missiles\", \n    \"name_es\": \"Misiles anticapitales para estructuras\", \n    \"name_fr\": \"Missiles anticapitaux (Structure)\", \n    \"name_it\": \"Structure Anticapital Missiles\", \n    \"name_ja\": \"ストラクチャ ― 対母艦ミサイル\", \n    \"name_ko\": \"스탠드업 대 캐피탈 미사일\", \n    \"name_ru\": \"Ракеты сооружений против КБТ\", \n    \"name_zh\": \"建筑反旗舰导弹\", \n    \"nameID\": 311996, \n    \"parentGroupID\": 114\n  }, \n  \"2198\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21569, \n    \"name_de\": \"Struktur-Lenkbomben\", \n    \"name_en-us\": \"Structure Guided Bombs\", \n    \"name_es\": \"Bombas guiadas para estructuras\", \n    \"name_fr\": \"Bombes guidées (Structure)\", \n    \"name_it\": \"Structure Guided Bombs\", \n    \"name_ja\": \"ストラクチャ ― 誘導爆弾\", \n    \"name_ko\": \"스탠드업 유도 폭탄\", \n    \"name_ru\": \"Бомбы сооружений с системами наведения\", \n    \"name_zh\": \"建筑制导炸弹\", \n    \"nameID\": 311997, \n    \"parentGroupID\": 11\n  }, \n  \"2199\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2222, \n    \"name_de\": \"Zitadellen\", \n    \"name_en-us\": \"Citadels\", \n    \"name_es\": \"Ciudadelas\", \n    \"name_fr\": \"Citadelles\", \n    \"name_it\": \"Citadels\", \n    \"name_ja\": \"城塞\", \n    \"name_ko\": \"시타델\", \n    \"name_ru\": \"Цитадели\", \n    \"name_zh\": \"堡垒\", \n    \"nameID\": 311998, \n    \"parentGroupID\": 477\n  }, \n  \"2200\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Fraktionszitadellen\", \n    \"name_en-us\": \"Faction Citadels\", \n    \"name_es\": \"Ciudadelas faccionarias\", \n    \"name_fr\": \"Citadelles de faction\", \n    \"name_it\": \"Faction Citadels\", \n    \"name_ja\": \"ファクションの城塞\", \n    \"name_ko\": \"팩션\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力堡垒\", \n    \"nameID\": 311999, \n    \"parentGroupID\": 2199\n  }, \n  \"2201\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Standard-Zitadellen\", \n    \"name_en-us\": \"Standard Citadels\", \n    \"name_es\": \"Ciudadelas estándar\", \n    \"name_fr\": \"Citadelles standard\", \n    \"name_it\": \"Standard Citadels\", \n    \"name_ja\": \"標準的な城塞\", \n    \"name_ko\": \"일반\", \n    \"name_ru\": \"Типовые цитадели\", \n    \"name_zh\": \"标准堡垒\", \n    \"nameID\": 312000, \n    \"parentGroupID\": 2199\n  }, \n  \"2202\": {\n    \"description_de\": \"Module, die Funktionen für Strukturen bieten\", \n    \"description_en-us\": \"Modules that provide functionality to Structures\", \n    \"description_es\": \"Módulos que proporcionan funcionalidad a estructuras.\", \n    \"description_fr\": \"Modules offrant diverses fonctionnalités aux structures.\", \n    \"description_it\": \"Modules that provide functionality to Structures\", \n    \"description_ja\": \"ストラクチャに様々な機能を与えるモジュール\", \n    \"description_ko\": \"스탠드업 구조물에 각종 기능을 추가합니다.\", \n    \"description_ru\": \"Модули, расширяющие ассортимент возможностей, обеспечиваемых сооружениями\", \n    \"description_zh\": \"为建筑提供功能的装备\", \n    \"descriptionID\": 315541, \n    \"hasTypes\": 0, \n    \"iconID\": 21561, \n    \"name_de\": \"Strukturausrüstung\", \n    \"name_en-us\": \"Structure Equipment\", \n    \"name_es\": \"Equipo para estructuras\", \n    \"name_fr\": \"Équipement de structure\", \n    \"name_it\": \"Structure Equipment\", \n    \"name_ja\": \"ストラクチャ設備\", \n    \"name_ko\": \"구조물 모듈\", \n    \"name_ru\": \"Оборудование сооружений\", \n    \"name_zh\": \"建筑装备\", \n    \"nameID\": 312001\n  }, \n  \"2203\": {\n    \"description_de\": \"Modifikationen, welche die Funktionalität in Strukturen verbessern\", \n    \"description_en-us\": \"Rigs that improve functionality in Structures\", \n    \"description_es\": \"Complementos que mejoran la funcionalidad de las estructuras.\", \n    \"description_fr\": \"Modules d'optimisation permettant d'améliorer la fonctionnalité des structures.\", \n    \"description_it\": \"Rigs that improve functionality in Structures\", \n    \"description_ja\": \"ストラクチャの機能を強化するリグ\", \n    \"description_ko\": \"스탠드업 구조물의 성능을 향상하는 리그입니다.\", \n    \"description_ru\": \"Тюнинг-модули, повышающие эффективность сооружений\", \n    \"description_zh\": \"增强建筑功能性的改装件\", \n    \"descriptionID\": 315547, \n    \"hasTypes\": 0, \n    \"iconID\": 2887, \n    \"name_de\": \"Strukturmodifikationen\", \n    \"name_en-us\": \"Structure Modifications\", \n    \"name_es\": \"Modificaciones para estructuras\", \n    \"name_fr\": \"Modifications de structure\", \n    \"name_it\": \"Structure Modifications\", \n    \"name_ja\": \"ストラクチャ改良品\", \n    \"name_ko\": \"구조물 리그\", \n    \"name_ru\": \"Модификации сооружений\", \n    \"name_zh\": \"建筑改装件\", \n    \"nameID\": 312002\n  }, \n  \"2204\": {\n    \"description_de\": \"Struktur: Aufbereitungs- und Reaktionsmodifikationen\", \n    \"description_en-us\": \"Structure Reprocessing and Reaction Rigs\", \n    \"description_es\": \"Complementos de reacción y reprocesamiento de estructuras.\", \n    \"description_fr\": \"Optimisations de retraitement et de réaction (structure)\", \n    \"description_it\": \"Structure Reprocessing and Reaction Rigs\", \n    \"description_ja\": \"ストラクチャ再処理リグ\", \n    \"description_ko\": \"스탠드업 구조물 정제 및 반응로 리그입니다.\", \n    \"description_ru\": \"Надстройки для сооружение — переработка и реакции\", \n    \"description_zh\": \"建筑提炼和反应改装件\", \n    \"descriptionID\": 315465, \n    \"hasTypes\": 0, \n    \"iconID\": 21602, \n    \"name_de\": \"Struktur: Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Structure Resource Processing Rigs\", \n    \"name_es\": \"Complementos de procesamiento de recursos para estructuras\", \n    \"name_fr\": \"Optimisations de traitement des ressources (structure)\", \n    \"name_it\": \"Structure Resource Processing Rigs\", \n    \"name_ja\": \"ストラクチャ再処理リグ\", \n    \"name_ko\": \"자원 정제 리그\", \n    \"name_ru\": \"Надстройки для сооружений — переработка ресурсов\", \n    \"name_zh\": \"建筑资源提炼改装件\", \n    \"nameID\": 312003, \n    \"parentGroupID\": 2203\n  }, \n  \"2205\": {\n    \"description_de\": \"Struktur: Kampfmodifikation\", \n    \"description_en-us\": \"Structure Combat Rigs\", \n    \"description_es\": \"Complementos de combate para estructuras\", \n    \"description_fr\": \"Structure Combat Rigs\", \n    \"description_it\": \"Structure Combat Rigs\", \n    \"description_ja\": \"ストラクチャ ― コンバットリグ\", \n    \"description_ko\": \"전투 리그\", \n    \"description_ru\": \"Боевые тюнинг-модули\", \n    \"description_zh\": \"建筑战斗改装件\", \n    \"descriptionID\": 312184, \n    \"hasTypes\": 0, \n    \"iconID\": 21599, \n    \"name_de\": \"Struktur-Kampfmodifikationen\", \n    \"name_en-us\": \"Structure Combat Rigs\", \n    \"name_es\": \"Complementos de combate para estructuras\", \n    \"name_fr\": \"Structure Combat Rigs\", \n    \"name_it\": \"Structure Combat Rigs\", \n    \"name_ja\": \"ストラクチャ ― コンバットリグ\", \n    \"name_ko\": \"전투 리그\", \n    \"name_ru\": \"Боевые модификаторы\", \n    \"name_zh\": \"建筑战斗改装件\", \n    \"nameID\": 312004, \n    \"parentGroupID\": 2203\n  }, \n  \"2206\": {\n    \"hasTypes\": 0, \n    \"iconID\": 111, \n    \"name_de\": \"Elektronische Kriegsführung\", \n    \"name_en-us\": \"Electronic Warfare\", \n    \"name_es\": \"Guerra electrónica\", \n    \"name_fr\": \"Guerre électronique\", \n    \"name_it\": \"Electronic Warfare\", \n    \"name_ja\": \"電子戦\", \n    \"name_ko\": \"전자전 장비\", \n    \"name_ru\": \"Системы РЭБ\", \n    \"name_zh\": \"电子战\", \n    \"nameID\": 312005, \n    \"parentGroupID\": 2202\n  }, \n  \"2207\": {\n    \"hasTypes\": 0, \n    \"iconID\": 104, \n    \"name_de\": \"Elektronik- & Sensorupgrades\", \n    \"name_en-us\": \"Electronics and Sensor Upgrades\", \n    \"name_es\": \"Mejoras electrónicas y de sensores\", \n    \"name_fr\": \"Améliorations des détecteurs et de l'électronique\", \n    \"name_it\": \"Electronics and Sensor Upgrades\", \n    \"name_ja\": \"電子システムおよびセンサーのアップグレード\", \n    \"name_ko\": \"전자기기 및 센서 업그레이드\", \n    \"name_ru\": \"Улучшения сенсоров и электронных систем\", \n    \"name_zh\": \"电子学和感应器升级件\", \n    \"nameID\": 312006, \n    \"parentGroupID\": 2202\n  }, \n  \"2208\": {\n    \"hasTypes\": 0, \n    \"iconID\": 70, \n    \"name_de\": \"Ausrüstung für Ingenieurwesen\", \n    \"name_en-us\": \"Engineering Equipment\", \n    \"name_es\": \"Equipo de ingeniería\", \n    \"name_fr\": \"Équipement d'ingénierie\", \n    \"name_it\": \"Engineering Equipment\", \n    \"name_ja\": \"光学装置\", \n    \"name_ko\": \"엔지니어링 장비\", \n    \"name_ru\": \"Инженерное оборудование\", \n    \"name_zh\": \"工程装备\", \n    \"nameID\": 312007, \n    \"parentGroupID\": 2202\n  }, \n  \"2209\": {\n    \"hasTypes\": 0, \n    \"iconID\": 365, \n    \"name_de\": \"Strukturwaffen\", \n    \"name_en-us\": \"Structure Weapons\", \n    \"name_es\": \"Armas para estructuras\", \n    \"name_fr\": \"Structure Weapons\", \n    \"name_it\": \"Structure Weapons\", \n    \"name_ja\": \"ストラクチャ兵器\", \n    \"name_ko\": \"구조물 무기\", \n    \"name_ru\": \"Вооружение\", \n    \"name_zh\": \"建筑武器\", \n    \"nameID\": 312008, \n    \"parentGroupID\": 2202\n  }, \n  \"2210\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21596, \n    \"name_de\": \"Dienstmodule\", \n    \"name_en-us\": \"Service Modules\", \n    \"name_es\": \"Módulos de servicio\", \n    \"name_fr\": \"Modules de service :\", \n    \"name_it\": \"Service Modules\", \n    \"name_ja\": \"サービスモジュール\", \n    \"name_ko\": \"서비스 모듈\", \n    \"name_ru\": \"Служебные модули\", \n    \"name_zh\": \"服务装备\", \n    \"nameID\": 312009, \n    \"parentGroupID\": 2202\n  }, \n  \"2211\": {\n    \"hasTypes\": 1, \n    \"iconID\": 109, \n    \"name_de\": \"Elektronische Gegenmaßnahmen\", \n    \"name_en-us\": \"Electronic Counter Measures\", \n    \"name_es\": \"Contramedidas electrónicas\", \n    \"name_fr\": \"Contremesures électroniques\", \n    \"name_it\": \"Electronic Counter Measures\", \n    \"name_ja\": \"反撃用電子装置\", \n    \"name_ko\": \"ECM\", \n    \"name_ru\": \"Модули глушения захвата целей\", \n    \"name_zh\": \"ECM\", \n    \"nameID\": 312010, \n    \"parentGroupID\": 2206\n  }, \n  \"2212\": {\n    \"hasTypes\": 1, \n    \"iconID\": 105, \n    \"name_de\": \"Sensorferndämpfer\", \n    \"name_en-us\": \"Remote Sensor Dampeners\", \n    \"name_es\": \"Atenuadores de sensor remotos\", \n    \"name_fr\": \"Atténuateurs de détection à distance\", \n    \"name_it\": \"Remote Sensor Dampeners\", \n    \"name_ja\": \"リモートセンサーダンプナー\", \n    \"name_ko\": \"원격 센서 댐프너\", \n    \"name_ru\": \"Модули подавления захвата целей\", \n    \"name_zh\": \"远程感应抑阻器\", \n    \"nameID\": 312011, \n    \"parentGroupID\": 2206\n  }, \n  \"2213\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1284, \n    \"name_de\": \"Stasisnetze\", \n    \"name_en-us\": \"Stasis Webifiers\", \n    \"name_es\": \"Redes ralentizadoras\", \n    \"name_fr\": \"Générateurs de stase\", \n    \"name_it\": \"Stasis Webifiers\", \n    \"name_ja\": \"ステイシスウェビファイヤー\", \n    \"name_ko\": \"스테이시스 웹 생성기\", \n    \"name_ru\": \"Стазис-индукторы\", \n    \"name_zh\": \"停滞缠绕光束\", \n    \"nameID\": 312012, \n    \"parentGroupID\": 2206\n  }, \n  \"2214\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2983, \n    \"name_de\": \"Zielmarkierung\", \n    \"name_en-us\": \"Target Painters\", \n    \"name_es\": \"Reveladores de objetivo\", \n    \"name_fr\": \"Marqueurs de cible\", \n    \"name_it\": \"Target Painters\", \n    \"name_ja\": \"ターゲットぺインター\", \n    \"name_ko\": \"타겟 페인터\", \n    \"name_ru\": \"Системы подсветки целей\", \n    \"name_zh\": \"目标标记装置\", \n    \"nameID\": 312013, \n    \"parentGroupID\": 2206\n  }, \n  \"2215\": {\n    \"description_de\": \"Waffenstörer\", \n    \"description_en-us\": \"Weapon Disruptors\", \n    \"description_es\": \"Disruptores de armas.\", \n    \"description_fr\": \"Perturbateurs d'armement\", \n    \"description_it\": \"Weapon Disruptors\", \n    \"description_ja\": \"兵器妨害器\", \n    \"description_ko\": \"무기 디스럽터\", \n    \"description_ru\": \"Подавители оружия\", \n    \"description_zh\": \"武器扰断器\", \n    \"descriptionID\": 317007, \n    \"hasTypes\": 1, \n    \"iconID\": 1639, \n    \"name_de\": \"Waffenstörer\", \n    \"name_en-us\": \"Weapon Disruptors\", \n    \"name_es\": \"Disruptores de armas\", \n    \"name_fr\": \"Perturbateurs d'armement\", \n    \"name_it\": \"Weapon Disruptors\", \n    \"name_ja\": \"トラッキング妨害器\", \n    \"name_ko\": \"무기 디스럽터\", \n    \"name_ru\": \"Подавители оружия\", \n    \"name_zh\": \"武器扰断器\", \n    \"nameID\": 312014, \n    \"parentGroupID\": 2206\n  }, \n  \"2216\": {\n    \"hasTypes\": 1, \n    \"iconID\": 111, \n    \"name_de\": \"Warpstörer\", \n    \"name_en-us\": \"Warp Disruptors\", \n    \"name_es\": \"Disruptores de warp\", \n    \"name_fr\": \"Perturbateurs de warp\", \n    \"name_it\": \"Warp Disruptors\", \n    \"name_ja\": \"ワープスクランブラー\", \n    \"name_ko\": \"워프 디스럽터\", \n    \"name_ru\": \"Варп-подавители\", \n    \"name_zh\": \"跃迁扰断器\", \n    \"nameID\": 312015, \n    \"parentGroupID\": 2206\n  }, \n  \"2218\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1405, \n    \"name_de\": \"CPU-Upgrades\", \n    \"name_en-us\": \"CPU Upgrades\", \n    \"name_es\": \"Mejoras de CPU\", \n    \"name_fr\": \"Améliorations de CPU\", \n    \"name_it\": \"CPU Upgrades\", \n    \"name_ja\": \"CPUのアップグレード\", \n    \"name_ko\": \"CPU 업그레이드\", \n    \"name_ru\": \"Улучшения ЦПУ\", \n    \"name_zh\": \"CPU升级件\", \n    \"nameID\": 312017, \n    \"parentGroupID\": 2207\n  }, \n  \"2219\": {\n    \"hasTypes\": 1, \n    \"iconID\": 104, \n    \"name_de\": \"Signalverstärker\", \n    \"name_en-us\": \"Signal Amplifiers\", \n    \"name_es\": \"Amplificadores de señal\", \n    \"name_fr\": \"Amplificateurs de signal\", \n    \"name_it\": \"Signal Amplifiers\", \n    \"name_ja\": \"シグナル増幅器\", \n    \"name_ko\": \"신호 증폭기\", \n    \"name_ru\": \"Усилители сигнала\", \n    \"name_zh\": \"信号放大器\", \n    \"nameID\": 312018, \n    \"parentGroupID\": 2207\n  }, \n  \"2220\": {\n    \"hasTypes\": 1, \n    \"iconID\": 26455, \n    \"name_de\": \"Energiespeicher-Stromrelais\", \n    \"name_en-us\": \"Capacitor Power Relays\", \n    \"name_es\": \"Relés de potencia de condensador\", \n    \"name_fr\": \"Relais de puissance du capaciteur\", \n    \"name_it\": \"Capacitor Power Relays\", \n    \"name_ja\": \"リパルサーフィールド\", \n    \"name_ko\": \"캐패시터 릴레이\", \n    \"name_ru\": \"Силовые реле накопителя\", \n    \"name_zh\": \"电容能源继电器\", \n    \"nameID\": 312019, \n    \"parentGroupID\": 2208\n  }, \n  \"2221\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21561, \n    \"name_de\": \"Verteidigungsbatterien\", \n    \"name_en-us\": \"Point Defense Batteries\", \n    \"name_es\": \"Baterías de defensa de puntos\", \n    \"name_fr\": \"Batteries de défense ciblée\", \n    \"name_it\": \"Point Defense Batteries\", \n    \"name_ja\": \"地点防衛バッテリー\", \n    \"name_ko\": \"거점 방어 포대\", \n    \"name_ru\": \"Системы точечной обороны\", \n    \"name_zh\": \"定点防卫炮塔\", \n    \"nameID\": 312020, \n    \"parentGroupID\": 2208\n  }, \n  \"2222\": {\n    \"hasTypes\": 1, \n    \"iconID\": 26547, \n    \"name_de\": \"Reaktorkontrolleinheiten\", \n    \"name_en-us\": \"Reactor Control Units\", \n    \"name_es\": \"Unidades de control de reactor\", \n    \"name_fr\": \"Unités de contrôle de réacteur\", \n    \"name_it\": \"Reactor Control Units\", \n    \"name_ja\": \"リアクター制御装置\", \n    \"name_ko\": \"반응로 제어유닛\", \n    \"name_ru\": \"Системы управления реактором\", \n    \"name_zh\": \"反应堆控制单元\", \n    \"nameID\": 312021, \n    \"parentGroupID\": 2208\n  }, \n  \"2223\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1283, \n    \"name_de\": \"Energieneutralisierer\", \n    \"name_en-us\": \"Energy Neutralizers\", \n    \"name_es\": \"Neutralizadores energéticos\", \n    \"name_fr\": \"Neutraliseurs d'énergie\", \n    \"name_it\": \"Energy Neutralizers\", \n    \"name_ja\": \"エネルギーニュートライザー\", \n    \"name_ko\": \"에너지 뉴트럴라이저\", \n    \"name_ru\": \"Дистанционные нейтрализаторы заряда\", \n    \"name_zh\": \"能量中和器\", \n    \"nameID\": 312022, \n    \"parentGroupID\": 2208\n  }, \n  \"2224\": {\n    \"hasTypes\": 1, \n    \"iconID\": 89, \n    \"name_de\": \"Energiespeicher-Batterien\", \n    \"name_en-us\": \"Capacitor Batteries\", \n    \"name_es\": \"Baterías de condensador\", \n    \"name_fr\": \"Batteries de capaciteur\", \n    \"name_it\": \"Capacitor Batteries\", \n    \"name_ja\": \"キャパシタブースター\", \n    \"name_ko\": \"캐패시터 배터리\", \n    \"name_ru\": \"Накопительные батареи\", \n    \"name_zh\": \"电容电池\", \n    \"nameID\": 312023, \n    \"parentGroupID\": 2208\n  }, \n  \"2226\": {\n    \"hasTypes\": 0, \n    \"iconID\": 168, \n    \"name_de\": \"Lenkwaffenwerfer\", \n    \"name_en-us\": \"Missile Launchers\", \n    \"name_es\": \"Lanzamisiles\", \n    \"name_fr\": \"Lance-missiles\", \n    \"name_it\": \"Missile Launchers\", \n    \"name_ja\": \"ミサイルランチャー\", \n    \"name_ko\": \"미사일 런처\", \n    \"name_ru\": \"Пусковые установки\", \n    \"name_zh\": \"导弹发射器\", \n    \"nameID\": 312025, \n    \"parentGroupID\": 2209\n  }, \n  \"2227\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21440, \n    \"name_de\": \"Waffenverbesserungen\", \n    \"name_en-us\": \"Weapon Upgrades\", \n    \"name_es\": \"Mejoras de armas\", \n    \"name_fr\": \"Améliorations de l'armement\", \n    \"name_it\": \"Weapon Upgrades\", \n    \"name_ja\": \"兵器のアップグレード\", \n    \"name_ko\": \"무기 업그레이드\", \n    \"name_ru\": \"Улучшения систем вооружения\", \n    \"name_zh\": \"武器升级件\", \n    \"nameID\": 312026, \n    \"parentGroupID\": 2209\n  }, \n  \"2228\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2934, \n    \"name_de\": \"Doomsday-Waffen\", \n    \"name_en-us\": \"Doomsday Devices\", \n    \"name_es\": \"Dispositivos apocalípticos\", \n    \"name_fr\": \"Armes d’annihilation\", \n    \"name_it\": \"Doomsday Devices\", \n    \"name_ja\": \"ドゥームズデイ装置\", \n    \"name_ko\": \"둠스데이 무기\", \n    \"name_ru\": \"Орудия Судного дня\", \n    \"name_zh\": \"末日武器装置\", \n    \"nameID\": 312027, \n    \"parentGroupID\": 2209\n  }, \n  \"2229\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21564, \n    \"name_de\": \"Lenkbombenwerfer\", \n    \"name_en-us\": \"Guided Bomb Launchers\", \n    \"name_es\": \"Lanzabombas guiado\", \n    \"name_fr\": \"Lanceurs de bombe ciblée\", \n    \"name_it\": \"Guided Bomb Launchers\", \n    \"name_ja\": \"誘導爆弾ランチャー\", \n    \"name_ko\": \"유도 폭탄 런처\", \n    \"name_ru\": \"Бомбомёты с системами наведения\", \n    \"name_zh\": \"制导炸弹发射器\", \n    \"nameID\": 312028, \n    \"parentGroupID\": 2209\n  }, \n  \"2230\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21565, \n    \"name_de\": \"Structure Anticapital Launcher\", \n    \"name_en-us\": \"Structure Anticapital Launcher\", \n    \"name_es\": \"Lanzamisiles anticapitales para estructuras\", \n    \"name_fr\": \"Lanceur de missiles anticapitaux (Structure)\", \n    \"name_it\": \"Structure Anticapital Launcher\", \n    \"name_ja\": \"ストラクチャ ― 対母艦ランチャー\", \n    \"name_ko\": \"스탠드업 대 캐피탈 런처\", \n    \"name_ru\": \"ПУ сооружений против КБТ\", \n    \"name_zh\": \"建筑反旗舰发射器\", \n    \"nameID\": 312029, \n    \"parentGroupID\": 2226\n  }, \n  \"2231\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21566, \n    \"name_de\": \"Struktur-Antisubcapital-Werfer\", \n    \"name_en-us\": \"Structure Antisubcapital Launcher\", \n    \"name_es\": \"Lanzamisiles antisubcapitales para estructuras\", \n    \"name_fr\": \"Lanceur de missiles anti sous-capitaux (Structure)\", \n    \"name_it\": \"Structure Antisubcapital Launcher\", \n    \"name_ja\": \"ストラクチャ ― 対準母艦ランチャー\", \n    \"name_ko\": \"스탠드업 대 서브캐피탈 런처\", \n    \"name_ru\": \"ПУ сооружений против кораблей стандартного тоннажа\", \n    \"name_zh\": \"建筑反非旗舰发射器\", \n    \"nameID\": 312030, \n    \"parentGroupID\": 2226\n  }, \n  \"2232\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21596, \n    \"name_de\": \"Zitadellen-Dienstmodule\", \n    \"name_en-us\": \"Citadel Service Modules\", \n    \"name_es\": \"Módulos de servicio de ciudadela\", \n    \"name_fr\": \"Modules de service Citadelle\", \n    \"name_it\": \"Citadel Service Modules\", \n    \"name_ja\": \"城塞サービスモジュール\", \n    \"name_ko\": \"시타델\", \n    \"name_ru\": \"Служебные модули цитадели\", \n    \"name_zh\": \"堡垒服务装备\", \n    \"nameID\": 312031, \n    \"parentGroupID\": 2210\n  }, \n  \"2233\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21597, \n    \"name_de\": \"Ressourcenverarbeitung-Dienstmodule\", \n    \"name_en-us\": \"Resource Processing Service Modules\", \n    \"name_es\": \"Módulos de servicio de procesamiento de recursos\", \n    \"name_fr\": \"Modules de service de traitement des ressources\", \n    \"name_it\": \"Resource Processing Service Modules\", \n    \"name_ja\": \"再処理サービスモジュール\", \n    \"name_ko\": \"자원 정제 시설\", \n    \"name_ru\": \"Служебные модули переработки ресурсов\", \n    \"name_zh\": \"资源提炼服务装备\", \n    \"nameID\": 312032, \n    \"parentGroupID\": 2210\n  }, \n  \"2234\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21440, \n    \"name_de\": \"Ballistikkontrollsysteme\", \n    \"name_en-us\": \"Ballistic Control Systems\", \n    \"name_es\": \"Sistemas de control balístico\", \n    \"name_fr\": \"Systèmes de contrôle balistique\", \n    \"name_it\": \"Ballistic Control Systems\", \n    \"name_ja\": \"弾道制御システム\", \n    \"name_ko\": \"탄도 제어시스템\", \n    \"name_ru\": \"Приборы контроля траектории\", \n    \"name_zh\": \"弹道控制系统\", \n    \"nameID\": 312033, \n    \"parentGroupID\": 2227\n  }, \n  \"2235\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21439, \n    \"name_de\": \"Lenkwaffen-Leitverbesserungen\", \n    \"name_en-us\": \"Missile Guidance Enhancers\", \n    \"name_es\": \"Intensificadores de guiado de misiles\", \n    \"name_fr\": \"Optimisateurs de guidage des missiles\", \n    \"name_it\": \"Missile Guidance Enhancers\", \n    \"name_ja\": \"ミサイル誘導エンハンサー\", \n    \"name_ko\": \"미사일 유도 향상장치\", \n    \"name_ru\": \"Корректоры траекторий ракет\", \n    \"name_zh\": \"导弹制导增强器\", \n    \"nameID\": 312034, \n    \"parentGroupID\": 2227\n  }, \n  \"2236\": {\n    \"description_de\": \"Jäger sind kleine Kampfschiffe, die in Staffeln von Capital-Schiffen und Strukturen eingesetzt werden.\", \n    \"description_en-us\": \"Fighters are small combat craft launched in squadrons from Capital Ships and Structures\", \n    \"description_es\": \"Los cazas son pequeñas naves de combate que se lanzan en escuadrones desde naves capitales y estructuras.\", \n    \"description_fr\": \"Les chasseurs sont de petits appareils de combat déployés en escadrons par les vaisseaux capitaux et les structures.\", \n    \"description_it\": \"Fighters are small combat craft launched in squadrons from Capital Ships and Structures\", \n    \"description_ja\": \"主力艦やストラクチャから飛行隊単位で出撃する戦闘機\", \n    \"description_ko\": \"캐피탈 함선 및 스탠드업 구조물에서 운용되는 소형 전투함입니다.\", \n    \"description_ru\": \"Истребители — малотоннажные боевые летательные аппараты, запускаемые в составе отрядов с борта КБТ или сооружений\", \n    \"description_zh\": \"铁骑舰载机是由旗舰和建筑发射的小型战斗飞行器中队\", \n    \"descriptionID\": 315540, \n    \"hasTypes\": 0, \n    \"iconID\": 1084, \n    \"name_de\": \"Jäger\", \n    \"name_en-us\": \"Fighters\", \n    \"name_es\": \"Cazas\", \n    \"name_fr\": \"Chasseurs\", \n    \"name_it\": \"Fighters\", \n    \"name_ja\": \"戦闘機\", \n    \"name_ko\": \"파이터\", \n    \"name_ru\": \"Истребители\", \n    \"name_zh\": \"铁骑舰载机\", \n    \"nameID\": 312035, \n    \"parentGroupID\": 157\n  }, \n  \"2237\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Jäger\", \n    \"name_en-us\": \"Fighters\", \n    \"name_es\": \"Cazas\", \n    \"name_fr\": \"Chasseurs\", \n    \"name_it\": \"Fighters\", \n    \"name_ja\": \"戦闘機\", \n    \"name_ko\": \"파이터\", \n    \"name_ru\": \"Истребители\", \n    \"name_zh\": \"铁骑舰载机\", \n    \"nameID\": 312036, \n    \"parentGroupID\": 357\n  }, \n  \"2238\": {\n    \"description_de\": \"Blaupausen von Unterstützungsjäger-Designs.\", \n    \"description_en-us\": \"Blueprints of support fighter designs.\", \n    \"description_es\": \"Planos de diseños de cazas de apoyo.\", \n    \"description_fr\": \"Plans de construction de modèles de chasseurs de soutien.\", \n    \"description_it\": \"Blueprints of support fighter designs.\", \n    \"description_ja\": \"支援戦闘機のブループリント。\", \n    \"description_ko\": \"서포트 파이터 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи истребителей поддержки.\", \n    \"description_zh\": \"后勤铁骑舰载机设计蓝图。\", \n    \"descriptionID\": 312038, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Unterstützungsjäger\", \n    \"name_en-us\": \"Support Fighters\", \n    \"name_es\": \"Cazas de apoyo\", \n    \"name_fr\": \"Chasseurs de support\", \n    \"name_it\": \"Support Fighters\", \n    \"name_ja\": \"支援戦闘機\", \n    \"name_ko\": \"서포트 파이터\", \n    \"name_ru\": \"Истребители поддержки\", \n    \"name_zh\": \"后勤铁骑舰载机\", \n    \"nameID\": 312037, \n    \"parentGroupID\": 2237\n  }, \n  \"2239\": {\n    \"description_de\": \"Bemannte Kampfschiffe, einsetzbar von Trägerschiffen und Supercarriern.\", \n    \"description_en-us\": \"Piloted combat vessels, deployable from Carriers and Supercarriers.\", \n    \"description_es\": \"Naves de combate tripuladas, desplegables desde portanaves y superportanaves.\", \n    \"description_fr\": \"Vaisseaux de combat pilotés pouvant être déployés depuis les porte-vaisseaux et super porte-vaisseaux.\", \n    \"description_it\": \"Piloted combat vessels, deployable from Carriers and Supercarriers.\", \n    \"description_ja\": \"艦載機母艦と大型艦載機母艦から配置できる有人戦闘機。\", \n    \"description_ko\": \"슈퍼캐리어 및 캐리어에서 사출되는 전투 기체입니다.\", \n    \"description_ru\": \"Пилотирумые боевые корабли, запускаемые с КАРов и суперКАРов.\", \n    \"description_zh\": \"由人驾驶的作战舰船，可以从航空母舰或者超级航母上进行部署。\", \n    \"descriptionID\": 312040, \n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Unterstützungsjäger\", \n    \"name_en-us\": \"Support Fighters\", \n    \"name_es\": \"Cazas de apoyo\", \n    \"name_fr\": \"Chasseurs de support\", \n    \"name_it\": \"Support Fighters\", \n    \"name_ja\": \"支援戦闘機\", \n    \"name_ko\": \"서포트 파이터\", \n    \"name_ru\": \"Истребители поддержки\", \n    \"name_zh\": \"后勤铁骑舰载机\", \n    \"nameID\": 312039, \n    \"parentGroupID\": 2410\n  }, \n  \"2240\": {\n    \"description_de\": \"Panzerplatten - 25000mm\", \n    \"description_en-us\": \"25000mm Armor Plate\", \n    \"description_es\": \"Placa de blindaje de 25 000 mm.\", \n    \"description_fr\": \"Plaque de blindage de 25000mm\", \n    \"description_it\": \"25000mm Armor Plate\", \n    \"description_ja\": \"25000mmアーマープレート\", \n    \"description_ko\": \"25000mm 장갑 플레이트\", \n    \"description_ru\": \"Толщиной 25000 мм\", \n    \"description_zh\": \"25000mm装甲附甲板\", \n    \"descriptionID\": 312069, \n    \"hasTypes\": 1, \n    \"iconID\": 79, \n    \"name_de\": \"Panzerplatten - 25000mm\", \n    \"name_en-us\": \"25000mm Armor Plate\", \n    \"name_es\": \"Placa de blindaje de 25 000 mm\", \n    \"name_fr\": \"Plaque de blindage de 25000mm\", \n    \"name_it\": \"25000mm Armor Plate\", \n    \"name_ja\": \"25000mmアーマープレート\", \n    \"name_ko\": \"25000mm 장갑 플레이트\", \n    \"name_ru\": \"25000 мм\", \n    \"name_zh\": \"25000mm装甲附甲板\", \n    \"nameID\": 312068, \n    \"parentGroupID\": 133\n  }, \n  \"2241\": {\n    \"description_de\": \"Schildvergrößerungssysteme der Capital-Klasse.\", \n    \"description_en-us\": \"Capital-class shield extension systems.\", \n    \"description_es\": \"Sistemas de extensión de escudo de clase capital.\", \n    \"description_fr\": \"Systèmes d'extension de bouclier de classe capitale.\", \n    \"description_it\": \"Capital-class shield extension systems.\", \n    \"description_ja\": \"キャピタル級シールド拡張システム。\", \n    \"description_ko\": \"캐피탈급 함선 실드 확장장치입니다.\", \n    \"description_ru\": \"Дополнительные источники силовых полей для кораблей КБТ-класса.\", \n    \"description_zh\": \"旗舰级别护盾扩展系统。\", \n    \"descriptionID\": 312071, \n    \"hasTypes\": 1, \n    \"iconID\": 1044, \n    \"name_de\": \"Capital\", \n    \"name_en-us\": \"Capital\", \n    \"name_es\": \"Capital\", \n    \"name_fr\": \"Capital\", \n    \"name_it\": \"Capital\", \n    \"name_ja\": \"キャピタル\", \n    \"name_ko\": \"캐피탈\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 312070, \n    \"parentGroupID\": 551\n  }, \n  \"2242\": {\n    \"description_de\": \"Für Capital-Schiffe typische Energiespeicher-Batterien.\", \n    \"description_en-us\": \"Capital-sized capacitor batteries.\", \n    \"description_es\": \"Baterías de condensador de tamaño capital.\", \n    \"description_fr\": \"Batteries de capaciteur adaptées aux vaisseaux capitaux.\", \n    \"description_it\": \"Capital-sized capacitor batteries.\", \n    \"description_ja\": \"キャピタル級キャパシタバッテリー。\", \n    \"description_ko\": \"캐피탈급 함선 캐패시터 배터리입니다.\", \n    \"description_ru\": \"Дополнительные батареи накопителя для кораблей КБТ-класса\", \n    \"description_zh\": \"旗舰级别电容器电池。\", \n    \"descriptionID\": 312073, \n    \"hasTypes\": 1, \n    \"iconID\": 89, \n    \"name_de\": \"Capital\", \n    \"name_en-us\": \"Capital\", \n    \"name_es\": \"Capital\", \n    \"name_fr\": \"Capital\", \n    \"name_it\": \"Capital\", \n    \"name_ja\": \"キャピタル\", \n    \"name_ko\": \"캐피탈\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 312072, \n    \"parentGroupID\": 664\n  }, \n  \"2243\": {\n    \"description_de\": \"Für Capital-Schiffe typische Energiespeicher-Booster.\", \n    \"description_en-us\": \"Capital-sized capacitor boosters.\", \n    \"description_es\": \"Potenciadores de condensador de tamaño capital.\", \n    \"description_fr\": \"Boosters de capaciteur adaptées aux vaisseaux capitaux.\", \n    \"description_it\": \"Capital-sized capacitor boosters.\", \n    \"description_ja\": \"キャピタル級キャパシタブースター。\", \n    \"description_ko\": \"캐피탈급 함선 부스터입니다.\", \n    \"description_ru\": \"Системы пополнения накопителя для кораблей КБТ-класса\", \n    \"description_zh\": \"旗舰级别电容注电器。\", \n    \"descriptionID\": 312075, \n    \"hasTypes\": 1, \n    \"iconID\": 1031, \n    \"name_de\": \"Capital\", \n    \"name_en-us\": \"Capital\", \n    \"name_es\": \"Capital\", \n    \"name_fr\": \"Capital\", \n    \"name_it\": \"Capital\", \n    \"name_ja\": \"キャピタル\", \n    \"name_ko\": \"캐피탈\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 312074, \n    \"parentGroupID\": 668\n  }, \n  \"2244\": {\n    \"description_de\": \"Rumpfreparatursystem-Designs für Capital-Schiffe.\", \n    \"description_en-us\": \"Hull repair system designs, intended for Capital vessels.\", \n    \"description_es\": \"Diseños de sistemas de reparación del casco destinados a naves capitales.\", \n    \"description_fr\": \"Conceptions de systèmes de réparation de la coque, destinées aux vaisseaux capitaux.\", \n    \"description_it\": \"Hull repair system designs, intended for Capital vessels.\", \n    \"description_ja\": \"母艦級艦船で使用する船体リペアシステム。\", \n    \"description_ko\": \"캐피탈급 함선 전용 선체수리 시스템입니다.\", \n    \"description_ru\": \"Чертежи систем ремонта корпуса для кораблей КБТ-класса.\", \n    \"description_zh\": \"结构维修系统，专为旗舰级别的舰船设计。\", \n    \"descriptionID\": 312077, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Capital\", \n    \"name_en-us\": \"Capital\", \n    \"name_es\": \"Capital\", \n    \"name_fr\": \"Capital\", \n    \"name_it\": \"Capital\", \n    \"name_ja\": \"キャピタル\", \n    \"name_ko\": \"캐피탈\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 312076, \n    \"parentGroupID\": 538\n  }, \n  \"2245\": {\n    \"description_de\": \"Panzerungshärter die spontan mittels Skripten neu konfiguriert werden können.\", \n    \"description_en-us\": \"Armor Hardeners that can be reconfigured on the fly using scripts.\", \n    \"description_es\": \"Endurecedores de blindaje que pueden reconfigurarse sobre la marcha con scripts.\", \n    \"description_fr\": \"Renforcements de blindage pouvant être reconfigurés à la volée à l'aide de scripts.\", \n    \"description_it\": \"Armor Hardeners that can be reconfigured on the fly using scripts.\", \n    \"description_ja\": \"スクリプトを使用して飛行中に構成を変更できるアーマーハードナー。\", \n    \"description_ko\": \"스크립트로 조정 가능한 장갑 강화장치입니다.\", \n    \"description_ru\": \"Системы укрепления брони, которые можно перепрограммировать «на лету» с помощью прошивок.\", \n    \"description_zh\": \"为在飞行中使用脚本而特别改装的装甲增强器。\", \n    \"descriptionID\": 312079, \n    \"hasTypes\": 1, \n    \"iconID\": 10933, \n    \"name_de\": \"Skriptfähige Panzerungshärter\", \n    \"name_en-us\": \"Scriptable Armor Hardeners\", \n    \"name_es\": \"Endurecedores de blindaje programables\", \n    \"name_fr\": \"Renforcements de blindage contrôlables par script\", \n    \"name_it\": \"Scriptable Armor Hardeners\", \n    \"name_ja\": \"スクリプト対応アーマーハードナー\", \n    \"name_ko\": \"스크립트 장갑 강화장치\", \n    \"name_ru\": \"Программируемые\", \n    \"name_zh\": \"可使用脚本的装甲增强器\", \n    \"nameID\": 312078, \n    \"parentGroupID\": 535\n  }, \n  \"2246\": {\n    \"description_de\": \"Schildhärter die spontan mittels Skripten neu konfiguriert werden können.\", \n    \"description_en-us\": \"Shield Hardeners that can be reconfigured on the fly using scripts.\", \n    \"description_es\": \"Endurecedores de escudo que pueden reconfigurarse sobre la marcha con scripts.\", \n    \"description_fr\": \"Renforcements de bouclier pouvant être reconfigurés à la volée à l'aide de scripts.\", \n    \"description_it\": \"Shield Hardeners that can be reconfigured on the fly using scripts.\", \n    \"description_ja\": \"スクリプトを使用して飛行中に構成を変更できるシールドハードナー。\", \n    \"description_ko\": \"스크립트로 조정 가능한 실드 강화장치입니다.\", \n    \"description_ru\": \"Энергоёмкие модуляторы сопротивляемости полей, которые можно перепрограммировать «на лету» с помощью прошивок.\", \n    \"description_zh\": \"为在飞行中使用脚本而特别改装的护盾增强器。\", \n    \"descriptionID\": 312081, \n    \"hasTypes\": 1, \n    \"iconID\": 81, \n    \"name_de\": \"Skriptfähige Schildhärter\", \n    \"name_en-us\": \"Scriptable Shield Hardeners\", \n    \"name_es\": \"Endurecedores de escudo programables\", \n    \"name_fr\": \"Renforcements de bouclier contrôlables par script\", \n    \"name_it\": \"Scriptable Shield Hardeners\", \n    \"name_ja\": \"スクリプト対応シールドハードナー\", \n    \"name_ko\": \"스크립트 실드 강화장치\", \n    \"name_ru\": \"Программируемые\", \n    \"name_zh\": \"可使用脚本的护盾增强器\", \n    \"nameID\": 312080, \n    \"parentGroupID\": 553\n  }, \n  \"2247\": {\n    \"hasTypes\": 1, \n    \"iconID\": 170, \n    \"name_de\": \"Schnelle Torpedowerfer\", \n    \"name_en-us\": \"Rapid Torpedo Launchers\", \n    \"name_es\": \"Lanzatorpedos rápidos\", \n    \"name_fr\": \"Lance-torpilles rapide\", \n    \"name_it\": \"Rapid Torpedo Launchers\", \n    \"name_ja\": \"ラピッドトルピードランチャー\", \n    \"name_ko\": \"급속 토피도 런처\", \n    \"name_ru\": \"Скорострельные торпедные аппараты\", \n    \"name_zh\": \"快速鱼雷发射器\", \n    \"nameID\": 312115, \n    \"parentGroupID\": 140\n  }, \n  \"2248\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Pulsgenerator\", \n    \"name_en-us\": \"Burst Projectors\", \n    \"name_es\": \"Proyectores de estallido\", \n    \"name_fr\": \"Projecteurs à salves\", \n    \"name_it\": \"Burst Projectors\", \n    \"name_ja\": \"バーストプロジェクター\", \n    \"name_ko\": \"버스트 프로젝터\", \n    \"name_ru\": \"Проекторы объёмных помех\", \n    \"name_zh\": \"脉冲波投射器\", \n    \"nameID\": 312118, \n    \"parentGroupID\": 1566\n  }, \n  \"2249\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21604, \n    \"name_de\": \"Pulsgenerator\", \n    \"name_en-us\": \"Burst Projectors\", \n    \"name_es\": \"Proyectores de estallido\", \n    \"name_fr\": \"Projecteurs à salves\", \n    \"name_it\": \"Burst Projectors\", \n    \"name_ja\": \"バーストプロジェクター\", \n    \"name_ko\": \"버스트 프로젝터\", \n    \"name_ru\": \"Проекторы объёмных помех\", \n    \"name_zh\": \"脉冲波投射器\", \n    \"nameID\": 312119, \n    \"parentGroupID\": 657\n  }, \n  \"2250\": {\n    \"description_de\": \"Energieneutralisierer in Capital-Größe\", \n    \"description_en-us\": \"Capital-sized energy neutralizers.\", \n    \"description_es\": \"Neutralizadores energéticos de tamaño capital.\", \n    \"description_fr\": \"Neutraliseurs d'énergie capitaux.\", \n    \"description_it\": \"Capital-sized energy neutralizers.\", \n    \"description_ja\": \"キャピタル級エネルギーニュートライザー。\", \n    \"description_ko\": \"캐피탈급 함선 에너지 뉴트럴라이저입니다.\", \n    \"description_ru\": \"Дистанционные нейтрализаторы заряда КБТ-класса\", \n    \"description_zh\": \"旗舰级能量中和器。\", \n    \"descriptionID\": 312124, \n    \"hasTypes\": 1, \n    \"iconID\": 1283, \n    \"name_de\": \"Capital\", \n    \"name_en-us\": \"Capital\", \n    \"name_es\": \"Capital\", \n    \"name_fr\": \"Capital\", \n    \"name_it\": \"Capital\", \n    \"name_ja\": \"キャピタル\", \n    \"name_ko\": \"캐피탈\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 312123, \n    \"parentGroupID\": 661\n  }, \n  \"2251\": {\n    \"description_de\": \"Energie-Nosferatu in Capital-Größe\", \n    \"description_en-us\": \"Capital-sized energy nosferatu.\", \n    \"description_es\": \"Nosferatu de energía de tamaño capital.\", \n    \"description_fr\": \"Nosferatu à énergie capital.\", \n    \"description_it\": \"Capital-sized energy nosferatu.\", \n    \"description_ja\": \"キャピタル級エネルギーノスフェラトゥ。\", \n    \"description_ko\": \"캐피탈급 함선 에너지 노스페라투입니다.\", \n    \"description_ru\": \"Устройства паразитной подзарядки КБТ-класса\", \n    \"description_zh\": \"旗舰级掠能器。\", \n    \"descriptionID\": 312122, \n    \"hasTypes\": 1, \n    \"iconID\": 1029, \n    \"name_de\": \"Capital\", \n    \"name_en-us\": \"Capital\", \n    \"name_es\": \"Capital\", \n    \"name_fr\": \"Capital\", \n    \"name_it\": \"Capital\", \n    \"name_ja\": \"キャピタル\", \n    \"name_ko\": \"캐피탈\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"旗舰\", \n    \"nameID\": 312121, \n    \"parentGroupID\": 662\n  }, \n  \"2252\": {\n    \"description_de\": \"Wird von Dreadnought-Geschützen und stationären Verteidigungsanlagen abgefeuert.\", \n    \"description_en-us\": \"Fired by dreadnaught-sized guns and stationary defense systems.\", \n    \"description_es\": \"Aptos para cañones de naves de tamaño superacorazado y sistemas defensivos estacionarios.\", \n    \"description_fr\": \"Projectiles utilisés, par exemple, sur les canons des supercuirassés et sur les systèmes de défense stationnaires.\", \n    \"description_it\": \"Fired by dreadnaught-sized guns and stationary defense systems.\", \n    \"description_ja\": \"ドレッドノート級の銃器および固定型防衛システムから発射。\", \n    \"description_ko\": \"드레드노트급 함포 및 고정 방어 시스템에서 사용합니다.\", \n    \"description_ru\": \"Используются в орудиях дредноутов и стационарных оборонительных систем.\", \n    \"description_zh\": \"通过无畏级舰炮或者固定防御系统进行发射。\", \n    \"descriptionID\": 312137, \n    \"hasTypes\": 1, \n    \"iconID\": 1287, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 312134, \n    \"parentGroupID\": 846\n  }, \n  \"2253\": {\n    \"description_de\": \"Wird von Dreadnought-Geschützen und stationären Verteidigungsanlagen abgefeuert.\", \n    \"description_en-us\": \"Fired by dreadnaught-sized guns and stationary defense systems.\", \n    \"description_es\": \"Aptos para cañones de naves de tamaño superacorazado y sistemas defensivos estacionarios.\", \n    \"description_fr\": \"Projectiles utilisés, par exemple, sur les canons des supercuirassés et sur les systèmes de défense stationnaires.\", \n    \"description_it\": \"Fired by dreadnaught-sized guns and stationary defense systems.\", \n    \"description_ja\": \"ドレッドノート級の銃器および固定型防衛システムから発射。\", \n    \"description_ko\": \"드레드노트급 함포 및 고정 방어 시스템에서 사용합니다.\", \n    \"description_ru\": \"Используются в орудиях дредноутов и стационарных оборонительных систем.\", \n    \"description_zh\": \"通过无畏级舰炮或者固定防御系统进行发射。\", \n    \"descriptionID\": 312136, \n    \"hasTypes\": 1, \n    \"iconID\": 1291, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 312135, \n    \"parentGroupID\": 847\n  }, \n  \"2254\": {\n    \"description_de\": \"Wird von Dreadnought-Geschützen und stationären Verteidigungsanlagen abgefeuert.\", \n    \"description_en-us\": \"Fired by dreadnought-sized guns and stationary defense systems.\", \n    \"description_es\": \"Aptos para cañones de naves de tamaño superacorazado y sistemas defensivos estacionarios.\", \n    \"description_fr\": \"Projectiles utilisés, par exemple, sur les canons des supercuirassés et sur les systèmes de défense stationnaires.\", \n    \"description_it\": \"Fired by dreadnought-sized guns and stationary defense systems.\", \n    \"description_ja\": \"ドレッドノート級の銃器および固定型防衛システムから発射。\", \n    \"description_ko\": \"드레드노트급 함선 및 고정형 방어 시설에서 사용하는 함포의 탄약입니다.\", \n    \"description_ru\": \"Используются в орудиях дредноутов и стационарных оборонительных систем.\", \n    \"description_zh\": \"通过无畏级舰炮或者固定防御系统进行发射。\", \n    \"descriptionID\": 312139, \n    \"hasTypes\": 1, \n    \"iconID\": 1310, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 312138, \n    \"parentGroupID\": 849\n  }, \n  \"2255\": {\n    \"description_de\": \"Wird von Dreadnought-Geschützen und stationären Verteidigungsanlagen abgefeuert.\", \n    \"description_en-us\": \"Fired by dreadnought-sized guns and stationary defense systems.\", \n    \"description_es\": \"Aptos para cañones de naves de tamaño superacorazado y sistemas defensivos estacionarios.\", \n    \"description_fr\": \"Projectiles utilisés, par exemple, sur les canons des supercuirassés et sur les systèmes de défense stationnaires.\", \n    \"description_it\": \"Fired by dreadnought-sized guns and stationary defense systems.\", \n    \"description_ja\": \"ドレッドノート級の銃器および固定型防衛システムから発射。\", \n    \"description_ko\": \"드레드노트급 함선 및 고정형 방어 시설에서 사용하는 함포의 탄약입니다.\", \n    \"description_ru\": \"Используются в орудиях дредноутов и стационарных оборонительных систем.\", \n    \"description_zh\": \"通过无畏级舰炮或者固定防御系统进行发射。\", \n    \"descriptionID\": 312141, \n    \"hasTypes\": 1, \n    \"iconID\": 1311, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 312140, \n    \"parentGroupID\": 850\n  }, \n  \"2256\": {\n    \"description_de\": \"Zur Verwendung mit Dreadnought-Lasern und stationären Verteidigungsanlagen.\", \n    \"description_en-us\": \"For use with dreadnought-sized lasers and stationary defense systems.\", \n    \"description_es\": \"Para usarlos con láseres de tamaño superacorazado y sistemas defensivos estacionarios.\", \n    \"description_fr\": \"Projectiles utilisés, par exemple, sur les canons des supercuirassés et sur les systèmes de défense stationnaires.\", \n    \"description_it\": \"For use with dreadnought-sized lasers and stationary defense systems.\", \n    \"description_ja\": \"攻城艦サイズのレーザーおよび固定型防衛システムで使用する。\", \n    \"description_ko\": \"드레드노트급 함선 및 고정형 방어 시설에서 사용하는 레이저의 프리퀀시 크리스탈입니다.\", \n    \"description_ru\": \"Используются в лазерах дредноутов и стационарных оборонительных систем.\", \n    \"description_zh\": \"通过无畏级激光武器或者固定防御系统进行发射。\", \n    \"descriptionID\": 312143, \n    \"hasTypes\": 1, \n    \"iconID\": 1140, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 312142, \n    \"parentGroupID\": 853\n  }, \n  \"2257\": {\n    \"description_de\": \"Zur Verwendung mit Dreadnought-Lasern und stationären Verteidigungsanlagen.\", \n    \"description_en-us\": \"For use with dreadnought-sized lasers and stationary defense systems.\", \n    \"description_es\": \"Para usarlos con láseres de tamaño superacorazado y sistemas defensivos estacionarios.\", \n    \"description_fr\": \"Projectiles utilisés, par exemple, sur les canons des supercuirassés et sur les systèmes de défense stationnaires.\", \n    \"description_it\": \"For use with dreadnought-sized lasers and stationary defense systems.\", \n    \"description_ja\": \"攻城艦サイズのレーザーおよび固定型防衛システムで使用する。\", \n    \"description_ko\": \"드레드노트급 함선 및 고정형 방어 시설에서 사용하는 레이저의 프리퀀시 크리스탈입니다.\", \n    \"description_ru\": \"Используются в лазерах дредноутов и стационарных оборонительных систем.\", \n    \"description_zh\": \"通过无畏级激光武器或者固定防御系统进行发射。\", \n    \"descriptionID\": 312145, \n    \"hasTypes\": 1, \n    \"iconID\": 1145, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 312144, \n    \"parentGroupID\": 852\n  }, \n  \"2258\": {\n    \"description_de\": \"Fortschrittliche Anti-Schiff-Torpedos\", \n    \"description_en-us\": \"Advanced Anti-Ship Torpedoes\", \n    \"description_es\": \"Torpedos antinaves avanzados.\", \n    \"description_fr\": \"Torpilles anti-vaisseau perfectionnées\", \n    \"description_it\": \"Advanced Anti-Ship Torpedoes\", \n    \"description_ja\": \"最新型対艦船トルピード\", \n    \"description_ko\": \"대함 토피도\", \n    \"description_ru\": \"Противокорабельные торпеды\", \n    \"description_zh\": \"高级反舰鱼雷\", \n    \"descriptionID\": 312147, \n    \"hasTypes\": 1, \n    \"iconID\": 1346, \n    \"name_de\": \"Fortschrittliche Anti-Schiff-XL-Torpedos\", \n    \"name_en-us\": \"Advanced Anti-Ship XL Torpedoes\", \n    \"name_es\": \"Torpedos XL antinaves avanzados\", \n    \"name_fr\": \"Torpilles anti-vaisseau avancées XL\", \n    \"name_it\": \"Advanced Anti-Ship XL Torpedoes\", \n    \"name_ja\": \"最新型対艦船XLトルピード\", \n    \"name_ko\": \"대함 XL 토피도\", \n    \"name_ru\": \"Высокомощные\", \n    \"name_zh\": \"高级反舰超大型鱼雷\", \n    \"nameID\": 312146, \n    \"parentGroupID\": 505\n  }, \n  \"2259\": {\n    \"description_de\": \"Fortschrittliche Langstreckentorpedos\", \n    \"description_en-us\": \"Advanced Long Range Torpedoes\", \n    \"description_es\": \"Torpedos de largo alcance avanzados.\", \n    \"description_fr\": \"Torpilles à longue portée perfectionnées\", \n    \"description_it\": \"Advanced Long Range Torpedoes\", \n    \"description_ja\": \"最新型長距離トルピード\", \n    \"description_ko\": \"장거리 토피도\", \n    \"description_ru\": \"Высокоскоростные торпеды\", \n    \"description_zh\": \"高级远距鱼雷\", \n    \"descriptionID\": 312149, \n    \"hasTypes\": 1, \n    \"iconID\": 1346, \n    \"name_de\": \"Fortschrittliche Langstrecken-XL-Torpedos\", \n    \"name_en-us\": \"Advanced Long Range XL Torpedoes\", \n    \"name_es\": \"Torpedos XL de largo alcance avanzados\", \n    \"name_fr\": \"Torpilles à longue portée avancée XL\", \n    \"name_it\": \"Advanced Long Range XL Torpedoes\", \n    \"name_ja\": \"最新型長距離XLトルピード\", \n    \"name_ko\": \"장거리 XL 토피도\", \n    \"name_ru\": \"Высокоскоростные\", \n    \"name_zh\": \"高级远距超大型鱼雷\", \n    \"nameID\": 312148, \n    \"parentGroupID\": 505\n  }, \n  \"2260\": {\n    \"description_de\": \"Fortschrittliche XL-Marschflugkörper mit hoher Präzision\", \n    \"description_en-us\": \"Advanced High Precision XL Cruise Missiles\", \n    \"description_es\": \"Misiles de crucero XL de alta precisión avanzados.\", \n    \"description_fr\": \"Missiles de croisière perfectionnés à haute précision XL\", \n    \"description_it\": \"Advanced High Precision XL Cruise Missiles\", \n    \"description_ja\": \"最新型高精度XLクルーズミサイル\", \n    \"description_ko\": \"정밀타격 XL 크루즈 미사일\", \n    \"description_ru\": \"Ракеты дальнего боя сверхбольшой мощности с высокоточными ГСН\", \n    \"description_zh\": \"高级高精度超大型巡航导弹\", \n    \"descriptionID\": 312151, \n    \"hasTypes\": 1, \n    \"iconID\": 183, \n    \"name_de\": \"Fortschrittliche XL-Marschflugkörper mit hoher Präzision\", \n    \"name_en-us\": \"Advanced High Precision XL Cruise Missiles\", \n    \"name_es\": \"Misiles de crucero XL de alta precisión avanzados\", \n    \"name_fr\": \"Missiles de croisière perfectionnés à haute précision XL\", \n    \"name_it\": \"Advanced High Precision XL Cruise Missiles\", \n    \"name_ja\": \"最新型高精度XLクルーズミサイル\", \n    \"name_ko\": \"정밀타격 XL 크루즈 미사일\", \n    \"name_ru\": \"Высокоточные\", \n    \"name_zh\": \"高级高精度超大型巡航导弹\", \n    \"nameID\": 312150, \n    \"parentGroupID\": 1316\n  }, \n  \"2261\": {\n    \"description_de\": \"Fortschrittliche XL-Marschflugkörper für schweren Schaden\", \n    \"description_en-us\": \"Advanced High Damage XL Cruise Missiles\", \n    \"description_es\": \"Misiles de crucero XL de gran daño avanzados.\", \n    \"description_fr\": \"Missiles de croisière à dégâts élevés avancés XL\", \n    \"description_it\": \"Advanced High Damage XL Cruise Missiles\", \n    \"description_ja\": \"最新型高ダメージXLクルーズミサイル\", \n    \"description_ko\": \"고화력 XL 크루즈 미사일\", \n    \"description_ru\": \"Ракеты дальнего боя сверхбольшой мощности с БЧ усиленного действия\", \n    \"description_zh\": \"高级高伤害超大型巡航导弹\", \n    \"descriptionID\": 312153, \n    \"hasTypes\": 1, \n    \"iconID\": 183, \n    \"name_de\": \"Fortschrittliche XL-Marschflugkörper für schweren Schaden\", \n    \"name_en-us\": \"Advanced High Damage XL Cruise Missiles\", \n    \"name_es\": \"Misiles de crucero XL de gran daño avanzados\", \n    \"name_fr\": \"Missiles de croisière à dégâts élevés avancés XL\", \n    \"name_it\": \"Advanced High Damage XL Cruise Missiles\", \n    \"name_ja\": \"最新型高ダメージXLクルーズミサイル\", \n    \"name_ko\": \"고화력 XL 크루즈 미사일\", \n    \"name_ru\": \"Высокомощные\", \n    \"name_zh\": \"高级高伤害超大型巡航导弹\", \n    \"nameID\": 312152, \n    \"parentGroupID\": 1316\n  }, \n  \"2262\": {\n    \"description_de\": \"Blaupausen von Schiffen der Truppenunterstützer-Klasse.\", \n    \"description_en-us\": \"Blueprints of force auxiliary-class vessels.\", \n    \"description_es\": \"Planos de naves de clase auxiliar de fuerza.\", \n    \"description_fr\": \"Blueprints of force auxiliary-class vessels.\", \n    \"description_it\": \"Blueprints of force auxiliary-class vessels.\", \n    \"description_ja\": \"軍事力補強系艦船のブループリント。\", \n    \"description_ko\": \"포스 악실리아 함선 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи вспомогательных КБТ\", \n    \"description_zh\": \"战力辅助舰级别舰船蓝图。\", \n    \"descriptionID\": 312187, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Truppenunterstützer\", \n    \"name_en-us\": \"Force Auxiliaries\", \n    \"name_es\": \"Naves auxiliares\", \n    \"name_fr\": \"Forces auxiliaires\", \n    \"name_it\": \"Force Auxiliaries\", \n    \"name_ja\": \"軍事力補強\", \n    \"name_ko\": \"포스 악실리아\", \n    \"name_ru\": \"Вспомогательные КБТ\", \n    \"name_zh\": \"战力辅助舰\", \n    \"nameID\": 312186, \n    \"parentGroupID\": 204\n  }, \n  \"2263\": {\n    \"description_de\": \"Blaupausen von Amarr-Truppenunterstützer-Designs.\", \n    \"description_en-us\": \"Blueprints of Amarr force auxiliary designs.\", \n    \"description_es\": \"Planos de diseños de fuerzas auxiliares amarrianas.\", \n    \"description_fr\": \"Blueprints of Amarr force auxiliary designs.\", \n    \"description_it\": \"Blueprints of Amarr force auxiliary designs.\", \n    \"description_ja\": \"アマー軍事力補強設備のブループリント。\", \n    \"description_ko\": \"아마르 포스 악실리아 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи амаррских вспомогательных КБТ.\", \n    \"description_zh\": \"艾玛战力辅助舰设计蓝图。\", \n    \"descriptionID\": 312189, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 312188, \n    \"parentGroupID\": 2262\n  }, \n  \"2264\": {\n    \"description_de\": \"Blaupausen von Caldari-Truppenunterstützer-Designs.\", \n    \"description_en-us\": \"Blueprints of Caldari force auxiliary designs.\", \n    \"description_es\": \"Planos de diseños de fuerzas auxiliares caldaris.\", \n    \"description_fr\": \"Blueprints of Caldari force auxiliary designs.\", \n    \"description_it\": \"Blueprints of Caldari force auxiliary designs.\", \n    \"description_ja\": \"カルダリ軍事力補強設備のブループリント。\", \n    \"description_ko\": \"칼다리 포스 악실리아 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи калдарских вспомогательных КБТ.\", \n    \"description_zh\": \"加达里战力辅助舰设计蓝图。\", \n    \"descriptionID\": 312191, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 312190, \n    \"parentGroupID\": 2262\n  }, \n  \"2265\": {\n    \"description_de\": \"Blaupausen von Gallente-Truppenunterstützer-Designs.\", \n    \"description_en-us\": \"Blueprints of Gallente force auxiliary designs.\", \n    \"description_es\": \"Planos de diseños de fuerzas auxiliares gallentes.\", \n    \"description_fr\": \"Blueprints of Gallente force auxiliary designs.\", \n    \"description_it\": \"Blueprints of Gallente force auxiliary designs.\", \n    \"description_ja\": \"ガレンテ軍事力補強設備のブループリント。\", \n    \"description_ko\": \"갈란테 포스 악실리아 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи галлентских вспомогательных КБТ.\", \n    \"description_zh\": \"盖伦特战力辅助舰设计蓝图。\", \n    \"descriptionID\": 312193, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 312192, \n    \"parentGroupID\": 2262\n  }, \n  \"2266\": {\n    \"description_de\": \"Blaupausen von Minmatar-Truppenunterstützer-Designs.\", \n    \"description_en-us\": \"Blueprints of Minmatar force auxiliary designs.\", \n    \"description_es\": \"Planos de diseños de fuerzas auxiliares minmatarianas.\", \n    \"description_fr\": \"Blueprints of Minmatar force auxiliary designs.\", \n    \"description_it\": \"Blueprints of Minmatar force auxiliary designs.\", \n    \"description_ja\": \"ミンマター軍事力補強設備のブループリント。\", \n    \"description_ko\": \"민마타 포스 악실리아 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи матарских вспомогательных КБТ.\", \n    \"description_zh\": \"米玛塔尔战力辅助舰设计蓝图。\", \n    \"descriptionID\": 312195, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 312194, \n    \"parentGroupID\": 2262\n  }, \n  \"2267\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2934, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 312196, \n    \"parentGroupID\": 912\n  }, \n  \"2268\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2934, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 312197, \n    \"parentGroupID\": 912\n  }, \n  \"2269\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2934, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 312198, \n    \"parentGroupID\": 912\n  }, \n  \"2270\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2934, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 312199, \n    \"parentGroupID\": 912\n  }, \n  \"2271\": {\n    \"description_de\": \"Capital-Kriegsschiffe, die Flotten mit ihren Logistikkräften unterstützen können.\", \n    \"description_en-us\": \"Capital warships, able to support fleets with their logistics power.\", \n    \"description_es\": \"Naves de guerra capitales que ofrecen apoyo a las flotas gracias a sus capacidades logísticas.\", \n    \"description_fr\": \"Capital warships, able to support fleets with their logistics power.\", \n    \"description_it\": \"Capital warships, able to support fleets with their logistics power.\", \n    \"description_ja\": \"支援設備によりフリートをサポートできる母艦級戦艦。\", \n    \"description_ko\": \"함대 지원 임무에 특화된 캐피탈 배틀쉽입니다.\", \n    \"description_ru\": \"Корабли большого тоннажа, ведущие боевое обеспечение и полевой ремонт союзников.\", \n    \"description_zh\": \"以强大的后勤能力为舰队提供支援的旗舰级舰船。\", \n    \"descriptionID\": 312242, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Truppenunterstützer\", \n    \"name_en-us\": \"Force Auxiliaries\", \n    \"name_es\": \"Naves auxiliares\", \n    \"name_fr\": \"Forces auxiliaires\", \n    \"name_it\": \"Force Auxiliaries\", \n    \"name_ja\": \"軍事力補強\", \n    \"name_ko\": \"포스 악실리아\", \n    \"name_ru\": \"Вспомогательные КБТ\", \n    \"name_zh\": \"战力辅助舰\", \n    \"nameID\": 312241, \n    \"parentGroupID\": 1381\n  }, \n  \"2272\": {\n    \"description_de\": \"Truppenunterstützer der Amarr\", \n    \"description_en-us\": \"Amarr force auxiliary designs.\", \n    \"description_es\": \"Diseños de fuerzas auxiliares amarrianas.\", \n    \"description_fr\": \"Amarr force auxiliary designs.\", \n    \"description_it\": \"Amarr force auxiliary designs.\", \n    \"description_ja\": \"アマー軍事力補強設備。\", \n    \"description_ko\": \"아마르의 포스 악실리아입니다.\", \n    \"description_ru\": \"Амаррские вспомогательные КБТ\", \n    \"description_zh\": \"艾玛战力辅助舰设计。\", \n    \"descriptionID\": 312244, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 312243, \n    \"parentGroupID\": 2271\n  }, \n  \"2273\": {\n    \"description_de\": \"Truppenunterstützer der Caldari\", \n    \"description_en-us\": \"Caldari force auxiliary designs.\", \n    \"description_es\": \"Diseños de fuerzas auxiliares caldaris.\", \n    \"description_fr\": \"Caldari force auxiliary designs.\", \n    \"description_it\": \"Caldari force auxiliary designs.\", \n    \"description_ja\": \"カルダリ軍事力補強設備。\", \n    \"description_ko\": \"칼다리의 포스 악실리아입니다.\", \n    \"description_ru\": \"Калдарские вспомогательные КБТ\", \n    \"description_zh\": \"加达里战力辅助舰设计。\", \n    \"descriptionID\": 312246, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 312245, \n    \"parentGroupID\": 2271\n  }, \n  \"2274\": {\n    \"description_de\": \"Truppenunterstützer der Gallente\", \n    \"description_en-us\": \"Gallente force auxiliary designs.\", \n    \"description_es\": \"Diseños de fuerzas auxiliares gallentes.\", \n    \"description_fr\": \"Gallente force auxiliary designs.\", \n    \"description_it\": \"Gallente force auxiliary designs.\", \n    \"description_ja\": \"ガレンテ軍事力補強設備。\", \n    \"description_ko\": \"갈란테의 포스 악실리아입니다.\", \n    \"description_ru\": \"Галлентские вспомогательные КБТ\", \n    \"description_zh\": \"盖伦特战力辅助舰设计。\", \n    \"descriptionID\": 312248, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 312247, \n    \"parentGroupID\": 2271\n  }, \n  \"2275\": {\n    \"description_de\": \"Truppenunterstützer der Minmatar\", \n    \"description_en-us\": \"Minmatar force auxiliary designs.\", \n    \"description_es\": \"Diseños de fuerzas auxiliares minmatarianas.\", \n    \"description_fr\": \"Minmatar force auxiliary designs.\", \n    \"description_it\": \"Minmatar force auxiliary designs.\", \n    \"description_ja\": \"ミンマター軍事力補強設備。\", \n    \"description_ko\": \"민마타의 포스 악실리아입니다.\", \n    \"description_ru\": \"Матарские вспомогательные КБТ\", \n    \"description_zh\": \"米玛塔尔战力辅助舰设计。\", \n    \"descriptionID\": 312250, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 312249, \n    \"parentGroupID\": 2271\n  }, \n  \"2276\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2934, \n    \"name_de\": \"Volksunspezifisch\", \n    \"name_en-us\": \"Non-Racial\", \n    \"name_es\": \"No racial\", \n    \"name_fr\": \"Non-racial\", \n    \"name_it\": \"Non-Racial\", \n    \"name_ja\": \"非人種\", \n    \"name_ko\": \"비국가 아이템\", \n    \"name_ru\": \"Независимые\", \n    \"name_zh\": \"非种族\", \n    \"nameID\": 312259, \n    \"parentGroupID\": 912\n  }, \n  \"2277\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Truppenunterstützer\", \n    \"name_en-us\": \"Force Auxiliaries\", \n    \"name_es\": \"Naves auxiliares\", \n    \"name_fr\": \"Forces auxiliaires\", \n    \"name_it\": \"Force Auxiliaries\", \n    \"name_ja\": \"軍事力補強\", \n    \"name_ko\": \"포스 악실리아\", \n    \"name_ru\": \"Вспомогательные КБТ\", \n    \"name_zh\": \"战力辅助舰\", \n    \"nameID\": 312284, \n    \"parentGroupID\": 1968\n  }, \n  \"2278\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 312285, \n    \"parentGroupID\": 2277\n  }, \n  \"2279\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 312286, \n    \"parentGroupID\": 2277\n  }, \n  \"2280\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 312287, \n    \"parentGroupID\": 2277\n  }, \n  \"2281\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 312288, \n    \"parentGroupID\": 2277\n  }, \n  \"2283\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Kapseln\", \n    \"name_en-us\": \"Capsules\", \n    \"name_es\": \"Cápsulas\", \n    \"name_fr\": \"Capsules\", \n    \"name_it\": \"Capsules\", \n    \"name_ja\": \"カプセル\", \n    \"name_ko\": \"캡슐\", \n    \"name_ru\": \"Капсулы\", \n    \"name_zh\": \"太空舱\", \n    \"nameID\": 312293, \n    \"parentGroupID\": 1954\n  }, \n  \"2285\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Kapseln\", \n    \"name_en-us\": \"Capsules\", \n    \"name_es\": \"Cápsulas\", \n    \"name_fr\": \"Capsules\", \n    \"name_it\": \"Capsules\", \n    \"name_ja\": \"カプセル\", \n    \"name_ko\": \"캡슐\", \n    \"name_ru\": \"Капсулы\", \n    \"name_zh\": \"太空舱\", \n    \"nameID\": 312294, \n    \"parentGroupID\": 2283\n  }, \n  \"2286\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Sonderversionen: Kapseln\", \n    \"name_en-us\": \"Special Edition Capsules\", \n    \"name_es\": \"Cápsulas de edición especial\", \n    \"name_fr\": \"Capsules édition spéciale\", \n    \"name_it\": \"Special Edition Capsules\", \n    \"name_ja\": \"特別仕様のカプセル\", \n    \"name_ko\": \"스페셜 에디션 캡슐\", \n    \"name_ru\": \"Малосерийные капсулы\", \n    \"name_zh\": \"特别版逃生舱\", \n    \"nameID\": 312295, \n    \"parentGroupID\": 2283\n  }, \n  \"2287\": {\n    \"description_de\": \"Fraktion Titan-Designs.\", \n    \"description_en-us\": \"Faction Titan designs.\", \n    \"description_es\": \"Diseños de titanes faccionarios.\", \n    \"description_fr\": \"Modèles de Titans de faction\", \n    \"description_it\": \"Faction Titan designs.\", \n    \"description_ja\": \"勢力別旗艦級戦艦の設計図。\", \n    \"description_ko\": \"팩션 타이탄입니다.\", \n    \"description_ru\": \"Модификации титанов, используемые различными организациями галактики.\", \n    \"description_zh\": \"势力泰坦设计。\", \n    \"descriptionID\": 312560, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Fraktions-Titans\", \n    \"name_en-us\": \"Faction Titans\", \n    \"name_es\": \"Titanes faccionarios\", \n    \"name_fr\": \"Titans de faction\", \n    \"name_it\": \"Faction Titans\", \n    \"name_ja\": \"勢力別旗艦級戦艦\", \n    \"name_ko\": \"팩션 타이탄\", \n    \"name_ru\": \"Пиратские и армейские титаны\", \n    \"name_zh\": \"势力泰坦\", \n    \"nameID\": 312559, \n    \"parentGroupID\": 812\n  }, \n  \"2288\": {\n    \"description_de\": \"Fraktions-Dreadnoughts\", \n    \"description_en-us\": \"Faction Dreadnoughts\", \n    \"description_es\": \"Superacorazados faccionarios\", \n    \"description_fr\": \"Supercuirassés de faction\", \n    \"description_it\": \"Faction Dreadnoughts\", \n    \"description_ja\": \"勢力別攻城艦\", \n    \"description_ko\": \"팩션 드레드노트\", \n    \"description_ru\": \"Армейские дредноуты\", \n    \"description_zh\": \"势力无畏舰\", \n    \"descriptionID\": 312558, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fraktions-Dreadnoughts\", \n    \"name_en-us\": \"Faction Dreadnoughts\", \n    \"name_es\": \"Superacorazados faccionarios\", \n    \"name_fr\": \"Dreadnoughts de faction\", \n    \"name_it\": \"Faction Dreadnoughts\", \n    \"name_ja\": \"勢力別攻城艦\", \n    \"name_ko\": \"팩션 드레드노트\", \n    \"name_ru\": \"Пиратские и армейские дредноуты\", \n    \"name_zh\": \"势力无畏舰\", \n    \"nameID\": 312557, \n    \"parentGroupID\": 761\n  }, \n  \"2290\": {\n    \"description_de\": \"Kommandostrahlenmunition\", \n    \"description_en-us\": \"Command Burst Charges\", \n    \"description_es\": \"Cargas de estallido de mando.\", \n    \"description_fr\": \"Charges de salve commandante\", \n    \"description_it\": \"Command Burst Charges\", \n    \"description_ja\": \"コマンドバーストチャージ\", \n    \"description_ko\": \"커맨드 버스트 차지\", \n    \"description_ru\": \"Заряды импульсных оптимизаторов\", \n    \"description_zh\": \"指挥脉冲弹药\", \n    \"descriptionID\": 314928, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Kommandostrahlenmunition\", \n    \"name_en-us\": \"Command Burst Charges\", \n    \"name_es\": \"Cargas de estallido de mando\", \n    \"name_fr\": \"Charges de salve commandante\", \n    \"name_it\": \"Command Burst Charges\", \n    \"name_ja\": \"コマンドバーストチャージ\", \n    \"name_ko\": \"커맨드 버스트 차지\", \n    \"name_ru\": \"Заряды импульсных оптимизаторов\", \n    \"name_zh\": \"指挥脉冲弹药\", \n    \"nameID\": 314927, \n    \"parentGroupID\": 211\n  }, \n  \"2291\": {\n    \"description_de\": \"Kommandostrahlenmunition: Panzerung\", \n    \"description_en-us\": \"Armor Command Burst Charges\", \n    \"description_es\": \"Cargas de estallido de mando de blindaje.\", \n    \"description_fr\": \"Charges de salve commandante de blindage\", \n    \"description_it\": \"Armor Command Burst Charges\", \n    \"description_ja\": \"アーマーコマンドバーストチャージ\", \n    \"description_ko\": \"장갑 버스트 차지\", \n    \"description_ru\": \"Броневой защиты\", \n    \"description_zh\": \"装甲指挥脉冲弹药\", \n    \"descriptionID\": 314930, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kommandostrahlenmunition: Panzerung\", \n    \"name_en-us\": \"Armor Command Burst Charges\", \n    \"name_es\": \"Cargas de estallido de mando de blindaje\", \n    \"name_fr\": \"Charges de salve commandante de blindage\", \n    \"name_it\": \"Armor Command Burst Charges\", \n    \"name_ja\": \"アーマーコマンドバーストチャージ\", \n    \"name_ko\": \"장갑 버스트 차지\", \n    \"name_ru\": \"Брони\", \n    \"name_zh\": \"装甲指挥脉冲弹药\", \n    \"nameID\": 314929, \n    \"parentGroupID\": 2290\n  }, \n  \"2292\": {\n    \"description_de\": \"Kommandostrahlenmunition: Information\", \n    \"description_en-us\": \"Information Command Burst Charges\", \n    \"description_es\": \"Cargas de estallido de mando de información.\", \n    \"description_fr\": \"Charges de salve commandante d'information\", \n    \"description_it\": \"Information Command Burst Charges\", \n    \"description_ja\": \"情報戦コマンドバーストチャージ\", \n    \"description_ko\": \"정보전 버스트 차지\", \n    \"description_ru\": \"Мер РЭБ\", \n    \"description_zh\": \"信息战指挥脉冲弹药\", \n    \"descriptionID\": 314932, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kommandostrahlenmunition: Information\", \n    \"name_en-us\": \"Information Command Burst Charges\", \n    \"name_es\": \"Cargas de estallido de mando de información\", \n    \"name_fr\": \"Charges de salve commandante d'information\", \n    \"name_it\": \"Information Command Burst Charges\", \n    \"name_ja\": \"情報戦コマンドバーストチャージ\", \n    \"name_ko\": \"정보전 버스트 차지\", \n    \"name_ru\": \"РЭБ\", \n    \"name_zh\": \"信息战指挥脉冲弹药\", \n    \"nameID\": 314931, \n    \"parentGroupID\": 2290\n  }, \n  \"2293\": {\n    \"description_de\": \"Bergbauvorarbeiterstrahlenmunition\", \n    \"description_en-us\": \"Mining Foreman Burst Charges\", \n    \"description_es\": \"Cargas de estallido de capataz minero\", \n    \"description_fr\": \"Charges de salve de contremaîtrise d'extraction minière\", \n    \"description_it\": \"Mining Foreman Burst Charges\", \n    \"description_ja\": \"採掘支援バーストチャージ\", \n    \"description_ko\": \"채광 버스트 차지\", \n    \"description_ru\": \"Добычи сырья\", \n    \"description_zh\": \"开采先锋脉冲弹药\", \n    \"descriptionID\": 314934, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Bergbauvorarbeiterstrahlenmunition\", \n    \"name_en-us\": \"Mining Foreman Burst Charges\", \n    \"name_es\": \"Cargas de estallido de capataz minero\", \n    \"name_fr\": \"Charges de salve de contremaîtrise d'extraction minière\", \n    \"name_it\": \"Mining Foreman Burst Charges\", \n    \"name_ja\": \"採掘支援バーストチャージ\", \n    \"name_ko\": \"채광 버스트 차지\", \n    \"name_ru\": \"Добычи\", \n    \"name_zh\": \"开采先锋脉冲弹药\", \n    \"nameID\": 314933, \n    \"parentGroupID\": 2290\n  }, \n  \"2294\": {\n    \"description_de\": \"Kommandostrahlenmunition: Schilde\", \n    \"description_en-us\": \"Shield Command Burst Charges\", \n    \"description_es\": \"Cargas de estallido de mando de escudo.\", \n    \"description_fr\": \"Charges de salve commandante de boucliers\", \n    \"description_it\": \"Shield Command Burst Charges\", \n    \"description_ja\": \"シールドコマンドバーストチャージ\", \n    \"description_ko\": \"실드 버스트 차지\", \n    \"description_ru\": \"Силовой защиты\", \n    \"description_zh\": \"护盾指挥脉冲弹药\", \n    \"descriptionID\": 314936, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kommandostrahlenmunition: Schilde\", \n    \"name_en-us\": \"Shield Command Burst Charges\", \n    \"name_es\": \"Cargas de estallido de mando de escudo\", \n    \"name_fr\": \"Charges de salve commandante de boucliers\", \n    \"name_it\": \"Shield Command Burst Charges\", \n    \"name_ja\": \"シールドコマンドバーストチャージ\", \n    \"name_ko\": \"실드 버스트 차지\", \n    \"name_ru\": \"Щитов\", \n    \"name_zh\": \"护盾指挥脉冲弹药\", \n    \"nameID\": 314935, \n    \"parentGroupID\": 2290\n  }, \n  \"2295\": {\n    \"description_de\": \"Kommandostrahlenmunition: Gefecht\", \n    \"description_en-us\": \"Skirmish Command Burst Charges\", \n    \"description_es\": \"Cargas de estallido de mando de escaramuza.\", \n    \"description_fr\": \"Charges de salve commandante de guérilla\", \n    \"description_it\": \"Skirmish Command Burst Charges\", \n    \"description_ja\": \"機動戦コマンドバーストチャージ\", \n    \"description_ko\": \"스커미시 버스트 차지\", \n    \"description_ru\": \"Боевого маневрирования\", \n    \"description_zh\": \"游击战指挥脉冲弹药\", \n    \"descriptionID\": 314940, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kommandostrahlenmunition: Gefecht\", \n    \"name_en-us\": \"Skirmish Command Burst Charges\", \n    \"name_es\": \"Cargas de estallido de mando de escaramuza\", \n    \"name_fr\": \"Charges de salve commandante de guérilla\", \n    \"name_it\": \"Skirmish Command Burst Charges\", \n    \"name_ja\": \"機動戦コマンドバーストチャージ\", \n    \"name_ko\": \"스커미시 버스트 차지\", \n    \"name_ru\": \"Маневрирования\", \n    \"name_zh\": \"游击战指挥脉冲弹药\", \n    \"nameID\": 314937, \n    \"parentGroupID\": 2290\n  }, \n  \"2297\": {\n    \"description_de\": \"Kommandostrahlenmunition\", \n    \"description_en-us\": \"Command Burst Charges\", \n    \"description_es\": \"Cargas de estallido de mando.\", \n    \"description_fr\": \"Charges de salve commandante\", \n    \"description_it\": \"Command Burst Charges\", \n    \"description_ja\": \"コマンドバーストチャージ\", \n    \"description_ko\": \"커맨드 버스트 차지\", \n    \"description_ru\": \"Заряды импульсных оптимизаторов\", \n    \"description_zh\": \"指挥脉冲弹药\", \n    \"descriptionID\": 314942, \n    \"hasTypes\": 0, \n    \"iconID\": 20970, \n    \"name_de\": \"Kommandostrahlenmunition\", \n    \"name_en-us\": \"Command Burst Charges\", \n    \"name_es\": \"Cargas de estallido de mando\", \n    \"name_fr\": \"Charges de salve commandante\", \n    \"name_it\": \"Command Burst Charges\", \n    \"name_ja\": \"コマンドバーストチャージ\", \n    \"name_ko\": \"커맨드 버스트 차지\", \n    \"name_ru\": \"Заряды импульсных оптимизаторов\", \n    \"name_zh\": \"指挥脉冲弹药\", \n    \"nameID\": 314941, \n    \"parentGroupID\": 11\n  }, \n  \"2298\": {\n    \"description_de\": \"Kommandostrahlenmunition: Panzerung\", \n    \"description_en-us\": \"Armor Command Burst Charges\", \n    \"description_es\": \"Cargas de estallido de mando de blindaje.\", \n    \"description_fr\": \"Charges de salve commandante de blindage\", \n    \"description_it\": \"Armor Command Burst Charges\", \n    \"description_ja\": \"アーマーコマンドバーストチャージ\", \n    \"description_ko\": \"장갑 버스트 차지\", \n    \"description_ru\": \"Броневой защиты\", \n    \"description_zh\": \"装甲指挥脉冲弹药\", \n    \"descriptionID\": 314944, \n    \"hasTypes\": 1, \n    \"iconID\": 20970, \n    \"name_de\": \"Kommandostrahlenmunition: Panzerung\", \n    \"name_en-us\": \"Armor Command Burst Charges\", \n    \"name_es\": \"Cargas de estallido de mando de blindaje\", \n    \"name_fr\": \"Charges de salve commandante de blindage\", \n    \"name_it\": \"Armor Command Burst Charges\", \n    \"name_ja\": \"アーマーコマンドバーストチャージ\", \n    \"name_ko\": \"장갑 버스트 차지\", \n    \"name_ru\": \"Брони\", \n    \"name_zh\": \"装甲指挥脉冲弹药\", \n    \"nameID\": 314943, \n    \"parentGroupID\": 2297\n  }, \n  \"2299\": {\n    \"description_de\": \"Kommandostrahlenmunition: Information\", \n    \"description_en-us\": \"Information Command Burst Charges\", \n    \"description_es\": \"Cargas de estallido de mando de información.\", \n    \"description_fr\": \"Charges de salve commandante d'information\", \n    \"description_it\": \"Information Command Burst Charges\", \n    \"description_ja\": \"情報戦コマンドバーストチャージ\", \n    \"description_ko\": \"정보전 버스트 차지\", \n    \"description_ru\": \"Мер РЭБ\", \n    \"description_zh\": \"信息战指挥脉冲弹药\", \n    \"descriptionID\": 314946, \n    \"hasTypes\": 1, \n    \"iconID\": 20970, \n    \"name_de\": \"Kommandostrahlenmunition: Information\", \n    \"name_en-us\": \"Information Command Burst Charges\", \n    \"name_es\": \"Cargas de estallido de mando de información\", \n    \"name_fr\": \"Charges de salve commandante d'information\", \n    \"name_it\": \"Information Command Burst Charges\", \n    \"name_ja\": \"情報戦コマンドバーストチャージ\", \n    \"name_ko\": \"정보전 버스트 차지\", \n    \"name_ru\": \"РЭБ\", \n    \"name_zh\": \"信息战指挥脉冲弹药\", \n    \"nameID\": 314945, \n    \"parentGroupID\": 2297\n  }, \n  \"2300\": {\n    \"description_de\": \"Bergbauvorarbeiterstrahlenmunition\", \n    \"description_en-us\": \"Mining Foreman Burst Charges\", \n    \"description_es\": \"Cargas de estallido de capataz minero\", \n    \"description_fr\": \"Charges de salve de contremaîtrise d'extraction minière\", \n    \"description_it\": \"Mining Foreman Burst Charges\", \n    \"description_ja\": \"採掘支援バーストチャージ\", \n    \"description_ko\": \"채광 버스트 차지\", \n    \"description_ru\": \"Добычи сырья\", \n    \"description_zh\": \"开采先锋脉冲弹药\", \n    \"descriptionID\": 314948, \n    \"hasTypes\": 1, \n    \"iconID\": 20970, \n    \"name_de\": \"Bergbauvorarbeiterstrahlenmunition\", \n    \"name_en-us\": \"Mining Foreman Burst Charges\", \n    \"name_es\": \"Cargas de estallido de capataz minero\", \n    \"name_fr\": \"Charges de salve de contremaîtrise d'extraction minière\", \n    \"name_it\": \"Mining Foreman Burst Charges\", \n    \"name_ja\": \"採掘支援バーストチャージ\", \n    \"name_ko\": \"채광 버스트 차지\", \n    \"name_ru\": \"Добычи\", \n    \"name_zh\": \"开采先锋脉冲弹药\", \n    \"nameID\": 314947, \n    \"parentGroupID\": 2297\n  }, \n  \"2301\": {\n    \"description_de\": \"Kommandostrahlenmunition: Schilde\", \n    \"description_en-us\": \"Shield Command Burst Charges\", \n    \"description_es\": \"Cargas de estallido de mando de escudo.\", \n    \"description_fr\": \"Charges de salve commandante de boucliers\", \n    \"description_it\": \"Shield Command Burst Charges\", \n    \"description_ja\": \"シールドコマンドバーストチャージ\", \n    \"description_ko\": \"실드 버스트 차지\", \n    \"description_ru\": \"Силовой защиты\", \n    \"description_zh\": \"护盾指挥脉冲弹药\", \n    \"descriptionID\": 314950, \n    \"hasTypes\": 1, \n    \"iconID\": 20970, \n    \"name_de\": \"Kommandostrahlenmunition: Schilde\", \n    \"name_en-us\": \"Shield Command Burst Charges\", \n    \"name_es\": \"Cargas de estallido de mando de escudo\", \n    \"name_fr\": \"Charges de salve commandante de boucliers\", \n    \"name_it\": \"Shield Command Burst Charges\", \n    \"name_ja\": \"シールドコマンドバーストチャージ\", \n    \"name_ko\": \"실드 버스트 차지\", \n    \"name_ru\": \"Щитов\", \n    \"name_zh\": \"护盾指挥脉冲弹药\", \n    \"nameID\": 314949, \n    \"parentGroupID\": 2297\n  }, \n  \"2302\": {\n    \"description_de\": \"Kommandostrahlenmunition: Gefecht\", \n    \"description_en-us\": \"Skirmish Command Burst Charges\", \n    \"description_es\": \"Cargas de estallido de mando de escaramuza.\", \n    \"description_fr\": \"Charges de salve commandante de guérilla\", \n    \"description_it\": \"Skirmish Command Burst Charges\", \n    \"description_ja\": \"機動戦コマンドバーストチャージ\", \n    \"description_ko\": \"스커미시 버스트 차지\", \n    \"description_ru\": \"Боевого маневрирования\", \n    \"description_zh\": \"游击战指挥脉冲弹药\", \n    \"descriptionID\": 314952, \n    \"hasTypes\": 1, \n    \"iconID\": 20970, \n    \"name_de\": \"Kommandostrahlenmunition: Gefecht\", \n    \"name_en-us\": \"Skirmish Command Burst Charges\", \n    \"name_es\": \"Cargas de estallido de mando de escaramuza\", \n    \"name_fr\": \"Charges de salve commandante de guérilla\", \n    \"name_it\": \"Skirmish Command Burst Charges\", \n    \"name_ja\": \"機動戦コマンドバーストチャージ\", \n    \"name_ko\": \"스커미시 버스트 차지\", \n    \"name_ru\": \"Маневрирования\", \n    \"name_zh\": \"游击战指挥脉冲弹药\", \n    \"nameID\": 314951, \n    \"parentGroupID\": 2297\n  }, \n  \"2306\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Corvettes\", \n    \"name_en-us\": \"Corvettes\", \n    \"name_es\": \"Corbetas\", \n    \"name_fr\": \"Corvettes\", \n    \"name_it\": \"Corvettes\", \n    \"name_ja\": \"コルベット\", \n    \"name_ko\": \"코르벳\", \n    \"name_ru\": \"Корветы\", \n    \"name_zh\": \"轻型护卫舰\", \n    \"nameID\": 314956, \n    \"parentGroupID\": 1954\n  }, \n  \"2307\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Standard-Corvettes\", \n    \"name_en-us\": \"Standard Corvettes\", \n    \"name_es\": \"Corbetas estándar\", \n    \"name_fr\": \"Corvettes standard\", \n    \"name_it\": \"Standard Corvettes\", \n    \"name_ja\": \"標準仕様コルベット\", \n    \"name_ko\": \"일반 코르벳\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准轻型护卫舰\", \n    \"nameID\": 314957, \n    \"parentGroupID\": 2306\n  }, \n  \"2308\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 314958, \n    \"parentGroupID\": 2307\n  }, \n  \"2309\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Taktische Zerstörer\", \n    \"name_en-us\": \"Tactical Destroyers\", \n    \"name_es\": \"Destructores tácticos\", \n    \"name_fr\": \"Destroyers tactiques\", \n    \"name_it\": \"Tactical Destroyers\", \n    \"name_ja\": \"戦術駆逐艦\", \n    \"name_ko\": \"전술 디스트로이어\", \n    \"name_ru\": \"Многорежимные эсминцы\", \n    \"name_zh\": \"战术驱逐舰\", \n    \"nameID\": 314959, \n    \"parentGroupID\": 2036\n  }, \n  \"2310\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 314960, \n    \"parentGroupID\": 2309\n  }, \n  \"2311\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Spezielle Schlachtkreuzer\", \n    \"name_en-us\": \"Special Battlecruisers\", \n    \"name_es\": \"Cruceros de combate especiales\", \n    \"name_fr\": \"Special Battlecruisers\", \n    \"name_it\": \"Special Battlecruisers\", \n    \"name_ja\": \"特別版巡洋戦艦\", \n    \"name_ko\": \"특수 배틀크루저\", \n    \"name_ru\": \"Малосерийные линейные крейсеры\", \n    \"name_zh\": \"特种战列巡洋舰\", \n    \"nameID\": 315008, \n    \"parentGroupID\": 1955\n  }, \n  \"2312\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Spezielle Schlachtkreuzer\", \n    \"name_en-us\": \"Special Battlecruisers\", \n    \"name_es\": \"Cruceros de combate especiales\", \n    \"name_fr\": \"Special Battlecruisers\", \n    \"name_it\": \"Special Battlecruisers\", \n    \"name_ja\": \"特別版巡洋戦艦\", \n    \"name_ko\": \"특수 배틀크루저\", \n    \"name_ru\": \"Малосерийные линейные крейсеры\", \n    \"name_zh\": \"特种战列巡洋舰\", \n    \"nameID\": 315009, \n    \"parentGroupID\": 2311\n  }, \n  \"2313\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Spezielle Zerstörer\", \n    \"name_en-us\": \"Special Destroyers\", \n    \"name_es\": \"Destructores especiales\", \n    \"name_fr\": \"Special Destroyers\", \n    \"name_it\": \"Special Destroyers\", \n    \"name_ja\": \"特別版駆逐艦\", \n    \"name_ko\": \"특수 디스트로이어\", \n    \"name_ru\": \"Малосерийные эсминцы\", \n    \"name_zh\": \"特种驱逐舰\", \n    \"nameID\": 315010, \n    \"parentGroupID\": 1989\n  }, \n  \"2314\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Spezielle Zerstörer\", \n    \"name_en-us\": \"Special Destroyers\", \n    \"name_es\": \"Destructores especiales\", \n    \"name_fr\": \"Special Destroyers\", \n    \"name_it\": \"Special Destroyers\", \n    \"name_ja\": \"特別版駆逐艦\", \n    \"name_ko\": \"특수 디스트로이어\", \n    \"name_ru\": \"Малосерийные эсминцы\", \n    \"name_zh\": \"特种驱逐舰\", \n    \"nameID\": 315011, \n    \"parentGroupID\": 2313\n  }, \n  \"2315\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Shuttles\", \n    \"name_en-us\": \"Shuttles\", \n    \"name_es\": \"Lanzaderas\", \n    \"name_fr\": \"Shuttles\", \n    \"name_it\": \"Shuttles\", \n    \"name_ja\": \"シャトル\", \n    \"name_ko\": \"셔틀\", \n    \"name_ru\": \"Катера\", \n    \"name_zh\": \"穿梭机\", \n    \"nameID\": 315012, \n    \"parentGroupID\": 1954\n  }, \n  \"2316\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Spezielle Shuttles\", \n    \"name_en-us\": \"Special Shuttles\", \n    \"name_es\": \"Lanzaderas especiales\", \n    \"name_fr\": \"Special Shuttles\", \n    \"name_it\": \"Special Shuttles\", \n    \"name_ja\": \"特別版シャトル\", \n    \"name_ko\": \"특수 셔틀\", \n    \"name_ru\": \"Малосерийные катера\", \n    \"name_zh\": \"特种穿梭机\", \n    \"nameID\": 315013, \n    \"parentGroupID\": 2315\n  }, \n  \"2317\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2039, \n    \"name_de\": \"Tresore\", \n    \"name_en-us\": \"Strong Boxes\", \n    \"name_es\": \"Cajas fuertes\", \n    \"name_fr\": \"Coffres-forts\", \n    \"name_it\": \"Strong Boxes\", \n    \"name_ja\": \"金庫\", \n    \"name_ko\": \"금고\", \n    \"name_ru\": \"Спецконтейнеры\", \n    \"name_zh\": \"保险柜\", \n    \"nameID\": 315399, \n    \"parentGroupID\": 19\n  }, \n  \"2318\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 315401, \n    \"parentGroupID\": 1972\n  }, \n  \"2319\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Bergbaubarkassen\", \n    \"name_en-us\": \"Mining Barges\", \n    \"name_es\": \"Gabarras mineras\", \n    \"name_fr\": \"Barges d'extraction\", \n    \"name_it\": \"Mining Barges\", \n    \"name_ja\": \"採掘艦\", \n    \"name_ko\": \"채광선\", \n    \"name_ru\": \"Буровые корабли\", \n    \"name_zh\": \"采矿驳船\", \n    \"nameID\": 315402, \n    \"parentGroupID\": 2011\n  }, \n  \"2320\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Expeditionsfregatten\", \n    \"name_en-us\": \"Expedition Frigates\", \n    \"name_es\": \"Fragatas expedicionarias\", \n    \"name_fr\": \"Frégates d'expédition\", \n    \"name_it\": \"Expedition Frigates\", \n    \"name_ja\": \"長距離フリゲート\", \n    \"name_ko\": \"탐사 프리깃\", \n    \"name_ru\": \"Разведочно-буровые фрегаты\", \n    \"name_zh\": \"勘探护卫舰\", \n    \"nameID\": 315403, \n    \"parentGroupID\": 2042\n  }, \n  \"2321\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 315404, \n    \"parentGroupID\": 2001\n  }, \n  \"2322\": {\n    \"description_de\": \"Blaupausen für Ingenieurskomplexe\", \n    \"description_en-us\": \"Blueprints of Engineering Complex structures.\", \n    \"description_es\": \"Planos de estructuras de complejos de ingeniería.\", \n    \"description_fr\": \"Plans de construction de complexes d'ingénierie\", \n    \"description_it\": \"Blueprints of Engineering Complex structures.\", \n    \"description_ja\": \"エンジニアリング複合施設ストラクチャのブループリント。\", \n    \"description_ko\": \"엔지니어링 시설 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи промышленных комплексов\", \n    \"description_zh\": \"工程复合体建筑的蓝图\", \n    \"descriptionID\": 315407, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Ingenieurskomplexe\", \n    \"name_en-us\": \"Engineering Complexes\", \n    \"name_es\": \"Complejos de ingeniería\", \n    \"name_fr\": \"Complexes d'ingénierie\", \n    \"name_it\": \"Engineering Complexes\", \n    \"name_ja\": \"エンジニアリング複合施設\", \n    \"name_ko\": \"엔지니어링 시설\", \n    \"name_ru\": \"Промышленные комплексы\", \n    \"name_zh\": \"工程复合体\", \n    \"nameID\": 315406, \n    \"parentGroupID\": 1338\n  }, \n  \"2323\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Ingenieursdienstmodule\", \n    \"name_en-us\": \"Engineering Service Modules\", \n    \"name_es\": \"Módulos de servicio de ingeniería\", \n    \"name_fr\": \"Modules de service d'ingénierie\", \n    \"name_it\": \"Engineering Service Modules\", \n    \"name_ja\": \"エンジニアリングサービスモジュール\", \n    \"name_ko\": \"엔지니어링 시설\", \n    \"name_ru\": \"Служебные модули промышленных комплексов\", \n    \"name_zh\": \"工程服务装备\", \n    \"nameID\": 315408, \n    \"parentGroupID\": 2166\n  }, \n  \"2324\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Ingenieurskomplexe\", \n    \"name_en-us\": \"Engineering Complexes\", \n    \"name_es\": \"Complejos de ingeniería\", \n    \"name_fr\": \"Complexes d'ingénierie\", \n    \"name_it\": \"Engineering Complexes\", \n    \"name_ja\": \"エンジニアリング複合施設\", \n    \"name_ko\": \"엔지니어링 시설\", \n    \"name_ru\": \"Промышленные комплексы\", \n    \"name_zh\": \"工程复合体\", \n    \"nameID\": 315409, \n    \"parentGroupID\": 477\n  }, \n  \"2325\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2934, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 315411, \n    \"parentGroupID\": 912\n  }, \n  \"2327\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Raffinerien\", \n    \"name_en-us\": \"Refineries\", \n    \"name_es\": \"Refinerías\", \n    \"name_fr\": \"Raffineries\", \n    \"name_it\": \"Refineries\", \n    \"name_ja\": \"精錬所\", \n    \"name_ko\": \"정제소\", \n    \"name_ru\": \"Перерабатывающие комплексы\", \n    \"name_zh\": \"精炼厂\", \n    \"nameID\": 316320, \n    \"parentGroupID\": 477\n  }, \n  \"2328\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"РУДА\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 315412, \n    \"parentGroupID\": 2085\n  }, \n  \"2330\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Sonderversion-Transporter\", \n    \"name_en-us\": \"Special Edition Haulers\", \n    \"name_es\": \"Naves de mercancías de edición especial\", \n    \"name_fr\": \"Cargos édition spéciale\", \n    \"name_it\": \"Special Edition Haulers\", \n    \"name_ja\": \"特別エディションハウラー\", \n    \"name_ko\": \"스페셜 에디션 운반선\", \n    \"name_ru\": \"Перевозчики особой версии\", \n    \"name_zh\": \"特别版运载舰\", \n    \"nameID\": 315414, \n    \"parentGroupID\": 2006\n  }, \n  \"2331\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"РУДА\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 315415, \n    \"parentGroupID\": 2330\n  }, \n  \"2332\": {\n    \"hasTypes\": 1, \n    \"iconID\": 3007, \n    \"name_de\": \"Ingenieursdienstmodule\", \n    \"name_en-us\": \"Engineering Service Modules\", \n    \"name_es\": \"Módulos de servicio de ingeniería\", \n    \"name_fr\": \"Modules de service d'ingénierie\", \n    \"name_it\": \"Engineering Service Modules\", \n    \"name_ja\": \"エンジニアリングサービスモジュール\", \n    \"name_ko\": \"엔지니어링 시설\", \n    \"name_ru\": \"Служебные модули промышленных комплексов\", \n    \"name_zh\": \"工程服务装备\", \n    \"nameID\": 315418, \n    \"parentGroupID\": 2210\n  }, \n  \"2333\": {\n    \"description_de\": \"Blaupausen für Industrie-Kommandoschiffe\", \n    \"description_en-us\": \"Blueprints of industrial command ships\", \n    \"description_es\": \"Planos de naves de mando industriales.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de commandement industriel\", \n    \"description_it\": \"Blueprints of industrial command ships\", \n    \"description_ja\": \"指揮型輸送艦のブループリント\", \n    \"description_ko\": \"인더스트리얼 커맨드쉽 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи флагманов буровых флотилий\", \n    \"description_zh\": \"工业指挥舰的蓝图\", \n    \"descriptionID\": 315440, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Industrie-Kommandoschiffe\", \n    \"name_en-us\": \"Industrial Command Ships\", \n    \"name_es\": \"Naves de mando industriales\", \n    \"name_fr\": \"Vaisseaux de commandement industriel\", \n    \"name_it\": \"Industrial Command Ships\", \n    \"name_ja\": \"指揮型輸送艦\", \n    \"name_ko\": \"인더스트리얼 커맨드쉽\", \n    \"name_ru\": \"Флагманы буровых флотилий\", \n    \"name_zh\": \"工业指挥舰\", \n    \"nameID\": 315439, \n    \"parentGroupID\": 204\n  }, \n  \"2334\": {\n    \"description_de\": \"Blaupausen für Industrie-Kommandoschiffdesigns von ORE\", \n    \"description_en-us\": \"Blueprints of ORE industrial command ship designs.\", \n    \"description_es\": \"Planos de diseños de naves de mando industriales de ORE.\", \n    \"description_fr\": \"Plans de construction de vaisseaux de commandement industriel ORE.\", \n    \"description_it\": \"Blueprints of ORE industrial command ship designs.\", \n    \"description_ja\": \"ORE指揮型輸送艦の設計ブループリント。\", \n    \"description_ko\": \"ORE 인더스트리얼 커맨드쉽 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи флагманов буровых флотилий, разработанных ОРЭ.\", \n    \"description_zh\": \"联合矿业工业指挥舰设计蓝图。\", \n    \"descriptionID\": 315442, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 315441, \n    \"parentGroupID\": 2333\n  }, \n  \"2335\": {\n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Industrie-Kommandoschiffe\", \n    \"name_en-us\": \"Industrial Command Ships\", \n    \"name_es\": \"Naves de mando industriales\", \n    \"name_fr\": \"Vaisseaux de commandement industriel\", \n    \"name_it\": \"Industrial Command Ships\", \n    \"name_ja\": \"指揮型輸送艦\", \n    \"name_ko\": \"인더스트리얼 커맨드쉽\", \n    \"name_ru\": \"Флагманы буровых флотилий\", \n    \"name_zh\": \"工业指挥舰\", \n    \"nameID\": 315443, \n    \"parentGroupID\": 1382\n  }, \n  \"2336\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27058, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 315444, \n    \"parentGroupID\": 2335\n  }, \n  \"2337\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Industrie-Kommandoschiffe\", \n    \"name_en-us\": \"Industrial Command Ships\", \n    \"name_es\": \"Naves de mando industriales\", \n    \"name_fr\": \"Vaisseaux de commandement industriel\", \n    \"name_it\": \"Industrial Command Ships\", \n    \"name_ja\": \"指揮型輸送艦\", \n    \"name_ko\": \"인더스트리얼 커맨드쉽\", \n    \"name_ru\": \"Флагманы буровых флотилий\", \n    \"name_zh\": \"工业指挥舰\", \n    \"nameID\": 315445, \n    \"parentGroupID\": 2006\n  }, \n  \"2338\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 315446, \n    \"parentGroupID\": 2337\n  }, \n  \"2339\": {\n    \"description_de\": \"Blaupausen für Struktur-Kampfmodifikationen\", \n    \"description_en-us\": \"Blueprints for Structure Combat rigs.\", \n    \"description_es\": \"Planos para complementos de combate para estructuras.\", \n    \"description_fr\": \"Plans de construction pour optimisations de combat (Structure).\", \n    \"description_it\": \"Blueprints for Structure Combat rigs.\", \n    \"description_ja\": \"ストラクチャ コンバットリグのブループリント。\", \n    \"description_ko\": \"스탠드업 구조물 전투 리그 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи модификаторов вооружения для сооружений\", \n    \"description_zh\": \"建筑战斗改装件的蓝图。\", \n    \"descriptionID\": 315462, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Struktur-Ingenieursmodifikationen\", \n    \"name_en-us\": \"Structure Engineering Rigs\", \n    \"name_es\": \"Complementos de ingeniería para estructuras\", \n    \"name_fr\": \"Optimisations d'ingénierie (Structure)\", \n    \"name_it\": \"Structure Engineering Rigs\", \n    \"name_ja\": \"ストラクチャ エンジニアリングリグ\", \n    \"name_ko\": \"스탠드업 엔지니어링 리그\", \n    \"name_ru\": \"Модификаторы производства\", \n    \"name_zh\": \"建筑工程改装件\", \n    \"nameID\": 315461, \n    \"parentGroupID\": 2157\n  }, \n  \"2340\": {\n    \"description_de\": \"Struktur-Ingenieursmodifikationen\", \n    \"description_en-us\": \"Structure Engineering Rigs\", \n    \"description_es\": \"Complementos de ingeniería para estructuras\", \n    \"description_fr\": \"Optimisations d'ingénierie (Structure)\", \n    \"description_it\": \"Structure Engineering Rigs\", \n    \"description_ja\": \"ストラクチャ エンジニアリングリグ\", \n    \"description_ko\": \"스탠드업 엔지니어링 리그\", \n    \"description_ru\": \"Модификаторы производства\", \n    \"description_zh\": \"建筑工程改装件\", \n    \"descriptionID\": 315464, \n    \"hasTypes\": 0, \n    \"iconID\": 21729, \n    \"name_de\": \"Struktur-Ingenieursmodifikationen\", \n    \"name_en-us\": \"Structure Engineering Rigs\", \n    \"name_es\": \"Complementos de ingeniería para estructuras\", \n    \"name_fr\": \"Optimisations d'ingénierie (Structure)\", \n    \"name_it\": \"Structure Engineering Rigs\", \n    \"name_ja\": \"ストラクチャ エンジニアリングリグ\", \n    \"name_ko\": \"스탠드업 엔지니어링 리그\", \n    \"name_ru\": \"Модификаторы производства\", \n    \"name_zh\": \"建筑工程改装件\", \n    \"nameID\": 315463, \n    \"parentGroupID\": 2203\n  }, \n  \"2341\": {\n    \"description_de\": \"Mittelgroße Struktur: Aufbereitungs- und Reaktionsmodifikationen\", \n    \"description_en-us\": \"Medium Structure Reprocessing and Reaction Rigs\", \n    \"description_es\": \"Complementos de reacción y reprocesamiento de estructuras medianas.\", \n    \"description_fr\": \"Optimisations de retraitement et de réaction M (structure)\", \n    \"description_it\": \"Medium Structure Reprocessing and Reaction Rigs\", \n    \"description_ja\": \"中型ストラクチャ再処理リグ\", \n    \"description_ko\": \"중형 스탠드업 구조물 정체 및 반응로 리그\", \n    \"description_ru\": \"Надстройки для средних сооружений — переработка и реакции\", \n    \"description_zh\": \"中型建筑提炼和反应改装件\", \n    \"descriptionID\": 315467, \n    \"hasTypes\": 1, \n    \"iconID\": 21602, \n    \"name_de\": \"Mittelgroße Struktur: Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Medium Structure Resource Processing Rigs\", \n    \"name_es\": \"Complementos de procesamiento de recursos para estructuras medianas\", \n    \"name_fr\": \"Optimisations de traitement des ressources M (structure)\", \n    \"name_it\": \"Medium Structure Resource Processing Rigs\", \n    \"name_ja\": \"中型ストラクチャ再処理リグ\", \n    \"name_ko\": \"중형 자원 정제 리그\", \n    \"name_ru\": \"Надстройки для средних сооружений — переработка ресурсов\", \n    \"name_zh\": \"中型建筑资源提炼改装件\", \n    \"nameID\": 315466, \n    \"parentGroupID\": 2204\n  }, \n  \"2342\": {\n    \"description_de\": \"Große Struktur: Aufbereitungs- und Reaktionsmodifikationen\", \n    \"description_en-us\": \"Large Structure Reprocessing and Reaction Rigs\", \n    \"description_es\": \"Complementos de reacción y reprocesamiento de estructuras grandes.\", \n    \"description_fr\": \"Optimisations de retraitement et de réaction L (structure)\", \n    \"description_it\": \"Large Structure Reprocessing and Reaction Rigs\", \n    \"description_ja\": \"大型ストラクチャ再処理リグ\", \n    \"description_ko\": \"대형 스탠드업 구조물 정체 및 반응로 리그입니다.\", \n    \"description_ru\": \"Надстройки для больших сооружений — переработка и реакции\", \n    \"description_zh\": \"大型建筑提炼和反应改装件\", \n    \"descriptionID\": 315469, \n    \"hasTypes\": 1, \n    \"iconID\": 21602, \n    \"name_de\": \"Große Struktur: Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"Large Structure Resource Processing Rigs\", \n    \"name_es\": \"Complementos de procesamiento de recursos para estructuras grandes\", \n    \"name_fr\": \"Optimisations de traitement des ressources L (structure)\", \n    \"name_it\": \"Large Structure Resource Processing Rigs\", \n    \"name_ja\": \"大型ストラクチャ再処理リグ\", \n    \"name_ko\": \"대형 자원 정제 리그\", \n    \"name_ru\": \"Надстройки для больших сооружений — переработка ресурсов\", \n    \"name_zh\": \"大型建筑资源提炼改装件\", \n    \"nameID\": 315468, \n    \"parentGroupID\": 2204\n  }, \n  \"2343\": {\n    \"description_de\": \"Extragroße Struktur: Aufbereitungs- und Reaktionsmodifikationen\", \n    \"description_en-us\": \"X-Large Structure Reprocessing and Reaction Rigs\", \n    \"description_es\": \"Complementos de reacción y reprocesamiento de estructuras extragrandes.\", \n    \"description_fr\": \"Optimisations de retraitement et de réaction XL (structure)\", \n    \"description_it\": \"X-Large Structure Reprocessing and Reaction Rigs\", \n    \"description_ja\": \"超大型ストラクチャ再処理リグ\", \n    \"description_ko\": \"초대형 스탠드업 구조물 정제 및 반응로 리그입니다.\", \n    \"description_ru\": \"Надстройки для сверхбольших сооружений — переработка и реакции\", \n    \"description_zh\": \"超大型建筑提炼和反应改装件\", \n    \"descriptionID\": 315471, \n    \"hasTypes\": 1, \n    \"iconID\": 21602, \n    \"name_de\": \"Extragroße Struktur: Ressourcenverarbeitungsmodifikationen\", \n    \"name_en-us\": \"X-Large Structure Resource Processing Rigs\", \n    \"name_es\": \"Complementos de procesamiento de recursos para estructuras extragrandes\", \n    \"name_fr\": \"Optimisations de traitement des ressources XL (structure)\", \n    \"name_it\": \"X-Large Structure Resource Processing Rigs\", \n    \"name_ja\": \"超大型ストラクチャ再処理リグ\", \n    \"name_ko\": \"초대형 자원 정제 리그\", \n    \"name_ru\": \"Надстройки для сверхбольших сооружений — переработка ресурсов\", \n    \"name_zh\": \"超大型建筑资源提炼改装件\", \n    \"nameID\": 315470, \n    \"parentGroupID\": 2204\n  }, \n  \"2344\": {\n    \"description_de\": \"Mittelgroße Struktur-Kampfmodifikationen\", \n    \"description_en-us\": \"Medium Structure Combat Rigs\", \n    \"description_es\": \"Complementos de combate para estructuras medianas.\", \n    \"description_fr\": \"Optimisations de retraitement intermédiaires (Structure)\", \n    \"description_it\": \"Medium Structure Combat Rigs\", \n    \"description_ja\": \"中型ストラクチャ コンバットリグ\", \n    \"description_ko\": \"중형 전투 리그\", \n    \"description_ru\": \"Средние\", \n    \"description_zh\": \"中型建筑战斗改装件\", \n    \"descriptionID\": 315473, \n    \"hasTypes\": 1, \n    \"iconID\": 21599, \n    \"name_de\": \"Mittelgroße Struktur-Kampfmodifikationen\", \n    \"name_en-us\": \"Medium Structure Combat Rigs\", \n    \"name_es\": \"Complementos de combate para estructuras medianas\", \n    \"name_fr\": \"Optimisations de retraitement intermédiaires (Structure)\", \n    \"name_it\": \"Medium Structure Combat Rigs\", \n    \"name_ja\": \"中型ストラクチャ コンバットリグ\", \n    \"name_ko\": \"중형 전투 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型建筑战斗改装件\", \n    \"nameID\": 315472, \n    \"parentGroupID\": 2205\n  }, \n  \"2345\": {\n    \"description_de\": \"Große Struktur-Kampfmodifikationen\", \n    \"description_en-us\": \"Large Structure Combat Rigs\", \n    \"description_es\": \"Complementos de combate para estructuras grandes.\", \n    \"description_fr\": \"Grandes optimisations de combat (Structure)\", \n    \"description_it\": \"Large Structure Combat Rigs\", \n    \"description_ja\": \"大型ストラクチャ コンバットリグ\", \n    \"description_ko\": \"대형 전투 리그\", \n    \"description_ru\": \"Большие\", \n    \"description_zh\": \"大型建筑战斗改装件\", \n    \"descriptionID\": 315475, \n    \"hasTypes\": 1, \n    \"iconID\": 21599, \n    \"name_de\": \"Große Struktur-Kampfmodifikationen\", \n    \"name_en-us\": \"Large Structure Combat Rigs\", \n    \"name_es\": \"Complementos de combate para estructuras grandes\", \n    \"name_fr\": \"Grandes optimisations de combat (Structure)\", \n    \"name_it\": \"Large Structure Combat Rigs\", \n    \"name_ja\": \"大型ストラクチャ コンバットリグ\", \n    \"name_ko\": \"대형 전투 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型建筑战斗改装件\", \n    \"nameID\": 315474, \n    \"parentGroupID\": 2205\n  }, \n  \"2346\": {\n    \"description_de\": \"Extragroße Struktur-Kampfmodifikationen\", \n    \"description_en-us\": \"X-Large Structure Combat Rigs\", \n    \"description_es\": \"Complementos de combate para estructuras extragrandes.\", \n    \"description_fr\": \"Très grandes optimisations de combat (Structure)\", \n    \"description_it\": \"X-Large Structure Combat Rigs\", \n    \"description_ja\": \"超大型ストラクチャ コンバットリグ\", \n    \"description_ko\": \"초대형 전투 리그\", \n    \"description_ru\": \"Сверхбольшие\", \n    \"description_zh\": \"超大型建筑战斗改装件\", \n    \"descriptionID\": 315477, \n    \"hasTypes\": 1, \n    \"iconID\": 21599, \n    \"name_de\": \"Extragroße Struktur-Kampfmodifikationen\", \n    \"name_en-us\": \"X-Large Structure Combat Rigs\", \n    \"name_es\": \"Complementos de combate para estructuras extragrandes\", \n    \"name_fr\": \"Très grandes optimisations de combat (Structure)\", \n    \"name_it\": \"X-Large Structure Combat Rigs\", \n    \"name_ja\": \"超大型ストラクチャ コンバットリグ\", \n    \"name_ko\": \"초대형 전투 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型建筑战斗改装件\", \n    \"nameID\": 315476, \n    \"parentGroupID\": 2205\n  }, \n  \"2347\": {\n    \"description_de\": \"Mittelgroße Struktur-Ingenieursmodifikationen\", \n    \"description_en-us\": \"Medium Structure Engineering Rigs\", \n    \"description_es\": \"Complementos de ingeniería para estructuras medianas.\", \n    \"description_fr\": \"Optimisations d'ingénierie intermédiaires (Structure)\", \n    \"description_it\": \"Medium Structure Engineering Rigs\", \n    \"description_ja\": \"中型ストラクチャ エンジニアリングリグ\", \n    \"description_ko\": \"중형 엔지니어링 리그\", \n    \"description_ru\": \"Средние\", \n    \"description_zh\": \"中型建筑工程改装件\", \n    \"descriptionID\": 315479, \n    \"hasTypes\": 1, \n    \"iconID\": 21729, \n    \"name_de\": \"Mittelgroße Struktur-Ingenieursmodifikationen\", \n    \"name_en-us\": \"Medium Structure Engineering Rigs\", \n    \"name_es\": \"Complementos de ingeniería para estructuras medianas\", \n    \"name_fr\": \"Optimisations d'ingénierie intermédiaires (Structure)\", \n    \"name_it\": \"Medium Structure Engineering Rigs\", \n    \"name_ja\": \"中型ストラクチャ エンジニアリングリグ\", \n    \"name_ko\": \"중형 엔지니어링 리그\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型建筑工程改装件\", \n    \"nameID\": 315478, \n    \"parentGroupID\": 2340\n  }, \n  \"2348\": {\n    \"description_de\": \"Große Struktur-Ingenieursmodifikationen\", \n    \"description_en-us\": \"Large Structure Engineering Rigs\", \n    \"description_es\": \"Complementos de ingeniería para estructuras grandes.\", \n    \"description_fr\": \"Grandes optimisations d'ingénierie (Structure)\", \n    \"description_it\": \"Large Structure Engineering Rigs\", \n    \"description_ja\": \"大型ストラクチャ エンジニアリングリグ\", \n    \"description_ko\": \"대형 엔지니어링 리그\", \n    \"description_ru\": \"Большие\", \n    \"description_zh\": \"大型建筑工程改装件\", \n    \"descriptionID\": 315481, \n    \"hasTypes\": 1, \n    \"iconID\": 21729, \n    \"name_de\": \"Große Struktur-Ingenieursmodifikationen\", \n    \"name_en-us\": \"Large Structure Engineering Rigs\", \n    \"name_es\": \"Complementos de ingeniería para estructuras grandes\", \n    \"name_fr\": \"Grandes optimisations d'ingénierie (Structure)\", \n    \"name_it\": \"Large Structure Engineering Rigs\", \n    \"name_ja\": \"大型ストラクチャ エンジニアリングリグ\", \n    \"name_ko\": \"대형 엔지니어링 리그\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型建筑工程改装件\", \n    \"nameID\": 315480, \n    \"parentGroupID\": 2340\n  }, \n  \"2349\": {\n    \"description_de\": \"Extragroße Struktur-Ingenieursmodifikationen\", \n    \"description_en-us\": \"X-Large Structure Engineering Rigs\", \n    \"description_es\": \"Complementos de ingeniería para estructuras extragrandes.\", \n    \"description_fr\": \"Très grandes optimisations d'ingénierie (Structure)\", \n    \"description_it\": \"X-Large Structure Engineering Rigs\", \n    \"description_ja\": \"超大型ストラクチャ エンジニアリングリグ\", \n    \"description_ko\": \"초대형 엔지니어링 리그\", \n    \"description_ru\": \"Сверхбольшие\", \n    \"description_zh\": \"超大型建筑工程改装件\", \n    \"descriptionID\": 315483, \n    \"hasTypes\": 1, \n    \"iconID\": 21729, \n    \"name_de\": \"Extragroße Struktur-Ingenieursmodifikationen\", \n    \"name_en-us\": \"X-Large Structure Engineering Rigs\", \n    \"name_es\": \"Complementos de ingeniería para estructuras extragrandes\", \n    \"name_fr\": \"Très grandes optimisations d'ingénierie (Structure)\", \n    \"name_it\": \"X-Large Structure Engineering Rigs\", \n    \"name_ja\": \"超大型ストラクチャ エンジニアリングリグ\", \n    \"name_ko\": \"초대형 엔지니어링 리그\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型建筑工程改装件\", \n    \"nameID\": 315482, \n    \"parentGroupID\": 2340\n  }, \n  \"2350\": {\n    \"description_de\": \"Zerstörer, die Kapselpiloten gelegentlich für begrenzte Zeitperioden angeboten wurden.\", \n    \"description_en-us\": \"Destroyers which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Destructores ofrecidos a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Destroyers mis parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Destroyers which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"期間限定で特別にカプセラに支給される駆逐艦。\", \n    \"description_ko\": \"캡슐리어들에게 한정판으로 제공되었던 디스트로이어입니다.\", \n    \"description_ru\": \"Эсминцы, предоставлявшиеся капсулёрам в течение ограниченного периода времени.\", \n    \"description_zh\": \"限时供应的驱逐舰。\", \n    \"descriptionID\": 315515, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversionen: Zerstörer\", \n    \"name_en-us\": \"Special Edition Destroyers\", \n    \"name_es\": \"Destructores de edición especial\", \n    \"name_fr\": \"Destroyers édition spéciale\", \n    \"name_it\": \"Special Edition Destroyers\", \n    \"name_ja\": \"特別仕様の駆逐艦\", \n    \"name_ko\": \"디스트로이어\", \n    \"name_ru\": \"Малосерийные эсминцы\", \n    \"name_zh\": \"特别版驱逐舰\", \n    \"nameID\": 315514, \n    \"parentGroupID\": 1612\n  }, \n  \"2351\": {\n    \"description_de\": \"Werfer für Abfangraketen.\", \n    \"description_en-us\": \"For launching defender missiles.\", \n    \"description_es\": \"Para lanzar misiles de defensa.\", \n    \"description_fr\": \"Système d'armement dédié au lancement de missiles antibalistiques.\", \n    \"description_it\": \"For launching defender missiles.\", \n    \"description_ja\": \"迎撃ミサイルを発射する。\", \n    \"description_ko\": \"디펜더 미사일을 발사하는 런처입니다.\", \n    \"description_ru\": \"Предназначены для запуска противоракет\", \n    \"description_zh\": \"用于发射反弹道导弹。\", \n    \"descriptionID\": 315523, \n    \"hasTypes\": 1, \n    \"iconID\": 1345, \n    \"name_de\": \"Abfangwerfer\", \n    \"name_en-us\": \"Defender Launchers\", \n    \"name_es\": \"Lanzamisiles defensivos\", \n    \"name_fr\": \"Lanceurs antibalistiques\", \n    \"name_it\": \"Defender Launchers\", \n    \"name_ja\": \"迎撃ランチャー\", \n    \"name_ko\": \"디펜더 런처\", \n    \"name_ru\": \"Противоракетные\", \n    \"name_zh\": \"反导发射器\", \n    \"nameID\": 315522, \n    \"parentGroupID\": 140\n  }, \n  \"2353\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 315559, \n    \"parentGroupID\": 2307\n  }, \n  \"2354\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 315560, \n    \"parentGroupID\": 2307\n  }, \n  \"2355\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 315561, \n    \"parentGroupID\": 2307\n  }, \n  \"2356\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 315612, \n    \"parentGroupID\": 2309\n  }, \n  \"2357\": {\n    \"description_de\": \"Pläne für Fraktionstruppenunterstützer.\", \n    \"description_en-us\": \"Faction force auxiliary designs.\", \n    \"description_es\": \"Diseños de fuerzas auxiliares faccionarias.\", \n    \"description_fr\": \"Designs de forces auxiliaires de faction\", \n    \"description_it\": \"Faction force auxiliary designs.\", \n    \"description_ja\": \"勢力別戦力補助艦の設計。\", \n    \"description_ko\": \"팩션 포스 악실리아입니다.\", \n    \"description_ru\": \"Пиратские и армейские вспомогательные КБТ\", \n    \"description_zh\": \"势力战力辅助舰设计。\", \n    \"descriptionID\": 315646, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Fraktionstruppenunterstützer\", \n    \"name_en-us\": \"Faction Force Auxiliaries\", \n    \"name_es\": \"Naves auxiliares faccionarias\", \n    \"name_fr\": \"Forces auxiliaires de faction\", \n    \"name_it\": \"Faction Force Auxiliaries\", \n    \"name_ja\": \"勢力別戦力補助艦\", \n    \"name_ko\": \"팩션 포스 악실리아\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力战力辅助舰\", \n    \"nameID\": 315645, \n    \"parentGroupID\": 2271\n  }, \n  \"2358\": {\n    \"description_de\": \"Gegenstände, mit denen Skillpunkte extrahiert und injiziert werden können.\", \n    \"description_en-us\": \"Items used to extract and inject skill points.\", \n    \"description_es\": \"Objetos usados para extraer e inyectar puntos de habilidad.\", \n    \"description_fr\": \"Dispositifs nécessaires à l'extraction et à l'injection de points de compétence.\", \n    \"description_it\": \"Items used to extract and inject skill points.\", \n    \"description_ja\": \"スキルポイントの抽出・注入に使用するアイテム。\", \n    \"description_ko\": \"스킬 포인트 주입 시 사용되는 아이템입니다.\", \n    \"description_ru\": \"Предметы, используемые для экстракции и инъекции СП.\", \n    \"description_zh\": \"用来提取和注入技能点的物品。\", \n    \"descriptionID\": 315658, \n    \"hasTypes\": 1, \n    \"iconID\": 21531, \n    \"name_de\": \"Skilltausch\", \n    \"name_en-us\": \"Skill Trading\", \n    \"name_es\": \"Intercambio de habilidades\", \n    \"name_fr\": \"Commerce de compétences\", \n    \"name_it\": \"Skill Trading\", \n    \"name_ja\": \"スキルのトレード\", \n    \"name_ko\": \"스킬 포인트 거래\", \n    \"name_ru\": \"СП-экстракторы и СП-инъекторы\", \n    \"name_zh\": \"技能交易\", \n    \"nameID\": 315657, \n    \"parentGroupID\": 1922\n  }, \n  \"2359\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fraktionscorvettes\", \n    \"name_en-us\": \"Faction Corvettes\", \n    \"name_es\": \"Corbetas de facción\", \n    \"name_fr\": \"Corvettes de faction\", \n    \"name_it\": \"Faction Corvettes\", \n    \"name_ja\": \"勢力別コルベット\", \n    \"name_ko\": \"팩션 코르벳\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力轻型护卫舰\", \n    \"nameID\": 315669, \n    \"parentGroupID\": 2306\n  }, \n  \"2360\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊勢力\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратские\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 315670, \n    \"parentGroupID\": 2359\n  }, \n  \"2361\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Sondergeheimdienstoperationen\", \n    \"name_en-us\": \"Special Covert Ops\", \n    \"name_es\": \"Operaciones encubiertas especiales\", \n    \"name_fr\": \"Vaisseaux spéciaux des opérations secrètes\", \n    \"name_it\": \"Special Covert Ops\", \n    \"name_ja\": \"特殊光学迷彩型\", \n    \"name_ko\": \"특수 코버트 옵스\", \n    \"name_ru\": \"Малосерийные диверсионные фрегаты\", \n    \"name_zh\": \"特别隐形特勤舰\", \n    \"nameID\": 315671, \n    \"parentGroupID\": 2044\n  }, \n  \"2362\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Sonderaufklärungsschiffe\", \n    \"name_en-us\": \"Special Recon Ships\", \n    \"name_es\": \"Naves de reconocimiento especiales\", \n    \"name_fr\": \"Vaisseaux spéciaux de reconnaissance\", \n    \"name_it\": \"Special Recon Ships\", \n    \"name_ja\": \"特別電子戦型巡洋艦\", \n    \"name_ko\": \"특수 리콘 크루저\", \n    \"name_ru\": \"Малосерийные дозорные крейсеры\", \n    \"name_zh\": \"特别侦察舰\", \n    \"nameID\": 315672, \n    \"parentGroupID\": 2068\n  }, \n  \"2369\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Strategische Kreuzer\", \n    \"name_en-us\": \"Strategic Cruisers\", \n    \"name_es\": \"Cruceros estratégicos\", \n    \"name_fr\": \"Croiseurs stratégiques\", \n    \"name_it\": \"Strategic Cruisers\", \n    \"name_ja\": \"多目的型巡洋艦\", \n    \"name_ko\": \"전략 크루저\", \n    \"name_ru\": \"Стратегические крейсеры\", \n    \"name_zh\": \"战略巡洋舰\", \n    \"nameID\": 315770, \n    \"parentGroupID\": 2064\n  }, \n  \"2370\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 315771, \n    \"parentGroupID\": 2369\n  }, \n  \"2371\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 315772, \n    \"parentGroupID\": 2369\n  }, \n  \"2372\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 315773, \n    \"parentGroupID\": 2369\n  }, \n  \"2373\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 315774, \n    \"parentGroupID\": 2369\n  }, \n  \"2374\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Standard-Trägerschiffe\", \n    \"name_en-us\": \"Standard Carriers\", \n    \"name_es\": \"Portanaves estándar\", \n    \"name_fr\": \"Porte-vaisseaux standard\", \n    \"name_it\": \"Standard Carriers\", \n    \"name_ja\": \"標準型艦載機母艦\", \n    \"name_ko\": \"일반 캐리어\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准航空母舰\", \n    \"nameID\": 315904, \n    \"parentGroupID\": 1970\n  }, \n  \"2375\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fraktions-Trägerschiffe\", \n    \"name_en-us\": \"Faction Carriers\", \n    \"name_es\": \"Portanaves faccionarios\", \n    \"name_fr\": \"Porte-vaisseaux de faction\", \n    \"name_it\": \"Faction Carriers\", \n    \"name_ja\": \"勢力別艦載母艦\", \n    \"name_ko\": \"팩션 캐리어\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力航空母舰\", \n    \"nameID\": 315905, \n    \"parentGroupID\": 1970\n  }, \n  \"2376\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊勢力\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратские\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 315906, \n    \"parentGroupID\": 2375\n  }, \n  \"2377\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Standard-Dreadnoughts\", \n    \"name_en-us\": \"Standard Dreadnoughts\", \n    \"name_es\": \"Superacorazados estándar\", \n    \"name_fr\": \"Dreadnoughts standard\", \n    \"name_it\": \"Standard Dreadnoughts\", \n    \"name_ja\": \"標準型攻城艦\", \n    \"name_ko\": \"일반 드레드노트\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准无畏舰\", \n    \"nameID\": 315907, \n    \"parentGroupID\": 1971\n  }, \n  \"2378\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fraktions-Dreadnoughts\", \n    \"name_en-us\": \"Faction Dreadnoughts\", \n    \"name_es\": \"Superacorazados faccionarios\", \n    \"name_fr\": \"Dreadnoughts de faction\", \n    \"name_it\": \"Faction Dreadnoughts\", \n    \"name_ja\": \"勢力別攻城艦\", \n    \"name_ko\": \"팩션 드레드노트\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力无畏舰\", \n    \"nameID\": 315908, \n    \"parentGroupID\": 1971\n  }, \n  \"2380\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊勢力\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратские\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 315910, \n    \"parentGroupID\": 2378\n  }, \n  \"2381\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Standard-Titans\", \n    \"name_en-us\": \"Standard Titans\", \n    \"name_es\": \"Titanes estándar\", \n    \"name_fr\": \"Titans standard\", \n    \"name_it\": \"Standard Titans\", \n    \"name_ja\": \"標準型旗艦級戦艦\", \n    \"name_ko\": \"일반 타이탄\", \n    \"name_ru\": \"Типовые\", \n    \"name_zh\": \"标准泰坦\", \n    \"nameID\": 315911, \n    \"parentGroupID\": 1973\n  }, \n  \"2382\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fraktions-Titans\", \n    \"name_en-us\": \"Faction Titans\", \n    \"name_es\": \"Titanes faccionarios\", \n    \"name_fr\": \"Titans de faction\", \n    \"name_it\": \"Faction Titans\", \n    \"name_ja\": \"勢力別旗艦級戦艦\", \n    \"name_ko\": \"팩션 타이탄\", \n    \"name_ru\": \"Пиратские и армейские\", \n    \"name_zh\": \"势力泰坦\", \n    \"nameID\": 315912, \n    \"parentGroupID\": 1973\n  }, \n  \"2383\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊勢力\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратские\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 315913, \n    \"parentGroupID\": 2382\n  }, \n  \"2387\": {\n    \"description_de\": \"Amarr-Shuttle-SKINs\", \n    \"description_en-us\": \"Amarr Shuttle Skins\", \n    \"description_es\": \"SKIN para lanzaderas de Amarr.\", \n    \"description_fr\": \"Skins de navette amarr\", \n    \"description_it\": \"Amarr Shuttle Skins\", \n    \"description_ja\": \"アマーシャトルのSKIN\", \n    \"description_ko\": \"아마르 셔틀 SKIN\", \n    \"description_ru\": \"Окраски для амаррских шаттлов\", \n    \"description_zh\": \"艾玛穿梭机涂装\", \n    \"descriptionID\": 315927, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 315926, \n    \"parentGroupID\": 2315\n  }, \n  \"2388\": {\n    \"description_de\": \"Caldari-Shuttle-SKINs\", \n    \"description_en-us\": \"Caldari Shuttle Skins\", \n    \"description_es\": \"SKIN para lanzaderas de Caldari.\", \n    \"description_fr\": \"Skins de navette caldari\", \n    \"description_it\": \"Caldari Shuttle Skins\", \n    \"description_ja\": \"カルダリシャトルのSKIN\", \n    \"description_ko\": \"칼다리 셔틀 SKIN\", \n    \"description_ru\": \"Окраски для калдарских шаттлов\", \n    \"description_zh\": \"加达里穿梭机涂装\", \n    \"descriptionID\": 315929, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 315928, \n    \"parentGroupID\": 2315\n  }, \n  \"2389\": {\n    \"description_de\": \"Gallente-Shuttle-SKINs\", \n    \"description_en-us\": \"Gallente Shuttle Skins\", \n    \"description_es\": \"SKIN para lanzaderas de Gallente.\", \n    \"description_fr\": \"Skins de navette gallente\", \n    \"description_it\": \"Gallente Shuttle Skins\", \n    \"description_ja\": \"ガレンテシャトルのSKIN\", \n    \"description_ko\": \"갈란테 셔틀 SKIN\", \n    \"description_ru\": \"Окраски для галлентских шаттлов\", \n    \"description_zh\": \"盖伦特穿梭机涂装\", \n    \"descriptionID\": 315931, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 315930, \n    \"parentGroupID\": 2315\n  }, \n  \"2390\": {\n    \"description_de\": \"Minmatar-Shuttle-SKINs\", \n    \"description_en-us\": \"Minmatar Shuttle Skins\", \n    \"description_es\": \"SKIN para lanzaderas de Minmatar.\", \n    \"description_fr\": \"Skins de navette minmatar\", \n    \"description_it\": \"Minmatar Shuttle Skins\", \n    \"description_ja\": \"ミンマターシャトルのSKIN\", \n    \"description_ko\": \"민마타 셔틀 SKIN\", \n    \"description_ru\": \"Окраски для минматарских шаттлов\", \n    \"description_zh\": \"米玛塔尔穿梭机涂装\", \n    \"descriptionID\": 315933, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 315932, \n    \"parentGroupID\": 2315\n  }, \n  \"2391\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 316197, \n    \"parentGroupID\": 2309\n  }, \n  \"2392\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 316198, \n    \"parentGroupID\": 2309\n  }, \n  \"2393\": {\n    \"description_de\": \"Blaupausen für Raffinerie-Strukturen.\", \n    \"description_en-us\": \"Blueprints of Refinery structures.\", \n    \"description_es\": \"Planos de estructuras de refinería.\", \n    \"description_fr\": \"Plans de construction de structures de raffinerie.\", \n    \"description_it\": \"Blueprints of Refinery structures.\", \n    \"description_ja\": \"精錬所ストラクチャの設計図\", \n    \"description_ko\": \"정제시설 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи перерабатывающих комплексов.\", \n    \"description_zh\": \"精炼厂建筑的蓝图\", \n    \"descriptionID\": 316318, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Raffinerien\", \n    \"name_en-us\": \"Refineries\", \n    \"name_es\": \"Refinerías\", \n    \"name_fr\": \"Raffineries\", \n    \"name_it\": \"Refineries\", \n    \"name_ja\": \"精錬所\", \n    \"name_ko\": \"정제소\", \n    \"name_ru\": \"Перерабатывающие комплексы\", \n    \"name_zh\": \"精炼厂\", \n    \"nameID\": 316317, \n    \"parentGroupID\": 1338\n  }, \n  \"2395\": {\n    \"hasTypes\": 0, \n    \"iconID\": 1270, \n    \"name_de\": \"Monderze\", \n    \"name_en-us\": \"Moon Ores\", \n    \"name_es\": \"Menas lunares\", \n    \"name_fr\": \"Minerais lunaires\", \n    \"name_it\": \"Moon Ores\", \n    \"name_ja\": \"衛星資源鉱石\", \n    \"name_ko\": \"위성 광물\", \n    \"name_ru\": \"Руды со спутников\", \n    \"name_zh\": \"卫星矿石\", \n    \"nameID\": 316329, \n    \"parentGroupID\": 1031\n  }, \n  \"2396\": {\n    \"description_de\": \"Die Arten der Monderze, die am gewöhnlichsten sind.\", \n    \"description_en-us\": \"The most common forms of moon ore\", \n    \"description_es\": \"Las formas más comunes de la mena lunar.\", \n    \"description_fr\": \"Formes les plus communes de minerai lunaire\", \n    \"description_it\": \"The most common forms of moon ore\", \n    \"description_ja\": \"最も一般的な衛星鉱石\", \n    \"description_ko\": \"저급한 형태의 위성 광물\", \n    \"description_ru\": \"Самые распространённые разновидности руды со спутников\", \n    \"description_zh\": \"卫星矿石的最普通形态\", \n    \"descriptionID\": 316331, \n    \"hasTypes\": 1, \n    \"iconID\": 232, \n    \"name_de\": \"Verbreitete Monderze\", \n    \"name_en-us\": \"Ubiquitous Moon Ores\", \n    \"name_es\": \"Menas lunares universales\", \n    \"name_fr\": \"Minerais lunaires répandus\", \n    \"name_it\": \"Ubiquitous Moon Ores\", \n    \"name_ja\": \"偏在する衛星資源鉱石\", \n    \"name_ko\": \"저급 위성 광물\", \n    \"name_ru\": \"Повсеместные руды со спутников\", \n    \"name_zh\": \"常见卫星矿石\", \n    \"nameID\": 316330, \n    \"parentGroupID\": 2395\n  }, \n  \"2397\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1356, \n    \"name_de\": \"Gewöhnliche Monderze\", \n    \"name_en-us\": \"Common Moon Ores\", \n    \"name_es\": \"Menas lunares comunes\", \n    \"name_fr\": \"Minerais lunaires communs\", \n    \"name_it\": \"Common Moon Ores\", \n    \"name_ja\": \"一般的な衛星資源鉱石\", \n    \"name_ko\": \"일반 위성 광물\", \n    \"name_ru\": \"Обычные руды со спутников\", \n    \"name_zh\": \"普通卫星矿石\", \n    \"nameID\": 316332, \n    \"parentGroupID\": 2395\n  }, \n  \"2398\": {\n    \"hasTypes\": 1, \n    \"iconID\": 231, \n    \"name_de\": \"Ungewöhnliche Monderze\", \n    \"name_en-us\": \"Uncommon Moon Ores\", \n    \"name_es\": \"Menas lunares inusuales\", \n    \"name_fr\": \"Minerais lunaires peu communs\", \n    \"name_it\": \"Uncommon Moon Ores\", \n    \"name_ja\": \"希少な衛星資源鉱石\", \n    \"name_ko\": \"고급 위성 광물\", \n    \"name_ru\": \"Необычные руды со спутников\", \n    \"name_zh\": \"罕见卫星矿石\", \n    \"nameID\": 316333, \n    \"parentGroupID\": 2395\n  }, \n  \"2400\": {\n    \"hasTypes\": 1, \n    \"iconID\": 230, \n    \"name_de\": \"Seltene Monderze\", \n    \"name_en-us\": \"Rare Moon Ores\", \n    \"name_es\": \"Menas lunares poco comunes\", \n    \"name_fr\": \"Minerais lunaires rares\", \n    \"name_it\": \"Rare Moon Ores\", \n    \"name_ja\": \"珍重する衛星資源鉱石\", \n    \"name_ko\": \"희귀 위성 광물\", \n    \"name_ru\": \"Редкие руды со спутников\", \n    \"name_zh\": \"稀有卫星矿石\", \n    \"nameID\": 316335, \n    \"parentGroupID\": 2395\n  }, \n  \"2401\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1271, \n    \"name_de\": \"Außerordentliche Monderze\", \n    \"name_en-us\": \"Exceptional Moon Ores\", \n    \"name_es\": \"Menas lunares excepcionales\", \n    \"name_fr\": \"Minerais lunaires exceptionnels\", \n    \"name_it\": \"Exceptional Moon Ores\", \n    \"name_ja\": \"特別な衛星資源鉱石\", \n    \"name_ko\": \"특별 위성 광물\", \n    \"name_ru\": \"Исключительные руды со спутников\", \n    \"name_zh\": \"非凡卫星矿石\", \n    \"nameID\": 316336, \n    \"parentGroupID\": 2395\n  }, \n  \"2402\": {\n    \"description_de\": \"Reaktionsformeln, dank der seltene Booster in Raffinerien produziert werden können\", \n    \"description_en-us\": \"Reaction formulas that enable the creation of raw boosters in Refineries\", \n    \"description_es\": \"Fórmulas reactivas que permiten crear potenciadores sin procesar en refinerías.\", \n    \"description_fr\": \"Formules de réaction permettant l'obtention de boosters de matières premières dans les raffineries\", \n    \"description_it\": \"Reaction formulas that enable the creation of raw boosters in Refineries\", \n    \"description_ja\": \"精錬所で未加工ブースターの製造を可能にする反応フォーミュラ\", \n    \"description_ko\": \"정제시설의 부스터 생산에 사용되는 반응식입니다.\", \n    \"description_ru\": \"Формулы реакций, позволяющих создавать в перерабатывающих комплексах сырьё для стимуляторов\", \n    \"description_zh\": \"在精炼厂中制造原始增效剂的反应公式\", \n    \"descriptionID\": 316380, \n    \"hasTypes\": 1, \n    \"iconID\": 21783, \n    \"name_de\": \"Biochemische Reaktionsformeln\", \n    \"name_en-us\": \"Biochemical Reaction Formulas\", \n    \"name_es\": \"Fórmulas reactivas bioquímicas\", \n    \"name_fr\": \"Formules de réaction biochimique\", \n    \"name_it\": \"Biochemical Reaction Formulas\", \n    \"name_ja\": \"有機化合反応フォーミュラ\", \n    \"name_ko\": \"생화학 반응식\", \n    \"name_ru\": \"Формулы биохимических реакций\", \n    \"name_zh\": \"生化反应公式\", \n    \"nameID\": 316379, \n    \"parentGroupID\": 1849\n  }, \n  \"2403\": {\n    \"description_de\": \"Reaktionsformeln, dank der Tech-2-Konstruktionsmaterialien in Raffinerien produziert werden können\", \n    \"description_en-us\": \"Reaction formulas that enable the creation of Tech 2 construction materials in Refineries\", \n    \"description_es\": \"Fórmulas reactivas que permiten crear materiales de construcción T2 en refinerías.\", \n    \"description_fr\": \"Formules de réaction permettant l'obtention de matériaux de construction de tech. II dans les raffineries\", \n    \"description_it\": \"Reaction formulas that enable the creation of Tech 2 construction materials in Refineries\", \n    \"description_ja\": \"精錬所でT2建設資材の製造を可能にする反応フォーミュラ\", \n    \"description_ko\": \"정제시설 건설에 사용되는 테크 II 자재를 제조할 수 있는 반응식입니다.\", \n    \"description_ru\": \"Формулы реакций, позволяющих создавать в перерабатывающих комплексах строительные материалы второго техноуровня\", \n    \"description_zh\": \"在精炼厂中制造二级科技建造材料的反应公式\", \n    \"descriptionID\": 316382, \n    \"hasTypes\": 1, \n    \"iconID\": 21783, \n    \"name_de\": \"Komposit-Reaktionsformeln\", \n    \"name_en-us\": \"Composite Reaction Formulas\", \n    \"name_es\": \"Fórmulas reactivas compuestas\", \n    \"name_fr\": \"Formules de réaction composite\", \n    \"name_it\": \"Composite Reaction Formulas\", \n    \"name_ja\": \"化合物反応フォーミュラ\", \n    \"name_ko\": \"복합 반응식\", \n    \"name_ru\": \"Формулы композитных реакций\", \n    \"name_zh\": \"复合反应公式\", \n    \"nameID\": 316381, \n    \"parentGroupID\": 1849\n  }, \n  \"2404\": {\n    \"description_de\": \"Reaktionsformeln, dank der Tech-3-Konstruktionsmaterialien in Raffinerien produziert werden können\", \n    \"description_en-us\": \"Reaction formulas that enable the creation of Tech 3 construction materials in Refineries\", \n    \"description_es\": \"Fórmulas reactivas que permiten crear materiales de construcción T3 en refinerías.\", \n    \"description_fr\": \"Formules de réaction permettant l'obtention de matériaux de construction de tech. III dans les raffineries\", \n    \"description_it\": \"Reaction formulas that enable the creation of Tech 3 construction materials in Refineries\", \n    \"description_ja\": \"精錬所でT3建設資材の製造を可能にする反応フォーミュラ\", \n    \"description_ko\": \"정제시설 건설에 사용되는 테크 III 자재를 제조할 수 있는 반응식입니다.\", \n    \"description_ru\": \"Формулы реакций, позволяющих создавать в перерабатывающих комплексах строительные материалы третьего техноуровня\", \n    \"description_zh\": \"在精炼厂中制造三级科技建造材料的反应公式\", \n    \"descriptionID\": 316384, \n    \"hasTypes\": 1, \n    \"iconID\": 21783, \n    \"name_de\": \"Polymer-Reaktionsformeln\", \n    \"name_en-us\": \"Polymer Reaction Formulas\", \n    \"name_es\": \"Fórmulas reactivas poliméricas\", \n    \"name_fr\": \"Formules de réaction polymère\", \n    \"name_it\": \"Polymer Reaction Formulas\", \n    \"name_ja\": \"重合体反応フォーミュラ\", \n    \"name_ko\": \"폴리머 반응식\", \n    \"name_ru\": \"Формулы полимерных реакций\", \n    \"name_zh\": \"聚合物反应公式\", \n    \"nameID\": 316383, \n    \"parentGroupID\": 1849\n  }, \n  \"2406\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Besondere Black Ops\", \n    \"name_en-us\": \"Special Black Ops\", \n    \"name_es\": \"Operaciones secretas especiales\", \n    \"name_fr\": \"Opérations secrètes spéciales\", \n    \"name_it\": \"Special Black Ops\", \n    \"name_ja\": \"特殊光学迷彩型戦艦\", \n    \"name_ko\": \"특수 블랙옵스\", \n    \"name_ru\": \"Тяжёлые диверсионные корабли спецназначения\", \n    \"name_zh\": \"特殊黑隐特勤舰\", \n    \"nameID\": 317093, \n    \"parentGroupID\": 2109\n  }, \n  \"2407\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Struktur-Pulsprojektoren\", \n    \"name_en-us\": \"Structure Burst Projectors\", \n    \"name_es\": \"Proyectores de estallido para estructuras\", \n    \"name_fr\": \"Projecteurs à salves pour structure\", \n    \"name_it\": \"Structure Burst Projectors\", \n    \"name_ja\": \"ストラクチャバーストプロジェクター\", \n    \"name_ko\": \"버스트 프로젝터\", \n    \"name_ru\": \"Проекторы объёмных помех на базе сооружений\", \n    \"name_zh\": \"建筑脉冲波投射器\", \n    \"nameID\": 317623, \n    \"parentGroupID\": 2161\n  }, \n  \"2408\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21604, \n    \"name_de\": \"Struktur-Pulsprojektoren\", \n    \"name_en-us\": \"Structure Burst Projectors\", \n    \"name_es\": \"Proyectores de estallido para estructuras\", \n    \"name_fr\": \"Projecteurs à salves pour structure\", \n    \"name_it\": \"Structure Burst Projectors\", \n    \"name_ja\": \"ストラクチャバーストプロジェクター\", \n    \"name_ko\": \"버스트 프로젝터\", \n    \"name_ru\": \"Проекторы объёмных помех на базе сооружений\", \n    \"name_zh\": \"建筑脉冲波投射器\", \n    \"nameID\": 317624, \n    \"parentGroupID\": 2206\n  }, \n  \"2409\": {\n    \"hasTypes\": 0, \n    \"iconID\": 1084, \n    \"name_de\": \"Strukturbasierte Jäger\", \n    \"name_en-us\": \"Structure-based Fighters\", \n    \"name_es\": \"Cazas con base en estructuras\", \n    \"name_fr\": \"Chasseurs de structure\", \n    \"name_it\": \"Structure-based Fighters\", \n    \"name_ja\": \"ストラクチャベース戦闘機\", \n    \"name_ko\": \"스탠드업 파이터\", \n    \"name_ru\": \"Истребители на базе сооружений\", \n    \"name_zh\": \"建筑铁骑舰载机\", \n    \"nameID\": 317632, \n    \"parentGroupID\": 2236\n  }, \n  \"2410\": {\n    \"hasTypes\": 0, \n    \"iconID\": 1084, \n    \"name_de\": \"Trägerschiffbasierte Jäger\", \n    \"name_en-us\": \"Carrier-based Fighters\", \n    \"name_es\": \"Cazas con base en portanaves\", \n    \"name_fr\": \"Chasseurs de porte-vaisseaux\", \n    \"name_it\": \"Carrier-based Fighters\", \n    \"name_ja\": \"艦載機母艦ベース戦闘機\", \n    \"name_ko\": \"함재기\", \n    \"name_ru\": \"Истребители на базе КАРов\", \n    \"name_zh\": \"航母铁骑舰载机\", \n    \"nameID\": 317633, \n    \"parentGroupID\": 2236\n  }, \n  \"2411\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Standup Leichte Jäger\", \n    \"name_en-us\": \"Standup Light Fighters\", \n    \"name_es\": \"Cazas ligeros Standup\", \n    \"name_fr\": \"Chasseurs légers Standup\", \n    \"name_it\": \"Standup Light Fighters\", \n    \"name_ja\": \"スタンドアップ軽量級戦闘機\", \n    \"name_ko\": \"스탠드업 라이트 파이터\", \n    \"name_ru\": \"Лёгкие истребители на базе «Стационар»\", \n    \"name_zh\": \"屹立轻型铁骑舰载机\", \n    \"nameID\": 317634, \n    \"parentGroupID\": 2409\n  }, \n  \"2412\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Standup Schwere Jäger\", \n    \"name_en-us\": \"Standup Heavy Fighters\", \n    \"name_es\": \"Cazas pesados Standup\", \n    \"name_fr\": \"Chasseurs lourds Standup\", \n    \"name_it\": \"Standup Heavy Fighters\", \n    \"name_ja\": \"スタンドアップ重量級戦闘機\", \n    \"name_ko\": \"스탠드업 헤비 파이터\", \n    \"name_ru\": \"Тяжёлые истребители на базе «Стационар»\", \n    \"name_zh\": \"屹立重型铁骑舰载机\", \n    \"nameID\": 317635, \n    \"parentGroupID\": 2409\n  }, \n  \"2413\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1084, \n    \"name_de\": \"Standup Unterstützungsjäger\", \n    \"name_en-us\": \"Standup Support Fighters\", \n    \"name_es\": \"Cazas de apoyo Standup\", \n    \"name_fr\": \"Chasseurs de soutien Standup\", \n    \"name_it\": \"Standup Support Fighters\", \n    \"name_ja\": \"スタンドアップサポート戦闘機\", \n    \"name_ko\": \"스탠드업 서포트 파이터\", \n    \"name_ru\": \"Истребители поддержки на базе «Стационар»\", \n    \"name_zh\": \"屹立后勤铁骑舰载机\", \n    \"nameID\": 317636, \n    \"parentGroupID\": 2409\n  }, \n  \"2414\": {\n    \"hasTypes\": 1, \n    \"iconID\": 79, \n    \"name_de\": \"Panzerungsverstärker\", \n    \"name_en-us\": \"Armor Reinforcers\", \n    \"name_es\": \"Reforzadores de blindaje\", \n    \"name_fr\": \"Renforçateurs de blindage\", \n    \"name_it\": \"Armor Reinforcers\", \n    \"name_ja\": \"アーマーレインフォーサー\", \n    \"name_ko\": \"장갑 플레이팅\", \n    \"name_ru\": \"Усилители брони\", \n    \"name_zh\": \"装甲强化\", \n    \"nameID\": 317690, \n    \"parentGroupID\": 2208\n  }, \n  \"2415\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Panzerungsverstärker\", \n    \"name_en-us\": \"Armor Reinforcers\", \n    \"name_es\": \"Reforzadores de blindaje\", \n    \"name_fr\": \"Renforçateurs de blindage\", \n    \"name_it\": \"Armor Reinforcers\", \n    \"name_ja\": \"アーマーレインフォーサー\", \n    \"name_ko\": \"장갑 플레이팅\", \n    \"name_ru\": \"Усилители брони\", \n    \"name_zh\": \"装甲强化\", \n    \"nameID\": 317691, \n    \"parentGroupID\": 2163\n  }, \n  \"2416\": {\n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Flaggenkreuzer\", \n    \"name_en-us\": \"Flag Cruisers\", \n    \"name_es\": \"Cruceros insignia\", \n    \"name_fr\": \"Croiseurs amiraux\", \n    \"name_it\": \"Flag Cruisers\", \n    \"name_ja\": \"旗艦巡洋艦\", \n    \"name_ko\": \"플래그 크루저\", \n    \"name_ru\": \"Флагманские крейсеры\", \n    \"name_zh\": \"战地巡洋舰\", \n    \"nameID\": 317709, \n    \"parentGroupID\": 1368\n  }, \n  \"2417\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"CONCORD\", \n    \"name_en-us\": \"CONCORD\", \n    \"name_es\": \"CONCORD\", \n    \"name_fr\": \"CONCORD\", \n    \"name_it\": \"CONCORD\", \n    \"name_ja\": \"CONCORD\", \n    \"name_ko\": \"CONCORD\", \n    \"name_ru\": \"КОНКОРД\", \n    \"name_zh\": \"统一合作关系部\", \n    \"nameID\": 317710, \n    \"parentGroupID\": 2416\n  }, \n  \"2418\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Flaggenkreuzer\", \n    \"name_en-us\": \"Flag Cruisers\", \n    \"name_es\": \"Cruceros insignia\", \n    \"name_fr\": \"Croiseurs amiraux\", \n    \"name_it\": \"Flag Cruisers\", \n    \"name_ja\": \"旗艦巡洋艦\", \n    \"name_ko\": \"플래그 크루저\", \n    \"name_ru\": \"Флагманские крейсеры\", \n    \"name_zh\": \"战地巡洋舰\", \n    \"nameID\": 317727, \n    \"parentGroupID\": 2064\n  }, \n  \"2419\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"CONCORD\", \n    \"name_en-us\": \"CONCORD\", \n    \"name_es\": \"CONCORD\", \n    \"name_fr\": \"CONCORD\", \n    \"name_it\": \"CONCORD\", \n    \"name_ja\": \"CONCORD\", \n    \"name_ko\": \"CONCORD\", \n    \"name_ru\": \"КОНКОРДа\", \n    \"name_zh\": \"统一合作关系部\", \n    \"nameID\": 317728, \n    \"parentGroupID\": 2418\n  }, \n  \"2420\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Spezielle Schlachtschiffe\", \n    \"name_en-us\": \"Special Battleships\", \n    \"name_es\": \"Acorazados especiales\", \n    \"name_fr\": \"Cuirassés spéciaux\", \n    \"name_it\": \"Special Battleships\", \n    \"name_ja\": \"特殊戦艦\", \n    \"name_ko\": \"특수 배틀쉽\", \n    \"name_ru\": \"Особые линкоры\", \n    \"name_zh\": \"特殊战列舰\", \n    \"nameID\": 317741, \n    \"parentGroupID\": 1960\n  }, \n  \"2421\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Spezielle Schlachtschiffe\", \n    \"name_en-us\": \"Special Battleships\", \n    \"name_es\": \"Acorazados especiales\", \n    \"name_fr\": \"Cuirassés spéciaux\", \n    \"name_it\": \"Special Battleships\", \n    \"name_ja\": \"特殊戦艦\", \n    \"name_ko\": \"특수 배틀쉽\", \n    \"name_ru\": \"Особые линкоры\", \n    \"name_zh\": \"特殊战列舰\", \n    \"nameID\": 317742, \n    \"parentGroupID\": 2420\n  }, \n  \"2425\": {\n    \"description_de\": \"Precursor-Fregatten\", \n    \"description_en-us\": \"Precursor Frigates\", \n    \"description_es\": \"Fragatas precursoras\", \n    \"description_fr\": \"Frégates précurseuses\", \n    \"description_it\": \"Precursor Frigates\", \n    \"description_ja\": \"プリカーサーフリゲート\", \n    \"description_ko\": \"프리커서 프리깃\", \n    \"description_ru\": \"Фрегаты Предтечей.\", \n    \"description_zh\": \"先驱者护卫舰\", \n    \"descriptionID\": 317779, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Precursor-Fregatten\", \n    \"name_en-us\": \"Precursor Frigates\", \n    \"name_es\": \"Fragatas precursoras\", \n    \"name_fr\": \"Frégates précurseuses\", \n    \"name_it\": \"Precursor Frigates\", \n    \"name_ja\": \"プリカーサーフリゲート\", \n    \"name_ko\": \"프리커서 프리깃\", \n    \"name_ru\": \"Фрегаты Предтечей\", \n    \"name_zh\": \"先驱者护卫舰\", \n    \"nameID\": 317778, \n    \"parentGroupID\": 1361\n  }, \n  \"2426\": {\n    \"description_de\": \"Triglavia-Fregatten\", \n    \"description_en-us\": \"Triglavian Frigates\", \n    \"description_es\": \"Fragatas triglavianas\", \n    \"description_fr\": \"Frégates triglavian\", \n    \"description_it\": \"Triglavian Frigates\", \n    \"description_ja\": \"トリグラビアンフリゲート\", \n    \"description_ko\": \"트리글라비안 프리깃\", \n    \"description_ru\": \"Фрегаты Триглава\", \n    \"description_zh\": \"三神裔护卫舰\", \n    \"descriptionID\": 317781, \n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглав\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 317780, \n    \"parentGroupID\": 2425\n  }, \n  \"2427\": {\n    \"description_de\": \"Precursor-Kreuzer\", \n    \"description_en-us\": \"Precursor Cruisers\", \n    \"description_es\": \"Cruceros precursores\", \n    \"description_fr\": \"Croiseurs précurseurs\", \n    \"description_it\": \"Precursor Cruisers\", \n    \"description_ja\": \"プリカーサー巡洋艦\", \n    \"description_ko\": \"프리커서 크루저\", \n    \"description_ru\": \"Крейсеры Предтечей.\", \n    \"description_zh\": \"先驱者巡洋舰\", \n    \"descriptionID\": 317783, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Precursor-Kreuzer\", \n    \"name_en-us\": \"Precursor Cruisers\", \n    \"name_es\": \"Cruceros precursores\", \n    \"name_fr\": \"Croiseurs précurseurs\", \n    \"name_it\": \"Precursor Cruisers\", \n    \"name_ja\": \"プリカーサー巡洋艦\", \n    \"name_ko\": \"프리커서 크루저\", \n    \"name_ru\": \"Крейсеры Предтечей\", \n    \"name_zh\": \"先驱者巡洋舰\", \n    \"nameID\": 317782, \n    \"parentGroupID\": 1367\n  }, \n  \"2428\": {\n    \"description_de\": \"Triglavia-Kreuzer\", \n    \"description_en-us\": \"Triglavian Cruisers\", \n    \"description_es\": \"Cruceros triglavianos\", \n    \"description_fr\": \"Croiseurs triglavian\", \n    \"description_it\": \"Triglavian Cruisers\", \n    \"description_ja\": \"トリグラビアン巡洋艦\", \n    \"description_ko\": \"트리글라비안 크루저\", \n    \"description_ru\": \"Крейсеры Триглава.\", \n    \"description_zh\": \"三神裔巡洋舰\", \n    \"descriptionID\": 317785, \n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглав\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 317784, \n    \"parentGroupID\": 2427\n  }, \n  \"2429\": {\n    \"description_de\": \"Precursor-Schlachtschiffe\", \n    \"description_en-us\": \"Precursor Battleships\", \n    \"description_es\": \"Acorazados precursores\", \n    \"description_fr\": \"Cuirassés précurseurs\", \n    \"description_it\": \"Precursor Battleships\", \n    \"description_ja\": \"プリカーサー戦艦\", \n    \"description_ko\": \"프리커서 배틀쉽\", \n    \"description_ru\": \"Линкоры Предтечей.\", \n    \"description_zh\": \"先驱者战列舰\", \n    \"descriptionID\": 317787, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Precursor-Schlachtschiffe\", \n    \"name_en-us\": \"Precursor Battleships\", \n    \"name_es\": \"Acorazados precursores\", \n    \"name_fr\": \"Cuirassés précurseurs\", \n    \"name_it\": \"Precursor Battleships\", \n    \"name_ja\": \"プリカーサー戦艦\", \n    \"name_ko\": \"프리커서 배틀쉽\", \n    \"name_ru\": \"Линкоры Предтечей\", \n    \"name_zh\": \"先驱者战列舰\", \n    \"nameID\": 317786, \n    \"parentGroupID\": 1376\n  }, \n  \"2430\": {\n    \"description_de\": \"Triglavia-Schlachtschiffe\", \n    \"description_en-us\": \"Triglavian Battleships\", \n    \"description_es\": \"Acorazados triglavianos\", \n    \"description_fr\": \"Cuirassés triglavian\", \n    \"description_it\": \"Triglavian Battleships\", \n    \"description_ja\": \"トリグラビアン戦艦\", \n    \"description_ko\": \"트리글라비안 배틀쉽\", \n    \"description_ru\": \"Линкоры Триглава.\", \n    \"description_zh\": \"三神裔战列舰\", \n    \"descriptionID\": 317789, \n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглав\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 317788, \n    \"parentGroupID\": 2429\n  }, \n  \"2431\": {\n    \"description_de\": \"Precursor-Geschütztürme\", \n    \"description_en-us\": \"Precursor Turrets\", \n    \"description_es\": \"Torretas precursoras\", \n    \"description_fr\": \"Tourelles précurseuses\", \n    \"description_it\": \"Precursor Turrets\", \n    \"description_ja\": \"プリカーサータレット\", \n    \"description_ko\": \"프리커서 터렛\", \n    \"description_ru\": \"Турели Предтечей.\", \n    \"description_zh\": \"先驱者炮台\", \n    \"descriptionID\": 317791, \n    \"hasTypes\": 0, \n    \"iconID\": 21923, \n    \"name_de\": \"Precursor-Geschütztürme\", \n    \"name_en-us\": \"Precursor Turrets\", \n    \"name_es\": \"Torretas precursoras\", \n    \"name_fr\": \"Tourelles précurseuses\", \n    \"name_it\": \"Precursor Turrets\", \n    \"name_ja\": \"プリカーサータレット\", \n    \"name_ko\": \"프리커서 터렛\", \n    \"name_ru\": \"Турели Предтечей\", \n    \"name_zh\": \"先驱者炮台\", \n    \"nameID\": 317790, \n    \"parentGroupID\": 10\n  }, \n  \"2432\": {\n    \"description_de\": \"Entropische Desintegratoren\", \n    \"description_en-us\": \"Entropic Disintegrators\", \n    \"description_es\": \"Desintegradores entrópicos\", \n    \"description_fr\": \"Désintégrateurs entropiques\", \n    \"description_it\": \"Entropic Disintegrators\", \n    \"description_ja\": \"エントロピックディスインテグレーター\", \n    \"description_ko\": \"엔트로픽 분열기\", \n    \"description_ru\": \"Энтропические дезинтеграторы.\", \n    \"description_zh\": \"熵能分解者\", \n    \"descriptionID\": 317793, \n    \"hasTypes\": 0, \n    \"iconID\": 21921, \n    \"name_de\": \"Entropische Desintegratoren\", \n    \"name_en-us\": \"Entropic Disintegrators\", \n    \"name_es\": \"Desintegradores entrópicos\", \n    \"name_fr\": \"Désintégrateurs entropiques\", \n    \"name_it\": \"Entropic Disintegrators\", \n    \"name_ja\": \"エントロピックディスインテグレーター\", \n    \"name_ko\": \"엔트로픽 분열기\", \n    \"name_ru\": \"Энтропические дезинтеграторы\", \n    \"name_zh\": \"熵能分解者\", \n    \"nameID\": 317792, \n    \"parentGroupID\": 2431\n  }, \n  \"2433\": {\n    \"description_de\": \"Kleine entropische Desintegratoren\", \n    \"description_en-us\": \"Small Entropic Disintegrators\", \n    \"description_es\": \"Desintegradores entrópicos pequeños\", \n    \"description_fr\": \"Petits désintégrateurs entropiques\", \n    \"description_it\": \"Small Entropic Disintegrators\", \n    \"description_ja\": \"小型エントロピックディスインテグレーター\", \n    \"description_ko\": \"소형 엔트로픽 분열기\", \n    \"description_ru\": \"Малые энтропические дезинтеграторы.\", \n    \"description_zh\": \"小型熵能分解者\", \n    \"descriptionID\": 317795, \n    \"hasTypes\": 1, \n    \"iconID\": 21923, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petits\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 317794, \n    \"parentGroupID\": 2432\n  }, \n  \"2434\": {\n    \"description_de\": \"Mittelgroße entropische Desintegratoren\", \n    \"description_en-us\": \"Medium Entropic Disintegrators\", \n    \"description_es\": \"Desintegradores entrópico medianos\", \n    \"description_fr\": \"Désintégrateurs entropiques intermédiaires\", \n    \"description_it\": \"Medium Entropic Disintegrators\", \n    \"description_ja\": \"中型エントロピックディスインテグレーター\", \n    \"description_ko\": \"중형 엔트로픽 분열기\", \n    \"description_ru\": \"Средние энтропические дезинтеграторы.\", \n    \"description_zh\": \"中型熵能分解者\", \n    \"descriptionID\": 317797, \n    \"hasTypes\": 1, \n    \"iconID\": 21922, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaires\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 317796, \n    \"parentGroupID\": 2432\n  }, \n  \"2435\": {\n    \"description_de\": \"Große entropische Desintegratoren\", \n    \"description_en-us\": \"Large Entropic Disintegrators\", \n    \"description_es\": \"Desintegradores entrópicos grandes\", \n    \"description_fr\": \"Grands désintégrateurs entropiques\", \n    \"description_it\": \"Large Entropic Disintegrators\", \n    \"description_ja\": \"大型エントロピックディスインテグレーター\", \n    \"description_ko\": \"대형 엔트로픽 분열기\", \n    \"description_ru\": \"Крупные энтропические дезинтеграторы.\", \n    \"description_zh\": \"大型熵能分解者\", \n    \"descriptionID\": 317799, \n    \"hasTypes\": 1, \n    \"iconID\": 21921, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grands\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Крупные\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 317798, \n    \"parentGroupID\": 2432\n  }, \n  \"2436\": {\n    \"description_de\": \"Mutaplasmide verändern die Attribute eines Moduls dauerhaft\", \n    \"description_en-us\": \"Mutaplasmids permanently alter a module's attributes\", \n    \"description_es\": \"Los mutaplásmidos alteran permanentemente los atributos de un módulo.\", \n    \"description_fr\": \"Les mutaplasmides modifient de façon permanente les attributs d'un module.\", \n    \"description_it\": \"Mutaplasmids permanently alter a module's attributes\", \n    \"description_ja\": \"モジュールの属性を恒久的に変える変異プラスミド\", \n    \"description_ko\": \"뮤타플라즈미드를 사용하여 모듈의 성능을 영구적으로 변화시킬 수 있습니다.\", \n    \"description_ru\": \"Мутаплазмиды навсегда меняют характеристики модуля.\", \n    \"description_zh\": \"可以永久改变一个装备的属性的突变质体\", \n    \"descriptionID\": 317801, \n    \"hasTypes\": 0, \n    \"iconID\": 21891, \n    \"name_de\": \"Mutaplasmide\", \n    \"name_en-us\": \"Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos\", \n    \"name_fr\": \"Mutaplasmides\", \n    \"name_it\": \"Mutaplasmids\", \n    \"name_ja\": \"変異プラスミド\", \n    \"name_ko\": \"뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды\", \n    \"name_zh\": \"突变质体\", \n    \"nameID\": 317800, \n    \"parentGroupID\": 955\n  }, \n  \"2437\": {\n    \"description_de\": \"Mutaplasmide, die für Panzerungsmodule verwendet werden\", \n    \"description_en-us\": \"Mutaplasmids that are used on Armor modules\", \n    \"description_es\": \"Mutaplásmidos que se usan en los módulos de blindaje.\", \n    \"description_fr\": \"Mutaplasmides pouvant être utilisés sur les modules de blindage.\", \n    \"description_it\": \"Mutaplasmids that are used on Armor modules\", \n    \"description_ja\": \"アーマーモジュールに使用する変異プラスミド\", \n    \"description_ko\": \"장갑 모듈에 사용되는 뮤타플라즈미드입니다.\", \n    \"description_ru\": \"Мутаплазмиды для модулей брони.\", \n    \"description_zh\": \"适用于装甲装备的突变质体\", \n    \"descriptionID\": 317803, \n    \"hasTypes\": 0, \n    \"iconID\": 21989, \n    \"name_de\": \"Panzerungs-Mutaplasmide\", \n    \"name_en-us\": \"Armor Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de blindaje\", \n    \"name_fr\": \"Mutaplasmides de blindage\", \n    \"name_it\": \"Armor Mutaplasmids\", \n    \"name_ja\": \"アーマー変異プラスミド\", \n    \"name_ko\": \"장갑 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды брони\", \n    \"name_zh\": \"装甲突变质体\", \n    \"nameID\": 317802, \n    \"parentGroupID\": 2436\n  }, \n  \"2438\": {\n    \"description_de\": \"Mutaplasmide, die für Schildmodule verwendet werden.\", \n    \"description_en-us\": \"Mutaplasmids that can be used on shield modules.\", \n    \"description_es\": \"Mutaplásmidos que pueden usarse en los módulos de escudo.\", \n    \"description_fr\": \"Mutaplasmides pouvant être utilisés sur les modules de bouclier.\", \n    \"description_it\": \"Mutaplasmids that can be used on shield modules.\", \n    \"description_ja\": \"シールドモジュールに使用できる変異プラスミド\", \n    \"description_ko\": \"실드 모듈에 사용되는 뮤타플라즈미드입니다.\", \n    \"description_ru\": \"Мутаплазмиды для модулей щитов.\", \n    \"description_zh\": \"适用于护盾装备的突变质体。\", \n    \"descriptionID\": 317805, \n    \"hasTypes\": 0, \n    \"iconID\": 21985, \n    \"name_de\": \"Schild-Mutaplasmide\", \n    \"name_en-us\": \"Shield Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de escudo\", \n    \"name_fr\": \"Mutaplasmides de bouclier\", \n    \"name_it\": \"Shield Mutaplasmids\", \n    \"name_ja\": \"シールド変異プラスミド\", \n    \"name_ko\": \"실드 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды щитов\", \n    \"name_zh\": \"护盾突变质体\", \n    \"nameID\": 317804, \n    \"parentGroupID\": 2436\n  }, \n  \"2439\": {\n    \"description_de\": \"Mutaplasmide, die für Antriebsmodule verwendet werden.\", \n    \"description_en-us\": \"Mutaplasmids that can be used on Propulsion modules.\", \n    \"description_es\": \"Mutaplásmidos que pueden usarse en los módulos de propulsión.\", \n    \"description_fr\": \"Mutaplasmides pouvant être utilisés sur les modules de propulsion.\", \n    \"description_it\": \"Mutaplasmids that can be used on Propulsion modules.\", \n    \"description_ja\": \"推進力装備モジュールに使用できる変異プラスミド\", \n    \"description_ko\": \"추진 모듈에 사용되는 뮤타플라즈미드입니다.\", \n    \"description_ru\": \"Мутаплазмиды для двигательных модулей.\", \n    \"description_zh\": \"适用于推进装备的突变质体。\", \n    \"descriptionID\": 317807, \n    \"hasTypes\": 0, \n    \"iconID\": 21984, \n    \"name_de\": \"Astronautische Mutaplasmide\", \n    \"name_en-us\": \"Astronautic Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos astronáuticos\", \n    \"name_fr\": \"Mutaplasmides astronautiques\", \n    \"name_it\": \"Astronautic Mutaplasmids\", \n    \"name_ja\": \"宇宙航行変異プラスミド\", \n    \"name_ko\": \"항법 뮤타플라즈미드\", \n    \"name_ru\": \"Двигательные мутаплазмиды\", \n    \"name_zh\": \"空间技术突变质体\", \n    \"nameID\": 317806, \n    \"parentGroupID\": 2436\n  }, \n  \"2440\": {\n    \"description_de\": \"Mutaplasmide, die für Industriedienstmodule verwendet werden\", \n    \"description_en-us\": \"Mutaplasmids that can be used on Engineering modules\", \n    \"description_es\": \"Mutaplásmidos que pueden usarse en los módulos de ingeniería.\", \n    \"description_fr\": \"Mutaplasmides pouvant être utilisés sur les modules d'ingénierie.\", \n    \"description_it\": \"Mutaplasmids that can be used on Engineering modules\", \n    \"description_ja\": \"電気工学モジュールに使用できる変異プラスミド\", \n    \"description_ko\": \"엔지니어링 모듈에 사용되는 뮤타플라즈미드입니다.\", \n    \"description_ru\": \"Мутаплазмиды для инженерных модулей.\", \n    \"description_zh\": \"适用于工程装备的突变质体。\", \n    \"descriptionID\": 317809, \n    \"hasTypes\": 0, \n    \"iconID\": 21987, \n    \"name_de\": \"Industrie-Mutaplasmide\", \n    \"name_en-us\": \"Engineering Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de ingeniería\", \n    \"name_fr\": \"Mutaplasmides d'ingénierie\", \n    \"name_it\": \"Engineering Mutaplasmids\", \n    \"name_ja\": \"電気工学変異プラスミド\", \n    \"name_ko\": \"엔지니어링 뮤타플라즈미드\", \n    \"name_ru\": \"Инженерные мутаплазмиды\", \n    \"name_zh\": \"工程突变质体\", \n    \"nameID\": 317808, \n    \"parentGroupID\": 2436\n  }, \n  \"2441\": {\n    \"description_de\": \"Mutaplasmide, die für Warpstörungsmodule verwendet werden.\", \n    \"description_en-us\": \"Mutaplasmids that can be used on Warp Disruption modules.\", \n    \"description_es\": \"Mutaplásmidos que pueden usarse en los módulos de disrupción de warp.\", \n    \"description_fr\": \"Mutaplasmides pouvant être utilisés sur les modules de perturbation de warp.\", \n    \"description_it\": \"Mutaplasmids that can be used on Warp Disruption modules.\", \n    \"description_ja\": \"ワープ妨害モジュールに使用できる変異プラスミド\", \n    \"description_ko\": \"워프 디스럽션 모듈에 사용되는 뮤타플라즈미드입니다.\", \n    \"description_ru\": \"Мутаплазмиды для модулей варп-помех.\", \n    \"description_zh\": \"适用于跃迁扰断装备的突变质体。\", \n    \"descriptionID\": 317811, \n    \"hasTypes\": 1, \n    \"iconID\": 21993, \n    \"name_de\": \"Warpstörungs-Mutaplasmide\", \n    \"name_en-us\": \"Warp Disruption Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de disrupción de warp\", \n    \"name_fr\": \"Mutaplasmides de perturbation de warp\", \n    \"name_it\": \"Warp Disruption Mutaplasmids\", \n    \"name_ja\": \"ワープ妨害変異プラスミド\", \n    \"name_ko\": \"워프 디스럽션 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды варп-помех\", \n    \"name_zh\": \"跃迁扰断突变质体\", \n    \"nameID\": 317810, \n    \"parentGroupID\": 2436\n  }, \n  \"2442\": {\n    \"description_de\": \"Mutaplasmide, die für Stasisnetzmodule verwendet werden.\", \n    \"description_en-us\": \"Mutaplasmids that can be used on Stasis Webifier modules.\", \n    \"description_es\": \"Mutaplásmidos que pueden usarse en los módulos de red ralentizadora.\", \n    \"description_fr\": \"Mutaplasmides pouvant être utilisés sur les modules de générateur de stase.\", \n    \"description_it\": \"Mutaplasmids that can be used on Stasis Webifier modules.\", \n    \"description_ja\": \"ステイシスウェビファイヤーモジュールに使用できる変異プラスミド\", \n    \"description_ko\": \"스테이시스 웹 생성기 모듈에 사용되는 뮤타플라즈미드입니다.\", \n    \"description_ru\": \"Мутаплазмиды для модулей стазис-индукторов.\", \n    \"description_zh\": \"适用于停滞缠绕光束装备的突变质体。\", \n    \"descriptionID\": 317813, \n    \"hasTypes\": 1, \n    \"iconID\": 21992, \n    \"name_de\": \"Stasisnetz-Mutaplasmide\", \n    \"name_en-us\": \"Stasis Webifier Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de red ralentizadora\", \n    \"name_fr\": \"Mutaplasmides de générateur de stase\", \n    \"name_it\": \"Stasis Webifier Mutaplasmids\", \n    \"name_ja\": \"ステイシスウェビファイヤー変異プラスミド\", \n    \"name_ko\": \"스테이시스 웹 생성기 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды стазис-индукторов\", \n    \"name_zh\": \"停滞缠绕光束突变质体\", \n    \"nameID\": 317812, \n    \"parentGroupID\": 2436\n  }, \n  \"2443\": {\n    \"description_de\": \"Kleine Panzerungs-Mutaplasmide\", \n    \"description_en-us\": \"Small Armor Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de blindaje pequeños\", \n    \"description_fr\": \"Petits mutaplasmides de blindage\", \n    \"description_it\": \"Small Armor Mutaplasmids\", \n    \"description_ja\": \"小型アーマー変異プラスミド\", \n    \"description_ko\": \"소형 장갑 뮤타플라즈미드\", \n    \"description_ru\": \"Малые мутаплазмиды брони.\", \n    \"description_zh\": \"小型装甲突变质体\", \n    \"descriptionID\": 317815, \n    \"hasTypes\": 1, \n    \"name_de\": \"Kleine Panzerungs-Mutaplasmide\", \n    \"name_en-us\": \"Small Armor Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de blindaje pequeños\", \n    \"name_fr\": \"Petits mutaplasmides de blindage\", \n    \"name_it\": \"Small Armor Mutaplasmids\", \n    \"name_ja\": \"小型アーマー変異プラスミド\", \n    \"name_ko\": \"소형 장갑 뮤타플라즈미드\", \n    \"name_ru\": \"Малые мутаплазмиды брони\", \n    \"name_zh\": \"小型装甲突变质体\", \n    \"nameID\": 317814, \n    \"parentGroupID\": 2437\n  }, \n  \"2444\": {\n    \"description_de\": \"Mittelgroße Panzerungs-Mutaplasmide\", \n    \"description_en-us\": \"Medium Armor Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de blindaje medianos\", \n    \"description_fr\": \"Mutaplasmides de blindage intermédiaires\", \n    \"description_it\": \"Medium Armor Mutaplasmids\", \n    \"description_ja\": \"中型アーマー変異プラスミド\", \n    \"description_ko\": \"중형 장갑 뮤타플라즈미드\", \n    \"description_ru\": \"Средние мутаплазмиды брони.\", \n    \"description_zh\": \"中型装甲突变质体\", \n    \"descriptionID\": 317817, \n    \"hasTypes\": 1, \n    \"name_de\": \"Mittelgroße Panzerungs-Mutaplasmide\", \n    \"name_en-us\": \"Medium Armor Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de blindaje medianos\", \n    \"name_fr\": \"Mutaplasmides de blindage intermédiaires\", \n    \"name_it\": \"Medium Armor Mutaplasmids\", \n    \"name_ja\": \"中型アーマー変異プラスミド\", \n    \"name_ko\": \"중형 장갑 뮤타플라즈미드\", \n    \"name_ru\": \"Средние мутаплазмиды брони\", \n    \"name_zh\": \"中型装甲突变质体\", \n    \"nameID\": 317816, \n    \"parentGroupID\": 2437\n  }, \n  \"2445\": {\n    \"description_de\": \"Große Panzerungs-Mutaplasmide\", \n    \"description_en-us\": \"Large Armor Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de blindaje grandes\", \n    \"description_fr\": \"Grands mutaplasmides de blindage\", \n    \"description_it\": \"Large Armor Mutaplasmids\", \n    \"description_ja\": \"大型アーマー変異プラスミド\", \n    \"description_ko\": \"대형 장갑 뮤타플라즈미드\", \n    \"description_ru\": \"Большие мутаплазмиды брони.\", \n    \"description_zh\": \"大型装甲突变质体\", \n    \"descriptionID\": 317819, \n    \"hasTypes\": 1, \n    \"name_de\": \"Große Panzerungs-Mutaplasmide\", \n    \"name_en-us\": \"Large Armor Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de blindaje grandes\", \n    \"name_fr\": \"Grands mutaplasmides de blindage\", \n    \"name_it\": \"Large Armor Mutaplasmids\", \n    \"name_ja\": \"大型アーマー変異プラスミド\", \n    \"name_ko\": \"대형 장갑 뮤타플라즈미드\", \n    \"name_ru\": \"Большие мутаплазмиды брони\", \n    \"name_zh\": \"大型装甲突变质体\", \n    \"nameID\": 317818, \n    \"parentGroupID\": 2437\n  }, \n  \"2446\": {\n    \"description_de\": \"Kleine Schild-Mutaplasmide\", \n    \"description_en-us\": \"Small Shield Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de escudo pequeños\", \n    \"description_fr\": \"Petits mutaplasmides de bouclier\", \n    \"description_it\": \"Small Shield Mutaplasmids\", \n    \"description_ja\": \"小型シールド変異プラスミド\", \n    \"description_ko\": \"소형 실드 뮤타플라즈미드\", \n    \"description_ru\": \"Малые мутаплазмиды щитов.\", \n    \"description_zh\": \"小型护盾突变质体\", \n    \"descriptionID\": 317821, \n    \"hasTypes\": 1, \n    \"name_de\": \"Kleine Schild-Mutaplasmide\", \n    \"name_en-us\": \"Small Shield Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de escudo pequeños\", \n    \"name_fr\": \"Petits mutaplasmides de bouclier\", \n    \"name_it\": \"Small Shield Mutaplasmids\", \n    \"name_ja\": \"小型シールド変異プラスミド\", \n    \"name_ko\": \"소형 실드 뮤타플라즈미드\", \n    \"name_ru\": \"Малые мутаплазмиды щитов\", \n    \"name_zh\": \"小型护盾突变质体\", \n    \"nameID\": 317820, \n    \"parentGroupID\": 2438\n  }, \n  \"2447\": {\n    \"description_de\": \"Mittelgroße Schild-Mutaplasmide\", \n    \"description_en-us\": \"Medium Shield Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de escudo medianos\", \n    \"description_fr\": \"Mutaplasmides de bouclier intermédiaires\", \n    \"description_it\": \"Medium Shield Mutaplasmids\", \n    \"description_ja\": \"中型シールド変異プラスミド\", \n    \"description_ko\": \"중형 실드 뮤타플라즈미드\", \n    \"description_ru\": \"Средние мутаплазмиды щитов.\", \n    \"description_zh\": \"中型护盾突变质体\", \n    \"descriptionID\": 317823, \n    \"hasTypes\": 1, \n    \"name_de\": \"Mittelgroße Schild-Mutaplasmide\", \n    \"name_en-us\": \"Medium Shield Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de escudo medianos\", \n    \"name_fr\": \"Mutaplasmides de bouclier intermédiaires\", \n    \"name_it\": \"Medium Shield Mutaplasmids\", \n    \"name_ja\": \"中型シールド変異プラスミド\", \n    \"name_ko\": \"중형 실드 뮤타플라즈미드\", \n    \"name_ru\": \"Средние мутаплазмиды щитов\", \n    \"name_zh\": \"中型护盾突变质体\", \n    \"nameID\": 317822, \n    \"parentGroupID\": 2438\n  }, \n  \"2448\": {\n    \"description_de\": \"Große Schild-Mutaplasmide\", \n    \"description_en-us\": \"Large Shield Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de escudo grandes\", \n    \"description_fr\": \"Grands mutaplasmides de bouclier\", \n    \"description_it\": \"Large Shield Mutaplasmids\", \n    \"description_ja\": \"大型シールド変異プラスミド\", \n    \"description_ko\": \"대형 실드 뮤타플라즈미드\", \n    \"description_ru\": \"Большие мутаплазмиды щитов.\", \n    \"description_zh\": \"大型护盾突变质体\", \n    \"descriptionID\": 317825, \n    \"hasTypes\": 1, \n    \"name_de\": \"Große Schild-Mutaplasmide\", \n    \"name_en-us\": \"Large Shield Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de escudo grandes\", \n    \"name_fr\": \"Grands mutaplasmides de bouclier\", \n    \"name_it\": \"Large Shield Mutaplasmids\", \n    \"name_ja\": \"大型シールド変異プラスミド\", \n    \"name_ko\": \"대형 실드 뮤타플라즈미드\", \n    \"name_ru\": \"Большие мутаплазмиды щитов\", \n    \"name_zh\": \"大型护盾突变质体\", \n    \"nameID\": 317824, \n    \"parentGroupID\": 2438\n  }, \n  \"2449\": {\n    \"description_de\": \"Extragroße Schild-Mutaplasmide\", \n    \"description_en-us\": \"X-Large Shield Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de escudo extragrandes\", \n    \"description_fr\": \"Très grands mutaplasmides de bouclier\", \n    \"description_it\": \"X-Large Shield Mutaplasmids\", \n    \"description_ja\": \"超大型シールド変異プラスミド\", \n    \"description_ko\": \"초대형 실드 뮤타플라즈미드\", \n    \"description_ru\": \"Сверхбольшие мутаплазмиды щитов.\", \n    \"description_zh\": \"超大型护盾突变质体\", \n    \"descriptionID\": 317827, \n    \"hasTypes\": 1, \n    \"name_de\": \"Extragroße Schild-Mutaplasmide\", \n    \"name_en-us\": \"X-Large Shield Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de escudo extragrandes\", \n    \"name_fr\": \"Très grands mutaplasmides de bouclier\", \n    \"name_it\": \"X-Large Shield Mutaplasmids\", \n    \"name_ja\": \"超大型シールド変異プラスミド\", \n    \"name_ko\": \"초대형 실드 뮤타플라즈미드\", \n    \"name_ru\": \"Сверхбольшие мутаплазмиды щитов\", \n    \"name_zh\": \"超大型护盾突变质体\", \n    \"nameID\": 317826, \n    \"parentGroupID\": 2438\n  }, \n  \"2450\": {\n    \"description_de\": \"Kleine astronautische Mutaplasmide\", \n    \"description_en-us\": \"Small Atronautic Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos astronáuticos pequeños\", \n    \"description_fr\": \"Petits mutaplasmides astronautiques\", \n    \"description_it\": \"Small Atronautic Mutaplasmids\", \n    \"description_ja\": \"小型宇宙航行変異プラスミド\", \n    \"description_ko\": \"소형 항법 뮤타플라즈미드입니다.\", \n    \"description_ru\": \"Малые двигательные мутаплазмиды.\", \n    \"description_zh\": \"小型空间技术突变质体\", \n    \"descriptionID\": 317829, \n    \"hasTypes\": 1, \n    \"name_de\": \"Kleine astronautische Mutaplasmide\", \n    \"name_en-us\": \"Small Astronautic Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos astronáuticos pequeños\", \n    \"name_fr\": \"Petits mutaplasmides astronautiques\", \n    \"name_it\": \"Small Astronautic Mutaplasmids\", \n    \"name_ja\": \"小型宇宙航行変異プラスミド\", \n    \"name_ko\": \"소형 항법 뮤타플라즈미드\", \n    \"name_ru\": \"Малые двигательные мутаплазмиды\", \n    \"name_zh\": \"小型空间技术突变质体\", \n    \"nameID\": 317828, \n    \"parentGroupID\": 2439\n  }, \n  \"2451\": {\n    \"description_de\": \"Mittelgroße astronautische Mutaplasmide\", \n    \"description_en-us\": \"Medium Astronautic Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos astronáuticos medianos\", \n    \"description_fr\": \"Mutaplasmides astronautiques intermédiaires\", \n    \"description_it\": \"Medium Astronautic Mutaplasmids\", \n    \"description_ja\": \"中型宇宙航行変異プラスミド\", \n    \"description_ko\": \"중형 항법 뮤타플라즈미드\", \n    \"description_ru\": \"Средние двигательные мутаплазмиды.\", \n    \"description_zh\": \"中型空间技术突变质体\", \n    \"descriptionID\": 317831, \n    \"hasTypes\": 1, \n    \"name_de\": \"Mittelgroße astronautische Mutaplasmide\", \n    \"name_en-us\": \"Medium Astronautic Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos astronáuticos medianos\", \n    \"name_fr\": \"Mutaplasmides astronautiques intermédiaires\", \n    \"name_it\": \"Medium Astronautic Mutaplasmids\", \n    \"name_ja\": \"中型宇宙航行変異プラスミド\", \n    \"name_ko\": \"중형 항법 뮤타플라즈미드\", \n    \"name_ru\": \"Средние двигательные мутаплазмиды\", \n    \"name_zh\": \"中型空间技术突变质体\", \n    \"nameID\": 317830, \n    \"parentGroupID\": 2439\n  }, \n  \"2452\": {\n    \"description_de\": \"Große astronautische Mutaplasmide\", \n    \"description_en-us\": \"Large Astronautic Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos astronáuticos grandes\", \n    \"description_fr\": \"Grands mutaplasmides astronautiques\", \n    \"description_it\": \"Large Astronautic Mutaplasmids\", \n    \"description_ja\": \"大型宇宙航行変異プラスミド\", \n    \"description_ko\": \"대형 항법 뮤타플라즈미드\", \n    \"description_ru\": \"Большие двигательные мутаплазмиды.\", \n    \"description_zh\": \"大型空间技术突变质体\", \n    \"descriptionID\": 317833, \n    \"hasTypes\": 1, \n    \"name_de\": \"Große astronautische Mutaplasmide\", \n    \"name_en-us\": \"Large Astronautic Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos astronáuticos grandes\", \n    \"name_fr\": \"Grands mutaplasmides astronautiques\", \n    \"name_it\": \"Large Astronautic Mutaplasmids\", \n    \"name_ja\": \"大型宇宙航行変異プラスミド\", \n    \"name_ko\": \"대형 항법 뮤타플라즈미드\", \n    \"name_ru\": \"Большие двигательные мутаплазмиды\", \n    \"name_zh\": \"大型空间技术突变质体\", \n    \"nameID\": 317832, \n    \"parentGroupID\": 2439\n  }, \n  \"2453\": {\n    \"description_de\": \"Kleine Industrie-Mutaplasmide\", \n    \"description_en-us\": \"Small Engineering Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de ingeniería pequeños\", \n    \"description_fr\": \"Petits mutaplasmides d'ingénierie\", \n    \"description_it\": \"Small Engineering Mutaplasmids\", \n    \"description_ja\": \"小型電気工学変異プラスミド\", \n    \"description_ko\": \"소형 엔지니어링 뮤타플라즈미드\", \n    \"description_ru\": \"Малые инженерные мутаплазмиды.\", \n    \"description_zh\": \"小型工程突变质体\", \n    \"descriptionID\": 317835, \n    \"hasTypes\": 1, \n    \"name_de\": \"Kleine Industrie-Mutaplasmide\", \n    \"name_en-us\": \"Small Engineering Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de ingeniería pequeños\", \n    \"name_fr\": \"Petits mutaplasmides d'ingénierie\", \n    \"name_it\": \"Small Engineering Mutaplasmids\", \n    \"name_ja\": \"小型電気工学変異プラスミド\", \n    \"name_ko\": \"소형 엔지니어링 뮤타플라즈미드\", \n    \"name_ru\": \"Малые инженерные мутаплазмиды\", \n    \"name_zh\": \"小型工程突变质体\", \n    \"nameID\": 317834, \n    \"parentGroupID\": 2440\n  }, \n  \"2454\": {\n    \"description_de\": \"Mittelgroße Industrie-Mutaplasmide\", \n    \"description_en-us\": \"Medium Engineering Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de ingeniería medianos\", \n    \"description_fr\": \"Mutaplasmides d'ingénierie intermédiaires\", \n    \"description_it\": \"Medium Engineering Mutaplasmids\", \n    \"description_ja\": \"中型電気工学変異プラスミド\", \n    \"description_ko\": \"중형 엔지니어링 뮤타플라즈미드\", \n    \"description_ru\": \"Средние инженерные мутаплазмиды.\", \n    \"description_zh\": \"中型工程突变质体\", \n    \"descriptionID\": 317837, \n    \"hasTypes\": 1, \n    \"name_de\": \"Mittelgroße Industrie-Mutaplasmide\", \n    \"name_en-us\": \"Medium Engineering Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de ingeniería medianos\", \n    \"name_fr\": \"Mutaplasmides d'ingénierie intermédiaires\", \n    \"name_it\": \"Medium Engineering Mutaplasmids\", \n    \"name_ja\": \"中型電気工学変異プラスミド\", \n    \"name_ko\": \"중형 엔지니어링 뮤타플라즈미드\", \n    \"name_ru\": \"Средние инженерные мутаплазмиды\", \n    \"name_zh\": \"中型工程突变质体\", \n    \"nameID\": 317836, \n    \"parentGroupID\": 2440\n  }, \n  \"2455\": {\n    \"description_de\": \"Große Industrie-Mutaplasmide\", \n    \"description_en-us\": \"Large Engineering Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de ingeniería grandes\", \n    \"description_fr\": \"Grands mutaplasmides d'ingénierie\", \n    \"description_it\": \"Large Engineering Mutaplasmids\", \n    \"description_ja\": \"大型電気工学変異プラスミド\", \n    \"description_ko\": \"대형 엔지니어링 뮤타플라즈미드\", \n    \"description_ru\": \"Большие инженерные мутаплазмиды.\", \n    \"description_zh\": \"大型工程突变质体\", \n    \"descriptionID\": 317839, \n    \"hasTypes\": 1, \n    \"name_de\": \"Große Industrie-Mutaplasmide\", \n    \"name_en-us\": \"Large Engineering Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de ingeniería grandes\", \n    \"name_fr\": \"Grands mutaplasmides d'ingénierie\", \n    \"name_it\": \"Large Engineering Mutaplasmids\", \n    \"name_ja\": \"大型電気工学変異プラスミド\", \n    \"name_ko\": \"대형 엔지니어링 뮤타플라즈미드\", \n    \"name_ru\": \"Большие инженерные мутаплазмиды\", \n    \"name_zh\": \"大型工程突变质体\", \n    \"nameID\": 317838, \n    \"parentGroupID\": 2440\n  }, \n  \"2456\": {\n    \"description_de\": \"Abgrundfilamente und Sprungfilamente\", \n    \"description_en-us\": \"Abyssal Filaments and Jump Filaments\", \n    \"description_es\": \"Filamentos abisales y filamentos de salto.\", \n    \"description_fr\": \"Filaments abyssaux et filaments de saut\", \n    \"description_it\": \"Abyssal Filaments and Jump Filaments\", \n    \"description_ja\": \"アビサルフィラメントとジャンプフィラメント\", \n    \"description_ko\": \"어비설 필라멘트 및 점프 필라멘트\", \n    \"description_ru\": \"Нити бездны и прыжковые нити\", \n    \"description_zh\": \"深渊纤维和跳跃纤维\", \n    \"descriptionID\": 317841, \n    \"hasTypes\": 0, \n    \"iconID\": 21924, \n    \"name_de\": \"Filamente\", \n    \"name_en-us\": \"Filaments\", \n    \"name_es\": \"Filamentos\", \n    \"name_fr\": \"Filaments\", \n    \"name_it\": \"Filaments\", \n    \"name_ja\": \"フィラメント\", \n    \"name_ko\": \"필라멘트\", \n    \"name_ru\": \"Нити\", \n    \"name_zh\": \"纤维\", \n    \"nameID\": 317840, \n    \"parentGroupID\": 19\n  }, \n  \"2457\": {\n    \"description_de\": \"Mit diesen Filamenten kann man sich mit Bereichen des Abgrunds mit exotischen Partikelstürmen verbinden\", \n    \"description_en-us\": \"Filaments connected to Abyssal pockets with Exotic Particle Storms\", \n    \"description_es\": \"Filamentos conectados a burbujas abisales con tormentas de partículas exóticas.\", \n    \"description_fr\": \"Filaments qui se connectent à des poches abyssales en utilisant les tempêtes de particules exotiques\", \n    \"description_it\": \"Filaments connected to Abyssal pockets with Exotic Particle Storms\", \n    \"description_ja\": \"エキゾチック粒子の嵐でアビサルポケットに接続されたフィラメント\", \n    \"description_ko\": \"엑조틱 입자폭풍 환경의 어비설 데드스페이스로 이어지는 필라멘트입니다.\", \n    \"description_ru\": \"Нити, соединённые с участками бездны, где встречаются бури экзотических частиц.\", \n    \"description_zh\": \"连接到充斥着异种粒子风暴的深渊空间层的纤维\", \n    \"descriptionID\": 317843, \n    \"hasTypes\": 1, \n    \"iconID\": 21905, \n    \"name_de\": \"Exotische Filamente\", \n    \"name_en-us\": \"Exotic Filaments\", \n    \"name_es\": \"Filamentos exóticos\", \n    \"name_fr\": \"Filaments exotiques\", \n    \"name_it\": \"Exotic Filaments\", \n    \"name_ja\": \"エキゾチックフィラメント\", \n    \"name_ko\": \"엑조틱 필라멘트\", \n    \"name_ru\": \"Экзотические нити\", \n    \"name_zh\": \"异种纤维\", \n    \"nameID\": 317842, \n    \"parentGroupID\": 2456\n  }, \n  \"2458\": {\n    \"description_de\": \"Mit diesen Filamenten kann man sich mit Bereichen des Abgrunds mit Feldern dunkler Materie verbinden\", \n    \"description_en-us\": \"Filaments that connect to Abyssal pockets with Dark Matter Fields\", \n    \"description_es\": \"Filamentos conectados a burbujas abisales con campos de materia oscura.\", \n    \"description_fr\": \"Filaments qui se connectent à des poches abyssales en utilisant les champs de matière noire\", \n    \"description_it\": \"Filaments that connect to Abyssal pockets with Dark Matter Fields\", \n    \"description_ja\": \"暗黒物質フィールドでアビサルポケットに接続されたフィラメント\", \n    \"description_ko\": \"암흑 물질 환경의 어비설 데드스페이스로 이어지는 필라멘트입니다.\", \n    \"description_ru\": \"Нити, соединённые с участками бездны, где встречаются поля тёмной энергии.\", \n    \"description_zh\": \"连接到充斥着暗物质场的深渊空间层的纤维\", \n    \"descriptionID\": 317845, \n    \"hasTypes\": 1, \n    \"iconID\": 21906, \n    \"name_de\": \"Dunkle Filamente\", \n    \"name_en-us\": \"Dark Filaments\", \n    \"name_es\": \"Filamentos oscuros\", \n    \"name_fr\": \"Filaments noirs\", \n    \"name_it\": \"Dark Filaments\", \n    \"name_ja\": \"ダークフィラメント\", \n    \"name_ko\": \"암흑 필라멘트\", \n    \"name_ru\": \"Тёмные нити\", \n    \"name_zh\": \"黑暗纤维\", \n    \"nameID\": 317844, \n    \"parentGroupID\": 2456\n  }, \n  \"2459\": {\n    \"description_de\": \"Mit diesen Filamenten kann man sich mit Bereichen des Abgrunds mit Plasma-Feuerstürmen verbinden\", \n    \"description_en-us\": \"Filaments that connect to Abyssal pockets with Plasma Firestorms\", \n    \"description_es\": \"Filamentos conectados a burbujas abisales con tormentas ígneas de plasma.\", \n    \"description_fr\": \"Filaments qui se connectent à des poches abyssales en utilisant les tempêtes de plasma\", \n    \"description_it\": \"Filaments that connect to Abyssal pockets with Plasma Firestorms\", \n    \"description_ja\": \"プラズマ嵐でアビサルポケットに接続されたフィラメント\", \n    \"description_ko\": \"플라즈마 화염폭풍 환경의 어비설 데드스페이스로 이어지는 필라멘트입니다.\", \n    \"description_ru\": \"Нити, соединённые с участками бездны, где встречаются плазменные пожары.\", \n    \"description_zh\": \"连接到充斥着等离子火焰风暴的深渊空间层的纤维\", \n    \"descriptionID\": 317847, \n    \"hasTypes\": 1, \n    \"iconID\": 21907, \n    \"name_de\": \"Feuersturmfilamente\", \n    \"name_en-us\": \"Firestorm Filaments\", \n    \"name_es\": \"Filamentos de tormenta ígnea\", \n    \"name_fr\": \"Filaments plasmiques\", \n    \"name_it\": \"Firestorm Filaments\", \n    \"name_ja\": \"ファイアストームフィラメント\", \n    \"name_ko\": \"화염폭풍 필라멘트\", \n    \"name_ru\": \"Пламенные нити\", \n    \"name_zh\": \"火瀑纤维\", \n    \"nameID\": 317846, \n    \"parentGroupID\": 2456\n  }, \n  \"2460\": {\n    \"description_de\": \"Mit diesen Filamenten kann man sich mit Bereichen des Abgrunds mit exotischen Partikelstürmen verbinden mit Gammastrahlen-Nachleuchten verbinden\", \n    \"description_en-us\": \"Filaments that connect to Abyssal pockets with Gamma-Ray Afterglow\", \n    \"description_es\": \"Filamentos conectados a burbujas abisales con resplandor de rayos gamma.\", \n    \"description_fr\": \"Filaments qui se connectent à des poches abyssales en utilisant la rémanence de rayonnement gamma\", \n    \"description_it\": \"Filaments that connect to Abyssal pockets with Gamma-Ray Afterglow\", \n    \"description_ja\": \"ガンマ線アフターグローでアビサルポケットに接続されたフィラメント\", \n    \"description_ko\": \"감마선 잔광 환경의 어비설 데드스페이스로 이어지는 필라멘트입니다.\", \n    \"description_ru\": \"Нити, соединённые с участками бездны, где встречается остаточное свечение гамма-лучей.\", \n    \"description_zh\": \"连接到充斥着伽玛射线余波的深渊空间层的纤维\", \n    \"descriptionID\": 317849, \n    \"hasTypes\": 1, \n    \"iconID\": 21904, \n    \"name_de\": \"Gammafilamente\", \n    \"name_en-us\": \"Gamma Filaments\", \n    \"name_es\": \"Filamentos gamma\", \n    \"name_fr\": \"Filaments gamma\", \n    \"name_it\": \"Gamma Filaments\", \n    \"name_ja\": \"ガンマフィラメント\", \n    \"name_ko\": \"감마선 필라멘트\", \n    \"name_ru\": \"Гамма-нити\", \n    \"name_zh\": \"伽玛纤维\", \n    \"nameID\": 317848, \n    \"parentGroupID\": 2456\n  }, \n  \"2461\": {\n    \"description_de\": \"Mit diesen Filamenten kann man sich mit Bereichen des Abgrunds mit exotischen Partikelstürmen verbinden mit elektrischen Stürmen verbinden\", \n    \"description_en-us\": \"Filaments that connect to Abyssal pockets with Electrical Storms\", \n    \"description_es\": \"Filamentos conectados a burbujas abisales con tormentas eléctricas.\", \n    \"description_fr\": \"Filaments qui se connectent à des poches abyssales en utilisant les tempêtes électriques\", \n    \"description_it\": \"Filaments that connect to Abyssal pockets with Electrical Storms\", \n    \"description_ja\": \"電磁嵐でアビサルポケットに接続されたフィラメント\", \n    \"description_ko\": \"전기폭풍 환경의 어비설 데드스페이스로 이어지는 필라멘트입니다.\", \n    \"description_ru\": \"Нити, соединённые с участками бездны, где встречаются электрические бури.\", \n    \"description_zh\": \"连接到充斥着电子风暴的深渊空间层的纤维\", \n    \"descriptionID\": 317851, \n    \"hasTypes\": 1, \n    \"iconID\": 21903, \n    \"name_de\": \"Elektrische Filamente\", \n    \"name_en-us\": \"Electrical Filaments\", \n    \"name_es\": \"Filamentos eléctricos\", \n    \"name_fr\": \"Filaments électriques\", \n    \"name_it\": \"Electrical Filaments\", \n    \"name_ja\": \"エレクトリカルフィラメント\", \n    \"name_ko\": \"전기폭풍 필라멘트\", \n    \"name_ru\": \"Электрические нити\", \n    \"name_zh\": \"电子纤维\", \n    \"nameID\": 317850, \n    \"parentGroupID\": 2456\n  }, \n  \"2462\": {\n    \"description_de\": \"Exotische Plasmaladungen werden in entropischen Desintegratoren verwendet\", \n    \"description_en-us\": \"Exotic Plasma Charges are used in Entropic Disintegrators\", \n    \"description_es\": \"Las cargas de plasma exótico se usan con los desintegradores entrópicos.\", \n    \"description_fr\": \"Les charges à plasma exotiques sont utilisées dans les désintégrateurs entropiques\", \n    \"description_it\": \"Exotic Plasma Charges are used in Entropic Disintegrators\", \n    \"description_ja\": \"エントロピックディスインテグレーターで使用するエキゾチックプラズマチャージ\", \n    \"description_ko\": \"엑조틱 플라즈마 차지는 엔트로픽 분열기에 사용됩니다.\", \n    \"description_ru\": \"Заряды экзотической плазмы используются для работы энтропических дезинтеграторов.\", \n    \"description_zh\": \"熵能分解者使用的异种等离子弹药\", \n    \"descriptionID\": 317853, \n    \"hasTypes\": 0, \n    \"iconID\": 21918, \n    \"name_de\": \"Exotische Plasmaladungen\", \n    \"name_en-us\": \"Exotic Plasma Charges\", \n    \"name_es\": \"Cargas de plasma exótico\", \n    \"name_fr\": \"Charges à plasma exotiques\", \n    \"name_it\": \"Exotic Plasma Charges\", \n    \"name_ja\": \"エキゾチックプラズマチャージ\", \n    \"name_ko\": \"엑조틱 플라즈마 차지\", \n    \"name_ru\": \"Заряды экзотической плазмы\", \n    \"name_zh\": \"异种等离子弹药\", \n    \"nameID\": 317852, \n    \"parentGroupID\": 11\n  }, \n  \"2463\": {\n    \"description_de\": \"Standardmäßige exotische Plasmaladungen\", \n    \"description_en-us\": \"Standard Exotic Plasma Charges\", \n    \"description_es\": \"Cargas estándar de plasma exótico.\", \n    \"description_fr\": \"Charges à plasma exotiques standards\", \n    \"description_it\": \"Standard Exotic Plasma Charges\", \n    \"description_ja\": \"標準型エキゾチックプラズマチャージ\", \n    \"description_ko\": \"일반 엑조틱 플라즈마 차지\", \n    \"description_ru\": \"Стандартные заряды экзотической плазмы\", \n    \"description_zh\": \"标准异种等离子弹药\", \n    \"descriptionID\": 317855, \n    \"hasTypes\": 0, \n    \"iconID\": 21918, \n    \"name_de\": \"Standardmäßige exotische Plasmaladungen\", \n    \"name_en-us\": \"Standard Exotic Plasma Charges\", \n    \"name_es\": \"Cargas estándar de plasma exótico\", \n    \"name_fr\": \"Charges à plasma exotiques standards\", \n    \"name_it\": \"Standard Exotic Plasma Charges\", \n    \"name_ja\": \"標準型エキゾチックプラズマチャージ\", \n    \"name_ko\": \"일반 엑조틱 플라즈마 차지\", \n    \"name_ru\": \"Стандартные заряды экзотической плазмы\", \n    \"name_zh\": \"标准异种等离子弹药\", \n    \"nameID\": 317854, \n    \"parentGroupID\": 2462\n  }, \n  \"2464\": {\n    \"description_de\": \"Fortschrittliche exotische Plasmaladungen\", \n    \"description_en-us\": \"Advanced Exotic Plasma Charges\", \n    \"description_es\": \"Cargas avanzadas de plasma exótico.\", \n    \"description_fr\": \"Charges à plasma exotiques avancées\", \n    \"description_it\": \"Advanced Exotic Plasma Charges\", \n    \"description_ja\": \"高性能エキゾチックプラズマチャージ\", \n    \"description_ko\": \"상급 엑조틱 플라즈마 차지\", \n    \"description_ru\": \"Улучшенные заряды экзотической плазмы\", \n    \"description_zh\": \"高级异种等离子弹药\", \n    \"descriptionID\": 317916, \n    \"hasTypes\": 0, \n    \"iconID\": 21920, \n    \"name_de\": \"Fortschrittliche exotische Plasmaladungen\", \n    \"name_en-us\": \"Advanced Exotic Plasma Charges\", \n    \"name_es\": \"Cargas avanzadas de plasma exótico\", \n    \"name_fr\": \"Charges à plasma exotiques avancées\", \n    \"name_it\": \"Advanced Exotic Plasma Charges\", \n    \"name_ja\": \"高性能エキゾチックプラズマチャージ\", \n    \"name_ko\": \"상급 엑조틱 플라즈마 차지\", \n    \"name_ru\": \"Улучшенные заряды экзотической плазмы\", \n    \"name_zh\": \"高级异种等离子弹药\", \n    \"nameID\": 317856, \n    \"parentGroupID\": 2462\n  }, \n  \"2465\": {\n    \"description_de\": \"Kleine exotische Plasmaladungen\", \n    \"description_en-us\": \"Small Exotic Plasma Charge\", \n    \"description_es\": \"Carga pequeña de plasma exótico.\", \n    \"description_fr\": \"Petite charge à plasma exotique\", \n    \"description_it\": \"Small Exotic Plasma Charge\", \n    \"description_ja\": \"小型エキゾチックプラズマチャージ\", \n    \"description_ko\": \"소형 엑조틱 플라즈마 차지\", \n    \"description_ru\": \"Малые заряды экзотической плазмы\", \n    \"description_zh\": \"小型异种等离子弹药\", \n    \"descriptionID\": 317858, \n    \"hasTypes\": 1, \n    \"iconID\": 21918, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petites\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 317857, \n    \"parentGroupID\": 2463\n  }, \n  \"2466\": {\n    \"description_de\": \"Mittelgroße exotische Plasmaladungen\", \n    \"description_en-us\": \"Medium Exotic Plasma Charges\", \n    \"description_es\": \"Cargas medianas de plasma exótico.\", \n    \"description_fr\": \"Charges à plasma exotiques intermédiaires\", \n    \"description_it\": \"Medium Exotic Plasma Charges\", \n    \"description_ja\": \"中型エキゾチックプラズマチャージ\", \n    \"description_ko\": \"중형 엑조틱 플라즈마 차지\", \n    \"description_ru\": \"Средние заряды экзотической плазмы\", \n    \"description_zh\": \"中型异种等离子弹药\", \n    \"descriptionID\": 317860, \n    \"hasTypes\": 1, \n    \"iconID\": 21918, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaires\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 317859, \n    \"parentGroupID\": 2463\n  }, \n  \"2467\": {\n    \"description_de\": \"Große exotische Plasmaladungen\", \n    \"description_en-us\": \"Large Exotic Plasma Charges\", \n    \"description_es\": \"Cargas grandes de plasma exótico.\", \n    \"description_fr\": \"Grandes charges à plasma exotiques\", \n    \"description_it\": \"Large Exotic Plasma Charges\", \n    \"description_ja\": \"大型エキゾチックプラズマチャージ\", \n    \"description_ko\": \"대형 엑조틱 플라즈마 차지\", \n    \"description_ru\": \"Большие заряды экзотической плазмы\", \n    \"description_zh\": \"大型异种等离子弹药\", \n    \"descriptionID\": 317862, \n    \"hasTypes\": 1, \n    \"iconID\": 21918, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grandes\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Крупные\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 317861, \n    \"parentGroupID\": 2463\n  }, \n  \"2468\": {\n    \"description_de\": \"Kleine fortschrittliche exotische Plasmaladungen\", \n    \"description_en-us\": \"Small Advanced Exotic Plasma Charges\", \n    \"description_es\": \"Cargas avanzadas pequeñas de plasma exótico.\", \n    \"description_fr\": \"Petites charges à plasma exotiques avancées\", \n    \"description_it\": \"Small Advanced Exotic Plasma Charges\", \n    \"description_ja\": \"小型高性能エキゾチックプラズマチャージ\", \n    \"description_ko\": \"소형 상급 엑조틱 플라즈마 차지\", \n    \"description_ru\": \"Малые улучшенные заряды экзотической плазмы\", \n    \"description_zh\": \"小型高级异种等离子弹药\", \n    \"descriptionID\": 317864, \n    \"hasTypes\": 1, \n    \"iconID\": 21920, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petites\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 317863, \n    \"parentGroupID\": 2464\n  }, \n  \"2469\": {\n    \"description_de\": \"Mittelgroße fortschrittliche exotische Plasmaladungen\", \n    \"description_en-us\": \"Medium Advanced Exotic Plasma Charges\", \n    \"description_es\": \"Cargas avanzadas medianas de plasma exótico.\", \n    \"description_fr\": \"Charges à plasma exotiques avancées intermédiaires\", \n    \"description_it\": \"Medium Advanced Exotic Plasma Charges\", \n    \"description_ja\": \"中型高性能エキゾチックプラズマチャージ\", \n    \"description_ko\": \"상급 중형 엑조틱 플라즈마 차지\", \n    \"description_ru\": \"Средние улучшенные заряды экзотической плазмы\", \n    \"description_zh\": \"中型高级异种等离子弹药\", \n    \"descriptionID\": 317866, \n    \"hasTypes\": 1, \n    \"iconID\": 21920, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaires\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 317865, \n    \"parentGroupID\": 2464\n  }, \n  \"2470\": {\n    \"description_de\": \"Große fortschrittliche exotische Plasmaladungen\", \n    \"description_en-us\": \"Large Advanced Exotic Plasma Charges\", \n    \"description_es\": \"Cargas avanzadas grandes de plasma exótico.\", \n    \"description_fr\": \"Grandes charges à plasma exotiques avancées\", \n    \"description_it\": \"Large Advanced Exotic Plasma Charges\", \n    \"description_ja\": \"大型高性能エキゾチックプラズマチャージ\", \n    \"description_ko\": \"상급 대형 엑조틱 플라즈마 차지입니다.\", \n    \"description_ru\": \"Большие улучшенные заряды экзотической плазмы\", \n    \"description_zh\": \"大型高级异种等离子弹药\", \n    \"descriptionID\": 317868, \n    \"hasTypes\": 1, \n    \"iconID\": 21920, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grandes\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Крупные\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 317867, \n    \"parentGroupID\": 2464\n  }, \n  \"2471\": {\n    \"description_de\": \"Erhöht Schaden und Feuerrate für entropische Desintegratoren\", \n    \"description_en-us\": \"Increases damage and rate of fire for Entropic Disintegrators\", \n    \"description_es\": \"Aumenta el daño y la cadencia de tiro de los desintegradores entrópicos.\", \n    \"description_fr\": \"Augmente les dégâts et la cadence de tir pour les désintégrateurs entropiques\", \n    \"description_it\": \"Increases damage and rate of fire for Entropic Disintegrators\", \n    \"description_ja\": \"エントロピックディスインテグレーターのダメージと連射速度を向上させる\", \n    \"description_ko\": \"엔트로픽 분열기의 피해량 및 연사속도를 향상시키는 장치입니다.\", \n    \"description_ru\": \"Увеличивает урон и скорострельность энтропических дезинтеграторов\", \n    \"description_zh\": \"提高熵能分解者的伤害和射速\", \n    \"descriptionID\": 317915, \n    \"hasTypes\": 1, \n    \"iconID\": 26521, \n    \"name_de\": \"Entropische Strahlungskühler\", \n    \"name_en-us\": \"Entropic Radiation Sinks\", \n    \"name_es\": \"Disipadores de radiación entrópica\", \n    \"name_fr\": \"Dissipateurs de radiations entropiques\", \n    \"name_it\": \"Entropic Radiation Sinks\", \n    \"name_ja\": \"エントロピック放射線シンク\", \n    \"name_ko\": \"엔트로픽 방사능 싱크\", \n    \"name_ru\": \"Поглотители энтропического излучения\", \n    \"name_zh\": \"熵辐射槽\", \n    \"nameID\": 317889, \n    \"parentGroupID\": 143\n  }, \n  \"2473\": {\n    \"description_de\": \"Drohnenimplantate\", \n    \"description_en-us\": \"Drone Implants\", \n    \"description_es\": \"Implantes para drones.\", \n    \"description_fr\": \"Implants de drone\", \n    \"description_it\": \"Drone Implants\", \n    \"description_ja\": \"ドローンインプラント\", \n    \"description_ko\": \"드론 임플란트\", \n    \"description_ru\": \"Импланты дронов\", \n    \"description_zh\": \"无人机植入体\", \n    \"descriptionID\": 317900, \n    \"hasTypes\": 0, \n    \"iconID\": 2224, \n    \"name_de\": \"Drohnenimplantate\", \n    \"name_en-us\": \"Drone Implants\", \n    \"name_es\": \"Implantes para drones\", \n    \"name_fr\": \"Implants de drone\", \n    \"name_it\": \"Drone Implants\", \n    \"name_ja\": \"ドローンインプラント\", \n    \"name_ko\": \"드론 임플란트\", \n    \"name_ru\": \"Импланты дронов\", \n    \"name_zh\": \"无人机植入体\", \n    \"nameID\": 317899, \n    \"parentGroupID\": 531\n  }, \n  \"2474\": {\n    \"description_de\": \"Implantat-Slot 06\", \n    \"description_en-us\": \"Implant Slot 06\", \n    \"description_es\": \"Ranura de implante 06.\", \n    \"description_fr\": \"Emplacement d'implant 06\", \n    \"description_it\": \"Implant Slot 06\", \n    \"description_ja\": \"インプラントスロット06\", \n    \"description_ko\": \"임플란트 슬롯 06\", \n    \"description_ru\": \"Разъём для имплантов 06\", \n    \"description_zh\": \"植入体插槽 06\", \n    \"descriptionID\": 317902, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 06\", \n    \"name_en-us\": \"Implant Slot 06\", \n    \"name_es\": \"Ranura de implante 06\", \n    \"name_fr\": \"Emplacement d'implant 06\", \n    \"name_it\": \"Implant Slot 06\", \n    \"name_ja\": \"インプラントスロット06\", \n    \"name_ko\": \"임플란트 슬롯 06\", \n    \"name_ru\": \"Разъём для имплантов 06\", \n    \"name_zh\": \"植入体插槽 06\", \n    \"nameID\": 317901, \n    \"parentGroupID\": 2473\n  }, \n  \"2475\": {\n    \"description_de\": \"Implantat-Slot 07\", \n    \"description_en-us\": \"Implant Slot 07\", \n    \"description_es\": \"Ranura de implante 07.\", \n    \"description_fr\": \"Emplacement d'implant 07\", \n    \"description_it\": \"Implant Slot 07\", \n    \"description_ja\": \"インプラントスロット07\", \n    \"description_ko\": \"임플란트 슬롯 07\", \n    \"description_ru\": \"Разъём для имплантов 07\", \n    \"description_zh\": \"植入体插槽 07\", \n    \"descriptionID\": 317904, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 07\", \n    \"name_en-us\": \"Implant Slot 07\", \n    \"name_es\": \"Ranura de implante 07\", \n    \"name_fr\": \"Emplacement d'implant 07\", \n    \"name_it\": \"Implant Slot 07\", \n    \"name_ja\": \"インプラントスロット07\", \n    \"name_ko\": \"임플란트 슬롯 07\", \n    \"name_ru\": \"Разъём для имплантов 07\", \n    \"name_zh\": \"植入体插槽 07\", \n    \"nameID\": 317903, \n    \"parentGroupID\": 2473\n  }, \n  \"2476\": {\n    \"description_de\": \"Implantat-Slot 08\", \n    \"description_en-us\": \"Implant Slot 08\", \n    \"description_es\": \"Ranura de implante 08.\", \n    \"description_fr\": \"Emplacement d'implant 08\", \n    \"description_it\": \"Implant Slot 08\", \n    \"description_ja\": \"インプラントスロット08\", \n    \"description_ko\": \"임플란트 슬롯 08\", \n    \"description_ru\": \"Разъём для имплантов 08\", \n    \"description_zh\": \"植入体插槽 08\", \n    \"descriptionID\": 317906, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 08\", \n    \"name_en-us\": \"Implant Slot 08\", \n    \"name_es\": \"Ranura de implante 08\", \n    \"name_fr\": \"Emplacement d'implant 08\", \n    \"name_it\": \"Implant Slot 08\", \n    \"name_ja\": \"インプラントスロット08\", \n    \"name_ko\": \"임플란트 슬롯 08\", \n    \"name_ru\": \"Разъём для имплантов 08\", \n    \"name_zh\": \"植入体插槽 08\", \n    \"nameID\": 317905, \n    \"parentGroupID\": 2473\n  }, \n  \"2477\": {\n    \"description_de\": \"Implantat-Slot 09\", \n    \"description_en-us\": \"Implant Slot 09\", \n    \"description_es\": \"Ranura de implante 09.\", \n    \"description_fr\": \"Emplacement d'implant 09\", \n    \"description_it\": \"Implant Slot 09\", \n    \"description_ja\": \"インプラントスロット09\", \n    \"description_ko\": \"임플란트 슬롯 09\", \n    \"description_ru\": \"Разъём для имплантов 09\", \n    \"description_zh\": \"植入体插槽 09\", \n    \"descriptionID\": 317908, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 09\", \n    \"name_en-us\": \"Implant Slot 09\", \n    \"name_es\": \"Ranura de implante 09\", \n    \"name_fr\": \"Emplacement d'implant 09\", \n    \"name_it\": \"Implant Slot 09\", \n    \"name_ja\": \"インプラントスロット09\", \n    \"name_ko\": \"임플란트 슬롯 09\", \n    \"name_ru\": \"Разъём для имплантов 09\", \n    \"name_zh\": \"植入体插槽 09\", \n    \"nameID\": 317907, \n    \"parentGroupID\": 2473\n  }, \n  \"2478\": {\n    \"description_de\": \"Implantat-Slot 10\", \n    \"description_en-us\": \"Implant Slot 10\", \n    \"description_es\": \"Ranura de implante 10.\", \n    \"description_fr\": \"Emplacement d'implant 10\", \n    \"description_it\": \"Implant Slot 10\", \n    \"description_ja\": \"インプラントスロット10\", \n    \"description_ko\": \"임플란트 슬롯 10\", \n    \"description_ru\": \"Разъём для имплантов 10\", \n    \"description_zh\": \"植入体插槽 10\", \n    \"descriptionID\": 317910, \n    \"hasTypes\": 1, \n    \"iconID\": 2224, \n    \"name_de\": \"Implantat-Slot 10\", \n    \"name_en-us\": \"Implant Slot 10\", \n    \"name_es\": \"Ranura de implante 10\", \n    \"name_fr\": \"Emplacement d'implant 10\", \n    \"name_it\": \"Implant Slot 10\", \n    \"name_ja\": \"インプラントスロット10\", \n    \"name_ko\": \"임플란트 슬롯 10\", \n    \"name_ru\": \"Разъём для имплантов 10\", \n    \"name_zh\": \"植入体插槽 10\", \n    \"nameID\": 317909, \n    \"parentGroupID\": 2473\n  }, \n  \"2479\": {\n    \"description_de\": \"Materialien aus der Raumverwerfung des Abgrunds\", \n    \"description_en-us\": \"Materials found in Abyssal Deadspace\", \n    \"description_es\": \"Materiales hallados en el espacio muerto abisal.\", \n    \"description_fr\": \"Matériaux trouvés dans l'abîme Deadspace\", \n    \"description_it\": \"Materials found in Abyssal Deadspace\", \n    \"description_ja\": \"アビサルデッドスペースで見つかる資源\", \n    \"description_ko\": \"어비설 데드스페이스에서 발견되는 물질입니다.\", \n    \"description_ru\": \"Материалы, которые встречаются в Мёртвой бездне\", \n    \"description_zh\": \"在深渊空间中发现的材料\", \n    \"descriptionID\": 317918, \n    \"hasTypes\": 1, \n    \"iconID\": 2103, \n    \"name_de\": \"Materialien des Abgrunds\", \n    \"name_en-us\": \"Abyssal Materials\", \n    \"name_es\": \"Materiales abisales\", \n    \"name_fr\": \"Matériaux abyssaux\", \n    \"name_it\": \"Abyssal Materials\", \n    \"name_ja\": \"アビサル資源\", \n    \"name_ko\": \"어비설 자원\", \n    \"name_ru\": \"Материалы бездны\", \n    \"name_zh\": \"深渊材料\", \n    \"nameID\": 317917, \n    \"parentGroupID\": 1031\n  }, \n  \"2480\": {\n    \"description_de\": \"Triglavia-Datenspeichergeräte\", \n    \"description_en-us\": \"Triglavian Data Storage Devices\", \n    \"description_es\": \"Dispositivos de almacenamiento de datos triglavianos.\", \n    \"description_fr\": \"Dispositifs d'archivage de données triglavian\", \n    \"description_it\": \"Triglavian Data Storage Devices\", \n    \"description_ja\": \"トリグラビアンデータ保管デバイス\", \n    \"description_ko\": \"트리글라비안 데이터 저장장치\", \n    \"description_ru\": \"Триглавские устройства хранения данных\", \n    \"description_zh\": \"三神裔数据存储设备\", \n    \"descriptionID\": 317920, \n    \"hasTypes\": 1, \n    \"iconID\": 21982, \n    \"name_de\": \"Triglavia-Daten\", \n    \"name_en-us\": \"Triglavian Data\", \n    \"name_es\": \"Datos triglavianos\", \n    \"name_fr\": \"Données triglaviannes\", \n    \"name_it\": \"Triglavian Data\", \n    \"name_ja\": \"トリグラビアンデータ\", \n    \"name_ko\": \"트리글라비안 데이터\", \n    \"name_ru\": \"Сведения о Триглаве\", \n    \"name_zh\": \"三神裔数据\", \n    \"nameID\": 317919, \n    \"parentGroupID\": 19\n  }, \n  \"2481\": {\n    \"description_de\": \"Precursor-Schlachtschiffe\", \n    \"description_en-us\": \"Precursor Battleships\", \n    \"description_es\": \"Acorazados precursores.\", \n    \"description_fr\": \"Cuirassés de précursion\", \n    \"description_it\": \"Precursor Battleships\", \n    \"description_ja\": \"プリカーサー戦艦\", \n    \"description_ko\": \"프리커서 배틀쉽\", \n    \"description_ru\": \"Линкоры Предтечей\", \n    \"description_zh\": \"先驱者战列舰\", \n    \"descriptionID\": 317932, \n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Precursor-Schlachtschiffe\", \n    \"name_en-us\": \"Precursor Battleships\", \n    \"name_es\": \"Acorazados precursores\", \n    \"name_fr\": \"Cuirassés de précursion\", \n    \"name_it\": \"Precursor Battleships\", \n    \"name_ja\": \"プリカーサー戦艦\", \n    \"name_ko\": \"프리커서 배틀쉽\", \n    \"name_ru\": \"Линкоры Предтечей\", \n    \"name_zh\": \"先驱者战列舰\", \n    \"nameID\": 317931, \n    \"parentGroupID\": 1960\n  }, \n  \"2482\": {\n    \"description_de\": \"Triglavia-Schlachtschiffe\", \n    \"description_en-us\": \"Triglavian Battleships\", \n    \"description_es\": \"Acorazados triglavianos.\", \n    \"description_fr\": \"Cuirassés triglavian\", \n    \"description_it\": \"Triglavian Battleships\", \n    \"description_ja\": \"トリグラビアン戦艦\", \n    \"description_ko\": \"트리글라비안 배틀쉽\", \n    \"description_ru\": \"Линкоры Триглава\", \n    \"description_zh\": \"三神裔战列舰\", \n    \"descriptionID\": 317930, \n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглавские\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 317929, \n    \"parentGroupID\": 2481\n  }, \n  \"2483\": {\n    \"description_de\": \"Precursor-Kreuzer\", \n    \"description_en-us\": \"Precursor Cruisers\", \n    \"description_es\": \"Cruceros precursores.\", \n    \"description_fr\": \"Croiseurs de précursion\", \n    \"description_it\": \"Precursor Cruisers\", \n    \"description_ja\": \"プリカーサー巡洋艦\", \n    \"description_ko\": \"프리커서 크루저\", \n    \"description_ru\": \"Крейсеры Предтечей\", \n    \"description_zh\": \"先驱者巡洋舰\", \n    \"descriptionID\": 317934, \n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Precursor-Kreuzer\", \n    \"name_en-us\": \"Precursor Cruisers\", \n    \"name_es\": \"Cruceros precursores\", \n    \"name_fr\": \"Croiseurs de précursion\", \n    \"name_it\": \"Precursor Cruisers\", \n    \"name_ja\": \"プリカーサー巡洋艦\", \n    \"name_ko\": \"프리커서 크루저\", \n    \"name_ru\": \"Крейсеры Предтечей\", \n    \"name_zh\": \"先驱者巡洋舰\", \n    \"nameID\": 317933, \n    \"parentGroupID\": 1988\n  }, \n  \"2484\": {\n    \"description_de\": \"Precursor-Fregatten\", \n    \"description_en-us\": \"Precursor Frigates\", \n    \"description_es\": \"Fragatas precursoras.\", \n    \"description_fr\": \"Frégates de précursion\", \n    \"description_it\": \"Precursor Frigates\", \n    \"description_ja\": \"プリカーサーフリゲート\", \n    \"description_ko\": \"프리커서 프리깃\", \n    \"description_ru\": \"Фрегаты Предтечей\", \n    \"description_zh\": \"先驱者护卫舰\", \n    \"descriptionID\": 317936, \n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Precursor-Fregatten\", \n    \"name_en-us\": \"Precursor Frigates\", \n    \"name_es\": \"Fragatas precursoras\", \n    \"name_fr\": \"Frégates de précursion\", \n    \"name_it\": \"Precursor Frigates\", \n    \"name_ja\": \"プリカーサーフリゲート\", \n    \"name_ko\": \"프리커서 프리깃\", \n    \"name_ru\": \"Фрегаты Предтечей\", \n    \"name_zh\": \"先驱者护卫舰\", \n    \"nameID\": 317935, \n    \"parentGroupID\": 1998\n  }, \n  \"2485\": {\n    \"description_de\": \"Triglavia-Kreuzer\", \n    \"description_en-us\": \"Triglavian Cruisers\", \n    \"description_es\": \"Cruceros triglavianos.\", \n    \"description_fr\": \"Croiseurs triglavian\", \n    \"description_it\": \"Triglavian Cruisers\", \n    \"description_ja\": \"トリグラビアン巡洋艦\", \n    \"description_ko\": \"트리글라비안 크루저\", \n    \"description_ru\": \"Крейсеры Триглава\", \n    \"description_zh\": \"三神裔巡洋舰\", \n    \"descriptionID\": 317938, \n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглавские\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 317937, \n    \"parentGroupID\": 2483\n  }, \n  \"2486\": {\n    \"description_de\": \"Triglavia-Fregatten\", \n    \"description_en-us\": \"Triglavian Frigates\", \n    \"description_es\": \"Fragatas triglavianas.\", \n    \"description_fr\": \"Frégates triglavian\", \n    \"description_it\": \"Triglavian Frigates\", \n    \"description_ja\": \"トリグラビアンフリゲート\", \n    \"description_ko\": \"트리글라비안 프리깃\", \n    \"description_ru\": \"Фрегаты Триглава\", \n    \"description_zh\": \"三神裔护卫舰\", \n    \"descriptionID\": 317940, \n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглавские\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 317939, \n    \"parentGroupID\": 2484\n  }, \n  \"2487\": {\n    \"description_de\": \"Es gibt viele Arten von Gehirnbeschleunigern, aber letztendlich sind ihre Effekte ähnlich. Diese Drogen, Geräte und Booster, die die Skill-Entwicklung von Piloten signifikant erhöhen.\", \n    \"description_en-us\": \"Cerebral Accelerators come in a variety of different forms, but in the end the effects are similar. These drugs, devices, and boosters that significantly increase a pilot's skill development.\", \n    \"description_es\": \"Hay aceleradores cerebrales de varios tipos, pero en la práctica los efectos son similares. Estos fármacos, dispositivos y potenciadores aumentan considerablemente el desarrollo de habilidades de los pilotos.\", \n    \"description_fr\": \"Les accélérateurs cérébraux existent sous différentes formes, mais au final, leurs effets sont similaires. Ces drogues, appareils et boosters permettent de développer considérablement les compétences d'un pilote.\", \n    \"description_it\": \"Cerebral Accelerators come in a variety of different forms, but in the end the effects are similar. These drugs, devices, and boosters that significantly increase a pilot's skill development.\", \n    \"description_ja\": \"大脳アクセラレーターには様々な形状があるが、基本的な効果は同じだ。これらの薬や、デバイス、ブースターはパイロットのスキル成長を大幅に向上させる。\", \n    \"description_ko\": \"대뇌가속기는 다양한 형태로 판매되지만 효과는 동일합니다. 이러한 종류의 약물, 장치, 부스터는 파일럿의 스킬 효과를 향상시킬 수 있습니다.\", \n    \"description_ru\": \"Нейроускорители представлены в разной форме, но принцип действия у них у всех один. Это медикаменты, устройства и стимуляторы, существенно повышающие эффективность освоения навыков.\", \n    \"description_zh\": \"大脑加速器有许多种不同类型，但效果都大同小异。这些药品。设备和增效剂都能大幅提升飞行员的技能学习效果。\", \n    \"descriptionID\": 317942, \n    \"hasTypes\": 1, \n    \"iconID\": 10144, \n    \"name_de\": \"Gehirnbeschleuniger\", \n    \"name_en-us\": \"Cerebral Accelerators\", \n    \"name_es\": \"Aceleradores cerebrales\", \n    \"name_fr\": \"Accélérateurs cérébraux\", \n    \"name_it\": \"Cerebral Accelerators\", \n    \"name_ja\": \"大脳アクセラレーター\", \n    \"name_ko\": \"대뇌가속기\", \n    \"name_ru\": \"Нейроускорители\", \n    \"name_zh\": \"大脑加速器\", \n    \"nameID\": 317941, \n    \"parentGroupID\": 24\n  }, \n  \"2488\": {\n    \"description_de\": \"Booster-Slot 01\", \n    \"description_en-us\": \"Booster Slot 01\", \n    \"description_es\": \"Ranura de potenciador 01.\", \n    \"description_fr\": \"Emplacement de booster 01\", \n    \"description_it\": \"Booster Slot 01\", \n    \"description_ja\": \"ブースタースロット01\", \n    \"description_ko\": \"부스터 슬롯 1\", \n    \"description_ru\": \"Разъём стимуляторов 01\", \n    \"description_zh\": \"增效剂槽位 01\", \n    \"descriptionID\": 317944, \n    \"hasTypes\": 0, \n    \"iconID\": 3211, \n    \"name_de\": \"Booster-Slot 01\", \n    \"name_en-us\": \"Booster Slot 01\", \n    \"name_es\": \"Ranura de potenciador 01\", \n    \"name_fr\": \"Emplacement de booster 01\", \n    \"name_it\": \"Booster Slot 01\", \n    \"name_ja\": \"ブースタースロット01\", \n    \"name_ko\": \"부스터 슬롯 1\", \n    \"name_ru\": \"Разъём стимуляторов 01\", \n    \"name_zh\": \"增效剂槽位 01\", \n    \"nameID\": 317943, \n    \"parentGroupID\": 977\n  }, \n  \"2489\": {\n    \"description_de\": \"Booster-Slot 02\", \n    \"description_en-us\": \"Booster Slot 02\", \n    \"description_es\": \"Ranura de potenciador 02.\", \n    \"description_fr\": \"Emplacement de booster 02\", \n    \"description_it\": \"Booster Slot 02\", \n    \"description_ja\": \"ブースタースロット02\", \n    \"description_ko\": \"부스터 슬롯 2\", \n    \"description_ru\": \"Разъём стимуляторов 02\", \n    \"description_zh\": \"增效剂槽位 02\", \n    \"descriptionID\": 317946, \n    \"hasTypes\": 0, \n    \"iconID\": 3211, \n    \"name_de\": \"Booster-Slot 02\", \n    \"name_en-us\": \"Booster Slot 02\", \n    \"name_es\": \"Ranura de potenciador 02\", \n    \"name_fr\": \"Emplacement de booster 02\", \n    \"name_it\": \"Booster Slot 02\", \n    \"name_ja\": \"ブースタースロット02\", \n    \"name_ko\": \"부스터 슬롯 2\", \n    \"name_ru\": \"Разъём стимуляторов 02\", \n    \"name_zh\": \"增效剂槽位 02\", \n    \"nameID\": 317945, \n    \"parentGroupID\": 977\n  }, \n  \"2490\": {\n    \"description_de\": \"Booster-Slot 03\", \n    \"description_en-us\": \"Booster Slot 03\", \n    \"description_es\": \"Ranura de potenciador 03.\", \n    \"description_fr\": \"Emplacement de booster 03\", \n    \"description_it\": \"Booster Slot 03\", \n    \"description_ja\": \"ブースタースロット03\", \n    \"description_ko\": \"부스터 슬롯 3\", \n    \"description_ru\": \"Разъём стимуляторов 03\", \n    \"description_zh\": \"增效剂槽位 03\", \n    \"descriptionID\": 317948, \n    \"hasTypes\": 0, \n    \"iconID\": 3211, \n    \"name_de\": \"Booster-Slot 03\", \n    \"name_en-us\": \"Booster Slot 03\", \n    \"name_es\": \"Ranura de potenciador 03\", \n    \"name_fr\": \"Emplacement de booster 03\", \n    \"name_it\": \"Booster Slot 03\", \n    \"name_ja\": \"ブースタースロット03\", \n    \"name_ko\": \"부스터 슬롯 3\", \n    \"name_ru\": \"Разъём стимуляторов 03\", \n    \"name_zh\": \"增效剂槽位 03\", \n    \"nameID\": 317947, \n    \"parentGroupID\": 977\n  }, \n  \"2491\": {\n    \"description_de\": \"Blue-Pill-Booster\", \n    \"description_en-us\": \"Blue Pill Boosters\", \n    \"description_es\": \"Potenciadores Blue Pill.\", \n    \"description_fr\": \"Boosters Pilule bleue\", \n    \"description_it\": \"Blue Pill Boosters\", \n    \"description_ja\": \"ブルーピルブースター\", \n    \"description_ko\": \"블루필 부스터\", \n    \"description_ru\": \"Стимуляторы «Синяя таблетка»\", \n    \"description_zh\": \"蓝色药丸增效剂\", \n    \"descriptionID\": 317950, \n    \"hasTypes\": 1, \n    \"iconID\": 3215, \n    \"name_de\": \"Blue Pill\", \n    \"name_en-us\": \"Blue Pill\", \n    \"name_es\": \"Blue Pill\", \n    \"name_fr\": \"Pilule bleue\", \n    \"name_it\": \"Blue Pill\", \n    \"name_ja\": \"ブルーピル\", \n    \"name_ko\": \"블루필\", \n    \"name_ru\": \"Синяя таблетка\", \n    \"name_zh\": \"蓝色药丸\", \n    \"nameID\": 317949, \n    \"parentGroupID\": 2488\n  }, \n  \"2492\": {\n    \"description_de\": \"Exile-Booster\", \n    \"description_en-us\": \"Exile Boosters\", \n    \"description_es\": \"Potenciadores Exile.\", \n    \"description_fr\": \"Boosters Exil\", \n    \"description_it\": \"Exile Boosters\", \n    \"description_ja\": \"エグザイルブースター\", \n    \"description_ko\": \"엑자일 부스터\", \n    \"description_ru\": \"Стимуляторы «Изгнанник»\", \n    \"description_zh\": \"游离增效剂\", \n    \"descriptionID\": 317952, \n    \"hasTypes\": 1, \n    \"iconID\": 3211, \n    \"name_de\": \"Exile\", \n    \"name_en-us\": \"Exile\", \n    \"name_es\": \"Exile\", \n    \"name_fr\": \"Exil\", \n    \"name_it\": \"Exile\", \n    \"name_ja\": \"エグザイル\", \n    \"name_ko\": \"엑자일\", \n    \"name_ru\": \"Изгнанник\", \n    \"name_zh\": \"游离\", \n    \"nameID\": 317951, \n    \"parentGroupID\": 2488\n  }, \n  \"2493\": {\n    \"description_de\": \"Mindflood-Booster\", \n    \"description_en-us\": \"Mindflood Boosters\", \n    \"description_es\": \"Potenciadores Mindflood.\", \n    \"description_fr\": \"Boosters Mindflood\", \n    \"description_it\": \"Mindflood Boosters\", \n    \"description_ja\": \"マインドフラッドブースター\", \n    \"description_ko\": \"마인드플러드 부스터\", \n    \"description_ru\": \"Стимуляторы «Поток сознания»\", \n    \"description_zh\": \"思维冲击增效剂\", \n    \"descriptionID\": 317954, \n    \"hasTypes\": 1, \n    \"iconID\": 3214, \n    \"name_de\": \"Mindflood\", \n    \"name_en-us\": \"Mindflood\", \n    \"name_es\": \"Mindflood\", \n    \"name_fr\": \"Mindflood\", \n    \"name_it\": \"Mindflood\", \n    \"name_ja\": \"マインドフラッド\", \n    \"name_ko\": \"마인드플러드\", \n    \"name_ru\": \"Поток сознания\", \n    \"name_zh\": \"思维冲击\", \n    \"nameID\": 317953, \n    \"parentGroupID\": 2488\n  }, \n  \"2494\": {\n    \"description_de\": \"X-Instinct-Booster\", \n    \"description_en-us\": \"X-Instinct Boosters\", \n    \"description_es\": \"Potenciadores X-Instinct.\", \n    \"description_fr\": \"Boosters Instinct-X\", \n    \"description_it\": \"X-Instinct Boosters\", \n    \"description_ja\": \"エクスインスティンクトブースター\", \n    \"description_ko\": \"X-인스팅트 부스터\", \n    \"description_ru\": \"Стимуляторы «Икс-инстинкт»\", \n    \"description_zh\": \"X—本能增效剂\", \n    \"descriptionID\": 317956, \n    \"hasTypes\": 1, \n    \"iconID\": 3217, \n    \"name_de\": \"X-Instinct\", \n    \"name_en-us\": \"X-Instinct\", \n    \"name_es\": \"X-Instinct\", \n    \"name_fr\": \"Instinct-X\", \n    \"name_it\": \"X-Instinct\", \n    \"name_ja\": \"エクスインスティンクト\", \n    \"name_ko\": \"X-인스팅트\", \n    \"name_ru\": \"Икс-инстинкт\", \n    \"name_zh\": \"X—本能\", \n    \"nameID\": 317955, \n    \"parentGroupID\": 2488\n  }, \n  \"2495\": {\n    \"description_de\": \"Antipharmakon-Booster\", \n    \"description_en-us\": \"Antipharmakon Boosters\", \n    \"description_es\": \"Potenciadores Antipharmakon.\", \n    \"description_fr\": \"Boosters Antipharmakon\", \n    \"description_it\": \"Antipharmakon Boosters\", \n    \"description_ja\": \"アンチファーマコンブースター\", \n    \"description_ko\": \"안티파르마콘 부스터\", \n    \"description_ru\": \"Стимуляторы «Антифармакон»\", \n    \"description_zh\": \"抗药增效剂\", \n    \"descriptionID\": 317958, \n    \"hasTypes\": 1, \n    \"iconID\": 21485, \n    \"name_de\": \"Antipharmakon\", \n    \"name_en-us\": \"Antipharmakon\", \n    \"name_es\": \"Antipharmakon\", \n    \"name_fr\": \"Antipharmakon\", \n    \"name_it\": \"Antipharmakon\", \n    \"name_ja\": \"アンチファーマコン\", \n    \"name_ko\": \"안티파르마콘\", \n    \"name_ru\": \"Антифармакон\", \n    \"name_zh\": \"抗药\", \n    \"nameID\": 317957, \n    \"parentGroupID\": 2488\n  }, \n  \"2496\": {\n    \"description_de\": \"Drop-Booster\", \n    \"description_en-us\": \"Drop Boosters\", \n    \"description_es\": \"Potenciadores Drop.\", \n    \"description_fr\": \"Boosters Délirium\", \n    \"description_it\": \"Drop Boosters\", \n    \"description_ja\": \"ドロップブースター\", \n    \"description_ko\": \"드롭 부스터\", \n    \"description_ru\": \"Стимуляторы «Спад»\", \n    \"description_zh\": \"坠落\", \n    \"descriptionID\": 317960, \n    \"hasTypes\": 1, \n    \"iconID\": 3212, \n    \"name_de\": \"Drop\", \n    \"name_en-us\": \"Drop\", \n    \"name_es\": \"Botín\", \n    \"name_fr\": \"Délirium\", \n    \"name_it\": \"Drop\", \n    \"name_ja\": \"ドロップ\", \n    \"name_ko\": \"드롭\", \n    \"name_ru\": \"Спад\", \n    \"name_zh\": \"坠落\", \n    \"nameID\": 317959, \n    \"parentGroupID\": 2489\n  }, \n  \"2497\": {\n    \"description_de\": \"Frentix-Booster\", \n    \"description_en-us\": \"Frentix Boosters\", \n    \"description_es\": \"Potenciadores Frentix.\", \n    \"description_fr\": \"Boosters Frentix\", \n    \"description_it\": \"Frentix Boosters\", \n    \"description_ja\": \"フレンティックスブースター\", \n    \"description_ko\": \"프렌틱스 부스터\", \n    \"description_ru\": \"Стимуляторы «Френтикс»\", \n    \"description_zh\": \"疯癫增效剂\", \n    \"descriptionID\": 317962, \n    \"hasTypes\": 1, \n    \"iconID\": 3213, \n    \"name_de\": \"Frentix\", \n    \"name_en-us\": \"Frentix\", \n    \"name_es\": \"Frentix\", \n    \"name_fr\": \"Frentix\", \n    \"name_it\": \"Frentix\", \n    \"name_ja\": \"フレンティックス\", \n    \"name_ko\": \"프렌틱스\", \n    \"name_ru\": \"Френтикс\", \n    \"name_zh\": \"疯癫\", \n    \"nameID\": 317961, \n    \"parentGroupID\": 2489\n  }, \n  \"2498\": {\n    \"description_de\": \"Sooth-Sayer-Booster\", \n    \"description_en-us\": \"Sooth Sayer Boosters\", \n    \"description_es\": \"Potenciadores Sooth Sayer.\", \n    \"description_fr\": \"Boosters Devin\", \n    \"description_it\": \"Sooth Sayer Boosters\", \n    \"description_ja\": \"スースセイヤーブースター\", \n    \"description_ko\": \"수드 세이어 부스터\", \n    \"description_ru\": \"Стимуляторы «Добрая весть»\", \n    \"description_zh\": \"梦呓增效剂\", \n    \"descriptionID\": 317964, \n    \"hasTypes\": 1, \n    \"iconID\": 3216, \n    \"name_de\": \"Sooth Sayer\", \n    \"name_en-us\": \"Sooth Sayer\", \n    \"name_es\": \"Sooth Sayer\", \n    \"name_fr\": \"Devin\", \n    \"name_it\": \"Sooth Sayer\", \n    \"name_ja\": \"スースセイヤー\", \n    \"name_ko\": \"수드 세이어\", \n    \"name_ru\": \"Добрая весть\", \n    \"name_zh\": \"梦呓\", \n    \"nameID\": 317963, \n    \"parentGroupID\": 2489\n  }, \n  \"2499\": {\n    \"description_de\": \"Antipharmakon-Booster\", \n    \"description_en-us\": \"Antipharmakon Boosters\", \n    \"description_es\": \"Potenciadores Antipharmakon.\", \n    \"description_fr\": \"Boosters Antipharmakon\", \n    \"description_it\": \"Antipharmakon Boosters\", \n    \"description_ja\": \"アンチファーマコンブースター\", \n    \"description_ko\": \"안티파르마콘 부스터\", \n    \"description_ru\": \"Стимуляторы «Антифармакон»\", \n    \"description_zh\": \"抗药增效剂\", \n    \"descriptionID\": 317966, \n    \"hasTypes\": 1, \n    \"iconID\": 21487, \n    \"name_de\": \"Antipharmakon\", \n    \"name_en-us\": \"Antipharmakon\", \n    \"name_es\": \"Antipharmakon\", \n    \"name_fr\": \"Antipharmakon\", \n    \"name_it\": \"Antipharmakon\", \n    \"name_ja\": \"アンチファーマコン\", \n    \"name_ko\": \"안티파르마콘\", \n    \"name_ru\": \"Антифармакон\", \n    \"name_zh\": \"抗药\", \n    \"nameID\": 317965, \n    \"parentGroupID\": 2489\n  }, \n  \"2500\": {\n    \"description_de\": \"Crash-Booster\", \n    \"description_en-us\": \"Crash Boosters\", \n    \"description_es\": \"Potenciadores Crash.\", \n    \"description_fr\": \"Boosters Crash\", \n    \"description_it\": \"Crash Boosters\", \n    \"description_ja\": \"クラッシュブースター\", \n    \"description_ko\": \"크래시 부스터\", \n    \"description_ru\": \"Стимуляторы «Краш»\", \n    \"description_zh\": \"撞击感增效剂\", \n    \"descriptionID\": 317968, \n    \"hasTypes\": 1, \n    \"iconID\": 3210, \n    \"name_de\": \"Crash\", \n    \"name_en-us\": \"Crash\", \n    \"name_es\": \"Crash\", \n    \"name_fr\": \"Crash\", \n    \"name_it\": \"Crash\", \n    \"name_ja\": \"クラッシュ\", \n    \"name_ko\": \"크래시\", \n    \"name_ru\": \"Краш\", \n    \"name_zh\": \"撞击感\", \n    \"nameID\": 317967, \n    \"parentGroupID\": 2490\n  }, \n  \"2501\": {\n    \"description_de\": \"Antipharmakon-Booster\", \n    \"description_en-us\": \"Antipharmakon Boosters\", \n    \"description_es\": \"Potenciadores Antipharmakon.\", \n    \"description_fr\": \"Boosters Antipharmakon\", \n    \"description_it\": \"Antipharmakon Boosters\", \n    \"description_ja\": \"アンチファーマコンブースター\", \n    \"description_ko\": \"안티파르마콘 부스터\", \n    \"description_ru\": \"Стимуляторы «Антифармакон»\", \n    \"description_zh\": \"抗药增效剂\", \n    \"descriptionID\": 317970, \n    \"hasTypes\": 1, \n    \"iconID\": 21483, \n    \"name_de\": \"Antipharmakon\", \n    \"name_en-us\": \"Antipharmakon\", \n    \"name_es\": \"Antipharmakon\", \n    \"name_fr\": \"Antipharmakon\", \n    \"name_it\": \"Antipharmakon\", \n    \"name_ja\": \"アンチファーマコン\", \n    \"name_ko\": \"안티파르마콘\", \n    \"name_ru\": \"Антифармакон\", \n    \"name_zh\": \"抗药\", \n    \"nameID\": 317969, \n    \"parentGroupID\": 2490\n  }, \n  \"2502\": {\n    \"description_de\": \"Booster-Slot 11\", \n    \"description_en-us\": \"Booster Slot 11\", \n    \"description_es\": \"Ranura de potenciador 11.\", \n    \"description_fr\": \"Emplacement de booster 11\", \n    \"description_it\": \"Booster Slot 11\", \n    \"description_ja\": \"ブースタースロット11\", \n    \"description_ko\": \"부스터 슬롯 11\", \n    \"description_ru\": \"Разъём стимуляторов 11\", \n    \"description_zh\": \"增效剂槽位 11\", \n    \"descriptionID\": 317972, \n    \"hasTypes\": 0, \n    \"iconID\": 3211, \n    \"name_de\": \"Booster-Slot 11\", \n    \"name_en-us\": \"Booster Slot 11\", \n    \"name_es\": \"Ranura de potenciador 11\", \n    \"name_fr\": \"Emplacement de booster 11\", \n    \"name_it\": \"Booster Slot 11\", \n    \"name_ja\": \"ブースタースロット11\", \n    \"name_ko\": \"부스터 슬롯 11\", \n    \"name_ru\": \"Разъём стимуляторов 11\", \n    \"name_zh\": \"增效剂槽位 11\", \n    \"nameID\": 317971, \n    \"parentGroupID\": 977\n  }, \n  \"2503\": {\n    \"description_de\": \"Hartmantel-Booster\", \n    \"description_en-us\": \"Hardshell Boosters\", \n    \"description_es\": \"Potenciadores Hardshell.\", \n    \"description_fr\": \"Boosters Hardshell\", \n    \"description_it\": \"Hardshell Boosters\", \n    \"description_ja\": \"ハードシェルブースター\", \n    \"description_ko\": \"하드쉘 부스터\", \n    \"description_ru\": \"Стимуляторы «Панцирь»\", \n    \"description_zh\": \"硬壳增效剂\", \n    \"descriptionID\": 317974, \n    \"hasTypes\": 1, \n    \"iconID\": 21841, \n    \"name_de\": \"Hartmantel\", \n    \"name_en-us\": \"Hardshell\", \n    \"name_es\": \"Hardshell\", \n    \"name_fr\": \"Hardshell\", \n    \"name_it\": \"Hardshell\", \n    \"name_ja\": \"ハードシェル\", \n    \"name_ko\": \"하드쉘\", \n    \"name_ru\": \"Панцирь\", \n    \"name_zh\": \"硬壳\", \n    \"nameID\": 317973, \n    \"parentGroupID\": 2502\n  }, \n  \"2504\": {\n    \"description_de\": \"Übertakter-Booster\", \n    \"description_en-us\": \"Overclocker Boosters\", \n    \"description_es\": \"Potenciadores Overclocker.\", \n    \"description_fr\": \"Boosters Overclocker\", \n    \"description_it\": \"Overclocker Boosters\", \n    \"description_ja\": \"オーバークロッカーブースター\", \n    \"description_ko\": \"오버클로커 부스터\", \n    \"description_ru\": \"Стимуляторы «Перегрузчик»\", \n    \"description_zh\": \"调频增效剂\", \n    \"descriptionID\": 317976, \n    \"hasTypes\": 1, \n    \"iconID\": 21840, \n    \"name_de\": \"Übertakter\", \n    \"name_en-us\": \"Overclocker\", \n    \"name_es\": \"Overclocker\", \n    \"name_fr\": \"Overclocker\", \n    \"name_it\": \"Overclocker\", \n    \"name_ja\": \"オーバークロッカー\", \n    \"name_ko\": \"오버클로커\", \n    \"name_ru\": \"Перегрузчик\", \n    \"name_zh\": \"调频\", \n    \"nameID\": 317975, \n    \"parentGroupID\": 2502\n  }, \n  \"2505\": {\n    \"description_de\": \"Pyrolancea-Booster\", \n    \"description_en-us\": \"Pyrolancea Boosters\", \n    \"description_es\": \"Potenciadores Pyrolancea.\", \n    \"description_fr\": \"Boosters Pyrolancea\", \n    \"description_it\": \"Pyrolancea Boosters\", \n    \"description_ja\": \"パイロランシアブースター\", \n    \"description_ko\": \"파이로랜시아 부스터\", \n    \"description_ru\": \"Стимуляторы «Пиролансея»\", \n    \"description_zh\": \"火枪增效剂\", \n    \"descriptionID\": 317978, \n    \"hasTypes\": 1, \n    \"iconID\": 21839, \n    \"name_de\": \"Pyrolancea\", \n    \"name_en-us\": \"Pyrolancea\", \n    \"name_es\": \"Pyrolancea\", \n    \"name_fr\": \"Pyrolancea\", \n    \"name_it\": \"Pyrolancea\", \n    \"name_ja\": \"パイロランシア\", \n    \"name_ko\": \"파이로랜시아\", \n    \"name_ru\": \"Пиролансея\", \n    \"name_zh\": \"火枪\", \n    \"nameID\": 317977, \n    \"parentGroupID\": 2502\n  }, \n  \"2506\": {\n    \"description_de\": \"Andere Booster\", \n    \"description_en-us\": \"Other Boosters\", \n    \"description_es\": \"Otros potenciadores.\", \n    \"description_fr\": \"Autres boosters\", \n    \"description_it\": \"Other Boosters\", \n    \"description_ja\": \"その他ブースター\", \n    \"description_ko\": \"기타 부스터\", \n    \"description_ru\": \"Прочие стимуляторы\", \n    \"description_zh\": \"其他增效剂\", \n    \"descriptionID\": 317980, \n    \"hasTypes\": 1, \n    \"iconID\": 3211, \n    \"name_de\": \"Sonstiges\", \n    \"name_en-us\": \"Other\", \n    \"name_es\": \"Otros\", \n    \"name_fr\": \"Autre\", \n    \"name_it\": \"Other\", \n    \"name_ja\": \"その他\", \n    \"name_ko\": \"기타\", \n    \"name_ru\": \"Прочие\", \n    \"name_zh\": \"其他\", \n    \"nameID\": 317979, \n    \"parentGroupID\": 2488\n  }, \n  \"2508\": {\n    \"description_de\": \"Blaupausen für Kerne zur Verringerung der Masse\", \n    \"description_en-us\": \"Blueprints for Mass Entanglers.\", \n    \"description_es\": \"Planos de entrelazadores másicos.\", \n    \"description_fr\": \"Plans de construction de réacteurs de réduction de masse\", \n    \"description_it\": \"Blueprints for Mass Entanglers.\", \n    \"description_ja\": \"質量エンタングラーの設計図\", \n    \"description_ko\": \"매스 인탱글러 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи ядра снижения массы\", \n    \"description_zh\": \"质量纠缠装置的蓝图。\", \n    \"descriptionID\": 317990, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Massenumschließer\", \n    \"name_en-us\": \"Mass Entangler\", \n    \"name_es\": \"Entrelazador másico\", \n    \"name_fr\": \"Intricateur de masse\", \n    \"name_it\": \"Mass Entangler\", \n    \"name_ja\": \"質量エンタングラー\", \n    \"name_ko\": \"매스 인탱글러\", \n    \"name_ru\": \"Модулятор массы\", \n    \"name_zh\": \"质量纠缠装置\", \n    \"nameID\": 317989, \n    \"parentGroupID\": 214\n  }, \n  \"2509\": {\n    \"description_de\": \"Kerne zur Verringerung der Masse reduzieren die Schiffsmasse auf Kosten der Schiffsgeschwindigkeit\", \n    \"description_en-us\": \"Mass Entanglers lower ship mass at the cost of ship velocity.\", \n    \"description_es\": \"Los entrelazadores másicos reducen la masa de la nave a costa de la velocidad.\", \n    \"description_fr\": \"Les réacteurs de réduction de masse abaissent la masse d'un vaisseau au détriment de sa rapidité\", \n    \"description_it\": \"Mass Entanglers lower ship mass at the cost of ship velocity.\", \n    \"description_ja\": \"質量エンタグラーは航行速度と引き換えに艦船の質量を下げる。\", \n    \"description_ko\": \"매스 인탱글러는 함선의 중량을 감소시켜주는 반면 함선의 속도도 감소합니다.\", \n    \"description_ru\": \"Ядра снижения массы уменьшают массу корабля, жертвуя при этом его скоростью\", \n    \"description_zh\": \"质量纠缠装置能降低舰船的质量，代价是舰船速度的降低。\", \n    \"descriptionID\": 317992, \n    \"hasTypes\": 1, \n    \"iconID\": 97, \n    \"name_de\": \"Kerne zur Verringerung der Masse\", \n    \"name_en-us\": \"Mass Entanglers\", \n    \"name_es\": \"Entrelazadores másicos\", \n    \"name_fr\": \"Réacteurs de réduction de masse\", \n    \"name_it\": \"Mass Entanglers\", \n    \"name_ja\": \"質量エンタングラー\", \n    \"name_ko\": \"매스 인탱글러\", \n    \"name_ru\": \"Ядра снижения массы\", \n    \"name_zh\": \"质量纠缠装置\", \n    \"nameID\": 317991, \n    \"parentGroupID\": 14\n  }, \n  \"2510\": {\n    \"description_de\": \"Blaupausen von Navigationsstrukturen.\", \n    \"description_en-us\": \"Blueprints of navigation structures.\", \n    \"description_es\": \"Planos de estructuras de navegación.\", \n    \"description_fr\": \"Plans de construction de structures de navigation.\", \n    \"description_it\": \"Blueprints of navigation structures.\", \n    \"description_ja\": \"航行用ストラクチャの設計図。\", \n    \"description_ko\": \"업웰 항법 구조물 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи навигационных сооружений.\", \n    \"description_zh\": \"导航建筑的蓝图。\", \n    \"descriptionID\": 318009, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Navigationsstrukturen\", \n    \"name_en-us\": \"Navigation Structures\", \n    \"name_es\": \"Estructuras de navegación\", \n    \"name_fr\": \"Structures de navigation\", \n    \"name_it\": \"Navigation Structures\", \n    \"name_ja\": \"航行用ストラクチャ\", \n    \"name_ko\": \"업웰 항법 구조물\", \n    \"name_ru\": \"Навигационные сооружения\", \n    \"name_zh\": \"导航建筑\", \n    \"nameID\": 318008, \n    \"parentGroupID\": 3626\n  }, \n  \"2511\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Navigationsstrukturen\", \n    \"name_en-us\": \"Navigation Structures\", \n    \"name_es\": \"Estructuras de navegación\", \n    \"name_fr\": \"Structures de navigation\", \n    \"name_it\": \"Navigation Structures\", \n    \"name_ja\": \"航行用ストラクチャ\", \n    \"name_ko\": \"업웰 항법 구조물\", \n    \"name_ru\": \"Навигационные сооружения\", \n    \"name_zh\": \"导航建筑\", \n    \"nameID\": 318010, \n    \"parentGroupID\": 3624\n  }, \n  \"2512\": {\n    \"hasTypes\": 0, \n    \"iconID\": 22064, \n    \"name_de\": \"Waffenupgrade-Mutaplasmide\", \n    \"name_en-us\": \"Weapon Upgrade Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de mejora de armas\", \n    \"name_fr\": \"Mutaplasmides d'amélioration de l'armement\", \n    \"name_it\": \"Weapon Upgrade Mutaplasmids\", \n    \"name_ja\": \"兵器アップグレード変異プラスミド\", \n    \"name_ko\": \"무기 업그레이드 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для улучшения оружия\", \n    \"name_zh\": \"武器升级突变质体\", \n    \"nameID\": 318038, \n    \"parentGroupID\": 2436\n  }, \n  \"2513\": {\n    \"hasTypes\": 1, \n    \"name_de\": \"Magnetfeldstabilisator-Mutaplasmide\", \n    \"name_en-us\": \"Magnetic Field Stabilizer Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de estabilizador de campo magnético\", \n    \"name_fr\": \"Mutaplasmides de stabilisateur de champ magnétique\", \n    \"name_it\": \"Magnetic Field Stabilizer Mutaplasmids\", \n    \"name_ja\": \"磁場制御器変異プラスミド\", \n    \"name_ko\": \"자기장 안정기 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для стабилизаторов магнитного поля\", \n    \"name_zh\": \"磁性力场稳定器突变质体\", \n    \"nameID\": 318040, \n    \"parentGroupID\": 2512\n  }, \n  \"2514\": {\n    \"hasTypes\": 1, \n    \"name_de\": \"Kühlkörper-Mutaplasmide\", \n    \"name_en-us\": \"Heat Sink Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de disipador de calor\", \n    \"name_fr\": \"Mutaplasmides de dissipateur thermique\", \n    \"name_it\": \"Heat Sink Mutaplasmids\", \n    \"name_ja\": \"放熱機変異プラスミド\", \n    \"name_ko\": \"방열판 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для поглотителей тепла\", \n    \"name_zh\": \"散热槽突变质体\", \n    \"nameID\": 318042, \n    \"parentGroupID\": 2512\n  }, \n  \"2515\": {\n    \"hasTypes\": 1, \n    \"name_de\": \"Kreiselstabilisator-Mutaplasmide\", \n    \"name_en-us\": \"Gyrostabilizer Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de giroestabilizador\", \n    \"name_fr\": \"Mutaplasmides de gyrostabilisateur\", \n    \"name_it\": \"Gyrostabilizer Mutaplasmids\", \n    \"name_ja\": \"回転制御機変異プラスミド\", \n    \"name_ko\": \"자이로 안정기 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для гиростабилизаторов\", \n    \"name_zh\": \"回转稳定器突变质体\", \n    \"nameID\": 318044, \n    \"parentGroupID\": 2512\n  }, \n  \"2516\": {\n    \"hasTypes\": 1, \n    \"name_de\": \"Mutaplasmide für entropische Strahlungskühler\", \n    \"name_en-us\": \"Entropic Radiation Sink Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de disipador de radiación entrópica\", \n    \"name_fr\": \"Mutaplasmides de dissipateur de radiations entropiques\", \n    \"name_it\": \"Entropic Radiation Sink Mutaplasmids\", \n    \"name_ja\": \"エントロピック放射線シンク変異プラスミド\", \n    \"name_ko\": \"엔트로픽 방사능 싱크 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для поглотителей энтропического излучения\", \n    \"name_zh\": \"熵辐射槽突变质体\", \n    \"nameID\": 318046, \n    \"parentGroupID\": 2512\n  }, \n  \"2517\": {\n    \"hasTypes\": 1, \n    \"name_de\": \"Mutaplasmide für Ballistikkontrollsysteme\", \n    \"name_en-us\": \"Ballistic Control System Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de sistema de control balístico\", \n    \"name_fr\": \"Mutaplasmides de système de contrôle balistique\", \n    \"name_it\": \"Ballistic Control System Mutaplasmids\", \n    \"name_ja\": \"弾道制御装置変異プラスミド\", \n    \"name_ko\": \"탄도 제어시스템 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для систем управления баллистикой\", \n    \"name_zh\": \"弹道控制系统突变质体\", \n    \"nameID\": 318048, \n    \"parentGroupID\": 2512\n  }, \n  \"2518\": {\n    \"description_de\": \"Precursor-Schlachtkreuzer\", \n    \"description_en-us\": \"Precursor Battlecruisers\", \n    \"description_es\": \"Cruceros de combate precursores.\", \n    \"description_fr\": \"Croiseurs cuirassés de précursion\", \n    \"description_it\": \"Precursor Battlecruisers\", \n    \"description_ja\": \"プリカーサー巡洋戦艦\", \n    \"description_ko\": \"프리커서 배틀크루저\", \n    \"description_ru\": \"Линейные крейсеры Предтечей\", \n    \"description_zh\": \"先驱者战列巡洋舰\", \n    \"descriptionID\": 318022, \n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Precursor-Schlachtkreuzer\", \n    \"name_en-us\": \"Precursor Battlecruisers\", \n    \"name_es\": \"Cruceros de combate precursores\", \n    \"name_fr\": \"Croiseurs cuirassés de précursion\", \n    \"name_it\": \"Precursor Battlecruisers\", \n    \"name_ja\": \"プリカーサー巡洋戦艦\", \n    \"name_ko\": \"프리커서 배틀크루저\", \n    \"name_ru\": \"Линейные крейсеры Предтечей\", \n    \"name_zh\": \"先驱者战列巡洋舰\", \n    \"nameID\": 318021, \n    \"parentGroupID\": 1955\n  }, \n  \"2519\": {\n    \"description_de\": \"Triglavia-Schlachtkreuzer\", \n    \"description_en-us\": \"Triglavian Battlecruisers\", \n    \"description_es\": \"Cruceros de combate triglavianos.\", \n    \"description_fr\": \"Croiseurs cuirassés triglavian\", \n    \"description_it\": \"Triglavian Battlecruisers\", \n    \"description_ja\": \"トリグラビアン巡洋戦艦\", \n    \"description_ko\": \"트리글라비안 배틀크루저\", \n    \"description_ru\": \"Линейные крейсеры Триглава\", \n    \"description_zh\": \"三神裔战列巡洋舰\", \n    \"descriptionID\": 318024, \n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглав\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 318023, \n    \"parentGroupID\": 2518\n  }, \n  \"2520\": {\n    \"description_de\": \"Precursor-Zerstörer\", \n    \"description_en-us\": \"Precursor Destroyers\", \n    \"description_es\": \"Destructores precursores.\", \n    \"description_fr\": \"Destroyers de précursion\", \n    \"description_it\": \"Precursor Destroyers\", \n    \"description_ja\": \"プリカーサー駆逐艦\", \n    \"description_ko\": \"프리커서 디스트로이어\", \n    \"description_ru\": \"Эсминцы Предтечей\", \n    \"description_zh\": \"先驱者驱逐舰\", \n    \"descriptionID\": 318026, \n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Precursor-Zerstörer\", \n    \"name_en-us\": \"Precursor Destroyers\", \n    \"name_es\": \"Destructores precursores\", \n    \"name_fr\": \"Destroyers de précursion\", \n    \"name_it\": \"Precursor Destroyers\", \n    \"name_ja\": \"プリカーサー駆逐艦\", \n    \"name_ko\": \"프리커서 디스트로이어\", \n    \"name_ru\": \"Эсминцы Предтечей\", \n    \"name_zh\": \"先驱者驱逐舰\", \n    \"nameID\": 318025, \n    \"parentGroupID\": 1989\n  }, \n  \"2521\": {\n    \"description_de\": \"Triglavia-Zerstörer\", \n    \"description_en-us\": \"Triglavian Destroyers\", \n    \"description_es\": \"Destructores triglavianos.\", \n    \"description_fr\": \"Destroyers triglavian\", \n    \"description_it\": \"Triglavian Destroyers\", \n    \"description_ja\": \"トリグラビアン駆逐艦\", \n    \"description_ko\": \"트리글라비안 디스트로이어입니다.\", \n    \"description_ru\": \"Эсминцы Триглава\", \n    \"description_zh\": \"三神裔驱逐舰\", \n    \"descriptionID\": 318028, \n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглав\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 318027, \n    \"parentGroupID\": 2520\n  }, \n  \"2522\": {\n    \"description_de\": \"Precursor-Zerstörer\", \n    \"description_en-us\": \"Precursor Destroyers\", \n    \"description_es\": \"Destructores precursores.\", \n    \"description_fr\": \"Destroyers de précursion\", \n    \"description_it\": \"Precursor Destroyers\", \n    \"description_ja\": \"プリカーサー駆逐艦\", \n    \"description_ko\": \"프리커서 디스트로이어\", \n    \"description_ru\": \"Эсминцы Предтечей\", \n    \"description_zh\": \"先驱者驱逐舰\", \n    \"descriptionID\": 318031, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Precursor-Zerstörer\", \n    \"name_en-us\": \"Precursor Destroyers\", \n    \"name_es\": \"Destructores precursores\", \n    \"name_fr\": \"Destroyers de précursion\", \n    \"name_it\": \"Precursor Destroyers\", \n    \"name_ja\": \"プリカーサー駆逐艦\", \n    \"name_ko\": \"프리커서 디스트로이어\", \n    \"name_ru\": \"Эсминцы Предтечей\", \n    \"name_zh\": \"先驱者驱逐舰\", \n    \"nameID\": 318030, \n    \"parentGroupID\": 1372\n  }, \n  \"2523\": {\n    \"description_de\": \"Triglavia-Zerstörer\", \n    \"description_en-us\": \"Triglavian Destroyers\", \n    \"description_es\": \"Destructores triglavianos.\", \n    \"description_fr\": \"Destroyers triglavian\", \n    \"description_it\": \"Triglavian Destroyers\", \n    \"description_ja\": \"トリグラビアン駆逐艦\", \n    \"description_ko\": \"트리글라비안 디스트로이어입니다.\", \n    \"description_ru\": \"Эсминцы Триглава\", \n    \"description_zh\": \"三神裔驱逐舰\", \n    \"descriptionID\": 318033, \n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглав\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 318032, \n    \"parentGroupID\": 2522\n  }, \n  \"2524\": {\n    \"description_de\": \"Precursor-Schlachtkreuzer.\", \n    \"description_en-us\": \"Precursor Battlecruisers.\", \n    \"description_es\": \"Cruceros de combate precursores.\", \n    \"description_fr\": \"Croiseurs cuirassés de précursion.\", \n    \"description_it\": \"Precursor Battlecruisers.\", \n    \"description_ja\": \"プリカーサー巡洋戦艦\", \n    \"description_ko\": \"프리커서 배틀크루저입니다.\", \n    \"description_ru\": \"Линейные крейсеры Предтечей.\", \n    \"description_zh\": \"先驱者战列巡洋舰。\", \n    \"descriptionID\": 318035, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Precursor-Schlachtkreuzer\", \n    \"name_en-us\": \"Precursor Battlecruisers\", \n    \"name_es\": \"Cruceros de combate precursores\", \n    \"name_fr\": \"Croiseurs cuirassés de précursion\", \n    \"name_it\": \"Precursor Battlecruisers\", \n    \"name_ja\": \"プリカーサー巡洋戦艦\", \n    \"name_ko\": \"프리커서 배틀크루저\", \n    \"name_ru\": \"Линейные крейсеры Предтечей\", \n    \"name_zh\": \"先驱者战列巡洋舰\", \n    \"nameID\": 318034, \n    \"parentGroupID\": 1374\n  }, \n  \"2525\": {\n    \"description_de\": \"Triglavia-Schlachtkreuzer.\", \n    \"description_en-us\": \"Triglavian Battlecruisers.\", \n    \"description_es\": \"Cruceros de combate triglavianos.\", \n    \"description_fr\": \"Croiseurs cuirassés triglavian.\", \n    \"description_it\": \"Triglavian Battlecruisers.\", \n    \"description_ja\": \"トリグラビアン巡洋戦艦\", \n    \"description_ko\": \"트리글라비안 배틀크루저입니다.\", \n    \"description_ru\": \"Линейные крейсеры Триглава.\", \n    \"description_zh\": \"三神裔战列巡洋舰。\", \n    \"descriptionID\": 318037, \n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглав\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 318036, \n    \"parentGroupID\": 2524\n  }, \n  \"2526\": {\n    \"description_de\": \"Triglavia-Versorgungskreuzer\", \n    \"description_en-us\": \"Triglavian Logistics Cruisers\", \n    \"description_es\": \"Cruceros logísticos triglavianos.\", \n    \"description_fr\": \"Croiseurs logistiques triglavian\", \n    \"description_it\": \"Triglavian Logistics Cruisers\", \n    \"description_ja\": \"トリグラビアンロジスティック巡洋艦\", \n    \"description_ko\": \"트리글라비안 로지스틱스 크루저\", \n    \"description_ru\": \"Крейсеры снабжения Триглава\", \n    \"description_zh\": \"三神裔后勤巡洋舰\", \n    \"descriptionID\": 318071, \n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглав\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 318070, \n    \"parentGroupID\": 437\n  }, \n  \"2527\": {\n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Mutadaptive Panzerungs-Fernreparatursysteme\", \n    \"name_en-us\": \"Mutadaptive Remote Armor Repairers\", \n    \"name_es\": \"Reparadores de blindaje remotos mutadaptativos\", \n    \"name_fr\": \"Réparateurs de blindage à distance muta-adaptatif\", \n    \"name_it\": \"Mutadaptive Remote Armor Repairers\", \n    \"name_ja\": \"ミュータアダプティブ・リモートアーマーリペアラー\", \n    \"name_ko\": \"뮤타적응성 원격 장갑수리 장치\", \n    \"name_ru\": \"Мутадаптивные модули дистанционного ремонта брони\", \n    \"name_zh\": \"突变适应远程装甲维修器\", \n    \"nameID\": 318067, \n    \"parentGroupID\": 14\n  }, \n  \"2529\": {\n    \"description_de\": \"Mittelgroße mutadaptive Panzerungs-Fernreparatursysteme\", \n    \"description_en-us\": \"Medium Mutadaptive Remote Armor Repairers\", \n    \"description_es\": \"Reparadores de blindaje remotos mutadaptativos medianos.\", \n    \"description_fr\": \"Réparateur de blindage à distance muta-adaptatif intermédiaire\", \n    \"description_it\": \"Medium Mutadaptive Remote Armor Repairers\", \n    \"description_ja\": \"中型ミュータアダプティブ・リモートアーマーリペアラー\", \n    \"description_ko\": \"중형 뮤타적응성 원격 장갑수리 장치\", \n    \"description_ru\": \"Средние мутадаптивные модули дистанционного ремонта брони\", \n    \"description_zh\": \"中型突变适应远程装甲维修器\", \n    \"descriptionID\": 318062, \n    \"hasTypes\": 1, \n    \"iconID\": 80, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 318061, \n    \"parentGroupID\": 2527\n  }, \n  \"2530\": {\n    \"hasTypes\": 1, \n    \"iconID\": 3211, \n    \"name_de\": \"Booster-Slot 12\", \n    \"name_en-us\": \"Booster Slot 12\", \n    \"name_es\": \"Ranura de potenciador 12\", \n    \"name_fr\": \"Emplacement de booster 12\", \n    \"name_it\": \"Booster Slot 12\", \n    \"name_ja\": \"ブースタースロット12\", \n    \"name_ko\": \"부스터 슬롯 12\", \n    \"name_ru\": \"Разъём стимуляторов 12\", \n    \"name_zh\": \"增效剂槽位 12\", \n    \"nameID\": 318072, \n    \"parentGroupID\": 977\n  }, \n  \"2531\": {\n    \"hasTypes\": 1, \n    \"iconID\": 3215, \n    \"name_de\": \"Booster-Slot 14\", \n    \"name_en-us\": \"Booster Slot 14\", \n    \"name_es\": \"Ranura de potenciador 14\", \n    \"name_fr\": \"Emplacement de booster 14\", \n    \"name_it\": \"Booster Slot 14\", \n    \"name_ja\": \"ブースタースロット14\", \n    \"name_ko\": \"부스터 슬롯 14\", \n    \"name_ru\": \"Разъём стимуляторов 14\", \n    \"name_zh\": \"增效剂槽位 14\", \n    \"nameID\": 318073, \n    \"parentGroupID\": 977\n  }, \n  \"2532\": {\n    \"description_de\": \"Mutaplasmide zur Schadensregulierung und Angriffsschadensregulierung\", \n    \"description_en-us\": \"Damage Control and Assault Damage Control Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de control de daños y control de daños por asalto.\", \n    \"description_fr\": \"Mutaplasmides de contrôle des dégâts et de contrôle des dégâts d'assaut\", \n    \"description_it\": \"Damage Control and Assault Damage Control Mutaplasmids\", \n    \"description_ja\": \"ダメージ制御とアサルトダメージ制御変異プラスミド\", \n    \"description_ko\": \"데미지 컨트롤 및 어썰트 데미지 컨트롤 뮤타플라즈미드입니다.\", \n    \"description_ru\": \"Мутаплазмиды для модуля боевой живучести и ударного модуля боевой живучести\", \n    \"description_zh\": \"损伤控制和突击型损伤控制突变质体\", \n    \"descriptionID\": 318092, \n    \"hasTypes\": 0, \n    \"iconID\": 24129, \n    \"name_de\": \"Mutaplasmide zur Schadensregulierung\", \n    \"name_en-us\": \"Damage Control Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de control de daños\", \n    \"name_fr\": \"Mutaplasmides de contrôle des dégâts\", \n    \"name_it\": \"Damage Control Mutaplasmids\", \n    \"name_ja\": \"ダメージ制御変異プラスミド\", \n    \"name_ko\": \"데미지 컨트롤 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для модуля боевой живучести\", \n    \"name_zh\": \"损伤控制突变质体\", \n    \"nameID\": 318091, \n    \"parentGroupID\": 2436\n  }, \n  \"2533\": {\n    \"description_de\": \"Mutaplasmide zur Schadensregulierung\", \n    \"description_en-us\": \"Damage Control Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de control de daños.\", \n    \"description_fr\": \"Mutaplasmides de contrôle des dégâts\", \n    \"description_it\": \"Damage Control Mutaplasmids\", \n    \"description_ja\": \"ダメージ制御変異プラスミド\", \n    \"description_ko\": \"데미지 컨트롤 뮤타플라즈미드\", \n    \"description_ru\": \"Мутаплазмиды для модуля боевой живучести\", \n    \"description_zh\": \"损伤控制突变质体\", \n    \"descriptionID\": 318094, \n    \"hasTypes\": 1, \n    \"name_de\": \"Mutaplasmide zur Schadensregulierung\", \n    \"name_en-us\": \"Damage Control Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de control de daños\", \n    \"name_fr\": \"Mutaplasmides de contrôle des dégâts\", \n    \"name_it\": \"Damage Control Mutaplasmids\", \n    \"name_ja\": \"ダメージ制御変異プラスミド\", \n    \"name_ko\": \"데미지 컨트롤 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для модуля боевой живучести\", \n    \"name_zh\": \"损伤控制突变质体\", \n    \"nameID\": 318093, \n    \"parentGroupID\": 2532\n  }, \n  \"2534\": {\n    \"description_de\": \"Mutaplasmide zur Angriffsschadensregulierung\", \n    \"description_en-us\": \"Assault Damage Control Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de control de daños por asalto.\", \n    \"description_fr\": \"Mutaplasmide de contrôle des dégâts d'assaut\", \n    \"description_it\": \"Assault Damage Control Mutaplasmids\", \n    \"description_ja\": \"アサルトダメージ制御変異プラスミド\", \n    \"description_ko\": \"어썰트 데미지 컨트롤 뮤타플라즈미드\", \n    \"description_ru\": \"Мутаплазмиды для ударного модуля боевой живучести\", \n    \"description_zh\": \"突击型损伤控制突变质体\", \n    \"descriptionID\": 318096, \n    \"hasTypes\": 1, \n    \"name_de\": \"Mutaplasmide zur Angriffsschadensregulierung\", \n    \"name_en-us\": \"Assault Damage Control Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de control de daños por asalto\", \n    \"name_fr\": \"Mutaplasmide de contrôle des dégâts d'assaut\", \n    \"name_it\": \"Assault Damage Control Mutaplasmids\", \n    \"name_ja\": \"アサルトダメージ制御変異プラスミド\", \n    \"name_ko\": \"어썰트 데미지 컨트롤 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для ударного модуля боевой живучести\", \n    \"name_zh\": \"突击型损伤控制突变质体\", \n    \"nameID\": 318095, \n    \"parentGroupID\": 2532\n  }, \n  \"2535\": {\n    \"description_de\": \"Schwere Triglavia-Angriffskreuzer\", \n    \"description_en-us\": \"Triglavian Heavy Assault Cruisers\", \n    \"description_es\": \"Cruceros de asalto pesados triglavianos.\", \n    \"description_fr\": \"Croiseurs d'assaut lourds triglavian\", \n    \"description_it\": \"Triglavian Heavy Assault Cruisers\", \n    \"description_ja\": \"トリグラビアン強襲型巡洋艦\", \n    \"description_ko\": \"트리글라비안 어썰트 크루저\", \n    \"description_ru\": \"Ударные крейсеры Триглава\", \n    \"description_zh\": \"三神裔重型突击巡洋舰\", \n    \"descriptionID\": 318098, \n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглавские\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 318097, \n    \"parentGroupID\": 448\n  }, \n  \"2536\": {\n    \"description_de\": \"Triglavia-Angriffsfregatten\", \n    \"description_en-us\": \"Triglavian Assault Frigates\", \n    \"description_es\": \"Fragatas de asalto triglavianas.\", \n    \"description_fr\": \"Frégates d'assaut triglavian\", \n    \"description_it\": \"Triglavian Assault Frigates\", \n    \"description_ja\": \"トリグラビアン強襲型フリゲート\", \n    \"description_ko\": \"트리글라비안 어썰트 프리깃\", \n    \"description_ru\": \"Ударные фрегаты Триглава\", \n    \"description_zh\": \"三神裔突击护卫舰\", \n    \"descriptionID\": 318100, \n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглавские\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 318099, \n    \"parentGroupID\": 432\n  }, \n  \"2537\": {\n    \"description_de\": \"Triglavia-Kommandozerstörer\", \n    \"description_en-us\": \"Triglavian Command Destroyers\", \n    \"description_es\": \"Destructores de mando triglavianos.\", \n    \"description_fr\": \"Destroyers de commandement triglavian\", \n    \"description_it\": \"Triglavian Command Destroyers\", \n    \"description_ja\": \"トリグラビアン指揮型駆逐艦\", \n    \"description_ko\": \"트리글라비안 커맨드 디스트로이어입니다.\", \n    \"description_ru\": \"Командные эсминцы Триглава\", \n    \"description_zh\": \"三神裔指挥驱逐舰\", \n    \"descriptionID\": 318102, \n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглавские\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 318101, \n    \"parentGroupID\": 2125\n  }, \n  \"2538\": {\n    \"description_de\": \"Bezdnazin\", \n    \"description_en-us\": \"Bezdnacine\", \n    \"description_es\": \"Bezdnacina\", \n    \"description_fr\": \"Bezdnacine\", \n    \"description_it\": \"Bezdnacine\", \n    \"description_ja\": \"ベズドナシン\", \n    \"description_ko\": \"베즈드나신\", \n    \"description_ru\": \"Безднацин\", \n    \"description_zh\": \"贝兹岩\", \n    \"descriptionID\": 318109, \n    \"hasTypes\": 1, \n    \"iconID\": 24143, \n    \"name_de\": \"Bezdnazin\", \n    \"name_en-us\": \"Bezdnacine\", \n    \"name_es\": \"Bezdnacina\", \n    \"name_fr\": \"Bezdnacine\", \n    \"name_it\": \"Bezdnacine\", \n    \"name_ja\": \"ベズドナシン\", \n    \"name_ko\": \"베즈드나신\", \n    \"name_ru\": \"Безднацин\", \n    \"name_zh\": \"贝兹岩\", \n    \"nameID\": 318108, \n    \"parentGroupID\": 54\n  }, \n  \"2539\": {\n    \"description_de\": \"Rakovene\", \n    \"description_en-us\": \"Rakovene\", \n    \"description_es\": \"Rakovena\", \n    \"description_fr\": \"Rakovene\", \n    \"description_it\": \"Rakovene\", \n    \"description_ja\": \"ラコベネ\", \n    \"description_ko\": \"라코벤\", \n    \"description_ru\": \"Раковин\", \n    \"description_zh\": \"拉克岩\", \n    \"descriptionID\": 318111, \n    \"hasTypes\": 1, \n    \"iconID\": 24144, \n    \"name_de\": \"Rakovene\", \n    \"name_en-us\": \"Rakovene\", \n    \"name_es\": \"Rakovena\", \n    \"name_fr\": \"Rakovene\", \n    \"name_it\": \"Rakovene\", \n    \"name_ja\": \"ラコベネ\", \n    \"name_ko\": \"라코벤\", \n    \"name_ru\": \"Раковин\", \n    \"name_zh\": \"拉克岩\", \n    \"nameID\": 318110, \n    \"parentGroupID\": 54\n  }, \n  \"2540\": {\n    \"description_de\": \"Talassonit\", \n    \"description_en-us\": \"Talassonite\", \n    \"description_es\": \"Talasonita\", \n    \"description_fr\": \"Talassonite\", \n    \"description_it\": \"Talassonite\", \n    \"description_ja\": \"タラソナイト\", \n    \"description_ko\": \"탈라소나이트\", \n    \"description_ru\": \"Талассонит\", \n    \"description_zh\": \"塔拉岩\", \n    \"descriptionID\": 318113, \n    \"hasTypes\": 1, \n    \"iconID\": 24136, \n    \"name_de\": \"Talassonit\", \n    \"name_en-us\": \"Talassonite\", \n    \"name_es\": \"Talasonita\", \n    \"name_fr\": \"Talassonite\", \n    \"name_it\": \"Talassonite\", \n    \"name_ja\": \"タラソナイト\", \n    \"name_ko\": \"탈라소나이트\", \n    \"name_ru\": \"Талассонит\", \n    \"name_zh\": \"塔拉岩\", \n    \"nameID\": 318112, \n    \"parentGroupID\": 54\n  }, \n  \"2658\": {\n    \"description_de\": \"Fortschrittliche Komponenten triglavianischen Ursprungs.\", \n    \"description_en-us\": \"Advanced Components of Triglavian origin.\", \n    \"description_es\": \"Componentes avanzados de origen triglaviano.\", \n    \"description_fr\": \"Composants avancés d'origine triglavian.\", \n    \"description_it\": \"Advanced Components of Triglavian origin.\", \n    \"description_ja\": \"トリグラビアン由来の高性能部品\", \n    \"description_ko\": \"상급 트리글라비안 부품\", \n    \"description_ru\": \"Улучшенные компоненты триглавского происхождения.\", \n    \"description_zh\": \"源自三神裔的高级组件。\", \n    \"descriptionID\": 551113, \n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглавские\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 551112, \n    \"parentGroupID\": 65\n  }, \n  \"2690\": {\n    \"description_de\": \"Triglavia-Dreadnoughts\", \n    \"description_en-us\": \"Triglavian Dreadnoughts\", \n    \"description_es\": \"Superacorazados triglavianos.\", \n    \"description_fr\": \"Supercuirassés triglavian\", \n    \"description_it\": \"Triglavian Dreadnoughts\", \n    \"description_ja\": \"トリグラビアン攻城艦\", \n    \"description_ko\": \"트리글라비안 드레드노트\", \n    \"description_ru\": \"Дредноуты Триглава\", \n    \"description_zh\": \"三神裔无畏舰\", \n    \"descriptionID\": 553051, \n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглав\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 553050, \n    \"parentGroupID\": 3508\n  }, \n  \"2691\": {\n    \"description_de\": \"Entropische Desintegratoren für Capital-Schiffe zum Einsatz auf Dreadnoughts und Titans.\", \n    \"description_en-us\": \"Capital ship entropic disintegrators, for use on dreadnoughts and titans.\", \n    \"description_es\": \"Desintegradores entrópicos de naves capitales para uso en superacorazados y titanes.\", \n    \"description_fr\": \"Désintégrateurs entropiques pour vaisseaux capitaux, utilisés sur les supercuirassés et les titans.\", \n    \"description_it\": \"Capital ship entropic disintegrators, for use on dreadnoughts and titans.\", \n    \"description_ja\": \"攻城艦および旗艦級戦艦で使用される主力艦エントロピックディスインテグレーター。\", \n    \"description_ko\": \"드레드노트 및 타이탄 전용 엔트로픽 분열기입니다.\", \n    \"description_ru\": \"Энтропические дезинтеграторы кораблей большого тоннажа, предназначенные для использования на дредноутах и титанах.\", \n    \"description_zh\": \"旗舰级熵能分解者，在无畏舰或者泰坦上使用。\", \n    \"descriptionID\": 553053, \n    \"hasTypes\": 1, \n    \"iconID\": 24237, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 553052, \n    \"parentGroupID\": 2432\n  }, \n  \"2692\": {\n    \"description_de\": \"Zur Verwendung mit entropischen Desintegratoren in Dreadnought-Größe.\", \n    \"description_en-us\": \"For use with dreadnought-sized entropic disintegrators.\", \n    \"description_es\": \"Para usarlos con desintegradores entrópicos de tamaño superacorazado.\", \n    \"description_fr\": \"À utiliser avec des désintégrateurs entropiques pour supercuirassés.\", \n    \"description_it\": \"For use with dreadnought-sized entropic disintegrators.\", \n    \"description_ja\": \"攻城艦サイズのエントロピックディスインテグレーター用。\", \n    \"description_ko\": \"드레드노트급 엔트로픽 분열기에 사용됩니다.\", \n    \"description_ru\": \"Для использования с энтропическими дезинтеграторами для дредноутов.\", \n    \"description_zh\": \"与无畏舰级熵能分解者搭配使用。\", \n    \"descriptionID\": 553055, \n    \"hasTypes\": 1, \n    \"iconID\": 21918, \n    \"name_de\": \"Extragroß\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extragrande\", \n    \"name_fr\": \"Très grande taille\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"超大型\", \n    \"name_ko\": \"초대형\", \n    \"name_ru\": \"Сверхбольшие\", \n    \"name_zh\": \"超大型\", \n    \"nameID\": 553054, \n    \"parentGroupID\": 2463\n  }, \n  \"2693\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглавские\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 553059, \n    \"parentGroupID\": 1883\n  }, \n  \"2701\": {\n    \"description_de\": \"Im HyperNet-Relais verwendete Gegenstände\", \n    \"description_en-us\": \"Items used in the HyperNet Relay\", \n    \"description_es\": \"Objetos usados en el relé de HyperNet.\", \n    \"description_fr\": \"Objets utilisés pour le relais Hypernet\", \n    \"description_it\": \"Items used in the HyperNet Relay\", \n    \"description_ja\": \"ハイパーネットリレーで使用されるアイテム\", \n    \"description_ko\": \"하이퍼넷 전용 아이템\", \n    \"description_ru\": \"Предметы, использованные в гиперсетевом реле\", \n    \"description_zh\": \"在超网中继使用的物品\", \n    \"descriptionID\": 554068, \n    \"hasTypes\": 1, \n    \"iconID\": 24205, \n    \"name_de\": \"HyperNet-Relais\", \n    \"name_en-us\": \"HyperNet Relay\", \n    \"name_es\": \"Relé de HyperNet\", \n    \"name_fr\": \"Relai Hypernet\", \n    \"name_it\": \"HyperNet Relay\", \n    \"name_ja\": \"ハイパーネットリレー\", \n    \"name_ko\": \"하이퍼넷 중계소\", \n    \"name_ru\": \"Гиперсетевое реле\", \n    \"name_zh\": \"超网中继\", \n    \"nameID\": 554066, \n    \"parentGroupID\": 1922\n  }, \n  \"2702\": {\n    \"description_de\": \"Corvettes, die Kapselpiloten gelegentlich für begrenzte Zeitperioden angeboten wurden.\", \n    \"description_en-us\": \"Corvettes that have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Corbetas ofrecidas a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Corvettes mises parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Corvettes that have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"過去に期間限定でカプセラにオファーされたコルベット\", \n    \"description_ko\": \"캡슐리어들에게 한정된 기회로 제공된 코르벳입니다.\", \n    \"description_ru\": \"Корветы, которые в течение ограниченного времени по особому поводу предлагались капсулёрам.\", \n    \"description_zh\": \"限时供应的轻型护卫舰。\", \n    \"descriptionID\": 554136, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversion-Corvettes\", \n    \"name_en-us\": \"Special Edition Corvettes\", \n    \"name_es\": \"Corbetas de edición especial\", \n    \"name_fr\": \"Corvettes édition spéciale\", \n    \"name_it\": \"Special Edition Corvettes\", \n    \"name_ja\": \"特別版コルベット\", \n    \"name_ko\": \"스페셜 에디션 코르벳\", \n    \"name_ru\": \"Корветы особой версии\", \n    \"name_zh\": \"特别版轻型护卫舰\", \n    \"nameID\": 554135, \n    \"parentGroupID\": 1612\n  }, \n  \"2703\": {\n    \"description_de\": \"Precursor-Dreadnoughts\", \n    \"description_en-us\": \"Precursor Dreadnoughts\", \n    \"description_es\": \"Superacorazados precursores\", \n    \"description_fr\": \"Supercuirassés de précursion\", \n    \"description_it\": \"Precursor Dreadnoughts\", \n    \"description_ja\": \"プリカーサー攻城艦\", \n    \"description_ko\": \"프리커서 드레드노트\", \n    \"description_ru\": \"Дредноуты Предтечей\", \n    \"description_zh\": \"先驱者无畏舰\", \n    \"descriptionID\": 555352, \n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Precursor-Dreadnoughts\", \n    \"name_en-us\": \"Precursor Dreadnoughts\", \n    \"name_es\": \"Superacorazados precursores\", \n    \"name_fr\": \"Supercuirassés de précursion\", \n    \"name_it\": \"Precursor Dreadnoughts\", \n    \"name_ja\": \"プリカーサー攻城艦\", \n    \"name_ko\": \"프리커서 드레드노트\", \n    \"name_ru\": \"Дредноуты Предтечей\", \n    \"name_zh\": \"先驱者无畏舰\", \n    \"nameID\": 555351, \n    \"parentGroupID\": 1971\n  }, \n  \"2704\": {\n    \"description_de\": \"Triglavia-Dreadnoughts\", \n    \"description_en-us\": \"Triglavian Dreadnoughts\", \n    \"description_es\": \"Superacorazados triglavianos\", \n    \"description_fr\": \"Supercuirassés triglavian\", \n    \"description_it\": \"Triglavian Dreadnoughts\", \n    \"description_ja\": \"トリグラビアン攻城艦\", \n    \"description_ko\": \"트리글라비안 드레드노트\", \n    \"description_ru\": \"Дредноуты Триглава\", \n    \"description_zh\": \"三神裔无畏舰\", \n    \"descriptionID\": 555354, \n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглавские\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 555353, \n    \"parentGroupID\": 2703\n  }, \n  \"2706\": {\n    \"description_de\": \"Filamente, die Flotten unberechenbar zu anderen Gebieten im bekannten Raum befördern.\", \n    \"description_en-us\": \"Filaments that jump fleets unpredictably to other locations in known space.\", \n    \"description_es\": \"Filamentos que hacen que las flotas salten a otras ubicaciones del espacio conocido de forma impredecible.\", \n    \"description_fr\": \"Filaments qui permettent à des flottes de sauter de manière imprévisible vers d'autres lieux de l'espace connu.\", \n    \"description_it\": \"Filaments that jump fleets unpredictably to other locations in known space.\", \n    \"description_ja\": \"既知の宇宙空間の他の場所に艦隊を予測不能でジャンプさせるフィラメント。\", \n    \"description_ko\": \"일반 우주의 무작위 지점으로 함대를 전송합니다.\", \n    \"description_ru\": \"Эти нити непредсказуемым образом переносят флоты в новые точки известного космоса.\", \n    \"description_zh\": \"能将舰队跳跃到宇宙中的其他随机地点的纤维\", \n    \"descriptionID\": 560905, \n    \"hasTypes\": 1, \n    \"iconID\": 21924, \n    \"name_de\": \"Sprungfilamente\", \n    \"name_en-us\": \"Jump Filaments\", \n    \"name_es\": \"Filamentos de salto\", \n    \"name_fr\": \"Filaments de saut\", \n    \"name_it\": \"Jump Filaments\", \n    \"name_ja\": \"ジャンプフィラメント\", \n    \"name_ko\": \"점프 필라멘트\", \n    \"name_ru\": \"Прыжковые нити\", \n    \"name_zh\": \"跳跃纤维\", \n    \"nameID\": 560904, \n    \"parentGroupID\": 2456\n  }, \n  \"2728\": {\n    \"description_de\": \"In Vorton-Projektoren verwendete Kondensator-Paket-Ladungen\", \n    \"description_en-us\": \"Condenser Pack charges used in Vorton Projectors\", \n    \"description_es\": \"Cargas de paquetes de condensadores que se usan en los proyectores vortónicos.\", \n    \"description_fr\": \"Charges de packs de condensateur utilisées dans les projecteurs de vortons\", \n    \"description_it\": \"Condenser Pack charges used in Vorton Projectors\", \n    \"description_ja\": \"ヴォートンプロジェクターで使用されているコンデンサパックチャージ\", \n    \"description_ko\": \"보르톤 프로젝터에 사용되는 콘덴서 팩 차지입니다.\", \n    \"description_ru\": \"Наборы конденсаторов — заряды, которые используют вортонные проекторы\", \n    \"description_zh\": \"电弧弦投射器使用的电容包\", \n    \"descriptionID\": 564544, \n    \"hasTypes\": 0, \n    \"iconID\": 24481, \n    \"name_de\": \"Kondensator-Pakete\", \n    \"name_en-us\": \"Condenser Packs\", \n    \"name_es\": \"Paquetes de condensadores\", \n    \"name_fr\": \"Packs de condensateur\", \n    \"name_it\": \"Condenser Packs\", \n    \"name_ja\": \"コンデンサパック\", \n    \"name_ko\": \"콘덴서 팩\", \n    \"name_ru\": \"Наборы конденсаторов\", \n    \"name_zh\": \"电容包\", \n    \"nameID\": 564543, \n    \"parentGroupID\": 11\n  }, \n  \"2729\": {\n    \"description_de\": \"Standard-Kondensator-Pakete\", \n    \"description_en-us\": \"Standard Condenser Packs\", \n    \"description_es\": \"Paquetes de condensadores estándar.\", \n    \"description_fr\": \"Packs de condensateur standard\", \n    \"description_it\": \"Standard Condenser Packs\", \n    \"description_ja\": \"標準型コンデンサパック\", \n    \"description_ko\": \"일반 콘덴서 팩\", \n    \"description_ru\": \"Стандартные наборы конденсаторов\", \n    \"description_zh\": \"标准电容包\", \n    \"descriptionID\": 564546, \n    \"hasTypes\": 0, \n    \"iconID\": 24481, \n    \"name_de\": \"Standard-Kondensator-Pakete\", \n    \"name_en-us\": \"Standard Condenser Packs\", \n    \"name_es\": \"Paquetes de condensadores estándar\", \n    \"name_fr\": \"Packs de condensateur standard\", \n    \"name_it\": \"Standard Condenser Packs\", \n    \"name_ja\": \"標準型コンデンサパック\", \n    \"name_ko\": \"일반 콘덴서 팩\", \n    \"name_ru\": \"Стандартные наборы конденсаторов\", \n    \"name_zh\": \"标准电容包\", \n    \"nameID\": 564545, \n    \"parentGroupID\": 2728\n  }, \n  \"2730\": {\n    \"description_de\": \"Fortschrittliche Kondensator-Pakete\", \n    \"description_en-us\": \"Advanced Condenser Packs\", \n    \"description_es\": \"Paquetes de condensadores avanzados\", \n    \"description_fr\": \"Packs de condensateur avancé\", \n    \"description_it\": \"Advanced Condenser Packs\", \n    \"description_ja\": \"高性能コンデンサパック\", \n    \"description_ko\": \"상급 콘덴서 팩\", \n    \"description_ru\": \"Улучшенные наборы конденсаторов\", \n    \"description_zh\": \"高级电容包\", \n    \"descriptionID\": 564548, \n    \"hasTypes\": 0, \n    \"iconID\": 24480, \n    \"name_de\": \"Fortschrittliche Kondensator-Pakete\", \n    \"name_en-us\": \"Advanced Condenser Packs\", \n    \"name_es\": \"Paquetes de condensadores avanzados\", \n    \"name_fr\": \"Packs de condensateur avancé\", \n    \"name_it\": \"Advanced Condenser Packs\", \n    \"name_ja\": \"高性能コンデンサパック\", \n    \"name_ko\": \"상급 콘덴서 팩\", \n    \"name_ru\": \"Улучшенные наборы конденсаторов\", \n    \"name_zh\": \"高级电容包\", \n    \"nameID\": 564547, \n    \"parentGroupID\": 2728\n  }, \n  \"2734\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24469, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 564558, \n    \"parentGroupID\": 2729\n  }, \n  \"2735\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24475, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 564559, \n    \"parentGroupID\": 2729\n  }, \n  \"2736\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24481, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 564560, \n    \"parentGroupID\": 2729\n  }, \n  \"2737\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24468, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 564561, \n    \"parentGroupID\": 2730\n  }, \n  \"2738\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24474, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 564562, \n    \"parentGroupID\": 2730\n  }, \n  \"2739\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24480, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 564563, \n    \"parentGroupID\": 2730\n  }, \n  \"2740\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24467, \n    \"name_de\": \"Vorton-Tuning-Systeme\", \n    \"name_en-us\": \"Vorton Tuning Systems\", \n    \"name_es\": \"Sistemas de ajuste vortónico\", \n    \"name_fr\": \"Systèmes de réglage des vortons\", \n    \"name_it\": \"Vorton Tuning Systems\", \n    \"name_ja\": \"ヴォートンチューニングシステム\", \n    \"name_ko\": \"보르톤 조정 시스템\", \n    \"name_ru\": \"Системы настройки вортонов\", \n    \"name_zh\": \"电弧弦调谐系统\", \n    \"nameID\": 564564, \n    \"parentGroupID\": 143\n  }, \n  \"2741\": {\n    \"description_de\": \"Vorton-Projektoren von Upwell\", \n    \"description_en-us\": \"Vorton Projectors made by Upwell\", \n    \"description_es\": \"Proyectores vortónicos fabricados por Upwell.\", \n    \"description_fr\": \"Projecteurs de vortons produits par Upwell\", \n    \"description_it\": \"Vorton Projectors made by Upwell\", \n    \"description_ja\": \"アップウェルヴォートンプロジェクター\", \n    \"description_ko\": \"업웰 제작 보르톤 프로젝터\", \n    \"description_ru\": \"Вортонные проекторы производства консорциума «Апвелл»\", \n    \"description_zh\": \"昇威财团制造的电弧弦投射器\", \n    \"descriptionID\": 564566, \n    \"hasTypes\": 0, \n    \"iconID\": 24466, \n    \"name_de\": \"Vorton-Projektoren\", \n    \"name_en-us\": \"Vorton Projectors\", \n    \"name_es\": \"Proyectores vortónicos\", \n    \"name_fr\": \"Projecteurs de vortons\", \n    \"name_it\": \"Vorton Projectors\", \n    \"name_ja\": \"ヴォートンプロジェクター\", \n    \"name_ko\": \"보르톤 프로젝터\", \n    \"name_ru\": \"Вортонные проекторы\", \n    \"name_zh\": \"电弧弦投射器\", \n    \"nameID\": 564565, \n    \"parentGroupID\": 10\n  }, \n  \"2742\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24464, \n    \"name_de\": \"Klein\", \n    \"name_en-us\": \"Small\", \n    \"name_es\": \"Pequeño\", \n    \"name_fr\": \"Petit\", \n    \"name_it\": \"Small\", \n    \"name_ja\": \"小型\", \n    \"name_ko\": \"소형\", \n    \"name_ru\": \"Малые\", \n    \"name_zh\": \"小型\", \n    \"nameID\": 564567, \n    \"parentGroupID\": 2741\n  }, \n  \"2743\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24465, \n    \"name_de\": \"Mittelgroß\", \n    \"name_en-us\": \"Medium\", \n    \"name_es\": \"Mediano\", \n    \"name_fr\": \"Intermédiaire\", \n    \"name_it\": \"Medium\", \n    \"name_ja\": \"中型\", \n    \"name_ko\": \"중형\", \n    \"name_ru\": \"Средние\", \n    \"name_zh\": \"中型\", \n    \"nameID\": 564568, \n    \"parentGroupID\": 2741\n  }, \n  \"2744\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24466, \n    \"name_de\": \"Groß\", \n    \"name_en-us\": \"Large\", \n    \"name_es\": \"Grande\", \n    \"name_fr\": \"Grand\", \n    \"name_it\": \"Large\", \n    \"name_ja\": \"大型\", \n    \"name_ko\": \"대형\", \n    \"name_ru\": \"Большие\", \n    \"name_zh\": \"大型\", \n    \"nameID\": 564569, \n    \"parentGroupID\": 2741\n  }, \n  \"2747\": {\n    \"description_de\": \"Filamente, die sich für zeitlich begrenzte PvP-Events mit dem Testgelände des Abgrunds verbinden.\", \n    \"description_en-us\": \"Filaments that connect to the Abyssal Proving Grounds for limited time PVP events.\", \n    \"description_es\": \"Filamentos conectados al Campo de Pruebas Abisal para eventos JcJ de tiempo limitado.\", \n    \"description_fr\": \"Ce filament se connecte aux sites d'expérimentation abyssaux pendant les événements PVP à durée limitée.\", \n    \"description_it\": \"Filaments that connect to the Abyssal Proving Grounds for limited time PVP events.\", \n    \"description_ja\": \"期間限定PvPイベント「アビサルプルービンググラウンド」に接続するフィラメント。\", \n    \"description_ko\": \"이 필라멘트는 PVP 이벤트가 이루어지는 어비설 격전지로 함대를 전송합니다.\", \n    \"description_ru\": \"Нити, открывающие проход на Испытательный полигон Бездны на время PvP-событий.\", \n    \"description_zh\": \"使用此纤维可以前往深渊试炼场，进行限时PVP交战。\", \n    \"descriptionID\": 567625, \n    \"hasTypes\": 1, \n    \"iconID\": 21925, \n    \"name_de\": \"Testgelände-Filamente\", \n    \"name_en-us\": \"Proving Ground Filaments\", \n    \"name_es\": \"Filamentos del campo de pruebas\", \n    \"name_fr\": \"Filaments de site d'expérimentation\", \n    \"name_it\": \"Proving Ground Filaments\", \n    \"name_ja\": \"プルービンググラウンドフィラメント\", \n    \"name_ko\": \"격전지 필라멘트\", \n    \"name_ru\": \"Нити испытательного полигона\", \n    \"name_zh\": \"试炼场纤维\", \n    \"nameID\": 567624, \n    \"parentGroupID\": 2456\n  }, \n  \"2749\": {\n    \"description_de\": \"Quantumkerne sind Überlichtgeschwindigkeitskommunikationsanlagen, die für den effizienten Betrieb von Upwell-Strukturen wichtig sind.\", \n    \"description_en-us\": \"Quantum Cores are FTL communications facillities vital to the efficient operation of Upwell structures.\", \n    \"description_es\": \"Los núcleos cuánticos son instalaciones de comunicación supralumínica vitales para el correcto funcionamiento de las estructuras de Upwell.\", \n    \"description_fr\": \"Les réacteurs quantiques sont des installations de communications PRL essentielles au bon fonctionnement des structures Upwell.\", \n    \"description_it\": \"Quantum Cores are FTL communications facillities vital to the efficient operation of Upwell structures.\", \n    \"description_ja\": \"アップウェルストラクチャを効率的に運用するために必須なFTL（超光速）通信設備\", \n    \"description_ko\": \"양자코어는 업웰 구조물을 효과적으로 운용하기 위한 FTL 통신 시설입니다.\", \n    \"description_ru\": \"Квантовые ядра — это обеспечивающие сверхсветовую связь объекты, жизненно необходимые для эффективной работы сооружений консорциума «Апвелл».\", \n    \"description_zh\": \"量子芯是一种超光速通讯设备，对于昇威建筑的高效运转起着至关重要的作用。\", \n    \"descriptionID\": 569752, \n    \"hasTypes\": 1, \n    \"iconID\": 21729, \n    \"name_de\": \"Quantumkerne\", \n    \"name_en-us\": \"Quantum Cores\", \n    \"name_es\": \"Núcleos cuánticos\", \n    \"name_fr\": \"Réacteurs quantiques\", \n    \"name_it\": \"Quantum Cores\", \n    \"name_ja\": \"クアンタムコア\", \n    \"name_ko\": \"양자코어\", \n    \"name_ru\": \"Квантовые ядра\", \n    \"name_zh\": \"量子芯\", \n    \"nameID\": 569644, \n    \"parentGroupID\": 2202\n  }, \n  \"2750\": {\n    \"description_de\": \"Capital-Astronautische-Mutaplasmide\", \n    \"description_en-us\": \"Capital Astronautic Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos astronáuticos capitales.\", \n    \"description_fr\": \"Mutaplasmides astronautiques capitaux\", \n    \"description_it\": \"Capital Astronautic Mutaplasmids\", \n    \"description_ja\": \"キャピタル宇宙航行変異プラスミド\", \n    \"description_ko\": \"캐피탈 항법 뮤타플라즈미드\", \n    \"description_ru\": \"Сверхбольшие двигательные мутаплазмиды.\", \n    \"description_zh\": \"旗舰级空间技术突变质体\", \n    \"descriptionID\": 569939, \n    \"hasTypes\": 1, \n    \"name_de\": \"Capital-Astronautische-Mutaplasmide\", \n    \"name_en-us\": \"Capital Astronautic Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos astronáuticos capitales\", \n    \"name_fr\": \"Mutaplasmides astronautiques capitaux\", \n    \"name_it\": \"Capital Astronautic Mutaplasmids\", \n    \"name_ja\": \"キャピタル宇宙航行変異プラスミド\", \n    \"name_ko\": \"캐피탈 항법 뮤타플라즈미드\", \n    \"name_ru\": \"Сверхбольшие двигательные мутаплазмиды.\", \n    \"name_zh\": \"旗舰级空间技术突变质体\", \n    \"nameID\": 569938, \n    \"parentGroupID\": 2439\n  }, \n  \"2751\": {\n    \"description_de\": \"Capital-Panzerungs-Mutaplasmide\", \n    \"description_en-us\": \"Capital Armor Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de blindaje capitales.\", \n    \"description_fr\": \"Mutaplasmides de blindage capitaux\", \n    \"description_it\": \"Capital Armor Mutaplasmids\", \n    \"description_ja\": \"キャピタルアーマー変異プラスミド\", \n    \"description_ko\": \"캐피탈 장갑 뮤타플라즈미드\", \n    \"description_ru\": \"Сверхбольшие мутаплазмиды брони.\", \n    \"description_zh\": \"旗舰级装甲突变质体\", \n    \"descriptionID\": 569941, \n    \"hasTypes\": 1, \n    \"name_de\": \"Capital-Panzerungs-Mutaplasmide\", \n    \"name_en-us\": \"Capital Armor Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de blindaje capitales\", \n    \"name_fr\": \"Mutaplasmides de blindage capitaux\", \n    \"name_it\": \"Capital Armor Mutaplasmids\", \n    \"name_ja\": \"キャピタルアーマー変異プラスミド\", \n    \"name_ko\": \"캐피탈 장갑 뮤타플라즈미드\", \n    \"name_ru\": \"Сверхбольшие мутаплазмиды брони.\", \n    \"name_zh\": \"旗舰级装甲突变质体\", \n    \"nameID\": 569940, \n    \"parentGroupID\": 2437\n  }, \n  \"2752\": {\n    \"description_de\": \"Capital-Schild-Mutaplasmide\", \n    \"description_en-us\": \"Capital Shield Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de escudo capitales.\", \n    \"description_fr\": \"Mutaplasmides de bouclier capitaux\", \n    \"description_it\": \"Capital Shield Mutaplasmids\", \n    \"description_ja\": \"キャピタルシールド変異プラスミド\", \n    \"description_ko\": \"캐피탈 실드 뮤타플라즈미드\", \n    \"description_ru\": \"Сверхбольшие мутаплазмиды щитов.\", \n    \"description_zh\": \"旗舰级护盾突变质体\", \n    \"descriptionID\": 569944, \n    \"hasTypes\": 1, \n    \"name_de\": \"Capital-Schild-Mutaplasmide\", \n    \"name_en-us\": \"Capital Shield Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de escudo capitales\", \n    \"name_fr\": \"Mutaplasmides de bouclier capitaux\", \n    \"name_it\": \"Capital Shield Mutaplasmids\", \n    \"name_ja\": \"キャピタルシールド変異プラスミド\", \n    \"name_ko\": \"캐피탈 실드 뮤타플라즈미드\", \n    \"name_ru\": \"Сверхбольшие мутаплазмиды щитов.\", \n    \"name_zh\": \"旗舰级护盾突变质体\", \n    \"nameID\": 569943, \n    \"parentGroupID\": 2438\n  }, \n  \"2753\": {\n    \"description_de\": \"Capital-Industrie-Mutaplasmide\", \n    \"description_en-us\": \"Capital Engineering Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de ingeniería capitales.\", \n    \"description_fr\": \"Mutaplasmides d'ingénierie capitaux\", \n    \"description_it\": \"Capital Engineering Mutaplasmids\", \n    \"description_ja\": \"キャピタル電気工学変異プラスミド\", \n    \"description_ko\": \"캐피탈 엔지니어링 뮤타플라즈미드\", \n    \"description_ru\": \"Сверхбольшие инженерные мутаплазмиды.\", \n    \"description_zh\": \"旗舰级工程突变质体\", \n    \"descriptionID\": 569946, \n    \"hasTypes\": 1, \n    \"name_de\": \"Capital-Industrie-Mutaplasmide\", \n    \"name_en-us\": \"Capital Engineering Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de ingeniería capitales\", \n    \"name_fr\": \"Mutaplasmides d'ingénierie capitaux\", \n    \"name_it\": \"Capital Engineering Mutaplasmids\", \n    \"name_ja\": \"キャピタル電気工学変異プラスミド\", \n    \"name_ko\": \"캐피탈 엔지니어링 뮤타플라즈미드\", \n    \"name_ru\": \"Сверхбольшие инженерные мутаплазмиды.\", \n    \"name_zh\": \"旗舰级工程突变质体\", \n    \"nameID\": 569945, \n    \"parentGroupID\": 2440\n  }, \n  \"2754\": {\n    \"description_de\": \"Belagerungsmodul-Mutaplasmide\", \n    \"description_en-us\": \"Siege Module Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de módulos de asedio.\", \n    \"description_fr\": \"Mutaplasmides de module de siège\", \n    \"description_it\": \"Siege Module Mutaplasmids\", \n    \"description_ja\": \"シージモジュール変異プラスミド\", \n    \"description_ko\": \"시즈모듈 뮤타플라즈미드\", \n    \"description_ru\": \"Мутаплазмиды осадных модулей.\", \n    \"description_zh\": \"会战装备突变质体\", \n    \"descriptionID\": 569952, \n    \"hasTypes\": 1, \n    \"name_de\": \"Belagerungsmodul-Mutaplasmide\", \n    \"name_en-us\": \"Siege Module Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de módulo de asedio\", \n    \"name_fr\": \"Mutaplasmides de module de siège\", \n    \"name_it\": \"Siege Module Mutaplasmids\", \n    \"name_ja\": \"シージモジュール変異プラスミド\", \n    \"name_ko\": \"시즈모듈 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды осадных модулей.\", \n    \"name_zh\": \"会战装备突变质体\", \n    \"nameID\": 569951, \n    \"parentGroupID\": 2512\n  }, \n  \"2756\": {\n    \"description_de\": \"Filamente, die ihre Nutzer aus der Triglavia-Region Pochven transportieren\", \n    \"description_en-us\": \"Filaments that jump users out of the Triglavian Region Pochven\", \n    \"description_es\": \"Filamentos que hacen saltar a los usuarios fuera de la región triglaviana de Pochven.\", \n    \"description_fr\": \"Ces filaments transportent les pilotes hors de la région triglavian de Pochven\", \n    \"description_it\": \"Filaments that jump users out of the Triglavian Region Pochven\", \n    \"description_ja\": \"使用者をトリグラビアンリージョン・ポクヴェンからジャンプアウトさせるフィラメント\", \n    \"description_ko\": \"트리글라비안 포치벤 지역 밖으로 사용자를 전송합니다.\", \n    \"description_ru\": \"Прыжковые нити, возвращающие пилотов из триглавского сектора Почвень.\", \n    \"description_zh\": \"可以跳跃离开三神裔波赫文星域的纤维\", \n    \"descriptionID\": 571036, \n    \"hasTypes\": 1, \n    \"iconID\": 24530, \n    \"name_de\": \"Triglavia-Weltraum: Auswärts\", \n    \"name_en-us\": \"Triglavian Space Outbound\", \n    \"name_es\": \"Salida del espacio triglaviano\", \n    \"name_fr\": \"Sortie de l'espace triglavian\", \n    \"name_it\": \"Triglavian Space Outbound\", \n    \"name_ja\": \"トリグラビアン宙域アウトバウンド\", \n    \"name_ko\": \"트리글라비안 우주 아웃바운드\", \n    \"name_ru\": \"Выход из пространства Триглава\", \n    \"name_zh\": \"三神裔领地离境\", \n    \"nameID\": 571035, \n    \"parentGroupID\": 2456\n  }, \n  \"2757\": {\n    \"description_de\": \"Filamente, die ihre Nutzer in die Triglavia-Region Pochven transportieren\", \n    \"description_en-us\": \"Filaments that jump users into the Triglavian Region Pochven\", \n    \"description_es\": \"Filamentos que hacen saltar a los usuarios a la región triglaviana de Pochven.\", \n    \"description_fr\": \"Ces filaments transportent les pilotes au cœur de la région triglavian de Pochven\", \n    \"description_it\": \"Filaments that jump users into the Triglavian Region Pochven\", \n    \"description_ja\": \"使用者をトリグラビアンリージョン・ポクヴェンにジャンプインさせるフィラメント\", \n    \"description_ko\": \"트리글라비안 포치벤 지역 안으로 사용자를 전송합니다.\", \n    \"description_ru\": \"Прыжковые нити, переносящие пилотов в триглавский сектор Почвень.\", \n    \"description_zh\": \"可以跳跃到三神裔波赫文星域的纤维\", \n    \"descriptionID\": 571038, \n    \"hasTypes\": 1, \n    \"iconID\": 24530, \n    \"name_de\": \"Triglavia-Weltraum: Einwärts\", \n    \"name_en-us\": \"Triglavian Space Inbound\", \n    \"name_es\": \"Entrada al espacio triglaviano\", \n    \"name_fr\": \"Entrée dans l'espace triglavian\", \n    \"name_it\": \"Triglavian Space Inbound\", \n    \"name_ja\": \"トリグラビアン宙域インバウンド\", \n    \"name_ko\": \"트리글라비안 우주 인바운드\", \n    \"name_ru\": \"Вход в пространство Триглава\", \n    \"name_zh\": \"三神裔领地入境\", \n    \"nameID\": 571037, \n    \"parentGroupID\": 2456\n  }, \n  \"2761\": {\n    \"description_de\": \"Booster, die bei der Rekonfiguration des Klon-Mappings eingesetzt werden, um die Nutzung von taktischen Kapselpilotenklonern zu ermöglichen.\", \n    \"description_en-us\": \"Boosters used in reconfiguration of clone mapping to allow the use of Tactical Capsuleer Recloners\", \n    \"description_es\": \"Potenciadores empleados en la reconfiguración de mapeo de clones que permiten el uso de reclonadores de capsulistas tácticos.\", \n    \"description_fr\": \"Boosters utilisés dans la reconfiguration du traçage de clone pour permettre d'utiliser le clonage de capsulier tactique\", \n    \"description_it\": \"Boosters used in reconfiguration of clone mapping to allow the use of Tactical Capsuleer Recloners\", \n    \"description_ja\": \"クローンマッピングの再配置に使用して、タクティカルカプセラリクローナーを利用可能にするブースター\", \n    \"description_ko\": \"클론 재구성을 위해 개발된 부스터로 사용 시 전술 캡슐리어 복제기를 활용할 수 있습니다.\", \n    \"description_ru\": \"Стимуляторы, которые используются для реконфигурации схем клонов, необходимой для использования тактического клонировщика капсулёров\", \n    \"description_zh\": \"使用战术克隆重制体所必需的增效剂\", \n    \"descriptionID\": 573510, \n    \"hasTypes\": 1, \n    \"iconID\": 10144, \n    \"name_de\": \"Klon-Mapper\", \n    \"name_en-us\": \"Clone Mappers\", \n    \"name_es\": \"Mapeadores clónicos\", \n    \"name_fr\": \"Traceurs de clone\", \n    \"name_it\": \"Clone Mappers\", \n    \"name_ja\": \"クローンマッパー\", \n    \"name_ko\": \"클론 매퍼\", \n    \"name_ru\": \"Построители схем для клонов\", \n    \"name_zh\": \"克隆映射装置\", \n    \"nameID\": 573509, \n    \"parentGroupID\": 977\n  }, \n  \"2763\": {\n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Mobile Anziehungssignalfeuer\", \n    \"name_en-us\": \"Mobile Cynosural Beacons\", \n    \"name_es\": \"Balizas cinosurales móviles\", \n    \"name_fr\": \"Balises cynosurales mobiles\", \n    \"name_it\": \"Mobile Cynosural Beacons\", \n    \"name_ja\": \"移動式サイノシュラルビーコン\", \n    \"name_ko\": \"이동식 사이노슈럴 비컨\", \n    \"name_ru\": \"Мобильные приводные маяки\", \n    \"name_zh\": \"移动式诱导信标\", \n    \"nameID\": 574837, \n    \"parentGroupID\": 404\n  }, \n  \"2764\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mobile Anziehungssignalfeuer\", \n    \"name_en-us\": \"Mobile Cynosural Beacons\", \n    \"name_es\": \"Balizas cinosurales móviles\", \n    \"name_fr\": \"Balises cynosurales mobiles\", \n    \"name_it\": \"Mobile Cynosural Beacons\", \n    \"name_ja\": \"移動式サイノシュラルビーコン\", \n    \"name_ko\": \"이동식 사이노슈럴 비컨\", \n    \"name_ru\": \"Мобильные приводные маяки\", \n    \"name_zh\": \"移动式诱导信标\", \n    \"nameID\": 574838, \n    \"parentGroupID\": 406\n  }, \n  \"2765\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24608, \n    \"name_de\": \"Fortschrittliche Schutztechnologie\", \n    \"name_en-us\": \"Advanced Protective Technology\", \n    \"name_es\": \"Tecnología protectora avanzada\", \n    \"name_fr\": \"Technologie de protection avancée\", \n    \"name_it\": \"Advanced Protective Technology\", \n    \"name_ja\": \"高性能防護技術\", \n    \"name_ko\": \"상급 보호 기술\", \n    \"name_ru\": \"Продвинутые технологии защиты\", \n    \"name_zh\": \"高级防护技术\", \n    \"nameID\": 575004, \n    \"parentGroupID\": 533\n  }, \n  \"2766\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24623, \n    \"name_de\": \"Molekulare Schmiedewerkzeuge\", \n    \"name_en-us\": \"Molecular-Forging Tools\", \n    \"name_es\": \"Herramientas de forja molecular\", \n    \"name_fr\": \"Outils de forgeage moléculaire\", \n    \"name_it\": \"Molecular-Forging Tools\", \n    \"name_ja\": \"分子加工用ツール\", \n    \"name_ko\": \"분자 결합 도구\", \n    \"name_ru\": \"Инструменты молекулярной модификации\", \n    \"name_zh\": \"分子熔铸工具\", \n    \"nameID\": 575005, \n    \"parentGroupID\": 533\n  }, \n  \"2767\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24619, \n    \"name_de\": \"Molekulargeschmiedete Materialien\", \n    \"name_en-us\": \"Molecular-Forged Materials\", \n    \"name_es\": \"Materiales de forja molecular\", \n    \"name_fr\": \"Matériaux issus du forgeage moléculaire\", \n    \"name_it\": \"Molecular-Forged Materials\", \n    \"name_ja\": \"分子加工型資源\", \n    \"name_ko\": \"분자 결합 재료\", \n    \"name_ru\": \"Молекулярно модифицированные материалы\", \n    \"name_zh\": \"分子熔铸材料\", \n    \"nameID\": 575006, \n    \"parentGroupID\": 1034\n  }, \n  \"2768\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24638, \n    \"name_de\": \"Schutzkomponenten\", \n    \"name_en-us\": \"Protective Components\", \n    \"name_es\": \"Componentes protectores\", \n    \"name_fr\": \"Composants protecteurs\", \n    \"name_it\": \"Protective Components\", \n    \"name_ja\": \"防護用部品\", \n    \"name_ko\": \"보호용 부품\", \n    \"name_ru\": \"Компоненты защиты\", \n    \"name_zh\": \"防护性组件\", \n    \"nameID\": 575007, \n    \"parentGroupID\": 1035\n  }, \n  \"2769\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21783, \n    \"name_de\": \"Molekulargeschmiedete Reaktionsformeln\", \n    \"name_en-us\": \"Molecular-Forged Reaction Formulas\", \n    \"name_es\": \"Fórmulas reactivas de forja molecular\", \n    \"name_fr\": \"Formules de réaction par forgeage moléculaire\", \n    \"name_it\": \"Molecular-Forged Reaction Formulas\", \n    \"name_ja\": \"分子加工型反応フォーミュラ\", \n    \"name_ko\": \"분자 결합 반응식\", \n    \"name_ru\": \"Формулы молекулярной реакции\", \n    \"name_zh\": \"分子熔铸反应配方\", \n    \"nameID\": 575008, \n    \"parentGroupID\": 1849\n  }, \n  \"2770\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Schutzkomponenten\", \n    \"name_en-us\": \"Protective Components\", \n    \"name_es\": \"Componentes protectores\", \n    \"name_fr\": \"Composants protecteurs\", \n    \"name_it\": \"Protective Components\", \n    \"name_ja\": \"防護用部品\", \n    \"name_ko\": \"보호용 부품\", \n    \"name_ru\": \"Компоненты защиты\", \n    \"name_zh\": \"防护性组件\", \n    \"nameID\": 575009, \n    \"parentGroupID\": 800\n  }, \n  \"2771\": {\n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Mobile Observatorien\", \n    \"name_en-us\": \"Mobile Observatories\", \n    \"name_es\": \"Observatorios móviles\", \n    \"name_fr\": \"Observatoires mobiles\", \n    \"name_it\": \"Mobile Observatories\", \n    \"name_ja\": \"移動式観測所\", \n    \"name_ko\": \"이동식 관측소\", \n    \"name_ru\": \"Полевые обсерватории\", \n    \"name_zh\": \"移动观测站\", \n    \"nameID\": 580890, \n    \"parentGroupID\": 404\n  }, \n  \"2772\": {\n    \"description_de\": \"Blaupausen für mobile Observatorien\", \n    \"description_en-us\": \"Blueprints for Mobile Observatories\", \n    \"description_es\": \"Planos de observatorios móviles.\", \n    \"description_fr\": \"Plans de construction pour observatoires mobiles\", \n    \"description_it\": \"Blueprints for Mobile Observatories\", \n    \"description_ja\": \"移動式観測所の設計図\", \n    \"description_ko\": \"이동식 관측소 블루프린트\", \n    \"description_ru\": \"Чертежи для полевых обсерваторий\", \n    \"description_zh\": \"移动观测站的蓝图\", \n    \"descriptionID\": 580892, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mobile Observatorien\", \n    \"name_en-us\": \"Mobile Observatories\", \n    \"name_es\": \"Observatorios móviles\", \n    \"name_fr\": \"Observatoires mobiles\", \n    \"name_it\": \"Mobile Observatories\", \n    \"name_ja\": \"移動式観測所\", \n    \"name_ko\": \"이동식 관측소\", \n    \"name_ru\": \"Полевые обсерватории\", \n    \"name_zh\": \"移动观测站\", \n    \"nameID\": 580891, \n    \"parentGroupID\": 406\n  }, \n  \"2783\": {\n    \"description_de\": \"Module, die die Effekte von Warpstörsonden und mobilen Warpstörern zunichtemachen.\", \n    \"description_en-us\": \"Modules which negate the effects of warp disrupt probes and mobile warp disruptors\", \n    \"description_es\": \"Módulos que anulan los efectos de las sondas disruptoras de warp y los disruptores de warp móviles.\", \n    \"description_fr\": \"Modules annulant les effets des sondes de perturbation de warp et perturbateurs de warp mobiles\", \n    \"description_it\": \"Modules which negate the effects of warp disrupt probes and mobile warp disruptors\", \n    \"description_ja\": \"ワープ妨害用プローブと移動式ワープ妨害器の効果を無効化するモジュール\", \n    \"description_ko\": \"워프 디스럽션 프로브 및 이동식 워프 디스럽터를 무력화합니다\", \n    \"description_ru\": \"Модули, которые нивелируют воздействие мобильных варп-подавителей, а также зондов, генерирующих варп-помехи\", \n    \"description_zh\": \"使跃迁干扰探针和机动跃迁扰断器失效的装备\", \n    \"descriptionID\": 581439, \n    \"hasTypes\": 1, \n    \"iconID\": 24730, \n    \"name_de\": \"Anti-Unterbrecher\", \n    \"name_en-us\": \"Interdiction Nullifiers\", \n    \"name_es\": \"Anuladores de interdicción\", \n    \"name_fr\": \"Contremesures d'interdiction\", \n    \"name_it\": \"Interdiction Nullifiers\", \n    \"name_ja\": \"インターディクション無効化\", \n    \"name_ko\": \"인터딕션 무효화 장치\", \n    \"name_ru\": \"Нейтрализаторы варп-заграждений\", \n    \"name_zh\": \"拦截失效装置\", \n    \"nameID\": 581438, \n    \"parentGroupID\": 132\n  }, \n  \"2790\": {\n    \"hasTypes\": 1, \n    \"iconID\": 3215, \n    \"name_de\": \"Booster-Slot 15\", \n    \"name_en-us\": \"Booster Slot 15\", \n    \"name_es\": \"Ranura de potenciador 15\", \n    \"name_fr\": \"Emplacement de booster 15\", \n    \"name_it\": \"Booster Slot 15\", \n    \"name_ja\": \"ブースタースロット15\", \n    \"name_ko\": \"부스터 슬롯 15\", \n    \"name_ru\": \"Разъём стимуляторов 15\", \n    \"name_zh\": \"增效剂槽位 15\", \n    \"nameID\": 584811, \n    \"parentGroupID\": 977\n  }, \n  \"2791\": {\n    \"hasTypes\": 1, \n    \"iconID\": 3215, \n    \"name_de\": \"Booster-Slot 16\", \n    \"name_en-us\": \"Booster Slot 16\", \n    \"name_es\": \"Ranura de potenciador 16\", \n    \"name_fr\": \"Emplacement de booster 16\", \n    \"name_it\": \"Booster Slot 16\", \n    \"name_ja\": \"ブースタースロット16\", \n    \"name_ko\": \"부스터 슬롯 16\", \n    \"name_ru\": \"Разъём стимуляторов 16\", \n    \"name_zh\": \"增效剂槽位 16\", \n    \"nameID\": 584815, \n    \"parentGroupID\": 977\n  }, \n  \"2792\": {\n    \"hasTypes\": 1, \n    \"iconID\": 3215, \n    \"name_de\": \"Booster-Slot 17\", \n    \"name_en-us\": \"Booster Slot 17\", \n    \"name_es\": \"Ranura de potenciador 17\", \n    \"name_fr\": \"Emplacement de booster 17\", \n    \"name_it\": \"Booster Slot 17\", \n    \"name_ja\": \"ブースタースロット17\", \n    \"name_ko\": \"부스터 슬롯 17\", \n    \"name_ru\": \"Разъём стимуляторов 17\", \n    \"name_zh\": \"增效剂槽位 17\", \n    \"nameID\": 584819, \n    \"parentGroupID\": 977\n  }, \n  \"2795\": {\n    \"hasTypes\": 1, \n    \"iconID\": 3074, \n    \"name_de\": \"Gaswolken-Extraktoren\", \n    \"name_en-us\": \"Gas Cloud Harvesters\", \n    \"name_es\": \"Cosechadoras de nubes de gas\", \n    \"name_fr\": \"Collecteurs de nuages de gaz\", \n    \"name_it\": \"Gas Cloud Harvesters\", \n    \"name_ja\": \"ガス雲採掘機\", \n    \"name_ko\": \"가스 하베스터\", \n    \"name_ru\": \"Сборщики газовых облаков\", \n    \"name_zh\": \"气云采集器\", \n    \"nameID\": 587197, \n    \"parentGroupID\": 1713\n  }, \n  \"2797\": {\n    \"description_de\": \"Blaupausen für Analysesignalfeuer\", \n    \"description_en-us\": \"Blueprints for Analysis Beacons\", \n    \"description_es\": \"Planos de balizas de análisis.\", \n    \"description_fr\": \"Plans de construction Balise d'analyse\", \n    \"description_it\": \"Blueprints for Analysis Beacons\", \n    \"description_ja\": \"解析ビーコンの設計図\", \n    \"description_ko\": \"분석 비컨 블루프린트\", \n    \"description_ru\": \"Чертежи для маяков анализа\", \n    \"description_zh\": \"分析信标的蓝图\", \n    \"descriptionID\": 588177, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Analysesignalfeuer\", \n    \"name_en-us\": \"Analysis Beacons\", \n    \"name_es\": \"Balizas de análisis\", \n    \"name_fr\": \"Balises d'analyse\", \n    \"name_it\": \"Analysis Beacons\", \n    \"name_ja\": \"解析ビーコン\", \n    \"name_ko\": \"분석 비컨\", \n    \"name_ru\": \"Маяк анализа\", \n    \"name_zh\": \"分析信标\", \n    \"nameID\": 588176, \n    \"parentGroupID\": 406\n  }, \n  \"2798\": {\n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Analysesignalfeuer\", \n    \"name_en-us\": \"Analysis Beacons\", \n    \"name_es\": \"Balizas de análisis\", \n    \"name_fr\": \"Balises d'analyse\", \n    \"name_it\": \"Analysis Beacons\", \n    \"name_ja\": \"解析ビーコン\", \n    \"name_ko\": \"분석 비컨\", \n    \"name_ru\": \"Маяк анализа\", \n    \"name_zh\": \"分析信标\", \n    \"nameID\": 588178, \n    \"parentGroupID\": 404\n  }, \n  \"2799\": {\n    \"description_de\": \"Daten zu Raubdrohnen\", \n    \"description_en-us\": \"Data pertaining to Rogue Drones\", \n    \"description_es\": \"Datos relativos a los drones rebeldes.\", \n    \"description_fr\": \"Données concernant les drones renégats\", \n    \"description_it\": \"Data pertaining to Rogue Drones\", \n    \"description_ja\": \"ローグドローンに関するデータ\", \n    \"description_ko\": \"로그 드론 관련 데이터\", \n    \"description_ru\": \"Данные, относящиеся к восставшим дронам\", \n    \"description_zh\": \"与自由无人机相关的数据\", \n    \"descriptionID\": 588317, \n    \"hasTypes\": 1, \n    \"iconID\": 21785, \n    \"name_de\": \"Raubdrohnen-Daten\", \n    \"name_en-us\": \"Rogue Drone Data\", \n    \"name_es\": \"Datos de drones rebeldes\", \n    \"name_fr\": \"Données de drone renégat\", \n    \"name_it\": \"Rogue Drone Data\", \n    \"name_ja\": \"ローグドローンデータ\", \n    \"name_ko\": \"로그 드론 데이터\", \n    \"name_ru\": \"Данные восставших дронов\", \n    \"name_zh\": \"自由无人机数据\", \n    \"nameID\": 588316, \n    \"parentGroupID\": 19\n  }, \n  \"2801\": {\n    \"hasTypes\": 1, \n    \"iconID\": 10065, \n    \"name_de\": \"AEGIS-Datenbanken\", \n    \"name_en-us\": \"AEGIS Databases\", \n    \"name_es\": \"Bases de datos de AEGIS\", \n    \"name_fr\": \"Base de données d'AEGIS\", \n    \"name_it\": \"AEGIS Databases\", \n    \"name_ja\": \"イージスデータベース\", \n    \"name_ko\": \"AEGIS 데이터베이스\", \n    \"name_ru\": \"Базы данных ЭГИДА\", \n    \"name_zh\": \"统合部紧急干预和安全局数据库\", \n    \"nameID\": 589184, \n    \"parentGroupID\": 19\n  }, \n  \"2804\": {\n    \"description_de\": \"Frequenzkristalle, die auf verschiedene Asteroidenerz-Typen zugeschnitten sind\", \n    \"description_en-us\": \"Frequency crystals custom-cut for different asteroid ore types\", \n    \"description_es\": \"Cristales de frecuencia personalizados para distintos tipos de menas de asteroides.\", \n    \"description_fr\": \"Cristaux de fréquence taillés sur mesure pour différents types de minerais d'astéroïdes\", \n    \"description_it\": \"Frequency crystals custom-cut for different asteroid ore types\", \n    \"description_ja\": \"アステロイド鉱石のタイプに合わせてカスタムカットされたフリーケンシークリスタル。\", \n    \"description_ko\": \"소행성 광물 채굴에 사용되는 프리퀀시 크리스탈입니다\", \n    \"description_ru\": \"Высокочастотные кристаллы особой резки для разных видов руды с астероидов\", \n    \"description_zh\": \"专为采集不同的小行星矿石所定制的频率晶体\", \n    \"descriptionID\": 591666, \n    \"hasTypes\": 0, \n    \"iconID\": 24968, \n    \"name_de\": \"Asteroiden-Bergbaukristalle\", \n    \"name_en-us\": \"Asteroid Mining Crystals\", \n    \"name_es\": \"Cristales de minería asteroidal\", \n    \"name_fr\": \"Cristaux d'extraction d'astéroïdes\", \n    \"name_it\": \"Asteroid Mining Crystals\", \n    \"name_ja\": \"アステロイド採掘用クリスタル\", \n    \"name_ko\": \"소행성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для добычи руды с астероидов\", \n    \"name_zh\": \"小行星矿石采集晶体\", \n    \"nameID\": 591665, \n    \"parentGroupID\": 593\n  }, \n  \"2805\": {\n    \"description_de\": \"Frequenzkristalle, die auf verschiedene Monderz-Typen zugeschnitten sind\", \n    \"description_en-us\": \"Frequency crystals custom-cut for different moon ore types\", \n    \"description_es\": \"Cristales de frecuencia personalizados para distintos tipos de menas lunares.\", \n    \"description_fr\": \"Cristaux de fréquence taillés sur mesure pour différents types de minerais lunaires\", \n    \"description_it\": \"Frequency crystals custom-cut for different moon ore types\", \n    \"description_ja\": \"衛星鉱石のタイプに合わせてカスタムカットされたフリーケンシークリスタル。\", \n    \"description_ko\": \"워성 광물 채굴에 사용되는 프리퀀시 크리스탈입니다\", \n    \"description_ru\": \"Высокочастотные кристаллы особой резки для разных видов руды со спутников\", \n    \"description_zh\": \"专为采集不同的矿石所定制的频率晶体\", \n    \"descriptionID\": 591668, \n    \"hasTypes\": 0, \n    \"iconID\": 25021, \n    \"name_de\": \"Mond-Bergbaukristalle\", \n    \"name_en-us\": \"Moon Mining Crystals\", \n    \"name_es\": \"Cristales de minería lunar\", \n    \"name_fr\": \"Cristaux d'extraction lunaire\", \n    \"name_it\": \"Moon Mining Crystals\", \n    \"name_ja\": \"衛星採掘用クリスタル\", \n    \"name_ko\": \"위성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для добычи руды со спутников\", \n    \"name_zh\": \"卫星矿石采集晶体\", \n    \"nameID\": 591667, \n    \"parentGroupID\": 593\n  }, \n  \"2806\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Asteroiden-Bergbaukristalle\", \n    \"name_en-us\": \"Asteroid Mining Crystals\", \n    \"name_es\": \"Cristales de minería asteroidal\", \n    \"name_fr\": \"Cristaux d'extraction d'astéroïdes\", \n    \"name_it\": \"Asteroid Mining Crystals\", \n    \"name_ja\": \"アステロイド採掘用クリスタル\", \n    \"name_ko\": \"소행성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для добычи руды с астероидов\", \n    \"name_zh\": \"小行星矿石采集晶体\", \n    \"nameID\": 591670, \n    \"parentGroupID\": 753\n  }, \n  \"2807\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mond-Bergbaukristalle\", \n    \"name_en-us\": \"Moon Mining Crystals\", \n    \"name_es\": \"Cristales de minería lunar\", \n    \"name_fr\": \"Cristaux d'extraction lunaire\", \n    \"name_it\": \"Moon Mining Crystals\", \n    \"name_ja\": \"衛星採掘用クリスタル\", \n    \"name_ko\": \"위성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для добычи руды со спутников\", \n    \"name_zh\": \"卫星矿石采集晶体\", \n    \"nameID\": 591671, \n    \"parentGroupID\": 753\n  }, \n  \"2814\": {\n    \"hasTypes\": 1, \n    \"iconID\": 25169, \n    \"name_de\": \"Komprimiertes Gas\", \n    \"name_en-us\": \"Compressed Gas\", \n    \"name_es\": \"Gas comprimido\", \n    \"name_fr\": \"Gaz comprimé\", \n    \"name_it\": \"Compressed Gas\", \n    \"name_ja\": \"圧縮ガス\", \n    \"name_ko\": \"압축된 가스\", \n    \"name_ru\": \"Сжатый газ\", \n    \"name_zh\": \"高密度气云\", \n    \"nameID\": 594613, \n    \"parentGroupID\": 1032\n  }, \n  \"2815\": {\n    \"hasTypes\": 1, \n    \"iconID\": 25152, \n    \"name_de\": \"Kompressoren\", \n    \"name_en-us\": \"Compressors\", \n    \"name_es\": \"Compresores\", \n    \"name_fr\": \"Compresseurs\", \n    \"name_it\": \"Compressors\", \n    \"name_ja\": \"圧縮装置\", \n    \"name_ko\": \"압축기\", \n    \"name_ru\": \"Компрессоры\", \n    \"name_zh\": \"压缩装置\", \n    \"nameID\": 595064, \n    \"parentGroupID\": 9\n  }, \n  \"2816\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Kompressor-Blaupausen\", \n    \"name_en-us\": \"Compressor Blueprints\", \n    \"name_es\": \"Planos de compresores\", \n    \"name_fr\": \"Plans de construction Compresseur\", \n    \"name_it\": \"Compressor Blueprints\", \n    \"name_ja\": \"圧縮装置設計図\", \n    \"name_ko\": \"압축기 블루프린트\", \n    \"name_ru\": \"Чертежи компрессора\", \n    \"name_zh\": \"压缩装置蓝图\", \n    \"nameID\": 595232, \n    \"parentGroupID\": 209\n  }, \n  \"2819\": {\n    \"description_de\": \"Elektronische Angriffsfregatten, die Kapselpiloten gelegentlich während begrenzter Zeiträume angeboten wurden.\", \n    \"description_en-us\": \"Electronic Attack Frigates which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_es\": \"Fragatas de ataque electrónico ofrecidas a los capsulistas en ciertas ocasiones durante periodos limitados.\", \n    \"description_fr\": \"Frégates d'attaque électronique mises parfois à la disposition des capsuliers pendant une période de temps limitée.\", \n    \"description_it\": \"Electronic Attack Frigates which have been offered to capsuleers on occasion for limited periods.\", \n    \"description_ja\": \"過去に期間限定でカプセラへ配布された電子攻撃フリゲート\", \n    \"description_ko\": \"캡슐리어들에게 제공되었던 한정판 전자전 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты электронно-технического дозора, которые предлагались капсулёрам по особому поводу в течение ограниченного времени.\", \n    \"description_zh\": \"限时供应的电子攻击护卫舰。\", \n    \"descriptionID\": 596353, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Sonderversion: Elektronische Angriffsfregatten\", \n    \"name_en-us\": \"Special Edition Electronic Attack Frigates\", \n    \"name_es\": \"Fragatas de ataque electrónico de edición especial\", \n    \"name_fr\": \"Frégates d'attaque électronique édition spéciale\", \n    \"name_it\": \"Special Edition Electronic Attack Frigates\", \n    \"name_ja\": \"特別版電子攻撃フリゲート\", \n    \"name_ko\": \"특수 에디션 전자전 프리깃\", \n    \"name_ru\": \"Фрегаты электронно-технического дозора особой версии\", \n    \"name_zh\": \"特别版电子攻击护卫舰\", \n    \"nameID\": 596354, \n    \"parentGroupID\": 1612\n  }, \n  \"2820\": {\n    \"description_de\": \"Flächenverteidigungsmunition, die von den Verteidigungssystemen einer Struktur abgefeuert wird.\", \n    \"description_en-us\": \"Area denial ammunition, fired by structure defense systems.\", \n    \"description_es\": \"Munición de negación de área apta para sistemas de defensa de estructuras.\", \n    \"description_fr\": \"Munitions d'interdiction de zone, tirées par les systèmes défensifs des structures.\", \n    \"description_it\": \"Area denial ammunition, fired by structure defense systems.\", \n    \"description_ja\": \"領域拒否弾薬。ストラクチャの防衛システムによって発射される。\", \n    \"description_ko\": \"반접근 탄약. 구조물 방어 시스템을 통해 발사할 수 있습니다.\", \n    \"description_ru\": \"Боеприпасы, использующиеся в системах обороны сооружений.\", \n    \"description_zh\": \"专供建筑防御系统使用的区域拒止弹药。\", \n    \"descriptionID\": 597624, \n    \"hasTypes\": 1, \n    \"iconID\": 1004, \n    \"name_de\": \"Struktur: Flächenverteidigungsmunition\", \n    \"name_en-us\": \"Structure Area Denial Ammunition\", \n    \"name_es\": \"Munición de negación de área de estructura\", \n    \"name_fr\": \"Munition d'interdiction de zone de structure\", \n    \"name_it\": \"Structure Area Denial Ammunition\", \n    \"name_ja\": \"ストラクチャ領域拒否弾薬\", \n    \"name_ko\": \"구조물 반접근 탄약\", \n    \"name_ru\": \"Боеприпасы для систем обороны сооружений\", \n    \"name_zh\": \"建筑区域拒止弹药\", \n    \"nameID\": 597625, \n    \"parentGroupID\": 11\n  }, \n  \"2821\": {\n    \"description_de\": \"Blaupausen für Flächenverteidigungsmunition.\", \n    \"description_en-us\": \"Blueprints of area denial ammunition.\", \n    \"description_es\": \"Planos de munición de negación de área.\", \n    \"description_fr\": \"Plans de construction de munitions d'interdiction de zone.\", \n    \"description_it\": \"Blueprints of area denial ammunition.\", \n    \"description_ja\": \"領域拒否弾薬設計図\", \n    \"description_ko\": \"반접근 탄약 블루프린트.\", \n    \"description_ru\": \"Чертежи боеприпасов для систем обороны.\", \n    \"description_zh\": \"区域拒止弹药的蓝图。\", \n    \"descriptionID\": 597628, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Struktur: Flächenverteidigungsmunition\", \n    \"name_en-us\": \"Structure Area Denial Ammunition\", \n    \"name_es\": \"Munición de negación de área de estructura\", \n    \"name_fr\": \"Munition d'interdiction de zone de structure\", \n    \"name_it\": \"Structure Area Denial Ammunition\", \n    \"name_ja\": \"ストラクチャ領域拒否弾薬\", \n    \"name_ko\": \"구조물 반접근 탄약\", \n    \"name_ru\": \"Боеприпасы для систем обороны сооружений\", \n    \"name_zh\": \"建筑区域拒止弹药\", \n    \"nameID\": 597629, \n    \"parentGroupID\": 211\n  }, \n  \"3450\": {\n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Mobile strategische Ziele\", \n    \"name_en-us\": \"Mobile Strategic Objectives\", \n    \"name_es\": \"Objetivos estratégicos móviles\", \n    \"name_fr\": \"Mobile Strategic Objectives\", \n    \"name_it\": \"Mobile Strategic Objectives\", \n    \"name_ja\": \"移動式戦略施設\", \n    \"name_ko\": \"이동형 전략 목표물\", \n    \"name_ru\": \"Подвижные стратегические цели\", \n    \"name_zh\": \"移动式战略物品\", \n    \"nameID\": 636347, \n    \"parentGroupID\": 404\n  }, \n  \"3451\": {\n    \"description_de\": \"Blaupausen für mobile Ziele\", \n    \"description_en-us\": \"Blueprints for Mobile Objectives\", \n    \"description_es\": \"Planos de objetivos móviles\", \n    \"description_fr\": \"Plans de construction Objectifs mobiles\", \n    \"description_it\": \"Blueprints for Mobile Objectives\", \n    \"description_ja\": \"移動式施設の設計図\", \n    \"description_ko\": \"이동형 목표물 블루프린트\", \n    \"description_ru\": \"Чертежи для подвижных целей\", \n    \"description_zh\": \"移动式物体的蓝图\", \n    \"descriptionID\": 636354, \n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"Mobile strategische Ziele\", \n    \"name_en-us\": \"Mobile Strategic Objectives\", \n    \"name_es\": \"Objetivos estratégicos móviles\", \n    \"name_fr\": \"Mobile Strategic Objectives\", \n    \"name_it\": \"Mobile Strategic Objectives\", \n    \"name_ja\": \"移動式戦略施設\", \n    \"name_ko\": \"이동형 전략 목표물\", \n    \"name_ru\": \"Подвижные стратегические цели\", \n    \"name_zh\": \"移动式战略物品\", \n    \"nameID\": 636353, \n    \"parentGroupID\": 406\n  }, \n  \"3453\": {\n    \"description_de\": \"Materialien zur Konstruktion bestimmter Fraktionsausrüstung.\", \n    \"description_en-us\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_es\": \"Materiales usados para la construcción de aparatos específicos para las facciones.\", \n    \"description_fr\": \"Matériaux utilisés dans la fabrication d'équipements spécifiques aux factions.\", \n    \"description_it\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_ja\": \"特定勢力独自の装備の製作に使用される資源。\", \n    \"description_ko\": \"팩션 장비 제작에 사용되는 재료입니다.\", \n    \"description_ru\": \"Материалы, используемые для создания особого оборудования держав.\", \n    \"description_zh\": \"用来制造特殊势力装备的材料。\", \n    \"descriptionID\": 636416, \n    \"hasTypes\": 1, \n    \"iconID\": 1436, \n    \"name_de\": \"Imperium der Amarr\", \n    \"name_en-us\": \"Amarr Empire\", \n    \"name_es\": \"Imperio Amarr\", \n    \"name_fr\": \"Empire amarr\", \n    \"name_it\": \"Amarr Empire\", \n    \"name_ja\": \"アマー帝国\", \n    \"name_ko\": \"아마르 제국\", \n    \"name_ru\": \"Амаррская Империя\", \n    \"name_zh\": \"艾玛帝国\", \n    \"nameID\": 636415, \n    \"parentGroupID\": 1897\n  }, \n  \"3454\": {\n    \"description_de\": \"Materialien zur Konstruktion bestimmter Fraktionsausrüstung.\", \n    \"description_en-us\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_es\": \"Materiales usados para la construcción de aparatos específicos para las facciones.\", \n    \"description_fr\": \"Matériaux utilisés dans la fabrication d'équipements spécifiques aux factions.\", \n    \"description_it\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_ja\": \"特定勢力独自の装備の製作に使用される資源。\", \n    \"description_ko\": \"팩션 장비 제작에 사용되는 재료입니다.\", \n    \"description_ru\": \"Материалы, используемые для создания особого оборудования держав.\", \n    \"description_zh\": \"用来制造特殊势力装备的材料。\", \n    \"descriptionID\": 636418, \n    \"hasTypes\": 1, \n    \"iconID\": 1436, \n    \"name_de\": \"Republik Minmatar\", \n    \"name_en-us\": \"Minmatar Republic\", \n    \"name_es\": \"República Minmatar\", \n    \"name_fr\": \"République minmatar\", \n    \"name_it\": \"Minmatar Republic\", \n    \"name_ja\": \"ミンマター共和国\", \n    \"name_ko\": \"민마타 공화국\", \n    \"name_ru\": \"Республика Минматар\", \n    \"name_zh\": \"米玛塔尔共和国\", \n    \"nameID\": 636417, \n    \"parentGroupID\": 1897\n  }, \n  \"3455\": {\n    \"description_de\": \"Materialien zur Konstruktion bestimmter Fraktionsausrüstung.\", \n    \"description_en-us\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_es\": \"Materiales usados para la construcción de aparatos específicos para las facciones.\", \n    \"description_fr\": \"Matériaux utilisés dans la fabrication d'équipements spécifiques aux factions.\", \n    \"description_it\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_ja\": \"特定勢力独自の装備の製作に使用される資源。\", \n    \"description_ko\": \"팩션 장비 제작에 사용되는 재료입니다.\", \n    \"description_ru\": \"Материалы, используемые для создания особого оборудования держав.\", \n    \"description_zh\": \"用来制造特殊势力装备的材料。\", \n    \"descriptionID\": 636420, \n    \"hasTypes\": 1, \n    \"iconID\": 1436, \n    \"name_de\": \"Staat der Caldari\", \n    \"name_en-us\": \"Caldari State\", \n    \"name_es\": \"Estado Caldari\", \n    \"name_fr\": \"État caldari\", \n    \"name_it\": \"Caldari State\", \n    \"name_ja\": \"カルダリ連合\", \n    \"name_ko\": \"칼다리 연합\", \n    \"name_ru\": \"Государство Калдари\", \n    \"name_zh\": \"加达里合众国\", \n    \"nameID\": 636419, \n    \"parentGroupID\": 1897\n  }, \n  \"3456\": {\n    \"description_de\": \"Materialien zur Konstruktion bestimmter Fraktionsausrüstung.\", \n    \"description_en-us\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_es\": \"Materiales usados para la construcción de aparatos específicos para las facciones.\", \n    \"description_fr\": \"Matériaux utilisés dans la fabrication d'équipements spécifiques aux factions.\", \n    \"description_it\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_ja\": \"特定勢力独自の装備の製作に使用される資源。\", \n    \"description_ko\": \"팩션 장비 제작에 사용되는 재료입니다.\", \n    \"description_ru\": \"Материалы, используемые для создания особого оборудования держав.\", \n    \"description_zh\": \"用来制造特殊势力装备的材料。\", \n    \"descriptionID\": 636422, \n    \"hasTypes\": 1, \n    \"iconID\": 1436, \n    \"name_de\": \"Föderation der Gallente\", \n    \"name_en-us\": \"Gallente Federation\", \n    \"name_es\": \"Federación Gallente\", \n    \"name_fr\": \"Fédération gallente\", \n    \"name_it\": \"Gallente Federation\", \n    \"name_ja\": \"ガレンテ連邦\", \n    \"name_ko\": \"갈란테 연방\", \n    \"name_ru\": \"Галлентская Федерация\", \n    \"name_zh\": \"盖伦特联邦\", \n    \"nameID\": 636421, \n    \"parentGroupID\": 1897\n  }, \n  \"3478\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24411, \n    \"name_de\": \"Masken\", \n    \"name_en-us\": \"Masks\", \n    \"name_es\": \"Máscaras\", \n    \"name_fr\": \"Masques\", \n    \"name_it\": \"Masks\", \n    \"name_ja\": \"マスク\", \n    \"name_ko\": \"마스크\", \n    \"name_ru\": \"Маски\", \n    \"name_zh\": \"面具\", \n    \"nameID\": 638794, \n    \"parentGroupID\": 1407\n  }, \n  \"3480\": {\n    \"description_de\": \"Von bestimmten Fraktionen entworfene Zerstörer.\", \n    \"description_en-us\": \"Destroyers designed by specific factions.\", \n    \"description_es\": \"Destructores diseñados por facciones específicas.\", \n    \"description_fr\": \"Destroyers designed by specific factions.\", \n    \"description_it\": \"Destroyers designed by specific factions.\", \n    \"description_ja\": \"特定勢力が設計した駆逐艦。\", \n    \"description_ko\": \"특정 팩션 전용 디스트로이어입니다.\", \n    \"description_ru\": \"Эсминцы производства той или иной державы.\", \n    \"description_zh\": \"各大势力设计的驱逐舰。\", \n    \"descriptionID\": 639179, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fraktionszerstörer\", \n    \"name_en-us\": \"Faction Destroyers\", \n    \"name_es\": \"Destructores de facción\", \n    \"name_fr\": \"Faction Destroyers\", \n    \"name_it\": \"Faction Destroyers\", \n    \"name_ja\": \"勢力別駆逐艦\", \n    \"name_ko\": \"팩션 디스트로이어\", \n    \"name_ru\": \"Эсминцы держав\", \n    \"name_zh\": \"势力驱逐舰\", \n    \"nameID\": 639178, \n    \"parentGroupID\": 1372\n  }, \n  \"3481\": {\n    \"description_de\": \"Navyfraktion-Zerstörer-Designs.\", \n    \"description_en-us\": \"Navy faction destroyer designs.\", \n    \"description_es\": \"Diseños de destructor faccionarios de la Armada.\", \n    \"description_fr\": \"Navy faction destroyer designs.\", \n    \"description_it\": \"Navy faction destroyer designs.\", \n    \"description_ja\": \"海軍勢力の駆逐艦。\", \n    \"description_ko\": \"해군 팩션의 디스트로이어입니다.\", \n    \"description_ru\": \"Эсминцы флотов ведущих держав.\", \n    \"description_zh\": \"海军势力驱逐舰。\", \n    \"descriptionID\": 639181, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Navyfraktion\", \n    \"name_en-us\": \"Navy Faction\", \n    \"name_es\": \"Facción de la Armada\", \n    \"name_fr\": \"Navy Faction\", \n    \"name_it\": \"Navy Faction\", \n    \"name_ja\": \"海軍勢力\", \n    \"name_ko\": \"해군 팩션\", \n    \"name_ru\": \"Государственный флот\", \n    \"name_zh\": \"海军势力\", \n    \"nameID\": 639180, \n    \"parentGroupID\": 3480\n  }, \n  \"3483\": {\n    \"description_de\": \"Dreadnought-Designs anderer Fraktionen.\", \n    \"description_en-us\": \"Non-Empire faction dreadnought designs.\", \n    \"description_es\": \"Diseños de superacorazado de facciones que no pertenecen a ningún imperio.\", \n    \"description_fr\": \"Non-Empire faction dreadnought designs.\", \n    \"description_it\": \"Non-Empire faction dreadnought designs.\", \n    \"description_ja\": \"非国家勢力の攻城艦。\", \n    \"description_ko\": \"비국가 소속 팩션의 드레드노트입니다.\", \n    \"description_ru\": \"Дредноуты производства иных сообществ и организаций.\", \n    \"description_zh\": \"非帝国势力无畏舰。\", \n    \"descriptionID\": 639186, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Pirate Faction\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊勢力\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратская организация\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 639185, \n    \"parentGroupID\": 2288\n  }, \n  \"3484\": {\n    \"description_de\": \"Navyfraktion-Dreadnought-Designs.\", \n    \"description_en-us\": \"Navy faction dreadnought designs.\", \n    \"description_es\": \"Diseños de superacorazado faccionario de la Armada.\", \n    \"description_fr\": \"Navy faction dreadnought designs.\", \n    \"description_it\": \"Navy faction dreadnought designs.\", \n    \"description_ja\": \"海軍勢力の攻城艦。\", \n    \"description_ko\": \"해군 팩션 드레드노트입니다.\", \n    \"description_ru\": \"Дредноуты флотов ведущих держав.\", \n    \"description_zh\": \"海军势力无畏舰。\", \n    \"descriptionID\": 639192, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Navyfraktion\", \n    \"name_en-us\": \"Navy Faction\", \n    \"name_es\": \"Facción de la Armada\", \n    \"name_fr\": \"Navy Faction\", \n    \"name_it\": \"Navy Faction\", \n    \"name_ja\": \"海軍勢力\", \n    \"name_ko\": \"해군 팩션\", \n    \"name_ru\": \"Государственный флот\", \n    \"name_zh\": \"海军势力\", \n    \"nameID\": 639191, \n    \"parentGroupID\": 2288\n  }, \n  \"3487\": {\n    \"hasTypes\": 1, \n    \"iconID\": 15, \n    \"name_de\": \"Mordunium\", \n    \"name_en-us\": \"Mordunium\", \n    \"name_es\": \"Mordunium\", \n    \"name_fr\": \"Mordunium\", \n    \"name_it\": \"Mordunium\", \n    \"name_ja\": \"モードゥニウム\", \n    \"name_ko\": \"모르두늄\", \n    \"name_ru\": \"Mordunium\", \n    \"name_zh\": \"莫德合金\", \n    \"nameID\": 640808, \n    \"parentGroupID\": 54\n  }, \n  \"3488\": {\n    \"hasTypes\": 1, \n    \"iconID\": 15, \n    \"name_de\": \"Ytirium\", \n    \"name_en-us\": \"Ytirium\", \n    \"name_es\": \"Ytirium\", \n    \"name_fr\": \"Ytirium\", \n    \"name_it\": \"Ytirium\", \n    \"name_ja\": \"イティリウム\", \n    \"name_ko\": \"이티륨\", \n    \"name_ru\": \"Ютирий\", \n    \"name_zh\": \"耶利合金\", \n    \"nameID\": 640809, \n    \"parentGroupID\": 54\n  }, \n  \"3489\": {\n    \"hasTypes\": 1, \n    \"iconID\": 15, \n    \"name_de\": \"Eifyrium\", \n    \"name_en-us\": \"Eifyrium\", \n    \"name_es\": \"Eifyrium\", \n    \"name_fr\": \"Eifyrium\", \n    \"name_it\": \"Eifyrium\", \n    \"name_ja\": \"エイフィリウム\", \n    \"name_ko\": \"에이피륨\", \n    \"name_ru\": \"Эйфирий\", \n    \"name_zh\": \"埃菲尔合金\", \n    \"nameID\": 640810, \n    \"parentGroupID\": 54\n  }, \n  \"3490\": {\n    \"hasTypes\": 1, \n    \"iconID\": 15, \n    \"name_de\": \"Ducinium\", \n    \"name_en-us\": \"Ducinium\", \n    \"name_es\": \"Ducinium\", \n    \"name_fr\": \"Ducinium\", \n    \"name_it\": \"Ducinium\", \n    \"name_ja\": \"ドゥシニウム\", \n    \"name_ko\": \"두시늄\", \n    \"name_ru\": \"Дачиний\", \n    \"name_zh\": \"杜厦合金\", \n    \"nameID\": 640811, \n    \"parentGroupID\": 54\n  }, \n  \"3495\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Navyfraktion\", \n    \"name_en-us\": \"Navy Faction\", \n    \"name_es\": \"Facción de la Armada\", \n    \"name_fr\": \"Faction navy\", \n    \"name_it\": \"Navy Faction\", \n    \"name_ja\": \"海軍勢力\", \n    \"name_ko\": \"해군 팩션\", \n    \"name_ru\": \"Государственный флот\", \n    \"name_zh\": \"海军势力\", \n    \"nameID\": 646076, \n    \"parentGroupID\": 2378\n  }, \n  \"3496\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fraktionszerstörer\", \n    \"name_en-us\": \"Faction Destroyers\", \n    \"name_es\": \"Destructores de facción\", \n    \"name_fr\": \"Destroyers de faction\", \n    \"name_it\": \"Faction Destroyers\", \n    \"name_ja\": \"勢力別駆逐艦\", \n    \"name_ko\": \"팩션 디스트로이어\", \n    \"name_ru\": \"Эсминцы держав\", \n    \"name_zh\": \"势力驱逐舰\", \n    \"nameID\": 646079, \n    \"parentGroupID\": 1989\n  }, \n  \"3497\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Navyfraktion\", \n    \"name_en-us\": \"Navy Faction\", \n    \"name_es\": \"Facción de la Armada\", \n    \"name_fr\": \"Faction navy\", \n    \"name_it\": \"Navy Faction\", \n    \"name_ja\": \"海軍勢力\", \n    \"name_ko\": \"해군 팩션\", \n    \"name_ru\": \"Государственный флот\", \n    \"name_zh\": \"海军势力\", \n    \"nameID\": 646080, \n    \"parentGroupID\": 3496\n  }, \n  \"3508\": {\n    \"description_de\": \"Precursor-Dreadnoughts\", \n    \"description_en-us\": \"Precursor Dreadnoughts\", \n    \"description_es\": \"Superacorazados precursores\", \n    \"description_fr\": \"Supercuirassés de précursion\", \n    \"description_it\": \"Precursor Dreadnoughts\", \n    \"description_ja\": \"プリカーサー攻城艦\", \n    \"description_ko\": \"프리커서 드레드노트\", \n    \"description_ru\": \"Дредноуты Предтечей\", \n    \"description_zh\": \"先驱者无畏舰\", \n    \"descriptionID\": 662633, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Precursor-Dreadnoughts\", \n    \"name_en-us\": \"Precursor Dreadnoughts\", \n    \"name_es\": \"Superacorazados precursores\", \n    \"name_fr\": \"Supercuirassés de précursion\", \n    \"name_it\": \"Precursor Dreadnoughts\", \n    \"name_ja\": \"プリカーサー攻城艦\", \n    \"name_ko\": \"프리커서 드레드노트\", \n    \"name_ru\": \"Дредноуты Предтечей\", \n    \"name_zh\": \"先驱者无畏舰\", \n    \"nameID\": 662632, \n    \"parentGroupID\": 761\n  }, \n  \"3509\": {\n    \"description_de\": \"Tech-1-Dreadnoughts\", \n    \"description_en-us\": \"Tech 1 Dreadnoughts\", \n    \"description_es\": \"Superacorazados T1\", \n    \"description_fr\": \"Supercuirassés Tech I\", \n    \"description_it\": \"Tech 1 Dreadnoughts\", \n    \"description_ja\": \"T1攻城艦\", \n    \"description_ko\": \"테크 I 드레드노트\", \n    \"description_ru\": \"Дредноуты 1-го техноуровня\", \n    \"description_zh\": \"一级科技无畏舰\", \n    \"descriptionID\": 662639, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Standard-Dreadnoughts\", \n    \"name_en-us\": \"Standard Dreadnoughts\", \n    \"name_es\": \"Superacorazados estándar\", \n    \"name_fr\": \"Supercuirassés standards\", \n    \"name_it\": \"Standard Dreadnoughts\", \n    \"name_ja\": \"標準型攻城艦\", \n    \"name_ko\": \"일반 드레드노트\", \n    \"name_ru\": \"Стандартные дредноуты\", \n    \"name_zh\": \"标准无畏舰\", \n    \"nameID\": 662638, \n    \"parentGroupID\": 761\n  }, \n  \"3510\": {\n    \"description_de\": \"Spezialisierte Tech-2-Dreadnoughts\", \n    \"description_en-us\": \"Specialized Tech 2 Dreadnoughts\", \n    \"description_es\": \"Superacorazados T2 especializados\", \n    \"description_fr\": \"Supercuirassés spécialisés Tech II\", \n    \"description_it\": \"Specialized Tech 2 Dreadnoughts\", \n    \"description_ja\": \"特化型T2攻城艦\", \n    \"description_ko\": \"특수 테크 II 드레드노트\", \n    \"description_ru\": \"Специализированные дредноуты 2-го техноуровня\", \n    \"description_zh\": \"二级科技特化无畏舰\", \n    \"descriptionID\": 662641, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Fortschrittliche Dreadnoughts\", \n    \"name_en-us\": \"Advanced Dreadnoughts\", \n    \"name_es\": \"Superacorazados avanzados\", \n    \"name_fr\": \"Supercuirassés avancés\", \n    \"name_it\": \"Advanced Dreadnoughts\", \n    \"name_ja\": \"高性能攻城艦\", \n    \"name_ko\": \"상급 드레드노트\", \n    \"name_ru\": \"Улучшенные дредноуты\", \n    \"name_zh\": \"高级无畏舰\", \n    \"nameID\": 662640, \n    \"parentGroupID\": 761\n  }, \n  \"3511\": {\n    \"description_de\": \"Spezialisierte Dreadnoughts, die in der Lage sind, Störlanzen-Superwaffen einzusetzen\", \n    \"description_en-us\": \"Specialized Dreadnoughts capable of operating disruptive lance superweapons\", \n    \"description_es\": \"Superacorazados especializados capaces de manejar superarmas de lanza disruptora.\", \n    \"description_fr\": \"Supercuirassés spécialisés capables d'utiliser les super-armes que sont les lances disruptives\", \n    \"description_it\": \"Specialized Dreadnoughts capable of operating disruptive lance superweapons\", \n    \"description_ja\": \"特化型攻城艦は超兵器である妨害ランスを運用することができる。\", \n    \"description_ko\": \"디스럽티브 랜스를 운용할 수 있는 특수 드레드노트\", \n    \"description_ru\": \"Специализированные дредноуты, которые можно оснастить сверхмощными копьелучевыми установками\", \n    \"description_zh\": \"特化无畏舰能够操纵超级武器干扰长枪\", \n    \"descriptionID\": 662643, \n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Lancer Dreadnoughts\", \n    \"name_en-us\": \"Lancer Dreadnoughts\", \n    \"name_es\": \"Superacorazados lancer\", \n    \"name_fr\": \"Supercuirassés lanciers\", \n    \"name_it\": \"Lancer Dreadnoughts\", \n    \"name_ja\": \"ランサー攻城艦\", \n    \"name_ko\": \"랜서 드레드노트\", \n    \"name_ru\": \"Lancer Dreadnoughts\", \n    \"name_zh\": \"枪骑兵级无畏舰\", \n    \"nameID\": 662642, \n    \"parentGroupID\": 3510\n  }, \n  \"3512\": {\n    \"description_de\": \"Amarr-Lancer-Dreadnoughts\", \n    \"description_en-us\": \"Amarr Lancer Dreadnoughts\", \n    \"description_es\": \"Superacorazados lancer amarrianos\", \n    \"description_fr\": \"Supercuirassés lanciers amarr\", \n    \"description_it\": \"Amarr Lancer Dreadnoughts\", \n    \"description_ja\": \"アマーのランサー攻城艦\", \n    \"description_ko\": \"아마르 랜서 드레드노트\", \n    \"description_ru\": \"Амаррские дредноуты-лансеры\", \n    \"description_zh\": \"艾玛枪骑兵级无畏舰\", \n    \"descriptionID\": 662645, \n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 662644, \n    \"parentGroupID\": 3511\n  }, \n  \"3513\": {\n    \"description_de\": \"Caldari-Lancer-Dreadnoughts\", \n    \"description_en-us\": \"Caldari Lancer Dreadnoughts\", \n    \"description_es\": \"Superacorazados lancer caldaris\", \n    \"description_fr\": \"Supercuirassés lanciers caldari\", \n    \"description_it\": \"Caldari Lancer Dreadnoughts\", \n    \"description_ja\": \"カルダリのランサー攻城艦\", \n    \"description_ko\": \"칼다리 랜서 드레드노트\", \n    \"description_ru\": \"Калдарские дредноуты-лансеры\", \n    \"description_zh\": \"加达里枪骑兵级无畏舰\", \n    \"descriptionID\": 662651, \n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 662650, \n    \"parentGroupID\": 3511\n  }, \n  \"3514\": {\n    \"description_de\": \"Minmatar-Lancer-Dreadnoughts\", \n    \"description_en-us\": \"Minmatar Lancer Dreadnoughts\", \n    \"description_es\": \"Superacorazados lancer minmatarianos\", \n    \"description_fr\": \"Supercuirassés lanciers minmatar\", \n    \"description_it\": \"Minmatar Lancer Dreadnoughts\", \n    \"description_ja\": \"ミンマターのランサー攻城艦\", \n    \"description_ko\": \"민마타 랜서 드레드노트\", \n    \"description_ru\": \"Минматарские дредноуты-лансеры\", \n    \"description_zh\": \"米玛塔尔枪骑兵级无畏舰\", \n    \"descriptionID\": 662649, \n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматарские\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 662648, \n    \"parentGroupID\": 3511\n  }, \n  \"3515\": {\n    \"description_de\": \"Gallente-Lancer-Dreadnoughts\", \n    \"description_en-us\": \"Gallente Lancer Dreadnoughts\", \n    \"description_es\": \"Superacorazados lancer gallentes\", \n    \"description_fr\": \"Supercuirassés lanciers gallente\", \n    \"description_it\": \"Gallente Lancer Dreadnoughts\", \n    \"description_ja\": \"ガレンテのランサー攻城艦\", \n    \"description_ko\": \"갈란테 랜서 드레드노트\", \n    \"description_ru\": \"Галлентские дредноуты-лансеры\", \n    \"description_zh\": \"盖伦特枪骑兵级无畏舰\", \n    \"descriptionID\": 662647, \n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 662646, \n    \"parentGroupID\": 3511\n  }, \n  \"3519\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Fortschrittliche Dreadnoughts\", \n    \"name_en-us\": \"Advanced Dreadnoughts\", \n    \"name_es\": \"Superacorazados avanzados\", \n    \"name_fr\": \"Supercuirassés avancés\", \n    \"name_it\": \"Advanced Dreadnoughts\", \n    \"name_ja\": \"高性能攻城艦\", \n    \"name_ko\": \"상급 드레드노트\", \n    \"name_ru\": \"Улучшенные дредноуты\", \n    \"name_zh\": \"高级无畏舰\", \n    \"nameID\": 663107, \n    \"parentGroupID\": 1971\n  }, \n  \"3520\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Lancer Dreadnoughts\", \n    \"name_en-us\": \"Lancer Dreadnoughts\", \n    \"name_es\": \"Superacorazados lancer\", \n    \"name_fr\": \"Supercuirassés lanciers\", \n    \"name_it\": \"Lancer Dreadnoughts\", \n    \"name_ja\": \"ランサー攻城艦\", \n    \"name_ko\": \"랜서 드레드노트\", \n    \"name_ru\": \"Lancer Dreadnoughts\", \n    \"name_zh\": \"枪骑兵级无畏舰\", \n    \"nameID\": 663108, \n    \"parentGroupID\": 3519\n  }, \n  \"3521\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 663109, \n    \"parentGroupID\": 3520\n  }, \n  \"3523\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматар\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 663285, \n    \"parentGroupID\": 3520\n  }, \n  \"3531\": {\n    \"description_de\": \"Piratenfraktion-Zerstörer-Designs.\", \n    \"description_en-us\": \"Pirate faction destroyer designs.\", \n    \"description_es\": \"Diseños de destructor faccionario pirata.\", \n    \"description_fr\": \"Modèles de destroyers de faction pirate.\", \n    \"description_it\": \"Pirate faction destroyer designs.\", \n    \"description_ja\": \"海賊勢力の駆逐艦の設計図。\", \n    \"description_ko\": \"해적 팩션의 디스트로이어입니다.\", \n    \"description_ru\": \"Эсминцы пиратских организаций.\", \n    \"description_zh\": \"海盗势力驱逐舰设计。\", \n    \"descriptionID\": 664856, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊勢力\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратская организация\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 664855, \n    \"parentGroupID\": 3480\n  }, \n  \"3534\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊勢力\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратская организация\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 664931, \n    \"parentGroupID\": 1703\n  }, \n  \"3535\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 665110, \n    \"parentGroupID\": 3520\n  }, \n  \"3536\": {\n    \"description_de\": \"EDENCOM-Fregattendesigns.\", \n    \"description_en-us\": \"EDENCOM frigate designs.\", \n    \"description_es\": \"Diseños de fragatas de EDENCOM.\", \n    \"description_fr\": \"Modèles de frégates EDENCOM.\", \n    \"description_it\": \"EDENCOM frigate designs.\", \n    \"description_ja\": \"EDENCOMのフリゲートの設計図。\", \n    \"description_ko\": \"EDENCOM의 프리깃입니다.\", \n    \"description_ru\": \"Фрегаты ЭДЕНКОМа.\", \n    \"description_zh\": \"伊甸联合防御阵线护卫舰设计。\", \n    \"descriptionID\": 666339, \n    \"hasTypes\": 1, \n    \"iconID\": 24419, \n    \"name_de\": \"EDENCOM\", \n    \"name_en-us\": \"EDENCOM\", \n    \"name_es\": \"EDENCOM\", \n    \"name_fr\": \"EDENCOM\", \n    \"name_it\": \"EDENCOM\", \n    \"name_ja\": \"EDENCOM\", \n    \"name_ko\": \"EDENCOM\", \n    \"name_ru\": \"ЭДЕНКОМ\", \n    \"name_zh\": \"伊甸联合防御阵线\", \n    \"nameID\": 666334, \n    \"parentGroupID\": 1362\n  }, \n  \"3537\": {\n    \"description_de\": \"EDENCOM-Kreuzerdesigns.\", \n    \"description_en-us\": \"EDENCOM cruiser designs.\", \n    \"description_es\": \"Diseños de cruceros de EDENCOM.\", \n    \"description_fr\": \"Modèles de croiseurs EDENCOM.\", \n    \"description_it\": \"EDENCOM cruiser designs.\", \n    \"description_ja\": \"EDENCOMの巡洋艦の設計図。\", \n    \"description_ko\": \"EDENCOM의 크루저입니다.\", \n    \"description_ru\": \"Крейсеры ЭДЕНКОМа.\", \n    \"description_zh\": \"伊甸联合防御阵线巡洋舰设计。\", \n    \"descriptionID\": 666337, \n    \"hasTypes\": 1, \n    \"iconID\": 24419, \n    \"name_de\": \"EDENCOM\", \n    \"name_en-us\": \"EDENCOM\", \n    \"name_es\": \"EDENCOM\", \n    \"name_fr\": \"EDENCOM\", \n    \"name_it\": \"EDENCOM\", \n    \"name_ja\": \"EDENCOM\", \n    \"name_ko\": \"EDENCOM\", \n    \"name_ru\": \"ЭДЕНКОМ\", \n    \"name_zh\": \"伊甸联合防御阵线\", \n    \"nameID\": 666335, \n    \"parentGroupID\": 1369\n  }, \n  \"3538\": {\n    \"description_de\": \"EDENCOM-Schlachtschiff-Designs.\", \n    \"description_en-us\": \"EDENCOM battleship designs.\", \n    \"description_es\": \"Diseños de acorazados de EDENCOM.\", \n    \"description_fr\": \"Modèles de cuirassés EDENCOM.\", \n    \"description_it\": \"EDENCOM battleship designs.\", \n    \"description_ja\": \"EDENCOMの戦艦の設計図。\", \n    \"description_ko\": \"EDENCOM의 배틀쉽입니다.\", \n    \"description_ru\": \"Линкоры ЭДЕНКОМа.\", \n    \"description_zh\": \"伊甸联合防御阵线战列舰设计。\", \n    \"descriptionID\": 666338, \n    \"hasTypes\": 1, \n    \"iconID\": 24419, \n    \"name_de\": \"EDENCOM\", \n    \"name_en-us\": \"EDENCOM\", \n    \"name_es\": \"EDENCOM\", \n    \"name_fr\": \"EDENCOM\", \n    \"name_it\": \"EDENCOM\", \n    \"name_ja\": \"EDENCOM\", \n    \"name_ko\": \"EDENCOM\", \n    \"name_ru\": \"ЭДЕНКОМ\", \n    \"name_zh\": \"伊甸联合防御阵线\", \n    \"nameID\": 666336, \n    \"parentGroupID\": 1378\n  }, \n  \"3539\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"EDENCOM\", \n    \"name_en-us\": \"EDENCOM\", \n    \"name_es\": \"EDENCOM\", \n    \"name_fr\": \"EDENCOM\", \n    \"name_it\": \"EDENCOM\", \n    \"name_ja\": \"EDENCOM\", \n    \"name_ko\": \"EDENCOM\", \n    \"name_ru\": \"ЭДЕНКОМ\", \n    \"name_zh\": \"伊甸联合防御阵线\", \n    \"nameID\": 666340, \n    \"parentGroupID\": 1961\n  }, \n  \"3540\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"EDENCOM\", \n    \"name_en-us\": \"EDENCOM\", \n    \"name_es\": \"EDENCOM\", \n    \"name_fr\": \"EDENCOM\", \n    \"name_it\": \"EDENCOM\", \n    \"name_ja\": \"EDENCOM\", \n    \"name_ko\": \"EDENCOM\", \n    \"name_ru\": \"ЭДЕНКОМ\", \n    \"name_zh\": \"伊甸联合防御阵线\", \n    \"nameID\": 666341, \n    \"parentGroupID\": 2029\n  }, \n  \"3541\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"EDENCOM\", \n    \"name_en-us\": \"EDENCOM\", \n    \"name_es\": \"EDENCOM\", \n    \"name_fr\": \"EDENCOM\", \n    \"name_it\": \"EDENCOM\", \n    \"name_ja\": \"EDENCOM\", \n    \"name_ko\": \"EDENCOM\", \n    \"name_ru\": \"ЭДЕНКОМ\", \n    \"name_zh\": \"伊甸联合防御阵线\", \n    \"nameID\": 666342, \n    \"parentGroupID\": 1999\n  }, \n  \"3542\": {\n    \"hasTypes\": 1, \n    \"name_de\": \"Mutaplasmide-Vorton-Tuning-System\", \n    \"name_en-us\": \"Vorton Tuning System Mutaplasmids\", \n    \"name_es\": \"Mutaplásmido de sistema de ajuste vortónico\", \n    \"name_fr\": \"Mutaplasmides de système de réglage de vortons\", \n    \"name_it\": \"Vorton Tuning System Mutaplasmids\", \n    \"name_ja\": \"ヴォートン・チューニングシステム用変異プラスミド\", \n    \"name_ko\": \"보르톤 조정 시스템 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для модулей настройки вортонов\", \n    \"name_zh\": \"电弧弦调谐系统突变质体\", \n    \"nameID\": 666375, \n    \"parentGroupID\": 2512\n  }, \n  \"3546\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 666925, \n    \"parentGroupID\": 3520\n  }, \n  \"3548\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21420, \n    \"name_de\": \"Sonderfregatten\", \n    \"name_en-us\": \"Special Frigates\", \n    \"name_es\": \"Fragatas especiales\", \n    \"name_fr\": \"Frégates spéciales\", \n    \"name_it\": \"Special Frigates\", \n    \"name_ja\": \"特別仕様フリゲート\", \n    \"name_ko\": \"특수 프리깃\", \n    \"name_ru\": \"Особые фрегаты\", \n    \"name_zh\": \"特殊护卫舰\", \n    \"nameID\": 681124, \n    \"parentGroupID\": 1998\n  }, \n  \"3549\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Sonderfregatten\", \n    \"name_en-us\": \"Special Frigates\", \n    \"name_es\": \"Fragatas especiales\", \n    \"name_fr\": \"Frégates spéciales\", \n    \"name_it\": \"Special Frigates\", \n    \"name_ja\": \"特別仕様フリゲート\", \n    \"name_ko\": \"특수 프리깃\", \n    \"name_ru\": \"Особые фрегаты\", \n    \"name_zh\": \"特殊护卫舰\", \n    \"nameID\": 681138, \n    \"parentGroupID\": 3548\n  }, \n  \"3567\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊勢力\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратская организация\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 697888, \n    \"parentGroupID\": 2100\n  }, \n  \"3568\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Piratenfraktion\", \n    \"name_en-us\": \"Pirate Faction\", \n    \"name_es\": \"Facción pirata\", \n    \"name_fr\": \"Faction pirate\", \n    \"name_it\": \"Pirate Faction\", \n    \"name_ja\": \"海賊勢力\", \n    \"name_ko\": \"해적 팩션\", \n    \"name_ru\": \"Пиратская организация\", \n    \"name_zh\": \"海盗势力\", \n    \"nameID\": 697889, \n    \"parentGroupID\": 3496\n  }, \n  \"3577\": {\n    \"description_de\": \"Industrielle Designs des Upwell Consortium.\", \n    \"description_en-us\": \"Upwell Consortium industrial designs.\", \n    \"description_es\": \"Diseños industriales del Consorcio Upwell.\", \n    \"description_fr\": \"Modèles industriels de l'Upwell Consortium.\", \n    \"description_it\": \"Upwell Consortium industrial designs.\", \n    \"description_ja\": \"アップウェル・コンソーシアムの輸送艦の設計図。\", \n    \"description_ko\": \"업웰 컨소시엄 산업선입니다.\", \n    \"description_ru\": \"Грузовые корабли консорциума «Апвелл».\", \n    \"description_zh\": \"Upwell Consortium industrial designs.\", \n    \"descriptionID\": 709086, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Upwell\", \n    \"name_en-us\": \"Upwell\", \n    \"name_es\": \"Upwell\", \n    \"name_fr\": \"Upwell\", \n    \"name_it\": \"Upwell\", \n    \"name_ja\": \"アップウェル\", \n    \"name_ko\": \"업웰\", \n    \"name_ru\": \"Апвелл\", \n    \"name_zh\": \"昇威\", \n    \"nameID\": 709085, \n    \"parentGroupID\": 8\n  }, \n  \"3578\": {\n    \"description_de\": \"Industrielle Designs des Upwell Consortium.\", \n    \"description_en-us\": \"Upwell Consortium industrial designs.\", \n    \"description_es\": \"Diseños industriales del Consorcio Upwell.\", \n    \"description_fr\": \"Modèles industriels de l'Upwell Consortium.\", \n    \"description_it\": \"Upwell Consortium industrial designs.\", \n    \"description_ja\": \"アップウェル・コンソーシアムの輸送艦の設計図。\", \n    \"description_ko\": \"업웰 컨소시엄 산업선입니다.\", \n    \"description_ru\": \"Грузовые корабли консорциума «Апвелл».\", \n    \"description_zh\": \"Upwell Consortium industrial designs.\", \n    \"descriptionID\": 709088, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Upwell\", \n    \"name_en-us\": \"Upwell\", \n    \"name_es\": \"Upwell\", \n    \"name_fr\": \"Upwell\", \n    \"name_it\": \"Upwell\", \n    \"name_ja\": \"アップウェル\", \n    \"name_ko\": \"업웰\", \n    \"name_ru\": \"Апвелл\", \n    \"name_zh\": \"昇威\", \n    \"nameID\": 709087, \n    \"parentGroupID\": 629\n  }, \n  \"3579\": {\n    \"description_de\": \"Blaupausen der Transporter-Designs des Upwell Consortium.\", \n    \"description_en-us\": \"Blueprints of Upwell Consortium hauler designs.\", \n    \"description_es\": \"Planos de diseños de naves de mercancías del Consorcio Upwell.\", \n    \"description_fr\": \"Plans de construction de modèles de transports de l'Upwell Consortium.\", \n    \"description_it\": \"Blueprints of Upwell Consortium hauler designs.\", \n    \"description_ja\": \"アップウェル・コンソーシアムのハウラーの設計図。\", \n    \"description_ko\": \"업웰 컨소시엄 운반선의 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи для перевозчиков консорциума «Апвелл».\", \n    \"description_zh\": \"Blueprints of Upwell Consortium hauler designs.\", \n    \"descriptionID\": 709091, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Upwell\", \n    \"name_en-us\": \"Upwell\", \n    \"name_es\": \"Upwell\", \n    \"name_fr\": \"Upwell\", \n    \"name_it\": \"Upwell\", \n    \"name_ja\": \"アップウェル\", \n    \"name_ko\": \"업웰\", \n    \"name_ru\": \"Апвелл\", \n    \"name_zh\": \"昇威\", \n    \"nameID\": 709090, \n    \"parentGroupID\": 208\n  }, \n  \"3580\": {\n    \"description_de\": \"Upwell-Frachter-Designs.\", \n    \"description_en-us\": \"Upwell freighter designs.\", \n    \"description_es\": \"Diseños de cargueros Upwell.\", \n    \"description_fr\": \"Modèles de cargos Upwell.\", \n    \"description_it\": \"Upwell freighter designs.\", \n    \"description_ja\": \"アップウェルの超大型輸送艦の設計図。\", \n    \"description_ko\": \"업웰 프레이터 함선입니다.\", \n    \"description_ru\": \"Фрейтеры «Апвелл».\", \n    \"description_zh\": \"Upwell freighter designs.\", \n    \"descriptionID\": 709120, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Upwell\", \n    \"name_en-us\": \"Upwell\", \n    \"name_es\": \"Upwell\", \n    \"name_fr\": \"Upwell\", \n    \"name_it\": \"Upwell\", \n    \"name_ja\": \"アップウェル\", \n    \"name_ko\": \"업웰\", \n    \"name_ru\": \"Апвелл\", \n    \"name_zh\": \"昇威\", \n    \"nameID\": 709119, \n    \"parentGroupID\": 766\n  }, \n  \"3591\": {\n    \"description_de\": \"Designs für Upwell-Frachter.\", \n    \"description_en-us\": \"Designs for Upwell freighters.\", \n    \"description_es\": \"Diseños de los cargueros de Upwell.\", \n    \"description_fr\": \"Modèles de cargos Upwell.\", \n    \"description_it\": \"Designs for Upwell freighters.\", \n    \"description_ja\": \"アップウェルの超大型輸送艦の設計図。\", \n    \"description_ko\": \"업웰 프레이터 함선입니다.\", \n    \"description_ru\": \"Для фрейтеров «Апвелл».\", \n    \"description_zh\": \"Designs for Upwell freighters.\", \n    \"descriptionID\": 709174, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Upwell\", \n    \"name_en-us\": \"Upwell\", \n    \"name_es\": \"Upwell\", \n    \"name_fr\": \"Upwell\", \n    \"name_it\": \"Upwell\", \n    \"name_ja\": \"アップウェル\", \n    \"name_ko\": \"업웰\", \n    \"name_ru\": \"Апвелл\", \n    \"name_zh\": \"昇威\", \n    \"nameID\": 709173, \n    \"parentGroupID\": 787\n  }, \n  \"3593\": {\n    \"description_de\": \"Upwell\", \n    \"description_en-us\": \"Upwell\", \n    \"description_es\": \"Upwell\", \n    \"description_fr\": \"Upwell\", \n    \"description_it\": \"Upwell\", \n    \"description_ja\": \"アップウェル\", \n    \"description_ko\": \"업웰\", \n    \"description_ru\": \"Апвелл\", \n    \"description_zh\": \"Upwell\", \n    \"descriptionID\": 709213, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Upwell\", \n    \"name_en-us\": \"Upwell\", \n    \"name_es\": \"Upwell\", \n    \"name_fr\": \"Upwell\", \n    \"name_it\": \"Upwell\", \n    \"name_ja\": \"アップウェル\", \n    \"name_ko\": \"업웰\", \n    \"name_ru\": \"Апвелл\", \n    \"name_zh\": \"昇威\", \n    \"nameID\": 709212, \n    \"parentGroupID\": 1591\n  }, \n  \"3594\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Upwell\", \n    \"name_en-us\": \"Upwell\", \n    \"name_es\": \"Upwell\", \n    \"name_fr\": \"Upwell\", \n    \"name_it\": \"Upwell\", \n    \"name_ja\": \"アップウェル\", \n    \"name_ko\": \"업웰\", \n    \"name_ru\": \"Апвелл\", \n    \"name_zh\": \"昇威\", \n    \"nameID\": 709214, \n    \"parentGroupID\": 65\n  }, \n  \"3596\": {\n    \"description_de\": \"Kolonialreagenzien, die von Planeten über den orbitalen Skyhook extrahiert wurden.\", \n    \"description_en-us\": \"Colony reagents extracted from planets via Orbital Skyhook.\", \n    \"description_es\": \"Reactivos de la colonia extraídos de planetas a través del gancho orbital.\", \n    \"description_fr\": \"Réactifs de colonie extraits des planètes par un grappin orbital.\", \n    \"description_it\": \"Colony reagents extracted from planets via Orbital Skyhook.\", \n    \"description_ja\": \"軌道スカイフックを通じて惑星から取り出されたコロニーの反応試剤。\", \n    \"description_ko\": \"궤도 스카이훅으로 추출한 콜로니 촉매입니다.\", \n    \"description_ru\": \"Реагенты, которые орбитальные подъёмники извлекают с планет.\", \n    \"description_zh\": \"使用轨道天钩从行星中提取的殖民地试剂。\", \n    \"descriptionID\": 709446, \n    \"hasTypes\": 1, \n    \"iconID\": 24296, \n    \"name_de\": \"Kolonialreagenzien\", \n    \"name_en-us\": \"Colony Reagents\", \n    \"name_es\": \"Reactivos de colonia\", \n    \"name_fr\": \"Réactifs de colonie\", \n    \"name_it\": \"Colony Reagents\", \n    \"name_ja\": \"コロニーの反応試剤\", \n    \"name_ko\": \"콜로니 촉매\", \n    \"name_ru\": \"Реагенты колоний\", \n    \"name_zh\": \"殖民地试剂\", \n    \"nameID\": 709445, \n    \"parentGroupID\": 533\n  }, \n  \"3624\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2222, \n    \"name_de\": \"FLEX-Strukturen:\", \n    \"name_en-us\": \"FLEX Structures\", \n    \"name_es\": \"Estructuras FLEX\", \n    \"name_fr\": \"Structures FLEX\", \n    \"name_it\": \"FLEX Structures\", \n    \"name_ja\": \"FLEXストラクチャ\", \n    \"name_ko\": \"FLEX 구조물\", \n    \"name_ru\": \"Сооружения БЛОК\", \n    \"name_zh\": \"快速部署建筑\", \n    \"nameID\": 711241, \n    \"parentGroupID\": 477\n  }, \n  \"3625\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2222, \n    \"name_de\": \"Bergbau-Strukturen\", \n    \"name_en-us\": \"Mining Structures\", \n    \"name_es\": \"Estructuras de minería\", \n    \"name_fr\": \"Structures d'extraction minière\", \n    \"name_it\": \"Mining Structures\", \n    \"name_ja\": \"採掘ストラクチャ\", \n    \"name_ko\": \"채굴 구조물\", \n    \"name_ru\": \"Буровые сооружения\", \n    \"name_zh\": \"采矿建筑\", \n    \"nameID\": 711243, \n    \"parentGroupID\": 3624\n  }, \n  \"3626\": {\n    \"hasTypes\": 0, \n    \"iconID\": 2703, \n    \"name_de\": \"FLEX-Strukturen:\", \n    \"name_en-us\": \"FLEX Structures\", \n    \"name_es\": \"Estructuras FLEX\", \n    \"name_fr\": \"Structures FLEX\", \n    \"name_it\": \"FLEX Structures\", \n    \"name_ja\": \"FLEXストラクチャ\", \n    \"name_ko\": \"FLEX 구조물\", \n    \"name_ru\": \"Сооружения БЛОК\", \n    \"name_zh\": \"快速部署建筑\", \n    \"nameID\": 711244, \n    \"parentGroupID\": 1338\n  }, \n  \"3627\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Bergbau-Strukturen\", \n    \"name_en-us\": \"Mining Structures\", \n    \"name_es\": \"Estructuras de minería\", \n    \"name_fr\": \"Structures d'extraction minière\", \n    \"name_it\": \"Mining Structures\", \n    \"name_ja\": \"採掘ストラクチャ\", \n    \"name_ko\": \"채굴 구조물\", \n    \"name_ru\": \"Буровые сооружения\", \n    \"name_zh\": \"采矿建筑\", \n    \"nameID\": 711245, \n    \"parentGroupID\": 3626\n  }, \n  \"3628\": {\n    \"description_de\": \"Gegenstände, die zur Anpassung verwendet werden\", \n    \"description_en-us\": \"Items used for Personalization\", \n    \"description_es\": \"Objetos usados para la personalización\", \n    \"description_fr\": \"Objets utilisés pour la personnalisation\", \n    \"description_it\": \"Items used for Personalization\", \n    \"description_ja\": \"カスタマイズに使用されるアイテム\", \n    \"description_ko\": \"개인화에 사용되는 아이템\", \n    \"description_ru\": \"Предметы для персонализации\", \n    \"description_zh\": \"用于个性化定制的物品\", \n    \"descriptionID\": 711750, \n    \"hasTypes\": 0, \n    \"iconID\": 26056, \n    \"name_de\": \"Anpassung\", \n    \"name_en-us\": \"Personalization\", \n    \"name_es\": \"Personalización\", \n    \"name_fr\": \"Personnalisation\", \n    \"name_it\": \"Personalization\", \n    \"name_ja\": \"カスタマイズ\", \n    \"name_ko\": \"개인화\", \n    \"name_ru\": \"Персонализация\", \n    \"name_zh\": \"个性化\", \n    \"nameID\": 711749\n  }, \n  \"3629\": {\n    \"hasTypes\": 1, \n    \"iconID\": 26055, \n    \"name_de\": \"Sequenzierungsbinder\", \n    \"name_en-us\": \"Sequencing Binders\", \n    \"name_es\": \"Carpetas de secuenciación\", \n    \"name_fr\": \"Fixateurs de séquençage\", \n    \"name_it\": \"Sequencing Binders\", \n    \"name_ja\": \"シーケンシングバインダー\", \n    \"name_ko\": \"각인기\", \n    \"name_ru\": \"Фиксаторы для окрасок\", \n    \"name_zh\": \"序列绑定器\", \n    \"nameID\": 711751, \n    \"parentGroupID\": 3628\n  }, \n  \"3630\": {\n    \"hasTypes\": 0, \n    \"iconID\": 26056, \n    \"name_de\": \"Designelemente\", \n    \"name_en-us\": \"Design Elements\", \n    \"name_es\": \"Elementos de diseño\", \n    \"name_fr\": \"Éléments de design\", \n    \"name_it\": \"Design Elements\", \n    \"name_ja\": \"デザイン要素\", \n    \"name_ko\": \"디자인 요소\", \n    \"name_ru\": \"Декоративные элементы\", \n    \"name_zh\": \"设计元素\", \n    \"nameID\": 711752, \n    \"parentGroupID\": 3628\n  }, \n  \"3631\": {\n    \"hasTypes\": 0, \n    \"iconID\": 26053, \n    \"name_de\": \"Grundlegende Nanobeschichtungen\", \n    \"name_en-us\": \"Basic Nanocoatings\", \n    \"name_es\": \"Nanorrevestimientos básicos\", \n    \"name_fr\": \"Nanorevêtements basiques\", \n    \"name_it\": \"Basic Nanocoatings\", \n    \"name_ja\": \"ベーシックナノコーティング\", \n    \"name_ko\": \"기본 나노코팅\", \n    \"name_ru\": \"Базовые нанопокрытия\", \n    \"name_zh\": \"基础纳米涂层\", \n    \"nameID\": 711753, \n    \"parentGroupID\": 3630\n  }, \n  \"3632\": {\n    \"hasTypes\": 1, \n    \"iconID\": 26052, \n    \"name_de\": \"Metallische Nanobeschichtungen\", \n    \"name_en-us\": \"Metallic Nanocoatings\", \n    \"name_es\": \"Nanorrevestimientos metálicos\", \n    \"name_fr\": \"Nanorevêtements métalliques\", \n    \"name_it\": \"Metallic Nanocoatings\", \n    \"name_ja\": \"メタリックナノコーティング\", \n    \"name_ko\": \"금속성 나노코팅\", \n    \"name_ru\": \"Металлические нанопокрытия\", \n    \"name_zh\": \"金属纳米涂层\", \n    \"nameID\": 711754, \n    \"parentGroupID\": 3630\n  }, \n  \"3633\": {\n    \"hasTypes\": 1, \n    \"iconID\": 26054, \n    \"name_de\": \"Muster\", \n    \"name_en-us\": \"Patterns\", \n    \"name_es\": \"Patrones\", \n    \"name_fr\": \"Motifs\", \n    \"name_it\": \"Patterns\", \n    \"name_ja\": \"パターン\", \n    \"name_ko\": \"패턴\", \n    \"name_ru\": \"Узоры\", \n    \"name_zh\": \"图案\", \n    \"nameID\": 711755, \n    \"parentGroupID\": 3630\n  }, \n  \"3636\": {\n    \"description_de\": \"Unterarten des Kylixium-Erzes\", \n    \"description_en-us\": \"Sub-types of Kylixium ore\", \n    \"description_es\": \"Subtipos de la mena kylixium.\", \n    \"description_fr\": \"Des sous-types de minerai de Kylixium\", \n    \"description_it\": \"Sub-types of Kylixium ore\", \n    \"description_ja\": \"キリクシウム鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 카일릭슘 광석입니다.\", \n    \"description_ru\": \"Разновидности килиция.\", \n    \"description_zh\": \"克里石的分支\", \n    \"descriptionID\": 712220, \n    \"hasTypes\": 1, \n    \"iconID\": 1377, \n    \"name_de\": \"Kylixium\", \n    \"name_en-us\": \"Kylixium\", \n    \"name_es\": \"Kylixium\", \n    \"name_fr\": \"Kylixium\", \n    \"name_it\": \"Kylixium\", \n    \"name_ja\": \"キリクシウム\", \n    \"name_ko\": \"카일릭슘\", \n    \"name_ru\": \"Kylixium\", \n    \"name_zh\": \"克里石\", \n    \"nameID\": 712219, \n    \"parentGroupID\": 54\n  }, \n  \"3637\": {\n    \"description_de\": \"Unterarten des Nocxite-Erzes.\", \n    \"description_en-us\": \"Sub-types of Nocxite ore.\", \n    \"description_es\": \"Subtipos de la mena nocxita.\", \n    \"description_fr\": \"Sous-types de minerai de Nocxite.\", \n    \"description_it\": \"Sub-types of Nocxite ore.\", \n    \"description_ja\": \"ノキサイト鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 녹사이트 광석입니다.\", \n    \"description_ru\": \"Разновидности нокцита.\", \n    \"description_zh\": \"诺克希特的分支。\", \n    \"descriptionID\": 712222, \n    \"hasTypes\": 1, \n    \"iconID\": 1269, \n    \"name_de\": \"Nocxite\", \n    \"name_en-us\": \"Nocxite\", \n    \"name_es\": \"Nocxita\", \n    \"name_fr\": \"Nocxite\", \n    \"name_it\": \"Nocxite\", \n    \"name_ja\": \"ノキサイト\", \n    \"name_ko\": \"녹사이트\", \n    \"name_ru\": \"Нокцит\", \n    \"name_zh\": \"诺克希特\", \n    \"nameID\": 712221, \n    \"parentGroupID\": 54\n  }, \n  \"3638\": {\n    \"description_de\": \"Unterarten von Ueganite-Erzen.\", \n    \"description_en-us\": \"Sub-types of Ueganite ore.\", \n    \"description_es\": \"Subtipos de la mena ueganita.\", \n    \"description_fr\": \"Sous-types de minerai d'Ueganite.\", \n    \"description_it\": \"Sub-types of Ueganite ore.\", \n    \"description_ja\": \"ユイグナイト鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 유가나이트 광석입니다.\", \n    \"description_ru\": \"Разновидности уэганита.\", \n    \"description_zh\": \"尤加石的分支。\", \n    \"descriptionID\": 712226, \n    \"hasTypes\": 1, \n    \"iconID\": 1277, \n    \"name_de\": \"Ueganite\", \n    \"name_en-us\": \"Ueganite\", \n    \"name_es\": \"Ueganita\", \n    \"name_fr\": \"Ueganite\", \n    \"name_it\": \"Ueganite\", \n    \"name_ja\": \"ユイグナイト\", \n    \"name_ko\": \"유가나이트\", \n    \"name_ru\": \"Уэганит\", \n    \"name_zh\": \"尤加石\", \n    \"nameID\": 712225, \n    \"parentGroupID\": 54\n  }, \n  \"3639\": {\n    \"description_de\": \"Unterarten des Hezorime-Erzes..\", \n    \"description_en-us\": \"Sub-types of Hezorime ore.\", \n    \"description_es\": \"Subtipos de la mena hezorima.\", \n    \"description_fr\": \"Sous-types de minerai Hezorime.\", \n    \"description_it\": \"Sub-types of Hezorime ore.\", \n    \"description_ja\": \"ヘゾライム鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 헤조라임 광석입니다.\", \n    \"description_ru\": \"Разновидности гезорима.\", \n    \"description_zh\": \"赫佐利姆的分支。\", \n    \"descriptionID\": 712228, \n    \"hasTypes\": 1, \n    \"iconID\": 1274, \n    \"name_de\": \"Hezorime\", \n    \"name_en-us\": \"Hezorime\", \n    \"name_es\": \"Hezorima\", \n    \"name_fr\": \"Hezorime\", \n    \"name_it\": \"Hezorime\", \n    \"name_ja\": \"ヘゾライム\", \n    \"name_ko\": \"헤조라임\", \n    \"name_ru\": \"Hezorime\", \n    \"name_zh\": \"赫佐利姆\", \n    \"nameID\": 712227, \n    \"parentGroupID\": 54\n  }, \n  \"3640\": {\n    \"description_de\": \"Unterarten des Griemeer-Erzes.\", \n    \"description_en-us\": \"Sub-types of Griemeer ore.\", \n    \"description_es\": \"Subtipos de la mena griemeer.\", \n    \"description_fr\": \"Sous-types de minerai de Griemeer.\", \n    \"description_it\": \"Sub-types of Griemeer ore.\", \n    \"description_ja\": \"グリーミーア鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 그리미어 광석입니다.\", \n    \"description_ru\": \"Разновидности гримира.\", \n    \"description_zh\": \"格里米尔的分支。\", \n    \"descriptionID\": 712230, \n    \"hasTypes\": 1, \n    \"iconID\": 1271, \n    \"name_de\": \"Griemeer\", \n    \"name_en-us\": \"Griemeer\", \n    \"name_es\": \"Griemeer\", \n    \"name_fr\": \"Griemeer\", \n    \"name_it\": \"Griemeer\", \n    \"name_ja\": \"グリーミーア\", \n    \"name_ko\": \"그리미어\", \n    \"name_ru\": \"Griemeer\", \n    \"name_zh\": \"格里米尔\", \n    \"nameID\": 712229, \n    \"parentGroupID\": 54\n  }, \n  \"3641\": {\n    \"description_de\": \"Materialien zur Konstruktion bestimmter Fraktionsausrüstung.\", \n    \"description_en-us\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_es\": \"Materiales usados para la construcción de aparatos específicos para las facciones.\", \n    \"description_fr\": \"Matériaux utilisés dans la fabrication d'équipements spécifiques aux factions.\", \n    \"description_it\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_ja\": \"特定勢力独自の装備の製作に使用される資源。\", \n    \"description_ko\": \"팩션 장비 제작에 사용되는 재료입니다.\", \n    \"description_ru\": \"Материалы для создания оборудования разных держав.\", \n    \"description_zh\": \"用来制造特殊势力装备的材料。\", \n    \"descriptionID\": 720385, \n    \"hasTypes\": 1, \n    \"iconID\": 2888, \n    \"name_de\": \"Mordus Legion\", \n    \"name_en-us\": \"Mordu's Legion\", \n    \"name_es\": \"Legión de Mordu\", \n    \"name_fr\": \"Mordu's Legion\", \n    \"name_it\": \"Mordu's Legion\", \n    \"name_ja\": \"モードゥ部隊\", \n    \"name_ko\": \"모르두 군단\", \n    \"name_ru\": \"Легион Морду\", \n    \"name_zh\": \"莫德团\", \n    \"nameID\": 720384, \n    \"parentGroupID\": 1897\n  }, \n  \"3642\": {\n    \"description_de\": \"Materialien zur Konstruktion bestimmter Fraktionsausrüstung.\", \n    \"description_en-us\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_es\": \"Materiales usados para la construcción de aparatos específicos para las facciones.\", \n    \"description_fr\": \"Matériaux utilisés dans la fabrication d'équipements spécifiques aux factions.\", \n    \"description_it\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_ja\": \"特定勢力独自の装備の製作に使用される資源。\", \n    \"description_ko\": \"팩션 장비 제작에 사용되는 재료입니다.\", \n    \"description_ru\": \"Материалы для создания оборудования разных держав.\", \n    \"description_zh\": \"用来制造特殊势力装备的材料。\", \n    \"descriptionID\": 720387, \n    \"hasTypes\": 1, \n    \"iconID\": 2888, \n    \"name_de\": \"Sansha's Nation\", \n    \"name_en-us\": \"Sansha's Nation\", \n    \"name_es\": \"Nación Sansha\", \n    \"name_fr\": \"Sansha's Nation\", \n    \"name_it\": \"Sansha's Nation\", \n    \"name_ja\": \"サンシャ国\", \n    \"name_ko\": \"산샤 네이션\", \n    \"name_ru\": \"«Нация Санши»\", \n    \"name_zh\": \"萨沙\", \n    \"nameID\": 720386, \n    \"parentGroupID\": 1897\n  }, \n  \"3643\": {\n    \"description_de\": \"Materialien zur Konstruktion bestimmter Fraktionsausrüstung.\", \n    \"description_en-us\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_es\": \"Materiales usados para la construcción de aparatos específicos para las facciones.\", \n    \"description_fr\": \"Matériaux utilisés dans la fabrication d'équipements spécifiques aux factions.\", \n    \"description_it\": \"Materials used in the construction of specific factional equipment.\", \n    \"description_ja\": \"特定勢力独自の装備の製作に使用される資源。\", \n    \"description_ko\": \"팩션 장비 제작에 사용되는 재료입니다.\", \n    \"description_ru\": \"Материалы для создания оборудования разных держав.\", \n    \"description_zh\": \"用来制造特殊势力装备的材料。\", \n    \"descriptionID\": 720389, \n    \"hasTypes\": 1, \n    \"iconID\": 2888, \n    \"name_de\": \"Sisters of EVE\", \n    \"name_en-us\": \"Sisters of EVE\", \n    \"name_es\": \"Sisters of EVE\", \n    \"name_fr\": \"Sisters of EVE\", \n    \"name_it\": \"Sisters of EVE\", \n    \"name_ja\": \"シスターズオブイブ\", \n    \"name_ko\": \"시스터 오브 이브\", \n    \"name_ru\": \"Сёстры «Евы»\", \n    \"name_zh\": \"EVE姐妹会\", \n    \"nameID\": 720388, \n    \"parentGroupID\": 1897\n  }, \n  \"3651\": {\n    \"description_de\": \"Baupläne für obitale Skyhooks.\", \n    \"description_en-us\": \"Blueprints of Orbital Skyhooks.\", \n    \"description_es\": \"Planos de ganchos orbitales.\", \n    \"description_fr\": \"Plans de construction de grappins orbitaux.\", \n    \"description_it\": \"Blueprints of Orbital Skyhooks.\", \n    \"description_ja\": \"軌道スカイフックの設計図です。\", \n    \"description_ko\": \"궤도 스카이훅 블루프린트\", \n    \"description_ru\": \"Чертежи орбитальных подъёмников.\", \n    \"description_zh\": \"轨道天钩蓝图。\", \n    \"descriptionID\": 722541, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Orbitale Skyhooks\", \n    \"name_en-us\": \"Orbital Skyhooks\", \n    \"name_es\": \"Ganchos orbitales\", \n    \"name_fr\": \"Grappins orbitaux\", \n    \"name_it\": \"Orbital Skyhooks\", \n    \"name_ja\": \"軌道スカイフック\", \n    \"name_ko\": \"궤도 스카이훅\", \n    \"name_ru\": \"Орбитальные подъёмники\", \n    \"name_zh\": \"轨道天钩\", \n    \"nameID\": 722540, \n    \"parentGroupID\": 2015\n  }, \n  \"3653\": {\n    \"hasTypes\": 1, \n    \"iconID\": 26053, \n    \"name_de\": \"Matt\", \n    \"name_en-us\": \"Matte\", \n    \"name_es\": \"Mate\", \n    \"name_fr\": \"Mat\", \n    \"name_it\": \"Matte\", \n    \"name_ja\": \"マット\", \n    \"name_ko\": \"무광\", \n    \"name_ru\": \"Матовое\", \n    \"name_zh\": \"哑光级\", \n    \"nameID\": 723578, \n    \"parentGroupID\": 3631\n  }, \n  \"3654\": {\n    \"hasTypes\": 1, \n    \"iconID\": 26053, \n    \"name_de\": \"Satin\", \n    \"name_en-us\": \"Satin\", \n    \"name_es\": \"Satinado\", \n    \"name_fr\": \"Satiné\", \n    \"name_it\": \"Satin\", \n    \"name_ja\": \"サテン\", \n    \"name_ko\": \"새틴\", \n    \"name_ru\": \"Сатин\", \n    \"name_zh\": \"缎光级\", \n    \"nameID\": 723579, \n    \"parentGroupID\": 3631\n  }, \n  \"3655\": {\n    \"hasTypes\": 1, \n    \"iconID\": 26053, \n    \"name_de\": \"Glanz\", \n    \"name_en-us\": \"Gloss\", \n    \"name_es\": \"Brillante\", \n    \"name_fr\": \"Brillant\", \n    \"name_it\": \"Gloss\", \n    \"name_ja\": \"グロス\", \n    \"name_ko\": \"유광\", \n    \"name_ru\": \"Глянцевое\", \n    \"name_zh\": \"流光级\", \n    \"nameID\": 723580, \n    \"parentGroupID\": 3631\n  }, \n  \"3656\": {\n    \"hasTypes\": 1, \n    \"iconID\": 33, \n    \"name_de\": \"Sequencing\", \n    \"name_en-us\": \"Sequencing\", \n    \"name_es\": \"Secuenciación\", \n    \"name_fr\": \"Séquençage\", \n    \"name_it\": \"Sequencing\", \n    \"name_ja\": \"シーケンシング\", \n    \"name_ko\": \"각인 생성\", \n    \"name_ru\": \"Производство окрасок\", \n    \"name_zh\": \"排序\", \n    \"nameID\": 723623, \n    \"parentGroupID\": 150\n  }, \n  \"3667\": {\n    \"description_de\": \"Mutaplasmide, die für Smartbomb-Module verwendet werden\", \n    \"description_en-us\": \"Mutaplasmids that are used on Smartbomb modules\", \n    \"description_es\": \"Mutaplásmidos que se usan en los módulos de bomba inteligente.\", \n    \"description_fr\": \"Mutaplasmides utilisés sur les modules de bombes de proximité\", \n    \"description_it\": \"Mutaplasmids that are used on Smartbomb modules\", \n    \"description_ja\": \"スマートボムモジュールに使用する変異プラスミド\", \n    \"description_ko\": \"스마트폭탄 모듈에 사용되는 뮤타플라즈미드입니다.\", \n    \"description_ru\": \"Мутаплазмиды, подходящие для импульсных излучателей\", \n    \"description_zh\": \"用于立体炸弹装备的突变质体\", \n    \"descriptionID\": 725016, \n    \"hasTypes\": 0, \n    \"iconID\": 24129, \n    \"name_de\": \"Smartbomb-Mutaplasmide\", \n    \"name_en-us\": \"Smartbomb Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de bomba inteligente\", \n    \"name_fr\": \"Mutaplasmides de bombe de proximité\", \n    \"name_it\": \"Smartbomb Mutaplasmids\", \n    \"name_ja\": \"スマートボム変異プラスミド\", \n    \"name_ko\": \"스마트폭탄 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для импульсных излучателей\", \n    \"name_zh\": \"立体炸弹突变质体\", \n    \"nameID\": 725015, \n    \"parentGroupID\": 2436\n  }, \n  \"3668\": {\n    \"description_de\": \"Kleine Smartbomb-Mutaplasmide\", \n    \"description_en-us\": \"Small Smartbomb Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de bomba inteligente pequeños\", \n    \"description_fr\": \"Mutaplasmides de petite bombe de proximité\", \n    \"description_it\": \"Small Smartbomb Mutaplasmids\", \n    \"description_ja\": \"小型スマートボム変異プラスミド\", \n    \"description_ko\": \"소형 스마트폭탄 뮤타플라즈미드\", \n    \"description_ru\": \"Мутаплазмиды для малых импульсных излучателей\", \n    \"description_zh\": \"小型立体炸弹突变质体\", \n    \"descriptionID\": 725018, \n    \"hasTypes\": 1, \n    \"name_de\": \"Kleine Smartbomb-Mutaplasmide\", \n    \"name_en-us\": \"Small Smartbomb Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de bomba inteligente pequeños\", \n    \"name_fr\": \"Mutaplasmides de petite bombe de proximité\", \n    \"name_it\": \"Small Smartbomb Mutaplasmids\", \n    \"name_ja\": \"小型スマートボム変異プラスミド\", \n    \"name_ko\": \"소형 스마트폭탄 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для малых импульсных излучателей\", \n    \"name_zh\": \"小型立体炸弹突变质体\", \n    \"nameID\": 725017, \n    \"parentGroupID\": 3667\n  }, \n  \"3669\": {\n    \"description_de\": \"Mittelgroße Smartbomb-Mutaplasmide\", \n    \"description_en-us\": \"Medium Smartbomb Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de bomba inteligente medianos\", \n    \"description_fr\": \"Mutaplasmides de bombe de proximité intermédiaire\", \n    \"description_it\": \"Medium Smartbomb Mutaplasmids\", \n    \"description_ja\": \"中型スマートボム変異プラスミド\", \n    \"description_ko\": \"중형 스마트폭탄 뮤타플라즈미드\", \n    \"description_ru\": \"Мутаплазмиды для средних импульсных излучателей\", \n    \"description_zh\": \"中型立体炸弹突变质体\", \n    \"descriptionID\": 725020, \n    \"hasTypes\": 1, \n    \"name_de\": \"Mittelgroße Smartbomb-Mutaplasmide\", \n    \"name_en-us\": \"Medium Smartbomb Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de bomba inteligente medianos\", \n    \"name_fr\": \"Mutaplasmides de bombe de proximité intermédiaire\", \n    \"name_it\": \"Medium Smartbomb Mutaplasmids\", \n    \"name_ja\": \"中型スマートボム変異プラスミド\", \n    \"name_ko\": \"중형 스마트폭탄 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для средних импульсных излучателей\", \n    \"name_zh\": \"中型立体炸弹突变质体\", \n    \"nameID\": 725019, \n    \"parentGroupID\": 3667\n  }, \n  \"3670\": {\n    \"description_de\": \"Große Smartbomb-Mutaplasmide\", \n    \"description_en-us\": \"Large Smartbomb Mutaplasmids\", \n    \"description_es\": \"Mutaplásmidos de bomba inteligente grandes\", \n    \"description_fr\": \"Mutaplasmides de grande bombe de proximité\", \n    \"description_it\": \"Large Smartbomb Mutaplasmids\", \n    \"description_ja\": \"大型スマートボム変異プラスミド\", \n    \"description_ko\": \"대형 스마트폭탄 뮤타플라즈미드\", \n    \"description_ru\": \"Мутаплазмиды для больших импульсных излучателей\", \n    \"description_zh\": \"大型立体炸弹突变质体\", \n    \"descriptionID\": 725022, \n    \"hasTypes\": 1, \n    \"name_de\": \"Große Smartbomb-Mutaplasmide\", \n    \"name_en-us\": \"Large Smartbomb Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos de bomba inteligente grandes\", \n    \"name_fr\": \"Mutaplasmides de grande bombe de proximité\", \n    \"name_it\": \"Large Smartbomb Mutaplasmids\", \n    \"name_ja\": \"大型スマートボム変異プラスミド\", \n    \"name_ko\": \"대형 스마트폭탄 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для больших импульсных излучателей\", \n    \"name_zh\": \"大型立体炸弹突变质体\", \n    \"nameID\": 725021, \n    \"parentGroupID\": 3667\n  }, \n  \"3672\": {\n    \"description_de\": \"Industrielle Designs des Upwell Consortium.\", \n    \"description_en-us\": \"Upwell Consortium industrial designs.\", \n    \"description_es\": \"Diseños industriales del Consorcio Upwell.\", \n    \"description_fr\": \"Modèles industriels de l'Upwell Consortium.\", \n    \"description_it\": \"Upwell Consortium industrial designs.\", \n    \"description_ja\": \"アップウェル・コンソーシアムの輸送艦の設計図。\", \n    \"description_ko\": \"업웰 컨소시엄 산업선입니다.\", \n    \"description_ru\": \"Грузовые корабли консорциума «Апвелл».\", \n    \"description_zh\": \"昇威财团工业舰设计。\", \n    \"descriptionID\": 725697, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Upwell\", \n    \"name_en-us\": \"Upwell\", \n    \"name_es\": \"Upwell\", \n    \"name_fr\": \"Upwell\", \n    \"name_it\": \"Upwell\", \n    \"name_ja\": \"アップウェル\", \n    \"name_ko\": \"업웰\", \n    \"name_ru\": \"Апвелл\", \n    \"name_zh\": \"昇威\", \n    \"nameID\": 725696, \n    \"parentGroupID\": 2085\n  }, \n  \"3673\": {\n    \"description_de\": \"Industrielle Designs des Upwell Consortium.\", \n    \"description_en-us\": \"Upwell Consortium industrial designs.\", \n    \"description_es\": \"Diseños industriales del Consorcio Upwell.\", \n    \"description_fr\": \"Modèles industriels de l'Upwell Consortium.\", \n    \"description_it\": \"Upwell Consortium industrial designs.\", \n    \"description_ja\": \"アップウェル・コンソーシアムの輸送艦の設計図。\", \n    \"description_ko\": \"업웰 컨소시엄 산업선입니다.\", \n    \"description_ru\": \"Грузовые корабли консорциума «Апвелл».\", \n    \"description_zh\": \"昇威财团工业舰设计。\", \n    \"descriptionID\": 725699, \n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Upwell\", \n    \"name_en-us\": \"Upwell\", \n    \"name_es\": \"Upwell\", \n    \"name_fr\": \"Upwell\", \n    \"name_it\": \"Upwell\", \n    \"name_ja\": \"アップウェル\", \n    \"name_ko\": \"업웰\", \n    \"name_ru\": \"Апвелл\", \n    \"name_zh\": \"昇威\", \n    \"nameID\": 725698, \n    \"parentGroupID\": 2087\n  }, \n  \"3680\": {\n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Söldnerverstecke\", \n    \"name_en-us\": \"Mercenary Dens\", \n    \"name_es\": \"Guaridas de mercenarios\", \n    \"name_fr\": \"Repaires de mercenaires\", \n    \"name_it\": \"Mercenary Dens\", \n    \"name_ja\": \"傭兵の隠れ家\", \n    \"name_ko\": \"용병 소굴\", \n    \"name_ru\": \"Логова наёмников\", \n    \"name_zh\": \"雇佣兵巢穴\", \n    \"nameID\": 727375, \n    \"parentGroupID\": 404\n  }, \n  \"3681\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Söldnerverstecke\", \n    \"name_en-us\": \"Mercenary Dens\", \n    \"name_es\": \"Guaridas de mercenarios\", \n    \"name_fr\": \"Repaires de mercenaires\", \n    \"name_it\": \"Mercenary Dens\", \n    \"name_ja\": \"傭兵の隠れ家\", \n    \"name_ko\": \"용병 소굴\", \n    \"name_ru\": \"Логова наёмников\", \n    \"name_zh\": \"雇佣兵巢穴\", \n    \"nameID\": 727378, \n    \"parentGroupID\": 406\n  }, \n  \"3696\": {\n    \"description_de\": \"Gegenstände, die für die Übertragung oder Verbesserung digitalisierter menschlicher Bewusstseine eingesetzt werden, besser bekannt als Infomorphs.\", \n    \"description_en-us\": \"Items related to the transfer or augmentation of digitized human consciousnesses, which are better known as infomorphs.\", \n    \"description_es\": \"Objetos relacionados con la transferencia o aumento de conciencias humanas digitalizadas, más conocidas como infomorfos.\", \n    \"description_fr\": \"Les objets liés au transfert ou à l'augmentation des consciences humaines numérisées, mieux connues sous le nom d'infomorphes.\", \n    \"description_it\": \"Items related to the transfer or augmentation of digitized human consciousnesses, which are better known as infomorphs.\", \n    \"description_ja\": \"デジタル化された人間の意識体、通称インフォモーフの転送または強化に関連したアイテム。\", \n    \"description_ko\": \"인간의 디지털화된 의식체를 이전, 또는 증폭시키는 데에 사용되는 아이템입니다. 주로 정신체라고 알려져 있습니다.\", \n    \"description_ru\": \"Товары, связанные с переносом или модификацией оцифрованных человеческих разумов, более известных как инфоморфы.\", \n    \"description_zh\": \"与传输或增强数字化人类意识相关的物品，又称为电子意识。\", \n    \"descriptionID\": 731185, \n    \"hasTypes\": 1, \n    \"iconID\": 24296, \n    \"name_de\": \"Infomorph-Systeme\", \n    \"name_en-us\": \"Infomorph Systems\", \n    \"name_es\": \"Sistemas de infomorfos\", \n    \"name_fr\": \"Systèmes d'infomorphes\", \n    \"name_it\": \"Infomorph Systems\", \n    \"name_ja\": \"インフォモーフのシステム\", \n    \"name_ko\": \"정신체 시스템\", \n    \"name_ru\": \"Системы для инфоморфов\", \n    \"name_zh\": \"电子意识星系\", \n    \"nameID\": 731186, \n    \"parentGroupID\": 533\n  }, \n  \"3697\": {\n    \"hasTypes\": 1, \n    \"iconID\": 26356, \n    \"name_de\": \"Atavum\", \n    \"name_en-us\": \"Atavum\", \n    \"name_es\": \"Atavum\", \n    \"name_fr\": \"Atavum\", \n    \"name_it\": \"Atavum\", \n    \"name_ja\": \"アタヴァム\", \n    \"name_ko\": \"아타붐\", \n    \"name_ru\": \"Atavum\", \n    \"name_zh\": \"阿塔文\", \n    \"nameID\": 862997, \n    \"parentGroupID\": 533\n  }, \n  \"3719\": {\n    \"hasTypes\": 0, \n    \"iconID\": 24905, \n    \"name_de\": \"Drohnen-Mutaplasmide\", \n    \"name_en-us\": \"Drone Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos para drones\", \n    \"name_fr\": \"Mutaplasmides pour drone\", \n    \"name_it\": \"Drone Mutaplasmids\", \n    \"name_ja\": \"ドローン変異プラスミド\", \n    \"name_ko\": \"드론 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды дронов\", \n    \"name_zh\": \"无人机突变质体\", \n    \"nameID\": 871028, \n    \"parentGroupID\": 2436\n  }, \n  \"3720\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24905, \n    \"name_de\": \"Leichte Drohnen-Mutaplasmide\", \n    \"name_en-us\": \"Light Drone Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos para drones ligeros\", \n    \"name_fr\": \"Mutaplasmides pour drone léger\", \n    \"name_it\": \"Light Drone Mutaplasmids\", \n    \"name_ja\": \"ライトドローン用変異プラスミド\", \n    \"name_ko\": \"라이트 드론 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для лёгких дронов\", \n    \"name_zh\": \"轻型无人机突变质体\", \n    \"nameID\": 871029, \n    \"parentGroupID\": 3719\n  }, \n  \"3721\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24905, \n    \"name_de\": \"Mittelgroße Drohnen-Mutaplasmide\", \n    \"name_en-us\": \"Medium Drone Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos para drones medianos\", \n    \"name_fr\": \"Mutaplasmides pour drone intermédiaire\", \n    \"name_it\": \"Medium Drone Mutaplasmids\", \n    \"name_ja\": \"ミディアムドローン用変異プラスミド\", \n    \"name_ko\": \"미디움 드론 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для средних дронов\", \n    \"name_zh\": \"中型无人机突变质体\", \n    \"nameID\": 871030, \n    \"parentGroupID\": 3719\n  }, \n  \"3722\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24905, \n    \"name_de\": \"Schwere Drohnen-Mutaplasmide\", \n    \"name_en-us\": \"Heavy Drone Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos para drones pesados\", \n    \"name_fr\": \"Mutaplasmides pour drone lourd\", \n    \"name_it\": \"Heavy Drone Mutaplasmids\", \n    \"name_ja\": \"ヘビードローン用変異プラスミド\", \n    \"name_ko\": \"헤비 드론 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для тяжёлых дронов\", \n    \"name_zh\": \"重型无人机突变质体\", \n    \"nameID\": 871031, \n    \"parentGroupID\": 3719\n  }, \n  \"3723\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24905, \n    \"name_de\": \"Wächterdrohnen-Mutaplasmide\", \n    \"name_en-us\": \"Sentry Drone Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos para drones centinelas\", \n    \"name_fr\": \"Mutaplasmides pour drone sentinelle\", \n    \"name_it\": \"Sentry Drone Mutaplasmids\", \n    \"name_ja\": \"セントリードローン用変異プラスミド\", \n    \"name_ko\": \"센트리 드론 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для охранных дронов\", \n    \"name_zh\": \"岗哨无人机突变质体\", \n    \"nameID\": 871033, \n    \"parentGroupID\": 3719\n  }, \n  \"3724\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24905, \n    \"name_de\": \"Drohnenmodul-Mutaplasmide\", \n    \"name_en-us\": \"Drone Module Mutaplasmids\", \n    \"name_es\": \"Mutaplásmidos para módulos de drones\", \n    \"name_fr\": \"Mutaplasmides pour modules de drones\", \n    \"name_it\": \"Drone Module Mutaplasmids\", \n    \"name_ja\": \"ドローンモジュール用変異プラスミド\", \n    \"name_ko\": \"드론 모듈 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для модулей дронов\", \n    \"name_zh\": \"无人机装备突变质体\", \n    \"nameID\": 871034, \n    \"parentGroupID\": 3719\n  }, \n  \"3725\": {\n    \"description_de\": \"Entertruppenwaffen, die die Verteidigung eines Schiffes durchdringen und ein Sonderkommando in das Zielschiff schleusen sollen.\", \n    \"description_en-us\": \"Troop boarding weapons designed to penetrate a ship's defenses and insert a strike team inside the target vessel.\", \n    \"description_es\": \"Armas de abordaje de tropas diseñadas para penetrar las defensas de una nave e introducir un equipo de ataque dentro de la nave objetivo.\", \n    \"description_fr\": \"Armes d'abordage de troupes conçues pour pénétrer les défenses d'un vaisseau et déployer une équipe d'assaut à l'intérieur de la cible.\", \n    \"description_it\": \"Troop boarding weapons designed to penetrate a ship's defenses and insert a strike team inside the target vessel.\", \n    \"description_ja\": \"標的艦の防衛設備を貫通し、ストライクチームを送り込むための搭乗式兵器。\", \n    \"description_ko\": \"함선의 방어기제를 무시하고 함선 내부에 타격대를 침투시키는 무기입니다.\", \n    \"description_ru\": \"Это абордажное орудие пробивает защиту корабля-цели и внедряет в него ударную группу.\", \n    \"description_zh\": \"突击队登舰武器，旨在突破舰船防御，并将突击部队插入目标舰船内。\", \n    \"descriptionID\": 871477, \n    \"hasTypes\": 1, \n    \"iconID\": 26372, \n    \"name_de\": \"Kapselbrecher\", \n    \"name_en-us\": \"Breacher Pods\", \n    \"name_es\": \"Cápsulas de ataque\", \n    \"name_fr\": \"Capsules de brèche\", \n    \"name_it\": \"Breacher Pods\", \n    \"name_ja\": \"突入ポッド\", \n    \"name_ko\": \"침투 포드\", \n    \"name_ru\": \"Внедряющиеся капсулы\", \n    \"name_zh\": \"突破者座舱\", \n    \"nameID\": 871476, \n    \"parentGroupID\": 11\n  }, \n  \"3726\": {\n    \"description_de\": \"Entertruppenwaffen, die die Verteidigung eines Schiffes durchdringen und ein Sonderkommando in das Zielschiff schleusen sollen.\", \n    \"description_en-us\": \"Troop boarding weapons designed to penetrate a ship's defenses and insert a strike team inside the target vessel.\", \n    \"description_es\": \"Armas de abordaje de tropas diseñadas para penetrar las defensas de una nave e introducir un equipo de ataque dentro de la nave objetivo.\", \n    \"description_fr\": \"Armes d'abordage de troupes conçues pour pénétrer les défenses d'un vaisseau et déployer une équipe d'assaut à l'intérieur de la cible.\", \n    \"description_it\": \"Troop boarding weapons designed to penetrate a ship's defenses and insert a strike team inside the target vessel.\", \n    \"description_ja\": \"標的艦の防衛設備を貫通し、ストライクチームを送り込むための搭乗式兵器。\", \n    \"description_ko\": \"함선의 방어기제를 무시하고 함선 내부에 타격대를 침투시키는 무기입니다.\", \n    \"description_ru\": \"Это абордажное орудие пробивает защиту корабля-цели и внедряет в него ударную группу.\", \n    \"description_zh\": \"突击队登舰武器，旨在突破舰船防御，并将突击部队插入目标舰船内。\", \n    \"descriptionID\": 871479, \n    \"hasTypes\": 1, \n    \"iconID\": 26396, \n    \"name_de\": \"Kapselbrecher-Werfer\", \n    \"name_en-us\": \"Breacher Pod Launchers\", \n    \"name_es\": \"Lanzacápsulas de ataque\", \n    \"name_fr\": \"Lanceurs de capsules de brèche\", \n    \"name_it\": \"Breacher Pod Launchers\", \n    \"name_ja\": \"突入ポッドランチャー\", \n    \"name_ko\": \"침투 포드 런처\", \n    \"name_ru\": \"Пусковая установка внедряющихся капсул\", \n    \"name_zh\": \"突破者座舱发射器\", \n    \"nameID\": 871478, \n    \"parentGroupID\": 10\n  }, \n  \"3732\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2038, \n    \"name_de\": \"Beschleunigungstor-Schlüssel\", \n    \"name_en-us\": \"Acceleration Gate Keys\", \n    \"name_es\": \"Llaves de portal de aceleración\", \n    \"name_fr\": \"Clés du portail d'accélération\", \n    \"name_it\": \"Acceleration Gate Keys\", \n    \"name_ja\": \"アクセラレーションゲートキー\", \n    \"name_ko\": \"액셀레이션 게이트 출입키\", \n    \"name_ru\": \"Ключ от разгонных ворот\", \n    \"name_zh\": \"加速轨道钥匙\", \n    \"nameID\": 1005132, \n    \"parentGroupID\": 19\n  }, \n  \"3734\": {\n    \"description_de\": \"Gegenstände, die von zerstörten Aufständischen-Schiffen erbeutet werden.\", \n    \"description_en-us\": \"Items obtained from destroyed insurgency ships.\", \n    \"description_es\": \"Objetos obtenidos de naves insurgentes destruidas.\", \n    \"description_fr\": \"Objets obtenus par la destruction de vaisseaux d'insurrection.\", \n    \"description_it\": \"Items obtained from destroyed insurgency ships.\", \n    \"description_ja\": \"撃墜された反乱船から手に入れた品物。\", \n    \"description_ko\": \"파괴된 반란 함선에서 획득한 아이템입니다.\", \n    \"description_ru\": \"Предметы, найденные среди обломков кораблей интервентов.\", \n    \"description_zh\": \"从被击毁的叛乱舰船上获得的物品。\", \n    \"descriptionID\": 1008794, \n    \"hasTypes\": 1, \n    \"iconID\": 2325, \n    \"name_de\": \"Piratenaufstand-Schmuggelware\", \n    \"name_en-us\": \"Pirate Insurgency Contraband\", \n    \"name_es\": \"Contrabandista de insurgencia pirata\", \n    \"name_fr\": \"Contrebande de l'insurrection pirate\", \n    \"name_it\": \"Pirate Insurgency Contraband\", \n    \"name_ja\": \"海賊の反乱の禁制品\", \n    \"name_ko\": \"해적의 반란 밀수품\", \n    \"name_ru\": \"Контрабанда пиратов-интервентов\", \n    \"name_zh\": \"海盗叛乱违禁品\", \n    \"nameID\": 1008793, \n    \"parentGroupID\": 614\n  }, \n  \"3736\": {\n    \"hasTypes\": 1, \n    \"iconID\": 3948, \n    \"name_de\": \"Kolonie-Ressourcenverwaltung\", \n    \"name_en-us\": \"Colony Resources Management\", \n    \"name_es\": \"Gestión de recursos de la colonia\", \n    \"name_fr\": \"Gestion des ressources de colonie\", \n    \"name_it\": \"Colony Resources Management\", \n    \"name_ja\": \"コロニーリソース管理\", \n    \"name_ko\": \"콜로니 자원 관리\", \n    \"name_ru\": \"Управление ресурсами колоний\", \n    \"name_zh\": \"殖民地资源管理\", \n    \"nameID\": 1009944, \n    \"parentGroupID\": 1276\n  }, \n  \"3737\": {\n    \"description_de\": \"Seltene Handelsgüter, die nur für begrenzte Zeit verteilt werden.\", \n    \"description_en-us\": \"Rare trade goods that are only distributed for limited time periods.\", \n    \"description_es\": \"Mercancías comerciales poco comunes que solo se distribuyen por periodos de tiempo limitados.\", \n    \"description_fr\": \"Des marchandises rares distribuées uniquement pendant des périodes limitées.\", \n    \"description_it\": \"Rare trade goods that are only distributed for limited time periods.\", \n    \"description_ja\": \"一定期間限定で入手可能な貴重なトレード品です。\", \n    \"description_ko\": \"특정 기간에만 유통되는 희귀한 상품입니다.\", \n    \"description_ru\": \"Редкие товары, которые лишь ненадолго попадают на рынок.\", \n    \"description_zh\": \"仅供限时分销的稀有贸易物品。\", \n    \"descriptionID\": 1010661, \n    \"hasTypes\": 1, \n    \"iconID\": 3755, \n    \"name_de\": \"Begrenzte Seltenheitsgrade\", \n    \"name_en-us\": \"Limited Rarities\", \n    \"name_es\": \"Rarezas limitadas\", \n    \"name_fr\": \"Raretés limitées\", \n    \"name_it\": \"Limited Rarities\", \n    \"name_ja\": \"限定アイテム\", \n    \"name_ko\": \"희귀도 제한\", \n    \"name_ru\": \"Эксклюзивные редкости\", \n    \"name_zh\": \"限量珍品\", \n    \"nameID\": 1010660, \n    \"parentGroupID\": 19\n  }, \n  \"3738\": {\n    \"description_de\": \"Blaupausen von Ressourcenverwaltungs-Upgrades\", \n    \"description_en-us\": \"Blueprints of Resource Management Upgrades\", \n    \"description_es\": \"Planos de mejoras de gestión de recursos\", \n    \"description_fr\": \"Plans de construction d'améliorations de gestion des ressources\", \n    \"description_it\": \"Blueprints of Resource Management Upgrades\", \n    \"description_ja\": \"コロニーリソース管理アップグレード設計図\", \n    \"description_ko\": \"자원 관리 업그레이드 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи улучшений управления ресурсами\", \n    \"description_zh\": \"资源管理升级件蓝图\", \n    \"descriptionID\": 1010923, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Ressourcenverwaltungs-Upgrades\", \n    \"name_en-us\": \"Resource Management Upgrades\", \n    \"name_es\": \"Mejoras de gestión de recursos\", \n    \"name_fr\": \"Améliorations de gestion des ressources\", \n    \"name_it\": \"Resource Management Upgrades\", \n    \"name_ja\": \"リソース管理アップグレード\", \n    \"name_ko\": \"자원 관리 업그레이드\", \n    \"name_ru\": \"Улучшения управления ресурсами\", \n    \"name_zh\": \"资源管理升级件\", \n    \"nameID\": 1010922, \n    \"parentGroupID\": 2015\n  }, \n  \"3739\": {\n    \"hasTypes\": 1, \n    \"iconID\": 3953, \n    \"name_de\": \"Signaturdetektoren\", \n    \"name_en-us\": \"Signature Detection Arrays\", \n    \"name_es\": \"Sistema detector de señales\", \n    \"name_fr\": \"Modules de détection de signature\", \n    \"name_it\": \"Signature Detection Arrays\", \n    \"name_ja\": \"シグネチャ探知施設\", \n    \"name_ko\": \"시그니처 탐지 시설\", \n    \"name_ru\": \"Комплексы поиска сигнатур\", \n    \"name_zh\": \"信号探测阵列\", \n    \"nameID\": 1010986, \n    \"parentGroupID\": 1276\n  }, \n  \"3740\": {\n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Systemeffektgenerator-Upgrades\", \n    \"name_en-us\": \"System Effect Generator Upgrades\", \n    \"name_es\": \"Mejoras del generador de efectos del sistema\", \n    \"name_fr\": \"Améliorations de générateur d'effet de système\", \n    \"name_it\": \"System Effect Generator Upgrades\", \n    \"name_ja\": \"システム効果ジェネレーターアップグレード\", \n    \"name_ko\": \"성계 영향 발생기 업그레이드\", \n    \"name_ru\": \"Улучшения генератора эффектов системы\", \n    \"name_zh\": \"星系影响生成器升级件\", \n    \"nameID\": 1011224, \n    \"parentGroupID\": 2015\n  }, \n  \"3741\": {\n    \"description_de\": \"Systemeffektgenerator-Upgrades für Souveränitätsstrukturen.\", \n    \"description_en-us\": \"System Effect Generator Upgrades for sovereignty structures.\", \n    \"description_es\": \"Mejoras del generador de efectos de sistema para las estructuras de soberanía.\", \n    \"description_fr\": \"Améliorations de générateur d'effet de système pour les structures de souveraineté.\", \n    \"description_it\": \"System Effect Generator Upgrades for sovereignty structures.\", \n    \"description_ja\": \"領有権管理設備用システム効果ジェネレーターアップグレード。\", \n    \"description_ko\": \"소버린티 구조물의 성계 영향 발생기 업그레이드입니다.\", \n    \"description_ru\": \"Улучшения генератора эффектов системы для объектов системы суверенитета\", \n    \"description_zh\": \"适用于主权建筑的星系影响生成器升级件。\", \n    \"descriptionID\": 1011233, \n    \"hasTypes\": 1, \n    \"iconID\": 26779, \n    \"name_de\": \"Systemeffektgenerator-Upgrades\", \n    \"name_en-us\": \"System Effect Generator Upgrades\", \n    \"name_es\": \"Mejoras del generador de efectos del sistema\", \n    \"name_fr\": \"Améliorations de générateur d'effet de système\", \n    \"name_it\": \"System Effect Generator Upgrades\", \n    \"name_ja\": \"システム効果ジェネレーターアップグレード\", \n    \"name_ko\": \"성계 영향 발생기 업그레이드\", \n    \"name_ru\": \"Улучшения генератора эффектов системы\", \n    \"name_zh\": \"星系影响生成器升级件\", \n    \"nameID\": 1011232, \n    \"parentGroupID\": 1276\n  }, \n  \"3742\": {\n    \"description_de\": \"Blaupausen für Signaturdetektor-Upgrades\", \n    \"description_en-us\": \"Blueprints of Signature Detection Array Upgrades\", \n    \"description_es\": \"Planos de mejoras del sistema detector de señales\", \n    \"description_fr\": \"Plans de construction d'améliorations du module de détection de signature\", \n    \"description_it\": \"Blueprints of Signature Detection Array Upgrades\", \n    \"description_ja\": \"シグネチャ探知施設アップグレード設計図\", \n    \"description_ko\": \"시그니처 탐지 시설 업그레이드 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи улучшений комплексов поиска сигнатур\", \n    \"description_zh\": \"信号探测阵列升级件蓝图\", \n    \"descriptionID\": 1011344, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Signaturdetektor-Upgrades\", \n    \"name_en-us\": \"Signature Detection Array Upgrades\", \n    \"name_es\": \"Mejoras del sistema detector de señales\", \n    \"name_fr\": \"Améliorations des modules de détection de signature\", \n    \"name_it\": \"Signature Detection Array Upgrades\", \n    \"name_ja\": \"シグネチャ探知施設アップグレード\", \n    \"name_ko\": \"시그니처 탐지 시설 업그레이드\", \n    \"name_ru\": \"Улучшения комплексов поиска сигнатур\", \n    \"name_zh\": \"信号探测阵列升级件\", \n    \"nameID\": 1011343, \n    \"parentGroupID\": 2015\n  }, \n  \"3743\": {\n    \"description_de\": \"Tyranit-Erz.\", \n    \"description_en-us\": \"Tyranite ore.\", \n    \"description_es\": \"Una mena de tiranita.\", \n    \"description_fr\": \"Minerai de tyranite.\", \n    \"description_it\": \"Tyranite ore.\", \n    \"description_ja\": \"ティラナイト鉱石\", \n    \"description_ko\": \"타이라나이트 광물입니다.\", \n    \"description_ru\": \"Тиранитовая руда\", \n    \"description_zh\": \"泰拉石。\", \n    \"descriptionID\": 1011365, \n    \"hasTypes\": 1, \n    \"iconID\": 26785, \n    \"name_de\": \"Tyranite\", \n    \"name_en-us\": \"Tyranite\", \n    \"name_es\": \"Tiranita\", \n    \"name_fr\": \"Tyranite\", \n    \"name_it\": \"Tyranite\", \n    \"name_ja\": \"ティラナイト\", \n    \"name_ko\": \"타이라나이트\", \n    \"name_ru\": \"Tyranite\", \n    \"name_zh\": \"泰拉石\", \n    \"nameID\": 1011366, \n    \"parentGroupID\": 54\n  }, \n  \"3744\": {\n    \"description_de\": \"Triglavia-Marauder\", \n    \"description_en-us\": \"Triglavian Marauders\", \n    \"description_es\": \"Depredadores triglavianos\", \n    \"description_fr\": \"Maraudeurs triglavian\", \n    \"description_it\": \"Triglavian Marauders\", \n    \"description_ja\": \"トリグラビアンの襲撃型戦艦\", \n    \"description_ko\": \"트리글라비안 머라우더\", \n    \"description_ru\": \"Рейдеры Триглава\", \n    \"description_zh\": \"三神裔掠夺舰\", \n    \"descriptionID\": 1011412, \n    \"hasTypes\": 1, \n    \"iconID\": 24135, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглав\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 1011411, \n    \"parentGroupID\": 1080\n  }, \n  \"3745\": {\n    \"description_de\": \"Ein Expertensystem ist eine externe, beschränkte künstliche Intelligenz, die Ihnen während der aktiven Mietdauer Zugriff auf bestimmte Skills gewährt. Da ein aktives Expertensystem unabhängig von Ihrem Klon und Ihrer Kapsel arbeitet, geht es bei einem Kapseltod oder Klonsprung nicht verloren.\", \n    \"description_en-us\": \"An Expert System is a remote, restricted artificial intelligence providing you with access to certain skills during the active rental period. As it is independent from your clone and your capsule, an active Expert System is not lost on pod death or clone jump.\", \n    \"description_es\": \"Un sistema experto es una inteligencia artificial remota y restringida que proporciona acceso a ciertas habilidades durante el periodo activo. No depende ni de tu clon ni de tu cápsula, por lo que no lo perderás si esta se destruye o si se lleva a cabo un salto de clon.\", \n    \"description_fr\": \"Un système expert est une intelligence artificielle restreinte à distance qui vous fait bénéficier de certaines compétences pendant la période de location active. Étant indépendant de votre clone et de votre capsule, un système expert actif ne sera donc pas perdu en cas de décapsulage ou saut de clone.\", \n    \"description_it\": \"An Expert System is a remote, restricted artificial intelligence providing you with access to certain skills during the active rental period. As it is independent from your clone and your capsule, an active Expert System is not lost on pod death or clone jump.\", \n    \"description_ja\": \"エキスパートシステムは、有効なレンタル期間中に特定のスキルへのアクセスを提供する、リモートで制限された人工知能である。クローンやカプセルからは独立しているため、ポッドの喪失やクローンジャンプによって失われることがない。\", \n    \"description_ko\": \"전문가 시스템은 원격으로 운영되는 제한형 AI로 캡슐리어에게 일정 기간 스킬을 제공합니다. 사용자의 클론 및 캡슐과 독립되어 캡슐이 파괴되거나 클론을 변경해도 제거되지 않습니다.\", \n    \"description_ru\": \"Экспертная система — это дистанционный искусственный интеллект ограниченного действия, предоставляющий определённые навыки на время его использования. Поскольку экспертная система независима от вашего клона и капсулы, вы не потеряете её при уничтожении капсулы или смене клона.\", \n    \"description_zh\": \"专家系统是一种远程受限人工智能，可在租赁有效期内为你提供访问特定技能的权限。它不依托于克隆体和太空舱，因此处于有效期内的专家系统在太空舱损毁或进行远距克隆时也能继续使用。\", \n    \"descriptionID\": 1011900, \n    \"hasTypes\": 1, \n    \"iconID\": 26799, \n    \"name_de\": \"Expertensysteme\", \n    \"name_en-us\": \"Expert Systems\", \n    \"name_es\": \"Sistemas expertos\", \n    \"name_fr\": \"Systèmes experts\", \n    \"name_it\": \"Expert Systems\", \n    \"name_ja\": \"エキスパートシステム\", \n    \"name_ko\": \"전문가 시스템\", \n    \"name_ru\": \"Экспертные системы\", \n    \"name_zh\": \"专家系统\", \n    \"nameID\": 1011898, \n    \"parentGroupID\": 1922\n  }, \n  \"3746\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1443, \n    \"name_de\": \"Upwell\", \n    \"name_en-us\": \"Upwell\", \n    \"name_es\": \"Upwell\", \n    \"name_fr\": \"Upwell\", \n    \"name_it\": \"Upwell\", \n    \"name_ja\": \"アップウェル\", \n    \"name_ko\": \"업웰\", \n    \"name_ru\": \"Апвелл\", \n    \"name_zh\": \"昇威\", \n    \"nameID\": 1014781, \n    \"parentGroupID\": 1972\n  }, \n  \"3754\": {\n    \"description_de\": \"Baupläne von ORE-Zerstörer-Designs.\", \n    \"description_en-us\": \"Blueprints of ORE destroyer designs.\", \n    \"description_es\": \"Planos de diseños de destructores de ORE.\", \n    \"description_fr\": \"Plans de construction de destroyers ORE.\", \n    \"description_it\": \"Blueprints of ORE destroyer designs.\", \n    \"description_ja\": \"OREの駆逐艦の設計図。\", \n    \"description_ko\": \"ORE 디스트로이어 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи эсминцев ОРЭ.\", \n    \"description_zh\": \"联合矿业驱逐舰设计蓝图。\", \n    \"descriptionID\": 1017346, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 1017345, \n    \"parentGroupID\": 582\n  }, \n  \"3755\": {\n    \"description_de\": \"ORE-Zerstörerdesigns.\", \n    \"description_en-us\": \"ORE destroyer designs.\", \n    \"description_es\": \"Diseños de destructores de ORE.\", \n    \"description_fr\": \"Modèles de destroyers ORE.\", \n    \"description_it\": \"ORE destroyer designs.\", \n    \"description_ja\": \"OREの駆逐艦。\", \n    \"description_ko\": \"ORE의 디스트로이어입니다.\", \n    \"description_ru\": \"Эсминцы ОРЭ.\", \n    \"description_zh\": \"联合矿业驱逐舰设计。\", \n    \"descriptionID\": 1017348, \n    \"hasTypes\": 1, \n    \"iconID\": 27058, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 1017347, \n    \"parentGroupID\": 464\n  }, \n  \"3756\": {\n    \"description_de\": \"Expeditionskommandostrahlenladungen\", \n    \"description_en-us\": \"Expedition Command Burst Charges\", \n    \"description_es\": \"Cargas de estallido de mando de expedición\", \n    \"description_fr\": \"Charges de salve de commandement d'expédition\", \n    \"description_it\": \"Expedition Command Burst Charges\", \n    \"description_ja\": \"探査コマンドバーストチャージ\", \n    \"description_ko\": \"탐사 커맨드 버스트 차지\", \n    \"description_ru\": \"Заряды экспедиционного импульсного оптимизатора\", \n    \"description_zh\": \"远征指挥脉冲弹药\", \n    \"descriptionID\": 1017851, \n    \"hasTypes\": 1, \n    \"iconID\": 20970, \n    \"name_de\": \"Expeditionskommandostrahlenladungen\", \n    \"name_en-us\": \"Expedition Command Burst Charges\", \n    \"name_es\": \"Cargas de estallido de mando de expedición\", \n    \"name_fr\": \"Charges de salve de commandement d'expédition\", \n    \"name_it\": \"Expedition Command Burst Charges\", \n    \"name_ja\": \"探査コマンドバーストチャージ\", \n    \"name_ko\": \"탐사 커맨드 버스트 차지\", \n    \"name_ru\": \"Заряды экспедиционного импульсного оптимизатора\", \n    \"name_zh\": \"远征指挥脉冲弹药\", \n    \"nameID\": 1017852, \n    \"parentGroupID\": 2297\n  }, \n  \"3757\": {\n    \"description_de\": \"Expeditionskommandostrahlenladungen\", \n    \"description_en-us\": \"Expedition Command Burst Charges\", \n    \"description_es\": \"Cargas de estallido de mando de expedición\", \n    \"description_fr\": \"Charges de salve de commandement d'expédition\", \n    \"description_it\": \"Expedition Command Burst Charges\", \n    \"description_ja\": \"探査コマンドバーストチャージ\", \n    \"description_ko\": \"탐사 커맨드 버스트 차지\", \n    \"description_ru\": \"Заряды экспедиционного импульсного оптимизатора\", \n    \"description_zh\": \"远征指挥脉冲弹药\", \n    \"descriptionID\": 1017926, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Expeditionskommandostrahlenladungen\", \n    \"name_en-us\": \"Expedition Command Burst Charges\", \n    \"name_es\": \"Cargas de estallido de mando de expedición\", \n    \"name_fr\": \"Charges de salve de commandement d'expédition\", \n    \"name_it\": \"Expedition Command Burst Charges\", \n    \"name_ja\": \"探査コマンドバーストチャージ\", \n    \"name_ko\": \"탐사 커맨드 버스트 차지\", \n    \"name_ru\": \"Заряды экспедиционного импульсного оптимизатора\", \n    \"name_zh\": \"远征指挥脉冲弹药\", \n    \"nameID\": 1017925, \n    \"parentGroupID\": 2290\n  }, \n  \"3759\": {\n    \"hasTypes\": 0, \n    \"iconID\": 1443, \n    \"name_de\": \"Expeditionskommandoschiff\", \n    \"name_en-us\": \"Expedition Command Ships\", \n    \"name_es\": \"Naves de mando de expedición\", \n    \"name_fr\": \"Vaisseaux de commandement d'expédition\", \n    \"name_it\": \"Expedition Command Ships\", \n    \"name_ja\": \"指揮型探査船\", \n    \"name_ko\": \"탐사 커맨드쉽\", \n    \"name_ru\": \"Expedition Command Ships\", \n    \"name_zh\": \"远征指挥舰\", \n    \"nameID\": 1017936, \n    \"parentGroupID\": 1374\n  }, \n  \"3762\": {\n    \"description_de\": \"Schiffe, die von den Sisters of EVE entworfen wurden\", \n    \"description_en-us\": \"Ships designed by the Sisters of EVE\", \n    \"description_es\": \"Naves diseñadas por Sisters of EVE\", \n    \"description_fr\": \"Vaisseaux conçus par les Sisters of EVE\", \n    \"description_it\": \"Ships designed by the Sisters of EVE\", \n    \"description_ja\": \"シスターズオブイブが設計した艦船\", \n    \"description_ko\": \"시스터 오브 이브 설계 함선\", \n    \"description_ru\": \"Корабли по проектам Сестёр «Евы»\", \n    \"description_zh\": \"由EVE姐妹会设计的舰船\", \n    \"descriptionID\": 1017958, \n    \"hasTypes\": 1, \n    \"iconID\": 1546, \n    \"name_de\": \"Sisters of EVE\", \n    \"name_en-us\": \"Sisters of EVE\", \n    \"name_es\": \"Sisters of EVE\", \n    \"name_fr\": \"Sisters of EVE\", \n    \"name_it\": \"Sisters of EVE\", \n    \"name_ja\": \"シスターズオブイブ\", \n    \"name_ko\": \"시스터 오브 이브\", \n    \"name_ru\": \"Сёстры «Евы»\", \n    \"name_zh\": \"EVE姐妹会\", \n    \"nameID\": 1017957, \n    \"parentGroupID\": 3759\n  }, \n  \"3764\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27058, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 1018060, \n    \"parentGroupID\": 2125\n  }, \n  \"3765\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 1018095, \n    \"parentGroupID\": 3481\n  }, \n  \"3766\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 1018096, \n    \"parentGroupID\": 3481\n  }, \n  \"3767\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 1018097, \n    \"parentGroupID\": 3481\n  }, \n  \"3768\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматар\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 1018098, \n    \"parentGroupID\": 3481\n  }, \n  \"3769\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27058, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 1018099, \n    \"parentGroupID\": 3481\n  }, \n  \"3770\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20959, \n    \"name_de\": \"Amarr\", \n    \"name_en-us\": \"Amarr\", \n    \"name_es\": \"Amarr\", \n    \"name_fr\": \"Amarr\", \n    \"name_it\": \"Amarr\", \n    \"name_ja\": \"アマー\", \n    \"name_ko\": \"아마르\", \n    \"name_ru\": \"Амаррские\", \n    \"name_zh\": \"艾玛\", \n    \"nameID\": 1018101, \n    \"parentGroupID\": 1366\n  }, \n  \"3771\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20966, \n    \"name_de\": \"Caldari\", \n    \"name_en-us\": \"Caldari\", \n    \"name_es\": \"Caldari\", \n    \"name_fr\": \"Caldari\", \n    \"name_it\": \"Caldari\", \n    \"name_ja\": \"カルダリ\", \n    \"name_ko\": \"칼다리\", \n    \"name_ru\": \"Калдарские\", \n    \"name_zh\": \"加达里\", \n    \"nameID\": 1018102, \n    \"parentGroupID\": 1366\n  }, \n  \"3772\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20967, \n    \"name_de\": \"Gallente\", \n    \"name_en-us\": \"Gallente\", \n    \"name_es\": \"Gallente\", \n    \"name_fr\": \"Gallente\", \n    \"name_it\": \"Gallente\", \n    \"name_ja\": \"ガレンテ\", \n    \"name_ko\": \"갈란테\", \n    \"name_ru\": \"Галлентские\", \n    \"name_zh\": \"盖伦特\", \n    \"nameID\": 1018103, \n    \"parentGroupID\": 1366\n  }, \n  \"3773\": {\n    \"hasTypes\": 1, \n    \"iconID\": 20968, \n    \"name_de\": \"Minmatar\", \n    \"name_en-us\": \"Minmatar\", \n    \"name_es\": \"Minmatar\", \n    \"name_fr\": \"Minmatar\", \n    \"name_it\": \"Minmatar\", \n    \"name_ja\": \"ミンマター\", \n    \"name_ko\": \"민마타\", \n    \"name_ru\": \"Минматар\", \n    \"name_zh\": \"米玛塔尔\", \n    \"nameID\": 1018104, \n    \"parentGroupID\": 1366\n  }, \n  \"3774\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27058, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 1018100, \n    \"parentGroupID\": 1366\n  }, \n  \"3776\": {\n    \"description_de\": \"Unterarten des Prismatizit-Erzes.\", \n    \"description_en-us\": \"Sub-types of Prismaticite ore.\", \n    \"description_es\": \"Subtipos de la mena prismaticita.\", \n    \"description_fr\": \"Sous-types de minerai de prismaticite.\", \n    \"description_it\": \"Sub-types of Prismaticite ore.\", \n    \"description_ja\": \"プリズマティサイト鉱石の亜種。\", \n    \"description_ko\": \"다양한 부류의 프리즈마티사이트 광석입니다.\", \n    \"description_ru\": \"Разновидности призматицита.\", \n    \"description_zh\": \"棱柱岩的分支。\", \n    \"descriptionID\": 1019023, \n    \"hasTypes\": 1, \n    \"iconID\": 27139, \n    \"name_de\": \"Prismaticite\", \n    \"name_en-us\": \"Prismaticite\", \n    \"name_es\": \"Prismaticita\", \n    \"name_fr\": \"Prismaticite\", \n    \"name_it\": \"Prismaticite\", \n    \"name_ja\": \"プリズマティサイト\", \n    \"name_ko\": \"프리즈마티사이트\", \n    \"name_ru\": \"Prismaticite\", \n    \"name_zh\": \"棱柱石\", \n    \"nameID\": 1019024, \n    \"parentGroupID\": 54\n  }, \n  \"3779\": {\n    \"description_de\": \"Blaupausen für stationierbare Strukturen.\", \n    \"description_en-us\": \"Blueprints of deployable structures.\", \n    \"description_es\": \"Planos de estructuras desplegables.\", \n    \"description_fr\": \"Plans de construction des structures déployables.\", \n    \"description_it\": \"Blueprints of deployable structures.\", \n    \"description_ja\": \"配置可能なストラクチャの設計図。\", \n    \"description_ko\": \"전개형 구조물을 위한 블루프린트입니다.\", \n    \"description_ru\": \"Чертежи автономных блоков.\", \n    \"description_zh\": \"可部署建筑蓝图\", \n    \"descriptionID\": 1019312, \n    \"hasTypes\": 1, \n    \"iconID\": 2703, \n    \"name_de\": \"Mobiler Phasenanker\", \n    \"name_en-us\": \"Mobile Phase Anchors\", \n    \"name_es\": \"Anclajes de fase móviles\", \n    \"name_fr\": \"Ancrages de phase mobile\", \n    \"name_it\": \"Mobile Phase Anchors\", \n    \"name_ja\": \"移動式位相アンカー\", \n    \"name_ko\": \"이동식 위상 고정기\", \n    \"name_ru\": \"Мобильные фазовые якоря\", \n    \"name_zh\": \"移动相锚\", \n    \"nameID\": 1019311, \n    \"parentGroupID\": 406\n  }, \n  \"3781\": {\n    \"hasTypes\": 1, \n    \"iconID\": 16, \n    \"name_de\": \"Mobiler Phasenanker\", \n    \"name_en-us\": \"Mobile Phase Anchors\", \n    \"name_es\": \"Anclajes de fase móviles\", \n    \"name_fr\": \"Ancrages de phase mobile\", \n    \"name_it\": \"Mobile Phase Anchors\", \n    \"name_ja\": \"移動式位相アンカー\", \n    \"name_ko\": \"이동식 위상 고정기\", \n    \"name_ru\": \"Мобильные фазовые якоря\", \n    \"name_zh\": \"移动相位锚标\", \n    \"nameID\": 1019441, \n    \"parentGroupID\": 404\n  }, \n  \"3782\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21783, \n    \"name_de\": \"Erratische Erzformeln\", \n    \"name_en-us\": \"Erratic Ore Formulas\", \n    \"name_es\": \"Fórmulas de mena erráticas\", \n    \"name_fr\": \"Formules de minerai erratique\", \n    \"name_it\": \"Erratic Ore Formulas\", \n    \"name_ja\": \"不安定鉱石のフォーミュラ\", \n    \"name_ko\": \"불안정한 광물 반응식\", \n    \"name_ru\": \"Формулы неустойчивой руды\", \n    \"name_zh\": \"不稳定矿石配方\", \n    \"nameID\": 1019607, \n    \"parentGroupID\": 1849\n  }, \n  \"3784\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1277, \n    \"name_de\": \"Unraffinierte Mineralien\", \n    \"name_en-us\": \"Unrefined Minerals\", \n    \"name_es\": \"Minerales sin refinar\", \n    \"name_fr\": \"Minéraux non raffinés\", \n    \"name_it\": \"Unrefined Minerals\", \n    \"name_ja\": \"未精製無機物\", \n    \"name_ko\": \"미가공 미네랄\", \n    \"name_ru\": \"Необработанные минералы\", \n    \"name_zh\": \"粗糙矿物\", \n    \"nameID\": 1019620, \n    \"parentGroupID\": 1031\n  }, \n  \"3786\": {\n    \"hasTypes\": 0, \n    \"iconID\": 27212, \n    \"name_de\": \"Ernte-Mutaplasmide\", \n    \"name_en-us\": \"Harvesting Mutaplasmids\", \n    \"name_es\": \"Recolección de mutaplásmidos\", \n    \"name_fr\": \"Mutaplasmides de collecte\", \n    \"name_it\": \"Harvesting Mutaplasmids\", \n    \"name_ja\": \"採掘変異プラスミド\", \n    \"name_ko\": \"하베스팅 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды для сбора сырья\", \n    \"name_zh\": \"采集突变质体\", \n    \"nameID\": 1021608, \n    \"parentGroupID\": 2436\n  }, \n  \"3790\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27212, \n    \"name_de\": \"Laser-Miner\", \n    \"name_en-us\": \"Laser Miners\", \n    \"name_es\": \"Mineros láser\", \n    \"name_fr\": \"Lasers d'extraction\", \n    \"name_it\": \"Laser Miners\", \n    \"name_ja\": \"レーザー採掘機\", \n    \"name_ko\": \"채굴 레이저\", \n    \"name_ru\": \"Буровые лазеры\", \n    \"name_zh\": \"激光矿工\", \n    \"nameID\": 1021663, \n    \"parentGroupID\": 3786\n  }, \n  \"3792\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27215, \n    \"name_de\": \"Oberflächen-Bergbaulaser\", \n    \"name_en-us\": \"Strip Miners\", \n    \"name_es\": \"Extractores mineros\", \n    \"name_fr\": \"Lasers d'extraction intensive\", \n    \"name_it\": \"Strip Miners\", \n    \"name_ja\": \"ストリップマイナー\", \n    \"name_ko\": \"가속 채굴기\", \n    \"name_ru\": \"Буровые лазеры валовой выемки\", \n    \"name_zh\": \"露天采矿器\", \n    \"nameID\": 1021665, \n    \"parentGroupID\": 3786\n  }, \n  \"3794\": {\n    \"description_de\": \"Triglavia-Marauder\", \n    \"description_en-us\": \"Triglavian Marauders\", \n    \"description_es\": \"Depredadores triglavianos\", \n    \"description_fr\": \"Maraudeurs triglavian\", \n    \"description_it\": \"Triglavian Marauders\", \n    \"description_ja\": \"トリグラビアンの襲撃型戦艦\", \n    \"description_ko\": \"트리글라비안 머라우더\", \n    \"description_ru\": \"Рейдеры Триглава\", \n    \"description_zh\": \"三神裔掠夺舰\", \n    \"descriptionID\": 1021708, \n    \"hasTypes\": 1, \n    \"iconID\": 21420, \n    \"name_de\": \"Triglavia\", \n    \"name_en-us\": \"Triglavian\", \n    \"name_es\": \"Triglaviano\", \n    \"name_fr\": \"Triglavian\", \n    \"name_it\": \"Triglavian\", \n    \"name_ja\": \"トリグラビアン\", \n    \"name_ko\": \"트리글라비안\", \n    \"name_ru\": \"Триглав\", \n    \"name_zh\": \"三神裔\", \n    \"nameID\": 1021707, \n    \"parentGroupID\": 2023\n  }, \n  \"3795\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27208, \n    \"name_de\": \"Eis-Bergbaulaser\", \n    \"name_en-us\": \"Ice Mining Lasers\", \n    \"name_es\": \"Láseres mineros para hielo\", \n    \"name_fr\": \"Lasers d'extraction de glace\", \n    \"name_it\": \"Ice Mining Lasers\", \n    \"name_ja\": \"アイス採掘レーザー\", \n    \"name_ko\": \"아이스 채굴 레이저\", \n    \"name_ru\": \"Лазеры для бурения льда\", \n    \"name_zh\": \"冰矿开采激光器\", \n    \"nameID\": 1021797, \n    \"parentGroupID\": 3786\n  }, \n  \"3797\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27205, \n    \"name_de\": \"Eisschürfer\", \n    \"name_en-us\": \"Ice Harvesters\", \n    \"name_es\": \"Cosechadoras de hielo\", \n    \"name_fr\": \"Collecteurs de glace\", \n    \"name_it\": \"Ice Harvesters\", \n    \"name_ja\": \"アイス採掘用採掘機\", \n    \"name_ko\": \"아이스 채굴기\", \n    \"name_ru\": \"Установки для бурения льда\", \n    \"name_zh\": \"冰矿采集器\", \n    \"nameID\": 1021870, \n    \"parentGroupID\": 3786\n  }, \n  \"3798\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27201, \n    \"name_de\": \"Gaswolken-Schaufeln\", \n    \"name_en-us\": \"Gas Cloud Scoops\", \n    \"name_es\": \"Succionadores de nubes de gas\", \n    \"name_fr\": \"Récupérateurs de nuages de gaz\", \n    \"name_it\": \"Gas Cloud Scoops\", \n    \"name_ja\": \"ガス雲スクープ\", \n    \"name_ko\": \"가스 수집기\", \n    \"name_ru\": \"Газочерпатели\", \n    \"name_zh\": \"气云回收装置\", \n    \"nameID\": 1021883, \n    \"parentGroupID\": 3786\n  }, \n  \"3799\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27198, \n    \"name_de\": \"Gaswolken-Extraktoren\", \n    \"name_en-us\": \"Gas Cloud Harvesters\", \n    \"name_es\": \"Cosechadoras de nubes de gas\", \n    \"name_fr\": \"Collecteurs de nuages de gaz\", \n    \"name_it\": \"Gas Cloud Harvesters\", \n    \"name_ja\": \"ガス雲採掘機\", \n    \"name_ko\": \"가스 하베스터\", \n    \"name_ru\": \"Сборщики газовых облаков\", \n    \"name_zh\": \"气云采集器\", \n    \"nameID\": 1022024, \n    \"parentGroupID\": 3786\n  }, \n  \"3800\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24905, \n    \"name_de\": \"Erntedrohnen-Mutaplasmide\", \n    \"name_en-us\": \"Harvesting Drone Mutaplasmids\", \n    \"name_es\": \"Recolección de mutaplásmidos de drones\", \n    \"name_fr\": \"Mutaplasmides pour drones de collecte\", \n    \"name_it\": \"Harvesting Drone Mutaplasmids\", \n    \"name_ja\": \"採掘ドローン変異プラスミド\", \n    \"name_ko\": \"채굴 드론 뮤타플라즈미드\", \n    \"name_ru\": \"Мутаплазмиды дронов для сбора льда\", \n    \"name_zh\": \"采集无人机突变质体\", \n    \"nameID\": 1022077, \n    \"parentGroupID\": 3719\n  }, \n  \"3801\": {\n    \"description_de\": \"Bergbaukristalle, die für den Abbau von einfachen Erzen wie Plagioclase, Pyroxeres, Scordite, Veldspar und Mordunium geeignet sind.\", \n    \"description_en-us\": \"Mining Crystals which are suitable for mining Simple Ores such as Plagioclase, Pyroxeres, Scordite, Veldspar and Mordunium.\", \n    \"description_es\": \"Cristales de minería que resultan adecuados para extraer menas simples, como plagioclasa, piroxeno, escordita, veldspar y mordunium.\", \n    \"description_fr\": \"Cristaux d'extraction qui conviennent à l'extraction de minerais simples tels que le plagioclase, le pyroxeres, la scordite, le veldspar et le mordunium.\", \n    \"description_it\": \"Mining Crystals which are suitable for mining Simple Ores such as Plagioclase, Pyroxeres, Scordite, Veldspar and Mordunium.\", \n    \"description_ja\": \"プラジオクレイス、パイロゼリーズ、スコダイト、そしてベルドスパーなどのシンプル鉱石の採掘に適した採掘用クリスタル。\", \n    \"description_ko\": \"플레지오클레이스, 파이로제레스, 스코다이트, 벨드스파, 모르두늄 등의 기초 광물 채굴에 적합한 채광용 크리스탈입니다.\", \n    \"description_ru\": \"Эти буровые кристаллы используются в добыче простых руд, к которым относятся плагиоклаз, пироксер, скордит, вельдспар и мордуний.\", \n    \"description_zh\": \"这种采集晶体适合用来开采斜长岩、干焦岩、灼烧岩、凡晶石和莫德合金等普通矿石。\", \n    \"descriptionID\": 1022851, \n    \"hasTypes\": 1, \n    \"iconID\": 24968, \n    \"name_de\": \"Einfache Asteroid-Bergbaukristalle\", \n    \"name_en-us\": \"Simple Asteroid Mining Crystals\", \n    \"name_es\": \"Cristales de minería asteroidal simples\", \n    \"name_fr\": \"Cristaux d'extraction d'astéroïdes simples\", \n    \"name_it\": \"Simple Asteroid Mining Crystals\", \n    \"name_ja\": \"シンプルアステロイド採掘用クリスタル\", \n    \"name_ko\": \"기초 소행성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для простых руд\", \n    \"name_zh\": \"普通小行星矿石采集晶体\", \n    \"nameID\": 1022850, \n    \"parentGroupID\": 2804\n  }, \n  \"3802\": {\n    \"description_de\": \"Bergbaukristalle, die für den Abbau zusammenhängender Erze wie Hedbergite, Hemorphite, Jaspet, Kernite, Omber, Ytirium, Griemeer und Nocxite geeignet sind.\", \n    \"description_en-us\": \"Mining Crystals which are suitable for mining Coherent Ores such as Hedbergite, Hemorphite, Jaspet, Kernite, Omber, Ytirium, Griemeer and Nocxite.\", \n    \"description_es\": \"Cristales de minería que resultan adecuados para extraer menas coherentes, como hedbergita, hemorfita, jaspetita, kernita, ómber, ytirium, griemeer y nocxita.\", \n    \"description_fr\": \"Cristaux d'extraction convenant à l'extraction de minerais cohérents tels que l'hedbergite, l'hemorphite, le jaspet, la kernite, l'omber, l'ytirium, le griemeer et la nocxite.\", \n    \"description_it\": \"Mining Crystals which are suitable for mining Coherent Ores such as Hedbergite, Hemorphite, Jaspet, Kernite, Omber, Ytirium, Griemeer and Nocxite.\", \n    \"description_ja\": \"ヘッドバーガイト、ヘモファイト、ジャスペット、ケルナイト、オンバー、イティリウム、グリーミーア、そしてノキサイトなどのコヒーレント鉱石を含む、位相偏移アステロイド採掘に適した採掘用クリスタル。\", \n    \"description_ko\": \"헤버자이트, 헤모르파이트, 자스페트, 커나이트, 옴버, 이티륨, 그리미어, 녹사이트 등의 응집성 광물 채굴에 적합한 채광용 크리스탈입니다.\", \n    \"description_ru\": \"Эти буровые кристаллы используются в добыче цельных руд, к которым относятся хедбергит, хеморфит, джаспет, кернит, омбер, ютирий, гримир и нокцит.\", \n    \"description_zh\": \"这种采集晶体适合用来开采同位原矿、希莫非特、杰斯贝矿、水硼砂、奥贝尔石、耶利合金、格里米尔和诺克希特等聚合矿石。\", \n    \"descriptionID\": 1022853, \n    \"hasTypes\": 1, \n    \"iconID\": 24973, \n    \"name_de\": \"Zusammenhängende Asteroid-Bergbaukristalle\", \n    \"name_en-us\": \"Coherent Asteroid Mining Crystals\", \n    \"name_es\": \"Cristales de minería asteroidal coherentes\", \n    \"name_fr\": \"Cristaux d'extraction d'astéroïdes cohérents\", \n    \"name_it\": \"Coherent Asteroid Mining Crystals\", \n    \"name_ja\": \"コヒーレントアステロイド採掘クリスタル\", \n    \"name_ko\": \"응집성 소행성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для цельных руд\", \n    \"name_zh\": \"聚合小行星矿石采集晶体\", \n    \"nameID\": 1022852, \n    \"parentGroupID\": 2804\n  }, \n  \"3803\": {\n    \"description_de\": \"Bergbaukristalle, die für den Abbau von vielfältigen Erzen wie Crokite, Dunkles Ochre, Gneiss und Kylixium geeignet sind.\", \n    \"description_en-us\": \"Mining Crystals which are suitable for mining Variegated Ores such as Crokite, Dark Ochre, Gneiss and Kylixium.\", \n    \"description_es\": \"Cristales de minería que resultan adecuados para extraer menas variegadas, como crokitio, ocre oscuro, gneiss y kylixium.\", \n    \"description_fr\": \"Cristaux d'extraction adaptés à l'extraction de minerais panachés tels que la crokite, l'ochre foncé, le gneiss et le kylixium.\", \n    \"description_it\": \"Mining Crystals which are suitable for mining Variegated Ores such as Crokite, Dark Ochre, Gneiss and Kylixium.\", \n    \"description_ja\": \"クロカイト、ダークオークル、ナエス、そしてキリクシウムなどのベアリアゲイト鉱石の採掘に適した採掘用クリスタル。\", \n    \"description_ko\": \"크로카이트, 다크 오커, 니스, 카일릭슘 등의 다변성 광물 채굴에 적합한 채광용 크리스탈입니다.\", \n    \"description_ru\": \"Эти буровые кристаллы используются в добыче цветных руд, к которым относятся крокит, тёмная охрана, гнейсс и килиций.\", \n    \"description_zh\": \"这种采集晶体适合用来开采克洛基石、黑赭石、片麻岩和克里石等斑驳矿石。\", \n    \"descriptionID\": 1022855, \n    \"hasTypes\": 1, \n    \"iconID\": 24971, \n    \"name_de\": \"Vielfältige Asteroid-Bergbaukristalle\", \n    \"name_en-us\": \"Variegated Asteroid Mining Crystals\", \n    \"name_es\": \"Cristales de minería asteroidal variegados\", \n    \"name_fr\": \"Cristaux d'extraction d'astéroïdes panachés\", \n    \"name_it\": \"Variegated Asteroid Mining Crystals\", \n    \"name_ja\": \"ベアリアゲイトアステロイド採掘クリスタル\", \n    \"name_ko\": \"다변성 소행성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для цветных руд\", \n    \"name_zh\": \"斑驳小行星矿石采集晶体\", \n    \"nameID\": 1022854, \n    \"parentGroupID\": 2804\n  }, \n  \"3804\": {\n    \"description_de\": \"Bergbaukristalle, die für den Abbau von komplexen Erzen wie Arkonor, Bistot, Spodumain, Eifyrium, Ducinium, Hezorime und Ueganite geeignet sind.\", \n    \"description_en-us\": \"Mining Crystals which are suitable for mining Complex Ores such as Arkonor, Bistot, Spodumain, Eifyrium, Ducinium, Hezorime and Ueganite.\", \n    \"description_es\": \"Cristales de minería que resultan adecuados para extraer menas complejas, como arkonor, bistotina, espodumain, eifyrium, ducinium, hezorima y ueganita.\", \n    \"description_fr\": \"Cristaux d'extraction utiles pour l'extraction de minerais complexes tels que l'arkonor, le bistot, le spodumain, l'eifyrium, le ducinium, l'hezorime et l'ueganite.\", \n    \"description_it\": \"Mining Crystals which are suitable for mining Complex Ores such as Arkonor, Bistot, Spodumain, Eifyrium, Ducinium, Hezorime and Ueganite.\", \n    \"description_ja\": \"アーコナー、ビストット、スポデュメイン、エイフィリウム、ドゥシニウム、ヘゾライムなどの複合鉱石の採掘に適した採掘用クリスタル。\", \n    \"description_ko\": \"아르카노르, 비스토트, 스포듀마인, 에이피륨, 두시늄, 헤조라임, 유가나이트 등의 복합 광물 채굴에 적합한 채광용 크리스탈입니다.\", \n    \"description_ru\": \"Эти буровые кристаллы используются в добыче сложных руд, к которым относятся арконор, бистот, сподумейн, эйфирий, дачиний, гезорим и уэганит.\", \n    \"description_zh\": \"这种采集晶体适合用来开采艾克诺岩、双多特石、灰岩、埃菲尔合金、杜厦合金、赫佐利姆和尤加石等死亡空间矿石。\", \n    \"descriptionID\": 1022857, \n    \"hasTypes\": 1, \n    \"iconID\": 24972, \n    \"name_de\": \"Komplexe Asteroid-Bergbaukristalle\", \n    \"name_en-us\": \"Complex Asteroid Mining Crystals\", \n    \"name_es\": \"Cristales de minería asteroidal complejos\", \n    \"name_fr\": \"Cristaux d'extraction d'astéroïdes complexes\", \n    \"name_it\": \"Complex Asteroid Mining Crystals\", \n    \"name_ja\": \"複合アステロイド採掘クリスタル\", \n    \"name_ko\": \"복합 소행성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для сложных руд\", \n    \"name_zh\": \"复合体小行星矿石采集晶体\", \n    \"nameID\": 1022856, \n    \"parentGroupID\": 2804\n  }, \n  \"3805\": {\n    \"description_de\": \"Bergbaukristalle, die für den Abbau von Mercoxit geeignet sind.\", \n    \"description_en-us\": \"Mining Crystals which are suitable for mining Mercoxit.\", \n    \"description_es\": \"Cristales de minería que resultan adecuados para extraer mercoxita.\", \n    \"description_fr\": \"Cristaux d'extraction adaptés à l'extraction du mercoxit.\", \n    \"description_it\": \"Mining Crystals which are suitable for mining Mercoxit.\", \n    \"description_ja\": \"メロコキサイトの採掘に適した採掘用クリスタル。\", \n    \"description_ko\": \"메르코시트 채굴에 적합한 채광용 크리스탈입니다.\", \n    \"description_ru\": \"Эти буровые кристаллы используются в добыче меркоцита.\", \n    \"description_zh\": \"这种采集晶体适合用来开采基腹断岩。\", \n    \"descriptionID\": 1022859, \n    \"hasTypes\": 1, \n    \"iconID\": 24969, \n    \"name_de\": \"Mercoxit-Asteroid-Bergbaukristalle\", \n    \"name_en-us\": \"Mercoxit Asteroid Mining Crystals\", \n    \"name_es\": \"Cristales de minería asteroidal de mercoxita\", \n    \"name_fr\": \"Cristaux d'extraction d'astéroïdes de mercoxit\", \n    \"name_it\": \"Mercoxit Asteroid Mining Crystals\", \n    \"name_ja\": \"メロコキサイトアステロイド採掘クリスタル\", \n    \"name_ko\": \"메르코시트 소행성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для меркоцита\", \n    \"name_zh\": \"基腹断岩小行星矿石采集晶体\", \n    \"nameID\": 1022858, \n    \"parentGroupID\": 2804\n  }, \n  \"3806\": {\n    \"description_de\": \"Bergbaukristalle, die für den Abbau von Abgrunderzen wie Bezdnazin, Rakovene und Talassonit geeignet sind.\", \n    \"description_en-us\": \"Mining Crystals which are suitable for mining Abyssal Ores such as Bezdnacine, Rakovene, and Talassonite.\", \n    \"description_es\": \"Cristales de minería que resultan adecuados para extraer menas abisales, como bezdnacina, rakovena y talasonita.\", \n    \"description_fr\": \"Cristaux d'extraction adaptés à l'extraction de minerais abyssaux tels que la bezdnacine, le rakovene et la talassonite.\", \n    \"description_it\": \"Mining Crystals which are suitable for mining Abyssal Ores such as Bezdnacine, Rakovene, and Talassonite.\", \n    \"description_ja\": \"ベズドナシン、ラコベネ、そしてタラソナイトなどのアビサル鉱石の採掘に適した採掘用クリスタル。\", \n    \"description_ko\": \"베즈드나신, 라코벤, 탈라소나이트 등의 어비설 광물 채굴에 적합한 채광용 크리스탈입니다.\", \n    \"description_ru\": \"Эти буровые кристаллы используются в добыче руд Бездны, к которым относятся безднацин, раковин и талассонит.\", \n    \"description_zh\": \"这种采集晶体适合用来开采贝兹岩、拉克岩和塔拉岩等深渊矿石。\", \n    \"descriptionID\": 1022861, \n    \"hasTypes\": 1, \n    \"iconID\": 24970, \n    \"name_de\": \"Abgrund-Asteroid-Bergbaukristalle\", \n    \"name_en-us\": \"Abyssal Asteroid Mining Crystals\", \n    \"name_es\": \"Cristales de minería asteroidal abisales\", \n    \"name_fr\": \"Cristaux d'extraction d'astéroïdes abyssaux\", \n    \"name_it\": \"Abyssal Asteroid Mining Crystals\", \n    \"name_ja\": \"アビサルアステロイド採掘クリスタル\", \n    \"name_ko\": \"어비설 소행성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для руд Бездны\", \n    \"name_zh\": \"深渊小行星矿石采集晶体\", \n    \"nameID\": 1022860, \n    \"parentGroupID\": 2804\n  }, \n  \"3807\": {\n    \"description_de\": \"Bergbaukristalle, die für Bergbau auf Phasenasteroiden geeignet sind, die erratische Erze wie Prismatizit enthalten.\", \n    \"description_en-us\": \"Mining Crystals which are suitable for mining Phased Asteroids containing Erratic Ores such as Prismaticite\", \n    \"description_es\": \"Cristales de minería que resultan adecuados para extraer asteroides fásicos que contienen menas erráticas, como prismaticita.\", \n    \"description_fr\": \"Cristaux d'extraction adaptés à l'extraction minière d'astéroïdes phasiques contenant des minerais erratiques tels que la prismaticite\", \n    \"description_it\": \"Mining Crystals which are suitable for mining Phased Asteroids containing Erratic Ores such as Prismaticite\", \n    \"description_ja\": \"プリズマティサイトなどの不安定鉱石を含む、位相偏移アステロイドの採掘に適した採掘用クリスタル。\", \n    \"description_ko\": \"프리즈마티사이트와 같은 불안정한 광물이 매장된 위상 소행성 채굴에 적합한 채광용 크리스탈입니다.\", \n    \"description_ru\": \"Эти буровые кристаллы используются при бурении фазовых астероидов, содержащих неустойчивую руду, например призматицит.\", \n    \"description_zh\": \"这种采集晶体适合用来开采含有不稳定矿石（例如棱柱岩）的相位小行星。\", \n    \"descriptionID\": 1022863, \n    \"hasTypes\": 1, \n    \"iconID\": 27218, \n    \"name_de\": \"Phasenasteroid-Bergbaukristalle\", \n    \"name_en-us\": \"Phased Asteroid Mining Crystals\", \n    \"name_es\": \"Cristales de minería asteroidal fásicos\", \n    \"name_fr\": \"Cristaux d'extraction d'astéroïdes phasiques\", \n    \"name_it\": \"Phased Asteroid Mining Crystals\", \n    \"name_ja\": \"位相偏移アステロイド採掘用クリスタル\", \n    \"name_ko\": \"위상 소행성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для фазовых астероидов\", \n    \"name_zh\": \"相位小行星矿石采集晶体\", \n    \"nameID\": 1022862, \n    \"parentGroupID\": 2804\n  }, \n  \"3808\": {\n    \"description_de\": \"Bergbaukristalle, die für den Abbau gewöhnlicher Monderze wie Cobaltit, Euxenit, Titanit und Scheelit geeignet sind.\", \n    \"description_en-us\": \"Mining Crystals which are suitable for mining Common Moon Ores such as Cobaltite, Euxenite, Titanite, and Scheelite.\", \n    \"description_es\": \"Cristales de minería que resultan adecuados para extraer menas lunares comunes, como cobaltita, euxenita, titanita y scheelita.\", \n    \"description_fr\": \"Cristaux d'extraction adaptés pour l'extraction de minerais lunaires communs tels que la cobaltite, l'euxénite, la titanite et la scheelite.\", \n    \"description_it\": \"Mining Crystals which are suitable for mining Common Moon Ores such as Cobaltite, Euxenite, Titanite, and Scheelite.\", \n    \"description_ja\": \"コバルタイト、ユークセナイト、タイタナイト、そしてシェーライトなどの一般的な衛星資源鉱石の採掘に適した採掘用クリスタル。\", \n    \"description_ko\": \"코발타이트, 유크세나이트, 티타나이트, 쉴라이트 등의 일반 위성 광물 채굴에 적합한 채광용 크리스탈입니다.\", \n    \"description_ru\": \"Эти буровые кристаллы используются в добыче обычных руд со спутников, к которым относятся кобальтит, эвксенит, титанит и шеелит.\", \n    \"description_zh\": \"这种采集晶体适合用来开采钴酸盐、黑稀金矿、榍石和白钨矿等普通卫星矿石。\", \n    \"descriptionID\": 1022865, \n    \"hasTypes\": 1, \n    \"iconID\": 25027, \n    \"name_de\": \"Gewöhnliche Mond-Bergbaukristalle\", \n    \"name_en-us\": \"Common Moon Mining Crystals\", \n    \"name_es\": \"Cristales de minería lunar comunes\", \n    \"name_fr\": \"Cristaux d'extraction lunaire communs\", \n    \"name_it\": \"Common Moon Mining Crystals\", \n    \"name_ja\": \"コモン衛星採掘クリスタル\", \n    \"name_ko\": \"일반 위성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для обычных руд\", \n    \"name_zh\": \"普通卫星矿石采集晶体\", \n    \"nameID\": 1022864, \n    \"parentGroupID\": 2805\n  }, \n  \"3809\": {\n    \"description_de\": \"Bergbaukristalle, die für den Abbau von verbreiteten Monderzen wie Zeolith, Sylvin, Bitumen und Coesit geeignet sind.\", \n    \"description_en-us\": \"Mining Crystals which are suitable for mining Ubiquitous Moon Ores such as Zeolites, Sylvite, Bitumens, and Coesite.\", \n    \"description_es\": \"Cristales de minería que resultan adecuados para extraer menas lunares universales, como zeolita, silvina, asfalto y coesita.\", \n    \"description_fr\": \"Cristaux d'extraction adaptés à l'extraction minière de minerais lunaires très communs, tels que la zéolite, la sylvine, le bitume et la coésite.\", \n    \"description_it\": \"Mining Crystals which are suitable for mining Ubiquitous Moon Ores such as Zeolites, Sylvite, Bitumens, and Coesite.\", \n    \"description_ja\": \"ゼオライト、シルバイト、ビチューメン、そしてコーサイトなどのユビキタス衛星資源鉱石の採掘に適した採掘用クリスタル。\", \n    \"description_ko\": \"제오라이트, 실바이트, 비투멘, 코사이트 등의 저급 위성 광물 채굴에 적합한 채광용 크리스탈입니다.\", \n    \"description_ru\": \"Эти буровые кристаллы используются в добыче повсеместных руд со спутников, к которым относятся зеолит, сильвин, битум и коэсит.\", \n    \"description_zh\": \"这种采集晶体适合用来开采沸石、钾盐、沥青和柯石英等常见卫星矿石。\", \n    \"descriptionID\": 1022869, \n    \"hasTypes\": 1, \n    \"iconID\": 25021, \n    \"name_de\": \"Verbreitete Mond-Bergbaukristalle\", \n    \"name_en-us\": \"Ubiquitous Moon Mining Crystals\", \n    \"name_es\": \"Cristales de minería lunar universales\", \n    \"name_fr\": \"Cristaux d'extraction lunaire très communs\", \n    \"name_it\": \"Ubiquitous Moon Mining Crystals\", \n    \"name_ja\": \"ユビキタス衛星採掘クリスタル\", \n    \"name_ko\": \"저급 위성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для повсеместных руд\", \n    \"name_zh\": \"常见卫星矿石采集晶体\", \n    \"nameID\": 1022868, \n    \"parentGroupID\": 2805\n  }, \n  \"3810\": {\n    \"description_de\": \"Bergbaukristalle, die für den Abbau ungewöhnlicher Monderze wie Otavit, Sperrylith, Vanadinit und Chromit geeignet sind.\", \n    \"description_en-us\": \"Mining Crystals which are suitable for mining Uncommon Moon Ores such as Otavite, Sperrylite, Vanadinite, and Chromite.\", \n    \"description_es\": \"Cristales de minería que resultan adecuados para extraer menas lunares inusuales, como otavita, sperrylita, vanadinita y cromita.\", \n    \"description_fr\": \"Cristaux d'extraction adaptés à l'extraction de minerais lunaires peu communs tels que l'otavite, la sperrylite, la vanadinite et la chromite.\", \n    \"description_it\": \"Mining Crystals which are suitable for mining Uncommon Moon Ores such as Otavite, Sperrylite, Vanadinite, and Chromite.\", \n    \"description_ja\": \"オタヴァイト、スぺリライト、バナジナイト、そしてクロマイトなどの希少な衛星資源鉱石の採掘に適した採掘用クリスタル。\", \n    \"description_ko\": \"오타바이트, 스페릴라이트, 바나디나이트, 크로마이트 등의 고급 위성 광물 채굴에 적합한 채광용 크리스탈입니다.\", \n    \"description_ru\": \"Эти буровые кристаллы используются в добыче необычных руд со спутников, к которым относятся отавит, сперрилит, ванадинит и хромит.\", \n    \"description_zh\": \"这种采集晶体适合用来开采菱镉矿、砷铂矿、钒铅矿和铬铁矿等罕见卫星矿石。\", \n    \"descriptionID\": 1022871, \n    \"hasTypes\": 1, \n    \"iconID\": 25033, \n    \"name_de\": \"Ungewöhnliche Mond-Bergbaukristalle\", \n    \"name_en-us\": \"Uncommon Moon Mining Crystals\", \n    \"name_es\": \"Cristales de minería lunar inusuales\", \n    \"name_fr\": \"Cristaux d'extraction lunaire peu communs\", \n    \"name_it\": \"Uncommon Moon Mining Crystals\", \n    \"name_ja\": \"アンコモン衛星採掘クリスタル\", \n    \"name_ko\": \"고급 위성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для необычных руд\", \n    \"name_zh\": \"罕见卫星矿石采集晶体\", \n    \"nameID\": 1022870, \n    \"parentGroupID\": 2805\n  }, \n  \"3811\": {\n    \"description_de\": \"Bergbaukristalle, die für den Abbauu seltener Monderze wie Carnotit, Zirkon, Pollucit und Zinnober geeignet sind.\", \n    \"description_en-us\": \"Mining Crystals which are suitable for mining Rare Moon Ores such as Carnotite, Zircon, Pollucite, and Cinnabar.\", \n    \"description_es\": \"Cristales de minería que resultan adecuados para extraer menas lunares poco comunes, como carnotita, zircón, polucita y cinabrio.\", \n    \"description_fr\": \"Cristaux d'extraction adaptés pour l'extraction de minerais lunaires rares tels que la carnotite, le zircon, la pollucite et le cinabre.\", \n    \"description_it\": \"Mining Crystals which are suitable for mining Rare Moon Ores such as Carnotite, Zircon, Pollucite, and Cinnabar.\", \n    \"description_ja\": \"カルノタイト、ジルコン、ポリュサイト、そしてシナバーなどのレアな衛星資源鉱石の採掘に適した採掘用クリスタル。\", \n    \"description_ko\": \"카르노타이트, 지르콘, 폴루사이트, 시나바르 등의 희귀 위성 광물 채굴에 적합한 채광용 크리스탈입니다.\", \n    \"description_ru\": \"Эти буровые кристаллы используются в добыче редких руд со спутников, к которым относятся карнотит, циркон, поллуцит и киноварь.\", \n    \"description_zh\": \"这种采集晶体适合用来开采钒钾铀矿、锆石、铯榴石和朱砂等稀有卫星矿石。\", \n    \"descriptionID\": 1022873, \n    \"hasTypes\": 1, \n    \"iconID\": 25039, \n    \"name_de\": \"Seltene Mond-Bergbaukristalle\", \n    \"name_en-us\": \"Rare Moon Mining Crystals\", \n    \"name_es\": \"Cristales de minería lunar poco comunes\", \n    \"name_fr\": \"Cristaux d'extraction lunaire rares\", \n    \"name_it\": \"Rare Moon Mining Crystals\", \n    \"name_ja\": \"レア衛星採掘クリスタル\", \n    \"name_ko\": \"희귀 위성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для редких руд\", \n    \"name_zh\": \"稀有卫星矿石采集晶体\", \n    \"nameID\": 1022872, \n    \"parentGroupID\": 2805\n  }, \n  \"3812\": {\n    \"description_de\": \"Bergbaukristalle, die für den Abbau von außergewöhnlichen Monderzen wie Xenotim-, Monazit-, Loparit- und Gadolinit-Erzen geeignet sind.\", \n    \"description_en-us\": \"Mining Crystals which are suitable for mining Exceptional Moon Ores such as Xenotime, Monazite, Loparite, and Ytterbite ores.\", \n    \"description_es\": \"Cristales de minería que resultan adecuados para extraer menas lunares excepcionales, como xenotima, monacita, loparita y gadolinita.\", \n    \"description_fr\": \"Cristaux d'extraction adaptés à l'extraction de minerais lunaires exceptionnels tels que le xénotime, la monazite, la loparite et l'ytterbite.\", \n    \"description_it\": \"Mining Crystals which are suitable for mining Exceptional Moon Ores such as Xenotime, Monazite, Loparite, and Ytterbite ores.\", \n    \"description_ja\": \"ゼノタイム、モナザイト、ロパライト、そしてイッターバイトなどの特別な衛星資源鉱石の採掘に適した採掘用クリスタル。\", \n    \"description_ko\": \"제노타임, 모나자이트, 로파라이트, 이테르바이트 등의 특별 위성 광물 채굴에 적합한 채광용 크리스탈입니다.\", \n    \"description_ru\": \"Эти буровые кристаллы используются в добыче исключительных руд со спутников, к которым относятся ксенотим, монацит, лопарит и иттербит.\", \n    \"description_zh\": \"这种采集晶体适合用来开采磷钇矿、独居石、铈铌钙钛矿和硅铍钇矿等非凡卫星矿石。\", \n    \"descriptionID\": 1022875, \n    \"hasTypes\": 1, \n    \"iconID\": 25045, \n    \"name_de\": \"Außergewöhnliche Mond-Bergbaukristalle\", \n    \"name_en-us\": \"Exceptional Moon Mining Crystals\", \n    \"name_es\": \"Cristales de minería lunar excepcionales\", \n    \"name_fr\": \"Cristaux d'extraction lunaire exceptionnels\", \n    \"name_it\": \"Exceptional Moon Mining Crystals\", \n    \"name_ja\": \"エクセプショナル衛星採掘クリスタル\", \n    \"name_ko\": \"특별 위성 채광용 크리스탈\", \n    \"name_ru\": \"Буровые кристаллы для исключительных руд\", \n    \"name_zh\": \"非凡卫星矿石采集晶体\", \n    \"nameID\": 1022874, \n    \"parentGroupID\": 2805\n  }, \n  \"3813\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27058, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 1030380, \n    \"parentGroupID\": 2035\n  }, \n  \"3818\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27058, \n    \"name_de\": \"ORE\", \n    \"name_en-us\": \"ORE\", \n    \"name_es\": \"ORE\", \n    \"name_fr\": \"ORE\", \n    \"name_it\": \"ORE\", \n    \"name_ja\": \"ORE\", \n    \"name_ko\": \"ORE\", \n    \"name_ru\": \"ОРЭ\", \n    \"name_zh\": \"联合矿业\", \n    \"nameID\": 1030384, \n    \"parentGroupID\": 2141\n  }, \n  \"3831\": {\n    \"hasTypes\": 1, \n    \"iconID\": 26518, \n    \"name_de\": \"Spezielle Blaupausenkisten\", \n    \"name_en-us\": \"Special Blueprint Crates\", \n    \"name_es\": \"Cajas de planos especiales\", \n    \"name_fr\": \"Caisses de plans de construction spéciaux\", \n    \"name_it\": \"Special Blueprint Crates\", \n    \"name_ja\": \"スペシャル設計図箱\", \n    \"name_ko\": \"특별 블루프린트 상자\", \n    \"name_ru\": \"Контейнеры с особыми чертежами\", \n    \"name_zh\": \"特殊蓝图箱\", \n    \"nameID\": 1032623, \n    \"parentGroupID\": 1661\n  }, \n  \"3832\": {\n    \"hasTypes\": 1, \n    \"iconID\": 22082, \n    \"name_de\": \"Spezielle kosmetische Kisten\", \n    \"name_en-us\": \"Special Cosmetic Crates\", \n    \"name_es\": \"Cajas de elementos estéticos especiales\", \n    \"name_fr\": \"Caisses d'articles cosmétiques spéciaux\", \n    \"name_it\": \"Special Cosmetic Crates\", \n    \"name_ja\": \"スペシャルコスメティック箱\", \n    \"name_ko\": \"특별 외형 상자\", \n    \"name_ru\": \"Контейнеры с особыми декоративными предметами\", \n    \"name_zh\": \"特殊装饰箱\", \n    \"nameID\": 1032624, \n    \"parentGroupID\": 1661\n  }, \n  \"3833\": {\n    \"hasTypes\": 1, \n    \"iconID\": 1660, \n    \"name_de\": \"Besondere Handelsgegenstände\", \n    \"name_en-us\": \"Special Trade Items\", \n    \"name_es\": \"Objetos de comercio especiales\", \n    \"name_fr\": \"Éléments de commerce spéciaux\", \n    \"name_it\": \"Special Trade Items\", \n    \"name_ja\": \"スペシャルトレード関連アイテム\", \n    \"name_ko\": \"특별 거래 아이템\", \n    \"name_ru\": \"Особые предметы на продажу\", \n    \"name_zh\": \"特殊交易物品\", \n    \"nameID\": 1032625, \n    \"parentGroupID\": 1661\n  }, \n  \"3834\": {\n    \"hasTypes\": 0, \n    \"iconID\": 21898, \n    \"name_de\": \"Event-Besitz\", \n    \"name_en-us\": \"Event Assets\", \n    \"name_es\": \"Bienes de eventos\", \n    \"name_fr\": \"Éléments des événements\", \n    \"name_it\": \"Event Assets\", \n    \"name_ja\": \"イベント関連資産\", \n    \"name_ko\": \"이벤트 자산\", \n    \"name_ru\": \"Активы событий\", \n    \"name_zh\": \"活动资产\", \n    \"nameID\": 1032626, \n    \"parentGroupID\": 1661\n  }, \n  \"3835\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21060, \n    \"name_de\": \"Schmuckstücke und Sonstiges\", \n    \"name_en-us\": \"Trinkets and misc.\", \n    \"name_es\": \"Oropeles y varios\", \n    \"name_fr\": \"Bibelots et objets divers.\", \n    \"name_it\": \"Trinkets and misc.\", \n    \"name_ja\": \"装飾品およびその他アイテム\", \n    \"name_ko\": \"장식품 및 기타\", \n    \"name_ru\": \"Сувениры и прочие предметы\", \n    \"name_zh\": \"装饰品和杂物\", \n    \"nameID\": 1032627, \n    \"parentGroupID\": 1661\n  }, \n  \"3836\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21900, \n    \"name_de\": \"Blutrote-Ernte-Besitz\", \n    \"name_en-us\": \"Crimson Harvest Assets\", \n    \"name_es\": \"Bienes de la Cosecha Carmesí\", \n    \"name_fr\": \"Éléments de la Moisson Pourpre\", \n    \"name_it\": \"Crimson Harvest Assets\", \n    \"name_ja\": \"クリムゾンハーベスト関連資産\", \n    \"name_ko\": \"크림슨 하베스터 자산\", \n    \"name_ru\": \"Активы Кровавой жатвы\", \n    \"name_zh\": \"血色收割资产\", \n    \"nameID\": 1032628, \n    \"parentGroupID\": 3834\n  }, \n  \"3837\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21902, \n    \"name_de\": \"Kapselpilotentag-Besitz\", \n    \"name_en-us\": \"Capsuleer Day Assets\", \n    \"name_es\": \"Bienes del Día de los Capsulistas\", \n    \"name_fr\": \"Éléments du Jour des Capsuliers\", \n    \"name_it\": \"Capsuleer Day Assets\", \n    \"name_ja\": \"カプセラデー関連資産\", \n    \"name_ko\": \"캡슐리어의 날 자산\", \n    \"name_ru\": \"Активы «Дня капсулёра»\", \n    \"name_zh\": \"克隆飞行员之日资产\", \n    \"nameID\": 1032629, \n    \"parentGroupID\": 3834\n  }, \n  \"3838\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21725, \n    \"name_de\": \"Imperiumstage-Besitz\", \n    \"name_en-us\": \"Empire Days Assets\", \n    \"name_es\": \"Bienes de Días del Imperio\", \n    \"name_fr\": \"Éléments des jours des Empires\", \n    \"name_it\": \"Empire Days Assets\", \n    \"name_ja\": \"四大国家の記念日関連資産\", \n    \"name_ko\": \"국가 기념일 자산\", \n    \"name_ru\": \"Активы «Дней держав»\", \n    \"name_zh\": \"帝国日资产\", \n    \"nameID\": 1032630, \n    \"parentGroupID\": 3834\n  }, \n  \"3839\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21901, \n    \"name_de\": \"Gala-der-Wächter-Besitz\", \n    \"name_en-us\": \"Guardian's Gala Assets\", \n    \"name_es\": \"Bienes de Guardian's Gala\", \n    \"name_fr\": \"Éléments du Guardian's Gala\", \n    \"name_it\": \"Guardian's Gala Assets\", \n    \"name_ja\": \"ガーディアンズガーラ関連資産\", \n    \"name_ko\": \"가디언 갈라 자산\", \n    \"name_ru\": \"Активы сбора «Хранителей»\", \n    \"name_zh\": \"守护者庆典资产\", \n    \"nameID\": 1032631, \n    \"parentGroupID\": 3834\n  }, \n  \"3840\": {\n    \"hasTypes\": 1, \n    \"iconID\": 24281, \n    \"name_de\": \"Interstellare-Konvergenz-Besitz\", \n    \"name_en-us\": \"Interstellar Convergence Assets\", \n    \"name_es\": \"Bienes de Convergencia Interestelar\", \n    \"name_fr\": \"Éléments de la Convergence interstellaire\", \n    \"name_it\": \"Interstellar Convergence Assets\", \n    \"name_ja\": \"星の海での邂逅関連資産\", \n    \"name_ko\": \"인터스텔라 컨버젼스 자산\", \n    \"name_ru\": \"Активы «Межзвёздной конвергенции»\", \n    \"name_zh\": \"星际聚合资产\", \n    \"nameID\": 1032632, \n    \"parentGroupID\": 3834\n  }, \n  \"3841\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21899, \n    \"name_de\": \"Winter-Nexus-Besitz\", \n    \"name_en-us\": \"Winter Nexus Assets\", \n    \"name_es\": \"Bienes de Nexus Invernal\", \n    \"name_fr\": \"Éléments du Winter Nexus\", \n    \"name_it\": \"Winter Nexus Assets\", \n    \"name_ja\": \"Winter Nexus関連資産\", \n    \"name_ko\": \"겨울 넥서스 자산\", \n    \"name_ru\": \"Активы Winter Nexus\", \n    \"name_zh\": \"凛冬将至资产\", \n    \"nameID\": 1032633, \n    \"parentGroupID\": 3834\n  }, \n  \"3845\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21832, \n    \"name_de\": \"Besitz – Wahl der Gallente\", \n    \"name_en-us\": \"Gallente Election Assets\", \n    \"name_es\": \"Bienes de elecciones gallente\", \n    \"name_fr\": \"Ressources électorales gallente\", \n    \"name_it\": \"Gallente Election Assets\", \n    \"name_ja\": \"ガレンテ大選挙のアセット\", \n    \"name_ko\": \"갈란테 선거 자원\", \n    \"name_ru\": \"Материалы галлентских выборов\", \n    \"name_zh\": \"盖伦特选举资产\", \n    \"nameID\": 1035664, \n    \"parentGroupID\": 3834\n  }, \n  \"3846\": {\n    \"hasTypes\": 1, \n    \"iconID\": 27345, \n    \"name_de\": \"Porträthintergründe\", \n    \"name_en-us\": \"Portrait Backgrounds\", \n    \"name_es\": \"Fondos de retrato\", \n    \"name_fr\": \"Arrière-plans de portrait\", \n    \"name_it\": \"Portrait Backgrounds\", \n    \"name_ja\": \"ポートレイト背景\", \n    \"name_ko\": \"초상화 배경\", \n    \"name_ru\": \"Фоны для портретов\", \n    \"name_zh\": \"人像背景\", \n    \"nameID\": 1037311, \n    \"parentGroupID\": 1396\n  }, \n  \"3851\": {\n    \"hasTypes\": 1, \n    \"iconID\": 21920, \n    \"name_de\": \"Extra Large\", \n    \"name_en-us\": \"Extra Large\", \n    \"name_es\": \"Extra Large\", \n    \"name_fr\": \"Extra Large\", \n    \"name_it\": \"Extra Large\", \n    \"name_ja\": \"Extra Large\", \n    \"name_ko\": \"Extra Large\", \n    \"name_ru\": \"Extra Large\", \n    \"name_zh\": \"Extra Large\", \n    \"nameID\": 1040825, \n    \"parentGroupID\": 2464\n  }\n}"
  },
  {
    "path": "staticdata/fsd_built/metagroups.0.json",
    "content": "{\n  \"1\": {\n    \"color\": {\n      \"a\": 1.0, \n      \"b\": 0.04313725605607033, \n      \"g\": 0.6666666865348816, \n      \"r\": 0.7803921699523926\n    }, \n    \"name_de\": \"Tech I\", \n    \"name_en-us\": \"Tech I\", \n    \"name_es\": \"T1\", \n    \"name_fr\": \"Tech I\", \n    \"name_it\": \"Tech I\", \n    \"name_ja\": \"T1\", \n    \"name_ko\": \"테크 I\", \n    \"name_ru\": \"Tech I\", \n    \"name_zh\": \"一级科技\", \n    \"nameID\": 66672\n  }, \n  \"2\": {\n    \"color\": {\n      \"a\": 1.0, \n      \"b\": 0.003921568859368563, \n      \"g\": 0.3803921639919281, \n      \"r\": 0.6196078658103943\n    }, \n    \"iconID\": 24150, \n    \"iconSuffix\": \"t2\", \n    \"name_de\": \"Tech II\", \n    \"name_en-us\": \"Tech II\", \n    \"name_es\": \"T2\", \n    \"name_fr\": \"Tech II\", \n    \"name_it\": \"Tech II\", \n    \"name_ja\": \"T2\", \n    \"name_ko\": \"테크 II\", \n    \"name_ru\": \"Tech II\", \n    \"name_zh\": \"二级科技\", \n    \"nameID\": 66673\n  }, \n  \"3\": {\n    \"color\": {\n      \"a\": 1.0, \n      \"b\": 0.11764705926179886, \n      \"g\": 0.4313725531101227, \n      \"r\": 0.2666666805744171\n    }, \n    \"iconID\": 24147, \n    \"iconSuffix\": \"storyline\", \n    \"name_de\": \"Geschichte\", \n    \"name_en-us\": \"Storyline\", \n    \"name_es\": \"Historia\", \n    \"name_fr\": \"Scénario\", \n    \"name_it\": \"Storyline\", \n    \"name_ja\": \"ストーリーライン\", \n    \"name_ko\": \"스토리라인\", \n    \"name_ru\": \"Наградные\", \n    \"name_zh\": \"故事线\", \n    \"nameID\": 66674\n  }, \n  \"4\": {\n    \"color\": {\n      \"a\": 1.0, \n      \"b\": 0.05098039284348488, \n      \"g\": 0.27843138575553894, \n      \"r\": 0.06666667014360428\n    }, \n    \"iconID\": 24146, \n    \"iconSuffix\": \"faction\", \n    \"name_de\": \"Fraktion\", \n    \"name_en-us\": \"Faction\", \n    \"name_es\": \"Facción\", \n    \"name_fr\": \"Faction\", \n    \"name_it\": \"Faction\", \n    \"name_ja\": \"勢力\", \n    \"name_ko\": \"팩션\", \n    \"name_ru\": \"Особых модификаций\", \n    \"name_zh\": \"势力\", \n    \"nameID\": 66675\n  }, \n  \"5\": {\n    \"color\": {\n      \"a\": 1.0, \n      \"b\": 0.45098039507865906, \n      \"g\": 0.054901961237192154, \n      \"r\": 0.20392157137393951\n    }, \n    \"iconID\": 24149, \n    \"iconSuffix\": \"officer\", \n    \"name_de\": \"Offizier\", \n    \"name_en-us\": \"Officer\", \n    \"name_es\": \"Oficial\", \n    \"name_fr\": \"Officier\", \n    \"name_it\": \"Officer\", \n    \"name_ja\": \"士官\", \n    \"name_ko\": \"장교급\", \n    \"name_ru\": \"Командирские\", \n    \"name_zh\": \"官员\", \n    \"nameID\": 66676\n  }, \n  \"6\": {\n    \"color\": {\n      \"a\": 1.0, \n      \"b\": 0.545098066329956, \n      \"g\": 0.27843138575553894, \n      \"r\": 0.16078431904315948\n    }, \n    \"description_de\": \"Module, die man in Raumverwerfungen findet.\", \n    \"description_en-us\": \"Modules found in deadspace.\", \n    \"description_es\": \"Módulos encontrados en el espacio muerto.\", \n    \"description_fr\": \"Modules figurant dans le Deadspace.\", \n    \"description_it\": \"Modules found in deadspace.\", \n    \"description_ja\": \"デッドスペースで見つかったモジュール。\", \n    \"description_ko\": \"데드스페이스에서 발견되는 모듈입니다.\", \n    \"description_ru\": \"Модули дэдспейса.\", \n    \"description_zh\": \"死亡空间里的装备\", \n    \"descriptionID\": 66671, \n    \"iconID\": 24148, \n    \"iconSuffix\": \"deadspace\", \n    \"name_de\": \"Raumverwerfung\", \n    \"name_en-us\": \"Deadspace\", \n    \"name_es\": \"Espacio muerto\", \n    \"name_fr\": \"Deadspace\", \n    \"name_it\": \"Deadspace\", \n    \"name_ja\": \"デッドスペース\", \n    \"name_ko\": \"데드스페이스\", \n    \"name_ru\": \"Экспериментальные\", \n    \"name_zh\": \"死亡空间\", \n    \"nameID\": 66677\n  }, \n  \"14\": {\n    \"color\": {\n      \"a\": 1.0, \n      \"b\": 0.0117647061124444, \n      \"g\": 0.22745098173618317, \n      \"r\": 0.6235294342041016\n    }, \n    \"iconID\": 24151, \n    \"iconSuffix\": \"t3\", \n    \"name_de\": \"Tech III\", \n    \"name_en-us\": \"Tech III\", \n    \"name_es\": \"T3\", \n    \"name_fr\": \"Tech III\", \n    \"name_it\": \"Tech III\", \n    \"name_ja\": \"T3\", \n    \"name_ko\": \"테크 III\", \n    \"name_ru\": \"Tech III\", \n    \"name_zh\": \"三级科技\", \n    \"nameID\": 66685\n  }, \n  \"15\": {\n    \"color\": {\n      \"a\": 1.0, \n      \"b\": 0.125490203499794, \n      \"g\": 0.125490203499794, \n      \"r\": 0.529411792755127\n    }, \n    \"iconID\": 24152, \n    \"iconSuffix\": \"abyssal\", \n    \"name_de\": \"Abgrund\", \n    \"name_en-us\": \"Abyssal\", \n    \"name_es\": \"Abisal\", \n    \"name_fr\": \"Abîme\", \n    \"name_it\": \"Abyssal\", \n    \"name_ja\": \"アビサル\", \n    \"name_ko\": \"어비설\", \n    \"name_ru\": \"Бездна\", \n    \"name_zh\": \"深渊\", \n    \"nameID\": 317771\n  }, \n  \"17\": {\n    \"color\": {\n      \"a\": 1.0, \n      \"b\": 0.8549019694328308, \n      \"g\": 0.34117648005485535, \n      \"r\": 0.6196078658103943\n    }, \n    \"description_de\": \"Dieser Gegenstand ist nur über den New Eden Store oder exklusive Angebote verfügbar.\", \n    \"description_en-us\": \"This item is only available through the New Eden Store or exclusive offers.\", \n    \"description_es\": \"Este objeto solo está disponible a través de la tienda de Nuevo Edén u ofertas exclusivas.\", \n    \"description_fr\": \"Cet objet n'est disponible que dans le magasin New Eden ou lors d'offres exclusives.\", \n    \"description_it\": \"This item is only available through the New Eden Store or exclusive offers.\", \n    \"description_ja\": \"このアイテムは、ニューエデンストアまたは限定特典でしか手に入らないアイテムです。\", \n    \"description_ko\": \"뉴에덴 스토어 및 특별한 오퍼를 통해서만 획득가능한 아이템입니다.\", \n    \"description_ru\": \"Этот предмет доступен только в игровом магазине и в составе эксклюзивного предложения.\", \n    \"description_zh\": \"此物品只能通过新伊甸商城或专享活动获得。\", \n    \"descriptionID\": 317894, \n    \"iconID\": 24153, \n    \"iconSuffix\": \"premium\", \n    \"name_de\": \"Premium\", \n    \"name_en-us\": \"Premium\", \n    \"name_es\": \"Prémium\", \n    \"name_fr\": \"Premium\", \n    \"name_it\": \"Premium\", \n    \"name_ja\": \"プレミアム\", \n    \"name_ko\": \"프리미엄\", \n    \"name_ru\": \"Эксклюзив\", \n    \"name_zh\": \"高级\", \n    \"nameID\": 317893\n  }, \n  \"19\": {\n    \"color\": {\n      \"a\": 1.0, \n      \"b\": 0.8745098114013672, \n      \"g\": 0.7058823704719543, \n      \"r\": 0.18039216101169586\n    }, \n    \"description_de\": \"Dieser Gegenstand ist nur für eine begrenzte Zeit verfügbar.\", \n    \"description_en-us\": \"This item is only available for a limited time.\", \n    \"description_es\": \"Este objeto solo está disponible durante un tiempo limitado.\", \n    \"description_fr\": \"Cet objet n'est disponible que pour une durée limitée.\", \n    \"description_it\": \"This item is only available for a limited time.\", \n    \"description_ja\": \"このアイテムは期間限定です。\", \n    \"description_ko\": \"한정판 아이템입니다.\", \n    \"description_ru\": \"Этот предмет доступен только в течение ограниченного времени.\", \n    \"description_zh\": \"此物品只能在特定的有限时间内获得。\", \n    \"descriptionID\": 317896, \n    \"iconID\": 24154, \n    \"iconSuffix\": \"limited\", \n    \"name_de\": \"Begrenzte Zeit\", \n    \"name_en-us\": \"Limited Time\", \n    \"name_es\": \"Tiempo limitado\", \n    \"name_fr\": \"Durée limitée\", \n    \"name_it\": \"Limited Time\", \n    \"name_ja\": \"期間限定\", \n    \"name_ko\": \"한정기간\", \n    \"name_ru\": \"Ограниченное время\", \n    \"name_zh\": \"限时提供\", \n    \"nameID\": 317895\n  }, \n  \"52\": {\n    \"iconID\": 24155, \n    \"iconSuffix\": \"struct_faction\", \n    \"name_de\": \"Strukturfraktion\", \n    \"name_en-us\": \"Structure Faction\", \n    \"name_es\": \"Estructura faccionaria\", \n    \"name_fr\": \"Faction de structure\", \n    \"name_it\": \"Structure Faction\", \n    \"name_ja\": \"ストラクチャ勢力\", \n    \"name_ko\": \"팩션 구조물\", \n    \"name_ru\": \"Армейское сооружение\", \n    \"name_zh\": \"势力建筑\", \n    \"nameID\": 550638\n  }, \n  \"53\": {\n    \"iconID\": 24156, \n    \"iconSuffix\": \"struct_t2\", \n    \"name_de\": \"Strukturtechnologie II\", \n    \"name_en-us\": \"Structure Tech II\", \n    \"name_es\": \"Estructura T2\", \n    \"name_fr\": \"Structure de Tech II\", \n    \"name_it\": \"Structure Tech II\", \n    \"name_ja\": \"ストラクチャT2\", \n    \"name_ko\": \"구조물 테크 II\", \n    \"name_ru\": \"Сооружение второй техкатегории\", \n    \"name_zh\": \"二级科技建筑\", \n    \"nameID\": 550639\n  }, \n  \"54\": {\n    \"iconID\": 24157, \n    \"iconSuffix\": \"struct\", \n    \"name_de\": \"Strukturtechnologie I\", \n    \"name_en-us\": \"Structure Tech I\", \n    \"name_es\": \"Estructura T1\", \n    \"name_fr\": \"Structure de Tech I\", \n    \"name_it\": \"Structure Tech I\", \n    \"name_ja\": \"ストラクチャT1\", \n    \"name_ko\": \"구조물 테크 I\", \n    \"name_ru\": \"Сооружение первой техкатегории\", \n    \"name_zh\": \"一级科技建筑\", \n    \"nameID\": 550644\n  }\n}"
  },
  {
    "path": "staticdata/fsd_built/requiredskillsfortypes.0.json",
    "content": "{\n  \"18\": {\n    \"3386\": 1\n  }, \n  \"19\": {\n    \"3386\": 1\n  }, \n  \"20\": {\n    \"3386\": 1\n  }, \n  \"21\": {\n    \"3386\": 1\n  }, \n  \"22\": {\n    \"3386\": 1\n  }, \n  \"50\": {\n    \"3319\": 1, \n    \"3326\": 4\n  }, \n  \"202\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"203\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"204\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"205\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"206\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"207\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"208\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"209\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"210\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"211\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"212\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"213\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"266\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"267\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"269\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"270\": {\n    \"3319\": 1\n  }, \n  \"377\": {\n    \"3425\": 1\n  }, \n  \"380\": {\n    \"3425\": 3\n  }, \n  \"393\": {\n    \"3425\": 3\n  }, \n  \"394\": {\n    \"3425\": 4\n  }, \n  \"399\": {\n    \"3416\": 1\n  }, \n  \"400\": {\n    \"3416\": 3\n  }, \n  \"405\": {\n    \"3422\": 1\n  }, \n  \"406\": {\n    \"3422\": 2\n  }, \n  \"421\": {\n    \"3424\": 2\n  }, \n  \"434\": {\n    \"3454\": 1\n  }, \n  \"438\": {\n    \"3450\": 4\n  }, \n  \"439\": {\n    \"3450\": 1\n  }, \n  \"440\": {\n    \"3454\": 3\n  }, \n  \"442\": {\n    \"3426\": 1\n  }, \n  \"443\": {\n    \"3426\": 1\n  }, \n  \"444\": {\n    \"3426\": 1\n  }, \n  \"447\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"448\": {\n    \"3435\": 2, \n    \"3449\": 1\n  }, \n  \"450\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"451\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"452\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"453\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"454\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"455\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"456\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"457\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"458\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"459\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"460\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"461\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"462\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"463\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"464\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"482\": {\n    \"3386\": 4\n  }, \n  \"483\": {\n    \"3386\": 1\n  }, \n  \"484\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"485\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"486\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"487\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"488\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"489\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"490\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"491\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"492\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"493\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"494\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"495\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"496\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"497\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"498\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"499\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"501\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"503\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"506\": {\n    \"3424\": 1\n  }, \n  \"508\": {\n    \"3424\": 1\n  }, \n  \"509\": {\n    \"3424\": 1\n  }, \n  \"518\": {\n    \"3318\": 1\n  }, \n  \"519\": {\n    \"3318\": 4\n  }, \n  \"520\": {\n    \"3318\": 1\n  }, \n  \"521\": {\n    \"3392\": 1\n  }, \n  \"522\": {\n    \"3413\": 1\n  }, \n  \"523\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"524\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"526\": {\n    \"3435\": 1\n  }, \n  \"527\": {\n    \"3435\": 4\n  }, \n  \"529\": {\n    \"3423\": 1\n  }, \n  \"530\": {\n    \"3423\": 1\n  }, \n  \"533\": {\n    \"3423\": 1\n  }, \n  \"561\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"562\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"563\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"564\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"565\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"566\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"567\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"568\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"569\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"570\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"571\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"572\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"573\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"574\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"575\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"577\": {\n    \"3417\": 1\n  }, \n  \"578\": {\n    \"3420\": 1\n  }, \n  \"580\": {\n    \"3427\": 1\n  }, \n  \"581\": {\n    \"3429\": 1\n  }, \n  \"582\": {\n    \"3330\": 1\n  }, \n  \"583\": {\n    \"3330\": 1\n  }, \n  \"584\": {\n    \"3330\": 1\n  }, \n  \"585\": {\n    \"3329\": 1\n  }, \n  \"586\": {\n    \"3329\": 1\n  }, \n  \"587\": {\n    \"3329\": 1\n  }, \n  \"588\": {\n    \"3327\": 1\n  }, \n  \"589\": {\n    \"3331\": 1\n  }, \n  \"590\": {\n    \"3331\": 1\n  }, \n  \"591\": {\n    \"3331\": 1\n  }, \n  \"592\": {\n    \"3328\": 1\n  }, \n  \"593\": {\n    \"3328\": 1\n  }, \n  \"594\": {\n    \"3328\": 1\n  }, \n  \"595\": {\n    \"3328\": 3\n  }, \n  \"596\": {\n    \"3327\": 1\n  }, \n  \"597\": {\n    \"3331\": 1\n  }, \n  \"598\": {\n    \"3329\": 1\n  }, \n  \"599\": {\n    \"3329\": 1\n  }, \n  \"600\": {\n    \"3329\": 3\n  }, \n  \"601\": {\n    \"3327\": 1\n  }, \n  \"602\": {\n    \"3330\": 1\n  }, \n  \"603\": {\n    \"3330\": 1\n  }, \n  \"605\": {\n    \"3330\": 1\n  }, \n  \"606\": {\n    \"3327\": 1\n  }, \n  \"607\": {\n    \"3328\": 1\n  }, \n  \"608\": {\n    \"3328\": 1\n  }, \n  \"609\": {\n    \"3328\": 1\n  }, \n  \"613\": {\n    \"3755\": 4\n  }, \n  \"614\": {\n    \"3755\": 1\n  }, \n  \"615\": {\n    \"3327\": 1\n  }, \n  \"616\": {\n    \"3755\": 1\n  }, \n  \"617\": {\n    \"3327\": 1\n  }, \n  \"618\": {\n    \"3755\": 1\n  }, \n  \"619\": {\n    \"3755\": 4\n  }, \n  \"620\": {\n    \"3334\": 1\n  }, \n  \"621\": {\n    \"3334\": 1\n  }, \n  \"622\": {\n    \"3333\": 1\n  }, \n  \"623\": {\n    \"3334\": 1\n  }, \n  \"624\": {\n    \"3335\": 1\n  }, \n  \"625\": {\n    \"3335\": 1\n  }, \n  \"626\": {\n    \"3332\": 1\n  }, \n  \"627\": {\n    \"3332\": 1\n  }, \n  \"628\": {\n    \"3335\": 1\n  }, \n  \"629\": {\n    \"3333\": 1\n  }, \n  \"630\": {\n    \"3333\": 1\n  }, \n  \"631\": {\n    \"3333\": 1\n  }, \n  \"632\": {\n    \"3334\": 1\n  }, \n  \"633\": {\n    \"3332\": 1\n  }, \n  \"634\": {\n    \"3332\": 1\n  }, \n  \"635\": {\n    \"3332\": 1\n  }, \n  \"638\": {\n    \"3338\": 1\n  }, \n  \"639\": {\n    \"3337\": 1\n  }, \n  \"640\": {\n    \"3338\": 1\n  }, \n  \"641\": {\n    \"3336\": 1\n  }, \n  \"642\": {\n    \"3339\": 1\n  }, \n  \"643\": {\n    \"3339\": 1\n  }, \n  \"644\": {\n    \"3337\": 1\n  }, \n  \"645\": {\n    \"3336\": 1\n  }, \n  \"648\": {\n    \"3342\": 1\n  }, \n  \"649\": {\n    \"3342\": 1\n  }, \n  \"650\": {\n    \"3340\": 1\n  }, \n  \"651\": {\n    \"3341\": 1\n  }, \n  \"652\": {\n    \"3341\": 1\n  }, \n  \"653\": {\n    \"3341\": 1\n  }, \n  \"654\": {\n    \"3340\": 1\n  }, \n  \"655\": {\n    \"3340\": 1\n  }, \n  \"656\": {\n    \"3340\": 1\n  }, \n  \"657\": {\n    \"3340\": 1\n  }, \n  \"671\": {\n    \"3344\": 1, \n    \"20533\": 5\n  }, \n  \"672\": {\n    \"3327\": 1\n  }, \n  \"1182\": {\n    \"3429\": 1\n  }, \n  \"1183\": {\n    \"3392\": 3, \n    \"3393\": 3\n  }, \n  \"1185\": {\n    \"3424\": 1\n  }, \n  \"1190\": {\n    \"3423\": 4\n  }, \n  \"1192\": {\n    \"3392\": 1\n  }, \n  \"1193\": {\n    \"3392\": 2\n  }, \n  \"1195\": {\n    \"3424\": 2\n  }, \n  \"1197\": {\n    \"3394\": 1\n  }, \n  \"1198\": {\n    \"3394\": 4\n  }, \n  \"1201\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"1202\": {\n    \"3386\": 2, \n    \"3436\": 1, \n    \"3438\": 1\n  }, \n  \"1223\": {\n    \"3386\": 1\n  }, \n  \"1224\": {\n    \"3386\": 1\n  }, \n  \"1225\": {\n    \"3386\": 1\n  }, \n  \"1226\": {\n    \"3386\": 1\n  }, \n  \"1227\": {\n    \"3386\": 1\n  }, \n  \"1228\": {\n    \"3386\": 1\n  }, \n  \"1229\": {\n    \"3386\": 1\n  }, \n  \"1230\": {\n    \"3386\": 1\n  }, \n  \"1231\": {\n    \"3386\": 1\n  }, \n  \"1232\": {\n    \"3386\": 1\n  }, \n  \"1233\": {\n    \"19430\": 5\n  }, \n  \"1236\": {\n    \"3394\": 2\n  }, \n  \"1240\": {\n    \"3392\": 1\n  }, \n  \"1242\": {\n    \"3392\": 1\n  }, \n  \"1244\": {\n    \"3394\": 1\n  }, \n  \"1246\": {\n    \"3424\": 3\n  }, \n  \"1248\": {\n    \"3424\": 4\n  }, \n  \"1254\": {\n    \"3424\": 2\n  }, \n  \"1256\": {\n    \"3424\": 4\n  }, \n  \"1262\": {\n    \"3392\": 2\n  }, \n  \"1264\": {\n    \"3394\": 1\n  }, \n  \"1266\": {\n    \"3394\": 4\n  }, \n  \"1272\": {\n    \"3392\": 2\n  }, \n  \"1274\": {\n    \"3394\": 1\n  }, \n  \"1276\": {\n    \"3394\": 4\n  }, \n  \"1282\": {\n    \"3392\": 2\n  }, \n  \"1284\": {\n    \"3394\": 1\n  }, \n  \"1286\": {\n    \"3394\": 4\n  }, \n  \"1292\": {\n    \"3392\": 2\n  }, \n  \"1294\": {\n    \"3394\": 1\n  }, \n  \"1296\": {\n    \"3394\": 4\n  }, \n  \"1302\": {\n    \"3392\": 2\n  }, \n  \"1304\": {\n    \"3394\": 1\n  }, \n  \"1306\": {\n    \"3394\": 4\n  }, \n  \"1315\": {\n    \"3392\": 1\n  }, \n  \"1317\": {\n    \"3394\": 1\n  }, \n  \"1319\": {\n    \"3394\": 2\n  }, \n  \"1333\": {\n    \"3394\": 1\n  }, \n  \"1335\": {\n    \"3394\": 2\n  }, \n  \"1351\": {\n    \"3424\": 1\n  }, \n  \"1353\": {\n    \"3424\": 2\n  }, \n  \"1355\": {\n    \"3424\": 5\n  }, \n  \"1401\": {\n    \"3392\": 1\n  }, \n  \"1403\": {\n    \"3394\": 1\n  }, \n  \"1405\": {\n    \"3394\": 2\n  }, \n  \"1419\": {\n    \"3424\": 1\n  }, \n  \"1422\": {\n    \"3424\": 4\n  }, \n  \"1436\": {\n    \"3429\": 4\n  }, \n  \"1445\": {\n    \"3424\": 2\n  }, \n  \"1447\": {\n    \"3424\": 4\n  }, \n  \"1537\": {\n    \"3424\": 1\n  }, \n  \"1539\": {\n    \"3424\": 2\n  }, \n  \"1541\": {\n    \"3424\": 4\n  }, \n  \"1547\": {\n    \"3421\": 1\n  }, \n  \"1549\": {\n    \"3421\": 3\n  }, \n  \"1551\": {\n    \"3421\": 1\n  }, \n  \"1553\": {\n    \"3421\": 3\n  }, \n  \"1557\": {\n    \"3421\": 1\n  }, \n  \"1559\": {\n    \"3421\": 3\n  }, \n  \"1563\": {\n    \"3421\": 1\n  }, \n  \"1565\": {\n    \"3421\": 3\n  }, \n  \"1798\": {\n    \"3413\": 1\n  }, \n  \"1800\": {\n    \"3413\": 1\n  }, \n  \"1802\": {\n    \"3413\": 1\n  }, \n  \"1804\": {\n    \"3413\": 1\n  }, \n  \"1808\": {\n    \"3425\": 1\n  }, \n  \"1810\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"1814\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"1816\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"1818\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"1820\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"1822\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"1824\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"1826\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"1828\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"1830\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"1832\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"1855\": {\n    \"3426\": 2\n  }, \n  \"1875\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"1877\": {\n    \"3319\": 3, \n    \"20210\": 1\n  }, \n  \"1893\": {\n    \"3318\": 1\n  }, \n  \"1896\": {\n    \"3755\": 5\n  }, \n  \"1898\": {\n    \"3755\": 5\n  }, \n  \"1900\": {\n    \"3755\": 5\n  }, \n  \"1902\": {\n    \"3755\": 5\n  }, \n  \"1904\": {\n    \"3335\": 1\n  }, \n  \"1912\": {\n    \"10264\": 3\n  }, \n  \"1914\": {\n    \"10264\": 3\n  }, \n  \"1916\": {\n    \"10264\": 3\n  }, \n  \"1918\": {\n    \"10264\": 3\n  }, \n  \"1944\": {\n    \"3343\": 1\n  }, \n  \"1946\": {\n    \"3426\": 1\n  }, \n  \"1947\": {\n    \"3427\": 1\n  }, \n  \"1948\": {\n    \"3427\": 1\n  }, \n  \"1949\": {\n    \"3426\": 1\n  }, \n  \"1951\": {\n    \"3318\": 1\n  }, \n  \"1952\": {\n    \"3428\": 4\n  }, \n  \"1955\": {\n    \"3427\": 1\n  }, \n  \"1956\": {\n    \"3427\": 1\n  }, \n  \"1957\": {\n    \"3427\": 1\n  }, \n  \"1958\": {\n    \"3427\": 1\n  }, \n  \"1959\": {\n    \"3427\": 1\n  }, \n  \"1960\": {\n    \"3427\": 4\n  }, \n  \"1963\": {\n    \"3433\": 1\n  }, \n  \"1964\": {\n    \"3433\": 4\n  }, \n  \"1968\": {\n    \"3433\": 1\n  }, \n  \"1969\": {\n    \"3433\": 4\n  }, \n  \"1973\": {\n    \"3428\": 1\n  }, \n  \"1977\": {\n    \"3317\": 1\n  }, \n  \"1978\": {\n    \"3317\": 4\n  }, \n  \"1982\": {\n    \"3426\": 1\n  }, \n  \"1983\": {\n    \"3426\": 1\n  }, \n  \"1984\": {\n    \"3426\": 1\n  }, \n  \"1985\": {\n    \"3426\": 1\n  }, \n  \"1986\": {\n    \"3432\": 1\n  }, \n  \"1987\": {\n    \"3432\": 5\n  }, \n  \"1998\": {\n    \"3318\": 1\n  }, \n  \"1999\": {\n    \"3318\": 4\n  }, \n  \"2002\": {\n    \"3427\": 1\n  }, \n  \"2003\": {\n    \"3427\": 1\n  }, \n  \"2004\": {\n    \"3427\": 1\n  }, \n  \"2005\": {\n    \"3427\": 1\n  }, \n  \"2006\": {\n    \"3335\": 1\n  }, \n  \"2018\": {\n    \"3424\": 1\n  }, \n  \"2020\": {\n    \"3424\": 2\n  }, \n  \"2022\": {\n    \"3424\": 2\n  }, \n  \"2024\": {\n    \"3417\": 4\n  }, \n  \"2032\": {\n    \"3424\": 3\n  }, \n  \"2038\": {\n    \"3426\": 2\n  }, \n  \"2046\": {\n    \"3394\": 1\n  }, \n  \"2048\": {\n    \"3394\": 4\n  }, \n  \"2050\": {\n    \"3420\": 1\n  }, \n  \"2078\": {\n    \"3327\": 1\n  }, \n  \"2082\": {\n    \"3411\": 2\n  }, \n  \"2083\": {\n    \"3412\": 1\n  }, \n  \"2103\": {\n    \"3433\": 1\n  }, \n  \"2104\": {\n    \"3433\": 4\n  }, \n  \"2108\": {\n    \"3434\": 1\n  }, \n  \"2109\": {\n    \"3434\": 4\n  }, \n  \"2117\": {\n    \"3427\": 4\n  }, \n  \"2129\": {\n    \"2505\": 1\n  }, \n  \"2130\": {\n    \"2505\": 2\n  }, \n  \"2131\": {\n    \"2505\": 3\n  }, \n  \"2132\": {\n    \"2505\": 4\n  }, \n  \"2133\": {\n    \"2505\": 5\n  }, \n  \"2134\": {\n    \"2505\": 1\n  }, \n  \"2135\": {\n    \"2505\": 2\n  }, \n  \"2136\": {\n    \"2505\": 3\n  }, \n  \"2137\": {\n    \"2505\": 4\n  }, \n  \"2138\": {\n    \"2505\": 5\n  }, \n  \"2139\": {\n    \"2505\": 1\n  }, \n  \"2140\": {\n    \"2505\": 2\n  }, \n  \"2141\": {\n    \"2505\": 3\n  }, \n  \"2142\": {\n    \"2505\": 4\n  }, \n  \"2143\": {\n    \"2505\": 5\n  }, \n  \"2144\": {\n    \"2505\": 1\n  }, \n  \"2145\": {\n    \"2505\": 2\n  }, \n  \"2146\": {\n    \"2505\": 3\n  }, \n  \"2147\": {\n    \"2505\": 4\n  }, \n  \"2148\": {\n    \"2505\": 5\n  }, \n  \"2149\": {\n    \"2505\": 1\n  }, \n  \"2150\": {\n    \"2505\": 2\n  }, \n  \"2151\": {\n    \"2505\": 3\n  }, \n  \"2152\": {\n    \"2505\": 4\n  }, \n  \"2153\": {\n    \"2505\": 5\n  }, \n  \"2154\": {\n    \"2505\": 1\n  }, \n  \"2155\": {\n    \"2505\": 2\n  }, \n  \"2156\": {\n    \"2505\": 3\n  }, \n  \"2157\": {\n    \"2505\": 4\n  }, \n  \"2158\": {\n    \"2505\": 5\n  }, \n  \"2159\": {\n    \"2505\": 1\n  }, \n  \"2160\": {\n    \"2505\": 2\n  }, \n  \"2161\": {\n    \"3331\": 1\n  }, \n  \"2165\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"2173\": {\n    \"3436\": 3, \n    \"33699\": 1\n  }, \n  \"2175\": {\n    \"3436\": 5, \n    \"12484\": 1, \n    \"33699\": 5\n  }, \n  \"2178\": {\n    \"3319\": 1, \n    \"32435\": 1\n  }, \n  \"2180\": {\n    \"3319\": 1, \n    \"32435\": 1\n  }, \n  \"2182\": {\n    \"3319\": 1, \n    \"32435\": 1\n  }, \n  \"2183\": {\n    \"3436\": 3, \n    \"33699\": 1\n  }, \n  \"2185\": {\n    \"3436\": 5, \n    \"12486\": 1, \n    \"33699\": 5\n  }, \n  \"2188\": {\n    \"3319\": 1, \n    \"32435\": 1\n  }, \n  \"2193\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"2195\": {\n    \"3436\": 5, \n    \"3441\": 5, \n    \"12484\": 1\n  }, \n  \"2203\": {\n    \"3436\": 1, \n    \"24241\": 1\n  }, \n  \"2205\": {\n    \"3436\": 5, \n    \"12484\": 1, \n    \"24241\": 5\n  }, \n  \"2210\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"2212\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"2258\": {\n    \"3427\": 4\n  }, \n  \"2259\": {\n    \"3427\": 4\n  }, \n  \"2260\": {\n    \"3427\": 4\n  }, \n  \"2261\": {\n    \"3427\": 4\n  }, \n  \"2262\": {\n    \"3427\": 4\n  }, \n  \"2281\": {\n    \"3420\": 4\n  }, \n  \"2289\": {\n    \"3420\": 1\n  }, \n  \"2291\": {\n    \"3420\": 1\n  }, \n  \"2293\": {\n    \"3420\": 1\n  }, \n  \"2295\": {\n    \"3420\": 1\n  }, \n  \"2297\": {\n    \"3420\": 4\n  }, \n  \"2299\": {\n    \"3420\": 4\n  }, \n  \"2301\": {\n    \"3420\": 4\n  }, \n  \"2303\": {\n    \"3420\": 4\n  }, \n  \"2331\": {\n    \"3424\": 2\n  }, \n  \"2333\": {\n    \"3426\": 2\n  }, \n  \"2341\": {\n    \"3429\": 2\n  }, \n  \"2355\": {\n    \"3392\": 1, \n    \"3393\": 2\n  }, \n  \"2363\": {\n    \"3318\": 1\n  }, \n  \"2364\": {\n    \"3318\": 4\n  }, \n  \"2403\": {\n    \"2406\": 4\n  }, \n  \"2404\": {\n    \"3319\": 3, \n    \"20210\": 1\n  }, \n  \"2406\": {\n    \"3402\": 4, \n    \"13279\": 3\n  }, \n  \"2410\": {\n    \"3319\": 4, \n    \"20211\": 1\n  }, \n  \"2420\": {\n    \"3319\": 4, \n    \"20213\": 1\n  }, \n  \"2436\": {\n    \"3436\": 5, \n    \"3441\": 5, \n    \"12487\": 1\n  }, \n  \"2444\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"2446\": {\n    \"3436\": 5, \n    \"3441\": 5, \n    \"12486\": 1\n  }, \n  \"2454\": {\n    \"3436\": 1, \n    \"24241\": 1\n  }, \n  \"2456\": {\n    \"3436\": 5, \n    \"12486\": 1, \n    \"24241\": 5\n  }, \n  \"2464\": {\n    \"3436\": 1, \n    \"24241\": 1\n  }, \n  \"2466\": {\n    \"3436\": 5, \n    \"12487\": 1, \n    \"24241\": 5\n  }, \n  \"2476\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"2478\": {\n    \"3436\": 5, \n    \"3441\": 5, \n    \"12485\": 1\n  }, \n  \"2486\": {\n    \"3436\": 1, \n    \"24241\": 1\n  }, \n  \"2488\": {\n    \"3436\": 5, \n    \"12485\": 1, \n    \"24241\": 5\n  }, \n  \"2506\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"2508\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"2510\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"2512\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"2514\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"2516\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"2528\": {\n    \"9955\": 1\n  }, \n  \"2529\": {\n    \"3425\": 1\n  }, \n  \"2531\": {\n    \"3425\": 4\n  }, \n  \"2537\": {\n    \"3425\": 1\n  }, \n  \"2539\": {\n    \"3425\": 4\n  }, \n  \"2545\": {\n    \"3425\": 1\n  }, \n  \"2547\": {\n    \"3425\": 4\n  }, \n  \"2553\": {\n    \"3425\": 4\n  }, \n  \"2559\": {\n    \"3427\": 4\n  }, \n  \"2563\": {\n    \"3427\": 4\n  }, \n  \"2567\": {\n    \"3427\": 4\n  }, \n  \"2571\": {\n    \"3427\": 4\n  }, \n  \"2574\": {\n    \"2505\": 3\n  }, \n  \"2575\": {\n    \"3427\": 4\n  }, \n  \"2576\": {\n    \"2505\": 4\n  }, \n  \"2577\": {\n    \"2505\": 5\n  }, \n  \"2578\": {\n    \"2505\": 1\n  }, \n  \"2579\": {\n    \"3432\": 1\n  }, \n  \"2580\": {\n    \"3432\": 3\n  }, \n  \"2581\": {\n    \"2505\": 2\n  }, \n  \"2582\": {\n    \"2505\": 3\n  }, \n  \"2583\": {\n    \"3432\": 1\n  }, \n  \"2584\": {\n    \"3432\": 3\n  }, \n  \"2585\": {\n    \"2505\": 4\n  }, \n  \"2586\": {\n    \"2505\": 5\n  }, \n  \"2587\": {\n    \"3432\": 1\n  }, \n  \"2588\": {\n    \"3432\": 3\n  }, \n  \"2589\": {\n    \"3411\": 2\n  }, \n  \"2591\": {\n    \"3432\": 1\n  }, \n  \"2592\": {\n    \"3432\": 3\n  }, \n  \"2603\": {\n    \"3394\": 1\n  }, \n  \"2605\": {\n    \"3394\": 2\n  }, \n  \"2613\": {\n    \"3319\": 5, \n    \"3321\": 5, \n    \"20210\": 1\n  }, \n  \"2621\": {\n    \"3319\": 5, \n    \"3326\": 5, \n    \"20212\": 1\n  }, \n  \"2629\": {\n    \"3319\": 5, \n    \"3324\": 5, \n    \"20211\": 1\n  }, \n  \"2637\": {\n    \"3319\": 5, \n    \"3326\": 5, \n    \"20212\": 1\n  }, \n  \"2647\": {\n    \"3319\": 5, \n    \"3321\": 5, \n    \"20210\": 1\n  }, \n  \"2655\": {\n    \"3319\": 5, \n    \"3324\": 5, \n    \"20211\": 1\n  }, \n  \"2679\": {\n    \"3319\": 5, \n    \"25718\": 1, \n    \"25719\": 5\n  }, \n  \"2801\": {\n    \"3319\": 5, \n    \"3325\": 5, \n    \"20213\": 1\n  }, \n  \"2811\": {\n    \"3319\": 5, \n    \"3325\": 5, \n    \"20213\": 1\n  }, \n  \"2817\": {\n    \"3319\": 5, \n    \"3320\": 5, \n    \"20209\": 1\n  }, \n  \"2834\": {\n    \"3328\": 5, \n    \"12095\": 1\n  }, \n  \"2836\": {\n    \"3332\": 5, \n    \"16591\": 1\n  }, \n  \"2838\": {\n    \"3402\": 1\n  }, \n  \"2850\": {\n    \"25863\": 1\n  }, \n  \"2865\": {\n    \"3300\": 5, \n    \"3308\": 5, \n    \"12203\": 1\n  }, \n  \"2873\": {\n    \"3300\": 2, \n    \"3302\": 5, \n    \"11084\": 1\n  }, \n  \"2881\": {\n    \"3300\": 2, \n    \"3302\": 5, \n    \"11084\": 1\n  }, \n  \"2889\": {\n    \"3300\": 2, \n    \"3302\": 5, \n    \"11084\": 1\n  }, \n  \"2897\": {\n    \"3300\": 3, \n    \"3305\": 5, \n    \"12208\": 1\n  }, \n  \"2905\": {\n    \"3300\": 2, \n    \"3302\": 5, \n    \"12201\": 1\n  }, \n  \"2913\": {\n    \"3300\": 3, \n    \"3305\": 5, \n    \"12208\": 1\n  }, \n  \"2921\": {\n    \"3300\": 3, \n    \"3305\": 5, \n    \"12202\": 1\n  }, \n  \"2929\": {\n    \"3300\": 5, \n    \"3308\": 5, \n    \"12209\": 1\n  }, \n  \"2937\": {\n    \"3300\": 3, \n    \"3305\": 5, \n    \"12208\": 1\n  }, \n  \"2945\": {\n    \"3300\": 5, \n    \"3308\": 5, \n    \"12209\": 1\n  }, \n  \"2948\": {\n    \"23069\": 1, \n    \"32339\": 1\n  }, \n  \"2953\": {\n    \"3300\": 5, \n    \"3308\": 5, \n    \"12209\": 1\n  }, \n  \"2961\": {\n    \"3300\": 5, \n    \"3308\": 5, \n    \"12203\": 1\n  }, \n  \"2969\": {\n    \"3300\": 3, \n    \"3305\": 5, \n    \"12202\": 1\n  }, \n  \"2977\": {\n    \"3300\": 2, \n    \"3302\": 5, \n    \"12201\": 1\n  }, \n  \"2985\": {\n    \"3300\": 5, \n    \"3309\": 5, \n    \"12205\": 1\n  }, \n  \"2993\": {\n    \"3300\": 1, \n    \"3303\": 5, \n    \"11083\": 1\n  }, \n  \"2998\": {\n    \"3184\": 1, \n    \"3402\": 1, \n    \"25863\": 1\n  }, \n  \"3001\": {\n    \"3300\": 1, \n    \"3303\": 5, \n    \"12213\": 1\n  }, \n  \"3009\": {\n    \"3300\": 3, \n    \"3306\": 5, \n    \"12204\": 1\n  }, \n  \"3017\": {\n    \"3300\": 1, \n    \"3303\": 5, \n    \"12213\": 1\n  }, \n  \"3025\": {\n    \"3300\": 3, \n    \"3306\": 5, \n    \"12204\": 1\n  }, \n  \"3033\": {\n    \"3300\": 1, \n    \"3303\": 5, \n    \"11083\": 1\n  }, \n  \"3041\": {\n    \"3300\": 1, \n    \"3303\": 5, \n    \"12213\": 1\n  }, \n  \"3049\": {\n    \"3300\": 5, \n    \"3309\": 5, \n    \"12205\": 1\n  }, \n  \"3057\": {\n    \"3300\": 5, \n    \"3309\": 5, \n    \"12215\": 1\n  }, \n  \"3065\": {\n    \"3300\": 5, \n    \"3309\": 5, \n    \"12205\": 1\n  }, \n  \"3074\": {\n    \"3300\": 1, \n    \"3301\": 5, \n    \"11082\": 1\n  }, \n  \"3077\": {\n    \"3411\": 1\n  }, \n  \"3078\": {\n    \"3411\": 3\n  }, \n  \"3079\": {\n    \"3411\": 5\n  }, \n  \"3080\": {\n    \"3411\": 1\n  }, \n  \"3081\": {\n    \"3411\": 3\n  }, \n  \"3082\": {\n    \"3300\": 3, \n    \"3304\": 5, \n    \"12206\": 1\n  }, \n  \"3084\": {\n    \"3411\": 5\n  }, \n  \"3085\": {\n    \"3411\": 1\n  }, \n  \"3086\": {\n    \"3411\": 3\n  }, \n  \"3087\": {\n    \"3411\": 5\n  }, \n  \"3088\": {\n    \"3411\": 1\n  }, \n  \"3089\": {\n    \"3411\": 3\n  }, \n  \"3090\": {\n    \"3300\": 5, \n    \"3307\": 5, \n    \"12207\": 1\n  }, \n  \"3092\": {\n    \"3411\": 5\n  }, \n  \"3093\": {\n    \"3411\": 1\n  }, \n  \"3094\": {\n    \"3411\": 3\n  }, \n  \"3095\": {\n    \"3411\": 5\n  }, \n  \"3096\": {\n    \"3411\": 1\n  }, \n  \"3097\": {\n    \"3411\": 3\n  }, \n  \"3098\": {\n    \"3300\": 1, \n    \"3301\": 5, \n    \"11082\": 1\n  }, \n  \"3100\": {\n    \"3411\": 5\n  }, \n  \"3101\": {\n    \"3411\": 1\n  }, \n  \"3102\": {\n    \"3411\": 3\n  }, \n  \"3103\": {\n    \"3411\": 5\n  }, \n  \"3104\": {\n    \"3411\": 1\n  }, \n  \"3105\": {\n    \"3411\": 3\n  }, \n  \"3106\": {\n    \"3300\": 3, \n    \"3304\": 5, \n    \"12206\": 1\n  }, \n  \"3108\": {\n    \"3411\": 5\n  }, \n  \"3109\": {\n    \"3411\": 1\n  }, \n  \"3110\": {\n    \"3411\": 3\n  }, \n  \"3111\": {\n    \"3411\": 5\n  }, \n  \"3112\": {\n    \"3411\": 1\n  }, \n  \"3113\": {\n    \"3411\": 3\n  }, \n  \"3114\": {\n    \"3300\": 5, \n    \"3307\": 5, \n    \"12207\": 1\n  }, \n  \"3116\": {\n    \"3411\": 5\n  }, \n  \"3117\": {\n    \"3411\": 1\n  }, \n  \"3118\": {\n    \"3411\": 3\n  }, \n  \"3119\": {\n    \"3411\": 5\n  }, \n  \"3120\": {\n    \"3411\": 1\n  }, \n  \"3121\": {\n    \"3411\": 3\n  }, \n  \"3122\": {\n    \"3300\": 5, \n    \"3307\": 5, \n    \"12212\": 1\n  }, \n  \"3124\": {\n    \"3411\": 5\n  }, \n  \"3125\": {\n    \"3411\": 1\n  }, \n  \"3126\": {\n    \"3411\": 3\n  }, \n  \"3127\": {\n    \"3411\": 5\n  }, \n  \"3128\": {\n    \"3411\": 1\n  }, \n  \"3129\": {\n    \"3411\": 3\n  }, \n  \"3130\": {\n    \"3300\": 3, \n    \"3304\": 5, \n    \"12211\": 1\n  }, \n  \"3132\": {\n    \"3411\": 5\n  }, \n  \"3133\": {\n    \"3411\": 1\n  }, \n  \"3134\": {\n    \"3411\": 3\n  }, \n  \"3135\": {\n    \"3411\": 5\n  }, \n  \"3136\": {\n    \"3411\": 1\n  }, \n  \"3137\": {\n    \"3411\": 3\n  }, \n  \"3138\": {\n    \"3300\": 3, \n    \"3304\": 5, \n    \"12211\": 1\n  }, \n  \"3140\": {\n    \"3411\": 5\n  }, \n  \"3141\": {\n    \"3411\": 1\n  }, \n  \"3142\": {\n    \"3411\": 3\n  }, \n  \"3143\": {\n    \"3411\": 5\n  }, \n  \"3144\": {\n    \"3411\": 1\n  }, \n  \"3145\": {\n    \"3411\": 3\n  }, \n  \"3146\": {\n    \"3300\": 3, \n    \"3304\": 5, \n    \"12211\": 1\n  }, \n  \"3148\": {\n    \"3411\": 5\n  }, \n  \"3149\": {\n    \"3411\": 1\n  }, \n  \"3150\": {\n    \"3411\": 3\n  }, \n  \"3151\": {\n    \"3411\": 5\n  }, \n  \"3152\": {\n    \"3411\": 1\n  }, \n  \"3153\": {\n    \"3411\": 3\n  }, \n  \"3154\": {\n    \"3300\": 5, \n    \"3307\": 5, \n    \"12212\": 1\n  }, \n  \"3156\": {\n    \"3411\": 5\n  }, \n  \"3157\": {\n    \"3411\": 1\n  }, \n  \"3158\": {\n    \"3411\": 3\n  }, \n  \"3159\": {\n    \"3411\": 5\n  }, \n  \"3160\": {\n    \"3411\": 1\n  }, \n  \"3161\": {\n    \"3411\": 3\n  }, \n  \"3162\": {\n    \"3300\": 1, \n    \"3301\": 5, \n    \"12210\": 1\n  }, \n  \"3164\": {\n    \"3411\": 5\n  }, \n  \"3165\": {\n    \"3411\": 1\n  }, \n  \"3166\": {\n    \"3411\": 3\n  }, \n  \"3167\": {\n    \"3411\": 5\n  }, \n  \"3168\": {\n    \"3411\": 1\n  }, \n  \"3169\": {\n    \"3411\": 3\n  }, \n  \"3170\": {\n    \"3300\": 1, \n    \"3301\": 5, \n    \"12210\": 1\n  }, \n  \"3172\": {\n    \"3411\": 5\n  }, \n  \"3173\": {\n    \"3411\": 1\n  }, \n  \"3174\": {\n    \"3411\": 3\n  }, \n  \"3175\": {\n    \"3411\": 5\n  }, \n  \"3176\": {\n    \"3411\": 1\n  }, \n  \"3177\": {\n    \"3411\": 3\n  }, \n  \"3178\": {\n    \"3300\": 1, \n    \"3301\": 5, \n    \"12210\": 1\n  }, \n  \"3180\": {\n    \"3411\": 5\n  }, \n  \"3181\": {\n    \"3411\": 1\n  }, \n  \"3182\": {\n    \"3411\": 3\n  }, \n  \"3183\": {\n    \"3411\": 5\n  }, \n  \"3184\": {\n    \"3327\": 3\n  }, \n  \"3185\": {\n    \"3411\": 1\n  }, \n  \"3186\": {\n    \"3300\": 5, \n    \"3307\": 5, \n    \"12212\": 1\n  }, \n  \"3188\": {\n    \"3411\": 3\n  }, \n  \"3189\": {\n    \"3411\": 5\n  }, \n  \"3190\": {\n    \"3411\": 1\n  }, \n  \"3191\": {\n    \"3411\": 3\n  }, \n  \"3192\": {\n    \"3411\": 5\n  }, \n  \"3193\": {\n    \"3411\": 1\n  }, \n  \"3194\": {\n    \"3411\": 3\n  }, \n  \"3195\": {\n    \"3411\": 5\n  }, \n  \"3196\": {\n    \"3411\": 1\n  }, \n  \"3197\": {\n    \"3411\": 3\n  }, \n  \"3198\": {\n    \"3411\": 5\n  }, \n  \"3199\": {\n    \"3411\": 1\n  }, \n  \"3200\": {\n    \"3411\": 3\n  }, \n  \"3201\": {\n    \"3411\": 5\n  }, \n  \"3202\": {\n    \"3411\": 1\n  }, \n  \"3203\": {\n    \"3411\": 1\n  }, \n  \"3204\": {\n    \"3411\": 1\n  }, \n  \"3205\": {\n    \"3411\": 1\n  }, \n  \"3206\": {\n    \"3411\": 1\n  }, \n  \"3207\": {\n    \"3411\": 1\n  }, \n  \"3208\": {\n    \"3411\": 1\n  }, \n  \"3209\": {\n    \"3411\": 2\n  }, \n  \"3210\": {\n    \"3411\": 3\n  }, \n  \"3211\": {\n    \"3411\": 2\n  }, \n  \"3212\": {\n    \"3411\": 3\n  }, \n  \"3213\": {\n    \"3411\": 3\n  }, \n  \"3214\": {\n    \"3411\": 4\n  }, \n  \"3215\": {\n    \"3411\": 5\n  }, \n  \"3216\": {\n    \"3411\": 4\n  }, \n  \"3217\": {\n    \"3411\": 1\n  }, \n  \"3218\": {\n    \"3386\": 2, \n    \"3436\": 1, \n    \"3438\": 1\n  }, \n  \"3220\": {\n    \"3411\": 1\n  }, \n  \"3221\": {\n    \"3411\": 3\n  }, \n  \"3222\": {\n    \"3411\": 1\n  }, \n  \"3223\": {\n    \"3411\": 3\n  }, \n  \"3224\": {\n    \"3411\": 5\n  }, \n  \"3225\": {\n    \"3411\": 1\n  }, \n  \"3226\": {\n    \"3411\": 1\n  }, \n  \"3227\": {\n    \"3411\": 3\n  }, \n  \"3228\": {\n    \"3411\": 1\n  }, \n  \"3229\": {\n    \"3411\": 3\n  }, \n  \"3230\": {\n    \"3411\": 5\n  }, \n  \"3231\": {\n    \"3411\": 1\n  }, \n  \"3232\": {\n    \"3411\": 2\n  }, \n  \"3233\": {\n    \"3411\": 4\n  }, \n  \"3234\": {\n    \"3411\": 2\n  }, \n  \"3235\": {\n    \"3411\": 4\n  }, \n  \"3236\": {\n    \"3411\": 1\n  }, \n  \"3237\": {\n    \"3411\": 1\n  }, \n  \"3238\": {\n    \"3411\": 3\n  }, \n  \"3239\": {\n    \"3411\": 5\n  }, \n  \"3240\": {\n    \"3411\": 1\n  }, \n  \"3241\": {\n    \"3411\": 3\n  }, \n  \"3242\": {\n    \"3435\": 1\n  }, \n  \"3244\": {\n    \"3435\": 2\n  }, \n  \"3246\": {\n    \"3411\": 5\n  }, \n  \"3247\": {\n    \"3411\": 1\n  }, \n  \"3248\": {\n    \"3411\": 3\n  }, \n  \"3249\": {\n    \"3411\": 5\n  }, \n  \"3250\": {\n    \"3411\": 1\n  }, \n  \"3251\": {\n    \"3411\": 3\n  }, \n  \"3252\": {\n    \"3411\": 5\n  }, \n  \"3253\": {\n    \"3411\": 1\n  }, \n  \"3254\": {\n    \"3411\": 3\n  }, \n  \"3255\": {\n    \"3411\": 5\n  }, \n  \"3256\": {\n    \"3411\": 1\n  }, \n  \"3257\": {\n    \"3411\": 3\n  }, \n  \"3258\": {\n    \"3411\": 5\n  }, \n  \"3261\": {\n    \"21718\": 1\n  }, \n  \"3262\": {\n    \"3411\": 1\n  }, \n  \"3263\": {\n    \"3411\": 3\n  }, \n  \"3264\": {\n    \"3411\": 5\n  }, \n  \"3265\": {\n    \"3411\": 1\n  }, \n  \"3266\": {\n    \"3411\": 3\n  }, \n  \"3267\": {\n    \"3411\": 5\n  }, \n  \"3268\": {\n    \"3411\": 1\n  }, \n  \"3269\": {\n    \"3411\": 3\n  }, \n  \"3270\": {\n    \"3411\": 5\n  }, \n  \"3271\": {\n    \"3411\": 1\n  }, \n  \"3272\": {\n    \"3411\": 3\n  }, \n  \"3273\": {\n    \"3411\": 5\n  }, \n  \"3274\": {\n    \"3411\": 1\n  }, \n  \"3275\": {\n    \"3411\": 3\n  }, \n  \"3276\": {\n    \"3411\": 5\n  }, \n  \"3277\": {\n    \"3411\": 1\n  }, \n  \"3278\": {\n    \"3411\": 3\n  }, \n  \"3279\": {\n    \"3411\": 5\n  }, \n  \"3280\": {\n    \"3411\": 1\n  }, \n  \"3281\": {\n    \"3411\": 3\n  }, \n  \"3282\": {\n    \"3411\": 5\n  }, \n  \"3283\": {\n    \"3411\": 1\n  }, \n  \"3284\": {\n    \"3411\": 3\n  }, \n  \"3285\": {\n    \"3300\": 3, \n    \"3306\": 5, \n    \"12204\": 1\n  }, \n  \"3287\": {\n    \"3411\": 5\n  }, \n  \"3288\": {\n    \"3411\": 1\n  }, \n  \"3289\": {\n    \"3411\": 3\n  }, \n  \"3290\": {\n    \"3411\": 5\n  }, \n  \"3291\": {\n    \"3411\": 1\n  }, \n  \"3292\": {\n    \"3411\": 3\n  }, \n  \"3299\": {\n    \"3411\": 5\n  }, \n  \"3301\": {\n    \"3300\": 1\n  }, \n  \"3302\": {\n    \"3300\": 1\n  }, \n  \"3303\": {\n    \"3300\": 1\n  }, \n  \"3304\": {\n    \"3300\": 3, \n    \"3301\": 3\n  }, \n  \"3305\": {\n    \"3300\": 3, \n    \"3302\": 3\n  }, \n  \"3306\": {\n    \"3300\": 3, \n    \"3303\": 3\n  }, \n  \"3307\": {\n    \"3300\": 5, \n    \"3304\": 3\n  }, \n  \"3308\": {\n    \"3300\": 5, \n    \"3305\": 3\n  }, \n  \"3309\": {\n    \"3300\": 5, \n    \"3306\": 3\n  }, \n  \"3310\": {\n    \"3300\": 2\n  }, \n  \"3311\": {\n    \"3300\": 2\n  }, \n  \"3312\": {\n    \"3300\": 2\n  }, \n  \"3315\": {\n    \"3300\": 4\n  }, \n  \"3316\": {\n    \"3300\": 2\n  }, \n  \"3317\": {\n    \"3300\": 4\n  }, \n  \"3318\": {\n    \"3300\": 2\n  }, \n  \"3320\": {\n    \"3319\": 1\n  }, \n  \"3321\": {\n    \"3319\": 2\n  }, \n  \"3322\": {\n    \"3319\": 2\n  }, \n  \"3324\": {\n    \"3319\": 3, \n    \"3321\": 3\n  }, \n  \"3325\": {\n    \"3319\": 4, \n    \"3324\": 3\n  }, \n  \"3326\": {\n    \"3319\": 5, \n    \"3324\": 3\n  }, \n  \"3328\": {\n    \"3327\": 1\n  }, \n  \"3329\": {\n    \"3327\": 1\n  }, \n  \"3330\": {\n    \"3327\": 1\n  }, \n  \"3331\": {\n    \"3327\": 1\n  }, \n  \"3332\": {\n    \"3327\": 2, \n    \"33093\": 3\n  }, \n  \"3333\": {\n    \"3327\": 2, \n    \"33094\": 3\n  }, \n  \"3334\": {\n    \"3327\": 2, \n    \"33092\": 3\n  }, \n  \"3335\": {\n    \"3327\": 2, \n    \"33091\": 3\n  }, \n  \"3336\": {\n    \"3327\": 4, \n    \"33097\": 3\n  }, \n  \"3337\": {\n    \"3327\": 4, \n    \"33098\": 3\n  }, \n  \"3338\": {\n    \"3327\": 4, \n    \"33096\": 3\n  }, \n  \"3339\": {\n    \"3327\": 4, \n    \"33095\": 3\n  }, \n  \"3340\": {\n    \"3327\": 3\n  }, \n  \"3341\": {\n    \"3327\": 3\n  }, \n  \"3342\": {\n    \"3327\": 3\n  }, \n  \"3343\": {\n    \"3327\": 3\n  }, \n  \"3344\": {\n    \"3336\": 3, \n    \"3348\": 5, \n    \"20533\": 5, \n    \"24562\": 1\n  }, \n  \"3345\": {\n    \"3337\": 3, \n    \"3348\": 5, \n    \"20533\": 5, \n    \"24562\": 1\n  }, \n  \"3346\": {\n    \"3338\": 3, \n    \"3348\": 5, \n    \"20533\": 5, \n    \"24562\": 1\n  }, \n  \"3347\": {\n    \"3339\": 3, \n    \"3348\": 5, \n    \"20533\": 5, \n    \"24562\": 1\n  }, \n  \"3349\": {\n    \"3348\": 1\n  }, \n  \"3350\": {\n    \"3348\": 1\n  }, \n  \"3351\": {\n    \"3348\": 1, \n    \"3350\": 5\n  }, \n  \"3352\": {\n    \"3348\": 1, \n    \"20495\": 5\n  }, \n  \"3354\": {\n    \"3348\": 5\n  }, \n  \"3356\": {\n    \"3355\": 1\n  }, \n  \"3357\": {\n    \"3355\": 2\n  }, \n  \"3358\": {\n    \"3355\": 4\n  }, \n  \"3359\": {\n    \"3355\": 3\n  }, \n  \"3361\": {\n    \"3355\": 3\n  }, \n  \"3362\": {\n    \"3355\": 5\n  }, \n  \"3364\": {\n    \"3348\": 2, \n    \"3363\": 4\n  }, \n  \"3365\": {\n    \"3363\": 4, \n    \"3392\": 3\n  }, \n  \"3366\": {\n    \"3363\": 5, \n    \"3380\": 3\n  }, \n  \"3367\": {\n    \"3363\": 3, \n    \"3385\": 3\n  }, \n  \"3368\": {\n    \"3355\": 3, \n    \"3363\": 2\n  }, \n  \"3369\": {\n    \"3363\": 2, \n    \"3444\": 3\n  }, \n  \"3370\": {\n    \"3363\": 5, \n    \"3402\": 1, \n    \"3403\": 5\n  }, \n  \"3371\": {\n    \"3359\": 2, \n    \"3363\": 3\n  }, \n  \"3372\": {\n    \"3363\": 3, \n    \"3412\": 4\n  }, \n  \"3373\": {\n    \"11584\": 4\n  }, \n  \"3381\": {\n    \"3380\": 3\n  }, \n  \"3382\": {\n    \"3380\": 3\n  }, \n  \"3383\": {\n    \"3380\": 3\n  }, \n  \"3384\": {\n    \"3380\": 3\n  }, \n  \"3385\": {\n    \"3380\": 1\n  }, \n  \"3387\": {\n    \"3380\": 3\n  }, \n  \"3388\": {\n    \"3380\": 3\n  }, \n  \"3389\": {\n    \"3385\": 4\n  }, \n  \"3390\": {\n    \"3380\": 4, \n    \"3385\": 4\n  }, \n  \"3391\": {\n    \"3380\": 5\n  }, \n  \"3393\": {\n    \"3392\": 1\n  }, \n  \"3394\": {\n    \"3392\": 1\n  }, \n  \"3395\": {\n    \"3380\": 2, \n    \"3392\": 1\n  }, \n  \"3396\": {\n    \"3380\": 3, \n    \"3392\": 2\n  }, \n  \"3397\": {\n    \"3392\": 3, \n    \"3395\": 4\n  }, \n  \"3398\": {\n    \"3397\": 4\n  }, \n  \"3400\": {\n    \"3380\": 5, \n    \"3392\": 5, \n    \"11584\": 5\n  }, \n  \"3403\": {\n    \"3402\": 3\n  }, \n  \"3405\": {\n    \"3402\": 1\n  }, \n  \"3406\": {\n    \"3402\": 3\n  }, \n  \"3408\": {\n    \"3402\": 5, \n    \"3403\": 4, \n    \"3409\": 4\n  }, \n  \"3409\": {\n    \"3402\": 4\n  }, \n  \"3410\": {\n    \"3386\": 4, \n    \"3402\": 4\n  }, \n  \"3411\": {\n    \"3402\": 3\n  }, \n  \"3412\": {\n    \"3402\": 3\n  }, \n  \"3414\": {\n    \"3411\": 1\n  }, \n  \"3415\": {\n    \"3411\": 3\n  }, \n  \"3416\": {\n    \"3413\": 1\n  }, \n  \"3417\": {\n    \"3413\": 1\n  }, \n  \"3418\": {\n    \"3413\": 3\n  }, \n  \"3419\": {\n    \"3413\": 3\n  }, \n  \"3420\": {\n    \"3413\": 3\n  }, \n  \"3421\": {\n    \"3402\": 2, \n    \"3413\": 2\n  }, \n  \"3422\": {\n    \"3402\": 2, \n    \"3413\": 3\n  }, \n  \"3423\": {\n    \"3402\": 2, \n    \"3413\": 3\n  }, \n  \"3424\": {\n    \"3402\": 1, \n    \"3413\": 2\n  }, \n  \"3425\": {\n    \"3402\": 1, \n    \"3413\": 2\n  }, \n  \"3427\": {\n    \"3426\": 1\n  }, \n  \"3428\": {\n    \"3426\": 2\n  }, \n  \"3429\": {\n    \"3426\": 1\n  }, \n  \"3430\": {\n    \"3429\": 5\n  }, \n  \"3431\": {\n    \"3426\": 1\n  }, \n  \"3432\": {\n    \"3413\": 2, \n    \"3426\": 2\n  }, \n  \"3433\": {\n    \"3426\": 3\n  }, \n  \"3434\": {\n    \"3426\": 3\n  }, \n  \"3435\": {\n    \"3426\": 3, \n    \"3449\": 2\n  }, \n  \"3437\": {\n    \"3436\": 1\n  }, \n  \"3438\": {\n    \"3386\": 2, \n    \"3436\": 1\n  }, \n  \"3439\": {\n    \"3436\": 5, \n    \"23618\": 1\n  }, \n  \"3440\": {\n    \"3436\": 4, \n    \"25863\": 2\n  }, \n  \"3441\": {\n    \"3436\": 5\n  }, \n  \"3442\": {\n    \"3436\": 5\n  }, \n  \"3444\": {\n    \"3443\": 2\n  }, \n  \"3445\": {\n    \"3443\": 2, \n    \"3444\": 2\n  }, \n  \"3446\": {\n    \"3443\": 2\n  }, \n  \"3447\": {\n    \"16594\": 4\n  }, \n  \"3448\": {\n    \"3445\": 3\n  }, \n  \"3450\": {\n    \"3449\": 1\n  }, \n  \"3451\": {\n    \"3449\": 2, \n    \"3450\": 2\n  }, \n  \"3452\": {\n    \"3449\": 3\n  }, \n  \"3453\": {\n    \"3449\": 2\n  }, \n  \"3454\": {\n    \"3449\": 3, \n    \"3450\": 3\n  }, \n  \"3455\": {\n    \"3449\": 1\n  }, \n  \"3456\": {\n    \"3402\": 5, \n    \"3449\": 5, \n    \"3455\": 5\n  }, \n  \"3465\": {\n    \"11584\": 1\n  }, \n  \"3466\": {\n    \"11584\": 1\n  }, \n  \"3467\": {\n    \"11584\": 1\n  }, \n  \"3469\": {\n    \"3426\": 2\n  }, \n  \"3470\": {\n    \"3411\": 5\n  }, \n  \"3471\": {\n    \"3411\": 1\n  }, \n  \"3472\": {\n    \"3424\": 5\n  }, \n  \"3474\": {\n    \"3411\": 3\n  }, \n  \"3475\": {\n    \"3411\": 5\n  }, \n  \"3476\": {\n    \"3411\": 1\n  }, \n  \"3477\": {\n    \"3411\": 3\n  }, \n  \"3478\": {\n    \"3411\": 5\n  }, \n  \"3479\": {\n    \"3411\": 1\n  }, \n  \"3480\": {\n    \"3424\": 2\n  }, \n  \"3481\": {\n    \"3411\": 3\n  }, \n  \"3482\": {\n    \"3411\": 5\n  }, \n  \"3488\": {\n    \"3424\": 2\n  }, \n  \"3491\": {\n    \"21718\": 1\n  }, \n  \"3496\": {\n    \"3424\": 3\n  }, \n  \"3504\": {\n    \"3424\": 4\n  }, \n  \"3512\": {\n    \"3300\": 3, \n    \"3306\": 5, \n    \"12214\": 1\n  }, \n  \"3514\": {\n    \"20533\": 1, \n    \"24311\": 1, \n    \"24312\": 1\n  }, \n  \"3516\": {\n    \"3331\": 5, \n    \"12095\": 1\n  }, \n  \"3518\": {\n    \"3335\": 5, \n    \"16591\": 1\n  }, \n  \"3520\": {\n    \"3300\": 3, \n    \"3306\": 5, \n    \"12214\": 1\n  }, \n  \"3528\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"3530\": {\n    \"3392\": 4, \n    \"3393\": 4\n  }, \n  \"3534\": {\n    \"21803\": 1\n  }, \n  \"3536\": {\n    \"24568\": 1\n  }, \n  \"3538\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"3540\": {\n    \"3392\": 5, \n    \"3393\": 4\n  }, \n  \"3542\": {\n    \"21802\": 1\n  }, \n  \"3544\": {\n    \"24571\": 1\n  }, \n  \"3546\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"3549\": {\n    \"3436\": 1, \n    \"3437\": 1\n  }, \n  \"3550\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"3551\": {\n    \"3426\": 1\n  }, \n  \"3556\": {\n    \"3417\": 1\n  }, \n  \"3558\": {\n    \"3417\": 2\n  }, \n  \"3559\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"3561\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"3563\": {\n    \"3319\": 5, \n    \"32435\": 1\n  }, \n  \"3565\": {\n    \"3319\": 5, \n    \"21668\": 1\n  }, \n  \"3566\": {\n    \"3417\": 1\n  }, \n  \"3568\": {\n    \"3417\": 3\n  }, \n  \"3571\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"3573\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"3575\": {\n    \"3423\": 1, \n    \"24572\": 1\n  }, \n  \"3576\": {\n    \"3417\": 1\n  }, \n  \"3578\": {\n    \"3417\": 4\n  }, \n  \"3581\": {\n    \"21718\": 1\n  }, \n  \"3586\": {\n    \"3422\": 1\n  }, \n  \"3588\": {\n    \"3422\": 3\n  }, \n  \"3596\": {\n    \"3422\": 1\n  }, \n  \"3598\": {\n    \"3422\": 4\n  }, \n  \"3606\": {\n    \"3422\": 1\n  }, \n  \"3608\": {\n    \"3422\": 4\n  }, \n  \"3616\": {\n    \"24571\": 1\n  }, \n  \"3618\": {\n    \"24571\": 4\n  }, \n  \"3634\": {\n    \"3300\": 1\n  }, \n  \"3636\": {\n    \"3300\": 1\n  }, \n  \"3638\": {\n    \"3300\": 1\n  }, \n  \"3640\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"3651\": {\n    \"3386\": 1\n  }, \n  \"3653\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"3655\": {\n    \"3392\": 3, \n    \"3393\": 2\n  }, \n  \"3663\": {\n    \"3392\": 5, \n    \"3393\": 1\n  }, \n  \"3665\": {\n    \"3392\": 5, \n    \"3393\": 2\n  }, \n  \"3731\": {\n    \"3363\": 5\n  }, \n  \"3732\": {\n    \"3731\": 5\n  }, \n  \"3733\": {\n    \"3319\": 1\n  }, \n  \"3735\": {\n    \"3319\": 1\n  }, \n  \"3737\": {\n    \"3319\": 1\n  }, \n  \"3751\": {\n    \"3755\": 1\n  }, \n  \"3753\": {\n    \"3755\": 1\n  }, \n  \"3755\": {\n    \"3327\": 5\n  }, \n  \"3756\": {\n    \"3327\": 1\n  }, \n  \"3758\": {\n    \"3327\": 3, \n    \"3330\": 4\n  }, \n  \"3764\": {\n    \"3346\": 1, \n    \"20533\": 5\n  }, \n  \"3766\": {\n    \"3329\": 1\n  }, \n  \"3768\": {\n    \"3331\": 5\n  }, \n  \"3793\": {\n    \"21718\": 1\n  }, \n  \"3829\": {\n    \"3425\": 1\n  }, \n  \"3831\": {\n    \"3425\": 4\n  }, \n  \"3839\": {\n    \"3425\": 1\n  }, \n  \"3841\": {\n    \"3425\": 4\n  }, \n  \"3849\": {\n    \"3425\": 1\n  }, \n  \"3851\": {\n    \"3425\": 2\n  }, \n  \"3887\": {\n    \"3432\": 1\n  }, \n  \"3888\": {\n    \"3432\": 4\n  }, \n  \"3893\": {\n    \"3355\": 3, \n    \"3380\": 3\n  }, \n  \"3894\": {\n    \"3355\": 3, \n    \"3443\": 3\n  }, \n  \"3895\": {\n    \"3348\": 3, \n    \"3355\": 3\n  }, \n  \"3897\": {\n    \"3421\": 1\n  }, \n  \"3899\": {\n    \"3421\": 2\n  }, \n  \"3901\": {\n    \"3421\": 1\n  }, \n  \"3903\": {\n    \"3421\": 2\n  }, \n  \"3907\": {\n    \"3421\": 1\n  }, \n  \"3909\": {\n    \"3421\": 2\n  }, \n  \"3913\": {\n    \"3421\": 1\n  }, \n  \"3915\": {\n    \"3421\": 2\n  }, \n  \"3937\": {\n    \"3421\": 1\n  }, \n  \"3939\": {\n    \"3421\": 4\n  }, \n  \"3941\": {\n    \"3421\": 1\n  }, \n  \"3943\": {\n    \"3421\": 4\n  }, \n  \"3947\": {\n    \"3421\": 1\n  }, \n  \"3949\": {\n    \"3421\": 4\n  }, \n  \"3953\": {\n    \"3421\": 1\n  }, \n  \"3955\": {\n    \"3421\": 4\n  }, \n  \"3962\": {\n    \"11584\": 1\n  }, \n  \"3977\": {\n    \"3421\": 1\n  }, \n  \"3979\": {\n    \"3421\": 5\n  }, \n  \"3981\": {\n    \"3421\": 1\n  }, \n  \"3983\": {\n    \"3421\": 5\n  }, \n  \"3986\": {\n    \"27902\": 5\n  }, \n  \"3987\": {\n    \"3421\": 1\n  }, \n  \"3989\": {\n    \"3421\": 5\n  }, \n  \"3993\": {\n    \"3421\": 1\n  }, \n  \"3995\": {\n    \"3421\": 5\n  }, \n  \"4005\": {\n    \"3338\": 1\n  }, \n  \"4013\": {\n    \"3432\": 1\n  }, \n  \"4014\": {\n    \"3432\": 3\n  }, \n  \"4025\": {\n    \"3435\": 1\n  }, \n  \"4027\": {\n    \"3435\": 1\n  }, \n  \"4029\": {\n    \"3435\": 1\n  }, \n  \"4031\": {\n    \"3435\": 1\n  }, \n  \"4147\": {\n    \"3300\": 5, \n    \"3309\": 5, \n    \"12215\": 1\n  }, \n  \"4248\": {\n    \"3435\": 5, \n    \"11446\": 5\n  }, \n  \"4250\": {\n    \"3402\": 5\n  }, \n  \"4252\": {\n    \"11446\": 5\n  }, \n  \"4254\": {\n    \"3418\": 5\n  }, \n  \"4256\": {\n    \"28073\": 5\n  }, \n  \"4258\": {\n    \"3412\": 5\n  }, \n  \"4260\": {\n    \"3412\": 5\n  }, \n  \"4262\": {\n    \"3348\": 5, \n    \"11569\": 5\n  }, \n  \"4264\": {\n    \"3348\": 5, \n    \"11569\": 5\n  }, \n  \"4266\": {\n    \"3348\": 5, \n    \"11569\": 5\n  }, \n  \"4268\": {\n    \"3348\": 5, \n    \"3352\": 5\n  }, \n  \"4270\": {\n    \"3348\": 5, \n    \"3352\": 5\n  }, \n  \"4272\": {\n    \"3348\": 5, \n    \"3352\": 5\n  }, \n  \"4274\": {\n    \"3348\": 5, \n    \"22552\": 5\n  }, \n  \"4276\": {\n    \"3348\": 5, \n    \"22552\": 5\n  }, \n  \"4278\": {\n    \"3348\": 5, \n    \"22552\": 5\n  }, \n  \"4280\": {\n    \"3348\": 5, \n    \"3351\": 5\n  }, \n  \"4282\": {\n    \"3348\": 5, \n    \"3351\": 5\n  }, \n  \"4284\": {\n    \"3348\": 5, \n    \"3351\": 5\n  }, \n  \"4286\": {\n    \"3348\": 5, \n    \"11572\": 5\n  }, \n  \"4288\": {\n    \"3348\": 5, \n    \"11572\": 5\n  }, \n  \"4290\": {\n    \"3348\": 5, \n    \"11572\": 5\n  }, \n  \"4292\": {\n    \"22043\": 5\n  }, \n  \"4294\": {\n    \"27906\": 5\n  }, \n  \"4296\": {\n    \"27902\": 5\n  }, \n  \"4299\": {\n    \"27902\": 5\n  }, \n  \"4302\": {\n    \"33095\": 1\n  }, \n  \"4306\": {\n    \"33096\": 1\n  }, \n  \"4308\": {\n    \"33097\": 1\n  }, \n  \"4310\": {\n    \"33098\": 1\n  }, \n  \"4345\": {\n    \"3420\": 1\n  }, \n  \"4346\": {\n    \"3420\": 1\n  }, \n  \"4347\": {\n    \"3420\": 1\n  }, \n  \"4348\": {\n    \"3420\": 1\n  }, \n  \"4349\": {\n    \"3420\": 1\n  }, \n  \"4360\": {\n    \"9955\": 5\n  }, \n  \"4363\": {\n    \"3340\": 1\n  }, \n  \"4371\": {\n    \"9955\": 5\n  }, \n  \"4372\": {\n    \"9955\": 5\n  }, \n  \"4373\": {\n    \"9955\": 5\n  }, \n  \"4374\": {\n    \"9955\": 5\n  }, \n  \"4375\": {\n    \"9955\": 5\n  }, \n  \"4376\": {\n    \"9955\": 5\n  }, \n  \"4377\": {\n    \"9955\": 5\n  }, \n  \"4380\": {\n    \"9955\": 5\n  }, \n  \"4383\": {\n    \"4385\": 1\n  }, \n  \"4385\": {\n    \"3449\": 4, \n    \"3455\": 2\n  }, \n  \"4386\": {\n    \"3435\": 4, \n    \"4385\": 3, \n    \"11584\": 3\n  }, \n  \"4388\": {\n    \"3340\": 1\n  }, \n  \"4391\": {\n    \"3416\": 2\n  }, \n  \"4393\": {\n    \"3318\": 1, \n    \"3436\": 1\n  }, \n  \"4403\": {\n    \"3394\": 3\n  }, \n  \"4405\": {\n    \"3318\": 4, \n    \"3436\": 4\n  }, \n  \"4409\": {\n    \"3427\": 4\n  }, \n  \"4411\": {\n    \"3426\": 4\n  }, \n  \"4421\": {\n    \"3424\": 2\n  }, \n  \"4423\": {\n    \"3424\": 2\n  }, \n  \"4425\": {\n    \"3424\": 2\n  }, \n  \"4427\": {\n    \"3424\": 2\n  }, \n  \"4431\": {\n    \"3424\": 2\n  }, \n  \"4433\": {\n    \"3424\": 2\n  }, \n  \"4435\": {\n    \"3424\": 2\n  }, \n  \"4437\": {\n    \"3424\": 2\n  }, \n  \"4471\": {\n    \"3423\": 1\n  }, \n  \"4473\": {\n    \"3423\": 1\n  }, \n  \"4475\": {\n    \"3423\": 1\n  }, \n  \"4477\": {\n    \"3423\": 1\n  }, \n  \"4529\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"4531\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"4533\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"4535\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"4569\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"4571\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"4573\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"4575\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"4579\": {\n    \"3392\": 4, \n    \"3393\": 4\n  }, \n  \"4609\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"4611\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"4613\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"4615\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"4621\": {\n    \"3392\": 5, \n    \"3393\": 4\n  }, \n  \"4745\": {\n    \"3413\": 1\n  }, \n  \"4747\": {\n    \"3413\": 1\n  }, \n  \"4749\": {\n    \"3413\": 1\n  }, \n  \"4751\": {\n    \"3413\": 1\n  }, \n  \"4785\": {\n    \"3424\": 1\n  }, \n  \"4787\": {\n    \"3424\": 1\n  }, \n  \"4789\": {\n    \"3424\": 2\n  }, \n  \"4791\": {\n    \"3424\": 1\n  }, \n  \"4829\": {\n    \"3417\": 1\n  }, \n  \"4831\": {\n    \"3417\": 1\n  }, \n  \"4833\": {\n    \"3417\": 1\n  }, \n  \"4835\": {\n    \"3417\": 1\n  }, \n  \"4869\": {\n    \"3424\": 3\n  }, \n  \"4871\": {\n    \"3424\": 2\n  }, \n  \"4873\": {\n    \"3424\": 4\n  }, \n  \"4875\": {\n    \"3424\": 2\n  }, \n  \"4909\": {\n    \"3424\": 4\n  }, \n  \"4911\": {\n    \"3424\": 2\n  }, \n  \"4913\": {\n    \"3424\": 5\n  }, \n  \"4915\": {\n    \"3424\": 3\n  }, \n  \"4955\": {\n    \"3417\": 1\n  }, \n  \"4957\": {\n    \"3417\": 1\n  }, \n  \"4959\": {\n    \"3417\": 1\n  }, \n  \"4961\": {\n    \"3417\": 1\n  }, \n  \"5007\": {\n    \"3417\": 1\n  }, \n  \"5009\": {\n    \"3417\": 1\n  }, \n  \"5011\": {\n    \"3417\": 1\n  }, \n  \"5013\": {\n    \"3417\": 1\n  }, \n  \"5017\": {\n    \"3417\": 3\n  }, \n  \"5047\": {\n    \"3417\": 1\n  }, \n  \"5049\": {\n    \"3417\": 1\n  }, \n  \"5051\": {\n    \"3417\": 1\n  }, \n  \"5053\": {\n    \"3417\": 1\n  }, \n  \"5087\": {\n    \"3423\": 1\n  }, \n  \"5089\": {\n    \"3423\": 1\n  }, \n  \"5091\": {\n    \"3423\": 1\n  }, \n  \"5093\": {\n    \"3423\": 1\n  }, \n  \"5135\": {\n    \"3423\": 1\n  }, \n  \"5137\": {\n    \"3423\": 1\n  }, \n  \"5139\": {\n    \"3423\": 1\n  }, \n  \"5141\": {\n    \"3423\": 1\n  }, \n  \"5175\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"5177\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"5179\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"5181\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"5215\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"5217\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"5219\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"5221\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"5231\": {\n    \"3386\": 1\n  }, \n  \"5233\": {\n    \"3386\": 1\n  }, \n  \"5235\": {\n    \"3386\": 1\n  }, \n  \"5237\": {\n    \"3386\": 1\n  }, \n  \"5239\": {\n    \"3386\": 1\n  }, \n  \"5241\": {\n    \"3386\": 1\n  }, \n  \"5243\": {\n    \"3386\": 1\n  }, \n  \"5245\": {\n    \"3386\": 1\n  }, \n  \"5279\": {\n    \"3433\": 1\n  }, \n  \"5280\": {\n    \"3433\": 1\n  }, \n  \"5281\": {\n    \"3433\": 1\n  }, \n  \"5282\": {\n    \"3433\": 1\n  }, \n  \"5299\": {\n    \"3433\": 1\n  }, \n  \"5300\": {\n    \"3433\": 1\n  }, \n  \"5301\": {\n    \"3433\": 1\n  }, \n  \"5302\": {\n    \"3433\": 1\n  }, \n  \"5319\": {\n    \"3434\": 1\n  }, \n  \"5320\": {\n    \"3434\": 1\n  }, \n  \"5321\": {\n    \"3434\": 1\n  }, \n  \"5322\": {\n    \"3434\": 1\n  }, \n  \"5339\": {\n    \"3433\": 1\n  }, \n  \"5340\": {\n    \"3433\": 1\n  }, \n  \"5341\": {\n    \"3433\": 1\n  }, \n  \"5342\": {\n    \"3433\": 1\n  }, \n  \"5359\": {\n    \"3427\": 1\n  }, \n  \"5361\": {\n    \"3427\": 1\n  }, \n  \"5363\": {\n    \"3427\": 1\n  }, \n  \"5365\": {\n    \"3427\": 1\n  }, \n  \"5399\": {\n    \"3435\": 1\n  }, \n  \"5401\": {\n    \"3435\": 1\n  }, \n  \"5403\": {\n    \"3435\": 1\n  }, \n  \"5405\": {\n    \"3435\": 1\n  }, \n  \"5439\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"5441\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"5443\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"5445\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"5479\": {\n    \"3392\": 1\n  }, \n  \"5481\": {\n    \"3392\": 1\n  }, \n  \"5483\": {\n    \"3392\": 1\n  }, \n  \"5485\": {\n    \"3392\": 1\n  }, \n  \"5487\": {\n    \"3394\": 1\n  }, \n  \"5489\": {\n    \"3394\": 1\n  }, \n  \"5491\": {\n    \"3394\": 1\n  }, \n  \"5493\": {\n    \"3394\": 1\n  }, \n  \"5519\": {\n    \"3392\": 1\n  }, \n  \"5521\": {\n    \"3392\": 1\n  }, \n  \"5523\": {\n    \"3392\": 1\n  }, \n  \"5525\": {\n    \"3392\": 1\n  }, \n  \"5527\": {\n    \"3394\": 1\n  }, \n  \"5529\": {\n    \"3394\": 1\n  }, \n  \"5531\": {\n    \"3394\": 1\n  }, \n  \"5533\": {\n    \"3394\": 1\n  }, \n  \"5559\": {\n    \"3394\": 1\n  }, \n  \"5561\": {\n    \"3394\": 1\n  }, \n  \"5591\": {\n    \"3394\": 1\n  }, \n  \"5593\": {\n    \"3394\": 1\n  }, \n  \"5595\": {\n    \"3394\": 1\n  }, \n  \"5597\": {\n    \"3394\": 1\n  }, \n  \"5599\": {\n    \"3394\": 1\n  }, \n  \"5601\": {\n    \"3394\": 1\n  }, \n  \"5611\": {\n    \"3392\": 1\n  }, \n  \"5613\": {\n    \"3392\": 1\n  }, \n  \"5615\": {\n    \"3392\": 1\n  }, \n  \"5617\": {\n    \"3392\": 1\n  }, \n  \"5627\": {\n    \"3394\": 1\n  }, \n  \"5629\": {\n    \"3394\": 1\n  }, \n  \"5631\": {\n    \"3394\": 1\n  }, \n  \"5633\": {\n    \"3394\": 1\n  }, \n  \"5643\": {\n    \"3394\": 1\n  }, \n  \"5645\": {\n    \"3394\": 1\n  }, \n  \"5647\": {\n    \"3394\": 1\n  }, \n  \"5649\": {\n    \"3394\": 1\n  }, \n  \"5675\": {\n    \"3392\": 1\n  }, \n  \"5677\": {\n    \"3392\": 1\n  }, \n  \"5679\": {\n    \"3392\": 1\n  }, \n  \"5681\": {\n    \"3392\": 1\n  }, \n  \"5683\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"5693\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"5697\": {\n    \"3392\": 5, \n    \"3393\": 1\n  }, \n  \"5719\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"5721\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"5723\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"5743\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"5745\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"5747\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"5755\": {\n    \"3392\": 5, \n    \"3393\": 1\n  }, \n  \"5757\": {\n    \"3392\": 5, \n    \"3393\": 1\n  }, \n  \"5759\": {\n    \"3392\": 5, \n    \"3393\": 1\n  }, \n  \"5829\": {\n    \"3392\": 1\n  }, \n  \"5831\": {\n    \"3392\": 1\n  }, \n  \"5833\": {\n    \"3392\": 1\n  }, \n  \"5835\": {\n    \"3392\": 1\n  }, \n  \"5837\": {\n    \"3394\": 1\n  }, \n  \"5839\": {\n    \"3394\": 1\n  }, \n  \"5841\": {\n    \"3394\": 1\n  }, \n  \"5843\": {\n    \"3394\": 1\n  }, \n  \"5845\": {\n    \"3318\": 1\n  }, \n  \"5846\": {\n    \"3318\": 1\n  }, \n  \"5849\": {\n    \"3318\": 1\n  }, \n  \"5854\": {\n    \"3318\": 1\n  }, \n  \"5855\": {\n    \"3318\": 1\n  }, \n  \"5856\": {\n    \"3318\": 1\n  }, \n  \"5857\": {\n    \"3318\": 1\n  }, \n  \"5858\": {\n    \"3318\": 1\n  }, \n  \"5865\": {\n    \"3429\": 1\n  }, \n  \"5867\": {\n    \"3429\": 1\n  }, \n  \"5869\": {\n    \"3429\": 1\n  }, \n  \"5871\": {\n    \"3429\": 1\n  }, \n  \"5913\": {\n    \"3318\": 1\n  }, \n  \"5915\": {\n    \"3318\": 1\n  }, \n  \"5917\": {\n    \"3318\": 1\n  }, \n  \"5919\": {\n    \"3318\": 1\n  }, \n  \"5929\": {\n    \"3318\": 1\n  }, \n  \"5931\": {\n    \"3318\": 1\n  }, \n  \"5933\": {\n    \"3318\": 1\n  }, \n  \"5935\": {\n    \"3318\": 1\n  }, \n  \"5945\": {\n    \"3454\": 1\n  }, \n  \"5955\": {\n    \"3450\": 1\n  }, \n  \"5971\": {\n    \"3454\": 1\n  }, \n  \"5973\": {\n    \"3454\": 1\n  }, \n  \"5975\": {\n    \"3454\": 1\n  }, \n  \"6001\": {\n    \"3450\": 1\n  }, \n  \"6003\": {\n    \"3450\": 1\n  }, \n  \"6005\": {\n    \"3450\": 1\n  }, \n  \"6041\": {\n    \"3429\": 1\n  }, \n  \"6043\": {\n    \"3429\": 1\n  }, \n  \"6045\": {\n    \"3429\": 1\n  }, \n  \"6047\": {\n    \"3429\": 1\n  }, \n  \"6073\": {\n    \"3424\": 1\n  }, \n  \"6083\": {\n    \"3424\": 3\n  }, \n  \"6097\": {\n    \"3424\": 2\n  }, \n  \"6111\": {\n    \"3424\": 2\n  }, \n  \"6129\": {\n    \"3426\": 1\n  }, \n  \"6131\": {\n    \"3426\": 1\n  }, \n  \"6133\": {\n    \"3426\": 1\n  }, \n  \"6135\": {\n    \"3426\": 1\n  }, \n  \"6157\": {\n    \"3428\": 1\n  }, \n  \"6158\": {\n    \"3428\": 1\n  }, \n  \"6159\": {\n    \"3428\": 1\n  }, \n  \"6160\": {\n    \"3428\": 1\n  }, \n  \"6173\": {\n    \"3317\": 1\n  }, \n  \"6174\": {\n    \"3317\": 1\n  }, \n  \"6175\": {\n    \"3317\": 1\n  }, \n  \"6176\": {\n    \"3317\": 1\n  }, \n  \"6193\": {\n    \"3426\": 1\n  }, \n  \"6194\": {\n    \"3426\": 1\n  }, \n  \"6195\": {\n    \"3432\": 1\n  }, \n  \"6199\": {\n    \"3432\": 1\n  }, \n  \"6202\": {\n    \"3426\": 1\n  }, \n  \"6203\": {\n    \"3432\": 1\n  }, \n  \"6207\": {\n    \"3432\": 1\n  }, \n  \"6212\": {\n    \"3432\": 1\n  }, \n  \"6216\": {\n    \"3426\": 1\n  }, \n  \"6217\": {\n    \"3426\": 1\n  }, \n  \"6218\": {\n    \"3432\": 1\n  }, \n  \"6222\": {\n    \"3432\": 1\n  }, \n  \"6225\": {\n    \"3426\": 1\n  }, \n  \"6226\": {\n    \"3432\": 1\n  }, \n  \"6230\": {\n    \"3432\": 1\n  }, \n  \"6234\": {\n    \"3432\": 1\n  }, \n  \"6238\": {\n    \"3426\": 1\n  }, \n  \"6239\": {\n    \"3426\": 1\n  }, \n  \"6241\": {\n    \"3426\": 1\n  }, \n  \"6242\": {\n    \"3426\": 1\n  }, \n  \"6243\": {\n    \"3432\": 1\n  }, \n  \"6244\": {\n    \"3432\": 1\n  }, \n  \"6251\": {\n    \"3432\": 1\n  }, \n  \"6252\": {\n    \"3432\": 1\n  }, \n  \"6257\": {\n    \"3426\": 1\n  }, \n  \"6258\": {\n    \"3426\": 1\n  }, \n  \"6259\": {\n    \"3432\": 1\n  }, \n  \"6260\": {\n    \"3432\": 1\n  }, \n  \"6267\": {\n    \"3432\": 1\n  }, \n  \"6268\": {\n    \"3432\": 1\n  }, \n  \"6275\": {\n    \"3432\": 1\n  }, \n  \"6276\": {\n    \"3432\": 1\n  }, \n  \"6283\": {\n    \"3426\": 1\n  }, \n  \"6284\": {\n    \"3426\": 1\n  }, \n  \"6285\": {\n    \"3426\": 1\n  }, \n  \"6286\": {\n    \"3426\": 1\n  }, \n  \"6289\": {\n    \"3426\": 1\n  }, \n  \"6290\": {\n    \"3426\": 1\n  }, \n  \"6291\": {\n    \"3426\": 1\n  }, \n  \"6292\": {\n    \"3426\": 1\n  }, \n  \"6293\": {\n    \"3432\": 1\n  }, \n  \"6294\": {\n    \"3432\": 1\n  }, \n  \"6295\": {\n    \"3432\": 1\n  }, \n  \"6296\": {\n    \"3432\": 1\n  }, \n  \"6309\": {\n    \"3426\": 1\n  }, \n  \"6310\": {\n    \"3426\": 1\n  }, \n  \"6311\": {\n    \"3426\": 1\n  }, \n  \"6312\": {\n    \"3426\": 1\n  }, \n  \"6321\": {\n    \"3318\": 1\n  }, \n  \"6322\": {\n    \"3318\": 1\n  }, \n  \"6323\": {\n    \"3318\": 1\n  }, \n  \"6324\": {\n    \"3318\": 1\n  }, \n  \"6325\": {\n    \"3318\": 1\n  }, \n  \"6326\": {\n    \"3318\": 1\n  }, \n  \"6327\": {\n    \"3318\": 1\n  }, \n  \"6328\": {\n    \"3318\": 1\n  }, \n  \"6437\": {\n    \"3416\": 1\n  }, \n  \"6439\": {\n    \"3416\": 1\n  }, \n  \"6441\": {\n    \"3416\": 1\n  }, \n  \"6443\": {\n    \"3416\": 1\n  }, \n  \"6485\": {\n    \"3425\": 3\n  }, \n  \"6487\": {\n    \"3425\": 3\n  }, \n  \"6489\": {\n    \"3425\": 3\n  }, \n  \"6491\": {\n    \"3425\": 3\n  }, \n  \"6525\": {\n    \"3426\": 1\n  }, \n  \"6527\": {\n    \"3426\": 1\n  }, \n  \"6529\": {\n    \"3426\": 1\n  }, \n  \"6531\": {\n    \"3426\": 1\n  }, \n  \"6567\": {\n    \"3426\": 1\n  }, \n  \"6569\": {\n    \"3426\": 1\n  }, \n  \"6571\": {\n    \"3426\": 1\n  }, \n  \"6573\": {\n    \"3426\": 1\n  }, \n  \"6631\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"6633\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"6635\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"6637\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"6671\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"6673\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"6675\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"6677\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"6715\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"6717\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"6719\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"6721\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"6757\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6759\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6761\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6763\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6805\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6807\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6809\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6811\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6859\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6861\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6863\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6865\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6919\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6921\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6923\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6925\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6959\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6961\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6963\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6965\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"6999\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7001\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7003\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7005\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7043\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7045\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7047\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7049\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7083\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7085\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7087\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7089\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7123\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7125\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7127\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7131\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7167\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7169\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7171\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7173\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"7217\": {\n    \"3427\": 1\n  }, \n  \"7218\": {\n    \"3427\": 1\n  }, \n  \"7219\": {\n    \"3427\": 1\n  }, \n  \"7220\": {\n    \"3427\": 1\n  }, \n  \"7247\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7249\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7251\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7253\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7287\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7289\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7291\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7293\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7327\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7329\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7331\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7333\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7367\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7369\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7371\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7373\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7407\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7409\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7411\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7413\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7447\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7449\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7451\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7453\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7487\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7489\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7491\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7493\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7535\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7537\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7539\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7541\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7579\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7581\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7583\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7585\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"7619\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7621\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7623\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7625\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7663\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7665\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7667\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7669\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7703\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7705\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7707\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7709\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"7743\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7745\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7747\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7749\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7783\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7785\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7787\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7789\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7827\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7829\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7831\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7833\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"7867\": {\n    \"3427\": 1\n  }, \n  \"7869\": {\n    \"3427\": 1\n  }, \n  \"7870\": {\n    \"3427\": 1\n  }, \n  \"7887\": {\n    \"3427\": 1\n  }, \n  \"7889\": {\n    \"3427\": 1\n  }, \n  \"7892\": {\n    \"3427\": 1\n  }, \n  \"7893\": {\n    \"3427\": 1\n  }, \n  \"7895\": {\n    \"3427\": 1\n  }, \n  \"7896\": {\n    \"3427\": 1\n  }, \n  \"7914\": {\n    \"3427\": 1\n  }, \n  \"7917\": {\n    \"3427\": 1\n  }, \n  \"7918\": {\n    \"3427\": 1\n  }, \n  \"7922\": {\n    \"3427\": 1\n  }, \n  \"7926\": {\n    \"3427\": 1\n  }, \n  \"7937\": {\n    \"3427\": 1\n  }, \n  \"7948\": {\n    \"3427\": 1\n  }, \n  \"7964\": {\n    \"3427\": 1\n  }, \n  \"7965\": {\n    \"3427\": 1\n  }, \n  \"7966\": {\n    \"3427\": 1\n  }, \n  \"7970\": {\n    \"3427\": 1\n  }, \n  \"7993\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"7997\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"8001\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"8007\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"8023\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"8025\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"8027\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"8089\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"8091\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"8093\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"8101\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"8103\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"8105\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"8113\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"8115\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"8117\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"8131\": {\n    \"3424\": 3\n  }, \n  \"8133\": {\n    \"3424\": 3\n  }, \n  \"8135\": {\n    \"3424\": 3\n  }, \n  \"8137\": {\n    \"3424\": 3\n  }, \n  \"8163\": {\n    \"3424\": 1\n  }, \n  \"8165\": {\n    \"3424\": 1\n  }, \n  \"8167\": {\n    \"3424\": 1\n  }, \n  \"8169\": {\n    \"3424\": 1\n  }, \n  \"8171\": {\n    \"3424\": 2\n  }, \n  \"8173\": {\n    \"3424\": 2\n  }, \n  \"8175\": {\n    \"3424\": 2\n  }, \n  \"8177\": {\n    \"3424\": 2\n  }, \n  \"8203\": {\n    \"3424\": 1\n  }, \n  \"8205\": {\n    \"3424\": 1\n  }, \n  \"8207\": {\n    \"3424\": 1\n  }, \n  \"8209\": {\n    \"3424\": 1\n  }, \n  \"8211\": {\n    \"3424\": 1\n  }, \n  \"8213\": {\n    \"3424\": 1\n  }, \n  \"8215\": {\n    \"3424\": 1\n  }, \n  \"8217\": {\n    \"3424\": 1\n  }, \n  \"8219\": {\n    \"3424\": 2\n  }, \n  \"8221\": {\n    \"3424\": 2\n  }, \n  \"8223\": {\n    \"3424\": 2\n  }, \n  \"8225\": {\n    \"3424\": 2\n  }, \n  \"8251\": {\n    \"3424\": 1\n  }, \n  \"8253\": {\n    \"3424\": 1\n  }, \n  \"8255\": {\n    \"3424\": 1\n  }, \n  \"8257\": {\n    \"3424\": 1\n  }, \n  \"8259\": {\n    \"3424\": 2\n  }, \n  \"8261\": {\n    \"3424\": 2\n  }, \n  \"8263\": {\n    \"3424\": 2\n  }, \n  \"8265\": {\n    \"3424\": 2\n  }, \n  \"8291\": {\n    \"3424\": 2\n  }, \n  \"8293\": {\n    \"3424\": 2\n  }, \n  \"8295\": {\n    \"3424\": 2\n  }, \n  \"8297\": {\n    \"3424\": 2\n  }, \n  \"8323\": {\n    \"3424\": 1\n  }, \n  \"8325\": {\n    \"3424\": 1\n  }, \n  \"8327\": {\n    \"3424\": 1\n  }, \n  \"8329\": {\n    \"3424\": 1\n  }, \n  \"8331\": {\n    \"3424\": 2\n  }, \n  \"8333\": {\n    \"3424\": 2\n  }, \n  \"8335\": {\n    \"3424\": 2\n  }, \n  \"8337\": {\n    \"3424\": 2\n  }, \n  \"8339\": {\n    \"3424\": 1\n  }, \n  \"8341\": {\n    \"3424\": 1\n  }, \n  \"8343\": {\n    \"3424\": 1\n  }, \n  \"8345\": {\n    \"3424\": 1\n  }, \n  \"8387\": {\n    \"3425\": 1\n  }, \n  \"8397\": {\n    \"3425\": 1\n  }, \n  \"8401\": {\n    \"3425\": 1\n  }, \n  \"8409\": {\n    \"3425\": 1\n  }, \n  \"8419\": {\n    \"3425\": 1\n  }, \n  \"8427\": {\n    \"3425\": 1\n  }, \n  \"8433\": {\n    \"3425\": 1\n  }, \n  \"8437\": {\n    \"3425\": 1\n  }, \n  \"8465\": {\n    \"3425\": 1\n  }, \n  \"8477\": {\n    \"3425\": 1\n  }, \n  \"8481\": {\n    \"3425\": 1\n  }, \n  \"8489\": {\n    \"3425\": 1\n  }, \n  \"8505\": {\n    \"3425\": 1\n  }, \n  \"8517\": {\n    \"3425\": 1\n  }, \n  \"8521\": {\n    \"3425\": 1\n  }, \n  \"8529\": {\n    \"3425\": 1\n  }, \n  \"8531\": {\n    \"3422\": 1\n  }, \n  \"8533\": {\n    \"3422\": 1\n  }, \n  \"8535\": {\n    \"3422\": 1\n  }, \n  \"8537\": {\n    \"3422\": 1\n  }, \n  \"8579\": {\n    \"3422\": 1\n  }, \n  \"8581\": {\n    \"3422\": 1\n  }, \n  \"8583\": {\n    \"3422\": 1\n  }, \n  \"8585\": {\n    \"3422\": 1\n  }, \n  \"8627\": {\n    \"3422\": 1\n  }, \n  \"8629\": {\n    \"3422\": 1\n  }, \n  \"8631\": {\n    \"3422\": 1\n  }, \n  \"8633\": {\n    \"3422\": 1\n  }, \n  \"8635\": {\n    \"3422\": 1\n  }, \n  \"8637\": {\n    \"3422\": 1\n  }, \n  \"8639\": {\n    \"3422\": 1\n  }, \n  \"8641\": {\n    \"3422\": 1\n  }, \n  \"8683\": {\n    \"3422\": 1\n  }, \n  \"8685\": {\n    \"3422\": 1\n  }, \n  \"8687\": {\n    \"3422\": 1\n  }, \n  \"8689\": {\n    \"3422\": 1\n  }, \n  \"8743\": {\n    \"3426\": 2\n  }, \n  \"8744\": {\n    \"3426\": 2\n  }, \n  \"8745\": {\n    \"3426\": 2\n  }, \n  \"8746\": {\n    \"3426\": 2\n  }, \n  \"8747\": {\n    \"3432\": 1\n  }, \n  \"8748\": {\n    \"3432\": 1\n  }, \n  \"8749\": {\n    \"3432\": 1\n  }, \n  \"8750\": {\n    \"3432\": 1\n  }, \n  \"8759\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8785\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8787\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8789\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8815\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8817\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8819\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8821\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8863\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8865\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8867\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8869\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8903\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8905\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8907\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"8909\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"9071\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9073\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9091\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9093\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9127\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9129\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9131\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9133\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9135\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9137\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9139\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9141\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9207\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9209\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9211\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9213\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9247\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9249\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9251\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9253\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9287\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9289\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9291\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9293\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9327\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9329\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9331\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9333\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9367\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9369\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9371\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9373\": {\n    \"3300\": 1, \n    \"3308\": 1\n  }, \n  \"9377\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9411\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"9413\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"9415\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"9417\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"9419\": {\n    \"3300\": 1, \n    \"3305\": 4\n  }, \n  \"9421\": {\n    \"3300\": 1, \n    \"3305\": 4\n  }, \n  \"9451\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9453\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9455\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9457\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"9491\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9493\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9495\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9497\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"9518\": {\n    \"3427\": 1\n  }, \n  \"9519\": {\n    \"3427\": 1\n  }, \n  \"9520\": {\n    \"3427\": 1\n  }, \n  \"9521\": {\n    \"3427\": 1\n  }, \n  \"9522\": {\n    \"3427\": 1\n  }, \n  \"9556\": {\n    \"3425\": 1\n  }, \n  \"9562\": {\n    \"3413\": 1\n  }, \n  \"9566\": {\n    \"3413\": 1\n  }, \n  \"9568\": {\n    \"3425\": 1\n  }, \n  \"9570\": {\n    \"3413\": 1\n  }, \n  \"9574\": {\n    \"3413\": 1\n  }, \n  \"9580\": {\n    \"3425\": 1\n  }, \n  \"9582\": {\n    \"3425\": 1\n  }, \n  \"9608\": {\n    \"3420\": 1\n  }, \n  \"9622\": {\n    \"3420\": 1\n  }, \n  \"9632\": {\n    \"3420\": 1\n  }, \n  \"9646\": {\n    \"3420\": 1\n  }, \n  \"9660\": {\n    \"3420\": 1\n  }, \n  \"9668\": {\n    \"3421\": 1\n  }, \n  \"9670\": {\n    \"3421\": 1\n  }, \n  \"9678\": {\n    \"3421\": 1\n  }, \n  \"9680\": {\n    \"3421\": 1\n  }, \n  \"9702\": {\n    \"3421\": 1\n  }, \n  \"9706\": {\n    \"3421\": 1\n  }, \n  \"9728\": {\n    \"3421\": 1\n  }, \n  \"9734\": {\n    \"3421\": 1\n  }, \n  \"9744\": {\n    \"3421\": 1\n  }, \n  \"9750\": {\n    \"3421\": 1\n  }, \n  \"9762\": {\n    \"3421\": 1\n  }, \n  \"9772\": {\n    \"3421\": 1\n  }, \n  \"9784\": {\n    \"3421\": 1\n  }, \n  \"9790\": {\n    \"3421\": 1\n  }, \n  \"9800\": {\n    \"3421\": 1\n  }, \n  \"9808\": {\n    \"3421\": 1\n  }, \n  \"9854\": {\n    \"9955\": 1\n  }, \n  \"9858\": {\n    \"9955\": 3\n  }, \n  \"9860\": {\n    \"9955\": 5\n  }, \n  \"9862\": {\n    \"9955\": 3\n  }, \n  \"9871\": {\n    \"3439\": 1\n  }, \n  \"9899\": {\n    \"3411\": 1\n  }, \n  \"9941\": {\n    \"3411\": 1\n  }, \n  \"9942\": {\n    \"3411\": 1\n  }, \n  \"9943\": {\n    \"3411\": 1\n  }, \n  \"9944\": {\n    \"3318\": 1\n  }, \n  \"9947\": {\n    \"3405\": 1\n  }, \n  \"9950\": {\n    \"3405\": 1\n  }, \n  \"9955\": {\n    \"3327\": 5, \n    \"9955\": 5\n  }, \n  \"9956\": {\n    \"3411\": 1\n  }, \n  \"9957\": {\n    \"3411\": 1\n  }, \n  \"10039\": {\n    \"3416\": 1\n  }, \n  \"10151\": {\n    \"3405\": 2\n  }, \n  \"10152\": {\n    \"3405\": 3\n  }, \n  \"10155\": {\n    \"3405\": 2\n  }, \n  \"10156\": {\n    \"3405\": 3\n  }, \n  \"10164\": {\n    \"3405\": 1\n  }, \n  \"10165\": {\n    \"3405\": 2\n  }, \n  \"10166\": {\n    \"3405\": 3\n  }, \n  \"10188\": {\n    \"3318\": 1\n  }, \n  \"10190\": {\n    \"3318\": 4\n  }, \n  \"10204\": {\n    \"3411\": 2\n  }, \n  \"10208\": {\n    \"3411\": 4\n  }, \n  \"10209\": {\n    \"3411\": 5\n  }, \n  \"10210\": {\n    \"3411\": 3\n  }, \n  \"10211\": {\n    \"3411\": 5\n  }, \n  \"10212\": {\n    \"3411\": 4\n  }, \n  \"10213\": {\n    \"3411\": 5\n  }, \n  \"10214\": {\n    \"3411\": 3\n  }, \n  \"10215\": {\n    \"3411\": 4\n  }, \n  \"10216\": {\n    \"3411\": 4\n  }, \n  \"10217\": {\n    \"3411\": 5\n  }, \n  \"10218\": {\n    \"3411\": 3\n  }, \n  \"10219\": {\n    \"3411\": 5\n  }, \n  \"10221\": {\n    \"3411\": 4\n  }, \n  \"10222\": {\n    \"3411\": 5\n  }, \n  \"10223\": {\n    \"3411\": 3\n  }, \n  \"10224\": {\n    \"3411\": 5\n  }, \n  \"10225\": {\n    \"3411\": 4\n  }, \n  \"10226\": {\n    \"3411\": 5\n  }, \n  \"10227\": {\n    \"3411\": 3\n  }, \n  \"10228\": {\n    \"3411\": 2\n  }, \n  \"10244\": {\n    \"3411\": 2\n  }, \n  \"10246\": {\n    \"3386\": 2, \n    \"3436\": 1, \n    \"3438\": 1\n  }, \n  \"10248\": {\n    \"3386\": 2, \n    \"3436\": 1, \n    \"3438\": 1\n  }, \n  \"10250\": {\n    \"3386\": 4, \n    \"3436\": 1, \n    \"3438\": 5, \n    \"22541\": 1\n  }, \n  \"10252\": {\n    \"3386\": 2, \n    \"3436\": 1, \n    \"3438\": 1\n  }, \n  \"10257\": {\n    \"3400\": 1\n  }, \n  \"10258\": {\n    \"3400\": 1\n  }, \n  \"10260\": {\n    \"3400\": 1\n  }, \n  \"10264\": {\n    \"3327\": 5, \n    \"9955\": 5\n  }, \n  \"10629\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"10631\": {\n    \"3319\": 2, \n    \"20209\": 1\n  }, \n  \"10642\": {\n    \"3319\": 1\n  }, \n  \"10678\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"10680\": {\n    \"3300\": 1, \n    \"3301\": 5, \n    \"11082\": 1\n  }, \n  \"10688\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"10690\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"10692\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"10694\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"10836\": {\n    \"3416\": 1\n  }, \n  \"10838\": {\n    \"3416\": 1\n  }, \n  \"10840\": {\n    \"3416\": 1\n  }, \n  \"10842\": {\n    \"3416\": 5\n  }, \n  \"10850\": {\n    \"3416\": 3\n  }, \n  \"10858\": {\n    \"3416\": 4\n  }, \n  \"10866\": {\n    \"3416\": 1\n  }, \n  \"10868\": {\n    \"3416\": 1\n  }, \n  \"10870\": {\n    \"3416\": 1\n  }, \n  \"10872\": {\n    \"3416\": 1\n  }, \n  \"10874\": {\n    \"3416\": 2\n  }, \n  \"10876\": {\n    \"3416\": 2\n  }, \n  \"10878\": {\n    \"3416\": 2\n  }, \n  \"10880\": {\n    \"3416\": 2\n  }, \n  \"10882\": {\n    \"3416\": 3\n  }, \n  \"10884\": {\n    \"3416\": 3\n  }, \n  \"10886\": {\n    \"3416\": 3\n  }, \n  \"10888\": {\n    \"3416\": 3\n  }, \n  \"10998\": {\n    \"3455\": 1\n  }, \n  \"11011\": {\n    \"3332\": 1\n  }, \n  \"11014\": {\n    \"3354\": 5\n  }, \n  \"11017\": {\n    \"3348\": 5, \n    \"11572\": 1\n  }, \n  \"11019\": {\n    \"9955\": 5\n  }, \n  \"11052\": {\n    \"3348\": 5, \n    \"3352\": 1\n  }, \n  \"11075\": {\n    \"3327\": 5, \n    \"3755\": 4\n  }, \n  \"11078\": {\n    \"3327\": 5, \n    \"3758\": 4\n  }, \n  \"11082\": {\n    \"3301\": 5, \n    \"3311\": 3\n  }, \n  \"11083\": {\n    \"3303\": 5, \n    \"3311\": 3\n  }, \n  \"11084\": {\n    \"3302\": 5, \n    \"3312\": 3\n  }, \n  \"11101\": {\n    \"3318\": 1\n  }, \n  \"11103\": {\n    \"3318\": 1\n  }, \n  \"11105\": {\n    \"3318\": 1\n  }, \n  \"11107\": {\n    \"3318\": 1\n  }, \n  \"11109\": {\n    \"3318\": 1\n  }, \n  \"11111\": {\n    \"3318\": 1\n  }, \n  \"11113\": {\n    \"3318\": 1\n  }, \n  \"11115\": {\n    \"3318\": 1\n  }, \n  \"11129\": {\n    \"3327\": 1\n  }, \n  \"11132\": {\n    \"3327\": 1\n  }, \n  \"11134\": {\n    \"3327\": 1\n  }, \n  \"11172\": {\n    \"3328\": 5, \n    \"12093\": 1\n  }, \n  \"11174\": {\n    \"3328\": 5, \n    \"28615\": 1\n  }, \n  \"11176\": {\n    \"3330\": 5, \n    \"12092\": 1\n  }, \n  \"11178\": {\n    \"3330\": 5, \n    \"12092\": 1\n  }, \n  \"11182\": {\n    \"3329\": 5, \n    \"12093\": 1\n  }, \n  \"11184\": {\n    \"3331\": 5, \n    \"12092\": 1\n  }, \n  \"11186\": {\n    \"3331\": 5, \n    \"12092\": 1\n  }, \n  \"11188\": {\n    \"3331\": 5, \n    \"12093\": 1\n  }, \n  \"11190\": {\n    \"3331\": 5, \n    \"28615\": 1\n  }, \n  \"11192\": {\n    \"3330\": 5, \n    \"12093\": 1\n  }, \n  \"11194\": {\n    \"3330\": 5, \n    \"28615\": 1\n  }, \n  \"11196\": {\n    \"3329\": 5, \n    \"12092\": 1\n  }, \n  \"11198\": {\n    \"3329\": 5, \n    \"12092\": 1\n  }, \n  \"11200\": {\n    \"3328\": 5, \n    \"12092\": 1\n  }, \n  \"11202\": {\n    \"3328\": 5, \n    \"12092\": 1\n  }, \n  \"11204\": {\n    \"3402\": 4, \n    \"3424\": 5\n  }, \n  \"11206\": {\n    \"3402\": 4, \n    \"3425\": 5\n  }, \n  \"11207\": {\n    \"3318\": 4\n  }, \n  \"11208\": {\n    \"3426\": 4, \n    \"3432\": 5\n  }, \n  \"11215\": {\n    \"3394\": 1\n  }, \n  \"11217\": {\n    \"3394\": 3\n  }, \n  \"11219\": {\n    \"3394\": 5\n  }, \n  \"11225\": {\n    \"3394\": 1\n  }, \n  \"11227\": {\n    \"3394\": 3\n  }, \n  \"11229\": {\n    \"3394\": 5\n  }, \n  \"11235\": {\n    \"3394\": 1\n  }, \n  \"11237\": {\n    \"3394\": 3\n  }, \n  \"11239\": {\n    \"3394\": 5\n  }, \n  \"11245\": {\n    \"3394\": 1\n  }, \n  \"11247\": {\n    \"3394\": 3\n  }, \n  \"11249\": {\n    \"3394\": 5\n  }, \n  \"11255\": {\n    \"3394\": 1\n  }, \n  \"11257\": {\n    \"3394\": 3\n  }, \n  \"11259\": {\n    \"3394\": 5\n  }, \n  \"11265\": {\n    \"3394\": 1\n  }, \n  \"11267\": {\n    \"3394\": 3\n  }, \n  \"11269\": {\n    \"3394\": 5\n  }, \n  \"11277\": {\n    \"3394\": 3\n  }, \n  \"11279\": {\n    \"3394\": 3\n  }, \n  \"11291\": {\n    \"3394\": 1\n  }, \n  \"11293\": {\n    \"3394\": 1\n  }, \n  \"11295\": {\n    \"3394\": 2\n  }, \n  \"11297\": {\n    \"3394\": 2\n  }, \n  \"11299\": {\n    \"3394\": 3\n  }, \n  \"11301\": {\n    \"3394\": 3\n  }, \n  \"11303\": {\n    \"3394\": 3\n  }, \n  \"11305\": {\n    \"3394\": 3\n  }, \n  \"11307\": {\n    \"3394\": 3\n  }, \n  \"11309\": {\n    \"3394\": 3\n  }, \n  \"11311\": {\n    \"3394\": 3\n  }, \n  \"11313\": {\n    \"3394\": 3\n  }, \n  \"11315\": {\n    \"3394\": 3\n  }, \n  \"11317\": {\n    \"3394\": 3\n  }, \n  \"11319\": {\n    \"3394\": 3\n  }, \n  \"11321\": {\n    \"3394\": 3\n  }, \n  \"11323\": {\n    \"3394\": 3\n  }, \n  \"11325\": {\n    \"3394\": 3\n  }, \n  \"11327\": {\n    \"3394\": 3\n  }, \n  \"11329\": {\n    \"3394\": 3\n  }, \n  \"11331\": {\n    \"3394\": 1\n  }, \n  \"11333\": {\n    \"3394\": 1\n  }, \n  \"11335\": {\n    \"3394\": 1\n  }, \n  \"11337\": {\n    \"3394\": 1\n  }, \n  \"11339\": {\n    \"3394\": 1\n  }, \n  \"11341\": {\n    \"3394\": 1\n  }, \n  \"11343\": {\n    \"3394\": 1\n  }, \n  \"11345\": {\n    \"3394\": 1\n  }, \n  \"11347\": {\n    \"3394\": 2\n  }, \n  \"11349\": {\n    \"3394\": 2\n  }, \n  \"11351\": {\n    \"3394\": 2\n  }, \n  \"11353\": {\n    \"3394\": 2\n  }, \n  \"11355\": {\n    \"16069\": 1\n  }, \n  \"11357\": {\n    \"16069\": 2\n  }, \n  \"11359\": {\n    \"16069\": 3\n  }, \n  \"11365\": {\n    \"3331\": 5, \n    \"12095\": 1\n  }, \n  \"11370\": {\n    \"11579\": 1\n  }, \n  \"11371\": {\n    \"3329\": 5, \n    \"12095\": 1\n  }, \n  \"11373\": {\n    \"3329\": 5, \n    \"12095\": 1\n  }, \n  \"11375\": {\n    \"3328\": 5, \n    \"12095\": 1\n  }, \n  \"11377\": {\n    \"3328\": 5, \n    \"12093\": 1\n  }, \n  \"11379\": {\n    \"3330\": 5, \n    \"12095\": 1\n  }, \n  \"11381\": {\n    \"3330\": 5, \n    \"12095\": 1\n  }, \n  \"11383\": {\n    \"3331\": 5, \n    \"11395\": 1\n  }, \n  \"11387\": {\n    \"3329\": 5, \n    \"28615\": 1\n  }, \n  \"11389\": {\n    \"3328\": 5, \n    \"11395\": 1\n  }, \n  \"11393\": {\n    \"3331\": 5, \n    \"12095\": 1\n  }, \n  \"11395\": {\n    \"3386\": 5, \n    \"3410\": 5\n  }, \n  \"11396\": {\n    \"11395\": 1\n  }, \n  \"11400\": {\n    \"3329\": 5, \n    \"12095\": 1\n  }, \n  \"11433\": {\n    \"3402\": 5, \n    \"3413\": 5\n  }, \n  \"11441\": {\n    \"3402\": 5, \n    \"3413\": 5\n  }, \n  \"11442\": {\n    \"3402\": 5, \n    \"3426\": 5\n  }, \n  \"11443\": {\n    \"3402\": 5, \n    \"3413\": 5\n  }, \n  \"11444\": {\n    \"3392\": 5, \n    \"3402\": 5\n  }, \n  \"11445\": {\n    \"3392\": 5, \n    \"3402\": 5\n  }, \n  \"11446\": {\n    \"3402\": 5, \n    \"3413\": 5\n  }, \n  \"11447\": {\n    \"3402\": 5, \n    \"3413\": 5\n  }, \n  \"11448\": {\n    \"3402\": 5, \n    \"3426\": 5\n  }, \n  \"11449\": {\n    \"3392\": 5, \n    \"3402\": 5\n  }, \n  \"11450\": {\n    \"3392\": 5, \n    \"3402\": 5\n  }, \n  \"11451\": {\n    \"3402\": 5, \n    \"3413\": 5\n  }, \n  \"11452\": {\n    \"3392\": 5, \n    \"3402\": 5\n  }, \n  \"11453\": {\n    \"3402\": 5, \n    \"3426\": 5\n  }, \n  \"11454\": {\n    \"3392\": 5, \n    \"3402\": 5\n  }, \n  \"11455\": {\n    \"3402\": 5, \n    \"3413\": 5\n  }, \n  \"11487\": {\n    \"3392\": 5, \n    \"3402\": 5\n  }, \n  \"11488\": {\n    \"11584\": 1\n  }, \n  \"11489\": {\n    \"11584\": 1\n  }, \n  \"11490\": {\n    \"11584\": 1\n  }, \n  \"11496\": {\n    \"30324\": 1\n  }, \n  \"11529\": {\n    \"3392\": 5, \n    \"3402\": 5\n  }, \n  \"11561\": {\n    \"3419\": 1\n  }, \n  \"11563\": {\n    \"3418\": 2\n  }, \n  \"11566\": {\n    \"3416\": 4\n  }, \n  \"11567\": {\n    \"3347\": 1, \n    \"20533\": 5\n  }, \n  \"11569\": {\n    \"3348\": 1, \n    \"20494\": 5\n  }, \n  \"11572\": {\n    \"3348\": 1, \n    \"3349\": 5\n  }, \n  \"11574\": {\n    \"3348\": 5\n  }, \n  \"11577\": {\n    \"11579\": 3\n  }, \n  \"11578\": {\n    \"11579\": 4\n  }, \n  \"11579\": {\n    \"3426\": 4\n  }, \n  \"11640\": {\n    \"3455\": 4\n  }, \n  \"11642\": {\n    \"3394\": 5\n  }, \n  \"11644\": {\n    \"3394\": 5\n  }, \n  \"11646\": {\n    \"3394\": 5\n  }, \n  \"11648\": {\n    \"3394\": 5\n  }, \n  \"11744\": {\n    \"9955\": 5\n  }, \n  \"11858\": {\n    \"3402\": 5, \n    \"3426\": 5\n  }, \n  \"11936\": {\n    \"3339\": 1\n  }, \n  \"11938\": {\n    \"3339\": 1\n  }, \n  \"11940\": {\n    \"3331\": 1\n  }, \n  \"11942\": {\n    \"3331\": 1\n  }, \n  \"11957\": {\n    \"3334\": 5, \n    \"22761\": 1\n  }, \n  \"11959\": {\n    \"3334\": 5, \n    \"22761\": 1\n  }, \n  \"11961\": {\n    \"3333\": 5, \n    \"22761\": 1\n  }, \n  \"11963\": {\n    \"3333\": 5, \n    \"22761\": 1\n  }, \n  \"11965\": {\n    \"3335\": 5, \n    \"22761\": 1\n  }, \n  \"11969\": {\n    \"3332\": 5, \n    \"22761\": 1\n  }, \n  \"11971\": {\n    \"3332\": 5, \n    \"22761\": 1\n  }, \n  \"11978\": {\n    \"3333\": 5, \n    \"12096\": 1\n  }, \n  \"11985\": {\n    \"3334\": 5, \n    \"12096\": 1\n  }, \n  \"11987\": {\n    \"3335\": 5, \n    \"12096\": 1\n  }, \n  \"11989\": {\n    \"3332\": 5, \n    \"12096\": 1\n  }, \n  \"11993\": {\n    \"3334\": 5, \n    \"16591\": 1\n  }, \n  \"11995\": {\n    \"3334\": 5, \n    \"28609\": 1\n  }, \n  \"11999\": {\n    \"3333\": 5, \n    \"16591\": 1\n  }, \n  \"12003\": {\n    \"3335\": 5, \n    \"16591\": 1\n  }, \n  \"12005\": {\n    \"3332\": 5, \n    \"16591\": 1\n  }, \n  \"12011\": {\n    \"3334\": 5, \n    \"16591\": 1\n  }, \n  \"12013\": {\n    \"3333\": 5, \n    \"28609\": 1\n  }, \n  \"12015\": {\n    \"3333\": 5, \n    \"16591\": 1\n  }, \n  \"12017\": {\n    \"3335\": 5, \n    \"28609\": 1\n  }, \n  \"12019\": {\n    \"3335\": 5, \n    \"16591\": 1\n  }, \n  \"12021\": {\n    \"3332\": 5, \n    \"28609\": 1\n  }, \n  \"12023\": {\n    \"3332\": 5, \n    \"16591\": 1\n  }, \n  \"12032\": {\n    \"3330\": 5, \n    \"12093\": 1\n  }, \n  \"12034\": {\n    \"3329\": 5, \n    \"12093\": 1\n  }, \n  \"12036\": {\n    \"3329\": 5\n  }, \n  \"12038\": {\n    \"3331\": 5, \n    \"12093\": 1\n  }, \n  \"12042\": {\n    \"3328\": 5, \n    \"12095\": 1\n  }, \n  \"12044\": {\n    \"3328\": 5, \n    \"12095\": 1\n  }, \n  \"12052\": {\n    \"3454\": 1\n  }, \n  \"12054\": {\n    \"3454\": 1\n  }, \n  \"12056\": {\n    \"3450\": 1\n  }, \n  \"12058\": {\n    \"3450\": 4\n  }, \n  \"12066\": {\n    \"3450\": 1\n  }, \n  \"12068\": {\n    \"3450\": 4\n  }, \n  \"12076\": {\n    \"3454\": 4\n  }, \n  \"12084\": {\n    \"3454\": 4\n  }, \n  \"12092\": {\n    \"3327\": 3, \n    \"3453\": 5\n  }, \n  \"12093\": {\n    \"3327\": 3, \n    \"3432\": 5\n  }, \n  \"12095\": {\n    \"3327\": 3, \n    \"3392\": 5, \n    \"3413\": 5\n  }, \n  \"12096\": {\n    \"3327\": 3, \n    \"3428\": 5, \n    \"3431\": 5\n  }, \n  \"12097\": {\n    \"3327\": 3\n  }, \n  \"12098\": {\n    \"3327\": 4, \n    \"3435\": 5, \n    \"11446\": 1\n  }, \n  \"12099\": {\n    \"3327\": 4\n  }, \n  \"12102\": {\n    \"3423\": 4\n  }, \n  \"12108\": {\n    \"3386\": 5, \n    \"11395\": 1\n  }, \n  \"12179\": {\n    \"3403\": 5, \n    \"3406\": 5\n  }, \n  \"12180\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"12181\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"12182\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"12183\": {\n    \"3389\": 4, \n    \"3409\": 3\n  }, \n  \"12184\": {\n    \"3389\": 4, \n    \"3409\": 3\n  }, \n  \"12185\": {\n    \"3389\": 4, \n    \"3409\": 3\n  }, \n  \"12186\": {\n    \"3385\": 5, \n    \"3402\": 3\n  }, \n  \"12187\": {\n    \"3385\": 5, \n    \"3402\": 3\n  }, \n  \"12188\": {\n    \"3385\": 5, \n    \"3402\": 3\n  }, \n  \"12189\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"12190\": {\n    \"3385\": 5, \n    \"3402\": 3\n  }, \n  \"12191\": {\n    \"3385\": 4, \n    \"3402\": 3\n  }, \n  \"12192\": {\n    \"3385\": 4, \n    \"3402\": 3\n  }, \n  \"12193\": {\n    \"3385\": 4, \n    \"3402\": 3\n  }, \n  \"12194\": {\n    \"3389\": 4, \n    \"3409\": 3\n  }, \n  \"12195\": {\n    \"3385\": 4, \n    \"3402\": 3\n  }, \n  \"12196\": {\n    \"3389\": 5, \n    \"3409\": 5\n  }, \n  \"12198\": {\n    \"3435\": 3, \n    \"11584\": 2\n  }, \n  \"12199\": {\n    \"3435\": 4, \n    \"11584\": 3\n  }, \n  \"12200\": {\n    \"3435\": 5, \n    \"11584\": 4\n  }, \n  \"12201\": {\n    \"3302\": 5, \n    \"3311\": 3\n  }, \n  \"12202\": {\n    \"3305\": 5, \n    \"3311\": 4\n  }, \n  \"12203\": {\n    \"3308\": 5, \n    \"3311\": 5\n  }, \n  \"12204\": {\n    \"3306\": 5, \n    \"3311\": 4\n  }, \n  \"12205\": {\n    \"3309\": 5, \n    \"3311\": 5\n  }, \n  \"12206\": {\n    \"3304\": 5, \n    \"3311\": 4\n  }, \n  \"12207\": {\n    \"3307\": 5, \n    \"3311\": 5\n  }, \n  \"12208\": {\n    \"3305\": 5, \n    \"3312\": 4\n  }, \n  \"12209\": {\n    \"3308\": 5, \n    \"3312\": 5\n  }, \n  \"12210\": {\n    \"3301\": 5, \n    \"3312\": 3\n  }, \n  \"12211\": {\n    \"3304\": 5, \n    \"3312\": 4\n  }, \n  \"12212\": {\n    \"3307\": 5, \n    \"3312\": 5\n  }, \n  \"12213\": {\n    \"3303\": 5, \n    \"3312\": 3\n  }, \n  \"12214\": {\n    \"3306\": 5, \n    \"3312\": 4\n  }, \n  \"12215\": {\n    \"3309\": 5, \n    \"3312\": 5\n  }, \n  \"12217\": {\n    \"3423\": 1\n  }, \n  \"12219\": {\n    \"3423\": 1, \n    \"24572\": 1\n  }, \n  \"12221\": {\n    \"3423\": 4\n  }, \n  \"12223\": {\n    \"3423\": 4, \n    \"24572\": 4\n  }, \n  \"12225\": {\n    \"3423\": 1\n  }, \n  \"12237\": {\n    \"11584\": 1\n  }, \n  \"12238\": {\n    \"11584\": 1\n  }, \n  \"12239\": {\n    \"11584\": 1\n  }, \n  \"12240\": {\n    \"3380\": 1\n  }, \n  \"12241\": {\n    \"3732\": 5\n  }, \n  \"12257\": {\n    \"3423\": 2\n  }, \n  \"12259\": {\n    \"3423\": 4\n  }, \n  \"12261\": {\n    \"3423\": 3\n  }, \n  \"12263\": {\n    \"3423\": 5\n  }, \n  \"12265\": {\n    \"3423\": 2\n  }, \n  \"12267\": {\n    \"3423\": 4\n  }, \n  \"12269\": {\n    \"3423\": 3\n  }, \n  \"12271\": {\n    \"3423\": 5\n  }, \n  \"12274\": {\n    \"3318\": 1\n  }, \n  \"12305\": {\n    \"3436\": 4\n  }, \n  \"12344\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"12346\": {\n    \"3300\": 1, \n    \"3304\": 5, \n    \"12206\": 1\n  }, \n  \"12354\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"12356\": {\n    \"3300\": 1, \n    \"3307\": 5, \n    \"12207\": 1\n  }, \n  \"12365\": {\n    \"3416\": 4\n  }, \n  \"12366\": {\n    \"3416\": 4\n  }, \n  \"12367\": {\n    \"3416\": 4\n  }, \n  \"12368\": {\n    \"3449\": 5, \n    \"11579\": 3\n  }, \n  \"12441\": {\n    \"3319\": 1\n  }, \n  \"12442\": {\n    \"3319\": 3\n  }, \n  \"12484\": {\n    \"3436\": 5\n  }, \n  \"12485\": {\n    \"3436\": 5\n  }, \n  \"12486\": {\n    \"3436\": 5\n  }, \n  \"12487\": {\n    \"3436\": 5\n  }, \n  \"12552\": {\n    \"11083\": 1\n  }, \n  \"12557\": {\n    \"11083\": 1\n  }, \n  \"12559\": {\n    \"11083\": 1\n  }, \n  \"12561\": {\n    \"12213\": 1\n  }, \n  \"12563\": {\n    \"12213\": 1\n  }, \n  \"12565\": {\n    \"12213\": 1\n  }, \n  \"12604\": {\n    \"3426\": 1\n  }, \n  \"12608\": {\n    \"11084\": 1\n  }, \n  \"12610\": {\n    \"12210\": 1\n  }, \n  \"12612\": {\n    \"12210\": 1\n  }, \n  \"12614\": {\n    \"12210\": 1\n  }, \n  \"12616\": {\n    \"11082\": 1\n  }, \n  \"12618\": {\n    \"11082\": 1\n  }, \n  \"12620\": {\n    \"11082\": 1\n  }, \n  \"12625\": {\n    \"11084\": 1\n  }, \n  \"12627\": {\n    \"11084\": 1\n  }, \n  \"12629\": {\n    \"12201\": 1\n  }, \n  \"12631\": {\n    \"12201\": 1\n  }, \n  \"12633\": {\n    \"12201\": 1\n  }, \n  \"12709\": {\n    \"19921\": 1\n  }, \n  \"12711\": {\n    \"3427\": 2\n  }, \n  \"12713\": {\n    \"3427\": 3\n  }, \n  \"12715\": {\n    \"3427\": 4\n  }, \n  \"12717\": {\n    \"3427\": 5\n  }, \n  \"12729\": {\n    \"3342\": 5, \n    \"19719\": 1\n  }, \n  \"12731\": {\n    \"3342\": 5, \n    \"19719\": 1\n  }, \n  \"12733\": {\n    \"3343\": 5, \n    \"19719\": 1\n  }, \n  \"12735\": {\n    \"3341\": 5, \n    \"19719\": 1\n  }, \n  \"12743\": {\n    \"3340\": 5, \n    \"19719\": 1\n  }, \n  \"12745\": {\n    \"3340\": 5, \n    \"19719\": 1\n  }, \n  \"12747\": {\n    \"3341\": 5, \n    \"19719\": 1\n  }, \n  \"12753\": {\n    \"3343\": 5, \n    \"19719\": 1\n  }, \n  \"12761\": {\n    \"12203\": 1\n  }, \n  \"12763\": {\n    \"12203\": 1\n  }, \n  \"12765\": {\n    \"12203\": 1\n  }, \n  \"12767\": {\n    \"12202\": 1\n  }, \n  \"12769\": {\n    \"12202\": 1\n  }, \n  \"12771\": {\n    \"12202\": 1\n  }, \n  \"12773\": {\n    \"12208\": 1\n  }, \n  \"12775\": {\n    \"12209\": 1\n  }, \n  \"12777\": {\n    \"12208\": 1\n  }, \n  \"12779\": {\n    \"12209\": 1\n  }, \n  \"12781\": {\n    \"12208\": 1\n  }, \n  \"12783\": {\n    \"12209\": 1\n  }, \n  \"12785\": {\n    \"12211\": 1\n  }, \n  \"12787\": {\n    \"12212\": 1\n  }, \n  \"12789\": {\n    \"12211\": 1\n  }, \n  \"12791\": {\n    \"12212\": 1\n  }, \n  \"12793\": {\n    \"12211\": 1\n  }, \n  \"12795\": {\n    \"12212\": 1\n  }, \n  \"12797\": {\n    \"12206\": 1\n  }, \n  \"12799\": {\n    \"12207\": 1\n  }, \n  \"12801\": {\n    \"12206\": 1\n  }, \n  \"12803\": {\n    \"12207\": 1\n  }, \n  \"12805\": {\n    \"12206\": 1\n  }, \n  \"12807\": {\n    \"12207\": 1\n  }, \n  \"12810\": {\n    \"12214\": 1\n  }, \n  \"12812\": {\n    \"12215\": 1\n  }, \n  \"12814\": {\n    \"12214\": 1\n  }, \n  \"12816\": {\n    \"12215\": 1\n  }, \n  \"12818\": {\n    \"12214\": 1\n  }, \n  \"12820\": {\n    \"12215\": 1\n  }, \n  \"12822\": {\n    \"12204\": 1\n  }, \n  \"12824\": {\n    \"12205\": 1\n  }, \n  \"12826\": {\n    \"12204\": 1\n  }, \n  \"12828\": {\n    \"12205\": 1\n  }, \n  \"12830\": {\n    \"12204\": 1\n  }, \n  \"12832\": {\n    \"12205\": 1\n  }, \n  \"13001\": {\n    \"3423\": 3\n  }, \n  \"13003\": {\n    \"3423\": 3\n  }, \n  \"13069\": {\n    \"3443\": 2\n  }, \n  \"13070\": {\n    \"3443\": 2\n  }, \n  \"13071\": {\n    \"3443\": 2\n  }, \n  \"13072\": {\n    \"3443\": 2\n  }, \n  \"13073\": {\n    \"3443\": 2\n  }, \n  \"13074\": {\n    \"3443\": 2\n  }, \n  \"13075\": {\n    \"3443\": 2\n  }, \n  \"13119\": {\n    \"3319\": 5, \n    \"3320\": 5, \n    \"20209\": 1\n  }, \n  \"13166\": {\n    \"3411\": 2\n  }, \n  \"13202\": {\n    \"3336\": 1\n  }, \n  \"13209\": {\n    \"3411\": 5, \n    \"11569\": 5\n  }, \n  \"13216\": {\n    \"3411\": 2\n  }, \n  \"13217\": {\n    \"3411\": 3\n  }, \n  \"13218\": {\n    \"3411\": 3\n  }, \n  \"13219\": {\n    \"3411\": 3\n  }, \n  \"13220\": {\n    \"3411\": 2\n  }, \n  \"13221\": {\n    \"3411\": 2\n  }, \n  \"13222\": {\n    \"3411\": 2\n  }, \n  \"13223\": {\n    \"3411\": 1\n  }, \n  \"13224\": {\n    \"3411\": 1\n  }, \n  \"13225\": {\n    \"3411\": 1\n  }, \n  \"13226\": {\n    \"3411\": 2\n  }, \n  \"13227\": {\n    \"3411\": 2\n  }, \n  \"13228\": {\n    \"3411\": 2\n  }, \n  \"13229\": {\n    \"3411\": 2\n  }, \n  \"13230\": {\n    \"3411\": 2\n  }, \n  \"13231\": {\n    \"3411\": 2\n  }, \n  \"13232\": {\n    \"3411\": 2\n  }, \n  \"13233\": {\n    \"3411\": 2\n  }, \n  \"13234\": {\n    \"3411\": 2\n  }, \n  \"13235\": {\n    \"3411\": 2\n  }, \n  \"13236\": {\n    \"3411\": 2\n  }, \n  \"13237\": {\n    \"3411\": 2\n  }, \n  \"13238\": {\n    \"3411\": 2\n  }, \n  \"13239\": {\n    \"3411\": 2\n  }, \n  \"13240\": {\n    \"3411\": 2\n  }, \n  \"13241\": {\n    \"3411\": 2\n  }, \n  \"13242\": {\n    \"3411\": 2\n  }, \n  \"13243\": {\n    \"3411\": 2\n  }, \n  \"13244\": {\n    \"3411\": 2\n  }, \n  \"13245\": {\n    \"3411\": 1\n  }, \n  \"13246\": {\n    \"3411\": 1\n  }, \n  \"13247\": {\n    \"3411\": 2\n  }, \n  \"13248\": {\n    \"3411\": 2\n  }, \n  \"13249\": {\n    \"3411\": 2\n  }, \n  \"13250\": {\n    \"3411\": 2\n  }, \n  \"13251\": {\n    \"3411\": 2\n  }, \n  \"13252\": {\n    \"3411\": 3\n  }, \n  \"13253\": {\n    \"3411\": 2\n  }, \n  \"13254\": {\n    \"3411\": 2\n  }, \n  \"13255\": {\n    \"3411\": 2\n  }, \n  \"13256\": {\n    \"3411\": 2\n  }, \n  \"13257\": {\n    \"3411\": 2\n  }, \n  \"13258\": {\n    \"3411\": 2\n  }, \n  \"13259\": {\n    \"3411\": 2\n  }, \n  \"13260\": {\n    \"3411\": 2\n  }, \n  \"13261\": {\n    \"3411\": 2\n  }, \n  \"13262\": {\n    \"3411\": 2\n  }, \n  \"13263\": {\n    \"3411\": 2\n  }, \n  \"13265\": {\n    \"3411\": 2\n  }, \n  \"13278\": {\n    \"3402\": 3, \n    \"3551\": 3\n  }, \n  \"13279\": {\n    \"3402\": 3\n  }, \n  \"13283\": {\n    \"3411\": 1\n  }, \n  \"13284\": {\n    \"3411\": 1\n  }, \n  \"13285\": {\n    \"3411\": 1\n  }, \n  \"13286\": {\n    \"3411\": 1\n  }, \n  \"13287\": {\n    \"3411\": 1\n  }, \n  \"13320\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"13773\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"13774\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"13775\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"13776\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"13777\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"13778\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"13779\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"13780\": {\n    \"11584\": 1\n  }, \n  \"13781\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"13782\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"13783\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"13784\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"13785\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"13786\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"13787\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"13788\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"13791\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"13793\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"13795\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"13797\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"13799\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"13801\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"13803\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"13805\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"13807\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"13809\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"13811\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"13813\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"13815\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"13817\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"13819\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"13820\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"13821\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"13822\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"13823\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"13824\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"13825\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"13826\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"13827\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"13828\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"13829\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"13830\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"13831\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"13832\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"13833\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"13834\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"13856\": {\n    \"3319\": 5, \n    \"25718\": 1, \n    \"25719\": 5\n  }, \n  \"13864\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"13865\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"13866\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"13867\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"13868\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"13870\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"13872\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"13873\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"13874\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"13876\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"13878\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"13879\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"13880\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"13881\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"13882\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"13883\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"13884\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"13885\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"13886\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"13887\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"13888\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"13889\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"13890\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"13891\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"13892\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"13893\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"13894\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"13919\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"13920\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"13921\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"13922\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"13923\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"13924\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"13925\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"13926\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"13927\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"13929\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"13931\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"13933\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"13935\": {\n    \"3318\": 1\n  }, \n  \"13937\": {\n    \"3318\": 1\n  }, \n  \"13939\": {\n    \"3318\": 1\n  }, \n  \"13941\": {\n    \"3318\": 1\n  }, \n  \"13943\": {\n    \"3318\": 1\n  }, \n  \"13945\": {\n    \"3318\": 1\n  }, \n  \"13947\": {\n    \"3416\": 2\n  }, \n  \"13948\": {\n    \"3416\": 2\n  }, \n  \"13949\": {\n    \"3416\": 1\n  }, \n  \"13950\": {\n    \"3416\": 1\n  }, \n  \"13951\": {\n    \"3416\": 1\n  }, \n  \"13952\": {\n    \"3416\": 1\n  }, \n  \"13953\": {\n    \"3416\": 3\n  }, \n  \"13954\": {\n    \"3416\": 3\n  }, \n  \"13955\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"13956\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"13957\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"13958\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"13959\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"13960\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"13962\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"13963\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"13964\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"13965\": {\n    \"3420\": 1\n  }, \n  \"13966\": {\n    \"3420\": 1\n  }, \n  \"13967\": {\n    \"3420\": 1\n  }, \n  \"13968\": {\n    \"3420\": 1\n  }, \n  \"13969\": {\n    \"3420\": 1\n  }, \n  \"13970\": {\n    \"3394\": 3\n  }, \n  \"13972\": {\n    \"3394\": 3\n  }, \n  \"13974\": {\n    \"3394\": 3\n  }, \n  \"13976\": {\n    \"3394\": 3\n  }, \n  \"13978\": {\n    \"3394\": 3\n  }, \n  \"13980\": {\n    \"3394\": 3\n  }, \n  \"13982\": {\n    \"3394\": 3\n  }, \n  \"13984\": {\n    \"3394\": 3\n  }, \n  \"13986\": {\n    \"3394\": 3\n  }, \n  \"13988\": {\n    \"3394\": 3\n  }, \n  \"13990\": {\n    \"3394\": 3\n  }, \n  \"13992\": {\n    \"3394\": 3\n  }, \n  \"13994\": {\n    \"3420\": 1\n  }, \n  \"13995\": {\n    \"3420\": 1\n  }, \n  \"13996\": {\n    \"3420\": 1\n  }, \n  \"13997\": {\n    \"3420\": 1\n  }, \n  \"13998\": {\n    \"3420\": 1\n  }, \n  \"13999\": {\n    \"3394\": 1\n  }, \n  \"14001\": {\n    \"3394\": 1\n  }, \n  \"14003\": {\n    \"3394\": 1\n  }, \n  \"14005\": {\n    \"3394\": 1\n  }, \n  \"14007\": {\n    \"3394\": 1\n  }, \n  \"14009\": {\n    \"3394\": 1\n  }, \n  \"14011\": {\n    \"3394\": 1\n  }, \n  \"14013\": {\n    \"3394\": 1\n  }, \n  \"14015\": {\n    \"3394\": 1\n  }, \n  \"14017\": {\n    \"3394\": 1\n  }, \n  \"14019\": {\n    \"3394\": 1\n  }, \n  \"14021\": {\n    \"3394\": 1\n  }, \n  \"14023\": {\n    \"3394\": 1\n  }, \n  \"14025\": {\n    \"3394\": 1\n  }, \n  \"14027\": {\n    \"3394\": 1\n  }, \n  \"14029\": {\n    \"3425\": 1\n  }, \n  \"14031\": {\n    \"3425\": 1\n  }, \n  \"14033\": {\n    \"3425\": 1\n  }, \n  \"14035\": {\n    \"3425\": 1\n  }, \n  \"14037\": {\n    \"3425\": 1\n  }, \n  \"14039\": {\n    \"3425\": 1\n  }, \n  \"14041\": {\n    \"3425\": 1\n  }, \n  \"14043\": {\n    \"3425\": 1\n  }, \n  \"14045\": {\n    \"3419\": 1\n  }, \n  \"14047\": {\n    \"3419\": 1\n  }, \n  \"14049\": {\n    \"3394\": 1\n  }, \n  \"14051\": {\n    \"3394\": 1\n  }, \n  \"14053\": {\n    \"3394\": 1\n  }, \n  \"14055\": {\n    \"3394\": 1\n  }, \n  \"14057\": {\n    \"3394\": 1\n  }, \n  \"14059\": {\n    \"3394\": 3\n  }, \n  \"14061\": {\n    \"3394\": 3\n  }, \n  \"14063\": {\n    \"3394\": 3\n  }, \n  \"14065\": {\n    \"3394\": 3\n  }, \n  \"14067\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"14068\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"14069\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"14070\": {\n    \"3394\": 3\n  }, \n  \"14072\": {\n    \"3394\": 3\n  }, \n  \"14074\": {\n    \"3394\": 3\n  }, \n  \"14076\": {\n    \"3394\": 3\n  }, \n  \"14078\": {\n    \"3394\": 3\n  }, \n  \"14080\": {\n    \"3394\": 3\n  }, \n  \"14082\": {\n    \"3394\": 3\n  }, \n  \"14084\": {\n    \"3394\": 3\n  }, \n  \"14086\": {\n    \"3394\": 3\n  }, \n  \"14088\": {\n    \"3394\": 3\n  }, \n  \"14090\": {\n    \"3394\": 3\n  }, \n  \"14092\": {\n    \"3394\": 3\n  }, \n  \"14094\": {\n    \"3394\": 3\n  }, \n  \"14096\": {\n    \"3394\": 3\n  }, \n  \"14098\": {\n    \"3394\": 3\n  }, \n  \"14100\": {\n    \"3318\": 1\n  }, \n  \"14102\": {\n    \"3450\": 1\n  }, \n  \"14104\": {\n    \"3450\": 1\n  }, \n  \"14106\": {\n    \"3450\": 1\n  }, \n  \"14108\": {\n    \"3450\": 1\n  }, \n  \"14110\": {\n    \"3450\": 1\n  }, \n  \"14112\": {\n    \"3450\": 1\n  }, \n  \"14114\": {\n    \"3454\": 1\n  }, \n  \"14116\": {\n    \"3454\": 1\n  }, \n  \"14118\": {\n    \"3454\": 1\n  }, \n  \"14120\": {\n    \"3454\": 1\n  }, \n  \"14122\": {\n    \"3454\": 1\n  }, \n  \"14124\": {\n    \"3454\": 1\n  }, \n  \"14126\": {\n    \"3394\": 1\n  }, \n  \"14127\": {\n    \"3394\": 1\n  }, \n  \"14128\": {\n    \"3424\": 2\n  }, \n  \"14130\": {\n    \"3424\": 2\n  }, \n  \"14132\": {\n    \"3424\": 2\n  }, \n  \"14134\": {\n    \"3424\": 2\n  }, \n  \"14136\": {\n    \"3424\": 2\n  }, \n  \"14138\": {\n    \"3424\": 2\n  }, \n  \"14140\": {\n    \"3424\": 2\n  }, \n  \"14142\": {\n    \"3424\": 2\n  }, \n  \"14144\": {\n    \"3424\": 2\n  }, \n  \"14146\": {\n    \"3424\": 2\n  }, \n  \"14148\": {\n    \"3423\": 1\n  }, \n  \"14150\": {\n    \"3423\": 1\n  }, \n  \"14152\": {\n    \"3423\": 3\n  }, \n  \"14154\": {\n    \"3423\": 3\n  }, \n  \"14156\": {\n    \"3423\": 2\n  }, \n  \"14158\": {\n    \"3423\": 2\n  }, \n  \"14160\": {\n    \"3423\": 1\n  }, \n  \"14162\": {\n    \"3423\": 1\n  }, \n  \"14164\": {\n    \"3423\": 2\n  }, \n  \"14166\": {\n    \"3423\": 2\n  }, \n  \"14168\": {\n    \"3423\": 3\n  }, \n  \"14170\": {\n    \"3423\": 3\n  }, \n  \"14172\": {\n    \"3417\": 1\n  }, \n  \"14174\": {\n    \"3417\": 1\n  }, \n  \"14176\": {\n    \"3417\": 1\n  }, \n  \"14178\": {\n    \"3417\": 1\n  }, \n  \"14180\": {\n    \"3417\": 1\n  }, \n  \"14182\": {\n    \"3417\": 1\n  }, \n  \"14184\": {\n    \"3417\": 1\n  }, \n  \"14186\": {\n    \"3417\": 1\n  }, \n  \"14188\": {\n    \"3421\": 1\n  }, \n  \"14190\": {\n    \"3421\": 1\n  }, \n  \"14192\": {\n    \"3421\": 1\n  }, \n  \"14194\": {\n    \"3421\": 1\n  }, \n  \"14196\": {\n    \"3421\": 1\n  }, \n  \"14198\": {\n    \"3421\": 1\n  }, \n  \"14200\": {\n    \"3421\": 1\n  }, \n  \"14202\": {\n    \"3421\": 1\n  }, \n  \"14204\": {\n    \"3421\": 1\n  }, \n  \"14206\": {\n    \"3421\": 1\n  }, \n  \"14208\": {\n    \"3421\": 1\n  }, \n  \"14210\": {\n    \"3421\": 1\n  }, \n  \"14212\": {\n    \"3421\": 1\n  }, \n  \"14214\": {\n    \"3421\": 1\n  }, \n  \"14218\": {\n    \"3421\": 1\n  }, \n  \"14220\": {\n    \"3421\": 1\n  }, \n  \"14222\": {\n    \"3421\": 1\n  }, \n  \"14224\": {\n    \"3421\": 1\n  }, \n  \"14226\": {\n    \"3421\": 1\n  }, \n  \"14228\": {\n    \"3421\": 1\n  }, \n  \"14230\": {\n    \"3432\": 1\n  }, \n  \"14232\": {\n    \"3432\": 1\n  }, \n  \"14234\": {\n    \"11579\": 1\n  }, \n  \"14236\": {\n    \"3428\": 1\n  }, \n  \"14238\": {\n    \"3317\": 1\n  }, \n  \"14240\": {\n    \"3433\": 1\n  }, \n  \"14242\": {\n    \"3435\": 1\n  }, \n  \"14244\": {\n    \"3435\": 1\n  }, \n  \"14246\": {\n    \"3435\": 1\n  }, \n  \"14248\": {\n    \"3435\": 1\n  }, \n  \"14250\": {\n    \"3435\": 1\n  }, \n  \"14252\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"14254\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"14256\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"14258\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"14260\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"14262\": {\n    \"3435\": 1\n  }, \n  \"14264\": {\n    \"3435\": 1\n  }, \n  \"14266\": {\n    \"3435\": 1\n  }, \n  \"14268\": {\n    \"3435\": 1\n  }, \n  \"14270\": {\n    \"3435\": 1\n  }, \n  \"14272\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"14274\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"14276\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"14278\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"14280\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14282\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14284\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14286\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14295\": {\n    \"3411\": 1\n  }, \n  \"14296\": {\n    \"3411\": 1\n  }, \n  \"14297\": {\n    \"3411\": 1\n  }, \n  \"14298\": {\n    \"3411\": 1\n  }, \n  \"14299\": {\n    \"3411\": 1\n  }, \n  \"14375\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14377\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14379\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14381\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14383\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14385\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14387\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14389\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14391\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14393\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14395\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14397\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14399\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14401\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14403\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14405\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14407\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14409\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14411\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14413\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14415\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"14417\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14419\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14421\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14423\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14425\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14427\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14429\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14431\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14433\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14435\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14437\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14439\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14441\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14443\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14445\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14447\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14449\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14451\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14453\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14455\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"14457\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"14459\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"14461\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"14463\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"14465\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"14467\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"14469\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"14471\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"14473\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"14475\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"14484\": {\n    \"3450\": 1\n  }, \n  \"14486\": {\n    \"3450\": 1\n  }, \n  \"14488\": {\n    \"3450\": 1\n  }, \n  \"14490\": {\n    \"3450\": 1\n  }, \n  \"14492\": {\n    \"3454\": 1\n  }, \n  \"14494\": {\n    \"3454\": 1\n  }, \n  \"14496\": {\n    \"3454\": 1\n  }, \n  \"14498\": {\n    \"3454\": 1\n  }, \n  \"14500\": {\n    \"3450\": 1\n  }, \n  \"14502\": {\n    \"3450\": 1\n  }, \n  \"14504\": {\n    \"3450\": 1\n  }, \n  \"14506\": {\n    \"3450\": 1\n  }, \n  \"14508\": {\n    \"3454\": 1\n  }, \n  \"14510\": {\n    \"3454\": 1\n  }, \n  \"14512\": {\n    \"3454\": 1\n  }, \n  \"14514\": {\n    \"3454\": 1\n  }, \n  \"14516\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"14518\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"14520\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"14522\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"14524\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"14525\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"14526\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"14527\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"14528\": {\n    \"3318\": 1\n  }, \n  \"14530\": {\n    \"3318\": 1\n  }, \n  \"14532\": {\n    \"3318\": 1\n  }, \n  \"14534\": {\n    \"3318\": 1\n  }, \n  \"14536\": {\n    \"3318\": 1\n  }, \n  \"14538\": {\n    \"3318\": 1\n  }, \n  \"14540\": {\n    \"3318\": 1\n  }, \n  \"14542\": {\n    \"3318\": 1\n  }, \n  \"14544\": {\n    \"3421\": 1\n  }, \n  \"14546\": {\n    \"3421\": 1\n  }, \n  \"14548\": {\n    \"3421\": 1\n  }, \n  \"14550\": {\n    \"3421\": 1\n  }, \n  \"14552\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"14554\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"14556\": {\n    \"3394\": 1\n  }, \n  \"14560\": {\n    \"3394\": 1\n  }, \n  \"14564\": {\n    \"3394\": 1\n  }, \n  \"14568\": {\n    \"3394\": 1\n  }, \n  \"14572\": {\n    \"3394\": 1\n  }, \n  \"14576\": {\n    \"3394\": 1\n  }, \n  \"14580\": {\n    \"3394\": 1\n  }, \n  \"14584\": {\n    \"3394\": 1\n  }, \n  \"14588\": {\n    \"3394\": 1\n  }, \n  \"14592\": {\n    \"3394\": 1\n  }, \n  \"14597\": {\n    \"3416\": 2\n  }, \n  \"14599\": {\n    \"3416\": 2\n  }, \n  \"14601\": {\n    \"3416\": 3\n  }, \n  \"14603\": {\n    \"3416\": 3\n  }, \n  \"14606\": {\n    \"3425\": 1\n  }, \n  \"14610\": {\n    \"3425\": 1\n  }, \n  \"14614\": {\n    \"3425\": 1\n  }, \n  \"14618\": {\n    \"3425\": 1\n  }, \n  \"14622\": {\n    \"3425\": 1\n  }, \n  \"14626\": {\n    \"3425\": 1\n  }, \n  \"14630\": {\n    \"3425\": 1\n  }, \n  \"14634\": {\n    \"3425\": 1\n  }, \n  \"14636\": {\n    \"3419\": 1\n  }, \n  \"14638\": {\n    \"3419\": 1\n  }, \n  \"14640\": {\n    \"3318\": 1\n  }, \n  \"14642\": {\n    \"3318\": 1\n  }, \n  \"14644\": {\n    \"3318\": 1\n  }, \n  \"14646\": {\n    \"3318\": 1\n  }, \n  \"14648\": {\n    \"3435\": 1\n  }, \n  \"14650\": {\n    \"3435\": 1\n  }, \n  \"14652\": {\n    \"3435\": 1\n  }, \n  \"14654\": {\n    \"3435\": 1\n  }, \n  \"14656\": {\n    \"3435\": 1\n  }, \n  \"14658\": {\n    \"3435\": 1\n  }, \n  \"14660\": {\n    \"3435\": 1\n  }, \n  \"14662\": {\n    \"3435\": 1\n  }, \n  \"14664\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"14666\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"14668\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"14670\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"14672\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"14674\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"14676\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"14678\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"14680\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"14681\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"14682\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"14683\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"14684\": {\n    \"3318\": 1\n  }, \n  \"14686\": {\n    \"3318\": 1\n  }, \n  \"14688\": {\n    \"3318\": 1\n  }, \n  \"14690\": {\n    \"3318\": 1\n  }, \n  \"14692\": {\n    \"3421\": 1\n  }, \n  \"14694\": {\n    \"3421\": 1\n  }, \n  \"14696\": {\n    \"3421\": 1\n  }, \n  \"14698\": {\n    \"3421\": 1\n  }, \n  \"14700\": {\n    \"3416\": 2\n  }, \n  \"14701\": {\n    \"3416\": 2\n  }, \n  \"14702\": {\n    \"3416\": 2\n  }, \n  \"14703\": {\n    \"3416\": 2\n  }, \n  \"14704\": {\n    \"3416\": 3\n  }, \n  \"14705\": {\n    \"3416\": 3\n  }, \n  \"14706\": {\n    \"3416\": 3\n  }, \n  \"14707\": {\n    \"3416\": 3\n  }, \n  \"14708\": {\n    \"3419\": 1\n  }, \n  \"14710\": {\n    \"3419\": 1\n  }, \n  \"14712\": {\n    \"3419\": 1\n  }, \n  \"14714\": {\n    \"3419\": 1\n  }, \n  \"14716\": {\n    \"3425\": 1\n  }, \n  \"14718\": {\n    \"3425\": 1\n  }, \n  \"14720\": {\n    \"3425\": 1\n  }, \n  \"14722\": {\n    \"3425\": 1\n  }, \n  \"14724\": {\n    \"3425\": 1\n  }, \n  \"14726\": {\n    \"3425\": 1\n  }, \n  \"14728\": {\n    \"3425\": 1\n  }, \n  \"14730\": {\n    \"3425\": 1\n  }, \n  \"14732\": {\n    \"3425\": 1\n  }, \n  \"14734\": {\n    \"3425\": 1\n  }, \n  \"14736\": {\n    \"3425\": 1\n  }, \n  \"14738\": {\n    \"3425\": 1\n  }, \n  \"14740\": {\n    \"3425\": 1\n  }, \n  \"14742\": {\n    \"3425\": 1\n  }, \n  \"14744\": {\n    \"3425\": 1\n  }, \n  \"14746\": {\n    \"3425\": 1\n  }, \n  \"14748\": {\n    \"3420\": 1\n  }, \n  \"14749\": {\n    \"3420\": 1\n  }, \n  \"14750\": {\n    \"3420\": 1\n  }, \n  \"14751\": {\n    \"3420\": 1\n  }, \n  \"14752\": {\n    \"3420\": 1\n  }, \n  \"14753\": {\n    \"3420\": 1\n  }, \n  \"14754\": {\n    \"3420\": 1\n  }, \n  \"14755\": {\n    \"3420\": 1\n  }, \n  \"14756\": {\n    \"3420\": 1\n  }, \n  \"14757\": {\n    \"3420\": 1\n  }, \n  \"14758\": {\n    \"3420\": 1\n  }, \n  \"14759\": {\n    \"3420\": 1\n  }, \n  \"14760\": {\n    \"3420\": 1\n  }, \n  \"14761\": {\n    \"3420\": 1\n  }, \n  \"14762\": {\n    \"3420\": 1\n  }, \n  \"14763\": {\n    \"3420\": 1\n  }, \n  \"14764\": {\n    \"3420\": 1\n  }, \n  \"14765\": {\n    \"3420\": 1\n  }, \n  \"14766\": {\n    \"3420\": 1\n  }, \n  \"14767\": {\n    \"3420\": 1\n  }, \n  \"14768\": {\n    \"3432\": 1\n  }, \n  \"14770\": {\n    \"3432\": 1\n  }, \n  \"14772\": {\n    \"3432\": 1\n  }, \n  \"14774\": {\n    \"3432\": 1\n  }, \n  \"14776\": {\n    \"11579\": 1\n  }, \n  \"14778\": {\n    \"11579\": 1\n  }, \n  \"14780\": {\n    \"11579\": 1\n  }, \n  \"14782\": {\n    \"11579\": 1\n  }, \n  \"14784\": {\n    \"3421\": 1\n  }, \n  \"14786\": {\n    \"3421\": 1\n  }, \n  \"14788\": {\n    \"3421\": 1\n  }, \n  \"14790\": {\n    \"3421\": 1\n  }, \n  \"14792\": {\n    \"3421\": 1\n  }, \n  \"14794\": {\n    \"3421\": 1\n  }, \n  \"14796\": {\n    \"3421\": 1\n  }, \n  \"14798\": {\n    \"3421\": 1\n  }, \n  \"14800\": {\n    \"3318\": 1\n  }, \n  \"14802\": {\n    \"3318\": 1\n  }, \n  \"14804\": {\n    \"3318\": 1\n  }, \n  \"14806\": {\n    \"3318\": 1\n  }, \n  \"14808\": {\n    \"3318\": 1\n  }, \n  \"14810\": {\n    \"3318\": 1\n  }, \n  \"14812\": {\n    \"3318\": 1\n  }, \n  \"14814\": {\n    \"3318\": 1\n  }, \n  \"14816\": {\n    \"3423\": 3\n  }, \n  \"14818\": {\n    \"3423\": 3\n  }, \n  \"14820\": {\n    \"3423\": 3\n  }, \n  \"14822\": {\n    \"3423\": 3\n  }, \n  \"14824\": {\n    \"3423\": 3\n  }, \n  \"14826\": {\n    \"3423\": 3\n  }, \n  \"14828\": {\n    \"3423\": 3\n  }, \n  \"14830\": {\n    \"3423\": 3\n  }, \n  \"14832\": {\n    \"3423\": 3\n  }, \n  \"14834\": {\n    \"3423\": 3\n  }, \n  \"14836\": {\n    \"3423\": 3\n  }, \n  \"14838\": {\n    \"3423\": 3\n  }, \n  \"14840\": {\n    \"3423\": 3\n  }, \n  \"14842\": {\n    \"3423\": 3\n  }, \n  \"14844\": {\n    \"3423\": 3\n  }, \n  \"14846\": {\n    \"3423\": 3\n  }, \n  \"14848\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"14849\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"14850\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"14851\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"14852\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"14853\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"14854\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"14855\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"14856\": {\n    \"3394\": 1\n  }, \n  \"14858\": {\n    \"3394\": 1\n  }, \n  \"14860\": {\n    \"3394\": 1\n  }, \n  \"14862\": {\n    \"3394\": 1\n  }, \n  \"14864\": {\n    \"3394\": 1\n  }, \n  \"14866\": {\n    \"3394\": 1\n  }, \n  \"14868\": {\n    \"3394\": 1\n  }, \n  \"14870\": {\n    \"3394\": 1\n  }, \n  \"14872\": {\n    \"3394\": 1\n  }, \n  \"14874\": {\n    \"3394\": 1\n  }, \n  \"14876\": {\n    \"3394\": 1\n  }, \n  \"14878\": {\n    \"3394\": 1\n  }, \n  \"14880\": {\n    \"3394\": 1\n  }, \n  \"14882\": {\n    \"3394\": 1\n  }, \n  \"14884\": {\n    \"3394\": 1\n  }, \n  \"14886\": {\n    \"3394\": 1\n  }, \n  \"14888\": {\n    \"3394\": 1\n  }, \n  \"14890\": {\n    \"3394\": 1\n  }, \n  \"14892\": {\n    \"3394\": 1\n  }, \n  \"14894\": {\n    \"3394\": 1\n  }, \n  \"14896\": {\n    \"3394\": 1\n  }, \n  \"14898\": {\n    \"3394\": 1\n  }, \n  \"14900\": {\n    \"3394\": 1\n  }, \n  \"14902\": {\n    \"3394\": 1\n  }, \n  \"14904\": {\n    \"3394\": 1\n  }, \n  \"14906\": {\n    \"3394\": 1\n  }, \n  \"14908\": {\n    \"3394\": 1\n  }, \n  \"14910\": {\n    \"3394\": 1\n  }, \n  \"14912\": {\n    \"3394\": 1\n  }, \n  \"14914\": {\n    \"3394\": 1\n  }, \n  \"14916\": {\n    \"3394\": 1\n  }, \n  \"14918\": {\n    \"3394\": 1\n  }, \n  \"14920\": {\n    \"3394\": 1\n  }, \n  \"14922\": {\n    \"3394\": 1\n  }, \n  \"14924\": {\n    \"3394\": 1\n  }, \n  \"14926\": {\n    \"3394\": 1\n  }, \n  \"14928\": {\n    \"3394\": 1\n  }, \n  \"14930\": {\n    \"3394\": 1\n  }, \n  \"14932\": {\n    \"3394\": 1\n  }, \n  \"14934\": {\n    \"3394\": 1\n  }, \n  \"14936\": {\n    \"3394\": 3\n  }, \n  \"14938\": {\n    \"3394\": 3\n  }, \n  \"14940\": {\n    \"3394\": 3\n  }, \n  \"14942\": {\n    \"3394\": 3\n  }, \n  \"14944\": {\n    \"3394\": 3\n  }, \n  \"14946\": {\n    \"3394\": 3\n  }, \n  \"14948\": {\n    \"3394\": 3\n  }, \n  \"14950\": {\n    \"3394\": 3\n  }, \n  \"14952\": {\n    \"3394\": 3\n  }, \n  \"14954\": {\n    \"3394\": 3\n  }, \n  \"14956\": {\n    \"3394\": 3\n  }, \n  \"14958\": {\n    \"3394\": 3\n  }, \n  \"14960\": {\n    \"3394\": 3\n  }, \n  \"14962\": {\n    \"3394\": 3\n  }, \n  \"14964\": {\n    \"3394\": 3\n  }, \n  \"14966\": {\n    \"3394\": 3\n  }, \n  \"14968\": {\n    \"3394\": 3\n  }, \n  \"14970\": {\n    \"3394\": 3\n  }, \n  \"14972\": {\n    \"3394\": 3\n  }, \n  \"14974\": {\n    \"3394\": 3\n  }, \n  \"14976\": {\n    \"3394\": 3\n  }, \n  \"14978\": {\n    \"3394\": 3\n  }, \n  \"14980\": {\n    \"3394\": 3\n  }, \n  \"14982\": {\n    \"3394\": 3\n  }, \n  \"14984\": {\n    \"3394\": 3\n  }, \n  \"14986\": {\n    \"3394\": 3\n  }, \n  \"14988\": {\n    \"3394\": 3\n  }, \n  \"14990\": {\n    \"3394\": 3\n  }, \n  \"14992\": {\n    \"3394\": 3\n  }, \n  \"14994\": {\n    \"3394\": 3\n  }, \n  \"14996\": {\n    \"3394\": 3\n  }, \n  \"14998\": {\n    \"3394\": 3\n  }, \n  \"15000\": {\n    \"3394\": 3\n  }, \n  \"15002\": {\n    \"3394\": 3\n  }, \n  \"15004\": {\n    \"3394\": 3\n  }, \n  \"15006\": {\n    \"3394\": 3\n  }, \n  \"15008\": {\n    \"3394\": 3\n  }, \n  \"15010\": {\n    \"3394\": 3\n  }, \n  \"15012\": {\n    \"3394\": 3\n  }, \n  \"15014\": {\n    \"3394\": 3\n  }, \n  \"15016\": {\n    \"3394\": 3\n  }, \n  \"15018\": {\n    \"3394\": 3\n  }, \n  \"15020\": {\n    \"3394\": 3\n  }, \n  \"15022\": {\n    \"3394\": 3\n  }, \n  \"15024\": {\n    \"3394\": 3\n  }, \n  \"15026\": {\n    \"3394\": 3\n  }, \n  \"15028\": {\n    \"3394\": 3\n  }, \n  \"15030\": {\n    \"3394\": 3\n  }, \n  \"15032\": {\n    \"3394\": 3\n  }, \n  \"15034\": {\n    \"3394\": 3\n  }, \n  \"15036\": {\n    \"3394\": 3\n  }, \n  \"15038\": {\n    \"3394\": 3\n  }, \n  \"15040\": {\n    \"3394\": 3\n  }, \n  \"15042\": {\n    \"3394\": 3\n  }, \n  \"15044\": {\n    \"3394\": 3\n  }, \n  \"15046\": {\n    \"3394\": 3\n  }, \n  \"15048\": {\n    \"3394\": 3\n  }, \n  \"15050\": {\n    \"3394\": 3\n  }, \n  \"15052\": {\n    \"3394\": 3\n  }, \n  \"15054\": {\n    \"3394\": 3\n  }, \n  \"15056\": {\n    \"3394\": 3\n  }, \n  \"15058\": {\n    \"3394\": 3\n  }, \n  \"15060\": {\n    \"3394\": 3\n  }, \n  \"15062\": {\n    \"3394\": 3\n  }, \n  \"15064\": {\n    \"3394\": 3\n  }, \n  \"15066\": {\n    \"3394\": 3\n  }, \n  \"15068\": {\n    \"3394\": 3\n  }, \n  \"15070\": {\n    \"3394\": 3\n  }, \n  \"15072\": {\n    \"3394\": 3\n  }, \n  \"15074\": {\n    \"3394\": 3\n  }, \n  \"15076\": {\n    \"3394\": 3\n  }, \n  \"15078\": {\n    \"3394\": 3\n  }, \n  \"15080\": {\n    \"3424\": 2\n  }, \n  \"15082\": {\n    \"3424\": 2\n  }, \n  \"15084\": {\n    \"3424\": 2\n  }, \n  \"15086\": {\n    \"3424\": 2\n  }, \n  \"15088\": {\n    \"3424\": 2\n  }, \n  \"15090\": {\n    \"3424\": 2\n  }, \n  \"15092\": {\n    \"3424\": 2\n  }, \n  \"15094\": {\n    \"3424\": 2\n  }, \n  \"15096\": {\n    \"3424\": 2\n  }, \n  \"15098\": {\n    \"3424\": 2\n  }, \n  \"15100\": {\n    \"3424\": 2\n  }, \n  \"15102\": {\n    \"3424\": 2\n  }, \n  \"15104\": {\n    \"3424\": 2\n  }, \n  \"15106\": {\n    \"3424\": 2\n  }, \n  \"15108\": {\n    \"3424\": 2\n  }, \n  \"15110\": {\n    \"3424\": 2\n  }, \n  \"15112\": {\n    \"3424\": 2\n  }, \n  \"15114\": {\n    \"3424\": 2\n  }, \n  \"15116\": {\n    \"3424\": 2\n  }, \n  \"15118\": {\n    \"3424\": 2\n  }, \n  \"15120\": {\n    \"3424\": 2\n  }, \n  \"15122\": {\n    \"3424\": 2\n  }, \n  \"15124\": {\n    \"3424\": 2\n  }, \n  \"15126\": {\n    \"3424\": 2\n  }, \n  \"15128\": {\n    \"3417\": 1\n  }, \n  \"15130\": {\n    \"3417\": 1\n  }, \n  \"15132\": {\n    \"3417\": 1\n  }, \n  \"15134\": {\n    \"3417\": 1\n  }, \n  \"15136\": {\n    \"3417\": 1\n  }, \n  \"15138\": {\n    \"3417\": 1\n  }, \n  \"15140\": {\n    \"3417\": 1\n  }, \n  \"15142\": {\n    \"3417\": 1\n  }, \n  \"15144\": {\n    \"3318\": 1\n  }, \n  \"15146\": {\n    \"3318\": 1\n  }, \n  \"15148\": {\n    \"3318\": 1\n  }, \n  \"15150\": {\n    \"3318\": 1\n  }, \n  \"15152\": {\n    \"3421\": 1\n  }, \n  \"15154\": {\n    \"3421\": 1\n  }, \n  \"15156\": {\n    \"3421\": 1\n  }, \n  \"15158\": {\n    \"3421\": 1\n  }, \n  \"15160\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"15161\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"15162\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"15163\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"15164\": {\n    \"3394\": 1\n  }, \n  \"15166\": {\n    \"3394\": 1\n  }, \n  \"15168\": {\n    \"3394\": 1\n  }, \n  \"15170\": {\n    \"3394\": 1\n  }, \n  \"15172\": {\n    \"3394\": 1\n  }, \n  \"15174\": {\n    \"3394\": 1\n  }, \n  \"15176\": {\n    \"3394\": 1\n  }, \n  \"15178\": {\n    \"3394\": 1\n  }, \n  \"15180\": {\n    \"3394\": 1\n  }, \n  \"15182\": {\n    \"3394\": 1\n  }, \n  \"15184\": {\n    \"3394\": 1\n  }, \n  \"15186\": {\n    \"3394\": 1\n  }, \n  \"15188\": {\n    \"3394\": 1\n  }, \n  \"15190\": {\n    \"3394\": 1\n  }, \n  \"15192\": {\n    \"3394\": 1\n  }, \n  \"15194\": {\n    \"3394\": 1\n  }, \n  \"15196\": {\n    \"3394\": 1\n  }, \n  \"15198\": {\n    \"3394\": 1\n  }, \n  \"15200\": {\n    \"3394\": 1\n  }, \n  \"15202\": {\n    \"3394\": 1\n  }, \n  \"15204\": {\n    \"3394\": 3\n  }, \n  \"15206\": {\n    \"3394\": 3\n  }, \n  \"15208\": {\n    \"3394\": 3\n  }, \n  \"15210\": {\n    \"3394\": 3\n  }, \n  \"15212\": {\n    \"3394\": 3\n  }, \n  \"15214\": {\n    \"3394\": 3\n  }, \n  \"15216\": {\n    \"3394\": 3\n  }, \n  \"15218\": {\n    \"3394\": 3\n  }, \n  \"15220\": {\n    \"3394\": 3\n  }, \n  \"15222\": {\n    \"3394\": 3\n  }, \n  \"15224\": {\n    \"3394\": 3\n  }, \n  \"15226\": {\n    \"3394\": 3\n  }, \n  \"15228\": {\n    \"3394\": 3\n  }, \n  \"15230\": {\n    \"3394\": 3\n  }, \n  \"15232\": {\n    \"3394\": 3\n  }, \n  \"15234\": {\n    \"3394\": 3\n  }, \n  \"15236\": {\n    \"3394\": 3\n  }, \n  \"15238\": {\n    \"3394\": 3\n  }, \n  \"15240\": {\n    \"3394\": 3\n  }, \n  \"15242\": {\n    \"3394\": 3\n  }, \n  \"15244\": {\n    \"3394\": 3\n  }, \n  \"15246\": {\n    \"3394\": 3\n  }, \n  \"15248\": {\n    \"3394\": 3\n  }, \n  \"15250\": {\n    \"3394\": 3\n  }, \n  \"15252\": {\n    \"3394\": 3\n  }, \n  \"15254\": {\n    \"3394\": 3\n  }, \n  \"15256\": {\n    \"3394\": 3\n  }, \n  \"15258\": {\n    \"3394\": 3\n  }, \n  \"15260\": {\n    \"3394\": 3\n  }, \n  \"15262\": {\n    \"3394\": 3\n  }, \n  \"15264\": {\n    \"3394\": 3\n  }, \n  \"15266\": {\n    \"3394\": 3\n  }, \n  \"15268\": {\n    \"3394\": 3\n  }, \n  \"15270\": {\n    \"3394\": 3\n  }, \n  \"15272\": {\n    \"3394\": 3\n  }, \n  \"15274\": {\n    \"3394\": 3\n  }, \n  \"15276\": {\n    \"3428\": 1\n  }, \n  \"15278\": {\n    \"3428\": 1\n  }, \n  \"15280\": {\n    \"3428\": 1\n  }, \n  \"15282\": {\n    \"3428\": 1\n  }, \n  \"15284\": {\n    \"3317\": 1\n  }, \n  \"15286\": {\n    \"3317\": 1\n  }, \n  \"15288\": {\n    \"3317\": 1\n  }, \n  \"15290\": {\n    \"3317\": 1\n  }, \n  \"15292\": {\n    \"3424\": 2\n  }, \n  \"15294\": {\n    \"3424\": 2\n  }, \n  \"15296\": {\n    \"3424\": 2\n  }, \n  \"15298\": {\n    \"3424\": 2\n  }, \n  \"15300\": {\n    \"3424\": 2\n  }, \n  \"15302\": {\n    \"3424\": 2\n  }, \n  \"15304\": {\n    \"3424\": 2\n  }, \n  \"15306\": {\n    \"3424\": 2\n  }, \n  \"15308\": {\n    \"3432\": 1\n  }, \n  \"15310\": {\n    \"3432\": 1\n  }, \n  \"15312\": {\n    \"3432\": 1\n  }, \n  \"15314\": {\n    \"3432\": 1\n  }, \n  \"15397\": {\n    \"3318\": 1\n  }, \n  \"15399\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15401\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15403\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15405\": {\n    \"3421\": 1\n  }, \n  \"15407\": {\n    \"3420\": 1\n  }, \n  \"15408\": {\n    \"3425\": 2\n  }, \n  \"15416\": {\n    \"3318\": 1\n  }, \n  \"15418\": {\n    \"3420\": 1\n  }, \n  \"15419\": {\n    \"3435\": 1\n  }, \n  \"15425\": {\n    \"3432\": 1\n  }, \n  \"15431\": {\n    \"3435\": 1\n  }, \n  \"15433\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"15435\": {\n    \"3318\": 1\n  }, \n  \"15437\": {\n    \"3424\": 2\n  }, \n  \"15439\": {\n    \"3424\": 2\n  }, \n  \"15447\": {\n    \"3318\": 1\n  }, \n  \"15449\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"15451\": {\n    \"3423\": 3\n  }, \n  \"15453\": {\n    \"3394\": 3\n  }, \n  \"15455\": {\n    \"3394\": 3\n  }, \n  \"15457\": {\n    \"3405\": 1\n  }, \n  \"15458\": {\n    \"3405\": 2\n  }, \n  \"15459\": {\n    \"3405\": 3\n  }, \n  \"15460\": {\n    \"3405\": 1\n  }, \n  \"15461\": {\n    \"3405\": 2\n  }, \n  \"15462\": {\n    \"3405\": 3\n  }, \n  \"15463\": {\n    \"3405\": 1\n  }, \n  \"15464\": {\n    \"3405\": 2\n  }, \n  \"15465\": {\n    \"3405\": 3\n  }, \n  \"15466\": {\n    \"3405\": 1\n  }, \n  \"15477\": {\n    \"3405\": 2\n  }, \n  \"15478\": {\n    \"3405\": 3\n  }, \n  \"15479\": {\n    \"3405\": 1\n  }, \n  \"15480\": {\n    \"3405\": 2\n  }, \n  \"15508\": {\n    \"3436\": 3, \n    \"33699\": 1\n  }, \n  \"15510\": {\n    \"3436\": 3, \n    \"33699\": 1\n  }, \n  \"15675\": {\n    \"3432\": 1\n  }, \n  \"15677\": {\n    \"3432\": 1\n  }, \n  \"15681\": {\n    \"3318\": 1\n  }, \n  \"15683\": {\n    \"3318\": 1\n  }, \n  \"15685\": {\n    \"3394\": 1\n  }, \n  \"15687\": {\n    \"3394\": 1\n  }, \n  \"15689\": {\n    \"3394\": 1\n  }, \n  \"15691\": {\n    \"3394\": 1\n  }, \n  \"15693\": {\n    \"3394\": 1\n  }, \n  \"15695\": {\n    \"3394\": 1\n  }, \n  \"15697\": {\n    \"3394\": 1\n  }, \n  \"15699\": {\n    \"3394\": 1\n  }, \n  \"15701\": {\n    \"3394\": 1\n  }, \n  \"15703\": {\n    \"3394\": 1\n  }, \n  \"15705\": {\n    \"3394\": 3\n  }, \n  \"15707\": {\n    \"3394\": 3\n  }, \n  \"15709\": {\n    \"3394\": 3\n  }, \n  \"15711\": {\n    \"3394\": 3\n  }, \n  \"15713\": {\n    \"3394\": 3\n  }, \n  \"15715\": {\n    \"3394\": 3\n  }, \n  \"15717\": {\n    \"3394\": 3\n  }, \n  \"15719\": {\n    \"3394\": 3\n  }, \n  \"15721\": {\n    \"3394\": 3\n  }, \n  \"15723\": {\n    \"3394\": 3\n  }, \n  \"15725\": {\n    \"3394\": 3\n  }, \n  \"15727\": {\n    \"3394\": 3\n  }, \n  \"15729\": {\n    \"3394\": 3\n  }, \n  \"15731\": {\n    \"3394\": 3\n  }, \n  \"15733\": {\n    \"3394\": 3\n  }, \n  \"15735\": {\n    \"3394\": 3\n  }, \n  \"15737\": {\n    \"3394\": 3\n  }, \n  \"15739\": {\n    \"3394\": 3\n  }, \n  \"15741\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"15742\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"15743\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"15744\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"15745\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"15746\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"15747\": {\n    \"3454\": 1\n  }, \n  \"15749\": {\n    \"3450\": 1\n  }, \n  \"15751\": {\n    \"3454\": 1\n  }, \n  \"15753\": {\n    \"3450\": 1\n  }, \n  \"15755\": {\n    \"3454\": 1\n  }, \n  \"15757\": {\n    \"3450\": 1\n  }, \n  \"15759\": {\n    \"3454\": 1\n  }, \n  \"15761\": {\n    \"3450\": 1\n  }, \n  \"15764\": {\n    \"3454\": 1\n  }, \n  \"15766\": {\n    \"3450\": 1\n  }, \n  \"15768\": {\n    \"3454\": 1\n  }, \n  \"15770\": {\n    \"3450\": 1\n  }, \n  \"15772\": {\n    \"3417\": 1\n  }, \n  \"15774\": {\n    \"3417\": 1\n  }, \n  \"15776\": {\n    \"3417\": 1\n  }, \n  \"15778\": {\n    \"3417\": 1\n  }, \n  \"15780\": {\n    \"3417\": 1\n  }, \n  \"15782\": {\n    \"3417\": 1\n  }, \n  \"15784\": {\n    \"3417\": 1\n  }, \n  \"15786\": {\n    \"3417\": 1\n  }, \n  \"15788\": {\n    \"3424\": 2\n  }, \n  \"15790\": {\n    \"11579\": 1\n  }, \n  \"15792\": {\n    \"3317\": 1\n  }, \n  \"15794\": {\n    \"3423\": 1\n  }, \n  \"15796\": {\n    \"3423\": 2\n  }, \n  \"15798\": {\n    \"3423\": 3\n  }, \n  \"15800\": {\n    \"3423\": 1\n  }, \n  \"15802\": {\n    \"3423\": 2\n  }, \n  \"15804\": {\n    \"3423\": 3\n  }, \n  \"15806\": {\n    \"3318\": 1\n  }, \n  \"15808\": {\n    \"3318\": 1\n  }, \n  \"15810\": {\n    \"3318\": 1\n  }, \n  \"15812\": {\n    \"3394\": 1\n  }, \n  \"15813\": {\n    \"3394\": 1\n  }, \n  \"15814\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"15815\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"15816\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"15817\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"15818\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"15820\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"15821\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"15823\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"15824\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"15825\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"15826\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"15827\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"15828\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"15829\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"15830\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"15831\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"15832\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"15833\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"15834\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"15835\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"15836\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"15837\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"15838\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"15840\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"15841\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"15843\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"15844\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"15845\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15846\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"15847\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15848\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15849\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"15850\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"15851\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"15852\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"15853\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"15854\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"15855\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"15856\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"15857\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"15858\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15859\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15860\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15861\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"15862\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15863\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15864\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"15865\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"15866\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"15867\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"15868\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"15869\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"15870\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"15871\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"15872\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"15873\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15874\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"15875\": {\n    \"3423\": 1\n  }, \n  \"15877\": {\n    \"3423\": 2\n  }, \n  \"15879\": {\n    \"3423\": 3\n  }, \n  \"15881\": {\n    \"3423\": 1\n  }, \n  \"15883\": {\n    \"3423\": 2\n  }, \n  \"15885\": {\n    \"3423\": 3\n  }, \n  \"15887\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"15889\": {\n    \"3435\": 1\n  }, \n  \"15891\": {\n    \"3435\": 1\n  }, \n  \"15893\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"15895\": {\n    \"3318\": 1\n  }, \n  \"15897\": {\n    \"3416\": 3\n  }, \n  \"15898\": {\n    \"3416\": 1\n  }, \n  \"15899\": {\n    \"3416\": 1\n  }, \n  \"15900\": {\n    \"3416\": 2\n  }, \n  \"15901\": {\n    \"3416\": 3\n  }, \n  \"15902\": {\n    \"3416\": 1\n  }, \n  \"15903\": {\n    \"3416\": 1\n  }, \n  \"15904\": {\n    \"3416\": 2\n  }, \n  \"15905\": {\n    \"3419\": 1\n  }, \n  \"15907\": {\n    \"3419\": 1\n  }, \n  \"15909\": {\n    \"3425\": 1\n  }, \n  \"15911\": {\n    \"3425\": 1\n  }, \n  \"15913\": {\n    \"3425\": 1\n  }, \n  \"15915\": {\n    \"3425\": 1\n  }, \n  \"15917\": {\n    \"3425\": 1\n  }, \n  \"15919\": {\n    \"3425\": 1\n  }, \n  \"15921\": {\n    \"3425\": 1\n  }, \n  \"15923\": {\n    \"3425\": 1\n  }, \n  \"15925\": {\n    \"3421\": 1\n  }, \n  \"15927\": {\n    \"3421\": 1\n  }, \n  \"15929\": {\n    \"3421\": 1\n  }, \n  \"15931\": {\n    \"3421\": 1\n  }, \n  \"15933\": {\n    \"3421\": 1\n  }, \n  \"15935\": {\n    \"3421\": 1\n  }, \n  \"15937\": {\n    \"3421\": 1\n  }, \n  \"15939\": {\n    \"3421\": 1\n  }, \n  \"15941\": {\n    \"3421\": 1\n  }, \n  \"15943\": {\n    \"3421\": 1\n  }, \n  \"15945\": {\n    \"3421\": 1\n  }, \n  \"15947\": {\n    \"3421\": 1\n  }, \n  \"15949\": {\n    \"3421\": 1\n  }, \n  \"15951\": {\n    \"3421\": 1\n  }, \n  \"15953\": {\n    \"3421\": 1\n  }, \n  \"15955\": {\n    \"3421\": 1\n  }, \n  \"15957\": {\n    \"3421\": 1\n  }, \n  \"15959\": {\n    \"3421\": 1\n  }, \n  \"15961\": {\n    \"3421\": 1\n  }, \n  \"15963\": {\n    \"3421\": 1\n  }, \n  \"15965\": {\n    \"3318\": 1\n  }, \n  \"15967\": {\n    \"3433\": 1\n  }, \n  \"16003\": {\n    \"3411\": 4\n  }, \n  \"16004\": {\n    \"3411\": 4\n  }, \n  \"16005\": {\n    \"3411\": 4\n  }, \n  \"16006\": {\n    \"3411\": 4\n  }, \n  \"16008\": {\n    \"3411\": 2\n  }, \n  \"16009\": {\n    \"3411\": 4\n  }, \n  \"16025\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"16046\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"16047\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"16048\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"16049\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"16050\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"16051\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"16052\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"16053\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"16054\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"16055\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"16056\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"16057\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"16058\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"16059\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"16060\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"16061\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"16062\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"16064\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"16065\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"16067\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"16068\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"16069\": {\n    \"3392\": 3, \n    \"3393\": 2\n  }, \n  \"16126\": {\n    \"11579\": 5\n  }, \n  \"16136\": {\n    \"3319\": 1, \n    \"3321\": 5\n  }, \n  \"16137\": {\n    \"3319\": 5\n  }, \n  \"16138\": {\n    \"3319\": 1, \n    \"3326\": 5\n  }, \n  \"16140\": {\n    \"3435\": 5\n  }, \n  \"16142\": {\n    \"3425\": 5\n  }, \n  \"16144\": {\n    \"3425\": 5\n  }, \n  \"16146\": {\n    \"3425\": 5\n  }, \n  \"16151\": {\n    \"3394\": 3\n  }, \n  \"16153\": {\n    \"3394\": 3\n  }, \n  \"16155\": {\n    \"3394\": 3\n  }, \n  \"16157\": {\n    \"3394\": 3\n  }, \n  \"16206\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"16216\": {\n    \"11584\": 1\n  }, \n  \"16219\": {\n    \"3380\": 1\n  }, \n  \"16220\": {\n    \"11584\": 1\n  }, \n  \"16222\": {\n    \"11584\": 1\n  }, \n  \"16227\": {\n    \"33096\": 1\n  }, \n  \"16229\": {\n    \"33097\": 1\n  }, \n  \"16231\": {\n    \"33098\": 1\n  }, \n  \"16233\": {\n    \"33095\": 1\n  }, \n  \"16236\": {\n    \"33091\": 1\n  }, \n  \"16238\": {\n    \"33092\": 1\n  }, \n  \"16240\": {\n    \"33093\": 1\n  }, \n  \"16242\": {\n    \"33094\": 1\n  }, \n  \"16245\": {\n    \"3411\": 4\n  }, \n  \"16246\": {\n    \"3411\": 4\n  }, \n  \"16247\": {\n    \"3411\": 4\n  }, \n  \"16248\": {\n    \"3411\": 4\n  }, \n  \"16249\": {\n    \"3411\": 4\n  }, \n  \"16262\": {\n    \"16281\": 1\n  }, \n  \"16263\": {\n    \"16281\": 1\n  }, \n  \"16264\": {\n    \"16281\": 1\n  }, \n  \"16265\": {\n    \"16281\": 1\n  }, \n  \"16266\": {\n    \"16281\": 1\n  }, \n  \"16267\": {\n    \"16281\": 1\n  }, \n  \"16268\": {\n    \"16281\": 1\n  }, \n  \"16269\": {\n    \"16281\": 1\n  }, \n  \"16278\": {\n    \"16281\": 1\n  }, \n  \"16281\": {\n    \"3386\": 4\n  }, \n  \"16297\": {\n    \"3455\": 1\n  }, \n  \"16299\": {\n    \"3455\": 1\n  }, \n  \"16301\": {\n    \"3455\": 1\n  }, \n  \"16303\": {\n    \"3455\": 1\n  }, \n  \"16305\": {\n    \"3394\": 1\n  }, \n  \"16307\": {\n    \"3394\": 1\n  }, \n  \"16309\": {\n    \"3394\": 1\n  }, \n  \"16311\": {\n    \"3394\": 1\n  }, \n  \"16313\": {\n    \"3394\": 1\n  }, \n  \"16315\": {\n    \"3394\": 1\n  }, \n  \"16317\": {\n    \"3394\": 1\n  }, \n  \"16319\": {\n    \"3394\": 1\n  }, \n  \"16321\": {\n    \"3394\": 1\n  }, \n  \"16323\": {\n    \"3394\": 1\n  }, \n  \"16325\": {\n    \"3394\": 1\n  }, \n  \"16327\": {\n    \"3394\": 1\n  }, \n  \"16329\": {\n    \"3394\": 1\n  }, \n  \"16331\": {\n    \"3394\": 1\n  }, \n  \"16333\": {\n    \"3394\": 1\n  }, \n  \"16335\": {\n    \"3394\": 1\n  }, \n  \"16337\": {\n    \"3394\": 1\n  }, \n  \"16339\": {\n    \"3394\": 1\n  }, \n  \"16341\": {\n    \"3394\": 1\n  }, \n  \"16343\": {\n    \"3394\": 1\n  }, \n  \"16345\": {\n    \"3394\": 1\n  }, \n  \"16347\": {\n    \"3394\": 1\n  }, \n  \"16349\": {\n    \"3394\": 1\n  }, \n  \"16351\": {\n    \"3394\": 1\n  }, \n  \"16353\": {\n    \"3394\": 3\n  }, \n  \"16355\": {\n    \"3394\": 3\n  }, \n  \"16357\": {\n    \"3394\": 3\n  }, \n  \"16359\": {\n    \"3394\": 3\n  }, \n  \"16361\": {\n    \"3394\": 3\n  }, \n  \"16363\": {\n    \"3394\": 3\n  }, \n  \"16365\": {\n    \"3394\": 3\n  }, \n  \"16367\": {\n    \"3394\": 3\n  }, \n  \"16369\": {\n    \"3394\": 3\n  }, \n  \"16371\": {\n    \"3394\": 3\n  }, \n  \"16373\": {\n    \"3394\": 3\n  }, \n  \"16375\": {\n    \"3394\": 3\n  }, \n  \"16377\": {\n    \"3394\": 3\n  }, \n  \"16379\": {\n    \"3394\": 3\n  }, \n  \"16381\": {\n    \"3394\": 3\n  }, \n  \"16383\": {\n    \"3394\": 3\n  }, \n  \"16385\": {\n    \"3394\": 3\n  }, \n  \"16387\": {\n    \"3394\": 3\n  }, \n  \"16389\": {\n    \"3394\": 3\n  }, \n  \"16391\": {\n    \"3394\": 3\n  }, \n  \"16393\": {\n    \"3394\": 3\n  }, \n  \"16395\": {\n    \"3394\": 3\n  }, \n  \"16397\": {\n    \"3394\": 3\n  }, \n  \"16399\": {\n    \"3394\": 3\n  }, \n  \"16401\": {\n    \"3394\": 3\n  }, \n  \"16403\": {\n    \"3394\": 3\n  }, \n  \"16405\": {\n    \"3394\": 3\n  }, \n  \"16407\": {\n    \"3394\": 3\n  }, \n  \"16409\": {\n    \"3394\": 3\n  }, \n  \"16411\": {\n    \"3394\": 3\n  }, \n  \"16413\": {\n    \"3394\": 3\n  }, \n  \"16415\": {\n    \"3394\": 3\n  }, \n  \"16417\": {\n    \"3394\": 3\n  }, \n  \"16419\": {\n    \"3394\": 3\n  }, \n  \"16421\": {\n    \"3394\": 3\n  }, \n  \"16423\": {\n    \"3394\": 3\n  }, \n  \"16425\": {\n    \"3394\": 3\n  }, \n  \"16427\": {\n    \"3394\": 3\n  }, \n  \"16429\": {\n    \"3394\": 3\n  }, \n  \"16431\": {\n    \"3394\": 3\n  }, \n  \"16433\": {\n    \"16069\": 1\n  }, \n  \"16435\": {\n    \"16069\": 1\n  }, \n  \"16437\": {\n    \"16069\": 1\n  }, \n  \"16439\": {\n    \"16069\": 1\n  }, \n  \"16441\": {\n    \"16069\": 2\n  }, \n  \"16443\": {\n    \"16069\": 2\n  }, \n  \"16445\": {\n    \"16069\": 2\n  }, \n  \"16447\": {\n    \"16069\": 2\n  }, \n  \"16449\": {\n    \"16069\": 3\n  }, \n  \"16451\": {\n    \"16069\": 3\n  }, \n  \"16453\": {\n    \"16069\": 3\n  }, \n  \"16455\": {\n    \"16069\": 3\n  }, \n  \"16457\": {\n    \"3318\": 1\n  }, \n  \"16459\": {\n    \"3318\": 1\n  }, \n  \"16461\": {\n    \"3318\": 1\n  }, \n  \"16463\": {\n    \"3318\": 1\n  }, \n  \"16465\": {\n    \"3423\": 2\n  }, \n  \"16467\": {\n    \"3423\": 2\n  }, \n  \"16469\": {\n    \"3423\": 2\n  }, \n  \"16471\": {\n    \"3423\": 2\n  }, \n  \"16473\": {\n    \"3423\": 3\n  }, \n  \"16475\": {\n    \"3423\": 3\n  }, \n  \"16477\": {\n    \"3423\": 3\n  }, \n  \"16479\": {\n    \"3423\": 3\n  }, \n  \"16481\": {\n    \"3423\": 1\n  }, \n  \"16483\": {\n    \"3423\": 1\n  }, \n  \"16485\": {\n    \"3423\": 1\n  }, \n  \"16487\": {\n    \"3423\": 1\n  }, \n  \"16489\": {\n    \"3423\": 1\n  }, \n  \"16491\": {\n    \"3423\": 1\n  }, \n  \"16493\": {\n    \"3423\": 1\n  }, \n  \"16495\": {\n    \"3423\": 1\n  }, \n  \"16497\": {\n    \"3423\": 3\n  }, \n  \"16499\": {\n    \"3423\": 3\n  }, \n  \"16501\": {\n    \"3423\": 3\n  }, \n  \"16503\": {\n    \"3423\": 3\n  }, \n  \"16505\": {\n    \"3423\": 2\n  }, \n  \"16507\": {\n    \"3423\": 2\n  }, \n  \"16509\": {\n    \"3423\": 2\n  }, \n  \"16511\": {\n    \"3423\": 2\n  }, \n  \"16513\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"16515\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"16517\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"16519\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"16521\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"16523\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"16525\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"16527\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"16529\": {\n    \"3419\": 1\n  }, \n  \"16531\": {\n    \"3419\": 1\n  }, \n  \"16533\": {\n    \"3419\": 1\n  }, \n  \"16535\": {\n    \"3419\": 1\n  }, \n  \"16537\": {\n    \"3418\": 2\n  }, \n  \"16539\": {\n    \"3418\": 2\n  }, \n  \"16541\": {\n    \"3418\": 2\n  }, \n  \"16543\": {\n    \"3418\": 2\n  }, \n  \"16591\": {\n    \"3318\": 5, \n    \"3327\": 5, \n    \"3418\": 4, \n    \"3424\": 5\n  }, \n  \"16594\": {\n    \"16598\": 2\n  }, \n  \"16595\": {\n    \"3443\": 4\n  }, \n  \"16596\": {\n    \"3444\": 5, \n    \"16598\": 2\n  }, \n  \"16597\": {\n    \"3446\": 4, \n    \"16622\": 4\n  }, \n  \"16598\": {\n    \"3443\": 2\n  }, \n  \"16599\": {\n    \"3424\": 2\n  }, \n  \"16601\": {\n    \"3424\": 2\n  }, \n  \"16603\": {\n    \"3424\": 2\n  }, \n  \"16605\": {\n    \"3424\": 2\n  }, \n  \"16622\": {\n    \"3443\": 4\n  }, \n  \"16631\": {\n    \"11584\": 1\n  }, \n  \"16688\": {\n    \"11584\": 1\n  }, \n  \"16689\": {\n    \"11584\": 1\n  }, \n  \"16690\": {\n    \"11584\": 1\n  }, \n  \"16691\": {\n    \"11584\": 1\n  }, \n  \"16692\": {\n    \"11584\": 1\n  }, \n  \"16694\": {\n    \"11584\": 1\n  }, \n  \"16695\": {\n    \"11584\": 1\n  }, \n  \"16696\": {\n    \"11584\": 1\n  }, \n  \"16697\": {\n    \"11584\": 1\n  }, \n  \"16867\": {\n    \"11584\": 1\n  }, \n  \"16869\": {\n    \"11584\": 2\n  }, \n  \"17167\": {\n    \"11584\": 1\n  }, \n  \"17168\": {\n    \"11584\": 1\n  }, \n  \"17174\": {\n    \"11584\": 3\n  }, \n  \"17175\": {\n    \"11584\": 3\n  }, \n  \"17176\": {\n    \"11584\": 3\n  }, \n  \"17177\": {\n    \"11584\": 3\n  }, \n  \"17178\": {\n    \"11584\": 1\n  }, \n  \"17180\": {\n    \"11584\": 1\n  }, \n  \"17181\": {\n    \"11584\": 1\n  }, \n  \"17182\": {\n    \"11584\": 1\n  }, \n  \"17184\": {\n    \"11584\": 2\n  }, \n  \"17185\": {\n    \"11584\": 2\n  }, \n  \"17186\": {\n    \"11584\": 2\n  }, \n  \"17187\": {\n    \"11584\": 2\n  }, \n  \"17360\": {\n    \"3755\": 5\n  }, \n  \"17363\": {\n    \"11584\": 1\n  }, \n  \"17364\": {\n    \"11584\": 1\n  }, \n  \"17365\": {\n    \"11584\": 1\n  }, \n  \"17402\": {\n    \"11584\": 1\n  }, \n  \"17403\": {\n    \"11584\": 1\n  }, \n  \"17404\": {\n    \"11584\": 1\n  }, \n  \"17406\": {\n    \"11584\": 1\n  }, \n  \"17407\": {\n    \"11584\": 1\n  }, \n  \"17408\": {\n    \"11584\": 1\n  }, \n  \"17425\": {\n    \"3386\": 1\n  }, \n  \"17426\": {\n    \"3386\": 1\n  }, \n  \"17428\": {\n    \"3386\": 1\n  }, \n  \"17429\": {\n    \"3386\": 1\n  }, \n  \"17432\": {\n    \"3386\": 1\n  }, \n  \"17433\": {\n    \"3386\": 1\n  }, \n  \"17436\": {\n    \"3386\": 1\n  }, \n  \"17437\": {\n    \"3386\": 1\n  }, \n  \"17440\": {\n    \"3386\": 1\n  }, \n  \"17441\": {\n    \"3386\": 1\n  }, \n  \"17444\": {\n    \"3386\": 1\n  }, \n  \"17445\": {\n    \"3386\": 1\n  }, \n  \"17448\": {\n    \"3386\": 1\n  }, \n  \"17449\": {\n    \"3386\": 1\n  }, \n  \"17452\": {\n    \"3386\": 1\n  }, \n  \"17453\": {\n    \"3386\": 1\n  }, \n  \"17455\": {\n    \"3386\": 1\n  }, \n  \"17456\": {\n    \"3386\": 1\n  }, \n  \"17459\": {\n    \"3386\": 1\n  }, \n  \"17460\": {\n    \"3386\": 1\n  }, \n  \"17463\": {\n    \"3386\": 1\n  }, \n  \"17464\": {\n    \"3386\": 1\n  }, \n  \"17466\": {\n    \"3386\": 1\n  }, \n  \"17467\": {\n    \"3386\": 1\n  }, \n  \"17470\": {\n    \"3386\": 1\n  }, \n  \"17471\": {\n    \"3386\": 1\n  }, \n  \"17476\": {\n    \"3410\": 3, \n    \"17940\": 1\n  }, \n  \"17478\": {\n    \"3410\": 3, \n    \"17940\": 1\n  }, \n  \"17480\": {\n    \"3410\": 3, \n    \"17940\": 1\n  }, \n  \"17482\": {\n    \"3386\": 4, \n    \"3410\": 1\n  }, \n  \"17484\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"17485\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"17487\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"17488\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"17490\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"17491\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"17492\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"17493\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"17494\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"17495\": {\n    \"3420\": 1\n  }, \n  \"17496\": {\n    \"3420\": 1\n  }, \n  \"17497\": {\n    \"3420\": 1\n  }, \n  \"17498\": {\n    \"3420\": 1\n  }, \n  \"17499\": {\n    \"3420\": 1\n  }, \n  \"17500\": {\n    \"3435\": 1\n  }, \n  \"17502\": {\n    \"3394\": 3\n  }, \n  \"17504\": {\n    \"3394\": 3\n  }, \n  \"17506\": {\n    \"3394\": 3\n  }, \n  \"17508\": {\n    \"3394\": 3\n  }, \n  \"17510\": {\n    \"3424\": 2\n  }, \n  \"17512\": {\n    \"3394\": 1\n  }, \n  \"17514\": {\n    \"3394\": 1\n  }, \n  \"17516\": {\n    \"3394\": 1\n  }, \n  \"17518\": {\n    \"3394\": 1\n  }, \n  \"17520\": {\n    \"3428\": 1\n  }, \n  \"17522\": {\n    \"3424\": 2\n  }, \n  \"17524\": {\n    \"3424\": 2\n  }, \n  \"17526\": {\n    \"3424\": 2\n  }, \n  \"17528\": {\n    \"3424\": 2\n  }, \n  \"17536\": {\n    \"3394\": 3\n  }, \n  \"17538\": {\n    \"3394\": 3\n  }, \n  \"17540\": {\n    \"3394\": 3\n  }, \n  \"17542\": {\n    \"3394\": 3\n  }, \n  \"17544\": {\n    \"3394\": 3\n  }, \n  \"17546\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"17547\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"17548\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"17549\": {\n    \"3394\": 1\n  }, \n  \"17551\": {\n    \"3394\": 1\n  }, \n  \"17553\": {\n    \"3394\": 1\n  }, \n  \"17555\": {\n    \"3394\": 1\n  }, \n  \"17557\": {\n    \"3394\": 1\n  }, \n  \"17559\": {\n    \"3435\": 1\n  }, \n  \"17565\": {\n    \"3386\": 1, \n    \"3438\": 1\n  }, \n  \"17617\": {\n    \"9955\": 5\n  }, \n  \"17619\": {\n    \"3330\": 2\n  }, \n  \"17634\": {\n    \"3334\": 2\n  }, \n  \"17636\": {\n    \"3338\": 2\n  }, \n  \"17703\": {\n    \"3331\": 2\n  }, \n  \"17705\": {\n    \"3330\": 3\n  }, \n  \"17707\": {\n    \"3330\": 3\n  }, \n  \"17709\": {\n    \"3335\": 2\n  }, \n  \"17713\": {\n    \"3333\": 2\n  }, \n  \"17715\": {\n    \"3332\": 2, \n    \"3334\": 2\n  }, \n  \"17718\": {\n    \"3334\": 2, \n    \"3335\": 2\n  }, \n  \"17720\": {\n    \"3332\": 2, \n    \"3333\": 2\n  }, \n  \"17722\": {\n    \"3332\": 2, \n    \"3333\": 2\n  }, \n  \"17726\": {\n    \"3339\": 2\n  }, \n  \"17728\": {\n    \"3336\": 2\n  }, \n  \"17732\": {\n    \"3337\": 2\n  }, \n  \"17736\": {\n    \"3338\": 1, \n    \"3339\": 1\n  }, \n  \"17738\": {\n    \"3336\": 1, \n    \"3337\": 1\n  }, \n  \"17740\": {\n    \"3336\": 1, \n    \"3337\": 1\n  }, \n  \"17770\": {\n    \"11584\": 1\n  }, \n  \"17771\": {\n    \"11584\": 1\n  }, \n  \"17772\": {\n    \"11584\": 1\n  }, \n  \"17773\": {\n    \"11584\": 1\n  }, \n  \"17812\": {\n    \"3329\": 2\n  }, \n  \"17832\": {\n    \"3394\": 3\n  }, \n  \"17834\": {\n    \"3394\": 3\n  }, \n  \"17836\": {\n    \"3394\": 3\n  }, \n  \"17838\": {\n    \"3394\": 3\n  }, \n  \"17841\": {\n    \"3328\": 2\n  }, \n  \"17843\": {\n    \"3332\": 2\n  }, \n  \"17857\": {\n    \"3319\": 1, \n    \"21668\": 1\n  }, \n  \"17859\": {\n    \"3319\": 1, \n    \"21668\": 1\n  }, \n  \"17861\": {\n    \"3319\": 1, \n    \"21668\": 1\n  }, \n  \"17863\": {\n    \"3319\": 1, \n    \"21668\": 1\n  }, \n  \"17865\": {\n    \"3386\": 1\n  }, \n  \"17866\": {\n    \"3386\": 1\n  }, \n  \"17867\": {\n    \"3386\": 1\n  }, \n  \"17868\": {\n    \"3386\": 1\n  }, \n  \"17869\": {\n    \"11395\": 1\n  }, \n  \"17870\": {\n    \"11395\": 1\n  }, \n  \"17871\": {\n    \"3411\": 2\n  }, \n  \"17901\": {\n    \"3412\": 4\n  }, \n  \"17908\": {\n    \"9955\": 5\n  }, \n  \"17912\": {\n    \"3386\": 5\n  }, \n  \"17918\": {\n    \"3336\": 1, \n    \"3338\": 1\n  }, \n  \"17920\": {\n    \"3337\": 1, \n    \"3339\": 1\n  }, \n  \"17922\": {\n    \"3333\": 2, \n    \"3335\": 2\n  }, \n  \"17924\": {\n    \"3330\": 3, \n    \"3331\": 3\n  }, \n  \"17926\": {\n    \"3329\": 3, \n    \"3331\": 3\n  }, \n  \"17928\": {\n    \"3328\": 3, \n    \"3329\": 3\n  }, \n  \"17930\": {\n    \"3328\": 3, \n    \"3330\": 3\n  }, \n  \"17932\": {\n    \"3328\": 3, \n    \"3329\": 3\n  }, \n  \"17938\": {\n    \"3412\": 1\n  }, \n  \"17940\": {\n    \"3380\": 5, \n    \"3410\": 3, \n    \"32918\": 3\n  }, \n  \"17975\": {\n    \"16281\": 1\n  }, \n  \"17976\": {\n    \"16281\": 1\n  }, \n  \"17977\": {\n    \"16281\": 1\n  }, \n  \"17978\": {\n    \"16281\": 1\n  }, \n  \"18025\": {\n    \"3389\": 5, \n    \"11443\": 4\n  }, \n  \"18036\": {\n    \"3386\": 1, \n    \"12180\": 3\n  }, \n  \"18038\": {\n    \"3386\": 1, \n    \"12181\": 3\n  }, \n  \"18040\": {\n    \"3386\": 1, \n    \"12182\": 3\n  }, \n  \"18042\": {\n    \"3386\": 1, \n    \"12183\": 3\n  }, \n  \"18044\": {\n    \"3386\": 1, \n    \"12184\": 3\n  }, \n  \"18046\": {\n    \"3386\": 1, \n    \"12185\": 3\n  }, \n  \"18048\": {\n    \"3386\": 1, \n    \"12186\": 3\n  }, \n  \"18050\": {\n    \"3386\": 1, \n    \"12187\": 3\n  }, \n  \"18052\": {\n    \"3386\": 1, \n    \"12188\": 3\n  }, \n  \"18054\": {\n    \"3386\": 1, \n    \"12189\": 3\n  }, \n  \"18056\": {\n    \"3386\": 1, \n    \"12190\": 3\n  }, \n  \"18058\": {\n    \"3386\": 1, \n    \"12191\": 3\n  }, \n  \"18060\": {\n    \"3386\": 1, \n    \"12192\": 3\n  }, \n  \"18062\": {\n    \"3386\": 1, \n    \"12193\": 3\n  }, \n  \"18064\": {\n    \"3386\": 1, \n    \"12194\": 3\n  }, \n  \"18066\": {\n    \"3386\": 1, \n    \"12195\": 3\n  }, \n  \"18068\": {\n    \"3386\": 5, \n    \"11395\": 2\n  }, \n  \"18580\": {\n    \"16596\": 5, \n    \"16598\": 4\n  }, \n  \"18588\": {\n    \"3412\": 5\n  }, \n  \"18590\": {\n    \"3386\": 1, \n    \"12180\": 4\n  }, \n  \"18592\": {\n    \"3386\": 1, \n    \"12181\": 4\n  }, \n  \"18594\": {\n    \"3386\": 1, \n    \"12182\": 4\n  }, \n  \"18596\": {\n    \"3386\": 1, \n    \"12183\": 4\n  }, \n  \"18598\": {\n    \"3386\": 1, \n    \"12184\": 4\n  }, \n  \"18600\": {\n    \"3386\": 1, \n    \"12185\": 4\n  }, \n  \"18602\": {\n    \"3386\": 1, \n    \"12186\": 4\n  }, \n  \"18604\": {\n    \"3386\": 1, \n    \"12187\": 4\n  }, \n  \"18606\": {\n    \"3386\": 1, \n    \"12188\": 4\n  }, \n  \"18608\": {\n    \"3386\": 1, \n    \"12189\": 4\n  }, \n  \"18610\": {\n    \"3386\": 1, \n    \"12190\": 4\n  }, \n  \"18612\": {\n    \"3386\": 1, \n    \"12191\": 4\n  }, \n  \"18614\": {\n    \"3386\": 1, \n    \"12192\": 4\n  }, \n  \"18616\": {\n    \"3386\": 1, \n    \"12193\": 4\n  }, \n  \"18618\": {\n    \"3386\": 1, \n    \"12195\": 4\n  }, \n  \"18624\": {\n    \"3386\": 1, \n    \"12194\": 4\n  }, \n  \"18626\": {\n    \"3412\": 3, \n    \"3551\": 3\n  }, \n  \"18635\": {\n    \"3412\": 3, \n    \"3551\": 3\n  }, \n  \"18637\": {\n    \"3412\": 5, \n    \"3551\": 5\n  }, \n  \"18639\": {\n    \"3412\": 2\n  }, \n  \"18642\": {\n    \"9955\": 5\n  }, \n  \"18658\": {\n    \"3450\": 1\n  }, \n  \"18660\": {\n    \"3450\": 1\n  }, \n  \"18662\": {\n    \"3450\": 1\n  }, \n  \"18664\": {\n    \"3450\": 1\n  }, \n  \"18666\": {\n    \"3450\": 1\n  }, \n  \"18668\": {\n    \"3450\": 1\n  }, \n  \"18670\": {\n    \"3450\": 1\n  }, \n  \"18672\": {\n    \"3450\": 1\n  }, \n  \"18674\": {\n    \"3450\": 1\n  }, \n  \"18676\": {\n    \"3450\": 1\n  }, \n  \"18680\": {\n    \"3450\": 1\n  }, \n  \"18682\": {\n    \"3450\": 1\n  }, \n  \"18684\": {\n    \"3450\": 1\n  }, \n  \"18686\": {\n    \"3450\": 1\n  }, \n  \"18688\": {\n    \"3450\": 1\n  }, \n  \"18690\": {\n    \"3450\": 1\n  }, \n  \"18692\": {\n    \"3450\": 1\n  }, \n  \"18694\": {\n    \"3450\": 1\n  }, \n  \"18696\": {\n    \"3450\": 1\n  }, \n  \"18698\": {\n    \"3450\": 1\n  }, \n  \"18700\": {\n    \"3394\": 1\n  }, \n  \"18702\": {\n    \"3394\": 1\n  }, \n  \"18704\": {\n    \"3394\": 1\n  }, \n  \"18706\": {\n    \"3394\": 1\n  }, \n  \"18708\": {\n    \"3394\": 1\n  }, \n  \"18710\": {\n    \"3394\": 1\n  }, \n  \"18712\": {\n    \"3394\": 1\n  }, \n  \"18714\": {\n    \"3394\": 1\n  }, \n  \"18716\": {\n    \"3394\": 1\n  }, \n  \"18718\": {\n    \"3394\": 1\n  }, \n  \"18720\": {\n    \"3394\": 1\n  }, \n  \"18722\": {\n    \"3394\": 1\n  }, \n  \"18724\": {\n    \"3394\": 1\n  }, \n  \"18726\": {\n    \"3394\": 1\n  }, \n  \"18728\": {\n    \"3394\": 1\n  }, \n  \"18730\": {\n    \"3394\": 1\n  }, \n  \"18740\": {\n    \"3394\": 1\n  }, \n  \"18742\": {\n    \"3394\": 1\n  }, \n  \"18744\": {\n    \"3394\": 1\n  }, \n  \"18746\": {\n    \"3394\": 1\n  }, \n  \"18748\": {\n    \"3394\": 1\n  }, \n  \"18750\": {\n    \"3394\": 1\n  }, \n  \"18752\": {\n    \"3394\": 1\n  }, \n  \"18754\": {\n    \"3394\": 1\n  }, \n  \"18756\": {\n    \"3394\": 1\n  }, \n  \"18758\": {\n    \"3394\": 1\n  }, \n  \"18760\": {\n    \"3394\": 1\n  }, \n  \"18762\": {\n    \"3394\": 1\n  }, \n  \"18764\": {\n    \"3394\": 1\n  }, \n  \"18766\": {\n    \"3394\": 1\n  }, \n  \"18768\": {\n    \"3394\": 1\n  }, \n  \"18770\": {\n    \"3394\": 1\n  }, \n  \"18772\": {\n    \"3394\": 1\n  }, \n  \"18775\": {\n    \"3394\": 1\n  }, \n  \"18777\": {\n    \"3394\": 1\n  }, \n  \"18779\": {\n    \"3394\": 1\n  }, \n  \"18781\": {\n    \"3394\": 1\n  }, \n  \"18783\": {\n    \"3394\": 1\n  }, \n  \"18785\": {\n    \"3394\": 1\n  }, \n  \"18787\": {\n    \"3394\": 1\n  }, \n  \"18789\": {\n    \"3394\": 1\n  }, \n  \"18791\": {\n    \"3394\": 1\n  }, \n  \"18793\": {\n    \"3394\": 1\n  }, \n  \"18795\": {\n    \"3394\": 1\n  }, \n  \"18797\": {\n    \"3394\": 1\n  }, \n  \"18799\": {\n    \"3394\": 3\n  }, \n  \"18801\": {\n    \"3394\": 3\n  }, \n  \"18803\": {\n    \"3394\": 3\n  }, \n  \"18805\": {\n    \"3394\": 3\n  }, \n  \"18807\": {\n    \"3394\": 3\n  }, \n  \"18809\": {\n    \"3394\": 3\n  }, \n  \"18811\": {\n    \"3394\": 3\n  }, \n  \"18813\": {\n    \"3394\": 3\n  }, \n  \"18815\": {\n    \"3394\": 3\n  }, \n  \"18817\": {\n    \"3394\": 3\n  }, \n  \"18819\": {\n    \"3394\": 3\n  }, \n  \"18821\": {\n    \"3394\": 3\n  }, \n  \"18823\": {\n    \"3394\": 3\n  }, \n  \"18825\": {\n    \"3394\": 3\n  }, \n  \"18827\": {\n    \"3394\": 3\n  }, \n  \"18829\": {\n    \"3394\": 3\n  }, \n  \"18831\": {\n    \"3394\": 3\n  }, \n  \"18833\": {\n    \"3394\": 3\n  }, \n  \"18835\": {\n    \"3394\": 3\n  }, \n  \"18837\": {\n    \"3394\": 3\n  }, \n  \"18839\": {\n    \"3394\": 3\n  }, \n  \"18841\": {\n    \"3394\": 3\n  }, \n  \"18843\": {\n    \"3394\": 3\n  }, \n  \"18845\": {\n    \"3394\": 3\n  }, \n  \"18847\": {\n    \"3394\": 3\n  }, \n  \"18849\": {\n    \"3394\": 3\n  }, \n  \"18851\": {\n    \"3394\": 3\n  }, \n  \"18853\": {\n    \"3394\": 3\n  }, \n  \"18855\": {\n    \"3394\": 3\n  }, \n  \"18857\": {\n    \"3394\": 3\n  }, \n  \"18859\": {\n    \"3394\": 3\n  }, \n  \"18861\": {\n    \"3394\": 3\n  }, \n  \"18863\": {\n    \"3394\": 3\n  }, \n  \"18865\": {\n    \"3394\": 3\n  }, \n  \"18867\": {\n    \"3394\": 3\n  }, \n  \"18869\": {\n    \"3394\": 3\n  }, \n  \"18871\": {\n    \"3394\": 3\n  }, \n  \"18873\": {\n    \"3394\": 3\n  }, \n  \"18875\": {\n    \"3394\": 3\n  }, \n  \"18877\": {\n    \"3394\": 3\n  }, \n  \"18879\": {\n    \"3394\": 3\n  }, \n  \"18881\": {\n    \"3394\": 3\n  }, \n  \"18883\": {\n    \"3394\": 3\n  }, \n  \"18885\": {\n    \"3394\": 3\n  }, \n  \"18887\": {\n    \"3394\": 3\n  }, \n  \"18889\": {\n    \"3394\": 3\n  }, \n  \"18891\": {\n    \"3394\": 3\n  }, \n  \"18893\": {\n    \"3394\": 3\n  }, \n  \"18895\": {\n    \"3394\": 3\n  }, \n  \"18897\": {\n    \"3394\": 3\n  }, \n  \"18899\": {\n    \"3394\": 3\n  }, \n  \"18901\": {\n    \"3394\": 3\n  }, \n  \"18903\": {\n    \"3394\": 3\n  }, \n  \"18905\": {\n    \"3394\": 3\n  }, \n  \"18907\": {\n    \"3394\": 3\n  }, \n  \"18909\": {\n    \"3394\": 3\n  }, \n  \"18911\": {\n    \"3394\": 3\n  }, \n  \"18913\": {\n    \"3394\": 3\n  }, \n  \"18915\": {\n    \"3394\": 3\n  }, \n  \"18917\": {\n    \"3394\": 3\n  }, \n  \"18919\": {\n    \"3394\": 3\n  }, \n  \"18921\": {\n    \"3394\": 3\n  }, \n  \"18923\": {\n    \"3394\": 3\n  }, \n  \"18925\": {\n    \"3394\": 3\n  }, \n  \"18927\": {\n    \"3394\": 3\n  }, \n  \"18929\": {\n    \"3394\": 3\n  }, \n  \"18931\": {\n    \"3394\": 3\n  }, \n  \"18933\": {\n    \"3394\": 3\n  }, \n  \"18935\": {\n    \"3394\": 3\n  }, \n  \"18937\": {\n    \"3394\": 3\n  }, \n  \"18939\": {\n    \"3394\": 3\n  }, \n  \"18941\": {\n    \"3394\": 3\n  }, \n  \"18943\": {\n    \"3394\": 3\n  }, \n  \"18945\": {\n    \"3394\": 3\n  }, \n  \"18947\": {\n    \"3394\": 3\n  }, \n  \"18949\": {\n    \"3394\": 3\n  }, \n  \"18951\": {\n    \"3394\": 3\n  }, \n  \"18953\": {\n    \"3394\": 3\n  }, \n  \"18955\": {\n    \"3394\": 3\n  }, \n  \"18957\": {\n    \"3394\": 3\n  }, \n  \"18959\": {\n    \"3394\": 3\n  }, \n  \"18961\": {\n    \"3394\": 3\n  }, \n  \"18963\": {\n    \"3394\": 3\n  }, \n  \"18965\": {\n    \"3394\": 3\n  }, \n  \"18967\": {\n    \"3394\": 3\n  }, \n  \"18969\": {\n    \"3394\": 3\n  }, \n  \"18971\": {\n    \"3394\": 3\n  }, \n  \"18973\": {\n    \"3394\": 3\n  }, \n  \"18975\": {\n    \"3394\": 3\n  }, \n  \"18977\": {\n    \"3394\": 3\n  }, \n  \"18979\": {\n    \"3394\": 3\n  }, \n  \"18981\": {\n    \"16069\": 1\n  }, \n  \"18983\": {\n    \"16069\": 1\n  }, \n  \"18985\": {\n    \"16069\": 1\n  }, \n  \"18987\": {\n    \"16069\": 2\n  }, \n  \"18989\": {\n    \"16069\": 2\n  }, \n  \"18991\": {\n    \"16069\": 2\n  }, \n  \"18999\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"19001\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"19003\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"19005\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"19007\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"19009\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"19011\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"19013\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"19015\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"19017\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"19019\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"19021\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"19023\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"19025\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"19027\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"19029\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"19031\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"19033\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"19035\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"19036\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"19037\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"19038\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"19039\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"19040\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"19041\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"19042\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"19043\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"19044\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"19045\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"19046\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"19047\": {\n    \"16069\": 1\n  }, \n  \"19049\": {\n    \"16069\": 1\n  }, \n  \"19051\": {\n    \"16069\": 1\n  }, \n  \"19053\": {\n    \"16069\": 2\n  }, \n  \"19055\": {\n    \"16069\": 2\n  }, \n  \"19057\": {\n    \"16069\": 2\n  }, \n  \"19065\": {\n    \"3423\": 1\n  }, \n  \"19067\": {\n    \"3423\": 1\n  }, \n  \"19069\": {\n    \"3423\": 1\n  }, \n  \"19071\": {\n    \"3423\": 1\n  }, \n  \"19073\": {\n    \"3423\": 1\n  }, \n  \"19075\": {\n    \"3423\": 1\n  }, \n  \"19077\": {\n    \"3423\": 1\n  }, \n  \"19079\": {\n    \"3423\": 1\n  }, \n  \"19081\": {\n    \"3423\": 1\n  }, \n  \"19083\": {\n    \"3423\": 1\n  }, \n  \"19085\": {\n    \"3423\": 1\n  }, \n  \"19087\": {\n    \"3423\": 1\n  }, \n  \"19101\": {\n    \"3423\": 1\n  }, \n  \"19103\": {\n    \"3423\": 1\n  }, \n  \"19105\": {\n    \"3423\": 1\n  }, \n  \"19107\": {\n    \"3423\": 2\n  }, \n  \"19109\": {\n    \"3423\": 2\n  }, \n  \"19111\": {\n    \"3423\": 2\n  }, \n  \"19113\": {\n    \"3423\": 3\n  }, \n  \"19115\": {\n    \"3423\": 3\n  }, \n  \"19117\": {\n    \"3423\": 3\n  }, \n  \"19119\": {\n    \"3423\": 3\n  }, \n  \"19129\": {\n    \"3422\": 1\n  }, \n  \"19131\": {\n    \"3422\": 1\n  }, \n  \"19133\": {\n    \"3422\": 1\n  }, \n  \"19135\": {\n    \"3422\": 1\n  }, \n  \"19137\": {\n    \"3422\": 1\n  }, \n  \"19139\": {\n    \"3422\": 1\n  }, \n  \"19141\": {\n    \"3422\": 1\n  }, \n  \"19143\": {\n    \"3422\": 1\n  }, \n  \"19145\": {\n    \"3422\": 1\n  }, \n  \"19147\": {\n    \"3422\": 1\n  }, \n  \"19149\": {\n    \"3422\": 1\n  }, \n  \"19151\": {\n    \"3422\": 1\n  }, \n  \"19169\": {\n    \"3416\": 1\n  }, \n  \"19171\": {\n    \"3416\": 1\n  }, \n  \"19173\": {\n    \"3416\": 1\n  }, \n  \"19175\": {\n    \"3416\": 1\n  }, \n  \"19177\": {\n    \"3416\": 1\n  }, \n  \"19179\": {\n    \"3416\": 1\n  }, \n  \"19181\": {\n    \"3416\": 1\n  }, \n  \"19183\": {\n    \"3416\": 1\n  }, \n  \"19185\": {\n    \"3416\": 1\n  }, \n  \"19187\": {\n    \"3416\": 1\n  }, \n  \"19189\": {\n    \"3416\": 1\n  }, \n  \"19191\": {\n    \"3416\": 1\n  }, \n  \"19193\": {\n    \"3416\": 2\n  }, \n  \"19194\": {\n    \"3416\": 2\n  }, \n  \"19195\": {\n    \"3416\": 3\n  }, \n  \"19196\": {\n    \"3416\": 3\n  }, \n  \"19197\": {\n    \"3416\": 3\n  }, \n  \"19198\": {\n    \"3416\": 3\n  }, \n  \"19199\": {\n    \"3416\": 2\n  }, \n  \"19200\": {\n    \"3416\": 2\n  }, \n  \"19201\": {\n    \"3416\": 2\n  }, \n  \"19202\": {\n    \"3416\": 3\n  }, \n  \"19203\": {\n    \"3416\": 2\n  }, \n  \"19204\": {\n    \"3416\": 3\n  }, \n  \"19205\": {\n    \"3416\": 2\n  }, \n  \"19206\": {\n    \"3416\": 3\n  }, \n  \"19207\": {\n    \"3416\": 2\n  }, \n  \"19208\": {\n    \"3416\": 3\n  }, \n  \"19209\": {\n    \"3425\": 1\n  }, \n  \"19211\": {\n    \"3425\": 1\n  }, \n  \"19213\": {\n    \"3425\": 1\n  }, \n  \"19215\": {\n    \"3425\": 1\n  }, \n  \"19217\": {\n    \"3425\": 1\n  }, \n  \"19219\": {\n    \"3425\": 1\n  }, \n  \"19221\": {\n    \"3425\": 1\n  }, \n  \"19223\": {\n    \"3425\": 1\n  }, \n  \"19225\": {\n    \"3425\": 1\n  }, \n  \"19227\": {\n    \"3425\": 1\n  }, \n  \"19229\": {\n    \"3425\": 1\n  }, \n  \"19231\": {\n    \"3425\": 1\n  }, \n  \"19233\": {\n    \"3425\": 1\n  }, \n  \"19235\": {\n    \"3425\": 1\n  }, \n  \"19237\": {\n    \"3425\": 1\n  }, \n  \"19239\": {\n    \"3425\": 1\n  }, \n  \"19241\": {\n    \"3425\": 1\n  }, \n  \"19243\": {\n    \"3425\": 1\n  }, \n  \"19245\": {\n    \"3425\": 1\n  }, \n  \"19247\": {\n    \"3425\": 1\n  }, \n  \"19249\": {\n    \"3425\": 1\n  }, \n  \"19251\": {\n    \"3425\": 1\n  }, \n  \"19253\": {\n    \"3425\": 1\n  }, \n  \"19255\": {\n    \"3425\": 1\n  }, \n  \"19257\": {\n    \"3420\": 1\n  }, \n  \"19258\": {\n    \"3420\": 1\n  }, \n  \"19259\": {\n    \"3420\": 1\n  }, \n  \"19260\": {\n    \"3420\": 1\n  }, \n  \"19261\": {\n    \"3420\": 1\n  }, \n  \"19262\": {\n    \"3420\": 1\n  }, \n  \"19263\": {\n    \"3420\": 1\n  }, \n  \"19264\": {\n    \"3420\": 1\n  }, \n  \"19265\": {\n    \"3420\": 1\n  }, \n  \"19266\": {\n    \"3420\": 1\n  }, \n  \"19267\": {\n    \"3420\": 1\n  }, \n  \"19268\": {\n    \"3420\": 1\n  }, \n  \"19269\": {\n    \"3420\": 1\n  }, \n  \"19270\": {\n    \"3420\": 1\n  }, \n  \"19271\": {\n    \"3420\": 1\n  }, \n  \"19272\": {\n    \"3420\": 1\n  }, \n  \"19273\": {\n    \"3420\": 1\n  }, \n  \"19274\": {\n    \"3420\": 1\n  }, \n  \"19275\": {\n    \"3420\": 1\n  }, \n  \"19276\": {\n    \"3420\": 1\n  }, \n  \"19277\": {\n    \"3420\": 1\n  }, \n  \"19278\": {\n    \"3420\": 1\n  }, \n  \"19279\": {\n    \"3420\": 1\n  }, \n  \"19280\": {\n    \"3420\": 1\n  }, \n  \"19281\": {\n    \"3420\": 1\n  }, \n  \"19282\": {\n    \"3420\": 1\n  }, \n  \"19283\": {\n    \"3420\": 1\n  }, \n  \"19284\": {\n    \"3420\": 1\n  }, \n  \"19285\": {\n    \"3420\": 1\n  }, \n  \"19286\": {\n    \"3420\": 1\n  }, \n  \"19287\": {\n    \"3420\": 1\n  }, \n  \"19288\": {\n    \"3420\": 1\n  }, \n  \"19289\": {\n    \"3419\": 1\n  }, \n  \"19293\": {\n    \"3419\": 1\n  }, \n  \"19295\": {\n    \"3419\": 1\n  }, \n  \"19297\": {\n    \"3419\": 1\n  }, \n  \"19299\": {\n    \"3419\": 1\n  }, \n  \"19301\": {\n    \"3419\": 1\n  }, \n  \"19303\": {\n    \"3419\": 1\n  }, \n  \"19311\": {\n    \"3419\": 1\n  }, \n  \"19313\": {\n    \"3454\": 1\n  }, \n  \"19315\": {\n    \"3454\": 1\n  }, \n  \"19317\": {\n    \"3454\": 1\n  }, \n  \"19319\": {\n    \"3454\": 1\n  }, \n  \"19321\": {\n    \"3454\": 1\n  }, \n  \"19323\": {\n    \"3454\": 1\n  }, \n  \"19325\": {\n    \"3454\": 1\n  }, \n  \"19327\": {\n    \"3454\": 1\n  }, \n  \"19329\": {\n    \"3454\": 1\n  }, \n  \"19335\": {\n    \"3454\": 1\n  }, \n  \"19337\": {\n    \"3454\": 1\n  }, \n  \"19339\": {\n    \"3454\": 1\n  }, \n  \"19341\": {\n    \"3454\": 1\n  }, \n  \"19343\": {\n    \"3454\": 1\n  }, \n  \"19345\": {\n    \"3454\": 1\n  }, \n  \"19347\": {\n    \"3454\": 1\n  }, \n  \"19349\": {\n    \"3454\": 1\n  }, \n  \"19351\": {\n    \"3454\": 1\n  }, \n  \"19353\": {\n    \"3454\": 1\n  }, \n  \"19359\": {\n    \"3454\": 1\n  }, \n  \"19361\": {\n    \"3394\": 3\n  }, \n  \"19363\": {\n    \"3394\": 3\n  }, \n  \"19430\": {\n    \"9955\": 5, \n    \"19430\": 5\n  }, \n  \"19459\": {\n    \"19430\": 5\n  }, \n  \"19466\": {\n    \"19430\": 5\n  }, \n  \"19468\": {\n    \"19430\": 5\n  }, \n  \"19470\": {\n    \"11584\": 1\n  }, \n  \"19489\": {\n    \"3425\": 4\n  }, \n  \"19491\": {\n    \"3450\": 1\n  }, \n  \"19500\": {\n    \"3411\": 4\n  }, \n  \"19534\": {\n    \"3411\": 2\n  }, \n  \"19535\": {\n    \"3411\": 2\n  }, \n  \"19536\": {\n    \"3411\": 3\n  }, \n  \"19537\": {\n    \"3411\": 3\n  }, \n  \"19538\": {\n    \"3411\": 4\n  }, \n  \"19539\": {\n    \"3411\": 5\n  }, \n  \"19540\": {\n    \"3411\": 2\n  }, \n  \"19547\": {\n    \"3411\": 4\n  }, \n  \"19548\": {\n    \"3411\": 4\n  }, \n  \"19549\": {\n    \"3411\": 4\n  }, \n  \"19550\": {\n    \"3411\": 4\n  }, \n  \"19551\": {\n    \"3411\": 2\n  }, \n  \"19553\": {\n    \"3411\": 3\n  }, \n  \"19554\": {\n    \"3411\": 3\n  }, \n  \"19555\": {\n    \"3411\": 4\n  }, \n  \"19556\": {\n    \"3411\": 5\n  }, \n  \"19583\": {\n    \"19430\": 5\n  }, \n  \"19594\": {\n    \"3425\": 5, \n    \"3432\": 1\n  }, \n  \"19684\": {\n    \"3411\": 2\n  }, \n  \"19685\": {\n    \"3411\": 4\n  }, \n  \"19686\": {\n    \"3411\": 3\n  }, \n  \"19687\": {\n    \"3411\": 4\n  }, \n  \"19688\": {\n    \"3411\": 4\n  }, \n  \"19689\": {\n    \"3411\": 4\n  }, \n  \"19690\": {\n    \"3411\": 3\n  }, \n  \"19691\": {\n    \"3411\": 3\n  }, \n  \"19692\": {\n    \"3411\": 3\n  }, \n  \"19693\": {\n    \"3411\": 4\n  }, \n  \"19694\": {\n    \"3411\": 4\n  }, \n  \"19695\": {\n    \"3411\": 4\n  }, \n  \"19696\": {\n    \"3411\": 4\n  }, \n  \"19697\": {\n    \"3411\": 3\n  }, \n  \"19698\": {\n    \"3411\": 4\n  }, \n  \"19699\": {\n    \"3411\": 4\n  }, \n  \"19700\": {\n    \"3411\": 3\n  }, \n  \"19719\": {\n    \"3327\": 3, \n    \"3380\": 5\n  }, \n  \"19720\": {\n    \"3456\": 1, \n    \"20525\": 1, \n    \"20533\": 1\n  }, \n  \"19722\": {\n    \"3456\": 1, \n    \"20532\": 1, \n    \"20533\": 1\n  }, \n  \"19724\": {\n    \"3456\": 1, \n    \"20531\": 1, \n    \"20533\": 1\n  }, \n  \"19726\": {\n    \"3456\": 1, \n    \"20530\": 1, \n    \"20533\": 1\n  }, \n  \"19739\": {\n    \"3319\": 1, \n    \"20212\": 1\n  }, \n  \"19744\": {\n    \"3343\": 1\n  }, \n  \"19758\": {\n    \"3400\": 1\n  }, \n  \"19759\": {\n    \"3426\": 4, \n    \"3427\": 3\n  }, \n  \"19760\": {\n    \"3426\": 3, \n    \"3427\": 2\n  }, \n  \"19761\": {\n    \"3426\": 4, \n    \"3427\": 4\n  }, \n  \"19766\": {\n    \"3426\": 4, \n    \"3433\": 4\n  }, \n  \"19767\": {\n    \"3426\": 4, \n    \"3434\": 4\n  }, \n  \"19806\": {\n    \"19921\": 4\n  }, \n  \"19808\": {\n    \"19921\": 1\n  }, \n  \"19810\": {\n    \"19921\": 1\n  }, \n  \"19812\": {\n    \"19921\": 1\n  }, \n  \"19814\": {\n    \"19921\": 1\n  }, \n  \"19921\": {\n    \"3426\": 3\n  }, \n  \"19922\": {\n    \"3426\": 4, \n    \"19921\": 4\n  }, \n  \"19923\": {\n    \"3427\": 1\n  }, \n  \"19925\": {\n    \"3427\": 1\n  }, \n  \"19927\": {\n    \"3427\": 1\n  }, \n  \"19929\": {\n    \"3427\": 1\n  }, \n  \"19931\": {\n    \"3427\": 1\n  }, \n  \"19933\": {\n    \"3427\": 1\n  }, \n  \"19935\": {\n    \"3427\": 1\n  }, \n  \"19937\": {\n    \"3427\": 1\n  }, \n  \"19939\": {\n    \"3427\": 1\n  }, \n  \"19942\": {\n    \"3427\": 1\n  }, \n  \"19944\": {\n    \"3427\": 1\n  }, \n  \"19946\": {\n    \"3427\": 1\n  }, \n  \"19948\": {\n    \"3427\": 1\n  }, \n  \"19950\": {\n    \"3427\": 1\n  }, \n  \"19952\": {\n    \"3427\": 1\n  }, \n  \"20069\": {\n    \"3348\": 5, \n    \"11569\": 1\n  }, \n  \"20070\": {\n    \"3348\": 5, \n    \"11572\": 1\n  }, \n  \"20114\": {\n    \"30788\": 1\n  }, \n  \"20115\": {\n    \"30325\": 1\n  }, \n  \"20116\": {\n    \"30326\": 1\n  }, \n  \"20117\": {\n    \"3397\": 1\n  }, \n  \"20121\": {\n    \"3411\": 2\n  }, \n  \"20124\": {\n    \"3348\": 5, \n    \"3351\": 1\n  }, \n  \"20125\": {\n    \"3335\": 5, \n    \"22761\": 1\n  }, \n  \"20138\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"20157\": {\n    \"3411\": 2\n  }, \n  \"20158\": {\n    \"3411\": 3\n  }, \n  \"20159\": {\n    \"3411\": 3\n  }, \n  \"20160\": {\n    \"3411\": 4\n  }, \n  \"20161\": {\n    \"3411\": 5\n  }, \n  \"20171\": {\n    \"11443\": 1\n  }, \n  \"20172\": {\n    \"11445\": 1\n  }, \n  \"20175\": {\n    \"11584\": 2\n  }, \n  \"20176\": {\n    \"11584\": 2\n  }, \n  \"20183\": {\n    \"20342\": 1, \n    \"20524\": 1\n  }, \n  \"20185\": {\n    \"20342\": 1, \n    \"20526\": 1\n  }, \n  \"20187\": {\n    \"20342\": 1, \n    \"20527\": 1\n  }, \n  \"20189\": {\n    \"20342\": 1, \n    \"20528\": 1\n  }, \n  \"20197\": {\n    \"9955\": 1\n  }, \n  \"20199\": {\n    \"3427\": 1\n  }, \n  \"20201\": {\n    \"3427\": 1\n  }, \n  \"20203\": {\n    \"3427\": 1\n  }, \n  \"20205\": {\n    \"3427\": 1\n  }, \n  \"20207\": {\n    \"3427\": 1\n  }, \n  \"20209\": {\n    \"3319\": 1, \n    \"3320\": 5\n  }, \n  \"20210\": {\n    \"3319\": 1, \n    \"3321\": 5\n  }, \n  \"20211\": {\n    \"3319\": 1, \n    \"3324\": 5\n  }, \n  \"20212\": {\n    \"3319\": 1, \n    \"3326\": 5\n  }, \n  \"20213\": {\n    \"3319\": 1, \n    \"3325\": 5\n  }, \n  \"20214\": {\n    \"3427\": 1\n  }, \n  \"20216\": {\n    \"3427\": 1\n  }, \n  \"20218\": {\n    \"3427\": 1\n  }, \n  \"20220\": {\n    \"3427\": 1\n  }, \n  \"20222\": {\n    \"3427\": 1\n  }, \n  \"20224\": {\n    \"3427\": 1\n  }, \n  \"20226\": {\n    \"3427\": 1\n  }, \n  \"20228\": {\n    \"3427\": 1\n  }, \n  \"20230\": {\n    \"3427\": 1\n  }, \n  \"20232\": {\n    \"3427\": 1\n  }, \n  \"20234\": {\n    \"3427\": 1\n  }, \n  \"20236\": {\n    \"3427\": 1\n  }, \n  \"20238\": {\n    \"3432\": 1\n  }, \n  \"20240\": {\n    \"3432\": 1\n  }, \n  \"20242\": {\n    \"3432\": 1\n  }, \n  \"20244\": {\n    \"3432\": 1\n  }, \n  \"20246\": {\n    \"3432\": 1\n  }, \n  \"20248\": {\n    \"3432\": 1\n  }, \n  \"20250\": {\n    \"3432\": 1\n  }, \n  \"20252\": {\n    \"3432\": 1\n  }, \n  \"20254\": {\n    \"3432\": 1\n  }, \n  \"20260\": {\n    \"3432\": 1\n  }, \n  \"20262\": {\n    \"3432\": 1\n  }, \n  \"20264\": {\n    \"3432\": 1\n  }, \n  \"20280\": {\n    \"22043\": 1\n  }, \n  \"20306\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"20307\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"20308\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"20312\": {\n    \"3319\": 4\n  }, \n  \"20314\": {\n    \"3319\": 2\n  }, \n  \"20315\": {\n    \"3319\": 4\n  }, \n  \"20327\": {\n    \"3300\": 5, \n    \"3309\": 5\n  }, \n  \"20342\": {\n    \"3327\": 5\n  }, \n  \"20343\": {\n    \"3394\": 3\n  }, \n  \"20345\": {\n    \"3394\": 3\n  }, \n  \"20347\": {\n    \"3394\": 4\n  }, \n  \"20349\": {\n    \"3394\": 5\n  }, \n  \"20351\": {\n    \"3394\": 5\n  }, \n  \"20353\": {\n    \"3394\": 5\n  }, \n  \"20358\": {\n    \"3411\": 5\n  }, \n  \"20367\": {\n    \"3427\": 5, \n    \"3448\": 3\n  }, \n  \"20371\": {\n    \"3411\": 5\n  }, \n  \"20405\": {\n    \"3348\": 5, \n    \"3352\": 1\n  }, \n  \"20406\": {\n    \"3348\": 5, \n    \"3352\": 1\n  }, \n  \"20408\": {\n    \"3348\": 5, \n    \"11572\": 1\n  }, \n  \"20409\": {\n    \"3348\": 5, \n    \"11569\": 1\n  }, \n  \"20410\": {\n    \"11450\": 1\n  }, \n  \"20411\": {\n    \"11433\": 1\n  }, \n  \"20412\": {\n    \"11441\": 1\n  }, \n  \"20413\": {\n    \"11447\": 1\n  }, \n  \"20414\": {\n    \"11455\": 1\n  }, \n  \"20415\": {\n    \"11529\": 1\n  }, \n  \"20416\": {\n    \"11442\": 1\n  }, \n  \"20417\": {\n    \"11448\": 1\n  }, \n  \"20418\": {\n    \"11453\": 1\n  }, \n  \"20419\": {\n    \"11446\": 1\n  }, \n  \"20420\": {\n    \"11449\": 1\n  }, \n  \"20421\": {\n    \"11444\": 1\n  }, \n  \"20423\": {\n    \"11451\": 1\n  }, \n  \"20424\": {\n    \"11452\": 1\n  }, \n  \"20425\": {\n    \"30327\": 1\n  }, \n  \"20426\": {\n    \"3410\": 1\n  }, \n  \"20433\": {\n    \"13278\": 2\n  }, \n  \"20443\": {\n    \"3411\": 3\n  }, \n  \"20444\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"20446\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"20448\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"20450\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"20452\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"20454\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"20494\": {\n    \"3348\": 1\n  }, \n  \"20495\": {\n    \"3348\": 1\n  }, \n  \"20498\": {\n    \"3411\": 2\n  }, \n  \"20499\": {\n    \"3411\": 2\n  }, \n  \"20500\": {\n    \"3411\": 2\n  }, \n  \"20501\": {\n    \"3411\": 2\n  }, \n  \"20502\": {\n    \"3411\": 3\n  }, \n  \"20503\": {\n    \"3411\": 3\n  }, \n  \"20504\": {\n    \"3411\": 4\n  }, \n  \"20505\": {\n    \"3411\": 4\n  }, \n  \"20506\": {\n    \"3411\": 3\n  }, \n  \"20507\": {\n    \"3411\": 3\n  }, \n  \"20508\": {\n    \"3411\": 5\n  }, \n  \"20509\": {\n    \"3411\": 5\n  }, \n  \"20514\": {\n    \"3348\": 5, \n    \"3351\": 1\n  }, \n  \"20524\": {\n    \"3343\": 3, \n    \"20342\": 5\n  }, \n  \"20525\": {\n    \"3339\": 3, \n    \"20533\": 3, \n    \"22043\": 1\n  }, \n  \"20526\": {\n    \"3342\": 3, \n    \"20342\": 5\n  }, \n  \"20527\": {\n    \"3340\": 3, \n    \"20342\": 5\n  }, \n  \"20528\": {\n    \"3341\": 3, \n    \"20342\": 5\n  }, \n  \"20530\": {\n    \"3338\": 3, \n    \"20533\": 3, \n    \"22043\": 1\n  }, \n  \"20531\": {\n    \"3336\": 3, \n    \"20533\": 3, \n    \"22043\": 1\n  }, \n  \"20532\": {\n    \"3337\": 3, \n    \"20533\": 3, \n    \"22043\": 1\n  }, \n  \"20533\": {\n    \"20342\": 5\n  }, \n  \"20539\": {\n    \"3319\": 5, \n    \"21668\": 1\n  }, \n  \"20555\": {\n    \"3417\": 1\n  }, \n  \"20557\": {\n    \"3417\": 1\n  }, \n  \"20559\": {\n    \"3417\": 1\n  }, \n  \"20561\": {\n    \"11579\": 1\n  }, \n  \"20563\": {\n    \"11579\": 4\n  }, \n  \"20565\": {\n    \"11579\": 3\n  }, \n  \"20567\": {\n    \"3432\": 1\n  }, \n  \"20569\": {\n    \"3432\": 1\n  }, \n  \"20573\": {\n    \"3427\": 1\n  }, \n  \"20575\": {\n    \"3427\": 1\n  }, \n  \"20577\": {\n    \"3427\": 1\n  }, \n  \"20579\": {\n    \"3427\": 1\n  }, \n  \"20581\": {\n    \"3427\": 1\n  }, \n  \"20587\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"20589\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"20591\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"20593\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"20595\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"20597\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"20599\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"20601\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"20603\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"20605\": {\n    \"3425\": 1\n  }, \n  \"20607\": {\n    \"3425\": 1\n  }, \n  \"20609\": {\n    \"3425\": 1\n  }, \n  \"20611\": {\n    \"3425\": 1\n  }, \n  \"20613\": {\n    \"3419\": 1\n  }, \n  \"20617\": {\n    \"3416\": 1\n  }, \n  \"20619\": {\n    \"3416\": 1\n  }, \n  \"20621\": {\n    \"3416\": 1\n  }, \n  \"20623\": {\n    \"3416\": 1\n  }, \n  \"20625\": {\n    \"3425\": 1\n  }, \n  \"20627\": {\n    \"3425\": 1\n  }, \n  \"20629\": {\n    \"3425\": 1\n  }, \n  \"20631\": {\n    \"3425\": 1\n  }, \n  \"20633\": {\n    \"3420\": 1\n  }, \n  \"20635\": {\n    \"3420\": 1\n  }, \n  \"20637\": {\n    \"3420\": 1\n  }, \n  \"20639\": {\n    \"3420\": 1\n  }, \n  \"20641\": {\n    \"3420\": 1\n  }, \n  \"20700\": {\n    \"3411\": 5\n  }, \n  \"20701\": {\n    \"21803\": 1\n  }, \n  \"20703\": {\n    \"21802\": 1\n  }, \n  \"21059\": {\n    \"3416\": 3\n  }, \n  \"21071\": {\n    \"3319\": 2\n  }, \n  \"21096\": {\n    \"21603\": 1\n  }, \n  \"21097\": {\n    \"3327\": 1\n  }, \n  \"21470\": {\n    \"3450\": 1\n  }, \n  \"21472\": {\n    \"3450\": 1\n  }, \n  \"21474\": {\n    \"3450\": 1\n  }, \n  \"21476\": {\n    \"3454\": 1\n  }, \n  \"21478\": {\n    \"3454\": 1\n  }, \n  \"21480\": {\n    \"3454\": 1\n  }, \n  \"21482\": {\n    \"3318\": 1\n  }, \n  \"21484\": {\n    \"3318\": 1\n  }, \n  \"21486\": {\n    \"3318\": 1\n  }, \n  \"21488\": {\n    \"3318\": 1\n  }, \n  \"21491\": {\n    \"3394\": 1\n  }, \n  \"21493\": {\n    \"3394\": 1\n  }, \n  \"21496\": {\n    \"3394\": 1\n  }, \n  \"21498\": {\n    \"3394\": 1\n  }, \n  \"21500\": {\n    \"3394\": 1\n  }, \n  \"21504\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"21506\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"21508\": {\n    \"3392\": 5, \n    \"3393\": 1\n  }, \n  \"21510\": {\n    \"3435\": 1\n  }, \n  \"21512\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"21521\": {\n    \"3432\": 1\n  }, \n  \"21523\": {\n    \"3432\": 1\n  }, \n  \"21525\": {\n    \"3432\": 1\n  }, \n  \"21527\": {\n    \"3426\": 1\n  }, \n  \"21529\": {\n    \"3432\": 1\n  }, \n  \"21532\": {\n    \"3421\": 1\n  }, \n  \"21534\": {\n    \"3421\": 1\n  }, \n  \"21536\": {\n    \"3421\": 1\n  }, \n  \"21538\": {\n    \"3421\": 1\n  }, \n  \"21540\": {\n    \"19921\": 1\n  }, \n  \"21542\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"21545\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"21547\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"21549\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"21551\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"21553\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"21555\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"21557\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"21559\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"21561\": {\n    \"3300\": 5, \n    \"3308\": 1\n  }, \n  \"21603\": {\n    \"3426\": 5\n  }, \n  \"21606\": {\n    \"3411\": 5\n  }, \n  \"21610\": {\n    \"3456\": 3\n  }, \n  \"21611\": {\n    \"3456\": 5\n  }, \n  \"21628\": {\n    \"3327\": 1\n  }, \n  \"21638\": {\n    \"3436\": 5, \n    \"12487\": 1, \n    \"33699\": 5\n  }, \n  \"21640\": {\n    \"3436\": 5, \n    \"12485\": 1, \n    \"33699\": 5\n  }, \n  \"21666\": {\n    \"3300\": 5, \n    \"3307\": 5\n  }, \n  \"21667\": {\n    \"3300\": 5, \n    \"3308\": 5\n  }, \n  \"21668\": {\n    \"3319\": 5, \n    \"3325\": 5\n  }, \n  \"21678\": {\n    \"13278\": 1\n  }, \n  \"21679\": {\n    \"13278\": 1\n  }, \n  \"21680\": {\n    \"13278\": 1\n  }, \n  \"21681\": {\n    \"13278\": 1\n  }, \n  \"21683\": {\n    \"21718\": 1\n  }, \n  \"21684\": {\n    \"21718\": 1\n  }, \n  \"21685\": {\n    \"21718\": 1\n  }, \n  \"21686\": {\n    \"21718\": 1\n  }, \n  \"21688\": {\n    \"13278\": 1\n  }, \n  \"21689\": {\n    \"13278\": 1\n  }, \n  \"21690\": {\n    \"13278\": 1\n  }, \n  \"21691\": {\n    \"13278\": 1\n  }, \n  \"21693\": {\n    \"21718\": 1\n  }, \n  \"21694\": {\n    \"21718\": 1\n  }, \n  \"21695\": {\n    \"21718\": 1\n  }, \n  \"21696\": {\n    \"21718\": 1\n  }, \n  \"21698\": {\n    \"21718\": 1\n  }, \n  \"21699\": {\n    \"21718\": 1\n  }, \n  \"21700\": {\n    \"21718\": 1\n  }, \n  \"21701\": {\n    \"21718\": 1\n  }, \n  \"21703\": {\n    \"21718\": 1\n  }, \n  \"21704\": {\n    \"21718\": 1\n  }, \n  \"21705\": {\n    \"21718\": 1\n  }, \n  \"21706\": {\n    \"21718\": 1\n  }, \n  \"21708\": {\n    \"13278\": 1\n  }, \n  \"21709\": {\n    \"13278\": 1\n  }, \n  \"21710\": {\n    \"13278\": 1\n  }, \n  \"21711\": {\n    \"13278\": 1\n  }, \n  \"21713\": {\n    \"13278\": 1\n  }, \n  \"21714\": {\n    \"13278\": 1\n  }, \n  \"21715\": {\n    \"13278\": 1\n  }, \n  \"21716\": {\n    \"13278\": 1\n  }, \n  \"21718\": {\n    \"3402\": 3, \n    \"3432\": 3\n  }, \n  \"21789\": {\n    \"13278\": 2\n  }, \n  \"21790\": {\n    \"21718\": 2\n  }, \n  \"21791\": {\n    \"21718\": 2\n  }, \n  \"21802\": {\n    \"3413\": 5, \n    \"3416\": 5, \n    \"3419\": 5\n  }, \n  \"21803\": {\n    \"3392\": 5, \n    \"3393\": 5, \n    \"3394\": 5\n  }, \n  \"21816\": {\n    \"3424\": 2\n  }, \n  \"21817\": {\n    \"3424\": 2\n  }, \n  \"21818\": {\n    \"3424\": 2\n  }, \n  \"21819\": {\n    \"3424\": 2\n  }, \n  \"21841\": {\n    \"3386\": 1\n  }, \n  \"21853\": {\n    \"3393\": 1\n  }, \n  \"21867\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"21888\": {\n    \"3351\": 5, \n    \"3411\": 5\n  }, \n  \"21889\": {\n    \"3352\": 5, \n    \"3411\": 5\n  }, \n  \"21890\": {\n    \"3411\": 5, \n    \"11572\": 5\n  }, \n  \"22043\": {\n    \"11207\": 5\n  }, \n  \"22107\": {\n    \"3411\": 2\n  }, \n  \"22108\": {\n    \"3411\": 2\n  }, \n  \"22109\": {\n    \"3411\": 3\n  }, \n  \"22110\": {\n    \"3411\": 4\n  }, \n  \"22111\": {\n    \"3411\": 3\n  }, \n  \"22112\": {\n    \"3411\": 5\n  }, \n  \"22113\": {\n    \"3411\": 2\n  }, \n  \"22114\": {\n    \"3411\": 2\n  }, \n  \"22115\": {\n    \"3411\": 3\n  }, \n  \"22116\": {\n    \"3411\": 4\n  }, \n  \"22117\": {\n    \"3411\": 3\n  }, \n  \"22118\": {\n    \"3411\": 5\n  }, \n  \"22119\": {\n    \"3411\": 2\n  }, \n  \"22120\": {\n    \"3411\": 2\n  }, \n  \"22121\": {\n    \"3411\": 3\n  }, \n  \"22122\": {\n    \"3411\": 4\n  }, \n  \"22123\": {\n    \"3411\": 3\n  }, \n  \"22124\": {\n    \"3411\": 5\n  }, \n  \"22125\": {\n    \"3411\": 2\n  }, \n  \"22126\": {\n    \"3411\": 2\n  }, \n  \"22127\": {\n    \"3411\": 3\n  }, \n  \"22128\": {\n    \"3411\": 4\n  }, \n  \"22129\": {\n    \"3411\": 3\n  }, \n  \"22130\": {\n    \"3411\": 5\n  }, \n  \"22131\": {\n    \"3411\": 2\n  }, \n  \"22133\": {\n    \"3411\": 2\n  }, \n  \"22134\": {\n    \"3411\": 3\n  }, \n  \"22135\": {\n    \"3411\": 4\n  }, \n  \"22136\": {\n    \"3411\": 3\n  }, \n  \"22137\": {\n    \"3411\": 5\n  }, \n  \"22172\": {\n    \"3436\": 5\n  }, \n  \"22175\": {\n    \"21718\": 1\n  }, \n  \"22177\": {\n    \"13278\": 1\n  }, \n  \"22225\": {\n    \"13278\": 1\n  }, \n  \"22226\": {\n    \"13278\": 1\n  }, \n  \"22227\": {\n    \"3348\": 5, \n    \"11569\": 1\n  }, \n  \"22228\": {\n    \"3348\": 5, \n    \"3351\": 1\n  }, \n  \"22229\": {\n    \"16281\": 5\n  }, \n  \"22242\": {\n    \"3380\": 5, \n    \"3388\": 5, \n    \"3392\": 5\n  }, \n  \"22291\": {\n    \"3318\": 4\n  }, \n  \"22293\": {\n    \"13278\": 1\n  }, \n  \"22294\": {\n    \"13278\": 1\n  }, \n  \"22325\": {\n    \"21718\": 1\n  }, \n  \"22327\": {\n    \"21718\": 1\n  }, \n  \"22329\": {\n    \"21718\": 1\n  }, \n  \"22331\": {\n    \"21718\": 1\n  }, \n  \"22333\": {\n    \"13278\": 1\n  }, \n  \"22335\": {\n    \"13278\": 1\n  }, \n  \"22337\": {\n    \"13278\": 1\n  }, \n  \"22339\": {\n    \"13278\": 1\n  }, \n  \"22343\": {\n    \"13278\": 1\n  }, \n  \"22428\": {\n    \"3339\": 5, \n    \"28656\": 1\n  }, \n  \"22430\": {\n    \"3336\": 5, \n    \"28656\": 1\n  }, \n  \"22436\": {\n    \"3338\": 5, \n    \"28656\": 1\n  }, \n  \"22440\": {\n    \"3337\": 5, \n    \"28656\": 1\n  }, \n  \"22442\": {\n    \"23950\": 1, \n    \"33097\": 5\n  }, \n  \"22444\": {\n    \"23950\": 1, \n    \"33098\": 5\n  }, \n  \"22446\": {\n    \"23950\": 1, \n    \"33096\": 5\n  }, \n  \"22448\": {\n    \"23950\": 1, \n    \"33095\": 5\n  }, \n  \"22452\": {\n    \"12098\": 1, \n    \"33091\": 5\n  }, \n  \"22456\": {\n    \"12098\": 1, \n    \"33094\": 5\n  }, \n  \"22460\": {\n    \"12098\": 1, \n    \"33093\": 5\n  }, \n  \"22464\": {\n    \"12098\": 1, \n    \"33092\": 5\n  }, \n  \"22466\": {\n    \"23950\": 1, \n    \"33097\": 5\n  }, \n  \"22468\": {\n    \"23950\": 1, \n    \"33098\": 5\n  }, \n  \"22470\": {\n    \"23950\": 1, \n    \"33096\": 5\n  }, \n  \"22474\": {\n    \"23950\": 1, \n    \"33095\": 5\n  }, \n  \"22476\": {\n    \"3435\": 5, \n    \"12098\": 1\n  }, \n  \"22534\": {\n    \"3411\": 3\n  }, \n  \"22535\": {\n    \"3411\": 5\n  }, \n  \"22536\": {\n    \"3348\": 1\n  }, \n  \"22537\": {\n    \"3394\": 1\n  }, \n  \"22541\": {\n    \"3386\": 4, \n    \"3438\": 5\n  }, \n  \"22542\": {\n    \"22578\": 1\n  }, \n  \"22544\": {\n    \"17940\": 5, \n    \"22551\": 1\n  }, \n  \"22546\": {\n    \"17940\": 5, \n    \"22551\": 1\n  }, \n  \"22548\": {\n    \"17940\": 5, \n    \"22551\": 1\n  }, \n  \"22551\": {\n    \"3327\": 4, \n    \"3380\": 5, \n    \"3410\": 5\n  }, \n  \"22552\": {\n    \"3348\": 1, \n    \"22536\": 5\n  }, \n  \"22553\": {\n    \"3348\": 5, \n    \"22552\": 1\n  }, \n  \"22555\": {\n    \"3348\": 5, \n    \"22552\": 1\n  }, \n  \"22557\": {\n    \"3348\": 5, \n    \"22552\": 1\n  }, \n  \"22559\": {\n    \"3411\": 5, \n    \"22552\": 5\n  }, \n  \"22564\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"22565\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"22566\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"22567\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"22568\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"22569\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"22570\": {\n    \"3411\": 3\n  }, \n  \"22571\": {\n    \"3411\": 5\n  }, \n  \"22572\": {\n    \"3423\": 3, \n    \"3436\": 5, \n    \"23566\": 3\n  }, \n  \"22574\": {\n    \"3437\": 1\n  }, \n  \"22576\": {\n    \"22578\": 1\n  }, \n  \"22578\": {\n    \"3386\": 3\n  }, \n  \"22609\": {\n    \"22578\": 1\n  }, \n  \"22611\": {\n    \"22578\": 1\n  }, \n  \"22613\": {\n    \"22578\": 1\n  }, \n  \"22615\": {\n    \"22578\": 1\n  }, \n  \"22617\": {\n    \"22578\": 1\n  }, \n  \"22619\": {\n    \"22578\": 1\n  }, \n  \"22621\": {\n    \"22578\": 1\n  }, \n  \"22623\": {\n    \"22578\": 1\n  }, \n  \"22634\": {\n    \"11584\": 2\n  }, \n  \"22713\": {\n    \"3437\": 1\n  }, \n  \"22715\": {\n    \"3411\": 4\n  }, \n  \"22760\": {\n    \"3411\": 4\n  }, \n  \"22761\": {\n    \"3327\": 5, \n    \"3431\": 5, \n    \"3432\": 5, \n    \"11579\": 4\n  }, \n  \"22765\": {\n    \"3422\": 3, \n    \"3436\": 5, \n    \"3439\": 3\n  }, \n  \"22778\": {\n    \"3412\": 3\n  }, \n  \"22780\": {\n    \"3441\": 1\n  }, \n  \"22782\": {\n    \"3435\": 5, \n    \"11446\": 1\n  }, \n  \"22797\": {\n    \"3432\": 1\n  }, \n  \"22806\": {\n    \"3394\": 4\n  }, \n  \"22807\": {\n    \"3394\": 4\n  }, \n  \"22808\": {\n    \"3394\": 4\n  }, \n  \"22809\": {\n    \"3394\": 4\n  }, \n  \"22852\": {\n    \"20533\": 1, \n    \"24314\": 1\n  }, \n  \"22875\": {\n    \"3455\": 1\n  }, \n  \"22877\": {\n    \"3455\": 1\n  }, \n  \"22879\": {\n    \"3394\": 3\n  }, \n  \"22881\": {\n    \"3394\": 3\n  }, \n  \"22883\": {\n    \"3394\": 3\n  }, \n  \"22885\": {\n    \"3427\": 2\n  }, \n  \"22887\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"22889\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"22891\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"22893\": {\n    \"3394\": 1\n  }, \n  \"22895\": {\n    \"3428\": 1\n  }, \n  \"22897\": {\n    \"3427\": 1\n  }, \n  \"22899\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"22901\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"22903\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"22905\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"22907\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"22909\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"22911\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"22913\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"22915\": {\n    \"3300\": 5, \n    \"3307\": 1\n  }, \n  \"22917\": {\n    \"3318\": 1\n  }, \n  \"22919\": {\n    \"3318\": 1\n  }, \n  \"22921\": {\n    \"3386\": 1\n  }, \n  \"22923\": {\n    \"3386\": 1\n  }, \n  \"22925\": {\n    \"3433\": 1\n  }, \n  \"22927\": {\n    \"3317\": 1\n  }, \n  \"22929\": {\n    \"3317\": 1\n  }, \n  \"22931\": {\n    \"3434\": 1\n  }, \n  \"22933\": {\n    \"3434\": 1\n  }, \n  \"22935\": {\n    \"3433\": 1\n  }, \n  \"22937\": {\n    \"3433\": 1\n  }, \n  \"22939\": {\n    \"3433\": 1\n  }, \n  \"22941\": {\n    \"3433\": 1\n  }, \n  \"22943\": {\n    \"3433\": 1\n  }, \n  \"22945\": {\n    \"3433\": 1\n  }, \n  \"22947\": {\n    \"16069\": 1\n  }, \n  \"22949\": {\n    \"16069\": 2\n  }, \n  \"22951\": {\n    \"16069\": 3\n  }, \n  \"22953\": {\n    \"3424\": 2\n  }, \n  \"23055\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"23057\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"23059\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"23061\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"23069\": {\n    \"3348\": 5, \n    \"3442\": 5\n  }, \n  \"23087\": {\n    \"21718\": 2\n  }, \n  \"23121\": {\n    \"21718\": 2\n  }, \n  \"23123\": {\n    \"13278\": 2\n  }, \n  \"23124\": {\n    \"13278\": 2\n  }, \n  \"23188\": {\n    \"13278\": 1\n  }, \n  \"23189\": {\n    \"13278\": 1\n  }, \n  \"23190\": {\n    \"13278\": 1\n  }, \n  \"23191\": {\n    \"13278\": 1\n  }, \n  \"23192\": {\n    \"13278\": 1\n  }, \n  \"23193\": {\n    \"13278\": 1\n  }, \n  \"23194\": {\n    \"13278\": 1\n  }, \n  \"23195\": {\n    \"13278\": 1\n  }, \n  \"23196\": {\n    \"13278\": 1\n  }, \n  \"23197\": {\n    \"13278\": 1\n  }, \n  \"23198\": {\n    \"13278\": 1\n  }, \n  \"23199\": {\n    \"13278\": 1\n  }, \n  \"23200\": {\n    \"13278\": 1\n  }, \n  \"23201\": {\n    \"13278\": 1\n  }, \n  \"23202\": {\n    \"13278\": 1\n  }, \n  \"23203\": {\n    \"13278\": 1\n  }, \n  \"23204\": {\n    \"21718\": 1\n  }, \n  \"23205\": {\n    \"21718\": 1\n  }, \n  \"23206\": {\n    \"21718\": 1\n  }, \n  \"23207\": {\n    \"21718\": 1\n  }, \n  \"23208\": {\n    \"21718\": 1\n  }, \n  \"23209\": {\n    \"21718\": 1\n  }, \n  \"23210\": {\n    \"21718\": 1\n  }, \n  \"23211\": {\n    \"21718\": 1\n  }, \n  \"23212\": {\n    \"21718\": 1\n  }, \n  \"23213\": {\n    \"21718\": 1\n  }, \n  \"23214\": {\n    \"21718\": 1\n  }, \n  \"23215\": {\n    \"21718\": 1\n  }, \n  \"23216\": {\n    \"21718\": 1\n  }, \n  \"23217\": {\n    \"21718\": 1\n  }, \n  \"23218\": {\n    \"21718\": 1\n  }, \n  \"23219\": {\n    \"21718\": 1\n  }, \n  \"23414\": {\n    \"16069\": 1\n  }, \n  \"23416\": {\n    \"16069\": 3\n  }, \n  \"23418\": {\n    \"3394\": 1\n  }, \n  \"23473\": {\n    \"3427\": 4, \n    \"3436\": 5, \n    \"23566\": 3\n  }, \n  \"23506\": {\n    \"3433\": 3, \n    \"3436\": 5, \n    \"23566\": 3\n  }, \n  \"23510\": {\n    \"3434\": 3, \n    \"3436\": 5, \n    \"23566\": 3\n  }, \n  \"23512\": {\n    \"3436\": 5, \n    \"19921\": 3, \n    \"23566\": 3\n  }, \n  \"23523\": {\n    \"3436\": 5, \n    \"3439\": 3, \n    \"16069\": 3\n  }, \n  \"23525\": {\n    \"3436\": 5, \n    \"23594\": 1\n  }, \n  \"23527\": {\n    \"3437\": 3\n  }, \n  \"23533\": {\n    \"23606\": 1\n  }, \n  \"23536\": {\n    \"3435\": 3, \n    \"3436\": 5, \n    \"12305\": 3\n  }, \n  \"23559\": {\n    \"3436\": 5, \n    \"23594\": 1\n  }, \n  \"23561\": {\n    \"3436\": 5, \n    \"23594\": 1\n  }, \n  \"23563\": {\n    \"3436\": 5, \n    \"23594\": 1\n  }, \n  \"23566\": {\n    \"3427\": 4, \n    \"3436\": 5\n  }, \n  \"23594\": {\n    \"3442\": 4, \n    \"23606\": 4\n  }, \n  \"23599\": {\n    \"3442\": 4, \n    \"12305\": 4\n  }, \n  \"23606\": {\n    \"3436\": 5\n  }, \n  \"23618\": {\n    \"3436\": 4\n  }, \n  \"23659\": {\n    \"3423\": 3, \n    \"3436\": 5, \n    \"23566\": 1\n  }, \n  \"23674\": {\n    \"3345\": 1, \n    \"24563\": 1\n  }, \n  \"23702\": {\n    \"3423\": 3, \n    \"3436\": 5, \n    \"23566\": 2\n  }, \n  \"23705\": {\n    \"3427\": 4, \n    \"3436\": 5, \n    \"23566\": 2\n  }, \n  \"23707\": {\n    \"3427\": 4, \n    \"3436\": 5, \n    \"23566\": 1\n  }, \n  \"23709\": {\n    \"3436\": 5, \n    \"3439\": 2, \n    \"16069\": 3\n  }, \n  \"23711\": {\n    \"3436\": 5, \n    \"3439\": 1, \n    \"16069\": 3\n  }, \n  \"23713\": {\n    \"3433\": 3, \n    \"3436\": 5, \n    \"23566\": 2\n  }, \n  \"23715\": {\n    \"3433\": 3, \n    \"3436\": 5, \n    \"23566\": 1\n  }, \n  \"23717\": {\n    \"3422\": 3, \n    \"3436\": 5, \n    \"3439\": 2\n  }, \n  \"23719\": {\n    \"3422\": 3, \n    \"3436\": 5, \n    \"3439\": 1\n  }, \n  \"23721\": {\n    \"3436\": 5, \n    \"19921\": 3, \n    \"23566\": 2\n  }, \n  \"23723\": {\n    \"3436\": 5, \n    \"19921\": 3, \n    \"23566\": 1\n  }, \n  \"23725\": {\n    \"3434\": 3, \n    \"3436\": 5, \n    \"23566\": 2\n  }, \n  \"23727\": {\n    \"3434\": 3, \n    \"3436\": 5, \n    \"23566\": 1\n  }, \n  \"23729\": {\n    \"3435\": 3, \n    \"3436\": 5, \n    \"12305\": 2\n  }, \n  \"23731\": {\n    \"3435\": 3, \n    \"3436\": 5, \n    \"12305\": 1\n  }, \n  \"23735\": {\n    \"24606\": 1\n  }, \n  \"23757\": {\n    \"20533\": 1, \n    \"24311\": 1\n  }, \n  \"23759\": {\n    \"3441\": 1\n  }, \n  \"23773\": {\n    \"3345\": 1, \n    \"20533\": 5\n  }, \n  \"23783\": {\n    \"3394\": 1\n  }, \n  \"23785\": {\n    \"3394\": 3\n  }, \n  \"23787\": {\n    \"3394\": 2\n  }, \n  \"23789\": {\n    \"3394\": 2\n  }, \n  \"23791\": {\n    \"3394\": 1\n  }, \n  \"23793\": {\n    \"3394\": 3\n  }, \n  \"23795\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"23797\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"23799\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"23801\": {\n    \"3424\": 2\n  }, \n  \"23803\": {\n    \"3424\": 3\n  }, \n  \"23805\": {\n    \"3424\": 4\n  }, \n  \"23807\": {\n    \"3417\": 1\n  }, \n  \"23809\": {\n    \"3417\": 1\n  }, \n  \"23811\": {\n    \"3417\": 1\n  }, \n  \"23813\": {\n    \"3424\": 2\n  }, \n  \"23815\": {\n    \"3423\": 1\n  }, \n  \"23817\": {\n    \"3423\": 2\n  }, \n  \"23819\": {\n    \"3423\": 3\n  }, \n  \"23821\": {\n    \"3423\": 1\n  }, \n  \"23824\": {\n    \"3423\": 2\n  }, \n  \"23829\": {\n    \"3423\": 3\n  }, \n  \"23834\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"23836\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"23838\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"23840\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"23842\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"23844\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"23846\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"23848\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"23850\": {\n    \"3300\": 5, \n    \"3309\": 1\n  }, \n  \"23852\": {\n    \"3423\": 1\n  }, \n  \"23854\": {\n    \"3423\": 1\n  }, \n  \"23856\": {\n    \"3423\": 1\n  }, \n  \"23864\": {\n    \"3421\": 1\n  }, \n  \"23866\": {\n    \"3421\": 1\n  }, \n  \"23868\": {\n    \"3421\": 1\n  }, \n  \"23894\": {\n    \"3424\": 3\n  }, \n  \"23896\": {\n    \"3424\": 2\n  }, \n  \"23898\": {\n    \"3424\": 2\n  }, \n  \"23900\": {\n    \"3318\": 1\n  }, \n  \"23902\": {\n    \"3318\": 1\n  }, \n  \"23911\": {\n    \"20533\": 1, \n    \"24313\": 1\n  }, \n  \"23913\": {\n    \"20533\": 1, \n    \"24313\": 1\n  }, \n  \"23915\": {\n    \"20533\": 1, \n    \"24312\": 1\n  }, \n  \"23917\": {\n    \"20533\": 1, \n    \"24312\": 1\n  }, \n  \"23919\": {\n    \"20533\": 1, \n    \"24311\": 1\n  }, \n  \"23950\": {\n    \"3327\": 5, \n    \"3354\": 4, \n    \"11574\": 4\n  }, \n  \"23953\": {\n    \"24562\": 1\n  }, \n  \"24241\": {\n    \"3436\": 1\n  }, \n  \"24268\": {\n    \"3387\": 4\n  }, \n  \"24270\": {\n    \"3406\": 4\n  }, \n  \"24283\": {\n    \"24613\": 1\n  }, \n  \"24305\": {\n    \"3386\": 5, \n    \"11395\": 2\n  }, \n  \"24311\": {\n    \"3339\": 3, \n    \"3442\": 5, \n    \"20533\": 4, \n    \"21610\": 4, \n    \"21611\": 3\n  }, \n  \"24312\": {\n    \"3338\": 3, \n    \"3442\": 5, \n    \"20533\": 4, \n    \"21610\": 4, \n    \"21611\": 3\n  }, \n  \"24313\": {\n    \"3336\": 3, \n    \"3442\": 5, \n    \"20533\": 4, \n    \"21610\": 4, \n    \"21611\": 3\n  }, \n  \"24314\": {\n    \"3337\": 3, \n    \"3442\": 5, \n    \"20533\": 4, \n    \"21610\": 4, \n    \"21611\": 3\n  }, \n  \"24343\": {\n    \"3411\": 2, \n    \"9955\": 1\n  }, \n  \"24344\": {\n    \"3411\": 2, \n    \"9955\": 1\n  }, \n  \"24345\": {\n    \"3411\": 2, \n    \"9955\": 1\n  }, \n  \"24346\": {\n    \"3411\": 2, \n    \"9955\": 1\n  }, \n  \"24347\": {\n    \"3411\": 2, \n    \"9955\": 1\n  }, \n  \"24348\": {\n    \"3402\": 3\n  }, \n  \"24395\": {\n    \"12305\": 3\n  }, \n  \"24417\": {\n    \"12305\": 5\n  }, \n  \"24427\": {\n    \"3437\": 5\n  }, \n  \"24438\": {\n    \"23606\": 5\n  }, \n  \"24443\": {\n    \"3419\": 5\n  }, \n  \"24464\": {\n    \"13278\": 1\n  }, \n  \"24471\": {\n    \"3319\": 5, \n    \"3320\": 5, \n    \"20209\": 1\n  }, \n  \"24473\": {\n    \"3319\": 5, \n    \"3320\": 5, \n    \"20209\": 1\n  }, \n  \"24475\": {\n    \"3319\": 5, \n    \"3320\": 5, \n    \"20209\": 1\n  }, \n  \"24477\": {\n    \"3319\": 5, \n    \"3320\": 5, \n    \"20209\": 1\n  }, \n  \"24478\": {\n    \"3319\": 5, \n    \"3320\": 5, \n    \"20209\": 1\n  }, \n  \"24479\": {\n    \"3319\": 5, \n    \"3320\": 5, \n    \"20209\": 1\n  }, \n  \"24483\": {\n    \"20533\": 1, \n    \"24314\": 1\n  }, \n  \"24485\": {\n    \"3411\": 2, \n    \"9955\": 1\n  }, \n  \"24486\": {\n    \"3319\": 5, \n    \"25718\": 1, \n    \"25719\": 5\n  }, \n  \"24488\": {\n    \"3319\": 5, \n    \"25718\": 1, \n    \"25719\": 5\n  }, \n  \"24490\": {\n    \"3319\": 5, \n    \"25718\": 1, \n    \"25719\": 5\n  }, \n  \"24492\": {\n    \"3319\": 5, \n    \"25718\": 1, \n    \"25719\": 5\n  }, \n  \"24493\": {\n    \"3319\": 5, \n    \"25718\": 1, \n    \"25719\": 5\n  }, \n  \"24494\": {\n    \"3319\": 5, \n    \"25718\": 1, \n    \"25719\": 5\n  }, \n  \"24495\": {\n    \"3319\": 5, \n    \"3321\": 5, \n    \"20210\": 1\n  }, \n  \"24497\": {\n    \"3319\": 5, \n    \"3321\": 5, \n    \"20210\": 1\n  }, \n  \"24499\": {\n    \"3319\": 5, \n    \"3321\": 5, \n    \"20210\": 1\n  }, \n  \"24501\": {\n    \"3319\": 5, \n    \"3321\": 5, \n    \"20210\": 1\n  }, \n  \"24503\": {\n    \"3319\": 5, \n    \"3321\": 5, \n    \"20210\": 1\n  }, \n  \"24505\": {\n    \"3319\": 5, \n    \"3321\": 5, \n    \"20210\": 1\n  }, \n  \"24507\": {\n    \"3319\": 5, \n    \"3324\": 5, \n    \"20211\": 1\n  }, \n  \"24509\": {\n    \"3319\": 5, \n    \"3324\": 5, \n    \"20211\": 1\n  }, \n  \"24511\": {\n    \"3319\": 5, \n    \"3324\": 5, \n    \"20211\": 1\n  }, \n  \"24513\": {\n    \"3319\": 5, \n    \"3324\": 5, \n    \"20211\": 1\n  }, \n  \"24515\": {\n    \"3319\": 5, \n    \"3324\": 5, \n    \"20211\": 1\n  }, \n  \"24517\": {\n    \"3319\": 5, \n    \"3324\": 5, \n    \"20211\": 1\n  }, \n  \"24519\": {\n    \"3319\": 5, \n    \"3325\": 5, \n    \"20213\": 1\n  }, \n  \"24521\": {\n    \"3319\": 5, \n    \"3325\": 5, \n    \"20213\": 1\n  }, \n  \"24523\": {\n    \"3319\": 5, \n    \"3325\": 5, \n    \"20213\": 1\n  }, \n  \"24525\": {\n    \"3319\": 5, \n    \"3325\": 5, \n    \"20213\": 1\n  }, \n  \"24527\": {\n    \"3319\": 5, \n    \"3325\": 5, \n    \"20213\": 1\n  }, \n  \"24529\": {\n    \"3319\": 5, \n    \"3325\": 5, \n    \"20213\": 1\n  }, \n  \"24531\": {\n    \"3319\": 5, \n    \"3326\": 5, \n    \"20212\": 1\n  }, \n  \"24533\": {\n    \"3319\": 5, \n    \"3326\": 5, \n    \"20212\": 1\n  }, \n  \"24535\": {\n    \"3319\": 5, \n    \"3326\": 5, \n    \"20212\": 1\n  }, \n  \"24537\": {\n    \"3319\": 5, \n    \"3326\": 5, \n    \"20212\": 1\n  }, \n  \"24539\": {\n    \"3319\": 5, \n    \"3326\": 5, \n    \"20212\": 1\n  }, \n  \"24541\": {\n    \"3319\": 5, \n    \"3326\": 5, \n    \"20212\": 1\n  }, \n  \"24550\": {\n    \"3347\": 1, \n    \"24563\": 1\n  }, \n  \"24552\": {\n    \"3346\": 1, \n    \"24563\": 1\n  }, \n  \"24554\": {\n    \"3344\": 1, \n    \"24563\": 1\n  }, \n  \"24562\": {\n    \"3402\": 5, \n    \"3412\": 5, \n    \"3456\": 5\n  }, \n  \"24563\": {\n    \"3402\": 5, \n    \"3421\": 5, \n    \"11207\": 5\n  }, \n  \"24567\": {\n    \"11584\": 1\n  }, \n  \"24568\": {\n    \"16069\": 5\n  }, \n  \"24569\": {\n    \"24568\": 1\n  }, \n  \"24571\": {\n    \"3413\": 5, \n    \"3422\": 5\n  }, \n  \"24572\": {\n    \"3413\": 5, \n    \"3423\": 5\n  }, \n  \"24574\": {\n    \"11584\": 1\n  }, \n  \"24575\": {\n    \"11584\": 1\n  }, \n  \"24606\": {\n    \"3402\": 5, \n    \"20533\": 3\n  }, \n  \"24613\": {\n    \"23069\": 1\n  }, \n  \"24620\": {\n    \"11446\": 2\n  }, \n  \"24622\": {\n    \"11446\": 4\n  }, \n  \"24624\": {\n    \"3406\": 5\n  }, \n  \"24625\": {\n    \"3387\": 5\n  }, \n  \"24632\": {\n    \"3411\": 2\n  }, \n  \"24636\": {\n    \"3411\": 4\n  }, \n  \"24637\": {\n    \"3411\": 4\n  }, \n  \"24638\": {\n    \"3411\": 4\n  }, \n  \"24639\": {\n    \"3411\": 4\n  }, \n  \"24640\": {\n    \"3411\": 4\n  }, \n  \"24641\": {\n    \"3411\": 2\n  }, \n  \"24642\": {\n    \"3411\": 4\n  }, \n  \"24644\": {\n    \"11446\": 4\n  }, \n  \"24646\": {\n    \"11584\": 1\n  }, \n  \"24653\": {\n    \"11584\": 1\n  }, \n  \"24654\": {\n    \"11584\": 1\n  }, \n  \"24655\": {\n    \"11584\": 1\n  }, \n  \"24656\": {\n    \"11584\": 1\n  }, \n  \"24657\": {\n    \"11584\": 1\n  }, \n  \"24658\": {\n    \"11584\": 1\n  }, \n  \"24659\": {\n    \"11584\": 1\n  }, \n  \"24660\": {\n    \"11584\": 1\n  }, \n  \"24663\": {\n    \"3411\": 4\n  }, \n  \"24669\": {\n    \"3411\": 5\n  }, \n  \"24684\": {\n    \"11584\": 2\n  }, \n  \"24688\": {\n    \"3338\": 1\n  }, \n  \"24690\": {\n    \"3336\": 1\n  }, \n  \"24692\": {\n    \"3339\": 1\n  }, \n  \"24694\": {\n    \"3337\": 1\n  }, \n  \"24696\": {\n    \"33095\": 1\n  }, \n  \"24698\": {\n    \"33096\": 1\n  }, \n  \"24700\": {\n    \"33097\": 1\n  }, \n  \"24702\": {\n    \"33098\": 1\n  }, \n  \"24764\": {\n    \"11574\": 5\n  }, \n  \"25233\": {\n    \"25235\": 4\n  }, \n  \"25235\": {\n    \"3355\": 1\n  }, \n  \"25266\": {\n    \"25544\": 1\n  }, \n  \"25305\": {\n    \"11584\": 1\n  }, \n  \"25349\": {\n    \"3405\": 3\n  }, \n  \"25530\": {\n    \"25538\": 1\n  }, \n  \"25538\": {\n    \"3402\": 4, \n    \"3405\": 1\n  }, \n  \"25540\": {\n    \"25544\": 1\n  }, \n  \"25542\": {\n    \"25544\": 1\n  }, \n  \"25544\": {\n    \"3386\": 4\n  }, \n  \"25545\": {\n    \"3411\": 2\n  }, \n  \"25546\": {\n    \"3411\": 3\n  }, \n  \"25547\": {\n    \"3411\": 2\n  }, \n  \"25548\": {\n    \"3411\": 3\n  }, \n  \"25553\": {\n    \"21791\": 1\n  }, \n  \"25554\": {\n    \"23087\": 1\n  }, \n  \"25555\": {\n    \"21790\": 1\n  }, \n  \"25556\": {\n    \"23121\": 1\n  }, \n  \"25560\": {\n    \"9955\": 1\n  }, \n  \"25561\": {\n    \"3427\": 3\n  }, \n  \"25563\": {\n    \"3427\": 4\n  }, \n  \"25565\": {\n    \"3427\": 3\n  }, \n  \"25567\": {\n    \"3427\": 3\n  }, \n  \"25569\": {\n    \"3427\": 3\n  }, \n  \"25571\": {\n    \"3427\": 3\n  }, \n  \"25707\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"25709\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"25711\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"25713\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"25715\": {\n    \"3319\": 4, \n    \"25718\": 1\n  }, \n  \"25718\": {\n    \"3319\": 1, \n    \"25719\": 5\n  }, \n  \"25719\": {\n    \"3319\": 3, \n    \"3321\": 3\n  }, \n  \"25739\": {\n    \"3402\": 3\n  }, \n  \"25771\": {\n    \"3412\": 5\n  }, \n  \"25797\": {\n    \"3412\": 1\n  }, \n  \"25810\": {\n    \"3412\": 4\n  }, \n  \"25811\": {\n    \"3412\": 3\n  }, \n  \"25812\": {\n    \"25544\": 5\n  }, \n  \"25841\": {\n    \"21718\": 1\n  }, \n  \"25851\": {\n    \"23087\": 1\n  }, \n  \"25853\": {\n    \"21790\": 1\n  }, \n  \"25855\": {\n    \"23121\": 1\n  }, \n  \"25857\": {\n    \"21791\": 1\n  }, \n  \"25861\": {\n    \"25863\": 1\n  }, \n  \"25863\": {\n    \"3392\": 3, \n    \"3551\": 3\n  }, \n  \"25867\": {\n    \"3411\": 4\n  }, \n  \"25868\": {\n    \"3411\": 4\n  }, \n  \"25887\": {\n    \"11454\": 1\n  }, \n  \"26135\": {\n    \"21718\": 1\n  }, \n  \"26136\": {\n    \"21718\": 1\n  }, \n  \"26137\": {\n    \"21718\": 1\n  }, \n  \"26145\": {\n    \"21718\": 1\n  }, \n  \"26146\": {\n    \"21718\": 1\n  }, \n  \"26148\": {\n    \"21718\": 1\n  }, \n  \"26149\": {\n    \"21718\": 1\n  }, \n  \"26150\": {\n    \"21718\": 1\n  }, \n  \"26151\": {\n    \"21718\": 1\n  }, \n  \"26152\": {\n    \"21718\": 1\n  }, \n  \"26153\": {\n    \"21718\": 1\n  }, \n  \"26154\": {\n    \"21718\": 1\n  }, \n  \"26155\": {\n    \"21718\": 1\n  }, \n  \"26161\": {\n    \"21718\": 1\n  }, \n  \"26162\": {\n    \"21718\": 1\n  }, \n  \"26163\": {\n    \"21718\": 1\n  }, \n  \"26164\": {\n    \"21718\": 1\n  }, \n  \"26165\": {\n    \"21718\": 1\n  }, \n  \"26166\": {\n    \"21718\": 1\n  }, \n  \"26173\": {\n    \"3412\": 2, \n    \"9955\": 5\n  }, \n  \"26252\": {\n    \"3392\": 3\n  }, \n  \"26253\": {\n    \"26252\": 3\n  }, \n  \"26254\": {\n    \"26252\": 3\n  }, \n  \"26255\": {\n    \"26252\": 3\n  }, \n  \"26256\": {\n    \"26252\": 3\n  }, \n  \"26257\": {\n    \"26252\": 3\n  }, \n  \"26258\": {\n    \"26252\": 3\n  }, \n  \"26259\": {\n    \"26252\": 3\n  }, \n  \"26260\": {\n    \"26252\": 3\n  }, \n  \"26261\": {\n    \"26252\": 3\n  }, \n  \"26276\": {\n    \"13278\": 1\n  }, \n  \"26277\": {\n    \"13278\": 1\n  }, \n  \"26597\": {\n    \"21791\": 1\n  }, \n  \"26599\": {\n    \"21790\": 1\n  }, \n  \"26601\": {\n    \"23121\": 1\n  }, \n  \"26603\": {\n    \"23087\": 1\n  }, \n  \"26657\": {\n    \"25863\": 1\n  }, \n  \"26658\": {\n    \"25863\": 1\n  }, \n  \"26659\": {\n    \"25863\": 1\n  }, \n  \"26660\": {\n    \"25863\": 1\n  }, \n  \"26662\": {\n    \"25863\": 1\n  }, \n  \"26663\": {\n    \"25863\": 1\n  }, \n  \"26664\": {\n    \"25863\": 1\n  }, \n  \"26665\": {\n    \"25863\": 1\n  }, \n  \"26666\": {\n    \"25863\": 1\n  }, \n  \"26667\": {\n    \"25863\": 1\n  }, \n  \"26668\": {\n    \"25863\": 1\n  }, \n  \"26669\": {\n    \"25863\": 1\n  }, \n  \"26670\": {\n    \"25863\": 1\n  }, \n  \"26671\": {\n    \"25863\": 1\n  }, \n  \"26672\": {\n    \"25863\": 1\n  }, \n  \"26673\": {\n    \"25863\": 1\n  }, \n  \"26674\": {\n    \"25863\": 1\n  }, \n  \"26675\": {\n    \"25863\": 1\n  }, \n  \"26676\": {\n    \"25863\": 1\n  }, \n  \"26677\": {\n    \"25863\": 1\n  }, \n  \"26713\": {\n    \"3386\": 1\n  }, \n  \"26840\": {\n    \"3338\": 1\n  }, \n  \"26842\": {\n    \"3337\": 1\n  }, \n  \"26849\": {\n    \"3435\": 5, \n    \"11584\": 4\n  }, \n  \"26851\": {\n    \"3386\": 1\n  }, \n  \"26852\": {\n    \"3386\": 1\n  }, \n  \"26868\": {\n    \"3386\": 1\n  }, \n  \"26869\": {\n    \"9955\": 5\n  }, \n  \"26888\": {\n    \"3435\": 5, \n    \"11584\": 5\n  }, \n  \"26890\": {\n    \"3435\": 5, \n    \"11584\": 4\n  }, \n  \"26892\": {\n    \"3435\": 5, \n    \"11584\": 3\n  }, \n  \"26912\": {\n    \"16069\": 3\n  }, \n  \"26913\": {\n    \"16069\": 4\n  }, \n  \"26914\": {\n    \"16069\": 4\n  }, \n  \"27025\": {\n    \"3402\": 1\n  }, \n  \"27026\": {\n    \"3402\": 1\n  }, \n  \"27028\": {\n    \"3386\": 1\n  }, \n  \"27059\": {\n    \"3402\": 1\n  }, \n  \"27070\": {\n    \"3411\": 1\n  }, \n  \"27071\": {\n    \"3411\": 1\n  }, \n  \"27072\": {\n    \"3411\": 1\n  }, \n  \"27073\": {\n    \"3411\": 1\n  }, \n  \"27074\": {\n    \"3411\": 1\n  }, \n  \"27075\": {\n    \"3411\": 1\n  }, \n  \"27076\": {\n    \"3411\": 1\n  }, \n  \"27077\": {\n    \"3411\": 1\n  }, \n  \"27078\": {\n    \"3411\": 1\n  }, \n  \"27079\": {\n    \"3411\": 1\n  }, \n  \"27080\": {\n    \"3411\": 1\n  }, \n  \"27081\": {\n    \"3411\": 1\n  }, \n  \"27082\": {\n    \"3411\": 1\n  }, \n  \"27083\": {\n    \"3411\": 1\n  }, \n  \"27084\": {\n    \"3411\": 1\n  }, \n  \"27085\": {\n    \"3411\": 1\n  }, \n  \"27086\": {\n    \"3411\": 1\n  }, \n  \"27087\": {\n    \"3411\": 1\n  }, \n  \"27088\": {\n    \"3411\": 1\n  }, \n  \"27089\": {\n    \"3411\": 1\n  }, \n  \"27090\": {\n    \"3411\": 1\n  }, \n  \"27091\": {\n    \"3411\": 1\n  }, \n  \"27092\": {\n    \"3411\": 1\n  }, \n  \"27093\": {\n    \"3411\": 1\n  }, \n  \"27094\": {\n    \"3411\": 1\n  }, \n  \"27095\": {\n    \"3411\": 1\n  }, \n  \"27096\": {\n    \"3411\": 1\n  }, \n  \"27097\": {\n    \"3411\": 1\n  }, \n  \"27098\": {\n    \"3411\": 1\n  }, \n  \"27099\": {\n    \"3411\": 1\n  }, \n  \"27100\": {\n    \"3411\": 1\n  }, \n  \"27101\": {\n    \"3411\": 1\n  }, \n  \"27102\": {\n    \"3411\": 1\n  }, \n  \"27103\": {\n    \"3411\": 1\n  }, \n  \"27104\": {\n    \"3411\": 1\n  }, \n  \"27105\": {\n    \"3411\": 1\n  }, \n  \"27106\": {\n    \"3411\": 1\n  }, \n  \"27107\": {\n    \"3411\": 1\n  }, \n  \"27108\": {\n    \"3411\": 2\n  }, \n  \"27109\": {\n    \"3411\": 2\n  }, \n  \"27110\": {\n    \"3411\": 4\n  }, \n  \"27111\": {\n    \"3411\": 1\n  }, \n  \"27112\": {\n    \"3411\": 4\n  }, \n  \"27113\": {\n    \"3411\": 1\n  }, \n  \"27114\": {\n    \"3411\": 4\n  }, \n  \"27115\": {\n    \"3411\": 1\n  }, \n  \"27116\": {\n    \"3411\": 4\n  }, \n  \"27117\": {\n    \"3411\": 1\n  }, \n  \"27118\": {\n    \"3411\": 4\n  }, \n  \"27119\": {\n    \"3411\": 1\n  }, \n  \"27120\": {\n    \"3411\": 1\n  }, \n  \"27121\": {\n    \"3411\": 4\n  }, \n  \"27122\": {\n    \"3411\": 4\n  }, \n  \"27123\": {\n    \"3411\": 1\n  }, \n  \"27124\": {\n    \"3411\": 4\n  }, \n  \"27125\": {\n    \"3411\": 1\n  }, \n  \"27126\": {\n    \"3411\": 4\n  }, \n  \"27127\": {\n    \"3411\": 1\n  }, \n  \"27128\": {\n    \"3411\": 4\n  }, \n  \"27129\": {\n    \"3411\": 1\n  }, \n  \"27130\": {\n    \"3411\": 4\n  }, \n  \"27131\": {\n    \"3411\": 1\n  }, \n  \"27142\": {\n    \"3411\": 4\n  }, \n  \"27143\": {\n    \"3411\": 1\n  }, \n  \"27147\": {\n    \"3411\": 2\n  }, \n  \"27148\": {\n    \"3411\": 3\n  }, \n  \"27149\": {\n    \"3411\": 3\n  }, \n  \"27150\": {\n    \"3411\": 5\n  }, \n  \"27151\": {\n    \"3411\": 1\n  }, \n  \"27152\": {\n    \"3411\": 2\n  }, \n  \"27153\": {\n    \"3411\": 2\n  }, \n  \"27154\": {\n    \"3411\": 2\n  }, \n  \"27155\": {\n    \"3411\": 2\n  }, \n  \"27156\": {\n    \"3411\": 2\n  }, \n  \"27157\": {\n    \"3411\": 1\n  }, \n  \"27158\": {\n    \"3411\": 4\n  }, \n  \"27159\": {\n    \"3411\": 4\n  }, \n  \"27160\": {\n    \"3411\": 1\n  }, \n  \"27161\": {\n    \"3411\": 4\n  }, \n  \"27162\": {\n    \"3411\": 1\n  }, \n  \"27163\": {\n    \"3411\": 4\n  }, \n  \"27164\": {\n    \"3411\": 1\n  }, \n  \"27165\": {\n    \"3411\": 4\n  }, \n  \"27166\": {\n    \"3411\": 1\n  }, \n  \"27167\": {\n    \"3411\": 3\n  }, \n  \"27169\": {\n    \"3411\": 3\n  }, \n  \"27170\": {\n    \"3411\": 1\n  }, \n  \"27171\": {\n    \"3411\": 5\n  }, \n  \"27174\": {\n    \"3411\": 5\n  }, \n  \"27175\": {\n    \"3411\": 1\n  }, \n  \"27176\": {\n    \"3411\": 3\n  }, \n  \"27177\": {\n    \"3411\": 3\n  }, \n  \"27178\": {\n    \"3411\": 3\n  }, \n  \"27179\": {\n    \"3411\": 5\n  }, \n  \"27180\": {\n    \"3411\": 1\n  }, \n  \"27181\": {\n    \"3411\": 5\n  }, \n  \"27182\": {\n    \"3411\": 1\n  }, \n  \"27184\": {\n    \"3411\": 5\n  }, \n  \"27185\": {\n    \"3411\": 1\n  }, \n  \"27186\": {\n    \"3411\": 3\n  }, \n  \"27187\": {\n    \"3411\": 3\n  }, \n  \"27188\": {\n    \"3411\": 3\n  }, \n  \"27190\": {\n    \"3411\": 5\n  }, \n  \"27191\": {\n    \"3411\": 1\n  }, \n  \"27192\": {\n    \"3411\": 4\n  }, \n  \"27193\": {\n    \"3411\": 1\n  }, \n  \"27194\": {\n    \"3411\": 5\n  }, \n  \"27195\": {\n    \"3411\": 1\n  }, \n  \"27196\": {\n    \"3411\": 3\n  }, \n  \"27197\": {\n    \"3411\": 3\n  }, \n  \"27198\": {\n    \"3411\": 3\n  }, \n  \"27204\": {\n    \"3411\": 4\n  }, \n  \"27205\": {\n    \"3411\": 4\n  }, \n  \"27206\": {\n    \"3411\": 1\n  }, \n  \"27223\": {\n    \"3411\": 2\n  }, \n  \"27224\": {\n    \"3411\": 2\n  }, \n  \"27225\": {\n    \"3411\": 4\n  }, \n  \"27226\": {\n    \"3411\": 1\n  }, \n  \"27227\": {\n    \"3411\": 4\n  }, \n  \"27229\": {\n    \"3411\": 1\n  }, \n  \"27230\": {\n    \"3411\": 4\n  }, \n  \"27231\": {\n    \"3411\": 1\n  }, \n  \"27232\": {\n    \"3411\": 4\n  }, \n  \"27233\": {\n    \"3411\": 1\n  }, \n  \"27234\": {\n    \"3411\": 4\n  }, \n  \"27235\": {\n    \"3411\": 1\n  }, \n  \"27236\": {\n    \"3411\": 4\n  }, \n  \"27237\": {\n    \"3411\": 1\n  }, \n  \"27238\": {\n    \"3411\": 3\n  }, \n  \"27239\": {\n    \"3411\": 5\n  }, \n  \"27240\": {\n    \"3411\": 1\n  }, \n  \"27243\": {\n    \"3411\": 4\n  }, \n  \"27244\": {\n    \"3411\": 1\n  }, \n  \"27245\": {\n    \"3411\": 4\n  }, \n  \"27246\": {\n    \"3411\": 1\n  }, \n  \"27247\": {\n    \"3411\": 4\n  }, \n  \"27249\": {\n    \"3411\": 1\n  }, \n  \"27250\": {\n    \"3411\": 4\n  }, \n  \"27251\": {\n    \"3411\": 1\n  }, \n  \"27252\": {\n    \"3411\": 4\n  }, \n  \"27253\": {\n    \"3411\": 1\n  }, \n  \"27254\": {\n    \"3411\": 4\n  }, \n  \"27255\": {\n    \"3411\": 1\n  }, \n  \"27256\": {\n    \"3411\": 4\n  }, \n  \"27257\": {\n    \"3411\": 1\n  }, \n  \"27258\": {\n    \"3411\": 4\n  }, \n  \"27259\": {\n    \"3411\": 1\n  }, \n  \"27260\": {\n    \"3411\": 4\n  }, \n  \"27264\": {\n    \"3411\": 4\n  }, \n  \"27265\": {\n    \"3411\": 4\n  }, \n  \"27267\": {\n    \"3411\": 5\n  }, \n  \"27268\": {\n    \"3411\": 5\n  }, \n  \"27269\": {\n    \"3411\": 2\n  }, \n  \"27270\": {\n    \"3411\": 2\n  }, \n  \"27271\": {\n    \"3411\": 2\n  }, \n  \"27272\": {\n    \"3411\": 2\n  }, \n  \"27273\": {\n    \"3411\": 2\n  }, \n  \"27299\": {\n    \"3327\": 1\n  }, \n  \"27301\": {\n    \"3327\": 1\n  }, \n  \"27303\": {\n    \"3327\": 1\n  }, \n  \"27305\": {\n    \"3327\": 1\n  }, \n  \"27313\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27315\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27317\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27319\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27321\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27323\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27325\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27327\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27329\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27331\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27333\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27335\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27337\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27339\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27341\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27343\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27345\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27347\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27349\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27351\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27353\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27355\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27357\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27359\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27361\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27363\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27365\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27367\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27369\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27371\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27373\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27375\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27377\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27379\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27381\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27383\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27385\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27387\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27389\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27391\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27393\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27395\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27397\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27399\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27401\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27403\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27405\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27407\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27409\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27411\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27413\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27415\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27417\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27419\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27421\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27423\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27425\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27427\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27429\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27431\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27433\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27435\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27437\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27439\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27441\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27443\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27445\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27447\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27449\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27451\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27453\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27455\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27457\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"27459\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"27461\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"27463\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"27465\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"27467\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"27469\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"27471\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"27473\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"27475\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"27477\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"27479\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3326\": 1\n  }, \n  \"27481\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"27483\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"27485\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"27487\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"27489\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"27491\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"27493\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"27495\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"27497\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"27499\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"27501\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"27503\": {\n    \"3319\": 1, \n    \"3322\": 1, \n    \"3324\": 1\n  }, \n  \"27505\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"27507\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"27509\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"27511\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"27513\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"27515\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"27517\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"27519\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"27521\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"27523\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"27525\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"27527\": {\n    \"3319\": 1, \n    \"3321\": 1, \n    \"3322\": 1\n  }, \n  \"27542\": {\n    \"11584\": 1\n  }, \n  \"27544\": {\n    \"11584\": 1\n  }, \n  \"27545\": {\n    \"11584\": 1\n  }, \n  \"27547\": {\n    \"11584\": 1\n  }, \n  \"27548\": {\n    \"11584\": 1\n  }, \n  \"27550\": {\n    \"11584\": 1\n  }, \n  \"27551\": {\n    \"11584\": 1\n  }, \n  \"27553\": {\n    \"11584\": 1\n  }, \n  \"27554\": {\n    \"11584\": 1\n  }, \n  \"27556\": {\n    \"11584\": 1\n  }, \n  \"27557\": {\n    \"11584\": 1\n  }, \n  \"27559\": {\n    \"11584\": 1\n  }, \n  \"27560\": {\n    \"11584\": 1\n  }, \n  \"27562\": {\n    \"11584\": 1\n  }, \n  \"27563\": {\n    \"11584\": 1\n  }, \n  \"27565\": {\n    \"11584\": 1\n  }, \n  \"27567\": {\n    \"11584\": 1\n  }, \n  \"27569\": {\n    \"11584\": 1\n  }, \n  \"27570\": {\n    \"11584\": 1\n  }, \n  \"27573\": {\n    \"11584\": 1\n  }, \n  \"27574\": {\n    \"11584\": 3\n  }, \n  \"27576\": {\n    \"11584\": 3\n  }, \n  \"27577\": {\n    \"11584\": 3\n  }, \n  \"27579\": {\n    \"11584\": 3\n  }, \n  \"27580\": {\n    \"11584\": 3\n  }, \n  \"27582\": {\n    \"11584\": 3\n  }, \n  \"27583\": {\n    \"11584\": 3\n  }, \n  \"27585\": {\n    \"11584\": 3\n  }, \n  \"27613\": {\n    \"11584\": 1\n  }, \n  \"27615\": {\n    \"11584\": 1\n  }, \n  \"27616\": {\n    \"11584\": 1\n  }, \n  \"27618\": {\n    \"11584\": 1\n  }, \n  \"27619\": {\n    \"11584\": 1\n  }, \n  \"27621\": {\n    \"11584\": 1\n  }, \n  \"27622\": {\n    \"11584\": 1\n  }, \n  \"27624\": {\n    \"11584\": 1\n  }, \n  \"27625\": {\n    \"11584\": 1\n  }, \n  \"27627\": {\n    \"11584\": 1\n  }, \n  \"27628\": {\n    \"11584\": 1\n  }, \n  \"27630\": {\n    \"11584\": 1\n  }, \n  \"27631\": {\n    \"11584\": 1\n  }, \n  \"27633\": {\n    \"11584\": 1\n  }, \n  \"27634\": {\n    \"11584\": 1\n  }, \n  \"27636\": {\n    \"11584\": 1\n  }, \n  \"27638\": {\n    \"11584\": 1\n  }, \n  \"27640\": {\n    \"11584\": 1\n  }, \n  \"27641\": {\n    \"11584\": 1\n  }, \n  \"27643\": {\n    \"11584\": 1\n  }, \n  \"27644\": {\n    \"11584\": 1\n  }, \n  \"27646\": {\n    \"11584\": 1\n  }, \n  \"27647\": {\n    \"11584\": 1\n  }, \n  \"27649\": {\n    \"11584\": 1\n  }, \n  \"27650\": {\n    \"11584\": 1\n  }, \n  \"27652\": {\n    \"11584\": 1\n  }, \n  \"27653\": {\n    \"11584\": 1\n  }, \n  \"27655\": {\n    \"11584\": 1\n  }, \n  \"27656\": {\n    \"3400\": 1\n  }, \n  \"27658\": {\n    \"3400\": 3\n  }, \n  \"27660\": {\n    \"3400\": 5\n  }, \n  \"27662\": {\n    \"3400\": 1\n  }, \n  \"27664\": {\n    \"3400\": 5\n  }, \n  \"27666\": {\n    \"3400\": 3\n  }, \n  \"27672\": {\n    \"11584\": 1\n  }, \n  \"27674\": {\n    \"11584\": 1\n  }, \n  \"27675\": {\n    \"11584\": 1\n  }, \n  \"27678\": {\n    \"27911\": 1\n  }, \n  \"27766\": {\n    \"11584\": 1\n  }, \n  \"27767\": {\n    \"11584\": 1\n  }, \n  \"27768\": {\n    \"11584\": 1\n  }, \n  \"27769\": {\n    \"11584\": 1\n  }, \n  \"27770\": {\n    \"11584\": 1\n  }, \n  \"27771\": {\n    \"11584\": 1\n  }, \n  \"27772\": {\n    \"11584\": 1\n  }, \n  \"27773\": {\n    \"11584\": 1\n  }, \n  \"27774\": {\n    \"11584\": 1\n  }, \n  \"27775\": {\n    \"11584\": 1\n  }, \n  \"27776\": {\n    \"11584\": 1\n  }, \n  \"27777\": {\n    \"11584\": 1\n  }, \n  \"27778\": {\n    \"11584\": 1\n  }, \n  \"27779\": {\n    \"11584\": 1\n  }, \n  \"27802\": {\n    \"21718\": 1\n  }, \n  \"27804\": {\n    \"21718\": 1\n  }, \n  \"27855\": {\n    \"11584\": 1\n  }, \n  \"27856\": {\n    \"11584\": 1\n  }, \n  \"27857\": {\n    \"11584\": 1\n  }, \n  \"27858\": {\n    \"11584\": 1\n  }, \n  \"27883\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27884\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"27885\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27886\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"27887\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27888\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"27889\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27890\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"27891\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27892\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"27893\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27894\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"27902\": {\n    \"3392\": 3\n  }, \n  \"27904\": {\n    \"27902\": 3\n  }, \n  \"27906\": {\n    \"12096\": 5\n  }, \n  \"27911\": {\n    \"3427\": 5\n  }, \n  \"27912\": {\n    \"28073\": 1\n  }, \n  \"27914\": {\n    \"28073\": 1\n  }, \n  \"27916\": {\n    \"28073\": 1\n  }, \n  \"27918\": {\n    \"28073\": 1\n  }, \n  \"27920\": {\n    \"28073\": 1\n  }, \n  \"27922\": {\n    \"28073\": 3\n  }, \n  \"27924\": {\n    \"28073\": 4\n  }, \n  \"27930\": {\n    \"27902\": 2\n  }, \n  \"27932\": {\n    \"27902\": 1\n  }, \n  \"27934\": {\n    \"27902\": 5, \n    \"27936\": 1\n  }, \n  \"27936\": {\n    \"27902\": 5\n  }, \n  \"27937\": {\n    \"3400\": 1\n  }, \n  \"27939\": {\n    \"3400\": 1\n  }, \n  \"27941\": {\n    \"3400\": 1\n  }, \n  \"27951\": {\n    \"27906\": 1\n  }, \n  \"27957\": {\n    \"3400\": 3\n  }, \n  \"27959\": {\n    \"3400\": 5\n  }, \n  \"27961\": {\n    \"3400\": 1\n  }, \n  \"27963\": {\n    \"3400\": 3\n  }, \n  \"27965\": {\n    \"3400\": 5\n  }, \n  \"27967\": {\n    \"3400\": 3\n  }, \n  \"27969\": {\n    \"3400\": 5\n  }, \n  \"27971\": {\n    \"3400\": 3\n  }, \n  \"27973\": {\n    \"3400\": 5\n  }, \n  \"27975\": {\n    \"3400\": 3\n  }, \n  \"27977\": {\n    \"3400\": 5\n  }, \n  \"27979\": {\n    \"3400\": 3\n  }, \n  \"27981\": {\n    \"3400\": 5\n  }, \n  \"27983\": {\n    \"3400\": 1\n  }, \n  \"27985\": {\n    \"3400\": 1\n  }, \n  \"27987\": {\n    \"3400\": 1\n  }, \n  \"27989\": {\n    \"3400\": 3\n  }, \n  \"27991\": {\n    \"3400\": 5\n  }, \n  \"27993\": {\n    \"3400\": 1\n  }, \n  \"27995\": {\n    \"3400\": 3\n  }, \n  \"27997\": {\n    \"3400\": 5\n  }, \n  \"27999\": {\n    \"3400\": 1\n  }, \n  \"28001\": {\n    \"3400\": 3\n  }, \n  \"28003\": {\n    \"3400\": 5\n  }, \n  \"28005\": {\n    \"3400\": 1\n  }, \n  \"28007\": {\n    \"3400\": 3\n  }, \n  \"28009\": {\n    \"3400\": 5\n  }, \n  \"28011\": {\n    \"3400\": 1\n  }, \n  \"28013\": {\n    \"3400\": 3\n  }, \n  \"28015\": {\n    \"3400\": 5\n  }, \n  \"28017\": {\n    \"3400\": 1\n  }, \n  \"28019\": {\n    \"3400\": 3\n  }, \n  \"28021\": {\n    \"3400\": 5\n  }, \n  \"28023\": {\n    \"3400\": 1\n  }, \n  \"28025\": {\n    \"3400\": 3\n  }, \n  \"28027\": {\n    \"3400\": 5\n  }, \n  \"28029\": {\n    \"3400\": 1\n  }, \n  \"28031\": {\n    \"3400\": 3\n  }, \n  \"28033\": {\n    \"3400\": 5\n  }, \n  \"28035\": {\n    \"3400\": 1\n  }, \n  \"28037\": {\n    \"3400\": 3\n  }, \n  \"28039\": {\n    \"3400\": 5\n  }, \n  \"28041\": {\n    \"3400\": 1\n  }, \n  \"28043\": {\n    \"3400\": 3\n  }, \n  \"28045\": {\n    \"3400\": 5\n  }, \n  \"28047\": {\n    \"3400\": 1\n  }, \n  \"28049\": {\n    \"3400\": 3\n  }, \n  \"28051\": {\n    \"3400\": 5\n  }, \n  \"28053\": {\n    \"3400\": 1\n  }, \n  \"28055\": {\n    \"3400\": 3\n  }, \n  \"28057\": {\n    \"3400\": 5\n  }, \n  \"28059\": {\n    \"3400\": 1\n  }, \n  \"28061\": {\n    \"3400\": 3\n  }, \n  \"28063\": {\n    \"3400\": 5\n  }, \n  \"28073\": {\n    \"12441\": 4\n  }, \n  \"28164\": {\n    \"3402\": 4, \n    \"3413\": 4, \n    \"3418\": 3\n  }, \n  \"28191\": {\n    \"11584\": 1\n  }, \n  \"28197\": {\n    \"3436\": 5, \n    \"3439\": 5, \n    \"16069\": 4\n  }, \n  \"28199\": {\n    \"3422\": 4, \n    \"3436\": 5, \n    \"3439\": 5\n  }, \n  \"28201\": {\n    \"3436\": 5, \n    \"3439\": 5, \n    \"16069\": 4\n  }, \n  \"28203\": {\n    \"3422\": 4, \n    \"3436\": 5, \n    \"3439\": 5\n  }, \n  \"28205\": {\n    \"3436\": 5, \n    \"3439\": 5, \n    \"16069\": 4\n  }, \n  \"28207\": {\n    \"3422\": 4, \n    \"3436\": 5, \n    \"3439\": 5\n  }, \n  \"28209\": {\n    \"3436\": 5, \n    \"12487\": 1, \n    \"23594\": 5\n  }, \n  \"28211\": {\n    \"3436\": 5, \n    \"12486\": 1, \n    \"23594\": 5\n  }, \n  \"28213\": {\n    \"3436\": 5, \n    \"12484\": 1, \n    \"23594\": 5\n  }, \n  \"28215\": {\n    \"3436\": 5, \n    \"12485\": 1, \n    \"23594\": 5\n  }, \n  \"28224\": {\n    \"21718\": 1\n  }, \n  \"28259\": {\n    \"21718\": 1\n  }, \n  \"28261\": {\n    \"3443\": 2\n  }, \n  \"28262\": {\n    \"3436\": 2, \n    \"24241\": 1\n  }, \n  \"28264\": {\n    \"3436\": 5, \n    \"12484\": 1, \n    \"24241\": 5\n  }, \n  \"28266\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"28268\": {\n    \"3436\": 5, \n    \"3441\": 5, \n    \"12485\": 1\n  }, \n  \"28270\": {\n    \"3436\": 3, \n    \"33699\": 1\n  }, \n  \"28272\": {\n    \"3436\": 5, \n    \"12486\": 1, \n    \"33699\": 5\n  }, \n  \"28274\": {\n    \"3436\": 2, \n    \"24241\": 1\n  }, \n  \"28276\": {\n    \"3436\": 5, \n    \"12486\": 1, \n    \"24241\": 5\n  }, \n  \"28278\": {\n    \"3436\": 2, \n    \"24241\": 1\n  }, \n  \"28280\": {\n    \"3436\": 5, \n    \"12487\": 1, \n    \"24241\": 5\n  }, \n  \"28282\": {\n    \"3436\": 3, \n    \"33699\": 1\n  }, \n  \"28284\": {\n    \"3436\": 5, \n    \"12484\": 1, \n    \"33699\": 5\n  }, \n  \"28286\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"28288\": {\n    \"3436\": 5, \n    \"3441\": 5, \n    \"12486\": 1\n  }, \n  \"28290\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"28292\": {\n    \"3436\": 5, \n    \"3441\": 5, \n    \"12484\": 1\n  }, \n  \"28294\": {\n    \"3436\": 3, \n    \"33699\": 1\n  }, \n  \"28296\": {\n    \"3436\": 5, \n    \"12485\": 1, \n    \"33699\": 5\n  }, \n  \"28298\": {\n    \"3436\": 3, \n    \"33699\": 1\n  }, \n  \"28300\": {\n    \"3436\": 5, \n    \"12487\": 1, \n    \"33699\": 5\n  }, \n  \"28302\": {\n    \"3436\": 2, \n    \"24241\": 1\n  }, \n  \"28304\": {\n    \"3436\": 5, \n    \"12485\": 1, \n    \"24241\": 5\n  }, \n  \"28306\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"28308\": {\n    \"3436\": 5, \n    \"3441\": 5, \n    \"12487\": 1\n  }, \n  \"28318\": {\n    \"11584\": 2\n  }, \n  \"28319\": {\n    \"11584\": 2\n  }, \n  \"28351\": {\n    \"11584\": 1\n  }, \n  \"28352\": {\n    \"3456\": 1, \n    \"20533\": 2, \n    \"28374\": 1\n  }, \n  \"28367\": {\n    \"3386\": 1\n  }, \n  \"28369\": {\n    \"3386\": 4\n  }, \n  \"28373\": {\n    \"3380\": 5, \n    \"3389\": 5, \n    \"3402\": 5\n  }, \n  \"28374\": {\n    \"20342\": 5, \n    \"20533\": 2, \n    \"28585\": 1, \n    \"29637\": 3\n  }, \n  \"28375\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"28377\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"28379\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"28381\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"28383\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"28385\": {\n    \"3386\": 1\n  }, \n  \"28387\": {\n    \"3386\": 1\n  }, \n  \"28388\": {\n    \"3386\": 1\n  }, \n  \"28389\": {\n    \"3386\": 1\n  }, \n  \"28390\": {\n    \"3386\": 1\n  }, \n  \"28391\": {\n    \"3386\": 1\n  }, \n  \"28392\": {\n    \"3386\": 1\n  }, \n  \"28393\": {\n    \"3386\": 1\n  }, \n  \"28394\": {\n    \"3386\": 1\n  }, \n  \"28395\": {\n    \"3386\": 1\n  }, \n  \"28396\": {\n    \"3386\": 1\n  }, \n  \"28397\": {\n    \"3386\": 1\n  }, \n  \"28398\": {\n    \"3386\": 1\n  }, \n  \"28399\": {\n    \"3386\": 1\n  }, \n  \"28400\": {\n    \"3386\": 1\n  }, \n  \"28401\": {\n    \"3386\": 1\n  }, \n  \"28402\": {\n    \"3386\": 1\n  }, \n  \"28403\": {\n    \"3386\": 1\n  }, \n  \"28404\": {\n    \"3386\": 1\n  }, \n  \"28405\": {\n    \"3386\": 1\n  }, \n  \"28406\": {\n    \"3386\": 1\n  }, \n  \"28407\": {\n    \"3386\": 1\n  }, \n  \"28408\": {\n    \"3386\": 1\n  }, \n  \"28409\": {\n    \"3386\": 1\n  }, \n  \"28410\": {\n    \"3386\": 1\n  }, \n  \"28411\": {\n    \"3386\": 1\n  }, \n  \"28412\": {\n    \"11395\": 1\n  }, \n  \"28413\": {\n    \"11395\": 1\n  }, \n  \"28414\": {\n    \"11395\": 1\n  }, \n  \"28415\": {\n    \"3386\": 1\n  }, \n  \"28416\": {\n    \"3386\": 1\n  }, \n  \"28417\": {\n    \"3386\": 1\n  }, \n  \"28418\": {\n    \"3386\": 1\n  }, \n  \"28419\": {\n    \"3386\": 1\n  }, \n  \"28420\": {\n    \"3386\": 1\n  }, \n  \"28421\": {\n    \"3386\": 1\n  }, \n  \"28422\": {\n    \"3386\": 1\n  }, \n  \"28423\": {\n    \"3386\": 1\n  }, \n  \"28424\": {\n    \"3386\": 1\n  }, \n  \"28425\": {\n    \"3386\": 1\n  }, \n  \"28426\": {\n    \"3386\": 1\n  }, \n  \"28427\": {\n    \"3386\": 1\n  }, \n  \"28428\": {\n    \"3386\": 1\n  }, \n  \"28429\": {\n    \"3386\": 1\n  }, \n  \"28430\": {\n    \"3386\": 1\n  }, \n  \"28431\": {\n    \"3386\": 1\n  }, \n  \"28432\": {\n    \"3386\": 1\n  }, \n  \"28433\": {\n    \"16281\": 1\n  }, \n  \"28434\": {\n    \"16281\": 1\n  }, \n  \"28435\": {\n    \"16281\": 1\n  }, \n  \"28436\": {\n    \"16281\": 1\n  }, \n  \"28437\": {\n    \"16281\": 1\n  }, \n  \"28438\": {\n    \"16281\": 1\n  }, \n  \"28439\": {\n    \"16281\": 1\n  }, \n  \"28440\": {\n    \"16281\": 1\n  }, \n  \"28441\": {\n    \"16281\": 1\n  }, \n  \"28442\": {\n    \"16281\": 1\n  }, \n  \"28443\": {\n    \"16281\": 1\n  }, \n  \"28444\": {\n    \"16281\": 1\n  }, \n  \"28511\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"28513\": {\n    \"3319\": 1, \n    \"3325\": 1\n  }, \n  \"28514\": {\n    \"3435\": 1\n  }, \n  \"28516\": {\n    \"3435\": 1\n  }, \n  \"28518\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"28520\": {\n    \"3394\": 1\n  }, \n  \"28522\": {\n    \"3394\": 3\n  }, \n  \"28524\": {\n    \"3394\": 3\n  }, \n  \"28526\": {\n    \"3394\": 3\n  }, \n  \"28528\": {\n    \"3394\": 3\n  }, \n  \"28530\": {\n    \"3424\": 2\n  }, \n  \"28532\": {\n    \"3424\": 2\n  }, \n  \"28534\": {\n    \"3394\": 3\n  }, \n  \"28536\": {\n    \"3394\": 3\n  }, \n  \"28538\": {\n    \"3394\": 3\n  }, \n  \"28540\": {\n    \"3394\": 3\n  }, \n  \"28542\": {\n    \"3394\": 3\n  }, \n  \"28544\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"28545\": {\n    \"3421\": 1\n  }, \n  \"28547\": {\n    \"3394\": 1\n  }, \n  \"28549\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"28550\": {\n    \"3421\": 1\n  }, \n  \"28552\": {\n    \"3394\": 1\n  }, \n  \"28554\": {\n    \"3394\": 1\n  }, \n  \"28556\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"28557\": {\n    \"3421\": 1\n  }, \n  \"28559\": {\n    \"3394\": 1\n  }, \n  \"28561\": {\n    \"3432\": 1\n  }, \n  \"28563\": {\n    \"3318\": 1\n  }, \n  \"28565\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"28576\": {\n    \"22578\": 4\n  }, \n  \"28578\": {\n    \"22578\": 4\n  }, \n  \"28583\": {\n    \"28585\": 1\n  }, \n  \"28585\": {\n    \"24625\": 4\n  }, \n  \"28604\": {\n    \"9955\": 5\n  }, \n  \"28606\": {\n    \"29637\": 1\n  }, \n  \"28609\": {\n    \"3327\": 5, \n    \"3435\": 5, \n    \"11446\": 4\n  }, \n  \"28612\": {\n    \"3386\": 1, \n    \"12189\": 3\n  }, \n  \"28615\": {\n    \"3327\": 3, \n    \"3428\": 5\n  }, \n  \"28617\": {\n    \"3386\": 1\n  }, \n  \"28618\": {\n    \"3386\": 1\n  }, \n  \"28619\": {\n    \"3386\": 1\n  }, \n  \"28620\": {\n    \"3386\": 1\n  }, \n  \"28621\": {\n    \"3386\": 1\n  }, \n  \"28622\": {\n    \"3386\": 1\n  }, \n  \"28623\": {\n    \"3386\": 1\n  }, \n  \"28624\": {\n    \"3386\": 1\n  }, \n  \"28625\": {\n    \"3386\": 1\n  }, \n  \"28626\": {\n    \"11395\": 1\n  }, \n  \"28627\": {\n    \"16281\": 1\n  }, \n  \"28628\": {\n    \"16281\": 1\n  }, \n  \"28646\": {\n    \"21603\": 5\n  }, \n  \"28652\": {\n    \"24562\": 1\n  }, \n  \"28654\": {\n    \"3435\": 5, \n    \"11446\": 4\n  }, \n  \"28656\": {\n    \"3327\": 5, \n    \"11579\": 4, \n    \"21611\": 4\n  }, \n  \"28659\": {\n    \"3339\": 5, \n    \"28667\": 1\n  }, \n  \"28661\": {\n    \"3336\": 5, \n    \"28667\": 1\n  }, \n  \"28665\": {\n    \"3337\": 5, \n    \"28667\": 1\n  }, \n  \"28667\": {\n    \"3327\": 5, \n    \"3424\": 5, \n    \"11207\": 5\n  }, \n  \"28670\": {\n    \"3405\": 1\n  }, \n  \"28672\": {\n    \"3405\": 1\n  }, \n  \"28674\": {\n    \"3405\": 1\n  }, \n  \"28676\": {\n    \"3405\": 1\n  }, \n  \"28678\": {\n    \"3405\": 1\n  }, \n  \"28680\": {\n    \"3405\": 1\n  }, \n  \"28682\": {\n    \"3405\": 1\n  }, \n  \"28684\": {\n    \"3405\": 1\n  }, \n  \"28710\": {\n    \"3338\": 5, \n    \"28667\": 1\n  }, \n  \"28729\": {\n    \"3427\": 1\n  }, \n  \"28731\": {\n    \"3427\": 1\n  }, \n  \"28733\": {\n    \"3427\": 1\n  }, \n  \"28735\": {\n    \"3427\": 1\n  }, \n  \"28737\": {\n    \"3427\": 1\n  }, \n  \"28739\": {\n    \"3424\": 2\n  }, \n  \"28740\": {\n    \"3418\": 2\n  }, \n  \"28742\": {\n    \"3425\": 1\n  }, \n  \"28744\": {\n    \"3425\": 1\n  }, \n  \"28746\": {\n    \"3425\": 1\n  }, \n  \"28748\": {\n    \"3386\": 5, \n    \"11395\": 1\n  }, \n  \"28750\": {\n    \"3386\": 1\n  }, \n  \"28752\": {\n    \"16281\": 1\n  }, \n  \"28754\": {\n    \"3386\": 4, \n    \"3410\": 1\n  }, \n  \"28756\": {\n    \"3412\": 2\n  }, \n  \"28758\": {\n    \"3412\": 1\n  }, \n  \"28766\": {\n    \"3412\": 5\n  }, \n  \"28768\": {\n    \"3412\": 1\n  }, \n  \"28770\": {\n    \"3435\": 5, \n    \"11584\": 4\n  }, \n  \"28772\": {\n    \"3435\": 4, \n    \"11584\": 3\n  }, \n  \"28774\": {\n    \"3435\": 3, \n    \"11584\": 2\n  }, \n  \"28776\": {\n    \"3424\": 2\n  }, \n  \"28778\": {\n    \"3394\": 1\n  }, \n  \"28780\": {\n    \"3394\": 3\n  }, \n  \"28782\": {\n    \"3394\": 2\n  }, \n  \"28784\": {\n    \"3394\": 2\n  }, \n  \"28786\": {\n    \"3394\": 3\n  }, \n  \"28788\": {\n    \"25544\": 1\n  }, \n  \"28790\": {\n    \"3411\": 2\n  }, \n  \"28791\": {\n    \"3411\": 2\n  }, \n  \"28792\": {\n    \"3411\": 3\n  }, \n  \"28793\": {\n    \"3411\": 4\n  }, \n  \"28794\": {\n    \"3411\": 3\n  }, \n  \"28795\": {\n    \"3411\": 5\n  }, \n  \"28796\": {\n    \"3411\": 2\n  }, \n  \"28797\": {\n    \"3411\": 2\n  }, \n  \"28798\": {\n    \"3411\": 3\n  }, \n  \"28799\": {\n    \"3411\": 4\n  }, \n  \"28800\": {\n    \"3411\": 3\n  }, \n  \"28801\": {\n    \"3411\": 5\n  }, \n  \"28802\": {\n    \"3411\": 2\n  }, \n  \"28803\": {\n    \"3411\": 2\n  }, \n  \"28804\": {\n    \"3411\": 3\n  }, \n  \"28805\": {\n    \"3411\": 4\n  }, \n  \"28806\": {\n    \"3411\": 3\n  }, \n  \"28807\": {\n    \"3411\": 5\n  }, \n  \"28808\": {\n    \"3411\": 2\n  }, \n  \"28809\": {\n    \"3411\": 2\n  }, \n  \"28810\": {\n    \"3411\": 3\n  }, \n  \"28811\": {\n    \"3411\": 4\n  }, \n  \"28812\": {\n    \"3411\": 3\n  }, \n  \"28813\": {\n    \"3411\": 5\n  }, \n  \"28814\": {\n    \"3411\": 2\n  }, \n  \"28815\": {\n    \"3411\": 2\n  }, \n  \"28816\": {\n    \"3411\": 3\n  }, \n  \"28817\": {\n    \"3411\": 4\n  }, \n  \"28818\": {\n    \"3411\": 3\n  }, \n  \"28819\": {\n    \"3411\": 5\n  }, \n  \"28844\": {\n    \"20526\": 4, \n    \"21611\": 1, \n    \"29029\": 1\n  }, \n  \"28846\": {\n    \"20528\": 4, \n    \"21611\": 1, \n    \"29029\": 1\n  }, \n  \"28848\": {\n    \"20527\": 4, \n    \"21611\": 1, \n    \"29029\": 1\n  }, \n  \"28850\": {\n    \"20524\": 4, \n    \"21611\": 1, \n    \"29029\": 1\n  }, \n  \"28871\": {\n    \"21718\": 1\n  }, \n  \"28872\": {\n    \"21718\": 1\n  }, \n  \"28873\": {\n    \"21718\": 1\n  }, \n  \"28874\": {\n    \"21718\": 1\n  }, \n  \"28875\": {\n    \"21718\": 1\n  }, \n  \"28876\": {\n    \"21718\": 1\n  }, \n  \"28877\": {\n    \"21718\": 1\n  }, \n  \"28878\": {\n    \"21718\": 1\n  }, \n  \"28879\": {\n    \"3392\": 4\n  }, \n  \"28880\": {\n    \"28879\": 3\n  }, \n  \"28881\": {\n    \"21718\": 4\n  }, \n  \"28882\": {\n    \"21718\": 4\n  }, \n  \"28883\": {\n    \"21718\": 4\n  }, \n  \"28888\": {\n    \"26254\": 1\n  }, \n  \"28890\": {\n    \"26254\": 4\n  }, \n  \"28892\": {\n    \"26254\": 1\n  }, \n  \"28894\": {\n    \"26254\": 4\n  }, \n  \"28902\": {\n    \"21718\": 4\n  }, \n  \"28904\": {\n    \"21718\": 4\n  }, \n  \"28905\": {\n    \"21718\": 4\n  }, \n  \"28906\": {\n    \"21718\": 4\n  }, \n  \"28907\": {\n    \"21718\": 4\n  }, \n  \"28908\": {\n    \"21718\": 4\n  }, \n  \"28909\": {\n    \"21718\": 4\n  }, \n  \"28911\": {\n    \"21718\": 4\n  }, \n  \"28912\": {\n    \"21718\": 4\n  }, \n  \"28914\": {\n    \"21718\": 4\n  }, \n  \"28915\": {\n    \"21718\": 4\n  }, \n  \"28917\": {\n    \"21718\": 4\n  }, \n  \"28918\": {\n    \"21718\": 4\n  }, \n  \"28920\": {\n    \"21718\": 4\n  }, \n  \"28921\": {\n    \"21718\": 4\n  }, \n  \"28923\": {\n    \"21718\": 4\n  }, \n  \"28924\": {\n    \"21718\": 4\n  }, \n  \"28927\": {\n    \"21718\": 4\n  }, \n  \"28928\": {\n    \"21718\": 4\n  }, \n  \"28930\": {\n    \"21718\": 4\n  }, \n  \"28931\": {\n    \"21718\": 4\n  }, \n  \"28933\": {\n    \"21718\": 4\n  }, \n  \"28934\": {\n    \"21718\": 4\n  }, \n  \"28936\": {\n    \"21718\": 4\n  }, \n  \"28937\": {\n    \"21718\": 4\n  }, \n  \"28938\": {\n    \"21718\": 4\n  }, \n  \"28939\": {\n    \"21718\": 4\n  }, \n  \"28940\": {\n    \"21718\": 4\n  }, \n  \"28941\": {\n    \"21718\": 4\n  }, \n  \"28942\": {\n    \"21718\": 4\n  }, \n  \"28943\": {\n    \"21718\": 4\n  }, \n  \"28944\": {\n    \"21718\": 4\n  }, \n  \"28945\": {\n    \"21718\": 4\n  }, \n  \"28946\": {\n    \"21718\": 4\n  }, \n  \"28948\": {\n    \"21718\": 4\n  }, \n  \"28949\": {\n    \"21718\": 4\n  }, \n  \"28951\": {\n    \"21718\": 4\n  }, \n  \"28952\": {\n    \"21718\": 4\n  }, \n  \"28954\": {\n    \"21718\": 4\n  }, \n  \"28955\": {\n    \"21718\": 4\n  }, \n  \"28957\": {\n    \"21718\": 4\n  }, \n  \"28958\": {\n    \"21718\": 4\n  }, \n  \"28960\": {\n    \"21718\": 4\n  }, \n  \"28961\": {\n    \"21718\": 4\n  }, \n  \"28963\": {\n    \"21718\": 4\n  }, \n  \"28964\": {\n    \"21718\": 4\n  }, \n  \"28966\": {\n    \"21718\": 4\n  }, \n  \"28967\": {\n    \"21718\": 4\n  }, \n  \"28969\": {\n    \"21718\": 4\n  }, \n  \"28970\": {\n    \"21718\": 4\n  }, \n  \"28976\": {\n    \"21718\": 4\n  }, \n  \"28977\": {\n    \"21718\": 4\n  }, \n  \"28978\": {\n    \"21718\": 4\n  }, \n  \"28979\": {\n    \"21718\": 4\n  }, \n  \"28980\": {\n    \"21718\": 4\n  }, \n  \"28981\": {\n    \"21718\": 4\n  }, \n  \"28982\": {\n    \"21718\": 4\n  }, \n  \"28983\": {\n    \"21718\": 4\n  }, \n  \"28984\": {\n    \"21718\": 4\n  }, \n  \"28985\": {\n    \"21718\": 4\n  }, \n  \"28986\": {\n    \"21718\": 4\n  }, \n  \"28987\": {\n    \"21718\": 4\n  }, \n  \"28988\": {\n    \"21718\": 4\n  }, \n  \"28989\": {\n    \"21718\": 4\n  }, \n  \"28990\": {\n    \"21718\": 4\n  }, \n  \"28991\": {\n    \"21718\": 4\n  }, \n  \"28992\": {\n    \"21718\": 4\n  }, \n  \"28993\": {\n    \"21718\": 4\n  }, \n  \"28994\": {\n    \"21718\": 4\n  }, \n  \"29029\": {\n    \"3380\": 5, \n    \"20342\": 4\n  }, \n  \"29113\": {\n    \"16281\": 1\n  }, \n  \"29115\": {\n    \"16281\": 1\n  }, \n  \"29117\": {\n    \"16281\": 1\n  }, \n  \"29119\": {\n    \"16281\": 1\n  }, \n  \"29121\": {\n    \"16281\": 1\n  }, \n  \"29123\": {\n    \"16281\": 1\n  }, \n  \"29125\": {\n    \"16281\": 1\n  }, \n  \"29127\": {\n    \"16281\": 1\n  }, \n  \"29129\": {\n    \"16281\": 1\n  }, \n  \"29131\": {\n    \"16281\": 1\n  }, \n  \"29133\": {\n    \"16281\": 1\n  }, \n  \"29135\": {\n    \"16281\": 1\n  }, \n  \"29190\": {\n    \"25863\": 1\n  }, \n  \"29248\": {\n    \"3331\": 1\n  }, \n  \"29266\": {\n    \"3327\": 1\n  }, \n  \"29289\": {\n    \"25863\": 1\n  }, \n  \"29328\": {\n    \"3327\": 1\n  }, \n  \"29330\": {\n    \"3327\": 1\n  }, \n  \"29332\": {\n    \"3327\": 1\n  }, \n  \"29334\": {\n    \"3327\": 1\n  }, \n  \"29336\": {\n    \"3333\": 2\n  }, \n  \"29337\": {\n    \"3335\": 2\n  }, \n  \"29340\": {\n    \"3334\": 2\n  }, \n  \"29344\": {\n    \"3332\": 2\n  }, \n  \"29549\": {\n    \"25863\": 1\n  }, \n  \"29613\": {\n    \"11584\": 1\n  }, \n  \"29616\": {\n    \"3319\": 1, \n    \"21668\": 1\n  }, \n  \"29618\": {\n    \"3319\": 1, \n    \"21668\": 1\n  }, \n  \"29620\": {\n    \"3319\": 1, \n    \"21668\": 1\n  }, \n  \"29622\": {\n    \"3319\": 1, \n    \"21668\": 1\n  }, \n  \"29637\": {\n    \"3184\": 3, \n    \"3327\": 5, \n    \"22552\": 1\n  }, \n  \"29716\": {\n    \"25863\": 1\n  }, \n  \"29717\": {\n    \"25863\": 1\n  }, \n  \"29718\": {\n    \"25863\": 1\n  }, \n  \"29719\": {\n    \"25863\": 1\n  }, \n  \"29720\": {\n    \"25863\": 1\n  }, \n  \"29721\": {\n    \"25863\": 1\n  }, \n  \"29722\": {\n    \"25863\": 1\n  }, \n  \"29723\": {\n    \"25863\": 1\n  }, \n  \"29724\": {\n    \"25863\": 1\n  }, \n  \"29725\": {\n    \"25863\": 1\n  }, \n  \"29726\": {\n    \"25863\": 1\n  }, \n  \"29727\": {\n    \"25863\": 1\n  }, \n  \"29728\": {\n    \"25863\": 1\n  }, \n  \"29729\": {\n    \"25863\": 1\n  }, \n  \"29730\": {\n    \"25863\": 1\n  }, \n  \"29731\": {\n    \"25863\": 1\n  }, \n  \"29732\": {\n    \"25863\": 1\n  }, \n  \"29733\": {\n    \"25863\": 1\n  }, \n  \"29734\": {\n    \"25863\": 1\n  }, \n  \"29735\": {\n    \"25863\": 1\n  }, \n  \"29736\": {\n    \"25863\": 1\n  }, \n  \"29737\": {\n    \"25863\": 1\n  }, \n  \"29738\": {\n    \"25863\": 1\n  }, \n  \"29739\": {\n    \"25863\": 1\n  }, \n  \"29740\": {\n    \"25863\": 1\n  }, \n  \"29741\": {\n    \"25863\": 1\n  }, \n  \"29742\": {\n    \"25863\": 1\n  }, \n  \"29743\": {\n    \"25863\": 1\n  }, \n  \"29744\": {\n    \"25863\": 1\n  }, \n  \"29745\": {\n    \"25863\": 1\n  }, \n  \"29894\": {\n    \"25863\": 1\n  }, \n  \"29895\": {\n    \"25863\": 1\n  }, \n  \"29896\": {\n    \"25863\": 1\n  }, \n  \"29897\": {\n    \"25863\": 1\n  }, \n  \"29898\": {\n    \"25863\": 1\n  }, \n  \"29899\": {\n    \"25863\": 1\n  }, \n  \"29900\": {\n    \"25863\": 1\n  }, \n  \"29901\": {\n    \"25863\": 1\n  }, \n  \"29902\": {\n    \"25863\": 1\n  }, \n  \"29903\": {\n    \"25863\": 1\n  }, \n  \"29964\": {\n    \"30532\": 1\n  }, \n  \"29965\": {\n    \"30532\": 1\n  }, \n  \"29966\": {\n    \"30532\": 1\n  }, \n  \"29967\": {\n    \"30532\": 1\n  }, \n  \"29969\": {\n    \"30544\": 1\n  }, \n  \"29970\": {\n    \"30544\": 1\n  }, \n  \"29971\": {\n    \"30544\": 1\n  }, \n  \"29972\": {\n    \"30544\": 1\n  }, \n  \"29974\": {\n    \"30545\": 1\n  }, \n  \"29975\": {\n    \"30545\": 1\n  }, \n  \"29976\": {\n    \"30545\": 1\n  }, \n  \"29977\": {\n    \"30545\": 1\n  }, \n  \"29979\": {\n    \"30540\": 1\n  }, \n  \"29980\": {\n    \"30540\": 1\n  }, \n  \"29981\": {\n    \"30540\": 1\n  }, \n  \"29982\": {\n    \"30540\": 1\n  }, \n  \"29984\": {\n    \"30544\": 1, \n    \"30548\": 1, \n    \"30549\": 1, \n    \"30552\": 1, \n    \"30651\": 1\n  }, \n  \"29986\": {\n    \"30532\": 1, \n    \"30537\": 1, \n    \"30538\": 1, \n    \"30539\": 1, \n    \"30650\": 1\n  }, \n  \"29988\": {\n    \"30540\": 1, \n    \"30546\": 1, \n    \"30550\": 1, \n    \"30553\": 1, \n    \"30652\": 1\n  }, \n  \"29990\": {\n    \"30545\": 1, \n    \"30547\": 1, \n    \"30551\": 1, \n    \"30554\": 1, \n    \"30653\": 1\n  }, \n  \"30013\": {\n    \"3402\": 1, \n    \"3412\": 1\n  }, \n  \"30028\": {\n    \"3412\": 2\n  }, \n  \"30036\": {\n    \"30536\": 1\n  }, \n  \"30038\": {\n    \"30536\": 1\n  }, \n  \"30040\": {\n    \"30536\": 1\n  }, \n  \"30042\": {\n    \"30536\": 1\n  }, \n  \"30046\": {\n    \"30542\": 1\n  }, \n  \"30048\": {\n    \"30542\": 1\n  }, \n  \"30050\": {\n    \"30542\": 1\n  }, \n  \"30052\": {\n    \"30542\": 1\n  }, \n  \"30056\": {\n    \"30541\": 1\n  }, \n  \"30058\": {\n    \"30541\": 1\n  }, \n  \"30060\": {\n    \"30541\": 1\n  }, \n  \"30062\": {\n    \"30541\": 1\n  }, \n  \"30066\": {\n    \"30543\": 1\n  }, \n  \"30068\": {\n    \"30543\": 1\n  }, \n  \"30070\": {\n    \"30543\": 1\n  }, \n  \"30072\": {\n    \"30543\": 1\n  }, \n  \"30076\": {\n    \"30538\": 1\n  }, \n  \"30078\": {\n    \"30538\": 1\n  }, \n  \"30080\": {\n    \"30538\": 1\n  }, \n  \"30082\": {\n    \"30538\": 1\n  }, \n  \"30086\": {\n    \"30552\": 1\n  }, \n  \"30088\": {\n    \"30552\": 1\n  }, \n  \"30090\": {\n    \"30552\": 1\n  }, \n  \"30092\": {\n    \"30552\": 1\n  }, \n  \"30096\": {\n    \"30553\": 1\n  }, \n  \"30098\": {\n    \"30553\": 1\n  }, \n  \"30100\": {\n    \"30553\": 1\n  }, \n  \"30102\": {\n    \"30553\": 1\n  }, \n  \"30106\": {\n    \"30554\": 1\n  }, \n  \"30108\": {\n    \"30554\": 1\n  }, \n  \"30110\": {\n    \"30554\": 1\n  }, \n  \"30112\": {\n    \"30554\": 1\n  }, \n  \"30117\": {\n    \"30537\": 1\n  }, \n  \"30118\": {\n    \"30537\": 1\n  }, \n  \"30119\": {\n    \"30537\": 1\n  }, \n  \"30120\": {\n    \"30537\": 1\n  }, \n  \"30122\": {\n    \"30549\": 1\n  }, \n  \"30123\": {\n    \"30549\": 1\n  }, \n  \"30124\": {\n    \"30549\": 1\n  }, \n  \"30125\": {\n    \"30549\": 1\n  }, \n  \"30127\": {\n    \"30550\": 1\n  }, \n  \"30128\": {\n    \"30550\": 1\n  }, \n  \"30129\": {\n    \"30550\": 1\n  }, \n  \"30130\": {\n    \"30550\": 1\n  }, \n  \"30132\": {\n    \"30551\": 1\n  }, \n  \"30133\": {\n    \"30551\": 1\n  }, \n  \"30134\": {\n    \"30551\": 1\n  }, \n  \"30135\": {\n    \"30551\": 1\n  }, \n  \"30139\": {\n    \"30548\": 1\n  }, \n  \"30141\": {\n    \"30548\": 1\n  }, \n  \"30143\": {\n    \"30548\": 1\n  }, \n  \"30145\": {\n    \"30548\": 1\n  }, \n  \"30149\": {\n    \"30546\": 1\n  }, \n  \"30151\": {\n    \"30546\": 1\n  }, \n  \"30153\": {\n    \"30546\": 1\n  }, \n  \"30155\": {\n    \"30546\": 1\n  }, \n  \"30159\": {\n    \"30547\": 1\n  }, \n  \"30161\": {\n    \"30547\": 1\n  }, \n  \"30163\": {\n    \"30547\": 1\n  }, \n  \"30165\": {\n    \"30547\": 1\n  }, \n  \"30169\": {\n    \"30539\": 1\n  }, \n  \"30171\": {\n    \"30539\": 1\n  }, \n  \"30173\": {\n    \"30539\": 1\n  }, \n  \"30175\": {\n    \"30539\": 1\n  }, \n  \"30223\": {\n    \"9955\": 5\n  }, \n  \"30324\": {\n    \"3403\": 5, \n    \"11442\": 4\n  }, \n  \"30325\": {\n    \"3403\": 5, \n    \"11433\": 4\n  }, \n  \"30326\": {\n    \"3403\": 5, \n    \"11453\": 4\n  }, \n  \"30327\": {\n    \"3403\": 5, \n    \"11433\": 4\n  }, \n  \"30342\": {\n    \"3413\": 1\n  }, \n  \"30386\": {\n    \"3408\": 1\n  }, \n  \"30389\": {\n    \"11584\": 1\n  }, \n  \"30420\": {\n    \"3413\": 1\n  }, \n  \"30422\": {\n    \"3413\": 1\n  }, \n  \"30424\": {\n    \"3413\": 1\n  }, \n  \"30426\": {\n    \"3319\": 1, \n    \"3326\": 1\n  }, \n  \"30428\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"30430\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"30486\": {\n    \"3412\": 2\n  }, \n  \"30488\": {\n    \"3402\": 1, \n    \"3412\": 1\n  }, \n  \"30516\": {\n    \"21718\": 1\n  }, \n  \"30517\": {\n    \"21718\": 1\n  }, \n  \"30518\": {\n    \"21718\": 1\n  }, \n  \"30519\": {\n    \"21718\": 1\n  }, \n  \"30520\": {\n    \"21718\": 1\n  }, \n  \"30521\": {\n    \"21718\": 1\n  }, \n  \"30522\": {\n    \"13278\": 1\n  }, \n  \"30523\": {\n    \"13278\": 1\n  }, \n  \"30524\": {\n    \"13278\": 1\n  }, \n  \"30525\": {\n    \"13278\": 1\n  }, \n  \"30526\": {\n    \"13278\": 1\n  }, \n  \"30527\": {\n    \"13278\": 1\n  }, \n  \"30528\": {\n    \"13278\": 1\n  }, \n  \"30529\": {\n    \"13278\": 1\n  }, \n  \"30530\": {\n    \"13278\": 1\n  }, \n  \"30532\": {\n    \"3392\": 5, \n    \"3416\": 3\n  }, \n  \"30536\": {\n    \"3426\": 5\n  }, \n  \"30537\": {\n    \"3300\": 5, \n    \"3436\": 3\n  }, \n  \"30538\": {\n    \"3449\": 5\n  }, \n  \"30539\": {\n    \"3413\": 5\n  }, \n  \"30540\": {\n    \"3392\": 5, \n    \"3416\": 3\n  }, \n  \"30541\": {\n    \"3426\": 5\n  }, \n  \"30542\": {\n    \"3426\": 5\n  }, \n  \"30543\": {\n    \"3426\": 5\n  }, \n  \"30544\": {\n    \"3392\": 3, \n    \"3416\": 5\n  }, \n  \"30545\": {\n    \"3392\": 5, \n    \"3416\": 3\n  }, \n  \"30546\": {\n    \"3413\": 5\n  }, \n  \"30547\": {\n    \"3413\": 5\n  }, \n  \"30548\": {\n    \"3413\": 5\n  }, \n  \"30549\": {\n    \"3300\": 3, \n    \"3319\": 5\n  }, \n  \"30550\": {\n    \"3300\": 5, \n    \"3436\": 3\n  }, \n  \"30551\": {\n    \"3300\": 5, \n    \"3319\": 3\n  }, \n  \"30552\": {\n    \"3449\": 5\n  }, \n  \"30553\": {\n    \"3449\": 5\n  }, \n  \"30554\": {\n    \"3449\": 5\n  }, \n  \"30650\": {\n    \"3335\": 5\n  }, \n  \"30651\": {\n    \"3334\": 5\n  }, \n  \"30652\": {\n    \"3332\": 5\n  }, \n  \"30653\": {\n    \"3333\": 5\n  }, \n  \"30656\": {\n    \"11584\": 2\n  }, \n  \"30788\": {\n    \"3403\": 5, \n    \"11446\": 4\n  }, \n  \"30832\": {\n    \"13278\": 5\n  }, \n  \"30834\": {\n    \"21718\": 5\n  }, \n  \"30836\": {\n    \"25863\": 5\n  }, \n  \"30839\": {\n    \"3394\": 1\n  }, \n  \"30842\": {\n    \"3327\": 1\n  }, \n  \"30969\": {\n    \"21718\": 1\n  }, \n  \"30976\": {\n    \"21718\": 1\n  }, \n  \"30981\": {\n    \"21718\": 1\n  }, \n  \"30982\": {\n    \"21718\": 1\n  }, \n  \"30996\": {\n    \"25863\": 1\n  }, \n  \"31864\": {\n    \"3436\": 2, \n    \"24241\": 1\n  }, \n  \"31866\": {\n    \"3436\": 3, \n    \"33699\": 1\n  }, \n  \"31868\": {\n    \"3436\": 5, \n    \"23594\": 1\n  }, \n  \"31870\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"31872\": {\n    \"3436\": 2, \n    \"24241\": 1\n  }, \n  \"31874\": {\n    \"3436\": 3, \n    \"33699\": 1\n  }, \n  \"31876\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"31878\": {\n    \"3436\": 5, \n    \"23594\": 1\n  }, \n  \"31880\": {\n    \"3436\": 2, \n    \"24241\": 1\n  }, \n  \"31882\": {\n    \"3436\": 3, \n    \"33699\": 1\n  }, \n  \"31884\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"31886\": {\n    \"3436\": 5, \n    \"23594\": 1\n  }, \n  \"31888\": {\n    \"3436\": 2, \n    \"24241\": 1\n  }, \n  \"31890\": {\n    \"3436\": 3, \n    \"33699\": 1\n  }, \n  \"31892\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"31894\": {\n    \"3436\": 5, \n    \"23594\": 1\n  }, \n  \"31896\": {\n    \"3394\": 1\n  }, \n  \"31898\": {\n    \"3394\": 1\n  }, \n  \"31900\": {\n    \"3394\": 3\n  }, \n  \"31902\": {\n    \"3394\": 3\n  }, \n  \"31904\": {\n    \"3394\": 2\n  }, \n  \"31906\": {\n    \"3394\": 2\n  }, \n  \"31908\": {\n    \"3394\": 2\n  }, \n  \"31910\": {\n    \"3394\": 2\n  }, \n  \"31916\": {\n    \"3394\": 3\n  }, \n  \"31918\": {\n    \"3394\": 3\n  }, \n  \"31922\": {\n    \"3425\": 1\n  }, \n  \"31924\": {\n    \"3425\": 1\n  }, \n  \"31926\": {\n    \"3425\": 1\n  }, \n  \"31928\": {\n    \"3425\": 1\n  }, \n  \"31930\": {\n    \"3425\": 1\n  }, \n  \"31932\": {\n    \"3425\": 1\n  }, \n  \"31936\": {\n    \"3418\": 2\n  }, \n  \"31942\": {\n    \"23606\": 1\n  }, \n  \"31944\": {\n    \"19921\": 1\n  }, \n  \"31946\": {\n    \"3423\": 1\n  }, \n  \"31948\": {\n    \"3423\": 1\n  }, \n  \"31950\": {\n    \"3423\": 1\n  }, \n  \"31952\": {\n    \"3424\": 2\n  }, \n  \"31954\": {\n    \"3411\": 2\n  }, \n  \"31955\": {\n    \"3411\": 2\n  }, \n  \"31956\": {\n    \"3411\": 3\n  }, \n  \"31957\": {\n    \"3411\": 4\n  }, \n  \"31958\": {\n    \"3411\": 3\n  }, \n  \"31959\": {\n    \"3411\": 5\n  }, \n  \"31962\": {\n    \"3411\": 2\n  }, \n  \"31963\": {\n    \"3411\": 2\n  }, \n  \"31964\": {\n    \"3411\": 3\n  }, \n  \"31965\": {\n    \"3411\": 4\n  }, \n  \"31966\": {\n    \"3411\": 3\n  }, \n  \"31967\": {\n    \"3411\": 5\n  }, \n  \"31968\": {\n    \"3411\": 2\n  }, \n  \"31969\": {\n    \"3411\": 2\n  }, \n  \"31970\": {\n    \"3411\": 3\n  }, \n  \"31971\": {\n    \"3411\": 4\n  }, \n  \"31972\": {\n    \"3411\": 3\n  }, \n  \"31973\": {\n    \"3411\": 5\n  }, \n  \"31974\": {\n    \"3411\": 2\n  }, \n  \"31975\": {\n    \"3411\": 2\n  }, \n  \"31976\": {\n    \"3411\": 3\n  }, \n  \"31977\": {\n    \"3411\": 4\n  }, \n  \"31978\": {\n    \"3411\": 3\n  }, \n  \"31979\": {\n    \"3411\": 5\n  }, \n  \"32100\": {\n    \"13278\": 1\n  }, \n  \"32101\": {\n    \"3411\": 2\n  }, \n  \"32102\": {\n    \"3411\": 2\n  }, \n  \"32103\": {\n    \"3411\": 3\n  }, \n  \"32104\": {\n    \"3411\": 4\n  }, \n  \"32105\": {\n    \"3411\": 3\n  }, \n  \"32107\": {\n    \"3411\": 2\n  }, \n  \"32108\": {\n    \"3411\": 2\n  }, \n  \"32109\": {\n    \"3411\": 3\n  }, \n  \"32110\": {\n    \"3411\": 4\n  }, \n  \"32111\": {\n    \"3411\": 3\n  }, \n  \"32112\": {\n    \"3411\": 2\n  }, \n  \"32113\": {\n    \"3411\": 2\n  }, \n  \"32114\": {\n    \"3411\": 3\n  }, \n  \"32115\": {\n    \"3411\": 4\n  }, \n  \"32116\": {\n    \"3411\": 3\n  }, \n  \"32117\": {\n    \"3411\": 2\n  }, \n  \"32118\": {\n    \"3411\": 2\n  }, \n  \"32119\": {\n    \"3411\": 3\n  }, \n  \"32120\": {\n    \"3411\": 4\n  }, \n  \"32121\": {\n    \"3411\": 3\n  }, \n  \"32122\": {\n    \"3411\": 5\n  }, \n  \"32123\": {\n    \"3411\": 5\n  }, \n  \"32124\": {\n    \"3411\": 5\n  }, \n  \"32125\": {\n    \"3411\": 5\n  }, \n  \"32207\": {\n    \"3329\": 5, \n    \"12095\": 1\n  }, \n  \"32209\": {\n    \"3333\": 5, \n    \"16591\": 1\n  }, \n  \"32240\": {\n    \"21718\": 1\n  }, \n  \"32245\": {\n    \"11584\": 1\n  }, \n  \"32246\": {\n    \"3402\": 1, \n    \"3412\": 1\n  }, \n  \"32248\": {\n    \"3405\": 2\n  }, \n  \"32254\": {\n    \"3411\": 2\n  }, \n  \"32255\": {\n    \"3411\": 3\n  }, \n  \"32260\": {\n    \"11579\": 1\n  }, \n  \"32262\": {\n    \"3437\": 4\n  }, \n  \"32279\": {\n    \"13278\": 1\n  }, \n  \"32281\": {\n    \"21718\": 1\n  }, \n  \"32282\": {\n    \"13278\": 1\n  }, \n  \"32305\": {\n    \"3339\": 2\n  }, \n  \"32307\": {\n    \"3336\": 2\n  }, \n  \"32309\": {\n    \"3338\": 2\n  }, \n  \"32311\": {\n    \"3337\": 2\n  }, \n  \"32325\": {\n    \"23069\": 1, \n    \"32339\": 1\n  }, \n  \"32339\": {\n    \"23069\": 1\n  }, \n  \"32340\": {\n    \"23069\": 1, \n    \"32339\": 1\n  }, \n  \"32342\": {\n    \"23069\": 1, \n    \"32339\": 1\n  }, \n  \"32344\": {\n    \"23069\": 1, \n    \"32339\": 1\n  }, \n  \"32357\": {\n    \"32339\": 1\n  }, \n  \"32359\": {\n    \"32339\": 1\n  }, \n  \"32363\": {\n    \"32339\": 1\n  }, \n  \"32377\": {\n    \"21718\": 1\n  }, \n  \"32413\": {\n    \"3433\": 1\n  }, \n  \"32414\": {\n    \"19921\": 1\n  }, \n  \"32416\": {\n    \"3434\": 1\n  }, \n  \"32417\": {\n    \"3434\": 1\n  }, \n  \"32435\": {\n    \"3319\": 5, \n    \"3326\": 5\n  }, \n  \"32436\": {\n    \"3319\": 1, \n    \"32435\": 1\n  }, \n  \"32438\": {\n    \"3319\": 1, \n    \"32435\": 1\n  }, \n  \"32440\": {\n    \"3319\": 1, \n    \"32435\": 1\n  }, \n  \"32442\": {\n    \"3319\": 1, \n    \"32435\": 1\n  }, \n  \"32444\": {\n    \"3319\": 5, \n    \"32435\": 1\n  }, \n  \"32465\": {\n    \"3436\": 1\n  }, \n  \"32772\": {\n    \"3416\": 2\n  }, \n  \"32774\": {\n    \"3416\": 2\n  }, \n  \"32780\": {\n    \"3416\": 4\n  }, \n  \"32782\": {\n    \"3323\": 1\n  }, \n  \"32787\": {\n    \"3436\": 1, \n    \"3440\": 1, \n    \"25863\": 2\n  }, \n  \"32788\": {\n    \"3330\": 5, \n    \"12095\": 1\n  }, \n  \"32790\": {\n    \"3334\": 5, \n    \"12096\": 1\n  }, \n  \"32797\": {\n    \"3394\": 4\n  }, \n  \"32809\": {\n    \"3394\": 1\n  }, \n  \"32811\": {\n    \"3340\": 1\n  }, \n  \"32840\": {\n    \"33093\": 1\n  }, \n  \"32842\": {\n    \"33093\": 1\n  }, \n  \"32844\": {\n    \"33093\": 1\n  }, \n  \"32846\": {\n    \"33093\": 1\n  }, \n  \"32848\": {\n    \"33093\": 1\n  }, \n  \"32872\": {\n    \"33093\": 1\n  }, \n  \"32874\": {\n    \"33091\": 1\n  }, \n  \"32876\": {\n    \"33092\": 1\n  }, \n  \"32878\": {\n    \"33094\": 1\n  }, \n  \"32880\": {\n    \"32918\": 1\n  }, \n  \"32918\": {\n    \"3327\": 1\n  }, \n  \"32919\": {\n    \"3436\": 1\n  }, \n  \"32921\": {\n    \"3436\": 1\n  }, \n  \"32923\": {\n    \"3318\": 1, \n    \"3436\": 1\n  }, \n  \"32925\": {\n    \"3318\": 1, \n    \"3436\": 1\n  }, \n  \"32927\": {\n    \"3437\": 3\n  }, \n  \"32929\": {\n    \"3437\": 3\n  }, \n  \"32931\": {\n    \"3437\": 3\n  }, \n  \"32933\": {\n    \"3437\": 3\n  }, \n  \"32935\": {\n    \"23606\": 1\n  }, \n  \"32937\": {\n    \"23606\": 1\n  }, \n  \"32939\": {\n    \"23606\": 1\n  }, \n  \"32941\": {\n    \"23606\": 1\n  }, \n  \"32943\": {\n    \"12305\": 3\n  }, \n  \"32945\": {\n    \"12305\": 3\n  }, \n  \"32947\": {\n    \"12305\": 3\n  }, \n  \"32949\": {\n    \"12305\": 3\n  }, \n  \"32951\": {\n    \"24613\": 1\n  }, \n  \"32953\": {\n    \"24613\": 1\n  }, \n  \"32955\": {\n    \"24613\": 1\n  }, \n  \"32957\": {\n    \"24613\": 1\n  }, \n  \"32983\": {\n    \"3330\": 1\n  }, \n  \"32985\": {\n    \"3328\": 1\n  }, \n  \"32987\": {\n    \"3331\": 1\n  }, \n  \"32989\": {\n    \"3329\": 1\n  }, \n  \"32999\": {\n    \"3426\": 4\n  }, \n  \"33000\": {\n    \"3426\": 4\n  }, \n  \"33001\": {\n    \"3426\": 4\n  }, \n  \"33002\": {\n    \"3426\": 4\n  }, \n  \"33068\": {\n    \"9955\": 5\n  }, \n  \"33076\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"33078\": {\n    \"3392\": 3\n  }, \n  \"33079\": {\n    \"3327\": 1\n  }, \n  \"33081\": {\n    \"3327\": 1\n  }, \n  \"33083\": {\n    \"3327\": 1\n  }, \n  \"33087\": {\n    \"3402\": 1\n  }, \n  \"33091\": {\n    \"3331\": 3\n  }, \n  \"33092\": {\n    \"3330\": 3\n  }, \n  \"33093\": {\n    \"3328\": 3\n  }, \n  \"33094\": {\n    \"3329\": 3\n  }, \n  \"33095\": {\n    \"3327\": 3, \n    \"3335\": 3\n  }, \n  \"33096\": {\n    \"3327\": 3, \n    \"3334\": 3\n  }, \n  \"33097\": {\n    \"3327\": 3, \n    \"3332\": 3\n  }, \n  \"33098\": {\n    \"3327\": 3, \n    \"3333\": 3\n  }, \n  \"33099\": {\n    \"33094\": 1\n  }, \n  \"33101\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"33103\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"33111\": {\n    \"3402\": 1\n  }, \n  \"33147\": {\n    \"13278\": 1\n  }, \n  \"33151\": {\n    \"33097\": 2\n  }, \n  \"33153\": {\n    \"33096\": 2\n  }, \n  \"33155\": {\n    \"33095\": 2\n  }, \n  \"33157\": {\n    \"33098\": 2\n  }, \n  \"33176\": {\n    \"25811\": 2\n  }, \n  \"33178\": {\n    \"25810\": 2\n  }, \n  \"33180\": {\n    \"25739\": 2\n  }, \n  \"33186\": {\n    \"13278\": 1\n  }, \n  \"33187\": {\n    \"21718\": 1\n  }, \n  \"33188\": {\n    \"21718\": 1\n  }, \n  \"33190\": {\n    \"3331\": 1\n  }, \n  \"33197\": {\n    \"25811\": 5\n  }, \n  \"33199\": {\n    \"25810\": 5\n  }, \n  \"33201\": {\n    \"25739\": 5\n  }, \n  \"33233\": {\n    \"13278\": 1\n  }, \n  \"33234\": {\n    \"13278\": 1\n  }, \n  \"33235\": {\n    \"21718\": 1\n  }, \n  \"33236\": {\n    \"21718\": 1\n  }, \n  \"33237\": {\n    \"13278\": 1\n  }, \n  \"33238\": {\n    \"13278\": 1\n  }, \n  \"33239\": {\n    \"13278\": 1\n  }, \n  \"33240\": {\n    \"13278\": 1\n  }, \n  \"33241\": {\n    \"21718\": 1\n  }, \n  \"33242\": {\n    \"21718\": 1\n  }, \n  \"33243\": {\n    \"21718\": 1\n  }, \n  \"33244\": {\n    \"21718\": 1\n  }, \n  \"33245\": {\n    \"13278\": 1\n  }, \n  \"33246\": {\n    \"13278\": 1\n  }, \n  \"33247\": {\n    \"13278\": 1\n  }, \n  \"33248\": {\n    \"13278\": 1\n  }, \n  \"33249\": {\n    \"21718\": 1\n  }, \n  \"33251\": {\n    \"21718\": 1\n  }, \n  \"33252\": {\n    \"21718\": 1\n  }, \n  \"33253\": {\n    \"21718\": 1\n  }, \n  \"33254\": {\n    \"13278\": 1\n  }, \n  \"33255\": {\n    \"13278\": 1\n  }, \n  \"33256\": {\n    \"13278\": 1\n  }, \n  \"33257\": {\n    \"13278\": 1\n  }, \n  \"33258\": {\n    \"21718\": 1\n  }, \n  \"33259\": {\n    \"21718\": 1\n  }, \n  \"33260\": {\n    \"21718\": 1\n  }, \n  \"33261\": {\n    \"21718\": 1\n  }, \n  \"33262\": {\n    \"13278\": 1\n  }, \n  \"33263\": {\n    \"13278\": 1\n  }, \n  \"33264\": {\n    \"13278\": 1\n  }, \n  \"33265\": {\n    \"13278\": 1\n  }, \n  \"33266\": {\n    \"21718\": 1\n  }, \n  \"33267\": {\n    \"21718\": 1\n  }, \n  \"33268\": {\n    \"21718\": 1\n  }, \n  \"33269\": {\n    \"21718\": 1\n  }, \n  \"33270\": {\n    \"3412\": 3\n  }, \n  \"33272\": {\n    \"3412\": 5\n  }, \n  \"33375\": {\n    \"9955\": 5, \n    \"13278\": 1, \n    \"21718\": 1\n  }, \n  \"33393\": {\n    \"3411\": 2\n  }, \n  \"33394\": {\n    \"3411\": 2\n  }, \n  \"33395\": {\n    \"3332\": 5, \n    \"3333\": 5, \n    \"22761\": 1\n  }, \n  \"33397\": {\n    \"3328\": 5, \n    \"3329\": 5, \n    \"12093\": 1\n  }, \n  \"33399\": {\n    \"24242\": 1\n  }, \n  \"33400\": {\n    \"3424\": 5, \n    \"11207\": 5\n  }, \n  \"33403\": {\n    \"3352\": 5, \n    \"3411\": 5, \n    \"11569\": 5\n  }, \n  \"33404\": {\n    \"3411\": 5, \n    \"11569\": 5, \n    \"11572\": 5\n  }, \n  \"33405\": {\n    \"3351\": 5, \n    \"3411\": 5, \n    \"11572\": 5\n  }, \n  \"33406\": {\n    \"3351\": 5, \n    \"3352\": 5, \n    \"3411\": 5\n  }, \n  \"33407\": {\n    \"24242\": 5\n  }, \n  \"33440\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33441\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33442\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33446\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33448\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33450\": {\n    \"3319\": 3, \n    \"20211\": 1\n  }, \n  \"33452\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33453\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33454\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33455\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33456\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33457\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33458\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33459\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33461\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33462\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33463\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33464\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33465\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33466\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"33467\": {\n    \"3443\": 4\n  }, \n  \"33468\": {\n    \"3328\": 3, \n    \"3331\": 3\n  }, \n  \"33470\": {\n    \"3332\": 2, \n    \"3335\": 2\n  }, \n  \"33472\": {\n    \"3336\": 1, \n    \"3339\": 1\n  }, \n  \"33476\": {\n    \"11584\": 3\n  }, \n  \"33477\": {\n    \"11584\": 2\n  }, \n  \"33486\": {\n    \"9955\": 5\n  }, \n  \"33512\": {\n    \"9955\": 5\n  }, \n  \"33513\": {\n    \"3327\": 1\n  }, \n  \"33516\": {\n    \"3411\": 2\n  }, \n  \"33525\": {\n    \"3411\": 2\n  }, \n  \"33526\": {\n    \"3411\": 3\n  }, \n  \"33527\": {\n    \"3411\": 4\n  }, \n  \"33528\": {\n    \"3411\": 3\n  }, \n  \"33529\": {\n    \"3411\": 5\n  }, \n  \"33530\": {\n    \"21718\": 1\n  }, \n  \"33531\": {\n    \"21718\": 1\n  }, \n  \"33532\": {\n    \"21718\": 1\n  }, \n  \"33533\": {\n    \"21718\": 1\n  }, \n  \"33534\": {\n    \"21718\": 1\n  }, \n  \"33553\": {\n    \"3332\": 2, \n    \"3335\": 2\n  }, \n  \"33555\": {\n    \"3411\": 2\n  }, \n  \"33557\": {\n    \"3411\": 2\n  }, \n  \"33559\": {\n    \"3411\": 3\n  }, \n  \"33561\": {\n    \"3411\": 4\n  }, \n  \"33563\": {\n    \"3411\": 3\n  }, \n  \"33565\": {\n    \"3411\": 5\n  }, \n  \"33581\": {\n    \"11584\": 2\n  }, \n  \"33583\": {\n    \"11584\": 2\n  }, \n  \"33585\": {\n    \"11584\": 2\n  }, \n  \"33587\": {\n    \"11584\": 3\n  }, \n  \"33589\": {\n    \"11584\": 3\n  }, \n  \"33591\": {\n    \"11584\": 1\n  }, \n  \"33595\": {\n    \"11584\": 2\n  }, \n  \"33608\": {\n    \"11584\": 2\n  }, \n  \"33610\": {\n    \"11584\": 2\n  }, \n  \"33623\": {\n    \"3339\": 1\n  }, \n  \"33625\": {\n    \"3339\": 1\n  }, \n  \"33627\": {\n    \"3338\": 1\n  }, \n  \"33629\": {\n    \"3338\": 1\n  }, \n  \"33631\": {\n    \"3337\": 1\n  }, \n  \"33633\": {\n    \"3337\": 1\n  }, \n  \"33635\": {\n    \"3336\": 1\n  }, \n  \"33637\": {\n    \"3336\": 1\n  }, \n  \"33639\": {\n    \"3335\": 1\n  }, \n  \"33641\": {\n    \"3335\": 1\n  }, \n  \"33643\": {\n    \"3334\": 1\n  }, \n  \"33645\": {\n    \"3334\": 1\n  }, \n  \"33647\": {\n    \"3333\": 1\n  }, \n  \"33649\": {\n    \"3333\": 1\n  }, \n  \"33651\": {\n    \"3332\": 1\n  }, \n  \"33653\": {\n    \"3332\": 1\n  }, \n  \"33655\": {\n    \"3331\": 1\n  }, \n  \"33657\": {\n    \"3331\": 1\n  }, \n  \"33659\": {\n    \"3330\": 1\n  }, \n  \"33661\": {\n    \"3330\": 1\n  }, \n  \"33663\": {\n    \"3329\": 1\n  }, \n  \"33665\": {\n    \"3329\": 1\n  }, \n  \"33667\": {\n    \"3328\": 1\n  }, \n  \"33669\": {\n    \"3328\": 1\n  }, \n  \"33671\": {\n    \"3436\": 5, \n    \"3439\": 3, \n    \"27902\": 3\n  }, \n  \"33673\": {\n    \"3328\": 5, \n    \"3330\": 5, \n    \"12092\": 1\n  }, \n  \"33675\": {\n    \"3332\": 5, \n    \"3334\": 5, \n    \"22761\": 1\n  }, \n  \"33677\": {\n    \"3328\": 2\n  }, \n  \"33681\": {\n    \"3436\": 5, \n    \"3441\": 1\n  }, \n  \"33683\": {\n    \"17940\": 5, \n    \"22551\": 1\n  }, \n  \"33685\": {\n    \"29637\": 1\n  }, \n  \"33687\": {\n    \"3456\": 1, \n    \"20533\": 2, \n    \"28374\": 1\n  }, \n  \"33689\": {\n    \"3340\": 1\n  }, \n  \"33691\": {\n    \"3342\": 1\n  }, \n  \"33693\": {\n    \"3341\": 1\n  }, \n  \"33695\": {\n    \"3343\": 1\n  }, \n  \"33697\": {\n    \"32918\": 5, \n    \"33856\": 1\n  }, \n  \"33699\": {\n    \"3436\": 3\n  }, \n  \"33704\": {\n    \"3436\": 5, \n    \"3439\": 2, \n    \"27902\": 3\n  }, \n  \"33706\": {\n    \"3436\": 5, \n    \"3439\": 1, \n    \"27902\": 3\n  }, \n  \"33708\": {\n    \"3436\": 5, \n    \"3439\": 5, \n    \"27902\": 4\n  }, \n  \"33710\": {\n    \"3436\": 5, \n    \"3439\": 5, \n    \"27902\": 4\n  }, \n  \"33712\": {\n    \"3436\": 5, \n    \"3439\": 5, \n    \"27902\": 4\n  }, \n  \"33762\": {\n    \"9955\": 5\n  }, \n  \"33807\": {\n    \"3411\": 2\n  }, \n  \"33808\": {\n    \"3411\": 2\n  }, \n  \"33816\": {\n    \"3328\": 3, \n    \"3330\": 3\n  }, \n  \"33818\": {\n    \"3332\": 2, \n    \"3334\": 2\n  }, \n  \"33820\": {\n    \"3336\": 1, \n    \"3338\": 1\n  }, \n  \"33822\": {\n    \"23606\": 1\n  }, \n  \"33824\": {\n    \"23606\": 4\n  }, \n  \"33826\": {\n    \"23606\": 1\n  }, \n  \"33828\": {\n    \"23606\": 1\n  }, \n  \"33830\": {\n    \"23606\": 1\n  }, \n  \"33832\": {\n    \"23606\": 1\n  }, \n  \"33834\": {\n    \"23606\": 1\n  }, \n  \"33836\": {\n    \"23606\": 1\n  }, \n  \"33838\": {\n    \"23606\": 1\n  }, \n  \"33840\": {\n    \"23606\": 1\n  }, \n  \"33842\": {\n    \"3318\": 1, \n    \"3436\": 1\n  }, \n  \"33844\": {\n    \"3318\": 1, \n    \"3436\": 1\n  }, \n  \"33846\": {\n    \"3318\": 1, \n    \"3436\": 1\n  }, \n  \"33848\": {\n    \"3318\": 1, \n    \"3436\": 1\n  }, \n  \"33850\": {\n    \"12305\": 3\n  }, \n  \"33852\": {\n    \"12305\": 3\n  }, \n  \"33856\": {\n    \"3327\": 3, \n    \"3380\": 5, \n    \"3432\": 5\n  }, \n  \"33867\": {\n    \"11584\": 1\n  }, \n  \"33869\": {\n    \"33097\": 1\n  }, \n  \"33871\": {\n    \"33098\": 1\n  }, \n  \"33873\": {\n    \"33096\": 1\n  }, \n  \"33875\": {\n    \"33095\": 1\n  }, \n  \"33877\": {\n    \"33093\": 1\n  }, \n  \"33879\": {\n    \"33091\": 1\n  }, \n  \"33881\": {\n    \"33092\": 1\n  }, \n  \"33883\": {\n    \"33094\": 1\n  }, \n  \"33915\": {\n    \"4385\": 1\n  }, \n  \"33917\": {\n    \"3411\": 2\n  }, \n  \"33918\": {\n    \"3411\": 2\n  }, \n  \"33919\": {\n    \"3411\": 3\n  }, \n  \"33920\": {\n    \"3411\": 4\n  }, \n  \"33921\": {\n    \"3411\": 3\n  }, \n  \"33922\": {\n    \"3411\": 5\n  }, \n  \"33923\": {\n    \"3411\": 2\n  }, \n  \"33924\": {\n    \"3411\": 2\n  }, \n  \"33925\": {\n    \"3411\": 3\n  }, \n  \"33926\": {\n    \"3411\": 4\n  }, \n  \"33927\": {\n    \"3411\": 3\n  }, \n  \"33928\": {\n    \"3411\": 5\n  }, \n  \"33929\": {\n    \"3411\": 2\n  }, \n  \"33930\": {\n    \"3411\": 2\n  }, \n  \"33931\": {\n    \"3411\": 3\n  }, \n  \"33932\": {\n    \"3411\": 4\n  }, \n  \"33933\": {\n    \"3411\": 3\n  }, \n  \"33934\": {\n    \"3411\": 5\n  }, \n  \"33935\": {\n    \"3411\": 2\n  }, \n  \"33936\": {\n    \"3411\": 2\n  }, \n  \"33937\": {\n    \"3411\": 3\n  }, \n  \"33938\": {\n    \"3411\": 4\n  }, \n  \"33939\": {\n    \"3411\": 3\n  }, \n  \"33940\": {\n    \"3411\": 5\n  }, \n  \"33941\": {\n    \"3411\": 2\n  }, \n  \"33942\": {\n    \"3411\": 2\n  }, \n  \"33943\": {\n    \"3411\": 3\n  }, \n  \"33944\": {\n    \"3411\": 4\n  }, \n  \"33945\": {\n    \"3411\": 3\n  }, \n  \"33946\": {\n    \"3411\": 5\n  }, \n  \"33947\": {\n    \"3411\": 2\n  }, \n  \"33948\": {\n    \"3411\": 2\n  }, \n  \"33949\": {\n    \"3411\": 3\n  }, \n  \"33950\": {\n    \"3411\": 4\n  }, \n  \"33951\": {\n    \"3411\": 3\n  }, \n  \"33952\": {\n    \"3411\": 5\n  }, \n  \"33953\": {\n    \"3411\": 2\n  }, \n  \"33954\": {\n    \"3411\": 2\n  }, \n  \"33955\": {\n    \"3411\": 3\n  }, \n  \"33956\": {\n    \"3411\": 4\n  }, \n  \"33957\": {\n    \"3411\": 3\n  }, \n  \"33958\": {\n    \"3411\": 5\n  }, \n  \"33959\": {\n    \"3411\": 2\n  }, \n  \"33960\": {\n    \"3411\": 2\n  }, \n  \"33961\": {\n    \"3411\": 3\n  }, \n  \"33962\": {\n    \"3411\": 4\n  }, \n  \"33963\": {\n    \"3411\": 3\n  }, \n  \"33964\": {\n    \"3411\": 5\n  }, \n  \"33965\": {\n    \"3411\": 2\n  }, \n  \"33966\": {\n    \"3411\": 2\n  }, \n  \"33967\": {\n    \"3411\": 3\n  }, \n  \"33968\": {\n    \"3411\": 4\n  }, \n  \"33969\": {\n    \"3411\": 3\n  }, \n  \"33970\": {\n    \"3411\": 5\n  }, \n  \"33971\": {\n    \"3411\": 2\n  }, \n  \"33972\": {\n    \"3411\": 2\n  }, \n  \"33973\": {\n    \"3411\": 3\n  }, \n  \"33974\": {\n    \"3411\": 4\n  }, \n  \"33975\": {\n    \"3411\": 3\n  }, \n  \"33976\": {\n    \"3411\": 5\n  }, \n  \"33981\": {\n    \"3455\": 1\n  }, \n  \"33983\": {\n    \"3455\": 1\n  }, \n  \"33985\": {\n    \"3455\": 1\n  }, \n  \"34118\": {\n    \"3336\": 1\n  }, \n  \"34120\": {\n    \"11584\": 3\n  }, \n  \"34122\": {\n    \"21610\": 1\n  }, \n  \"34124\": {\n    \"21610\": 1\n  }, \n  \"34126\": {\n    \"21610\": 1\n  }, \n  \"34151\": {\n    \"3336\": 1, \n    \"3338\": 1\n  }, \n  \"34213\": {\n    \"3339\": 1\n  }, \n  \"34215\": {\n    \"3339\": 1\n  }, \n  \"34217\": {\n    \"3339\": 1\n  }, \n  \"34219\": {\n    \"3339\": 5, \n    \"28667\": 1\n  }, \n  \"34221\": {\n    \"3339\": 5, \n    \"28667\": 1\n  }, \n  \"34223\": {\n    \"3339\": 5, \n    \"28667\": 1\n  }, \n  \"34225\": {\n    \"3338\": 1\n  }, \n  \"34227\": {\n    \"3338\": 1\n  }, \n  \"34229\": {\n    \"3338\": 1\n  }, \n  \"34231\": {\n    \"3338\": 5, \n    \"28667\": 1\n  }, \n  \"34233\": {\n    \"3338\": 5, \n    \"28667\": 1\n  }, \n  \"34235\": {\n    \"3338\": 5, \n    \"28667\": 1\n  }, \n  \"34237\": {\n    \"3336\": 1\n  }, \n  \"34239\": {\n    \"3336\": 1\n  }, \n  \"34241\": {\n    \"3336\": 5, \n    \"28667\": 1\n  }, \n  \"34243\": {\n    \"3336\": 5, \n    \"28667\": 1\n  }, \n  \"34245\": {\n    \"3336\": 5, \n    \"28667\": 1\n  }, \n  \"34247\": {\n    \"3337\": 1\n  }, \n  \"34249\": {\n    \"3337\": 1\n  }, \n  \"34251\": {\n    \"3337\": 1\n  }, \n  \"34253\": {\n    \"3337\": 5, \n    \"28667\": 1\n  }, \n  \"34255\": {\n    \"3337\": 5, \n    \"28667\": 1\n  }, \n  \"34257\": {\n    \"3337\": 5, \n    \"28667\": 1\n  }, \n  \"34260\": {\n    \"3412\": 3\n  }, \n  \"34264\": {\n    \"28073\": 4\n  }, \n  \"34271\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"34272\": {\n    \"3300\": 1, \n    \"3303\": 5, \n    \"12213\": 1\n  }, \n  \"34274\": {\n    \"3300\": 3, \n    \"3306\": 5, \n    \"12214\": 1\n  }, \n  \"34276\": {\n    \"3300\": 5, \n    \"3309\": 5, \n    \"12215\": 1\n  }, \n  \"34278\": {\n    \"3300\": 1, \n    \"3301\": 5, \n    \"12210\": 1\n  }, \n  \"34280\": {\n    \"3300\": 3, \n    \"3304\": 5, \n    \"12211\": 1\n  }, \n  \"34282\": {\n    \"3300\": 5, \n    \"3307\": 5, \n    \"12212\": 1\n  }, \n  \"34284\": {\n    \"3300\": 2, \n    \"3302\": 5, \n    \"11084\": 1\n  }, \n  \"34286\": {\n    \"3300\": 3, \n    \"3305\": 5, \n    \"12208\": 1\n  }, \n  \"34288\": {\n    \"3300\": 5, \n    \"3308\": 5, \n    \"12209\": 1\n  }, \n  \"34290\": {\n    \"3319\": 2, \n    \"20209\": 1\n  }, \n  \"34292\": {\n    \"3319\": 4, \n    \"25718\": 1\n  }, \n  \"34294\": {\n    \"3319\": 4, \n    \"20213\": 1\n  }, \n  \"34299\": {\n    \"13278\": 1\n  }, \n  \"34300\": {\n    \"13278\": 1\n  }, \n  \"34301\": {\n    \"21718\": 1\n  }, \n  \"34305\": {\n    \"21718\": 1\n  }, \n  \"34315\": {\n    \"21718\": 1\n  }, \n  \"34317\": {\n    \"34390\": 1\n  }, \n  \"34327\": {\n    \"3184\": 3, \n    \"20342\": 5\n  }, \n  \"34328\": {\n    \"34327\": 1\n  }, \n  \"34375\": {\n    \"21718\": 1\n  }, \n  \"34378\": {\n    \"13278\": 1\n  }, \n  \"34384\": {\n    \"21718\": 1\n  }, \n  \"34385\": {\n    \"13278\": 1\n  }, \n  \"34390\": {\n    \"33091\": 5\n  }, \n  \"34403\": {\n    \"21718\": 1\n  }, \n  \"34406\": {\n    \"21718\": 1\n  }, \n  \"34438\": {\n    \"21718\": 1\n  }, \n  \"34441\": {\n    \"3336\": 1\n  }, \n  \"34443\": {\n    \"3328\": 1\n  }, \n  \"34445\": {\n    \"3332\": 1\n  }, \n  \"34447\": {\n    \"21718\": 1\n  }, \n  \"34453\": {\n    \"21718\": 1\n  }, \n  \"34457\": {\n    \"3339\": 1\n  }, \n  \"34459\": {\n    \"3339\": 1\n  }, \n  \"34461\": {\n    \"3336\": 1, \n    \"3337\": 1\n  }, \n  \"34463\": {\n    \"3336\": 1, \n    \"3338\": 1\n  }, \n  \"34465\": {\n    \"3336\": 1\n  }, \n  \"34467\": {\n    \"3336\": 1\n  }, \n  \"34469\": {\n    \"3338\": 1\n  }, \n  \"34471\": {\n    \"3339\": 1\n  }, \n  \"34473\": {\n    \"33096\": 1\n  }, \n  \"34475\": {\n    \"3332\": 2, \n    \"3334\": 2\n  }, \n  \"34477\": {\n    \"3334\": 5, \n    \"16591\": 1\n  }, \n  \"34479\": {\n    \"3332\": 5, \n    \"16591\": 1\n  }, \n  \"34481\": {\n    \"3394\": 1\n  }, \n  \"34483\": {\n    \"3394\": 1\n  }, \n  \"34485\": {\n    \"3394\": 1\n  }, \n  \"34487\": {\n    \"3394\": 1\n  }, \n  \"34489\": {\n    \"3394\": 1\n  }, \n  \"34496\": {\n    \"3327\": 1\n  }, \n  \"34503\": {\n    \"21718\": 1\n  }, \n  \"34504\": {\n    \"21718\": 1\n  }, \n  \"34505\": {\n    \"21718\": 1\n  }, \n  \"34506\": {\n    \"21718\": 1\n  }, \n  \"34507\": {\n    \"21718\": 1\n  }, \n  \"34508\": {\n    \"21718\": 1\n  }, \n  \"34509\": {\n    \"21718\": 1\n  }, \n  \"34510\": {\n    \"21718\": 1\n  }, \n  \"34511\": {\n    \"21718\": 1\n  }, \n  \"34512\": {\n    \"21718\": 1\n  }, \n  \"34513\": {\n    \"21718\": 1\n  }, \n  \"34514\": {\n    \"21718\": 1\n  }, \n  \"34515\": {\n    \"21718\": 1\n  }, \n  \"34516\": {\n    \"21718\": 1\n  }, \n  \"34517\": {\n    \"21718\": 1\n  }, \n  \"34518\": {\n    \"21718\": 1\n  }, \n  \"34519\": {\n    \"21718\": 1\n  }, \n  \"34520\": {\n    \"21718\": 1\n  }, \n  \"34521\": {\n    \"21718\": 1\n  }, \n  \"34522\": {\n    \"21718\": 1\n  }, \n  \"34523\": {\n    \"21718\": 1\n  }, \n  \"34524\": {\n    \"21718\": 1\n  }, \n  \"34525\": {\n    \"21718\": 1\n  }, \n  \"34526\": {\n    \"21718\": 1\n  }, \n  \"34527\": {\n    \"21718\": 1\n  }, \n  \"34528\": {\n    \"21718\": 1\n  }, \n  \"34529\": {\n    \"21718\": 1\n  }, \n  \"34530\": {\n    \"21718\": 1\n  }, \n  \"34531\": {\n    \"21718\": 1\n  }, \n  \"34532\": {\n    \"21718\": 1\n  }, \n  \"34533\": {\n    \"33094\": 5\n  }, \n  \"34562\": {\n    \"34533\": 1\n  }, \n  \"34572\": {\n    \"21718\": 1\n  }, \n  \"34590\": {\n    \"3327\": 1\n  }, \n  \"34593\": {\n    \"24242\": 2\n  }, \n  \"34595\": {\n    \"24242\": 4\n  }, \n  \"34826\": {\n    \"9955\": 1, \n    \"24242\": 2\n  }, \n  \"34828\": {\n    \"35680\": 1\n  }, \n  \"35656\": {\n    \"3450\": 1\n  }, \n  \"35657\": {\n    \"3450\": 1\n  }, \n  \"35658\": {\n    \"3454\": 1\n  }, \n  \"35659\": {\n    \"3454\": 1\n  }, \n  \"35660\": {\n    \"3454\": 1\n  }, \n  \"35661\": {\n    \"3454\": 1\n  }, \n  \"35662\": {\n    \"3454\": 1\n  }, \n  \"35680\": {\n    \"33092\": 5\n  }, \n  \"35683\": {\n    \"35685\": 1\n  }, \n  \"35685\": {\n    \"33093\": 5\n  }, \n  \"35770\": {\n    \"3318\": 1\n  }, \n  \"35771\": {\n    \"3318\": 4\n  }, \n  \"35774\": {\n    \"3318\": 1\n  }, \n  \"35779\": {\n    \"3330\": 5, \n    \"3331\": 5, \n    \"12092\": 1\n  }, \n  \"35781\": {\n    \"3334\": 5, \n    \"3335\": 5, \n    \"28609\": 1\n  }, \n  \"35788\": {\n    \"12441\": 1\n  }, \n  \"35789\": {\n    \"12441\": 1\n  }, \n  \"35790\": {\n    \"12441\": 4\n  }, \n  \"35927\": {\n    \"37798\": 1\n  }, \n  \"35929\": {\n    \"37799\": 1\n  }, \n  \"35935\": {\n    \"37797\": 1\n  }, \n  \"35936\": {\n    \"37797\": 1\n  }, \n  \"35937\": {\n    \"37797\": 1\n  }, \n  \"35938\": {\n    \"37796\": 1\n  }, \n  \"35939\": {\n    \"37799\": 1\n  }, \n  \"35951\": {\n    \"37798\": 1\n  }, \n  \"35952\": {\n    \"37798\": 1\n  }, \n  \"35953\": {\n    \"37798\": 1\n  }, \n  \"35954\": {\n    \"37798\": 1\n  }, \n  \"35955\": {\n    \"37798\": 1\n  }, \n  \"35957\": {\n    \"37798\": 1\n  }, \n  \"35958\": {\n    \"37798\": 1\n  }, \n  \"35966\": {\n    \"37798\": 1\n  }, \n  \"35967\": {\n    \"37798\": 1\n  }, \n  \"36908\": {\n    \"3405\": 1\n  }, \n  \"36909\": {\n    \"3405\": 1\n  }, \n  \"36910\": {\n    \"3405\": 1\n  }, \n  \"36911\": {\n    \"3405\": 1\n  }, \n  \"36912\": {\n    \"3405\": 1\n  }, \n  \"37135\": {\n    \"32918\": 5, \n    \"33856\": 1\n  }, \n  \"37136\": {\n    \"9955\": 5\n  }, \n  \"37146\": {\n    \"26252\": 1\n  }, \n  \"37147\": {\n    \"26252\": 1\n  }, \n  \"37148\": {\n    \"26252\": 1\n  }, \n  \"37149\": {\n    \"26252\": 1\n  }, \n  \"37150\": {\n    \"26252\": 1\n  }, \n  \"37151\": {\n    \"26252\": 1\n  }, \n  \"37152\": {\n    \"26252\": 1\n  }, \n  \"37153\": {\n    \"26252\": 1\n  }, \n  \"37154\": {\n    \"26252\": 1\n  }, \n  \"37155\": {\n    \"26252\": 1\n  }, \n  \"37156\": {\n    \"26252\": 1\n  }, \n  \"37157\": {\n    \"26252\": 1\n  }, \n  \"37158\": {\n    \"26252\": 1\n  }, \n  \"37159\": {\n    \"26252\": 1\n  }, \n  \"37160\": {\n    \"26252\": 1\n  }, \n  \"37161\": {\n    \"26252\": 1\n  }, \n  \"37162\": {\n    \"26252\": 1\n  }, \n  \"37163\": {\n    \"26252\": 1\n  }, \n  \"37164\": {\n    \"26252\": 1\n  }, \n  \"37165\": {\n    \"26252\": 1\n  }, \n  \"37166\": {\n    \"26252\": 1\n  }, \n  \"37167\": {\n    \"26252\": 1\n  }, \n  \"37168\": {\n    \"26252\": 1\n  }, \n  \"37169\": {\n    \"26252\": 1\n  }, \n  \"37170\": {\n    \"26252\": 1\n  }, \n  \"37171\": {\n    \"26252\": 1\n  }, \n  \"37172\": {\n    \"26252\": 1\n  }, \n  \"37173\": {\n    \"26252\": 1\n  }, \n  \"37174\": {\n    \"26252\": 1\n  }, \n  \"37175\": {\n    \"26252\": 1\n  }, \n  \"37178\": {\n    \"26252\": 1\n  }, \n  \"37179\": {\n    \"26252\": 1\n  }, \n  \"37180\": {\n    \"26252\": 1\n  }, \n  \"37181\": {\n    \"26252\": 1\n  }, \n  \"37182\": {\n    \"26252\": 1\n  }, \n  \"37183\": {\n    \"26252\": 1\n  }, \n  \"37216\": {\n    \"26252\": 1\n  }, \n  \"37217\": {\n    \"26252\": 1\n  }, \n  \"37218\": {\n    \"26252\": 1\n  }, \n  \"37219\": {\n    \"26252\": 1\n  }, \n  \"37220\": {\n    \"26252\": 1\n  }, \n  \"37221\": {\n    \"26252\": 1\n  }, \n  \"37222\": {\n    \"26252\": 1\n  }, \n  \"37223\": {\n    \"26252\": 1\n  }, \n  \"37228\": {\n    \"26252\": 1\n  }, \n  \"37229\": {\n    \"26252\": 1\n  }, \n  \"37230\": {\n    \"26252\": 1\n  }, \n  \"37231\": {\n    \"26252\": 1\n  }, \n  \"37232\": {\n    \"26252\": 1\n  }, \n  \"37233\": {\n    \"26252\": 1\n  }, \n  \"37234\": {\n    \"26252\": 1\n  }, \n  \"37235\": {\n    \"26252\": 1\n  }, \n  \"37248\": {\n    \"26252\": 1\n  }, \n  \"37249\": {\n    \"26252\": 1\n  }, \n  \"37250\": {\n    \"26252\": 1\n  }, \n  \"37251\": {\n    \"26252\": 1\n  }, \n  \"37254\": {\n    \"26252\": 1\n  }, \n  \"37255\": {\n    \"26252\": 1\n  }, \n  \"37256\": {\n    \"26252\": 1\n  }, \n  \"37257\": {\n    \"26252\": 1\n  }, \n  \"37258\": {\n    \"26252\": 1\n  }, \n  \"37259\": {\n    \"26252\": 1\n  }, \n  \"37260\": {\n    \"26252\": 1\n  }, \n  \"37261\": {\n    \"26252\": 1\n  }, \n  \"37268\": {\n    \"26252\": 1\n  }, \n  \"37269\": {\n    \"26252\": 1\n  }, \n  \"37272\": {\n    \"26252\": 1\n  }, \n  \"37273\": {\n    \"26252\": 1\n  }, \n  \"37274\": {\n    \"26252\": 1\n  }, \n  \"37275\": {\n    \"26252\": 1\n  }, \n  \"37280\": {\n    \"26252\": 1\n  }, \n  \"37281\": {\n    \"26252\": 1\n  }, \n  \"37282\": {\n    \"26252\": 1\n  }, \n  \"37283\": {\n    \"26252\": 1\n  }, \n  \"37284\": {\n    \"26252\": 1\n  }, \n  \"37285\": {\n    \"26252\": 1\n  }, \n  \"37288\": {\n    \"3319\": 5, \n    \"3325\": 1, \n    \"20314\": 1\n  }, \n  \"37289\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21667\": 1\n  }, \n  \"37290\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"20327\": 1\n  }, \n  \"37291\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21666\": 1\n  }, \n  \"37292\": {\n    \"3319\": 5, \n    \"3325\": 5, \n    \"20213\": 1, \n    \"20314\": 1\n  }, \n  \"37293\": {\n    \"3319\": 5, \n    \"3325\": 1, \n    \"20314\": 1\n  }, \n  \"37294\": {\n    \"3319\": 5, \n    \"21668\": 5, \n    \"41409\": 1\n  }, \n  \"37295\": {\n    \"3319\": 5, \n    \"32435\": 5, \n    \"41410\": 1\n  }, \n  \"37296\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"20327\": 5, \n    \"41407\": 1\n  }, \n  \"37297\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"20327\": 1\n  }, \n  \"37298\": {\n    \"3300\": 5, \n    \"20327\": 5, \n    \"41407\": 1\n  }, \n  \"37299\": {\n    \"3300\": 5, \n    \"20327\": 5, \n    \"41408\": 1\n  }, \n  \"37300\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21666\": 5, \n    \"41405\": 1\n  }, \n  \"37301\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21666\": 1\n  }, \n  \"37302\": {\n    \"3300\": 5, \n    \"21666\": 5, \n    \"41405\": 1\n  }, \n  \"37303\": {\n    \"3300\": 5, \n    \"21666\": 5, \n    \"41406\": 1\n  }, \n  \"37304\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21667\": 5, \n    \"41403\": 1\n  }, \n  \"37305\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21667\": 1\n  }, \n  \"37306\": {\n    \"3300\": 5, \n    \"21667\": 5, \n    \"41403\": 1\n  }, \n  \"37307\": {\n    \"3300\": 5, \n    \"21667\": 5, \n    \"41404\": 1\n  }, \n  \"37450\": {\n    \"16281\": 1\n  }, \n  \"37451\": {\n    \"16281\": 5\n  }, \n  \"37452\": {\n    \"16281\": 1\n  }, \n  \"37453\": {\n    \"3331\": 2\n  }, \n  \"37454\": {\n    \"3329\": 2\n  }, \n  \"37455\": {\n    \"3330\": 2\n  }, \n  \"37456\": {\n    \"3328\": 2\n  }, \n  \"37457\": {\n    \"3331\": 5, \n    \"40328\": 1\n  }, \n  \"37458\": {\n    \"3330\": 5, \n    \"40328\": 1\n  }, \n  \"37459\": {\n    \"3328\": 5, \n    \"40328\": 1\n  }, \n  \"37460\": {\n    \"3329\": 5, \n    \"40328\": 1\n  }, \n  \"37479\": {\n    \"4385\": 1\n  }, \n  \"37480\": {\n    \"33094\": 5, \n    \"37615\": 1\n  }, \n  \"37481\": {\n    \"33091\": 5, \n    \"37615\": 1\n  }, \n  \"37482\": {\n    \"33092\": 5, \n    \"37615\": 1\n  }, \n  \"37483\": {\n    \"33093\": 5, \n    \"37615\": 1\n  }, \n  \"37543\": {\n    \"3434\": 1\n  }, \n  \"37544\": {\n    \"3434\": 1\n  }, \n  \"37545\": {\n    \"3434\": 1\n  }, \n  \"37546\": {\n    \"3434\": 4\n  }, \n  \"37599\": {\n    \"23069\": 1, \n    \"40573\": 1\n  }, \n  \"37604\": {\n    \"20533\": 1, \n    \"24311\": 1\n  }, \n  \"37605\": {\n    \"20533\": 1, \n    \"24312\": 1\n  }, \n  \"37606\": {\n    \"20533\": 1, \n    \"24314\": 1\n  }, \n  \"37607\": {\n    \"20533\": 1, \n    \"24313\": 1\n  }, \n  \"37608\": {\n    \"3435\": 5, \n    \"11446\": 4\n  }, \n  \"37610\": {\n    \"3435\": 5, \n    \"11446\": 4\n  }, \n  \"37611\": {\n    \"3435\": 5, \n    \"11446\": 4\n  }, \n  \"37612\": {\n    \"3435\": 5, \n    \"11446\": 4\n  }, \n  \"37613\": {\n    \"3435\": 5, \n    \"11446\": 4\n  }, \n  \"37615\": {\n    \"3327\": 5, \n    \"3354\": 4\n  }, \n  \"37622\": {\n    \"3423\": 1\n  }, \n  \"37623\": {\n    \"3423\": 1\n  }, \n  \"37624\": {\n    \"3423\": 1\n  }, \n  \"37625\": {\n    \"3423\": 2\n  }, \n  \"37626\": {\n    \"3423\": 2\n  }, \n  \"37627\": {\n    \"3423\": 2\n  }, \n  \"37628\": {\n    \"3423\": 3\n  }, \n  \"37629\": {\n    \"3423\": 3\n  }, \n  \"37630\": {\n    \"3423\": 3\n  }, \n  \"37631\": {\n    \"3423\": 3\n  }, \n  \"37796\": {\n    \"3319\": 1, \n    \"11584\": 1\n  }, \n  \"37797\": {\n    \"3402\": 1, \n    \"11584\": 1\n  }, \n  \"37798\": {\n    \"3426\": 1, \n    \"11584\": 1\n  }, \n  \"37799\": {\n    \"3413\": 1, \n    \"11584\": 1\n  }, \n  \"37805\": {\n    \"3425\": 3\n  }, \n  \"37820\": {\n    \"3424\": 2\n  }, \n  \"37825\": {\n    \"3424\": 2\n  }, \n  \"37963\": {\n    \"37797\": 1\n  }, \n  \"40307\": {\n    \"24242\": 2\n  }, \n  \"40308\": {\n    \"24242\": 2\n  }, \n  \"40309\": {\n    \"24242\": 2\n  }, \n  \"40310\": {\n    \"24242\": 2\n  }, \n  \"40328\": {\n    \"3327\": 3, \n    \"3428\": 4, \n    \"3431\": 5\n  }, \n  \"40345\": {\n    \"23069\": 1, \n    \"40573\": 1\n  }, \n  \"40346\": {\n    \"23069\": 1, \n    \"40573\": 1\n  }, \n  \"40347\": {\n    \"23069\": 1, \n    \"40573\": 1\n  }, \n  \"40348\": {\n    \"3394\": 4\n  }, \n  \"40349\": {\n    \"3394\": 4\n  }, \n  \"40350\": {\n    \"3394\": 4\n  }, \n  \"40351\": {\n    \"3394\": 5\n  }, \n  \"40354\": {\n    \"3425\": 1\n  }, \n  \"40355\": {\n    \"3425\": 1\n  }, \n  \"40356\": {\n    \"3425\": 1\n  }, \n  \"40357\": {\n    \"3425\": 4\n  }, \n  \"40358\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"40359\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"40360\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"40361\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"40362\": {\n    \"23069\": 1, \n    \"32339\": 1\n  }, \n  \"40363\": {\n    \"23069\": 1, \n    \"32339\": 1\n  }, \n  \"40364\": {\n    \"23069\": 1, \n    \"32339\": 1\n  }, \n  \"40365\": {\n    \"23069\": 1, \n    \"32339\": 1\n  }, \n  \"40535\": {\n    \"3339\": 3, \n    \"20533\": 4, \n    \"21610\": 4, \n    \"21611\": 3, \n    \"27906\": 1\n  }, \n  \"40536\": {\n    \"3338\": 3, \n    \"20533\": 4, \n    \"21610\": 4, \n    \"21611\": 3, \n    \"27906\": 1\n  }, \n  \"40537\": {\n    \"3336\": 3, \n    \"20533\": 4, \n    \"21610\": 4, \n    \"21611\": 3, \n    \"27906\": 1\n  }, \n  \"40538\": {\n    \"3337\": 3, \n    \"20533\": 4, \n    \"21610\": 4, \n    \"21611\": 3, \n    \"27906\": 1\n  }, \n  \"40552\": {\n    \"23069\": 5, \n    \"40572\": 4\n  }, \n  \"40553\": {\n    \"23069\": 5, \n    \"40572\": 4\n  }, \n  \"40554\": {\n    \"23069\": 5, \n    \"40572\": 4\n  }, \n  \"40555\": {\n    \"23069\": 5, \n    \"40572\": 4\n  }, \n  \"40556\": {\n    \"23069\": 5, \n    \"40572\": 4\n  }, \n  \"40557\": {\n    \"23069\": 5, \n    \"40572\": 4\n  }, \n  \"40558\": {\n    \"23069\": 5, \n    \"40572\": 4\n  }, \n  \"40559\": {\n    \"23069\": 5, \n    \"40572\": 4\n  }, \n  \"40560\": {\n    \"23069\": 5, \n    \"32339\": 4\n  }, \n  \"40561\": {\n    \"23069\": 5, \n    \"32339\": 4\n  }, \n  \"40562\": {\n    \"23069\": 5, \n    \"32339\": 4\n  }, \n  \"40563\": {\n    \"23069\": 5, \n    \"32339\": 4\n  }, \n  \"40564\": {\n    \"23069\": 5, \n    \"32339\": 4\n  }, \n  \"40565\": {\n    \"23069\": 5, \n    \"32339\": 4\n  }, \n  \"40566\": {\n    \"23069\": 5, \n    \"32339\": 4\n  }, \n  \"40567\": {\n    \"23069\": 5, \n    \"32339\": 4\n  }, \n  \"40568\": {\n    \"23069\": 5, \n    \"40573\": 4\n  }, \n  \"40569\": {\n    \"23069\": 5, \n    \"40573\": 4\n  }, \n  \"40570\": {\n    \"23069\": 5, \n    \"40573\": 4\n  }, \n  \"40571\": {\n    \"23069\": 5, \n    \"40573\": 4\n  }, \n  \"40572\": {\n    \"23069\": 1\n  }, \n  \"40573\": {\n    \"23069\": 1\n  }, \n  \"40631\": {\n    \"3347\": 1, \n    \"24563\": 1\n  }, \n  \"40632\": {\n    \"3347\": 1, \n    \"24563\": 1\n  }, \n  \"40633\": {\n    \"24562\": 1, \n    \"24563\": 1\n  }, \n  \"40634\": {\n    \"24562\": 1, \n    \"24563\": 1\n  }, \n  \"40635\": {\n    \"27911\": 1\n  }, \n  \"40636\": {\n    \"27911\": 1\n  }, \n  \"40659\": {\n    \"3423\": 4\n  }, \n  \"40660\": {\n    \"3423\": 4\n  }, \n  \"40661\": {\n    \"3423\": 4\n  }, \n  \"40662\": {\n    \"3423\": 5\n  }, \n  \"40663\": {\n    \"3423\": 4\n  }, \n  \"40664\": {\n    \"3423\": 4\n  }, \n  \"40665\": {\n    \"3423\": 4\n  }, \n  \"40666\": {\n    \"3423\": 4\n  }, \n  \"40667\": {\n    \"3423\": 4\n  }, \n  \"40668\": {\n    \"3423\": 5\n  }, \n  \"40669\": {\n    \"3423\": 4\n  }, \n  \"40670\": {\n    \"3423\": 4\n  }, \n  \"40690\": {\n    \"3427\": 1\n  }, \n  \"40691\": {\n    \"3427\": 1\n  }, \n  \"40692\": {\n    \"3427\": 1\n  }, \n  \"40693\": {\n    \"3427\": 1\n  }, \n  \"40694\": {\n    \"3427\": 1\n  }, \n  \"40696\": {\n    \"27911\": 1\n  }, \n  \"40697\": {\n    \"27911\": 1\n  }, \n  \"40698\": {\n    \"27911\": 1\n  }, \n  \"40699\": {\n    \"27911\": 1\n  }, \n  \"40700\": {\n    \"27911\": 1\n  }, \n  \"40714\": {\n    \"3394\": 1\n  }, \n  \"40715\": {\n    \"3394\": 1\n  }, \n  \"40716\": {\n    \"3394\": 1\n  }, \n  \"40717\": {\n    \"3394\": 4\n  }, \n  \"40718\": {\n    \"3394\": 1\n  }, \n  \"40730\": {\n    \"3435\": 4\n  }, \n  \"40731\": {\n    \"3435\": 4\n  }, \n  \"40732\": {\n    \"3435\": 4\n  }, \n  \"40733\": {\n    \"3435\": 4\n  }, \n  \"40734\": {\n    \"3435\": 5\n  }, \n  \"40736\": {\n    \"3435\": 4\n  }, \n  \"40737\": {\n    \"3435\": 4\n  }, \n  \"40750\": {\n    \"3435\": 4, \n    \"3449\": 4\n  }, \n  \"40752\": {\n    \"3435\": 4, \n    \"3449\": 4\n  }, \n  \"40754\": {\n    \"3435\": 4, \n    \"3449\": 4\n  }, \n  \"40756\": {\n    \"3435\": 4, \n    \"3449\": 4\n  }, \n  \"40758\": {\n    \"3435\": 5, \n    \"3449\": 5\n  }, \n  \"40762\": {\n    \"3435\": 4, \n    \"3449\": 4\n  }, \n  \"40764\": {\n    \"3435\": 4, \n    \"3449\": 4\n  }, \n  \"41030\": {\n    \"3386\": 2, \n    \"3436\": 1, \n    \"3438\": 1, \n    \"22541\": 1\n  }, \n  \"41031\": {\n    \"23606\": 1\n  }, \n  \"41032\": {\n    \"23606\": 1\n  }, \n  \"41033\": {\n    \"23606\": 1\n  }, \n  \"41034\": {\n    \"3318\": 1, \n    \"3436\": 1\n  }, \n  \"41038\": {\n    \"3435\": 1\n  }, \n  \"41040\": {\n    \"3453\": 1\n  }, \n  \"41054\": {\n    \"3453\": 1\n  }, \n  \"41055\": {\n    \"3453\": 1\n  }, \n  \"41056\": {\n    \"3453\": 1\n  }, \n  \"41057\": {\n    \"3453\": 4\n  }, \n  \"41058\": {\n    \"3453\": 1\n  }, \n  \"41059\": {\n    \"3453\": 1\n  }, \n  \"41061\": {\n    \"3435\": 1, \n    \"3449\": 1\n  }, \n  \"41062\": {\n    \"3435\": 1\n  }, \n  \"41063\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"20327\": 1\n  }, \n  \"41064\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"20327\": 1\n  }, \n  \"41065\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"20327\": 1\n  }, \n  \"41066\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"20327\": 1\n  }, \n  \"41067\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"20327\": 1\n  }, \n  \"41076\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21666\": 1\n  }, \n  \"41077\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21666\": 1\n  }, \n  \"41078\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21666\": 1\n  }, \n  \"41079\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21666\": 1\n  }, \n  \"41080\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21667\": 1\n  }, \n  \"41081\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21667\": 1\n  }, \n  \"41082\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21667\": 1\n  }, \n  \"41083\": {\n    \"3300\": 5, \n    \"3312\": 1, \n    \"21667\": 1\n  }, \n  \"41099\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"41100\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"41101\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"41102\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"41103\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"41104\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"41114\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"41115\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"41116\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"41117\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"41118\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"41119\": {\n    \"3300\": 5, \n    \"20327\": 1\n  }, \n  \"41126\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"41127\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"41128\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"41129\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"41130\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"41138\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"41139\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"41140\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"41141\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"41142\": {\n    \"3300\": 5, \n    \"21666\": 1\n  }, \n  \"41150\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"41151\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"41152\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"41153\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"41154\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"41156\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"41157\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"41158\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"41159\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"41160\": {\n    \"3300\": 5, \n    \"21667\": 1\n  }, \n  \"41174\": {\n    \"3319\": 5, \n    \"32435\": 1\n  }, \n  \"41175\": {\n    \"3319\": 5, \n    \"32435\": 1\n  }, \n  \"41176\": {\n    \"3319\": 5, \n    \"32435\": 1\n  }, \n  \"41180\": {\n    \"3319\": 5, \n    \"21668\": 1\n  }, \n  \"41181\": {\n    \"3319\": 5, \n    \"21668\": 1\n  }, \n  \"41182\": {\n    \"3319\": 5, \n    \"21668\": 1\n  }, \n  \"41191\": {\n    \"3428\": 1\n  }, \n  \"41192\": {\n    \"3428\": 1\n  }, \n  \"41193\": {\n    \"3428\": 1\n  }, \n  \"41194\": {\n    \"3428\": 1\n  }, \n  \"41195\": {\n    \"3428\": 1\n  }, \n  \"41196\": {\n    \"3426\": 1\n  }, \n  \"41197\": {\n    \"3426\": 1\n  }, \n  \"41198\": {\n    \"3433\": 1\n  }, \n  \"41199\": {\n    \"3433\": 1\n  }, \n  \"41200\": {\n    \"3394\": 1\n  }, \n  \"41201\": {\n    \"3394\": 1\n  }, \n  \"41202\": {\n    \"3394\": 1\n  }, \n  \"41203\": {\n    \"3394\": 1\n  }, \n  \"41204\": {\n    \"3394\": 1\n  }, \n  \"41205\": {\n    \"3394\": 1\n  }, \n  \"41206\": {\n    \"3394\": 1\n  }, \n  \"41207\": {\n    \"3394\": 1\n  }, \n  \"41208\": {\n    \"3394\": 1\n  }, \n  \"41210\": {\n    \"3394\": 1\n  }, \n  \"41211\": {\n    \"3394\": 1\n  }, \n  \"41212\": {\n    \"3424\": 1\n  }, \n  \"41213\": {\n    \"3424\": 1\n  }, \n  \"41214\": {\n    \"3424\": 1\n  }, \n  \"41215\": {\n    \"3424\": 1\n  }, \n  \"41216\": {\n    \"3424\": 1\n  }, \n  \"41217\": {\n    \"3424\": 1\n  }, \n  \"41218\": {\n    \"3424\": 2\n  }, \n  \"41219\": {\n    \"3424\": 2\n  }, \n  \"41220\": {\n    \"3424\": 2\n  }, \n  \"41223\": {\n    \"3319\": 5, \n    \"3325\": 1, \n    \"20314\": 1\n  }, \n  \"41224\": {\n    \"3319\": 5, \n    \"3325\": 1, \n    \"20314\": 1\n  }, \n  \"41236\": {\n    \"3450\": 1\n  }, \n  \"41237\": {\n    \"3450\": 1\n  }, \n  \"41238\": {\n    \"3450\": 1\n  }, \n  \"41239\": {\n    \"3450\": 4\n  }, \n  \"41240\": {\n    \"3450\": 1\n  }, \n  \"41241\": {\n    \"3450\": 1\n  }, \n  \"41249\": {\n    \"3454\": 1\n  }, \n  \"41250\": {\n    \"3454\": 1\n  }, \n  \"41251\": {\n    \"3454\": 1\n  }, \n  \"41252\": {\n    \"3454\": 1\n  }, \n  \"41253\": {\n    \"3454\": 4\n  }, \n  \"41254\": {\n    \"3454\": 1\n  }, \n  \"41255\": {\n    \"3454\": 1\n  }, \n  \"41270\": {\n    \"3319\": 5, \n    \"21668\": 5, \n    \"41409\": 1\n  }, \n  \"41271\": {\n    \"3319\": 5, \n    \"21668\": 5, \n    \"41409\": 1\n  }, \n  \"41272\": {\n    \"3319\": 5, \n    \"21668\": 5, \n    \"41409\": 1\n  }, \n  \"41273\": {\n    \"3319\": 5, \n    \"21668\": 5, \n    \"41409\": 1\n  }, \n  \"41274\": {\n    \"3319\": 5, \n    \"21668\": 5, \n    \"41409\": 1\n  }, \n  \"41275\": {\n    \"3319\": 5, \n    \"21668\": 5, \n    \"41409\": 1\n  }, \n  \"41276\": {\n    \"3319\": 5, \n    \"21668\": 5, \n    \"41409\": 1\n  }, \n  \"41277\": {\n    \"3319\": 5, \n    \"21668\": 5, \n    \"41409\": 1\n  }, \n  \"41286\": {\n    \"3319\": 5, \n    \"32435\": 5, \n    \"41410\": 1\n  }, \n  \"41287\": {\n    \"3319\": 5, \n    \"32435\": 5, \n    \"41410\": 1\n  }, \n  \"41290\": {\n    \"3319\": 5, \n    \"32435\": 5, \n    \"41410\": 1\n  }, \n  \"41291\": {\n    \"3319\": 5, \n    \"32435\": 5, \n    \"41410\": 1\n  }, \n  \"41294\": {\n    \"3319\": 5, \n    \"32435\": 5, \n    \"41410\": 1\n  }, \n  \"41295\": {\n    \"3319\": 5, \n    \"32435\": 5, \n    \"41410\": 1\n  }, \n  \"41298\": {\n    \"3319\": 5, \n    \"32435\": 5, \n    \"41410\": 1\n  }, \n  \"41299\": {\n    \"3319\": 5, \n    \"32435\": 5, \n    \"41410\": 1\n  }, \n  \"41314\": {\n    \"41403\": 1\n  }, \n  \"41316\": {\n    \"41403\": 1\n  }, \n  \"41318\": {\n    \"41404\": 1\n  }, \n  \"41320\": {\n    \"41404\": 1\n  }, \n  \"41322\": {\n    \"41405\": 1\n  }, \n  \"41324\": {\n    \"41405\": 1\n  }, \n  \"41326\": {\n    \"41406\": 1\n  }, \n  \"41328\": {\n    \"41406\": 1\n  }, \n  \"41330\": {\n    \"41407\": 1\n  }, \n  \"41332\": {\n    \"41407\": 1\n  }, \n  \"41334\": {\n    \"41408\": 1\n  }, \n  \"41336\": {\n    \"41408\": 1\n  }, \n  \"41350\": {\n    \"27911\": 1\n  }, \n  \"41403\": {\n    \"3312\": 5, \n    \"21667\": 5\n  }, \n  \"41404\": {\n    \"3311\": 5, \n    \"21667\": 5\n  }, \n  \"41405\": {\n    \"3312\": 5, \n    \"21666\": 5\n  }, \n  \"41406\": {\n    \"3311\": 5, \n    \"21666\": 5\n  }, \n  \"41407\": {\n    \"3312\": 5, \n    \"20327\": 5\n  }, \n  \"41408\": {\n    \"3311\": 5, \n    \"20327\": 5\n  }, \n  \"41409\": {\n    \"3319\": 1, \n    \"21668\": 5\n  }, \n  \"41410\": {\n    \"3319\": 1, \n    \"32435\": 5\n  }, \n  \"41411\": {\n    \"24613\": 1\n  }, \n  \"41414\": {\n    \"24613\": 1\n  }, \n  \"41415\": {\n    \"24613\": 4\n  }, \n  \"41417\": {\n    \"24613\": 1\n  }, \n  \"41422\": {\n    \"26252\": 1\n  }, \n  \"41423\": {\n    \"26252\": 1\n  }, \n  \"41424\": {\n    \"26252\": 1\n  }, \n  \"41425\": {\n    \"26252\": 1\n  }, \n  \"41426\": {\n    \"26252\": 1\n  }, \n  \"41427\": {\n    \"26252\": 1\n  }, \n  \"41428\": {\n    \"26252\": 1\n  }, \n  \"41429\": {\n    \"26252\": 1\n  }, \n  \"41439\": {\n    \"3346\": 1, \n    \"24563\": 1\n  }, \n  \"41440\": {\n    \"3344\": 1, \n    \"24563\": 1\n  }, \n  \"41441\": {\n    \"3345\": 1, \n    \"24563\": 1\n  }, \n  \"41442\": {\n    \"3346\": 1, \n    \"24563\": 1\n  }, \n  \"41443\": {\n    \"3344\": 1, \n    \"24563\": 1\n  }, \n  \"41444\": {\n    \"3345\": 1, \n    \"24563\": 1\n  }, \n  \"41456\": {\n    \"3394\": 4\n  }, \n  \"41457\": {\n    \"3394\": 4\n  }, \n  \"41458\": {\n    \"3394\": 4\n  }, \n  \"41459\": {\n    \"3425\": 1\n  }, \n  \"41460\": {\n    \"3425\": 1\n  }, \n  \"41461\": {\n    \"3425\": 1\n  }, \n  \"41462\": {\n    \"3425\": 1\n  }, \n  \"41463\": {\n    \"24568\": 1\n  }, \n  \"41464\": {\n    \"24568\": 1\n  }, \n  \"41465\": {\n    \"24568\": 1\n  }, \n  \"41466\": {\n    \"24568\": 4\n  }, \n  \"41467\": {\n    \"24568\": 1\n  }, \n  \"41468\": {\n    \"24568\": 1\n  }, \n  \"41469\": {\n    \"24571\": 1\n  }, \n  \"41470\": {\n    \"24571\": 1\n  }, \n  \"41471\": {\n    \"24571\": 1\n  }, \n  \"41472\": {\n    \"24571\": 1\n  }, \n  \"41473\": {\n    \"24571\": 1\n  }, \n  \"41474\": {\n    \"24571\": 1\n  }, \n  \"41475\": {\n    \"27902\": 5, \n    \"27936\": 1\n  }, \n  \"41476\": {\n    \"16069\": 1\n  }, \n  \"41477\": {\n    \"16069\": 2\n  }, \n  \"41478\": {\n    \"16069\": 3\n  }, \n  \"41479\": {\n    \"24568\": 1\n  }, \n  \"41480\": {\n    \"3422\": 1\n  }, \n  \"41481\": {\n    \"3422\": 1\n  }, \n  \"41482\": {\n    \"3422\": 1\n  }, \n  \"41483\": {\n    \"24571\": 1\n  }, \n  \"41484\": {\n    \"3424\": 2\n  }, \n  \"41485\": {\n    \"3424\": 2\n  }, \n  \"41486\": {\n    \"3424\": 4\n  }, \n  \"41487\": {\n    \"3424\": 2\n  }, \n  \"41488\": {\n    \"3424\": 2\n  }, \n  \"41491\": {\n    \"3417\": 1\n  }, \n  \"41492\": {\n    \"3417\": 1\n  }, \n  \"41493\": {\n    \"3417\": 4\n  }, \n  \"41494\": {\n    \"3417\": 1\n  }, \n  \"41495\": {\n    \"3417\": 1\n  }, \n  \"41498\": {\n    \"21803\": 1\n  }, \n  \"41499\": {\n    \"21803\": 1\n  }, \n  \"41500\": {\n    \"21803\": 4\n  }, \n  \"41501\": {\n    \"21803\": 1\n  }, \n  \"41502\": {\n    \"21803\": 1\n  }, \n  \"41503\": {\n    \"3392\": 3, \n    \"21803\": 1\n  }, \n  \"41504\": {\n    \"21802\": 4\n  }, \n  \"41505\": {\n    \"21802\": 1\n  }, \n  \"41506\": {\n    \"21802\": 1\n  }, \n  \"41507\": {\n    \"21802\": 4\n  }, \n  \"41508\": {\n    \"21802\": 1\n  }, \n  \"41509\": {\n    \"21802\": 1\n  }, \n  \"41510\": {\n    \"21802\": 1\n  }, \n  \"41511\": {\n    \"3392\": 5, \n    \"3393\": 5, \n    \"21803\": 1\n  }, \n  \"41512\": {\n    \"3392\": 5, \n    \"3393\": 5, \n    \"21803\": 1\n  }, \n  \"41513\": {\n    \"3392\": 5, \n    \"3393\": 5, \n    \"21803\": 1\n  }, \n  \"41514\": {\n    \"3392\": 5, \n    \"3393\": 5, \n    \"21803\": 4\n  }, \n  \"41515\": {\n    \"3394\": 3, \n    \"32797\": 1\n  }, \n  \"41516\": {\n    \"3420\": 3, \n    \"32797\": 1\n  }, \n  \"41525\": {\n    \"3394\": 3, \n    \"32797\": 4\n  }, \n  \"41526\": {\n    \"3394\": 3, \n    \"32797\": 1\n  }, \n  \"41527\": {\n    \"3394\": 3, \n    \"32797\": 1\n  }, \n  \"41528\": {\n    \"3420\": 3, \n    \"32797\": 4\n  }, \n  \"41529\": {\n    \"3420\": 3, \n    \"32797\": 1\n  }, \n  \"41530\": {\n    \"3420\": 3, \n    \"32797\": 1\n  }, \n  \"41531\": {\n    \"3420\": 3, \n    \"32797\": 1\n  }, \n  \"41533\": {\n    \"13278\": 1, \n    \"21718\": 1\n  }, \n  \"41534\": {\n    \"13278\": 5, \n    \"21718\": 5\n  }, \n  \"41537\": {\n    \"24563\": 2\n  }, \n  \"41548\": {\n    \"28073\": 1\n  }, \n  \"41549\": {\n    \"28073\": 1\n  }, \n  \"41550\": {\n    \"28073\": 1\n  }, \n  \"41551\": {\n    \"28073\": 1\n  }, \n  \"41565\": {\n    \"3423\": 1, \n    \"24572\": 1\n  }, \n  \"41566\": {\n    \"3423\": 1, \n    \"24572\": 1\n  }, \n  \"42120\": {\n    \"9955\": 5\n  }, \n  \"42121\": {\n    \"9955\": 5\n  }, \n  \"42122\": {\n    \"9955\": 5\n  }, \n  \"42123\": {\n    \"9955\": 5\n  }, \n  \"42124\": {\n    \"3456\": 1, \n    \"20531\": 1, \n    \"20532\": 1, \n    \"20533\": 1\n  }, \n  \"42125\": {\n    \"20533\": 1, \n    \"24313\": 1, \n    \"24314\": 1\n  }, \n  \"42126\": {\n    \"3344\": 1, \n    \"3345\": 1, \n    \"20533\": 5\n  }, \n  \"42132\": {\n    \"20533\": 1, \n    \"24313\": 1\n  }, \n  \"42133\": {\n    \"20533\": 1, \n    \"24313\": 1\n  }, \n  \"42145\": {\n    \"3411\": 2\n  }, \n  \"42146\": {\n    \"3411\": 2\n  }, \n  \"42200\": {\n    \"3411\": 3\n  }, \n  \"42201\": {\n    \"3411\": 4\n  }, \n  \"42202\": {\n    \"3411\": 3\n  }, \n  \"42203\": {\n    \"3411\": 5\n  }, \n  \"42204\": {\n    \"3411\": 2\n  }, \n  \"42205\": {\n    \"3411\": 2\n  }, \n  \"42206\": {\n    \"3411\": 3\n  }, \n  \"42207\": {\n    \"3411\": 3\n  }, \n  \"42208\": {\n    \"3411\": 4\n  }, \n  \"42209\": {\n    \"3411\": 5\n  }, \n  \"42210\": {\n    \"3411\": 2\n  }, \n  \"42211\": {\n    \"3411\": 2\n  }, \n  \"42212\": {\n    \"3411\": 3\n  }, \n  \"42213\": {\n    \"3411\": 3\n  }, \n  \"42214\": {\n    \"3411\": 4\n  }, \n  \"42215\": {\n    \"3411\": 5\n  }, \n  \"42232\": {\n    \"3402\": 1\n  }, \n  \"42233\": {\n    \"3402\": 1\n  }, \n  \"42234\": {\n    \"3402\": 1\n  }, \n  \"42240\": {\n    \"9955\": 5\n  }, \n  \"42241\": {\n    \"3345\": 1, \n    \"3347\": 1, \n    \"20533\": 5\n  }, \n  \"42242\": {\n    \"20533\": 1, \n    \"24311\": 1, \n    \"24314\": 1\n  }, \n  \"42243\": {\n    \"3456\": 1, \n    \"20525\": 1, \n    \"20532\": 1, \n    \"20533\": 1\n  }, \n  \"42244\": {\n    \"29637\": 1\n  }, \n  \"42245\": {\n    \"3333\": 5, \n    \"3335\": 5, \n    \"12096\": 1\n  }, \n  \"42246\": {\n    \"3329\": 5, \n    \"3331\": 5, \n    \"12093\": 1\n  }, \n  \"42522\": {\n    \"44067\": 1\n  }, \n  \"42526\": {\n    \"3348\": 1, \n    \"20494\": 1\n  }, \n  \"42527\": {\n    \"3348\": 1, \n    \"20495\": 1\n  }, \n  \"42528\": {\n    \"3348\": 1, \n    \"22536\": 1\n  }, \n  \"42529\": {\n    \"3348\": 1, \n    \"3350\": 1\n  }, \n  \"42530\": {\n    \"3348\": 1, \n    \"3349\": 1\n  }, \n  \"42531\": {\n    \"3402\": 1\n  }, \n  \"42541\": {\n    \"3402\": 1\n  }, \n  \"42685\": {\n    \"3327\": 1\n  }, \n  \"42694\": {\n    \"3348\": 1, \n    \"3350\": 1\n  }, \n  \"42695\": {\n    \"3348\": 1, \n    \"3350\": 1\n  }, \n  \"42696\": {\n    \"3348\": 1, \n    \"3350\": 1\n  }, \n  \"42829\": {\n    \"3348\": 1, \n    \"22536\": 1\n  }, \n  \"42830\": {\n    \"3348\": 1, \n    \"22536\": 1\n  }, \n  \"42831\": {\n    \"3348\": 1, \n    \"22536\": 1\n  }, \n  \"42832\": {\n    \"3348\": 1, \n    \"20494\": 1\n  }, \n  \"42833\": {\n    \"3348\": 1, \n    \"20494\": 1\n  }, \n  \"42834\": {\n    \"3348\": 1, \n    \"20494\": 1\n  }, \n  \"42835\": {\n    \"3348\": 1, \n    \"20495\": 1\n  }, \n  \"42836\": {\n    \"3348\": 1, \n    \"20495\": 1\n  }, \n  \"42837\": {\n    \"3348\": 1, \n    \"20495\": 1\n  }, \n  \"42838\": {\n    \"3348\": 1, \n    \"3349\": 1\n  }, \n  \"42839\": {\n    \"3348\": 1, \n    \"3349\": 1\n  }, \n  \"42840\": {\n    \"3348\": 1, \n    \"3349\": 1\n  }, \n  \"42890\": {\n    \"28585\": 5\n  }, \n  \"43551\": {\n    \"3348\": 5, \n    \"22536\": 5, \n    \"22552\": 1\n  }, \n  \"43552\": {\n    \"3348\": 5, \n    \"11569\": 1, \n    \"20494\": 5\n  }, \n  \"43554\": {\n    \"3348\": 5, \n    \"3352\": 1, \n    \"20495\": 5\n  }, \n  \"43555\": {\n    \"3348\": 5, \n    \"3350\": 5, \n    \"3351\": 1\n  }, \n  \"43556\": {\n    \"3348\": 5, \n    \"3349\": 5, \n    \"11572\": 1\n  }, \n  \"43658\": {\n    \"43728\": 1\n  }, \n  \"43660\": {\n    \"43728\": 1\n  }, \n  \"43662\": {\n    \"43728\": 1\n  }, \n  \"43664\": {\n    \"43728\": 1\n  }, \n  \"43681\": {\n    \"3436\": 1, \n    \"16281\": 4, \n    \"43702\": 5, \n    \"43703\": 1\n  }, \n  \"43694\": {\n    \"3386\": 4, \n    \"3436\": 1, \n    \"3438\": 5, \n    \"22541\": 1\n  }, \n  \"43699\": {\n    \"3436\": 1, \n    \"16281\": 2, \n    \"43702\": 1\n  }, \n  \"43700\": {\n    \"3436\": 1, \n    \"16281\": 4, \n    \"43702\": 5, \n    \"43703\": 1\n  }, \n  \"43701\": {\n    \"3436\": 1, \n    \"16281\": 4, \n    \"43702\": 5, \n    \"43703\": 1\n  }, \n  \"43702\": {\n    \"3436\": 1, \n    \"16281\": 2\n  }, \n  \"43703\": {\n    \"16281\": 4, \n    \"43702\": 5\n  }, \n  \"43704\": {\n    \"26252\": 1\n  }, \n  \"43705\": {\n    \"26252\": 1\n  }, \n  \"43707\": {\n    \"26252\": 1\n  }, \n  \"43708\": {\n    \"26252\": 1\n  }, \n  \"43709\": {\n    \"26252\": 1\n  }, \n  \"43711\": {\n    \"26252\": 1\n  }, \n  \"43712\": {\n    \"26252\": 1\n  }, \n  \"43713\": {\n    \"26252\": 1\n  }, \n  \"43714\": {\n    \"26252\": 1\n  }, \n  \"43715\": {\n    \"26252\": 1\n  }, \n  \"43716\": {\n    \"26252\": 1\n  }, \n  \"43717\": {\n    \"26252\": 1\n  }, \n  \"43718\": {\n    \"26252\": 1\n  }, \n  \"43719\": {\n    \"26252\": 1\n  }, \n  \"43720\": {\n    \"26252\": 1\n  }, \n  \"43721\": {\n    \"26252\": 1\n  }, \n  \"43722\": {\n    \"26252\": 1\n  }, \n  \"43723\": {\n    \"26252\": 1\n  }, \n  \"43724\": {\n    \"26252\": 1\n  }, \n  \"43725\": {\n    \"26252\": 1\n  }, \n  \"43726\": {\n    \"26252\": 1\n  }, \n  \"43727\": {\n    \"26252\": 1\n  }, \n  \"43728\": {\n    \"3354\": 4, \n    \"24764\": 1\n  }, \n  \"43729\": {\n    \"26252\": 1\n  }, \n  \"43730\": {\n    \"26252\": 1\n  }, \n  \"43732\": {\n    \"26252\": 1\n  }, \n  \"43733\": {\n    \"26252\": 1\n  }, \n  \"43734\": {\n    \"26252\": 1\n  }, \n  \"43775\": {\n    \"3351\": 5, \n    \"3411\": 5, \n    \"22552\": 5\n  }, \n  \"43854\": {\n    \"26252\": 1\n  }, \n  \"43855\": {\n    \"26252\": 1\n  }, \n  \"43856\": {\n    \"26252\": 1\n  }, \n  \"43857\": {\n    \"26252\": 1\n  }, \n  \"43858\": {\n    \"26252\": 1\n  }, \n  \"43859\": {\n    \"26252\": 1\n  }, \n  \"43860\": {\n    \"26252\": 1\n  }, \n  \"43861\": {\n    \"26252\": 1\n  }, \n  \"43862\": {\n    \"26252\": 1\n  }, \n  \"43863\": {\n    \"26252\": 1\n  }, \n  \"43864\": {\n    \"26252\": 1\n  }, \n  \"43865\": {\n    \"26252\": 1\n  }, \n  \"43866\": {\n    \"26252\": 1\n  }, \n  \"43867\": {\n    \"26252\": 1\n  }, \n  \"43868\": {\n    \"26252\": 1\n  }, \n  \"43869\": {\n    \"26252\": 1\n  }, \n  \"43870\": {\n    \"26252\": 1\n  }, \n  \"43871\": {\n    \"26252\": 1\n  }, \n  \"43872\": {\n    \"26252\": 1\n  }, \n  \"43873\": {\n    \"26252\": 1\n  }, \n  \"43874\": {\n    \"26252\": 1\n  }, \n  \"43875\": {\n    \"26252\": 1\n  }, \n  \"43876\": {\n    \"26252\": 1\n  }, \n  \"43877\": {\n    \"26252\": 1\n  }, \n  \"43878\": {\n    \"26252\": 1\n  }, \n  \"43879\": {\n    \"26252\": 1\n  }, \n  \"43880\": {\n    \"26252\": 1\n  }, \n  \"43881\": {\n    \"26252\": 1\n  }, \n  \"43882\": {\n    \"26252\": 1\n  }, \n  \"43883\": {\n    \"26252\": 1\n  }, \n  \"43884\": {\n    \"26252\": 1\n  }, \n  \"43885\": {\n    \"26252\": 1\n  }, \n  \"43886\": {\n    \"26252\": 1\n  }, \n  \"43887\": {\n    \"26252\": 1\n  }, \n  \"43888\": {\n    \"26252\": 1\n  }, \n  \"43889\": {\n    \"26252\": 1\n  }, \n  \"43890\": {\n    \"26252\": 1\n  }, \n  \"43891\": {\n    \"26252\": 1\n  }, \n  \"43892\": {\n    \"26252\": 1\n  }, \n  \"43893\": {\n    \"26252\": 1\n  }, \n  \"43919\": {\n    \"26252\": 1\n  }, \n  \"43920\": {\n    \"26252\": 1\n  }, \n  \"43921\": {\n    \"26252\": 1\n  }, \n  \"44067\": {\n    \"3420\": 5, \n    \"24571\": 3\n  }, \n  \"44102\": {\n    \"3323\": 1\n  }, \n  \"44111\": {\n    \"3318\": 1\n  }, \n  \"44112\": {\n    \"3318\": 1\n  }, \n  \"44113\": {\n    \"3318\": 1\n  }, \n  \"44114\": {\n    \"3318\": 1\n  }, \n  \"44217\": {\n    \"3402\": 1\n  }, \n  \"44274\": {\n    \"3436\": 4, \n    \"3440\": 1, \n    \"9955\": 5, \n    \"25863\": 2\n  }, \n  \"44278\": {\n    \"3318\": 1, \n    \"9955\": 1\n  }, \n  \"44279\": {\n    \"21718\": 1\n  }, \n  \"44281\": {\n    \"9955\": 5\n  }, \n  \"44993\": {\n    \"3328\": 1, \n    \"3329\": 1, \n    \"3330\": 1, \n    \"3331\": 1, \n    \"12093\": 1\n  }, \n  \"44995\": {\n    \"3332\": 1, \n    \"3333\": 1, \n    \"3334\": 1, \n    \"3335\": 1, \n    \"22761\": 1\n  }, \n  \"44996\": {\n    \"3336\": 1, \n    \"3337\": 1, \n    \"3338\": 1, \n    \"3339\": 1, \n    \"28656\": 1\n  }, \n  \"45490\": {\n    \"3386\": 1\n  }, \n  \"45491\": {\n    \"3386\": 1\n  }, \n  \"45492\": {\n    \"3386\": 1\n  }, \n  \"45493\": {\n    \"3386\": 1\n  }, \n  \"45494\": {\n    \"3386\": 1\n  }, \n  \"45495\": {\n    \"3386\": 1\n  }, \n  \"45496\": {\n    \"3386\": 1\n  }, \n  \"45497\": {\n    \"3386\": 1\n  }, \n  \"45498\": {\n    \"3386\": 1\n  }, \n  \"45499\": {\n    \"3386\": 1\n  }, \n  \"45500\": {\n    \"3386\": 1\n  }, \n  \"45501\": {\n    \"3386\": 1\n  }, \n  \"45502\": {\n    \"3386\": 1\n  }, \n  \"45503\": {\n    \"3386\": 1\n  }, \n  \"45504\": {\n    \"3386\": 1\n  }, \n  \"45506\": {\n    \"3386\": 1\n  }, \n  \"45510\": {\n    \"3386\": 1\n  }, \n  \"45511\": {\n    \"3386\": 1\n  }, \n  \"45512\": {\n    \"3386\": 1\n  }, \n  \"45513\": {\n    \"3386\": 1\n  }, \n  \"45530\": {\n    \"3328\": 5, \n    \"3329\": 5, \n    \"12093\": 1\n  }, \n  \"45531\": {\n    \"3332\": 5, \n    \"3333\": 5, \n    \"22761\": 1\n  }, \n  \"45534\": {\n    \"3332\": 1, \n    \"3333\": 1, \n    \"3334\": 1, \n    \"3335\": 1, \n    \"47445\": 1\n  }, \n  \"45544\": {\n    \"26252\": 1\n  }, \n  \"45546\": {\n    \"26252\": 1\n  }, \n  \"45548\": {\n    \"26252\": 1\n  }, \n  \"45586\": {\n    \"30532\": 1\n  }, \n  \"45587\": {\n    \"30532\": 1\n  }, \n  \"45588\": {\n    \"30532\": 1\n  }, \n  \"45589\": {\n    \"30544\": 1\n  }, \n  \"45590\": {\n    \"30544\": 1\n  }, \n  \"45591\": {\n    \"30544\": 1\n  }, \n  \"45592\": {\n    \"30540\": 1\n  }, \n  \"45593\": {\n    \"30540\": 1\n  }, \n  \"45594\": {\n    \"30540\": 1\n  }, \n  \"45595\": {\n    \"30545\": 1\n  }, \n  \"45596\": {\n    \"30545\": 1\n  }, \n  \"45597\": {\n    \"30545\": 1\n  }, \n  \"45598\": {\n    \"30537\": 1\n  }, \n  \"45599\": {\n    \"30537\": 1\n  }, \n  \"45600\": {\n    \"30537\": 1\n  }, \n  \"45601\": {\n    \"30549\": 1\n  }, \n  \"45602\": {\n    \"30549\": 1\n  }, \n  \"45603\": {\n    \"30549\": 1\n  }, \n  \"45604\": {\n    \"30550\": 1\n  }, \n  \"45605\": {\n    \"30550\": 1\n  }, \n  \"45606\": {\n    \"30550\": 1\n  }, \n  \"45607\": {\n    \"30551\": 1\n  }, \n  \"45608\": {\n    \"30551\": 1\n  }, \n  \"45609\": {\n    \"30551\": 1\n  }, \n  \"45610\": {\n    \"30538\": 1\n  }, \n  \"45611\": {\n    \"30538\": 1\n  }, \n  \"45612\": {\n    \"30538\": 1\n  }, \n  \"45613\": {\n    \"30552\": 1\n  }, \n  \"45614\": {\n    \"30552\": 1\n  }, \n  \"45615\": {\n    \"30552\": 1\n  }, \n  \"45616\": {\n    \"30553\": 1\n  }, \n  \"45617\": {\n    \"30553\": 1\n  }, \n  \"45618\": {\n    \"30553\": 1\n  }, \n  \"45619\": {\n    \"30554\": 1\n  }, \n  \"45620\": {\n    \"30554\": 1\n  }, \n  \"45621\": {\n    \"30554\": 1\n  }, \n  \"45622\": {\n    \"30539\": 1\n  }, \n  \"45623\": {\n    \"30539\": 1\n  }, \n  \"45624\": {\n    \"30539\": 1\n  }, \n  \"45625\": {\n    \"30548\": 1\n  }, \n  \"45626\": {\n    \"30548\": 1\n  }, \n  \"45627\": {\n    \"30548\": 1\n  }, \n  \"45628\": {\n    \"30546\": 1\n  }, \n  \"45629\": {\n    \"30546\": 1\n  }, \n  \"45630\": {\n    \"30546\": 1\n  }, \n  \"45631\": {\n    \"30547\": 1\n  }, \n  \"45632\": {\n    \"30547\": 1\n  }, \n  \"45633\": {\n    \"30547\": 1\n  }, \n  \"45634\": {\n    \"3402\": 1\n  }, \n  \"45640\": {\n    \"26252\": 1\n  }, \n  \"45641\": {\n    \"26252\": 1\n  }, \n  \"45645\": {\n    \"20533\": 1, \n    \"24312\": 1, \n    \"24313\": 1\n  }, \n  \"45647\": {\n    \"3456\": 1, \n    \"20530\": 1, \n    \"20531\": 1, \n    \"20533\": 1\n  }, \n  \"45649\": {\n    \"3344\": 1, \n    \"3346\": 1, \n    \"20533\": 5\n  }, \n  \"45669\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"45671\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"45673\": {\n    \"23069\": 1, \n    \"32339\": 1\n  }, \n  \"45675\": {\n    \"23069\": 1, \n    \"32339\": 1\n  }, \n  \"45748\": {\n    \"45746\": 3\n  }, \n  \"45749\": {\n    \"45748\": 5\n  }, \n  \"45750\": {\n    \"45746\": 4\n  }, \n  \"46007\": {\n    \"3402\": 1\n  }, \n  \"46008\": {\n    \"3402\": 1\n  }, \n  \"46009\": {\n    \"3402\": 1\n  }, \n  \"46010\": {\n    \"3420\": 4\n  }, \n  \"46012\": {\n    \"3394\": 5\n  }, \n  \"46152\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"46153\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"46154\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"46155\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"46156\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"46270\": {\n    \"3318\": 1\n  }, \n  \"46280\": {\n    \"3386\": 1\n  }, \n  \"46281\": {\n    \"3386\": 1\n  }, \n  \"46282\": {\n    \"3386\": 1\n  }, \n  \"46283\": {\n    \"3386\": 1\n  }, \n  \"46284\": {\n    \"3386\": 1\n  }, \n  \"46285\": {\n    \"3386\": 1\n  }, \n  \"46286\": {\n    \"3386\": 1\n  }, \n  \"46287\": {\n    \"3386\": 1\n  }, \n  \"46288\": {\n    \"3386\": 1\n  }, \n  \"46289\": {\n    \"3386\": 1\n  }, \n  \"46290\": {\n    \"3386\": 1\n  }, \n  \"46291\": {\n    \"3386\": 1\n  }, \n  \"46292\": {\n    \"3386\": 1\n  }, \n  \"46293\": {\n    \"3386\": 1\n  }, \n  \"46294\": {\n    \"3386\": 1\n  }, \n  \"46295\": {\n    \"3386\": 1\n  }, \n  \"46296\": {\n    \"3386\": 1\n  }, \n  \"46297\": {\n    \"3386\": 1\n  }, \n  \"46298\": {\n    \"3386\": 1\n  }, \n  \"46299\": {\n    \"3386\": 1\n  }, \n  \"46300\": {\n    \"3386\": 1\n  }, \n  \"46301\": {\n    \"3386\": 1\n  }, \n  \"46302\": {\n    \"3386\": 1\n  }, \n  \"46303\": {\n    \"3386\": 1\n  }, \n  \"46304\": {\n    \"3386\": 1\n  }, \n  \"46305\": {\n    \"3386\": 1\n  }, \n  \"46306\": {\n    \"3386\": 1\n  }, \n  \"46307\": {\n    \"3386\": 1\n  }, \n  \"46308\": {\n    \"3386\": 1\n  }, \n  \"46309\": {\n    \"3386\": 1\n  }, \n  \"46310\": {\n    \"3386\": 1\n  }, \n  \"46311\": {\n    \"3386\": 1\n  }, \n  \"46312\": {\n    \"3386\": 1\n  }, \n  \"46313\": {\n    \"3386\": 1\n  }, \n  \"46314\": {\n    \"3386\": 1\n  }, \n  \"46315\": {\n    \"3386\": 1\n  }, \n  \"46316\": {\n    \"3386\": 1\n  }, \n  \"46317\": {\n    \"3386\": 1\n  }, \n  \"46318\": {\n    \"3386\": 1\n  }, \n  \"46319\": {\n    \"3386\": 1\n  }, \n  \"46323\": {\n    \"26252\": 1\n  }, \n  \"46324\": {\n    \"26252\": 1\n  }, \n  \"46325\": {\n    \"26252\": 1\n  }, \n  \"46326\": {\n    \"26252\": 1\n  }, \n  \"46327\": {\n    \"26252\": 1\n  }, \n  \"46328\": {\n    \"26252\": 1\n  }, \n  \"46355\": {\n    \"3386\": 1, \n    \"46152\": 3\n  }, \n  \"46356\": {\n    \"3386\": 1, \n    \"46152\": 4\n  }, \n  \"46365\": {\n    \"3386\": 1, \n    \"46153\": 3\n  }, \n  \"46366\": {\n    \"3386\": 1, \n    \"46153\": 4\n  }, \n  \"46367\": {\n    \"3386\": 1, \n    \"46154\": 3\n  }, \n  \"46368\": {\n    \"3386\": 1, \n    \"46154\": 4\n  }, \n  \"46369\": {\n    \"3386\": 1, \n    \"46155\": 3\n  }, \n  \"46370\": {\n    \"3386\": 1, \n    \"46155\": 4\n  }, \n  \"46371\": {\n    \"3386\": 1, \n    \"46156\": 3\n  }, \n  \"46372\": {\n    \"3386\": 1, \n    \"46156\": 4\n  }, \n  \"46484\": {\n    \"26252\": 1\n  }, \n  \"46485\": {\n    \"26252\": 1\n  }, \n  \"46486\": {\n    \"26252\": 1\n  }, \n  \"46487\": {\n    \"26252\": 1\n  }, \n  \"46488\": {\n    \"26252\": 1\n  }, \n  \"46489\": {\n    \"26252\": 1\n  }, \n  \"46490\": {\n    \"26252\": 1\n  }, \n  \"46491\": {\n    \"26252\": 1\n  }, \n  \"46492\": {\n    \"26252\": 1\n  }, \n  \"46493\": {\n    \"26252\": 1\n  }, \n  \"46494\": {\n    \"26252\": 1\n  }, \n  \"46495\": {\n    \"26252\": 1\n  }, \n  \"46496\": {\n    \"26252\": 1\n  }, \n  \"46497\": {\n    \"26252\": 1\n  }, \n  \"46633\": {\n    \"26252\": 1\n  }, \n  \"46634\": {\n    \"26252\": 1\n  }, \n  \"46635\": {\n    \"26252\": 1\n  }, \n  \"46636\": {\n    \"26252\": 1\n  }, \n  \"46637\": {\n    \"26252\": 1\n  }, \n  \"46638\": {\n    \"26252\": 1\n  }, \n  \"46639\": {\n    \"26252\": 1\n  }, \n  \"46640\": {\n    \"26252\": 1\n  }, \n  \"46641\": {\n    \"26252\": 1\n  }, \n  \"46642\": {\n    \"26252\": 1\n  }, \n  \"46675\": {\n    \"3386\": 1\n  }, \n  \"46676\": {\n    \"3386\": 1\n  }, \n  \"46677\": {\n    \"3386\": 1\n  }, \n  \"46678\": {\n    \"3386\": 1\n  }, \n  \"46679\": {\n    \"3386\": 1\n  }, \n  \"46680\": {\n    \"3386\": 1\n  }, \n  \"46681\": {\n    \"3386\": 1\n  }, \n  \"46682\": {\n    \"3386\": 1\n  }, \n  \"46683\": {\n    \"3386\": 1\n  }, \n  \"46684\": {\n    \"3386\": 1\n  }, \n  \"46685\": {\n    \"3386\": 1\n  }, \n  \"46686\": {\n    \"3386\": 1\n  }, \n  \"46687\": {\n    \"3386\": 1\n  }, \n  \"46688\": {\n    \"3386\": 1\n  }, \n  \"46689\": {\n    \"3386\": 1\n  }, \n  \"46690\": {\n    \"3412\": 2, \n    \"9955\": 5\n  }, \n  \"46691\": {\n    \"3386\": 1\n  }, \n  \"46692\": {\n    \"3386\": 1\n  }, \n  \"46693\": {\n    \"3386\": 1\n  }, \n  \"46694\": {\n    \"3386\": 1\n  }, \n  \"46695\": {\n    \"3386\": 1\n  }, \n  \"46696\": {\n    \"3386\": 1\n  }, \n  \"46697\": {\n    \"3386\": 1\n  }, \n  \"46698\": {\n    \"3386\": 1\n  }, \n  \"46699\": {\n    \"3386\": 1\n  }, \n  \"46700\": {\n    \"3386\": 1\n  }, \n  \"46701\": {\n    \"3386\": 1\n  }, \n  \"46702\": {\n    \"3386\": 1\n  }, \n  \"46703\": {\n    \"3386\": 1\n  }, \n  \"46704\": {\n    \"3386\": 1\n  }, \n  \"46705\": {\n    \"3386\": 1\n  }, \n  \"47016\": {\n    \"3402\": 1\n  }, \n  \"47028\": {\n    \"3411\": 5\n  }, \n  \"47254\": {\n    \"3394\": 1\n  }, \n  \"47255\": {\n    \"3394\": 1\n  }, \n  \"47256\": {\n    \"3394\": 1\n  }, \n  \"47257\": {\n    \"3394\": 5\n  }, \n  \"47258\": {\n    \"3394\": 1\n  }, \n  \"47261\": {\n    \"3411\": 1\n  }, \n  \"47262\": {\n    \"3411\": 1\n  }, \n  \"47263\": {\n    \"3411\": 1\n  }, \n  \"47265\": {\n    \"3402\": 1\n  }, \n  \"47266\": {\n    \"3402\": 1\n  }, \n  \"47267\": {\n    \"3402\": 1\n  }, \n  \"47269\": {\n    \"47867\": 1\n  }, \n  \"47270\": {\n    \"47868\": 1\n  }, \n  \"47271\": {\n    \"47869\": 1\n  }, \n  \"47272\": {\n    \"3300\": 1, \n    \"47870\": 1\n  }, \n  \"47273\": {\n    \"3300\": 3, \n    \"47871\": 1\n  }, \n  \"47274\": {\n    \"3300\": 5, \n    \"47872\": 1\n  }, \n  \"47395\": {\n    \"3402\": 1\n  }, \n  \"47396\": {\n    \"3402\": 1\n  }, \n  \"47397\": {\n    \"3402\": 1\n  }, \n  \"47408\": {\n    \"3454\": 4\n  }, \n  \"47445\": {\n    \"3327\": 5, \n    \"3430\": 1, \n    \"24764\": 1\n  }, \n  \"47447\": {\n    \"3318\": 2, \n    \"3436\": 2\n  }, \n  \"47448\": {\n    \"3318\": 5, \n    \"3436\": 5\n  }, \n  \"47457\": {\n    \"13278\": 1\n  }, \n  \"47466\": {\n    \"3327\": 1\n  }, \n  \"47481\": {\n    \"3402\": 1\n  }, \n  \"47702\": {\n    \"3435\": 4\n  }, \n  \"47705\": {\n    \"3402\": 1\n  }, \n  \"47706\": {\n    \"3402\": 1\n  }, \n  \"47707\": {\n    \"3402\": 1\n  }, \n  \"47708\": {\n    \"3402\": 1\n  }, \n  \"47727\": {\n    \"3337\": 5, \n    \"28667\": 1\n  }, \n  \"47728\": {\n    \"3337\": 5, \n    \"28667\": 1\n  }, \n  \"47732\": {\n    \"3435\": 2, \n    \"3449\": 1\n  }, \n  \"47736\": {\n    \"3435\": 2\n  }, \n  \"47740\": {\n    \"3454\": 3\n  }, \n  \"47745\": {\n    \"3454\": 4\n  }, \n  \"47749\": {\n    \"3450\": 4\n  }, \n  \"47753\": {\n    \"3450\": 4\n  }, \n  \"47757\": {\n    \"3450\": 4\n  }, \n  \"47769\": {\n    \"3392\": 3, \n    \"3393\": 3\n  }, \n  \"47773\": {\n    \"3392\": 4, \n    \"3393\": 4\n  }, \n  \"47777\": {\n    \"3392\": 5, \n    \"3393\": 4\n  }, \n  \"47781\": {\n    \"3416\": 3\n  }, \n  \"47785\": {\n    \"3416\": 3\n  }, \n  \"47789\": {\n    \"3416\": 4\n  }, \n  \"47793\": {\n    \"3416\": 5\n  }, \n  \"47800\": {\n    \"3425\": 3\n  }, \n  \"47804\": {\n    \"3425\": 4\n  }, \n  \"47808\": {\n    \"3425\": 4\n  }, \n  \"47812\": {\n    \"3394\": 4\n  }, \n  \"47817\": {\n    \"3394\": 5\n  }, \n  \"47820\": {\n    \"3394\": 5\n  }, \n  \"47824\": {\n    \"3423\": 3\n  }, \n  \"47828\": {\n    \"3423\": 4\n  }, \n  \"47832\": {\n    \"3423\": 5\n  }, \n  \"47836\": {\n    \"3416\": 4\n  }, \n  \"47838\": {\n    \"3416\": 4\n  }, \n  \"47840\": {\n    \"3416\": 5\n  }, \n  \"47842\": {\n    \"3392\": 3, \n    \"3393\": 4\n  }, \n  \"47844\": {\n    \"3392\": 4, \n    \"3393\": 4\n  }, \n  \"47846\": {\n    \"3392\": 5, \n    \"3393\": 4\n  }, \n  \"47867\": {\n    \"3327\": 1\n  }, \n  \"47868\": {\n    \"3327\": 4, \n    \"49742\": 3\n  }, \n  \"47869\": {\n    \"3327\": 5, \n    \"49743\": 3\n  }, \n  \"47870\": {\n    \"3300\": 1\n  }, \n  \"47871\": {\n    \"3300\": 3, \n    \"47870\": 3\n  }, \n  \"47872\": {\n    \"3300\": 5, \n    \"47871\": 3\n  }, \n  \"47873\": {\n    \"3312\": 3, \n    \"47870\": 5\n  }, \n  \"47874\": {\n    \"3312\": 4, \n    \"47871\": 5\n  }, \n  \"47875\": {\n    \"3312\": 5, \n    \"47872\": 5\n  }, \n  \"47881\": {\n    \"26252\": 1\n  }, \n  \"47882\": {\n    \"26252\": 1\n  }, \n  \"47883\": {\n    \"26252\": 1\n  }, \n  \"47884\": {\n    \"26252\": 1\n  }, \n  \"47908\": {\n    \"3318\": 1\n  }, \n  \"47909\": {\n    \"3318\": 1\n  }, \n  \"47911\": {\n    \"3318\": 4\n  }, \n  \"47912\": {\n    \"3300\": 1, \n    \"47870\": 1\n  }, \n  \"47913\": {\n    \"3300\": 1, \n    \"47870\": 1\n  }, \n  \"47914\": {\n    \"3300\": 1, \n    \"47870\": 5, \n    \"47873\": 1\n  }, \n  \"47915\": {\n    \"3300\": 1, \n    \"47870\": 1\n  }, \n  \"47916\": {\n    \"3300\": 3, \n    \"47871\": 1\n  }, \n  \"47917\": {\n    \"3300\": 3, \n    \"47871\": 1\n  }, \n  \"47918\": {\n    \"3300\": 3, \n    \"47871\": 5, \n    \"47874\": 1\n  }, \n  \"47919\": {\n    \"3300\": 3, \n    \"47871\": 1\n  }, \n  \"47920\": {\n    \"3300\": 5, \n    \"47872\": 1\n  }, \n  \"47921\": {\n    \"3300\": 5, \n    \"47872\": 1\n  }, \n  \"47922\": {\n    \"3300\": 5, \n    \"47872\": 5, \n    \"47875\": 1\n  }, \n  \"47923\": {\n    \"3300\": 5, \n    \"47872\": 1\n  }, \n  \"47926\": {\n    \"47873\": 1\n  }, \n  \"47927\": {\n    \"47873\": 1\n  }, \n  \"47930\": {\n    \"47874\": 1\n  }, \n  \"47931\": {\n    \"47874\": 1\n  }, \n  \"47934\": {\n    \"47875\": 1\n  }, \n  \"47935\": {\n    \"47875\": 1\n  }, \n  \"47979\": {\n    \"26252\": 1\n  }, \n  \"47980\": {\n    \"26252\": 1\n  }, \n  \"47981\": {\n    \"26252\": 1\n  }, \n  \"47982\": {\n    \"26252\": 1\n  }, \n  \"47983\": {\n    \"26252\": 1\n  }, \n  \"47984\": {\n    \"26252\": 1\n  }, \n  \"47985\": {\n    \"26252\": 1\n  }, \n  \"47986\": {\n    \"26252\": 1\n  }, \n  \"47987\": {\n    \"26252\": 1\n  }, \n  \"47988\": {\n    \"26252\": 1\n  }, \n  \"47989\": {\n    \"26252\": 1\n  }, \n  \"47990\": {\n    \"26252\": 1\n  }, \n  \"47991\": {\n    \"26252\": 1\n  }, \n  \"47992\": {\n    \"26252\": 1\n  }, \n  \"47993\": {\n    \"26252\": 1\n  }, \n  \"47994\": {\n    \"26252\": 1\n  }, \n  \"47995\": {\n    \"26252\": 1\n  }, \n  \"47996\": {\n    \"26252\": 1\n  }, \n  \"47997\": {\n    \"26252\": 1\n  }, \n  \"47998\": {\n    \"26252\": 1\n  }, \n  \"47999\": {\n    \"26252\": 1\n  }, \n  \"48000\": {\n    \"26252\": 1\n  }, \n  \"48001\": {\n    \"26252\": 1\n  }, \n  \"48002\": {\n    \"26252\": 1\n  }, \n  \"48003\": {\n    \"26252\": 1\n  }, \n  \"48004\": {\n    \"26252\": 1\n  }, \n  \"48005\": {\n    \"26252\": 1\n  }, \n  \"48006\": {\n    \"26252\": 1\n  }, \n  \"48007\": {\n    \"26252\": 1\n  }, \n  \"48008\": {\n    \"26252\": 1\n  }, \n  \"48009\": {\n    \"26252\": 1\n  }, \n  \"48010\": {\n    \"26252\": 1\n  }, \n  \"48011\": {\n    \"26252\": 1\n  }, \n  \"48012\": {\n    \"26252\": 1\n  }, \n  \"48013\": {\n    \"26252\": 1\n  }, \n  \"48014\": {\n    \"26252\": 1\n  }, \n  \"48015\": {\n    \"26252\": 1\n  }, \n  \"48016\": {\n    \"26252\": 1\n  }, \n  \"48017\": {\n    \"26252\": 1\n  }, \n  \"48018\": {\n    \"26252\": 1\n  }, \n  \"48019\": {\n    \"26252\": 1\n  }, \n  \"48020\": {\n    \"26252\": 1\n  }, \n  \"48021\": {\n    \"26252\": 1\n  }, \n  \"48022\": {\n    \"26252\": 1\n  }, \n  \"48023\": {\n    \"26252\": 1\n  }, \n  \"48024\": {\n    \"26252\": 1\n  }, \n  \"48025\": {\n    \"26252\": 1\n  }, \n  \"48026\": {\n    \"26252\": 1\n  }, \n  \"48027\": {\n    \"26252\": 1\n  }, \n  \"48028\": {\n    \"26252\": 1\n  }, \n  \"48029\": {\n    \"26252\": 1\n  }, \n  \"48030\": {\n    \"26252\": 1\n  }, \n  \"48031\": {\n    \"26252\": 1\n  }, \n  \"48032\": {\n    \"26252\": 1\n  }, \n  \"48033\": {\n    \"26252\": 1\n  }, \n  \"48034\": {\n    \"26252\": 1\n  }, \n  \"48035\": {\n    \"26252\": 1\n  }, \n  \"48036\": {\n    \"26252\": 1\n  }, \n  \"48037\": {\n    \"26252\": 1\n  }, \n  \"48038\": {\n    \"26252\": 1\n  }, \n  \"48039\": {\n    \"26252\": 1\n  }, \n  \"48040\": {\n    \"26252\": 1\n  }, \n  \"48041\": {\n    \"26252\": 1\n  }, \n  \"48042\": {\n    \"26252\": 1\n  }, \n  \"48043\": {\n    \"26252\": 1\n  }, \n  \"48044\": {\n    \"26252\": 1\n  }, \n  \"48045\": {\n    \"26252\": 1\n  }, \n  \"48046\": {\n    \"26252\": 1\n  }, \n  \"48047\": {\n    \"26252\": 1\n  }, \n  \"48048\": {\n    \"26252\": 1\n  }, \n  \"48049\": {\n    \"26252\": 1\n  }, \n  \"48050\": {\n    \"26252\": 1\n  }, \n  \"48051\": {\n    \"26252\": 1\n  }, \n  \"48052\": {\n    \"26252\": 1\n  }, \n  \"48053\": {\n    \"26252\": 1\n  }, \n  \"48054\": {\n    \"26252\": 1\n  }, \n  \"48055\": {\n    \"26252\": 1\n  }, \n  \"48056\": {\n    \"26252\": 1\n  }, \n  \"48057\": {\n    \"26252\": 1\n  }, \n  \"48058\": {\n    \"26252\": 1\n  }, \n  \"48059\": {\n    \"26252\": 1\n  }, \n  \"48060\": {\n    \"26252\": 1\n  }, \n  \"48061\": {\n    \"26252\": 1\n  }, \n  \"48062\": {\n    \"26252\": 1\n  }, \n  \"48063\": {\n    \"26252\": 1\n  }, \n  \"48064\": {\n    \"26252\": 1\n  }, \n  \"48065\": {\n    \"26252\": 1\n  }, \n  \"48066\": {\n    \"26252\": 1\n  }, \n  \"48067\": {\n    \"26252\": 1\n  }, \n  \"48068\": {\n    \"26252\": 1\n  }, \n  \"48069\": {\n    \"26252\": 1\n  }, \n  \"48070\": {\n    \"26252\": 1\n  }, \n  \"48071\": {\n    \"26252\": 1\n  }, \n  \"48072\": {\n    \"26252\": 1\n  }, \n  \"48073\": {\n    \"26252\": 1\n  }, \n  \"48074\": {\n    \"26252\": 1\n  }, \n  \"48075\": {\n    \"26252\": 1\n  }, \n  \"48076\": {\n    \"26252\": 1\n  }, \n  \"48077\": {\n    \"26252\": 1\n  }, \n  \"48078\": {\n    \"26252\": 1\n  }, \n  \"48116\": {\n    \"3402\": 1\n  }, \n  \"48117\": {\n    \"3402\": 1\n  }, \n  \"48118\": {\n    \"3402\": 1\n  }, \n  \"48133\": {\n    \"21718\": 1\n  }, \n  \"48148\": {\n    \"3411\": 3\n  }, \n  \"48149\": {\n    \"3411\": 3\n  }, \n  \"48150\": {\n    \"3402\": 1\n  }, \n  \"48151\": {\n    \"3402\": 1\n  }, \n  \"48152\": {\n    \"3402\": 1\n  }, \n  \"48153\": {\n    \"3402\": 1\n  }, \n  \"48419\": {\n    \"3423\": 2\n  }, \n  \"48423\": {\n    \"3423\": 3\n  }, \n  \"48427\": {\n    \"3423\": 4\n  }, \n  \"48431\": {\n    \"3424\": 2\n  }, \n  \"48435\": {\n    \"3424\": 3\n  }, \n  \"48439\": {\n    \"3424\": 4\n  }, \n  \"48582\": {\n    \"3402\": 1\n  }, \n  \"48599\": {\n    \"3402\": 1\n  }, \n  \"48600\": {\n    \"3402\": 1\n  }, \n  \"48601\": {\n    \"3402\": 1\n  }, \n  \"48602\": {\n    \"3402\": 1\n  }, \n  \"48603\": {\n    \"3402\": 1\n  }, \n  \"48604\": {\n    \"3402\": 1\n  }, \n  \"48605\": {\n    \"3402\": 1\n  }, \n  \"48606\": {\n    \"3402\": 1\n  }, \n  \"48607\": {\n    \"3402\": 1\n  }, \n  \"48608\": {\n    \"3402\": 1\n  }, \n  \"48609\": {\n    \"3402\": 1\n  }, \n  \"48610\": {\n    \"3402\": 1\n  }, \n  \"48611\": {\n    \"3402\": 1\n  }, \n  \"48612\": {\n    \"3402\": 1\n  }, \n  \"48613\": {\n    \"3402\": 1\n  }, \n  \"48614\": {\n    \"3402\": 1\n  }, \n  \"48615\": {\n    \"3402\": 1\n  }, \n  \"48616\": {\n    \"3402\": 1\n  }, \n  \"48635\": {\n    \"22761\": 1, \n    \"47868\": 5\n  }, \n  \"48636\": {\n    \"12093\": 1, \n    \"47867\": 5\n  }, \n  \"48743\": {\n    \"21718\": 1\n  }, \n  \"48744\": {\n    \"3436\": 5, \n    \"33699\": 1\n  }, \n  \"48746\": {\n    \"3411\": 3\n  }, \n  \"48747\": {\n    \"3411\": 3\n  }, \n  \"48780\": {\n    \"3386\": 0\n  }, \n  \"48916\": {\n    \"3386\": 1\n  }, \n  \"49099\": {\n    \"11446\": 4\n  }, \n  \"49538\": {\n    \"3402\": 1\n  }, \n  \"49539\": {\n    \"3402\": 1\n  }, \n  \"49540\": {\n    \"3402\": 1\n  }, \n  \"49541\": {\n    \"3402\": 1\n  }, \n  \"49701\": {\n    \"3355\": 1\n  }, \n  \"49710\": {\n    \"49742\": 1\n  }, \n  \"49711\": {\n    \"49743\": 1\n  }, \n  \"49712\": {\n    \"47868\": 1\n  }, \n  \"49713\": {\n    \"12096\": 1, \n    \"47868\": 5\n  }, \n  \"49722\": {\n    \"3318\": 4\n  }, \n  \"49726\": {\n    \"3318\": 4\n  }, \n  \"49730\": {\n    \"3318\": 4\n  }, \n  \"49734\": {\n    \"3318\": 4\n  }, \n  \"49738\": {\n    \"3318\": 4\n  }, \n  \"49742\": {\n    \"47867\": 3\n  }, \n  \"49743\": {\n    \"3327\": 4, \n    \"47868\": 3\n  }, \n  \"49749\": {\n    \"3355\": 1\n  }, \n  \"49753\": {\n    \"3402\": 1\n  }, \n  \"49770\": {\n    \"16069\": 2\n  }, \n  \"49771\": {\n    \"16069\": 2\n  }, \n  \"49772\": {\n    \"16069\": 2\n  }, \n  \"49773\": {\n    \"16069\": 4\n  }, \n  \"49774\": {\n    \"16069\": 2\n  }, \n  \"49788\": {\n    \"21718\": 1\n  }, \n  \"49789\": {\n    \"3386\": 1\n  }, \n  \"49790\": {\n    \"3318\": 1\n  }, \n  \"49791\": {\n    \"13278\": 3, \n    \"21718\": 3\n  }, \n  \"49792\": {\n    \"16281\": 3, \n    \"22578\": 3\n  }, \n  \"50007\": {\n    \"3402\": 1\n  }, \n  \"50008\": {\n    \"3402\": 1\n  }, \n  \"50009\": {\n    \"3402\": 1\n  }, \n  \"50010\": {\n    \"3402\": 1\n  }, \n  \"50015\": {\n    \"3386\": 1\n  }, \n  \"50053\": {\n    \"3411\": 1\n  }, \n  \"50066\": {\n    \"3411\": 1\n  }, \n  \"50067\": {\n    \"3411\": 1\n  }, \n  \"52227\": {\n    \"3394\": 4\n  }, \n  \"52230\": {\n    \"3394\": 5\n  }, \n  \"52236\": {\n    \"3300\": 1, \n    \"47870\": 1\n  }, \n  \"52238\": {\n    \"3300\": 3, \n    \"47871\": 1\n  }, \n  \"52240\": {\n    \"3300\": 5, \n    \"47872\": 1\n  }, \n  \"52242\": {\n    \"3318\": 1\n  }, \n  \"52244\": {\n    \"3318\": 1\n  }, \n  \"52250\": {\n    \"12095\": 1, \n    \"47867\": 5\n  }, \n  \"52252\": {\n    \"16591\": 1, \n    \"47868\": 5\n  }, \n  \"52254\": {\n    \"37615\": 1, \n    \"49742\": 5\n  }, \n  \"52264\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"52265\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"52266\": {\n    \"9955\": 5\n  }, \n  \"52267\": {\n    \"3335\": 1\n  }, \n  \"52306\": {\n    \"3386\": 1\n  }, \n  \"52307\": {\n    \"3392\": 5, \n    \"3402\": 5\n  }, \n  \"52308\": {\n    \"3402\": 5, \n    \"3403\": 4, \n    \"3409\": 4\n  }, \n  \"52315\": {\n    \"3386\": 1\n  }, \n  \"52316\": {\n    \"3386\": 1\n  }, \n  \"52476\": {\n    \"3319\": 1, \n    \"3321\": 1\n  }, \n  \"52477\": {\n    \"3319\": 1, \n    \"3324\": 1\n  }, \n  \"52523\": {\n    \"3402\": 1\n  }, \n  \"52524\": {\n    \"3402\": 1\n  }, \n  \"52674\": {\n    \"3411\": 2\n  }, \n  \"52679\": {\n    \"3411\": 2\n  }, \n  \"52680\": {\n    \"3411\": 3\n  }, \n  \"52681\": {\n    \"3411\": 3\n  }, \n  \"52682\": {\n    \"3411\": 4\n  }, \n  \"52683\": {\n    \"3411\": 5\n  }, \n  \"52694\": {\n    \"21603\": 1\n  }, \n  \"52785\": {\n    \"3411\": 2\n  }, \n  \"52786\": {\n    \"3411\": 2\n  }, \n  \"52787\": {\n    \"3411\": 3\n  }, \n  \"52788\": {\n    \"3411\": 3\n  }, \n  \"52789\": {\n    \"3411\": 4\n  }, \n  \"52790\": {\n    \"3411\": 5\n  }, \n  \"52798\": {\n    \"3402\": 1\n  }, \n  \"52799\": {\n    \"3402\": 1\n  }, \n  \"52800\": {\n    \"3402\": 1\n  }, \n  \"52801\": {\n    \"3402\": 1\n  }, \n  \"52802\": {\n    \"3402\": 1\n  }, \n  \"52803\": {\n    \"3402\": 1\n  }, \n  \"52804\": {\n    \"3402\": 1\n  }, \n  \"52805\": {\n    \"3402\": 1\n  }, \n  \"52806\": {\n    \"3402\": 1\n  }, \n  \"52807\": {\n    \"3402\": 1\n  }, \n  \"52808\": {\n    \"3402\": 1\n  }, \n  \"52809\": {\n    \"3402\": 1\n  }, \n  \"52810\": {\n    \"3402\": 1\n  }, \n  \"52811\": {\n    \"3402\": 1\n  }, \n  \"52812\": {\n    \"3402\": 1\n  }, \n  \"52813\": {\n    \"3402\": 1\n  }, \n  \"52814\": {\n    \"3402\": 1\n  }, \n  \"52907\": {\n    \"3456\": 1, \n    \"20533\": 1, \n    \"52997\": 1\n  }, \n  \"52915\": {\n    \"3300\": 5, \n    \"52998\": 1\n  }, \n  \"52917\": {\n    \"3411\": 2\n  }, \n  \"52918\": {\n    \"3411\": 2\n  }, \n  \"52919\": {\n    \"3411\": 3\n  }, \n  \"52920\": {\n    \"3411\": 4\n  }, \n  \"52921\": {\n    \"3411\": 3\n  }, \n  \"52922\": {\n    \"3411\": 5\n  }, \n  \"52997\": {\n    \"20533\": 3, \n    \"22043\": 1, \n    \"47869\": 3\n  }, \n  \"52998\": {\n    \"3300\": 5, \n    \"47872\": 5\n  }, \n  \"53081\": {\n    \"21718\": 1\n  }, \n  \"53085\": {\n    \"21718\": 1\n  }, \n  \"53287\": {\n    \"3402\": 1\n  }, \n  \"53345\": {\n    \"3402\": 1\n  }, \n  \"53704\": {\n    \"3411\": 2\n  }, \n  \"53705\": {\n    \"3411\": 2\n  }, \n  \"53706\": {\n    \"3411\": 3\n  }, \n  \"53707\": {\n    \"3411\": 4\n  }, \n  \"53708\": {\n    \"3411\": 3\n  }, \n  \"53709\": {\n    \"3411\": 5\n  }, \n  \"53710\": {\n    \"3411\": 2\n  }, \n  \"53711\": {\n    \"3411\": 2\n  }, \n  \"53712\": {\n    \"3411\": 3\n  }, \n  \"53713\": {\n    \"3411\": 4\n  }, \n  \"53714\": {\n    \"3411\": 5\n  }, \n  \"53715\": {\n    \"3411\": 3\n  }, \n  \"53839\": {\n    \"3411\": 5\n  }, \n  \"53853\": {\n    \"3411\": 2\n  }, \n  \"53854\": {\n    \"3411\": 2\n  }, \n  \"53855\": {\n    \"3411\": 3\n  }, \n  \"53856\": {\n    \"3411\": 3\n  }, \n  \"53857\": {\n    \"3411\": 4\n  }, \n  \"53890\": {\n    \"3411\": 2\n  }, \n  \"53891\": {\n    \"3411\": 2\n  }, \n  \"53892\": {\n    \"3411\": 3\n  }, \n  \"53893\": {\n    \"3411\": 3\n  }, \n  \"53894\": {\n    \"3411\": 4\n  }, \n  \"53895\": {\n    \"3411\": 5\n  }, \n  \"53896\": {\n    \"3411\": 2\n  }, \n  \"53897\": {\n    \"3411\": 2\n  }, \n  \"53898\": {\n    \"3411\": 3\n  }, \n  \"53899\": {\n    \"3411\": 3\n  }, \n  \"53900\": {\n    \"3411\": 4\n  }, \n  \"53901\": {\n    \"3411\": 5\n  }, \n  \"53902\": {\n    \"3411\": 2\n  }, \n  \"53903\": {\n    \"3411\": 2\n  }, \n  \"53904\": {\n    \"3411\": 3\n  }, \n  \"53905\": {\n    \"3411\": 3\n  }, \n  \"53906\": {\n    \"3411\": 4\n  }, \n  \"53907\": {\n    \"3411\": 5\n  }, \n  \"54291\": {\n    \"3420\": 1\n  }, \n  \"54292\": {\n    \"3420\": 1\n  }, \n  \"54293\": {\n    \"3420\": 1\n  }, \n  \"54294\": {\n    \"3420\": 1\n  }, \n  \"54295\": {\n    \"3420\": 1\n  }, \n  \"54392\": {\n    \"3411\": 2\n  }, \n  \"54393\": {\n    \"3411\": 2\n  }, \n  \"54394\": {\n    \"3411\": 3\n  }, \n  \"54395\": {\n    \"3411\": 3\n  }, \n  \"54396\": {\n    \"3411\": 4\n  }, \n  \"54397\": {\n    \"3411\": 5\n  }, \n  \"54398\": {\n    \"3411\": 2\n  }, \n  \"54399\": {\n    \"3411\": 2\n  }, \n  \"54400\": {\n    \"3411\": 3\n  }, \n  \"54401\": {\n    \"3411\": 3\n  }, \n  \"54402\": {\n    \"3411\": 4\n  }, \n  \"54403\": {\n    \"3411\": 5\n  }, \n  \"54404\": {\n    \"3411\": 2\n  }, \n  \"54405\": {\n    \"3411\": 2\n  }, \n  \"54406\": {\n    \"3411\": 3\n  }, \n  \"54407\": {\n    \"3411\": 3\n  }, \n  \"54408\": {\n    \"3411\": 4\n  }, \n  \"54409\": {\n    \"3411\": 5\n  }, \n  \"54534\": {\n    \"3411\": 1\n  }, \n  \"54535\": {\n    \"3411\": 2\n  }, \n  \"54536\": {\n    \"3411\": 4\n  }, \n  \"54537\": {\n    \"3411\": 1\n  }, \n  \"54538\": {\n    \"3411\": 2\n  }, \n  \"54539\": {\n    \"3411\": 4\n  }, \n  \"54540\": {\n    \"3411\": 1\n  }, \n  \"54541\": {\n    \"3411\": 2\n  }, \n  \"54542\": {\n    \"3411\": 4\n  }, \n  \"54543\": {\n    \"3411\": 1\n  }, \n  \"54544\": {\n    \"3411\": 1\n  }, \n  \"54545\": {\n    \"3411\": 1\n  }, \n  \"54588\": {\n    \"3405\": 1\n  }, \n  \"54589\": {\n    \"3405\": 1\n  }, \n  \"54590\": {\n    \"3405\": 1\n  }, \n  \"54591\": {\n    \"3405\": 1\n  }, \n  \"54593\": {\n    \"3405\": 1\n  }, \n  \"54594\": {\n    \"3405\": 1\n  }, \n  \"54595\": {\n    \"3405\": 1\n  }, \n  \"54596\": {\n    \"3405\": 1\n  }, \n  \"54598\": {\n    \"3405\": 1\n  }, \n  \"54599\": {\n    \"3405\": 1\n  }, \n  \"54600\": {\n    \"3405\": 1\n  }, \n  \"54601\": {\n    \"3405\": 1\n  }, \n  \"54603\": {\n    \"3405\": 1\n  }, \n  \"54604\": {\n    \"3405\": 1\n  }, \n  \"54605\": {\n    \"3405\": 1\n  }, \n  \"54606\": {\n    \"3405\": 1\n  }, \n  \"54610\": {\n    \"3405\": 1\n  }, \n  \"54611\": {\n    \"3405\": 1\n  }, \n  \"54612\": {\n    \"3405\": 1\n  }, \n  \"54613\": {\n    \"3405\": 1\n  }, \n  \"54615\": {\n    \"3405\": 1\n  }, \n  \"54616\": {\n    \"3405\": 1\n  }, \n  \"54617\": {\n    \"3405\": 1\n  }, \n  \"54618\": {\n    \"3405\": 1\n  }, \n  \"54620\": {\n    \"3405\": 1\n  }, \n  \"54621\": {\n    \"3405\": 1\n  }, \n  \"54622\": {\n    \"3405\": 1\n  }, \n  \"54623\": {\n    \"3405\": 1\n  }, \n  \"54625\": {\n    \"3405\": 1\n  }, \n  \"54626\": {\n    \"3405\": 1\n  }, \n  \"54627\": {\n    \"3405\": 1\n  }, \n  \"54628\": {\n    \"3405\": 1\n  }, \n  \"54651\": {\n    \"3402\": 1\n  }, \n  \"54655\": {\n    \"3402\": 1\n  }, \n  \"54656\": {\n    \"3402\": 1\n  }, \n  \"54657\": {\n    \"3402\": 1\n  }, \n  \"54660\": {\n    \"3402\": 1\n  }, \n  \"54731\": {\n    \"55031\": 1\n  }, \n  \"54732\": {\n    \"55032\": 1\n  }, \n  \"54733\": {\n    \"54794\": 1\n  }, \n  \"54739\": {\n    \"55033\": 1, \n    \"55034\": 1\n  }, \n  \"54740\": {\n    \"55033\": 1, \n    \"55034\": 1\n  }, \n  \"54741\": {\n    \"55033\": 1, \n    \"55034\": 1\n  }, \n  \"54742\": {\n    \"54827\": 1, \n    \"55033\": 1, \n    \"55034\": 5\n  }, \n  \"54743\": {\n    \"55033\": 1, \n    \"55034\": 1\n  }, \n  \"54745\": {\n    \"55033\": 3, \n    \"55035\": 1\n  }, \n  \"54746\": {\n    \"55033\": 3, \n    \"55035\": 1\n  }, \n  \"54747\": {\n    \"55033\": 3, \n    \"55035\": 1\n  }, \n  \"54748\": {\n    \"54828\": 1, \n    \"55033\": 3, \n    \"55035\": 5\n  }, \n  \"54749\": {\n    \"55033\": 3, \n    \"55035\": 1\n  }, \n  \"54750\": {\n    \"54826\": 1, \n    \"55033\": 5\n  }, \n  \"54751\": {\n    \"54826\": 1, \n    \"55033\": 5\n  }, \n  \"54752\": {\n    \"54826\": 1, \n    \"55033\": 5\n  }, \n  \"54753\": {\n    \"54826\": 5, \n    \"54829\": 1, \n    \"55033\": 5\n  }, \n  \"54754\": {\n    \"54826\": 1, \n    \"55033\": 5\n  }, \n  \"54781\": {\n    \"54827\": 1\n  }, \n  \"54782\": {\n    \"54829\": 1\n  }, \n  \"54783\": {\n    \"54829\": 1\n  }, \n  \"54784\": {\n    \"54827\": 1\n  }, \n  \"54785\": {\n    \"54828\": 1\n  }, \n  \"54786\": {\n    \"54828\": 1\n  }, \n  \"54790\": {\n    \"3327\": 1\n  }, \n  \"54793\": {\n    \"3327\": 2, \n    \"54790\": 3\n  }, \n  \"54794\": {\n    \"3327\": 5, \n    \"55032\": 3\n  }, \n  \"54812\": {\n    \"3402\": 1\n  }, \n  \"54813\": {\n    \"3402\": 1\n  }, \n  \"54814\": {\n    \"3402\": 1\n  }, \n  \"54815\": {\n    \"3355\": 1\n  }, \n  \"54816\": {\n    \"3355\": 1\n  }, \n  \"54817\": {\n    \"3355\": 1\n  }, \n  \"54824\": {\n    \"54839\": 1\n  }, \n  \"54825\": {\n    \"54824\": 3, \n    \"54839\": 3\n  }, \n  \"54826\": {\n    \"55033\": 5, \n    \"55035\": 3\n  }, \n  \"54827\": {\n    \"54841\": 3, \n    \"55034\": 5\n  }, \n  \"54828\": {\n    \"54841\": 4, \n    \"55035\": 5\n  }, \n  \"54829\": {\n    \"54826\": 5, \n    \"54841\": 5\n  }, \n  \"54840\": {\n    \"55033\": 4\n  }, \n  \"54841\": {\n    \"55033\": 2\n  }, \n  \"54973\": {\n    \"3318\": 1\n  }, \n  \"54974\": {\n    \"3318\": 1\n  }, \n  \"54975\": {\n    \"3318\": 4\n  }, \n  \"54976\": {\n    \"3402\": 1\n  }, \n  \"55025\": {\n    \"21718\": 2\n  }, \n  \"55031\": {\n    \"3327\": 1\n  }, \n  \"55032\": {\n    \"3327\": 2, \n    \"55031\": 3\n  }, \n  \"55034\": {\n    \"55033\": 1\n  }, \n  \"55035\": {\n    \"55033\": 3, \n    \"55034\": 3\n  }, \n  \"55038\": {\n    \"3405\": 1\n  }, \n  \"55039\": {\n    \"3405\": 1\n  }, \n  \"55040\": {\n    \"3405\": 1\n  }, \n  \"55041\": {\n    \"3405\": 1\n  }, \n  \"55042\": {\n    \"3405\": 1\n  }, \n  \"55043\": {\n    \"3405\": 1\n  }, \n  \"55044\": {\n    \"3405\": 1\n  }, \n  \"55045\": {\n    \"3405\": 1\n  }, \n  \"55046\": {\n    \"3405\": 1\n  }, \n  \"55511\": {\n    \"55033\": 2\n  }, \n  \"55700\": {\n    \"3402\": 1\n  }, \n  \"55747\": {\n    \"3402\": 1\n  }, \n  \"55760\": {\n    \"3436\": 1, \n    \"3440\": 5, \n    \"25863\": 4, \n    \"57164\": 1\n  }, \n  \"55761\": {\n    \"3436\": 1, \n    \"3440\": 4, \n    \"25863\": 4\n  }, \n  \"55803\": {\n    \"3402\": 1\n  }, \n  \"55804\": {\n    \"3402\": 1\n  }, \n  \"55805\": {\n    \"3402\": 1\n  }, \n  \"55806\": {\n    \"3402\": 1\n  }, \n  \"55826\": {\n    \"3402\": 1\n  }, \n  \"55859\": {\n    \"3402\": 1\n  }, \n  \"55860\": {\n    \"3394\": 3\n  }, \n  \"55862\": {\n    \"3394\": 3\n  }, \n  \"55927\": {\n    \"3402\": 1\n  }, \n  \"55928\": {\n    \"3402\": 1\n  }, \n  \"55929\": {\n    \"3402\": 1\n  }, \n  \"55942\": {\n    \"3402\": 1\n  }, \n  \"55943\": {\n    \"3402\": 1\n  }, \n  \"55944\": {\n    \"3402\": 1\n  }, \n  \"55945\": {\n    \"3402\": 1\n  }, \n  \"55946\": {\n    \"3402\": 1\n  }, \n  \"55947\": {\n    \"3402\": 1\n  }, \n  \"55977\": {\n    \"3402\": 1\n  }, \n  \"56128\": {\n    \"3402\": 1\n  }, \n  \"56129\": {\n    \"3402\": 1\n  }, \n  \"56130\": {\n    \"3402\": 1\n  }, \n  \"56179\": {\n    \"3402\": 1\n  }, \n  \"56180\": {\n    \"3402\": 1\n  }, \n  \"56181\": {\n    \"3402\": 1\n  }, \n  \"56182\": {\n    \"3402\": 1\n  }, \n  \"56183\": {\n    \"3402\": 1\n  }, \n  \"56184\": {\n    \"3402\": 1\n  }, \n  \"56185\": {\n    \"3402\": 1\n  }, \n  \"56186\": {\n    \"3402\": 1\n  }, \n  \"56187\": {\n    \"3402\": 1\n  }, \n  \"56303\": {\n    \"3435\": 5, \n    \"3449\": 5\n  }, \n  \"56304\": {\n    \"3435\": 5\n  }, \n  \"56305\": {\n    \"3450\": 4\n  }, \n  \"56306\": {\n    \"3454\": 4\n  }, \n  \"56307\": {\n    \"21803\": 4\n  }, \n  \"56308\": {\n    \"3392\": 3, \n    \"21803\": 1\n  }, \n  \"56309\": {\n    \"21802\": 4\n  }, \n  \"56310\": {\n    \"21802\": 4\n  }, \n  \"56311\": {\n    \"3423\": 5\n  }, \n  \"56312\": {\n    \"3423\": 5\n  }, \n  \"56313\": {\n    \"22043\": 5\n  }, \n  \"56362\": {\n    \"11584\": 1\n  }, \n  \"56569\": {\n    \"9955\": 1\n  }, \n  \"56619\": {\n    \"3402\": 1\n  }, \n  \"56620\": {\n    \"3402\": 1\n  }, \n  \"56621\": {\n    \"3402\": 1\n  }, \n  \"56625\": {\n    \"3386\": 1\n  }, \n  \"56626\": {\n    \"3386\": 1\n  }, \n  \"56627\": {\n    \"3386\": 1\n  }, \n  \"56628\": {\n    \"3386\": 1\n  }, \n  \"56629\": {\n    \"3386\": 1\n  }, \n  \"56630\": {\n    \"3386\": 1\n  }, \n  \"56631\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"56632\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"56633\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"56640\": {\n    \"3402\": 1\n  }, \n  \"56659\": {\n    \"3402\": 1\n  }, \n  \"56661\": {\n    \"3402\": 1\n  }, \n  \"56662\": {\n    \"3402\": 1\n  }, \n  \"56733\": {\n    \"3402\": 1\n  }, \n  \"56735\": {\n    \"24606\": 3\n  }, \n  \"56748\": {\n    \"3412\": 3\n  }, \n  \"56823\": {\n    \"3402\": 1\n  }, \n  \"56833\": {\n    \"3402\": 1\n  }, \n  \"56834\": {\n    \"3402\": 1\n  }, \n  \"56835\": {\n    \"3402\": 1\n  }, \n  \"56871\": {\n    \"21718\": 1\n  }, \n  \"56950\": {\n    \"16281\": 1\n  }, \n  \"56970\": {\n    \"3402\": 1\n  }, \n  \"56984\": {\n    \"3402\": 1\n  }, \n  \"56985\": {\n    \"3402\": 1\n  }, \n  \"56986\": {\n    \"3402\": 1\n  }, \n  \"56987\": {\n    \"3402\": 1\n  }, \n  \"56988\": {\n    \"3402\": 1\n  }, \n  \"56989\": {\n    \"3402\": 1\n  }, \n  \"56990\": {\n    \"3402\": 1\n  }, \n  \"56991\": {\n    \"3402\": 1\n  }, \n  \"56992\": {\n    \"3402\": 1\n  }, \n  \"56993\": {\n    \"3402\": 1\n  }, \n  \"56994\": {\n    \"3402\": 1\n  }, \n  \"56995\": {\n    \"3402\": 1\n  }, \n  \"57000\": {\n    \"3402\": 1\n  }, \n  \"57001\": {\n    \"3402\": 1\n  }, \n  \"57002\": {\n    \"3402\": 1\n  }, \n  \"57027\": {\n    \"16281\": 1\n  }, \n  \"57028\": {\n    \"16281\": 1\n  }, \n  \"57029\": {\n    \"21718\": 1\n  }, \n  \"57030\": {\n    \"21718\": 1\n  }, \n  \"57035\": {\n    \"3402\": 1\n  }, \n  \"57036\": {\n    \"3402\": 1\n  }, \n  \"57037\": {\n    \"3402\": 1\n  }, \n  \"57110\": {\n    \"3411\": 2\n  }, \n  \"57111\": {\n    \"3411\": 2\n  }, \n  \"57112\": {\n    \"3411\": 3\n  }, \n  \"57113\": {\n    \"3411\": 3\n  }, \n  \"57114\": {\n    \"3411\": 4\n  }, \n  \"57116\": {\n    \"3411\": 5\n  }, \n  \"57117\": {\n    \"3411\": 2\n  }, \n  \"57118\": {\n    \"3411\": 2\n  }, \n  \"57119\": {\n    \"3411\": 3\n  }, \n  \"57120\": {\n    \"3411\": 3\n  }, \n  \"57121\": {\n    \"3411\": 4\n  }, \n  \"57122\": {\n    \"3411\": 5\n  }, \n  \"57123\": {\n    \"3411\": 2\n  }, \n  \"57124\": {\n    \"3411\": 2\n  }, \n  \"57125\": {\n    \"3411\": 3\n  }, \n  \"57126\": {\n    \"3411\": 3\n  }, \n  \"57127\": {\n    \"3411\": 4\n  }, \n  \"57128\": {\n    \"3411\": 5\n  }, \n  \"57164\": {\n    \"3440\": 5, \n    \"25863\": 4\n  }, \n  \"57201\": {\n    \"3402\": 1\n  }, \n  \"57209\": {\n    \"3402\": 1\n  }, \n  \"57210\": {\n    \"3402\": 1\n  }, \n  \"57211\": {\n    \"3402\": 1\n  }, \n  \"57212\": {\n    \"3402\": 1\n  }, \n  \"57287\": {\n    \"3402\": 1\n  }, \n  \"57288\": {\n    \"3402\": 1\n  }, \n  \"57289\": {\n    \"3402\": 1\n  }, \n  \"57290\": {\n    \"3402\": 1\n  }, \n  \"57291\": {\n    \"3402\": 1\n  }, \n  \"57292\": {\n    \"3402\": 1\n  }, \n  \"57293\": {\n    \"3402\": 1\n  }, \n  \"57294\": {\n    \"3402\": 1\n  }, \n  \"57295\": {\n    \"3402\": 1\n  }, \n  \"57311\": {\n    \"3402\": 1\n  }, \n  \"57312\": {\n    \"3402\": 1\n  }, \n  \"57313\": {\n    \"3402\": 1\n  }, \n  \"57317\": {\n    \"3348\": 5\n  }, \n  \"57318\": {\n    \"3348\": 5, \n    \"57317\": 1\n  }, \n  \"57319\": {\n    \"11584\": 3\n  }, \n  \"57335\": {\n    \"21718\": 1\n  }, \n  \"57336\": {\n    \"21718\": 1\n  }, \n  \"57423\": {\n    \"3405\": 1\n  }, \n  \"57424\": {\n    \"3405\": 1\n  }, \n  \"57428\": {\n    \"3402\": 1\n  }, \n  \"57430\": {\n    \"3402\": 1\n  }, \n  \"57431\": {\n    \"3402\": 1\n  }, \n  \"57432\": {\n    \"3402\": 1\n  }, \n  \"57433\": {\n    \"3402\": 1\n  }, \n  \"57434\": {\n    \"3402\": 1\n  }, \n  \"57435\": {\n    \"3402\": 1\n  }, \n  \"57436\": {\n    \"21718\": 1\n  }, \n  \"57437\": {\n    \"21718\": 1\n  }, \n  \"57438\": {\n    \"21718\": 1\n  }, \n  \"57439\": {\n    \"21718\": 1\n  }, \n  \"57440\": {\n    \"21718\": 1\n  }, \n  \"57441\": {\n    \"21718\": 1\n  }, \n  \"57560\": {\n    \"21718\": 1\n  }, \n  \"57561\": {\n    \"21718\": 1\n  }, \n  \"57562\": {\n    \"21718\": 1\n  }, \n  \"57563\": {\n    \"21718\": 1\n  }, \n  \"57684\": {\n    \"21718\": 1\n  }, \n  \"57722\": {\n    \"3402\": 1\n  }, \n  \"57723\": {\n    \"3402\": 1\n  }, \n  \"57724\": {\n    \"3402\": 1\n  }, \n  \"57725\": {\n    \"3402\": 1\n  }, \n  \"57726\": {\n    \"3402\": 1\n  }, \n  \"57727\": {\n    \"3402\": 1\n  }, \n  \"57728\": {\n    \"3402\": 1\n  }, \n  \"57745\": {\n    \"3402\": 1\n  }, \n  \"57746\": {\n    \"3402\": 1\n  }, \n  \"57747\": {\n    \"3402\": 1\n  }, \n  \"57763\": {\n    \"3402\": 1\n  }, \n  \"57821\": {\n    \"3402\": 1\n  }, \n  \"57822\": {\n    \"3402\": 1\n  }, \n  \"57823\": {\n    \"3402\": 1\n  }, \n  \"57852\": {\n    \"21718\": 1\n  }, \n  \"58724\": {\n    \"21718\": 1\n  }, \n  \"58725\": {\n    \"21718\": 1\n  }, \n  \"58726\": {\n    \"21718\": 1\n  }, \n  \"58727\": {\n    \"3402\": 1\n  }, \n  \"58745\": {\n    \"3327\": 1\n  }, \n  \"58758\": {\n    \"3402\": 1\n  }, \n  \"58759\": {\n    \"3402\": 1\n  }, \n  \"58760\": {\n    \"3402\": 1\n  }, \n  \"58770\": {\n    \"3402\": 1\n  }, \n  \"58771\": {\n    \"3402\": 1\n  }, \n  \"58772\": {\n    \"3402\": 1\n  }, \n  \"58851\": {\n    \"3402\": 1\n  }, \n  \"58852\": {\n    \"3402\": 1\n  }, \n  \"58853\": {\n    \"3402\": 1\n  }, \n  \"58854\": {\n    \"3355\": 1\n  }, \n  \"58855\": {\n    \"3355\": 1\n  }, \n  \"58856\": {\n    \"3355\": 1\n  }, \n  \"58904\": {\n    \"11584\": 3\n  }, \n  \"58906\": {\n    \"9955\": 5, \n    \"11584\": 3\n  }, \n  \"58919\": {\n    \"3455\": 4\n  }, \n  \"58945\": {\n    \"58956\": 1\n  }, \n  \"58950\": {\n    \"58956\": 5\n  }, \n  \"58956\": {\n    \"24625\": 1\n  }, \n  \"58966\": {\n    \"3455\": 4\n  }, \n  \"58971\": {\n    \"3455\": 4\n  }, \n  \"58972\": {\n    \"3455\": 5\n  }, \n  \"59177\": {\n    \"3402\": 1\n  }, \n  \"59197\": {\n    \"3402\": 1\n  }, \n  \"59294\": {\n    \"3402\": 1\n  }, \n  \"59295\": {\n    \"3402\": 1\n  }, \n  \"59296\": {\n    \"3402\": 1\n  }, \n  \"59297\": {\n    \"3402\": 1\n  }, \n  \"59298\": {\n    \"3402\": 1\n  }, \n  \"59299\": {\n    \"3402\": 1\n  }, \n  \"59301\": {\n    \"3402\": 1\n  }, \n  \"59302\": {\n    \"3402\": 1\n  }, \n  \"59303\": {\n    \"3402\": 1\n  }, \n  \"59304\": {\n    \"3355\": 1\n  }, \n  \"59305\": {\n    \"3355\": 1\n  }, \n  \"59306\": {\n    \"3355\": 1\n  }, \n  \"59503\": {\n    \"21718\": 1\n  }, \n  \"59504\": {\n    \"21718\": 1\n  }, \n  \"59505\": {\n    \"21718\": 1\n  }, \n  \"59620\": {\n    \"3402\": 1\n  }, \n  \"59630\": {\n    \"11584\": 5, \n    \"21603\": 5\n  }, \n  \"59748\": {\n    \"21718\": 1\n  }, \n  \"59749\": {\n    \"21718\": 1\n  }, \n  \"59750\": {\n    \"21718\": 1\n  }, \n  \"59756\": {\n    \"3402\": 1\n  }, \n  \"59757\": {\n    \"3402\": 1\n  }, \n  \"59758\": {\n    \"3402\": 1\n  }, \n  \"59759\": {\n    \"3402\": 1\n  }, \n  \"59760\": {\n    \"3402\": 1\n  }, \n  \"59761\": {\n    \"3402\": 1\n  }, \n  \"59762\": {\n    \"3402\": 1\n  }, \n  \"59763\": {\n    \"3402\": 1\n  }, \n  \"59764\": {\n    \"3402\": 1\n  }, \n  \"59765\": {\n    \"3402\": 1\n  }, \n  \"59766\": {\n    \"3402\": 1\n  }, \n  \"59767\": {\n    \"3402\": 1\n  }, \n  \"59768\": {\n    \"3402\": 1\n  }, \n  \"59876\": {\n    \"3402\": 1\n  }, \n  \"59878\": {\n    \"3402\": 1\n  }, \n  \"59879\": {\n    \"3402\": 1\n  }, \n  \"59880\": {\n    \"3405\": 1\n  }, \n  \"59881\": {\n    \"3405\": 1\n  }, \n  \"59882\": {\n    \"3405\": 1\n  }, \n  \"59883\": {\n    \"3405\": 1\n  }, \n  \"59884\": {\n    \"3405\": 1\n  }, \n  \"59885\": {\n    \"3405\": 1\n  }, \n  \"59886\": {\n    \"3405\": 1\n  }, \n  \"59887\": {\n    \"3405\": 1\n  }, \n  \"59888\": {\n    \"3405\": 1\n  }, \n  \"59889\": {\n    \"3405\": 1\n  }, \n  \"59890\": {\n    \"3405\": 1\n  }, \n  \"59891\": {\n    \"3405\": 1\n  }, \n  \"59960\": {\n    \"3402\": 1\n  }, \n  \"59961\": {\n    \"3402\": 1\n  }, \n  \"59962\": {\n    \"3402\": 1\n  }, \n  \"59964\": {\n    \"3402\": 1\n  }, \n  \"60023\": {\n    \"3402\": 1\n  }, \n  \"60068\": {\n    \"3402\": 1\n  }, \n  \"60091\": {\n    \"3402\": 1\n  }, \n  \"60092\": {\n    \"3402\": 1\n  }, \n  \"60093\": {\n    \"3402\": 1\n  }, \n  \"60115\": {\n    \"21718\": 1\n  }, \n  \"60116\": {\n    \"21718\": 1\n  }, \n  \"60172\": {\n    \"3402\": 1\n  }, \n  \"60244\": {\n    \"11584\": 3\n  }, \n  \"60250\": {\n    \"3402\": 1\n  }, \n  \"60251\": {\n    \"3402\": 1\n  }, \n  \"60269\": {\n    \"3402\": 1\n  }, \n  \"60270\": {\n    \"3402\": 1\n  }, \n  \"60271\": {\n    \"3402\": 1\n  }, \n  \"60272\": {\n    \"3402\": 1\n  }, \n  \"60273\": {\n    \"3402\": 1\n  }, \n  \"60276\": {\n    \"3386\": 1, \n    \"60377\": 3\n  }, \n  \"60279\": {\n    \"3386\": 1, \n    \"60377\": 3\n  }, \n  \"60280\": {\n    \"3386\": 1, \n    \"60377\": 3\n  }, \n  \"60281\": {\n    \"3386\": 1, \n    \"60377\": 4\n  }, \n  \"60283\": {\n    \"3386\": 1, \n    \"60377\": 4\n  }, \n  \"60284\": {\n    \"3386\": 1, \n    \"60377\": 4\n  }, \n  \"60285\": {\n    \"3386\": 1, \n    \"60378\": 3\n  }, \n  \"60286\": {\n    \"3386\": 1, \n    \"60378\": 3\n  }, \n  \"60287\": {\n    \"3386\": 1, \n    \"60378\": 3\n  }, \n  \"60288\": {\n    \"3386\": 1, \n    \"60378\": 4\n  }, \n  \"60289\": {\n    \"3386\": 1, \n    \"60378\": 4\n  }, \n  \"60290\": {\n    \"3386\": 1, \n    \"60378\": 4\n  }, \n  \"60291\": {\n    \"3386\": 1, \n    \"60379\": 3\n  }, \n  \"60292\": {\n    \"3386\": 1, \n    \"60379\": 3\n  }, \n  \"60293\": {\n    \"3386\": 1, \n    \"60379\": 3\n  }, \n  \"60294\": {\n    \"3386\": 1, \n    \"60379\": 4\n  }, \n  \"60295\": {\n    \"3386\": 1, \n    \"60379\": 4\n  }, \n  \"60296\": {\n    \"3386\": 1, \n    \"60379\": 4\n  }, \n  \"60297\": {\n    \"3386\": 1, \n    \"60380\": 3\n  }, \n  \"60298\": {\n    \"3386\": 1, \n    \"60380\": 3\n  }, \n  \"60299\": {\n    \"3386\": 1, \n    \"60380\": 3\n  }, \n  \"60300\": {\n    \"3386\": 1, \n    \"60380\": 4\n  }, \n  \"60301\": {\n    \"3386\": 1, \n    \"60380\": 4\n  }, \n  \"60302\": {\n    \"3386\": 1, \n    \"60380\": 4\n  }, \n  \"60303\": {\n    \"3386\": 1, \n    \"60381\": 3\n  }, \n  \"60304\": {\n    \"3386\": 1, \n    \"60381\": 3\n  }, \n  \"60305\": {\n    \"3386\": 1, \n    \"60381\": 3\n  }, \n  \"60306\": {\n    \"3386\": 1, \n    \"60381\": 4\n  }, \n  \"60307\": {\n    \"3386\": 1, \n    \"60381\": 4\n  }, \n  \"60308\": {\n    \"3386\": 1, \n    \"60381\": 4\n  }, \n  \"60309\": {\n    \"3386\": 1, \n    \"12189\": 3\n  }, \n  \"60310\": {\n    \"3386\": 1, \n    \"12189\": 3\n  }, \n  \"60311\": {\n    \"3386\": 1, \n    \"12189\": 4\n  }, \n  \"60312\": {\n    \"3386\": 1, \n    \"12189\": 4\n  }, \n  \"60313\": {\n    \"25544\": 1\n  }, \n  \"60314\": {\n    \"25544\": 5\n  }, \n  \"60315\": {\n    \"25544\": 5\n  }, \n  \"60377\": {\n    \"3385\": 4, \n    \"3402\": 3\n  }, \n  \"60378\": {\n    \"3385\": 5, \n    \"3402\": 3\n  }, \n  \"60379\": {\n    \"3389\": 4, \n    \"3409\": 3\n  }, \n  \"60380\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"60381\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"60389\": {\n    \"21718\": 1\n  }, \n  \"60390\": {\n    \"21718\": 1\n  }, \n  \"60391\": {\n    \"21718\": 1\n  }, \n  \"60392\": {\n    \"21718\": 1\n  }, \n  \"60410\": {\n    \"21718\": 1\n  }, \n  \"60438\": {\n    \"21718\": 1\n  }, \n  \"60448\": {\n    \"3402\": 1\n  }, \n  \"60449\": {\n    \"3402\": 1\n  }, \n  \"60450\": {\n    \"3402\": 1\n  }, \n  \"60478\": {\n    \"3436\": 5, \n    \"24241\": 5, \n    \"60515\": 1\n  }, \n  \"60479\": {\n    \"3436\": 5, \n    \"33699\": 5, \n    \"60515\": 1\n  }, \n  \"60480\": {\n    \"3436\": 5, \n    \"3441\": 5, \n    \"60515\": 1\n  }, \n  \"60481\": {\n    \"3436\": 5, \n    \"23594\": 5, \n    \"60515\": 1\n  }, \n  \"60482\": {\n    \"3318\": 4, \n    \"3436\": 4\n  }, \n  \"60483\": {\n    \"24613\": 4\n  }, \n  \"60485\": {\n    \"3402\": 1\n  }, \n  \"60487\": {\n    \"3402\": 1\n  }, \n  \"60488\": {\n    \"3402\": 1\n  }, \n  \"60515\": {\n    \"3436\": 5, \n    \"12484\": 1, \n    \"12485\": 1, \n    \"12486\": 1, \n    \"12487\": 1\n  }, \n  \"60683\": {\n    \"3405\": 1\n  }, \n  \"60684\": {\n    \"3405\": 1\n  }, \n  \"60685\": {\n    \"3405\": 1\n  }, \n  \"60686\": {\n    \"3405\": 1\n  }, \n  \"60687\": {\n    \"3405\": 1\n  }, \n  \"60688\": {\n    \"3405\": 1\n  }, \n  \"60689\": {\n    \"3405\": 1\n  }, \n  \"60690\": {\n    \"3405\": 1\n  }, \n  \"60691\": {\n    \"3405\": 1\n  }, \n  \"60692\": {\n    \"3405\": 1\n  }, \n  \"60693\": {\n    \"3405\": 1\n  }, \n  \"60694\": {\n    \"3405\": 1\n  }, \n  \"60695\": {\n    \"3405\": 1\n  }, \n  \"60696\": {\n    \"3405\": 1\n  }, \n  \"60697\": {\n    \"3405\": 1\n  }, \n  \"60698\": {\n    \"3405\": 1\n  }, \n  \"60699\": {\n    \"3405\": 1\n  }, \n  \"60700\": {\n    \"3405\": 1\n  }, \n  \"60701\": {\n    \"3405\": 1\n  }, \n  \"60702\": {\n    \"3405\": 1\n  }, \n  \"60703\": {\n    \"3405\": 1\n  }, \n  \"60704\": {\n    \"3405\": 1\n  }, \n  \"60705\": {\n    \"3405\": 1\n  }, \n  \"60706\": {\n    \"3405\": 1\n  }, \n  \"60710\": {\n    \"21718\": 1\n  }, \n  \"60711\": {\n    \"21718\": 1\n  }, \n  \"60712\": {\n    \"21718\": 1\n  }, \n  \"60713\": {\n    \"21718\": 1\n  }, \n  \"60714\": {\n    \"3402\": 1\n  }, \n  \"60715\": {\n    \"3402\": 1\n  }, \n  \"60716\": {\n    \"3402\": 1\n  }, \n  \"60764\": {\n    \"3332\": 5, \n    \"3334\": 5, \n    \"28609\": 1\n  }, \n  \"60765\": {\n    \"3328\": 5, \n    \"3330\": 5, \n    \"28615\": 1\n  }, \n  \"60766\": {\n    \"3436\": 5, \n    \"12487\": 1, \n    \"33699\": 5\n  }, \n  \"60850\": {\n    \"13278\": 1\n  }, \n  \"60851\": {\n    \"13278\": 1\n  }, \n  \"60852\": {\n    \"13278\": 1\n  }, \n  \"60853\": {\n    \"13278\": 1\n  }, \n  \"60854\": {\n    \"13278\": 1\n  }, \n  \"60855\": {\n    \"13278\": 1\n  }, \n  \"61083\": {\n    \"3402\": 1\n  }, \n  \"61084\": {\n    \"3402\": 1\n  }, \n  \"61085\": {\n    \"3402\": 1\n  }, \n  \"61086\": {\n    \"3405\": 1\n  }, \n  \"61087\": {\n    \"3405\": 1\n  }, \n  \"61090\": {\n    \"3405\": 1\n  }, \n  \"61091\": {\n    \"3405\": 1\n  }, \n  \"61093\": {\n    \"3405\": 1\n  }, \n  \"61096\": {\n    \"3405\": 1\n  }, \n  \"61097\": {\n    \"3405\": 1\n  }, \n  \"61099\": {\n    \"3405\": 1\n  }, \n  \"61101\": {\n    \"3405\": 1\n  }, \n  \"61103\": {\n    \"3405\": 1\n  }, \n  \"61105\": {\n    \"3405\": 1\n  }, \n  \"61107\": {\n    \"3405\": 1\n  }, \n  \"61110\": {\n    \"3405\": 1\n  }, \n  \"61112\": {\n    \"3405\": 1\n  }, \n  \"61114\": {\n    \"3405\": 1\n  }, \n  \"61116\": {\n    \"3405\": 1\n  }, \n  \"61118\": {\n    \"3405\": 1\n  }, \n  \"61119\": {\n    \"3405\": 1\n  }, \n  \"61197\": {\n    \"3386\": 1, \n    \"46152\": 3\n  }, \n  \"61198\": {\n    \"3386\": 1, \n    \"46152\": 3\n  }, \n  \"61199\": {\n    \"3386\": 1, \n    \"46152\": 4\n  }, \n  \"61200\": {\n    \"3386\": 1, \n    \"46152\": 4\n  }, \n  \"61201\": {\n    \"3386\": 1, \n    \"46153\": 3\n  }, \n  \"61202\": {\n    \"3386\": 1, \n    \"46153\": 3\n  }, \n  \"61203\": {\n    \"3386\": 1, \n    \"46153\": 4\n  }, \n  \"61204\": {\n    \"3386\": 1, \n    \"46153\": 4\n  }, \n  \"61205\": {\n    \"3386\": 1, \n    \"46154\": 3\n  }, \n  \"61206\": {\n    \"3386\": 1, \n    \"46154\": 3\n  }, \n  \"61207\": {\n    \"3386\": 1, \n    \"46154\": 4\n  }, \n  \"61208\": {\n    \"3386\": 1, \n    \"46154\": 4\n  }, \n  \"61209\": {\n    \"3386\": 1, \n    \"46155\": 3\n  }, \n  \"61210\": {\n    \"3386\": 1, \n    \"46155\": 3\n  }, \n  \"61211\": {\n    \"3386\": 1, \n    \"46155\": 4\n  }, \n  \"61212\": {\n    \"3386\": 1, \n    \"46155\": 4\n  }, \n  \"61213\": {\n    \"3386\": 1, \n    \"46156\": 3\n  }, \n  \"61214\": {\n    \"3386\": 1, \n    \"46156\": 3\n  }, \n  \"61215\": {\n    \"3386\": 1, \n    \"46156\": 4\n  }, \n  \"61216\": {\n    \"3386\": 1, \n    \"46156\": 4\n  }, \n  \"61658\": {\n    \"13278\": 1\n  }, \n  \"61659\": {\n    \"13278\": 1\n  }, \n  \"61666\": {\n    \"3300\": 1, \n    \"9955\": 1\n  }, \n  \"62235\": {\n    \"3402\": 1\n  }, \n  \"62236\": {\n    \"3402\": 1\n  }, \n  \"62237\": {\n    \"3402\": 1\n  }, \n  \"62450\": {\n    \"58956\": 1\n  }, \n  \"62451\": {\n    \"28585\": 1, \n    \"62450\": 4\n  }, \n  \"62452\": {\n    \"62450\": 3\n  }, \n  \"62453\": {\n    \"22552\": 3\n  }, \n  \"62454\": {\n    \"3386\": 1\n  }, \n  \"62455\": {\n    \"3386\": 1\n  }, \n  \"62456\": {\n    \"3386\": 1\n  }, \n  \"62457\": {\n    \"3386\": 1\n  }, \n  \"62458\": {\n    \"3386\": 1\n  }, \n  \"62459\": {\n    \"3386\": 1\n  }, \n  \"62460\": {\n    \"3386\": 1\n  }, \n  \"62461\": {\n    \"3386\": 1\n  }, \n  \"62463\": {\n    \"3386\": 1\n  }, \n  \"62464\": {\n    \"3386\": 1\n  }, \n  \"62466\": {\n    \"3386\": 1\n  }, \n  \"62467\": {\n    \"3386\": 1\n  }, \n  \"62468\": {\n    \"3386\": 1\n  }, \n  \"62469\": {\n    \"3386\": 1\n  }, \n  \"62470\": {\n    \"3386\": 1\n  }, \n  \"62471\": {\n    \"3386\": 1\n  }, \n  \"62472\": {\n    \"3386\": 1\n  }, \n  \"62473\": {\n    \"3386\": 1\n  }, \n  \"62474\": {\n    \"3386\": 1\n  }, \n  \"62475\": {\n    \"3386\": 1\n  }, \n  \"62476\": {\n    \"3386\": 1\n  }, \n  \"62477\": {\n    \"3386\": 1\n  }, \n  \"62478\": {\n    \"3386\": 1\n  }, \n  \"62479\": {\n    \"3386\": 1\n  }, \n  \"62480\": {\n    \"3386\": 1\n  }, \n  \"62481\": {\n    \"3386\": 1\n  }, \n  \"62482\": {\n    \"3386\": 1\n  }, \n  \"62483\": {\n    \"3386\": 1\n  }, \n  \"62484\": {\n    \"3386\": 1\n  }, \n  \"62485\": {\n    \"3386\": 1\n  }, \n  \"62486\": {\n    \"3386\": 1\n  }, \n  \"62487\": {\n    \"3386\": 1\n  }, \n  \"62488\": {\n    \"3386\": 1\n  }, \n  \"62489\": {\n    \"3386\": 1\n  }, \n  \"62490\": {\n    \"3386\": 1\n  }, \n  \"62491\": {\n    \"3386\": 1\n  }, \n  \"62492\": {\n    \"3386\": 1\n  }, \n  \"62493\": {\n    \"3386\": 1\n  }, \n  \"62494\": {\n    \"3386\": 1\n  }, \n  \"62495\": {\n    \"3386\": 1\n  }, \n  \"62496\": {\n    \"3386\": 1\n  }, \n  \"62497\": {\n    \"3386\": 1\n  }, \n  \"62498\": {\n    \"3386\": 1\n  }, \n  \"62499\": {\n    \"3386\": 1\n  }, \n  \"62500\": {\n    \"3386\": 1\n  }, \n  \"62501\": {\n    \"3386\": 1\n  }, \n  \"62502\": {\n    \"3386\": 1\n  }, \n  \"62503\": {\n    \"3386\": 1\n  }, \n  \"62504\": {\n    \"3386\": 1\n  }, \n  \"62505\": {\n    \"3386\": 1\n  }, \n  \"62506\": {\n    \"3386\": 1\n  }, \n  \"62507\": {\n    \"3386\": 1\n  }, \n  \"62508\": {\n    \"3386\": 1\n  }, \n  \"62509\": {\n    \"3386\": 1\n  }, \n  \"62510\": {\n    \"3386\": 1\n  }, \n  \"62511\": {\n    \"3386\": 1\n  }, \n  \"62512\": {\n    \"3386\": 1\n  }, \n  \"62513\": {\n    \"3386\": 1\n  }, \n  \"62514\": {\n    \"3386\": 1\n  }, \n  \"62515\": {\n    \"3386\": 1\n  }, \n  \"62516\": {\n    \"3386\": 1\n  }, \n  \"62517\": {\n    \"3386\": 1\n  }, \n  \"62518\": {\n    \"3386\": 1\n  }, \n  \"62519\": {\n    \"3386\": 1\n  }, \n  \"62520\": {\n    \"3386\": 1\n  }, \n  \"62521\": {\n    \"3386\": 1\n  }, \n  \"62522\": {\n    \"3386\": 1\n  }, \n  \"62523\": {\n    \"3386\": 1\n  }, \n  \"62524\": {\n    \"3386\": 1\n  }, \n  \"62525\": {\n    \"3386\": 1\n  }, \n  \"62526\": {\n    \"3386\": 1\n  }, \n  \"62527\": {\n    \"3386\": 1\n  }, \n  \"62528\": {\n    \"3386\": 1\n  }, \n  \"62529\": {\n    \"3386\": 1\n  }, \n  \"62530\": {\n    \"3386\": 1\n  }, \n  \"62531\": {\n    \"3386\": 1\n  }, \n  \"62532\": {\n    \"3386\": 1\n  }, \n  \"62533\": {\n    \"3386\": 1\n  }, \n  \"62534\": {\n    \"3386\": 1\n  }, \n  \"62535\": {\n    \"3386\": 1\n  }, \n  \"62536\": {\n    \"3386\": 1\n  }, \n  \"62537\": {\n    \"3386\": 1\n  }, \n  \"62538\": {\n    \"3386\": 1\n  }, \n  \"62539\": {\n    \"3386\": 1\n  }, \n  \"62540\": {\n    \"3386\": 1\n  }, \n  \"62541\": {\n    \"3386\": 1\n  }, \n  \"62542\": {\n    \"3386\": 1\n  }, \n  \"62543\": {\n    \"3386\": 1\n  }, \n  \"62544\": {\n    \"3386\": 1\n  }, \n  \"62545\": {\n    \"3386\": 1\n  }, \n  \"62546\": {\n    \"3386\": 1\n  }, \n  \"62547\": {\n    \"3386\": 1\n  }, \n  \"62548\": {\n    \"3386\": 1\n  }, \n  \"62549\": {\n    \"3386\": 1\n  }, \n  \"62550\": {\n    \"3386\": 1\n  }, \n  \"62551\": {\n    \"3386\": 1\n  }, \n  \"62552\": {\n    \"3386\": 1\n  }, \n  \"62553\": {\n    \"3386\": 1\n  }, \n  \"62554\": {\n    \"3386\": 1\n  }, \n  \"62555\": {\n    \"3386\": 1\n  }, \n  \"62556\": {\n    \"3386\": 1\n  }, \n  \"62557\": {\n    \"3386\": 1\n  }, \n  \"62558\": {\n    \"3386\": 1\n  }, \n  \"62559\": {\n    \"3386\": 1\n  }, \n  \"62560\": {\n    \"3386\": 1\n  }, \n  \"62561\": {\n    \"3386\": 1\n  }, \n  \"62562\": {\n    \"3386\": 1\n  }, \n  \"62563\": {\n    \"3386\": 1\n  }, \n  \"62564\": {\n    \"3386\": 1\n  }, \n  \"62565\": {\n    \"3386\": 1\n  }, \n  \"62566\": {\n    \"3386\": 1\n  }, \n  \"62567\": {\n    \"3386\": 1\n  }, \n  \"62568\": {\n    \"3386\": 1\n  }, \n  \"62569\": {\n    \"3386\": 1\n  }, \n  \"62570\": {\n    \"3386\": 1\n  }, \n  \"62571\": {\n    \"3386\": 1\n  }, \n  \"62572\": {\n    \"3386\": 1\n  }, \n  \"62573\": {\n    \"3386\": 1\n  }, \n  \"62574\": {\n    \"3386\": 1\n  }, \n  \"62575\": {\n    \"3386\": 1\n  }, \n  \"62576\": {\n    \"3386\": 1\n  }, \n  \"62577\": {\n    \"3386\": 1\n  }, \n  \"62578\": {\n    \"3386\": 1\n  }, \n  \"62579\": {\n    \"3386\": 1\n  }, \n  \"62580\": {\n    \"3386\": 1\n  }, \n  \"62581\": {\n    \"3386\": 1\n  }, \n  \"62582\": {\n    \"3386\": 1\n  }, \n  \"62583\": {\n    \"3386\": 1\n  }, \n  \"62584\": {\n    \"3386\": 1\n  }, \n  \"62586\": {\n    \"11395\": 1\n  }, \n  \"62587\": {\n    \"11395\": 1\n  }, \n  \"62588\": {\n    \"11395\": 1\n  }, \n  \"62589\": {\n    \"9955\": 1\n  }, \n  \"62590\": {\n    \"58956\": 1\n  }, \n  \"62591\": {\n    \"58956\": 4\n  }, \n  \"62595\": {\n    \"3402\": 1\n  }, \n  \"62596\": {\n    \"3402\": 1\n  }, \n  \"62597\": {\n    \"3402\": 1\n  }, \n  \"62622\": {\n    \"62450\": 1\n  }, \n  \"62624\": {\n    \"62450\": 3\n  }, \n  \"62625\": {\n    \"62450\": 1\n  }, \n  \"62626\": {\n    \"62450\": 3\n  }, \n  \"62628\": {\n    \"62450\": 2\n  }, \n  \"62630\": {\n    \"62450\": 4\n  }, \n  \"62631\": {\n    \"62450\": 5\n  }, \n  \"62632\": {\n    \"62451\": 1\n  }, \n  \"62633\": {\n    \"62451\": 2\n  }, \n  \"62634\": {\n    \"62451\": 3\n  }, \n  \"62635\": {\n    \"62451\": 4\n  }, \n  \"62636\": {\n    \"62451\": 5\n  }, \n  \"63140\": {\n    \"24562\": 1\n  }, \n  \"63166\": {\n    \"21718\": 1\n  }, \n  \"63167\": {\n    \"21718\": 1\n  }, \n  \"63168\": {\n    \"21718\": 1\n  }, \n  \"63169\": {\n    \"21718\": 1\n  }, \n  \"63633\": {\n    \"3402\": 1\n  }, \n  \"63634\": {\n    \"3402\": 1\n  }, \n  \"63635\": {\n    \"3402\": 1\n  }, \n  \"63816\": {\n    \"3405\": 1\n  }, \n  \"63817\": {\n    \"3405\": 1\n  }, \n  \"63849\": {\n    \"3355\": 1\n  }, \n  \"63850\": {\n    \"3355\": 1\n  }, \n  \"63851\": {\n    \"3355\": 1\n  }, \n  \"63852\": {\n    \"3402\": 1\n  }, \n  \"63853\": {\n    \"3402\": 1\n  }, \n  \"63854\": {\n    \"3402\": 1\n  }, \n  \"63871\": {\n    \"21718\": 1\n  }, \n  \"63872\": {\n    \"21718\": 1\n  }, \n  \"63876\": {\n    \"21718\": 1\n  }, \n  \"63877\": {\n    \"21718\": 1\n  }, \n  \"63910\": {\n    \"21718\": 1\n  }, \n  \"63911\": {\n    \"21718\": 1\n  }, \n  \"64034\": {\n    \"3327\": 1\n  }, \n  \"64373\": {\n    \"3405\": 1\n  }, \n  \"64374\": {\n    \"3405\": 1\n  }, \n  \"64375\": {\n    \"3405\": 1\n  }, \n  \"64376\": {\n    \"3405\": 1\n  }, \n  \"64949\": {\n    \"3405\": 1\n  }, \n  \"64950\": {\n    \"3405\": 1\n  }, \n  \"64951\": {\n    \"3405\": 1\n  }, \n  \"64952\": {\n    \"3405\": 1\n  }, \n  \"64953\": {\n    \"3405\": 1\n  }, \n  \"64954\": {\n    \"3405\": 1\n  }, \n  \"64955\": {\n    \"3405\": 1\n  }, \n  \"64956\": {\n    \"3405\": 1\n  }, \n  \"64957\": {\n    \"3405\": 1\n  }, \n  \"64958\": {\n    \"3405\": 1\n  }, \n  \"64959\": {\n    \"3405\": 1\n  }, \n  \"64960\": {\n    \"3405\": 1\n  }, \n  \"64961\": {\n    \"3405\": 1\n  }, \n  \"64962\": {\n    \"3405\": 1\n  }, \n  \"64963\": {\n    \"3405\": 1\n  }, \n  \"64964\": {\n    \"3405\": 1\n  }, \n  \"65062\": {\n    \"3402\": 1\n  }, \n  \"65063\": {\n    \"3402\": 1\n  }, \n  \"65064\": {\n    \"3402\": 1\n  }, \n  \"71013\": {\n    \"21718\": 3\n  }, \n  \"71014\": {\n    \"21718\": 2\n  }, \n  \"71015\": {\n    \"21718\": 1\n  }, \n  \"71016\": {\n    \"21718\": 2\n  }, \n  \"71017\": {\n    \"21718\": 3\n  }, \n  \"71018\": {\n    \"21718\": 1\n  }, \n  \"71735\": {\n    \"3405\": 1\n  }, \n  \"71736\": {\n    \"3405\": 1\n  }, \n  \"71737\": {\n    \"3405\": 1\n  }, \n  \"71738\": {\n    \"3405\": 1\n  }, \n  \"71739\": {\n    \"3405\": 1\n  }, \n  \"71740\": {\n    \"3405\": 1\n  }, \n  \"71741\": {\n    \"3405\": 1\n  }, \n  \"71742\": {\n    \"3405\": 1\n  }, \n  \"71747\": {\n    \"3405\": 1\n  }, \n  \"71748\": {\n    \"3405\": 1\n  }, \n  \"71749\": {\n    \"3405\": 1\n  }, \n  \"71750\": {\n    \"3405\": 1\n  }, \n  \"72083\": {\n    \"3402\": 1\n  }, \n  \"72084\": {\n    \"3402\": 1\n  }, \n  \"72085\": {\n    \"3402\": 1\n  }, \n  \"72369\": {\n    \"21718\": 1\n  }, \n  \"72811\": {\n    \"33098\": 2\n  }, \n  \"72812\": {\n    \"33096\": 2\n  }, \n  \"72818\": {\n    \"3405\": 1\n  }, \n  \"72819\": {\n    \"3405\": 1\n  }, \n  \"72820\": {\n    \"3405\": 1\n  }, \n  \"72821\": {\n    \"3405\": 1\n  }, \n  \"72822\": {\n    \"3405\": 1\n  }, \n  \"72823\": {\n    \"3405\": 1\n  }, \n  \"72828\": {\n    \"3405\": 1\n  }, \n  \"72829\": {\n    \"3405\": 1\n  }, \n  \"72830\": {\n    \"3405\": 1\n  }, \n  \"72831\": {\n    \"3405\": 1\n  }, \n  \"72832\": {\n    \"3405\": 1\n  }, \n  \"72833\": {\n    \"3405\": 1\n  }, \n  \"72834\": {\n    \"3405\": 1\n  }, \n  \"72835\": {\n    \"3405\": 1\n  }, \n  \"72836\": {\n    \"3405\": 1\n  }, \n  \"72837\": {\n    \"3405\": 1\n  }, \n  \"72839\": {\n    \"3405\": 1\n  }, \n  \"72840\": {\n    \"3405\": 1\n  }, \n  \"72841\": {\n    \"3405\": 1\n  }, \n  \"72842\": {\n    \"3405\": 1\n  }, \n  \"72854\": {\n    \"3405\": 1\n  }, \n  \"72855\": {\n    \"3405\": 1\n  }, \n  \"72856\": {\n    \"3405\": 1\n  }, \n  \"72857\": {\n    \"3405\": 1\n  }, \n  \"72858\": {\n    \"3405\": 1\n  }, \n  \"72859\": {\n    \"3405\": 1\n  }, \n  \"72860\": {\n    \"3405\": 1\n  }, \n  \"72861\": {\n    \"3405\": 1\n  }, \n  \"72862\": {\n    \"3405\": 1\n  }, \n  \"72863\": {\n    \"3405\": 1\n  }, \n  \"72864\": {\n    \"3405\": 1\n  }, \n  \"72865\": {\n    \"3405\": 1\n  }, \n  \"72866\": {\n    \"3402\": 1\n  }, \n  \"72867\": {\n    \"3402\": 1\n  }, \n  \"72868\": {\n    \"3402\": 1\n  }, \n  \"72869\": {\n    \"33097\": 2\n  }, \n  \"72872\": {\n    \"33095\": 2\n  }, \n  \"72879\": {\n    \"9955\": 5, \n    \"13278\": 5, \n    \"21718\": 5\n  }, \n  \"72903\": {\n    \"3329\": 2\n  }, \n  \"72904\": {\n    \"3330\": 2\n  }, \n  \"72907\": {\n    \"3331\": 2\n  }, \n  \"72913\": {\n    \"3328\": 2\n  }, \n  \"73036\": {\n    \"21718\": 2\n  }, \n  \"73037\": {\n    \"21718\": 2\n  }, \n  \"73038\": {\n    \"21718\": 2\n  }, \n  \"73225\": {\n    \"11584\": 3\n  }, \n  \"73226\": {\n    \"11584\": 3\n  }, \n  \"73227\": {\n    \"11584\": 3\n  }, \n  \"73228\": {\n    \"11584\": 3\n  }, \n  \"73252\": {\n    \"21718\": 1\n  }, \n  \"73253\": {\n    \"21718\": 1\n  }, \n  \"73270\": {\n    \"11584\": 3\n  }, \n  \"73271\": {\n    \"11584\": 3\n  }, \n  \"73272\": {\n    \"11584\": 3\n  }, \n  \"73273\": {\n    \"11584\": 3\n  }, \n  \"73427\": {\n    \"21718\": 1\n  }, \n  \"73428\": {\n    \"21718\": 1\n  }, \n  \"73429\": {\n    \"21718\": 1\n  }, \n  \"73430\": {\n    \"21718\": 1\n  }, \n  \"73787\": {\n    \"3456\": 1, \n    \"20532\": 2, \n    \"20533\": 1\n  }, \n  \"73789\": {\n    \"33091\": 2\n  }, \n  \"73790\": {\n    \"3456\": 1, \n    \"20525\": 2, \n    \"20533\": 1\n  }, \n  \"73792\": {\n    \"3456\": 1, \n    \"20531\": 2, \n    \"20533\": 1\n  }, \n  \"73793\": {\n    \"3456\": 1, \n    \"20530\": 2, \n    \"20533\": 1\n  }, \n  \"73794\": {\n    \"33094\": 2\n  }, \n  \"73795\": {\n    \"33092\": 2\n  }, \n  \"73796\": {\n    \"33093\": 2\n  }, \n  \"73910\": {\n    \"33407\": 5\n  }, \n  \"73912\": {\n    \"25235\": 5\n  }, \n  \"74141\": {\n    \"3329\": 5, \n    \"12095\": 1\n  }, \n  \"74161\": {\n    \"3402\": 1\n  }, \n  \"74162\": {\n    \"3402\": 1\n  }, \n  \"74163\": {\n    \"3402\": 1\n  }, \n  \"74199\": {\n    \"3405\": 1\n  }, \n  \"74200\": {\n    \"3405\": 1\n  }, \n  \"74201\": {\n    \"3405\": 1\n  }, \n  \"74202\": {\n    \"3405\": 1\n  }, \n  \"74203\": {\n    \"3405\": 1\n  }, \n  \"74204\": {\n    \"3405\": 1\n  }, \n  \"74205\": {\n    \"3405\": 1\n  }, \n  \"74206\": {\n    \"3405\": 1\n  }, \n  \"74207\": {\n    \"3405\": 1\n  }, \n  \"74208\": {\n    \"3405\": 1\n  }, \n  \"74209\": {\n    \"3405\": 1\n  }, \n  \"74210\": {\n    \"3405\": 1\n  }, \n  \"74211\": {\n    \"3405\": 1\n  }, \n  \"74212\": {\n    \"3405\": 1\n  }, \n  \"74213\": {\n    \"3405\": 1\n  }, \n  \"74214\": {\n    \"3405\": 1\n  }, \n  \"74215\": {\n    \"3405\": 1\n  }, \n  \"74216\": {\n    \"3405\": 1\n  }, \n  \"74255\": {\n    \"3426\": 1, \n    \"9955\": 5\n  }, \n  \"74256\": {\n    \"3386\": 1, \n    \"9955\": 5, \n    \"11395\": 2, \n    \"16281\": 1\n  }, \n  \"74257\": {\n    \"3405\": 1\n  }, \n  \"74258\": {\n    \"3405\": 1\n  }, \n  \"74259\": {\n    \"3405\": 1\n  }, \n  \"74260\": {\n    \"3405\": 1\n  }, \n  \"74261\": {\n    \"3405\": 1\n  }, \n  \"74262\": {\n    \"3405\": 1\n  }, \n  \"74316\": {\n    \"3333\": 5, \n    \"16591\": 1\n  }, \n  \"74448\": {\n    \"9955\": 5, \n    \"25863\": 1\n  }, \n  \"74521\": {\n    \"3386\": 1\n  }, \n  \"74522\": {\n    \"3386\": 1\n  }, \n  \"74523\": {\n    \"3386\": 1\n  }, \n  \"74524\": {\n    \"3386\": 1\n  }, \n  \"74525\": {\n    \"3386\": 1\n  }, \n  \"74526\": {\n    \"3386\": 1\n  }, \n  \"74527\": {\n    \"3386\": 1\n  }, \n  \"74528\": {\n    \"3386\": 1\n  }, \n  \"74529\": {\n    \"3386\": 1\n  }, \n  \"74530\": {\n    \"3386\": 1\n  }, \n  \"74531\": {\n    \"3386\": 1\n  }, \n  \"74532\": {\n    \"3386\": 1\n  }, \n  \"74533\": {\n    \"3386\": 1\n  }, \n  \"74534\": {\n    \"3386\": 1\n  }, \n  \"74535\": {\n    \"3386\": 1\n  }, \n  \"74536\": {\n    \"3386\": 1\n  }, \n  \"75275\": {\n    \"3386\": 1\n  }, \n  \"75276\": {\n    \"3386\": 1\n  }, \n  \"75277\": {\n    \"3386\": 1\n  }, \n  \"75278\": {\n    \"3386\": 1\n  }, \n  \"75279\": {\n    \"3386\": 1\n  }, \n  \"75280\": {\n    \"3386\": 1\n  }, \n  \"75281\": {\n    \"3386\": 1\n  }, \n  \"75282\": {\n    \"3386\": 1\n  }, \n  \"75283\": {\n    \"3386\": 1\n  }, \n  \"75284\": {\n    \"3386\": 1\n  }, \n  \"75285\": {\n    \"3386\": 1\n  }, \n  \"75286\": {\n    \"3386\": 1\n  }, \n  \"75287\": {\n    \"3386\": 1\n  }, \n  \"75288\": {\n    \"3386\": 1\n  }, \n  \"75289\": {\n    \"3386\": 1\n  }, \n  \"75290\": {\n    \"3386\": 1\n  }, \n  \"75326\": {\n    \"3402\": 1\n  }, \n  \"75327\": {\n    \"3402\": 1\n  }, \n  \"75328\": {\n    \"3402\": 1\n  }, \n  \"75677\": {\n    \"9955\": 5, \n    \"11584\": 3\n  }, \n  \"76050\": {\n    \"3405\": 1\n  }, \n  \"76051\": {\n    \"3405\": 1\n  }, \n  \"76052\": {\n    \"3405\": 1\n  }, \n  \"76053\": {\n    \"3405\": 1\n  }, \n  \"76054\": {\n    \"3405\": 1\n  }, \n  \"76055\": {\n    \"3405\": 1\n  }, \n  \"76056\": {\n    \"3405\": 1\n  }, \n  \"76057\": {\n    \"3405\": 1\n  }, \n  \"76058\": {\n    \"3405\": 1\n  }, \n  \"76059\": {\n    \"3405\": 1\n  }, \n  \"76060\": {\n    \"3405\": 1\n  }, \n  \"76061\": {\n    \"3405\": 1\n  }, \n  \"76062\": {\n    \"3405\": 1\n  }, \n  \"76063\": {\n    \"3405\": 1\n  }, \n  \"76064\": {\n    \"3405\": 1\n  }, \n  \"76065\": {\n    \"3405\": 1\n  }, \n  \"76066\": {\n    \"3405\": 1\n  }, \n  \"76067\": {\n    \"3405\": 1\n  }, \n  \"76068\": {\n    \"3405\": 1\n  }, \n  \"76069\": {\n    \"3405\": 1\n  }, \n  \"76070\": {\n    \"3405\": 1\n  }, \n  \"76071\": {\n    \"3405\": 1\n  }, \n  \"76072\": {\n    \"3405\": 1\n  }, \n  \"76073\": {\n    \"3405\": 1\n  }, \n  \"76074\": {\n    \"3405\": 1\n  }, \n  \"76075\": {\n    \"3405\": 1\n  }, \n  \"76076\": {\n    \"3405\": 1\n  }, \n  \"76077\": {\n    \"3405\": 1\n  }, \n  \"76078\": {\n    \"3405\": 1\n  }, \n  \"76079\": {\n    \"3405\": 1\n  }, \n  \"76080\": {\n    \"3405\": 1\n  }, \n  \"76081\": {\n    \"3405\": 1\n  }, \n  \"76082\": {\n    \"3405\": 1\n  }, \n  \"76083\": {\n    \"3405\": 1\n  }, \n  \"76084\": {\n    \"3405\": 1\n  }, \n  \"76085\": {\n    \"3405\": 1\n  }, \n  \"76086\": {\n    \"3405\": 1\n  }, \n  \"76087\": {\n    \"3405\": 1\n  }, \n  \"76088\": {\n    \"3405\": 1\n  }, \n  \"76089\": {\n    \"3405\": 1\n  }, \n  \"76090\": {\n    \"3405\": 1\n  }, \n  \"76091\": {\n    \"3405\": 1\n  }, \n  \"76092\": {\n    \"3405\": 1\n  }, \n  \"76093\": {\n    \"3405\": 1\n  }, \n  \"76094\": {\n    \"3405\": 1\n  }, \n  \"76095\": {\n    \"3405\": 1\n  }, \n  \"76096\": {\n    \"3405\": 1\n  }, \n  \"76097\": {\n    \"3405\": 1\n  }, \n  \"76098\": {\n    \"3405\": 1\n  }, \n  \"76099\": {\n    \"3405\": 1\n  }, \n  \"76100\": {\n    \"3405\": 1\n  }, \n  \"76101\": {\n    \"3405\": 1\n  }, \n  \"76102\": {\n    \"3405\": 1\n  }, \n  \"76103\": {\n    \"3405\": 1\n  }, \n  \"76104\": {\n    \"3405\": 1\n  }, \n  \"76105\": {\n    \"3405\": 1\n  }, \n  \"76106\": {\n    \"3405\": 1\n  }, \n  \"76107\": {\n    \"3405\": 1\n  }, \n  \"76108\": {\n    \"3405\": 1\n  }, \n  \"76109\": {\n    \"3405\": 1\n  }, \n  \"76110\": {\n    \"3405\": 1\n  }, \n  \"76111\": {\n    \"3405\": 1\n  }, \n  \"76112\": {\n    \"3405\": 1\n  }, \n  \"76113\": {\n    \"3405\": 1\n  }, \n  \"76114\": {\n    \"3405\": 1\n  }, \n  \"76115\": {\n    \"3405\": 1\n  }, \n  \"76116\": {\n    \"3405\": 1\n  }, \n  \"76117\": {\n    \"3405\": 1\n  }, \n  \"76118\": {\n    \"3405\": 1\n  }, \n  \"76119\": {\n    \"3405\": 1\n  }, \n  \"76120\": {\n    \"3405\": 1\n  }, \n  \"76121\": {\n    \"3405\": 1\n  }, \n  \"76122\": {\n    \"3405\": 1\n  }, \n  \"76123\": {\n    \"3405\": 1\n  }, \n  \"76124\": {\n    \"3405\": 1\n  }, \n  \"76125\": {\n    \"3405\": 1\n  }, \n  \"76126\": {\n    \"3405\": 1\n  }, \n  \"76127\": {\n    \"3405\": 1\n  }, \n  \"76128\": {\n    \"3405\": 1\n  }, \n  \"76129\": {\n    \"3405\": 1\n  }, \n  \"76130\": {\n    \"3405\": 1\n  }, \n  \"76131\": {\n    \"3405\": 1\n  }, \n  \"76132\": {\n    \"3405\": 1\n  }, \n  \"76133\": {\n    \"3405\": 1\n  }, \n  \"76134\": {\n    \"3405\": 1\n  }, \n  \"76135\": {\n    \"3405\": 1\n  }, \n  \"76136\": {\n    \"3405\": 1\n  }, \n  \"76137\": {\n    \"3405\": 1\n  }, \n  \"76138\": {\n    \"3405\": 1\n  }, \n  \"76139\": {\n    \"3405\": 1\n  }, \n  \"76140\": {\n    \"3405\": 1\n  }, \n  \"76141\": {\n    \"3405\": 1\n  }, \n  \"76142\": {\n    \"3405\": 1\n  }, \n  \"76143\": {\n    \"3405\": 1\n  }, \n  \"76144\": {\n    \"3405\": 1\n  }, \n  \"76145\": {\n    \"3405\": 1\n  }, \n  \"76179\": {\n    \"21718\": 1\n  }, \n  \"76180\": {\n    \"21718\": 1\n  }, \n  \"76181\": {\n    \"21718\": 1\n  }, \n  \"76182\": {\n    \"21718\": 1\n  }, \n  \"76183\": {\n    \"21718\": 1\n  }, \n  \"76184\": {\n    \"21718\": 1\n  }, \n  \"76185\": {\n    \"21718\": 1\n  }, \n  \"76186\": {\n    \"21718\": 1\n  }, \n  \"76187\": {\n    \"21718\": 1\n  }, \n  \"76188\": {\n    \"21718\": 1\n  }, \n  \"76189\": {\n    \"21718\": 1\n  }, \n  \"76190\": {\n    \"21718\": 1\n  }, \n  \"76191\": {\n    \"25863\": 1\n  }, \n  \"76192\": {\n    \"25863\": 1\n  }, \n  \"76193\": {\n    \"25863\": 1\n  }, \n  \"76194\": {\n    \"25863\": 1\n  }, \n  \"76260\": {\n    \"25863\": 1\n  }, \n  \"76318\": {\n    \"25863\": 1\n  }, \n  \"76319\": {\n    \"25863\": 1\n  }, \n  \"76320\": {\n    \"25863\": 1\n  }, \n  \"76373\": {\n    \"3386\": 1\n  }, \n  \"76506\": {\n    \"3402\": 1\n  }, \n  \"76507\": {\n    \"3402\": 1\n  }, \n  \"76508\": {\n    \"3402\": 1\n  }, \n  \"76509\": {\n    \"3355\": 1\n  }, \n  \"76510\": {\n    \"3355\": 1\n  }, \n  \"76511\": {\n    \"3355\": 1\n  }, \n  \"76532\": {\n    \"3405\": 1\n  }, \n  \"76533\": {\n    \"3405\": 1\n  }, \n  \"76534\": {\n    \"3405\": 1\n  }, \n  \"76535\": {\n    \"3405\": 1\n  }, \n  \"76941\": {\n    \"21718\": 1\n  }, \n  \"77097\": {\n    \"21718\": 1\n  }, \n  \"77098\": {\n    \"21718\": 1\n  }, \n  \"77099\": {\n    \"21718\": 1\n  }, \n  \"77100\": {\n    \"21718\": 1\n  }, \n  \"77114\": {\n    \"3327\": 1\n  }, \n  \"77118\": {\n    \"3386\": 1\n  }, \n  \"77121\": {\n    \"21718\": 1\n  }, \n  \"77196\": {\n    \"21718\": 1\n  }, \n  \"77197\": {\n    \"21718\": 1\n  }, \n  \"77198\": {\n    \"21718\": 1\n  }, \n  \"77281\": {\n    \"20531\": 5, \n    \"20533\": 4, \n    \"77738\": 1\n  }, \n  \"77283\": {\n    \"20525\": 5, \n    \"20533\": 4, \n    \"77738\": 1\n  }, \n  \"77284\": {\n    \"20530\": 5, \n    \"20533\": 4, \n    \"77738\": 1\n  }, \n  \"77288\": {\n    \"20532\": 5, \n    \"20533\": 4, \n    \"77738\": 1\n  }, \n  \"77398\": {\n    \"77738\": 1, \n    \"77739\": 1\n  }, \n  \"77399\": {\n    \"77738\": 1, \n    \"77739\": 1\n  }, \n  \"77400\": {\n    \"77738\": 1, \n    \"77739\": 1\n  }, \n  \"77401\": {\n    \"77738\": 1, \n    \"77739\": 1\n  }, \n  \"77418\": {\n    \"3386\": 1\n  }, \n  \"77419\": {\n    \"3386\": 1\n  }, \n  \"77420\": {\n    \"3386\": 1\n  }, \n  \"77421\": {\n    \"3386\": 1\n  }, \n  \"77524\": {\n    \"3386\": 1\n  }, \n  \"77725\": {\n    \"3392\": 5, \n    \"3398\": 4, \n    \"22242\": 4\n  }, \n  \"77726\": {\n    \"3332\": 5, \n    \"16591\": 1\n  }, \n  \"77738\": {\n    \"11433\": 4, \n    \"20533\": 4, \n    \"21611\": 1, \n    \"22043\": 4\n  }, \n  \"77739\": {\n    \"3421\": 4, \n    \"11207\": 5, \n    \"11433\": 4\n  }, \n  \"78287\": {\n    \"3402\": 1\n  }, \n  \"78288\": {\n    \"3402\": 1\n  }, \n  \"78289\": {\n    \"3402\": 1\n  }, \n  \"78290\": {\n    \"3405\": 1\n  }, \n  \"78291\": {\n    \"3405\": 1\n  }, \n  \"78292\": {\n    \"3405\": 1\n  }, \n  \"78293\": {\n    \"3405\": 1\n  }, \n  \"78294\": {\n    \"3405\": 1\n  }, \n  \"78295\": {\n    \"3405\": 1\n  }, \n  \"78300\": {\n    \"3405\": 1\n  }, \n  \"78301\": {\n    \"3405\": 1\n  }, \n  \"78302\": {\n    \"3405\": 1\n  }, \n  \"78303\": {\n    \"3405\": 1\n  }, \n  \"78305\": {\n    \"3405\": 1\n  }, \n  \"78306\": {\n    \"3405\": 1\n  }, \n  \"78307\": {\n    \"3405\": 1\n  }, \n  \"78311\": {\n    \"3405\": 1\n  }, \n  \"78312\": {\n    \"3405\": 1\n  }, \n  \"78313\": {\n    \"3405\": 1\n  }, \n  \"78314\": {\n    \"3405\": 1\n  }, \n  \"78315\": {\n    \"3405\": 1\n  }, \n  \"78316\": {\n    \"3405\": 1\n  }, \n  \"78317\": {\n    \"3405\": 1\n  }, \n  \"78318\": {\n    \"3405\": 1\n  }, \n  \"78319\": {\n    \"3405\": 1\n  }, \n  \"78320\": {\n    \"3405\": 1\n  }, \n  \"78321\": {\n    \"3405\": 1\n  }, \n  \"78322\": {\n    \"3405\": 1\n  }, \n  \"78323\": {\n    \"3405\": 1\n  }, \n  \"78324\": {\n    \"3405\": 1\n  }, \n  \"78325\": {\n    \"3405\": 1\n  }, \n  \"78326\": {\n    \"3405\": 1\n  }, \n  \"78327\": {\n    \"3405\": 1\n  }, \n  \"78328\": {\n    \"3405\": 1\n  }, \n  \"78329\": {\n    \"3405\": 1\n  }, \n  \"78333\": {\n    \"33093\": 2, \n    \"33094\": 2\n  }, \n  \"78366\": {\n    \"33096\": 2, \n    \"33097\": 2\n  }, \n  \"78367\": {\n    \"33092\": 2, \n    \"33093\": 2\n  }, \n  \"78369\": {\n    \"33097\": 2, \n    \"33098\": 2\n  }, \n  \"78414\": {\n    \"3328\": 5, \n    \"12095\": 1\n  }, \n  \"78576\": {\n    \"3344\": 1, \n    \"3345\": 1, \n    \"20533\": 5\n  }, \n  \"78621\": {\n    \"3318\": 4\n  }, \n  \"78631\": {\n    \"3405\": 1\n  }, \n  \"78633\": {\n    \"3405\": 1\n  }, \n  \"78634\": {\n    \"3405\": 1\n  }, \n  \"78636\": {\n    \"3405\": 1\n  }, \n  \"78637\": {\n    \"3405\": 1\n  }, \n  \"78638\": {\n    \"3405\": 1\n  }, \n  \"78639\": {\n    \"3405\": 1\n  }, \n  \"78640\": {\n    \"3405\": 1\n  }, \n  \"78641\": {\n    \"3405\": 1\n  }, \n  \"78642\": {\n    \"3405\": 1\n  }, \n  \"78649\": {\n    \"3405\": 1\n  }, \n  \"78650\": {\n    \"3405\": 1\n  }, \n  \"78652\": {\n    \"3405\": 1\n  }, \n  \"78653\": {\n    \"3405\": 1\n  }, \n  \"78655\": {\n    \"3405\": 1\n  }, \n  \"78656\": {\n    \"3405\": 1\n  }, \n  \"78657\": {\n    \"3405\": 1\n  }, \n  \"78659\": {\n    \"3405\": 1\n  }, \n  \"78660\": {\n    \"3405\": 1\n  }, \n  \"78661\": {\n    \"3405\": 1\n  }, \n  \"78663\": {\n    \"3405\": 1\n  }, \n  \"78664\": {\n    \"3405\": 1\n  }, \n  \"78665\": {\n    \"3405\": 1\n  }, \n  \"78666\": {\n    \"3405\": 1\n  }, \n  \"78667\": {\n    \"3405\": 1\n  }, \n  \"78668\": {\n    \"3402\": 1\n  }, \n  \"78669\": {\n    \"3402\": 1\n  }, \n  \"78670\": {\n    \"3402\": 1\n  }, \n  \"78676\": {\n    \"3405\": 1\n  }, \n  \"78677\": {\n    \"22578\": 1\n  }, \n  \"78740\": {\n    \"3318\": 1\n  }, \n  \"78741\": {\n    \"3318\": 1\n  }, \n  \"80029\": {\n    \"13278\": 1\n  }, \n  \"80030\": {\n    \"13278\": 1\n  }, \n  \"80031\": {\n    \"13278\": 1\n  }, \n  \"80033\": {\n    \"13278\": 1\n  }, \n  \"80034\": {\n    \"13278\": 1\n  }, \n  \"80035\": {\n    \"13278\": 1\n  }, \n  \"80036\": {\n    \"13278\": 1\n  }, \n  \"80038\": {\n    \"13278\": 1\n  }, \n  \"80342\": {\n    \"3402\": 1\n  }, \n  \"80343\": {\n    \"3402\": 1\n  }, \n  \"80344\": {\n    \"3402\": 1\n  }, \n  \"80352\": {\n    \"3355\": 1\n  }, \n  \"80353\": {\n    \"3355\": 1\n  }, \n  \"80354\": {\n    \"3355\": 1\n  }, \n  \"81008\": {\n    \"81032\": 1\n  }, \n  \"81032\": {\n    \"3327\": 3\n  }, \n  \"81040\": {\n    \"20342\": 1, \n    \"81044\": 1\n  }, \n  \"81044\": {\n    \"20342\": 5, \n    \"81032\": 3\n  }, \n  \"81046\": {\n    \"19719\": 1, \n    \"81032\": 5\n  }, \n  \"81047\": {\n    \"19719\": 1, \n    \"81032\": 5\n  }, \n  \"81050\": {\n    \"3392\": 5, \n    \"3402\": 5\n  }, \n  \"81051\": {\n    \"81050\": 1\n  }, \n  \"81364\": {\n    \"81375\": 4\n  }, \n  \"81365\": {\n    \"81364\": 4\n  }, \n  \"81367\": {\n    \"81366\": 4\n  }, \n  \"81369\": {\n    \"81368\": 4\n  }, \n  \"81371\": {\n    \"81370\": 4\n  }, \n  \"81372\": {\n    \"81377\": 4\n  }, \n  \"81373\": {\n    \"81372\": 4\n  }, \n  \"81374\": {\n    \"81373\": 4\n  }, \n  \"81617\": {\n    \"13278\": 1\n  }, \n  \"81624\": {\n    \"13278\": 1\n  }, \n  \"81627\": {\n    \"13278\": 1\n  }, \n  \"81896\": {\n    \"3402\": 5, \n    \"3405\": 5\n  }, \n  \"81900\": {\n    \"3386\": 1\n  }, \n  \"81901\": {\n    \"3386\": 1\n  }, \n  \"81902\": {\n    \"3386\": 1\n  }, \n  \"81903\": {\n    \"3386\": 1\n  }, \n  \"81948\": {\n    \"3402\": 3\n  }, \n  \"81949\": {\n    \"11446\": 4\n  }, \n  \"81975\": {\n    \"3386\": 1\n  }, \n  \"81976\": {\n    \"3386\": 1\n  }, \n  \"81977\": {\n    \"3386\": 1\n  }, \n  \"81978\": {\n    \"3386\": 1\n  }, \n  \"82015\": {\n    \"3386\": 1\n  }, \n  \"82016\": {\n    \"3386\": 1\n  }, \n  \"82017\": {\n    \"3386\": 1\n  }, \n  \"82018\": {\n    \"3386\": 1\n  }, \n  \"82019\": {\n    \"3386\": 1\n  }, \n  \"82163\": {\n    \"3386\": 1\n  }, \n  \"82164\": {\n    \"3386\": 1\n  }, \n  \"82165\": {\n    \"3386\": 1\n  }, \n  \"82166\": {\n    \"3386\": 1\n  }, \n  \"82205\": {\n    \"3386\": 1\n  }, \n  \"82206\": {\n    \"3386\": 1\n  }, \n  \"82207\": {\n    \"3386\": 1\n  }, \n  \"82208\": {\n    \"3386\": 1\n  }, \n  \"82300\": {\n    \"3386\": 1\n  }, \n  \"82301\": {\n    \"3386\": 1\n  }, \n  \"82302\": {\n    \"3386\": 1\n  }, \n  \"82303\": {\n    \"3386\": 1\n  }, \n  \"82304\": {\n    \"3386\": 1\n  }, \n  \"82305\": {\n    \"3386\": 1\n  }, \n  \"82306\": {\n    \"3386\": 1\n  }, \n  \"82307\": {\n    \"3386\": 1\n  }, \n  \"82308\": {\n    \"3386\": 1\n  }, \n  \"82309\": {\n    \"3386\": 1\n  }, \n  \"82310\": {\n    \"3386\": 1\n  }, \n  \"82311\": {\n    \"3386\": 1\n  }, \n  \"82312\": {\n    \"3386\": 1\n  }, \n  \"82313\": {\n    \"3386\": 1\n  }, \n  \"82314\": {\n    \"3386\": 1\n  }, \n  \"82315\": {\n    \"3386\": 1\n  }, \n  \"82316\": {\n    \"3386\": 1\n  }, \n  \"82317\": {\n    \"3386\": 1\n  }, \n  \"82318\": {\n    \"3386\": 1\n  }, \n  \"82319\": {\n    \"3386\": 1\n  }, \n  \"83094\": {\n    \"24562\": 5\n  }, \n  \"83464\": {\n    \"3449\": 5, \n    \"4385\": 5\n  }, \n  \"83465\": {\n    \"4385\": 5, \n    \"83464\": 1\n  }, \n  \"83485\": {\n    \"83464\": 1\n  }, \n  \"83579\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"83582\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"83583\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"83584\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"83585\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"83586\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"83587\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"83589\": {\n    \"23069\": 1, \n    \"40572\": 1\n  }, \n  \"83590\": {\n    \"21718\": 1\n  }, \n  \"83591\": {\n    \"23069\": 1, \n    \"40573\": 1\n  }, \n  \"83592\": {\n    \"23069\": 1, \n    \"40573\": 1\n  }, \n  \"83593\": {\n    \"23069\": 1, \n    \"40573\": 1\n  }, \n  \"83594\": {\n    \"23069\": 1, \n    \"40573\": 1\n  }, \n  \"83642\": {\n    \"3352\": 5, \n    \"3411\": 5, \n    \"11572\": 5\n  }, \n  \"83643\": {\n    \"3427\": 4\n  }, \n  \"83644\": {\n    \"3427\": 4\n  }, \n  \"83647\": {\n    \"3394\": 1\n  }, \n  \"83660\": {\n    \"3427\": 4\n  }, \n  \"83661\": {\n    \"3427\": 4\n  }, \n  \"84218\": {\n    \"84217\": 4\n  }, \n  \"84220\": {\n    \"84218\": 4\n  }, \n  \"84271\": {\n    \"3402\": 1\n  }, \n  \"84272\": {\n    \"3402\": 1\n  }, \n  \"84273\": {\n    \"3402\": 1\n  }, \n  \"84297\": {\n    \"3405\": 1\n  }, \n  \"84298\": {\n    \"3405\": 1\n  }, \n  \"84299\": {\n    \"3405\": 1\n  }, \n  \"84300\": {\n    \"3405\": 1\n  }, \n  \"84301\": {\n    \"3405\": 1\n  }, \n  \"84302\": {\n    \"3405\": 1\n  }, \n  \"84303\": {\n    \"3405\": 1\n  }, \n  \"84304\": {\n    \"3405\": 1\n  }, \n  \"84305\": {\n    \"3405\": 1\n  }, \n  \"84306\": {\n    \"3405\": 1\n  }, \n  \"84307\": {\n    \"3405\": 1\n  }, \n  \"84308\": {\n    \"3405\": 1\n  }, \n  \"84309\": {\n    \"3405\": 1\n  }, \n  \"84310\": {\n    \"3405\": 1\n  }, \n  \"84311\": {\n    \"3405\": 1\n  }, \n  \"84312\": {\n    \"3405\": 1\n  }, \n  \"84313\": {\n    \"3405\": 1\n  }, \n  \"84314\": {\n    \"3405\": 1\n  }, \n  \"84315\": {\n    \"3405\": 1\n  }, \n  \"84316\": {\n    \"3405\": 1\n  }, \n  \"84317\": {\n    \"3405\": 1\n  }, \n  \"84318\": {\n    \"3405\": 1\n  }, \n  \"84319\": {\n    \"3405\": 1\n  }, \n  \"84320\": {\n    \"3405\": 1\n  }, \n  \"84321\": {\n    \"3405\": 1\n  }, \n  \"84322\": {\n    \"3405\": 1\n  }, \n  \"84323\": {\n    \"3405\": 1\n  }, \n  \"84324\": {\n    \"3405\": 1\n  }, \n  \"84325\": {\n    \"3405\": 1\n  }, \n  \"84326\": {\n    \"3405\": 1\n  }, \n  \"84327\": {\n    \"3405\": 1\n  }, \n  \"84328\": {\n    \"3405\": 1\n  }, \n  \"84434\": {\n    \"3421\": 1\n  }, \n  \"84435\": {\n    \"3421\": 1\n  }, \n  \"84436\": {\n    \"3421\": 1\n  }, \n  \"84437\": {\n    \"3421\": 1\n  }, \n  \"84438\": {\n    \"3421\": 1\n  }, \n  \"84439\": {\n    \"3421\": 1\n  }, \n  \"84440\": {\n    \"3421\": 1\n  }, \n  \"84441\": {\n    \"3421\": 1\n  }, \n  \"84442\": {\n    \"3421\": 1\n  }, \n  \"84443\": {\n    \"3421\": 1\n  }, \n  \"84444\": {\n    \"3421\": 1\n  }, \n  \"84445\": {\n    \"3421\": 1\n  }, \n  \"84495\": {\n    \"3421\": 1\n  }, \n  \"84496\": {\n    \"3421\": 1\n  }, \n  \"84497\": {\n    \"3421\": 1\n  }, \n  \"84498\": {\n    \"3421\": 1\n  }, \n  \"84499\": {\n    \"3421\": 1\n  }, \n  \"84500\": {\n    \"3421\": 1\n  }, \n  \"84740\": {\n    \"3421\": 1\n  }, \n  \"84741\": {\n    \"3423\": 2\n  }, \n  \"84742\": {\n    \"19921\": 1\n  }, \n  \"84743\": {\n    \"3453\": 1\n  }, \n  \"84959\": {\n    \"3418\": 2\n  }, \n  \"84961\": {\n    \"3394\": 1\n  }, \n  \"84962\": {\n    \"3454\": 1\n  }, \n  \"84963\": {\n    \"3454\": 1\n  }, \n  \"84964\": {\n    \"3454\": 1\n  }, \n  \"84965\": {\n    \"3454\": 1\n  }, \n  \"84966\": {\n    \"3450\": 1\n  }, \n  \"84967\": {\n    \"3450\": 1\n  }, \n  \"84968\": {\n    \"3450\": 1\n  }, \n  \"84969\": {\n    \"3450\": 1\n  }, \n  \"84970\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"84971\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"84972\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"84973\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"84985\": {\n    \"16069\": 1\n  }, \n  \"84986\": {\n    \"16069\": 1\n  }, \n  \"84987\": {\n    \"16069\": 2\n  }, \n  \"84988\": {\n    \"16069\": 2\n  }, \n  \"84989\": {\n    \"3423\": 1\n  }, \n  \"84991\": {\n    \"3423\": 1\n  }, \n  \"84992\": {\n    \"3423\": 2\n  }, \n  \"84993\": {\n    \"3423\": 2\n  }, \n  \"84994\": {\n    \"3422\": 1\n  }, \n  \"84995\": {\n    \"3422\": 1\n  }, \n  \"84996\": {\n    \"3422\": 1\n  }, \n  \"84997\": {\n    \"3422\": 1\n  }, \n  \"84998\": {\n    \"3416\": 1\n  }, \n  \"84999\": {\n    \"3416\": 1\n  }, \n  \"85000\": {\n    \"3416\": 1\n  }, \n  \"85001\": {\n    \"3416\": 1\n  }, \n  \"85002\": {\n    \"3427\": 1\n  }, \n  \"85003\": {\n    \"3427\": 1\n  }, \n  \"85004\": {\n    \"3427\": 1\n  }, \n  \"85005\": {\n    \"3427\": 1\n  }, \n  \"85006\": {\n    \"3427\": 3\n  }, \n  \"85007\": {\n    \"3427\": 3\n  }, \n  \"85008\": {\n    \"3300\": 1, \n    \"3301\": 1\n  }, \n  \"85009\": {\n    \"3300\": 3, \n    \"3304\": 1\n  }, \n  \"85010\": {\n    \"3300\": 1, \n    \"3302\": 1\n  }, \n  \"85011\": {\n    \"3300\": 3, \n    \"3305\": 1\n  }, \n  \"85012\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"85013\": {\n    \"3300\": 1, \n    \"3303\": 1\n  }, \n  \"85014\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"85015\": {\n    \"3300\": 3, \n    \"3306\": 1\n  }, \n  \"85021\": {\n    \"3319\": 1, \n    \"3320\": 1\n  }, \n  \"85023\": {\n    \"3319\": 1, \n    \"25719\": 1\n  }, \n  \"85025\": {\n    \"3450\": 1\n  }, \n  \"85026\": {\n    \"3450\": 1\n  }, \n  \"85027\": {\n    \"3417\": 1\n  }, \n  \"85028\": {\n    \"3417\": 1\n  }, \n  \"85031\": {\n    \"3450\": 1\n  }, \n  \"85032\": {\n    \"3450\": 1\n  }, \n  \"85033\": {\n    \"3423\": 1\n  }, \n  \"85034\": {\n    \"3423\": 1\n  }, \n  \"85035\": {\n    \"3435\": 5, \n    \"11446\": 4\n  }, \n  \"85038\": {\n    \"13278\": 1\n  }, \n  \"85039\": {\n    \"13278\": 1\n  }, \n  \"85040\": {\n    \"13278\": 1\n  }, \n  \"85062\": {\n    \"3328\": 1, \n    \"3329\": 1, \n    \"3330\": 1, \n    \"3331\": 1, \n    \"12093\": 1\n  }, \n  \"85084\": {\n    \"86260\": 1\n  }, \n  \"85085\": {\n    \"86260\": 2\n  }, \n  \"85086\": {\n    \"33096\": 2, \n    \"33098\": 2\n  }, \n  \"85087\": {\n    \"33092\": 2, \n    \"33094\": 2\n  }, \n  \"85088\": {\n    \"86260\": 1\n  }, \n  \"85089\": {\n    \"86260\": 2\n  }, \n  \"85229\": {\n    \"3332\": 1, \n    \"3333\": 1, \n    \"3334\": 1, \n    \"3335\": 1, \n    \"22761\": 1\n  }, \n  \"85231\": {\n    \"13278\": 1\n  }, \n  \"85233\": {\n    \"3361\": 3, \n    \"11584\": 3\n  }, \n  \"85236\": {\n    \"3336\": 1, \n    \"3337\": 1, \n    \"3338\": 1, \n    \"3339\": 1, \n    \"28656\": 1\n  }, \n  \"85237\": {\n    \"3402\": 1\n  }, \n  \"85238\": {\n    \"3402\": 1\n  }, \n  \"85239\": {\n    \"3402\": 1\n  }, \n  \"85252\": {\n    \"3405\": 1\n  }, \n  \"85253\": {\n    \"3405\": 1\n  }, \n  \"85254\": {\n    \"3405\": 1\n  }, \n  \"85255\": {\n    \"3405\": 1\n  }, \n  \"85256\": {\n    \"3405\": 1\n  }, \n  \"85257\": {\n    \"3405\": 1\n  }, \n  \"85258\": {\n    \"3405\": 1\n  }, \n  \"85259\": {\n    \"3405\": 1\n  }, \n  \"85260\": {\n    \"3405\": 1\n  }, \n  \"85261\": {\n    \"3405\": 1\n  }, \n  \"85262\": {\n    \"3405\": 1\n  }, \n  \"85263\": {\n    \"3405\": 1\n  }, \n  \"85264\": {\n    \"3405\": 1\n  }, \n  \"85265\": {\n    \"3405\": 1\n  }, \n  \"85266\": {\n    \"3405\": 1\n  }, \n  \"85267\": {\n    \"3405\": 1\n  }, \n  \"85268\": {\n    \"3405\": 1\n  }, \n  \"85269\": {\n    \"3405\": 1\n  }, \n  \"85270\": {\n    \"3405\": 1\n  }, \n  \"85271\": {\n    \"3405\": 1\n  }, \n  \"85272\": {\n    \"3405\": 1\n  }, \n  \"85273\": {\n    \"3405\": 1\n  }, \n  \"85274\": {\n    \"3405\": 1\n  }, \n  \"85275\": {\n    \"3405\": 1\n  }, \n  \"85362\": {\n    \"13278\": 1\n  }, \n  \"85410\": {\n    \"13278\": 1\n  }, \n  \"85503\": {\n    \"13278\": 1\n  }, \n  \"85747\": {\n    \"3412\": 2\n  }, \n  \"85748\": {\n    \"3411\": 5\n  }, \n  \"85750\": {\n    \"13278\": 5\n  }, \n  \"86260\": {\n    \"3319\": 3, \n    \"24242\": 1\n  }, \n  \"86261\": {\n    \"86260\": 1\n  }, \n  \"86262\": {\n    \"86260\": 3\n  }, \n  \"86263\": {\n    \"86260\": 2\n  }, \n  \"86264\": {\n    \"86260\": 2\n  }, \n  \"87228\": {\n    \"21718\": 1\n  }, \n  \"87315\": {\n    \"3423\": 4, \n    \"9955\": 5\n  }, \n  \"87316\": {\n    \"3422\": 4, \n    \"9955\": 5\n  }, \n  \"87323\": {\n    \"25739\": 2\n  }, \n  \"87324\": {\n    \"25810\": 2\n  }, \n  \"87325\": {\n    \"25811\": 2\n  }, \n  \"87353\": {\n    \"13278\": 1\n  }, \n  \"87381\": {\n    \"3456\": 1, \n    \"20531\": 1, \n    \"20532\": 1, \n    \"20533\": 1\n  }, \n  \"87418\": {\n    \"21718\": 1\n  }, \n  \"87419\": {\n    \"21718\": 1\n  }, \n  \"87420\": {\n    \"21718\": 1\n  }, \n  \"87421\": {\n    \"21718\": 1\n  }, \n  \"87444\": {\n    \"22043\": 5\n  }, \n  \"87501\": {\n    \"13278\": 1\n  }, \n  \"87502\": {\n    \"13278\": 1\n  }, \n  \"87503\": {\n    \"13278\": 1\n  }, \n  \"87532\": {\n    \"13278\": 1\n  }, \n  \"87557\": {\n    \"13278\": 1\n  }, \n  \"87558\": {\n    \"13278\": 1\n  }, \n  \"87562\": {\n    \"3386\": 4, \n    \"11395\": 2\n  }, \n  \"87574\": {\n    \"3402\": 1\n  }, \n  \"87575\": {\n    \"3402\": 1\n  }, \n  \"87576\": {\n    \"3402\": 1\n  }, \n  \"87577\": {\n    \"3355\": 1\n  }, \n  \"87578\": {\n    \"3355\": 1\n  }, \n  \"87579\": {\n    \"3355\": 1\n  }, \n  \"87684\": {\n    \"13278\": 1\n  }, \n  \"87711\": {\n    \"3405\": 1\n  }, \n  \"87726\": {\n    \"3405\": 1\n  }, \n  \"87727\": {\n    \"3405\": 1\n  }, \n  \"87728\": {\n    \"3405\": 1\n  }, \n  \"87729\": {\n    \"3405\": 1\n  }, \n  \"87886\": {\n    \"3405\": 1\n  }, \n  \"87947\": {\n    \"13278\": 1\n  }, \n  \"88001\": {\n    \"28667\": 1, \n    \"47869\": 5\n  }, \n  \"88009\": {\n    \"13278\": 1\n  }, \n  \"88010\": {\n    \"13278\": 1\n  }, \n  \"88060\": {\n    \"21718\": 1\n  }, \n  \"88062\": {\n    \"21718\": 1\n  }, \n  \"88105\": {\n    \"3386\": 1\n  }, \n  \"88119\": {\n    \"3411\": 2\n  }, \n  \"88120\": {\n    \"3411\": 2\n  }, \n  \"88121\": {\n    \"3411\": 2\n  }, \n  \"88122\": {\n    \"3411\": 2\n  }, \n  \"88123\": {\n    \"3411\": 2\n  }, \n  \"88124\": {\n    \"3411\": 5\n  }, \n  \"88125\": {\n    \"3411\": 2\n  }, \n  \"88126\": {\n    \"3411\": 2\n  }, \n  \"88127\": {\n    \"3411\": 2\n  }, \n  \"88128\": {\n    \"3411\": 2\n  }, \n  \"88129\": {\n    \"3411\": 2\n  }, \n  \"88130\": {\n    \"3411\": 5\n  }, \n  \"88147\": {\n    \"25739\": 3, \n    \"25810\": 3, \n    \"25811\": 3\n  }, \n  \"88224\": {\n    \"13278\": 1\n  }, \n  \"88261\": {\n    \"3348\": 5, \n    \"3350\": 5, \n    \"3351\": 1\n  }, \n  \"88262\": {\n    \"3420\": 1\n  }, \n  \"88263\": {\n    \"3348\": 5, \n    \"11569\": 1, \n    \"20494\": 5\n  }, \n  \"88264\": {\n    \"24613\": 1\n  }, \n  \"88265\": {\n    \"3318\": 1\n  }, \n  \"88266\": {\n    \"22043\": 5\n  }, \n  \"88350\": {\n    \"3405\": 1\n  }, \n  \"88351\": {\n    \"3405\": 1\n  }, \n  \"88352\": {\n    \"3405\": 1\n  }, \n  \"88353\": {\n    \"3405\": 1\n  }, \n  \"88354\": {\n    \"3405\": 1\n  }, \n  \"88377\": {\n    \"24563\": 5\n  }, \n  \"88709\": {\n    \"3394\": 3\n  }, \n  \"88710\": {\n    \"4385\": 1\n  }, \n  \"88711\": {\n    \"4385\": 1\n  }, \n  \"88712\": {\n    \"4385\": 5, \n    \"83464\": 1\n  }, \n  \"88713\": {\n    \"21802\": 4\n  }, \n  \"88714\": {\n    \"3416\": 4\n  }, \n  \"88715\": {\n    \"3416\": 2\n  }, \n  \"88716\": {\n    \"3416\": 2\n  }, \n  \"88717\": {\n    \"3416\": 2\n  }, \n  \"88718\": {\n    \"3392\": 3, \n    \"21803\": 1\n  }, \n  \"88719\": {\n    \"3392\": 3, \n    \"3393\": 1\n  }, \n  \"88720\": {\n    \"3392\": 2, \n    \"3393\": 1\n  }, \n  \"88721\": {\n    \"3392\": 1, \n    \"3393\": 1\n  }, \n  \"88740\": {\n    \"21718\": 1\n  }, \n  \"88741\": {\n    \"21718\": 1\n  }, \n  \"88742\": {\n    \"21718\": 1\n  }, \n  \"88743\": {\n    \"21718\": 1\n  }, \n  \"88744\": {\n    \"21718\": 1\n  }, \n  \"88745\": {\n    \"21718\": 1\n  }, \n  \"88746\": {\n    \"21718\": 4\n  }, \n  \"88747\": {\n    \"21718\": 1\n  }, \n  \"88748\": {\n    \"13278\": 1\n  }, \n  \"88749\": {\n    \"13278\": 1\n  }, \n  \"88750\": {\n    \"13278\": 1\n  }, \n  \"88751\": {\n    \"13278\": 1\n  }, \n  \"88752\": {\n    \"13278\": 1\n  }, \n  \"88753\": {\n    \"13278\": 1\n  }, \n  \"89240\": {\n    \"89241\": 1\n  }, \n  \"89241\": {\n    \"3380\": 3, \n    \"3386\": 4, \n    \"32918\": 3\n  }, \n  \"89557\": {\n    \"3405\": 1\n  }, \n  \"89558\": {\n    \"3405\": 1\n  }, \n  \"89559\": {\n    \"3405\": 1\n  }, \n  \"89560\": {\n    \"3405\": 1\n  }, \n  \"89561\": {\n    \"3405\": 1\n  }, \n  \"89562\": {\n    \"3405\": 1\n  }, \n  \"89563\": {\n    \"3405\": 1\n  }, \n  \"89564\": {\n    \"3405\": 1\n  }, \n  \"89573\": {\n    \"3405\": 1\n  }, \n  \"89574\": {\n    \"3405\": 1\n  }, \n  \"89576\": {\n    \"3405\": 1\n  }, \n  \"89577\": {\n    \"3405\": 1\n  }, \n  \"89581\": {\n    \"3405\": 1\n  }, \n  \"89585\": {\n    \"3405\": 1\n  }, \n  \"89586\": {\n    \"3405\": 1\n  }, \n  \"89587\": {\n    \"3405\": 1\n  }, \n  \"89588\": {\n    \"3405\": 1\n  }, \n  \"89589\": {\n    \"3405\": 1\n  }, \n  \"89590\": {\n    \"3405\": 1\n  }, \n  \"89591\": {\n    \"3405\": 1\n  }, \n  \"89592\": {\n    \"3405\": 1\n  }, \n  \"89593\": {\n    \"3405\": 1\n  }, \n  \"89594\": {\n    \"3405\": 1\n  }, \n  \"89595\": {\n    \"3405\": 1\n  }, \n  \"89596\": {\n    \"3405\": 1\n  }, \n  \"89597\": {\n    \"3405\": 1\n  }, \n  \"89598\": {\n    \"3405\": 1\n  }, \n  \"89599\": {\n    \"3405\": 1\n  }, \n  \"89600\": {\n    \"3405\": 1\n  }, \n  \"89601\": {\n    \"3405\": 1\n  }, \n  \"89602\": {\n    \"3405\": 1\n  }, \n  \"89603\": {\n    \"3405\": 1\n  }, \n  \"89604\": {\n    \"3402\": 1\n  }, \n  \"89605\": {\n    \"3402\": 1\n  }, \n  \"89606\": {\n    \"3402\": 1\n  }, \n  \"89607\": {\n    \"33095\": 2, \n    \"33097\": 2, \n    \"89609\": 1\n  }, \n  \"89608\": {\n    \"3348\": 1, \n    \"89611\": 1\n  }, \n  \"89609\": {\n    \"3327\": 5, \n    \"3412\": 5, \n    \"89610\": 1\n  }, \n  \"89610\": {\n    \"3348\": 1, \n    \"89611\": 5\n  }, \n  \"89611\": {\n    \"3348\": 1\n  }, \n  \"89612\": {\n    \"3348\": 1, \n    \"89611\": 1\n  }, \n  \"89613\": {\n    \"3348\": 1, \n    \"89611\": 1\n  }, \n  \"89614\": {\n    \"3348\": 1, \n    \"89611\": 1\n  }, \n  \"89615\": {\n    \"3348\": 5, \n    \"89610\": 1, \n    \"89611\": 5\n  }, \n  \"89616\": {\n    \"3348\": 5, \n    \"89610\": 1, \n    \"89611\": 5\n  }, \n  \"89617\": {\n    \"3411\": 5, \n    \"89610\": 5\n  }, \n  \"89618\": {\n    \"3411\": 5, \n    \"11569\": 5, \n    \"89610\": 5\n  }, \n  \"89647\": {\n    \"89241\": 2\n  }, \n  \"89648\": {\n    \"32918\": 3\n  }, \n  \"89649\": {\n    \"37615\": 1, \n    \"89241\": 5\n  }, \n  \"89689\": {\n    \"3392\": 5, \n    \"3394\": 5, \n    \"33078\": 4\n  }, \n  \"89717\": {\n    \"3318\": 1, \n    \"3436\": 1, \n    \"9955\": 5\n  }, \n  \"89807\": {\n    \"33096\": 1\n  }, \n  \"89808\": {\n    \"35680\": 1\n  }, \n  \"90037\": {\n    \"11584\": 3\n  }, \n  \"90040\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"90041\": {\n    \"3386\": 1\n  }, \n  \"90042\": {\n    \"3386\": 1\n  }, \n  \"90043\": {\n    \"21718\": 1\n  }, \n  \"90044\": {\n    \"21718\": 1\n  }, \n  \"90045\": {\n    \"3386\": 1, \n    \"90040\": 3\n  }, \n  \"90046\": {\n    \"3386\": 1, \n    \"90040\": 3\n  }, \n  \"90047\": {\n    \"3386\": 1, \n    \"90040\": 4\n  }, \n  \"90048\": {\n    \"3386\": 1, \n    \"90040\": 3\n  }, \n  \"90049\": {\n    \"3386\": 1, \n    \"90040\": 4\n  }, \n  \"90050\": {\n    \"3386\": 1, \n    \"90040\": 4\n  }, \n  \"90161\": {\n    \"9955\": 5\n  }, \n  \"90283\": {\n    \"3386\": 1\n  }, \n  \"90284\": {\n    \"3386\": 1\n  }, \n  \"90286\": {\n    \"3386\": 1\n  }, \n  \"90289\": {\n    \"3386\": 1\n  }, \n  \"90292\": {\n    \"3386\": 1\n  }, \n  \"90294\": {\n    \"3386\": 1\n  }, \n  \"90296\": {\n    \"3386\": 1\n  }, \n  \"90298\": {\n    \"3386\": 1\n  }, \n  \"90307\": {\n    \"3386\": 1\n  }, \n  \"90327\": {\n    \"21718\": 1\n  }, \n  \"90333\": {\n    \"21718\": 1\n  }, \n  \"90358\": {\n    \"3386\": 1\n  }, \n  \"90398\": {\n    \"3389\": 5, \n    \"3409\": 4\n  }, \n  \"90421\": {\n    \"3386\": 1\n  }, \n  \"90422\": {\n    \"3386\": 1\n  }, \n  \"90426\": {\n    \"3386\": 1\n  }, \n  \"90445\": {\n    \"3386\": 1\n  }, \n  \"90446\": {\n    \"3386\": 1\n  }, \n  \"90460\": {\n    \"3386\": 4\n  }, \n  \"90467\": {\n    \"3386\": 5\n  }, \n  \"90474\": {\n    \"3386\": 5, \n    \"11395\": 2\n  }, \n  \"90475\": {\n    \"24613\": 1\n  }, \n  \"90483\": {\n    \"3386\": 5, \n    \"11395\": 1\n  }, \n  \"90487\": {\n    \"3386\": 5, \n    \"11395\": 2\n  }, \n  \"90493\": {\n    \"3386\": 4\n  }, \n  \"90498\": {\n    \"3386\": 4, \n    \"11395\": 2\n  }, \n  \"90502\": {\n    \"16281\": 1\n  }, \n  \"90524\": {\n    \"16281\": 1\n  }, \n  \"90529\": {\n    \"25544\": 1\n  }, \n  \"90560\": {\n    \"21718\": 1\n  }, \n  \"90561\": {\n    \"21718\": 1\n  }, \n  \"90593\": {\n    \"25544\": 1\n  }, \n  \"90614\": {\n    \"3386\": 2, \n    \"3436\": 1, \n    \"3438\": 1, \n    \"60515\": 1\n  }, \n  \"90618\": {\n    \"3436\": 1, \n    \"16281\": 2, \n    \"43702\": 1, \n    \"60515\": 1\n  }, \n  \"90621\": {\n    \"3386\": 2, \n    \"3436\": 1, \n    \"3438\": 1, \n    \"22541\": 1, \n    \"60515\": 1\n  }, \n  \"90622\": {\n    \"3436\": 1, \n    \"16281\": 4, \n    \"43702\": 5, \n    \"43703\": 1, \n    \"60515\": 1\n  }, \n  \"90669\": {\n    \"3405\": 1\n  }, \n  \"90670\": {\n    \"3405\": 1\n  }, \n  \"90671\": {\n    \"3405\": 1\n  }, \n  \"90672\": {\n    \"3405\": 1\n  }, \n  \"90673\": {\n    \"3405\": 1\n  }, \n  \"90674\": {\n    \"3405\": 1\n  }, \n  \"90675\": {\n    \"3405\": 1\n  }, \n  \"90676\": {\n    \"3405\": 1\n  }, \n  \"90677\": {\n    \"3405\": 1\n  }, \n  \"90678\": {\n    \"3405\": 1\n  }, \n  \"90679\": {\n    \"3405\": 1\n  }, \n  \"90680\": {\n    \"3405\": 1\n  }, \n  \"90682\": {\n    \"3405\": 1\n  }, \n  \"90683\": {\n    \"3405\": 1\n  }, \n  \"90684\": {\n    \"3405\": 1\n  }, \n  \"90685\": {\n    \"3405\": 1\n  }, \n  \"90686\": {\n    \"3405\": 1\n  }, \n  \"90687\": {\n    \"3405\": 1\n  }, \n  \"90688\": {\n    \"3405\": 1\n  }, \n  \"90689\": {\n    \"3405\": 1\n  }, \n  \"90690\": {\n    \"3405\": 1\n  }, \n  \"90691\": {\n    \"3405\": 1\n  }, \n  \"90692\": {\n    \"3405\": 1\n  }, \n  \"90693\": {\n    \"3405\": 1\n  }, \n  \"90694\": {\n    \"3402\": 1\n  }, \n  \"90695\": {\n    \"3402\": 1\n  }, \n  \"90696\": {\n    \"3402\": 1\n  }, \n  \"90727\": {\n    \"3386\": 3\n  }, \n  \"90728\": {\n    \"3386\": 5, \n    \"3410\": 3, \n    \"90727\": 4\n  }, \n  \"90733\": {\n    \"3348\": 1, \n    \"22536\": 1\n  }, \n  \"91044\": {\n    \"21718\": 1\n  }, \n  \"91045\": {\n    \"21718\": 1\n  }, \n  \"91046\": {\n    \"21718\": 1\n  }, \n  \"91174\": {\n    \"16281\": 1, \n    \"89241\": 2\n  }, \n  \"91998\": {\n    \"3405\": 1\n  }, \n  \"91999\": {\n    \"3405\": 1\n  }, \n  \"92000\": {\n    \"3405\": 1\n  }, \n  \"92001\": {\n    \"3405\": 1\n  }, \n  \"92002\": {\n    \"3405\": 1\n  }, \n  \"92003\": {\n    \"3405\": 1\n  }, \n  \"92004\": {\n    \"3405\": 1\n  }, \n  \"92005\": {\n    \"3405\": 1\n  }, \n  \"92006\": {\n    \"3405\": 1\n  }, \n  \"92017\": {\n    \"3405\": 1\n  }, \n  \"92018\": {\n    \"3405\": 1\n  }, \n  \"92019\": {\n    \"3405\": 1\n  }, \n  \"92021\": {\n    \"3405\": 1\n  }, \n  \"92022\": {\n    \"3405\": 1\n  }, \n  \"92023\": {\n    \"3405\": 1\n  }, \n  \"92024\": {\n    \"3405\": 1\n  }, \n  \"92025\": {\n    \"3405\": 1\n  }, \n  \"92026\": {\n    \"3405\": 1\n  }, \n  \"92027\": {\n    \"3405\": 1\n  }, \n  \"92028\": {\n    \"3405\": 1\n  }, \n  \"92029\": {\n    \"3405\": 1\n  }, \n  \"92030\": {\n    \"3405\": 1\n  }, \n  \"92031\": {\n    \"3405\": 1\n  }, \n  \"92032\": {\n    \"3405\": 1\n  }, \n  \"92033\": {\n    \"3435\": 3, \n    \"3436\": 5, \n    \"12305\": 1, \n    \"23566\": 1, \n    \"24241\": 1\n  }, \n  \"92034\": {\n    \"3435\": 3, \n    \"3436\": 5, \n    \"12305\": 2, \n    \"23566\": 2, \n    \"33699\": 1\n  }, \n  \"92035\": {\n    \"3435\": 3, \n    \"3436\": 5, \n    \"3441\": 1, \n    \"12305\": 3, \n    \"23566\": 3\n  }, \n  \"92036\": {\n    \"3423\": 3, \n    \"3436\": 5, \n    \"23566\": 1, \n    \"24241\": 1\n  }, \n  \"92037\": {\n    \"3423\": 3, \n    \"3436\": 5, \n    \"23566\": 2, \n    \"33699\": 1\n  }, \n  \"92038\": {\n    \"3423\": 3, \n    \"3436\": 5, \n    \"3441\": 1, \n    \"23566\": 3\n  }, \n  \"92039\": {\n    \"3427\": 4, \n    \"3436\": 5, \n    \"23566\": 1, \n    \"24241\": 1\n  }, \n  \"92040\": {\n    \"3427\": 4, \n    \"3436\": 5, \n    \"23566\": 2, \n    \"33699\": 1\n  }, \n  \"92041\": {\n    \"3427\": 4, \n    \"3436\": 5, \n    \"3441\": 1, \n    \"23566\": 3\n  }, \n  \"92144\": {\n    \"21718\": 1\n  }, \n  \"92145\": {\n    \"21718\": 1\n  }, \n  \"92158\": {\n    \"3402\": 1\n  }, \n  \"92159\": {\n    \"3402\": 1\n  }, \n  \"92160\": {\n    \"3402\": 1\n  }, \n  \"92183\": {\n    \"11584\": 3\n  }, \n  \"92282\": {\n    \"3327\": 1\n  }, \n  \"92283\": {\n    \"3327\": 1\n  }, \n  \"92284\": {\n    \"3327\": 1\n  }, \n  \"92371\": {\n    \"3386\": 1\n  }, \n  \"92372\": {\n    \"3386\": 1\n  }, \n  \"92373\": {\n    \"3386\": 1\n  }, \n  \"92374\": {\n    \"3386\": 1\n  }, \n  \"92396\": {\n    \"21718\": 1\n  }, \n  \"92397\": {\n    \"23069\": 5\n  }, \n  \"92398\": {\n    \"23069\": 5\n  }, \n  \"92399\": {\n    \"23069\": 5\n  }, \n  \"92400\": {\n    \"23069\": 5\n  }, \n  \"92408\": {\n    \"13278\": 1\n  }, \n  \"92409\": {\n    \"21718\": 1\n  }, \n  \"92410\": {\n    \"21718\": 1\n  }, \n  \"92411\": {\n    \"21718\": 1\n  }, \n  \"92412\": {\n    \"21718\": 1\n  }, \n  \"92413\": {\n    \"13278\": 1\n  }, \n  \"92416\": {\n    \"13278\": 1\n  }, \n  \"92417\": {\n    \"13278\": 1\n  }, \n  \"92418\": {\n    \"13278\": 1\n  }, \n  \"92451\": {\n    \"3434\": 4\n  }, \n  \"92453\": {\n    \"3412\": 2\n  }, \n  \"92454\": {\n    \"3394\": 1\n  }, \n  \"92455\": {\n    \"3348\": 5, \n    \"3352\": 1, \n    \"20495\": 5\n  }, \n  \"92456\": {\n    \"3348\": 5, \n    \"22536\": 5, \n    \"22552\": 1\n  }, \n  \"92458\": {\n    \"3348\": 5, \n    \"3349\": 5, \n    \"11572\": 1\n  }, \n  \"92461\": {\n    \"3436\": 5, \n    \"19921\": 3, \n    \"23566\": 1, \n    \"24241\": 1\n  }, \n  \"92462\": {\n    \"3436\": 5, \n    \"19921\": 3, \n    \"23566\": 2, \n    \"33699\": 1\n  }, \n  \"92463\": {\n    \"3436\": 5, \n    \"3441\": 1, \n    \"19921\": 3, \n    \"23566\": 3\n  }, \n  \"92464\": {\n    \"3433\": 3, \n    \"3436\": 5, \n    \"23566\": 1, \n    \"24241\": 1\n  }, \n  \"92465\": {\n    \"3433\": 3, \n    \"3436\": 5, \n    \"23566\": 2, \n    \"33699\": 1\n  }, \n  \"92466\": {\n    \"3433\": 3, \n    \"3436\": 5, \n    \"3441\": 1, \n    \"23566\": 3\n  }, \n  \"92467\": {\n    \"3434\": 3, \n    \"3436\": 5, \n    \"23566\": 1, \n    \"24241\": 1\n  }, \n  \"92468\": {\n    \"3434\": 3, \n    \"3436\": 5, \n    \"23566\": 2, \n    \"33699\": 1\n  }, \n  \"92469\": {\n    \"3434\": 3, \n    \"3436\": 5, \n    \"3441\": 1, \n    \"23566\": 3\n  }, \n  \"92514\": {\n    \"3300\": 5, \n    \"52998\": 1, \n    \"92541\": 1\n  }, \n  \"92541\": {\n    \"3312\": 5, \n    \"52998\": 5\n  }, \n  \"92876\": {\n    \"3405\": 1\n  }, \n  \"92948\": {\n    \"3405\": 1\n  }, \n  \"92950\": {\n    \"3405\": 1\n  }, \n  \"92951\": {\n    \"3405\": 1\n  }, \n  \"92952\": {\n    \"92541\": 1\n  }, \n  \"92953\": {\n    \"3405\": 1\n  }, \n  \"92954\": {\n    \"92541\": 1\n  }, \n  \"92955\": {\n    \"3405\": 1\n  }, \n  \"92972\": {\n    \"3405\": 1\n  }, \n  \"92973\": {\n    \"3405\": 1\n  }, \n  \"92974\": {\n    \"3405\": 1\n  }, \n  \"92975\": {\n    \"3405\": 1\n  }, \n  \"92976\": {\n    \"3405\": 1\n  }, \n  \"92978\": {\n    \"3405\": 1\n  }, \n  \"92979\": {\n    \"3405\": 1\n  }, \n  \"92981\": {\n    \"3405\": 1\n  }, \n  \"92983\": {\n    \"3405\": 1\n  }, \n  \"92987\": {\n    \"3405\": 1\n  }, \n  \"92989\": {\n    \"3405\": 1\n  }, \n  \"92992\": {\n    \"3405\": 1\n  }, \n  \"92994\": {\n    \"3405\": 1\n  }, \n  \"92996\": {\n    \"3405\": 1\n  }, \n  \"92998\": {\n    \"3405\": 1\n  }, \n  \"92999\": {\n    \"3405\": 1\n  }, \n  \"93017\": {\n    \"3405\": 1\n  }, \n  \"93018\": {\n    \"3405\": 1\n  }, \n  \"93019\": {\n    \"3405\": 1\n  }, \n  \"93020\": {\n    \"3405\": 1\n  }, \n  \"93021\": {\n    \"3405\": 1\n  }, \n  \"93022\": {\n    \"3405\": 1\n  }, \n  \"93023\": {\n    \"3405\": 1\n  }, \n  \"93024\": {\n    \"3405\": 1\n  }, \n  \"93025\": {\n    \"3405\": 1\n  }, \n  \"93026\": {\n    \"3405\": 1\n  }, \n  \"93027\": {\n    \"3405\": 1\n  }, \n  \"93028\": {\n    \"3405\": 1\n  }, \n  \"93029\": {\n    \"3405\": 1\n  }, \n  \"93050\": {\n    \"3405\": 1\n  }, \n  \"93051\": {\n    \"3405\": 1\n  }, \n  \"93052\": {\n    \"3405\": 1\n  }, \n  \"93053\": {\n    \"3405\": 1\n  }, \n  \"93054\": {\n    \"3405\": 1\n  }, \n  \"93055\": {\n    \"3405\": 1\n  }, \n  \"93058\": {\n    \"3405\": 1\n  }, \n  \"93059\": {\n    \"3405\": 1\n  }, \n  \"93060\": {\n    \"3405\": 1\n  }, \n  \"93061\": {\n    \"3405\": 1\n  }, \n  \"93062\": {\n    \"3405\": 1\n  }, \n  \"93063\": {\n    \"3405\": 1\n  }, \n  \"93064\": {\n    \"3405\": 1\n  }, \n  \"93065\": {\n    \"3405\": 1\n  }, \n  \"93066\": {\n    \"3405\": 1\n  }, \n  \"93067\": {\n    \"3405\": 1\n  }, \n  \"93068\": {\n    \"3405\": 1\n  }, \n  \"93085\": {\n    \"3405\": 1\n  }, \n  \"93087\": {\n    \"3405\": 1\n  }, \n  \"93088\": {\n    \"3405\": 1\n  }, \n  \"93093\": {\n    \"3405\": 1\n  }, \n  \"93095\": {\n    \"3405\": 1\n  }, \n  \"93096\": {\n    \"3405\": 1\n  }, \n  \"93098\": {\n    \"3405\": 1\n  }, \n  \"93101\": {\n    \"3405\": 1\n  }, \n  \"93102\": {\n    \"3405\": 1\n  }, \n  \"93103\": {\n    \"3405\": 1\n  }, \n  \"93106\": {\n    \"3405\": 1\n  }, \n  \"93107\": {\n    \"3405\": 1\n  }, \n  \"93108\": {\n    \"3405\": 1\n  }, \n  \"93109\": {\n    \"3405\": 1\n  }, \n  \"93110\": {\n    \"3405\": 1\n  }, \n  \"93111\": {\n    \"3405\": 1\n  }, \n  \"93112\": {\n    \"3405\": 1\n  }, \n  \"93113\": {\n    \"3405\": 1\n  }, \n  \"93114\": {\n    \"3405\": 1\n  }, \n  \"93115\": {\n    \"3405\": 1\n  }, \n  \"93116\": {\n    \"3405\": 1\n  }, \n  \"93117\": {\n    \"3405\": 1\n  }, \n  \"93118\": {\n    \"3405\": 1\n  }, \n  \"93119\": {\n    \"3405\": 1\n  }, \n  \"93120\": {\n    \"3405\": 1\n  }, \n  \"93121\": {\n    \"3405\": 1\n  }, \n  \"93122\": {\n    \"3405\": 1\n  }, \n  \"93123\": {\n    \"3405\": 1\n  }, \n  \"93124\": {\n    \"3405\": 1\n  }, \n  \"93125\": {\n    \"3405\": 1\n  }, \n  \"93126\": {\n    \"3405\": 1\n  }, \n  \"93127\": {\n    \"3405\": 1\n  }, \n  \"93128\": {\n    \"3405\": 1\n  }, \n  \"93129\": {\n    \"3405\": 1\n  }, \n  \"93130\": {\n    \"3405\": 1\n  }, \n  \"93131\": {\n    \"3405\": 1\n  }, \n  \"93132\": {\n    \"3405\": 1\n  }, \n  \"93133\": {\n    \"3405\": 1\n  }, \n  \"93134\": {\n    \"3405\": 1\n  }, \n  \"93135\": {\n    \"3405\": 1\n  }, \n  \"93136\": {\n    \"3405\": 1\n  }, \n  \"93137\": {\n    \"3405\": 1\n  }, \n  \"93138\": {\n    \"3405\": 1\n  }, \n  \"93139\": {\n    \"3405\": 1\n  }, \n  \"93140\": {\n    \"3405\": 1\n  }, \n  \"93260\": {\n    \"3405\": 1\n  }, \n  \"93550\": {\n    \"21718\": 1\n  }, \n  \"93551\": {\n    \"21718\": 1\n  }, \n  \"93552\": {\n    \"21718\": 1\n  }, \n  \"93554\": {\n    \"21718\": 1\n  }, \n  \"93568\": {\n    \"21718\": 1\n  }, \n  \"93575\": {\n    \"21718\": 1\n  }, \n  \"93630\": {\n    \"21718\": 1\n  }, \n  \"93631\": {\n    \"21718\": 1\n  }, \n  \"93632\": {\n    \"21718\": 1\n  }, \n  \"93633\": {\n    \"21718\": 1\n  }, \n  \"93775\": {\n    \"3402\": 1\n  }, \n  \"93776\": {\n    \"3402\": 1\n  }, \n  \"93777\": {\n    \"3402\": 1\n  }, \n  \"93778\": {\n    \"3355\": 1\n  }, \n  \"93779\": {\n    \"3355\": 1\n  }, \n  \"93780\": {\n    \"3355\": 1\n  }, \n  \"93850\": {\n    \"21718\": 1\n  }, \n  \"93868\": {\n    \"21718\": 1\n  }, \n  \"93905\": {\n    \"3394\": 3\n  }, \n  \"93906\": {\n    \"22578\": 5\n  }, \n  \"93910\": {\n    \"3424\": 5\n  }, \n  \"93912\": {\n    \"13278\": 5, \n    \"21718\": 5\n  }, \n  \"93999\": {\n    \"3424\": 5, \n    \"11207\": 5\n  }, \n  \"94008\": {\n    \"3424\": 5, \n    \"11207\": 5\n  }, \n  \"94009\": {\n    \"3424\": 5, \n    \"11207\": 5\n  }, \n  \"94010\": {\n    \"3424\": 5, \n    \"11207\": 5\n  }\n}"
  },
  {
    "path": "staticdata/fsd_lite/clonegrades.0.json",
    "content": "{\n  \"1\": {\n    \"internalDescription\": \"Alpha Caldari\", \n    \"skills\": [\n      {\n        \"level\": 5, \n        \"typeID\": 3300\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3301\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3302\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3303\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3304\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3305\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3306\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3307\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3308\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3309\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3310\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3311\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3312\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3315\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3316\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3317\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3318\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3319\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3320\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3321\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3324\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3325\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3326\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3327\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3328\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3329\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3330\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3331\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3332\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3333\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3334\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3335\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3336\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3337\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3338\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3339\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3340\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3341\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3342\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3343\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3348\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3355\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3356\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3357\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3359\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3361\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3363\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3380\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3385\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3386\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3387\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3392\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3393\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3394\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3402\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3405\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3411\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3412\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3413\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3416\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3417\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3418\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3419\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3420\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3421\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3422\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3423\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3424\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3425\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3426\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3427\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3428\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3429\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3431\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3432\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3433\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3434\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3435\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3436\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3437\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3439\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3441\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3442\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3443\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3446\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3449\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3450\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3452\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3453\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3454\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3455\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3551\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3893\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3894\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3895\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11082\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11083\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11084\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11207\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 11566\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 11584\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12201\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12202\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12204\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12206\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12208\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12210\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12211\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12213\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12214\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 12305\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12365\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12366\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12367\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 12441\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12442\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12484\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12485\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12486\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12487\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 13278\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 16069\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 16598\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 19921\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20209\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20210\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20211\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20312\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20314\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20315\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 21059\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 21071\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 21718\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 22578\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22806\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22807\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22808\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22809\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 23606\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 23618\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 24241\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 24242\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 25544\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 25718\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 25719\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 25739\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 25811\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 25863\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26252\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26253\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26254\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26255\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26256\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26257\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26258\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26259\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26260\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26261\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 27902\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 28164\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 32918\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 33078\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33091\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33092\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33093\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33094\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33095\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33096\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33097\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33098\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33699\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 45746\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 89241\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 90727\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 91017\n      }\n    ]\n  }, \n  \"2\": {\n    \"internalDescription\": \"Alpha Minmatar\", \n    \"skills\": [\n      {\n        \"level\": 5, \n        \"typeID\": 3300\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3301\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3302\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3303\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3304\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3305\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3306\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3307\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3308\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3309\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3310\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3311\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3312\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3315\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3316\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3317\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3318\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3319\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3320\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3321\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3324\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3325\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3326\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3327\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3328\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3329\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3330\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3331\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3332\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3333\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3334\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3335\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3336\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3337\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3338\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3339\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3340\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3341\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3342\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3343\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3348\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3355\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3356\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3357\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3359\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3361\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3363\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3380\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3385\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3386\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3387\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3392\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3393\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3394\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3402\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3405\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3411\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3412\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3413\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3416\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3417\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3418\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3419\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3420\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3421\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3422\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3423\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3424\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3425\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3426\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3427\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3428\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3429\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3431\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3432\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3433\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3434\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3435\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3436\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3437\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3439\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3441\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3442\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3443\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3446\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3449\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3450\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3452\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3453\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3454\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3455\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3551\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3893\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3894\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3895\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11082\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11083\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11084\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11207\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 11566\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 11584\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12201\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12202\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12204\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12206\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12208\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12210\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12211\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12213\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12214\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 12305\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12365\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12366\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12367\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 12441\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12442\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12484\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12485\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12486\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12487\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 13278\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 16069\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 16598\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 19921\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20209\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20210\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20211\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20312\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20314\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20315\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 21059\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 21071\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 21718\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 22578\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22806\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22807\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22808\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22809\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 23606\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 23618\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 24241\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 24242\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 25544\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 25718\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 25719\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 25739\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 25811\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 25863\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26252\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26253\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26254\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26255\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26256\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26257\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26258\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26259\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26260\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26261\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 27902\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 28164\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 32918\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 33078\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33091\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33092\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33093\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33094\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33095\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33096\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33097\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33098\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33699\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 45746\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 89241\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 90727\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 91017\n      }\n    ]\n  }, \n  \"4\": {\n    \"internalDescription\": \"Alpha Amarr\", \n    \"skills\": [\n      {\n        \"level\": 5, \n        \"typeID\": 3300\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3301\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3302\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3303\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3304\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3305\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3306\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3307\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3308\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3309\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3310\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3311\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3312\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3315\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3316\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3317\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3318\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3319\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3320\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3321\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3324\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3325\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3326\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3327\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3328\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3329\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3330\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3331\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3332\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3333\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3334\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3335\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3336\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3337\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3338\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3339\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3340\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3341\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3342\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3343\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3348\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3355\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3356\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3357\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3359\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3361\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3363\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3380\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3385\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3386\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3387\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3392\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3393\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3394\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3402\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3405\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3411\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3412\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3413\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3416\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3417\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3418\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3419\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3420\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3421\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3422\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3423\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3424\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3425\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3426\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3427\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3428\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3429\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3431\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3432\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3433\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3434\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3435\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3436\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3437\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3439\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3441\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3442\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3443\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3446\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3449\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3450\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3452\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3453\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3454\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3455\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3551\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3893\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3894\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3895\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11082\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11083\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11084\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11207\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 11566\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 11584\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12201\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12202\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12204\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12206\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12208\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12210\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12211\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12213\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12214\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 12305\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12365\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12366\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12367\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 12441\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12442\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12484\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12485\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12486\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12487\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 13278\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 16069\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 16598\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 19921\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20209\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20210\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20211\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20312\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20314\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20315\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 21059\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 21071\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 21718\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 22578\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22806\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22807\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22808\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22809\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 23606\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 23618\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 24241\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 24242\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 25544\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 25718\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 25719\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 25739\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 25811\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 25863\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26252\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26253\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26254\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26255\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26256\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26257\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26258\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26259\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26260\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26261\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 27902\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 28164\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 32918\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 33078\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33091\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33092\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33093\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33094\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33095\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33096\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33097\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33098\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33699\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 45746\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 89241\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 90727\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 91017\n      }\n    ]\n  }, \n  \"8\": {\n    \"internalDescription\": \"Alpha Gallente\", \n    \"skills\": [\n      {\n        \"level\": 5, \n        \"typeID\": 3300\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3301\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3302\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3303\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3304\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3305\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3306\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3307\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3308\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3309\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3310\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3311\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3312\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3315\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3316\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3317\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3318\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3319\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3320\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3321\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3324\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3325\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3326\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3327\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3328\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3329\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3330\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3331\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3332\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3333\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3334\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3335\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3336\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3337\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3338\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3339\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3340\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3341\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3342\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3343\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3348\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3355\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3356\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3357\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3359\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3361\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 3363\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3380\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3385\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3386\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3387\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3392\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3393\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3394\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3402\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3405\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3411\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3412\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3413\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3416\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3417\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3418\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3419\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3420\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3421\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3422\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3423\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3424\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3425\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3426\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3427\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3428\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3429\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3431\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3432\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3433\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3434\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3435\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 3436\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3437\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3439\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3441\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3442\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3443\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3446\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 3449\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3450\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3452\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3453\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3454\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3455\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 3551\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3893\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3894\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 3895\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11082\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11083\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11084\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 11207\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 11566\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 11584\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12201\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12202\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12204\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12206\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12208\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12210\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12211\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12213\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 12214\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 12305\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12365\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12366\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12367\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 12441\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12442\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12484\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12485\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12486\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 12487\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 13278\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 16069\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 16598\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 19921\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20209\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20210\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20211\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20312\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20314\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 20315\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 21059\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 21071\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 21718\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 22578\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22806\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22807\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22808\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 22809\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 23606\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 23618\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 24241\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 24242\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 25544\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 25718\n      }, \n      {\n        \"level\": 5, \n        \"typeID\": 25719\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 25739\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 25811\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 25863\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26252\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26253\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26254\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26255\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26256\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26257\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26258\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26259\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26260\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 26261\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 27902\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 28164\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 32918\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 33078\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33091\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33092\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33093\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33094\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33095\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33096\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33097\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33098\n      }, \n      {\n        \"level\": 4, \n        \"typeID\": 33699\n      }, \n      {\n        \"level\": 1, \n        \"typeID\": 45746\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 89241\n      }, \n      {\n        \"level\": 3, \n        \"typeID\": 90727\n      }, \n      {\n        \"level\": 2, \n        \"typeID\": 91017\n      }\n    ]\n  }\n}"
  },
  {
    "path": "staticdata/fsd_lite/dbuffcollections.0.json",
    "content": "{\n  \"1\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"[PROTOTYPE]Test Multi Buff\", \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }, \n      {\n        \"dogmaAttributeID\": 76\n      }\n    ], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 20, \n        \"groupID\": 46\n      }, \n      {\n        \"dogmaAttributeID\": 105, \n        \"groupID\": 52\n      }\n    ], \n    \"locationModifiers\": [\n      {\n        \"dogmaAttributeID\": 68\n      }, \n      {\n        \"dogmaAttributeID\": 84\n      }\n    ], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 3427\n      }, \n      {\n        \"dogmaAttributeID\": 54, \n        \"skillID\": 3305\n      }\n    ], \n    \"operationName\": \"PostMul\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"[PROTOTYPE]Test Boost Speed\", \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"3\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Velocity penalty\", \n    \"displayName_de\": \"Geschwindigkeitsabzug\", \n    \"displayName_en-us\": \"Velocity penalty\", \n    \"displayName_es\": \"Penalización de velocidad\", \n    \"displayName_fr\": \"Pénalité de vitesse\", \n    \"displayName_it\": \"Velocity penalty\", \n    \"displayName_ja\": \"速度ペナルティ\", \n    \"displayName_ko\": \"속도 페널티\", \n    \"displayName_ru\": \"Ограничение скорости\", \n    \"displayName_zh\": \"Velocity penalty\", \n    \"displayNameID\": 517442, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 3171\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"4\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Warp penalty\", \n    \"displayName_de\": \"Warpabzug\", \n    \"displayName_en-us\": \"Warp penalty\", \n    \"displayName_es\": \"Penalización de warp\", \n    \"displayName_fr\": \"Pénalité de warp\", \n    \"displayName_it\": \"Warp penalty\", \n    \"displayName_ja\": \"ワープペナルティ\", \n    \"displayName_ko\": \"워프 페널티\", \n    \"displayName_ru\": \"Ограничение варп-режима\", \n    \"displayName_zh\": \"跃迁惩罚\", \n    \"displayNameID\": 517444, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 104\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"5\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Disallow Cloak\", \n    \"displayName_de\": \"Tarnung verweigern\", \n    \"displayName_en-us\": \"Disallow Cloak\", \n    \"displayName_es\": \"Desautorizar camuflaje\", \n    \"displayName_fr\": \"Ne plus autoriser le camouflage\", \n    \"displayName_it\": \"Disallow Cloak\", \n    \"displayName_ja\": \"遮蔽不可\", \n    \"displayName_ko\": \"클로킹 차단\", \n    \"displayName_ru\": \"Запрет маскировки\", \n    \"displayName_zh\": \"不允许隐形\", \n    \"displayNameID\": 517760, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2454\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"6\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Disallow jump/dock\", \n    \"displayName_de\": \"Sprung/Docken verweigern\", \n    \"displayName_en-us\": \"Disallow jump/dock\", \n    \"displayName_es\": \"Desautorizar salto/acoplamiento\", \n    \"displayName_fr\": \"Lever l'autorisation de saut / amarrage\", \n    \"displayName_it\": \"Disallow jump/dock\", \n    \"displayName_ja\": \"ジャンプ/入港不可\", \n    \"displayName_ko\": \"점프/도킹 차단\", \n    \"displayName_ru\": \"Запрет гиперпереходов и/или входа в док\", \n    \"displayName_zh\": \"不允许跳跃/停靠\", \n    \"displayNameID\": 517825, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2354\n      }, \n      {\n        \"dogmaAttributeID\": 2453\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"7\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"QA Anti-targeting debuff\", \n    \"displayName_de\": \"QA Anti-Zielerfassungs-Debuff\", \n    \"displayName_en-us\": \"QA Anti-targeting debuff\", \n    \"displayName_es\": \"QA Anti-targeting debuff\", \n    \"displayName_fr\": \"QA Anti-targeting debuff\", \n    \"displayName_it\": \"QA Anti-targeting debuff\", \n    \"displayName_ja\": \"QA アンチターゲティングデバフ\", \n    \"displayName_ko\": \"QA 안티-타겟팅 디버프\", \n    \"displayName_ru\": \"Ограничение сопровождения целей (QA)\", \n    \"displayName_zh\": \"QA Anti-targeting debuff\", \n    \"displayNameID\": 517856, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 192\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"8\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"PANIC: Shield Resistance\", \n    \"displayName_de\": \"Schildresistenz\", \n    \"displayName_en-us\": \"Shield Resistance\", \n    \"displayName_es\": \"Resistencia de escudo\", \n    \"displayName_fr\": \"Résistance des boucliers\", \n    \"displayName_it\": \"Shield Resistance\", \n    \"displayName_ja\": \"シールドレジスタンス\", \n    \"displayName_ko\": \"실드 저항력\", \n    \"displayName_ru\": \"Сопротивление щитов\", \n    \"displayName_zh\": \"护盾抗性\", \n    \"displayNameID\": 518605, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 271\n      }, \n      {\n        \"dogmaAttributeID\": 272\n      }, \n      {\n        \"dogmaAttributeID\": 273\n      }, \n      {\n        \"dogmaAttributeID\": 274\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"9\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"PANIC: Shield Recharge time\", \n    \"displayName_de\": \"Schild-Laderzeitbonus\", \n    \"displayName_en-us\": \"Shield recharge time bonus\", \n    \"displayName_es\": \"Bonificación de tiempo de carga de escudo\", \n    \"displayName_fr\": \"Bonus à la vitesse de recharge des boucliers\", \n    \"displayName_it\": \"Shield recharge time bonus\", \n    \"displayName_ja\": \"シールドリチャージ時間ボーナス\", \n    \"displayName_ko\": \"실드 회복 시간 보너스\", \n    \"displayName_ru\": \"Влияние на срок полной регенерации щита\", \n    \"displayName_zh\": \"护盾回充时间加成\", \n    \"displayNameID\": 518606, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 479\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"10\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Shield Burst: Shield Harmonizing: Shield Resistance\", \n    \"displayName_de\": \"Schildresistenzbonus\", \n    \"displayName_en-us\": \"Shield Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia de escudo\", \n    \"displayName_fr\": \"Bonus aux résistances des boucliers\", \n    \"displayName_it\": \"Shield Resistance Bonus\", \n    \"displayName_ja\": \"シールドレジスタンスボーナス\", \n    \"displayName_ko\": \"실드 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость щитов\", \n    \"displayName_zh\": \"护盾抗性加成\", \n    \"displayNameID\": 518688, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 271\n      }, \n      {\n        \"dogmaAttributeID\": 272\n      }, \n      {\n        \"dogmaAttributeID\": 273\n      }, \n      {\n        \"dogmaAttributeID\": 274\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"11\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Shield Burst: Active Shielding: Repair Duration/Capacitor\", \n    \"displayName_de\": \"Schildreparaturmodule: Bonus auf Dauer & Energiespeicherverbrauch\", \n    \"displayName_en-us\": \"Shield Repair Modules: Duration & Capacitor-use bonus\", \n    \"displayName_es\": \"Módulos de reparación de escudo: Bonificación de duración y uso del condensador\", \n    \"displayName_fr\": \"Bonus à la durée de cycle et à l'économie de capaciteur des modules de réparation de boucliers\", \n    \"displayName_it\": \"Shield Repair Modules: Duration & Capacitor-use bonus\", \n    \"displayName_ja\": \"シールドリペアモジュール： 持続時間とキャパシタ消費量にボーナス\", \n    \"displayName_ko\": \"실드 수리 모듈: 수리 사이클 시간 및 캐패시터 사용량 보너스\", \n    \"displayName_ru\": \"Влияние на цикл и потребление энергии модулями накачки щитов\", \n    \"displayName_zh\": \"护盾维修装备：持续时间和电容消耗加成\", \n    \"displayNameID\": 518698, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 3416\n      }, \n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 3422\n      }, \n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 24571\n      }, \n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 3416\n      }, \n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 3422\n      }, \n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 24571\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"12\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Shield Burst: Shield Extension: Shield HP\", \n    \"displayName_de\": \"Schild-HP-Bonus\", \n    \"displayName_en-us\": \"Shield HP Bonus\", \n    \"displayName_es\": \"Bonificación de PV de escudo\", \n    \"displayName_fr\": \"Bonus aux PV des boucliers\", \n    \"displayName_it\": \"Shield HP Bonus\", \n    \"displayName_ja\": \"シールドHPボーナス\", \n    \"displayName_ko\": \"실드량 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности щитов\", \n    \"displayName_zh\": \"护盾值加成\", \n    \"displayNameID\": 518699, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 263\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"13\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Armor Burst: Armor Energizing: Armor Resistance\", \n    \"displayName_de\": \"Panzerungsresistenzbonus\", \n    \"displayName_en-us\": \"Armor Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia de blindaje\", \n    \"displayName_fr\": \"Bonus aux résistances de blindage\", \n    \"displayName_it\": \"Armor Resistance Bonus\", \n    \"displayName_ja\": \"アーマー耐性ボーナス\", \n    \"displayName_ko\": \"장갑 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость брони\", \n    \"displayName_zh\": \"装甲抗性加成\", \n    \"displayNameID\": 518709, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 267\n      }, \n      {\n        \"dogmaAttributeID\": 268\n      }, \n      {\n        \"dogmaAttributeID\": 269\n      }, \n      {\n        \"dogmaAttributeID\": 270\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"14\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Armor Burst: Rapid Repair: Repair Duration/Capacitor\", \n    \"displayName_de\": \"Panzerungsreperaturmodule: Bonus auf Dauer & Energiespeicherverbrauch\", \n    \"displayName_en-us\": \"Armor Repair Modules: Duration & Capacitor-use bonus\", \n    \"displayName_es\": \"Módulos de reparación de blindaje: Bonificación de duración y uso del condensador\", \n    \"displayName_fr\": \"Bonus à la durée de cycle et à l'économie de capaciteur des modules de réparation de blindage\", \n    \"displayName_it\": \"Armor Repair Modules: Duration & Capacitor-use bonus\", \n    \"displayName_ja\": \"アーマーリペアモジュール： 持続時間とキャパシタ消費量にボーナス\", \n    \"displayName_ko\": \"장갑 수리 모듈: 수리 사이클 시간 및 캐패시터 사용량 보너스\", \n    \"displayName_ru\": \"Влияние на цикл и потребление энергии модулями ремонта брони\", \n    \"displayName_zh\": \"装甲维修装备：持续时间和电容消耗加成\", \n    \"displayNameID\": 518710, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 3393\n      }, \n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 16069\n      }, \n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 24568\n      }, \n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 3393\n      }, \n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 16069\n      }, \n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 24568\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"15\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Armor Burst: Armor Reinforcement: Armor HP\", \n    \"displayName_de\": \"Panzerung-HP-Bonus\", \n    \"displayName_en-us\": \"Armor HP Bonus\", \n    \"displayName_es\": \"Bonificación de PV de blindaje\", \n    \"displayName_fr\": \"Bonus aux PV de blindage\", \n    \"displayName_it\": \"Armor HP Bonus\", \n    \"displayName_ja\": \"アーマーHPボーナス\", \n    \"displayName_ko\": \"장갑 내구도 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности брони\", \n    \"displayName_zh\": \"装甲值加成\", \n    \"displayNameID\": 518711, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 265\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"16\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Information Burst: Sensor Optimization: Scan Resolution\", \n    \"displayName_de\": \"Scanauflösungsbonus\", \n    \"displayName_en-us\": \"Scan Resolution bonus\", \n    \"displayName_es\": \"Bonificación de resolución de escaneo\", \n    \"displayName_fr\": \"Bonus à la résolution de scan\", \n    \"displayName_it\": \"Scan Resolution bonus\", \n    \"displayName_ja\": \"スキャン解像度ボーナス\", \n    \"displayName_ko\": \"스캔 해상도 보너스\", \n    \"displayName_ru\": \"Влияние на разрешающую способность при захвате целей\", \n    \"displayName_zh\": \"扫描分辨率加成\", \n    \"displayNameID\": 518713, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 564\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"17\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Information Burst: Electronic Superiority: EWAR Range and Strength\", \n    \"displayName_de\": \"Module zur elektronischen Kriegsführung: Reichweite- und Stärkebonus\", \n    \"displayName_en-us\": \"Electronic Warfare modules: Range and Strength bonus\", \n    \"displayName_es\": \"Módulos de guerra electrónica: Bonificación de alcance e intensidad\", \n    \"displayName_fr\": \"Bonus à la portée et à la puissance des modules de guerre électronique\", \n    \"displayName_it\": \"Electronic Warfare modules: Range and Strength bonus\", \n    \"displayName_ja\": \"電子戦モジュール： 範囲と強度ボーナス\", \n    \"displayName_ko\": \"전자전 모듈: 타겟팅 사거리와 강도 보너스\", \n    \"displayName_ru\": \"Влияние на дальность и силу действия средств РЭБ\", \n    \"displayName_zh\": \"电子战装备：范围和强度加成\", \n    \"displayNameID\": 518714, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 54, \n        \"groupID\": 201\n      }, \n      {\n        \"dogmaAttributeID\": 54, \n        \"groupID\": 208\n      }, \n      {\n        \"dogmaAttributeID\": 54, \n        \"groupID\": 291\n      }, \n      {\n        \"dogmaAttributeID\": 54, \n        \"groupID\": 379\n      }, \n      {\n        \"dogmaAttributeID\": 238, \n        \"groupID\": 201\n      }, \n      {\n        \"dogmaAttributeID\": 239, \n        \"groupID\": 201\n      }, \n      {\n        \"dogmaAttributeID\": 240, \n        \"groupID\": 201\n      }, \n      {\n        \"dogmaAttributeID\": 241, \n        \"groupID\": 201\n      }, \n      {\n        \"dogmaAttributeID\": 309, \n        \"groupID\": 208\n      }, \n      {\n        \"dogmaAttributeID\": 349, \n        \"groupID\": 291\n      }, \n      {\n        \"dogmaAttributeID\": 351, \n        \"groupID\": 291\n      }, \n      {\n        \"dogmaAttributeID\": 547, \n        \"groupID\": 291\n      }, \n      {\n        \"dogmaAttributeID\": 554, \n        \"groupID\": 379\n      }, \n      {\n        \"dogmaAttributeID\": 566, \n        \"groupID\": 208\n      }, \n      {\n        \"dogmaAttributeID\": 596, \n        \"groupID\": 291\n      }, \n      {\n        \"dogmaAttributeID\": 767, \n        \"groupID\": 291\n      }, \n      {\n        \"dogmaAttributeID\": 847, \n        \"groupID\": 291\n      }, \n      {\n        \"dogmaAttributeID\": 848, \n        \"groupID\": 291\n      }, \n      {\n        \"dogmaAttributeID\": 2044, \n        \"groupID\": 201\n      }, \n      {\n        \"dogmaAttributeID\": 2044, \n        \"groupID\": 208\n      }, \n      {\n        \"dogmaAttributeID\": 2044, \n        \"groupID\": 291\n      }, \n      {\n        \"dogmaAttributeID\": 2044, \n        \"groupID\": 379\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"18\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Information Burst: Electronic Hardening: Sensor Strength\", \n    \"displayName_de\": \"Bonus für Sensorstärke\", \n    \"displayName_en-us\": \"Sensor Strength bonus\", \n    \"displayName_es\": \"Bonificación de intensidad del sensor\", \n    \"displayName_fr\": \"Bonus de puissance de détection\", \n    \"displayName_it\": \"Sensor Strength bonus\", \n    \"displayName_ja\": \"センサー強度ボーナス\", \n    \"displayName_ko\": \"센서 강도 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность систем захвата целей\", \n    \"displayName_zh\": \"感应强度加成\", \n    \"displayNameID\": 518715, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 208\n      }, \n      {\n        \"dogmaAttributeID\": 209\n      }, \n      {\n        \"dogmaAttributeID\": 210\n      }, \n      {\n        \"dogmaAttributeID\": 211\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"19\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Information Burst: Electronic Hardening: RSD/RWD Resistance\", \n    \"displayName_de\": \"Sensorferndämpfer- / Waffenfernstörer-Resistenzbonus\", \n    \"displayName_en-us\": \"Remote Sensor Dampener / Remote Weapon Disruption Resistance bonus\", \n    \"displayName_es\": \"Bonificación de resistencia de atenuador de sensor remoto y disrupción de armas remota\", \n    \"displayName_fr\": \"Bonus de résistance contre les atténuateurs de détection à distance et aux perturbateurs d'armement à distance\", \n    \"displayName_it\": \"Remote Sensor Dampener / Remote Weapon Disruption Resistance bonus\", \n    \"displayName_ja\": \"リモートセンサーダンプナー／リモート兵器妨害耐性ボーナス\", \n    \"displayName_ko\": \"원격 센서 교란 / 원격 무기 교란 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость помехам на наводку орудий/захват целей\", \n    \"displayName_zh\": \"远程感应抑阻器/远程武器扰断器抗性加成\", \n    \"displayNameID\": 518900, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2112\n      }, \n      {\n        \"dogmaAttributeID\": 2113\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"20\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Skirmish Burst: Evasive Maneuvers: Signature Radius\", \n    \"displayName_de\": \"Signaturradius-Bonus\", \n    \"displayName_en-us\": \"Signature Radius bonus\", \n    \"displayName_es\": \"Bonificación de radio de la señal\", \n    \"displayName_fr\": \"Bonus au rayon de signature\", \n    \"displayName_it\": \"Signature Radius bonus\", \n    \"displayName_ja\": \"シグネチャ半径ボーナス\", \n    \"displayName_ko\": \"시그니처 반경 보너스\", \n    \"displayName_ru\": \"Влияние на радиус сигнатуры\", \n    \"displayName_zh\": \"信号半径加成\", \n    \"displayNameID\": 518716, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 552\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"21\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Skirmish Burst: Interdiction Maneuvers: Tackle Range\", \n    \"displayName_de\": \"Antriebsstörmodul-Reichweitenbonus\", \n    \"displayName_en-us\": \"Propulsion disruption module range bonus\", \n    \"displayName_es\": \"Bonificación de alcance de módulo de disrupción de propulsión\", \n    \"displayName_fr\": \"Bonus à la portée des modules de perturbation des propulsions\", \n    \"displayName_it\": \"Propulsion disruption module range bonus\", \n    \"displayName_ja\": \"推進力阻害モジュール範囲ボーナス\", \n    \"displayName_ko\": \"추진 방해 모듈 사거리 보너스\", \n    \"displayName_ru\": \"Повышен радиус действия средств ограничения подвижности\", \n    \"displayName_zh\": \"推进阻扰装备范围加成\", \n    \"displayNameID\": 518717, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 54, \n        \"skillID\": 3435\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"22\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Skirmish Burst: Rapid Deployment: AB/MWD Speed Increase\", \n    \"displayName_de\": \"Bonus auf die Geschwindigkeitserhöhung von AB/MWD-Modulen\", \n    \"displayName_en-us\": \"AB/MWD module speed increase bonus\", \n    \"displayName_es\": \"Bonificación de aumento de velocidad de módulo de PQ/MMC\", \n    \"displayName_fr\": \"Bonus à la vitesse de propulsion des PC et des PMW\", \n    \"displayName_it\": \"AB/MWD module speed increase bonus\", \n    \"displayName_ja\": \"AB/MWDモジュール速度増加ボーナス\", \n    \"displayName_ko\": \"애프터버너/MWD 모듈의 속도 증가 보너스\", \n    \"displayName_ru\": \"Влияние на эффективность форсажных ускорителей/микроварп-ускорителей\", \n    \"displayName_zh\": \"加力燃烧器/微型跃迁推进器速度增量加成\", \n    \"displayNameID\": 518718, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 20, \n        \"skillID\": 3450\n      }, \n      {\n        \"dogmaAttributeID\": 20, \n        \"skillID\": 3454\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"23\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Mining Burst: Mining Laser Field Enhancement: Mining Range\", \n    \"displayName_de\": \"Bergbaumodul-Reichweitenbonus\", \n    \"displayName_en-us\": \"Mining module range bonus\", \n    \"displayName_es\": \"Bonificación de alcance del módulo de minería\", \n    \"displayName_fr\": \"Bonus à la portée du module d'extraction\", \n    \"displayName_it\": \"Mining module range bonus\", \n    \"displayName_ja\": \"採掘モジュール射程ボーナス\", \n    \"displayName_ko\": \"채굴 모듈 범위 보너스\", \n    \"displayName_ru\": \"Увеличение дальности буровых модулей\", \n    \"displayName_zh\": \"采矿装备范围加成\", \n    \"displayNameID\": 518720, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 54, \n        \"skillID\": 3386\n      }, \n      {\n        \"dogmaAttributeID\": 54, \n        \"skillID\": 16281\n      }, \n      {\n        \"dogmaAttributeID\": 54, \n        \"skillID\": 25544\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"24\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Mining Burst: Mining Laser Optimization: Mining Capacitor/Duration\", \n    \"displayName_de\": \"Bergbaumodule: Bonus auf Dauer & Energiespeicherverbrauch\", \n    \"displayName_en-us\": \"Mining Modules: Duration & Capacitor-use bonus\", \n    \"displayName_es\": \"Módulos de minería: Bonificación de duración y uso del condensador\", \n    \"displayName_fr\": \"Bonus à la durée de cycle et à l'économie de capaciteur des modules d'extraction minière\", \n    \"displayName_it\": \"Mining Modules: Duration & Capacitor-use bonus\", \n    \"displayName_ja\": \"採掘モジュール： 持続時間とキャパシタ消費量にボーナス\", \n    \"displayName_ko\": \"채굴 모듈: 지속시간 및 캐패시터 사용량 보너스\", \n    \"displayName_ru\": \"Влияние на цикл и потребление энергии буровых модулей\", \n    \"displayName_zh\": \"采矿装备：持续时间和电容消耗加成\", \n    \"displayNameID\": 518721, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 3386\n      }, \n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 16281\n      }, \n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 25544\n      }, \n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 3386\n      }, \n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 16281\n      }, \n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 25544\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"25\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Mining Burst: Mining Equipment Preservation: Crystal Volatility\", \n    \"displayName_de\": \"Bergbaukristall-Schwankungsbonus\", \n    \"displayName_en-us\": \"Mining crystal volatility bonus\", \n    \"displayName_es\": \"Bonificación de volatilidad de cristal de minería\", \n    \"displayName_fr\": \"Bonus à la durabilité des cristaux d'extraction\", \n    \"displayName_it\": \"Mining crystal volatility bonus\", \n    \"displayName_ja\": \"採掘クリスタル変動性ボーナス\", \n    \"displayName_ko\": \"채광용 크리스탈 휘발성 보너스\", \n    \"displayName_ru\": \"Влияние на хрупкость буровых кристаллов\", \n    \"displayName_zh\": \"采矿晶体耐久度加成\", \n    \"displayNameID\": 518722, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 783, \n        \"skillID\": 3386\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"26\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Information Burst: Sensor Optimization: Targeting Range\", \n    \"displayName_de\": \"Zielaufschaltungsreichweite-Bonus\", \n    \"displayName_en-us\": \"Targeting Range bonus\", \n    \"displayName_es\": \"Bonificación de distancia-objetivo\", \n    \"displayName_fr\": \"Bonus à la portée de ciblage\", \n    \"displayName_it\": \"Targeting Range bonus\", \n    \"displayName_ja\": \"ターゲット範囲ボーナス\", \n    \"displayName_ko\": \"타겟팅 거리 보너스\", \n    \"displayName_ru\": \"Влияние на дальность захвата целей\", \n    \"displayName_zh\": \"锁定距离加成\", \n    \"displayNameID\": 519020, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 76\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"27\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Stasis Webification Burst\", \n    \"displayName_de\": \"Geschwindigkeitsabzug für Stasisnetz\", \n    \"displayName_en-us\": \"Stasis Webification speed penalty\", \n    \"displayName_es\": \"Penalización de velocidad de red ralentizadora\", \n    \"displayName_fr\": \"Pénalité de vitesse sur la génération de stase\", \n    \"displayName_it\": \"Stasis Webification speed penalty\", \n    \"displayName_ja\": \"ステイシスウェビファイヤー速度ペナルティ\", \n    \"displayName_ko\": \"스테이시스 웹 속도 페널티\", \n    \"displayName_ru\": \"Штраф к скорости от стазис-индукторов\", \n    \"displayName_zh\": \"停滞缠绕光束速度惩罚\", \n    \"displayNameID\": 519288, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"28\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Weapon Disruption Burst: Turret Max Range\", \n    \"displayName_de\": \"Geschützturm-Maximalreichweitenabzug\", \n    \"displayName_en-us\": \"Turret maximum range penalty\", \n    \"displayName_es\": \"Penalización de alcance máximo de torreta\", \n    \"displayName_fr\": \"Pénalité de portée maximale sur les tourelles\", \n    \"displayName_it\": \"Turret maximum range penalty\", \n    \"displayName_ja\": \"タレット最大射程ペナルティ\", \n    \"displayName_ko\": \"터렛 최대사거리 페널티\", \n    \"displayName_ru\": \"Штраф на максимальную дальность орудий\", \n    \"displayName_zh\": \"炮台最大距离惩罚\", \n    \"displayNameID\": 519290, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 54, \n        \"skillID\": 3300\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"29\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Weapon Disruption Burst: Turret Falloff Range\", \n    \"displayName_de\": \"Geschützturm-Präzisionsabfall-Reichweitenabzug\", \n    \"displayName_en-us\": \"Turret falloff range penalty\", \n    \"displayName_es\": \"Penalización de alcance efectivo de torreta\", \n    \"displayName_fr\": \"Pénalité de portée de déperdition sur les tourelles\", \n    \"displayName_it\": \"Turret falloff range penalty\", \n    \"displayName_ja\": \"タレット精度低下範囲ペナルティ\", \n    \"displayName_ko\": \"터렛 유효사거리 페널티\", \n    \"displayName_ru\": \"Штраф на добавочную дальность орудий\", \n    \"displayName_zh\": \"炮塔失准范围惩罚\", \n    \"displayNameID\": 519294, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 158, \n        \"skillID\": 3300\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"30\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Weapon Disruption Burst: Turret Tracking\", \n    \"displayName_de\": \"Abzug auf Nachführungsgeschwindigkeit von Geschütztürmen\", \n    \"displayName_en-us\": \"Turret tracking speed penalty\", \n    \"displayName_es\": \"Penalización de velocidad de rastreo de torreta\", \n    \"displayName_fr\": \"Pénalité de vitesse de poursuite sur les tourelles\", \n    \"displayName_it\": \"Turret tracking speed penalty\", \n    \"displayName_ja\": \"タレットトラッキング速度ペナルティ\", \n    \"displayName_ko\": \"터렛 트래킹 속도 페널티\", \n    \"displayName_ru\": \"Штраф на скорость наводки орудий\", \n    \"displayName_zh\": \"炮塔跟踪速度惩罚\", \n    \"displayNameID\": 519291, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 160, \n        \"skillID\": 3300\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"31\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Weapon Disruption Burst: Missile Velocity\", \n    \"displayName_de\": \"Lenkwaffengeschwindigkeit-Abzug\", \n    \"displayName_en-us\": \"Missile velocity penalty\", \n    \"displayName_es\": \"Penalización de velocidad de misiles\", \n    \"displayName_fr\": \"Pénalité de vitesse sur les missiles\", \n    \"displayName_it\": \"Missile velocity penalty\", \n    \"displayName_ja\": \"ミサイル飛行速度ペナルティ\", \n    \"displayName_ko\": \"미사일 속도 페널티\", \n    \"displayName_ru\": \"Штраф к скорости ракет\", \n    \"displayName_zh\": \"导弹飞行速度惩罚\", \n    \"displayNameID\": 519295, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 37, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"32\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Weapon Disruption Burst: Missile Duration\", \n    \"displayName_de\": \"Abzug auf Lenkwaffendauer\", \n    \"displayName_en-us\": \"Missile duration penalty\", \n    \"displayName_es\": \"Penalización de duración de misiles\", \n    \"displayName_fr\": \"Pénalité de durée de vol sur les missiles\", \n    \"displayName_it\": \"Missile duration penalty\", \n    \"displayName_ja\": \"ミサイル飛行時間ペナルティ\", \n    \"displayName_ko\": \"미사일 비행시간 페널티\", \n    \"displayName_ru\": \"Штраф на время полёта ракет\", \n    \"displayName_zh\": \"导弹飞行持续时间惩罚\", \n    \"displayNameID\": 519298, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 281, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"33\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Weapon Disruption Burst: Missile Explosion Velocity\", \n    \"displayName_de\": \"Lenkwaffen-Explosionsgeschwindigkeitsabzug\", \n    \"displayName_en-us\": \"Missile Explosion Velocity penalty\", \n    \"displayName_es\": \"Penalización de velocidad de explosión de misiles\", \n    \"displayName_fr\": \"Pénalité de vitesse d'explosion sur les missiles\", \n    \"displayName_it\": \"Missile Explosion Velocity penalty\", \n    \"displayName_ja\": \"ミサイル爆発速度ペナルティ\", \n    \"displayName_ko\": \"미사일 폭발속도 페널티\", \n    \"displayName_ru\": \"Штраф на скорость взрыва ракет\", \n    \"displayName_zh\": \"导弹爆炸速度惩罚\", \n    \"displayNameID\": 519292, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 653, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"34\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Weapon Disruption Burst: Missile Explosion Radius\", \n    \"displayName_de\": \"Lenkwaffen-Explosionsradiusabzug\", \n    \"displayName_en-us\": \"Missile Explosion Radius penalty\", \n    \"displayName_es\": \"Penalización de radio de explosión de misiles\", \n    \"displayName_fr\": \"Pénalité de rayon d'explosion sur les missiles\", \n    \"displayName_it\": \"Missile Explosion Radius penalty\", \n    \"displayName_ja\": \"ミサイル爆発半径ペナルティ\", \n    \"displayName_ko\": \"미사일 폭발반경 페널티\", \n    \"displayName_ru\": \"Штраф на сигнатуру взрыва ракет\", \n    \"displayName_zh\": \"导弹爆炸半径惩罚\", \n    \"displayNameID\": 519293, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 654, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"35\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sensor Dampening Burst: Scan Resolution penalty\", \n    \"displayName_de\": \"Abzug auf Scanauflösung\", \n    \"displayName_en-us\": \"Scan Resolution penalty\", \n    \"displayName_es\": \"Penalización de resolución de escaneo\", \n    \"displayName_fr\": \"Pénalité de résolution de scan\", \n    \"displayName_it\": \"Scan Resolution penalty\", \n    \"displayName_ja\": \"スキャン解像度ペナルティ\", \n    \"displayName_ko\": \"스캔 해상도 페널티\", \n    \"displayName_ru\": \"Штраф на разрешающую способность\", \n    \"displayName_zh\": \"扫描分辨率惩罚\", \n    \"displayNameID\": 519296, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 564\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"36\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sensor Dampening Burst: Max Target Range\", \n    \"displayName_de\": \"Abzug auf Zielaufschaltungsreichweite\", \n    \"displayName_en-us\": \"Targeting Range penalty\", \n    \"displayName_es\": \"Penalización de distancia-objetivo\", \n    \"displayName_fr\": \"Pénalité de portée de ciblage\", \n    \"displayName_it\": \"Targeting Range penalty\", \n    \"displayName_ja\": \"ターゲット範囲ペナルティ\", \n    \"displayName_ko\": \"타겟팅 거리 페널티\", \n    \"displayName_ru\": \"Штраф на дальность захвата целей\", \n    \"displayName_zh\": \"锁定距离惩罚\", \n    \"displayNameID\": 519297, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 76\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"37\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Target Illumination Burst\", \n    \"displayName_de\": \"Abzug auf Signaturradius\", \n    \"displayName_en-us\": \"Signature radius penalty\", \n    \"displayName_es\": \"Penalización de radio de la señal\", \n    \"displayName_fr\": \"Pénalité de rayon de signature\", \n    \"displayName_it\": \"Signature radius penalty\", \n    \"displayName_ja\": \"シグネチャ半径ペナルティ\", \n    \"displayName_ko\": \"시그니처 반경 페널티\", \n    \"displayName_ru\": \"Штраф на радиус сигнатуры\", \n    \"displayName_zh\": \"信号半径惩罚\", \n    \"displayNameID\": 519299, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 552\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"38\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"ECM Burst\", \n    \"displayName_de\": \"Maximaler Zielabzug\", \n    \"displayName_en-us\": \"Maximum target penalty\", \n    \"displayName_es\": \"Penalización de máximo de objetivos\", \n    \"displayName_fr\": \"Pénalité du nombre de cibles maximum\", \n    \"displayName_it\": \"Maximum target penalty\", \n    \"displayName_ja\": \"最大ターゲット数ペナルティ\", \n    \"displayName_ko\": \"최대 대상 페널티\", \n    \"displayName_ru\": \"Штраф на предельное число захваченных целей\", \n    \"displayName_zh\": \"最大锁定数惩罚\", \n    \"displayNameID\": 519329, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 192\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"39\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Avatar Effect Generator : Capacitor Recharge bonus\", \n    \"displayName_de\": \"Energiespeichers-Wiederaufladeratenbonus\", \n    \"displayName_en-us\": \"Capacitor Recharge bonus\", \n    \"displayName_es\": \"Bonificación de carga del condensador\", \n    \"displayName_fr\": \"Bonus à la recharge du capaciteur\", \n    \"displayName_it\": \"Capacitor Recharge bonus\", \n    \"displayName_ja\": \"キャパシタリチャージボーナス\", \n    \"displayName_ko\": \"캐패시터 충전 보너스\", \n    \"displayName_ru\": \"Влияние на регенерацию накопителя\", \n    \"displayName_zh\": \"电容回充量加成\", \n    \"displayNameID\": 521911, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 55\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"40\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Avatar Effect Generator : Kinetic resistance bonus\", \n    \"displayName_de\": \"Bonus auf Kinetikresistenz\", \n    \"displayName_en-us\": \"Kinetic Resistance bonus\", \n    \"displayName_es\": \"Bonificación de resistencia cinética\", \n    \"displayName_fr\": \"Bonus aux résistances cinétiques\", \n    \"displayName_it\": \"Kinetic Resistance bonus\", \n    \"displayName_ja\": \"キネティック耐性ボーナス\", \n    \"displayName_ko\": \"키네틱 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость кинетическому урону\", \n    \"displayName_zh\": \"动能抗性加成\", \n    \"displayNameID\": 521912, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 109\n      }, \n      {\n        \"dogmaAttributeID\": 269\n      }, \n      {\n        \"dogmaAttributeID\": 273\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"41\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Avatar Effect Generator : EM resistance penalty\", \n    \"displayName_de\": \"Abzug auf EM-Resistenz\", \n    \"displayName_en-us\": \"EM Resistance penalty\", \n    \"displayName_es\": \"Penalización de resistencia electromagnética\", \n    \"displayName_fr\": \"Pénalité de résistance EM\", \n    \"displayName_it\": \"EM Resistance penalty\", \n    \"displayName_ja\": \"EM耐性ペナルティ\", \n    \"displayName_ko\": \"EM 저항력 페널티\", \n    \"displayName_ru\": \"Штраф на сопротивление ЭМ-урону\", \n    \"displayName_zh\": \"电磁抗性惩罚\", \n    \"displayNameID\": 521913, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 113\n      }, \n      {\n        \"dogmaAttributeID\": 267\n      }, \n      {\n        \"dogmaAttributeID\": 271\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"42\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Erebus Effect Generator : Armor HP bonus\", \n    \"displayName_de\": \"Panzerung-HP-Bonus\", \n    \"displayName_en-us\": \"Armor HP bonus\", \n    \"displayName_es\": \"Bonificación de PV de blindaje\", \n    \"displayName_fr\": \"Bonus aux PV de blindage\", \n    \"displayName_it\": \"Armor HP bonus\", \n    \"displayName_ja\": \"アーマーHPボーナス\", \n    \"displayName_ko\": \"장갑 내구도 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности брони\", \n    \"displayName_zh\": \"装甲值加成\", \n    \"displayNameID\": 521916, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 265\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"43\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Erebus Effect Generator : Explosive resistance bonus\", \n    \"displayName_de\": \"Bonus auf Explosionsresistenz\", \n    \"displayName_en-us\": \"Explosive Resistance bonus\", \n    \"displayName_es\": \"Bonificación de resistencia explosiva\", \n    \"displayName_fr\": \"Bonus aux résistances explosives\", \n    \"displayName_it\": \"Explosive Resistance bonus\", \n    \"displayName_ja\": \"爆発耐性ボーナス\", \n    \"displayName_ko\": \"폭발 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость фугасному урону\", \n    \"displayName_zh\": \"爆炸抗性加成\", \n    \"displayNameID\": 521917, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 111\n      }, \n      {\n        \"dogmaAttributeID\": 268\n      }, \n      {\n        \"dogmaAttributeID\": 272\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"44\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Erebus Effect Generator : Thermal resistance penalty\", \n    \"displayName_de\": \"Abzug auf Thermalresistenz\", \n    \"displayName_en-us\": \"Thermal Resistance penalty\", \n    \"displayName_es\": \"Penalización de resistencia térmica\", \n    \"displayName_fr\": \"Pénalité de résistance thermique\", \n    \"displayName_it\": \"Thermal Resistance penalty\", \n    \"displayName_ja\": \"サーマル耐性ペナルティ\", \n    \"displayName_ko\": \"열 저항력 페널티\", \n    \"displayName_ru\": \"Штраф на сопротивляемость термическому урону\", \n    \"displayName_zh\": \"热能抗性惩罚\", \n    \"displayNameID\": 521918, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 110\n      }, \n      {\n        \"dogmaAttributeID\": 270\n      }, \n      {\n        \"dogmaAttributeID\": 274\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"45\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Ragnarok Effect Generator : Signature Radius bonus\", \n    \"displayName_de\": \"Signaturradius-Bonus\", \n    \"displayName_en-us\": \"Signature Radius bonus\", \n    \"displayName_es\": \"Bonificación de radio de la señal\", \n    \"displayName_fr\": \"Bonus au rayon de signature\", \n    \"displayName_it\": \"Signature Radius bonus\", \n    \"displayName_ja\": \"シグネチャ半径ボーナス\", \n    \"displayName_ko\": \"시그니처 반경 보너스\", \n    \"displayName_ru\": \"Влияние на радиус сигнатуры\", \n    \"displayName_zh\": \"信号半径加成\", \n    \"displayNameID\": 521921, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 552\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"46\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Ragnarok Effect Generator : Thermal resistance bonus\", \n    \"displayName_de\": \"Bonus auf Thermalresistenz\", \n    \"displayName_en-us\": \"Thermal Resistance bonus\", \n    \"displayName_es\": \"Bonificación de resistencia térmica\", \n    \"displayName_fr\": \"Bonus aux résistances thermiques\", \n    \"displayName_it\": \"Thermal Resistance bonus\", \n    \"displayName_ja\": \"サーマル耐性ボーナス\", \n    \"displayName_ko\": \"열 저항력 보너스\", \n    \"displayName_ru\": \"Влияние на сопротивляемость термическому урону\", \n    \"displayName_zh\": \"热能抗性加成\", \n    \"displayNameID\": 521919, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 110\n      }, \n      {\n        \"dogmaAttributeID\": 270\n      }, \n      {\n        \"dogmaAttributeID\": 274\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"47\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Ragnarok Effect Generator : Explosive resistance penaly\", \n    \"displayName_de\": \"Abzug auf Explosionsresistenz\", \n    \"displayName_en-us\": \"Explosive Resistance penalty\", \n    \"displayName_es\": \"Penalización de resistencia explosiva\", \n    \"displayName_fr\": \"Pénalité de résistance explosive\", \n    \"displayName_it\": \"Explosive Resistance penalty\", \n    \"displayName_ja\": \"爆発耐性ペナルティ\", \n    \"displayName_ko\": \"폭발 저항력 페널티\", \n    \"displayName_ru\": \"Штраф на сопротивление фугасному урону\", \n    \"displayName_zh\": \"爆炸抗性惩罚\", \n    \"displayNameID\": 521920, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 111\n      }, \n      {\n        \"dogmaAttributeID\": 268\n      }, \n      {\n        \"dogmaAttributeID\": 272\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"48\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Leviathan Effect Generator : Shield HP bonus\", \n    \"displayName_de\": \"Schild-HP-Bonus\", \n    \"displayName_en-us\": \"Shield HP bonus\", \n    \"displayName_es\": \"Bonificación de PV de escudo\", \n    \"displayName_fr\": \"Bonus aux PV des boucliers\", \n    \"displayName_it\": \"Shield HP bonus\", \n    \"displayName_ja\": \"シールドHPボーナス\", \n    \"displayName_ko\": \"실드량 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности щитов\", \n    \"displayName_zh\": \"护盾值加成\", \n    \"displayNameID\": 521924, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 263\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"49\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Leviathan Effect Generator : EM resistance bonus\", \n    \"displayName_de\": \"Bonus auf EM-Resistenz\", \n    \"displayName_en-us\": \"EM Resistance bonus\", \n    \"displayName_es\": \"Bonificación de resistencia electromagnética\", \n    \"displayName_fr\": \"Bonus aux résistances EM\", \n    \"displayName_it\": \"EM Resistance bonus\", \n    \"displayName_ja\": \"EM耐性ボーナス\", \n    \"displayName_ko\": \"EM 저항력 보너스\", \n    \"displayName_ru\": \"Штраф на сопротивляемость ЭМ-урону\", \n    \"displayName_zh\": \"电磁抗性加成\", \n    \"displayNameID\": 521922, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 113\n      }, \n      {\n        \"dogmaAttributeID\": 267\n      }, \n      {\n        \"dogmaAttributeID\": 271\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"50\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Leviathan Effect Generator : Kinetic resistance penalty\", \n    \"displayName_de\": \"Abzug auf Kinetikresistenz\", \n    \"displayName_en-us\": \"Kinetic Resistance penalty\", \n    \"displayName_es\": \"Penalización de resistencia cinética\", \n    \"displayName_fr\": \"Pénalité de résistance cinétique\", \n    \"displayName_it\": \"Kinetic Resistance penalty\", \n    \"displayName_ja\": \"キネティック耐性ペナルティ\", \n    \"displayName_ko\": \"키네틱 저항력 페널티\", \n    \"displayName_ru\": \"Штраф на сопротивление кинетическому урону\", \n    \"displayName_zh\": \"动能抗性惩罚\", \n    \"displayNameID\": 521923, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 109\n      }, \n      {\n        \"dogmaAttributeID\": 269\n      }, \n      {\n        \"dogmaAttributeID\": 273\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"51\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Avatar Effect Generator : Velocity penalty\", \n    \"displayName_de\": \"Geschwindigkeitsabzug\", \n    \"displayName_en-us\": \"Velocity Penalty\", \n    \"displayName_es\": \"Penalización de velocidad\", \n    \"displayName_fr\": \"Pénalité de vitesse\", \n    \"displayName_it\": \"Velocity Penalty\", \n    \"displayName_ja\": \"速度ペナルティ\", \n    \"displayName_ko\": \"속도 페널티\", \n    \"displayName_ru\": \"Штраф к скорости\", \n    \"displayName_zh\": \"速度惩罚\", \n    \"displayNameID\": 522403, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"52\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Erebus Effect Generator : Shield RR penalty\", \n    \"displayName_de\": \"Schild-Fernreparatursystem-Leistungsabzug\", \n    \"displayName_en-us\": \"Remote Shield Booster Strength Penalty\", \n    \"displayName_es\": \"Penalización de intensidad de potenciador de escudo remoto\", \n    \"displayName_fr\": \"Pénalité de puissance sur les boosters de boucliers à distance\", \n    \"displayName_it\": \"Remote Shield Booster Strength Penalty\", \n    \"displayName_ja\": \"リモートシールドブースター強度ペナルティ\", \n    \"displayName_ko\": \"원격 실드 충전 강도 페널티\", \n    \"displayName_ru\": \"Влияние на силу модулей дистанционной накачки щита\", \n    \"displayName_zh\": \"远程护盾回充增量器强度惩罚\", \n    \"displayNameID\": 522404, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 68, \n        \"skillID\": 3422\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"53\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Leviathan Effect Generator : Armor RR penalty\", \n    \"displayName_de\": \"Panzerungs-Fernreparatursystem-Leistungsabzug\", \n    \"displayName_en-us\": \"Remote Armor Repairer Strength Penalty\", \n    \"displayName_es\": \"Penalización de intensidad de reparador de blindaje remoto\", \n    \"displayName_fr\": \"Pénalité de puissance sur les réparateurs de blindage à distance\", \n    \"displayName_it\": \"Remote Armor Repairer Strength Penalty\", \n    \"displayName_ja\": \"リモートアーマーリペアラ強度ペナルティ\", \n    \"displayName_ko\": \"원격 장갑 수리 강도 페널티\", \n    \"displayName_ru\": \"Штраф на силу модулей дистанционного ремонта брони\", \n    \"displayName_zh\": \"远程装甲维修器强度惩罚\", \n    \"displayNameID\": 522405, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 84, \n        \"skillID\": 16069\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"54\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Ragnarok Effect Generator : Laser and Hybrid Optimal penalty\", \n    \"displayName_de\": \"Optimaler Abzug von Energie- und Hybridgeschütztürmen\", \n    \"displayName_en-us\": \"Energy and Hybrid Turret Optimal Penalty\", \n    \"displayName_es\": \"Penalización de alcance óptimo de torreta híbrida y de energía\", \n    \"displayName_fr\": \"Pénalité de portée optimale sur les tourelles à énergie et les tourelles hybrides\", \n    \"displayName_it\": \"Energy and Hybrid Turret Optimal Penalty\", \n    \"displayName_ja\": \"エネルギータレットとハイブリッドタレット最適射程距離ペナルティ\", \n    \"displayName_ko\": \"에너지 및 하이브리드 터렛 최적사거리 페널티\", \n    \"displayName_ru\": \"Штраф на оптимальную дальность лазерных и гибридных орудий\", \n    \"displayName_zh\": \"能量和混合炮台最佳射程惩罚\", \n    \"displayNameID\": 522406, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 54, \n        \"groupID\": 53\n      }, \n      {\n        \"dogmaAttributeID\": 54, \n        \"groupID\": 74\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"55\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"PANIC: Scan Resolution penalty\", \n    \"displayName_de\": \"Abzug auf Scanauflösung\", \n    \"displayName_en-us\": \"Scan Resolution penalty\", \n    \"displayName_es\": \"Penalización de resolución de escaneo\", \n    \"displayName_fr\": \"Pénalité de résolution de scan\", \n    \"displayName_it\": \"Scan Resolution penalty\", \n    \"displayName_ja\": \"スキャン解像度ペナルティ\", \n    \"displayName_ko\": \"스캔 해상도 페널티\", \n    \"displayName_ru\": \"Штраф на разрешающую способность\", \n    \"displayName_zh\": \"扫描分辨率惩罚\", \n    \"displayNameID\": 522786, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 564\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"56\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"PANIC: Mass increase\", \n    \"displayName_de\": \"Massenzunahme\", \n    \"displayName_en-us\": \"Mass increase\", \n    \"displayName_es\": \"Aumento de masa\", \n    \"displayName_fr\": \"Augmentation de masse\", \n    \"displayName_it\": \"Mass increase\", \n    \"displayName_ja\": \"質量増加\", \n    \"displayName_ko\": \"질량 증가\", \n    \"displayName_ru\": \"Увеличение массы\", \n    \"displayName_zh\": \"质量增加\", \n    \"displayNameID\": 522787, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 4\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"57\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Disallow tether\", \n    \"displayName_de\": \"Anbindung blockiert\", \n    \"displayName_en-us\": \"Tether blocked\", \n    \"displayName_es\": \"Amarre bloqueado\", \n    \"displayName_fr\": \"Arrimage bloqué\", \n    \"displayName_it\": \"Tether blocked\", \n    \"displayName_ja\": \"牽引ブロック中\", \n    \"displayName_ko\": \"테더링 차단\", \n    \"displayName_ru\": \"Швартовка недоступна\", \n    \"displayName_zh\": \"驻留被阻止\", \n    \"displayNameID\": 522788, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2343\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"58\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"PANIC: Drone damage penalty\", \n    \"displayName_de\": \"Drohnen-Schadensabzug\", \n    \"displayName_en-us\": \"Drone damage penalty\", \n    \"displayName_es\": \"Penalización de daño de dron\", \n    \"displayName_fr\": \"Pénalité de dégâts sur les drones\", \n    \"displayName_it\": \"Drone damage penalty\", \n    \"displayName_ja\": \"ドローンダメージペナルティ\", \n    \"displayName_ko\": \"드론 피해량 페널티\", \n    \"displayName_ru\": \"Штраф на урон дронов\", \n    \"displayName_zh\": \"无人机伤害惩罚\", \n    \"displayNameID\": 522792, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2580\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"59\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"PANIC: Disallow weapons\", \n    \"displayName_de\": \"Waffen untersagen\", \n    \"displayName_en-us\": \"Disallow weapons\", \n    \"displayName_es\": \"Desautorizar armas\", \n    \"displayName_fr\": \"Désactiver les armements\", \n    \"displayName_it\": \"Disallow weapons\", \n    \"displayName_ja\": \"兵器を禁止\", \n    \"displayName_ko\": \"무기 사용 차단\", \n    \"displayName_ru\": \"Вооружение запрещено\", \n    \"displayName_zh\": \"禁用武器\", \n    \"displayNameID\": 522815, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 1349, \n        \"skillID\": 3300\n      }, \n      {\n        \"dogmaAttributeID\": 1349, \n        \"skillID\": 3319\n      }, \n      {\n        \"dogmaAttributeID\": 1349, \n        \"skillID\": 3421\n      }\n    ], \n    \"operationName\": \"PostAssignment\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"60\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Skirmish Burst: Evasive Maneuvers: Agility\", \n    \"displayName_de\": \"Wendigkeitsbonus\", \n    \"displayName_en-us\": \"Agility bonus\", \n    \"displayName_es\": \"Bonificación de agilidad\", \n    \"displayName_fr\": \"Bonus d'agilité\", \n    \"displayName_it\": \"Agility bonus\", \n    \"displayName_ja\": \"機動性ボーナス\", \n    \"displayName_ko\": \"기동성 보너스\", \n    \"displayName_ru\": \"Влияние на маневренность\", \n    \"displayName_zh\": \"灵活性加成\", \n    \"displayNameID\": 522819, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 70\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"61\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"PANIC: Disallow entosis\", \n    \"displayName_de\": \"Entosis untersagen\", \n    \"displayName_en-us\": \"Disallow entosis\", \n    \"displayName_es\": \"Desautorizar entosis\", \n    \"displayName_fr\": \"Désactiver l'interface Entosis\", \n    \"displayName_it\": \"Disallow entosis\", \n    \"displayName_ja\": \"エントーシスを禁止\", \n    \"displayName_ko\": \"엔토시스 사용 차단\", \n    \"displayName_ru\": \"Энтоз-воздействие запрещено\", \n    \"displayName_zh\": \"禁用侵噬链接\", \n    \"displayNameID\": 522901, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 1349, \n        \"skillID\": 24242\n      }\n    ], \n    \"operationName\": \"PostAssignment\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"79\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"AOE_Beacon_bioluminescence_cloud\", \n    \"displayName_de\": \"Abzug auf Signaturradius\", \n    \"displayName_en-us\": \"Signature Radius penalty\", \n    \"displayName_es\": \"Penalización de radio de la señal\", \n    \"displayName_fr\": \"Pénalité du rayon de signature\", \n    \"displayName_it\": \"Signature Radius penalty\", \n    \"displayName_ja\": \"シグネチャ半径ペナルティ\", \n    \"displayName_ko\": \"시그니처 반경 페널티\", \n    \"displayName_ru\": \"Штраф к радиусу сигнатуры\", \n    \"displayName_zh\": \"信号半径惩罚\", \n    \"displayNameID\": 532898, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 552\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"80\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"AOE_Beacon_caustic_cloud_inertia\", \n    \"displayName_de\": \"Trägheitsbonus\", \n    \"displayName_en-us\": \"Inertia Bonus\", \n    \"displayName_es\": \"Bonificación de inercia\", \n    \"displayName_fr\": \"Bonus d'inertie\", \n    \"displayName_it\": \"Inertia Bonus\", \n    \"displayName_ja\": \"慣性ボーナス\", \n    \"displayName_ko\": \"관성 계수 보너스\", \n    \"displayName_ru\": \"Увеличение инертности\", \n    \"displayName_zh\": \"惯性加成\", \n    \"displayNameID\": 532902, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 70\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"81\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"AOE_Beacon_caustic_cloud_velocity\", \n    \"displayName_de\": \"Bonus für Maximalgeschwindigkeit\", \n    \"displayName_en-us\": \"Max Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad máxima\", \n    \"displayName_fr\": \"Bonus de vitesse maximale\", \n    \"displayName_it\": \"Max Velocity Bonus\", \n    \"displayName_ja\": \"最高速度ボーナス\", \n    \"displayName_ko\": \"최대 속도 보너스\", \n    \"displayName_ru\": \"Повышение максимальной скорости\", \n    \"displayName_zh\": \"最大速度加成\", \n    \"displayNameID\": 532901, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"84\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"AOE_Beacon_trig_platform_tracking_speed\", \n    \"displayName_de\": \"Geschützturm-Zielverfolgungsgeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Turret Tracking Speed bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de rastreo de torreta\", \n    \"displayName_fr\": \"Bonus de vitesse de poursuite des tourelles\", \n    \"displayName_it\": \"Turret Tracking Speed bonus\", \n    \"displayName_ja\": \"タレット追跡速度ボーナス\", \n    \"displayName_ko\": \"터렛 트래킹 속도 보너스\", \n    \"displayName_ru\": \"Повышение скорости слежения турелей\", \n    \"displayName_zh\": \"炮台跟踪速度加成\", \n    \"displayNameID\": 532937, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 160\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 160, \n        \"skillID\": 3300\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"88\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"AOE_Beacon_filament_cloud_shield_booster_shield_bonus\", \n    \"displayName_de\": \"Abzug auf Schildbonus von Schildboostern\", \n    \"displayName_en-us\": \"Penalty to Shield Booster shield bonus\", \n    \"displayName_es\": \"Penalización a la bonificación de escudo del potenciador de escudo\", \n    \"displayName_fr\": \"Pénalité du bonus de bouclier de booster de bouclier\", \n    \"displayName_it\": \"Penalty to Shield Booster shield bonus\", \n    \"displayName_ja\": \"シールドブースターのシールドボーナス・ペナルティ\", \n    \"displayName_ko\": \"실드 부스터의 실드 보너스에 페널티\", \n    \"displayName_ru\": \"Штраф к бонусу прочности модуля накачки щитов\", \n    \"displayName_zh\": \"护盾回充增量器护盾值惩罚\", \n    \"displayNameID\": 533827, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2498\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 68, \n        \"skillID\": 3416\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"89\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"AOE_Beacon_filament_cloud_shield_booster_duration\", \n    \"displayName_de\": \"Bonus auf die Dauer von Schildboostern\", \n    \"displayName_en-us\": \"Bonus to Shield Booster duration\", \n    \"displayName_es\": \"Bonificación a la duración del potenciador de escudo\", \n    \"displayName_fr\": \"Bonus à la durée de booster de bouclier\", \n    \"displayName_it\": \"Bonus to Shield Booster duration\", \n    \"displayName_ja\": \"シールドブースター有効時間ボーナス\", \n    \"displayName_ko\": \"실드 부스터 사이클 시간 보너스\", \n    \"displayName_ru\": \"Ускорение цикла модулей накачки щитов\", \n    \"displayName_zh\": \"护盾回充增量器持续时间加成\", \n    \"displayNameID\": 533828, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2495\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 3416\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"90\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Weather_electric_storm_EM_resistance_penalty\", \n    \"displayName_de\": \"Abzug auf EM-Resistenz\", \n    \"displayName_en-us\": \"EM Resistance penalty\", \n    \"displayName_es\": \"Penalización de resistencia electromagnética\", \n    \"displayName_fr\": \"Pénalité à la résistance EM\", \n    \"displayName_it\": \"EM Resistance penalty\", \n    \"displayName_ja\": \"EMレジスタンス・ペナルティ\", \n    \"displayName_ko\": \"EM 저항력 페널티\", \n    \"displayName_ru\": \"Штраф к сопротивляемости ЭМ урону\", \n    \"displayName_zh\": \"电磁抗性惩罚\", \n    \"displayNameID\": 534977, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 113\n      }, \n      {\n        \"dogmaAttributeID\": 267\n      }, \n      {\n        \"dogmaAttributeID\": 271\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"92\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Weather_electric_storm_capacitor_recharge_bonus\", \n    \"displayName_de\": \"Energiespeicher-Wiederaufladebonus\", \n    \"displayName_en-us\": \"Capacitor Recharge bonus\", \n    \"displayName_es\": \"Bonificación de carga del condensador\", \n    \"displayName_fr\": \"Bonus de recharge du capaciteur\", \n    \"displayName_it\": \"Capacitor Recharge bonus\", \n    \"displayName_ja\": \"キャパシタリチャージボーナス\", \n    \"displayName_ko\": \"캐패시터 충전 보너스\", \n    \"displayName_ru\": \"Влияние на перезарядку накопителя\", \n    \"displayName_zh\": \"电容回充量加成\", \n    \"displayNameID\": 534976, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 55\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"93\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Weather_xenon_gas_explosive_resistance_penalty\", \n    \"displayName_de\": \"Abzug auf Explosionsresistenz\", \n    \"displayName_en-us\": \"Explosive Resistance penalty\", \n    \"displayName_es\": \"Penalización de resistencia explosiva\", \n    \"displayName_fr\": \"Pénalité de résistance aux explosifs\", \n    \"displayName_it\": \"Explosive Resistance penalty\", \n    \"displayName_ja\": \"エクスプローシブレジスタンス・ペナルティ\", \n    \"displayName_ko\": \"폭발 저항력 페널티\", \n    \"displayName_ru\": \"Штраф к сопротивляемости взрывному урону\", \n    \"displayName_zh\": \"爆炸抗性惩罚\", \n    \"displayNameID\": 534979, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 111\n      }, \n      {\n        \"dogmaAttributeID\": 268\n      }, \n      {\n        \"dogmaAttributeID\": 272\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"94\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Weather_xenon_gas_shield_hp_bonus\", \n    \"displayName_de\": \"Schild-HP-Bonus\", \n    \"displayName_en-us\": \"Shield HP bonus\", \n    \"displayName_es\": \"Bonificación de PV de escudo\", \n    \"displayName_fr\": \"Bonus de PV du bouclier\", \n    \"displayName_it\": \"Shield HP bonus\", \n    \"displayName_ja\": \"シールドHPボーナス\", \n    \"displayName_ko\": \"실드량 보너스\", \n    \"displayName_ru\": \"Повышение прочности щитов\", \n    \"displayName_zh\": \"护盾值加成\", \n    \"displayNameID\": 534980, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 263\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"95\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Weather_infernal_thermal_resistance_penalty\", \n    \"displayName_de\": \"Abzug auf Thermalresistenz\", \n    \"displayName_en-us\": \"Thermal Resistance penalty\", \n    \"displayName_es\": \"Penalización de resistencia térmica\", \n    \"displayName_fr\": \"Pénalité de résistance thermique\", \n    \"displayName_it\": \"Thermal Resistance penalty\", \n    \"displayName_ja\": \"サーマルレジスタンス・ペナルティ\", \n    \"displayName_ko\": \"열 저항력 페널티\", \n    \"displayName_ru\": \"Штраф к сопротивляемости тепловому урону\", \n    \"displayName_zh\": \"热能抗性惩罚\", \n    \"displayNameID\": 534983, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 110\n      }, \n      {\n        \"dogmaAttributeID\": 270\n      }, \n      {\n        \"dogmaAttributeID\": 274\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"96\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Weather_infernal_armor_hp_bonus\", \n    \"displayName_de\": \"Panzerung-HP-Bonus\", \n    \"displayName_en-us\": \"Armor HP bonus\", \n    \"displayName_es\": \"Bonificación de PV de blindaje\", \n    \"displayName_fr\": \"Bonus de PV du blindage\", \n    \"displayName_it\": \"Armor HP bonus\", \n    \"displayName_ja\": \"アーマーHPボーナス\", \n    \"displayName_ko\": \"장갑 내구도 보너스\", \n    \"displayName_ru\": \"Повышение прочности брони\", \n    \"displayName_zh\": \"装甲值加成\", \n    \"displayNameID\": 534982, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 265\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"97\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Weather_darkness_turret_range_penalty\", \n    \"displayName_de\": \"Abzug auf optimale Reichweite und Präzisionsabfall-Reichweite von Geschütztürmen\", \n    \"displayName_en-us\": \"Turret Optimal and Falloff Range penalty\", \n    \"displayName_es\": \"Penalización de alcances efectivo y óptimo de torreta\", \n    \"displayName_fr\": \"Pénalité de portée optimale et de déperdition des tourelles\", \n    \"displayName_it\": \"Turret Optimal and Falloff Range penalty\", \n    \"displayName_ja\": \"タレットの最適・精度低下範囲ボーナス\", \n    \"displayName_ko\": \"터렛 최적사거리 및 유효사거리 페널티\", \n    \"displayName_ru\": \"Штраф к оптимальной и добавочной дальности стрельбы турелей\", \n    \"displayName_zh\": \"炮台最佳射程和失准范围惩罚\", \n    \"displayNameID\": 534987, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 54\n      }, \n      {\n        \"dogmaAttributeID\": 158\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 54, \n        \"skillID\": 3300\n      }, \n      {\n        \"dogmaAttributeID\": 158, \n        \"skillID\": 3300\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"98\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Weather_darkness_velocity_bonus\", \n    \"displayName_de\": \"Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Velocity bonus\", \n    \"displayName_es\": \"Bonificación de velocidad\", \n    \"displayName_fr\": \"Bonus de vitesse\", \n    \"displayName_it\": \"Velocity bonus\", \n    \"displayName_ja\": \"速度ボーナス\", \n    \"displayName_ko\": \"속도 보너스\", \n    \"displayName_ru\": \"Повышение скорости\", \n    \"displayName_zh\": \"速度加成\", \n    \"displayNameID\": 534988, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"99\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Weather_caustic_toxin_kinetic_resistance_penalty\", \n    \"displayName_de\": \"Abzug auf Kinetikresistenz\", \n    \"displayName_en-us\": \"Kinetic Resistance penalty\", \n    \"displayName_es\": \"Penalización de resistencia cinética\", \n    \"displayName_fr\": \"Pénalité de résistance cinétique\", \n    \"displayName_it\": \"Kinetic Resistance penalty\", \n    \"displayName_ja\": \"キネティックレジスタンス・ペナルティ\", \n    \"displayName_ko\": \"키네틱 저항력 페널티\", \n    \"displayName_ru\": \"Штраф к сопротивляемости кинетическому урону\", \n    \"displayName_zh\": \"动能抗性惩罚\", \n    \"displayNameID\": 535078, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 109\n      }, \n      {\n        \"dogmaAttributeID\": 269\n      }, \n      {\n        \"dogmaAttributeID\": 273\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"100\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Weather_caustic_toxin_scan_resolution_bonus\", \n    \"displayName_de\": \"Scanauflösungsbonus\", \n    \"displayName_en-us\": \"Scan Resolution bonus\", \n    \"displayName_es\": \"Bonificación de resolución de escaneo\", \n    \"displayName_fr\": \"Bonus de résolution du balayage\", \n    \"displayName_it\": \"Scan Resolution bonus\", \n    \"displayName_ja\": \"スキャン分解能ボーナス\", \n    \"displayName_ko\": \"스캔 해상도 보너스\", \n    \"displayName_ru\": \"Влияние на разрешающую способность сенсоров\", \n    \"displayName_zh\": \"扫描分辨率加成\", \n    \"displayNameID\": 535079, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 564\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"101\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Industrial Core Mining Drone Signal Interference\", \n    \"displayName_de\": \"Bonus auf reduzierte Industrial Core-Bergbaudrohnen\", \n    \"displayName_en-us\": \"Reduced Industrial Core Mining Drone Bonus\", \n    \"displayName_es\": \"Bonificación de reducción de dron minero de núcleo industrial\", \n    \"displayName_fr\": \"Bonus réduit de drone d'extraction de cellule industrielle\", \n    \"displayName_it\": \"Reduced Industrial Core Mining Drone Bonus\", \n    \"displayName_ja\": \"工業コア採掘ドローンボーナス減少\", \n    \"displayName_ko\": \"산업코어 채굴 드론 보너스 감소\", \n    \"displayName_ru\": \"Уменьшен бонус для буровых дронов у промышленного ядра\", \n    \"displayName_zh\": \"降低的工业核心采矿无人机加成\", \n    \"displayNameID\": 546343, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 2585, \n        \"skillID\": 28585\n      }, \n      {\n        \"dogmaAttributeID\": 2586, \n        \"skillID\": 28585\n      }\n    ], \n    \"operationName\": \"PostMul\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2103\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Damage Bonus\", \n    \"displayName_de\": \"Schadensbonus\", \n    \"displayName_en-us\": \"Damage bonus\", \n    \"displayName_es\": \"Bonificación de daño\", \n    \"displayName_fr\": \"Bonus de dégâts\", \n    \"displayName_it\": \"Damage bonus\", \n    \"displayName_ja\": \"ダメージボーナス\", \n    \"displayName_ko\": \"피해량 보너스\", \n    \"displayName_ru\": \"Бонус урона\", \n    \"displayName_zh\": \"伤害加成\", \n    \"displayNameID\": 551552, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 64, \n        \"skillID\": 3300\n      }, \n      {\n        \"dogmaAttributeID\": 64, \n        \"skillID\": 3436\n      }, \n      {\n        \"dogmaAttributeID\": 114, \n        \"skillID\": 3319\n      }, \n      {\n        \"dogmaAttributeID\": 116, \n        \"skillID\": 3319\n      }, \n      {\n        \"dogmaAttributeID\": 117, \n        \"skillID\": 3319\n      }, \n      {\n        \"dogmaAttributeID\": 118, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2104\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Wreck Warp Scramble\", \n    \"displayName_de\": \"Nähe zu Wracks stört Warpantriebe\", \n    \"displayName_en-us\": \"Wreck Proximity Disrupting Warp Drives\", \n    \"displayName_es\": \"Motores de warp de disrupción de proximidad de restos\", \n    \"displayName_fr\": \"Une épave à proximité perturbe les propulseurs de warp\", \n    \"displayName_it\": \"Wreck Proximity Disrupting Warp Drives\", \n    \"displayName_ja\": \"周囲の残骸によりワープドライブ阻害中\", \n    \"displayName_ko\": \"잔해로 인한 워프 드라이브 교란\", \n    \"displayName_ru\": \"Близость обломков нарушает работу варп-двигателей\", \n    \"displayName_zh\": \"残骸近距干扰跃迁引擎\", \n    \"displayNameID\": 553815, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 104\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2106\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"ESS: Disables MJDs + MWDs\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 1349, \n        \"skillID\": 3454\n      }, \n      {\n        \"dogmaAttributeID\": 1349, \n        \"skillID\": 4385\n      }\n    ], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2108\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Webifier Range Bonus\", \n    \"displayName_de\": \"Reichweitenbonus für Stasisnetze\", \n    \"displayName_en-us\": \"Stasis Webifier Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance de red ralentizadora\", \n    \"displayName_fr\": \"Bonus de portée du générateur de stase\", \n    \"displayName_it\": \"Stasis Webifier Range Bonus\", \n    \"displayName_ja\": \"ステイシスウェビファイヤーの範囲ボーナス\", \n    \"displayName_ko\": \"스테이시스 웹 생성기 사거리 보너스\", \n    \"displayName_ru\": \"Увеличение дальности действия стазис-индукторов\", \n    \"displayName_zh\": \"停滞缠绕光束范围加成\", \n    \"displayNameID\": 571849, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 54, \n        \"groupID\": 65\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2109\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Module Heat Damage Reduction\", \n    \"displayName_de\": \"Modul-Hitzeschadenreduktion\", \n    \"displayName_en-us\": \"Module Heat Damage Reduction\", \n    \"displayName_es\": \"Reducción de daño por calor del módulo\", \n    \"displayName_fr\": \"Réduction des dégâts thermiques des modules\", \n    \"displayName_it\": \"Module Heat Damage Reduction\", \n    \"displayName_ja\": \"モジュール熱ダメージ減少\", \n    \"displayName_ko\": \"모듈 과부하 피해 감소\", \n    \"displayName_ru\": \"Снижение теплового урона для модулей\", \n    \"displayName_zh\": \"装备超载伤害降低\", \n    \"displayNameID\": 573512, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [\n      {\n        \"dogmaAttributeID\": 1211\n      }\n    ], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2110\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Webifier Strength Bonus\", \n    \"displayName_de\": \"Bonus auf die Stärke von Stasisnetzen\", \n    \"displayName_en-us\": \"Stasis Webifier Strength Bonus\", \n    \"displayName_es\": \"Bonificación de intensidad de red ralentizadora\", \n    \"displayName_fr\": \"Bonus à la puissance des générateurs de stase\", \n    \"displayName_it\": \"Stasis Webifier Strength Bonus\", \n    \"displayName_ja\": \"ステイシスウェビファイヤーの強度にボーナス\", \n    \"displayName_ko\": \"스테이시스 웹 강도 증가\", \n    \"displayName_ru\": \"Бонус к эффективности стазис-индуктора\", \n    \"displayName_zh\": \"停滞缠绕光束强度加成\", \n    \"displayNameID\": 574787, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 20, \n        \"groupID\": 65\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2111\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Thermal and Kinetic Missile Damage Bonuus\", \n    \"displayName_de\": \"Bonus auf den Thermal-/Kinetikschaden von Lenkwaffen\", \n    \"displayName_en-us\": \"Thermal/Kinetic Missile Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño de los misiles térmicos/cinéticos\", \n    \"displayName_fr\": \"Bonus de dégâts thermiques/cinétiques des missiles\", \n    \"displayName_it\": \"Thermal/Kinetic Missile Damage Bonus\", \n    \"displayName_ja\": \"サーマル/キネティックミサイルダメージボーナス\", \n    \"displayName_ko\": \"열/키네틱 미사일 피해량 보너스\", \n    \"displayName_ru\": \"Увеличение урона от термических/кинетических ракет\", \n    \"displayName_zh\": \"热能/动能导弹伤害加成\", \n    \"displayNameID\": 576030, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 117, \n        \"skillID\": 3319\n      }, \n      {\n        \"dogmaAttributeID\": 118, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2112\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Proving Remote Assistance/Repair Impedance\", \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2116\n      }, \n      {\n        \"dogmaAttributeID\": 2135\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2113\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Stabilized cloak to prevent decloak bursts\", \n    \"displayName_de\": \"Tarnmodul-Stabilisierung\", \n    \"displayName_en-us\": \"Cloak stabilization\", \n    \"displayName_es\": \"Estabilización de camuflaje\", \n    \"displayName_fr\": \"Stabilisation de camouflage\", \n    \"displayName_it\": \"Cloak stabilization\", \n    \"displayName_ja\": \"クローク安定化\", \n    \"displayName_ko\": \"클로킹 안정화\", \n    \"displayName_ru\": \"Стабилизация маскировки\", \n    \"displayName_zh\": \"隐形稳定\", \n    \"displayNameID\": 580046, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 3117\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2140\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Overheat Bonus - No EWAR\", \n    \"displayName_de\": \"Modul-Überladungsbonus\", \n    \"displayName_en-us\": \"Module Overload Bonus\", \n    \"displayName_es\": \"Bonificación de sobrecarga de módulo\", \n    \"displayName_fr\": \"Bonus de surcharge du module\", \n    \"displayName_it\": \"Module Overload Bonus\", \n    \"displayName_ja\": \"モジュールオーバーロードボーナス\", \n    \"displayName_ko\": \"모듈 과부하 보너스\", \n    \"displayName_ru\": \"Бонус к перегрузке модулей\", \n    \"displayName_zh\": \"装备超载加成\", \n    \"displayNameID\": 583780, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [\n      {\n        \"dogmaAttributeID\": 1181\n      }, \n      {\n        \"dogmaAttributeID\": 1205\n      }, \n      {\n        \"dogmaAttributeID\": 1206\n      }, \n      {\n        \"dogmaAttributeID\": 1208\n      }, \n      {\n        \"dogmaAttributeID\": 1210\n      }, \n      {\n        \"dogmaAttributeID\": 1222\n      }, \n      {\n        \"dogmaAttributeID\": 1223\n      }, \n      {\n        \"dogmaAttributeID\": 1230\n      }, \n      {\n        \"dogmaAttributeID\": 1231\n      }\n    ], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2141\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Link-with-ship damage resistance bonus\", \n    \"displayName_de\": \"Schadensresistenzbonus\", \n    \"displayName_en-us\": \"Damage Resistance Bonus\", \n    \"displayName_es\": \"Bonificación de resistencia a daños\", \n    \"displayName_fr\": \"Bonus de résistance aux dégâts.\", \n    \"displayName_it\": \"Damage Resistance Bonus\", \n    \"displayName_ja\": \"ダメージレジスタンスボーナス\", \n    \"displayName_ko\": \"피해 저항력 보너스\", \n    \"displayName_ru\": \"Усиление сопротивляемости урону\", \n    \"displayName_zh\": \"伤害抗性加成\", \n    \"displayNameID\": 587608, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 109\n      }, \n      {\n        \"dogmaAttributeID\": 110\n      }, \n      {\n        \"dogmaAttributeID\": 111\n      }, \n      {\n        \"dogmaAttributeID\": 113\n      }, \n      {\n        \"dogmaAttributeID\": 267\n      }, \n      {\n        \"dogmaAttributeID\": 268\n      }, \n      {\n        \"dogmaAttributeID\": 269\n      }, \n      {\n        \"dogmaAttributeID\": 270\n      }, \n      {\n        \"dogmaAttributeID\": 271\n      }, \n      {\n        \"dogmaAttributeID\": 272\n      }, \n      {\n        \"dogmaAttributeID\": 273\n      }, \n      {\n        \"dogmaAttributeID\": 274\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2142\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Small Energy Turret Damage Bonus\", \n    \"displayName_de\": \"Schadensbonus auf kleinen Energiegeschützturm\", \n    \"displayName_en-us\": \"Small Energy Turret Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño de torreta de energía pequeña\", \n    \"displayName_fr\": \"Bonus de dégâts des petites tourelles à énergie\", \n    \"displayName_it\": \"Small Energy Turret Damage Bonus\", \n    \"displayName_ja\": \"小型エネルギータレットダメージボーナス\", \n    \"displayName_ko\": \"소형 에너지 터렛 피해량 보너스\", \n    \"displayName_ru\": \"Бонус к урону от малых лазерных орудий\", \n    \"displayName_zh\": \"小型能量炮台伤害加成\", \n    \"displayNameID\": 588970, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 64, \n        \"skillID\": 3303\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2143\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Nos and Neut Drain Bonus\", \n    \"displayName_de\": \"Stärkebonus auf Energiekriegsführung\", \n    \"displayName_en-us\": \"Energy Warfare Strength Bonus\", \n    \"displayName_es\": \"Bonificación de intensidad de guerra de energía\", \n    \"displayName_fr\": \"Bonus de puissance de guerre d'énergie\", \n    \"displayName_it\": \"Energy Warfare Strength Bonus\", \n    \"displayName_ja\": \"エネルギー戦強度ボーナス\", \n    \"displayName_ko\": \"에너지전 효과 보너스\", \n    \"displayName_ru\": \"Бонус к мощности средств воздействия на накопитель\", \n    \"displayName_zh\": \"能量战强度加成\", \n    \"displayNameID\": 588971, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 90, \n        \"groupID\": 68\n      }, \n      {\n        \"dogmaAttributeID\": 97, \n        \"groupID\": 71\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2144\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Turret Damage Bonus\", \n    \"displayName_de\": \"Geschützturmschadensbonus\", \n    \"displayName_en-us\": \"Turret Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño de torreta\", \n    \"displayName_fr\": \"Bonus de dégâts des tourelles\", \n    \"displayName_it\": \"Turret Damage Bonus\", \n    \"displayName_ja\": \"タレットダメージボーナス\", \n    \"displayName_ko\": \"터렛 피해량 보너스\", \n    \"displayName_ru\": \"Увеличение урона от турелей\", \n    \"displayName_zh\": \"炮台伤害加成\", \n    \"displayNameID\": 589384, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 64, \n        \"skillID\": 3300\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2145\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Missile Damage Bonus\", \n    \"displayName_de\": \"Lenkwaffeschadensbonus\", \n    \"displayName_en-us\": \"Missile Damage Bonuus\", \n    \"displayName_es\": \"Bonificación de daño de misiles\", \n    \"displayName_fr\": \"Bonus aux dégâts des missiles\", \n    \"displayName_it\": \"Missile Damage Bonuus\", \n    \"displayName_ja\": \"ミサイルダメージボーナス\", \n    \"displayName_ko\": \"미사일 피해량 보너스\", \n    \"displayName_ru\": \"Увеличение урона от ракет\", \n    \"displayName_zh\": \"导弹伤害加成\", \n    \"displayNameID\": 589393, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 114, \n        \"skillID\": 3319\n      }, \n      {\n        \"dogmaAttributeID\": 116, \n        \"skillID\": 3319\n      }, \n      {\n        \"dogmaAttributeID\": 117, \n        \"skillID\": 3319\n      }, \n      {\n        \"dogmaAttributeID\": 118, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2146\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Afterburner Speed Bonus\", \n    \"displayName_de\": \"Bonus auf die Nachbrenner-Geschwindigkeitserhöhung\", \n    \"displayName_en-us\": \"AB speed increase bonus\", \n    \"displayName_es\": \"Bonificación de aumento de velocidad de PQ\", \n    \"displayName_fr\": \"Bonus de vitesse PC\", \n    \"displayName_it\": \"AB speed increase bonus\", \n    \"displayName_ja\": \"AB速度増加ボーナス\", \n    \"displayName_ko\": \"애프터버너 속도 증가 보너스\", \n    \"displayName_ru\": \"Бонус к увеличению скорости форсажного ускорителя\", \n    \"displayName_zh\": \"加力燃烧器速度增量加成\", \n    \"displayNameID\": 591759, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 20, \n        \"skillID\": 3450\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2147\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"SpacetimeNexusVelocity\", \n    \"displayName_de\": \"Schiffsgeschwindigkeit\", \n    \"displayName_en-us\": \"Ship Velocity\", \n    \"displayName_es\": \"Velocidad de nave\", \n    \"displayName_fr\": \"Vitesse du vaisseau\", \n    \"displayName_it\": \"Ship Velocity\", \n    \"displayName_ja\": \"航行速度\", \n    \"displayName_ko\": \"함선 속도\", \n    \"displayName_ru\": \"Скорость корабля\", \n    \"displayName_zh\": \"舰船最大速度\", \n    \"displayNameID\": 592692, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2148\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"SpacetimeNexusInertia\", \n    \"displayName_de\": \"Schiffsträgheit\", \n    \"displayName_en-us\": \"Ship Inertia\", \n    \"displayName_es\": \"Inercia de la nave\", \n    \"displayName_fr\": \"Inertie du vaisseau\", \n    \"displayName_it\": \"Ship Inertia\", \n    \"displayName_ja\": \"艦船の慣性\", \n    \"displayName_ko\": \"관성 계수\", \n    \"displayName_ru\": \"Инертность корабля\", \n    \"displayName_zh\": \"舰船惯性调整系数\", \n    \"displayNameID\": 592693, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 70\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2149\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"SpacetimeNexusCapShieldRecharge\", \n    \"displayName_de\": \"Schild- und Energiespeicherladezeit\", \n    \"displayName_en-us\": \"Shield and Capacitor Recharge Rate\", \n    \"displayName_es\": \"Índice de carga del condensador y del escudo\", \n    \"displayName_fr\": \"Vitesse de recharge du bouclier et du capaciteur\", \n    \"displayName_it\": \"Shield and Capacitor Recharge Rate\", \n    \"displayName_ja\": \"シールドとキャパシタの充電速度\", \n    \"displayName_ko\": \"실드 및 캐패시터 충전 속도\", \n    \"displayName_ru\": \"Скорость перезарядки щита и накопителя\", \n    \"displayName_zh\": \"护盾和电容回充速率\", \n    \"displayNameID\": 592694, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 55\n      }, \n      {\n        \"dogmaAttributeID\": 479\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2150\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"SpacetimeNexusModuleCycle\", \n    \"displayName_de\": \"Modulzyklus und Nachladegeschwindigkeit\", \n    \"displayName_en-us\": \"Module Cycle and Reload Speed\", \n    \"displayName_es\": \"Velocidad de carga y ciclo de módulo\", \n    \"displayName_fr\": \"Cycle du module et vitesse de recharge\", \n    \"displayName_it\": \"Module Cycle and Reload Speed\", \n    \"displayName_ja\": \"モジュールのサイクルとリロード速度\", \n    \"displayName_ko\": \"모듈 사이클 시간 및 재장전 속도\", \n    \"displayName_ru\": \"Время и скорость перезарядки модуля\", \n    \"displayName_zh\": \"装备循环时间和装填速度\", \n    \"displayNameID\": 592695, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [\n      {\n        \"dogmaAttributeID\": 51\n      }, \n      {\n        \"dogmaAttributeID\": 73\n      }, \n      {\n        \"dogmaAttributeID\": 1795\n      }\n    ], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2151\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"SpacetimeNexusTracking\", \n    \"displayName_de\": \"Geschützturm-Nachführung und Lenkwaffen-Explosionsgeschwindigkeit\", \n    \"displayName_en-us\": \"Turret Tracking and Missile Explosion Velocity\", \n    \"displayName_es\": \"Velocidad de rastreo de torretas y explosión de misiles\", \n    \"displayName_fr\": \"Poursuite des tourelles et vitesse d'explosion des missiles\", \n    \"displayName_it\": \"Turret Tracking and Missile Explosion Velocity\", \n    \"displayName_ja\": \"タレットの追跡速度とミサイルの爆発速度\", \n    \"displayName_ko\": \"터렛 트래킹 및 미사일 폭발 속도\", \n    \"displayName_ru\": \"Скорость наведения орудий и распространения взрыва ракет\", \n    \"displayName_zh\": \"炮台跟踪速度和导弹爆炸速度\", \n    \"displayNameID\": 593084, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 160, \n        \"skillID\": 3300\n      }, \n      {\n        \"dogmaAttributeID\": 653, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2152\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving HP Addition\", \n    \"displayName_de\": \"Zusätzliche Basis-HP des Rumpfs\", \n    \"displayName_en-us\": \"Additional Base Hull Hitpoints\", \n    \"displayName_es\": \"Puntos de vida del casco base adicionales\", \n    \"displayName_fr\": \"Points de vie de la coque de base supplémentaires\", \n    \"displayName_it\": \"Additional Base Hull Hitpoints\", \n    \"displayName_ja\": \"追加ベース船体HP\", \n    \"displayName_ko\": \"추가 선체 내구도\", \n    \"displayName_ru\": \"Увеличение основного запаса прочности корпуса\", \n    \"displayName_zh\": \"额外的基础结构值\", \n    \"displayNameID\": 594653, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 9\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2153\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Turret Tracking\", \n    \"displayName_de\": \"Geschützturmnachführung\", \n    \"displayName_en-us\": \"Turret Tracking\", \n    \"displayName_es\": \"Rastreo de torreta\", \n    \"displayName_fr\": \"Poursuite des tourelles\", \n    \"displayName_it\": \"Turret Tracking\", \n    \"displayName_ja\": \"タレットのトラッキング\", \n    \"displayName_ko\": \"터렛 트래킹\", \n    \"displayName_ru\": \"Скорость наведения турелей\", \n    \"displayName_zh\": \"炮台跟踪速度\", \n    \"displayNameID\": 594691, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 160, \n        \"skillID\": 3300\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2154\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Turret Falloff\", \n    \"displayName_de\": \"Präzisionsabfallbonus für Geschütztürme\", \n    \"displayName_en-us\": \"Turret Falloff Bonus\", \n    \"displayName_es\": \"Bonificación de alcance efectivo de torreta\", \n    \"displayName_fr\": \"Bonus de déperdition des tourelles\", \n    \"displayName_it\": \"Turret Falloff Bonus\", \n    \"displayName_ja\": \"タレットの精度低下範囲ボーナス\", \n    \"displayName_ko\": \"터렛 유효사거리 보너스\", \n    \"displayName_ru\": \"Увеличение остаточной дальности стрельбы турелей\", \n    \"displayName_zh\": \"炮台失准范围加成\", \n    \"displayNameID\": 594692, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 158, \n        \"skillID\": 3300\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2155\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"[AIR] Mining amount penelty\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 77, \n        \"skillID\": 3386\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2158\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Turret Optimal\", \n    \"displayName_de\": \"Bonus für Geschütztürme (Optimal)\", \n    \"displayName_en-us\": \"Turret Optimal Bonus\", \n    \"displayName_es\": \"Bonificación de alcance óptimo de torreta\", \n    \"displayName_fr\": \"Bonus optimal des tourelles\", \n    \"displayName_it\": \"Turret Optimal Bonus\", \n    \"displayName_ja\": \"タレットの最適射程距離ボーナス\", \n    \"displayName_ko\": \"터렛 최적사거리 보너스\", \n    \"displayName_ru\": \"Бонус к оптимальной дальности турелей\", \n    \"displayName_zh\": \"炮台最佳射程加成\", \n    \"displayNameID\": 596685, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 54, \n        \"skillID\": 3300\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2159\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Proving Turret Cap Use\", \n    \"displayName_de\": \"Geschützturm-Energiespeicherverbrauch\", \n    \"displayName_en-us\": \"Turret Cap Consumption\", \n    \"displayName_es\": \"Consumo de condensador de torreta\", \n    \"displayName_fr\": \"Consommation du capaciteur de la tourelle\", \n    \"displayName_it\": \"Turret Cap Consumption\", \n    \"displayName_ja\": \"タレットのキャパシタ消費\", \n    \"displayName_ko\": \"터렛 캐패시터 소모\", \n    \"displayName_ru\": \"Расход энергии накопителя турелей\", \n    \"displayName_zh\": \"炮台电容消耗\", \n    \"displayNameID\": 596686, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 3300\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2160\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving HP All\", \n    \"displayName_de\": \"HP-Bonus\", \n    \"displayName_en-us\": \"Hitpoint Bonus\", \n    \"displayName_es\": \"Bonificación de puntos de vida\", \n    \"displayName_fr\": \"Bonus de PV\", \n    \"displayName_it\": \"Hitpoint Bonus\", \n    \"displayName_ja\": \"HPボーナス\", \n    \"displayName_ko\": \"내구도 보너스\", \n    \"displayName_ru\": \"Увеличение запаса прочности\", \n    \"displayName_zh\": \"HP加成\", \n    \"displayNameID\": 597492, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 9\n      }, \n      {\n        \"dogmaAttributeID\": 263\n      }, \n      {\n        \"dogmaAttributeID\": 265\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2161\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Velocity Bonus\", \n    \"displayName_de\": \"Geschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad\", \n    \"displayName_fr\": \"Bonus de vitesse\", \n    \"displayName_it\": \"Velocity Bonus\", \n    \"displayName_ja\": \"速度ボーナス\", \n    \"displayName_ko\": \"속도 보너스\", \n    \"displayName_ru\": \"Повышение скорости\", \n    \"displayName_zh\": \"速度加成\", \n    \"displayNameID\": 597614, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2162\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Inertia Penalty\", \n    \"displayName_de\": \"Trägheitsabzug\", \n    \"displayName_en-us\": \"Inertia Penalty\", \n    \"displayName_es\": \"Penalización de inercia\", \n    \"displayName_fr\": \"Pénalité d'inertie\", \n    \"displayName_it\": \"Inertia Penalty\", \n    \"displayName_ja\": \"慣性ペナルティ\", \n    \"displayName_ko\": \"관성 계수 페널티\", \n    \"displayName_ru\": \"Снижение инертности\", \n    \"displayName_zh\": \"惯性系数惩罚\", \n    \"displayNameID\": 597615, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 70\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2163\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Capacitor Bonus\", \n    \"displayName_de\": \"Energiespeicherbonus\", \n    \"displayName_en-us\": \"Capacitor Bonus\", \n    \"displayName_es\": \"Bonificación de condensador\", \n    \"displayName_fr\": \"Bonus de capaciteur\", \n    \"displayName_it\": \"Capacitor Bonus\", \n    \"displayName_ja\": \"キャパシタボーナス\", \n    \"displayName_ko\": \"캐패시터 보너스\", \n    \"displayName_ru\": \"Увеличение запаса энергии\", \n    \"displayName_zh\": \"电容加成\", \n    \"displayNameID\": 597616, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 482\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2164\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Armor/Shield HP Bonus\", \n    \"displayName_de\": \"Panzerungs- und Schild-HP-Bonus\", \n    \"displayName_en-us\": \"Armor and Shield HP Bonus\", \n    \"displayName_es\": \"Bonificación de PV de blindaje y escudo\", \n    \"displayName_fr\": \"Bonus de PV du blindage et du bouclier\", \n    \"displayName_it\": \"Armor and Shield HP Bonus\", \n    \"displayName_ja\": \"アーマーとシールドのHPボーナス\", \n    \"displayName_ko\": \"장갑 내구도 및 실드량 보너스\", \n    \"displayName_ru\": \"Повышение прочности щитов и брони\", \n    \"displayName_zh\": \"装甲值和护盾值加成\", \n    \"displayNameID\": 597617, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 263\n      }, \n      {\n        \"dogmaAttributeID\": 265\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2165\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Missile Flight Time Bonus\", \n    \"displayName_de\": \"Lenkwaffenflugdauer-Bonus\", \n    \"displayName_en-us\": \"Missile Flight Time Bonus\", \n    \"displayName_es\": \"Bonificación de tiempo de vuelo de misiles\", \n    \"displayName_fr\": \"Bonus de temps de vol des missiles\", \n    \"displayName_it\": \"Missile Flight Time Bonus\", \n    \"displayName_ja\": \"ミサイル飛行時間ボーナス\", \n    \"displayName_ko\": \"미사일 비행시간 보너스\", \n    \"displayName_ru\": \"Увеличение времени полёта ракет\", \n    \"displayName_zh\": \"导弹飞行时间加成\", \n    \"displayNameID\": 597618, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 281, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2166\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Mass Increase\", \n    \"displayName_de\": \"Mass Increase\", \n    \"displayName_en-us\": \"Mass Increase\", \n    \"displayName_es\": \"Aumento de masa\", \n    \"displayName_fr\": \"Augmentation de masse\", \n    \"displayName_it\": \"Mass Increase\", \n    \"displayName_ja\": \"質量増加\", \n    \"displayName_ko\": \"질량 증가\", \n    \"displayName_ru\": \"Увеличение массы\", \n    \"displayName_zh\": \"质量增加\", \n    \"displayNameID\": 597619, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 4\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2167\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"SpacetimeNexusCapRecharge\", \n    \"displayName_de\": \"Energiespeicherladezeit\", \n    \"displayName_en-us\": \"Capacitor Recharge Rate\", \n    \"displayName_es\": \"Índice de carga del condensador\", \n    \"displayName_fr\": \"Taux de recharge du capaciteur\", \n    \"displayName_it\": \"Capacitor Recharge Rate\", \n    \"displayName_ja\": \"キャパシタ充電速度\", \n    \"displayName_ko\": \"캐패시터 충전 속도\", \n    \"displayName_ru\": \"Скорость перезарядки накопителя\", \n    \"displayName_zh\": \"电容回充速率\", \n    \"displayNameID\": 597771, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 55\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2168\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"SpacetimeNexusSigRadius\", \n    \"displayName_de\": \"Signaturradius\", \n    \"displayName_en-us\": \"Signature Radius\", \n    \"displayName_es\": \"Radio de la señal\", \n    \"displayName_fr\": \"Rayon de signature\", \n    \"displayName_it\": \"Signature Radius\", \n    \"displayName_ja\": \"シグネチャ半径\", \n    \"displayName_ko\": \"시그니처 반경\", \n    \"displayName_ru\": \"Радиус сигнатуры\", \n    \"displayName_zh\": \"信号半径\", \n    \"displayNameID\": 597772, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 552\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2169\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"SpacetimeNexusTurretMissileDamage\", \n    \"displayName_de\": \"Geschützturm- und Lenkwaffenschaden\", \n    \"displayName_en-us\": \"Turret and Missile Damage\", \n    \"displayName_es\": \"Daño de torretas y misiles\", \n    \"displayName_fr\": \"Dégâts des tourelles et missiles\", \n    \"displayName_it\": \"Turret and Missile Damage\", \n    \"displayName_ja\": \"タレットとミサイルのダメージ\", \n    \"displayName_ko\": \"터렛 및 미사일 피해량\", \n    \"displayName_ru\": \"Урон от турелей и ракет\", \n    \"displayName_zh\": \"炮台和导弹伤害\", \n    \"displayNameID\": 597773, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 64, \n        \"skillID\": 3300\n      }, \n      {\n        \"dogmaAttributeID\": 114, \n        \"skillID\": 3319\n      }, \n      {\n        \"dogmaAttributeID\": 116, \n        \"skillID\": 3319\n      }, \n      {\n        \"dogmaAttributeID\": 117, \n        \"skillID\": 3319\n      }, \n      {\n        \"dogmaAttributeID\": 118, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2171\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Sensor Strength Bonus\", \n    \"displayName_de\": \"Sensorstärke-Bonus\", \n    \"displayName_en-us\": \"Sensor Strength bonus\", \n    \"displayName_es\": \"Bonificación de intensidad del sensor\", \n    \"displayName_fr\": \"Bonus de puissance des détecteurs\", \n    \"displayName_it\": \"Sensor Strength bonus\", \n    \"displayName_ja\": \"センサー強度ボーナス\", \n    \"displayName_ko\": \"센서 강도 보너스\", \n    \"displayName_ru\": \"Увеличение мощности сенсоров\", \n    \"displayName_zh\": \"感应强度加成\", \n    \"displayNameID\": 600979, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 208\n      }, \n      {\n        \"dogmaAttributeID\": 209\n      }, \n      {\n        \"dogmaAttributeID\": 210\n      }, \n      {\n        \"dogmaAttributeID\": 211\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2172\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Proving Signature Radius Bonus\", \n    \"displayName_de\": \"Signaturradius-Bonus\", \n    \"displayName_en-us\": \"Signature Radius bonus\", \n    \"displayName_es\": \"Bonificación de radio de la señal\", \n    \"displayName_fr\": \"Bonus de rayon de signature\", \n    \"displayName_it\": \"Signature Radius bonus\", \n    \"displayName_ja\": \"シグネチャ半径ボーナス\", \n    \"displayName_ko\": \"시그니처 반경 보너스\", \n    \"displayName_ru\": \"Уменьшение радиуса сигнатуры\", \n    \"displayName_zh\": \"信号半径加成\", \n    \"displayNameID\": 600983, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 552\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2174\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"AOE_Beacon_proving_tachyon_signatureradius_cloud\", \n    \"displayName_de\": \"Abzug auf Signaturradius\", \n    \"displayName_en-us\": \"Signature Radius penalty\", \n    \"displayName_es\": \"Penalización de radio de la señal\", \n    \"displayName_fr\": \"Pénalité du rayon de signature\", \n    \"displayName_it\": \"Signature Radius penalty\", \n    \"displayName_ja\": \"シグネチャ半径ペナルティ\", \n    \"displayName_ko\": \"시그니처 반경 페널티\", \n    \"displayName_ru\": \"Штраф к радиусу сигнатуры\", \n    \"displayName_zh\": \"信号半径惩罚\", \n    \"displayNameID\": 532898, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 552\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2176\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Armor HP Addition\", \n    \"displayName_de\": \"Zusätzliche Basis-HP der Panzerung\", \n    \"displayName_en-us\": \"Additional Base Armor Hitpoints\", \n    \"displayName_es\": \"Puntos de vida de blindaje básicos adicionales\", \n    \"displayName_fr\": \"Points de vie du blindage de base supplémentaires\", \n    \"displayName_it\": \"Additional Base Armor Hitpoints\", \n    \"displayName_ja\": \"追加基本アーマーヒットポイント\", \n    \"displayName_ko\": \"추가 기본 장갑 내구도\", \n    \"displayName_ru\": \"Увеличение основного запаса прочности брони\", \n    \"displayName_zh\": \"额外的基础装甲值\", \n    \"displayNameID\": 629466, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 265\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2177\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Shield HP Addition\", \n    \"displayName_de\": \"Zusätzliche Basis-HP der Schilde\", \n    \"displayName_en-us\": \"Additional Base Shield Hitpoints\", \n    \"displayName_es\": \"Puntos de vida del escudo básicos adicionales\", \n    \"displayName_fr\": \"Points de vie du bouclier de base supplémentaires\", \n    \"displayName_it\": \"Additional Base Shield Hitpoints\", \n    \"displayName_ja\": \"追加基本シールドヒットポイント\", \n    \"displayName_ko\": \"추가 기본 실드 내구도\", \n    \"displayName_ru\": \"Увеличение основного запаса прочности щитов\", \n    \"displayName_zh\": \"额外的基础护盾值\", \n    \"displayNameID\": 629467, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 263\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2178\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Kinetic Missile Damage Bonuus\", \n    \"displayName_de\": \"Bonus auf den Kinetikschaden von Lenkwaffen\", \n    \"displayName_en-us\": \"Kinetic Missile Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño de misiles cinéticos\", \n    \"displayName_fr\": \"Bonus de dégâts des missiles cinétiques\", \n    \"displayName_it\": \"Kinetic Missile Damage Bonus\", \n    \"displayName_ja\": \"キネティックミサイルダメージボーナス\", \n    \"displayName_ko\": \"키네틱 미사일 피해량 보너스\", \n    \"displayName_ru\": \"Увеличение урона от кинетических ракет\", \n    \"displayName_zh\": \"动能导弹伤害加成\", \n    \"displayNameID\": 631461, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 117, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2179\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Small Hybrid Turret Damage Bonus\", \n    \"displayName_de\": \"Schadensbonus auf kleine Hybridgeschütztürme\", \n    \"displayName_en-us\": \"Small Hybrid Turret Damage Bonus\", \n    \"displayName_es\": \"Bonificación de daño de torreta híbrida pequeña\", \n    \"displayName_fr\": \"Bonus de dégâts des petites tourelles hybrides\", \n    \"displayName_it\": \"Small Hybrid Turret Damage Bonus\", \n    \"displayName_ja\": \"小型ハイブリッドタレットダメージボーナス\", \n    \"displayName_ko\": \"소형 하이브리드 터렛 피해량 보너스\", \n    \"displayName_ru\": \"Увеличение урона от малых гибридных орудий\", \n    \"displayName_zh\": \"小型混合炮台伤害加成\", \n    \"displayNameID\": 631462, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 64, \n        \"skillID\": 3301\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2180\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Small Hybrid Turret Optimal Bonus\", \n    \"displayName_de\": \"Bonus auf optimale Reichweite von kleinen Hybridgeschütztürmen\", \n    \"displayName_en-us\": \"Small Hybrid Turret Optimal Range Bonus\", \n    \"displayName_es\": \"Bonificación de alcance óptimo de torreta híbrida pequeña\", \n    \"displayName_fr\": \"Bonus de portée optimale des petites tourelles hybrides\", \n    \"displayName_it\": \"Small Hybrid Turret Optimal Range Bonus\", \n    \"displayName_ja\": \"小型ハイブリッドタレット最適射程距離ボーナス\", \n    \"displayName_ko\": \"소형 하이브리드 터렛 최적사거리 보너스\", \n    \"displayName_ru\": \"Бонус к оптимальной дальности малых гибридных орудий\", \n    \"displayName_zh\": \"小型混合炮台最佳射程加成\", \n    \"displayNameID\": 631463, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 54, \n        \"skillID\": 3301\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2184\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving Nos Override\", \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 1945\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2185\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Tethering Restricted By Security\", \n    \"displayName_de\": \"Anbindung ist blockiert\", \n    \"displayName_en-us\": \"Tether blocked\", \n    \"displayName_es\": \"Amarre bloqueado\", \n    \"displayName_fr\": \"Accostage verrouillé\", \n    \"displayName_it\": \"Tether blocked\", \n    \"displayName_ja\": \"テザリングブロック中\", \n    \"displayName_ko\": \"테더링 차단\", \n    \"displayName_ru\": \"Швартовка недоступна\", \n    \"displayName_zh\": \"驻留被阻止\", \n    \"displayNameID\": 639276, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2343\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2186\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Proving AB/MWD Speed Increase\", \n    \"displayName_de\": \"Bonus auf die Geschwindigkeitserhöhung von Nachbrenner-/Mikrowarpantrieb-Modulen\", \n    \"displayName_en-us\": \"AB/MWD module speed increase bonus\", \n    \"displayName_es\": \"Bonificación de aumento de velocidad de módulo de PQ/MMW\", \n    \"displayName_fr\": \"Bonus à la vitesse des SPC/PMW\", \n    \"displayName_it\": \"AB/MWD module speed increase bonus\", \n    \"displayName_ja\": \"AB/MWDモジュールのスピード増加量ボーナス\", \n    \"displayName_ko\": \"애프터버너/마이크로 워프 드라이브 최대 속도 증가\", \n    \"displayName_ru\": \"Увеличение скорости форсажных и микроварп-ускорителей\", \n    \"displayName_zh\": \"加力燃烧器/微型跃迁推进器速度增量加成\", \n    \"displayNameID\": 639612, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 20, \n        \"skillID\": 3450\n      }, \n      {\n        \"dogmaAttributeID\": 20, \n        \"skillID\": 3454\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2187\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Proving AB/MWD Cap Need Reduction\", \n    \"displayName_de\": \"Bonus auf den Energiespeicherbedarf von Nachbrennern/Mikrowarpantrieben\", \n    \"displayName_en-us\": \"AB/MWD capacitor consumption bonus\", \n    \"displayName_es\": \"Bonificación de consumo del condensador de PQ/MMW\", \n    \"displayName_fr\": \"Bonus à la consommation de capaciteur des SPC/PMW\", \n    \"displayName_it\": \"AB/MWD capacitor consumption bonus\", \n    \"displayName_ja\": \"AB/MWDのキャパシタ消費量ボーナス\", \n    \"displayName_ko\": \"애프터버너/마이크로 워프 드라이브 캐패시터 사용량 감소\", \n    \"displayName_ru\": \"Снижение расхода энергии форсажных и микроварп-ускорителей\", \n    \"displayName_zh\": \"加力燃烧器/微型跃迁推进器电容消耗加成\", \n    \"displayNameID\": 639613, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 3450\n      }, \n      {\n        \"dogmaAttributeID\": 6, \n        \"skillID\": 3454\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2201\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Remote Repair Impedance\", \n    \"displayName_de\": \"Fernreparatur-Impedanz\", \n    \"displayName_en-us\": \"Remote Repair Impedance\", \n    \"displayName_es\": \"Impedancia de reparación remota\", \n    \"displayName_fr\": \"Impédance de la réparation à distance\", \n    \"displayName_it\": \"Remote Repair Impedance\", \n    \"displayName_ja\": \"リモートリペアインピーダンス\", \n    \"displayName_ko\": \"원격 수리 임피던스\", \n    \"displayName_ru\": \"Ослабление дистанционного ремонта\", \n    \"displayName_zh\": \"远程维修阻抗\", \n    \"displayNameID\": 662014, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2116\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2405\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Insurgency Suppression Bonus: Interdiction Range\", \n    \"displayName_de\": \"Reichweitenbonus auf Stasisnetz und Warpunterbrecher für Anti-Piraten\", \n    \"displayName_en-us\": \"Webifier and scrambler range bonus for anti-pirates\", \n    \"displayName_es\": \"Bonificación al alcance de la red ralentizadora y el distorsionador para antipiratas\", \n    \"displayName_fr\": \"Bonus de portée de générateur de stase et d'inhibiteur pour les antipirates\", \n    \"displayName_it\": \"Webifier and scrambler range bonus for anti-pirates\", \n    \"displayName_ja\": \"対海賊勢力のウェビファイヤーとスクランブラーの射程ボーナス\", \n    \"displayName_ko\": \"진압군 스테이시스 웹 생성기 및 워프 스크램블러 사거리 증가\", \n    \"displayName_ru\": \"Бонус к дальности стазис-индуктора и варп-глушителя для борцов с пиратами\", \n    \"displayName_zh\": \"反海盗势力的停滞缠绕光束和跃迁扰频器距离加成\", \n    \"displayNameID\": 698669, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 54, \n        \"groupID\": 65\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 54, \n        \"skillID\": 3449\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2414\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"CDCloudVelocity\", \n    \"displayName_de\": \"Schiffsgeschwindigkeit\", \n    \"displayName_en-us\": \"Ship Velocity\", \n    \"displayName_es\": \"Velocidad de nave\", \n    \"displayName_fr\": \"Vitesse du vaisseau\", \n    \"displayName_it\": \"Ship Velocity\", \n    \"displayName_ja\": \"航行速度\", \n    \"displayName_ko\": \"함선 속도\", \n    \"displayName_ru\": \"Скорость корабля\", \n    \"displayName_zh\": \"舰船最大速度\", \n    \"displayNameID\": 708733, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2415\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"CDCloudInertia\", \n    \"displayName_de\": \"Ship Inertia\", \n    \"displayName_en-us\": \"Ship Inertia\", \n    \"displayName_es\": \"Inercia de la nave\", \n    \"displayName_fr\": \"Ship Inertia\", \n    \"displayName_it\": \"Ship Inertia\", \n    \"displayName_ja\": \"艦船の慣性\", \n    \"displayName_ko\": \"관성 계수\", \n    \"displayName_ru\": \"Ship Inertia\", \n    \"displayName_zh\": \"舰船惯性调整系数\", \n    \"displayNameID\": 708734, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 70\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2416\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"CDCloudCapShieldRecharge\", \n    \"displayName_de\": \"Schild- und Energiespeicherladezeit\", \n    \"displayName_en-us\": \"Shield and Capacitor Recharge Rate\", \n    \"displayName_es\": \"Índice de carga del condensador y del escudo\", \n    \"displayName_fr\": \"Vitesse de recharge du bouclier et du capaciteur\", \n    \"displayName_it\": \"Shield and Capacitor Recharge Rate\", \n    \"displayName_ja\": \"シールドとキャパシタの充電速度\", \n    \"displayName_ko\": \"실드 및 캐패시터 충전 속도\", \n    \"displayName_ru\": \"Скорость перезарядки щита и накопителя\", \n    \"displayName_zh\": \"护盾和电容回充速率\", \n    \"displayNameID\": 708735, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 55\n      }, \n      {\n        \"dogmaAttributeID\": 479\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2417\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"CDCloudModuleCycle\", \n    \"displayName_de\": \"Modulzyklus und Nachladegeschwindigkeit\", \n    \"displayName_en-us\": \"Module Cycle and Reload Speed\", \n    \"displayName_es\": \"Velocidad de carga y ciclo de módulo\", \n    \"displayName_fr\": \"Cycle des modules et vitesse de rechargement\", \n    \"displayName_it\": \"Module Cycle and Reload Speed\", \n    \"displayName_ja\": \"モジュールのサイクルとリロード速度\", \n    \"displayName_ko\": \"모듈 사이클 시간 및 재장전 속도\", \n    \"displayName_ru\": \"Время и скорость перезарядки модуля\", \n    \"displayName_zh\": \"装备循环时间和装填速度\", \n    \"displayNameID\": 708736, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 51\n      }, \n      {\n        \"dogmaAttributeID\": 73\n      }, \n      {\n        \"dogmaAttributeID\": 1795\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2418\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"CDCloudTracking\", \n    \"displayName_de\": \"Geschützturm-Nachführung und Lenkwaffen-Explosionsgeschwindigkeit\", \n    \"displayName_en-us\": \"Turret Tracking and Missile Explosion Velocity\", \n    \"displayName_es\": \"Velocidad de rastreo de torretas y explosión de misiles\", \n    \"displayName_fr\": \"Poursuite des tourelles et vitesse d'explosion de missile\", \n    \"displayName_it\": \"Turret Tracking and Missile Explosion Velocity\", \n    \"displayName_ja\": \"タレットの追跡速度とミサイルの爆発速度\", \n    \"displayName_ko\": \"터렛 트래킹 및 미사일 폭발 속도\", \n    \"displayName_ru\": \"Скорость наведения орудий и распространения взрыва ракет\", \n    \"displayName_zh\": \"炮台跟踪速度和导弹爆炸速度\", \n    \"displayNameID\": 708737, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 160, \n        \"skillID\": 3300\n      }, \n      {\n        \"dogmaAttributeID\": 653, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2419\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Anti-Tachyon Cloud Velocity Penalty\", \n    \"displayName_de\": \"Schiffsgeschwindigkeit\", \n    \"displayName_en-us\": \"Ship Velocity\", \n    \"displayName_es\": \"Velocidad de nave\", \n    \"displayName_fr\": \"Vitesse du vaisseau\", \n    \"displayName_it\": \"Ship Velocity\", \n    \"displayName_ja\": \"航行速度\", \n    \"displayName_ko\": \"함선 속도\", \n    \"displayName_ru\": \"Скорость корабля\", \n    \"displayName_zh\": \"舰船最大速度\", \n    \"displayNameID\": 709266, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2420\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Anti-Tachyon Cloud Inertia Penalty\", \n    \"displayName_de\": \"Schiffsträgheit\", \n    \"displayName_en-us\": \"Ship Inertia\", \n    \"displayName_es\": \"Inercia de la nave\", \n    \"displayName_fr\": \"Inertie du vaisseau\", \n    \"displayName_it\": \"Ship Inertia\", \n    \"displayName_ja\": \"艦船の慣性\", \n    \"displayName_ko\": \"관성 계수\", \n    \"displayName_ru\": \"Инертность корабля\", \n    \"displayName_zh\": \"舰船惯性调整系数\", \n    \"displayNameID\": 709267, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 70\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2421\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Anti-Tachyon Cloud Signature Radius  Bonus\", \n    \"displayName_de\": \"Signaturradius\", \n    \"displayName_en-us\": \"Signature Radius\", \n    \"displayName_es\": \"Radio de la señal\", \n    \"displayName_fr\": \"Rayon de signature\", \n    \"displayName_it\": \"Signature Radius\", \n    \"displayName_ja\": \"シグネチャ半径\", \n    \"displayName_ko\": \"시그니처 반경\", \n    \"displayName_ru\": \"Радиус сигнатуры\", \n    \"displayName_zh\": \"信号半径\", \n    \"displayNameID\": 709278, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 552\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2426\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Disable MJDs\", \n    \"displayName_de\": \"Mikrosprungantrieb blockiert\", \n    \"displayName_en-us\": \"Micro Jump Drive Blocked\", \n    \"displayName_es\": \"Motor de microsalto bloqueado\", \n    \"displayName_fr\": \"Propulseur de microsaut bloqué\", \n    \"displayName_it\": \"Micro Jump Drive Blocked\", \n    \"displayName_ja\": \"マイクロジャンプドライブの妨害\", \n    \"displayName_ko\": \"마이크로 점프 드라이브 차단됨\", \n    \"displayName_ru\": \"Маневровый гипердвигатель выведен из строя\", \n    \"displayName_zh\": \"已阻止微型跳跃引擎\", \n    \"displayNameID\": 722294, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 1349, \n        \"skillID\": 4385\n      }\n    ], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2427\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Set Speed Limit\", \n    \"displayName_de\": \"Geschwindigkeitsbegrenzung angewendet\", \n    \"displayName_en-us\": \"Speed Limit Applied\", \n    \"displayName_es\": \"Límite de velocidad aplicada\", \n    \"displayName_fr\": \"Limite de vitesse appliquée\", \n    \"displayName_it\": \"Speed Limit Applied\", \n    \"displayName_ja\": \"速度制限の適用\", \n    \"displayName_ko\": \"속도 제한 적용됨\", \n    \"displayName_ru\": \"Установлено ограничение скорости\", \n    \"displayName_zh\": \"已应用速度限制\", \n    \"displayNameID\": 722295, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2033\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2428\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"MJFG Blocked\", \n    \"displayName_de\": \"Mikrosprungfeldgenerator blockiert\", \n    \"displayName_en-us\": \"Micro Jump Field Generator Blocked\", \n    \"displayName_es\": \"Generador de campo de microsalto bloqueado\", \n    \"displayName_fr\": \"Générateur de champ de microsaut bloqué\", \n    \"displayName_it\": \"Micro Jump Field Generator Blocked\", \n    \"displayName_ja\": \"マイクロジャンプフィールドジェネレーター使用不可\", \n    \"displayName_ko\": \"마이크로 점프 필드 생성기 차단됨\", \n    \"displayName_ru\": \"Генератор разгонного поля выведен из строя\", \n    \"displayName_zh\": \"已阻止微型跳跃力场发生器\", \n    \"displayNameID\": 721861, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 5694\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2429\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Disable Tractor Beam Repeating Activation\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 1014, \n        \"groupID\": 650\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2433\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sov System Modifier Shield HP Bonus\", \n    \"displayName_de\": \"HP-Bonus für Schilde\", \n    \"displayName_en-us\": \"Shield Hitpoint Bonus\", \n    \"displayName_es\": \"Bonif. de puntos de vida del escudo\", \n    \"displayName_fr\": \"Bonus de points de vie du bouclier\", \n    \"displayName_it\": \"Shield Hitpoint Bonus\", \n    \"displayName_ja\": \"シールドHPボーナス\", \n    \"displayName_ko\": \"실드 내구도 보너스\", \n    \"displayName_ru\": \"Влияние на запас прочности щитов\", \n    \"displayName_zh\": \"护盾值加成\", \n    \"displayNameID\": 1011194, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 263\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2434\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sov System Modifier Capacitor Capacity Bonus\", \n    \"displayName_de\": \"Bonus auf Energiespeicherkapazität\", \n    \"displayName_en-us\": \"Capacitor Capacity Bonus\", \n    \"displayName_es\": \"Bonif. de capacidad del condensador\", \n    \"displayName_fr\": \"Bonus de capacité du capaciteur\", \n    \"displayName_it\": \"Capacitor Capacity Bonus\", \n    \"displayName_ja\": \"キャパシタ容量ボーナス\", \n    \"displayName_ko\": \"캐패시터 용량 보너스\", \n    \"displayName_ru\": \"Влияние на ёмкость накопителя\", \n    \"displayName_zh\": \"电容器容量加成\", \n    \"displayNameID\": 1011195, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 482\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2435\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sov System Modifier Armor HP Bonus\", \n    \"displayName_de\": \"HP-Bonus für Panzerung\", \n    \"displayName_en-us\": \"Armor Hitpoint Bonus\", \n    \"displayName_es\": \"Bonif. de puntos de vida del blindaje\", \n    \"displayName_fr\": \"Bonus de PV du blindage\", \n    \"displayName_it\": \"Armor Hitpoint Bonus\", \n    \"displayName_ja\": \"アーマーHPボーナス\", \n    \"displayName_ko\": \"장갑 내구도 보너스\", \n    \"displayName_ru\": \"Увеличение запаса прочности брони\", \n    \"displayName_zh\": \"装甲值加成\", \n    \"displayNameID\": 1011201, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 265\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2436\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sov System Modifier Overheating Bonus - Includes Ewar\", \n    \"displayName_de\": \"Modul-Überladungsbonus\", \n    \"displayName_en-us\": \"Module Overload Bonus\", \n    \"displayName_es\": \"Bonificación de sobrecarga de módulo\", \n    \"displayName_fr\": \"Bonus de surcharge du module\", \n    \"displayName_it\": \"Module Overload Bonus\", \n    \"displayName_ja\": \"モジュールオーバーロードボーナス\", \n    \"displayName_ko\": \"모듈 과부하 보너스\", \n    \"displayName_ru\": \"Бонус к перегрузке модулей\", \n    \"displayName_zh\": \"装备超载加成\", \n    \"displayNameID\": 1011202, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [\n      {\n        \"dogmaAttributeID\": 1181\n      }, \n      {\n        \"dogmaAttributeID\": 1205\n      }, \n      {\n        \"dogmaAttributeID\": 1206\n      }, \n      {\n        \"dogmaAttributeID\": 1208\n      }, \n      {\n        \"dogmaAttributeID\": 1210\n      }, \n      {\n        \"dogmaAttributeID\": 1222\n      }, \n      {\n        \"dogmaAttributeID\": 1223\n      }, \n      {\n        \"dogmaAttributeID\": 1225\n      }, \n      {\n        \"dogmaAttributeID\": 1226\n      }, \n      {\n        \"dogmaAttributeID\": 1230\n      }, \n      {\n        \"dogmaAttributeID\": 1231\n      }, \n      {\n        \"dogmaAttributeID\": 1935\n      }, \n      {\n        \"dogmaAttributeID\": 1936\n      }, \n      {\n        \"dogmaAttributeID\": 1937\n      }\n    ], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2437\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sov System Modifier Capacitor Recharge Bonus\", \n    \"displayName_de\": \"Energiespeicher-Wiederaufladebonus\", \n    \"displayName_en-us\": \"Capacitor Recharge Bonus\", \n    \"displayName_es\": \"Bonificación de carga del condensador\", \n    \"displayName_fr\": \"Bonus de recharge du capaciteur\", \n    \"displayName_it\": \"Capacitor Recharge Bonus\", \n    \"displayName_ja\": \"キャパシタリチャージボーナス\", \n    \"displayName_ko\": \"캐패시터 충전 보너스\", \n    \"displayName_ru\": \"Влияние на перезарядку накопителя\", \n    \"displayName_zh\": \"电容回充量加成\", \n    \"displayNameID\": 1011203, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 55\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2438\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sov System Modifier Targeting and DScan Range Bonus\", \n    \"displayName_de\": \"Reichweitebonus für Zielerfassung und Richtungsscanner\", \n    \"displayName_en-us\": \"Targeting and Directional Scanner Range Bonus\", \n    \"displayName_es\": \"Bonificación al alcance de adquisición de objetivos y escáner direccional\", \n    \"displayName_fr\": \"Bonus de portée pour le ciblage et le scanner directionnel\", \n    \"displayName_it\": \"Targeting and Directional Scanner Range Bonus\", \n    \"displayName_ja\": \"ターゲティングと指向性スキャナーの範囲ボーナス\", \n    \"displayName_ko\": \"타겟팅 및 전방위 스캐너 범위 보너스\", \n    \"displayName_ru\": \"Влияние на дальность наведения и дальность пеленгатора\", \n    \"displayName_zh\": \"锁定和定向扫描仪范围加成\", \n    \"displayNameID\": 1011204, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 76\n      }, \n      {\n        \"dogmaAttributeID\": 5796\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2439\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sov System Modifier Scan Resolution Bonus\", \n    \"displayName_de\": \"Scanauflösungsbonus\", \n    \"displayName_en-us\": \"Scan Resolution Bonus\", \n    \"displayName_es\": \"Bonificación de resolución de escaneo\", \n    \"displayName_fr\": \"Bonus de résolution du balayage\", \n    \"displayName_it\": \"Scan Resolution Bonus\", \n    \"displayName_ja\": \"スキャン分解能ボーナス\", \n    \"displayName_ko\": \"스캔 정밀도 보너스\", \n    \"displayName_ru\": \"Влияние на разрешающую способность сенсоров\", \n    \"displayName_zh\": \"扫描分辨率加成\", \n    \"displayNameID\": 1011205, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 564\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2440\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sov System Modifier Warp Speed Addition\", \n    \"displayName_de\": \"AE/s zusätzliche Basis-Warpgeschwindigkeit\", \n    \"displayName_en-us\": \"AU/s Additional Base Warp Speed\", \n    \"displayName_es\": \"UA/s de velocidad de warp base adicional\", \n    \"displayName_fr\": \"UA/s de vitesse de warp de base supplémentaire\", \n    \"displayName_it\": \"AU/s Additional Base Warp Speed\", \n    \"displayName_ja\": \"基本ワープ速度に追加される速度（AU/秒）\", \n    \"displayName_ko\": \"기본 워프 속도 증가\", \n    \"displayName_ru\": \"Доп. базовая скорость хода в варп-режиме в а. е./сек.\", \n    \"displayName_zh\": \"基础跃迁速度+AU/s\", \n    \"displayNameID\": 1011206, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 600\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2441\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sov System Modifier Shield Booster Bonus\", \n    \"displayName_de\": \"Bonus für lokalen Schildbooster\", \n    \"displayName_en-us\": \"Local Shield Booster Bonus\", \n    \"displayName_es\": \"Bonificación de potenciador de escudo local\", \n    \"displayName_fr\": \"Bonus au booster de bouclier local\", \n    \"displayName_it\": \"Local Shield Booster Bonus\", \n    \"displayName_ja\": \"ローカルシールドブースターボーナス\", \n    \"displayName_ko\": \"실드 부스터 보너스\", \n    \"displayName_ru\": \"Бонус для местного модуля накачки щитов\", \n    \"displayName_zh\": \"自身护盾回充增量器加成\", \n    \"displayNameID\": 1015276, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 68, \n        \"skillID\": 3416\n      }, \n      {\n        \"dogmaAttributeID\": 68, \n        \"skillID\": 21802\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2442\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sov System Modifier Armor Repairer Bonus\", \n    \"displayName_de\": \"Bonus für Panzerungsreparatursystem\", \n    \"displayName_en-us\": \"Local Armor Repairer Bonus\", \n    \"displayName_es\": \"Bonificación de reparador de blindaje local\", \n    \"displayName_fr\": \"Bonus au réparateur de blindage local\", \n    \"displayName_it\": \"Local Armor Repairer Bonus\", \n    \"displayName_ja\": \"ローカルアーマーリペアラボーナス\", \n    \"displayName_ko\": \"장갑수리 장치 보너스\", \n    \"displayName_ru\": \"Бонус для местной установки ремонта брони\", \n    \"displayName_zh\": \"自身装甲维修器加成\", \n    \"displayNameID\": 1015333, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 84, \n        \"skillID\": 3393\n      }, \n      {\n        \"dogmaAttributeID\": 84, \n        \"skillID\": 21803\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2464\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Expedition Burst: Probe Strength \", \n    \"displayName_de\": \"Bonus auf Stärke von Scansonden\", \n    \"displayName_en-us\": \"Scan Probe Strength Bonus\", \n    \"displayName_es\": \"Bonificación de intensidad de la sonda de escaneo\", \n    \"displayName_fr\": \"Bonus de puissance de balayage de sonde\", \n    \"displayName_it\": \"Scan Probe Strength Bonus\", \n    \"displayName_ja\": \"スキャンプローブ強度ボーナス\", \n    \"displayName_ko\": \"스캔 프로브 강도 보너스\", \n    \"displayName_ru\": \"Прибавка к эффективности поиска разведзондами\", \n    \"displayName_zh\": \"扫描探针强度加成\", \n    \"displayNameID\": 1017848, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 6118, \n        \"skillID\": 3412\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2465\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Expedition Burst: Directional Scanner, Hacking and Salvager Range\", \n    \"displayName_de\": \"Reichweitenbonus auf Richtungsscanner-, Hacking- und Bergungsmodule\", \n    \"displayName_en-us\": \"Directional scanner, hacking and salvager module range bonus\", \n    \"displayName_es\": \"Bonificación de alcance de escáner direccional, hackeo y módulo recuperador\", \n    \"displayName_fr\": \"Bonus de portée du scanner directionnel, du piratage et du module récupérateur\", \n    \"displayName_it\": \"Directional scanner, hacking and salvager module range bonus\", \n    \"displayName_ja\": \"指向性スキャナー、ハッキング、サルベージャーモジュールの射程ボーナス\", \n    \"displayName_ko\": \"전방위 스캐너, 해킹 및 샐비지 모듈 거리 보너스\", \n    \"displayName_ru\": \"Увеличение дальности пеленгаторов, модулей взлома и демонтажа\", \n    \"displayName_zh\": \"定向扫描器、破译装备和打捞器范围加成\", \n    \"displayNameID\": 1017853, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 5796\n      }\n    ], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 54, \n        \"groupID\": 538\n      }, \n      {\n        \"dogmaAttributeID\": 54, \n        \"groupID\": 1122\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2466\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Expedition Burst: Maximum Scan Deviation Modifier\", \n    \"displayName_de\": \"Bonus auf Abweichung von Scansonden\", \n    \"displayName_en-us\": \"Scan Probe Deviation Bonus\", \n    \"displayName_es\": \"Bonificación de desviación de sondas de escaneo\", \n    \"displayName_fr\": \"Bonus à la déviation de balayage de sonde\", \n    \"displayName_it\": \"Scan Probe Deviation Bonus\", \n    \"displayName_ja\": \"スキャンプローブ誤差ボーナス\", \n    \"displayName_ko\": \"스캔 프로브 오차 보너스\", \n    \"displayName_ru\": \"Уменьшение отклонения для разведзондов\", \n    \"displayName_zh\": \"探针扫描偏差加成\", \n    \"displayNameID\": 1017854, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 6119, \n        \"skillID\": 3412\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2468\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Expedition Burst: Virus Coherence\", \n    \"displayName_de\": \"Kohärenzbonus des Analysegeräts\", \n    \"displayName_en-us\": \"Analyzer Coherence Bonus\", \n    \"displayName_es\": \"Bonificación de coherencia de analizador\", \n    \"displayName_fr\": \"Bonus de résistance de l'analyseur\", \n    \"displayName_it\": \"Analyzer Coherence Bonus\", \n    \"displayName_ja\": \"アナライザーコヒーレンスボーナス\", \n    \"displayName_ko\": \"분석기 결합도 보너스\", \n    \"displayName_ru\": \"Прибавка к целостности вируса анализатора\", \n    \"displayName_zh\": \"分析仪同步率加成\", \n    \"displayNameID\": 1017921, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 1909, \n        \"groupID\": 538\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2473\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Disable Smart Bomb Activation\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 1349, \n        \"groupID\": 72\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2474\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Mining Burst: Enhanced Mining Scanner\", \n    \"displayName_de\": \"Verbesserter Bergbauvermesser\", \n    \"displayName_en-us\": \"Enhanced Mining Surveyor\", \n    \"displayName_es\": \"Topógrafo minero mejorado\", \n    \"displayName_fr\": \"Arpenteur d'extraction minière amélioré\", \n    \"displayName_it\": \"Enhanced Mining Surveyor\", \n    \"displayName_ja\": \"強化型採掘サーベイヤー\", \n    \"displayName_ko\": \"향상된 채굴 탐사선\", \n    \"displayName_ru\": \"Улучшенный считыватель сырья\", \n    \"displayName_zh\": \"增强型采矿勘测仪\", \n    \"displayNameID\": 1021435, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 5979\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostAssignment\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2480\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Connected to PhaseStabilizer\", \n    \"displayName_de\": \"Verbunden\", \n    \"displayName_en-us\": \"Connected\", \n    \"displayName_es\": \"Conectada\", \n    \"displayName_fr\": \"Connecté\", \n    \"displayName_it\": \"Connected\", \n    \"displayName_ja\": \"接続済\", \n    \"displayName_ko\": \"접속됨\", \n    \"displayName_ru\": \"Подключен\", \n    \"displayName_zh\": \"已连接\", \n    \"displayNameID\": 1022189, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 6042\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2481\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Expedition Burst: Salvager duration bonus\", \n    \"displayName_de\": \"Bonus auf Dauer von Bergungsmodulen\", \n    \"displayName_en-us\": \"Salvager Module Duration Bonus\", \n    \"displayName_es\": \"Bonificación de duración del módulo recuperador\", \n    \"displayName_fr\": \"Bonus à la durée du module récupérateur\", \n    \"displayName_it\": \"Salvager Module Duration Bonus\", \n    \"displayName_ja\": \"サルベージャーモジュール継続時間ボーナス\", \n    \"displayName_ko\": \"샐비저 모듈 지속 시간 보너스\", \n    \"displayName_ru\": \"Увеличение времени работы демонтажных модулей\", \n    \"displayName_zh\": \"打捞器持续时间加成\", \n    \"displayNameID\": 1022798, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 25863\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2482\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 1 - Warp Speed\", \n    \"displayName_de\": \"Warpgeschwindigkeitsbonus (Thera)\", \n    \"displayName_en-us\": \"Warp Speed Bonus (Thera)\", \n    \"displayName_es\": \"Bonificación de velocidad de warp (Thera)\", \n    \"displayName_fr\": \"Bonus de vitesse de warp (Thera)\", \n    \"displayName_it\": \"Warp Speed Bonus (Thera)\", \n    \"displayName_ja\": \"ワープ速度ボーナス（テラ）\", \n    \"displayName_ko\": \"워프 속도 보너스(테라)\", \n    \"displayName_ru\": \"Ускорение хода в варп-режиме (Thera)\", \n    \"displayName_zh\": \"跃迁速度加成（席拉）\", \n    \"displayNameID\": 1025503, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 600\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2483\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 2 - Heat Damage Reduction\", \n    \"displayName_de\": \"Modul-Hitzeschadenreduktion (Turnur-Nachwirkung)\", \n    \"displayName_en-us\": \"Module Heat Damage Reduction (Turnur Aftermath)\", \n    \"displayName_es\": \"Reducción de daño por calor del módulo (Secuelas de Turnur)\", \n    \"displayName_fr\": \"Réduction des dégâts thermiques du module (Répercussions de Turnur)\", \n    \"displayName_it\": \"Module Heat Damage Reduction (Turnur Aftermath)\", \n    \"displayName_ja\": \"モジュール熱ダメージ減少（ターナーの余波）\", \n    \"displayName_ko\": \"모듈 과부하 피해 감소(투르누르 폐허)\", \n    \"displayName_ru\": \"Снижение теплового урона для модулей (Turnur после катастрофы)\", \n    \"displayName_zh\": \"装备超载伤害降低（图尔鲁尔余波）\", \n    \"displayNameID\": 1025518, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [\n      {\n        \"dogmaAttributeID\": 1211\n      }\n    ], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2484\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 3 - Structure Hitpoint Bonus\", \n    \"displayName_de\": \"Bonus auf Rumpf-HP (Zarzakh-Gravitationsgefahr)\", \n    \"displayName_en-us\": \"Hull Hitpoint Bonus (Zarzakh Gravity Hazard)\", \n    \"displayName_es\": \"Bonificación de puntos de vida del casco (peligro de gravedad de Zarzakh)\", \n    \"displayName_fr\": \"Bonus de points de vie de la coque (danger gravitationnel de Zarzakh)\", \n    \"displayName_it\": \"Hull Hitpoint Bonus (Zarzakh Gravity Hazard)\", \n    \"displayName_ja\": \"船体HPボーナス（ザルザクの重力災害）\", \n    \"displayName_ko\": \"선체 내구도 보너스(자르자크 중력파 충격)\", \n    \"displayName_ru\": \"Увеличение прочности корпуса (гравитационные волны в Zarzakh)\", \n    \"displayName_zh\": \"船体HP加成（扎尔扎克引力危害）\", \n    \"displayNameID\": 1025519, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 9\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2485\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 4 - Web Resistance\", \n    \"displayName_de\": \"Netz-Resistenz (Spurenkosmos)\", \n    \"displayName_en-us\": \"Web Resistance (Trace Cosmos)\", \n    \"displayName_es\": \"Resistencia a redes ralentizadoras (Cosmos de Vestigios)\", \n    \"displayName_fr\": \"Résistance de stase (Trace Cosmos)\", \n    \"displayName_it\": \"Web Resistance (Trace Cosmos)\", \n    \"displayName_ja\": \"ウェビファイヤーへのレジスタンス（トレースコスモス）\", \n    \"displayName_ko\": \"스테이시스 웹 저항력(트레이스 코스모스)\", \n    \"displayName_ru\": \"+ к сопротивляемости стазис-индукции (Рубцы космоса)\", \n    \"displayName_zh\": \"光束抗性（宇宙之痕）\", \n    \"displayNameID\": 1025520, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2115\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2486\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 5 - Max Velocity\", \n    \"displayName_de\": \"Maximalgeschwindigkeit (EVE-Gate)\", \n    \"displayName_en-us\": \"Max Velocity (EVE Gate)\", \n    \"displayName_es\": \"Velocidad máxima (Portal de EVE)\", \n    \"displayName_fr\": \"Vitesse maximale (EVE Gate)\", \n    \"displayName_it\": \"Max Velocity (EVE Gate)\", \n    \"displayName_ja\": \"最高速度（EVE Gate）\", \n    \"displayName_ko\": \"최대 속도(이브 게이트)\", \n    \"displayName_ru\": \"Увеличение максимальной скорости (врата EVE)\", \n    \"displayName_zh\": \"最大速度（EVE之门）\", \n    \"displayNameID\": 1025521, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2487\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 6 - Warp Speed\", \n    \"displayName_de\": \"Warpgeschwindigkeitsbonus (Reservoir der Ausstrahlung)\", \n    \"displayName_en-us\": \"Warp Speed Bonus (Pool of Radiance)\", \n    \"displayName_es\": \"Bonificación de velocidad de warp (Laguna de Fulgor)\", \n    \"displayName_fr\": \"Bonus à la vitesse de warp (Pool of Radiance)\", \n    \"displayName_it\": \"Warp Speed Bonus (Pool of Radiance)\", \n    \"displayName_ja\": \"ワープ速度ボーナス（輝きの淵）\", \n    \"displayName_ko\": \"워프 속도 보너스(레디언스 풀)\", \n    \"displayName_ru\": \"Ускорение хода в варп-режиме (Сияющий пруд)\", \n    \"displayName_zh\": \"跃迁速度加成（眩光池）\", \n    \"displayNameID\": 1025532, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 600\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2488\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 7 - Probe Strength\", \n    \"displayName_de\": \"Bonus auf Scanleistung von Sonden (Denkmal von Katia Sae)\", \n    \"displayName_en-us\": \"Probe Scan Strength Bonus (Katia Sae Memorial)\", \n    \"displayName_es\": \"Bonificación de intensidad del escaneo de sonda (Monumento a Katia Sae)\", \n    \"displayName_fr\": \"Bonus de puissance de balayage de sonde (Mémorial de Katia Sae)\", \n    \"displayName_it\": \"Probe Scan Strength Bonus (Katia Sae Memorial)\", \n    \"displayName_ja\": \"プローブスキャン強度ボーナス（カティア・サエ記念碑）\", \n    \"displayName_ko\": \"프로브 스캔 강도 보너스('Katia Sae의 여정' 기념비)\", \n    \"displayName_ru\": \"Прибавка к эффективности поиска разведзондами (памятник экспедиции Katia Sae)\", \n    \"displayName_zh\": \"探针扫描强度加成（Katia Sae纪念碑）\", \n    \"displayNameID\": 1025522, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 6118, \n        \"skillID\": 3412\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2489\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 8 - Warp Speed\", \n    \"displayName_de\": \"Warpgeschwindigkeitsbonus (Cord of the Elements)\", \n    \"displayName_en-us\": \"Warp Speed Bonus (Cord of the Elements)\", \n    \"displayName_es\": \"Bonificación de velocidad de warp (Cordón de los Elementos)\", \n    \"displayName_fr\": \"Bonus de vitesse de warp (Cord of the Elements)\", \n    \"displayName_it\": \"Warp Speed Bonus (Cord of the Elements)\", \n    \"displayName_ja\": \"ワープ速度ボーナス（コードオブエレメンタル）\", \n    \"displayName_ko\": \"워프 속도 보너스(엘리먼트 코드)\", \n    \"displayName_ru\": \"Ускорение хода в варп-режиме (Хребет стихий)\", \n    \"displayName_zh\": \"跃迁速度加成（考得）\", \n    \"displayNameID\": 1025523, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 600\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2490\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 9 - Salvager Cycle Time\", \n    \"displayName_de\": \"Bonus auf Bergungsmoduldauer (Schlacht von Vak’Atioth)\", \n    \"displayName_en-us\": \"Salvager Module Duration Bonus (Battle of Vak'Atioth)\", \n    \"displayName_es\": \"Bonificación de duración del módulo recuperador (Batalla de Vak'Atioth)\", \n    \"displayName_fr\": \"Bonus à la durée du module récupérateur (bataille de Vak'Atioth)\", \n    \"displayName_it\": \"Salvager Module Duration Bonus (Battle of Vak'Atioth)\", \n    \"displayName_ja\": \"サルベージャーモジュール継続時間ボーナス（ヴァカチオスの戦い）\", \n    \"displayName_ko\": \"샐비저 모듈 지속 시간 보너스(바크 아티오스 전투)\", \n    \"displayName_ru\": \"Увеличение времени работы демонтажных модулей (бой за Вак'Атиот)\", \n    \"displayName_zh\": \"打捞器持续时间加成（瓦克艾蒂斯之战）\", \n    \"displayNameID\": 1025524, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 25863\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2491\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 10 - Salvager Cycle Time\", \n    \"displayName_de\": \"Bonus auf Dauer von Bergungsmodulen (M2-XFE-Massaker)\", \n    \"displayName_en-us\": \"Salvager Module Duration Bonus (M2-XFE Massacre)\", \n    \"displayName_es\": \"Bonificación de duración del módulo recuperador (Masacre de M2-XFE)\", \n    \"displayName_fr\": \"Bonus à la durée du module récupérateur (Massacre en M2-XFE)\", \n    \"displayName_it\": \"Salvager Module Duration Bonus (M2-XFE Massacre)\", \n    \"displayName_ja\": \"サルベージャーモジュール継続時間ボーナス（M2-XFEでの虐殺）\", \n    \"displayName_ko\": \"샐비저 모듈 지속 시간 보너스(M2-XFE 성계 대참사)\", \n    \"displayName_ru\": \"Увеличение времени работы демонтажных модулей (Бойня в M2-XFE)\", \n    \"displayName_zh\": \"打捞器持续时间加成（M2-XFE屠杀）\", \n    \"displayNameID\": 1025525, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 25863\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2492\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 11 - Salvager Cycle Time\", \n    \"displayName_de\": \"Bonus auf Dauer von Bergungsmodulen (Titanomachy)\", \n    \"displayName_en-us\": \"Salvager Module Duration Bonus (Titanomachy)\", \n    \"displayName_es\": \"Bonificación de duración del módulo recuperador (Titanomaquia)\", \n    \"displayName_fr\": \"Bonus à la durée du module récupérateur (Titanomachie)\", \n    \"displayName_it\": \"Salvager Module Duration Bonus (Titanomachy)\", \n    \"displayName_ja\": \"サルベージャーモジュール継続時間ボーナス（ティタノマキア）\", \n    \"displayName_ko\": \"샐비저 모듈 지속 시간 보너스(타이타노마키)\", \n    \"displayName_ru\": \"Увеличение времени работы демонтажных модулей (Титаномахия)\", \n    \"displayName_zh\": \"打捞器持续时间加成（泰坦之战）\", \n    \"displayNameID\": 1025526, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 25863\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2493\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 12 - Salvager Cycle Time\", \n    \"displayName_de\": \"Bonus auf Bergungsmoduldauer (Golgothan-Felder)\", \n    \"displayName_en-us\": \"Salvager Module Duration Bonus (Golgothan Fields)\", \n    \"displayName_es\": \"Bonificación de duración del módulo recuperador (Campos de Golgothan)\", \n    \"displayName_fr\": \"Bonus à la durée du module récupérateur (Golgothan Fields)\", \n    \"displayName_it\": \"Salvager Module Duration Bonus (Golgothan Fields)\", \n    \"displayName_ja\": \"サルベージャーモジュール継続時間ボーナス（ゴルゴザンフィールド）\", \n    \"displayName_ko\": \"샐비저 모듈 지속 시간 보너스(골고산 필드)\", \n    \"displayName_ru\": \"Увеличение времени работы демонтажных модулей (Поля Голгофы)\", \n    \"displayName_zh\": \"打捞器持续时间加成（格洛之域）\", \n    \"displayNameID\": 1025527, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 25863\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2494\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 13 - Salvager Cycle Time\", \n    \"displayName_de\": \"Bonus auf Dauer von Bergungsmodulen (Geburtstagsfeier)\", \n    \"displayName_en-us\": \"Salvager Module Duration Bonus (Birthday Bash)\", \n    \"displayName_es\": \"Bonificación de duración del módulo recuperador (fiesta de cumpleaños)\", \n    \"displayName_fr\": \"Bonus à la durée du module récupérateur (Fête d'anniversaire)\", \n    \"displayName_it\": \"Salvager Module Duration Bonus (Birthday Bash)\", \n    \"displayName_ja\": \"サルベージャーモジュール継続時間ボーナス（誕生祝い）\", \n    \"displayName_ko\": \"샐비저 모듈 지속 시간 보너스(생일 파티)\", \n    \"displayName_ru\": \"Увеличение времени работы демонтажных модулей (вечеринка в день рождения)\", \n    \"displayName_zh\": \"打捞器持续时间加成（生日派对）\", \n    \"displayNameID\": 1025528, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 25863\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2495\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 14 - Salvager Cycle Time\", \n    \"displayName_de\": \"Bonus auf Dauer von Bergungsmodulen (Belagerung von C-J6MT)\", \n    \"displayName_en-us\": \"Salvager Module Duration Bonus (Siege of C-J6MT)\", \n    \"displayName_es\": \"Bonificación de duración del módulo recuperador (asedio de C-J6MT)\", \n    \"displayName_fr\": \"Bonus à la durée du module récupérateur (Siège de C-J6MT)\", \n    \"displayName_it\": \"Salvager Module Duration Bonus (Siege of C-J6MT)\", \n    \"displayName_ja\": \"サルベージャーモジュール継続時間ボーナス（C-J6MT包囲戦）\", \n    \"displayName_ko\": \"샐비저 모듈 지속 시간 보너스(C-J6MT 공성전)\", \n    \"displayName_ru\": \"Увеличение времени работы демонтажных модулей (осада C-J6MT)\", \n    \"displayName_zh\": \"打捞器持续时间加成（C-J6MT会战）\", \n    \"displayNameID\": 1025529, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 73, \n        \"skillID\": 25863\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2496\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 15 - Warp Speed Bonus\", \n    \"displayName_de\": \"Warpgeschwindigkeitsbonus (EVE Travel Agency)\", \n    \"displayName_en-us\": \"Warp Speed Bonus (EVE Travel Agency)\", \n    \"displayName_es\": \"Bonificación de velocidad de warp (Agencia de viajes EVE)\", \n    \"displayName_fr\": \"Bonus de vitesse de warp (Agence de voyage d'EVE)\", \n    \"displayName_it\": \"Warp Speed Bonus (EVE Travel Agency)\", \n    \"displayName_ja\": \"ワープ速度ボーナス（EVEトラベルエージェンシー）\", \n    \"displayName_ko\": \"워프 속도 보너스(EVE 여행사)\", \n    \"displayName_ru\": \"Ускорение хода в варп-режиме (Туристическое агентство EVE)\", \n    \"displayName_zh\": \"跃迁速度加成（新伊甸旅行社）\", \n    \"displayNameID\": 1025530, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 600\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2497\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 16 - Shield and Armor Hitpoint Bonus\", \n    \"displayName_de\": \"Bonus auf Schild- und Panzerungstrefferpunkte (Allianzturnier-Denkmal)\", \n    \"displayName_en-us\": \"Shield and Armor Hitpoint Bonus (Alliance Tournament Monument)\", \n    \"displayName_es\": \"Bonificación de puntos de vida del escudo y blindaje (Monumento del Torneo de Alianzas)\", \n    \"displayName_fr\": \"Bonus de points de vie du bouclier et du blindage (Monument de l'Alliance Tournament)\", \n    \"displayName_it\": \"Shield and Armor Hitpoint Bonus (Alliance Tournament Monument)\", \n    \"displayName_ja\": \"シールドとアーマーのHPボーナス（アライアンス・トーナメント記念碑）\", \n    \"displayName_ko\": \"실드 및 장갑 내구도 보너스(얼라이언스 토너먼트 기념비)\", \n    \"displayName_ru\": \"Увеличение прочности щитов и брони (монумент в честь Турнира альянсов)\", \n    \"displayName_zh\": \"护盾和装甲值加成（联盟争霸赛纪念碑）\", \n    \"displayNameID\": 1025531, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 263\n      }, \n      {\n        \"dogmaAttributeID\": 265\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2498\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 17 - Molea Cemetery\", \n    \"displayName_de\": \"Bonus auf die Dauer von Kommandostrahlen (Molea-Friedhof)\", \n    \"displayName_en-us\": \"Command Burst Duration Bonus (Molea Cemetery)\", \n    \"displayName_es\": \"Bonificación de duración del estallido de mando (Cementerio de Molea)\", \n    \"displayName_fr\": \"Bonus à la durée des salves de commandement (cimetière de Molea)\", \n    \"displayName_it\": \"Command Burst Duration Bonus (Molea Cemetery)\", \n    \"displayName_ja\": \"コマンドバースト継続時間ボーナス（モレアの墓地）\", \n    \"displayName_ko\": \"커맨드 버스트 지속 시간 보너스(몰레아 공동묘지)\", \n    \"displayName_ru\": \"Увеличение времени работы импульсных оптимизаторов (кладбище Молеа)\", \n    \"displayName_zh\": \"指挥脉冲波持续时间加成（莫利亚墓园）\", \n    \"displayNameID\": 1025533, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 2535, \n        \"skillID\": 3348\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2499\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 18 - Probe Strength\", \n    \"displayName_de\": \"Bonus auf Scanleistung von Sonden (Gebiet Eins)\", \n    \"displayName_en-us\": \"Probe Scan Strength Bonus (Site One)\", \n    \"displayName_es\": \"Bonificación de intensidad del escaneo de sonda (zona uno)\", \n    \"displayName_fr\": \"Bonus de puissance de balayage de sonde (Site Un)\", \n    \"displayName_it\": \"Probe Scan Strength Bonus (Site One)\", \n    \"displayName_ja\": \"プローブスキャン強度ボーナス（サイトワン）\", \n    \"displayName_ko\": \"프로브 스캔 강도 보너스(사이트 원)\", \n    \"displayName_ru\": \"Прибавка к эффективности поиска разведзондами (Зона Один)\", \n    \"displayName_zh\": \"探针扫描强度加成（地点一）\", \n    \"displayNameID\": 1025534, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 6118, \n        \"skillID\": 3412\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2500\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 19 - Maximum Velocity\", \n    \"displayName_de\": \"Bonus auf maximaler Geschwindigkeit (Drifter-Wurmloch)\", \n    \"displayName_en-us\": \"Maximum Velocity Bonus (Drifter Wormhole)\", \n    \"displayName_es\": \"Bonificación de velocidad máxima (agujero de gusano drifter)\", \n    \"displayName_fr\": \"Bonus de vitesse maximale (trou de ver drifter)\", \n    \"displayName_it\": \"Maximum Velocity Bonus (Drifter Wormhole)\", \n    \"displayName_ja\": \"最高速度ボーナス（ドリフターのワームホール）\", \n    \"displayName_ko\": \"최대 속도 보너스(드리프터 웜홀)\", \n    \"displayName_ru\": \"Увеличение максимальной скорости (червоточина Скитальцев)\", \n    \"displayName_zh\": \"最大速度加成（流浪者虫洞）\", \n    \"displayNameID\": 1025535, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2501\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 20 - Probe Strength Bonus\", \n    \"displayName_de\": \"Bonus auf Scanleistung von Sonden (Finale Liminalität)\", \n    \"displayName_en-us\": \"Probe Scan Strength Bonus (Final Liminality)\", \n    \"displayName_es\": \"Bonificación de intensidad del escaneo de sonda (liminalidad final)\", \n    \"displayName_fr\": \"Bonus de puissance de balayage de sonde (Dernière liminalité)\", \n    \"displayName_it\": \"Probe Scan Strength Bonus (Final Liminality)\", \n    \"displayName_ja\": \"プローブスキャン強度ボーナス（最終リミナリティ）\", \n    \"displayName_ko\": \"프로브 스캔 강도 보너스(최종 임계선)\", \n    \"displayName_ru\": \"Прибавка к эффективности поиска разведзондами (Последнее ограничение)\", \n    \"displayName_zh\": \"探针扫描强度加成（最终阶段）\", \n    \"displayNameID\": 1025536, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 6118, \n        \"skillID\": 3412\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2502\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Metaliminal Storm Bonus 1 - Gamma\", \n    \"displayName_de\": \"Bonus auf die Resistenz gegen Energiekriegsführung (Metaliminaler Gamma-Sturm)\", \n    \"displayName_en-us\": \"Energy Warfare Resistance Bonus (Metaliminal Gamma Storm)\", \n    \"displayName_es\": \"Bonificación de resistencia a la guerra de energía (tormenta gamma metaliminal)\", \n    \"displayName_fr\": \"Bonus de résistance à la guerre d'énergie (tempête métaliminale gamma)\", \n    \"displayName_it\": \"Energy Warfare Resistance Bonus (Metaliminal Gamma Storm)\", \n    \"displayName_ja\": \"エネルギー戦レジスタンス・ボーナス（メタリミナルガンマ線嵐）\", \n    \"displayName_ko\": \"에너지전 저항 보너스(메타경계성 감마 폭풍)\", \n    \"displayName_ru\": \"+ к сопротивляемости энергетич. воздействию (металиминальная гамма-буря)\", \n    \"displayName_zh\": \"电容战抗性加成（超阈限伽马风暴）\", \n    \"displayNameID\": 1025540, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2045\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2503\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Metaliminal Storm Bonus 2 - Plasma\", \n    \"displayName_de\": \"Modul-Hitzeschadenreduktion (Metaliminal-Plasmasturm)\", \n    \"displayName_en-us\": \"Module Heat Damage Reduction (Metaliminal Plasma Storm)\", \n    \"displayName_es\": \"Reducción de daño por calor de módulo (tormenta plasmática metaliminal)\", \n    \"displayName_fr\": \"Réduction des dégâts thermiques des modules (tempête de plasma métaliminal)\", \n    \"displayName_it\": \"Module Heat Damage Reduction (Metaliminal Plasma Storm)\", \n    \"displayName_ja\": \"モジュール熱ダメージ減少（メタリミナルプラズマ嵐）\", \n    \"displayName_ko\": \"모듈 과부하 피해 감소(메타경계성 플라즈마 폭풍)\", \n    \"displayName_ru\": \"Снижение теплового урона для модулей (металиминальная пламенная буря)\", \n    \"displayName_zh\": \"装备超载伤害降低（超阈限等离子体风暴）\", \n    \"displayNameID\": 1025539, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [\n      {\n        \"dogmaAttributeID\": 1211\n      }\n    ], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2504\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Metaliminal Storm Bonus 3 - Exotic\", \n    \"displayName_de\": \"Bonus auf Scanauflösung (Metaliminaler exotischer Sturm)\", \n    \"displayName_en-us\": \"Scan Resolution Bonus (Metaliminal Exotic Storm)\", \n    \"displayName_es\": \"Bonificación de resolución de escaneo (tormenta exótica metaliminal)\", \n    \"displayName_fr\": \"Bonus de résolution du balayage (tempête métaliminale exotique)\", \n    \"displayName_it\": \"Scan Resolution Bonus (Metaliminal Exotic Storm)\", \n    \"displayName_ja\": \"スキャン分解能ボーナス（メタリミナルエキゾチック嵐）\", \n    \"displayName_ko\": \"스캔 정밀도 보너스(메타경계성 엑조틱 폭풍)\", \n    \"displayName_ru\": \"Повышение эффективности сканирования (металиминальная экзотическая буря)\", \n    \"displayName_zh\": \"扫描分辨率加成（超阈限异种风暴）\", \n    \"displayNameID\": 1025538, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 564\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2505\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Metaliminal Storm Bonus 4 - Electric\", \n    \"displayName_de\": \"Energiespeicher-Bonus (Metaliminaler elektrischer Sturm)\", \n    \"displayName_en-us\": \"Capacitor Amount Bonus (Metaliminal Electric Storm)\", \n    \"displayName_es\": \"Bonificación de cantidad de condensador (tormenta eléctrica metaliminal)\", \n    \"displayName_fr\": \"Bonus de volume du capaciteur (tempête électrique métaliminale)\", \n    \"displayName_it\": \"Capacitor Amount Bonus (Metaliminal Electric Storm)\", \n    \"displayName_ja\": \"キャパシタ量ボーナス（メタリミナル電気嵐）\", \n    \"displayName_ko\": \"캐패시터 용량 보너스(메타경계성 전기 폭풍)\", \n    \"displayName_ru\": \"Увеличение заряда накопителя (металиминальная электрическая буря)\", \n    \"displayName_zh\": \"电容量加成（超阈限电子风暴）\", \n    \"displayNameID\": 1025537, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 482\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2506\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Sov Modifier Bonus 1 - Gamma Neut Resistances\", \n    \"displayName_de\": \"Resistenzbonus gegen Energiekriegsführung (Gamma-Stabilitätsgenerator)\", \n    \"displayName_en-us\": \"Energy Warfare Resistance Bonus (Gamma Stability Generator)\", \n    \"displayName_es\": \"Bonificación de resistencia a la guerra de energía (generador de estabilidad Gamma)\", \n    \"displayName_fr\": \"Bonus de résistance à la guerre d'énergie (générateur de stabilité gamma)\", \n    \"displayName_it\": \"Energy Warfare Resistance Bonus (Gamma Stability Generator)\", \n    \"displayName_ja\": \"エネルギー戦レジスタンス・ボーナス（ガンマ安定化ジェネレーター）\", \n    \"displayName_ko\": \"에너지전 저항 보너스(감마 안정성 생성기)\", \n    \"displayName_ru\": \"+ к сопротивляемости энергетическому воздействию (генератор гамма-эффектов)\", \n    \"displayName_zh\": \"能量战抗性加成（伽玛稳定发生器）\", \n    \"displayNameID\": 1025541, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2045\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2507\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Sov Modifier Bonus 2 - Plasma\", \n    \"displayName_de\": \"Modul-Hitzereduktionsbonus (Plasmastabilitätsgenerator)\", \n    \"displayName_en-us\": \"Module Heat Reduction Bonus (Plasma Stability Generator)\", \n    \"displayName_es\": \"Bonificación de reducción de calor del módulo (generador de estabilidad plasmática)\", \n    \"displayName_fr\": \"Bonus de réduction de chaleur du module (générateur de stabilité plasma)\", \n    \"displayName_it\": \"Module Heat Reduction Bonus (Plasma Stability Generator)\", \n    \"displayName_ja\": \"モジュールの熱減少ボーナス（プラズマ安定化ジェネレーター）\", \n    \"displayName_ko\": \"모듈 과부하 감소 보너스(플라즈마 안정성 생성기)\", \n    \"displayName_ru\": \"Снижение теплового урона для модулей (генератор плазменных эффектов)\", \n    \"displayName_zh\": \"装备散热加成（等离子稳定发生器）\", \n    \"displayNameID\": 1025542, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [\n      {\n        \"dogmaAttributeID\": 1211\n      }\n    ], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2508\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Sov Modifier Bonus 3 - exotic\", \n    \"displayName_de\": \"Scanauflösungsbonus (Exotischer Stabilitätsgenerator)\", \n    \"displayName_en-us\": \"Scan Resolution Bonus (Exotic Stability Generator)\", \n    \"displayName_es\": \"Bonificación de resolución de escaneo (generador de estabilidad exótico)\", \n    \"displayName_fr\": \"Bonus de résolution du balayage (générateur de stabilité exotique)\", \n    \"displayName_it\": \"Scan Resolution Bonus (Exotic Stability Generator)\", \n    \"displayName_ja\": \"スキャン分解能ボーナス（エキゾチック安定化ジェネレーター）\", \n    \"displayName_ko\": \"스캔 정밀도 보너스(엑조틱 안정성 생성기)\", \n    \"displayName_ru\": \"Повышение эффективности сканирования (генератор экзотических эффектов)\", \n    \"displayName_zh\": \"扫描分辨率加成（异种稳定发生器）\", \n    \"displayNameID\": 1025543, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 564\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2509\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Sov Modifier Bonus 4 - Electric\", \n    \"displayName_de\": \"Bonus auf Energiespeicherkapazität (Elektrischer Stabilitätsgenerator)\", \n    \"displayName_en-us\": \"Capacitor Capacity Bonus (Electric Stability Generator)\", \n    \"displayName_es\": \"Bonificación de capacidad del condensador (generador de estabilidad eléctrica)\", \n    \"displayName_fr\": \"Bonus de charge du capaciteur (générateur de stabilité électrique)\", \n    \"displayName_it\": \"Capacitor Capacity Bonus (Electric Stability Generator)\", \n    \"displayName_ja\": \"キャパシタ容量ボーナス（電気安定化ジェネレーター）\", \n    \"displayName_ko\": \"캐패시터 용량 보너스(전기 안정성 생성기)\", \n    \"displayName_ru\": \"Увеличение ёмкости накопителя (генератор электрических эффектов)\", \n    \"displayName_zh\": \"电容容量加成（电力稳定发生器）\", \n    \"displayNameID\": 1025544, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 482\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2510\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Wormhole Bonus 1 - Black Hole\", \n    \"displayName_de\": \"Netz-Resistenzbonus (Schwarzes Loch)\", \n    \"displayName_en-us\": \"Web Resistance Bonus (Black Hole)\", \n    \"displayName_es\": \"Bonificación de resistencia a redes ralentizadoras (agujero negro)\", \n    \"displayName_fr\": \"Bonus de résistance de stase (Trou noir)\", \n    \"displayName_it\": \"Web Resistance Bonus (Black Hole)\", \n    \"displayName_ja\": \"ウェビファイア・レジスタンスボーナス（ブラックホール）\", \n    \"displayName_ko\": \"스테이시스 웹 저항력 보너스(블랙홀)\", \n    \"displayName_ru\": \"+ к сопротивляемости стазис-индукции (чёрная дыра)\", \n    \"displayName_zh\": \"光束抗性加成（黑洞）\", \n    \"displayNameID\": 1025545, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2115\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2511\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Wormhole Bonus 2 - Red Giant\", \n    \"displayName_de\": \"Modul-Hitzeschadenreduktion (Roter Riese)\", \n    \"displayName_en-us\": \"Module Heat Damage Reduction Bonus (Red Giant)\", \n    \"displayName_es\": \"Bonificación de reducción de daño por calor del módulo (gigante roja)\", \n    \"displayName_fr\": \"Bonus de réduction des dégâts thermiques du module (Géante rouge)\", \n    \"displayName_it\": \"Module Heat Damage Reduction Bonus (Red Giant)\", \n    \"displayName_ja\": \"モジュール熱ダメージ減少ボーナス（赤色巨星）\", \n    \"displayName_ko\": \"모듈 과부하 피해 감소 보너스(적색 거성)\", \n    \"displayName_ru\": \"Снижение теплового урона для модулей (красный гигант)\", \n    \"displayName_zh\": \"装备超载伤害降低（红巨星）\", \n    \"displayNameID\": 1025546, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [\n      {\n        \"dogmaAttributeID\": 1211\n      }\n    ], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2512\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Wormhole Bonus 3 - Wolf Rayet\", \n    \"displayName_de\": \"Bonus auf die Nachführung von mittleren Energiegeschütztürmen (Wolf Rayet)\", \n    \"displayName_en-us\": \"Medium Energy Turret Tracking Bonus (Wolf Rayet)\", \n    \"displayName_es\": \"Bonificación de rastreo de la torreta de energía mediana (Wolf-Rayet)\", \n    \"displayName_fr\": \"Bonus de poursuite pour tourelle à énergie intermédiaire (Wolf Rayet)\", \n    \"displayName_it\": \"Medium Energy Turret Tracking Bonus (Wolf Rayet)\", \n    \"displayName_ja\": \"中型エネルギータレット・トラッキングボーナス（ウォルフ・ライエ）\", \n    \"displayName_ko\": \"중형 에너지 터렛 트래킹 보너스(볼프-레이에)\", \n    \"displayName_ru\": \"Ускорение наведения средних лазерных орудий (звезда Вольфа-Райе)\", \n    \"displayName_zh\": \"中型能量炮台跟踪速度加成（沃尔夫-拉叶星）\", \n    \"displayNameID\": 1025547, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 160, \n        \"skillID\": 3306\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2513\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Wormhole Bonus 4 - Pulsar\", \n    \"displayName_de\": \"Bonus auf die Resistenz gegen Energiekriegsführung (Pulsar)\", \n    \"displayName_en-us\": \"Energy Warfare Resistance Bonus (Pulsar)\", \n    \"displayName_es\": \"Bonificación de resistencia a la guerra de energía (púlsar)\", \n    \"displayName_fr\": \"Bonus de résistance à la guerre d'énergie (Pulsar)\", \n    \"displayName_it\": \"Energy Warfare Resistance Bonus (Pulsar)\", \n    \"displayName_ja\": \"エネルギー戦レジスタンス・ボーナス（パルサー）\", \n    \"displayName_ko\": \"에너지전 저항 보너스(펄서)\", \n    \"displayName_ru\": \"+ к сопротивляемости энергетич. воздействию (пульсар)\", \n    \"displayName_zh\": \"能量战抗性加成（脉冲星）\", \n    \"displayNameID\": 1025548, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2045\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2514\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Wormhole Bonus 5 - Cataclysmic\", \n    \"displayName_de\": \"Bonus auf Energiespeicherkapazität (Kataklysmische Variable)\", \n    \"displayName_en-us\": \"Capacitor Capacity Bonus (Cataclysmic Variable)\", \n    \"displayName_es\": \"Bonificación de capacidad del condensador (variable cataclísmica)\", \n    \"displayName_fr\": \"Bonus de charge du capaciteur (variable cataclysmique)\", \n    \"displayName_it\": \"Capacitor Capacity Bonus (Cataclysmic Variable)\", \n    \"displayName_ja\": \"キャパシタ容量ボーナス（激変星）\", \n    \"displayName_ko\": \"캐패시터 용량 보너스(격변변광성)\", \n    \"displayName_ru\": \"Увеличение ёмкости накопителя (катаклизмическая переменная)\", \n    \"displayName_zh\": \"电容容量加成（激变变星）\", \n    \"displayNameID\": 1025549, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 482\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2515\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Wormhole Bonus 6 - Magnetar\", \n    \"displayName_de\": \"Resistenzbonus auf Sensordämpfer- und Waffendisruptor (Magnetar)\", \n    \"displayName_en-us\": \"Sensor Dampener and Weapon Disruptor resistance bonus (Magnetar)\", \n    \"displayName_es\": \"Bonificación de resistencia de los atenuadores de sensor y los disruptores de armas (Magnetar)\", \n    \"displayName_fr\": \"Bonus de résistance pour atténuateur de détection et perturbateur d'armement (Magnetar)\", \n    \"displayName_it\": \"Sensor Dampener and Weapon Disruptor resistance bonus (Magnetar)\", \n    \"displayName_ja\": \"センサーダンプナーと兵器妨害器のレジスタンスボーナス（帯磁星）\", \n    \"displayName_ko\": \"센서 댐프너 및 무기 디스럽터 저항력 보너스(마그네타)\", \n    \"displayName_ru\": \"+ к сопротивляемости подавителям сенсоров и орудий (магнетар)\", \n    \"displayName_zh\": \"感应抑阻器和武器扰断器抗性加成（磁星）\", \n    \"displayNameID\": 1025550, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2112\n      }, \n      {\n        \"dogmaAttributeID\": 2113\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2516\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Mining Burst: Mining Crit Chance\", \n    \"displayName_de\": \"Bonus auf kritische Erfolgswahrscheinlichkeit beim Bergbau\", \n    \"displayName_en-us\": \"Mining critical success chance bonus\", \n    \"displayName_es\": \"Bonificación de probabilidad de éxito crítico de minería\", \n    \"displayName_fr\": \"Bonus de chances de succès critique d'extraction minière\", \n    \"displayName_it\": \"Mining critical success chance bonus\", \n    \"displayName_ja\": \"採掘のクリティカル率ボーナス\", \n    \"displayName_ko\": \"대량 채굴 확률 보너스\", \n    \"displayName_ru\": \"Повышение вероятности крит. удара при бурении\", \n    \"displayName_zh\": \"采矿暴击成功率加成\", \n    \"displayNameID\": 1028422, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 5967, \n        \"skillID\": 3386\n      }, \n      {\n        \"dogmaAttributeID\": 5967, \n        \"skillID\": 16281\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2517\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Mining Burst: Mining Residue Chance Reduction\", \n    \"displayName_de\": \"Rückstandswahrscheinlichkeits-Reduktion\", \n    \"displayName_en-us\": \"Residue Probability Reduction\", \n    \"displayName_es\": \"Reducción de probabilidad de residuos\", \n    \"displayName_fr\": \"Réduction de la probabilité de résidus\", \n    \"displayName_it\": \"Residue Probability Reduction\", \n    \"displayName_ja\": \"残留物率減少\", \n    \"displayName_ko\": \"손실 확률 감소\", \n    \"displayName_ru\": \"Снижение вероятности получения отходов\", \n    \"displayName_zh\": \"产生残渣几率降低\", \n    \"displayNameID\": 1028423, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 3154, \n        \"skillID\": 3386\n      }, \n      {\n        \"dogmaAttributeID\": 3154, \n        \"skillID\": 16281\n      }, \n      {\n        \"dogmaAttributeID\": 3154, \n        \"skillID\": 25544\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2518\": {\n    \"aggregateMode\": \"Minimum\", \n    \"developerDescription\": \"Sisters of EVE Metaliminal Storm Bonus 5 - Winter Nexus Storm\", \n    \"displayName_de\": \"Thermalresistenz-Bonus (unbeständiger Eissturm)\", \n    \"displayName_en-us\": \"Thermal Resistance Bonus (Volatile Ice Storm)\", \n    \"displayName_es\": \"Bonificación de resistencia térmica (tormenta de hielo volátil)\", \n    \"displayName_fr\": \"Bonus de résistance thermique (tempête de glace volatile)\", \n    \"displayName_it\": \"Thermal Resistance Bonus (Volatile Ice Storm)\", \n    \"displayName_ja\": \"サーマルレジスタンスボーナス（揮発性アイスストーム）\", \n    \"displayName_ko\": \"열 저항력 보너스(불안정한 얼음 폭풍)\", \n    \"displayName_ru\": \"Бонус к сопротивляемости термальному урону (нестабильная ледяная буря)\", \n    \"displayName_zh\": \"热能抗性加成（不稳定冰风暴）\", \n    \"displayNameID\": 1030721, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 110\n      }, \n      {\n        \"dogmaAttributeID\": 270\n      }, \n      {\n        \"dogmaAttributeID\": 274\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowInverted\"\n  }, \n  \"2519\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 21\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PreAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2520\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 22\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PreAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2521\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 23\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PreAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2522\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 24\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PreAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2523\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 25\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PreAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2524\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 27\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PreAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2525\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 28\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PreAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2526\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 26\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PreAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2527\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 29\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PreAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2528\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Sisters of EVE Landmark Bonus 30\", \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PreAssignment\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2529\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Gallente Elections Warp Speed Bonus\", \n    \"displayName_de\": \"Warpgeschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Warp Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de warp\", \n    \"displayName_fr\": \"Bonus de vitesse de warp\", \n    \"displayName_it\": \"Warp Speed Bonus\", \n    \"displayName_ja\": \"ワープ速度ボーナス\", \n    \"displayName_ko\": \"워프 속도 보너스\", \n    \"displayName_ru\": \"Повышение скорости варп-прыжка\", \n    \"displayName_zh\": \"跃迁速度加成\", \n    \"displayNameID\": 1035896, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 600\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2530\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Hybrid Turret Tracking\", \n    \"displayName_de\": \"Nachführungsgeschwindigkeitsbonus von Hybridgeschütztürmen\", \n    \"displayName_en-us\": \"Hybrid Turret Tracking Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de rastreo de la torreta híbrida\", \n    \"displayName_fr\": \"Bonus à la vitesse de poursuite des tourelles hybrides\", \n    \"displayName_it\": \"Hybrid Turret Tracking Speed Bonus\", \n    \"displayName_ja\": \"ハイブリッドタレット追跡速度ボーナス\", \n    \"displayName_ko\": \"하이브리드 터렛 트래킹 속도 증가\", \n    \"displayName_ru\": \"Бонус к скорости наведения гибридных орудий\", \n    \"displayName_zh\": \"混合炮台跟踪速度加成\", \n    \"displayNameID\": 1035899, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 160, \n        \"skillID\": 3301\n      }, \n      {\n        \"dogmaAttributeID\": 160, \n        \"skillID\": 3304\n      }, \n      {\n        \"dogmaAttributeID\": 160, \n        \"skillID\": 3307\n      }, \n      {\n        \"dogmaAttributeID\": 160, \n        \"skillID\": 21666\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2533\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Gallente Elections Local Armor Repair\", \n    \"displayName_de\": \"Bonus für Panzerungsreparatursystem\", \n    \"displayName_en-us\": \"Local Armor Repairer Bonus\", \n    \"displayName_es\": \"Bonificación de reparador de blindaje local\", \n    \"displayName_fr\": \"Bonus au réparateur de blindage local\", \n    \"displayName_it\": \"Local Armor Repairer Bonus\", \n    \"displayName_ja\": \"ローカルアーマーリペアラボーナス\", \n    \"displayName_ko\": \"장갑 수리 장치 보너스\", \n    \"displayName_ru\": \"Бонус для местной установки ремонта брони\", \n    \"displayName_zh\": \"自身装甲维修器加成\", \n    \"displayNameID\": 1035904, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 84, \n        \"skillID\": 3393\n      }, \n      {\n        \"dogmaAttributeID\": 84, \n        \"skillID\": 21803\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2534\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Triglavian System Effect - Maximum Locked Targets Percentage\", \n    \"displayName_de\": \"Maximum Targets Penalty\", \n    \"displayName_en-us\": \"Maximum Targets Penalty\", \n    \"displayName_es\": \"Maximum Targets Penalty\", \n    \"displayName_fr\": \"Maximum Targets Penalty\", \n    \"displayName_it\": \"Maximum Targets Penalty\", \n    \"displayName_ja\": \"Maximum Targets Penalty\", \n    \"displayName_ko\": \"Maximum Targets Penalty\", \n    \"displayName_ru\": \"Maximum Targets Penalty\", \n    \"displayName_zh\": \"Maximum Targets Penalty\", \n    \"displayNameID\": 1036727, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 192\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2535\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Triglavian System Effect - Warp Speed Multiplier Percentage\", \n    \"displayName_de\": \"Warp Speed Penalty\", \n    \"displayName_en-us\": \"Warp Speed Penalty\", \n    \"displayName_es\": \"Warp Speed Penalty\", \n    \"displayName_fr\": \"Warp Speed Penalty\", \n    \"displayName_it\": \"Warp Speed Penalty\", \n    \"displayName_ja\": \"Warp Speed Penalty\", \n    \"displayName_ko\": \"Warp Speed Penalty\", \n    \"displayName_ru\": \"Warp Speed Penalty\", \n    \"displayName_zh\": \"Warp Speed Penalty\", \n    \"displayNameID\": 1036726, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 600\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2536\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Smart Bomb Blocker\", \n    \"displayName_de\": \"<color=\\\"#FFFF454B\\\">Aktivierung blockiert:</color> Smart Bombs\", \n    \"displayName_en-us\": \"<color=\\\"#FFFF454B\\\">Activation Blocked:</color> Smart Bombs\", \n    \"displayName_es\": \"<color=\\\"#FFFF454B\\\">Activación bloqueada:</color> bombas inteligentes\", \n    \"displayName_fr\": \"<color=\\\"#FFFF454B\\\">Activation bloquée :</color> bombes de proximité\", \n    \"displayName_it\": \"<color=\\\"#FFFF454B\\\">Activation Blocked:</color> Smart Bombs\", \n    \"displayName_ja\": \"<color=\\\"#FFFF454B\\\">起動ブロック：</color>スマートボム\", \n    \"displayName_ko\": \"<color=\\\"#FFFF454B\\\">모듈 사용 금지:</color> 스마트폭탄\", \n    \"displayName_ru\": \"<color=\\\"#FFFF454B\\\">Заблокированы:</color> импульсные излучатели\", \n    \"displayName_zh\": \"<color=\\\"#FFFF454B\\\">启动受阻：</color>立体炸弹\", \n    \"displayNameID\": 1036280, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 1349, \n        \"groupID\": 72\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2537\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Micro Jump Field Generator Blocker\", \n    \"displayName_de\": \"<color=\\\"#FFFF454B\\\">Aktivierung blockiert:</color> Mikrosprungfeldgeneratoren\", \n    \"displayName_en-us\": \"<color=\\\"#FFFF454B\\\">Activation Blocked:</color> Micro Jump Field Generators\", \n    \"displayName_es\": \"<color=\\\"#FFFF454B\\\">Activación bloqueada:</color> generadores de campo de microsalto\", \n    \"displayName_fr\": \"<color=\\\"#FFFF454B\\\">Activation bloquée :</color> générateurs de champ de microsaut\", \n    \"displayName_it\": \"<color=\\\"#FFFF454B\\\">Activation Blocked:</color> Micro Jump Field Generators\", \n    \"displayName_ja\": \"<color=\\\"#FFFF454B\\\">起動ブロック：</color>マイクロジャンプフィールドジェネレーター\", \n    \"displayName_ko\": \"<color=\\\"#FFFF454B\\\">모듈 사용 금지:</color> 마이크로 점프 필드 생성기\", \n    \"displayName_ru\": \"<color=\\\"#FFFF454B\\\">Заблокированы:</color> генераторы разгонного поля\", \n    \"displayName_zh\": \"<color=\\\"#FFFF454B\\\">启动受阻：</color>微型跳跃力场发生器\", \n    \"displayNameID\": 1036279, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 1349, \n        \"groupID\": 1533\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2538\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Triglavian System Effect - Remote Armor Repair Percentage\", \n    \"displayName_de\": \"Remote Armor Repair Bonus\", \n    \"displayName_en-us\": \"Remote Armor Repair Bonus\", \n    \"displayName_es\": \"Remote Armor Repair Bonus\", \n    \"displayName_fr\": \"Remote Armor Repair Bonus\", \n    \"displayName_it\": \"Remote Armor Repair Bonus\", \n    \"displayName_ja\": \"Remote Armor Repair Bonus\", \n    \"displayName_ko\": \"Remote Armor Repair Bonus\", \n    \"displayName_ru\": \"Remote Armor Repair Bonus\", \n    \"displayName_zh\": \"Remote Armor Repair Bonus\", \n    \"displayNameID\": 1036730, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 84, \n        \"skillID\": 16069\n      }, \n      {\n        \"dogmaAttributeID\": 84, \n        \"skillID\": 24568\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2539\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Triglavian System Effect - Remote Shield Boost Percentage\", \n    \"displayName_de\": \"Remote Shield Boost Bonus\", \n    \"displayName_en-us\": \"Remote Shield Boost Bonus\", \n    \"displayName_es\": \"Remote Shield Boost Bonus\", \n    \"displayName_fr\": \"Remote Shield Boost Bonus\", \n    \"displayName_it\": \"Remote Shield Boost Bonus\", \n    \"displayName_ja\": \"Remote Shield Boost Bonus\", \n    \"displayName_ko\": \"Remote Shield Boost Bonus\", \n    \"displayName_ru\": \"Remote Shield Boost Bonus\", \n    \"displayName_zh\": \"Remote Shield Boost Bonus\", \n    \"displayNameID\": 1036729, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 68, \n        \"skillID\": 3422\n      }, \n      {\n        \"dogmaAttributeID\": 68, \n        \"skillID\": 24571\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2548\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Heat Damage Reduction\", \n    \"displayName_de\": \"Hitzeschadenreduktion\", \n    \"displayName_en-us\": \"Heat Damage Reduction\", \n    \"displayName_es\": \"Reducción de daño por calor\", \n    \"displayName_fr\": \"Réduction des dégâts thermiques\", \n    \"displayName_it\": \"Heat Damage Reduction\", \n    \"displayName_ja\": \"熱ダメージ減少\", \n    \"displayName_ko\": \"열 피해량 감소\", \n    \"displayName_ru\": \"Снижение теплового урона\", \n    \"displayName_zh\": \"超载伤害降低\", \n    \"displayNameID\": 1037571, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [\n      {\n        \"dogmaAttributeID\": 1211\n      }\n    ], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2549\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Overload Bonus\", \n    \"displayName_de\": \"Erhöhung des Überlastungsbonus\", \n    \"displayName_en-us\": \"Overload Bonus Increase\", \n    \"displayName_es\": \"Aumento de bonificación de sobrecarga\", \n    \"displayName_fr\": \"Augmentation du bonus de surcharge\", \n    \"displayName_it\": \"Overload Bonus Increase\", \n    \"displayName_ja\": \"オーバーロードボーナス増加\", \n    \"displayName_ko\": \"과부하 보너스 증가\", \n    \"displayName_ru\": \"Усиление бонуса к перегрузке модулей\", \n    \"displayName_zh\": \"超载加成提升\", \n    \"displayNameID\": 1037573, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [\n      {\n        \"dogmaAttributeID\": 1181\n      }, \n      {\n        \"dogmaAttributeID\": 1205\n      }, \n      {\n        \"dogmaAttributeID\": 1206\n      }, \n      {\n        \"dogmaAttributeID\": 1208\n      }, \n      {\n        \"dogmaAttributeID\": 1210\n      }, \n      {\n        \"dogmaAttributeID\": 1222\n      }, \n      {\n        \"dogmaAttributeID\": 1223\n      }, \n      {\n        \"dogmaAttributeID\": 1225\n      }, \n      {\n        \"dogmaAttributeID\": 1226\n      }, \n      {\n        \"dogmaAttributeID\": 1230\n      }, \n      {\n        \"dogmaAttributeID\": 1231\n      }, \n      {\n        \"dogmaAttributeID\": 1935\n      }, \n      {\n        \"dogmaAttributeID\": 1936\n      }, \n      {\n        \"dogmaAttributeID\": 1937\n      }\n    ], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2550\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Signature Radius Reduction\", \n    \"displayName_de\": \"Signaturradiusreduktion\", \n    \"displayName_en-us\": \"Signature Radius Reduction\", \n    \"displayName_es\": \"Reducción de radio de la señal\", \n    \"displayName_fr\": \"Réduction du rayon de signature\", \n    \"displayName_it\": \"Signature Radius Reduction\", \n    \"displayName_ja\": \"シグネチャ半径縮小\", \n    \"displayName_ko\": \"시그니처 반경 감소\", \n    \"displayName_ru\": \"Уменьшение радиуса сигнатуры\", \n    \"displayName_zh\": \"信号半径降低\", \n    \"displayNameID\": 1037574, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 552\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2551\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Capacitor Capacity Bonus\", \n    \"displayName_de\": \"Bonus auf Energiespeicherkapazität\", \n    \"displayName_en-us\": \"Capacitor Capacity Bonus\", \n    \"displayName_es\": \"Bonificación de capacidad del condensador\", \n    \"displayName_fr\": \"Bonus de charge du capaciteur\", \n    \"displayName_it\": \"Capacitor Capacity Bonus\", \n    \"displayName_ja\": \"キャパシタ容量ボーナス\", \n    \"displayName_ko\": \"캐패시터 용량 보너스\", \n    \"displayName_ru\": \"Влияние на ёмкость накопителя\", \n    \"displayName_zh\": \"电容器容量加成\", \n    \"displayNameID\": 1037575, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 482\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2552\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Ship Velocity Bonus\", \n    \"displayName_de\": \"Schiffsgeschwindigkeitsbonus\", \n    \"displayName_en-us\": \"Ship Velocity Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de la nave\", \n    \"displayName_fr\": \"Bonus de vitesse du vaisseau\", \n    \"displayName_it\": \"Ship Velocity Bonus\", \n    \"displayName_ja\": \"航行速度ボーナス\", \n    \"displayName_ko\": \"함선 속도 증가\", \n    \"displayName_ru\": \"Бонус к скорости корабля\", \n    \"displayName_zh\": \"舰船速度加成\", \n    \"displayNameID\": 1037576, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2553\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Tracking Speed Bonus\", \n    \"displayName_de\": \"Nachführungsgeschwindigkeit-Bonus\", \n    \"displayName_en-us\": \"Tracking Speed Bonus\", \n    \"displayName_es\": \"Bonificación de velocidad de rastreo\", \n    \"displayName_fr\": \"Bonus à la vitesse de poursuite\", \n    \"displayName_it\": \"Tracking Speed Bonus\", \n    \"displayName_ja\": \"追跡速度ボーナス\", \n    \"displayName_ko\": \"트래킹 속도 보너스\", \n    \"displayName_ru\": \"Влияние на скорость слежения\", \n    \"displayName_zh\": \"跟踪速度加成\", \n    \"displayNameID\": 1037577, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 160, \n        \"skillID\": 3300\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2554\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Missile Explosion Radius Reduction\", \n    \"displayName_de\": \"Reduktion des Explosionsradius von Lenkwaffen\", \n    \"displayName_en-us\": \"Missile Explosion Radius Reduction\", \n    \"displayName_es\": \"Reducción de radio de explosión de misiles\", \n    \"displayName_fr\": \"Réduction du rayon d'explosion des missiles\", \n    \"displayName_it\": \"Missile Explosion Radius Reduction\", \n    \"displayName_ja\": \"ミサイル爆発半径減少\", \n    \"displayName_ko\": \"미사일 폭발반경 감소\", \n    \"displayName_ru\": \"Уменьшение сигнатуры взрыва ракет\", \n    \"displayName_zh\": \"导弹爆炸半径减小\", \n    \"displayNameID\": 1037578, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 654, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2555\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Scan Resolution Bonus\", \n    \"displayName_de\": \"Scanauflösungsbonus\", \n    \"displayName_en-us\": \"Scan Resolution Bonus\", \n    \"displayName_es\": \"Bonificación de resolución de escaneo\", \n    \"displayName_fr\": \"Bonus de résolution du balayage\", \n    \"displayName_it\": \"Scan Resolution Bonus\", \n    \"displayName_ja\": \"スキャン分解能ボーナス\", \n    \"displayName_ko\": \"스캔 정밀도 보너스\", \n    \"displayName_ru\": \"Влияние на разрешающую способность сенсоров\", \n    \"displayName_zh\": \"扫描分辨率加成\", \n    \"displayNameID\": 1037579, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 564\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2556\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Local Armor Repair Amount Bonus\", \n    \"displayName_de\": \"Bonus auf die lokale Panzerungsreparaturmenge\", \n    \"displayName_en-us\": \"Local Armor Repair Amount Bonus\", \n    \"displayName_es\": \"Bonificación de cantidad de reparación del blindaje local\", \n    \"displayName_fr\": \"Bonus au volume de réparation du blindage local\", \n    \"displayName_it\": \"Local Armor Repair Amount Bonus\", \n    \"displayName_ja\": \"ローカルアーマーリペア量ボーナス\", \n    \"displayName_ko\": \"장갑 수리 장치 회복량 증가\", \n    \"displayName_ru\": \"Бонус к эффективности местного ремонта брони\", \n    \"displayName_zh\": \"自身装甲维修量加成\", \n    \"displayNameID\": 1037580, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 84, \n        \"skillID\": 3393\n      }, \n      {\n        \"dogmaAttributeID\": 84, \n        \"skillID\": 21803\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2557\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Local Shield Boost Amount Bonus\", \n    \"displayName_de\": \"Bonus auf die lokale Schildsteigerungsmenge\", \n    \"displayName_en-us\": \"Local Shield Boost Amount Bonus\", \n    \"displayName_es\": \"Bonificación de cantidad de potenciador de escudo local\", \n    \"displayName_fr\": \"Bonus au volume du boost de bouclier local\", \n    \"displayName_it\": \"Local Shield Boost Amount Bonus\", \n    \"displayName_ja\": \"ローカルシールドブースト量ボーナス\", \n    \"displayName_ko\": \"실드 부스터 회복량 증가\", \n    \"displayName_ru\": \"Бонус к эффективности местной накачки щитов\", \n    \"displayName_zh\": \"自身护盾回充量加成\", \n    \"displayNameID\": 1037581, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 68, \n        \"skillID\": 3416\n      }, \n      {\n        \"dogmaAttributeID\": 68, \n        \"skillID\": 21802\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2558\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Remote Armor Repair Amount Bonus\", \n    \"displayName_de\": \"Bonus auf die entfernte Panzerungsreparaturmenge\", \n    \"displayName_en-us\": \"Remote Armor Repair Amount Bonus\", \n    \"displayName_es\": \"Bonificación de cantidad de reparación del blindaje remoto\", \n    \"displayName_fr\": \"Bonus au volume de réparation de blindage à distance\", \n    \"displayName_it\": \"Remote Armor Repair Amount Bonus\", \n    \"displayName_ja\": \"リモートアーマーリペア量ボーナス\", \n    \"displayName_ko\": \"원격 장갑수리 회복량 증가\", \n    \"displayName_ru\": \"Бонус к эффективности дистанционного ремонта брони\", \n    \"displayName_zh\": \"远程装甲维修量加成\", \n    \"displayNameID\": 1037874, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 84, \n        \"skillID\": 16069\n      }, \n      {\n        \"dogmaAttributeID\": 84, \n        \"skillID\": 24568\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2559\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Remote Shield Boost Amount Bonus\", \n    \"displayName_de\": \"Bonus auf die Fernschildsteigerungsmenge\", \n    \"displayName_en-us\": \"Remote Shield Boost Amount Bonus\", \n    \"displayName_es\": \"Bonificación de cantidad de potenciador de escudo remoto\", \n    \"displayName_fr\": \"Bonus au volume du boost de bouclier à distance\", \n    \"displayName_it\": \"Remote Shield Boost Amount Bonus\", \n    \"displayName_ja\": \"リモートシールドブースト量ボーナス\", \n    \"displayName_ko\": \"원격 실드 부스터 회복량 증가\", \n    \"displayName_ru\": \"Бонус к эффективности дистанционной накачки щитов\", \n    \"displayName_zh\": \"远程护盾回充量加成\", \n    \"displayNameID\": 1037875, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 68, \n        \"skillID\": 3422\n      }, \n      {\n        \"dogmaAttributeID\": 68, \n        \"skillID\": 24571\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2560\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Warp Drive Blocker\", \n    \"displayName_de\": \"<color=\\\"#FFFF454B\\\">Aktivierung blockiert:</color> Warpantriebe\", \n    \"displayName_en-us\": \"<color=\\\"#FFFF454B\\\">Activation Blocked:</color> Warp Drives\", \n    \"displayName_es\": \"<color=\\\"#FFFF454B\\\">Activación bloqueada:</color> motores de warp\", \n    \"displayName_fr\": \"<color=\\\"#FFFF454B\\\">Activation bloquée :</color> propulseurs de warp\", \n    \"displayName_it\": \"<color=\\\"#FFFF454B\\\">Activation Blocked:</color> Warp Drives\", \n    \"displayName_ja\": \"<color=\\\"#FFFF454B\\\">起動ブロック：</color>ワープドライブ\", \n    \"displayName_ko\": \"<color=\\\"#FFFF454B\\\">모듈 사용 금지:</color> 워프 드라이브\", \n    \"displayName_ru\": \"<color=\\\"#FFFF454B\\\">Заблокированы:</color> варп-двигатели\", \n    \"displayName_zh\": \"<color=\\\"#FFFF454B\\\">启动受阻：</color>跃迁引擎\", \n    \"displayNameID\": 1038311, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 104\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2561\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Horde Mode - Cloaking Devices Blocker\", \n    \"displayName_de\": \"<color=\\\"#FFFF454B\\\">Aktivierung blockiert:</color> Tarnvorrichtungen\", \n    \"displayName_en-us\": \"<color=\\\"#FFFF454B\\\">Activation Blocked:</color> Cloaking Devices\", \n    \"displayName_es\": \"<color=\\\"#FFFF454B\\\">Activación bloqueada:</color> dispositivos de camuflaje\", \n    \"displayName_fr\": \"<color=\\\"#FFFF454B\\\">Activation bloquée :</color> dispositifs de camouflage\", \n    \"displayName_it\": \"<color=\\\"#FFFF454B\\\">Activation Blocked:</color> Cloaking Devices\", \n    \"displayName_ja\": \"<color=\\\"#FFFF454B\\\">起動ブロック：</color>遮蔽装置\", \n    \"displayName_ko\": \"<color=\\\"#FFFF454B\\\">모듈 사용 금지:</color> 클로킹 장치\", \n    \"displayName_ru\": \"<color=\\\"#FFFF454B\\\">Заблокированы:</color> устройства маскировки\", \n    \"displayName_zh\": \"<color=\\\"#FFFF454B\\\">启动受阻：</color>隐形装置\", \n    \"displayNameID\": 1038313, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 2454\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"Hide\"\n  }, \n  \"2583\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Capsuleer Day - Energy Weapon Damage\", \n    \"displayName_de\": \"Energy Weapon Damage Bonus\", \n    \"displayName_en-us\": \"Energy Weapon Damage Bonus\", \n    \"displayName_es\": \"Energy Weapon Damage Bonus\", \n    \"displayName_fr\": \"Energy Weapon Damage Bonus\", \n    \"displayName_it\": \"Energy Weapon Damage Bonus\", \n    \"displayName_ja\": \"Energy Weapon Damage Bonus\", \n    \"displayName_ko\": \"Energy Weapon Damage Bonus\", \n    \"displayName_ru\": \"Energy Weapon Damage Bonus\", \n    \"displayName_zh\": \"Energy Weapon Damage Bonus\", \n    \"displayNameID\": 1039934, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [\n      {\n        \"dogmaAttributeID\": 64, \n        \"groupID\": 53\n      }\n    ], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2584\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Capsuleer Day Armor Resist\", \n    \"displayName_de\": \"Armor Hit Points Bonus\", \n    \"displayName_en-us\": \"Armor Hit Points Bonus\", \n    \"displayName_es\": \"Armor Hit Points Bonus\", \n    \"displayName_fr\": \"Armor Hit Points Bonus\", \n    \"displayName_it\": \"Armor Hit Points Bonus\", \n    \"displayName_ja\": \"Armor Hit Points Bonus\", \n    \"displayName_ko\": \"Armor Hit Points Bonus\", \n    \"displayName_ru\": \"Armor Hit Points Bonus\", \n    \"displayName_zh\": \"Armor Hit Points Bonus\", \n    \"displayNameID\": 1039935, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 265\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2585\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Capsuleer Day - Missile Laucher Rate of Fire\", \n    \"displayName_de\": \"Missile Launcher Rate of Fire Bonus\", \n    \"displayName_en-us\": \"Missile Launcher Rate of Fire Bonus\", \n    \"displayName_es\": \"Missile Launcher Rate of Fire Bonus\", \n    \"displayName_fr\": \"Missile Launcher Rate of Fire Bonus\", \n    \"displayName_it\": \"Missile Launcher Rate of Fire Bonus\", \n    \"displayName_ja\": \"Missile Launcher Rate of Fire Bonus\", \n    \"displayName_ko\": \"Missile Launcher Rate of Fire Bonus\", \n    \"displayName_ru\": \"Missile Launcher Rate of Fire Bonus\", \n    \"displayName_zh\": \"Missile Launcher Rate of Fire Bonus\", \n    \"displayNameID\": 1039936, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 51, \n        \"skillID\": 3319\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2586\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Capsuleer Day - Shield HP\", \n    \"displayName_de\": \"Shield Hit Points Bonus\", \n    \"displayName_en-us\": \"Shield Hit Points Bonus\", \n    \"displayName_es\": \"Shield Hit Points Bonus\", \n    \"displayName_fr\": \"Shield Hit Points Bonus\", \n    \"displayName_it\": \"Shield Hit Points Bonus\", \n    \"displayName_ja\": \"Shield Hit Points Bonus\", \n    \"displayName_ko\": \"Shield Hit Points Bonus\", \n    \"displayName_ru\": \"Shield Hit Points Bonus\", \n    \"displayName_zh\": \"Shield Hit Points Bonus\", \n    \"displayNameID\": 1039937, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 263\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2587\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Capsuleer Day - Projectile Turret Falloff\", \n    \"displayName_de\": \"Projectile Turret Falloff Bonus\", \n    \"displayName_en-us\": \"Projectile Turret Falloff Bonus\", \n    \"displayName_es\": \"Projectile Turret Falloff Bonus\", \n    \"displayName_fr\": \"Projectile Turret Falloff Bonus\", \n    \"displayName_it\": \"Projectile Turret Falloff Bonus\", \n    \"displayName_ja\": \"Projectile Turret Falloff Bonus\", \n    \"displayName_ko\": \"Projectile Turret Falloff Bonus\", \n    \"displayName_ru\": \"Projectile Turret Falloff Bonus\", \n    \"displayName_zh\": \"Projectile Turret Falloff Bonus\", \n    \"displayNameID\": 1039940, \n    \"itemModifiers\": [], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [\n      {\n        \"dogmaAttributeID\": 158, \n        \"skillID\": 3302\n      }, \n      {\n        \"dogmaAttributeID\": 158, \n        \"skillID\": 3305\n      }, \n      {\n        \"dogmaAttributeID\": 158, \n        \"skillID\": 3308\n      }\n    ], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2588\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Capsuleer Day - Velocity\", \n    \"displayName_de\": \"Max Velocity Bonus\", \n    \"displayName_en-us\": \"Max Velocity Bonus\", \n    \"displayName_es\": \"Max Velocity Bonus\", \n    \"displayName_fr\": \"Max Velocity Bonus\", \n    \"displayName_it\": \"Max Velocity Bonus\", \n    \"displayName_ja\": \"Max Velocity Bonus\", \n    \"displayName_ko\": \"Max Velocity Bonus\", \n    \"displayName_ru\": \"Max Velocity Bonus\", \n    \"displayName_zh\": \"Max Velocity Bonus\", \n    \"displayNameID\": 1039941, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 37\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2589\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Capsuleer Day Amarr Warp Speed\", \n    \"displayName_de\": \"Warp Speed Bonus\", \n    \"displayName_en-us\": \"Warp Speed Bonus\", \n    \"displayName_es\": \"Warp Speed Bonus\", \n    \"displayName_fr\": \"Warp Speed Bonus\", \n    \"displayName_it\": \"Warp Speed Bonus\", \n    \"displayName_ja\": \"Warp Speed Bonus\", \n    \"displayName_ko\": \"Warp Speed Bonus\", \n    \"displayName_ru\": \"Warp Speed Bonus\", \n    \"displayName_zh\": \"Warp Speed Bonus\", \n    \"displayNameID\": 1039964, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 600\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2590\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Capsuleer Day Caldari Warp Speed\", \n    \"displayName_de\": \"Warp Speed Bonus\", \n    \"displayName_en-us\": \"Warp Speed Bonus\", \n    \"displayName_es\": \"Warp Speed Bonus\", \n    \"displayName_fr\": \"Warp Speed Bonus\", \n    \"displayName_it\": \"Warp Speed Bonus\", \n    \"displayName_ja\": \"Warp Speed Bonus\", \n    \"displayName_ko\": \"Warp Speed Bonus\", \n    \"displayName_ru\": \"Warp Speed Bonus\", \n    \"displayName_zh\": \"Warp Speed Bonus\", \n    \"displayNameID\": 1039965, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 600\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2591\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Capsuleer Day Minmatar Warp Speed\", \n    \"displayName_de\": \"Warp Speed Bonus\", \n    \"displayName_en-us\": \"Warp Speed Bonus\", \n    \"displayName_es\": \"Warp Speed Bonus\", \n    \"displayName_fr\": \"Warp Speed Bonus\", \n    \"displayName_it\": \"Warp Speed Bonus\", \n    \"displayName_ja\": \"Warp Speed Bonus\", \n    \"displayName_ko\": \"Warp Speed Bonus\", \n    \"displayName_ru\": \"Warp Speed Bonus\", \n    \"displayName_zh\": \"Warp Speed Bonus\", \n    \"displayNameID\": 1039966, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 600\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"PostPercent\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }, \n  \"2593\": {\n    \"aggregateMode\": \"Maximum\", \n    \"developerDescription\": \"Item Trader Shield Buff\", \n    \"displayName_de\": \"Additional Base Shield Hitpoints\", \n    \"displayName_en-us\": \"Additional Base Shield Hitpoints\", \n    \"displayName_es\": \"Additional Base Shield Hitpoints\", \n    \"displayName_fr\": \"Additional Base Shield Hitpoints\", \n    \"displayName_it\": \"Additional Base Shield Hitpoints\", \n    \"displayName_ja\": \"Additional Base Shield Hitpoints\", \n    \"displayName_ko\": \"Additional Base Shield Hitpoints\", \n    \"displayName_ru\": \"Additional Base Shield Hitpoints\", \n    \"displayName_zh\": \"Additional Base Shield Hitpoints\", \n    \"displayNameID\": 1041619, \n    \"itemModifiers\": [\n      {\n        \"dogmaAttributeID\": 263\n      }\n    ], \n    \"locationGroupModifiers\": [], \n    \"locationModifiers\": [], \n    \"locationRequiredSkillModifiers\": [], \n    \"operationName\": \"ModAdd\", \n    \"showOutputValueInUI\": \"ShowNormal\"\n  }\n}"
  },
  {
    "path": "staticdata/phobos/metadata.0.json",
    "content": "[\n  {\n    \"field_name\": \"client_build\", \n    \"field_value\": 3326071\n  }, \n  {\n    \"field_name\": \"dump_time\", \n    \"field_value\": 1777555540\n  }\n]"
  },
  {
    "path": "staticdata/phobos/traits.0.json",
    "content": "[\n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf den maximalen Geschwindigkeitsfaktor von Stasisnetzen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to Small Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Small Hybrid Turret falloff\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Stasis Webifier max velocity factor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación al alcance efectivo de la torreta híbrida pequeña.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación al factor de velocidad máxima de la red ralentizadora.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus de distance de perte des petites tourelles hybrides\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus au facteur de vitesse maximale des générateurs de stase\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to Small Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Small Hybrid Turret falloff\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Stasis Webifier max velocity factor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"小型ハイブリッドタレットの精度低下範囲が拡大\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ステイシスウェビファイアの最高速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"소형 하이브리드 터렛 유효사거리 증가\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"스테이시스 웹 생성기 최대 속도 계수 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 75%\", \n            \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 22.5%\", \n            \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"увеличивается добавочная дальность ведения огня из малых гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"повышается эффективность действия стазис-индукторов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"小型混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"小型混合炮台跟踪速度加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"小型混合炮台失准范围加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"停滞缠绕光束最大速度影响系数加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 33083\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit von leichten Lenkwaffen und Raketen\"\n          }, \n          {\n            \"number\": \"12%\", \n            \"text\": \"Bonus auf alle Schildresistenzen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die HP, den Schaden und die Erzausbeute von Drohnen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit von Drohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Light Missile and Rocket max velocity\"\n          }, \n          {\n            \"number\": \"12%\", \n            \"text\": \"bonus to all shield resistances\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Drone hitpoints, damage and mining yield\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Drone max velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la velocidad máxima de los misiles ligeros y los cohetes.\"\n          }, \n          {\n            \"number\": \"12%\", \n            \"text\": \"de bonificación a todas las resistencias de escudo.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a los puntos de vida, el daño y el rendimiento minero de los drones.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad máxima de los drones.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la vitesse maximale des missiles légers et des roquettes\"\n          }, \n          {\n            \"number\": \"12%\", \n            \"text\": \"de bonus à toutes les résistances de bouclier\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus aux dégâts, aux PV et au rendement d'extraction des drones\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse maximale des drones\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Light Missile and Rocket max velocity\"\n          }, \n          {\n            \"number\": \"12%\", \n            \"text\": \"bonus to all shield resistances\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Drone hitpoints, damage and mining yield\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Drone max velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"ライトミサイルとロケットの最高速度が上昇\"\n          }, \n          {\n            \"number\": \"12%\", \n            \"text\": \"全てのシールドレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ドローンのヒットポイント・ダメージ・採掘量が増加\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ドローンの最高速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"라이트 미사일 및 로켓 최대 속도 증가\"\n          }, \n          {\n            \"number\": \"12%\", \n            \"text\": \"모든 실드 저항력 증가\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"드론 내구도, 피해량, 채굴량 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"드론 최대속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается скорость полёта лёгких ракет и лёгких штурмовых ракет\"\n          }, \n          {\n            \"number\": \"на 12%\", \n            \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"увеличивается урон бортового оружия дронов и производительность буровых дронов; увеличивается запас их прочности\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорость полного хода дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"轻型导弹和火箭飞行速度加成\"\n          }, \n          {\n            \"number\": \"12%\", \n            \"text\": \"护盾抗性加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"无人机伤害、HP和采矿量加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"无人机最大速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 33081\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Geschwindigkeit von schweren Angriffslenkwaffen und schweren Lenkwaffen\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Schildkommando- und Gefechtkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile velocity\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Shield Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de escudo y de mando de escaramuza.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles lourds et des lance-missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers et de commandement tactique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles lourds et des lance-missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile velocity\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Shield Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの速度上昇\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"シールドコマンドバーストと機動戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"指揮型巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 속도 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"실드 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорострельность ПУ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к скорости тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов и импульсными оптимизаторами маневрирования\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли управления:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорострельность ПУ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к сопротивляемости щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器和重型攻击导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹飞行速度加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"护盾指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器和重型攻击导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22468\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2AE/s\", \n            \"text\": \"Erhöhung der Warpgeschwindigkeit des Schiffs\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2AU/s\", \n            \"text\": \"increase in ship warp speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2UA/s\", \n            \"text\": \"de aumento de la velocidad de warp de la nave.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2UA/s\", \n            \"text\": \"augmentation de la vitesse de warp du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2AU/s\", \n            \"text\": \"increase in ship warp speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2AU/秒\", \n            \"text\": \"艦船ワープ速度が上昇\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2AU/s\", \n            \"text\": \"워프 속도 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 2а. е./сек.\", \n            \"text\": \"увеличение скорости хода в варп-режиме\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2AU/s\", \n            \"text\": \"提高舰船跃迁速度\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 54215\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungkommando- und Gefechtkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to Armored Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje y de mando de escaramuza.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindé et de commandement tactique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to Armored Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの精度低下範囲が拡大\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"アーマードコマンドバーストと機動戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"指揮型巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"장갑 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорострельность средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони и импульсными оптимизаторами маневрирования\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли управления:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22466\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der Kinetikresistenz von Schiffen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Scanauflösung von Schiffen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Zyklusgeschwindigkeit von Bergbaulasern\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Zyklusgeschwindigkeit von Panzerungsreparatursystemen und Schildboostern\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf Warpgeschwindigkeit von Schiffen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in ship kinetic resistances\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to ship scan resolution\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to mining laser cycle speed\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to local Armor Repairer and Shield Booster cycle speed\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to ship warp speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de las resistencias cinéticas de la nave.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resolución de escaneo de la nave.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad de ciclo del láser minero.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad de ciclo del reparador de blindaje y el potenciador de escudo locales.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la velocidad de warp de la nave.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des résistances cinétiques du vaisseau\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la résolution du balayage du vaisseau\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus de vitesse de cycle des lasers d'extraction\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus au réparateur de blindage local et à la vitesse de cycle du booster de bouclier\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la vitesse de warp du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in ship kinetic resistances\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to ship scan resolution\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to mining laser cycle speed\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to local Armor Repairer and Shield Booster cycle speed\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to ship warp speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船のキネティックレジスタンスが減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"艦船のスキャン分解能を強化\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"採掘レーザーのサイクル速度を短縮\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ローカルアーマーリペアラとシールドブースターのサイクル速度が増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"艦船のワープ速度が増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"키네틱 저항력 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"함선 스캔 정밀도 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"채굴 레이저 사이클 시간 감소\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"장갑수리 장치 및 실드 부스터 사이클 시간 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"워프 속도 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшение сопротивляемости корабля кинетическому урону\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к разрешающей способности сенсоров корабля\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к скорости цикла бурового лазера\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к скорости цикла установки ремонта брони и модуля усиления щитов\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к скорости хода корабля в варп-режиме\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船动能抗性降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"舰船扫描分辨率加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"采矿激光器循环速度加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"自身装甲维修器和护盾回充增量器循环速度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"舰船跃迁速度加成\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 56059\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Unterbechungsfeldwerfer eingebaut werden\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die HP von Schilden\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }\n          ], \n          \"header\": \"Interdictors Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetikschaden von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von leichten Lenkwaffen und Raketen\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Interdiction Sphere Launcher\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to shield hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Interdictors bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket kinetic damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un lanzaesferas de interdicción.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a los puntos de vida de los escudos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interdictores (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles ligeros y los cohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des lanceurs de sphère d'interdiction\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux points de vie du bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Interdicteurs :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles légers et des roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Interdiction Sphere Launcher\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to shield hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Interdictors bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket kinetic damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·インターディクションスフィアランチャーを装備できる\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"シールドHPが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }\n          ], \n          \"header\": \"ワープ妨害型駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイルおよびロケットのキネティックダメージが上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイルとロケットの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·인터딕션 런처 장착 가능\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"실드량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }\n          ], \n          \"header\": \"인터딕터 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일 및 로켓 키네틱 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일 및 로켓 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться пусковыми установками зондов варп-заграждения\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"бонус к запасу прочности щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Заградительные эсминцы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к кинетическому урону от лёгких ракет и ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается скорость полёта лёгких ракет и лёгких штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以安装拦截泡发射器\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"护盾值加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }\n          ], \n          \"header\": \"拦截舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭动能伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭飞行速度加成\"\n            }\n          ], \n          \"header\": \"加达里驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22464\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduzierte effektiv zurückgelegte Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 33328\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Unterbrechungsfeldwerfer ist ausrüstbar\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des Masseabzugs von Panzerplatten\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }\n          ], \n          \"header\": \"Interdictors Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Interdiction Sphere Launcher\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Armor Plate mass penalty\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Interdictors bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un lanzaesferas de interdicción.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción de la penalización de masa de la placa de blindaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interdictores (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un lanceur de sphère d'interdiction\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction à la pénalité de masse du revêtement de blindage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature du propulseur de microwarp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Interdicteurs :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Interdiction Sphere Launcher\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Armor Plate mass penalty\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Interdictors bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·インターディクションスフィアランチャーを搭載可能\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"アーマープレートの質量ペナルティが減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }\n          ], \n          \"header\": \"ワープ妨害型駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型ハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·인터딕션 런처 장착 가능\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"장갑 플레이트 질량 페널티 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }\n          ], \n          \"header\": \"인터딕터 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Можно оснастить системой запуска заградительных сфер\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"снижение штрафа за массу для бронеплит\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Заградительные эсминцы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорострельности малых гибридных турелей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以安装拦截泡发射器\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"附甲板质量惩罚降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }\n          ], \n          \"header\": \"拦截舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22460\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von Panzerungs-Fernreparatursystemen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von Leitcomputern\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Nachführungs-Ferncomputern\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Masseabzugs von Panzerplatten\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"reduction in Remote Armor Repairer powergrid requirement\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Remote Tracking Computer falloff\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Tracking Computer effectiveness\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Armor Plate mass penalty\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia del reparador de blindaje remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance efectivo del ordenador de rastreo remoto.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad de transferencia de los drones logísticos.\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo del reparador de blindaje remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción del coste de activación del reparador de blindaje remoto.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad de los ordenadores de rastreo remotos.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de masa de la placa de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros logísticos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"de réduction au réseau d'alimentation requis par les réparateurs de blindage à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la déperdition de l'ordinateur de poursuite à distance\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité de transfert du drone logistique\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonus à la portée optimale et à la perte du réparateur de blindage à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction du coût d'activation des réparateurs de blindage à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité des ordinateurs de suivi à distance\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de masse du revêtement de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs logistiques :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"reduction in Remote Armor Repairer powergrid requirement\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Remote Tracking Computer falloff\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Tracking Computer effectiveness\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Armor Plate mass penalty\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"リモートアーマーリペアラのパワーグリッド使用量が軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"リモート追跡コンピューターの精度低下範囲が改善\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"支援型ドローンの転送量が向上\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"リモートアーマーリペアラの最適射程距離および精度低下範囲が改善\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"リモートアーマーリペアラの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートトラッキングコンピュータの効果が増加\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"アーマープレートの質量ペナルティが減少\"\n            }\n          ], \n          \"header\": \"支援型巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"원격 장갑수리 장치 파워그리드 요구치 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 트래킹 컴퓨터 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"로지스틱스 드론 수리량 증가\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"원격 장갑수리 장치 최적사거리 및 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"원격 장갑수리 장치 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 트래킹 컴퓨터 효과 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"장갑 플레이트 질량 페널티 감소\"\n            }\n          ], \n          \"header\": \"로지스틱스 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 65%\", \n            \"text\": \"сокращается потребность установок дистанционного ремонта брони в мощности реактора\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается добавочная дальность передатчиков данных наводки\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается производительность ремонтных дронов\"\n            }, \n            {\n              \"number\": \"на 60%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность действия установок дистанционного ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность передатчиков данных наводки\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"снижение штрафа за массу для бронеплит\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли обеспечения:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"远程装甲维修器能量栅格需求降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"远距索敌计算机失准范围加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"后勤无人机传输量加成\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"远程装甲维修器最佳射程和失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"远程装甲维修器启动消耗减少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远距索敌计算机效果加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"装甲板质量惩罚降低\"\n            }\n          ], \n          \"header\": \"后勤巡洋舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11989\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf alle Schildresistenzen\"\n          }, \n          {\n            \"text\": \"·Kann Module für Warpstörfeldgenerator und Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Wird nicht von den Masse- und Geschwindigkeitseffekten von Warpstörfeld-Generatoren beeinflusst\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Reichweite von Warpstörfeldgeneratoren\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittelgroßen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Geschwindigkeitsbonus von Nachbrennern\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Medium Energy Turret damage\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all shield resistances\"\n          }, \n          {\n            \"text\": \"·Can fit Warp Disruption Field Generator and Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Unaffected by Warp Disruption Field Generator mass & speed effects\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Disruption Field Generator range\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a todas las resistencias de escudo.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de generador de campo disruptor de warp y generador de campo cinosural.\"\n          }, \n          {\n            \"text\": \"·No le afectan los efectos de masa y velocidad del generador de campo disruptor de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance del generador de campo disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros interdictores pesados (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la velocidad del posquemador.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonus aux dégâts de la tourelle à énergie intermédiaire\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus à toutes les résistances de bouclier\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules générateur de champ perturbateur de warp et générateur de champ cynosural\"\n          }, \n          {\n            \"text\": \"·non affecté par les effets de masse et de vitesse du générateur de champ perturbateur de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée du générateur de champ perturbateur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'interdiction lourds :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la tourelle à énergie intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus au bonus de vitesse du système de post-combustion\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Medium Energy Turret damage\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all shield resistances\"\n          }, \n          {\n            \"text\": \"·Can fit Warp Disruption Field Generator and Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Unaffected by Warp Disruption Field Generator mass & speed effects\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Disruption Field Generator range\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"中型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"全てのシールドレジスタンスが増加\"\n          }, \n          {\n            \"text\": \"·ワープ妨害フィールドジェネレーターとサイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·Unaffected by ワープ妨害フィールドジェネレーターの質量効果および速度効果の影響を受けない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープ妨害フィールドジェネレーターの範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ワープ妨害型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型エネルギータレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"アフターバーナーの速度ボーナスが上昇。\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"중형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"모든 실드 저항력 증가\"\n          }, \n          {\n            \"text\": \"·워프 디스럽션 필드 생성기 및 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·워프 디스럽션 필드 생성기의 질량 및 속도 감소 효과 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 디스럽션 필드 생성기 사거리 증가\"\n            }\n          ], \n          \"header\": \"인터딕터 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 에너지 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"애프터버너 속도 보너스 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 250%\", \n            \"text\": \"увеличивается урон средних лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение бортовым варп-заградителем и приводным маяком\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа нечувствительны к действию собственных бортовых варп-заградителей в части их влияния на массу корабля, влияния на эффективность форсажных ускорителей и микроварп-ускорителей\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к дальности действия бортового варп-заградителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Заградительные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается влияние форсажных ускорителей на скорость полёта корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"中型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"护盾抗性加成\"\n          }, \n          {\n            \"text\": \"·可以装配跃迁扰断力场发生器和诱导力场发生器装备\"\n          }, \n          {\n            \"text\": \"·不受跃迁扰断力场发生器的质量和速度影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁扰断力场发生器的范围扩大\"\n            }\n          ], \n          \"header\": \"重型拦截巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型能量炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"加力燃烧器速度增益加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 35781\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Verstärkte Schotten\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP der Panzerung und des Rumpf des Schiffs\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion des Sprungtreibstoffbedarfs\"\n            }\n          ], \n          \"header\": \"Jump Freighters Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Trägheitsmodifikator des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Freighter Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship armor and hull hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in jump fuel requirement\"\n            }\n          ], \n          \"header\": \"Jump Freighters bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Amarr Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de los requisitos de CPU del mamparo reforzado.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida del blindaje y el casco de la nave.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del requisito de combustible para saltos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cargueros de salto (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al modificador de inercia de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Carguero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"réduction de la charge CPU requise pour les cloisons renforcées\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus au blindage et aux PV de la coque du vaisseau\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction au carburant de saut hyperspatial requis\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transports de fret hyperspatiaux :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au modificateur d'inertie du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transport de fret amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship armor and hull hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in jump fuel requirement\"\n            }\n          ], \n          \"header\": \"Jump Freighters bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Amarr Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"強化隔壁のCPU要件が減少\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のアーマー・船体のヒットポイントが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ジャンプ燃料使用量が減少\"\n            }\n          ], \n          \"header\": \"ジャンプドライブ搭載型輸送艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の慣性修正乗数が増加\"\n            }\n          ], \n          \"header\": \"アマー超大型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"강화 격벽 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"함선 장갑 및 선체 내구도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"요구되는 점프 연료량 감소\"\n            }\n          ], \n          \"header\": \"점프 프레이터 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"관성 계수 증가\"\n            }\n          ], \n          \"header\": \"아마르 프레이터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность усиленных переборок в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается запас прочности брони и корпуса корабля\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление топлива гипердвигателем корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Джамп-фрейтеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается инертность конструкции корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрейтеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"加强型舱隔壁的CPU需求降低\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船装甲值和结构值加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跳跃燃料需求减少\"\n            }\n          ], \n          \"header\": \"战略货舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船惯性调整系数加成\"\n            }\n          ], \n          \"header\": \"艾玛货舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 28850\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von Energiespeicher-Ferntransmittern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Energiespeicher-Ferntransmittern\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die HP der Panzerplatte\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"Bonus auf die Reichweite von Energiespeicher-Ferntransmittern\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"reduction in Remote Armor Repairer powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Capacitor Transmitter powergrid requirement\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Capacitor Transmitter activation cost\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Plate hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"bonus to Remote Capacitor Transmitter range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia del transmisor de condensador remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción del coste de activación del transmisor de condensador remoto.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción del coste de activación del reparador de blindaje remoto.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros logísticos (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"de bonificación al alcance del transmisor de condensador remoto.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad de transferencia de los drones logísticos.\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo del reparador de blindaje remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"de réduction du réseau d'alimentation requis par les réparateurs de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du réseau d'alimentation requis par les transmetteurs de capaciteur à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction du coût d'activation des transmetteurs de capaciteur à distance\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction du coût d'activation des réparateurs de blindage à distance\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs logistiques :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"de bonus à la portée du transmetteur de capaciteur à distance\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité de transfert du drone logistique\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonus à la portée optimale et à la perte du réparateur de blindage à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"reduction in Remote Armor Repairer powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Capacitor Transmitter powergrid requirement\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Capacitor Transmitter activation cost\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Plate hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"bonus to Remote Capacitor Transmitter range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"リモートアーマーリペアラのパワーグリッド使用量が軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートキャパシタトランスミッターのパワーグリッド使用量が軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"リモートキャパシタトランスミッターの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"リモートアーマーリペアラの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマープレートHPが増加\"\n            }\n          ], \n          \"header\": \"支援型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"リモートキャパシタトランスミッターの範囲が拡大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"支援型ドローンの転送量が向上\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"リモートアーマーリペアラの最適射程距離および精度低下範囲が改善\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"원격 장갑수리 장치 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 캐패시터 전송기 파워그리드 요구치 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"원격 캐패시터 전송기 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"원격 장갑수리 장치 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑 플레이트 내구도 증가\"\n            }\n          ], \n          \"header\": \"로지스틱스 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"원격 캐패시터 전송기 사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"로지스틱스 드론 수리량 증가\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"원격 장갑수리 장치 최적사거리 및 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 65%\", \n            \"text\": \"сокращается потребность установок дистанционного ремонта брони в мощности реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность установок дистанционного энергоснабжения в мощности реактора\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного энергоснабжения\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к прочности бронеплиты\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли обеспечения:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 150%\", \n              \"text\": \"увеличивается дальность действия установок дистанционного энергоснабжения\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается производительность ремонтных дронов\"\n            }, \n            {\n              \"number\": \"на 60%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность действия установок дистанционного ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"65%\", \n            \"text\": \"远程装甲维修器能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程电容传输装置能量栅格需求降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"远程电容传输装置启动消耗减少\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"远程装甲维修器启动消耗减少\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲板装甲值加成\"\n            }\n          ], \n          \"header\": \"后勤巡洋舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"远程电容传输装置距离加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"后勤无人机传输量加成\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"远程装甲维修器最佳射程和失准范围加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11987\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Schildfernboostern\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von Energiespeicher-Ferntransmittern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Energiespeicher-Ferntransmittern\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Schildfernboostern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die HP der Schilderweiterung\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"Bonus auf die Reichweite von Energiespeicher-Ferntransmittern\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Schildfernboostern\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Shield Booster CPU requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Capacitor Transmitter powergrid requirement\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Capacitor Transmitter activation cost\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Extender hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"bonus to Remote Capacitor Transmitter range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Remote Shield Booster optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de los requisitos de CPU del potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia del transmisor de condensador remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción del coste de activación del transmisor de condensador remoto.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción del coste de activación del potenciador de escudo remoto.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros logísticos (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"de bonificación al alcance del transmisor de condensador remoto.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad de transferencia de los drones logísticos.\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo del potenciador de escudo remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction au CPU requis par les boosters de bouclier à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction au réseau d'alimentation requis par les transmetteurs de capaciteur à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction du coût d'activation des transmetteurs de capaciteur à distance\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction du coût d'activation des boosters de bouclier à distance\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs logistiques :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"de bonus à la portée du transmetteur de capaciteur à distance\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité de transfert du drone logistique\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonus à la portée optimale et à la déperdition dubooster de bouclier à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Shield Booster CPU requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Capacitor Transmitter powergrid requirement\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Capacitor Transmitter activation cost\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Extender hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"bonus to Remote Capacitor Transmitter range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Remote Shield Booster optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートシールドブースターのCPU使用量が軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートキャパシタトランスミッターのパワーグリッド使用量が軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"リモートキャパシタトランスミッターの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"リモートシールドブースターの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドエクステンダーHPが増加\"\n            }\n          ], \n          \"header\": \"支援型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"リモートキャパシタトランスミッターの範囲が拡大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"支援型ドローンの転送量が向上\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"リモートシールドブースターの最適射程距離および精度低下範囲が改善\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 실드 부스터 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 캐패시터 전송기 파워그리드 요구치 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"원격 캐패시터 전송기 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"원격 실드 부스터 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 확장장치 실드량 증가\"\n            }\n          ], \n          \"header\": \"로지스틱스 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"원격 캐패시터 전송기 사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"로지스틱스 드론 수리량 증가\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"원격 실드 부스터 최적사거리 및 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность установок дистанционной накачки щитов в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность установок дистанционного энергоснабжения в мощности реактора\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного энергоснабжения\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается потребление энергии установками дистанционной накачки щитов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к прочности расширителя щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли обеспечения:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 150%\", \n              \"text\": \"увеличивается дальность действия установок дистанционного энергоснабжения\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается производительность ремонтных дронов\"\n            }, \n            {\n              \"number\": \"на 60%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность действия установок дистанционной накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"远程护盾回充增量器CPU需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程电容传输装置能量栅格需求降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"远程电容传输装置启动消耗减少\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"远程护盾回充增量器启动消耗减少\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾扩展装置护盾值加成\"\n            }\n          ], \n          \"header\": \"后勤巡洋舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"150%\", \n              \"text\": \"远程电容传输装置距离加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"后勤无人机传输量加成\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"远程护盾回充增量器最佳射程和失准范围加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11985\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Assault Frigates Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas de asalto (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d’assaut :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"強襲型フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"어썰트 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }\n          ], \n          \"header\": \"突击护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11381\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Zielmarkierungsmodulen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Zielmarkierungsmodulen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Reduktion des Signaturradius des Schiffs\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"reduction in ship signature radius\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo del revelador de objetivo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad del revelador de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de reducción del radio de la señal de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de ataque electrónicas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des marqueurs de cible\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité du marqueur de cible\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"de bonus à la portée optimale des générateurs de stase\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de réduction du rayon de signature du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux d'attaque électronique :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"reduction in ship signature radius\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ターゲットペインターの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ターゲットペインターの効果が増加\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"ステイシスウェビファイアの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"艦船のシグネチャ半径が縮小\"\n            }\n          ], \n          \"header\": \"電子攻撃船ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"타겟 페인터 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"타겟 페인터 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"함선 시그니처 반경 감소\"\n            }\n          ], \n          \"header\": \"전자전 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность действия систем подсветки целей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия систем подсветки целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 40%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"уменьшается размер сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"目标标记装置最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"目标标记装置效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"舰船信号半径降低\"\n            }\n          ], \n          \"header\": \"电子攻击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11387\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"アマーハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Amarr Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"艾玛运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 1944\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die maximale Geschwindigkeit des Schiffs beim Einsatz von Tarnvorrichtungen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Energiespeicherverbrauchs des Warpantriebs\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Scan-Dauer von Vermessungssonden\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in warp drive capacitor need\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in time required for Survey Probe scans\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave al utilizar dispositivos de camuflaje.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la necesidad del condensador del motor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción al tiempo necesario para los escaneos de las sondas de prospección.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut équiper un dispositif de camouflage opérations secrètes et un générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale d'un vaisseau lorsqu'équipé d'un dispositif de camouflage actif\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction des besoins énergétiques du capaciteur pour le propulseur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction de temps nécessaire pour le balayage des sondes d'exploration\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in warp drive capacitor need\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in time required for Survey Probe scans\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }, \n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"遮蔽装置使用時の艦船の最高速度が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ワープドライブの必要キャパシタ量が減少\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"衛星調査プローブスキャンにかかる時間が減少\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"클로킹 장치 사용 시 함선 최대 속도 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"워프 드라이브 캐패시터 요구량 감소\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"조사 프로브 스캔 시간 감소\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к максимальной скорости хода при использовании устройств маскировки\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"снижение потребления энергии варп-двигателем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход времени на сбор данных зондами луноразведки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"使用隐形装置时舰船的最大速度加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"跃迁引擎电容需求降低\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"测量探针扫描时间减少\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11182\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen, schnellen schweren Lenkwaffen, Marschflugkörpern und Torpedos\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP von und den Schaden durch Drohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Energie-Nosferatus und Energieneutralisierern\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret, Rapid Heavy Missile, Cruise Missile and Torpedo damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de las torretas de energía grande, los misiles pesados rápidos, los misiles de crucero y los torpedos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo del nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles à énergie, missiles lourds, missiles de croisière et torpilles rapides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux points de vie des drones\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des Nosferatu à énergie et des neutraliseurs d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret, Rapid Heavy Missile, Cruise Missile and Torpedo damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレット、高速ヘビーミサイル、クルーズミサイル及びトルピードのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのHPとダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーノスフェラトゥとエネルギーニュートラライザーの最適射程距離にボーナス\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛, 급속 헤비 미사일, 크루즈 미사일, 토피도 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투, 에너지 뉴트럴라이저 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону от больших лазерных орудий, скорострельных тяжёлых ракет, дальнобойных ракет и торпед\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону и запасу прочности дронов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к оптимальной дальности энергопоглощения и дистанционных нейтрализаторов заряда\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮台、重型快速导弹、巡航导弹和鱼雷伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP和伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32305\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblockern\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Reaktivierungsverzögerung des Anti-Unterbrechers, des max. Erfassungsreichweitenabzugs und des Scanauflösungsabzugs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Raketenwerfern\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Interceptors Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay, max lock range penalty, and scan resolution penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rocket Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo y a la resolución de escaneo del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro del lanzacohetes.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interceptores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction, à la pénalité de portée de verrouillage maximale et à la pénalité de résolution du balayage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des roquettes\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et des perturbateurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Intercepteurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay, max lock range penalty, and scan resolution penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rocket Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と、最大ロック射程とスキャン分解能のペナルティ減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ロケットランチャーの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"要撃型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍시스템 활성화 비용 감소\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 무효화 장치 재활성화 대기시간, 최대 타겟팅 거리 및 스캔 정밀도 페널티 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 무효화 장치 지속시간 보너스\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"로켓 런처 연사속도 보너스\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"인터셉터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений, штрафа к максимальной дальности захвата цели и разрешающей способности сенсоров\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность ПУ лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Перехватчики:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗减少\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟、最大锁定距离惩罚和扫描分辨率惩罚降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"火箭发射器射速加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最佳射程加成\"\n            }\n          ], \n          \"header\": \"截击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11186\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Vorton-Projektoren\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Vorton-Projektoren\"\n            }\n          ], \n          \"header\": \"EDENCOM Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Vorton Projector damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Vorton Projector rate of fire\"\n            }\n          ], \n          \"header\": \"EDENCOM Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño del proyector vortónico grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro del proyector vortónico grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de EDENCOM (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"améliore les dégâts des grands projecteurs de vortons\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"améliore la cadence de tir des grands projecteurs de vortons\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé EDENCOM :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Vorton Projector damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Vorton Projector rate of fire\"\n            }\n          ], \n          \"header\": \"EDENCOM Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ヴォートンプロジェクターのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ヴォートンプロジェクターの発射間隔にボーナス\"\n            }\n          ], \n          \"header\": \"EDENCOM戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 보르톤 프로젝터 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 보르톤 프로젝터 연사속도 증가\"\n            }\n          ], \n          \"header\": \"EDENCOM 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону большого вортонного проектора\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорострельности большого вортонного проектора\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка EDENCOM Battleship:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型电弧弦投射器伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型电弧弦投射器射速加成\"\n            }\n          ], \n          \"header\": \"伊甸联合防御阵线战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 54733\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten vonAntriebsblockern\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Nutzen der Überhitzung von Nachbrennern und Mikrowarpantrieben\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Interceptors Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los beneficios de posquemadores y motores de microwarp sobrecalentados.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interceptores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux avantages de la surchauffe sur les systèmes de post-combustion et les propulseurs de microwarp\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des petites tourelles à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Intercepteurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"オーバーヒートしたアフターバーナーとマイクロワープドライブの恩恵にボーナス\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型エネルギータレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"要撃型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍시스템 활성화 비용 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"애프터버너 및 마이크로 워프 드라이브 과부하 효과 증가\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 에너지 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"인터셉터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к преимуществам перегрева форсажных ускорителей и микроварп-ускорителей\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Перехватчики:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗减少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"加力燃烧器和微型跃迁推进器过载效果加成\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型能量炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"截击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11184\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Vorton-Projektoren\"\n            }\n          ], \n          \"header\": \"EDENCOM Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Vorton Projector damage\"\n            }\n          ], \n          \"header\": \"EDENCOM Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño del proyector vortónico pequeño.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata de EDENCOM (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"améliore les dégâts des petits projecteurs de vortons\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate EDENCOM :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Vorton Projector damage\"\n            }\n          ], \n          \"header\": \"EDENCOM Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型ヴォートンプロジェクターのダメージにボーナス\"\n            }\n          ], \n          \"header\": \"EDENCOMフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 보르톤 프로젝터 피해량 증가\"\n            }\n          ], \n          \"header\": \"EDENCOM 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 6%\", \n              \"text\": \"бонус к сопротивляемости щитов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону малого вортонного проектора\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка EDENCOM Frigate:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型电弧弦投射器伤害加成\"\n            }\n          ], \n          \"header\": \"伊甸联合防御阵线护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 54731\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Projektilgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de proyectiles pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus à la portée optimale de la petite tourelle à projectiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la petite tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la vitesse de poursuite de la petite tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型プロジェクタイルタレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 발사체 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых баллистических орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型射弹炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33883\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Abweichung von Kern- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Energiespeicherverbrauchs des Warpantriebs\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Scan-Dauer von Vermessungssonden\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction to Core and Combat Scanner Probe deviation\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in warp drive capacitor need\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in time required for Survey Probe scans\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción a la desviación de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la necesidad del condensador del motor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción al tiempo necesario para los escaneos de las sondas de prospección.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut équiper un dispositif de camouflage opérations secrètes et un générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"réduction de la déviation des sondes principales et des sondes de scanner de combat\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction des besoins énergétiques du capaciteur pour le propulseur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction de temps nécessaire pour le balayage des sondes d'exploration\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction to Core and Combat Scanner Probe deviation\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in warp drive capacitor need\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in time required for Survey Probe scans\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }, \n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"コア及び戦闘スキャナープローブの誤差が減少\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ワープドライブの必要キャパシタ量が減少\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"衛星調査プローブスキャンにかかる時間が減少\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 오차 감소\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"워프 드라이브 캐패시터 요구량 감소\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"조사 프로브 스캔 시간 감소\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшение отклонения зондов навигационной и боевой разведки\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"снижение потребления энергии варп-двигателем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход времени на сбор данных зондами луноразведки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"核心和作战扫描探针扫描偏差减少\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"跃迁引擎电容需求降低\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"测量探针扫描时间减少\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11188\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen schweren Lenkwaffen-, Marschflugkörper- und Torpedo-Werfern\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles pesados, los lanzamisiles de crucero y los lanzatorpedos.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles lourds, lance-missiles de croisière et lance-torpilles rapides\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ヘビーミサイル・クルーズミサイル・トルピードランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 헤비 미사일, 크루즈 미사일, 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность торпедных аппаратов, ПУ дальнобойных ракет, скорострельных ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型快速导弹、巡航导弹和鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32309\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Verringerung von CONCORD-Kopfgeldern\"\n          }, \n          {\n            \"text\": \"·Bis zu 25 % Reduktion der Schild- und Panzerungsresistenzen\"\n          }, \n          {\n            \"text\": \"·Bis zu 25 % Reduktion des Schadens durch Geschütztürme, Werfer, Drohnen und Smartbombs\"\n          }, \n          {\n            \"text\": \"·Anziehungsfeld-Störsender sind für das ganze System aktiviert.\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CONCORD bounties\"\n          }, \n          {\n            \"text\": \"·Up to 25% reduction in shield and armor resistances\"\n          }, \n          {\n            \"text\": \"·Up to 25% reduction in turret, launcher, drone and smartbomb damage\"\n          }, \n          {\n            \"text\": \"·System-wide cynosural field jammers are in effect\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción a las recompensas de CONCORD.\"\n          }, \n          {\n            \"text\": \"·Hasta un 25 % de reducción de las resistencias de blindaje y escudo.\"\n          }, \n          {\n            \"text\": \"·Hasta un 25 % de reducción del daño de torretas, lanzadores, drones y bombas inteligentes.\"\n          }, \n          {\n            \"text\": \"·Se activan los aparatos perturbadores de campo cinosural en todo el sistema.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"réduction des primes CONCORD\"\n          }, \n          {\n            \"text\": \"·Jusqu'à 25 % de réduction des résistances de bouclier et de blindage\"\n          }, \n          {\n            \"text\": \"·Jusqu'à 25 % de réduction des dégâts de tourelles, de lanceurs, de drones et de bombes de proximité\"\n          }, \n          {\n            \"text\": \"·Brouilleurs de champ cynosural effectifs dans tout le système en action\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CONCORD bounties\"\n          }, \n          {\n            \"text\": \"·Up to 25% reduction in shield and armor resistances\"\n          }, \n          {\n            \"text\": \"·Up to 25% reduction in turret, launcher, drone and smartbomb damage\"\n          }, \n          {\n            \"text\": \"·System-wide cynosural field jammers are in effect\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"CONCORDの懸賞金削減\"\n          }, \n          {\n            \"text\": \"·シールドとアーマーレジスタンスが最大25%減少\"\n          }, \n          {\n            \"text\": \"·タレット、ランチャー、ドローン、スマートボムのダメージが最大25%減少\"\n          }, \n          {\n            \"text\": \"·全システム用サイノシュラルフィールドジャマー装置が起動中\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"CONCORD 현상금 감소\"\n          }, \n          {\n            \"text\": \"·실드 및 장갑 저항력 최대 25% 감소\"\n          }, \n          {\n            \"text\": \"·터렛, 런처, 드론, 스마트폭탄 피해량 최대 25% 감소\"\n          }, \n          {\n            \"text\": \"·항성계 전체에 사이노슈럴 필드 재머 작동 중\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшение наград, назначенных КОНКОРДом\"\n          }, \n          {\n            \"text\": \"·Уменьшение сопротивляемости щитов и брони до 25%\"\n          }, \n          {\n            \"text\": \"·Уменьшение урона от турелей, пусковых установок, дронов и импульсных излучателей до 25%\"\n          }, \n          {\n            \"text\": \"·Действуют глушители поля приводного маяка с охватом всей системы\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"统合部赏金减少\"\n          }, \n          {\n            \"text\": \"·护盾和装甲抗性降低，最多25%\"\n          }, \n          {\n            \"text\": \"·炮台、发射器、无人机和立体炸弹的威力被削弱，最多25%\"\n          }, \n          {\n            \"text\": \"·全星系遭受反诱导力场干扰\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 3493\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen und Raketen\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Scansondenwerfer und Vermessungssondenwerfer\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Boni sind verfügbar, während einer der drei Taktischer-Zerstörer-Modi aktiv ist. Modi können nicht öfter als alle 2 Sekunden gewechselt werden.\"\n          }, \n          {\n            \"text\": \"·Verteidigungsmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf alle Schildresistenzen, während der Verteidigungsmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Reduktion des Signaturradius des Schiffs, während der Verteidigungsmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Reduktion der Wiederaufladezeit des Schildes, während der Verteidigungsmodus aktiviert ist\"\n          }, \n          {\n            \"text\": \"·Antriebsmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Bonus auf die Geschwindigkeitsteigerungen von Nachbrenner und Mikrowarpantrieb, während Antriebsmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Bonus auf den Trägheitsmodifikator des Schiffs, während der Antriebsmodus aktiviert ist\"\n          }, \n          {\n            \"text\": \"·Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von leichten Lenkwaffen, während der Scharfschützenmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Raketen, während der Scharfschützenmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen und Raketen, während der Scharfschützenmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf Sensorstärke und Zielerfassungsreichweite, während der Scharfschützenmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Erhöhte Resistenzen gegen feindliche Sensordämpfer und Waffendisruptoren, während der Scharfschützenmodus aktiviert ist\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }, \n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion der Stromnetzvoraussetzungen und des CPU-Bedarfs für Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Kann Mikrosprungfeldgeneratoren ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann ein Kommandostrahlen-Modul verwenden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Hochfahrzeit von Mikrosprungfeldgeneratoren\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Schild- und Informationskommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Destroyers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"Bonus auf die Feuerrate von Werfern für leichte Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion der Nachladezeit von Lenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion des erlittenen Hitzeschadens am Modul\"\n            }\n          ], \n          \"header\": \"Caldari Tactical Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus to Light Missile and Rocket damage\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Scan Probe Launcher and Survey Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Additional bonuses are available while one of three Tactical Destroyer Modes are active. Modes may be switched no more than once every 2 seconds.\"\n          }, \n          {\n            \"text\": \"·Defense Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to all shield resistances while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"reduction in ship signature radius while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"reduction in shield recharge time while Defense Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Propulsion Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Afterburner and Microwarpdrive speed boost while Propulsion Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to ship inertia modifier while Propulsion Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Sharpshooter Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Light Missile velocity while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Rocket velocity while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Light Missile and Rocket damage while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to sensor strength and targeting range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"increased resistances against hostile Sensor Dampeners and Weapon Disruptors while Sharpshooter Mode is enabled\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid and CPU requirements for Command Bursts\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command and Information Command Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to Light Missile launcher and Rocket launcher rate of fire\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in missile launcher reload time\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module heat damage amount taken\"\n            }\n          ], \n          \"header\": \"Caldari Tactical Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"de bonificación al daño de los misiles ligeros y los cohetes.\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los requisitos de CPU del lanzasondas de escaneo y el lanzasondas de prospección.\"\n          }, \n          {\n            \"text\": \"·Hay bonificaciones adicionales disponibles mientras uno de los tres modos de destructor táctico está habilitado. No se puede cambiar de modo más de una vez cada 2 segundos.\"\n          }, \n          {\n            \"text\": \"·Modo de defensa\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación a todas las resistencias de escudo mientras el modo de defensa está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de reducción del radio de la señal de la nave mientras el modo de defensa está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de reducción del tiempo de recarga de los escudos mientras el modo de defensa está habilitado.\"\n          }, \n          {\n            \"text\": \"·Modo de propulsión\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonificación al impulso de velocidad del posquemador y el motor de microwarp mientras el modo de propulsión está habilitado.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonificación al modificador de inercia de la nave mientras el modo de propulsión está habilitado.\"\n          }, \n          {\n            \"text\": \"·Modo de francotirador\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonificación a la velocidad de los misiles ligeros mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonificación a la velocidad de los cohetes mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación al daño de los misiles ligeros y los cohetes mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la intensidad del sensor y la distancia-objetivo mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"más resistencia frente a atenuadores de sensor y disruptores de armas hostiles mientras el modo de francotirador está habilitado.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }, \n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia y CPU para los estallidos de mando.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar generadores de campo de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de carga del generador de campo de microsalto.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto del estallido de mando de escudo y mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructores de mando (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles ligeros y los lanzacohetes.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción del tiempo de recarga de los lanzamisiles.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la cantidad de daño por calor del módulo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor táctico caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"de bonus aux dégâts des missiles légers et des roquettes\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction aux prérequis de CPU pour le lanceur de sonde de balayage et le lanceur de sonde d'exploration\"\n          }, \n          {\n            \"text\": \"·Des bonus supplémentaires sont disponibles lorsque l'un des trois modes de destroyer tactique est actif. Il est possible de changer de mode une seule fois toutes les 2 secondes.\"\n          }, \n          {\n            \"text\": \"·Mode défense\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus à toutes les résistances du bouclier lorsque le mode défense est activé\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de réduction du rayon de signature du vaisseau lorsque le mode défense est activé\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de réduction au temps de recharge du bouclier lorsque mode défense est activé\"\n          }, \n          {\n            \"text\": \"·Mode propulsion\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus à l'accélération du système de post-combustion et du propulseur de microwarp lorsque le mode propulsion est activé\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus au modificateur d'inertie du vaisseau lorsque le mode propulsion est activé\"\n          }, \n          {\n            \"text\": \"·Mode tireur d'élite\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus à la vitesse des missiles légers lorsque le mode tireur d'élite est activé\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonus à la vitesse des roquettes lorsque le mode tireur d'élite est activé\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus aux dégâts des missiles légers et des roquettes lorsque le mode tireur d'élite est activé\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la puissance du détecteur et à la portée de ciblage lorsque le mode tireur d'élite est activé\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"d'augmentation des résistances contre les atténuateurs de détection et les perturbateurs d'armement hostiles lorsque le mode tireur d'élite est activé\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }, \n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction des prérequis de réseau d'alimentation et de CPU pour les salves de commandement\"\n          }, \n          {\n            \"text\": \"·Peut être équipé de générateurs de champ de microsaut\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un module de salve de commandement\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction au temps de réactivation du générateur de champ de microsaut\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et la durée des effets des salves de commandement de bouclier et d'information\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyers de commandement :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers et des lance-roquettes\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction du temps de rechargement des lance-missiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction aux dégâts thermiques subis par le module\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer tactique caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus to Light Missile and Rocket damage\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Scan Probe Launcher and Survey Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Additional bonuses are available while one of three Tactical Destroyer Modes are active. Modes may be switched no more than once every 2 seconds.\"\n          }, \n          {\n            \"text\": \"·Defense Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to all shield resistances while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"reduction in ship signature radius while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"reduction in shield recharge time while Defense Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Propulsion Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Afterburner and Microwarpdrive speed boost while Propulsion Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to ship inertia modifier while Propulsion Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Sharpshooter Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Light Missile velocity while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Rocket velocity while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Light Missile and Rocket damage while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to sensor strength and targeting range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"increased resistances against hostile Sensor Dampeners and Weapon Disruptors while Sharpshooter Mode is enabled\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid and CPU requirements for Command Bursts\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command and Information Command Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to Light Missile launcher and Rocket launcher rate of fire\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in missile launcher reload time\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module heat damage amount taken\"\n            }\n          ], \n          \"header\": \"Caldari Tactical Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"ライトミサイルおよびロケットのダメージにボーナス\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"スキャンプローブランチャーと衛星調査プローブのCPU使用率を軽減\"\n          }, \n          {\n            \"text\": \"·3種類の戦術駆逐艦モードを持ち、有効化したモードに応じて追加ボーナスを得る。少なくとも2秒経過しないとモードを切り替えることはできない。\"\n          }, \n          {\n            \"text\": \"·防衛モード\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"防衛モード中、全てのシールドレジスタンスにボーナス\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"防衛モード中、艦船のシグネチャ半径が縮小\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"防衛モード中、シールドのリチャージ時間が短縮\"\n          }, \n          {\n            \"text\": \"·推進モード\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"推進モード中、アフターバーナーとマイクロワープドライブの速度ブーストにボーナス\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"推進モード中、艦船の慣性乗数にボーナス\"\n          }, \n          {\n            \"text\": \"·射撃モード\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"射撃モード中、ライトミサイルの速度にボーナス\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"射撃モード中、ロケットの速度にボーナス\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"射撃モード中、ライトミサイルおよびロケットのダメージにボーナス\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"射撃モード中、センサー強度とターゲット範囲にボーナス\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"射撃モード中、敵からのセンサーダンプナーと兵器妨害器へのレジスタンスが増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }, \n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"コマンドバーストのパワーグリッド要件とCPU使用率を軽減\"\n          }, \n          {\n            \"text\": \"·マイクロジャンプフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュール1個使用可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"超小型ジャンプフィールドジェネレーターのスプールアップタイムを短縮\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"シールドコマンド、情報戦コマンドのバーストの効果と持続時間が増加\"\n            }\n          ], \n          \"header\": \"指揮型駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"ライトミサイルランチャーおよびロケットランチャーの発射レートにボーナス\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ミサイルランチャーのリロード時間減少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"モジュールが受けるヒートダメージ量が軽減\"\n            }\n          ], \n          \"header\": \"カルダリ戦術駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"라이트 미사일 및 로켓 피해량 증가\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"스캔 프로브 런처 및 조사 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·세 가지 전술 디스트로이어 모드 중 한 가지가 활성화되면 추가 보너스가 부여됩니다. 2초에 한 번 모드를 전환할 수 있습니다.\"\n          }, \n          {\n            \"text\": \"·방어 모드\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"방어 모드 활성화 중 모든 실드 저항력 증가\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"방어 모드 활성화 중 함선 시그니처 반경 감소\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"방어 모드 활성화 중 실드 충전시간 감소\"\n          }, \n          {\n            \"text\": \"·추진 모드\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"추진 모드 활성화 중 애프터버너 및 마이크로 워프 드라이브 속도 증가\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"추진 모드 활성화 중 관성 계수 감소\"\n          }, \n          {\n            \"text\": \"·저격 모드\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"저격 모드 활성화 중 라이트 미사일 속도 증가\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"저격 모드 활성화 중 로켓 속도 증가\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"저격 모드 활성화 중 라이트 미사일 및 로켓 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"저격 모드 활성화 중 센서 강도 및 타겟팅 거리 증가\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"저격 모드 활성화 중 센서 댐프너 및 무기 디스럽터 저항력 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }, \n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"커맨드 버스트 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"text\": \"·마이크로 점프 필드 생성기들을 장착할 수 있음\"\n          }, \n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"마이크로 점프 필드 생성기 예열 시간 감소\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"실드 버스트 및 정보전 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드 디스트로이어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"라이트 미사일 런처 및 로켓 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"미사일 런처 재장전 시간 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"모듈이 받는 열 피해 감소\"\n            }\n          ], \n          \"header\": \"칼다리 전술 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 33%\", \n            \"text\": \"бонус к урону лёгких ракет и ракетных снарядов\"\n          }, \n          {\n            \"number\": \"на 95%\", \n            \"text\": \"снижение требований к мощности ЦП для пусковых установок разведзондов и лунных зондов\"\n          }, \n          {\n            \"text\": \"·Многорежимный эсминец получает дополнительные бонусы при работе в одном из трёх тактический режимов. Промежуток между сменой режимов должен составлять не менее 2 секунд.\"\n          }, \n          {\n            \"text\": \"·Защитный режим\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"бонус к общей сопротивляемости щитов в защитном режиме\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"сужение радиуса сигнатуры корабля в защитном режиме\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"сокращение времени перезарядки щитов в защитном режиме\"\n          }, \n          {\n            \"text\": \"·Режим тяги\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"бонус к эффективности форсажного ускорителя и микроварп-ускорителя в режиме тяги\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"бонус к модификатору инертности корабля в режиме тяги\"\n          }, \n          {\n            \"text\": \"·Режим снайпера\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"бонус к скорости полёта лёгких ракет в режиме снайпера\"\n          }, \n          {\n            \"number\": \"на 250%\", \n            \"text\": \"бонус к скорости ракетных снарядов в режиме снайпера\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"бонус к урону лёгких ракет и ракетных снарядов в режиме снайпера\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к мощности сенсоров и дальности наведения в режиме снайпера\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"повышение сопротивляемости вражеским модулям подавления сенсоров и модулям подавления орудий в режиме снайпера\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }, \n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 95%\", \n            \"text\": \"уменьшение требовательности энергосистем и ЦП для импульсных оптимизаторов\"\n          }, \n          {\n            \"text\": \"·Позволяет установить генераторы разгонного поля\"\n          }, \n          {\n            \"text\": \"·Может использовать один импульсный оптимизатор\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращение времени раскрутки генератора разгонного поля\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"бонус к выраженности и длительности эффектов импульсных оптимизаторов щитов и РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Лидеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 6%\", \n              \"text\": \"бонус к скорострельности пусковых установок лёгких ракет и ракетных снарядов\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращение времени перезарядки ракетной установки\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"снижение теплового урона, получаемого модулями\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские многорежимные эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"轻型导弹和火箭伤害加成\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"扫描探针发射器和测量探针发射器CPU需求降低\"\n          }, \n          {\n            \"text\": \"·当战术驱逐舰启用三种模式中任意一种会获得额外加成。每2秒钟只能切换一次模式。\"\n          }, \n          {\n            \"text\": \"·防御模式\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用防御模式后护盾抗性加成\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用防御模式后信号半径降低\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用防御模式后护盾回充时间减少\"\n          }, \n          {\n            \"text\": \"·高速模式\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用高速模式后加力燃烧器和微型跃迁推进器的速度增量加成\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用高速模式后舰船惯性调整系数加成\"\n          }, \n          {\n            \"text\": \"·狙击模式\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用狙击模式后轻型导弹飞行速度加成\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"启用狙击模式后火箭飞行速度加成\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用狙击模式后轻型导弹和火箭伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"启用狙击模式后感应强度和锁定距离加成\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用狙击模式后对敌方的感应抑阻器和武器扰断器的抗性提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }, \n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"指挥脉冲波能量栅格和CPU需求降低\"\n          }, \n          {\n            \"text\": \"·可以装配微型跳跃力场发生器\"\n          }, \n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"微型跳跃力场发生器加速时间减少\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"护盾指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥驱逐舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"轻型导弹发射器和火箭发射器射速加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"导弹发射器装填时间缩短\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"减少装备遭受的超载损伤\"\n            }\n          ], \n          \"header\": \"加达里战术驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 89808\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"Bonus auf die HP und den Schaden  von Wächterdrohnen und Schweren Drohnen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetic- und Thermalschaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"bonus to Sentry Drone and Heavy Drone damage and hitpoints\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"de bonificación al daño y los puntos de vida del dron centinela y el dron pesado.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético y térmico de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"de bonus aux dégats et aux PV des drones sentinelles et des drones lourds\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts cinétiques et thermiques des missiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"bonus to Sentry Drone and Heavy Drone damage and hitpoints\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"セントリードローンとヘビードローンのダメージとヒットポイントが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルのキネティック・サーマルダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"센트리 드론과 헤비 드론의 피해량 및 내구도 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 키네틱 및 열 피해 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 275%\", \n            \"text\": \"увеличивается урон бортового оружия стационарных дронов и тяжёлых боевых дронов; увеличивается запас их прочности\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон кинетических и термических БЧ ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"岗哨无人机和重型无人机伤害和HP加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"动能和热能导弹伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17918\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts de la grande tourelle hybride\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la capacité du réparateur de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33635\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"115%\", \n            \"text\": \"Bonus auf den Kinetikschaden von leichten Lenkwaffen und Raketen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Hitzeschadens an Modulen\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Leichten Lenkwaffenwerfern und Raketenwerfern\"\n            }\n          ], \n          \"header\": \"Assault Frigates Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"115%\", \n            \"text\": \"bonus to kinetic Light Missile and Rocket damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in module heat damage amount taken\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"115%\", \n            \"text\": \"de bonificación al daño cinético de los misiles ligeros y los cohetes.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la cantidad de daño por calor del módulo.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles ligeros y los lanzacohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas de asalto (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"115%\", \n            \"text\": \"de bonus aux dégâts cinétiques des missiles légers et des roquettes\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction aux dégâts de chaleur subis par un module\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers et des lance-roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d’assaut :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"115%\", \n            \"text\": \"bonus to kinetic Light Missile and Rocket damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in module heat damage amount taken\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"115%\", \n            \"text\": \"ライトミサイルとロケットのキネティックダメージが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"モジュールが受けるヒートダメージ量が軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイルとロケットランチャーの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"強襲型フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"115%\", \n            \"text\": \"키네틱 라이트 미사일과 로켓 피해량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"모듈이 받는 열 피해 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일 및 로켓 런처 연사속도 증가\"\n            }\n          ], \n          \"header\": \"어썰트 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 115%\", \n            \"text\": \"увеличивается урон кинетических БЧ лёгких ракет и лёгких штурмовых ракет\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается объём температурных повреждений модулей, получаемых ими при перегрузке\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорострельность ПУ лёгких ракет и лёгких штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"115%\", \n            \"text\": \"轻型导弹和火箭动能伤害加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"减少装备遭受的超载损伤\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"火箭和轻型导弹发射器射速加成\"\n            }\n          ], \n          \"header\": \"突击护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32788\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la cadence de tir de la grande tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la capacité du booster de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33631\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la cadence de tir de la grande tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la capacité du booster de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33633\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"réduction du coût d'activation de la tourelle à énergie intermédiaire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la cadence de tir de la tourelle à énergie intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型エネルギータレットの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 에너지 터렛 연사속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型能量炮台射速加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33639\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"Bonus auf die maximale Zielerfassungsreichweite\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Lenkwaffen und Vorton-Projektoren\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Abzug auf die Wendigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Abzug auf die Stärke von Stasisnetzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to ship velocity\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to maximum targeting range\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to missile and vorton projector explosion velocity\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to ship agility\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to stasis webifier strength\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonificación a la velocidad de la nave.\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonificación a la distancia-objetivo máxima.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonificación a la velocidad de explosión de los misiles y los proyectores vortónicos.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de penalización a la agilidad de la nave.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de penalización a la intensidad de la red ralentizadora.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonus à la vitesse du vaisseau\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonus à la portée de ciblage maximum\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de bonus à la vitesse des missiles\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonus à la vitesse d'explosion des missiles et des projecteurs de vortons\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de pénalité à la maniabilité du vaisseau\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de pénalité à la puissance des générateurs de stase\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to ship velocity\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to maximum targeting range\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to missile and vorton projector explosion velocity\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to ship agility\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to stasis webifier strength\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"艦船の速度が上昇\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"最大ターゲット範囲が拡大\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"ミサイルの速度が上昇\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"ミサイルとヴォートンプロジェクターの爆発速度が上昇\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"艦船の機動性にペナルティ\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"ステイシスウェビファイヤーの強度にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"함선 속도 보너스\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"최대 타겟팅 거리 보너스\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"미사일 속도 보너스\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"미사일 및 보르톤 프로젝터 폭발속도 증가\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"기동성 페널티\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"스테이시스 웹 생성기 강도 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 58%\", \n            \"text\": \"бонус к скорости корабля\"\n          }, \n          {\n            \"number\": \"на 58%\", \n            \"text\": \"бонус к максимальной дальности наведения\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"бонус к скорости полёта ракет\"\n          }, \n          {\n            \"number\": \"на 58%\", \n            \"text\": \"бонус к скорости распространения взрыва для ракет и вортонных проекторов\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"штраф к манёвренности корабля\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"штраф к эффективности стазис-индуктора\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"舰船速度加成\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"最大锁定距离加成\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"导弹飞行速度加成\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"导弹和电弧弦投射器爆炸速度加成\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"舰船灵活性惩罚\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"停滞缠绕光束强度惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30851\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Reduktion der Kinetikresistenz von Schiffen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Scanauflösung von Schiffen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Zyklusgeschwindigkeit von Bergbaulasern\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Zyklusgeschwindigkeit von Panzerungsreparatursystemen und Schildboostern\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"Bonus auf Warpgeschwindigkeit von Schiffen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"reduction in ship kinetic resistances\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to ship scan resolution\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining laser cycle speed\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to local Armor Repairer and Shield Booster cycle speed\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"bonus to ship warp speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de reducción de las resistencias cinéticas de la nave.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la resolución de escaneo de la nave.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la velocidad de ciclo del láser minero.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la velocidad de ciclo del reparador de blindaje y el potenciador de escudo locales.\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"de bonificación a la velocidad de warp de la nave.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de réduction des résistances cinétiques du vaisseau\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la résolution du balayage du vaisseau\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus de vitesse de cycle des lasers d'extraction\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus au réparateur de blindage local et à la vitesse de cycle du booster de bouclier\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"de bonus à la vitesse de warp du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"reduction in ship kinetic resistances\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to ship scan resolution\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining laser cycle speed\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to local Armor Repairer and Shield Booster cycle speed\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"bonus to ship warp speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"艦船のキネティックレジスタンスが減少\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"艦船のスキャン分解能を強化\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"採掘レーザーのサイクル速度を短縮\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"ローカルアーマーリペアラとシールドブースターのサイクル速度が増加\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"艦船のワープ速度が増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"키네틱 저항력 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"함선 스캔 정밀도 증가\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"채굴 레이저 사이클 시간 감소\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"장갑수리 장치 및 실드 부스터 사이클 시간 감소\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"워프 속도 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"уменьшение сопротивляемости корабля кинетическому урону\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к разрешающей способности сенсоров корабля\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к скорости цикла бурового лазера\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к скорости цикла установки ремонта брони и модуля усиления щитов\"\n          }, \n          {\n            \"number\": \"на 40%\", \n            \"text\": \"бонус к скорости хода корабля в варп-режиме\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"舰船动能抗性降低\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"舰船扫描分辨率加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"采矿激光器循环速度加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"自身装甲维修器和护盾回充增量器循环速度加成\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"舰船跃迁速度加成\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 56058\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und die Nachführungsgeschwindigkeit von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo y los puntos de vida de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux PV et à la vitesse de poursuite des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントと追跡速度が増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель бортового оружия дронов, увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP和跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 593\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Panzerungs-Fernreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"de bonificación al alcance efectivo del reparador de blindaje remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje remotos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del reparador de blindaje remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"de bonus à la perte du réparateur de blindage à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des réparateurs de blindage à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートアーマーリペアラの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"リモートアーマーリペアラの精度低下範囲が改善\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートアーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートアーマーリペアラの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"원격 장갑수리 장치 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 장갑수리 장치 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 600%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционного ремонта брони\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器最佳射程加成\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"远程装甲维修器失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"远程装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程装甲维修器启动消耗减少\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 592\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die maximale Zielerfassungsreichweite\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Lenkwaffen und Vorton-Projektoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf die Wendigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf die Stärke von Stasisnetzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to ship velocity\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to maximum targeting range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to missile and vorton projector explosion velocity\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to ship agility\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to stasis webifier strength\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la velocidad de la nave.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la distancia-objetivo máxima.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la velocidad de explosión de los misiles y los proyectores vortónicos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización a la agilidad de la nave.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización a la intensidad de la red ralentizadora.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la vitesse du vaisseau\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée de ciblage maximum\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la vitesse des missiles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la vitesse d'explosion des missiles et des projecteurs de vortons\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité à la maniabilité du vaisseau\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité à la puissance des générateurs de stase\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to ship velocity\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to maximum targeting range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to missile and vorton projector explosion velocity\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to ship agility\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to stasis webifier strength\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"艦船の速度が上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"最大ターゲット範囲が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ミサイルの速度が上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"ミサイルとヴォートンプロジェクターの爆発速度が上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"艦船の機動性にペナルティ\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ステイシスウェビファイヤーの強度にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"함선 속도 보너스\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"최대 타겟팅 거리 보너스\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"미사일 속도 보너스\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"미사일 및 보르톤 프로젝터 폭발속도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"기동성 페널티\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스테이시스 웹 생성기 강도 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к скорости корабля\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к максимальной дальности наведения\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к скорости полёта ракет\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к скорости распространения взрыва для ракет и вортонных проекторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"штраф к манёвренности корабля\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"штраф к эффективности стазис-индуктора\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"舰船速度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"最大锁定距离加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"导弹飞行速度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"导弹和电弧弦投射器爆炸速度加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"舰船灵活性惩罚\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"停滞缠绕光束强度惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30854\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation de la petite tourelle à énergie\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 597\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Bonus auf die Effektivität von Waffenstörern\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"reduction in Small Energy Turret activation cost\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"bonus to Weapon Disruptor effectiveness\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"bonus to all armor resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de bonificación a la efectividad del disruptor de armas.\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de réduction du coût d'activation des petites tourelles à énergie\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de bonus à l'efficacité du perturbateur d'armement\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"de bonus à toutes les résistances du blindage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"reduction in Small Energy Turret activation cost\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"bonus to Weapon Disruptor effectiveness\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"bonus to all armor resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"小型エネルギータレットの起動コストが軽減\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"小型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"兵器妨害器の有効性が向上\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"全てのアーマーレジスタンスが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"소형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"무기 디스럽터 효과 증가\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"모든 장갑 저항력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 20%\", \n            \"text\": \"сокращается расход энергии при ведении огня из малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"увеличивается урон малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"повышается эффективность действия постановщиков помех системам наводки\"\n          }, \n          {\n            \"number\": \"на 8%\", \n            \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"小型能量炮台启动消耗减少\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"小型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"武器扰断器效果加成\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"装甲抗性加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 596\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Schildfernboostern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Leistung von Schildfernboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Schildfernboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Remote Shield Booster falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonificación al alcance efectivo del potenciador de escudo remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo remotos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del potenciador de escudo remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonus à la perte du booster de bouclier à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au montant des boosters de bouclier à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des boosters de bouclier à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Remote Shield Booster falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"リモートシールドブースターの精度低下範囲が改善\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートシールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートシールドブースターの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"원격 실드 부스터 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 실드 부스터 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 300%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционной накачки щитов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок дистанционной накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии установками дистанционной накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"远程护盾回充增量器失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"远程护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程护盾回充增量器启动消耗减少\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 599\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von leichten Lenkwaffenwerfern und Raketenwerfern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la cadence de tir des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイルとロケットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일 및 로켓 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорострельность ПУ лёгких ракет и лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"火箭和轻型导弹射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 598\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der EM-Resistenz von Schiffen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Wiederaufladerate des Energiespeichers von Schiffen\"\n          }, \n          {\n            \"number\": \"25+\", \n            \"text\": \"Bonus auf die Virenkohärenz von Relikt- und Datenanalysegeräten\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Stärke von Kern- und Gefechtsscansonden\"\n          }, \n          {\n            \"text\": \"·Tarnvorrichtungen funktionieren in Systemen unter dem Einfluss dieses Sturmes nicht.\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in ship EM resistances\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship capacitor recharge rate\"\n          }, \n          {\n            \"number\": \"25+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus coherence\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"text\": \"·Cloaking devices cannot operate within systems affected by this storm\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de las resistencias electromagnéticas de la nave.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad de carga del condensador de la nave.\"\n          }, \n          {\n            \"number\": \"25+\", \n            \"text\": \"de bonificación a la coherencia del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n          }, \n          {\n            \"text\": \"·Los dispositivos de camuflaje quedan inoperativos en los sistemas afectados por esta tormenta.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des résistances EM du vaisseau\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse de recharge du capaciteur du vaisseau\"\n          }, \n          {\n            \"number\": \"25+\", \n            \"text\": \"de bonus à la résistance virale des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n          }, \n          {\n            \"text\": \"·Les dispositifs de camouflage sont inutilisables dans les systèmes affectés par cette tempête\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in ship EM resistances\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship capacitor recharge rate\"\n          }, \n          {\n            \"number\": \"25+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus coherence\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"text\": \"·Cloaking devices cannot operate within systems affected by this storm\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船EMレジスタンスが減少\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船のキャパシタ充電速度が増加\"\n          }, \n          {\n            \"number\": \"25+\", \n            \"text\": \"遺物とデータアナライザーのウイルスコヒーレンスが上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n          }, \n          {\n            \"text\": \"·遮蔽装置は、この嵐の影響を受けているシステムの中では機能しない\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"EM 저항력 감소\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"캐패시터 충전 속도 증가\"\n          }, \n          {\n            \"number\": \"25+\", \n            \"text\": \"유물 분석기 및 데이터 분석기 바이러스 결합도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"코어 프로브 및 정찰 프로브 강도 증가\"\n          }, \n          {\n            \"text\": \"·폭풍의 영향을 받은 항성계에서 클로킹 장치를 사용할 수 없습니다.\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшение сопротивляемости корабля ЭМ-урону\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к скорости перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 25+\", \n            \"text\": \"бонус к целостности вируса артефактов и анализатора данных\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к чувствительности зондов навигационной и боевой разведки\"\n          }, \n          {\n            \"text\": \"·Системы маскировки не могут работать в системах, подвергшихся воздействию этой бури\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船电磁抗性降低\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船电容回充速率加成\"\n          }, \n          {\n            \"number\": \"25+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒同步率加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"核心和作战扫描探针强度加成\"\n          }, \n          {\n            \"text\": \"·在受此风暴影响的星系中不能启用隐形装置\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 56057\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduzierte effektiv zurückgelegte Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Immun gegen Unterbrechungsfeldwerfer, Warpstörfeldgeneratoren und mobile kleine , mittelgroße und große Warpstörer\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Inmune al lanzaesferas de interdicción, al generador de campo disruptor de warp y al disruptor de warp móvil pequeño, mediano y grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·Immunité contre les lanceurs de sphère d'interdiction, générateurs de champ perturbateur de warp et perturbateurs de warp mobiles légers, intermédiaires et grands perturbateurs de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·インターディクションスフィアランチャー、ワープ妨害フィールドジェネレーター、小型、中型、大型移動式ワープ妨害器の影響を受けない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·인터딕션 런처, 워프 디스럽션 필드 생성기, 이동식 소형/중형/대형 워프 디스럽터에 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию систем запуска заградительных сфер, бортовых варп-заградителей, а также полевых варп-заградителей малой, средней и большой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·对拦截泡发射器、跃迁扰断力场发生器与小型、中型及大型机动跃迁扰断器免疫\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 11134\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Nachteil auf die Flugdauer von Lenkwaffen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die maximale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den Schaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to missile flight time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor maximum range\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización al tiempo de vuelo de los misiles.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance máximo del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al daño de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus à la vitesse des missiles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"pénalité au temps de vol des missiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée des Inhibiteurs de warp et Perturbateurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus aux dégâts des missiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to missile flight time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor maximum range\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"ミサイルの速度が上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ミサイルの飛行時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最大射程が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ミサイルの与えるダメージが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"미사일 속도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"미사일 비행시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최대사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"미사일 피해량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 200%\", \n            \"text\": \"повышается скорость полёта ракет\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается полётное время ракет\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к дальности действия варп-глушителей и варп-подавителей.\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается урон БЧ ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"导弹飞行速度加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"导弹飞行时间惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最大范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"导弹伤害加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33818\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduzierte effektiv zurückgelegte Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Immun gegen Unterbrechungsfeldwerfer, Warpstörfeldgeneratoren und mobile kleine , mittelgroße und große Warpstörer\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Inmune al lanzaesferas de interdicción, al generador de campo disruptor de warp y al disruptor de warp móvil pequeño, mediano y grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·Immunité contre les lanceurs de sphère d'interdiction, générateurs de champ perturbateur de warp et perturbateurs de warp mobiles légers, intermédiaires et grands perturbateurs de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·インターディクションスフィアランチャー、ワープ妨害フィールドジェネレーター、小型、中型、大型移動式ワープ妨害器の影響を受けない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·인터딕션 런처, 워프 디스럽션 필드 생성기, 이동식 소형/중형/대형 워프 디스럽터에 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию систем запуска заградительных сфер, бортовых варп-заградителей, а также полевых варп-заградителей малой, средней и большой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·对拦截泡发射器、跃迁扰断力场发生器与小型、中型及大型机动跃迁扰断器免疫\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 11132\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Daten-Analysegeräten\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Erhöhung des Sicherheitsstatus durch die Zerstörung von Nicht-Kapselpiloten-Piraten bei der Verwendung dieses Schiffs\"\n          }, \n          {\n            \"text\": \"·Die Effektivität von Panzerungsreparatursystemen und Schildboostern wurde um einen Prozentsatz entsprechend des 10-fachen Piloten-Sicherheitsstatus bei einer Mindestwert von 0 % und einem Höchstwert von 50 % erhöht.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Leichten Lenkwaffenwerfern und Raketenwerfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Flugzeit von leichten Lenkwaffen und Raketen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Flugdauer von Überwachungssonden\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Beschleunigung\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to security status gains from destruction of non-capsuleer pirates while flying this ship\"\n          }, \n          {\n            \"text\": \"·Armor Repairer and Shield Booster effectiveness increased by a percentage equal to 10x pilot security status, with a floor of 0% and ceiling of 50%\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket flight time\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Survey Probe flight time\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp speed and acceleration\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la ganancia del estado de seguridad al aniquilar piratas no capsulistas mientras se pilota esta nave.\"\n          }, \n          {\n            \"text\": \"·La efectividad del reparador de blindaje y del potenciador de escudo aumenta en un porcentaje igual a 10 veces el estado de seguridad del piloto, con un mínimo del 0 % y un máximo del 50 %.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles ligeros y los lanzacohetes.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al tiempo de vuelo de los misiles ligeros y los cohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del tiempo de vuelo de la sonda de prospección.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction de la charge CPU consommée par le dispositif de camouflage\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un dispositif de camouflage des opérations secrètes et d'un générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus aux gains de statut de sécurité liés à la destruction de pirates non capsuliers à bord de ce vaisseau\"\n          }, \n          {\n            \"text\": \"·Efficacité des réparateurs de blindage et des boosters de boucliers majorée par un pourcentage égal à 10x le statut de sécurité du pilote, de 0 % à 50 % maximum.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des petites tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de déperdition des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers et des lance-roquettes\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au temps de vol des missiles légers et des roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction au temps de vol des sondes d'exploration\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to security status gains from destruction of non-capsuleer pirates while flying this ship\"\n          }, \n          {\n            \"text\": \"·Armor Repairer and Shield Booster effectiveness increased by a percentage equal to 10x pilot security status, with a floor of 0% and ceiling of 50%\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket flight time\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Survey Probe flight time\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp speed and acceleration\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物とデータアナライザーのウイルス強度が上昇\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置と潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"この艦船を使用して非カプセラ海賊を撃破した際のセキュリティーステータスの上昇量が増加\"\n          }, \n          {\n            \"text\": \"·アーマーリペアラ及びシールドブースターの効果を、パイロットのセキュリティステータスの10倍に当たるパーセンテージまで上げる。下限は0%で上限は50%。\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型ハイブリッドタレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型実体弾タレットの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型実体弾タレットの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型エネルギータレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの最適射程距離にボーナス\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイルおよびロケットランチャーの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイルおよびロケットの飛行時間が上昇\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"衛星調査プローブの飛行時間が減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープ速度と加速度が上昇\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"NPC 해적선 파괴 시 시큐리티 획득량 증가\"\n          }, \n          {\n            \"text\": \"·파일럿 시큐리티 수치의 10배만큼의 %로 장갑수리 장치 및 실드 부스터 효과 증가 (0%~50%)\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일 및 로켓 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일 및 로켓 비행시간 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"조사 프로브 비행시간 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 속도 및 가속도 증가\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"увеличивается прирост СС пилота при уничтожении пиратских кораблей под управлением NPC (в ходе пилотирования этого корабля)\"\n          }, \n          {\n            \"text\": \"·Производительность установок ремонта брони и установок накачки щитов повышена; процентное значение повышения исчисляется умножением СС пилота на 10 и не может быть меньше 0% и больше 50%\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорострельность ПУ лёгких ракет и лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается полётное время лёгких ракет и лёгких штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается полётное время зондов луноразведки\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"驾驶该船只击毁NPC获得安全等级加成\"\n          }, \n          {\n            \"text\": \"·装甲维修器和护盾回充增量器效果增强幅度相当于飞行员安全等级的10倍，下限为0%，上限为50%。\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"火箭和轻型导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭飞行时间加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"测量探针飞行时间加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 44993\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Effektivität von Panzerungs-Fernreparatursystemen und Schildfernboostern\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Energiespeicherkapazität\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf die Wiederaufladezeit des Energiespeichers\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf die Effektivität von Energiespeicher-Ferntransmittern\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf die Effektivität von Panzerungsreparatursystemen und Schildboostern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to remote armor repairer and remote shield booster effectiveness\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to capacitor capacity\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to capacitor recharge time\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to remote capacitor transmitter effectiveness\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to local armor repairer and shield booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la efectividad del reparador de blindaje remoto y el potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la capacidad del condensador\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización al tiempo de carga del condensador.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización a la efectividad del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización a la efectividad del reparador de blindaje y del potenciador de escudo locales.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à l'efficacité des réparateurs de blindage à distance et des boosters de bouclier à distance\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la charge du capaciteur\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité au temps de recharge du capaciteur\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité à l'efficacité du transmetteur de capaciteur à distance\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité à l'efficacité des réparateurs de blindage locaux et des boosters de bouclier\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to remote armor repairer and remote shield booster effectiveness\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to capacitor capacity\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to capacitor recharge time\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to remote capacitor transmitter effectiveness\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to local armor repairer and shield booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"リモートアーマーリペアラとリモートシールドブースターの効果が上昇\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"キャパシタ容量が増加\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"キャパシタのリチャージ時間にペナルティ\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"リモートキャパシタトランスミッターの効果にペナルティ\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"ローカルアーマーリペアラとシールドブースターの効果にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"원격 장갑수리 장치 및 실드 부스터 효과 보너스\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"캐패시터 용량 증가\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"캐패시터 충전시간 페널티\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"원격 캐패시터 전송기 효과 페널티\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"장갑수리 장치 및 실드 부스터 효과 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к эффективности модуля дистанционного ремонта брони и модуля дистанционного усиления щитов\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к ёмкости накопителя\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к времени перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к эффективности модуля дистанционного пополнения накопителя\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к эффективности локального ремонта брони и усиления щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"远程装甲维修器和远程护盾回充增量器效果加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"电容器电容量加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"电容器回充时间惩罚\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"远程电容传输装置效果惩罚\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"自身装甲维修器和护盾回充增量器效果惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30846\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Nachteil auf die Flugdauer von Lenkwaffen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die maximale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf den Schaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to missile flight time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor maximum range\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización al tiempo de vuelo de los misiles.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance máximo del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al daño de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus à la vitesse des missiles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"pénalité au temps de vol des missiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée des Inhibiteurs de warp et Perturbateurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus aux dégâts des missiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to missile flight time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor maximum range\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"ミサイルの速度が上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ミサイル飛行時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最大射程が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"ミサイルの与えるダメージが増加\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"미사일 속도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"미사일 비행시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최대사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"미사일 피해량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 200%\", \n            \"text\": \"повышается скорость полёта ракет\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается полётное время ракет\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к дальности действия варп-глушителей и варп-подавителей.\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается урон БЧ ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"导弹飞行速度加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"导弹飞行时间惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最大范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"导弹伤害加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33816\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Module für Anziehungsfeldgenerator, getarnten Anziehungsfeldgenerator und getarnten Sprungtorgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielaufschaltung nach der Deaktivierung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Erhöhung des Sicherheitsstatus durch die Zerstörung von Nicht-Kapselpiloten-Piraten bei der Verwendung dieses Schiffs\"\n          }, \n          {\n            \"text\": \"·Die Effektivität von Panzerungsreparatursystemen und Schildboostern wurde um einen Prozentsatz entsprechend des 10-fachen Piloten-Sicherheitsstatus bei einer Mindestwert von 0 % und einem Höchstwert von 50 % erhöht.\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"Bonus auf die maximale Geschwindigkeit des Schiffs beim Einsatz von Tarnvorrichtungen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Beschleunigung\"\n            }\n          ], \n          \"header\": \"Black Ops Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen schweren Lenkwaffen-, Marschflugkörper- und Torpedo-Werfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Flugzeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Cynosural Field Generator, Covert Cynosural Field Generator, and Covert Jump Portal Generator modules\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to security status gains from destruction of non-capsuleer pirates while flying this ship\"\n          }, \n          {\n            \"text\": \"·Armor Repairer and Shield Booster effectiveness increased by a percentage equal to 10x pilot security status, with a floor of 0% and ceiling of 50%\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp speed and acceleration\"\n            }\n          ], \n          \"header\": \"Black Ops bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo flight time\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de generador de campo cinosural, generador de campo cinosural encubierto y generador de portales de salto encubierto.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la ganancia del estado de seguridad al aniquilar piratas no capsulistas mientras se pilota esta nave.\"\n          }, \n          {\n            \"text\": \"·La efectividad del reparador de blindaje y del potenciador de escudo aumenta en un porcentaje igual a 10 veces el estado de seguridad del piloto, con un mínimo del 0 % y un máximo del 50 %.\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"de bonificación a la velocidad máxima de la nave al utilizar dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones secretas (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles pesados, los lanzamisiles de crucero y los lanzatorpedos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al tiempo de vuelo de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules générateur de champ cynosural, générateur de champ cynosural furtif et générateur de portail interstellaire furtif\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation du dispositif de camouflage\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus aux gains de statut de sécurité liés à la destruction de pirates non capsuliers à bord de ce vaisseau\"\n          }, \n          {\n            \"text\": \"·Efficacité des réparateurs de blindage et des boosters de boucliers majorée par un pourcentage égal à 10x le statut de sécurité du pilote, de 0 % à 50 % maximum.\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"de bonus à la vitesse maximale d'un vaisseau lorsqu'équipé d'un dispositif de camouflage actif\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et des perturbateurs de warp\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale des générateurs de stase\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Forces spéciales :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des grandes tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles lourds, lance-missiles de croisière et lance-torpilles rapides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au temps de vol des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la cadence de tir des grandes tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la déperdition des grandes tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des grandes tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Cynosural Field Generator, Covert Cynosural Field Generator, and Covert Jump Portal Generator modules\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to security status gains from destruction of non-capsuleer pirates while flying this ship\"\n          }, \n          {\n            \"text\": \"·Armor Repairer and Shield Booster effectiveness increased by a percentage equal to 10x pilot security status, with a floor of 0% and ceiling of 50%\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp speed and acceleration\"\n            }\n          ], \n          \"header\": \"Black Ops bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo flight time\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·サイノシュラルフィールドジェネレーター、潜伏用サイノシュラルフィールドジェネレーター、そして潜伏用ジャンプポータルジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置後のターゲット補足遅延なし\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"この艦船を使用して非カプセラ海賊を撃破した際のセキュリティーステータスの上昇量が増加\"\n          }, \n          {\n            \"text\": \"·アーマーリペアラ及びシールドブースターの効果を、パイロットのセキュリティステータスの10倍に当たるパーセンテージまで上げる。下限は0%で上限は50%。\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"遮蔽装置使用時の艦船の最高速度が上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が上昇\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ステイシスウェビファイヤーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープ速度と加速度が上昇\"\n            }\n          ], \n          \"header\": \"秘密工作艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットの最適射程距離にボーナス\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ラピッドヘビーミサイル、クルーズミサイル及びトルピードランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルおよびトルピードの飛行時間が増加\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型実体弾タレットの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기, 코버트 점프 포탈 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"NPC 해적선 파괴 시 시큐리티 획득량 증가\"\n          }, \n          {\n            \"text\": \"·파일럿 시큐리티 수치의 10배만큼의 %로 장갑수리 장치 및 실드 부스터 효과 증가 (0%~50%)\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"클로킹 장치 사용 시 함선 최대 속도 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 속도 및 가속도 증가\"\n            }\n          ], \n          \"header\": \"블랙옵스 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"급속 헤비 미사일, 크루즈 미사일, 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 비행시간 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможно оснащение приводным маяком, приводным маяком скрытого действия и диверсионным генератором гиперпорталов\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устранена задержка включения систем захвата целей, вызываемая отключением систем маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"увеличивается прирост СС пилота при уничтожении пиратских кораблей под управлением NPC (в ходе пилотирования этого корабля)\"\n          }, \n          {\n            \"text\": \"·Производительность установок ремонта брони и установок накачки щитов повышена; процентное значение повышения исчисляется умножением СС пилота на 10 и не может быть меньше 0% и больше 50%\"\n          }, \n          {\n            \"number\": \"на 650%\", \n            \"text\": \"бонус к максимальной скорости хода при использовании устройств маскировки\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Тяжёлые диверсионные корабли:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорострельность торпедных аппаратов, ПУ дальнобойных ракет, скорострельных ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается полётное время дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配诱导力场发生器、隐秘诱导力场发生器和隐秘跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不遭受锁定延时副作用\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"驾驶该船只击毁NPC获得安全等级加成\"\n          }, \n          {\n            \"text\": \"·装甲维修器和护盾回充增量器效果增强幅度相当于飞行员安全等级的10倍，下限为0%，上限为50%。\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"使用隐形装置时舰船的最大速度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器有效距离加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }\n          ], \n          \"header\": \"黑隐特勤舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型快速导弹、巡航导弹和鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷飞行时间加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 44996\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung, Anziehungsfeldgenerator und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion des Flüssigozon-Verbrauchs von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Erhöhung des Sicherheitsstatus durch die Zerstörung von Nicht-Kapselpiloten-Piraten bei der Verwendung dieses Schiffs\"\n          }, \n          {\n            \"text\": \"·Die Effektivität von Panzerungsreparatursystemen und Schildboostern wurde um einen Prozentsatz entsprechend des 10-fachen Piloten-Sicherheitsstatus bei einer Mindestwert von 0 % und einem Höchstwert von 50 % erhöht.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Beschleunigung\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Flugzeit von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to security status gains from destruction of non-capsuleer pirates while flying this ship\"\n          }, \n          {\n            \"text\": \"·Armor Repairer and Shield Booster effectiveness increased by a percentage equal to 10x pilot security status, with a floor of 0% and ceiling of 50%\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp speed and acceleration\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile flight time\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción del consumo de ozono líquido del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la ganancia del estado de seguridad al aniquilar piratas no capsulistas mientras se pilota esta nave.\"\n          }, \n          {\n            \"text\": \"·La efectividad del reparador de blindaje y del potenciador de escudo aumenta en un porcentaje igual a 10 veces el estado de seguridad del piloto, con un mínimo del 0 % y un máximo del 50 %.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al tiempo de vuelo de los misiles pesados y los misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction de la charge CPU consommée par le dispositif de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules dispositif de camouflage d'opérations secrètes, générateur de champ cynosural et générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction de la consommation d'ozone liquide du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus aux gains de statut de sécurité liés à la destruction de pirates non capsuliers à bord de ce vaisseau\"\n          }, \n          {\n            \"text\": \"·Efficacité des réparateurs de blindage et des boosters de boucliers majorée par un pourcentage égal à 10x le statut de sécurité du pilote, de 0 % à 50 % maximum.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la déperdition des tourelles à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et des perturbateurs de warp\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des générateurs de stase\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au temps de vol des missiles lourds et des missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des tourelles à énergie intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles hybrides intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to security status gains from destruction of non-capsuleer pirates while flying this ship\"\n          }, \n          {\n            \"text\": \"·Armor Repairer and Shield Booster effectiveness increased by a percentage equal to 10x pilot security status, with a floor of 0% and ceiling of 50%\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp speed and acceleration\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile flight time\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置とサイノシュラルフィールドジェネレーター、そして潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの液体オゾン消費量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"この艦船を使用して非カプセラ海賊を撃破した際のセキュリティーステータスの上昇量が増加\"\n          }, \n          {\n            \"text\": \"·アーマーリペアラ及びシールドブースターの効果を、パイロットのセキュリティステータスの10倍に当たるパーセンテージまで上げる。下限は0%で上限は50%。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型実体弾タレットの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型実体弾タレットの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ステイシスウェビファイヤーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープ速度と加速度が上昇\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ラピッドライトミサイル、ヘビーミサイル及びヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの飛行時間が増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型エネルギータレットの与えるダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの最適射程距離にボーナス\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットの追跡速度にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 액화 오존 소모량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"NPC 해적선 파괴 시 시큐리티 획득량 증가\"\n          }, \n          {\n            \"text\": \"·파일럿 시큐리티 수치의 10배만큼의 %로 장갑수리 장치 및 실드 부스터 효과 증가 (0%~50%)\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 속도 및 가속도 증가\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 비행시간 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки, приводным маяком и приводным маяком скрытого действия.\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"снижение потребления жидкого озона приводным маяком и приводным маяком скрытого действия\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"увеличивается прирост СС пилота при уничтожении пиратских кораблей под управлением NPC (в ходе пилотирования этого корабля)\"\n          }, \n          {\n            \"text\": \"·Производительность установок ремонта брони и установок накачки щитов повышена; процентное значение повышения исчисляется умножением СС пилота на 10 и не может быть меньше 0% и больше 50%\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается полётное время тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置、诱导力场发生器和隐秘诱导力场发生器装备\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器消耗的液态臭氧数量降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"驾驶该船只击毁NPC获得安全等级加成\"\n          }, \n          {\n            \"text\": \"·装甲维修器和护盾回充增量器效果增强幅度相当于飞行员安全等级的10倍，下限为0%，上限为50%。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器有效距离加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹飞行时间加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 44995\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf Schaden durch Geschütztürme, Lenkwaffen, Vorton-Projektoren und Drohnen\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf Nachführungsgeschwindigkeit von Geschütztürmen und Drohnen\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf den Explosionsradius von Lenkwaffen und Vorton-Projektoren\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf die Effektivität der Zielmarkierung\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf die maximale Zielerfassungsreichweite\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to turret, missile, vorton projector and drone damage\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to missile and vorton projector explosion radius\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to target painter effectiveness\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to maximum targeting range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación al daño de las torretas, los misiles, los proyectores vortónicos y los drones.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización a la velocidad de rastreo de las torretas y los drones.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización al radio de explosión de los misiles y los proyectores vortónicos.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización a la efectividad de los reveladores de objetivo.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización a la distancia-objetivo máxima.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus aux dégâts des tourelles, missiles, projecteurs de vortons et drones\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité à la vitesse de poursuite des tourelles et des drones\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité au rayon d'explosion des missiles et projecteurs de vortons\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité à l'efficacité du marqueur de cible\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité à la portée de ciblage maximum\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to turret, missile, vorton projector and drone damage\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to missile and vorton projector explosion radius\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to target painter effectiveness\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to maximum targeting range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"タレット、ミサイル、ヴォートンプロジェクター、ドローンのダメージ上昇\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"タレットとドローンの追跡速度が上昇\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"ミサイルとヴォートンプロジェクターの爆発半径にペナルティ\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"ターゲットペインターの効果にペナルティ\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"最大ターゲット範囲にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"터렛, 미사일, 보르톤 프로젝터, 드론 피해량 증가\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"터렛 및 드론 트래킹 속도 페널티\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"미사일 및 보르톤 프로젝터 폭발반경 감소\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"타겟 페인터 효과 페널티\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"최대 타겟팅 거리 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к урону от турелей, ракет, вортонных проекторов и дронов\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к скорости наведения турелей и дронов\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к радиусу взрыва для ракет и вортонных проекторов\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к эффективности системы подсветки целей\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к максимальной дальности захвата целей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"炮台、导弹、电弧弦投射器和无人机伤害加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"炮台和无人机跟踪速度惩罚\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"导弹和电弧弦投射器爆炸半径惩罚\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"目标标记装置效果惩罚\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"锁定范围上限惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30847\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの最高速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 최대 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость полёта тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон БЧ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型导弹和重型攻击导弹最大速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹和重型攻击导弹伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12019\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen, schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf alle Schild- und Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Werfern für leichte Lenkwaffen, schwere Lenkwaffen sowie schwere Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to all shield and armor resistances\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje y escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des missiles légers, missiles lourds et missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier et de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to all shield and armor resistances\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイル、ヘビーミサイル、ヘビーアサルトミサイルのダメージが増加\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"全てのシールドとアーマーのレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの爆発速度上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイル、ヘビーミサイル及びヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 피해량 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"실드 및 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 미사일, 헤비 어썰트 미사일 폭발속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 연사속도 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону от лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"бонус к сопротивляемости щитов и брони всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорости распространения взрыва тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорострельности установок для лёгких и тяжёлых ракет, а также тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹伤害加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"护盾和装甲抗性加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹和重型攻击导弹爆炸速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型导弹、 重型导弹 和 重型攻击导弹发射器射速加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12015\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Module für Warpstörfeldgenerator und Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Reichweite von Warpstörfeldgeneratoren\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warp Disruption Field Generator and Cynosural Field Generator modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all armor resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Disruption Field Generator range\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de generador de campo disruptor de warp y generador de campo cinosural.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance del generador de campo disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros interdictores pesados (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules générateur de champ perturbateur de warp et générateur de champ cynosural\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à toutes les résistances de blindage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale de la tourelle à énergie intermédiaire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée du générateur de champ perturbateur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'interdiction lourds :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la tourelle à énergie intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warp Disruption Field Generator and Cynosural Field Generator modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all armor resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Disruption Field Generator range\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ワープ妨害フィールドジェネレーターとサイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"全てのアーマーレジスタンスが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープ妨害フィールドジェネレーターの範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ワープ妨害型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·워프 디스럽션 필드 생성기 및 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"모든 장갑 저항력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 디스럽션 필드 생성기 사거리 증가\"\n            }\n          ], \n          \"header\": \"인터딕터 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможно оснащение бортовым варп-заградителем и приводным маяком\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к дальности действия бортового варп-заградителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Заградительные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配跃迁扰断力场发生器和诱导力场发生器装备\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"装甲抗性加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁扰断力场发生器的范围扩大\"\n            }\n          ], \n          \"header\": \"重型拦截巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12017\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittleren Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорости наведения средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12011\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Module für Warpstörfeldgenerator und Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf alle Schildresistenzen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Reichweite von Warpstörfeldgeneratoren\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warp Disruption Field Generator and Cynosural Field Generator modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all shield resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Disruption Field Generator range\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de generador de campo disruptor de warp y generador de campo cinosural.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a todas las resistencias de escudo.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance del generador de campo disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros interdictores pesados (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules générateur de champ perturbateur de warp et générateur de champ cynosural\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à toutes les résistances de bouclier\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée du générateur de champ perturbateur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'interdiction lourds :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la tourelle à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warp Disruption Field Generator and Cynosural Field Generator modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all shield resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Disruption Field Generator range\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ワープ妨害フィールドジェネレーターとサイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"全てのシールドレジスタンスが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープ妨害フィールドジェネレーターの範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ワープ妨害型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·워프 디스럽션 필드 생성기 및 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"모든 실드 저항력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 디스럽션 필드 생성기 사거리 증가\"\n            }\n          ], \n          \"header\": \"인터딕터 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможно оснащение бортовым варп-заградителем и приводным маяком\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к дальности действия бортового варп-заградителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Заградительные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配跃迁扰断力场发生器和诱导力场发生器装备\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"护盾抗性加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁扰断力场发生器的范围扩大\"\n            }\n          ], \n          \"header\": \"重型拦截巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12013\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Reduzierte Verzögerung bei Reaktivierung von Mikrosprungantrieben\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de réduction du temps de réactivation du propulseur de microsauts\"\n          }, \n          {\n            \"text\": \"·Peut installer des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage</a\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"マイクロジャンプドライブの再起動遅延が短縮\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сокращается задержка повторного включения маневровых гипердвигателей\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"微型跳跃引擎启动间隔加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34245\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de poursuite de la grande tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34247\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Reduzierte Verzögerung bei Reaktivierung von Mikrosprungantrieben\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de réduction du temps de réactivation du propulseur de microsauts\"\n          }, \n          {\n            \"text\": \"·Peut installer des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage</a\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"マイクロジャンプドライブの再起動遅延が短縮\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сокращается задержка повторного включения маневровых гипердвигателей\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"微型跳跃引擎启动间隔加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34241\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"Bonus auf die Ausbeute beim Erz-Abbau\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer beim Eisschürfen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung und Zielerfassungsverzögerung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"text\": \"·Kein Abzug auf die maximale Geschwindigkeit des Schiffs beim Einsatz von Tarnmodulen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer beim Eisschürfen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Ausbeute beim Erz-Abbau\"\n            }\n          ], \n          \"header\": \"Mining Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer beim Eisschürfen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Expedition Frigates Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Ore Mining yield\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Ice Harvesting duration\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay and targeting delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·No penalty to ship max velocity when using Cloaking Devices\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Ice Harvesting duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Ore Mining yield\"\n            }\n          ], \n          \"header\": \"Mining Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Ice Harvesting duration\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Expedition Frigates bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonificación a la extracción de menas.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración de la recolección de hielo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje y la de adquisición de objetivos a 5 segundos.\"\n          }, \n          {\n            \"text\": \"·Sin penalización a la velocidad máxima de la nave al utilizar dispositivos de camuflaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de la recolección de hielo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la extracción de menas.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minera (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de la recolección de hielo.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas expedicionarias (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus au rendement de l'activité d'extraction de minerais\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la durée de la collecte de glace\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"réduction de la charge CPU requise pour les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation et de ciblage du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"text\": \"·Aucune pénalité à la vitesse maximale du vaisseau en utilisant des dispositifs de camouflage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée de la collecte de glace\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus au rendement de l'activité d'extraction de minerais\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate d’extraction minière :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée de la collecte de glace\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d'expédition :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Ore Mining yield\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Ice Harvesting duration\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay and targeting delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·No penalty to ship max velocity when using Cloaking Devices\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Ice Harvesting duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Ore Mining yield\"\n            }\n          ], \n          \"header\": \"Mining Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Ice Harvesting duration\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Expedition Frigates bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"鉱石採掘の収穫量が増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アイス採掘の時間が短縮\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遮蔽装置のCPU使用量が減少\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延および捕捉遅延が5秒に短縮\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の使用時、艦船の最大速度がペナルティを受けない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"アイス採掘の時間が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"鉱石採掘の収穫量が増加\"\n            }\n          ], \n          \"header\": \"採掘用フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"アイス採掘の時間が短縮\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"長距離フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"광물 채굴량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"아이스 채굴 지속시간 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연시간 및 타겟팅 지연시간이 5초로 감소합니다.\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 사용 시 함선 최대 속도에 패널티 미작용\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"아이스 채굴 지속시간 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"광물 채굴량 증가\"\n            }\n          ], \n          \"header\": \"채굴 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"아이스 채굴 지속시간 감소\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"탐사 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 300%\", \n            \"text\": \"повышается производительность буровых лазеров\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается продолжительность рабочего цикла установок для бурения льда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа задержка повторного включения систем маскировки и задержка включения систем захвата целей, вызываемая отключением систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"text\": \"·При работе систем маскировки скорость полного хода корабля не меняется\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла установок для бурения льда\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается производительность буровых лазеров\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Буровые фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла установок для бурения льда\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Разведочно-буровые фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"采矿器采矿量加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"冰矿采集器运转周期缩短\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时和锁定延时降到5秒\"\n          }, \n          {\n            \"text\": \"·使用隐形装置时对舰船的最大速度没有惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"冰矿采集器运转周期缩短\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"采矿器采矿量加成\"\n            }\n          ], \n          \"header\": \"采矿护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"冰矿采集器运转周期缩短\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"勘探护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37135\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Reduzierte Verzögerung bei Reaktivierung von Mikrosprungantrieben\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de réduction du temps de réactivation du propulseur de microsauts\"\n          }, \n          {\n            \"text\": \"·Peut installer des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage</a\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"マイクロジャンプドライブの再起動遅延が短縮\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сокращается задержка повторного включения маневровых гипердвигателей\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"微型跳跃引擎启动间隔加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34243\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Scansondenwerfern\"\n          }, \n          {\n            \"text\": \"·Modifikationen können unbeschadet von diesem Schiff entfernt werden.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Amarr-Offensivsysteme\"\n            }\n          ], \n          \"header\": \"Amarr Offensive Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Verringerung des Modulschadens durch Überhitzung\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Reparaturgeschwindigkeit von Nanobot-Reparaturpaste\"\n            }\n          ], \n          \"header\": \"Amarr Strategic Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Amarr-Defensivsysteme\"\n            }\n          ], \n          \"header\": \"Amarr Defensive Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Amarr-Schiffsantriebe\"\n            }\n          ], \n          \"header\": \"Amarr Propulsion Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Amarr-Kernsysteme\"\n            }\n          ], \n          \"header\": \"Amarr Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Rigs may be removed from this ship without being destroyed\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Amarr Offensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Amarr Offensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to nanite repair paste repair speed\"\n            }\n          ], \n          \"header\": \"Amarr Strategic Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Amarr Defensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Amarr Defensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Amarr Propulsion Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Amarr Propulsion Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Amarr Core Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Amarr Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de reducción de los requisitos de CPU del lanzasondas de escaneo.\"\n          }, \n          {\n            \"text\": \"·Es posible quitar los complementos de esta nave sin destruirlos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas ofensivos amarrianos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos amarrianos (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del daño del módulo por sobrecalentamiento.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de reconstrucción del fluido reparador de nanobots.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero estratégico amarriano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas defensivos amarrianos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos amarrianos (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas de propulsión amarrianos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión amarrianos (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas centrales amarrianos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de réduction de la charge CPU requise pour les lanceurs de sondes de balayage\"\n          }, \n          {\n            \"text\": \"·Les modifications de ce vaisseau peuvent être retirées sans être détruites\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus à l'efficacité de tous les systèmes offensifs amarr\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction de la détérioration du module suite à la surchauffe\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la vitesse de réparation des nanites de réparation\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur stratégique amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus à l'efficacité de tous les systèmes défensifs amarr\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus à l'efficacité de tous les systèmes de propulsion amarr\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonus à l'efficacité de tous les systèmes principaux amarr\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Rigs may be removed from this ship without being destroyed\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Amarr Offensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Amarr Offensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to nanite repair paste repair speed\"\n            }\n          ], \n          \"header\": \"Amarr Strategic Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Amarr Defensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Amarr Defensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Amarr Propulsion Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Amarr Propulsion Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Amarr Core Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Amarr Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"スキャンプローブランチャーのCPU使用率を軽減\"\n          }, \n          {\n            \"text\": \"·艦船を破壊せずにリグを取り外せることがある\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのアマー攻撃システムの効果が増加\"\n            }\n          ], \n          \"header\": \"アマー攻撃システムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"オーバーヒート時のモジュールダメージを軽減\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ナノマシンリペアペイストの速度が上昇\"\n            }\n          ], \n          \"header\": \"アマー戦略的巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのアマー防御システムの効果が増加\"\n            }\n          ], \n          \"header\": \"アマー防御システムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのアマー推進力システムの効果が増加\"\n            }\n          ], \n          \"header\": \"アマー推進力システムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのアマーコアシステムの効果が増大\"\n            }\n          ], \n          \"header\": \"アマー・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"스캔 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·리그를 파괴하지 않고 해제 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·아마르 공격용 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"아마르 공격용 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"과부하로 인한 모듈 손상 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"나나이트 용액 수리 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 전략 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·아마르 방어용 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"아마르 방어용 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·아마르 추진기 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"아마르 추진기 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·아마르 코어 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"아마르 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 99%\", \n            \"text\": \"сокращается потребность пусковых установок разведзондов в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·Из кораблей этого типа модификаторы извлекаются без разрушения\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия амаррских наступательных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские наступательные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается объём повреждений модулей, получаемых ими при перегрузке\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость ремонта модулей ремонтной нанопастой \"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские стратегические крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия амаррских оборонительных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские оборонительные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия амаррских двигательных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские двигательные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия амаррских центральных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"扫描探针发射器CPU需求降低\"\n          }, \n          {\n            \"text\": \"·改装件从舰船上移除不会销毁\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·艾玛攻击子系统效果加成\"\n            }\n          ], \n          \"header\": \"艾玛攻击子系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"装备过载损伤降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"纳米体修复粘合剂维修速度加成\"\n            }\n          ], \n          \"header\": \"艾玛战略巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·艾玛防御子系统效果加成\"\n            }\n          ], \n          \"header\": \"艾玛防御子系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·艾玛推进子系统效果加成\"\n            }\n          ], \n          \"header\": \"艾玛推进子系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·艾玛核心子系统效果加成\"\n            }\n          ], \n          \"header\": \"艾玛核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 29986\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de poursuite de la grande tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34249\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de poursuite de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34118\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Ausbeute beim Bergbau und bei Gaswolken-Extraktoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die kritische Trefferwahrscheinlichkeit von Bergbau\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Flüssigozon-Verbrauchs von industriellen Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Bergungswahrscheinlichkeit von Bergungsdrohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Erzausbeute\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Gaswolken-Extraktoren\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Mining Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Mining and Gas Cloud Scoop yield\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Mining critical hit chance\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Industrial Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Salvage Drone salvage chance\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Gas Cloud Scoop duration\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Mining Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al rendimiento de la minería y la succión de nubes de gas.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la probabilidad de impacto crítico minero.\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del consumo de ozono líquido del generador de campo cinosural industrial.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la probabilidad de recuperación de los drones recuperadores.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al rendimiento minero.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de la succión de nubes de gas.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minera (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus au rendement de l'extraction, et du récupérateur de nuages de gaz\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux chances de coup critique d'extraction minière\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonus à la puissance du réacteur de warp du vaisseau\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la consommation d'ozone liquide du générateur de champ cynosural industriel\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus aux chances de récupération des drones de récupération\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus au rendement de l'activité d'extraction\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée du récupérateur de nuages de gaz\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de boost des boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate d’extraction minière :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Mining and Gas Cloud Scoop yield\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Mining critical hit chance\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Industrial Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Salvage Drone salvage chance\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Gas Cloud Scoop duration\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Mining Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"採掘とガス雲スクープの採取量ボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"採掘のクリティカル率にボーナス\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"艦船のワープコア強度が増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"工業サイノシュラルフィールドの液体オゾン消費量が減少\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"サルベージドローンのサルベージ成功率にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"採掘量にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ガス雲スクープの持続時間減少量\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"シールドブースター量が増加\"\n            }\n          ], \n          \"header\": \"採掘用フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"채굴량 및 가스 수집기 생산량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"대량 채굴 확률 증가\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"워프 코어 출력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"인더스트리얼 사이노슈럴 필드 생성기 액화 오존 소모량 감소\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"샐비지 드론 샐비지 확률 보너스\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"채굴량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"가스 수집기 지속시간 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"채굴 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к эффективности бурения и работы газочерпателей\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к вероятности крит. удара при бурении\"\n          }, \n          {\n            \"number\": \"на 2+\", \n            \"text\": \"бонус к мощности бортового варп-ядра\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижение потребления жидкого озона промышленным приводным маяком\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"бонус к шансу получения добычи дроном-демонтажником\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается производительность буровых лазеров\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращение длительности рабочего цикла газочерпателя\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к эффективности восстановителя щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Буровые фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"采矿器和气体云团回收产量加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"采矿暴击几率加成\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"舰船跃迁核心强度加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"工业诱导力场发生器激活装备所消耗的液态臭氧数量降低\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"打捞无人机获取成功率加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"采矿器采矿量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"气体云团回收运转周期缩短\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"采矿护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 89648\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops Tarnvorrichtungen eingebaut werden\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion in der Reaktivierungsverzögerung des Anti-Unterbrechers und max. Erfassungsreichweitenabzug\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo del anulador de interdicción.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus à la vitesse et à l'accélération du warp\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"réduction de la charge CPU requise pour les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction et à la pénalité de portée de verrouillage maximale\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"ワープ速度、ワープ加速度が上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置のCPU使用量が減少\"\n          }, \n          {\n            \"text\": \"·隠密行動用遮蔽装置を装備できる\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と最大ロック射程のペナルティ減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 무효화 장치 지속시간 보너스\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 장착 가능\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 무효화 장치 재활성화 대기시간 및 최대 타겟팅 거리 페널티 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений и штрафа к максимальной дальности захвата цели\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟和最大锁定距离惩罚降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 34590\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Belagerungsmodule eingebaut werden\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von XL-Marschflugkörpern, XL-Torpedos und Torpedos\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Nachladezeit von Lenkwaffenwerfern\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Siege modules\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to XL Cruise, XL Torpedo and Torpedo damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in missile launcher reload time\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de los misiles de crucero XL, los torpedos XL y los torpedos.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del tiempo de recarga de los lanzamisiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser des modules de siège\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des missiles de croisière XL, des torpilles XL et des torpilles\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du temps de rechargement des lance-missiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Siege modules\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to XL Cruise, XL Torpedo and Torpedo damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in missile launcher reload time\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを装備できる\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"XLクルーズ、XLトルピード、トルピードのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルランチャーのリロード時間が短縮\"\n            }\n          ], \n          \"header\": \"カルダリ攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"XL 크루즈 미사일, XL 토피도, 토피도 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 런처 재장전 시간 감소\"\n            }\n          ], \n          \"header\": \"칼다리 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами осадного профиля\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон БЧ сверхбольших дальнобойных ракет, сверхбольших торпед и торпед\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход времени на перезарядку пусковых установок ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"超大型巡航导弹、超大型鱼雷和鱼雷伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"导弹发射器装填时间缩短\"\n            }\n          ], \n          \"header\": \"加达里无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34343\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Explosionsradius von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion radius\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al radio de explosión de los misiles pesados y los misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds rapides\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au rayon d'explosion des missiles lourds et des missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion radius\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"高速ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーミサイル・ヘビーアサルトミサイルの爆発半径が縮小\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 폭발반경 감소\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 6%\", \n              \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается сигнатура взрыва БЧ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹和重型攻击导弹的爆炸半径加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17634\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von schweren Lenkwaffen, Marschflugkörpern und Torpedos\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Zielmarkierungsmodulen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de los misiles pesados, los misiles de crucero y los torpedos.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de crucero y los torpedos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad del revelador de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des missiles lourds, missiles de croisière et torpilles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et à la vitesse des rayons de tractage\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles de croisière et des torpilles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité des marqueurs de cible\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"ヘビーミサイル・クルーズミサイル・トルピードのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が増加\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルとトルピードの最高速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"クルーズミサイルとトルピードの爆発速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ターゲットペインターの効果が増加\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"헤비 미사일, 크루즈 미사일, 토피도 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 최대 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"크루즈 미사일 및 토피도 폭발속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"타겟 페인터 효과 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон БЧ тяжёлых ракет, дальнобойных ракет и торпед\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта дальнобойных ракет и торпед\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается коэффициент скорости взрыва БЧ дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия систем подсветки целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"重型导弹、巡航导弹和鱼雷伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷最大飞行速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"巡航导弹和鱼雷爆炸速度加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"目标标记装置效果加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 28710\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"Bonus auf die maximale Zielerfassungsreichweite\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Lenkwaffen und Vorton-Projektoren\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Abzug auf die Wendigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Abzug auf die Stärke von Stasisnetzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to ship velocity\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to maximum targeting range\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to missile and vorton projector explosion velocity\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to ship agility\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to stasis webifier strength\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonificación a la velocidad de la nave.\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonificación a la distancia-objetivo máxima.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonificación a la velocidad de explosión de los misiles y los proyectores vortónicos.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de penalización a la agilidad de la nave.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de penalización a la intensidad de la red ralentizadora.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonus à la vitesse du vaisseau\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonus à la portée de ciblage maximum\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de bonus à la vitesse des missiles\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonus à la vitesse d'explosion des missiles et des projecteurs de vortons\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de pénalité à la maniabilité du vaisseau\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de pénalité à la puissance des générateurs de stase\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to ship velocity\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to maximum targeting range\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to missile and vorton projector explosion velocity\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to ship agility\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to stasis webifier strength\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"艦船の速度が上昇\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"最大ターゲット範囲が拡大\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"ミサイルの速度が上昇\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"ミサイルとヴォートンプロジェクターの爆発速度が上昇\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"艦船の機動性にペナルティ\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"ステイシスウェビファイヤーの強度にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"함선 속도 보너스\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"최대 타겟팅 거리 보너스\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"미사일 속도 보너스\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"미사일 및 보르톤 프로젝터 폭발속도 증가\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"기동성 페널티\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"스테이시스 웹 생성기 강도 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 44%\", \n            \"text\": \"бонус к скорости корабля\"\n          }, \n          {\n            \"number\": \"на 44%\", \n            \"text\": \"бонус к максимальной дальности наведения\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"бонус к скорости полёта ракет\"\n          }, \n          {\n            \"number\": \"на 44%\", \n            \"text\": \"бонус к скорости распространения взрыва для ракет и вортонных проекторов\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"штраф к манёвренности корабля\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"штраф к эффективности стазис-индуктора\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"舰船速度加成\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"最大锁定距离加成\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"导弹飞行速度加成\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"导弹和电弧弦投射器爆炸速度加成\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"舰船灵活性惩罚\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"停滞缠绕光束强度惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30850\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahlen-Modul verwenden\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf den Schaden von Mittelgroßen Kampfdrohnen\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"Bonus auf die HP von Mittelgroßen Kampfdrohnen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"Bonus auf die Mikrowarp-Geschwindigkeit von Drohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf kinetischen und thermischen schwere Lenkwaffen- und schwere Angriffslenkwaffen-Schaden\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Medium Combat Drone damage\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Medium Combat Drone hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"bonus to Drone microwarp velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal Heavy Missile and Heavy Assault Missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación al daño de los drones de combate medianos.\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonificación a los puntos de vida de los drones de combate medianos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"de bonificación a la velocidad de microwarp de los drones.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético y térmico de los misiles pesados y misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser un module de salve de commandement\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus aux dégâts des drones de combat intermédiaires\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus aux points de vie des drones de combat intermédiaires\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"de bonus de vitesse de microwarp des drones\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts cinétiques et thermiques des missiles lourds et des missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Medium Combat Drone damage\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Medium Combat Drone hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"bonus to Drone microwarp velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal Heavy Missile and Heavy Assault Missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュール1個使用可能\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"中型戦闘用ドローンのダメージが上昇\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"中型戦闘用ドローンのHPが上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"ドローンのマイクロワープ速度が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"キネティックとサーマルタイプのヘビーミサイルとヘビーアサルトミサイルのダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"중형 공격 드론 피해량 증가\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"중형 공격 드론 내구도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"드론 마이크로 워프 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일의 키네틱 및 열 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Может использовать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 500%\", \n            \"text\": \"бонус к урону от средних боевых дронов\"\n          }, \n          {\n            \"number\": \"на 250%\", \n            \"text\": \"бонус к запасу прочности средних боевых дронов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }, \n          {\n            \"number\": \"на 12.5%\", \n            \"text\": \"бонус к скорости микроварп-ускорителей дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"Бонус к общей сопротивляемости щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линейные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к кинетическому и термальному урону тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"中型战斗无人机伤害加成\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"中型战斗无人机HP加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"无人机微型跃迁速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里战列巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹动能伤害和热能伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 78366\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des grandes tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 641\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Stärke von ECM-Zielstörsendern und ECM-Burst-Störsendern\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von ECM-Zielstörsendern und ECM-Burst-Störsendern\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ECM Target Jammer and ECM Burst Jammer strength\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to ECM Target Jammer and ECM Burst Jammer optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la intensidad del perturbador ECM de objetivo y el perturbador de ráfaga ECM.\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo del perturbador ECM de objetivo y el perturbador de ráfaga ECM.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux dégâts du brouilleur de cibles CME et du brouilleur à salves CME\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus à la portée optimale et à la perte du brouilleur de pistes CME et des brouilleurs à salves CME\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ECM Target Jammer and ECM Burst Jammer strength\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to ECM Target Jammer and ECM Burst Jammer optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECMターゲットジャマーおよびECMバーストジャマーの強度が増加\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"ECMターゲットジャマーおよびECMバーストジャマーの最適射程距離および精度低下範囲が改善\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECM 타겟 재머 및 ECM 버스트 재머 강도 증가\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"ECM 타겟 재머, ECM 버스트 재머 최적사거리 및 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается выходная мощность модулей глушения захвата целей и генераторов импульсных помех\"\n            }, \n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность действия модулей глушения захвата целей и генераторов импульсных помех\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECM目标干扰器和ECM脉冲干扰器强度加成\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"ECM目标干扰器和ECM脉冲干扰器最佳射程和失准范围加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 640\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Präzisionsabfallreichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo del nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance efectivo del nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux PV des drones\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale du nosferatu à énergie et du neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la perte du nosferatu à énergie et du neutraliseur d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの精度低下範囲が改善\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается добавочная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器最佳射程加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"掠能器和能量中和器失准范围加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 643\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction to Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction to Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットの起動コストが減少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型エネルギータレットのダメージにボーナス\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии большими лазерными орудиями\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮塔启动消耗降低\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 642\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite und Nachführungsgeschwindigkeit von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Drone optimal range and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo y el alcance óptimo de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux PV des drones\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale et à la vitesse de poursuite du drone\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Drone optimal range and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ドローンの最適射程距離と追跡速度が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"드론 최적사거리 및 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель бортового оружия дронов, увеличивается оптимальная дальность его действия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"无人机最佳射程和跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 645\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen schweren Lenkwaffen-, Marschflugkörper- und Torpedo-Werfern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles pesados, los lanzamisiles de crucero y los lanzatorpedos.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles lourds, lance-missiles de croisière et lance-torpilles rapides\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ヘビーミサイル・クルーズミサイル・トルピードランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"クルーズミサイルとトルピードの爆発速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 헤비 미사일, 크루즈 미사일, 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"크루즈 미사일 및 토피도 폭발속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность торпедных аппаратов, ПУ дальнобойных ракет, скорострельных ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается коэффициент скорости взрыва БЧ дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型快速导弹、巡航导弹和鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"巡航导弹和鱼雷爆炸速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 644\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Caldari Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Caldari Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"加达里运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 649\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Trägheitsmodifikator des Schiffs\"\n            }\n          ], \n          \"header\": \"Caldari Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Caldari Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al modificador de inercia de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au modificateur d'inertie du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Caldari Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の慣性修正乗数が増加\"\n            }\n          ], \n          \"header\": \"カルダリハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"관성 계수 증가\"\n            }\n          ], \n          \"header\": \"칼다리 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается инертность конструкции корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Caldari Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船惯性调整系数加成\"\n            }\n          ], \n          \"header\": \"加达里运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 648\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Scansondenwerfern\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysegeräten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Kern- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"Bonus auf die Feuerrate von leichten Lenkwaffen und Raketen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirement\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Light Missile and Rocket rate of fire\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de reducción del requisito de CPU del lanzasondas de escaneo.\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los misiles ligeros y los cohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de réduction de la charge CPU requise pour les lanceurs de sondes de balayage\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes principales et des sondes de balayage de combat\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonus de cadence de tir des missiles légers et des roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirement\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Light Missile and Rocket rate of fire\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"スキャンプローブランチャーのCPU使用率を軽減\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物とデータアナライザーのウイルス強度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"ライトミサイルおよびロケットの発射速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"스캔 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"라이트 미사일 및 로켓 연사속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 99%\", \n            \"text\": \"снижение требований к мощности ЦПУ для пусковой установки разведзондов\"\n          }, \n          {\n            \"number\": \"на 5+\", \n            \"text\": \"бонус к силе вируса анализаторов данных и артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к чувствительности зондов навигационной и боевой разведки\"\n            }, \n            {\n              \"number\": \"на 12.5%\", \n              \"text\": \"бонус к скорострельности лёгких ракет и ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"扫描探针发射器CPU需求降低\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"火箭和轻型导弹射速加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 72903\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Waffenstörern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Waffenstörern\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Weapon Disruptor effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Weapon Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del disruptor de armas.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo del disruptor de armas.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité du perturbateur d'arme\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale du perturbateur d'arme\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Weapon Disruptor effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Weapon Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"兵器妨害器の有効性が向上\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"兵器妨害器の最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"무기 디스럽터 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"무기 디스럽터 효과 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия постановщиков помех системам наводки\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается оптимальная дальность действия постановщиков помех системам наводки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"武器扰断器效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"武器扰断器最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 2161\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Scansondenwerfern\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysegeräten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Kern- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen und Raketen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirement\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Light Missile and Rocket damage\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de reducción del requisito de CPU del lanzasondas de escaneo.\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonificación al daño de los misiles ligeros y los cohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de réduction de la charge CPU requise pour les lanceurs de sondes de balayage\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes principales et des sondes de balayage de combat\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonus aux dégâts des missiles légers et des roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirement\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Light Missile and Rocket damage\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"スキャンプローブランチャーのCPU使用率を軽減\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物とデータアナライザーのウイルス強度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"ライトミサイルおよびロケットのダメージが上昇\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"스캔 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"라이트 미사일 및 로켓 피해량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 99%\", \n            \"text\": \"снижение требований к мощности ЦПУ для пусковой установки разведзондов\"\n          }, \n          {\n            \"number\": \"на 5+\", \n            \"text\": \"бонус к силе вируса анализаторов данных и артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к чувствительности зондов навигационной и боевой разведки\"\n            }, \n            {\n              \"number\": \"на 30%\", \n              \"text\": \"бонус к урону лёгких ракет и ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"扫描探针发射器CPU需求降低\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"轻型导弹和火箭伤害加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 72904\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Scansondenwerfern\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysegeräten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Kern- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirement\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de reducción del requisito de CPU del lanzasondas de escaneo.\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de réduction de la charge CPU requise pour les lanceurs de sondes de balayage\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes principales et des sondes de balayage de combat\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirement\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"スキャンプローブランチャーのCPU使用率を軽減\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物とデータアナライザーのウイルス強度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"小型エネルギータレットのダメージにボーナス\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"스캔 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 99%\", \n            \"text\": \"снижение требований к мощности ЦПУ для пусковой установки разведзондов\"\n          }, \n          {\n            \"number\": \"на 5+\", \n            \"text\": \"бонус к силе вируса анализаторов данных и артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к чувствительности зондов навигационной и боевой разведки\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к урону малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"扫描探针发射器CPU需求降低\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 72907\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahlen-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittleren Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"Bonus auf die Mikrowarp-Geschwindigkeit von Drohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf HP, Nachführung und Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Faktor der Geschwindigkeitsabnahme und die HP von Stasisnetzdrohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittleren Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Reparaturmenge von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Hybrid Turret optimal range and falloff\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"bonus to Drone microwarp velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, tracking and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier Drone factor of velocity decrease and hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta híbrida mediana.\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"de bonificación a la velocidad de microwarp de los drones.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida, rastreo y daño de los drones.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al factor de reducción de la velocidad y los puntos de vida de los drones de red ralentizadora.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser un module de salve de commandement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale et à la déperdition des tourelles hybrides intermédiaires\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"de bonus de vitesse de microwarp des drones\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux points de vie, à la poursuite et aux dégâts des drones\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au facteur de diminution de vitesse et aux points de vie des drones générateurs de stase\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité réparatrice du réparateur de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Hybrid Turret optimal range and falloff\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"bonus to Drone microwarp velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, tracking and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier Drone factor of velocity decrease and hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールが1個使える\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型ハイブリッドタレットの最適射程距離と精度低下にボーナス\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"ドローンのマイクロワープ速度が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのHP、トラッキング、ダメージにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ステイシスウェビファイヤードローンの速度低下能力とHPにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"アーマーリペアラの回復量増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 하이브리드 터렛 최적사거리 및 유효사거리 증가\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"드론 마이크로 워프 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도, 트래킹, 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"스테이시스 웹 생성 드론 속도 감소 효과 및 내구도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Может использовать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к оптимальной и остаточной дальности средних гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 12.5%\", \n            \"text\": \"бонус к скорости микроварп-ускорителей дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"улучшаются урон, наведение и запас прочности дронов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к запасу прочности и фактору снижения скорости дронов стазис-индукции\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к эффективности установки ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型混合炮台最佳射程和失准范围加成\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"无人机微型跃迁速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP、索敌和伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"停滞缠绕无人机最大速度影响系数和HP加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 72869\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-10%\", \n            \"text\": \"der Dauer von Oberflächen-Bergbaulasern\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"der Dauer von Eisschürfern\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"der Dauer von Gas-Extraktoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Kapazität des Erzfrachtraums des Schiffs\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"der Ausbeute von Oberflächen-Bergbaulasern\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"der Dauer von Eisschürfern\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"der Dauer von Gas-Extraktoren\"\n            }\n          ], \n          \"header\": \"Mining Barge Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2.5%\", \n              \"text\": \"Bonus auf die Kapazität des Erzfrachtraums des Schiffs\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"der Dauer von Gas-Extraktoren\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"der Ausbeute von Oberflächen-Bergbaulasern\"\n            }\n          ], \n          \"header\": \"Exhumers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-10%\", \n            \"text\": \"in Strip Miner duration\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"in Ice Harvester duration\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"in Gas Harvester duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship ore hold capacity\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"in Strip Miner yield\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"in Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Gas Harvester duration\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2.5%\", \n              \"text\": \"bonus to ship ore hold capacity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Gas Harvester duration\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"in Strip Miner yield\"\n            }\n          ], \n          \"header\": \"Exhumers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-10%\", \n            \"text\": \"en la duración del extractor minero.\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"en la duración de la cosechadora de hielo.\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"en la duración de la cosechadora de gas.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad del almacén de menas de la nave.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"en la producción del extractor minero.\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"en la duración de la cosechadora de hielo.\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"en la duración de la cosechadora de gas.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Gabarra minera (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2.5%\", \n              \"text\": \"de bonificación a la capacidad del almacén de menas de la nave.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"en la duración de la cosechadora de gas.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"en la producción del extractor minero.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Exhumadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-10%\", \n            \"text\": \"à la durée des lasers d'extraction intensive\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"à la durée des collecteurs de glace\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"à la durée des collecteurs de gaz\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute â minerai du vaisseau\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"au rendement des lasers d'extraction intensive\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"à la durée des collecteurs de glace\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"à la durée des collecteurs de gaz\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Barge d'extraction minière :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2.5%\", \n              \"text\": \"de bonus à la capacité de la soute à minerai du vaisseau\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"à la durée des collecteurs de gaz\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"au rendement des lasers d'extraction intensive\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Exhumers :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-10%\", \n            \"text\": \"in Strip Miner duration\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"in Ice Harvester duration\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"in Gas Harvester duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship ore hold capacity\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"in Strip Miner yield\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"in Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Gas Harvester duration\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2.5%\", \n              \"text\": \"bonus to ship ore hold capacity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Gas Harvester duration\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"in Strip Miner yield\"\n            }\n          ], \n          \"header\": \"Exhumers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-10%\", \n            \"text\": \"ストリップマイナーサイクル時間ボーナス\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"アイス採掘機サイクル時間ボーナス\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"ガス採掘機サイクル時間ボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の鉱石容量が増加\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"ストリップマイナー採掘量ボーナス\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"アイス採掘機サイクル時間ボーナス\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"ガス採掘機サイクル時間ボーナス\"\n            }\n          ], \n          \"header\": \"採掘艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2.5%\", \n              \"text\": \"艦船の鉱石容量が増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"ガス採掘機サイクル時間ボーナス\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"ストリップマイナー採掘量ボーナス\"\n            }\n          ], \n          \"header\": \"特化型採掘艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-10%\", \n            \"text\": \"가속 채굴기 지속시간\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"아이스 채굴기 지속시간\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"가스 하베스터 지속시간\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"광물 저장고 적재량 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"가속 채굴기 채굴량\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"아이스 채굴기 지속시간\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"가스 하베스터 지속시간\"\n            }\n          ], \n          \"header\": \"채광선 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2.5%\", \n              \"text\": \"광물 저장고 적재량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"가스 하베스터 지속시간\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"가속 채굴기 채굴량\"\n            }\n          ], \n          \"header\": \"익스허머 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на -10%\", \n            \"text\": \"от времени работы буровых лазеров валовой выемки\"\n          }, \n          {\n            \"number\": \"на -12.5%\", \n            \"text\": \"от времени работы установок для бурения льда\"\n          }, \n          {\n            \"number\": \"на -12.5%\", \n            \"text\": \"от времени работы установок для сбора газа\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость отсека для руды\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"от эффективности добычи буровых лазеров валовой выемки\"\n            }, \n            {\n              \"number\": \"на -4%\", \n              \"text\": \"от времени работы установок для бурения льда\"\n            }, \n            {\n              \"number\": \"на -3%\", \n              \"text\": \"от времени работы установок для сбора газа\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Буровые корабли:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 2.5%\", \n              \"text\": \"увеличивается вместимость отсека для руды\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на -3%\", \n              \"text\": \"от времени работы установок для сбора газа\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"от эффективности добычи буровых лазеров валовой выемки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Тяжёлые буровые корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-10%\", \n            \"text\": \"露天采矿器运转周期\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"冰矿采集器运转周期\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"气云采集器运转周期\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船矿石舱容量加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"露天采矿器开采量\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"冰矿采集器运转周期\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"气云采集器运转周期\"\n            }\n          ], \n          \"header\": \"采矿驳船操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2.5%\", \n              \"text\": \"舰船矿石舱容量加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"气云采集器运转周期\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"露天采矿器开采量\"\n            }\n          ], \n          \"header\": \"采掘者操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22548\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Leistung von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Large Energy Turret optimal range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Armor Repairer amount\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje remotos.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des grandes tourelles à énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus au montant des réparateurs de blindage à distance\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée optimale et à la perte du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux PV des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Large Energy Turret optimal range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Armor Repairer amount\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"大型エネルギータレットの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートアーマーリペアラのリペア量が増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの最適射程距離および精度低下範囲が改善\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 수리량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 최적사거리 및 유효사거리 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"повышается производительность установок дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"大型能量炮台最佳射程加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"核心和作战扫描探针强度加成\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器维修量加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器最佳射程和失准范围加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33472\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Schaden und die HP von Drohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"Bonus auf die HP der Schilde des Schiffs\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"der Dauer von Eisschürfern\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"der Ausbeute von Oberflächen-Bergbaulasern\"\n            }\n          ], \n          \"header\": \"Mining Barge Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"der Dauer von Gas-Extraktoren\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"der Ausbeute von Oberflächen-Bergbaulasern\"\n            }\n          ], \n          \"header\": \"Exhumers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to drone damage and hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to ship shield hitpoints\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"in Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"in Strip Miner yield\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Gas Harvester duration\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"in Strip Miner yield\"\n            }\n          ], \n          \"header\": \"Exhumers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al daño y los puntos de vida de los drones.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonificación a los puntos de vida del escudo de la nave.\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"en la duración de la cosechadora de hielo.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"en la producción del extractor minero.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Gabarra minera (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"en la duración de la cosechadora de gas.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"en la producción del extractor minero.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Exhumadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus aux dégâts et aux PV des drones\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonus aux PV du bouclier du vaisseau\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"à la durée des collecteurs de glace\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"au rendement des lasers d'extraction intensive\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Barge d'extraction minière :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"à la durée des collecteurs de gaz\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"au rendement des lasers d'extraction intensive\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Exhumers :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to drone damage and hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to ship shield hitpoints\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"in Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"in Strip Miner yield\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Gas Harvester duration\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"in Strip Miner yield\"\n            }\n          ], \n          \"header\": \"Exhumers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"ドローンのダメージとHPが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"艦船のシールドヒットポイントが増加\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"アイス採掘機サイクル時間ボーナス\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"ストリップマイナー採掘量ボーナス\"\n            }\n          ], \n          \"header\": \"採掘艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"ガス採掘機サイクル時間ボーナス\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"ストリップマイナー採掘量ボーナス\"\n            }\n          ], \n          \"header\": \"特化型採掘艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"드론 피해량 및 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"실드량 증가\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"아이스 채굴기 지속시간\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"가속 채굴기 채굴량\"\n            }\n          ], \n          \"header\": \"채광선 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"가스 하베스터 지속시간\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"가속 채굴기 채굴량\"\n            }\n          ], \n          \"header\": \"익스허머 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается урон бортового оружия дронов, увеличивается запас их прочности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 6%\", \n              \"text\": \"повышается запас прочности щитов корабля\"\n            }, \n            {\n              \"number\": \"на -4%\", \n              \"text\": \"от времени работы установок для бурения льда\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"от эффективности добычи буровых лазеров валовой выемки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Буровые корабли:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на -3%\", \n              \"text\": \"от времени работы установок для сбора газа\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"от эффективности добычи буровых лазеров валовой выемки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Тяжёлые буровые корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"无人机伤害和HP加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"舰船护盾值加成\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"冰矿采集器运转周期\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"露天采矿器开采量\"\n            }\n          ], \n          \"header\": \"采矿驳船操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"气云采集器运转周期\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"露天采矿器开采量\"\n            }\n          ], \n          \"header\": \"采掘者操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22546\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Masseabzugs von Panzerplatten\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Armor Plate mass penalty\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de masa de la placa de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de masse du revêtement de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Armor Plate mass penalty\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"アーマープレートの質量ペナルティが減少\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"장갑 플레이트 질량 페널티 감소\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"снижение штрафа за массу для бронеплит\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"装甲板质量惩罚降低\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17728\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduzierte effektiv zurückgelegte Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Immun gegen Unterbrechungsfeldwerfer, Warpstörfeldgeneratoren und mobile kleine , mittelgroße und große Warpstörer\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Inmune al lanzaesferas de interdicción, al generador de campo disruptor de warp y al disruptor de warp móvil pequeño, mediano y grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·Immunité contre les lanceurs de sphère d'interdiction, générateurs de champ perturbateur de warp et perturbateurs de warp mobiles légers, intermédiaires et grands perturbateurs de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·インターディクションスフィアランチャー、ワープ妨害フィールドジェネレーター、小型、中型、大型移動式ワープ妨害器の影響を受けない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·인터딕션 런처, 워프 디스럽션 필드 생성기, 이동식 소형/중형/대형 워프 디스럽터에 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию систем запуска заградительных сфер, бортовых варп-заградителей, а также полевых варп-заградителей малой, средней и большой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·对拦截泡发射器、跃迁扰断力场发生器与小型、中型及大型机动跃迁扰断器免疫\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 11129\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction to Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction to Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットの起動コストが減少\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットのダメージにボーナス\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии большими лазерными орудиями\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к урону больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮塔启动消耗降低\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17726\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Feuerrate von mittelgroßen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la cadence de tir des tourelles à projectiles intermédiaires\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus à la vitesse et à l'accélération du warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des tourelles à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"中型プロジェクタイルタレットの発射間隔が短縮\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ワープ速度とワープ加速が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 발사체 터렛 연사속도 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорострельность средних баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"中型射弹炮台射速加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17720\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Stasisnetzen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to Medium Hybrid Turret damage\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad de la red ralentizadora.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité des générateurs de stase\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des tourelles hybrides intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to Medium Hybrid Turret damage\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ステイシスウェビファイアの効果が増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"스테이시스 웹 생성기 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 75%\", \n            \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия стазис-индукторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"中型混合炮台伤害加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"停滞缠绕光束效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17722\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit von Drohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Drone max velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad máxima de los drones.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse maximale des drones\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux PV des drones\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Drone max velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"ドローンの最高速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"드론 최대속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорость полного хода дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"无人机最大速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32872\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des grandes tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 13202\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetikschaden von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Missile velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic Heavy Missile and Heavy Assault Missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético de los misiles pesados y misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus à la vitesse des missiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles lourds et des missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Missile velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic Heavy Missile and Heavy Assault Missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ミサイル速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルのキネティックダメージが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"미사일 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일의 키네틱 피해량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорость полёта ракет\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон кинетических БЧ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"导弹飞行速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹动能伤害加成\"\n            }\n          ], \n          \"header\": \"加达里战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 24698\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit von leichten Lenkwaffen und Raketen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Kinetikschaden von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von leichten Lenkwaffen und Raketen\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Light Missile and Rocket max velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to kinetic Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket explosion velocity\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la velocidad máxima de los misiles ligeros y los cohetes.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño cinético de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles ligeros y los cohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la vitesse maximale des missiles légers et des roquettes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles légers et des roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Light Missile and Rocket max velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to kinetic Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket explosion velocity\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"ライトミサイルとロケットの最高速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイルとロケットのキネティックダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイルとロケットの爆発速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"라이트 미사일 및 로켓 최대 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"키네틱 라이트 미사일과 로켓 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일 및 로켓 폭발속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается скорость полёта лёгких ракет и лёгких штурмовых ракет\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон кинетических БЧ лёгких ракет и лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается коэффициент скорости взрыва БЧ лёгких ракет и лёгких штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"轻型导弹和火箭飞行速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型导弹和火箭动能伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭爆炸速度加成\"\n            }\n          ], \n          \"header\": \"加达里驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32876\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittelgroßen Energiegeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Energy Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta de energía mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale et à la perte de la tourelle à énergie intermédiaire\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles à énergie intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Energy Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型エネルギータレットの最適射程距離および精度低下範囲が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 에너지 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность ведения огня из средних лазерных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型能量炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 24696\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit von leichten Lenkwaffen und Raketen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Explosionsschaden von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Light Missile and Rocket max velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to explosive Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la velocidad máxima de los misiles ligeros y los cohetes.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño explosivo de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la vitesse maximale des missiles légers et des roquettes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts explosifs des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Light Missile and Rocket max velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to explosive Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"ライトミサイルとロケットの最高速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイルとロケットのエクスプローシブダメージが増加\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }\n          ], \n          \"header\": \"ミンマター駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"라이트 미사일 및 로켓 최대 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일 및 로켓 폭발 피해량 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }\n          ], \n          \"header\": \"민마타 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается скорость полёта лёгких ракет и лёгких штурмовых ракет\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон фугасных БЧ лёгких ракет и лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"轻型导弹和火箭飞行速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型导弹和火箭爆炸伤害加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32878\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von großen Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型プロジェクタイルタレットにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"к поражающему действию баллистических орудий большого калибра\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 24694\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf den maximalen Geschwindigkeitsfaktor von Stasisnetzen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"reduction in Small Energy Turret activation cost\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Stasis Webifier max velocity factor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación al factor de velocidad máxima de la red ralentizadora.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de réduction du coût d'activation des petites tourelles à énergie\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"de bonus à la quantité d'énergie récupérée par le Nosferatu à énergie et le neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus au facteur de vitesse maximale des générateurs de stase\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"reduction in Small Energy Turret activation cost\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Stasis Webifier max velocity factor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"小型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"小型エネルギータレットの起動コストが軽減\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの消費量が改善\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ステイシスウェビファイアの最高速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"소형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"스테이시스 웹 생성기 최대 속도 계수 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"сокращается расход энергии при ведении огня из малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 45%\", \n            \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"повышается эффективность действия стазис-индукторов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"小型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"小型能量炮台启动消耗减少\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"掠能器和能量中和器吸取量加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"停滞缠绕光束最大速度影响系数加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 33079\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 선체 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается урон больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 24692\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Präzisionsabfallreichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de energía pequeña.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo del nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo del nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles à énergie\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité d'énergie récupérée par le Nosferatu à énergie et le neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale du nosferatu à énergie et du neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la perte du nosferatu à énergie et du neutraliseur d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"小型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"小型エネルギータレットの最適射程距離が拡大\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの消費量が改善\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの精度低下範囲が改善\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"소형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 에너지 터렛 최적사거리 증가\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых лазерных орудий\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"小型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"小型能量炮台最佳射程加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器和能量中和器最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器失准范围加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 3516\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 24690\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Vernetzte Sensoranlagen eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es können Pulsprojektoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Kann leichte und schwere Jäger starten\"\n          }, \n          {\n            \"text\": \"·Kann Ziele auf größere Entfernungen erfassen\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Widerstand gegen Sensorferndämpfer\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Erhöhung der Fernunterstützungsimpedanz auf Elektronik\"\n          }, \n          {\n            \"text\": \"·Gruppensprung-fähig\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von Jägern\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Geschwindigkeitsbonus von Nachbrennern\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Caldari Carrier Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von Jägern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Explosionsradius und die Explosionsgeschwindigkeit von Jägerwaffen\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Networked Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Burst Projectors\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Caldari Carrier bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter weapon explosion radius and explosion velocity\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Amarr Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar una red de sensores conectados.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar proyectores de estallido.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Puede lanzar cazas ligeros y pesados.\"\n          }, \n          {\n            \"text\": \"·Puede fijar objetivos a mayores distancias.\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"text\": \"·Capaz de salto conductivo.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de los cazas.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la velocidad del posquemador.\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de los cazas.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al radio de explosión y la velocidad de explosión del armamento de los cazas.\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un réseau matriciel de détection\"\n          }, \n          {\n            \"text\": \"·Peut être équipé de projecteurs à salves\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut lancer des chasseurs légers et lourds\"\n          }, \n          {\n            \"text\": \"·Peut verrouiller des cibles à plus grande distance\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"text\": \"·Capacité de saut de groupe\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des chasseurs\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la puissance d'accélération des systèmes de post-combustion\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des chasseurs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au rayon d'explosion et à la vitesse d'explosion des armes des chasseurs\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Networked Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Burst Projectors\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Caldari Carrier bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter weapon explosion radius and explosion velocity\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Amarr Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ネットワーク式センサー施設を装備可能\"\n          }, \n          {\n            \"text\": \"·バーストプロジェクターを装備可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"text\": \"·軽・重戦闘機が発艦可能\"\n          }, \n          {\n            \"text\": \"·長距離からロックオン可能\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"アーマープレートとシールド拡張器にボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートセンサーダンプナーのレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ステイシス効果レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモート電子アシスタンスインピーダンスが増加\"\n          }, \n          {\n            \"text\": \"·コンジットジャンプに対応\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"戦闘機ダメージが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"アフターバーナーの速度ボーナスが上昇\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }\n          ], \n          \"header\": \"カルダリ艦載機母艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"戦闘機ダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"戦闘機兵器の爆発半径と爆発速度が増加\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }\n          ], \n          \"header\": \"アマー艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·네트워크 센서 장비 장착 가능\"\n          }, \n          {\n            \"text\": \"·버스트 프로젝터 장착 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·파이터 (라이트 파이터 및 헤비 파이터) 사출 가능\"\n          }, \n          {\n            \"text\": \"·타겟 거리 증가\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 센서 댐프너 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"text\": \"·점프 필드 생성 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"파이터 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"애프터버너 속도 보너스 증가\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 캐리어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"파이터 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"파이터 무기 폭발반경 감소 및 폭발속도 증가\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"아마르 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться сверхмощными активными усилителями систем захвата целей (Networked Sensor Array)\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться проекторами объёмных помех\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Подходит для запуска лёгких и тяжёлых истребителей\"\n          }, \n          {\n            \"text\": \"·Повышена дальность захвата целей\"\n          }, \n          {\n            \"number\": \"на 400%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"text\": \"·Может совершить групповой прыжок\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон бортового оружия истребителей\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается влияние форсажных ускорителей на скорость полёта корабля\"\n            }, \n            {\n              \"number\": \"на 3+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские КАРы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон бортового оружия истребителей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается разброс при поражении целей и повышается скорость распространения фронта бортового оружия истребителей\"\n            }, \n            {\n              \"number\": \"на 3+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配联网感应器阵列\"\n          }, \n          {\n            \"text\": \"·可装配脉冲波投射器\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·可释放轻型和重型 铁骑舰载机\"\n          }, \n          {\n            \"text\": \"·可在更大范围内锁定\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"text\": \"·可以进行导管跳跃\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"铁骑舰载机伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"加力燃烧器速度增益加成\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"加达里航空母舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"铁骑舰载机伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"铁骑舰载机武器爆炸半径和爆炸速度加成\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"艾玛航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 3514\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des grandes tourelles hybrides\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et à la vitesse des rayons de tractage\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des grandes tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des grandes tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が増加\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 28661\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern und die Reparaturmenge von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von großen Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Shield Booster and Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo y los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des grandes tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et à la vitesse du rayon de tractage\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux capacités du booster de bouclier et du réparateur de blindage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des grandes tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus de distance de perte des grandes tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Shield Booster and Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が増加\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"シールドブースターおよびアーマーリペアラの回復量増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"실드 부스터 및 장갑수리 장치 회복량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к эффективности модуля накачки щитов и установки ремонта брони\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"к поражающему действию баллистических орудий большого калибра\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"护盾回充增量器回充量和装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 28665\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Belagerungsmodul eingebaut werden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Schaden von Capital-Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Stasisnetzen\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Capital-Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Capital Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida capital.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad de la red ralentizadora.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida capital.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux dégâts de la tourelle hybride capitale\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité du générateur de stase\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles hybrides capitales\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Capital Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"キャピタルハイブリッドタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ステイシスウェビファイアの効果が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター攻城艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルハイブリッドタレットの射撃速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"캐피탈 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"스테이시스 웹 생성기 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 드레드노트 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 하이브리드 터렛 연사속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами осадного профиля\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается урон боеприпасов сверхбольших гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия стазис-индукторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские дредноуты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность сверхбольших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"旗舰级混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"停滞缠绕光束效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔无畏舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级混合炮台射速加成\"\n            }\n          ], \n          \"header\": \"盖伦特无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 42124\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Networked Sensor Array eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es können Pulsprojektoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Kann leichte und schwere Jäger starten\"\n          }, \n          {\n            \"text\": \"·Kann Ziele auf größere Entfernungen erfassen\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf Widerstand gegen Sensorferndämpfer\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Erhöhung der Fernunterstützungsimpedanz auf Elektronik\"\n          }, \n          {\n            \"text\": \"·Gruppensprung-fähig\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Geschwindigkeit von Jägern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Stasis Webification Burst Projector\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von Jägern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die HP von Jägern\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Networked Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Burst Projectors\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter velocity\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webification Burst Projector effectiveness\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter hitpoints\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Gallente Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar una red de sensores conectados.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar proyectores de estallido.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Puede lanzar cazas ligeros y pesados.\"\n          }, \n          {\n            \"text\": \"·Puede fijar objetivos a mayores distancias.\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"text\": \"·Capaz de salto conductivo.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de los cazas.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonificación a la efectividad del proyector de estallido de red ralentizadora.\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los cazas.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los puntos de vida de los cazas.\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un réseau matriciel de détection\"\n          }, \n          {\n            \"text\": \"·Peut être équipé de projecteurs à salves\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut lancer des chasseurs légers et lourds\"\n          }, \n          {\n            \"text\": \"·Peut verrouiller des cibles à plus grande distance\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"text\": \"·Capacité de saut de groupe\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse des chasseurs\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité du projecteur à salves de générateur de stase\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des chasseurs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux points de vie des chasseurs\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Networked Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Burst Projectors\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter velocity\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webification Burst Projector effectiveness\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter hitpoints\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Gallente Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ネットワーク式センサー施設に搭載可能\"\n          }, \n          {\n            \"text\": \"·バーストプロジェクターに搭載可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"text\": \"·軽・重戦闘機が発艦可能\"\n          }, \n          {\n            \"text\": \"·長距離からロックオン可能\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"アーマープレートとシールド拡張器にボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートセンサーダンプナーのレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ステイシス効果レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモート電子アシスタンスインピーダンスが増加\"\n          }, \n          {\n            \"text\": \"·コンジットジャンプに対応\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクの持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"戦闘機の速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ステイシスウェビファイヤーバーストプロジェクターの効率が向上\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }\n          ], \n          \"header\": \"ミンマター艦載機母艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"戦闘機のダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"戦闘機のヒットポイントが増加\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }\n          ], \n          \"header\": \"ガレンテ艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·네트워크 센서 장비 장착 가능\"\n          }, \n          {\n            \"text\": \"·버스트 프로젝터 장착 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·파이터 (라이트 파이터 및 헤비 파이터) 사출 가능\"\n          }, \n          {\n            \"text\": \"·타겟 거리 증가\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 센서 댐프너 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"text\": \"·점프 필드 생성 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"파이터 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"스테이시스 웹 버스트 프로젝터 효과 증가\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"민마타 캐리어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"파이터 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"파이터 내구도 증가\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"갈란테 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться сверхмощными активными усилителями систем захвата целей (Networked Sensor Array)\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться проекторами объёмных помех\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Подходит для запуска лёгких и тяжёлых истребителей\"\n          }, \n          {\n            \"text\": \"·Повышена дальность захвата целей\"\n          }, \n          {\n            \"number\": \"на 400%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"text\": \"·Может совершить групповой прыжок\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорость полного хода истребителей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия проекторов объёмного стазис-эффекта\"\n            }, \n            {\n              \"number\": \"на 3+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские КАРы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия истребителей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается запас прочности истребителей\"\n            }, \n            {\n              \"number\": \"на 3+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配联网感应器阵列\"\n          }, \n          {\n            \"text\": \"·可装配脉冲波投射器\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·可释放轻型和重型 铁骑舰载机\"\n          }, \n          {\n            \"text\": \"·可在更大范围内锁定\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"text\": \"·可以进行导管跳跃\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"铁骑舰载机速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"停滞缠绕脉冲波投射器效果加成\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔航空母舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"铁骑舰载机伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"铁骑舰载机HP加成\"\n            }, \n            {\n              \"number\": \"3+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"盖伦特航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 42125\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Doomsday-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann ein Phänomengenerator-Modul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Es kann ein Sprungtor-Generator-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es kann ein Klonbucht-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann drei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"Bonus auf den Schaden von Capital-Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf Widerstand gegen Sensordämpfer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf Widerstand gegen Waffenstörung\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Erhöhung der elektronischen Fernunterstützungsimpedanz\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Capital-Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Titan Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Stasisnetzen\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Titan Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"bonus to Capital Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Gallente Titan bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Minmatar Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo apocalíptico.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de fenómenos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de portales de salto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de plataforma de contenedores de clonación.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar tres módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida capital.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de disrupción de armas.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida capital.\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Titán gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad de la red ralentizadora.\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Titán minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'une arme d'annihilation\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un module de générateur de phénomènes\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un générateur de portail interstellaire\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'une plateforme de clonage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser trois salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"de bonus aux dégâts de la tourelle hybride capitale\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux perturbateurs d'armement\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir de la tourelle hybride capitale\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Titan gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité du générateur de stase\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Titan minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"bonus to Capital Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Gallente Titan bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Minmatar Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ドゥームズデイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·現象ジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·ジャンプポータルジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·クローンバットベイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールが3個使える\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"アーマープレートとシールド拡張器にボーナス\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"キャピタルハイブリッドタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"センサーダンプナーのレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"兵器妨害レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"ステイシスウェビファイヤー耐性が増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"リモート電子アシスタンスインピーダンスが増加\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクの持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルハイブリッドタレットの射撃速度が上昇\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }\n          ], \n          \"header\": \"ガレンテタイタンボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ステイシスウェビファイアの効果が上昇\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }\n          ], \n          \"header\": \"ミンマタータイタンボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·둠스데이모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·특이점 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 포탈 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 클론 격납고 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·세개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"캐피탈 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"센서 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"무기 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"갈란테 타이탄 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"스테이시스 웹 생성기 효과 증가\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"민마타 타이탄 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться орудиями Судного дня\"\n          }, \n          {\n            \"text\": \"·Позволяет установить модуль генератора аномалий\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться генераторами гиперпорталов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться отсеками клонирования\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до трёх импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 500%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 1000%\", \n            \"text\": \"увеличивается урон боеприпасов сверхбольших гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию помех на системы наводки вооружения\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность сверхбольших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 6+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские титаны:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 6+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские титаны:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个末日武器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个现象发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个克隆舱装备\"\n          }, \n          {\n            \"text\": \"·可以装配三个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"旗舰级混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"武器干扰抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"盖伦特泰坦操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"停滞缠绕光束效果加成\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔泰坦操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 42126\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Module für Anziehungsfeldgenerator, getarnten Anziehungsfeldgenerator und getarnten Sprungtorgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielaufschaltung nach der Deaktivierung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"Bonus auf die maximale Geschwindigkeit des Schiffs beim Einsatz von Tarnvorrichtungen\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"Bonus auf die Stärke von ECM-Zielstörsendern und ECM-Burst-Störsendern\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Black Ops Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen schweren Lenkwaffen-, Marschflugkörper- und Torpedo-Werfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Cynosural Field Generator, Covert Cynosural Field Generator, and Covert Jump Portal Generator modules\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus to ECM Target Jammer and ECM Burst Jammer strength\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Black Ops bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de generador de campo cinosural,  generador de campo cinosural encubierto y generador de portales de salto encubierto.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"de bonificación a la velocidad máxima de la nave al utilizar dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"de bonificación a la intensidad del perturbador ECM de objetivo y el perturbador de ráfaga ECM.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones secretas (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles pesados, los lanzamisiles de crucero y los lanzatorpedos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules générateur de champ cynosural, générateur de champ cynosural furtif et générateur de portail interstellaire furtif\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation des dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"de bonus à la vitesse maximale d'un vaisseau lorsqu'équipé d'un dispositif de camouflage actif\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"de bonus aux dégâts du brouilleur de cibles CME et du brouilleur à salves CME\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Forces spéciales :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles lourds, lance-missiles de croisière et lance-torpilles rapides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Cynosural Field Generator, Covert Cynosural Field Generator, and Covert Jump Portal Generator modules\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus to ECM Target Jammer and ECM Burst Jammer strength\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Black Ops bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·サイノシュラルフィールドジェネレーター、潜伏用サイノシュラルフィールドジェネレーター、そして潜伏用ジャンプポータルジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置を停止した後のターゲット遅延なし\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"遮蔽装置使用時の艦船の最高速度が上昇\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"ECMターゲットジャマーとECMバーストジャマーの強度が増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"秘密工作艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"高速ヘビーミサイル・クルーズミサイル・トルピードランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルとトルピードの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기, 코버트 점프 포탈 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"클로킹 장치 사용 시 함선 최대 속도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"ECM 타겟 재머 및 ECM 버스트 재머 강도 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"블랙옵스 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"급속 헤비 미사일, 크루즈 미사일, 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможно оснащение приводным маяком, приводным маяком скрытого действия и диверсионным генератором гиперпорталов\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устранена задержка включения систем захвата целей, вызываемая отключением систем маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }, \n          {\n            \"number\": \"на 650%\", \n            \"text\": \"бонус к максимальной скорости хода при использовании устройств маскировки\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 40%\", \n              \"text\": \"увеличивается выходная мощность модулей глушения захвата целей и генераторов импульсных помех\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к сопротивляемости щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Тяжёлые диверсионные корабли:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорострельность торпедных аппаратов, ПУ дальнобойных ракет, скорострельных ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配诱导力场发生器、隐秘诱导力场发生器和隐秘跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不遭受锁定延时副作用\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"使用隐形装置时舰船的最大速度加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"ECM目标干扰器和ECM脉冲干扰器强度加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"黑隐特勤舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"重型快速导弹、巡航导弹和鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷最大飞行速度加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22436\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Module für Anziehungsfeldgenerator, getarnten Anziehungsfeldgenerator und getarnten Sprungtorgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielaufschaltung nach der Deaktivierung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"Bonus auf die maximale Geschwindigkeit des Schiffs beim Einsatz von Tarnvorrichtungen\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }, \n          {\n            \"text\": \"·Sin-Boni gelten nicht für Warpstörer\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Reichweite von Warpunterbrechern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführung und optimale Reichweite von Drohnen\"\n            }, \n            {\n              \"number\": \"1+\", \n              \"text\": \"Unterbrechungsstärke für alle Warpunterbrecher\"\n            }\n          ], \n          \"header\": \"Black Ops Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Cynosural Field Generator, Covert Cynosural Field Generator, and Covert Jump Portal Generator modules\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }, \n          {\n            \"text\": \"·Sin bonuses do not apply to Warp Disruptors\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Drone tracking and optimal range\"\n            }, \n            {\n              \"number\": \"1+\", \n              \"text\": \"scramble strength to all Warp Scramblers\"\n            }\n          ], \n          \"header\": \"Black Ops bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de generador de campo cinosural,  generador de campo cinosural encubierto y generador de portales de salto encubierto.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"de bonificación a la velocidad máxima de la nave al utilizar dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }, \n          {\n            \"text\": \"·Las bonificaciones de la Sin no se aplican a los disruptores de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance del distorsionador de warp.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance óptimo y al rastreo de los drones.\"\n            }, \n            {\n              \"number\": \"1+\", \n              \"text\": \"de intensidad de distorsión a todos los distorsionadores de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones secretas (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules générateur de champ cynosural, générateur de champ cynosural furtif et générateur de portail interstellaire furtif\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation des dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"de bonus à la vitesse maximale d'un vaisseau lorsqu'équipé d'un dispositif de camouflage actif\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }, \n          {\n            \"text\": \"·Les bonus du Sin ne s'appliquent pas aux perturbateurs de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée des inhibiteurs de warp\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la poursuite et portée optimale des drones\"\n            }, \n            {\n              \"number\": \"1+\", \n              \"text\": \"de bonus à la puissance d'inhibition de tous les inhibiteurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Forces spéciales :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux PV des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Cynosural Field Generator, Covert Cynosural Field Generator, and Covert Jump Portal Generator modules\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }, \n          {\n            \"text\": \"·Sin bonuses do not apply to Warp Disruptors\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Drone tracking and optimal range\"\n            }, \n            {\n              \"number\": \"1+\", \n              \"text\": \"scramble strength to all Warp Scramblers\"\n            }\n          ], \n          \"header\": \"Black Ops bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·サイノシュラルフィールドジェネレーター、潜伏用サイノシュラルフィールドジェネレーター、そして潜伏用ジャンプポータルジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置を停止した後のターゲット遅延なし\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"遮蔽装置使用時の艦船の最高速度が上昇\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }, \n          {\n            \"text\": \"·シンのボーナスはワープ妨害器には適用されない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープスクランブラーの射程にボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ドローンのトラッキング能力および最適射程距離が増加\"\n            }, \n            {\n              \"number\": \"1+\", \n              \"text\": \"全てのワープスクランブラーのスクランブル強度\"\n            }\n          ], \n          \"header\": \"秘密工作艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기, 코버트 점프 포탈 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"클로킹 장치 사용 시 함선 최대 속도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }, \n          {\n            \"text\": \"·워프 디스럽터에 씬 보너스 미적용\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 스크램블러 사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"드론 트래킹 성능 및 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"1+\", \n              \"text\": \"워프 스크램블러 강도 증가\"\n            }\n          ], \n          \"header\": \"블랙옵스 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможно оснащение приводным маяком, приводным маяком скрытого действия и диверсионным генератором гиперпорталов\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устранена задержка включения систем захвата целей, вызываемая отключением систем маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }, \n          {\n            \"number\": \"на 650%\", \n            \"text\": \"бонус к максимальной скорости хода при использовании устройств маскировки\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }, \n          {\n            \"text\": \"·Особенности Sin не влияют на варп-подавители\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается дальность действия варп-глушителя\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорости наведения и оптимальной дальности дронов\"\n            }, \n            {\n              \"number\": \"на 1+\", \n              \"text\": \"повышается мощность помех, генерируемых всеми варп-глушителями\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Тяжёлые диверсионные корабли:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配诱导力场发生器、隐秘诱导力场发生器和隐秘跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不遭受锁定延时副作用\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"使用隐形装置时舰船的最大速度加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }, \n          {\n            \"text\": \"·罪恶级加成不适用于跃迁扰断器\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁扰频器范围加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"无人机跟踪速度和最佳射程加成\"\n            }, \n            {\n              \"number\": \"1+\", \n              \"text\": \"跃迁扰频器干扰强度\"\n            }\n          ], \n          \"header\": \"黑隐特勤舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22430\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen schweren Lenkwaffen-, Marschflugkörper- und Torpedo-Werfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles pesados, los lanzamisiles de crucero y los lanzatorpedos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des missiles lourds, missiles de croisière et des torpilles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ヘビーミサイル、クルーズミサイル、トルピードランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルとトルピードの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 헤비 미사일, 크루즈 미사일, 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность торпедных аппаратов, ПУ дальнобойных ракет, скорострельных ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型快速导弹、巡航导弹和鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷最大飞行速度加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34469\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Bergungsmodulen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de los recuperadores.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée des récupérateurs\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"サルベージャーの起動時間が短縮\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"샐비저 지속시간 감소\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 5+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла демонтажных модулей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"打捞装置运转周期降低\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 29248\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite und Nachführungsgeschwindigkeit von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Drone optimal range and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo y el alcance óptimo de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux points de dégâts et points de vie du Drone\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale et à la vitesse de poursuite du drone\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Drone optimal range and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイント、ダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ドローンの最適射程距離、追跡速度が増大\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"드론 최적사거리 및 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель бортового оружия дронов, увеличивается оптимальная дальность его действия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"无人机最佳射程和跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34465\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahlen-Modul verwenden\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Feuerrate von mittleren Projektilwaffentürmen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittleren Projektilgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittleren Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittleren Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta de proyectiles mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser un module de salve de commandement\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la cadence de tir des tourelles à projectiles intermédiaires\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale et à la distance de perte des tourelles à projectiles intermédiaires\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la déperdition des tourelles à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュール1個使用可能\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型プロジェクタイルタレットの発射速度が上昇\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型プロジェクタイルタレットの最適射程距離と精度低下範囲にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型プロジェクタイルタレットのダメージにボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 발사체 터렛 연사속도 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 발사체 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Может использовать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к скорострельности средних баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к оптимальной и остаточной дальности средних баллистических орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к остаточной дальности средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линейные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型射弹炮台射速加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型射弹炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 78369\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"375%\", \n            \"text\": \"Bonus auf die HP und den Schaden von Leichten Kampfdrohnen\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblockern\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion in der Reaktivierungsverzögerung des Anti-Unterbrechers und max. Erfassungsreichweitenabzug\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetik- und Thermalschaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Interceptors Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"375%\", \n            \"text\": \"bonus to Light Combat Drone damage and hitpoints\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"375%\", \n            \"text\": \"de bonificación al daño y los puntos de vida de los drones de combate ligeros.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético y térmico de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interceptores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"375%\", \n            \"text\": \"bonus aux dégâts et aux points de vie du drone de combat léger\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction et à la pénalité de portée de verrouillage maximale\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts des missiles de type cinétique et thermique\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"réduction de la pénalité du rayon de signature du propulseur de microwarp\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la portée optimale de l'inhibiteur de warp, et du perturbateur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Intercepteurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"375%\", \n            \"text\": \"bonus to Light Combat Drone damage and hitpoints\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"375%\", \n            \"text\": \"戦闘用ライトドローンのダメージとヒットポイントが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と最大ロック射程のペナルティ減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルのキネティックダメージおよびサーマルダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"要撃型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"375%\", \n            \"text\": \"라이트 공격 드론 피해량 및 내구도 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍 시스템 활성화 비용 감소\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 무효화 장치 재활성화 대기시간 및 최대 타겟팅 거리 페널티 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 무효화 장치 지속시간 보너스\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 키네틱 및 열 피해 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"인터셉터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 375%\", \n            \"text\": \"увеличивается урон бортового оружия лёгких боевых дронов; увеличивается запас их прочности\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений и штрафа к максимальной дальности захвата цели\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон кинетических и термических БЧ ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Перехватчики:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"375%\", \n            \"text\": \"轻型战斗无人机伤害和HP加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟和最大锁定距离惩罚降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"动能和热能导弹伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器有效距离加成\"\n            }\n          ], \n          \"header\": \"截击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33673\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"Bonus auf Schaden und HP von Leichten Kampfdrohnen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit von Drohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetik- und Thermalschaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Light Combat Drone damage and hitpoints\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Drone max velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all Shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Kinetic and Thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonificación al daño y los puntos de vida de los drones de combate ligeros.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad máxima de los drones.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético y térmico de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonus aux dégâts et aux points de vie des drones de combat légers\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse maximale des drones\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts cinétiques et thermiques des missiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Light Combat Drone damage and hitpoints\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Drone max velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all Shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Kinetic and Thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"ライト戦闘用ドローンのダメージとHPが増加\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ドローンの最大速度にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルのキネティックダメージとサーマルダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"라이트 공격 드론 피해량 및 내구도 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"드론 최대속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 디스트로이어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 키네틱 및 열 피해 증가\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 300%\", \n            \"text\": \"бонус к урону и запасу прочности лёгких боевых дронов\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается максимальная скорость дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к общей сопротивляемости щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские эсминцы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к кинетическому и термальному урону ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"轻型战斗无人机伤害和HP加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"无人机最大速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"所有护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里驱逐舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"动能和热能导弹伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 78367\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"600%\", \n            \"text\": \"Bonus auf die HP und den Schaden von Mittelschweren Kampfdrohnen\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion des Flüssigozon-Verbrauchs von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung, Anziehungsfeldgenerator und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"Bonus auf die Stärke von ECM-Zielstörsender-Modulen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von ECM-Zielstörsender-Modulen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Kinetik- und Thermalschaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"600%\", \n            \"text\": \"bonus to Medium Combat Drone damage and hitpoints\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in ECM Target Jammer activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"600%\", \n            \"text\": \"de bonificación al daño y los puntos de vida de los drones de combate medianos.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción del consumo de ozono líquido del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonificación a la intensidad del perturbador ECM de objetivo.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del perturbador ECM de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño cinético y térmico de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"600%\", \n            \"text\": \"bonus aux dégâts et aux points de vie du drone de combat intermédiaire\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction de la consommation d'ozone liquide du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules dispositif de camouflage d'opérations secrètes, générateur de champ cynosural et générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus à la puissance du brouilleur de cible CME\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"réduction de la charge CPU requise pour les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"réduction du coût d'activation du brouilleur de cible CME\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus aux dégâts des missiles de type cinétique et thermique\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"600%\", \n            \"text\": \"bonus to Medium Combat Drone damage and hitpoints\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in ECM Target Jammer activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"600%\", \n            \"text\": \"戦闘用ミディアムドローンのダメージとヒットポイントが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの液体オゾン消費量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置とサイノシュラルフィールドジェネレーター、そして潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"ECMターゲットジャマーの強度が増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ECMターゲットジャマーの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ミサイルのキネティックダメージおよびサーマルダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"600%\", \n            \"text\": \"중형 공격 드론 피해량 및 내구도 보너스\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 액화 오존 소모량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"ECM 타겟 재머 효과 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM 타겟 재머 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"미사일 키네틱 및 열 피해 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 600%\", \n            \"text\": \"увеличивается урон бортового оружия средних боевых дронов; увеличивается запас их прочности\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"снижение потребления жидкого озона приводным маяком и приводным маяком скрытого действия\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки, приводным маяком и приводным маяком скрытого действия.\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 30%\", \n              \"text\": \"увеличивается выходная мощность модулей глушения захвата целей\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии модулями глушения захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон кинетических и термических БЧ ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"600%\", \n            \"text\": \"中型战斗无人机伤害和HP加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器消耗的液态臭氧数量降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置、诱导力场发生器和隐秘诱导力场发生器装备\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"ECM目标干扰器强度加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM目标干扰器启动消耗减少\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"动能和热能导弹伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33675\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus aux dégâts des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33677\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf den Kinetikschaden von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den EM, Explosions- und Thermalschaden von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von leichten Lenkwaffen und Raketen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to kinetic Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to EM, explosive, thermal Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al daño cinético de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño electromagnético, explosivo y térmico de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles ligeros y los cohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts EM, explosifs et thermiques des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles légers et des roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to kinetic Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to EM, explosive, thermal Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"ライトミサイルとロケットのキネティックダメージが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ライトミサイルとロケットのEM・エクスプローシブ・サーマルダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイルとロケットの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"키네틱 라이트 미사일과 로켓 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"라이트 미사일 및 로켓의 EM, 폭발, 열 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일 및 로켓 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается урон кинетических БЧ лёгких ракет и лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон электромагнитных, фугасных и тепловых БЧ лёгких ракет и лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается скорость полёта лёгких ракет и лёгких штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"轻型导弹和火箭动能伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"轻型导弹和火箭电磁、爆炸和热能伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭飞行速度加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17619\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Verfügt über einen Frachtraum für planetarische Güter\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Has a bay for holding Planetary Commodities\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cuenta con una plataforma para almacenar mercancía planetaria.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Possède une baie dédiée au stockage de marchandises planétaires.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Has a bay for holding Planetary Commodities\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·惑星商品を保管するベイがある\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·행성 생산품 창고 보유\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа оборудованы отсеком для продукции наземных баз\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·有一个行星资源物品舱\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 2863\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf den Schaden durch Große Hybridgeschütztürme, Große Energiegeschütztürme und Große Projektilgeschütztürme\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf den Schaden durch schwere Lenkwaffen, Marschflugkörper und Torpedos\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP von und den Schaden durch Drohnen\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"Bonus auf Kern- und Gefechtsscansonden-Stärke\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Large Hybrid Turret, Large Energy Turret and Large Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Drone hitpoints and damage\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida grande, la torreta de energía grande y la torreta de proyectiles grande.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación al daño de los misiles pesados, los misiles de crucero y los torpedos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus aux dégâts des grandes tourelles hybrides, des grandes tourelles à énergie et des grandes tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus aux dégâts des missiles lourds, des missiles de croisière et des torpilles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux dégâts et aux points de vie des drones\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Large Hybrid Turret, Large Energy Turret and Large Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Drone hitpoints and damage\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"大型ハイブリッドタレット、大型エネルギータレット、大型実体弾タレットのダメージにボーナス\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"ヘビーミサイル、クルーズミサイル及びトルピードのダメージにボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ドローンのヒットポイントとダメージにボーナス\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"대형 하이브리드 터렛, 대형 에너지 터렛 및 대형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"헤비 미사일, 크루즈 미사일, 토피도 피해량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"드론 내구도 및 피해량 증가\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к урону от больших гибридных турелей, больших энергетических турелей и больших баллистических турелей\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"увеличивается урон тяжёлых ракет, дальнобойных ракет и торпед\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается урон орудий и запас прочности дронов\"\n          }, \n          {\n            \"number\": \"на 37.5%\", \n            \"text\": \"повышается чувствительность зондов навигационной разведки и боевых разведзондов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"大型混合炮台、大型能量炮台和大型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"重型导弹、巡航导弹和鱼雷伤害加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"无人机HP和伤害加成\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"核心和作战扫描探针强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 47466\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Ausbeute beim Bergbau und bei Gaswolken-Extraktoren\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Erzausbeute\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Gaswolken-Extraktoren\"\n            }\n          ], \n          \"header\": \"Mining Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Erzausbeute\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion des Signaturradius des Schiffs\"\n            }\n          ], \n          \"header\": \"Expedition Frigates Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Mining and Gas Cloud Scoop yield\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Gas Cloud Scoop duration\"\n            }\n          ], \n          \"header\": \"Mining Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in ship signature radius\"\n            }\n          ], \n          \"header\": \"Expedition Frigates bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al rendimiento de la minería y la succión de nubes de gas.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al rendimiento minero.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de la succión de nubes de gas.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minera (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al rendimiento minero.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del radio de la señal de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas expedicionarias (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus au rendement d'extraction et du récupérateur de nuages de gaz\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"réduction de la charge CPU requise pour les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut monter un dispositif de camouflage opérations secrètes II et un générateur furtif de champ cynosural\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus au rendement de l'activité d'extraction\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction de la durée du récupérateur de nuages de gaz\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate d’extraction minière :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus au rendement de l'activité d'extraction\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"réduction du rayon de signature d'un vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d'expédition :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Mining and Gas Cloud Scoop yield\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Gas Cloud Scoop duration\"\n            }\n          ], \n          \"header\": \"Mining Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in ship signature radius\"\n            }\n          ], \n          \"header\": \"Expedition Frigates bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"採掘とガス雲スクープの採取量ボーナス\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置のCPU使用量が減少\"\n          }, \n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"採掘量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ガス雲スクープの持続時間減少量\"\n            }\n          ], \n          \"header\": \"採掘用フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"採掘量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のシグネチャ半径が縮小\"\n            }\n          ], \n          \"header\": \"長距離フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"채굴량 및 가스 수집기 생산량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"채굴량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"가스 수집기 지속시간 감소\"\n            }\n          ], \n          \"header\": \"채굴 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"채굴량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"함선 시그니처 반경 감소\"\n            }\n          ], \n          \"header\": \"탐사 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к эффективности бурения и работы газочерпателей\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается производительность буровых лазеров\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращение длительности рабочего цикла газочерпателя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Буровые фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается производительность буровых лазеров\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается размер сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Разведочно-буровые фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"采矿器和气体云团回收产量加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置的CPU需求降低\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"采矿器开采量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"气体云团回收运转周期缩短\"\n            }\n          ], \n          \"header\": \"采矿护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"采矿器采矿量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船信号半径降低\"\n            }\n          ], \n          \"header\": \"勘探护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33697\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"アマーハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Amarr Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"艾玛运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33695\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマターハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Minmatar Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33693\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Caldari Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Caldari Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"加达里运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33691\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittleren Vorton-Projektoren\"\n            }\n          ], \n          \"header\": \"EDENCOM Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Vorton Projector optimal range\"\n            }\n          ], \n          \"header\": \"EDENCOM Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo del proyector vortónico mediano.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de EDENCOM (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"améliore la portée optimale des projecteurs de vortons intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur EDENCOM :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Vorton Projector optimal range\"\n            }\n          ], \n          \"header\": \"EDENCOM Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ヴォートンプロジェクターの最適射程距離にボーナス\"\n            }\n          ], \n          \"header\": \"EDENCOM巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 보르톤 프로젝터 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"EDENCOM 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 6%\", \n              \"text\": \"бонус к сопротивляемости щитов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к оптимальной дальности среднего вортонного проектора\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка EDENCOM Cruiser:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型电弧弦投射器最佳射程加成\"\n            }\n          ], \n          \"header\": \"伊甸联合防御阵线巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 54732\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Verringerung von CONCORD-Kopfgeldern\"\n          }, \n          {\n            \"text\": \"·Bis zu 10 % Reduktion der Schild- und Panzerungsresistenzen\"\n          }, \n          {\n            \"text\": \"·Bis zu 10 % Reduktion des Schadens durch Geschütztürme, Werfer, Drohnen und Smartbombs\"\n          }, \n          {\n            \"text\": \"·Anziehungsfeld-Störsender sind für das ganze System aktiviert.\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CONCORD bounties\"\n          }, \n          {\n            \"text\": \"·Up to 10% reduction in shield and armor resistances\"\n          }, \n          {\n            \"text\": \"·Up to 10% reduction in turret, launcher, drone and smartbomb damage\"\n          }, \n          {\n            \"text\": \"·System-wide cynosural field jammers are in effect\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción a las recompensas de CONCORD.\"\n          }, \n          {\n            \"text\": \"·Hasta un 10 % de reducción de las resistencias de blindaje y escudo.\"\n          }, \n          {\n            \"text\": \"·Hasta un 10 % de reducción del daño de torretas, lanzadores, drones y bombas inteligentes.\"\n          }, \n          {\n            \"text\": \"·Se activan los aparatos perturbadores de campo cinosural en todo el sistema.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"réduction des primes CONCORD\"\n          }, \n          {\n            \"text\": \"·Jusqu'à 10 % de réduction des résistances de bouclier et de blindage\"\n          }, \n          {\n            \"text\": \"·Jusqu'à 10 % de réduction des dégâts de tourelles, de lanceurs, de drones et de bombes de proximité\"\n          }, \n          {\n            \"text\": \"·Brouilleurs de champ cynosural effectifs dans tout le système en action\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CONCORD bounties\"\n          }, \n          {\n            \"text\": \"·Up to 10% reduction in shield and armor resistances\"\n          }, \n          {\n            \"text\": \"·Up to 10% reduction in turret, launcher, drone and smartbomb damage\"\n          }, \n          {\n            \"text\": \"·System-wide cynosural field jammers are in effect\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"CONCORDの懸賞金削減\"\n          }, \n          {\n            \"text\": \"·シールドとアーマーレジスタンスが最大10%減少\"\n          }, \n          {\n            \"text\": \"·タレット、ランチャー、ドローン、スマートボムのダメージが最大10%減少\"\n          }, \n          {\n            \"text\": \"·全システム用サイノシュラルフィールドジャマー装置が起動中\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"CONCORD 현상금 감소\"\n          }, \n          {\n            \"text\": \"·실드 및 장갑 저항력 최대 10% 감소\"\n          }, \n          {\n            \"text\": \"·터렛, 런처, 드론, 스마트폭탄 피해량 최대 10% 감소\"\n          }, \n          {\n            \"text\": \"·항성계 전체에 사이노슈럴 필드 재머 작동 중\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшение наград, назначенных КОНКОРДом\"\n          }, \n          {\n            \"text\": \"·Уменьшение сопротивляемости щитов и брони до 10%\"\n          }, \n          {\n            \"text\": \"·Уменьшение урона от турелей, пусковых установок, дронов и импульсных излучателей до 10%\"\n          }, \n          {\n            \"text\": \"·Действуют глушители поля приводного маяка с охватом всей системы\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"统合部赏金减少\"\n          }, \n          {\n            \"text\": \"·护盾和装甲抗性降低，最多10%\"\n          }, \n          {\n            \"text\": \"·炮台、发射器、无人机和立体炸弹的威力被削弱，最多10%\"\n          }, \n          {\n            \"text\": \"·全星系遭受反诱导力场干扰\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 3069\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen und Raketen\"\n            }\n          ], \n          \"header\": \"Assault Frigates Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von leichten Lenkwaffen und Raketenwerfern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket explosion velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket damage\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de los misiles ligeros y los cohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas de asalto (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles ligeros y los lanzacohetes.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des missiles légers et des roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d’assaut :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers et des lance-roquettes\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket explosion velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket damage\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイルおよびロケットの爆風速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイルおよびロケットのダメージが上昇\"\n            }\n          ], \n          \"header\": \"強襲型フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイルおよびロケットランチャーの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースター量が増加\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일 및 로켓 폭발속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일 및 로켓 피해량 증가\"\n            }\n          ], \n          \"header\": \"어썰트 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일 및 로켓 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорости распространения взрыва легкой ракеты и ракеты\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону от легкой ракеты и ракеты\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорострельности лёгких ракет и ракетных установок\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности восстановителя щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型导弹和火箭爆炸速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型导弹和火箭伤害加成\"\n            }\n          ], \n          \"header\": \"突击护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"火箭和轻型导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11400\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Leistung beim Überladen von Nachbrennern, Microwarpantrieben, eigenen Reparaturmodulen und Resistenzmodulen\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Hauler Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Größe des Flottenhangars\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Transport Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners, Microwarpdrives, Local Repair Modules, and Resistance Modules\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to fleet hangar capacity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los beneficios de posquemadores, motores de microwarp, módulos de reparación locales y módulos de resistencia sobrecalentados.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías amarriana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación de la capacidad del hangar para la flota.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de transporte (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonus à la force du réacteur de warp\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus aux avantages des modules de post-combustion, de propulseur de microwarp, de réparation locale et de résistance en surchauffe\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité du hangar de flotte\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de transport :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners, Microwarpdrives, Local Repair Modules, and Resistance Modules\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to fleet hangar capacity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"艦船のワープコア強度が増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"オーバーヒートしたアフターバーナー・マイクロワープドライブ・ローカルリペアモジュール・レジスタンスモジュールの利益が増加\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"アマーハウラーボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"フリートハンガー容量が増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"特化型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"워프 코어 출력 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"애프터버너, 마이크로 워프 드라이브, 근접 수리장치 모듈 및 저항력 관련 모듈 과부하 시 보너스 효과 증가\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 운반선 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"함대 공용 창고 용적 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"트랜스포터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 2+\", \n            \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"усиливается влияние перегрузки на производительность ускорителей и ряда защитных и ремонтных систем, а именно: форсажных ускорителей, микроварп-ускорителей, бортовых установок ремонта брони и накачки щитов, а также активных модуляторов щитов и систем укрепления брони против воздействий всех видов\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Amarr Hauler:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость отсека с внешним доступом\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Транспортные корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"舰船跃迁核心强度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"加力燃烧器、微型跃迁推进器、自身维修装备和抗性提升装备超载后获得的效果提升增加\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"艾玛运载舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰队机库容量加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"运输舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12753\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Daten-Analysegeräten\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 High Slot, +2 Mid Slots, +1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+1000 Rumpf-HP\"\n          }, \n          {\n            \"text\": \"·+200 GJ Energiespeicherkapazität\"\n          }, \n          {\n            \"text\": \"·+5 m Signaturradius\"\n          }, \n          {\n            \"text\": \"·+30 m3 Frachtraumkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Panzerungsreparatursystemen und Schildboostern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Panzerungsreparatursystemen und Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Defensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 High Slot, +2 Mid Slots, +1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+1000 Hull HP\"\n          }, \n          {\n            \"text\": \"·+200GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+5m Signature Radius\"\n          }, \n          {\n            \"text\": \"·+30m3 Cargo Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer and Shield Booster effectiveness\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to the benefits of overheating Armor Repairers and Shield Boosters\"\n            }\n          ], \n          \"header\": \"Minmatar Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura superior, +2 ranuras intermedias, +1 ranura inferior\"\n          }, \n          {\n            \"text\": \"·+1000 PV de casco\"\n          }, \n          {\n            \"text\": \"·+200 GJ de capacidad del condensador\"\n          }, \n          {\n            \"text\": \"·+5 m al radio de la señal\"\n          }, \n          {\n            \"text\": \"·+30 m³ a la capacidad de carga\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del reparador de blindaje y el potenciador de escudo.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los reparadores de blindaje y los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes et un générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement supérieur, +2 Emplacements intermédiaires, +1 Emplacement inférieur\"\n          }, \n          {\n            \"text\": \"·+1 000 PV à la coque\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +200 GJ\"\n          }, \n          {\n            \"text\": \"·Rayon de signature +5 m\"\n          }, \n          {\n            \"text\": \"·Capacité de la soute +30 m3\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité du Réparateur de blindage et du Booster de bouclier\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des Réparateurs de blindage et des Boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 High Slot, +2 Mid Slots, +1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+1000 Hull HP\"\n          }, \n          {\n            \"text\": \"·+200GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+5m Signature Radius\"\n          }, \n          {\n            \"text\": \"·+30m3 Cargo Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer and Shield Booster effectiveness\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to the benefits of overheating Armor Repairers and Shield Boosters\"\n            }\n          ], \n          \"header\": \"Minmatar Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物とデータアナライザーのウイルス強度が上昇\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置と潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+1、ミッドスロット+2、ロースロット+1\"\n          }, \n          {\n            \"text\": \"·船体HP+1000\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+200GJ\"\n          }, \n          {\n            \"text\": \"·シグネチャ半径+5m\"\n          }, \n          {\n            \"text\": \"·カーゴ容量+30m3\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラとシールドブースターの効果にボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"オーバーヒートしたアーマーリペアラとシールドブースターの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター防御システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +1, 미드 슬롯 +2, 로우 슬롯 +1\"\n          }, \n          {\n            \"text\": \"·선체 내구도 +1000\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +200 GJ\"\n          }, \n          {\n            \"text\": \"·시그니처 반경 +5m\"\n          }, \n          {\n            \"text\": \"·화물 적재량 +30m³\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 및 실드 부스터 과부하 시 보너스 효과 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 및 실드 부스터 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 방어용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём большой мощности, +2 разъёма средней мощности, +1 разъём малой мощности\"\n          }, \n          {\n            \"text\": \"·+1000 единиц прочности корпуса\"\n          }, \n          {\n            \"text\": \"·+200 ГДж ёмкости накопителя\"\n          }, \n          {\n            \"text\": \"·+5 метров размера сигнатуры\"\n          }, \n          {\n            \"text\": \"·+30 м³ вместимости грузового отсека\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони и установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"усиливается влияние перегрузки на параметры установок ремонта брони и установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские оборонительные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+1，中槽+2，低槽+1\"\n          }, \n          {\n            \"text\": \"·结构值+1000\"\n          }, \n          {\n            \"text\": \"·电容器电容量+200GJ\"\n          }, \n          {\n            \"text\": \"·信号半径+5m\"\n          }, \n          {\n            \"text\": \"·货柜舱容量+30m³\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器和护盾回充增量器效果加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器和护盾回充增量器过载效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔防御子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45595\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Schaden von mittelgroßen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"Bonus auf die Stärke von Kern- und Gefechtsscansonden\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysegeräten\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung ausrüsten\"\n          }, \n          {\n            \"text\": \"·Verzögerung bei Reaktivierung des Tarnmoduls auf 15 Sekunden reduziert\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP von und den Schaden durch Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Medium Energy Turret optimal range and damage\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo y al daño de la torreta de energía mediana.\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y dereliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas.\"\n          }, \n          {\n            \"text\": \"·Se reduce la demora de reactivación del camuflaje a 15 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale et aux dégâts de la tourelle à énergie intermédiaire\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 15 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux points de vie des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Medium Energy Turret optimal range and damage\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"中型エネルギータレットの最適射程距離とダメージにボーナス\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度にボーナス\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置を装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延を15秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのHPとダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"중형 에너지 터렛 최적사거리 및 피해량 증가\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 15초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к оптимальной дальности и урону средних лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 37.5%\", \n            \"text\": \"бонус к чувствительности зондов навигационной и боевой разведки\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"бонус к силе вируса анализаторов данных и артефактов\"\n          }, \n          {\n            \"text\": \"·Возможна установка всережимной системы маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки снижена до 15 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону и запасу прочности дронов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к общей сопротивляемости брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"中型能量炮台最佳射程和失准范围加成\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"核心和作战扫描探针强度加成\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装配隐形特勤舰隐形装置\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延迟降到15秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP和伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33553\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von großen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von großen Projektilgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Large Projectile Turret powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Projectile Turret CPU requirement\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción en el requisito del sistema de potencia de la torreta de proyectiles grande.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción en el requisito de CPU de la torreta de proyectiles grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction au réseau d'alimentation requis par les grandes tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du CPU requis par les grandes tourelles à projectiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des grandes tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus de distance de perte des grandes tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Large Projectile Turret powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Projectile Turret CPU requirement\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"大型プロジェクタイルタレットのパワーグリッド使用量が軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型プロジェクタイルタレットのCPU使用量が軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"대형 발사체 터렛 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"대형 발사체 터렛 CPU 사용량 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность больших баллистических орудий в мощности реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность больших баллистических орудий в мощностях ЦПУ\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"大型射弹炮台能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型射弹炮台CPU需求降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 4310\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduzierte effektiv zurückgelegte Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Immun gegen Unterbrechungsfeldwerfer, Warpstörfeldgeneratoren und mobile kleine , mittelgroße und große Warpstörer\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Inmune al lanzaesferas de interdicción, al generador de campo disruptor de warp y al disruptor de warp móvil pequeño, mediano y grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·Immunité contre les lanceurs de sphère d'interdiction, générateurs de champ perturbateur de warp et perturbateurs de warp mobiles légers, intermédiaires et grands perturbateurs de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·インターディクションスフィアランチャー、ワープ妨害フィールドジェネレーター、小型、中型、大型移動式ワープ妨害器の影響を受けない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·인터딕션 런처, 워프 디스럽션 필드 생성기, 이동식 소형/중형/대형 워프 디스럽터에 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию систем запуска заградительных сфер, бортовых варп-заградителей, а также полевых варп-заградителей малой, средней и большой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·对拦截泡发射器、跃迁扰断力场发生器与小型、中型及大型机动跃迁扰断器免疫\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 21628\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"Reduzierte Materialanforderungen für Fertigungsaufträge\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Reduzierte Zeitanforderungen für Fertigungs- und Forschungsaufträge\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"Reduzierte ISK-Anforderungen für Fertigungs- und Forschungsaufträge\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduzierter Treibstoffverbrauch von Industriedienstmodulen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Feuerrate und den Energiespeicherverbrauch von Standup-Pulsprojektoren und Lenkbombenwerfern\"\n          }, \n          {\n            \"text\": \"·Solange diese Struktur über mindestens ein aktives Dienstmodul verfügt, befindet sie sich im Hochenergiemodus und erhält erhöhte Schild- und Panzerungs-HP sowie einen zusätzlichen Verstärkungszyklus.\"\n          }, \n          {\n            \"text\": \"·Neue Sotiyos dürfen nicht im Hochsicherheitsraum verankert werden.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Sotiyo-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"reduction in material requirements for manufacturing jobs\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"reduction in time requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"reduction in ISK requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Engineering Service Module fuel consumption\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·New Sotiyos may not be anchored within highsec space\"\n          }, \n          {\n            \"text\": \"·This structure requires a Sotiyo Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"de reducción de los requisitos de materiales para los trabajos de fabricación.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de reducción de los requisitos para los trabajos de fabricación y ciencia.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de reducción de los requisitos de ISK para los trabajos de fabricación y ciencia.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del consumo de combustible de los módulos de servicio de ingeniería.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la cadencia de tiro y al consumo del condensador de los proyectores de estallido Standup y los lanzabombas guiados.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }, \n          {\n            \"text\": \"·No pueden anclarse nuevos Sotiyo en el espacio de seguridad alta\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Sotiyo de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"de réduction de productivité matérielle pour les tâches de production\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de réduction de productivité horaire pour les tâches de production et scientifiques\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de réduction d'ISK requis pour les tâches de production et scientifiques\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction de la consommation en carburant des modules de service d'ingénierie\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la cadence de tir et à la consommation du capaciteur des projecteurs à salves et des lanceurs de bombes ciblées Standup\"\n          }, \n          {\n            \"text\": \"·L’activation d’un seul module de service permet à la structure de passer en mode performance énergétique pour accroître les points de vie de ses boucliers et de son blindage et bénéficier d’un cycle de renforcement supplémentaire.\"\n          }, \n          {\n            \"text\": \"·Les nouveaux Sotiyo ne peuvent pas être ancrés dans un espace de haute sécurité\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Sotiyo pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"reduction in material requirements for manufacturing jobs\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"reduction in time requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"reduction in ISK requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Engineering Service Module fuel consumption\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·New Sotiyos may not be anchored within highsec space\"\n          }, \n          {\n            \"text\": \"·This structure requires a Sotiyo Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"製造ジョブの必要資源が減少\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"製造ジョブとサイエンスジョブの必要時間が減少\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"製造ジョブとサイエンスジョブの必要ISKが減少\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"電気工学サービスモジュールの燃料消費が減少\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"スタンドアップバーストプロジェクターと誘導ボムランチャーの発射間隔とキャパシタ消費効率を改善\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }, \n          {\n            \"text\": \"·ハイセキュリティ宙域内でソティヨを新たに係留することはできません\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには ソティヨ・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"제조 작업 자원요구치 감소\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"연구 및 제조 작업 시간효율성 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"연구 및 제조 작업 ISK 소모량 감소\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"엔지니어링 서비스 모듈 연료 사용량 감소\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"스탠드업 버스트 프로젝터 및 유도폭탄 런처 연사속도 및 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }, \n          {\n            \"text\": \"·하이 시큐리티 지역에 신규 소티요 구조물을 위치 고정할 수 없음\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 소티요 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 1%\", \n            \"text\": \"уменьшает расход материалов, необходимых для выполнения производственных проектов\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"уменьшает время, необходимое для производственных и научных проектов\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"уменьшает стоимость (ISK) производственных и научных проектов\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшает потребление топлива служебными инженерными модулями\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к скорострельности и энергопотреблению проекторов объёмных помех и бомбометателей с системой наведения на базе «Стационар»\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть по меньшей мере один работающий служебный модуль, оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления.\"\n          }, \n          {\n            \"text\": \"·Новые «Сотийо» нельзя ставить на якорь в системах с высоким ур. безопасности\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Сотийо» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"生产项目的材料需求降低\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"生产和科研项目的时间需求降低\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"生产和科研项目的星币需求降低\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"工程服务装备的燃料消耗降低\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"屹立脉冲波投射器和制导炸弹发射器的射速和电容消耗加成\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环。\"\n          }, \n          {\n            \"text\": \"·New Sotiyos may not be anchored within highsec space\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个索迪约昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 35827\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Projektilgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"bonus to Small Projectile Turret tracking speed\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"bonus to Small Projectile Turret falloff\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de proyectiles pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"de bonus de distance de perte des petites tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles à projectiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"bonus to Small Projectile Turret tracking speed\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"bonus to Small Projectile Turret falloff\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"小型プロジェクタイルタレットの追跡速度が上昇\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"小型プロジェクタイルタレットの精度低下範囲が拡大\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"小型プロジェクタイルタレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"소형 발사체 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 22.5%\", \n            \"text\": \"повышается скорость наводки на цель малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 22.5%\", \n            \"text\": \"увеличивается добавочная дальность ведения огня из малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 22.5%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых баллистических орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"小型射弹炮台跟踪速度加成\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"小型射弹炮台失准范围加成\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"小型射弹炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 617\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"Bonus auf die Leistung von Schildboostern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"bonus to Small Energy Turret tracking speed\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Small Energy Turret optimal range\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"bonus to Shield Booster amount\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à énergie\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles à énergie\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"de bonus au montant des boosters de bouclier\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"bonus to Small Energy Turret tracking speed\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Small Energy Turret optimal range\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"bonus to Shield Booster amount\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"小型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"小型エネルギータレットの追跡速度が上昇\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"小型エネルギータレットの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"シールドブースターのブースト量が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"소형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"소형 에너지 터렛 트래킹 속도 증가\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"소형 에너지 터렛 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"실드 부스터 회복량 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 22.5%\", \n            \"text\": \"повышается скорость наводки на цель малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 22.5%\", \n            \"text\": \"повышается производительность установок накачки щитов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"小型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"小型能量炮台跟踪速度加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"小型能量炮台最佳射程加成\"\n          }, \n          {\n            \"number\": \"22.5%\", \n            \"text\": \"护盾回充增量器回充量加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 615\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduzierte effektiv zurückgelegte Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Immun gegen Unterbrechungsfeldwerfer, Warpstörfeldgeneratoren und mobile kleine , mittelgroße und große Warpstörer\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Inmune al lanzaesferas de interdicción, al generador de campo disruptor de warp y al disruptor de warp móvil pequeño, mediano y grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·Immunité contre les lanceurs de sphère d'interdiction, générateurs de champ perturbateur de warp et perturbateurs de warp mobiles légers, intermédiaires et grands perturbateurs de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·インターディクションスフィアランチャー、ワープ妨害フィールドジェネレーター、小型、中型、大型移動式ワープ妨害器の影響を受けない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·인터딕션 런처, 워프 디스럽션 필드 생성기, 이동식 소형/중형/대형 워프 디스럽터에 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию систем запуска заградительных сфер, бортовых варп-заградителей, а также полевых варп-заградителей малой, средней и большой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·对拦截泡发射器、跃迁扰断力场发生器与小型、中型及大型机动跃迁扰断器免疫\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 21097\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Nachteil auf die Flugdauer von Lenkwaffen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die maximale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to missile flight time\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor maximum range\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización al tiempo de vuelo de los misiles.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance máximo del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus à la vitesse des missiles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"pénalité au temps de vol des missiles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts des missiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée des Inhibiteurs de warp et Perturbateurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to missile flight time\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor maximum range\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"ミサイルの速度が上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ミサイルの飛行時間にペナルティ\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルの与えるダメージが増加\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最大射程が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"미사일 속도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"미사일 비행시간 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 피해량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최대사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 200%\", \n            \"text\": \"повышается скорость полёта ракет\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается полётное время ракет\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон БЧ ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к дальности действия варп-глушителей и варп-подавителей.\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"导弹飞行速度加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"导弹飞行时间惩罚\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"导弹伤害加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最大范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33820\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können integrierte Sensor-Anlagen ausgerüstet werden\"\n          }, \n          {\n            \"text\": \"·Kann Capital-Mikrosprungantrieb und Capital-Mikrosprungfeldgenerator ausstatten\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Es können Leichte und Unterstützungs-Jäger gestartet werden\"\n          }, \n          {\n            \"text\": \"·Kann Ziele auf größere Entfernungen erfassen\"\n          }, \n          {\n            \"text\": \"·Gruppensprung-fähig\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von Jägern\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"Bonus auf die Geschwindigkeit von Jägern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Stasisnetzreichweite von Dromi-Unterstützungsjägern\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf die Stasisnetzstärke von Dromi Unterstützungsjägern\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Schildkommando- und Gefechtkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Integrated Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Capital Micro Jump Drive and Capital Micro Jump Field Generator\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Support Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"bonus to Fighter velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Dromi Support Fighter stasis webification range\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Dromi Support Fighter stasis webification strength\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Shield Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar una red de sensores integrados.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un motor de microsalto capital y un generador de campo de microsalto capital.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Puede lanzar cazas ligeros y de apoyo.\"\n          }, \n          {\n            \"text\": \"·Puede fijar objetivos a mayores distancias.\"\n          }, \n          {\n            \"text\": \"·Capaz de salto conductivo.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de los cazas.\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"de bonificación a la velocidad de los cazas.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance de la red ralentizadora de los cazas de apoyo Dromi.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad de la red ralentizadora de los cazas de apoyo Dromi.\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de escudo y de mando de escaramuza.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de détection intégré\"\n          }, \n          {\n            \"text\": \"·Peut équiper un propulseur de microsaut capital et un générateur de champ de microsaut capital\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut larguer des chasseurs légers et des chasseurs de soutien\"\n          }, \n          {\n            \"text\": \"·Peut verrouiller des cibles à plus grande distance\"\n          }, \n          {\n            \"text\": \"·Capacité de saut de groupe\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des chasseurs\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"de bonus à la vitesse des chasseurs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée de génération de stase des chasseurs de soutien du Dromi\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance de génération de stase des chasseurs de soutien Dromi\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers et de commandement tactique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Integrated Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Capital Micro Jump Drive and Capital Micro Jump Field Generator\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Support Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"bonus to Fighter velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Dromi Support Fighter stasis webification range\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Dromi Support Fighter stasis webification strength\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Shield Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·統合型センサーアレイを装備可能\"\n          }, \n          {\n            \"text\": \"·キャピタルマイクロジャンプドライブとキャピタル・マイクロジャンプフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"text\": \"·軽量級戦闘機と支援戦闘機の発着が可能\"\n          }, \n          {\n            \"text\": \"·長距離からロックオン可能\"\n          }, \n          {\n            \"text\": \"·コンジットジャンプに対応\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"戦闘機ダメージが増加\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"戦闘機速度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ドロミ支援戦闘機のステイシスウェビファイヤーの範囲が拡大\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"支援戦闘機「ドローミ」のステイシスウェブ強度にボーナス\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"シールドコマンドバーストと機動戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·통합 센서 장비 장착 가능\"\n          }, \n          {\n            \"text\": \"·캐피탈 마이크로 점프 드라이브 및 캐피탈 마이크로 점프 필드 생성기 피팅 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·라이트 파이터 및 지원형 파이터 사출 가능\"\n          }, \n          {\n            \"text\": \"·타겟 거리 증가\"\n          }, \n          {\n            \"text\": \"·점프 필드 생성 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"파이터 피해량 증가\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"파이터 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"드로미 서포트 파이터 스테이시스 웹 범위 증가\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"드로미 서포트 파이터 스테이시스 웹 강도 증가\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"실드 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"민마타 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Можно оснастить интегрированным усилителем сенсоров\"\n          }, \n          {\n            \"text\": \"·Можно оснастить маневровым гипердвигателем КБТ и генератором разгонного поля КБТ\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут запускать истребители (лёгкие и истребители поддержки)\"\n          }, \n          {\n            \"text\": \"·Повышена дальность захвата целей\"\n          }, \n          {\n            \"text\": \"·Может совершить групповой прыжок\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон бортового оружия истребителей\"\n            }, \n            {\n              \"number\": \"на 2.5%\", \n              \"text\": \"повышается скорость полного хода истребителей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов, применяемых истребителями поддержки типа «Дроми»\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"бонус к мощности стазис-индукторов для истребителей поддержки Dromi\"\n            }, \n            {\n              \"number\": \"на 1%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов и импульсными оптимизаторами маневрирования\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配集成传感器阵列\"\n          }, \n          {\n            \"text\": \"·可以装配旗舰级微型跳跃引擎和旗舰级微型跳跃力场发生器\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·可释放轻型和后勤 铁骑舰载机\"\n          }, \n          {\n            \"text\": \"·可在更大范围内锁定\"\n          }, \n          {\n            \"text\": \"·可以进行导管跳跃\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"铁骑舰载机伤害加成\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"铁骑舰载机速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"德洛米后勤铁骑舰载机停滞缠绕范围加成\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"德洛米后勤铁骑舰载机停滞缠绕强度加成\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"护盾指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 24483\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden durch leichte entropische Desintegratoren\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Precursor Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Precursor Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño del desintegrador entrópico ligero.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata precursora (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts du désintégrateur entropique léger\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate de précursion :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Precursor Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの有効範囲が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遠隔アーマーリペアラキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトエントロピックディスインテグレーターのダメージ上昇\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"プリカーサーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 엔트로픽 분열기 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"프리커서 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для автоподрывной бомбы\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону от лёгких энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к сопротивляемости брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Frigate:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器距离加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型熵能分解者伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"先驱者护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 47269\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die maximale und Nachführungsgeschwindigkeit von schweren Drohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von leichten Drohnen, mittelschweren Drohnen und schweren Drohnen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Wächterdrohnen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"Bonus auf die Einsatzreichweite von Drohnen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite und Nachführungsgeschwindigkeit von Wächterdrohnen\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Drone max velocity and tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Drone, Medium Drone, and Heavy Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Sentry Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"bonus to Drone operation range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Sentry Drone optimal range and tracking speed\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad máxima y la velocidad de rastreo de los drones pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones ligeros, los drones medianos y los drones pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones centinela.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"de bonificación a la autonomía operativa de los drones.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo y la velocidad de rastreo de los drones centinela.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"réduction de la pénalité du rayon de signature du propulseur de microwarp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse maximale et à la vitesse de poursuite du drone lourd\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des drones légers, drones intermédiaires et drones lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts et aux points de vie du drone sentinelle\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"de bonus à la portée des opérations du drone\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale et à la vitesse de poursuite du drone sentinelle\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Drone max velocity and tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Drone, Medium Drone, and Heavy Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Sentry Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"bonus to Drone operation range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Sentry Drone optimal range and tracking speed\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビードローンの最高速度、追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトドローン、ミディアムドローン、ヘビードローンのヒットポイントとダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"セントリードローンのヒットポイント、ダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"ドローンの操作範囲が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"セントリードローンの最適射程距離、追跡速度が増大\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 드론 최대 속도 및 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 드론, 미디움 드론 및 헤비 드론내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"센트리 드론 내구도 및 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"드론 작전 반경 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"센트리 드론 최적사거리 및 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышаются скорость полного хода тяжёлых боевых дронов, скорость наводки на цель их бортового оружия\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия лёгких, средних и тяжёлых боевых дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон бортового оружия стационарных дронов; увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5000м\", \n              \"text\": \"увеличивается максимальная дальность телеуправления дронами\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорость наводки на цель бортового оружия стационарных дронов, увеличивается оптимальная дальность его действия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型无人机最大速度和跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型无人机、中型无人机和重型无人机HP和伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"岗哨无人机HP和伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"无人机操纵距离加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"岗哨无人机最佳射程和跟踪速度加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34479\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature du propulseur de microwarp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la portée optimale de la tourelle hybride intermédiaire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts à la tourelle hybride intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale de la tourelle hybride intermédiaire\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34477\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf die HP und den Schaden von Mittelschweren Kampfdrohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetik- und Thermalschaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Medium Combat Drone damage and hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación al daño y los puntos de vida de los drones de combate medianos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético y térmico de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus aux dégâts et aux points de vie du drone de combat intermédiaire\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts des missiles de type cinétique et thermique\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Medium Combat Drone damage and hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"戦闘用ミディアムドローンのダメージとヒットポイントが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルのキネティックダメージおよびサーマルダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"중형 공격 드론 피해량 및 내구도 보너스\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 키네틱 및 열 피해 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 500%\", \n            \"text\": \"увеличивается урон бортового оружия средних боевых дронов; увеличивается запас их прочности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон кинетических и термических БЧ ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"中型战斗无人机伤害和HP加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"动能和热能导弹伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34475\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Taktische Netzwerkmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetikschaden von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warfare Link modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic Heavy Missile and Heavy Assault Missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de enlace de guerra.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético de los misiles pesados y misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser des modules de interface tactique\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles lourds et des missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warfare Link modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic Heavy Missile and Heavy Assault Missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·艦隊支援システムモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"キネティックヘビーミサイルおよびヘビーアサルトミサイルのダメージが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·전장 링크 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일의 키네틱 피해량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться системами управления боем\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон кинетических БЧ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配作战网络装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹动能伤害加成\"\n            }\n          ], \n          \"header\": \"加达里战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34473\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34471\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Module für Anziehungsfeldgenerator, getarnten Anziehungsfeldgenerator und getarnten Sprungtorgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielaufschaltung nach der Deaktivierung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"Bonus auf die maximale Geschwindigkeit des Schiffs beim Einsatz von Tarnvorrichtungen\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Präzisionsabfall-Reichweite von schweren Stasisgreifarmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Stasis Grappler optimal range\"\n            }\n          ], \n          \"header\": \"Black Ops Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Cynosural Field Generator, Covert Cynosural Field Generator, and Covert Jump Portal Generator modules\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret tracking\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret falloff range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Stasis Grappler optimal range\"\n            }\n          ], \n          \"header\": \"Black Ops bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de generador de campo cinosural,  generador de campo cinosural encubierto y generador de portales de salto encubierto.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"de bonificación a la velocidad máxima de la nave al utilizar dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance efectivo de los anquilizadores de estasis pesados.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Stasis Grappler optimal range\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones secretas (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules générateur de champ cynosural, générateur de champ cynosural furtif et générateur de portail interstellaire furtif\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation des dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"de bonus à la vitesse maximale d'un vaisseau lorsqu'équipé d'un dispositif de camouflage actif\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée de déperdition de l'entrave de stase lourde\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la déperdition des grandes tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Stasis Grappler optimal range\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Forces spéciales :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des grandes tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de dégâts des grandes tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Cynosural Field Generator, Covert Cynosural Field Generator, and Covert Jump Portal Generator modules\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret tracking\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret falloff range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Stasis Grappler optimal range\"\n            }\n          ], \n          \"header\": \"Black Ops bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·サイノシュラルフィールドジェネレーター、潜伏用サイノシュラルフィールドジェネレーター、そして潜伏用ジャンプポータルジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置を停止した後のターゲット遅延なし\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"遮蔽装置使用時の艦船の最高速度が上昇\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビーステイシスグラップラーの精度低下範囲にボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Stasis Grappler optimal range\"\n            }\n          ], \n          \"header\": \"秘密工作艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기, 코버트 점프 포탈 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"클로킹 장치 사용 시 함선 최대 속도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 스테이시스 그래플러 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 발사체 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Stasis Grappler optimal range\"\n            }\n          ], \n          \"header\": \"블랙옵스 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможно оснащение приводным маяком, приводным маяком скрытого действия и диверсионным генератором гиперпорталов\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устранена задержка включения систем захвата целей, вызываемая отключением систем маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }, \n          {\n            \"number\": \"на 650%\", \n            \"text\": \"бонус к максимальной скорости хода при использовании устройств маскировки\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к остаточной дальности тяжёлых стазис-захватов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к остаточной дальности баллистических орудий большого калибра\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"bonus to Heavy Stasis Grappler optimal range\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Тяжёлые диверсионные корабли:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配诱导力场发生器、隐秘诱导力场发生器和隐秘跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不遭受锁定延时副作用\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"使用隐形装置时舰船的最大速度加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型停滞捕捉光束失准范围加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型射弹炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Stasis Grappler optimal range\"\n            }\n          ], \n          \"header\": \"黑隐特勤舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22440\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Reparaturmenge von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Masseabzugs von Panzerplatten\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction to Armor Plate mass penalty\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta híbrida pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de masa de la placa de blindaje\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction to Armor Plate mass penalty\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction to Armor Plate mass penalty\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離と精度低下にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラの回復量増加\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"アーマープレートの質量ペナルティが減少\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"장갑 플레이트 질량 페널티 감소\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к оптимальной и остаточной дальности малых гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности установки ремонта брони\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"снижение штрафа за массу для бронеплит\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"附甲板质量惩罚降低\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 73796\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta híbrida pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離と精度低下にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型ハイブリッドタレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの最適射程距離に10%のボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"シールドブースター量が増加\"\n            }\n          ], \n          \"header\": \"カルダリ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к оптимальной и остаточной дальности малых гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к оптимальной дальности малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к эффективности восстановителя щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"加达里驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 73795\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von kleinen Projektilwaffentürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von kleinen Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Abzugs auf den Signaturradius durch Mikrowarpantrieb\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction to Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta de proyectiles pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction to Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction to Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型プロジェクタイルタレット の最適射程距離と精度低下範囲にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型実体弾タレットの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが減少\"\n            }\n          ], \n          \"header\": \"ミンマター駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 발사체 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }\n          ], \n          \"header\": \"민마타 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к оптимальной и остаточной дальности малых баллистических орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорострельности малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"снижение влияния микроварп-ускорителей на радиус сигнатуры\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型射弹炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚减少\"\n            }\n          ], \n          \"header\": \"米玛塔尔驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 73794\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Belagerungsmodul ausrüsten\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf Durchlaufzeit von Entosis-Netzwerk\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf Schaden von XL-Marschflugkörpern, XL-Torpedos und Torpedos\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Nachladezeit von Lenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität des Zielmarkierers\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to XL Cruise, XL Torpedo and Torpedo damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Missile Launcher reload time\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de los misiles de crucero XL, los torpedos XL y los torpedos.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del tiempo de recarga de los lanzamisiles.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del revelador de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to XL Cruise, XL Torpedo and Torpedo damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du temps de rechargement des lance-missiles\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to XL Cruise, XL Torpedo and Torpedo damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Missile Launcher reload time\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"XLクルーズ、XLトルピード、トルピードのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルランチャーのリロード時間減少\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ターゲットペインターの効果にボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"XL 크루즈 미사일, XL 토피도, 토피도 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 런처 재장전 시간 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"타겟 페인터 효과 증가\"\n            }\n          ], \n          \"header\": \"칼다리 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Позволяет установить осадный модуль\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"штраф ко времени цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к урону сверхбольших дальнобойных ракет, сверхбольших торпед и торпед\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к общей сопротивляемости щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращение времени перезарядки ракетной установки\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности модулей подсветки целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"超大型巡航导弹、超大型鱼雷和鱼雷伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"导弹发射器重新装填时间缩短\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"目标标记装置效果加成\"\n            }\n          ], \n          \"header\": \"加达里无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 73793\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Belagerungsmodul ausrüsten\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf Durchlaufzeit von Entosis-Netzwerk\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate und optimale Reichweite von Capital-Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Reparaturmenge und Durchlaufzeit von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Stärke und optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Capital Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire and optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Armor Repairer amount and cycle time\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor strength and optimal range\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro y alcance óptimo de la torreta híbrida capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la eficiencia y tiempo de ciclo de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la intensidad y al alcance óptimo del distorsionador de warp y del disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Capital Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire and optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Armor Repairer amount and cycle time\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor strength and optimal range\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Capital Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire and optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Armor Repairer amount and cycle time\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor strength and optimal range\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"キャピタルハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルハイブリッドタレットの発射速度と最適射程距離が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"アーマーリペアラの回復量とサイクル時間にボーナス\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の強度と最適射程距離が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"캐피탈 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 하이브리드 터렛 연사속도 및 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"장갑수리 장치 수리량 증가 및 사이클 시간 감소\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 강도 및 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Позволяет установить осадный модуль\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"штраф ко времени цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к урону гибридных орудий КБТ\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорострельности и оптимальной дальности гибридных орудий КБТ\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к эффективности и времени цикла установки ремонта брони\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к мощности и оптимальной дальности варп-глушителей и варп-подавителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"旗舰级混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级混合炮台射速和最佳射程加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装甲维修器维修量和循环周期加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器强度和最佳射程加成\"\n            }\n          ], \n          \"header\": \"盖伦特无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 73792\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Belagerungsmodul ausrüsten\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf Durchlaufzeit von Entosis-Netzwerk\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Capital-Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf die Transfermenge und Reichweite von Energie-Nosferatu-Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Capital Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Capital Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Energy Nosferatu drain amount and range\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía capital.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía capital.\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación a la cantidad y alcance drenados por el nosferatu de energía.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Capital Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Capital Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Energy Nosferatu drain amount and range\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Capital Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Capital Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Energy Nosferatu drain amount and range\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"キャピタルエネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"キャピタルエネルギータレットの起動コストが減少\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"エネルギーノスフェラトゥ吸収量と射程にボーナス\"\n            }\n          ], \n          \"header\": \"アマー攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"캐피탈 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"캐피탈 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"에너지 노스페라투 흡수량 및 사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Позволяет установить осадный модуль\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"штраф ко времени цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к урону лазерных орудий КБТ\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к общей сопротивляемости брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"снижение расхода энергии на активацию лазерных орудий КБТ\"\n            }, \n            {\n              \"number\": \"на 25%\", \n              \"text\": \"бонус к дальности и эффективности модулей энергопоглощения\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"旗舰级能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"旗舰级能量炮台启动消耗降低\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"掠能器吸取量和有效距离加成\"\n            }\n          ], \n          \"header\": \"艾玛无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 73790\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1 max. aufgeschaltetes Ziel\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Sensorstärke des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die maximale Zielerfassungsreichweite\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Scanauflösung\"\n            }\n          ], \n          \"header\": \"Amarr Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ship sensor strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to max targeting range\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to scan resolution\"\n            }\n          ], \n          \"header\": \"Amarr Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+1 objetivo fijado máximo\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la intensidad de los sensores de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la distancia-objetivo máxima.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la resolución de escaneo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·+1 Cible verrouillée max\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la puissance de détection du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée maximale du système de ciblage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la résolution du balayage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ship sensor strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to max targeting range\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to scan resolution\"\n            }\n          ], \n          \"header\": \"Amarr Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·最大ロックターゲット数+1\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"艦船のセンサー強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"最大ターゲット範囲が拡大\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"スキャン分解能にボーナス\"\n            }\n          ], \n          \"header\": \"アマー・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·최대 타겟팅 수 +1\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"센서 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 타겟팅 거리 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"스캔 정밀도 향상\"\n            }\n          ], \n          \"header\": \"아마르 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+1 к максимуму захваченных целей\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"повышается эффективность системы захвата целей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается максимальная дальность захвата целей\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается разрешающая способность системы захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2，低槽+2\"\n          }, \n          {\n            \"text\": \"·目标锁定数上限+1\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"舰船感应强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"最大锁定距离加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"扫描分辨率加成\"\n            }\n          ], \n          \"header\": \"艾玛核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45622\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Stromleistung des Schiffes\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +3 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50 GJ Energiespeicherkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Energiespeicherkapazität\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf die Resistenz gegen Energiekriegsführung\"\n            }\n          ], \n          \"header\": \"Amarr Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to ship power output\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +3 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to capacitor capacity\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to energy warfare resistance\"\n            }\n          ], \n          \"header\": \"Amarr Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la potencia de salida de la nave.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura intermedia, +3 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+50 GJ de capacidad del condensador\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad del condensador\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la resistencia a la guerra de energía.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la puissance du réseau d'alimentation du vaisseau\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement intermédiaire, +3 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +50 GJ\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la charge de capaciteur\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la résistance aux énergies de guerre\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to ship power output\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +3 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to capacitor capacity\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to energy warfare resistance\"\n            }\n          ], \n          \"header\": \"Amarr Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"艦船のパワー出力が上昇\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+1、ロースロット+3\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+50GJ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャパシタ容量が増加\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"エネルギー戦耐性が増加\"\n            }\n          ], \n          \"header\": \"アマー・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"함선 출력 증가\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +1, 로우 슬롯 +3\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +50 GJ\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐패시터 용량 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"에너지 관련 공격 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 20%\", \n            \"text\": \"повышается мощность реактора корабля\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём средней мощности, +3 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+50 ГДж ёмкости накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается ёмкость накопителя энергии\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"увеличивается сопротивляемость вражескому воздействию на накопитель энергии\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"舰船能量栅格输出加成\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+1，低槽+3\"\n          }, \n          {\n            \"text\": \"·电容器电容量+50GJ\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"电容器电容器量加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"能量战抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45623\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Daten-Analysegeräten\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 High Slot, +3 Mid Slots\"\n          }, \n          {\n            \"text\": \"·+300 Panzerungs-HP, +600 Rumpf-HP\"\n          }, \n          {\n            \"text\": \"·+200 GJ Energiespeicherkapazität\"\n          }, \n          {\n            \"text\": \"·+5 m Signaturradius\"\n          }, \n          {\n            \"text\": \"·+30 m3 Frachtraumkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Schildboostern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Caldari Defensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 High Slot, +3 Mid Slots\"\n          }, \n          {\n            \"text\": \"·+300 Armor HP, +600 Hull HP\"\n          }, \n          {\n            \"text\": \"·+200GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+5m Signature Radius\"\n          }, \n          {\n            \"text\": \"·+30m3 Cargo Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster effectiveness\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to the benefits of overheating Shield Boosters\"\n            }\n          ], \n          \"header\": \"Caldari Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura superior, +3 ranuras intermedias\"\n          }, \n          {\n            \"text\": \"·+300 PV de blindaje, +600 PV de casco\"\n          }, \n          {\n            \"text\": \"·+200 GJ de capacidad del condensador\"\n          }, \n          {\n            \"text\": \"·+5 m al radio de la señal\"\n          }, \n          {\n            \"text\": \"·+30 m³ a la capacidad de carga\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del potenciador de escudo.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes et un générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement supérieur, +3 Emplacements intermédiaires\"\n          }, \n          {\n            \"text\": \"·+300 PV au blindage, +600 PV à la coque\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +200 GJ\"\n          }, \n          {\n            \"text\": \"·Rayon de signature +5 m\"\n          }, \n          {\n            \"text\": \"·Capacité de la soute +30 m3\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité du Booster de bouclier\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des Boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 High Slot, +3 Mid Slots\"\n          }, \n          {\n            \"text\": \"·+300 Armor HP, +600 Hull HP\"\n          }, \n          {\n            \"text\": \"·+200GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+5m Signature Radius\"\n          }, \n          {\n            \"text\": \"·+30m3 Cargo Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster effectiveness\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to the benefits of overheating Shield Boosters\"\n            }\n          ], \n          \"header\": \"Caldari Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物とデータアナライザーのウイルス強度が上昇\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置と潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+1、ミッドスロット+3\"\n          }, \n          {\n            \"text\": \"·アーマーHP+300、船体HP+600\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+200GJ\"\n          }, \n          {\n            \"text\": \"·シグネチャ半径+5m\"\n          }, \n          {\n            \"text\": \"·カーゴ容量+30m3\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターの効果が増大\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"オーバーヒートしたシールドブースターの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ防御システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +1, 미드 슬롯 +3\"\n          }, \n          {\n            \"text\": \"·장갑 내구도 +300, 선체 내구도 +600\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +200 GJ\"\n          }, \n          {\n            \"text\": \"·시그니처 반경 +5m\"\n          }, \n          {\n            \"text\": \"·화물 적재량 +30m³\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 효과 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"칼다리 방어용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём большой мощности, +3 разъёма средней мощности\"\n          }, \n          {\n            \"text\": \"·+300 единиц прочности брони, +600 единиц прочности корпуса\"\n          }, \n          {\n            \"text\": \"·+200 ГДж ёмкости накопителя\"\n          }, \n          {\n            \"text\": \"·+5 метров размера сигнатуры\"\n          }, \n          {\n            \"text\": \"·+30 м³ вместимости грузового отсека\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"усиливается влияние перегрузки на параметры установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские оборонительные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+1，中槽+3\"\n          }, \n          {\n            \"text\": \"·装甲值+300，结构值+600\"\n          }, \n          {\n            \"text\": \"·电容器电容量+200GJ\"\n          }, \n          {\n            \"text\": \"·信号半径+5m\"\n          }, \n          {\n            \"text\": \"·货柜舱容量+30m³\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器效果加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器过载效果加成\"\n            }\n          ], \n          \"header\": \"加达里防御子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45589\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+100 Schild-HP, +500 Panzerungs-HP\"\n          }, \n          {\n            \"text\": \"·+300 GJ Energiespeicherkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Amarr Defensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+100 Shield HP, +500 Armor HP\"\n          }, \n          {\n            \"text\": \"·+300GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Armor Repairers\"\n            }\n          ], \n          \"header\": \"Amarr Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+100 PV de escudo, +500 PV de blindaje\"\n          }, \n          {\n            \"text\": \"·+300 GJ de capacidad del condensador\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad del reparador de blindaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonificación a los beneficios de sobrecalentar los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·+100 PV au bouclier, +500 PV au blindage\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +300 GJ\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité du Réparateur de blindage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des Réparateurs de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+100 Shield HP, +500 Armor HP\"\n          }, \n          {\n            \"text\": \"·+300GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Armor Repairers\"\n            }\n          ], \n          \"header\": \"Amarr Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·シールドHP+100、アーマーHP+500\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+300GJ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"アーマーリペアラの効果が増大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたアーマーリペアラの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"アマー防御システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·실드량 +100, 장갑 내구도 +500\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +300 GJ\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑수리 장치 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑수리 장치 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"아마르 방어용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+100 единиц прочности щитов, +500 единиц прочности брони\"\n          }, \n          {\n            \"text\": \"·+300 ГДж ёмкости накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"усиливается влияние перегрузки на параметры установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские оборонительные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2，低槽+2\"\n          }, \n          {\n            \"text\": \"·护盾值+100，装甲值+500\"\n          }, \n          {\n            \"text\": \"·电容器电容量+300GJ\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"装甲维修器效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"装甲维修器过载效果加成\"\n            }\n          ], \n          \"header\": \"艾玛防御子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45588\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Stromleistung des Schiffes\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50 GJ Energiespeicherkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Energiespeicherkapazität\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf die Resistenz gegen Energiekriegsführung\"\n            }\n          ], \n          \"header\": \"Caldari Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to ship power output\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to capacitor capacity\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to energy warfare resistance\"\n            }\n          ], \n          \"header\": \"Caldari Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la potencia de salida de la nave.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+50 GJ de capacidad del condensador\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad del condensador\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la resistencia a la guerra de energía.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la puissance du réseau d'alimentation du vaisseau\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +50 GJ\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la charge de capaciteur\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la résistance aux énergies de guerre\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to ship power output\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to capacitor capacity\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to energy warfare resistance\"\n            }\n          ], \n          \"header\": \"Caldari Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"艦船のパワー出力が上昇\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+50GJ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャパシタ容量が増加\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"エネルギー戦耐性が増加\"\n            }\n          ], \n          \"header\": \"カルダリ・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"함선 출력 증가\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +50 GJ\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐패시터 용량 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"에너지 관련 공격 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 20%\", \n            \"text\": \"повышается мощность реактора корабля\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+50 ГДж ёмкости накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается ёмкость накопителя энергии\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"увеличивается сопротивляемость вражескому воздействию на накопитель энергии\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"舰船能量栅格输出加成\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2，低槽+2\"\n          }, \n          {\n            \"text\": \"·电容器电容量+50GJ\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"电容器电容量加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"能量战抗性加成\"\n            }\n          ], \n          \"header\": \"加达里核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45626\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+3 Mid Slots, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke und optimale Reichweite von ECM-Zielstörsender-Modulen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von ECM-Zielstörsender-Modulen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Verringerung des Modulschadens durch Überhitzung\"\n            }\n          ], \n          \"header\": \"Caldari Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+3 Mid Slots, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ECM Target Jammer strength and optimal range\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to the benefits of overheating ECM Target Jammer modules\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }\n          ], \n          \"header\": \"Caldari Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+ 3 ranuras intermedias, +1 ranura inferior\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad y el alcance óptimo del perturbador ECM de objetivo.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los módulos de perturbador ECM de objetivo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del daño del módulo por sobrecalentamiento.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+3 Emplacements intermédiaires, +1 Emplacement inférieur\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance et à la portée optimale du brouilleur de cible CME\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux avantages de la surchauffe sur les modules du brouilleur de cible CME\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction de la détérioration du module suite à la surchauffe\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+3 Mid Slots, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ECM Target Jammer strength and optimal range\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to the benefits of overheating ECM Target Jammer modules\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }\n          ], \n          \"header\": \"Caldari Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+3、ロースロット+1\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ECMターゲットジャマーの強度と最適射程距離が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"オーバーヒートしたECMターゲットジャマーモジュールの恩恵にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"オーバーヒート時のモジュールダメージを軽減\"\n            }\n          ], \n          \"header\": \"カルダリ・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +3, 로우 슬롯 +1\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM 타겟 재머 강도 및 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ECM 타겟 재머 모듈 과부하에 따른 혜택 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"과부하로 인한 모듈 손상 감소\"\n            }\n          ], \n          \"header\": \"칼다리 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+3 разъёма средней мощности, +1 разъём малой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается выходная мощность и оптимальная дальность действия модулей глушения захвата целей\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"усиливается влияние перегрузки на параметры модулей глушения захвата целей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается объём повреждений модулей, получаемых ими при перегрузке\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+3，低槽+1\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM目标干扰器强度和最佳射程加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ECM目标干扰器过载效果加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装备过载损伤降低\"\n            }\n          ], \n          \"header\": \"加达里核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45627\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU- und Strombedarfs von Energie-Nosferatu- und Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50 GJ Energiespeicherkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Energie-Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Verringerung des Modulschadens durch Überhitzung\"\n            }\n          ], \n          \"header\": \"Amarr Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in the PWG and CPU requirements for Energy Nosferatu and Energy Neutralizer modules\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Energy Nosferatu and Energy Neutralizer modules\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }\n          ], \n          \"header\": \"Amarr Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de los requisitos de SP y CPU para los módulos de nosferatu de energía y neutralizador energético.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+50 GJ de capacidad del condensador\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los módulos de nosferatu de energía y neutralizador energético.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del daño del módulo por sobrecalentamiento.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des prérequis du PWG et du CPU des modules Nosferatu à énergie et neutraliseur d'énergie\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +50 GJ\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au volume d'énergie drainée par les Nosferatu à énergie et les neutraliseurs d'énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des modules Nosferatu à énergie et les neutraliseurs d'énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction de la détérioration du module suite à la surchauffe\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in the PWG and CPU requirements for Energy Nosferatu and Energy Neutralizer modules\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Energy Nosferatu and Energy Neutralizer modules\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }\n          ], \n          \"header\": \"Amarr Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーノスフェラトゥとエネルギーニュートラライザーモジュールの必要PWGとCPUが減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+50GJ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーノスフェラトゥとエネルギーニュートラライザーの吸収量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたエネルギーノスフェラトゥとエネルギーニュートラライザーの恩恵にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"オーバーヒート時のモジュールダメージを軽減\"\n            }\n          ], \n          \"header\": \"アマー・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 모듈 파워그리드 및 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +50 GJ\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 모듈 과부하 시 보너스 효과 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"과부하로 인한 모듈 손상 감소\"\n            }\n          ], \n          \"header\": \"아마르 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижается потребность дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+50 ГДж ёмкости накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"усиливается влияние перегрузки на параметры дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается объём повреждений модулей, получаемых ими при перегрузке\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"掠能器和能量中和器能量栅格和CPU需求降低\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2，低槽+2\"\n          }, \n          {\n            \"text\": \"·电容器电容量+50GJ\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器过载效果加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装备过载损伤降低\"\n            }\n          ], \n          \"header\": \"艾玛核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45624\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die CPU-Leistung des Schiffes\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+3 Mid Slots, +1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+1 max. aufgeschaltetes Ziel\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Sensorstärke des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die maximale Zielerfassungsreichweite\"\n            }\n          ], \n          \"header\": \"Caldari Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship CPU output\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+3 Mid Slots, +1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ship sensor strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to max targeting range\"\n            }\n          ], \n          \"header\": \"Caldari Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación al rendimiento de la CPU de la nave.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+ 3 ranuras intermedias, +1 ranura inferior\"\n          }, \n          {\n            \"text\": \"·+1 objetivo fijado máximo\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la intensidad de los sensores de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la distancia-objetivo máxima.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la puissance du CPU du vaisseau\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+3 Emplacements intermédiaires, +1 Emplacement inférieur\"\n          }, \n          {\n            \"text\": \"·+1 Cible verrouillée max\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la puissance de détection du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée maximale du système de ciblage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship CPU output\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+3 Mid Slots, +1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ship sensor strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to max targeting range\"\n            }\n          ], \n          \"header\": \"Caldari Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船のCPU出力が上昇\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+3、ロースロット+1\"\n          }, \n          {\n            \"text\": \"·最大ロックターゲット数+1\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"艦船のセンサー強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"最大ターゲット範囲が拡大\"\n            }\n          ], \n          \"header\": \"カルダリ・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"CPU 용량 증가\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +3, 로우 슬롯 +1\"\n          }, \n          {\n            \"text\": \"·최대 타겟팅 수 +1\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"센서 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 타겟팅 거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается мощность ЦПУ корабля\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+3 разъёма средней мощности, +1 разъём малой мощности\"\n          }, \n          {\n            \"text\": \"·+1 к максимуму захваченных целей\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"повышается эффективность системы захвата целей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается максимальная дальность захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船CPU输出加成\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+3，低槽+1\"\n          }, \n          {\n            \"text\": \"·目标锁定数上限+1\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"舰船感应强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"最大锁定距离加成\"\n            }\n          ], \n          \"header\": \"加达里核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45625\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Schildfernboostern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer und Aktivierungskosten von Schildfernboostern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die HP von Schilden\"\n            }\n          ], \n          \"header\": \"Logistics Frigates Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Leistung von Schildfernboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Schildfernboostern\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Remote Shield Booster falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Shield Booster duration and activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to shield hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonificación al alcance efectivo del potenciador de escudo remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración y el coste de activación del potenciador de escudo remoto.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a los puntos de vida de los escudos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas logísticas (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo remotos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del potenciador de escudo remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonus à la perte du booster de bouclier à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du coût d'activation et de la durée du booster de bouclier à distance\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux points de dommages du bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates logistiques :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au montant du booster de bouclier à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation du booster de bouclier à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Remote Shield Booster falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Shield Booster duration and activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to shield hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"リモートシールドブースターの精度低下範囲が改善\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"リモートシールドブースターの起動時間と起動コストが減少\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドヒットポイントが増加\"\n            }\n          ], \n          \"header\": \"支援型フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートシールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートシールドブースターの起動コストを削減\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"원격 실드 부스터 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 실드 부스터 지속시간 및 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드량 증가\"\n            }\n          ], \n          \"header\": \"로지스틱스 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 실드 부스터 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 300%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционной накачки щитов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается потребление энергии установками дистанционной накачки щитов и продолжительность их рабочего цикла\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается запас прочности щитов корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Фрегаты обеспечения:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок дистанционной накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии установками дистанционной накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"远程护盾回充增量器失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"远程护盾回充增量器运转周期和启动消耗减少\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾值加成\"\n            }\n          ], \n          \"header\": \"后勤护卫舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"远程护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程护盾回充增量器启动消耗减少\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37458\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Reparaturmenge von Panzerungsfernreparatursystemen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Panzerungs-Fernreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer und Aktivierungskosten von Panzerungsfernreparatursystemen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Reduktion des Signaturradius\"\n            }\n          ], \n          \"header\": \"Logistics Frigates Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer duration and activation cost\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"reduction in signature radius\"\n            }\n          ], \n          \"header\": \"Logistics Frigates bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"de bonificación al alcance efectivo del reparador de blindaje remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje remotos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del reparador de blindaje remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración y el coste de activación del reparador de blindaje remoto.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de reducción del radio de la señal.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas logísticas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"de bonus à la perte du réparateur de blindage à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au montant du réparateur de blindage à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation du réparateur de blindage à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du coût d'activation et de la durée du réparateur de blindage à distance\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"réduction du rayon de signature\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates logistiques :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer duration and activation cost\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"reduction in signature radius\"\n            }\n          ], \n          \"header\": \"Logistics Frigates bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートアーマーリペアラの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"リモートアーマーリペアラの精度低下範囲が改善\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートアーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートアーマーリペアラの起動コストを削減\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"リモートアーマーリペアラの持続時間および起動コストが改善\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"シグネチャ半径が縮小\"\n            }\n          ], \n          \"header\": \"支援型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"원격 장갑수리 장치 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 장갑수리 장치 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 장갑수리 장치 지속시간 및 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"시그니처 반경 감소\"\n            }\n          ], \n          \"header\": \"로지스틱스 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 600%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционного ремонта брони\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони и продолжительность их рабочего цикла\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"уменьшается размер сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Фрегаты обеспечения:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器最佳射程加成\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"远程装甲维修器失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"远程装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程装甲维修器启动消耗减少\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"远程装甲维修器运转周期和启动消耗减少\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"信号半径降低\"\n            }\n          ], \n          \"header\": \"后勤护卫舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37459\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduzierte effektiv zurückgelegte Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Immun gegen Unterbrechungsfeldwerfer, Warpstörfeldgeneratoren und mobile kleine , mittelgroße und große Warpstörer\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Inmune al lanzaesferas de interdicción, al generador de campo disruptor de warp y al disruptor de warp móvil pequeño, mediano y grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·Immunité contre les lanceurs de sphère d'interdiction, générateurs de champ perturbateur de warp et perturbateurs de warp mobiles légers, intermédiaires et grands perturbateurs de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·インターディクションスフィアランチャー、ワープ妨害フィールドジェネレーター、小型、中型、大型移動式ワープ妨害器の影響を受けない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·인터딕션 런처, 워프 디스럽션 필드 생성기, 이동식 소형/중형/대형 워프 디스럽터에 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию систем запуска заградительных сфер, бортовых варп-заградителей, а также полевых варп-заградителей малой, средней и большой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·对拦截泡发射器、跃迁扰断力场发生器与小型、中型及大型机动跃迁扰断器免疫\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 34496\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"Abzug auf die optimale Reichweite und den Präzisionsabfall von Waffenstörern\"\n          }, \n          {\n            \"number\": \"-85%\", \n            \"text\": \"Reduktion der Aktivierungskosten und des CPU-Bedarfs von Waffenstörern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Waffenstörern\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"penalty to Weapon Disruptor optimal range and falloff\"\n          }, \n          {\n            \"number\": \"-85%\", \n            \"text\": \"reduction in Weapon Disruptor activation cost and CPU requirements\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Weapon Disruptor effectiveness\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"de penalización a los alcances óptimo y efectivo del disruptor de armas.\"\n          }, \n          {\n            \"number\": \"-85%\", \n            \"text\": \"de reducción de los requisitos de CPU y el coste de activación del disruptor de armas.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del disruptor de armas.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"de pénalité à la portée optimale et à la perte de la perturbation d'armement\"\n          }, \n          {\n            \"number\": \"-85%\", \n            \"text\": \"réduction de la charge CPU requise pour la perturbation d'armement\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité du perturbateur d'armement\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts de la petite tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"penalty to Weapon Disruptor optimal range and falloff\"\n          }, \n          {\n            \"number\": \"-85%\", \n            \"text\": \"reduction in Weapon Disruptor activation cost and CPU requirements\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Weapon Disruptor effectiveness\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"兵器妨害器の最適射程距離および精度低下範囲にペナルティ\"\n          }, \n          {\n            \"number\": \"-85%\", \n            \"text\": \"兵器妨害器の起動コストおよびCPU要件が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"兵器妨害器の有効性が向上\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"小型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"무기 디스럽터 최적사거리 및 유효사거리 감소\"\n          }, \n          {\n            \"number\": \"-85%\", \n            \"text\": \"무기 디스럽터 활성화 비용 및 CPU 사용량 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"무기 디스럽터 효과 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на -85%\", \n            \"text\": \"сокращается оптимальная и добавочная дальность действия постановщиков помех системам наводки\"\n          }, \n          {\n            \"number\": \"на -85%\", \n            \"text\": \"сокращается потребление энергии постановщиками помех системам наводки и их потребность в мощностях ЦПУ\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия постановщиков помех системам наводки\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"武器扰断器最佳射程和失准范围惩罚\"\n          }, \n          {\n            \"number\": \"-85%\", \n            \"text\": \"索敌扰断器启动消耗和CPU需求降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"武器扰断器效果加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37453\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Raketen\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf den Explosionsschaden von Raketen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den EM-, Kinetik- und Thermalschaden von Raketen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis Webifier optimal range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rocket explosion velocity\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to explosive Rocket damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to EM, kinetic, thermal Rocket damage\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los cohetes.\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al daño explosivo de los cohetes.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño electromagnético, cinético y térmico de los cohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale du générateur de stase\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des roquettes\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus aux dégâts explosifs des roquettes\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts thermiques et cinétiques des roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis Webifier optimal range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rocket explosion velocity\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to explosive Rocket damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to EM, kinetic, thermal Rocket damage\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"ステイシスウェビファイアの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ロケットの爆発速度が上昇\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"爆発系のロケットのダメージが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"EM、キネティック、サーマルロケットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"로켓 폭발속도 증가\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"로켓 폭발 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"로켓 EM, 키네틱, 열 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается коэффициент скорости взрыва БЧ лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается урон фугасных БЧ лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон электромагнитных, термических и кинетических БЧ лёгких штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"停滞缠绕光束最佳射程加成\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"火箭爆炸速度加成\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"火箭爆炸伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"火箭电磁、动能、热能伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37454\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"Schadensabzug bei Drohnen\"\n          }, \n          {\n            \"number\": \"-50%\", \n            \"text\": \"Reduktion der HP und Kontrollreichweite von Drohnen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Störungsdauer von ECM-Drohnen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"penalty to Drone damage\"\n          }, \n          {\n            \"number\": \"-50%\", \n            \"text\": \"reduction in Drone hitpoints and control range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ECM Drone jam duration\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"de penalización al daño de los drones.\"\n          }, \n          {\n            \"number\": \"-50%\", \n            \"text\": \"de reducción de los puntos de vida y el alcance de control de los drones.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la duración de la perturbación de los drones ECM.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"pénalité de dégâts de drone\"\n          }, \n          {\n            \"number\": \"-50%\", \n            \"text\": \"réduction des points de vie et de la portée de contrôle de drone\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus aux dégâts de la petite tourelle hybride\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la durée de brouillage des drones CME\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"penalty to Drone damage\"\n          }, \n          {\n            \"number\": \"-50%\", \n            \"text\": \"reduction in Drone hitpoints and control range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ECM Drone jam duration\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"ドローンダメージにペナルティ\"\n          }, \n          {\n            \"number\": \"-50%\", \n            \"text\": \"ドローンのHPと制御範囲が減少\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECMドローンのジャミング持続時間が延長\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"드론 피해량 감소\"\n          }, \n          {\n            \"number\": \"-50%\", \n            \"text\": \"드론 내구도 및 통제 거리 감소\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM 드론 재밍 지속시간 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на -85%\", \n            \"text\": \"штраф к урону от дронов\"\n          }, \n          {\n            \"number\": \"на -50%\", \n            \"text\": \"снижение дальности управления дронами, а также их прочности\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к длительности глушения для дронов МЭП\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-85%\", \n            \"text\": \"无人机伤害惩罚\"\n          }, \n          {\n            \"number\": \"-50%\", \n            \"text\": \"无人机HP和控制距离减少\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM无人机干扰持续时间加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37455\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"Unterbrechungsstärke für alle Warpunterbrecher\"\n          }, \n          {\n            \"text\": \"·Die Boni der Maulus Navy Issue gelten nicht für Warpstörer\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und die Nachführungsgeschwindigkeit von Drohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"scramble strength to all Warp Scramblers\"\n          }, \n          {\n            \"text\": \"·Maulus Navy Issue bonuses do not apply to Warp Disruptors\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler optimal range\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"de intensidad de distorsión a todos los distorsionadores de warp.\"\n          }, \n          {\n            \"text\": \"·Las bonificaciones de la Maulus modelo de la Armada no se aplican a los disruptores de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo y los puntos de vida de los drones.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"puissance d'inhibition pour tous les inhibiteurs de warp\"\n          }, \n          {\n            \"text\": \"·Les bonus du Maulus modèle Navy ne s'appliquent pas aux perturbateurs de warp\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux points de dommages et à la vitesse de poursuite du drone\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale de l'inhibiteur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"scramble strength to all Warp Scramblers\"\n          }, \n          {\n            \"text\": \"·Maulus Navy Issue bonuses do not apply to Warp Disruptors\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler optimal range\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"すべてのワープスクランブラーのスクランブル強度\"\n          }, \n          {\n            \"text\": \"·マウルス海軍版のボーナスはワープ妨害器に適用されない\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイント、追跡速度が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープスクランブラーの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"워프 스크램블러 강도 증가\"\n          }, \n          {\n            \"text\": \"·워프 디스럽터에 마울러스 해군 에디션 보너스 미적용\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 스크램블러 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 2+\", \n            \"text\": \"повышается мощность помех, наводимых на варп-двигатели варп-глушителями\"\n          }, \n          {\n            \"text\": \"·Особенности «Молуса-флотского» не влияют на варп-подавители\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель бортового оружия дронов, увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается оптимальная дальность действия варп-глушителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"跃迁扰频器干扰强度\"\n          }, \n          {\n            \"text\": \"·毛鲁斯级海军型加成不适用于跃迁扰断器\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP和跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁扰频器最佳射程加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37456\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer und Aktivierungskosten von Panzerungsfernreparatursystemen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die HP der Panzerung\"\n            }\n          ], \n          \"header\": \"Logistics Frigates Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Reparaturmenge von Panzerungsfernreparatursystemen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Panzerungs-Fernreparatursystemen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer duration and activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to armor hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"de bonificación al alcance efectivo del reparador de blindaje remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración y el coste de activación del reparador de blindaje remoto.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a los puntos de vida del blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas logísticas (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje remotos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del reparador de blindaje remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"de bonus à la perte du réparateur de blindage à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du coût d'activation et de la durée du réparateur de blindage à distance\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux points de dommages du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates logistiques :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au montant du réparateur de blindage à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation du réparateur de blindage à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer duration and activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to armor hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートアーマーリペアラの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"リモートアーマーリペアラの精度低下範囲が改善\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"リモートアーマーリペアラの持続時間および起動コストが改善\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲ヒットポイントが増加\"\n            }\n          ], \n          \"header\": \"支援型フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートアーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートアーマーリペアラの起動コストを削減\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"원격 장갑수리 장치 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 장갑수리 장치 지속시간 및 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑 내구도 증가\"\n            }\n          ], \n          \"header\": \"로지스틱스 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 장갑수리 장치 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 600%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционного ремонта брони\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони и продолжительность их рабочего цикла\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается запас прочности брони корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Фрегаты обеспечения:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器最佳射程加成\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"远程装甲维修器失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"远程装甲维修器运转周期和启动消耗减少\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲值加成\"\n            }\n          ], \n          \"header\": \"后勤护卫舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"远程装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程装甲维修器启动消耗减少\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37457\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf alle Effekte von Struktur-Kampfmodifikationen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduzierter Treibstoffverbrauch von Zitadellen-Dienstmodulen\"\n          }, \n          {\n            \"text\": \"·Verfügt diese Struktur über mindestens ein aktives Dienstmodul, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte HP für Schild und Panzerung.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Astrahus-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel service module fuel consumption\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints.\"\n          }, \n          {\n            \"text\": \"·This structure requires an Astrahus Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a todos los efectos de complementos de combate para estructuras.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del consumo de combustible del módulo de servicio de ciudadela.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje.\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Astrahus de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à tous les effets d'amélioration des combats de structures\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction de la consommation de carburant des modules de service de citadelle\"\n          }, \n          {\n            \"text\": \"·Lorsque cette structure dispose d'au moins un module de service en ligne fonctionnel, elle entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage.\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Astrahus pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel service module fuel consumption\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints.\"\n          }, \n          {\n            \"text\": \"·This structure requires an Astrahus Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"全てのストラクチャ戦闘リグの効果が増大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"城塞サービスモジュールの燃料消費をが減少\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには アシュトラハス・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"구조물 전용 전투 리그 효과 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"시타델 서비스 모듈 연료 사용량 감소\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 하나라도 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가합니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 아스트라허스 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к эффективности всех боевых надстроек\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшает потребление топлива служебными модулями цитаделей\"\n          }, \n          {\n            \"text\": \"·В этом сооружении есть по меньшей мере один действующий служебный модуль, поэтому оно переходит в режим полной мощности и получает повышенный запас прочности щитов и брони.\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Астрей» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"所有建筑战斗改装件效果加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"堡垒服务装备的燃料消耗降低\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值。\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个空堡昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 35832\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Gallente Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 4388\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf alle Effekte von Struktur-Kampfmodifikationen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduzierter Treibstoffverbrauch von Zitadellen-Dienstmodulen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Feuerrate und den Energiespeicherverbrauch von Standup-Pulsprojektoren und Lenkbombenwerfern\"\n          }, \n          {\n            \"text\": \"·Verfügt diese Struktur über mindestens ein aktives Dienstmodul, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte Trefferpunkte für Schild und Panzerung sowie einen zusätzlichen Verstärkungszyklus\"\n          }, \n          {\n            \"text\": \"·Neue Keepstars dürfen nicht im Hochsicherheitsraum verankert werden.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Keepstar-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel service module fuel consumption\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle\"\n          }, \n          {\n            \"text\": \"·New Keepstars may not be anchored within highsec space\"\n          }, \n          {\n            \"text\": \"·This structure requires a Keepstar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a todos los efectos de complementos de combate para estructuras.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del consumo de combustible del módulo de servicio de ciudadela.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la cadencia de tiro y al consumo del condensador de los proyectores de estallido Standup y los lanzabombas guiados.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }, \n          {\n            \"text\": \"·No pueden anclarse nuevas Keepstar en el espacio de seguridad alta\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Keepstar de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à tous les effets d'amélioration des combats de structures\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction de la consommation de carburant des modules de service de citadelle\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la cadence de tir et à la consommation du capaciteur des projecteurs à salves et des lanceurs de bombes ciblées Standup\"\n          }, \n          {\n            \"text\": \"·Lorsque cette structure dispose d'au moins un module de service fonctionnel, elle entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage, ainsi que d'un cycle de renfort de blindage additionnel\"\n          }, \n          {\n            \"text\": \"·Les nouvelles Keepstar ne peuvent pas être ancrées dans un espace de haute sécurité\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Keepstar pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel service module fuel consumption\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle\"\n          }, \n          {\n            \"text\": \"·New Keepstars may not be anchored within highsec space\"\n          }, \n          {\n            \"text\": \"·This structure requires a Keepstar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"全てのストラクチャ戦闘リグの効果が増大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"城塞サービスモジュールの燃料消費をが減少\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"スタンドアップバーストプロジェクターと誘導ボムランチャーの発射間隔とキャパシタ消費効率を改善\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }, \n          {\n            \"text\": \"·ハイセキュリティ宙域内でキープスターを新たに係留することはできません\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには キープスター・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"구조물 전용 전투 리그 효과 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"시타델 서비스 모듈 연료 사용량 감소\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"스탠드업 버스트 프로젝터 및 유도폭탄 런처 연사속도 및 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }, \n          {\n            \"text\": \"·하이 시큐리티 지역에 신규 키프스타 구조물을 위치 고정할 수 없음\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 키프스타 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к эффективности всех боевых надстроек\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшает потребление топлива служебными модулями цитаделей\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к скорострельности и энергопотреблению проекторов объёмных помех и бомбометателей с системой наведения на базе «Стационар»\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть по меньшей мере один работающий служебный модуль, оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления\"\n          }, \n          {\n            \"text\": \"·Новые «Кипстары» нельзя ставить на якорь в системах с высоким ур. безопасности\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Кипстар» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"所有建筑战斗改装件效果加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"堡垒服务装备的燃料消耗降低\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"屹立脉冲波投射器和制导炸弹发射器的射速和电容消耗加成\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环\"\n          }, \n          {\n            \"text\": \"·New Keepstars may not be anchored within highsec space\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个星城昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 35834\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2%\", \n            \"text\": \"Bonus auf den Aufbereitungsertrag aller Arten von Erz und Eis\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"Bonus auf Gasdekompressionseffizienz\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Reduzierter Treibstoffverbrauch von Aufbereitungs- und Reaktionsdienstmodulen\"\n          }, \n          {\n            \"text\": \"·Diese Struktur kann Reaktionsdienstmodule verwenden\"\n          }, \n          {\n            \"text\": \"·Diese Struktur kann Mond-Bohrdienstmodule verwenden und Mond-Bergbau betreiben, wenn sie bei einem Mond-Bergbausignalfeuer stationiert wird\"\n          }, \n          {\n            \"text\": \"·Verfügt diese Struktur über mindestens ein aktives Dienstmodul, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte HP für Schild und Panzerung.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Athanor-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2%\", \n            \"text\": \"bonus to refining yield for all variants of Ore and Ice\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"bonus to gas decompression efficiency\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"reduction in Reprocessing and Reaction Service Module fuel consumption\"\n          }, \n          {\n            \"text\": \"·This structure can operate Reaction Service Modules\"\n          }, \n          {\n            \"text\": \"·This structure can operate Moon Drill Service Modules and engage in moon mining when deployed at a designated Moon Mining Beacon\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints.\"\n          }, \n          {\n            \"text\": \"·This structure requires an Athanor Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2%\", \n            \"text\": \"de bonificación al rendimiento de refinado de todas las variantes de menas y hielo.\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"de bonificación a la eficiencia de la descompresión de gas.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de reducción del consumo de combustible del módulo de servicio de reprocesamiento y reacción.\"\n          }, \n          {\n            \"text\": \"·Esta estructura puede utilizar módulos de servicio de reacción.\"\n          }, \n          {\n            \"text\": \"·Esta estructura puede utilizar módulos de servicio de perforación lunar y extraer minerales cuando se despliega en una baliza minera lunar designada.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje.\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Athanor de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2%\", \n            \"text\": \"de bonus au rendement de raffinage pour toutes les variétés de minerais et de glace\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"bonus d'efficience de la décompression de gaz\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de réduction de la consommation en carburant des modules de service de retraitement et de réaction\"\n          }, \n          {\n            \"text\": \"·Cette structure peut faire fonctionner des modules de service de réaction\"\n          }, \n          {\n            \"text\": \"·Cette structure peut faire fonctionner des modules de service de foreuse lunaire et intervenir dans l'extraction lunaire en cas de déploiement sur une balise d'extraction lunaire désignée\"\n          }, \n          {\n            \"text\": \"·Lorsque cette structure dispose d'au moins un module de service en ligne fonctionnel, elle entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage.\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Athanor pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2%\", \n            \"text\": \"bonus to refining yield for all variants of Ore and Ice\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"bonus to gas decompression efficiency\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"reduction in Reprocessing and Reaction Service Module fuel consumption\"\n          }, \n          {\n            \"text\": \"·This structure can operate Reaction Service Modules\"\n          }, \n          {\n            \"text\": \"·This structure can operate Moon Drill Service Modules and engage in moon mining when deployed at a designated Moon Mining Beacon\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints.\"\n          }, \n          {\n            \"text\": \"·This structure requires an Athanor Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2%\", \n            \"text\": \"全てのバリエーションの鉱石とアイスの精製産出量が増加\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"ガス減圧効率にボーナス\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"再処理と反応サービスモジュールの燃料消費が減少\"\n          }, \n          {\n            \"text\": \"·このストラクチャは、反応サービスモジュールを動作させることができる。\"\n          }, \n          {\n            \"text\": \"·このストラクチャは、指定された衛星採掘ビーコンに配備された場合、衛星採掘サービスモジュールを操作し、衛星採掘に従事することができる\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには アサノア・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2%\", \n            \"text\": \"광석 및 아이스 정제 산출량 증가\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"가스 압축해제 효율성 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"정제 및 합성 서비스 모듈 사용량 감소\"\n          }, \n          {\n            \"text\": \"·합성 서비스 모듈 운용이 가능한 구조물입니다.\"\n          }, \n          {\n            \"text\": \"·위성 드릴 서비스 모듈 운용이 가능하며, 지정된 위성 채굴 비컨에 배치될 경우 위성 채굴을 할 수 있는 구조물입니다.\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 하나라도 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가합니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 아타노르 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 2%\", \n            \"text\": \"бонус к объёму переработки всех разновидностей руды и льда\"\n          }, \n          {\n            \"number\": \"на 4%\", \n            \"text\": \"увеличение эффективности декомпрессии газа\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"уменьшает потребление топлива служебными модулями переработки и реакций\"\n          }, \n          {\n            \"text\": \"·Это сооружение может использовать служебные модули реакций\"\n          }, \n          {\n            \"text\": \"·Это сооружение может использовать служебные модули для бурения спутников и вести добычу на спутнике при размещении рядом с маяком спутника\"\n          }, \n          {\n            \"text\": \"·В этом сооружении есть по меньшей мере один действующий служебный модуль, поэтому оно переходит в режим полной мощности и получает повышенный запас прочности щитов и брони.\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Атанор» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2%\", \n            \"text\": \"所有种类的矿石和冰矿的提炼产出加成\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"气云解压效率加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"提炼和反应服务装备的燃料消耗降低\"\n          }, \n          {\n            \"text\": \"·这个建筑可以运转反应服务装备\"\n          }, \n          {\n            \"text\": \"·这个建筑可以运转卫星钻探服务装备，并可在部署于指定的卫星开采信标处时参与卫星开采工作\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值。\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个阿塔诺昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 35835\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5.5%\", \n            \"text\": \"Bonus auf den Aufbereitungsertrag aller Arten von Erz und Eis\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf Gasdekompressionseffizienz\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduzierter Treibstoffverbrauch von Aufbereitungs- und Reaktionsdienstmodulen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduzierte Zeitanforderungen für Reaktionen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Feuerrate und den Energiespeicherverbrauch von Standup-Pulsprojektoren und Lenkbombenwerfern\"\n          }, \n          {\n            \"text\": \"·Diese Struktur kann Reaktionsdienstmodule verwenden\"\n          }, \n          {\n            \"text\": \"·Diese Struktur kann Mond-Bohrdienstmodule verwenden und Mond-Bergbau betreiben, wenn sie bei einem Mond-Bergbausignalfeuer stationiert wird\"\n          }, \n          {\n            \"text\": \"·Solange diese Struktur über mindestens ein aktives Dienstmodul verfügt, befindet sie sich im Hochenergiemodus und erhält erhöhte Schild- und Panzerungs-HP sowie einen zusätzlichen Verstärkungszyklus.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Tatara-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5.5%\", \n            \"text\": \"bonus to refining yield for all variants of Ore and Ice\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus in gas decompression efficiency\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Reprocessing and Reaction Service Module fuel consumption\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in time requirements for reaction jobs\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·This structure can operate Reaction Service Modules\"\n          }, \n          {\n            \"text\": \"·This structure can operate Moon Drill Service Modules and engage in moon mining when deployed at a designated Moon Mining Beacon\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Tatara Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5.5%\", \n            \"text\": \"de bonificación al rendimiento de refinado de todas las variantes de menas y hielo.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la eficiencia de la descompresión de gas.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del consumo de combustible del módulo de servicio de reprocesamiento y reacción.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de los requisitos de tiempo para los trabajos de reacción.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la cadencia de tiro y al consumo del condensador de los proyectores de estallido Standup y los lanzabombas guiados.\"\n          }, \n          {\n            \"text\": \"·Esta estructura puede utilizar módulos de servicio de reacción.\"\n          }, \n          {\n            \"text\": \"·Esta estructura puede utilizar módulos de servicio de perforación lunar y extraer minerales cuando se despliega en una baliza minera lunar designada.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Tatara de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5.5%\", \n            \"text\": \"de bonus au rendement de raffinage pour toutes les variétés de minerais et de glace\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus d'efficience de la décompression de gaz\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction de la consommation en carburant des modules de service de retraitement et de réaction\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction de la durée des tâches de réaction\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la cadence de tir et à la consommation du capaciteur des projecteurs à salves et des lanceurs de bombes ciblées Standup\"\n          }, \n          {\n            \"text\": \"·Cette structure peut faire fonctionner des modules de service de réaction\"\n          }, \n          {\n            \"text\": \"·Cette structure peut faire fonctionner des modules de service de foreuse lunaire et intervenir dans l'extraction lunaire en cas de déploiement sur une balise d'extraction lunaire désignée\"\n          }, \n          {\n            \"text\": \"·L’activation d’un seul module de service permet à la structure de passer en mode performance énergétique pour accroître les points de vie de ses boucliers et de son blindage et bénéficier d’un cycle de renforcement supplémentaire.\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Tatara pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5.5%\", \n            \"text\": \"bonus to refining yield for all variants of Ore and Ice\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus in gas decompression efficiency\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Reprocessing and Reaction Service Module fuel consumption\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in time requirements for reaction jobs\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·This structure can operate Reaction Service Modules\"\n          }, \n          {\n            \"text\": \"·This structure can operate Moon Drill Service Modules and engage in moon mining when deployed at a designated Moon Mining Beacon\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Tatara Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5.5%\", \n            \"text\": \"全てのバリエーションの鉱石とアイスの精製産出量が増加\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"ガス減圧効率時のボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"再処理と反応サービスモジュールの燃料消費が減少\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"反応ジョブの必要時間が減少\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"スタンドアップバーストプロジェクターと誘導ボムランチャーの発射間隔とキャパシタ消費効率を改善\"\n          }, \n          {\n            \"text\": \"·このストラクチャは、反応サービスモジュールを動作させることができる。\"\n          }, \n          {\n            \"text\": \"·このストラクチャは、指定された衛星採掘ビーコンに配備された場合、衛星採掘サービスモジュールを操作し、衛星採掘に従事することができる\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには タタラ・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5.5%\", \n            \"text\": \"광석 및 아이스 정제 산출량 증가\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"가스 압축해제 효율성 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"정제 및 합성 서비스 모듈 사용량 감소\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"합성 시간효율성 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"스탠드업 버스트 프로젝터 및 유도폭탄 런처 연사속도 및 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·합성 서비스 모듈 운용이 가능한 구조물입니다.\"\n          }, \n          {\n            \"text\": \"·위성 드릴 서비스 모듈 운용이 가능하며, 지정된 위성 채굴 비컨에 배치될 경우 위성 채굴을 할 수 있는 구조물입니다.\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 타타라 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 5.5%\", \n            \"text\": \"бонус к объёму переработки всех разновидностей руды и льда\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"увеличение эффективности декомпрессии газа\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшает потребление топлива служебными модулями переработки и реакций\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшает необходимое время завершения реакций\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к скорострельности и энергопотреблению проекторов объёмных помех и бомбометателей с системой наведения на базе «Стационар»\"\n          }, \n          {\n            \"text\": \"·Это сооружение может использовать служебные модули реакций\"\n          }, \n          {\n            \"text\": \"·Это сооружение может использовать служебные модули для бурения спутников и вести добычу на спутнике при размещении рядом с маяком спутника\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть по меньшей мере один работающий служебный модуль, оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления.\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Татара» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5.5%\", \n            \"text\": \"所有种类的矿石和冰矿的提炼产出加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"气云解压效率加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"提炼和反应服务装备的燃料消耗降低\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"反应项目的时间需求降低\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"屹立脉冲波投射器和制导炸弹发射器的射速和电容消耗加成\"\n          }, \n          {\n            \"text\": \"·这个建筑可以运转反应服务装备\"\n          }, \n          {\n            \"text\": \"·这个建筑可以运转卫星钻探服务装备，并可在部署于指定的卫星开采信标处时参与卫星开采工作\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环。\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个塔塔拉昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 35836\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Module für Warpstörfeldgenerator und Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf alle Schildresistenzen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf die Flugdauer von Lenkwaffen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des Signaturradius-Abzugs von Warpstörfeldgenerator\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Reichweite von Warpstörfeldgeneratoren\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachladezeit von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von Lenkwaffen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen Werfern für leichte Lenkwaffen, schwere Lenkwaffen und schwere Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warp Disruption Field Generator and Cynosural Field Generator modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all shield resistances\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to missile flight time\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction to signature radius penalty from Warp Disruption Field Generator\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to missile velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Disruption Field Generator range\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to missile reload time\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to missile damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de generador de campo disruptor de warp y generador de campo cinosural.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a todas las resistencias de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización al tiempo de vuelo de los misiles.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de la penalización del radio de la señal del generador de campo disruptor de warp.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance del generador de campo disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros interdictores pesados (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al tiempo de recarga de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de los misiles.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules générateur de champ perturbateur de warp et générateur de champ cynosural\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à toutes les résistances du bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité au temps de vol des missiles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction à la pénalité du rayon de signature infligée par un générateur de champ perturbateur de warp\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la vitesse des missiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée du générateur de champ perturbateur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'interdiction lourds :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du temps de recharge des missiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts des missiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warp Disruption Field Generator and Cynosural Field Generator modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all shield resistances\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to missile flight time\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction to signature radius penalty from Warp Disruption Field Generator\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to missile velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Disruption Field Generator range\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to missile reload time\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to missile damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ワープ妨害フィールドジェネレーターとサイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"全てのシールドレジスタンスにボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ミサイルの飛行時間にペナルティ\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"ワープ妨害フィールドジェネレーターによるシグネチャ半径ペナルティが減少\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"ミサイルの速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ワープ妨害フィールドジェネレーターの範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ワープ妨害型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルリロード時間にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ミサイルの与えるダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ラピッドライトミサイル、ヘビーミサイル及びヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·워프 디스럽션 필드 생성기 및 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"모든 실드 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"미사일 비행시간 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"워프 디스럽션 필드 생성기로 인한 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"미사일 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"워프 디스럽션 필드 생성기 사거리 증가\"\n            }\n          ], \n          \"header\": \"인터딕터 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 재장전 속도 감소\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"미사일 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможно оснащение бортовым варп-заградителем и приводным маяком\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к сопротивляемости щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение полётного времени ракет\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"уменьшение влияния бортового варп-заградителя на радиус сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"бонус к скорости полёта ракет\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к дальности действия бортового варп-заградителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Заградительные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к скорости перезарядки ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к урону от ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорострельности установок для лёгких скорострельных, тяжёлых и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配跃迁扰断力场发生器和诱导力场发生器装备\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"护盾抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"导弹飞行时间惩罚\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"跃迁扰断力场发生器的信号半径惩罚降低\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"导弹飞行速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"跃迁扰断力场发生器的范围扩大\"\n            }\n          ], \n          \"header\": \"重型拦截巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"导弹装填时间加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"导弹伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 60764\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Abzug auf die Flugdauer von Lenkwaffen\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Sensorferndämpfern\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Sensorferndämpfern\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf den Schaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Warpstörern und Warpunterbrechern\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"penalty to missile flight time\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to missile velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Sensor Dampener activation cost\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Warp Scrambler and Warp Disruptor activation cost\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de penalización al tiempo de vuelo de los misiles.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad del atenuador de sensor remoto.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción del coste de activación del atenuador de sensor remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al daño de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción al coste de activación del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de ataque electrónicas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de pénalité au temps de vol des missiles\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la vitesse des missiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité de l'atténuateur de détection à distance\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction du coût d'activation de l'atténuateur de détection à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus aux dégâts des missiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et perturbateurs de warp\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des inhibiteurs de warp et perturbateurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux d'attaque électronique :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"penalty to missile flight time\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to missile velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Sensor Dampener activation cost\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Warp Scrambler and Warp Disruptor activation cost\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"ミサイルの飛行時間にペナルティ\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"ミサイルの速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートセンサーダンプナーの効果にボーナス\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"リモートセンサーダンプナーの起動コストが減少\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"ミサイルの与えるダメージが増加\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の起動コストが減少\"\n            }\n          ], \n          \"header\": \"電子攻撃船ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"미사일 비행시간 감소\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"미사일 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 센서 댐프너 효과 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"원격 센서 댐프너 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"미사일 피해량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"전자전 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"сокращение полётного времени ракет\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"бонус к скорости полёта ракет\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к эффективности модулей подавления захвата целей\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"снижение расхода энергии на активацию модуля подавления захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 25%\", \n              \"text\": \"бонус к урону от ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к оптимальной дальности варп-глушителей и варп-подавителей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"снижение расхода энергии на активацию варп-глушителей и варп-подавителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"导弹飞行时间惩罚\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"导弹飞行速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"远程感应抑阻器效果加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"远程感应抑阻器启动消耗加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"导弹伤害加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器有效距离加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器启动节能加成\"\n            }\n          ], \n          \"header\": \"电子攻击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 60765\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"Bonus auf die HP und den Schaden  von Wächterdrohnen und Schweren Drohnen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetik- und Thermalschaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"bonus to Sentry Drone and Heavy Drone damage and hitpoints\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"de bonificación al daño y los puntos de vida de los drones centinela y los drones pesados.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético y térmico de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"de bonus aux dégâts et aux points de vie des drones sentinelles et des drones lourds\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts des missiles de type cinétique et thermique\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"bonus to Sentry Drone and Heavy Drone damage and hitpoints\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"セントリードローンおよびヘビードローンのダメージ、ヒットポイントが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルのキネティックダメージおよびサーマルダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"센트리 드론과 헤비 드론의 피해량 및 내구도 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 키네틱 및 열 피해 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 275%\", \n            \"text\": \"увеличивается урон бортового оружия стационарных дронов и тяжёлых боевых дронов; увеличивается запас их прочности\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон кинетических и термических БЧ ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"岗哨无人机和重型无人机伤害和HP加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"动能和热能导弹伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34151\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Mikrosprungantrieb-Module verwenden\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"Reduzierung von Energieversorgungs- und CPU-Voraussetzungen für Nachbrenner, Mikrowarpantrieb, und Micro Sprungantrieb-Module\"\n          }, \n          {\n            \"number\": \"99.9%\", \n            \"text\": \"Reduzierte Energieversorgungs- und CPU-Voraussetzungen für Scansondenwerfer und Zielmarkierer-Module\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"Bonus auf die optimale Reichweite von Zielmarkierern\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"Reduzierte Effektivität von Zielmarkierern\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Resistenz gegen ECM-Effekte\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Resistenz gegen Sensordämpfer-, Zielmarkierer-, Energieneutralisierer- und Energie-Nosferatu-Effekte.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion des Signaturradius des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Wendigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die HP der Schilde des Schiffs\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die HP der Panzerung des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf Panzerungs-, Schild- und Rumpfresistenzen\"\n            }\n          ], \n          \"header\": \"Flag Cruisers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use Medium Micro Jump Drive modules\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in powergrid and cpu requirements for Afterburner, Microwarpdrive, and Micro Jump Drive modules\"\n          }, \n          {\n            \"number\": \"99.9%\", \n            \"text\": \"reduction in powergrid and cpu requirements for Scan Probe Launcher and Target Painter modules\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Target Painter optimal range\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Target Painter effectiveness\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"resistance to ECM effects\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"resistance to sensor dampener, target painter, energy neutralizer, and energy nosferatu effects\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in ship signature radius\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship agility\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship shield hitpoints\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship armor hitpoints\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor, shield, and hull resistances\"\n            }\n          ], \n          \"header\": \"Flag Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de motor de microsalto mediano.\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"de reducción en el requisito de sistema de potencia y de CPU en los módulos de posquemador, motor de microwarp y motor de microsalto.\"\n          }, \n          {\n            \"number\": \"99.9%\", \n            \"text\": \"de reducción en los requisitos de sistema de potencia y CPU de los módulos de lanzasondas de escaneo y revelador de objetivo.\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonificación al alcance óptimo del revelador de objetivo.\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"de reducción de la efectividad del revelador de objetivo.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de resistencia a los efectos de las contramedidas electrónicas.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de resistencia a los efectos de los atenuadores de sensor, los reveladores de objetivo, los neutralizadores energéticos y los nosferatus de energía.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del radio de la señal de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la agilidad de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los puntos de vida del escudo de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los puntos de vida del blindaje de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje, escudo y casco.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros insignia (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser des modules de propulseurs de micro-saut intermédiaires\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"réduction des besoins en réseau d’alimentation et CPU pour les modules de système de post-combustion, de propulseurs de microwarp et de propulseurs de micro-saut\"\n          }, \n          {\n            \"number\": \"99.9%\", \n            \"text\": \"de réduction des besoins en réseau d'alimentation et CPU pour les modules de lanceurs de sonde de balayage et de marqueurs de cible\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonus à la portée optimale du marqueur de cible\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"de réduction à l'efficacité du marqueur de cible\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"résistance aux effets des CME\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"résistance aux effets des atténuateurs de détection, des marqueurs de cible, des neutraliseurs d'énergie et des Nosferatu à énergie\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"réduction du rayon de signature d'un vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la maniabilité du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux points de dommages du bouclier du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux points de dommages du blindage du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage, du bouclier et de la coque\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs amiraux :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use Medium Micro Jump Drive modules\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in powergrid and cpu requirements for Afterburner, Microwarpdrive, and Micro Jump Drive modules\"\n          }, \n          {\n            \"number\": \"99.9%\", \n            \"text\": \"reduction in powergrid and cpu requirements for Scan Probe Launcher and Target Painter modules\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Target Painter optimal range\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Target Painter effectiveness\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"resistance to ECM effects\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"resistance to sensor dampener, target painter, energy neutralizer, and energy nosferatu effects\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in ship signature radius\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship agility\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship shield hitpoints\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship armor hitpoints\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor, shield, and hull resistances\"\n            }\n          ], \n          \"header\": \"Flag Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·中型マイクロジャンプドライブモジュールの使用が可能\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"アフターバーナー、超小型ワープドライブ、及び超小型ジャンプドライブモジュールのパワーグリッド及びCPU使用率を軽減\"\n          }, \n          {\n            \"number\": \"99.9%\", \n            \"text\": \"スキャンプローブランチャー及びターゲットペインターモジュールのパワーグリッド及びCPU使用率を軽減\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"ターゲットペインターの最適射程距離が増加\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"ターゲットペインターの効果が減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"ECM効果に耐性\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"センサーダンプナー、ターゲットペインター、エネルギーニュートライザー、エネルギーノスフェラトゥの効果に対する耐性を付与\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のシグネチャ半径が縮小\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の機動性を強化\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のシールドHPが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のアーマーHPが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマー、シールド、船体レジスタンスが増加\"\n            }\n          ], \n          \"header\": \"指揮巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·중형 마이크로 점프 드라이브 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"애프터버너, 마이크로 워프 드라이브, 마이크로 점프 드라이브 모듈의 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"number\": \"99.9%\", \n            \"text\": \"스캔 프로브 런처 및 타겟 페인터 모듈 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"타겟 페인터 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"타겟 페인터 효과 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"ECM 저항력\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"센서 댐프너, 타겟 페인터, 에너지 뉴트럴라이저, 에너지 노스페라투 효과 저항력\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"함선 시그니처 반경 감소\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"기동성 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"실드량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"장갑 내구도 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑, 실드, 선체 저항력 증가\"\n            }\n          ], \n          \"header\": \"플래그 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Может использовать модули среднего микрогипердвигателя\"\n          }, \n          {\n            \"number\": \"на 99%\", \n            \"text\": \"уменьшение требовательности энергосистем и ЦП для модулей форсажного ускорителя, микроварп-ускорителя и микрогипердвигателя\"\n          }, \n          {\n            \"number\": \"на 99.9%\", \n            \"text\": \"уменьшается потребность ПУ разведзондов и систем подсветки целей в мощностях ЦП и реактора\"\n          }, \n          {\n            \"number\": \"на 300%\", \n            \"text\": \"увеличивается оптимальная дальность действия систем подсветки целей\"\n          }, \n          {\n            \"number\": \"на 99%\", \n            \"text\": \"уменьшается эффективность действия систем подсветки целей\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сопротивляемость к воздействию МЭП\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сопротивляемость к действию следующих модулей: подавление захвата целей, подсветка цели, нейтрализатор энергии и энергопоглощение\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшение размера сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к манёвренности корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к запасу прочности щитов корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к запасу прочности брони корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к сопротивляемости брони, щитов и корпуса\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Flag Cruisers:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以使用中型微型跳跃引擎装备\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"加力燃烧器、微型跃迁推进器和微型跳跃引擎的能量栅格和CPU需求降低\"\n          }, \n          {\n            \"number\": \"99.9%\", \n            \"text\": \"扫描探针发射器和目标标记装置的能量栅格和CPU需求降低\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"目标标记装置最佳射程加成\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"目标标记装置效果降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"对ECM效果具有抗性\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"对感应抑阻器、目标标记装置、能量中和器和掠能器的效果具有抗性\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船信号半径降低\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船灵活性加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船护盾值加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船装甲值加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"所有装甲、护盾和结构抗性加成\"\n            }\n          ], \n          \"header\": \"战地巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45534\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der Wirksamkeit der Nebeneffekte von Boostern\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"33%\", \n            \"text\": \"Bonus auf die Feuerrate von Torpedowerfern\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des Stromnetz- und CPU-Bedarfs von Bombenwerfern\"\n          }, \n          {\n            \"number\": \"99.8%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von Torpedowerfern\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Torpedowerfern\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielaufschaltung nach der Deaktivierung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule, getarnte Anziehungsfeldgeneratoren und Bombenwerfer eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 15 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die maximale Geschwindigkeit von Torpedos\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Stasisnetzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit und Flugdauer von Torpedos\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Thermal- und Explosionsschaden von Bomben\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den Thermal- und Explosionsschaden von Torpedos\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the potency of booster side effects\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Small Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus to Torpedo Launcher rate of fire\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Bomb Launcher powergrid and CPU requirements\"\n          }, \n          {\n            \"number\": \"99.8%\", \n            \"text\": \"reduction in Torpedo Launcher powergrid requirement\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in Torpedo Launcher CPU requirement\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Covert Cynosural Field Generator and Bomb Launcher\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Torpedo explosion velocity and flight time\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to thermal and explosive Bomb damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to thermal and explosive Torpedo damage\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de la potencia de los efectos secundarios de los potenciadores.\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n          }, \n          {\n            \"number\": \"33%\", \n            \"text\": \"de bonificación a la cadencia de tiro del lanzatorpedos.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de los requisitos de sistema de potencia y CPU de los lanzabombas.\"\n          }, \n          {\n            \"number\": \"99.8%\", \n            \"text\": \"de reducción de los requisitos de sistema de potencia del lanzatorpedos.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de los requisitos de CPU del lanzatorpedos.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural encubierto y un lanzabombas.\"\n          }, \n          {\n            \"text\": \"·Se reduce la demora de reactivación del camuflaje a 15 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la velocidad máxima de los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad de la red ralentizadora.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de explosión y el tiempo de vuelo de los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del reparador de blindaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño térmico y explosivo de las bombas.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al daño térmico y explosivo de los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction d'efficacité des effets secondaires des boosters.\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n          }, \n          {\n            \"number\": \"33%\", \n            \"text\": \"de bonus à la cadence de tir des lance-torpilles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du réseau d'alimentation et de la charge CPU requis par les bombes\"\n          }, \n          {\n            \"number\": \"99.8%\", \n            \"text\": \"de réduction du réseau d'alimentation requis par les lance-torpilles\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la charge CPU requise par les lance-torpilles\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation du dispositif de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes, un générateur de champ cynosural furtif et unlanceur de bombes\"\n          }, \n          {\n            \"text\": \"·délai de réactivation du camouflage réduit à 15 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la vitesse maximale des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité des générateurs de stase\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse d'explosion et au temps de vol des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité du Réparateur de blindage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts explosifs et thermiques des bombes\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux dégâts explosifs et thermiques des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the potency of booster side effects\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Small Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus to Torpedo Launcher rate of fire\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Bomb Launcher powergrid and CPU requirements\"\n          }, \n          {\n            \"number\": \"99.8%\", \n            \"text\": \"reduction in Torpedo Launcher powergrid requirement\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in Torpedo Launcher CPU requirement\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Covert Cynosural Field Generator and Bomb Launcher\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Torpedo explosion velocity and flight time\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to thermal and explosive Bomb damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to thermal and explosive Torpedo damage\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"ブースターの副作用の効力減少\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"小型ハイブリッドタレットのダメージにボーナス\"\n          }, \n          {\n            \"number\": \"33%\", \n            \"text\": \"トルピードランチャーの発射間隔にボーナス\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"ボムランチャーのパワーグリッドとCPU使用率の減少\"\n          }, \n          {\n            \"number\": \"99.8%\", \n            \"text\": \"トルピードランチャーの必要パワーグリッドが減少\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"トルピードランチャーの必要CPUが減少\"\n          }, \n          {\n            \"text\": \"·遮蔽装置後のターゲット補足遅延なし\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置、潜伏用サイノシュラルフィールドジェネレータ、ボムランチャーを装備可能\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を15秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの精度低下範囲にボーナス\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"トルピードの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ステイシスウェビファイヤーの効果が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"トルピードの爆発速度と飛行時間が増加\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラの効果が増大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"サーマルボムとエクスプローシブボムのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"サーマルボムとエクスプローシブトルピードのダメージにボーナス\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"부스터 부작용 확률 감소\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"33%\", \n            \"text\": \"토피도 런처 연사속도 보너스\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"폭탄 런처 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"number\": \"99.8%\", \n            \"text\": \"토피도 런처 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"토피도 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 코버트 사이노슈럴 필드 생성기 및 폭탄 런처 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 15초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"토피도 최대속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"스테이시스 웹 생성기 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"토피도 폭발속도 및 비행시간 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"폭탄 열 및 폭발 피해량 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"토피도 열 및 폭발 피해량 증가\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижается сила побочных эффектов боевых стимуляторов\"\n          }, \n          {\n            \"number\": \"на 300%\", \n            \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 33%\", \n            \"text\": \"повышается скорострельность торпедных аппаратов\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"снижается потребность бомбомётов в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"number\": \"на 99.8%\", \n            \"text\": \"сокращается потребность торпедных аппаратов в мощности реактора\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"снижается потребность торпедных аппаратов в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устранена задержка включения систем захвата целей, вызываемая отключением систем маскировки\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки, приводными маяками скрытого действия и бомбомётами\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 15 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается скорость полного хода торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается запас полётного времени торпед; повышается коэффициент скорости взрыва их БЧ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается поражающее действие термических и фугасных БЧ бомб\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается поражающее действие термических и фугасных БЧ торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"增效体副作用效力减少\"\n          }, \n          {\n            \"number\": \"300%\", \n            \"text\": \"小型混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"33%\", \n            \"text\": \"鱼雷发射器射速加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"炸弹发射器能量栅格和CPU需求加成\"\n          }, \n          {\n            \"number\": \"99.8%\", \n            \"text\": \"鱼雷发射器能量栅格需求加成\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"鱼雷发射器CPU需求降低\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不遭受锁定延时副作用\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置、隐秘诱导力场发生器和炸弹发射器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到15秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"鱼雷飞行速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"停滞缠绕光束效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"鱼雷爆炸速度和飞行时间加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"炸弹热能和爆炸伤害加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"鱼雷热能和爆炸伤害加成\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45530\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"Reduktion der Wirksamkeit der Nebeneffekte von Boostern\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung, Anziehungsfeldgenerator und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion des Flüssigozon-Verbrauchs von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Stasisnetzen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"reduction in the potency of booster side effects\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Medium Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de reducción de la potencia de los efectos secundarios de los potenciadores.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción del consumo de ozono líquido del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad de la red ralentizadora.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del reparador de blindaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de réduction d'efficacité des effets secondaires des boosters.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules dispositif de camouflage d'opérations secrètes, générateur de champ cynosural et générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction de la consommation d'ozone liquide du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité des générateurs de stase\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité du Réparateur de blindage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale du générateur de stase\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des tourelles hybrides intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"reduction in the potency of booster side effects\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Medium Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"ブースターの副作用の効力減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置とサイノシュラルフィールドジェネレーター、そして潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの液体オゾン消費量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ステイシスウェビファイヤーの効果が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラの効果が増大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ステイシスウェビファイヤーの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"부스터 부작용 확률 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 액화 오존 소모량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"스테이시스 웹 생성기 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 30%\", \n            \"text\": \"снижается сила побочных эффектов боевых стимуляторов\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки, приводным маяком и приводным маяком скрытого действия.\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"снижение потребления жидкого озона приводным маяком и приводным маяком скрытого действия\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия стазис-индукторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"增效体副作用效力减少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"中型混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置、诱导力场发生器和隐秘诱导力场发生器装备\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器消耗的液态臭氧数量降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"停滞缠绕光束效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45531\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Projektilgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de proyectiles pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles à projectiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型プロジェクタイルタレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 발사체 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых баллистических орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型射弹炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33099\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Explosionsradius von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Schildkommando- und Informationkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetikschaden von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion radius\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to Shield Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al radio de explosión de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de escudo y de mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético de los misiles pesados y misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles lourds et des lance-missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au rayon d'explosion des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers et de commandement électronique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion radius\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to Shield Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーミサイル・ヘビーアサルトミサイルの爆発半径が縮小\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"シールドコマンドバーストと情報戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"指揮型巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルのキネティックダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 폭발반경 감소\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"실드 버스트 및 정보전 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일의 키네틱 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается скорострельность ПУ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается сигнатура взрыва БЧ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов и импульсными оптимизаторами РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли управления:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон кинетических БЧ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型导弹发射器和重型攻击导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹和重型攻击导弹的爆炸半径加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹动能伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22470\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP der Panzerung des Schiffs\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungkommando- und Informationkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship armor hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Armored Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile max velocity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida del blindaje de la nave.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje y de mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux PV du blindage du vaisseau\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindé et de commandement électronique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship armor hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Armored Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile max velocity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のアーマーヒットポイントが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルのダメージが増加\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"アーマードコマンドバーストと情報戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"指揮型巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの最高速度が上昇\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑 내구도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 피해량 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"장갑 버스트 및 정보전 버스트 효과 강화 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 최대 속도 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается запас прочности брони корабля\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон БЧ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони и импульсными оптимизаторами РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли управления:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船装甲值加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹伤害加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"装甲指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹最大速度加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22474\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf den Schaden von Mittelgroßen Kampfdrohnen\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"Bonus auf die HP von Mittelgroßen Kampfdrohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetic- und Thermalschaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Medium Combat Drone damage\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Medium Combat Drone hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación al daño de los drones de combate medianos.\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonificación a los puntos de vida de los drones de combate medianos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético y térmico de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonus aux dégâts des drones de combat intermédiaires\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonus aux points de vie des drones de combat intermédiaires\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts des missiles de type cinétique et thermique\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Medium Combat Drone damage\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Medium Combat Drone hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"中型戦闘用ドローンのダメージが上昇\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"中型戦闘用ドローンのHPが上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルのキネティック・サーマルダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"중형 공격 드론 피해량 보너스\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"중형 공격 드론 내구도 보너스\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 키네틱 및 열 피해 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 500%\", \n            \"text\": \"бонус к урону от средних боевых дронов\"\n          }, \n          {\n            \"number\": \"на 250%\", \n            \"text\": \"бонус к запасу прочности средних боевых дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон кинетических и термических БЧ ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"中型战斗无人机伤害加成\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"中型战斗无人机HP加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"动能和热能导弹伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17715\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittleren Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret tracking speed\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir de la tourelle à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la déperdition des tourelles à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret tracking speed\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型プロジェクタイルタレットの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорострельность средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к остаточной дальности средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17713\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittelgroßen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Geschwindigkeitsbonus von Nachbrennern\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"bonus to Medium Energy Turret damage\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la velocidad del posquemador.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"de bonus aux dégâts des tourelles à énergie intermédiaires\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles à énergie intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus au bonus de vitesse du système de post-combustion\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"bonus to Medium Energy Turret damage\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"中型エネルギータレットのダメージが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型エネルギータレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"アフターバーナーの速度ボーナスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"중형 에너지 터렛 피해량 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 에너지 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"애프터버너 속도 보너스 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 150%\", \n            \"text\": \"увеличивается урон средних лазерных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается влияние форсажных ускорителей на скорость полёта корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"中型能量炮台伤害加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型能量炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"加力燃烧器速度增益加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17718\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Belagerungsmodul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann eine Störlanze ausrüsten\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf Durchlaufzeit von Entosis-Netzwerk\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Schaden der Störlanze\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf maximale Reichweite der Störlanze\"\n            }\n          ], \n          \"header\": \"Lancer Dreadnoughts Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Präzisionsabfall-Reichweite von Capital-Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern und die Reparaturmenge von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Can fit a Disruptive Lance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Disruptive Lance damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Disruptive Lance maximum range\"\n            }\n          ], \n          \"header\": \"Lancer Dreadnoughts bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Capital Projectile Turret falloff range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Shield Booster and Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar una lanza disruptiva.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la lanza disruptiva.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance máximo de la lanza disruptiva.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazados lancer (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo y los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une lance disruptive\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de pénalité au temps de cycle de la liaison Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de dégâts de la lance disruptive\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus de portée maximum de la lance disruptive\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Supercuirassés lanciers :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée de déperdition de la tourelle à projectiles capitale\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux capacités du booster de bouclier et du réparateur de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Can fit a Disruptive Lance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Disruptive Lance damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Disruptive Lance maximum range\"\n            }\n          ], \n          \"header\": \"Lancer Dreadnoughts bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Capital Projectile Turret falloff range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Shield Booster and Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·妨害ランスを装着可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"妨害ランスのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"妨害ランスの最大射程にボーナス\"\n            }\n          ], \n          \"header\": \"ランサー攻城艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"キャピタルプロジェクタイルタレットの精度低下範囲にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"シールドブースターおよびアーマーリペアラの回復量増加\"\n            }\n          ], \n          \"header\": \"ミンマター攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·디스럽티브 랜스 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"디스럽티브 랜스 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"디스럽티브 랜스 최대사거리 증가\"\n            }\n          ], \n          \"header\": \"랜서 드레드노트 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"캐피탈 발사체 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"실드 부스터 및 장갑수리 장치 회복량 증가\"\n            }\n          ], \n          \"header\": \"민마타 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Позволяет установить осадный модуль\"\n          }, \n          {\n            \"text\": \"·Можно оснастить копьелучевой установкой\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"штраф ко времени цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону копьелучевых установок\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к макс. дальности копьелучевых установок\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Lancer Dreadnoughts:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к остаточной дальности баллистических орудий КБТ\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к эффективности модуля накачки щитов и установки ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个干扰长枪\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接循环周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"干扰长枪伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"干扰长枪最大范围加成\"\n            }\n          ], \n          \"header\": \"枪骑兵级无畏舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"旗舰级射弹炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"护盾回充增量器回充量和装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 77288\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Assault Frigates Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetikschaden von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Leichten Lenkwaffenwerfern und Raketenwerfern\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket max velocity\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas de asalto (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles ligeros y los lanzacohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d’assaut :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers et des lance-roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket max velocity\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイルとロケットの最高速度が上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }\n          ], \n          \"header\": \"強襲型フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイルとロケットのキネティックダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイルとロケットランチャーの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일 및 로켓 최대 속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"어썰트 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"키네틱 라이트 미사일과 로켓 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일 및 로켓 런처 연사속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается скорость полёта лёгких ракет и лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон кинетических БЧ лёгких ракет и лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорострельность ПУ лёгких ракет и лёгких штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭飞行速度加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"突击护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭动能伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"火箭和轻型导弹发射器射速加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11379\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Schaden und die HP von Drohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"Bonus auf die HP der Schilde des Schiffs\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"der Ausbeute von Oberflächen-Bergbaulasern\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"Dauer von Eisschürfern\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"der Dauer von Gas-Extraktoren\"\n            }\n          ], \n          \"header\": \"Mining Barge Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to drone damage and hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to ship shield hitpoints\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"in Strip Miner yield\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"in Gas Harvester duration\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al daño y los puntos de vida de los drones.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonificación a los puntos de vida del escudo de la nave.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"a la producción del extractor minero.\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"duración de la cosechadora de hielo.\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"a la duración de la cosechadora de gas.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Gabarra minera (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus aux dégâts et aux points de vie des drones\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonus aux PV du bouclier du vaisseau\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"au rendement des lasers d'extraction intensive\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"Durée du collecteur de glace\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"à la durée des collecteurs de gaz\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Barge d'extraction minière :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to drone damage and hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to ship shield hitpoints\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"in Strip Miner yield\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"in Gas Harvester duration\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"ドローンのダメージとHPが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"艦船のシールドヒットポイントが増加\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"ストリップマイナー採掘量ボーナス\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"アイス採掘機サイクル時間ボーナス\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"ガス採掘機サイクル時間ボーナス\"\n            }\n          ], \n          \"header\": \"採掘艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"드론 피해량 및 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"실드량 증가\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"가속 채굴기 채굴량\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"아이스 채굴기 지속시간\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"가스 하베스터 지속시간\"\n            }\n          ], \n          \"header\": \"채광선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается урон бортового оружия дронов, увеличивается запас их прочности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 6%\", \n              \"text\": \"повышается запас прочности щитов корабля\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"от эффективности добычи буровых лазеров валовой выемки\"\n            }, \n            {\n              \"number\": \"на -2%\", \n              \"text\": \"Время работы установки для бурения льда\"\n            }, \n            {\n              \"number\": \"на -2%\", \n              \"text\": \"от времени работы установок для сбора газа\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Буровые корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"无人机伤害和HP加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6%\", \n              \"text\": \"舰船护盾值加成\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"露天采矿器开采量\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"冰矿采集器运转周期\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"气云采集器运转周期\"\n            }\n          ], \n          \"header\": \"采矿驳船操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17480\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Belagerungsmodul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann eine Störlanze ausrüsten\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf Durchlaufzeit von Entosis-Netzwerk\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Schaden der Störlanze\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf maximale Reichweite der Störlanze\"\n            }\n          ], \n          \"header\": \"Lancer Dreadnoughts Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Capital-Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Durchlaufzeit von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf alle Rumpfresistenzen\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Can fit a Disruptive Lance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Disruptive Lance damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Disruptive Lance maximum range\"\n            }\n          ], \n          \"header\": \"Lancer Dreadnoughts bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Armor Repairer cycle time\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to all hull resistances\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar una lanza disruptiva.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la lanza disruptiva.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance máximo de la lanza disruptiva.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazados lancer (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de ciclo del reparador de blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a todas las resistencias de casco.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une lance disruptive\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de pénalité au temps de cycle de la liaison Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de dégâts de la lance disruptive\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus de portée maximum de la lance disruptive\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Supercuirassés lanciers :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir de la tourelle hybride capitale\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de cycle du réparateur de blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la résistance de toutes les coques\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Can fit a Disruptive Lance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Disruptive Lance damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Disruptive Lance maximum range\"\n            }\n          ], \n          \"header\": \"Lancer Dreadnoughts bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Armor Repairer cycle time\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to all hull resistances\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·妨害ランスを装着可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"妨害ランスのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"妨害ランスの最大射程にボーナス\"\n            }\n          ], \n          \"header\": \"ランサー攻城艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルハイブリッドタレットの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"アーマーリペアラのサイクル時間が減少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"全ての船体レジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·디스럽티브 랜스 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"디스럽티브 랜스 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"디스럽티브 랜스 최대사거리 증가\"\n            }\n          ], \n          \"header\": \"랜서 드레드노트 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"장갑수리 장치 사이클 시간 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"모든 선체 저항력 증가\"\n            }\n          ], \n          \"header\": \"갈란테 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Позволяет установить осадный модуль\"\n          }, \n          {\n            \"text\": \"·Можно оснастить копьелучевой установкой\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"штраф ко времени цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону копьелучевых установок\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к макс. дальности копьелучевых установок\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Lancer Dreadnoughts:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорострельности гибридных орудий КБТ\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшение времени цикла установки ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к общей сопротивляемости корпуса\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个干扰长枪\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接循环周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"干扰长枪伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"干扰长枪最大范围加成\"\n            }\n          ], \n          \"header\": \"枪骑兵级无畏舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装甲维修器循环时间减少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"船体抗性加成\"\n            }\n          ], \n          \"header\": \"盖伦特无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 77281\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von Torpedowerfern\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielaufschaltung nach der Deaktivierung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule, getarnte Anziehungsfeldgeneratoren und Bombenwerfer eingebaut werden.\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 15 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Flugdauer von Torpedos\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Torpedos\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Thermalschaden von Bomben\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den Thermalschaden von Torpedos\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"reduction in Torpedo Launcher powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Covert Cynosural Field Generator and Bomb Launcher\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Torpedo flight time\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to thermal Bomb damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to thermal Torpedo damage\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"de reducción de los requisitos de sistema de potencia del lanzatorpedos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural encubierto y un lanzabombas.\"\n          }, \n          {\n            \"text\": \"·Se reduce la demora de reactivación del camuflaje a 15 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al tiempo de vuelo de los torpedos.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la velocidad máxima de los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño térmico de las bombas.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al daño térmico de los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"de réduction du réseau d'alimentation requis par les lance-torpilles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation des dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut équiper des dispositifs de camouflage opérations secrètes, des générateurs de champ cynosural et des lance-bombes\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 15 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus au temps de vol des torpilles\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la vitesse maximale des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts thermiques des bombes\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux dégâts thermiques des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"reduction in Torpedo Launcher powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Covert Cynosural Field Generator and Bomb Launcher\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Torpedo flight time\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to thermal Bomb damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to thermal Torpedo damage\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"トルピードランチャーのパワーグリッド使用量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遮蔽装置のCPU使用量が減少\"\n          }, \n          {\n            \"text\": \"·遮蔽装置を停止した後のターゲット遅延なし\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置、潜伏用サイノシュラルフィールドジェネレータ、ボムランチャーを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が15秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"トルピードの飛行時間が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"トルピードの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ボムのサーマルダメージが増加\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"トルピードのサーマルダメージが増加\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"토피도 런처 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 코버트 사이노슈럴 필드 생성기 및 폭탄 런처 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 15초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"토피도 비행시간 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"토피도 최대속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"폭탄 열 피해량 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"토피도 열 피해량 증가\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 99.65%\", \n            \"text\": \"сокращается потребность торпедных аппаратов в мощности реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устранена задержка включения систем захвата целей, вызываемая отключением систем маскировки\"\n          }, \n          {\n            \"text\": \"·Возможна установка всережимной системы маскировки, приводного маяка скрытого действия и бомбометателя\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 15 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус ко времени полёта торпед\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"повышается скорость полного хода торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается поражающее действие термических БЧ бомб\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается поражающее действие термических БЧ торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"鱼雷发射器能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"隐形装置的CPU需求降低\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不遭受锁定延时副作用\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置、隐秘诱导力场发生器和炸弹发射器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到15秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"鱼雷飞行时间加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"鱼雷飞行速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"炸弹热能伤害加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"鱼雷热能伤害加成\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11377\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Assault Frigates Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas de asalto (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des petites tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d’assaut :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"強襲型フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"어썰트 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"突击护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11371\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Belagerungsmodul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann eine Störlanze ausrüsten\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf Durchlaufzeit von Entosis-Netzwerk\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Schaden der Störlanze\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf maximale Reichweite der Störlanze\"\n            }\n          ], \n          \"header\": \"Lancer Dreadnoughts Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von Capital-Hybridgeschützturm\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf optimale Reichweite von Capital-Hybridgeschützturm\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Can fit a Disruptive Lance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Disruptive Lance damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Disruptive Lance maximum range\"\n            }\n          ], \n          \"header\": \"Lancer Dreadnoughts bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Capital Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar una lanza disruptiva.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la lanza disruptiva.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance máximo de la lanza disruptiva.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazados lancer (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida capital.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida capital.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une lance disruptive\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de pénalité au temps de cycle de la liaison Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de dégâts de la lance disruptive\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus de portée maximum de la lance disruptive\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Supercuirassés lanciers :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus de vitesse de poursuite des tourelles hybrides capitales\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de portée optimale des tourelles hybrides capitales\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Can fit a Disruptive Lance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Disruptive Lance damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Disruptive Lance maximum range\"\n            }\n          ], \n          \"header\": \"Lancer Dreadnoughts bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Capital Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·妨害ランスを装着可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"妨害ランスのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"妨害ランスの最大射程にボーナス\"\n            }\n          ], \n          \"header\": \"ランサー攻城艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルハイブリッドタレットの追跡速度にボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"キャピタルハイブリッドタレットの最適射程距離にボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·디스럽티브 랜스 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"디스럽티브 랜스 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"디스럽티브 랜스 최대사거리 증가\"\n            }\n          ], \n          \"header\": \"랜서 드레드노트 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"캐피탈 하이브리드 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Позволяет установить осадный модуль\"\n          }, \n          {\n            \"text\": \"·Можно оснастить копьелучевой установкой\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"штраф ко времени цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону копьелучевых установок\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к макс. дальности копьелучевых установок\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Lancer Dreadnoughts:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорости наведения гибридных орудий КБТ\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к оптимальной дальности гибридных орудий КБТ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个干扰长枪\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接循环周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"干扰长枪伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"干扰长枪最大范围加成\"\n            }\n          ], \n          \"header\": \"枪骑兵级无畏舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"旗舰级混合炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"加达里无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 77284\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Diese Upwell-FLEX-Struktur ist immer mit einem eingebauten Dienstmodul Standup-Leitungsgenerator I ausgestattet.\"\n          }, \n          {\n            \"text\": \"·Wenn das Dienstmodul Standup-Leitungsgenerator I dieser Struktur online ist, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte Trefferpunkte für Schild und Panzerung sowie einen zusätzlichen Verstärkungszyklus.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·This Upwell FLEX structure is always equipped with a built in Standup Conduit Generator I service module.\"\n          }, \n          {\n            \"text\": \"·While this structure has its Standup Conduit Generator I service module online it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Esta estructura FLEX de Upwell siempre lleva integrado un módulo de servicio generador de conductos Standup I.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene el módulo de servicio generador de conductos Standup I conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cette structure FLEX d'Upwell est toujours équipée d'un module de service Générateur de conduit Standup I intégré.\"\n          }, \n          {\n            \"text\": \"·Lorsque le module de service Générateur de conduit Standup I de cette structure est fonctionnel, celle-ci entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage, ainsi que d'un cycle de renforcement de blindage additionnel.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·This Upwell FLEX structure is always equipped with a built in Standup Conduit Generator I service module.\"\n          }, \n          {\n            \"text\": \"·While this structure has its Standup Conduit Generator I service module online it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·アップウェルフレックスストラクチャは、ビルトインのサービスモジュールであるスタンドアップ導管ジェネレーターIを常に装備する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールであるスタンドアップ導管ジェネレーターIがオンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し、追加の強化サイクルを獲得する。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·해당 업웰 FLEX 구조물에는 스탠드업 전송장치 I 서비스 모듈이 기본적으로 장착되어 있습니다.\"\n          }, \n          {\n            \"text\": \"·스탠드업 전송장치가 온라인 상태일 때 구조물이 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 강화 시간 사이클이 1회 추가됩니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Это сооружение серии «БЛОК» консорциума «Апвелл» всегда оснащено встроенным проводниковым генератором I на базе «Стационар».\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть работающий проводниковый генератор I на базе «Стационар», оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления.\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·这个昇威快速部署建筑总是会装配一个屹立通道发生器 I服务装备。\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了屹立通道发生器 I服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 35841\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Diese Upwell-FLEX-Struktur ist immer mit einem eingebauten Dienstmodul Standup-Anziehungsfeldgenerator I ausgestattet.\"\n          }, \n          {\n            \"text\": \"·Wenn das Dienstmodul Standup-Anziehungsfeldgenerator I dieser Struktur online ist, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte Trefferpunkte für Schild und Panzerung sowie einen zusätzlichen Verstärkungszyklus\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·This Upwell FLEX structure is always equipped with a built in Standup Cynosural Field Generator I service module.\"\n          }, \n          {\n            \"text\": \"·While this structure has its Standup Cynosural Field Generator I service module online it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Esta estructura FLEX de Upwell siempre lleva integrado un módulo de servicio generador de campo cinosural Standup I.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene el módulo de servicio generador de campo cinosural Standup I conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cette structure FLEX d'Upwell est toujours équipée d'un module de service Générateur de champ cynosural Standup I intégré.\"\n          }, \n          {\n            \"text\": \"·Lorsque le module de service Générateur de champ cynosural Standup I de cette structure est fonctionnel, celle-ci entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage, ainsi que d'un cycle de renfort de blindage additionnel\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·This Upwell FLEX structure is always equipped with a built in Standup Cynosural Field Generator I service module.\"\n          }, \n          {\n            \"text\": \"·While this structure has its Standup Cynosural Field Generator I service module online it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·アップウェルフレックスストラクチャが、ビルトインのスタンドアップサイノシュラルフィールドジェネレーターIサービスモジュールを常に装備する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャのスタンドアップサイノシュラルフィールドジェネレーターIサービスモジュールがオンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·해당 업웰 FLEX 구조물에는 스탠드업 사이노슈럴 필드 생성기 I 서비스 모듈이 기본적으로 장착되어 있습니다.\"\n          }, \n          {\n            \"text\": \"·스탠드업 사이노슈럴 필드 생성기 I이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Это сооружение серии «БЛОК» консорциума «Апвелл» всегда оснащено встроенным приводным маяком I на базе «Стационар».\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть работающий приводной маяк I на базе «Стационар», оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления.\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·这个昇威快速部署建筑总是会装配一个屹立诱导力场发生器 I服务装备。\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了屹立诱导力场发生器 I服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 35840\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"Bonus auf die Mikrowarpantriebgeschwindigkeit von Drohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"bonus to Drone microwarp velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"de bonificación a la velocidad de microwarp de los drones.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"de bonus à la vitesse de microwarp des drones\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux PV des drones\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"bonus to Drone microwarp velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"ドローンのマイクロワープ速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"드론 마이크로 워프 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 12.5%\", \n            \"text\": \"повышается скорость полного хода дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"无人机最大速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 24700\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta de proyectiles mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale et à la perte de la tourelle à projectiles intermédiaire\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型プロジェクタイルタレットの最適射程距離および精度低下範囲が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型プロジェクタイルタレットの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 발사체 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 연사속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность ведения огня из средних баллистических орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型射弹炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台射速加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 24702\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen schweren Lenkwaffen-, Marschflugkörper- und Torpedo-Werfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles pesados, los lanzamisiles de crucero y los lanzatorpedos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles lourds, lance-missiles de croisière et lance-torpilles rapides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ヘビーミサイル・クルーズミサイル・トルピードランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルとトルピードの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 헤비 미사일, 크루즈 미사일, 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность торпедных аппаратов, ПУ дальнобойных ракет, скорострельных ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型快速导弹、巡航导弹和鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷最大飞行速度加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 26840\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des grandes tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus de dégâts des grandes tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 26842\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Panzerungs-Fernreparatursystemen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf maximalen Schadensmultiplikatorbonus von schweren entropischen Desintegratoren\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die maximale Reichweite der schweren entropischen Desintegratoren\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden durch schwere entropische Desintegratoren\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Nachführgeschwindigkeit von schweren entropischen Desintegratoren\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator maximum damage multiplier bonus\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator maximum range\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator tracking speed\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al multiplicador de daño máximo del desintegrador entrópico pesado.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance máximo del desintegrador entrópico pesado.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño del desintegrador entrópico pesado.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo del desintegrador entrópico pesado.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero precursor (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus au bonus de multiplication des dégâts maximum du désintégrateur entropique lourd\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée maximale du désintégrateur entropique lourd\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts du désintégrateur entropique lourd\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse de poursuite du désintégrateur entropique lourd\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de précursion :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator maximum damage multiplier bonus\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator maximum range\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator tracking speed\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遠隔アーマーリペアラキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの有効範囲が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ヘビーエントロピックディスインテグレーターの最大ダメージ乗数上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビーエントロピックディスインテグレーターの最大射程距離が増加\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーエントロピックディスインテグレーターのダメージ上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーエントロピックディスインテグレーターの追跡速度上昇\"\n            }\n          ], \n          \"header\": \"プリカーサー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"헤비 엔트로픽 분열기 최대 데미지 배율 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 엔트로픽 분열기 최대사거리 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 엔트로픽 분열기 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 엔트로픽 분열기 트래킹 스피드 증가\"\n            }\n          ], \n          \"header\": \"프리커서 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности дистанционного ремонта брони\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к максимальному увеличению множителя урона от тяжёлых энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к макс. дальности действия тяжёлых энтропических дезинтеграторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону от тяжёлых энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорости наведения тяжёлых энтропических дезинтеграторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Cruiser:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器距离加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"重型熵能分解者最大伤害系数额外加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型熵能分解者最大射程加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型熵能分解者伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"重型熵能分解者跟踪速度加成\"\n            }\n          ], \n          \"header\": \"先驱者巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 52252\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Erhöhung des Signaturradius durch Mikrowarpantrieb\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Panzerungs-Fernreparatursystemen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die maximale Reichweite der leichten entropischen Desintegratoren\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf maximalen Schadensmultiplikatorbonus von leichten entropischen Desintegratoren\"\n            }\n          ], \n          \"header\": \"Assault Frigates Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden durch leichte entropische Desintegratoren\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Precursor Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Light Entropic Disintegrator maximum range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Light Entropic Disintegrator maximum damage multiplier bonus\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Precursor Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación alcance máximo del desintegrador entrópico ligero.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al multiplicador de daño máximo del desintegrador entrópico ligero.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas de asalto (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño del desintegrador entrópico ligero.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata precursora (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la pénalité du rayon de signature du micropropulseur de warp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée maximale du désintégrateur entropique léger\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus au bonus de multiplication des dégâts maximum du désintégrateur entropique léger\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d’assaut :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts du désintégrateur entropique léger\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate de précursion :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Light Entropic Disintegrator maximum range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Light Entropic Disintegrator maximum damage multiplier bonus\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Precursor Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが減少\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遠隔アーマーリペアラキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの有効範囲が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ライトエントロピックディスインテグレーターの最大射程距離増大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ライトエントロピックディスインテグレーターの最大ダメージ乗数上昇\"\n            }\n          ], \n          \"header\": \"強襲型フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトエントロピックディスインテグレーターのダメージ上昇\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"プリカーサーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"라이트 엔트로픽 분열기 최대사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"라이트 엔트로픽 분열기 최대 데미지 배율 증가\"\n            }\n          ], \n          \"header\": \"어썰트 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 엔트로픽 분열기 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 보너스\"\n            }\n          ], \n          \"header\": \"프리커서 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшение влияния микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности дистанционного ремонта брони\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к макс. дальности действия лёгких энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к максимальному увеличению множителя урона от лёгких энтропических дезинтеграторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону от лёгких энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к сопротивляемости брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Frigate:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚减少\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器距离加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"轻型熵能分解者最大射程加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"轻型熵能分解者最大伤害系数额外加成\"\n            }\n          ], \n          \"header\": \"突击护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型熵能分解者伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"先驱者护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 52250\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahlen-Modul verwenden\"\n          }, \n          {\n            \"text\": \"·Kann Mikrosprungfeldgeneratoren ausrüsten\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Reaktivierungsverzögerung von Abfangraketenwerfern\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des Stromnetzbedarfs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Erhöhung des Signaturradius durch Mikrowarpantrieb\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"Bonus auf die optimale Reichweite von leichten entropischen Desintegratoren\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden durch leichte entropische Desintegratoren\"\n            }\n          ], \n          \"header\": \"Precursor Destroyer Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Gefechts- und Informationskommandostrahlen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Hochfahrzeit von Mikrosprungfeldgeneratoren\"\n            }\n          ], \n          \"header\": \"Command Destroyers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in reactivation delay for Defender Launcher\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid requirements for Command Bursts\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Light Entropic Disintegrator optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Light Entropic Disintegrator damage\"\n            }\n          ], \n          \"header\": \"Precursor Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Skirmish Command and Information Command Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar generadores de campo de microsalto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la demora de reactivación de los lanzamisiles defensivos.\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia para los estallidos de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonificación al alcance óptimo del desintegrador entrópico ligero.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño del desintegrador entrópico ligero.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor precursor (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto del estallido de mando de escaramuza y mando de información.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de carga del generador de campo de microsalto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructores de mando (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser un module de salve de commandement\"\n          }, \n          {\n            \"text\": \"·Peut être équipé de générateurs de champ de microsaut\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du délai de réactivation du lanceur antibalistique\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction des besoins en réseau d'alimentation pour les salves de commandement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la pénalité du rayon de signature du micropropulseur de warp\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonus à la portée optimale du désintégrateur entropique léger\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts du désintégrateur entropique léger\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer de précursion :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et la durée des effets d'une salve de commande de guérilla et informative\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps d'accélération du générateur de champ de microsaut\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyers de commandement :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in reactivation delay for Defender Launcher\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid requirements for Command Bursts\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Light Entropic Disintegrator optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Light Entropic Disintegrator damage\"\n            }\n          ], \n          \"header\": \"Precursor Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Skirmish Command and Information Command Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールが1個使える\"\n          }, \n          {\n            \"text\": \"·超小型ジャンプフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ディフェンダーランチャーの再起動時間が減少\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"コマンドバーストのパワーグリッド要件を軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの有効範囲が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遠隔アーマーリペアラキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"ライトエントロピックディスインテグレーターの最適射程距離増大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ライトエントロピックディスインテグレーターのダメージ上昇\"\n            }\n          ], \n          \"header\": \"プリカーサー駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"高機動戦コマンド、情報戦コマンドのバーストの効果と持続時間が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"超小型ジャンプフィールドジェネレーターのスプールアップタイムを短縮\"\n            }\n          ], \n          \"header\": \"指揮型駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용가능\"\n          }, \n          {\n            \"text\": \"·마이크로 점프 필드 생성기들을 장착할 수 있음\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"디펜더 런처 사이클 감소\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"커맨드 버스트 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"라이트 엔트로픽 분열기 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"라이트 엔트로픽 분열기 피해량 증가\"\n            }\n          ], \n          \"header\": \"프리커서 디스트로이어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"스커미시 버스트 및 정보전 버스트 효과 강화 및 지속시간 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"마이크로 점프 필드 생성기 예열 시간 감소\"\n            }\n          ], \n          \"header\": \"커맨드 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Может использовать один модуль импульсного оптимизатора\"\n          }, \n          {\n            \"text\": \"·Позволяет установить генераторы разгонного поля\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшение задержки перед повторной активацией запуска противоракет\"\n          }, \n          {\n            \"number\": \"на 95%\", \n            \"text\": \"уменьшение требовательности энергосистем для импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшение влияния микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для импульсного излучателя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 30%\", \n              \"text\": \"бонус к оптимальной дальности лёгких энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к урону от лёгких энтропических дезинтеграторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Destroyer:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 2%\", \n              \"text\": \"бонус к повышению эффективности и к продолжительности импульсов командования маневрирования и РЭБ\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшение времени раскрутки генератора разгонного поля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Лидеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波\"\n          }, \n          {\n            \"text\": \"·可以装配微型跳跃力场发生器\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"缩短拦截导弹发射器的重启延时\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"指挥脉冲波能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚减少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器距离加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"轻型熵能分解者最佳射程加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"轻型熵能分解者伤害加成\"\n            }\n          ], \n          \"header\": \"先驱者驱逐舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"游击战指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"微型跳跃力场发生器加速时间减少\"\n            }\n          ], \n          \"header\": \"指挥驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 52254\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Schildkapazität\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die ECM-Reichweite\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Bergbaugeschwindigkeit\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to shield capacity\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ECM range\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la capacidad de los escudos.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al alcance de las contramedidas electrónicas.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la velocidad de extracción minera.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus à la capacité du bouclier\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus à la portée CME\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus à la vitesse d'extraction minière\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to shield capacity\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ECM range\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"シールド容量にボーナス\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"ECM射程にボーナス\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"採掘速度にボーナス\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"실드량 보너스\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"ECM 사거리 증가\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"채굴 속도 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к запасу прочности щитов\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к дальности МЭП\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к скорости бурения\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"护盾值加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"ECM范围加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"采矿速度加成\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 54332\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Panzerung\"\n          }, \n          {\n            \"number\": \"1+\", \n            \"text\": \"Bonus auf Warp-Störungsstärke\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Bergbaugeschwindigkeit\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to armor\"\n          }, \n          {\n            \"number\": \"1+\", \n            \"text\": \"bonus to warp scramble strength\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al blindaje.\"\n          }, \n          {\n            \"number\": \"1+\", \n            \"text\": \"de bonificación a la intensidad de distorsión de warp.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la velocidad de extracción minera.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus au blindage\"\n          }, \n          {\n            \"number\": \"1+\", \n            \"text\": \"bonus à la puissance de l'inhibition de warp\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus à la vitesse d'extraction minière\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to armor\"\n          }, \n          {\n            \"number\": \"1+\", \n            \"text\": \"bonus to warp scramble strength\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"アーマーにボーナス\"\n          }, \n          {\n            \"number\": \"1+\", \n            \"text\": \"ワープスクランブル強度にボーナス\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"採掘速度にボーナス\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"장갑량 증가\"\n          }, \n          {\n            \"number\": \"1+\", \n            \"text\": \"워프 스크램블 강도 증가\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"채굴 속도 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к броне\"\n          }, \n          {\n            \"number\": \"на 1+\", \n            \"text\": \"бонус к мощности глушения варп-двигателей\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к скорости бурения\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"装甲值加成\"\n          }, \n          {\n            \"number\": \"1+\", \n            \"text\": \"跃迁扰频强度加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"采矿速度加成\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 54333\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Panzerung\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf Energiespeicherentleerung durch Energiekriegsführung\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Bergbaugeschwindigkeit\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to armor\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to energy warfare capacitor drain\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al blindaje.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al drenaje del condensador de la guerra de energía.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la velocidad de extracción minera.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus au blindage\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus au drainage du capaciteur de guerre d'énergie\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus à la vitesse d'extraction minière\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to armor\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to energy warfare capacitor drain\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"アーマーにボーナス\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"エネルギー戦キャパシタ吸収にボーナス\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"採掘速度にボーナス\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"장갑량 증가\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"캐패시터 흡수량 증가\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"채굴 속도 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к броне\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к объёму поглощённой энергии накопителя\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к скорости бурения\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"装甲值加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"能量战电容吸取加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"采矿速度加成\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 54330\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Schildkapazität\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Stärke von Stasisnetzen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Bergbaugeschwindigkeit\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to shield capacity\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to stasis webifier strength\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la capacidad de los escudos.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la intensidad de la red ralentizadora.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la velocidad de extracción minera.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus à la capacité du bouclier\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus à la puissance des générateurs de stase\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus à la vitesse d'extraction minière\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to shield capacity\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to stasis webifier strength\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"シールド容量にボーナス\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"ステイシスウェビファイヤーの強度にボーナス\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"採掘速度にボーナス\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"실드량 보너스\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"스테이시스 웹 강도 증가\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"채굴 속도 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к запасу прочности щитов\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к эффективности стазис-индуктора\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к скорости бурения\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"护盾值加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"停滞缠绕光束强度加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"采矿速度加成\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 54331\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"Abzug auf die Scanauflösung\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Abzug auf die Zielerfassungsreichweite\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Abzug auf die Sensorstärke\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Wurmlochverbindungen erscheinen in diesem System\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"penalty to scan resolution\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"penalty to targeting range\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"penalty to sensor strength\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to warp speed\"\n          }, \n          {\n            \"text\": \"·Additional wormhole connections appear within this system\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de penalización a la resolución de escaneo.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de penalización a la distancia-objetivo.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de penalización a la intensidad de los sensores\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la velocidad de warp.\"\n          }, \n          {\n            \"text\": \"·Aparecen conexiones adicionales de agujeros de gusano en este sistema\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"penalty to scan resolution\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"penalty to targeting range\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"penalty to sensor strength\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to warp speed\"\n          }, \n          {\n            \"text\": \"·Additional wormhole connections appear within this system\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"penalty to scan resolution\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"penalty to targeting range\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"penalty to sensor strength\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to warp speed\"\n          }, \n          {\n            \"text\": \"·Additional wormhole connections appear within this system\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"スキャン分解能にペナルティ\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"ターゲット範囲にペナルティ\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"センサー強度にペナルティ\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"ワープ速度が上昇\"\n          }, \n          {\n            \"text\": \"·本システム内に追加のワームホールが出現します\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"스캔 정밀도 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"타겟팅 거리 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"센서 강도 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"워프 속도 증가\"\n          }, \n          {\n            \"text\": \"·성계에서 새로운 웜홀 연결이 발견되었습니다\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 20%\", \n            \"text\": \"штраф к разрешающей способности сенсоров\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"штраф к дальности наведения\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"штраф к мощности сенсоров\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к скорости хода в варп-режиме\"\n          }, \n          {\n            \"text\": \"·В этой системе образуются новые червоточины\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"扫描分辨率惩罚\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"锁定范围惩罚\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"感应强度惩罚\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"跃迁速度加成\"\n          }, \n          {\n            \"text\": \"·这个星系中出现了额外的虫洞连接\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 74002\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Belagerungsmodul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann sich im Belagerungsmodus mit 10 % der normalen Schiffsgeschwindigkeit bewegen\"\n          }, \n          {\n            \"text\": \"·Kann einen Capital-Mikrosprungantrieb ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann im Belagerungsmodus Capital-Mikrosprungantrieb aktivieren\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf den Schaden von Capital-Projektilwaffentürmen\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf Durchlaufzeit von Entosis-Netzwerk\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von Capital-Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Can move at 10% normal ship velocity while in siege mode\"\n          }, \n          {\n            \"text\": \"·Can fit a Capital Micro Jump Drive\"\n          }, \n          {\n            \"text\": \"·Can activate Capital Micro Jump Drive while in siege mode\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Capital Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Capital Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"text\": \"·Es posible moverse a un 10 % de la velocidad de la nave normal en modo asedio.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un motor de microsalto capital.\"\n          }, \n          {\n            \"text\": \"·Es posible activar un motor de microsalto capital en modo asedio.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles capital.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles capital.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles capital.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"text\": \"·Peut se déplacer à 10 % de la vitesse normale du vaisseau en mode siège\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un propulseur de microsaut capital\"\n          }, \n          {\n            \"text\": \"·Peut activer le propulseur de microsaut capital en mode siège\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus aux dégâts des tourelles à projectiles capitales\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de pénalité au temps de cycle de la liaison Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles capitales\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la déperdition des tourelles à projectiles capitales\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Can move at 10% normal ship velocity while in siege mode\"\n          }, \n          {\n            \"text\": \"·Can fit a Capital Micro Jump Drive\"\n          }, \n          {\n            \"text\": \"·Can activate Capital Micro Jump Drive while in siege mode\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Capital Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Capital Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·シージモード中でも通常の10%の航行速度で移動可能\"\n          }, \n          {\n            \"text\": \"·キャピタルマイクロジャンプドライブを装備可能\"\n          }, \n          {\n            \"text\": \"·シージモード中にキャピタルマイクロジャンプドライブを起動可能\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"キャピタルプロジェクタイルタレットのダメージにボーナス\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"キャピタルプロジェクタイルタレットのダメージにボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター攻城艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"キャピタルプロジェクタイルタレットの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·시즈 모드 상태에서 함선 속도의 10%로 이동 가능\"\n          }, \n          {\n            \"text\": \"·캐피탈 마이크로 점프 드라이브 장착 가능\"\n          }, \n          {\n            \"text\": \"·시즈 모드 상태에서 캐피탈 마이크로 점프 드라이브 사용 가능\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"캐피탈 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"캐피탈 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 드레드노트 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"캐피탈 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Позволяет установить осадный модуль\"\n          }, \n          {\n            \"text\": \"·Сохраняет 10% от стандартной скорости в осадном режиме\"\n          }, \n          {\n            \"text\": \"·Позволяет установить маневровый гипердвигатель КБТ\"\n          }, \n          {\n            \"text\": \"·Позволяет использовать маневровый гипердвигатель КБТ в осадном режиме\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к урону баллистических орудий КБТ\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"штраф ко времени цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону баллистических орудий КБТ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские дредноуты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к остаточной дальности баллистических орудий КБТ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"text\": \"·在会战模式下，可以10%的常规舰船速度行动\"\n          }, \n          {\n            \"text\": \"·可以装配旗舰级微型跳跃引擎\"\n          }, \n          {\n            \"text\": \"·在会战模式下，可以激活旗舰级微型跳跃引擎\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"旗舰级射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接循环周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"旗舰级射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔无畏舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"旗舰级射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 87381\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Schildfernboostern\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Stromnetzbedarfs von Energiespeicher-Ferntransmittern\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"Reduktion des Hitzeschadens an Modulen\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Schildfernboostern und Energiespeicher-Ferntransmittern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die HP der Schilderweiterung\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"160%\", \n              \"text\": \"Bonus auf die Reichweite von Energiespeicher-Ferntransmittern\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n            }, \n            {\n              \"number\": \"62%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Schildfernboostern\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Shield Booster CPU requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Capacitor Transmitter powergrid requirement\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"reduction in module heat damage amount taken\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17%\", \n              \"text\": \"reduction in Remote Shield Booster and Remote Capacitor Transmitter activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Extender hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"160%\", \n              \"text\": \"bonus to Remote Capacitor Transmitter range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"62%\", \n              \"text\": \"bonus to Remote Shield Booster optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de los requisitos de CPU del potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"de reducción de la cantidad de daño por calor del módulo.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17%\", \n              \"text\": \"de reducción del coste de activación del potenciador de escudo remoto y el transmisor de condensador remoto.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros logísticos (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"160%\", \n              \"text\": \"de bonificación al alcance del transmisor de condensador remoto.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad de transferencia de los drones logísticos.\"\n            }, \n            {\n              \"number\": \"62%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo del potenciador de escudo remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction au CPU requis par les boosters de bouclier à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction au réseau d'alimentation requis par les transmetteurs de capaciteur à distance\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"de réduction aux dégâts de chaleur subis par un module\"\n          }, \n          {\n            \"text\": \"·Peut équiper des dispositifs de camouflage opérations spéciales et des générateurs de champ cynosural furtif\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17%\", \n              \"text\": \"de bonus au coût d'activation des boosters de bouclier à distance et des transmetteurs de capaciteur à distance\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs logistiques :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"160%\", \n              \"text\": \"de bonus à la portée du transmetteur de capaciteur à distance\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité de transfert du drone logistique\"\n            }, \n            {\n              \"number\": \"62%\", \n              \"text\": \"de bonus à la portée optimale et à la perte dubooster de bouclier à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Shield Booster CPU requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Capacitor Transmitter powergrid requirement\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"reduction in module heat damage amount taken\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17%\", \n              \"text\": \"reduction in Remote Shield Booster and Remote Capacitor Transmitter activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Extender hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"160%\", \n              \"text\": \"bonus to Remote Capacitor Transmitter range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"62%\", \n              \"text\": \"bonus to Remote Shield Booster optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートシールドブースターのCPU使用量が軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートキャパシタトランスミッターのパワーグリッド使用量が軽減\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"モジュールが受けるヒートダメージ量が軽減\"\n          }, \n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17%\", \n              \"text\": \"リモートシールドブースターとリモートキャパシタトランスミッター の起動コストが減少\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドエクステンダーHPが増加\"\n            }\n          ], \n          \"header\": \"支援型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"160%\", \n              \"text\": \"リモートキャパシタトランスミッターの範囲が拡大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"支援型ドローンの転送量が向上\"\n            }, \n            {\n              \"number\": \"62%\", \n              \"text\": \"リモートシールドブースターの最適射程距離および精度低下範囲が改善\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 실드 부스터 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 캐패시터 전송기 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"모듈이 받는 열 피해 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17%\", \n              \"text\": \"원격 실드 부스터 및 원격 캐패시터 전송기 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 확장장치 실드량 증가\"\n            }\n          ], \n          \"header\": \"로지스틱스 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"160%\", \n              \"text\": \"원격 캐패시터 전송기 사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"로지스틱스 드론 수리량 증가\"\n            }, \n            {\n              \"number\": \"62%\", \n              \"text\": \"원격 실드 부스터 최적사거리 및 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность установок дистанционной накачки щитов в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность установок дистанционного энергоснабжения в мощности реактора\"\n          }, \n          {\n            \"number\": \"на 40%\", \n            \"text\": \"уменьшается объём температурных повреждений модулей, получаемых ими при перегрузке\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 17%\", \n              \"text\": \"сокращается потребление энергии установками дистанционной накачки щитов и установками дистанционного энергоснабжения\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к прочности расширителя щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли обеспечения:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 160%\", \n              \"text\": \"увеличивается дальность действия установок дистанционного энергоснабжения\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается производительность ремонтных дронов\"\n            }, \n            {\n              \"number\": \"на 62%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность действия установок дистанционной накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"远程护盾回充增量器CPU需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程电容传输装置能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"减少装备遭受的超载损伤\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17%\", \n              \"text\": \"远程护盾回充增量器和远程电容传输装置启动消耗减少\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾扩展装置护盾值加成\"\n            }\n          ], \n          \"header\": \"后勤巡洋舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"160%\", \n              \"text\": \"远程电容传输装置距离加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"后勤无人机传输量加成\"\n            }, \n            {\n              \"number\": \"62%\", \n              \"text\": \"远程护盾回充增量器最佳射程和失准范围加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32790\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen, schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des missiles légers, missiles lourds et missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일, 헤비 미사일 및 헤비 어썰트 미사일 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорострельность средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон БЧ лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 29336\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP der Panzerung des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship armor hitpoints\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida del blindaje de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus aux dégâts des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux PV du blindage du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship armor hitpoints\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"中型エネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のアーマーヒットポイントが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑 내구도 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается урон средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается запас прочности брони корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船装甲值加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 29337\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"réduction du coût d'activation de la tourelle à énergie intermédiaire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la cadence de tir de la tourelle à énergie intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型エネルギータレットの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 에너지 터렛 연사속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型能量炮台射速加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33641\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Belagerungsmodul eingebaut werden\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von XL-Marschflugkörpern, XL-Torpedos und Torpedos\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Nachladezeit von Lenkwaffenwerfern\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to XL Cruise, XL Torpedo and Torpedo damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Missile Launcher reload time\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de cruceros XL, torpedos XL y torpedos.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del tiempo de recarga de los lanzamisiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"pénalité applicable au temps de cycle de l'interface Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des missiles de croisière XL, des torpilles XL et des torpilles\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du temps de rechargement des lance-missiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to XL Cruise, XL Torpedo and Torpedo damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Missile Launcher reload time\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"XLクルーズ、XLトルピード、トルピードのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルランチャーのリロード時間減少\"\n            }\n          ], \n          \"header\": \"カルダリ攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"XL 크루즈 미사일, XL 토피도, 토피도 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 런처 재장전 시간 감소\"\n            }\n          ], \n          \"header\": \"칼다리 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами осадного профиля\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон БЧ сверхбольших дальнобойных ракет, сверхбольших торпед и торпед\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращение времени перезарядки ракетной установки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"超大型巡航导弹、超大型鱼雷和鱼雷伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"导弹发射器重新装填时间缩短\"\n            }\n          ], \n          \"header\": \"加达里无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 19726\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von leichten Lenkwaffen, schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, lanzamisiles pesados y lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la cadence de tir du lance-missiles léger, lance-missiles lourd et du lance-missiles d'assaut lourds rapides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la vitesse maximale du missile léger, missile lourd et du missile d'assaut lourd\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일, 헤비 미사일 및 헤비 어썰트 미사일 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹最大速度加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33643\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts de la grande tourelle hybride\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la capacité du réparateur de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33637\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von leichten Lenkwaffen, schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, lanzamisiles pesados y lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la cadence de tir du lance-missiles léger, lance-missiles lourd et du lance-missiles d'assaut lourds rapides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la vitesse maximale du missile léger, missile lourd et du missile d'assaut lourd\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일, 헤비 미사일 및 헤비 어썰트 미사일 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹最大速度加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33645\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la cadence de tir de la tourelle à projectiles intermédiaire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la déperdition de la tourelle à projectiles intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33647\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la cadence de tir de la tourelle à projectiles intermédiaire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la déperdition de la tourelle à projectiles intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33649\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduzierte effektiv zurückgelegte Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Immun gegen Unterbrechungsfeldwerfer, Warpstörfeldgeneratoren und mobile kleine , mittelgroße und große Warpstörer\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Inmune al lanzaesferas de interdicción, al generador de campo disruptor de warp y al disruptor de warp móvil pequeño, mediano y grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·Immunité contre les lanceurs de sphère d'interdiction, générateurs de champ perturbateur de warp et perturbateurs de warp mobiles légers, intermédiaires et grands perturbateurs de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·インターディクションスフィアランチャー、ワープ妨害フィールドジェネレーター、小型、中型、大型移動式ワープ妨害器の影響を受けない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·인터딕션 런처, 워프 디스럽션 필드 생성기, 이동식 소형/중형/대형 워프 디스럽터에 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию систем запуска заградительных сфер, бортовых варп-заградителей, а также полевых варп-заградителей малой, средней и большой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·对拦截泡发射器、跃迁扰断力场发生器与小型、中型及大型机动跃迁扰断器免疫\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 30842\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von kleinen Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir de la petite tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la déperdition de la petite tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型実体弾タレットの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"Бонус к циклу выстрела малых баллистических турелей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 587\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Stärke von ECM-Zielstörsender-Modulen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von ECM-Zielstörsender-Modulen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in ECM Target Jammer activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la intensidad del perturbador ECM de objetivo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del perturbador ECM de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la force des brouilleurs de cible CME\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des brouilleurs de cible CME\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in ECM Target Jammer activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECMターゲットジャマーの強度が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECMターゲットジャマーの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECM 타겟 재머 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM 타겟 재머 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается выходная мощность модулей глушения захвата целей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии модулями глушения захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECM目标干扰器强度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM目标干扰器启动消耗减少\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 584\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblockern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍시스템 활성화 비용 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗减少\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 585\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Schildfernboostern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Leistung von Schildfernboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Schildfernboostern\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Remote Shield Booster falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonificación al alcance efectivo del potenciador de escudo remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo remotos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del potenciador de escudo remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonus à la perte du booster de bouclier à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au montant des boosters de bouclier à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des boosters de bouclier à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Remote Shield Booster falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"リモートシールドブースターの精度低下範囲が改善\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートシールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートシールドブースターの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"원격 실드 부스터 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 실드 부스터 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 300%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционной накачки щитов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок дистанционной накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии установками дистанционной накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"远程护盾回充增量器失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"远程护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程护盾回充增量器启动消耗减少\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 582\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblockern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetikschaden von leichten Lenkwaffen und Raketen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic Light Missile and Rocket damage\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético de los misiles ligeros y los cohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles légers et des roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic Light Missile and Rocket damage\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイルとロケットのキネティックダメージが増加\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍 시스템 활성화 비용 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"키네틱 라이트 미사일과 로켓 피해량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон кинетических БЧ лёгких ракет и лёгких штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗减少\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭动能伤害加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 583\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die HP von Schilden\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Reduktion der Wiederaufladezeit des Energiespeichers\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf alle Panzerungsresistenzen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Erhöhung des Signaturradius von Schiffen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to shield hitpoints\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"reduction in capacitor recharge time\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Energy Nosferatu and Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to armor resistances\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"increase in ship signature radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a los puntos de vida de los escudos.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de reducción del tiempo de carga del condensador.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la cantidad drenada por el neutralizador y el nosferatu de energía.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización a las resistencias de blindaje.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de aumento del radio de la señal de la nave.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus aux points de vie du bouclier\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de réduction au temps de recharge du capaciteur\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus au volume d'énergie drainée par les Nosferatu à énergie et les neutraliseurs d'énergie\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité aux résistances de blindage\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"d'augmentation du rayon de signature du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to shield hitpoints\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"reduction in capacitor recharge time\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Energy Nosferatu and Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to armor resistances\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"increase in ship signature radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"シールドHPが増加\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"キャパシタのリチャージ時間が短縮\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"エネルギーノスフェラトゥとニュートラライザーの吸収量が増加\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"アーマーレジスタンスにペナルティ\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"艦船のシグネチャ半径が拡大\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"실드량 증가\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"캐패시터 충전시간 감소\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"에너지 노스페라투 및 뉴트럴라이저 흡수량 보너스\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"장갑 저항력 페널티\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"함선 시그니처 반경 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к запасу прочности щитов\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"уменьшение времени перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к эффективности энергопоглощения и энергонейтрализатора\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к сопротивляемости брони\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"увеличение размера сигнатуры корабля\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"护盾值加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"电容回充速度加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"掠能器和能量中和器吸取量加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"装甲抗性惩罚\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"舰船信号半径提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30844\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die maximale Zielerfassungsreichweite\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Lenkwaffen und Vorton-Projektoren\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf die Wendigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf die Stärke von Stasisnetzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to ship velocity\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to maximum targeting range\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to missile and vorton projector explosion velocity\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to ship agility\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to stasis webifier strength\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la velocidad de la nave.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la distancia-objetivo máxima.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la velocidad de explosión de los misiles y los proyectores vortónicos.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización a la agilidad de la nave.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización a la intensidad de la red ralentizadora.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la vitesse du vaisseau\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la portée de ciblage maximum\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de bonus à la vitesse des missiles\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la vitesse d'explosion des missiles et des projecteurs de vortons\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité à la maniabilité du vaisseau\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité à la puissance des générateurs de stase\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to ship velocity\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to maximum targeting range\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to missile and vorton projector explosion velocity\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to ship agility\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to stasis webifier strength\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"艦船の速度が上昇\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"最大ターゲット範囲が拡大\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"ミサイルの速度が上昇\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ミサイルとヴォートンプロジェクターの爆発速度が上昇\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"艦船の機動性にペナルティ\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"ステイシスウェビファイヤーの強度にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"함선 속도 보너스\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"최대 타겟팅 거리 보너스\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"미사일 속도 보너스\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"미사일 및 보르톤 프로젝터 폭발속도 증가\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"기동성 페널티\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"스테이시스 웹 생성기 강도 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к скорости корабля\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к максимальной дальности наведения\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"бонус к скорости полёта ракет\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к скорости распространения взрыва для ракет и вортонных проекторов\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к манёвренности корабля\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к эффективности стазис-индуктора\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"舰船速度加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"最大锁定距离加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"导弹飞行速度加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"导弹和电弧弦投射器爆炸速度加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"舰船灵活性惩罚\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"停滞缠绕光束强度惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30845\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Belagerungsmodule eingebaut werden\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Capital-Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Siege modules\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Capital Energy Turret activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía capital.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía capital.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser des modules de siège\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles à énergie capitales\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des tourelles à énergie capitales\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Siege modules\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Capital Energy Turret activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを装備できる\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルエネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"キャピタルエネルギータレットの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"アマー攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"캐피탈 에너지 터렛 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"아마르 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами осадного профиля\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон сверхбольших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из сверхбольших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"旗舰级能量炮台启动消耗减少\"\n            }\n          ], \n          \"header\": \"艾玛无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34345\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Belagerungsmodul eingebaut werden\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Capital-Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Zykluszeit von Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Shield Booster cycle time\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al tiempo de ciclo del potenciador de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"pénalité applicable au temps de cycle de l'interface Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles capitales\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles à projectiles capitales\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de cycle des boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Shield Booster cycle time\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルプロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルプロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"シールドブースターのサイクル時間にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"실드 부스터 사이클 시간 감소\"\n            }\n          ], \n          \"header\": \"민마타 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами осадного профиля\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов сверхбольших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность сверхбольших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"护盾回充增量器运转周期加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 19722\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf den Nutzen der Überlastung von Modulen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf Schaden und Reichweite von Smartbombs\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf den Schaden von Bomben\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"erhöhter Hitzeschaden durch Überlastung von Modulen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to the benefits of overloading modules\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to smartbomb damage and range\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to bomb damage\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"increased heat damage from overloading modules\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a los beneficios de sobrecargar los módulos.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación al daño y alcance de las bombas inteligentes.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación al daño de las bombas.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de aumento del daño por calor al sobrecargar los módulos.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus aux avantages de la surcharge des modules\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus aux dégâts et à la portée des bombes de proximité\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus aux dégâts des bombes\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"d'augmentation des dégâts thermiques provoqués par la surcharge des modules\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to the benefits of overloading modules\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to smartbomb damage and range\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to bomb damage\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"increased heat damage from overloading modules\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"オーバーヒートしたモジュールの恩恵が増加\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"スマートボムのダメージおよび射程距離が増加\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ボムのダメージが増加\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"オーバーロードしたモジュールの熱ダメージが増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"과부하 효과 보너스\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"스마트폭탄 피해량 및 사거리 보너스\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"폭탄 피해량 보너스\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"모듈 과부하 피해 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к преимуществам от перегрузки модулей\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к урону и дальности импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к урону от бомб\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"увеличение теплового урона от перегрузки модулей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"装备过载效果加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"立体炸弹伤害和范围加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"炸弹伤害加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"装备过载损伤提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30848\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Waffen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die HP der Panzerung\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Reduktion des Signaturradius von Schiffen\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf alle Schildresistenzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to small weapon damage\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to armor hitpoints\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to shield resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación al daño de las armas de pequeño calibre.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a los puntos de vida del blindaje.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de reducción del radio de la señal de la nave.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización a las resistencias de escudo.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus aux dégâts de petites armes\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus aux points de vie du blindage\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de réduction du rayon de signature du vaisseau\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité aux résistances du bouclier\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to small weapon damage\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to armor hitpoints\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to shield resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"60%\", \n            \"text\": \"小型兵器のダメージが増加\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"アーマーHPが増加\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"艦船のシグネチャ半径が縮小\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"シールドレジスタンスにペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"60%\", \n            \"text\": \"소형 무기 피해량 보너스\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"장갑 내구도 증가\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"함선 시그니처 반경 감소\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"실드 저항력 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к урону от малых орудий\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к запасу прочности брони\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"уменьшение размера сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к сопротивляемости щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"60%\", \n            \"text\": \"小型武器伤害加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"装甲值加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"舰船信号半径降低\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"护盾抗性惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30849\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Belagerungsmodule eingebaut werden\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Capital-Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Zykluszeit von Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Siege modules\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Shield Booster cycle time\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al tiempo de ciclo del potenciador de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser des modules de siège\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la tourelle à projectiles capitale\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir de la tourelle à projectiles capitale\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de cycle des boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Siege modules\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Shield Booster cycle time\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを装備できる\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルプロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルプロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"シールドブースターのサイクル時間にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"실드 부스터 사이클 시간 감소\"\n            }\n          ], \n          \"header\": \"민마타 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами осадного профиля\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов сверхбольших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность сверхбольших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"护盾回充增量器运转周期加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34341\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des Stromnetzbedarfs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Reaktivierungsverzögerung von Abfangwerfern\"\n          }, \n          {\n            \"text\": \"·Kann Mikrosprungfeldgeneratoren ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann ein Kommandostrahlen-Modul verwenden\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Bonus auf die Reichweite von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Traktorstrahlen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Erzausbeute\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP von und den Schaden durch Drohnen\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Bergbauzerstörer Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Hochfahrzeit von Mikrosprungfeldgeneratoren\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Schildkommando- und Bergbauvorarbeiter-Ladungen\"\n            }\n          ], \n          \"header\": \"Command Destroyers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid requirements for Command Bursts\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in reactivation delay for Defender Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to Tractor Beam range\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Tractor Beam velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Mining Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command and Mining Foreman Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia para los estallidos de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la demora de reactivación de los lanzamisiles defensivos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar generadores de campo de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonificación al alcance del rayo tractor.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la velocidad del rayo tractor.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al rendimiento minero.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minero (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de carga del generador de campo de microsalto.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto de estallido del mando de escudo y del capataz minero.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructores de mando (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction de la consommation en réseau d'alimentation des salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature du propulseur de microwarp\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du délai de réactivation des lanceurs antibalistiques.\"\n          }, \n          {\n            \"text\": \"·Peut contenir des générateurs de champ de microsaut\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonus à la portée des rayons de tractage\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la vitesse des rayons de tractage.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus au rendement de l'activité d'extraction\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux points de dégâts et points de vie du Drone\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer d'extraction :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de réactivation du générateur de champ de microsaut\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement de bouclier et de contremaîtrise minière\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyers de commandement :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid requirements for Command Bursts\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in reactivation delay for Defender Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to Tractor Beam range\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to Tractor Beam velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Mining Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command and Mining Foreman Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"コマンドバーストのパワーグリッド要件を軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ディフェンダーランチャーの再起動時間が減少\"\n          }, \n          {\n            \"text\": \"·超小型ジャンプフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュール1個使用可能\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"トラクタービームの射程にボーナス\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"トラクタービーム速度にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"採掘量にボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのHPとダメージが増加\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"採掘用駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"超小型ジャンプフィールドジェネレーターのスプールアップタイムを短縮\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"シールドコマンドバーストと採掘支援バーストの効果と持続時間にボーナス\"\n            }\n          ], \n          \"header\": \"指揮型駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"커맨드 버스트 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"디펜더 런처 사이클 감소\"\n          }, \n          {\n            \"text\": \"·마이크로 점프 필드 생성기들을 장착할 수 있음\"\n          }, \n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"트랙터 빔 사거리 증가\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"트랙터 빔 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"채굴량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"채굴 디스트로이어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"마이크로 점프 필드 생성기 예열 시간 감소\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"실드 버스트 및 채광 버스트 효과 강화 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность импульсных оптимизаторов в мощностях реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается задержка повторного включения ПУ противоракет\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться генераторами разгонного поля\"\n          }, \n          {\n            \"text\": \"·Может использовать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"увеличивается оптимальная дальность действия гравизахватов\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"увеличивается скорость перемещения груза гравизахватами\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"повышается производительность буровых лазеров\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону и запасу прочности дронов\"\n            }, \n            {\n              \"number\": \"на 6%\", \n              \"text\": \"бонус к общей сопротивляемости щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Mining Destroyer:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла (время разогрева после запуска) генераторов разгонного поля\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"бонус к выраженности и длительности эффектов импульсного оптимизатора щита и бурового импульсного оптимизатора\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Лидеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"指挥脉冲波能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚减少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"拦截导弹发射器重启延时降低\"\n          }, \n          {\n            \"text\": \"·可以装配微型跳跃力场发生器\"\n          }, \n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"牵引光束范围加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"牵引光束牵引速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"采矿器采矿量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP和伤害加成\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"采矿驱逐舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"微型跳跃力场发生器加速时间减少\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"护盾指挥脉冲波和开采先锋脉冲波的效果强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 89649\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Bonus auf die Effektivität von Zielmarkierungsmodulen\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Bonus auf die Leistung von Schildboostern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ship max velocity\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"bonus to Target Painter effectiveness\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"bonus to Shield Booster amount\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de bonificación a la efectividad del revelador de objetivo.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de bonus à l'efficacité des marqueurs de cible\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de bonus au montant des boosters de bouclier\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ship max velocity\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"bonus to Target Painter effectiveness\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"bonus to Shield Booster amount\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"艦船の最高速度が上昇\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"ターゲットペインターの効果が増加\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"シールドブースターのブースト量が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"최대 속도 증가\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"소형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"타겟 페인터 효과 증가\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"실드 부스터 회복량 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"увеличивается скорость полного хода корабля\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"повышается эффективность действия систем подсветки целей\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"повышается производительность установок накачки щитов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"舰船最大速度加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"小型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"目标标记装置效果加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"护盾回充增量器回充量加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 588\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblockern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des petites tourelles à énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍시스템 활성화 비용 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗减少\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 589\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können zusätzliche Taktische Netzwerkmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warfare Link modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de enlace de guerra.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut monter des modules de interface tactique\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts de la tourelle hybride intermédiaire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la capacité du réparateur de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warfare Link modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·艦隊支援システムモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·전장 링크 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться системами управления боем\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配作战网络装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33869\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Belagerungsmodul eingebaut werden\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Capital-Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Capital Energy Turret activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía capital.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía capital.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"pénalité applicable au temps de cycle de l'interface Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles à énergie capitales\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des tourelles à énergie capitales\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Capital Energy Turret activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルエネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"キャピタルエネルギータレットの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"アマー攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"캐피탈 에너지 터렛 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"아마르 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами осадного профиля\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон сверхбольших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из сверхбольших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"旗舰级能量炮台启动消耗减少\"\n            }\n          ], \n          \"header\": \"艾玛无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 19720\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittelgroßen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Medium Hybrid Turret falloff\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship max velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance efectivo de la torreta híbrida mediana.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de distance de perte des tourelles hybrides intermédiaires\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse de poursuite des tourelles hybrides intermédiaires\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et des perturbateurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Medium Hybrid Turret falloff\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship max velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"中型ハイブリッドタレットの精度低下範囲が拡大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型ハイブリッドタレットの追跡速度が上昇\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船の最高速度が上昇\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"중형 하이브리드 터렛 유효사거리 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"최대 속도 증가\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается добавочная дальность ведения огня из средних гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорость наводки на цель средних гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"увеличивается скорость полного хода корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"中型混合炮台失准范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型混合炮台跟踪速度加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船最大速度加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最佳射程加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 2836\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Hitzeschadens an Modulen\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in module heat damage amount taken\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la cantidad de daño por calor del módulo.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los drones.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction aux dégâts de chaleur subis par un module\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des drones\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et des perturbateurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in module heat damage amount taken\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"モジュールが受けるヒートダメージ量が軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"모듈이 받는 열 피해 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается объём температурных повреждений модулей, получаемых ими при перегрузке\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台最佳射程加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台跟踪速度加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"减少装备遭受的超载损伤\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最佳射程加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 2834\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la déperdition des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度にボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к оптимальной дальности малых гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к скорости наведения малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к остаточной дальности малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 16240\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Projektilgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de proyectiles pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles à projectiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型プロジェクタイルタレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 발사체 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых баллистических орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型射弹炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 16242\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Module für Anziehungsfeldgenerator, getarnten Anziehungsfeldgenerator und getarnten Sprungtorgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielerfassung nach der Deaktivierung von Tarnvorrichtungen\"\n          }, \n          {\n            \"text\": \"·Verzögerung bei Reaktivierung des Tarnmoduls auf 5 Sekunden reduziert\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"erhöhte Dauer von Mikrowarpantrieb und Nachbrenner\"\n          }, \n          {\n            \"text\": \"·Optimale Reichweite, Präzisionsabfall und Stärke von ECM-Burst-Störsendern um einen Prozentsatz in Höhe von -7,5x negativer Sicherheitsstatus des Piloten erhöht, mit einem Minimum von 0 % und einem Maximum von 75 %\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"Bonus auf die maximale Geschwindigkeit des Schiffs beim Einsatz von Tarnvorrichtungen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Beschleunigung\"\n            }\n          ], \n          \"header\": \"Black Ops Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen schweren Lenkwaffen-, Marschflugkörper- und Torpedo-Werfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Flugdauer von Marschflugkörpern und Torpedos\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Cynosural Field Generator, Covert Cynosural Field Generator, and Covert Jump Portal Generator modules\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"increase to Microwarpdrive and Afterburner duration\"\n          }, \n          {\n            \"text\": \"·ECM Burst Jammer optimal range, falloff, and strength increased by a percentage equal to -7.5x pilot negative security status, with a floor of 0% and ceiling of 75%\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp speed and acceleration\"\n            }\n          ], \n          \"header\": \"Black Ops bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo flight time\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de generador de campo cinosural, generador de campo cinosural encubierto y generador de portales de salto encubierto.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de aumento a la duración del motor de microwarp y el posquemador.\"\n          }, \n          {\n            \"text\": \"·El alcance óptimo, el alcance efectivo y la intensidad del perturbador de ráfaga ECM aumentan en un porcentaje igual a -7,5 veces el estado de seguridad negativo del piloto, con un mínimo del 0 % y un máximo del 75 %.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"de bonificación a la velocidad máxima de la nave al utilizar dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones secretas (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles pesados, los lanzamisiles de crucero y los lanzatorpedos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al tiempo de vuelo de los misiles de crucero y los torpedos.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules générateur de champ cynosural, générateur de champ cynosural furtif et générateur de portail interstellaire furtif\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation du dispositif de camouflage\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"d'augmentation à la durée du propulseur de microwarp et du système de post-combustion\"\n          }, \n          {\n            \"text\": \"·La portée optimale, la déperdition et la puissance du brouilleur à salves CME sont augmentés d'un pourcentage égal à -7,5x le statut de sécurité négatif du pilote, avec un minimum de 0 % et un maximum de 75 %\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut.\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"de bonus à la vitesse maximale d'un vaisseau lorsqu'équipé d'un dispositif de camouflage actif\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et perturbateurs de warp\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale du générateur de stase\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Forces spéciales :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des grandes tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles lourds, lance-missiles de croisière et lance-torpilles rapides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au temps de vol des missiles de croisière et des torpilles\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonus à la cadence de tir des grandes tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la déperdition des grandes tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des grandes tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Cynosural Field Generator, Covert Cynosural Field Generator, and Covert Jump Portal Generator modules\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"increase to Microwarpdrive and Afterburner duration\"\n          }, \n          {\n            \"text\": \"·ECM Burst Jammer optimal range, falloff, and strength increased by a percentage equal to -7.5x pilot negative security status, with a floor of 0% and ceiling of 75%\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp speed and acceleration\"\n            }\n          ], \n          \"header\": \"Black Ops bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo flight time\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·サイノシュラルフィールドジェネレーター、潜伏用サイノシュラルフィールドジェネレーター、そして潜伏用ジャンプポータルジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置解除後のターゲット補足遅延なし\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"マイクロワープドライブとアフターバーナーの持続時間が増加\"\n          }, \n          {\n            \"text\": \"·ECMバーストジャマーの最適射程距離、精度低下範囲、強度を、パイロットのネガティブなセキュリティステータスの‐7.5倍に当たるパーセンテージまで上げる。下限は0%で上限は75%。\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"遮蔽装置使用時の艦船の最高速度が上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が上昇\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ステイシスウェビファイヤーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープ速度と加速度が上昇\"\n            }\n          ], \n          \"header\": \"秘密工作艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"大型エネルギータレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットの最適射程距離にボーナス\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"高速ヘビーミサイル、クルーズミサイル及びトルピードランチャーの発射レートが上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルおよびトルピードの飛行時間が増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射レートが上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"大型ハイブリッドタレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기, 코버트 점프 포탈 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"마이크로 워프 드라이브 및 애프터버너 지속시간 증가\"\n          }, \n          {\n            \"text\": \"·캡슐리어 시큐리티 상태가 음수일 때 -7.5배당 % 비율로 ECM 버스트 재머 최적사거리, 유효사거리, 강도 증가, 최소 0% 최대 75%\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"클로킹 장치 사용 시 함선 최대 속도 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 선체 격벽 내구도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 속도 및 가속도 증가\"\n            }\n          ], \n          \"header\": \"블랙옵스 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"급속 헤비 미사일, 크루즈 미사일, 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 비행시간 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможно оснащение приводным маяком, приводным маяком скрытого действия и диверсионным генератором гиперпорталов\"\n          }, \n          {\n            \"text\": \"·Отсутствует задержка наведения после деактивации устройств маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки снижена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"Увеличивается время действия микроварп-ускорителей и форсажных ускорителей\"\n          }, \n          {\n            \"text\": \"·Оптимальная и остаточная дальность, а также мощность генератора импульсных помех повышается на процент, равный отрицательному статусу безопасности пилота х -7,5 (от 0% до 75%)\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"замедление накопления усталости от гиперпрыжков\"\n          }, \n          {\n            \"number\": \"на 650%\", \n            \"text\": \"бонус к максимальной скорости хода при использовании устройств маскировки\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к оптимальной дальности варп-глушителей и варп-подавителей\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к оптимальной дальности действия стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к скорости хода и разгона в варп-режиме\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Тяжёлые диверсионные корабли:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"бонус к урону больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к оптимальной дальности больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 12.5%\", \n              \"text\": \"бонус к скорострельности установок для тяжёлых скорострельных ракет, дальнобойных ракет и торпед\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к полётному времени дальнобойных ракет и торпед\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к общей сопротивляемости щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 12.5%\", \n              \"text\": \"бонус к скорострельности больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к остаточной дальности баллистических орудий большого калибра\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"бонус к урону больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорости наведения больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配诱导力场发生器、隐秘诱导力场发生器和隐秘跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不受锁定延时副作用影响\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"微型跃迁推进器和加力燃烧器持续时间增加\"\n          }, \n          {\n            \"text\": \"·ECM脉冲干扰器的最佳射程、失准范围和威力的增幅相当于飞行员负安全等级的-7.5倍，下限为0%，上限为75%\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"使用隐形装置时舰船的最大速度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最佳射程加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }\n          ], \n          \"header\": \"黑隐特勤舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"重型快速导弹、巡航导弹和鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷飞行时间加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台索敌速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 85236\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die maximale und Nachführungsgeschwindigkeit von schweren Drohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von leichten Drohnen, mittelschweren Drohnen und schweren Drohnen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Wächterdrohnen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"Bonus auf die Einsatzreichweite von Drohnen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite und Nachführungsgeschwindigkeit von Wächterdrohnen\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Drone max velocity and tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Drone, Medium Drone, and Heavy Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Sentry Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"bonus to Drone operation range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Sentry Drone optimal range and tracking speed\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad máxima y la velocidad de rastreo de los drones pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones ligeros, los drones medianos y los drones pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones centinela.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"de bonificación a la autonomía operativa de los drones.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo y la velocidad de rastreo de los drones centinela.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse maximale et à la vitesse de poursuite des drones lourds\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des drones légers, drones intermédiaires et drones lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts et aux points de vie du drone sentinelle\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"de bonus à la portée de la gestion des drones\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale et à la vitesse de poursuite des drones sentinelles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Drone max velocity and tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Drone, Medium Drone, and Heavy Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Sentry Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"bonus to Drone operation range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Sentry Drone optimal range and tracking speed\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビードローンの最高速度と追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトドローン、ミディアムドローン、ヘビードローンのヒットポイントとダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"セントリードローンのヒットポイント、ダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"ドローンの操作範囲が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"セントリードローンの最適射程距離と追跡速度が増加\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 드론 최대 속도 및 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 드론, 미디움 드론 및 헤비 드론내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"센트리 드론 내구도 및 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"드론 작전 반경 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"센트리 드론 최적사거리 및 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышаются скорость полного хода тяжёлых боевых дронов, скорость наводки на цель их бортового оружия\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия лёгких, средних и тяжёлых боевых дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон бортового оружия стационарных дронов; увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5000м\", \n              \"text\": \"увеличивается максимальная дальность телеуправления дронами\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорость наводки на цель бортового оружия стационарных дронов, увеличивается оптимальная дальность его действия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型无人机最大速度和跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型无人机、中型无人机和重型无人机HP和伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"岗哨无人机HP和伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5000m\", \n              \"text\": \"无人机操纵距离加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"岗哨无人机最佳射程和跟踪速度加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12005\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von mittleren Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles à énergie intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts à la tourelle à énergie intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型エネルギータレットのダメージにボーナス\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается поражающее действие средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12003\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von schweren Lenkwaffen, Marschflugkörpern und Torpedos\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Reduzierte Verzögerung bei Reaktivierung von Mikrosprungantrieben\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Zielmarkierungsmodulen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de los misiles pesados, los misiles de crucero y los torpedos.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de crucero y los torpedos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad del revelador de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des missiles lourds, missiles de croisière et des torpilles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de réduction du temps de réactivation du propulseur de microsauts\"\n          }, \n          {\n            \"text\": \"·Peut installer des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles de croisière et des torpilles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au total des boosters de bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus d'efficacité des marqueurs de cible\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"ヘビーミサイル、クルーズミサイル、トルピードのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"マイクロジャンプドライブの再起動遅延が短縮\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルとトルピードの最高速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"クルーズミサイルとトルピードの爆発速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ターゲットペインターの効果が増加\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"헤비 미사일, 크루즈 미사일, 토피도 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 최대 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"크루즈 미사일 및 토피도 폭발속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"타겟 페인터 효과 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон БЧ тяжёлых ракет, дальнобойных ракет и торпед\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сокращается задержка повторного включения маневровых гипердвигателей\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта дальнобойных ракет и торпед\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается коэффициент скорости взрыва БЧ дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия систем подсветки целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"重型导弹、巡航导弹和鱼雷伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"微型跳跃引擎启动间隔加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷最大飞行速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"巡航导弹和鱼雷爆炸速度加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"目标标记装置效果加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34231\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Belagerungsmodule eingebaut werden\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Capital-Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Zykluszeit von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Siege modules\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Armor Repairer cycle time\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al tiempo de ciclo del reparador de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser des modules de siège\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la tourelle hybride capitale\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir de la tourelle hybride capitale\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de cycle des réparateurs de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Siege modules\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Armor Repairer cycle time\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを装備できる\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"アーマーリペアラのサイクル時間が減少\"\n            }\n          ], \n          \"header\": \"ガレンテ攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"장갑수리 장치 사이클 시간 감소\"\n            }\n          ], \n          \"header\": \"갈란테 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами осадного профиля\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов сверхбольших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность сверхбольших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装甲维修器循环周期加成\"\n            }\n          ], \n          \"header\": \"盖伦特无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34339\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von schweren Lenkwaffen, Marschflugkörpern und Torpedos\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Reduzierte Verzögerung bei Reaktivierung von Mikrosprungantrieben\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Zielmarkierungsmodulen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de los misiles pesados, los misiles de crucero y los torpedos.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de crucero y los torpedos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad del revelador de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des missiles lourds, missiles de croisière et des torpilles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de réduction du temps de réactivation du propulseur de microsauts\"\n          }, \n          {\n            \"text\": \"·Peut installer des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles de croisière et des torpilles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au total des boosters de bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus d'efficacité des marqueurs de cible\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"ヘビーミサイル、クルーズミサイル、トルピードのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"マイクロジャンプドライブの再起動遅延が短縮\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルとトルピードの最高速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"クルーズミサイルとトルピードの爆発速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ターゲットペインターの効果が増加\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"헤비 미사일, 크루즈 미사일, 토피도 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 최대 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"크루즈 미사일 및 토피도 폭발속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"타겟 페인터 효과 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон БЧ тяжёлых ракет, дальнобойных ракет и торпед\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сокращается задержка повторного включения маневровых гипердвигателей\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта дальнобойных ракет и торпед\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается коэффициент скорости взрыва БЧ дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия систем подсветки целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"重型导弹、巡航导弹和鱼雷伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"微型跳跃引擎启动间隔加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷最大飞行速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"巡航导弹和鱼雷爆炸速度加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"目标标记装置效果加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34233\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von schweren Lenkwaffen, Marschflugkörpern und Torpedos\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Reduzierte Verzögerung bei Reaktivierung von Mikrosprungantrieben\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Zielmarkierungsmodulen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de los misiles pesados, los misiles de crucero y los torpedos.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de crucero y los torpedos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad del revelador de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des missiles lourds, missiles de croisière et des torpilles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de réduction du temps de réactivation du propulseur de microsauts\"\n          }, \n          {\n            \"text\": \"·Peut installer des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles de croisière et des torpilles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au total des boosters de bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus d'efficacité des marqueurs de cible\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"ヘビーミサイル、クルーズミサイル、トルピードのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"マイクロジャンプドライブの再起動遅延が短縮\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルとトルピードの最高速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"クルーズミサイルとトルピードの爆発速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ターゲットペインターの効果が増加\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"헤비 미사일, 크루즈 미사일, 토피도 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 최대 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"크루즈 미사일 및 토피도 폭발속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"타겟 페인터 효과 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон БЧ тяжёлых ракет, дальнобойных ракет и торпед\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сокращается задержка повторного включения маневровых гипердвигателей\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта дальнобойных ракет и торпед\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается коэффициент скорости взрыва БЧ дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия систем подсветки целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"重型导弹、巡航导弹和鱼雷伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"微型跳跃引擎启动间隔加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷最大飞行速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"巡航导弹和鱼雷爆炸速度加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"目标标记装置效果加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34235\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de poursuite de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34237\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de poursuite de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34239\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 623\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir de la tourelle à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte à la tourelle à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорострельность средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 622\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von schweren Angriffslenkwaffen und schweren Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles pesados y los misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds rapides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles lourds et des missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの最高速度上昇\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к макс. скорости тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹最大速度加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 621\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"Bonus auf die Reichweite von Energiespeicher-Ferntransmittern\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Transfermenge von Energiespeicher-Ferntransmittern\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Schildfernboostern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildfernboostern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Schildfernboostern\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"bonus to Remote Capacitor Transmitter range\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Remote Capacitor Transmitter transfer amount\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"bonus to Remote Shield Booster optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"de bonificación al alcance del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación a la cantidad de transferencia del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo del potenciador de escudo remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo remotos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del coste de activación del potenciador de escudo remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"de bonus à la portée du transmetteur de capaciteur à distance\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la quantité de transfert des transmetteurs de capaciteur à distance\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"de bonus à la portée optimale et à la perte dubooster de bouclier à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier à distance\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du coût d'activation des boosters de bouclier à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"bonus to Remote Capacitor Transmitter range\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Remote Capacitor Transmitter transfer amount\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"bonus to Remote Shield Booster optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"リモートキャパシタトランスミッターの範囲が拡大\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"リモートキャパシタトランスミッターの転送量が増加\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"リモートシールドブースターの最適射程距離および精度低下範囲が改善\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"リモートシールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"リモートシールドブースターの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"원격 캐패시터 전송기 사거리 증가\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"원격 캐패시터 전송기 전송량 증가\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"원격 실드 부스터 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"원격 실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 실드 부스터 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 1000%\", \n            \"text\": \"увеличивается дальность действия установок дистанционного энергоснабжения\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается производительность установок дистанционного энергоснабжения\"\n          }, \n          {\n            \"number\": \"на 430%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность действия установок дистанционной накачки щитов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 12.5%\", \n              \"text\": \"повышается производительность установок дистанционной накачки щитов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается потребление энергии установками дистанционной накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"远程电容传输装置距离加成\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"远程电容传输装置传输量加成\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"远程护盾回充增量器最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"远程护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"远程护盾回充增量器启动消耗减少\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 620\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles hybrides intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 627\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP, den Schaden und die Erzausbeute von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, damage and mining yield\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida, el daño y el rendimiento minero de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts, aux PV et au rendement d'extraction des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, damage and mining yield\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイント・ダメージ・採掘量が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도, 피해량, 채굴량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов и производительность буровых дронов; увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害、HP和采矿量加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 626\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"Bonus auf die Reichweite von Energiespeicher-Ferntransmittern\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Transfermenge von Energiespeicher-Ferntransmittern\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Panzerungs-Fernreparatursystemen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"bonus to Remote Capacitor Transmitter range\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Remote Capacitor Transmitter transfer amount\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"de bonificación al alcance del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación a la cantidad de transferencia del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo del reparador de blindaje remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje remotos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del coste de activación del reparador de blindaje remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"de bonus à la portée du transmetteur de capaciteur à distance\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la quantité de transfert des transmetteurs de capaciteur à distance\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"de bonus à la portée optimale et à la perte du réparateur de blindage à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage à distance\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du coût d'activation des réparateurs de blindage à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"bonus to Remote Capacitor Transmitter range\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Remote Capacitor Transmitter transfer amount\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"リモートキャパシタトランスミッターの範囲が拡大\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"リモートキャパシタトランスミッターの転送量が増加\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"リモート装甲修復装置の最適射程距離および精度低下範囲が改善\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"リモートアーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"リモートアーマーリペアラの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"원격 캐패시터 전송기 사거리 증가\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"원격 캐패시터 전송기 전송량 증가\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"원격 장갑수리 장치 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"원격 장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 장갑수리 장치 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 1000%\", \n            \"text\": \"увеличивается дальность действия установок дистанционного энергоснабжения\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается производительность установок дистанционного энергоснабжения\"\n          }, \n          {\n            \"number\": \"на 430%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность действия установок дистанционного ремонта брони\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 12.5%\", \n              \"text\": \"повышается производительность установок дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1000%\", \n            \"text\": \"远程电容传输装置距离加成\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"远程电容传输装置传输量加成\"\n          }, \n          {\n            \"number\": \"430%\", \n            \"text\": \"远程装甲维修器最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"远程装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"远程装甲维修器启动消耗减少\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 625\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型エネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 624\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de poursuite de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34467\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittleren Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittleren Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la tourelle à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型プロジェクタイルタレットの追跡速度にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорости наведения средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 629\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Waffenstörern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP, den Schaden und die Erzausbeute von Drohnen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Weapon Disruptor effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, damage and mining yield\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del disruptor de armas.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida, el daño y el rendimiento minero de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité du perturbateur d'arme\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts, aux PV et au rendement d'extraction des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Weapon Disruptor effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, damage and mining yield\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"兵器妨害器の有効性が向上\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイント・ダメージ・採掘量が増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"무기 디스럽터 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도, 피해량, 채굴량 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия постановщиков помех системам наводки\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов и производительность буровых дронов; увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"武器扰断器效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害、HP和采矿量加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 628\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"Bonus auf die maximale Zielerfassungsreichweite\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Lenkwaffen und Vorton-Projektoren\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Abzug auf die Wendigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Abzug auf die Stärke von Stasisnetzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to ship velocity\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to maximum targeting range\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to missile and vorton projector explosion velocity\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to ship agility\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to stasis webifier strength\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonificación a la velocidad de la nave.\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonificación a la distancia-objetivo máxima.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonificación a la velocidad de explosión de los misiles y los proyectores vortónicos.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de penalización a la agilidad de la nave.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de penalización a la intensidad de la red ralentizadora.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonus à la vitesse du vaisseau\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonus à la portée de ciblage maximum\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de bonus à la vitesse des missiles\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonus à la vitesse d'explosion des missiles et des projecteurs de vortons\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de pénalité à la maniabilité du vaisseau\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de pénalité à la puissance des générateurs de stase\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to ship velocity\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to maximum targeting range\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to missile and vorton projector explosion velocity\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to ship agility\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to stasis webifier strength\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"艦船の速度が上昇\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"最大ターゲット範囲が拡大\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"ミサイルの速度が上昇\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"ミサイルとヴォートンプロジェクターの爆発速度が上昇\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"艦船の機動性にペナルティ\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"ステイシスウェビファイヤーの強度にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"함선 속도 보너스\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"최대 타겟팅 거리 보너스\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"미사일 속도 보너스\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"미사일 및 보르톤 프로젝터 폭발속도 증가\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"기동성 페널티\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"스테이시스 웹 생성기 강도 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 86%\", \n            \"text\": \"бонус к скорости корабля\"\n          }, \n          {\n            \"number\": \"на 86%\", \n            \"text\": \"бонус к максимальной дальности наведения\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"бонус к скорости полёта ракет\"\n          }, \n          {\n            \"number\": \"на 86%\", \n            \"text\": \"бонус к скорости распространения взрыва для ракет и вортонных проекторов\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"штраф к манёвренности корабля\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"штраф к эффективности стазис-индуктора\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"舰船速度加成\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"最大锁定距离加成\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"导弹飞行速度加成\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"导弹和电弧弦投射器爆炸速度加成\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"舰船灵活性惩罚\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"停滞缠绕光束强度惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30853\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"Bonus auf die maximale Zielerfassungsreichweite\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Lenkwaffen und Vorton-Projektoren\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Abzug auf die Wendigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Abzug auf die Stärke von Stasisnetzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to ship velocity\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to maximum targeting range\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to missile and vorton projector explosion velocity\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to ship agility\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to stasis webifier strength\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonificación a la velocidad de la nave.\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonificación a la distancia-objetivo máxima.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonificación a la velocidad de explosión de los misiles y los proyectores vortónicos.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de penalización a la agilidad de la nave.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de penalización a la intensidad de la red ralentizadora.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonus à la vitesse du vaisseau\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonus à la portée de ciblage maximum\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de bonus à la vitesse des missiles\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonus à la vitesse d'explosion des missiles et des projecteurs de vortons\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de pénalité à la maniabilité du vaisseau\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de pénalité à la puissance des générateurs de stase\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to ship velocity\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to maximum targeting range\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"bonus to missile velocity\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to missile and vorton projector explosion velocity\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to ship agility\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to stasis webifier strength\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"艦船の速度が上昇\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"最大ターゲット範囲が拡大\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"ミサイルの速度が上昇\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"ミサイルとヴォートンプロジェクターの爆発速度が上昇\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"艦船の機動性にペナルティ\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"ステイシスウェビファイヤーの強度にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"함선 속도 보너스\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"최대 타겟팅 거리 보너스\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"미사일 속도 보너스\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"미사일 및 보르톤 프로젝터 폭발속도 증가\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"기동성 페널티\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"스테이시스 웹 생성기 강도 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 72%\", \n            \"text\": \"бонус к скорости корабля\"\n          }, \n          {\n            \"number\": \"на 72%\", \n            \"text\": \"бонус к максимальной дальности наведения\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"бонус к скорости полёта ракет\"\n          }, \n          {\n            \"number\": \"на 72%\", \n            \"text\": \"бонус к скорости распространения взрыва для ракет и вортонных проекторов\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"штраф к манёвренности корабля\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"штраф к эффективности стазис-индуктора\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"舰船速度加成\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"最大锁定距离加成\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"导弹飞行速度加成\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"导弹和电弧弦投射器爆炸速度加成\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"舰船灵活性惩罚\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"停滞缠绕光束强度惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30852\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 594\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittleren Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Masseabzugs von Panzerplatten\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Armor Plate mass penalty\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de masa de la placa de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la déperdition des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de masse du revêtement de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Armor Plate mass penalty\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットの精度低下範囲にボーナス\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"アーマープレートの質量ペナルティが減少\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"장갑 플레이트 질량 페널티 감소\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 17.5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к остаточной дальности средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"снижение штрафа за массу для бронеплит\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"附甲板质量惩罚降低\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 29344\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"text\": \"·Kann 1 zusätzliche Drohne einsetzen.\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"text\": \"·Can deploy 1 additional drone\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"text\": \"·Es posible desplegar 1 dron adicional.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"text\": \"·Peut déployer 1 drone supplémentaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"text\": \"·Can deploy 1 additional drone\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"text\": \"·ドローンをもう1基配置できる\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"text\": \"·드론 1대 추가 배치 가능\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"text\": \"·Увеличивается число дронов, разрешённое к запуску с борта корабля (на 1 дрон)\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"text\": \"·每升一级可多部署一架无人机\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11011\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Bergbaufassungsvermögen von Schiffen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship mining hold capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la capacidad de la bodega de minería de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de la soute d'extraction du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship mining hold capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船の採掘ホールド容量ボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"채굴 저장고 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к вместимости отсека для руды\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Gallente Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船矿舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 656\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Gallente Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 657\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Kapazität des Mineralienfrachtraums des Schiffs\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Kapazität des Eisfrachtraums des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship mineral hold capacity\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship Ice hold capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la capacidad de la bodega de minerales de la nave.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la capacidad de la bodega de hielo de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de la soute à minéraux du vaisseau\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de la soute à glace du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship mineral hold capacity\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship Ice hold capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船の無機物容量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のアイスホールド容量へのボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"미네랄 저장고 적재량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"아이스 저장고 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается вместимость отсека для минералов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к вместимости отсека для льда\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Gallente Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船矿物舱容量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船冰矿舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 654\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Kapazität des Frachtraums für planetare Waren des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship planetary commodity hold capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la capacidad de la bodega de mercancía planetaria de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de transport de marchandises planétaires du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship planetary commodity hold capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船の無機物容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"행성 생산품 창고 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается вместимость отсека для продукции наземных баз\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Gallente Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船行星货物舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 655\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマターハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Minmatar Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 652\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Trägheitsmodifikator des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al modificador de inercia de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au modificateur d'inertie du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の慣性修正乗数が増加\"\n            }\n          ], \n          \"header\": \"ミンマターハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"관성 계수 증가\"\n            }\n          ], \n          \"header\": \"민마타 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается инертность конструкции корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Minmatar Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船惯性调整系数加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 653\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Trägheitsmodifikator des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al modificador de inercia de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au modificateur d'inertie du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の慣性修正乗数が増加\"\n            }\n          ], \n          \"header\": \"ガレンテハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"관성 계수 증가\"\n            }\n          ], \n          \"header\": \"갈란테 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается инертность конструкции корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Gallente Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船惯性调整系数加成\"\n            }\n          ], \n          \"header\": \"盖伦特运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 650\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Kapazität des Munitionsfrachtraums des Schiffs\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Kapazität des Gasfrachtraums des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship ammo bay capacity\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship Gas hold capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la capacidad de carga de munición de la nave.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la capacidad de la bodega de gas de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de munitions du vaisseau\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de la soute à gaz du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship ammo bay capacity\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship Gas hold capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船の弾薬ベイ容量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のガスホールド容量へのボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマターハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"탄약고 적재량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"가스 저장고 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается вместимость отсека для боеприпасов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к вместимости отсека для газа\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Minmatar Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船弹药舱容量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船气云舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 651\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Scansondenwerfern\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysegeräten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Kern- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und die Nachführungsgeschwindigkeit von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirement\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de reducción del requisito de CPU del lanzasondas de escaneo.\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo y los puntos de vida de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de réduction de la charge CPU requise pour les lanceurs de sondes de balayage\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes principales et des sondes de balayage de combat\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus de dégâts des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite et aux points de vie des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirement\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"スキャンプローブランチャーのCPU使用率を軽減\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物とデータアナライザーのウイルス強度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型ハイブリッドタレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのHPと追跡速度が増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"스캔 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 99%\", \n            \"text\": \"снижение требований к мощности ЦПУ для пусковой установки разведзондов\"\n          }, \n          {\n            \"number\": \"на 5+\", \n            \"text\": \"бонус к силе вируса анализаторов данных и артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к чувствительности зондов навигационной и боевой разведки\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к урону малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к запасу прочности и скорости наведения дронов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"扫描探针发射器CPU需求降低\"\n          }, \n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP和跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 72913\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der Energiespeicher-Aktivierungskosten und Stromnetzvoraussetzungen für den Capital-Flex-Schildhärter\"\n          }, \n          {\n            \"text\": \"·Tarnvorrichtungs-Module können nicht verwendet werden\"\n          }, \n          {\n            \"text\": \"·kann eine Verbindung zu Reagenz-Silos des orbitalen Skyhooks herstellen, die die üblichen Klassenbeschränkungen umgeht\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von Lenkwaffen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Kapazität des Infrastruktur-Hangars des Schiffs\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Auto-Zielerfassungs-Lenkwaffenschaden\"\n            }\n          ], \n          \"header\": \"Upwell Freighter Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in Capital Flex Shield Hardener capacitor activation cost and powergrid requirements\"\n          }, \n          {\n            \"text\": \"·Unable to use Cloaking Device modules\"\n          }, \n          {\n            \"text\": \"·can link to Orbital Skyhook Reagent Silos bypassing the normal ship class restrictions\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to missile damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship infrastructure hold capacity\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Auto-Targeting missile damage\"\n            }\n          ], \n          \"header\": \"Upwell Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia y del coste de activación del condensador del endurecedor de escudo flexible capital.\"\n          }, \n          {\n            \"text\": \"·No se pueden usar módulos de dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·puede enlazar a los depósitos de reactivos de ganchos orbitales burlando las restricciones normales de clase de la nave\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los misiles.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la capacidad de la bodega de infraestructura de la nave.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de los misiles de adquisición automática de objetivos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Carguero de Upwell (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction aux coûts d'activation du capaciteur et à la consommation énergétique pour le renforcement de bouclier capital flex\"\n          }, \n          {\n            \"text\": \"·Impossible d'utiliser les modules de camouflage\"\n          }, \n          {\n            \"text\": \"·peut établir un lien avec les silos de réactifs du grappin orbital en contournant les restrictions habituelles du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts des missiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de la baie d'infrastructure du vaisseau\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts des missiles à ciblage automatique\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo Upwell :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in Capital Flex Shield Hardener capacitor activation cost and powergrid requirements\"\n          }, \n          {\n            \"text\": \"·Unable to use Cloaking Device modules\"\n          }, \n          {\n            \"text\": \"·can link to Orbital Skyhook Reagent Silos bypassing the normal ship class restrictions\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to missile damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship infrastructure hold capacity\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Auto-Targeting missile damage\"\n            }\n          ], \n          \"header\": \"Upwell Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"キャピタルフレックスシールドハードナー起動時のキャパシタコストと必要パワーグリッドが減少\"\n          }, \n          {\n            \"text\": \"·遮蔽装置を使用不可\"\n          }, \n          {\n            \"text\": \"·通常の艦船クラス制限を受けることなく、軌道スカイフックの反応試剤サイロに接続可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルの与えるダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のインフラホールド容量が増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"自動捕捉型ミサイルの与えるダメージが増加\"\n            }\n          ], \n          \"header\": \"アップウェルの超大型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"캐피탈 다목적 실드 강화장치 캐패시터 및 파워그리드 요구치 감소\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 사용 불가\"\n          }, \n          {\n            \"text\": \"·함선 제한에 영향을 받지 않으며 궤도 스카이훅의 촉매 사일로와 연결할 수 있습니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"구조물 격납고 적재량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"오토 타겟팅 미사일 피해량 증가\"\n            }\n          ], \n          \"header\": \"업웰 프레이터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"замедление накопления усталости от гиперпрыжков\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"снижение расхода энергии и требований к энергосистемам, связанным с активацией гибкого активного модулятора щитов КБТ\"\n          }, \n          {\n            \"text\": \"·Нельзя использовать устройства маскировки\"\n          }, \n          {\n            \"text\": \"·даёт доступ к хранилищу реагентов орбитального подъёмника в обход стандартных ограничений по классам кораблей\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону от ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к вместимости логистического отсека\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к урону от ракет с автонаведением\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Upwell Freighter:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"旗舰级弯曲护盾增强器启动消耗减少和能量栅格需求降低\"\n          }, \n          {\n            \"text\": \"·无法使用隐形装置 装备\"\n          }, \n          {\n            \"text\": \"·可以绕过一般舰船限制，直接连接到轨道天钩试剂储藏库\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"导弹伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船基础设施舱容量加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"自动锁定导弹伤害加成\"\n            }\n          ], \n          \"header\": \"昇威货舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 81040\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der Ausrüstungsanforderungen für schwere Lenkwaffen, schwere Angriffslenkwaffen und schnelle leichte Lenkwaffenwerfer für CPU und Stromnetz\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Verzögerung bei Reaktivierung des Tarnmoduls auf 5 Sekunden reduziert\"\n          }, \n          {\n            \"text\": \"·Immun gegen alle Frachtscanner\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·kann eine Verbindung zu Reagenz-Silos des orbitalen Skyhooks herstellen, die die üblichen Klassenbeschränkungen umgeht\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Kapazität des Infrastruktur-Hangars des Schiffs\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den Schaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Upwell Hauler Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion der CPU-Anforderung von Tarnmodulen\"\n            }\n          ], \n          \"header\": \"Transport Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to Heavy Missile, Heavy Assault Missile and Rapid Light Missile Launcher cpu and powergrid fitting requirements\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·can link to Orbital Skyhook Reagent Silos bypassing the normal ship class restrictions\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship infrastructure hold capacity\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to missile damage\"\n            }\n          ], \n          \"header\": \"Upwell Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to warp speed and warp acceleration\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción a los requisitos de equipamiento de sistema de potencia y CPU de los lanzamisiles pesados, los lanzamisiles de asalto pesados y los lanzamisiles ligeros rápidos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"text\": \"·Inmune a todos los escáneres de carga.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·puede enlazar a los depósitos de reactivos de ganchos orbitales burlando las restricciones normales de clase de la nave\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la capacidad de la bodega de infraestructura de la nave.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al daño de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías de Upwell (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de transporte (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction des prérequis de montage de CPU et de réseau d'alimentation pour les missiles lourds, missiles d'assaut lourds et lance-missiles légers rapides\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes et un générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"text\": \"·Immunisé contre tous les scanners de soute\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·peut établir un lien avec les silos de réactifs du grappin orbital en contournant les restrictions habituelles du vaisseau\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de la baie d'infrastructure du vaisseau\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus aux dégâts des missiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transport Upwell :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de transport :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to Heavy Missile, Heavy Assault Missile and Rapid Light Missile Launcher cpu and powergrid fitting requirements\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·can link to Orbital Skyhook Reagent Silos bypassing the normal ship class restrictions\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship infrastructure hold capacity\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to missile damage\"\n            }\n          ], \n          \"header\": \"Upwell Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to warp speed and warp acceleration\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ヘビーミサイル、ヘビーアサルトミサイル、そして高速ライトミサイルランチャーを装備した際のCPUとパワーグリッドの使用量が減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置と潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"text\": \"·全てのカーゴスキャナーへの耐性\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·通常の艦船クラス制限を受けることなく、軌道スカイフックの反応試剤サイロに接続可能\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のインフラホールド容量が増加\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ミサイルの与えるダメージが増加\"\n            }\n          ], \n          \"header\": \"アップウェルのハウラーボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープ速度とワープ加速度が上昇\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置の必要CPUが減少\"\n            }\n          ], \n          \"header\": \"特化型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"헤비 미사일, 헤비 어썰트 미사일, 급속 라이트 미사일 런처 CPU 및 파워그리드 요구치 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"text\": \"·화물 스캐너 면역\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·함선 제한에 영향을 받지 않으며 궤도 스카이훅의 촉매 사일로와 연결할 수 있습니다.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"구조물 격납고 적재량 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"미사일 피해량 증가\"\n            }\n          ], \n          \"header\": \"업웰 운반선 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 속도 및 워프 가속도 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"트랜스포터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"снижение требований к мощности ЦПУ и реактора для пусковых установок тяжёлых ракет, тяжёлых штурмовых ракет и лёгких скорострельных ракет\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки и приводным маяком скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки снижена до 5 секунд\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию любых сканеров груза\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"замедление накопления усталости от гиперпрыжков\"\n          }, \n          {\n            \"text\": \"·даёт доступ к хранилищу реагентов орбитального подъёмника в обход стандартных ограничений по классам кораблей\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к вместимости логистического отсека\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"бонус к урону от ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Upwell Hauler:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"снижение требований к ЦПУ для систем маскировки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Транспортные корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少对重型导弹、重型攻击导弹和快速轻型导弹发射器的CPU和能量栅格的装配要求\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"text\": \"·免疫货舱扫描\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·可以绕过一般舰船限制，直接连接到轨道天钩试剂储藏库\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船基础设施舱容量加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"导弹伤害加成\"\n            }\n          ], \n          \"header\": \"昇威运载舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置CPU需求降低\"\n            }\n          ], \n          \"header\": \"运输舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 81046\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der Ausrüstungsanforderungen für schwere Lenkwaffen, schwere Angriffslenkwaffen und schnelle leichte Lenkwaffenwerfer für CPU und Stromnetz\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Vorteile der Überhitzung von Nachbrennern, Mikrowarpantrieben, lokalen Reparaturmodulen, Resistenzmodulen, Nosferatu-Modulen und Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·kann eine Verbindung zu Reagenz-Silos des orbitalen Skyhooks herstellen, die die üblichen Klassenbeschränkungen umgeht\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Kapazität des Infrastruktur-Hangars des Schiffs\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf den Schaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Upwell Hauler Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Kapazität des Flottenhangars\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Transport Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to Heavy Missile, Heavy Assault Missile and Rapid Light Missile Launcher cpu and powergrid fitting requirements\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners, Microwarpdrives, Local Repair Modules, Resistance Modules, Nosferatu Modules and Energy Neutralizer Modules\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·can link to Orbital Skyhook Reagent Silos bypassing the normal ship class restrictions\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship infrastructure hold capacity\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to missile damage\"\n            }\n          ], \n          \"header\": \"Upwell Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to fleet hangar capacity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción a los requisitos de equipamiento de sistema de potencia y CPU de los lanzamisiles pesados, los lanzamisiles de asalto pesados y los lanzamisiles ligeros rápidos.\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los beneficios de posquemadores, motores de microwarp, módulos de reparación locales, módulos de resistencia, módulos Nosferatu y módulos de neutralizador energético sobrecalentados.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·puede enlazar a los depósitos de reactivos de ganchos orbitales burlando las restricciones normales de clase de la nave\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la capacidad de la bodega de infraestructura de la nave.\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al daño de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías de Upwell (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación de la capacidad del hangar para la flota.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de transporte (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction des prérequis de montage de CPU et de réseau d'alimentation pour les missiles lourds, missiles d'assaut lourds et lance-missiles légers rapides\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonus à la puissance du réacteur de warp du vaisseau\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux avantages de la surchauffe des modules de post-combustion, propulseurs de microwarp, des modules de réparation locale, des modules de résistance, des modules Nosferatu et des modules de neutralisation d'énergie\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·peut établir un lien avec les silos de réactifs du grappin orbital en contournant les restrictions habituelles du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de la baie d'infrastructure du vaisseau\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus aux dégâts des missiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transport Upwell :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité du hangar de flotte\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de transport :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to Heavy Missile, Heavy Assault Missile and Rapid Light Missile Launcher cpu and powergrid fitting requirements\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners, Microwarpdrives, Local Repair Modules, Resistance Modules, Nosferatu Modules and Energy Neutralizer Modules\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·can link to Orbital Skyhook Reagent Silos bypassing the normal ship class restrictions\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship infrastructure hold capacity\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to missile damage\"\n            }\n          ], \n          \"header\": \"Upwell Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to fleet hangar capacity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ヘビーミサイル、ヘビーアサルトミサイル、そして高速ライトミサイルランチャーを装備した際のCPUとパワーグリッドの使用量が減少\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"艦船のワープコア強度が増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"アフターバーナー、マイクロワープドライブ、自己回復用リペアモジュール、レジスタンスモジュール、ノスフェラトゥモジュール、そしてとエネルギーニュートラライザーモジュールのオーバーヒートボーナスが増加\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·通常の艦船クラス制限を受けることなく、軌道スカイフックの反応試剤サイロに接続可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のインフラホールド容量が増加\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"ミサイルの与えるダメージが増加\"\n            }\n          ], \n          \"header\": \"アップウェルのハウラーボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"フリートハンガー容量が増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"特化型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"헤비 미사일, 헤비 어썰트 미사일, 급속 라이트 미사일 런처 CPU 및 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"워프 코어 출력 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"애프터버너, 마이크로 워프 드라이브, 수리 모듈, 저항력 모듈, 노스페라투 모듈, 에너지 뉴트럴라이저 모듈의 과부하 보너스 효과 증가\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·함선 제한에 영향을 받지 않으며 궤도 스카이훅의 촉매 사일로와 연결할 수 있습니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"구조물 격납고 적재량 증가\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"미사일 피해량 증가\"\n            }\n          ], \n          \"header\": \"업웰 운반선 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"함대 공용 창고 용적 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"트랜스포터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"снижение требований к мощности ЦПУ и реактора для пусковых установок тяжёлых ракет, тяжёлых штурмовых ракет и лёгких скорострельных ракет\"\n          }, \n          {\n            \"number\": \"на 2+\", \n            \"text\": \"бонус к мощности бортового варп-ядра\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к преимуществам при перегрузке форсажных ускорителей, микроварп-ускорителей, бортовых ремонтных модулей, модулей сопротивляемости, модулей паразитной подзарядки и дистанционных нейтрализаторов заряда\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"замедление накопления усталости от гиперпрыжков\"\n          }, \n          {\n            \"text\": \"·даёт доступ к хранилищу реагентов орбитального подъёмника в обход стандартных ограничений по классам кораблей\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к вместимости логистического отсека\"\n            }, \n            {\n              \"number\": \"на 25%\", \n              \"text\": \"бонус к урону от ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Upwell Hauler:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к вместимости отсека с внешним доступом\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к общей сопротивляемости щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Транспортные корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少对重型导弹、重型攻击导弹和快速轻型导弹发射器的CPU和能量栅格的装配要求\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"舰船跃迁核心强度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"加力燃烧器、微型跃迁推进器、自身维修装备、抗性提升装备、掠能器和能量中和器超载后获得的效果提升增加\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·可以绕过一般舰船限制，直接连接到轨道天钩试剂储藏库\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船基础设施舱容量加成\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"导弹伤害加成\"\n            }\n          ], \n          \"header\": \"昇威运载舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰队机库容量加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"运输舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 81047\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann nicht von Richtungsscannern erfasst werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Präzisionsabfallreichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Waffenstörern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cannot be detected by directional scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Weapon Disruptor effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·No detectable con escáneres direccionales.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"de bonificación al alcance óptimo del nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance efectivo del nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del disruptor de armas.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Indétectable par les scanners directionnels\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"de bonus à la portée optimale du nosferatu à énergie et du neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la perte du nosferatu à énergie et du neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité d'énergie récupérée par le Nosferatu à énergie et le neutraliseur d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité du perturbateur d'armement\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux PV des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cannot be detected by directional scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Weapon Disruptor effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·指向性スキャナーでは検知できません\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの精度低下範囲が改善\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの消費量が改善\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"兵器妨害器の有効性が向上\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·전방위 스캐너 탐지 불가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"무기 디스럽터 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа не обнаруживаются пеленгаторами\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 40%\", \n              \"text\": \"увеличивается оптимальная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается добавочная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия постановщиков помех системам наводки\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·不能被定向扫描器探测到\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"40%\", \n              \"text\": \"掠能器和能量中和器最佳射程加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器和能量中和器失准范围加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"武器扰断器效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 20125\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Schildfernboostern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von Leitcomputern\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Schildfernboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Nachführungs-Ferncomputern\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Schildfernboostern\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Signaturradiusabzugs von Schilderweiterungen\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Shield Booster CPU requirement\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Remote Tracking Computer falloff\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Remote Shield Booster optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Tracking Computer effectiveness\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Shield Extender signature radius penalty\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de los requisitos de CPU del potenciador de escudo remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance efectivo del ordenador de rastreo remoto.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad de transferencia de los drones logísticos.\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo del potenciador de escudo remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad de los ordenadores de rastreo remotos.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción del coste de activación del potenciador de escudo remoto.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del extensor de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros logísticos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction au CPU requis par les boosters de bouclier à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la déperdition de l'ordinateur de poursuite à distance\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité de transfert du drone logistique\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonus à la portée optimale et à la perte dubooster de bouclier à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité des ordinateurs de suivi à distance\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction du coût d'activation des boosters de bouclier à distance\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité du rayon de signature de l'extenseur de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs logistiques :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Shield Booster CPU requirement\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Remote Tracking Computer falloff\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Remote Shield Booster optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Tracking Computer effectiveness\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Shield Extender signature radius penalty\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートシールドブースターのCPU使用量が軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"リモート追跡コンピューターの精度低下範囲が改善\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"支援型ドローンの転送量が向上\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"リモートシールドブースターの最適射程距離および精度低下範囲が改善\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートトラッキングコンピュータの効果が増加\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"リモートシールドブースターの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"シールドエクステンダーのシグネチャ半径ペナルティが減少\"\n            }\n          ], \n          \"header\": \"支援型巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 실드 부스터 CPU 사용량 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 트래킹 컴퓨터 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"로지스틱스 드론 수리량 증가\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"원격 실드 부스터 최적사거리 및 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 트래킹 컴퓨터 효과 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"원격 실드 부스터 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"실드 확장장치 시그니처 반경 페널티 감소\"\n            }\n          ], \n          \"header\": \"로지스틱스 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность установок дистанционной накачки щитов в мощностях ЦПУ\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается добавочная дальность передатчиков данных наводки\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается производительность ремонтных дронов\"\n            }, \n            {\n              \"number\": \"на 60%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность действия установок дистанционной накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность передатчиков данных наводки\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается потребление энергии установками дистанционной накачки щитов\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"снижение штрафа к радиусу сигнатуры для расширителя щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли обеспечения:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"远程护盾回充增量器CPU需求降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"远距索敌计算机失准范围加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"后勤无人机传输量加成\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"远程护盾回充增量器最佳射程和失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"远距索敌计算机效果加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"远程护盾回充增量器启动消耗减少\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"护盾扩展装置的信号半径惩罚减少\"\n            }\n          ], \n          \"header\": \"后勤巡洋舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11978\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion der CPU-Anforderung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung ausrüsten\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion in der Reaktivierungsverzögerung des Anti-Unterbrechers und max. Erfassungsreichweitenabzug\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo del anulador de interdicción.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction et à la pénalité de portée de verrouillage maximale\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置を装備可能\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と最大ロック射程のペナルティ減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 널리파이어 지속시간 보너스\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 장착 가능\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 널리파이어 재활성화 대기시간 및 최대 타겟팅 거리 페널티 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"снижение требований к ЦПУ для систем маскировки\"\n          }, \n          {\n            \"text\": \"·Возможна установка внережимной системы маскировки\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений и штрафа к максимальной дальности захвата цели\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"text\": \"·可以装配隐形特勤舰隐形装置\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟和最大锁定距离惩罚降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 92284\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Ausbeute beim Bergbau und bei Gaswolken-Extraktoren\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Flüssigozon-Verbrauchs von industriellen Anziehungsfeldgeneratoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Erzausbeute\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Gaswolken-Extraktoren\"\n            }\n          ], \n          \"header\": \"Mining Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Mining and Gas Cloud Scoop yield\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Industrial Cynosural Field Generator liquid ozone consumption\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Gas Cloud Scoop duration\"\n            }\n          ], \n          \"header\": \"Mining Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al rendimiento de la minería y la succión de nubes de gas.\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del consumo de ozono líquido del generador de campo cinosural industrial.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al rendimiento minero.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de la succión de nubes de gas.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minera (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus au rendement d'extraction et du récupérateur de nuages de gaz\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonus à la force du réacteur de warp\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la consommation d'ozone liquide du générateur de champ cynosural industriel\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au rendement d'extraction minière\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction de la durée du récupérateur de nuages de gaz\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate d’extraction minière :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Mining and Gas Cloud Scoop yield\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Industrial Cynosural Field Generator liquid ozone consumption\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Gas Cloud Scoop duration\"\n            }\n          ], \n          \"header\": \"Mining Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"採掘とガス雲スクープの採取量ボーナス\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"艦船のワープコア強度が増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"工業サイノシュラルフィールドの液体オゾン消費量が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"採掘量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ガス雲スクープの持続時間減少量\"\n            }\n          ], \n          \"header\": \"採掘用フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"채굴량 및 가스 수집기 생산량 증가\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"워프 코어 출력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"인더스트리얼 사이노슈럴 필드 생성기 액화 오존 소모량 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"채굴량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"가스 수집기 지속시간 감소\"\n            }\n          ], \n          \"header\": \"채굴 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к эффективности бурения и работы газочерпателей\"\n          }, \n          {\n            \"number\": \"на 2+\", \n            \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижение потребления жидкого озона промышленным приводным маяком\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается производительность буровых лазеров\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращение длительности рабочего цикла газочерпателя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Буровые фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"采矿器和气体云团回收产量加成\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"舰船跃迁核心强度加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"工业诱导力场发生器激活装备所消耗的液态臭氧数量降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"采矿器采矿量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"气体云团回收运转周期缩短\"\n            }\n          ], \n          \"header\": \"采矿护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32880\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann nicht von Richtungsscannern erfasst werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführung von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Sensorferndämpfern\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cannot be detected by directional scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·No detectable con escáneres direccionales.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al rastreo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del atenuador de sensor remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Indétectable par les scanners directionnels\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et des perturbateurs de warp\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la portée optimale de la tourelle hybride intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la poursuite de la tourelle hybride intermédiaire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité des atténuateurs de détection à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cannot be detected by directional scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·指向性スキャナーでは検知できません\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットのトラッキングが向上\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"リモートセンサーダンプナーの効果が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·전방위 스캐너 탐지 불가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 성능 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"원격 센서 댐프너 효과 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа не обнаруживаются пеленгаторами\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия модулей подавления захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·不能被定向扫描器探测到\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"远程感应抑阻器效果加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11971\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion der CPU-Anforderung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung ausrüsten\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion in der Reaktivierungsverzögerung des Anti-Unterbrechers und max. Erfassungsreichweitenabzug\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo del anulador de interdicción.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction et à la pénalité de portée de verrouillage maximale\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置を装備可能\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と最大ロック射程のペナルティ減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 널리파이어 지속시간 보너스\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 장착 가능\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 널리파이어 재활성화 대기시간 및 최대 타겟팅 거리 페널티 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"снижение требований к ЦПУ для систем маскировки\"\n          }, \n          {\n            \"text\": \"·Возможна установка внережимной системы маскировки\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений и штрафа к максимальной дальности захвата цели\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"text\": \"·可以装配隐形特勤舰隐形装置\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟和最大锁定距离惩罚降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 92282\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion der CPU-Anforderung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung ausrüsten\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion in der Reaktivierungsverzögerung des Anti-Unterbrechers und max. Erfassungsreichweitenabzug\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo del anulador de interdicción.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction et à la pénalité de portée de verrouillage maximale\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置を装備可能\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と最大ロック射程のペナルティ減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 널리파이어 지속시간 보너스\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 장착 가능\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 널리파이어 재활성화 대기시간 및 최대 타겟팅 거리 페널티 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"снижение требований к ЦПУ для систем маскировки\"\n          }, \n          {\n            \"text\": \"·Возможна установка внережимной системы маскировки\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений и штрафа к максимальной дальности захвата цели\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"text\": \"·可以装配隐形特勤舰隐形装置\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟和最大锁定距离惩罚降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 92283\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Schildfernboostern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer und Aktivierungskosten von Schildfernboostern\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Reduktion des Signaturradius\"\n            }\n          ], \n          \"header\": \"Logistics Frigates Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Leistung von Schildfernboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Schildfernboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Remote Shield Booster falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Shield Booster duration and activation cost\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"reduction in signature radius\"\n            }\n          ], \n          \"header\": \"Logistics Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonificación al alcance efectivo del potenciador de escudo remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración y el coste de activación del potenciador de escudo remoto.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de reducción del radio de la señal.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas logísticas (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo remotos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del potenciador de escudo remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonus à la perte du booster de bouclier à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du coût d'activation et de la durée du booster de bouclier à distance\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"réduction du rayon de signature\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates logistiques :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au montant du booster de bouclier à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation du booster de bouclier à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Remote Shield Booster falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Shield Booster duration and activation cost\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"reduction in signature radius\"\n            }\n          ], \n          \"header\": \"Logistics Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"リモートシールドブースターの精度低下範囲が改善\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"リモートシールドブースターの起動時間と起動コストが減少\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"シグネチャ半径が縮小\"\n            }\n          ], \n          \"header\": \"支援型フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートシールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートシールドブースターの起動コストを削減\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"원격 실드 부스터 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 실드 부스터 지속시간 및 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"시그니처 반경 감소\"\n            }\n          ], \n          \"header\": \"로지스틱스 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 실드 부스터 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 300%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционной накачки щитов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается потребление энергии установками дистанционной накачки щитов и продолжительность их рабочего цикла\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"уменьшается размер сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Фрегаты обеспечения:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок дистанционной накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии установками дистанционной накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"远程护盾回充增量器失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"远程护盾回充增量器运转周期和启动消耗减少\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"信号半径降低\"\n            }\n          ], \n          \"header\": \"后勤护卫舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"远程护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程护盾回充增量器启动消耗减少\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37460\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Scansondenwerfern und Vermessungssondenwerfern\"\n          }, \n          {\n            \"text\": \"·Weitere Boni sind verfügbar, solange einer der drei Modi des taktischen Zerstörers aktiv ist. Zwischen den Modi kann nur alle 10 Sekunden umgeschaltet werden.\"\n          }, \n          {\n            \"text\": \"·Verteidigungsmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf alle Schild- und Panzerungsresistenzen bei aktiviertem Verteidigungsmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius bei aktiviertem Verteidigungsmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf die Reparaturleistung von Schildfernboostern und Reduktion der Aktivierungskosten bei aktiviertem Verteidigungsmodus\"\n          }, \n          {\n            \"text\": \"·Antriebsmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Bonus auf den Geschwindigkeitsschub von Nachbrennern und Mikrowarpantrieben bei aktiviertem Antriebsmodus.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf den Trägheitsmodifikator von Schiffen bei aktiviertem Antriebsmodus\"\n          }, \n          {\n            \"text\": \"·Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen bei aktiviertem Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen bei aktiviertem Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Sensorstärke und Zielerfassungsreichweite bei aktiviertem Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"erhöhte Widerstandsfähigkeit gegen gegnerische Sensordämpfer und Waffenstörer bei aktiviertem Scharfschützenmodus\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduzierung des Hitzeschadens von Modulen\"\n            }\n          ], \n          \"header\": \"Minmatar Tactical Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus to Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Scan Probe Launcher and Survey Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Additional bonuses are available while one of three Tactical Destroyer Modes are active. Modes may be switched no more than once every 10 seconds.\"\n          }, \n          {\n            \"text\": \"·Defense Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to all shield and armor resistances while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty while Defense Mode is active\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Remote Shield Booster repair amount and reduction in activation cost while Defense Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Propulsion Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Afterburner and Microwarpdrive speed boost while Propulsion Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to ship inertia modifier while Propulsion Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Sharpshooter Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Small Projectile Turret tracking speed while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Small Projectile Turret damage while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to sensor strength and targeting range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"increased resistances against hostile Sensor Dampeners and Weapon Disruptors while Sharpshooter Mode is enabled\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module heat damage amount taken\"\n            }\n          ], \n          \"header\": \"Minmatar Tactical Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los requisitos de CPU del lanzasondas de escaneo y el lanzasondas de prospección.\"\n          }, \n          {\n            \"text\": \"·Hay bonificaciones adicionales disponibles mientras uno de los tres modos de destructor táctico está habilitado. No se puede cambiar de modo más de una vez cada 10 segundos.\"\n          }, \n          {\n            \"text\": \"·Modo de defensa\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación a todas las resistencias de blindaje y escudo mientras el modo de defensa está habilitado.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp mientras el modo de defensa está activado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación a la cantidad de reparación del potenciador de escudo remoto y reducción del coste de activación mientras el modo de defensa está habilitado.\"\n          }, \n          {\n            \"text\": \"·Modo de propulsión\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonificación al impulso de velocidad del posquemador y el motor de microwarp mientras el modo de propulsión está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación al modificador de inercia de la nave mientras el modo de propulsión está habilitado.\"\n          }, \n          {\n            \"text\": \"·Modo de francotirador\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la intensidad del sensor y la distancia-objetivo mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"más resistencia frente a atenuadores de sensor y disruptores de armas hostiles mientras el modo de francotirador está habilitado.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la cantidad de daño por calor del módulo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor táctico minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus aux dégâts de la petite tourelle à projectiles\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"réduction des prérequis de CPU pour les lanceurs de sondes de balayage et de sondes d'inspection\"\n          }, \n          {\n            \"text\": \"·Des bonus supplémentaires sont disponibles tandis que l'un des trois modes de Destroyer tactiques est actif. Il n'est pas possible d'alterner les modes plus d'une fois toutes les 10 secondes.\"\n          }, \n          {\n            \"text\": \"·Mode de défense\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus à toutes les résistances de bouclier et de blindage lorsque le mode de défense est activé\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature du propulseur de microwarp lorsque le mode de défense est activé\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus au volume de réparation du booster de bouclier à distance et de réduction du coût d'activation lorsque le mode de défense est activé\"\n          }, \n          {\n            \"text\": \"·Mode de propulsion\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus à la vitesse de propulsion des systèmes de post-combustion et des propulseurs de microwarp lorsque le Mode Propulsion est activé.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus au modificateur d'inertie du vaisseau lorsque le mode de propulsion est activé\"\n          }, \n          {\n            \"text\": \"·Mode Sharpshooter\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles à projectiles lorsque le Mode Sharpshooter est activé\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à projectiles lorsque le Mode Sharpshooter est activé.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la puissance de détection et à la portée de ciblage lorsque le mode Sharpshooter est activé.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus aux résistances contre les atténuateurs de détection et les perturbateurs d'armement ennemis lorsque le Mode Sharpshooter est activé.\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus aux dégâts de la petite tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la portée optimale de la petite tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction aux dégâts de chaleur subis par un module\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer tactique minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus to Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Scan Probe Launcher and Survey Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Additional bonuses are available while one of three Tactical Destroyer Modes are active. Modes may be switched no more than once every 10 seconds.\"\n          }, \n          {\n            \"text\": \"·Defense Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to all shield and armor resistances while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty while Defense Mode is active\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Remote Shield Booster repair amount and reduction in activation cost while Defense Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Propulsion Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Afterburner and Microwarpdrive speed boost while Propulsion Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to ship inertia modifier while Propulsion Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Sharpshooter Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Small Projectile Turret tracking speed while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Small Projectile Turret damage while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to sensor strength and targeting range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"increased resistances against hostile Sensor Dampeners and Weapon Disruptors while Sharpshooter Mode is enabled\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module heat damage amount taken\"\n            }\n          ], \n          \"header\": \"Minmatar Tactical Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"スキャンプローブランチャーおよび調査プローブランチャーのCPU前提要件が減少\"\n          }, \n          {\n            \"text\": \"·戦術駆逐艦モードが1つでも作動中であれば、さらにボーナスが増す。モードは10秒間に1回だけ切り替えることができます。\"\n          }, \n          {\n            \"text\": \"·防衛モード\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"防衛モードが有効な間、全てのシールドレジスタンス、アーマーレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"防衛モードが有効な間、マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"防衛モード時、リモートシールドブースターのリペア量と起動コスト軽減にボーナス\"\n          }, \n          {\n            \"text\": \"·推進モード\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"推進モードを有効化している間、アフターバーナーとマイクロワープドライブのスピードブーストが上昇\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"推進モードが有効な間、艦船の慣性修正乗数が増加\"\n          }, \n          {\n            \"text\": \"·射撃モード\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"射撃モードが有効な間、小型プロジェクタイルタレットの追跡速度が上昇\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"射撃モードを有効化している間、小型プロジェクタイルタレットのダメージが上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"射撃モードを有効化している間、センサー強度とターゲット範囲が増加\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"射撃モードを有効化している間、敵対勢力のセンサーダンプナーと兵器妨害器に対する耐性が増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"モジュールが受けるヒートダメージ量が軽減\"\n            }\n          ], \n          \"header\": \"ミンマター戦術駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"소형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"스캔 프로브 런처 및 조사 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·세 가지 모드 중 한 가지가 활성화 중일 때 추가 보너스가 부여됩니다. 10초에 한 번씩 모드를 전환할 수 있습니다.\"\n          }, \n          {\n            \"text\": \"·방어모드\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"방어 모드 활성화 중 실드 및 장갑 저항력 증가\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"방어 모드 활성화 중 마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"원격 실드 부스터 회복량 증가 및 방어 모드 활성화 시 활성화 비용 감소\"\n          }, \n          {\n            \"text\": \"·추진 모드\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"추진 모드 활성화 중 애프터버너 및 마이크로 워프 드라이브 속도 증가\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"추진 모드 활성화 중 관성 계수 감소\"\n          }, \n          {\n            \"text\": \"·저격 모드\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"저격 모드 활성화 중 소형 발사체 터렛 트래킹 속도 증가\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"저격모드 활성화 중 소형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"저격모드 활성화 중 센서 강도 및 타겟팅 거리 증가\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"저격모드 활성화 중 센서 댐프너 및 무기 디스럽터 저항력 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"모듈이 받는 열 피해 감소\"\n            }\n          ], \n          \"header\": \"민마타 전술 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 33%\", \n            \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность пусковых установок разведзондов и пусковых установок лунных зондов в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·Дополнительные преимущества достигаются при входе в один из трёх доступных режимов многорежимного эсминца. Режимы можно переключать не чаще, чем раз в 10 секунд.\"\n          }, \n          {\n            \"text\": \"·Защитный режим\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"повышается сопротивляемость брони и щитов корабля всем видам воздействия (при работе в защитном режиме)\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля (при работе в защитном режиме)\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"повышается эффективность модуля дистанционной накачки щитов и сокращается объём потребляемой им энергии (при работе в защитном режиме)\"\n          }, \n          {\n            \"text\": \"·Скоростной режим\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"повышается эффективность по приросту скорости форсажных ускорителей и микроварп-ускорителей (при работе в скоростном режиме)\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"повышается маневренность корабля (при работе в скоростном режиме)\"\n          }, \n          {\n            \"text\": \"·Снайперский режим\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"повышается скорость наводки на цель малых баллистических орудий (при работе в снайперском режиме)\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"увеличивается урон малых баллистических орудий (при работе в снайперском режиме)\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность захвата целей, а также эффективность штатных сенсорных систем (при работе в снайперском режиме)\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"повышается сопротивляемость действию вражеских модулей подавления захвата целей и постановщиков помех системам наводки (при работе в снайперском режиме)\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается объём температурных повреждений модулей, получаемых ими при перегрузке\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские многорежимные эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"小型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"扫描探针发射器和测量探针发射器CPU需求降低\"\n          }, \n          {\n            \"text\": \"·当战术驱逐舰启用三种模式中的任意一种会获得额外加成。每10秒钟只能切换一次模式。\"\n          }, \n          {\n            \"text\": \"·防御模式\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用防御模式后护盾和装甲抗性加成\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用防御模式后微型跃迁推进器的信号半径惩罚降低\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用防御模式时，远程护盾回充增量器的修复量提高，启动消耗降低。\"\n          }, \n          {\n            \"text\": \"·高速模式\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用高速模式后加力燃烧器和微型跃迁推进器的速度增量加成\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用高速模式后惯性系数加成\"\n          }, \n          {\n            \"text\": \"·狙击模式\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用狙击模式后小型射弹炮台跟踪速度加成\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用狙击模式后小型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"启用狙击模式后感应强度和锁定距离加成\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用狙击模式后对敌方的感应抑阻器和武器扰断器的抗性提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"减少装备遭受的超载损伤\"\n            }\n          ], \n          \"header\": \"米玛塔尔战术驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34562\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduzierter Hitzeschaden durch Überlastung von Modulen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Erhöhung der Thermalresistenz des Schiffs\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduced heat damage from overloading modules\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"increase in ship thermal resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del daño por calor al sobrecargar los módulos.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de aumento de las resistencias térmicas de la nave.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des dégâts thermiques provoqués par la surcharge des modules\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"d'augmentation des résistances thermiques du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduced heat damage from overloading modules\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"increase in ship thermal resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"オーバーロードしたモジュールの熱ダメージが減少\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"艦船サーマルレジスタンスが増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"모듈 과부하 피해 감소\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"열 저항력 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшение теплового урона от перегрузки модулей\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"увеличение сопротивляемости корабля термальному урону\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"装备超载受到的过热伤害减少\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"舰船热能抗性提升’\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 56967\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"Bonus auf die HP von Schilden\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Reduktion der Wiederaufladezeit des Energiespeichers\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Abzug auf alle Panzerungsresistenzen\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"Erhöhung des Signaturradius von Schiffen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to shield hitpoints\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"reduction in capacitor recharge time\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to Energy Nosferatu and Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to armor resistances\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"increase in ship signature radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonificación a los puntos de vida de los escudos.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de reducción del tiempo de carga del condensador.\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonificación a la cantidad drenada por el neutralizador y el nosferatu de energía.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de penalización a las resistencias de blindaje.\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de aumento del radio de la señal de la nave.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonus aux points de vie du bouclier\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de réduction au temps de recharge du capaciteur\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonus au volume d'énergie drainée par les Nosferatu à énergie et les neutraliseurs d'énergie\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de pénalité aux résistances de blindage\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"d'augmentation du rayon de signature du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to shield hitpoints\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"reduction in capacitor recharge time\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to Energy Nosferatu and Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to armor resistances\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"increase in ship signature radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"シールドHPが増加\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"キャパシタのリチャージ時間が短縮\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"エネルギーノスフェラトゥとニュートラライザーの吸収量が増加\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"アーマーレジスタンスにペナルティ\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"艦船のシグネチャ半径が拡大\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"실드량 증가\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"캐패시터 충전시간 감소\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"에너지 노스페라투 및 뉴트럴라이저 흡수량 보너스\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"장갑 저항력 페널티\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"함선 시그니처 반경 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 86%\", \n            \"text\": \"бонус к запасу прочности щитов\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"уменьшение времени перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 86%\", \n            \"text\": \"бонус к эффективности энергопоглощения и энергонейтрализатора\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"штраф к сопротивляемости брони\"\n          }, \n          {\n            \"number\": \"на 86%\", \n            \"text\": \"увеличение размера сигнатуры корабля\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"护盾值加成\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"电容回充速度加成\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"掠能器和能量中和器吸取量加成\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"装甲抗性惩罚\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"舰船信号半径提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30868\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von schweren Drohnen, mittelgroßen Drohnen und leichten Drohnen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von Wächterdrohnen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Drohnen\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungkommando- und Gefechtkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP von und den Schaden durch schwere Drohnen, mittelgroße Drohnen und leichte Drohnen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die HP von und den Schaden durch Wächterdrohnen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Drone, Medium Drone and Light Drone tracking speed\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Sentry Drone tracking speed\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Drone optimal range\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Armored Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Drone, Medium Drone and Light Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Sentry Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de los drones pesados, los drones medianos y los drones ligeros.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de los drones centinelas.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo de los drones.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje y de mando de escaramuza.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones pesados, los drones medianos y los drones ligeros.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones centinela.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des drones lourds, drones intermédiaires et drones légers\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des drones sentinelles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale des drones\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindé et de commandement tactique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux points de vie et aux dégâts des drones lourds, drones intermédiaires et drones légers\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux points de vie et dégâts des drones sentinelles\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Drone, Medium Drone and Light Drone tracking speed\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Sentry Drone tracking speed\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Drone optimal range\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Armored Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Drone, Medium Drone and Light Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Sentry Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビードローン、ミディアムドローン、そしてライトドローンの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のセントリードローン追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ドローンの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"アーマードコマンドバーストと機動戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"指揮型巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビードローン、ミディアムドローン、そしてライトドローンのHPとダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"セントリードローンのHPとダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 드론, 미디움 드론, 라이트 드론 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"센트리 드론 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"드론 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"장갑 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 드론, 미디움 드론, 라이트 드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"센트리 드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорости наведения тяжёлых дронов, средних дронов и лёгких дронов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорости наведения охранных дронов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к оптимальной дальности дронов\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони и импульсными оптимизаторами маневрирования\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли управления:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону и запасу прочности тяжёлых дронов, средних дронов и лёгких дронов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону и запасу прочности охранных дронов\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к сопротивляемости брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型无人机、中型无人机和轻型无人机追踪速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"岗哨无人机追踪速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"无人机最佳射程加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"装甲指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"重型无人机、中型无人机和轻型无人机HP和伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"岗哨无人机HP和伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22442\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Schildkommando- und Gefechtkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to Shield Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de escudo y de mando de escaramuza.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers et de commandement tactique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to Shield Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"シールドコマンドバーストと機動戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"指揮型巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"실드 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов и импульсными оптимизаторами маневрирования\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли управления:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22444\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP von Schilden\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Schildkommando- und Informationkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to shield hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Shield Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida de los escudos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de escudo y de mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux points de vie du bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers et de commandement électronique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to shield hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Shield Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"シールドHPが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"シールドコマンドバーストと情報戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"指揮型巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"실드량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"실드 버스트 및 정보전 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к запасу прочности щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов и импульсными оптимизаторами РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли управления:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"护盾值加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"护盾指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22446\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungkommando- und Informationkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to Armored Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje y de mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts des tourelles à énergie intermédiaire\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindé et de commandement électronique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des tourelles à énergie intermédiaire\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to Armored Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"中型エネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"アーマードコマンドバーストと情報戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"指揮型巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"장갑 버스트 및 정보전 버스트 효과 강화 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони и импульсными оптимизаторами РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли управления:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22448\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Stärke von ECM-Zielstörsender-Modulen\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von ECM-Zielstörsender-Modulen\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf die Reichweite von ECM-Pulsgeneratoren\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to ECM Target Jammer optimal range and falloff\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to ECM Burst range\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la intensidad del perturbador ECM de objetivo.\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo del perturbador ECM de objetivo.\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al alcance de la ráfaga ECM.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la force des brouilleurs de cible CME\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus à la portée optimale et à la distance de perte des brouilleurs de cible CME\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus à la portée des salves CME\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to ECM Target Jammer optimal range and falloff\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to ECM Burst range\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECMターゲットジャマーの強度が増加\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"ECMターゲットジャマーの最適射程距離と精度低下範囲が拡大\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"ECMバーストの範囲が拡大\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECM 타겟 재머 효과 증가\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"ECM 타겟 재머 최적사거리 및 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"ECM 버스트 반경 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается выходная мощность модулей глушения захвата целей\"\n            }, \n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность действия модулей глушения захвата целей\"\n            }, \n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается оптимальная дальность действия генераторов импульсных помех\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECM目标干扰器强度加成\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"ECM目标干扰器最佳射程和失准范围加成\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"ECM脉冲波范围加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 4005\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"Reduzierte Materialanforderungen für Fertigungsaufträge\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Reduzierte Zeitanforderungen für Fertigungs- und Forschungsaufträge\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"Reduzierte ISK-Anforderungen für Fertigungs- und Forschungsaufträge\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduzierter Treibstoffverbrauch von Industriedienstmodulen\"\n          }, \n          {\n            \"text\": \"·Verfügt diese Struktur über mindestens ein aktives Dienstmodul, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte HP für Schild und Panzerung.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Raitaru-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"reduction in material requirements for manufacturing jobs\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"reduction in time requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"reduction in ISK requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Engineering Service Module fuel consumption\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Raitaru Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"de reducción de los requisitos de materiales para los trabajos de fabricación.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de reducción de los requisitos para los trabajos de fabricación y ciencia.\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"de reducción de los requisitos de ISK para los trabajos de fabricación y ciencia.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del consumo de combustible de los módulos de servicio de ingeniería.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje.\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Raitaru de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"de réduction de productivité matérielle pour les tâches de production\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de réduction de productivité horaire pour les tâches de production et scientifiques\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"de réduction d'ISK requis pour les tâches de production et scientifiques\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction de la consommation en carburant des modules de service d'ingénierie\"\n          }, \n          {\n            \"text\": \"·Lorsque cette structure dispose d'au moins un module de service en ligne fonctionnel, elle entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage.\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Raitaru pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"reduction in material requirements for manufacturing jobs\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"reduction in time requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"reduction in ISK requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Engineering Service Module fuel consumption\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Raitaru Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"製造ジョブの必要資源が減少\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"製造ジョブとサイエンスジョブの必要時間が減少\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"製造ジョブとサイエンスジョブの必要ISKが減少\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"電気工学サービスモジュールの燃料消費が減少\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには ライタル・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"제조 작업 자원요구치 감소\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"연구 및 제조 작업 시간효율성 증가\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"연구 및 제조 작업 ISK 소모량 감소\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"엔지니어링 서비스 모듈 연료 사용량 감소\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 하나라도 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가합니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 라이타루 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 1%\", \n            \"text\": \"уменьшает расход материалов, необходимых для выполнения производственных проектов\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"уменьшает время, необходимое для производственных и научных проектов\"\n          }, \n          {\n            \"number\": \"на 3%\", \n            \"text\": \"уменьшает стоимость (ISK) производственных и научных проектов\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшает потребление топлива служебными инженерными модулями\"\n          }, \n          {\n            \"text\": \"·В этом сооружении есть по меньшей мере один действующий служебный модуль, поэтому оно переходит в режим полной мощности и получает повышенный запас прочности щитов и брони.\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Райтару» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"生产项目的材料需求降低\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"生产和科研项目的时间需求降低\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"生产和科研项目的星币需求降低\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"工程服务装备的燃料消耗降低\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值。\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个莱塔卢昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 35825\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Bergungsmodulen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de los recuperadores.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée des récupérateurs\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"サルベージャーの起動時間が短縮\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"샐비저 지속시간 감소\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 5+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла демонтажных модулей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"打捞装置运转周期降低\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33190\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Doomsday-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann ein Phänomengenerator-Modul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Es kann ein Sprungtor-Generator-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es kann ein Klonbucht-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann drei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Sensordämpfer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Waffenstörer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Erhöhung der Fernunterstützungsimpedanz auf Elektronik\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Capital-Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Titan Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"bonus to Capital Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Capital Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Amarr Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo apocalíptico.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de fenómenos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de portales de salto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de plataforma de contenedores de clonación.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar tres módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de disrupción de armas.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"de bonificación al daño de la torreta de energía capital.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía capital.\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Titán amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'une arme d'annihilation\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un module de générateur de phénomènes\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un générateur de portail interstellaire\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'une plateforme de clonage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser trois salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux perturbateurs d'armement\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"de bonus aux dégâts des tourelles à énergie capitales\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation de la tourelle à énergie capitale\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Titan amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"bonus to Capital Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Capital Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Amarr Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ドゥームズデイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·現象ジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·ジャンプポータルジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·クローンバットベイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは3個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"アーマープレートとシールド拡張器にボーナス\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"センサーダンプナーのレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"兵器妨害レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"ステイシス効果レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"リモート電子アシスタンスインピーダンスが増加\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"キャピタルエネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"キャピタルエネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }\n          ], \n          \"header\": \"アマータイタンボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·둠스데이모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·특이점 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 포탈 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 클론 격납고 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·세개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"센서 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"무기 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"캐피탈 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"캐피탈 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"아마르 타이탄 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться орудиями Судного дня\"\n          }, \n          {\n            \"text\": \"·Позволяет установить модуль генератора аномалий\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться генераторами гиперпорталов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться отсеками клонирования\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до трёх импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 500%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию помех на системы наводки вооружения\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 180%\", \n              \"text\": \"увеличивается урон сверхбольших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из сверхбольших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские титаны:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个末日武器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个现象发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个克隆舱装备\"\n          }, \n          {\n            \"text\": \"·可以装配三个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"武器干扰抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"旗舰级能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"旗舰级能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"艾玛泰坦操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11567\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Trägheitsmodifikator des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Amarr Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al modificador de inercia de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au modificateur d'inertie du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Amarr Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の慣性修正乗数が増加\"\n            }\n          ], \n          \"header\": \"アマーハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"관성 계수 증가\"\n            }\n          ], \n          \"header\": \"아마르 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается инертность конструкции корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Amarr Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船惯性调整系数加成\"\n            }\n          ], \n          \"header\": \"艾玛运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 19744\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Effektdauer von Expeditionskommandostrahlen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Gaswolken-Extraktoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von mittleren Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"Bonus auf die Stärke von Kern- und Gefechtsscansonden\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysegeräten\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung ausrüsten\"\n          }, \n          {\n            \"text\": \"·Verzögerung bei Reaktivierung des Tarnmoduls auf 15 Sekunden reduziert\"\n          }, \n          {\n            \"text\": \"·Kann Nullpunkt-Massenumschließer ausrüsten\"\n          }, \n          {\n            \"text\": \"·Dieses Schiff kann je nach Umgebung Bonuseffekte erhalten.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"Bonus auf die Reichweite von Relikt- und Datenanalysegeräten\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Gaswolken-Extraktoren\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf die Effektstärke und Dauer von Expeditionskommandostrahlen\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Panzerungskommandostrahlen\"\n            }\n          ], \n          \"header\": \"Expedition Command Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP von und den Schaden durch schwere Drohnen, mittelgroße Drohnen und leichte Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Expedition Command Burst effect duration\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Gas Cloud Scoop CPU requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Medium Energy Turret optimal range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }, \n          {\n            \"text\": \"·Can fit Zero-Point Mass Entangler\"\n          }, \n          {\n            \"text\": \"·This ship can receive bonus effects depending on the environment.\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"bonus to Relic and Data Analyzer range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Gas Cloud Scoop duration\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Expedition Command Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Armor Command Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Expedition Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Drone, Medium Drone and Light Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del efecto del estallido de mando expedicionario.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del requisito de CPU de la succión de nubes de gas.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de energía mediana.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y lade núcleo.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y dereliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas.\"\n          }, \n          {\n            \"text\": \"·Se reduce la demora de reactivación del camuflaje a 15 segundos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un entrelazador másico de punto cero.\"\n          }, \n          {\n            \"text\": \"·Esta nave puede recibir efectos de bonificación según el entorno.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"de bonificación al alcance de los analizadores de datos y las reliquias.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de la succión de nubes de gas.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto del estallido de mando expedicionario.\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto del estallido de mando de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando de expedición (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones pesados, los drones medianos y los drones ligeros.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée d'effet des salves de commandement d'expédition\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction au prérequis CPU du récupérateur de nuages de gaz\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des tourelles à énergie intermédiaires\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 15 secondes\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un intricateur de masse à énergie du point zéro\"\n          }, \n          {\n            \"text\": \"·Ce vaisseau peut recevoir des effets bonus selon l'environnement.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"de bonus à la portée des analyseurs de reliques et des analyseurs de données\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée du récupérateur de nuages de gaz\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement d'expédition\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindées\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement d'expédition :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux points de vie et aux dégâts des drones lourds, drones intermédiaires et drones légers\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Expedition Command Burst effect duration\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Gas Cloud Scoop CPU requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Medium Energy Turret optimal range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }, \n          {\n            \"text\": \"·Can fit Zero-Point Mass Entangler\"\n          }, \n          {\n            \"text\": \"·This ship can receive bonus effects depending on the environment.\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"bonus to Relic and Data Analyzer range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Gas Cloud Scoop duration\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Expedition Command Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Armor Command Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Expedition Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Drone, Medium Drone and Light Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"探査コマンドバースト効果の持続時間にボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ガス雲スクープのCPU使用率を軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"中型エネルギータレットの最適射程距離にボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度にボーナス\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールが2個使える\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置を装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延を15秒に短縮\"\n          }, \n          {\n            \"text\": \"·ゼロポイント質量エンタングラーを装備可能\"\n          }, \n          {\n            \"text\": \"·この艦船は環境に応じたボーナス効果を得られる。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"遺物アナライザーとデータアナライザーの射程にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ガス雲スクープの持続時間減少量\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"探査コマンドバースト効果と持続時間にボーナス\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"アーマーコマンドバースト効果と持続時間にボーナス\"\n            }\n          ], \n          \"header\": \"指揮型探査船ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビードローン、ミディアムドローン、そしてライトドローンのHPとダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"탐사 커맨드 버스트 지속시간 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"가스 수집기 CPU 요구량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"중형 에너지 터렛 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 15초로 감소\"\n          }, \n          {\n            \"text\": \"·제로포인트 매스 인탱글러 장착 가능\"\n          }, \n          {\n            \"text\": \"·함선이 환경에 따라 추가 효과를 받을 수 있습니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"유물 및 데이터 분석기 반경 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"가스 수집기 지속시간 감소\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"탐사 커맨드 버스트 효과 강화 및 지속시간 증가\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"장갑 버스트 효과 강화 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"탐사 커맨드쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 드론, 미디움 드론, 라이트 드론 내구도 및 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности эффектов экспедиционного импульсного оптимизатора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижение требований к ЦПУ для газочерпателя\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к оптимальной дальности средних лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }, \n          {\n            \"number\": \"на 37.5%\", \n            \"text\": \"бонус к чувствительности зондов навигационной и боевой разведки\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"бонус к силе вируса анализаторов данных и артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"text\": \"·Возможна установка всережимной системы маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки снижена до 15 секунд\"\n          }, \n          {\n            \"text\": \"·Можно оснастить модулятором массы нулевой точки\"\n          }, \n          {\n            \"text\": \"·Этот корабль может получать дополнительные эффекты в зависимости от окружения.\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 50%\", \n              \"text\": \"бонус к дальности анализатора данных и артефактов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращение длительности рабочего цикла газочерпателя\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"бонус к выраженности и длительности эффектов экспедиционного импульсного оптимизатора\"\n            }, \n            {\n              \"number\": \"на 1%\", \n              \"text\": \"бонус к выраженности и длительности эффектов импульсного оптимизатора брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Expedition Command Ships:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону и запасу прочности тяжёлых дронов, средних дронов и лёгких дронов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линейные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к общей сопротивляемости брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"远征指挥脉冲波效果持续时间加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"气云回收装置CPU需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"中型能量炮台最佳射程加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"核心和作战扫描探针强度加成\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延迟降到15秒\"\n          }, \n          {\n            \"text\": \"·可装配零点质量纠缠装置\"\n          }, \n          {\n            \"text\": \"·这艘舰船可以根据环境获得额外效果。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"遗迹分析仪和数据分析仪范围加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"气体云团回收运转周期缩短\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"远征指挥脉冲波效果强度和持续时间加成\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"装甲指挥脉冲波效果强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"远征指挥舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"重型无人机、中型无人机和轻型无人机HP和伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 89607\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Reparaturmenge von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Assault Frigates Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas de asalto (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux PV des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la capacité réparatrice du réparateur de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d’assaut :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントが増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラの回復量増加\"\n            }\n          ], \n          \"header\": \"強襲型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"어썰트 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается запас прочности дронов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности установки ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"突击护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12042\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"Bonus auf die HP und den Schaden von Leichten Kampfdrohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetik- und Thermalschaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Light Combat Drone damage and hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonificación al alcance efectivo y los puntos de vida de los drones de combate ligeros.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético y térmico de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus aux dégâts et aux PV des drones de combat légers\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts des missiles de type cinétique et thermique\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to Light Combat Drone damage and hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"ライト戦闘ドローンのダメージとヒットポイントが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルのキネティック・サーマルダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"라이트 공격 드론 피해량 및 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 키네틱 및 열 피해 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 300%\", \n            \"text\": \"увеличивается урон бортового оружия лёгких боевых дронов; увеличивается запас их прочности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон кинетических и термических БЧ ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"轻型战斗无人机伤害和HP加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"动能和热能导弹伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17930\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus à la vitesse et à l'accélération du warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ワープ速度とワープ加速が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"소형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"小型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17932\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Assault Frigates Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas de asalto (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d’assaut :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"強襲型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"어썰트 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"突击护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12044\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la déperdition des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型プロジェクタイルタレットの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к остаточной дальности малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17812\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"· Eisbergbaulaser-Module sind ausrüstbar\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die kritische Trefferwahrscheinlichkeit von Eisschürf-Modulen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Reichweite von Eisschürf-Modulen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die kritische Trefferwahrscheinlichkeit von Eisschürf-Modulen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die kritische Trefferausbeute von Eisschürf-Modulen\"\n            }\n          ], \n          \"header\": \"Bergbauzerstörer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Ice Mining Laser modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Ice Harvesting module critical hit chance\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Ice Harvesting module range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Ice Harvesting module critical hit chance\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Ice Harvesting module critical hit yield\"\n            }\n          ], \n          \"header\": \"Mining Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de láser minero para hielo.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la probabilidad de impacto crítico del módulo de recolección de hielo.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance del módulo de recolección de hielo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la probabilidad de impacto crítico del módulo de recolección de hielo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al rendimiento de impacto crítico del módulo de recolección de hielo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minero (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules de laser d'extraction de glace\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux chances de coups critiques du module de collecte de glace\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée du module de collecte de glace\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux chances de coups critiques du module de collecte de glace\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au rendement des coups critiques du module de collecte de glace\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer d'extraction :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Ice Mining Laser modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Ice Harvesting module critical hit chance\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Ice Harvesting module range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Ice Harvesting module critical hit chance\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Ice Harvesting module critical hit yield\"\n            }\n          ], \n          \"header\": \"Mining Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·アイス採掘レーザーモジュールを装備可能\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"アイス採掘モジュールのクリティカル率にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"アイス採掘モジュールの範囲にボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"アイス採掘モジュールのクリティカル率にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"アイス採掘モジュールのクリティカル採掘量にボーナス\"\n            }\n          ], \n          \"header\": \"採掘用駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·아이스 채굴 레이저 장착 가능\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"아이스 채굴 모듈 대량 채굴 확률 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"아이스 채굴 모듈 채굴 거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"아이스 채굴 모듈 대량 채굴 확률 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"아이스 채굴 모듈 대량 채굴 산출량 증가\"\n            }\n          ], \n          \"header\": \"채굴 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Можно оснастить лазерами для бурения льда\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к шансу крит. удара для модулей бурения льда\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к дальности модулей бурения льда\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к шансу крит. удара для модулей бурения льда\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к объёму добычи при крит. ударе для модулей бурения льда\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Mining Destroyer:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配冰矿开采激光器装备\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"冰矿采集装备暴击几率加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"冰矿采集装备范围加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"冰矿采集装备暴击几率加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"冰矿采集装备暴击产量加成\"\n            }\n          ], \n          \"header\": \"采矿驱逐舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 91174\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Triage-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Kommandostrahl-Modulen\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Es kann nur ein Energiespeicherbooster-Modul online sein\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Leistung von Capital-Schildfernboostern und Energiespeicher-Ferntransmittern\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Menge von Energiespeicherboostern \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Schildkommando- und Informationkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Caldari Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Triage module\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CPU requirements for Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Logistics Drone transfer amount\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can only online one Capacitor Booster module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Remote Shield Booster and Remote Capacitor Transmitter amount\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Capacitor Booster amount \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Shield Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Caldari Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de triaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de los requisitos de CPU de los módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación a la cantidad de transferencia del dron logístico.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Solo puede conectar un módulo de potenciador de condensador.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cantidad de potenciadores de escudo remotos capitales y de transmisores de condensador remotos.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad de potenciadores de condensador. \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de escudo y de mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de triage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la consommation en CPU des salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la capacité de transfert des drones logistiques\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }, \n          {\n            \"text\": \"·Ne peut mettre en ligne qu'un seul module de booster de capaciteur\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au montant du booster de bouclier à distance capital et du transmetteur de capaciteur à distance\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus au montant du booster de capaciteur \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers et de commandement électronique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Triage module\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CPU requirements for Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Logistics Drone transfer amount\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can only online one Capacitor Booster module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Remote Shield Booster and Remote Capacitor Transmitter amount\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Capacitor Booster amount \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Shield Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Caldari Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·トリアージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストモジュールのCPU要件が減少\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"支援型ドローンの転送量が増加\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"text\": \"·オンラインにできるキャパシタブースターモジュールは1つだけです\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルリモートシールドブースターとリモートキャパシタトランスミッターの量にボーナス\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"キャパシタブースター量にボーナス \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"シールドコマンドバーストと情報戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·트리아지 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 모듈 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"로지스틱스 드론 수리량 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·하나의 캐패시터 부스터만 온라인 상태로 전환할 수 있습니다\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 실드 부스터 및 원격 캐패시터 전송기 회복량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"캐패시터 부스터 회복량 증가 \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"실드 버스트 및 정보전 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"칼다리 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами ремонтного профиля\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность импульсных оптимизаторов в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"повышается производительность ремонтных дронов\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }, \n          {\n            \"text\": \"·Можно включить только один модуль инъектора накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус у эффективности флагманских модулей дистанционной накачки щитов и модулей дистанционного пополнения накопителя\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к эффективности инъекторов накопителя \"\n            }, \n            {\n              \"number\": \"на 1%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов и импульсными оптимизаторами РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战型紧急修复增强模块\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波CPU需求降低\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"后勤无人机传输量加成\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·只能启用一个电容注电器装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级远程护盾回充增量器回充量加成和远程电容传输装置传输量加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"电容注电器注电量加成 \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"护盾指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"加达里航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37605\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Triage-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Kommandostrahl-Modulen\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }, \n          {\n            \"text\": \"·Es kann nur ein Energiespeicherbooster-Modul online sein\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Leistung von Energiespeicher-Ferntransmittern und Capital-Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Menge von Energiespeicherboostern \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungkommando- und Informationkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Amarr Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Triage module\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CPU requirements for Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Logistics Drone transfer amount\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }, \n          {\n            \"text\": \"·Can only online one Capacitor Booster module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Remote Capacitor Transmitter and Capital Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Capacitor Booster amount \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Armored Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Amarr Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de triaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de los requisitos de CPU de los módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación a la cantidad de transferencia del dron logístico.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }, \n          {\n            \"text\": \"·Solo puede conectar un módulo de potenciador de condensador.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la eficiencia de los transmisores de condensador remotos y los reparadores de blindaje remotos capitales.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad de potenciadores de condensador. \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje y de mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de triage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la consommation en CPU des salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la capacité de transfert des drones logistiques\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }, \n          {\n            \"text\": \"·Ne peut mettre en ligne qu'un seul module de booster de capaciteur\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au transmetteur de capaciteur à distance et au montant du réparateur de blindage à distance capital\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus au montant du booster de capaciteur \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindé et de commandement électronique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Triage module\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CPU requirements for Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Logistics Drone transfer amount\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }, \n          {\n            \"text\": \"·Can only online one Capacitor Booster module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Remote Capacitor Transmitter and Capital Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Capacitor Booster amount \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Armored Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Amarr Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·トリアージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストモジュールのCPU要件が減少\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"支援型ドローンの転送量が増加\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }, \n          {\n            \"text\": \"·オンラインにできるキャパシタブースターモジュールは1つだけです\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"リモートキャパシタトランスミッターとキャピタルリモートアーマーリペアラの量にボーナス\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"キャパシタブースター量にボーナス \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"アーマードコマンドバーストと情報戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"アマー艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·트리아지 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 모듈 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"로지스틱스 드론 수리량 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }, \n          {\n            \"text\": \"·하나의 캐패시터 부스터만 온라인 상태로 전환할 수 있습니다\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 캐패시터 전송기 및 캐피탈 원격 장갑수리 장치 회복량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"캐패시터 부스터 회복량 증가 \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"장갑 버스트 및 정보전 버스트 효과 강화 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"아마르 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами ремонтного профиля\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность импульсных оптимизаторов в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"повышается производительность ремонтных дронов\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }, \n          {\n            \"text\": \"·Можно включить только один модуль инъектора накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к эффективности модулей дистанционного пополнения накопителя и флагманских модулей дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к эффективности инъекторов накопителя \"\n            }, \n            {\n              \"number\": \"на 1%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони и импульсными оптимизаторами РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战型紧急修复增强模块\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波CPU需求降低\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"后勤无人机传输量加成\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }, \n          {\n            \"text\": \"·只能启用一个电容注电器装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"远程电容传输装置传输量加成和旗舰级远程装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"电容注电器注电量加成 \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"装甲指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"艾玛航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37604\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Triage-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Kommandostrahl-Modulen\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }, \n          {\n            \"text\": \"·Es kann nur ein Energiespeicherbooster-Modul online sein\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Durchlaufzeit von Capital-Panzerungs-Fernreparatursystemen und Capital-Schildfernboostern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Reparaturmenge von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"Bonus auf die Menge von Energiespeicherboostern \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungkommando- und Gefechtkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Gallente Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Triage module\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CPU requirements for Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Logistics Drone transfer amount\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }, \n          {\n            \"text\": \"·Can only online one Capacitor Booster module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Remote Armor Repairer and Capital Remote Shield Booster cycle time\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Capacitor Booster amount \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Armored Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Gallente Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de triaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de los requisitos de CPU de los módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación a la cantidad de transferencia del dron logístico.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }, \n          {\n            \"text\": \"·Solo puede conectar un módulo de potenciador de condensador.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al tiempo de ciclo del reparador de blindaje remoto capital y del potenciador de escudo remoto capital.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonificación a la cantidad de potenciadores de condensador. \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje y de mando de escaramuza.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de triage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la consommation en CPU des salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la capacité de transfert des drones logistiques\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }, \n          {\n            \"text\": \"·Ne peut mettre en ligne qu'un seul module de booster de capaciteur\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au réparateur de blindage à distance capital et du temps de cycle du booster de bouclier à distance capital\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la capacité réparatrice du réparateur de blindage\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonus au montant du booster de capaciteur \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindé et de commandement tactique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Triage module\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CPU requirements for Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Logistics Drone transfer amount\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }, \n          {\n            \"text\": \"·Can only online one Capacitor Booster module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Remote Armor Repairer and Capital Remote Shield Booster cycle time\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Capacitor Booster amount \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Armored Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Gallente Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·トリアージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストモジュールのCPU要件が減少\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"支援型ドローンの転送量が増加\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }, \n          {\n            \"text\": \"·オンラインにできるキャパシタブースターモジュールは1つだけです\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルリモートアーマーリペアラとキャピタルリモートシールドブースターのサイクル時間にボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラの回復量にボーナス\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"キャパシタブースター量にボーナス \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"アーマードコマンドバーストと機動戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·트리아지 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 모듈 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"로지스틱스 드론 수리량 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }, \n          {\n            \"text\": \"·하나의 캐패시터 부스터만 온라인 상태로 전환할 수 있습니다\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 원격 장갑수리 및 캐피탈 원격 실드 부스터 사이클 시간 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"캐패시터 부스터 회복량 증가 \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"장갑 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"갈란테 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами ремонтного профиля\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность импульсных оптимизаторов в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"повышается производительность ремонтных дронов\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }, \n          {\n            \"text\": \"·Можно включить только один модуль инъектора накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к времени цикла флагманских модулей дистанционного ремонта брони и флагманских модулей дистанционного усиления щитов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности установки ремонта брони\"\n            }, \n            {\n              \"number\": \"на 30%\", \n              \"text\": \"бонус к эффективности инъекторов накопителя \"\n            }, \n            {\n              \"number\": \"на 1%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони и импульсными оптимизаторами маневрирования\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战型紧急修复增强模块\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波CPU需求降低\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"后勤无人机传输量加成\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }, \n          {\n            \"text\": \"·只能启用一个电容注电器装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级远程装甲维修器和旗舰级远程护盾回充增量器循环周期加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"电容注电器注电量加成 \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"装甲指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"盖伦特航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37607\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Triage-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Kommandostrahl-Modulen\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n          }, \n          {\n            \"text\": \"·Es kann nur ein Energiespeicherbooster-Modul online sein\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Durchlaufzeit von Capital-Panzerungs-Fernreparatursystemen und Capital-Schildfernboostern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"Bonus auf die Menge von Energiespeicherboostern \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Schildkommando- und Gefechtkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Triage module\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CPU requirements for Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Logistics Drone transfer amount\"\n          }, \n          {\n            \"text\": \"·Can only online one Capacitor Booster module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Remote Armor Repairer and Capital Remote Shield Booster cycle time\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Capacitor Booster amount \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Shield Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de triaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de los requisitos de CPU de los módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación a la cantidad de transferencia del dron logístico.\"\n          }, \n          {\n            \"text\": \"·Solo puede conectar un módulo de potenciador de condensador.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al tiempo de ciclo del reparador de blindaje remoto capital y del potenciador de escudo remoto capital.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cantidad de potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonificación a la cantidad de potenciadores de condensador. \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de escudo y de mando de escaramuza.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de triage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la consommation en CPU des salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la capacité de transfert des drones logistiques\"\n          }, \n          {\n            \"text\": \"·Ne peut mettre en ligne qu'un seul module de booster de capaciteur\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au réparateur de blindage à distance capital et du temps de cycle du booster de bouclier à distance capital\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonus au montant du booster de capaciteur \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers et de commandement tactique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Triage module\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CPU requirements for Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Logistics Drone transfer amount\"\n          }, \n          {\n            \"text\": \"·Can only online one Capacitor Booster module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Remote Armor Repairer and Capital Remote Shield Booster cycle time\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Capacitor Booster amount \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Shield Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·トリアージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストモジュールのCPU要件が減少\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"支援型ドローンの転送量が増加\"\n          }, \n          {\n            \"text\": \"·オンラインにできるキャパシタブースターモジュールは1つだけです\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルリモートアーマーリペアラとキャピタルリモートシールドブースターのサイクル時間にボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースター量にボーナス\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"キャパシタブースター量にボーナス \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"シールドコマンドバーストと機動戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·트리아지 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 모듈 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"로지스틱스 드론 수리량 증가\"\n          }, \n          {\n            \"text\": \"·하나의 캐패시터 부스터만 온라인 상태로 전환할 수 있습니다\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 원격 장갑수리 및 캐피탈 원격 실드 부스터 사이클 시간 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"캐패시터 부스터 회복량 증가 \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"실드 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"민마타 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами ремонтного профиля\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность импульсных оптимизаторов в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"повышается производительность ремонтных дронов\"\n          }, \n          {\n            \"text\": \"·Можно включить только один модуль инъектора накопителя\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к времени цикла флагманских модулей дистанционного ремонта брони и флагманских модулей дистанционного усиления щитов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности восстановителя щитов\"\n            }, \n            {\n              \"number\": \"на 30%\", \n              \"text\": \"бонус к эффективности инъекторов накопителя \"\n            }, \n            {\n              \"number\": \"на 1%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов и импульсными оптимизаторами маневрирования\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战型紧急修复增强模块\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波CPU需求降低\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"后勤无人机传输量加成\"\n          }, \n          {\n            \"text\": \"·只能启用一个电容注电器装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级远程装甲维修器和旗舰级远程护盾回充增量器循环周期加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"电容注电器注电量加成 \"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"护盾指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37606\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"der Ausbeute von Oberflächen-Bergbaulasern\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"der Dauer von Eisschürfern\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"der Dauer von Gas-Extraktoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"der Ausbeute von Oberflächen-Bergbaulasern\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"der Dauer von Eisschürfern\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"der Dauer von Gas-Extraktoren\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Kapazität des Erzfrachtraums des Schiffs\"\n            }\n          ], \n          \"header\": \"Mining Barge Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"in Strip Miner yield\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"in Ice Harvester duration\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"in Gas Harvester duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"in Strip Miner yield\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"in Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"in Gas Harvester duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship ore hold capacity\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"a la producción del extractor minero.\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"a la duración de la cosechadora de hielo.\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"a la duración de la cosechadora de gas.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"a la producción del extractor minero.\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"a la duración de la cosechadora de hielo.\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"a la duración de la cosechadora de gas.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad del almacén de menas de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Gabarra minera (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"au rendement des lasers d'extraction intensive\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"à la durée des collecteurs de glace\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"à la durée des collecteurs de gaz\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"au rendement des lasers d'extraction intensive\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"à la durée des collecteurs de glace\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"à la durée des collecteurs de gaz\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute â minerai du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Barge d'extraction minière :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"in Strip Miner yield\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"in Ice Harvester duration\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"in Gas Harvester duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"in Strip Miner yield\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"in Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"in Gas Harvester duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship ore hold capacity\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"ストリップマイナー採掘量ボーナス\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"アイス採掘機サイクル時間ボーナス\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"ガス採掘機サイクル時間ボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"ストリップマイナー採掘量ボーナス\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"アイス採掘機サイクル時間ボーナス\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"ガス採掘機サイクル時間ボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の鉱石容量が増加\"\n            }\n          ], \n          \"header\": \"採掘艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"가속 채굴기 채굴량\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"아이스 채굴기 지속시간\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"가스 하베스터 지속시간\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"가속 채굴기 채굴량\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"아이스 채굴기 지속시간\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"가스 하베스터 지속시간\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"광물 저장고 적재량 증가\"\n            }\n          ], \n          \"header\": \"채광선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"от эффективности добычи буровых лазеров валовой выемки\"\n          }, \n          {\n            \"number\": \"на -12.5%\", \n            \"text\": \"от времени работы установок для бурения льда\"\n          }, \n          {\n            \"number\": \"на -12.5%\", \n            \"text\": \"от времени работы установок для сбора газа\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 3%\", \n              \"text\": \"от эффективности добычи буровых лазеров валовой выемки\"\n            }, \n            {\n              \"number\": \"на -2%\", \n              \"text\": \"от времени работы установок для бурения льда\"\n            }, \n            {\n              \"number\": \"на -2%\", \n              \"text\": \"от времени работы установок для сбора газа\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость отсека для руды\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Буровые корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"露天采矿器开采量\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"冰矿采集器运转周期\"\n          }, \n          {\n            \"number\": \"-12.5%\", \n            \"text\": \"气云采集器运转周期\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"露天采矿器开采量\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"冰矿采集器运转周期\"\n            }, \n            {\n              \"number\": \"-2%\", \n              \"text\": \"气云采集器运转周期\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船矿石舱容量加成\"\n            }\n          ], \n          \"header\": \"采矿驳船操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17478\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von großen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von großen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Aktivierungskosten von großen Energiegeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Large Energy Turret powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Energy Turret CPU requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Energy Turret activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción en el requisito del sistema de potencia de la torreta de energía grande.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción en el requisito de CPU de la torreta de energía grande.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del coste de activación de la torreta de energía grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction du réseau d'alimentation requis par les grandes tourelles à énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du CPU requis par les grandes tourelles à énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du coût d'activation des grandes tourelles à énergie\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Large Energy Turret powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Energy Turret CPU requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Energy Turret activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"大型エネルギータレットのパワーグリッド使用量が軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型エネルギータレットのCPU使用量が軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型エネルギータレットの起動コストが軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"대형 에너지 터렛 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"대형 에너지 터렛 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"대형 에너지 터렛 활성화 비용 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность больших лазерных орудий в мощности реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность больших лазерных орудий в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается расход энергии при ведении огня из больших лазерных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"大型能量炮台能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型能量炮台CPU需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型能量炮台启动消耗减少\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 4302\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Energiespeicherladezeit\"\n            }\n          ], \n          \"header\": \"Assault Frigates Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von Raketen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Leichten Lenkwaffenwerfern und Raketenwerfern\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship capacitor recharge rate\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Rocket damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de carga del condensador de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas de asalto (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de los cohetes.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles ligeros y los lanzacohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse de recharge du capaciteur du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d’assaut :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des roquettes\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers et des lance-roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship capacitor recharge rate\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Rocket damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のキャパシタリチャージ率が増加\"\n            }\n          ], \n          \"header\": \"強襲型フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ロケットのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイルとロケットランチャーの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"함선 캐패시터 충전 속도 증가\"\n            }\n          ], \n          \"header\": \"어썰트 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"로켓 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일 및 로켓 런처 연사속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорость регенерации энергии в накопителе корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается урон БЧ лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорострельность ПУ лёгких ракет и лёгких штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船电容回充速率加成\"\n            }\n          ], \n          \"header\": \"突击护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"火箭伤害加成 \"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"火箭和轻型导弹发射器射速加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11365\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von großen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von großen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Aktivierungskosten von großen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Large Hybrid Turret powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Hybrid Turret CPU requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Hybrid Turret activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción en el requisito de sistema de potencia de la torreta híbrida grande.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción en el requisito de CPU de la torreta híbrida grande.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del coste de activación de la torreta híbrida grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction du réseau d'alimentation requis par les grandes tourelles hybrides\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du CPU requis par les grandes tourelles hybrides\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du coût d'activation des grandes tourelles hybrides\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des grandes tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Large Hybrid Turret powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Hybrid Turret CPU requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Hybrid Turret activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"大型ハイブリッドタレットのパワーグリッド使用量が軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型ハイブリッドタレットのCPU使用量が軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型ハイブリッドタレットの起動コストが軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"대형 하이브리드 터렛 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"대형 하이브리드 터렛 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"대형 하이브리드 터렛 활성화 비용 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность больших гибридных орудий в мощности реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность больших гибридных орудий в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается расход энергии при ведении огня из больших гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"大型混合炮台能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型混合炮台CPU需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型混合炮台启动消耗减少\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台最佳射程加成 \"\n            }\n          ], \n          \"header\": \"加达里战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 4306\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Verringerung von CONCORD-Kopfgeldern\"\n          }, \n          {\n            \"text\": \"·Bis zu 50 % Reduktion der Schild- und Panzerungsresistenzen\"\n          }, \n          {\n            \"text\": \"·Bis zu 50 % Reduktion des Schadens durch Geschütztürme, Werfer, Drohnen und Smartbombs\"\n          }, \n          {\n            \"text\": \"·Anziehungsfeld-Störsender sind für das ganze System aktiviert.\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CONCORD bounties\"\n          }, \n          {\n            \"text\": \"·Up to 50% reduction in shield and armor resistances\"\n          }, \n          {\n            \"text\": \"·Up to 50% reduction in turret, launcher, drone and smartbomb damage\"\n          }, \n          {\n            \"text\": \"·System-wide cynosural field jammers are in effect\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción a las recompensas de CONCORD.\"\n          }, \n          {\n            \"text\": \"·Hasta un 50 % de reducción de las resistencias de blindaje y escudo.\"\n          }, \n          {\n            \"text\": \"·Hasta un 50 % de reducción del daño de torretas, lanzadores, drones y bombas inteligentes.\"\n          }, \n          {\n            \"text\": \"·Se activan los aparatos perturbadores de campo cinosural en todo el sistema.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"réduction des primes CONCORD\"\n          }, \n          {\n            \"text\": \"·Jusqu'à 50 % de réduction des résistances de bouclier et de blindage\"\n          }, \n          {\n            \"text\": \"·Jusqu'à 50 % de réduction des dégâts de tourelles, de lanceurs, de drones et de bombes de proximité\"\n          }, \n          {\n            \"text\": \"·Brouilleurs de champ cynosural effectifs dans tout le système en action\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CONCORD bounties\"\n          }, \n          {\n            \"text\": \"·Up to 50% reduction in shield and armor resistances\"\n          }, \n          {\n            \"text\": \"·Up to 50% reduction in turret, launcher, drone and smartbomb damage\"\n          }, \n          {\n            \"text\": \"·System-wide cynosural field jammers are in effect\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"CONCORDの懸賞金削減\"\n          }, \n          {\n            \"text\": \"·シールドとアーマーレジスタンスが最大50%減少\"\n          }, \n          {\n            \"text\": \"·タレット、ランチャー、ドローン、スマートボムへのダメージが最大50%減少\"\n          }, \n          {\n            \"text\": \"·全システム用サイノシュラルフィールドジャマー装置が起動中\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"CONCORD 현상금 감소\"\n          }, \n          {\n            \"text\": \"·실드 및 장갑 저항력 최대 50% 감소\"\n          }, \n          {\n            \"text\": \"·터렛, 런처, 드론, 스마트폭탄 피해량 최대 50% 감소\"\n          }, \n          {\n            \"text\": \"·항성계 전체에 사이노슈럴 필드 재머 작동 중\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшение наград, назначенных КОНКОРДом\"\n          }, \n          {\n            \"text\": \"·Уменьшение сопротивляемости щитов и брони до 50%\"\n          }, \n          {\n            \"text\": \"·Уменьшение урона от турелей, пусковых установок, дронов и импульсных излучателей до 50%\"\n          }, \n          {\n            \"text\": \"·Действуют глушители поля приводного маяка с охватом всей системы\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"统合部赏金减少\"\n          }, \n          {\n            \"text\": \"·护盾和装甲抗性降低，最多50%\"\n          }, \n          {\n            \"text\": \"·炮台、发射器、无人机和立体炸弹的威力被削弱，最多50%\"\n          }, \n          {\n            \"text\": \"·全星系遭受反诱导力场干扰\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 3494\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von großen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von großen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Aktivierungskosten von großen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Large Hybrid Turret powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Hybrid Turret CPU requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Hybrid Turret activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción en el requisito de sistema de potencia de la torreta híbrida grande.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción en el requisito de CPU de la torreta híbrida grande.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del coste de activación de la torreta híbrida grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction du réseau d'alimentation requis par les grandes tourelles hybrides\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du CPU requis par les grandes tourelles hybrides\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du coût d'activation des grandes tourelles hybrides\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des grandes tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Large Hybrid Turret powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Hybrid Turret CPU requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Large Hybrid Turret activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"大型ハイブリッドタレットのパワーグリッド使用量が軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型ハイブリッドタレットのCPU使用量が軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型ハイブリッドタレットの起動コストが軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"대형 하이브리드 터렛 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"대형 하이브리드 터렛 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"대형 하이브리드 터렛 활성화 비용 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность больших гибридных орудий в мощности реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность больших гибридных орудий в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается расход энергии при ведении огня из больших гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"大型混合炮台能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型混合炮台CPU需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"大型混合炮台启动消耗减少\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 4308\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die CPU-Leistung des Schiffes\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1 max. aufgeschaltetes Ziel\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Sensorstärke des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die maximale Zielerfassungsreichweite\"\n            }\n          ], \n          \"header\": \"Gallente Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship CPU output\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ship sensor strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to max targeting range\"\n            }\n          ], \n          \"header\": \"Gallente Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación al rendimiento de la CPU de la nave.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+1 objetivo fijado máximo\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la intensidad de los sensores de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la distancia-objetivo máxima.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales gallentes (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la puissance du CPU du vaisseau\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·+1 Cible verrouillée max\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la puissance de détection du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée maximale du système de ciblage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship CPU output\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ship sensor strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to max targeting range\"\n            }\n          ], \n          \"header\": \"Gallente Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船のCPU出力が上昇\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·最大ロックターゲット数+1\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"艦船のセンサー強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"最大ターゲット範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"CPU 용량 증가\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·최대 타겟팅 수 +1\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"센서 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 타겟팅 거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается мощность ЦПУ корабля\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+1 к максимуму захваченных целей\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"повышается эффективность системы захвата целей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается максимальная дальность захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船CPU输出加成\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2，低槽+2\"\n          }, \n          {\n            \"text\": \"·目标锁定数上限+1\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"舰船感应强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"最大锁定距离加成\"\n            }\n          ], \n          \"header\": \"盖伦特核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45628\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"der Dauer von Eisschürfern\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"der Dauer und Aktivierungskosten von Oberflächen-Bergbaulasern\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"der Dauer von Gas-Extraktoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"der Ausbeute von Oberflächen-Bergbaulasern\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"der Dauer von Eisschürfern\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"der Dauer von Gas-Extraktoren\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"auf die Reichweite von Oberflächen-Bergbaulasern und Eisschürfern\"\n            }\n          ], \n          \"header\": \"Mining Barge Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"in Ice Harvester duration\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"in Strip Miner duration and activation cost\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"in Gas Harvester duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"in Strip Miner yield\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Gas Harvester duration\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"to Strip Miner and Ice Harvester range\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"a la duración de la cosechadora de hielo.\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"a la duración y el coste de activación del extractor minero.\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"a la duración de la cosechadora de gas.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"a la producción del extractor minero.\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"a la duración de la cosechadora de hielo.\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"a la duración de la cosechadora de gas.\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"al alcance del extractor minero y la cosechadora de hielo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Gabarra minera (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"à la durée des collecteurs de glace\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"à la durée et au coût d'activation des lasers d'extraction intensive\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"à la durée des collecteurs de gaz\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"au rendement des lasers d'extraction intensive\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"à la durée des collecteurs de glace\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"à la durée des collecteurs de gaz\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"à la portée du laser d'extraction intensive et du collecteur de glace\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Barge d'extraction minière :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"in Ice Harvester duration\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"in Strip Miner duration and activation cost\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"in Gas Harvester duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"in Strip Miner yield\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Gas Harvester duration\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"to Strip Miner and Ice Harvester range\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"アイス採掘機サイクル時間ボーナス\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"ストリップマイナーのサイクル時間と起動コストボーナス\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"ガス採掘機サイクル時間ボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"ストリップマイナー採掘量ボーナス\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"アイス採掘機サイクル時間ボーナス\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"ガス採掘機サイクル時間ボーナス\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"ストリップマイナーとアイス採掘機の範囲にボーナス\"\n            }\n          ], \n          \"header\": \"採掘艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"아이스 채굴기 지속시간\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"가속 채굴기 지속시간 및 활성화 비용\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"가스 하베스터 지속시간\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"가속 채굴기 채굴량\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"아이스 채굴기 지속시간\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"가스 하베스터 지속시간\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"가속 채굴기 및 아이스 채굴기 사거리\"\n            }\n          ], \n          \"header\": \"채광선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на -30%\", \n            \"text\": \"от времени работы установок для бурения льда\"\n          }, \n          {\n            \"number\": \"на -25%\", \n            \"text\": \"от времени работы и потребления энергии при активации буровых лазеров валовой выемки\"\n          }, \n          {\n            \"number\": \"на -30%\", \n            \"text\": \"от времени работы установок для сбора газа\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 3%\", \n              \"text\": \"от эффективности добычи буровых лазеров валовой выемки\"\n            }, \n            {\n              \"number\": \"на -3%\", \n              \"text\": \"от времени работы установок для бурения льда\"\n            }, \n            {\n              \"number\": \"на -3%\", \n              \"text\": \"от времени работы установок для сбора газа\"\n            }, \n            {\n              \"number\": \"на 6%\", \n              \"text\": \"к дальности действия буровых лазеров валовой выемки и установок для бурения льда\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Буровые корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"冰矿采集器运转周期\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"露天采矿器运转周期和启动消耗\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"气云采集器运转周期\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"露天采矿器开采量\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"冰矿采集器运转周期\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"气云采集器运转周期\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"露天采矿器和冰矿采集器射程加成\"\n            }\n          ], \n          \"header\": \"采矿驳船操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17476\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Scansondenwerfern\"\n          }, \n          {\n            \"text\": \"·Modifikationen können unbeschadet von diesem Schiff entfernt werden.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Gallente-Offensivsysteme\"\n            }\n          ], \n          \"header\": \"Gallente Offensive Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Gallente-Kernsysteme\"\n            }\n          ], \n          \"header\": \"Gallente Core Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Gallente-Defensivsysteme\"\n            }\n          ], \n          \"header\": \"Gallente Defensive Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Gallente-Schiffsantriebe\"\n            }\n          ], \n          \"header\": \"Gallente Propulsion Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Verringerung des Modulschadens durch Überhitzung\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Reparaturgeschwindigkeit von Nanobot-Reparaturpaste\"\n            }\n          ], \n          \"header\": \"Gallente Strategic Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Rigs may be removed from this ship without being destroyed\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Gallente Offensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Gallente Offensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Gallente Core Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Gallente Core Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Gallente Defensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Gallente Defensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Gallente Propulsion Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Gallente Propulsion Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to nanite repair paste repair speed\"\n            }\n          ], \n          \"header\": \"Gallente Strategic Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de reducción de los requisitos de CPU del lanzasondas de escaneo.\"\n          }, \n          {\n            \"text\": \"·Es posible quitar los complementos de esta nave sin destruirlos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas ofensivos gallentes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos gallentes (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas centrales gallentes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales gallentes (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas defensivos gallentes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos gallentes (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas de propulsión gallentes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión gallentes (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del daño del módulo por sobrecalentamiento.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de reconstrucción del fluido reparador de nanobots.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero estratégico gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de réduction de la charge CPU requise pour les lanceurs de sondes de balayage\"\n          }, \n          {\n            \"text\": \"·Les modifications de ce vaisseau peuvent être retirées sans être détruites\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus à l'efficacité de tous les systèmes offensifs gallente\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonus à l'efficacité de tous les systèmes principaux gallente\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus à l'efficacité de tous les systèmes défensifs gallente\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus à l'efficacité de tous les systèmes de propulsion gallente\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction de la détérioration du module suite à la surchauffe\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la vitesse de réparation des nanites de réparation\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur stratégique gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Rigs may be removed from this ship without being destroyed\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Gallente Offensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Gallente Offensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Gallente Core Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Gallente Core Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Gallente Defensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Gallente Defensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Gallente Propulsion Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Gallente Propulsion Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to nanite repair paste repair speed\"\n            }\n          ], \n          \"header\": \"Gallente Strategic Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"スキャンプローブランチャーのCPU使用率を軽減\"\n          }, \n          {\n            \"text\": \"·艦船を破壊せずにリグを取り外せることがある\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのガレンテ攻撃システムの効果が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ攻撃システムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのガレンテコアシステムの効果が増大\"\n            }\n          ], \n          \"header\": \"ガレンテ・コアシステムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのガレンテ防御システムの効果が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ防御システムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのガレンテ推進力システムの効果が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ推進力システムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"オーバーヒート時のモジュールダメージを軽減\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ナノマシンリペアペイストの速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ戦略的巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"스캔 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·리그를 파괴하지 않고 해제 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·갈란테 공격용 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"갈란테 공격용 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·갈란테 코어 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"갈란테 코어 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·갈란테 방어용 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"갈란테 방어용 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·갈란테 추진기 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"갈란테 추진기 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"과부하로 인한 모듈 손상 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"나나이트 용액 수리 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 전략 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 99%\", \n            \"text\": \"сокращается потребность пусковых установок разведзондов в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·Из кораблей этого типа модификаторы извлекаются без разрушения\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия галлентских наступательных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские наступательные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия галлентских центральных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские центральные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия галлентских оборонительных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские оборонительные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия галлентских двигательных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские двигательные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается объём повреждений модулей, получаемых ими при перегрузке\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость ремонта модулей ремонтной нанопастой\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские стратегические крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"扫描探针发射器CPU需求降低\"\n          }, \n          {\n            \"text\": \"·改装件从舰船上移除不会销毁\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·盖伦特攻击子系统效果加成\"\n            }\n          ], \n          \"header\": \"盖伦特攻击子系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·盖伦特核心子系统效果加成\"\n            }\n          ], \n          \"header\": \"盖伦特核心系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·盖伦特防御子系统效果加成\"\n            }\n          ], \n          \"header\": \"盖伦特防御子系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·盖伦特推进子系统效果加成\"\n            }\n          ], \n          \"header\": \"盖伦特推进子系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"装备过载损伤降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"纳米体修复粘合剂维修速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战略巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 29988\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Stromleistung des Schiffes\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50 GJ Energiespeicherkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Wiederaufladezeit des Energiespeichers\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf die Resistenz gegen Energiekriegsführung\"\n            }\n          ], \n          \"header\": \"Gallente Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to ship power output\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to capacitor recharge time\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to energy warfare resistance\"\n            }\n          ], \n          \"header\": \"Gallente Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la potencia de salida de la nave.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+50 GJ de capacidad del condensador\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al tiempo de carga del condensador.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la resistencia a la guerra de energía.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales gallentes (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la puissance du réseau d'alimentation du vaisseau\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +50 GJ\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au temps de recharge du capaciteur\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la résistance aux énergies de guerre\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to ship power output\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to capacitor recharge time\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to energy warfare resistance\"\n            }\n          ], \n          \"header\": \"Gallente Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"艦船のパワー出力が上昇\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+50GJ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャパシタのリチャージ時間にボーナス\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"エネルギー戦耐性が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"함선 출력 증가\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +50 GJ\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐패시터 충전시간 감소\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"에너지 관련 공격 저항력 증가\"\n            }\n          ], \n          \"header\": \"갈란테 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 20%\", \n            \"text\": \"повышается мощность реактора корабля\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+50 ГДж ёмкости накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается расход времени на регенерацию энергии в накопителе\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"увеличивается сопротивляемость вражескому воздействию на накопитель энергии\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"舰船能量栅格输出加成\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2，低槽+2\"\n          }, \n          {\n            \"text\": \"·电容器电容量+50GJ\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"电容器回充时间加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"能量战抗性加成\"\n            }\n          ], \n          \"header\": \"盖伦特核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45629\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf dem Schaden von kleinen Energiegeschütztürmen, kleinen Hybridgeschütztürmen und kleinen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen und Raketen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Small Energy Turret, Small Hybrid Turret and Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Light Missile and Rockets damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Drone hitpoints and damage\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación al daño de la torreta de energía pequeña, la torreta híbrida pequeña y la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación al daño de los misiles ligeros y los cohetes.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à énergie, des petites tourelles hybrides et des petites tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus aux dégâts des missiles légers et des roquettes\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux dégâts et aux points de vie des drones\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonus à la puissance du réacteur et des sondes de balayage de combat\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Small Energy Turret, Small Hybrid Turret and Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Light Missile and Rockets damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Drone hitpoints and damage\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"小型エネルギータレット、小型ハイブリッドタレット、小型プロジェクタイルタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"ライトミサイルとロケットのダメージが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ドローンのヒットポイントとダメージが増加\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"소형 에너지 터렛, 소형 하이브리드 터렛, 소형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"라이트 미사일 및 로켓 피해량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"드론 내구도 및 피해량 증가\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 20%\", \n            \"text\": \"увеличивается урон малых лазерных орудий, малых гибридных орудий и малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"увеличивается урон БЧ лёгких ракет и лёгких штурмовых ракет\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается поражающее действие бортового оружия дронов; увеличивается запас их прочности\"\n          }, \n          {\n            \"number\": \"на 37.5%\", \n            \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"小型能量炮台、小型混合炮台和小型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"轻型导弹和火箭伤害加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"无人机HP和伤害加成\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"核心和作战扫描探针强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 42685\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +3 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1000 Panzerungs-HP\"\n          }, \n          {\n            \"text\": \"·+10 m Signaturradius\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf alle Panzerungs-HP\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Panzerungshärtern\"\n            }\n          ], \n          \"header\": \"Amarr Defensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +3 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1000 Armor HP\"\n          }, \n          {\n            \"text\": \"·+10m Signature Radius\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to all armor hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to the benefits of overheating armor hardeners\"\n            }\n          ], \n          \"header\": \"Amarr Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura intermedia, +3 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+1000 PV de blindaje\"\n          }, \n          {\n            \"text\": \"·+10 m al radio de la señal\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a todos los puntos de vida del blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los endurecedores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement intermédiaire, +3 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·+1 000 PV au blindage\"\n          }, \n          {\n            \"text\": \"·Rayon de signature +10 m\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à tous les points de dommages du blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des Renforcements de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +3 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1000 Armor HP\"\n          }, \n          {\n            \"text\": \"·+10m Signature Radius\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to all armor hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to the benefits of overheating armor hardeners\"\n            }\n          ], \n          \"header\": \"Amarr Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+1、ロースロット+3\"\n          }, \n          {\n            \"text\": \"·アーマーHP+1000\"\n          }, \n          {\n            \"text\": \"·シグネチャ半径+10m\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"全てのアーマーヒットポイントが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"オーバーヒートしたアーマーハードナーにボーナス\"\n            }\n          ], \n          \"header\": \"アマー防御システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +1, 로우 슬롯 +3\"\n          }, \n          {\n            \"text\": \"·장갑 내구도 +1000\"\n          }, \n          {\n            \"text\": \"·시그니처 반경 +10m\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"장갑 내구도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"장갑 강화장치 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"아마르 방어용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём средней мощности, +3 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+1000 единиц прочности брони\"\n          }, \n          {\n            \"text\": \"·+10 метров размера сигнатуры\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается запас прочности брони корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"усиливается влияние перегрузки на параметры укрепителей брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские оборонительные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+1，低槽+3\"\n          }, \n          {\n            \"text\": \"·装甲值+1000\"\n          }, \n          {\n            \"text\": \"·信号半径+10m\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"装甲值加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装甲增强器过载效果加成\"\n            }\n          ], \n          \"header\": \"艾玛防御子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45587\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Scansondenwerfern\"\n          }, \n          {\n            \"text\": \"·Modifikationen können unbeschadet von diesem Schiff entfernt werden.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Caldari-Schiffsantriebe\"\n            }\n          ], \n          \"header\": \"Caldari Propulsion Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Caldari-Defensivsysteme\"\n            }\n          ], \n          \"header\": \"Caldari Defensive Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Verringerung des Modulschadens durch Überhitzung\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Reparaturgeschwindigkeit von Nanobot-Reparaturpaste\"\n            }\n          ], \n          \"header\": \"Caldari Strategic Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Caldari-Offensivsysteme\"\n            }\n          ], \n          \"header\": \"Caldari Offensive Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Caldari-Kernsysteme\"\n            }\n          ], \n          \"header\": \"Caldari Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Rigs may be removed from this ship without being destroyed\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Caldari Propulsion Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Caldari Propulsion Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Caldari Defensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Caldari Defensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to nanite repair paste repair speed\"\n            }\n          ], \n          \"header\": \"Caldari Strategic Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Caldari Offensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Caldari Offensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Caldari Core Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Caldari Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de reducción de los requisitos de CPU del lanzasondas de escaneo.\"\n          }, \n          {\n            \"text\": \"·Es posible quitar los complementos de esta nave sin destruirlos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas de propulsión caldaris.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión caldaris (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas defensivos caldaris.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del daño del módulo por sobrecalentamiento.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de reconstrucción del fluido reparador de nanobots.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero estratégico caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas ofensivos caldaris.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos caldaris (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas centrales caldaris.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de réduction de la charge CPU requise pour les lanceurs de sondes de balayage\"\n          }, \n          {\n            \"text\": \"·Les modifications de ce vaisseau peuvent être retirées sans être détruites\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus à l'efficacité de tous les systèmes de propulsion caldari\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus à l'efficacité de tous les systèmes défensifs caldari\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction de la détérioration du module suite à la surchauffe\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la vitesse de réparation des nanites de réparation\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur stratégique caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus à l'efficacité de tous les systèmes offensifs caldari\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonus à l'efficacité de tous les systèmes principaux caldari\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Rigs may be removed from this ship without being destroyed\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Caldari Propulsion Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Caldari Propulsion Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Caldari Defensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Caldari Defensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to nanite repair paste repair speed\"\n            }\n          ], \n          \"header\": \"Caldari Strategic Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Caldari Offensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Caldari Offensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Caldari Core Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Caldari Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"スキャンプローブランチャーのCPU使用率を軽減\"\n          }, \n          {\n            \"text\": \"·艦船を破壊せずにリグを取り外せることがある\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのカルダリ推進力システムの効果が増加\"\n            }\n          ], \n          \"header\": \"カルダリ推進力システムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのカルダリ防御システムの効果が増加\"\n            }\n          ], \n          \"header\": \"カルダリ防御システムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"オーバーヒート時のモジュールダメージを軽減\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ナノマシンリペアペイストの速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ戦略的巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのカルダリ攻撃システムの効果が増加\"\n            }\n          ], \n          \"header\": \"カルダリ攻撃システムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのカルダリコアシステムの効果が増大\"\n            }\n          ], \n          \"header\": \"カルダリ・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"스캔 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·리그를 파괴하지 않고 해제 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·칼다리 추진기 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"칼다리 추진기 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·칼다리 방어용 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"칼다리 방어용 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"과부하로 인한 모듈 손상 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"나나이트 용액 수리 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 전략 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·칼다리 공격용 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"칼다리 공격용 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·칼다리 코어 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"칼다리 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 99%\", \n            \"text\": \"сокращается потребность пусковых установок разведзондов в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·Из кораблей этого типа модификаторы извлекаются без разрушения\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия калдарских двигательных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские двигательные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия калдарских оборонительных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские оборонительные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается объём повреждений модулей, получаемых ими при перегрузке\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость ремонта модулей ремонтной нанопастой\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские стратегические крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия калдарских наступательных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские наступательные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия калдарских центральных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"扫描探针发射器CPU需求降低\"\n          }, \n          {\n            \"text\": \"·改装件从舰船上移除不会销毁\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·加达里推进子系统效果加成\"\n            }\n          ], \n          \"header\": \"加达里推进子系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·加达里防御子系统效果加成\"\n            }\n          ], \n          \"header\": \"加达里防御子系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"装备过载损伤降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"纳米体修复粘合剂维修速度加成\"\n            }\n          ], \n          \"header\": \"加达里战略巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·加达里攻击子系统效果加成\"\n            }\n          ], \n          \"header\": \"加达里攻击子系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·加达里核心子系统效果加成\"\n            }\n          ], \n          \"header\": \"加达里核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 29984\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des petites tourelles à énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 591\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Daten-Analysegeräten\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 High Slot, +1 Mid Slot, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+300 Schild-HP, +600 Rumpf-HP\"\n          }, \n          {\n            \"text\": \"·+200 GJ Energiespeicherkapazität\"\n          }, \n          {\n            \"text\": \"·+5 m Signaturradius\"\n          }, \n          {\n            \"text\": \"·+30 m3 Frachtraumkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Amarr Defensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 High Slot, +1 Mid Slot, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+300 Shield HP, +600 Hull HP\"\n          }, \n          {\n            \"text\": \"·+200GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+5m Signature Radius\"\n          }, \n          {\n            \"text\": \"·+30m3 Cargo Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer effectiveness\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to the benefits of overheating Armor Repairers\"\n            }\n          ], \n          \"header\": \"Amarr Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura superior, +1 ranura intermedia, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+300 PV de escudo, +600 PV de casco\"\n          }, \n          {\n            \"text\": \"·+200 GJ de capacidad del condensador\"\n          }, \n          {\n            \"text\": \"·+5 m al radio de la señal\"\n          }, \n          {\n            \"text\": \"·+30 m³ a la capacidad de carga\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del reparador de blindaje.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonificación a los beneficios de sobrecalentar los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes et un générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement supérieur, +1 Emplacement intermédiaire, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·+300 PV au bouclier, +600 PV à la coque\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +200 GJ\"\n          }, \n          {\n            \"text\": \"·Rayon de signature +5 m\"\n          }, \n          {\n            \"text\": \"·Capacité de la soute +30 m3\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité du Réparateur de blindage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des Réparateurs de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 High Slot, +1 Mid Slot, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+300 Shield HP, +600 Hull HP\"\n          }, \n          {\n            \"text\": \"·+200GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+5m Signature Radius\"\n          }, \n          {\n            \"text\": \"·+30m3 Cargo Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer effectiveness\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to the benefits of overheating Armor Repairers\"\n            }\n          ], \n          \"header\": \"Amarr Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物とデータアナライザーのウイルス強度が上昇\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置と潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+1、ミッドスロット+1、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·シールドHP+300、船体HP+600\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+200GJ\"\n          }, \n          {\n            \"text\": \"·シグネチャ半径+5m\"\n          }, \n          {\n            \"text\": \"·カーゴ容量+30m3\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラの効果が増大\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"オーバーヒートしたアーマーリペアラの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"アマー防御システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +1, 미드 슬롯 +1, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·실드량 +300, 선체 내구도 +600\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +200 GJ\"\n          }, \n          {\n            \"text\": \"·시그니처 반경 +5m\"\n          }, \n          {\n            \"text\": \"·화물 적재량 +30m³\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 효과 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"아마르 방어용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём большой мощности, +1 разъём средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+300 единиц прочности щитов, +600 единиц прочности корпуса\"\n          }, \n          {\n            \"text\": \"·+200 ГДж ёмкости накопителя\"\n          }, \n          {\n            \"text\": \"·+5 метров размера сигнатуры\"\n          }, \n          {\n            \"text\": \"·+30 м³ вместимости грузового отсека\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"усиливается влияние перегрузки на параметры установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские оборонительные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+1，中槽+1，低槽+2\"\n          }, \n          {\n            \"text\": \"·护盾值+300，结构值+600\"\n          }, \n          {\n            \"text\": \"·电容器电容量+200GJ\"\n          }, \n          {\n            \"text\": \"·信号半径+5m\"\n          }, \n          {\n            \"text\": \"·货柜舱容量+30m³\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器效果加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器过载效果加成\"\n            }\n          ], \n          \"header\": \"艾玛防御子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45586\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf die Effektivität des Stasisnetzes von Stasisnetz-Drohnen\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"Bonus auf die HP von Stasisnetz-Drohnen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit von Stasisnetz-Drohnen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Erhöhung des Signaturradius durch Mikrowarpantrieb\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von leichten Lenkwaffen und Raketenwerfern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von leichten Lenkwaffen und Raketen\"\n            }\n          ], \n          \"header\": \"Assault Frigates Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern und die Reparaturmenge von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Stasis Webifying Drone Stasis Webifier effectiveness\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Stasis Webifying Drone hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis Webifying Drone max velocity\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Light Missile and Rocket Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Light Missile and Rocket explosion velocity\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster and Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación a la efectividad de la red ralentizadora de los drones de red ralentizadora.\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonificación a los puntos de vida de los drones de red ralentizadora.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la velocidad máxima de los drones de red ralentizadora.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles ligeros y los lanzacohetes.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles ligeros y los cohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas de asalto (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo y los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonus d'efficacité des générateurs de stase des drones de stase\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonus de points de vie des drones de stase\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus pour la vitesse maximale des drones de stase\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la pénalité du rayon de signature du micropropulseur de warp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers et des lance-roquettes\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles légers et des roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d’assaut :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux capacités du booster de bouclier et du réparateur de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Stasis Webifying Drone Stasis Webifier effectiveness\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Stasis Webifying Drone hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis Webifying Drone max velocity\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Light Missile and Rocket Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Light Missile and Rocket explosion velocity\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster and Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"ステイシスウェブドローンのステイシスウェビファイヤーの効果にボーナス\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"ステイシスウェブドローンのヒットポイントにボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ステイシスウェブドローンの最大速度にボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが減少\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ライトミサイルおよびロケットランチャーの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ライトミサイルおよびロケットの爆発速度上昇\"\n            }\n          ], \n          \"header\": \"強襲型フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ライトミサイルおよびロケットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターおよびアーマーリペアラの回復量増加\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"스테이시스 웹 드론의 스테이시스 웹 생성기 효과 증가\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"스테이시스 웹 드론 내구도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스테이시스 웹 드론 최대속도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"라이트 미사일 및 로켓 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"라이트 미사일 및 로켓 폭발속도 증가\"\n            }\n          ], \n          \"header\": \"어썰트 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"라이트 미사일 및 로켓 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 및 장갑수리 장치 회복량 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 500%\", \n            \"text\": \"бонус к эффективности стазис-индукторов дронов стазис-индукции\"\n          }, \n          {\n            \"number\": \"на 250%\", \n            \"text\": \"бонус к запасу прочности дронов стазис-индукции\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к максимальной скорости дронов стазис-индукции\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшение влияния микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорострельности лёгких ракет и ракетных установок\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорости распространения взрыва легкой ракеты и ракеты\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к урону лёгких ракет и ракет\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности модуля накачки щитов и установки ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"停滞缠绕无人机停滞缠绕光束效果加成\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"停滞缠绕无人机HP加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"停滞缠绕无人机最大速度加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚减少\"\n          }, \n          {\n            \"text\": \"·可以装配突击型损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"轻型导弹和火箭发射器射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"轻型导弹和火箭爆炸速度加成\"\n            }\n          ], \n          \"header\": \"突击护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"轻型导弹和火箭伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量和装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 74141\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"text\": \"·Kann Bastionsmodule ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die maximale Reichweite von supratidalen entropischen Desintegratoren\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von supratidalen entropischen Desintegratoren\"\n            }\n          ], \n          \"header\": \"Precursor Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Reparaturmenge von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den maximalen Schadensmultiplikatorbonus von supratidalen entropischen Desintegratoren\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Supratidal Entropic Disintegrator maximum range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Supratidal Entropic Disintegrator tracking speed\"\n            }\n          ], \n          \"header\": \"Precursor Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Supratidal Entropic Disintegrator maximum damage multiplier bonus\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance máximo del desintegrador entrópico supramareal.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo del desintegrador entrópico supramareal.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado precursor (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al multiplicador de daño máximo del desintegrador entrópico supramareal.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et à la vitesse du rayon de tractage\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un module de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée maximale du désintégrateur entropique supratidal\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite du désintégrateur entropique supratidal\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé de précursion :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la capacité réparatrice du réparateur de blindage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus au multiplicateur de dégâts maximum du désintégrateur entropique supratidal\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Supratidal Entropic Disintegrator maximum range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Supratidal Entropic Disintegrator tracking speed\"\n            }\n          ], \n          \"header\": \"Precursor Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Supratidal Entropic Disintegrator maximum damage multiplier bonus\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの有効範囲が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遠隔アーマーリペアラキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの射程と速度にボーナス\"\n          }, \n          {\n            \"text\": \"·バスチオンモジュールを装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シュープラタイダル・エントロピックディスインテグレーターの最大射程距離が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シュープラタイダル・エントロピックディスインテグレーターの追跡速度上昇\"\n            }\n          ], \n          \"header\": \"プリカーサー戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラの回復量増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"シュープラタイダル・エントロピックディスインテグレーターの最大ダメージ乗数上昇\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"초중력장 엔트로픽 분열기 최대사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"초중력장 엔트로픽 분열기 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"프리커서 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"초중력장 엔트로픽 분열기 최대 데미지 배율 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности и скорости гравизахвата\"\n          }, \n          {\n            \"text\": \"·Позволяет установить оборонные модули\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к макс. дальности высоковолнового энтропического дезинтегратора\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорости наведения высоковолнового энтропического дезинтегратора\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Battleship:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности установки ремонта брони\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к макс. увеличению множителя урона высоковолнового энтропического дезинтегратора\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器范围加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和速度加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"潮上熵能分解者最大射程加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"潮上熵能分解者追踪速度加成\"\n            }\n          ], \n          \"header\": \"先驱者战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"潮上熵能分解者最大伤害系数额外加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 88001\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahlen-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittleren Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von mittleren Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittleren Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Aktivierungskosten von Schildboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Schildbooster-Energie und des CPU-Bedarfs\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Shield Booster power and CPU requirements\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta híbrida mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al coste de activación de los potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción de los requisitos de CPU y potencia del potenciador de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser un module de salve de commandement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale et à la déperdition des tourelles hybrides intermédiaires\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au coût d'activation du booster de bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction de la puissance des boosters de bouclier et des besoins en ressources CPU\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Shield Booster power and CPU requirements\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールが1個使える\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型ハイブリッドタレットの最適射程距離と精度低下にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットの追跡速度にボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターの起動コストが減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"シールドブースターの効果とCPU使用率の減少\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 하이브리드 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"실드 부스터 파워그리드 및 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"칼다리 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Может использовать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к оптимальной и остаточной дальности средних гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к урону средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорости наведения средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"Снижение расхода энергии на активацию модуля накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"снижение требований к энергии и мощности ЦПУ для модулей накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型混合炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器启动消耗加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"护盾回充增量器能量栅格和CPU需求降低\"\n            }\n          ], \n          \"header\": \"加达里战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 72812\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahlen-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Lenkwaffengeschwindigkeit\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von Werfern für schwere Lenkwaffen und schwere Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Reduktion des Signaturradius des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Missile velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion velocity\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"reduction to ship signature radius\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de reducción del radio de la señal de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser un module de salve de commandement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse des missiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles lourds et lance-missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de réduction du rayon de signature du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Missile velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion velocity\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"reduction to ship signature radius\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールが1個使える\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ミサイルの速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの爆発速度上昇\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"艦船のシグネチャ半径が縮小\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"미사일 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 폭발속도 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"함선 시그니처 반경 감소\"\n            }\n          ], \n          \"header\": \"민마타 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Может использовать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к скорости полёта ракет\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорострельности пусковых установок тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорости распространения взрыва тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"уменьшение радиуса сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"导弹飞行速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型导弹发射器和重型攻击导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹和重型攻击导弹爆炸速度加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"舰船信号半径降低\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 72811\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17841\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"Bonus auf die Reichweite von Schildfernboostern\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Kann Capital-Industriekern ausrüsten\"\n          }, \n          {\n            \"text\": \"·Es kann eine Klonanlage eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann Drohnen vom Typ 'Excavator' verwenden\"\n          }, \n          {\n            \"text\": \"·Kann drei Kommandostrahl-Module ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann ein Pulsaktivierter Nexus-Unverwundbarkeitskern-Modul ausrüsten\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommando- und Bergbauvorarbeiterstrahlen\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite von Frachtscannern\"\n          }, \n          {\n            \"text\": \"·kann mit stationierbaren mobilen Phasenankern verbunden werden, die 100 Energiepunkte gewähren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Reichweite von Bergbauvorarbeiterstrahlen\"\n            }\n          ], \n          \"header\": \"Industrial Command Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Bergbauvorarbeiterstrahlen\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Schildkommandostrahlen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion des Treibstoffverbrauchs für Capital-Industriekerne\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP von und den Schaden durch Drohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus der Erzausbeute von Drohnen\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"Reduktion der Eisschürfzeit von Drohnen\"\n            }\n          ], \n          \"header\": \"Capital Industrial Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Remote Shield Booster optimal range\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Can fit Capital Industrial Core\"\n          }, \n          {\n            \"text\": \"·Can fit Clone Vat Bay\"\n          }, \n          {\n            \"text\": \"·Can operate 'Excavator' Drones\"\n          }, \n          {\n            \"text\": \"·Can fit three Command Burst modules\"\n          }, \n          {\n            \"text\": \"·Can fit one Pulse Activated Nexus Invulnerability Core module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command and Mining Foreman Burst area of effect range\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Cargo Scanners range\"\n          }, \n          {\n            \"text\": \"·can connect to Mobile Phase Anchor deployables, providing 100 points of power\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus in Mining Foreman Burst range\"\n            }\n          ], \n          \"header\": \"Industrial Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Mining Foreman Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Shield Command Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in fuel consumption for Capital Industrial Core\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus in Drone ore mining yield\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"reduction in Drone ice harvesting cycle time\"\n            }\n          ], \n          \"header\": \"Capital Industrial Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonificación al alcance óptimo del potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un núcleo industrial capital.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar una plataforma de contenedores de clonación.\"\n          }, \n          {\n            \"text\": \"·Es posible usar drones Excavator.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar tres módulos de estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de núcleo de invulnerabilidad Nexus activado por pulsos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción de los estallidos de mando y de capataz minero.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del escáner de carga.\"\n          }, \n          {\n            \"text\": \"·Es posible conectarse a desplegables de anclaje de fase móvil, lo que proporciona 100 puntos de potencia.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance del estallido de capataz minero.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando industriales (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto del estallido de capataz minero.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto del estallido de mando de escudo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del consumo de combustible del núcleo industrial capital.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la extracción de menas de los drones.\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"de reducción de tiempo de ciclo de recolección de hielo de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves industriales capitales (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonus à la portée optimale des boosters de bouclier à distance.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·Peut utiliser des cellules industrielles capitales\"\n          }, \n          {\n            \"text\": \"·Peut équiper une plateforme de clonage\"\n          }, \n          {\n            \"text\": \"·Peut opérer des drones 'Excavator'.\"\n          }, \n          {\n            \"text\": \"·Peut équiper trois salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut équiper un nexus d'invulnérabilité à impulsions.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de contremaîtrise minière.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"pénalité applicable au temps de cycle de l'interface Entosis\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée des scanners de soute\"\n          }, \n          {\n            \"text\": \"·peut se connecter à la structure déployable ancrage de phase mobile, fournissant 100 points d'énergie\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus de portée des salves de contremaîtrise d'extraction\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement industriels :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de contremaîtrise minière.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"réduction de la consommation de carburant d'une cellule industrielle capitale\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux points de vie des drones\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au rendement d'extraction de minerai des drones\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"de réduction de la durée de cycle de collecte de glace des drones.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux industriels capitaux :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Remote Shield Booster optimal range\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Can fit Capital Industrial Core\"\n          }, \n          {\n            \"text\": \"·Can fit Clone Vat Bay\"\n          }, \n          {\n            \"text\": \"·Can operate 'Excavator' Drones\"\n          }, \n          {\n            \"text\": \"·Can fit three Command Burst modules\"\n          }, \n          {\n            \"text\": \"·Can fit one Pulse Activated Nexus Invulnerability Core module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command and Mining Foreman Burst area of effect range\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Cargo Scanners range\"\n          }, \n          {\n            \"text\": \"·can connect to Mobile Phase Anchor deployables, providing 100 points of power\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus in Mining Foreman Burst range\"\n            }\n          ], \n          \"header\": \"Industrial Command Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Mining Foreman Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Shield Command Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in fuel consumption for Capital Industrial Core\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus in Drone ore mining yield\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"reduction in Drone ice harvesting cycle time\"\n            }\n          ], \n          \"header\": \"Capital Industrial Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"リモートシールドブースターの最適射程距離が改善\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"text\": \"·キャピタル工業コアを装備可能\"\n          }, \n          {\n            \"text\": \"·クローンバットベイを装備できる\"\n          }, \n          {\n            \"text\": \"·「採掘」ドローンを使用可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは3個装備可能です\"\n          }, \n          {\n            \"text\": \"·パルス発動型ネクサス非脆弱化コアモジュールを1個装備可能\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストと採掘支援バーストの効果範囲が上昇\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクサイクル時間にペナルティ\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"カーゴスキャナーの範囲が拡大\"\n          }, \n          {\n            \"text\": \"·配置可能物「移動式位相アンカー」に接続し、100ポイントの電力を供給可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"採掘支援バーストの範囲にボーナス\"\n            }\n          ], \n          \"header\": \"指揮型輸送艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"採掘支援バーストの強度と持続時間が上昇\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"シールドコマンドバーストの効果強度と持続時間が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタル工業コアの燃料消費量の減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンの鉱石採掘量にボーナス\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"ドローンの氷採集サイクル時間が減少\"\n            }\n          ], \n          \"header\": \"採掘支援母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"원격 실드 부스터 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·캐피탈 인더스트리얼 코어 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 클론 격납고 장착 가능\"\n          }, \n          {\n            \"text\": \"·'익스카베이터' 드론 운용 가능\"\n          }, \n          {\n            \"text\": \"·세 개의 커맨드 버스트 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·한 개의 패닉 넥서스 코어 모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"지휘 및 채굴 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"화물 스캐너 사거리 증가\"\n          }, \n          {\n            \"text\": \"·배치된 이동식 위상 고정기 연결 가능, 전력 100 제공\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"채광 버스트 사거리 증가\"\n            }\n          ], \n          \"header\": \"인더스트리얼 커맨드쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"채광 버스트 효과 및 지속시간 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"실드 버스트 효과 강화 및 지속시간 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 인더스트리얼 코어 연료 소모량 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 광물 채굴량 증가\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"드론 아이스 채굴 사이클 시간 감소\"\n            }\n          ], \n          \"header\": \"캐피탈 인더스트리얼 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 400%\", \n            \"text\": \"увеличивается оптимальная дальность действия установок дистанционной накачки щитов\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·Возможна установка промышленного ядра КБТ\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться отсеками клонирования\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут запускать дроны-экскаваторы\"\n          }, \n          {\n            \"text\": \"·На борт кораблей этого типа разрешается устанавливать до трёх импульсных оптимизаторов\"\n          }, \n          {\n            \"text\": \"·На борт кораблей этого типа разрешается устанавливать один модуль пульс-активируемой неуязвимости, индуцирующей компаньонов по аккумуляции (ПАНИКА)\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами (боевыми и добывающими)\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается оптимальная дальность действия комплексов досмотра груза\"\n          }, \n          {\n            \"text\": \"·можно подключить к мобильному фазовому якорю, обеспечив приток в 100 единиц энергии\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличение радиуса действия буровых импульсных оптимизаторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Флагманы буровых флотилий:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами добычи\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"снижение потребления топлива промышленным ядром КБТ\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону и запасу прочности дронов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличение объёмов добычи дронами\"\n            }, \n            {\n              \"number\": \"на 6%\", \n              \"text\": \"сокращается продолжительность рабочего цикла дронов для добычи льда\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Промышленные корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"远程护盾回充增量器最佳射程加成\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"text\": \"·可以装配旗舰工业核心\"\n          }, \n          {\n            \"text\": \"·可以装配克隆舱\"\n          }, \n          {\n            \"text\": \"·可以操作“采掘者”无人机\"\n          }, \n          {\n            \"text\": \"·可以装配三个指挥脉冲波装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个脉冲激活式关联全能核心装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波和开采先锋脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"货柜扫描器距离加成\"\n          }, \n          {\n            \"text\": \"·可以连接到移动相位锚标可部署设备，提供100点能量\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"开采先锋脉冲波范围加成\"\n            }\n          ], \n          \"header\": \"工业指挥舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"开采先锋脉冲波的效果强度和持续时间加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"护盾指挥脉冲波效果强度和持续时间加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰工业核心燃料消耗降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP和伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机采矿量加成\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"无人机冰矿开采循环时间缩短\"\n            }\n          ], \n          \"header\": \"旗舰级工业舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 28352\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf HP, Schaden und Nachführungsgeschwindigkeit von Drohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Schaden und Nachführungsgeschwindigkeit von mittleren Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf Reparaturmenge von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, damage, and tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage and tracking speed\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo, el daño y los puntos de vida del dron.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño y la velocidad de rastreo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux points de vie, aux dégâts et à la vitesse de poursuite des Drones\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et à la vitesse de poursuite des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la capacité réparatrice du réparateur de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, damage, and tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage and tracking speed\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのHP、ダメージ、追跡速度が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットのダメージと追跡速度が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラの回復量増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도, 피해량, 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 및 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к запасу прочности, урону, скорости наведения дронов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону и скорости наведения средних гибридных турелей\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP、伤害和跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台伤害和跟踪速度加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17843\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf alle Effekte von Struktur-Kampfmodifikationen\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"reduzierter Treibstoffverbrauch von allen Dienstmodulen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"reduzierte Zeitanforderungen für Fertigungs- und Forschungsaufträge\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"reduzierte ISK-Anforderungen für Fertigungs- und Forschungsaufträge\"\n          }, \n          {\n            \"number\": \"1%\", \n            \"text\": \"Bonus auf den Aufbereitungsertrag aller Arten von Erz und Eis\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Feuerrate und den Energiespeicherverbrauch von Standup-Pulsprojektoren und Lenkbombenwerfern\"\n          }, \n          {\n            \"text\": \"·Verfügt diese Struktur über mindestens ein aktives Dienstmodul, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte Trefferpunkte für Schild und Panzerung sowie einen zusätzlichen Verstärkungszyklus.\"\n          }, \n          {\n            \"text\": \"·Diese Struktur kann einen Zustand mit geringer Leistung auf unbegrenzte Zeit aufrechterhalten und geht somit nicht in den Zustand „Verlassen“ über.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Fortizar-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"reduction in all service module fuel consumption\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"reduction in time requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"reduction in ISK requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"1%\", \n            \"text\": \"bonus to refining yield for all variants of Ore and Ice\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a todos los efectos de complementos de combate para estructuras.\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"de reducción del consumo de combustible de todos los módulos de servicio.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de reducción de los requisitos para los trabajos de fabricación y ciencia.\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"de reducción de los requisitos de ISK para los trabajos de fabricación y ciencia.\"\n          }, \n          {\n            \"number\": \"1%\", \n            \"text\": \"de bonificación al rendimiento de refinado de todas las variantes de menas y hielo.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la cadencia de tiro y al consumo del condensador de los proyectores de estallido Standup y los lanzabombas guiados.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }, \n          {\n            \"text\": \"·Esta estructura puede funcionar a baja potencia indefinidamente, por lo que no deriva en un estado de abandono.\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Fortizar de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à tous les effets d'amélioration des combats de structures\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"de réduction de la consommation de carburant de tous les modules de service\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de réduction du temps requis pour les travaux scientifiques et de production\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"de réduction des ISK requis pour les travaux scientifiques et de production\"\n          }, \n          {\n            \"number\": \"1%\", \n            \"text\": \"de bonus au rendement du raffinage pour toutes les variantes de minerais et de glaces\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la cadence de tir et à la consommation du capaciteur des projecteurs à salves et des lanceurs de bombes ciblées Standup\"\n          }, \n          {\n            \"text\": \"·Lorsque cette structure dispose d'au moins un module de service fonctionnel, elle entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage, ainsi que d'un cycle de renfort de blindage additionnel.\"\n          }, \n          {\n            \"text\": \"·Cette structure peut maintenir un état de basse puissance indéfiniment sans courir le risque de tomber en état abandonné.\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Fortizar pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"reduction in all service module fuel consumption\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"reduction in time requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"reduction in ISK requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"1%\", \n            \"text\": \"bonus to refining yield for all variants of Ore and Ice\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"全てのストラクチャ戦闘リグの効果が増大\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"全てのサービスモジュールの燃料消費を軽減\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"製造ジョブとサイエンスジョブの必要時間が減少\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"製造ジョブとサイエンスジョブの必要ISKが減少\"\n          }, \n          {\n            \"number\": \"1%\", \n            \"text\": \"全てのバリエーションの鉱石とアイスの精製産出量が増加\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"スタンドアップバーストプロジェクターと誘導ボムランチャーの発射間隔とキャパシタ消費効率を改善\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャは、低電力状態を無期限に維持することができるので、放棄状態に陥ることはありません。\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには フォータイザー・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"구조물 전용 전투 리그 효과 증가\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"서비스 모듈 연료 사용량 감소\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"연구 및 제조 작업 시간효율성 증가\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"연구 및 제조 작업 ISK 소모량 감소\"\n          }, \n          {\n            \"number\": \"1%\", \n            \"text\": \"광석 및 아이스 정제 산출량 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"스탠드업 버스트 프로젝터 및 유도폭탄 런처 연사속도 및 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물은 저전력 상태를 유지할 수 있으며 버려짐 상태로 전환되지 않습니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 포티자 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к эффективности всех боевых надстроек\"\n          }, \n          {\n            \"number\": \"на 35%\", \n            \"text\": \"снижает потребление топлива всеми служебными модулями\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"уменьшает время, необходимое для производственных и научных проектов\"\n          }, \n          {\n            \"number\": \"на 2%\", \n            \"text\": \"снижает расход ISK на производственные и научные проекты\"\n          }, \n          {\n            \"number\": \"на 1%\", \n            \"text\": \"бонус к объёму переработки всех разновидностей руды и льда\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к скорострельности и энергопотреблению проекторов объёмных помех и бомбометателей с системой наведения на базе «Стационар»\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть по меньшей мере один работающий служебный модуль, оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления.\"\n          }, \n          {\n            \"text\": \"·Это сооружение способно оставаться в состоянии малой мощности в течение неограниченного времени и никогда не перейдёт в состояние «Заброшено».\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Фортизар» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"所有建筑战斗改装件效果加成\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"所有服务装备的燃料消耗降低\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"生产和科研项目的时间需求降低\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"生产和科研项目的星币需求降低\"\n          }, \n          {\n            \"number\": \"1%\", \n            \"text\": \"所有种类的矿石和冰矿的提炼产出加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"屹立脉冲波投射器和制导炸弹发射器的射速和电容消耗加成\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环。\"\n          }, \n          {\n            \"text\": \"·这座建筑能够保持低能量状态运行，因此不会进入被废弃状态。\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个铁壁昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 47512\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf alle Effekte von Struktur-Kampfmodifikationen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduzierter Treibstoffverbrauch von Zitadellen- und Industriedienstmodulen\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"reduzierte Zeitanforderungen für Fertigungsaufträge\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"reduzierte ISK-Anforderungen für Fertigungsaufträge\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Feuerrate und den Energiespeicherverbrauch von Standup-Pulsprojektoren und Lenkbombenwerfern\"\n          }, \n          {\n            \"text\": \"·Verfügt diese Struktur über mindestens ein aktives Dienstmodul, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte Trefferpunkte für Schild und Panzerung sowie einen zusätzlichen Verstärkungszyklus.\"\n          }, \n          {\n            \"text\": \"·Diese Struktur kann einen Zustand mit geringer Leistung auf unbegrenzte Zeit aufrechterhalten und geht somit nicht in den Zustand „Verlassen“ über.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Fortizar-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel and engineering service module fuel consumption\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"reduction in time requirements for manufacturing jobs\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"reduction in ISK requirements for manufacturing jobs\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a todos los efectos de complementos de combate para estructuras.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del consumo de combustible del módulo de servicio de ciudadela y de ingeniería.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de reducción de los requisitos de tiempo para los trabajos de fabricación.\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"de reducción de los requisitos de ISK para los trabajos de fabricación.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la cadencia de tiro y al consumo del condensador de los proyectores de estallido Standup y los lanzabombas guiados.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }, \n          {\n            \"text\": \"·Esta estructura puede funcionar a baja potencia indefinidamente, por lo que no deriva en un estado de abandono.\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Fortizar de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à tous les effets d'amélioration des combats de structures\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction de la consommation de carburant des modules de service de citadelle et d'ingénierie\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de réduction du temps requis pour les travaux de production\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"de réduction des ISK requis pour les travaux de production\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la cadence de tir et à la consommation du capaciteur des projecteurs à salves et des lanceurs de bombes ciblées Standup\"\n          }, \n          {\n            \"text\": \"·Lorsque cette structure dispose d'au moins un module de service fonctionnel, elle entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage, ainsi que d'un cycle de renfort de blindage additionnel.\"\n          }, \n          {\n            \"text\": \"·Cette structure peut maintenir un état de basse puissance indéfiniment sans courir le risque de tomber en état abandonné.\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Fortizar pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel and engineering service module fuel consumption\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"reduction in time requirements for manufacturing jobs\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"reduction in ISK requirements for manufacturing jobs\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"全てのストラクチャ戦闘リグの効果が増大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"城塞及びエンジニアリングサービスモジュールの燃料消費を軽減\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"製造ジョブの必要時間が減少\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"製造ジョブのISK要件を軽減\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"スタンドアップバーストプロジェクターと誘導ボムランチャーの発射間隔とキャパシタ消費効率を改善\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャは、低電力状態を無期限に維持することができるので、放棄状態に陥ることはありません。\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには フォータイザー・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"구조물 전용 전투 리그 효과 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"시타델 및 엔지니어링 서비스 모듈 연료 사용량 감소\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"제조 작업 시간효율성 증가\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"제조 작업 시 ISK 소모량 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"스탠드업 버스트 프로젝터 및 유도폭탄 런처 연사속도 및 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물은 저전력 상태를 유지할 수 있으며 버려짐 상태로 전환되지 않습니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 포티자 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к эффективности всех боевых надстроек\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижает потребление топлива служебными модулями цитаделей и инженерными служебными модулями\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"уменьшает время, необходимое для производственных проектов\"\n          }, \n          {\n            \"number\": \"на 3%\", \n            \"text\": \"снижает расход ISK на производственные проекты\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к скорострельности и энергопотреблению проекторов объёмных помех и бомбометателей с системой наведения на базе «Стационар»\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть по меньшей мере один работающий служебный модуль, оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления.\"\n          }, \n          {\n            \"text\": \"·Это сооружение способно оставаться в состоянии малой мощности в течение неограниченного времени и никогда не перейдёт в состояние «Заброшено».\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Фортизар» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"所有建筑战斗改装件效果加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"堡垒和工程服务装备的燃料消耗降低\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"生产项目的时间需求降低\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"生产项目的星币需求降低\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"屹立脉冲波投射器和制导炸弹发射器的射速和电容消耗加成\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环。\"\n          }, \n          {\n            \"text\": \"·这座建筑能够保持低能量状态运行，因此不会进入被废弃状态。\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个铁壁昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 47513\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf alle Effekte von Struktur-Kampfmodifikationen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduzierter Treibstoffverbrauch von Zitadellen- und Aufbereitungsdienstmodulen\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"Bonus auf den Aufbereitungsertrag aller Arten von Erz und Eis\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Feuerrate und den Energiespeicherverbrauch von Standup-Pulsprojektoren und Lenkbombenwerfern\"\n          }, \n          {\n            \"text\": \"·Verfügt diese Struktur über mindestens ein aktives Dienstmodul, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte Trefferpunkte für Schild und Panzerung sowie einen zusätzlichen Verstärkungszyklus.\"\n          }, \n          {\n            \"text\": \"·Diese Struktur kann einen Zustand mit geringer Leistung auf unbegrenzte Zeit aufrechterhalten und geht somit nicht in den Zustand „Verlassen“ über.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Fortizar-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel and reprocessing service module fuel consumption\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"bonus to refining yield for all variants of Ore and Ice\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a todos los efectos de complementos de combate para estructuras.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del consumo de combustible del módulo de servicio de ciudadela y de reprocesamiento.\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"de bonificación al rendimiento de refinado de todas las variantes de menas y hielo.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la cadencia de tiro y al consumo del condensador de los proyectores de estallido Standup y los lanzabombas guiados.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }, \n          {\n            \"text\": \"·Esta estructura puede funcionar a baja potencia indefinidamente, por lo que no deriva en un estado de abandono.\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Fortizar de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à tous les effets d'amélioration des combats de structures\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction de la consommation de carburant des modules de service de citadelle et de retraitement\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"de bonus au rendement du raffinage pour toutes les variantes de minerais et de glaces\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la cadence de tir et à la consommation du capaciteur des projecteurs à salves et des lanceurs de bombes ciblées Standup\"\n          }, \n          {\n            \"text\": \"·Lorsque cette structure dispose d'au moins un module de service fonctionnel, elle entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage, ainsi que d'un cycle de renfort de blindage additionnel.\"\n          }, \n          {\n            \"text\": \"·Cette structure peut maintenir un état de basse puissance indéfiniment sans courir le risque de tomber en état abandonné.\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Fortizar pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel and reprocessing service module fuel consumption\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"bonus to refining yield for all variants of Ore and Ice\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"全てのストラクチャ戦闘リグの効果が増大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"城塞及び再処理サービスモジュールの燃料消費を軽減\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"全てのバリエーションの鉱石とアイスの精製産出量が増加\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"スタンドアップバーストプロジェクターと誘導ボムランチャーの発射間隔とキャパシタ消費効率を改善\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャは、低電力状態を無期限に維持することができるので、放棄状態に陥ることはありません。\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには フォータイザー・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"구조물 전용 전투 리그 효과 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"시타델 및 정제 서비스 모듈 연료 사용량 감소\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"광석 및 아이스 정제 산출량 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"스탠드업 버스트 프로젝터 및 유도폭탄 런처 연사속도 및 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물은 저전력 상태를 유지할 수 있으며 버려짐 상태로 전환되지 않습니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 포티자 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к эффективности всех боевых надстроек\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижает потребление топлива служебными модулями цитаделей и служебными модулями переработки\"\n          }, \n          {\n            \"number\": \"на 2%\", \n            \"text\": \"бонус к объёму переработки всех разновидностей руды и льда\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к скорострельности и энергопотреблению проекторов объёмных помех и бомбометателей с системой наведения на базе «Стационар»\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть по меньшей мере один работающий служебный модуль, оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления.\"\n          }, \n          {\n            \"text\": \"·Это сооружение способно оставаться в состоянии малой мощности в течение неограниченного времени и никогда не перейдёт в состояние «Заброшено».\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Фортизар» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"所有建筑战斗改装件效果加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"堡垒和提炼服务装备的燃料消耗降低\"\n          }, \n          {\n            \"number\": \"2%\", \n            \"text\": \"所有种类的矿石和冰矿的提炼产出加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"屹立脉冲波投射器和制导炸弹发射器的射速和电容消耗加成\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环。\"\n          }, \n          {\n            \"text\": \"·这座建筑能够保持低能量状态运行，因此不会进入被废弃状态。\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个铁壁昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 47516\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf alle Effekte von Struktur-Kampfmodifikationen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduzierter Treibstoffverbrauch von Zitadellen- und Industriedienstmodulen\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"reduzierte Zeitanforderungen für Forschungsaufträge\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"reduzierte ISK-Anforderungen für Forschungsaufträge\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Feuerrate und den Energiespeicherverbrauch von Standup-Pulsprojektoren und Lenkbombenwerfern\"\n          }, \n          {\n            \"text\": \"·Verfügt diese Struktur über mindestens ein aktives Dienstmodul, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte Trefferpunkte für Schild und Panzerung sowie einen zusätzlichen Verstärkungszyklus.\"\n          }, \n          {\n            \"text\": \"·Diese Struktur kann einen Zustand mit geringer Leistung auf unbegrenzte Zeit aufrechterhalten und geht somit nicht in den Zustand „Verlassen“ über.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Fortizar-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel and engineering service module fuel consumption\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"reduction in time requirements for science jobs\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"reduction in ISK requirements for science jobs\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a todos los efectos de complementos de combate para estructuras.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del consumo de combustible del módulo de servicio de ciudadela y de ingeniería.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de reducción de los requisitos de tiempo para los trabajos de ciencia.\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"de reducción de los requisitos de ISK para los trabajos de ciencia.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la cadencia de tiro y al consumo del condensador de los proyectores de estallido Standup y los lanzabombas guiados.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }, \n          {\n            \"text\": \"·Esta estructura puede funcionar a baja potencia indefinidamente, por lo que no deriva en un estado de abandono.\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Fortizar de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à tous les effets d'amélioration des combats de structures\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction de la consommation de carburant des modules de service de citadelle et d'ingénierie\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de réduction du temps requis pour les travaux scientifiques\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"de réduction des ISK requis pour les travaux scientifiques\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la cadence de tir et à la consommation du capaciteur des projecteurs à salves et des lanceurs de bombes ciblées Standup\"\n          }, \n          {\n            \"text\": \"·Lorsque cette structure dispose d'au moins un module de service fonctionnel, elle entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage, ainsi que d'un cycle de renfort de blindage additionnel.\"\n          }, \n          {\n            \"text\": \"·Cette structure peut maintenir un état de basse puissance indéfiniment sans courir le risque de tomber en état abandonné.\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Fortizar pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel and engineering service module fuel consumption\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"reduction in time requirements for science jobs\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"reduction in ISK requirements for science jobs\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"全てのストラクチャ戦闘リグの効果が増大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"城塞及びエンジニアリングサービスモジュールの燃料消費を軽減\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"サイエンスジョブの必要時間が減少\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"サイエンスジョブのISK要件を軽減\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"スタンドアップバーストプロジェクターと誘導ボムランチャーの発射間隔とキャパシタ消費効率を改善\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャは、低電力状態を無期限に維持することができるので、放棄状態に陥ることはありません。\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには フォータイザー・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"구조물 전용 전투 리그 효과 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"시타델 및 엔지니어링 서비스 모듈 연료 사용량 감소\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"연구 작업 시간효율성 증가\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"연구 작업 시 ISK 소모량 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"스탠드업 버스트 프로젝터 및 유도폭탄 런처 연사속도 및 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물은 저전력 상태를 유지할 수 있으며 버려짐 상태로 전환되지 않습니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 포티자 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к эффективности всех боевых надстроек\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижает потребление топлива служебными модулями цитаделей и инженерными служебными модулями\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"уменьшает время, необходимое для научных проектов\"\n          }, \n          {\n            \"number\": \"на 3%\", \n            \"text\": \"снижает расход ISK на научные проекты\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к скорострельности и энергопотреблению проекторов объёмных помех и бомбометателей с системой наведения на базе «Стационар»\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть по меньшей мере один работающий служебный модуль, оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления.\"\n          }, \n          {\n            \"text\": \"·Это сооружение способно оставаться в состоянии малой мощности в течение неограниченного времени и никогда не перейдёт в состояние «Заброшено».\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Фортизар» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"所有建筑战斗改装件效果加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"堡垒和工程服务装备的燃料消耗降低\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"科研项目的时间需求降低\"\n          }, \n          {\n            \"number\": \"3%\", \n            \"text\": \"科研项目的星币需求降低\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"屹立脉冲波投射器和制导炸弹发射器的射速和电容消耗加成\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环。\"\n          }, \n          {\n            \"text\": \"·这座建筑能够保持低能量状态运行，因此不会进入被废弃状态。\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个铁壁昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 47514\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf alle Effekte von Struktur-Kampfmodifikationen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Treibstoffverbrauch von allen Dienstmodulen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Feuerrate und den Energiespeicherverbrauch von Standup-Pulsprojektoren und Lenkbombenwerfern\"\n          }, \n          {\n            \"text\": \"·Verfügt diese Struktur über mindestens ein aktives Dienstmodul, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte Trefferpunkte für Schild und Panzerung sowie einen zusätzlichen Verstärkungszyklus.\"\n          }, \n          {\n            \"text\": \"·Diese Struktur kann einen Zustand mit geringer Leistung auf unbegrenzte Zeit aufrechterhalten und geht somit nicht in den Zustand „Verlassen“ über.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Fortizar-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in all service module fuel consumption\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a todos los efectos de complementos de combate para estructuras.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del consumo de combustible de todos los módulos de servicio.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la cadencia de tiro y al consumo del condensador de los proyectores de estallido Standup y los lanzabombas guiados.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }, \n          {\n            \"text\": \"·Esta estructura puede funcionar a baja potencia indefinidamente, por lo que no deriva en un estado de abandono.\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Fortizar de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à tous les effets d'amélioration des combats de structures\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la consommation de carburant de tous les modules de service\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la cadence de tir et à la consommation du capaciteur des projecteurs à salves et des lanceurs de bombes ciblées Standup\"\n          }, \n          {\n            \"text\": \"·Lorsque cette structure dispose d'au moins un module de service fonctionnel, elle entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage, ainsi que d'un cycle de renfort de blindage additionnel.\"\n          }, \n          {\n            \"text\": \"·Cette structure peut maintenir un état de basse puissance indéfiniment sans courir le risque de tomber en état abandonné.\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Fortizar pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in all service module fuel consumption\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state.\"\n          }, \n          {\n            \"text\": \"·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"全てのストラクチャ戦闘リグの効果が増大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"全てのサービスモジュールの燃料消費を軽減\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"スタンドアップバーストプロジェクターと誘導ボムランチャーの発射間隔とキャパシタ消費効率を改善\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャは、低電力状態を無期限に維持することができるので、放棄状態に陥ることはありません。\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには フォータイザー・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"구조물 전용 전투 리그 효과 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"서비스 모듈 연료 사용량 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"스탠드업 버스트 프로젝터 및 유도폭탄 런처 연사속도 및 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물은 저전력 상태를 유지할 수 있으며 버려짐 상태로 전환되지 않습니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 포티자 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к эффективности всех боевых надстроек\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижает потребление топлива всеми служебными модулями\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к скорострельности и энергопотреблению проекторов объёмных помех и бомбометателей с системой наведения на базе «Стационар»\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть по меньшей мере один работающий служебный модуль, оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления.\"\n          }, \n          {\n            \"text\": \"·Это сооружение способно оставаться в состоянии малой мощности в течение неограниченного времени и никогда не перейдёт в состояние «Заброшено».\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Фортизар» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"所有建筑战斗改装件效果加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"所有服务装备的燃料消耗降低\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"屹立脉冲波投射器和制导炸弹发射器的射速和电容消耗加成\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环。\"\n          }, \n          {\n            \"text\": \"·这座建筑能够保持低能量状态运行，因此不会进入被废弃状态。\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个铁壁昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 47515\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Large Projectile Turret rate of fire\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la cadence de poursuite de la grande tourelle à projectiles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus à la vitesse et à l'accélération du warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Large Projectile Turret rate of fire\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ワープ速度、ワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"대형 발사체 터렛 연사속도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорострельность больших баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"大型射弹炮台射速加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34461\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"Bonus auf die HP und den Schaden  von Wächterdrohnen und Schweren Drohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Kinetik- und Thermalschaden von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"bonus to Sentry Drone and Heavy Drone damage and hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"de bonificación al daño y los puntos de vida de los drones centinela y los drones pesados.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño cinético y térmico de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"de bonus aux dégâts et aux points de vie des drones sentinelles et des drones lourds\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts des missiles de type cinétique et thermique\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"bonus to Sentry Drone and Heavy Drone damage and hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to kinetic and thermal missile damage\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"セントリードローンおよびヘビードローンのダメージ、ヒットポイントが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ミサイルのキネティックダメージおよびサーマルダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"센트리 드론과 헤비 드론의 피해량 및 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"미사일 키네틱 및 열 피해 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 275%\", \n            \"text\": \"увеличивается урон бортового оружия стационарных дронов и тяжёлых боевых дронов; увеличивается запас их прочности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон кинетических и термических БЧ ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"275%\", \n            \"text\": \"岗哨无人机和重型无人机伤害和HP加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"动能和热能导弹伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34463\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Low Slots\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Wendigkeit des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit\"\n            }\n          ], \n          \"header\": \"Minmatar Propulsion Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Low Slots\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship agility\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras inferiores\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la agilidad de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements inférieurs\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la maniabilité du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Low Slots\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship agility\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ロースロット+2\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の機動性を強化\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター推進力システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·로우 슬롯 +2\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"기동성 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 추진기 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма малой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается маневренность корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается максимальная скорость корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские двигательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·低槽+2\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船灵活性加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"最大速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔推进子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45620\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Anziehungsfeldgeneration blockiert\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cynosural Field Generation Blocked\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Generación de campo cinosural bloqueada.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Génération de champ cynosural bloquée\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cynosural Field Generation Blocked\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·サイノシュラルフィールド生成ブロック\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·사이노슈럴 필드 생성 차단\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Создание поля приводного маяка заблокировано\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·诱导力场发生器被阻扰\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 54838\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion der Stromnetzvoraussetzung von Werfern für schnelle schwere Lenkwaffen, Marschflugkörperwerfern und Torpedowerfern\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Werfern für schnelle schwere Lenkwaffen, Marschflugkörperwerfern und Torpedowerfern\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Boni sind verfügbar, während einer der drei taktischen Modi aktiv ist. Modi können nicht öfter als alle 10 Sekunden gewechselt werden.\"\n          }, \n          {\n            \"text\": \"·Primärmodus\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"Bonus auf die Zielerfassungsreichweite, während Primärmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Verringerung der Lenkwaffengeschwindigkeit, während der Primärmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"Erhöhung der Flugdauer von Lenkwaffen, während der Primärmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Feuerrate von Werfern für schnelle schwere Lenkwaffen, Marschflugkörperwerfern und Torpedowerfern, während der Primärmodus aktiviert ist\"\n          }, \n          {\n            \"text\": \"·Sekundärmodus\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Verringerung der Flugdauer von Lenkwaffen, während Sekundärmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Feuerrate von Werfern für schnelle schwere Lenkwaffen, Marschflugkörperwerfern und Torpedowerfern, während der Sekundärmodus aktiviert ist\"\n          }, \n          {\n            \"text\": \"·Tertiärmodus\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der Reaktivierungsverzögerung des Mikrosprungantriebs, während der Tertiärmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf den Trägheitsmodifikator des Schiffs, während der Tertiärmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von schweren Lenkwaffen, Marschflugkörpern und Torpedos, während der Tertiärmodus aktiviert ist\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Feuerrate von Werfern für schnelle schwere Lenkwaffen, Marschflugkörperwerfern und Torpedowerfern, während der Tertiärmodus aktiviert ist\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Explosionsradius von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Rapid Heavy Missile Launcher, Cruise Missile Launcher and Torpedo Launcher powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Rapid Heavy Missile Launcher, Cruise Missile Launcher and Torpedo Launcher CPU requirement\"\n          }, \n          {\n            \"text\": \"·Additional bonuses are available while one of three Tactical Modes are active. Modes may be switched no more than once every 10 seconds.\"\n          }, \n          {\n            \"text\": \"·Primary Mode\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to lock range while Primary Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"decrease in missile velocity while Primary Mode is enabled\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"increase in missile flight time while Primary Mode is enabled\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Rapid Heavy Missile Launcher, Cruise Missile Launcher and Torpedo Launcher rate of fire while Primary Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Secondary Mode\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"decrease in missile flight time while Secondary Mode is enabled\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Rapid Heavy Missile Launcher, Cruise Missile Launcher and Torpedo Launcher rate of fire while Secondary Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Tertiary Mode\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay while Tertiary Mode is enabled\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship inertia modifier while Tertiary Mode is enabled\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo velocity while Tertiary Mode is enabled\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Rapid Heavy Missile Launcher, Cruise Missile Launcher and Torpedo Launcher rate of fire while Tertiary Mode is enabled\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion radius\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción al requisito de sistema de potencia de los lanzamisiles pesados rápidos, los lanzamisiles de crucero y los lanzatorpedos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción al requisito de CPU de los lanzamisiles pesados rápidos, los lanzamisiles de crucero y los lanzatorpedos.\"\n          }, \n          {\n            \"text\": \"·Hay bonificaciones adicionales disponibles mientras uno de los tres modos tácticos está habilitado. No se puede cambiar de modo más de una vez cada 10 segundos.\"\n          }, \n          {\n            \"text\": \"·Modo principal\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonificación al alcance de fijación mientras el modo principal está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de reducción de la velocidad de los misiles mientras el modo principal está habilitado.\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"de aumento del tiempo de vuelo de misiles mientras el modo principal está habilitado.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles pesados rápidos, los lanzamisiles de crucero y los lanzatorpedos mientras el modo principal está habilitado.\"\n          }, \n          {\n            \"text\": \"·Modo secundario\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del tiempo de vuelo de los misiles mientras el modo secundario está habilitado.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles pesados rápidos, los lanzamisiles de crucero y los lanzatorpedos mientras el modo secundario está habilitado.\"\n          }, \n          {\n            \"text\": \"·Modo terciario\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto mientras el modo terciario está habilitado.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación al modificador de inercia de la nave mientras el modo terciario está habilitado.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la velocidad de los misiles pesados, los misiles de crucero y los torpedos mientras el modo terciario está habilitado.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles pesados rápidos, los lanzamisiles de crucero y los lanzatorpedos mientras el modo terciario está habilitado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles de crucero y los torpedos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al radio de explosión de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction des prérequis de réseau d'alimentation pour le lance-missile lourd rapide, le lance-missiles de croisière et le lance-torpilles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des prérequis de CPU pour le lance-missile lourd rapide, le lance-missiles de croisière et le lance-torpilles\"\n          }, \n          {\n            \"text\": \"·Des bonus supplémentaires sont disponibles lorsque l'un des trois modes tactiques est actif. Il est possible de changer de mode une seule fois toutes les 10 secondes.\"\n          }, \n          {\n            \"text\": \"·Mode primaire\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonus à la portée de verrouillage lorsque le mode primaire est activé\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de réduction à la vitesse des missiles lorsque le mode primaire est activé\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"d'augmentation du temps de vol des missiles lorsque le mode primaire est activé\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la cadence de tir du lance-missile lourd rapide, du lance-missiles de croisière et du lance-torpilles lorsque le mode primaire est activé\"\n          }, \n          {\n            \"text\": \"·Mode secondaire\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction au temps de vol des missiles lorsque le mode secondaire est activé\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la cadence de tir du lance-missile lourd rapide, du lance-missiles de croisière et du lance-torpilles lorsque le mode secondaire est activé\"\n          }, \n          {\n            \"text\": \"·Mode tertiaire\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction au délai de réactivation du propulseur de microsaut lorsque le mode tertiaire est activé\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus au modificateur d'inertie du vaisseau lorsque le mode tertiaire est activé\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la vitesse des missiles lourds, des missiles de croisière et des torpilles lorsque le mode tertiaire est activé\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la cadence de tir du lance-missile lourd rapide, du lance-missiles de croisière et du lance-torpilles lorsque le mode tertiaire est activé\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles de croisière et des torpilles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au rayon d'explosion des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Rapid Heavy Missile Launcher, Cruise Missile Launcher and Torpedo Launcher powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Rapid Heavy Missile Launcher, Cruise Missile Launcher and Torpedo Launcher CPU requirement\"\n          }, \n          {\n            \"text\": \"·Additional bonuses are available while one of three Tactical Modes are active. Modes may be switched no more than once every 10 seconds.\"\n          }, \n          {\n            \"text\": \"·Primary Mode\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to lock range while Primary Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"decrease in missile velocity while Primary Mode is enabled\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"increase in missile flight time while Primary Mode is enabled\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Rapid Heavy Missile Launcher, Cruise Missile Launcher and Torpedo Launcher rate of fire while Primary Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Secondary Mode\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"decrease in missile flight time while Secondary Mode is enabled\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Rapid Heavy Missile Launcher, Cruise Missile Launcher and Torpedo Launcher rate of fire while Secondary Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Tertiary Mode\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay while Tertiary Mode is enabled\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship inertia modifier while Tertiary Mode is enabled\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo velocity while Tertiary Mode is enabled\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Rapid Heavy Missile Launcher, Cruise Missile Launcher and Torpedo Launcher rate of fire while Tertiary Mode is enabled\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion radius\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"高速ヘビーミサイルランチャー、クルーズミサイルランチャー、およびトルピードランチャーのパワーグリッド使用量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"高速ヘビーミサイルランチャー、クルーズミサイルランチャー、およびトルピードランチャーのCPU使用率が減少\"\n          }, \n          {\n            \"text\": \"·3種類の戦術モードを持ち、有効化したモードに応じて追加ボーナスを得る。少なくとも10秒経過しないとモードを切り替えることはできない。\"\n          }, \n          {\n            \"text\": \"·第1モード\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"第1モード中、ロック射程にボーナス\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"第1モード中、ミサイル速度が減少\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"第1モード中、ミサイルの飛行時間が増加\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"第1モード中、高速ヘビーミサイルランチャー、クルーズミサイルランチャー、およびトルピードランチャーの発射間隔にボーナス\"\n          }, \n          {\n            \"text\": \"·第2モード\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"第2モード中、ミサイルの飛行時間が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"第2モード中、高速ヘビーミサイルランチャー、クルーズミサイルランチャー、およびトルピードランチャーの発射間隔にボーナス\"\n          }, \n          {\n            \"text\": \"·第3モード\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"第3モード中、マイクロジャンプドライブの再起動遅延が減少\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"第3モード中、艦船の慣性乗数にボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"第3モード中、ヘビーミサイル、クルーズミサイルおよびトルピードの速度にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"第3モード中、高速ヘビーミサイルランチャー、クルーズミサイルランチャー、およびトルピードランチャーの発射間隔にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"クルーズミサイルとトルピードの爆発速度にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"クルーズミサイルとトルピードの爆発半径にボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"급속 헤비 미사일 런처, 크루즈 미사일 런처, 토피도 런처 파워그리드 요구량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"급속 헤비 미사일 런처, 크루즈 미사일 런처, 토피도 런처 CPU 요구량 감소\"\n          }, \n          {\n            \"text\": \"·세 가지 전술 모드 중 한 가지가 활성화되면 추가 보너스가 부여됩니다. 10초에 한 번 모드를 전환할 수 있습니다.\"\n          }, \n          {\n            \"text\": \"·주 모드\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"주 모드 활성화 중 타켓팅 범위 증가\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"주 모드 활성화 중 미사일 속도 감소\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"주 모드 활성화 중 미사일 비행시간 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"주 모드 활성화 중 급속 헤비 미사일 런처, 크루즈 미사일 런처, 토피도 런처 연사속도 증가\"\n          }, \n          {\n            \"text\": \"·보조 모드\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"보조 모드 활성화 중 미사일 비행시간 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"보조 모드 활성화 중 급속 헤비 미사일 런처, 크루즈 미사일 런처, 토피도 런처 연사속도 증가\"\n          }, \n          {\n            \"text\": \"·3차 모드\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"3차 모드 활성화 중 마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"3차 모드 활성화 중 관성 계수 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"3차 모드 활성화 중 헤비 미사일, 크루즈 미사일, 토피도 속도 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"3차 모드 활성화 중 급속 헤비 미사일 런처, 크루즈 미사일 런처, 토피도 런처 연사속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"크루즈 미사일 및 토피도 폭발속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"크루즈 미사일 및 토피도 폭발 반경 감소\"\n            }\n          ], \n          \"header\": \"칼다리 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 95%\", \n            \"text\": \"снижение требований к энергосистемам для пусковых установок скорострельных тяжёлых ракет, дальнобойных ракет и торпед\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижение требований к ЦПУ для пусковых установок скорострельных тяжёлых ракет, дальнобойных ракет и торпед\"\n          }, \n          {\n            \"text\": \"·Корабль получает дополнительные бонусы при работе в одном из трёх тактических режимов. Промежуток между сменой режимов должен составлять не менее 10 секунд.\"\n          }, \n          {\n            \"text\": \"·Первый режим\"\n          }, \n          {\n            \"number\": \"на 250%\", \n            \"text\": \"бонус к дальности захвата целей в первом режиме\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"замедление полёта ракет в первом режиме\"\n          }, \n          {\n            \"number\": \"на 1000%\", \n            \"text\": \"Увеличение времени полёта ракет в первом режиме\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к скорострельности пусковых установок скорострельных тяжёлых ракет, дальнобойных ракет и торпед в первом режиме\"\n          }, \n          {\n            \"text\": \"·Второй режим\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени полёта ракет во втором режиме\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к скорострельности пусковых установок скорострельных тяжёлых ракет, дальнобойных ракет и торпед во втором режиме\"\n          }, \n          {\n            \"text\": \"·Третий режим\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"сокращение задержки повторного включения маневрового гипердвигателя в третьем режиме\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к модификатору инертности корабля в третьем режиме\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к скорости полёта тяжёлых ракет, дальнобойных ракет и торпед в третьем режиме\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к скорострельности пусковых установок скорострельных тяжёлых ракет, дальнобойных ракет и торпед в третьем режиме\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорости распространения взрыва дальнобойных ракет и торпед\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к радиусу взрыва дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"重型快速导弹发射器、巡航导弹发射器和鱼雷发射器能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"重型快速导弹发射器、巡航导弹发射器和鱼雷发射器CPU需求降低\"\n          }, \n          {\n            \"text\": \"·启用三种战术模式中任意一种会获得额外加成。每10秒钟只能切换一次模式。\"\n          }, \n          {\n            \"text\": \"·主模式\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"启用主模式后锁定范围增加\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用主模式后导弹速度降低\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"启用主模式后导弹飞行时间增加\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"启用主模式后，重型快速导弹发射器、巡航导弹发射器和鱼雷发射器射速提高\"\n          }, \n          {\n            \"text\": \"·次级模式\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"启用次级模式后导弹飞行时间减少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"启用次级模式后，重型快速导弹发射器、巡航导弹发射器和鱼雷发射器射速提高\"\n          }, \n          {\n            \"text\": \"·三级模式\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"启用三级模式后，微型跳跃引擎重启延迟降低\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"启用三级模式后舰船惯性调整系数加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"启用三级模式后，重型导弹、巡航导弹和鱼雷速度提高\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"启用三级模式后，重型快速导弹发射器、巡航导弹发射器和鱼雷发射器射速提高\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"巡航导弹和鱼雷爆炸速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"巡航导弹和鱼雷爆炸半径加成\"\n            }\n          ], \n          \"header\": \"加达里战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 89807\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Geschwindigkeitsbonus von Nachbrennern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }\n          ], \n          \"header\": \"Minmatar Propulsion Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Minmatar Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad del posquemador.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au bonus de vitesse de la post-combustion\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"réduction de la pénalité du rayon de signature du micropropulseur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Minmatar Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"アフターバーナー速度ボーナスが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが減少\"\n            }\n          ], \n          \"header\": \"ミンマター推進力システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"애프터버너 속도 보너스 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }\n          ], \n          \"header\": \"민마타 추진기 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается влияние форсажных ускорителей на скорость полёта корабля\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские двигательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"加力燃烧器速度增益加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚减少\"\n            }\n          ], \n          \"header\": \"米玛塔尔推进子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45621\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von mittleren Energiegeschütztürmen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +6 Montageplätze für Geschütztürme\"\n          }, \n          {\n            \"text\": \"·+400 Strom, +90 CPU\"\n          }, \n          {\n            \"text\": \"·+100 GJ Energiespeicherkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Energy Turrets\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +6 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+400 PWG, +90 CPU\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en las torretas de energía medianas.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+7 ranuras superiores, +6 puntos de montaje de torreta\"\n          }, \n          {\n            \"text\": \"·+400 SP, +90 CPU\"\n          }, \n          {\n            \"text\": \"·+100 GJ de capacidad del condensador\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des Tourelles à énergie intermédiaires\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+7 Emplacements supérieurs, +6 Points de fixation de tourelle\"\n          }, \n          {\n            \"text\": \"·+400 PWG, +90 CPU\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +100 GJ\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"réduction du coût d'activation de la tourelle à énergie intermédiaire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts à la tourelle à énergie intermédiaire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des tourelles à énergie intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Energy Turrets\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +6 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+400 PWG, +90 CPU\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"中型エネルギータレットのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+7、タレットハードポイント+6\"\n          }, \n          {\n            \"text\": \"·PWG+400、CPU+90\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+100GJ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの起動コストが減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの与えるダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの最適射程距離にボーナス\"\n            }\n          ], \n          \"header\": \"アマー攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 에너지 터렛 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +7, 터렛 하드포인트 +6\"\n          }, \n          {\n            \"text\": \"·파워그리드 +400, CPU +90\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +100 GJ\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижается потребность средних лазерных орудий в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+7 разъёмов большой мощности, +6 точек монтажа орудий\"\n          }, \n          {\n            \"text\": \"·+400 МВт мощности реактора, +90 Тф мощности ЦПУ\"\n          }, \n          {\n            \"text\": \"·+100 ГДж ёмкости накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"装配中型能量炮台能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+7，炮台+6\"\n          }, \n          {\n            \"text\": \"·能量栅格+400 CPU+90\"\n          }, \n          {\n            \"text\": \"·电容器电容量+100GJ\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台启动消耗降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45598\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von schnellen Werfern für leichte Lenkwaffen sowie Werfern für schwere Lenkwaffen und schwere Angriffslenkwaffen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +5 Montageplätze für Werfer\"\n          }, \n          {\n            \"text\": \"·+200 Strom, +150 CPU\"\n          }, \n          {\n            \"text\": \"·+50 Mbit Drohnen-Bandbreite, +200 m3 Drohnenhangar\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen, schweren Lenkwaffen sowie schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden und die HP von Drohnen\"\n            }\n          ], \n          \"header\": \"Amarr Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launchers\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +5 Launcher Hardpoints\"\n          }, \n          {\n            \"text\": \"·+200 PWG, +150 CPU\"\n          }, \n          {\n            \"text\": \"·+50mbit Drone Bandwidth, +200m3 Drone Bay\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile, and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone damage and hitpoints\"\n            }\n          ], \n          \"header\": \"Amarr Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en los lanzamisiles ligeros, lanzamisiles pesados y lanzamisiles de asalto pesados de cadencia de tiro rápida.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+7 ranuras superiores, +5 puntos de montaje de lanzador\"\n          }, \n          {\n            \"text\": \"·+200 SP, +150 CPU\"\n          }, \n          {\n            \"text\": \"·+50 Mbit/s al ancho de banda de drones, +200 m³ al muelle de drones\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño y los puntos de vida de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des lance-missiles légers rapides, lance-missiles lourds et lance-missiles d'assaut lourds\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+7 Emplacements supérieurs, +5 Points de fixation de lanceur\"\n          }, \n          {\n            \"text\": \"·+200 PWG, +150 CPU\"\n          }, \n          {\n            \"text\": \"·Bande passante de drone +50 mbit, Hangar à drone +200 m3\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts et aux points de vie des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launchers\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +5 Launcher Hardpoints\"\n          }, \n          {\n            \"text\": \"·+200 PWG, +150 CPU\"\n          }, \n          {\n            \"text\": \"·+50mbit Drone Bandwidth, +200m3 Drone Bay\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile, and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone damage and hitpoints\"\n            }\n          ], \n          \"header\": \"Amarr Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"ラピッドライトミサイル、ヘビーミサイル及びヘビーアサルトミサイルランチャーのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+7、ランチャーハードポイント+5\"\n          }, \n          {\n            \"text\": \"·PWG+200、CPU+150\"\n          }, \n          {\n            \"text\": \"·ドローン帯域+50mbit、ドローンベイ+200m3\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイル、ヘビーミサイル、ヘビーアサルトミサイルのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ラピッドライトミサイル、ヘビーミサイル及びヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのダメージとHPが増加\"\n            }\n          ], \n          \"header\": \"アマー攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일의 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +7, 런처 하드포인트 +5\"\n          }, \n          {\n            \"text\": \"·파워그리드 +200, CPU +150\"\n          }, \n          {\n            \"text\": \"·드론 대역폭 +50 mbit, 드론 격납고 +200 m³\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일, 헤비 미사일 및 헤비 어썰트 미사일 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 피해량 및 내구도 증가\"\n            }\n          ], \n          \"header\": \"아마르 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижается потребность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+7 разъёмов большой мощности, +5 точек монтажа пусковых установок\"\n          }, \n          {\n            \"text\": \"·+200 МВт мощности реактора, +150 Тф мощности ЦПУ\"\n          }, \n          {\n            \"text\": \"·+50 мбит/с канала управления дронами, +200 м³ отсека для дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон БЧ лёгких ракет, тяжёлых штурмовых ракет, тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"装配轻型快速导弹发射器, 重型导弹发射器和重型攻击导弹发射器的能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+7，发射器+5\"\n          }, \n          {\n            \"text\": \"·能量栅格+200，CPU+150\"\n          }, \n          {\n            \"text\": \"·无人机带宽+50mbit，无人机挂舱+200m³\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }\n          ], \n          \"header\": \"艾玛攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45599\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Belagerungsmodul ausrüsten\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf Durchlaufzeit von Entosis-Netzwerk\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Capital-Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern und die Reparaturmenge von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Präzisionsabfall-Reichweite von schweren Stasisgreifarmen\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster and Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Stasis Grappler falloff range\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles capital.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo y los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance efectivo de los anquilizadores de estasis pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster and Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Stasis Grappler falloff range\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster and Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Stasis Grappler falloff range\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"キャピタルプロジェクタイルタレットの与ダメージ増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルプロジェクタイルタレットの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースター及びアーマーリペアラの回復量増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ヘビーステイシスグラップラーの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"캐피탈 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 및 장갑수리 장치 회복량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"헤비 스테이시스 그래플러 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Позволяет установить осадный модуль\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"штраф ко времени цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к урону баллистических орудий КБТ\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорострельности баллистических орудий КБТ\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности модуля накачки щитов и установки ремонта брони\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к остаточной дальности тяжёлых стазис-захватов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"旗舰级射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量和装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"重型停滞捕捉光束失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 73787\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+100 Schild-HP, +500 Panzerungs-HP\"\n          }, \n          {\n            \"text\": \"·+300 GJ Energiespeicherkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Defensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+100 Shield HP, +500 Armor HP\"\n          }, \n          {\n            \"text\": \"·+300GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Armor Repairers\"\n            }\n          ], \n          \"header\": \"Gallente Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+100 PV de escudo, +500 PV de blindaje\"\n          }, \n          {\n            \"text\": \"·+300 GJ de capacidad del condensador\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad del reparador de blindaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonificación a los beneficios de sobrecalentar los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos gallentes (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·+100 PV au bouclier, +500 PV au blindage\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +300 GJ\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité du Réparateur de blindage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des Réparateurs de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+100 Shield HP, +500 Armor HP\"\n          }, \n          {\n            \"text\": \"·+300GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Armor Repairers\"\n            }\n          ], \n          \"header\": \"Gallente Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·シールドHP+100、アーマーHP+500\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+300GJ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"アーマーリペアラの効果が増大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたアーマーリペアラの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ防御システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·실드량 +100, 장갑 내구도 +500\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +300 GJ\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑수리 장치 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑수리 장치 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"갈란테 방어용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+100 единиц прочности щитов, +500 единиц прочности брони\"\n          }, \n          {\n            \"text\": \"·+300 ГДж ёмкости накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"усиливается влияние перегрузки на параметры установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские оборонительные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2，低槽+2\"\n          }, \n          {\n            \"text\": \"·护盾值+100，装甲值+500\"\n          }, \n          {\n            \"text\": \"·电容器电容量+300GJ\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"装甲维修器效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"装甲维修器过载效果加成\"\n            }\n          ], \n          \"header\": \"盖伦特防御子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45594\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von kleinen Energiegeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die HP der Panzerung des Schiffs\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Energieneutralisierern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Energieneutralisierern\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to ship armor hitpoints\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction to Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction to Energy Neutralizer activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Neutralizer strength\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta de energía pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a los puntos de vida del blindaje de la nave.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del neutralizador energético.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonificación a la intensidad del neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to ship armor hitpoints\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction to Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction to Energy Neutralizer activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Neutralizer strength\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to ship armor hitpoints\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction to Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction to Energy Neutralizer activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Neutralizer strength\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型エネルギータレットの最適射程距離と精度低下範囲にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"艦船のアーマーHPが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型エネルギータレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの起動コストが減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーニュートラライザーの起動コストが減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーニュートラライザーの強度にボーナス\"\n            }\n          ], \n          \"header\": \"アマー駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 에너지 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑 내구도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 뉴트럴라이저 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 뉴트럴라이저 강도 증가\"\n            }\n          ], \n          \"header\": \"아마르 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к оптимальной и остаточной дальности малых лазерных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к запасу прочности брони корабля\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к урону малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"снижение расхода энергии на активацию малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"снижение расхода энергии на активацию дистанционных нейтрализаторов заряда\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к мощности дистанционных нейтрализаторов заряда\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型能量炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"舰船装甲值加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台启动消耗降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"能量中和器启动消耗降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"能量中和器强度加成\"\n            }\n          ], \n          \"header\": \"艾玛驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 73789\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+600 Schild-HP, +600 Panzerungs-HP\"\n          }, \n          {\n            \"text\": \"·+10 m Signaturradius\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf alle HP von Panzerung und Schild\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Panzerungs- und Schildhärtern\"\n            }\n          ], \n          \"header\": \"Minmatar Defensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+600 Shield HP, +600 Armor HP\"\n          }, \n          {\n            \"text\": \"·+10m Signature Radius\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to all armor and shield hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to the benefits of overheating armor and shield hardeners\"\n            }\n          ], \n          \"header\": \"Minmatar Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+600 PV de escudo, +600 PV de blindaje\"\n          }, \n          {\n            \"text\": \"·+10 m al radio de la señal\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a todos los puntos de vida de los escudos y del blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los endurecedores de escudo y de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·+600 PV au bouclier, +600 PV au blindage\"\n          }, \n          {\n            \"text\": \"·Rayon de signature +10 m\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux PV des boucliers et du blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des renforcements de bouclier et de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+600 Shield HP, +600 Armor HP\"\n          }, \n          {\n            \"text\": \"·+10m Signature Radius\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to all armor and shield hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to the benefits of overheating armor and shield hardeners\"\n            }\n          ], \n          \"header\": \"Minmatar Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·シールドHP+600、アーマーHP+600\"\n          }, \n          {\n            \"text\": \"·シグネチャ半径+10m\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"全てのアーマーとシールドHPが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"オーバーヒートしたアーマーとシールドハードナーの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター防御システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·실드량 +600, 장갑 내구도 +600\"\n          }, \n          {\n            \"text\": \"·시그니처 반경 +10m\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"장갑 내구도 및 실드량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"장갑 및 실드 강화장치 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 방어용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+600 единиц прочности щитов, +600 единиц прочности брони\"\n          }, \n          {\n            \"text\": \"·+10 метров размера сигнатуры\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается запас прочности брони и корпуса корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"усиливается влияние перегрузки на параметры укрепителей брони и активных модуляторов щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские оборонительные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2，低槽+2\"\n          }, \n          {\n            \"text\": \"·护盾值+600，装甲值+600\"\n          }, \n          {\n            \"text\": \"·信号半径+10m\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"装甲值和护盾值加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装甲和护盾增强器过载效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔防御子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45596\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+300 Schild-HP, +300 Panzerungs-HP, +100 Rumpf-HP\"\n          }, \n          {\n            \"text\": \"·+300 GJ Energiespeicherkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Panzerungsreparatursystemen und Schildboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Panzerungsreparatursystemen und Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Defensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+300 Shield HP, +300 Armor HP, +100 Hull HP\"\n          }, \n          {\n            \"text\": \"·+300GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer and Shield Booster effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Armor Repairers and Shield Boosters\"\n            }\n          ], \n          \"header\": \"Minmatar Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+300 PV de escudo, +300 PV de blindaje, +100 PV de casco\"\n          }, \n          {\n            \"text\": \"·+300 GJ de capacidad del condensador\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad del reparador de blindaje y el potenciador de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los reparadores de blindaje y los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·+300 PV au bouclier, +300 PV au blindage, +100 PV à la coque\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +300 GJ\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité du Réparateur de blindage et du Booster de bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des Réparateurs de blindage et des Boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+300 Shield HP, +300 Armor HP, +100 Hull HP\"\n          }, \n          {\n            \"text\": \"·+300GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer and Shield Booster effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Armor Repairers and Shield Boosters\"\n            }\n          ], \n          \"header\": \"Minmatar Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·シールドHP+300、アーマーHP+300、船体HP+100\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+300GJ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"アーマーリペアラとシールドブースターの効果にボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたアーマーリペアラとシールドブースターの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター防御システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·실드량 +300, 장갑 내구도 +300, 선체 내구도 +100\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +300 GJ\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑수리 장치 및 실드 부스터 과부하 시 보너스 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑수리 장치 및 실드 부스터 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 방어용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+300 единиц прочности щитов, +300 единиц прочности брони, +100 единиц прочности корпуса\"\n          }, \n          {\n            \"text\": \"·+300 ГДж ёмкости накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок ремонта брони и установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"усиливается влияние перегрузки на параметры установок ремонта брони и установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские оборонительные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2，低槽+2\"\n          }, \n          {\n            \"text\": \"·护盾值+300，装甲值+300，结构值+100\"\n          }, \n          {\n            \"text\": \"·电容器电容量+300GJ\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"装甲维修器和护盾回充增量器效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"装甲维修器和护盾回充增量器过载效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔防御子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45597\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1000 Schild-HP\"\n          }, \n          {\n            \"text\": \"·+10 m Signaturradius\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf alle Schild-HP\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Schildhärtern\"\n            }\n          ], \n          \"header\": \"Caldari Defensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1000 Shield HP\"\n          }, \n          {\n            \"text\": \"·+10m Signature Radius\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to all shield hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to the benefits of overheating shield hardeners\"\n            }\n          ], \n          \"header\": \"Caldari Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+1000 PV de escudo\"\n          }, \n          {\n            \"text\": \"·+10 m al radio de la señal\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a todos los puntos de vida de los escudos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los endurecedores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·+1 000 PV au bouclier\"\n          }, \n          {\n            \"text\": \"·Rayon de signature +10 m\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux points de dommages du bouclier\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des Renforcements de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1000 Shield HP\"\n          }, \n          {\n            \"text\": \"·+10m Signature Radius\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to all shield hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to the benefits of overheating shield hardeners\"\n            }\n          ], \n          \"header\": \"Caldari Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·シールドHP+1000\"\n          }, \n          {\n            \"text\": \"·シグネチャ半径+10m\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"全てのシールドHPが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"オーバーヒートしたシールドハードナーの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ防御システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·실드량 +1000\"\n          }, \n          {\n            \"text\": \"·시그니처 반경 +10m\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"실드량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"실드 강화장치 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"칼다리 방어용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+1000 единиц прочности щитов\"\n          }, \n          {\n            \"text\": \"·+10 метров размера сигнатуры\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается запас прочности щитов корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"усиливается влияние перегрузки на параметры активных модуляторов щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские оборонительные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2，低槽+2\"\n          }, \n          {\n            \"text\": \"·护盾值+1000\"\n          }, \n          {\n            \"text\": \"·信号半径+10m\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"护盾值加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"护盾增强器过载效果加成\"\n            }\n          ], \n          \"header\": \"加达里防御子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45590\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+3 Mid Slots, +1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+500 Schild-HP, +100 Panzerungs-HP\"\n          }, \n          {\n            \"text\": \"·+300 GJ Energiespeicherkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Schildboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Caldari Defensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+3 Mid Slots, +1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+500 Shield HP, +100 Armor HP\"\n          }, \n          {\n            \"text\": \"·+300GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Shield Boosters\"\n            }\n          ], \n          \"header\": \"Caldari Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+ 3 ranuras intermedias, +1 ranura inferior\"\n          }, \n          {\n            \"text\": \"·+500 PV de escudo, +100 PV de blindaje\"\n          }, \n          {\n            \"text\": \"·+300 GJ de capacidad del condensador\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad del potenciador de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+3 Emplacements intermédiaires, +1 Emplacement inférieur\"\n          }, \n          {\n            \"text\": \"·+500 PV au bouclier, +100 PV au blindage\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +300 GJ\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité du Booster de bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des Boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+3 Mid Slots, +1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+500 Shield HP, +100 Armor HP\"\n          }, \n          {\n            \"text\": \"·+300GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Shield Boosters\"\n            }\n          ], \n          \"header\": \"Caldari Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+3、ロースロット+1\"\n          }, \n          {\n            \"text\": \"·シールドHP+500、アーマーHP+100\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+300GJ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"シールドブースターの効果が増大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたシールドブースターの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ防御システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +3, 로우 슬롯 +1\"\n          }, \n          {\n            \"text\": \"·실드량 +500, 장갑 내구도 +100\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +300 GJ\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"실드 부스터 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"실드 부스터 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"칼다리 방어용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+3 разъёма средней мощности, +1 разъём малой мощности\"\n          }, \n          {\n            \"text\": \"·+500 единиц прочности щитов, +100 единиц прочности брони\"\n          }, \n          {\n            \"text\": \"·+300 ГДж ёмкости накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"усиливается влияние перегрузки на параметры установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские оборонительные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+3，低槽+1\"\n          }, \n          {\n            \"text\": \"·护盾值+500，装甲值+100\"\n          }, \n          {\n            \"text\": \"·电容器电容量+300GJ\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"护盾回充增量器效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"护盾回充增量器过载效果加成\"\n            }\n          ], \n          \"header\": \"加达里防御子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45591\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Daten-Analysegeräten\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 High Slot, +1 Mid Slot, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+300 Schild-HP, +600 Rumpf-HP\"\n          }, \n          {\n            \"text\": \"·+200 GJ Energiespeicherkapazität\"\n          }, \n          {\n            \"text\": \"·+5 m Signaturradius\"\n          }, \n          {\n            \"text\": \"·+30 m3 Frachtraumkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Defensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 High Slot, +1 Mid Slot, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+300 Shield HP, +600 Hull HP\"\n          }, \n          {\n            \"text\": \"·+200GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+5m Signature Radius\"\n          }, \n          {\n            \"text\": \"·+30m3 Cargo Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer effectiveness\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to the benefits of overheating Armor Repairers\"\n            }\n          ], \n          \"header\": \"Gallente Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura superior, +1 ranura intermedia, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+300 PV de escudo, +600 PV de casco\"\n          }, \n          {\n            \"text\": \"·+200 GJ de capacidad del condensador\"\n          }, \n          {\n            \"text\": \"·+5 m al radio de la señal\"\n          }, \n          {\n            \"text\": \"·+30 m³ a la capacidad de carga\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del reparador de blindaje.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonificación a los beneficios de sobrecalentar los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos gallentes (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes et un générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement supérieur, +1 Emplacement intermédiaire, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·+300 PV au bouclier, +600 PV à la coque\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +200 GJ\"\n          }, \n          {\n            \"text\": \"·Rayon de signature +5 m\"\n          }, \n          {\n            \"text\": \"·Capacité de la soute +30 m3\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité du Réparateur de blindage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des Réparateurs de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 High Slot, +1 Mid Slot, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+300 Shield HP, +600 Hull HP\"\n          }, \n          {\n            \"text\": \"·+200GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+5m Signature Radius\"\n          }, \n          {\n            \"text\": \"·+30m3 Cargo Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer effectiveness\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to the benefits of overheating Armor Repairers\"\n            }\n          ], \n          \"header\": \"Gallente Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物とデータアナライザーのウイルス強度が上昇\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置と潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+1、ミッドスロット+1、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·シールドHP+300、船体HP+600\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+200GJ\"\n          }, \n          {\n            \"text\": \"·シグネチャ半径+5m\"\n          }, \n          {\n            \"text\": \"·カーゴ容量+30m3\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラの効果が増大\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"オーバーヒートしたアーマーリペアラの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ防御システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +1, 미드 슬롯 +1, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·실드량 +300, 선체 내구도 +600\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +200 GJ\"\n          }, \n          {\n            \"text\": \"·시그니처 반경 +5m\"\n          }, \n          {\n            \"text\": \"·화물 적재량 +30m³\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 효과 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"갈란테 방어용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём большой мощности, +1 разъём средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+300 единиц прочности щитов, +600 единиц прочности корпуса\"\n          }, \n          {\n            \"text\": \"·+200 ГДж ёмкости накопителя\"\n          }, \n          {\n            \"text\": \"·+5 метров размера сигнатуры\"\n          }, \n          {\n            \"text\": \"·+30 м³ вместимости грузового отсека\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"усиливается влияние перегрузки на параметры установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские оборонительные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+1，中槽+1，低槽+2\"\n          }, \n          {\n            \"text\": \"·护盾值+300，结构值+600\"\n          }, \n          {\n            \"text\": \"·电容器电容量+200GJ\"\n          }, \n          {\n            \"text\": \"·信号半径+5m\"\n          }, \n          {\n            \"text\": \"·货柜舱容量+30m³\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器效果加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器过载效果加成\"\n            }\n          ], \n          \"header\": \"盖伦特防御子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45592\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion des Masseabzugs von Panzerplatten\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +3 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1000 Panzerungs-HP\"\n          }, \n          {\n            \"text\": \"·+10 m Signaturradius\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf alle Panzerungs-HP\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Panzerungshärtern\"\n            }\n          ], \n          \"header\": \"Gallente Defensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Armor Plate mass penalty\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +3 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1000 Armor HP\"\n          }, \n          {\n            \"text\": \"·+10m Signature Radius\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to all armor hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to the benefits of overheating armor hardeners\"\n            }\n          ], \n          \"header\": \"Gallente Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de la penalización de masa de la placa de blindaje.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura intermedia, +3 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+1000 PV de blindaje\"\n          }, \n          {\n            \"text\": \"·+10 m al radio de la señal\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a todos los puntos de vida del blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los endurecedores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos gallentes (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction à la pénalité de masse du revêtement de blindage\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement intermédiaire, +3 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·+1 000 PV au blindage\"\n          }, \n          {\n            \"text\": \"·Rayon de signature +10 m\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à tous les points de dommages du blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des Renforcements de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Armor Plate mass penalty\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +3 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1000 Armor HP\"\n          }, \n          {\n            \"text\": \"·+10m Signature Radius\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to all armor hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to the benefits of overheating armor hardeners\"\n            }\n          ], \n          \"header\": \"Gallente Defensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"アーマープレートの質量ペナルティが減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+1、ロースロット+3\"\n          }, \n          {\n            \"text\": \"·アーマーHP+1000\"\n          }, \n          {\n            \"text\": \"·シグネチャ半径+10m\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"全てのアーマーヒットポイントが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"オーバーヒートしたアーマーハードナーにボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ防御システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"장갑 플레이트 질량 페널티 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +1, 로우 슬롯 +3\"\n          }, \n          {\n            \"text\": \"·장갑 내구도 +1000\"\n          }, \n          {\n            \"text\": \"·시그니처 반경 +10m\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"장갑 내구도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"장갑 강화장치 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"갈란테 방어용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижение штрафа за массу для бронеплит\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём средней мощности, +3 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+1000 единиц прочности брони\"\n          }, \n          {\n            \"text\": \"·+10 метров размера сигнатуры\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается запас прочности брони корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"усиливается влияние перегрузки на параметры укрепителей брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские оборонительные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"附甲板质量惩罚降低\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+1，低槽+3\"\n          }, \n          {\n            \"text\": \"·装甲值+1000\"\n          }, \n          {\n            \"text\": \"·信号半径+10m\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"装甲值加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装甲增强器过载效果加成\"\n            }\n          ], \n          \"header\": \"盖伦特防御子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45593\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Gallente Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32811\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf die Effektivität des Stasisnetzes von Stasisnetz-Drohnen\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf die HP von Stasisnetz-Drohnen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit von Stasisnetz-Drohnen\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen, schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern und die Reparaturmenge von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Feuerrate von Werfern für leichte Lenkwaffen, schwere Lenkwaffen sowie schwere Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Stasis Webifying Drone Stasis Webifier effectiveness\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Stasis Webifying Drone hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis Webifying Drone max velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster and Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion velocity\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación a la efectividad de la red ralentizadora de los drones de red ralentizadora.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación a los puntos de vida de los drones de red ralentizadora.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la velocidad máxima de los drones de red ralentizadora.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo y los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonus d'efficacité des générateurs de stase des drones de stase\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonus de points de vie des drones de stase\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus pour la vitesse maximale des drones de stase\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des missiles légers, missiles lourds et missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux capacités du booster de bouclier et du réparateur de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de cadence de tir des lance-missiles légers, des lance-missiles lourds et des lance-missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Stasis Webifying Drone Stasis Webifier effectiveness\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Stasis Webifying Drone hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis Webifying Drone max velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster and Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion velocity\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"ステイシスウェブドローンのステイシスウェビファイヤーの効果にボーナス\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"ステイシスウェブドローンのヒットポイントにボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ステイシスウェブドローンの最大速度にボーナス\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイル、ヘビーミサイルおよびヘビーアサルトミサイルのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"シールドブースターおよびアーマーリペアラの回復量増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの爆発速度上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイル、ヘビーミサイルおよびヘビーアサルトミサイルランチャーの発射間隔にボーナス\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"스테이시스 웹 드론의 스테이시스 웹 생성기 효과 증가\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"스테이시스 웹 드론 내구도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스테이시스 웹 드론 최대속도 증가\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일, 헤비 미사일 및 헤비 어썰트 미사일 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"실드 부스터 및 장갑수리 장치 회복량 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 폭발속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 연사속도 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 500%\", \n            \"text\": \"бонус к эффективности стазис-индукторов дронов стазис-индукции\"\n          }, \n          {\n            \"number\": \"на 500%\", \n            \"text\": \"бонус к запасу прочности дронов стазис-индукции\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к максимальной скорости дронов стазис-индукции\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону от лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к эффективности модуля накачки щитов и установки ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к скорости распространения взрыва тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к скорострельности установок для лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"500%\", \n            \"text\": \"停滞缠绕无人机停滞缠绕光束效果加成\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"停滞缠绕无人机HP加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"停滞缠绕无人机最大速度加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击型损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"护盾回充增量器回充量和装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹爆炸速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹发射器射速加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 74316\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion in der Reaktivierungsverzögerung des Anti-Unterbrechers und max. Erfassungsreichweitenabzug\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+0,1 Trägheitsmodifikator\"\n          }, \n          {\n            \"text\": \"·-20 km Max. Zielerfassungsreichweite\"\n          }, \n          {\n            \"text\": \"·+20 m Signaturradius\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Beschleunigung\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Energiespeicherverbrauchs bei der Warpsprung-Initiierung\"\n            }\n          ], \n          \"header\": \"Minmatar Propulsion Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+0.1 Inertia Modifier\"\n          }, \n          {\n            \"text\": \"·-20km Max Targeting Range\"\n          }, \n          {\n            \"text\": \"·+20m Signature Radius\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp velocity and acceleration\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in capacitor need when initiating warp\"\n            }\n          ], \n          \"header\": \"Minmatar Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo del anulador de interdicción.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura inferior\"\n          }, \n          {\n            \"text\": \"·+0,1 al modificador de inercia\"\n          }, \n          {\n            \"text\": \"·-20 km a la distancia-objetivo máxima\"\n          }, \n          {\n            \"text\": \"·+20 m al radio de la señal\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la aceleración y la velocidad de warp.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la necesidad del condensador al iniciar el warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction et à la pénalité de portée de verrouillage maximale\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement inférieur\"\n          }, \n          {\n            \"text\": \"·Modificateur d'inertie +0,1\"\n          }, \n          {\n            \"text\": \"·Portée max du système de ciblage -20 km\"\n          }, \n          {\n            \"text\": \"·Rayon de signature +20 m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction des besoins énergétiques du capaciteur au moment d'initier le warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+0.1 Inertia Modifier\"\n          }, \n          {\n            \"text\": \"·-20km Max Targeting Range\"\n          }, \n          {\n            \"text\": \"·+20m Signature Radius\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp velocity and acceleration\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in capacitor need when initiating warp\"\n            }\n          ], \n          \"header\": \"Minmatar Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と最大ロック射程のペナルティ減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ロースロット+1\"\n          }, \n          {\n            \"text\": \"·慣性乗数+0.1\"\n          }, \n          {\n            \"text\": \"·最大ターゲット範囲-20km\"\n          }, \n          {\n            \"text\": \"·シグネチャ半径+20m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープ速度と加速度が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ワープ時のキャパシタ消費が減少\"\n            }\n          ], \n          \"header\": \"ミンマター推進力システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 무효화 장치 재활성화 대기시간 및 최대 타겟팅 거리 페널티 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·로우 슬롯 +1\"\n          }, \n          {\n            \"text\": \"·관성 계수 +0.1\"\n          }, \n          {\n            \"text\": \"·최대 타겟팅 거리 -20 km\"\n          }, \n          {\n            \"text\": \"·시그니처 반경 +20m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 무효화 장치 지속시간 보너스\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 속도 및 가속도 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"워프 시전 시 캐패시터 소모량 감소\"\n            }\n          ], \n          \"header\": \"민마타 추진기 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений и штрафа к максимальной дальности захвата цели\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём малой мощности\"\n          }, \n          {\n            \"text\": \"·+0,1 к инертности конструкции\"\n          }, \n          {\n            \"text\": \"·-20 километров к максимальной дальности захвата целей\"\n          }, \n          {\n            \"text\": \"·+20 метров размера сигнатуры\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается расход энергии при включении варп-двигателя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские двигательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟和最大锁定距离惩罚降低\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·低槽+1\"\n          }, \n          {\n            \"text\": \"·惯性调整系数+0.1\"\n          }, \n          {\n            \"text\": \"·最大锁定距离减少20km\"\n          }, \n          {\n            \"text\": \"·信号半径+20m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"跃迁启动电容量减耗\"\n            }\n          ], \n          \"header\": \"米玛塔尔推进子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45619\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Durchlaufzeit von Bergbaulasern\"\n          }, \n          {\n            \"text\": \"·Erzablagerungen sind hier und in nahegelegenen Systemen wahrscheinlicher\"\n          }, \n          {\n            \"text\": \"·Dieses System steht immer unter den Effekten der Bekämpfungsstufe 2\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }, \n          {\n            \"text\": \"·ore deposits are more likely to appear here and in nearby systems\"\n          }, \n          {\n            \"text\": \"·this system is always under the effects of suppression stage 2\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al tiempo de ciclo del láser minero.\"\n          }, \n          {\n            \"text\": \"·es más probable que aparezcan depósitos de menas aquí y en sistemas cercanos\"\n          }, \n          {\n            \"text\": \"·este sistema siempre está bajo los efectos de la fase 2 de supresión\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus au temps de cycle de laser d'extraction\"\n          }, \n          {\n            \"text\": \"·Les gisements de minerai sont plus susceptibles d'apparaître ici et dans les systèmes voisins\"\n          }, \n          {\n            \"text\": \"·ce système est toujours sous l'effet de la phase de répression 2\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }, \n          {\n            \"text\": \"·ore deposits are more likely to appear here and in nearby systems\"\n          }, \n          {\n            \"text\": \"·this system is always under the effects of suppression stage 2\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"採掘レーザーのサイクル時間を短縮\"\n          }, \n          {\n            \"text\": \"·鉱床がこの場所と付近のシステムに出現しやすくなる\"\n          }, \n          {\n            \"text\": \"·このシステムは常にステージ2の鎮圧効果を受ける\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"채굴 레이저 사이클 시간 보너스\"\n          }, \n          {\n            \"text\": \"·광물 매장지가 이곳과 근처 성계에 나타날 수 있습니다.\"\n          }, \n          {\n            \"text\": \"·언제나 2단계 억제 효과가 적용되는 성계입니다.\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к времени цикла бурового лазера\"\n          }, \n          {\n            \"text\": \"·здесь и в смежных системах залежи руды встречаются чаще\"\n          }, \n          {\n            \"text\": \"·на эту систему постоянно воздействуют эффекты 2-го уровня стабилизации\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"采矿激光器单次运转时间加成\"\n          }, \n          {\n            \"text\": \"·矿床更有可能出现在这里以及附近的系统中。\"\n          }, \n          {\n            \"text\": \"·该系统始终处于第二阶段抑制状态。\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 90145\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Durchlaufzeit von Bergbaulasern\"\n          }, \n          {\n            \"text\": \"·Erzablagerungen sind hier und in nahegelegenen Systemen wahrscheinlicher\"\n          }, \n          {\n            \"text\": \"·Dieses System steht immer unter den Effekten der Bekämpfungsstufe 2\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }, \n          {\n            \"text\": \"·ore deposits are more likely to appear here and in nearby systems\"\n          }, \n          {\n            \"text\": \"·this system is always under the effects of suppression stage 2\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al tiempo de ciclo del láser minero.\"\n          }, \n          {\n            \"text\": \"·es más probable que aparezcan depósitos de menas aquí y en sistemas cercanos\"\n          }, \n          {\n            \"text\": \"·este sistema siempre está bajo los efectos de la fase 2 de supresión\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus au temps de cycle de laser d'extraction\"\n          }, \n          {\n            \"text\": \"·Les gisements de minerai sont plus susceptibles d'apparaître ici et dans les systèmes voisins\"\n          }, \n          {\n            \"text\": \"·ce système est toujours sous l'effet de la phase de répression 2\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }, \n          {\n            \"text\": \"·ore deposits are more likely to appear here and in nearby systems\"\n          }, \n          {\n            \"text\": \"·this system is always under the effects of suppression stage 2\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"採掘レーザーのサイクル時間を短縮\"\n          }, \n          {\n            \"text\": \"·鉱床がこの場所と付近のシステムに出現しやすくなる\"\n          }, \n          {\n            \"text\": \"·このシステムは常にステージ2の鎮圧効果を受ける\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"채굴 레이저 사이클 시간 보너스\"\n          }, \n          {\n            \"text\": \"·광물 매장지가 이곳과 근처 성계에 나타날 수 있습니다.\"\n          }, \n          {\n            \"text\": \"·언제나 2단계 억제 효과가 적용되는 성계입니다.\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к времени цикла бурового лазера\"\n          }, \n          {\n            \"text\": \"·здесь и в смежных системах залежи руды встречаются чаще\"\n          }, \n          {\n            \"text\": \"·на эту систему постоянно воздействуют эффекты 2-го уровня стабилизации\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"采矿激光器单次运转时间加成\"\n          }, \n          {\n            \"text\": \"·矿床更有可能出现在此处以及邻近星系中。\"\n          }, \n          {\n            \"text\": \"·此星系始终处于第2阶段镇压效果的影响下\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 90144\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Durchlaufzeit von Bergbaulasern\"\n          }, \n          {\n            \"text\": \"·Erzablagerungen sind hier und in nahegelegenen Systemen wahrscheinlicher\"\n          }, \n          {\n            \"text\": \"·Dieses System steht immer unter den Effekten der Bekämpfungsstufe 2\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }, \n          {\n            \"text\": \"·ore deposits are more likely to appear here and in nearby systems\"\n          }, \n          {\n            \"text\": \"·this system is always under the effects of suppression stage 2\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al tiempo de ciclo del láser minero.\"\n          }, \n          {\n            \"text\": \"·es más probable que aparezcan depósitos de menas aquí y en sistemas cercanos\"\n          }, \n          {\n            \"text\": \"·este sistema siempre está bajo los efectos de la fase 2 de supresión\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus au temps de cycle de laser d'extraction\"\n          }, \n          {\n            \"text\": \"·Les gisements de minerai sont plus susceptibles d'apparaître ici et dans les systèmes voisins\"\n          }, \n          {\n            \"text\": \"·ce système est toujours sous l'effet de la phase de répression 2\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }, \n          {\n            \"text\": \"·ore deposits are more likely to appear here and in nearby systems\"\n          }, \n          {\n            \"text\": \"·this system is always under the effects of suppression stage 2\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"採掘レーザーのサイクル時間を短縮\"\n          }, \n          {\n            \"text\": \"·鉱床がこの場所と付近のシステムに出現しやすくなる\"\n          }, \n          {\n            \"text\": \"·このシステムは常にステージ2の鎮圧効果を受ける\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"채굴 레이저 사이클 시간 보너스\"\n          }, \n          {\n            \"text\": \"·광물 매장지가 이곳과 근처 성계에 나타날 수 있습니다.\"\n          }, \n          {\n            \"text\": \"·언제나 2단계 억제 효과가 적용되는 성계입니다.\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к времени цикла бурового лазера\"\n          }, \n          {\n            \"text\": \"·здесь и в смежных системах залежи руды встречаются чаще\"\n          }, \n          {\n            \"text\": \"·на эту систему постоянно воздействуют эффекты 2-го уровня стабилизации\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"采矿激光器单次运转时间加成\"\n          }, \n          {\n            \"text\": \"·矿床更有可能出现在这里以及附近的系统中。\"\n          }, \n          {\n            \"text\": \"·该系统始终处于第二阶段抑制状态。\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 90147\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Durchlaufzeit von Bergbaulasern\"\n          }, \n          {\n            \"text\": \"·Erzablagerungen sind hier und in nahegelegenen Systemen wahrscheinlicher\"\n          }, \n          {\n            \"text\": \"·Dieses System steht immer unter den Effekten der Bekämpfungsstufe 2\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }, \n          {\n            \"text\": \"·ore deposits are more likely to appear here and in nearby systems\"\n          }, \n          {\n            \"text\": \"·this system is always under the effects of suppression stage 2\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al tiempo de ciclo del láser minero.\"\n          }, \n          {\n            \"text\": \"·es más probable que aparezcan depósitos de menas aquí y en sistemas cercanos\"\n          }, \n          {\n            \"text\": \"·este sistema siempre está bajo los efectos de la fase 2 de supresión\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus au temps de cycle de laser d'extraction\"\n          }, \n          {\n            \"text\": \"·Les gisements de minerai sont plus susceptibles d'apparaître ici et dans les systèmes voisins\"\n          }, \n          {\n            \"text\": \"·ce système est toujours sous l'effet de la phase de répression 2\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }, \n          {\n            \"text\": \"·ore deposits are more likely to appear here and in nearby systems\"\n          }, \n          {\n            \"text\": \"·this system is always under the effects of suppression stage 2\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"採掘レーザーのサイクル時間を短縮\"\n          }, \n          {\n            \"text\": \"·鉱床がこの場所と付近のシステムに出現しやすくなる\"\n          }, \n          {\n            \"text\": \"·このシステムは常にステージ2の鎮圧効果を受ける\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"채굴 레이저 사이클 시간 보너스\"\n          }, \n          {\n            \"text\": \"·광물 매장지가 이곳과 근처 성계에 나타날 수 있습니다.\"\n          }, \n          {\n            \"text\": \"·언제나 2단계 억제 효과가 적용되는 성계입니다.\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к времени цикла бурового лазера\"\n          }, \n          {\n            \"text\": \"·здесь и в смежных системах залежи руды встречаются чаще\"\n          }, \n          {\n            \"text\": \"·на эту систему постоянно воздействуют эффекты 2-го уровня стабилизации\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"采矿激光器单次运转时间加成\"\n          }, \n          {\n            \"text\": \"·矿床更有可能出现在这里以及附近的系统中。\"\n          }, \n          {\n            \"text\": \"·该系统始终处于第二阶段抑制状态。\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 90146\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen und Raketen\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Scansondenwerfern und Vermessungssondenwerfern\"\n          }, \n          {\n            \"text\": \"·Weitere Boni sind verfügbar, solange einer der drei Modi des taktischen Zerstörers aktiv ist. Zwischen den Modi kann nur alle 10 Sekunden umgeschaltet werden.\"\n          }, \n          {\n            \"text\": \"·Verteidigungsmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf alle Schildresistenzen bei aktiviertem Verteidigungsmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Reduktion des Signaturradius des Schiffs bei aktiviertem Verteidigungsmodus\"\n          }, \n          {\n            \"text\": \"·Antriebsmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit bei aktiviertem Antriebsmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Bonus auf den Trägheitsmodifikator von Schiffen bei aktiviertem Antriebsmodus\"\n          }, \n          {\n            \"text\": \"·Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Leichten Lenkwaffenwerfern und Raketenwerfern bei aktiviertem Scharfschützenmodus.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf den Schaden von Leichten Lenkwaffenwerfern und Raketenwerfern bei aktiviertem Scharfschützenmodus.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Sensorstärke und Zielerfassungsreichweite bei aktiviertem Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"erhöhte Widerstandsfähigkeit gegen gegnerische Sensordämpfer und Waffenstörer bei aktiviertem Scharfschützenmodus\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf die Feuerrate von leichten Lenkwaffenwerfern und Raketenwerfern\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion der Nachladezeit von Lenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduzierung des Hitzeschadens von Modulen\"\n            }\n          ], \n          \"header\": \"Caldari Tactical Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus to Light Missile and Rocket damage\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Scan Probe Launcher and Survey Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Additional bonuses are available while one of three Tactical Destroyer Modes are active. Modes may be switched no more than once every 10 seconds.\"\n          }, \n          {\n            \"text\": \"·Defense Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to all shield resistances while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"reduction in ship signature radius while Defense Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Propulsion Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to maximum velocity while Propulsion Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to ship inertia modifier while Propulsion Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Sharpshooter Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Light Missile and Rocket velocity while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Light Missile and Rocket damage while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to sensor strength and targeting range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"increased resistances against hostile Sensor Dampeners and Weapon Disruptors while Sharpshooter Mode is enabled\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Light Missile launcher and Rocket launcher rate of fire\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in missile launcher reload time\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module heat damage amount taken\"\n            }\n          ], \n          \"header\": \"Caldari Tactical Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"de bonificación al daño de los misiles ligeros y los cohetes.\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los requisitos de CPU del lanzasondas de escaneo y el lanzasondas de prospección.\"\n          }, \n          {\n            \"text\": \"·Hay bonificaciones adicionales disponibles mientras uno de los tres modos de destructor táctico está habilitado. No se puede cambiar de modo más de una vez cada 10 segundos.\"\n          }, \n          {\n            \"text\": \"·Modo de defensa\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación a todas las resistencias de escudo mientras el modo de defensa está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de reducción del radio de la señal de la nave mientras el modo de defensa está habilitado.\"\n          }, \n          {\n            \"text\": \"·Modo de propulsión\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación a la velocidad máxima mientras el modo de propulsión está habilitado.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonificación al modificador de inercia de la nave mientras el modo de propulsión está habilitado.\"\n          }, \n          {\n            \"text\": \"·Modo de francotirador\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonificación a la velocidad de los misiles ligeros y los cohetes mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación al daño de los misiles ligeros y los cohetes mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la intensidad del sensor y la distancia-objetivo mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"más resistencia frente a atenuadores de sensor y disruptores de armas hostiles mientras el modo de francotirador está habilitado.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"bonificación a la cadencia de tiro de los lanzamisiles ligeros y los lanzacohetes.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción del tiempo de recarga de los lanzamisiles.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la cantidad de daño por calor del módulo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor táctico caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"de bonus aux dégâts des missiles légers et des roquettes\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"réduction des prérequis de CPU pour les lanceurs de sondes de balayage et de sondes d'inspection\"\n          }, \n          {\n            \"text\": \"·Des bonus supplémentaires sont disponibles tandis que l'un des trois modes de Destroyer tactiques sont actifs. Il n'est pas possible d'alterner les modes plus d'une fois toutes les 10 secondes.\"\n          }, \n          {\n            \"text\": \"·Mode de défense\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus à toutes les résistances de bouclier lorsque le Mode de défense est activé\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de réduction du rayon de signature du vaisseau lorsque le mode de défense est activé\"\n          }, \n          {\n            \"text\": \"·Mode de propulsion\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus à la vitesse maximum lorsque le mode de propulsion est activé\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus au modificateur d'inertie du vaisseau lorsque le mode de propulsion est activé\"\n          }, \n          {\n            \"text\": \"·Mode Sharpshooter\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus à la vitesse du lance-missiles léger et du lance-roquettes lorsque le Mode Sharpshooter est activé\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus aux dégâts des missiles légers et des roquettes lorsque le Mode Sharpshooter est activé.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la puissance de détection et à la portée de ciblage lorsque le mode Sharpshooter est activé.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus aux résistances contre les atténuateurs de détection et les perturbateurs d'armement ennemis lorsque le Mode Sharpshooter est activé.\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la cadence de tir du lance-missiles léger et du lance-roquettes\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"réduction du temps de rechargement des lance-missiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction aux dégâts de chaleur subis par un module\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer tactique caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus to Light Missile and Rocket damage\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Scan Probe Launcher and Survey Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Additional bonuses are available while one of three Tactical Destroyer Modes are active. Modes may be switched no more than once every 10 seconds.\"\n          }, \n          {\n            \"text\": \"·Defense Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to all shield resistances while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"reduction in ship signature radius while Defense Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Propulsion Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to maximum velocity while Propulsion Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to ship inertia modifier while Propulsion Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Sharpshooter Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Light Missile and Rocket velocity while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Light Missile and Rocket damage while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to sensor strength and targeting range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"increased resistances against hostile Sensor Dampeners and Weapon Disruptors while Sharpshooter Mode is enabled\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Light Missile launcher and Rocket launcher rate of fire\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in missile launcher reload time\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module heat damage amount taken\"\n            }\n          ], \n          \"header\": \"Caldari Tactical Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"ライト ミサイル と ロケット のダメージにボーナス付与\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"スキャンプローブランチャーおよび調査プローブランチャーのCPU前提要件が減少\"\n          }, \n          {\n            \"text\": \"·戦術駆逐艦モードが1つでも作動中であれば、さらにボーナスが増す。モードは10秒間に1回だけ切り替えることができます。\"\n          }, \n          {\n            \"text\": \"·防衛モード\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"防衛モードが有効であれば、全てのシールドレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"防御モードが有効であれば、艦船のシグネチャ半径が縮小\"\n          }, \n          {\n            \"text\": \"·推進モード\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"推進モードが有効な間、最高速度が上昇\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"推進モードが有効な間、艦船の慣性修正乗数が増加\"\n          }, \n          {\n            \"text\": \"·射撃モード\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \" 射撃モード が有効になっている間、ライトミサイル と ロケット の速度にボーナス付与\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \" 射撃モードを有効化している間、ライトミサイル と ロケット のダメージが上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"射撃モードを有効化している間、センサー強度とターゲット範囲が増加\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"射撃モードを有効化している間、敵対勢力のセンサーダンプナーと兵器妨害器に対する耐性が増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"ライトミサイルランチャーとロケットランチャーの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ミサイルランチャーのリロード時間が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"モジュールが受けるヒートダメージ量が軽減\"\n            }\n          ], \n          \"header\": \"カルダリ戦術駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"라이트 미사일 및 로켓 피해량 증가\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"스캔 프로브 런처 및 조사 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·세 가지 모드 중 한 가지가 활성화 중일 때 추가 보너스가 부여됩니다. 10초에 한 번씩 모드를 전환할 수 있습니다.\"\n          }, \n          {\n            \"text\": \"·방어모드\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"방어 모드 활성화 중 모든 실드 저항력 증가\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"방어 모드 활성화 중 함선 시그니처 반경 감소\"\n          }, \n          {\n            \"text\": \"·추진 모드\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"추진 모드 활성화 중 최대 속도 증가\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"추진 모드 활성화 중 관성 계수 감소\"\n          }, \n          {\n            \"text\": \"·저격 모드\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"저격모드 활성화 중 라이트 미사일 및 로켓 속도 증가\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"저격모드 활성화 중 라이트 미사일 및 로켓 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"저격모드 활성화 중 센서 강도 및 타겟팅 거리 증가\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"저격모드 활성화 중 센서 댐프너 및 무기 디스럽터 저항력 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"라이트 미사일 런처 및 로켓 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"미사일 런처 재장전 시간 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"모듈이 받는 열 피해 감소\"\n            }\n          ], \n          \"header\": \"칼다리 전술 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 33%\", \n            \"text\": \"увеличивается урон БЧ лёгких ракет и лёгких штурмовых ракет\"\n          }, \n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность пусковых установок разведзондов и пусковых установок лунных зондов в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·Дополнительные преимущества достигаются при входе в один из трёх доступных режимов многорежимного эсминца. Режимы можно переключать не чаще, чем раз в 10 секунд.\"\n          }, \n          {\n            \"text\": \"·Защитный режим\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия (при работе в защитном режиме)\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"уменьшается размер сигнатуры корабля (при работе в защитном режиме)\"\n          }, \n          {\n            \"text\": \"·Скоростной режим\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"повышается скорость полного хода корабля (при работе в скоростном режиме)\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"повышается маневренность корабля (при работе в скоростном режиме)\"\n          }, \n          {\n            \"text\": \"·Снайперский режим\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"повышается скорость полёта лёгких ракет и лёгких штурмовых ракет (при работе в снайперском режиме)\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"увеличивается урон БЧ лёгких ракет и лёгких штурмовых ракет (при работе в снайперском режиме)\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность захвата целей, а также эффективность штатных сенсорных систем (при работе в снайперском режиме)\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"повышается сопротивляемость действию вражеских модулей подавления захвата целей и постановщиков помех системам наводки (при работе в снайперском режиме)\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 3%\", \n              \"text\": \"увеличивается скорострельность ПУ лёгких ракет и лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается расход времени на перезарядку пусковых установок ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается объём температурных повреждений модулей, получаемых ими при перегрузке\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские многорежимные эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"轻型导弹和火箭伤害加成\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"扫描探针发射器和测量探针发射器CPU需求降低\"\n          }, \n          {\n            \"text\": \"·当战术驱逐舰启用三种模式中的任意一种会获得额外加成。每10秒钟只能切换一次模式。\"\n          }, \n          {\n            \"text\": \"·防御模式\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用防御模式后护盾抗性加成\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用防御模式后信号半径降低\"\n          }, \n          {\n            \"text\": \"·高速模式\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用高速模式后最大速度加成\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用高速模式后惯性系数加成\"\n          }, \n          {\n            \"text\": \"·狙击模式\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用狙击模式后轻型导弹和火箭飞行速度加成\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用狙击模式后轻型导弹和火箭伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"启用狙击模式后感应强度和锁定距离加成\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用狙击模式后对敌方的感应抑阻器和武器扰断器的抗性提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"轻型导弹发射器和火箭发射器射速加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"导弹发射器装填时间减少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"减少装备遭受的超载损伤\"\n            }\n          ], \n          \"header\": \"加达里战术驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34828\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblockern\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Nutzen der Überhitzung von Nachbrennern und Mikrowarpantrieben\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Interceptors Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los beneficios de posquemadores y motores de microwarp sobrecalentados.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interceptores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux avantages de la surchauffe sur les systèmes de post-combustion et les propulseurs de microwarp\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Intercepteurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"オーバーヒートしたアフターバーナーとマイクロワープドライブの恩恵にボーナス\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"要撃型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍시스템 활성화 비용 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"애프터버너 및 마이크로 워프 드라이브 과부하 효과 증가\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"인터셉터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к преимуществам перегрева форсажных ускорителей и микроварп-ускорителей\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Перехватчики:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗减少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"加力燃烧器和微型跃迁推进器过载效果加成\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"截击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11200\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblockern\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Reaktivierungsverzögerung des Anti-Unterbrechers, des max. Erfassungsreichweitenabzugs und des Scanauflösungsabzugs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Interceptors Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay, max lock range penalty, and scan resolution penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo y a la resolución de escaneo del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interceptores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction, à la pénalité de portée de verrouillage maximale et à la pénalité de résolution du balayage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et des perturbateurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Intercepteurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay, max lock range penalty, and scan resolution penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と、最大ロック射程とスキャン分解能のペナルティ減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"要撃型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍시스템 활성화 비용 감소\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 무효화 장치 재활성화 대기시간, 최대 타겟팅 거리 및 스캔 정밀도 페널티 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 무효화 장치 지속시간 보너스\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"인터셉터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений, штрафа к максимальной дальности захвата цели и разрешающей способности сенсоров\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Перехватчики:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗减少\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟、最大锁定距离惩罚和扫描分辨率惩罚降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最佳射程加成\"\n            }\n          ], \n          \"header\": \"截击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11202\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des petites tourelles à énergie\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"小型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается урон малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17703\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des tourelles à énergie intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17709\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielaufschaltung nach der Deaktivierung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut équiper des dispositifs de camouflage opérations spéciales et des générateurs de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation des dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale et à la distance de perte des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction au CPU requis par les dispositifs de camouflage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }, \n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置を停止した後のターゲット遅延なし\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"小型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの最適射程距離と精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"소형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 최적사거리 및 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устранена задержка включения систем захвата целей, вызываемая отключением систем маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"повышается скорость наводки на цель малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность ведения огня из малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"小型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不遭受锁定延时副作用\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"小型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台最佳射程和失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33397\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung, Anziehungsfeldgenerator und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Feuerrate von mittelgroßen Projektilgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules dispositif de camouflage d'opérations secrètes, générateur de champ cynosural et générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus à la cadence de tir de la tourelle à projectiles intermédiaire\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonus à la portée optimale des générateurs de stase\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction au CPU requis par les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus de distance de perte des tourelles à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·光学迷彩型遮蔽装置とサイノシュラルフィールドジェネレーター、そして潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型プロジェクタイルタレットの発射間隔が短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"中型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"ステイシスウェビファイアの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"中型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 발사체 터렛 연사속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"중형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки, приводным маяком и приводным маяком скрытого действия.\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорострельность средних баллистических орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 30%\", \n              \"text\": \"увеличивается урон боеприпасов средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 30%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配隐秘行动隐形装置、诱导力场发生器和隐秘诱导力场发生器装备\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型射弹炮台射速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"中型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33395\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Projektilwaffentürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilwaffentürmen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleine Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret falloff\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la déperdition des petites tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la déperdition des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret falloff\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"小型プロジェクタイルタレットのダメージにボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"小型プロジェクタイルタレットの精度低下範囲にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型プロジェクタイルタレットの追跡速度にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"소형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 디스트로이어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к урону малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к остаточной дальности малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к остаточной дальности малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские эсминцы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорости наведения малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"小型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"小型射弹炮台失准范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔驱逐舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型射弹炮台追踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 78333\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Vernetzte Sensoranlagen eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es können Pulsprojektoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Kann leichte und schwere Jäger starten\"\n          }, \n          {\n            \"text\": \"·Kann Ziele auf größere Entfernungen erfassen\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Widerstand gegen Sensorferndämpfer\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Erhöhung der Fernunterstützungsimpedanz auf Elektronik\"\n          }, \n          {\n            \"text\": \"·Gruppensprung-fähig\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von Jägern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Geschwindigkeit von Jägern\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Zykluszeit von Zielbeleuchtungs-Pulsprojektoren\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Schildkommando- und Gefechtkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Networked Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Burst Projectors\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter velocity\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Target Illumination Burst Projector cycle time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar una red de sensores conectados.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar proyectores de estallido.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Puede lanzar cazas ligeros y pesados.\"\n          }, \n          {\n            \"text\": \"·Puede fijar objetivos a mayores distancias.\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"text\": \"·Capaz de salto conductivo.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los cazas.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de los cazas.\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de ciclo del proyector de estallido de iluminación de objetivos.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de escudo y de mando de escaramuza.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un réseau matriciel de détection\"\n          }, \n          {\n            \"text\": \"·Peut être équipé de projecteurs à salves\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut lancer des chasseurs légers et lourds\"\n          }, \n          {\n            \"text\": \"·Peut verrouiller des cibles à plus grande distance\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"text\": \"·Capacité de saut de groupe\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des chasseurs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse des chasseurs\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de cycle des projecteurs à salves de signalisation des cibles\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers et de commandement tactique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Networked Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Burst Projectors\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter velocity\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Target Illumination Burst Projector cycle time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ネットワーク式センサー施設を装備可能\"\n          }, \n          {\n            \"text\": \"·バーストプロジェクターを装備可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"text\": \"·軽・重戦闘機が発艦可能\"\n          }, \n          {\n            \"text\": \"·長距離からロックオン可能\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"アーマープレートとシールド拡張器にボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートセンサーダンプナーのレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ステイシス効果レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモート電子アシスタンスインピーダンスが増加\"\n          }, \n          {\n            \"text\": \"·コンジットジャンプに対応\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"戦闘機ダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"戦闘機速度が増加\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"標的照射バーストプロジェクターのサイクル時間が減少\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"シールドコマンドバーストと機動戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·네트워크 센서 장비 장착 가능\"\n          }, \n          {\n            \"text\": \"·버스트 프로젝터 장착 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·파이터 (라이트 파이터 및 헤비 파이터) 사출 가능\"\n          }, \n          {\n            \"text\": \"·타겟 거리 증가\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 센서 댐프너 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"text\": \"·점프 필드 생성 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"파이터 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"파이터 속도 증가\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"타겟 페인터 버스트 프로젝터 사이클 시간 감소\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"실드 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"민마타 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться сверхмощными активными усилителями систем захвата целей (Networked Sensor Array)\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться проекторами объёмных помех\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Подходит для запуска лёгких и тяжёлых истребителей\"\n          }, \n          {\n            \"text\": \"·Повышена дальность захвата целей\"\n          }, \n          {\n            \"number\": \"на 400%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"text\": \"·Может совершить групповой прыжок\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия истребителей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорость полного хода истребителей\"\n            }, \n            {\n              \"number\": \"на 5+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла проекторов объёмной подсветки целей\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов и импульсными оптимизаторами маневрирования\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配联网感应器阵列\"\n          }, \n          {\n            \"text\": \"·可装配脉冲波投射器\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·可释放轻型和重型 铁骑舰载机\"\n          }, \n          {\n            \"text\": \"·可在更大范围内锁定\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"text\": \"·可以进行导管跳跃\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"铁骑舰载机伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"铁骑舰载机速度加成\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"目标照明脉冲波投射器运转周期缩短\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"护盾指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22852\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Low Slots\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Wendigkeit des Schiffs\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Beschleunigung\"\n            }\n          ], \n          \"header\": \"Gallente Propulsion Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Low Slots\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to ship agility\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp velocity and acceleration\"\n            }\n          ], \n          \"header\": \"Gallente Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras inferiores\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la agilidad de la nave.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la aceleración y la velocidad de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión gallentes (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements inférieurs\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la maniabilité du vaisseau\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Low Slots\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to ship agility\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp velocity and acceleration\"\n            }\n          ], \n          \"header\": \"Gallente Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ロースロット+2\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"艦船の機動性を強化\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープ速度と加速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ推進力システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·로우 슬롯 +2\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"기동성 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 속도 및 가속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 추진기 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма малой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается маневренность корабля\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские двигательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·低槽+2\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"舰船灵活性加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }\n          ], \n          \"header\": \"盖伦特推进子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45617\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion in der Reaktivierungsverzögerung des Anti-Unterbrechers und max. Erfassungsreichweitenabzug\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+0,1 Trägheitsmodifikator\"\n          }, \n          {\n            \"text\": \"·-20 km Max. Zielerfassungsreichweite\"\n          }, \n          {\n            \"text\": \"·+20 m Signaturradius\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Beschleunigung\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Energiespeicherverbrauchs bei der Warpsprung-Initiierung\"\n            }\n          ], \n          \"header\": \"Gallente Propulsion Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+0.1 Inertia Modifier\"\n          }, \n          {\n            \"text\": \"·-20km Max Targeting Range\"\n          }, \n          {\n            \"text\": \"·+20m Signature Radius\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp velocity and acceleration\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in capacitor need when initiating warp\"\n            }\n          ], \n          \"header\": \"Gallente Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo del anulador de interdicción.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura inferior\"\n          }, \n          {\n            \"text\": \"·+0,1 al modificador de inercia\"\n          }, \n          {\n            \"text\": \"·-20 km a la distancia-objetivo máxima\"\n          }, \n          {\n            \"text\": \"·+20 m al radio de la señal\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la aceleración y la velocidad de warp.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la necesidad del condensador al iniciar el warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión gallentes (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction et à la pénalité de portée de verrouillage maximale\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement inférieur\"\n          }, \n          {\n            \"text\": \"·Modificateur d'inertie +0,1\"\n          }, \n          {\n            \"text\": \"·Portée max du système de ciblage -20 km\"\n          }, \n          {\n            \"text\": \"·Rayon de signature +20 m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction des besoins énergétiques du capaciteur au moment d'initier le warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+0.1 Inertia Modifier\"\n          }, \n          {\n            \"text\": \"·-20km Max Targeting Range\"\n          }, \n          {\n            \"text\": \"·+20m Signature Radius\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp velocity and acceleration\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in capacitor need when initiating warp\"\n            }\n          ], \n          \"header\": \"Gallente Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と最大ロック射程のペナルティ減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ロースロット+1\"\n          }, \n          {\n            \"text\": \"·慣性乗数+0.1\"\n          }, \n          {\n            \"text\": \"·最大ターゲット範囲-20km\"\n          }, \n          {\n            \"text\": \"·シグネチャ半径+20m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープ速度と加速度が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ワープ時のキャパシタ消費が減少\"\n            }\n          ], \n          \"header\": \"ガレンテ推進力システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 무효화 장치 재활성화 대기시간 및 최대 타겟팅 거리 페널티 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·로우 슬롯 +1\"\n          }, \n          {\n            \"text\": \"·관성 계수 +0.1\"\n          }, \n          {\n            \"text\": \"·최대 타겟팅 거리 -20 km\"\n          }, \n          {\n            \"text\": \"·시그니처 반경 +20m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 무효화 장치 지속시간 보너스\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 속도 및 가속도 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"워프 시전 시 캐패시터 소모량 감소\"\n            }\n          ], \n          \"header\": \"갈란테 추진기 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений и штрафа к максимальной дальности захвата цели\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём малой мощности\"\n          }, \n          {\n            \"text\": \"·+0,1 к инертности конструкции\"\n          }, \n          {\n            \"text\": \"·-20 километров к максимальной дальности захвата целей\"\n          }, \n          {\n            \"text\": \"·+20 метров размера сигнатуры\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается расход энергии при включении варп-двигателя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские двигательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟和最大锁定距离惩罚降低\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·低槽+1\"\n          }, \n          {\n            \"text\": \"·惯性调整系数+0.1\"\n          }, \n          {\n            \"text\": \"·最大锁定距离减少20km\"\n          }, \n          {\n            \"text\": \"·信号半径+20m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"跃迁启动电容量减耗\"\n            }\n          ], \n          \"header\": \"盖伦特推进子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45616\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Geschwindigkeitsbonus von Nachbrennern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Nachbrennern und Mikrowarpantrieben\"\n            }\n          ], \n          \"header\": \"Caldari Propulsion Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n            }\n          ], \n          \"header\": \"Caldari Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad del posquemador.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los posquemadores y los motores de microwarp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión caldaris (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au bonus de vitesse de la post-combustion\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe sur les Systèmes de post-combustion et les propulseurs de microwarp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n            }\n          ], \n          \"header\": \"Caldari Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"アフターバーナー速度ボーナスが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたアフターバーナーとマイクロワープドライブの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ推進力システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"애프터버너 속도 보너스 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"애프터버너 및 마이크로 워프 드라이브 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"칼다리 추진기 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается влияние форсажных ускорителей на скорость полёта корабля\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"усиливается влияние перегрузки на параметры форсажных ускорителей и микроварп-ускорителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские двигательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"加力燃烧器速度增益加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"加力燃烧器和微型跃迁推进器过载效果加成\"\n            }\n          ], \n          \"header\": \"加达里推进子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45615\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Wendigkeit des Schiffs\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit\"\n            }\n          ], \n          \"header\": \"Caldari Propulsion Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to ship agility\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura intermedia, +1 ranura inferior\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la agilidad de la nave.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la velocidad máxima.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión caldaris (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement intermédiaire, +1 Emplacement inférieur\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la maniabilité du vaisseau\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la vitesse maximale\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to ship agility\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+1、ロースロット+1\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"艦船の機動性を強化\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ推進力システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +1, 로우 슬롯 +1\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"기동성 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"최대속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 추진기 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём средней мощности, +1 разъём малой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается маневренность корабля\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"повышается максимальная скорость корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские двигательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+1，低槽+1\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"舰船灵活性加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"最大速度加成\"\n            }\n          ], \n          \"header\": \"加达里推进子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45614\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion in der Reaktivierungsverzögerung des Anti-Unterbrechers und max. Erfassungsreichweitenabzug\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+0,1 Trägheitsmodifikator\"\n          }, \n          {\n            \"text\": \"·-20 km Max. Zielerfassungsreichweite\"\n          }, \n          {\n            \"text\": \"·+20 m Signaturradius\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Beschleunigung\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Energiespeicherverbrauchs bei der Warpsprung-Initiierung\"\n            }\n          ], \n          \"header\": \"Caldari Propulsion Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+0.1 Inertia Modifier\"\n          }, \n          {\n            \"text\": \"·-20km Max Targeting Range\"\n          }, \n          {\n            \"text\": \"·+20m Signature Radius\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp velocity and acceleration\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in capacitor need when initiating warp\"\n            }\n          ], \n          \"header\": \"Caldari Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo del anulador de interdicción.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura inferior\"\n          }, \n          {\n            \"text\": \"·+0,1 al modificador de inercia\"\n          }, \n          {\n            \"text\": \"·-20 km a la distancia-objetivo máxima\"\n          }, \n          {\n            \"text\": \"·+20 m al radio de la señal\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la aceleración y la velocidad de warp.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la necesidad del condensador al iniciar el warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión caldaris (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction et à la pénalité de portée de verrouillage maximale\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement inférieur\"\n          }, \n          {\n            \"text\": \"·Modificateur d'inertie +0,1\"\n          }, \n          {\n            \"text\": \"·Portée max du système de ciblage -20 km\"\n          }, \n          {\n            \"text\": \"·Rayon de signature +20 m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction des besoins énergétiques du capaciteur au moment d'initier le warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+0.1 Inertia Modifier\"\n          }, \n          {\n            \"text\": \"·-20km Max Targeting Range\"\n          }, \n          {\n            \"text\": \"·+20m Signature Radius\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp velocity and acceleration\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in capacitor need when initiating warp\"\n            }\n          ], \n          \"header\": \"Caldari Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と最大ロック射程のペナルティ減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ロースロット+1\"\n          }, \n          {\n            \"text\": \"·慣性乗数+0.1\"\n          }, \n          {\n            \"text\": \"·最大ターゲット範囲-20km\"\n          }, \n          {\n            \"text\": \"·シグネチャ半径+20m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープ速度と加速度が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ワープ時のキャパシタ消費が減少\"\n            }\n          ], \n          \"header\": \"カルダリ推進力システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 무효화 장치 재활성화 대기시간 및 최대 타겟팅 거리 페널티 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·로우 슬롯 +1\"\n          }, \n          {\n            \"text\": \"·관성 계수 +0.1\"\n          }, \n          {\n            \"text\": \"·최대 타겟팅 거리 -20 km\"\n          }, \n          {\n            \"text\": \"·시그니처 반경 +20m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 무효화 장치 지속시간 보너스\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 속도 및 가속도 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"워프 시전 시 캐패시터 소모량 감소\"\n            }\n          ], \n          \"header\": \"칼다리 추진기 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений и штрафа к максимальной дальности захвата цели\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём малой мощности\"\n          }, \n          {\n            \"text\": \"·+0,1 к инертности конструкции\"\n          }, \n          {\n            \"text\": \"·-20 километров к максимальной дальности захвата целей\"\n          }, \n          {\n            \"text\": \"·+20 метров размера сигнатуры\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается расход энергии при включении варп-двигателя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские двигательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟和最大锁定距离惩罚降低\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·低槽+1\"\n          }, \n          {\n            \"text\": \"·惯性调整系数+0.1\"\n          }, \n          {\n            \"text\": \"·最大锁定距离减少20km\"\n          }, \n          {\n            \"text\": \"·信号半径+20m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"跃迁启动电容器量减耗\"\n            }\n          ], \n          \"header\": \"加达里推进子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45613\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Geschwindigkeitsbonus von Nachbrennern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }\n          ], \n          \"header\": \"Amarr Propulsion Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Amarr Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura intermedia, +1 ranura inferior\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad del posquemador.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement intermédiaire, +1 Emplacement inférieur\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au bonus de vitesse de la post-combustion\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"réduction de la pénalité du rayon de signature du micropropulseur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Amarr Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+1、ロースロット+1\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"アフターバーナー速度ボーナスが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが減少\"\n            }\n          ], \n          \"header\": \"アマー推進力システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +1, 로우 슬롯 +1\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"애프터버너 속도 보너스 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }\n          ], \n          \"header\": \"아마르 추진기 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём средней мощности, +1 разъём малой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается влияние форсажных ускорителей на скорость полёта корабля\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские двигательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+1，低槽+1\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"加力燃烧器速度增益加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚减少\"\n            }\n          ], \n          \"header\": \"艾玛推进子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45612\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Low Slots\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Wendigkeit des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit\"\n            }\n          ], \n          \"header\": \"Amarr Propulsion Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Low Slots\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship agility\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras inferiores\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la agilidad de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements inférieurs\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la maniabilité du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Low Slots\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship agility\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ロースロット+2\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の機動性を強化\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"最高速度が上昇\"\n            }\n          ], \n          \"header\": \"アマー推進力システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·로우 슬롯 +2\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"기동성 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 추진기 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма малой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается маневренность корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается максимальная скорость корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские двигательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·低槽+2\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船灵活性加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"最大速度加成\"\n            }\n          ], \n          \"header\": \"艾玛推进子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45611\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion in der Reaktivierungsverzögerung des Anti-Unterbrechers und max. Erfassungsreichweitenabzug\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+0,1 Trägheitsmodifikator\"\n          }, \n          {\n            \"text\": \"·-20 km Max. Zielerfassungsreichweite\"\n          }, \n          {\n            \"text\": \"·+20 m Signaturradius\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Beschleunigung\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Energiespeicherverbrauchs bei der Warpsprung-Initiierung\"\n            }\n          ], \n          \"header\": \"Amarr Propulsion Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+0.1 Inertia Modifier\"\n          }, \n          {\n            \"text\": \"·-20km Max Targeting Range\"\n          }, \n          {\n            \"text\": \"·+20m Signature Radius\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp velocity and acceleration\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in capacitor need when initiating warp\"\n            }\n          ], \n          \"header\": \"Amarr Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo del anulador de interdicción.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura inferior\"\n          }, \n          {\n            \"text\": \"·+0,1 al modificador de inercia\"\n          }, \n          {\n            \"text\": \"·-20 km a la distancia-objetivo máxima\"\n          }, \n          {\n            \"text\": \"·+20 m al radio de la señal\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la aceleración y la velocidad de warp.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la necesidad del condensador al iniciar el warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction et à la pénalité de portée de verrouillage maximale\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement inférieur\"\n          }, \n          {\n            \"text\": \"·Modificateur d'inertie +0,1\"\n          }, \n          {\n            \"text\": \"·Portée max du système de ciblage -20 km\"\n          }, \n          {\n            \"text\": \"·Rayon de signature +20 m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction des besoins énergétiques du capaciteur au moment d'initier le warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Low Slot\"\n          }, \n          {\n            \"text\": \"·+0.1 Inertia Modifier\"\n          }, \n          {\n            \"text\": \"·-20km Max Targeting Range\"\n          }, \n          {\n            \"text\": \"·+20m Signature Radius\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to warp velocity and acceleration\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in capacitor need when initiating warp\"\n            }\n          ], \n          \"header\": \"Amarr Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と最大ロック射程のペナルティ減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ロースロット+1\"\n          }, \n          {\n            \"text\": \"·慣性乗数+0.1\"\n          }, \n          {\n            \"text\": \"·最大ターゲット範囲-20km\"\n          }, \n          {\n            \"text\": \"·シグネチャ半径+20m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープ速度と加速度が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ワープ時のキャパシタ消費が減少\"\n            }\n          ], \n          \"header\": \"アマー推進力システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 무효화 장치 재활성화 대기시간 및 최대 타겟팅 거리 페널티 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·로우 슬롯 +1\"\n          }, \n          {\n            \"text\": \"·관성 계수 +0.1\"\n          }, \n          {\n            \"text\": \"·최대 타겟팅 거리 -20 km\"\n          }, \n          {\n            \"text\": \"·시그니처 반경 +20m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 무효화 장치 지속시간 보너스\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 속도 및 가속도 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"워프 시전 시 캐패시터 소모량 감소\"\n            }\n          ], \n          \"header\": \"아마르 추진기 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений и штрафа к максимальной дальности захвата цели\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём малой мощности\"\n          }, \n          {\n            \"text\": \"·+0,1 к инертности конструкции\"\n          }, \n          {\n            \"text\": \"·-20 километров к максимальной дальности захвата целей\"\n          }, \n          {\n            \"text\": \"·+20 метров размера сигнатуры\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается расход энергии при включении варп-двигателя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские двигательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟和最大锁定距离惩罚降低\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·低槽+1\"\n          }, \n          {\n            \"text\": \"·惯性调整系数+0.1\"\n          }, \n          {\n            \"text\": \"·最大锁定距离减少20km\"\n          }, \n          {\n            \"text\": \"·信号半径+20m\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"跃迁启动电容量减耗\"\n            }\n          ], \n          \"header\": \"艾玛推进子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45610\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittelgroßen Energiegeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von mittleren Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Energy Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Energy Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta de energía mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale et à la perte de la tourelle à énergie intermédiaire\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"réduction du coût d'activation de la tourelle à énergie intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Energy Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Energy Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型エネルギータレットの最適射程距離および精度低下範囲が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型エネルギータレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの起動コストが減少\"\n            }\n          ], \n          \"header\": \"アマー巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 에너지 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 에너지 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"아마르 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность ведения огня из средних лазерных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"снижение расхода энергии на активацию средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型能量炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型能量炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台启动消耗降低\"\n            }\n          ], \n          \"header\": \"艾玛战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33155\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Energiespeicherkapazität des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship capacitor capacity\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad del condensador de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la charge de capaciteur du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship capacitor capacity\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のキャパシタ容量が増加\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐패시터 용량 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается ёмкость накопителя энергии корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"电容器电容量加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11936\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta de proyectiles mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale et à la perte de la tourelle à projectiles intermédiaire\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la tourelle à projectiles intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型プロジェクタイルタレットの最適射程距離および精度低下範囲が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 발사체 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность ведения огня из средних баллистических орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型射弹炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33157\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittelgroßen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta híbrida mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale et à la perte de la tourelle hybride intermédiaire\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles hybrides intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型ハイブリッドタレットの最適射程距離および精度低下範囲が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 하이브리드 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность ведения огня из средних гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型混合炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33151\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von schweren Angriffslenkwaffen und schweren Lenkwaffen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Explosionsradius von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Missile velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion radius\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al radio de explosión de los misiles pesados y los misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus à la vitesse des missiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dommages des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au rayon d'explosion des missiles lourds et des missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Missile velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion radius\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ミサイル速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーミサイル・ヘビーアサルトミサイルの爆発半径が縮小\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"미사일 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 폭발반경 감소\"\n            }\n          ], \n          \"header\": \"칼다리 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорость полёта ракет\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону от тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается сигнатура взрыва БЧ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"导弹飞行速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹和重型攻击导弹的爆炸半径加成\"\n            }\n          ], \n          \"header\": \"加达里战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33153\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Energiespeicherverbrauchs von Nachbrennern und Mikrowarpantrieben\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Nachbrennern und Mikrowarpantrieben\"\n            }\n          ], \n          \"header\": \"Gallente Propulsion Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Afterburner and Microwarpdrive capacitor consumption\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n            }\n          ], \n          \"header\": \"Gallente Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura intermedia, +1 ranura inferior\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción del consumo de condensador del posquemador y el motor de microwarp.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los posquemadores y los motores de microwarp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión gallentes (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement intermédiaire, +1 Emplacement inférieur\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction de la consommation du capaciteur du système de post-combustion et du propulseur de microwarp\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe sur les Systèmes de post-combustion et les propulseurs de microwarp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Afterburner and Microwarpdrive capacitor consumption\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n            }\n          ], \n          \"header\": \"Gallente Propulsion Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+1、ロースロット+1\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"アフターバーナーとマイクロワープドライブのキャパシタ消費量が減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたアフターバーナーとマイクロワープドライブの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ推進力システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +1, 로우 슬롯 +1\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"애프터버너 및 마이크로 워프 드라이브 캐패시터 사용량 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"애프터버너 및 마이크로 워프 드라이브 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"갈란테 추진기 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём средней мощности, +1 разъём малой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается потребление энергии форсажными ускорителями и микроварп-ускорителями\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"усиливается влияние перегрузки на параметры форсажных ускорителей и микроварп-ускорителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские двигательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+1，低槽+1\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"加力燃烧器和微型跃迁推进器电容消耗加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"加力燃烧器和微型跃迁推进器过载效果加成\"\n            }\n          ], \n          \"header\": \"盖伦特推进子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45618\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf alle Effekte von Struktur-Kampfmodifikationen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduzierter Treibstoffverbrauch von Zitadellen-Dienstmodulen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Feuerrate und den Energiespeicherverbrauch von Standup-Pulsprojektoren und Lenkbombenwerfern\"\n          }, \n          {\n            \"text\": \"·Verfügt diese Struktur über mindestens ein aktives Dienstmodul, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte Trefferpunkte für Schild und Panzerung sowie einen zusätzlichen Verstärkungszyklus\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Fortizar-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel service module fuel consumption\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle\"\n          }, \n          {\n            \"text\": \"·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a todos los efectos de complementos de combate para estructuras.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del consumo de combustible del módulo de servicio de ciudadela.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la cadencia de tiro y al consumo del condensador de los proyectores de estallido Standup y los lanzabombas guiados.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Fortizar de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à tous les effets d'amélioration des combats de structures\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction de la consommation de carburant des modules de service de citadelle\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la cadence de tir et à la consommation du capaciteur des projecteurs à salves et des lanceurs de bombes ciblées Standup\"\n          }, \n          {\n            \"text\": \"·Lorsque cette structure dispose d'au moins un module de service fonctionnel, elle entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage, ainsi que d'un cycle de renfort de blindage additionnel\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Fortizar pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel service module fuel consumption\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle\"\n          }, \n          {\n            \"text\": \"·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"全てのストラクチャ戦闘リグの効果が増大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"城塞サービスモジュールの燃料消費をが減少\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"スタンドアップバーストプロジェクターと誘導ボムランチャーの発射間隔とキャパシタ消費効率を改善\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには フォータイザー・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"구조물 전용 전투 리그 효과 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"시타델 서비스 모듈 연료 사용량 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"스탠드업 버스트 프로젝터 및 유도폭탄 런처 연사속도 및 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 포티자 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к эффективности всех боевых надстроек\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшает потребление топлива служебными модулями цитаделей\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к скорострельности и энергопотреблению проекторов объёмных помех и бомбометателей с системой наведения на базе «Стационар»\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть по меньшей мере один работающий служебный модуль, оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Фортизар» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"所有建筑战斗改装件效果加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"堡垒服务装备的燃料消耗降低\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"屹立脉冲波投射器和制导炸弹发射器的射速和电容消耗加成\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个铁壁昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 35833\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"text\": \"·Immun gegen jede Art von Frachtscanner\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Caldari Hauler Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n            }\n          ], \n          \"header\": \"Transport Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to warp speed and warp acceleration\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"text\": \"·Inmune a todos los escáneres de carga.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de transporte (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des dispositifs de camouflage opérations spéciales et des générateurs de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"text\": \"·Immunité contre tous les scanners de soute\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de transport :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to warp speed and warp acceleration\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"text\": \"·全てのカーゴスキャナーに対して無効\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリハウラーボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープ速度とワープ加速が上昇\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }\n          ], \n          \"header\": \"特化型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"text\": \"·화물 스캐너 면역\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 운반선 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 속도 및 워프 가속도 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"트랜스포터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа оборудованы экранированными грузовыми отсеками\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Caldari Hauler:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Транспортные корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"text\": \"·免疫货舱扫描\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"加达里运载舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }\n          ], \n          \"header\": \"运输舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12729\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Vernetzte Sensoranlagen eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es können Pulsprojektoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Kann leichte und schwere Jäger starten\"\n          }, \n          {\n            \"text\": \"·Kann Ziele auf größere Entfernungen erfassen\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Widerstand gegen Sensorferndämpfer\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Erhöhung der Fernunterstützungsimpedanz auf Elektronik\"\n          }, \n          {\n            \"text\": \"·Gruppensprung-fähig\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von Jägern\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Zykluszeit von Waffenstörung-Pulsprojektoren\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungkommando- und Informationkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Amarr Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Networked Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Burst Projectors\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Weapon Disruption Burst Projector cycle time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Amarr Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar una red de sensores conectados.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar proyectores de estallido.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Puede lanzar cazas ligeros y pesados.\"\n          }, \n          {\n            \"text\": \"·Puede fijar objetivos a mayores distancias.\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"text\": \"·Capaz de salto conductivo.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de los cazas.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de ciclo del proyector de estallido de disrupción de armas\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje y de mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un réseau matriciel de détection\"\n          }, \n          {\n            \"text\": \"·Peut être équipé de projecteurs à salves\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut lancer des chasseurs légers et lourds\"\n          }, \n          {\n            \"text\": \"·Peut verrouiller des cibles à plus grande distance\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"text\": \"·Capacité de saut de groupe\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des chasseurs\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de cycle des projecteurs à salves de perturbation d'armement\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindé et de commandement électronique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Networked Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Burst Projectors\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Weapon Disruption Burst Projector cycle time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Amarr Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ネットワーク式センサー施設を装備可能\"\n          }, \n          {\n            \"text\": \"·バーストプロジェクターを装備可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"text\": \"·軽・重戦闘機が発艦可能\"\n          }, \n          {\n            \"text\": \"·長距離からロックオン可能\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"アーマープレートとシールド拡張器にボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートセンサーダンプナーのレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ステイシス効果レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモート電子アシスタンスインピーダンスが増加\"\n          }, \n          {\n            \"text\": \"·コンジットジャンプに対応\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"戦闘機ダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"兵器妨害バーストプロジェクターのサイクル時間が減少\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"アーマードコマンドバーストと情報戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"アマー艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·네트워크 센서 장비 장착 가능\"\n          }, \n          {\n            \"text\": \"·버스트 프로젝터 장착 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·파이터 (라이트 파이터 및 헤비 파이터) 사출 가능\"\n          }, \n          {\n            \"text\": \"·타겟 거리 증가\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 센서 댐프너 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"text\": \"·점프 필드 생성 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"파이터 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"무기 교란 버스트 프로젝터 사이클 시간 감소\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"장갑 버스트 및 정보전 버스트 효과 강화 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"아마르 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться сверхмощными активными усилителями систем захвата целей (Networked Sensor Array)\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться проекторами объёмных помех\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Подходит для запуска лёгких и тяжёлых истребителей\"\n          }, \n          {\n            \"text\": \"·Повышена дальность захвата целей\"\n          }, \n          {\n            \"number\": \"на 400%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"text\": \"·Может совершить групповой прыжок\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается урон бортового оружия истребителей\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 5+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла проекторов объёмных помех наводке вооружения\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони и импульсными оптимизаторами РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配联网感应器阵列\"\n          }, \n          {\n            \"text\": \"·可装配脉冲波投射器\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·可释放轻型和重型 铁骑舰载机\"\n          }, \n          {\n            \"text\": \"·可在更大范围内锁定\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"text\": \"·可以进行导管跳跃\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"铁骑舰载机伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"武器干扰脉冲波投射器运转周期缩短\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"装甲指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"艾玛航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 23919\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Verstärkte Schotten\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Freighter Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de los requisitos de CPU del mamparo reforzado.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Carguero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"réduction de la charge CPU requise pour les cloisons renforcées\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transport de fret gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"強化隔壁のCPU要件が減少\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ超大型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"강화 격벽 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프레이터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность усиленных переборок в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрейтеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"加强型舱隔壁的CPU需求降低\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特货舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 20187\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Verstärkte Schotten\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Caldari Freighter Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de los requisitos de CPU del mamparo reforzado.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Carguero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"réduction de la charge CPU requise pour les cloisons renforcées\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transport de fret caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"強化隔壁のCPU要件が減少\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ超大型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"강화 격벽 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프레이터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность усиленных переборок в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрейтеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"加强型舱隔壁的CPU需求降低\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"加达里货舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 20185\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Verstärkte Schotten\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Freighter Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de los requisitos de CPU del mamparo reforzado.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Carguero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"réduction de la charge CPU requise pour les cloisons renforcées\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transport de fret amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"強化隔壁のCPU要件が減少\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"アマー超大型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"강화 격벽 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 프레이터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность усиленных переборок в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрейтеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"加强型舱隔壁的CPU需求降低\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"艾玛货舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 20183\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Verstärkte Schotten\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Freighter Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de los requisitos de CPU del mamparo reforzado.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Carguero minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"réduction de la charge CPU requise pour les cloisons renforcées\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transport de fret minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"強化隔壁のCPU要件が減少\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター超大型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"강화 격벽 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 프레이터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность усиленных переборок в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрейтеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"加强型舱隔壁的CPU需求降低\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔货舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 20189\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des Stromnetzbedarfs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Reaktivierungsverzögerung von Abfangwerfern\"\n          }, \n          {\n            \"text\": \"·Kann Mikrosprungfeldgeneratoren ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Hochfahrzeit von Mikrosprungfeldgeneratoren\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Panzerungkommando- und Gefechtkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Destroyers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid requirements for Command Bursts\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in reactivation delay for Defender Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command and Skirmish Command Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia para los estallidos de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la demora de reactivación de los lanzamisiles defensivos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar generadores de campo de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de carga del generador de campo de microsalto.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto del estallido de mando de blindaje y mando de escaramuza.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructores de mando (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction de la consommation en réseau d'alimentation des salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature du propulseur de microwarp\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du délai de réactivation des lanceurs antibalistiques.\"\n          }, \n          {\n            \"text\": \"·Peut contenir des générateurs de champ de microsaut\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de réactivation du générateur de champ de microsaut\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindé et de commandement tactique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyers de commandement :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux points de vie du drone\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid requirements for Command Bursts\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in reactivation delay for Defender Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command and Skirmish Command Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"コマンドバーストのパワーグリッド要件が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"迎撃ランチャーの再起動遅延時間を短縮\"\n          }, \n          {\n            \"text\": \"·マイクロジャンプフィールドジェネレーターを装備できる\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"マイクロジャンプフィールドジェネレーターの起動準備時間を短縮\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"アーマーコマンドバーストと機動戦コマンドバーストの効果強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"指揮型駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイント、ダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"커맨드 버스트 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"디펜더 런처 사이클 감소\"\n          }, \n          {\n            \"text\": \"·마이크로 점프 필드 생성기들을 장착할 수 있음\"\n          }, \n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"마이크로 점프 필드 생성기 예열 시간 감소\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"장갑 커맨드 버스트 및 스커미시 버스트 효과 강화 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드 디스트로이어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность импульсных оптимизаторов в мощностях реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается задержка повторного включения ПУ противоракет\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться генераторами разгонного поля\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла (время разогрева после запуска) генераторов разгонного поля\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони и импульсными оптимизаторами маневрирования\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Лидеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"指挥脉冲波能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚减少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"缩短拦截导弹发射器的重启延时\"\n          }, \n          {\n            \"text\": \"·可以装配微型跳跃力场发生器\"\n          }, \n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"微型跳跃力场发生器加速时间减少\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"装甲指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥驱逐舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP和伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37483\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la tourelle hybride intermédiaire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la vitesse de poursuite de la tourelle hybride intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33653\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des Stromnetzbedarfs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Reaktivierungsverzögerung von Abfangwerfern\"\n          }, \n          {\n            \"text\": \"·Kann Mikrosprungfeldgeneratoren ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Hochfahrzeit von Mikrosprungfeldgeneratoren\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Panzerungkommando- und Informationkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Destroyers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid requirements for Command Bursts\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in reactivation delay for Defender Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command and Information Command Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia para los estallidos de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la demora de reactivación de los lanzamisiles defensivos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar generadores de campo de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor amarriano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de carga del generador de campo de microsalto.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje y mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructores de mando (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction de la consommation en réseau d'alimentation des salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature du propulseur de microwarp\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du délai de réactivation des lanceurs antibalistiques.\"\n          }, \n          {\n            \"text\": \"·Peut contenir des générateurs de champ de microsaut\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux points de vie du drone\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de réactivation du générateur de champ de microsaut\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindé et de commandement électronique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyers de commandement :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid requirements for Command Bursts\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in reactivation delay for Defender Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command and Information Command Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"コマンドバーストのパワーグリッド要件が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"迎撃ランチャーの再起動遅延時間を短縮\"\n          }, \n          {\n            \"text\": \"·マイクロジャンプフィールドジェネレーターを装備できる\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイント、ダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"マイクロジャンプフィールドジェネレーターの起動準備時間を短縮\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"アーマーコマンドバーストと情報戦コマンドバーストの効果強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"指揮型駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"커맨드 버스트 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"디펜더 런처 사이클 감소\"\n          }, \n          {\n            \"text\": \"·마이크로 점프 필드 생성기들을 장착할 수 있음\"\n          }, \n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 디스트로이어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"마이크로 점프 필드 생성기 예열 시간 감소\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"장갑 커맨드 버스트 및 정보전 버스트 효과 강화 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность импульсных оптимизаторов в мощностях реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается задержка повторного включения ПУ противоракет\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться генераторами разгонного поля\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские эсминцы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла (время разогрева после запуска) генераторов разгонного поля\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони и импульсными оптимизаторами РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Лидеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"指挥脉冲波能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚减少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"缩短拦截导弹发射器的重启延时\"\n          }, \n          {\n            \"text\": \"·可以装配微型跳跃力场发生器\"\n          }, \n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP和伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛驱逐舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"微型跳跃力场发生器加速时间减少\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"装甲指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37481\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la tourelle hybride intermédiaire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la vitesse de poursuite de la tourelle hybride intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33651\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la petite tourelle à énergie\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型エネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33657\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la petite tourelle à énergie\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型エネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33655\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la petite tourelle hybride\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33659\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Explosionsradius von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion radius\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de crucero y los torpedos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al radio de explosión de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles de croisière et des torpilles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au rayon d'explosion des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion radius\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルとトルピードの最高速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"クルーズミサイルとトルピードの爆発半径が縮小\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 최대 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"크루즈 미사일 및 토피도 폭발 반경 감소\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта дальнобойных ракет и торпед\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается сигнатура взрыва БЧ дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷最大飞行速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"巡航导弹和鱼雷爆炸半径加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17636\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Waffen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Panzerung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Signaturradius von Schiffen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf alle Schildresistenzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to small weapon damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to armor hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to shield resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al daño de las armas de pequeño calibre.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del blindaje.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del radio de la señal de la nave.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización a las resistencias de escudo.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus aux dégâts de petites armes\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie du blindage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du rayon de signature du vaisseau\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité aux résistances du bouclier\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to small weapon damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to armor hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to shield resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"小型兵器のダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"アーマーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"艦船のシグネチャ半径が縮小\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"シールドレジスタンスにペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"소형 무기 피해량 보너스\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"장갑 내구도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"함선 시그니처 반경 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"실드 저항력 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 200%\", \n            \"text\": \"бонус к урону от малых орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к запасу прочности брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшение размера сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"штраф к сопротивляемости щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"小型武器伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"装甲值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"舰船信号半径降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"护盾抗性惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30879\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"172%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Waffen\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"Bonus auf die HP der Panzerung\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Reduktion des Signaturradius von Schiffen\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Abzug auf alle Schildresistenzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"172%\", \n            \"text\": \"bonus to small weapon damage\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to armor hitpoints\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to shield resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"172%\", \n            \"text\": \"de bonificación al daño de las armas de pequeño calibre.\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonificación a los puntos de vida del blindaje.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de reducción del radio de la señal de la nave.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de penalización a las resistencias de escudo.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"172%\", \n            \"text\": \"de bonus aux dégâts de petites armes\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonus aux points de vie du blindage\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de réduction du rayon de signature du vaisseau\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de pénalité aux résistances du bouclier\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"172%\", \n            \"text\": \"bonus to small weapon damage\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to armor hitpoints\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to shield resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"172%\", \n            \"text\": \"小型兵器のダメージが増加\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"アーマーHPが増加\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"艦船のシグネチャ半径が縮小\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"シールドレジスタンスにペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"172%\", \n            \"text\": \"소형 무기 피해량 보너스\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"장갑 내구도 증가\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"함선 시그니처 반경 감소\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"실드 저항력 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 172%\", \n            \"text\": \"бонус к урону от малых орудий\"\n          }, \n          {\n            \"number\": \"на 86%\", \n            \"text\": \"бонус к запасу прочности брони\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"уменьшение размера сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"штраф к сопротивляемости щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"172%\", \n            \"text\": \"小型武器伤害加成\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"装甲值加成\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"舰船信号半径降低\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"护盾抗性惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30878\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"144%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Waffen\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"Bonus auf die HP der Panzerung\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Reduktion des Signaturradius von Schiffen\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Abzug auf alle Schildresistenzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"144%\", \n            \"text\": \"bonus to small weapon damage\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to armor hitpoints\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to shield resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"144%\", \n            \"text\": \"de bonificación al daño de las armas de pequeño calibre.\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonificación a los puntos de vida del blindaje.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de reducción del radio de la señal de la nave.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de penalización a las resistencias de escudo.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"144%\", \n            \"text\": \"de bonus aux dégâts de petites armes\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonus aux points de vie du blindage\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de réduction du rayon de signature du vaisseau\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de pénalité aux résistances du bouclier\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"144%\", \n            \"text\": \"bonus to small weapon damage\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to armor hitpoints\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to shield resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"144%\", \n            \"text\": \"小型兵器のダメージが増加\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"アーマーHPが増加\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"艦船のシグネチャ半径が縮小\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"シールドレジスタンスにペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"144%\", \n            \"text\": \"소형 무기 피해량 보너스\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"장갑 내구도 증가\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"함선 시그니처 반경 감소\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"실드 저항력 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 144%\", \n            \"text\": \"бонус к урону от малых орудий\"\n          }, \n          {\n            \"number\": \"на 72%\", \n            \"text\": \"бонус к запасу прочности брони\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"уменьшение размера сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"штраф к сопротивляемости щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"144%\", \n            \"text\": \"小型武器伤害加成\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"装甲值加成\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"舰船信号半径降低\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"护盾抗性惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30877\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"116%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Waffen\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"Bonus auf die HP der Panzerung\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Reduktion des Signaturradius von Schiffen\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Abzug auf alle Schildresistenzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"116%\", \n            \"text\": \"bonus to small weapon damage\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to armor hitpoints\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to shield resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"116%\", \n            \"text\": \"de bonificación al daño de las armas de pequeño calibre.\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonificación a los puntos de vida del blindaje.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de reducción del radio de la señal de la nave.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de penalización a las resistencias de escudo.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"116%\", \n            \"text\": \"de bonus aux dégâts de petites armes\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonus aux points de vie du blindage\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de réduction du rayon de signature du vaisseau\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de pénalité aux résistances du bouclier\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"116%\", \n            \"text\": \"bonus to small weapon damage\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to armor hitpoints\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to shield resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"116%\", \n            \"text\": \"小型兵器のダメージが増加\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"アーマーHPが増加\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"艦船のシグネチャ半径が縮小\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"シールドレジスタンスにペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"116%\", \n            \"text\": \"소형 무기 피해량 보너스\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"장갑 내구도 증가\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"함선 시그니처 반경 감소\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"실드 저항력 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 116%\", \n            \"text\": \"бонус к урону от малых орудий\"\n          }, \n          {\n            \"number\": \"на 58%\", \n            \"text\": \"бонус к запасу прочности брони\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"уменьшение размера сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"штраф к сопротивляемости щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"116%\", \n            \"text\": \"小型武器伤害加成\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"装甲值加成\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"舰船信号半径降低\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"护盾抗性惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30876\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"88%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Waffen\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"Bonus auf die HP der Panzerung\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Reduktion des Signaturradius von Schiffen\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Abzug auf alle Schildresistenzen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"88%\", \n            \"text\": \"bonus to small weapon damage\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to armor hitpoints\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to shield resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"88%\", \n            \"text\": \"de bonificación al daño de las armas de pequeño calibre.\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonificación a los puntos de vida del blindaje.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de reducción del radio de la señal de la nave.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de penalización a las resistencias de escudo.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"88%\", \n            \"text\": \"de bonus aux dégâts de petites armes\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonus aux points de vie du blindage\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de réduction du rayon de signature du vaisseau\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de pénalité aux résistances du bouclier\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"88%\", \n            \"text\": \"bonus to small weapon damage\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to armor hitpoints\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to shield resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"88%\", \n            \"text\": \"小型兵器のダメージが増加\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"アーマーHPが増加\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"艦船のシグネチャ半径が縮小\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"シールドレジスタンスにペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"88%\", \n            \"text\": \"소형 무기 피해량 보너스\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"장갑 내구도 증가\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"함선 시그니처 반경 감소\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"실드 저항력 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 88%\", \n            \"text\": \"бонус к урону от малых орудий\"\n          }, \n          {\n            \"number\": \"на 44%\", \n            \"text\": \"бонус к запасу прочности брони\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"уменьшение размера сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"штраф к сопротивляемости щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"88%\", \n            \"text\": \"小型武器伤害加成\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"装甲值加成\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"舰船信号半径降低\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"护盾抗性惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30875\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Nutzen der Überlastung von Modulen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf Schaden und Reichweite von Smartbombs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von Bomben\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"erhöhter Hitzeschaden durch Überlastung von Modulen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overloading modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to smartbomb damage and range\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to bomb damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increased heat damage from overloading modules\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los beneficios de sobrecargar los módulos.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño y alcance de las bombas inteligentes.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de las bombas.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de aumento del daño por calor al sobrecargar los módulos.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux avantages de la surcharge des modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts et à la portée des bombes de proximité\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des bombes\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"d'augmentation des dégâts thermiques provoqués par la surcharge des modules\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overloading modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to smartbomb damage and range\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to bomb damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increased heat damage from overloading modules\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"オーバーヒートしたモジュールの恩恵が増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"スマートボムのダメージおよび射程距離が増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"ボムのダメージが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"オーバーロードしたモジュールの熱ダメージが増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"과부하 효과 보너스\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"스마트폭탄 피해량 및 사거리 보너스\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"폭탄 피해량 보너스\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"모듈 과부하 피해 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к преимуществам от перегрузки модулей\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к урону и дальности импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к урону от бомб\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличение теплового урона от перегрузки модулей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"装备过载效果加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"立体炸弹伤害和范围加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"炸弹伤害加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装备过载损伤提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30874\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"Bonus auf den Nutzen der Überlastung von Modulen\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"Bonus auf Schaden und Reichweite von Smartbombs\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"Bonus auf den Schaden von Bomben\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"erhöhter Hitzeschaden durch Überlastung von Modulen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to the benefits of overloading modules\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to smartbomb damage and range\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to bomb damage\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"increased heat damage from overloading modules\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonificación a los beneficios de sobrecargar los módulos.\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonificación al daño y alcance de las bombas inteligentes.\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonificación al daño de las bombas.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de aumento del daño por calor al sobrecargar los módulos.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonus aux avantages de la surcharge des modules\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonus aux dégâts et à la portée des bombes de proximité\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonus aux dégâts des bombes\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"d'augmentation des dégâts thermiques provoqués par la surcharge des modules\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to the benefits of overloading modules\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to smartbomb damage and range\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to bomb damage\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"increased heat damage from overloading modules\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"オーバーヒートしたモジュールの恩恵が増加\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"スマートボムのダメージおよび射程距離が増加\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"ボムのダメージが増加\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"オーバーロードしたモジュールの熱ダメージが増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"과부하 효과 보너스\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"스마트폭탄 피해량 및 사거리 보너스\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"폭탄 피해량 보너스\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"모듈 과부하 피해 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 86%\", \n            \"text\": \"бонус к преимуществам от перегрузки модулей\"\n          }, \n          {\n            \"number\": \"на 86%\", \n            \"text\": \"бонус к урону и дальности импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 86%\", \n            \"text\": \"бонус к урону от бомб\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"увеличение теплового урона от перегрузки модулей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"装备过载效果加成\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"立体炸弹伤害和范围加成\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"炸弹伤害加成\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"装备过载损伤提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30873\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"Bonus auf den Nutzen der Überlastung von Modulen\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"Bonus auf Schaden und Reichweite von Smartbombs\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"Bonus auf den Schaden von Bomben\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"erhöhter Hitzeschaden durch Überlastung von Modulen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to the benefits of overloading modules\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to smartbomb damage and range\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to bomb damage\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"increased heat damage from overloading modules\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonificación a los beneficios de sobrecargar los módulos.\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonificación al daño y alcance de las bombas inteligentes.\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonificación al daño de las bombas.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de aumento del daño por calor al sobrecargar los módulos.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonus aux avantages de la surcharge des modules\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonus aux dégâts et à la portée des bombes de proximité\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonus aux dégâts des bombes\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"d'augmentation des dégâts thermiques provoqués par la surcharge des modules\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to the benefits of overloading modules\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to smartbomb damage and range\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to bomb damage\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"increased heat damage from overloading modules\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"オーバーヒートしたモジュールの恩恵が増加\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"スマートボムのダメージおよび射程距離が増加\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"ボムのダメージが増加\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"オーバーロードしたモジュールの熱ダメージが増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"과부하 효과 보너스\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"스마트폭탄 피해량 및 사거리 보너스\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"폭탄 피해량 보너스\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"모듈 과부하 피해 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 72%\", \n            \"text\": \"бонус к преимуществам от перегрузки модулей\"\n          }, \n          {\n            \"number\": \"на 72%\", \n            \"text\": \"бонус к урону и дальности импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 72%\", \n            \"text\": \"бонус к урону от бомб\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"увеличение теплового урона от перегрузки модулей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"装备过载效果加成\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"立体炸弹伤害和范围加成\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"炸弹伤害加成\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"装备过载损伤提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30872\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"Bonus auf den Nutzen der Überlastung von Modulen\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"Bonus auf Schaden und Reichweite von Smartbombs\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"Bonus auf den Schaden von Bomben\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"erhöhter Hitzeschaden durch Überlastung von Modulen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to the benefits of overloading modules\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to smartbomb damage and range\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to bomb damage\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"increased heat damage from overloading modules\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonificación a los beneficios de sobrecargar los módulos.\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonificación al daño y alcance de las bombas inteligentes.\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonificación al daño de las bombas.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de aumento del daño por calor al sobrecargar los módulos.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonus aux avantages de la surcharge des modules\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonus aux dégâts et à la portée des bombes de proximité\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonus aux dégâts des bombes\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"d'augmentation des dégâts thermiques provoqués par la surcharge des modules\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to the benefits of overloading modules\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to smartbomb damage and range\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to bomb damage\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"increased heat damage from overloading modules\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"オーバーヒートしたモジュールの恩恵が増加\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"スマートボムのダメージおよび射程距離が増加\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"ボムのダメージが増加\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"オーバーロードしたモジュールの熱ダメージが増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"과부하 효과 보너스\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"스마트폭탄 피해량 및 사거리 보너스\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"폭탄 피해량 보너스\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"모듈 과부하 피해 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 58%\", \n            \"text\": \"бонус к преимуществам от перегрузки модулей\"\n          }, \n          {\n            \"number\": \"на 58%\", \n            \"text\": \"бонус к урону и дальности импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 58%\", \n            \"text\": \"бонус к урону от бомб\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"увеличение теплового урона от перегрузки модулей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"装备过载效果加成\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"立体炸弹伤害和范围加成\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"炸弹伤害加成\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"装备过载损伤提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30871\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"Bonus auf den Nutzen der Überlastung von Modulen\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"Bonus auf Schaden und Reichweite von Smartbombs\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"Bonus auf den Schaden von Bomben\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"erhöhter Hitzeschaden durch Überlastung von Modulen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to the benefits of overloading modules\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to smartbomb damage and range\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to bomb damage\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"increased heat damage from overloading modules\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonificación a los beneficios de sobrecargar los módulos.\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonificación al daño y alcance de las bombas inteligentes.\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonificación al daño de las bombas.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de aumento del daño por calor al sobrecargar los módulos.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonus aux avantages de la surcharge des modules\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonus aux dégâts et à la portée des bombes de proximité\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonus aux dégâts des bombes\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"d'augmentation des dégâts thermiques provoqués par la surcharge des modules\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to the benefits of overloading modules\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to smartbomb damage and range\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to bomb damage\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"increased heat damage from overloading modules\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"オーバーヒートしたモジュールの恩恵が増加\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"スマートボムのダメージおよび射程距離が増加\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"ボムのダメージが増加\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"オーバーロードしたモジュールの熱ダメージが増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"과부하 효과 보너스\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"스마트폭탄 피해량 및 사거리 보너스\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"폭탄 피해량 보너스\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"모듈 과부하 피해 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 44%\", \n            \"text\": \"бонус к преимуществам от перегрузки модулей\"\n          }, \n          {\n            \"number\": \"на 44%\", \n            \"text\": \"бонус к урону и дальности импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 44%\", \n            \"text\": \"бонус к урону от бомб\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"увеличение теплового урона от перегрузки модулей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"装备过载效果加成\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"立体炸弹伤害和范围加成\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"炸弹伤害加成\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"装备过载损伤提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30870\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"カルダリ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"加达里驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 16238\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Energiegeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de energía pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus à la portée optimale de la petite tourelle à énergie\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la vitesse de poursuite de la petite tourelle à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"réduction du coût d'activation de la petite tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型エネルギータレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"アマー駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 에너지 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"아마르 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых лазерных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型能量炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台启动消耗加成\"\n            }\n          ], \n          \"header\": \"艾玛驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33879\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Lenkwaffen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Missile velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad de los misiles.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus à la vitesse des missiles\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir du lance-missiles lourd et du lance-missiles d'assaut lourd\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Missile velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ミサイル速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"미사일 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорость полёта ракет\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается скорострельность ПУ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"导弹飞行速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型导弹发射器和重型攻击导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 16231\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Taktische Netzwerkmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warfare Link modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de enlace de guerra.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut monter des modules de interface tactique\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la portée optimale de la tourelle hybride intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warfare Link modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·艦隊支援システムモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·전장 링크 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться системами управления боем\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配作战网络装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"加达里战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33873\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"Bonus auf die Mikrowarpantriebgeschwindigkeit von Drohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"bonus to Drone microwarp velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"de bonificación a la velocidad de microwarp de los drones.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"de bonus à la vitesse de microwarp des drones\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux PV du drone\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"bonus to Drone microwarp velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"ドローンのマイクロワープ速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"드론 마이크로 워프 속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 12.5%\", \n            \"text\": \"повышается скорость полного хода дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"无人机最大速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 16233\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Taktische Netzwerkmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warfare Link modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de enlace de guerra.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut monter des modules de interface tactique\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la cadence de tir des lance-missiles lourds et des lance-missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la capacité du booster de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warfare Link modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·艦隊支援システムモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·전장 링크 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться системами управления боем\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорострельность ПУ тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配作战网络装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器和重型攻击导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33871\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus à la portée optimale de la petite tourelle hybride\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la vitesse de poursuite de la petite tourelle hybride\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la déperdition de la petite tourelle hybride\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33877\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Taktische Netzwerkmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warfare Link modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de enlace de guerra.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut monter des modules de interface tactique\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts et aux points de vie du drone\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warfare Link modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·艦隊支援システムモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·전장 링크 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться системами управления боем\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配作战网络装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33875\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von Torpedowerfern\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielaufschaltung nach der Deaktivierung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule, getarnte Anziehungsfeldgeneratoren und Bombenwerfer eingebaut werden.\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 15 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Flugdauer von Torpedos\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Torpedos\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den EM-Schaden von Bomben\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den EM-Schaden von Torpedos\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"reduction in Torpedo Launcher powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Covert Cynosural Field Generator and Bomb Launcher\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Torpedo flight time\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to EM Bomb damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to EM Torpedo damage\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia del lanzatorpedos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural encubierto y un lanzabombas.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 15 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al tiempo de vuelo de los torpedos.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la velocidad máxima de los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño electromagnético de las bombas.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al daño electromagnético de los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"de réduction du réseau d'alimentation requis par les lance-torpilles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation des dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes, un générateur de champ cynosural et un lance-bombes\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 15 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus au temps de vol des torpilles\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la vitesse maximale des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts EM des bombes\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux dégâts EM des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"reduction in Torpedo Launcher powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Covert Cynosural Field Generator and Bomb Launcher\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Torpedo flight time\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to EM Bomb damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to EM Torpedo damage\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"トルピードランチャーのパワーグリッド使用量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遮蔽装置のCPU使用量が減少\"\n          }, \n          {\n            \"text\": \"·遮蔽装置を停止した後のターゲット遅延なし\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置、潜伏用サイノシュラルフィールドジェネレータ、ボムランチャーを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が15秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"トルピードの飛行時間が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"トルピードの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ボムのEMダメージが増加\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"トルピードのEMダメージが増加\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"토피도 런처 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 코버트 사이노슈럴 필드 생성기 및 폭탄 런처 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 15초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"토피도 비행시간 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"토피도 최대속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"폭탄 EM 피해량 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"토피도 EM 피해량 증가\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 99.65%\", \n            \"text\": \"сокращается потребность торпедных аппаратов в мощности реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устранена задержка включения систем захвата целей, вызываемая отключением систем маскировки\"\n          }, \n          {\n            \"text\": \"·Возможна установка всережимной системы маскировки, приводного маяка скрытого действия и бомбометателя\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 15 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус ко времени полёта торпед\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"повышается скорость полного хода торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается поражающее действие электромагнитных БЧ бомб\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается поражающее действие электромагнитных БЧ торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"鱼雷发射器能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"隐形装置的CPU需求降低\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不遭受锁定延时副作用\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置、隐秘诱导力场发生器和炸弹发射器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到15秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"鱼雷飞行时间加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"鱼雷飞行速度加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"炸弹电磁伤害加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"鱼雷电磁伤害加成\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12038\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Gallente Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 4363\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von Torpedowerfern\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielaufschaltung nach der Deaktivierung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule, getarnte Anziehungsfeldgeneratoren und Bombenwerfer eingebaut werden. \"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 15 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Flugdauer von Torpedos\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Kinetikschaden von Bomben\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den Kinetikschaden von Torpedos\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"reduction in Torpedo Launcher powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Covert Cynosural Field Generator and Bomb Launcher \"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Torpedo flight time\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to kinetic Bomb damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to kinetic Torpedo damage\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia del lanzatorpedos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural encubierto y un lanzabombas. \"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 15 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al tiempo de vuelo de los torpedos.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la velocidad máxima de los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño cinético de las bombas.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al daño cinético de los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"de réduction du réseau d'alimentation requis par les lance-torpilles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation des dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes, un générateur de champ cynosural et un lance-bombes \"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 15 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus au temps de vol des torpilles\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la vitesse maximale des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts cinétiques des bombes\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux dégâts cinétiques des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"reduction in Torpedo Launcher powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Covert Cynosural Field Generator and Bomb Launcher \"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Torpedo flight time\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to kinetic Bomb damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to kinetic Torpedo damage\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"トルピードランチャーのパワーグリッド使用量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遮蔽装置のCPU使用量が減少\"\n          }, \n          {\n            \"text\": \"·遮蔽装置を停止した後のターゲット遅延なし\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置、潜伏用サイノシュラルフィールドジェネレータ、ボムランチャーを装備可能 \"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が15秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"トルピードの飛行時間が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"トルピードの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ボムのキネティックダメージが増加\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"トルピードのキネティックダメージが増加\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"토피도 런처 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 코버트 사이노슈럴 필드 생성기 및 폭탄 런처 장착 가능 \"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 15초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"토피도 비행시간 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"토피도 최대속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"폭탄 키네틱 피해량 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"토피도 키네틱 피해량 증가\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 99.65%\", \n            \"text\": \"сокращается потребность торпедных аппаратов в мощности реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устранена задержка включения систем захвата целей, вызываемая отключением систем маскировки\"\n          }, \n          {\n            \"text\": \"·Возможна установка всережимной системы маскировки, приводного маяка скрытого действия и бомбометателя \"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 15 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус ко времени полёта торпед\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"повышается скорость полного хода торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается поражающее действие кинетических БЧ бомб\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается поражающее действие кинетических БЧ торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"鱼雷发射器能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"隐形装置的CPU需求降低\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不遭受锁定延时副作用\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置、隐秘诱导力场发生器和炸弹发射器 \"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到15秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"鱼雷飞行时间加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"鱼雷飞行速度加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"炸弹动能伤害加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"鱼雷动能伤害加成\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12032\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion der CPU-Anforderung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung, Anziehungsfeldgenerator und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Verzögerung bei Reaktivierung des Tarnmoduls auf 5 Sekunden reduziert\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion des Flüssigozon-Verbrauchs von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"text\": \"·Kann Mikrosprungantrieb-Module verwenden\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"Reduzierung von Stromnetz- und CPU-Voraussetzungen für Mikrosprungantrieb-Module\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"Bonus auf Schaden und HP von Mittelgroßen Kampfdrohnen\"\n          }, \n          {\n            \"text\": \"·Optimale Reichweite von Stasisnetz um einen Prozentsatz in Höhe von -7,5x negativer Sicherheitsstatus des Piloten erhöht, mit einem Minimum von 0 % und einem Maximum von 75 %\"\n          }, \n          {\n            \"text\": \"·Optimale Reichweite von Warpunterbrechern und Warpstörern um einen Prozentsatz in Höhe von -3,75x negativer Sicherheitsstatus des Piloten erhöht, mit einem Minimum von 0 % und einem Maximum von 37,5 %\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittleren Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittleren Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Beschleunigung\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen Werfern für leichte Lenkwaffen, schwere Lenkwaffen und schwere Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Flugdauer von schweren Angriffslenkwaffen und schweren Lenkwaffen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von mittleren Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittleren Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von mittleren Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittleren Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"text\": \"·Can use Medium Micro Jump Drive modules\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in powergrid and cpu requirements for Micro Jump Drive modules\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"bonus to Medium Combat Drone damage and hitpoints\"\n          }, \n          {\n            \"text\": \"·Stasis Webifier optimal range increased by a percentage equal to -7.5x pilot negative security status, with a floor of 0% and ceiling of 75%\"\n          }, \n          {\n            \"text\": \"·Warp Scrambler and Warp Disruptor optimal range increased by a percentage equal to -3.75x pilot negative security status, with a floor of 0% and ceiling of 37.5%\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to warp speed and acceleration\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile flight time\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción del consumo de ozono líquido del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de motor de microsalto mediano.\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"de reducción en el requisito de sistema de potencia y de CPU en los módulos del motor de microsalto.\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"de bonificación al daño y los puntos de vida de los drones de combate medianos.\"\n          }, \n          {\n            \"text\": \"·El alcance óptimo de la red ralentizadora aumenta en un porcentaje igual a -7,5 veces el estado de seguridad negativo del piloto, con un mínimo del 0 % y un máximo del 75 %.\"\n          }, \n          {\n            \"text\": \"·El alcance óptimo del distorsionador de warp y el disruptor de warp aumentan en un porcentaje igual a -3,75 veces el estado de seguridad negativo del piloto, con un mínimo del 0 % y un máximo del 37,5 %.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al tiempo de vuelo de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules dispositif de camouflage d'opérations secrètes, générateur de champ cynosural et générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction de la consommation d'ozone liquide du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Peut utiliser des modules de propulseurs de micro-saut intermédiaires\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"de réduction des besoins en réseau d'alimentation et CPU pour les modules de propulseurs de micro-saut\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"de bonus aux dégâts et aux points de vie des drones de combat intermédiaire\"\n          }, \n          {\n            \"text\": \"·La portée optimale du générateur de stase est augmentée d'un pourcentage équivalent à -7,5x le statut de sécurité négatif du pilote, avec un minimum de 0 % et un maximum de 75 %\"\n          }, \n          {\n            \"text\": \"·Inhibiteur de warp et perturbateur de warp : augmentation de la portée optimale d'un pourcentage équivalent à -3,75x le statut de sécurité négatif du pilote, avec un minimum de 0 % et un maximum de 37,5 %\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la déperdition des tourelles à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au temps de vol des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts à la tourelle à énergie intermédiaire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des tourelles à énergie intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles hybrides intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"text\": \"·Can use Medium Micro Jump Drive modules\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in powergrid and cpu requirements for Micro Jump Drive modules\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"bonus to Medium Combat Drone damage and hitpoints\"\n          }, \n          {\n            \"text\": \"·Stasis Webifier optimal range increased by a percentage equal to -7.5x pilot negative security status, with a floor of 0% and ceiling of 75%\"\n          }, \n          {\n            \"text\": \"·Warp Scrambler and Warp Disruptor optimal range increased by a percentage equal to -3.75x pilot negative security status, with a floor of 0% and ceiling of 37.5%\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to warp speed and acceleration\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile flight time\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置とサイノシュラルフィールドジェネレーター、そして潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの液体オゾン消費量が減少\"\n          }, \n          {\n            \"text\": \"·中型マイクロジャンプドライブモジュールの使用が可能\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"マイクロジャンプドライブモジュールのパワーグリッド及びCPU使用率を軽減\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"中型戦闘用ドローンのダメージとHPが増加\"\n          }, \n          {\n            \"text\": \"·ステイシスウェビファイヤーの最適射程距離を、パイロットのネガティブなセキュリティステータスの‐7.5倍に当たるパーセンテージまで上げる。下限は0%で上限は75%。\"\n          }, \n          {\n            \"text\": \"·ワープスクランブラーとワープ妨害器の最適射程距離をパイロットのネガティブなセキュリティステータスの‐3.75倍に当たるパーセンテージまで上げる。下限は0%で上限は37.5%。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型プロジェクタイルタレットの発射レートが上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型プロジェクタイルタレットの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ワープ速度と加速度が上昇\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"高速ライトミサイル、ヘビーミサイル及びヘビーアサルトミサイルランチャーの発射レートが上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの飛行時間が増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型エネルギータレットの与えるダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの最適射程距離にボーナス\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 액화 오존 소모량 감소\"\n          }, \n          {\n            \"text\": \"·중형 마이크로 점프 드라이브 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"마이크로 점프 드라이브 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"미디움 공격 드론 피해량 및 내구도 증가\"\n          }, \n          {\n            \"text\": \"·캡슐리어 시큐리티 상태가 음수일 때 -7.5배당 % 비율로 스테이시스 웹 생성기 최적사거리 증가, 최소 0% 최대 75%\"\n          }, \n          {\n            \"text\": \"·캡슐리어 시큐리티 상태가 음수일 때 -3.75배당 % 비율로 워프 스크램블러 및 워프 디스럽터 최적사거리 증가, 최소 0% 최대 37.5%\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"워프 속도 및 가속도 증가\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 비행시간 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"снижение требований к ЦПУ для систем маскировки\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки, приводным маяком и приводным маяком скрытого действия.\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки снижена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"снижение потребления жидкого озона приводным маяком и приводным маяком скрытого действия\"\n          }, \n          {\n            \"text\": \"·Может использовать модули среднего микрогипердвигателя\"\n          }, \n          {\n            \"number\": \"на 99%\", \n            \"text\": \"уменьшение требовательности энергосистем и ЦП для модулей маневровых гипердвигателей\"\n          }, \n          {\n            \"number\": \"на 150%\", \n            \"text\": \"бонус к урону и запасу прочности средних боевых дронов\"\n          }, \n          {\n            \"text\": \"·Оптимальная дальность стазис-индукторов повышается на процент, равный отрицательному статусу безопасности пилота х -7,5 (от 0% до 75%)\"\n          }, \n          {\n            \"text\": \"·Оптимальная дальность варп-глушителей и варп-подавителей повышается на процент, равный отрицательному статусу безопасности пилота х -3,75 (от 0% до 37,5%)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорострельности средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к остаточной дальности средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"бонус к скорости хода и разгона в варп-режиме\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к скорострельности установок для лёгких скорострельных, тяжёлых и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к полётному времени тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к общей сопротивляемости щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается поражающее действие средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к оптимальной дальности средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к урону средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорости наведения средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置、诱导力场发生器和隐秘诱导力场发生器装备\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器消耗的液态臭氧数量降低\"\n          }, \n          {\n            \"text\": \"·可以使用中型微型跳跃引擎装备\"\n          }, \n          {\n            \"number\": \"99%\", \n            \"text\": \"微型跳跃引擎的能量栅格和CPU需求降低\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"中型战斗无人机伤害和HP加成\"\n          }, \n          {\n            \"text\": \"·停滞缠绕光束的最佳射程增幅相当于飞行员负安全等级的-7.5倍，下限为0%，上限为75%\"\n          }, \n          {\n            \"text\": \"·飞行员负安全等级跃迁扰频器和跃迁扰断器的最佳射程增幅相当于飞行员负安全等级的-3.75倍，下限为0%，上限为37.5%\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"快速轻型导弹、重型导弹和重型突击导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹飞行时间加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台索敌速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 85229\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können integrierte Sensor-Anlagen ausgerüstet werden\"\n          }, \n          {\n            \"text\": \"·Kann Capital-Mikrosprungantrieb und Capital-Mikrosprungfeldgenerator ausstatten\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module ausrüsten\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Es können Leichte und Unterstützungs-Jäger gestartet werden\"\n          }, \n          {\n            \"text\": \"·Kann Ziele auf größere Entfernungen erfassen\"\n          }, \n          {\n            \"text\": \"·Gruppensprung-fähig\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Neutralisierungsreichweite von Cenobite-Unterstützungsjägern\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf die optimale Neutralisierungsstärke von Cenobite-Unterstützungsjägern\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungkommando- und Informationkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Amarr Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Integrated Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Capital Micro Jump Drive and Capital Micro Jump Field Generator\"\n          }, \n          {\n            \"text\": \"·Can fit two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Support Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cenobite Support Fighter neutralization optimal range\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Cenobite Support Fighter neutralization strength\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Armored Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Amarr Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar una red de sensores integrados.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un motor de microsalto capital y un generador de campo de microsalto capital.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Puede lanzar cazas ligeros y de apoyo.\"\n          }, \n          {\n            \"text\": \"·Puede fijar objetivos a mayores distancias.\"\n          }, \n          {\n            \"text\": \"·Capaz de salto conductivo.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo de neutralización del caza de apoyo Cenobite.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad de neutralización del caza de apoyo Cenobite.\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje y de mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de détection intégré\"\n          }, \n          {\n            \"text\": \"·Peut équiper un propulseur de microsaut capital et un générateur de champ de microsaut capital\"\n          }, \n          {\n            \"text\": \"·Peut équiper deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut larguer des chasseurs légers et des chasseurs de soutien\"\n          }, \n          {\n            \"text\": \"·Peut verrouiller des cibles à plus grande distance\"\n          }, \n          {\n            \"text\": \"·Capacité de saut de groupe\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale de neutralisation des chasseurs de soutien du Cenobite\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance de neutralisation des chasseurs de soutien Cenobite\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindé et de commandement électronique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Integrated Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Capital Micro Jump Drive and Capital Micro Jump Field Generator\"\n          }, \n          {\n            \"text\": \"·Can fit two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Support Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Cenobite Support Fighter neutralization optimal range\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Cenobite Support Fighter neutralization strength\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Armored Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Amarr Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·統合型センサーアレイを装備可能\"\n          }, \n          {\n            \"text\": \"·キャピタルマイクロジャンプドライブとキャピタル・マイクロジャンプフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個装備可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"text\": \"·軽量級戦闘機と支援戦闘機の発着が可能\"\n          }, \n          {\n            \"text\": \"·長距離からロックオン可能\"\n          }, \n          {\n            \"text\": \"·コンジットジャンプに対応\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"シーナバイト支援戦闘機のニュートライザー最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"支援戦闘機「セノバイト」のニュートラライザー強度にボーナス\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"アーマードコマンドバーストと情報戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"アマー艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·통합 센서 장비 장착 가능\"\n          }, \n          {\n            \"text\": \"·캐피탈 마이크로 점프 드라이브 및 캐피탈 마이크로 점프 필드 생성기 피팅 가능\"\n          }, \n          {\n            \"text\": \"·두 개의 커맨드 버스트 모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·라이트 파이터 및 지원형 파이터 사출 가능\"\n          }, \n          {\n            \"text\": \"·타겟 거리 증가\"\n          }, \n          {\n            \"text\": \"·점프 필드 생성 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"세노바이트 서포트 파이터 에너지 뉴트럴라이제이션 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"세노바이트 서포트 파이터 에너지 뉴트럴라이저 강도 증가\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"장갑 버스트 및 정보전 버스트 효과 강화 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"아마르 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Можно оснастить интегрированным усилителем сенсоров\"\n          }, \n          {\n            \"text\": \"·Можно оснастить маневровым гипердвигателем КБТ и генератором разгонного поля КБТ\"\n          }, \n          {\n            \"text\": \"·На борт кораблей этого типа разрешается устанавливать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут запускать истребители (лёгкие и истребители поддержки)\"\n          }, \n          {\n            \"text\": \"·Повышена дальность захвата целей\"\n          }, \n          {\n            \"text\": \"·Может совершить групповой прыжок\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается оптимальная дальность действия дистанционных нейтрализаторов энергии, применяемых истребителями поддержки типа «Сенобит»\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"бонус к мощности энергонейтрализаторов для истребителей поддержки Cenobite\"\n            }, \n            {\n              \"number\": \"на 1%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони и импульсными оптимизаторами РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配集成传感器阵列\"\n          }, \n          {\n            \"text\": \"·可以装配旗舰级微型跳跃引擎和旗舰级微型跳跃力场发生器\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·可释放轻型和后勤 铁骑舰载机\"\n          }, \n          {\n            \"text\": \"·可在更大范围内锁定\"\n          }, \n          {\n            \"text\": \"·可以进行导管跳跃\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"修道士后勤铁骑舰载机能量中和最佳射程加成\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"修道士后勤铁骑舰载机能量中和强度加成\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"装甲指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"艾玛航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 23757\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von Torpedowerfern\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielaufschaltung nach der Deaktivierung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule, getarnte Anziehungsfeldgeneratoren und Bombenwerfer eingebaut werden.\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 15 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Flugdauer von Torpedos\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Torpedos\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Explosionsschaden von Bomben\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den Explosionsschaden von Torpedos\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"reduction in Torpedo Launcher powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Covert Cynosural Field Generator and Bomb Launcher\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Torpedo flight time\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to explosive Bomb damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to explosive Torpedo damage\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia del lanzatorpedos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural encubierto y un lanzabombas.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 15 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al tiempo de vuelo de los torpedos.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la velocidad máxima de los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de las bombas explosivas.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al daño explosivo de los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"de réduction du réseau d'alimentation requis par les lance-torpilles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation des dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes, un générateur de champ cynosural et un lance-bombes\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 15 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus au temps de vol des torpilles\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la vitesse maximale des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts explosifs des bombes\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux dégâts explosifs des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"reduction in Torpedo Launcher powergrid requirement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Covert Cynosural Field Generator and Bomb Launcher\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Torpedo flight time\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to explosive Bomb damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to explosive Torpedo damage\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"トルピードランチャーのパワーグリッド使用量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遮蔽装置のCPU使用量が減少\"\n          }, \n          {\n            \"text\": \"·遮蔽装置を停止した後のターゲット遅延なし\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置、潜伏用サイノシュラルフィールドジェネレータ、ボムランチャーを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が15秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"トルピードの飛行時間が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"トルピードの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ボムのエクスプローシブダメージが増加\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"トルピードのエクスプローシブダメージが増加\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"토피도 런처 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 코버트 사이노슈럴 필드 생성기 및 폭탄 런처 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 15초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"토피도 비행시간 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"토피도 최대속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"폭탄 폭발 피해량 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"토피도 폭발 피해량 증가\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 99.65%\", \n            \"text\": \"сокращается потребность торпедных аппаратов в мощности реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устранена задержка включения систем захвата целей, вызываемая отключением систем маскировки\"\n          }, \n          {\n            \"text\": \"·Возможна установка всережимной системы маскировки, приводного маяка скрытого действия и бомбометателя\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 15 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус ко времени полёта торпед\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"повышается скорость полного хода торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается поражающее действие фугасных БЧ бомб\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается поражающее действие фугасных БЧ торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99.65%\", \n            \"text\": \"鱼雷发射器能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"隐形装置的CPU需求降低\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不遭受锁定延时副作用\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置、隐秘诱导力场发生器和炸弹发射器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到15秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"鱼雷飞行时间加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"鱼雷飞行速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"炸弹爆炸伤害加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"鱼雷爆炸伤害加成\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12034\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Reduzierte Verzögerung bei Reaktivierung von Mikrosprungantrieben\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Energy Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beams range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de réduction du temps de réactivation du propulseur de microsauts\"\n          }, \n          {\n            \"text\": \"·Peut installer des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage</a\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Energy Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beams range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"マイクロジャンプドライブの再起動遅延が短縮\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型エネルギータレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон больших лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сокращается задержка повторного включения маневровых гипердвигателей\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"微型跳跃引擎启动间隔加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34223\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"Abzug auf den Schaden und die Geschwindigkeit von Drohnen\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf die HP von Schiffsrümpfen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Wendigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Durchlaufzeit von Bergbaulasern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"penalty to drone damage and speed\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to ship hull hitpoints\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ship agility\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de penalización al daño y la velocidad del dron.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización a los puntos de vida del casco de la nave.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la agilidad de la nave.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al tiempo de ciclo del láser minero.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de pénalité aux dégâts et à la vitesse des drones\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité aux points de vie de la coque du vaisseau\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus à la maniabilité du vaisseau\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus au temps de cycle de laser d'extraction\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"penalty to drone damage and speed\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to ship hull hitpoints\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ship agility\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"ドローンのダメージと速度にペナルティ\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"艦船の船体HPにペナルティ\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"艦船の機動性を強化\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"採掘レーザーのサイクル時間を短縮\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"드론 피해량 및 속도 페널티\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"함선 선체 내구도 페널티\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"기동성 증가\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"채굴 레이저 사이클 시간 보너스\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 20%\", \n            \"text\": \"штраф к скорости и урону от дронов\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к запасу прочности корпуса корабля\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к манёвренности корабля\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к времени цикла бурового лазера\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"无人机伤害和速度惩罚\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"舰船结构值惩罚\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"舰船灵活性加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"采矿激光器单次运转时间加成\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 52247\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen schweren Lenkwaffen-, Marschflugkörper- und Torpedo-Werfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles pesados, los lanzamisiles de crucero y los lanzatorpedos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des missiles lourds, missiles de croisière et des torpilles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ヘビーミサイル、クルーズミサイル、トルピードランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルとトルピードの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 헤비 미사일, 크루즈 미사일, 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность торпедных аппаратов, ПУ дальнобойных ракет, скорострельных ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型快速导弹、巡航导弹和鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷最大飞行速度加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34227\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen schweren Lenkwaffen-, Marschflugkörper- und Torpedo-Werfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles pesados, los lanzamisiles de crucero y los lanzatorpedos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des missiles lourds, missiles de croisière et des torpilles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ヘビーミサイル、クルーズミサイル、トルピードランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルとトルピードの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 헤비 미사일, 크루즈 미사일, 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность торпедных аппаратов, ПУ дальнобойных ракет, скорострельных ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型快速导弹、巡航导弹和鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷最大飞行速度加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34225\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen schweren Lenkwaffen-, Marschflugkörper- und Torpedo-Werfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles pesados, los lanzamisiles de crucero y los lanzatorpedos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des missiles lourds, missiles de croisière et des torpilles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ヘビーミサイル、クルーズミサイル、トルピードランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルとトルピードの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 헤비 미사일, 크루즈 미사일, 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность торпедных аппаратов, ПУ дальнобойных ракет, скорострельных ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型快速导弹、巡航导弹和鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷最大飞行速度加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34229\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"35%\", \n            \"text\": \"Abzug auf den Schaden und die Geschwindigkeit von Drohnen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Abzug auf die HP von Schiffsrümpfen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Wendigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Durchlaufzeit von Bergbaulasern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"35%\", \n            \"text\": \"penalty to drone damage and speed\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"penalty to ship hull hitpoints\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship agility\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"35%\", \n            \"text\": \"de penalización al daño y la velocidad del dron.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de penalización a los puntos de vida del casco de la nave.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la agilidad de la nave.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación al tiempo de ciclo del láser minero.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"35%\", \n            \"text\": \"de pénalité aux dégâts et à la vitesse des drones\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de pénalité aux points de vie de la coque du vaisseau\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la maniabilité du vaisseau\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus au temps de cycle de laser d'extraction\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"35%\", \n            \"text\": \"penalty to drone damage and speed\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"penalty to ship hull hitpoints\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship agility\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"35%\", \n            \"text\": \"ドローンのダメージと速度にペナルティ\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船の船体HPにペナルティ\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船の機動性を強化\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"採掘レーザーのサイクル時間を短縮\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"35%\", \n            \"text\": \"드론 피해량 및 속도 페널티\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"함선 선체 내구도 페널티\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"기동성 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"채굴 레이저 사이클 시간 보너스\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 35%\", \n            \"text\": \"штраф к скорости и урону от дронов\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"штраф к запасу прочности корпуса корабля\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к манёвренности корабля\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к времени цикла бурового лазера\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"35%\", \n            \"text\": \"无人机伤害和速度惩罚\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船结构值惩罚\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船灵活性加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"采矿激光器单次运转时间加成\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 52248\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf den Schaden und die Geschwindigkeit von Drohnen\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"Abzug auf die HP von Schiffsrümpfen\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"Bonus auf die Wendigkeit von Schiffen\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"Bonus auf die Durchlaufzeit von Bergbaulasern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to drone damage and speed\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"penalty to ship hull hitpoints\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"bonus to ship agility\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización al daño y la velocidad de los drones.\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"de penalización a los puntos de vida del casco de la nave.\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"de bonificación a la agilidad de la nave.\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"de bonificación al tiempo de ciclo del láser minero.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité aux dégâts et à la vitesse des drones\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"de pénalité aux points de vie de la coque du vaisseau\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"de bonus à la maniabilité du vaisseau\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"de bonus au temps de cycle de laser d'extraction\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to drone damage and speed\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"penalty to ship hull hitpoints\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"bonus to ship agility\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"bonus to mining laser cycle time\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"ドローンのダメージと速度にペナルティ\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"艦船の船体HPにペナルティ\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"艦船の機動性を強化\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"採掘レーザーのサイクル時間を短縮\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"드론 피해량 및 속도 페널티\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"함선 선체 내구도 페널티\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"기동성 증가\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"채굴 레이저 사이클 시간 보너스\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"штраф к скорости и урону от дронов\"\n          }, \n          {\n            \"number\": \"на 40%\", \n            \"text\": \"штраф к запасу прочности корпуса корабля\"\n          }, \n          {\n            \"number\": \"на 45%\", \n            \"text\": \"бонус к манёвренности корабля\"\n          }, \n          {\n            \"number\": \"на 45%\", \n            \"text\": \"бонус к времени цикла бурового лазера\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"无人机伤害和速度惩罚\"\n          }, \n          {\n            \"number\": \"40%\", \n            \"text\": \"舰船结构值惩罚\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"舰船灵活性加成\"\n          }, \n          {\n            \"number\": \"45%\", \n            \"text\": \"采矿激光器单次运转时间加成\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 52249\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Zielmarkierungsmodulen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del revelador de objetivo.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles pesados y los misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds rapides\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité des marqueurs de cible\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dommages des missiles lourds et à la vitesse d'explosion des missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile explosion velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ターゲットペインターの効果が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの爆発速度上昇\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"타겟 페인터 효과 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 폭발속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия систем подсветки целей\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорости распространения взрыва тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"目标标记装置效果加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型导弹和重型攻击导弹爆炸速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 630\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Schildfernboostern\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildfernboostern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Schildfernboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"bonus to Remote Shield Booster optimal range and falloff\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Logistic Drone transfer amount\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo del potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la cantidad de transferencia de los drones logísticos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo remotos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del coste de activación del potenciador de escudo remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"de bonus à la portée optimale et à la perte dubooster de bouclier à distance\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la quantité de transfert des drones d'assistance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier à distance\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du coût d'activation des boosters de bouclier à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"bonus to Remote Shield Booster optimal range and falloff\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Logistic Drone transfer amount\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"リモートシールドブースターの最適射程距離および精度低下範囲が改善\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"支援専門ドローンの転送量が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"リモートシールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"リモートシールドブースターの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"원격 실드 부스터 최적사거리 및 유효사거리 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"로지스틱스 드론 수리량 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"원격 실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 실드 부스터 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 430%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность действия установок дистанционной накачки щитов\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"повышается производительность ремонтных дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 12.5%\", \n              \"text\": \"повышается производительность установок дистанционной накачки щитов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается потребление энергии установками дистанционной накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"远程护盾回充增量器最佳射程和失准范围加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"后勤无人机传输量加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"远程护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"远程护盾回充增量器启动消耗减少\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 631\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Stärke von ECM-Zielstörsender-Modulen\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von ECM-Zielstörsender-Modulen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to ECM Target Jammer optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la intensidad del perturbador ECM de objetivo.\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo del perturbador ECM de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la force des brouilleurs de cible CME\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonus à la portée optimale et à la distance de perte des brouilleurs de cible CME\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to ECM Target Jammer optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECMターゲットジャマーの強度が増加\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"ECMターゲットジャマーの最適射程距離と精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECM 타겟 재머 효과 증가\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"ECM 타겟 재머 최적사거리 및 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается выходная мощность модулей глушения захвата целей\"\n            }, \n            {\n              \"number\": \"на 12.5%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность действия модулей глушения захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECM目标干扰器强度加成\"\n            }, \n            {\n              \"number\": \"12.5%\", \n              \"text\": \"ECM目标干扰器最佳射程和失准范围加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 632\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Sensorferndämpfern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Sensorferndämpfern\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Remote Sensor Dampener optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del atenuador de sensor remoto.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo del atenuador de sensor remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité des atténuateurs de détection à distance\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale et à la distance de perte des atténuateurs de détection à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Remote Sensor Dampener optimal range and falloff\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"リモートセンサーダンプナーの効果が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"リモートセンサーダンプナーの最適射程距離と精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"원격 센서 댐프너 효과 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"원격 센서 댐프너 최적사거리 및 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия модулей подавления захвата целей\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность действия модулей подавления захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"远程感应抑阻器效果加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"远程感应抑阻器最佳射程和失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 633\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Panzerungs-Fernreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Logistic Drone transfer amount\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la cantidad de transferencia de los drones logísticos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje remotos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del coste de activación del reparador de blindaje remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"de bonus à la portée optimale et à la perte du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la quantité de transfert des drones d'assistance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage à distance\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du coût d'activation des réparateurs de blindage à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Logistic Drone transfer amount\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"リモートアーマーリペアラの最適射程距離および精度低下範囲が改善\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"支援専門ドローンの転送量が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"リモートアーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"リモートアーマーリペアラの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"원격 장갑수리 장치 최적사거리 및 유효사거리 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"로지스틱스 드론 수리량 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"원격 장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 장갑수리 장치 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 430%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"повышается производительность ремонтных дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 12.5%\", \n              \"text\": \"повышается производительность установок дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"430%\", \n            \"text\": \"远程装甲维修器最佳射程和失准范围加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"后勤无人机传输量加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"远程装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"远程装甲维修器启动消耗减少\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 634\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen schweren Lenkwaffen-, Marschflugkörper- und Torpedo-Werfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles pesados, los lanzamisiles de crucero y los lanzatorpedos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de crucero y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles lourds, lance-missiles de croisière et lance-torpilles rapides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles de croisière et des torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Heavy Missile, Cruise Missile and Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ヘビーミサイル・クルーズミサイル・トルピードランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"クルーズミサイルとトルピードの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 헤비 미사일, 크루즈 미사일, 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"크루즈 미사일 및 토피도 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность торпедных аппаратов, ПУ дальнобойных ракет, скорострельных ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта дальнобойных ракет и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型快速导弹、巡航导弹和鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"巡航导弹和鱼雷最大飞行速度加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 638\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir des grandes tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus de dégâts des grandes tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 639\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Bergungsmodulen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de los recuperadores.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée des récupérateurs\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"サルベージャーの起動時間が短縮\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"샐비저 지속시간 감소\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 5+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла демонтажных модулей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"打捞装置运转周期降低\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 586\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Immun gegen Unterbrechungsfeldwerfer, Warpstörfeldgeneratoren und mobile kleine , mittelgroße und große Warpstörer\"\n          }, \n          {\n            \"text\": \"·Immun gegen alle Frachtscanner\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Inmune al lanzaesferas de interdicción, al generador de campo disruptor de warp y al disruptor de warp móvil pequeño, mediano y grande.\"\n          }, \n          {\n            \"text\": \"·Inmune a todos los escáneres de carga.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut.\"\n          }, \n          {\n            \"text\": \"·Immunité contre les lanceurs de sphère d'interdiction, générateurs de champ perturbateur de warp et perturbateurs de warp mobiles légers, intermédiaires et grands perturbateurs de warp\"\n          }, \n          {\n            \"text\": \"·Immunisé contre tous les scanners de soute\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·インターディクションスフィアランチャー、ワープ妨害フィールドジェネレーター、小型、中型、大型移動式ワープ妨害器の影響を受けない\"\n          }, \n          {\n            \"text\": \"·全てのカーゴスキャナーへの耐性\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·인터딕션 런처, 워프 디스럽션 필드 생성기 및 이동식 소형, 중형, 대형 워프 디스럽터에 면역\"\n          }, \n          {\n            \"text\": \"·화물 스캐너 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"замедление накопления усталости от гиперпрыжков\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию систем запуска заградительных сфер, бортовых варп-заградителей, а также полевых варп-заградителей малой, средней и большой мощности\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию любых сканеров груза\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·对拦截泡发射器、跃迁扰断力场发生器与小型、中型及大型机动跃迁扰断器免疫\"\n          }, \n          {\n            \"text\": \"·免疫所有货舱扫描\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 64034\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Doomsday-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann ein Phänomengenerator-Modul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Es kann ein Sprungtor-Generator-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es kann ein Klonbucht-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann drei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"text\": \"·Nosferatu-Module, die in dieses Schiff eingebaut werden, ziehen dem als Ziel aufgeschaltetem Schiff Energie ab, unabhängig von Ihrem eigenen Energiespeicher-Level\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"1400%\", \n            \"text\": \"Bonus auf den Schaden von Capital-Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Sensordämpfer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Waffenstörer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Erhöhung der Fernunterstützungsimpedanz auf Elektronik\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Titan Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Titan Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"1400%\", \n            \"text\": \"bonus to Capital Energy Turret damage\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Amarr Titan bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Minmatar Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo apocalíptico.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de fenómenos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de portales de salto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de plataforma de contenedores de clonación.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar tres módulos de estallido de mando.\"\n          }, \n          {\n            \"text\": \"·El nosferatu de energía equipado en esta nave drenará el condensador de la nave objetivo independientemente del nivel de tu propio condensador.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"1400%\", \n            \"text\": \"de bonificación al daño de la torreta de energía capital.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de disrupción de armas.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Titán amarriano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Titán minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'une arme d'annihilation\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un module de générateur de phénomènes\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un générateur de portail interstellaire\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'une plateforme de clonage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser trois salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Les modules de Nosferatu à énergie siphonnent le capaciteur du vaisseau ciblé, indépendamment du niveau de votre propre capaciteur.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"1400%\", \n            \"text\": \"de bonus aux dégâts des tourelles à énergie capitales\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux perturbateurs d'armement\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des liaisons Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus au volume d'énergie drainée par les Nosferatu à énergie et les neutraliseurs d'énergie\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Titan amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale des générateurs de stase\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Titan minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"1400%\", \n            \"text\": \"bonus to Capital Energy Turret damage\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Amarr Titan bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Minmatar Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ドゥームズデイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·現象ジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·ジャンプポータルジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·クローンバットベイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールが3個使える\"\n          }, \n          {\n            \"text\": \"·この艦船に装備されたエネルギーノスフェラトゥは、自艦のキャパシタレベルに関わらずターゲットした艦船のキャパシタを吸収する\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"アーマープレートとシールドエクステンダーにボーナス\"\n          }, \n          {\n            \"number\": \"1400%\", \n            \"text\": \"キャピタルエネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"センサーダンプナー耐性にボーナス\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"兵器妨害耐性が増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"ステイシスウェビファイヤー耐性が増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"リモートエレクトリックアシスタンスの電気抵抗が増大\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクの持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"エネルギーノスフェラトゥとエネルギーニュートラライザーの吸収量が増加\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"艦船のワープコア強度が増加\"\n            }\n          ], \n          \"header\": \"アマータイタンボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ステイシスウェビファイヤーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"艦船のワープコア強度が増加\"\n            }\n          ], \n          \"header\": \"ミンマタータイタンボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·둠스데이 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·특이점 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 포탈 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 클론 격납고 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·세개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"text\": \"·에너지 노스페라투 적 함선 캐패시터 흡수\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"1400%\", \n            \"text\": \"캐피탈 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"센서 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"무기 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"아마르 타이탄 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"민마타 타이탄 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться орудиями Судного дня\"\n          }, \n          {\n            \"text\": \"·Позволяет установить модуль генератора аномалий\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться генераторами гиперпорталов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться отсеками клонирования\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до трёх импульсных оптимизаторов\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устройства паразитной подзарядки накопителя извлекают энергию из накопителя корабля-цели независимо от уровня заряда накопителя корабля-получателя энергии\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 500%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 1400%\", \n            \"text\": \"увеличивается урон сверхбольших лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию помех на системы наводки вооружения\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n            }, \n            {\n              \"number\": \"на 6+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские титаны:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 6+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские титаны:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个末日武器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个现象发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个克隆舱装备\"\n          }, \n          {\n            \"text\": \"·可以装配三个指挥脉冲波装备\"\n          }, \n          {\n            \"text\": \"·这艘舰船的掠能器可以无视自身剩余电容量而对目标舰船的电容无限吸取\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"1400%\", \n            \"text\": \"旗舰级能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"武器干扰抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"艾玛泰坦操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔泰坦操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 42241\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Belagerungsmodul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Nosferatu-Module, die in dieses Schiff eingebaut werden, ziehen dem als Ziel aufgeschaltetem Schiff Energie ab, unabhängig von Ihrem eigenen Energiespeicher-Level\"\n          }, \n          {\n            \"text\": \"·Capital-Energie-Nosferatu, die auf diesem Schiff ausgerüstet sind, leeren den Energiespeicher des anvisierten Schiffes unabhängig von dessen Signaturradius\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"Bonus auf den Schaden von Capital-Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }, \n          {\n            \"text\": \"·Capital Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of their signature radius\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Capital Energy Turret damage\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"text\": \"·El nosferatu de energía equipado en esta nave drenará el condensador de la nave objetivo independientemente del nivel de tu propio condensador.\"\n          }, \n          {\n            \"text\": \"·El nosferatu de energía capital equipado en esta nave drenará el condensador de la nave objetivo independientemente de su radio de señal.\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonificación al daño de la torreta de energía capital.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"text\": \"·Les modules de Nosferatu à énergie siphonnent le capaciteur du vaisseau ciblé, indépendamment du niveau de votre propre capaciteur.\"\n          }, \n          {\n            \"text\": \"·Le Nosferatu à énergie capital équipé sur ce vaisseau drainera le capaciteur du vaisseau ciblé, indépendamment de son rayon de signature\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonus aux dégâts des tourelles à énergie capitales\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des liaisons Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale des générateurs de stase\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus au volume d'énergie drainée par les Nosferatu à énergie et les neutraliseurs d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }, \n          {\n            \"text\": \"·Capital Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of their signature radius\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Capital Energy Turret damage\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }\n          ], \n          \"header\": \"Minmatar Dreadnought bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·この艦船に装備されたエネルギーノスフェラトゥは、自艦のキャパシタレベルに関わらずターゲットした艦船のキャパシタを吸収する\"\n          }, \n          {\n            \"text\": \"·この艦船に装備されたキャピタルエネルギーノスフェラトゥは、対象のシグネチャ半径に関わらずターゲットした艦船のキャパシタを吸収する\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"キャピタルエネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ステイシスウェビファイヤーの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター攻城艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"エネルギーノスフェラトゥとエネルギーニュートラライザーの吸収量が増加\"\n            }\n          ], \n          \"header\": \"アマー攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·에너지 노스페라투 적 함선 캐패시터 흡수\"\n          }, \n          {\n            \"text\": \"·캐피탈 에너지 노스페라투 모듈이 시그니처 반경과 관계 없이 적 함선 캐패시터 흡수\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"캐피탈 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 드레드노트 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }\n          ], \n          \"header\": \"아마르 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами осадного профиля\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устройства паразитной подзарядки накопителя извлекают энергию из накопителя корабля-цели независимо от уровня заряда накопителя корабля-получателя энергии\"\n          }, \n          {\n            \"text\": \"·Модуль паразитной подзарядки КБТ, установленный на это судно, будет опустошать накопитель корабля-цели вне зависимости от его радиуса сигнатуры\"\n          }, \n          {\n            \"number\": \"на 37.5%\", \n            \"text\": \"увеличивается урон сверхбольших лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские дредноуты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"text\": \"·这艘舰船的掠能器可以无视自身剩余电容量而对目标舰船的电容无限吸取\"\n          }, \n          {\n            \"text\": \"·旗舰掠能器可以无视自身信号半径，无限吸取目标舰船的电容\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"旗舰级能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔无畏舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }\n          ], \n          \"header\": \"艾玛无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 42243\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Triage-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"text\": \"·Nosferatu-Module, die in dieses Schiff eingebaut werden, ziehen dem als Ziel aufgeschaltetem Schiff Energie ab, unabhängig von Ihrem eigenen Energiespeicher-Level\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Kommandostrahl-Modulen\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion des Stromnetzbedarfs von Capital-Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Energie-Nosferatu-Modulen\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Es kann nur ein Energiespeicherbooster-Modul online sein\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Durchlaufzeit von Capital-Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Reparaturmenge von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"Bonus auf die Transfermenge, optimale Reichweite und den Präzisionsabfall von Energie-Nosferatu-Modulen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Menge von Energiespeicherboostern \"\n            }\n          ], \n          \"header\": \"Amarr Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Triage module\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in CPU requirements for Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Logistics Drone transfer amount\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in Capital Remote Armor Repairer powergrid requirement\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in Energy Nosferatu CPU requirement\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can only online one Capacitor Booster module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Remote Armor Repairer cycle time\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Energy Nosferatu drain amount, optimal range and falloff\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Capacitor Booster amount \"\n            }\n          ], \n          \"header\": \"Amarr Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de triaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"text\": \"·El nosferatu de energía equipado en esta nave drenará el condensador de la nave objetivo independientemente del nivel de tu propio condensador.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de los requisitos de CPU de los módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación a la cantidad de transferencia del dron logístico.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia del reparador de blindaje remoto capital.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción del requisito de CPU del nosferatu de energía.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Solo puede conectar un módulo de potenciador de condensador.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al tiempo de ciclo del reparador de blindaje remoto capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonificación a la cantidad drenada y a los alcances óptimo y efectivo del nosferatu de energía.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad de potenciadores de condensador. \"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de triage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Les modules de Nosferatu à énergie siphonnent le capaciteur du vaisseau ciblé, indépendamment du niveau de votre propre capaciteur.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la charge CPU consommée par les salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la capacité de transfert des drones logistiques\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"réduction des prérequis de réseau d'alimentation du réparateur de blindage à distance capital\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la charge CPU consommée par les Nosferatu à énergie\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Ne peut mettre en ligne qu'un seul module de booster de capaciteur\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des liaisons Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au temps de cycle du réparateur de blindage à distance capital\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité réparatrice du réparateur de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonus au volume d'énergie siphonnée, à la portée optimale et à la déperdition des Nosferatu à énergie\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus au montant du booster de capaciteur \"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Triage module\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in CPU requirements for Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Logistics Drone transfer amount\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in Capital Remote Armor Repairer powergrid requirement\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in Energy Nosferatu CPU requirement\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can only online one Capacitor Booster module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Remote Armor Repairer cycle time\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Minmatar Carrier bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Energy Nosferatu drain amount, optimal range and falloff\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Capacitor Booster amount \"\n            }\n          ], \n          \"header\": \"Amarr Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·トリアージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールが2個使える\"\n          }, \n          {\n            \"text\": \"·この艦船に装備されたエネルギーノスフェラトゥは、自艦のキャパシタレベルに関わらずターゲットした艦船のキャパシタを吸収する\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"コマンドバーストモジュールのCPU使用率を軽減\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"支援専門ドローン転送量にボーナス\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"キャピタルリモートアーマーリペアラのパワーグリッド要件を軽減\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"エネルギーノスフェラトゥのCPU要件を軽減\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"text\": \"·オンラインにできるキャパシタブースターモジュールは1つだけです\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルリモートアーマーリペアラのサイクル時間にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"アーマーリペアラの回復量増加\"\n            }\n          ], \n          \"header\": \"ミンマター艦載機母艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"エネルギーノスフェラトゥ吸収量、最適射程距離、精度低下距離にボーナス\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"キャパシタブースター量にボーナス \"\n            }\n          ], \n          \"header\": \"アマー艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·트리아지 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"text\": \"·에너지 노스페라투 적 함선 캐패시터 흡수\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"커맨드 버스트 모듈 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"로지스틱스 드론 수리량 증가\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"캐피탈 원격 장갑수리 장치 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"에너지 노스페라투 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·하나의 캐패시터 부스터만 온라인 상태로 전환할 수 있습니다\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 원격 장갑수리 장치 사이클 시간 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"민마타 캐리어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"에너지 노스페라투 흡수량, 최적 사거리, 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"캐패시터 부스터 회복량 증가 \"\n            }\n          ], \n          \"header\": \"아마르 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами ремонтного профиля\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устройства паразитной подзарядки накопителя извлекают энергию из накопителя корабля-цели независимо от уровня заряда накопителя корабля-получателя энергии\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"сокращается потребность импульсных оптимизаторов в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"повышается производительность ремонтных дронов\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"уменьшение требовательности энергосистем для флагманских модулей дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"сокращается потребность устройств паразитной подзарядки накопителя в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Можно включить только один модуль инъектора накопителя\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к времени цикла флагманских модулей дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к эффективности установки ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские КАРы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 30%\", \n              \"text\": \"увеличивается пропускная способность, оптимальная и добавочная дальность действия устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к эффективности инъекторов накопителя \"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战型紧急修复增强模块\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"text\": \"·这艘舰船的掠能器可以无视自身剩余电容量而对目标舰船的电容无限吸取\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"指挥脉冲波CPU需求降低\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"后勤无人机传输量加成\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"旗舰级远程装甲维修器能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"掠能器CPU需求降低\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·只能启用一个电容注电器装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级远程装甲维修器循环周期加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔航空母舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"掠能器吸取量、最佳射程和失准范围加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"电容注电器注电量加成 \"\n            }\n          ], \n          \"header\": \"艾玛航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 42242\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"85%\", \n            \"text\": \"Reduktion des Stromnetz-Bedarfs von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"85%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Energie-Nosferatu-Modulen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Nosferatu-Module, die in dieses Schiff eingebaut werden, ziehen dem als Ziel aufgeschaltetem Schiff Energie ab, unabhängig von Ihrem eigenen Energiespeicher-Level\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Reduktion der Durchlaufzeit von Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die HP der Panzerplatte\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"35%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von Energie-Nosferatu-Modulen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Energie-Nosferatu-Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"85%\", \n            \"text\": \"reduction in Remote Armor Repairer powergrid requirement\"\n          }, \n          {\n            \"number\": \"85%\", \n            \"text\": \"reduction in Energy Nosferatu CPU requirement\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"reduction in Remote Armor Repairer cycle time\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Plate hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"35%\", \n              \"text\": \"bonus to Energy Nosferatu optimal range and falloff\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu drain amount\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"85%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"85%\", \n            \"text\": \"de reducción del requisito de CPU del nosferatu de energía.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·El nosferatu de energía equipado en esta nave drenará el condensador de la nave objetivo independientemente del nivel de tu propio condensador.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad de transferencia de los drones logísticos.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo del reparador de blindaje remoto.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción del coste de activación del reparador de blindaje remoto.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de reducción del tiempo de ciclo del reparador de blindaje remoto.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros logísticos (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"35%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo del nosferatu de energía.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"85%\", \n            \"text\": \"de réduction au réseau d'alimentation requis par le réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"85%\", \n            \"text\": \"réduction de la charge CPU requise pour le Nosferatu à énergie\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée optimale et à la perte du réparateur de blindage à distance\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"text\": \"·Peut monter un dispositif de camouflage opérations secrètes et un générateur furtif de champ cynosural\"\n          }, \n          {\n            \"text\": \"·Les modules de Nosferatu à énergie montés sur ce vaisseau vont absorber le capaciteur du vaisseau visé quel que soit le niveau de votre capaciteur\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité de transfert du drone logistique\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"réduction de la charge CPU requise pour les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale et à la perte du réparateur de blindage à distance\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction du coût d'activation du réparateur de blindage à distance\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de réduction du temps de cycle du réparateur de blindage à distance\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs logistiques :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"35%\", \n              \"text\": \"de bonus à la portée optimale et à la perte du Nosferatu à énergie\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité d'énergie récupérée par le Nosferatu à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"85%\", \n            \"text\": \"reduction in Remote Armor Repairer powergrid requirement\"\n          }, \n          {\n            \"number\": \"85%\", \n            \"text\": \"reduction in Energy Nosferatu CPU requirement\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Remote Armor Repairer optimal range and falloff\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"reduction in Remote Armor Repairer cycle time\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Plate hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"35%\", \n              \"text\": \"bonus to Energy Nosferatu optimal range and falloff\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu drain amount\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"85%\", \n            \"text\": \"リモートアーマーリペアラのパワーグリッド使用量が減少\"\n          }, \n          {\n            \"number\": \"85%\", \n            \"text\": \"エネルギーノスフェラトゥのCPU使用量が減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの最適射程距離と精度低下範囲が拡大\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }, \n          {\n            \"text\": \"·この艦船に搭載されているエネルギーノスフェラトゥは、自身のキャパシタレベルにかかわらず、ターゲットとなる艦船のキャパシタを吸収する\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"支援専門ドローンの転送量が増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"リモートアーマーリペアラの最適射程距離と精度低下範囲が拡大\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"リモートアーマーリペアラの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"リモートアーマーリペアラのサイクル時間を短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマープレートHPが増加\"\n            }\n          ], \n          \"header\": \"支援型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"35%\", \n              \"text\": \"エネルギーノスフェラトゥの最適射程距離と精度低下範囲が拡大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥのキャパシタ吸収量が増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"85%\", \n            \"text\": \"원격 장갑수리 장치 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"85%\", \n            \"text\": \"에너지 노스페라투 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 최적사거리 및 유효사거리 증가\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·에너지 노스페라투 적 함선 캐패시터 흡수\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"로지스틱스 드론 수리량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"원격 장갑수리 장치 최적사거리 및 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"원격 장갑수리 장치 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"원격 장갑수리 장치 사이클 시간 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑 플레이트 내구도 증가\"\n            }\n          ], \n          \"header\": \"로지스틱스 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"35%\", \n              \"text\": \"에너지 노스페라투 최적사거리 및 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 흡수량 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 85%\", \n            \"text\": \"сокращается потребность установок дистанционного ремонта брони в мощности реактора\"\n          }, \n          {\n            \"number\": \"на 85%\", \n            \"text\": \"сокращается потребность устройств паразитной подзарядки накопителя в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устройства паразитной подзарядки накопителя извлекают энергию из накопителя корабля-цели независимо от уровня заряда накопителя корабля-получателя энергии\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается производительность ремонтных дронов\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность действия установок дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"сокращается потребление энергии установок дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к прочности бронеплиты\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли обеспечения:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 35%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность действия устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"85%\", \n            \"text\": \"远程装甲维修器能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"85%\", \n            \"text\": \"掠能器CPU需求降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器最佳射程和失准范围加成\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·这艘舰船的掠能器可以无视自身剩余电容量而对目标舰船的电容无限吸取\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"后勤无人机传输量加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置CPU需求降低\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"远程装甲维修器最佳射程和失准范围加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"远程装甲维修器启动消耗降低\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"远程装甲维修器循环时间减少\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲板装甲值加成\"\n            }\n          ], \n          \"header\": \"后勤巡洋舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"35%\", \n              \"text\": \"掠能器最佳射程和失准范围加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器吸取量加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 42245\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·kann mittelgroßen Industriekern ausrüsten\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"Bonus auf die Reichweite von Schildfernboostern\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion des Stromnetzbedarfs von Kommando- und Bergbauvorarbeiterstrahlmodule\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"text\": \"·kann mit stationierbaren mobilen Phasenankern verbunden werden, die 35 Energiepunkte gewähren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Kapazität der Fracht- und Erzfrachträume des Schiffs\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Bergbauvorarbeiterstrahlen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP, den Schaden und die Erzausbeute von Drohnen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Eisschürfzeit von Drohnen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Reichweite von Bergbauvorarbeiterstrahlen\"\n            }\n          ], \n          \"header\": \"Industrial Command Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·can fit Medium Industrial Core\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Remote Shield Booster optimal range\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in powergrid requirements for Command and Mining Foreman Burst Modules\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Tractor Beam velocity\"\n          }, \n          {\n            \"text\": \"·can connect to Mobile Phase Anchor deployables, providing 35 points of power\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo and ore hold capacity\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Mining Foreman Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, damage and ore mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Drone ice harvesting cycle time\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus in Mining Foreman Burst range\"\n            }\n          ], \n          \"header\": \"Industrial Command Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·es posible equipar un núcleo industrial mediano.\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonificación al alcance óptimo del potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia de los módulos de estallido de capataz minero y de mando.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del rayo tractor.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la velocidad del rayo tractor.\"\n          }, \n          {\n            \"text\": \"·Es posible conectarse a desplegables de anclaje de fase móvil, lo que proporciona 35 puntos de potencia.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de la bodega y el almacén de menas de la nave.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto del estallido de capataz minero.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida, el daño y la extracción de menas de los drones.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de tiempo de ciclo de recolección de hielo de los drones.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance del estallido de capataz minero.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando industriales (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·peut recevoir une cellule industrielle intermédiaire\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonus à la portée optimale des boosters de bouclier à distance.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la consommation en réseau d'alimentation des salves de commandement et des salves de contremaîtrise minière.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut.\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée des rayons de tractage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la vitesse des rayons de tractage.\"\n          }, \n          {\n            \"text\": \"·peut se connecter à la structure déployable ancrage de phase mobile, fournissant 35 points d'énergie\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux capacités de la soute et de la soute à minerai du vaisseau.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de contremaîtrise minière.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux points de vie, aux dégâts et au rendement minier des drones.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction de la durée de cycle de collecte de glace des drones.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus de portée des salves de contremaîtrise d'extraction\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement industriels :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·can fit Medium Industrial Core\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Remote Shield Booster optimal range\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in powergrid requirements for Command and Mining Foreman Burst Modules\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Tractor Beam velocity\"\n          }, \n          {\n            \"text\": \"·can connect to Mobile Phase Anchor deployables, providing 35 points of power\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo and ore hold capacity\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Mining Foreman Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, damage and ore mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Drone ice harvesting cycle time\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus in Mining Foreman Burst range\"\n            }\n          ], \n          \"header\": \"Industrial Command Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·中型工業コアを装備可能\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"リモートシールドブースターの最適射程距離が改善\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"コマンドバーストと採掘支援バーストモジュールのパワーグリッド要件が減少\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの射程が上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"トラクタービームの速度が上昇\"\n          }, \n          {\n            \"text\": \"·配置可能物「移動式位相アンカー」に接続し、35ポイントの電力を供給可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量と鉱石容量が増加\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"採掘支援バーストの強度と持続時間が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイント、ダメージ、鉱石採掘量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ドローンの氷採集サイクル時間が減少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"採掘支援バーストの範囲にボーナス\"\n            }\n          ], \n          \"header\": \"指揮型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·중형 인더스트리얼 코어 장착 가능\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"원격 실드 부스터 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"지휘 및 채광 버스트 모듈 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"트랙터 빔 속도 증가\"\n          }, \n          {\n            \"text\": \"·배치된 이동식 위상 고정기 연결 가능, 전력 35 제공\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물실 및 광물 저장고 적재량 증가\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"채광 버스트 효과 및 지속시간 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도, 피해량, 채굴량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"드론 아이스 채굴 사이클 시간 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"채광 버스트 사거리 증가\"\n            }\n          ], \n          \"header\": \"인더스트리얼 커맨드쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·возможна установка среднего промышленного ядра\"\n          }, \n          {\n            \"number\": \"на 400%\", \n            \"text\": \"увеличивается оптимальная дальность действия установок дистанционной накачки щитов\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"сокращается потребность импульсных оптимизаторов (боевых и добывающих) в мощностях реактора\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается оптимальная дальность действия гравизахватов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается скорость перемещения груза гравизахватами\"\n          }, \n          {\n            \"text\": \"·можно подключить к мобильному фазовому якорю, обеспечив приток в 35 единиц энергии\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека и отсека для руды корабля\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами добычи\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов и производительность буровых дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла дронов для добычи льда\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличение радиуса действия буровых импульсных оптимизаторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Флагманы буровых флотилий:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配中型工业核心\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"远程护盾回充增量器最佳射程加成\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"指挥脉冲波和开采先锋脉冲波能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束距离加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"牵引光束牵引速度加成\"\n          }, \n          {\n            \"text\": \"·可以连接到移动相位锚标可部署设备，提供35点能量\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货舱和矿石舱容量加成\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"开采先锋脉冲波的效果强度和持续时间加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害、HP和采矿量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"无人机冰矿开采循环时间缩短\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"开采先锋脉冲波范围加成\"\n            }\n          ], \n          \"header\": \"工业指挥舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 42244\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Daten-Analysegeräten\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielaufschaltung nach der Deaktivierung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"text\": \"·Nosferatu-Module, die in dieses Schiff eingebaut werden, ziehen dem als Ziel aufgeschaltetem Schiff Energie ab, unabhängig von Ihrem eigenen Energiespeicher-Level\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Reichweite von Stasisnetzen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf die Präzisionsabfallreichweite von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf die Präzisionsabfallreichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Small Energy Turret falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"text\": \"·El nosferatu de energía equipado en esta nave drenará el condensador de la nave objetivo independientemente del nivel de tu propio condensador.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance de la red ralentizadora.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al alcance efectivo del nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonus aux dégâts de la petite tourelle à énergie\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus de relique et d'analyseur de données\"\n          }, \n          {\n            \"text\": \"·Peut monter un dispositif de camouflage opérations secrètes II et un générateur furtif de champ cynosural\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation des dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"text\": \"·Les modules de Nosferatu à énergie montés sur ce vaisseau vont absorber le capaciteur du vaisseau visé quel que soit le niveau de votre capaciteur\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus à la portée dugénérateur de stase\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"réduction de la charge CPU requise pour les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité d'énergie récupérée par le Nosferatu à énergie et le neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus à la portée de perte de précision des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au rendement du réacteur et de la sonde de balayage de combat\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus à la perte du Nosferatu à énergie et du neutraliseur d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Small Energy Turret falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"小型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }, \n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置を停止した後のターゲット遅延なし\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"text\": \"·この艦船に搭載されているエネルギーノスフェラトゥは、自身のキャパシタレベルに関わらず、ターゲットとなる艦船のキャパシタを吸収する\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ステイシスウェビファイアーの範囲が拡大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥとのキャパシタ吸収量が増加\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"小型エネルギータレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"エネルギーノスフェラトゥとの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"소형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"text\": \"·에너지 노스페라투 적 함선 캐패시터 흡수\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"스테이시스 웹 생성기 사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"소형 에너지 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 400%\", \n            \"text\": \"увеличивается урон малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устранена задержка включения систем захвата целей, вызываемая отключением систем маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устройства паразитной подзарядки накопителя извлекают энергию из накопителя корабля-цели независимо от уровня заряда накопителя корабля-получателя энергии\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n            }, \n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается добавочная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"400%\", \n            \"text\": \"小型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不遭受锁定延时副作用\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"text\": \"·这艘舰船的掠能器可以无视自身剩余电容量而对目标舰船的电容无限吸取\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"停滞缠绕光束射程加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置CPU需求降低\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"小型能量炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"掠能器和能量中和器失准范围加成\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 42246\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"reduzierter Hitzeschaden durch Überlastung von Modulen\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"Erhöhung der Thermalresistenz des Schiffs\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"reduced heat damage from overloading modules\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"increase in ship thermal resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de reducción del daño por calor al sobrecargar los módulos.\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"de aumento de las resistencias térmicas de la nave.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de réduction des dégâts thermiques provoqués par la surcharge des modules\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"d'augmentation des résistances thermiques du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"reduced heat damage from overloading modules\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"increase in ship thermal resistances\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"オーバーロードしたモジュールの熱ダメージが減少\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"艦船サーマルレジスタンスが増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"모듈 과부하 피해 감소\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"열 저항력 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"уменьшение теплового урона от перегрузки модулей\"\n          }, \n          {\n            \"number\": \"на 4%\", \n            \"text\": \"увеличение сопротивляемости корабля термальному урону\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"装备超载受到的过热伤害减少\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"舰船热能抗性提升’\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 56997\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der Ausrüstungsanforderungen für schwere Lenkwaffen, schwere Angriffslenkwaffen und schnelle leichte Lenkwaffenwerfer für CPU und Stromnetz\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·kann eine Verbindung zu Reagenz-Silos des orbitalen Skyhooks herstellen, die die üblichen Klassenbeschränkungen umgeht\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von Lenkwaffen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Kapazität des Infrastruktur-Hangars des Schiffs\"\n            }\n          ], \n          \"header\": \"Upwell Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to Heavy Missile, Heavy Assault Missile and Rapid Light Missile Launcher cpu and powergrid fitting requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·can link to Orbital Skyhook Reagent Silos bypassing the normal ship class restrictions\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to missile damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship infrastructure hold capacity\"\n            }\n          ], \n          \"header\": \"Upwell Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción a los requisitos de equipamiento de sistema de potencia y CPU de los lanzamisiles pesados, los lanzamisiles de asalto pesados y los lanzamisiles ligeros rápidos.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·puede enlazar a los depósitos de reactivos de ganchos orbitales burlando las restricciones normales de clase de la nave\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de los misiles.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la capacidad de la bodega de infraestructura de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías de Upwell (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction des prérequis de montage de CPU et de réseau d'alimentation pour les missiles lourds, missiles d'assaut lourds et lance-missiles légers rapides\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·peut établir un lien avec les silos de réactifs du grappin orbital en contournant les restrictions habituelles du vaisseau\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus aux dégâts des missiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de la baie d'infrastructure du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transport Upwell :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to Heavy Missile, Heavy Assault Missile and Rapid Light Missile Launcher cpu and powergrid fitting requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·can link to Orbital Skyhook Reagent Silos bypassing the normal ship class restrictions\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to missile damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship infrastructure hold capacity\"\n            }\n          ], \n          \"header\": \"Upwell Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ヘビーミサイル、ヘビーアサルトミサイル、そして高速ライトミサイルランチャーを装備した際のCPUとパワーグリッドの使用量が減少\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·通常の艦船クラス制限を受けることなく、軌道スカイフックの反応試剤サイロに接続可能\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ミサイルの与えるダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のインフラホールド容量が増加\"\n            }\n          ], \n          \"header\": \"アップウェルのハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"헤비 미사일, 헤비 어썰트 미사일, 급속 라이트 미사일 런처 CPU 및 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·함선 제한에 영향을 받지 않으며 궤도 스카이훅의 촉매 사일로와 연결할 수 있습니다.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"미사일 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"구조물 격납고 적재량 증가\"\n            }\n          ], \n          \"header\": \"업웰 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"снижение требований к мощности ЦПУ и реактора для пусковых установок тяжёлых ракет, тяжёлых штурмовых ракет и лёгких скорострельных ракет\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"замедление накопления усталости от гиперпрыжков\"\n          }, \n          {\n            \"text\": \"·даёт доступ к хранилищу реагентов орбитального подъёмника в обход стандартных ограничений по классам кораблей\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к урону от ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к вместимости логистического отсека\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Upwell Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少对重型导弹、重型攻击导弹和快速轻型导弹发射器的CPU和能量栅格的装配要求\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·可以绕过一般舰船限制，直接连接到轨道天钩试剂储藏库\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"导弹伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船基础设施舱容量加成\"\n            }\n          ], \n          \"header\": \"昇威运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 81008\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Transferreichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer transfer range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance de transferencia del nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux points de dégâts et points de vie du Drone\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée de transfert du Nosferatu à énergie et du neutraliseur d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer transfer range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイント、ダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの転送範囲が改善\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器传输范围加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34457\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts à la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型エネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34459\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Verbraucht eine Einheit Strontiumclathrat pro Durchlauf\"\n          }, \n          {\n            \"text\": \"·Während dieses Modul aktiviert ist, können Sie nicht in den Tarnmodus oder Warp gehen, springen oder andocken\"\n          }, \n          {\n            \"text\": \"·Solange ein Entosis-Netzwerk aktiv ist, können Capital-Schiffe keine Fernunterstützung erhalten.\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Consumes one unit of Strontium Clathrates each cycle\"\n          }, \n          {\n            \"text\": \"·While this module is active you will be unable to cloak, warp, jump, or dock\"\n          }, \n          {\n            \"text\": \"·Capital ships cannot receive remote assistance while they have an Entosis Link active.\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Consume una unidad de clatrato de estroncio en cada ciclo.\"\n          }, \n          {\n            \"text\": \"·Mientras este módulo está activo, no puedes camuflarte, warpear, saltar ni acoplar la nave.\"\n          }, \n          {\n            \"text\": \"·Las naves capitales no pueden recibir asistencia remota mientras tienen un enlace de entosis activo.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Consomme 1 unité de clathrates de strontium par cycle\"\n          }, \n          {\n            \"text\": \"·Tant que ce module est actif, vous ne pouvez pas vous camoufler, warper, sauter ou amarrer.\"\n          }, \n          {\n            \"text\": \"·Les vaisseaux capitaux ne peuvent recevoir d'assistance à distance tant que leur liaison Entosis est active.\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Consumes one unit of Strontium Clathrates each cycle\"\n          }, \n          {\n            \"text\": \"·While this module is active you will be unable to cloak, warp, jump, or dock\"\n          }, \n          {\n            \"text\": \"·Capital ships cannot receive remote assistance while they have an Entosis Link active.\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·1サイクルにつきストロンチウム化合物を1ユニット消費\"\n          }, \n          {\n            \"text\": \"·このモジュールがアクティブになっている間、クローク、ワープ、ジャンプ、入港ができなくなる。\"\n          }, \n          {\n            \"text\": \"·主力艦はエントーシスリンクが有効な間、リモートサービスを受けることができない。\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·매 사이클마다 스트론튬 클라스레이트 1 유닛 소모\"\n          }, \n          {\n            \"text\": \"·모듈 활성화 시 클로킹, 워프, 점프 및 도킹 불가능\"\n          }, \n          {\n            \"text\": \"·캐피탈 함선은 엔토시스 링크가 활성화된 상태에서 원격 지원을 받을 수 없습니다.\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Каждый рабочий цикл модуля требует одну единицу клатратов стронция.\"\n          }, \n          {\n            \"text\": \"·Пока работает этот модуль, маскировка, гиперпрыжки, прыжки и стыковка будут недоступны\"\n          }, \n          {\n            \"text\": \"·Флагманские корабли с активным энтоз-передатчиком не могут принимать внешнюю поддержку.\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·每个周期消耗一个单位的锶包合物\"\n          }, \n          {\n            \"text\": \"·开启此装备后，船只无法隐形、跃迁、跳跃或停靠\"\n          }, \n          {\n            \"text\": \"·旗舰在激活侵噬链接时不能接受远程协助。\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 34593\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Verbraucht eine Einheit Strontiumclathrat pro Durchlauf\"\n          }, \n          {\n            \"text\": \"·Während dieses Modul aktiviert ist, können Sie nicht in den Tarnmodus oder Warp gehen, springen oder andocken\"\n          }, \n          {\n            \"text\": \"·Solange ein Entosis-Netzwerk aktiv ist, können Capital-Schiffe keine Fernunterstützung erhalten.\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Consumes one unit of Strontium Clathrates each cycle\"\n          }, \n          {\n            \"text\": \"·While this module is active you will be unable to cloak, warp, jump, or dock\"\n          }, \n          {\n            \"text\": \"·Capital ships cannot receive remote assistance while they have an Entosis Link active.\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Consume una unidad de clatrato de estroncio en cada ciclo.\"\n          }, \n          {\n            \"text\": \"·Mientras este módulo está activo, no puedes camuflarte, warpear, saltar ni acoplar la nave.\"\n          }, \n          {\n            \"text\": \"·Las naves capitales no pueden recibir asistencia remota mientras tienen un enlace de entosis activo.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Consomme 1 unité de clathrates de strontium par cycle\"\n          }, \n          {\n            \"text\": \"·Tant que ce module est actif, vous ne pouvez pas vous camoufler, warper, sauter ou amarrer.\"\n          }, \n          {\n            \"text\": \"·Les vaisseaux capitaux ne peuvent recevoir d'assistance à distance tant que leur liaison Entosis est active.\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Consumes one unit of Strontium Clathrates each cycle\"\n          }, \n          {\n            \"text\": \"·While this module is active you will be unable to cloak, warp, jump, or dock\"\n          }, \n          {\n            \"text\": \"·Capital ships cannot receive remote assistance while they have an Entosis Link active.\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·1サイクルにつきストロンチウム化合物を1ユニット消費\"\n          }, \n          {\n            \"text\": \"·このモジュールがアクティブになっている間、クローク、ワープ、ジャンプ、入港ができなくなる。\"\n          }, \n          {\n            \"text\": \"·主力艦はエントーシスリンクが有効な間、リモートサービスを受けることができない。\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·매 사이클마다 스트론튬 클라스레이트 1 유닛 소모\"\n          }, \n          {\n            \"text\": \"·모듈 활성화 시 클로킹, 워프, 점프 및 도킹 불가능\"\n          }, \n          {\n            \"text\": \"·캐피탈 함선은 엔토시스 링크가 활성화된 상태에서 원격 지원을 받을 수 없습니다.\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Каждый рабочий цикл модуля требует одну единицу клатратов стронция.\"\n          }, \n          {\n            \"text\": \"·Пока работает этот модуль, маскировка, гиперпрыжки, прыжки и стыковка будут недоступны\"\n          }, \n          {\n            \"text\": \"·Флагманские корабли с активным энтоз-передатчиком не могут принимать внешнюю поддержку.\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·每个周期消耗一个单位的锶包合物\"\n          }, \n          {\n            \"text\": \"·开启此装备后，船只无法隐形、跃迁、跳跃或停靠\"\n          }, \n          {\n            \"text\": \"·旗舰在激活侵噬链接时不能接受远程协助。\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 34595\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Doomsday-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann ein Phänomengenerator-Modul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Es kann ein Sprungtor-Generator-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es kann ein Klonbucht-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann drei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"text\": \"·Kann leichte und schwere Jäger starten\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden und die HP von Jägern\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf Widerstand gegen Sensordämpfer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf Widerstand gegen Waffenstörung\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Erhöhung der elektronischen Fernunterstützungsimpedanz\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Feuerrate von XL-Marschflugkörper- und XL-Torpedowerfern\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Caldari Titan Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"Bonus auf den Thermal- und Kinetikschaden von XL-Marschflugkörpern und XL-Torpedos\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"Bonus auf den EM- und Explosionsschaden von XL Marschflugkörpern und XL Torpedos\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Titan Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Fighter damage and hitpoints\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to XL Cruise Missile and XL Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Caldari Titan bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"bonus to thermal and kinetic XL Cruise and XL Torpedo damage\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus to EM and explosive XL Cruise and XL Torpedo damage\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Gallente Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo apocalíptico.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de fenómenos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de portales de salto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de plataforma de contenedores de clonación.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar tres módulos de estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Puede lanzar cazas ligeros y pesados.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño y los puntos de vida de los cazas.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de disrupción de armas.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la cadencia de tiro de los lanzamisiles de crucero XL y los lanzatorpedos XL.\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Titán caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"de bonificación al daño térmico y cinético de los misiles de crucero XL y los torpedos XL.\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"de bonificación al daño electromagnético y explosivo de los misiles de crucero XL y los torpedos XL.\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Titán gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'une arme d'annihilation\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un module de générateur de phénomènes\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un générateur de portail interstellaire\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'une plateforme de clonage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser trois salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut lancer des chasseurs légers et lourds\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts et aux points de vie des chasseurs\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux perturbateurs d'armement\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de pénalité de durée à la liaison Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"augmente la cadence de tir des lance-missiles de croisière XL et des lance-torpilles XL\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Titan caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"de bonus aux dégâts thermiques et cinétiques des missiles de croisière XL et des torpilles XL\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus aux dégâts EM et explosifs de missiles de croisière XL et des torpilles XL\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Titan gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Fighter damage and hitpoints\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to XL Cruise Missile and XL Torpedo Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Caldari Titan bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"bonus to thermal and kinetic XL Cruise and XL Torpedo damage\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus to EM and explosive XL Cruise and XL Torpedo damage\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Gallente Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ドゥームズデイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·現象ジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·ジャンプポータルジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·クローンバットベイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールが3個使える\"\n          }, \n          {\n            \"text\": \"·軽・重戦闘機が発艦可能\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"艦載戦闘機のダメージとHPにボーナス\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"アーマープレートとシールドエクステンダーにボーナス\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"センサーダンプナー耐性にボーナス\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"兵器妨害耐性が増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"ステイシスウェビファイヤー耐性が増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"リモートエレクトリックアシスタンスの電気抵抗が増大\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクの持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"XLクルーズミサイル、XLトルピードランチャーの発射間隔にボーナス\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"艦船のワープコア強度が増加\"\n            }\n          ], \n          \"header\": \"カルダリタイタンボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"サーマル、キネティックXLクルーズとXLトルピードダメージにボーナス\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"EM、エクスプローシブXLクルーズとXLトルピードダメージにボーナス\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"艦船のワープコア強度が増加\"\n            }\n          ], \n          \"header\": \"ガレンテタイタンボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·둠스데이모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·특이점 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 포탈 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 클론 격납고 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·세개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"text\": \"·라이트 파이터 및 헤비 파이터 (파이터) 사출 가능\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"파이터 피해량 및 내구도 증가\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"센서 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"무기 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"XL 크루즈 미사일 및 XL 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 타이탄 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"XL 크루즈 미사일, XL 토피도 열 및 키네틱 피해량 증가\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"XL 크루즈 미사일, XL 토피도 EM 및 폭발 피해량 증가\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"갈란테 타이탄 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться орудиями Судного дня\"\n          }, \n          {\n            \"text\": \"·Позволяет установить модуль генератора аномалий\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться генераторами гиперпорталов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться отсеками клонирования\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до трёх импульсных оптимизаторов\"\n          }, \n          {\n            \"text\": \"·Подходит для запуска лёгких и тяжёлых истребителей\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к урону и запасу прочности истребителя\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 500%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию помех на системы наводки вооружения\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"бонус к скорострельности пусковых установок для сверхбольших дальнобойных ракет и сверхбольших торпед\"\n            }, \n            {\n              \"number\": \"на 6+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские титаны:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 50%\", \n              \"text\": \"бонус к термальному и кинетическому урону сверхбольших дальнобойных ракет и сверхбольших торпед\"\n            }, \n            {\n              \"number\": \"на 40%\", \n              \"text\": \"бонус к взрывному и ЭМ-урону сверхбольших дальнобойных ракет и сверхбольших торпед\"\n            }, \n            {\n              \"number\": \"на 6+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские титаны:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个末日武器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个现象发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个克隆舱装备\"\n          }, \n          {\n            \"text\": \"·可以装配三个指挥脉冲波装备\"\n          }, \n          {\n            \"text\": \"·可释放轻型和重型 铁骑舰载机\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"铁骑舰载机伤害和HP加成\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"武器干扰抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"超大型巡航导弹和超大型鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"加达里泰坦操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"超大型巡航导弹、超大型鱼雷热能和动能伤害加成\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"超大型巡航导弹、超大型鱼雷电磁和爆炸伤害加成\"\n            }, \n            {\n              \"number\": \"6+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"盖伦特泰坦操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45649\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Triage-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Kommandostrahl-Modulen\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"Bonus auf Transfermenge und HP von Versorgungsdrohnen\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }, \n          {\n            \"text\": \"·Es kann nur ein Energiespeicherbooster-Modul online sein\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Leistung von Capital-Schildfernboostern\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Menge von Energiespeicherboostern \"\n            }\n          ], \n          \"header\": \"Gallente Carrier Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Triage module\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CPU requirements for Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"bonus to Logistics Drone transfer amount and hitpoints\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }, \n          {\n            \"text\": \"·Can only online one Capacitor Booster module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Capacitor Booster amount \"\n            }\n          ], \n          \"header\": \"Gallente Carrier bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de triaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de los requisitos de CPU de los módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"de bonificación a la cantidad de transferencia y los puntos de vida de los drones logísticos.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }, \n          {\n            \"text\": \"·Solo puede conectar un módulo de potenciador de condensador.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo remotos capitales.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad de potenciadores de condensador. \"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de triage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la charge CPU requise pour les modules salve commandante\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"de bonus à la quantité de transfert et aux dégâts des drones logistiques\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de pénalité de durée à la liaison Entosis\"\n          }, \n          {\n            \"text\": \"·Ne peut mettre en ligne qu'un seul module de booster de capaciteur\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au montant du booster de bouclier à distance capital\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus au montant du booster de capaciteur \"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Triage module\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in CPU requirements for Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"bonus to Logistics Drone transfer amount and hitpoints\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }, \n          {\n            \"text\": \"·Can only online one Capacitor Booster module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Remote Shield Booster amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Capacitor Booster amount \"\n            }\n          ], \n          \"header\": \"Gallente Carrier bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·トリアージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールが2個使える\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストモジュールのCPU使用率を軽減\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"支援専門ドローン転送量とHPにボーナス\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクの持続時間にペナルティ\"\n          }, \n          {\n            \"text\": \"·オンラインにできるキャパシタブースターモジュールは1つだけです\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルリモートシールドブースター量が増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"キャパシタブースター量にボーナス \"\n            }\n          ], \n          \"header\": \"ガレンテ艦載機母艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·트리아지 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 모듈 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"로지스틱스 드론 수리량 및 내구도 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }, \n          {\n            \"text\": \"·하나의 캐패시터 부스터만 온라인 상태로 전환할 수 있습니다\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 원격 실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"캐패시터 부스터 회복량 증가 \"\n            }\n          ], \n          \"header\": \"갈란테 캐리어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами ремонтного профиля\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается потребность импульсных оптимизаторов в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 1000%\", \n            \"text\": \"бонус к производительности и запасу прочности дронов снабжения\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }, \n          {\n            \"text\": \"·Можно включить только один модуль инъектора накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к эффективности флагманских модулей дистанционного усиления щитов\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к эффективности инъекторов накопителя \"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские КАРы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к общей сопротивляемости щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战型紧急修复增强模块\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波CPU需求降低\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"1000%\", \n            \"text\": \"后勤无人机传输量和HP加成\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }, \n          {\n            \"text\": \"·只能启用一个电容注电器装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级远程护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"电容注电器注电量加成 \"\n            }\n          ], \n          \"header\": \"盖伦特航空母舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45645\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Belagerungsmodul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann leichte Jäger starten\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden und die HP von Jägern\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf Thermal- und Kinetikschaden von XL Marschflugkörpern, XL Torpedos und Torpedos\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Can launch Light Fighters\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Fighter damage and hitpoints\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to thermal and kinetic XL Cruise, XL Torpedo and Torpedo damage\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"text\": \"·Es posible lanzar cazas ligeros.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño y los puntos de vida de los cazas.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño cinético y térmico de los misiles de crucero XL, los torpedos XL y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"text\": \"·Peut lancer des chasseurs légers\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts et aux points de vie des chasseurs\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de pénalité du temps de cycle à la liaison Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts thermiques et cinétiques du missile de croisière XL, de la torpille XL et de la torpille\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Can launch Light Fighters\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Fighter damage and hitpoints\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to thermal and kinetic XL Cruise, XL Torpedo and Torpedo damage\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·ライト艦載戦闘機が発艦可能\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"艦載戦闘機のダメージとHPにボーナス\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"サーマルとキネティックXLクルーズ、XLトルピード、トルピードダメージにボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ攻城艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·라이트 파이터(파이터) 사출 가능\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"파이터 피해량 및 내구도 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"XL 크루즈 미사일, XL 토피도, 토피도 열 및 키네틱 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 드레드노트 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами осадного профиля\"\n          }, \n          {\n            \"text\": \"·Подходит для запуска лёгких истребителей\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к урону и запасу прочности истребителя\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к термальному и кинетическому урону дальнобойных ракет сверхбольшой мощности, торпед сверхбольшой мощности и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские дредноуты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"text\": \"·可释放轻型 铁骑舰载机\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"铁骑舰载机伤害和HP加成\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"热能和动能超大型巡航导弹、超大型鱼雷和鱼雷伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特无畏舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45647\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können entwendete Sansha Daten-Analysegeräte eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Purloined Sansha Data Analyzer\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un analizador de datos Purloined Sansha.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper 1 analyseur de données sansha volé\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Purloined Sansha Data Analyzer\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·盗品のサンシャデータアナライザーを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·도난당한 산샤 데이터 분석기 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться трофейными саншистскими КАДами (комплексами анализа данных)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配缴获的萨沙数据分析仪\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 3532\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"37.5%\", \n            \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Stasisnetzen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von großen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Large Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad de la red ralentizadora.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonus aux dégâts des grandes tourelles hybrides\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité des générateurs de stase\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des grandes tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Large Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"37.5%\", \n            \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ステイシスウェビファイアの効果が増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"37.5%\", \n            \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"스테이시스 웹 생성기 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 37.5%\", \n            \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия стазис-индукторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"37.5%\", \n            \"text\": \"大型混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"停滞缠绕光束效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17740\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"525%\", \n            \"text\": \"Bonus auf die Reichweite von mutadaptiven Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Energiespeicher-Ferntransmissionen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energiespeicher-Ferntransmissionen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"Bonus auf die Menge von mutadaptiven Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduzierter Energiespeicherverbrauch von mutadaptiven Panzerungs-Fernreparatursystemen\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"525%\", \n            \"text\": \"bonus to Mutadaptive Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Capacitor Transfer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Capacitor Transfer capacitor need\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Mutadaptive Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduced Mutadaptive Remote Armor Repairer capacitor need\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"525%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto mutadaptativo.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del transmisor de condensador remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje remotos mutadaptativos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto mutadaptativo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero precursor (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"525%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance muta-adaptatif\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée de transfert du capaciteur à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du transfert du capaciteur à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonus à la quantité du réparateur de blindage à distance muta-adaptatif\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de précursion :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"525%\", \n            \"text\": \"bonus to Mutadaptive Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Capacitor Transfer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Capacitor Transfer capacitor need\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Mutadaptive Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduced Mutadaptive Remote Armor Repairer capacitor need\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"525%\", \n            \"text\": \"変異順応性リモートアーマーリペアラの有効範囲が拡大\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートキャパシタ移送の有効範囲が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートキャパシタ移送の必要キャパシタが減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"変異順応性リモートアーマーリペアラの回復量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"変異順応性リモートアーマーリペアラの必要キャパシタが減少\"\n            }\n          ], \n          \"header\": \"プリカーサー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"525%\", \n            \"text\": \"뮤타적응성 원격 장갑수리 장치 사거리 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 캐패시터 전송기 사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 캐패시터 전송기 캐패시터 사용량 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"뮤타적응성 원격 장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"뮤타적응성 원격 장갑수리 장치 캐패시터 사용량 감소\"\n            }\n          ], \n          \"header\": \"프리커서 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 525%\", \n            \"text\": \"бонус к дальности действия мутадаптивного модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности действия модуля дистанционного пополнения накопителя\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного пополнения накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 12.5%\", \n              \"text\": \"бонус к эффективности мутадаптивного модуля дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"снижено потребление накопителя для мутадаптивного модуля дистанционного ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Cruiser:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"525%\", \n            \"text\": \"突变适应远程装甲维修器距离加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"远程电容传输距离加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程电容传输电容需求降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"突变适应远程装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"突变适应远程装甲维修器电容需求降低\"\n            }\n          ], \n          \"header\": \"先驱者巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 49712\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Energiespeicher-Ferntransmissionen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energiespeicher-Ferntransmissionen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Versorgungsdrohnen\"\n            }, \n            {\n              \"number\": \"100%\", \n              \"text\": \"Bonus auf die Reichweite von mutadaptiven Panzerungs-Fernreparatursystemen\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Menge von mutadaptiven Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduzierter Energiespeicherverbrauch von mutadaptiven Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die HP der Panzerplatte\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus Remote Capacitor Transfer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Capacitor Transfer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"100%\", \n              \"text\": \"bonus to Mutadaptive Remote Armor Repairer range\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Mutadaptive Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduced Mutadaptive Remote Armor Repairer capacitor need\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Plate hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad de transferencia de los drones logísticos.\"\n            }, \n            {\n              \"number\": \"100%\", \n              \"text\": \"de bonificación al alcance del reparador de blindaje remoto mutadaptativo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero precursor (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje remotos mutadaptativos.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto mutadaptativo.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros logísticos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée de transfert du capaciteur à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du transfert du capaciteur à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la capacité de transport du drone logistique\"\n            }, \n            {\n              \"number\": \"100%\", \n              \"text\": \"de bonus à la portée du réparateur de blindage à distance muta-adaptatif\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de précursion :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité du réparateur de blindage à distance muta-adaptatif\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs logistiques :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus Remote Capacitor Transfer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Capacitor Transfer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Logistic Drone transfer amount\"\n            }, \n            {\n              \"number\": \"100%\", \n              \"text\": \"bonus to Mutadaptive Remote Armor Repairer range\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Mutadaptive Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduced Mutadaptive Remote Armor Repairer capacitor need\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Plate hitpoints\"\n            }\n          ], \n          \"header\": \"Logistics Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートキャパシタ移送の有効範囲が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートキャパシタ移送の必要キャパシタが減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"支援専門ドローン転送量にボーナス\"\n            }, \n            {\n              \"number\": \"100%\", \n              \"text\": \"変異順応性リモートアーマーリペアラの有効範囲が拡大\"\n            }\n          ], \n          \"header\": \"プリカーサー巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"変異順応性リモートアーマーリペアラの回復量が増加\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"変異順応性リモートアーマーリペアラの必要キャパシタが減少\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマープレートHPが増加\"\n            }\n          ], \n          \"header\": \"支援型巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 캐패시터 전송기 사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 캐패시터 전송기 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"로지스틱스 드론 수리량 증가\"\n            }, \n            {\n              \"number\": \"100%\", \n              \"text\": \"뮤타적응성 원격 장갑수리 장치 사거리 증가\"\n            }\n          ], \n          \"header\": \"프리커서 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"뮤타적응성 원격 장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"뮤타적응성 원격 장갑수리 장치 캐패시터 사용량 감소\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑 플레이트 내구도 증가\"\n            }\n          ], \n          \"header\": \"로지스틱스 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности действия модуля дистанционного пополнения накопителя\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного пополнения накопителя\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к производительности дронов снабжения\"\n            }, \n            {\n              \"number\": \"на 100%\", \n              \"text\": \"бонус к дальности действия мутадаптивного модуля дистанционного ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Cruiser:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к эффективности мутадаптивного модуля дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"снижено потребление накопителя для мутадаптивного модуля дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к прочности бронеплиты\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Корабли обеспечения:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"远程电容传输距离加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程电容传输电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"后勤无人机维修量加成\"\n            }, \n            {\n              \"number\": \"100%\", \n              \"text\": \"突变适应远程装甲维修器距离加成\"\n            }\n          ], \n          \"header\": \"先驱者巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"突变适应远程装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"突变适应远程装甲维修器电容需求降低\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲板装甲值加成\"\n            }\n          ], \n          \"header\": \"后勤巡洋舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 49713\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von leichten entropischen Desintegratoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bombs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Panzerungs-Fernreparatursystemen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf den Schaden von leichten entropischen Desintegratoren\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von leichten entropischen Desintegratoren\"\n            }\n          ], \n          \"header\": \"Precursor Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Light Entropic Disintegrator optimal range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Light Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Light Entropic Disintegrator optimal range\"\n            }\n          ], \n          \"header\": \"Precursor Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo del desintegrador entrópico ligero.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al daño del desintegrador entrópico ligero.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo del desintegrador entrópico ligero.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor precursor (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale du désintégrateur entropique léger\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus aux dégâts du désintégrateur entropique léger\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale du désintégrateur entropique léger\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer de précursion :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Light Entropic Disintegrator optimal range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Light Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Light Entropic Disintegrator optimal range\"\n            }\n          ], \n          \"header\": \"Precursor Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"ライトエントロピックディスインテグレーターの最適射程距離増大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遠隔アーマーリペアラキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの有効範囲が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"ライトエントロピックディスインテグレーターのダメージ上昇\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ライトエントロピックディスインテグレーターの最適射程距離増大\"\n            }\n          ], \n          \"header\": \"プリカーサー駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"라이트 엔트로픽 분열기 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"라이트 엔트로픽 분열기 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"라이트 엔트로픽 분열기 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"프리커서 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к оптимальной дальности лёгких энтропических дезинтеграторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности дистанционного ремонта брони\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 25%\", \n              \"text\": \"бонус к урону от лёгких энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к оптимальной дальности лёгких энтропических дезинтеграторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Destroyer:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"轻型熵能分解者最佳射程加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器距离加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"轻型熵能分解者伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"轻型熵能分解者最佳射程加成\"\n            }\n          ], \n          \"header\": \"先驱者驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 49710\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahlen-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite von schweren entropischen Desintegratoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Panzerungs-Fernreparatursystemen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von schweren entropischen Desintegratoren\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Precursor Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Heavy Entropic Disintegrator optimal range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Precursor Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación al alcance óptimo del desintegrador entrópico pesado.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño del desintegrador entrópico pesado.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate precursor (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser un module de salve de commandement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale du désintégrateur entropique lourd\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts du désintégrateur entropique lourd\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur cuirassé de précursion :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Heavy Entropic Disintegrator optimal range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Precursor Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールが1個使える\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ヘビーエントロピックディスインテグレーターの最適射程距離が上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遠隔アーマーリペアラキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの有効範囲が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーエントロピックディスインテグレーターのダメージ上昇\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"プリカーサー巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"헤비 엔트로픽 분열기 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 엔트로픽 분열기 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"프리커서 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Может использовать один модуль импульсного оптимизатора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к оптимальной дальности тяжёлых энтропических дезинтеграторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для импульсного излучателя\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности дистанционного ремонта брони\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону от тяжёлых энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к сопротивляемости брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Battlecruiser:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"重型熵能分解者最佳射程加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器距离加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"重型熵能分解者伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"先驱者战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 49711\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des Stromnetzbedarfs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Reaktivierungsverzögerung von Abfangwerfern\"\n          }, \n          {\n            \"text\": \"·Kann Mikrosprungfeldgeneratoren ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Hochfahrzeit von Mikrosprungfeldgeneratoren\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Schildkommando- und Informationkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Destroyers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid requirements for Command Bursts\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in reactivation delay for Defender Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command and Information Command Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia para los estallidos de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la demora de reactivación de los lanzamisiles defensivos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar generadores de campo de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de carga del generador de campo de microsalto.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto del estallido de mando de escudo y mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructores de mando (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction de la consommation en réseau d'alimentation des salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature du propulseur de microwarp\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du délai de réactivation des lanceurs antibalistiques.\"\n          }, \n          {\n            \"text\": \"·Peut contenir des générateurs de champ de microsaut\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de réactivation du générateur de champ de microsaut\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers et de commandement électronique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyers de commandement :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid requirements for Command Bursts\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in reactivation delay for Defender Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command and Information Command Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"コマンドバーストのパワーグリッド要件が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"迎撃ランチャーの再起動遅延時間を短縮\"\n          }, \n          {\n            \"text\": \"·マイクロジャンプフィールドジェネレーターを装備できる\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ライト ミサイル と ロケット のダメージにボーナス付与\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"マイクロジャンプフィールドジェネレーターの起動準備時間を短縮\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"シールドコマンドバーストと情報戦コマンドバーストの効果強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"指揮型駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"커맨드 버스트 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"디펜더 런처 사이클 감소\"\n          }, \n          {\n            \"text\": \"·마이크로 점프 필드 생성기들을 장착할 수 있음\"\n          }, \n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일 및 로켓 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 디스트로이어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"마이크로 점프 필드 생성기 예열 시간 감소\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"실드 버스트 및 정보전 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность импульсных оптимизаторов в мощностях реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается задержка повторного включения ПУ противоракет\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться генераторами разгонного поля\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон БЧ лёгких ракет и лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские эсминцы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла (время разогрева после запуска) генераторов разгонного поля\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов и импульсными оптимизаторами РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Лидеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"指挥脉冲波能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚减少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"缩短拦截导弹发射器的重启延时\"\n          }, \n          {\n            \"text\": \"·可以装配微型跳跃力场发生器\"\n          }, \n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里驱逐舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"微型跳跃力场发生器加速时间减少\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"护盾指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37482\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des Stromnetzbedarfs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Reaktivierungsverzögerung von Abfangwerfern\"\n          }, \n          {\n            \"text\": \"·Kann Mikrosprungfeldgeneratoren ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Hochfahrzeit von Mikrosprungfeldgeneratoren\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Schildkommando- und Gefechtkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Command Destroyers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid requirements for Command Bursts\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in reactivation delay for Defender Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command and Skirmish Command Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los requisitos del sistema de potencia para los estallidos de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la demora de reactivación de los lanzamisiles defensivos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar generadores de campo de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de carga del generador de campo de microsalto.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto del estallido de mando de escudo y mando de escaramuza.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructores de mando (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction de la consommation en réseau d'alimentation des salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature du propulseur de microwarp\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction du délai de réactivation des lanceurs antibalistiques.\"\n          }, \n          {\n            \"text\": \"·Peut contenir des générateurs de champ de microsaut\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de réactivation du générateur de champ de microsaut\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers et de commandement tactique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyers de commandement :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in powergrid requirements for Command Bursts\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in reactivation delay for Defender Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Micro Jump Field Generators\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Micro Jump Field Generator spool up time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command and Skirmish Command Burst effect strength and duration\"\n            }\n          ], \n          \"header\": \"Command Destroyers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"コマンドバーストのパワーグリッド要件が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"迎撃ランチャーの再起動遅延時間を短縮\"\n          }, \n          {\n            \"text\": \"·マイクロジャンプフィールドジェネレーターを装備できる\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ライト ミサイル と ロケット のダメージにボーナス付与\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"ミンマター駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"マイクロジャンプフィールドジェネレーターの起動準備時間を短縮\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"シールドコマンドバーストと機動戦コマンドバーストの効果強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"指揮型駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"커맨드 버스트 파워그리드 요구치 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"디펜더 런처 사이클 감소\"\n          }, \n          {\n            \"text\": \"·마이크로 점프 필드 생성기들을 장착할 수 있음\"\n          }, \n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일 및 로켓 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"민마타 디스트로이어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"마이크로 점프 필드 생성기 예열 시간 감소\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"실드 커맨드 버스트 및 스커미시 버스트 효과 강화 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"커맨드 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность импульсных оптимизаторов в мощностях реактора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращается задержка повторного включения ПУ противоракет\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться генераторами разгонного поля\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон БЧ лёгких ракет и лёгких штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские эсминцы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла (время разогрева после запуска) генераторов разгонного поля\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов и импульсными оптимизаторами маневрирования\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Лидеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"95%\", \n            \"text\": \"指挥脉冲波能量栅格需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚减少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"缩短拦截导弹发射器的重启延时\"\n          }, \n          {\n            \"text\": \"·可以装配微型跳跃力场发生器\"\n          }, \n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔驱逐舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"微型跳跃力场发生器加速时间减少\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"护盾指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"指挥驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 37480\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblockern\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion in der Reaktivierungsverzögerung des Anti-Unterbrechers und max. Erfassungsreichweitenabzug\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Geschwindigkeitsbonus von Nachbrennern\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Interceptors Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la velocidad del posquemador.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interceptores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonus aux dégâts de la petite tourelle à énergie\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction et à la pénalité de portée de verrouillage maximale\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la petite tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus au bonus de vitesse du système de post-combustion\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature du propulseur de microwarp\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la portée optimale de l'inhibiteur de warp, et du perturbateur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Intercepteurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay and max lock range penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"小型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と最大ロック射程のペナルティ減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型エネルギータレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"アフターバーナーの速度ボーナスが上昇。\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"要撃型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"소형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍시스템 활성화 비용 감소\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 무효화 장치 재활성화 대기시간 및 최대 타겟팅 거리 페널티 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 무효화 장치 지속시간 보너스\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 에너지 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"애프터버너 속도 보너스 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"인터셉터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 250%\", \n            \"text\": \"увеличивается урон малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений и штрафа к максимальной дальности захвата цели\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается влияние форсажных ускорителей на скорость полёта корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Перехватчики:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"小型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟和最大锁定距离惩罚降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型能量炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"加力燃烧器速度增益加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器有效距离加成\"\n            }\n          ], \n          \"header\": \"截击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 35779\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Trägheitsmodifikator des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Kapazität des Schiffwartungshangars\"\n            }\n          ], \n          \"header\": \"ORE Freighter Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship maintenance bay capacity\"\n            }\n          ], \n          \"header\": \"ORE Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al modificador de inercia de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de la plataforma de mantenimiento de naves.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Carguero de ORE (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au modificateur d'inertie du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la plateforme de maintenance des vaisseaux\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transport de fret ORE :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship maintenance bay capacity\"\n            }\n          ], \n          \"header\": \"ORE Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の慣性修正乗数が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"船舶調整施設の容量が増加\"\n            }\n          ], \n          \"header\": \"ORE超大型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"관성 계수 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"함선 정비 격납고 적재량 증가\"\n            }\n          ], \n          \"header\": \"ORE 프레이터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается инертность конструкции корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается объём док-камеры\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Фрейтеры ОРЭ:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船惯性调整系数加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船维护舱容量加成\"\n            }\n          ], \n          \"header\": \"外空联合矿业货舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34328\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann großen Industriekern ausrüsten\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von Drohnen\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"Bonus auf die Reichweite von Schildfernboostern\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Kann drei Kommandostrahl-Module ausrüsten\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommando- und Bergbauvorarbeiterstrahlen\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"Bonus auf die Reichweite von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"text\": \"·kann mit stationierbaren mobilen Phasenankern verbunden werden, die 50 Energiepunkte gewähren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Kapazität der Fracht- und Erzfrachträume des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion des Treibstoffverbrauchs für Große Industriekerne\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Bergbauvorarbeiterstrahlen\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"Bonus auf Effektstärke und Dauer von Schildkommandostrahlen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP von und den Schaden durch Drohnen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Erzausbeute von Drohnen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Eisschürfzeit von Drohnen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Reichweite von Bergbauvorarbeiterstrahlen\"\n            }\n          ], \n          \"header\": \"Industrial Command Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Large Industrial Core\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Drone damage\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Remote Shield Booster optimal range\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Can fit three Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command and Mining Foreman Burst area of effect range\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Tractor Beam range\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam velocity\"\n          }, \n          {\n            \"text\": \"·can connect to Mobile Phase Anchor deployables, providing 50 points of power\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo and ore hold capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in fuel consumption for Large Industrial Core\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Mining Foreman Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Shield Command Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Drone ore mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Drone ice harvesting cycle time\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus in Mining Foreman Burst range\"\n            }\n          ], \n          \"header\": \"Industrial Command Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un núcleo industrial grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de los drones.\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonificación al alcance óptimo del potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar tres módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción de los estallidos de mando y de capataz minero.\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonificación al alcance de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"text\": \"·Es posible conectarse a desplegables de anclaje de fase móvil, lo que proporciona 50 puntos de potencia.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de la bodega y el almacén de menas de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del consumo de combustible del núcleo industrial grande.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto del estallido de capataz minero.\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonificación a la intensidad y la duración del efecto del estallido de mando de escudo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la extracción de menas de los drones.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de tiempo de ciclo de recolección de hielo de los drones.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance del estallido de capataz minero.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando industriales (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser des grandes cellules industrielles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des drones\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonus à la portée optimale des boosters de bouclier à distance.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·Peut équiper trois salves de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de contremaîtrise minière.\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonus à la portée des rayons de tractage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la vitesse des rayons de tractage\"\n          }, \n          {\n            \"text\": \"·peut se connecter à la structure déployable ancrage de phase mobile, fournissant 50 points d'énergie\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux capacités de la soute et de la soute à minerai du vaisseau.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la consommation de carburant des grandes cellules industrielles\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de contremaîtrise minière.\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux points de vie des drones\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus au rendement d'extraction de minerai des drones\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction de la durée de cycle de collecte de glace des drones.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus de portée des salves de contremaîtrise d'extraction\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement industriels :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Large Industrial Core\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Drone damage\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Remote Shield Booster optimal range\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Can fit three Command Burst modules\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command and Mining Foreman Burst area of effect range\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Tractor Beam range\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam velocity\"\n          }, \n          {\n            \"text\": \"·can connect to Mobile Phase Anchor deployables, providing 50 points of power\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo and ore hold capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in fuel consumption for Large Industrial Core\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Mining Foreman Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Shield Command Burst effect strength and duration\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Drone ore mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Drone ice harvesting cycle time\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus in Mining Foreman Burst range\"\n            }\n          ], \n          \"header\": \"Industrial Command Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·大型工業コアを装備可能\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"ドローンダメージが上昇\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"リモートシールドブースターの最適射程距離が改善\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは3個装備可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストと採掘支援バーストの効果範囲が上昇\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"トラクタービームの範囲が拡大\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの速度が上昇\"\n          }, \n          {\n            \"text\": \"·配置可能物「移動式位相アンカー」に接続し、50ポイントの電力を供給可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量と鉱石容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型工業コアの燃料消費量の減少\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"採掘支援バーストの強度と持続時間が上昇\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"シールドコマンドバーストの効果強度と持続時間が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージにボーナス\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ドローンの鉱石採掘量にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ドローンの氷採集サイクル時間が減少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"採掘支援バーストの範囲にボーナス\"\n            }\n          ], \n          \"header\": \"指揮型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·대형 인더스트리얼 코어 장착 가능\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"드론 피해량 증가\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"원격 실드 부스터 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·세 개의 커맨드 버스트 모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"지휘 및 채굴 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"트랙터 빔 사거리 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 속도 증가\"\n          }, \n          {\n            \"text\": \"·배치된 이동식 위상 고정기 연결 가능, 전력 50 제공\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물실 및 광물 저장고 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 인더스트리얼 코어 연료 소모량 감소\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"채광 버스트 효과 및 지속시간 증가\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"실드 버스트 효과 강화 및 지속시간 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"드론 채굴량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"드론 아이스 채굴 사이클 시간 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"채광 버스트 사거리 증가\"\n            }\n          ], \n          \"header\": \"인더스트리얼 커맨드쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможна установка большого промышленного ядра\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон бортового оружия дронов\"\n          }, \n          {\n            \"number\": \"на 400%\", \n            \"text\": \"увеличивается оптимальная дальность действия установок дистанционной накачки щитов\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·На борт кораблей этого типа разрешается устанавливать до трёх импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами (боевыми и добывающими)\"\n          }, \n          {\n            \"number\": \"на 250%\", \n            \"text\": \"увеличивается оптимальная дальность действия гравизахватов\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается скорость перемещения груза гравизахватами\"\n          }, \n          {\n            \"text\": \"·можно подключить к мобильному фазовому якорю, обеспечив приток в 50 единиц энергии\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека и отсека для руды корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"снижение потребления топлива большим промышленным ядром\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами добычи\"\n            }, \n            {\n              \"number\": \"на 1%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону и запасу прочности дронов\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"бонус к объёмам добычи руды дронами\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла дронов для добычи льда\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличение радиуса действия буровых импульсных оптимизаторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Флагманы буровых флотилий:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配大型工业核心\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"无人机伤害加成\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"远程护盾回充增量器最佳射程加成\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"text\": \"·可以装配三个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波和开采先锋脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"250%\", \n            \"text\": \"牵引光束距离加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束牵引速度加成\"\n          }, \n          {\n            \"text\": \"·可以连接到移动相位锚标可部署设备，提供50点能量\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货舱和矿石舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型工业核心燃料消耗降低\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"开采先锋脉冲波的效果强度和持续时间加成\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"护盾指挥脉冲波效果强度和持续时间加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP和伤害加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"无人机采矿量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"无人机冰矿开采循环时间缩短\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"开采先锋脉冲波范围加成\"\n            }\n          ], \n          \"header\": \"工业指挥舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 28606\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Unterbrechungsfeldwerfer eingebaut werden\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }\n          ], \n          \"header\": \"Interdictors Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die HP der Panzerung\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von leichten Lenkwaffenwerfern und Raketenwerfern\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Interdiction Sphere Launcher\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Interdictors bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to armor hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile launcher and Rocket launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un lanzaesferas de interdicción.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interdictores (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a los puntos de vida del blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonificación a la cadencia de tiro de los lanzamisiles ligeros y los lanzacohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper un lanceur de sphère d'interdiction\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Interdicteurs :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux points de vie du blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir du lance-missiles léger et du lance-roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Interdiction Sphere Launcher\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Interdictors bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to armor hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile launcher and Rocket launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·インターディクションスフィアランチャーを装備できる\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }\n          ], \n          \"header\": \"ワープ妨害型駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"アーマーHPが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイルランチャーとロケットランチャーの発射速度が上昇\"\n            }\n          ], \n          \"header\": \"アマー駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·인터딕션 런처 장착 가능\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }\n          ], \n          \"header\": \"인터딕터 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"장갑 내구도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일 런처 및 로켓 런처 연사속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться пусковыми установками зондов варп-заграждения\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Заградительные эсминцы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"бонус к запасу прочности брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорострельность ПУ лёгких ракет и лёгких штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以安装拦截泡发射器\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }\n          ], \n          \"header\": \"拦截舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"装甲值加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型导弹发射器和火箭发射器射速加成\"\n            }\n          ], \n          \"header\": \"艾玛驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22452\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la portée optimale de la grande tourelle hybride\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33629\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Unterbrechungsfeldwerfer eingebaut werden\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }\n          ], \n          \"header\": \"Interdictors Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Interdiction Sphere Launcher\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Interdictors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un lanzaesferas de interdicción.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interdictores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des lanceurs de sphère d'interdiction\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des petites tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Interdicteurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Interdiction Sphere Launcher\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }\n          ], \n          \"header\": \"Interdictors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·インターディクションスフィアランチャーを装備できる\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }\n          ], \n          \"header\": \"ワープ妨害型駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·인터딕션 런처 장착 가능\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 디스트로이어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }\n          ], \n          \"header\": \"인터딕터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться пусковыми установками зондов варп-заграждения\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские эсминцы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Заградительные эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以安装拦截泡发射器\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔驱逐舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }\n          ], \n          \"header\": \"拦截舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22456\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Medium Projectile Turret optimal range and falloff\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship max velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta de proyectiles mediana.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale et à la distance de perte des tourelles à projectiles intermédiaires\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Medium Projectile Turret optimal range and falloff\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship max velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"中型プロジェクタイルタレットの最適射程距離と精度低下範囲が拡大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船の最高速度が上昇\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"中型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"중형 발사체 터렛 최적사거리 및 유효사거리 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"최대 속도 증가\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность ведения огня из средних баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"увеличивается скорость полного хода корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон боеприпасов средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"中型射弹炮台最佳射程和失准范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船最大速度加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32209\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型エネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33623\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Nachbrennern und Mikrowarpantrieben\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret falloff\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction in Afterburner and Microwarpdrive activation cost\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de reducción del coste de activación del posquemador y el motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de distance de perte des petites tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de réduction au coût d'activation de la post-combustion et des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonus à la portée optimale des générateurs de stase\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret optimal range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Projectile Turret falloff\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction in Afterburner and Microwarpdrive activation cost\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型プロジェクタイルタレットの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"小型プロジェクタイルタレットの精度低下範囲が拡大\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"アフターバーナーとマイクロワープドライブの起動コストが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"ステイシスウェビファイアの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 발사체 터렛 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"애프터버너 및 마이크로 워프 드라이브 활성화 비용 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается добавочная дальность ведения огня из малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"сокращается потребление энергии форсажными ускорителями и микроварп-ускорителям\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 12.5%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 30%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型射弹炮台最佳射程加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"小型射弹炮台失准范围加成\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"加力燃烧器和微型跃迁推进器启动消耗减少\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"30%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32207\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Belagerungsmodul eingebaut werden\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Durchlaufzeit von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Capital-Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Zykluszeit von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Armor Repairer cycle time\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al tiempo de ciclo del reparador de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"pénalité applicable au temps de cycle de l'interface Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides capitales\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles hybrides capitales\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de cycle des réparateurs de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Armor Repairer cycle time\"\n            }\n          ], \n          \"header\": \"Gallente Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"アーマーリペアラのサイクル時間が減少\"\n            }\n          ], \n          \"header\": \"ガレンテ攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"장갑수리 장치 사이클 시간 감소\"\n            }\n          ], \n          \"header\": \"갈란테 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами осадного профиля\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов сверхбольших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность сверхбольших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装甲维修器循环周期加成\"\n            }\n          ], \n          \"header\": \"盖伦特无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 19724\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la portée optimale de la grande tourelle hybride\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33627\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型エネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33625\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"de bonus de distance de perte des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"bonus to Medium Projectile Turret falloff\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"中型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"중형 발사체 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 12.5%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"12.5%\", \n              \"text\": \"中型射弹炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11999\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduzierte effektiv zurückgelegte Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Immun gegen Unterbrechungsfeldwerfer, Warpstörfeldgeneratoren und mobile kleine , mittelgroße und große Warpstörer\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Inmune al lanzaesferas de interdicción, al generador de campo disruptor de warp y al disruptor de warp móvil pequeño, mediano y grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·Immunité contre les lanceurs de sphère d'interdiction, générateurs de champ perturbateur de warp et perturbateurs de warp mobiles légers, intermédiaires et grands perturbateurs de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·インターディクションスフィアランチャー、ワープ妨害フィールドジェネレーター、小型、中型、大型移動式ワープ妨害器の影響を受けない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·인터딕션 런처, 워프 디스럽션 필드 생성기, 이동식 소형/중형/대형 워프 디스럽터에 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию систем запуска заградительных сфер, бортовых варп-заградителей, а также полевых варп-заградителей малой, средней и большой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·对拦截泡发射器、跃迁扰断力场发生器与小型、中型及大型机动跃迁扰断器免疫\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 29266\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Verstärkte Schotten\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Trägheitsmodifikator des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Freighter Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP der Panzerung und des Rumpf des Schiffs\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion des Sprungtreibstoff-Bedarfs\"\n            }\n          ], \n          \"header\": \"Jump Freighters Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Minmatar Freighter bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship shield and hull hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in jump fuel requirement\"\n            }\n          ], \n          \"header\": \"Jump Freighters bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de los requisitos de CPU del mamparo reforzado.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al modificador de inercia de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Carguero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida del escudo y el casco de la nave.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del requisito de combustible para saltos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cargueros de salto (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"réduction de la charge CPU requise pour les cloisons renforcées\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au modificateur d'inertie du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transport de fret minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux boucliers et aux PV de la coque du vaisseau\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction au carburant de saut hyperspatial requis\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transports de fret hyperspatiaux :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Minmatar Freighter bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship shield and hull hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in jump fuel requirement\"\n            }\n          ], \n          \"header\": \"Jump Freighters bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"強化隔壁のCPU要件が減少\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の慣性修正乗数が増加\"\n            }\n          ], \n          \"header\": \"ミンマター超大型輸送艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のシールド・船体のヒットポイントが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ジャンプ燃料使用量が減少\"\n            }\n          ], \n          \"header\": \"ジャンプドライブ搭載型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"강화 격벽 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"관성 계수 증가\"\n            }\n          ], \n          \"header\": \"민마타 프레이터 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"함선의 실드 및 선체 내구도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"요구되는 점프 연료량 감소\"\n            }\n          ], \n          \"header\": \"점프 프레이터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность усиленных переборок в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается инертность конструкции корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрейтеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается запас прочности щитов и корпуса корабля\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление топлива гипердвигателем корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Джамп-фрейтеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"加强型舱隔壁的CPU需求降低\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船惯性调整系数加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔货舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船护盾值和结构值加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跳跃燃料需求减少\"\n            }\n          ], \n          \"header\": \"战略货舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 28846\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Verstärkte Schotten\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP der Panzerung und des Rumpf des Schiffs\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion des Sprungtreibstoff-Bedarfs\"\n            }\n          ], \n          \"header\": \"Jump Freighters Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Trägheitsmodifikator des Schiffs\"\n            }\n          ], \n          \"header\": \"Caldari Freighter Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship shield and hull hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in jump fuel requirement\"\n            }\n          ], \n          \"header\": \"Jump Freighters bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Caldari Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de los requisitos de CPU del mamparo reforzado.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida del escudo y el casco de la nave.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del requisito de combustible para saltos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cargueros de salto (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al modificador de inercia de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Carguero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"réduction de la charge CPU requise pour les cloisons renforcées\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux boucliers et aux PV de la coque du vaisseau\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction au carburant de saut hyperspatial requis\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transports de fret hyperspatiaux :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au modificateur d'inertie du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transport de fret caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship shield and hull hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in jump fuel requirement\"\n            }\n          ], \n          \"header\": \"Jump Freighters bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Caldari Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"強化隔壁のCPU要件が減少\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のシールド・船体のヒットポイントが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ジャンプ燃料使用量が減少\"\n            }\n          ], \n          \"header\": \"ジャンプドライブ搭載型輸送艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の慣性修正乗数が増加\"\n            }\n          ], \n          \"header\": \"カルダリ超大型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"강화 격벽 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"함선의 실드 및 선체 내구도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"요구되는 점프 연료량 감소\"\n            }\n          ], \n          \"header\": \"점프 프레이터 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"관성 계수 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프레이터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность усиленных переборок в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается запас прочности щитов и корпуса корабля\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление топлива гипердвигателем корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Джамп-фрейтеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается инертность конструкции корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрейтеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"加强型舱隔壁的CPU需求降低\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船护盾值和结构值加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跳跃燃料需求减少\"\n            }\n          ], \n          \"header\": \"战略货舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船惯性调整系数加成\"\n            }\n          ], \n          \"header\": \"加达里货舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 28844\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Kinetikschaden von leichten Lenkwaffen, schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von schweren Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to kinetic Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Assault Missile max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño cinético de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la capacité des boosters de bouclier\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles légers, missiles lourds et missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to kinetic Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Heavy Assault Missile max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースター量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルのキネティックダメージが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ヘビーアサルトミサイルの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일, 헤비 미사일 및 헤비 어썰트 미사일의 키네틱 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"헤비 어썰트 미사일 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности восстановителя щитов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон кинетических БЧ лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к максимальной скорости тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹动能伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"重型攻击导弹最大速度加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11993\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Verstärkte Schotten\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP der Panzerung und des Rumpf des Schiffs\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion des Sprungtreibstoff-Bedarfs\"\n            }\n          ], \n          \"header\": \"Jump Freighters Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Trägheitsmodifikator des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Freighter Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship armor and hull hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in jump fuel requirement\"\n            }\n          ], \n          \"header\": \"Jump Freighters bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Gallente Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de los requisitos de CPU del mamparo reforzado.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida del blindaje y el casco de la nave.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del requisito de combustible para saltos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cargueros de salto (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al modificador de inercia de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Carguero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"réduction de la charge CPU requise pour les cloisons renforcées\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus au blindage et aux PV de la coque du vaisseau\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction au carburant de saut hyperspatial requis\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transports de fret hyperspatiaux :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au modificateur d'inertie du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Transport de fret gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Reinforced Bulkhead CPU requirements\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship armor and hull hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in jump fuel requirement\"\n            }\n          ], \n          \"header\": \"Jump Freighters bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship inertia modifier\"\n            }\n          ], \n          \"header\": \"Gallente Freighter bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"強化隔壁のCPU要件が減少\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のアーマー・船体のヒットポイントが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ジャンプ燃料使用量が減少\"\n            }\n          ], \n          \"header\": \"ジャンプドライブ搭載型輸送艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の慣性修正乗数が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ超大型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"강화 격벽 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"함선 장갑 및 선체 내구도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"요구되는 점프 연료량 감소\"\n            }\n          ], \n          \"header\": \"점프 프레이터 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"관성 계수 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프레이터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность усиленных переборок в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается запас прочности брони и корпуса корабля\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление топлива гипердвигателем корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Джамп-фрейтеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается инертность конструкции корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрейтеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"加强型舱隔壁的CPU需求降低\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船装甲值和结构值加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跳跃燃料需求减少\"\n            }\n          ], \n          \"header\": \"战略货舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船惯性调整系数加成\"\n            }\n          ], \n          \"header\": \"盖伦特货舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 28848\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Module für Warpstörfeldgenerator und Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf alle Schildresistenzen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von schweren Angriffslenkwaffen und schweren Lenkwaffen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Reichweite von Warpstörfeldgeneratoren\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Kinetikschaden von leichten Lenkwaffen, schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warp Disruption Field Generator and Cynosural Field Generator modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all shield resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Disruption Field Generator range\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to kinetic Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de generador de campo disruptor de warp y generador de campo cinosural.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a todas las resistencias de escudo.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance del generador de campo disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros interdictores pesados (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño cinético de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules générateur de champ perturbateur de warp et générateur de champ cynosural\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à toutes les résistances de bouclier\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée du générateur de champ perturbateur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'interdiction lourds :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles légers, missiles lourds et missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des missiles légers, missiles lourds et des missiles d'assaut\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warp Disruption Field Generator and Cynosural Field Generator modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all shield resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile max velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Disruption Field Generator range\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to kinetic Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ワープ妨害フィールドジェネレーターとサイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"全てのシールドレジスタンスが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの最高速度上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープ妨害フィールドジェネレーターの範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ワープ妨害型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルのキネティックダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"高速ライトミサイルランチャー、ヘビーミサイルランチャー、ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·워프 디스럽션 필드 생성기 및 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"모든 실드 저항력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 최대 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 디스럽션 필드 생성기 사거리 증가\"\n            }\n          ], \n          \"header\": \"인터딕터 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일, 헤비 미사일 및 헤비 어썰트 미사일의 키네틱 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможно оснащение бортовым варп-заградителем и приводным маяком\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к макс. скорости тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к дальности действия бортового варп-заградителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Заградительные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон кинетических БЧ лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配跃迁扰断力场发生器和诱导力场发生器装备\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"护盾抗性加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹最大速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁扰断力场发生器的范围扩大\"\n            }\n          ], \n          \"header\": \"重型拦截巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹动能伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11995\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von schweren Angriffslenkwaffen und schweren Lenkwaffen\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf den Kinetikschaden von leichten Lenkwaffen, schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den EM, Explosions- und Thermalschaden von leichten Lenkwaffen, schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile max velocity\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to kinetic Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to EM, explosive, thermal Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al daño cinético de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño electromagnético, explosivo y térmico de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles lourds et des missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles légers, missiles lourds et missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts EM, explosifs et thermiques des missiles légers, missiles lourds et missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile max velocity\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to kinetic Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to EM, explosive, thermal Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの最高速度上昇\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルのキネティックダメージが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルのEM・エクスプローシブ・サーマルダメージが増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 최대 속도 증가\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"라이트 미사일, 헤비 미사일 및 헤비 어썰트 미사일의 키네틱 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"라이트 미사일, 헤비 미사일 및 헤비 어썰트 미사일의 EM, 폭발, 열 피해량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к макс. скорости тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается урон кинетических БЧ лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон электромагнитных, фугасных и термических БЧ лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹最大速度加成\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹动能伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"轻型导弹，重型导弹与重型攻击导弹电磁、爆炸和热能伤害加成\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 29340\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Assault Frigates Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von kleinen Energiewaffentürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas de asalto (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des petites tourelles à énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d’assaut :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des petites tourelles à énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Energy Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"強襲型フリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型エネルギータレットの発射速度が上昇\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"어썰트 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 에너지 터렛 연사속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорострельности малых энергетических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"突击护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型能量炮台射速加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11393\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Abzug auf alle Schildresistenzen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Abzug auf den Schaden und die Geschwindigkeit von Drohnen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to max velocity\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to shield resistances\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"penalty to drone damage and speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la velocidad de warp.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la velocidad máxima.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de penalización a las resistencias de escudo.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de penalización al daño y la velocidad del dron.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la vitesse maximale\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de pénalité aux résistances du bouclier\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de pénalité aux dégâts et à la vitesse des drones\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to warp speed\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to max velocity\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"penalty to shield resistances\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"penalty to drone damage and speed\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"ワープ速度が上昇\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"最高速度が上昇\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"シールドレジスタンスにペナルティ\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ドローンのダメージと速度にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"워프 속도 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"최대속도 증가\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"실드 저항력 페널티\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"드론 피해량 및 속도 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к скорости хода в варп-режиме\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"повышается максимальная скорость корабля\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"штраф к сопротивляемости щитов\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"штраф к скорости и урону от дронов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"跃迁速度加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"最大速度加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"护盾抗性惩罚\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"无人机伤害和速度惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 87294\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion des Flüssigozon-Verbrauchs von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung, Anziehungsfeldgenerator und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Präzisionsabfallreichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs von Tarnmodulen\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Waffenstörern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Weapon Disruptor effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción del consumo de ozono líquido del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo del nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo del nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del disruptor de armas.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction de la consommation d'ozone liquide du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules dispositif de camouflage d'opérations secrètes, générateur de champ cynosural et générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la quantité d'énergie récupérée par le Nosferatu à énergie et le neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale du nosferatu à énergie et du neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la perte du nosferatu à énergie et du neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"réduction de la charge CPU requise pour les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité du perturbateur d'arme\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux PV des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Weapon Disruptor effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの液体オゾン消費量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置とサイノシュラルフィールドジェネレーター、そして潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの消費量が改善\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの精度低下範囲が改善\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"兵器妨害器の有効性が向上\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 액화 오존 소모량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"무기 디스럽터 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"снижение потребления жидкого озона приводным маяком и приводным маяком скрытого действия\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки, приводным маяком и приводным маяком скрытого действия.\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия постановщиков помех системам наводки\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器消耗的液态臭氧数量降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置、诱导力场发生器和隐秘诱导力场发生器装备\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器和能量中和器最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器失准范围加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置CPU需求降低\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"武器扰断器效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11965\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann nicht von Richtungsscannern erfasst werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Zielmarkierungsmodulen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cannot be detected by directional scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·No detectable con escáneres direccionales.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad del revelador de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Indétectable par les scanners directionnels\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir de la tourelle à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité du marqueur de cible\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonus à la portée optimale du générateur de stase\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la tourelle à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cannot be detected by directional scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·指向性スキャナーでは検知できません\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ターゲットペインターの効果が増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"ステイシスウェビファイアの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·전방위 스캐너 탐지 불가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"타겟 페인터 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа не обнаруживаются пеленгаторами\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия систем подсветки целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 60%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·不能被定向扫描器探测到\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"目标标记装置效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11961\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion des Flüssigozon-Verbrauchs von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung, Anziehungsfeldgenerator und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen, schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Zielmarkierungsmodulen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción del consumo de ozono líquido del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad del revelador de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction de la consommation d'ozone liquide du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules dispositif de camouflage d'opérations secrètes, générateur de champ cynosural et générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des missiles légers, missiles lourds et missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité du marqueur de cible\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonus à la portée optimale du générateur de stase\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction au CPU requis par les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの液体オゾン消費量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置とサイノシュラルフィールドジェネレーター、そして潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイル、ヘビーミサイル、ヘビーアサルトミサイルのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ターゲットペインターの効果が増加\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"ステイシスウェビファイアの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 액화 오존 소모량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일, 헤비 미사일 및 헤비 어썰트 미사일 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"타겟 페인터 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"снижение потребления жидкого озона приводным маяком и приводным маяком скрытого действия\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки, приводным маяком и приводным маяком скрытого действия.\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон БЧ лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия систем подсветки целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 60%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器消耗的液态臭氧数量降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置、诱导力场发生器和隐秘诱导力场发生器装备\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"目标标记装置效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"60%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11963\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion des Flüssigozon-Verbrauchs von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung, Anziehungsfeldgenerator und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Sensorferndämpfern\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción del consumo de ozono líquido del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del atenuador de sensor remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction de la consommation d'ozone liquide du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules dispositif de camouflage d'opérations secrètes, générateur de champ cynosural et générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et des perturbateurs de warp\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction au CPU requis par les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité des atténuateurs de détection à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの液体オゾン消費量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置とサイノシュラルフィールドジェネレーター、そして潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"リモートセンサーダンプナーの効果が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 액화 오존 소모량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"원격 센서 댐프너 효과 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"снижение потребления жидкого озона приводным маяком и приводным маяком скрытого действия\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки, приводным маяком и приводным маяком скрытого действия.\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия модулей подавления захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器消耗的液态臭氧数量降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置、诱导力场发生器和隐秘诱导力场发生器装备\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最佳射程加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"远程感应抑阻器效果加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11969\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen, kleinen Hybridgeschütztürmen und kleinen Projektilwaffentürmen\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen und Raketen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP von Drohnen\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"Bonus auf die Stärke von Basisscansonden\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"Reduktion der Abweichung von Scans durch Basisscansonden\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysegeräten\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Tarnvorrichtung, Scansondenwerfer, Reliktanalysegerät und Datenanalysegerät\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung ausrüsten\"\n          }, \n          {\n            \"text\": \"·Verzögerung bei Reaktivierung des Tarnmoduls auf 15 Sekunden reduziert\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Small Energy Turret, Small Hybrid Turret and Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Light Missile and Rockets damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Drone hitpoints\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core Scanner Probe strength\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"reduction to Core Scanner Probe scan deviation\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Device, Probe Launcher, Relic Analyzer, and Data Analyzer CPU requirements\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación al daño de la torreta de energía pequeña, la torreta híbrida pequeña y la torreta de proyectiles pequeña.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación al daño de los misiles ligeros y los cohetes.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de los drones.\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonificación a la intensidad de la sonda escáner de núcleo.\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de reducción a la desviación del escáner de la sonda escáner de núcleo.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y dereliquias.\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de los requisitos de la CPU del dispositivo de camuflaje, lanzasondas, analizador de reliquias y analizador de datos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas.\"\n          }, \n          {\n            \"text\": \"·Se reduce la demora de reactivación del camuflaje a 15 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à énergie, petites tourelles hybrides et petites tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus aux dégâts des missiles légers et des roquettes\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie des drones\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonus à la puissance des sondes de scanner principales\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de réduction de la déviation de balayage des sondes de scanner principales\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonus à la puissance du réacteur de warp du vaisseau\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par le dispositif de camouflage, le lanceur de sonde, l'analyseur de reliques et l'analyseur de données\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 15 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Small Energy Turret, Small Hybrid Turret and Small Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Light Missile and Rockets damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Drone hitpoints\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core Scanner Probe strength\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"reduction to Core Scanner Probe scan deviation\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Device, Probe Launcher, Relic Analyzer, and Data Analyzer CPU requirements\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"小型エネルギータレット、小型ハイブリッドタレット、そして小型プロジェクタイルタレットのダメージにボーナス\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"ライトミサイルおよびロケットのダメージにボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ドローンのHPにボーナス\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"コアスキャナープローブの強度にボーナス\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"コアスキャナープローブのスキャンの誤差が減少\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度にボーナス\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"艦船のワープコア強度にボーナス\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置、プローブランチャー、遺物アナライザー、そしてデータアナライザーのCPU使用率が減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置を装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延を15秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"소형 에너지 터렛, 소형 하이브리드 터렛, 소형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"라이트 미사일 및 로켓 피해량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"드론 내구도 증가\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"코어 프로브 스캔 강도 증가\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"코어 프로브 스캔 오차 감소\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"워프 코어 출력 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치, 프로브 런처, 유물 분석기, 데이터 분석기 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 15초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"бонус к урону малых лазерных орудий, малых гибридных орудий и малых баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"бонус к урону лёгких ракет и ракет\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к запасу прочности дронов\"\n          }, \n          {\n            \"number\": \"на 37.5%\", \n            \"text\": \"бонус к чувствительности зондов навигационной разведки\"\n          }, \n          {\n            \"number\": \"на 37.5%\", \n            \"text\": \"уменьшение отклонения при сканировании для зондов навигационной разведки\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"бонус к силе вируса анализаторов данных и артефактов\"\n          }, \n          {\n            \"number\": \"на 2+\", \n            \"text\": \"бонус к мощности бортового варп-ядра\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"снижение требований к мощности ЦПУ для систем маскировки, пусковых установок разведзондов, анализаторов артефактов и анализаторов данных\"\n          }, \n          {\n            \"text\": \"·Возможна установка всережимной системы маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки снижена до 15 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"小型能量炮台、小型混合炮台和小型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"轻型导弹和火箭伤害加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"无人机HP加成\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"核心扫描探针强度加成\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"核心扫描探针扫描偏差减少\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"number\": \"2+\", \n            \"text\": \"舰船跃迁核心强度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置、探针发射器、遗迹分析仪和数据分析仪CPU需求降低\"\n          }, \n          {\n            \"text\": \"·可以装配隐形特勤舰隐形装置\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延迟降到15秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 77114\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Projektilwaffentürmen und Raketen\"\n          }, \n          {\n            \"text\": \"·Kann einen kleinen Kapselbrecher-Werfer ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung ausrüsten\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion der CPU-Anforderung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Verzögerung bei Reaktivierung des Tarnmoduls auf 15 Sekunden reduziert\"\n          }, \n          {\n            \"text\": \"·Immun gegen alle Frachtscanner\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Resistenz des Schiffs gegen Stasisnetze\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"bonus to Small Projectile Turret and Rocket damage\"\n          }, \n          {\n            \"text\": \"·Can fit one Small Breacher Pod Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship Stasis Webifier resistance\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña y el cohete.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un lanzacápsulas de ataque pequeño.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Se reduce la demora de reactivación del camuflaje a 15 segundos.\"\n          }, \n          {\n            \"text\": \"·Inmune a todos los escáneres de carga.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la resistencia a redes ralentizadoras de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à projectiles et roquettes\"\n          }, \n          {\n            \"text\": \"·Peut recevoir un petit lanceur de capsules de brèche\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 15 secondes\"\n          }, \n          {\n            \"text\": \"·Immunisé contre tous les scanners de soute\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la résistance aux générateurs de stase du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"bonus to Small Projectile Turret and Rocket damage\"\n          }, \n          {\n            \"text\": \"·Can fit one Small Breacher Pod Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship Stasis Webifier resistance\"\n            }\n          ], \n          \"header\": \"Minmatar Destroyer bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"小型プロジェクタイルタレットの精度低下範囲とロケットのダメージにボーナス\"\n          }, \n          {\n            \"text\": \"·小型突入ポッドランチャーを1つ装備可能\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置を装備可能\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延を15秒に短縮\"\n          }, \n          {\n            \"text\": \"·全てのカーゴスキャナーへの耐性\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のステイシスウェビファイヤー耐性にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター駆逐艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースター量が増加\"\n            }\n          ], \n          \"header\": \"カルダリ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"소형 발사체 터렛 및 로켓 피해량 증가\"\n          }, \n          {\n            \"text\": \"·소형 침투 포드 런처 1대 장착 가능\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 장착 가능\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 15초로 감소\"\n          }, \n          {\n            \"text\": \"·화물 스캐너 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"함선의 스테이시스 웹 생성기 저항력 증가\"\n            }\n          ], \n          \"header\": \"민마타 디스트로이어 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 150%\", \n            \"text\": \"бонус к урону малых баллистических орудий и ракетных снарядов\"\n          }, \n          {\n            \"text\": \"·Возможна установка одной малой ПУ внедряющихся капсул\"\n          }, \n          {\n            \"text\": \"·Возможна установка всережимной системы маскировки\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"снижение требований к ЦПУ для систем маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки снижена до 15 секунд\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию любых сканеров груза\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к сопротивляемости стазис-индукторам\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские эсминцы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности восстановителя щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"小型射弹炮台和火箭伤害加成\"\n          }, \n          {\n            \"text\": \"·可以装配一个小型突破者座舱发射器\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延迟降到15秒\"\n          }, \n          {\n            \"text\": \"·免疫所有货舱扫描\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船停滞缠绕抗性加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔驱逐舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"加达里驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 85087\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Waffenstörern\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"80%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"Bonus auf die Präzisionsabfallreichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Wiederaufladezeit des Energiespeichers\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Weapon Disruptor effectiveness\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"80%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in ship capacitor recharge time\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del disruptor de armas.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"80%\", \n              \"text\": \"de bonificación al alcance óptimo del nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"de bonificación al alcance efectivo del nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de carga del condensador de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de ataque electrónicas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité d'énergie récupérée par le Nosferatu à énergie et le neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité du perturbateur d'armement\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"80%\", \n              \"text\": \"de bonus à la portée optimale du nosferatu à énergie et du neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"de bonus à la perte du nosferatu à énergie et du neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction au temps de recharge du capaciteur du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux d'attaque électronique :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Weapon Disruptor effectiveness\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"80%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in ship capacitor recharge time\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの消費量が改善\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"兵器妨害器の有効性が向上\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"80%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの精度低下範囲が改善\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のキャパシタの充電時間が短縮\"\n            }\n          ], \n          \"header\": \"電子攻撃船ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"무기 디스럽터 효과 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"80%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐패시터 충전시간 감소\"\n            }\n          ], \n          \"header\": \"전자전 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия постановщиков помех системам наводки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 80%\", \n              \"text\": \"увеличивается оптимальная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 40%\", \n              \"text\": \"увеличивается добавочная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается расход времени на полную перезарядку накопителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"武器扰断器效果加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"80%\", \n              \"text\": \"掠能器和能量中和器最佳射程加成\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"掠能器和能量中和器失准范围加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"电容回充速度加成\"\n            }\n          ], \n          \"header\": \"电子攻击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11190\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Abweichung von Kern- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Energiespeicherverbrauchs des Warpantriebs\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Kern- und Kampf-Scansonden\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Scan-Dauer von Vermessungssonden\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction to Core and Combat Scanner Probe deviation\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in warp drive capacitor need\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in time required for Survey Probe scans\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción a la desviación de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la necesidad del condensador del motor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción al tiempo necesario para los escaneos de las sondas de prospección.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut équiper des dispositifs de camouflage opérations secrètes et des générateurs de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"réduction de la déviation des sondes principales et des sondes de scanner de combat\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction des besoins énergétiques du capaciteur pour le propulseur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction de temps nécessaire pour le balayage des sondes d'exploration\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction to Core and Combat Scanner Probe deviation\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in warp drive capacitor need\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in time required for Survey Probe scans\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }, \n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"コア及び戦闘スキャナープローブの誤差が減少\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ワープドライブの必要キャパシタ量が減少\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"衛星調査プローブスキャンにかかる時間が減少\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 오차 감소\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"워프 드라이브 캐패시터 요구량 감소\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"조사 프로브 스캔 시간 감소\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшение отклонения зондов навигационной и боевой разведки\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"снижение потребления энергии варп-двигателем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход времени на сбор данных зондами луноразведки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"核心和作战扫描探针扫描偏差减少\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"跃迁引擎电容需求降低\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"测量探针扫描时间减少\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11192\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Stärke von ECM Zielstörsender-Modulen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von ECM Zielstörsender-Modulen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die optimale Reichweite von ECM-Zielstörsender-Modulen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Energiespeicherkapazität des Schiffs\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in ECM Target Jammer activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ECM Target Jammer optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship capacitor capacity\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la intensidad del perturbador ECM de objetivo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del perturbador ECM de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al alcance óptimo del perturbador ECM de objetivo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad del condensador de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de ataque electrónicas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la force des brouilleurs de cible CME\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des brouilleurs de cible CME\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la portée optimale des brouilleurs de cible CME\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la charge de capaciteur du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux d'attaque électronique :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in ECM Target Jammer activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ECM Target Jammer optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship capacitor capacity\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ECMターゲットジャマーの強度が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECMターゲットジャマーの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECMターゲットジャマーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のキャパシタ容量が増加\"\n            }\n          ], \n          \"header\": \"電子攻撃船ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ECM 타겟 재머 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM 타겟 재머 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECM 타겟 재머 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐패시터 용량 증가\"\n            }\n          ], \n          \"header\": \"전자전 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается выходная мощность модулей глушения захвата целей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии модулями глушения захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается оптимальная дальность действия модулей глушения захвата целей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается ёмкость накопителя энергии корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ECM目标干扰器强度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM目标干扰器启动消耗减少\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ECM目标干扰器最佳射程加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"电容器电容量加成\"\n            }\n          ], \n          \"header\": \"电子攻击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11194\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblockern\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Nutzen der Überhitzung von Nachbrennern und Mikrowarpantrieben\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von kleinen Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Interceptors Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los beneficios de posquemadores y motores de microwarp sobrecalentados.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interceptores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux avantages de la surchauffe sur les systèmes de post-combustion et les propulseurs de microwarp\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir de la petite tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Intercepteurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"オーバーヒートしたアフターバーナーとマイクロワープドライブの恩恵にボーナス\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型実体弾タレットの発射速度が上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"要撃型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍시스템 활성화 비용 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"애프터버너 및 마이크로 워프 드라이브 과부하 효과 증가\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"인터셉터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к преимуществам перегрева форсажных ускорителей и микроварп-ускорителей\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"Бонус к циклу выстрела малых баллистических турелей\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Перехватчики:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗减少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"加力燃烧器和微型跃迁推进器过载效果加成\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"截击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11196\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Reduzierte Verzögerung bei Reaktivierung von Mikrosprungantrieben\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts de la grande tourelle à projectiles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de réduction du temps de réactivation du propulseur de microsauts\"\n          }, \n          {\n            \"text\": \"·Peut installer des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au total des boosters de bouclier\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de poursuite de la grande tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"マイクロジャンプドライブの再起動遅延が短縮\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сокращается задержка повторного включения маневровых гипердвигателей\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"微型跳跃引擎启动间隔加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34253\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblockern\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Reaktivierungsverzögerung des Anti-Unterbrechers, des max. Erfassungsreichweitenabzugs und des Scanauflösungsabzugs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Interceptors Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay, max lock range penalty, and scan resolution penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo y a la resolución de escaneo del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interceptores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction, à la pénalité de portée de verrouillage maximale et à la pénalité de résolution du balayage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la petite tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et des perturbateurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Intercepteurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay, max lock range penalty, and scan resolution penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と、最大ロック射程とスキャン分解能のペナルティ減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"要撃型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍시스템 활성화 비용 감소\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 무효화 장치 재활성화 대기시간, 최대 타겟팅 거리 및 스캔 정밀도 페널티 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 무효화 장치 지속시간 보너스\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"인터셉터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений, штрафа к максимальной дальности захвата цели и разрешающей способности сенсоров\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Перехватчики:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗减少\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟、最大锁定距离惩罚和扫描分辨率惩罚降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最佳射程加成\"\n            }\n          ], \n          \"header\": \"截击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11198\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de poursuite de la grande tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34251\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Reduzierte Verzögerung bei Reaktivierung von Mikrosprungantrieben\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts de la grande tourelle à projectiles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de réduction du temps de réactivation du propulseur de microsauts\"\n          }, \n          {\n            \"text\": \"·Peut installer des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au total des boosters de bouclier\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de poursuite de la grande tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la distance de perte de la grande tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"マイクロジャンプドライブの再起動遅延が短縮\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сокращается задержка повторного включения маневровых гипердвигателей\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"微型跳跃引擎启动间隔加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34257\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Reduzierte Verzögerung bei Reaktivierung von Mikrosprungantrieben\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts de la grande tourelle à projectiles\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de réduction du temps de réactivation du propulseur de microsauts\"\n          }, \n          {\n            \"text\": \"·Peut installer des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au total des boosters de bouclier\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de poursuite de la grande tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"マイクロジャンプドライブの再起動遅延が短縮\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型プロジェクタイルタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сокращается задержка повторного включения маневровых гипердвигателей\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"微型跳跃引擎启动间隔加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34255\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"Bonus auf den Schaden von mittelgroßen Energiegeschütztürmen\"\n          }, \n          {\n            \"text\": \"·Nosferatu-Module, die in dieses Schiff eingebaut werden, ziehen dem als Ziel aufgeschaltetem Schiff Energie ab, unabhängig von Ihrem eigenen Energiespeicher-Level\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Reichweite von Stasisnetzen\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Energie-Nosferatus und Energieneutralisierern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Präzisionsabfallreichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"bonus to Medium Energy Turret damage\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier range\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n          }, \n          {\n            \"text\": \"·El nosferatu de energía equipado en esta nave drenará el condensador de la nave objetivo independientemente del nivel de tu propio condensador.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance de la red ralentizadora.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo del nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo del nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"de bonus aux dégâts des tourelles à énergie intermédiaires\"\n          }, \n          {\n            \"text\": \"·Les modules de Nosferatu à énergie montés sur ce vaisseau vont absorber le capaciteur du vaisseau visé quel que soit le niveau de votre capaciteur\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus à la portée dugénérateur de stase\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la quantité d'énergie récupérée par le Nosferatu à énergie et le neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale du nosferatu à énergie et du neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la perte du Nosferatu à énergie et du neutraliseur d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"bonus to Medium Energy Turret damage\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier range\"\n            }\n          ], \n          \"header\": \"Minmatar Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"中型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"text\": \"·この艦船に搭載されているエネルギーノスフェラトゥは、自身のキャパシタレベルに関わらず、ターゲットとなる艦船のキャパシタを吸収する\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ステイシスウェビファイアの範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの消費量が改善\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥとエネルギーニュートラライザーの最適射程距離にボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーノスフェラトゥとエネルギーニュートラライザーの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"중형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"text\": \"·에너지 노스페라투 적 함선 캐패시터 흡수\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"스테이시스 웹 생성기 사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 125%\", \n            \"text\": \"увеличивается урон средних лазерных орудий\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устройства паразитной подзарядки накопителя извлекают энергию из накопителя корабля-цели независимо от уровня заряда накопителя корабля-получателя энергии\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к оптимальной дальности энергопоглощения и дистанционных нейтрализаторов заряда\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"中型能量炮台伤害加成\"\n          }, \n          {\n            \"text\": \"·这艘舰船的掠能器可以无视自身剩余电容量而对目标舰船的电容无限吸取\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"停滞缠绕光束射程加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器和能量中和器最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器失准范围加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17922\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n          }, \n          {\n            \"text\": \"·Nosferatu-Module, die in dieses Schiff eingebaut werden, ziehen dem als Ziel aufgeschaltetem Schiff Energie ab, unabhängig von Ihrem eigenen Energiespeicher-Level\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Energy Turret damage\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n          }, \n          {\n            \"text\": \"·El nosferatu de energía equipado en esta nave drenará el condensador de la nave objetivo independientemente del nivel de tu propio condensador.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des grandes tourelles à énergie\"\n          }, \n          {\n            \"text\": \"·Les modules de Nosferatu à énergie montés sur ce vaisseau vont absorber le capaciteur du vaisseau visé quel que soit le niveau de votre capaciteur\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la quantité d'énergie récupérée par le Nosferatu à énergie et le neutraliseur d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale des générateurs de stase\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Energy Turret damage\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"text\": \"·この艦船に搭載されているエネルギーノスフェラトゥは、自身のキャパシタレベルに関わらず、ターゲットとなる艦船のキャパシタを吸収する\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの消費量が改善\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ステイシスウェビファイアの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"text\": \"·에너지 노스페라투 적 함선 캐패시터 흡수\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон больших лазерных орудий\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устройства паразитной подзарядки накопителя извлекают энергию из накопителя корабля-цели независимо от уровня заряда накопителя корабля-получателя энергии\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型能量炮台伤害加成\"\n          }, \n          {\n            \"text\": \"·这艘舰船的掠能器可以无视自身剩余电容量而对目标舰船的电容无限吸取\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17920\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"text\": \"·Nosferatu-Module, die in dieses Schiff eingebaut werden, ziehen dem als Ziel aufgeschaltetem Schiff Energie ab, unabhängig von Ihrem eigenen Energiespeicher-Level\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Reichweite von Stasisnetzen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Energie-Nosferatus und Energieneutralisierern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Präzisionsabfallreichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier range\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n          }, \n          {\n            \"text\": \"·El nosferatu de energía equipado en esta nave drenará el condensador de la nave objetivo independientemente del nivel de tu propio condensador.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance de la red ralentizadora.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo del nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo del nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n          }, \n          {\n            \"text\": \"·Les modules de Nosferatu à énergie montés sur ce vaisseau vont absorber le capaciteur du vaisseau visé quel que soit le niveau de votre capaciteur\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus à la portée dugénérateur de stase\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la quantité d'énergie récupérée par le Nosferatu à énergie et le neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale du nosferatu à énergie et du neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la perte du Nosferatu à énergie et du neutraliseur d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"text\": \"·Energy Nosferatu fitted to this ship will drain targeted ship's capacitor regardless of your own capacitor level\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Stasis Webifier range\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"小型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"text\": \"·この艦船に搭載されているエネルギーノスフェラトゥは、自身のキャパシタレベルに関わらず、ターゲットとなる艦船のキャパシタを吸収する\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ステイシスウェビファイアの範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの消費量が改善\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥとエネルギーニュートラライザーの最適射程距離にボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーノスフェラトゥとエネルギーニュートラライザーの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"소형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"text\": \"·에너지 노스페라투 적 함선 캐패시터 흡수\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"스테이시스 웹 생성기 사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 125%\", \n            \"text\": \"увеличивается урон малых лазерных орудий\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устройства паразитной подзарядки накопителя извлекают энергию из накопителя корабля-цели независимо от уровня заряда накопителя корабля-получателя энергии\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к оптимальной дальности энергопоглощения и дистанционных нейтрализаторов заряда\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"小型能量炮台伤害加成\"\n          }, \n          {\n            \"text\": \"·这艘舰船的掠能器可以无视自身剩余电容量而对目标舰船的电容无限吸取\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"停滞缠绕光束射程加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器和能量中和器最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器失准范围加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17926\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Geschwindigkeitsbonus von Nachbrennern\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Small Energy Turret activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la velocidad del posquemador.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction au coût d'activation des petites tourelles à énergie\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus au bonus de vitesse du système de post-combustion\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Small Energy Turret activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"小型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"小型エネルギータレットの起動コストが減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型エネルギータレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"アフターバーナーの速度ボーナスが増加\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"소형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 에너지 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"애프터버너 속도 보너스 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 150%\", \n            \"text\": \"увеличивается урон малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижение расхода энергии на активацию малых лазерных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается влияние форсажных ускорителей на скорость полёта корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"小型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"小型能量炮台启动消耗降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型能量炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"加力燃烧器速度增益加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17924\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Stasisnetzen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Small Hybrid Turret damage\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la efectividad de la red ralentizadora.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à l'efficacité des générateurs de stase\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Small Hybrid Turret damage\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Stasis Webifier effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ステイシスウェビファイアの効果が増加\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"스테이시스 웹 생성기 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается эффективность действия стазис-индукторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"200%\", \n            \"text\": \"小型混合炮台伤害加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"停滞缠绕光束效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17928\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf alle Effekte von Struktur-Kampfmodifikationen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduzierter Treibstoffverbrauch von Zitadellen-Dienstmodulen\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"Bonus auf die Feuerrate und den Energiespeicherverbrauch von Standup-Pulsprojektoren und Lenkbombenwerfern\"\n          }, \n          {\n            \"text\": \"·Verfügt diese Struktur über mindestens ein aktives Dienstmodul, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte Trefferpunkte für Schild und Panzerung sowie einen zusätzlichen Verstärkungszyklus\"\n          }, \n          {\n            \"text\": \"·Nur eine Upwell-Palatine-Keepstar kann gleichzeitig in New Eden errichtet werden\"\n          }, \n          {\n            \"text\": \"·Neue Keepstars dürfen nicht im Hochsicherheitsraum verankert werden.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Keepstar-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel service module fuel consumption\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle\"\n          }, \n          {\n            \"text\": \"·Only one Upwell Palatine Keepstar may be deployed at a time in New Eden\"\n          }, \n          {\n            \"text\": \"·New Keepstars may not be anchored within highsec space\"\n          }, \n          {\n            \"text\": \"·This structure requires a Keepstar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a todos los efectos de complementos de combate para estructuras.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del consumo de combustible del módulo de servicio de ciudadela.\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"de bonificación a la cadencia de tiro y al consumo del condensador de los proyectores de estallido Standup y los lanzabombas guiados.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }, \n          {\n            \"text\": \"·Solo se puede desplegar una Palatine Keepstar de Upwell a la vez en Nuevo Edén.\"\n          }, \n          {\n            \"text\": \"·No pueden anclarse nuevas Keepstar en el espacio de seguridad alta\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Keepstar de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à tous les effets d'amélioration des combats de structures\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction de la consommation de carburant des modules de service de citadelle\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"de bonus à la cadence de tir et à la consommation du capaciteur des projecteurs à salves et des lanceurs de bombes ciblées Standup\"\n          }, \n          {\n            \"text\": \"·Lorsque cette structure dispose d'au moins un module de service fonctionnel, elle entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage, ainsi que d'un cycle de renfort de blindage additionnel\"\n          }, \n          {\n            \"text\": \"·Une seule Keepstar Palatine de technologie Upwell peut être déployée à la fois dans tout New Eden\"\n          }, \n          {\n            \"text\": \"·Les nouvelles Keepstar ne peuvent pas être ancrées dans un espace de haute sécurité\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Keepstar pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to all structure combat rig effects\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in citadel service module fuel consumption\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle\"\n          }, \n          {\n            \"text\": \"·Only one Upwell Palatine Keepstar may be deployed at a time in New Eden\"\n          }, \n          {\n            \"text\": \"·New Keepstars may not be anchored within highsec space\"\n          }, \n          {\n            \"text\": \"·This structure requires a Keepstar Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"全てのストラクチャ戦闘リグの効果が増大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"城塞サービスモジュールの燃料消費をが減少\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"スタンドアップバーストプロジェクターと誘導ボムランチャーの発射間隔とキャパシタ消費効率を改善\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }, \n          {\n            \"text\": \"·ニューエデンに配置できるアップウェル・パラティンキープスターは一度に1つだけ\"\n          }, \n          {\n            \"text\": \"·ハイセキュリティ宙域内でキープスターを新たに係留することはできません\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには キープスター・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"구조물 전용 전투 리그 효과 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"시타델 서비스 모듈 연료 사용량 감소\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"스탠드업 버스트 프로젝터 및 유도폭탄 런처 연사속도 및 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }, \n          {\n            \"text\": \"·뉴에덴 전역에 업웰 팔라타인 키프스타 최대 1개 전개 가능\"\n          }, \n          {\n            \"text\": \"·하이 시큐리티 지역에 신규 키프스타 구조물을 위치 고정할 수 없음\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 키프스타 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к эффективности всех боевых надстроек\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшает потребление топлива служебными модулями цитаделей\"\n          }, \n          {\n            \"number\": \"на 35%\", \n            \"text\": \"бонус к скорострельности и энергопотреблению проекторов объёмных помех и бомбометателей с системой наведения на базе «Стационар»\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть по меньшей мере один работающий служебный модуль, оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления\"\n          }, \n          {\n            \"text\": \"·Одновременно в Новом Эдеме можно развернуть только одну цитадель типа «Палатин-Кипстар» от «Апвелл»\"\n          }, \n          {\n            \"text\": \"·Новые «Кипстары» нельзя ставить на якорь в системах с высоким ур. безопасности\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Кипстар» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"所有建筑战斗改装件效果加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"堡垒服务装备的燃料消耗降低\"\n          }, \n          {\n            \"number\": \"35%\", \n            \"text\": \"屹立脉冲波投射器和制导炸弹发射器的射速和电容消耗加成\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环\"\n          }, \n          {\n            \"text\": \"·在新伊甸，任何时候，只有一个昇威豪华星城能被部署\"\n          }, \n          {\n            \"text\": \"·New Keepstars may not be anchored within highsec space\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个星城昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 40340\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und die Nachführungsgeschwindigkeit von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo y los puntos de vida de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la vitesse de poursuite de la petite tourelle hybride\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux points de dommages et à la vitesse de poursuite du drone\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイント、追跡速度が増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель бортового оружия дронов, увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP和跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34443\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können integrierte Sensor-Anlagen ausgerüstet werden\"\n          }, \n          {\n            \"text\": \"·Kann Capital-Mikrosprungantrieb und Capital-Mikrosprungfeldgenerator ausstatten\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Es können Leichte und Unterstützungs-Jäger gestartet werden\"\n          }, \n          {\n            \"text\": \"·Kann Ziele auf größere Entfernungen erfassen\"\n          }, \n          {\n            \"text\": \"·Gruppensprung-fähig\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale ECM-Reichweite von Scarab-Unterstützungsjägern\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf die ECM-Stärke von Scarab-Unterstützungsjägern\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Schildkommando- und Informationkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Caldari Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Integrated Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Capital Micro Jump Drive and Capital Micro Jump Field Generator\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Support Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Scarab Support Fighter ECM optimal range\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Scarab Support Fighter ECM strength\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Shield Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Caldari Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar una red de sensores integrados.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un motor de microsalto capital y un generador de campo de microsalto capital.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Puede lanzar cazas ligeros y de apoyo.\"\n          }, \n          {\n            \"text\": \"·Puede fijar objetivos a mayores distancias.\"\n          }, \n          {\n            \"text\": \"·Capaz de salto conductivo.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo de las contramedidas electrónicas de los cazas de apoyo Scarab.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad de las contramedidas electrónicas de los cazas de apoyo Scarab.\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de escudo y de mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de détection intégré\"\n          }, \n          {\n            \"text\": \"·Peut équiper un propulseur de microsaut capital et un générateur de champ de microsaut capital\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut larguer des chasseurs légers et des chasseurs de soutien\"\n          }, \n          {\n            \"text\": \"·Peut verrouiller des cibles à plus grande distance\"\n          }, \n          {\n            \"text\": \"·Capacité de saut de groupe\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale de la CME des chasseurs de soutien du Scarab\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance CME des chasseurs de soutien Scarab\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers et de commandement électronique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Integrated Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Capital Micro Jump Drive and Capital Micro Jump Field Generator\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Support Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Scarab Support Fighter ECM optimal range\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Scarab Support Fighter ECM strength\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Shield Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Caldari Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·統合型センサーアレイを装備可能\"\n          }, \n          {\n            \"text\": \"·キャピタルマイクロジャンプドライブとキャピタル・マイクロジャンプフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"text\": \"·軽量級戦闘機と支援戦闘機の発着が可能\"\n          }, \n          {\n            \"text\": \"·長距離からロックオン可能\"\n          }, \n          {\n            \"text\": \"·コンジットジャンプに対応\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"スカラベ支援戦闘機のECM最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"支援戦闘機「スカラベ」のECM強度にボーナス\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"シールドコマンドバーストと情報戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·통합 센서 장비 장착 가능\"\n          }, \n          {\n            \"text\": \"·캐피탈 마이크로 점프 드라이브 및 캐피탈 마이크로 점프 필드 생성기 피팅 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·라이트 파이터 및 지원형 파이터 사출 가능\"\n          }, \n          {\n            \"text\": \"·타겟 거리 증가\"\n          }, \n          {\n            \"text\": \"·점프 필드 생성 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"스캐럽 서포트 파이터 ECM 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"스캐럽 서포트 파이터 ECM 강도 증가\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"실드 버스트 및 정보전 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"칼다리 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Можно оснастить интегрированным усилителем сенсоров\"\n          }, \n          {\n            \"text\": \"·Можно оснастить маневровым гипердвигателем КБТ и генератором разгонного поля КБТ\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут запускать истребители (лёгкие и истребители поддержки)\"\n          }, \n          {\n            \"text\": \"·Повышена дальность захвата целей\"\n          }, \n          {\n            \"text\": \"·Может совершить групповой прыжок\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается оптимальная дальность действия модулей глушения захвата целей, применяемых истребителями поддержки типа «Скарабей»\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"бонус к мощности МЭП для истребителей поддержки Scarab\"\n            }, \n            {\n              \"number\": \"на 1%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов и импульсными оптимизаторами РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配集成传感器阵列\"\n          }, \n          {\n            \"text\": \"·可以装配旗舰级微型跳跃引擎和旗舰级微型跳跃力场发生器\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·可释放轻型和后勤 铁骑舰载机\"\n          }, \n          {\n            \"text\": \"·可在更大范围内锁定\"\n          }, \n          {\n            \"text\": \"·可以进行导管跳跃\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"圣甲虫后勤铁骑舰载机ECM最佳射程加成\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"圣甲虫后勤铁骑舰载机ECM强度加成\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"护盾指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"加达里航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 23915\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Vernetzte Sensoranlagen eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es können Pulsprojektoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Kann leichte und schwere Jäger starten\"\n          }, \n          {\n            \"text\": \"·Kann Ziele auf größere Entfernungen erfassen\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Widerstand gegen Sensorferndämpfer\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Erhöhung der Fernunterstützungsimpedanz auf Elektronik\"\n          }, \n          {\n            \"text\": \"·Gruppensprung-fähig\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von Jägern\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Zykluszeit von EGM-Zielstörsender-Modulen\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Schildkommando- und Informationkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Caldari Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Networked Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Burst Projectors\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in ECM Jammer Burst Projector cycle time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Caldari Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar una red de sensores conectados.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar proyectores de estallido.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Puede lanzar cazas ligeros y pesados.\"\n          }, \n          {\n            \"text\": \"·Puede fijar objetivos a mayores distancias.\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"text\": \"·Capaz de salto conductivo.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de los cazas.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de ciclo del proyector de estallido del perturbador ECM.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de escudo y de mando de información.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un réseau matriciel de détection\"\n          }, \n          {\n            \"text\": \"·Peut être équipé de projecteurs à salves\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut lancer des chasseurs légers et lourds\"\n          }, \n          {\n            \"text\": \"·Peut verrouiller des cibles à plus grande distance\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"text\": \"·Capacité de saut de groupe\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des chasseurs\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de cycle des projecteurs à salves de brouillage CME\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement des boucliers et de commandement électronique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Networked Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Burst Projectors\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in ECM Jammer Burst Projector cycle time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command and Information Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Caldari Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ネットワーク式センサー施設を装備可能\"\n          }, \n          {\n            \"text\": \"·バーストプロジェクターを装備可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"text\": \"·軽・重戦闘機が発艦可能\"\n          }, \n          {\n            \"text\": \"·長距離からロックオン可能\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"アーマープレートとシールド拡張器にボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートセンサーダンプナーのレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ステイシス効果レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモート電子アシスタンスインピーダンスが増加\"\n          }, \n          {\n            \"text\": \"·コンジットジャンプに対応\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"戦闘機ダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ECMジャマーバーストプロジェクターのサイクル時間が減少\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"シールドコマンドバーストと情報戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"カルダリ艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·네트워크 센서 장비 장착 가능\"\n          }, \n          {\n            \"text\": \"·버스트 프로젝터 장착 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·파이터 (라이트 파이터 및 헤비 파이터) 사출 가능\"\n          }, \n          {\n            \"text\": \"·타겟 거리 증가\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 센서 댐프너 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"text\": \"·점프 필드 생성 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"파이터 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ECM 재머 버스트 프로젝터 사이클 시간 감소\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"실드 버스트 및 정보전 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"칼다리 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться сверхмощными активными усилителями систем захвата целей (Networked Sensor Array)\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться проекторами объёмных помех\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Подходит для запуска лёгких и тяжёлых истребителей\"\n          }, \n          {\n            \"text\": \"·Повышена дальность захвата целей\"\n          }, \n          {\n            \"number\": \"на 400%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"text\": \"·Может совершить групповой прыжок\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается урон бортового оружия истребителей\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 5+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла проекторов объёмного глушения захвата целей\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами щитов и импульсными оптимизаторами РЭБ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配联网感应器阵列\"\n          }, \n          {\n            \"text\": \"·可装配脉冲波投射器\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·可释放轻型和重型 铁骑舰载机\"\n          }, \n          {\n            \"text\": \"·可在更大范围内锁定\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"text\": \"·可以进行导管跳跃\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"铁骑舰载机伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ECM干扰脉冲波投射器运转周期缩短\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"护盾指挥和信息战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"加达里航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 23917\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können integrierte Sensor-Anlagen ausgerüstet werden\"\n          }, \n          {\n            \"text\": \"·Kann Capital-Mikrosprungantrieb und Capital-Mikrosprungfeldgenerator ausstatten\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Es können Leichte und Unterstützungs-Jäger gestartet werden\"\n          }, \n          {\n            \"text\": \"·Kann Ziele auf größere Entfernungen erfassen\"\n          }, \n          {\n            \"text\": \"·Gruppensprung-fähig\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von Jägern\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"Bonus auf die Trefferpunkte von Jägern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Warpstörungsreichweite von Siren-Unterstützungsjägern\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf die Nachbrennergeschwindigkeit von Sirenen-Unterstützungsjägern\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungkommando- und Gefechtkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Gallente Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Integrated Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Capital Micro Jump Drive and Capital Micro Jump Field Generator\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Support Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"bonus to Fighter hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Siren Support Fighter warp disruption range\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Siren Support Fighter afterburner speed bonus\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Armored Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Gallente Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar una red de sensores integrados.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un motor de microsalto capital y un generador de campo de microsalto capital.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Puede lanzar cazas ligeros y de apoyo.\"\n          }, \n          {\n            \"text\": \"·Puede fijar objetivos a mayores distancias.\"\n          }, \n          {\n            \"text\": \"·Capaz de salto conductivo.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de los cazas.\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"de bonificación a los puntos de vida de los cazas.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance de disrupción de warp de los cazas de apoyo Siren.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación al extra de velocidad del posquemador de los cazas de apoyo Siren.\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje y de mando de escaramuza.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de détection intégré\"\n          }, \n          {\n            \"text\": \"·Peut équiper un propulseur de microsaut capital et un générateur de champ de microsaut capital\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut larguer des chasseurs légers et des chasseurs de soutien\"\n          }, \n          {\n            \"text\": \"·Peut verrouiller des cibles à plus grande distance\"\n          }, \n          {\n            \"text\": \"·Capacité de saut de groupe\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des chasseurs\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"de bonus aux points de vie des chasseurs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée du perturbateur de warp des chasseurs de soutien du Siren\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la vitesse de la post-combustion du chasseur de soutien Siren\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindé et de commandement tactique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Integrated Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Capital Micro Jump Drive and Capital Micro Jump Field Generator\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Support Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"bonus to Fighter hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Siren Support Fighter warp disruption range\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Siren Support Fighter afterburner speed bonus\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"bonus to Armored Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Gallente Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·統合型センサーアレイを装備可能\"\n          }, \n          {\n            \"text\": \"·キャピタルマイクロジャンプドライブとキャピタル・マイクロジャンプフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"text\": \"·軽量級戦闘機と支援戦闘機の発着が可能\"\n          }, \n          {\n            \"text\": \"·長距離からロックオン可能\"\n          }, \n          {\n            \"text\": \"·コンジットジャンプに対応\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"戦闘機ダメージが増加\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"戦闘機HPが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"セイレーン支援戦闘機のワープ妨害範囲が拡大\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \" 支援戦闘機「サイレン」のアフターバーナー速度にボーナス\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"アーマードコマンドバーストと機動戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·통합 센서 장비 장착 가능\"\n          }, \n          {\n            \"text\": \"·캐피탈 마이크로 점프 드라이브 및 캐피탈 마이크로 점프 필드 생성기 피팅 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·라이트 파이터 및 지원형 파이터 사출 가능\"\n          }, \n          {\n            \"text\": \"·타겟 거리 증가\"\n          }, \n          {\n            \"text\": \"·점프 필드 생성 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"파이터 피해량 증가\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"파이터 내구도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"사이렌 서포트 파이터 워프 디스럽션 사거리 증가\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"사이렌 서포트 파이터 애프터버너 속도 증가\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"장갑 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"갈란테 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Можно оснастить интегрированным усилителем сенсоров\"\n          }, \n          {\n            \"text\": \"·Можно оснастить маневровым гипердвигателем КБТ и генератором разгонного поля КБТ\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут запускать истребители (лёгкие и истребители поддержки)\"\n          }, \n          {\n            \"text\": \"·Повышена дальность захвата целей\"\n          }, \n          {\n            \"text\": \"·Может совершить групповой прыжок\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон бортового оружия истребителей\"\n            }, \n            {\n              \"number\": \"на 2.5%\", \n              \"text\": \"повышается запас прочности истребителей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается оптимальная дальность действия варп-подавителей, применяемых истребителями поддержки типа «Сирена»\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"бонус к мощности форсажных ускорителей для истребителей поддержки Siren\"\n            }, \n            {\n              \"number\": \"на 1%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони и импульсными оптимизаторами маневрирования\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配集成传感器阵列\"\n          }, \n          {\n            \"text\": \"·可以装配旗舰级微型跳跃引擎和旗舰级微型跳跃力场发生器\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·可释放轻型和后勤 铁骑舰载机\"\n          }, \n          {\n            \"text\": \"·可在更大范围内锁定\"\n          }, \n          {\n            \"text\": \"·可以进行导管跳跃\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"铁骑舰载机伤害加成\"\n            }, \n            {\n              \"number\": \"2.5%\", \n              \"text\": \"铁骑舰载机HP加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"塞壬后勤铁骑舰载机跃迁干扰范围加成\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"塞壬后勤铁骑舰载机加力燃烧器速度加成\"\n            }, \n            {\n              \"number\": \"1%\", \n              \"text\": \"装甲指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"盖伦特航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 23911\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Vernetzte Sensoranlagen eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es können Pulsprojektoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann zwei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Kann leichte und schwere Jäger starten\"\n          }, \n          {\n            \"text\": \"·Kann Ziele auf größere Entfernungen erfassen\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Widerstand gegen Sensorferndämpfer\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Erhöhung der Fernunterstützungsimpedanz auf Elektronik\"\n          }, \n          {\n            \"text\": \"·Gruppensprung-fähig\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von Jägern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Trefferpunkte von Jägern\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Zykluszeit von Sensordämpfer-Pulsprojektoren\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungkommando- und Gefechtkommandostrahlen\"\n            }\n          ], \n          \"header\": \"Gallente Carrier Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Networked Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Burst Projectors\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter hitpoints\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Sensor Dampening Burst Projector cycle time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Gallente Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar una red de sensores conectados.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar proyectores de estallido.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar dos módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Puede lanzar cazas ligeros y pesados.\"\n          }, \n          {\n            \"text\": \"·Puede fijar objetivos a mayores distancias.\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"text\": \"·Capaz de salto conductivo.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de los cazas.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los puntos de vida de los cazas.\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del tiempo de ciclo del proyector de estallido de atenuación de sensores.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje y de mando de escaramuza.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Portanaves gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un réseau matriciel de détection\"\n          }, \n          {\n            \"text\": \"·Peut être équipé de projecteurs à salves\"\n          }, \n          {\n            \"text\": \"·Peut utiliser deux salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Peut lancer des chasseurs légers et lourds\"\n          }, \n          {\n            \"text\": \"·Peut verrouiller des cibles à plus grande distance\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"text\": \"·Capacité de saut de groupe\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des chasseurs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux points de vie des chasseurs\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du temps de cycle des projecteurs à salves d'atténuation de détection\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandement blindé et de commandement tactique.\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Porte-vaisseaux gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Networked Sensor Array\"\n          }, \n          {\n            \"text\": \"·Can fit Burst Projectors\"\n          }, \n          {\n            \"text\": \"·Can use two Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Can launch Light and Heavy Fighters\"\n          }, \n          {\n            \"text\": \"·Can lock at extended ranges\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"text\": \"·Conduit Jump capable\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Fighter damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Fighter hitpoints\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Sensor Dampening Burst Projector cycle time\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command and Skirmish Command burst strength and duration\"\n            }\n          ], \n          \"header\": \"Gallente Carrier bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ネットワーク式センサー施設を装備可能\"\n          }, \n          {\n            \"text\": \"·バーストプロジェクターを装備可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは2個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"text\": \"·軽・重戦闘機が発艦可能\"\n          }, \n          {\n            \"text\": \"·長距離からロックオン可能\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"アーマープレートとシールド拡張器にボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートセンサーダンプナーのレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ステイシス効果レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモート電子アシスタンスインピーダンスが増加\"\n          }, \n          {\n            \"text\": \"·コンジットジャンプに対応\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"戦闘機ダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"戦闘機HPが増加\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"センサーダンプニングバーストプロジェクターのサイクル時間が減少\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"アーマードコマンドバーストと機動戦コマンドバーストの強度と持続時間が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ艦載機母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·네트워크 센서 장비 장착 가능\"\n          }, \n          {\n            \"text\": \"·버스트 프로젝터 장착 가능\"\n          }, \n          {\n            \"text\": \"·두개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·파이터 (라이트 파이터 및 헤비 파이터) 사출 가능\"\n          }, \n          {\n            \"text\": \"·타겟 거리 증가\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 센서 댐프너 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"text\": \"·점프 필드 생성 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"파이터 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"파이터 내구도 증가\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"센서 교란 버스트 프로젝터 사이클 시간 감소\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"장갑 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }\n          ], \n          \"header\": \"갈란테 캐리어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться сверхмощными активными усилителями систем захвата целей (Networked Sensor Array)\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться проекторами объёмных помех\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до двух импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Подходит для запуска лёгких и тяжёлых истребителей\"\n          }, \n          {\n            \"text\": \"·Повышена дальность захвата целей\"\n          }, \n          {\n            \"number\": \"на 400%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"text\": \"·Может совершить групповой прыжок\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия истребителей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается запас прочности истребителей\"\n            }, \n            {\n              \"number\": \"на 5+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла проекторов объёмного подавления захвата целей\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони и импульсными оптимизаторами маневрирования\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские КАРы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可装配联网感应器阵列\"\n          }, \n          {\n            \"text\": \"·可装配脉冲波投射器\"\n          }, \n          {\n            \"text\": \"·可以装配两个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·可释放轻型和重型 铁骑舰载机\"\n          }, \n          {\n            \"text\": \"·可在更大范围内锁定\"\n          }, \n          {\n            \"number\": \"400%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"text\": \"·可以进行导管跳跃\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"铁骑舰载机伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"铁骑舰载机HP加成\"\n            }, \n            {\n              \"number\": \"5+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"感应抑阻脉冲波投射器运转周期缩短\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"装甲指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }\n          ], \n          \"header\": \"盖伦特航空母舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 23913\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite und Nachführungsgeschwindigkeit von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Drone optimal range and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo y el alcance óptimo de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux points de vie du drone\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale et à la vitesse de poursuite du drone\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Drone optimal range and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイント、ダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ドローンの最適射程距離、追跡速度が増大\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"드론 최적사거리 및 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель бортового оружия дронов, увеличивается оптимальная дальность его действия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP和伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"无人机最佳射程和跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34441\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des Masseabzugs von Panzerplatten\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduzierung des Hitzeschadens von Modulen\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Nachbrennern und Mikrowarpantrieben\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Reparaturmenge von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit und optimale Reichweite von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Assault Frigates Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Armor Plate mass penalty\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in module heat damage amount taken\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed and optimal range\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de la penalización de masa de la placa de blindaje.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la cantidad de daño por calor del módulo.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los posquemadores y los motores de microwarp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo y el alcance óptimo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragatas de asalto (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction à la pénalité de masse du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction aux dégâts de chaleur subis par un module\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et perturbateurs de warp\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe sur les Systèmes de post-combustion et les propulseurs de microwarp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité réparatrice du réparateur de blindage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite et à la portée optimale des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégates d’assaut :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Armor Plate mass penalty\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in module heat damage amount taken\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed and optimal range\"\n            }\n          ], \n          \"header\": \"Assault Frigates bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"アーマープレートの質量ペナルティが減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"モジュールが受けるヒートダメージ量が軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたアフターバーナーとマイクロワープドライブの恩恵にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"アーマーリペアラの回復量増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度と最適射程距離にボーナス\"\n            }\n          ], \n          \"header\": \"強襲型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"장갑 플레이트 질량 페널티 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"모듈이 받는 열 피해 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"애프터버너 및 마이크로 워프 드라이브 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 및 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"어썰트 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"снижение штрафа за массу для бронеплит\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижение теплового урона, получаемого модулями\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к оптимальной дальности варп-глушителей и варп-подавителей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к преимуществам перегрева форсажных ускорителей и микроварп-ускорителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к эффективности установки ремонта брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к скорости наведения и оптимальной дальности малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"附甲板质量惩罚降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"减少装备遭受的超载损伤\"\n          }, \n          {\n            \"text\": \"·可以装配突击型损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器有效距离加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"加力燃烧器和微型跃迁推进器过载效果加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度和有效距离加成\"\n            }\n          ], \n          \"header\": \"突击护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 78414\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Doomsday-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann ein Phänomengenerator-Modul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Es kann ein Sprungtor-Generator-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es kann ein Klonbucht-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann drei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Sensordämpfer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Waffenstörer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Erhöhung der Fernunterstützungsimpedanz auf Elektronik\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"Bonus auf den Kinetikschaden von XL-Marschflugkörpern und XL-Torpedos\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"Bonus auf den EM-, Explosions- und Thermalschaden von XL-Marschflugkörpern und XL-Torpedos\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Feuerrate von XL-Marschflugkörperwerfern und XL-Torpedowerfern\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Caldari Titan Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"bonus to kinetic XL Cruise and XL Torpedo damage\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus to EM, explosive and thermal XL Cruise and XL Torpedo damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to XL Cruise Missile Launchers and XL Torpedo Launchers rate of fire\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Caldari Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo apocalíptico.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de fenómenos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de portales de salto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de plataforma de contenedores de clonación.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar tres módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de disrupción de armas.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"de bonificación al daño cinético de los misiles de crucero XL y los torpedos XL.\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"de bonificación al daño electromagnético, explosivo y térmico de los misiles de crucero XL y los torpedos XL.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonificación a la cadencia de tiro de los lanzamisiles de crucero XL y los lanzatorpedos XL.\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Titán caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'une arme d'annihilation\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un module de générateur de phénomènes\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un générateur de portail interstellaire\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'une plateforme de clonage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser trois salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux perturbateurs d'armement\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles de croisière XL et des torpilles XL\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"de bonus aux dégâts EM, explosifs et thermiques des missiles de croisière XL et des torpilles XL\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"augmente la cadence de tir des lance-missiles de croisière XL et lance-torpilles XL\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Titan caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"bonus to kinetic XL Cruise and XL Torpedo damage\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"bonus to EM, explosive and thermal XL Cruise and XL Torpedo damage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to XL Cruise Missile Launchers and XL Torpedo Launchers rate of fire\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Caldari Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ドゥームズデイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·現象ジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·ジャンプポータルジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·クローンバットベイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは3個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"アーマープレートとシールド拡張器にボーナス\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"センサーダンプナーのレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"兵器妨害レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"ステイシス効果レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"リモート電子アシスタンスインピーダンスが増加\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"キネティックXLクルーズとXLトルピードダメージにボーナス\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"EM、エクスプローシブ、そしてサーマルXLクルーズとXLトルピードダメージにボーナス\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"XLクルーズミサイルランチャー、XLトルピードランチャーの発射間隔にボーナス\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }\n          ], \n          \"header\": \"カルダリタイタンボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·둠스데이모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·특이점 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 포탈 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 클론 격납고 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·세개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"센서 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"무기 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"XL 크루즈 미사일, XL 토피도 키네틱 피해량 증가\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"XL 크루즈 미사일, XL 토피도 EM, 폭발, 열 피해량 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"XL 크루즈 미사일 런처 및 XL 토피도 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 타이탄 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться орудиями Судного дня\"\n          }, \n          {\n            \"text\": \"·Позволяет установить модуль генератора аномалий\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться генераторами гиперпорталов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться отсеками клонирования\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до трёх импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 500%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию помех на системы наводки вооружения\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 50%\", \n              \"text\": \"бонус к кинетическому урону сверхбольших дальнобойных ракет и сверхбольших торпед\"\n            }, \n            {\n              \"number\": \"на 40%\", \n              \"text\": \"бонус к взрывному, термальному и ЭМ-урону сверхбольших дальнобойных ракет и сверхбольших торпед\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"бонус к скорострельности пусковой установки для сверхбольших дальнобойных ракет и пусковой установки для сверхбольших торпед\"\n            }, \n            {\n              \"number\": \"на 10+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские титаны:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个末日武器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个现象发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个克隆舱装备\"\n          }, \n          {\n            \"text\": \"·可以装配三个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"武器干扰抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"50%\", \n              \"text\": \"超大型巡航导弹和超大型鱼雷动能伤害加成\"\n            }, \n            {\n              \"number\": \"40%\", \n              \"text\": \"超大型巡航导弹、超大型鱼雷电磁、爆炸和热能伤害加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"超大型巡航导弹反射器和超大型鱼雷发射器射速加成\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"加达里泰坦操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 3764\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Zielmarkierungsmodulen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Zielmarkierungsmodulen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter optimal range\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del revelador de objetivo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo del revelador de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité des marqueurs de cible\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des marqueurs de cible\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Target Painter effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Target Painter optimal range\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ターゲットペインターの効果が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ターゲットペインターの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"타겟 페인터 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"타겟 페인터 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия систем подсветки целей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность действия систем подсветки целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"目标标记装置效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"目标标记装置最佳射程加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 3766\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"der Dauer von Eisschürfern\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"der Aktivierungskosten von Eisschürfern\"\n          }, \n          {\n            \"number\": \"-15%\", \n            \"text\": \"der Dauer von Oberflächen-Bergbaulasern\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"der Aktivierungskosten von Oberflächen-Bergbaulasern\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"der Dauer von Gas-Extraktoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"der Ausbeute von Oberflächen-Bergbaulasern\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"Bonus auf die Reichweite von Oberflächen-Bergbaulasern und Eisschürfern\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"der Dauer von Eisschürfern\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"der Dauer von Gas-Extraktoren\"\n            }\n          ], \n          \"header\": \"Mining Barge Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"der Dauer von Eisschürfern\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"der Dauer von Oberflächen-Bergbaulasern\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"der Ausbeute von Oberflächen-Bergbaulasern\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"der Dauer von Gas-Extraktoren\"\n            }\n          ], \n          \"header\": \"Exhumers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"in Ice Harvester duration\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"in Ice Harvester activation cost\"\n          }, \n          {\n            \"number\": \"-15%\", \n            \"text\": \"in Strip Miner duration\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"in Strip Miner activation cost\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"in Gas Harvester duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"in Strip Miner yield\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to Strip Miner and Ice Harvester range\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Gas Harvester duration\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"in Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Strip Miner duration\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"in Strip Miner yield\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Gas Harvester duration\"\n            }\n          ], \n          \"header\": \"Exhumers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"en la duración de la cosechadora de hielo.\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"en el coste de activación de la cosechadora de hielo.\"\n          }, \n          {\n            \"number\": \"-15%\", \n            \"text\": \"en la duración del extractor minero.\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"en el coste de activación del extractor minero.\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"en la duración de la cosechadora de gas.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"en la producción del extractor minero.\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonificación al alcance del extractor minero y la cosechadora de hielo.\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"en la duración de la cosechadora de hielo.\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"en la duración de la cosechadora de gas.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Gabarra minera (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"en la duración de la cosechadora de hielo.\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"en la duración del extractor minero.\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"en la producción del extractor minero.\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"en la duración de la cosechadora de gas.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Exhumadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"à la durée des collecteurs de glace\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"au coût d'activation des collecteurs de glace\"\n          }, \n          {\n            \"number\": \"-15%\", \n            \"text\": \"à la durée des lasers d'extraction intensive\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"au coût d'activation des lasers d'extraction intensive\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"à la durée des collecteurs de gaz\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"au rendement des lasers d'extraction intensive\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"de bonus à la portée des lasers d'extraction intensive et des collecteurs de glace\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"à la durée des collecteurs de glace\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"à la durée des collecteurs de gaz\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Barge d'extraction minière :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"à la durée des collecteurs de glace\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"à la durée des lasers d'extraction intensive\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"au rendement des lasers d'extraction intensive\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"à la durée des collecteurs de gaz\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Exhumers :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"in Ice Harvester duration\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"in Ice Harvester activation cost\"\n          }, \n          {\n            \"number\": \"-15%\", \n            \"text\": \"in Strip Miner duration\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"in Strip Miner activation cost\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"in Gas Harvester duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"in Strip Miner yield\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"bonus to Strip Miner and Ice Harvester range\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Gas Harvester duration\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"in Ice Harvester duration\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Strip Miner duration\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"in Strip Miner yield\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"in Gas Harvester duration\"\n            }\n          ], \n          \"header\": \"Exhumers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"アイス採掘機サイクル時間ボーナス\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"アイス採掘機の起動コスト\"\n          }, \n          {\n            \"number\": \"-15%\", \n            \"text\": \"ストリップマイナーサイクル時間ボーナス\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"ストリップマイナー起動コストボーナス\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"ガス採掘機サイクル時間ボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"ストリップマイナー採掘量ボーナス\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"ストリップマイナーとアイス採掘の範囲が増加\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"アイス採掘機サイクル時間ボーナス\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"ガス採掘機サイクル時間ボーナス\"\n            }\n          ], \n          \"header\": \"採掘艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"アイス採掘機サイクル時間ボーナス\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"ストリップマイナーサイクル時間ボーナス\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"ストリップマイナー採掘量ボーナス\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"ガス採掘機サイクル時間ボーナス\"\n            }\n          ], \n          \"header\": \"特化型採掘艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"아이스 채굴기 지속시간\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"아이스 채굴기 활성화 비용\"\n          }, \n          {\n            \"number\": \"-15%\", \n            \"text\": \"가속 채굴기 지속시간\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"가속 채굴기 활성화 비용\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"가스 하베스터 지속시간\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"가속 채굴기 채굴량\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"가속 채굴기 및 아이스 채굴기 사거리 증가\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"아이스 채굴기 지속시간\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"가스 하베스터 지속시간\"\n            }\n          ], \n          \"header\": \"채광선 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"아이스 채굴기 지속시간\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"가속 채굴기 지속시간\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"가속 채굴기 채굴량\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"가스 하베스터 지속시간\"\n            }\n          ], \n          \"header\": \"익스허머 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на -30%\", \n            \"text\": \"от времени работы установок для бурения льда\"\n          }, \n          {\n            \"number\": \"на -25%\", \n            \"text\": \"от потребления энергии при активации установки для бурения льда\"\n          }, \n          {\n            \"number\": \"на -15%\", \n            \"text\": \"от времени работы буровых лазеров валовой выемки\"\n          }, \n          {\n            \"number\": \"на -25%\", \n            \"text\": \"от потребления энергии при активации бурового лазера валовой выемки\"\n          }, \n          {\n            \"number\": \"на -30%\", \n            \"text\": \"от времени работы установок для сбора газа\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 3%\", \n              \"text\": \"от эффективности добычи буровых лазеров валовой выемки\"\n            }, \n            {\n              \"number\": \"на 6%\", \n              \"text\": \"повышается дальность действия буровых лазеров валовой выемки и установок для бурения льда\"\n            }, \n            {\n              \"number\": \"на -3%\", \n              \"text\": \"от времени работы установок для бурения льда\"\n            }, \n            {\n              \"number\": \"на -3%\", \n              \"text\": \"от времени работы установок для сбора газа\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Буровые корабли:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на -4%\", \n              \"text\": \"от времени работы установок для бурения льда\"\n            }, \n            {\n              \"number\": \"на -3%\", \n              \"text\": \"от времени работы буровых лазеров валовой выемки\"\n            }, \n            {\n              \"number\": \"на 6%\", \n              \"text\": \"от эффективности добычи буровых лазеров валовой выемки\"\n            }, \n            {\n              \"number\": \"на -3%\", \n              \"text\": \"от времени работы установок для сбора газа\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Тяжёлые буровые корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"-30%\", \n            \"text\": \"冰矿采集器运转周期\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"冰矿采集器启动消耗\"\n          }, \n          {\n            \"number\": \"-15%\", \n            \"text\": \"露天采矿器运转周期\"\n          }, \n          {\n            \"number\": \"-25%\", \n            \"text\": \"露天采矿器启动消耗\"\n          }, \n          {\n            \"number\": \"-30%\", \n            \"text\": \"气云采集器运转周期\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"露天采矿器开采量\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"露天采矿器和冰矿采集器射程加成\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"冰矿采集器运转周期\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"气云采集器运转周期\"\n            }\n          ], \n          \"header\": \"采矿驳船操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"-4%\", \n              \"text\": \"冰矿采集器运转周期\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"露天采矿器运转周期\"\n            }, \n            {\n              \"number\": \"6%\", \n              \"text\": \"露天采矿器开采量\"\n            }, \n            {\n              \"number\": \"-3%\", \n              \"text\": \"气云采集器运转周期\"\n            }\n          ], \n          \"header\": \"采掘者操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22544\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduzierte effektiv zurückgelegte Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 670\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Doomsday-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann ein Phänomengenerator-Modul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Es kann ein Sprungtor-Generator-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es kann ein Klonbucht-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann drei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Sensordämpfer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Waffenstörer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Erhöhung der Fernunterstützungsimpedanz auf Elektronik\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Capital-Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Titan Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"bonus to Capital Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Gallente Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo apocalíptico.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de fenómenos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de portales de salto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de plataforma de contenedores de clonación.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar tres módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia del atenuador de sensor.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de disrupción de armas.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida capital.\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Titán gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'une arme d'annihilation\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un module de générateur de phénomènes\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un générateur de portail interstellaire\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'une plateforme de clonage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser trois salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux perturbateurs d'armement\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides capitales\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles hybrides capitales\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Titan gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"bonus to Capital Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Gallente Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ドゥームズデイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·現象ジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·ジャンプポータルジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·クローンバットベイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは3個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"アーマープレートとシールド拡張器にボーナス\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"センサーダンプナーのレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"兵器妨害レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"ステイシス効果レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"リモート電子アシスタンスインピーダンスが増加\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"キャピタルハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }\n          ], \n          \"header\": \"ガレンテタイタンボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·둠스데이 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·특이점 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 포탈 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 클론 격납고 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·세개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"센서 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"무기 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"캐피탈 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"갈란테 타이탄 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться орудиями Судного дня\"\n          }, \n          {\n            \"text\": \"·Позволяет установить модуль генератора аномалий\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться генераторами гиперпорталов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться отсеками клонирования\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до трёх импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 500%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию помех на системы наводки вооружения\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 180%\", \n              \"text\": \"увеличивается урон боеприпасов сверхбольших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность сверхбольших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские титаны:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个末日武器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个现象发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个克隆舱装备\"\n          }, \n          {\n            \"text\": \"·可以装配三个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"武器干扰抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"旗舰级混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"盖伦特泰坦操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 671\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduzierte effektiv zurückgelegte Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Immun gegen Unterbrechungsfeldwerfer, Warpstörfeldgeneratoren und mobile kleine , mittelgroße und große Warpstörer\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Inmune al lanzaesferas de interdicción, al generador de campo disruptor de warp y al disruptor de warp móvil pequeño, mediano y grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·Immunité contre les lanceurs de sphère d'interdiction, générateurs de champ perturbateur de warp et perturbateurs de warp mobiles légers, intermédiaires et grands perturbateurs de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·インターディクションスフィアランチャー、ワープ妨害フィールドジェネレーター、小型、中型、大型移動式ワープ妨害器の影響を受けない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·인터딕션 런처, 워프 디스럽션 필드 생성기, 이동식 소형/중형/대형 워프 디스럽터에 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию систем запуска заградительных сфер, бортовых варп-заградителей, а также полевых варп-заградителей малой, средней и большой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·对拦截泡发射器、跃迁扰断力场发生器与小型、中型及大型机动跃迁扰断器免疫\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 672\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"Bonus auf den Schaden von mittleren Projektilwaffentürmen und schweren Angriffslenkwaffen\"\n          }, \n          {\n            \"text\": \"·Kann ein Kommandostrahlen-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittleren Projektilwaffentürmen und die Geschwindigkeit von Lenkwaffen\"\n          }, \n          {\n            \"text\": \"·Kann einen mittelgroßen Kapselbrecher-Werfer ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung ausrüsten\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion der CPU-Anforderung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Verzögerung bei Reaktivierung des Tarnmoduls auf 15 Sekunden reduziert\"\n          }, \n          {\n            \"text\": \"·Immun gegen alle Frachtscanner\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Resistenz des Schiffs gegen Stasisnetze\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"bonus to Medium Projectile Turret and Heavy Assault Missile damage\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret optimal range and falloff and Missile velocity\"\n          }, \n          {\n            \"text\": \"·Can fit one Medium Breacher Pod Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship Stasis Webifier resistance\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"de bonificación al daño de las torretas de proyectiles medianas y los misiles de asalto pesados.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta de proyectiles mediana y a la velocidad de los misiles.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un lanzacápsulas de ataque mediano.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Se reduce la demora de reactivación del camuflaje a 15 segundos.\"\n          }, \n          {\n            \"text\": \"·Inmune a todos los escáneres de carga.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la resistencia a redes ralentizadoras de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"de bonus aux dégâts des tourelles à projectiles intermédiaires et des missiles d'assaut lourds\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un module de salve de commandement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale et à la déperdition des tourelles à projectiles intermédiaires et à la vitesse des missiles\"\n          }, \n          {\n            \"text\": \"·Peut recevoir un lanceur de capsules de brèche intermédiaire\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 15 secondes\"\n          }, \n          {\n            \"text\": \"·Immunisé contre tous les scanners de soute\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la résistance aux générateurs de stase du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"bonus to Medium Projectile Turret and Heavy Assault Missile damage\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Projectile Turret optimal range and falloff and Missile velocity\"\n          }, \n          {\n            \"text\": \"·Can fit one Medium Breacher Pod Launcher\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship Stasis Webifier resistance\"\n            }\n          ], \n          \"header\": \"Minmatar Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"中型プロジェクタイルタレットとヘビーアサルトミサイルのダメージにボーナス\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュール1個使用可能\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型プロジェクタイルタレットの最適射程距離と精度低下範囲、ミサイル速度にボーナス\"\n          }, \n          {\n            \"text\": \"·中型突入ポッドランチャーを1つ装備可能\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置を装備可能\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延を15秒に短縮\"\n          }, \n          {\n            \"text\": \"·全てのカーゴスキャナーへの耐性\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースター量が増加\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のステイシスウェビファイヤー耐性にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"중형 발사체 터렛 및 헤비 어썰트 미사일 피해량 증가\"\n          }, \n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 발사체 터렛 최적사거리, 유효사거리, 미사일 속도 증가\"\n          }, \n          {\n            \"text\": \"·중형 침투 포드 런처 1대 장착 가능\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 장착 가능\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 15초로 감소\"\n          }, \n          {\n            \"text\": \"·화물 스캐너 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"함선의 스테이시스 웹 생성기 저항력 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 125%\", \n            \"text\": \"бонус к урону средних баллистических орудий и тяжёлых штурмовых ракет\"\n          }, \n          {\n            \"text\": \"·Может использовать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к оптимальной и остаточной дальности средних баллистических орудий, а также к скорости полёта ракет\"\n          }, \n          {\n            \"text\": \"·Возможна установка одной средней ПУ внедряющихся капсул\"\n          }, \n          {\n            \"text\": \"·Возможна установка всережимной системы маскировки\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"снижение требований к ЦПУ для систем маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки снижена до 15 секунд\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию любых сканеров груза\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности восстановителя щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линейные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к сопротивляемости стазис-индукторам\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"125%\", \n            \"text\": \"中型射弹炮台和重型攻击导弹伤害加成\"\n          }, \n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型射弹炮台最佳射程和失准范围及导弹飞行速度加成\"\n          }, \n          {\n            \"text\": \"·可以装配一个中型突破者座舱发射器\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延迟降到15秒\"\n          }, \n          {\n            \"text\": \"·免疫所有货舱扫描\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }\n          ], \n          \"header\": \"加达里战列巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船停滞缠绕抗性加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 85086\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Schaden von mittelgroßen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops Tarnvorrichtungen eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 15 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Medium Energy Turret optimal range and damage\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo y al daño de la torreta de energía mediana.\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 15 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale et aux dégâts de la tourelle à énergie intermédiaire\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonus au rendement des réacteurs et des sondes d'exploration de combat\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut équiper un dispositif de camouflage opérations secrètes\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 15 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux PV des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Medium Energy Turret optimal range and damage\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"中型エネルギータレットの最適射程距離とダメージにボーナス\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }, \n          {\n            \"text\": \"·隠密行動用遮蔽装置を装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が15秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"중형 에너지 터렛 최적사거리 및 피해량 증가\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 15초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к оптимальной дальности и урону средних лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 37.5%\", \n            \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 15 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"中型能量炮台最佳射程和伤害加成\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"核心和作战扫描探针强度加成\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到15秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33470\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Scansondenwerfern\"\n          }, \n          {\n            \"text\": \"·Modifikationen können unbeschadet von diesem Schiff entfernt werden.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Minmatar-Kernsysteme\"\n            }\n          ], \n          \"header\": \"Minmatar Core Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Verringerung des Modulschadens durch Überhitzung\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Reparaturgeschwindigkeit von Nanobot-Reparaturpaste\"\n            }\n          ], \n          \"header\": \"Minmatar Strategic Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller  Minmatar-Defensivsysteme\"\n            }\n          ], \n          \"header\": \"Minmatar Defensive Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller Minmatar-Schiffsantriebe\"\n            }\n          ], \n          \"header\": \"Minmatar Propulsion Systems Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·Bonus auf die Effektivität aller  Minmatar-Offensivsysteme\"\n            }\n          ], \n          \"header\": \"Minmatar Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Rigs may be removed from this ship without being destroyed\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Minmatar Core Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Core Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to nanite repair paste repair speed\"\n            }\n          ], \n          \"header\": \"Minmatar Strategic Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Minmatar Defensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Defensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Minmatar Propulsion Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Propulsion Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Minmatar Offensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de reducción de los requisitos de CPU del lanzasondas de escaneo.\"\n          }, \n          {\n            \"text\": \"·Es posible quitar los complementos de esta nave sin destruirlos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas centrales minmatarianos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales minmatarianos (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del daño del módulo por sobrecalentamiento.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de reconstrucción del fluido reparador de nanobots.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero estratégico minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas defensivos minmatarianos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas defensivos minmatarianos (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas de propulsión minmatarianos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas de propulsión minmatarianos (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonificación a la efectividad de todos los sistemas ofensivos minmatarianos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"de réduction de la charge CPU requise pour les lanceurs de sondes de balayage\"\n          }, \n          {\n            \"text\": \"·Les modifications de ce vaisseau peuvent être retirées sans être détruites\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·de bonus à l'efficacité de tous les systèmes principaux minmatar\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction de la détérioration du module suite à la surchauffe\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la vitesse de réparation des nanites de réparation\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur stratégique minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus à l'efficacité de tous les systèmes défensifs minmatar\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de défense minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus à l'efficacité de tous les systèmes de propulsion minmatar\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes de propulsion minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus à l'efficacité de tous les systèmes offensifs minmatar\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"reduction in Scan Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Rigs may be removed from this ship without being destroyed\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Minmatar Core Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Core Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to nanite repair paste repair speed\"\n            }\n          ], \n          \"header\": \"Minmatar Strategic Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Minmatar Defensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Defensive Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Minmatar Propulsion Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Propulsion Systems bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·bonus to all Minmatar Offensive Systems effectiveness\"\n            }\n          ], \n          \"header\": \"Minmatar Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"スキャンプローブランチャーのCPU使用率を軽減\"\n          }, \n          {\n            \"text\": \"·艦船を破壊せずにリグを取り外せることがある\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのミンマターコアシステムの効果が増大\"\n            }\n          ], \n          \"header\": \"ミンマター・コアシステムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"オーバーヒート時のモジュールダメージを軽減\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ナノマシンリペアペイストの速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター戦略的巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのミンマター防御システムの効果が増加\"\n            }\n          ], \n          \"header\": \"ミンマター防御システムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのミンマター推進力システムの効果が増加\"\n            }\n          ], \n          \"header\": \"ミンマター推進力システムボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·全てのミンマター攻撃システムの効果が増加 \"\n            }\n          ], \n          \"header\": \"ミンマター攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"스캔 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·리그를 파괴하지 않고 해제 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·민마타 코어 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 코어 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"과부하로 인한 모듈 손상 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"나나이트 용액 수리 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 전략 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·민마타 방어용 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 방어용 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·민마타 추진기 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 추진기 시스템 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·민마타 공격용 시스템 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 99%\", \n            \"text\": \"сокращается потребность пусковых установок разведзондов в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·Из кораблей этого типа модификаторы извлекаются без разрушения\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия минматарских центральных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские центральные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается объём повреждений модулей, получаемых ими при перегрузке\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость ремонта модулей ремонтной нанопастой\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские стратегические крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия минматарских оборонительных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские оборонительные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия минматарских двигательных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские двигательные подсистемы:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·повышается эффективность действия минматарских наступательных подсистем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"99%\", \n            \"text\": \"扫描探针发射器CPU需求降低\"\n          }, \n          {\n            \"text\": \"·改装件从舰船上移除不会销毁\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·米玛塔尔核心子系统效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔核心系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"装备过载损伤降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"纳米体修复粘合剂维修速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战略巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·米玛塔尔防御子系统效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔防御子系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·米玛塔尔推进子系统效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔推进子系统每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"text\": \"·米玛塔尔攻击子系统效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 29990\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf dem Schaden von mittelgroßen Energiegeschütztürmen, mittelgroßen Hybridgeschütztürmen und mittelgroßen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf den Schaden von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n          }, \n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Medium Energy Turret, Medium Hybrid Turret and Medium Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Heavy Missile and Heavy Assault Missile damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Drone hitpoints and damage\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación al daño de la torreta de energía mediana, la torreta híbrida mediana y la torreta de proyectiles mediana.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación al daño de los misiles pesados y los misiles de asalto pesados.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus aux dégâts des tourelles à énergie intermédiaires, des tourelles hybrides intermédiaires et des tourelles à projectiles intermédiaires\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus aux dégâts des missiles lourds et des missiles d'assaut lourds\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux dégâts et aux PV des drones\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Medium Energy Turret, Medium Hybrid Turret and Medium Projectile Turret damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Heavy Missile and Heavy Assault Missile damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Drone hitpoints and damage\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"中型エネルギータレット・中型ハイブリッドタレット・中型プロジェクタイルタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"ヘビーミサイルとヘビーアサルトミサイルのダメージが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ドローンのヒットポイントとダメージが増加\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"중형 에너지 터렛, 중형 하이브리드 터렛 및 중형 발사체 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 피해량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"드론 내구도 및 피해량 증가\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n          }, \n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 20%\", \n            \"text\": \"увеличивается урон боеприпасов средних лазерных орудий, средних гибридных орудий и средних баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"увеличивается урон БЧ тяжёлых ракет и тяжёлых штурмовых ракет\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n          }, \n          {\n            \"number\": \"на 37.5%\", \n            \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"中型能量炮台、中型混合炮台和中型射弹炮台伤害加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"重型导弹和重型攻击导弹伤害加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"无人机伤害和HP加成\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"核心和作战扫描探针强度加成\"\n          }, \n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 3756\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Erzausbeute\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die kritische Trefferwahrscheinlichkeit von Bergbau\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der Dauer von Gaswolken-Extraktoren\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Bergungswahrscheinlichkeit von Bergungsdrohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Bergbau-Reichweite\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Erzausbeute\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Gaswolken-Extraktoren\"\n            }\n          ], \n          \"header\": \"Bergbauzerstörer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Mining yield\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Mining critical hit chance\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Gas Cloud Scoop duration\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Salvage Drone salvage chance\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Mining range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Gas Cloud Scoop duration\"\n            }\n          ], \n          \"header\": \"Mining Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al rendimiento minero.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la probabilidad de impacto crítico minero.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de la duración de la succión de nubes de gas.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la probabilidad de recuperación de los drones recuperadores.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance minero.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al rendimiento minero.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de la succión de nubes de gas.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minero (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus au rendement de l'activité d'extraction\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux chances de coup critique d'extraction minière\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction à la durée du récupérateur de nuages de gaz\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus aux chances de récupération des drones de récupération\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée d'extraction minière\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus au rendement de l'activité d'extraction\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité de boost des boosters de bouclier\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée du récupérateur de nuages de gaz\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer d'extraction :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Mining yield\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Mining critical hit chance\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Gas Cloud Scoop duration\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Salvage Drone salvage chance\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Mining range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Gas Cloud Scoop duration\"\n            }\n          ], \n          \"header\": \"Mining Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"採掘量にボーナス\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"採掘のクリティカル率にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ガス雲スクープの持続時間減少量\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"サルベージドローンのサルベージ成功率にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"採掘範囲にボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"採掘量にボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"シールドブースター量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ガス雲スクープの持続時間減少量\"\n            }\n          ], \n          \"header\": \"採掘用駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"채굴량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"대량 채굴 확률 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"가스 수집기 지속시간 감소\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"샐비지 드론 샐비지 확률 보너스\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"채굴 거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"채굴량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"가스 수집기 지속시간 감소\"\n            }\n          ], \n          \"header\": \"채굴 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"повышается производительность буровых лазеров\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к вероятности крит. удара при бурении\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"сокращение длительности рабочего цикла газочерпателя\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"бонус к шансу получения добычи дроном-демонтажником\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к дальности бурения\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность буровых лазеров\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к эффективности восстановителя щитов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращение длительности рабочего цикла газочерпателя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Mining Destroyer:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"采矿器采矿量加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"采矿暴击几率加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"气体云团回收运转周期缩短\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"打捞无人机打捞几率加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"采矿器采矿范围加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"采矿器采矿量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"气体云团回收运转周期缩短\"\n            }\n          ], \n          \"header\": \"采矿驱逐舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 89647\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Traktorstrahlen\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Bergungsmodulen\"\n            }\n          ], \n          \"header\": \"ORE Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Tractor Beam duration\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Tractor Beam range and velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"ORE Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de los rayos tractores.\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de los recuperadores.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías de ORE (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée des rayons de tractage\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"de bonus à la portée et à la vitesse des rayons de tractage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée des récupérateurs\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo de l'ORE :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Tractor Beam duration\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"bonus to Tractor Beam range and velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"ORE Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"トラクタービームの起動時間が短縮\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"トラクタービームの範囲と速度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"サルベージャーの起動時間が短縮\"\n            }\n          ], \n          \"header\": \"OREハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"트랙터 빔 지속시간 감소\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"샐비저 지속시간 감소\"\n            }\n          ], \n          \"header\": \"ORE 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла гравизахватов\"\n            }, \n            {\n              \"number\": \"на 60%\", \n              \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла демонтажных модулей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка ORE Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"牵引光束运转周期降低\"\n            }, \n            {\n              \"number\": \"60%\", \n              \"text\": \"牵引光束有效范围和牵引速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"打捞装置运转周期降低\"\n            }\n          ], \n          \"header\": \"联合矿业运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 2998\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Scansondenwerfern und Vermessungssondenwerfern\"\n          }, \n          {\n            \"text\": \"·Weitere Boni sind verfügbar, solange einer der drei Modi des taktischen Zerstörers aktiv ist. Zwischen den Modi kann nur alle 10 Sekunden umgeschaltet werden.\"\n          }, \n          {\n            \"text\": \"·Verteidigungsmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf alle Panzerungsresistenzen bei aktiviertem Verteidigungsmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Reduktion des Signaturradius des Schiffs bei aktiviertem Verteidigungsmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf die Leistung von Panzerungs-Fernreparatursystemen und Reduktion der Aktivierungskosten bei aktiviertem Verteidigungsmodus\"\n          }, \n          {\n            \"text\": \"·Antriebsmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Bonus auf den Geschwindigkeitsschub von Nachbrennern und Mikrowarpantrieben bei aktiviertem Antriebsmodus.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf den Trägheitsmodifikator von Schiffen bei aktiviertem Antriebsmodus\"\n          }, \n          {\n            \"text\": \"·Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Energiegeschütztürmen bei aktiviertem Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen bei aktiviertem Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Sensorstärke und Zielerfassungsreichweite bei aktiviertem Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"erhöhte Widerstandsfähigkeit gegen gegnerische Sensordämpfer und Waffenstörer bei aktiviertem Scharfschützenmodus\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduzierung des Hitzeschadens von Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Tactical Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Scan Probe Launcher and Survey Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Additional bonuses are available while one of three Tactical Destroyer Modes are active. Modes may be switched no more than once every 10 seconds.\"\n          }, \n          {\n            \"text\": \"·Defense Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to all armor resistances while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"reduction in ship signature radius while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Remote Armor Repairer repair amount and reduction in activation cost while Defense Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Propulsion Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Afterburner and Microwarpdrive speed boost while Propulsion Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to ship inertia modifier while Propulsion Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Sharpshooter Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Small Energy Turret optimal range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Small Energy Turret damage while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to sensor strength and targeting range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"increased resistances against hostile Sensor Dampeners and Weapon Disruptors while Sharpshooter Mode is enabled\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module heat damage amount taken\"\n            }\n          ], \n          \"header\": \"Amarr Tactical Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los requisitos de CPU del lanzasondas de escaneo y el lanzasondas de prospección.\"\n          }, \n          {\n            \"text\": \"·Hay bonificaciones adicionales disponibles mientras uno de los tres modos de destructor táctico está habilitado. No se puede cambiar de modo más de una vez cada 10 segundos.\"\n          }, \n          {\n            \"text\": \"·Modo de defensa\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación a todas las resistencias de blindaje mientras el modo de defensa está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de reducción del radio de la señal de la nave mientras el modo de defensa está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación a la cantidad de reparación del reparador de blindaje remoto y reducción del coste de activación mientras el modo de defensa está habilitado.\"\n          }, \n          {\n            \"text\": \"·Modo de propulsión\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonificación al impulso de velocidad del posquemador y el motor de microwarp mientras el modo de propulsión está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación al modificador de inercia de la nave mientras el modo de propulsión está habilitado.\"\n          }, \n          {\n            \"text\": \"·Modo de francotirador\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de energía pequeña mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación al daño de la torreta de energía pequeña mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la intensidad del sensor y la distancia-objetivo mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"más resistencia frente a atenuadores de sensor y disruptores de armas hostiles mientras el modo de francotirador está habilitado.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la cantidad de daño por calor del módulo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor táctico amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"de bonus aux dégâts de la petite tourelle à énergie\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"réduction des prérequis de CPU pour les lanceurs de sondes de balayage et de sondes d'inspection\"\n          }, \n          {\n            \"text\": \"·Des bonus supplémentaires sont disponibles tandis que l'un des trois modes de Destroyer tactiques est activé. Il n'est pas possible d'alterner les modes plus d'une fois toutes les 10 secondes.\"\n          }, \n          {\n            \"text\": \"·Mode de défense\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus à toutes les résistances de blindage lorsque le mode de défense est activé\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de réduction du rayon de signature du vaisseau lorsque le mode de défense est activé\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus au volume de réparation des réparateurs de blindage à distance et de réduction du coût d'activation lorsque le mode de défense est activé\"\n          }, \n          {\n            \"text\": \"·Mode de propulsion\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus à la vitesse de propulsion des systèmes de post-combustion et des propulseurs de microwarp lorsque le Mode Propulsion est activé.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus au modificateur d'inertie du vaisseau lorsque le mode de propulsion est activé\"\n          }, \n          {\n            \"text\": \"·Mode Sharpshooter\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles à énergie lorsque le Mode Sharpshooter est activé\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles à énergie lorsque le Mode Sharpshooter est activé.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la puissance de détection et à la portée de ciblage lorsque le mode Sharpshooter est activé.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus aux résistances contre les atténuateurs de détection et les perturbateurs d'armement ennemis lorsque le Mode Sharpshooter est activé.\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts de la petite tourelle à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation de la petite tourelle à énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction aux dégâts de chaleur subis par un module\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer tactique amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus to Small Energy Turret damage\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Scan Probe Launcher and Survey Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Additional bonuses are available while one of three Tactical Destroyer Modes are active. Modes may be switched no more than once every 10 seconds.\"\n          }, \n          {\n            \"text\": \"·Defense Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to all armor resistances while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"reduction in ship signature radius while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Remote Armor Repairer repair amount and reduction in activation cost while Defense Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Propulsion Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Afterburner and Microwarpdrive speed boost while Propulsion Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to ship inertia modifier while Propulsion Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Sharpshooter Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Small Energy Turret optimal range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Small Energy Turret damage while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to sensor strength and targeting range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"increased resistances against hostile Sensor Dampeners and Weapon Disruptors while Sharpshooter Mode is enabled\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module heat damage amount taken\"\n            }\n          ], \n          \"header\": \"Amarr Tactical Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"小型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"スキャンプローブランチャーおよび調査プローブランチャーのCPU前提要件が減少\"\n          }, \n          {\n            \"text\": \"·戦術駆逐艦モードが1つでも作動中であれば、さらにボーナスが増す。モードは10秒間に1回だけ切り替えることができます。\"\n          }, \n          {\n            \"text\": \"·防衛モード\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"防衛モードが有効であれば、全てのアーマーレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"防御モードが有効であれば、艦船のシグネチャ半径が縮小\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"防衛モード時、リモートアーマーリペアラのリペア量と起動コスト軽減にボーナス\"\n          }, \n          {\n            \"text\": \"·推進モード\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"推進モードを有効化している間、アフターバーナーとマイクロワープドライブのスピードブーストが上昇\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"推進モードが有効な間、艦船の慣性修正乗数が増加\"\n          }, \n          {\n            \"text\": \"·射撃モード\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"射撃モードが有効であれば、小型エネルギータレットの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"射撃モードを有効化している間、小型エネルギータレットのダメージが上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"射撃モードを有効化している間、センサー強度とターゲット範囲が増加\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"射撃モードを有効化している間、敵対勢力のセンサーダンプナーと兵器妨害器に対する耐性が増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型エネルギータレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"モジュールが受けるヒートダメージ量が軽減\"\n            }\n          ], \n          \"header\": \"アマー戦術駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"소형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"스캔 프로브 런처 및 조사 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·세 가지 모드 중 한 가지가 활성화 중일 때 추가 보너스가 부여됩니다. 10초에 한 번씩 모드를 전환할 수 있습니다.\"\n          }, \n          {\n            \"text\": \"·방어모드\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"방어 모드 활성화 중 모든 장갑 저항력 증가\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"방어 모드 활성화 중 함선 시그니처 반경 감소\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"원격 장갑수리 장치 회복량 증가 및 방어 모드 활성화 시 활성화 비용 감소\"\n          }, \n          {\n            \"text\": \"·추진 모드\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"추진 모드 활성화 중 애프터버너 및 마이크로 워프 드라이브 속도 증가\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"추진 모드 활성화 중 관성 계수 감소\"\n          }, \n          {\n            \"text\": \"·저격 모드\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"저격모드 활성화 중 소형 에너지 터렛 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"저격모드 활성화 중 소형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"저격모드 활성화 중 센서 강도 및 타겟팅 거리 증가\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"저격모드 활성화 중 센서 댐프너 및 무기 디스럽터 저항력 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"모듈이 받는 열 피해 감소\"\n            }\n          ], \n          \"header\": \"아마르 전술 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 33%\", \n            \"text\": \"увеличивается урон малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность пусковых установок разведзондов и пусковых установок лунных зондов в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·Дополнительные преимущества достигаются при входе в один из трёх доступных режимов многорежимного эсминца. Режимы можно переключать не чаще, чем раз в 10 секунд.\"\n          }, \n          {\n            \"text\": \"·Защитный режим\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия (при работе в защитном режиме)\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"уменьшается размер сигнатуры корабля (при работе в защитном режиме)\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"повышается эффективность модуля дистанционного ремонта брони и сокращается объём потребляемой им энергии (при работе в защитном режиме)\"\n          }, \n          {\n            \"text\": \"·Скоростной режим\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"повышается эффективность по приросту скорости форсажных ускорителей и микроварп-ускорителей (при работе в скоростном режиме)\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"повышается маневренность корабля (при работе в скоростном режиме)\"\n          }, \n          {\n            \"text\": \"·Снайперский режим\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых лазерных орудий (при работе в снайперском режиме)\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"увеличивается урон малых лазерных орудий (при работе в снайперском режиме)\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность захвата целей, а также эффективность штатных сенсорных систем (при работе в снайперском режиме)\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"повышается сопротивляемость действию вражеских модулей подавления захвата целей и постановщиков помех системам наводки (при работе в снайперском режиме)\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается урон малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается объём температурных повреждений модулей, получаемых ими при перегрузке\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские многорежимные эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"小型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"扫描探针发射器和测量探针发射器CPU需求降低\"\n          }, \n          {\n            \"text\": \"·当战术驱逐舰启用三种模式中的任意一种会获得额外加成。每10秒钟只能切换一次模式。\"\n          }, \n          {\n            \"text\": \"·防御模式\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用防御模式后装甲抗性加成\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用防御模式后信号半径降低\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用防御模式时，远程装甲维修器的修复量提高，启动消耗降低。\"\n          }, \n          {\n            \"text\": \"·高速模式\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用高速模式后加力燃烧器和微型跃迁推进器的速度增量加成\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用高速模式后惯性系数加成\"\n          }, \n          {\n            \"text\": \"·狙击模式\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用狙击模式后小型能量炮台最佳射程加成\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用狙击模式后小型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"启用狙击模式后感应强度和锁定距离加成\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用狙击模式后对敌方的感应抑阻器和武器扰断器的抗性提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台启动消耗加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"减少装备遭受的超载损伤\"\n            }\n          ], \n          \"header\": \"艾玛战术驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34317\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all Armor Resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles à énergie\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à toutes les résistances de blindage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des petites tourelles à énergie\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all Armor Resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型エネルギータレットの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"全てのアーマーレジスタンスが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"小型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 에너지 터렛 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"모든 장갑 저항력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型能量炮台最佳射程加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"装甲抗性加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11942\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Metenox-Mondbohrer sind stets mit dem integrierten Dienstmodul Standup-Metenox-Mondbohrer ausgestattet.\"\n          }, \n          {\n            \"text\": \"·Wenn das Dienstmodul Standup-Metenox-Mondbohrer dieser Struktur online ist, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte Trefferpunkte für Schild und Panzerung sowie einen Verstärkungszyklus.\"\n          }, \n          {\n            \"text\": \"·Metenox benötigen für den Betrieb Treibstoffblöcke und magmatisches Gas.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Metenox moon drills are always equipped with a built-in Standup Metenox Moon Drill service module.\"\n          }, \n          {\n            \"text\": \"·While this structure has its Standup Metenox Moon Drill service module online it enters full power mode and will gain increased shield and armor hitpoints and one reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·Metenox require fuel blocks and Magmatic Gas to run.\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Las estructuras de perforación lunar Metenox siempre están equipadas con un módulo de servicio de perforación lunar Metenox Standup integrado.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene el módulo de servicio de perforación lunar Metenox Standup conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo.\"\n          }, \n          {\n            \"text\": \"·La perforación lunar Metenox requiere bloques de combustible y gas magmático para funcionar.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Les foreuses lunaires Metenox sont toujours équipées d'un module de service de foreuse lunaire Metenox Standup intégré.\"\n          }, \n          {\n            \"text\": \"·Lorsque le module de service Foreuse lunaire Metenox Standup de cette structure est fonctionnel, celle-ci entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage, ainsi que d'un cycle de renforcement de blindage additionnel.\"\n          }, \n          {\n            \"text\": \"·La Metenox nécessite des blocs de carburant et du gaz magmatique pour fonctionner.\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Metenox moon drills are always equipped with a built-in Standup Metenox Moon Drill service module.\"\n          }, \n          {\n            \"text\": \"·While this structure has its Standup Metenox Moon Drill service module online it enters full power mode and will gain increased shield and armor hitpoints and one reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·Metenox require fuel blocks and Magmatic Gas to run.\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·衛星ドリル「メテノックス」は、ビルトインのサービスモジュールであるスタンドアップ衛星ドリル「メテノックス」を常に装備する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールであるスタンドアップ衛星ドリル「メテノックス」がオンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し、追加の強化サイクルを獲得する。\"\n          }, \n          {\n            \"text\": \"·メテノックスは燃料ブロックを必要とし、稼働するにはマグマ性ガスが必要である。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·메테녹스 위성 드릴에는 스탠드업 메테녹스 위성 드릴 서비스 모듈이 기본적으로 장착되어 있습니다.\"\n          }, \n          {\n            \"text\": \"·스탠드업 메테녹스 위성 드릴이 온라인 상태일 때 구조물이 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 강화 시간 사이클이 1회 추가됩니다.\"\n          }, \n          {\n            \"text\": \"·메테녹스를 활성화하려면 연료 블록 및 마그마 가스가 필요합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Спутниковые буры «Метенокс» всегда оснащены соответствующим служебным модулем «Стационар».\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть работающий модуль «Стационар» для спутникового бура «Метенокс», оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также один цикл укрепления.\"\n          }, \n          {\n            \"text\": \"·Буры «Метенокс» работают на топливных блоках и магматическом газе.\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·梅特诺克斯卫星钻探通常会装配一个内置的屹立梅特诺克斯卫星钻探服务装备。\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了屹立梅特诺克斯卫星钻探服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个增强模式循环。\"\n          }, \n          {\n            \"text\": \"·梅特诺克斯需要燃料块和岩浆气才能运行。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 81826\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Belagerungsmodul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann eine Störlanze ausrüsten\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf Durchlaufzeit von Entosis-Netzwerk\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Schaden der Störlanze\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf maximale Reichweite der Störlanze\"\n            }\n          ], \n          \"header\": \"Lancer Dreadnoughts Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf Schaden von XL-Marschflugkörpern, XL-Torpedos und Torpedos\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion des Explosionsradius von XL-Marschflugkörpern, XL-Torpedos und Torpedos\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Can fit a Disruptive Lance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Disruptive Lance damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Disruptive Lance maximum range\"\n            }\n          ], \n          \"header\": \"Lancer Dreadnoughts bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to XL Cruise, XL Torpedo and Torpedo damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in XL Cruise, XL Torpedo and Torpedo  explosion radius\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar una lanza disruptiva.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la lanza disruptiva.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance máximo de la lanza disruptiva.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazados lancer (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de los misiles de crucero XL, los torpedos XL y los torpedos.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción al radio de explosión de los misiles de crucero XL, los torpedos XL y los torpedos.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une lance disruptive\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de pénalité au temps de cycle de la liaison Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de dégâts de la lance disruptive\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus de portée maximum de la lance disruptive\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Supercuirassés lanciers :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des missiles de croisière XL, torpilles XL et torpilles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du rayon d'explosion des missiles de croisière XL, torpilles XL et torpilles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Dreadnought amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"text\": \"·Can fit a Disruptive Lance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Disruptive Lance damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Disruptive Lance maximum range\"\n            }\n          ], \n          \"header\": \"Lancer Dreadnoughts bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to XL Cruise, XL Torpedo and Torpedo damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in XL Cruise, XL Torpedo and Torpedo  explosion radius\"\n            }\n          ], \n          \"header\": \"Amarr Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"text\": \"·妨害ランスを装着可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"妨害ランスのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"妨害ランスの最大射程にボーナス\"\n            }\n          ], \n          \"header\": \"ランサー攻城艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"XLクルーズ、XLトルピード、トルピードのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Xクルーズ、XLトルピード、そしてトルピードの爆発半径が減少\"\n            }\n          ], \n          \"header\": \"アマー攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·디스럽티브 랜스 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 사이클 시간 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"디스럽티브 랜스 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"디스럽티브 랜스 최대사거리 증가\"\n            }\n          ], \n          \"header\": \"랜서 드레드노트 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"XL 크루즈 미사일, XL 토피도, 토피도 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"XL 크루즈 미사일, XL 토피도, 토피도 폭발반경 감소\"\n            }\n          ], \n          \"header\": \"아마르 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Позволяет установить осадный модуль\"\n          }, \n          {\n            \"text\": \"·Можно оснастить копьелучевой установкой\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"штраф ко времени цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к урону копьелучевых установок\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к макс. дальности копьелучевых установок\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Lancer Dreadnoughts:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону сверхбольших дальнобойных ракет, сверхбольших торпед и торпед\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшение радиуса взрыва сверхбольших дальнобойных ракет, сверхбольших торпед и торпед\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские дредноуты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个干扰长枪\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接循环周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"干扰长枪伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"干扰长枪最大范围加成\"\n            }\n          ], \n          \"header\": \"枪骑兵级无畏舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"超大型巡航导弹、超大型鱼雷和鱼雷伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"超大型巡航导弹、超大型鱼雷和鱼雷爆炸半径减少\"\n            }\n          ], \n          \"header\": \"艾玛无畏舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 77283\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf HP, Schaden und Nachführung von Drohnen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Reparaturmenge von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, damage and tracking\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al rastreo, el daño y los puntos de vida del dron.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux points de vie, aux dégâts et à la poursuite des drones\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la capacité réparatrice du réparateur de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, damage and tracking\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのHP、ダメージ、追跡が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラの回復量増加\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도, 피해량, 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к запасу прочности, урону и скорости наведения дронов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается урон боеприпасов больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к эффективности установки ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP、伤害和跟踪速度加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32307\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es kann ein Doomsday-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann ein Phänomengenerator-Modul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Es kann ein Sprungtor-Generator-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es kann ein Klonbucht-Modul eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Kann drei Kommandostrahl-Module verwenden\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Sensordämpfer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Waffenstörer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Erhöhung der Fernunterstützungsimpedanz auf Elektronik\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf die Dauer von Entosis-Netzwerken\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Capital-Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Titan Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Minmatar Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo apocalíptico.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de fenómenos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de portales de salto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de plataforma de contenedores de clonación.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar tres módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de disrupción de armas.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles capital.\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Titán minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'une arme d'annihilation\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un module de générateur de phénomènes\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un générateur de portail interstellaire\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'une plateforme de clonage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser trois salves de commandement.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux perturbateurs d'armement\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"d'allongement du temps de cycle des interfaces Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles capitales\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles à projectiles capitales\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Titan minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }\n          ], \n          \"header\": \"Minmatar Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ドゥームズデイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·現象ジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·ジャンプポータルジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·クローンバットベイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールは3個使用可能です\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"アーマープレートとシールド拡張器にボーナス\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"センサーダンプナーのレジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"兵器妨害レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"ステイシス効果レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"リモート電子アシスタンスインピーダンスが増加\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンク持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"キャピタルプロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルプロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"艦船のワープコアを強化\"\n            }\n          ], \n          \"header\": \"ミンマタータイタンボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·둠스데이모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·특이점 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 포탈 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 클론 격납고 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·세개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"센서 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"무기 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"캐피탈 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }\n          ], \n          \"header\": \"민마타 타이탄 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться орудиями Судного дня\"\n          }, \n          {\n            \"text\": \"·Позволяет установить модуль генератора аномалий\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться генераторами гиперпорталов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться отсеками клонирования\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать до трёх импульсных оптимизаторов\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 500%\", \n            \"text\": \"увеличивается запас прочности, обеспечиваемый бронеплитами и дополнительными источниками щитов\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление подавлению захвата целей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию помех на системы наводки вооружения\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается сопротивление воздействию стазиса\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"увеличивается коэффициент ослабления получаемой дистанционной радиоэлектронной поддержки\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"увеличивается длительность рабочего цикла энтоз-передатчиков\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 180%\", \n              \"text\": \"увеличивается урон боеприпасов сверхбольших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность сверхбольших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10+\", \n              \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские титаны:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个末日武器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个现象发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个克隆舱装备\"\n          }, \n          {\n            \"text\": \"·可以装配三个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"武器干扰抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"增加到远程电子辅助阻抗\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"180%\", \n              \"text\": \"旗舰级射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"10+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔泰坦操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 23773\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Diese Upwell-FLEX-Struktur ist immer mit einem eingebauten Dienstmodul Standup-Anziehungssystemblocker I ausgestattet.\"\n          }, \n          {\n            \"text\": \"·Wenn das Dienstmodul Standup-Anziehungssystemblocker I dieser Struktur online ist, schaltet sie in den Modus „Volle Leistung“ und erhält dadurch erhöhte Trefferpunkte für Schild und Panzerung sowie einen zusätzlichen Verstärkungszyklus\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·This Upwell FLEX structure is always equipped with a built in Standup Cynosural System Jammer I service module.\"\n          }, \n          {\n            \"text\": \"·While this structure has its Standup Cynosural System Jammer I service module online it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Esta estructura FLEX de Upwell siempre lleva integrado un módulo de servicio perturbador cinosural de sistemas Standup I.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene el módulo de servicio perturbador cinosural de sistemas Standup I conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cette structure FLEX d'Upwell est toujours équipée d'un module de service Brouilleur de système cynosural Standup I intégré.\"\n          }, \n          {\n            \"text\": \"·Lorsque le module de service Brouilleur de système cynosural Standup I de cette structure est fonctionnel, celle-ci entre en mode pleine puissance. Elle bénéficie alors d'une augmentation des points de vie des boucliers et du blindage, ainsi que d'un cycle de renfort de blindage additionnel\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·This Upwell FLEX structure is always equipped with a built in Standup Cynosural System Jammer I service module.\"\n          }, \n          {\n            \"text\": \"·While this structure has its Standup Cynosural System Jammer I service module online it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·アップウェルフレックスストラクチャが、ビルトインのスタンドアップサイノシュラルシステムジャマー装置Iサービスモジュールを常に装備する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャのスタンドアップサイノシュラルシステムジャマー装置Iサービスモジュールがオンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·해당 업웰 FLEX 구조물에는 스탠드업 사이노슈럴 시스템 재머 I 서비스 모듈이 기본적으로 장착되어 있습니다.\"\n          }, \n          {\n            \"text\": \"·스탠드업 사이노슈럴 시스템 재머 I이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Это сооружение серии «БЛОК» консорциума «Апвелл» всегда оснащено встроенным генератором помех приводным маякам I на базе «Стационар».\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть работающий генератор помех приводным маякам I на базе «Стационар», оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления.\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·这个昇威快速部署建筑总是会装配一个屹立诱导系统干扰器 I服务装备。\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了屹立诱导系统干扰器 I服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 37534\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all Armor Resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de energía pequeña.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al daño de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles à énergie\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à toutes les résistances de blindage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des petites tourelles à énergie\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all Armor Resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Small Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型エネルギータレットの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"全てのアーマーレジスタンスが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"小型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 에너지 터렛 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"모든 장갑 저항력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"소형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается урон малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型能量炮台最佳射程加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"装甲抗性加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"小型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11940\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Prototype Iris Scansondenwerfer eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Wird nicht von Sleeper-Drohnen in Wurmlochsystemen als Ziel erfasst\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Prototype Iris Probe Launcher\"\n          }, \n          {\n            \"text\": \"·Will not be targeted by Sleeper Drones in Wormhole Systems\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un prototipo de lanzasondas Iris.\"\n          }, \n          {\n            \"text\": \"·No será objetivo de drones sleepers en los sistemas de agujeros de gusano.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper 1 lanceur de sondes prototype Iris\"\n          }, \n          {\n            \"text\": \"·Ne sera pas ciblé par des drones sleeper dans les systèmes de la dimension des trous de ver\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Prototype Iris Probe Launcher\"\n          }, \n          {\n            \"text\": \"·Will not be targeted by Sleeper Drones in Wormhole Systems\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·プロトタイプイリスプローブランチャーを装備できる\"\n          }, \n          {\n            \"text\": \"·ワームホールシステムのスリーパードローンにターゲットされない。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·프로토타입 아이리스 프로브 런처 장착 가능\"\n          }, \n          {\n            \"text\": \"·웜홀 항성계에서 슬리퍼 드론 타겟팅 무력화\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться экспериментальными ПУ разведзондов «Айрис»\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа игнорируются бортовой автоматикой беспилотных кораблей Спящих в системах червоточин\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配彩虹女神探针发射器原型机\"\n          }, \n          {\n            \"text\": \"·不能被虫洞中的冬眠者无人机锁定\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 2078\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahlen-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"Bonus auf die Mikrowarp-Geschwindigkeit von Drohnen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittleren Energiegeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von mittleren Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittleren Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die HP von und den Schaden durch Drohnen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP der Panzerung des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"bonus to Drone microwarp velocity\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Energy Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship armor hitpoints\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"de bonificación a la velocidad de microwarp de los drones.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta de energía mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida del blindaje de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser un module de salve de commandement\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"de bonus de vitesse de microwarp des drones\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale et à la déperdition des tourelles à énergie intermédiaires\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts et aux points de vie des drones\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux points de vie du blindage du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"bonus to Drone microwarp velocity\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Energy Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Energy Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to ship armor hitpoints\"\n            }\n          ], \n          \"header\": \"Amarr Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールが1個使える\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"ドローンのマイクロワープ速度が増加\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型エネルギータレットの最適射程距離と精度低下にボーナス\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型エネルギータレットの与えるダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの最適射程距離にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ドローンのHPとダメージにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"艦船のアーマーHPが増加\"\n            }\n          ], \n          \"header\": \"アマー巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"드론 마이크로 워프 속도 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 에너지 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 에너지 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑 내구도 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Может использовать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }, \n          {\n            \"number\": \"на 12.5%\", \n            \"text\": \"бонус к скорости микроварп-ускорителей дронов\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к оптимальной и остаточной дальности средних лазерных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается поражающее действие средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к оптимальной дальности средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону и запасу прочности дронов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к запасу прочности брони корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"12.5%\", \n            \"text\": \"无人机微型跃迁速度加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型能量炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型能量炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"无人机HP和伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"舰船装甲值加成\"\n            }\n          ], \n          \"header\": \"艾玛战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 72872\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Energiegeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta de energía pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles à énergie\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Energy Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Small Energy Turret activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型エネルギータレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"アマー駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 에너지 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"아마르 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых лазерных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型能量炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台启动消耗减少\"\n            }\n          ], \n          \"header\": \"艾玛驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 16236\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann nicht von Richtungsscannern erfasst werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"Bonus auf die Stärke von ECM-Zielstörsender-Modulen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Kinetikschaden von leichten Lenkwaffen, schweren Lenkwaffen und schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von ECM-Zielstörsender-Modulen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cannot be detected by directional scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile max velocity\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to kinetic Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in ECM Target Jammer activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·No detectable con escáneres direccionales.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonificación a la intensidad del perturbador ECM de objetivo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles pesados y los misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño cinético de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del perturbador ECM de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Indétectable par les scanners directionnels\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonus à la force des brouilleurs de cible CME\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles lourds et des missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles légers, missiles lourds et missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des brouilleurs de cible CME\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Cannot be detected by directional scanners\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile max velocity\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to kinetic Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in ECM Target Jammer activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·指向性スキャナーでは検知できません\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"ECMターゲットジャマーの強度が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"キネティックライトミサイル、ヘビーミサイル、ヘビーアサルトミサイルのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECMターゲットジャマーの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·전방위 스캐너 탐지 불가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"ECM 타겟 재머 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"라이트 미사일, 헤비 미사일 및 헤비 어썰트 미사일의 키네틱 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM 타겟 재머 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа не обнаруживаются пеленгаторами\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 30%\", \n              \"text\": \"увеличивается выходная мощность модулей глушения захвата целей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость полёта тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается урон кинетических БЧ лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии модулями глушения захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·不能被定向扫描器探测到\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"ECM目标干扰器强度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹最大速度加成\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹动能伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM目标干扰器启动消耗减少\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11959\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops Tarnvorrichtungen eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 15 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die HP von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Drone hitpoints\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 15 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a los puntos de vida de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction au CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut équiper un dispositif de camouflage opérations secrètes\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 15 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux PV des drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 15 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Drone hitpoints\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置のCPU使用量が減少\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }, \n          {\n            \"text\": \"·隠密行動用遮蔽装置を装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が15秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"ドローンのヒットポイントが増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 15초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"드론 내구도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n          }, \n          {\n            \"number\": \"на 37.5%\", \n            \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 15 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"повышается запас прочности дронов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置的CPU需求降低\"\n          }, \n          {\n            \"number\": \"37.5%\", \n            \"text\": \"核心和作战扫描探针强度加成\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到15秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"无人机HP加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33468\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion des Flüssigozon-Verbrauchs von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung, Anziehungsfeldgenerator und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"Bonus auf die Stärke von ECM-Zielstörsender-Modulen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von ECM-Zielstörsender-Modulen\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in ECM Target Jammer activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción del consumo de ozono líquido del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonificación a la intensidad del perturbador ECM de objetivo.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del perturbador ECM de objetivo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction de la consommation d'ozone liquide du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules dispositif de camouflage d'opérations secrètes, générateur de champ cynosural et générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonus à la force des brouilleurs de cible CME\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction au CPU requis par les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des brouilleurs de cible CME\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to ECM Target Jammer strength\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in ECM Target Jammer activation cost\"\n            }\n          ], \n          \"header\": \"Caldari Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの液体オゾン消費量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置とサイノシュラルフィールドジェネレーター、そして潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"ECMターゲットジャマーの強度が増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECMターゲットジャマーの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 액화 오존 소모량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"ECM 타겟 재머 효과 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM 타겟 재머 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"칼다리 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"снижение потребления жидкого озона приводным маяком и приводным маяком скрытого действия\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки, приводным маяком и приводным маяком скрытого действия.\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 30%\", \n              \"text\": \"увеличивается выходная мощность модулей глушения захвата целей\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии модулями глушения захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器消耗的液态臭氧数量降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置、诱导力场发生器和隐秘诱导力场发生器装备\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"ECM目标干扰器强度加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ECM目标干扰器启动消耗减少\"\n            }\n          ], \n          \"header\": \"加达里巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11957\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Erzausbeute\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der Dauer von Gaswolken-Extraktoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Bergbau-Reichweite\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Erzausbeute\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Gaswolken-Extraktoren\"\n            }\n          ], \n          \"header\": \"Bergbauzerstörer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Mining yield\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Gas Cloud Scoop duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Mining range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Gas Cloud Scoop duration\"\n            }\n          ], \n          \"header\": \"Mining Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al rendimiento minero.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de la duración de la succión de nubes de gas.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance minero.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al rendimiento minero.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de la succión de nubes de gas.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor minero (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus au rendement de l'activité d'extraction\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction à la durée du récupérateur de nuages de gaz\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée d'extraction minière\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus au rendement de l'activité d'extraction\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée du récupérateur de nuages de gaz\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer d'extraction :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Mining yield\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Gas Cloud Scoop duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Mining range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Mining yield\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Gas Cloud Scoop duration\"\n            }\n          ], \n          \"header\": \"Mining Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"採掘量にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ガス雲スクープの持続時間減少量\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"採掘範囲にボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"採掘量にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ガス雲スクープの持続時間減少量\"\n            }\n          ], \n          \"header\": \"採掘用駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"채굴량 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"가스 수집기 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"채굴 거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"채굴량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"가스 수집기 지속시간 감소\"\n            }\n          ], \n          \"header\": \"채굴 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"повышается производительность буровых лазеров\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"сокращение длительности рабочего цикла газочерпателя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к дальности бурения\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность буровых лазеров\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращение длительности рабочего цикла газочерпателя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Mining Destroyer:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"采矿器采矿量加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"气体云团回收运转周期缩短\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"采矿器采矿范围加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"采矿器采矿量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"气体云团回收运转周期缩短\"\n            }\n          ], \n          \"header\": \"采矿驱逐舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 89240\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir des grandes tourelles à projectiles\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорострельность больших баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型射弹炮台射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17732\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Präzisionsabfallreichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Repairer amount\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, lanzamisiles pesados y lanzamisiles de asalto pesados.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo del nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo del nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds rapides\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus au montant des réparateurs de blindage\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la quantité d'énergie récupérée par le Nosferatu à énergie et le neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale du nosferatu à énergie et du neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la perte du nosferatu à énergie et du neutraliseur d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Repairer amount\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"高速ライトミサイル・ヘビーミサイル・ヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマーリペアラのリペア量が増加\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの消費量が改善\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの精度低下範囲が改善\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑수리 장치 수리량 증가\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"повышается производительность установок ремонта брони\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается пропускная способность устройств паразитной подзарядки накопителя и дистанционных нейтрализаторов заряда\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲维修器维修量加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器和能量中和器最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器失准范围加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 3518\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"Bonus auf den Geschwindigkeitsbonus von Nachbrennern\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"bonus to Large Energy Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonificación a la velocidad del posquemador.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"de bonus aux dégâts des grandes tourelles à énergie\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des grandes tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"de bonus au bonus de vitesse du système de post-combustion\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"bonus to Large Energy Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"bonus to Afterburner velocity bonus\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"大型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"アフターバーナーの速度ボーナスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"대형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"애프터버너 속도 보너스 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 150%\", \n            \"text\": \"увеличивается урон больших лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 30%\", \n              \"text\": \"повышается влияние форсажных ускорителей на скорость полёта корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"150%\", \n            \"text\": \"大型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"30%\", \n              \"text\": \"加力燃烧器速度增益加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17736\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Feuerrate von großen Projektilgeschütztürmen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von großen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Large Projectile Turret rate of fire\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles grande.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la cadence de tir des grandes tourelles à projectiles\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus à la vitesse et à l'accélération du warp\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus de distance de perte des grandes tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Large Projectile Turret rate of fire\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Projectile Turret damage\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"大型プロジェクタイルタレットの発射間隔が短縮\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ワープ速度とワープ加速が上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型プロジェクタイルタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"대형 발사체 터렛 연사속도 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 발사체 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорострельность больших баллистических орудий\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"大型射弹炮台射速加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"大型射弹炮台伤害加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 17738\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des grandes tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型エネルギータレットの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 에너지 터렛 연사속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型能量炮台射速加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11938\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Maximalgeschwindigkeit von Drohnen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Präzisionsabfallreichweite von Nosferatu- und Energieneutralisierer-Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Drone max velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad máxima de los drones.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo del nosferatu de energía y el neutralizador energético.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo del nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse maximale des drones\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts et aux PV des drones\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus à la portée optimale du nosferatu à énergie et du neutraliseur d'énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la perte du nosferatu à énergie et du neutraliseur d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Drone max velocity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer falloff range\"\n            }\n          ], \n          \"header\": \"Amarr Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"ドローンの最高速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーノスフェラトゥおよびエネルギーニュートライザーの精度低下範囲が改善\"\n            }\n          ], \n          \"header\": \"アマー駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"드론 최대속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается скорость полного хода дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность действия дистанционных нейтрализаторов заряда и устройств паразитной подзарядки накопителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"无人机最大速度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"掠能器和能量中和器最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器失准范围加成\"\n            }\n          ], \n          \"header\": \"艾玛驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32874\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida grande.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des grandes tourelles hybrides\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリ戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 24688\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von mittleren Panzerungs-Fernreparatursystem-Modulen\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von Kommandosalven-Modulen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die optimale Reichweite von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +4 Montageplätze für Geschütztürme\"\n          }, \n          {\n            \"text\": \"·+100 GJ Energiespeicherkapazität\"\n          }, \n          {\n            \"text\": \"·+25 Mbit Drohnen-Bandbreite, +75 m3 Drohnenhangar\"\n          }, \n          {\n            \"text\": \"·+1 max. aufgeschaltetes Ziel\"\n          }, \n          {\n            \"text\": \"·+75 Strom\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungs-, Informations- und Gefechtskommandosalven\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Panzerungs-Fernreparatursystem-Modulen\"\n            }\n          ], \n          \"header\": \"Amarr Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Remote Armor Repairer modules\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Command Burst modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +4 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+25mbit Drone Bandwidth, +75m3 Drone Bay\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }, \n          {\n            \"text\": \"·+75 PWG\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command, Information Command, and Skirmish Command burst strength and duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Remote Armor Repairer modules\"\n            }\n          ], \n          \"header\": \"Amarr Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en los módulos medianos de reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en los módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación al alcance óptimo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"de bonificación al alcance efectivo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+7 ranuras superiores, +4 puntos de montaje de torreta\"\n          }, \n          {\n            \"text\": \"·+100 GJ de capacidad del condensador\"\n          }, \n          {\n            \"text\": \"·+25 Mbit/s al ancho de banda de drones, +75 m³ al muelle de drones\"\n          }, \n          {\n            \"text\": \"·+1 objetivo fijado máximo\"\n          }, \n          {\n            \"text\": \"·+75 SP\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje, de información y de escaramuza.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del coste de activación del reparador de blindaje remoto.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los módulos de reparador de blindaje remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos amarrianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des modules intermédiaires du Réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des modules de Salves de commande\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la portée optimale du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"de bonus à la perte du réparateur de blindage à distance\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+7 Emplacements supérieurs, +4 Points de fixation de tourelle\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +100 GJ\"\n          }, \n          {\n            \"text\": \"·Bande passante de drone +25 mbit, Hangar à drone +75 m3\"\n          }, \n          {\n            \"text\": \"·+1 Cible verrouillée max\"\n          }, \n          {\n            \"text\": \"·+75 PWG\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus et la puissance et à la durée des salves de commande de blindage, informatives et de guérilla\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du coût d'activation des réparateurs de blindage à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des modules du Réparateur de blindage à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Remote Armor Repairer modules\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Command Burst modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +4 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+25mbit Drone Bandwidth, +75m3 Drone Bay\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }, \n          {\n            \"text\": \"·+75 PWG\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command, Information Command, and Skirmish Command burst strength and duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Remote Armor Repairer modules\"\n            }\n          ], \n          \"header\": \"Amarr Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"中型リモートアーマーリペアラモジュールのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"コマンドバーストモジュールのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"リモートアーマーリペアラの最適範囲を拡大\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"リモートアーマーリペアラフォールオフにボーナス追加\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールが1個使える\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+7、タレットハードポイント+4\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+100GJ\"\n          }, \n          {\n            \"text\": \"·ドローン帯域+25mbit、ドローンベイ+75m3\"\n          }, \n          {\n            \"text\": \"·最大ロックターゲット数+1\"\n          }, \n          {\n            \"text\": \"·PWG+75\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"装甲戦コマンド、情報戦コマンド、高機動戦コマンドバーストの効果と持続時間が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"リモートアーマーリペアラの起動コストが減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたリモートアーマーリペアラモジュールの効果が増加\"\n            }\n          ], \n          \"header\": \"アマー攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"중형 원격 장갑 수리 장치모듈 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"커맨드 버스트 모듈 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"원격 장갑수리 장치 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"원격 장갑수리 장치 유효사거리 증가\"\n          }, \n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +7, 터렛 하드포인트 +4\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +100 GJ\"\n          }, \n          {\n            \"text\": \"·드론 대역폭 +25 mbit, 드론 격납고 +75 m³\"\n          }, \n          {\n            \"text\": \"·최대 타겟팅 수 +1\"\n          }, \n          {\n            \"text\": \"·파워그리드 75 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"장갑 버스트, 정보전 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 장갑수리 장치 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 장갑수리 장치 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"아마르 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 75%\", \n            \"text\": \"снижается потребность средних установок дистанционного ремонта брони в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"number\": \"на 95%\", \n            \"text\": \"снижается потребность импульсных оптимизаторов в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"увеличивается оптимальная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 1150%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+7 разъёмов большой мощности, +4 точки монтажа орудий\"\n          }, \n          {\n            \"text\": \"·+100 ГДж ёмкости накопителя\"\n          }, \n          {\n            \"text\": \"·+25 мбит/с канала управления дронами, +75 м³ отсека для дронов\"\n          }, \n          {\n            \"text\": \"·+1 к максимуму захваченных целей\"\n          }, \n          {\n            \"text\": \"·+75 к мощности реактора\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 2%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони, импульсными оптимизаторами РЭБ и импульсными оптимизаторами маневрирования\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"усиливается влияние перегрузки на параметры установок дистанционного ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"装配中型远程装甲维修器的能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"装配指挥脉冲波的能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"远程装甲维修器最佳射程加成\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"远程装甲维修器失准范围加成\"\n          }, \n          {\n            \"text\": \"·可以装配一个指挥脉冲波\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+7，炮台+4\"\n          }, \n          {\n            \"text\": \"·电容器电容量+100GJ\"\n          }, \n          {\n            \"text\": \"·无人机带宽+25mbit，无人机挂舱+75m³\"\n          }, \n          {\n            \"text\": \"·目标锁定数上限+1\"\n          }, \n          {\n            \"text\": \"·+75 PWG\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"装甲指挥、信息战指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"远程装甲维修器启动消耗降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程装甲维修器过载效果加成\"\n            }\n          ], \n          \"header\": \"艾玛攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45600\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von schnellen Werfern für leichte Lenkwaffen sowie Werfern für schwere Lenkwaffen und schwere Angriffslenkwaffen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +6 Montageplätze für Werfer\"\n          }, \n          {\n            \"text\": \"·+190 Strom, +160 CPU\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den kinetischen Schaden von leichten Lenkwaffen, schweren Lenkwaffen sowie schweren Angriffslenkwaffen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Geschwindigkeit von schweren Angriffslenkwaffen und schweren Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Caldari Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launchers\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +6 Launcher Hardpoints\"\n          }, \n          {\n            \"text\": \"·+190 PWG, +160 CPU\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to kinetic Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile velocity\"\n            }\n          ], \n          \"header\": \"Caldari Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en los lanzamisiles ligeros, lanzamisiles pesados y lanzamisiles de asalto pesados de cadencia de tiro rápida.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+7 ranuras superiores, +6 puntos de montaje de lanzador\"\n          }, \n          {\n            \"text\": \"·+190 SP, +160 CPU\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño cinético de los misiles ligeros, los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de los misiles pesados y los misiles de asalto pesados.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos caldaris (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des lance-missiles légers rapides, lance-missiles lourds et lance-missiles d'assaut lourds\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+7 Emplacements supérieurs, +6 Points de fixation de lanceur\"\n          }, \n          {\n            \"text\": \"·+190 PWG, +160 CPU\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts cinétiques des missiles légers, missiles lourds et missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse des Missiles lourds et des Missiles d'assaut lourds\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launchers\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +6 Launcher Hardpoints\"\n          }, \n          {\n            \"text\": \"·+190 PWG, +160 CPU\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to kinetic Light Missile, Heavy Missile and Heavy Assault Missile damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile velocity\"\n            }\n          ], \n          \"header\": \"Caldari Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"ラピッドライトミサイル、ヘビーミサイル及びヘビーアサルトミサイルランチャーのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+7、ランチャーハードポイント+6\"\n          }, \n          {\n            \"text\": \"·PWG+190、CPU+160\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キネティック ライトミサイルとヘビーミサイルとヘビーアサルトミサイルのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ラピッドライトミサイル、ヘビーミサイル及びヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの速度上昇\"\n            }\n          ], \n          \"header\": \"カルダリ攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일의 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +7, 런처 하드포인트 +6\"\n          }, \n          {\n            \"text\": \"·파워그리드 +190, CPU +160\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일, 헤비 미사일 및 헤비 어썰트 미사일의 키네틱 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижается потребность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+7 разъёмов большой мощности, +6 точек монтажа пусковых установок\"\n          }, \n          {\n            \"text\": \"·+190 МВт мощности реактора, +160 Тф мощности ЦПУ\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону от кинетических лёгких ракет, тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается скорость полёта тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"装配轻型快速导弹发射器, 重型导弹发射器和重型攻击导弹发射器的能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+7，发射器+6\"\n          }, \n          {\n            \"text\": \"·能量栅格+190，CPU+160\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型导弹、重型导弹和重型攻击导弹动能伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹和重型攻击导弹飞行速度加成\"\n            }\n          ], \n          \"header\": \"加达里攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45601\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von mittleren Hybridtürmen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +6 Montageplätze für Geschütztürme\"\n          }, \n          {\n            \"text\": \"·+420 Strom, +120 CPU\"\n          }, \n          {\n            \"text\": \"·+100 GJ Energiespeicherkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Caldari Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Hybrid Turrets\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +6 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+420 PWG, +120 CPU\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en las torretas híbridas medianas.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+7 ranuras superiores, +6 puntos de montaje de torreta\"\n          }, \n          {\n            \"text\": \"·+420 SP, +120 CPU\"\n          }, \n          {\n            \"text\": \"·+100 GJ de capacidad del condensador\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos caldaris (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des Tourelles hybrides intermédiaires\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+7 Emplacements supérieurs, +6 Points de fixation de tourelle\"\n          }, \n          {\n            \"text\": \"·+420 PWG, +120 CPU\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +100 GJ\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus à la portée optimale de la tourelle hybride intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Hybrid Turrets\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +6 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+420 PWG, +120 CPU\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"中型ハイブリッドタレットのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+7、タレットハードポイント+6\"\n          }, \n          {\n            \"text\": \"·PWG+420、CPU+120\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+100GJ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"中型ハイブリッドタレットの最適射程距離にボーナス\"\n            }\n          ], \n          \"header\": \"カルダリ攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 하이브리드 터렛 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +7, 터렛 하드포인트 +6\"\n          }, \n          {\n            \"text\": \"·파워그리드 +420, CPU +120\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +100 GJ\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"중형 하이브리드 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижается потребность средних гибридных орудий в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+7 разъёмов большой мощности, +6 точки монтажа орудий\"\n          }, \n          {\n            \"text\": \"·+420 МВт мощности реактора, +120 Тф мощности ЦПУ\"\n          }, \n          {\n            \"text\": \"·+100 ГДж ёмкости накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"装配中型混合炮台能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+7，炮台+6\"\n          }, \n          {\n            \"text\": \"·能量栅格+420，CPU+120\"\n          }, \n          {\n            \"text\": \"·电容器电容量+100GJ\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"中型混合炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"加达里攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45602\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von mittleren Schildfernbooster-Modulen\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von Kommandosalven-Modulen\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Schildfernboostern\"\n          }, \n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +4 Montageplätze für Werfer\"\n          }, \n          {\n            \"text\": \"·+100 GJ Energiespeicherkapazität\"\n          }, \n          {\n            \"text\": \"·+25 Mbit Drohnen-Bandbreite, +50 m3 Drohnenhangar\"\n          }, \n          {\n            \"text\": \"·+1 max. aufgeschaltetes Ziel\"\n          }, \n          {\n            \"text\": \"·+60 Strom\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Schild-, Informations- und Gefechtskommandostrahlen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Schildfernboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Schildfernbooster-Modulen\"\n            }\n          ], \n          \"header\": \"Caldari Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Remote Shield Booster modules\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Command Burst modules\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"bonus to Remote Shield Booster falloff\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +4 Launcher Hardpoints\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+25mbit Drone Bandwidth, +50m3 Drone Bay\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }, \n          {\n            \"text\": \"·+60 PWG\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command, Information Command and Skirmish Command burst strength and duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Remote Shield Booster modules\"\n            }\n          ], \n          \"header\": \"Caldari Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en los módulos medianos de potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en los módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"de bonificación al alcance efectivo del potenciador de escudo remoto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+7 ranuras superiores, +4 puntos de montaje de lanzador\"\n          }, \n          {\n            \"text\": \"·+100 GJ de capacidad del condensador\"\n          }, \n          {\n            \"text\": \"·+25 Mbit/s al ancho de banda de drones, +50 m³ al muelle de drones\"\n          }, \n          {\n            \"text\": \"·+1 objetivo fijado máximo\"\n          }, \n          {\n            \"text\": \"·+60 SP\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de escudo, de información y de escaramuza.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del coste de activación del potenciador de escudo remoto.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los módulos de potenciador de escudo remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos caldaris (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des modules du Booster de bouclier à distance\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des modules de Salves de commande\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"de bonus à la perte du booster de bouclier à distance\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+7 Emplacements supérieurs, +4 Points de fixation de lanceur\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +100 GJ\"\n          }, \n          {\n            \"text\": \"·Bande passante de drone +25 mbit, Hangar à drone +50 m3\"\n          }, \n          {\n            \"text\": \"·+1 Cible verrouillée max\"\n          }, \n          {\n            \"text\": \"·+60 PWG\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus à la puissance et à la durée des salves de commandes de bouclier, informatives et de guérilla\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du coût d'activation du booster de bouclier à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des modules du Booster de bouclier à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Remote Shield Booster modules\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Command Burst modules\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"bonus to Remote Shield Booster falloff\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +4 Launcher Hardpoints\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+25mbit Drone Bandwidth, +50m3 Drone Bay\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }, \n          {\n            \"text\": \"·+60 PWG\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Shield Command, Information Command and Skirmish Command burst strength and duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Shield Booster activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Remote Shield Booster modules\"\n            }\n          ], \n          \"header\": \"Caldari Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"中型リモートシールドブースターモジュールのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"コマンドバーストモジュールのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"リモートシールドブースターの精度低下範囲にボーナス\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールが1個使える\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+7、ランチャーハードポイント+4\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+100GJ\"\n          }, \n          {\n            \"text\": \"·ドローン帯域+25mbit、ドローンベイ+50m3\"\n          }, \n          {\n            \"text\": \"·最大ロックターゲット数+1\"\n          }, \n          {\n            \"text\": \"·PWG+60\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"シールドコマンド、情報戦コマンド、高機動戦コマンドバーストの効果と持続時間が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"リモート シールドブースターの起動コストが減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたリモートシールドブースターモジュールの恩恵が増加\"\n            }\n          ], \n          \"header\": \"カルダリ攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"중형 원격 실드 부스터 모듈 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"커맨드 버스트 모듈 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"원격 실드 부스터 유효사거리 증가\"\n          }, \n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +7, 런처 하드포인트 +4\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +100 GJ\"\n          }, \n          {\n            \"text\": \"·드론 대역폭 +25 mbit, 드론 격납고 +50 m³\"\n          }, \n          {\n            \"text\": \"·최대 타겟팅 수 +1\"\n          }, \n          {\n            \"text\": \"·파워그리드 60 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"실드 버스트, 정보전 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 실드 부스터 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 실드 부스터 모듈 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"칼다리 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 75%\", \n            \"text\": \"снижается потребность средних установок дистанционной накачки щитов в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"number\": \"на 95%\", \n            \"text\": \"снижается потребность импульсных оптимизаторов в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"number\": \"на 475%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционной накачки щитов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+7 разъёмов большой мощности, +4 точки монтажа пусковых установок\"\n          }, \n          {\n            \"text\": \"·+100 ГДж ёмкости накопителя\"\n          }, \n          {\n            \"text\": \"·+25 мбит/с канала управления дронами, +50 м³ отсека для дронов\"\n          }, \n          {\n            \"text\": \"·+1 к максимуму захваченных целей\"\n          }, \n          {\n            \"text\": \"·+60 к мощности реактора\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 2%\", \n              \"text\": \"бонус к повышению эффективности и к продолжительности импульсов командования щитов, РЭБ и маневрирования\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается потребление энергии установками дистанционной накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"усиливается влияние перегрузки на параметры установок дистанционной накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"装配远程护盾回充增量器的能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"装配指挥脉冲波的能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"远程护盾回充增量器失准范围加成\"\n          }, \n          {\n            \"text\": \"·可以装配一个指挥脉冲波\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+7，发射器+4\"\n          }, \n          {\n            \"text\": \"·电容器电容量+100GJ\"\n          }, \n          {\n            \"text\": \"·无人机带宽+25mbit，无人机挂舱+50m³\"\n          }, \n          {\n            \"text\": \"·目标锁定数上限+1\"\n          }, \n          {\n            \"text\": \"·+60 PWG\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"护盾指挥、信息战指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"远程护盾回充增量器启动消耗降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程护盾回充增量器过载效果加成\"\n            }\n          ], \n          \"header\": \"加达里攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45603\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von mittleren Hybridtürmen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +6 Montageplätze für Geschütztürme\"\n          }, \n          {\n            \"text\": \"·+430 Strom, +110 CPU\"\n          }, \n          {\n            \"text\": \"·+100 GJ Energiespeicherkapazität\"\n          }, \n          {\n            \"text\": \"·+25 Mbit Drohnen-Bandbreite, +50 m3 Drohnenhangar\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Hybrid Turrets\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +6 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+430 PWG, +110 CPU\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+25mbit Drone Bandwidth, +50m3 Drone Bay\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en las torretas híbridas medianas.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+7 ranuras superiores, +6 puntos de montaje de torreta\"\n          }, \n          {\n            \"text\": \"·+430 SP, +110 CPU\"\n          }, \n          {\n            \"text\": \"·+100 GJ de capacidad del condensador\"\n          }, \n          {\n            \"text\": \"·+25 Mbit/s al ancho de banda de drones, +50 m³ al muelle de drones\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos gallentes (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des Tourelles hybrides intermédiaires\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+7 Emplacements supérieurs, +6 Points de fixation de tourelle\"\n          }, \n          {\n            \"text\": \"·+430 PWG, +110 CPU\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +100 GJ\"\n          }, \n          {\n            \"text\": \"·Bande passante de drone +25 mbit, Hangar à drone +50 m3\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles hybrides intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Hybrid Turrets\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +6 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+430 PWG, +110 CPU\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+25mbit Drone Bandwidth, +50m3 Drone Bay\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"中型ハイブリッドタレットのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+7、タレットハードポイント+6\"\n          }, \n          {\n            \"text\": \"·PWG+430、CPU+110\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+100GJ\"\n          }, \n          {\n            \"text\": \"·ドローン帯域+25mbit、ドローンベイ+50m3\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの精度低下範囲にボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットの追跡速度にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 하이브리드 터렛 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +7, 터렛 하드포인트 +6\"\n          }, \n          {\n            \"text\": \"·파워그리드 +430, CPU +110\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +100 GJ\"\n          }, \n          {\n            \"text\": \"·드론 대역폭 +25 mbit, 드론 격납고 +50 m³\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижается потребность средних гибридных орудий в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+7 разъёмов большой мощности, +6 точки монтажа орудий\"\n          }, \n          {\n            \"text\": \"·+430 реактор, +110 ЦПУ\"\n          }, \n          {\n            \"text\": \"·+100 ГДж ёмкости накопителя\"\n          }, \n          {\n            \"text\": \"·+25 мбит/с канала управления дронами, +50 м³ отсека для дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"装配中型混合炮台能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+7，炮台+6\"\n          }, \n          {\n            \"text\": \"·能量栅格+330，CPU+110\"\n          }, \n          {\n            \"text\": \"·电容器电容量+100GJ\"\n          }, \n          {\n            \"text\": \"·无人机带宽+25mbit，无人机挂舱+50m³\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45604\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von mittleren Hybridtürmen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+6 High Slots, +5 Montageplätze für Geschütztürme\"\n          }, \n          {\n            \"text\": \"·+130 Strom, +60 CPU\"\n          }, \n          {\n            \"text\": \"·+125 Mbit Drohnen-Bandbreite, +300 m3 Drohnenhangar\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden und die HP von Drohnen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Geschwindigkeit und Nachführungsgeschwindigkeit von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Hybrid Turrets\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+6 High Slots, +5 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+130 PWG, +60 CPU\"\n          }, \n          {\n            \"text\": \"·+125mbit Drone Bandwidth, +300m3 Drone Bay\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone damage and hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Drone velocity and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en las torretas híbridas medianas.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+6 ranuras superiores, +5 puntos de montaje de torreta\"\n          }, \n          {\n            \"text\": \"·+130 SP, +60 CPU\"\n          }, \n          {\n            \"text\": \"·+125 Mbit/s al ancho de banda de drones, 300 m³ al muelle de drones\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño y los puntos de vida de los drones.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima y de rastreo de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos gallentes (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des Tourelles hybrides intermédiaires\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+6 Emplacements supérieurs, +5 Points de fixation de tourelle\"\n          }, \n          {\n            \"text\": \"·+130 PWG, +60 CPU\"\n          }, \n          {\n            \"text\": \"·+125 Mbit à la bande passante de drone, +300 m3 au hangar à drones\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus aux dégâts et aux points de vie des drones\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse et à la vitesse de poursuites des Drones\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Hybrid Turrets\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+6 High Slots, +5 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+130 PWG, +60 CPU\"\n          }, \n          {\n            \"text\": \"·+125mbit Drone Bandwidth, +300m3 Drone Bay\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone damage and hitpoints\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Drone velocity and tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"中型ハイブリッドタレットのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+6、タレットポイント+5\"\n          }, \n          {\n            \"text\": \"·PWG+130、CPU+60\"\n          }, \n          {\n            \"text\": \"·ドローン帯域+125mbit、ドローンベイ+300m3\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの追跡速度にボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのダメージとHPが増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ドローンの速度と追跡速度にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテ攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 하이브리드 터렛 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +6, 터렛 하드포인트 +5\"\n          }, \n          {\n            \"text\": \"·파워그리드 +130, CPU +60\"\n          }, \n          {\n            \"text\": \"·드론 대역폭 +125mbit, 드론 격납고 +300m³\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 피해량 및 내구도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"드론 속도 및 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижается потребность средних гибридных орудий в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+6 разъёмов большой мощности, +5 точек монтажа орудий\"\n          }, \n          {\n            \"text\": \"·+130 к мощности реактора, +60 к мощности ЦПУ\"\n          }, \n          {\n            \"text\": \"·+125 Мбит к каналу управления дронами, +300 м³ к отсеку для дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорость полного хода дронов и скорость наводки на цель их бортового оружия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"装配中型混合炮台能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+6，炮台+5\"\n          }, \n          {\n            \"text\": \"·能量栅格+130，CPU+60\"\n          }, \n          {\n            \"text\": \"·无人机带宽+125mbit，无人机挂舱+300m³\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"无人机飞行速度和跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45605\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von mittleren Panzerungs-Fernreparatursystem-Modulen\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von Kommandosalven-Modulen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die optimale Reichweite von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +4 Montageplätze für Geschütztürme\"\n          }, \n          {\n            \"text\": \"·+100 GJ Energiespeicherkapazität\"\n          }, \n          {\n            \"text\": \"·+50 Mbit Drohnen-Bandbreite, +75 m3 Drohnenhangar\"\n          }, \n          {\n            \"text\": \"·+1 max. aufgeschaltetes Ziel\"\n          }, \n          {\n            \"text\": \"·+75 Strom\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungs-, Informations- und Gefechtskommandosalven\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Panzerungs-Fernreparatursystemen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Panzerungs-Fernreparatursystem-Modulen\"\n            }\n          ], \n          \"header\": \"Gallente Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Remote Armor Repairer modules\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Command Burst modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +4 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+50mbit Drone Bandwidth, +75m3 Drone Bay\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }, \n          {\n            \"text\": \"·+75 PWG\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command, Information Command, and Skirmish Command burst strength and duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Remote Armor Repairer modules\"\n            }\n          ], \n          \"header\": \"Gallente Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en los módulos medianos de reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en los módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación al alcance óptimo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"de bonificación al alcance efectivo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+7 ranuras superiores, +4 puntos de montaje de torreta\"\n          }, \n          {\n            \"text\": \"·+100 GJ de capacidad del condensador\"\n          }, \n          {\n            \"text\": \"·+50 Mbit/s al ancho de banda de drones, +75 m³ al muelle de drones\"\n          }, \n          {\n            \"text\": \"·+1 objetivo fijado máximo\"\n          }, \n          {\n            \"text\": \"·+75 SP\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje, de información y de escaramuza.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del coste de activación del reparador de blindaje remoto.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los módulos de reparador de blindaje remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos gallentes (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des modules intermédiaires du Réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des modules de Salves de commande\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la portée optimale du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"de bonus à la perte du réparateur de blindage à distance\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+7 Emplacements supérieurs, +4 Points de fixation de tourelle\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +100 GJ\"\n          }, \n          {\n            \"text\": \"·Bande passante de drone +50 mbit, Hangar à drone +75 m3\"\n          }, \n          {\n            \"text\": \"·+1 Cible verrouillée max\"\n          }, \n          {\n            \"text\": \"·+75 PWG\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus et la puissance et à la durée des salves de commande de blindage, informatives et de guérilla\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du coût d'activation des réparateurs de blindage à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des modules du Réparateur de blindage à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Remote Armor Repairer modules\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Command Burst modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +4 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+50mbit Drone Bandwidth, +75m3 Drone Bay\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }, \n          {\n            \"text\": \"·+75 PWG\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command, Information Command, and Skirmish Command burst strength and duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Remote Armor Repairer modules\"\n            }\n          ], \n          \"header\": \"Gallente Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"中型リモートアーマーリペアラモジュールのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"コマンドバーストモジュールのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"リモートアーマーリペアラの最適範囲を拡大\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"リモートアーマーリペアラフォールオフにボーナス追加\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールが1個使える\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+7、タレットハードポイント+4\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+100GJ\"\n          }, \n          {\n            \"text\": \"·ドローン帯域+50mbit、ドローンベイ+75 m3\"\n          }, \n          {\n            \"text\": \"·最大ロックターゲット数+1\"\n          }, \n          {\n            \"text\": \"·PWG+75\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"装甲戦コマンド、情報戦コマンド、高機動戦コマンドバーストの効果と持続時間が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"リモートアーマーリペアラの起動コストが減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたリモートアーマーリペアラモジュールの効果が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"중형 원격 장갑 수리 장치모듈 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"커맨드 버스트 모듈 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"원격 장갑수리 장치 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"원격 장갑수리 장치 유효사거리 증가\"\n          }, \n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +7, 터렛 하드포인트 +4\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +100 GJ\"\n          }, \n          {\n            \"text\": \"·드론 대역폭 +50 mbit, 드론 격납고 +75 m³\"\n          }, \n          {\n            \"text\": \"·최대 타겟팅 수 +1\"\n          }, \n          {\n            \"text\": \"·파워그리드 75 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"장갑 버스트, 정보전 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 장갑수리 장치 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 장갑수리 장치 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"갈란테 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 75%\", \n            \"text\": \"снижается потребность средних установок дистанционного ремонта брони в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"number\": \"на 95%\", \n            \"text\": \"снижается потребность импульсных оптимизаторов в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"увеличивается оптимальная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 1150%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+7 разъёмов большой мощности, +4 точки монтажа орудий\"\n          }, \n          {\n            \"text\": \"·+100 ГДж ёмкости накопителя\"\n          }, \n          {\n            \"text\": \"·+50 мбит/с канала управления дронами, +75 м³ отсека для дронов\"\n          }, \n          {\n            \"text\": \"·+1 к максимуму захваченных целей\"\n          }, \n          {\n            \"text\": \"·+75 к мощности реактора\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 2%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони, импульсными оптимизаторами РЭБ и импульсными оптимизаторами маневрирования\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"усиливается влияние перегрузки на параметры установок дистанционного ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"装配中型远程装甲维修器的能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"装配指挥脉冲波的能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"远程装甲维修器最佳射程加成\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"远程装甲维修器失准范围加成\"\n          }, \n          {\n            \"text\": \"·可以装配一个指挥脉冲波\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+7，炮台+4\"\n          }, \n          {\n            \"text\": \"·电容器电容量+100GJ\"\n          }, \n          {\n            \"text\": \"·无人机带宽+50mbit，无人机挂舱+75m³\"\n          }, \n          {\n            \"text\": \"·目标锁定数上限+1\"\n          }, \n          {\n            \"text\": \"·+75 PWG\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"装甲指挥、信息战指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"远程装甲维修器启动消耗降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程装甲维修器过载效果加成\"\n            }\n          ], \n          \"header\": \"盖伦特攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45606\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von mittleren Projektilgeschütztürmen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +5 Montageplätze für Geschütztürme, +2 Montageplätze für Werfer\"\n          }, \n          {\n            \"text\": \"·+300 Strom, +30 CPU\"\n          }, \n          {\n            \"text\": \"·+25 Mbit Drohnen-Bandbreite, +25 m3 Drohnenhangar\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittelgroßen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittelgroßen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Projectile Turrets\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +5 Turret Hardpoints, +2 Launcher Hardpoints\"\n          }, \n          {\n            \"text\": \"·+300 PWG, +30 CPU\"\n          }, \n          {\n            \"text\": \"·+25mbit Drone Bandwidth, +25m3 Drone Bay\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret optimal range and falloff\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en las torretas de proyectiles medianas.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+7 ranuras superiores, +5 puntos de montaje de torreta, +2 puntos de montaje de lanzador\"\n          }, \n          {\n            \"text\": \"·+300 SP, +30 CPU\"\n          }, \n          {\n            \"text\": \"·+25 Mbit/s al ancho de banda de drones, +25 m³ al muelle de drones\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta de proyectiles mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des Tourelles à projectiles intermédiaires\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+7 Emplacements supérieurs, +5 Points de fixation de tourelle, +2 Points de fixation de lanceur\"\n          }, \n          {\n            \"text\": \"·+300 PWG, +30 CPU\"\n          }, \n          {\n            \"text\": \"·Bande passante de drone +25 mbit, Hangar à drone +25 m3\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale et à la distance de perte des tourelles à projectiles intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la tourelle à projectiles intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Projectile Turrets\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +5 Turret Hardpoints, +2 Launcher Hardpoints\"\n          }, \n          {\n            \"text\": \"·+300 PWG, +30 CPU\"\n          }, \n          {\n            \"text\": \"·+25mbit Drone Bandwidth, +25m3 Drone Bay\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"bonus to Medium Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret optimal range and falloff\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"中型プロジェクタイルタレットのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+7、タレットハードポイント+5、ランチャーハードポイント+2\"\n          }, \n          {\n            \"text\": \"·PWG+300、CPU+30\"\n          }, \n          {\n            \"text\": \"·ドローン帯域+25mbit、ドローンベイ+25m3\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"中型実体弾タレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型実体弾タレットの最適射程距離と精度低下範囲にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型実体弾タレットの追跡速度にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 발사체 터렛 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +7, 터렛 하드포인트 +5, 런처 하드포인트 +2\"\n          }, \n          {\n            \"text\": \"·파워그리드 +300, CPU +30\"\n          }, \n          {\n            \"text\": \"·드론 대역폭 +25 mbit, 드론 격납고 +25 m³\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"중형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 최적사거리 및 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижается потребность средних баллистических орудий в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+7 разъёмов большой мощности, +5 точек монтажа орудий, +2 точки монтажа пусковых установок\"\n          }, \n          {\n            \"text\": \"·+300 МВт мощности реактора, +30 Тф мощности ЦПУ\"\n          }, \n          {\n            \"text\": \"·+25 мбит/с канала управления дронами, +25 м³ отсека для дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 17.5%\", \n              \"text\": \"увеличивается урон боеприпасов средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается оптимальная и добавочная дальность ведения огня из средних баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорость наводки на цель средних баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"装配中型射弹炮台能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+7，炮台+5，发射器+2\"\n          }, \n          {\n            \"text\": \"·能量栅格+300，CPU+30\"\n          }, \n          {\n            \"text\": \"·无人机带宽+25mbit，无人机挂舱+25m³\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"17.5%\", \n              \"text\": \"中型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台最佳射程和失准范围加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型射弹炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45607\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von schnellen Werfern für leichte Lenkwaffen sowie Werfern für schwere Lenkwaffen und schwere Angriffslenkwaffen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +5 Montageplätze für Werfer, +2 Montageplätze für Geschütztürme\"\n          }, \n          {\n            \"text\": \"·+150 Strom, +150 CPU\"\n          }, \n          {\n            \"text\": \"·+40 Mbit Drohnen-Bandbreite, +40 m3 Drohnenhangar\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Feuerrate von schnellen leichten Lenkwaffenwerfern, schweren Lenkwaffenwerfern und schweren Angriffslenkwaffenwerfern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Geschwindigkeit von schweren Angriffslenkwaffen und schweren Lenkwaffen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Lenkwaffen\"\n            }\n          ], \n          \"header\": \"Minmatar Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launchers\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +5 Launcher Hardpoints, +2 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+150 PWG, +150 CPU\"\n          }, \n          {\n            \"text\": \"·+40mbit Drone Bandwidth, +40m3 Drone Bay\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to missile explosion velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en los lanzamisiles ligeros, lanzamisiles pesados y lanzamisiles de asalto pesados de cadencia de tiro rápida.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+7 ranuras superiores, +5 puntos de montaje de lanzador, +2 puntos de montaje de torreta\"\n          }, \n          {\n            \"text\": \"·+150 SP, +150 CPU\"\n          }, \n          {\n            \"text\": \"·+40 Mbit/s al ancho de banda de drones, +40 m³ al muelle de drones\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la cadencia de tiro rápida de los lanzamisiles ligeros, los lanzamisiles pesados y los lanzamisiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de los misiles pesados y los misiles de asalto pesados.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des lance-missiles légers rapides, lance-missiles lourds et lance-missiles d'assaut lourds\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+7 Emplacements supérieurs, +5 Points de fixation de lanceur, +2 Points de fixation de tourelle\"\n          }, \n          {\n            \"text\": \"·+150 PWG, +150 CPU\"\n          }, \n          {\n            \"text\": \"·Bande passante de drone +40 mbit, Hangar à drone +40 m3\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la cadence de tir des lance-missiles légers, lance-missiles lourds et lance-missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse des Missiles lourds et des Missiles d'assaut lourds\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launchers\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +5 Launcher Hardpoints, +2 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+150 PWG, +150 CPU\"\n          }, \n          {\n            \"text\": \"·+40mbit Drone Bandwidth, +40m3 Drone Bay\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Rapid Light Missile, Heavy Missile and Heavy Assault Missile Launcher rate of fire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Missile and Heavy Assault Missile velocity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to missile explosion velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"ラピッドライトミサイル、ヘビーミサイル及びヘビーアサルトミサイルランチャーのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+7、ランチャーハードポイント+5、タレットハードポイント+2\"\n          }, \n          {\n            \"text\": \"·PWG+150、CPU+150\"\n          }, \n          {\n            \"text\": \"·ドローン帯域+40mbit、ドローンベイ+40m3\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ラピッドライトミサイル、ヘビーミサイル及びヘビーアサルトミサイルランチャーの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーミサイルとヘビーアサルトミサイルの速度上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ミサイルの爆風速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일의 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +7, 런처 하드포인트 +5, 터렛 하드포인트 +2\"\n          }, \n          {\n            \"text\": \"·파워그리드 +150, CPU +150\"\n          }, \n          {\n            \"text\": \"·드론 대역폭 +40 mbit, 드론 격납고 +40 m³\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"급속 라이트 미사일, 헤비 미사일, 헤비 어썰트 미사일 런처 연사속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 미사일 및 헤비 어썰트 미사일 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"미사일 폭발속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"снижается потребность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+7 разъёмов большой мощности, +5 точек монтажа пусковых установок, +2 точки монтажа орудий\"\n          }, \n          {\n            \"text\": \"·+150 МВт мощности реактора, +150 Тф мощности ЦПУ\"\n          }, \n          {\n            \"text\": \"·+40 мбит/с канала управления дронами, +40 м³ отсека для дронов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорострельность скорострельных ПУ лёгких ракет, ПУ тяжёлых штурмовых ракет, ПУ тяжёлых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полёта тяжёлых ракет и тяжёлых штурмовых ракет\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается коэффициент скорости взрыва БЧ ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"装配轻型快速导弹发射器, 重型导弹发射器和重型攻击导弹发射器的能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+7，发射器+5，炮台+2\"\n          }, \n          {\n            \"text\": \"·能量栅格+150，CPU+150\"\n          }, \n          {\n            \"text\": \"·无人机带宽+40mbit，无人机挂舱+40m³\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"重型导弹发射器 、重型攻击导弹发射器和轻型快速导弹发射器射速加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"重型导弹和重型攻击导弹飞行速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"导弹爆炸速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45608\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von mittleren Panzerungs-Fernreparatursystem- und Schildfernbooster-Modulen\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion der CPU- und Strom-Ausrüstungskosten von Kommandosalven-Modulen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die optimale Reichweite von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Schildfernboostern\"\n          }, \n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +4 Montageplätze für Geschütztürme\"\n          }, \n          {\n            \"text\": \"·+100 GJ Energiespeicherkapazität\"\n          }, \n          {\n            \"text\": \"·+25 Mbit Drohnen-Bandbreite, +50 m3 Drohnenhangar\"\n          }, \n          {\n            \"text\": \"·+1 max. aufgeschaltetes Ziel\"\n          }, \n          {\n            \"text\": \"·+60 Strom\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf Stärke und Dauer von Panzerungs-, Schild- und Gefechtskommandosalven\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Panzerungs-Fernreparatursystemen und Schildfernboostern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Panzerungs-Fernreparatursystem- und Schildfernbooster-Modulen\"\n            }\n          ], \n          \"header\": \"Minmatar Offensive Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Remote Armor Repairer and Remote Shield Booster modules\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Command Burst modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"bonus to Remote Shield Booster falloff\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +4 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+25mbit Drone Bandwidth, +50m3 Drone Bay\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }, \n          {\n            \"text\": \"·+60 PWG\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command, Shield Command, and Skirmish Command burst strength and duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer and Remote Shield Booster activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Remote Armor Repairer and Remote Shield Booster modules\"\n            }\n          ], \n          \"header\": \"Minmatar Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en los módulos medianos de reparador de blindaje remoto y potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los costes de equipamiento de SP y CPU en los módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación al alcance óptimo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"de bonificación al alcance efectivo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"de bonificación al alcance efectivo del potenciador de escudo remoto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+7 ranuras superiores, +4 puntos de montaje de torreta\"\n          }, \n          {\n            \"text\": \"·+100 GJ de capacidad del condensador\"\n          }, \n          {\n            \"text\": \"·+25 Mbit/s al ancho de banda de drones, +50 m³ al muelle de drones\"\n          }, \n          {\n            \"text\": \"·+1 objetivo fijado máximo\"\n          }, \n          {\n            \"text\": \"·+60 SP\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonificación a la intensidad y la duración del estallido de mando de blindaje, de escudo y de escaramuza.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del coste de activación del reparador de blindaje remoto y el potenciador de escudo remoto.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los módulos de reparador de blindaje remoto y potenciador de escudo remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas ofensivos minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"de réduction des coûts du PWG et du CPU des modules intermédiaires Réparateur de blindage à distance et Booster de Booster de bouclier à distance\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de réduction des coûts d'équipement du PWG et du CPU des modules de Salves de commande\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la portée optimale du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"de bonus à la perte du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"de bonus à la perte du booster de bouclier à distance\"\n          }, \n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+7 Emplacements supérieurs, +4 Points de fixation de tourelle\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +100 GJ\"\n          }, \n          {\n            \"text\": \"·Bande passante de drone +25 mbit, Hangar à drone +50 m3\"\n          }, \n          {\n            \"text\": \"·+1 Cible verrouillée max\"\n          }, \n          {\n            \"text\": \"·+60 PWG\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"de bonus et la puissance et à la durée des salves de commande de blindage, de bouclier et de guérilla\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction du coût d'activation du Réparateur de blindage à distance et du Booster de bouclier à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des modules du Réparateur de blindage à distance et du Booster de bouclier à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes offensifs minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Medium Remote Armor Repairer and Remote Shield Booster modules\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in the PWG and CPU fitting costs of Command Burst modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"bonus to Remote Shield Booster falloff\"\n          }, \n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+7 High Slots, +4 Turret Hardpoints\"\n          }, \n          {\n            \"text\": \"·+100GJ Capacitor Capacity\"\n          }, \n          {\n            \"text\": \"·+25mbit Drone Bandwidth, +50m3 Drone Bay\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }, \n          {\n            \"text\": \"·+60 PWG\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"bonus to Armored Command, Shield Command, and Skirmish Command burst strength and duration\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Remote Armor Repairer and Remote Shield Booster activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Remote Armor Repairer and Remote Shield Booster modules\"\n            }\n          ], \n          \"header\": \"Minmatar Offensive Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"中型リモートアーマーリペアラとりモードシールドブースターモジュールのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"コマンドバーストモジュールのPWGとCPU装備コストが減少\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"リモートアーマーリペアラの最適範囲を拡大\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"リモートアーマーリペアラフォールオフにボーナス追加\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"リモートシールドブースターの精度低下範囲にボーナス\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュールが1個使える\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ハイスロット+7、タレットハードポイント+4\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+100GJ\"\n          }, \n          {\n            \"text\": \"·ドローン帯域+25mbit、ドローンベイ+50m3\"\n          }, \n          {\n            \"text\": \"·最大ロックターゲット数+1\"\n          }, \n          {\n            \"text\": \"·PWG+60\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"装甲戦コマンド、シールドコマンド、高機動戦コマンドバーストの効果と持続時間が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"リモートアーマーリペアラとリモートシールドブースターの起動コストが減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたリモートアーマーリペアラとリモートシールドブースターモジュールの恩恵が増加\"\n            }\n          ], \n          \"header\": \"ミンマター攻撃システムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"중형 원격 장갑 수리 장치 및 원격 실드 부스터 모듈 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"커맨드 버스트 모듈 파워그리드 및 CPU 요구치 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"원격 장갑수리 장치 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"원격 장갑수리 장치 유효사거리 증가\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"원격 실드 부스터 유효사거리 증가\"\n          }, \n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·하이 슬롯 +7, 터렛 하드포인트 +4\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +100 GJ\"\n          }, \n          {\n            \"text\": \"·드론 대역폭 +25 mbit, 드론 격납고 +50 m³\"\n          }, \n          {\n            \"text\": \"·최대 타겟팅 수 +1\"\n          }, \n          {\n            \"text\": \"·파워그리드 60 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"장갑 버스트, 실드 버스트 및 스커미시 버스트 강도 및 지속시간 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"원격 장갑수리 및 원격 실드 부스터 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 장갑수리 장치 및 원격 실드 부스터 모듈 과부하 시 보너스 효과 증가\"\n            }\n          ], \n          \"header\": \"민마타 공격용 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 75%\", \n            \"text\": \"снижается потребность средних установок дистанционного ремонта брони и средних установок накачки щитов в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"number\": \"на 95%\", \n            \"text\": \"снижается потребность импульсных оптимизаторов в мощностях ЦПУ и реактора\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"увеличивается оптимальная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 1150%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 475%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционной накачки щитов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+7 разъёмов большой мощности, +4 точки монтажа орудий\"\n          }, \n          {\n            \"text\": \"·+100 ГДж ёмкости накопителя\"\n          }, \n          {\n            \"text\": \"·+25 мбит/с канала управления дронами, +50 м³ отсека для дронов\"\n          }, \n          {\n            \"text\": \"·+1 к максимуму захваченных целей\"\n          }, \n          {\n            \"text\": \"·+60 к мощности реактора\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 2%\", \n              \"text\": \"повышается эффективность и длительность действия импульсов, генерируемых импульсными оптимизаторами брони, импульсными оптимизаторами щитов и импульсными оптимизаторами маневрирования\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони и установками дистанционной накачки щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"усиливается влияние перегрузки на параметры установок дистанционного ремонта брони и установок дистанционной накачки щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские наступательные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"75%\", \n            \"text\": \"装配远程装甲维修器和远程护盾回充增量器的能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"装配指挥脉冲波的能量栅格和CPU消耗减少\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"远程装甲维修器最佳射程加成\"\n          }, \n          {\n            \"number\": \"1150%\", \n            \"text\": \"远程装甲维修器失准范围加成\"\n          }, \n          {\n            \"number\": \"475%\", \n            \"text\": \"远程护盾回充增量器失准范围加成\"\n          }, \n          {\n            \"text\": \"·可以装配一个指挥脉冲波\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·高槽+7，炮台+4\"\n          }, \n          {\n            \"text\": \"·电容器电容量+100GJ\"\n          }, \n          {\n            \"text\": \"·无人机带宽+25mbit，无人机挂舱+50m³\"\n          }, \n          {\n            \"text\": \"·目标锁定数上限+1\"\n          }, \n          {\n            \"text\": \"·+60 PWG\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"2%\", \n              \"text\": \"装甲指挥、护盾指挥和游击战指挥脉冲波强度和持续时间加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"远程装甲维修器和远程护盾回充增量器启动消耗降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程装甲维修器和远程护盾回充增量器过载效果加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔攻击子系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45609\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"Reduktion des CPU-Bedarfs von Scansondenwerfern und Vermessungssondenwerfern\"\n          }, \n          {\n            \"text\": \"·Weitere Boni sind verfügbar, solange einer der drei Modi des taktischen Zerstörers aktiv ist. Zwischen den Modi kann nur alle 10 Sekunden umgeschaltet werden.\"\n          }, \n          {\n            \"text\": \"·Verteidigungsmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf alle Panzerungs- und Rumpfresistenzen bei aktiviertem Verteidigungsmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Reduktion der Dauer des Panzerungsreperatursystems bei aktivem Verteidigungsmodus\"\n          }, \n          {\n            \"text\": \"·Antriebsmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Bonus auf den Geschwindigkeitsschub von Mikrowarpantrieben und Reduktion des Energiespeicherverbrauchs von Mikrowarpantrieben bei aktiviertem Antriebsmodus.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Bonus auf den Trägheitsmodifikator von Schiffen bei aktiviertem Antriebsmodus\"\n          }, \n          {\n            \"text\": \"·Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen bei aktiviertem Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen bei aktiviertem Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Sensorstärke und Zielerfassungsreichweite bei aktiviertem Scharfschützenmodus\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"erhöhte Widerstandsfähigkeit gegen gegnerische Sensordämpfer und Waffenstörer bei aktiviertem Scharfschützenmodus\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf die Feuerrate von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduzierung des Hitzeschadens von Modulen\"\n            }\n          ], \n          \"header\": \"Gallente Tactical Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus to Small Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Scan Probe Launcher and Survey Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Additional bonuses are available while one of three Tactical Destroyer Modes are active. Modes may be switched no more than once every 10 seconds.\"\n          }, \n          {\n            \"text\": \"·Defense Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to all armor and hull resistances while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"reduction to armor repairer duration while Defense Mode is active\"\n          }, \n          {\n            \"text\": \"·Propulsion Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Microwarpdrive speed boost and reduction in Microwarpdrive capacitor use while Propulsion Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to ship inertia modifier while Propulsion Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Sharpshooter Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Small Hybrid Turret damage while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to sensor strength and targeting range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"increased resistances against hostile Sensor Dampeners and Weapon Disruptors while Sharpshooter Mode is enabled\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Small Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module heat damage amount taken\"\n            }\n          ], \n          \"header\": \"Gallente Tactical Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"de reducción de los requisitos de CPU del lanzasondas de escaneo y el lanzasondas de prospección.\"\n          }, \n          {\n            \"text\": \"·Hay bonificaciones adicionales disponibles mientras uno de los tres modos de destructor táctico está habilitado. No se puede cambiar de modo más de una vez cada 10 segundos.\"\n          }, \n          {\n            \"text\": \"·Modo de defensa\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación a todas las resistencias de blindaje y casco mientras el modo de defensa está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de reducción a la duración del reparador de blindaje mientras el modo de defensa está activado.\"\n          }, \n          {\n            \"text\": \"·Modo de propulsión\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonificación al impulso de velocidad del motor de microwarp y reducción del condensador del motor de microwarp mientras el modo de propulsión está habilitado.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonificación al modificador de inercia de la nave mientras el modo de propulsión está habilitado.\"\n          }, \n          {\n            \"text\": \"·Modo de francotirador\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida pequeña mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la intensidad del sensor y la distancia-objetivo mientras el modo de francotirador está habilitado.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"más resistencia frente a atenuadores de sensor y disruptores de armas hostiles mientras el modo de francotirador está habilitado.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la cantidad de daño por calor del módulo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor táctico gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus aux dégâts de la petite tourelle hybride\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"réduction des prérequis de CPU pour les lanceurs de sondes de balayage et de sondes d'inspection\"\n          }, \n          {\n            \"text\": \"·Des bonus supplémentaires sont disponibles lorsque l'un des trois modes de Destroyer tactiques est disponible. Il n'est pas possible d'alterner les modes plus d'une fois toutes les 10 secondes.\"\n          }, \n          {\n            \"text\": \"·Mode de défense\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus à toutes les résistances d'armure et de coque lorsque le Mode Défense est actif\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"réduction de la durée du réparateur de blindage lorsque le Mode Défense est actif\"\n          }, \n          {\n            \"text\": \"·Mode de propulsion\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus à la vitesse du propulseur de microwarp et réduction de l'utilisation du capaciteur pour le propulseur de microwarp lorsque le Mode Sharpshooter est activé\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus au modificateur d'inertie du vaisseau lorsque le mode de propulsion est activé\"\n          }, \n          {\n            \"text\": \"·Mode Sharpshooter\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles hybrides lorsque le Mode Sharpshooter est activé\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles hybrides lorsque le Mode Sharpshooter est activé.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la puissance de détection et à la portée de ciblage lorsque le mode Sharpshooter est activé.\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"de bonus aux résistances contre les atténuateurs de détection et les perturbateurs d'armement ennemis lorsque le Mode Sharpshooter est activé.\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la cadence de tir de la petite tourelle hybride\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la vitesse de poursuite de la petite tourelle hybride\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction aux dégâts de chaleur subis par un module\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer tactique gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"bonus to Small Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"reduction in Scan Probe Launcher and Survey Probe Launcher CPU requirements\"\n          }, \n          {\n            \"text\": \"·Additional bonuses are available while one of three Tactical Destroyer Modes are active. Modes may be switched no more than once every 10 seconds.\"\n          }, \n          {\n            \"text\": \"·Defense Mode\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to all armor and hull resistances while Defense Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"reduction to armor repairer duration while Defense Mode is active\"\n          }, \n          {\n            \"text\": \"·Propulsion Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Microwarpdrive speed boost and reduction in Microwarpdrive capacitor use while Propulsion Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to ship inertia modifier while Propulsion Mode is enabled\"\n          }, \n          {\n            \"text\": \"·Sharpshooter Mode\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"bonus to Small Hybrid Turret damage while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to sensor strength and targeting range while Sharpshooter Mode is enabled\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"increased resistances against hostile Sensor Dampeners and Weapon Disruptors while Sharpshooter Mode is enabled\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Small Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module heat damage amount taken\"\n            }\n          ], \n          \"header\": \"Gallente Tactical Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"スキャンプローブランチャーおよび調査プローブランチャーのCPU前提要件が減少\"\n          }, \n          {\n            \"text\": \"·戦術駆逐艦モードが1つでも作動中であれば、さらにボーナスが増す。モードは10秒間に1回だけ切り替えることができる。\"\n          }, \n          {\n            \"text\": \"·防衛モード\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"防衛モードが有効な間、全てのアーマーレジスタンスと船体レジスタンスが増加\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \" 防衛モードが有効な間、アーマーリペアラの起動時間が短縮\"\n          }, \n          {\n            \"text\": \"·推進モード\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"推進モードが有効な間、マイクロワープドライブのスピードブーストにボーナス、さらにマイクロワープドライブのキャパシタ消費量が減少\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"推進モードが有効な間、艦船の慣性修正乗数が増加\"\n          }, \n          {\n            \"text\": \"·射撃モード\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"射撃モードが有効な間、小型ハイブリッドタレットの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"射撃モードを有効化している間、小型ハイブリッドタレットのダメージが上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"射撃モードを有効化している間、センサー強度とターゲット範囲が増加\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"射撃モードを有効化している間、敵対勢力のセンサーダンプナーと兵器妨害器に対する耐性が増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"小型ハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"モジュールが受けるヒートダメージ量が軽減\"\n            }\n          ], \n          \"header\": \"ガレンテ戦術駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"스캔 프로브 런처 및 조사 프로브 런처 CPU 사용량 감소\"\n          }, \n          {\n            \"text\": \"·세 가지 모드 중 한 가지가 활성화 중일 때 추가 보너스가 부여됩니다. 10초에 한 번씩 모드를 전환할 수 있습니다.\"\n          }, \n          {\n            \"text\": \"·방어모드\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"방어 모드 활성화 중 장갑 및 선체 저항력 증가\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"방어 모드 활성화 중 장갑수리 장치 지속시간 감소\"\n          }, \n          {\n            \"text\": \"·추진 모드\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"추진 모드 활성화 중 마이크로 워프 드라이브 속도 증가 및 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"추진 모드 활성화 중 관성 계수 감소\"\n          }, \n          {\n            \"text\": \"·저격 모드\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"저격모드 활성화 중 소형 하이브리드 터렛 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"저격모드 활성화 중 소형 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"저격모드 활성화 중 센서 강도 및 타겟팅 거리 증가\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"저격모드 활성화 중 센서 댐프너 및 무기 디스럽터 저항력 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"소형 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"모듈이 받는 열 피해 감소\"\n            }\n          ], \n          \"header\": \"갈란테 전술 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 33%\", \n            \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 95%\", \n            \"text\": \"сокращается потребность пусковых установок разведзондов и пусковых установок лунных зондов в мощностях ЦПУ\"\n          }, \n          {\n            \"text\": \"·Дополнительные преимущества достигаются при входе в один из трёх доступных режимов многорежимного эсминца. Режимы можно переключать не чаще, чем раз в 10 секунд.\"\n          }, \n          {\n            \"text\": \"·Защитный режим\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"повышается сопротивляемость брони и корпуса корабля всем видам воздействия (при работе в защитном режиме)\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"сокращается рабочий цикл установок ремонта брони (при работе в защитном режиме)\"\n          }, \n          {\n            \"text\": \"·Скоростной режим\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"сокращается потребление энергии накопителя микроварп-ускорителями, а также повышается их эффективность по приросту скорости (при работе в скоростном режиме)\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"повышается маневренность корабля (при работе в скоростном режиме)\"\n          }, \n          {\n            \"text\": \"·Снайперский режим\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий (при работе в снайперском режиме)\"\n          }, \n          {\n            \"number\": \"на 33.3%\", \n            \"text\": \"увеличивается урон малых гибридных орудий (при работе в снайперском режиме)\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность захвата целей, а также эффективность штатных сенсорных систем (при работе в снайперском режиме)\"\n          }, \n          {\n            \"number\": \"на 66.6%\", \n            \"text\": \"повышается сопротивляемость действию вражеских модулей подавления захвата целей и постановщиков помех системам наводки (при работе в снайперском режиме)\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 3%\", \n              \"text\": \"повышается скорострельность малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается объём температурных повреждений модулей, получаемых ими при перегрузке\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские многорежимные эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"33%\", \n            \"text\": \"小型混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"95%\", \n            \"text\": \"扫描探针发射器和测量探针发射器CPU需求降低\"\n          }, \n          {\n            \"text\": \"·当战术驱逐舰启用三种模式中的一种后会获得额外加成。每10秒钟只能切换一次模式。\"\n          }, \n          {\n            \"text\": \"·防御模式\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用防御模式后装甲和结构抗性加成\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用防御模式后装甲维修器运转周期缩短\"\n          }, \n          {\n            \"text\": \"·高速模式\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用高速模式后微型跃迁推进器速度增量加成和微型跃迁推进器电容消耗减少\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用高速模式后惯性系数加成\"\n          }, \n          {\n            \"text\": \"·狙击模式\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用狙击模式后小型混合炮台最佳射程加成\"\n          }, \n          {\n            \"number\": \"33.3%\", \n            \"text\": \"启用狙击模式后小型混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"启用狙击模式后感应强度和锁定距离加成\"\n          }, \n          {\n            \"number\": \"66.6%\", \n            \"text\": \"启用狙击模式后对敌方的感应抑阻器和武器扰断器的抗性提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"3%\", \n              \"text\": \"小型混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"减少装备遭受的超载损伤\"\n            }\n          ], \n          \"header\": \"盖伦特战术驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 35683\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Energy Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des grandes tourelles à énergie\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"réduction du coût d'activation des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale des grandes tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des grandes tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Energy Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam range and velocity\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットの起動コストが減少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型エネルギータレットの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон больших лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"снижение расхода энергии на активацию больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮台启动消耗降低\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 28659\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Bergungsmodulen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de los recuperadores.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée du récupérateur\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"サルベージャーの起動時間が短縮\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"샐비저 지속시간 감소\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 5+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла демонтажных модулей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"打捞装置运转周期降低\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32985\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Bergungsmodulen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de los recuperadores.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée des récupérateurs\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"サルベージャーの起動時間が短縮\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"샐비저 지속시간 감소\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 5+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла демонтажных модулей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"打捞装置运转周期降低\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32987\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Bergungsmodulen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de los recuperadores.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée des récupérateurs\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"サルベージャーの起動時間が短縮\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"샐비저 지속시간 감소\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 5+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла демонтажных модулей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"打捞装置运转周期降低\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32983\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von schweren Lenkwaffen, Marschflugkörpern und Torpedos\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Explosionsgeschwindigkeit von Marschflugkörpern und Torpedos\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Feuerrate und Nachführungsgeschwindigkeit von großen Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire and tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de los misiles pesados, los misiles de crucero y los torpedos.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de explosión de los misiles de crucero y los torpedos.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la cadencia de tiro y la velocidad de rastreo de la torreta de proyectiles grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des missiles lourds, missiles de croisière et torpilles\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse d'explosion des missiles de croisière et des torpilles\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la cadence de tir et à la vitesse de poursuite des grandes tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Missile, Cruise Missile and Torpedo damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Cruise Missile and Torpedo explosion velocity\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Projectile Turret rate of fire and tracking speed\"\n            }\n          ], \n          \"header\": \"Minmatar Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビーミサイル・クルーズミサイル・トルピードのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"クルーズミサイルとトルピードの爆発速度が上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型プロジェクタイルタレットの発射速度と追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマター戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 미사일, 크루즈 미사일, 토피도 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"크루즈 미사일, 토피도 폭발속도 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 발사체 터렛 연사속도 및 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается урон БЧ тяжёлых ракет, дальнобойных ракет и торпед\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорости распространения взрыва дальнобойных ракет и торпед\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорострельности и скорости наведения больших баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型导弹、巡航导弹和鱼雷伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"巡航导弹和鱼雷爆炸速度加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型射弹炮台射速和跟踪速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32311\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Bergungsmodulen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de los recuperadores.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée des récupérateurs\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"サルベージャーの起動時間が短縮\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"샐비저 지속시간 감소\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 5+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла демонтажных модулей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"打捞装置运转周期降低\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32989\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Module für Anziehungsfeldgenerator, getarnten Anziehungsfeldgenerator und getarnten Sprungtorgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielaufschaltung nach der Deaktivierung von Tarnmodulen\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"Bonus auf die maximale Geschwindigkeit des Schiffs beim Einsatz von Tarnvorrichtungen\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n            }\n          ], \n          \"header\": \"Black Ops Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Feuerrate von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Cynosural Field Generator, Covert Cynosural Field Generator, and Covert Jump Portal Generator modules\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }\n          ], \n          \"header\": \"Black Ops bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de generador de campo cinosural, generador de campo cinosural encubierto y generador de portales de salto encubierto.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"de bonificación a la velocidad máxima de la nave al utilizar dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la cantidad drenada por el nosferatu de energía y el neutralizador energético.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones secretas (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules générateur de champ cynosural, générateur de champ cynosural furtif et générateur de portail interstellaire furtif\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation des dispositifs de camouflage\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"de bonus à la vitesse maximale d'un vaisseau lorsqu'équipé d'un dispositif de camouflage actif\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au volume d'énergie drainée par les Nosferatu à énergie et les neutraliseurs d'énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Forces spéciales :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des grandes tourelles à énergie\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la cadence de tir des grandes tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Cynosural Field Generator, Covert Cynosural Field Generator, and Covert Jump Portal Generator modules\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Energy Nosferatu and Energy Neutralizer drain amount\"\n            }\n          ], \n          \"header\": \"Black Ops bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Large Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Large Energy Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·サイノシュラルフィールドジェネレーター、潜伏用サイノシュラルフィールドジェネレーター、そして潜伏用ジャンプポータルジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置を停止した後のターゲット遅延なし\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"遮蔽装置使用時の艦船の最高速度が上昇\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"エネルギーノスフェラトゥとエネルギーニュートラライザーの吸収量が増加\"\n            }\n          ], \n          \"header\": \"秘密工作艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型エネルギータレットの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기, 코버트 점프 포탈 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"클로킹 장치 사용 시 함선 최대 속도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"에너지 노스페라투 및 에너지 뉴트럴라이저 흡수량 증가\"\n            }\n          ], \n          \"header\": \"블랙옵스 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"대형 에너지 터렛 연사속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможно оснащение приводным маяком, приводным маяком скрытого действия и диверсионным генератором гиперпорталов\"\n          }, \n          {\n            \"text\": \"·На кораблях этого типа устранена задержка включения систем захвата целей, вызываемая отключением систем маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }, \n          {\n            \"number\": \"на 650%\", \n            \"text\": \"бонус к максимальной скорости хода при использовании устройств маскировки\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к эффективности энергопоглощения и дистанционных нейтрализаторов заряда\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Тяжёлые диверсионные корабли:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорострельность больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配诱导力场发生器、隐秘诱导力场发生器和隐秘跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不遭受锁定延时副作用\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }, \n          {\n            \"number\": \"650%\", \n            \"text\": \"使用隐形装置时舰船的最大速度加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"掠能器和能量中和器吸取量加成\"\n            }\n          ], \n          \"header\": \"黑隐特勤舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"大型能量炮台射速加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 22428\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Leistung beim Überladen von Nachbrennern, Microwarpantrieben, eigenen Reparaturmodulen und Resistenzmodulen\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Caldari Hauler Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Größe des Flottenhangars\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Transport Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners, Microwarpdrives, Local Repair Modules, and Resistance Modules\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to fleet hangar capacity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los beneficios de posquemadores, motores de microwarp, módulos de reparación locales y módulos de resistencia sobrecalentados.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación de la capacidad del hangar para la flota.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de transporte (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonus à la force du réacteur de warp\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus aux avantages des modules de post-combustion, de propulseur de microwarp, de réparation locale et de résistance en surchauffe\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité du hangar de flotte\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de transport :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners, Microwarpdrives, Local Repair Modules, and Resistance Modules\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to fleet hangar capacity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"艦船のワープコア強度が増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"オーバーヒートしたアフターバーナー・マイクロワープドライブ・ローカルリペアモジュール・レジスタンスモジュールの利益が増加\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリハウラーボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"フリートハンガー容量が増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"特化型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"워프 코어 출력 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"애프터버너, 마이크로 워프 드라이브, 근접 수리장치 모듈 및 저항력 관련 모듈 과부하 시 보너스 효과 증가\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 운반선 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"함대 공용 창고 용적 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"트랜스포터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 2+\", \n            \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"усиливается влияние перегрузки на производительность ускорителей и ряда защитных и ремонтных систем, а именно: форсажных ускорителей, микроварп-ускорителей, бортовых установок ремонта брони и накачки щитов, а также активных модуляторов щитов и систем укрепления брони против воздействий всех видов\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Caldari Hauler:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость отсека с внешним доступом\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Транспортные корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"舰船跃迁核心强度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"加力燃烧器、微型跃迁推进器、自身维修装备和抗性提升装备超载后获得的效果提升增加\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"加达里运载舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰队机库容量加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"运输舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12731\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeld-Generatoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"text\": \"·Immun gegen jede Art von Frachtscanner\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Amarr Hauler Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }\n          ], \n          \"header\": \"Transport Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to warp speed and warp acceleration\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"text\": \"·Inmune a todos los escáneres de carga.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías amarriana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de transporte (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des dispositifs de camouflage opérations secrètes et des générateurs de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"text\": \"·Immunité contre tous les scanners de soute\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de transport :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Amarr Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to warp speed and warp acceleration\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"text\": \"·全てのカーゴスキャナーに対して無効\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"アマーハウラーボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープ速度とワープ加速が上昇\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }\n          ], \n          \"header\": \"特化型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"text\": \"·화물 스캐너 면역\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 운반선 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 속도 및 워프 가속도 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"트랜스포터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа оборудованы экранированными грузовыми отсеками\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Amarr Hauler:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Транспортные корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"text\": \"·免疫货舱扫描\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"艾玛运载舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }\n          ], \n          \"header\": \"运输舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12733\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"text\": \"·Immun gegen jede Art von Frachtscanner\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }\n          ], \n          \"header\": \"Transport Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to warp speed and warp acceleration\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"text\": \"·Inmune a todos los escáneres de carga.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de transporte (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des dispositifs de camouflage opérations secrètes et des générateurs de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"text\": \"·Immunité contre tous les scanners de soute\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de transport :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to warp speed and warp acceleration\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"text\": \"·全てのカーゴスキャナーに対して無効\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープ速度とワープ加速が上昇\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }\n          ], \n          \"header\": \"特化型輸送艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマターハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"text\": \"·화물 스캐너 면역\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 속도 및 워프 가속도 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"트랜스포터 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа оборудованы экранированными грузовыми отсеками\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Транспортные корабли:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Minmatar Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"text\": \"·免疫货舱扫描\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }\n          ], \n          \"header\": \"运输舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12735\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Belagerungsmodul ausrüsten\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug auf Durchlaufzeit von Entosis-Netzwerk\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden durch gezeitenresistente entropische Desintegratoren\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf die Feuerrate von gezeitenresistenten entropischen Desintegratoren\"\n            }\n          ], \n          \"header\": \"Precursor Dreadnought Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Ultratidal Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Ultratidal Entropic Disintegrator rate of fire\"\n            }\n          ], \n          \"header\": \"Precursor Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de asedio.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización al tiempo de ciclo del enlace de entosis.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño del desintegrador entrópico ultramareal.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la cadencia de tiro del desintegrador entrópico ultramareal.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Superacorazado precursor (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut être équipé d'un module de siège\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de pénalité au temps de cycle de la liaison Entosis\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts du désintégrateur entropique ultralittoral\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de blindage\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la cadence de tir du désintégrateur entropique ultralittoral\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Supercuirassé de précursion :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Siege module\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link cycle time\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Ultratidal Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Ultratidal Entropic Disintegrator rate of fire\"\n            }\n          ], \n          \"header\": \"Precursor Dreadnought bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·シージモジュールを搭載可能\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクのサイクル時間にペナルティ\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの有効範囲が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遠隔アーマーリペアラキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"超潮性エントロピックディスインテグレーターのダメージ上昇\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスにボーナス\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"超高速エントロピックディスインテグレーターの発射間隔にボーナス\"\n            }\n          ], \n          \"header\": \"プリカーサー攻城艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·시즈 모듈 장착 가능\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 작동 주기 패널티\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"극중력장 엔트로픽 분열기 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"극중력장 엔트로픽 분열기 연사속도 향상\"\n            }\n          ], \n          \"header\": \"프리커서 드레드노트 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Позволяет установить осадный модуль\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"штраф к времени цикла энтоз-передатчика\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для импульсного излучателя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону от сверхгравитационных энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к сопротивляемости брони\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"бонус к скорострельности сверхгравитационных энтропических дезинтеграторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Dreadnought:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个会战装备\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器距离加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"潮极熵能分解者伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"潮极熵能分解者射速加成\"\n            }\n          ], \n          \"header\": \"先驱者无畏舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 52907\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Reduzierte Verzögerung bei Reaktivierung von Mikrosprungantrieben\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Energiespeicherkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Energy Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beams range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship capacitor capacity\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad del condensador de la nave.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de réduction du temps de réactivation du propulseur de microsauts\"\n          }, \n          {\n            \"text\": \"·Peut installer des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la charge de capaciteur du vaisseau\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage</a\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Energy Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beams range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship capacitor capacity\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"マイクロジャンプドライブの再起動遅延が短縮\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のキャパシタ容量が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐패시터 용량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон больших лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сокращается задержка повторного включения маневровых гипердвигателей\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается ёмкость накопителя энергии корабля\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"微型跳跃引擎启动间隔加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"电容器电容量加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34221\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la capacité du réparateur de blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la petite tourelle hybride\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33669\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus à la capacité du réparateur de blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la petite tourelle hybride\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33667\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la petite tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la déperdition de la petite tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33665\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Projektilgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la petite tourelle à projectiles\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la déperdition de la petite tourelle à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型プロジェクタイルタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых баллистических орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33663\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la petite tourelle hybride\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33661\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Doomsday-Modul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann ein Phänomengenerator-Modul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann ein Sprungtorgenerator-Modul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann ein Klonbucht-Modul ausrüsten\"\n          }, \n          {\n            \"text\": \"·Kann drei Kommandostrahlen-Module verwenden\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf Panzerplatten und Schilderweiterungen\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Sensordämpfer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Waffenstörer\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Bonus auf den Widerstand gegen Stasis-Effekte\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Erhöhung der Fernunterstützungsimpedanz auf Elektronik\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"Abzug zur Dauer des Entosis-Netzwerks\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von Capital-Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von Capital-Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Gallente Titan Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n            }, \n            {\n              \"number\": \"200%\", \n              \"text\": \"Bonus auf den Schaden von Capital-Projektilwaffentürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von Capital-Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Titan Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Capital Projectile Turret falloff\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Titan bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }, \n            {\n              \"number\": \"200%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Minmatar Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo apocalíptico.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de fenómenos.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo generador de portales de salto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un módulo de plataforma de contenedores de clonación.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar tres módulos de estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación a las placas de blindaje y los extensores de escudo.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de atenuador de sensor.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia de disrupción de armas.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonificación a la resistencia al efecto ralentizador.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de aumento de la impedancia de asistencia electrónica remota.\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de penalización a la duración del enlace de entosis.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de proyectiles capital.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Titán gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n            }, \n            {\n              \"number\": \"200%\", \n              \"text\": \"de bonificación al daño de la torreta de proyectiles capital.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de proyectiles capital.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Titán minmatariano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper un module d'Annihilation\"\n          }, \n          {\n            \"text\": \"·Peut être équipé d'un module de générateur de phénomènes\"\n          }, \n          {\n            \"text\": \"·Peut équiper un module de générateur de portail interstellaire\"\n          }, \n          {\n            \"text\": \"·Peut équiper un module de plateforme de clonage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser trois modules de Salve de commandement\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonus aux revêtements de blindage et aux extenseurs de bouclier\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux atténuateurs de détection\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux perturbateurs d'armement\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de bonus de résistance aux effets de stase\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"d'amplification de l'impédance du soutien électronique à distance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"de pénalité à la durée de la liaison Entosis\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp du vaisseau\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la déperdition des tourelles à projectiles capitales\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles à projectiles capitales\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Titan gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"de bonus à la puissance du réacteur de warp du vaisseau\"\n            }, \n            {\n              \"number\": \"200%\", \n              \"text\": \"de bonus aux dégâts des tourelles à projectiles capitales\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles à projectiles capitales\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Titan minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit a Doomsday module\"\n          }, \n          {\n            \"text\": \"·Can fit a Phenomena Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Jump Portal Generator module\"\n          }, \n          {\n            \"text\": \"·Can fit a Clone Vat Bay module\"\n          }, \n          {\n            \"text\": \"·Can use three Command Burst modules\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to Armor Plates and Shield Extenders\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Sensor Dampener resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Weapon Disruption resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"bonus to Stasis effect resistance\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"increase to Remote Electronic Assistance impedance\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"penalty to Entosis Link duration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Capital Projectile Turret falloff\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Titan bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"bonus to ship warp core strength\"\n            }, \n            {\n              \"number\": \"200%\", \n              \"text\": \"bonus to Capital Projectile Turret damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Capital Projectile Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Minmatar Titan bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ドゥームズデイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·現象ジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·ジャンプポータルジェネレーターモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·クローンバットベイモジュールを装着可能\"\n          }, \n          {\n            \"text\": \"·コマンドバーストモジュール3個使用可能\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"コマンドバーストの有効範囲を拡大\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"アーマープレートとシールドエクステンダーにボーナス\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"センサーダンプナー耐性にボーナス\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"兵器妨害耐性にボーナス\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"ステイシスウェビファイヤー耐性にボーナス\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"リモートエレクトリックアシスタンスの電気抵抗が増大\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"エントーシスリンクの持続時間にペナルティ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"艦船のワープコア強度にボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"キャピタルプロジェクタイルタレットの精度低下範囲にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルプロジェクタイルタレットの追跡速度にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテタイタンボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"艦船のワープコア強度にボーナス\"\n            }, \n            {\n              \"number\": \"200%\", \n              \"text\": \"キャピタルプロジェクタイルタレットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"キャピタルプロジェクタイルタレットの発射速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマタータイタンボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·둠스데이모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·특이점 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 포탈 생성기 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 클론 격납고 모듈 장착 가능\"\n          }, \n          {\n            \"text\": \"·세개의 커맨드 버스트 모듈 사용 가능\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"장갑 플레이트 및 실드 확장장치 성능 향상\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"센서 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"무기 교란 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"스테이시스 웹 저항력 증가\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"원격 전자 지원 임피던스 증가\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"엔토시스 링크 지속시간 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"캐피탈 발사체 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 발사체 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 타이탄 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"워프 코어 출력 증가\"\n            }, \n            {\n              \"number\": \"200%\", \n              \"text\": \"캐피탈 발사체 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"캐피탈 발사체 터렛 연사속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 타이탄 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Позволяет установить орудие Судного дня\"\n          }, \n          {\n            \"text\": \"·Позволяет установить модуль генератора аномалий\"\n          }, \n          {\n            \"text\": \"·Позволяет установить генератор гиперпорталов\"\n          }, \n          {\n            \"text\": \"·Позволяет установить бортовую клон-станцию\"\n          }, \n          {\n            \"text\": \"·Позволяет использовать три импульсных оптимизатора\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"бонус к области действия импульсного оптимизатора\"\n          }, \n          {\n            \"number\": \"на 500%\", \n            \"text\": \"бонус к эффективности бронеплит и расширителей щитов\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"бонус к сопротивляемости подавлению сенсоров\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"бонус к сопротивляемости подавлению орудий\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"бонус к сопротивляемости стазис-индукции\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"усугубляет ослабление получаемой радиоэлектронной поддержки\"\n          }, \n          {\n            \"number\": \"на 5х\", \n            \"text\": \"штраф к длительности действия энтоз-передатчика\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 6+\", \n              \"text\": \"бонус к мощности бортового варп-ядра\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к остаточной дальности баллистических орудий КБТ\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорости наведения баллистических орудий КБТ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские титаны:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 6+\", \n              \"text\": \"бонус к мощности бортового варп-ядра\"\n            }, \n            {\n              \"number\": \"на 200%\", \n              \"text\": \"бонус к урону баллистических орудий КБТ\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорострельности баллистических орудий КБТ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские титаны:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个末日武器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个现象发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个跳跃通道发生器装备\"\n          }, \n          {\n            \"text\": \"·可以装配一个克隆舱装备\"\n          }, \n          {\n            \"text\": \"·可以装配三个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"装甲附甲板和护盾扩展装置加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"感应抑阻器抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"武器扰断抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"停滞效果抗性加成\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"远程电子协助阻抗提升\"\n          }, \n          {\n            \"number\": \"5x\", \n            \"text\": \"侵噬链接运转周期惩罚\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"旗舰级射弹炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级射弹炮台追踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特泰坦操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"6+\", \n              \"text\": \"舰船跃迁核心强度加成\"\n            }, \n            {\n              \"number\": \"200%\", \n              \"text\": \"旗舰级射弹炮台伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"旗舰级射弹炮台射速加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔泰坦操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 78576\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP von Schilden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Wiederaufladezeit des Energiespeichers\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf alle Panzerungsresistenzen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Erhöhung des Signaturradius von Schiffen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to shield hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in capacitor recharge time\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Energy Nosferatu and Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to armor resistances\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"increase in ship signature radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida de los escudos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción del tiempo de carga del condensador.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la cantidad drenada por el neutralizador y el nosferatu de energía.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización a las resistencias de blindaje.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de aumento del radio de la señal de la nave.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie du bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction au temps de recharge du capaciteur\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus au volume d'énergie drainée par les Nosferatu à énergie et les neutraliseurs d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité aux résistances de blindage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"d'augmentation du rayon de signature du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to shield hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in capacitor recharge time\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Energy Nosferatu and Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to armor resistances\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"increase in ship signature radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"キャパシタのリチャージ時間が短縮\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"エネルギーノスフェラトゥとニュートラライザーの吸収量が増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマーレジスタンスにペナルティ\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"艦船のシグネチャ半径が拡大\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"캐패시터 충전시간 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"에너지 노스페라투 및 뉴트럴라이저 흡수량 보너스\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 저항력 페널티\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"함선 시그니처 반경 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к запасу прочности щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшение времени перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к эффективности энергопоглощения и энергонейтрализатора\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"штраф к сопротивляемости брони\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличение размера сигнатуры корабля\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"电容回充速度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"掠能器和能量中和器吸取量加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲抗性惩罚\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"舰船信号半径提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30869\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduzierte effektiv zurückgelegte Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"text\": \"·Immun gegen Unterbrechungsfeldwerfer, Warpstörfeldgeneratoren und mobile kleine , mittelgroße und große Warpstörer\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"text\": \"·Inmune al lanzaesferas de interdicción, al generador de campo disruptor de warp y al disruptor de warp móvil pequeño, mediano y grande.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effective comptabilisée pour l'épuisement de saut\"\n          }, \n          {\n            \"text\": \"·Immunité contre les lanceurs de sphère d'interdiction, générateurs de champ perturbateur de warp et perturbateurs de warp mobiles légers, intermédiaires et grands perturbateurs de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"text\": \"·Immune to Interdiction Sphere Launcher, Warp Disruption Field Generator and Mobile Small, Medium and Large Warp Disruptor\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプ疲労までの移動有効距離が減少\"\n          }, \n          {\n            \"text\": \"·インターディクションスフィアランチャー、ワープ妨害フィールドジェネレーター、小型、中型、大型移動式ワープ妨害器の影響を受けない\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"text\": \"·인터딕션 런처, 워프 디스럽션 필드 생성기, 이동식 소형/중형/대형 워프 디스럽터에 면역\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 300%\", \n            \"text\": \"Увеличивается скорость и ускорение в (только в варп-режиме)\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"text\": \"·Невосприимчивость к воздействию систем запуска заградительных сфер, бортовых варп-заградителей, а также полевых варп-заградителей малой, средней и большой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"300%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃疲劳对有效距离的影响\"\n          }, \n          {\n            \"text\": \"·对拦截泡发射器、跃迁扰断力场发生器与小型、中型及大型机动跃迁扰断器免疫\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 33513\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"Bonus auf Schaden durch Geschütztürme, Lenkwaffen, Vorton-Projektoren und Drohnen\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Abzug auf Nachführungsgeschwindigkeit von Geschütztürmen und Drohnen\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Abzug auf den Explosionsradius von Lenkwaffen und Vorton-Projektoren\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Abzug auf die Effektivität der Zielmarkierung\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Abzug auf die maximale Zielerfassungsreichweite\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to turret, missile, vorton projector and drone damage\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to missile and vorton projector explosion radius\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to target painter effectiveness\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to maximum targeting range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonificación al daño de las torretas, los misiles, los proyectores vortónicos y los drones.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de penalización a la velocidad de rastreo de las torretas y los drones.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de penalización al radio de explosión de los misiles y los proyectores vortónicos.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de penalización a la efectividad de los reveladores de objetivo.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de penalización a la distancia-objetivo máxima.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonus aux dégâts des tourelles, missiles, projecteurs de vortons et drones\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de pénalité à la vitesse de poursuite des tourelles et des drones\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de pénalité au rayon d'explosion des missiles et projecteurs de vortons\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de pénalité à l'efficacité du marqueur de cible\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de pénalité à la portée de ciblage maximum\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to turret, missile, vorton projector and drone damage\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to missile and vorton projector explosion radius\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to target painter effectiveness\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to maximum targeting range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"タレット、ミサイル、ヴォートンプロジェクター、ドローンのダメージ上昇\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"タレットとドローンの追跡速度が上昇\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"ミサイルとヴォートンプロジェクターの爆発半径にペナルティ\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"ターゲットペインターの効果にペナルティ\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"最大ターゲット範囲にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"터렛, 미사일, 보르톤 프로젝터, 드론 피해량 증가\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"터렛 및 드론 트래킹 속도 페널티\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"미사일 및 보르톤 프로젝터 폭발반경 감소\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"타겟 페인터 효과 페널티\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"최대 타겟팅 거리 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 44%\", \n            \"text\": \"бонус к урону от турелей, ракет, вортонных проекторов и дронов\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"штраф к скорости наведения турелей и дронов\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"штраф к радиусу взрыва для ракет и вортонных проекторов\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"штраф к эффективности системы подсветки целей\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"штраф к максимальной дальности захвата целей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"炮台、导弹、电弧弦投射器和无人机伤害加成\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"炮台和无人机跟踪速度惩罚\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"导弹和电弧弦投射器爆炸半径惩罚\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"目标标记装置效果惩罚\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"锁定范围上限惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30860\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"Bonus auf Schaden durch Geschütztürme, Lenkwaffen, Vorton-Projektoren und Drohnen\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Abzug auf Nachführungsgeschwindigkeit von Geschütztürmen und Drohnen\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Abzug auf den Explosionsradius von Lenkwaffen und Vorton-Projektoren\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Abzug auf die Effektivität der Zielmarkierung\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Abzug auf die maximale Zielerfassungsreichweite\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to turret, missile, vorton projector and drone damage\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to missile and vorton projector explosion radius\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to target painter effectiveness\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to maximum targeting range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonificación al daño de las torretas, los misiles, los proyectores vortónicos y los drones.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de penalización a la velocidad de rastreo de las torretas y los drones.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de penalización al radio de explosión de los misiles y los proyectores vortónicos.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de penalización a la efectividad de los reveladores de objetivo.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de penalización a la distancia-objetivo máxima.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonus aux dégâts des tourelles, missiles, projecteurs de vortons et drones\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de pénalité à la vitesse de poursuite des tourelles et des drones\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de pénalité au rayon d'explosion des missiles et projecteurs de vortons\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de pénalité à l'efficacité du marqueur de cible\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de pénalité à la portée de ciblage maximum\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to turret, missile, vorton projector and drone damage\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to missile and vorton projector explosion radius\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to target painter effectiveness\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to maximum targeting range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"タレット、ミサイル、ヴォートンプロジェクター、ドローンのダメージ上昇\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"タレットとドローンの追跡速度が上昇\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"ミサイルとヴォートンプロジェクターの爆発半径にペナルティ\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"ターゲットペインターの効果にペナルティ\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"最大ターゲット範囲にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"터렛, 미사일, 보르톤 프로젝터, 드론 피해량 증가\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"터렛 및 드론 트래킹 속도 페널티\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"미사일 및 보르톤 프로젝터 폭발반경 감소\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"타겟 페인터 효과 페널티\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"최대 타겟팅 거리 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 58%\", \n            \"text\": \"бонус к урону от турелей, ракет, вортонных проекторов и дронов\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"штраф к скорости наведения турелей и дронов\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"штраф к радиусу взрыва для ракет и вортонных проекторов\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"штраф к эффективности системы подсветки целей\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"штраф к максимальной дальности захвата целей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"炮台、导弹、电弧弦投射器和无人机伤害加成\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"炮台和无人机跟踪速度惩罚\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"导弹和电弧弦投射器爆炸半径惩罚\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"目标标记装置效果惩罚\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"锁定范围上限惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30861\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"Bonus auf Schaden durch Geschütztürme, Lenkwaffen, Vorton-Projektoren und Drohnen\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Abzug auf Nachführungsgeschwindigkeit von Geschütztürmen und Drohnen\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Abzug auf den Explosionsradius von Lenkwaffen und Vorton-Projektoren\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Abzug auf die Effektivität der Zielmarkierung\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Abzug auf die maximale Zielerfassungsreichweite\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to turret, missile, vorton projector and drone damage\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to missile and vorton projector explosion radius\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to target painter effectiveness\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to maximum targeting range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonificación al daño de las torretas, los misiles, los proyectores vortónicos y los drones.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de penalización a la velocidad de rastreo de las torretas y los drones.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de penalización al radio de explosión de los misiles y los proyectores vortónicos.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de penalización a la efectividad de los reveladores de objetivo.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de penalización a la distancia-objetivo máxima.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonus aux dégâts des tourelles, missiles, projecteurs de vortons et drones\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de pénalité à la vitesse de poursuite des tourelles et des drones\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de pénalité au rayon d'explosion des missiles et projecteurs de vortons\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de pénalité à l'efficacité du marqueur de cible\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de pénalité à la portée de ciblage maximum\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to turret, missile, vorton projector and drone damage\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to missile and vorton projector explosion radius\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to target painter effectiveness\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to maximum targeting range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"タレット、ミサイル、ヴォートンプロジェクター、ドローンのダメージ上昇\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"タレットとドローンの追跡速度が上昇\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"ミサイルとヴォートンプロジェクターの爆発半径にペナルティ\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"ターゲットペインターの効果にペナルティ\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"最大ターゲット範囲にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"터렛, 미사일, 보르톤 프로젝터, 드론 피해량 증가\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"터렛 및 드론 트래킹 속도 페널티\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"미사일 및 보르톤 프로젝터 폭발반경 감소\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"타겟 페인터 효과 페널티\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"최대 타겟팅 거리 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 72%\", \n            \"text\": \"бонус к урону от турелей, ракет, вортонных проекторов и дронов\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"штраф к скорости наведения турелей и дронов\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"штраф к радиусу взрыва для ракет и вортонных проекторов\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"штраф к эффективности системы подсветки целей\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"штраф к максимальной дальности захвата целей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"炮台、导弹、电弧弦投射器和无人机伤害加成\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"炮台和无人机跟踪速度惩罚\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"导弹和电弧弦投射器爆炸半径惩罚\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"目标标记装置效果惩罚\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"锁定范围上限惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30862\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"Bonus auf Schaden durch Geschütztürme, Lenkwaffen, Vorton-Projektoren und Drohnen\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Abzug auf Nachführungsgeschwindigkeit von Geschütztürmen und Drohnen\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Abzug auf den Explosionsradius von Lenkwaffen und Vorton-Projektoren\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Abzug auf die Effektivität der Zielmarkierung\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Abzug auf die maximale Zielerfassungsreichweite\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to turret, missile, vorton projector and drone damage\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to missile and vorton projector explosion radius\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to target painter effectiveness\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to maximum targeting range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonificación al daño de las torretas, los misiles, los proyectores vortónicos y los drones.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de penalización a la velocidad de rastreo de las torretas y los drones.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de penalización al radio de explosión de los misiles y los proyectores vortónicos.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de penalización a la efectividad de los reveladores de objetivo.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de penalización a la distancia-objetivo máxima.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonus aux dégâts des tourelles, missiles, projecteurs de vortons et drones\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de pénalité à la vitesse de poursuite des tourelles et des drones\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de pénalité au rayon d'explosion des missiles et projecteurs de vortons\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de pénalité à l'efficacité du marqueur de cible\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de pénalité à la portée de ciblage maximum\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to turret, missile, vorton projector and drone damage\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to missile and vorton projector explosion radius\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to target painter effectiveness\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to maximum targeting range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"タレット、ミサイル、ヴォートンプロジェクター、ドローンのダメージ上昇\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"タレットとドローンの追跡速度が上昇\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"ミサイルとヴォートンプロジェクターの爆発半径にペナルティ\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"ターゲットペインターの効果にペナルティ\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"最大ターゲット範囲にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"터렛, 미사일, 보르톤 프로젝터, 드론 피해량 증가\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"터렛 및 드론 트래킹 속도 페널티\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"미사일 및 보르톤 프로젝터 폭발반경 감소\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"타겟 페인터 효과 페널티\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"최대 타겟팅 거리 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 86%\", \n            \"text\": \"бонус к урону от турелей, ракет, вортонных проекторов и дронов\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"штраф к скорости наведения турелей и дронов\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"штраф к радиусу взрыва для ракет и вортонных проекторов\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"штраф к эффективности системы подсветки целей\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"штраф к максимальной дальности захвата целей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"炮台、导弹、电弧弦投射器和无人机伤害加成\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"炮台和无人机跟踪速度惩罚\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"导弹和电弧弦投射器爆炸半径惩罚\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"目标标记装置效果惩罚\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"锁定范围上限惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30863\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf Schaden durch Geschütztürme, Lenkwaffen, Vorton-Projektoren und Drohnen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf Nachführungsgeschwindigkeit von Geschütztürmen und Drohnen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf den Explosionsradius von Lenkwaffen und Vorton-Projektoren\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf die Effektivität der Zielmarkierung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf die maximale Zielerfassungsreichweite\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to turret, missile, vorton projector and drone damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to missile and vorton projector explosion radius\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to target painter effectiveness\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to maximum targeting range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de las torretas, los misiles, los proyectores vortónicos y los drones.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización a la velocidad de rastreo de las torretas y los drones.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización al radio de explosión de los misiles y los proyectores vortónicos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización a la efectividad de los reveladores de objetivo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización a la distancia-objetivo máxima.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts des tourelles, missiles, projecteurs de vortons et drones\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité à la vitesse de poursuite des tourelles et des drones\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité au rayon d'explosion des missiles et projecteurs de vortons\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité à l'efficacité du marqueur de cible\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité à la portée de ciblage maximum\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to turret, missile, vorton projector and drone damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to missile and vorton projector explosion radius\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to target painter effectiveness\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to maximum targeting range\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"タレット、ミサイル、ヴォートンプロジェクター、ドローンのダメージ上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"タレットとドローンの追跡速度が上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ミサイルとヴォートンプロジェクターの爆発半径にペナルティ\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ターゲットペインターの効果にペナルティ\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"最大ターゲット範囲にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"터렛, 미사일, 보르톤 프로젝터, 드론 피해량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"터렛 및 드론 트래킹 속도 페널티\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"미사일 및 보르톤 프로젝터 폭발반경 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"타겟 페인터 효과 페널티\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"최대 타겟팅 거리 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к урону от турелей, ракет, вортонных проекторов и дронов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"штраф к скорости наведения турелей и дронов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"штраф к радиусу взрыва для ракет и вортонных проекторов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"штраф к эффективности системы подсветки целей\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"штраф к максимальной дальности захвата целей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"炮台、导弹、电弧弦投射器和无人机伤害加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"炮台和无人机跟踪速度惩罚\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"导弹和电弧弦投射器爆炸半径惩罚\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"目标标记装置效果惩罚\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"锁定范围上限惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30864\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"Bonus auf die HP von Schilden\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Reduktion der Wiederaufladezeit des Energiespeichers\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Abzug auf alle Panzerungsresistenzen\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"Erhöhung des Signaturradius von Schiffen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to shield hitpoints\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"reduction in capacitor recharge time\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to Energy Nosferatu and Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to armor resistances\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"increase in ship signature radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonificación a los puntos de vida de los escudos.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de reducción del tiempo de carga del condensador.\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonificación a la cantidad drenada por el neutralizador y el nosferatu de energía.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de penalización a las resistencias de blindaje.\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de aumento del radio de la señal de la nave.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonus aux points de vie du bouclier\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de réduction au temps de recharge du capaciteur\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonus au volume d'énergie drainée par les Nosferatu à énergie et les neutraliseurs d'énergie\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de pénalité aux résistances de blindage\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"d'augmentation du rayon de signature du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to shield hitpoints\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"reduction in capacitor recharge time\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to Energy Nosferatu and Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to armor resistances\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"increase in ship signature radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"シールドHPが増加\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"キャパシタのリチャージ時間が短縮\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"エネルギーノスフェラトゥとニュートラライザーの吸収量が増加\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"アーマーレジスタンスにペナルティ\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"艦船のシグネチャ半径が拡大\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"실드량 증가\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"캐패시터 충전시간 감소\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"에너지 노스페라투 및 뉴트럴라이저 흡수량 보너스\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"장갑 저항력 페널티\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"함선 시그니처 반경 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 44%\", \n            \"text\": \"бонус к запасу прочности щитов\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"уменьшение времени перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 44%\", \n            \"text\": \"бонус к эффективности энергопоглощения и энергонейтрализатора\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"штраф к сопротивляемости брони\"\n          }, \n          {\n            \"number\": \"на 44%\", \n            \"text\": \"увеличение размера сигнатуры корабля\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"护盾值加成\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"电容回充速度加成\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"掠能器和能量中和器吸取量加成\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"装甲抗性惩罚\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"舰船信号半径提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30865\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"Bonus auf die HP von Schilden\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Reduktion der Wiederaufladezeit des Energiespeichers\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Abzug auf alle Panzerungsresistenzen\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"Erhöhung des Signaturradius von Schiffen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to shield hitpoints\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"reduction in capacitor recharge time\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to Energy Nosferatu and Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to armor resistances\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"increase in ship signature radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonificación a los puntos de vida de los escudos.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de reducción del tiempo de carga del condensador.\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonificación a la cantidad drenada por el neutralizador y el nosferatu de energía.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de penalización a las resistencias de blindaje.\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de aumento del radio de la señal de la nave.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonus aux points de vie du bouclier\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de réduction au temps de recharge du capaciteur\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonus au volume d'énergie drainée par les Nosferatu à énergie et les neutraliseurs d'énergie\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de pénalité aux résistances de blindage\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"d'augmentation du rayon de signature du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to shield hitpoints\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"reduction in capacitor recharge time\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to Energy Nosferatu and Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to armor resistances\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"increase in ship signature radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"シールドHPが増加\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"キャパシタのリチャージ時間が短縮\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"エネルギーノスフェラトゥとニュートラライザーの吸収量が増加\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"アーマーレジスタンスにペナルティ\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"艦船のシグネチャ半径が拡大\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"실드량 증가\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"캐패시터 충전시간 감소\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"에너지 노스페라투 및 뉴트럴라이저 흡수량 보너스\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"장갑 저항력 페널티\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"함선 시그니처 반경 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 58%\", \n            \"text\": \"бонус к запасу прочности щитов\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"уменьшение времени перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 58%\", \n            \"text\": \"бонус к эффективности энергопоглощения и энергонейтрализатора\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"штраф к сопротивляемости брони\"\n          }, \n          {\n            \"number\": \"на 58%\", \n            \"text\": \"увеличение размера сигнатуры корабля\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"护盾值加成\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"电容回充速度加成\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"掠能器和能量中和器吸取量加成\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"装甲抗性惩罚\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"舰船信号半径提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30866\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"Bonus auf die HP von Schilden\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Reduktion der Wiederaufladezeit des Energiespeichers\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"Bonus auf die Transfermenge von Nosferatu- und Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Abzug auf alle Panzerungsresistenzen\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"Erhöhung des Signaturradius von Schiffen\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to shield hitpoints\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"reduction in capacitor recharge time\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to Energy Nosferatu and Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to armor resistances\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"increase in ship signature radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonificación a los puntos de vida de los escudos.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de reducción del tiempo de carga del condensador.\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonificación a la cantidad drenada por el neutralizador y el nosferatu de energía.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de penalización a las resistencias de blindaje.\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de aumento del radio de la señal de la nave.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonus aux points de vie du bouclier\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de réduction au temps de recharge du capaciteur\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonus au volume d'énergie drainée par les Nosferatu à énergie et les neutraliseurs d'énergie\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de pénalité aux résistances de blindage\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"d'augmentation du rayon de signature du vaisseau\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to shield hitpoints\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"reduction in capacitor recharge time\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to Energy Nosferatu and Neutralizer drain amount\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to armor resistances\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"increase in ship signature radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"シールドHPが増加\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"キャパシタのリチャージ時間が短縮\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"エネルギーノスフェラトゥとニュートラライザーの吸収量が増加\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"アーマーレジスタンスにペナルティ\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"艦船のシグネチャ半径が拡大\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"실드량 증가\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"캐패시터 충전시간 감소\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"에너지 노스페라투 및 뉴트럴라이저 흡수량 보너스\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"장갑 저항력 페널티\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"함선 시그니처 반경 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 72%\", \n            \"text\": \"бонус к запасу прочности щитов\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"уменьшение времени перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 72%\", \n            \"text\": \"бонус к эффективности энергопоглощения и энергонейтрализатора\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"штраф к сопротивляемости брони\"\n          }, \n          {\n            \"number\": \"на 72%\", \n            \"text\": \"увеличение размера сигнатуры корабля\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"护盾值加成\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"电容回充速度加成\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"掠能器和能量中和器吸取量加成\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"装甲抗性惩罚\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"舰船信号半径提高\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30867\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"Bonus auf die Reichweite von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"Bonus auf die Reichweite von Überwachungsscannern\"\n          }, \n          {\n            \"text\": \"·Es können 3 Taktische Netzwerkmodule gleichzeitig benutzt werden\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf die Effektivität von Industriemeisternetzwerken\"\n            }\n          ], \n          \"header\": \"Industrial Command Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Tractor Beam range\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam velocity\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to  Survey Scanner range\"\n          }, \n          {\n            \"text\": \"·Can use 3 Warfare Link modules simultaneously\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Mining Foreman Links effectiveness\"\n            }\n          ], \n          \"header\": \"Industrial Command Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"de bonificación al alcance del rayo tractor.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la velocidad del rayo tractor.\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"de bonificación al alcance del escáner de prospección.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar tres módulos de enlace de guerra simultáneamente.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la eficacia de los enlaces de capataz minero.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de mando industriales (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus à la portée du rayon de tractage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus à la vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus à la portée des scanners d'inspection\"\n          }, \n          {\n            \"text\": \"·Peut utiliser simultanément 3 modules de interface tactique\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus à l'efficacité des interfaces de contremaître d'extraction\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de commandement industriels :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"bonus to Tractor Beam range\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beam velocity\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"bonus to  Survey Scanner range\"\n          }, \n          {\n            \"text\": \"·Can use 3 Warfare Link modules simultaneously\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to Mining Foreman Links effectiveness\"\n            }\n          ], \n          \"header\": \"Industrial Command Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"トラクタービームの範囲が拡大\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの速度が上昇\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"調査スキャナーの範囲が拡大\"\n          }, \n          {\n            \"text\": \"·艦隊支援システムモジュールを同時に3基まで使用できる\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"採掘支援リンクの効果が増加\"\n            }\n          ], \n          \"header\": \"指揮型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"트랙터 빔 사거리 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 속도 증가\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"조사 스캐너 사거리 증가\"\n          }, \n          {\n            \"text\": \"·전장 링크 3개까지 동시 사용 가능\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"채광 포어맨 링크 효과 증가\"\n            }\n          ], \n          \"header\": \"인더스트리얼 커맨드쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 250%\", \n            \"text\": \"увеличивается оптимальная дальность действия гравизахватов\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается скорость перемещения груза гравизахватами\"\n          }, \n          {\n            \"number\": \"на 500%\", \n            \"text\": \"увеличивается оптимальная дальность действия комплексов оценки залежей\"\n          }, \n          {\n            \"text\": \"·На борт кораблей этого типа разрешается устанавливать до трёх систем управления боем\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"повышается эффективность действия систем управления добычей сырья\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Флагманы буровых флотилий:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"250%\", \n            \"text\": \"牵引光束距离加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束牵引速度加成\"\n          }, \n          {\n            \"number\": \"500%\", \n            \"text\": \"测量扫描器距离加成\"\n          }, \n          {\n            \"text\": \"·可以同时使用三个作战网络装备\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"开采先锋网络效果加成\"\n            }\n          ], \n          \"header\": \"工业指挥舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33685\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"900%\", \n            \"text\": \"Bonus auf die Reichweite von Vermessungsscannern\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"Bonus auf die Reichweite von Frachtscannern\"\n          }, \n          {\n            \"text\": \"·Es können Industrial-Kernmodule eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es kann eine Klonanlage eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Es können 3 Taktische Netzwerkmodule gleichzeitig benutzt werden\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion des Treibstoffverbrauchs von Industrial-Kernmodulen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Effektivität von Bergbau-Industriemeisternetzwerken bei Benutzung von Industrial-Kernmodulen\"\n            }, \n            {\n              \"number\": \"50%\", \n              \"text\": \"Bonus auf die Reichweite von Capital-Schildfernboostern\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf die HP und den Schaden von Drohnen\"\n            }\n          ], \n          \"header\": \"Capital Industrial Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"900%\", \n            \"text\": \"bonus to Survey Scanner range\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Cargo Scanners range\"\n          }, \n          {\n            \"text\": \"·Can fit Industrial Core\"\n          }, \n          {\n            \"text\": \"·Can fit Clone Vat Bay\"\n          }, \n          {\n            \"text\": \"·Can use 3 Warfare Link modules simultaneously\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in fuel consumption for Industrial Core\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Mining Foreman Links effectiveness when using Industrial Core\"\n            }, \n            {\n              \"number\": \"50%\", \n              \"text\": \"bonus to Capital Remote Shield Booster range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Capital Industrial Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"900%\", \n            \"text\": \"de bonificación al alcance del escáner de prospección.\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"de bonificación al alcance del escáner de carga.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un núcleo industrial.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar una plataforma de contenedores de clonación.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar tres módulos de enlace de guerra simultáneamente.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del consumo de combustible del núcleo industrial.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficacia de los enlaces de capataz minero al usar el núcleo industrial.\"\n            }, \n            {\n              \"number\": \"50%\", \n              \"text\": \"de bonificación al alcance del potenciador de escudo remoto capital.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación a los puntos de vida y el daño de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves industriales capitales (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"900%\", \n            \"text\": \"bonus à la portée des scanners d'inspection\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus à la portée des scanners de soute\"\n          }, \n          {\n            \"text\": \"·Peut monter une cellule industrielle\"\n          }, \n          {\n            \"text\": \"·Peut monter une plateforme de clonage\"\n          }, \n          {\n            \"text\": \"·Peut utiliser simultanément 3 modules de interface tactique\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"réduction de la consommation du carburant pour une cellule industrielle\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à l'efficacité des interfaces de contremaître d'extraction lors de l'utilisation d'une cellule industrielle\"\n            }, \n            {\n              \"number\": \"50%\", \n              \"text\": \"bonus à la portée du booster de bouclier à distance capitaux\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus aux dégâts et aux points de vie du drone\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux industriels capitaux :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"900%\", \n            \"text\": \"bonus to Survey Scanner range\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"bonus to Cargo Scanners range\"\n          }, \n          {\n            \"text\": \"·Can fit Industrial Core\"\n          }, \n          {\n            \"text\": \"·Can fit Clone Vat Bay\"\n          }, \n          {\n            \"text\": \"·Can use 3 Warfare Link modules simultaneously\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in fuel consumption for Industrial Core\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Mining Foreman Links effectiveness when using Industrial Core\"\n            }, \n            {\n              \"number\": \"50%\", \n              \"text\": \"bonus to Capital Remote Shield Booster range\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Drone hitpoints and damage\"\n            }\n          ], \n          \"header\": \"Capital Industrial Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"900%\", \n            \"text\": \"調査スキャナーの範囲が拡大\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"カーゴスキャナーの範囲が拡大\"\n          }, \n          {\n            \"text\": \"·インダストリアルコアを装備できる\"\n          }, \n          {\n            \"text\": \"·クローンバットベイを装備できる\"\n          }, \n          {\n            \"text\": \"·艦隊支援システムモジュールを同時に3基まで使用できる\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"インダストリアルコアの燃料消費量が減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"インダストリアルコアを使用する際の採掘支援リンクの効果が増加\"\n            }, \n            {\n              \"number\": \"50%\", \n              \"text\": \"キャピタルリモートシールドブースターの範囲が拡大\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"ドローンのヒットポイントとダメージが増加\"\n            }\n          ], \n          \"header\": \"採掘支援母艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"900%\", \n            \"text\": \"조사 스캐너 사거리 증가\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"화물 스캐너 사거리 증가\"\n          }, \n          {\n            \"text\": \"·인더스트리얼 코어 장착 가능\"\n          }, \n          {\n            \"text\": \"·점프 클론 격납고 장착 가능\"\n          }, \n          {\n            \"text\": \"·전장 링크 3개까지 동시 사용 가능\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"인더스트리얼 코어 연료 소모량 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"인더스트리얼 코어 사용 시 채광 포어맨 링크 효과 증가\"\n            }, \n            {\n              \"number\": \"50%\", \n              \"text\": \"캐피탈 원격 실드 부스터 사거리 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"드론 내구도 및 피해량 증가\"\n            }\n          ], \n          \"header\": \"캐피탈 인더스트리얼 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 900%\", \n            \"text\": \"увеличивается оптимальная дальность действия комплексов оценки залежей\"\n          }, \n          {\n            \"number\": \"на 200%\", \n            \"text\": \"увеличивается оптимальная дальность действия комплексов досмотра груза\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами промышленного профиля\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться отсеками клонирования\"\n          }, \n          {\n            \"text\": \"·На борт кораблей этого типа разрешается устанавливать до трёх систем управления боем\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается расход топлива при работе реконфигуратора промышленного профиля в\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"овышается эффективность действия систем управления добычей сырья во время работы реконфигуратора промышленного профиля\"\n            }, \n            {\n              \"number\": \"на 50%\", \n              \"text\": \"увеличивается дальность действия сверхбольших установок дистанционной накачки щитов\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"увеличивается урон бортового оружия дронов; увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Промышленные корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"900%\", \n            \"text\": \"测量扫描器距离加成\"\n          }, \n          {\n            \"number\": \"200%\", \n            \"text\": \"货柜扫描器距离加成\"\n          }, \n          {\n            \"text\": \"·可以装配工业核心\"\n          }, \n          {\n            \"text\": \"·可以装配克隆舱\"\n          }, \n          {\n            \"text\": \"·可以同时使用三个作战网络装备\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"工业核心燃料消耗减少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"开采先锋网络使用工业模块时的效果加成\"\n            }, \n            {\n              \"number\": \"50%\", \n              \"text\": \"旗舰级远程护盾回充增量器距离加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"无人机伤害和HP加成\"\n            }\n          ], \n          \"header\": \"旗舰级工业舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33687\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittelgroßen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta híbrida mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale et à la perte de la tourelle hybride intermédiaire\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型ハイブリッドタレットの最適射程距離および精度低下範囲が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 하이브리드 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность ведения огня из средних гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型混合炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"盖伦特战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 16229\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann Module für Warpstörfeldgenerator und Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Reichweite von Warpstörfeldgeneratoren\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warp Disruption Field Generator and Cynosural Field Generator modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all armor resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Disruption Field Generator range\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar módulos de generador de campo disruptor de warp y generador de campo cinosural.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance del generador de campo disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros interdictores pesados (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut équiper des modules générateur de champ perturbateur de warp et générateur de champ cynosural\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à toutes les résistances de blindage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale de la tourelle hybride intermédiaire\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée du générateur de champ perturbateur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'interdiction lourds :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir de la tourelle hybride intermédiaire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la tourelle hybride intermédiaire\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Warp Disruption Field Generator and Cynosural Field Generator modules\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to all armor resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Disruption Field Generator range\"\n            }\n          ], \n          \"header\": \"Heavy Interdiction Cruisers bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret rate of fire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·ワープ妨害フィールドジェネレーターとサイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"全てのアーマーレジスタンスが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープ妨害フィールドジェネレーターの範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ワープ妨害型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットの発射間隔が短縮\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·워프 디스럽션 필드 생성기 및 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"모든 장갑 저항력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 디스럽션 필드 생성기 사거리 증가\"\n            }\n          ], \n          \"header\": \"인터딕터 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 연사속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Возможно оснащение бортовым варп-заградителем и приводным маяком\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к дальности действия бортового варп-заградителя\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Заградительные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配跃迁扰断力场发生器和诱导力场发生器装备\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"装甲抗性加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁扰断力场发生器的范围扩大\"\n            }\n          ], \n          \"header\": \"重型拦截巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台射速加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12021\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Ausbeute von Oberflächen-Bergbaulasern\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Reduktion der Dauer und Aktivierungskosten von Eisschürfern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Kapazität des Erzfrachtraums des Schiffs\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf die Dauer von Oberflächen-Bergbaulasern und Eisschürfern\"\n            }\n          ], \n          \"header\": \"Mining Barge Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"Bonus auf die Dauer von Oberflächen-Bergbaulasern und Eisschürfern\"\n            }\n          ], \n          \"header\": \"Exhumers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Strip Miner yield\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"reduction in Ice Harvester duration and activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship ore hold capacity\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"reduction in Strip Miner and Ice Harvester duration\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"reduction in Strip Miner and Ice Harvester duration\"\n            }\n          ], \n          \"header\": \"Exhumers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonificación a la producción del extractor minero.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de reducción de la duración y el coste de activación de la cosechadora de hielo.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad del almacén de menas de la nave.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de reducción a la duración del extractor minero y la cosechadora de hielo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Gabarra minera (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"de reducción a la duración del extractor minero y la cosechadora de hielo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Exhumadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus au rendement du laser d'extraction intensive\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"réduction du coût et à la durée d'activation du collecteur de glace\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la capacité de la soute à minerai du vaisseau\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"réduction de la durée du laser d'extraction intensive et du collecteur de glace\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Barge d'extraction minière :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus à toutes les résistances de bouclier\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"réduction de la durée du laser d'extraction intensive et du collecteur de glace\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Exhumers :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Strip Miner yield\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"reduction in Ice Harvester duration and activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship ore hold capacity\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"reduction in Strip Miner and Ice Harvester duration\"\n            }\n          ], \n          \"header\": \"Mining Barge bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"reduction in Strip Miner and Ice Harvester duration\"\n            }\n          ], \n          \"header\": \"Exhumers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"ストリップマイナーの採掘量が増加\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"アイス採掘機の起動時間と起動コストが減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の鉱石容量が増加\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"ストリップマイナーとアイス採掘の起動時間が短縮\"\n            }\n          ], \n          \"header\": \"採掘艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"ストリップマイナーとアイス採掘の起動時間が短縮\"\n            }\n          ], \n          \"header\": \"特化型採掘艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"가속 채굴기 산출량 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"아이스 채굴기 지속시간 및 활성화 비용 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"광물 저장고 적재량 증가\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"가속 채굴기 및 아이스 채굴기 지속시간 감소\"\n            }\n          ], \n          \"header\": \"채광선 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"가속 채굴기 및 아이스 채굴기 지속시간 감소\"\n            }\n          ], \n          \"header\": \"익스허머 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"повышается производительность буровых лазеров валовой выемки\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"сокращается потребление энергии установками для бурения льда и продолжительность их рабочего цикла\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость отсека для руды\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"сокращается продолжительность рабочего цикла буровых лазеров валовой выемки и установок для бурения льда\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Буровые корабли:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }, \n            {\n              \"number\": \"на 2%\", \n              \"text\": \"сокращается продолжительность рабочего цикла буровых лазеров валовой выемки и установок для бурения льда\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Тяжёлые буровые корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"露天采矿器开采量加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"冰矿采集器运转周期和启动消耗减少\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船矿石舱容量加成\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"露天采矿器和冰矿采集器运转周期缩短\"\n            }\n          ], \n          \"header\": \"采矿驳船操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }, \n            {\n              \"number\": \"2%\", \n              \"text\": \"露天采矿器和冰矿采集器运转周期缩短\"\n            }\n          ], \n          \"header\": \"采掘者操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33683\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの精度低下範囲が拡大\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n          }, \n          {\n            \"text\": \"·可以装配突击损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12023\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Gallente Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33689\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Kann ein Kommandostrahl-Modul verwenden\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die Reichweite des Wirkungsbereichs von Kommandostrahlen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die optimale Reichweite und den Präzisionsabfall von mittelgroßen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von mittelgroßen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un módulo de estallido de mando.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance del radio de acción del estallido de mando.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los alcances óptimo y efectivo de la torreta híbrida mediana.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero de combate caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser une salve de commandement.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée de l'effet de zone des salves de commandement.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la portée optimale et à la perte de la tourelle hybride intermédiaire\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la tourelle hybride intermédiaire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des tourelles hybrides intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de bataille caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can use one Command Burst module\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Command Burst area of effect range\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to Medium Hybrid Turret optimal range and falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Battlecruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·コマンドバーストモジュールは1個使用可能です\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"コマンドバースト効果範囲にボーナス\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型ハイブリッドタレットの最適射程距離および精度低下範囲が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"カルダリ巡洋戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·한 개의 커맨드 버스트 모듈만 사용 가능\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"커맨드 버스트 효과 반경 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"중형 하이브리드 터렛 최적사거리 및 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 배틀크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут включать один импульсный оптимизатор\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается радиус импульсов, генерируемых импульсными оптимизаторами\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"увеличивается оптимальная и добавочная дальность ведения огня из средних гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские линейные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装配一个指挥脉冲波装备\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"指挥脉冲波效果范围加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"中型混合炮台最佳射程和失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"加达里战列巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 16227\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die maximale Geschwindigkeit des Schiffs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion des Masseabzugs von Panzerplatten\"\n          }, \n          {\n            \"text\": \"·Kann Angriffsschadensregulierer ausrüsten\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Bonus auf den Schaden von mittleren Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Reparaturmenge von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von mittleren Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von mittleren Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to ship max velocity\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Armor Plate mass penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción de la penalización de masa de la placa de blindaje.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar controles de daños por asalto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Cruceros de asalto pesados (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus à la vitesse maximale du vaisseau\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction à la pénalité de masse du revêtement de blindage\"\n          }, \n          {\n            \"text\": \"·Peut être équipé des contrôles des dégâts d'assaut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de bonus aux dégâts des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la capacité réparatrice du réparateur de blindage\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et perturbateurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des tourelles hybrides intermédiaires\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des tourelles hybrides intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseurs d'assaut lourds :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to ship max velocity\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Armor Plate mass penalty\"\n          }, \n          {\n            \"text\": \"·Can fit Assault Damage Controls\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Medium Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Medium Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Heavy Assault Cruisers bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"艦船の最高速度が上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"アーマープレートの質量ペナルティが減少\"\n          }, \n          {\n            \"text\": \"·アサルトダメージ制御を装備可能\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"アーマーリペアラの回復量増加\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型ハイブリッドタレットの精度低下範囲にボーナス\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型ハイブリッドタレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"強襲型巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"최대 속도 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"장갑 플레이트 질량 페널티 감소\"\n          }, \n          {\n            \"text\": \"·어썰트 데미지 컨트롤 장착가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 하이브리드 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"중형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"어썰트 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 30%\", \n            \"text\": \"бонус к максимальной скорости корабля\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"снижение штрафа за массу для бронеплит\"\n          }, \n          {\n            \"text\": \"·Позволяет установить ударные модули боевой живучести\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"бонус к урону средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к эффективности установки ремонта брони\"\n            }, \n            {\n              \"number\": \"на 25%\", \n              \"text\": \"бонус к оптимальной дальности варп-глушителей и варп-подавителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к остаточной дальности средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорости наведения средних гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Ударные крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"30%\", \n            \"text\": \"舰船最大速度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"附甲板质量惩罚降低\"\n          }, \n          {\n            \"text\": \"·可以装配突击型损伤控制装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"25%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器有效距离加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型混合炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"中型混合炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"重型突击巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 77726\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Leistung beim Überladen von Nachbrennern, Microwarpantrieben, eigenen Reparaturmodulen und Resistenzmodulen\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Hauler Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Größe des Flottenhangars\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Panzerungsresistenzen\"\n            }\n          ], \n          \"header\": \"Transport Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners, Microwarpdrives, Local Repair Modules, and Resistance Modules\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to fleet hangar capacity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los beneficios de posquemadores, motores de microwarp, módulos de reparación locales y módulos de resistencia sobrecalentados.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación de la capacidad del hangar para la flota.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de blindaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de transporte (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonus à la force du réacteur de warp\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus aux avantages des modules de post-combustion, de propulseur de microwarp, de réparation locale et de résistance en surchauffe\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité du hangar de flotte\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du blindage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de transport :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners, Microwarpdrives, Local Repair Modules, and Resistance Modules\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to fleet hangar capacity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all armor resistances\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"艦船のワープコア強度が増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"オーバーヒートしたアフターバーナー・マイクロワープドライブ・ローカルリペアモジュール・レジスタンスモジュールの利益が増加\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテハウラーボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"フリートハンガー容量が増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのアーマーレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"特化型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"워프 코어 출력 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"애프터버너, 마이크로 워프 드라이브, 근접 수리장치 모듈 및 저항력 관련 모듈 과부하 시 보너스 효과 증가\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 운반선 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"함대 공용 창고 용적 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 장갑 저항력 증가\"\n            }\n          ], \n          \"header\": \"트랜스포터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 2+\", \n            \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"усиливается влияние перегрузки на производительность ускорителей и ряда защитных и ремонтных систем, а именно: форсажных ускорителей, микроварп-ускорителей, бортовых установок ремонта брони и накачки щитов, а также активных модуляторов щитов и систем укрепления брони против воздействий всех видов\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Gallente Hauler:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость отсека с внешним доступом\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость брони корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Транспортные корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"舰船跃迁核心强度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"加力燃烧器、微型跃迁推进器、自身维修装备和抗性提升装备超载后获得的效果提升增加\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特运载舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰队机库容量加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"装甲抗性加成\"\n            }\n          ], \n          \"header\": \"运输舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12745\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"Bonus auf die Warpkernstärke des Schiffs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Leistung beim Überladen von Nachbrennern, Microwarpantrieben, eigenen Reparaturmodulen und Resistenzmodulen\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Größe des Flottenhangars\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Transport Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Schildboostern\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners, Microwarpdrives, Local Repair Modules, and Resistance Modules\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to fleet hangar capacity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonificación a la intensidad del núcleo de warp de la nave.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los beneficios de posquemadores, motores de microwarp, módulos de reparación locales y módulos de resistencia sobrecalentados.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación de la capacidad del hangar para la flota.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de transporte (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los potenciadores de escudo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías minmatariana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"de bonus à la force du réacteur de warp\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus aux avantages des modules de post-combustion, de propulseur de microwarp, de réparation locale et de résistance en surchauffe\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité du hangar de flotte\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de transport :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des boosters de bouclier\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"bonus to ship warp core strength\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners, Microwarpdrives, Local Repair Modules, and Resistance Modules\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to fleet hangar capacity\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Shield Booster amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Minmatar Hauler bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"艦船のワープコア強度が増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"オーバーヒートしたアフターバーナー・マイクロワープドライブ・ローカルリペアモジュール・レジスタンスモジュールの利益が増加\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"フリートハンガー容量が増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"特化型輸送艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"シールドブースターのブースト量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ミンマターハウラーボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"워프 코어 출력 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"애프터버너, 마이크로 워프 드라이브, 근접 수리장치 모듈 및 저항력 관련 모듈 과부하 시 보너스 효과 증가\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"함대 공용 창고 용적 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"트랜스포터 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"실드 부스터 회복량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"민마타 운반선 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 2+\", \n            \"text\": \"повышается степень помехозащищённости варп-двигателя корабля\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"усиливается влияние перегрузки на производительность ускорителей и ряда защитных и ремонтных систем, а именно: форсажных ускорителей, микроварп-ускорителей, бортовых установок ремонта брони и накачки щитов, а также активных модуляторов щитов и систем укрепления брони против воздействий всех видов\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость отсека с внешним доступом\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Транспортные корабли:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок накачки щитов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Minmatar Hauler:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"2+\", \n            \"text\": \"舰船跃迁核心强度加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"加力燃烧器、微型跃迁推进器、自身维修装备和抗性提升装备超载后获得的效果提升增加\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰队机库容量加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"运输舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"护盾回充增量器回充量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔运载舰每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12747\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"text\": \"·Immun gegen jede Art von Frachtscanner\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der effektiv zurückgelegten Distanz für die Sprungerschöpfung\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Frachtraumkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit des Schiffs\"\n            }\n          ], \n          \"header\": \"Gallente Hauler Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }\n          ], \n          \"header\": \"Transport Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to warp speed and warp acceleration\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"text\": \"·Inmune a todos los escáneres de carga.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la distancia efectiva hasta sufrir fatiga de salto.\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad de carga de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Nave de mercancías gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de transporte (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Peut utiliser des dispositifs de camouflage opérations secrètes et des générateurs de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"text\": \"·Immunité contre tous les scanners de soute\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de la distance effectuée pour l'épuisement de saut\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la capacité de la soute du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale du vaisseau\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cargo gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vistesse de warp et à l'accélération de warp\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de transport :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"text\": \"·Immune to all Cargo Scanners\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction to effective distance traveled for jump fatigue\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship cargo capacity\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity\"\n            }\n          ], \n          \"header\": \"Gallente Hauler bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to warp speed and warp acceleration\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Transport Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"text\": \"·全てのカーゴスキャナーに対して無効\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"ジャンプによる疲弊が飛行距離に及ぼす影響を低減\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のカーゴ容量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船の最高速度が上昇\"\n            }\n          ], \n          \"header\": \"ガレンテハウラーボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープ速度とワープ加速が上昇\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }\n          ], \n          \"header\": \"特化型輸送艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"text\": \"·화물 스캐너 면역\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"이동 거리에 따른 점프 피로도 감소\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"화물 적재량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 운반선 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 속도 및 워프 가속도 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"트랜스포터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа оборудованы экранированными грузовыми отсеками\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"медленнее накапливается усталость от гиперпереходов\"\n          }, \n          {\n            \"number\": \"на 75%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается вместимость грузового отсека корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается скорость полного хода корабля\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Gallente Hauler:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорость полёта и ускорение корабля (только в варп-режиме)\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Транспортные корабли:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"text\": \"·免疫货舱扫描\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"减少跳跃距离对产生跳跃疲劳的影响\"\n          }, \n          {\n            \"number\": \"75%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船货柜舱容量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"舰船最大速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特运载舰每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }\n          ], \n          \"header\": \"运输舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 12743\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite und Geschwindigkeit von Traktorstrahlen\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"Reduzierte Verzögerung bei Reaktivierung von Mikrosprungantrieben\"\n          }, \n          {\n            \"text\": \"·Es können Bastionsmodule eingebaut werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Energiespeicherkapazität des Schiffs\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Marauders Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Energy Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beams range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship capacitor capacity\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance y la velocidad de los rayos tractores.\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de reducción de la demora de reactivación del motor de microsalto.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de baluarte.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la capacidad del condensador de la nave.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Depredadores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée et vitesse du rayon de tractage\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"de réduction du temps de réactivation du propulseur de microsauts\"\n          }, \n          {\n            \"text\": \"·Peut installer des modules de bastion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la charge de capaciteur du vaisseau\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage</a\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Maraudeurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Large Energy Turret damage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Tractor Beams range and velocity\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"reduction in Micro Jump Drive reactivation delay\"\n          }, \n          {\n            \"text\": \"·Can fit Bastion modules\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship capacitor capacity\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Large Energy Turret damage\"\n            }\n          ], \n          \"header\": \"Marauders bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型エネルギータレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"トラクタービームの範囲と速度が上昇\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"マイクロジャンプドライブの再起動遅延が短縮\"\n          }, \n          {\n            \"text\": \"·バッションモジュールを装備できる\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"艦船のキャパシタ容量が増加\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"アーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型エネルギータレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"襲撃型戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"대형 에너지 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"트랙터 빔 사거리 및 속도 증가\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"마이크로 점프 드라이브 재가동 지연 시간 감소\"\n          }, \n          {\n            \"text\": \"·바스티온 모듈 장착 가능\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐패시터 용량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"대형 에너지 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"머라우더 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается урон больших лазерных орудий\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"увеличивается дальность действия гравизахватов, повышается скорость перемещения ими грузов\"\n          }, \n          {\n            \"number\": \"на 70%\", \n            \"text\": \"сокращается задержка повторного включения маневровых гипердвигателей\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться реконфигураторами огневого профиля\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается ёмкость накопителя энергии корабля\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается производительность установок ремонта брони\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Рейдеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"大型能量炮台伤害加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"牵引光束有效范围和牵引速度加成\"\n          }, \n          {\n            \"number\": \"70%\", \n            \"text\": \"微型跳跃引擎启动间隔加成\"\n          }, \n          {\n            \"text\": \"·可以装配堡垒装备\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"电容器电容量加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"大型能量炮台伤害加成\"\n            }\n          ], \n          \"header\": \"掠夺舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34219\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus à la portée optimale de la petite tourelle hybride\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la vitesse de poursuite de la petite tourelle hybride\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus à la portée optimale de la petite tourelle hybride\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"カルダリ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"加达里驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 33881\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34217\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34215\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von großen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Zielverfolgungsgeschwindigkeit von großen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía grande.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta de energía grande.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado de Amarr (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale de la grande tourelle à énergie\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la grande tourelle à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret optimal range\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Large Energy Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Amarr Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型エネルギータレットの追跡速度が上昇\"\n            }\n          ], \n          \"header\": \"アマー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"대형 에너지 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из больших лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается скорость наводки на цель больших лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские линкоры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台最佳射程加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"大型能量炮台跟踪速度加成\"\n            }\n          ], \n          \"header\": \"艾玛战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34213\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Bergungsmodulen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de los recuperadores.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée des récupérateurs\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"サルベージャーの起動時間が短縮\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"샐비저 지속시간 감소\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 5+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла демонтажных модулей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"打捞装置运转周期降低\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 605\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Reduktion der Dauer von Bergungsmodulen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción de la duración de los recuperadores.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction à la durée des récupérateurs\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in Salvager duration\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"サルベージャーの起動時間が短縮\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"샐비저 지속시간 감소\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 5+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается продолжительность рабочего цикла демонтажных модулей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"5+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"打捞装置运转周期降低\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 607\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die HP, den Schaden und die Erzausbeute von Drohnen\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Bonus auf die Effektivität von Sensorferndämpfern \"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"Bonus auf die Leistung von Panzerungsreparatursystemen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to Small Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Drone hitpoints, damage and mining yield\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"bonus to Armor Repairer amount\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a los puntos de vida, el daño y el rendimiento minero de los drones.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de bonificación a la efectividad del atenuador de sensor remoto.\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus aux dégâts, aux PV et au rendement d'extraction des drones\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de bonus à l'efficacité des atténuateurs de détection à distance\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"de bonus au montant des réparateurs de blindage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to Small Hybrid Turret damage\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Drone hitpoints, damage and mining yield\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"bonus to Armor Repairer amount\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"ドローンのヒットポイント・ダメージ・採掘量が増加\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"リモートセンサーダンプナーの効果が増加\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"アーマーリペアラのリペア量が増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"드론 내구도, 피해량, 채굴량 증가\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"원격 센서 댐프너 효과 증가\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"장갑수리 장치 수리량 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"увеличивается урон бортового оружия дронов и производительность буровых дронов; увеличивается запас их прочности\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"повышается эффективность действия модулей подавления захвата целей\"\n          }, \n          {\n            \"number\": \"на 15%\", \n            \"text\": \"повышается производительность установок ремонта брони\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"小型混合炮台伤害加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"无人机伤害、HP和采矿量加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"远程感应抑阻器效果加成\"\n          }, \n          {\n            \"number\": \"15%\", \n            \"text\": \"装甲维修器维修量加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 606\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf den Kinetikschaden von leichten Lenkwaffen und Raketen\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"Bonus auf die Stärke von ECM-Zielstörsender-Modulen\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"Bonus auf alle Schildresistenzen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to kinetic Light Missile and Rocket damage\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to ECM Target Jammer strength\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"bonus to all shield resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación al daño cinético de los misiles ligeros y los cohetes.\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonificación a la intensidad del perturbador ECM de objetivo.\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"de bonificación a todas las resistencias de escudo.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus aux dégâts cinétiques des missiles légers et des roquettes\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"de bonus à la force des brouilleurs de cible CME\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"de bonus à toutes les résistances de bouclier\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to kinetic Light Missile and Rocket damage\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"bonus to ECM Target Jammer strength\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"bonus to all shield resistances\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"ライトミサイルとロケットのキネティックダメージが増加\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ECMターゲットジャマーの強度が増加\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"全てのシールドレジスタンスが増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"키네틱 라이트 미사일과 로켓 피해량 증가\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ECM 타겟 재머 효과 증가\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"모든 실드 저항력 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 20%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"увеличивается урон кинетических БЧ лёгких ракет и лёгких штурмовых ракет\"\n          }, \n          {\n            \"number\": \"на 30%\", \n            \"text\": \"увеличивается выходная мощность модулей глушения захвата целей\"\n          }, \n          {\n            \"number\": \"на 8%\", \n            \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"小型混合炮台最佳射程加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"轻型导弹和火箭动能伤害加成\"\n          }, \n          {\n            \"number\": \"30%\", \n            \"text\": \"ECM目标干扰器强度加成\"\n          }, \n          {\n            \"number\": \"8%\", \n            \"text\": \"护盾抗性加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 601\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 603\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von leichten Lenkwaffen und Raketen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles ligeros y los cohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles légers et des roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Light Missile and Rocket damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ライトミサイルおよびロケットのダメージにボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイルとロケットの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"라이트 미사일 및 로켓 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일 및 로켓 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону лёгких ракет и ракет\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается скорость полёта лёгких ракет и лёгких штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"轻型导弹和火箭伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭飞行速度加成 \"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 602\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Sensorferndämpfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Sensorferndämpfern\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Sensor Dampener activation cost\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del atenuador de sensor remoto.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del atenuador de sensor remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité des atténuateurs de détection à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des atténuateurs de détection à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Sensor Dampener activation cost\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"リモートセンサーダンプナーの効果が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートセンサーダンプナーの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"원격 센서 댐프너 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 센서 댐프너 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия модулей подавления захвата целей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии модулями подавления захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"远程感应抑阻器效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程感应抑阻器启动消耗减少\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 609\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblockern\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts de la petite tourelle hybride\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの精度低下範囲が拡大\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍시스템 활성화 비용 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 유효사거리 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗减少\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台失准范围加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 608\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von Panzerungsfernreparatursystemen\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"Bonus auf den Präzisionsabfall von Panzerungsfernreparatursystemen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Leistung von Panzerungs-Fernreparatursystem\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Panzerungs-Fernreparatursystemen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"de bonificación al alcance efectivo del reparador de blindaje remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la eficiencia de los reparadores de blindaje remotos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación del reparador de blindaje remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"de bonus à la perte du réparateur de blindage à distance\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au montant des réparateurs de blindage à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des réparateurs de blindage à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Remote Armor Repairer optimal range\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"bonus to Remote Armor Repairer falloff\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Remote Armor Repairer amount\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Armor Repairer activation cost\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートアーマーリペアラの最適射程距離が拡大\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"リモートアーマーリペアラの精度低下範囲が改善\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートアーマーリペアラのリペア量が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートアーマーリペアラの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 최적사거리 증가\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"원격 장갑수리 장치 유효사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 장갑수리 장치 수리량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 장갑수리 장치 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность действия установок дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 600%\", \n            \"text\": \"увеличивается добавочная дальность действия установок дистанционного ремонта брони\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается производительность установок дистанционного ремонта брони\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии установками дистанционного ремонта брони\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器最佳射程加成\"\n          }, \n          {\n            \"number\": \"600%\", \n            \"text\": \"远程装甲维修器失准范围加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"远程装甲维修器维修量加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程装甲维修器启动消耗减少\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 590\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysatoren\"\n          }, \n          {\n            \"text\": \"·Es können Covert Ops-Tarnmodule und getarnte Anziehungsfeldgeneratoren eingebaut werden\"\n          }, \n          {\n            \"text\": \"·Die Verzögerung bei Reaktivierung von Tarnmodulen wird auf 5 Sekunden reduziert.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die maximale Geschwindigkeit des Schiffs beim Einsatz von Tarnvorrichtungen\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Energiespeicherverbrauchs des Warpantriebs\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion des CPU-Bedarfs für Tarnmodule\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Basis- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Scan-Dauer von Vermessungssonden\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in warp drive capacitor need\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in time required for Survey Probe scans\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad máxima de la nave al utilizar dispositivos de camuflaje.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la necesidad del condensador del motor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción al tiempo necesario para los escaneos de las sondas de prospección.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut équiper des dispositifs de camouflage opérations secrètes et des générateurs de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse maximale d'un vaisseau lorsqu'équipé d'un dispositif de camouflage actif\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction des besoins énergétiques du capaciteur pour le propulseur de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance des sondes d'exploration principales et des sondes d'exploration de combat\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction de temps nécessaire pour le balayage des sondes d'exploration\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to ship max velocity when using Cloaking Devices\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in warp drive capacitor need\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in time required for Survey Probe scans\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度が増加\"\n          }, \n          {\n            \"text\": \"·隠密行動用遮蔽装置と潜伏用サイノシュラルフィールドジェネレータを装備できる\"\n          }, \n          {\n            \"text\": \"·遮蔽装置の再起動遅延が5秒に短縮\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"遮蔽装置使用時の艦船の最高速度が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ワープドライブの必要キャパシタ量が減少\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置のCPU使用量が減少\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"コアスキャナープローブと戦闘スキャナープローブの強度が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"衛星調査プローブスキャンにかかる時間が減少\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"클로킹 장치 사용 시 함선 최대 속도 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"워프 드라이브 캐패시터 요구량 감소\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"조사 프로브 스캔 시간 감소\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10+\", \n            \"text\": \"повышается степень опасности вирусов, применяемых в комплексах анализа данных и комплексах анализа артефактов\"\n          }, \n          {\n            \"text\": \"·Корабли этого типа могут оснащаться всережимными системами маскировки и приводными маяками скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки сокращена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к максимальной скорости хода при использовании устройств маскировки\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"снижение потребления энергии варп-двигателем\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"сокращается потребность систем маскировки в мощностях ЦПУ\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается чувствительность бортовой аппаратуры зондов навигационной разведки и боевых разведзондов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход времени на сбор данных зондами луноразведки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装备隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"使用隐形装置时舰船的最大速度加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"跃迁引擎电容需求降低\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置的CPU需求降低\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"测量探针扫描时间减少\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11172\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblockern\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Reaktivierungsverzögerung des Anti-Unterbrechers, des max. Erfassungsreichweitenabzugs und des Scanauflösungsabzugs\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Dauer des Anti-Unterbrechers\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP von Schilden\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Maximalgeschwindigkeit von leichten Lenkwaffen und Raketen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Interceptors Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay, max lock range penalty, and scan resolution penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to shield hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción de la demora de reactivación y de penalización al alcance de fijación máximo y a la resolución de escaneo del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la duración del anulador de interdicción.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida de los escudos.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad máxima de los misiles ligeros y los cohetes.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interceptores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction au délai de réactivation de la contremesure d’interdiction, à la pénalité de portée de verrouillage maximale et à la pénalité de résolution du balayage\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la durée de la contremesure d’interdiction\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux points de vie du bouclier\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse maximale des missiles légers et des roquettes\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et des perturbateurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Intercepteurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Interdiction Nullifier reactivation delay, max lock range penalty, and scan resolution penalty\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Interdiction Nullifier duration\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to shield hitpoints\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket max velocity\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"インターディクション無効化の再起動遅延と、最大ロック射程とスキャン分解能のペナルティ減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"インターディクション無効化の持続時間にボーナス\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"シールドHPが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイルとロケットの最高速度が上昇\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"要撃型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍시스템 활성화 비용 감소\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"인터딕션 무효화 장치 재활성화 대기시간, 최대 타겟팅 거리 및 스캔 정밀도 페널티 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"인터딕션 무효화 장치 지속시간 보너스\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"실드량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일 및 로켓 최대 속도 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"인터셉터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"уменьшение задержки повторного включения нейтрализатора варп-заграждений, штрафа к максимальной дальности захвата цели и разрешающей способности сенсоров\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к длительности действия нейтрализатора варп-заграждений\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к запасу прочности щитов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается скорость полёта лёгких ракет и лёгких штурмовых ракет\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Перехватчики:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗减少\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"拦截失效装置重启延迟、最大锁定距离惩罚和扫描分辨率惩罚降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"拦截失效装置持续时间加成\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"护盾值加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭飞行速度加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最佳射程加成\"\n            }\n          ], \n          \"header\": \"截击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11176\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Effektivität von Sensorferndämpfern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Sensorferndämpfern\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Warpunterbrechern und Warpstörern\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von Warpunterbrechern und Warpstörern\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Sensor Dampener activation cost\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Warp Scrambler and Warp Disruptor activation cost\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la efectividad del atenuador de sensor remoto.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción al coste de activación del atenuador de sensor remoto.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación al alcance óptimo del distorsionador de warp y el disruptor de warp.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción al coste de activación del distorsionador de warp y el disruptor de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de ataque electrónicas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à l'efficacité des atténuateurs de détection à distance\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des atténuateurs de détection à distance\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la portée optimale des inhibiteurs de warp et des perturbateurs de warp\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction au coût d'activation des inhibiteurs de warp et des perturbateurs de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux d'attaque électronique :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Remote Sensor Dampener effectiveness\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Remote Sensor Dampener activation cost\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Warp Scrambler and Warp Disruptor activation cost\"\n            }\n          ], \n          \"header\": \"Electronic Attack Ships bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"リモートセンサーダンプナーの効果が増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"リモートセンサーダンプナーの起動コストが軽減\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の起動コストが軽減\"\n            }\n          ], \n          \"header\": \"電子攻撃船ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"원격 센서 댐프너 효과 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"원격 센서 댐프너 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 활성화 비용 감소\"\n            }\n          ], \n          \"header\": \"전자전 프리깃 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"повышается эффективность действия модулей подавления захвата целей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии модулями подавления захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается потребление энергии варп-глушителями и варп-подавителями\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"远程感应抑阻器效果加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"远程感应抑阻器启动消耗减少\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器启动消耗减少\"\n            }\n          ], \n          \"header\": \"电子攻击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11174\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion der Aktivierungskosten von Antriebsblocker\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf den Nutzen der Überhitzung von Nachbrennern und Mikrowarpantrieben\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Schaden von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Reduktion des Mikrowarpantrieb-Signaturradius\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Interceptors Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción en el coste de activación de los sistemas perturbadores de propulsión.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los beneficios de posquemadores y motores de microwarp sobrecalentados.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de reducción de la penalización de radio de la señal del motor de microwarp.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Interceptores (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction du coût d'activation des systèmes de brouillage de propulsion\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux avantages de la surchauffe sur les systèmes de post-combustion et les propulseurs de microwarp\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de réduction à la pénalité de rayon de signature des propulseurs de microwarp\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances de bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Intercepteurs :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Propulsion Jamming systems activation cost\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to the benefits of overheating Afterburners and Microwarpdrives\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret optimal range\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"reduction in Microwarpdrive signature radius penalty\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Interceptors bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推進力ジャミングシステムの起動コストが軽減\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"オーバーヒートしたアフターバーナーとマイクロワープドライブの恩恵にボーナス\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"マイクロワープドライブのシグネチャ半径ペナルティが軽減\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスが増加\"\n            }\n          ], \n          \"header\": \"要撃型フリゲートボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"추진기 재밍시스템 활성화 비용 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"애프터버너 및 마이크로 워프 드라이브 과부하 효과 증가\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"마이크로 워프 드라이브 시그니처 반경 페널티 감소\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"인터셉터 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 80%\", \n            \"text\": \"сокращается потребление энергии средствами ограничения подвижности кораблей\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к преимуществам перегрева форсажных ускорителей и микроварп-ускорителей\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон боеприпасов малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"уменьшается влияние микроварп-ускорителей на размер сигнатуры корабля\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"повышается сопротивляемость щитов корабля всем видам воздействия\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Перехватчики:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"80%\", \n            \"text\": \"推进抑制系统启动消耗减少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"加力燃烧器和微型跃迁推进器过载效果加成\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"微型跃迁推进器的信号半径惩罚加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"截击舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 11178\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Reduktion der Explosionsresistenz von Schiffen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die HP der Schilde von Schiffen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Energiespeicherkapazität von Schiffen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Reduktion des Signaturradius von Schiffen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Effektivität von Panzerungs-Fernreparatursystemen und Schildfernboostern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"reduction in ship explosive resistances\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ship shield hitpoints\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ship capacitor capacity\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Armor Repairer and Remote Shield Booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de reducción de las resistencias explosivas de la nave.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a los puntos de vida del escudo de la nave.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la capacidad del condensador de la nave.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de reducción del radio de la señal de la nave.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la efectividad del reparador de blindaje remoto y el potenciador de escudo remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de réduction des résistances aux explosions du vaisseau\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus aux points de dommages du bouclier du vaisseau\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus à la charge du capaciteur du vaisseau\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de réduction du rayon de signature du vaisseau\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de l'efficacité du réparateur de blindage à distance et du booster de bouclier à distance\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"reduction in ship explosive resistances\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ship shield hitpoints\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ship capacitor capacity\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Remote Armor Repairer and Remote Shield Booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"艦船のエクスプローシブレジスタンスが減少\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"艦船のシールドHPが増加\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"艦船のキャパシタ容量が増加\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"艦船のシグネチャ半径が縮小\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートアーマーリペアラとリモートシールドブースターの効果が減少\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"폭발 저항력 감소\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"실드량 증가\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"캐패시터 용량 증가\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"함선 시그니처 반경 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 및 원격 실드 부스터 효과 감소\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"уменьшение сопротивляемости корабля взрывному урону\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к запасу прочности щитов корабля\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к ёмкости накопителя корабля\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"уменьшение размера сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшение эффективности модуль дистанционного ремонта брони и модуля дистанционного усиления щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"舰船爆炸抗性降低\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"舰船护盾值加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"电容器电容量加成\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"舰船信号半径降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器和远程护盾回充增量器效果降低\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 56060\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der Explosionsresistenz von Schiffen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die HP der Schilde von Schiffen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die Energiespeicherkapazität von Schiffen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion des Signaturradius von Schiffen\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"Reduktion der Effektivität von Panzerungs-Fernreparatursystemen und Schildfernboostern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in ship explosive resistances\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship shield hitpoints\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship capacitor capacity\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in Remote Armor Repairer and Remote Shield Booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de las resistencias explosivas de la nave.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los puntos de vida del escudo de la nave.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a la capacidad del condensador de la nave.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del radio de la señal de la nave.\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de reducción de la efectividad del reparador de blindaje remoto y el potenciador de escudo remoto.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des résistances aux explosions du vaisseau\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus aux points de vie du bouclier du vaisseau\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus à la charge du capaciteur du vaisseau\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction du rayon de signature du vaisseau\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"de réduction de l'efficacité du réparateur de blindage à distance et du booster de bouclier à distance\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in ship explosive resistances\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship shield hitpoints\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship capacitor capacity\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in ship signature radius\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"reduction in Remote Armor Repairer and Remote Shield Booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船のエクスプローシブレジスタンスが減少\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船のシールドHPが増加\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船のキャパシタ容量が増加\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船のシグネチャ半径が縮小\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"リモートアーマーリペアラとリモートシールドブースターの効果が減少\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"폭발 저항력 감소\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"실드량 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"캐패시터 용량 증가\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"함선 시그니처 반경 감소\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"원격 장갑수리 장치 및 원격 실드 부스터 효과 감소\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшение сопротивляемости корабля взрывному урону\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к запасу прочности щитов корабля\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к ёмкости накопителя корабля\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшение размера сигнатуры корабля\"\n          }, \n          {\n            \"number\": \"на 90%\", \n            \"text\": \"уменьшение эффективности модуль дистанционного ремонта брони и модуля дистанционного усиления щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船爆炸抗性降低\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船护盾值加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"电容器电容量加成\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船信号半径降低\"\n          }, \n          {\n            \"number\": \"90%\", \n            \"text\": \"远程装甲维修器和远程护盾回充增量器效果降低\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 56061\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Reduktion der Thermalresistenz von Schiffen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die HP der Panzerung von Schiffen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf den Schaden durch Geschütztürme, Lenkwaffen, Drohnen und Jäger\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Reduktion der Nachführungsgeschwindigkeit von Geschütztürmen und Drohnen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Erhöhung des Explosionsradius von Lenkwaffen und Jägern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"reduction in ship thermal resistances\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ship armor hitpoints\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to turret, missile, drone, and fighter damage\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"reduction in turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"increase to missile and fighter explosion radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de reducción de las resistencias térmicas de la nave.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a los puntos de vida del blindaje de la nave.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación al daño de las torretas, los misiles, los drones y los cazas.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de reducción de la velocidad de rastreo de las torretas y los drones.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de aumento del radio de explosión de los misiles y los cazas.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de réduction des résistances thermiques du vaisseau\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus aux points de dommages du blindage du vaisseau\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus aux dégâts des tourelles, des missiles, des drones et des chasseurs\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de réduction de la vitesse de poursuite des tourelles et des drones\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"d'augmentation du rayon d'explosion des missiles et des chasseurs\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"reduction in ship thermal resistances\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ship armor hitpoints\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to turret, missile, drone, and fighter damage\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"reduction in turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"increase to missile and fighter explosion radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"艦船のサーマルレジスタンスが減少\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"艦船のアーマーHPが増加\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"タレット、ミサイル、ドローン、艦載戦闘機のダメージ上昇\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"タレットとドローンの追跡速度が減少\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"ミサイルと艦載戦闘機の爆発半径が増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"열 저항력 감소\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"장갑 내구도 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"터렛, 미사일, 드론, 파이터 피해량 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"터렛 및 드론 트래킹 속도 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"미사일 및 파이터 폭발반경 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"уменьшение сопротивляемости корабля термальному урону\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к запасу прочности брони корабля\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к урону от турелей, ракет, дронов и истребителей\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"уменьшение скорости наведения турелей и дронов\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"увеличение радиуса взрыва ракет и истребителей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"舰船热能抗性降低\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"舰船装甲值加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"炮台，导弹、无人机和铁骑舰载机伤害加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"炮台和无人机跟踪速度降低\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"导弹和铁骑舰载机爆炸半径增加\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 56062\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduktion der Thermalresistenz von Schiffen\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Bonus auf die HP der Panzerung von Schiffen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf den Schaden durch Geschütztürme, Lenkwaffen, Drohnen und Jäger\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Nachführungsgeschwindigkeit von Geschütztürmen und Drohnen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Erhöhung des Explosionsradius von Lenkwaffen und Jägern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in ship thermal resistances\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship armor hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to turret, missile, drone, and fighter damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to missile and fighter explosion radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción de las resistencias térmicas de la nave.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonificación a los puntos de vida del blindaje de la nave.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al daño de las torretas, los misiles, los drones y los cazas.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la velocidad de rastreo de las torretas y los drones.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de aumento del radio de explosión de los misiles y los cazas.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction des résistances thermiques du vaisseau\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de bonus aux points de vie du blindage du vaisseau\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux dégâts des tourelles, des missiles, des drones et des chasseurs\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la vitesse de poursuite des tourelles et des drones\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"d'augmentation du rayon d'explosion des missiles et des chasseurs\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in ship thermal resistances\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"bonus to ship armor hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to turret, missile, drone, and fighter damage\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in turret and drone tracking speed\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"increase to missile and fighter explosion radius\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船のサーマルレジスタンスが減少\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"艦船のアーマーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"タレット、ミサイル、ドローン、艦載戦闘機のダメージ上昇\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"タレットとドローンの追跡速度が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ミサイルと艦載戦闘機の爆発半径が増加\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"열 저항력 감소\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"장갑 내구도 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"터렛, 미사일, 드론, 파이터 피해량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"터렛 및 드론 트래킹 속도 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"미사일 및 파이터 폭발반경 증가\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшение сопротивляемости корабля термальному урону\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"бонус к запасу прочности брони корабля\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к урону от турелей, ракет, дронов и истребителей\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"уменьшение скорости наведения турелей и дронов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличение радиуса взрыва ракет и истребителей\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船热能抗性降低\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"舰船装甲值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"炮台，导弹、无人机和铁骑舰载机伤害加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"炮台和无人机跟踪速度降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"导弹和铁骑舰载机爆炸半径增加\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 56063\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"Reduktion der EM-Resistenz von Schiffen\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"Bonus auf die Wiederaufladerate des Energiespeichers von Schiffen\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virenkohärenz von Relikt- und Datenanalysegeräten\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Stärke von Kern- und Gefechtsscansonden\"\n          }, \n          {\n            \"text\": \"·Tarnvorrichtungen funktionieren in Systemen unter dem Einfluss dieses Sturmes nicht.\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"reduction in ship EM resistances\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ship capacitor recharge rate\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus coherence\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"text\": \"·Cloaking devices cannot operate within systems affected by this storm\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de reducción de las resistencias electromagnéticas de la nave.\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonificación a la velocidad de carga del condensador de la nave.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la coherencia del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n          }, \n          {\n            \"text\": \"·Los dispositivos de camuflaje quedan inoperativos en los sistemas afectados por esta tormenta.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"de réduction des résistances EM du vaisseau\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"de bonus à la vitesse de recharge du capaciteur du vaisseau\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la résistance virale des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n          }, \n          {\n            \"text\": \"·Les dispositifs de camouflage sont inutilisables dans les systèmes affectés par cette tempête\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"reduction in ship EM resistances\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"bonus to ship capacitor recharge rate\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus coherence\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n          }, \n          {\n            \"text\": \"·Cloaking devices cannot operate within systems affected by this storm\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"艦船EMレジスタンスが減少\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"艦船のキャパシタ充電速度が増加\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物とデータアナライザーのウイルスコヒーレンスが上昇\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n          }, \n          {\n            \"text\": \"·遮蔽装置は、この嵐の影響を受けているシステムの中では機能しない\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"EM 저항력 감소\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"캐패시터 충전 속도 증가\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 분석기 및 데이터 분석기 바이러스 결합도 증가\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"코어 프로브 및 정찰 프로브 강도 증가\"\n          }, \n          {\n            \"text\": \"·폭풍의 영향을 받은 항성계에서 클로킹 장치를 사용할 수 없습니다.\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 10%\", \n            \"text\": \"уменьшение сопротивляемости корабля ЭМ-урону\"\n          }, \n          {\n            \"number\": \"на 10%\", \n            \"text\": \"бонус к скорости перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"бонус к целостности вируса артефактов и анализатора данных\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к чувствительности зондов навигационной и боевой разведки\"\n          }, \n          {\n            \"text\": \"·Системы маскировки не могут работать в системах, подвергшихся воздействию этой бури\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"10%\", \n            \"text\": \"舰船电磁抗性降低\"\n          }, \n          {\n            \"number\": \"10%\", \n            \"text\": \"舰船电容回充速率加成\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒同步率加成\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"核心和作战扫描探针强度加成\"\n          }, \n          {\n            \"text\": \"·在受此风暴影响的星系中不能启用隐形装置\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 56064\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden von mittelgroßen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die HP, den Schaden und die Erzausbeute von Drohnen\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, damage and mining yield\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño de la torreta híbrida mediana.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los puntos de vida, el daño y el rendimiento minero de los drones.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus aux dégâts de la tourelle hybride intermédiaire\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux dégâts, aux points de dommages et au rendement d'extraction du drone\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Hybrid Turret damage\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Drone hitpoints, damage and mining yield\"\n            }\n          ], \n          \"header\": \"Gallente Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型ハイブリッドタレットのダメージが増加\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"ドローンのヒットポイント、ダメージ、採掘量が増加\"\n            }\n          ], \n          \"header\": \"ガレンテ巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 하이브리드 터렛 피해량 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"드론 내구도, 피해량, 채굴량 증가\"\n            }\n          ], \n          \"header\": \"갈란테 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается урон боеприпасов средних гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается урон бортового оружия дронов и производительность буровых дронов; увеличивается запас их прочности\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"中型混合炮台伤害加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"无人机HP、伤害和开采量加成\"\n            }\n          ], \n          \"header\": \"盖伦特巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 34445\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die HP der Schilderweiterung\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die HP der Panzerplatte\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"zusätzlicher Bonus auf HP der Verstärkten Schottwand\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden durch supratidale entropische Desintegratoren\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von supratidalen entropischen Desintegratoren\"\n            }\n          ], \n          \"header\": \"Precursor Battleship Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Supratidal Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Supratidal Entropic Disintegrator rate of fire\"\n            }\n          ], \n          \"header\": \"Precursor Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a los puntos de vida del extensor de escudo.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación a los puntos de vida de las placas de blindaje.\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonificación adicional a los puntos de vida del mamparo reforzado.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño del desintegrador entrópico supramareal.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro del desintegrador entrópico supramareal.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Acorazado precursor (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus aux points de vie de l'extenseur de bouclier\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus aux points de vie du revêtement de blindage\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"de bonus supplémentaire aux points de vie de la cloison renforcée\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts du désintégrateur entropique supralittoral\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir du désintégrateur entropique supralittoral\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Cuirassé de précursion :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Shield Extender hitpoints\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Armor Plate hitpoints\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"additional bonus to Reinforced Bulkhead hitpoints\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Supratidal Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Supratidal Entropic Disintegrator rate of fire\"\n            }\n          ], \n          \"header\": \"Precursor Battleship bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの有効範囲が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遠隔アーマーリペアラキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"シールドエクステンダーHPが増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"アーマープレートHPが増加\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"強化隔壁HPがさらに増加\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"シュープラタイダル・エントロピックディスインテグレーターのダメージ上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"シュープラタイダル・エントロピックディスインテグレーターの発射間隔上昇\"\n            }\n          ], \n          \"header\": \"プリカーサー戦艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"실드 확장장치 실드량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑 플레이트 내구도 증가\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"강화 격벽 내구도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"초중력장 엔트로픽 분열기 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"초중력장 엔트로픽 분열기 연사속도 증가\"\n            }\n          ], \n          \"header\": \"프리커서 배틀쉽 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для автоподрывной бомбы\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к прочности расширителя щитов\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"бонус к прочности бронеплиты\"\n          }, \n          {\n            \"number\": \"на 5%\", \n            \"text\": \"дополнительный бонус к прочности укреплённой переборки\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону от высоковолновых энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорострельности высоковолновых энтропических дезинтеграторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Battleship:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器距离加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"护盾扩展装置护盾值加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"装甲附甲板装甲值加成\"\n          }, \n          {\n            \"number\": \"5%\", \n            \"text\": \"强化舱隔壁结构值加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"潮上熵能分解者伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"潮上熵能分解者射速加成\"\n            }\n          ], \n          \"header\": \"先驱者战列舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 47271\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf den Schaden durch schwere entropische Desintegratoren\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von schweren entropischen Desintegratoren\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator optimal range\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al daño del desintegrador entrópico pesado.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance óptimo del desintegrador entrópico pesado.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero precursor (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus aux dégâts du désintégrateur entropique lourd\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale du désintégrateur entropique lourd\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de précursion :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator optimal range\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの有効範囲が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遠隔アーマーリペアラキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーエントロピックディスインテグレーターのダメージ上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビーエントロピックディスインテグレーターの最適射程距離が上昇\"\n            }\n          ], \n          \"header\": \"プリカーサー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 엔트로픽 분열기 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 엔트로픽 분열기 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"프리커서 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для автоподрывной бомбы\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к урону от тяжёлых энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к оптимальной дальности тяжёлых энтропических дезинтеграторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Cruiser:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器距离加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"重型熵能分解者伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型熵能分解者最佳射程加成\"\n            }\n          ], \n          \"header\": \"先驱者巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 47270\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Verzögerung bei Reaktivierung des Tarnmoduls auf 5 Sekunden reduziert\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden durch leichte entropische Desintegratoren\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die optimale Reichweite von leichten entropischen Desintegratoren\"\n            }\n          ], \n          \"header\": \"Precursor Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"0.75%\", \n              \"text\": \"zusätzlicher Bonus auf Schadensmultiplikatorbonus von leichten entropischen Desintegratoren pro Zyklus\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf Kern- und Gefechtsscansonden-Stärke\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion der CPU-Anforderung von Tarnmodulen\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Light Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Light Entropic Disintegrator optimal range\"\n            }\n          ], \n          \"header\": \"Precursor Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"0.75%\", \n              \"text\": \"additional bonus to Light Entropic Disintegrator damage multiplier bonus per cycle\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño del desintegrador entrópico ligero.\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance óptimo del desintegrador entrópico ligero.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata precursora (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"0.75%\", \n              \"text\": \"de bonificación adicional a la bonificación del multiplicador de daño del desintegrador entrópico ligero por ciclo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes et un générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts du désintégrateur entropique léger\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée optimale du désintégrateur entropique léger\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate de précursion :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"0.75%\", \n              \"text\": \"bonus additionnel au bonus de multiplicateur de dégâts par cycle du désintégrateur entropique léger\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Light Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Light Entropic Disintegrator optimal range\"\n            }\n          ], \n          \"header\": \"Precursor Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"0.75%\", \n              \"text\": \"additional bonus to Light Entropic Disintegrator damage multiplier bonus per cycle\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの有効範囲が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遠隔アーマーリペアラキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置と潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ライトエントロピックディスインテグレーターのダメージ上昇\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ライトエントロピックディスインテグレーターの最適射程距離増大\"\n            }\n          ], \n          \"header\": \"プリカーサーフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"0.75%\", \n              \"text\": \"ライトエントロピックディスインテグレーターのサイクルあたりのダメージ乗数に追加ボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置の必要CPUが減少\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"라이트 엔트로픽 분열기 피해량 증가\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"라이트 엔트로픽 분열기 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"프리커서 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"0.75%\", \n              \"text\": \"매 사이클마다 라이트 엔트로픽 분열기 데미지 배율 추가적으로 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для импульсного излучателя\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки и приводным маяком скрытого действия\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки снижена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к урону от лёгких энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к оптимальной дальности лёгких энтропических дезинтеграторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Frigate:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 0.75%\", \n              \"text\": \"дополнительный бонус к увеличению множителя урона от лёгких энтропических дезинтеграторов за цикл\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к чувствительности зондов навигационной и боевой разведки\"\n            }, \n            {\n              \"number\": \"на 20%\", \n              \"text\": \"уменьшение требовательности ЦП систем маскировки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器距离加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"轻型熵能分解者伤害加成\"\n            }, \n            {\n              \"number\": \"7.5%\", \n              \"text\": \"轻型熵能分解者最佳射程加成\"\n            }\n          ], \n          \"header\": \"先驱者护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"0.75%\", \n              \"text\": \"轻型熵能分解者每循环伤害系数额外加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置CPU需求降低\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 48636\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Reichweite von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Energieneutralisierer-Modulen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Panzerungs-Fernreparatursystemen\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduzierter Energiespeicherverbrauch von Smart Bomb\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung, Anziehungsfeldgenerator und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Verzögerung bei Reaktivierung des Tarnmoduls auf 5 Sekunden reduziert\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Reduktion der Dauer von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"Reduktion des Flüssigozon-Verbrauchs von Anziehungsfeldgeneratoren und getarnten Anziehungsfeldgeneratoren\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"Reduktion der CPU-Anforderung von Tarnmodulen\"\n            }, \n            {\n              \"number\": \"0.75%\", \n              \"text\": \"zusätzlicher Bonus auf Schadensmultiplikatorbonus von schweren entropischen Desintegratoren pro Zyklus\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Stärke von Kern- und Gefechtsscansonden\"\n            }\n          ], \n          \"header\": \"Recon Ships Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf den Schaden durch schwere entropische Desintegratoren\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Nachführgeschwindigkeit von schweren entropischen Desintegratoren\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }, \n            {\n              \"number\": \"0.75%\", \n              \"text\": \"additional bonus to Heavy Entropic Disintegrator damage multiplier bonus per cycle\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator tracking speed\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación al alcance del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del neutralizador energético.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador del reparador de blindaje remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la necesidad del condensador de la bomba inteligente.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar módulos de dispositivo de camuflaje de operaciones encubiertas, un generador de campo cinosural y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de reducción de la duración del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de reducción del consumo de ozono líquido del generador de campo cinosural y el generador de campo cinosural encubierto.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n            }, \n            {\n              \"number\": \"0.75%\", \n              \"text\": \"de bonificación adicional a la bonificación al multiplicador de daño del desintegrador entrópico pesado por ciclo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Naves de reconocimiento (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al daño del desintegrador entrópico pesado.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo del desintegrador entrópico pesado.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero precursor (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la portée du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du neutraliseur d'énergie\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur du réparateur de blindage à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction des besoins énergétiques du capaciteur de la bombe de proximité\"\n          }, \n          {\n            \"text\": \"·Peut équiper des modules dispositif de camouflage d'opérations secrètes, générateur de champ cynosural et générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de réduction de la durée du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"de réduction de la consommation d'ozone liquide du générateur de champ cynosural et du générateur de champ cynosural furtif\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n            }, \n            {\n              \"number\": \"0.75%\", \n              \"text\": \"bonus additionnel au bonus de multiplicateur de dégâts par cycle du désintégrateur entropique lourd\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Vaisseaux de reconnaissance :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus aux dégâts du désintégrateur entropique lourd\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la vitesse de poursuite du désintégrateur entropique lourd\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur de précursion :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to Remote Armor Repairer range\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Energy Neutralizer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Remote Armor Repairer capacitor need\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduced Smart Bomb capacitor need\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device, Cynosural Field Generator, and Covert Cynosural Field Generator modules\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator duration\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"reduction in Cynosural Field Generator and Covert Cynosural Field Generator liquid ozone consumption\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"reduction in Cloaking Devices CPU requirement\"\n            }, \n            {\n              \"number\": \"0.75%\", \n              \"text\": \"additional bonus to Heavy Entropic Disintegrator damage multiplier bonus per cycle\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }\n          ], \n          \"header\": \"Recon Ships bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator damage\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Heavy Entropic Disintegrator tracking speed\"\n            }\n          ], \n          \"header\": \"Precursor Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラの有効範囲が拡大\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"エネルギーニュートラライザーキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"遠隔アーマーリペアラキャパシタの必要量が減少\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"スマートボムキャパシタの必要量が減少\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置とサイノシュラルフィールドジェネレーター、そして潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの持続時間が減少\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"サイノシュラルフィールドジェネレーターと潜伏用サイノシュラルフィールドジェネレーターの液体オゾン消費量が減少\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"遮蔽装置の必要CPUが減少\"\n            }, \n            {\n              \"number\": \"0.75%\", \n              \"text\": \"ヘビーエントロピックディスインテグレーターのサイクルあたりのダメージ乗数に追加ボーナス\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n            }\n          ], \n          \"header\": \"電子戦型巡洋艦ボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ヘビーエントロピックディスインテグレーターのダメージ上昇\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"ヘビーエントロピックディスインテグレーターの追跡速度上昇\"\n            }\n          ], \n          \"header\": \"プリカーサー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 사거리 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"에너지 뉴트럴라이저 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 장갑수리 장치 캐패시터 사용량 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"스마트폭탄 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치, 사이노슈럴 필드 생성기, 코버트 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 지속시간 감소\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"사이노슈럴 필드 생성기 및 코버트 사이노슈럴 필드 생성기 액화 오존 소모량 감소\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"클로킹 장치 CPU 사용량 감소\"\n            }, \n            {\n              \"number\": \"0.75%\", \n              \"text\": \"매 사이클마다 헤비 엔트로픽 분열기 데미지 배율 추가적으로 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }\n          ], \n          \"header\": \"리콘 크루저 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"헤비 엔트로픽 분열기 피해량 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"헤비 엔트로픽 분열기 트래킹 스피드 증가\"\n            }\n          ], \n          \"header\": \"프리커서 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к дальности дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для дистанционного нейтрализатора заряда\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для модуля дистанционного ремонта брони\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"снижено потребление накопителя для импульсного излучателя\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки, приводным маяком и приводным маяком скрытого действия.\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки снижена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"сокращение времени работы приводного маяка и приводного маяка скрытого действия\"\n          }, \n          {\n            \"number\": \"на 80%\", \n            \"text\": \"снижение потребления жидкого озона приводным маяком и приводным маяком скрытого действия\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 20%\", \n              \"text\": \"уменьшение требовательности ЦП систем маскировки\"\n            }, \n            {\n              \"number\": \"на 0.75%\", \n              \"text\": \"дополнительный бонус к увеличению множителя урона от тяжёлых энтропических дезинтеграторов за цикл\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к чувствительности зондов навигационной и боевой разведки\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Дозорные крейсеры:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к урону от тяжёлых энтропических дезинтеграторов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"бонус к скорости наведения тяжёлых энтропических дезинтеграторов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Precursor Cruiser:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器距离加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"能量中和器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程装甲维修器电容需求降低\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"立体炸弹电容需求降低\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置、诱导力场发生器和隐秘诱导力场发生器装备\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器的持续时间缩短\"\n          }, \n          {\n            \"number\": \"80%\", \n            \"text\": \"诱导力场发生器和隐秘诱导力场发生器消耗的液态臭氧数量降低\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"20%\", \n              \"text\": \"隐形装置CPU需求降低\"\n            }, \n            {\n              \"number\": \"0.75%\", \n              \"text\": \"重型熵能分解者每循环伤害系数额外加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }\n          ], \n          \"header\": \"侦察舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"重型熵能分解者伤害加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"重型熵能分解者跟踪速度加成\"\n            }\n          ], \n          \"header\": \"先驱者巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 48635\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1 max. aufgeschaltetes Ziel\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Sensorstärke des Schiffs\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die maximale Zielerfassungsreichweite\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Scanauflösung\"\n            }\n          ], \n          \"header\": \"Minmatar Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ship sensor strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to max targeting range\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to scan resolution\"\n            }\n          ], \n          \"header\": \"Minmatar Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias, +2 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+1 objetivo fijado máximo\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la intensidad de los sensores de la nave.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la distancia-objetivo máxima.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la resolución de escaneo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires, +2 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·+1 Cible verrouillée max\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la puissance de détection du vaisseau\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la portée maximale du système de ciblage\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la résolution du balayage\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }, \n          {\n            \"text\": \"·+1 max locked target\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to ship sensor strength\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to max targeting range\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to scan resolution\"\n            }\n          ], \n          \"header\": \"Minmatar Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2、ロースロット+2\"\n          }, \n          {\n            \"text\": \"·最大ロックターゲット数+1\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"艦船のセンサー強度が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"最大ターゲット範囲が拡大\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"スキャン分解能にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマター・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2, 로우 슬롯 +2\"\n          }, \n          {\n            \"text\": \"·최대 타겟팅 수 +1\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"센서 강도 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"최대 타겟팅 거리 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"스캔 정밀도 향상\"\n            }\n          ], \n          \"header\": \"민마타 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности, +2 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+1 к максимуму захваченных целей\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"повышается эффективность системы захвата целей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"увеличивается максимальная дальность захвата целей\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"увеличивается разрешающая способность системы захвата целей\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2，低槽+2\"\n          }, \n          {\n            \"text\": \"·目标锁定数上限+1\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"舰船感应强度加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"最大锁定距离加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"扫描分辨率加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45631\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Reichweite von Warpunterbrechern und Warpstörern\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Warpunterbrecher- und Warpstörer-Modulen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Verringerung des Modulschadens durch Überhitzung\"\n            }\n          ], \n          \"header\": \"Gallente Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor range\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to the benefits of overheating Warp Scrambler and Warp Disruptor modules\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }\n          ], \n          \"header\": \"Gallente Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+2 ranuras intermedias, +2 ranuras inferiores\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación al alcance del distorsionador de warp y el disruptor de warp.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los módulos de distorsionador de warp y disruptor de warp.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del daño del módulo por sobrecalentamiento.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales gallentes (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+2 Emplacements intermédiaires, +2 Emplacements inférieurs\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la portée des Inhibiteurs de warp et Perturbateurs de warp\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus aux avantages de la surchauffe des modules Inhibiteur de warp et Perturbateur de warp\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction de la détérioration du module suite à la surchauffe\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+2 Mid Slots, +2 Low Slots\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Warp Scrambler and Warp Disruptor range\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to the benefits of overheating Warp Scrambler and Warp Disruptor modules\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }\n          ], \n          \"header\": \"Gallente Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+2、ロースロット+2\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"ワープスクランブラーとワープ妨害器の射程が上昇\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"オーバーヒートしたワープスクランブラーとワープ妨害器モジュールの恩恵が増加\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"オーバーヒート時のモジュールダメージを軽減\"\n            }\n          ], \n          \"header\": \"ガレンテ・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +2, 로우 슬롯 +2\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 사거리 증가\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"워프 스크램블러 및 워프 디스럽터 모듈 과부하 시 보너스 효과 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"과부하로 인한 모듈 손상 감소\"\n            }\n          ], \n          \"header\": \"갈란테 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+2 разъёма средней мощности, +2 разъёма малой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"увеличивается оптимальная дальность действия варп-глушителей и варп-подавителей\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"усиливается влияние перегрузки на параметры варп-глушителей и варп-подавителей\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается объём повреждений модулей, получаемых ими при перегрузке\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+2，低槽+2\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器距离加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"跃迁扰频器和跃迁扰断器过载效果加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装备过载损伤降低\"\n            }\n          ], \n          \"header\": \"盖伦特核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45630\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+3 Mid Slots, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"Bonus auf die optimale Reichweite von Stasisnetzen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Nutzen der Überhitzung von Stasisnetz-Modulen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Verringerung des Modulschadens durch Überhitzung\"\n            }\n          ], \n          \"header\": \"Minmatar Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+3 Mid Slots, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Stasis Webifier modules\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }\n          ], \n          \"header\": \"Minmatar Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+ 3 ranuras intermedias, +1 ranura inferior\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonificación al alcance óptimo de la red ralentizadora.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a los beneficios de sobrecalentar los módulos de red ralentizadora.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de reducción del daño del módulo por sobrecalentamiento.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+3 Emplacements intermédiaires, +1 Emplacement inférieur\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"de bonus à la portée optimale du générateur de stase\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus aux avantages de la surchauffe sur les modules de Générateur de stase\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de réduction de la détérioration du module suite à la surchauffe\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+3 Mid Slots, +1 Low Slot\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"bonus to Stasis Webifier optimal range\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to the benefits of overheating Stasis Webifier modules\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"reduction in module damage from overheating\"\n            }\n          ], \n          \"header\": \"Minmatar Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+3、ロースロット+1\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"ステイシスウェビファイヤーの最適射程距離が拡大\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"オーバーヒートしたステイシスウェビファイヤーの恩恵にボーナス\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"オーバーヒート時のモジュールダメージを軽減\"\n            }\n          ], \n          \"header\": \"ミンマター・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +3, 로우 슬롯 +1\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"스테이시스 웹 생성기 최적사거리 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"스테이시스 웹 생성기 모듈 과부하 시 보너스 효과 증가\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"과부하로 인한 모듈 손상 감소\"\n            }\n          ], \n          \"header\": \"민마타 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+3 разъёма средней мощности, +1 разъём малой мощности\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 25%\", \n              \"text\": \"увеличивается оптимальная дальность действия стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"усиливается влияние перегрузки на параметры стазис-индукторов\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"уменьшается объём повреждений модулей, получаемых ими при перегрузке\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+3，低槽+1\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"25%\", \n              \"text\": \"停滞缠绕光束最佳射程加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"停滞缠绕光束过载效果加成\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"装备过载损伤降低\"\n            }\n          ], \n          \"header\": \"米玛塔尔核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45633\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Stromleistung des Schiffes\"\n          }, \n          {\n            \"text\": \"·Zusätzliche Basiswerte\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +3 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50 GJ Energiespeicherkapazität\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Wiederaufladezeit des Energiespeichers\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"Bonus auf die Resistenz gegen Energiekriegsführung\"\n            }\n          ], \n          \"header\": \"Minmatar Core Systems Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to ship power output\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +3 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to capacitor recharge time\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to energy warfare resistance\"\n            }\n          ], \n          \"header\": \"Minmatar Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la potencia de salida de la nave.\"\n          }, \n          {\n            \"text\": \"·Estadísticas básicas adicionales\"\n          }, \n          {\n            \"text\": \"·+1 ranura intermedia, +3 ranuras inferiores\"\n          }, \n          {\n            \"text\": \"·+50 GJ de capacidad del condensador\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación al tiempo de carga del condensador.\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonificación a la resistencia a la guerra de energía.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Sistemas centrales minmatarianos (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la puissance du réseau d'alimentation du vaisseau\"\n          }, \n          {\n            \"text\": \"·Stats de base supplémentaires\"\n          }, \n          {\n            \"text\": \"·+1 Emplacement intermédiaire, +3 Emplacements inférieurs\"\n          }, \n          {\n            \"text\": \"·Charge de capaciteur +50 GJ\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus au temps de recharge du capaciteur\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"de bonus à la résistance aux énergies de guerre\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Systèmes nucléus minmatar :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to ship power output\"\n          }, \n          {\n            \"text\": \"·Additional Base Stats\"\n          }, \n          {\n            \"text\": \"·+1 Mid Slot, +3 Low Slots\"\n          }, \n          {\n            \"text\": \"·+50GJ Capacitor Capacity\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to capacitor recharge time\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"bonus to energy warfare resistance\"\n            }\n          ], \n          \"header\": \"Minmatar Core Systems bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"艦船のパワー出力が上昇\"\n          }, \n          {\n            \"text\": \"·追加ベース統計\"\n          }, \n          {\n            \"text\": \"·ミッドスロット+1、ロースロット+3\"\n          }, \n          {\n            \"text\": \"·キャパシタ容量+50GJ\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"キャパシタのリチャージ時間にボーナス\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"エネルギー戦耐性が増加\"\n            }\n          ], \n          \"header\": \"ミンマター・コアシステムボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"함선 출력 증가\"\n          }, \n          {\n            \"text\": \"·추가 기본 능력치\"\n          }, \n          {\n            \"text\": \"·미드 슬롯 +1, 로우 슬롯 +3\"\n          }, \n          {\n            \"text\": \"·캐패시터 용량 +50 GJ\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"캐패시터 충전시간 감소\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"에너지 관련 공격 저항력 증가\"\n            }\n          ], \n          \"header\": \"민마타 코어 시스템 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 20%\", \n            \"text\": \"повышается мощность реактора корабля\"\n          }, \n          {\n            \"text\": \"·Кроме того:\"\n          }, \n          {\n            \"text\": \"·+1 разъём средней мощности, +3 разъёма малой мощности\"\n          }, \n          {\n            \"text\": \"·+50 ГДж ёмкости накопителя\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 5%\", \n              \"text\": \"сокращается расход времени на регенерацию энергии в накопителе\"\n            }, \n            {\n              \"number\": \"на 3%\", \n              \"text\": \"увеличивается сопротивляемость вражескому воздействию на накопитель энергии\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские центральные подсистемы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"20%\", \n            \"text\": \"舰船能量栅格输出加成\"\n          }, \n          {\n            \"text\": \"·附加基础数值\"\n          }, \n          {\n            \"text\": \"·中槽+1，低槽+3\"\n          }, \n          {\n            \"text\": \"·电容器电容量+50GJ\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"5%\", \n              \"text\": \"电容器回充时间加成\"\n            }, \n            {\n              \"number\": \"3%\", \n              \"text\": \"能量战抗性加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔核心系统每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 45632\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32848\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"Reduzierte Materialanforderungen für Fertigungsaufträge\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Reduzierte Zeitanforderungen für Fertigungs- und Forschungsaufträge\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"Reduzierte ISK-Anforderungen für Fertigungs- und Forschungsaufträge\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"Reduzierter Treibstoffverbrauch von Industriedienstmodulen\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"Bonus auf die Feuerrate und den Energiespeicherverbrauch von Standup-Pulsprojektoren und Lenkbombenwerfern\"\n          }, \n          {\n            \"text\": \"·Solange diese Struktur über mindestens ein aktives Dienstmodul verfügt, befindet sie sich im Hochenergiemodus und erhält erhöhte Schild- und Panzerungs-HP sowie einen zusätzlichen Verstärkungszyklus.\"\n          }, \n          {\n            \"text\": \"·Damit das Verankern abgeschlossen werden kann, muss in dieser Struktur ein Azbel-Upwell-Quantumkern installiert werden\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"reduction in material requirements for manufacturing jobs\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"reduction in time requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"reduction in ISK requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Engineering Service Module fuel consumption\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure requires an Azbel Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"de reducción de los requisitos de materiales para los trabajos de fabricación.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de reducción de los requisitos para los trabajos de fabricación y ciencia.\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"de reducción de los requisitos de ISK para los trabajos de fabricación y ciencia.\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de reducción del consumo de combustible de los módulos de servicio de ingeniería.\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonificación a la cadencia de tiro y al consumo del condensador de los proyectores de estallido Standup y los lanzabombas guiados.\"\n          }, \n          {\n            \"text\": \"·Cuando esta estructura tiene al menos un módulo de servicio conectado, entra en el modo de potencia máxima y obtiene más puntos de vida de escudo y blindaje, además de un ciclo de refuerzo adicional.\"\n          }, \n          {\n            \"text\": \"·Esta estructura requiere un núcleo cuántico Azbel de Upwell instalado para completar el anclaje.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"de réduction de productivité matérielle pour les tâches de production\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de réduction de productivité horaire pour les tâches de production et scientifiques\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"de réduction d'ISK requis pour les tâches de production et scientifiques\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"de réduction de la consommation en carburant des modules de service d'ingénierie\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"de bonus à la cadence de tir et à la consommation du capaciteur des projecteurs à salves et des lanceurs de bombes ciblées Standup\"\n          }, \n          {\n            \"text\": \"·L’activation d’un seul module de service permet à la structure de passer en mode performance énergétique pour accroître les points de vie de ses boucliers et de son blindage et bénéficier d’un cycle de renforcement supplémentaire.\"\n          }, \n          {\n            \"text\": \"·Cette structure nécessite un réacteur quantique Upwell Azbel pour terminer le processus d'ancrage\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"reduction in material requirements for manufacturing jobs\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"reduction in time requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"reduction in ISK requirements for manufacturing and science jobs\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"reduction in Engineering Service Module fuel consumption\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"bonus to the rate of fire and capacitor consumption of Standup Burst Projectors and Guided Bomb Launchers\"\n          }, \n          {\n            \"text\": \"·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle.\"\n          }, \n          {\n            \"text\": \"·This structure requires an Azbel Upwell Quantum Core to be installed for anchoring to complete\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"製造ジョブの必要資源が減少\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"製造ジョブとサイエンスジョブの必要時間が減少\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"製造ジョブとサイエンスジョブの必要ISKが減少\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"電気工学サービスモジュールの燃料消費が減少\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"スタンドアップバーストプロジェクターと誘導ボムランチャーの発射間隔とキャパシタ消費効率を改善\"\n          }, \n          {\n            \"text\": \"·このストラクチャのサービスモジュールが1つ以上オンラインになると、「フルパワー」モードに入り、シールドとアーマーのヒットポイントが増加し追加の強化サイクルを獲得する。\"\n          }, \n          {\n            \"text\": \"·このストラクチャの係留を完了するには アズベル・アップウェルクアンタムコアを取り付ける必要がある。\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"제조 작업 자원요구치 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"연구 및 제조 작업 시간효율성 증가\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"연구 및 제조 작업 ISK 소모량 감소\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"엔지니어링 서비스 모듈 연료 사용량 감소\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"스탠드업 버스트 프로젝터 및 유도폭탄 런처 연사속도 및 캐패시터 사용량 감소\"\n          }, \n          {\n            \"text\": \"·장착된 모듈이 온라인 상태일 경우 구조물은 최대 전력 모드로 전환되며 실드량 및 장갑 내구도가 증가하고 추가 강화 시간대가 생성됩니다.\"\n          }, \n          {\n            \"text\": \"·해당 구조물을 고정하려면 아즈벨 업웰 양자코어를 설치해야 합니다.\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 1%\", \n            \"text\": \"уменьшает расход материалов, необходимых для выполнения производственных проектов\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"уменьшает время, необходимое для производственных и научных проектов\"\n          }, \n          {\n            \"number\": \"на 4%\", \n            \"text\": \"уменьшает стоимость (ISK) производственных и научных проектов\"\n          }, \n          {\n            \"number\": \"на 25%\", \n            \"text\": \"уменьшает потребление топлива служебными инженерными модулями\"\n          }, \n          {\n            \"number\": \"на 20%\", \n            \"text\": \"бонус к скорострельности и энергопотреблению проекторов объёмных помех и бомбометателей с системой наведения на базе «Стационар»\"\n          }, \n          {\n            \"text\": \"·Так как у этого сооружения есть по меньшей мере один работающий служебный модуль, оно переходит в режим полной мощности и получает увеличенный запас прочности щитов и брони, а также дополнительный цикл укрепления.\"\n          }, \n          {\n            \"text\": \"·Для завершения постановки этого сооружения на якорь в него требуется установить квантовое ядро «Азбель» производства «Апвелл».\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"1%\", \n            \"text\": \"生产项目的材料需求降低\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"生产和科研项目的时间需求降低\"\n          }, \n          {\n            \"number\": \"4%\", \n            \"text\": \"生产和科研项目的星币需求降低\"\n          }, \n          {\n            \"number\": \"25%\", \n            \"text\": \"工程服务装备的燃料消耗降低\"\n          }, \n          {\n            \"number\": \"20%\", \n            \"text\": \"屹立脉冲波投射器和制导炸弹发射器的射速和电容消耗加成\"\n          }, \n          {\n            \"text\": \"·这个建筑启用了至少一个服务装备，已进入全能量运转模式，将会获得额外的护盾和装甲值以及一个额外的增强模式循环。\"\n          }, \n          {\n            \"text\": \"·这座建筑需要安装一个阿兹贝尔昇威量子芯才能完成锚定。\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }\n    }, \n    \"typeID\": 35826\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"Bonus auf die Effektivität von Panzerungs-Fernreparatursystemen und Schildfernboostern\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"Bonus auf die Energiespeicherkapazität\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Abzug auf die Wiederaufladezeit des Energiespeichers\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Abzug auf die Effektivität von Energiespeicher-Ferntransmittern\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"Abzug auf die Effektivität von Panzerungsreparatursystemen und Schildboostern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to remote armor repairer and remote shield booster effectiveness\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to capacitor capacity\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to capacitor recharge time\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to remote capacitor transmitter effectiveness\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to local armor repairer and shield booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonificación a la efectividad del reparador de blindaje remoto y el potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonificación a la capacidad del condensador\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de penalización al tiempo de carga del condensador.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de penalización a la efectividad del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de penalización a la efectividad del reparador de blindaje y del potenciador de escudo locales.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonus à l'efficacité des réparateurs de blindage à distance et des boosters de bouclier à distance\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"de bonus à la charge du capaciteur\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de pénalité au temps de recharge du capaciteur\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de pénalité à l'efficacité du transmetteur de capaciteur à distance\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"de pénalité à l'efficacité des réparateurs de blindage locaux et des boosters de bouclier\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to remote armor repairer and remote shield booster effectiveness\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"bonus to capacitor capacity\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to capacitor recharge time\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to remote capacitor transmitter effectiveness\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"penalty to local armor repairer and shield booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"リモートアーマーリペアラとリモートシールドブースターの効果が上昇\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"キャパシタ容量が増加\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"キャパシタのリチャージ時間にペナルティ\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"リモートキャパシタトランスミッターの効果にペナルティ\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"ローカルアーマーリペアラとシールドブースターの効果にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"원격 장갑수리 장치 및 실드 부스터 효과 보너스\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"캐패시터 용량 증가\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"캐패시터 충전시간 페널티\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"원격 캐패시터 전송기 효과 페널티\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"장갑수리 장치 및 실드 부스터 효과 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 72%\", \n            \"text\": \"бонус к эффективности модуля дистанционного ремонта брони и модуля дистанционного усиления щитов\"\n          }, \n          {\n            \"number\": \"на 72%\", \n            \"text\": \"бонус к ёмкости накопителя\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"штраф к времени перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"штраф к эффективности модуля дистанционного пополнения накопителя\"\n          }, \n          {\n            \"number\": \"на 36%\", \n            \"text\": \"штраф к эффективности локального ремонта брони и усиления щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"72%\", \n            \"text\": \"远程装甲维修器和远程护盾回充增量器效果加成\"\n          }, \n          {\n            \"number\": \"72%\", \n            \"text\": \"电容器电容量加成\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"电容器回充时间惩罚\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"远程电容传输装置效果惩罚\"\n          }, \n          {\n            \"number\": \"36%\", \n            \"text\": \"自身装甲维修器和护盾回充增量器效果惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30884\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Effektivität von Panzerungs-Fernreparatursystemen und Schildfernboostern\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"Bonus auf die Energiespeicherkapazität\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf die Wiederaufladezeit des Energiespeichers\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf die Effektivität von Energiespeicher-Ferntransmittern\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"Abzug auf die Effektivität von Panzerungsreparatursystemen und Schildboostern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to remote armor repairer and remote shield booster effectiveness\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to capacitor capacity\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to capacitor recharge time\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to remote capacitor transmitter effectiveness\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to local armor repairer and shield booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la efectividad del reparador de blindaje remoto y el potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonificación a la capacidad del condensador\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización al tiempo de carga del condensador.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización a la efectividad del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de penalización a la efectividad del reparador de blindaje y del potenciador de escudo locales.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à l'efficacité des réparateurs de blindage à distance et des boosters de bouclier à distance\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"de bonus à la charge du capaciteur\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité au temps de recharge du capaciteur\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité à l'efficacité du transmetteur de capaciteur à distance\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"de pénalité à l'efficacité des réparateurs de blindage locaux et des boosters de bouclier\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to remote armor repairer and remote shield booster effectiveness\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"bonus to capacitor capacity\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to capacitor recharge time\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to remote capacitor transmitter effectiveness\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"penalty to local armor repairer and shield booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"リモートアーマーリペアラとリモートシールドブースターの効果が上昇\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"キャパシタ容量が増加\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"キャパシタのリチャージ時間にペナルティ\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"リモートキャパシタトランスミッターの効果にペナルティ\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"ローカルアーマーリペアラとシールドブースターの効果にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"원격 장갑수리 장치 및 실드 부스터 효과 보너스\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"캐패시터 용량 증가\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"캐패시터 충전시간 페널티\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"원격 캐패시터 전송기 효과 페널티\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"장갑수리 장치 및 실드 부스터 효과 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к эффективности модуля дистанционного ремонта брони и модуля дистанционного усиления щитов\"\n          }, \n          {\n            \"number\": \"на 100%\", \n            \"text\": \"бонус к ёмкости накопителя\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"штраф к времени перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"штраф к эффективности модуля дистанционного пополнения накопителя\"\n          }, \n          {\n            \"number\": \"на 50%\", \n            \"text\": \"штраф к эффективности локального ремонта брони и усиления щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"远程装甲维修器和远程护盾回充增量器效果加成\"\n          }, \n          {\n            \"number\": \"100%\", \n            \"text\": \"电容器电容量加成\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"电容器回充时间惩罚\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"远程电容传输装置效果惩罚\"\n          }, \n          {\n            \"number\": \"50%\", \n            \"text\": \"自身装甲维修器和护盾回充增量器效果惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30882\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"Bonus auf die Effektivität von Panzerungs-Fernreparatursystemen und Schildfernboostern\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"Bonus auf die Energiespeicherkapazität\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Abzug auf die Wiederaufladezeit des Energiespeichers\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Abzug auf die Effektivität von Energiespeicher-Ferntransmittern\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"Abzug auf die Effektivität von Panzerungsreparatursystemen und Schildboostern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to remote armor repairer and remote shield booster effectiveness\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to capacitor capacity\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to capacitor recharge time\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to remote capacitor transmitter effectiveness\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to local armor repairer and shield booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonificación a la efectividad del reparador de blindaje remoto y el potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonificación a la capacidad del condensador\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de penalización al tiempo de carga del condensador.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de penalización a la efectividad del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de penalización a la efectividad del reparador de blindaje y del potenciador de escudo locales.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonus à l'efficacité des réparateurs de blindage à distance et des boosters de bouclier à distance\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"de bonus à la charge du capaciteur\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de pénalité au temps de recharge du capaciteur\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de pénalité à l'efficacité du transmetteur de capaciteur à distance\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"de pénalité à l'efficacité des réparateurs de blindage locaux et des boosters de bouclier\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to remote armor repairer and remote shield booster effectiveness\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"bonus to capacitor capacity\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to capacitor recharge time\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to remote capacitor transmitter effectiveness\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"penalty to local armor repairer and shield booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"リモートアーマーリペアラとリモートシールドブースターの効果が上昇\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"キャパシタ容量が増加\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"キャパシタのリチャージ時間にペナルティ\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"リモートキャパシタトランスミッターの効果にペナルティ\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"ローカルアーマーリペアラとシールドブースターの効果にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"원격 장갑수리 장치 및 실드 부스터 효과 보너스\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"캐패시터 용량 증가\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"캐패시터 충전시간 페널티\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"원격 캐패시터 전송기 효과 페널티\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"장갑수리 장치 및 실드 부스터 효과 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 86%\", \n            \"text\": \"бонус к эффективности модуля дистанционного ремонта брони и модуля дистанционного усиления щитов\"\n          }, \n          {\n            \"number\": \"на 86%\", \n            \"text\": \"бонус к ёмкости накопителя\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"штраф к времени перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"штраф к эффективности модуля дистанционного пополнения накопителя\"\n          }, \n          {\n            \"number\": \"на 43%\", \n            \"text\": \"штраф к эффективности локального ремонта брони и усиления щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"86%\", \n            \"text\": \"远程装甲维修器和远程护盾回充增量器效果加成\"\n          }, \n          {\n            \"number\": \"86%\", \n            \"text\": \"电容器电容量加成\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"电容器回充时间惩罚\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"远程电容传输装置效果惩罚\"\n          }, \n          {\n            \"number\": \"43%\", \n            \"text\": \"自身装甲维修器和护盾回充增量器效果惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30883\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"Bonus auf die Effektivität von Panzerungs-Fernreparatursystemen und Schildfernboostern\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"Bonus auf die Energiespeicherkapazität\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Abzug auf die Wiederaufladezeit des Energiespeichers\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Abzug auf die Effektivität von Energiespeicher-Ferntransmittern\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"Abzug auf die Effektivität von Panzerungsreparatursystemen und Schildboostern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to remote armor repairer and remote shield booster effectiveness\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to capacitor capacity\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to capacitor recharge time\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to remote capacitor transmitter effectiveness\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to local armor repairer and shield booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonificación a la efectividad del reparador de blindaje remoto y el potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonificación a la capacidad del condensador\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de penalización al tiempo de carga del condensador.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de penalización a la efectividad del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de penalización a la efectividad del reparador de blindaje y del potenciador de escudo locales.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonus à l'efficacité des réparateurs de blindage à distance et des boosters de bouclier à distance\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"de bonus à la charge du capaciteur\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de pénalité au temps de recharge du capaciteur\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de pénalité à l'efficacité du transmetteur de capaciteur à distance\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"de pénalité à l'efficacité des réparateurs de blindage locaux et des boosters de bouclier\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to remote armor repairer and remote shield booster effectiveness\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"bonus to capacitor capacity\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to capacitor recharge time\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to remote capacitor transmitter effectiveness\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"penalty to local armor repairer and shield booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"リモートアーマーリペアラとリモートシールドブースターの効果が上昇\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"キャパシタ容量が増加\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"キャパシタのリチャージ時間にペナルティ\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"リモートキャパシタトランスミッターの効果にペナルティ\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"ローカルアーマーリペアラとシールドブースターの効果にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"원격 장갑수리 장치 및 실드 부스터 효과 보너스\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"캐패시터 용량 증가\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"캐패시터 충전시간 페널티\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"원격 캐패시터 전송기 효과 페널티\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"장갑수리 장치 및 실드 부스터 효과 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 44%\", \n            \"text\": \"бонус к эффективности модуля дистанционного ремонта брони и модуля дистанционного усиления щитов\"\n          }, \n          {\n            \"number\": \"на 44%\", \n            \"text\": \"бонус к ёмкости накопителя\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"штраф к времени перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"штраф к эффективности модуля дистанционного пополнения накопителя\"\n          }, \n          {\n            \"number\": \"на 22%\", \n            \"text\": \"штраф к эффективности локального ремонта брони и усиления щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"44%\", \n            \"text\": \"远程装甲维修器和远程护盾回充增量器效果加成\"\n          }, \n          {\n            \"number\": \"44%\", \n            \"text\": \"电容器电容量加成\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"电容器回充时间惩罚\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"远程电容传输装置效果惩罚\"\n          }, \n          {\n            \"number\": \"22%\", \n            \"text\": \"自身装甲维修器和护盾回充增量器效果惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30880\n  }, \n  {\n    \"traits_de\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"Bonus auf die Effektivität von Panzerungs-Fernreparatursystemen und Schildfernboostern\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"Bonus auf die Energiespeicherkapazität\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Abzug auf die Wiederaufladezeit des Energiespeichers\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Abzug auf die Effektivität von Energiespeicher-Ferntransmittern\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"Abzug auf die Effektivität von Panzerungsreparatursystemen und Schildboostern\"\n          }\n        ], \n        \"header\": \"Verschiedene Boni:\"\n      }\n    }, \n    \"traits_en-us\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to remote armor repairer and remote shield booster effectiveness\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to capacitor capacity\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to capacitor recharge time\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to remote capacitor transmitter effectiveness\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to local armor repairer and shield booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_es\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonificación a la efectividad del reparador de blindaje remoto y el potenciador de escudo remoto.\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonificación a la capacidad del condensador\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de penalización al tiempo de carga del condensador.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de penalización a la efectividad del transmisor de condensador remoto.\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de penalización a la efectividad del reparador de blindaje y del potenciador de escudo locales.\"\n          }\n        ], \n        \"header\": \"Bonificación misc.:\"\n      }\n    }, \n    \"traits_fr\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonus à l'efficacité des réparateurs de blindage à distance et des boosters de bouclier à distance\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"de bonus à la charge du capaciteur\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de pénalité au temps de recharge du capaciteur\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de pénalité à l'efficacité du transmetteur de capaciteur à distance\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"de pénalité à l'efficacité des réparateurs de blindage locaux et des boosters de bouclier\"\n          }\n        ], \n        \"header\": \"Bonus divers :\"\n      }\n    }, \n    \"traits_it\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to remote armor repairer and remote shield booster effectiveness\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"bonus to capacitor capacity\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to capacitor recharge time\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to remote capacitor transmitter effectiveness\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"penalty to local armor repairer and shield booster effectiveness\"\n          }\n        ], \n        \"header\": \"Misc bonus:\"\n      }\n    }, \n    \"traits_ja\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"リモートアーマーリペアラとリモートシールドブースターの効果が上昇\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"キャパシタ容量が増加\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"キャパシタのリチャージ時間にペナルティ\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"リモートキャパシタトランスミッターの効果にペナルティ\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"ローカルアーマーリペアラとシールドブースターの効果にペナルティ\"\n          }\n        ], \n        \"header\": \"その他のボーナス：\"\n      }\n    }, \n    \"traits_ko\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"원격 장갑수리 장치 및 실드 부스터 효과 보너스\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"캐패시터 용량 증가\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"캐패시터 충전시간 페널티\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"원격 캐패시터 전송기 효과 페널티\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"장갑수리 장치 및 실드 부스터 효과 페널티\"\n          }\n        ], \n        \"header\": \"기타 보너스:\"\n      }\n    }, \n    \"traits_ru\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 58%\", \n            \"text\": \"бонус к эффективности модуля дистанционного ремонта брони и модуля дистанционного усиления щитов\"\n          }, \n          {\n            \"number\": \"на 58%\", \n            \"text\": \"бонус к ёмкости накопителя\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"штраф к времени перезарядки накопителя\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"штраф к эффективности модуля дистанционного пополнения накопителя\"\n          }, \n          {\n            \"number\": \"на 29%\", \n            \"text\": \"штраф к эффективности локального ремонта брони и усиления щитов\"\n          }\n        ], \n        \"header\": \"Прочие особенности проекта:\"\n      }\n    }, \n    \"traits_zh\": {\n      \"misc\": {\n        \"bonuses\": [\n          {\n            \"number\": \"58%\", \n            \"text\": \"远程装甲维修器和远程护盾回充增量器效果加成\"\n          }, \n          {\n            \"number\": \"58%\", \n            \"text\": \"电容器电容量加成\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"电容器回充时间惩罚\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"远程电容传输装置效果惩罚\"\n          }, \n          {\n            \"number\": \"29%\", \n            \"text\": \"自身装甲维修器和护盾回充增量器效果惩罚\"\n          }\n        ], \n        \"header\": \"其它加成：\"\n      }\n    }, \n    \"typeID\": 30881\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale de la petite tourelle hybride\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite de la petite tourelle hybride\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte à la petite tourelle hybride\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32840\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32842\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale de la petite tourelle hybride\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32844\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"Bonus auf die optimale Reichweite von kleinen Hybridgeschütztürmen\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonificación al alcance óptimo de la torreta híbrida pequeña.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Destructor gallente (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"de bonus à la portée optimale des petites tourelles hybrides\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus de distance de perte des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Destroyer gallente :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"bonus to Small Hybrid Turret optimal range\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Hybrid Turret falloff\"\n            }\n          ], \n          \"header\": \"Gallente Destroyer bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型ハイブリッドタレットの最適射程距離が拡大\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型ハイブリッドタレットの精度低下範囲が拡大\"\n            }\n          ], \n          \"header\": \"ガレンテ駆逐艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"소형 하이브리드 터렛 최적사거리 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 하이브리드 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"갈란테 디스트로이어 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 50%\", \n            \"text\": \"увеличивается оптимальная дальность ведения огня из малых гибридных орудий\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"повышается скорость наводки на цель малых гибридных орудий\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"увеличивается добавочная дальность ведения огня из малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские эсминцы:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"50%\", \n            \"text\": \"小型混合炮台最佳射程加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台跟踪速度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"小型混合炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"盖伦特驱逐舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 32846\n  }, \n  {\n    \"traits_de\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Aktivierungskosten von mittelgroßen Energiegeschütztürmen\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"Bonus auf die Feuerrate von mittelgroßen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del coste de activación de la torreta de energía mediana.\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonificación a la cadencia de tiro de la torreta de energía mediana.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Crucero amarriano (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction du coût d'activation des tourelles à énergie intermédiaires\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"de bonus à la cadence de tir des tourelles à énergie intermédiaires\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Croiseur amarr :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Medium Energy Turret activation cost\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"bonus to Medium Energy Turret rate of fire\"\n            }\n          ], \n          \"header\": \"Amarr Cruiser bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型エネルギータレットの起動コストが軽減\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型エネルギータレットの発射間隔が短縮\"\n            }\n          ], \n          \"header\": \"アマー巡洋艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"중형 에너지 터렛 활성화 비용 감소\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"중형 에너지 터렛 연사속도 증가\"\n            }\n          ], \n          \"header\": \"아마르 크루저 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращается расход энергии при ведении огня из средних лазерных орудий\"\n            }, \n            {\n              \"number\": \"на 5%\", \n              \"text\": \"повышается скорострельность средних лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские крейсеры:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"中型能量炮台启动消耗减少\"\n            }, \n            {\n              \"number\": \"5%\", \n              \"text\": \"中型能量炮台射速加成\"\n            }\n          ], \n          \"header\": \"艾玛巡洋舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 2006\n  }, \n  {\n    \"traits_de\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"Reduktion der CPU-Anforderung von Tarnmodulen\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"Bonus auf die Virusstärke von Relikt- und Datenanalysegeräten\"\n          }, \n          {\n            \"text\": \"·Kann Covert-Ops-Tarnvorrichtung und getarnten Anziehungsfeldgenerator ausrüsten\"\n          }, \n          {\n            \"text\": \"·Keine Verzögerung bei der Zielerfassung nach der Deaktivierung von Tarnvorrichtungen\"\n          }, \n          {\n            \"text\": \"·Verzögerung bei Reaktivierung des Tarnmoduls auf 5 Sekunden reduziert\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"Bonus auf Schaden und HP von Leichten Kampfdrohnen\"\n          }, \n          {\n            \"text\": \"·Schaden von kleinen Hybridgeschütztürmen, kleinen Projektilwaffentürmen, kleinen Energiegeschütztürmen, leichten Lenkwaffen und Raketen um einen Prozentsatz in Höhe von -7,5x negativer Sicherheitsstatus des Piloten erhöht, mit einem Minimum von 0 % und einem Maximum von 75 %\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"Bonus auf die Warpgeschwindigkeit und Warpbeschleunigung\"\n          }\n        ], \n        \"header\": \"Funktionsbonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"Bonus auf die Nachführungsgeschwindigkeit von kleinen Hybridgeschütztürmen\"\n            }\n          ], \n          \"header\": \"Gallente Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf den Präzisionsabfall von kleinen Projektilwaffentürmen\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die optimale Reichweite von kleinen Energiegeschütztürmen\"\n            }\n          ], \n          \"header\": \"Amarr Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"Bonus auf die Flugdauer von leichten Lenkwaffen und Raketen\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"Bonus auf alle Schildresistenzen\"\n            }\n          ], \n          \"header\": \"Caldari Frigate Boni (je Skillstufe):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Stärke von Kern- und Gefechtsscansonden\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"Reduktion der Flugdauer von Vermessungssonden\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"Bonus auf die Warpgeschwindigkeit und Beschleunigung\"\n            }\n          ], \n          \"header\": \"Covert Ops Boni (je Skillstufe):\"\n        }\n      ]\n    }, \n    \"traits_en-us\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"bonus to Light Combat Drone damage and hitpoints\"\n          }, \n          {\n            \"text\": \"·Small Hybrid Turret, Small Projectile Turret, Small Energy Turret, Light Missile, and Rocket damage increased by a percentage equal to -7.5x pilot negative security status, with a floor of 0% and ceiling of 75%\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket flight time\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Survey Probe flight time\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to warp speed and acceleration\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_es\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de reducción del requisito de CPU de los dispositivos de camuflaje.\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonificación a la intensidad del virus de los analizadores de datos y de reliquias.\"\n          }, \n          {\n            \"text\": \"·Es posible equipar un dispositivo de camuflaje de operaciones encubiertas y un generador de campo cinosural encubierto.\"\n          }, \n          {\n            \"text\": \"·No hay demora en la adquisición de objetivos tras la desactivación del dispositivo de camuflaje.\"\n          }, \n          {\n            \"text\": \"·Reducción de la demora de reactivación del camuflaje a 5 segundos.\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"de bonificación al daño y los puntos de vida de los drones de combate ligeros.\"\n          }, \n          {\n            \"text\": \"·El daño de la torreta híbrida pequeña, torreta de proyectiles pequeña, torreta de energía pequeña, misil ligero y cohete aumenta en un porcentaje igual a -7,5 veces el estado de seguridad negativo del piloto, con un mínimo del 0 % y un máximo del 75 %.\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n          }\n        ], \n        \"header\": \"Bonificación por función:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonificación a la velocidad de rastreo de la torreta híbrida pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata gallente (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance efectivo de la torreta de proyectiles pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata minmatariana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al alcance óptimo de la torreta de energía pequeña.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata amarriana (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonificación al tiempo de vuelo de los misiles ligeros y los cohetes.\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonificación a todas las resistencias de escudo.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Fragata caldari (por nivel de habilidad):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la intensidad de la sonda escáner de combate y la de núcleo.\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de reducción del tiempo de vuelo de la sonda de prospección.\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonificación a la velocidad y la aceleración de warp.\"\n            }\n          ], \n          \"header\": \"Bonificaciones de Operaciones encubiertas (por nivel de habilidad):\"\n        }\n      ]\n    }, \n    \"traits_fr\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"de réduction du CPU requis par les dispositifs de camouflage\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"de bonus à la puissance du virus des analyseurs de reliques et des analyseurs de données\"\n          }, \n          {\n            \"text\": \"·Peut utiliser un dispositif de camouflage opérations secrètes et un générateur de champ cynosural furtif\"\n          }, \n          {\n            \"text\": \"·Aucun délai de ciblage après la désactivation du dispositif de camouflage\"\n          }, \n          {\n            \"text\": \"·Délai de réactivation du camouflage réduit à 5 secondes\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"de bonus aux dégâts et aux points de vie des drones de combat légers\"\n          }, \n          {\n            \"text\": \"·Augmentation des dégâts des petites tourelles hybrides, petites tourelles à projectiles, petites tourelles à énergie, missiles légers et roquettes d'un pourcentage égal à -7,5x le statut de sécurité négatif du pilote, avec un minimum de 0 % et un maximum de 75 %\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n          }\n        ], \n        \"header\": \"Bonus de rôle :\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"de bonus à la vitesse de poursuite des petites tourelles hybrides\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate gallente :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la déperdition des petites tourelles à projectiles\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate minmatar :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus à la portée optimale des petites tourelles à énergie\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate amarr :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"de bonus au temps de vol des missiles légers et des roquettes\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"de bonus à toutes les résistances du bouclier\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Frégate caldari :\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la puissance des sondes de balayage cosmiques et des sondes de balayage de combat\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"de réduction au temps de vol des sondes d'exploration\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"de bonus à la vitesse de warp et à l'accélération de warp\"\n            }\n          ], \n          \"header\": \" Bonus (par niveau de compétence) Opérations secrètes :\"\n        }\n      ]\n    }, \n    \"traits_it\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"reduction in Cloaking Devices CPU requirement\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"bonus to Relic and Data Analyzer virus strength\"\n          }, \n          {\n            \"text\": \"·Can fit Covert Ops Cloaking Device and Covert Cynosural Field Generator\"\n          }, \n          {\n            \"text\": \"·No targeting delay after Cloaking Device deactivation\"\n          }, \n          {\n            \"text\": \"·Cloak reactivation delay reduced to 5 seconds\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"bonus to Light Combat Drone damage and hitpoints\"\n          }, \n          {\n            \"text\": \"·Small Hybrid Turret, Small Projectile Turret, Small Energy Turret, Light Missile, and Rocket damage increased by a percentage equal to -7.5x pilot negative security status, with a floor of 0% and ceiling of 75%\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"bonus to warp speed and warp acceleration\"\n          }\n        ], \n        \"header\": \"Role Bonus:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"bonus to Small Hybrid Turret tracking speed\"\n            }\n          ], \n          \"header\": \"Gallente Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Projectile Turret falloff\"\n            }\n          ], \n          \"header\": \"Minmatar Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Small Energy Turret optimal range\"\n            }\n          ], \n          \"header\": \"Amarr Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"bonus to Light Missile and Rocket flight time\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"bonus to all shield resistances\"\n            }\n          ], \n          \"header\": \"Caldari Frigate bonuses (per skill level):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to Core and Combat Scanner Probe strength\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"reduction in Survey Probe flight time\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"bonus to warp speed and acceleration\"\n            }\n          ], \n          \"header\": \"Covert Ops bonuses (per skill level):\"\n        }\n      ]\n    }, \n    \"traits_ja\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"遮蔽装置の必要CPUが減少\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遺物アナライザーとデータアナライザーのウイルス強度にボーナス\"\n          }, \n          {\n            \"text\": \"·光学迷彩型遮蔽装置と潜伏用サイノシュラルフィールドジェネレーターを装備可能\"\n          }, \n          {\n            \"text\": \"·遮蔽装置解除後のターゲット補足遅延なし\"\n          }, \n          {\n            \"text\": \"·クロークの再起動遅延を5秒に短縮\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"ライト戦闘用ドローンのダメージとHPが増加\"\n          }, \n          {\n            \"text\": \"·小型ハイブリッドタレット、小型プロジェクタイルタレット、小型エネルギータレット、ライトミサイル、ロケットのダメージを、パイロットのネガティブなセキュリティステータスの-7.5倍に当たるパーセンテージまで上げる。下限は0%で上限は75%。\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"ワープ速度とワープ加速度が上昇\"\n          }\n        ], \n        \"header\": \"性能ボーナス：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型ハイブリッドタレットの追跡速度にボーナス\"\n            }\n          ], \n          \"header\": \"ガレンテフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型プロジェクタイルタレットの精度低下範囲にボーナス\"\n            }\n          ], \n          \"header\": \"ミンマターフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型エネルギータレットの最適射程距離にボーナス\"\n            }\n          ], \n          \"header\": \"アマーフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"ライトミサイルおよびロケットの飛行時間が上昇\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"全てのシールドレジスタンスにボーナス\"\n            }\n          ], \n          \"header\": \"カルダリフリゲートボーナス(スキルレベルごとに):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"コア及び戦闘スキャナープローブの強度が上昇\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"衛星調査プローブの飛行時間が減少\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"ワープ速度と加速度が上昇\"\n            }\n          ], \n          \"header\": \"隠密行動艦ボーナス(スキルレベルごとに):\"\n        }\n      ]\n    }, \n    \"traits_ko\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"클로킹 장치 CPU 사용량 감소\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"유물 및 데이터 분석기 바이러스 침투력 증가\"\n          }, \n          {\n            \"text\": \"·코버트 옵스 클로킹 장치 및 코버트 사이노슈럴 필드 생성기 장착 가능\"\n          }, \n          {\n            \"text\": \"·클로킹 장치 비활성화 후 타겟팅 딜레이 없음\"\n          }, \n          {\n            \"text\": \"·클로킹 재가동 지연 시간 5초로 감소\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"라이트 공격 드론 피해량 및 내구도 증가\"\n          }, \n          {\n            \"text\": \"·캡슐리어 시큐리티 상태가 음수일 때 -7.5배당 % 비율로 소형 하이브리드 터렛, 소형 발사체 터렛, 소형 에너지 터렛, 라이트 미사일, 로켓 피해량 증가, 최소 0% 최대 75%\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"워프 속도 및 워프 가속도 증가\"\n          }\n        ], \n        \"header\": \"역할 보너스:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"소형 하이브리드 터렛 트래킹 속도 증가\"\n            }\n          ], \n          \"header\": \"갈란테 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 발사체 터렛 유효사거리 증가\"\n            }\n          ], \n          \"header\": \"민마타 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"소형 에너지 터렛 최적사거리 증가\"\n            }\n          ], \n          \"header\": \"아마르 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"라이트 미사일 및 로켓 비행시간 증가\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"모든 실드 저항력 증가\"\n            }\n          ], \n          \"header\": \"칼다리 프리깃 보너스 (스킬 레벨당):\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"코어 프로브 및 정찰 프로브 스캔 강도 증가\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"조사 프로브 비행시간 감소\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"워프 속도 및 가속도 증가\"\n            }\n          ], \n          \"header\": \"코버트 옵스 보너스 (스킬 레벨당):\"\n        }\n      ]\n    }, \n    \"traits_ru\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"на 100%\", \n            \"text\": \"снижение требований к ЦПУ для систем маскировки\"\n          }, \n          {\n            \"number\": \"на 10+\", \n            \"text\": \"бонус к силе вируса анализаторов данных и артефактов\"\n          }, \n          {\n            \"text\": \"·Возможно оснащение всережимной системой маскировки и приводным маяком скрытого действия\"\n          }, \n          {\n            \"text\": \"·Отсутствует задержка наведения после деактивации устройств маскировки\"\n          }, \n          {\n            \"text\": \"·Задержка повторного включения систем маскировки снижена до 5 секунд\"\n          }, \n          {\n            \"number\": \"на 150%\", \n            \"text\": \"бонус к урону и запасу прочности лёгких боевых дронов\"\n          }, \n          {\n            \"text\": \"·Урон малых гибридных орудий, малых баллистических орудий, малых лазерных орудий, лёгких ракет и ракетных снарядов повышается на процент, равный отрицательному статусу безопасности пилота х -7,5 (от 0% до 75%)\"\n          }, \n          {\n            \"number\": \"на 60%\", \n            \"text\": \"бонус к разгону и скорости хода (в варп-режиме)\"\n          }\n        ], \n        \"header\": \"Профильные особенности проекта:\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 7.5%\", \n              \"text\": \"бонус к скорости наведения малых гибридных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Галлентские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к остаточной дальности малых баллистических орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Минматарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к оптимальной дальности малых лазерных орудий\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Амаррские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 10%\", \n              \"text\": \"бонус к полётному времени лёгких ракет и ракет\"\n            }, \n            {\n              \"number\": \"на 4%\", \n              \"text\": \"бонус к общей сопротивляемости щитов\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Калдарские фрегаты:\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"на 15%\", \n              \"text\": \"бонус к чувствительности зондов навигационной и боевой разведки\"\n            }, \n            {\n              \"number\": \"на 10%\", \n              \"text\": \"сокращение полётного времени исследовательских зондов\"\n            }, \n            {\n              \"number\": \"на 15%\", \n              \"text\": \"бонус к скорости хода и разгона в варп-режиме\"\n            }\n          ], \n          \"header\": \"За каждую степень освоения навыка Диверсионные фрегаты:\"\n        }\n      ]\n    }, \n    \"traits_zh\": {\n      \"role\": {\n        \"bonuses\": [\n          {\n            \"number\": \"100%\", \n            \"text\": \"隐形装置CPU需求降低\"\n          }, \n          {\n            \"number\": \"10+\", \n            \"text\": \"遗迹分析仪和数据分析仪病毒强度加成\"\n          }, \n          {\n            \"text\": \"·可以装配隐秘行动隐形装置和隐秘诱导力场发生器\"\n          }, \n          {\n            \"text\": \"·重新启动隐形装置后不受锁定延时副作用影响\"\n          }, \n          {\n            \"text\": \"·隐形装置重启延时降到5秒\"\n          }, \n          {\n            \"number\": \"150%\", \n            \"text\": \"轻型战斗无人机伤害和HP加成\"\n          }, \n          {\n            \"text\": \"·小型混合炮台、小型弹射炮台、小型能量炮台、轻型导弹和火箭的伤害增幅相当于飞行员负安全等级的-7.5倍，下限为0%，上限为75%\"\n          }, \n          {\n            \"number\": \"60%\", \n            \"text\": \"跃迁速度和跃迁加速加成\"\n          }\n        ], \n        \"header\": \"特有加成：\"\n      }, \n      \"skills\": [\n        {\n          \"bonuses\": [\n            {\n              \"number\": \"7.5%\", \n              \"text\": \"小型混合炮台索敌速度加成\"\n            }\n          ], \n          \"header\": \"盖伦特护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型射弹炮台失准范围加成\"\n            }\n          ], \n          \"header\": \"米玛塔尔护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"小型能量炮台最佳射程加成\"\n            }\n          ], \n          \"header\": \"艾玛护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"10%\", \n              \"text\": \"轻型导弹和火箭飞行时间加成\"\n            }, \n            {\n              \"number\": \"4%\", \n              \"text\": \"护盾抗性加成\"\n            }\n          ], \n          \"header\": \"加达里护卫舰操作每升一级：\"\n        }, \n        {\n          \"bonuses\": [\n            {\n              \"number\": \"15%\", \n              \"text\": \"核心和作战扫描探针强度加成\"\n            }, \n            {\n              \"number\": \"10%\", \n              \"text\": \"测量探针飞行时间加成\"\n            }, \n            {\n              \"number\": \"15%\", \n              \"text\": \"跃迁速度和跃迁加速加成\"\n            }\n          ], \n          \"header\": \"隐形特勤舰操作每升一级：\"\n        }\n      ]\n    }, \n    \"typeID\": 85062\n  }\n]"
  },
  {
    "path": "tests/jeffy_ja-en[99].xml",
    "content": "<?xml version=\"1.0\" ?>\n\t<fittings>\n\t\t<fitting name=\"*-- super long range (for TA\">\n\t\t\t<description value=\"power の関係でMWDを変更したもの\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;イーグル&quot;&gt;Eagle*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;センサーブースターII&quot;&gt;Sensor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;センサーブースターII&quot;&gt;Sensor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;トラッキングコンピューターII&quot;&gt;Tracking Computer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;トラッキングコンピューターII&quot;&gt;Tracking Computer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;250mmレールガンII&quot;&gt;250mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;250mmレールガンII&quot;&gt;250mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;250mmレールガンII&quot;&gt;250mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;250mmレールガンII&quot;&gt;250mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;250mmレールガンII&quot;&gt;250mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"600\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スパイク弾M&quot;&gt;Spike M*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"cargo\" type=\"&lt;localized hint=&quot;最適射程距離スクリプト&quot;&gt;Optimal Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ターゲット範囲スクリプト&quot;&gt;Targeting Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーII&quot;&gt;Medium Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーII&quot;&gt;Medium Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;共和国海軍仕様大型シールドエクステンダー&quot;&gt;Republic Fleet Large Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;50MN Y-T8コンパクトマイクロワープドライブ&quot;&gt;50MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"*Passive Drake Mission Runner for TA update\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ドレイク&quot;&gt;Drake*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1932\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージヘビーミサイル&quot;&gt;Scourge Heavy Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;シールドリチャージャーII&quot;&gt;Shield Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;シールドパワーリレーII&quot;&gt;Shield Power Relay II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドII&quot;&gt;Adaptive Invulnerability Field II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドII&quot;&gt;Adaptive Invulnerability Field II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターI&quot;&gt;Drone Link Augmentor I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーII&quot;&gt;Medium Anti-Thermal Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"*Stork uncomplete\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ストーク&quot;&gt;Stork*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;キャパシタパワーリレーII&quot;&gt;Capacitor Power Relay II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ライトミサイルランチャーII&quot;&gt;Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ライトミサイルランチャーII&quot;&gt;Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ライトミサイルランチャーII&quot;&gt;Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;ライトミサイルランチャーII&quot;&gt;Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;ライトミサイルランチャーII&quot;&gt;Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;小型キャパシタブースターII&quot;&gt;Small Capacitor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型シールドエクステンダーII&quot;&gt;Medium Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;パイサムC型 自動調整防御フィールド&quot;&gt;Pithum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;パイサムC型 自動調整防御フィールド&quot;&gt;Pithum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"cargo\" type=\"&lt;localized hint=&quot;キャップブースター200&quot;&gt;Cap Booster 200*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ビガー小型マイクロ補助パワーコア&quot;&gt;Vigor Compact Micro Auxiliary Power Core*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;ピソムAタイプ中型シールドブースター&quot;&gt;Pithum A-Type Medium Shield Booster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コレリC型5MNマイクロワープドライブ&quot;&gt;Coreli C-Type 5MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"530\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージフューリーライトミサイル&quot;&gt;Scourge Fury Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型補助カレントルーターI&quot;&gt;Small Ancillary Current Router I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型対EMスクリーンレインフォーサーII&quot;&gt;Small Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;シールドコマンドバースト1&quot;&gt;Shield Command Burst I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"- 170107 EHP+AF+WPspd\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ビアトール&quot;&gt;Viator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドII&quot;&gt;Adaptive Invulnerability Field II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーI&quot;&gt;Medium Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型補助カレントルーターI&quot;&gt;Medium Ancillary Current Router I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;10MN Y-S8 コンパクトアフターバーナー&quot;&gt;10MN Y-S8 Compact Afterburner*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"- EHP+AF+WPspd update(propose\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ビアトール&quot;&gt;Viator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;マークI小型パワー診断システム&quot;&gt;Mark I Compact Power Diagnostic System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーII&quot;&gt;Medium Hyperspatial Velocity Optimizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドエクステンダーII&quot;&gt;Medium Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;10MN Y-S8 コンパクトアフターバーナー&quot;&gt;10MN Y-S8 Compact Afterburner*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"- Spd + Shield tank(wp spd 8.6AU over\">\n\t\t\t<description value=\"170109 未明の作品&lt;br&gt;EM Ward Amplifier II、&lt;br&gt;Thermal Dissipation Amplifier II&lt;br&gt;は Upgrade xxx に grade を落としても良い\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;アステロ&quot;&gt;Astero*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;サーマル放散増幅装置2&quot;&gt;Thermal Dissipation Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;EM防御増幅器II&quot;&gt;EM Ward Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Medium F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;シスターコアプローブランチャー&quot;&gt;Sisters Core Probe Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;シスターコアスキャナープローブ&quot;&gt;Sisters Core Scanner Probe*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーII&quot;&gt;Small Hyperspatial Velocity Optimizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーII&quot;&gt;Small Hyperspatial Velocity Optimizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーII&quot;&gt;Small Hyperspatial Velocity Optimizer II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"- warlink ship for TA edit\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ドレイク&quot;&gt;Drake*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;シールドパワーリレーII&quot;&gt;Shield Power Relay II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドII&quot;&gt;Adaptive Invulnerability Field II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドII&quot;&gt;Adaptive Invulnerability Field II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;IFFAコンパクトダメージコントロール&quot;&gt;IFFA Compact Damage Control*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コアラムC型50MNマイクロワープドライブ&quot;&gt;Corelum C-Type 50MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;「フルデュープレクス」弾道制御システム&quot;&gt;'Full Duplex' Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"216\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様スコージヘビーミサイル&quot;&gt;Caldari Navy Scourge Heavy Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーII&quot;&gt;Medium Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2400\" slot=\"cargo\" type=\"&lt;localized hint=&quot;アーマー活性化チャージ&quot;&gt;Armor Energizing Charge*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"600\" slot=\"cargo\" type=\"&lt;localized hint=&quot;高速リペアチャージ&quot;&gt;Rapid Repair Charge*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"600\" slot=\"cargo\" type=\"&lt;localized hint=&quot;アーマー強化チャージ&quot;&gt;Armor Reinforcement Charge*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;アーマーコマンドバースト2&quot;&gt;Armor Command Burst II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;アーマーコマンドバースト2&quot;&gt;Armor Command Burst II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;アーマーコマンドバースト2&quot;&gt;Armor Command Burst II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コマンドプロセッサ1&quot;&gt;Medium Command Processor I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コマンドプロセッサ1&quot;&gt;Medium Command Processor I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"- warlink ship for TA edit(expensive\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ドレイク&quot;&gt;Drake*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"108\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージヘビーミサイル&quot;&gt;Scourge Heavy Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;シールドリチャージャーII&quot;&gt;Shield Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;シールドパワーリレーII&quot;&gt;Shield Power Relay II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コアラムC型50MNマイクロワープドライブ&quot;&gt;Corelum C-Type 50MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーII&quot;&gt;Medium Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"300\" slot=\"cargo\" type=\"&lt;localized hint=&quot;アーマー活性化チャージ&quot;&gt;Armor Energizing Charge*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"300\" slot=\"cargo\" type=\"&lt;localized hint=&quot;高速リペアチャージ&quot;&gt;Rapid Repair Charge*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"300\" slot=\"cargo\" type=\"&lt;localized hint=&quot;アーマー強化チャージ&quot;&gt;Armor Reinforcement Charge*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;アーマーコマンドバースト2&quot;&gt;Armor Command Burst II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;アーマーコマンドバースト2&quot;&gt;Armor Command Burst II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;アーマーコマンドバースト2&quot;&gt;Armor Command Burst II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コマンドプロセッサ1&quot;&gt;Medium Command Processor I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コマンドプロセッサ1&quot;&gt;Medium Command Processor I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"- warlink ship for TA test\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ドレイク&quot;&gt;Drake*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2148\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージヘビーミサイル&quot;&gt;Scourge Heavy Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;シールドリチャージャーII&quot;&gt;Shield Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;シールドパワーリレーII&quot;&gt;Shield Power Relay II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドII&quot;&gt;Adaptive Invulnerability Field II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドII&quot;&gt;Adaptive Invulnerability Field II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"600\" slot=\"cargo\" type=\"&lt;localized hint=&quot;アーマー活性化チャージ&quot;&gt;Armor Energizing Charge*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"600\" slot=\"cargo\" type=\"&lt;localized hint=&quot;高速リペアチャージ&quot;&gt;Rapid Repair Charge*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"600\" slot=\"cargo\" type=\"&lt;localized hint=&quot;アーマー強化チャージ&quot;&gt;Armor Reinforcement Charge*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;アーマーコマンドバースト2&quot;&gt;Armor Command Burst II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;アーマーコマンドバースト2&quot;&gt;Armor Command Burst II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;アーマーコマンドバースト2&quot;&gt;Armor Command Burst II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コマンドプロセッサ1&quot;&gt;Medium Command Processor I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コマンドプロセッサ1&quot;&gt;Medium Command Processor I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"-- Spd 10000m/s over\">\n\t\t\t<description value=\"slot 6 に power grid management EG-605 必須\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ドラミエル&quot;&gt;Dramiel*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;キャパシタリチャージャーII&quot;&gt;Cap Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;キャパシタリチャージャーII&quot;&gt;Cap Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;キャパシタリチャージャーII&quot;&gt;Cap Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;50MNデジタルブースターマイクロワープドライブ&quot;&gt;50MN Digital Booster Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"623\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ナノマシンリペアペイスト&quot;&gt;Nanite Repair Paste*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型補助カレントルーターI&quot;&gt;Small Ancillary Current Router I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型補助カレントルーターI&quot;&gt;Small Ancillary Current Router I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型補助カレントルーターII&quot;&gt;Small Ancillary Current Router II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;海軍仕様超小型補助パワーコア&quot;&gt;Navy Micro Auxiliary Power Core*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;海軍仕様超小型補助パワーコア&quot;&gt;Navy Micro Auxiliary Power Core*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;海軍仕様超小型補助パワーコア&quot;&gt;Navy Micro Auxiliary Power Core*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"-- for TA\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ワーム&quot;&gt;Worm*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ライトミサイルランチャーII&quot;&gt;Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ライトミサイルランチャーII&quot;&gt;Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ライトミサイルランチャーII&quot;&gt;Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;パイサムA型 自動調整防御フィールド&quot;&gt;Pithum A-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;ジスタムC型サーマル放散増幅装置&quot;&gt;Gistum C-Type Thermal Dissipation Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型「キャニオン」シールドエクステンダー&quot;&gt;Medium 'Canyon' Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"159\" slot=\"cargo\" type=\"&lt;localized hint=&quot;インフェルノフューリーライトミサイル&quot;&gt;Inferno Fury Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型補助カレントルーターII&quot;&gt;Small Ancillary Current Router II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型対EMスクリーンレインフォーサーII&quot;&gt;Small Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーII&quot;&gt;Small Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;センティエントドローンダメージ増幅器&quot;&gt;Sentient Drone Damage Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;センティエントドローンダメージ増幅器&quot;&gt;Sentient Drone Damage Amplifier*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"-- super long range (railgun T2\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;イーグル&quot;&gt;Eagle*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;センサーブースターII&quot;&gt;Sensor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;センサーブースターII&quot;&gt;Sensor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;トラッキングコンピューターII&quot;&gt;Tracking Computer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;トラッキングコンピューターII&quot;&gt;Tracking Computer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;250mmレールガンII&quot;&gt;250mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;250mmレールガンII&quot;&gt;250mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;250mmレールガンII&quot;&gt;250mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;250mmレールガンII&quot;&gt;250mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;250mmレールガンII&quot;&gt;250mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;50MNマイクロワープドライブII&quot;&gt;50MN Microwarpdrive II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"400\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スパイク弾M&quot;&gt;Spike M*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"4\" slot=\"cargo\" type=\"&lt;localized hint=&quot;最適射程距離スクリプト&quot;&gt;Optimal Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"4\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ターゲット範囲スクリプト&quot;&gt;Targeting Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーII&quot;&gt;Medium Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーII&quot;&gt;Medium Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;共和国海軍仕様大型シールドエクステンダー&quot;&gt;Republic Fleet Large Shield Extender*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"-- super short range (for TA\">\n\t\t\t<description value=\"blaster に変えただけ\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;イーグル&quot;&gt;Eagle*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;センサーブースターII&quot;&gt;Sensor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;センサーブースターII&quot;&gt;Sensor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;トラッキングコンピューターII&quot;&gt;Tracking Computer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;トラッキングコンピューターII&quot;&gt;Tracking Computer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ヘビー中性子ブラスターII&quot;&gt;Heavy Neutron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ヘビー中性子ブラスターII&quot;&gt;Heavy Neutron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ヘビー中性子ブラスターII&quot;&gt;Heavy Neutron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;ヘビー中性子ブラスターII&quot;&gt;Heavy Neutron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;ヘビー中性子ブラスターII&quot;&gt;Heavy Neutron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ヌル弾M&quot;&gt;Null M*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2400\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ボイド弾M&quot;&gt;Void M*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;連邦海軍仕様アンチマター弾M&quot;&gt;Federation Navy Antimatter Charge M*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"cargo\" type=\"&lt;localized hint=&quot;最適射程距離スクリプト&quot;&gt;Optimal Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ターゲット範囲スクリプト&quot;&gt;Targeting Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーII&quot;&gt;Medium Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーII&quot;&gt;Medium Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;共和国海軍仕様大型シールドエクステンダー&quot;&gt;Republic Fleet Large Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;50MN Y-T8コンパクトマイクロワープドライブ&quot;&gt;50MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"140915 防御重視\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;プロキュアラー&quot;&gt;Procurer*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドI&quot;&gt;Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;EM防御増幅器I&quot;&gt;EM Ward Amplifier I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"4\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;アコライトI&quot;&gt;Acolyte I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッドサーマル放散フィールド1&quot;&gt;Limited Thermal Dissipation Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"4\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;採掘専門ドローンI&quot;&gt;Mining Drone I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ストリップマイナーI&quot;&gt;Strip Miner I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;採掘レーザー強化I&quot;&gt;Mining Laser Upgrade I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーI&quot;&gt;Medium Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型ポリカーボンエンジンハウジングI&quot;&gt;Medium Polycarbon Engine Housing I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型キャパシタ制御回路I&quot;&gt;Medium Capacitor Control Circuit I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141010 Crichan\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;クリオス&quot;&gt;Kryos*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ローカル船体改造ナノファイバー構造I&quot;&gt;Local Hull Conversion Nanofiber Structure I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型補助スクリーンスタビライザーI&quot;&gt;Medium Subordinate Screen Stabilizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;中型補助スクリーンスタビライザーI&quot;&gt;Medium Subordinate Screen Stabilizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;10MNアフターバーナーI&quot;&gt;10MN Afterburner I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーI&quot;&gt;Medium Anti-EM Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーI&quot;&gt;Medium Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドエクステンダーI&quot;&gt;Medium Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141011 tonny's venture\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ベンチャー&quot;&gt;Venture*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;採掘機II&quot;&gt;Miner II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;採掘機II&quot;&gt;Miner II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;F-b10ノミナルキャパシタリジェネレーター&quot;&gt;F-b10 Nominal Capacitor Regenerator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;1MN単一推進剤耐久型アフターバーナー&quot;&gt;1MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ML-3スコープ調査スキャナー&quot;&gt;ML-3 Scoped Survey Scanner*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;採掘専門ドローンI&quot;&gt;Mining Drone I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;採掘レーザー強化I&quot;&gt;Mining Laser Upgrade I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;小型トラクタービームI&quot;&gt;Small Tractor Beam I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーI&quot;&gt;Small Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型対EMスクリーンレインフォーサーI&quot;&gt;Small Anti-EM Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型横隔壁I&quot;&gt;Small Transverse Bulkhead I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141024 deadevi [low cost]\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;デアデビル&quot;&gt;Daredevil*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"3298\" slot=\"cargo\" type=\"&lt;localized hint=&quot;プルトニウム弾S&quot;&gt;Plutonium Charge S*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;アンチマター弾S&quot;&gt;Antimatter Charge S*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;1MNアフターバーナーII&quot;&gt;1MN Afterburner II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;X5持続型ステイシスウェビファイヤー&quot;&gt;X5 Enduring Stasis Webifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;光学式コンパクト追跡コンピューター&quot;&gt;Optical Compact Tracking Computer*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;モーダル小型中性子粒子加速器I&quot;&gt;Modal Light Neutron Particle Accelerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;モーダル小型中性子粒子加速器I&quot;&gt;Modal Light Neutron Particle Accelerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;100mm タングステンロール コンパクトプレート&quot;&gt;100mm Rolled Tungsten Compact Plates*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;連邦海軍仕様プルトニウム弾S&quot;&gt;Federation Navy Plutonium Charge S*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"136\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ナノマシンリペアペイスト&quot;&gt;Nanite Repair Paste*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;最適射程距離スクリプト&quot;&gt;Optimal Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型トライマークアーマーポンプI&quot;&gt;Small Trimark Armor Pump I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型半導体メモリーセルI&quot;&gt;Small Semiconductor Memory Cell I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型ハイブリッドバーストエアレーターI&quot;&gt;Small Hybrid Burst Aerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;小型補助アーマーリペアラ&quot;&gt;Small Ancillary Armor Repairer*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141030 XProcurer update\">\n\t\t\t<description value=\"以前は Rig にワープ速度向上のものをつけていたが&lt;br&gt;いざというときのKMIKAZE 対策として、シールド容量増加に付け替えた\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;プロキュアラー&quot;&gt;Procurer*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"3\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンI&quot;&gt;Hobgoblin I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;ML-3スコープ調査スキャナー&quot;&gt;ML-3 Scoped Survey Scanner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;強化型EM防御増幅器I&quot;&gt;Upgraded EM Ward Amplifier I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;採掘専門ドローンI&quot;&gt;Mining Drone I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ストリップマイナーI&quot;&gt;Strip Miner I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;採掘レーザー強化II&quot;&gt;Mining Laser Upgrade II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;採掘レーザー強化II&quot;&gt;Mining Laser Upgrade II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ポリカーボンエンジンハウジングI&quot;&gt;Medium Polycarbon Engine Housing I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーI&quot;&gt;Medium Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドエクステンダーI&quot;&gt;Medium Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141030 tristan hull tank\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;トリスタン&quot;&gt;Tristan*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ナノ対応プレートII&quot;&gt;Adaptive Nano Plating II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンI&quot;&gt;Hobgoblin I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ワープ妨害器II&quot;&gt;Warp Disruptor II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;一時的コンパクトステイシスウェビファイヤー&quot;&gt;Fleeting Compact Stasis Webifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;小型ディミッシングパワーシステムドレインI&quot;&gt;Small Diminishing Power System Drain I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;1MN単一推進剤耐久型アフターバーナー&quot;&gt;1MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;小型モーダルイオン粒子加速器I&quot;&gt;Modal Light Ion Particle Accelerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;小型モーダルイオン粒子加速器I&quot;&gt;Modal Light Ion Particle Accelerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;200mm タングステンロール コンパクトプレート&quot;&gt;200mm Rolled Tungsten Compact Plates*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"240\" slot=\"cargo\" type=\"&lt;localized hint=&quot;連邦海軍仕様プルトニウム弾S&quot;&gt;Federation Navy Plutonium Charge S*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型トライマークアーマーポンプI&quot;&gt;Small Trimark Armor Pump I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型補助カレントルーターI&quot;&gt;Small Ancillary Current Router I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ハイブリッドバーストエアレーターI&quot;&gt;Small Hybrid Burst Aerator I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141116 Myrmidon test\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ミュルミドン&quot;&gt;Myrmidon*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"200\" slot=\"cargo\" type=\"&lt;localized hint=&quot;アンチマター弾M&quot;&gt;Antimatter Charge M*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;X5持続型ステイシスウェビファイヤー&quot;&gt;X5 Enduring Stasis Webifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;50MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;50MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;250mmプロトタイプガウスガン&quot;&gt;250mm Prototype Gauss Gun*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;250mmプロトタイプガウスガン&quot;&gt;250mm Prototype Gauss Gun*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;250mmプロトタイプガウスガン&quot;&gt;250mm Prototype Gauss Gun*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;250mmプロトタイプガウスガン&quot;&gt;250mm Prototype Gauss Gun*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;250mmプロトタイプガウスガン&quot;&gt;250mm Prototype Gauss Gun*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;中型C5-L緊急シールドオーバーロードI&quot;&gt;Medium C5-L Emergency Shield Overload I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ベスパI&quot;&gt;Vespa I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーI&quot;&gt;Medium Anti-EM Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドエクステンダーI&quot;&gt;Medium Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドエクステンダーI&quot;&gt;Medium Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141118 Caratch AB仕様\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;カラカル&quot;&gt;Caracal*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"967\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージヘビーミサイル&quot;&gt;Scourge Heavy Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;F85プリフィーラルダメージシステムI&quot;&gt;F85 Peripheral Damage System I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;強化型EM防御増幅器I&quot;&gt;Upgraded EM Ward Amplifier I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーI&quot;&gt;Medium Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141118 Caratch MWD仕様\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;カラカル&quot;&gt;Caracal*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"175\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージヘビーミサイル&quot;&gt;Scourge Heavy Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;F85プリフィーラルダメージシステムI&quot;&gt;F85 Peripheral Damage System I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;50MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;50MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型共沸性抑制型シールド拡張器&quot;&gt;Medium Azeotropic Restrained Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;強化型EM防御増幅器I&quot;&gt;Upgraded EM Ward Amplifier I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーI&quot;&gt;Medium Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141118 test fit\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;カラカル&quot;&gt;Caracal*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2175\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージヘビーミサイル&quot;&gt;Scourge Heavy Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;スードエレクトロンコンテインメントフィールドI&quot;&gt;Pseudoelectron Containment Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;M51ベネファクター・コンパクトシールドリチャージャー&quot;&gt;M51 Benefactor Compact Shield Recharger*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーI&quot;&gt;Medium Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141118 test fit2\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;カラカル&quot;&gt;Caracal*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2175\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージヘビーミサイル&quot;&gt;Scourge Heavy Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;スードエレクトロンコンテインメントフィールドI&quot;&gt;Pseudoelectron Containment Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;強化型EM防御増幅器I&quot;&gt;Upgraded EM Ward Amplifier I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーI&quot;&gt;Medium Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141122 PassiveDrake for TA DPS206@AB+\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ドレイク&quot;&gt;Drake*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;IFFAコンパクトダメージコントロール&quot;&gt;IFFA Compact Damage Control*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;M51ベネファクター・コンパクトシールドリチャージャー&quot;&gt;M51 Benefactor Compact Shield Recharger*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2342\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージヘビーアサルトミサイル&quot;&gt;Scourge Heavy Assault Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターI&quot;&gt;Drone Link Augmentor I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;XT-2800 ヘビーアサルトミサイルランチャー試験機&quot;&gt;Experimental XT-2800 Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;XT-2800 ヘビーアサルトミサイルランチャー試験機&quot;&gt;Experimental XT-2800 Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;XT-2800 ヘビーアサルトミサイルランチャー試験機&quot;&gt;Experimental XT-2800 Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;XT-2800 ヘビーアサルトミサイルランチャー試験機&quot;&gt;Experimental XT-2800 Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;XT-2800 ヘビーアサルトミサイルランチャー試験機&quot;&gt;Experimental XT-2800 Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;XT-2800 ヘビーアサルトミサイルランチャー試験機&quot;&gt;Experimental XT-2800 Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;「統合型」ホブゴブリン&quot;&gt;'Integrated' Hobgoblin*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーI&quot;&gt;Medium Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141122 Purchase spec\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;イミュカス&quot;&gt;Imicus*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;カーゴ容量追加II&quot;&gt;Expanded Cargohold II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;小型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Small F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;強化型EM防御増幅器I&quot;&gt;Upgraded EM Ward Amplifier I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ遮蔽装置I&quot;&gt;Prototype Cloaking Device I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーI&quot;&gt;Small Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーI&quot;&gt;Small Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型ポリカーボンエンジンハウジングI&quot;&gt;Small Polycarbon Engine Housing I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141124 Caratch vsSansha\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;カラカル&quot;&gt;Caracal*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;スードエレクトロンコンテインメントフィールドI&quot;&gt;Pseudoelectron Containment Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;強化型EM防御増幅器I&quot;&gt;Upgraded EM Ward Amplifier I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;強化型EM防御増幅器I&quot;&gt;Upgraded EM Ward Amplifier I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;中型クラリティウォードブースターI&quot;&gt;Medium Clarity Ward Booster I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1485\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ミョルニールヘビーアサルトミサイル&quot;&gt;Mjolnir Heavy Assault Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;XT-2800 ヘビーアサルトミサイルランチャー試験機&quot;&gt;Experimental XT-2800 Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;XT-2800 ヘビーアサルトミサイルランチャー試験機&quot;&gt;Experimental XT-2800 Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;XT-2800 ヘビーアサルトミサイルランチャー試験機&quot;&gt;Experimental XT-2800 Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;XT-2800 ヘビーアサルトミサイルランチャー試験機&quot;&gt;Experimental XT-2800 Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;XT-2800 ヘビーアサルトミサイルランチャー試験機&quot;&gt;Experimental XT-2800 Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーI&quot;&gt;Medium Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141126 隠密輸送艦 edit\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ビアトール&quot;&gt;Viator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Medium F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド「アノインティッド」EM防御フィールド&quot;&gt;Limited 'Anointed' EM Ward Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーI&quot;&gt;Medium Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーI&quot;&gt;Medium Anti-EM Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141201 Viatch AER tank\">\n\t\t\t<description value=\"&lt;font size=&quot;12&quot; color=&quot;#bfffffff&quot;&gt;シールド強化を L5 まで伸ばすことで、&lt;br&gt;&lt;/font&gt;&lt;font size=&quot;12&quot; color=&quot;#ffffa600&quot;&gt;&lt;loc&gt;&lt;a href=&quot;showinfo:8529&quot;&gt;Large F-S9 Regolith Shield Induction&lt;/a&gt;&lt;/loc&gt;&lt;/font&gt;&lt;font size=&quot;12&quot; color=&quot;#bfffffff&quot;&gt; がつめるようになる&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;font size=&quot;12&quot; color=&quot;#ffffa600&quot;&gt;&lt;a href=&quot;showinfo:31360&quot;&gt;中型補助カレントルーターI*&lt;/a&gt;&lt;/font&gt;&lt;font size=&quot;12&quot; color=&quot;#bfffffff&quot;&gt; も必須&lt;/font&gt;\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ビアトール&quot;&gt;Viator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型補助カレントルーターI&quot;&gt;Medium Ancillary Current Router I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーI&quot;&gt;Medium Anti-EM Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141201 Viatch AER tank2\">\n\t\t\t<description value=\"特化型輸送艦 L5 必須 (tonny andre)&lt;br&gt;拡張型プローブランチャーを乗せることが出来る\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ビアトール&quot;&gt;Viator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型プロセッサーオーバークロックユニットI&quot;&gt;Medium Processor Overclocking Unit I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;スードエレクトロンコンテインメントフィールドI&quot;&gt;Pseudoelectron Containment Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;フォトニック改良型コプロセッサ&quot;&gt;Photonic Upgraded Co-Processor*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ビガー小型マイクロ補助パワーコア&quot;&gt;Vigor Compact Micro Auxiliary Power Core*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;拡張型プローブランチャーI&quot;&gt;Expanded Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;戦闘スキャナープローブI&quot;&gt;Combat Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーI&quot;&gt;Medium Anti-EM Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141201 Viatch AER tank3\">\n\t\t\t<description value=\"シールドエクステンダーを medium としたことで、&lt;br&gt;特化型輸送艦 L3 で条件をクリア&lt;br&gt;&lt;br&gt;tank2 のダウングレード版\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ビアトール&quot;&gt;Viator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型プロセッサーオーバークロックユニットI&quot;&gt;Medium Processor Overclocking Unit I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;スードエレクトロンコンテインメントフィールドI&quot;&gt;Pseudoelectron Containment Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Medium F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;フォトニック改良型コプロセッサ&quot;&gt;Photonic Upgraded Co-Processor*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;フォトニック改良型コプロセッサ&quot;&gt;Photonic Upgraded Co-Processor*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;拡張型プローブランチャーI&quot;&gt;Expanded Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;戦闘スキャナープローブI&quot;&gt;Combat Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーI&quot;&gt;Medium Anti-EM Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141203 Caratch More Shield Tank\">\n\t\t\t<description value=\"パワーグリッド管理 max、高度兵器強化 max&lt;br&gt;シールド強化 max\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;カラカル&quot;&gt;Caracal*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;スードエレクトロンコンテインメントフィールドI&quot;&gt;Pseudoelectron Containment Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;中型C5-L緊急シールドオーバーロードI&quot;&gt;Medium C5-L Emergency Shield Overload I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ミョルニールヘビーアサルトミサイル&quot;&gt;Mjolnir Heavy Assault Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2527\" slot=\"cargo\" type=\"&lt;localized hint=&quot;インフェルノヘビーアサルトミサイル&quot;&gt;Inferno Heavy Assault Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型ロケット燃料庫パーティションI&quot;&gt;Medium Rocket Fuel Cache Partition I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーI&quot;&gt;Medium Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141203 Caratch Shield Tank\">\n\t\t\t<description value=\"パワーグリッド管理 L4\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;カラカル&quot;&gt;Caracal*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;スードエレクトロンコンテインメントフィールドI&quot;&gt;Pseudoelectron Containment Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Medium F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;リミテッドキネティック偏向フィールドI&quot;&gt;Limited Kinetic Deflection Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッドサーマル放散フィールド1&quot;&gt;Limited Thermal Dissipation Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2300\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ミョルニールヘビーアサルトミサイル&quot;&gt;Mjolnir Heavy Assault Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2527\" slot=\"cargo\" type=\"&lt;localized hint=&quot;インフェルノヘビーアサルトミサイル&quot;&gt;Inferno Heavy Assault Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型ロケット燃料庫パーティションI&quot;&gt;Medium Rocket Fuel Cache Partition I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーI&quot;&gt;Medium Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"141230 condorer\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;コンドール&quot;&gt;Condor*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"3135\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージロケット&quot;&gt;Scourge Rocket*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;小型電子化合キャパシタブースターI&quot;&gt;Small Electrochemical Capacitor Booster I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;小型C5-L緊急シールドオーバーロードI&quot;&gt;Small C5-L Emergency Shield Overload I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"cargo\" type=\"&lt;localized hint=&quot;キャップブースター150&quot;&gt;Cap Booster 150*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;「アルバレスト」ロケットランチャーI&quot;&gt;'Arbalest' Rocket Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;「アルバレスト」ロケットランチャーI&quot;&gt;'Arbalest' Rocket Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;「アルバレスト」ロケットランチャーI&quot;&gt;'Arbalest' Rocket Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;民間人仕様サルベージャー&quot;&gt;Civilian Salvager*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型油圧式ベイスラスターI&quot;&gt;Small Hydraulic Bay Thrusters I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型ロケット燃料庫パーティションI&quot;&gt;Small Rocket Fuel Cache Partition I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーI&quot;&gt;Small Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"150115 標準装備\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;オカター&quot;&gt;Occator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;追加隔壁II&quot;&gt;Reinforced Bulkheads II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;追加隔壁II&quot;&gt;Reinforced Bulkheads II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;中型電子化合キャパシタブースターI&quot;&gt;Medium Electrochemical Capacitor Booster I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;50MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;50MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"102\" slot=\"cargo\" type=\"&lt;localized hint=&quot;キャップブースター400&quot;&gt;Cap Booster 400*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ遮蔽装置I&quot;&gt;Prototype Cloaking Device I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;「ヒュプノス」多重周波数ECM I&quot;&gt;'Hypnos' Multispectral ECM I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型横隔壁I&quot;&gt;Medium Transverse Bulkhead I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型横隔壁I&quot;&gt;Medium Transverse Bulkhead I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"150118 TCorax cheap\">\n\t\t\t<description value=\"&lt;font size=&quot;12&quot; color=&quot;#bfffffff&quot;&gt;Need &lt;/font&gt;&lt;font size=&quot;12&quot; color=&quot;#ffffa600&quot;&gt;&lt;loc&gt;&lt;a href=&quot;showinfo:3318&quot;&gt;Weapon upgrade&lt;/a&gt;&lt;/loc&gt;&lt;/font&gt;&lt;font size=&quot;12&quot; color=&quot;#bfffffff&quot;&gt; L5,&lt;br&gt;&lt;/font&gt;&lt;font size=&quot;12&quot; color=&quot;#ffffa600&quot;&gt;&lt;loc&gt;&lt;a href=&quot;showinfo:11207&quot;&gt;Advanced Weapon Upgrade&lt;/a&gt;&lt;/loc&gt;&lt;/font&gt;&lt;font size=&quot;12&quot; color=&quot;#bfffffff&quot;&gt; L1&lt;/font&gt;\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;コラックス&quot;&gt;Corax*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージライトミサイル&quot;&gt;Scourge Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;小型C5-L緊急シールドオーバーロードI&quot;&gt;Small C5-L Emergency Shield Overload I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;小型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Small F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型プロセッサーオーバークロックユニットI&quot;&gt;Small Processor Overclocking Unit I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"290\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様スコージライトミサイル&quot;&gt;Caldari Navy Scourge Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型補助カレントルーターI&quot;&gt;Small Ancillary Current Router I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーI&quot;&gt;Small Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"150224 襲撃対策\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ビアトール&quot;&gt;Viator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドII&quot;&gt;Adaptive Invulnerability Field II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;シャドウサーペンティス電磁加工エクスプローシブ装甲&quot;&gt;Shadow Serpentis Energized Explosive Membrane*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;シャドウサーペンティス電磁加工エクスプローシブ装甲&quot;&gt;Shadow Serpentis Energized Explosive Membrane*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーI&quot;&gt;Medium Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型補助カレントルーターI&quot;&gt;Medium Ancillary Current Router I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"161225 current\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ホーク&quot;&gt;Hawk*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;キャパシタリチャージャーII&quot;&gt;Cap Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型シールドエクステンダーII&quot;&gt;Medium Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;5MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;5MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;マークI小型リアクター制御装置&quot;&gt;Mark I Compact Reactor Control Unit*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;ジスティAタイプ小型シールドブースター&quot;&gt;Gistii A-Type Small Shield Booster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"200\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージレイジロケット&quot;&gt;Scourge Rage Rocket*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型対EMスクリーンレインフォーサーII&quot;&gt;Small Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"161226 CDuor\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;コンドール&quot;&gt;Condor*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1488\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージライトミサイル&quot;&gt;Scourge Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;キャパシタリチャージャーII&quot;&gt;Cap Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドII&quot;&gt;Adaptive Invulnerability Field II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ライトミサイルランチャーII&quot;&gt;Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ライトミサイルランチャーII&quot;&gt;Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ライトミサイルランチャーII&quot;&gt;Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;1MN単一推進剤耐久型アフターバーナー&quot;&gt;1MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;小型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Small F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2135\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージフューリーライトミサイル&quot;&gt;Scourge Fury Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型油圧式ベイスラスターI&quot;&gt;Small Hydraulic Bay Thrusters I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ロケット燃料庫パーティションI&quot;&gt;Small Rocket Fuel Cache Partition I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーI&quot;&gt;Small Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"161226 COP(サルベージ\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;イミュカス&quot;&gt;Imicus*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;カーゴ容量追加II&quot;&gt;Expanded Cargohold II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"4\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンI&quot;&gt;Hobgoblin I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;小型共晶合金キャパシタリチャージャー&quot;&gt;Eutectic Compact Cap Recharger*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;1MN単一推進剤耐久型アフターバーナー&quot;&gt;1MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;PL-0スコープカーゴスキャナー&quot;&gt;PL-0 Scoped Cargo Scanner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;小型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Small F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;小型トラクタービームI&quot;&gt;Small Tractor Beam I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;サルベージャーI&quot;&gt;Salvager I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;サルベージャーI&quot;&gt;Salvager I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型サルベージタックルI&quot;&gt;Small Salvage Tackle I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型サルベージタックルI&quot;&gt;Small Salvage Tackle I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型サルベージタックルI&quot;&gt;Small Salvage Tackle I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"4\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"161226 Caratch\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;カラカル&quot;&gt;Caracal*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンI&quot;&gt;Hobgoblin I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;リミテッドキネティック偏向フィールドI&quot;&gt;Limited Kinetic Deflection Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;リミテッドサーマル放散フィールド1&quot;&gt;Limited Thermal Dissipation Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2300\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージヘビーアサルトミサイル&quot;&gt;Scourge Heavy Assault Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」ヘビーアサルトミサイルランチャーI&quot;&gt;Prototype 'Arbalest' Heavy Assault Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ロケット燃料庫パーティションI&quot;&gt;Medium Rocket Fuel Cache Partition I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーI&quot;&gt;Medium Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"161226 a+\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;オカター&quot;&gt;Occator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;キャパシタリチャージャーII&quot;&gt;Cap Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;中型アーマーリペアラII&quot;&gt;Medium Armor Repairer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;Dタイプ抑制型慣性スタビライザー&quot;&gt;Type-D Restrained Inertial Stabilizers*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;50MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;50MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;中型コンパクトPb酸キャパシタバッテリー&quot;&gt;Medium Compact Pb-Acid Cap Battery*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;プロトタイプ遮蔽装置I&quot;&gt;Prototype Cloaking Device I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;コアリAタイプナノ対応プレート&quot;&gt;Coreli A-Type Adaptive Nano Plating*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーII&quot;&gt;Medium Hyperspatial Velocity Optimizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーII&quot;&gt;Medium Hyperspatial Velocity Optimizer II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"161226 a+(moreAR\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;オカター&quot;&gt;Occator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;キャパシタリチャージャーII&quot;&gt;Cap Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;中型アーマーリペアラII&quot;&gt;Medium Armor Repairer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;Dタイプ抑制型慣性スタビライザー&quot;&gt;Type-D Restrained Inertial Stabilizers*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;50MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;50MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;中型コンパクトPb酸キャパシタバッテリー&quot;&gt;Medium Compact Pb-Acid Cap Battery*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;プロトタイプ遮蔽装置I&quot;&gt;Prototype Cloaking Device I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;シャドウサーペンティスアーマーエクスプローシブハードナー&quot;&gt;Shadow Serpentis Armor Explosive Hardener*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;コアリAタイプナノ対応プレート&quot;&gt;Coreli A-Type Adaptive Nano Plating*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;コアリAタイプEMプレート&quot;&gt;Coreli A-Type EM Plating*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーII&quot;&gt;Medium Hyperspatial Velocity Optimizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーII&quot;&gt;Medium Hyperspatial Velocity Optimizer II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"161226 explorer for tonny\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;イミュカス&quot;&gt;Imicus*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;「リフュージ」ナノ対応プレートI&quot;&gt;'Refuge' Adaptive Nano Plating I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;「リフュージ」ナノ対応プレートI&quot;&gt;'Refuge' Adaptive Nano Plating I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;データアナライザーI&quot;&gt;Data Analyzer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;遺物アナライザーI&quot;&gt;Relic Analyzer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;シスターコアスキャナープローブ&quot;&gt;Sisters Core Scanner Probe*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型重力キャパシタ強化I&quot;&gt;Small Gravity Capacitor Upgrade I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型重力キャパシタ強化I&quot;&gt;Small Gravity Capacitor Upgrade I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;スキャン距離測定アレイI&quot;&gt;Scan Rangefinding Array I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"161226 for TA\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;アステロ&quot;&gt;Astero*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホーネットII&quot;&gt;Hornet II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;200mm クリスタルインカーボナイド固定式プレート&quot;&gt;200mm Crystalline Carbonide Restrained Plates*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;コアリAタイプナノ対応プレート&quot;&gt;Coreli A-Type Adaptive Nano Plating*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;コアリAタイプ小型アーマーリペアラ&quot;&gt;Coreli A-Type Small Armor Repairer*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コレリA型5MNマイクロワープドライブ&quot;&gt;Coreli A-Type 5MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;データアナライザーI&quot;&gt;Data Analyzer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;遺物アナライザーI&quot;&gt;Relic Analyzer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"16\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型重力キャパシタ強化I&quot;&gt;Small Gravity Capacitor Upgrade I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型補助カレントルーターI&quot;&gt;Small Ancillary Current Router I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーI&quot;&gt;Small Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;スキャン距離測定アレイI&quot;&gt;Scan Rangefinding Array I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"161226 gigant\">\n\t\t\t<description value=\"休止中に弱体化があり、low slot が 4 &amp;gt; 3 になっていた\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ギラ&quot;&gt;Gila*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1968\" slot=\"cargo\" type=\"&lt;localized hint=&quot;インフェルノライトミサイル&quot;&gt;Inferno Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;高速ライトミサイルランチャーII&quot;&gt;Rapid Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;高速ライトミサイルランチャーII&quot;&gt;Rapid Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;高速ライトミサイルランチャーII&quot;&gt;Rapid Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;高速ライトミサイルランチャーII&quot;&gt;Rapid Light Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;インフィルトレイターII&quot;&gt;Infiltrator II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ハンマーヘッドII&quot;&gt;Hammerhead II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;Dタイプ抑制型シールドパワーリレー&quot;&gt;Type-D Restrained Shield Power Relay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コーレラムCタイプ10MNアフターバーナー&quot;&gt;Corelum C-Type 10MN Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;パイサムC型サーマル放散増幅装置&quot;&gt;Pithum C-Type Thermal Dissipation Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ベスパII&quot;&gt;Vespa II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターII&quot;&gt;Drone Link Augmentor II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様ベスパ&quot;&gt;Caldari Navy Vespa*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"4\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;センティエントドローン航行用コンピュータ&quot;&gt;Sentient Drone Navigation Computer*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"161226 hk\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ホーク&quot;&gt;Hawk*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1912\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージロケット&quot;&gt;Scourge Rocket*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;キャパシタリチャージャーII&quot;&gt;Cap Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型シールドエクステンダーII&quot;&gt;Medium Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;5MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;5MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;マークI小型リアクター制御装置&quot;&gt;Mark I Compact Reactor Control Unit*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;ジスティAタイプ小型シールドブースター&quot;&gt;Gistii A-Type Small Shield Booster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2200\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージレイジロケット&quot;&gt;Scourge Rage Rocket*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型キャパシタ制御回路I&quot;&gt;Small Capacitor Control Circuit I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型対EMスクリーンレインフォーサーII&quot;&gt;Small Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"161226 mc\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;マンティコア&quot;&gt;Manticore*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2108\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージトルピード&quot;&gt;Scourge Torpedo*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;小型シールドエクステンダーII&quot;&gt;Small Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドI&quot;&gt;Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;5MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;5MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」トルピードランチャー&quot;&gt;Prototype 'Arbalest' Torpedo Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」トルピードランチャー&quot;&gt;Prototype 'Arbalest' Torpedo Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」トルピードランチャー&quot;&gt;Prototype 'Arbalest' Torpedo Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ベイローディングアクセラレーターII&quot;&gt;Small Bay Loading Accelerator II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型弾頭リガーカタリストI&quot;&gt;Small Warhead Rigor Catalyst I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"161226 Purchase spec\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;アトロン&quot;&gt;Atron*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;Dタイプ抑制型慣性スタビライザー&quot;&gt;Type-D Restrained Inertial Stabilizers*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;Dタイプ抑制型慣性スタビライザー&quot;&gt;Type-D Restrained Inertial Stabilizers*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;Dタイプ抑制型慣性スタビライザー&quot;&gt;Type-D Restrained Inertial Stabilizers*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型共沸性抑制型シールド拡張器&quot;&gt;Medium Azeotropic Restrained Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーI&quot;&gt;Small Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーI&quot;&gt;Small Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ポリカーボンエンジンハウジングI&quot;&gt;Small Polycarbon Engine Housing I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"@expensive fit\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;マンティコア&quot;&gt;Manticore*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2108\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージトルピード&quot;&gt;Scourge Torpedo*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;パイサムA型 自動調整防御フィールド&quot;&gt;Pithum A-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;パイサムA型 自動調整防御フィールド&quot;&gt;Pithum A-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;共和国海軍仕様弾道制御装置&quot;&gt;Republic Fleet Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;共和国海軍仕様弾道制御装置&quot;&gt;Republic Fleet Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;共和国海軍仕様トルピードランチャー&quot;&gt;Republic Fleet Torpedo Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;共和国海軍仕様トルピードランチャー&quot;&gt;Republic Fleet Torpedo Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;共和国海軍仕様トルピードランチャー&quot;&gt;Republic Fleet Torpedo Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;「インセプション」ターゲットペインター&quot;&gt;'Inception' Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2120\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様スコージトルピード&quot;&gt;Caldari Navy Scourge Torpedo*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ベイローディングアクセラレーターII&quot;&gt;Small Bay Loading Accelerator II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型弾頭リガーカタリストI&quot;&gt;Small Warhead Rigor Catalyst I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;共和国海軍仕様中型シールドエクステンダー&quot;&gt;Republic Fleet Medium Shield Extender*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Astero T2+Faction DPS252(Lazer\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;アステロ&quot;&gt;Astero*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;小型シールドエクステンダーII&quot;&gt;Small Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;1MNアフターバーナーII&quot;&gt;1MN Afterburner II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドII&quot;&gt;Adaptive Invulnerability Field II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホーネットII&quot;&gt;Hornet II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ウォリアーII&quot;&gt;Warrior II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;小型フォーカスパルスレーザーII&quot;&gt;Small Focused Pulse Laser II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;小型フォーカスパルスレーザーII&quot;&gt;Small Focused Pulse Laser II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;IFFAコンパクトダメージコントロール&quot;&gt;IFFA Compact Damage Control*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;改良型サーマル放散増幅装置1&quot;&gt;Upgraded Thermal Dissipation Amplifier I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコーチ弾S&quot;&gt;Scorch S*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"4\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コンフラグレーション弾S&quot;&gt;Conflagration S*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型エネルギーバーストエアレーターI&quot;&gt;Small Energy Burst Aerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型対EMスクリーンレインフォーサーII&quot;&gt;Small Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーII&quot;&gt;Small Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;連邦海軍仕様ドローンダメージ増幅器&quot;&gt;Federation Navy Drone Damage Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;連邦海軍仕様ドローンダメージ増幅器&quot;&gt;Federation Navy Drone Damage Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;連邦海軍仕様ドローンダメージ増幅器&quot;&gt;Federation Navy Drone Damage Amplifier*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"BW's Sacrilege\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;サクリッジ&quot;&gt;Sacrilege*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;カーゴスキャナーII&quot;&gt;Cargo Scanner II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"330\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージレイジヘビーアサルトミサイル&quot;&gt;Scourge Rage Heavy Assault Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;フェイント スコープワープ妨害器&quot;&gt;Faint Scoped Warp Disruptor*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;50MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;50MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;センタムA型通電式サーマルメンブレン&quot;&gt;Centum A-Type Energized Thermal Membrane*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;セントゥムAタイプ中型アーマーリペアラ&quot;&gt;Centum A-Type Medium Armor Repairer*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ヘビーアサルトミサイルランチャーII&quot;&gt;Heavy Assault Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ヘビーアサルトミサイルランチャーII&quot;&gt;Heavy Assault Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ヘビーアサルトミサイルランチャーII&quot;&gt;Heavy Assault Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;ヘビーアサルトミサイルランチャーII&quot;&gt;Heavy Assault Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;ヘビーアサルトミサイルランチャーII&quot;&gt;Heavy Assault Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;シスターコアプローブランチャー&quot;&gt;Sisters Core Probe Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;シスターコアスキャナープローブ&quot;&gt;Sisters Core Scanner Probe*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;データアナライザーII&quot;&gt;Data Analyzer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ロケット燃料庫パーティションI&quot;&gt;Medium Rocket Fuel Cache Partition I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型弾頭キャルファクションカタリストII&quot;&gt;Medium Warhead Calefaction Catalyst II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Cruise expensive\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;レイブン&quot;&gt;Raven*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ミョルニールクルーズミサイル&quot;&gt;Mjolnir Cruise Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージクルーズミサイル&quot;&gt;Scourge Cruise Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;シグナル増幅器II&quot;&gt;Signal Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;500MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;500MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"28\" slot=\"cargo\" type=\"&lt;localized hint=&quot;キャップブースター400&quot;&gt;Cap Booster 400*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;「アルバレスト」クルーズランチャーI&quot;&gt;'Arbalest' Cruise Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;「アルバレスト」クルーズランチャーI&quot;&gt;'Arbalest' Cruise Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;「アルバレスト」クルーズランチャーI&quot;&gt;'Arbalest' Cruise Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;「アルバレスト」クルーズランチャーI&quot;&gt;'Arbalest' Cruise Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;「アルバレスト」クルーズランチャーI&quot;&gt;'Arbalest' Cruise Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;「アルバレスト」クルーズランチャーI&quot;&gt;'Arbalest' Cruise Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型サーマル放散増幅装置&quot;&gt;Gistum C-Type Thermal Dissipation Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;ジストゥムCタイプキネティック偏向増幅器&quot;&gt;Gistum C-Type Kinetic Deflection Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ベスパII&quot;&gt;Vespa II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターII&quot;&gt;Drone Link Augmentor II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;大型コア防衛フィールドエクステンダーII&quot;&gt;Large Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;大型コア防衛フィールドエクステンダーII&quot;&gt;Large Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;大型コア防衛フィールドエクステンダーII&quot;&gt;Large Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2138\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様スコージクルーズミサイル&quot;&gt;Caldari Navy Scourge Cruise Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 6\" type=\"&lt;localized hint=&quot;超大型補助シールドブースター&quot;&gt;X-Large Ancillary Shield Booster*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Data Relic for RB\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;マグニート&quot;&gt;Magnate*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;ローカル船体改造ナノファイバー構造I&quot;&gt;Local Hull Conversion Nanofiber Structure I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;1MN単一推進剤耐久型アフターバーナー&quot;&gt;1MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;プロトタイプ遮蔽装置I&quot;&gt;Prototype Cloaking Device I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;「リフュージ」ナノ対応プレートI&quot;&gt;'Refuge' Adaptive Nano Plating I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;200mm スチールプレートII&quot;&gt;200mm Steel Plates II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;データアナライザーI&quot;&gt;Data Analyzer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;遺物アナライザーI&quot;&gt;Relic Analyzer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型エミッションスコープシャープナーI&quot;&gt;Small Emission Scope Sharpener I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型メメティックアルゴリズムバンクI&quot;&gt;Small Memetic Algorithm Bank I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Garmur Rocket\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ガルム&quot;&gt;Garmur*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型シールドエクステンダーII&quot;&gt;Medium Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;パイサムA型 自動調整防御フィールド&quot;&gt;Pithum A-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;F-90コンパクトセンサーブースター&quot;&gt;F-90 Compact Sensor Booster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;超小型補助パワーコアI&quot;&gt;Micro Auxiliary Power Core I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様弾道制御装置&quot;&gt;Caldari Navy Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様弾道制御装置&quot;&gt;Caldari Navy Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;ジスティーA型5MNマイクロワープドライブ&quot;&gt;Gistii A-Type 5MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1150\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージレイジロケット&quot;&gt;Scourge Rage Rocket*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1150\" slot=\"cargo\" type=\"&lt;localized hint=&quot;インフェルノジャベリンロケット&quot;&gt;Inferno Javelin Rocket*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ターゲット範囲スクリプト&quot;&gt;Targeting Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型ベイローディングアクセラレーターI&quot;&gt;Small Bay Loading Accelerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型弾頭フレアカタリストI&quot;&gt;Small Warhead Flare Catalyst I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーII&quot;&gt;Small Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"HN's Chameleon\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;カメレオン&quot;&gt;Chameleon*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;パイサムA型 自動調整防御フィールド&quot;&gt;Pithum A-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;パイサムA型 自動調整防御フィールド&quot;&gt;Pithum A-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ドレッドガリスタス高速ライトミサイルランチャー&quot;&gt;Dread Guristas Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ドレッドガリスタス高速ライトミサイルランチャー&quot;&gt;Dread Guristas Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;ドレッドガリスタス高速ライトミサイルランチャー&quot;&gt;Dread Guristas Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;ジスタムA型50MNマイクロワープドライブ&quot;&gt;Gistum A-Type 50MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;ベパスの改良型マルチスペクトルECM&quot;&gt;Vepas' Modified Multispectral ECM*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 6\" type=\"&lt;localized hint=&quot;ベパスの改良型マルチスペクトルECM&quot;&gt;Vepas' Modified Multispectral ECM*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;「スモークスクリーン」隠密行動用遮蔽装置II&quot;&gt;'Smokescreen' Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;シグナル歪曲率増幅器II&quot;&gt;Signal Distortion Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"63\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ドレッドガリスタスインフェルノライトミサイル&quot;&gt;Dread Guristas Inferno Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;「強化型」ハンマーヘッド&quot;&gt;'Augmented' Hammerhead*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;「強化型」インフィルトレイター&quot;&gt;'Augmented' Infiltrator*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;「強化型」ワルキューレ&quot;&gt;'Augmented' Valkyrie*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;「強化型」ベスパ&quot;&gt;'Augmented' Vespa*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ポリカーボンエンジンハウジングII&quot;&gt;Medium Polycarbon Engine Housing II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーII&quot;&gt;Medium Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;共和国海軍仕様大型シールドエクステンダー&quot;&gt;Republic Fleet Large Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;共和国海軍仕様大型シールドエクステンダー&quot;&gt;Republic Fleet Large Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;センティエントドローンダメージ増幅器&quot;&gt;Sentient Drone Damage Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;センティエントドローンダメージ増幅器&quot;&gt;Sentient Drone Damage Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;センチエント ダメージコントロール&quot;&gt;Sentient Damage Control*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Light missile\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ガルム&quot;&gt;Garmur*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型シールドエクステンダーII&quot;&gt;Medium Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;パイサムA型 自動調整防御フィールド&quot;&gt;Pithum A-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;F-90コンパクトセンサーブースター&quot;&gt;F-90 Compact Sensor Booster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様弾道制御装置&quot;&gt;Caldari Navy Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様弾道制御装置&quot;&gt;Caldari Navy Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様ライトミサイルランチャー&quot;&gt;Caldari Navy Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様ライトミサイルランチャー&quot;&gt;Caldari Navy Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様ライトミサイルランチャー&quot;&gt;Caldari Navy Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ビガー小型マイクロ補助パワーコア&quot;&gt;Vigor Compact Micro Auxiliary Power Core*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;ジスティーA型5MNマイクロワープドライブ&quot;&gt;Gistii A-Type 5MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"180\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様インフェルノライトミサイル&quot;&gt;Caldari Navy Inferno Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ターゲット範囲スクリプト&quot;&gt;Targeting Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型ベイローディングアクセラレーターI&quot;&gt;Small Bay Loading Accelerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型弾頭フレアカタリストI&quot;&gt;Small Warhead Flare Catalyst I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーII&quot;&gt;Small Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Magus test\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;メイガス&quot;&gt;Magus*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;キャパシタリチャージャーII&quot;&gt;Cap Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"3\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ハンマーヘッドII&quot;&gt;Hammerhead II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"3\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"3\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホーネットII&quot;&gt;Hornet II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;150mmレールガンII&quot;&gt;150mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;150mmレールガンII&quot;&gt;150mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;150mmレールガンII&quot;&gt;150mm Railgun II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;小型キャパシタバッテリー2&quot;&gt;Small Cap Battery II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スパイク弾S&quot;&gt;Spike S*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ジャベリン弾S&quot;&gt;Javelin S*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;連邦海軍仕様ステイシスウェビファイヤー&quot;&gt;Federation Navy Stasis Webifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;コアリAタイプナノ対応プレート&quot;&gt;Coreli A-Type Adaptive Nano Plating*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;コアリAタイプナノ対応プレート&quot;&gt;Coreli A-Type Adaptive Nano Plating*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コレリA型5MNマイクロワープドライブ&quot;&gt;Coreli A-Type 5MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2120\" slot=\"cargo\" type=\"&lt;localized hint=&quot;連邦海軍仕様アンチマター弾S&quot;&gt;Federation Navy Antimatter Charge S*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;「ラディカル」ダメージコントロール&quot;&gt;'Radical' Damage Control*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"808\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ナノマシンリペアペイスト&quot;&gt;Nanite Repair Paste*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型対エクスプローシブポンプII&quot;&gt;Small Anti-Explosive Pump II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型キャパシタ制御回路II&quot;&gt;Small Capacitor Control Circuit II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;ブラックイーグルドローンリンクオーグメンター&quot;&gt;Black Eagle Drone Link Augmentor*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;小型補助アーマーリペアラ&quot;&gt;Small Ancillary Armor Repairer*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;アーマーコマンドバースト1&quot;&gt;Armor Command Burst I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"300\" slot=\"cargo\" type=\"&lt;localized hint=&quot;アーマー活性化チャージ&quot;&gt;Armor Energizing Charge*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Ocatch expensive\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;オカター&quot;&gt;Occator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;中型アーマーリペアラII&quot;&gt;Medium Armor Repairer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型シールドエクステンダーII&quot;&gt;Medium Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ遮蔽装置I&quot;&gt;Prototype Cloaking Device I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;シャドウサーペンティスアーマーエクスプローシブハードナー&quot;&gt;Shadow Serpentis Armor Explosive Hardener*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;コアリAタイプナノ対応プレート&quot;&gt;Coreli A-Type Adaptive Nano Plating*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;コアリAタイプEMプレート&quot;&gt;Coreli A-Type EM Plating*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コアラムC型50MNマイクロワープドライブ&quot;&gt;Corelum C-Type 50MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型対エクスプローシブポンプI&quot;&gt;Medium Anti-Explosive Pump I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型補助ナノポンプI&quot;&gt;Medium Auxiliary Nano Pump I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Ocatch expensive#AB\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;オカター&quot;&gt;Occator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;中型アーマーリペアラII&quot;&gt;Medium Armor Repairer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ遮蔽装置I&quot;&gt;Prototype Cloaking Device I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;シャドウサーペンティスアーマーエクスプローシブハードナー&quot;&gt;Shadow Serpentis Armor Explosive Hardener*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コーレラムCタイプ10MNアフターバーナー&quot;&gt;Corelum C-Type 10MN Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;コアリAタイプナノ対応プレート&quot;&gt;Coreli A-Type Adaptive Nano Plating*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;コアリAタイプEMプレート&quot;&gt;Coreli A-Type EM Plating*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型対エクスプローシブポンプI&quot;&gt;Medium Anti-Explosive Pump I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型補助ナノポンプI&quot;&gt;Medium Auxiliary Nano Pump I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Passive Drake Mission Runner for TA\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ドレイク&quot;&gt;Drake*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1716\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージヘビーミサイル&quot;&gt;Scourge Heavy Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;IFFAコンパクトダメージコントロール&quot;&gt;IFFA Compact Damage Control*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;M51ベネファクター・コンパクトシールドリチャージャー&quot;&gt;M51 Benefactor Compact Shield Recharger*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;リミテッドサーマル放散フィールド1&quot;&gt;Limited Thermal Dissipation Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターI&quot;&gt;Drone Link Augmentor I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;「統合型」ホブゴブリン&quot;&gt;'Integrated' Hobgoblin*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Passive Drake Mission Runner for TA update(cheap\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ドレイク&quot;&gt;Drake*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1716\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージヘビーミサイル&quot;&gt;Scourge Heavy Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;IFFAコンパクトダメージコントロール&quot;&gt;IFFA Compact Damage Control*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;M51ベネファクター・コンパクトシールドリチャージャー&quot;&gt;M51 Benefactor Compact Shield Recharger*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;「アルバレスト」ヘビーミサイルランチャー&quot;&gt;'Arbalest' Heavy Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターI&quot;&gt;Drone Link Augmentor I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;「統合型」ホブゴブリン&quot;&gt;'Integrated' Hobgoblin*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対サーマルスクリーンレインフォーサーI&quot;&gt;Medium Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーI&quot;&gt;Medium Core Defense Field Purger I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"the Daredevil\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;デアデビル&quot;&gt;Daredevil*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;ステイシスウェビファイヤーII&quot;&gt;Stasis Webifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ナノ対応プレートII&quot;&gt;Adaptive Nano Plating II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;センサーブースターII&quot;&gt;Sensor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ライト中性子ブラスターII&quot;&gt;Light Neutron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ライト中性子ブラスターII&quot;&gt;Light Neutron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;IFFAコンパクトダメージコントロール&quot;&gt;IFFA Compact Damage Control*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;小型エネルギーノスフェラトゥ2&quot;&gt;Small Energy Nosferatu II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コアリAタイプ1MNアフターバーナー&quot;&gt;Coreli A-Type 1MN Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"160\" slot=\"cargo\" type=\"&lt;localized hint=&quot;連邦海軍仕様アンチマター弾S&quot;&gt;Federation Navy Antimatter Charge S*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スキャン分解能スクリプト&quot;&gt;Scan Resolution Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型補助カレントルーターI&quot;&gt;Small Ancillary Current Router I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型ハイブリッドバーストエアレーターI&quot;&gt;Small Hybrid Burst Aerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型横隔壁I&quot;&gt;Small Transverse Bulkhead I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"the Daredevil ediit\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;デアデビル&quot;&gt;Daredevil*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;センサーブースターII&quot;&gt;Sensor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ライト中性子ブラスターII&quot;&gt;Light Neutron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ライト中性子ブラスターII&quot;&gt;Light Neutron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;X5持続型ステイシスウェビファイヤー&quot;&gt;X5 Enduring Stasis Webifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;IFFAコンパクトダメージコントロール&quot;&gt;IFFA Compact Damage Control*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"161\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ボイド弾S&quot;&gt;Void S*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;小型エネルギーノスフェラトゥ2&quot;&gt;Small Energy Nosferatu II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コアリAタイプ1MNアフターバーナー&quot;&gt;Coreli A-Type 1MN Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;コアリAタイプナノ対応プレート&quot;&gt;Coreli A-Type Adaptive Nano Plating*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;コアリBタイプ小型アーマーリペアラ&quot;&gt;Coreli B-Type Small Armor Repairer*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;連邦海軍仕様アンチマター弾S&quot;&gt;Federation Navy Antimatter Charge S*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ターゲット範囲スクリプト&quot;&gt;Targeting Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型補助カレントルーターI&quot;&gt;Small Ancillary Current Router I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型ハイブリッドバーストエアレーターI&quot;&gt;Small Hybrid Burst Aerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型横隔壁I&quot;&gt;Small Transverse Bulkhead I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Rapid Heavy expensive@DPS570\">\n\t\t\t<description value=\"'Arbalest' Rapid Heavy Missile Launcher I&lt;br&gt;は現時点で370k程度と安く、&lt;br&gt;ほかのDED品も揃うので現実的なfit&lt;br&gt;&lt;br&gt;ただ、Large Core Defense Field Extender II&lt;br&gt;に費用がかさむだろう&lt;br&gt;※ 製造しても1つあたり 30M\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;レイブン&quot;&gt;Raven*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2144\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージヘビーミサイル&quot;&gt;Scourge Heavy Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;シグナル増幅器II&quot;&gt;Signal Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;500MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;500MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"28\" slot=\"cargo\" type=\"&lt;localized hint=&quot;キャップブースター400&quot;&gt;Cap Booster 400*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型サーマル放散増幅装置&quot;&gt;Gistum C-Type Thermal Dissipation Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;ジストゥムCタイプキネティック偏向増幅器&quot;&gt;Gistum C-Type Kinetic Deflection Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ベスパII&quot;&gt;Vespa II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターII&quot;&gt;Drone Link Augmentor II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;大型コア防衛フィールドエクステンダーII&quot;&gt;Large Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;大型コア防衛フィールドエクステンダーII&quot;&gt;Large Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;大型コア防衛フィールドエクステンダーII&quot;&gt;Large Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ガリスタススコージヘビーミサイル&quot;&gt;Guristas Scourge Heavy Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 6\" type=\"&lt;localized hint=&quot;超大型補助シールドブースター&quot;&gt;X-Large Ancillary Shield Booster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;「アルバレスト」高速ヘビーミサイルランチャーI&quot;&gt;'Arbalest' Rapid Heavy Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;「アルバレスト」高速ヘビーミサイルランチャーI&quot;&gt;'Arbalest' Rapid Heavy Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;「アルバレスト」高速ヘビーミサイルランチャーI&quot;&gt;'Arbalest' Rapid Heavy Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;「アルバレスト」高速ヘビーミサイルランチャーI&quot;&gt;'Arbalest' Rapid Heavy Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;「アルバレスト」高速ヘビーミサイルランチャーI&quot;&gt;'Arbalest' Rapid Heavy Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;「アルバレスト」高速ヘビーミサイルランチャーI&quot;&gt;'Arbalest' Rapid Heavy Missile Launcher I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Relic Heron for GA\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ヘロン&quot;&gt;Heron*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;1MNアフターバーナーI&quot;&gt;1MN Afterburner I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;小型共晶合金キャパシタリチャージャー&quot;&gt;Eutectic Compact Cap Recharger*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;タイプE持続型カーゴスキャナー&quot;&gt;Type-E Enduring Cargo Scanner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;200mm タングステンロール コンパクトプレート&quot;&gt;200mm Rolled Tungsten Compact Plates*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ遮蔽装置I&quot;&gt;Prototype Cloaking Device I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;データアナライザーI&quot;&gt;Data Analyzer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;遺物アナライザーI&quot;&gt;Relic Analyzer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型エミッションスコープシャープナーI&quot;&gt;Small Emission Scope Sharpener I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型メメティックアルゴリズムバンクI&quot;&gt;Small Memetic Algorithm Bank I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Spd Nereus\">\n\t\t\t<description value=\"Shield はたっぷりとっているが、EM, Them が弱いので注意\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ネレウス&quot;&gt;Nereus*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;F-b10ノミナルキャパシタリジェネレーター&quot;&gt;F-b10 Nominal Capacitor Regenerator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;中型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Medium F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Large F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ワープコア制御装置I&quot;&gt;Warp Core Stabilizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;プロトタイプ遮蔽装置I&quot;&gt;Prototype Cloaking Device I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"3\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;「統合型」ホブゴブリン&quot;&gt;'Integrated' Hobgoblin*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーI&quot;&gt;Medium Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーI&quot;&gt;Medium Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型ポリカーボンエンジンハウジングI&quot;&gt;Medium Polycarbon Engine Housing I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"3\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"SpdAtron\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;アトロン&quot;&gt;Atron*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ローカル船体改造ナノファイバー構造I&quot;&gt;Local Hull Conversion Nanofiber Structure I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;タイプE持続型カーゴスキャナー&quot;&gt;Type-E Enduring Cargo Scanner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;Ta3小型シップスキャナー&quot;&gt;Ta3 Compact Ship Scanner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーI&quot;&gt;Small Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーI&quot;&gt;Small Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ポリカーボンエンジンハウジングI&quot;&gt;Small Polycarbon Engine Housing I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"SpdAtron2(探検\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;アトロン&quot;&gt;Atron*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"960\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ウラン弾S&quot;&gt;Uranium Charge S*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ローカル船体改造ナノファイバー構造I&quot;&gt;Local Hull Conversion Nanofiber Structure I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;1MN単一推進剤耐久型アフターバーナー&quot;&gt;1MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;タイプE持続型カーゴスキャナー&quot;&gt;Type-E Enduring Cargo Scanner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;Ta3小型シップスキャナー&quot;&gt;Ta3 Compact Ship Scanner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;150mmプロトタイプガウスガン&quot;&gt;150mm Prototype Gauss Gun*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;150mmプロトタイプガウスガン&quot;&gt;150mm Prototype Gauss Gun*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;150mmプロトタイプガウスガン&quot;&gt;150mm Prototype Gauss Gun*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーI&quot;&gt;Small Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーI&quot;&gt;Small Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ポリカーボンエンジンハウジングI&quot;&gt;Small Polycarbon Engine Housing I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Standard Sleeper Beta\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ギラ&quot;&gt;Gila*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1500\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージライトミサイル&quot;&gt;Scourge Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1488\" slot=\"cargo\" type=\"&lt;localized hint=&quot;インフェルノライトミサイル&quot;&gt;Inferno Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;インフィルトレイターII&quot;&gt;Infiltrator II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ハンマーヘッドII&quot;&gt;Hammerhead II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コーレラムCタイプ10MNアフターバーナー&quot;&gt;Corelum C-Type 10MN Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;ジスタムC型サーマル放散増幅装置&quot;&gt;Gistum C-Type Thermal Dissipation Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジストゥムCタイプEM防御増幅器&quot;&gt;Gistum C-Type EM Ward Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ベスパII&quot;&gt;Vespa II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターI&quot;&gt;Drone Link Augmentor I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様ベスパ&quot;&gt;Caldari Navy Vespa*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"4\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"TA kestrel shotrange\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ケストレル&quot;&gt;Kestrel*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"180\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージロケット&quot;&gt;Scourge Rocket*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;X5持続型ステイシスウェビファイヤー&quot;&gt;X5 Enduring Stasis Webifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;F85プリフィーラルダメージシステムI&quot;&gt;F85 Peripheral Damage System I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;1MN Y-S8 コンパクトアフターバーナー&quot;&gt;1MN Y-S8 Compact Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;小型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Small F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;「アルバレスト」ロケットランチャーI&quot;&gt;'Arbalest' Rocket Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;「アルバレスト」ロケットランチャーI&quot;&gt;'Arbalest' Rocket Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;「アルバレスト」ロケットランチャーI&quot;&gt;'Arbalest' Rocket Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;「アルバレスト」ロケットランチャーI&quot;&gt;'Arbalest' Rocket Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様スコージロケット&quot;&gt;Caldari Navy Scourge Rocket*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ベイローディングアクセラレーターI&quot;&gt;Small Bay Loading Accelerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーI&quot;&gt;Small Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーI&quot;&gt;Small Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"TCorax\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;コラックス&quot;&gt;Corax*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1260\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージライトミサイル&quot;&gt;Scourge Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;小型共晶合金キャパシタリチャージャー&quot;&gt;Eutectic Compact Cap Recharger*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;F85プリフィーラルダメージシステムI&quot;&gt;F85 Peripheral Damage System I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;1MN単一推進剤耐久型アフターバーナー&quot;&gt;1MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;小型C5-L緊急シールドオーバーロードI&quot;&gt;Small C5-L Emergency Shield Overload I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;アルバレスト小型ライトミサイルランチャー&quot;&gt;Arbalest Compact Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;マルチフェイジックボルト施設I&quot;&gt;Multiphasic Bolt Array I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;サルベージャーI&quot;&gt;Salvager I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型キャパシタ制御回路I&quot;&gt;Small Capacitor Control Circuit I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型弾頭キャルファクションカタリストI&quot;&gt;Small Warhead Calefaction Catalyst I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型対サーマルスクリーンレインフォーサーI&quot;&gt;Small Anti-Thermal Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Torpedo deliverry cheep\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ネメシス&quot;&gt;Nemesis*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;ワープ妨害器II&quot;&gt;Warp Disruptor II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」トルピードランチャー&quot;&gt;Prototype 'Arbalest' Torpedo Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」トルピードランチャー&quot;&gt;Prototype 'Arbalest' Torpedo Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」トルピードランチャー&quot;&gt;Prototype 'Arbalest' Torpedo Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2054\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様インフェルノトルピード&quot;&gt;Caldari Navy Inferno Torpedo*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;シスターコアプローブランチャー&quot;&gt;Sisters Core Probe Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;シスターコアスキャナープローブ&quot;&gt;Sisters Core Scanner Probe*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ポリカーボンエンジンハウジングII&quot;&gt;Small Polycarbon Engine Housing II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型弾頭リガーカタリストII&quot;&gt;Small Warhead Rigor Catalyst II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Viatch 防衛\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ビアトール&quot;&gt;Viator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;F85プリフィーラルダメージシステムI&quot;&gt;F85 Peripheral Damage System I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;中型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Medium F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;400mm タングステンロール コンパクトプレート&quot;&gt;400mm Rolled Tungsten Compact Plates*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;「リフュージ」ナノ対応プレートI&quot;&gt;'Refuge' Adaptive Nano Plating I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーI&quot;&gt;Medium Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーI&quot;&gt;Medium Anti-EM Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Viatch 通常運行\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ビアトール&quot;&gt;Viator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;中型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Medium F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"16\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーI&quot;&gt;Medium Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーI&quot;&gt;Medium Anti-EM Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"Warp Spd 13AU+MWD 5500ms over\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ドラミエル&quot;&gt;Dramiel*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"4\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;共和国海軍仕様オーバードライブインジェクター&quot;&gt;Republic Fleet Overdrive Injector*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;共和国海軍仕様オーバードライブインジェクター&quot;&gt;Republic Fleet Overdrive Injector*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;共和国海軍仕様オーバードライブインジェクター&quot;&gt;Republic Fleet Overdrive Injector*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;ピソムCタイプEM防御増幅器&quot;&gt;Pithum C-Type EM Ward Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コレリC型5MNマイクロワープドライブ&quot;&gt;Coreli C-Type 5MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーII&quot;&gt;Small Hyperspatial Velocity Optimizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーII&quot;&gt;Small Hyperspatial Velocity Optimizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型ハイパースパシャル速度オプティマイザーII&quot;&gt;Small Hyperspatial Velocity Optimizer II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"aglity+\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;オカター&quot;&gt;Occator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;慣性スタビライザーII&quot;&gt;Inertial Stabilizers II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;キャパシタリチャージャーII&quot;&gt;Cap Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;小型キャパシタブースターII&quot;&gt;Small Capacitor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;キャップブースター200&quot;&gt;Cap Booster 200*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ遮蔽装置I&quot;&gt;Prototype Cloaking Device I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;コーレラムCタイプ電磁加工エクスプローシブ装甲&quot;&gt;Corelum C-Type Energized Explosive Membrane*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;コーレラムCタイプ中型アーマーリペアラ&quot;&gt;Corelum C-Type Medium Armor Repairer*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コアラムC型50MNマイクロワープドライブ&quot;&gt;Corelum C-Type 50MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;シスターコアスキャナープローブ&quot;&gt;Sisters Core Scanner Probe*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーI&quot;&gt;Medium Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーI&quot;&gt;Medium Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"for TA\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ギラ&quot;&gt;Gila*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;シールドパワーリレーII&quot;&gt;Shield Power Relay II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;シールドパワーリレーII&quot;&gt;Shield Power Relay II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;シールドパワーリレーII&quot;&gt;Shield Power Relay II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;パイサムC型 自動調整防御フィールド&quot;&gt;Pithum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ワルキューレI&quot;&gt;Valkyrie I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;パイサムC型サーマル放散増幅装置&quot;&gt;Pithum C-Type Thermal Dissipation Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;ピソムCタイプEM防御増幅器&quot;&gt;Pithum C-Type EM Ward Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コアラムC型50MNマイクロワープドライブ&quot;&gt;Corelum C-Type 50MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"76\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様インフェルノライトミサイル&quot;&gt;Caldari Navy Inferno Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;「統合型」ハンマーヘッド&quot;&gt;'Integrated' Hammerhead*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;「統合型」インフィルトレイター&quot;&gt;'Integrated' Infiltrator*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;「統合型」ワルキューレ&quot;&gt;'Integrated' Valkyrie*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;「統合型」ベスパ&quot;&gt;'Integrated' Vespa*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"for TA(Cruise cheap#2\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;レイブン&quot;&gt;Raven*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"119\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ミョルニールクルーズミサイル&quot;&gt;Mjolnir Cruise Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2144\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージクルーズミサイル&quot;&gt;Scourge Cruise Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 6\" type=\"&lt;localized hint=&quot;大型補助シールドブースター&quot;&gt;Large Ancillary Shield Booster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;500MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;500MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;タイプD減衰シグナルアグメンテーション&quot;&gt;Type-D Attenuation Signal Augmentation*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"10\" slot=\"cargo\" type=\"&lt;localized hint=&quot;キャップブースター200&quot;&gt;Cap Booster 200*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;「アルバレスト」クルーズランチャーI&quot;&gt;'Arbalest' Cruise Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;「アルバレスト」クルーズランチャーI&quot;&gt;'Arbalest' Cruise Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;「アルバレスト」クルーズランチャーI&quot;&gt;'Arbalest' Cruise Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;「アルバレスト」クルーズランチャーI&quot;&gt;'Arbalest' Cruise Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;「アルバレスト」クルーズランチャーI&quot;&gt;'Arbalest' Cruise Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;「アルバレスト」クルーズランチャーI&quot;&gt;'Arbalest' Cruise Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型サーマル放散増幅装置&quot;&gt;Gistum C-Type Thermal Dissipation Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;ジストゥムCタイプキネティック偏向増幅器&quot;&gt;Gistum C-Type Kinetic Deflection Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ベスパII&quot;&gt;Vespa II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターI&quot;&gt;Drone Link Augmentor I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;大型コア防衛フィールドエクステンダーII&quot;&gt;Large Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;大型コア防衛フィールドエクステンダーII&quot;&gt;Large Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;大型コア防衛フィールドエクステンダーII&quot;&gt;Large Core Defense Field Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"23\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様スコージクルーズミサイル&quot;&gt;Caldari Navy Scourge Cruise Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ターゲット範囲スクリプト&quot;&gt;Targeting Range Script*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"for TA(cheap\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ギラ&quot;&gt;Gila*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2076\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージライトミサイル&quot;&gt;Scourge Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ハンマーヘッドII&quot;&gt;Hammerhead II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドII&quot;&gt;Adaptive Invulnerability Field II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;サーマル放散増幅装置2&quot;&gt;Thermal Dissipation Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;EM防御増幅器II&quot;&gt;EM Ward Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コーレラムCタイプ10MNアフターバーナー&quot;&gt;Corelum C-Type 10MN Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;コアリCタイプ中型リモートアーマーリペアラ&quot;&gt;Corelum C-Type Medium Remote Armor Repairer*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ベスパII&quot;&gt;Vespa II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ワルキューレII&quot;&gt;Valkyrie II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様インフェルノライトミサイル&quot;&gt;Caldari Navy Inferno Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様ベスパ&quot;&gt;Caldari Navy Vespa*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;共和国海軍仕様ワルキューレ&quot;&gt;Republic Fleet Valkyrie*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"gigant (Balanced\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ギラ&quot;&gt;Gila*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1500\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージライトミサイル&quot;&gt;Scourge Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1412\" slot=\"cargo\" type=\"&lt;localized hint=&quot;インフェルノライトミサイル&quot;&gt;Inferno Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;インフィルトレイターII&quot;&gt;Infiltrator II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ハンマーヘッドII&quot;&gt;Hammerhead II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;サーマル放散増幅装置2&quot;&gt;Thermal Dissipation Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;キネティック偏向増幅器II&quot;&gt;Kinetic Deflection Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コアラムC型50MNマイクロワープドライブ&quot;&gt;Corelum C-Type 50MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ベスパII&quot;&gt;Vespa II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターI&quot;&gt;Drone Link Augmentor I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様ベスパ&quot;&gt;Caldari Navy Vespa*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"4\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;センティエントドローン航行用コンピュータ&quot;&gt;Sentient Drone Navigation Computer*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"gigant upgrade (drone spd+\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ギラ&quot;&gt;Gila*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1500\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージライトミサイル&quot;&gt;Scourge Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1576\" slot=\"cargo\" type=\"&lt;localized hint=&quot;インフェルノライトミサイル&quot;&gt;Inferno Light Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型 自動調整防御フィールド&quot;&gt;Gistum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;インフィルトレイターII&quot;&gt;Infiltrator II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ハンマーヘッドII&quot;&gt;Hammerhead II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;サーマル放散増幅装置2&quot;&gt;Thermal Dissipation Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;大型シールドエクステンダーII&quot;&gt;Large Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;プロトタイプ「アルバレスト」高速ライトミサイルランチャー&quot;&gt;Prototype 'Arbalest' Rapid Light Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;ベータリアクター制御:シールドパワーリレーI&quot;&gt;Beta Reactor Control: Shield Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コアラムC型50MNマイクロワープドライブ&quot;&gt;Corelum C-Type 50MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ベスパII&quot;&gt;Vespa II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターI&quot;&gt;Drone Link Augmentor I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型コア防衛フィールドパージャーII&quot;&gt;Medium Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様ベスパ&quot;&gt;Caldari Navy Vespa*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"4\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;センティエントドローン航行用コンピュータ&quot;&gt;Sentient Drone Navigation Computer*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"missile ship\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;レギオン&quot;&gt;Legion*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;リアクティブアーマーハードナー&quot;&gt;Reactive Armor Hardener*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;中型コンパクトPb酸キャパシタバッテリー&quot;&gt;Medium Compact Pb-Acid Cap Battery*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;シャドウサーペンティスのサーマルアーマーハードナー&quot;&gt;Shadow Serpentis Armor Thermal Hardener*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;コーレラムCタイプ電磁加工ナノ対応装甲&quot;&gt;Corelum C-Type Energized Adaptive Nano Membrane*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 6\" type=\"&lt;localized hint=&quot;コーピュムAタイプ中型アーマーリペアラ&quot;&gt;Corpum A-Type Medium Armor Repairer*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ジスタムC型50MNマイクロワープドライブ&quot;&gt;Gistum C-Type 50MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;フェーズド スコープターゲットペインター&quot;&gt;Phased Scoped Target Painter*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;1600mm スチールプレートII&quot;&gt;1600mm Steel Plates II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;弾道制御装置II&quot;&gt;Ballistic Control System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"330\" slot=\"cargo\" type=\"&lt;localized hint=&quot;インフェルノレイジヘビーアサルトミサイル&quot;&gt;Inferno Rage Heavy Assault Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ヘビーアサルトミサイルランチャーII&quot;&gt;Heavy Assault Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ヘビーアサルトミサイルランチャーII&quot;&gt;Heavy Assault Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ヘビーアサルトミサイルランチャーII&quot;&gt;Heavy Assault Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;ヘビーアサルトミサイルランチャーII&quot;&gt;Heavy Assault Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;ヘビーアサルトミサイルランチャーII&quot;&gt;Heavy Assault Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"subsystem slot 1\" type=\"&lt;localized hint=&quot;レギオン防御-ナノボットインジェクター&quot;&gt;Legion Defensive - Nanobot Injector*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"subsystem slot 2\" type=\"&lt;localized hint=&quot;レギオンエレクトロニクス-ディソリューションシーケンサー&quot;&gt;Legion Electronics - Dissolution Sequencer*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"subsystem slot 4\" type=\"&lt;localized hint=&quot;レギオン推進力-シャーシオプティマイゼーション&quot;&gt;Legion Propulsion - Chassis Optimization*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"subsystem slot 0\" type=\"&lt;localized hint=&quot;レギオン攻撃―アサルトオプティマイゼーション&quot;&gt;Legion Offensive - Assault Optimization*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"subsystem slot 3\" type=\"&lt;localized hint=&quot;レギオンエンジニアリング-キャパシタ回生マトリックス&quot;&gt;Legion Engineering - Capacitor Regeneration Matrix*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型対EMポンプII&quot;&gt;Medium Anti-EM Pump II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型対キネティックポンプII&quot;&gt;Medium Anti-Kinetic Pump II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型トライマークアーマーポンプII&quot;&gt;Medium Trimark Armor Pump II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;ミサイル誘導コンピューターII&quot;&gt;Missile Guidance Computer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ミサイル射程範囲スクリプト&quot;&gt;Missile Range Script*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"passive shield (armor assist\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ストーク&quot;&gt;Stork*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;シールドリチャージャーII&quot;&gt;Shield Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;シールドパワーリレーII&quot;&gt;Shield Power Relay II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;パイサムA型 自動調整防御フィールド&quot;&gt;Pithum A-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"11\" slot=\"cargo\" type=\"&lt;localized hint=&quot;キャップブースター200&quot;&gt;Cap Booster 200*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;ピソムAタイプEM防御増幅器&quot;&gt;Pithum A-Type EM Ward Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コレリC型5MNマイクロワープドライブ&quot;&gt;Coreli C-Type 5MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;「ラディカル」ダメージコントロール&quot;&gt;'Radical' Damage Control*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"500\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージレイジロケット&quot;&gt;Scourge Rage Rocket*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型補助カレントルーターII&quot;&gt;Small Ancillary Current Router II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドパージャーII&quot;&gt;Small Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様中型シールドエクステンダー&quot;&gt;Caldari Navy Medium Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様中型シールドエクステンダー&quot;&gt;Caldari Navy Medium Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;アーマーコマンドバースト1&quot;&gt;Armor Command Burst I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"600\" slot=\"cargo\" type=\"&lt;localized hint=&quot;アーマー活性化チャージ&quot;&gt;Armor Energizing Charge*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"stork active shield(armor assist\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ストーク&quot;&gt;Stork*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;キャパシタパワーリレーII&quot;&gt;Capacitor Power Relay II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;パワー計測システムII&quot;&gt;Power Diagnostic System II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;小型キャパシタブースターII&quot;&gt;Small Capacitor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;中型シールドエクステンダーII&quot;&gt;Medium Shield Extender II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;パイサムC型 自動調整防御フィールド&quot;&gt;Pithum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;パイサムC型 自動調整防御フィールド&quot;&gt;Pithum C-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"11\" slot=\"cargo\" type=\"&lt;localized hint=&quot;キャップブースター200&quot;&gt;Cap Booster 200*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;ピソムAタイプ中型シールドブースター&quot;&gt;Pithum A-Type Medium Shield Booster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コレリC型5MNマイクロワープドライブ&quot;&gt;Coreli C-Type 5MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"250\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージレイジロケット&quot;&gt;Scourge Rage Rocket*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型キャパシタ制御回路II&quot;&gt;Small Capacitor Control Circuit II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型対EMスクリーンレインフォーサーII&quot;&gt;Small Anti-EM Screen Reinforcer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;アーマーコマンドバースト1&quot;&gt;Armor Command Burst I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"300\" slot=\"cargo\" type=\"&lt;localized hint=&quot;アーマー活性化チャージ&quot;&gt;Armor Energizing Charge*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"アステロ装備\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;アステロ&quot;&gt;Astero*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;5MNマイクロワープドライブII&quot;&gt;5MN Microwarpdrive II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;カーゴスキャナーII&quot;&gt;Cargo Scanner II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ハンマーヘッドII&quot;&gt;Hammerhead II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;データアナライザーI&quot;&gt;Data Analyzer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;遺物アナライザーI&quot;&gt;Relic Analyzer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;シスターコアプローブランチャー&quot;&gt;Sisters Core Probe Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型対EMスクリーンレインフォーサーI&quot;&gt;Small Anti-EM Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーI&quot;&gt;Small Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーI&quot;&gt;Small Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"インカーサス装備\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;インカーサス&quot;&gt;Incursus*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;ワープスクランブラーII&quot;&gt;Warp Scrambler II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;小型アーマーリペアラII&quot;&gt;Small Armor Repairer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ナノ対応プレートII&quot;&gt;Adaptive Nano Plating II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ライトイオンブラスターII&quot;&gt;Light Ion Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ライトイオンブラスターII&quot;&gt;Light Ion Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ライトイオンブラスターII&quot;&gt;Light Ion Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;小型キャパシタブースターII&quot;&gt;Small Capacitor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;5MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;5MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"640\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様アンチマター弾S&quot;&gt;Caldari Navy Antimatter Charge S*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様アイアン弾S&quot;&gt;Caldari Navy Iron Charge S*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"100\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ナノマシンリペアペイスト&quot;&gt;Nanite Repair Paste*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型対エクスプローシブポンプI&quot;&gt;Small Anti-Explosive Pump I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型補助ナノポンプI&quot;&gt;Small Auxiliary Nano Pump I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型補助ナノポンプI&quot;&gt;Small Auxiliary Nano Pump I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"12\" slot=\"cargo\" type=\"&lt;localized hint=&quot;海軍仕様キャップブースター400&quot;&gt;Navy Cap Booster 400*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;小型補助アーマーリペアラ&quot;&gt;Small Ancillary Armor Repairer*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"ウィドウ装備\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ウィドウ&quot;&gt;Widow*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;シグナル増幅器II&quot;&gt;Signal Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;中型キャパシタブースターII&quot;&gt;Medium Capacitor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ウォリアーII&quot;&gt;Warrior II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;レーダECM 2&quot;&gt;Ladar ECM II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;レーダECM 2&quot;&gt;Ladar ECM II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;磁気ECM 2&quot;&gt;Magnetometric ECM II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;重力ECM 2&quot;&gt;Gravimetric ECM II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;レーダーECM 2&quot;&gt;Radar ECM II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 7\" type=\"&lt;localized hint=&quot;大型マイクロジャンプドライブ&quot;&gt;Large Micro Jump Drive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 6\" type=\"&lt;localized hint=&quot;500MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;500MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 6\" type=\"&lt;localized hint=&quot;ドレッドガリスタス遮蔽装置&quot;&gt;Dread Guristas Cloaking Device*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;クルーズミサイルランチャーII&quot;&gt;Cruise Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;クルーズミサイルランチャーII&quot;&gt;Cruise Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;クルーズミサイルランチャーII&quot;&gt;Cruise Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;クルーズミサイルランチャーII&quot;&gt;Cruise Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;クルーズミサイルランチャーII&quot;&gt;Cruise Missile Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ワルキューレII&quot;&gt;Valkyrie II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターII&quot;&gt;Drone Link Augmentor II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;シグナル歪曲率増幅器II&quot;&gt;Signal Distortion Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;シグナル歪曲率増幅器II&quot;&gt;Signal Distortion Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;大型粒子拡散オーグメンターI&quot;&gt;Large Particle Dispersion Augmentor I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;大型粒子拡散プロジェクターII&quot;&gt;Large Particle Dispersion Projector II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"ケストレル sample\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ケストレル&quot;&gt;Kestrel*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"6800\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スコージロケット&quot;&gt;Scourge Rocket*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;小型シールドブースターI&quot;&gt;Small Shield Booster I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;インフェルノロケット&quot;&gt;Inferno Rocket*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;X5持続型ステイシスウェビファイヤー&quot;&gt;X5 Enduring Stasis Webifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ローカルパワープラントマネージャ:計測システムI&quot;&gt;Local Power Plant Manager: Diagnostic System I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;強化型EM防御増幅器I&quot;&gt;Upgraded EM Ward Amplifier I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;ロケットランチャーII&quot;&gt;Rocket Launcher II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型ベイローディングアクセラレーターI&quot;&gt;Small Bay Loading Accelerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型コア防衛オペレーショナルソリディファイアーI&quot;&gt;Small Core Defense Operational Solidifier I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"ソーラックス sample\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ソーラックス&quot;&gt;Thorax*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;大型電子ブラスターII&quot;&gt;Heavy Electron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;大型電子ブラスターII&quot;&gt;Heavy Electron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;大型電子ブラスターII&quot;&gt;Heavy Electron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;大型電子ブラスターII&quot;&gt;Heavy Electron Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;中型アーマーリペアラII&quot;&gt;Medium Armor Repairer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;中型アーマーリペアラII&quot;&gt;Medium Armor Repairer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;X5持続型ステイシスウェビファイヤー&quot;&gt;X5 Enduring Stasis Webifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;中型電子化合キャパシタブースターI&quot;&gt;Medium Electrochemical Capacitor Booster I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;J5b持続型ワープスクランブラー&quot;&gt;J5b Enduring Warp Scrambler*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;電磁加工ナノ対応装甲II&quot;&gt;Energized Adaptive Nano Membrane II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;電磁加工ナノ対応装甲II&quot;&gt;Energized Adaptive Nano Membrane II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"6\" slot=\"cargo\" type=\"&lt;localized hint=&quot;キャップブースター800&quot;&gt;Cap Booster 800*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;改良型遮蔽装置II&quot;&gt;Improved Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;50MNマイクロワープドライブII&quot;&gt;50MN Microwarpdrive II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ヌル弾M&quot;&gt;Null M*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2957\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様アンチマター弾M&quot;&gt;Caldari Navy Antimatter Charge M*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型補助ナノポンプI&quot;&gt;Medium Auxiliary Nano Pump I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型補助ナノポンプI&quot;&gt;Medium Auxiliary Nano Pump I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;中型ナノボットアクセラレーターI&quot;&gt;Medium Nanobot Accelerator I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"デイモス sample\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;デイモス&quot;&gt;Deimos*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;中型キャパシタブースターII&quot;&gt;Medium Capacitor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ヘビーイオンブラスターII&quot;&gt;Heavy Ion Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ヘビーイオンブラスターII&quot;&gt;Heavy Ion Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;ヘビーイオンブラスターII&quot;&gt;Heavy Ion Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;ヘビーイオンブラスターII&quot;&gt;Heavy Ion Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;ヘビーイオンブラスターII&quot;&gt;Heavy Ion Blaster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;中型アーマーリペアラII&quot;&gt;Medium Armor Repairer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;パターン形成ステイシスウェブI&quot;&gt;Patterned Stasis Web I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;フェイント エプシロン スコープワープ妨害器&quot;&gt;Faint Epsilon Scoped Warp Scrambler*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;50MN対冷却ガス仕様マイクロワープドライブ&quot;&gt;50MN Cold-Gas Enduring Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;磁場制御機II&quot;&gt;Magnetic Field Stabilizer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;電磁加工ナノ対応装甲II&quot;&gt;Energized Adaptive Nano Membrane II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;アーマーエクスプローシブハードナーII&quot;&gt;Armor Explosive Hardener II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"955\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ヌル弾M&quot;&gt;Null M*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"265\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様アンチマター弾M&quot;&gt;Caldari Navy Antimatter Charge M*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"68\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ナノマシンリペアペイスト&quot;&gt;Nanite Repair Paste*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型補助ナノポンプI&quot;&gt;Medium Auxiliary Nano Pump I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ナノボットアクセラレーターI&quot;&gt;Medium Nanobot Accelerator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;海軍仕様キャップブースター800&quot;&gt;Navy Cap Booster 800*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;中型補助アーマーリペアラ&quot;&gt;Medium Ancillary Armor Repairer*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"プロフェシー sample\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;プロフェシー&quot;&gt;Prophecy*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;キャパシタリチャージャーII&quot;&gt;Cap Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;キャパシタリチャージャーII&quot;&gt;Cap Recharger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器I&quot;&gt;Drone Damage Amplifier I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器I&quot;&gt;Drone Damage Amplifier I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;中型「調整式」ベストメントリコンストラクターI&quot;&gt;Medium 'Accommodation' Vestment Reconstructer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;XR-3200ヘビーミサイルベイ&quot;&gt;XR-3200 Heavy Missile Bay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 6\" type=\"&lt;localized hint=&quot;電磁加工エクスプローシブ装甲II&quot;&gt;Energized Explosive Membrane II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;電磁加工キネティック装甲II&quot;&gt;Energized Kinetic Membrane II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;通電式サーマルメンブレン2&quot;&gt;Energized Thermal Membrane II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;50MNマイクロワープドライブI&quot;&gt;50MN Microwarpdrive I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"3\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;キュレイターI&quot;&gt;Curator I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"3\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ウォーデンI&quot;&gt;Warden I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"3\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ガーデI&quot;&gt;Garde I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;サルベージャーI&quot;&gt;Salvager I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"モロス sample\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;モロス&quot;&gt;Moros*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;トラッキングコンピューターII&quot;&gt;Tracking Computer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;トラッキングコンピューターII&quot;&gt;Tracking Computer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;トラッキングコンピューターII&quot;&gt;Tracking Computer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;トラッキングコンピューターII&quot;&gt;Tracking Computer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;トラッキングエンハンサーII&quot;&gt;Tracking Enhancer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;CONCORD仕様イオンシージブラスター&quot;&gt;CONCORD Ion Siege Blaster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;CONCORD仕様イオンシージブラスター&quot;&gt;CONCORD Ion Siege Blaster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;CONCORD仕様イオンシージブラスター&quot;&gt;CONCORD Ion Siege Blaster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;シージモジュールII&quot;&gt;Siege Module II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;F-90コンパクトセンサーブースター&quot;&gt;F-90 Compact Sensor Booster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;電磁加工ナノ対応装甲II&quot;&gt;Energized Adaptive Nano Membrane II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;電磁加工ナノ対応装甲II&quot;&gt;Energized Adaptive Nano Membrane II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;連邦海軍仕様磁場制御機&quot;&gt;Federation Navy Magnetic Field Stabilizer*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;連邦海軍仕様磁場制御機&quot;&gt;Federation Navy Magnetic Field Stabilizer*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;連邦海軍仕様磁場制御機&quot;&gt;Federation Navy Magnetic Field Stabilizer*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 6\" type=\"&lt;localized hint=&quot;キャピタルアーマーリペアラI&quot;&gt;Capital Armor Repairer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"12494\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ガリスタスアンチマター弾XL&quot;&gt;Guristas Antimatter Charge XL*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;トラッキング速度スクリプト&quot;&gt;Tracking Speed Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ターゲット範囲スクリプト&quot;&gt;Targeting Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スキャン分解能スクリプト&quot;&gt;Scan Resolution Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;キャピタル半導体メモリーセルI&quot;&gt;Capital Semiconductor Memory Cell I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;キャピタルハイブリッドバーストエアレーターII&quot;&gt;Capital Hybrid Burst Aerator II*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"ラトルスネーク sample\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ラトルスネーク&quot;&gt;Rattlesnake*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;ジスタムA型 自動調整防御フィールド&quot;&gt;Gistum A-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 6\" type=\"&lt;localized hint=&quot;ジスタムA型 自動調整防御フィールド&quot;&gt;Gistum A-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様弾道制御装置&quot;&gt;Caldari Navy Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様弾道制御装置&quot;&gt;Caldari Navy Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様弾道制御装置&quot;&gt;Caldari Navy Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様クルーズミサイルランチャー&quot;&gt;Caldari Navy Cruise Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様クルーズミサイルランチャー&quot;&gt;Caldari Navy Cruise Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様クルーズミサイルランチャー&quot;&gt;Caldari Navy Cruise Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様クルーズミサイルランチャー&quot;&gt;Caldari Navy Cruise Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;コアXタイプ100MNアフターバーナー&quot;&gt;Core X-Type 100MN Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;ギストXタイプEM防御フィールド&quot;&gt;Gist X-Type EM Ward Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;パイスX型サーマル放散フィールド&quot;&gt;Pith X-Type Thermal Dissipation Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;大型コア防衛フィールドパージャーII&quot;&gt;Large Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;大型コア防衛フィールドパージャーII&quot;&gt;Large Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;大型コア防衛フィールドパージャーII&quot;&gt;Large Core Defense Field Purger II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様ミョルニールクルーズミサイル&quot;&gt;Caldari Navy Mjolnir Cruise Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様スコージクルーズミサイル&quot;&gt;Caldari Navy Scourge Cruise Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様インフェルノクルーズミサイル&quot;&gt;Caldari Navy Inferno Cruise Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1000\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様ノヴァクルーズミサイル&quot;&gt;Caldari Navy Nova Cruise Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様大型シールドエクステンダー&quot;&gt;Caldari Navy Large Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様大型シールドエクステンダー&quot;&gt;Caldari Navy Large Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ブラックイーグルドローンリンクオーグメンター&quot;&gt;Black Eagle Drone Link Augmentor*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ブラックイーグルドローンリンクオーグメンター&quot;&gt;Black Eagle Drone Link Augmentor*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ゲッコー&quot;&gt;Gecko*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;帝国海軍仕様ドローンダメージ増幅器&quot;&gt;Imperial Navy Drone Damage Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;帝国海軍仕様ドローンダメージ増幅器&quot;&gt;Imperial Navy Drone Damage Amplifier*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;帝国海軍仕様ドローンダメージ増幅器&quot;&gt;Imperial Navy Drone Damage Amplifier*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"ラトルスネーク装備\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ラトルスネーク&quot;&gt;Rattlesnake*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;適応攻撃耐性フィールドII&quot;&gt;Adaptive Invulnerability Field II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 6\" type=\"&lt;localized hint=&quot;大型マイクロジャンプドライブ&quot;&gt;Large Micro Jump Drive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;ドレッドガリスタスエクスプローシブ偏向フィールド&quot;&gt;Dread Guristas Explosive Deflection Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;ドレッドガリスタスキネティック偏向フィールド&quot;&gt;Dread Guristas Kinetic Deflection Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様弾道制御装置&quot;&gt;Caldari Navy Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様弾道制御装置&quot;&gt;Caldari Navy Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様クルーズミサイルランチャー&quot;&gt;Caldari Navy Cruise Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様クルーズミサイルランチャー&quot;&gt;Caldari Navy Cruise Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様クルーズミサイルランチャー&quot;&gt;Caldari Navy Cruise Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様クルーズミサイルランチャー&quot;&gt;Caldari Navy Cruise Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;ピスXタイプ大型シールドブースター&quot;&gt;Pith X-Type Large Shield Booster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターII&quot;&gt;Drone Link Augmentor II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ドローンリンクオーグメンターII&quot;&gt;Drone Link Augmentor II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;大型キャパシタ制御回路I&quot;&gt;Large Capacitor Control Circuit I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;大型キャパシタ制御回路I&quot;&gt;Large Capacitor Control Circuit I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;大型キャパシタ制御回路I&quot;&gt;Large Capacitor Control Circuit I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ウォーデンII&quot;&gt;Warden II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ガーデII&quot;&gt;Garde II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;キュレイターII&quot;&gt;Curator II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;連邦海軍仕様全方位トラッキングリンク&quot;&gt;Federation Navy Omnidirectional Tracking Link*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;連邦海軍仕様全方位トラッキングリンク&quot;&gt;Federation Navy Omnidirectional Tracking Link*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"ラトルスネーク狙撃仕様\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ラトルスネーク&quot;&gt;Rattlesnake*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;センサーブースターII&quot;&gt;Sensor Booster II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;バーサーカーII&quot;&gt;Berserker II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ウォリアーII&quot;&gt;Warrior II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 5\" type=\"&lt;localized hint=&quot;ジスタムA型 自動調整防御フィールド&quot;&gt;Gistum A-Type Adaptive Invulnerability Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 6\" type=\"&lt;localized hint=&quot;大型マイクロジャンプドライブ&quot;&gt;Large Micro Jump Drive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 4\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 5\" type=\"&lt;localized hint=&quot;ドローンダメージ増幅器II&quot;&gt;Drone Damage Amplifier II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様弾道制御装置&quot;&gt;Caldari Navy Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様弾道制御装置&quot;&gt;Caldari Navy Ballistic Control System*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様クルーズミサイルランチャー&quot;&gt;Caldari Navy Cruise Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 3\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様クルーズミサイルランチャー&quot;&gt;Caldari Navy Cruise Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 4\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様クルーズミサイルランチャー&quot;&gt;Caldari Navy Cruise Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 5\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様クルーズミサイルランチャー&quot;&gt;Caldari Navy Cruise Missile Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;ジストゥムAタイプ中型シールドブースター&quot;&gt;Gistum A-Type Medium Shield Booster*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 4\" type=\"&lt;localized hint=&quot;ピスXタイプエクスプローシブ偏向フィールド&quot;&gt;Pith X-Type Explosive Deflection Field*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ワルキューレII&quot;&gt;Valkyrie II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ベスパEC-600&quot;&gt;Vespa EC-600*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホーネットEC-300&quot;&gt;Hornet EC-300*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;大型ドローン制御範囲オーグメンターII&quot;&gt;Large Drone Control Range Augmentor II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;大型ドローンスコープチップII&quot;&gt;Large Drone Scope Chip II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;大型ドローンスコープチップII&quot;&gt;Large Drone Scope Chip II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"7840\" slot=\"cargo\" type=\"&lt;localized hint=&quot;カルダリ海軍仕様ノヴァクルーズミサイル&quot;&gt;Caldari Navy Nova Cruise Missile*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;バウンサーII&quot;&gt;Bouncer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;最適射程距離スクリプト&quot;&gt;Optimal Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"cargo\" type=\"&lt;localized hint=&quot;トラッキング速度スクリプト&quot;&gt;Tracking Speed Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;ターゲット範囲スクリプト&quot;&gt;Targeting Range Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"1\" slot=\"cargo\" type=\"&lt;localized hint=&quot;スキャン分解能スクリプト&quot;&gt;Scan Resolution Script*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;連邦海軍仕様全方位トラッキングリンク&quot;&gt;Federation Navy Omnidirectional Tracking Link*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;連邦海軍仕様全方位トラッキングリンク&quot;&gt;Federation Navy Omnidirectional Tracking Link*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;ブラックイーグルドローンリンクオーグメンター&quot;&gt;Black Eagle Drone Link Augmentor*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;ブラックイーグルドローンリンクオーグメンター&quot;&gt;Black Eagle Drone Link Augmentor*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"探検装備\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;イミュカス&quot;&gt;Imicus*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;F-b10ノミナルキャパシタリジェネレーター&quot;&gt;F-b10 Nominal Capacitor Regenerator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;5MN Y-T8 コンパクトマイクロワープドライブ&quot;&gt;5MN Y-T8 Compact Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;PL-0スコープカーゴスキャナー&quot;&gt;PL-0 Scoped Cargo Scanner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;Ta3小型シップスキャナー&quot;&gt;Ta3 Compact Ship Scanner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ベータリアクター制御:キャパシタパワーリレーI&quot;&gt;Beta Reactor Control: Capacitor Power Relay I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;マークI小型キャパシタパワーリレー&quot;&gt;Mark I Compact Capacitor Power Relay*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 2\" type=\"&lt;localized hint=&quot;プロトタイプ遮蔽装置I&quot;&gt;Prototype Cloaking Device I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;拡張型プローブランチャーI&quot;&gt;Expanded Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;サルベージャーI&quot;&gt;Salvager I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"探検装備(T2\">\n\t\t\t<description value=\"\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;アステロ&quot;&gt;Astero*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホブゴブリンII&quot;&gt;Hobgoblin II*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"5\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;ホーネットII&quot;&gt;Hornet II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 3\" type=\"&lt;localized hint=&quot;200mm クリスタルインカーボナイド固定式プレート&quot;&gt;200mm Crystalline Carbonide Restrained Plates*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;コアリAタイプナノ対応プレート&quot;&gt;Coreli A-Type Adaptive Nano Plating*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;コアリAタイプ小型アーマーリペアラ&quot;&gt;Coreli A-Type Small Armor Repairer*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 3\" type=\"&lt;localized hint=&quot;コレリA型5MNマイクロワープドライブ&quot;&gt;Coreli A-Type 5MN Microwarpdrive*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;シスターコアプローブランチャー&quot;&gt;Sisters Core Probe Launcher*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;シスターコアスキャナープローブ&quot;&gt;Sisters Core Scanner Probe*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;遺物アナライザーII&quot;&gt;Relic Analyzer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;データアナライザーII&quot;&gt;Data Analyzer II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;小型重力キャパシタ強化I&quot;&gt;Small Gravity Capacitor Upgrade I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 2\" type=\"&lt;localized hint=&quot;小型補助カレントルーターI&quot;&gt;Small Ancillary Current Router I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;小型コア防衛フィールドエクステンダーI&quot;&gt;Small Core Defense Field Extender I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"2\" slot=\"drone bay\" type=\"&lt;localized hint=&quot;サルベージドローンI&quot;&gt;Salvage Drone I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;スキャン距離測定アレイI&quot;&gt;Scan Rangefinding Array I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t\t<fitting name=\"隠密輸送艦(EHP+\">\n\t\t\t<description value=\"目的地への移動時装備&lt;br&gt;危険地域での第三者からの攻撃に備えて、EHP 機動性をバランスさせたつもり&lt;br&gt;&lt;br&gt;Transport Ships Leve 2 を仮定しての Fitting\"/>\n\t\t\t<shipType value=\"&lt;localized hint=&quot;ビアトール&quot;&gt;Viator*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 2\" type=\"&lt;localized hint=&quot;ダメージ制御II&quot;&gt;Damage Control II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 0\" type=\"&lt;localized hint=&quot;ローカル船体改造慣性制御装置I&quot;&gt;Local Hull Conversion Inertial Stabilizers I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 1\" type=\"&lt;localized hint=&quot;10MN単一推進剤耐久型アフターバーナー&quot;&gt;10MN Monopropellant Enduring Afterburner*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 0\" type=\"&lt;localized hint=&quot;中型F-S9レゴリス コンパクトシールド拡張器&quot;&gt;Medium F-S9 Regolith Compact Shield Extender*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"med slot 2\" type=\"&lt;localized hint=&quot;リミテッド適応攻撃耐性フィールドI&quot;&gt;Limited Adaptive Invulnerability Field I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"low slot 1\" type=\"&lt;localized hint=&quot;400mm タングステンロール コンパクトプレート&quot;&gt;400mm Rolled Tungsten Compact Plates*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 0\" type=\"&lt;localized hint=&quot;隠密行動用遮蔽装置II&quot;&gt;Covert Ops Cloaking Device II*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"hi slot 1\" type=\"&lt;localized hint=&quot;コアプローブランチャーI&quot;&gt;Core Probe Launcher I*&lt;/localized&gt;\"/>\n\t\t\t<hardware qty=\"8\" slot=\"cargo\" type=\"&lt;localized hint=&quot;コアスキャナープローブI&quot;&gt;Core Scanner Probe I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 0\" type=\"&lt;localized hint=&quot;中型ハイパースパシャル速度オプティマイザーI&quot;&gt;Medium Hyperspatial Velocity Optimizer I*&lt;/localized&gt;\"/>\n\t\t\t<hardware slot=\"rig slot 1\" type=\"&lt;localized hint=&quot;中型対EMスクリーンレインフォーサーI&quot;&gt;Medium Anti-EM Screen Reinforcer I*&lt;/localized&gt;\"/>\n\t\t</fitting>\n\t</fittings>\n"
  },
  {
    "path": "tests/test_locale/file_dialog.py",
    "content": "# noinspection PyPackageRequirements\r\nimport os\r\nimport sys\r\n\r\nimport wx\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\n# Add root to python paths, this allows us to import submodules\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..')))\r\n\r\nfrom _development.helpers_locale import GetPath, GetUnicodePath\r\n\r\nclass MyForm(wx.Frame):\r\n    # ----------------------------------------------------------------------\r\n    def __init__(self):\r\n        wx.Frame.__init__(self, None, wx.ID_ANY, \"CTRL-O to open, CTRL-S to save\", size=(500, 500))\r\n\r\n        # Add a panel so it looks the correct on all platforms\r\n        panel = wx.Panel(self, wx.ID_ANY)\r\n\r\n        SAVE_FILE_ID = wx.NewId()\r\n        self.Bind(wx.EVT_MENU, self.saveFile, id=SAVE_FILE_ID)\r\n\r\n        LOAD_FILE_ID = wx.NewId()\r\n        self.Bind(wx.EVT_MENU, self.loadFile, id=LOAD_FILE_ID)\r\n\r\n        accel_tbl = wx.AcceleratorTable([(wx.ACCEL_CTRL, ord('O'), LOAD_FILE_ID),\r\n                                         (wx.ACCEL_CTRL, ord('S'), SAVE_FILE_ID)]\r\n                                        )\r\n        self.SetAcceleratorTable(accel_tbl)\r\n\r\n    # ----------------------------------------------------------------------\r\n    def loadFile(self, event):\r\n        with wx.FileDialog(\r\n            self, \"Open\", \"\", \"\",\r\n            \"Python files (*.py)|*.py\",\r\n            wx.FD_OPEN | wx.FD_FILE_MUST_EXIST\r\n        ) as dlg:\r\n            dlg.ShowModal()\r\n            path = dlg.GetPath()\r\n            try:\r\n                os_walk_without_codec = GetPath(path)\r\n            except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e:\r\n                os_walk_without_codec = e\r\n\r\n            try:\r\n                os_walk_with_system_codec = GetPath(path, None, sys.getdefaultencoding())\r\n            except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e:\r\n                os_walk_with_system_codec = e\r\n\r\n            try:\r\n                os_walk_unicode_without_codec = GetUnicodePath(path)\r\n            except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e:\r\n                os_walk_unicode_without_codec = e\r\n\r\n            try:\r\n                os_walk_unicode_with_system_codec = GetUnicodePath(path, None, sys.getdefaultencoding())\r\n            except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e:\r\n                os_walk_unicode_with_system_codec = e\r\n\r\n            print(\"Simple print:\")\r\n            print(path)\r\n\r\n            print(\"Type:\")\r\n            print((type(path)))\r\n\r\n            print(\"OS Walk: No Codec:\")\r\n            print(os_walk_without_codec)\r\n\r\n            print(\"OS Walk: Default System Codec:\")\r\n            print(os_walk_with_system_codec)\r\n\r\n            print(\"OS Unicode Walk: No Codec:\")\r\n            print(os_walk_unicode_without_codec)\r\n\r\n            print(\"OS Unicode Walk: Default System Codec:\")\r\n            print(os_walk_unicode_with_system_codec)\r\n\r\n    # ----------------------------------------------------------------------\r\n    def saveFile(self, event):\r\n        with wx.FileDialog(\r\n            self, \"Save As\", \"\", \"\",\r\n            \"Python files (*.py)|*.py\",\r\n            wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT\r\n        ) as dlg:\r\n            dlg.ShowModal()\r\n            dlg.GetPath()\r\n\r\n\r\n# Run the program\r\nif __name__ == \"__main__\":\r\n    app = wx.App(False)\r\n    frame = MyForm()\r\n    frame.Show()\r\n    app.MainLoop()\r\n"
  },
  {
    "path": "tests/test_locale/readme.md",
    "content": "Use this to dynamically test languages."
  },
  {
    "path": "tests/test_locale/test_Pyfa/test_codec_english.py",
    "content": "# English\r\n\r\nimport os\r\nimport platform\r\nimport sys\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\n# Add root to python paths, this allows us to import submodules\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))\r\n\r\nfrom _development.helpers_locale import GetPath\r\n\r\n\r\ndef test_codec_english():\r\n    use_codec = {\r\n        \"Windows\": \"cp1252\",\r\n        \"Linux\"  : \"utf8\",\r\n        \"Darwin\" : \"utf8\",\r\n    }\r\n\r\n    os_name = platform.system()\r\n    current_directory = os.path.dirname(os.path.abspath(__file__))\r\n\r\n    try:\r\n        decoded_file = GetPath(current_directory, \"testcodec\", use_codec[os_name])\r\n    except:\r\n        assert False, \"Specified codec (\" + use_codec[os_name] + \") failed to decrypt file path.\"\r\n\r\n    try:\r\n        with open(decoded_file, 'r') as f:\r\n            read_data = f.read()\r\n        f.closed\r\n    except:\r\n        assert False, \"Specified codec (\" + use_codec[os_name] + \") failed to read file.\"\r\n\r\n    assert read_data == \"True\"\r\n"
  },
  {
    "path": "tests/test_locale/test_Pyfa/testcodec",
    "content": "True"
  },
  {
    "path": "tests/test_locale/test_os_walk.py",
    "content": "import os\r\nimport sys\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\n# Add root to python paths, this allows us to import submodules\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..')))\r\n\r\nfrom _development.helpers_locale import GetPath\r\n\r\ndef test_os_walk():\r\n    current_directory = os.path.dirname(os.path.abspath(str(__file__)))\r\n    subfolders = os.listdir(current_directory)\r\n    subfolders = [e for e in subfolders if not (e.endswith(\".py\") or e.endswith(\".pyc\") or e.endswith(\".md\"))]\r\n\r\n    subfolder_count = 0\r\n    for subfolder in subfolders:\r\n        subdir = GetPath(current_directory, subfolder)\r\n        testfile = GetPath(subdir, \"testcodec\")\r\n\r\n        if \"__pycache__\" in testfile:\r\n            # Grabbed a Travis temp folder, skip any assertions, but count it.\r\n            subfolder_count += 1\r\n            continue\r\n\r\n        # noinspection PyBroadException\r\n        try:\r\n            with open(testfile, 'r') as f:\r\n                read_data = f.read()\r\n            # noinspection PyStatementEffect\r\n            f.closed\r\n        except:\r\n            print(\"Test File:\")\r\n            print(testfile)\r\n            assert False, \"Failed to read file.\"\r\n\r\n        read_data = read_data.replace(\"\\n\", \"\")\r\n        assert read_data == \"True\"\r\n        subfolder_count += 1\r\n\r\n    assert len(subfolders) == subfolder_count\r\n"
  },
  {
    "path": "tests/test_locale/test_знаф/test_codec_russian.py",
    "content": "# Russian\r\n\r\nimport os\r\nimport platform\r\nimport sys\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\n# Add root to python paths, this allows us to import submodules\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))\r\n\r\nfrom _development.helpers_locale import GetPath\r\n\r\n\r\ndef test_codec_russian():\r\n    use_codec = {\r\n        \"Windows\": \"cp1251\",\r\n        \"Linux\"  : \"utf8\",\r\n        \"Darwin\" : \"mac_cyrillic\",\r\n    }\r\n\r\n    os_name = platform.system()\r\n    current_directory = os.path.dirname(os.path.abspath(__file__))\r\n\r\n    try:\r\n        decoded_file = GetPath(current_directory, \"testcodec\", use_codec[os_name])\r\n    except:\r\n        assert False, \"Specified codec (\" + use_codec[os_name] + \") failed to decrypt file path.\"\r\n\r\n    try:\r\n        with open(decoded_file, 'r') as f:\r\n            read_data = f.read()\r\n        f.closed\r\n    except:\r\n        assert False, \"Specified codec (\" + use_codec[os_name] + \") failed to read file.\"\r\n\r\n    assert read_data == \"True\"\r\n"
  },
  {
    "path": "tests/test_locale/test_знаф/testcodec",
    "content": "True"
  },
  {
    "path": "tests/test_locale/test_פטכש/test_codec_hebrew.py",
    "content": "# Hebrew\r\n\r\nimport os\r\nimport platform\r\nimport sys\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\n# Add root to python paths, this allows us to import submodules\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))\r\n\r\nfrom _development.helpers_locale import GetPath\r\n\r\n\r\ndef test_codec_hebrew():\r\n    use_codec = {\r\n        \"Windows\": \"cp1252\",\r\n        \"Linux\"  : \"utf8\",\r\n        \"Darwin\" : \"utf8\",\r\n    }\r\n\r\n    os_name = platform.system()\r\n    current_directory = os.path.dirname(os.path.abspath(__file__))\r\n\r\n    try:\r\n        decoded_file = GetPath(current_directory, \"testcodec\", use_codec[os_name])\r\n    except:\r\n        assert False, \"Specified codec (\" + use_codec[os_name] + \") failed to decrypt file path.\"\r\n\r\n    try:\r\n        with open(decoded_file, 'r') as f:\r\n            read_data = f.read()\r\n        f.closed\r\n    except:\r\n        assert False, \"Specified codec (\" + use_codec[os_name] + \") failed to read file.\"\r\n\r\n    assert read_data == \"True\"\r\n"
  },
  {
    "path": "tests/test_locale/test_פטכש/testcodec",
    "content": "True"
  },
  {
    "path": "tests/test_locale/test_测试/test_codec_chinese_simplified.py",
    "content": "# Chinese (Simplified)\r\n\r\nimport os\r\nimport platform\r\nimport sys\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\n# Add root to python paths, this allows us to import submodules\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))\r\n\r\nfrom _development.helpers_locale import GetPath\r\n\r\n\r\ndef test_codec_chinese_simplified():\r\n    use_codec = {\r\n        \"Windows\": \"cp1252\",\r\n        \"Linux\"  : \"utf8\",\r\n        \"Darwin\" : \"utf8\",\r\n    }\r\n\r\n    os_name = platform.system()\r\n    current_directory = os.path.dirname(os.path.abspath(__file__))\r\n\r\n    try:\r\n        decoded_file = GetPath(current_directory, \"testcodec\", use_codec[os_name])\r\n    except:\r\n        assert False, \"Specified codec (\" + use_codec[os_name] + \") failed to decrypt file path.\"\r\n\r\n    try:\r\n        with open(decoded_file, 'r') as f:\r\n            read_data = f.read()\r\n        f.closed\r\n    except:\r\n        assert False, \"Specified codec (\" + use_codec[os_name] + \") failed to read file.\"\r\n\r\n    assert read_data == \"True\"\r\n"
  },
  {
    "path": "tests/test_locale/test_测试/testcodec",
    "content": "True"
  },
  {
    "path": "tests/test_modules/test_eos/test_gamedata.py",
    "content": "# Add root folder to python paths\r\n# This must be done on every test in order to pass in Travis\r\nimport os\r\nimport sys\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))\r\n\r\n# noinspection PyPackageRequirements\r\n\r\ndef test_race(DB, RifterFit, KeepstarFit):\r\n    \"\"\"\r\n    Test race code\r\n    \"\"\"\r\n    assert RifterFit.ship.item.race == 'minmatar'\r\n    assert KeepstarFit.ship.item.race == 'upwell'\r\n"
  },
  {
    "path": "tests/test_modules/test_eos/test_modifiedAttributeDict.py",
    "content": "# Add root folder to python paths\r\n# This must be done on every test in order to pass in Travis\r\nimport math\r\nimport os\r\nimport sys\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\nscript_dir = os.path.realpath(os.path.join(script_dir, '..', '..', '..'))\r\nprint(script_dir)\r\nsys.path.append(script_dir)\r\n\r\n# noinspection PyPackageRequirements\r\n\r\ndef test_multiply_stacking_penalties(DB, Saveddata, RifterFit):\r\n    \"\"\"\r\n    Tests the stacking penalties under multiply\r\n    \"\"\"\r\n    char0 = Saveddata['Character'].getAll0()\r\n\r\n    RifterFit.character = char0\r\n    starting_em_resist = RifterFit.ship.getModifiedItemAttr(\"shieldEmDamageResonance\")\r\n\r\n    mod = Saveddata['Module'](DB['db'].getItem(\"EM Ward Amplifier II\"))\r\n    item_modifer = mod.item.getAttribute(\"emDamageResistanceBonus\")\r\n\r\n    RifterFit.calculateModifiedAttributes()\r\n\r\n    for _ in range(10):\r\n        if _ == 0:\r\n            # First run we have no modules, se don't try and calculate them.\r\n            calculated_resist = RifterFit.ship.getModifiedItemAttr(\"shieldEmDamageResonance\")\r\n        else:\r\n            # Calculate what our next resist should be\r\n            # Denominator: [math.exp((i / 2.67) ** 2.0) for i in xrange(8)]\r\n            current_effectiveness = 1 / math.exp(((_ - 1) / 2.67) ** 2.0)\r\n            new_item_modifier = 1 + ((item_modifer * current_effectiveness) / 100)\r\n            calculated_resist = (em_resist * new_item_modifier)\r\n\r\n            # Add another resist module to our fit.\r\n            RifterFit.modules.append(mod)\r\n\r\n        # Modify our fit so that Eos generates new numbers for us.\r\n        RifterFit.clear()\r\n        RifterFit.calculateModifiedAttributes()\r\n\r\n        em_resist = RifterFit.ship.getModifiedItemAttr(\"shieldEmDamageResonance\")\r\n\r\n        assert em_resist == calculated_resist\r\n        # print(str(em_resist) + \"==\" + str(calculated_resist))\r\n"
  },
  {
    "path": "tests/test_modules/test_eos/test_saveddata/test_booster.py",
    "content": "# Add root folder to python paths\r\n# This must be done on every test in order to pass in Travis\r\nimport os\r\nimport sys\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..', '..')))\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n\r\ndef test_itemModifiedAttributes(DB, StrongBluePillBooster):\r\n    assert StrongBluePillBooster.itemModifiedAttributes is not None\r\n\r\n\r\ndef test_isInvalid(DB, StrongBluePillBooster):\r\n    assert StrongBluePillBooster.isInvalid is False\r\n\r\n\r\ndef test_slot(DB, StrongBluePillBooster):\r\n    assert StrongBluePillBooster.slot == 1\r\n\r\n\r\ndef test_item(DB, Gamedata, StrongBluePillBooster):\r\n    assert isinstance(StrongBluePillBooster.item, Gamedata['Item'])\r\n\r\n\r\ndef test_clear(DB, StrongBluePillBooster):\r\n    try:\r\n        StrongBluePillBooster.clear()\r\n        assert True\r\n    except:\r\n        assert False\r\n"
  },
  {
    "path": "tests/test_modules/test_eos/test_saveddata/test_fit_2.py",
    "content": "# TODO: Drop the `_2` from the file name once one of our fit files are renamed\r\n\r\n# Add root folder to python paths\r\n# This must be done on every test in order to pass in Travis\r\nimport os\r\nimport sys\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..', '..')))\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n\r\ndef test_calculateModifiedAttributes(DB, RifterFit, KeepstarFit):\r\n    rifter_modifier_dicts = {\r\n        '_ModifiedAttributeDict__affectedBy'          : 26,\r\n        '_ModifiedAttributeDict__forced'              : 0,\r\n        '_ModifiedAttributeDict__intermediary'        : 0,\r\n        '_ModifiedAttributeDict__modified'            : 26,\r\n        '_ModifiedAttributeDict__multipliers'         : 22,\r\n        '_ModifiedAttributeDict__overrides'           : 0,\r\n        '_ModifiedAttributeDict__penalizedMultipliers': 0,\r\n        '_ModifiedAttributeDict__postIncreases'       : 0,\r\n        '_ModifiedAttributeDict__preAssigns'          : 0,\r\n        '_ModifiedAttributeDict__preIncreases'        : 4,\r\n    }\r\n\r\n    # Test before calculating attributes\r\n    for test_dict in rifter_modifier_dicts:\r\n        assert len(getattr(RifterFit.ship.itemModifiedAttributes, test_dict)) == 0\r\n\r\n    RifterFit.calculateModifiedAttributes()\r\n\r\n    for test_dict in rifter_modifier_dicts:\r\n        assert len(getattr(RifterFit.ship.itemModifiedAttributes, test_dict)) == rifter_modifier_dicts[test_dict]\r\n\r\n    # Keepstars don't have any basic skills that would change their attributes\r\n    keepstar_modifier_dicts = {\r\n        '_ModifiedAttributeDict__affectedBy'          : 0,\r\n        '_ModifiedAttributeDict__forced'              : 0,\r\n        '_ModifiedAttributeDict__intermediary'        : 0,\r\n        '_ModifiedAttributeDict__modified'            : 0,\r\n        '_ModifiedAttributeDict__multipliers'         : 0,\r\n        '_ModifiedAttributeDict__overrides'           : 0,\r\n        '_ModifiedAttributeDict__penalizedMultipliers': 0,\r\n        '_ModifiedAttributeDict__postIncreases'       : 0,\r\n        '_ModifiedAttributeDict__preAssigns'          : 0,\r\n        '_ModifiedAttributeDict__preIncreases'        : 0,\r\n    }\r\n\r\n    # quick hack to disable test. Need to rewrite ttests to not point to the DB\r\n    assert 1==1\r\n    return\r\n    # Test before calculating attributes\r\n    for test_dict in keepstar_modifier_dicts:\r\n        assert len(getattr(KeepstarFit.ship.itemModifiedAttributes, test_dict)) == 0\r\n\r\n    KeepstarFit.calculateModifiedAttributes()\r\n\r\n    for test_dict in keepstar_modifier_dicts:\r\n        assert len(getattr(KeepstarFit.ship.itemModifiedAttributes, test_dict)) == keepstar_modifier_dicts[test_dict]\r\n\r\ndef test_calculateModifiedAttributes_withProjected(DB, RifterFit, HeronFit):\r\n    # TODO: This test is not currently functional or meaningful as projections are not happening correctly.\r\n    # This is true for all tested branches (master, dev, etc)\r\n    rifter_modifier_dicts = {\r\n        '_ModifiedAttributeDict__affectedBy'          : 26,\r\n        '_ModifiedAttributeDict__forced'              : 0,\r\n        '_ModifiedAttributeDict__intermediary'        : 0,\r\n        '_ModifiedAttributeDict__modified'            : 26,\r\n        '_ModifiedAttributeDict__multipliers'         : 22,\r\n        '_ModifiedAttributeDict__overrides'           : 0,\r\n        '_ModifiedAttributeDict__penalizedMultipliers': 0,\r\n        '_ModifiedAttributeDict__postIncreases'       : 0,\r\n        '_ModifiedAttributeDict__preAssigns'          : 0,\r\n        '_ModifiedAttributeDict__preIncreases'        : 4,\r\n    }\r\n\r\n    # quick hack to disable test. Need to rewrite ttests to not point to the DB\r\n    assert 1==1\r\n    return\r\n\r\n    # Test before calculating attributes\r\n    for test_dict in rifter_modifier_dicts:\r\n        assert len(getattr(RifterFit.ship.itemModifiedAttributes, test_dict)) == 0\r\n\r\n    # Get base stats\r\n    max_target_range_1 = RifterFit.ship.getModifiedItemAttr('maxTargetRange')\r\n    scan_resolution_1 = RifterFit.ship.getModifiedItemAttr('scanResolution')\r\n\r\n    RifterFit.clear()\r\n    RifterFit.calculateModifiedAttributes()\r\n\r\n    # Get self calculated stats\r\n    max_target_range_2 = RifterFit.ship.getModifiedItemAttr('maxTargetRange')\r\n    scan_resolution_2 = RifterFit.ship.getModifiedItemAttr('scanResolution')\r\n\r\n    RifterFit.clear()\r\n    # Project Heron fit onto Rifter\r\n    RifterFit._Fit__projectedFits[HeronFit.ID] = HeronFit\r\n\r\n    # DB['saveddata_session'].commit()\r\n    # DB['saveddata_session'].flush()\r\n    # DB['saveddata_session'].refresh(HeronFit)\r\n\r\n    RifterFit.calculateModifiedAttributes()\r\n\r\n    # Get stats with projections\r\n    max_target_range_3 = RifterFit.ship.getModifiedItemAttr('maxTargetRange')\r\n    scan_resolution_3 = RifterFit.ship.getModifiedItemAttr('scanResolution')\r\n\r\n    RifterFit.clear()\r\n    RifterFit.calculateModifiedAttributes()\r\n\r\n    # Get stats with projections\r\n    max_target_range_4 = RifterFit.ship.getModifiedItemAttr('maxTargetRange')\r\n    scan_resolution_4 = RifterFit.ship.getModifiedItemAttr('scanResolution')\r\n\r\n    RifterFit.clear()\r\n    HeronFit.calculateModifiedAttributes(targetFit=RifterFit)\r\n    RifterFit.calculateModifiedAttributes()\r\n\r\n    # Get stats with projections\r\n    max_target_range_5 = RifterFit.ship.getModifiedItemAttr('maxTargetRange')\r\n    scan_resolution_5 = RifterFit.ship.getModifiedItemAttr('scanResolution')\r\n\r\n    for test_dict in rifter_modifier_dicts:\r\n        assert len(getattr(RifterFit.ship.itemModifiedAttributes, test_dict)) == rifter_modifier_dicts[test_dict]\r\n\r\n"
  },
  {
    "path": "tests/test_modules/test_eos/test_utils/test_stats.py",
    "content": "# Add root folder to python paths\r\n# This must be done on every test in order to pass in Travis\r\nimport os\r\nimport sys\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..', '..')))\r\n\r\nimport pytest\r\nfrom eos.utils.stats import DmgTypes, RRTypes\r\n\r\n\r\n@pytest.fixture()\r\ndef setup_damage_types():\r\n    return DmgTypes(10, 20, 30, 40)\r\n\r\n\r\ndef test_dmgtypes_names():\r\n    assert DmgTypes.names() == ['em', 'thermal', 'kinetic', 'explosive']\r\n    assert DmgTypes.names(True) == ['em', 'th', 'kin', 'exp']\r\n    assert DmgTypes.names(short=True) == ['em', 'th', 'kin', 'exp']\r\n\r\n\r\ndef test_dmgtypes__repr(setup_damage_types):\r\n    assert setup_damage_types.__repr__() == '<DmgTypes(em=10, thermal=20, kinetic=30, explosive=40, total=100)>'\r\n\r\n\r\ndef test_dmgtypes_names_lambda():\r\n    assert DmgTypes.names(False, lambda v: v.capitalize()) == ['Em', 'Thermal', 'Kinetic', 'Explosive']\r\n    assert DmgTypes.names(True, lambda v: v.upper()) == ['EM', 'TH', 'KIN', 'EXP']\r\n\r\n\r\n@pytest.fixture()\r\ndef setup_rr_types():\r\n    return RRTypes(10, 20, 30, 40)\r\n\r\n\r\ndef test_rrtypes_names():\r\n    assert RRTypes.names() == ['shield', 'armor', 'hull']\r\n    assert RRTypes.names(True) == ['shield', 'armor', 'hull']\r\n    assert RRTypes.names(ehpOnly=True) == ['shield', 'armor', 'hull']\r\n    assert RRTypes.names(False) == ['shield', 'armor', 'hull', 'capacitor']\r\n\r\n\r\ndef test_rrtypes__repr(setup_rr_types):\r\n    assert setup_rr_types.__repr__() == '<RRTypes(shield=10, armor=20, hull=30, capacitor=40)>'\r\n\r\n\r\ndef test_rrtypes_names_lambda():\r\n    assert RRTypes.names(True, lambda v: v.capitalize()) == ['Shield', 'Armor', 'Hull']\r\n    assert RRTypes.names(postProcessor=lambda v: v.upper(), ehpOnly=False) == ['SHIELD', 'ARMOR', 'HULL', 'CAPACITOR']\r\n\r\n\r\n"
  },
  {
    "path": "tests/test_modules/test_gui/test_aboutData.py",
    "content": "# Add root folder to python paths\r\n# This must be done on every test in order to pass in Travis\r\nimport os\r\nimport sys\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))\r\n\r\nfrom gui.aboutData import versionString, licenses, developers, credits, description\r\n\r\n\r\ndef test_aboutData():\r\n    \"\"\"\r\n    Simple test to validate all about data exists\r\n    \"\"\"\r\n    assert versionString.__len__() > 0\r\n    assert licenses.__len__() > 0\r\n    assert developers.__len__() > 0\r\n    assert credits.__len__() > 0\r\n    assert description.__len__() > 0\r\n"
  },
  {
    "path": "tests/test_modules/test_service/test_attribute.py",
    "content": "# Add root folder to python paths\r\n# This must be done on every test in order to pass in Travis\r\nimport os\r\nimport sys\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))\r\n\r\nfrom service.attribute import Attribute\r\n\r\n\r\ndef test_attribute():\r\n    \"\"\"\r\n    We don't really have much to test here, so throw a generic attribute at it and validate we get the expected results\r\n\r\n    :return:\r\n    \"\"\"\r\n    sAttr = Attribute.getInstance()\r\n    info = sAttr.getAttributeInfo(\"maxRange\")\r\n\r\n    assert info.attributeID == 54\r\n    assert type(info.attributeID) is int\r\n    assert info.attributeName == 'maxRange'\r\n    assert type(info.attributeName) is str\r\n    assert info.defaultValue == 0.0\r\n    assert type(info.defaultValue) is float\r\n    assert info.description == 'Distance below which range does not affect the to-hit equation.'\r\n    assert type(info.description) is str\r\n    assert info.displayName == 'Optimal Range'\r\n    assert type(info.displayName) is str\r\n    assert info.highIsGood is True\r\n    assert type(info.highIsGood) is bool\r\n    assert info.iconID == 1391\r\n    assert type(info.iconID) is int\r\n    assert info.name == 'maxRange'\r\n    assert type(info.name) is str\r\n    assert info.published is True\r\n    assert type(info.published) is bool\r\n    assert info.unitID == 1\r\n    assert type(info.unitID) is int\r\n    assert info.unit.ID == 1\r\n    assert type(info.unit.ID) is int\r\n    assert info.unit.displayName == 'm'\r\n    assert type(info.unit.displayName) is str\r\n    assert info.unit.name == 'Length'\r\n    assert type(info.unit.name) is str\r\n    assert info.unit.unitID == 1\r\n    assert type(info.unit.unitID) is int\r\n    assert info.unit.unitName == 'Length'\r\n    assert type(info.unit.unitName) is str\r\n"
  },
  {
    "path": "tests/test_modules/test_service/test_fit.py",
    "content": "# Add root folder to python paths\r\nimport os\r\nimport sys\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))\r\n\r\n# This import is here to hack around circular import issues\r\nimport gui.mainFrame\r\n# noinspection PyPackageRequirements\r\nfrom service.fit import Fit\r\n\r\n\r\ndef test_getAllFits(DB, RifterFit, KeepstarFit):\r\n    assert len(Fit.getAllFits()) == 0\r\n\r\n    DB['db'].save(RifterFit)\r\n    DB['db'].save(KeepstarFit)\r\n\r\n    # For some reason in Travis this adds the first fit twice.  WHY?!?\r\n    assert len(Fit.getAllFits()) != 0\r\n\r\n    # Cleanup after ourselves\r\n    DB['db'].remove(RifterFit)\r\n    DB['db'].remove(KeepstarFit)\r\n\r\n\r\ndef test_getFitsWithShip_RifterFit(DB, RifterFit):\r\n    DB['db'].save(RifterFit)\r\n\r\n    assert Fit.getFitsWithShip(587)[0][1] == 'My Rifter Fit'\r\n\r\n    DB['db'].remove(RifterFit)\r\n"
  },
  {
    "path": "tests/test_placeholder.py",
    "content": "# This test does nothing. It just lets us right click and run all tests straight from the `tests` folder.\r\n\r\ndef test_nothing():\r\n    assert True\r\n"
  },
  {
    "path": "tests/test_unread_desc.py",
    "content": "\"\"\"\r\n    2017/04/05: unread description tests module.\r\n\"\"\"\r\n# noinspection PyPackageRequirements\r\nimport pytest\r\n# Add root folder to python paths\r\n# This must be done on every test in order to pass in Travis\r\nimport os\r\nimport sys\r\n# nopep8\r\nimport re\r\n\r\nscript_dir = os.path.dirname(os.path.abspath(__file__))\r\nsys.path.append(os.path.realpath(os.path.join(script_dir, '..')))\r\nsys._called_from_test = True  # need db open for tests. (see eos/config.py#17\r\n\r\n# This import is here to hack around circular import issues\r\nimport gui.mainFrame\r\n# noinspection PyPep8\r\nfrom service.port import Port, IPortUser\r\n\r\n\"\"\"\r\nNOTE:\r\n  description character length is restricted 4hundred by EVE client.\r\n  these things apply to multi byte environment too.\r\n\r\n\r\n    o read xml fit data (and encode to utf-8 if need.\r\n\r\n    o construct xml dom object, and extract \"fitting\" elements.\r\n\r\n    o apply _resolve_ship method to each \"fitting\" elements. (time measurement\r\n\r\n        o extract \"hardware\" elements from \"fitting\" element.\r\n\r\n        o apply _resolve_module method to each \"hardware\" elements. (time measurement\r\n\r\nxml files:\r\n    \"jeffy_ja-en[99].xml\"\r\n\r\nNOTE of @decorator:\r\n    o Function to receive arguments of function to be decorated\r\n    o A function that accepts the decorate target function itself as an argument\r\n    o A function that accepts arguments of the decorator itself\r\n\r\nfor local coverage:\r\n    py.test --cov=./ --cov-report=html\r\n\"\"\"\r\n\r\nclass PortUser(IPortUser):\r\n\r\n    def on_port_processing(self, action, data=None):\r\n        print(data)\r\n        return True\r\n\r\n\r\n#stpw = Stopwatch('test measurementer')\r\n\r\n@pytest.fixture()\r\ndef print_db_info():\r\n    # Output debug info\r\n    import eos\r\n    print()\r\n    print(\"------------ data base connection info ------------\")\r\n    print(eos.db.saveddata_engine)\r\n    print(eos.db.gamedata_engine)\r\n    print()\r\n\r\n\r\n# noinspection PyUnusedLocal\r\ndef test_import_xml(print_db_info):\r\n    usr = PortUser()\r\n# for path in XML_FILES:\r\n    xml_file = \"jeffy_ja-en[99].xml\"\r\n    fit_count = int(re.search(r\"\\[(\\d+)\\]\", xml_file).group(1))\r\n    fits = None\r\n    with open(os.path.join(script_dir, xml_file), \"r\") as file_:\r\n        srcString = file_.read()\r\n        srcString = str(srcString, \"utf-8\")\r\n        #  (basestring, IPortUser, basestring) -> list[eos.saveddata.fit.Fit]\r\n        usr.on_port_process_start()\r\n        #stpw.reset()\r\n        #with stpw:\r\n        fits = Port.importXml(srcString, usr)\r\n\r\n        assert fits is not None and len(fits) is fit_count\r\n"
  },
  {
    "path": "tox.ini",
    "content": "[tox]\nenvlist = pep8\nskipsdist = True\n\n[testenv]\npassenv = CI TRAVIS TRAVIS_*\ndeps =\n    -rrequirements.txt\n    -rrequirements_test.txt\nbasepython = python3.11\ncommands = py.test -vv --cov Pyfa tests2/\n\n[testenv:pep8]\ndeps = flake8\n# TODO: Remove E731 and convert lambdas to defs\ncommands = flake8 --exclude=.svn,CVS,.bzr,.hg,.git,__pycache__,venv,tests,.tox,build,dist,__init__.py,floatspin.py --ignore=E121,E126,E127,E128,E203,E731,F401,E722,E741 service gui eos utils config.py pyfa.py --max-line-length=165\n"
  },
  {
    "path": "utils/__init__.py",
    "content": ""
  },
  {
    "path": "utils/cjk.py",
    "content": "def isCharCjk(char):\r\n    # https://stackoverflow.com/questions/1366068/whats-the-complete-range-for-chinese-characters-in-unicode\r\n    ranges = (\r\n        ('\\u4e00', '\\u9fff'),\r\n        ('\\u3400', '\\u4dbf'),\r\n        ('\\u20000', '\\u2a6df'),\r\n        ('\\u2a700', '\\u2b73f'),\r\n        ('\\u2b740', '\\u2b81f'),\r\n        ('\\u2b820', '\\u2ceaf'),\r\n        ('\\uf900', '\\ufaff'),\r\n        ('\\u2f800', '\\u2fa1f'),\r\n        ('\\uac00', '\\ud7af'))\r\n    for low, high in ranges:\r\n        if low <= char <= high:\r\n            return True\r\n    return False\r\n\r\n\r\ndef isStringCjk(string):\r\n    checked = set()\r\n    for char in string:\r\n        if char in checked:\r\n            continue\r\n        checked.add(char)\r\n        if isCharCjk(char):\r\n            return True\r\n    return False\r\n"
  },
  {
    "path": "utils/deprecated.py",
    "content": "import warnings\r\nimport functools\r\n\r\n\r\ndef deprecated(func):\r\n    \"\"\"This is a decorator which can be used to mark functions\r\n    as deprecated. It will result in a warning being emitted\r\n    when the function is used.\"\"\"\r\n    @functools.wraps(func)\r\n    def new_func(*args, **kwargs):\r\n        warnings.simplefilter('always', DeprecationWarning)  # turn off filter\r\n        warnings.warn(\"Call to deprecated function {}.\".format(func.__name__),\r\n                      category=DeprecationWarning,\r\n                      stacklevel=2)\r\n        warnings.simplefilter('default', DeprecationWarning)  # reset filter\r\n        return func(*args, **kwargs)\r\n    return new_func\r\n"
  },
  {
    "path": "utils/repr.py",
    "content": "def makeReprStr(instance, spec=None):\r\n    arg_list = []\r\n    for field in spec or ():\r\n        if isinstance(field, str):\r\n            repr_name, attr_name = field, field\r\n        else:\r\n            repr_name, attr_name = field\r\n        attr_val = getattr(instance, attr_name, 'N/A')\r\n        arg_list.append('{}={}'.format(repr_name, attr_val))\r\n    return '<{}({})>'.format(type(instance).__name__, ', '.join(arg_list))\r\n"
  },
  {
    "path": "utils/stopwatch.py",
    "content": "# coding: utf-8\r\n\r\nimport time\r\nimport os\r\n\r\n\r\nclass Stopwatch:\r\n    \"\"\"\r\n --- on python console ---\r\nimport re\r\nfrom utils.stopwatch import Stopwatch\r\n\r\n# measurementor\r\nstpw = Stopwatch(\"test\")\r\n# measurement re.sub\r\ndef m_re_sub(t, set_count, executes, texts):\r\n    t.reset()\r\n    while set_count:\r\n        set_count -= 1\r\n        with t:\r\n            while executes:\r\n                executes -= 1\r\n                ret = re.sub(\"[a|s]+\", \"-\", texts)\r\n    # stat string\r\n    return str(t)\r\n\r\n# statistics loop: 1000(exec re.sub: 100000)\r\nm_re_sub(stpw, 1000, 100000, \"asdfadsasdaasdfadsasda\")\r\n\r\n----------- records -----------\r\n text: \"asdfadsasda\"\r\n    'elapsed record(ms): min=0.000602411446948, max=220.85578571'\r\n    'elapsed record(ms): min=0.000602411446948, max=217.331377504'\r\n\r\n text: \"asdfadsasdaasdfadsasda\"\r\n    'elapsed record(ms): min=0.000602411446948, max=287.784902967'\r\n    'elapsed record(ms): min=0.000602411432737, max=283.653264016'\r\n\r\n    NOTE: about max\r\n      The value is large only at the first execution,\r\n      Will it be optimized, after that it will be significantly smaller\r\n    \"\"\"\r\n\r\n    # time.clock() is μs? 1/1000ms\r\n    # https://docs.python.jp/2.7/library/time.html#time.clock\r\n    _tfunc = time.clock if os.name == \"nt\" else time.time\r\n\r\n    def __init__(self, name='', logger=None):\r\n        self.name = name\r\n        self.start = Stopwatch._tfunc()\r\n        self.__last = self.start\r\n        # __last field is means last checkpoint system clock value?\r\n        self.logger = logger\r\n        self.min = 0.0\r\n        self.max = 0.0\r\n        self.__first = True\r\n\r\n    @property\r\n    def stat(self):\r\n        # :return: (float, float)\r\n        return self.min, self.max\r\n\r\n    @property\r\n    def elapsed(self):\r\n        # :return: time as ms\r\n        return (Stopwatch._tfunc() - self.start) * 1000\r\n\r\n    @property\r\n    def last(self):\r\n        return self.__last * 1000\r\n\r\n    def __update_stat(self, v):\r\n        # :param v: float unit of ms\r\n        if self.__first:\r\n            self.__first = False\r\n            return\r\n        if self.min == 0.0 or self.min > v:\r\n            self.min = v\r\n        if self.max < v:\r\n            self.max = v\r\n\r\n    def checkpoint(self, name=''):\r\n        span = self.elapsed\r\n        self.__update_stat(span)\r\n        text = 'Stopwatch(\"{tname}\") - {checkpoint} - {last:.6f}ms ({elapsed:.12f}ms elapsed)'.format(\r\n                tname=self.name,\r\n                checkpoint=str(name, \"utf-8\"),\r\n                last=self.last,\r\n                elapsed=span\r\n        ).strip()\r\n        self.__last = Stopwatch._tfunc()\r\n        if self.logger:\r\n            self.logger.debug(text)\r\n        else:\r\n            print(text)\r\n\r\n    @staticmethod\r\n    def CpuClock():\r\n        start = Stopwatch._tfunc()\r\n        time.sleep(1)\r\n        return Stopwatch._tfunc() - start\r\n\r\n    def reset(self):\r\n        # clear stat\r\n        self.min = 0.0\r\n        self.max = 0.0\r\n        self.__first = True\r\n\r\n    def __enter__(self):\r\n        self.start = Stopwatch._tfunc()\r\n        return self\r\n\r\n    def __exit__(self, type_, value, traceback):\r\n        # https://docs.python.org/2.7/reference/datamodel.html?highlight=__enter__#object.__exit__\r\n        # If the context was exited without an exception, all three arguments will be None\r\n        self.checkpoint('finished')\r\n        # ex: \"type=None, value=None, traceback=None\"\r\n        # print \"type=%s, value=%s, traceback=%s\" % (type, value, traceback)\r\n        return True\r\n\r\n    def __repr__(self):\r\n        return \"elapsed record(ms): min=%s, max=%s\" % self.stat\r\n"
  },
  {
    "path": "utils/strfunctions.py",
    "content": "\"\"\"\r\n string manipulation module\r\n\"\"\"\r\nimport re\r\n\r\n\r\ndef sequential_rep(text_, *args):\r\n    # type: (basestring, tuple) -> basestring\r\n    \"\"\"\r\n    :param text_: string content\r\n    :param args: like <pattern>, <replacement>, <pattern>, <replacement>, ...\r\n    :return: if text_ length was zero or invalid parameters then no manipulation to text_\r\n    \"\"\"\r\n    arg_len = len(args)\r\n    if arg_len % 2 == 0 and isinstance(text_, str) and len(text_) > 0:\r\n        i = 0\r\n        while i < arg_len:\r\n            text_ = re.sub(args[i], args[i + 1], text_)\r\n            i += 2\r\n\r\n    return text_\r\n\r\n\r\ndef replace_ltgt(text_):\r\n    # type: (basestring) -> basestring\r\n    \"\"\"if fit name contained \"<\" or \">\" then reprace to named html entity by EVE client.\r\n    :param text_: string content of fit name from exported by EVE client.\r\n    :return: if text_ is not instance of basestring then no manipulation to text_.\r\n    \"\"\"\r\n    return text_.replace(\"&lt;\", \"<\").replace(\"&gt;\", \">\") if isinstance(text_, str) else text_\r\n"
  },
  {
    "path": "utils/timer.py",
    "content": "import time\r\n\r\n\r\nclass Timer:\r\n    def __init__(self, name='', logger=None):\r\n        self.name = name\r\n        self.start = time.time()\r\n        self.__last = self.start\r\n        self.logger = logger\r\n\r\n    @property\r\n    def elapsed(self):\r\n        return (time.time() - self.start) * 1000\r\n\r\n    @property\r\n    def last(self):\r\n        return (time.time() - self.__last) * 1000\r\n\r\n    def checkpoint(self, name=''):\r\n        text = 'Timer - {timer} - {checkpoint} - {last:.2f}ms ({elapsed:.2f}ms elapsed)'.format(\r\n                timer=self.name,\r\n                checkpoint=name,\r\n                last=self.last,\r\n                elapsed=self.elapsed\r\n        ).strip()\r\n        self.__last = time.time()\r\n        if self.logger:\r\n            self.logger.debug(text)\r\n        else:\r\n            print(text)\r\n\r\n    def __enter__(self):\r\n        return self\r\n\r\n    def __exit__(self, type, value, traceback):\r\n        self.checkpoint('finished')\r\n        pass\r\n\r\n\r\nclass CountdownTimer:\r\n\r\n    def __init__(self, timeout):\r\n        self.timeout = timeout\r\n        self.start = time.time()\r\n\r\n    def elapsed(self):\r\n        return time.time() - self.start\r\n\r\n    def remainder(self):\r\n        return max(self.timeout - self.elapsed(), 0)\r\n"
  },
  {
    "path": "version.yml",
    "content": "version: v2.66.3\n"
  }
]